@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.8
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}
/* トップページの日付を非表示 */
.home.page .post-date,
.home.page .post-update {
  display: none;
}
/* トップページのページタイトルを非表示 */
.home.page .entry-title {
  display: none;
}
/* トップページのサイドバーを非表示・1カラム化 */
.home #sidebar {
  display: none;
}

.home #main {
  width: 100%;
}
/* トップページの投稿者情報を非表示 */
.home .author-info {
  display: none;
}
/* =========================================================
   ペイントリーフ大阪
   PC ORIGINAL HEADER
========================================================= */


/* PC以外では新ヘッダーを表示しない */
.pl-custom-header {
  display: none;
}


@media screen and (min-width: 835px) {

  /* =======================================================
     Cocoon標準ヘッダーをPCだけ非表示
  ======================================================= */

  #header-container {
    display: none !important;
  }


  /* =======================================================
     新ヘッダー全体
  ======================================================= */

  .pl-custom-header {
    display: block;

    width: 100%;

    background: #fff;

    color: #26352f;

    font-family:
      "Noto Sans JP",
      "Hiragino Sans",
      "Yu Gothic",
      sans-serif;

    border-bottom: 1px solid #e6e8e4;
  }


  /* =======================================================
     上段
  ======================================================= */

  .pl-custom-header__main {
    width: 100%;
    background: #fff;
  }


  .pl-custom-header__inner {
    width: calc(100% - 64px);
    max-width: 1320px;

    height: 118px;

    margin: 0 auto;

    display: flex;
    align-items: center;
    justify-content: space-between;

    box-sizing: border-box;
  }


  /* =======================================================
     ロゴ
  ======================================================= */

  .pl-custom-header__logo {
    width: 390px;

    flex: 0 0 390px;

    display: flex;
    align-items: center;
  }


  .pl-custom-header__logo .custom-logo-link {
    display: flex;
    align-items: center;

    margin: 0;
  }


  .pl-custom-header__logo img {
    display: block;

    width: 355px !important;
    max-width: 355px !important;

    height: auto !important;
    max-height: 88px !important;

    object-fit: contain;
  }


  /* =======================================================
     電話・CTAエリア
  ======================================================= */

  .pl-custom-header__contact {
    flex: 1 1 auto;

    display: flex;
    align-items: center;
    justify-content: flex-end;

    gap: 38px;
  }


  /* =======================================================
     電話
  ======================================================= */

  .pl-custom-header__phone {
    position: relative;

    min-width: 290px;

    display: flex;
    flex-direction: column;

    box-sizing: border-box;

    padding-left: 57px;

    color: #183b30 !important;

    text-decoration: none !important;
  }


  /* 電話アイコン */
  .pl-custom-header__phone::before {
    content: "";

    position: absolute;

    left: 0;
    top: 50%;

    width: 43px;
    height: 43px;

    transform: translateY(-50%);

    border-radius: 50%;

    background-color: #f1f6e9;

    background-image:
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23087847' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.79 19.79 0 0 1 2.12 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.12.9.33 1.78.62 2.63a2 2 0 0 1-.45 2.11L8 9.73a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.85.29 1.73.5 2.63.62A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");

    background-repeat: no-repeat;
    background-position: center;
    background-size: 22px 22px;
  }


  .pl-custom-header__phone span {
    margin-bottom: 3px;

    color: #53625b;

    font-size: 13px;
    font-weight: 500;

    letter-spacing: .03em;
  }


  .pl-custom-header__phone strong {
    color: #087847;

    font-family:
      "Montserrat",
      Arial,
      sans-serif;

    font-size: 31px;
    font-weight: 700;

    line-height: 1.1;

    letter-spacing: .01em;

    white-space: nowrap;
  }


  .pl-custom-header__phone small {
    margin-top: 4px;

    color: #77817c;

    font-size: 11px;
    font-weight: 400;

    letter-spacing: .02em;
  }


  /* =======================================================
     無料相談・お見積もり
  ======================================================= */

  .pl-custom-header__cta {
    width: 280px;
    height: 66px;

    flex: 0 0 280px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    box-sizing: border-box;

    padding: 0 22px;

    color: #fff !important;

    background: #087847;

    border-radius: 8px;

    text-decoration: none !important;

    box-shadow:
      0 7px 18px rgba(8,120,71,.14);

    transition:
      background .2s ease,
      transform .2s ease;
  }


  .pl-custom-header__cta > span {
    font-size: 16px;
    font-weight: 600;

    line-height: 1.35;

    letter-spacing: .02em;

    white-space: nowrap;
  }


  .pl-custom-header__cta small {
    display: block;

    margin-top: 3px;

    color: rgba(255,255,255,.78);

    font-size: 10px;
    font-weight: 400;

    white-space: nowrap;
  }


  .pl-custom-header__cta b {
    flex: 0 0 auto;

    margin-left: 18px;

    font-size: 22px;
    font-weight: 400;
  }


  .pl-custom-header__cta:hover {
    color: #fff !important;

    background: #066a3e;

    transform: translateY(-1px);
  }


  /* =======================================================
     下段ナビ
  ======================================================= */

  .pl-custom-nav {
    width: 100%;

    background: #fff;

    border-top: 1px solid #eceeeb;
    border-bottom: 1px solid #e4e6e2;
  }


  .pl-custom-nav__inner {
    width: calc(100% - 64px);
    max-width: 1200px;

    height: 61px;

    margin: 0 auto;

    display: flex;
    align-items: stretch;
    justify-content: center;
  }


  .pl-custom-nav__inner a {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0 24px;

    color: #26352f !important;

    font-size: 15px;
    font-weight: 500;

    letter-spacing: .035em;

    white-space: nowrap;

    text-decoration: none !important;

    transition: color .2s ease;
  }


  .pl-custom-nav__inner a::after {
    content: "";

    position: absolute;

    left: 50%;
    bottom: 0;

    width: 0;
    height: 3px;

    background: #a8c83f;

    transform: translateX(-50%);

    transition: width .2s ease;
  }


  .pl-custom-nav__inner a:hover {
    color: #087847 !important;
  }


  .pl-custom-nav__inner a:hover::after {
    width: 36px;
  }

}


/* =========================================================
   少し小さいPC
========================================================= */

@media screen and (min-width: 835px) and (max-width: 1150px) {

  .pl-custom-header__inner {
    width: calc(100% - 36px);
  }


  .pl-custom-header__logo {
    width: 245px;

    flex-basis: 245px;
  }


  .pl-custom-header__logo img {
    width: 230px !important;
  }


  .pl-custom-header__contact {
    gap: 18px;
  }


  .pl-custom-header__phone {
    min-width: 235px;

    padding-left: 49px;
  }


  .pl-custom-header__phone::before {
    width: 38px;
    height: 38px;

    background-size: 19px 19px;
  }


  .pl-custom-header__phone span {
    font-size: 11px;
  }


  .pl-custom-header__phone strong {
    font-size: 24px;
  }


  .pl-custom-header__cta {
    width: 245px;

    flex-basis: 245px;

    padding: 0 17px;
  }


  .pl-custom-header__cta > span {
    font-size: 14px;

    white-space: nowrap;
  }


  .pl-custom-nav__inner a {
    padding: 0 16px;

    font-size: 13px;
  }

}
/* =========================================================
   ペイントリーフ大阪 メインビジュアル
========================================================= */

.pl-mainvisual {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);

  padding: 24px 20px 40px;

  box-sizing: border-box;
  background: #fff;
}


/* 画像の土台 */
.pl-mainvisual__inner {
  position: relative;

  width: min(1448px, 100%);
  margin: 0 auto;
}


/* 画像 */
.pl-mainvisual__image {
  display: block;

  width: 100%;
  height: auto;

  margin: 0;
  padding: 0;

  border: 0;
}


/* =========================================================
   画像上の透明リンク
========================================================= */

.pl-mainvisual__tel,
.pl-mainvisual__contact,
.pl-mainvisual__works {
  position: absolute;
  z-index: 10;

  display: block;

  cursor: pointer;
}


/* 電話番号
   スマホでタップすると発信
*/
.pl-mainvisual__tel {
  left: 3.2%;
  top: 61.6%;

  width: 45.6%;
  height: 10.2%;
}


/* 無料相談・お見積もり */
.pl-mainvisual__contact {
  left: 3.4%;
  top: 72.6%;

  width: 28.7%;
  height: 7.7%;
}


/* 施工事例を見る */
.pl-mainvisual__works {
  left: 32.8%;
  top: 72.6%;

  width: 25.9%;
  height: 7.7%;
}


/* キーボード操作時だけリンク位置が分かるようにする */
.pl-mainvisual__tel:focus-visible,
.pl-mainvisual__contact:focus-visible,
.pl-mainvisual__works:focus-visible {
  outline: 3px solid #0b7d49;
  outline-offset: 2px;
}


/* =========================================================
   スマホ
========================================================= */

@media screen and (max-width: 768px) {

  .pl-mainvisual {
    padding: 10px 6px 24px;
  }

}
/* =========================================================
   トップページ ヘッダー下の余白を削除
========================================================= */

.home #content,
.home .content,
.home .content-in,
.home #main,
.home .main,
.home .article,
.home .entry-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.home .pl-mainvisual {
  padding-top: 8px !important;
}
/* =========================================================
   メインビジュアル位置 最終調整
========================================================= */

html,
body {
  overflow-x: clip;
}

.home .pl-mainvisual {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.home .entry-content > .pl-mainvisual:first-child {
  margin-top: 0 !important;
}

.home #content,
.home .content,
.home .content-in,
.home #main,
.home .main,
.home .article,
.home .entry-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
/* =========================================================
   スマホヘッダー調整
========================================================= */

@media screen and (max-width: 834px) {

  /* Cocoonスマホヘッダーをコンパクトに */
  #header-container {
    background: #fff !important;
    border-bottom: 1px solid #eceeea;
  }

  #header,
  #header-in,
  .header-in {
    min-height: 76px !important;
    height: 76px !important;

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

  .logo-header {
    height: 76px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    margin: 0 !important;
    padding: 7px 15px !important;
  }

  .logo-header a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .logo-header img {
    width: auto !important;
    max-width: 270px !important;
    max-height: 58px !important;

    margin: 0 auto !important;
  }


  /* メイン画像との隙間をなくす */
  .home #content,
  .home .content,
  .home .content-in,
  .home #main,
  .home .main,
  .home .article,
  .home .entry-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  .home .pl-mainvisual {
    margin-top: 0 !important;
    padding-top: 6px !important;
  }

}
/* =========================================================
   スマホ専用ヘッダー
========================================================= */

.pl-mobile-header {
  display: none;
}


@media screen and (max-width: 834px) {

  /* Cocoon標準の上部ヘッダーは非表示 */
  #header-container {
    display: none !important;
  }


  /* 新しい上部ヘッダー */
  .pl-mobile-header {
    position: relative;
    z-index: 1000;

    width: 100%;
    height: 94px;

    display: grid;
    grid-template-columns: 74px 1fr 74px;
    align-items: center;

    background: #fff;

    border-bottom: 1px solid #e5e7e4;

    box-shadow:
      0 3px 12px rgba(20, 50, 37, .07);
  }


  /* =======================================================
     中央ロゴ
  ======================================================= */

  .pl-mobile-header__logo {
    min-width: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0 5px;
  }

  .pl-mobile-header__logo img {
    display: block;

    width: 100%;
    max-width: 245px;
    max-height: 69px;

    object-fit: contain;
  }


  /* =======================================================
     左：メニュー
  ======================================================= */

  .pl-mobile-menu {
    position: static;

    margin: 0;
  }

  .pl-mobile-menu summary {
    list-style: none;
  }

  .pl-mobile-menu summary::-webkit-details-marker {
    display: none;
  }

  .pl-mobile-menu__button {
    height: 94px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 7px;

    color: #087847;

    font-family: "Noto Sans JP", sans-serif;

    font-size: 11px;
    font-weight: 600;

    cursor: pointer;
  }

  .pl-mobile-menu__icon {
    width: 31px;

    display: flex;
    flex-direction: column;

    gap: 6px;
  }

  .pl-mobile-menu__icon i {
    display: block;

    width: 31px;
    height: 3px;

    border-radius: 10px;

    background: #087847;
  }


  /* =======================================================
     右：電話
  ======================================================= */

  .pl-mobile-header__phone {
    height: 94px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 5px;

    color: #087847 !important;

    font-family: "Noto Sans JP", sans-serif;

    font-size: 11px;
    font-weight: 600;

    text-decoration: none !important;
  }

  .pl-mobile-header__phone svg {
    width: 31px;
    height: 31px;

    fill: none;

    stroke: #087847;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
  }


  /* =======================================================
     開いたメニュー
  ======================================================= */

  .pl-mobile-menu__drawer {
    position: absolute;

    z-index: 1100;

    top: 94px;
    left: 0;

    width: 100%;

    box-sizing: border-box;

    padding: 10px 20px 24px;

    background: #fff;

    border-top: 1px solid #eceeea;

    box-shadow:
      0 15px 30px rgba(20, 50, 37, .12);
  }

  .pl-mobile-menu__drawer a {
    min-height: 50px;

    display: flex;
    align-items: center;

    padding: 0 8px;

    color: #26352f !important;

    border-bottom: 1px solid #eeeeeb;

    font-family: "Noto Sans JP", sans-serif;

    font-size: 14px;
    font-weight: 500;

    text-decoration: none !important;
  }

  .pl-mobile-menu__drawer a::after {
    content: "›";

    margin-left: auto;

    color: #8a9690;

    font-size: 20px;
  }

  .pl-mobile-menu__drawer .pl-mobile-menu__contact {
    min-height: 58px;

    margin-top: 15px;
    padding: 0 18px;

    justify-content: center;

    color: #fff !important;

    background: #087847;

    border: 0;
    border-radius: 7px;

    font-weight: 600;
  }

  .pl-mobile-menu__drawer .pl-mobile-menu__contact::after {
    color: #fff;
  }


  /* =======================================================
     メイン画像との隙間
  ======================================================= */

  .home .pl-mainvisual {
    margin-top: 0 !important;
    padding-top: 6px !important;
  }

}
/* =========================================================
   スマホ下部 固定CTA
========================================================= */

.pl-mobile-bottom-cta {
  display: none;
}


@media screen and (max-width: 834px) {

  /* Cocoon標準の下部5ボタンを消す */
  #mobile-menu-buttons,
  .mobile-menu-buttons,
  .mobile-footer-menu-buttons,
  .mobile-menu-buttons-container {
    display: none !important;
  }


  /* 新しい3分割CTA */
  .pl-mobile-bottom-cta {
    position: fixed;

    z-index: 9999;

    left: 0;
    right: 0;
    bottom: 0;

    display: grid;

    grid-template-columns:
      1fr
      1fr
      1fr;

    width: 100%;

    padding-bottom: env(safe-area-inset-bottom);

    background: #fff;

    box-shadow:
      0 -4px 18px rgba(20, 45, 34, .12);
  }


  .pl-mobile-bottom-cta__item {
    height: 66px;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    box-sizing: border-box;

    color: #fff !important;

    font-family:
      "Noto Sans JP",
      sans-serif;

    font-size: 14px;
    font-weight: 700;

    line-height: 1;

    text-decoration: none !important;

    white-space: nowrap;
  }


  /* アイコン */
  .pl-mobile-bottom-cta__item svg {
    width: 24px;
    height: 24px;

    flex: 0 0 24px;

    fill: none;

    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }


  /* 無料見積もり */
  .pl-mobile-bottom-cta__estimate {
    background: #e99532;
  }


  /* LINE */
  .pl-mobile-bottom-cta__line {
    background: #25b64b;
  }


  /* 電話 */
  .pl-mobile-bottom-cta__phone {
    background: #087847;
  }


  /* LINEの小さいマーク */
  .pl-line-mark {
    width: 31px;
    height: 25px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 7px;

    color: #25b64b;
    background: #fff;

    font-size: 8px;
    font-weight: 800;
  }


  /* LINE URL未設定時 */
  .pl-mobile-bottom-cta__disabled {
    opacity: .7;
  }


  /* 固定バーでページ下部が隠れないようにする */
  body {
    padding-bottom:
      calc(66px + env(safe-area-inset-bottom)) !important;
  }

}
/* =========================================================
   スマホ上部ヘッダーをスクロール追従
========================================================= */

@media screen and (max-width: 834px) {

  .pl-mobile-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 9998 !important;
  }

}
/* =========================================================
   トップページ 施工事例デモ
========================================================= */

.pl-works-demo {
  width: 100vw;

  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);

  padding: 90px 24px 100px;

  box-sizing: border-box;

  background: #f8f7f2;
}

.pl-works-demo__inner {
  width: min(1180px, 100%);

  margin: 0 auto;
}


/* 見出し */










/* 3カード */

.pl-works-demo__grid {
  display: grid;

  grid-template-columns: repeat(3, minmax(0, 1fr));

  gap: 28px;
}

.pl-work-card {
  overflow: hidden;

  margin: 0;

  background: #fff;

  border: 1px solid #e4e7e3;

  box-shadow:
    0 8px 28px rgba(28, 55, 42, .06);
}


/* 仮イラスト */

.pl-work-card__visual {
  position: relative;

  overflow: hidden;

  aspect-ratio: 5 / 3.2;

  background: #edf2ed;
}

.pl-work-card__visual svg {
  display: block;

  width: 100%;
  height: 100%;
}


/* 地域 */

.pl-work-card__area {
  position: absolute;

  left: 16px;
  bottom: 14px;

  padding: 7px 13px;

  color: #fff;

  background: #087847;

  font-size: 12px;
  font-weight: 700;
}


/* 本文 */

.pl-work-card__body {
  padding: 23px 22px 25px;
}

.pl-work-card__type {
  margin: 0 0 7px !important;

  color: #74817a;

  font-size: 12px;

  letter-spacing: .04em;
}

.pl-work-card__body h3 {
  margin: 0 0 20px !important;
  padding: 0 !important;

  color: #20372d !important;

  background: transparent !important;

  border: 0 !important;
  box-shadow: none !important;

  font-size: 18px !important;
  font-weight: 700 !important;

  line-height: 1.55 !important;
}

.pl-work-card__body h3::before,
.pl-work-card__body h3::after {
  display: none !important;

  content: none !important;
}


/* 価格 */

.pl-work-card__price {
  display: flex;

  align-items: baseline;

  padding-top: 16px;

  border-top: 1px solid #e8ebe7;
}

.pl-work-card__price span {
  margin-right: auto;

  color: #56645d;

  font-size: 13px;
  font-weight: 600;
}

.pl-work-card__price strong {
  color: #087847;

  font-family: "Montserrat", sans-serif;

  font-size: 35px;
  font-weight: 700;

  line-height: 1;
}

.pl-work-card__price b {
  margin-left: 3px;

  color: #263a31;

  font-size: 13px;
  font-weight: 600;
}

.pl-work-card__note {
  margin: 8px 0 0 !important;

  color: #9aa29e;

  font-size: 10px;

  text-align: right;
}


/* もっと見る */

.pl-works-demo__more {
  margin-top: 46px;

  text-align: center;
}

.pl-works-demo__more a {
  width: min(330px, 100%);
  min-height: 60px;

  display: inline-flex;

  align-items: center;
  justify-content: space-between;

  box-sizing: border-box;

  padding: 0 23px;

  color: #087847 !important;

  background: #fff;

  border: 1px solid #87a994;

  text-decoration: none !important;
}

.pl-works-demo__more a span {
  font-size: 20px;
}


/* =========================================================
   スマホ
========================================================= */

@media screen and (max-width: 768px) {

  .pl-works-demo {
    padding: 58px 18px 70px;
  }

  

  

  

  .pl-works-demo__grid {
    grid-template-columns: 1fr;

    gap: 22px;
  }

  .pl-work-card__body {
    padding: 20px 19px 22px;
  }

  .pl-work-card__body h3 {
    font-size: 17px !important;
  }

  .pl-work-card__price strong {
    font-size: 32px;
  }

  .pl-works-demo__more {
    margin-top: 34px;
  }

}
/* =========================================================
   施工事例 一覧ボタン 最終デザイン
========================================================= */

.pl-works-demo__more {
  margin-top: 52px;
  text-align: center;
}

.pl-works-demo__more a {
  width: min(390px, 100%);
  min-height: 72px;

  display: inline-flex;
  align-items: center;
  justify-content: space-between;

  box-sizing: border-box;

  padding: 0 18px 0 28px;

  color: #20372d !important;
  background: #fff;

  border: 0;
  border-bottom: 2px solid #087847;

  border-radius: 0;

  box-shadow:
    0 8px 25px rgba(25, 55, 42, .07);

  text-decoration: none !important;

  transition:
    background .25s ease,
    color .25s ease,
    transform .25s ease;
}


.pl-works-demo__more-text {
  font-size: 15px;
  font-weight: 600;

  letter-spacing: .06em;
}


/* 右側の丸矢印 */

.pl-works-demo__more-arrow {
  width: 42px;
  height: 42px;

  display: flex;
  align-items: center;
  justify-content: center;

  flex: 0 0 42px;

  color: #fff;

  background: #087847;

  border-radius: 50%;

  font-size: 19px;
  font-weight: 400;

  transition:
    transform .25s ease,
    background .25s ease;
}


/* PC hover */

.pl-works-demo__more a:hover {
  color: #fff !important;

  background: #087847;

  transform: translateY(-2px);
}

.pl-works-demo__more a:hover .pl-works-demo__more-arrow {
  color: #087847;

  background: #fff;

  transform: translateX(4px);
}


/* スマホ */

@media screen and (max-width: 768px) {

  .pl-works-demo__more {
    margin-top: 36px;
  }

  .pl-works-demo__more a {
    min-height: 66px;

    padding-left: 22px;
    padding-right: 14px;
  }

  .pl-works-demo__more-text {
    font-size: 14px;
  }

  .pl-works-demo__more-arrow {
    width: 38px;
    height: 38px;

    flex-basis: 38px;
  }

}
/* メインビジュアル → 施工事例の余白を削除 */
.home .pl-mainvisual {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.home .pl-works-demo {
  margin-top: 0 !important;
}
/* =========================================================
   施工事例 見出し画像
========================================================= */






/* スマホ */
@media screen and (max-width: 768px) {

  

  

}
/* 施工事例 見出し画像を小さく */




@media screen and (max-width: 768px) {

  

}
/* 施工事例 上の余白を縮める */
.pl-works-demo {
  padding-top: 42px !important;
}

@media screen and (max-width: 768px) {

  .pl-works-demo {
    padding-top: 30px !important;
  }

}
/* =========================================================
   施工事例 スマホ2列コンパクト表示
========================================================= */

@media screen and (max-width: 768px) {

  .pl-works-demo {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .pl-works-demo__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  .pl-work-card__area {
    left: 8px;
    bottom: 8px;

    padding: 5px 8px;

    font-size: 10px;
  }

  .pl-work-card__body {
    padding: 13px 11px 15px !important;
  }

  .pl-work-card__type {
    margin-bottom: 5px !important;

    font-size: 10px;
  }

  .pl-work-card__body h3 {
    min-height: 42px;

    margin-bottom: 12px !important;

    font-size: 13px !important;
    line-height: 1.6 !important;

    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;

    overflow: hidden;
  }

  .pl-work-card__price {
    display: block;

    padding-top: 10px;
  }

  .pl-work-card__price span {
    display: block;

    margin-bottom: 4px;

    font-size: 10px;
  }

  .pl-work-card__price strong {
    font-size: 25px;
  }

  .pl-work-card__price b {
    font-size: 10px;
  }

  .pl-work-card__note {
    display: none;
  }

}
/* =========================================================
   ペイントリーフが選ばれる理由
========================================================= */

.pl-reasons {
  width: 100vw;

  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);

  padding: 72px 24px 82px;

  box-sizing: border-box;

  background:
    linear-gradient(
      180deg,
      #ffffff 0%,
      #fbfcf8 55%,
      #f5f8ef 100%
    );
}


.pl-reasons__inner {
  width: min(1180px, 100%);

  margin: 0 auto;
}


/* =========================================================
   見出し
========================================================= */

.pl-reasons__heading {
  margin-bottom: 44px;

  text-align: center;
}


.pl-reasons__heading h2 {
  position: relative;

  display: inline-block;

  margin: 0 !important;
  padding: 0 10px 13px !important;

  color: #173c2c !important;

  background: transparent !important;

  border: 0 !important;

  font-family:
    "Noto Sans JP",
    sans-serif;

  font-size: 40px !important;
  font-weight: 700 !important;

  line-height: 1.35 !important;

  letter-spacing: .015em;
}


/* 刷毛風ライン */
.pl-reasons__heading h2::before {
  content: "";

  position: absolute;

  z-index: -1;

  left: 3%;
  right: 3%;
  bottom: 7px;

  height: 12px;

  background:
    linear-gradient(
      90deg,
      rgba(181, 217, 79, 0),
      rgba(181, 217, 79, .55) 12%,
      rgba(181, 217, 79, .45) 88%,
      rgba(181, 217, 79, 0)
    );

  transform: rotate(-1deg);
}


.pl-reasons__heading h2::after {
  display: none !important;
  content: none !important;
}


.pl-reasons__heading p {
  margin: 18px 0 0 !important;

  color: #56645e;

  font-size: 16px;

  line-height: 1.8;
}


.pl-reasons__heading strong {
  color: #087847;

  font-weight: 700;
}


/* =========================================================
   4項目
========================================================= */

.pl-reasons__grid {
  display: grid;

  grid-template-columns:
    repeat(4, minmax(0, 1fr));

  gap: 18px;
}


.pl-reason-card {
  position: relative;

  overflow: hidden;

  padding-bottom: 28px;

  background: #fff;

  border: 1px solid #e5e9e4;

  border-radius: 14px;

  box-shadow:
    0 10px 30px rgba(30, 62, 45, .055);

  text-align: center;
}


/* =========================================================
   仮イラスト部分
========================================================= */

.pl-reason-card__image {
  position: relative;

  width: 100%;

  aspect-ratio: 1.18 / 1;

  display: flex;

  align-items: center;
  justify-content: center;

  overflow: hidden;

  background:
    radial-gradient(
      circle at 50% 45%,
      #ffffff 0%,
      #f2f7eb 65%,
      #eaf2df 100%
    );
}


.pl-reason-card__image::before {
  content: "";

  position: absolute;

  width: 175px;
  height: 175px;

  border-radius: 50%;

  background:
    rgba(168, 200, 63, .09);
}


.pl-reason-card__image span {
  position: relative;

  z-index: 2;

  color: #94a097;

  font-size: 13px;
  font-weight: 500;

  line-height: 1.7;
}


/* =========================================================
   数字
========================================================= */

.pl-reason-card__number {
  position: relative;

  display: inline-block;

  margin-top: 18px;
  margin-bottom: 12px;

  color: #abc88d;

  font-family:
    "Montserrat",
    sans-serif;

  font-size: 30px;
  font-weight: 600;

  font-style: italic;

  line-height: 1;
}


.pl-reason-card__number::after {
  content: "";

  display: block;

  width: 28px;
  height: 2px;

  margin: 9px auto 0;

  background: #9cc33e;
}


/* =========================================================
   カード文字
========================================================= */

.pl-reason-card h3 {
  margin: 0 8px 10px !important;
  padding: 0 !important;

  color: #173c2c !important;

  background: transparent !important;

  border: 0 !important;

  box-shadow: none !important;

  font-size: 21px !important;
  font-weight: 700 !important;

  line-height: 1.45 !important;
}


.pl-reason-card h3::before,
.pl-reason-card h3::after {
  display: none !important;

  content: none !important;
}


.pl-reason-card p {
  margin: 0 !important;

  color: #626d68;

  font-size: 14px;

  line-height: 1.8;
}


/* =========================================================
   下部リンク
========================================================= */

.pl-reasons__link {
  margin-top: 42px;

  text-align: center;
}


.pl-reasons__link a {
  width: min(380px, 100%);
  min-height: 66px;

  display: inline-flex;

  align-items: center;
  justify-content: space-between;

  box-sizing: border-box;

  padding: 0 16px 0 26px;

  color: #183d2d !important;

  background: #fff;

  border: 1px solid #8eaa98;

  border-radius: 40px;

  text-decoration: none !important;

  transition: .25s;
}


.pl-reasons__link a span {
  font-size: 14px;
  font-weight: 600;

  letter-spacing: .04em;
}


.pl-reasons__link a b {
  width: 38px;
  height: 38px;

  display: flex;

  align-items: center;
  justify-content: center;

  flex: 0 0 38px;

  color: #fff;

  background: #087847;

  border-radius: 50%;

  font-size: 17px;
  font-weight: 400;
}


.pl-reasons__link a:hover {
  color: #fff !important;

  background: #087847;
}


.pl-reasons__link a:hover b {
  color: #087847;

  background: #fff;
}


.pl-reasons__sp {
  display: none;
}


/* =========================================================
   スマホ
========================================================= */

@media screen and (max-width: 768px) {

  .pl-reasons {
    padding: 48px 12px 58px;
  }


  .pl-reasons__heading {
    margin-bottom: 28px;
  }


  .pl-reasons__heading h2 {
    font-size: 28px !important;

    line-height: 1.45 !important;
  }


  .pl-reasons__heading p {
    margin-top: 13px !important;

    font-size: 13px;
  }


  .pl-reasons__sp {
    display: block;
  }


  /* スマホは2×2 */
  .pl-reasons__grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));

    gap: 10px;
  }


  .pl-reason-card {
    padding-bottom: 19px;

    border-radius: 9px;
  }


  .pl-reason-card__image {
    aspect-ratio: 1.1 / 1;
  }


  .pl-reason-card__image::before {
    width: 105px;
    height: 105px;
  }


  .pl-reason-card__image span {
    font-size: 10px;
  }


  .pl-reason-card__number {
    margin-top: 12px;
    margin-bottom: 9px;

    font-size: 23px;
  }


  .pl-reason-card__number::after {
    width: 20px;

    margin-top: 6px;
  }


  .pl-reason-card h3 {
    margin-bottom: 7px !important;

    font-size: 16px !important;
  }


  .pl-reason-card p {
    padding: 0 7px;

    font-size: 11px;

    line-height: 1.65;
  }


  .pl-reasons__link {
    margin-top: 28px;
  }


  .pl-reasons__link a {
    min-height: 60px;

    padding-left: 20px;
    padding-right: 12px;
  }


  .pl-reasons__link a span {
    font-size: 13px;
  }

}
/* =========================================================
   選ばれる理由 CTAを施工事例ボタンと統一
========================================================= */

.pl-reasons__link a {
  width: min(390px, 100%);
  min-height: 72px;

  display: inline-flex;
  align-items: center;
  justify-content: space-between;

  box-sizing: border-box;

  padding: 0 18px 0 28px;

  color: #20372d !important;
  background: #fff;

  border: 0 !important;
  border-bottom: 2px solid #087847 !important;

  border-radius: 0 !important;

  box-shadow:
    0 8px 25px rgba(25, 55, 42, .07);

  text-decoration: none !important;

  transition:
    background .25s ease,
    color .25s ease,
    transform .25s ease;
}


.pl-reasons__link a span {
  font-size: 15px;
  font-weight: 600;

  letter-spacing: .05em;
}


/* 右側の丸矢印 */
.pl-reasons__link a b {
  width: 42px;
  height: 42px;

  display: flex;
  align-items: center;
  justify-content: center;

  flex: 0 0 42px;

  color: #fff;

  background: #087847;

  border-radius: 50%;

  font-size: 19px;
  font-weight: 400;

  transition:
    transform .25s ease,
    background .25s ease;
}


/* PCホバー */
.pl-reasons__link a:hover {
  color: #fff !important;

  background: #087847;

  transform: translateY(-2px);
}

.pl-reasons__link a:hover b {
  color: #087847;

  background: #fff;

  transform: translateX(4px);
}


/* スマホ */
@media screen and (max-width: 768px) {

  .pl-reasons__link a {
    min-height: 66px;

    padding-left: 22px;
    padding-right: 14px;
  }

  .pl-reasons__link a span {
    font-size: 13px;
  }

  .pl-reasons__link a b {
    width: 38px;
    height: 38px;

    flex-basis: 38px;
  }

}
/* =========================================================
   選ばれる理由 → 施工事例 の間隔調整
========================================================= */

.home .pl-reasons {
  padding-bottom: 34px !important;
}

.home .pl-works-demo {
  padding-top: 28px !important;
}


/* スマホ */
@media screen and (max-width: 768px) {

  .home .pl-reasons {
    padding-bottom: 28px !important;
  }

  .home .pl-works-demo {
    padding-top: 24px !important;
  }

}
/* =========================================================
   選ばれる理由 → 施工事例 の白い隙間を完全に消す
========================================================= */

.home .entry-content > .pl-reasons,
.home .entry-content > .pl-works-demo {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.home .pl-reasons {
  margin-bottom: 0 !important;
}

.home .pl-reasons + .pl-works-demo {
  margin-top: 0 !important;
}
/* =========================================================
   選ばれる理由 イラスト画像
========================================================= */

.pl-reason-card__image img {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center;

  margin: 0;
}

/* 仮画像用の背景装飾は消す */
.pl-reason-card__image::before {
  display: none !important;
}
/* =========================================================
   施工事例 見出し
   「選ばれる理由」とデザイン統一
========================================================= */







/* 選ばれる理由と同じグリーンの刷毛ライン */









.pl-works-demo__sp {
  display: none;
}


/* =========================================================
   スマホ
========================================================= */

@media screen and (max-width: 768px) {

  


  


  


  .pl-works-demo__sp {
    display: block;
  }

}
/* =========================================================
   トップページ CTA ボタン角丸統一
========================================================= */

.pl-reasons__link a,
.pl-works-demo__more a {
  border-radius: 10px !important;
}
/* =========================================================
   トップページ 料金・費用
========================================================= */

.pl-price-home {
  width: 100vw;

  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);

  padding: 72px 24px 82px;

  box-sizing: border-box;

  background: #fff;
}

.pl-price-home__inner {
  width: min(1180px, 100%);

  margin: 0 auto;
}


/* =========================================================
   見出し
========================================================= */











.pl-price-home__sp {
  display: none;
}


/* =========================================================
   料金カード
========================================================= */

.pl-price-home__grid {
  display: grid;

  grid-template-columns:
    repeat(3, minmax(0, 1fr));

  gap: 22px;
}

.pl-price-card {
  position: relative;

  padding: 34px 24px 30px;

  box-sizing: border-box;

  background: #f8faf6;

  border: 1px solid #e1e7df;
  border-radius: 10px;

  text-align: center;

  box-shadow:
    0 8px 28px rgba(30, 60, 45, .05);
}

.pl-price-card--recommend {
  border: 2px solid #9cc33e;

  background: #fbfdf7;
}

.pl-price-card__badge {
  position: absolute;

  top: -14px;
  left: 50%;

  transform: translateX(-50%);

  padding: 6px 18px;

  color: #fff;

  background: #087847;

  border-radius: 20px;

  font-size: 12px;
  font-weight: 700;

  white-space: nowrap;
}


/* アイコン */

.pl-price-card__icon {
  width: 90px;
  height: 74px;

  margin: 0 auto 18px;
}

.pl-price-card__icon svg {
  width: 100%;
  height: 100%;

  fill: none;

  stroke: #7aa28b;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}


/* テキスト */

.pl-price-card__label {
  margin: 0 0 7px !important;

  color: #7a8780;

  font-size: 12px;
}

.pl-price-card h3 {
  margin: 0 0 20px !important;
  padding: 0 !important;

  color: #173c2c !important;

  background: transparent !important;

  border: 0 !important;

  font-size: 22px !important;
  font-weight: 700 !important;
}

.pl-price-card h3::before,
.pl-price-card h3::after {
  display: none !important;
  content: none !important;
}


/* 価格 */

.pl-price-card__price {
  display: flex;

  align-items: baseline;
  justify-content: center;

  color: #087847;
}

.pl-price-card__price strong {
  font-family: "Montserrat", sans-serif;

  font-size: 48px;
  font-weight: 700;

  line-height: 1;
}

.pl-price-card__price span {
  margin-left: 4px;

  color: #263a31;

  font-size: 18px;
  font-weight: 700;
}

.pl-price-card__tax {
  margin: 12px 0 0 !important;

  color: #8a938e;

  font-size: 10px;

  line-height: 1.6;
}


/* 注意書き */

.pl-price-home__notice {
  margin: 24px 0 0 !important;

  color: #7e8883;

  font-size: 12px;

  text-align: center;
}


/* =========================================================
   詳しく見るボタン
========================================================= */

.pl-price-home__more {
  margin-top: 38px;

  text-align: center;
}

.pl-price-home__more a {
  width: min(390px, 100%);
  min-height: 72px;

  display: inline-flex;

  align-items: center;
  justify-content: space-between;

  box-sizing: border-box;

  padding: 0 18px 0 28px;

  color: #20372d !important;

  background: #fff;

  border: 0;
  border-bottom: 2px solid #087847;

  border-radius: 8px;

  box-shadow:
    0 8px 25px rgba(25, 55, 42, .07);

  text-decoration: none !important;

  transition: .25s;
}

.pl-price-home__more a span {
  font-size: 15px;
  font-weight: 600;

  letter-spacing: .05em;
}

.pl-price-home__more a b {
  width: 42px;
  height: 42px;

  display: flex;

  align-items: center;
  justify-content: center;

  flex: 0 0 42px;

  color: #fff;

  background: #087847;

  border-radius: 50%;

  font-size: 19px;
  font-weight: 400;
}

.pl-price-home__more a:hover {
  color: #fff !important;

  background: #087847;

  transform: translateY(-2px);
}


/* =========================================================
   スマホ
========================================================= */

@media screen and (max-width: 768px) {

  .pl-price-home {
    padding: 50px 12px 62px;
  }

  

  

  

  .pl-price-home__sp {
    display: block;
  }


  .pl-price-home__grid {
    grid-template-columns: 1fr;

    gap: 16px;
  }

  .pl-price-card {
    padding: 25px 18px 23px;
  }

  .pl-price-card__icon {
    width: 72px;
    height: 58px;

    margin-bottom: 12px;
  }

  .pl-price-card h3 {
    margin-bottom: 14px !important;

    font-size: 19px !important;
  }

  .pl-price-card__price strong {
    font-size: 40px;
  }

  .pl-price-card__price span {
    font-size: 16px;
  }


  .pl-price-home__more {
    margin-top: 30px;
  }

  .pl-price-home__more a {
    min-height: 66px;

    padding-left: 22px;
    padding-right: 14px;
  }

  .pl-price-home__more a span {
    font-size: 14px;
  }

  .pl-price-home__more a b {
    width: 38px;
    height: 38px;

    flex-basis: 38px;
  }

}
/* =========================================================
   トップページ お客様の声
========================================================= */

.pl-voice-home {
  width: 100vw;

  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);

  padding: 72px 24px 82px;

  box-sizing: border-box;

  background: #f7f8f3;
}


.pl-voice-home__inner {
  width: min(1180px, 100%);

  margin: 0 auto;
}


/* =========================================================
   見出し
========================================================= */
















.pl-voice-home__sp {
  display: none;
}


/* =========================================================
   3カード
========================================================= */

.pl-voice-home__grid {
  display: grid;

  grid-template-columns:
    repeat(3, minmax(0, 1fr));

  gap: 24px;
}


.pl-voice-card {
  overflow: hidden;

  margin: 0;

  background: #fff;

  border: 1px solid #e2e7e1;
  border-radius: 10px;

  box-shadow:
    0 8px 25px rgba(25, 55, 42, .05);
}


/* 仮写真 */

.pl-voice-card__photo {
  aspect-ratio: 4 / 3;

  display: flex;
  align-items: center;
  justify-content: center;

  background:
    linear-gradient(
      135deg,
      #edf4e8,
      #f8faf4
    );

  color: #8b978f;

  font-size: 13px;
  font-weight: 500;

  line-height: 1.7;

  text-align: center;
}


/* 本文 */

.pl-voice-card__body {
  padding: 22px 22px 25px;
}


.pl-voice-card__area {
  display: inline-block;

  margin-bottom: 10px;

  padding: 5px 10px;

  color: #087847;

  background: #edf5ef;

  font-size: 11px;
  font-weight: 700;
}


.pl-voice-card h3 {
  margin: 0 0 12px !important;
  padding: 0 !important;

  color: #173c2c !important;

  background: transparent !important;

  border: 0 !important;

  font-size: 18px !important;
  font-weight: 700 !important;
}


.pl-voice-card h3::before,
.pl-voice-card h3::after {
  display: none !important;

  content: none !important;
}


.pl-voice-card p {
  margin: 0 !important;

  color: #626d68;

  font-size: 14px;

  line-height: 1.9;
}


/* =========================================================
   ボタン
========================================================= */

.pl-voice-home__more {
  margin-top: 42px;

  text-align: center;
}


.pl-voice-home__more a {
  width: min(390px, 100%);
  min-height: 72px;

  display: inline-flex;

  align-items: center;
  justify-content: space-between;

  box-sizing: border-box;

  padding: 0 18px 0 28px;

  color: #20372d !important;

  background: #fff;

  border: 0;
  border-bottom: 2px solid #087847;

  border-radius: 10px;

  box-shadow:
    0 8px 25px rgba(25, 55, 42, .07);

  text-decoration: none !important;
}


.pl-voice-home__more a span {
  font-size: 15px;
  font-weight: 600;
}


.pl-voice-home__more a b {
  width: 42px;
  height: 42px;

  display: flex;
  align-items: center;
  justify-content: center;

  color: #fff;

  background: #087847;

  border-radius: 50%;

  font-size: 19px;
  font-weight: 400;
}


/* =========================================================
   スマホ
========================================================= */

@media screen and (max-width: 768px) {

  .pl-voice-home {
    padding: 50px 12px 62px;
  }


  


  


  


  .pl-voice-home__sp {
    display: block;
  }


  /* スマホも2列 */
  .pl-voice-home__grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));

    gap: 10px;
  }


  .pl-voice-card__body {
    padding: 14px 12px 17px;
  }


  .pl-voice-card__area {
    margin-bottom: 7px;

    padding: 4px 7px;

    font-size: 9px;
  }


  .pl-voice-card h3 {
    font-size: 14px !important;
  }


  .pl-voice-card p {
    font-size: 11px;

    line-height: 1.7;
  }


  .pl-voice-card__photo {
    font-size: 10px;
  }


  .pl-voice-home__more {
    margin-top: 30px;
  }


  .pl-voice-home__more a {
    min-height: 66px;

    padding-left: 22px;
    padding-right: 14px;
  }


  .pl-voice-home__more a span {
    font-size: 14px;
  }


  .pl-voice-home__more a b {
    width: 38px;
    height: 38px;
  }

}
/* =========================================================
   トップページ 共通CTAボタン
========================================================= */

.pl-reasons__link a,
.pl-works-demo__more a,
.pl-price-home__more a,
.pl-voice-home__more a {
  width: 390px !important;
  max-width: 100% !important;
  height: 68px !important;
  min-height: 68px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;

  box-sizing: border-box !important;

  margin: 0 auto !important;
  padding: 0 14px 0 26px !important;

  color: #20372d !important;
  background: #fff !important;

  border: 0 !important;
  border-bottom: 2px solid #087847 !important;
  border-radius: 8px !important;

  box-shadow:
    0 8px 25px rgba(25, 55, 42, .07) !important;

  text-decoration: none !important;

  transition:
    background .25s ease,
    color .25s ease,
    transform .25s ease;
}


/* =========================================================
   ボタン文字を完全統一
========================================================= */

.pl-reasons__link a > span,
.pl-works-demo__more a > span:first-child,
.pl-price-home__more a > span,
.pl-voice-home__more a > span {
  display: flex !important;
  align-items: center !important;

  margin: 0 !important;
  padding: 0 !important;

  color: inherit !important;

  font-family:
    "Noto Sans JP",
    sans-serif !important;

  font-size: 14px !important;
  font-weight: 600 !important;

  line-height: 1.4 !important;
  letter-spacing: .04em !important;

  white-space: nowrap;
}


/* =========================================================
   右側の丸矢印を完全統一
========================================================= */

.pl-reasons__link a > b,
.pl-price-home__more a > b,
.pl-voice-home__more a > b,
.pl-works-demo__more-arrow {
  width: 40px !important;
  height: 40px !important;

  flex: 0 0 40px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 0 !important;
  padding: 0 !important;

  color: #fff !important;
  background: #087847 !important;

  border-radius: 50% !important;

  font-family: Arial, sans-serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;

  line-height: 1 !important;
}


/* =========================================================
   PC hover
========================================================= */

@media screen and (min-width: 835px) {

  .pl-reasons__link a:hover,
  .pl-works-demo__more a:hover,
  .pl-price-home__more a:hover,
  .pl-voice-home__more a:hover {
    color: #fff !important;
    background: #087847 !important;

    transform: translateY(-2px);
  }

  .pl-reasons__link a:hover > b,
  .pl-price-home__more a:hover > b,
  .pl-voice-home__more a:hover > b,
  .pl-works-demo__more a:hover .pl-works-demo__more-arrow {
    color: #087847 !important;
    background: #fff !important;

    transform: translateX(3px);
  }

}


/* =========================================================
   スマホ
========================================================= */

@media screen and (max-width: 768px) {

  .pl-reasons__link a,
  .pl-works-demo__more a,
  .pl-price-home__more a,
  .pl-voice-home__more a {
    width: 100% !important;
    max-width: 360px !important;

    height: 62px !important;
    min-height: 62px !important;

    padding: 0 12px 0 20px !important;
  }


  .pl-reasons__link a > span,
  .pl-works-demo__more a > span:first-child,
  .pl-price-home__more a > span,
  .pl-voice-home__more a > span {
    font-size: 13px !important;
  }


  .pl-reasons__link a > b,
  .pl-price-home__more a > b,
  .pl-voice-home__more a > b,
  .pl-works-demo__more-arrow {
    width: 36px !important;
    height: 36px !important;

    flex-basis: 36px !important;

    font-size: 16px !important;
  }

}
/* =========================================================
   相見積もり歓迎・見積もり比較
========================================================= */

.pl-compare-home {
  width: 100vw;

  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);

  padding: 78px 24px 82px;

  box-sizing: border-box;

  background:
    linear-gradient(
      135deg,
      #0b4934 0%,
      #087847 100%
    );

  color: #fff;
}


.pl-compare-home__inner {
  width: min(1120px, 100%);

  margin: 0 auto;

  text-align: center;
}


/* =========================================================
   相見積もり歓迎
========================================================= */




/* =========================================================
   見出し
========================================================= */













/* =========================================================
   比較ポイント
========================================================= */

.pl-compare-home__points {
  display: grid;

  grid-template-columns:
    repeat(4, minmax(0, 1fr));

  gap: 14px;

  margin-top: 46px;
}


.pl-compare-point {
  min-height: 190px;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  box-sizing: border-box;

  padding: 24px 14px;

  background:
    rgba(255,255,255,.08);

  border: 1px solid rgba(255,255,255,.22);

  border-radius: 10px;
}


.pl-compare-point > span {
  margin-bottom: 10px;

  color: #dceca1;

  font-family:
    "Montserrat",
    sans-serif;

  font-size: 13px;
  font-weight: 700;

  letter-spacing: .12em;
}


.pl-compare-point strong {
  color: #fff;

  font-size: 20px;
  font-weight: 700;
}


.pl-compare-point p {
  margin: 11px 0 0 !important;

  color: rgba(255,255,255,.76);

  font-size: 13px;

  line-height: 1.7;
}


/* =========================================================
   メッセージ
========================================================= */

.pl-compare-home__message {
  margin-top: 38px;
}


.pl-compare-home__message strong {
  display: block;

  color: #fff;

  font-size: 21px;
  font-weight: 700;
}


.pl-compare-home__message p {
  margin: 10px 0 0 !important;

  color: rgba(255,255,255,.72);

  font-size: 13px;
}


/* =========================================================
   CTA
========================================================= */

.pl-compare-home__more {
  margin-top: 32px;

  text-align: center;
}


.pl-compare-home__more a {
  width: 390px;
  max-width: 100%;

  height: 68px;

  display: inline-flex;
  align-items: center;
  justify-content: space-between;

  box-sizing: border-box;

  padding: 0 14px 0 26px;

  color: #20372d !important;

  background: #fff;

  border: 0;

  border-radius: 8px;

  box-shadow:
    0 10px 28px rgba(0,0,0,.14);

  text-decoration: none !important;

  transition:
    transform .25s ease,
    background .25s ease;
}


.pl-compare-home__more a > span {
  font-family:
    "Noto Sans JP",
    sans-serif;

  font-size: 14px;
  font-weight: 600;

  letter-spacing: .04em;
}


.pl-compare-home__more a > b {
  width: 40px;
  height: 40px;

  flex: 0 0 40px;

  display: flex;
  align-items: center;
  justify-content: center;

  color: #fff;

  background: #087847;

  border-radius: 50%;

  font-size: 18px;
  font-weight: 400;
}


@media screen and (min-width: 835px) {

  .pl-compare-home__more a:hover {
    transform: translateY(-2px);

    background: #f4f8ec;
  }

}


/* =========================================================
   スマホ
========================================================= */

@media screen and (max-width: 768px) {

  .pl-compare-home {
    padding: 54px 14px 60px;
  }


  


  


  


  .pl-compare-home__pc {
    display: none;
  }


  /* スマホは2×2 */
  .pl-compare-home__points {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));

    gap: 9px;

    margin-top: 30px;
  }


  .pl-compare-point {
    min-height: 145px;

    padding: 18px 7px;
  }


  .pl-compare-point strong {
    font-size: 17px;
  }


  .pl-compare-point p {
    font-size: 11px;
  }


  .pl-compare-home__message {
    margin-top: 29px;
  }


  .pl-compare-home__message strong {
    font-size: 17px;

    line-height: 1.7;
  }


  .pl-compare-home__message p {
    font-size: 11px;

    line-height: 1.7;
  }


  .pl-compare-home__more {
    margin-top: 25px;
  }


  .pl-compare-home__more a {
    width: 100%;
    max-width: 360px;

    height: 62px;

    padding: 0 12px 0 20px;
  }


  .pl-compare-home__more a > span {
    font-size: 13px;
  }


  .pl-compare-home__more a > b {
    width: 36px;
    height: 36px;

    flex-basis: 36px;

    font-size: 16px;
  }

}
/* =========================================================
   トップページ 八尾市・東大阪市
========================================================= */

.pl-area-home {
  width: 100vw;

  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);

  padding: 72px 24px 82px;

  box-sizing: border-box;

  background: #f6f7f2;
}

.pl-area-home__inner {
  width: min(1180px, 100%);
  margin: 0 auto;
}


/* 見出し */

.pl-area-home__heading {
  margin-bottom: 42px;
  text-align: center;
}

.pl-area-home__heading h2 {
  position: relative;

  display: inline-block;

  margin: 0 !important;
  padding: 0 10px 13px !important;

  color: #173c2c !important;
  background: transparent !important;
  border: 0 !important;

  font-size: 40px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

.pl-area-home__heading h2::before {
  content: "";

  position: absolute;
  z-index: -1;

  left: 3%;
  right: 3%;
  bottom: 7px;

  height: 12px;

  background:
    linear-gradient(
      90deg,
      rgba(181,217,79,0),
      rgba(181,217,79,.55) 12%,
      rgba(181,217,79,.45) 88%,
      rgba(181,217,79,0)
    );

  transform: rotate(-1deg);
}

.pl-area-home__heading h2::after {
  display: none !important;
  content: none !important;
}

.pl-area-home__heading p {
  margin: 18px 0 0 !important;

  color: #56645e;

  font-size: 16px;
  line-height: 1.8;
}


/* 2エリア */

.pl-area-home__grid {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 20px;
}


.pl-area-home__item {
  position: relative;

  min-height: 280px;

  display: flex;
  flex-direction: column;
  justify-content: center;

  box-sizing: border-box;

  padding: 42px 44px;

  overflow: hidden;

  color: #173c2c !important;

  background: #fff;

  border: 1px solid #e1e6df;
  border-radius: 10px;

  box-shadow:
    0 10px 30px rgba(27,56,42,.05);

  text-decoration: none !important;

  transition:
    transform .25s ease,
    box-shadow .25s ease;
}


/* 背景の大きな地名 */

.pl-area-home__item::before {
  position: absolute;

  right: 18px;
  bottom: -25px;

  color: rgba(8,120,71,.045);

  font-family: "Montserrat", sans-serif;

  font-size: 105px;
  font-weight: 700;

  line-height: 1;

  pointer-events: none;
}

.pl-area-home__item:first-child::before {
  content: "YAO";
}

.pl-area-home__item:last-child::before {
  content: "HIGASHI";
}


.pl-area-home__small {
  position: relative;
  z-index: 2;

  margin-bottom: 10px;

  color: #087847;

  font-size: 12px;
  font-weight: 700;

  letter-spacing: .08em;
}


.pl-area-home__item strong {
  position: relative;
  z-index: 2;

  color: #173c2c;

  font-size: 38px;
  font-weight: 700;

  line-height: 1.35;
}


.pl-area-home__item p {
  position: relative;
  z-index: 2;

  margin: 17px 0 24px !important;

  color: #626d68;

  font-size: 14px;

  line-height: 1.9;
}


.pl-area-home__arrow {
  position: relative;
  z-index: 2;

  display: flex;
  align-items: center;

  gap: 12px;

  color: #087847;

  font-size: 13px;
  font-weight: 700;
}


.pl-area-home__arrow b {
  width: 32px;
  height: 32px;

  display: flex;
  align-items: center;
  justify-content: center;

  color: #fff;
  background: #087847;

  border-radius: 50%;

  font-size: 14px;
  font-weight: 400;
}


@media screen and (min-width: 835px) {

  .pl-area-home__item:hover {
    transform: translateY(-3px);

    box-shadow:
      0 14px 34px rgba(27,56,42,.09);
  }

}


/* =========================================================
   スマホ
========================================================= */

.pl-area-home__sp {
  display: none;
}

@media screen and (max-width: 768px) {

  .pl-area-home {
    padding: 50px 12px 62px;
  }

  .pl-area-home__heading {
    margin-bottom: 28px;
  }

  .pl-area-home__heading h2 {
    font-size: 27px !important;
  }

  .pl-area-home__heading p {
    margin-top: 13px !important;

    font-size: 13px;
  }

  .pl-area-home__sp {
    display: block;
  }

  .pl-area-home__grid {
    grid-template-columns: 1fr;

    gap: 12px;
  }

  .pl-area-home__item {
    min-height: 220px;

    padding: 30px 25px;
  }

  .pl-area-home__item strong {
    font-size: 31px;
  }

  .pl-area-home__item p {
    margin: 13px 0 19px !important;

    font-size: 13px;
  }

  .pl-area-home__item::before {
    font-size: 75px;
  }

}
/* =========================================================
   トップページ 塗装工事の流れ
========================================================= */

.pl-flow-home {
  width: 100vw;

  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);

  padding: 72px 24px 82px;

  box-sizing: border-box;

  background: #fff;
}


.pl-flow-home__inner {
  width: min(1180px, 100%);
  margin: 0 auto;
}


/* =========================================================
   見出し
========================================================= */
















.pl-flow-home__sp {
  display: none;
}


/* =========================================================
   6ステップ
========================================================= */

.pl-flow-home__steps {
  position: relative;

  display: grid;

  grid-template-columns:
    repeat(6, minmax(0, 1fr));

  gap: 16px;
}


/* 横のライン */
.pl-flow-home__steps::before {
  content: "";

  position: absolute;

  top: 79px;
  left: 8%;
  right: 8%;

  height: 2px;

  background: #dbe6d8;
}


.pl-flow-step {
  position: relative;
  z-index: 2;

  text-align: center;
}


.pl-flow-step__number {
  display: block;

  margin-bottom: 12px;

  color: #9bbd82;

  font-family: "Montserrat", sans-serif;

  font-size: 13px;
  font-weight: 700;

  letter-spacing: .12em;
}


/* 丸アイコン */

.pl-flow-step__icon {
  width: 74px;
  height: 74px;

  display: flex;
  align-items: center;
  justify-content: center;

  margin: 0 auto 20px;

  color: #087847;

  background: #f2f7ed;

  border: 2px solid #b7cf9e;
  border-radius: 50%;

  box-shadow:
    0 6px 18px rgba(26, 67, 46, .05);
}


.pl-flow-step__icon span {
  font-size: 25px;
  font-weight: 600;
}


.pl-flow-step h3 {
  margin: 0 0 10px !important;
  padding: 0 !important;

  color: #173c2c !important;

  background: transparent !important;
  border: 0 !important;

  font-size: 17px !important;
  font-weight: 700 !important;

  line-height: 1.5 !important;
}


.pl-flow-step h3::before,
.pl-flow-step h3::after {
  display: none !important;
  content: none !important;
}


.pl-flow-step p {
  margin: 0 !important;

  color: #66716b;

  font-size: 12px;

  line-height: 1.8;
}


/* =========================================================
   詳しく見る
========================================================= */

.pl-flow-home__more {
  margin-top: 46px;

  text-align: center;
}


.pl-flow-home__more a {
  width: 390px;
  max-width: 100%;

  height: 68px;

  display: inline-flex;
  align-items: center;
  justify-content: space-between;

  box-sizing: border-box;

  padding: 0 14px 0 26px;

  color: #20372d !important;

  background: #fff;

  border: 0;
  border-bottom: 2px solid #087847;
  border-radius: 8px;

  box-shadow:
    0 8px 25px rgba(25, 55, 42, .07);

  text-decoration: none !important;
}


.pl-flow-home__more a span {
  font-size: 14px;
  font-weight: 600;

  letter-spacing: .04em;
}


.pl-flow-home__more a b {
  width: 40px;
  height: 40px;

  flex: 0 0 40px;

  display: flex;
  align-items: center;
  justify-content: center;

  color: #fff;

  background: #087847;

  border-radius: 50%;

  font-size: 18px;
  font-weight: 400;
}


/* =========================================================
   スマホ
========================================================= */

@media screen and (max-width: 768px) {

  .pl-flow-home {
    padding: 50px 16px 62px;
  }


  


  


  


  .pl-flow-home__sp {
    display: block;
  }


  /* スマホは縦タイムライン */
  .pl-flow-home__steps {
    display: block;
  }


  .pl-flow-home__steps::before {
    top: 25px;
    bottom: 25px;

    left: 37px;
    right: auto;

    width: 2px;
    height: auto;
  }


  .pl-flow-step {
    min-height: 105px;

    display: grid;

    grid-template-columns: 76px 1fr;

    column-gap: 14px;

    align-items: start;

    margin-bottom: 18px;

    text-align: left;
  }


  .pl-flow-step__number {
    grid-column: 1;
    grid-row: 1;

    margin: 0 0 5px;

    text-align: center;

    font-size: 10px;
  }


  .pl-flow-step__icon {
    grid-column: 1;
    grid-row: 2 / span 2;

    width: 56px;
    height: 56px;

    margin: 0 auto;

    background: #fff;
  }


  .pl-flow-step__icon span {
    font-size: 20px;
  }


  .pl-flow-step h3 {
    grid-column: 2;
    grid-row: 1 / span 2;

    margin: 4px 0 7px !important;

    font-size: 17px !important;
  }


  .pl-flow-step p {
    grid-column: 2;
    grid-row: 3;

    font-size: 12px;

    line-height: 1.7;
  }


  .pl-flow-home__more {
    margin-top: 30px;
  }


  .pl-flow-home__more a {
    width: 100%;
    max-width: 360px;

    height: 62px;

    padding: 0 12px 0 20px;
  }


  .pl-flow-home__more a span {
    font-size: 13px;
  }


  .pl-flow-home__more a b {
    width: 36px;
    height: 36px;

    flex-basis: 36px;

    font-size: 16px;
  }

}
/* =========================================================
   トップページ よくある質問
========================================================= */

.pl-faq-home {
  width: 100vw;

  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);

  padding: 72px 24px 82px;

  box-sizing: border-box;

  background: #f6f7f2;
}

.pl-faq-home__inner {
  width: min(960px, 100%);
  margin: 0 auto;
}


/* 見出し */











.pl-faq-home__sp {
  display: none;
}


/* FAQ */

.pl-faq-home__list {
  border-top: 1px solid #dce3da;
}

.pl-faq-item {
  margin: 0;

  background: #fff;

  border-bottom: 1px solid #dce3da;
}

.pl-faq-item summary {
  min-height: 82px;

  display: grid;
  grid-template-columns: 42px 1fr 30px;
  align-items: center;

  gap: 14px;

  box-sizing: border-box;

  padding: 16px 24px;

  cursor: pointer;

  list-style: none;

  color: #253b31;

  font-size: 16px;
  font-weight: 600;
}

.pl-faq-item summary::-webkit-details-marker {
  display: none;
}

.pl-faq-item__q {
  color: #087847;

  font-family: "Montserrat", sans-serif;
  font-size: 22px;
  font-weight: 700;
}

.pl-faq-item summary > b {
  color: #087847;

  font-size: 25px;
  font-weight: 400;

  text-align: center;

  transition: transform .2s ease;
}

.pl-faq-item[open] summary > b {
  transform: rotate(45deg);
}


/* 回答 */

.pl-faq-item__answer {
  display: grid;
  grid-template-columns: 42px 1fr;

  gap: 14px;

  padding: 0 24px 25px;
}

.pl-faq-item__answer > span {
  color: #9ebd53;

  font-family: "Montserrat", sans-serif;
  font-size: 22px;
  font-weight: 700;
}

.pl-faq-item__answer p {
  margin: 0 !important;

  color: #626d68;

  font-size: 14px;
  line-height: 1.9;
}


/* 詳しく見る */

.pl-faq-home__more {
  margin-top: 38px;
  text-align: center;
}

.pl-faq-home__more a {
  width: 390px;
  max-width: 100%;
  height: 68px;

  display: inline-flex;
  align-items: center;
  justify-content: space-between;

  box-sizing: border-box;

  padding: 0 14px 0 26px;

  color: #20372d !important;
  background: #fff;

  border: 0;
  border-bottom: 2px solid #087847;
  border-radius: 8px;

  box-shadow:
    0 8px 25px rgba(25,55,42,.07);

  text-decoration: none !important;
}

.pl-faq-home__more a span {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .04em;
}

.pl-faq-home__more a b {
  width: 40px;
  height: 40px;

  flex: 0 0 40px;

  display: flex;
  align-items: center;
  justify-content: center;

  color: #fff;
  background: #087847;

  border-radius: 50%;

  font-size: 18px;
  font-weight: 400;
}


/* スマホ */

@media screen and (max-width: 768px) {

  .pl-faq-home {
    padding: 50px 12px 62px;
  }

  

  

  

  .pl-faq-home__sp {
    display: block;
  }

  .pl-faq-item summary {
    min-height: 72px;

    grid-template-columns: 30px 1fr 24px;

    gap: 8px;

    padding: 13px 12px;

    font-size: 14px;
    line-height: 1.6;
  }

  .pl-faq-item__q {
    font-size: 18px;
  }

  .pl-faq-item__answer {
    grid-template-columns: 30px 1fr;

    gap: 8px;

    padding: 0 12px 20px;
  }

  .pl-faq-item__answer > span {
    font-size: 18px;
  }

  .pl-faq-item__answer p {
    font-size: 13px;
    line-height: 1.8;
  }

  .pl-faq-home__more a {
    width: 100%;
    max-width: 360px;

    height: 62px;

    padding: 0 12px 0 20px;
  }

  .pl-faq-home__more a span {
    font-size: 13px;
  }

  .pl-faq-home__more a b {
    width: 36px;
    height: 36px;

    flex-basis: 36px;
  }

}
/* =========================================================
   お問い合わせページ
========================================================= */

.page-id-0 .entry-title {
  display: none;
}


/* ページ全体 */
.pl-contact-page {
  width: 100%;
}


/* =========================================================
   上部メイン
========================================================= */

.pl-contact-hero {
  width: 100vw;

  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);

  padding: 60px 24px;

  box-sizing: border-box;

  background:
    linear-gradient(
      135deg,
      #f9fbf5 0%,
      #eef5e8 100%
    );
}


.pl-contact-hero__inner {
  width: min(1180px, 100%);

  margin: 0 auto;

  display: grid;

  grid-template-columns:
    1fr 1fr;

  gap: 55px;

  align-items: center;
}


.pl-contact-hero__badge {
  display: inline-block;

  margin-bottom: 18px;

  padding: 7px 17px;

  color: #fff;

  background: #087847;

  border-radius: 30px;

  font-size: 13px;
  font-weight: 700;
}


.pl-contact-hero h1 {
  margin: 0 0 20px !important;
  padding: 0 !important;

  color: #173c2c !important;

  background: transparent !important;
  border: 0 !important;

  font-size: clamp(38px, 4vw, 56px) !important;
  font-weight: 700 !important;

  line-height: 1.3 !important;
}


.pl-contact-hero h1::before,
.pl-contact-hero h1::after {
  display: none !important;
  content: none !important;
}


.pl-contact-hero__copy p {
  margin: 0 0 12px !important;

  color: #4f6057;

  font-size: 17px;

  line-height: 1.9;
}


.pl-contact-hero__copy strong {
  color: #087847;

  font-size: 17px;
}


/* 仮画像 */
.pl-contact-hero__visual {
  min-height: 320px;

  display: flex;

  align-items: center;
  justify-content: center;

  background:
    linear-gradient(
      135deg,
      #e3eedc,
      #f9fbf5
    );

  border-radius: 14px;

  color: #87958c;

  font-size: 14px;

  line-height: 1.8;

  text-align: center;
}


/* =========================================================
   電話・フォーム
========================================================= */

.pl-contact-methods {
  width: min(960px, calc(100% - 32px));

  margin: 38px auto 0;

  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 18px;
}


.pl-contact-method {
  min-height: 118px;

  display: flex;

  align-items: center;

  gap: 20px;

  box-sizing: border-box;

  padding: 22px 28px;

  color: #173c2c !important;

  background: #fff;

  border: 1px solid #dfe7dc;
  border-radius: 10px;

  box-shadow:
    0 8px 28px rgba(25,55,42,.06);

  text-decoration: none !important;
}


.pl-contact-method__icon {
  width: 52px;
  height: 52px;

  flex: 0 0 52px;

  display: flex;

  align-items: center;
  justify-content: center;

  color: #fff;

  background: #087847;

  border-radius: 50%;

  font-size: 23px;
}


.pl-contact-method small {
  display: block;

  margin-bottom: 3px;

  color: #637169;

  font-size: 12px;
}


.pl-contact-method strong {
  display: block;

  color: #087847;

  font-size: 25px;

  line-height: 1.3;
}


.pl-contact-method > div > span {
  display: block;

  margin-top: 3px;

  color: #78837d;

  font-size: 11px;
}


/* =========================================================
   3つの安心
========================================================= */

.pl-contact-trust {
  width: min(960px, calc(100% - 32px));

  margin: 22px auto 0;

  display: grid;

  grid-template-columns:
    repeat(3, minmax(0, 1fr));

  overflow: hidden;

  background: #f4f7f0;

  border-radius: 10px;
}


.pl-contact-trust div {
  padding: 20px 16px;

  text-align: center;

  border-right: 1px solid #dce5d9;
}


.pl-contact-trust div:last-child {
  border-right: 0;
}


.pl-contact-trust strong {
  display: block;

  margin-bottom: 5px;

  color: #087847;

  font-size: 15px;
}


.pl-contact-trust span {
  color: #66736c;

  font-size: 11px;
}


/* =========================================================
   フォーム見出し
========================================================= */

.pl-contact-form-title {
  margin: 64px auto 30px;

  text-align: center;
}


.pl-contact-form-title h2 {
  position: relative;

  display: inline-block;

  margin: 0 !important;
  padding: 0 10px 13px !important;

  color: #173c2c !important;

  background: transparent !important;

  border: 0 !important;

  font-size: 34px !important;
  font-weight: 700 !important;
}


.pl-contact-form-title h2::before {
  content: "";

  position: absolute;

  z-index: -1;

  left: 3%;
  right: 3%;
  bottom: 7px;

  height: 11px;

  background:
    linear-gradient(
      90deg,
      rgba(181,217,79,0),
      rgba(181,217,79,.5) 15%,
      rgba(181,217,79,.45) 85%,
      rgba(181,217,79,0)
    );
}


.pl-contact-form-title h2::after {
  display: none !important;
  content: none !important;
}


.pl-contact-form-title p {
  margin: 15px 0 0 !important;

  color: #65716b;

  font-size: 14px;

  line-height: 1.8;
}


/* =========================================================
   Contact Form 7 本体
========================================================= */

.wpcf7 {
  width: min(820px, calc(100% - 32px));

  margin: 0 auto 80px;

  box-sizing: border-box;

  padding: 42px 46px 46px;

  background: #fff;

  border: 1px solid #e0e6df;
  border-radius: 12px;

  box-shadow:
    0 12px 38px rgba(25,55,42,.07);
}


.pl-contact-field {
  margin-bottom: 28px;
}


.pl-contact-label {
  display: flex;

  align-items: center;

  gap: 9px;

  margin-bottom: 9px;

  color: #263a31;

  font-size: 14px;
  font-weight: 700;
}


.pl-contact-label em,
.pl-contact-label small {
  padding: 3px 7px;

  border-radius: 4px;

  font-size: 10px;
  font-style: normal;
  font-weight: 700;
}


.pl-contact-label em {
  color: #fff;

  background: #df7561;
}


.pl-contact-label small {
  color: #68746e;

  background: #e9ece9;
}


/* 入力欄 */

.pl-contact-form input[type="text"],
.pl-contact-form input[type="tel"],
.pl-contact-form input[type="email"],
.pl-contact-form textarea {
  width: 100%;

  box-sizing: border-box;

  padding: 14px 16px;

  color: #293a32;

  background: #fbfcfa;

  border: 1px solid #d5ddd5;

  border-radius: 7px;

  font-family:
    "Noto Sans JP",
    sans-serif;

  font-size: 16px;

  outline: none;

  transition:
    border-color .2s ease,
    box-shadow .2s ease;
}


.pl-contact-form input[type="text"],
.pl-contact-form input[type="tel"],
.pl-contact-form input[type="email"] {
  height: 56px;
}


.pl-contact-form textarea {
  min-height: 180px;

  resize: vertical;
}


.pl-contact-form input:focus,
.pl-contact-form textarea:focus {
  border-color: #087847;

  box-shadow:
    0 0 0 3px rgba(8,120,71,.10);
}


/* ラジオ */

.pl-contact-field--radio .wpcf7-list-item {
  margin: 8px 24px 8px 0;
}


/* 個人情報 */

.pl-contact-privacy {
  margin: 32px 0;

  text-align: center;

  color: #53625a;

  font-size: 13px;
}


/* 送信ボタン */

.pl-contact-submit {
  text-align: center;
}


.pl-contact-submit input[type="submit"] {
  width: min(460px, 100%);
  height: 68px;

  color: #fff;

  background: #087847;

  border: 0;
  border-radius: 8px;

  box-shadow:
    0 10px 25px rgba(8,120,71,.18);

  font-family:
    "Noto Sans JP",
    sans-serif;

  font-size: 16px;
  font-weight: 700;

  letter-spacing: .05em;

  cursor: pointer;
}


/* =========================================================
   スマホ
========================================================= */

.pl-contact-sp {
  display: none;
}


@media screen and (max-width: 768px) {

  .pl-contact-hero {
    padding: 42px 16px 34px;
  }


  .pl-contact-hero__inner {
    grid-template-columns: 1fr;

    gap: 26px;
  }


  .pl-contact-sp {
    display: block;
  }


  .pl-contact-hero h1 {
    font-size: 34px !important;
  }


  .pl-contact-hero__copy p,
  .pl-contact-hero__copy strong {
    font-size: 14px;
  }


  .pl-contact-hero__visual {
    min-height: 210px;
  }


  .pl-contact-methods {
    grid-template-columns: 1fr;

    gap: 10px;

    margin-top: 20px;
  }


  .pl-contact-method {
    min-height: 95px;

    padding: 16px 18px;
  }


  .pl-contact-method strong {
    font-size: 22px;
  }


  .pl-contact-trust {
    grid-template-columns: 1fr;
  }


  .pl-contact-trust div {
    border-right: 0;
    border-bottom: 1px solid #dce5d9;
  }


  .pl-contact-trust div:last-child {
    border-bottom: 0;
  }


  .pl-contact-form-title {
    margin-top: 46px;
  }


  .pl-contact-form-title h2 {
    font-size: 27px !important;
  }


  .wpcf7 {
    width: calc(100% - 24px);

    margin-bottom: 60px;

    padding: 26px 18px 30px;
  }


  .pl-contact-field {
    margin-bottom: 22px;
  }


  .pl-contact-submit input[type="submit"] {
    height: 62px;

    font-size: 14px;
  }

}
/* =========================================================
   お問い合わせページを1カラム・全幅化
========================================================= */

/* contactフォームがある固定ページだけ */
body.page:has(.pl-contact-page) #sidebar {
  display: none !important;
}

body.page:has(.pl-contact-page) #main {
  width: 100% !important;
  max-width: none !important;
}

body.page:has(.pl-contact-page) #content,
body.page:has(.pl-contact-page) .content-in,
body.page:has(.pl-contact-page) .main,
body.page:has(.pl-contact-page) .article,
body.page:has(.pl-contact-page) .entry-content {
  width: 100% !important;
  max-width: none !important;

  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Cocoonの記事っぽい情報を消す */
body.page:has(.pl-contact-page) .entry-title,
body.page:has(.pl-contact-page) .post-date,
body.page:has(.pl-contact-page) .post-update,
body.page:has(.pl-contact-page) .author-info,
body.page:has(.pl-contact-page) .date-tags {
  display: none !important;
}

/* 上部の不要な余白 */
body.page:has(.pl-contact-page) .article,
body.page:has(.pl-contact-page) .entry-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}


/* PCでは見出しを不自然に折り返さない */
@media screen and (min-width: 835px) {

  .pl-contact-hero h1 {
    white-space: nowrap;
  }

}
/* =========================================================
   TOPページ 無料相談・お見積もり
========================================================= */

.pl-home-contact {
  width: 100vw;

  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);

  padding: 82px 24px;

  box-sizing: border-box;

  background:
    radial-gradient(
      circle at 10% 15%,
      rgba(179, 214, 85, .13),
      transparent 28%
    ),
    linear-gradient(
      135deg,
      #073e2d 0%,
      #087847 100%
    );
}


.pl-home-contact__inner {
  width: min(1180px, 100%);

  margin: 0 auto;

  display: grid;

  grid-template-columns:
    .9fr 1.1fr;

  gap: 70px;

  align-items: center;
}


/* =========================================================
   左側
========================================================= */

.pl-home-contact__info {
  color: #fff;
}


.pl-home-contact__badge {
  display: inline-block;

  margin-bottom: 22px;

  padding: 7px 18px;

  color: #173c2c;

  background: #dceba7;

  border-radius: 30px;

  font-size: 12px;
  font-weight: 700;

  letter-spacing: .06em;
}


.pl-home-contact__info h2 {
  margin: 0 0 22px !important;
  padding: 0 !important;

  color: #fff !important;

  background: transparent !important;

  border: 0 !important;

  font-size: clamp(32px, 3.2vw, 45px) !important;
  font-weight: 700 !important;

  line-height: 1.5 !important;
}


.pl-home-contact__info h2::before,
.pl-home-contact__info h2::after {
  display: none !important;
  content: none !important;
}


.pl-home-contact__lead {
  margin: 0 !important;

  color: rgba(255,255,255,.82);

  font-size: 15px;

  line-height: 2;
}


/* 電話 */

.pl-home-contact__tel {
  margin-top: 32px;

  padding: 22px 0;

  border-top: 1px solid rgba(255,255,255,.23);
  border-bottom: 1px solid rgba(255,255,255,.23);
}


.pl-home-contact__tel-label {
  display: block;

  margin-bottom: 4px;

  color: rgba(255,255,255,.72);

  font-size: 12px;
}


.pl-home-contact__tel a {
  display: inline-block;

  color: #fff !important;

  font-family: "Montserrat", sans-serif;

  font-size: 36px;
  font-weight: 700;

  line-height: 1.25;

  text-decoration: none !important;
}


.pl-home-contact__tel small {
  display: block;

  color: rgba(255,255,255,.68);

  font-size: 11px;
}


/* 安心項目 */

.pl-home-contact__trust {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 10px 16px;

  margin-top: 26px;
}


.pl-home-contact__trust span {
  color: #fff;

  font-size: 13px;
  font-weight: 600;
}


/* =========================================================
   右側フォーム
========================================================= */

.pl-home-contact__form {
  padding: 38px 40px 36px;

  box-sizing: border-box;

  background: #fff;

  border-radius: 14px;

  box-shadow:
    0 18px 50px rgba(0,0,0,.16);
}


.pl-home-contact__form-heading {
  margin-bottom: 28px;

  text-align: center;
}


.pl-home-contact__form-heading > span {
  color: #087847;

  font-size: 11px;
  font-weight: 700;

  letter-spacing: .08em;
}


.pl-home-contact__form-heading h3 {
  margin: 6px 0 7px !important;
  padding: 0 !important;

  color: #173c2c !important;

  background: transparent !important;

  border: 0 !important;

  font-size: 27px !important;
  font-weight: 700 !important;
}


.pl-home-contact__form-heading h3::before,
.pl-home-contact__form-heading h3::after {
  display: none !important;
  content: none !important;
}


.pl-home-contact__form-heading p {
  margin: 0 !important;

  color: #77817b;

  font-size: 12px;
}


/* 名前・電話はPCで横並び */

.pl-home-contact__row {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 16px;
}


.pl-home-contact__field {
  margin-bottom: 20px;
}


.pl-home-contact__field label > span {
  display: flex;

  align-items: center;

  gap: 7px;

  margin-bottom: 8px;

  color: #293a32;

  font-size: 13px;
  font-weight: 700;
}


.pl-home-contact__field em,
.pl-home-contact__field small {
  padding: 2px 6px;

  border-radius: 4px;

  font-size: 9px;
  font-style: normal;
  font-weight: 700;
}


.pl-home-contact__field em {
  color: #fff;

  background: #e0735d;
}


.pl-home-contact__field small {
  color: #69736e;

  background: #e9ece9;
}


/* 入力欄 */

.pl-home-contact input[type="text"],
.pl-home-contact input[type="tel"],
.pl-home-contact textarea {
  width: 100%;

  box-sizing: border-box;

  color: #293a32;

  background: #fbfcfa;

  border: 1px solid #d4ddd4;

  border-radius: 7px;

  font-family: "Noto Sans JP", sans-serif;

  font-size: 16px;

  outline: none;
}


.pl-home-contact input[type="text"],
.pl-home-contact input[type="tel"] {
  height: 54px;

  padding: 0 14px;
}


.pl-home-contact textarea {
  min-height: 130px;

  padding: 14px;

  resize: vertical;
}


.pl-home-contact input:focus,
.pl-home-contact textarea:focus {
  border-color: #087847;

  box-shadow:
    0 0 0 3px rgba(8,120,71,.10);
}


/* 個人情報 */

.pl-home-contact__privacy {
  margin: 5px 0 22px;

  color: #58645e;

  font-size: 12px;

  text-align: center;
}


/* 送信 */

.pl-home-contact__submit {
  text-align: center;
}


.pl-home-contact__submit input[type="submit"] {
  width: 100%;
  height: 64px;

  color: #fff;

  background:
    linear-gradient(
      90deg,
      #087847,
      #179253
    );

  border: 0;
  border-radius: 8px;

  box-shadow:
    0 10px 25px rgba(8,120,71,.20);

  font-family: "Noto Sans JP", sans-serif;

  font-size: 15px;
  font-weight: 700;

  letter-spacing: .04em;

  cursor: pointer;
}


.pl-home-contact__note {
  margin: 13px 0 0 !important;

  color: #89918d;

  font-size: 10px;

  text-align: center;
}


/* CF7メッセージ */

.pl-home-contact .wpcf7-not-valid-tip {
  margin-top: 6px;

  font-size: 11px;
}


.pl-home-contact .wpcf7-response-output {
  margin: 20px 0 0 !important;

  border-radius: 6px;

  font-size: 12px;
}


/* =========================================================
   スマホ
========================================================= */

@media screen and (max-width: 768px) {

  .pl-home-contact {
    padding: 55px 14px 62px;
  }


  .pl-home-contact__inner {
    grid-template-columns: 1fr;

    gap: 30px;
  }


  .pl-home-contact__badge {
    margin-bottom: 16px;

    font-size: 11px;
  }


  .pl-home-contact__info h2 {
    font-size: 29px !important;
  }


  .pl-home-contact__lead {
    font-size: 13px;
  }


  .pl-home-contact__tel {
    margin-top: 24px;

    padding: 18px 0;
  }


  .pl-home-contact__tel a {
    font-size: 32px;
  }


  .pl-home-contact__trust {
    gap: 9px;
  }


  .pl-home-contact__trust span {
    font-size: 11px;
  }


  .pl-home-contact__form {
    padding: 28px 18px 26px;

    border-radius: 10px;
  }


  .pl-home-contact__form-heading h3 {
    font-size: 23px !important;
  }


  /* スマホでは縦 */
  .pl-home-contact__row {
    grid-template-columns: 1fr;

    gap: 0;
  }


  .pl-home-contact__field {
    margin-bottom: 18px;
  }


  .pl-home-contact textarea {
    min-height: 115px;
  }


  .pl-home-contact__submit input[type="submit"] {
    height: 60px;

    font-size: 14px;
  }

}
/* =========================================================
   TOP 30秒かんたん相談・お見積もり
========================================================= */

.pl-estimate {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 70px 20px;
  box-sizing: border-box;

  background:
    radial-gradient(circle at 8% 20%, rgba(153, 199, 74, .12), transparent 23%),
    radial-gradient(circle at 92% 85%, rgba(153, 199, 74, .10), transparent 24%),
    #f6f8f1;
}


.pl-estimate__wrap {
  width: min(1180px, 100%);
  margin: 0 auto;
  overflow: hidden;

  background: #fff;
  border-radius: 22px;

  box-shadow:
    0 18px 55px rgba(20, 65, 45, .11);
}


/* =========================================================
   上部グリーン
========================================================= */

.pl-estimate__head {
  min-height: 255px;

  display: grid;
  grid-template-columns: 1.45fr .75fr;

  background:
    linear-gradient(
      105deg,
      #087847 0%,
      #0c7f4b 64%,
      #e8f2df 64%,
      #f7faf4 100%
    );
}


.pl-estimate__head-copy {
  padding: 36px 48px 34px;
  box-sizing: border-box;
}


.pl-estimate__free {
  display: inline-block;

  padding: 7px 16px;

  color: #fff;
  background: rgba(255,255,255,.13);

  border: 1px solid rgba(255,255,255,.27);
  border-radius: 30px;

  font-size: 13px;
  font-weight: 700;
}


.pl-estimate__free strong {
  color: #e6f26b;
}


.pl-estimate__title {
  display: flex;
  align-items: center;

  gap: 24px;

  margin-top: 20px;
}


.pl-estimate__30 {
  display: flex;
  align-items: flex-end;

  color: #fff;

  font-size: 78px;
  font-weight: 800;

  line-height: .95;

  white-space: nowrap;
}


.pl-estimate__30 small {
  margin: 0 0 7px 5px;

  font-size: 20px;
}


.pl-estimate__title h2 {
  margin: 0 !important;
  padding: 0 !important;

  color: #fff !important;
  background: transparent !important;
  border: 0 !important;

  font-size: 35px !important;
  font-weight: 700 !important;

  line-height: 1.4 !important;
}


.pl-estimate__title h2::before,
.pl-estimate__title h2::after {
  display: none !important;
  content: none !important;
}


.pl-estimate__title p {
  margin: 10px 0 0 !important;

  color: rgba(255,255,255,.86);

  font-size: 13px;
  line-height: 1.8;
}


/* =========================================================
   右上 写真部分
========================================================= */

.pl-estimate__photo {
  position: relative;
  min-height: 255px;

  background:
    linear-gradient(
      rgba(242,248,237,.18),
      rgba(242,248,237,.18)
    ),
    linear-gradient(
      135deg,
      #e3eedc,
      #f7faf4
    );
}


/* 写真を入れるまでは仮表示 */
.pl-estimate__photo::after {
  content: "住宅・施工スタッフの写真をここに入れます";

  position: absolute;

  left: 50%;
  top: 50%;

  transform: translate(-50%, -50%);

  width: 80%;

  color: #789080;

  font-size: 12px;

  text-align: center;
}


.pl-estimate__photo-text {
  position: absolute;

  z-index: 2;

  right: 24px;
  top: 25px;

  color: #17623f;

  text-align: right;
}


.pl-estimate__photo-text span,
.pl-estimate__photo-text strong {
  display: block;
}


.pl-estimate__photo-text span {
  font-size: 11px;
}


.pl-estimate__photo-text strong {
  margin-top: 2px;

  font-size: 15px;
}


/* =========================================================
   中央
========================================================= */

.pl-estimate__main {
  display: grid;

  grid-template-columns:
    minmax(0, 1.8fr)
    minmax(260px, .72fr);

  gap: 28px;

  padding: 34px 44px 30px;

  box-sizing: border-box;

  background: #fff;
}


/* =========================================================
   フォーム
========================================================= */

.pl-estimate__form {
  padding: 4px 0;
}


.pl-estimate__field {
  display: grid;

  grid-template-columns:
    150px minmax(0, 1fr);

  gap: 18px;

  align-items: center;

  padding: 14px 0;

  border-bottom: 1px solid #edf0ec;
}


.pl-estimate__field--check {
  align-items: flex-start;
}


.pl-estimate__label {
  padding-top: 4px;

  color: #165d3c;

  font-size: 14px;
  font-weight: 700;
}


.pl-estimate__label em,
.pl-estimate__label small {
  display: inline-block;

  margin-left: 7px;

  padding: 3px 7px;

  border-radius: 4px;

  font-size: 9px;
  font-style: normal;
}


.pl-estimate__label em {
  color: #fff;
  background: #ef6846;
}


.pl-estimate__label small {
  color: #646e68;
  background: #edf0ed;
}


/* INPUT */

.pl-estimate input[type="text"],
.pl-estimate input[type="tel"] {
  width: 100%;
  height: 56px;

  box-sizing: border-box;

  padding: 0 16px;

  color: #344239;

  background: #fbfcfa;

  border: 1px solid #ccd5cd;
  border-radius: 7px;

  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;

  outline: none;
}


.pl-estimate input[type="text"]:focus,
.pl-estimate input[type="tel"]:focus {
  border-color: #087847;

  box-shadow:
    0 0 0 3px rgba(8,120,71,.09);
}


/* チェック */

.pl-estimate__field--check .wpcf7-list-item {
  margin: 3px 20px 8px 0;
}


.pl-estimate__field--check label {
  display: inline-flex;

  align-items: center;

  gap: 6px;

  color: #3d4c44;

  font-size: 13px;
}


.pl-estimate__field--check input[type="checkbox"] {
  width: 20px;
  height: 20px;

  accent-color: #087847;
}


/* 個人情報 */

.pl-estimate__privacy {
  margin: 20px 0 17px;

  color: #5f6964;

  font-size: 12px;

  text-align: center;
}


.pl-estimate__privacy input {
  accent-color: #087847;
}


/* 送信 */

.pl-estimate__submit {
  max-width: 540px;

  margin: 0 auto;

  text-align: center;
}


.pl-estimate__submit input[type="submit"] {
  width: 100%;
  height: 66px;

  color: #fff;

  background:
    linear-gradient(
      90deg,
      #139953,
      #087847
    );

  border: 0;
  border-radius: 40px;

  box-shadow:
    0 10px 24px rgba(8,120,71,.20);

  font-family: "Noto Sans JP", sans-serif;

  font-size: 18px;
  font-weight: 700;

  cursor: pointer;
}


.pl-estimate__submit input[type="submit"]:hover {
  opacity: .9;
}


.pl-estimate__secure {
  margin: 10px 0 0 !important;

  color: #8a928d;

  font-size: 10px;

  text-align: center;
}


/* =========================================================
   右側安心ブロック
========================================================= */

.pl-estimate__side {
  padding: 22px 24px;

  background: #f6f9f2;

  border-radius: 14px;
}


.pl-estimate__tel {
  padding-bottom: 20px;

  border-bottom: 1px solid #dbe4d8;

  text-align: center;
}


.pl-estimate__tel > span,
.pl-estimate__tel > strong {
  display: block;
}


.pl-estimate__tel > span {
  color: #52635a;

  font-size: 11px;
}


.pl-estimate__tel > strong {
  margin-top: 2px;

  color: #087847;

  font-size: 17px;
}


.pl-estimate__tel a {
  display: block;

  margin-top: 8px;

  color: #087847 !important;

  font-size: 27px;
  font-weight: 800;

  line-height: 1.2;

  text-decoration: none !important;

  white-space: nowrap;
}


.pl-estimate__point {
  display: flex;

  gap: 12px;

  padding: 18px 0;

  border-bottom: 1px solid #dbe4d8;
}


.pl-estimate__point:last-child {
  border-bottom: 0;
}


.pl-estimate__point-icon {
  width: 38px;
  height: 38px;

  flex: 0 0 38px;

  display: flex;

  align-items: center;
  justify-content: center;

  color: #087847;

  background: #e4efd8;

  border-radius: 50%;

  font-weight: 800;
}


.pl-estimate__point strong,
.pl-estimate__point span {
  display: block;
}


.pl-estimate__point strong {
  color: #087847;

  font-size: 13px;
}


.pl-estimate__point span {
  margin-top: 4px;

  color: #68746d;

  font-size: 10px;

  line-height: 1.6;
}


/* =========================================================
   下部4項目
========================================================= */

.pl-estimate__trust {
  display: grid;

  grid-template-columns:
    repeat(4, minmax(0, 1fr));

  padding: 0 34px;

  background: #eef5e9;
}


.pl-estimate__trust > div {
  position: relative;

  padding: 22px 14px;

  text-align: center;
}


.pl-estimate__trust > div:not(:last-child)::after {
  content: "";

  position: absolute;

  right: 0;
  top: 25%;

  width: 1px;
  height: 50%;

  background: #cad9c7;
}


.pl-estimate__trust strong,
.pl-estimate__trust span {
  display: block;
}


.pl-estimate__trust strong {
  color: #087847;

  font-size: 14px;
}


.pl-estimate__trust span {
  margin-top: 3px;

  color: #69766f;

  font-size: 10px;
}


/* 詳細フォーム */

.pl-estimate__detail {
  padding: 18px 15px;

  color: #59655f;

  background: #fff;

  font-size: 12px;

  text-align: center;
}


.pl-estimate__detail a {
  margin-left: 10px;

  color: #087847 !important;

  font-weight: 700;

  text-decoration: underline;
}


/* =========================================================
   CF7の余計な外枠を消す
========================================================= */

.pl-estimate .wpcf7-response-output {
  margin: 18px 0 0 !important;

  font-size: 12px;
}


.pl-estimate .wpcf7-not-valid-tip {
  margin-top: 5px;

  font-size: 11px;
}


/* =========================================================
   スマホ
========================================================= */

@media screen and (max-width: 768px) {

  .pl-estimate {
    padding: 38px 12px;
  }


  .pl-estimate__wrap {
    border-radius: 14px;
  }


  .pl-estimate__head {
    display: block;

    min-height: 0;

    background:
      linear-gradient(
        145deg,
        #087847,
        #0d7447
      );
  }


  .pl-estimate__head-copy {
    padding: 27px 20px 25px;
  }


  .pl-estimate__free {
    font-size: 10px;
  }


  .pl-estimate__title {
    align-items: flex-start;

    gap: 12px;

    margin-top: 17px;
  }


  .pl-estimate__30 {
    font-size: 56px;
  }


  .pl-estimate__30 small {
    margin-bottom: 5px;

    font-size: 13px;
  }


  .pl-estimate__title h2 {
    font-size: 22px !important;
  }


  .pl-estimate__title p {
    font-size: 11px;

    line-height: 1.7;
  }


  /* スマホでは写真は小さく */
  .pl-estimate__photo {
    min-height: 145px;
  }


  .pl-estimate__main {
    display: block;

    padding: 22px 16px 20px;
  }


  .pl-estimate__field {
    display: block;

    padding: 12px 0;
  }


  .pl-estimate__label {
    margin-bottom: 8px;
  }


  .pl-estimate__field--check .wpcf7-list-item {
    margin-right: 10px;
  }


  .pl-estimate__submit input[type="submit"] {
    height: 60px;

    font-size: 15px;
  }


  .pl-estimate__side {
    margin-top: 24px;

    padding: 18px;
  }


  .pl-estimate__tel a {
    font-size: 25px;
  }


  .pl-estimate__trust {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));

    padding: 0;
  }


  .pl-estimate__trust > div {
    padding: 17px 8px;

    border-bottom: 1px solid #d6e0d3;
  }


  .pl-estimate__trust > div::after {
    display: none;
  }


  .pl-estimate__trust strong {
    font-size: 12px;
  }


  .pl-estimate__trust span {
    font-size: 9px;
  }


  .pl-estimate__detail {
    padding: 15px 10px;

    line-height: 1.8;
  }


  .pl-estimate__detail a {
    display: block;

    margin: 3px 0 0;
  }

}
/* =========================================================
   TOP画像一体型 30秒フォーム
========================================================= */

.pl-visual-form {
  position: relative;

  width: min(1100px, calc(100% - 30px));
  aspect-ratio: 3 / 2;

  margin: 60px auto;

  background-image:
  url("https://paintleaf-osaka.com/wp-content/uploads/2026/09/paintleaf-osaka-top-contact-form-bg.webp");

  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center;

  overflow: hidden;
}


/* =========================================================
   本物のフォームを画像の白い部分へ重ねる
========================================================= */

.pl-visual-form__live {
  position: absolute;

  left: 8%;
  top: 37%;

  width: 84%;
  height: 34%;

  box-sizing: border-box;

  padding: 16px 42px;

  background: #fff;

  border-radius: 8px;

  z-index: 5;

  display: flex;
  flex-direction: column;
  justify-content: center;
}


/* 1行 */

.pl-vf-row {
  display: grid;

  grid-template-columns:
    150px minmax(0, 1fr);

  align-items: center;

  gap: 16px;

  min-height: 60px;

  border-bottom: 1px solid #e8ece8;
}


.pl-vf-row--check {
  min-height: 55px;
}


/* ラベル */

.pl-vf-label {
  color: #086f45;

  font-size: 14px;
  font-weight: 700;

  white-space: nowrap;
}


.pl-vf-label em,
.pl-vf-label small {
  display: inline-block;

  margin-left: 7px;

  padding: 3px 7px;

  border-radius: 4px;

  font-size: 9px;
  font-style: normal;
  font-weight: 700;
}


.pl-vf-label em {
  color: #fff;
  background: #f2633d;
}


.pl-vf-label small {
  color: #606963;
  background: #eef0ee;
}


/* =========================================================
   テキスト入力欄
========================================================= */

.pl-visual-form input[type="text"],
.pl-visual-form input[type="tel"] {
  width: 100%;
  height: 46px;

  box-sizing: border-box;

  padding: 0 15px;

  color: #39463f;

  background: #fafbfa;

  border: 1px solid #cfd6d1;

  border-radius: 6px;

  font-family: "Noto Sans JP", sans-serif;

  font-size: 14px;

  outline: none;
}


.pl-visual-form input[type="text"]:focus,
.pl-visual-form input[type="tel"]:focus {
  border-color: #07834c;

  box-shadow:
    0 0 0 3px rgba(7,131,76,.08);
}


/* =========================================================
   希望内容
========================================================= */

.pl-vf-control .wpcf7-list-item {
  margin:
    3px 17px
    3px 0;
}


.pl-vf-control .wpcf7-list-item label {
  display: inline-flex;

  align-items: center;

  gap: 5px;

  color: #414d47;

  font-size: 12px;
}


.pl-vf-control input[type="checkbox"] {
  width: 18px;
  height: 18px;

  margin: 0;

  accent-color: #07834c;
}


/* =========================================================
   同意＋送信
========================================================= */

.pl-vf-bottom {
  padding-top: 12px;

  text-align: center;
}


.pl-vf-privacy {
  margin-bottom: 9px;

  color: #59635e;

  font-size: 10px;
}


.pl-vf-privacy input {
  accent-color: #07834c;
}


.pl-vf-submit {
  width: min(430px, 100%);

  margin: 0 auto;
}


.pl-vf-submit input[type="submit"] {
  width: 100%;
  height: 52px;

  padding: 0;

  color: #fff;

  background:
    linear-gradient(
      90deg,
      #ff7c31,
      #f14e28
    );

  border: 0;
  border-radius: 30px;

  box-shadow:
    0 7px 18px rgba(240,84,41,.22);

  font-family: "Noto Sans JP", sans-serif;

  font-size: 15px;
  font-weight: 700;

  cursor: pointer;
}


.pl-vf-submit input[type="submit"]:hover {
  opacity: .9;
}


/* CF7 */

.pl-visual-form .wpcf7-spinner {
  position: absolute;
}


.pl-visual-form .wpcf7-not-valid-tip {
  position: absolute;

  margin-top: 2px;

  font-size: 9px;
}


.pl-visual-form .wpcf7-response-output {
  position: absolute;

  left: 8%;
  right: 8%;
  bottom: 3%;

  z-index: 10;

  margin: 0 !important;

  padding: 8px !important;

  background: #fff;

  font-size: 10px;
}


/* =========================================================
   スマホ
========================================================= */

@media screen and (max-width: 768px) {

  .pl-visual-form {
    width: calc(100% - 20px);

    /*
      PC画像を上部デザインとして残し、
      フォーム部分は縦に展開
    */
    aspect-ratio: auto;

    min-height: 720px;

    margin: 35px auto;

    background-size: auto 360px;
    background-position: top center;

    background-color: #f4f9ed;

    border-radius: 12px;
  }


  .pl-visual-form__live {
    position: relative;

    left: auto;
    top: auto;

    width: calc(100% - 24px);
    height: auto;

    margin: 300px auto 0;

    padding: 22px 16px 24px;

    border-radius: 12px;

    box-shadow:
      0 8px 25px rgba(28,83,56,.10);
  }


  .pl-vf-row {
    display: block;

    min-height: 0;

    padding: 12px 0;
  }


  .pl-vf-label {
    margin-bottom: 7px;

    font-size: 13px;
  }


  .pl-vf-row--check {
    min-height: 0;
  }


  .pl-vf-control .wpcf7-list-item {
    margin:
      5px 10px
      5px 0;
  }


  .pl-vf-control .wpcf7-list-item label {
    font-size: 11px;
  }


  .pl-visual-form input[type="text"],
  .pl-visual-form input[type="tel"] {
    height: 48px;

    font-size: 16px;
  }


  .pl-vf-bottom {
    padding-top: 16px;
  }


  .pl-vf-submit input[type="submit"] {
    height: 56px;

    font-size: 14px;
  }

}
/* =========================================================
   TOP画像フォーム PC幅・位置 修正版
========================================================= */

/* TOPのCF7外側についている制限を全部解除 */
body.home .wpcf7:has(.pl-visual-form) {
  width: 100% !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}


/* CF7のform自体も横幅100% */
body.home .wpcf7:has(.pl-visual-form) form {
  width: 100% !important;
  max-width: none !important;

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


/* =========================================================
   背景画像本体
========================================================= */

body.home .pl-visual-form {
  position: relative !important;

  width: min(1220px, calc(100vw - 40px)) !important;
  max-width: 1220px !important;

  aspect-ratio: 3 / 2 !important;

  margin: 55px auto !important;

  background-image:
    url("https://paintleaf-osaka.com/wp-content/uploads/2026/09/paintleaf-osaka-top-contact-form-bg.webp") !important;

  background-size: 100% 100% !important;
  background-repeat: no-repeat !important;
  background-position: center !important;

  overflow: hidden !important;

  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}


/* =========================================================
   白い点線エリアに本物フォームをピッタリ配置
========================================================= */

body.home .pl-visual-form__live {
  position: absolute !important;

  left: 6.1% !important;
  top: 36.3% !important;

  width: 87.8% !important;
  height: 35.0% !important;

  margin: 0 !important;

  padding: 1.3% 3.2% 1.2% !important;

  box-sizing: border-box !important;

  background: #fff !important;

  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;

  z-index: 5 !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}


/* =========================================================
   PCフォーム内部を少しコンパクトに
========================================================= */

body.home .pl-vf-row {
  display: grid !important;

  grid-template-columns:
    135px minmax(0, 1fr) !important;

  gap: 16px !important;

  align-items: center !important;

  min-height: 51px !important;

  padding: 0 !important;

  border-bottom: 1px solid #e8ece8 !important;
}


body.home .pl-vf-row--check {
  min-height: 45px !important;
}


body.home .pl-vf-label {
  margin: 0 !important;
  padding: 0 !important;

  font-size: 13px !important;
}


body.home .pl-visual-form input[type="text"],
body.home .pl-visual-form input[type="tel"] {
  width: 100% !important;
  height: 42px !important;

  padding: 0 14px !important;

  box-sizing: border-box !important;

  font-size: 14px !important;
}


body.home .pl-vf-control .wpcf7-list-item {
  margin: 2px 14px 2px 0 !important;
}


body.home .pl-vf-control .wpcf7-list-item label {
  font-size: 11px !important;
}


body.home .pl-vf-control input[type="checkbox"] {
  width: 17px !important;
  height: 17px !important;
}


/* 同意 */
body.home .pl-vf-bottom {
  padding-top: 8px !important;
}


body.home .pl-vf-privacy {
  margin-bottom: 7px !important;

  font-size: 9px !important;
}


/* ボタン */
body.home .pl-vf-submit {
  width: 390px !important;
  max-width: 100% !important;

  margin: 0 auto !important;
}


body.home .pl-vf-submit input[type="submit"] {
  height: 48px !important;

  font-size: 14px !important;

  border-radius: 30px !important;
}


/* =========================================================
   スマホは以前の縦型を維持
========================================================= */

@media screen and (max-width: 768px) {

  body.home .pl-visual-form {
    width: calc(100% - 20px) !important;

    aspect-ratio: auto !important;

    min-height: 720px !important;

    margin: 30px auto !important;

    background-size: auto 360px !important;
    background-position: top center !important;

    background-color: #f4f9ed !important;

    border-radius: 12px !important;
  }


  body.home .pl-visual-form__live {
    position: relative !important;

    left: auto !important;
    top: auto !important;

    width: calc(100% - 24px) !important;
    height: auto !important;

    margin: 300px auto 0 !important;

    padding: 22px 16px 24px !important;

    background: #fff !important;

    border-radius: 12px !important;

    box-shadow:
      0 8px 25px rgba(28,83,56,.10) !important;
  }


  body.home .pl-vf-row {
    display: block !important;

    min-height: 0 !important;

    padding: 11px 0 !important;
  }


  body.home .pl-vf-label {
    margin-bottom: 7px !important;
  }


  body.home .pl-visual-form input[type="text"],
  body.home .pl-visual-form input[type="tel"] {
    height: 48px !important;

    font-size: 16px !important;
  }


  body.home .pl-vf-submit {
    width: 100% !important;
  }


  body.home .pl-vf-submit input[type="submit"] {
    height: 55px !important;
  }

}
/* =========================================================
   メール相談フォーム 間隔調整
========================================================= */

.pl-contact-form .pl-contact-field {
  margin: 0 0 22px !important;
}

.pl-contact-form .pl-contact-field label {
  display: block !important;

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

.pl-contact-form .pl-contact-label {
  margin: 0 0 8px !important;

  line-height: 1.5 !important;
}

.pl-contact-form .wpcf7-form-control-wrap {
  display: block !important;

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

.pl-contact-form input[type="text"],
.pl-contact-form input[type="email"],
.pl-contact-form input[type="tel"] {
  height: 54px !important;

  margin: 0 !important;
}

.pl-contact-form textarea {
  min-height: 150px !important;

  margin: 0 !important;
}

/* CF7が作る余計な改行対策 */
.pl-contact-form br {
  display: none !important;
}


/* スマホ */
@media screen and (max-width: 768px) {

  .pl-contact-form .pl-contact-field {
    margin-bottom: 18px !important;
  }

  .pl-contact-form input[type="text"],
  .pl-contact-form input[type="email"],
  .pl-contact-form input[type="tel"] {
    height: 50px !important;
  }

  .pl-contact-form textarea {
    min-height: 135px !important;
  }

}
.pl-contact-help {
  margin: 10px 0 0 !important;
  color: #68746d;
  font-size: 11px;
  line-height: 1.7;
}

.pl-contact-field--radio .wpcf7-list-item {
  margin: 8px 24px 8px 0;
}

.pl-contact-field--radio label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.pl-contact-field--radio input[type="radio"] {
  accent-color: #087847;
}

@media screen and (max-width: 768px) {
  .pl-contact-field--radio .wpcf7-list-item {
    display: block;
    margin: 10px 0;
  }
}
/* お問い合わせページ右側画像 */
.pl-contact-hero__visual {
  min-height: 320px;

  background-image:
    url("https://paintleaf-osaka.com/wp-content/uploads/2026/09/paintleaf-osaka-contact-side-compare.webp");

  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;

  border-radius: 14px;
}

/* 仮の文字を消す */
.pl-contact-hero__visual > span {
  display: none !important;
}

@media screen and (max-width: 768px) {

  .pl-contact-hero__visual {
    min-height: 230px;
    background-position: center;
  }

}
/* =========================================================
   お問い合わせページ右画像を枠いっぱいに表示
========================================================= */

.pl-contact-hero__visual {
  width: 100% !important;
  height: 100% !important;
  min-height: 360px !important;

  padding: 0 !important;
  margin: 0 !important;

  background-image:
    url("https://paintleaf-osaka.com/wp-content/uploads/2026/09/paintleaf-osaka-contact-side-compare.webp") !important;

  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;

  border-radius: 14px !important;
  overflow: hidden !important;
}

/* 仮文字を完全に消す */
.pl-contact-hero__visual > span {
  display: none !important;
}


/* PCでは左右の高さも合わせる */
.pl-contact-hero__inner {
  align-items: stretch !important;
}


/* スマホ */
@media screen and (max-width: 768px) {

  .pl-contact-hero__visual {
    min-height: 260px !important;

    background-size: cover !important;
    background-position: center center !important;
  }

}
/* =========================================================
   お問い合わせ上部
   右画像の上下の隙間をなくす
========================================================= */

@media screen and (min-width: 769px) {

  .pl-contact-hero {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* 左側の文字だけ今までの上下余白を残す */
  .pl-contact-hero__copy {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }

  .pl-contact-hero__inner {
    align-items: stretch !important;
  }

  .pl-contact-hero__visual {
    min-height: 100% !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;

    border-radius: 0 !important;

    background-image:
      url("https://paintleaf-osaka.com/wp-content/uploads/2026/09/paintleaf-osaka-contact-side-compare.webp") !important;

    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
  }

  .pl-contact-hero__visual > span {
    display: none !important;
  }

}
/* =========================================================
   お問い合わせ上部を画像1枚で全面表示
========================================================= */

.pl-contact-hero--image {
  width: 100vw !important;

  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  padding: 0 !important;

  background: none !important;
}

.pl-contact-hero--image img {
  display: block !important;

  width: 100% !important;
  height: auto !important;

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


/* PCで大きくなりすぎないように */
@media screen and (min-width: 1200px) {

  .pl-contact-hero--image img {
    width: min(1440px, 100%) !important;

    margin: 0 auto !important;
  }

}
/* =========================================================
   TOPページ セクション背景の整理
========================================================= */

/* 淡いグリーン背景 */
.pl-reasons,
.pl-price-home,
.pl-area-home,
.pl-faq-home {
  background: #f3f7ee !important;
}


/* 白背景 */
.pl-works-demo,
.pl-voice-home,
.pl-flow-home {
  background: #ffffff !important;
}


/* =========================================================
   相見積もり・見積内容比較だけ別カラー
========================================================= */

.pl-compare-home {
  background:
    linear-gradient(
      135deg,
      #f7efe4 0%,
      #f3e5d3 100%
    ) !important;
}


/* 見出し */



/* 「中身」だけ強調 */



/* 相見積もり歓迎バッジ */



/* 01〜04 */
.pl-compare-point span {
  color: #c45d35 !important;
}


/* 各見出し */
.pl-compare-point strong {
  color: #4b382c !important;
}


/* 下のメッセージ */
.pl-compare-home__message strong {
  color: #c45d35 !important;
}
/* =========================================================
   見積もり比較セクション 文字色を強制修正
========================================================= */



/* 「中身」だけオレンジ */


/* 見出し下の説明文 */


/* 01〜04の説明文も見やすく */
.pl-compare-home .pl-compare-point p {
  color: #5f5148 !important;
}
/* ========================================
   TOP 30秒フォーム PC微調整
======================================== */

/* 名前・電話番号など各入力行の間隔 */
.pl-visual-form .pl-vf-row {
  margin-bottom: 20px !important;
}

/* 名前と電話番号の間は少し広め */
.pl-visual-form .pl-vf-row:not(.pl-vf-row--check) + .pl-vf-row {
  margin-top: 8px !important;
}

/* CF7 未入力エラー文字を確実に表示 */
.pl-visual-form .wpcf7-not-valid-tip {
  display: block !important;
  color: #c62828 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  margin-top: 6px !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: none !important;
}

/* エラーになった入力欄 */
.pl-visual-form input.wpcf7-not-valid {
  border: 2px solid #c62828 !important;
  background: #fff8f8 !important;
}

/* 個人情報チェック削除後の送信エリア */
.pl-visual-form .pl-vf-bottom {
  display: block !important;
  margin-top: 8px !important;
}

/* 送信ボタン部分 */
.pl-visual-form .pl-vf-submit {
  width: 100% !important;
  margin: 0 auto !important;
}
/* ========================================
   TOP 30秒フォーム PC
   フォーム内容全体を少し下へ
======================================== */
@media screen and (min-width: 768px) {

  /* ご希望内容・名前・電話・送信ボタンをまとめて下げる */
 

  /* 名前と電話番号の間隔 */
  .pl-visual-form .pl-vf-row:nth-of-type(2) {
    margin-bottom: 26px !important;
  }

  /* エラー表示 */
  .pl-visual-form .wpcf7-not-valid-tip {
    color: #d62828 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    margin-top: 5px !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
}
/* TOP簡易フォーム PC 縦位置の再調整 */
@media screen and (min-width: 768px) {

  /* ご希望内容 */
  .pl-visual-form .pl-vf-row--check {
    transform: translateY(22px) !important;
  }

  /* お名前 */
  .pl-visual-form .pl-vf-row:nth-of-type(2) {
    transform: translateY(18px) !important;
  }

  /* 電話番号 */
  .pl-visual-form .pl-vf-row:nth-of-type(3) {
    transform: translateY(14px) !important;
  }

  /* 送信ボタンは下げない */
  .pl-visual-form .pl-vf-bottom {
    transform: none !important;
  }
}
/* ========================================
   TOP簡易フォーム
   画像内「お問い合わせフォームはこちら」透明リンク
======================================== */

.pl-visual-form {
  position: relative !important;
}

.pl-visual-form__contact-link {
  position: absolute !important;

  /* 画像内「お問い合わせフォームはこちら →」の位置 */
  left: 44% !important;
  bottom: 4.5% !important;

  width: 36% !important;
  height: 6% !important;

  display: block !important;
  z-index: 20 !important;

  background: transparent !important;
  text-decoration: none !important;
}
/* =========================================================
   TOP 30秒フォーム
   スマホ最終調整
   PCには影響させない
========================================================= */

@media screen and (max-width: 767px) {

  /* =========================================
     フォーム全体
  ========================================= */

  body.home .pl-visual-form {
    position: relative !important;

    width: calc(100% - 20px) !important;
    max-width: 430px !important;

    min-height: 0 !important;
    aspect-ratio: auto !important;

    margin: 28px auto 34px !important;

    /* PC画像は背景として使わない */
    background-image: none !important;
    background-color: #f3f7ee !important;

    /*
      上部にPC画像の「見出し部分だけ」を
      表示するためのスペース
    */
    padding:
      calc(22% + 12px)
      10px
      16px !important;

    box-sizing: border-box !important;

    border-radius: 14px !important;

    overflow: hidden !important;
  }


  /* =========================================
     元画像の上部だけ使用
     30秒・見出し・住宅・職人
  ========================================= */

  body.home .pl-visual-form::before {
    content: "" !important;

    position: absolute !important;

    top: 0 !important;
    left: 0 !important;

    width: 100% !important;

    aspect-ratio: 1000 / 220 !important;

    background-image:
      url("https://paintleaf-osaka.com/wp-content/uploads/2026/09/paintleaf-osaka-top-contact-form-bg.webp") !important;

    background-size: 100% auto !important;
    background-repeat: no-repeat !important;
    background-position: top center !important;

    z-index: 1 !important;
  }


  /* =========================================
     本物のCF7フォーム
  ========================================= */

  body.home .pl-visual-form__live {
    position: relative !important;

    left: auto !important;
    top: auto !important;

    width: 100% !important;
    height: auto !important;

    margin: 0 !important;

    padding: 20px 14px 16px !important;

    box-sizing: border-box !important;

    background: #fff !important;

    border: 1px solid #dce7d9 !important;
    border-radius: 12px !important;

    box-shadow:
      0 6px 18px rgba(28,83,56,.08) !important;

    display: block !important;

    transform: none !important;

    z-index: 5 !important;
  }


  /* =========================================
     各項目
  ========================================= */

  body.home .pl-visual-form .pl-vf-row {
    display: block !important;

    min-height: 0 !important;

    margin: 0 0 18px !important;

    padding: 0 0 18px !important;

    transform: none !important;

    border-bottom: 1px solid #e8ece8 !important;
  }


  body.home .pl-visual-form
  .pl-vf-row:not(.pl-vf-row--check)
  + .pl-vf-row {
    margin-top: 0 !important;
  }


  /* 希望内容 */
  body.home .pl-visual-form .pl-vf-row--check {
    margin: 0 0 18px !important;
    padding: 0 0 18px !important;

    transform: none !important;
  }


  /* ラベル */
  body.home .pl-visual-form .pl-vf-label {
    display: block !important;

    margin: 0 0 10px !important;
    padding: 0 !important;

    color: #087847 !important;

    font-size: 14px !important;
    font-weight: 700 !important;

    line-height: 1.5 !important;

    white-space: normal !important;

    transform: none !important;
  }


  /* =========================================
     チェックボックス
  ========================================= */

  body.home
  .pl-visual-form
  .pl-vf-control
  .wpcf7-checkbox {
    display: grid !important;

    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;

    gap: 12px 8px !important;
  }


  body.home
  .pl-visual-form
  .pl-vf-control
  .wpcf7-list-item {
    margin: 0 !important;
  }


  body.home
  .pl-visual-form
  .pl-vf-control
  .wpcf7-list-item label {
    display: flex !important;

    align-items: center !important;

    gap: 7px !important;

    font-size: 13px !important;
    line-height: 1.4 !important;
  }


  body.home
  .pl-visual-form
  .pl-vf-control
  input[type="checkbox"] {
    width: 21px !important;
    height: 21px !important;

    flex: 0 0 21px !important;
  }


  /* =========================================
     名前・電話番号
  ========================================= */

  body.home .pl-visual-form input[type="text"],
  body.home .pl-visual-form input[type="tel"] {
    width: 100% !important;
    height: 52px !important;

    margin: 0 !important;

    padding: 0 14px !important;

    box-sizing: border-box !important;

    border: 1px solid #ccd6cf !important;
    border-radius: 8px !important;

    background: #fff !important;

    font-size: 16px !important;

    transform: none !important;
  }


  /* =========================================
     エラー「入力してください」
  ========================================= */

  body.home
  .pl-visual-form
  .wpcf7-not-valid-tip {
    position: static !important;

    display: block !important;

    margin: 6px 0 0 !important;

    color: #c62828 !important;

    font-size: 12px !important;
    font-weight: 700 !important;

    line-height: 1.5 !important;
  }


  /* =========================================
     送信ボタン
  ========================================= */

  body.home .pl-visual-form .pl-vf-bottom {
    margin: 2px 0 0 !important;
    padding: 0 !important;

    transform: none !important;
  }


  body.home .pl-visual-form .pl-vf-submit {
    width: 100% !important;

    margin: 0 !important;
  }


  body.home
  .pl-visual-form
  .pl-vf-submit
  input[type="submit"] {
    width: 100% !important;
    height: 56px !important;

    margin: 0 !important;

    font-size: 15px !important;

    border-radius: 30px !important;
  }


  /* =========================================
     CF7 メッセージ
  ========================================= */

  body.home
  .pl-visual-form
  .wpcf7-response-output {
    position: static !important;

    margin: 12px 0 0 !important;

    padding: 9px !important;

    font-size: 12px !important;
  }


  body.home
  .pl-visual-form
  .wpcf7-spinner {
    position: static !important;

    display: block !important;

    margin: 8px auto 0 !important;
  }


  /* =========================================
     スマホ用 安心項目
  ========================================= */

  body.home .pl-visual-form__live::after {
    content:
      "相談無料　｜　現地調査無料\A 相見積もり歓迎　｜　しつこい営業なし";

    white-space: pre-line;

    display: block;

    margin-top: 15px;

    padding: 11px 6px;

    color: #087847;

    background: #f1f7ec;

    border-radius: 9px;

    font-size: 11px;
    font-weight: 700;

    line-height: 1.8;

    text-align: center;
  }


 /* =========================================
   メール・詳しいお問い合わせへの導線
========================================= */

body.home
.pl-visual-form
.pl-visual-form__contact-link {
  position: relative !important;

  left: auto !important;
  bottom: auto !important;

  width: 100% !important;
  height: auto !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;

  box-sizing: border-box !important;

  margin: 12px 0 0 !important;

  padding: 13px 10px 14px !important;

  color: #087847 !important;
  background: #fff !important;

  border: 1px solid #d6e3d4 !important;
  border-radius: 10px !important;

  font-size: 0 !important;
  text-decoration: none !important;

  z-index: 10 !important;
}


/* 上の説明 */
body.home
.pl-visual-form
.pl-visual-form__contact-link::before {
  content: "電話が苦手な方・メールで相談したい方へ";

  display: block;

  margin-bottom: 5px;

  color: #68746d !important;

  font-size: 11px !important;
  font-weight: 500 !important;

  line-height: 1.5 !important;
}


/* メイン文字 */
body.home
.pl-visual-form
.pl-visual-form__contact-link::after {
  content: "詳しいお問い合わせフォームへ →";

  display: block;

  color: #087847 !important;

  font-size: 14px !important;
  font-weight: 700 !important;

  line-height: 1.5 !important;
}

}
/* =========================================================
   TOPページ 文字の読みやすさ改善
   PC・スマホ共通
   ※フォーム・ヘッダー・レイアウトは変更しない
========================================================= */

/* 基本の本文色 */
.home .entry-content {
  color: #3f4d46 !important;
}


/* =========================================================
   セクション見出し下の説明文
========================================================= */




/* =========================================================
   選ばれる理由
========================================================= */

.home .pl-reason-card p {
  color: #46544d !important;

  font-size: 15px !important;
  line-height: 1.8 !important;
}

.home .pl-reason-card h3 {
  color: #173c2c !important;
}


/* =========================================================
   施工事例
========================================================= */

.home .pl-work-card__type {
  color: #56645d !important;

  font-size: 13px !important;
}

.home .pl-work-card__body h3 {
  color: #263a31 !important;

  font-size: 18px !important;
}

.home .pl-work-card__price span,
.home .pl-work-card__price b {
  color: #46544d !important;

  font-size: 13px !important;
}

.home .pl-work-card__note {
  color: #69766f !important;

  font-size: 11px !important;
}


/* =========================================================
   料金・費用
========================================================= */

.home .pl-price-card__label {
  color: #55635c !important;

  font-size: 13px !important;
}

.home .pl-price-card__tax {
  color: #65716b !important;

  font-size: 12px !important;
  line-height: 1.7 !important;
}

.home .pl-price-home__notice {
  color: #59665f !important;

  font-size: 13px !important;
  line-height: 1.8 !important;
}


/* =========================================================
   見積もり比較
========================================================= */



.home .pl-compare-point p {
  color: #55483f !important;

  font-size: 14px !important;
  line-height: 1.8 !important;
}

.home .pl-compare-home__message p {
  color: #55483f !important;

  font-size: 14px !important;
  line-height: 1.8 !important;
}


/* =========================================================
   お客様の声
========================================================= */

.home .pl-voice-card p {
  color: #46544d !important;

  font-size: 15px !important;
  line-height: 1.9 !important;
}

.home .pl-voice-card__area {
  font-size: 12px !important;
}


/* =========================================================
   八尾市・東大阪市
========================================================= */

.home .pl-area-home__item p {
  color: #46544d !important;

  font-size: 15px !important;
  line-height: 1.9 !important;
}

.home .pl-area-home__small {
  font-size: 13px !important;
}

.home .pl-area-home__arrow {
  font-size: 14px !important;
}


/* =========================================================
   塗装工事の流れ
========================================================= */

.home .pl-flow-step p {
  color: #46544d !important;

  font-size: 14px !important;
  line-height: 1.8 !important;
}

.home .pl-flow-step__number {
  color: #77975f !important;

  font-size: 13px !important;
}


/* =========================================================
   FAQ
========================================================= */

.home .pl-faq-item summary {
  color: #263a31 !important;

  font-size: 16px !important;
  line-height: 1.7 !important;
}

.home .pl-faq-item__answer p {
  color: #46544d !important;

  font-size: 15px !important;
  line-height: 1.9 !important;
}


/* =========================================================
   共通CTAボタン文字
========================================================= */

.home .pl-reasons__link a > span,
.home .pl-works-demo__more a > span:first-child,
.home .pl-price-home__more a > span,
.home .pl-voice-home__more a > span,
.home .pl-flow-home__more a > span,
.home .pl-faq-home__more a > span,
.home .pl-compare-home__more a > span {
  font-size: 15px !important;
  font-weight: 700 !important;
}


/* =========================================================
   スマホ
========================================================= */

@media screen and (max-width: 768px) {

  /* 見出し下 */
  


  /* 選ばれる理由 */
  .home .pl-reason-card p {
    font-size: 13px !important;
    line-height: 1.7 !important;
  }

  .home .pl-reason-card h3 {
    font-size: 17px !important;
  }


  /* 施工事例 */
  .home .pl-work-card__type {
    font-size: 11px !important;
  }

  .home .pl-work-card__body h3 {
    font-size: 14px !important;
    line-height: 1.55 !important;
  }

  .home .pl-work-card__price span,
  .home .pl-work-card__price b {
    font-size: 11px !important;
  }


  /* 料金 */
  .home .pl-price-card__label {
    font-size: 12px !important;
  }

  .home .pl-price-card__tax {
    font-size: 11px !important;
  }

  .home .pl-price-home__notice {
    font-size: 12px !important;
  }


  /* 見積もり比較 */
  

  .home .pl-compare-point p {
    font-size: 12px !important;
    line-height: 1.75 !important;
  }

  .home .pl-compare-home__message p {
    font-size: 13px !important;
  }


  /* お客様の声 */
  .home .pl-voice-card p {
    font-size: 13px !important;
    line-height: 1.75 !important;
  }

  .home .pl-voice-card__area {
    font-size: 10px !important;
  }


  /* 地域 */
  .home .pl-area-home__item p {
    font-size: 14px !important;
    line-height: 1.85 !important;
  }

  .home .pl-area-home__small {
    font-size: 12px !important;
  }

  .home .pl-area-home__arrow {
    font-size: 13px !important;
  }


  /* 流れ */
  .home .pl-flow-step p {
    font-size: 13px !important;
    line-height: 1.8 !important;
  }


  /* FAQ */
  .home .pl-faq-item summary {
    font-size: 15px !important;
  }

  .home .pl-faq-item__answer p {
    font-size: 14px !important;
    line-height: 1.85 !important;
  }


  /* CTA */
  .home .pl-reasons__link a > span,
  .home .pl-works-demo__more a > span:first-child,
  .home .pl-price-home__more a > span,
  .home .pl-voice-home__more a > span,
  .home .pl-flow-home__more a > span,
  .home .pl-faq-home__more a > span,
  .home .pl-compare-home__more a > span {
    font-size: 14px !important;
  }

}
/* ========================================
   TOP簡易フォーム
   スマホは上部画像を画面いっぱいに表示
======================================== */
@media screen and (max-width: 767px) {

  /* フォーム全体を画面幅まで広げる */
  body.home .pl-visual-form {
    width: 100vw !important;
    max-width: none !important;

    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    padding-top: 42% !important;

    border-radius: 0 !important;
  }

  /* 上部画像 */
  body.home .pl-visual-form::before {
    width: 100vw !important;
    height: 42vw !important;

    aspect-ratio: auto !important;

    background-size: 100% auto !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;
  }

  /* 本物のフォームは左右に少し余白を残す */
  body.home .pl-visual-form__live {
    width: calc(100% - 24px) !important;

    margin-left: auto !important;
    margin-right: auto !important;
  }

}
/* ========================================
   TOP簡易フォーム スマホ
   上部画像をグリーン部分だけにする
======================================== */
@media screen and (max-width: 767px) {

  body.home .pl-visual-form {
    /* 42% → 上部デザイン部分だけ */
    padding-top: 24vw !important;
  }

  body.home .pl-visual-form::before {
    width: 100vw !important;
    height: 24vw !important;

    aspect-ratio: auto !important;

    background-size: 100vw auto !important;
    background-position: top center !important;
    background-repeat: no-repeat !important;
  }

  /* 本物のフォームを画像直下へ */
  body.home .pl-visual-form__live {
    margin-top: 0 !important;
  }

}
/* ========================================
   TOP簡易フォーム
   スマホ専用ヘッダー画像
======================================== */
@media screen and (max-width: 767px) {

  body.home .pl-visual-form {
    width: 100vw !important;
    max-width: none !important;

    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    /* 3:1画像の高さ */
    padding-top: 33.333vw !important;

    background-image: none !important;
    background-color: #f3f7ee !important;

    border-radius: 0 !important;
  }

  /* スマホ専用画像 */
  body.home .pl-visual-form::before {
    content: "" !important;

    position: absolute !important;

    top: 0 !important;
    left: 0 !important;

    width: 100vw !important;
    height: 33.333vw !important;

    background-image:
      url("https://paintleaf-osaka.com/wp-content/uploads/2026/09/paintleaf-osaka-top-contact-mobile.webp") !important;

    background-size: 100% 100% !important;
    background-position: center !important;
    background-repeat: no-repeat !important;

    z-index: 1 !important;
  }

  /* 本物のフォームは画像のすぐ下 */
  body.home .pl-visual-form__live {
    width: calc(100% - 24px) !important;

    margin: 0 auto !important;
  }

}
/* ========================================
   スマホヘッダーをスクロール追従
======================================== */
@media screen and (max-width: 834px) {

  .pl-mobile-header {
    position: fixed !important;

    top: 0 !important;
    left: 0 !important;
    right: 0 !important;

    width: 100% !important;

    z-index: 9998 !important;
  }

  /* 固定ヘッダー分だけページ上部を空ける */
  body {
    padding-top: 94px !important;
  }

}

/* WordPressログイン中の管理バー対策 */
@media screen and (max-width: 782px) {

  body.admin-bar .pl-mobile-header {
    top: 46px !important;
  }

}
/* ========================================
   CONTACTページ
   3つの安心を消して、右の説明を大きくする
======================================== */

/* 左の3項目は非表示 */
.pl-contact-trust {
  display: none !important;
}

/* 見出し部分を広く・大きく */
.pl-contact-form-title {
  width: min(960px, calc(100% - 32px)) !important;
  margin: 28px auto 34px !important;
  text-align: left !important;
}

/* 見出し */
.pl-contact-form-title h2 {
  display: block !important;
  margin: 0 0 16px !important;
  padding: 0 0 14px !important;

  font-size: 48px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

/* 下のライン位置を左寄せ */
.pl-contact-form-title h2::before {
  left: 0 !important;
  right: 52% !important;
  bottom: 8px !important;
}

/* 説明文 */
.pl-contact-form-title p {
  max-width: 680px !important;
  margin: 0 !important;

  font-size: 18px !important;
  line-height: 2 !important;
  color: #4b5a53 !important;
}


/* スマホ */
@media screen and (max-width: 768px) {

  .pl-contact-form-title {
    width: calc(100% - 24px) !important;
    margin: 24px auto 26px !important;
    text-align: left !important;
  }

  .pl-contact-form-title h2 {
    font-size: 32px !important;
    line-height: 1.45 !important;
    padding-bottom: 12px !important;
  }

  .pl-contact-form-title h2::before {
    right: 25% !important;
    bottom: 6px !important;
  }

  .pl-contact-form-title p {
    font-size: 15px !important;
    line-height: 1.9 !important;
  }

}
/* ========================================
   CONTACT 見出しを中央揃えに戻す
======================================== */

.pl-contact-form-title {
  text-align: center !important;
}

/* 見出し */
.pl-contact-form-title h2 {
  display: inline-block !important;
  text-align: center !important;
}

/* 刷毛ラインも見出し幅に合わせる */
.pl-contact-form-title h2::before {
  left: 3% !important;
  right: 3% !important;
}

/* 説明文 */
.pl-contact-form-title p {
  max-width: 760px !important;

  margin-left: auto !important;
  margin-right: auto !important;

  text-align: center !important;
}


/* スマホも中央 */
@media screen and (max-width: 768px) {

  .pl-contact-form-title {
    text-align: center !important;
  }

  .pl-contact-form-title p {
    text-align: center !important;
  }

}
/* ========================================
   CONTACT 見出し位置 最終修正 PC
======================================== */

@media screen and (min-width: 769px) {

  .pl-contact-form-title {
    /* 旧2カラムをまたいで中央へ */
    grid-column: 1 / -1 !important;

    width: min(960px, calc(100% - 32px)) !important;
    max-width: 960px !important;

    margin: 28px auto 36px !important;

    justify-self: center !important;
    flex: 0 0 100% !important;

    text-align: center !important;
  }

  .pl-contact-form-title h2 {
    display: inline-block !important;

    margin: 0 0 16px !important;

    font-size: 44px !important;
    line-height: 1.35 !important;

    white-space: nowrap !important;

    text-align: center !important;
  }

  .pl-contact-form-title p {
    max-width: 760px !important;

    margin: 0 auto !important;

    font-size: 17px !important;
    line-height: 2 !important;

    text-align: center !important;
  }

}
/* ========================================
   CONTACTページ 送信ボタン中央揃え
======================================== */

.pl-contact-form .pl-contact-submit {
  position: relative !important;

  display: flex !important;
  justify-content: center !important;
  align-items: center !important;

  width: 100% !important;

  margin: 28px 0 0 !important;

  text-align: center !important;
}

.pl-contact-form .pl-contact-submit input[type="submit"] {
  display: block !important;

  width: min(460px, 100%) !important;

  margin: 0 auto !important;
}

/* CF7の送信中スピナーでボタンが左へずれないようにする */
.pl-contact-form .pl-contact-submit .wpcf7-spinner {
  position: absolute !important;

  right: 10px !important;
  top: 50% !important;

  margin: 0 !important;

  transform: translateY(-50%) !important;
}
/* ========================================
   お問い合わせ送信完了ページ
======================================== */

.pl-thanks {
  width: 100%;
  padding: 80px 20px 100px;
  box-sizing: border-box;
  background: #f3f7ee;
}

.pl-thanks__inner {
  width: min(760px, 100%);
  margin: 0 auto;
  text-align: center;
}

.pl-thanks__icon {
  width: 72px;
  height: 72px;

  display: flex;
  align-items: center;
  justify-content: center;

  margin: 0 auto 24px;

  color: #fff;
  background: #087847;

  border-radius: 50%;

  font-size: 34px;
  font-weight: 700;
}

.pl-thanks h1 {
  margin: 0 0 24px !important;
  padding: 0 !important;

  color: #173c2c !important;
  background: none !important;
  border: 0 !important;

  font-size: 38px !important;
  line-height: 1.5 !important;
}

.pl-thanks h1::before,
.pl-thanks h1::after {
  display: none !important;
}

.pl-thanks__lead {
  margin: 0 0 32px !important;

  color: #46544d;
  font-size: 17px;
  line-height: 2;
}

.pl-thanks__box {
  margin: 0 auto 28px;
  padding: 26px 30px;

  background: #fff;

  border: 1px solid #dbe5d8;
  border-radius: 12px;

  text-align: left;
}

.pl-thanks__box strong {
  display: block;

  margin-bottom: 14px;

  color: #087847;
  font-size: 18px;

  text-align: center;
}

.pl-thanks__box p {
  margin: 10px 0 !important;

  color: #46544d;
  font-size: 15px;
  line-height: 1.8;
}

.pl-thanks__note {
  color: #59665f;
  font-size: 14px;
}

.pl-thanks__tel {
  width: min(430px, 100%);
  min-height: 76px;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  margin: 22px auto 14px;

  color: #fff !important;
  background: #087847;

  border-radius: 10px;

  text-decoration: none !important;
}

.pl-thanks__tel small {
  font-size: 12px;
}

.pl-thanks__tel strong {
  font-size: 26px;
  line-height: 1.35;
}

.pl-thanks__home {
  display: inline-block;

  margin-top: 14px;

  color: #087847 !important;
  font-size: 14px;
  font-weight: 700;

  text-decoration: underline;
}

.pl-thanks__sp {
  display: none;
}

@media screen and (max-width: 768px) {

  .pl-thanks {
    padding: 55px 16px 75px;
  }

  .pl-thanks h1 {
    font-size: 28px !important;
  }

  .pl-thanks__lead {
    font-size: 15px;
  }

  .pl-thanks__box {
    padding: 22px 18px;
  }

  .pl-thanks__box p {
    font-size: 14px;
  }

  .pl-thanks__sp {
    display: block;
  }

}
/* ========================================
   選ばれる理由 本番写真 最終調整
======================================== */

/* 4枚とも画像枠を横長に統一 */
.pl-reason-card__image {
  aspect-ratio: 3 / 2 !important;
  background: #fff !important;
}

/* 01 会社写真 */
.pl-reason-card__image--company img {
  width: 100% !important;
  height: 100% !important;

  object-fit: cover !important;
  object-position: center 58% !important;
}

/* 02 一級塗装技能士
   バナー全体を切らずに表示 */
.pl-reason-card__image--skill img {
  width: 100% !important;
  height: 100% !important;

  object-fit: contain !important;
  object-position: center !important;
}

/* 03 自社施工
   下の文字まで全部見せる */
.pl-reason-card__image--team img {
  width: 100% !important;
  height: 100% !important;

  object-fit: contain !important;
  object-position: center !important;
}

/* 04 長期保証
   バナー全体を切らずに表示 */
.pl-reason-card__image--warranty img {
  width: 100% !important;
  height: 100% !important;

  object-fit: contain !important;
  object-position: center !important;
}
/* ========================================
   選ばれる理由 03・04 画像調整
======================================== */

/* 03 自社施工：白い余白をなくして枠いっぱい */
.pl-reason-card__image--team img {
  width: 100% !important;
  height: 100% !important;

  object-fit: cover !important;
  object-position: center center !important;
}


/* 04 長期保証：枠いっぱいにする */
.pl-reason-card__image--warranty img {
  width: 100% !important;
  height: 100% !important;

  object-fit: cover !important;
  object-position: center center !important;
}
/* ========================================
   TOP施工事例 本番4件表示
======================================== */

/* PC：4列 */
.pl-works-demo__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
}

/* 実写真 */
.pl-work-card__visual img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;

  object-fit: cover !important;
  object-position: center center !important;
}

/* 4列になった分、価格を少し調整 */
.pl-work-card__price strong {
  font-size: 32px !important;
}

.pl-work-card__body {
  padding-left: 18px !important;
  padding-right: 18px !important;
}

/* スマホは2列 */
@media screen and (max-width: 768px) {

  .pl-works-demo__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  .pl-work-card__body {
    padding: 13px 11px 15px !important;
  }

  .pl-work-card__price strong {
    font-size: 25px !important;
  }
}
/* TOP施工事例 使用塗料を読みやすく */
.pl-work-card__note {
  font-size: 12px !important;
  line-height: 1.6 !important;
  color: #4f5c55 !important;
  font-weight: 500 !important;
}
/* =========================================================
   TOP 誘導ボタン 最終統一
   ※ メインビジュアル・問い合わせ・送信ボタンは対象外
   ※ URL指定ではなく、各セクション固有クラスだけを指定
========================================================= */

body.home .pl-reasons__link a,
body.home .pl-works-demo__more a,
body.home .pl-price-home__more a,
body.home .pl-voice-home__more a,
body.home .pl-flow-home__more a,
body.home .pl-faq-home__more a,
body.home .pl-compare-home__more a {
  width: 390px !important;
  max-width: 100% !important;
  min-height: 62px !important;
  height: auto !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: space-between !important;

  box-sizing: border-box !important;
  margin: 0 auto !important;
  padding: 0 22px 0 24px !important;

  color: #164a36 !important;
  background: #f4f8f1 !important;

  border: 1px solid #c4d6c7 !important;
  border-bottom: 1px solid #c4d6c7 !important;
  border-radius: 8px !important;

  box-shadow: 0 5px 16px rgba(25, 67, 47, .06) !important;

  text-decoration: none !important;

  transition:
    background .2s ease,
    border-color .2s ease,
    color .2s ease,
    transform .2s ease,
    box-shadow .2s ease !important;
}


/* ボタン文字 */
body.home .pl-reasons__link a > span,
body.home .pl-works-demo__more a > span:first-child,
body.home .pl-price-home__more a > span,
body.home .pl-voice-home__more a > span,
body.home .pl-flow-home__more a > span,
body.home .pl-faq-home__more a > span,
body.home .pl-compare-home__more a > span {
  display: block !important;

  margin: 0 !important;
  padding: 0 !important;

  color: inherit !important;

  font-family: "Noto Sans JP", sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  letter-spacing: .03em !important;

  white-space: nowrap !important;
}


/* 丸い矢印をやめて、シンプルな矢印に統一 */
body.home .pl-reasons__link a > b,
body.home .pl-price-home__more a > b,
body.home .pl-voice-home__more a > b,
body.home .pl-flow-home__more a > b,
body.home .pl-faq-home__more a > b,
body.home .pl-compare-home__more a > b,
body.home .pl-works-demo__more-arrow {
  width: auto !important;
  height: auto !important;
  flex: 0 0 auto !important;

  display: inline-block !important;

  margin: 0 0 0 18px !important;
  padding: 0 !important;

  color: #087847 !important;
  background: transparent !important;

  border: 0 !important;
  border-radius: 0 !important;

  font-family: Arial, sans-serif !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
}




/* PC：控えめなホバー */
@media screen and (min-width: 835px) {

  body.home .pl-reasons__link a:hover,
  body.home .pl-works-demo__more a:hover,
  body.home .pl-price-home__more a:hover,
  body.home .pl-voice-home__more a:hover,
  body.home .pl-flow-home__more a:hover,
  body.home .pl-faq-home__more a:hover,
  body.home .pl-compare-home__more a:hover {
    color: #164a36 !important;
    background: #eaf3e7 !important;
    border-color: #a9c3ae !important;

    transform: translateY(-1px) !important;

    box-shadow: 0 7px 18px rgba(25, 67, 47, .09) !important;
  }

  body.home .pl-reasons__link a:hover > b,
  body.home .pl-price-home__more a:hover > b,
  body.home .pl-voice-home__more a:hover > b,
  body.home .pl-flow-home__more a:hover > b,
  body.home .pl-faq-home__more a:hover > b,
  body.home .pl-compare-home__more a:hover > b,
  body.home .pl-works-demo__more a:hover .pl-works-demo__more-arrow {
    color: #087847 !important;
    background: transparent !important;
    transform: translateX(3px) !important;
  }
}


/* スマホ：白背景と同化しないよう少し濃い薄緑 */
@media screen and (max-width: 768px) {

  body.home .pl-reasons__link a,
  body.home .pl-works-demo__more a,
  body.home .pl-price-home__more a,
  body.home .pl-voice-home__more a,
  body.home .pl-flow-home__more a,
  body.home .pl-faq-home__more a,
  body.home .pl-compare-home__more a {
    width: 100% !important;
    max-width: 360px !important;
    min-height: 58px !important;

    padding: 0 18px 0 20px !important;

    background: #087847 !important;
    border-color: #087847 !important;
    color: #fff !important;

    box-shadow: none !important;
  }

  body.home .pl-reasons__link a > span,
  body.home .pl-works-demo__more a > span:first-child,
  body.home .pl-price-home__more a > span,
  body.home .pl-voice-home__more a > span,
  body.home .pl-flow-home__more a > span,
  body.home .pl-faq-home__more a > span,
  body.home .pl-compare-home__more a > span {
    font-size: 14px !important;
  }

  body.home .pl-reasons__link a > b,
  body.home .pl-price-home__more a > b,
  body.home .pl-voice-home__more a > b,
  body.home .pl-flow-home__more a > b,
  body.home .pl-faq-home__more a > b,
  body.home .pl-compare-home__more a > b,
  body.home .pl-works-demo__more-arrow {
    color: #fff !important;
    font-size: 19px !important;
  }
}
/* ========================================
   TOP 料金・費用 最終仕上げ
======================================== */

body.home .pl-price-home {
  padding-top: 64px !important;
  padding-bottom: 72px !important;
}


/* カード */
body.home .pl-price-card {
  padding: 30px 24px 28px !important;

  background: #fff !important;

  border: 1px solid #dfe8df !important;
  border-top: 4px solid #b7cfae !important;

  border-radius: 12px !important;

  box-shadow:
    0 10px 28px rgba(26, 68, 47, .08) !important;
}


/* おすすめカード */
body.home .pl-price-card--recommend {
  border: 2px solid #8fbd32 !important;
  border-top: 5px solid #087847 !important;

  background: #fbfdf8 !important;

  box-shadow:
    0 12px 32px rgba(26, 88, 52, .12) !important;
}


/* アイコンを丸背景に */
body.home .pl-price-card__icon {
  width: 78px !important;
  height: 78px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 0 auto 18px !important;

  background: #edf5e9 !important;

  border-radius: 50% !important;
}

body.home .pl-price-card__icon svg {
  width: 48px !important;
  height: 48px !important;

  stroke: #4f8d6c !important;
}


/* 説明文 */
body.home .pl-price-card__label {
  color: #586860 !important;

  font-size: 13px !important;
  font-weight: 500 !important;
}


/* タイトル */
body.home .pl-price-card h3 {
  margin-bottom: 18px !important;

  font-size: 21px !important;
}


/* 価格部分を帯にする */
body.home .pl-price-card__price {
  width: 100% !important;

  box-sizing: border-box !important;

  margin-top: 4px !important;
  padding: 14px 10px !important;

  background: #f0f6ed !important;

  border-radius: 8px !important;
}


/* 価格 */
body.home .pl-price-card__price strong {
  color: #087847 !important;

  font-size: 46px !important;
}

body.home .pl-price-card__price span {
  color: #274437 !important;

  font-size: 17px !important;
}


/* 税込等 */
body.home .pl-price-card__tax {
  margin-top: 12px !important;

  color: #606e66 !important;

  font-size: 11px !important;
}


/* 下の注意書き */
body.home .pl-price-home__notice {
  margin-top: 28px !important;

  color: #59675f !important;

  font-size: 12px !important;
}


/* スマホ */
@media screen and (max-width: 768px) {

  body.home .pl-price-home {
    padding-top: 48px !important;
    padding-bottom: 56px !important;
  }

  body.home .pl-price-card {
    padding: 24px 18px 22px !important;
  }

  body.home .pl-price-card__icon {
    width: 68px !important;
    height: 68px !important;
  }

  body.home .pl-price-card__icon svg {
    width: 42px !important;
    height: 42px !important;
  }

  body.home .pl-price-card__price strong {
    font-size: 40px !important;
  }
}
/* ========================================
   見積もり比較 01・02・03・04 を見やすく
======================================== */

/* 番号 */
body.home .pl-compare-home__num,
body.home .pl-compare-home__number {
  width: 38px !important;
  height: 38px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 0 auto 14px !important;

  background: #d96d3a !important;
  color: #fff !important;

  border-radius: 999px !important;

  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: .04em !important;
}

/* カードの見出しも少し強める */
body.home .pl-compare-home__item h3,
body.home .pl-compare-home__card h3 {
  color: #2f241d !important;
  font-size: 18px !important;
  font-weight: 700 !important;
}

/* カード自体も少しだけはっきり */
body.home .pl-compare-home__item,
body.home .pl-compare-home__card {
  background: rgba(255,255,255,.28) !important;
  border: 1px solid rgba(210, 188, 168, .45) !important;
  border-radius: 12px !important;
}
/* 見積もり比較 01〜04をグリーンの丸に */
body.home .pl-compare-point > span {
  width: 38px !important;
  height: 38px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 0 auto 14px !important;

  color: #fff !important;
  background: #087847 !important;

  border-radius: 50% !important;

  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: .03em !important;
}
/* ========================================
   見積もり比較 4つの枠を色分け
======================================== */

/* 01 塗装面積：グリーン */
body.home .pl-compare-point:nth-child(1) {
  background: #f0f6ed !important;
  border: 2px solid #b8cfb2 !important;
}

/* 02 使用塗料：淡いブルー */
body.home .pl-compare-point:nth-child(2) {
  background: #f0f5f6 !important;
  border: 2px solid #b8cdd1 !important;
}

/* 03 下地処理：淡いイエロー・ベージュ */
body.home .pl-compare-point:nth-child(3) {
  background: #f8f4e7 !important;
  border: 2px solid #d7c695 !important;
}

/* 04 保証内容：淡いピンクベージュ */
body.home .pl-compare-point:nth-child(4) {
  background: #f8eeee !important;
  border: 2px solid #d7baba !important;
}

/* 少し立体感 */
body.home .pl-compare-point {
  box-shadow: 0 6px 18px rgba(75, 56, 44, .05) !important;
}
/* ========================================
   TOP 料金カード 3種類を見分けやすく
======================================== */

/* アイコンを大きく */
body.home .pl-price-card__icon {
  width: 94px !important;
  height: 94px !important;

  margin: 0 auto 20px !important;

  border-radius: 50% !important;

  box-shadow:
    0 6px 18px rgba(30, 75, 52, .08) !important;
}

body.home .pl-price-card__icon svg {
  width: 56px !important;
  height: 56px !important;
}


/* 01 外壁塗装 */
body.home .pl-price-card:nth-child(1) {
  border-top-color: #86b68d !important;
}

body.home .pl-price-card:nth-child(1) .pl-price-card__icon {
  background: #e4f1e1 !important;
}

body.home .pl-price-card:nth-child(1) .pl-price-card__price {
  background: #edf6ea !important;
}


/* 02 屋根塗装 */
body.home .pl-price-card:nth-child(2) {
  border-top-color: #82aeb0 !important;
}

body.home .pl-price-card:nth-child(2) .pl-price-card__icon {
  background: #e4f0f0 !important;
}

body.home .pl-price-card:nth-child(2) .pl-price-card__price {
  background: #edf5f5 !important;
}


/* 03 外壁＋屋根 */
body.home .pl-price-card:nth-child(3) {
  border-top-color: #087847 !important;
}

body.home .pl-price-card:nth-child(3) .pl-price-card__icon {
  background: #dcebdc !important;
}

body.home .pl-price-card:nth-child(3) .pl-price-card__price {
  background: #e7f2e5 !important;
}


/* アイコンの線を少し濃く */
body.home .pl-price-card__icon svg {
  stroke: #43805f !important;
  stroke-width: 3.2 !important;
}


/* スマホ */
@media screen and (max-width: 768px) {

  body.home .pl-price-card__icon {
    width: 82px !important;
    height: 82px !important;
  }

  body.home .pl-price-card__icon svg {
    width: 49px !important;
    height: 49px !important;
  }
}
/* ========================================
   TOP お客様の声 本番画像
======================================== */

body.home .pl-voice-card__photo {
  aspect-ratio: 3 / 2 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
}

body.home .pl-voice-card__photo img {
  display: block !important;

  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;

  object-fit: cover !important;
  object-position: center center !important;
}
/* ========================================
   TOP お客様の声
======================================== */

/* 画像 */
body.home .pl-voice-card__photo {
  aspect-ratio: 3 / 2 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
}

body.home .pl-voice-card__photo img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
}

/* 4枚目はPCでは非表示 */
body.home .pl-voice-card--mobile-only {
  display: none !important;
}

/* スマホでは4枚目を表示 */
@media screen and (max-width: 768px) {

  body.home .pl-voice-home__grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }

  body.home .pl-voice-card--mobile-only {
    display: block !important;
  }

  body.home .pl-voice-card__body h3 {
    font-size: 18px !important;
    line-height: 1.5 !important;
  }

  body.home .pl-voice-card__body p {
    font-size: 14px !important;
    line-height: 1.8 !important;
  }
}
/* ========================================
   TOP 八尾市・東大阪市 地域密着セクション
======================================== */

body.home .pl-local-area {
  padding: 78px 20px 82px !important;
  background: #f3f7ee !important;
}

body.home .pl-local-area__inner {
  width: min(1080px, 100%) !important;
  margin: 0 auto !important;
}


/* 見出し */











/* 3つの安心ポイント */
body.home .pl-local-area__trust {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 18px !important;

  margin-bottom: 34px !important;
}

body.home .pl-local-area__trust-item {
  padding: 24px 22px !important;

  background: #fff !important;

  border: 1px solid #dce7dc !important;
  border-radius: 12px !important;

  box-shadow: 0 6px 20px rgba(28, 72, 50, .05) !important;

  text-align: center !important;
}

body.home .pl-local-area__trust-item > span {
  display: block !important;

  margin-bottom: 8px !important;

  color: #8aaa55 !important;

  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
}

body.home .pl-local-area__trust-item strong {
  display: block !important;

  margin-bottom: 10px !important;

  color: #064b35 !important;

  font-size: 18px !important;
  font-weight: 800 !important;
}

body.home .pl-local-area__trust-item p {
  margin: 0 !important;

  color: #526158 !important;

  font-size: 13px !important;
  line-height: 1.8 !important;
}


/* 八尾市・東大阪市カード */
body.home .pl-local-area__cards {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 22px !important;
}

body.home .pl-local-card {
  overflow: hidden !important;

  background: #fff !important;

  border: 1px solid #d5e2d7 !important;
  border-radius: 14px !important;

  box-shadow: 0 8px 26px rgba(27, 73, 50, .07) !important;
}


/* 市名の帯 */
body.home .pl-local-card__city {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;

  padding: 20px 26px !important;

  background: #087847 !important;
  color: #fff !important;
}

body.home .pl-local-card--higashiosaka .pl-local-card__city {
  background: #176d58 !important;
}

body.home .pl-local-card__city small {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .15em !important;
  opacity: .8 !important;
}

body.home .pl-local-card__city strong {
  font-size: 27px !important;
  font-weight: 800 !important;
}


/* カード本文 */
body.home .pl-local-card__body {
  padding: 28px 28px 30px !important;
}

body.home .pl-local-card__body h3 {
  margin: 0 0 14px !important;
  padding: 0 !important;

  color: #143e2f !important;
  background: transparent !important;
  border: 0 !important;

  font-size: 21px !important;
  font-weight: 800 !important;
}

body.home .pl-local-card__body h3::before,
body.home .pl-local-card__body h3::after {
  display: none !important;
  content: none !important;
}

body.home .pl-local-card__body p {
  min-height: 76px !important;
  margin: 0 0 22px !important;

  color: #506058 !important;

  font-size: 14px !important;
  line-height: 1.85 !important;
}


/* 地域ページへのボタン */
body.home .pl-local-card__body a {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;

  min-height: 56px !important;

  box-sizing: border-box !important;

  padding: 0 18px 0 20px !important;

  color: #07583c !important;
  background: #eef5eb !important;

  border: 1px solid #bad0be !important;
  border-radius: 8px !important;

  text-decoration: none !important;
}

body.home .pl-local-card__body a span {
  font-size: 14px !important;
  font-weight: 700 !important;
}

body.home .pl-local-card__body a b {
  color: #087847 !important;
  font-size: 19px !important;
  font-weight: 400 !important;
}


/* 最後の一言 */
body.home .pl-local-area__message {
  margin: 30px 0 0 !important;

  color: #4c5a52 !important;

  font-size: 14px !important;
  line-height: 1.8 !important;
  text-align: center !important;
}

body.home .pl-local-area__message strong {
  color: #087847 !important;
}


/* スマホ */
@media screen and (max-width: 767px) {

  body.home .pl-local-area {
    padding: 52px 12px 58px !important;
  }

  

  

  

  body.home .pl-local-area__trust {
    grid-template-columns: 1fr !important;
    gap: 12px !important;

    margin-bottom: 22px !important;
  }

  body.home .pl-local-area__trust-item {
    padding: 20px 18px !important;
  }

  body.home .pl-local-area__cards {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  body.home .pl-local-card__city {
    padding: 17px 20px !important;
  }

  body.home .pl-local-card__city strong {
    font-size: 24px !important;
  }

  body.home .pl-local-card__body {
    padding: 22px 18px 20px !important;
  }

  body.home .pl-local-card__body p {
    min-height: 0 !important;
    font-size: 14px !important;
  }

  /* スマホはサイト内誘導ボタンを緑＋白 */
  body.home .pl-local-card__body a {
    color: #fff !important;
    background: #087847 !important;
    border-color: #087847 !important;
  }

  body.home .pl-local-card__body a b {
    color: #fff !important;
  }

  body.home .pl-local-area__message {
    margin-top: 24px !important;
    padding: 0 8px !important;

    font-size: 13px !important;
  }

}
/* ========================================
   見積もり比較 番号の上下位置を統一
======================================== */

body.home .pl-compare-point > span {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  height: 32px !important;
  min-height: 32px !important;

  margin: 0 auto 12px !important;
  padding: 0 !important;

  line-height: 1 !important;
  vertical-align: middle !important;

  position: static !important;
  transform: none !important;
}
/* ========================================
   見積もり比較 4カードの縦位置を完全に統一
======================================== */

body.home .pl-compare-point {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;

  padding-top: 32px !important;
}

/* 01〜04 */
body.home .pl-compare-point > span {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  flex: 0 0 36px !important;

  margin: 0 0 16px !important;
  padding: 0 !important;

  border-radius: 50% !important;
  line-height: 1 !important;

  position: static !important;
  transform: none !important;
}

/* 見出しの高さも統一 */
body.home .pl-compare-point h3 {
  margin: 0 0 12px !important;
  min-height: 32px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
/* 施工の流れ 05・06 SVGアイコン */
body.home .pl-flow-step__svg {
  display: block !important;
  width: 30px !important;
  height: 30px !important;
  color: #087847 !important;
}
/* ========================================
   TOP 外壁・屋根の劣化症状
======================================== */

body.home .pl-deterioration {
  padding: 76px 20px 82px !important;
  background: #fff !important;
}

body.home .pl-deterioration__inner {
  width: min(1080px, 100%) !important;
  margin: 0 auto !important;
}


/* 見出し */











/* 9カード */
body.home .pl-deterioration__grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
}

body.home .pl-deterioration-card {
  overflow: hidden !important;

  background: #fff !important;

  border: 1px solid #dce5dd !important;
  border-radius: 12px !important;

  box-shadow: 0 8px 26px rgba(28, 69, 49, .07) !important;
}


/* 写真 */
body.home .pl-deterioration-card__image {
  aspect-ratio: 4 / 3 !important;
  overflow: hidden !important;
  background: #edf2ed !important;
}

body.home .pl-deterioration-card__image img {
  display: block !important;

  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;

  object-fit: cover !important;
  object-position: center center !important;

  transition: transform .35s ease !important;
}

@media (hover: hover) {
  body.home .pl-deterioration-card:hover .pl-deterioration-card__image img {
    transform: scale(1.025) !important;
  }
}


/* 本文 */
body.home .pl-deterioration-card__body {
  padding: 22px 22px 24px !important;
}

body.home .pl-deterioration-card__body > span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 34px !important;
  height: 34px !important;

  margin-bottom: 12px !important;

  color: #fff !important;
  background: #087847 !important;

  border-radius: 50% !important;

  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

body.home .pl-deterioration-card__body h3 {
  margin: 0 0 12px !important;
  padding: 0 !important;

  color: #123e2e !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;

  font-size: 20px !important;
  line-height: 1.5 !important;
  font-weight: 800 !important;
}

body.home .pl-deterioration-card__body h3::before,
body.home .pl-deterioration-card__body h3::after {
  display: none !important;
  content: none !important;
}

body.home .pl-deterioration-card__body p {
  margin: 0 !important;

  color: #526159 !important;

  font-size: 13px !important;
  line-height: 1.9 !important;
}


/* 下部メッセージ */
body.home .pl-deterioration__message {
  margin-top: 38px !important;
  padding: 30px 36px !important;

  background: #f3f7ee !important;

  border-left: 5px solid #8fbd32 !important;
  border-radius: 10px !important;
}

body.home .pl-deterioration__message h3 {
  margin: 0 0 12px !important;
  padding: 0 !important;

  color: #064b35 !important;
  background: transparent !important;
  border: 0 !important;

  font-size: 21px !important;
  line-height: 1.6 !important;
  font-weight: 800 !important;
}

body.home .pl-deterioration__message h3::before,
body.home .pl-deterioration__message h3::after {
  display: none !important;
  content: none !important;
}

body.home .pl-deterioration__message p {
  margin: 0 !important;

  color: #506058 !important;

  font-size: 14px !important;
  line-height: 2 !important;
}


/* PC / SP改行 */
body.home .pl-deterioration__sp {
  display: none !important;
}


/* スマホ */
@media screen and (max-width: 767px) {

  body.home .pl-deterioration {
    padding: 52px 12px 58px !important;
  }

  

  

  

  body.home .pl-deterioration__pc {
    display: none !important;
  }

  body.home .pl-deterioration__sp {
    display: block !important;
  }


  /* スマホは2列 */
  body.home .pl-deterioration__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  body.home .pl-deterioration-card__body {
    padding: 16px 14px 18px !important;
  }

  body.home .pl-deterioration-card__body > span {
    width: 30px !important;
    height: 30px !important;

    margin-bottom: 9px !important;

    font-size: 10px !important;
  }

  body.home .pl-deterioration-card__body h3 {
    margin-bottom: 8px !important;

    font-size: 16px !important;
    line-height: 1.45 !important;
  }

  body.home .pl-deterioration-card__body p {
    font-size: 12px !important;
    line-height: 1.75 !important;
  }


  /* 9枚目だけ横いっぱい */
  body.home .pl-deterioration-card--last {
    grid-column: 1 / -1 !important;

    display: grid !important;
    grid-template-columns: 45% 55% !important;
  }

  body.home .pl-deterioration-card--last .pl-deterioration-card__image {
    height: 100% !important;
    aspect-ratio: auto !important;
  }


  body.home .pl-deterioration__message {
    margin-top: 24px !important;
    padding: 22px 18px !important;
  }

  body.home .pl-deterioration__message h3 {
    font-size: 18px !important;
  }

  body.home .pl-deterioration__message p {
    font-size: 13px !important;
    line-height: 1.9 !important;
  }

}
/* ========================================
   TOP ペイントリーフが選ばれる理由 大型版
======================================== */

body.home .pl-reason-feature {
  padding: 82px 20px 88px !important;
  background: #f3f7ee !important;
}

body.home .pl-reason-feature__inner {
  width: min(1080px, 100%) !important;
  margin: 0 auto !important;
}


/* 見出し */











/* 各理由 */
body.home .pl-reason-feature__item {
  display: grid !important;
  grid-template-columns: 50% 50% !important;

  overflow: hidden !important;

  margin-bottom: 30px !important;

  background: #fff !important;

  border: 1px solid #dce6dd !important;
  border-radius: 16px !important;

  box-shadow: 0 10px 32px rgba(25, 70, 48, .08) !important;
}

body.home .pl-reason-feature__item--reverse .pl-reason-feature__image {
  order: 2 !important;
}

body.home .pl-reason-feature__item--reverse .pl-reason-feature__body {
  order: 1 !important;
}


/* 写真 */
body.home .pl-reason-feature__image {
  min-height: 380px !important;
  overflow: hidden !important;

  background: #e7eee7 !important;
}

body.home .pl-reason-feature__image img {
  display: block !important;

  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;

  object-fit: cover !important;
  object-position: center center !important;

  transition: transform .4s ease !important;
}

@media (hover:hover) {
  body.home .pl-reason-feature__item:hover .pl-reason-feature__image img {
    transform: scale(1.025) !important;
  }
}


/* 本文 */
body.home .pl-reason-feature__body {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;

  box-sizing: border-box !important;

  padding: 42px 46px !important;
}


/* REASON番号 */
body.home .pl-reason-feature__number {
  display: flex !important;
  align-items: flex-end !important;

  gap: 8px !important;

  margin-bottom: 12px !important;
}

body.home .pl-reason-feature__number small {
  padding-bottom: 5px !important;

  color: #7fa844 !important;

  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .12em !important;
}

body.home .pl-reason-feature__number strong {
  color: #087847 !important;

  font-size: 38px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
}


/* キャッチコピー */
body.home .pl-reason-feature__catch {
  margin: 0 0 8px !important;

  color: #8aaa41 !important;

  font-size: 14px !important;
  line-height: 1.6 !important;
  font-weight: 800 !important;
}


/* h3 */
body.home .pl-reason-feature__body h3 {
  margin: 0 0 20px !important;
  padding: 0 !important;

  color: #064b35 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;

  font-size: 27px !important;
  line-height: 1.5 !important;
  font-weight: 800 !important;
}

body.home .pl-reason-feature__body h3::before,
body.home .pl-reason-feature__body h3::after {
  display: none !important;
  content: none !important;
}


/* 説明文 */
body.home .pl-reason-feature__body > p:not(.pl-reason-feature__catch) {
  margin: 0 0 13px !important;

  color: #4f5e56 !important;

  font-size: 14px !important;
  line-height: 1.95 !important;
}

body.home .pl-reason-feature__body > p:last-child {
  margin-bottom: 0 !important;
}


/* 下部メッセージ */
body.home .pl-reason-feature__message {
  margin-top: 42px !important;
  padding: 30px 34px !important;

  background: #fff !important;

  border: 1px solid #cbdcc9 !important;
  border-left: 5px solid #8fbd32 !important;
  border-radius: 10px !important;

  text-align: center !important;
}

body.home .pl-reason-feature__message p {
  margin: 0 0 8px !important;
}

body.home .pl-reason-feature__message strong {
  color: #064b35 !important;

  font-size: 20px !important;
  line-height: 1.6 !important;
}

body.home .pl-reason-feature__message span {
  color: #536259 !important;

  font-size: 14px !important;
  line-height: 1.8 !important;
}


/* 詳しく見る */
body.home .pl-reason-feature__more {
  margin-top: 28px !important;
  text-align: center !important;
}

body.home .pl-reason-feature__more a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  gap: 24px !important;

  min-width: 320px !important;
  min-height: 58px !important;

  box-sizing: border-box !important;

  padding: 0 24px !important;

  color: #07583c !important;
  background: #fff !important;

  border: 1px solid #b9cfbd !important;
  border-radius: 8px !important;

  text-decoration: none !important;
}

body.home .pl-reason-feature__more a span {
  font-size: 14px !important;
  font-weight: 700 !important;
}

body.home .pl-reason-feature__more a b {
  color: #087847 !important;

  font-size: 19px !important;
  font-weight: 400 !important;
}


/* スマホ */
@media screen and (max-width: 767px) {

  body.home .pl-reason-feature {
    padding: 54px 12px 60px !important;
  }

  

  

  

  body.home .pl-reason-feature__pc {
    display: none !important;
  }


  /* スマホは写真→文章 */
  body.home .pl-reason-feature__item {
    display: block !important;

    margin-bottom: 18px !important;

    border-radius: 12px !important;
  }

  body.home .pl-reason-feature__item--reverse .pl-reason-feature__image,
  body.home .pl-reason-feature__item--reverse .pl-reason-feature__body {
    order: initial !important;
  }

  body.home .pl-reason-feature__image {
    min-height: 0 !important;
    height: 230px !important;
  }

  body.home .pl-reason-feature__body {
    display: block !important;

    padding: 24px 20px 26px !important;
  }

  body.home .pl-reason-feature__number {
    margin-bottom: 10px !important;
  }

  body.home .pl-reason-feature__number strong {
    font-size: 32px !important;
  }

  body.home .pl-reason-feature__catch {
    font-size: 13px !important;
  }

  body.home .pl-reason-feature__body h3 {
    margin-bottom: 15px !important;

    font-size: 22px !important;
  }

  body.home .pl-reason-feature__body > p:not(.pl-reason-feature__catch) {
    font-size: 13px !important;
    line-height: 1.9 !important;
  }


  body.home .pl-reason-feature__message {
    margin-top: 28px !important;
    padding: 22px 18px !important;

    text-align: left !important;
  }

  body.home .pl-reason-feature__message strong {
    font-size: 17px !important;
  }

  body.home .pl-reason-feature__message span {
    font-size: 13px !important;
  }


  /* スマホ誘導ボタン */
  body.home .pl-reason-feature__more a {
    width: 100% !important;
    min-width: 0 !important;

    color: #fff !important;
    background: #087847 !important;
    border-color: #087847 !important;
  }

  body.home .pl-reason-feature__more a b {
    color: #fff !important;
  }

}
/* スマホ：選ばれる理由 02・04は画像全体を表示 */
@media screen and (max-width: 767px) {

  body.home .pl-reason-feature__item--reverse
  .pl-reason-feature__image {
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    background: #fff !important;
  }

  body.home .pl-reason-feature__item--reverse
  .pl-reason-feature__image img {
    width: 100% !important;
    height: auto !important;

    object-fit: contain !important;
    object-position: center center !important;
  }

}
/* ========================================
   TOP スタッフ紹介
   PC横長バナー + スマホ専用縦長バナー
======================================== */

body.home .pl-staff-visual {
  padding: 48px 20px !important;
  background: #fff !important;
}

/* スタッフ紹介 導入テキスト */
body.home .pl-staff-visual__lead {
  width: min(1040px, 100%) !important;
  margin: 0 auto 30px !important;
  padding: 0 20px !important;
  box-sizing: border-box !important;
  text-align: center !important;
}

body.home .pl-staff-visual__lead p {
  margin: 0 !important;
  text-align: center !important;
  letter-spacing: .01em !important;
}

body.home .pl-staff-lead__main {
  color: #171717 !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  line-height: 1.9 !important;
}

body.home .pl-staff-lead__strong {
  margin-top: 5px !important;
  color: #064b35 !important;
  font-size: 19px !important;
  font-weight: 800 !important;
  line-height: 1.75 !important;
}

body.home .pl-staff-lead__line {
  display: inline !important;
}

body.home .pl-staff-lead__main em {
  color: #087847 !important;
  font-style: normal !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

body.home .pl-staff-visual__inner {
  width: min(1040px, 100%) !important;
  margin: 0 auto !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 1px solid #dce5dd !important;
  border-radius: 14px !important;
  box-shadow: 0 10px 30px rgba(25, 70, 48, .09) !important;
}

body.home .pl-staff-visual__image,
body.home .pl-staff-visual__image picture,
body.home .pl-staff-visual__image img {
  display: block !important;
  width: 100% !important;
}

body.home .pl-staff-visual__image {
  text-decoration: none !important;
}

body.home .pl-staff-visual__image img {
  height: auto !important;
  margin: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
}

/* 旧方式のスマホ追加文章は使用しない */
body.home .pl-staff-visual__mobile-copy {
  display: none !important;
}

/* スタッフ紹介CTA：TOPの誘導ボタンと同じ方向に統一 */
body.home .pl-staff-visual__cta {
  padding: 20px !important;
  background: #fff !important;
  text-align: center !important;
}

body.home .pl-staff-visual__cta a {
  width: 390px !important;
  max-width: 100% !important;
  min-height: 62px !important;
  height: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  box-sizing: border-box !important;
  margin: 0 auto !important;
  padding: 0 22px 0 24px !important;
  color: #164a36 !important;
  background: #f4f8f1 !important;
  border: 1px solid #c4d6c7 !important;
  border-radius: 8px !important;
  box-shadow: 0 5px 16px rgba(25, 67, 47, .06) !important;
  text-decoration: none !important;
  transition:
    background .2s ease,
    border-color .2s ease,
    color .2s ease,
    transform .2s ease,
    box-shadow .2s ease !important;
}

body.home .pl-staff-visual__cta a > span {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  font-family: "Noto Sans JP", sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  letter-spacing: .03em !important;
  white-space: nowrap !important;
}

body.home .pl-staff-visual__cta a > b {
  width: auto !important;
  height: auto !important;
  flex: 0 0 auto !important;
  display: inline-block !important;
  margin: 0 0 0 18px !important;
  padding: 0 !important;
  color: #087847 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  font-family: Arial, sans-serif !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
}

@media screen and (min-width: 835px) {
  body.home .pl-staff-visual__cta a:hover {
    color: #164a36 !important;
    background: #eaf3e7 !important;
    border-color: #a9c3ae !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 7px 18px rgba(25, 67, 47, .09) !important;
  }

  body.home .pl-staff-visual__cta a:hover > b {
    color: #087847 !important;
    transform: translateX(3px) !important;
  }
}

@media screen and (max-width: 767px) {
  body.home .pl-staff-visual {
    padding: 32px 12px 40px !important;
  }

  body.home .pl-staff-visual__lead {
    margin-bottom: 24px !important;
    padding: 0 4px !important;
    text-align: center !important;
  }

  body.home .pl-staff-lead__main {
    font-size: 16px !important;
    line-height: 1.7 !important;
  }

  body.home .pl-staff-lead__strong {
    margin-top: 10px !important;
    font-size: 17px !important;
    line-height: 1.65 !important;
  }

  body.home .pl-staff-lead__line {
    display: block !important;
    white-space: nowrap !important;
  }

  body.home .pl-staff-visual__inner {
    width: 100% !important;
    border-radius: 10px !important;
    box-shadow: 0 8px 24px rgba(25, 70, 48, .08) !important;
  }

  body.home .pl-staff-visual__cta {
    padding: 14px !important;
    background: #fff !important;
  }

  body.home .pl-staff-visual__cta a {
    width: 100% !important;
    max-width: 360px !important;
    min-height: 58px !important;
    padding: 0 18px 0 20px !important;
    color: #fff !important;
    background: #087847 !important;
    border-color: #087847 !important;
    box-shadow: none !important;
  }

  body.home .pl-staff-visual__cta a > span {
    font-size: 14px !important;
  }

  body.home .pl-staff-visual__cta a > b {
    color: #fff !important;
    font-size: 19px !important;
  }
}

/* ========================================
   スタッフ紹介ページ
======================================== */

.pl-staff-page {
  background: #fff;
  color: #33463c;
}


/* ------------------------------
   メインビジュアル
------------------------------ */

.pl-staff-page__hero {
  padding: 30px 20px 0;
}

.pl-staff-page__hero-inner {
  width: min(1180px, 100%);
  margin: 0 auto;
  overflow: hidden;
  border-radius: 14px;
  box-shadow: 0 10px 32px rgba(27, 70, 49, .10);
}

.pl-staff-page__hero img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
}


/* ------------------------------
   INTRO
------------------------------ */

.pl-staff-intro {
  padding: 72px 20px 76px;
}

.pl-staff-intro__inner {
  width: min(860px, 100%);
  margin: 0 auto;
  text-align: center;
}

.pl-staff-intro__label {
  margin: 0 0 10px !important;
  color: #7fa844;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .16em;
}

.pl-staff-intro h1 {
  margin: 0 0 24px !important;
  padding: 0 !important;
  color: #064b35 !important;
  background: none !important;
  border: 0 !important;
  font-size: 36px !important;
  line-height: 1.5 !important;
}

.pl-staff-intro h1::before,
.pl-staff-intro h1::after {
  display: none !important;
}

.pl-staff-intro__lead {
  color: #244c3c;
  font-size: 17px !important;
  font-weight: 700;
}

.pl-staff-intro p:not(.pl-staff-intro__label) {
  margin: 0 auto 16px !important;
  font-size: 15px;
  line-height: 2;
}


/* ------------------------------
   共通セクション
------------------------------ */

.pl-staff-section {
  padding: 76px 20px;
}

.pl-staff-section--representative,
.pl-staff-section--craftsmen {
  background: #f3f7ee;
}

.pl-staff-section--management {
  background: #fff;
}

.pl-staff-section__inner {
  width: min(1080px, 100%);
  margin: 0 auto;
}

.pl-staff-section__heading {
  margin-bottom: 38px;
  text-align: center;
}

.pl-staff-section__heading > p {
  margin: 0 0 8px !important;
  color: #7fa844;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .15em;
}

.pl-staff-section__heading h2 {
  margin: 0 0 12px !important;
  padding: 0 !important;
  color: #064b35 !important;
  background: none !important;
  border: 0 !important;
  font-size: 31px !important;
  line-height: 1.5 !important;
}

.pl-staff-section__heading h2::before,
.pl-staff-section__heading h2::after {
  display: none !important;
}

.pl-staff-section__lead {
  color: #59675f;
  font-size: 14px;
  line-height: 1.8;
}


/* ------------------------------
   代表
------------------------------ */

.pl-staff-representative {
  display: grid;
  grid-template-columns: 42% 58%;
  overflow: hidden;
  background: #fff;
  border: 1px solid #dce6dd;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(27, 69, 49, .08);
}

.pl-staff-representative__image {
  min-height: 460px;
  overflow: hidden;
}

.pl-staff-representative__image img {
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
  object-position: center top;
}

.pl-staff-representative__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 50px;
}

.pl-staff-representative__role {
  margin: 0 0 8px !important;
  color: #7fa844;
  font-size: 14px;
  font-weight: 800;
}

.pl-staff-representative__body h3 {
  margin: 0 0 26px !important;
  padding: 0 !important;
  color: #064b35 !important;
  background: none !important;
  border: 0 !important;
  font-size: 32px !important;
}

.pl-staff-representative__body h3::before,
.pl-staff-representative__body h3::after {
  display: none !important;
}

.pl-staff-representative__message {
  margin: 0 0 16px !important;
  color: #526159;
  font-size: 14px;
  line-height: 2;
}


/* ------------------------------
   施工管理
------------------------------ */

.pl-staff-management-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 26px;
  max-width: 860px;
  margin: 0 auto;
}

.pl-staff-management-card {
  overflow: hidden;
  background: #fff;
  border: 1px solid #dce6dd;
  border-radius: 14px;
  box-shadow: 0 8px 26px rgba(25, 68, 48, .07);
}

.pl-staff-management-card__image {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #eef3ef;
}

.pl-staff-management-card__image img {
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
  object-position: center top;
}

.pl-staff-management-card__body {
  padding: 22px 24px 24px;
  text-align: center;
}

.pl-staff-management-card__body span {
  display: block;
  margin-bottom: 6px;
  color: #70837a;
  font-size: 12px;
  font-weight: 700;
}

.pl-staff-management-card__body h3 {
  margin: 0 !important;
  padding: 0 !important;
  color: #064b35 !important;
  background: none !important;
  border: 0 !important;
  font-size: 23px !important;
}

.pl-staff-management-card__body h3::before,
.pl-staff-management-card__body h3::after {
  display: none !important;
}


/* ------------------------------
   工事担当
------------------------------ */

.pl-staff-craftsmen-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.pl-staff-card {
  overflow: hidden;
  background: #fff;
  border: 1px solid #dce5dd;
  border-radius: 12px;
  box-shadow: 0 7px 22px rgba(26, 69, 49, .06);
}

.pl-staff-card__image {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #edf2ee;
}

.pl-staff-card__image img {
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
  object-position: center top;
}

.pl-staff-card__body {
  padding: 18px 16px 20px;
  text-align: center;
}

.pl-staff-card__body span {
  display: block;
  margin-bottom: 5px;
  color: #74857b;
  font-size: 11px;
  font-weight: 700;
}

.pl-staff-card__body h3 {
  margin: 0 !important;
  padding: 0 !important;
  color: #064b35 !important;
  background: none !important;
  border: 0 !important;
  font-size: 19px !important;
}

.pl-staff-card__body h3::before,
.pl-staff-card__body h3::after {
  display: none !important;
}


/* ------------------------------
   最下部CTA
------------------------------ */

.pl-staff-closing {
  padding: 78px 20px 84px;
  background: #fff;
}

.pl-staff-closing__inner {
  width: min(900px, 100%);
  margin: 0 auto;
  padding: 46px 36px;
  box-sizing: border-box;
  background: #f3f7ee;
  border-radius: 16px;
  text-align: center;
}

.pl-staff-closing__label {
  margin: 0 0 8px !important;
  color: #7fa844;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
}

.pl-staff-closing h2 {
  margin: 0 0 18px !important;
  padding: 0 !important;
  color: #064b35 !important;
  background: none !important;
  border: 0 !important;
  font-size: 30px !important;
  line-height: 1.55 !important;
}

.pl-staff-closing h2::before,
.pl-staff-closing h2::after {
  display: none !important;
}

.pl-staff-closing__inner > p:not(.pl-staff-closing__label) {
  margin: 0 0 28px !important;
  color: #536159;
  font-size: 14px;
  line-height: 1.9;
}

.pl-staff-closing a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  min-width: 320px;
  min-height: 58px;
  padding: 0 24px;
  box-sizing: border-box;
  color: #fff !important;
  background: #087847;
  border-radius: 8px;
  text-decoration: none !important;
  box-shadow: 0 6px 18px rgba(8,120,71,.16);
}

.pl-staff-closing a span {
  font-size: 15px;
  font-weight: 800;
}

.pl-staff-closing a b {
  font-size: 19px;
  font-weight: 400;
}


/* ========================================
   スマホ
======================================== */

@media screen and (max-width: 767px) {

  .pl-staff-page__hero {
    padding: 16px 12px 0;
  }

  .pl-staff-page__hero-inner {
    border-radius: 9px;
  }


  .pl-staff-intro {
    padding: 48px 16px 52px;
  }

  .pl-staff-intro h1 {
    font-size: 27px !important;
  }

  .pl-staff-intro__lead {
    font-size: 15px !important;
  }

  .pl-staff-intro p:not(.pl-staff-intro__label) {
    font-size: 13px;
    line-height: 1.9;
  }


  .pl-staff-section {
    padding: 52px 12px;
  }

  .pl-staff-section__heading {
    margin-bottom: 28px;
  }

  .pl-staff-section__heading h2 {
    font-size: 25px !important;
  }


  /* 代表 */
  .pl-staff-representative {
    display: block;
  }

  .pl-staff-representative__image {
    min-height: 0;
    height: auto;
  }

  .pl-staff-representative__image img {
    height: auto;
    object-fit: contain;
  }

  .pl-staff-representative__body {
    display: block;
    padding: 26px 20px 28px;
  }

  .pl-staff-representative__body h3 {
    font-size: 25px !important;
  }

  .pl-staff-representative__message {
    font-size: 13px;
    line-height: 1.9;
  }


  /* 施工管理 */
  .pl-staff-management-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .pl-staff-management-card__body {
    padding: 16px 10px 18px;
  }

  .pl-staff-management-card__body span {
    font-size: 10px;
  }

  .pl-staff-management-card__body h3 {
    font-size: 17px !important;
  }


  /* 工事担当 */
  .pl-staff-craftsmen-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .pl-staff-card__body {
    padding: 14px 8px 16px;
  }

  .pl-staff-card__body h3 {
    font-size: 16px !important;
  }


  /* CTA */
  .pl-staff-closing {
    padding: 52px 12px 60px;
  }

  .pl-staff-closing__inner {
    padding: 30px 18px;
  }

  .pl-staff-closing h2 {
    font-size: 23px !important;
  }

  .pl-staff-closing a {
    width: 100%;
    min-width: 0;
    min-height: 54px;
  }

}
/* ==================================================
   STAFF PAGE / PROFESSIONAL EDITORIAL DESIGN
================================================== */

.pl-staff-pro {
  --pl-dark: #063f2e;
  --pl-green: #087847;
  --pl-light-green: #8fbd32;
  --pl-pale: #f2f6ed;
  --pl-beige: #f4f0e8;
  --pl-text: #425249;

  background: #fff;
  color: var(--pl-text);
}

.pl-staff-pro * {
  box-sizing: border-box;
}

.pl-staff-pro__wide {
  width: min(1120px, calc(100% - 40px));
  margin: 0 auto;
}


/* ==================================================
   HERO
================================================== */

.pl-staff-pro__hero {
  padding: 30px 0 0;
}

.pl-staff-pro__hero-inner {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
  overflow: hidden;
}

.pl-staff-pro__hero img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
}


/* ==================================================
   INTRO
================================================== */

.pl-staff-pro__intro {
  padding: 100px 20px 110px;
  background: #fff;
}

.pl-staff-pro__intro-inner {
  width: min(1040px, 100%);
  margin: 0 auto;

  display: grid;
  grid-template-columns: 42% 58%;
  gap: 76px;
  align-items: start;
}

.pl-staff-pro__eyebrow {
  margin: 0 0 18px !important;
  color: var(--pl-light-green);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .18em;
}

.pl-staff-pro__intro-title h1 {
  margin: 0 !important;
  padding: 0 !important;

  color: var(--pl-dark) !important;
  background: none !important;
  border: 0 !important;

  font-size: 38px !important;
  line-height: 1.55 !important;
  letter-spacing: .02em;
}

.pl-staff-pro__intro-title h1::before,
.pl-staff-pro__intro-title h1::after {
  display: none !important;
}

.pl-staff-pro__intro-copy {
  padding-left: 50px;
  border-left: 1px solid #d7e0d7;
}

.pl-staff-pro__intro-catch {
  margin: 0 0 28px !important;

  color: var(--pl-dark) !important;

  font-size: 25px !important;
  font-weight: 800 !important;
  line-height: 1.65 !important;
}

.pl-staff-pro__intro-copy > p:not(.pl-staff-pro__intro-catch) {
  margin: 0 0 17px !important;

  color: #506058;

  font-size: 14px;
  line-height: 2.05;
}


/* ==================================================
   SECTION HEAD
================================================== */

.pl-staff-pro__section-head {
  display: grid;
  grid-template-columns: 160px 1fr;
  align-items: end;

  margin-bottom: 48px;

  border-bottom: 1px solid #ccd8cf;
  padding-bottom: 22px;
}

.pl-staff-pro__section-head > div {
  display: flex;
  align-items: flex-end;
  gap: 10px;
}

.pl-staff-pro__section-head span {
  color: var(--pl-green);
  font-size: 44px;
  font-weight: 300;
  line-height: 1;
}

.pl-staff-pro__section-head small {
  padding-bottom: 5px;

  color: #7b8b82;

  font-size: 10px;
  font-weight: 800;
  letter-spacing: .15em;
}

.pl-staff-pro__section-head h2 {
  margin: 0 !important;
  padding: 0 !important;

  color: var(--pl-dark) !important;
  background: none !important;
  border: 0 !important;

  font-size: 31px !important;
  line-height: 1.55 !important;
}

.pl-staff-pro__section-head h2::before,
.pl-staff-pro__section-head h2::after {
  display: none !important;
}


/* ==================================================
   REPRESENTATIVE
================================================== */

.pl-staff-pro__representative {
  padding: 100px 0 110px;
  background: var(--pl-pale);
}

.pl-staff-pro__rep {
  display: grid;
  grid-template-columns: 48% 52%;
  min-height: 570px;

  background: #fff;
}

.pl-staff-pro__rep-photo {
  overflow: hidden;
}

.pl-staff-pro__rep-photo img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;

  object-fit: cover;
  object-position: center top;
}

.pl-staff-pro__rep-content {
  display: flex;
  flex-direction: column;
  justify-content: center;

  padding: 60px 68px;
}

.pl-staff-pro__role {
  margin: 0 0 7px !important;

  color: var(--pl-light-green);

  font-size: 13px;
  font-weight: 800;
  letter-spacing: .1em;
}

.pl-staff-pro__rep-content h3 {
  margin: 0 !important;
  padding: 0 !important;

  color: var(--pl-dark) !important;
  background: none !important;
  border: 0 !important;

  font-size: 36px !important;
  line-height: 1.4 !important;
}

.pl-staff-pro__rep-content h3::before,
.pl-staff-pro__rep-content h3::after {
  display: none !important;
}

.pl-staff-pro__rep-line {
  width: 46px;
  height: 3px;

  margin: 25px 0 27px;

  background: var(--pl-light-green);
}

.pl-staff-pro__rep-lead {
  margin: 0 0 23px !important;

  color: var(--pl-dark) !important;

  font-size: 21px !important;
  line-height: 1.75 !important;
  font-weight: 800 !important;
}

.pl-staff-pro__rep-content > p:not(.pl-staff-pro__role):not(.pl-staff-pro__rep-lead) {
  margin: 0 0 15px !important;

  color: #536159;

  font-size: 14px;
  line-height: 2;
}


/* ==================================================
   MANAGEMENT
================================================== */

.pl-staff-pro__management {
  padding: 110px 0 120px;
  background: #fff;
}

.pl-staff-pro__manager {
  display: grid;
  grid-template-columns: 47% 53%;

  min-height: 410px;

  margin-bottom: 32px;

  background: var(--pl-beige);
}

.pl-staff-pro__manager--reverse .pl-staff-pro__manager-photo {
  order: 2;
}

.pl-staff-pro__manager--reverse .pl-staff-pro__manager-info {
  order: 1;
}

.pl-staff-pro__manager-photo {
  overflow: hidden;
}

.pl-staff-pro__manager-photo img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;

  object-fit: cover;
  object-position: center top;
}

.pl-staff-pro__manager-info {
  display: flex;
  flex-direction: column;
  justify-content: center;

  padding: 50px 60px;
}

.pl-staff-pro__manager-no {
  margin-bottom: 26px;

  color: #8b9a90;

  font-size: 10px;
  font-weight: 800;
  letter-spacing: .16em;
}

.pl-staff-pro__manager-info > p:first-of-type {
  margin: 0 0 7px !important;

  color: var(--pl-green);

  font-size: 13px;
  font-weight: 800;
}

.pl-staff-pro__manager-info h3 {
  margin: 0 !important;
  padding: 0 !important;

  color: var(--pl-dark) !important;
  background: none !important;
  border: 0 !important;

  font-size: 30px !important;
}

.pl-staff-pro__manager-info h3::before,
.pl-staff-pro__manager-info h3::after {
  display: none !important;
}

.pl-staff-pro__manager-rule {
  width: 38px;
  height: 2px;

  margin: 22px 0;

  background: var(--pl-light-green);
}

.pl-staff-pro__manager-text {
  margin: 0 !important;

  color: #56645c;

  font-size: 14px;
  line-height: 1.95;
}


/* ==================================================
   PAINTERS
================================================== */

.pl-staff-pro__painters {
  padding: 110px 0 120px;
  background: var(--pl-dark);
}

.pl-staff-pro__section-head--light {
  border-color: rgba(255,255,255,.2);
}

.pl-staff-pro__section-head--light span {
  color: #b8d76a;
}

.pl-staff-pro__section-head--light small {
  color: rgba(255,255,255,.6);
}

.pl-staff-pro__section-head--light h2 {
  color: #fff !important;
}

.pl-staff-pro__painters-lead {
  margin: -20px 0 42px 160px !important;

  color: rgba(255,255,255,.72);

  font-size: 14px;
  line-height: 1.9;
}

.pl-staff-pro__people-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.pl-staff-pro__person {
  position: relative;

  aspect-ratio: 4 / 5;

  overflow: hidden;

  background: #315e50;
}

.pl-staff-pro__person img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;

  object-fit: cover;
  object-position: center top;

  transition: transform .45s ease;
}

@media (hover:hover) {
  .pl-staff-pro__person:hover img {
    transform: scale(1.035);
  }
}

.pl-staff-pro__person::after {
  position: absolute;
  inset: 0;

  content: "";

  background:
    linear-gradient(
      to top,
      rgba(3,31,23,.88) 0%,
      rgba(3,31,23,.38) 30%,
      rgba(3,31,23,0) 62%
    );
}

.pl-staff-pro__person-overlay {
  position: absolute;
  z-index: 2;

  right: 22px;
  bottom: 22px;
  left: 22px;

  color: #fff;
}

.pl-staff-pro__person-overlay small {
  display: block;

  margin-bottom: 14px;

  color: #b8d76a;

  font-size: 9px;
  font-weight: 800;
  letter-spacing: .16em;
}

.pl-staff-pro__person-overlay span {
  display: block;

  margin-bottom: 3px;

  color: rgba(255,255,255,.75);

  font-size: 11px;
  font-weight: 700;
}

.pl-staff-pro__person-overlay h3 {
  margin: 0 !important;
  padding: 0 !important;

  color: #fff !important;
  background: none !important;
  border: 0 !important;

  font-size: 23px !important;
  line-height: 1.4 !important;
}

.pl-staff-pro__person-overlay h3::before,
.pl-staff-pro__person-overlay h3::after {
  display: none !important;
}


/* ==================================================
   OUR STANDARD
================================================== */

.pl-staff-pro__standard {
  padding: 110px 0 120px;
  background: #f4f1e8;
}

.pl-staff-pro__standard-heading {
  display: grid;
  grid-template-columns: 34% 66%;

  margin-bottom: 50px;
}

.pl-staff-pro__standard-heading > p {
  margin: 8px 0 0 !important;

  color: var(--pl-green);

  font-size: 11px;
  font-weight: 800;
  letter-spacing: .16em;
}

.pl-staff-pro__standard-heading h2 {
  margin: 0 !important;
  padding: 0 !important;

  color: var(--pl-dark) !important;
  background: none !important;
  border: 0 !important;

  font-size: 34px !important;
  line-height: 1.55 !important;
}

.pl-staff-pro__standard-heading h2::before,
.pl-staff-pro__standard-heading h2::after {
  display: none !important;
}

.pl-staff-pro__standard-list {
  border-top: 1px solid #cfd5cb;
}

.pl-staff-pro__standard-item {
  display: grid;
  grid-template-columns: 120px 1fr;

  padding: 30px 0;

  border-bottom: 1px solid #cfd5cb;
}

.pl-staff-pro__standard-item > span {
  color: var(--pl-green);

  font-size: 29px;
  font-weight: 300;
}

.pl-staff-pro__standard-item h3 {
  margin: 0 0 7px !important;
  padding: 0 !important;

  color: var(--pl-dark) !important;
  background: none !important;
  border: 0 !important;

  font-size: 19px !important;
}

.pl-staff-pro__standard-item h3::before,
.pl-staff-pro__standard-item h3::after {
  display: none !important;
}

.pl-staff-pro__standard-item p {
  margin: 0 !important;

  color: #56645c;

  font-size: 13px;
  line-height: 1.8;
}


/* ==================================================
   CONTACT / FORM
================================================== */

.pl-staff-pro__contact {
  padding: 105px 20px 115px;

  background:
    linear-gradient(
      135deg,
      #f4f8ef 0%,
      #edf4e9 100%
    );
}

.pl-staff-pro__contact-inner {
  width: min(940px, 100%);
  margin: 0 auto;

  text-align: center;
}

.pl-staff-pro__contact-label {
  margin: 0 0 10px !important;

  color: var(--pl-light-green);

  font-size: 12px;
  font-weight: 800;
  letter-spacing: .18em;
}

.pl-staff-pro__contact h2 {
  margin: 0 0 20px !important;
  padding: 0 !important;

  color: var(--pl-dark) !important;
  background: none !important;
  border: 0 !important;

  font-size: 35px !important;
  line-height: 1.55 !important;
}

.pl-staff-pro__contact h2::before,
.pl-staff-pro__contact h2::after {
  display: none !important;
}

.pl-staff-pro__contact-lead {
  margin: 0 0 26px !important;

  color: #526159;

  font-size: 14px;
  line-height: 1.95;
}

.pl-staff-pro__contact-points {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;

  gap: 9px;

  margin-bottom: 32px;
}

.pl-staff-pro__contact-points span {
  padding: 8px 15px;

  color: var(--pl-green);
  background: #fff;

  border: 1px solid #cadac8;
  border-radius: 999px;

  font-size: 12px;
  font-weight: 700;
}


/* ==================================================
   SMARTPHONE
================================================== */

@media screen and (max-width: 767px) {

  .pl-staff-pro__wide {
    width: calc(100% - 24px);
  }


  /* HERO */
  .pl-staff-pro__hero {
    padding-top: 14px;
  }

  .pl-staff-pro__hero-inner {
    width: calc(100% - 24px);
  }

  .pl-staff-pro__hero img {
    width: 100%;
    height: auto;
  }


  /* INTRO */
  .pl-staff-pro__intro {
    padding: 58px 18px 64px;
  }

  .pl-staff-pro__intro-inner {
    display: block;
  }

  .pl-staff-pro__intro-title {
    margin-bottom: 31px;
  }

  .pl-staff-pro__intro-title h1 {
    font-size: 28px !important;
  }

  .pl-staff-pro__intro-copy {
    padding: 28px 0 0;
    border-top: 1px solid #d7e0d7;
    border-left: 0;
  }

  .pl-staff-pro__intro-catch {
    font-size: 21px !important;
  }

  .pl-staff-pro__intro-copy > p:not(.pl-staff-pro__intro-catch) {
    font-size: 13px;
    line-height: 1.95;
  }


  /* SECTION HEAD */
  .pl-staff-pro__section-head {
    display: block;
    margin-bottom: 28px;
  }

  .pl-staff-pro__section-head > div {
    margin-bottom: 14px;
  }

  .pl-staff-pro__section-head span {
    font-size: 34px;
  }

  .pl-staff-pro__section-head h2 {
    font-size: 25px !important;
  }


  /* REPRESENTATIVE */
  .pl-staff-pro__representative {
    padding: 64px 0 70px;
  }

  .pl-staff-pro__rep {
    display: block;
    min-height: 0;
  }

  .pl-staff-pro__rep-photo img {
    width: 100%;
    height: auto;
    object-fit: contain;
  }

  .pl-staff-pro__rep-content {
    display: block;
    padding: 31px 22px 35px;
  }

  .pl-staff-pro__rep-content h3 {
    font-size: 28px !important;
  }

  .pl-staff-pro__rep-lead {
    font-size: 18px !important;
  }

  .pl-staff-pro__rep-content > p:not(.pl-staff-pro__role):not(.pl-staff-pro__rep-lead) {
    font-size: 13px;
    line-height: 1.9;
  }


  /* MANAGEMENT */
  .pl-staff-pro__management {
    padding: 68px 0 75px;
  }

  .pl-staff-pro__manager {
    display: block;
    min-height: 0;
    margin-bottom: 18px;
  }

  .pl-staff-pro__manager--reverse .pl-staff-pro__manager-photo,
  .pl-staff-pro__manager--reverse .pl-staff-pro__manager-info {
    order: initial;
  }

  .pl-staff-pro__manager-photo img {
    width: 100%;
    height: auto;
    object-fit: contain;
  }

  .pl-staff-pro__manager-info {
    display: block;
    padding: 27px 22px 30px;
  }

  .pl-staff-pro__manager-no {
    display: block;
    margin-bottom: 17px;
  }

  .pl-staff-pro__manager-info h3 {
    font-size: 25px !important;
  }


  /* PAINTERS */
  .pl-staff-pro__painters {
    padding: 68px 0 76px;
  }

  .pl-staff-pro__painters-lead {
    margin: 0 0 28px !important;
    font-size: 13px;
  }

  .pl-staff-pro__people-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .pl-staff-pro__person {
    aspect-ratio: 4 / 5;
  }

  .pl-staff-pro__person-overlay {
    right: 12px;
    bottom: 13px;
    left: 12px;
  }

  .pl-staff-pro__person-overlay small {
    margin-bottom: 7px;
    font-size: 8px;
  }

  .pl-staff-pro__person-overlay span {
    font-size: 9px;
  }

  .pl-staff-pro__person-overlay h3 {
    font-size: 16px !important;
  }


  /* STANDARD */
  .pl-staff-pro__standard {
    padding: 68px 0 75px;
  }

  .pl-staff-pro__standard-heading {
    display: block;
    margin-bottom: 28px;
  }

  .pl-staff-pro__standard-heading > p {
    margin-bottom: 10px !important;
  }

  .pl-staff-pro__standard-heading h2 {
    font-size: 25px !important;
  }

  .pl-staff-pro__standard-item {
    grid-template-columns: 52px 1fr;
    padding: 24px 0;
  }

  .pl-staff-pro__standard-item > span {
    font-size: 22px;
  }

  .pl-staff-pro__standard-item h3 {
    font-size: 17px !important;
  }

  .pl-staff-pro__standard-item p {
    font-size: 12px;
  }


  /* CONTACT */
  .pl-staff-pro__contact {
    padding: 68px 12px 76px;
  }

  .pl-staff-pro__contact h2 {
    font-size: 26px !important;
  }

  .pl-staff-pro__contact-lead {
    font-size: 13px;
  }

  .pl-staff-pro__contact-points {
    gap: 7px;
  }

  .pl-staff-pro__contact-points span {
    padding: 7px 10px;
    font-size: 10px;
  }

}
/* ==========================================================
   PAINT LEAF STAFF PAGE V2
   Editorial / Brand design
========================================================== */

.pl-staff-v2 {
  --staff-green: #087847;
  --staff-dark: #073d2d;
  --staff-lime: #91b73a;
  --staff-ink: #243c32;
  --staff-text: #56675e;
  --staff-line: #d6ded8;
  --staff-cream: #f5f2e9;
  --staff-pale: #f3f7ee;

  color: var(--staff-text);
  background: #fff;
}

.pl-staff-v2 * {
  box-sizing: border-box;
}

.pl-staff-v2 img {
  max-width: 100%;
}

.pl-staff-v2-inner {
  width: min(1120px, calc(100% - 40px));
  margin: 0 auto;
}


/* ==========================================================
   HERO
========================================================== */

.pl-staff-v2-hero {
  padding: 90px 0 0;
  background: #fff;
}

.pl-staff-v2-hero__top {
  width: min(1120px, calc(100% - 40px));
  margin: 0 auto 52px;

  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 90px;
  align-items: end;
}

.pl-staff-v2-hero__title > p {
  margin: 0 0 22px !important;

  color: #87978e;

  font-size: 10px;
  font-weight: 800;
  letter-spacing: .16em;
}

.pl-staff-v2-hero__title > p span {
  display: inline-block;

  margin-right: 18px;

  color: var(--staff-green);

  font-size: 13px;
}

.pl-staff-v2-hero__title h1 {
  margin: 0 !important;
  padding: 0 !important;

  color: var(--staff-dark) !important;
  background: none !important;
  border: 0 !important;

  font-size: clamp(48px, 5.8vw, 72px) !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  letter-spacing: -.03em;
}

.pl-staff-v2-hero__title h1::before,
.pl-staff-v2-hero__title h1::after {
  display: none !important;
}

.pl-staff-v2-hero__copy {
  padding: 5px 0 3px 42px;

  border-left: 1px solid var(--staff-line);
}

.pl-staff-v2-hero__copy > strong {
  display: block;

  margin-bottom: 22px;

  color: var(--staff-ink);

  font-size: 22px;
  line-height: 1.7;
  font-weight: 800;
}

.pl-staff-v2-hero__copy > p {
  margin: 0 !important;

  color: #627168;

  font-size: 14px;
  line-height: 2;
}


/* 実写をそのまま使用 */
.pl-staff-v2-hero__visual {
  position: relative;

  width: min(1280px, 100%);
  margin: 0 auto;

  background: #e9edea;
}

.pl-staff-v2-hero__visual > img {
  display: block;

  width: 100% !important;
  height: auto !important;

  margin: 0 !important;

  object-fit: initial !important;
  object-position: initial !important;
}


/* 写真とは別レイヤーのラベル */
.pl-staff-v2-hero__visual-label {
  position: absolute;

  right: 0;
  bottom: 0;

  min-width: 350px;

  padding: 20px 28px;

  background: var(--staff-dark);
  color: #fff;
}

.pl-staff-v2-hero__visual-label span {
  display: block;

  margin-bottom: 3px;

  color: #aecf68;

  font-size: 9px;
  font-weight: 800;
  letter-spacing: .17em;
}

.pl-staff-v2-hero__visual-label strong {
  font-size: 15px;
  font-weight: 700;
}


/* 3 facts */

.pl-staff-v2-hero__facts {
  width: min(1120px, calc(100% - 40px));
  margin: 0 auto;

  display: grid;
  grid-template-columns: repeat(3, 1fr);

  border-right: 1px solid var(--staff-line);
  border-bottom: 1px solid var(--staff-line);
  border-left: 1px solid var(--staff-line);
}

.pl-staff-v2-hero__facts > div {
  padding: 30px 34px;

  border-right: 1px solid var(--staff-line);
}

.pl-staff-v2-hero__facts > div:last-child {
  border-right: 0;
}

.pl-staff-v2-hero__facts small {
  display: block;

  margin-bottom: 7px;

  color: #8b998f;

  font-size: 9px;
  font-weight: 800;
  letter-spacing: .16em;
}

.pl-staff-v2-hero__facts strong {
  color: var(--staff-dark);

  font-size: 19px;
  font-weight: 800;
}


/* ==========================================================
   PHILOSOPHY
========================================================== */

.pl-staff-v2-philosophy {
  padding: 135px 20px 145px;
  background: #fff;
}

.pl-staff-v2-philosophy__inner {
  width: min(1040px, 100%);
  margin: 0 auto;
}

.pl-staff-v2-label {
  margin: 0 0 34px !important;

  color: var(--staff-green);

  font-size: 10px;
  font-weight: 900;
  letter-spacing: .2em;
}

.pl-staff-v2-philosophy__layout {
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  gap: 100px;
}

.pl-staff-v2-philosophy h2 {
  margin: 0 !important;
  padding: 0 !important;

  color: var(--staff-dark) !important;
  background: none !important;
  border: 0 !important;

  font-size: 42px !important;
  line-height: 1.55 !important;
  letter-spacing: -.02em;
}

.pl-staff-v2-philosophy h2::before,
.pl-staff-v2-philosophy h2::after {
  display: none !important;
}

.pl-staff-v2-philosophy__text {
  padding-top: 6px;
}

.pl-staff-v2-philosophy__lead {
  margin: 0 0 24px !important;

  color: var(--staff-ink) !important;

  font-size: 20px !important;
  font-weight: 800 !important;
  line-height: 1.8 !important;
}

.pl-staff-v2-philosophy__text > p:not(.pl-staff-v2-philosophy__lead) {
  margin: 0 0 18px !important;

  color: #596960;

  font-size: 14px;
  line-height: 2.05;
}


/* ==========================================================
   COMMON HEAD
========================================================== */

.pl-staff-v2-heading {
  display: grid;
  grid-template-columns: 190px 1fr;
  align-items: end;

  margin-bottom: 54px;
  padding-bottom: 21px;

  border-bottom: 1px solid #cdd6cf;
}

.pl-staff-v2-heading > p {
  margin: 0 0 5px !important;

  color: var(--staff-green);

  font-size: 10px;
  font-weight: 900;
  letter-spacing: .14em;
}

.pl-staff-v2-heading h2 {
  margin: 0 !important;
  padding: 0 !important;

  color: var(--staff-dark) !important;
  background: none !important;
  border: 0 !important;

  font-size: 34px !important;
  line-height: 1.45 !important;
}

.pl-staff-v2-heading h2::before,
.pl-staff-v2-heading h2::after {
  display: none !important;
}

.pl-staff-v2-heading--white {
  border-color: rgba(255,255,255,.22);
}

.pl-staff-v2-heading--white > p {
  color: #aecf68;
}

.pl-staff-v2-heading--white h2 {
  color: #fff !important;
}


/* ==========================================================
   REPRESENTATIVE
========================================================== */

.pl-staff-v2-rep {
  padding: 115px 0 130px;

  background: var(--staff-cream);
}

.pl-staff-v2-rep__main {
  display: grid;
  grid-template-columns: 53% 47%;

  align-items: center;

  margin-bottom: 100px;
}

.pl-staff-v2-rep__photo {
  position: relative;
  z-index: 1;
}

.pl-staff-v2-rep__photo img {
  display: block;

  width: 100% !important;
  height: auto !important;

  margin: 0 !important;

  object-fit: initial !important;
}

.pl-staff-v2-rep__intro {
  position: relative;
  z-index: 2;

  margin-left: -50px;
  padding: 55px 58px 54px;

  background: #fff;
}

.pl-staff-v2-role {
  margin: 0 0 8px !important;

  color: var(--staff-green);

  font-size: 12px;
  font-weight: 800;
}

.pl-staff-v2-rep__intro h3 {
  margin: 0 0 31px !important;
  padding: 0 !important;

  color: var(--staff-dark) !important;
  background: none !important;
  border: 0 !important;

  font-size: 38px !important;
  line-height: 1.4 !important;
}

.pl-staff-v2-rep__intro h3::before,
.pl-staff-v2-rep__intro h3::after {
  display: none !important;
}

.pl-staff-v2-rep__catch {
  margin: 0 0 29px !important;
  padding: 25px 0;

  color: var(--staff-dark) !important;

  border-top: 1px solid var(--staff-line);
  border-bottom: 1px solid var(--staff-line);

  font-size: 23px !important;
  font-weight: 800 !important;
  line-height: 1.7 !important;
}

.pl-staff-v2-rep__intro > p:not(.pl-staff-v2-role):not(.pl-staff-v2-rep__catch) {
  margin: 0 0 16px !important;

  color: #5c6a62;

  font-size: 13px;
  line-height: 2;
}


/* representative timeline */

.pl-staff-v2-story {
  position: relative;

  width: min(920px, 100%);
  margin-left: auto;
}

.pl-staff-v2-story__line {
  position: absolute;

  top: 0;
  bottom: 0;
  left: 35px;

  width: 1px;

  background: #c6d1c8;
}

.pl-staff-v2-story__item {
  position: relative;

  display: grid;
  grid-template-columns: 70px 1fr;
  gap: 34px;

  padding: 0 0 54px;
}

.pl-staff-v2-story__item:last-child {
  padding-bottom: 0;
}

.pl-staff-v2-story__item > span {
  position: relative;
  z-index: 2;

  display: flex;
  align-items: center;
  justify-content: center;

  width: 70px;
  height: 70px;

  color: #fff;
  background: var(--staff-green);

  font-size: 13px;
  font-weight: 800;
}

.pl-staff-v2-story__item small {
  display: block;

  margin: 3px 0 8px;

  color: #88968e;

  font-size: 9px;
  font-weight: 800;
  letter-spacing: .14em;
}

.pl-staff-v2-story__item h3 {
  margin: 0 0 13px !important;
  padding: 0 !important;

  color: var(--staff-dark) !important;
  background: none !important;
  border: 0 !important;

  font-size: 21px !important;
  line-height: 1.55 !important;
}

.pl-staff-v2-story__item h3::before,
.pl-staff-v2-story__item h3::after {
  display: none !important;
}

.pl-staff-v2-story__item p {
  max-width: 650px;

  margin: 0 !important;

  color: #5d6b63;

  font-size: 13px;
  line-height: 1.95;
}


/* ==========================================================
   MANAGEMENT
========================================================== */

.pl-staff-v2-management {
  padding: 120px 0 135px;

  background: var(--staff-dark);
}

.pl-staff-v2-manager {
  display: grid;
  grid-template-columns: 55% 45%;

  margin-bottom: 36px;

  background: #fff;
}

.pl-staff-v2-manager:last-child {
  margin-bottom: 0;
}

.pl-staff-v2-manager--reverse .pl-staff-v2-manager__photo {
  order: 2;
}

.pl-staff-v2-manager--reverse .pl-staff-v2-manager__content {
  order: 1;
}

.pl-staff-v2-manager__photo img {
  display: block;

  width: 100% !important;
  height: auto !important;

  margin: 0 !important;

  object-fit: initial !important;
}

.pl-staff-v2-manager__content {
  align-self: center;

  padding: 45px 48px;
}

.pl-staff-v2-manager__number {
  margin: 0 0 28px !important;

  color: #9aa69f;

  font-size: 9px;
  font-weight: 800;
  letter-spacing: .18em;
}

.pl-staff-v2-manager__role {
  margin: 0 0 6px !important;

  color: var(--staff-green);

  font-size: 12px;
  font-weight: 800;
}

.pl-staff-v2-manager__content h3 {
  margin: 0 0 25px !important;
  padding: 0 !important;

  color: var(--staff-dark) !important;
  background: none !important;
  border: 0 !important;

  font-size: 31px !important;
}

.pl-staff-v2-manager__content h3::before,
.pl-staff-v2-manager__content h3::after {
  display: none !important;
}

.pl-staff-v2-manager dl {
  margin: 0 0 24px;
}

.pl-staff-v2-manager dl > div {
  display: grid;
  grid-template-columns: 80px 1fr;

  padding: 11px 0;

  border-top: 1px solid var(--staff-line);
  border-bottom: 1px solid var(--staff-line);
}

.pl-staff-v2-manager dt {
  color: #8a9790;

  font-size: 9px;
  font-weight: 800;
  letter-spacing: .13em;
}

.pl-staff-v2-manager dd {
  margin: 0;

  color: var(--staff-ink);

  font-size: 13px;
}

.pl-staff-v2-manager blockquote {
  margin: 0 !important;
  padding: 0 !important;

  color: var(--staff-ink);

  background: none !important;
  border: 0 !important;

  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.9;
}


/* ==========================================================
   CRAFTSMEN
========================================================== */

.pl-staff-v2-craftsmen {
  padding: 125px 0 140px;

  background: #fff;
}

.pl-staff-v2-craftsmen__intro {
  margin: -20px 0 54px 190px;
}

.pl-staff-v2-craftsmen__intro p {
  margin: 0 !important;

  color: #627168;

  font-size: 14px;
  line-height: 1.95;
}


/* 人物カードではなく人物誌面 */
.pl-staff-v2-members {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));

  column-gap: 28px;
  row-gap: 62px;
}

.pl-staff-v2-member {
  min-width: 0;
}

.pl-staff-v2-member__photo {
  position: relative;

  margin-bottom: 23px;

  background: #edf0ed;
}

.pl-staff-v2-member__photo img {
  display: block;

  width: 100% !important;
  height: auto !important;

  margin: 0 !important;

  object-fit: initial !important;
}

.pl-staff-v2-member__photo > span {
  position: absolute;

  right: 0;
  bottom: 0;

  display: flex;
  align-items: center;
  justify-content: center;

  width: 52px;
  height: 52px;

  color: #fff;
  background: var(--staff-dark);

  font-size: 11px;
  font-weight: 800;
}

.pl-staff-v2-member__body {
  padding-right: 10px;
}

.pl-staff-v2-member__body > small {
  display: block;

  margin-bottom: 6px;

  color: var(--staff-green);

  font-size: 9px;
  font-weight: 900;
  letter-spacing: .16em;
}

.pl-staff-v2-member__body h3 {
  margin: 0 0 5px !important;
  padding: 0 !important;

  color: var(--staff-dark) !important;
  background: none !important;
  border: 0 !important;

  font-size: 24px !important;
  line-height: 1.45 !important;
}

.pl-staff-v2-member__body h3::before,
.pl-staff-v2-member__body h3::after {
  display: none !important;
}

.pl-staff-v2-member__role {
  margin: 0 0 19px !important;

  color: #7f8d85;

  font-size: 11px;
  font-weight: 700;
}

.pl-staff-v2-member dl {
  display: grid;
  grid-template-columns: 65px 1fr;

  margin: 0;
  padding: 11px 0;

  border-top: 1px solid var(--staff-line);
}

.pl-staff-v2-member dt {
  color: #909c95;

  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
}

.pl-staff-v2-member dd {
  margin: 0;

  color: var(--staff-ink);

  font-size: 12px;
}

.pl-staff-v2-member__voice {
  margin: 0 !important;
  padding: 14px 0 0;

  border-top: 1px solid var(--staff-line);

  color: var(--staff-ink);

  font-size: 13px;
  font-weight: 700;
  line-height: 1.8;
}


/* ==========================================================
   OUR STANDARD
========================================================== */

.pl-staff-v2-standard {
  padding: 125px 0 130px;

  background: var(--staff-pale);
}

.pl-staff-v2-standard__heading {
  display: grid;
  grid-template-columns: 33% 67%;

  margin-bottom: 55px;
}

.pl-staff-v2-standard__heading > p {
  margin: 8px 0 0 !important;

  color: var(--staff-green);

  font-size: 10px;
  font-weight: 900;
  letter-spacing: .18em;
}

.pl-staff-v2-standard__heading h2 {
  margin: 0 !important;
  padding: 0 !important;

  color: var(--staff-dark) !important;
  background: none !important;
  border: 0 !important;

  font-size: 38px !important;
  line-height: 1.55 !important;
}

.pl-staff-v2-standard__heading h2::before,
.pl-staff-v2-standard__heading h2::after {
  display: none !important;
}

.pl-staff-v2-standard__list {
  border-top: 1px solid #cbd6cc;
}

.pl-staff-v2-standard__list article {
  display: grid;
  grid-template-columns: 110px 320px 1fr;

  align-items: center;

  min-height: 120px;

  border-bottom: 1px solid #cbd6cc;
}

.pl-staff-v2-standard__list article > span {
  color: var(--staff-green);

  font-size: 28px;
  font-weight: 300;
}

.pl-staff-v2-standard__list h3 {
  margin: 0 !important;
  padding: 0 !important;

  color: var(--staff-dark) !important;
  background: none !important;
  border: 0 !important;

  font-size: 19px !important;
}

.pl-staff-v2-standard__list h3::before,
.pl-staff-v2-standard__list h3::after {
  display: none !important;
}

.pl-staff-v2-standard__list p {
  margin: 0 !important;

  color: #5b6b62;

  font-size: 13px;
  line-height: 1.85;
}


/* ==========================================================
   CONTACT INTRO
========================================================== */

.pl-staff-v2-contact {
  padding: 115px 20px 68px;

  background: #fff;
}

.pl-staff-v2-contact__inner {
  width: min(900px, 100%);
  margin: 0 auto;

  text-align: center;
}

.pl-staff-v2-contact h2 {
  margin: 0 0 23px !important;
  padding: 0 !important;

  color: var(--staff-dark) !important;
  background: none !important;
  border: 0 !important;

  font-size: 39px !important;
  line-height: 1.55 !important;
}

.pl-staff-v2-contact h2::before,
.pl-staff-v2-contact h2::after {
  display: none !important;
}

.pl-staff-v2-contact__inner > p:not(.pl-staff-v2-label) {
  margin: 0 0 27px !important;

  color: #607067;

  font-size: 14px;
  line-height: 1.95;
}

.pl-staff-v2-contact__trust {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;

  gap: 0;

  margin-top: 34px;
}

.pl-staff-v2-contact__trust span {
  padding: 0 20px;

  color: var(--staff-green);

  border-right: 1px solid var(--staff-line);

  font-size: 12px;
  font-weight: 800;
}

.pl-staff-v2-contact__trust span:last-child {
  border-right: 0;
}


/* ==========================================================
   MOBILE
========================================================== */

@media screen and (max-width: 767px) {

  .pl-staff-v2-inner {
    width: calc(100% - 28px);
  }


  /* HERO */
  .pl-staff-v2-hero {
    padding-top: 52px;
  }

  .pl-staff-v2-hero__top {
    width: calc(100% - 36px);

    display: block;

    margin-bottom: 34px;
  }

  .pl-staff-v2-hero__title h1 {
    font-size: 43px !important;
    line-height: 1.23 !important;
  }

  .pl-staff-v2-hero__copy {
    margin-top: 33px;
    padding: 25px 0 0;

    border-top: 1px solid var(--staff-line);
    border-left: 0;
  }

  .pl-staff-v2-hero__copy > strong {
    font-size: 19px;
  }

  .pl-staff-v2-hero__copy > p {
    font-size: 13px;
    line-height: 1.9;
  }

  .pl-staff-v2-hero__visual-label {
    position: static;

    min-width: 0;

    padding: 15px 18px;
  }

  .pl-staff-v2-hero__facts {
    width: 100%;

    grid-template-columns: 1fr;

    border: 0;
  }

  .pl-staff-v2-hero__facts > div {
    padding: 20px 18px;

    border-right: 0;
    border-bottom: 1px solid var(--staff-line);
  }


  /* PHILOSOPHY */
  .pl-staff-v2-philosophy {
    padding: 78px 18px 84px;
  }

  .pl-staff-v2-label {
    margin-bottom: 19px !important;
  }

  .pl-staff-v2-philosophy__layout {
    display: block;
  }

  .pl-staff-v2-philosophy h2 {
    margin-bottom: 32px !important;

    font-size: 29px !important;
  }

  .pl-staff-v2-philosophy__lead {
    font-size: 17px !important;
  }

  .pl-staff-v2-philosophy__text > p:not(.pl-staff-v2-philosophy__lead) {
    font-size: 13px;
    line-height: 1.95;
  }


  /* HEAD */
  .pl-staff-v2-heading {
    display: block;

    margin-bottom: 31px;
  }

  .pl-staff-v2-heading > p {
    margin-bottom: 10px !important;
  }

  .pl-staff-v2-heading h2 {
    font-size: 27px !important;
  }


  /* REPRESENTATIVE */
  .pl-staff-v2-rep {
    padding: 75px 0 84px;
  }

  .pl-staff-v2-rep__main {
    display: block;

    margin-bottom: 65px;
  }

  .pl-staff-v2-rep__intro {
    margin: 0;
    padding: 30px 22px 34px;
  }

  .pl-staff-v2-rep__intro h3 {
    font-size: 29px !important;
  }

  .pl-staff-v2-rep__catch {
    font-size: 19px !important;
  }

  .pl-staff-v2-story {
    width: 100%;
  }

  .pl-staff-v2-story__line {
    left: 23px;
  }

  .pl-staff-v2-story__item {
    grid-template-columns: 47px 1fr;
    gap: 18px;

    padding-bottom: 39px;
  }

  .pl-staff-v2-story__item > span {
    width: 47px;
    height: 47px;

    font-size: 10px;
  }

  .pl-staff-v2-story__item h3 {
    font-size: 17px !important;
  }

  .pl-staff-v2-story__item p {
    font-size: 12px;
    line-height: 1.9;
  }


  /* MANAGEMENT */
  .pl-staff-v2-management {
    padding: 78px 0 87px;
  }

  .pl-staff-v2-manager {
    display: block;

    margin-bottom: 22px;
  }

  .pl-staff-v2-manager--reverse .pl-staff-v2-manager__photo,
  .pl-staff-v2-manager--reverse .pl-staff-v2-manager__content {
    order: initial;
  }

  .pl-staff-v2-manager__content {
    padding: 27px 21px 31px;
  }

  .pl-staff-v2-manager__number {
    margin-bottom: 18px !important;
  }

  .pl-staff-v2-manager__content h3 {
    font-size: 26px !important;
  }

  .pl-staff-v2-manager blockquote {
    font-size: 14px;
  }


  /* CRAFTSMEN */
  .pl-staff-v2-craftsmen {
    padding: 80px 0 90px;
  }

  .pl-staff-v2-craftsmen__intro {
    margin: 0 0 35px;
  }

  .pl-staff-v2-craftsmen__intro p {
    font-size: 13px;
  }

  .pl-staff-v2-members {
    grid-template-columns: repeat(2, minmax(0, 1fr));

    column-gap: 10px;
    row-gap: 40px;
  }

  .pl-staff-v2-member__photo {
    margin-bottom: 15px;
  }

  .pl-staff-v2-member__photo > span {
    width: 38px;
    height: 38px;

    font-size: 9px;
  }

  .pl-staff-v2-member__body {
    padding-right: 2px;
  }

  .pl-staff-v2-member__body h3 {
    font-size: 17px !important;
  }

  .pl-staff-v2-member__role {
    margin-bottom: 12px !important;

    font-size: 10px;
  }

  .pl-staff-v2-member dl {
    display: block;

    padding: 8px 0;
  }

  .pl-staff-v2-member dt {
    margin-bottom: 3px;
  }

  .pl-staff-v2-member dd {
    font-size: 11px;
  }

  .pl-staff-v2-member__voice {
    padding-top: 9px;

    font-size: 11px;
    line-height: 1.65;
  }


  /* STANDARD */
  .pl-staff-v2-standard {
    padding: 78px 0 86px;
  }

  .pl-staff-v2-standard__heading {
    display: block;

    margin-bottom: 30px;
  }

  .pl-staff-v2-standard__heading > p {
    margin-bottom: 10px !important;
  }

  .pl-staff-v2-standard__heading h2 {
    font-size: 27px !important;
  }

  .pl-staff-v2-standard__list article {
    display: grid;
    grid-template-columns: 47px 1fr;

    min-height: 0;

    padding: 22px 0;
  }

  .pl-staff-v2-standard__list article > span {
    grid-row: 1 / 3;

    font-size: 21px;
  }

  .pl-staff-v2-standard__list h3 {
    font-size: 16px !important;
  }

  .pl-staff-v2-standard__list p {
    margin-top: 7px !important;

    font-size: 11px;
  }


  /* CONTACT */
  .pl-staff-v2-contact {
    padding: 78px 18px 48px;
  }

  .pl-staff-v2-contact h2 {
    font-size: 28px !important;
  }

  .pl-staff-v2-contact__inner > p:not(.pl-staff-v2-label) {
    font-size: 13px;
  }

  .pl-staff-v2-contact__trust {
    display: grid;
    grid-template-columns: repeat(2, 1fr);

    border-top: 1px solid var(--staff-line);
    border-left: 1px solid var(--staff-line);
  }

  .pl-staff-v2-contact__trust span {
    padding: 12px 5px;

    border-right: 1px solid var(--staff-line);
    border-bottom: 1px solid var(--staff-line);

    font-size: 10px;
  }

}
/* ==================================================
   スタッフ紹介ページ
   Cocoon標準タイトル・日付・サイドバーを削除
================================================== */

/* スタッフページではCocoonの標準ヘッダー情報を非表示 */
body:has(.pl-staff-v2) .article-header {
  display: none !important;
}

/* 念のためタイトル・投稿日・更新日も個別に非表示 */
body:has(.pl-staff-v2) .entry-title,
body:has(.pl-staff-v2) .date-tags,
body:has(.pl-staff-v2) .post-date,
body:has(.pl-staff-v2) .post-update {
  display: none !important;
}

/* 右サイドバーを完全に非表示 */
body:has(.pl-staff-v2) #sidebar,
body:has(.pl-staff-v2) .sidebar {
  display: none !important;
}

/* 本文エリアを100%幅へ */
body:has(.pl-staff-v2) #main,
body:has(.pl-staff-v2) .main {
  width: 100% !important;
  max-width: none !important;
  flex: 0 0 100% !important;
  margin: 0 !important;
}

/* Cocoonの2カラム用余白を解除 */
body:has(.pl-staff-v2) #content-in,
body:has(.pl-staff-v2) .content-in {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
}

/* 本文上部の余計な余白を削除 */
body:has(.pl-staff-v2) .entry-content {
  margin-top: 0 !important;
}

/* 記事本体の不要な余白も解除 */
body:has(.pl-staff-v2) article.article {
  margin-top: 0 !important;
}
/* 施工管理2名：左右反転しても写真・文章の幅を統一 */
.pl-staff-v2-manager--reverse {
  grid-template-columns: 45% 55% !important;
}
/* スタッフ紹介：引用符を消す */
.pl-staff-v2-manager blockquote::before,
.pl-staff-v2-manager blockquote::after {
  display: none !important;
  content: none !important;
}


/* =========================================================
   スタッフ紹介ページ：TOP 30秒フォームを同一デザインで共通利用
   TOP側は変更せず、page-id-85 のみ同じ配置ルールを適用
========================================================= */

/* =========================================================
   TOP画像フォーム PC幅・位置 修正版
========================================================= */

/* TOPのCF7外側についている制限を全部解除 */
body.page-id-85 .wpcf7:has(.pl-visual-form) {
  width: 100% !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}


/* CF7のform自体も横幅100% */
body.page-id-85 .wpcf7:has(.pl-visual-form) form {
  width: 100% !important;
  max-width: none !important;

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


/* =========================================================
   背景画像本体
========================================================= */

body.page-id-85 .pl-visual-form {
  position: relative !important;

  width: min(1220px, calc(100vw - 40px)) !important;
  max-width: 1220px !important;

  aspect-ratio: 3 / 2 !important;

  margin: 55px auto !important;

  background-image:
    url("https://paintleaf-osaka.com/wp-content/uploads/2026/09/paintleaf-osaka-top-contact-form-bg.webp") !important;

  background-size: 100% 100% !important;
  background-repeat: no-repeat !important;
  background-position: center !important;

  overflow: hidden !important;

  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}


/* =========================================================
   白い点線エリアに本物フォームをピッタリ配置
========================================================= */

body.page-id-85 .pl-visual-form__live {
  position: absolute !important;

  left: 6.1% !important;
  top: 36.3% !important;

  width: 87.8% !important;
  height: 35.0% !important;

  margin: 0 !important;

  padding: 1.3% 3.2% 1.2% !important;

  box-sizing: border-box !important;

  background: #fff !important;

  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;

  z-index: 5 !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}


/* =========================================================
   PCフォーム内部を少しコンパクトに
========================================================= */

body.page-id-85 .pl-vf-row {
  display: grid !important;

  grid-template-columns:
    135px minmax(0, 1fr) !important;

  gap: 16px !important;

  align-items: center !important;

  min-height: 51px !important;

  padding: 0 !important;

  border-bottom: 1px solid #e8ece8 !important;
}


body.page-id-85 .pl-vf-row--check {
  min-height: 45px !important;
}


body.page-id-85 .pl-vf-label {
  margin: 0 !important;
  padding: 0 !important;

  font-size: 13px !important;
}


body.page-id-85 .pl-visual-form input[type="text"],
body.page-id-85 .pl-visual-form input[type="tel"] {
  width: 100% !important;
  height: 42px !important;

  padding: 0 14px !important;

  box-sizing: border-box !important;

  font-size: 14px !important;
}


body.page-id-85 .pl-vf-control .wpcf7-list-item {
  margin: 2px 14px 2px 0 !important;
}


body.page-id-85 .pl-vf-control .wpcf7-list-item label {
  font-size: 11px !important;
}


body.page-id-85 .pl-vf-control input[type="checkbox"] {
  width: 17px !important;
  height: 17px !important;
}


/* 同意 */
body.page-id-85 .pl-vf-bottom {
  padding-top: 8px !important;
}


body.page-id-85 .pl-vf-privacy {
  margin-bottom: 7px !important;

  font-size: 9px !important;
}


/* ボタン */
body.page-id-85 .pl-vf-submit {
  width: 390px !important;
  max-width: 100% !important;

  margin: 0 auto !important;
}


body.page-id-85 .pl-vf-submit input[type="submit"] {
  height: 48px !important;

  font-size: 14px !important;

  border-radius: 30px !important;
}


/* =========================================================
   スマホは以前の縦型を維持
========================================================= */

@media screen and (max-width: 768px) {

  body.page-id-85 .pl-visual-form {
    width: calc(100% - 20px) !important;

    aspect-ratio: auto !important;

    min-height: 720px !important;

    margin: 30px auto !important;

    background-size: auto 360px !important;
    background-position: top center !important;

    background-color: #f4f9ed !important;

    border-radius: 12px !important;
  }


  body.page-id-85 .pl-visual-form__live {
    position: relative !important;

    left: auto !important;
    top: auto !important;

    width: calc(100% - 24px) !important;
    height: auto !important;

    margin: 300px auto 0 !important;

    padding: 22px 16px 24px !important;

    background: #fff !important;

    border-radius: 12px !important;

    box-shadow:
      0 8px 25px rgba(28,83,56,.10) !important;
  }


  body.page-id-85 .pl-vf-row {
    display: block !important;

    min-height: 0 !important;

    padding: 11px 0 !important;
  }


  body.page-id-85 .pl-vf-label {
    margin-bottom: 7px !important;
  }


  body.page-id-85 .pl-visual-form input[type="text"],
  body.page-id-85 .pl-visual-form input[type="tel"] {
    height: 48px !important;

    font-size: 16px !important;
  }


  body.page-id-85 .pl-vf-submit {
    width: 100% !important;
  }


  body.page-id-85 .pl-vf-submit input[type="submit"] {
    height: 55px !important;
  }

}


@media screen and (max-width: 767px) {

  /* =========================================
     フォーム全体
  ========================================= */

  body.page-id-85 .pl-visual-form {
    position: relative !important;

    width: calc(100% - 20px) !important;
    max-width: 430px !important;

    min-height: 0 !important;
    aspect-ratio: auto !important;

    margin: 28px auto 34px !important;

    /* PC画像は背景として使わない */
    background-image: none !important;
    background-color: #f3f7ee !important;

    /*
      上部にPC画像の「見出し部分だけ」を
      表示するためのスペース
    */
    padding:
      calc(22% + 12px)
      10px
      16px !important;

    box-sizing: border-box !important;

    border-radius: 14px !important;

    overflow: hidden !important;
  }


  /* =========================================
     元画像の上部だけ使用
     30秒・見出し・住宅・職人
  ========================================= */

  body.page-id-85 .pl-visual-form::before {
    content: "" !important;

    position: absolute !important;

    top: 0 !important;
    left: 0 !important;

    width: 100% !important;

    aspect-ratio: 1000 / 220 !important;

    background-image:
      url("https://paintleaf-osaka.com/wp-content/uploads/2026/09/paintleaf-osaka-top-contact-form-bg.webp") !important;

    background-size: 100% auto !important;
    background-repeat: no-repeat !important;
    background-position: top center !important;

    z-index: 1 !important;
  }


  /* =========================================
     本物のCF7フォーム
  ========================================= */

  body.page-id-85 .pl-visual-form__live {
    position: relative !important;

    left: auto !important;
    top: auto !important;

    width: 100% !important;
    height: auto !important;

    margin: 0 !important;

    padding: 20px 14px 16px !important;

    box-sizing: border-box !important;

    background: #fff !important;

    border: 1px solid #dce7d9 !important;
    border-radius: 12px !important;

    box-shadow:
      0 6px 18px rgba(28,83,56,.08) !important;

    display: block !important;

    transform: none !important;

    z-index: 5 !important;
  }


  /* =========================================
     各項目
  ========================================= */

  body.page-id-85 .pl-visual-form .pl-vf-row {
    display: block !important;

    min-height: 0 !important;

    margin: 0 0 18px !important;

    padding: 0 0 18px !important;

    transform: none !important;

    border-bottom: 1px solid #e8ece8 !important;
  }


  body.page-id-85 .pl-visual-form
  .pl-vf-row:not(.pl-vf-row--check)
  + .pl-vf-row {
    margin-top: 0 !important;
  }


  /* 希望内容 */
  body.page-id-85 .pl-visual-form .pl-vf-row--check {
    margin: 0 0 18px !important;
    padding: 0 0 18px !important;

    transform: none !important;
  }


  /* ラベル */
  body.page-id-85 .pl-visual-form .pl-vf-label {
    display: block !important;

    margin: 0 0 10px !important;
    padding: 0 !important;

    color: #087847 !important;

    font-size: 14px !important;
    font-weight: 700 !important;

    line-height: 1.5 !important;

    white-space: normal !important;

    transform: none !important;
  }


  /* =========================================
     チェックボックス
  ========================================= */

  body.page-id-85
  .pl-visual-form
  .pl-vf-control
  .wpcf7-checkbox {
    display: grid !important;

    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;

    gap: 12px 8px !important;
  }


  body.page-id-85
  .pl-visual-form
  .pl-vf-control
  .wpcf7-list-item {
    margin: 0 !important;
  }


  body.page-id-85
  .pl-visual-form
  .pl-vf-control
  .wpcf7-list-item label {
    display: flex !important;

    align-items: center !important;

    gap: 7px !important;

    font-size: 13px !important;
    line-height: 1.4 !important;
  }


  body.page-id-85
  .pl-visual-form
  .pl-vf-control
  input[type="checkbox"] {
    width: 21px !important;
    height: 21px !important;

    flex: 0 0 21px !important;
  }


  /* =========================================
     名前・電話番号
  ========================================= */

  body.page-id-85 .pl-visual-form input[type="text"],
  body.page-id-85 .pl-visual-form input[type="tel"] {
    width: 100% !important;
    height: 52px !important;

    margin: 0 !important;

    padding: 0 14px !important;

    box-sizing: border-box !important;

    border: 1px solid #ccd6cf !important;
    border-radius: 8px !important;

    background: #fff !important;

    font-size: 16px !important;

    transform: none !important;
  }


  /* =========================================
     エラー「入力してください」
  ========================================= */

  body.page-id-85
  .pl-visual-form
  .wpcf7-not-valid-tip {
    position: static !important;

    display: block !important;

    margin: 6px 0 0 !important;

    color: #c62828 !important;

    font-size: 12px !important;
    font-weight: 700 !important;

    line-height: 1.5 !important;
  }


  /* =========================================
     送信ボタン
  ========================================= */

  body.page-id-85 .pl-visual-form .pl-vf-bottom {
    margin: 2px 0 0 !important;
    padding: 0 !important;

    transform: none !important;
  }


  body.page-id-85 .pl-visual-form .pl-vf-submit {
    width: 100% !important;

    margin: 0 !important;
  }


  body.page-id-85
  .pl-visual-form
  .pl-vf-submit
  input[type="submit"] {
    width: 100% !important;
    height: 56px !important;

    margin: 0 !important;

    font-size: 15px !important;

    border-radius: 30px !important;
  }


  /* =========================================
     CF7 メッセージ
  ========================================= */

  body.page-id-85
  .pl-visual-form
  .wpcf7-response-output {
    position: static !important;

    margin: 12px 0 0 !important;

    padding: 9px !important;

    font-size: 12px !important;
  }


  body.page-id-85
  .pl-visual-form
  .wpcf7-spinner {
    position: static !important;

    display: block !important;

    margin: 8px auto 0 !important;
  }


  /* =========================================
     スマホ用 安心項目
  ========================================= */

  body.page-id-85 .pl-visual-form__live::after {
    content:
      "相談無料　｜　現地調査無料\A 相見積もり歓迎　｜　しつこい営業なし";

    white-space: pre-line;

    display: block;

    margin-top: 15px;

    padding: 11px 6px;

    color: #087847;

    background: #f1f7ec;

    border-radius: 9px;

    font-size: 11px;
    font-weight: 700;

    line-height: 1.8;

    text-align: center;
  }


 /* =========================================
   メール・詳しいお問い合わせへの導線
========================================= */

body.page-id-85
.pl-visual-form
.pl-visual-form__contact-link {
  position: relative !important;

  left: auto !important;
  bottom: auto !important;

  width: 100% !important;
  height: auto !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;

  box-sizing: border-box !important;

  margin: 12px 0 0 !important;

  padding: 13px 10px 14px !important;

  color: #087847 !important;
  background: #fff !important;

  border: 1px solid #d6e3d4 !important;
  border-radius: 10px !important;

  font-size: 0 !important;
  text-decoration: none !important;

  z-index: 10 !important;
}


/* 上の説明 */
body.page-id-85
.pl-visual-form
.pl-visual-form__contact-link::before {
  content: "電話が苦手な方・メールで相談したい方へ";

  display: block;

  margin-bottom: 5px;

  color: #68746d !important;

  font-size: 11px !important;
  font-weight: 500 !important;

  line-height: 1.5 !important;
}


/* メイン文字 */
body.page-id-85
.pl-visual-form
.pl-visual-form__contact-link::after {
  content: "詳しいお問い合わせフォームへ →";

  display: block;

  color: #087847 !important;

  font-size: 14px !important;
  font-weight: 700 !important;

  line-height: 1.5 !important;
}

}


/* ========================================
   TOP簡易フォーム
   スマホは上部画像を画面いっぱいに表示
======================================== */
@media screen and (max-width: 767px) {

  /* フォーム全体を画面幅まで広げる */
  body.page-id-85 .pl-visual-form {
    width: 100vw !important;
    max-width: none !important;

    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    padding-top: 42% !important;

    border-radius: 0 !important;
  }

  /* 上部画像 */
  body.page-id-85 .pl-visual-form::before {
    width: 100vw !important;
    height: 42vw !important;

    aspect-ratio: auto !important;

    background-size: 100% auto !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;
  }

  /* 本物のフォームは左右に少し余白を残す */
  body.page-id-85 .pl-visual-form__live {
    width: calc(100% - 24px) !important;

    margin-left: auto !important;
    margin-right: auto !important;
  }

}
/* ========================================
   TOP簡易フォーム スマホ
   上部画像をグリーン部分だけにする
======================================== */
@media screen and (max-width: 767px) {

  body.page-id-85 .pl-visual-form {
    /* 42% → 上部デザイン部分だけ */
    padding-top: 24vw !important;
  }

  body.page-id-85 .pl-visual-form::before {
    width: 100vw !important;
    height: 24vw !important;

    aspect-ratio: auto !important;

    background-size: 100vw auto !important;
    background-position: top center !important;
    background-repeat: no-repeat !important;
  }

  /* 本物のフォームを画像直下へ */
  body.page-id-85 .pl-visual-form__live {
    margin-top: 0 !important;
  }

}
/* ========================================
   TOP簡易フォーム
   スマホ専用ヘッダー画像
======================================== */
@media screen and (max-width: 767px) {

  body.page-id-85 .pl-visual-form {
    width: 100vw !important;
    max-width: none !important;

    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    /* 3:1画像の高さ */
    padding-top: 33.333vw !important;

    background-image: none !important;
    background-color: #f3f7ee !important;

    border-radius: 0 !important;
  }

  /* スマホ専用画像 */
  body.page-id-85 .pl-visual-form::before {
    content: "" !important;

    position: absolute !important;

    top: 0 !important;
    left: 0 !important;

    width: 100vw !important;
    height: 33.333vw !important;

    background-image:
      url("https://paintleaf-osaka.com/wp-content/uploads/2026/09/paintleaf-osaka-top-contact-mobile.webp") !important;

    background-size: 100% 100% !important;
    background-position: center !important;
    background-repeat: no-repeat !important;

    z-index: 1 !important;
  }

  /* 本物のフォームは画像のすぐ下 */
  body.page-id-85 .pl-visual-form__live {
    width: calc(100% - 24px) !important;

    margin: 0 auto !important;
  }

}

/* =========================================================
   2026-09-27 TOP セクション見出し統一
   ・全セクションのタイトル帯を #006633 に統一
   ・見出し・英語ラベルは白に統一
   ・本文背景は白
   ・問い合わせフォームには一切触れない
========================================================= */

body.home {
  --pl-section-band: #006633;
  --pl-section-band-light: #006633;
  --pl-section-accent: #ffffff;
  --pl-section-light-text: #ffffff;
  --pl-section-text: #111111;
  --pl-section-sub: #222222;
}

/* ---------------------------------------------------------
   全セクション背景を白へ統一
--------------------------------------------------------- */
body.home .pl-deterioration,
body.home .pl-reason-feature,
body.home .pl-staff-visual,
body.home .pl-works-demo,
body.home .pl-price-home,
body.home .pl-compare-home,
body.home .pl-voice-home,
body.home .pl-local-area,
body.home .pl-flow-home,
body.home .pl-faq-home {
  background: #fff !important;
  background-image: none !important;
  box-shadow: none !important;
}

body.home .pl-deterioration,
body.home .pl-reason-feature,
body.home .pl-works-demo,
body.home .pl-price-home,
body.home .pl-compare-home,
body.home .pl-voice-home,
body.home .pl-local-area,
body.home .pl-flow-home,
body.home .pl-faq-home {
  padding-top: 0 !important;
}

/* ---------------------------------------------------------
   CHECK POINT：英語なし・白背景
--------------------------------------------------------- */
body.home .pl-deterioration__label {
  display: none !important;
}

body.home .pl-deterioration__heading h2 {
  display: block !important;
  width: 100vw !important;
  box-sizing: border-box !important;
  margin: 0 0 0 calc(50% - 50vw) !important;
  padding: 32px 20px 31px !important;
  color: #073d2d !important;
  background: #ffffff !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 36px !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
  text-align: center !important;
}

/* ---------------------------------------------------------
   WHY PAINTLEAF / LOCAL SERVICE：統一グリーン帯
--------------------------------------------------------- */
body.home .pl-reason-feature__label,
body.home .pl-local-area__label {
  display: block !important;
  width: 100vw !important;
  box-sizing: border-box !important;
  margin: 0 0 0 calc(50% - 50vw) !important;
  padding: 28px 20px 6px !important;
  color: var(--pl-section-accent) !important;
  background: var(--pl-section-band) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.4 !important;
  letter-spacing: .16em !important;
  text-align: center !important;
}

body.home .pl-reason-feature__heading h2,
body.home .pl-local-area__heading h2 {
  display: block !important;
  width: 100vw !important;
  box-sizing: border-box !important;
  margin: 0 0 0 calc(50% - 50vw) !important;
  padding: 0 20px 31px !important;
  color: var(--pl-section-light-text) !important;
  background: var(--pl-section-band) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 36px !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
  text-align: center !important;
}

body.home .pl-deterioration__heading h2::before,
body.home .pl-deterioration__heading h2::after,
body.home .pl-reason-feature__heading h2::before,
body.home .pl-reason-feature__heading h2::after,
body.home .pl-local-area__heading h2::before,
body.home .pl-local-area__heading h2::after {
  display: none !important;
  content: none !important;
}

body.home .pl-deterioration__lead,
body.home .pl-reason-feature__lead,
body.home .pl-local-area__lead {
  margin: 28px 0 0 !important;
  color: var(--pl-section-text) !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  line-height: 1.9 !important;
  text-align: center !important;
}

body.home .pl-deterioration__heading,
body.home .pl-reason-feature__heading,
body.home .pl-local-area__heading {
  margin-bottom: 46px !important;
  text-align: center !important;
}

/* ---------------------------------------------------------
   施工事例 / 料金 / お客様の声 / 工事の流れ / FAQ：統一グリーン帯
--------------------------------------------------------- */
body.home .pl-works-demo__heading h2,
body.home .pl-price-home__heading h2,
body.home .pl-voice-home__heading h2,
body.home .pl-flow-home__heading h2,
body.home .pl-faq-home__heading h2 {
  display: block !important;
  width: 100vw !important;
  box-sizing: border-box !important;
  margin: 0 0 0 calc(50% - 50vw) !important;
  padding: 31px 20px 33px !important;
  color: var(--pl-section-light-text) !important;
  background: var(--pl-section-band) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 36px !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
  text-align: center !important;
}

body.home .pl-works-demo__heading h2::before,
body.home .pl-works-demo__heading h2::after,
body.home .pl-price-home__heading h2::before,
body.home .pl-price-home__heading h2::after,
body.home .pl-voice-home__heading h2::before,
body.home .pl-voice-home__heading h2::after,
body.home .pl-flow-home__heading h2::before,
body.home .pl-flow-home__heading h2::after,
body.home .pl-faq-home__heading h2::before,
body.home .pl-faq-home__heading h2::after {
  display: none !important;
  content: none !important;
}

body.home .pl-works-demo__heading p,
body.home .pl-price-home__heading p,
body.home .pl-voice-home__heading p,
body.home .pl-flow-home__heading p,
body.home .pl-faq-home__heading p {
  margin: 28px 0 0 !important;
  color: var(--pl-section-text) !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  line-height: 1.9 !important;
  text-align: center !important;
}

body.home .pl-works-demo__heading,
body.home .pl-price-home__heading,
body.home .pl-voice-home__heading,
body.home .pl-flow-home__heading,
body.home .pl-faq-home__heading {
  margin-bottom: 44px !important;
  text-align: center !important;
}

/* ---------------------------------------------------------
   相見積もり歓迎：統一グリーン帯
--------------------------------------------------------- */
body.home .pl-compare-home__badge {
  display: block !important;
  width: 100vw !important;
  box-sizing: border-box !important;
  margin: 0 0 0 calc(50% - 50vw) !important;
  padding: 27px 20px 6px !important;
  color: var(--pl-section-accent) !important;
  background: var(--pl-section-band) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.4 !important;
  letter-spacing: .08em !important;
  text-align: center !important;
}

body.home .pl-compare-home__heading h2 {
  display: block !important;
  width: 100vw !important;
  box-sizing: border-box !important;
  margin: 0 0 0 calc(50% - 50vw) !important;
  padding: 0 20px 31px !important;
  color: var(--pl-section-light-text) !important;
  background: var(--pl-section-band) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 36px !important;
  font-weight: 800 !important;
  line-height: 1.5 !important;
  text-align: center !important;
}

body.home .pl-compare-home__heading h2 span {
  color: #ffffff !important;
}

body.home .pl-compare-home__heading h2::before,
body.home .pl-compare-home__heading h2::after {
  display: none !important;
  content: none !important;
}

body.home .pl-compare-home__heading p {
  margin: 28px 0 0 !important;
  color: var(--pl-section-text) !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  line-height: 1.9 !important;
  text-align: center !important;
}

body.home .pl-compare-home__heading {
  margin-bottom: 42px !important;
}

body.home .pl-compare-point {
  background: #fff !important;
  color: var(--pl-section-text) !important;
  border: 1px solid #d9e2dc !important;
  box-shadow: none !important;
}

body.home .pl-compare-point strong {
  color: #1b2a23 !important;
}

body.home .pl-compare-point p,
body.home .pl-compare-home__message p {
  color: var(--pl-section-text) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.85 !important;
}

/* ---------------------------------------------------------
   スタッフ紹介：統一グリーン帯
--------------------------------------------------------- */
body.home .pl-staff-section-heading {
  width: 100vw !important;
  box-sizing: border-box !important;
  margin: 0 0 42px calc(50% - 50vw) !important;
  padding: 27px 20px 31px !important;
  background: var(--pl-section-band) !important;
  text-align: center !important;
}

body.home .pl-staff-section-heading__label {
  margin: 0 0 7px !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.4 !important;
  letter-spacing: .12em !important;
}

body.home .pl-staff-section-heading h2 {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--pl-section-light-text) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  font-size: 36px !important;
  font-weight: 800 !important;
  line-height: 1.4 !important;
  text-align: center !important;
}

body.home .pl-staff-section-heading h2::before,
body.home .pl-staff-section-heading h2::after {
  display: none !important;
  content: none !important;
}

/* ---------------------------------------------------------
   本文・カード文字：小さすぎる文字だけを各セクション個別に改善
   フォームには適用しない
--------------------------------------------------------- */
body.home .pl-deterioration-card__body h3,
body.home .pl-reason-feature__body h3,
body.home .pl-work-card__body h3,
body.home .pl-price-card h3,
body.home .pl-voice-card h3,
body.home .pl-local-card__body h3,
body.home .pl-flow-step h3,
body.home .pl-faq-item summary {
  color: #111 !important;
}

body.home .pl-deterioration-card__body p,
body.home .pl-reason-feature__body > p:not(.pl-reason-feature__catch),
body.home .pl-voice-card p,
body.home .pl-local-card__body p,
body.home .pl-flow-step p,
body.home .pl-faq-item__answer p {
  color: var(--pl-section-text) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.85 !important;
}

body.home .pl-reason-feature__catch {
  color: #111 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.7 !important;
}

body.home .pl-work-card__type {
  color: #222 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

body.home .pl-work-card__body h3 {
  font-size: 20px !important;
  line-height: 1.55 !important;
}

body.home .pl-work-card__price span,
body.home .pl-work-card__price b,
body.home .pl-work-card__note {
  color: #222 !important;
  font-size: 14px !important;
}

body.home .pl-price-card__label,
body.home .pl-price-card__tax,
body.home .pl-price-home__notice {
  color: #222 !important;
  font-size: 14px !important;
  line-height: 1.75 !important;
}

body.home .pl-local-area__trust-item p,
body.home .pl-local-area__message {
  color: var(--pl-section-text) !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
}

/* =========================================================
   スマホ
========================================================= */
@media screen and (max-width: 767px) {

  body.home .pl-deterioration,
  body.home .pl-reason-feature,
  body.home .pl-works-demo,
  body.home .pl-price-home,
  body.home .pl-compare-home,
  body.home .pl-voice-home,
  body.home .pl-local-area,
  body.home .pl-flow-home,
  body.home .pl-faq-home {
    padding-top: 0 !important;
  }

  body.home .pl-deterioration__label {
    display: none !important;
  }

  body.home .pl-reason-feature__label,
  body.home .pl-local-area__label {
    padding: 21px 14px 5px !important;
    font-size: 12px !important;
  }

  body.home .pl-deterioration__heading h2 {
    padding: 25px 14px 23px !important;
    color: #073d2d !important;
    background: #ffffff !important;
    font-size: 27px !important;
    line-height: 1.45 !important;
  }

  body.home .pl-reason-feature__heading h2,
  body.home .pl-local-area__heading h2 {
    padding: 0 14px 23px !important;
    font-size: 27px !important;
    line-height: 1.45 !important;
  }

  body.home .pl-works-demo__heading h2,
  body.home .pl-price-home__heading h2,
  body.home .pl-voice-home__heading h2,
  body.home .pl-flow-home__heading h2,
  body.home .pl-faq-home__heading h2 {
    padding: 23px 14px 24px !important;
    font-size: 27px !important;
    line-height: 1.45 !important;
  }

  body.home .pl-compare-home__badge {
    padding: 21px 14px 5px !important;
    font-size: 12px !important;
  }

  body.home .pl-compare-home__heading h2 {
    padding: 0 14px 23px !important;
    font-size: 26px !important;
    line-height: 1.5 !important;
  }

  body.home .pl-deterioration__lead,
  body.home .pl-reason-feature__lead,
  body.home .pl-local-area__lead,
  body.home .pl-works-demo__heading p,
  body.home .pl-price-home__heading p,
  body.home .pl-voice-home__heading p,
  body.home .pl-flow-home__heading p,
  body.home .pl-faq-home__heading p,
  body.home .pl-compare-home__heading p {
    margin-top: 21px !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
    color: #111 !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.8 !important;
  }

  body.home .pl-deterioration__heading,
  body.home .pl-reason-feature__heading,
  body.home .pl-local-area__heading,
  body.home .pl-works-demo__heading,
  body.home .pl-price-home__heading,
  body.home .pl-voice-home__heading,
  body.home .pl-flow-home__heading,
  body.home .pl-faq-home__heading,
  body.home .pl-compare-home__heading {
    margin-bottom: 30px !important;
  }

  body.home .pl-staff-section-heading {
    margin-bottom: 0 !important;
    padding: 24px 16px 27px !important;
  }

  body.home .pl-staff-section-heading__label {
    margin-bottom: 7px !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    letter-spacing: .10em !important;
  }

  body.home .pl-staff-section-heading h2 {
    font-size: 31px !important;
    line-height: 1.4 !important;
  }

  body.home .pl-deterioration-card__body p,
  body.home .pl-reason-feature__body > p:not(.pl-reason-feature__catch),
  body.home .pl-voice-card p,
  body.home .pl-local-card__body p,
  body.home .pl-flow-step p,
  body.home .pl-faq-item__answer p,
  body.home .pl-compare-point p,
  body.home .pl-compare-home__message p {
    color: #111 !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.78 !important;
  }

  body.home .pl-reason-feature__catch {
    font-size: 15px !important;
  }

  body.home .pl-work-card__type,
  body.home .pl-work-card__price span,
  body.home .pl-work-card__price b,
  body.home .pl-work-card__note,
  body.home .pl-price-card__label,
  body.home .pl-price-card__tax,
  body.home .pl-price-home__notice,
  body.home .pl-local-area__trust-item p,
  body.home .pl-local-area__message {
    color: #111 !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
  }

  body.home .pl-work-card__body h3 {
    color: #111 !important;
    font-size: 17px !important;
    line-height: 1.55 !important;
  }
}
/* =========================================================
   TOP 施工事例 見出し スマホ最終調整
========================================================= */
@media screen and (max-width: 767px) {
  body.home .pl-works-demo__heading h2 {
    padding: 26px 16px 28px !important;
    font-size: 31px !important;
    line-height: 1.35 !important;
  }

  body.home .pl-works-demo__heading p {
    margin-top: 25px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    color: #111 !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    line-height: 1.9 !important;
  }
}

/* =========================================================
   2026-09-28 TOP 再構築 STEP1
   - 反響の取れている既存キービジュアルを最上部・主役に復元
   - SEO H1は小さく自然に追加
   - 4分割の信頼BOXを撤去し、コンパクトな信頼バーへ
   - 施工事例を上部へ
   - お客様の声を施工事例の次へ
   - CHECK POINT英字を削除、劣化症状見出しは白背景
   - 120% / 多数在籍表現は使用しない
   - フォーム関連CSSは変更しない
========================================================= */

:root {
  --pl-brand-green: #006633;
  --pl-brand-deep: #073d2d;
  --pl-body-text: #171717;
  --pl-soft-line: #d9e3dc;
  --pl-offwhite: #f7f9f7;
}

/* ---------------------------------------------------------
   HERO：既存キービジュアルを最上部・主役に
--------------------------------------------------------- */
body.home .pl-mainvisual {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background: #fff !important;
}

body.home .pl-mainvisual__inner {
  width: min(1448px, 100%) !important;
  margin: 0 auto !important;
}

body.home .pl-mainvisual__image {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
}

/* ---------------------------------------------------------
   SEO H1：画像を邪魔しない、控えめな補助情報
--------------------------------------------------------- */
body.home .pl-home-seo-intro {
  width: min(1120px, calc(100% - 40px));
  margin: 0 auto;
  padding: 24px 0 18px;
  text-align: center;
  background: #fff;
}

body.home .pl-home-seo-intro__area {
  margin: 0 0 7px !important;
  color: var(--pl-brand-green) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.5 !important;
  letter-spacing: .04em !important;
  text-align: center !important;
}

body.home .pl-home-seo-intro h1 {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--pl-brand-deep) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  font-size: clamp(22px, 2.25vw, 30px) !important;
  font-weight: 800 !important;
  line-height: 1.55 !important;
  letter-spacing: .01em !important;
  text-align: center !important;
}

body.home .pl-home-seo-intro h1::before,
body.home .pl-home-seo-intro h1::after {
  display: none !important;
  content: none !important;
}

/* ---------------------------------------------------------
   信頼情報：大きな4分割BOXは使わない
--------------------------------------------------------- */
body.home .pl-home-trust-strip {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding: 0 20px 34px;
  box-sizing: border-box;
  background: #fff;
}

body.home .pl-home-trust-strip__inner {
  width: min(1040px, 100%);
  min-height: 48px;
  margin: 0 auto;
  padding: 10px 18px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0;
  background: var(--pl-offwhite);
  border-top: 1px solid var(--pl-soft-line);
  border-bottom: 1px solid var(--pl-soft-line);
}

body.home .pl-home-trust-strip__inner span {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 16px;
  color: #25332c;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  white-space: nowrap;
}

body.home .pl-home-trust-strip__inner span + span::before {
  position: absolute;
  left: 0;
  top: 50%;
  width: 1px;
  height: 18px;
  background: #cbd8cf;
  content: "";
  transform: translateY(-50%);
}

/* ---------------------------------------------------------
   劣化症状：英語なし、白背景（このセクションのみ）
--------------------------------------------------------- */
body.home .pl-deterioration__label {
  display: none !important;
}

body.home .pl-deterioration__heading {
  background: #fff !important;
}

body.home .pl-deterioration__heading h2 {
  color: var(--pl-brand-deep) !important;
  background: #fff !important;
}

/* ---------------------------------------------------------
   スタッフ紹介：広告的表現を使わず、人・施工品質を訴求
--------------------------------------------------------- */
body.home .pl-staff-visual__lead {
  width: min(920px, 100%);
  margin: 0 auto 30px;
  padding: 0 20px;
  box-sizing: border-box;
  text-align: center;
}

body.home .pl-staff-visual__lead h3 {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--pl-brand-deep) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  font-size: 25px !important;
  font-weight: 900 !important;
  line-height: 1.55 !important;
  text-align: center !important;
}

body.home .pl-staff-visual__lead h3::before,
body.home .pl-staff-visual__lead h3::after {
  display: none !important;
  content: none !important;
}

body.home .pl-staff-visual__lead p {
  margin: 12px 0 0 !important;
  color: var(--pl-body-text) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.9 !important;
  text-align: center !important;
}

body.home .pl-staff-visual__image picture,
body.home .pl-staff-visual__image img {
  display: block !important;
  width: 100% !important;
}

body.home .pl-staff-visual__image img {
  height: auto !important;
  object-fit: contain !important;
  object-position: center !important;
}

/* ---------------------------------------------------------
   スマホ：PCの縮小ではなく個別調整
--------------------------------------------------------- */
@media screen and (max-width: 767px) {
  body.home .pl-mainvisual {
    padding: 0 !important;
  }

  body.home .pl-mainvisual__inner,
  body.home .pl-mainvisual__image {
    width: 100% !important;
  }

  body.home .pl-home-seo-intro {
    width: calc(100% - 28px);
    padding: 20px 0 14px;
  }

  body.home .pl-home-seo-intro__area {
    margin-bottom: 6px !important;
    font-size: 13px !important;
  }

  body.home .pl-home-seo-intro h1 {
    font-size: 21px !important;
    line-height: 1.6 !important;
  }

  body.home .pl-home-trust-strip {
    padding: 0 14px 28px;
  }

  body.home .pl-home-trust-strip__inner {
    padding: 9px 6px;
    justify-content: center;
    row-gap: 2px;
  }

  body.home .pl-home-trust-strip__inner span {
    min-height: 27px;
    padding: 0 9px;
    font-size: 12px;
  }

  body.home .pl-home-trust-strip__inner span + span::before {
    height: 14px;
  }

  body.home .pl-deterioration__heading {
    margin-bottom: 26px !important;
    padding: 0 14px !important;
  }

  body.home .pl-deterioration__heading h2 {
    padding: 25px 0 23px !important;
    font-size: 27px !important;
    line-height: 1.45 !important;
  }

  body.home .pl-staff-visual__lead {
    margin-bottom: 24px;
    padding: 0 16px;
  }

  body.home .pl-staff-visual__lead h3 {
    font-size: 22px !important;
    line-height: 1.55 !important;
  }

  body.home .pl-staff-visual__lead p {
    margin-top: 10px !important;
    font-size: 16px !important;
    line-height: 1.85 !important;
    text-align: center !important;
  }

  body.home .pl-staff-visual__pc {
    display: none !important;
  }
}

/* =========================================================
   2026-09-28 TOP スマホ実機調整 STEP3
   実機スクリーンショット基準
   - 不自然な一文字・二文字落ちを防止
   - 説明文は左揃えで読みやすく
   - 見出しは意味のまとまりで改行
   - 施工事例2列は維持しつつカード内改行を整理
   - お客様の声2列は文字を詰めすぎない
========================================================= */

/* PCでは追加spanを通常のインラインとして扱う */
body.home .pl-work-card__body h3 > span,
body.home .pl-compare-title-line {
  display: inline;
}

@media screen and (max-width: 767px) {

  /* ---- SEO H1：意味単位の3行を維持 ---- */
  body.home .pl-home-seo-intro {
    width: calc(100% - 28px) !important;
    padding: 17px 0 12px !important;
  }

  body.home .pl-home-seo-intro__area {
    margin: 0 0 7px !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    text-align: center !important;
  }

  body.home .pl-home-seo-intro h1 {
    font-size: clamp(19px, 5.1vw, 22px) !important;
    line-height: 1.55 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-wrap: balance !important;
  }

  body.home .pl-home-seo-intro h1 span {
    display: block !important;
    white-space: nowrap !important;
  }

  /* ---- 信頼バー：2×2、途中落ちなし ---- */
  body.home .pl-home-trust-strip {
    padding: 0 14px 14px !important;
  }

  body.home .pl-home-trust-strip__inner {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 8px 0 !important;
    background: #fff !important;
    border-top: 1px solid #d9e3dc !important;
    border-bottom: 1px solid #d9e3dc !important;
  }

  body.home .pl-home-trust-strip__inner span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 34px !important;
    padding: 0 6px !important;
    color: #25332c !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  body.home .pl-home-trust-strip__inner span::before {
    display: none !important;
    content: none !important;
  }

  body.home .pl-home-trust-strip__inner span:nth-child(odd) {
    border-right: 1px solid #d9e3dc !important;
  }

  body.home .pl-home-trust-strip__inner span:nth-child(-n+2) {
    border-bottom: 1px solid #e7ede9 !important;
  }

  /* ---- セクション見出し：見出しそのものは中央、本文は左 ---- */
  body.home .pl-deterioration__heading h2,
  body.home .pl-reason-feature__heading h2,
  body.home .pl-works-demo__heading h2,
  body.home .pl-price-home__heading h2,
  body.home .pl-voice-home__heading h2,
  body.home .pl-flow-home__heading h2,
  body.home .pl-faq-home__heading h2,
  body.home .pl-local-area__heading h2,
  body.home .pl-compare-home__heading h2,
  body.home .pl-staff-section-heading h2,
  body.home .pl-staff-visual__lead h3 {
    text-wrap: balance !important;
    line-break: strict !important;
  }

  body.home .pl-deterioration__lead,
  body.home .pl-reason-feature__lead,
  body.home .pl-local-area__lead,
  body.home .pl-price-home__heading p,
  body.home .pl-voice-home__heading p,
  body.home .pl-flow-home__heading p,
  body.home .pl-faq-home__heading p,
  body.home .pl-compare-home__heading p,
  body.home .pl-staff-visual__lead p {
    width: auto !important;
    max-width: 36em !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
    color: #171717 !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.9 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    text-wrap: pretty !important;
    line-break: strict !important;
  }

  /* ---- 施工事例：導入文の「す。」だけ落ちる現象を解消 ---- */
  body.home .pl-works-demo__heading {
    margin-top: 0 !important;
  }

  body.home .pl-works-demo__heading p {
    max-width: 330px !important;
    margin: 22px auto 0 !important;
    padding: 0 !important;
    color: #171717 !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.85 !important;
    text-align: center !important;
    text-wrap: balance !important;
  }

  /* 2列は維持。ただしタイトルは語句単位で2行に固定 */
  body.home .pl-work-card__body h3 {
    margin-top: 8px !important;
    color: #111 !important;
    font-size: clamp(14px, 3.8vw, 16px) !important;
    font-weight: 800 !important;
    line-height: 1.45 !important;
    letter-spacing: 0 !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }

  body.home .pl-work-card__body h3 > span {
    display: block !important;
    white-space: nowrap !important;
  }

  body.home .pl-work-card__type {
    font-size: 13px !important;
    line-height: 1.45 !important;
  }

  body.home .pl-work-card__price span,
  body.home .pl-work-card__price b {
    font-size: 12px !important;
    line-height: 1.4 !important;
  }

  body.home .pl-work-card__price strong {
    font-size: clamp(28px, 7.2vw, 34px) !important;
    line-height: 1 !important;
  }

  /* ---- お客様の声：2列のまま読みやすさを確保 ---- */
  body.home .pl-voice-card__body {
    padding: 15px 12px 18px !important;
  }

  body.home .pl-voice-card__body h3 {
    font-size: 16px !important;
    line-height: 1.45 !important;
    word-break: keep-all !important;
  }

  body.home .pl-voice-card p {
    color: #171717 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.75 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    text-wrap: pretty !important;
    line-break: strict !important;
  }

  /* ---- 選ばれる理由：長い導入文は左揃え ---- */
  body.home .pl-reason-feature__lead {
    margin-top: 24px !important;
  }

  /* ---- 劣化症状：説明文を読みやすく ---- */
  body.home .pl-deterioration__lead {
    margin-top: 20px !important;
  }

  /* ---- 相見積もり：見出しを意味単位の3行に ---- */
  body.home .pl-compare-home__heading h2 {
    padding-left: 18px !important;
    padding-right: 18px !important;
    font-size: clamp(23px, 6.3vw, 27px) !important;
    line-height: 1.5 !important;
  }

  body.home .pl-compare-title-line {
    display: block !important;
    white-space: nowrap !important;
  }

  body.home .pl-compare-home__heading p {
    margin-top: 22px !important;
  }

  /* 比較4項目は2列維持。本文を少しだけ整える */
  body.home .pl-compare-point p {
    font-size: 14px !important;
    line-height: 1.72 !important;
    text-align: center !important;
  }

  body.home .pl-compare-home__message p {
    font-size: 15px !important;
    line-height: 1.8 !important;
    text-align: center !important;
    text-wrap: balance !important;
  }

  /* ---- 地域導線：本文は左揃え ---- */
  body.home .pl-local-area__lead {
    margin-top: 22px !important;
  }

  /* ---- スタッフ紹介：見出し中央、本文左 ---- */
  body.home .pl-staff-visual__lead {
    margin-bottom: 24px !important;
    padding: 0 !important;
  }

  body.home .pl-staff-visual__lead h3 {
    max-width: 330px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 16px !important;
    font-size: 22px !important;
    line-height: 1.55 !important;
  }

  body.home .pl-staff-visual__lead p {
    margin-top: 14px !important;
  }

  body.home .pl-staff-visual__pc {
    display: none !important;
  }

  /* ---- 流れ：本文は左揃え、語尾だけ落とさない ---- */
  body.home .pl-flow-step p {
    color: #171717 !important;
    font-size: 15px !important;
    line-height: 1.75 !important;
    text-align: left !important;
    text-wrap: pretty !important;
    line-break: strict !important;
  }
}

/* =========================================================
   2026-09-28 TOP スマホ仕上げ STEP4
   実機スクリーンショット基準
   - 上下余白を整理
   - カードを必要以上に縦長にしない
   - 実写写真を見やすく
   - 固定CTAの圧迫感を軽減
   - スマホヘッダーを少しコンパクトに
   PCには影響させない
========================================================= */

@media screen and (max-width: 834px) {

  /* ---- スマホヘッダー：94px → 84px ---- */
  .pl-mobile-header {
    height: 84px !important;
    grid-template-columns: 66px 1fr 66px !important;
  }

  .pl-mobile-menu__button,
  .pl-mobile-header__phone {
    height: 84px !important;
  }

  .pl-mobile-header__logo img {
    max-width: 225px !important;
    max-height: 58px !important;
  }

  .pl-mobile-menu__drawer {
    top: 84px !important;
  }

  body {
    padding-top: 84px !important;
  }

  /* ---- 下部固定CTA：66px → 58px ---- */
  .pl-mobile-bottom-cta__item {
    height: 58px !important;
    gap: 6px !important;
    font-size: 13px !important;
  }

  .pl-mobile-bottom-cta__item svg {
    width: 21px !important;
    height: 21px !important;
    flex-basis: 21px !important;
  }

  .pl-line-mark {
    width: 28px !important;
    height: 23px !important;
    border-radius: 6px !important;
  }

  body {
    padding-bottom: calc(58px + env(safe-area-inset-bottom)) !important;
  }
}

@media screen and (max-width: 767px) {

  /* ---- セクション間の余白：長すぎる白場を整理 ---- */
  body.home .pl-works-demo,
  body.home .pl-voice-home,
  body.home .pl-reason-feature,
  body.home .pl-deterioration,
  body.home .pl-price-home,
  body.home .pl-compare-home,
  body.home .pl-local-area,
  body.home .pl-flow-home,
  body.home .pl-faq-home {
    padding-bottom: 56px !important;
  }

  body.home .pl-works-demo__heading,
  body.home .pl-voice-home__heading,
  body.home .pl-reason-feature__heading,
  body.home .pl-deterioration__heading,
  body.home .pl-price-home__heading,
  body.home .pl-compare-home__heading,
  body.home .pl-local-area__heading,
  body.home .pl-flow-home__heading,
  body.home .pl-faq-home__heading {
    margin-bottom: 24px !important;
  }

  /* ---- グリーン帯：スマホでは少しだけ薄くする ---- */
  body.home .pl-works-demo__heading h2,
  body.home .pl-price-home__heading h2,
  body.home .pl-voice-home__heading h2,
  body.home .pl-flow-home__heading h2,
  body.home .pl-faq-home__heading h2 {
    padding-top: 20px !important;
    padding-bottom: 21px !important;
    font-size: 29px !important;
  }

  body.home .pl-reason-feature__label,
  body.home .pl-local-area__label,
  body.home .pl-compare-home__badge {
    padding-top: 18px !important;
  }

  body.home .pl-reason-feature__heading h2,
  body.home .pl-local-area__heading h2,
  body.home .pl-compare-home__heading h2 {
    padding-bottom: 20px !important;
  }

  body.home .pl-staff-section-heading {
    padding-top: 20px !important;
    padding-bottom: 22px !important;
  }

  body.home .pl-staff-section-heading h2 {
    font-size: 29px !important;
  }

  /* ---- 施工事例：写真優先・カード高さを揃える ---- */
  body.home .pl-works-demo {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  body.home .pl-works-demo__grid {
    gap: 10px !important;
  }

  body.home .pl-work-card {
    display: flex !important;
    flex-direction: column !important;
    box-shadow: none !important;
    border-color: #dde4df !important;
  }

  body.home .pl-work-card__visual {
    aspect-ratio: 1.48 / 1 !important;
  }

  body.home .pl-work-card__body {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 12px 10px 13px !important;
  }

  body.home .pl-work-card__type {
    font-size: 12px !important;
    margin-bottom: 5px !important;
  }

  body.home .pl-work-card__body h3 {
    min-height: 42px !important;
    margin-bottom: 10px !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
  }

  body.home .pl-work-card__price {
    margin-top: auto !important;
    padding-top: 9px !important;
  }

  body.home .pl-work-card__price span,
  body.home .pl-work-card__price b {
    font-size: 11px !important;
  }

  body.home .pl-work-card__price strong {
    font-size: clamp(27px, 7vw, 32px) !important;
  }

  body.home .pl-work-card__area {
    left: 8px !important;
    bottom: 8px !important;
    padding: 5px 8px !important;
    font-size: 10px !important;
  }

  /* ---- お客様の声：人物写真を少し大きく、文章はTOP用に要約表示 ---- */
  body.home .pl-voice-home__grid {
    gap: 12px !important;
  }

  body.home .pl-voice-card {
    display: flex !important;
    flex-direction: column !important;
    border-radius: 8px !important;
    box-shadow: none !important;
  }

  body.home .pl-voice-card__photo {
    aspect-ratio: 4 / 3 !important;
  }

  body.home .pl-voice-card__body {
    flex: 1 1 auto !important;
    padding: 13px 11px 15px !important;
  }

  body.home .pl-voice-card__area {
    margin-bottom: 7px !important;
    font-size: 10px !important;
  }

  body.home .pl-voice-card__body h3 {
    margin-bottom: 8px !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
  }

  body.home .pl-voice-card p {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 4 !important;
    overflow: hidden !important;
    font-size: 14px !important;
    line-height: 1.72 !important;
  }

  /* ---- 相見積もり4項目：必要以上に縦長にしない ---- */
  body.home .pl-compare-home__points {
    gap: 10px !important;
    margin-top: 26px !important;
  }

  body.home .pl-compare-point {
    min-height: 0 !important;
    padding: 20px 10px !important;
    box-shadow: none !important;
  }

  body.home .pl-compare-point > span {
    width: 36px !important;
    height: 36px !important;
    margin-bottom: 12px !important;
  }

  body.home .pl-compare-point strong {
    font-size: 16px !important;
  }

  body.home .pl-compare-point p {
    margin-top: 9px !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
  }

  /* ---- スタッフ：文章と写真の距離を少し詰める ---- */
  body.home .pl-staff-visual {
    padding-top: 28px !important;
    padding-bottom: 52px !important;
  }

  body.home .pl-staff-visual__lead {
    margin-bottom: 20px !important;
  }

  body.home .pl-staff-visual__inner {
    box-shadow: none !important;
    border-color: #dce5dd !important;
  }

  /* ---- セクション内CTA：十分なタップ領域を残しつつ圧迫感を軽減 ---- */
  body.home .pl-works-demo__more a,
  body.home .pl-voice-home__more a,
  body.home .pl-price-home__more a,
  body.home .pl-flow-home__more a,
  body.home .pl-faq-home__more a,
  body.home .pl-staff-visual__cta a,
  body.home .pl-compare-home__more a {
    min-height: 58px !important;
  }

  body.home .pl-works-demo__more,
  body.home .pl-voice-home__more,
  body.home .pl-price-home__more,
  body.home .pl-flow-home__more,
  body.home .pl-faq-home__more,
  body.home .pl-compare-home__more {
    margin-top: 30px !important;
  }
}




/* =========================================================
   施工事例ページ：TOPフォーム完全共通化
========================================================= */
/* =========================================================
   施工事例ページ：TOP 30秒フォームを同一デザインで共通利用
   TOP側は変更せず、page-id-21 のみ同じ配置ルールを適用
========================================================= */

/* =========================================================
   TOP画像フォーム PC幅・位置 修正版
========================================================= */

/* TOPのCF7外側についている制限を全部解除 */
body.page-id-21 .wpcf7:has(.pl-visual-form) {
  width: 100% !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}


/* CF7のform自体も横幅100% */
body.page-id-21 .wpcf7:has(.pl-visual-form) form {
  width: 100% !important;
  max-width: none !important;

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


/* =========================================================
   背景画像本体
========================================================= */

body.page-id-21 .pl-visual-form {
  position: relative !important;

  width: min(1220px, calc(100vw - 40px)) !important;
  max-width: 1220px !important;

  aspect-ratio: 3 / 2 !important;

  margin: 55px auto !important;

  background-image:
    url("https://paintleaf-osaka.com/wp-content/uploads/2026/09/paintleaf-osaka-top-contact-form-bg.webp") !important;

  background-size: 100% 100% !important;
  background-repeat: no-repeat !important;
  background-position: center !important;

  overflow: hidden !important;

  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}


/* =========================================================
   白い点線エリアに本物フォームをピッタリ配置
========================================================= */

body.page-id-21 .pl-visual-form__live {
  position: absolute !important;

  left: 6.1% !important;
  top: 36.3% !important;

  width: 87.8% !important;
  height: 35.0% !important;

  margin: 0 !important;

  padding: 1.3% 3.2% 1.2% !important;

  box-sizing: border-box !important;

  background: #fff !important;

  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;

  z-index: 5 !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}


/* =========================================================
   PCフォーム内部を少しコンパクトに
========================================================= */

body.page-id-21 .pl-vf-row {
  display: grid !important;

  grid-template-columns:
    135px minmax(0, 1fr) !important;

  gap: 16px !important;

  align-items: center !important;

  min-height: 51px !important;

  padding: 0 !important;

  border-bottom: 1px solid #e8ece8 !important;
}


body.page-id-21 .pl-vf-row--check {
  min-height: 45px !important;
}


body.page-id-21 .pl-vf-label {
  margin: 0 !important;
  padding: 0 !important;

  font-size: 13px !important;
}


body.page-id-21 .pl-visual-form input[type="text"],
body.page-id-21 .pl-visual-form input[type="tel"] {
  width: 100% !important;
  height: 42px !important;

  padding: 0 14px !important;

  box-sizing: border-box !important;

  font-size: 14px !important;
}


body.page-id-21 .pl-vf-control .wpcf7-list-item {
  margin: 2px 14px 2px 0 !important;
}


body.page-id-21 .pl-vf-control .wpcf7-list-item label {
  font-size: 11px !important;
}


body.page-id-21 .pl-vf-control input[type="checkbox"] {
  width: 17px !important;
  height: 17px !important;
}


/* 同意 */
body.page-id-21 .pl-vf-bottom {
  padding-top: 8px !important;
}


body.page-id-21 .pl-vf-privacy {
  margin-bottom: 7px !important;

  font-size: 9px !important;
}


/* ボタン */
body.page-id-21 .pl-vf-submit {
  width: 390px !important;
  max-width: 100% !important;

  margin: 0 auto !important;
}


body.page-id-21 .pl-vf-submit input[type="submit"] {
  height: 48px !important;

  font-size: 14px !important;

  border-radius: 30px !important;
}


/* =========================================================
   スマホは以前の縦型を維持
========================================================= */

@media screen and (max-width: 768px) {

  body.page-id-21 .pl-visual-form {
    width: calc(100% - 20px) !important;

    aspect-ratio: auto !important;

    min-height: 720px !important;

    margin: 30px auto !important;

    background-size: auto 360px !important;
    background-position: top center !important;

    background-color: #f4f9ed !important;

    border-radius: 12px !important;
  }


  body.page-id-21 .pl-visual-form__live {
    position: relative !important;

    left: auto !important;
    top: auto !important;

    width: calc(100% - 24px) !important;
    height: auto !important;

    margin: 300px auto 0 !important;

    padding: 22px 16px 24px !important;

    background: #fff !important;

    border-radius: 12px !important;

    box-shadow:
      0 8px 25px rgba(28,83,56,.10) !important;
  }


  body.page-id-21 .pl-vf-row {
    display: block !important;

    min-height: 0 !important;

    padding: 11px 0 !important;
  }


  body.page-id-21 .pl-vf-label {
    margin-bottom: 7px !important;
  }


  body.page-id-21 .pl-visual-form input[type="text"],
  body.page-id-21 .pl-visual-form input[type="tel"] {
    height: 48px !important;

    font-size: 16px !important;
  }


  body.page-id-21 .pl-vf-submit {
    width: 100% !important;
  }


  body.page-id-21 .pl-vf-submit input[type="submit"] {
    height: 55px !important;
  }

}


@media screen and (max-width: 767px) {

  /* =========================================
     フォーム全体
  ========================================= */

  body.page-id-21 .pl-visual-form {
    position: relative !important;

    width: calc(100% - 20px) !important;
    max-width: 430px !important;

    min-height: 0 !important;
    aspect-ratio: auto !important;

    margin: 28px auto 34px !important;

    /* PC画像は背景として使わない */
    background-image: none !important;
    background-color: #f3f7ee !important;

    /*
      上部にPC画像の「見出し部分だけ」を
      表示するためのスペース
    */
    padding:
      calc(22% + 12px)
      10px
      16px !important;

    box-sizing: border-box !important;

    border-radius: 14px !important;

    overflow: hidden !important;
  }


  /* =========================================
     元画像の上部だけ使用
     30秒・見出し・住宅・職人
  ========================================= */

  body.page-id-21 .pl-visual-form::before {
    content: "" !important;

    position: absolute !important;

    top: 0 !important;
    left: 0 !important;

    width: 100% !important;

    aspect-ratio: 1000 / 220 !important;

    background-image:
      url("https://paintleaf-osaka.com/wp-content/uploads/2026/09/paintleaf-osaka-top-contact-form-bg.webp") !important;

    background-size: 100% auto !important;
    background-repeat: no-repeat !important;
    background-position: top center !important;

    z-index: 1 !important;
  }


  /* =========================================
     本物のCF7フォーム
  ========================================= */

  body.page-id-21 .pl-visual-form__live {
    position: relative !important;

    left: auto !important;
    top: auto !important;

    width: 100% !important;
    height: auto !important;

    margin: 0 !important;

    padding: 20px 14px 16px !important;

    box-sizing: border-box !important;

    background: #fff !important;

    border: 1px solid #dce7d9 !important;
    border-radius: 12px !important;

    box-shadow:
      0 6px 18px rgba(28,83,56,.08) !important;

    display: block !important;

    transform: none !important;

    z-index: 5 !important;
  }


  /* =========================================
     各項目
  ========================================= */

  body.page-id-21 .pl-visual-form .pl-vf-row {
    display: block !important;

    min-height: 0 !important;

    margin: 0 0 18px !important;

    padding: 0 0 18px !important;

    transform: none !important;

    border-bottom: 1px solid #e8ece8 !important;
  }


  body.page-id-21 .pl-visual-form
  .pl-vf-row:not(.pl-vf-row--check)
  + .pl-vf-row {
    margin-top: 0 !important;
  }


  /* 希望内容 */
  body.page-id-21 .pl-visual-form .pl-vf-row--check {
    margin: 0 0 18px !important;
    padding: 0 0 18px !important;

    transform: none !important;
  }


  /* ラベル */
  body.page-id-21 .pl-visual-form .pl-vf-label {
    display: block !important;

    margin: 0 0 10px !important;
    padding: 0 !important;

    color: #087847 !important;

    font-size: 14px !important;
    font-weight: 700 !important;

    line-height: 1.5 !important;

    white-space: normal !important;

    transform: none !important;
  }


  /* =========================================
     チェックボックス
  ========================================= */

  body.page-id-21
  .pl-visual-form
  .pl-vf-control
  .wpcf7-checkbox {
    display: grid !important;

    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;

    gap: 12px 8px !important;
  }


  body.page-id-21
  .pl-visual-form
  .pl-vf-control
  .wpcf7-list-item {
    margin: 0 !important;
  }


  body.page-id-21
  .pl-visual-form
  .pl-vf-control
  .wpcf7-list-item label {
    display: flex !important;

    align-items: center !important;

    gap: 7px !important;

    font-size: 13px !important;
    line-height: 1.4 !important;
  }


  body.page-id-21
  .pl-visual-form
  .pl-vf-control
  input[type="checkbox"] {
    width: 21px !important;
    height: 21px !important;

    flex: 0 0 21px !important;
  }


  /* =========================================
     名前・電話番号
  ========================================= */

  body.page-id-21 .pl-visual-form input[type="text"],
  body.page-id-21 .pl-visual-form input[type="tel"] {
    width: 100% !important;
    height: 52px !important;

    margin: 0 !important;

    padding: 0 14px !important;

    box-sizing: border-box !important;

    border: 1px solid #ccd6cf !important;
    border-radius: 8px !important;

    background: #fff !important;

    font-size: 16px !important;

    transform: none !important;
  }


  /* =========================================
     エラー「入力してください」
  ========================================= */

  body.page-id-21
  .pl-visual-form
  .wpcf7-not-valid-tip {
    position: static !important;

    display: block !important;

    margin: 6px 0 0 !important;

    color: #c62828 !important;

    font-size: 12px !important;
    font-weight: 700 !important;

    line-height: 1.5 !important;
  }


  /* =========================================
     送信ボタン
  ========================================= */

  body.page-id-21 .pl-visual-form .pl-vf-bottom {
    margin: 2px 0 0 !important;
    padding: 0 !important;

    transform: none !important;
  }


  body.page-id-21 .pl-visual-form .pl-vf-submit {
    width: 100% !important;

    margin: 0 !important;
  }


  body.page-id-21
  .pl-visual-form
  .pl-vf-submit
  input[type="submit"] {
    width: 100% !important;
    height: 56px !important;

    margin: 0 !important;

    font-size: 15px !important;

    border-radius: 30px !important;
  }


  /* =========================================
     CF7 メッセージ
  ========================================= */

  body.page-id-21
  .pl-visual-form
  .wpcf7-response-output {
    position: static !important;

    margin: 12px 0 0 !important;

    padding: 9px !important;

    font-size: 12px !important;
  }


  body.page-id-21
  .pl-visual-form
  .wpcf7-spinner {
    position: static !important;

    display: block !important;

    margin: 8px auto 0 !important;
  }


  /* =========================================
     スマホ用 安心項目
  ========================================= */

  body.page-id-21 .pl-visual-form__live::after {
    content:
      "相談無料　｜　現地調査無料\A 相見積もり歓迎　｜　しつこい営業なし";

    white-space: pre-line;

    display: block;

    margin-top: 15px;

    padding: 11px 6px;

    color: #087847;

    background: #f1f7ec;

    border-radius: 9px;

    font-size: 11px;
    font-weight: 700;

    line-height: 1.8;

    text-align: center;
  }


 /* =========================================
   メール・詳しいお問い合わせへの導線
========================================= */

body.page-id-21
.pl-visual-form
.pl-visual-form__contact-link {
  position: relative !important;

  left: auto !important;
  bottom: auto !important;

  width: 100% !important;
  height: auto !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;

  box-sizing: border-box !important;

  margin: 12px 0 0 !important;

  padding: 13px 10px 14px !important;

  color: #087847 !important;
  background: #fff !important;

  border: 1px solid #d6e3d4 !important;
  border-radius: 10px !important;

  font-size: 0 !important;
  text-decoration: none !important;

  z-index: 10 !important;
}


/* 上の説明 */
body.page-id-21
.pl-visual-form
.pl-visual-form__contact-link::before {
  content: "電話が苦手な方・メールで相談したい方へ";

  display: block;

  margin-bottom: 5px;

  color: #68746d !important;

  font-size: 11px !important;
  font-weight: 500 !important;

  line-height: 1.5 !important;
}


/* メイン文字 */
body.page-id-21
.pl-visual-form
.pl-visual-form__contact-link::after {
  content: "詳しいお問い合わせフォームへ →";

  display: block;

  color: #087847 !important;

  font-size: 14px !important;
  font-weight: 700 !important;

  line-height: 1.5 !important;
}

}


/* ========================================
   TOP簡易フォーム
   スマホは上部画像を画面いっぱいに表示
======================================== */
@media screen and (max-width: 767px) {

  /* フォーム全体を画面幅まで広げる */
  body.page-id-21 .pl-visual-form {
    width: 100vw !important;
    max-width: none !important;

    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    padding-top: 42% !important;

    border-radius: 0 !important;
  }

  /* 上部画像 */
  body.page-id-21 .pl-visual-form::before {
    width: 100vw !important;
    height: 42vw !important;

    aspect-ratio: auto !important;

    background-size: 100% auto !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;
  }

  /* 本物のフォームは左右に少し余白を残す */
  body.page-id-21 .pl-visual-form__live {
    width: calc(100% - 24px) !important;

    margin-left: auto !important;
    margin-right: auto !important;
  }

}
/* ========================================
   TOP簡易フォーム スマホ
   上部画像をグリーン部分だけにする
======================================== */
@media screen and (max-width: 767px) {

  body.page-id-21 .pl-visual-form {
    /* 42% → 上部デザイン部分だけ */
    padding-top: 24vw !important;
  }

  body.page-id-21 .pl-visual-form::before {
    width: 100vw !important;
    height: 24vw !important;

    aspect-ratio: auto !important;

    background-size: 100vw auto !important;
    background-position: top center !important;
    background-repeat: no-repeat !important;
  }

  /* 本物のフォームを画像直下へ */
  body.page-id-21 .pl-visual-form__live {
    margin-top: 0 !important;
  }

}
/* ========================================
   TOP簡易フォーム
   スマホ専用ヘッダー画像
======================================== */
@media screen and (max-width: 767px) {

  body.page-id-21 .pl-visual-form {
    width: 100vw !important;
    max-width: none !important;

    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    /* 3:1画像の高さ */
    padding-top: 33.333vw !important;

    background-image: none !important;
    background-color: #f3f7ee !important;

    border-radius: 0 !important;
  }

  /* スマホ専用画像 */
  body.page-id-21 .pl-visual-form::before {
    content: "" !important;

    position: absolute !important;

    top: 0 !important;
    left: 0 !important;

    width: 100vw !important;
    height: 33.333vw !important;

    background-image:
      url("https://paintleaf-osaka.com/wp-content/uploads/2026/09/paintleaf-osaka-top-contact-mobile.webp") !important;

    background-size: 100% 100% !important;
    background-position: center !important;
    background-repeat: no-repeat !important;

    z-index: 1 !important;
  }

  /* 本物のフォームは画像のすぐ下 */
  body.page-id-21 .pl-visual-form__live {
    width: calc(100% - 24px) !important;

    margin: 0 auto !important;
  }

}

/* =========================================================
   施工事例 固定ページ v2 /works/ / page-id-21
   TOP STEP4には影響させないページ専用CSS
========================================================= */
.page-id-21 .entry-title { display:none !important; }
.page-id-21 .entry-content { margin:0 !important; padding:0 !important; }
.page-id-21 .article { overflow:visible !important; }
.page-id-21 .plw-page,
.page-id-21 .plw-page * { box-sizing:border-box; }

.page-id-21 .plw-page {
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  --plw-green:#006633;
  --plw-deep:#073d2d;
  --plw-accent:#087847;
  --plw-text:#171717;
  --plw-muted:#68716c;
  --plw-line:#dbe4de;
  --plw-soft:#f5f8f5;
  color:var(--plw-text);
  background:#fff;
}

/* HERO - 固定ページの一番上 */
.page-id-21 .plw-hero {
  width:100vw;
  margin:0 0 0 calc(50% - 50vw);
  overflow:hidden;
  background:#073d2d;
}
.page-id-21 .plw-hero img {
  display:block;
  width:100%;
  height:auto;
  margin:0;
}

/* SEO H1 / intro */
.page-id-21 .plw-intro {
  width:min(1040px, calc(100% - 40px));
  margin:0 auto;
  padding:62px 0 42px;
  text-align:center;
}
.page-id-21 .plw-intro__en {
  margin:0 0 10px;
  color:var(--plw-accent);
  font-size:12px;
  font-weight:800;
  letter-spacing:.18em;
}
.page-id-21 .plw-intro h1 {
  margin:0 !important;
  padding:0 !important;
  color:var(--plw-deep) !important;
  background:none !important;
  border:0 !important;
  box-shadow:none !important;
  font-size:clamp(28px,3vw,40px) !important;
  font-weight:800 !important;
  line-height:1.5 !important;
  letter-spacing:.01em;
}
.page-id-21 .plw-intro h1::before,
.page-id-21 .plw-intro h1::after { display:none !important; content:none !important; }
.page-id-21 .plw-intro__lead {
  max-width:800px;
  margin:22px auto 0;
  color:#2d352f;
  font-size:16px;
  line-height:2;
}
.page-id-21 .plw-intro__note {
  margin:14px auto 0;
  color:var(--plw-muted);
  font-size:12px;
  line-height:1.8;
}

/* Counts */
.page-id-21 .plw-counts {
  width:min(900px, calc(100% - 40px));
  margin:0 auto 70px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--plw-line);
  border-bottom:1px solid var(--plw-line);
}
.page-id-21 .plw-counts div {
  padding:23px 16px 22px;
  text-align:center;
  border-right:1px solid var(--plw-line);
}
.page-id-21 .plw-counts div:last-child { border-right:0; }
.page-id-21 .plw-counts strong {
  display:inline-block;
  margin-right:8px;
  color:var(--plw-accent);
  font-size:34px;
  font-weight:900;
  line-height:1;
}
.page-id-21 .plw-counts span { color:#39443e; font-size:13px; font-weight:700; }

/* common headings */
.page-id-21 .plw-section-head { margin:0 0 32px; text-align:center; }
.page-id-21 .plw-section-head > p,
.page-id-21 .plw-filter__head > p {
  margin:0 0 8px;
  color:var(--plw-accent);
  font-size:12px;
  font-weight:800;
  letter-spacing:.16em;
}
.page-id-21 .plw-section-head h2,
.page-id-21 .plw-filter__head h2,
.page-id-21 .plw-price-note h2,
.page-id-21 .plw-contact h2 {
  margin:0 !important;
  padding:0 !important;
  color:var(--plw-deep) !important;
  background:none !important;
  border:0 !important;
  box-shadow:none !important;
  font-size:30px !important;
  font-weight:800 !important;
  line-height:1.55 !important;
}
.page-id-21 .plw-section-head h2::before,
.page-id-21 .plw-section-head h2::after,
.page-id-21 .plw-filter__head h2::before,
.page-id-21 .plw-filter__head h2::after,
.page-id-21 .plw-price-note h2::before,
.page-id-21 .plw-price-note h2::after,
.page-id-21 .plw-contact h2::before,
.page-id-21 .plw-contact h2::after { display:none !important; content:none !important; }
.page-id-21 .plw-section-head > span { display:block; margin-top:10px; color:var(--plw-muted); font-size:14px; line-height:1.8; }

/* filter */
.page-id-21 .plw-filter {
  width:min(1100px, calc(100% - 40px));
  margin:0 auto 78px;
  padding:34px 38px 30px;
  background:var(--plw-soft);
  border-top:4px solid var(--plw-green);
}
.page-id-21 .plw-filter__head { margin-bottom:26px; text-align:center; }
.page-id-21 .plw-filter__row {
  display:grid;
  grid-template-columns:90px minmax(0,1fr);
  align-items:center;
  gap:18px;
  padding:13px 0;
  border-top:1px solid #dce5df;
}
.page-id-21 .plw-filter__row:last-child { border-bottom:1px solid #dce5df; }
.page-id-21 .plw-filter__label { color:var(--plw-deep); font-size:14px; font-weight:800; }
.page-id-21 .plw-filter__buttons { display:flex; flex-wrap:wrap; gap:9px; }
.page-id-21 .plw-filter__buttons button {
  min-height:44px;
  padding:0 16px;
  color:#fff;
  background:var(--plw-green);
  border:1px solid var(--plw-green);
  border-radius:5px;
  font-family:inherit;
  font-size:13px;
  font-weight:800;
  line-height:1;
  cursor:pointer;
}
.page-id-21 .plw-filter__buttons button small { margin-left:4px; color:inherit; font-size:10px; opacity:.85; }
.page-id-21 .plw-filter__buttons button.is-active { background:var(--plw-deep); border-color:var(--plw-deep); box-shadow:0 0 0 2px rgba(7,61,45,.14); }

/* archive */
.page-id-21 .plw-archive { width:min(1180px, calc(100% - 40px)); margin:0 auto 94px; }
.page-id-21 .plw-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:38px 24px; }
.page-id-21 .plw-card { min-width:0; background:#fff; border-bottom:1px solid var(--plw-line); }
.page-id-21 .plw-card.is-hidden { display:none !important; }
.page-id-21 .plw-card__image { position:relative; overflow:hidden; background:#edf2ee; }
.page-id-21 .plw-card__image img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; margin:0; transition:transform .35s ease; }
.page-id-21 .plw-card__area,
.page-id-21 .plw-card__no { position:absolute; top:12px; display:inline-flex; align-items:center; min-height:32px; padding:0 10px; font-size:11px; font-weight:800; line-height:1; }
.page-id-21 .plw-card__area { left:12px; color:#fff; background:rgba(0,102,51,.94); }
.page-id-21 .plw-card__no { right:12px; color:#fff; background:rgba(0,0,0,.56); }
.page-id-21 .plw-card__body { padding:18px 2px 22px; }
.page-id-21 .plw-card__type { margin:0 0 7px; color:var(--plw-accent); font-size:11px; font-weight:800; }
.page-id-21 .plw-card h3 { margin:0 !important; padding:0 !important; color:#171717 !important; background:none !important; border:0 !important; box-shadow:none !important; font-size:18px !important; font-weight:800 !important; line-height:1.5 !important; }
.page-id-21 .plw-card h3::before,.page-id-21 .plw-card h3::after { display:none !important; content:none !important; }
.page-id-21 .plw-card__meta { margin:15px 0 0; border-top:1px solid #e2e8e4; }
.page-id-21 .plw-card__meta > div { display:grid; grid-template-columns:75px minmax(0,1fr); gap:10px; padding:9px 0; border-bottom:1px solid #e2e8e4; }
.page-id-21 .plw-card__meta dt { color:#667069; font-size:11px; font-weight:700; }
.page-id-21 .plw-card__meta dd { margin:0; color:#232b26; font-size:12px; font-weight:600; line-height:1.65; }
.page-id-21 .plw-card__meta dd strong { margin-right:3px; color:var(--plw-accent); font-size:24px; font-weight:900; line-height:1; }
.page-id-21 .plw-card__paint dd span { display:block; }
.page-id-21 .plw-more-wrap { margin-top:48px; text-align:center; }
.page-id-21 .plw-more {
  min-width:300px;
  min-height:58px;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:0 22px 0 26px;
  color:#fff;
  background:var(--plw-green);
  border:1px solid var(--plw-green);
  border-radius:5px;
  font-family:inherit;
  font-size:14px;
  font-weight:800;
  cursor:pointer;
}
.page-id-21 .plw-more b { font-size:20px; font-weight:400; }

/* price */
.page-id-21 .plw-price-note { width:100vw; margin:0 0 92px calc(50% - 50vw); padding:68px 20px; background:var(--plw-soft); }
.page-id-21 .plw-price-note__inner { width:min(1040px,100%); margin:0 auto; display:grid; grid-template-columns:.9fr 1.1fr; align-items:center; gap:70px; }
.page-id-21 .plw-price-note__copy > p { margin:0 0 8px; color:var(--plw-accent); font-size:12px; font-weight:800; letter-spacing:.16em; }
.page-id-21 .plw-price-note__range { margin-top:26px; padding-top:21px; border-top:1px solid #cfdad3; }
.page-id-21 .plw-price-note__range span { display:block; margin-bottom:7px; color:#536158; font-size:12px; font-weight:700; }
.page-id-21 .plw-price-note__range strong { color:var(--plw-accent); font-size:42px; font-weight:900; line-height:1; }
.page-id-21 .plw-price-note__range small { margin-left:4px; font-size:16px; }
.page-id-21 .plw-price-note__text p { margin:0 0 15px; color:#303a34; font-size:15px; line-height:2; }
.page-id-21 .plw-price-note__text p:last-child { margin-bottom:0; }
.page-id-21 .plw-price-note__text strong { color:var(--plw-deep); }

/* guide */
.page-id-21 .plw-guide { width:min(1050px, calc(100% - 40px)); margin:0 auto 96px; }
.page-id-21 .plw-guide__grid { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--plw-line); }
.page-id-21 .plw-guide__grid article { padding:30px 28px; border-right:1px solid var(--plw-line); }
.page-id-21 .plw-guide__grid article:last-child { border-right:0; }
.page-id-21 .plw-guide__grid span { display:block; margin-bottom:16px; color:var(--plw-accent); font-size:12px; font-weight:900; }
.page-id-21 .plw-guide__grid h3 { margin:0 !important; padding:0 !important; color:var(--plw-deep) !important; background:none !important; border:0 !important; box-shadow:none !important; font-size:19px !important; font-weight:800 !important; }
.page-id-21 .plw-guide__grid h3::before,.page-id-21 .plw-guide__grid h3::after { display:none !important; content:none !important; }
.page-id-21 .plw-guide__grid p { margin:10px 0 0; color:#364139; font-size:14px; line-height:1.85; }

/* local */
.page-id-21 .plw-local { width:min(1050px, calc(100% - 40px)); margin:0 auto 96px; }
.page-id-21 .plw-local__grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.page-id-21 .plw-local__grid article { padding:30px 30px 28px; background:#fff; border:1px solid var(--plw-line); border-top:4px solid var(--plw-green); }
.page-id-21 .plw-local__grid small { color:var(--plw-accent); font-size:11px; font-weight:800; letter-spacing:.15em; }
.page-id-21 .plw-local__grid h3 { margin:7px 0 0 !important; padding:0 !important; color:var(--plw-deep) !important; background:none !important; border:0 !important; box-shadow:none !important; font-size:22px !important; font-weight:800 !important; }
.page-id-21 .plw-local__grid h3::before,.page-id-21 .plw-local__grid h3::after { display:none !important; content:none !important; }
.page-id-21 .plw-local__grid p { margin:13px 0 20px; color:#3d4741; font-size:14px; line-height:1.85; }
.page-id-21 .plw-local__grid a { min-height:52px; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:0 17px 0 20px; color:#fff !important; background:var(--plw-green); border-radius:5px; text-decoration:none !important; }
.page-id-21 .plw-local__grid a span { font-size:13px; font-weight:800; }
.page-id-21 .plw-local__grid a b { color:#fff; font-size:18px; font-weight:400; }

/* contact */
.page-id-21 .plw-contact { width:100vw; margin:0 0 0 calc(50% - 50vw); padding:72px 20px 80px; background:#eef5f0; }
.page-id-21 .plw-contact__head { width:min(900px,100%); margin:0 auto 26px; text-align:center; }
.page-id-21 .plw-contact__head > p { margin:0 0 8px; color:var(--plw-accent); font-size:12px; font-weight:800; letter-spacing:.16em; }
.page-id-21 .plw-contact__head > span { display:block; margin-top:13px; color:#4f5c54; font-size:14px; line-height:1.85; }
.page-id-21 .plw-contact__phone { width:min(820px,100%); margin:0 auto 18px; text-align:center; }
.page-id-21 .plw-contact__phone a { min-height:68px; display:inline-flex; align-items:center; justify-content:center; gap:25px; padding:0 30px; color:#fff !important; background:var(--plw-green); border-radius:5px; text-decoration:none !important; }
.page-id-21 .plw-contact__phone span { font-size:12px; font-weight:700; }
.page-id-21 .plw-contact__phone strong { color:#fff; font-size:25px; font-weight:900; }

/* CF7: 施工事例ページだけ。TOPフォームには影響なし */
.page-id-21 .plw-contact__form-shortcode { width:min(820px,100%); margin:0 auto; }
.page-id-21 .plw-contact__form-shortcode .wpcf7 { width:100% !important; margin:0 !important; padding:32px 36px 34px !important; background:#fff !important; border:1px solid #d8e2dc !important; border-radius:8px !important; box-shadow:none !important; }
.page-id-21 .plw-contact__form-shortcode .pl-visual-form { width:100% !important; min-height:0 !important; aspect-ratio:auto !important; margin:0 !important; padding:0 !important; background:none !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; }
.page-id-21 .plw-contact__form-shortcode .pl-visual-form::before,
.page-id-21 .plw-contact__form-shortcode .pl-visual-form::after { display:none !important; content:none !important; }
.page-id-21 .plw-contact__form-shortcode .pl-visual-form__live { position:static !important; width:100% !important; height:auto !important; margin:0 !important; padding:0 !important; background:none !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; }
.page-id-21 .plw-contact__form-shortcode .pl-visual-form__contact-link { display:none !important; }
.page-id-21 .plw-contact__form-shortcode .pl-vf-row { min-height:0 !important; display:grid !important; grid-template-columns:150px minmax(0,1fr) !important; align-items:start !important; gap:18px !important; padding:15px 0 !important; border-bottom:1px solid #e2e8e4 !important; }
.page-id-21 .plw-contact__form-shortcode .pl-vf-label { padding-top:11px !important; color:#20352a !important; font-size:14px !important; font-weight:800 !important; }
.page-id-21 .plw-contact__form-shortcode .pl-vf-label em,
.page-id-21 .plw-contact__form-shortcode .pl-vf-label small { display:inline-block !important; margin-left:5px !important; padding:2px 6px !important; border-radius:3px !important; font-size:9px !important; font-style:normal !important; }
.page-id-21 .plw-contact__form-shortcode .pl-vf-label em { color:#fff !important; background:#c85d4a !important; }
.page-id-21 .plw-contact__form-shortcode .pl-vf-label small { color:#536159 !important; background:#e9eeeb !important; }
.page-id-21 .plw-contact__form-shortcode .pl-vf-control input[type="text"],
.page-id-21 .plw-contact__form-shortcode .pl-vf-control input[type="tel"] { width:100% !important; height:50px !important; margin:0 !important; padding:0 14px !important; color:#222 !important; background:#fbfcfb !important; border:1px solid #cfd9d3 !important; border-radius:5px !important; font-size:16px !important; }
.page-id-21 .plw-contact__form-shortcode .pl-vf-control .wpcf7-list-item { margin:7px 18px 7px 0 !important; }
.page-id-21 .plw-contact__form-shortcode .pl-vf-control label { color:#2e3933 !important; font-size:14px !important; }
.page-id-21 .plw-contact__form-shortcode .pl-vf-control input[type="checkbox"] { accent-color:var(--plw-green); }
.page-id-21 .plw-contact__form-shortcode .pl-vf-bottom { margin-top:26px !important; }
.page-id-21 .plw-contact__form-shortcode .pl-vf-submit { width:100% !important; margin:0 !important; text-align:center !important; }
.page-id-21 .plw-contact__form-shortcode .pl-vf-submit input[type="submit"] { width:min(420px,100%) !important; height:58px !important; margin:0 auto !important; color:#fff !important; background:var(--plw-green) !important; border:1px solid var(--plw-green) !important; border-radius:5px !important; font-size:15px !important; font-weight:800 !important; }

@media (hover:hover) and (min-width:835px) {
  .page-id-21 .plw-card:hover .plw-card__image img { transform:scale(1.025); }
  .page-id-21 .plw-filter__buttons button,
  .page-id-21 .plw-more,
  .page-id-21 .plw-local__grid a,
  .page-id-21 .plw-contact__phone a { transition:transform .2s ease, background .2s ease; }
  .page-id-21 .plw-filter__buttons button:hover,
  .page-id-21 .plw-more:hover,
  .page-id-21 .plw-local__grid a:hover,
  .page-id-21 .plw-contact__phone a:hover { background:var(--plw-deep); transform:translateY(-1px); }
}

@media screen and (max-width:900px) {
  .page-id-21 .plw-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .page-id-21 .plw-price-note__inner { grid-template-columns:1fr; gap:32px; }
}

@media screen and (max-width:767px) {
  .page-id-21 .plw-hero { height:310px; }
  .page-id-21 .plw-hero img { width:auto; max-width:none; height:100%; object-fit:cover; object-position:left center; }
  .page-id-21 .plw-pc { display:none; }
  .page-id-21 .plw-intro { width:calc(100% - 36px); padding:38px 0 30px; text-align:left; }
  .page-id-21 .plw-intro__en { font-size:11px; }
  .page-id-21 .plw-intro h1 { font-size:25px !important; line-height:1.55 !important; }
  .page-id-21 .plw-intro__lead { margin-top:15px; font-size:16px; line-height:1.9; }
  .page-id-21 .plw-intro__note { font-size:12px; }

  .page-id-21 .plw-counts { width:calc(100% - 36px); margin-bottom:52px; }
  .page-id-21 .plw-counts div { padding:16px 6px; }
  .page-id-21 .plw-counts strong { display:block; margin:0 0 5px; font-size:28px; }
  .page-id-21 .plw-counts span { font-size:11px; }

  .page-id-21 .plw-section-head { margin-bottom:24px; text-align:left; }
  .page-id-21 .plw-section-head h2,
  .page-id-21 .plw-filter__head h2,
  .page-id-21 .plw-price-note h2,
  .page-id-21 .plw-contact h2 { font-size:24px !important; line-height:1.55 !important; }

  .page-id-21 .plw-filter { width:calc(100% - 28px); margin-bottom:54px; padding:25px 17px 20px; }
  .page-id-21 .plw-filter__head { text-align:left; margin-bottom:18px; }
  .page-id-21 .plw-filter__row { grid-template-columns:1fr; gap:8px; padding:12px 0; }
  .page-id-21 .plw-filter__buttons { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
  .page-id-21 .plw-filter__buttons button { width:100%; min-height:46px; padding:0 8px; font-size:12px; }

  .page-id-21 .plw-archive { width:calc(100% - 28px); margin-bottom:70px; }
  .page-id-21 .plw-grid { grid-template-columns:1fr; gap:34px; }
  .page-id-21 .plw-card__body { padding-top:15px; }
  .page-id-21 .plw-card h3 { font-size:19px !important; }
  .page-id-21 .plw-card__meta > div { grid-template-columns:78px minmax(0,1fr); }
  .page-id-21 .plw-card__meta dt { font-size:12px; }
  .page-id-21 .plw-card__meta dd { font-size:14px; }
  .page-id-21 .plw-card__meta dd strong { font-size:27px; }
  .page-id-21 .plw-more-wrap { margin-top:34px; }
  .page-id-21 .plw-more { width:100%; min-width:0; min-height:56px; }

  .page-id-21 .plw-price-note { margin-bottom:68px; padding:48px 18px 50px; }
  .page-id-21 .plw-price-note__range strong { font-size:36px; }
  .page-id-21 .plw-price-note__text p { font-size:16px; line-height:1.9; }

  .page-id-21 .plw-guide { width:calc(100% - 28px); margin-bottom:70px; }
  .page-id-21 .plw-guide__grid { grid-template-columns:1fr; }
  .page-id-21 .plw-guide__grid article { padding:22px 20px 24px; border-right:0; border-bottom:1px solid var(--plw-line); }
  .page-id-21 .plw-guide__grid article:last-child { border-bottom:0; }
  .page-id-21 .plw-guide__grid p { font-size:16px; line-height:1.8; }

  .page-id-21 .plw-local { width:calc(100% - 28px); margin-bottom:68px; }
  .page-id-21 .plw-local__grid { grid-template-columns:1fr; gap:12px; }
  .page-id-21 .plw-local__grid article { padding:25px 20px 22px; }
  .page-id-21 .plw-local__grid p { font-size:16px; line-height:1.8; }
  .page-id-21 .plw-local__grid a { min-height:54px; }

  .page-id-21 .plw-contact { padding:50px 14px 70px; }
  .page-id-21 .plw-contact__head { text-align:left; }
  .page-id-21 .plw-contact__head > span { font-size:16px; line-height:1.85; }
  .page-id-21 .plw-contact__phone a { width:100%; min-height:70px; flex-direction:column; gap:2px; padding:10px 16px; }
  .page-id-21 .plw-contact__phone strong { font-size:24px; }
  .page-id-21 .plw-contact__form-shortcode .wpcf7 { padding:22px 16px 24px !important; }
  .page-id-21 .plw-contact__form-shortcode .pl-vf-row { grid-template-columns:1fr !important; gap:7px !important; padding:13px 0 !important; }
  .page-id-21 .plw-contact__form-shortcode .pl-vf-label { padding-top:0 !important; font-size:14px !important; }
  .page-id-21 .plw-contact__form-shortcode .pl-vf-control .wpcf7-list-item { display:block !important; margin:8px 0 !important; }
  .page-id-21 .plw-contact__form-shortcode .pl-vf-control label { font-size:15px !important; }
}

/* ========================================
   施工事例：旧お問い合わせブロックの残存対策
   ※既存の施工事例レイアウトCSSは変更しない
======================================== */
.page-id-21 .plw-contact {
  display: none !important;
}



/* =========================================================
   料金・費用 固定ページ /price/
   ペイントリーフ大阪
========================================================= */

/* Cocoon標準の固定ページタイトル・日付・サイドバーを抑制 */
body:has(.pl-price-page) .article-header,
body:has(.pl-price-page) .entry-title,
body:has(.pl-price-page) .date-tags,
body:has(.pl-price-page) .post-date,
body:has(.pl-price-page) .post-update {
  display:none !important;
}

body:has(.pl-price-page) #sidebar,
body:has(.pl-price-page) .sidebar {
  display:none !important;
}

body:has(.pl-price-page) #main,
body:has(.pl-price-page) .main {
  width:100% !important;
  max-width:none !important;
  flex:0 0 100% !important;
  margin:0 !important;
}

body:has(.pl-price-page) #content-in,
body:has(.pl-price-page) .content-in {
  display:block !important;
  width:100% !important;
  max-width:none !important;
}

body:has(.pl-price-page) .entry-content {
  margin:0 !important;
  padding:0 !important;
}

body:has(.pl-price-page) .article {
  overflow:visible !important;
}

.pl-price-page,
.pl-price-page * {
  box-sizing:border-box;
}

.pl-price-page {
  --pp-green:#006633;
  --pp-green2:#087847;
  --pp-deep:#073d2d;
  --pp-text:#171717;
  --pp-muted:#66716b;
  --pp-line:#dce5df;
  --pp-soft:#f5f8f5;
  --pp-pale:#f0f6ea;

  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  color:var(--pp-text);
  background:#fff;
  font-family:"Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;
}

.pl-price-page__inner {
  width:min(1120px, calc(100% - 40px));
  margin:0 auto;
}

.pl-price-page__inner--narrow {
  width:min(920px, calc(100% - 40px));
}

.pl-price-page__sp {
  display:none;
}

/* HERO */
.pl-price-page__hero {
  position:relative;
  width:100vw;
  margin-left:calc(50% - 50vw);
  overflow:visible;
  background:#fff;
}

.pl-price-page__hero > img {
  display:block;
  width:100%;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:0 !important;
}

.pl-price-page__seo-h1 {
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  clip-path:inset(50%) !important;
  white-space:nowrap !important;
  border:0 !important;
}

/* INTRO */
.pl-price-page__intro {
  padding:72px 0 64px;
  background:#fff;
  text-align:center;
}

.pl-price-page__eyebrow,
.pl-price-page__heading > p,
.pl-price-page__compare-head > p,
.pl-price-page__contact-head > p {
  margin:0 0 10px !important;
  color:var(--pp-green2) !important;
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:.17em;
}

.pl-price-page__intro h2,
.pl-price-page__heading h2,
.pl-price-page__compare-head h2,
.pl-price-page__contact-head h2 {
  margin:0 !important;
  padding:0 !important;
  color:var(--pp-deep) !important;
  background:none !important;
  border:0 !important;
  box-shadow:none !important;
  font-size:34px !important;
  font-weight:800 !important;
  line-height:1.55 !important;
}

.pl-price-page__intro h2::before,
.pl-price-page__intro h2::after,
.pl-price-page__heading h2::before,
.pl-price-page__heading h2::after,
.pl-price-page__compare-head h2::before,
.pl-price-page__compare-head h2::after,
.pl-price-page__contact-head h2::before,
.pl-price-page__contact-head h2::after {
  display:none !important;
  content:none !important;
}

.pl-price-page__lead {
  max-width:820px;
  margin:24px auto 0 !important;
  color:#303934;
  font-size:16px !important;
  line-height:2.05 !important;
}

.pl-price-page__trust {
  margin:42px auto 0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--pp-line);
  border-bottom:1px solid var(--pp-line);
}

.pl-price-page__trust > div {
  padding:24px 18px;
  border-right:1px solid var(--pp-line);
}

.pl-price-page__trust > div:last-child {
  border-right:0;
}

.pl-price-page__trust strong {
  display:block;
  margin-bottom:5px;
  color:var(--pp-green);
  font-size:16px;
  font-weight:800;
}

.pl-price-page__trust span {
  color:var(--pp-muted);
  font-size:12px;
  line-height:1.7;
}

/* PAGE NAV */
.pl-price-page__nav {
  position:sticky;
  top:0;
  z-index:50;
  background:#fff;
  border-top:1px solid var(--pp-line);
  border-bottom:1px solid var(--pp-line);
}

.pl-price-page__nav .pl-price-page__inner {
  display:grid;
  grid-template-columns:repeat(5,1fr);
}

.pl-price-page__nav a {
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  color:var(--pp-deep) !important;
  border-right:1px solid var(--pp-line);
  font-size:13px;
  font-weight:800;
  text-decoration:none !important;
}

.pl-price-page__nav a:first-child {
  border-left:1px solid var(--pp-line);
}

.pl-price-page__nav a:hover {
  color:#fff !important;
  background:var(--pp-green);
}

/* COMMON HEADING */
.pl-price-page__heading {
  margin:0 0 38px;
  text-align:center;
}

.pl-price-page__heading > span,
.pl-price-page__compare-head > span,
.pl-price-page__contact-head > span {
  display:block;
  max-width:760px;
  margin:12px auto 0;
  color:var(--pp-muted);
  font-size:14px;
  line-height:1.85;
}

/* PRICE GUIDE */
.pl-price-page__guide {
  padding:82px 0 88px;
  background:var(--pp-soft);
}

.pl-price-page__guide-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}

.pl-price-page__guide-card {
  position:relative;
  min-height:350px;
  padding:34px 28px 30px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  background:#fff;
  border:1px solid var(--pp-line);
  border-top:5px solid #b8cfb0;
  text-align:center;
}

.pl-price-page__guide-card--recommend {
  border:2px solid #91b73a;
  border-top:5px solid var(--pp-green);
  background:#fbfdf8;
}

.pl-price-page__guide-badge {
  position:absolute;
  top:0;
  left:50%;
  transform:translate(-50%,-50%);
  padding:7px 17px;
  color:#fff;
  background:var(--pp-green);
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
}

.pl-price-page__guide-label {
  margin-bottom:9px;
  color:var(--pp-green2);
  font-size:12px;
  font-weight:800;
}

.pl-price-page__guide-card h3 {
  margin:0 !important;
  padding:0 !important;
  color:var(--pp-deep) !important;
  background:none !important;
  border:0 !important;
  font-size:24px !important;
  line-height:1.45 !important;
}

.pl-price-page__guide-card h3::before,
.pl-price-page__guide-card h3::after {
  display:none !important;
  content:none !important;
}

.pl-price-page__guide-price {
  margin:24px 0 16px;
  color:var(--pp-green);
  line-height:1;
}

.pl-price-page__guide-price strong {
  font-size:62px;
  font-weight:900;
  letter-spacing:-.04em;
}

.pl-price-page__guide-price span {
  margin-left:5px;
  font-size:21px;
  font-weight:800;
}

.pl-price-page__guide-card > p {
  margin:0 !important;
  color:var(--pp-muted);
  font-size:12px !important;
  line-height:1.8 !important;
}

.pl-price-page__guide-note {
  margin:22px auto 0 !important;
  color:var(--pp-muted);
  font-size:12px !important;
  line-height:1.8 !important;
  text-align:center;
}

/* CASES */
.pl-price-page__cases {
  padding:86px 0 92px;
  background:#fff;
}

.pl-price-page__case-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px 20px;
}

.pl-price-page__case {
  overflow:hidden;
  background:#fff;
  border:1px solid var(--pp-line);
}

.pl-price-page__case-image {
  display:block;
  aspect-ratio:4 / 3;
  overflow:hidden;
  background:#edf2ee;
}

.pl-price-page__case-image img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  margin:0 !important;
  transition:transform .35s ease;
}

.pl-price-page__case:hover .pl-price-page__case-image img {
  transform:scale(1.025);
}

.pl-price-page__case-body {
  padding:22px 21px 20px;
}

.pl-price-page__area {
  display:inline-block;
  margin-bottom:10px;
  padding:4px 10px;
  color:#fff;
  background:var(--pp-green);
  border-radius:2px;
  font-size:11px;
  font-weight:800;
}

.pl-price-page__case h3 {
  margin:0 !important;
  padding:0 !important;
  color:var(--pp-deep) !important;
  background:none !important;
  border:0 !important;
  font-size:18px !important;
  font-weight:800 !important;
  line-height:1.55 !important;
}

.pl-price-page__case h3::before,
.pl-price-page__case h3::after {
  display:none !important;
  content:none !important;
}

.pl-price-page__case-price {
  margin:16px 0 15px;
  padding-bottom:14px;
  border-bottom:1px solid var(--pp-line);
  color:var(--pp-green);
}

.pl-price-page__case-price strong {
  font-size:37px;
  font-weight:900;
  line-height:1;
}

.pl-price-page__case-price span {
  margin-left:4px;
  font-size:16px;
  font-weight:800;
}

.pl-price-page__case dl {
  margin:0;
}

.pl-price-page__case dl > div {
  display:grid;
  grid-template-columns:74px 1fr;
  gap:10px;
  padding:5px 0;
}

.pl-price-page__case dt {
  color:var(--pp-muted);
  font-size:11px;
  font-weight:700;
}

.pl-price-page__case dd {
  margin:0;
  color:#303934;
  font-size:12px;
  font-weight:700;
  line-height:1.55;
}

.pl-price-page__center-link {
  margin-top:40px;
  text-align:center;
}

.pl-price-page__center-link a {
  min-width:320px;
  min-height:54px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  padding:0 25px;
  color:#fff !important;
  background:var(--pp-green);
  border-radius:4px;
  font-size:14px;
  font-weight:800;
  text-decoration:none !important;
}

.pl-price-page__center-link a:hover {
  background:var(--pp-deep);
}

/* FACTORS */
.pl-price-page__factors {
  padding:86px 0 92px;
  background:var(--pp-soft);
}

.pl-price-page__factor-list {
  width:min(940px,100%);
  margin:0 auto;
  border-top:1px solid #cad8cf;
}

.pl-price-page__factor-list article {
  display:grid;
  grid-template-columns:90px 1fr;
  gap:28px;
  align-items:start;
  padding:28px 8px;
  border-bottom:1px solid #cad8cf;
}

.pl-price-page__factor-list article > span {
  color:#9abf43;
  font-size:32px;
  font-weight:900;
  line-height:1.2;
}

.pl-price-page__factor-list h3 {
  margin:0 0 8px !important;
  padding:0 !important;
  color:var(--pp-deep) !important;
  background:none !important;
  border:0 !important;
  font-size:20px !important;
  font-weight:800 !important;
}

.pl-price-page__factor-list h3::before,
.pl-price-page__factor-list h3::after {
  display:none !important;
  content:none !important;
}

.pl-price-page__factor-list p {
  margin:0 !important;
  color:#3f4b44;
  font-size:14px !important;
  line-height:1.9 !important;
}

/* BREAKDOWN */
.pl-price-page__breakdown {
  padding:86px 0 92px;
  background:#fff;
}

.pl-price-page__breakdown-box {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--pp-line);
  border-left:1px solid var(--pp-line);
}

.pl-price-page__breakdown-item {
  min-height:128px;
  padding:25px 18px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border-right:1px solid var(--pp-line);
  border-bottom:1px solid var(--pp-line);
  text-align:center;
}

.pl-price-page__breakdown-item span {
  margin-bottom:7px;
  color:#91b73a;
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
}

.pl-price-page__breakdown-item strong {
  color:var(--pp-deep);
  font-size:15px;
  font-weight:800;
  line-height:1.6;
}

.pl-price-page__breakdown-note {
  margin:18px 0 0 !important;
  color:var(--pp-muted);
  font-size:12px !important;
  text-align:center;
}

/* COMPARE */
.pl-price-page__compare {
  padding:86px 0 92px;
  color:#fff;
  background:var(--pp-deep);
}

.pl-price-page__compare-badge {
  width:max-content;
  margin:0 auto 18px;
  padding:7px 17px;
  color:var(--pp-deep);
  background:#d7e99a;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
}

.pl-price-page__compare-head {
  text-align:center;
}

.pl-price-page__compare-head > p {
  color:#cde1a0 !important;
}

.pl-price-page__compare-head h2 {
  color:#fff !important;
}

.pl-price-page__compare-head > span {
  color:#dce8e1;
}

.pl-price-page__compare-grid {
  margin-top:40px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(255,255,255,.22);
  border-left:1px solid rgba(255,255,255,.22);
}

.pl-price-page__compare-grid article {
  min-height:190px;
  padding:28px 22px;
  border-right:1px solid rgba(255,255,255,.22);
  border-bottom:1px solid rgba(255,255,255,.22);
}

.pl-price-page__compare-grid article > span {
  display:block;
  margin-bottom:15px;
  color:#cde1a0;
  font-size:12px;
  font-weight:900;
}

.pl-price-page__compare-grid h3 {
  margin:0 0 10px !important;
  padding:0 !important;
  color:#fff !important;
  background:none !important;
  border:0 !important;
  font-size:19px !important;
  font-weight:800 !important;
}

.pl-price-page__compare-grid h3::before,
.pl-price-page__compare-grid h3::after {
  display:none !important;
  content:none !important;
}

.pl-price-page__compare-grid p {
  margin:0 !important;
  color:#dce8e1 !important;
  font-size:13px !important;
  line-height:1.8 !important;
}

.pl-price-page__compare-message {
  margin-top:34px;
  padding:27px 30px;
  text-align:center;
  background:rgba(255,255,255,.08);
}

.pl-price-page__compare-message strong {
  display:block;
  margin-bottom:8px;
  color:#fff;
  font-size:18px;
  font-weight:800;
}

.pl-price-page__compare-message p {
  margin:0 !important;
  color:#dce8e1 !important;
  font-size:13px !important;
  line-height:1.8 !important;
}

/* AREA LINKS */
.pl-price-page__area-links {
  padding:86px 0 92px;
  background:#fff;
}

.pl-price-page__area-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
}

.pl-price-page__area-grid a {
  min-height:170px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:30px 34px;
  color:var(--pp-deep) !important;
  background:var(--pp-soft);
  border:1px solid var(--pp-line);
  text-decoration:none !important;
}

.pl-price-page__area-grid a:hover {
  color:#fff !important;
  background:var(--pp-green);
}

.pl-price-page__area-grid small {
  margin-bottom:7px;
  color:var(--pp-green2);
  font-size:10px;
  font-weight:900;
  letter-spacing:.13em;
}

.pl-price-page__area-grid a:hover small {
  color:#dcecae;
}

.pl-price-page__area-grid strong {
  font-size:22px;
  font-weight:800;
}

.pl-price-page__area-grid span {
  margin-top:14px;
  font-size:12px;
  font-weight:800;
}

/* FAQ */
.pl-price-page__faq {
  padding:86px 0 92px;
  background:var(--pp-soft);
}

.pl-price-page__faq-list {
  border-top:1px solid #ccd9d1;
}

.pl-price-page__faq details {
  border-bottom:1px solid #ccd9d1;
}

.pl-price-page__faq summary {
  position:relative;
  min-height:76px;
  display:grid;
  grid-template-columns:42px 1fr;
  gap:12px;
  align-items:center;
  padding:16px 48px 16px 8px;
  color:var(--pp-deep);
  font-size:15px;
  font-weight:800;
  line-height:1.7;
  cursor:pointer;
  list-style:none;
}

.pl-price-page__faq summary::-webkit-details-marker {
  display:none;
}

.pl-price-page__faq summary::after {
  content:"+";
  position:absolute;
  top:50%;
  right:12px;
  transform:translateY(-50%);
  color:var(--pp-green);
  font-size:24px;
  font-weight:500;
}

.pl-price-page__faq details[open] summary::after {
  content:"−";
}

.pl-price-page__faq summary > span,
.pl-price-page__faq details > div > span {
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  font-size:14px;
  font-weight:900;
}

.pl-price-page__faq summary > span {
  color:#fff;
  background:var(--pp-green);
}

.pl-price-page__faq details > div {
  display:grid;
  grid-template-columns:42px 1fr;
  gap:12px;
  padding:0 46px 24px 8px;
}

.pl-price-page__faq details > div > span {
  color:var(--pp-green);
  background:#e5f0e7;
}

.pl-price-page__faq details > div p {
  margin:3px 0 0 !important;
  color:#39443e !important;
  font-size:14px !important;
  line-height:1.9 !important;
}

/* CONTACT */
.pl-price-page__contact {
  padding:78px 0 0;
  background:#fff;
}

.pl-price-page__contact-head {
  width:min(900px, calc(100% - 40px));
  margin:0 auto 8px;
  text-align:center;
}

/* =========================================================
   料金ページ：TOP 30秒フォームを同一デザインで共通利用
   TOP側・施工事例側は変更しない
========================================================= */

/* =========================================================
   料金ページ：TOPフォーム完全共通化
========================================================= */
/* =========================================================
   料金ページ：TOP 30秒フォームを同一デザインで共通利用
   TOP側は変更せず、料金ページ内のみ同じ配置ルールを適用
========================================================= */

/* =========================================================
   TOP画像フォーム PC幅・位置 修正版
========================================================= */

/* TOPのCF7外側についている制限を全部解除 */
.pl-price-page .wpcf7:has(.pl-visual-form) {
  width: 100% !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}


/* CF7のform自体も横幅100% */
.pl-price-page .wpcf7:has(.pl-visual-form) form {
  width: 100% !important;
  max-width: none !important;

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


/* =========================================================
   背景画像本体
========================================================= */

.pl-price-page .pl-visual-form {
  position: relative !important;

  width: min(1220px, calc(100vw - 40px)) !important;
  max-width: 1220px !important;

  aspect-ratio: 3 / 2 !important;

  margin: 55px auto !important;

  background-image:
    url("https://paintleaf-osaka.com/wp-content/uploads/2026/09/paintleaf-osaka-top-contact-form-bg.webp") !important;

  background-size: 100% 100% !important;
  background-repeat: no-repeat !important;
  background-position: center !important;

  overflow: hidden !important;

  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}


/* =========================================================
   白い点線エリアに本物フォームをピッタリ配置
========================================================= */

.pl-price-page .pl-visual-form__live {
  position: absolute !important;

  left: 6.1% !important;
  top: 36.3% !important;

  width: 87.8% !important;
  height: 35.0% !important;

  margin: 0 !important;

  padding: 1.3% 3.2% 1.2% !important;

  box-sizing: border-box !important;

  background: #fff !important;

  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;

  z-index: 5 !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}


/* =========================================================
   PCフォーム内部を少しコンパクトに
========================================================= */

.pl-price-page .pl-vf-row {
  display: grid !important;

  grid-template-columns:
    135px minmax(0, 1fr) !important;

  gap: 16px !important;

  align-items: center !important;

  min-height: 51px !important;

  padding: 0 !important;

  border-bottom: 1px solid #e8ece8 !important;
}


.pl-price-page .pl-vf-row--check {
  min-height: 45px !important;
}


.pl-price-page .pl-vf-label {
  margin: 0 !important;
  padding: 0 !important;

  font-size: 13px !important;
}


.pl-price-page .pl-visual-form input[type="text"],
.pl-price-page .pl-visual-form input[type="tel"] {
  width: 100% !important;
  height: 42px !important;

  padding: 0 14px !important;

  box-sizing: border-box !important;

  font-size: 14px !important;
}


.pl-price-page .pl-vf-control .wpcf7-list-item {
  margin: 2px 14px 2px 0 !important;
}


.pl-price-page .pl-vf-control .wpcf7-list-item label {
  font-size: 11px !important;
}


.pl-price-page .pl-vf-control input[type="checkbox"] {
  width: 17px !important;
  height: 17px !important;
}


/* 同意 */
.pl-price-page .pl-vf-bottom {
  padding-top: 8px !important;
}


.pl-price-page .pl-vf-privacy {
  margin-bottom: 7px !important;

  font-size: 9px !important;
}


/* ボタン */
.pl-price-page .pl-vf-submit {
  width: 390px !important;
  max-width: 100% !important;

  margin: 0 auto !important;
}


.pl-price-page .pl-vf-submit input[type="submit"] {
  height: 48px !important;

  font-size: 14px !important;

  border-radius: 30px !important;
}


/* =========================================================
   スマホは以前の縦型を維持
========================================================= */

@media screen and (max-width: 768px) {

  .pl-price-page .pl-visual-form {
    width: calc(100% - 20px) !important;

    aspect-ratio: auto !important;

    min-height: 720px !important;

    margin: 30px auto !important;

    background-size: auto 360px !important;
    background-position: top center !important;

    background-color: #f4f9ed !important;

    border-radius: 12px !important;
  }


  .pl-price-page .pl-visual-form__live {
    position: relative !important;

    left: auto !important;
    top: auto !important;

    width: calc(100% - 24px) !important;
    height: auto !important;

    margin: 300px auto 0 !important;

    padding: 22px 16px 24px !important;

    background: #fff !important;

    border-radius: 12px !important;

    box-shadow:
      0 8px 25px rgba(28,83,56,.10) !important;
  }


  .pl-price-page .pl-vf-row {
    display: block !important;

    min-height: 0 !important;

    padding: 11px 0 !important;
  }


  .pl-price-page .pl-vf-label {
    margin-bottom: 7px !important;
  }


  .pl-price-page .pl-visual-form input[type="text"],
  .pl-price-page .pl-visual-form input[type="tel"] {
    height: 48px !important;

    font-size: 16px !important;
  }


  .pl-price-page .pl-vf-submit {
    width: 100% !important;
  }


  .pl-price-page .pl-vf-submit input[type="submit"] {
    height: 55px !important;
  }

}


@media screen and (max-width: 767px) {

  /* =========================================
     フォーム全体
  ========================================= */

  .pl-price-page .pl-visual-form {
    position: relative !important;

    width: calc(100% - 20px) !important;
    max-width: 430px !important;

    min-height: 0 !important;
    aspect-ratio: auto !important;

    margin: 28px auto 34px !important;

    /* PC画像は背景として使わない */
    background-image: none !important;
    background-color: #f3f7ee !important;

    /*
      上部にPC画像の「見出し部分だけ」を
      表示するためのスペース
    */
    padding:
      calc(22% + 12px)
      10px
      16px !important;

    box-sizing: border-box !important;

    border-radius: 14px !important;

    overflow: hidden !important;
  }


  /* =========================================
     元画像の上部だけ使用
     30秒・見出し・住宅・職人
  ========================================= */

  .pl-price-page .pl-visual-form::before {
    content: "" !important;

    position: absolute !important;

    top: 0 !important;
    left: 0 !important;

    width: 100% !important;

    aspect-ratio: 1000 / 220 !important;

    background-image:
      url("https://paintleaf-osaka.com/wp-content/uploads/2026/09/paintleaf-osaka-top-contact-form-bg.webp") !important;

    background-size: 100% auto !important;
    background-repeat: no-repeat !important;
    background-position: top center !important;

    z-index: 1 !important;
  }


  /* =========================================
     本物のCF7フォーム
  ========================================= */

  .pl-price-page .pl-visual-form__live {
    position: relative !important;

    left: auto !important;
    top: auto !important;

    width: 100% !important;
    height: auto !important;

    margin: 0 !important;

    padding: 20px 14px 16px !important;

    box-sizing: border-box !important;

    background: #fff !important;

    border: 1px solid #dce7d9 !important;
    border-radius: 12px !important;

    box-shadow:
      0 6px 18px rgba(28,83,56,.08) !important;

    display: block !important;

    transform: none !important;

    z-index: 5 !important;
  }


  /* =========================================
     各項目
  ========================================= */

  .pl-price-page .pl-visual-form .pl-vf-row {
    display: block !important;

    min-height: 0 !important;

    margin: 0 0 18px !important;

    padding: 0 0 18px !important;

    transform: none !important;

    border-bottom: 1px solid #e8ece8 !important;
  }


  .pl-price-page .pl-visual-form
  .pl-vf-row:not(.pl-vf-row--check)
  + .pl-vf-row {
    margin-top: 0 !important;
  }


  /* 希望内容 */
  .pl-price-page .pl-visual-form .pl-vf-row--check {
    margin: 0 0 18px !important;
    padding: 0 0 18px !important;

    transform: none !important;
  }


  /* ラベル */
  .pl-price-page .pl-visual-form .pl-vf-label {
    display: block !important;

    margin: 0 0 10px !important;
    padding: 0 !important;

    color: #087847 !important;

    font-size: 14px !important;
    font-weight: 700 !important;

    line-height: 1.5 !important;

    white-space: normal !important;

    transform: none !important;
  }


  /* =========================================
     チェックボックス
  ========================================= */

  .pl-price-page
  .pl-visual-form
  .pl-vf-control
  .wpcf7-checkbox {
    display: grid !important;

    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;

    gap: 12px 8px !important;
  }


  .pl-price-page
  .pl-visual-form
  .pl-vf-control
  .wpcf7-list-item {
    margin: 0 !important;
  }


  .pl-price-page
  .pl-visual-form
  .pl-vf-control
  .wpcf7-list-item label {
    display: flex !important;

    align-items: center !important;

    gap: 7px !important;

    font-size: 13px !important;
    line-height: 1.4 !important;
  }


  .pl-price-page
  .pl-visual-form
  .pl-vf-control
  input[type="checkbox"] {
    width: 21px !important;
    height: 21px !important;

    flex: 0 0 21px !important;
  }


  /* =========================================
     名前・電話番号
  ========================================= */

  .pl-price-page .pl-visual-form input[type="text"],
  .pl-price-page .pl-visual-form input[type="tel"] {
    width: 100% !important;
    height: 52px !important;

    margin: 0 !important;

    padding: 0 14px !important;

    box-sizing: border-box !important;

    border: 1px solid #ccd6cf !important;
    border-radius: 8px !important;

    background: #fff !important;

    font-size: 16px !important;

    transform: none !important;
  }


  /* =========================================
     エラー「入力してください」
  ========================================= */

  .pl-price-page
  .pl-visual-form
  .wpcf7-not-valid-tip {
    position: static !important;

    display: block !important;

    margin: 6px 0 0 !important;

    color: #c62828 !important;

    font-size: 12px !important;
    font-weight: 700 !important;

    line-height: 1.5 !important;
  }


  /* =========================================
     送信ボタン
  ========================================= */

  .pl-price-page .pl-visual-form .pl-vf-bottom {
    margin: 2px 0 0 !important;
    padding: 0 !important;

    transform: none !important;
  }


  .pl-price-page .pl-visual-form .pl-vf-submit {
    width: 100% !important;

    margin: 0 !important;
  }


  .pl-price-page
  .pl-visual-form
  .pl-vf-submit
  input[type="submit"] {
    width: 100% !important;
    height: 56px !important;

    margin: 0 !important;

    font-size: 15px !important;

    border-radius: 30px !important;
  }


  /* =========================================
     CF7 メッセージ
  ========================================= */

  .pl-price-page
  .pl-visual-form
  .wpcf7-response-output {
    position: static !important;

    margin: 12px 0 0 !important;

    padding: 9px !important;

    font-size: 12px !important;
  }


  .pl-price-page
  .pl-visual-form
  .wpcf7-spinner {
    position: static !important;

    display: block !important;

    margin: 8px auto 0 !important;
  }


  /* =========================================
     スマホ用 安心項目
  ========================================= */

  .pl-price-page .pl-visual-form__live::after {
    content:
      "相談無料　｜　現地調査無料\A 相見積もり歓迎　｜　しつこい営業なし";

    white-space: pre-line;

    display: block;

    margin-top: 15px;

    padding: 11px 6px;

    color: #087847;

    background: #f1f7ec;

    border-radius: 9px;

    font-size: 11px;
    font-weight: 700;

    line-height: 1.8;

    text-align: center;
  }


 /* =========================================
   メール・詳しいお問い合わせへの導線
========================================= */

.pl-price-page
.pl-visual-form
.pl-visual-form__contact-link {
  position: relative !important;

  left: auto !important;
  bottom: auto !important;

  width: 100% !important;
  height: auto !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;

  box-sizing: border-box !important;

  margin: 12px 0 0 !important;

  padding: 13px 10px 14px !important;

  color: #087847 !important;
  background: #fff !important;

  border: 1px solid #d6e3d4 !important;
  border-radius: 10px !important;

  font-size: 0 !important;
  text-decoration: none !important;

  z-index: 10 !important;
}


/* 上の説明 */
.pl-price-page
.pl-visual-form
.pl-visual-form__contact-link::before {
  content: "電話が苦手な方・メールで相談したい方へ";

  display: block;

  margin-bottom: 5px;

  color: #68746d !important;

  font-size: 11px !important;
  font-weight: 500 !important;

  line-height: 1.5 !important;
}


/* メイン文字 */
.pl-price-page
.pl-visual-form
.pl-visual-form__contact-link::after {
  content: "詳しいお問い合わせフォームへ →";

  display: block;

  color: #087847 !important;

  font-size: 14px !important;
  font-weight: 700 !important;

  line-height: 1.5 !important;
}

}


/* ========================================
   TOP簡易フォーム
   スマホは上部画像を画面いっぱいに表示
======================================== */
@media screen and (max-width: 767px) {

  /* フォーム全体を画面幅まで広げる */
  .pl-price-page .pl-visual-form {
    width: 100vw !important;
    max-width: none !important;

    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    padding-top: 42% !important;

    border-radius: 0 !important;
  }

  /* 上部画像 */
  .pl-price-page .pl-visual-form::before {
    width: 100vw !important;
    height: 42vw !important;

    aspect-ratio: auto !important;

    background-size: 100% auto !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;
  }

  /* 本物のフォームは左右に少し余白を残す */
  .pl-price-page .pl-visual-form__live {
    width: calc(100% - 24px) !important;

    margin-left: auto !important;
    margin-right: auto !important;
  }

}
/* ========================================
   TOP簡易フォーム スマホ
   上部画像をグリーン部分だけにする
======================================== */
@media screen and (max-width: 767px) {

  .pl-price-page .pl-visual-form {
    /* 42% → 上部デザイン部分だけ */
    padding-top: 24vw !important;
  }

  .pl-price-page .pl-visual-form::before {
    width: 100vw !important;
    height: 24vw !important;

    aspect-ratio: auto !important;

    background-size: 100vw auto !important;
    background-position: top center !important;
    background-repeat: no-repeat !important;
  }

  /* 本物のフォームを画像直下へ */
  .pl-price-page .pl-visual-form__live {
    margin-top: 0 !important;
  }

}
/* ========================================
   TOP簡易フォーム
   スマホ専用ヘッダー画像
======================================== */
@media screen and (max-width: 767px) {

  .pl-price-page .pl-visual-form {
    width: 100vw !important;
    max-width: none !important;

    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    /* 3:1画像の高さ */
    padding-top: 33.333vw !important;

    background-image: none !important;
    background-color: #f3f7ee !important;

    border-radius: 0 !important;
  }

  /* スマホ専用画像 */
  .pl-price-page .pl-visual-form::before {
    content: "" !important;

    position: absolute !important;

    top: 0 !important;
    left: 0 !important;

    width: 100vw !important;
    height: 33.333vw !important;

    background-image:
      url("https://paintleaf-osaka.com/wp-content/uploads/2026/09/paintleaf-osaka-top-contact-mobile.webp") !important;

    background-size: 100% 100% !important;
    background-position: center !important;
    background-repeat: no-repeat !important;

    z-index: 1 !important;
  }

  /* 本物のフォームは画像のすぐ下 */
  .pl-price-page .pl-visual-form__live {
    width: calc(100% - 24px) !important;

    margin: 0 auto !important;
  }

}


/* =========================================================
   料金ページ SP
   2026-09-30 スマホ最終調整
========================================================= */
@media screen and (max-width: 834px) {

  /* Cocoon側の左右余白を外し、背景帯を画面端まで使う */
  body:has(.pl-price-page) .article {
    padding-left:0 !important;
    padding-right:0 !important;
  }

  .pl-price-page {
    width:100vw !important;
    max-width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    overflow-x:clip;
  }

  .pl-price-page__intro {
    padding:46px 0 42px;
  }

  .pl-price-page__inner,
  .pl-price-page__inner--narrow {
    width:calc(100% - 28px);
  }

  /* 見出し：大きすぎる折返しを防ぐ */
  .pl-price-page__intro h2,
  .pl-price-page__heading h2,
  .pl-price-page__compare-head h2,
  .pl-price-page__contact-head h2 {
    max-width:100%;
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:25px !important;
    line-height:1.52 !important;
    letter-spacing:0 !important;
    text-wrap:balance;
  }

  .pl-price-page__guide .pl-price-page__heading h2,
  .pl-price-page__breakdown .pl-price-page__heading h2 {
    font-size:24px !important;
  }

  .pl-price-page__lead {
    font-size:16px !important;
    line-height:1.92 !important;
    text-align:left;
  }

  /* 3つの安心を少しコンパクトに */
  .pl-price-page__trust {
    grid-template-columns:1fr;
    margin-top:28px;
  }

  .pl-price-page__trust > div {
    padding:14px 12px;
    border-right:0;
    border-bottom:1px solid var(--pp-line);
  }

  .pl-price-page__trust > div:last-child {
    border-bottom:0;
  }

  .pl-price-page__trust strong {
    font-size:15px;
  }

  .pl-price-page__trust span {
    font-size:13px;
    line-height:1.6;
  }

  /* ページ内メニュー：横スクロールをやめて全項目を見せる */
  .pl-price-page__nav {
    position:static;
    overflow:visible;
  }

  .pl-price-page__nav .pl-price-page__inner {
    width:100%;
    min-width:0;
    margin:0;
    display:grid;
    grid-template-columns:repeat(6, 1fr);
  }

  .pl-price-page__nav a {
    min-height:50px;
    padding:7px 4px;
    border-bottom:1px solid var(--pp-line);
    font-size:11.5px;
    line-height:1.35;
    text-align:center;
  }

  .pl-price-page__nav a:nth-child(-n+3) {
    grid-column:span 2;
  }

  .pl-price-page__nav a:nth-child(n+4) {
    grid-column:span 3;
  }

  .pl-price-page__nav a:first-child {
    border-left:0;
  }

  /* 各セクションの縦余白をスマホ向けに調整 */
  .pl-price-page__guide,
  .pl-price-page__cases,
  .pl-price-page__factors,
  .pl-price-page__breakdown,
  .pl-price-page__compare,
  .pl-price-page__area-links,
  .pl-price-page__faq {
    padding:50px 0 54px;
  }

  .pl-price-page__heading {
    margin-bottom:24px;
  }

  .pl-price-page__heading > span,
  .pl-price-page__contact-head > span {
    color:#56625c;
    font-size:14px;
    line-height:1.75;
  }

  /* 濃緑背景の相見積もりセクションは明るい文字で可読性を確保 */
  .pl-price-page__compare-head > span {
    color:#eef5f1 !important;
    font-size:15px;
    line-height:1.9;
  }

  /* 料金目安 */
  .pl-price-page__guide-grid {
    grid-template-columns:1fr;
    gap:14px;
  }

  .pl-price-page__guide-card {
    min-height:0;
    padding:26px 20px 24px;
  }

  .pl-price-page__guide-price {
    margin:16px 0 12px;
  }

  .pl-price-page__guide-price strong {
    font-size:52px;
  }

  .pl-price-page__guide-card > p,
  .pl-price-page__guide-note {
    font-size:13px !important;
    line-height:1.7 !important;
  }

  /* 実例価格は2列維持 */
  .pl-price-page__case-grid {
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:14px 10px;
  }

  .pl-price-page__case-body {
    padding:15px 13px 14px;
  }

  .pl-price-page__area {
    margin-bottom:8px;
    padding:4px 8px;
    font-size:10px;
  }

  .pl-price-page__case h3 {
    min-height:50px;
    font-size:14px !important;
    line-height:1.6 !important;
  }

  .pl-price-page__case-price {
    margin:10px 0;
    padding-bottom:9px;
  }

  .pl-price-page__case-price strong {
    font-size:30px;
  }

  .pl-price-page__case-price span {
    font-size:13px;
  }

  .pl-price-page__case dl > div {
    display:block;
    padding:3px 0;
  }

  .pl-price-page__case dt {
    font-size:10px;
  }

  .pl-price-page__case dd {
    margin-top:1px;
    font-size:11px;
  }

  .pl-price-page__center-link {
    margin-top:28px;
  }

  .pl-price-page__center-link a {
    width:100%;
    min-width:0;
    min-height:52px;
  }

  /* 費用が変わる理由 */
  .pl-price-page__factor-list article {
    grid-template-columns:46px 1fr;
    gap:10px;
    padding:19px 0;
  }

  .pl-price-page__factor-list article > span {
    font-size:23px;
  }

  .pl-price-page__factor-list h3 {
    margin-bottom:6px !important;
    font-size:17px !important;
    line-height:1.55 !important;
  }

  .pl-price-page__factor-list p {
    font-size:14.5px !important;
    line-height:1.8 !important;
  }

  /* 見積もり内訳 */
  .pl-price-page__breakdown-box {
    grid-template-columns:repeat(2,1fr);
  }

  .pl-price-page__breakdown-item {
    min-height:90px;
    padding:16px 8px;
  }

  .pl-price-page__breakdown-item span {
    margin-bottom:5px;
    font-size:11px;
  }

  .pl-price-page__breakdown-item strong {
    font-size:13.5px;
    line-height:1.5;
  }

  /* 相見積もり */
  .pl-price-page__compare-grid {
    grid-template-columns:repeat(2,1fr);
    margin-top:30px;
  }

  .pl-price-page__compare-grid article {
    min-height:138px;
    padding:18px 14px;
  }

  .pl-price-page__compare-grid article > span {
    margin-bottom:10px;
  }

  .pl-price-page__compare-grid h3 {
    margin-bottom:7px !important;
    font-size:16px !important;
  }

  .pl-price-page__compare-grid p {
    font-size:13.5px !important;
    line-height:1.7 !important;
  }

  .pl-price-page__compare-message {
    margin-top:22px;
    padding:19px 16px;
  }

  .pl-price-page__compare-message strong {
    font-size:16px;
  }

  .pl-price-page__compare-message p {
    font-size:14px !important;
  }

  /* 地域リンク */
  .pl-price-page__area-grid {
    grid-template-columns:1fr;
    gap:12px;
  }

  .pl-price-page__area-grid a {
    min-height:125px;
    padding:22px 22px;
  }

  .pl-price-page__area-grid strong {
    font-size:20px;
  }

  /* FAQ */
  .pl-price-page__faq summary {
    grid-template-columns:38px 1fr;
    gap:9px;
    min-height:68px;
    padding:14px 38px 14px 0;
    font-size:14.5px;
  }

  .pl-price-page__faq details > div {
    grid-template-columns:38px 1fr;
    gap:9px;
    padding:0 0 20px;
  }

  .pl-price-page__faq details > div p {
    font-size:14.5px !important;
    line-height:1.82 !important;
  }

  /* 問い合わせ見出し */
  .pl-price-page__contact {
    padding-top:46px;
  }

  .pl-price-page__contact-head {
    width:calc(100% - 28px);
    margin-bottom:0;
  }

  .pl-price-page__contact-head h2 {
    font-size:25px !important;
  }

  .pl-price-page__contact-head > span {
    max-width:360px;
    margin-top:10px;
  }

  /* フォーム外側の薄緑は白 */
  .pl-price-page .pl-visual-form {
    background-color:#fff !important;
  }
}

@media screen and (max-width: 520px) {

  .pl-price-page__sp {
    display:block;
  }

  .pl-price-page__intro h2,
  .pl-price-page__heading h2,
  .pl-price-page__compare-head h2,
  .pl-price-page__contact-head h2 {
    font-size:24px !important;
  }

  .pl-price-page__guide .pl-price-page__heading h2,
  .pl-price-page__breakdown .pl-price-page__heading h2 {
    font-size:23px !important;
  }

  .pl-price-page__case-grid {
    grid-template-columns:repeat(2, minmax(0,1fr));
  }

  .pl-price-page__case-image {
    aspect-ratio:1 / .86;
  }

  .pl-price-page__case-body {
    padding:13px 11px;
  }

  .pl-price-page__case h3 {
    font-size:13px !important;
  }

  .pl-price-page__case-price strong {
    font-size:27px;
  }

  .pl-price-page__breakdown-item {
    min-height:86px;
  }
}

/* =========================================================
   スマホ：既存TOP/施工事例/スタッフのフォーム外側も白で統一
   フォーム本体・入力欄には触れない
========================================================= */
@media screen and (max-width: 767px) {
  body.home .pl-visual-form,
  body.page-id-21 .pl-visual-form,
  body.page-id-85 .pl-visual-form,
  .pl-price-page .pl-visual-form {
    background-color:#fff !important;
  }
}


/* ========================================
   料金ページ専用ヘッダー：全体表示・見切れ防止
======================================== */
.pl-price-page__hero {
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
}

.pl-price-page__hero > img {
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
}

@media screen and (max-width: 834px) {
  .pl-price-page__hero,
  .pl-price-page__hero > img {
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
  }
}

/* =========================================================
   2026-10-02 TOP 現在確定分のみ
   既存CSSを消さず、メインビジュアルと導入文だけ上書き
========================================================= */

/* PCメインビジュアル：全幅にせず1280px */
@media screen and (min-width: 768px) {
  body.home .pl-mainvisual {
    padding: 0 20px 28px !important;
  }

  body.home .pl-mainvisual__inner {
    width: min(1280px, 100%) !important;
    max-width: 1280px !important;
    margin: 0 auto !important;
  }

  body.home .pl-mainvisual__image {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: none !important;
    margin: 0 !important;
  }
}

/* TOP メインビジュアル下 導入文 */
body.home .pl-top-intro {
  width: 100%;
  padding: 82px 20px 92px;
  box-sizing: border-box;
  background: #fff;
}

body.home .pl-top-intro__inner {
  width: min(850px, 100%);
  margin: 0 auto;
  text-align: center;
}

body.home .pl-top-intro__label {
  margin: 0 0 16px !important;
  color: #3d6f4e !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  font-weight: 600 !important;
  letter-spacing: .03em !important;
  text-align: center !important;
}

body.home .pl-top-intro h2 {
  margin: 0 !important;
  padding: 0 !important;
  color: #202420 !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  font-size: 36px !important;
  line-height: 1.55 !important;
  font-weight: 700 !important;
  letter-spacing: .01em !important;
  text-align: center !important;
}

body.home .pl-top-intro h2::before,
body.home .pl-top-intro h2::after {
  display: none !important;
  content: none !important;
}

body.home .pl-top-intro__title-sp {
  display: none;
}

body.home .pl-top-intro__line {
  width: 54px;
  height: 2px;
  margin: 30px auto 34px;
  background: #91b47d;
}

body.home .pl-top-intro p {
  width: 100%;
  margin: 0 auto 26px !important;
  color: #333 !important;
  font-size: 16px !important;
  line-height: 2.05 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
}

body.home .pl-top-intro__lead {
  font-size: 17px !important;
  line-height: 2 !important;
}

body.home .pl-top-intro__lead strong {
  font-weight: 600 !important;
}

body.home .pl-top-intro__highlight {
  color: #28623f;
  font-weight: 700;
  background: linear-gradient(transparent 70%, #edf3d8 70%);
}

@media screen and (max-width: 767px) {
  body.home .pl-top-intro {
    padding: 50px 20px 58px;
  }

  body.home .pl-top-intro__inner {
    width: 100%;
    max-width: 100%;
  }

  body.home .pl-top-intro__label {
    margin-bottom: 14px !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
  }

  body.home .pl-top-intro h2 {
    font-size: 27px !important;
    line-height: 1.55 !important;
    letter-spacing: 0 !important;
  }

  body.home .pl-top-intro__title-pc {
    display: none;
  }

  body.home .pl-top-intro__title-sp {
    display: inline;
  }

  body.home .pl-top-intro__line {
    width: 42px;
    margin: 23px auto 28px;
  }

  body.home .pl-top-intro p {
    width: min(100%, 355px);
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 24px !important;
    font-size: 16px !important;
    line-height: 1.95 !important;
    text-align: center !important;
    word-break: normal;
    line-break: strict;
  }

  body.home .pl-top-intro__lead {
    width: min(100%, 355px);
    font-size: 16px !important;
    line-height: 1.95 !important;
  }

  body.home .pl-top-intro__highlight {
    line-height: 1.95;
  }

  body.home .pl-top-intro .pc-only {
    display: none !important;
  }
}
/* ========================================
   TOP WordPress標準タイトルを非表示
======================================== */

body.home .article-header,
body.home .entry-title {
  display: none !important;
}
body.home .pl-home-pro__seo-h1,
body.home .pl-home-v2__seo-h1,
body.home .pl-home-v3__seo-h1 {
  display: none !important;
}
/* ========================================
   TOP 施工事例 完成版
======================================== */

body.home .pl-home-works-v2 {
  width: 100%;
  padding: 76px 24px 84px;
  box-sizing: border-box;

  background:
    radial-gradient(
      circle at 8% 8%,
      rgba(221,239,224,.55) 0,
      rgba(221,239,224,0) 24%
    ),
    radial-gradient(
      circle at 94% 90%,
      rgba(221,239,224,.42) 0,
      rgba(221,239,224,0) 22%
    ),
    #fff;
}


body.home .pl-home-works-v2__inner {
  width: min(1240px, 100%);
  margin: 0 auto;
}


/* 見出し
---------------------------------------- */

body.home .pl-home-works-v2__heading {
  margin: 0 auto 40px;
  text-align: center;
}


body.home .pl-home-works-v2__heading-mark {
  width: 52px;
  height: 43px;

  margin: 0 auto 5px;

  color: #0b8a4d;
}


body.home .pl-home-works-v2__heading-mark svg {
  display: block;

  width: 100%;
  height: 100%;
}


body.home .pl-home-works-v2__title-row {
  display: grid;

  grid-template-columns:
    minmax(80px, 170px)
    auto
    minmax(80px, 170px);

  align-items: center;
  justify-content: center;

  gap: 22px;

  width: min(620px, 100%);

  margin: 0 auto;
}


body.home .pl-home-works-v2__title-row > span {
  display: block;

  height: 2px;

  background: #168753;
}


body.home .pl-home-works-v2__title-row h2 {
  margin: 0 !important;
  padding: 0 !important;

  color: #222 !important;

  background: none !important;

  border: 0 !important;

  box-shadow: none !important;

  font-size: 42px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;

  letter-spacing: .08em;

  white-space: nowrap;
}


body.home .pl-home-works-v2__title-row h2::before,
body.home .pl-home-works-v2__title-row h2::after {
  display: none !important;

  content: none !important;
}


body.home .pl-home-works-v2__title-row h2 b {
  color: #07864a;

  font-weight: 800;
}


body.home .pl-home-works-v2__sub {
  margin: 8px 0 0 !important;

  color: #292929 !important;

  font-size: 17px !important;
  line-height: 1.7 !important;
  font-weight: 500 !important;

  letter-spacing: .14em;
}


body.home .pl-home-works-v2__lead {
  margin: 23px auto 0 !important;

  color: #333 !important;

  font-size: 15px !important;
  line-height: 2 !important;
  font-weight: 400 !important;
}


/* 4件
---------------------------------------- */

body.home .pl-home-works-v2__list {
  display: grid;

  grid-template-columns: repeat(4, minmax(0, 1fr));

  gap: 22px;
}


body.home .pl-home-works-v2__card {
  min-width: 0;

  margin: 0;

  overflow: hidden;

  background: #fff;

  border: 1px solid #e0e7e1;
  border-radius: 11px;

  box-shadow:
    0 5px 18px rgba(44,83,58,.055);
}


/* 写真
---------------------------------------- */

body.home .pl-home-works-v2__image {
  position: relative;

  display: block;

  overflow: hidden;

  aspect-ratio: 4 / 3;

  background: #eef3ef;

  text-decoration: none !important;
}


body.home .pl-home-works-v2__image img {
  display: block !important;

  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;

  object-fit: cover !important;
  object-position: center center !important;

  transition: transform .35s ease;
}


/* 工事タグ
---------------------------------------- */

body.home .pl-home-works-v2__badges {
  position: absolute;

  z-index: 2;

  left: 10px;
  top: 10px;

  display: flex;

  flex-wrap: wrap;

  gap: 6px;
}


body.home .pl-home-works-v2__badges span {
  display: inline-flex;

  align-items: center;

  min-height: 29px;

  padding: 4px 12px;

  color: #fff;

  background: #08884d;

  border-radius: 999px;

  box-shadow:
    0 2px 7px rgba(0,0,0,.08);

  font-size: 12px;
  line-height: 1.2;
  font-weight: 700;
}


/* カード本文
---------------------------------------- */

body.home .pl-home-works-v2__body {
  padding: 15px 14px 16px;
}


body.home .pl-home-works-v2__area {
  position: relative;

  margin: 0 0 7px !important;

  padding-left: 18px;

  color: #383d39 !important;

  font-size: 12px !important;
  line-height: 1.5 !important;
  font-weight: 500 !important;
}


body.home .pl-home-works-v2__area::before {
  content: "";

  position: absolute;

  left: 2px;
  top: 4px;

  width: 9px;
  height: 9px;

  background: #303531;

  border-radius: 50% 50% 50% 0;

  transform: rotate(-45deg);
}


body.home .pl-home-works-v2__area::after {
  content: "";

  position: absolute;

  left: 5px;
  top: 7px;

  width: 3px;
  height: 3px;

  background: #fff;

  border-radius: 50%;
}


body.home .pl-home-works-v2__body h3 {
  min-height: 54px;

  margin: 0 0 12px !important;
  padding: 0 !important;

  color: #087b47 !important;

  background: none !important;

  border: 0 !important;

  font-size: 17px !important;
  line-height: 1.6 !important;
  font-weight: 800 !important;
}


body.home .pl-home-works-v2__body h3::before,
body.home .pl-home-works-v2__body h3::after {
  display: none !important;

  content: none !important;
}


/* 価格・使用塗料
---------------------------------------- */

body.home .pl-home-works-v2__meta {
  margin: 0;
}


body.home .pl-home-works-v2__meta > div {
  display: grid;

  grid-template-columns: 68px 1fr;

  gap: 7px;

  padding: 7px 0;

  border-top: 1px solid #edf0ed;
}


body.home .pl-home-works-v2__meta dt {
  color: #6b746e;

  font-size: 10px;
  line-height: 1.55;
}


body.home .pl-home-works-v2__meta dd {
  margin: 0;

  color: #333a35;

  font-size: 10px;
  line-height: 1.55;
  font-weight: 600;
}


body.home .pl-home-works-v2__meta dd strong {
  margin-right: 2px;

  color: #087b47;

  font-size: 18px;
  line-height: 1;
}


/* ドット
---------------------------------------- */

body.home .pl-home-works-v2__dots {
  display: flex;

  justify-content: center;

  gap: 10px;

  margin: 26px 0 0;
}


body.home .pl-home-works-v2__dots span {
  width: 9px;
  height: 9px;

  border-radius: 50%;

  background: #e3e8e4;
}


body.home .pl-home-works-v2__dots span.is-active {
  background: #07884b;
}


/* すべての施工事例を見る
---------------------------------------- */

body.home .pl-home-works-v2__more {
  width: min(760px, 100%);

  margin: 32px auto 0;
}


body.home .pl-home-works-v2__more a {
  min-height: 82px;

  display: grid;

  grid-template-columns: 70px 1fr 42px;

  align-items: center;

  gap: 22px;

  padding: 0 30px;

  color: #fff !important;

  background:
    linear-gradient(
      90deg,
      #05a75a 0%,
      #4eaa43 100%
    );

  border-radius: 999px;

  box-shadow:
    0 8px 22px rgba(20,125,68,.12);

  text-decoration: none !important;

  font-size: 20px;
  font-weight: 800;

  letter-spacing: .04em;
}


body.home .pl-home-works-v2__more-icon {
  width: 34px;
  height: 34px;
}


body.home .pl-home-works-v2__more-icon svg {
  display: block;

  width: 100%;
  height: 100%;
}


body.home .pl-home-works-v2__more b {
  font-size: 29px;
  line-height: 1;
  font-weight: 400;

  text-align: right;
}


/* PC hover
---------------------------------------- */

@media (hover:hover) {

  body.home .pl-home-works-v2__image:hover img {
    transform: scale(1.025);
  }

  body.home .pl-home-works-v2__more a:hover {
    filter: brightness(.96);
  }

}


/* ========================================
   スマホ
======================================== */

@media screen and (max-width: 767px) {

  body.home .pl-home-works-v2 {
    padding: 50px 0 58px;
  }


  body.home .pl-home-works-v2__inner {
    width: 100%;
  }


  body.home .pl-home-works-v2__heading {
    width: calc(100% - 40px);

    margin-bottom: 30px;
  }


  body.home .pl-home-works-v2__heading-mark {
    width: 43px;
    height: 36px;
  }


  body.home .pl-home-works-v2__title-row {
    grid-template-columns: 55px auto 55px;

    gap: 13px;

    width: 100%;
  }


  body.home .pl-home-works-v2__title-row h2 {
    font-size: 30px !important;

    letter-spacing: .06em;
  }


  body.home .pl-home-works-v2__sub {
    margin-top: 7px !important;

    font-size: 14px !important;

    letter-spacing: .08em;
  }


  body.home .pl-home-works-v2__lead {
    margin-top: 18px !important;

    font-size: 14px !important;
    line-height: 1.85 !important;
  }


  body.home .pl-home-works-v2__lead .pc-only {
    display: none !important;
  }


  /* 横スライド */
  body.home .pl-home-works-v2__list {
    display: flex;

    gap: 12px;

    width: 100%;

    padding: 0 20px 8px;

    overflow-x: auto;

    scroll-snap-type: x mandatory;

    scrollbar-width: none;

    -webkit-overflow-scrolling: touch;
  }


  body.home .pl-home-works-v2__list::-webkit-scrollbar {
    display: none;
  }


  body.home .pl-home-works-v2__card {
    flex: 0 0 82%;

    scroll-snap-align: center;
  }


  body.home .pl-home-works-v2__image {
    aspect-ratio: 4 / 3;
  }


  body.home .pl-home-works-v2__body {
    padding: 15px 15px 17px;
  }


  body.home .pl-home-works-v2__body h3 {
    min-height: 0;

    font-size: 17px !important;
  }


  body.home .pl-home-works-v2__area {
    font-size: 12px !important;
  }


  body.home .pl-home-works-v2__meta dt,
  body.home .pl-home-works-v2__meta dd {
    font-size: 11px;
  }


  body.home .pl-home-works-v2__dots {
    margin-top: 15px;
  }


  body.home .pl-home-works-v2__more {
    width: calc(100% - 40px);

    margin-top: 27px;
  }


  body.home .pl-home-works-v2__more a {
    min-height: 64px;

    grid-template-columns: 36px 1fr 24px;

    gap: 10px;

    padding: 0 22px;

    font-size: 16px;
  }


  body.home .pl-home-works-v2__more-icon {
    width: 27px;
    height: 27px;
  }


  body.home .pl-home-works-v2__more b {
    font-size: 22px;
  }

}
/* ========================================
   TOP セクション間の余白調整
   導入文 → 施工事例
======================================== */

/* PC */
body.home .pl-top-intro {
  padding-bottom: 48px !important;
}

body.home .pl-home-works-v2 {
  padding-top: 42px !important;
}


/* スマホ */
@media screen and (max-width: 767px) {

  body.home .pl-top-intro {
    padding-bottom: 34px !important;
  }

  body.home .pl-home-works-v2 {
    padding-top: 34px !important;
  }

}
/* ========================================
   TOP セクション間 さらに詰める
   導入文 → 施工事例
======================================== */

/* PC */
body.home .pl-top-intro {
  padding-bottom: 28px !important;
}

body.home .pl-home-works-v2 {
  padding-top: 28px !important;
}


/* スマホ */
@media screen and (max-width: 767px) {

  body.home .pl-top-intro {
    padding-bottom: 22px !important;
  }

  body.home .pl-home-works-v2 {
    padding-top: 24px !important;
  }

}
/* ========================================
   TOP 施工事例 v3
   PC：4件固定
   スマホ：スライダー
======================================== */

body.home .pl-home-works-v3 {
  width: 100%;
  padding: 28px 24px 74px;
  box-sizing: border-box;

  background:
    radial-gradient(
      circle at 8% 8%,
      rgba(221,239,224,.50) 0,
      rgba(221,239,224,0) 24%
    ),
    radial-gradient(
      circle at 94% 90%,
      rgba(221,239,224,.38) 0,
      rgba(221,239,224,0) 22%
    ),
    #fff;
}


body.home .pl-home-works-v3__inner {
  width: min(1240px, 100%);
  margin: 0 auto;
}


/* ========================================
   見出し
======================================== */

body.home .pl-home-works-v3__heading {
  margin: 0 auto 38px;
  text-align: center;
}


body.home .pl-home-works-v3__heading-mark {
  width: 52px;
  height: 43px;
  margin: 0 auto 5px;
  color: #0b8a4d;
}


body.home .pl-home-works-v3__heading-mark svg {
  display: block;
  width: 100%;
  height: 100%;
}


body.home .pl-home-works-v3__title-row {
  display: grid;

  grid-template-columns:
    minmax(80px,170px)
    auto
    minmax(80px,170px);

  align-items: center;
  justify-content: center;

  gap: 22px;

  width: min(620px,100%);

  margin: 0 auto;
}


body.home .pl-home-works-v3__title-row > span {
  display: block;
  height: 2px;
  background: #168753;
}


body.home .pl-home-works-v3__title-row h2 {
  margin: 0 !important;
  padding: 0 !important;

  color: #222 !important;

  background: none !important;

  border: 0 !important;

  box-shadow: none !important;

  font-size: 42px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;

  letter-spacing: .08em;

  white-space: nowrap;
}


body.home .pl-home-works-v3__title-row h2::before,
body.home .pl-home-works-v3__title-row h2::after {
  display: none !important;
  content: none !important;
}


body.home .pl-home-works-v3__title-row h2 b {
  color: #07864a;
  font-weight: 800;
}


body.home .pl-home-works-v3__sub {
  margin: 8px 0 0 !important;

  color: #292929 !important;

  font-size: 17px !important;
  line-height: 1.7 !important;
  font-weight: 500 !important;

  letter-spacing: .14em;
}


body.home .pl-home-works-v3__lead {
  margin: 22px auto 0 !important;

  color: #333 !important;

  font-size: 15px !important;
  line-height: 2 !important;
  font-weight: 400 !important;
}


/* ========================================
   PC：4件固定表示
======================================== */

body.home .pl-home-works-v3__slider {
  position: relative;
}


body.home .pl-home-works-v3__track {
  display: grid;

  grid-template-columns:
    repeat(4,minmax(0,1fr));

  gap: 22px;

  overflow: visible;
}


body.home .pl-home-works-v3__card {
  min-width: 0;

  margin: 0;

  overflow: hidden;

  background: #fff;

  border: 1px solid #e0e7e1;
  border-radius: 11px;

  box-shadow:
    0 5px 18px rgba(44,83,58,.055);
}


/* 写真 */

body.home .pl-home-works-v3__image {
  position: relative;

  display: block;

  overflow: hidden;

  aspect-ratio: 4 / 3;

  background: #eef3ef;

  text-decoration: none !important;
}


body.home .pl-home-works-v3__image img {
  display: block !important;

  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;

  object-fit: cover !important;
  object-position: center center !important;

  transition: transform .35s ease;
}


/* タグ */

body.home .pl-home-works-v3__badges {
  position: absolute;

  z-index: 2;

  left: 10px;
  top: 10px;

  display: flex;

  flex-wrap: wrap;

  gap: 6px;
}


body.home .pl-home-works-v3__badges span {
  display: inline-flex;

  align-items: center;

  min-height: 29px;

  padding: 4px 12px;

  color: #fff;

  background: #08884d;

  border-radius: 999px;

  box-shadow:
    0 2px 7px rgba(0,0,0,.08);

  font-size: 12px;
  line-height: 1.2;
  font-weight: 700;
}


/* 本文 */

body.home .pl-home-works-v3__body {
  padding: 15px 14px 16px;
}


body.home .pl-home-works-v3__area {
  position: relative;

  margin: 0 0 7px !important;

  padding-left: 18px;

  color: #383d39 !important;

  font-size: 12px !important;
  line-height: 1.5 !important;
  font-weight: 500 !important;
}


body.home .pl-home-works-v3__area::before {
  content: "";

  position: absolute;

  left: 2px;
  top: 4px;

  width: 9px;
  height: 9px;

  background: #303531;

  border-radius: 50% 50% 50% 0;

  transform: rotate(-45deg);
}


body.home .pl-home-works-v3__area::after {
  content: "";

  position: absolute;

  left: 5px;
  top: 7px;

  width: 3px;
  height: 3px;

  background: #fff;

  border-radius: 50%;
}


body.home .pl-home-works-v3__body h3 {
  min-height: 54px;

  margin: 0 0 12px !important;
  padding: 0 !important;

  color: #087b47 !important;

  background: none !important;

  border: 0 !important;

  font-size: 17px !important;
  line-height: 1.6 !important;
  font-weight: 800 !important;
}


body.home .pl-home-works-v3__body h3::before,
body.home .pl-home-works-v3__body h3::after {
  display: none !important;
  content: none !important;
}


/* 価格・塗料 */

body.home .pl-home-works-v3__meta {
  margin: 0;
}


body.home .pl-home-works-v3__meta > div {
  display: grid;

  grid-template-columns: 68px 1fr;

  gap: 7px;

  padding: 7px 0;

  border-top: 1px solid #edf0ed;
}


body.home .pl-home-works-v3__meta dt {
  color: #6b746e;

  font-size: 10px;
  line-height: 1.55;
}


body.home .pl-home-works-v3__meta dd {
  margin: 0;

  color: #333a35;

  font-size: 10px;
  line-height: 1.55;
  font-weight: 600;
}


body.home .pl-home-works-v3__meta dd strong {
  margin-right: 2px;

  color: #087b47;

  font-size: 18px;
  line-height: 1;
}


/* ========================================
   PCでは矢印・ドット非表示
======================================== */

body.home .pl-home-works-v3__arrow,
body.home .pl-home-works-v3__dots {
  display: none;
}


/* ========================================
   一覧ボタン
======================================== */

body.home .pl-home-works-v3__more {
  width: min(760px,100%);

  margin: 34px auto 0;
}


body.home .pl-home-works-v3__more a {
  min-height: 82px;

  display: grid;

  grid-template-columns:
    70px
    1fr
    42px;

  align-items: center;

  gap: 22px;

  padding: 0 30px;

  color: #fff !important;

  background:
    linear-gradient(
      90deg,
      #05a75a 0%,
      #4eaa43 100%
    );

  border-radius: 999px;

  box-shadow:
    0 8px 22px rgba(20,125,68,.12);

  text-decoration: none !important;

  font-size: 20px;
  font-weight: 800;

  letter-spacing: .04em;
}


body.home .pl-home-works-v3__more-icon {
  width: 34px;
  height: 34px;
}


body.home .pl-home-works-v3__more-icon svg {
  display: block;

  width: 100%;
  height: 100%;
}


body.home .pl-home-works-v3__more b {
  font-size: 29px;
  line-height: 1;
  font-weight: 400;

  text-align: right;
}


@media (hover:hover) {

  body.home .pl-home-works-v3__image:hover img {
    transform: scale(1.025);
  }

  body.home .pl-home-works-v3__more a:hover {
    filter: brightness(.96);
  }

}


/* ========================================
   スマホ
======================================== */

@media screen and (max-width: 767px) {

  body.home .pl-home-works-v3 {
    padding: 24px 0 54px;
  }


  body.home .pl-home-works-v3__inner {
    width: 100%;
  }


  body.home .pl-home-works-v3__heading {
    width: calc(100% - 40px);

    margin-bottom: 28px;
  }


  body.home .pl-home-works-v3__heading-mark {
    width: 43px;
    height: 36px;
  }


  body.home .pl-home-works-v3__title-row {
    grid-template-columns:
      55px
      auto
      55px;

    gap: 13px;

    width: 100%;
  }


  body.home .pl-home-works-v3__title-row h2 {
    font-size: 30px !important;

    letter-spacing: .06em;
  }


  body.home .pl-home-works-v3__sub {
    margin-top: 7px !important;

    font-size: 14px !important;

    letter-spacing: .08em;
  }


  body.home .pl-home-works-v3__lead {
    margin-top: 18px !important;

    font-size: 14px !important;
    line-height: 1.85 !important;
  }


  body.home .pl-home-works-v3__lead .pc-only {
    display: none !important;
  }


  /* スライダー */

  body.home .pl-home-works-v3__slider {
    position: relative;

    width: 100%;
  }


  body.home .pl-home-works-v3__track {
    display: flex;

    gap: 14px;

    width: 100%;

    padding:
      0
      34px
      8px;

    box-sizing: border-box;

    overflow-x: auto;

    scroll-snap-type: x mandatory;

    scrollbar-width: none;

    -webkit-overflow-scrolling: touch;
  }


  body.home .pl-home-works-v3__track::-webkit-scrollbar {
    display: none;
  }


  body.home .pl-home-works-v3__card {
    flex:
      0
      0
      calc(100vw - 68px);

    scroll-snap-align: center;
  }


  body.home .pl-home-works-v3__image {
    aspect-ratio: 4 / 3;
  }


  body.home .pl-home-works-v3__body {
    padding:
      16px
      16px
      18px;
  }


  body.home .pl-home-works-v3__body h3 {
    min-height: 0;

    font-size: 18px !important;
  }


  body.home .pl-home-works-v3__area {
    font-size: 13px !important;
  }


  body.home .pl-home-works-v3__meta dt {
    font-size: 12px;
  }


  body.home .pl-home-works-v3__meta dd {
    font-size: 12px;
  }


  body.home .pl-home-works-v3__meta dd strong {
    font-size: 21px;
  }


  /* 左右矢印 */

  body.home .pl-home-works-v3__arrow {
    position: absolute;

    z-index: 10;

    top: 39%;

    display: flex;

    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    padding: 0;

    color: #087b47;

    background:
      rgba(255,255,255,.96);

    border:
      1px solid
      #dbe7de;

    border-radius: 50%;

    box-shadow:
      0 5px 16px
      rgba(0,0,0,.12);

    font-family:
      Arial,
      sans-serif;

    font-size: 34px;
    line-height: 1;

    cursor: pointer;

    transform:
      translateY(-50%);
  }


  body.home .pl-home-works-v3__arrow--prev {
    left: 8px;
  }


  body.home .pl-home-works-v3__arrow--next {
    right: 8px;
  }


  body.home .pl-home-works-v3__arrow:disabled {
    opacity: .30;

    cursor: default;
  }


  /* ドット */

  body.home .pl-home-works-v3__dots {
    display: flex;

    align-items: center;
    justify-content: center;

    gap: 10px;

    margin: 14px 0 0;
  }


  body.home .pl-home-works-v3__dots button {
    display: block;

    width: 9px;
    height: 9px;

    margin: 0;
    padding: 0;

    background: #dfe6e1;

    border: 0;
    border-radius: 50%;

    box-shadow: none;

    cursor: pointer;
  }


  body.home .pl-home-works-v3__dots button.is-active {
    width: 10px;
    height: 10px;

    background: #07884b;
  }


  /* 一覧ボタン */

  body.home .pl-home-works-v3__more {
    width:
      calc(100% - 40px);

    margin-top: 26px;
  }


  body.home .pl-home-works-v3__more a {
    min-height: 64px;

    grid-template-columns:
      36px
      1fr
      24px;

    gap: 10px;

    padding: 0 22px;

    font-size: 16px;
  }


  body.home .pl-home-works-v3__more-icon {
    width: 27px;
    height: 27px;
  }


  body.home .pl-home-works-v3__more b {
    font-size: 22px;
  }

}
/* ========================================
   TOP ペイントリーフが選ばれる理由 v4
======================================== */

body.home .pl-home-reasons-v4 {
  width: 100%;

  padding: 34px 24px 72px;

  box-sizing: border-box;

  background:
    radial-gradient(
      circle at 6% 10%,
      rgba(222,240,225,.52) 0,
      rgba(222,240,225,0) 23%
    ),
    radial-gradient(
      circle at 95% 8%,
      rgba(230,244,220,.62) 0,
      rgba(230,244,220,0) 19%
    ),
    #fff;
}


body.home .pl-home-reasons-v4__inner {
  width: min(1240px,100%);

  margin: 0 auto;
}


/* ========================================
   見出し
======================================== */

body.home .pl-home-reasons-v4__heading {
  margin: 0 auto 40px;

  text-align: center;
}


body.home .pl-home-reasons-v4__crown {
  width: 48px;
  height: 39px;

  margin: 0 auto 6px;

  color: #07884b;
}


body.home .pl-home-reasons-v4__crown svg {
  display: block;

  width: 100%;
  height: 100%;
}


body.home .pl-home-reasons-v4__title-row {
  display: grid;

  grid-template-columns:
    minmax(80px,175px)
    auto
    minmax(80px,175px);

  align-items: center;
  justify-content: center;

  gap: 24px;

  width: min(900px,100%);

  margin: 0 auto;
}


body.home .pl-home-reasons-v4__title-row > span {
  display: block;

  height: 2px;

  background: #138a52;
}


body.home .pl-home-reasons-v4__title-row h2 {
  margin: 0 !important;
  padding: 0 !important;

  color: #202420 !important;

  background: none !important;

  border: 0 !important;

  box-shadow: none !important;

  font-size: 38px !important;
  line-height: 1.4 !important;
  font-weight: 800 !important;

  letter-spacing: .04em;

  white-space: nowrap;
}


body.home .pl-home-reasons-v4__title-row h2::before,
body.home .pl-home-reasons-v4__title-row h2::after {
  display: none !important;

  content: none !important;
}


body.home .pl-home-reasons-v4__title-row h2 span {
  color: #07884b;
}


body.home .pl-home-reasons-v4__sub {
  margin: 9px 0 0 !important;

  color: #303630 !important;

  font-size: 17px !important;
  line-height: 1.7 !important;
  font-weight: 600 !important;

  letter-spacing: .08em;
}


body.home .pl-home-reasons-v4__lead {
  margin: 20px auto 0 !important;

  color: #3b433e !important;

  font-size: 15px !important;
  line-height: 1.95 !important;
  font-weight: 400 !important;
}


/* ========================================
   4カード
======================================== */

body.home .pl-home-reasons-v4__grid {
  display: grid;

  grid-template-columns:
    repeat(4,minmax(0,1fr));

  gap: 22px;
}


body.home .pl-home-reasons-v4__card {
  position: relative;

  min-width: 0;

  overflow: visible;

  background: #fff;

  border:
    1px solid
    #e3ebe5;

  border-radius: 12px;

  box-shadow:
    0 8px 24px
    rgba(43,84,57,.07);
}


/* 番号 */

body.home .pl-home-reasons-v4__number {
  position: absolute;

  z-index: 5;

  left: -12px;
  top: -14px;

  display: flex;

  align-items: center;
  justify-content: center;

  width: 58px;
  height: 58px;

  color: #fff;

  background:
    linear-gradient(
      145deg,
      #04995a,
      #087847
    );

  border:
    3px solid
    #fff;

  border-radius: 50%;

  box-shadow:
    0 4px 12px
    rgba(8,120,71,.16);

  font-size: 20px;
  line-height: 1;
  font-weight: 800;
}


/* 写真 */

body.home .pl-home-reasons-v4__image {
  overflow: hidden;

  aspect-ratio: 3 / 2;

  background: #f2f6f2;

  border-radius:
    12px
    12px
    0
    0;
}


body.home .pl-home-reasons-v4__image img {
  display: block !important;

  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;

  object-fit: cover !important;
  object-position: center center !important;
}


/* 01 */
body.home .pl-home-reasons-v4__image--company img {
  object-position: center 58% !important;
}


/* 02 */
body.home .pl-home-reasons-v4__image--skill {
  background: #fff;
}


body.home .pl-home-reasons-v4__image--skill img {
  object-fit: contain !important;
  object-position: center center !important;
}


/* 03 */
body.home .pl-home-reasons-v4__image--team img {
  object-position: center center !important;
}


/* 04 */
body.home .pl-home-reasons-v4__image--warranty img {
  object-position: center center !important;
}


/* ========================================
   カード本文
======================================== */

body.home .pl-home-reasons-v4__body {
  position: relative;

  padding:
    46px
    20px
    23px;

  text-align: center;
}


/* 丸アイコン */

body.home .pl-home-reasons-v4__icon {
  position: absolute;

  left: 50%;
  top: -34px;

  display: flex;

  align-items: center;
  justify-content: center;

  width: 66px;
  height: 66px;

  color: #089654;

  background: #eff9f0;

  border:
    4px solid
    #fff;

  border-radius: 50%;

  box-shadow:
    0 3px 12px
    rgba(8,120,71,.08);

  transform:
    translateX(-50%);
}


body.home .pl-home-reasons-v4__icon svg {
  width: 34px;
  height: 34px;
}


body.home .pl-home-reasons-v4__body h3 {
  min-height: 54px;

  margin: 0 !important;
  padding: 0 !important;

  color: #087847 !important;

  background: none !important;

  border: 0 !important;

  font-size: 21px !important;
  line-height: 1.45 !important;
  font-weight: 800 !important;
}


body.home .pl-home-reasons-v4__body h3::before,
body.home .pl-home-reasons-v4__body h3::after {
  display: none !important;

  content: none !important;
}


body.home .pl-home-reasons-v4__catch {
  min-height: 48px;

  margin:
    8px
    0
    0 !important;

  color: #27302b !important;

  font-size: 14px !important;
  line-height: 1.7 !important;
  font-weight: 700 !important;
}


body.home .pl-home-reasons-v4__line {
  width: 45px;
  height: 2px;

  margin:
    14px
    auto
    15px;

  background: #15905a;
}


body.home .pl-home-reasons-v4__text {
  margin: 0 !important;

  color: #444c47 !important;

  font-size: 14px !important;
  line-height: 1.9 !important;
  font-weight: 400 !important;

  text-align: left !important;
}


/* ========================================
   詳しく見る
======================================== */

body.home .pl-home-reasons-v4__more {
  width: min(760px,100%);

  margin: 34px auto 0;
}


body.home .pl-home-reasons-v4__more a {
  min-height: 78px;

  display: grid;

  grid-template-columns:
    62px
    1fr
    38px;

  align-items: center;

  gap: 18px;

  padding:
    0
    30px;

  color: #fff !important;

  background:
    linear-gradient(
      90deg,
      #059955 0%,
      #42b443 100%
    );

  border-radius: 999px;

  box-shadow:
    0 8px 22px
    rgba(20,125,68,.12);

  text-decoration: none !important;

  font-size: 18px;
  line-height: 1.45;
  font-weight: 800;

  letter-spacing: .02em;
}


body.home .pl-home-reasons-v4__more-icon {
  width: 34px;
  height: 34px;
}


body.home .pl-home-reasons-v4__more-icon svg {
  display: block;

  width: 100%;
  height: 100%;
}


body.home .pl-home-reasons-v4__more b {
  font-size: 27px;
  line-height: 1;
  font-weight: 400;

  text-align: right;
}


@media (hover:hover) {

  body.home .pl-home-reasons-v4__card {
    transition:
      transform .25s ease,
      box-shadow .25s ease;
  }


  body.home .pl-home-reasons-v4__card:hover {
    transform:
      translateY(-3px);

    box-shadow:
      0 12px 28px
      rgba(43,84,57,.11);
  }


  body.home .pl-home-reasons-v4__more a:hover {
    filter:
      brightness(.96);
  }

}


/* ========================================
   タブレット
======================================== */

@media screen and (max-width: 1024px) {

  body.home .pl-home-reasons-v4__grid {
    grid-template-columns:
      repeat(2,minmax(0,1fr));

    gap:
      30px
      20px;
  }


  body.home .pl-home-reasons-v4__body h3,
  body.home .pl-home-reasons-v4__catch {
    min-height: 0;
  }

}


/* ========================================
   スマホ
======================================== */

@media screen and (max-width: 767px) {

  body.home .pl-home-reasons-v4 {
    padding:
      26px
      20px
      54px;
  }


  body.home .pl-home-reasons-v4__heading {
    margin-bottom: 28px;
  }


  body.home .pl-home-reasons-v4__crown {
    width: 40px;
    height: 33px;

    margin-bottom: 6px;
  }


  body.home .pl-home-reasons-v4__title-row {
    grid-template-columns:
      36px
      minmax(0,1fr)
      36px;

    gap: 9px;

    width: 100%;
  }


  body.home .pl-home-reasons-v4__title-row h2 {
    font-size: 27px !important;
    line-height: 1.45 !important;

    white-space: normal;
  }


  body.home .pl-home-reasons-v4__sub {
    margin-top: 8px !important;

    font-size: 15px !important;
    line-height: 1.75 !important;

    letter-spacing: .02em;
  }


  body.home .pl-home-reasons-v4__lead {
    margin-top: 16px !important;

    font-size: 15px !important;
    line-height: 1.9 !important;
  }


  body.home .pl-home-reasons-v4__lead .pc-only {
    display: none !important;
  }


  body.home .pl-home-reasons-v4__grid {
    grid-template-columns:
      1fr;

    gap: 28px;

    width: min(100%,520px);

    margin: 0 auto;
  }


  body.home .pl-home-reasons-v4__number {
    left: -7px;
    top: -11px;

    width: 54px;
    height: 54px;

    font-size: 18px;
  }


  body.home .pl-home-reasons-v4__image {
    aspect-ratio: 16 / 10;
  }


  body.home .pl-home-reasons-v4__body {
    padding:
      43px
      20px
      22px;
  }


  body.home .pl-home-reasons-v4__icon {
    top: -32px;

    width: 62px;
    height: 62px;
  }


  body.home .pl-home-reasons-v4__icon svg {
    width: 31px;
    height: 31px;
  }


  body.home .pl-home-reasons-v4__body h3 {
    min-height: 0;

    font-size: 21px !important;
  }


  body.home .pl-home-reasons-v4__catch {
    min-height: 0;

    font-size: 15px !important;
    line-height: 1.75 !important;
  }


  body.home .pl-home-reasons-v4__text {
    font-size: 16px !important;
    line-height: 1.9 !important;

    text-align: center !important;
  }


  body.home .pl-home-reasons-v4__more {
    width: 100%;

    margin-top: 29px;
  }


  body.home .pl-home-reasons-v4__more a {
    min-height: 64px;

    grid-template-columns:
      30px
      1fr
      22px;

    gap: 10px;

    padding:
      0
      20px;

    font-size: 15px;
  }


  body.home .pl-home-reasons-v4__more-icon {
    width: 27px;
    height: 27px;
  }


  body.home .pl-home-reasons-v4__more b {
    font-size: 22px;
  }

}
/* ========================================
   TOP 外壁塗装で失敗しないために v2
   スマホ最適化・カード矢印なし
======================================== */

body.home .pl-home-guide-v2 {
  width: 100%;
  padding: 28px 24px 58px;
  box-sizing: border-box;

  background:
    radial-gradient(
      circle at 5% 10%,
      rgba(224,242,224,.54) 0,
      rgba(224,242,224,0) 22%
    ),
    radial-gradient(
      circle at 96% 88%,
      rgba(224,242,224,.40) 0,
      rgba(224,242,224,0) 20%
    ),
    #fff;
}


body.home .pl-home-guide-v2__inner {
  width: min(1240px,100%);
  margin: 0 auto;
}


/* ========================================
   上部
======================================== */

body.home .pl-home-guide-v2__hero {
  display: grid;
  grid-template-columns: 58% 42%;
  align-items: stretch;

  min-height: 365px;
  margin-bottom: 24px;

  overflow: hidden;

  background:
    linear-gradient(
      120deg,
      #fff 0%,
      #f7fbf6 100%
    );

  border-radius: 18px;
}


body.home .pl-home-guide-v2__hero-copy {
  position: relative;
  z-index: 2;

  padding: 34px 40px 32px;
}


body.home .pl-home-guide-v2__bubble {
  display: inline-block;

  margin: 0 0 13px !important;
  padding: 9px 17px;

  color: #087847 !important;
  background: #eef8ed;

  border: 1px solid #b9dec0;
  border-radius: 999px;

  font-size: 15px !important;
  line-height: 1.55 !important;
  font-weight: 700 !important;

  transform: rotate(-3deg);
}


body.home .pl-home-guide-v2__hero h2 {
  margin: 0 !important;
  padding: 0 !important;

  color: #202420 !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;

  font-size: 43px !important;
  line-height: 1.34 !important;
  font-weight: 800 !important;

  letter-spacing: .01em;
}


body.home .pl-home-guide-v2__hero h2::before,
body.home .pl-home-guide-v2__hero h2::after {
  display: none !important;
  content: none !important;
}


body.home .pl-home-guide-v2__title-line {
  display: block;
}


body.home .pl-home-guide-v2__title-line--green {
  color: #07884b;
}


body.home .pl-home-guide-v2__hero-line {
  width: 110px;
  height: 3px;

  margin: 16px 0 17px;

  background: #0b8b50;
}


body.home .pl-home-guide-v2__lead {
  margin: 0 !important;

  max-width: 700px;

  color: #353b37 !important;

  font-size: 15px !important;
  line-height: 1.95 !important;
  font-weight: 400 !important;
}


body.home .pl-home-guide-v2__hero-image {
  position: relative;
  overflow: hidden;
}


body.home .pl-home-guide-v2__hero-image::after {
  content: "";

  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      90deg,
      rgba(255,255,255,.88) 0%,
      rgba(255,255,255,.14) 27%,
      rgba(255,255,255,0) 50%
    );
}


body.home .pl-home-guide-v2__hero-image img {
  display: block !important;

  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;

  object-fit: cover !important;
  object-position: center center !important;
}


/* ========================================
   6カード
======================================== */

body.home .pl-home-guide-v2__grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 18px;
}


body.home .pl-home-guide-v2__card {
  position: relative;

  overflow: hidden;

  background: #fff;

  border: 1px solid #e1eae3;
  border-radius: 12px;

  box-shadow:
    0 6px 20px
    rgba(40,80,54,.06);
}


body.home .pl-home-guide-v2__number {
  position: absolute;
  z-index: 5;

  left: 11px;
  top: 10px;

  display: flex;
  align-items: center;
  justify-content: center;

  width: 48px;
  height: 48px;

  color: #fff;

  background:
    linear-gradient(
      145deg,
      #079759,
      #087847
    );

  border: 2px solid #fff;
  border-radius: 50%;

  box-shadow:
    0 3px 10px
    rgba(0,0,0,.10);

  font-size: 17px;
  line-height: 1;
  font-weight: 800;
}


body.home .pl-home-guide-v2__image {
  overflow: hidden;
  aspect-ratio: 16 / 6;

  background: #eff4ef;
}


body.home .pl-home-guide-v2__image img {
  display: block !important;

  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;

  object-fit: cover !important;
  object-position: center center !important;
}


body.home .pl-home-guide-v2__body {
  min-height: 176px;

  padding: 15px 18px 20px;
}


body.home .pl-home-guide-v2__body h3 {
  margin: 0 0 9px !important;
  padding: 0 !important;

  color: #087847 !important;
  background: none !important;
  border: 0 !important;

  font-size: 20px !important;
  line-height: 1.5 !important;
  font-weight: 800 !important;
}


body.home .pl-home-guide-v2__body h3::before,
body.home .pl-home-guide-v2__body h3::after {
  display: none !important;
  content: none !important;
}


body.home .pl-home-guide-v2__body p {
  margin: 0 !important;

  color: #3d443f !important;

  font-size: 14px !important;
  line-height: 1.85 !important;
  font-weight: 400 !important;
}


@media (hover:hover) {

  body.home .pl-home-guide-v2__card {
    transition:
      transform .25s ease,
      box-shadow .25s ease;
  }

  body.home .pl-home-guide-v2__card:hover {
    transform: translateY(-3px);

    box-shadow:
      0 10px 27px
      rgba(40,80,54,.10);
  }

}


/* ========================================
   相談案内
======================================== */

body.home .pl-home-guide-v2__consult {
  width: min(920px,100%);

  margin: 27px auto 0;
  padding: 18px 24px;

  box-sizing: border-box;

  text-align: center;

  background:
    linear-gradient(
      90deg,
      #f3faef 0%,
      #f7fbf2 100%
    );

  border-radius: 14px;
}


body.home .pl-home-guide-v2__consult strong {
  display: block;

  margin-bottom: 4px;

  color: #087847;

  font-size: 20px;
  line-height: 1.6;
  font-weight: 800;
}


body.home .pl-home-guide-v2__consult p {
  margin: 0 !important;

  color: #434943 !important;

  font-size: 14px !important;
  line-height: 1.8 !important;
}


/* ========================================
   CTA
======================================== */

body.home .pl-home-guide-v2__cta {
  width: min(560px,100%);
  margin: 22px auto 0;
}


body.home .pl-home-guide-v2__cta a {
  min-height: 68px;

  display: grid;
  grid-template-columns: 42px 1fr 28px;
  align-items: center;

  gap: 12px;

  padding: 0 24px;

  color: #fff !important;

  background:
    linear-gradient(
      90deg,
      #049a57 0%,
      #07964e 50%,
      #37ad42 100%
    );

  border-radius: 999px;

  box-shadow:
    0 8px 22px
    rgba(20,125,68,.13);

  text-decoration: none !important;

  font-size: 18px;
  line-height: 1.5;
  font-weight: 800;
}


body.home .pl-home-guide-v2__cta-icon {
  width: 29px;
  height: 34px;
}


body.home .pl-home-guide-v2__cta-icon svg {
  display: block;
  width: 100%;
  height: 100%;
}


body.home .pl-home-guide-v2__cta b {
  font-size: 25px;
  line-height: 1;
  font-weight: 400;

  text-align: right;
}


@media (hover:hover) {

  body.home .pl-home-guide-v2__cta a:hover {
    filter: brightness(.96);
  }

}


/* ========================================
   タブレット
======================================== */

@media screen and (max-width: 1024px) {

  body.home .pl-home-guide-v2__hero h2 {
    font-size: 35px !important;
  }

  body.home .pl-home-guide-v2__grid {
    grid-template-columns:
      repeat(2,minmax(0,1fr));
  }

}


/* ========================================
   スマホ
======================================== */

@media screen and (max-width: 767px) {

  body.home .pl-home-guide-v2 {
    padding: 20px 20px 50px;
  }


  /* スマホでは家の画像を完全に非表示 */
  body.home .pl-home-guide-v2__hero {
    display: block;

    min-height: 0;
    margin-bottom: 18px;

    overflow: visible;

    background: transparent;

    border-radius: 0;
  }


  body.home .pl-home-guide-v2__hero-image {
    display: none !important;
  }


  body.home .pl-home-guide-v2__hero-copy {
    padding: 16px 0 18px;

    text-align: center;
  }


  body.home .pl-home-guide-v2__bubble {
    margin: 0 0 14px !important;

    padding: 8px 15px;

    font-size: 13px !important;
  }


  body.home .pl-home-guide-v2__hero h2 {
    width: 100%;

    font-size: 27px !important;
    line-height: 1.5 !important;

    letter-spacing: 0;
  }


  body.home .pl-home-guide-v2__title-line {
    display: block;
  }


  /* 最後の「こと」だけ落ちないようにする */
  body.home .pl-home-guide-v2__title-line--last {
    white-space: nowrap;
  }


  body.home .pl-home-guide-v2__hero-line {
    width: 68px;
    height: 3px;

    margin: 17px auto 19px;
  }


  /* スマホ本文は左揃え */
  body.home .pl-home-guide-v2__lead {
    width: min(100%,350px);

    margin: 0 auto !important;

    color: #313732 !important;

    font-size: 16px !important;
    line-height: 1.9 !important;

    text-align: left !important;
  }


  body.home .pl-home-guide-v2__grid {
    grid-template-columns: 1fr;
    gap: 17px;
  }


  body.home .pl-home-guide-v2__number {
    left: 10px;
    top: 9px;

    width: 46px;
    height: 46px;

    font-size: 16px;
  }


  body.home .pl-home-guide-v2__image {
    aspect-ratio: 16 / 7;
  }


  body.home .pl-home-guide-v2__body {
    min-height: 0;

    padding: 15px 17px 18px;
  }


  body.home .pl-home-guide-v2__body h3 {
    font-size: 20px !important;
  }


  body.home .pl-home-guide-v2__body p {
    font-size: 16px !important;
    line-height: 1.9 !important;

    text-align: left !important;
  }


  body.home .pl-home-guide-v2__consult {
    margin-top: 22px;

    padding: 16px 15px;
  }


  body.home .pl-home-guide-v2__consult strong {
    font-size: 18px;
    line-height: 1.6;
  }


  body.home .pl-home-guide-v2__consult p {
    font-size: 15px !important;
    line-height: 1.85 !important;

    text-align: left !important;
  }


  body.home .pl-home-guide-v2__cta {
    margin-top: 20px;
  }


  body.home .pl-home-guide-v2__cta a {
    min-height: 62px;

    grid-template-columns: 32px 1fr 22px;

    gap: 9px;

    padding: 0 20px;

    font-size: 16px;
  }


  body.home .pl-home-guide-v2__cta-icon {
    width: 25px;
    height: 30px;
  }


  body.home .pl-home-guide-v2__cta b {
    font-size: 22px;
  }

}


/* かなり小さいスマホ */
@media screen and (max-width: 370px) {

  body.home .pl-home-guide-v2__hero h2 {
    font-size: 25px !important;
  }

}
/* ========================================
   TOP 料金・費用 v2
   承認済みデザイン再現
======================================== */

body.home .pl-home-price-v2 {
  width: 100%;
  padding: 28px 24px 60px;
  box-sizing: border-box;

  background:
    radial-gradient(
      circle at 4% 8%,
      rgba(225,242,225,.50) 0,
      rgba(225,242,225,0) 22%
    ),
    radial-gradient(
      circle at 96% 92%,
      rgba(225,242,225,.38) 0,
      rgba(225,242,225,0) 20%
    ),
    #fff;
}


body.home .pl-home-price-v2__inner {
  width: min(1240px,100%);
  margin: 0 auto;
}


/* ========================================
   上部
======================================== */

body.home .pl-home-price-v2__hero {
  display: grid;
  grid-template-columns: 56% 44%;
  align-items: stretch;

  min-height: 330px;

  overflow: hidden;

  background:
    linear-gradient(
      118deg,
      #fff 0%,
      #f7fbf6 100%
    );

  border-radius: 18px;
}


body.home .pl-home-price-v2__hero-copy {
  position: relative;
  z-index: 2;

  padding: 34px 40px 32px;
}


body.home .pl-home-price-v2__label {
  display: inline-flex;
  align-items: center;

  min-height: 38px;

  margin: 0 0 16px !important;
  padding: 0 18px;

  color: #087847 !important;
  background: #e9f6e8;

  border-radius: 999px;

  font-size: 16px !important;
  line-height: 1.4 !important;
  font-weight: 800 !important;
}


body.home .pl-home-price-v2__hero h2 {
  margin: 0 !important;
  padding: 0 !important;

  color: #202420 !important;

  background: none !important;
  border: 0 !important;
  box-shadow: none !important;

  font-size: 43px !important;
  line-height: 1.36 !important;
  font-weight: 800 !important;

  letter-spacing: .01em;
}


body.home .pl-home-price-v2__hero h2::before,
body.home .pl-home-price-v2__hero h2::after {
  display: none !important;
  content: none !important;
}


body.home .pl-home-price-v2__hero h2 span {
  color: #07884b;
}


body.home .pl-home-price-v2__lead {
  max-width: 670px;

  margin: 19px 0 0 !important;

  color: #343b36 !important;

  font-size: 15px !important;
  line-height: 1.95 !important;
  font-weight: 400 !important;
}


body.home .pl-home-price-v2__hero-image {
  position: relative;
  overflow: hidden;
}


body.home .pl-home-price-v2__hero-image::after {
  content: "";

  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      90deg,
      rgba(255,255,255,.86) 0%,
      rgba(255,255,255,.10) 30%,
      rgba(255,255,255,0) 52%
    );
}


body.home .pl-home-price-v2__hero-image img {
  display: block !important;

  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;

  object-fit: cover !important;
  object-position: center center !important;
}


/* ========================================
   3ポイント
======================================== */

body.home .pl-home-price-v2__points {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));

  margin-top: 0;

  background: #f5faf4;

  border:
    1px solid
    #e3eee5;

  border-radius: 0 0 16px 16px;
}


body.home .pl-home-price-v2__point {
  display: grid;
  grid-template-columns: 64px 1fr;
  align-items: center;

  gap: 15px;

  min-width: 0;

  padding: 22px 26px;
}


body.home .pl-home-price-v2__point + .pl-home-price-v2__point {
  border-left:
    1px solid
    #dce8de;
}


body.home .pl-home-price-v2__point-icon {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 58px;
  height: 58px;

  color: #087847;
  background: #dff3df;

  border-radius: 50%;
}


body.home .pl-home-price-v2__point-icon svg {
  width: 31px;
  height: 31px;
}


body.home .pl-home-price-v2__point h3 {
  margin: 0 0 5px !important;
  padding: 0 !important;

  color: #087847 !important;

  background: none !important;
  border: 0 !important;

  font-size: 18px !important;
  line-height: 1.5 !important;
  font-weight: 800 !important;
}


body.home .pl-home-price-v2__point h3::before,
body.home .pl-home-price-v2__point h3::after {
  display: none !important;
  content: none !important;
}


body.home .pl-home-price-v2__point p {
  margin: 0 !important;

  color: #414943 !important;

  font-size: 13px !important;
  line-height: 1.75 !important;
}


/* ========================================
   参考価格
======================================== */

body.home .pl-home-price-v2__price-area {
  margin-top: 34px;
}


body.home .pl-home-price-v2__price-heading {
  margin-bottom: 22px;
  text-align: center;
}


body.home .pl-home-price-v2__price-kicker {
  margin: 0 0 8px !important;

  color: #313731 !important;

  font-size: 15px !important;
  line-height: 1.6 !important;
  font-weight: 700 !important;
}


body.home .pl-home-price-v2__price-heading h3 {
  margin: 0 !important;
  padding: 0 !important;

  color: #202420 !important;

  background: none !important;
  border: 0 !important;

  font-size: 34px !important;
  line-height: 1.45 !important;
  font-weight: 800 !important;
}


body.home .pl-home-price-v2__price-heading h3::before,
body.home .pl-home-price-v2__price-heading h3::after {
  display: none !important;
  content: none !important;
}


body.home .pl-home-price-v2__price-heading h3 span {
  color: #07884b;
}


body.home .pl-home-price-v2__price-heading > p:last-child {
  max-width: 760px;

  margin: 13px auto 0 !important;

  color: #424944 !important;

  font-size: 14px !important;
  line-height: 1.85 !important;
}


body.home .pl-home-price-v2__cards {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 20px;
}


body.home .pl-home-price-v2__card {
  position: relative;

  padding: 26px 20px 22px;

  text-align: center;

  background: #fff;

  border:
    1px solid
    #dfe9e1;

  border-radius: 13px;

  box-shadow:
    0 7px 22px
    rgba(44,83,58,.06);
}


body.home .pl-home-price-v2__card--recommend {
  border:
    2px solid
    #50ad4b;

  background:
    linear-gradient(
      180deg,
      #fbfff9 0%,
      #f3fbf0 100%
    );
}


body.home .pl-home-price-v2__badge {
  position: absolute;

  left: 50%;
  top: -15px;

  display: inline-flex;
  align-items: center;

  min-height: 30px;

  padding: 0 16px;

  color: #fff;
  background: #50ad4b;

  border-radius: 999px;

  font-size: 12px;
  font-weight: 800;

  transform: translateX(-50%);
}


body.home .pl-home-price-v2__card-label {
  margin: 0 0 8px !important;

  color: #657067 !important;

  font-size: 13px !important;
  line-height: 1.6 !important;
  font-weight: 600 !important;
}


body.home .pl-home-price-v2__card h4 {
  margin: 0 !important;
  padding: 0 !important;

  color: #087847 !important;

  background: none !important;
  border: 0 !important;

  font-size: 24px !important;
  line-height: 1.45 !important;
  font-weight: 800 !important;
}


body.home .pl-home-price-v2__card h4::before,
body.home .pl-home-price-v2__card h4::after {
  display: none !important;
  content: none !important;
}


body.home .pl-home-price-v2__price {
  display: flex;
  align-items: baseline;
  justify-content: center;

  gap: 6px;

  margin-top: 10px;
}


body.home .pl-home-price-v2__price strong {
  color: #ef6d19;

  font-size: 56px;
  line-height: 1;
  font-weight: 800;
}


body.home .pl-home-price-v2__price span {
  color: #303630;

  font-size: 18px;
  line-height: 1;
  font-weight: 800;
}


body.home .pl-home-price-v2__card-note {
  margin: 11px 0 0 !important;

  color: #687068 !important;

  font-size: 12px !important;
  line-height: 1.65 !important;
}


body.home .pl-home-price-v2__notice {
  margin: 13px 0 0 !important;

  color: #656d67 !important;

  font-size: 12px !important;
  line-height: 1.7 !important;

  text-align: center !important;
}


/* ========================================
   見積もり比較
======================================== */

body.home .pl-home-price-v2__compare {
  display: grid;
  grid-template-columns: 42% 58%;
  align-items: stretch;

  gap: 0;

  margin-top: 30px;

  overflow: hidden;

  background:
    linear-gradient(
      120deg,
      #f8fbf5 0%,
      #f0f8ed 100%
    );

  border:
    1px solid
    #e1ebe2;

  border-radius: 16px;
}


body.home .pl-home-price-v2__compare-image {
  min-height: 260px;

  overflow: hidden;
}


body.home .pl-home-price-v2__compare-image img {
  display: block !important;

  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;

  object-fit: cover !important;
  object-position: center center !important;
}


body.home .pl-home-price-v2__compare-copy {
  padding: 30px 34px;
}


body.home .pl-home-price-v2__compare-kicker {
  margin: 0 0 7px !important;

  color: #414841 !important;

  font-size: 14px !important;
  line-height: 1.6 !important;
  font-weight: 700 !important;
}


body.home .pl-home-price-v2__compare-copy h3 {
  margin: 0 !important;
  padding: 0 !important;

  color: #202420 !important;

  background: none !important;
  border: 0 !important;

  font-size: 28px !important;
  line-height: 1.5 !important;
  font-weight: 800 !important;
}


body.home .pl-home-price-v2__compare-copy h3::before,
body.home .pl-home-price-v2__compare-copy h3::after {
  display: none !important;
  content: none !important;
}


body.home .pl-home-price-v2__compare-copy h3 span {
  color: #087847;
}


body.home .pl-home-price-v2__compare-copy > p:not(.pl-home-price-v2__compare-kicker) {
  margin: 13px 0 0 !important;

  color: #3d453f !important;

  font-size: 14px !important;
  line-height: 1.85 !important;
}


body.home .pl-home-price-v2__compare-points {
  display: flex;
  flex-wrap: wrap;

  gap: 8px;

  margin-top: 17px;
}


body.home .pl-home-price-v2__compare-points span {
  display: inline-flex;
  align-items: center;

  min-height: 34px;

  padding: 0 13px;

  color: #087847;
  background: #fff;

  border:
    1px solid
    #b9d9c0;

  border-radius: 999px;

  font-size: 12px;
  line-height: 1;
  font-weight: 800;
}


/* ========================================
   ボタン
======================================== */

body.home .pl-home-price-v2__actions {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));

  gap: 14px;

  width: min(900px,100%);

  margin: 24px auto 0;
}


body.home .pl-home-price-v2__button {
  min-height: 64px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 18px;

  padding: 0 25px;

  border-radius: 999px;

  text-decoration: none !important;

  font-size: 16px;
  line-height: 1.4;
  font-weight: 800;
}


body.home .pl-home-price-v2__button--green {
  color: #fff !important;

  background:
    linear-gradient(
      90deg,
      #079855 0%,
      #3fae43 100%
    );
}


body.home .pl-home-price-v2__button--orange {
  color: #fff !important;

  background:
    linear-gradient(
      90deg,
      #f28b19 0%,
      #ef7512 100%
    );
}


body.home .pl-home-price-v2__button b {
  font-size: 23px;
  line-height: 1;
  font-weight: 400;
}


@media (hover:hover) {

  body.home .pl-home-price-v2__button:hover {
    filter: brightness(.96);
  }

}


/* ========================================
   タブレット
======================================== */

@media screen and (max-width: 1024px) {

  body.home .pl-home-price-v2__hero h2 {
    font-size: 36px !important;
  }

}


/* ========================================
   スマホ
======================================== */

@media screen and (max-width: 767px) {

  body.home .pl-home-price-v2 {
    padding: 22px 20px 52px;
  }


  body.home .pl-home-price-v2__hero {
    display: block;

    min-height: 0;

    background: transparent;

    border-radius: 0;
  }


  body.home .pl-home-price-v2__hero-image {
    display: none !important;
  }


  body.home .pl-home-price-v2__hero-copy {
    padding: 14px 0 20px;

    text-align: center;
  }


  body.home .pl-home-price-v2__label {
    min-height: 34px;

    margin-bottom: 13px !important;

    padding: 0 15px;

    font-size: 14px !important;
  }


  body.home .pl-home-price-v2__hero h2 {
    font-size: 29px !important;
    line-height: 1.48 !important;
  }


  body.home .pl-home-price-v2__lead {
    width: min(100%,350px);

    margin: 17px auto 0 !important;

    font-size: 16px !important;
    line-height: 1.9 !important;

    text-align: left !important;
  }


  body.home .pl-home-price-v2__points {
    display: block;

    border-radius: 13px;
  }


  body.home .pl-home-price-v2__point {
    grid-template-columns: 52px 1fr;

    gap: 13px;

    padding: 16px 15px;
  }


  body.home .pl-home-price-v2__point + .pl-home-price-v2__point {
    border-left: 0;

    border-top:
      1px solid
      #dce8de;
  }


  body.home .pl-home-price-v2__point-icon {
    width: 48px;
    height: 48px;
  }


  body.home .pl-home-price-v2__point-icon svg {
    width: 27px;
    height: 27px;
  }


  body.home .pl-home-price-v2__point h3 {
    font-size: 17px !important;
  }


  body.home .pl-home-price-v2__point p {
    font-size: 14px !important;
    line-height: 1.75 !important;
  }


  body.home .pl-home-price-v2__price-area {
    margin-top: 26px;
  }


  body.home .pl-home-price-v2__price-heading {
    margin-bottom: 19px;
  }


  body.home .pl-home-price-v2__price-kicker {
    font-size: 14px !important;
  }


  body.home .pl-home-price-v2__price-heading h3 {
    font-size: 28px !important;
  }


  body.home .pl-home-price-v2__price-heading > p:last-child {
    margin-top: 11px !important;

    font-size: 15px !important;
    line-height: 1.85 !important;

    text-align: left !important;
  }


  body.home .pl-home-price-v2__cards {
    grid-template-columns: 1fr;

    gap: 17px;
  }


  body.home .pl-home-price-v2__card {
    padding: 22px 16px 19px;
  }


  body.home .pl-home-price-v2__card--recommend {
    margin-top: 4px;
  }


  body.home .pl-home-price-v2__card h4 {
    font-size: 22px !important;
  }


  body.home .pl-home-price-v2__price strong {
    font-size: 52px;
  }


  body.home .pl-home-price-v2__price span {
    font-size: 17px;
  }


  body.home .pl-home-price-v2__card-label {
    font-size: 14px !important;
  }


  body.home .pl-home-price-v2__card-note {
    font-size: 13px !important;
  }


  body.home .pl-home-price-v2__notice {
    font-size: 13px !important;
    line-height: 1.7 !important;

    text-align: left !important;
  }


  body.home .pl-home-price-v2__compare {
    display: block;

    margin-top: 24px;
  }


  body.home .pl-home-price-v2__compare-image {
    height: 175px;
    min-height: 0;
  }


  body.home .pl-home-price-v2__compare-copy {
    padding: 21px 17px 22px;
  }


  body.home .pl-home-price-v2__compare-kicker {
    font-size: 14px !important;
  }


  body.home .pl-home-price-v2__compare-copy h3 {
    font-size: 24px !important;
    line-height: 1.55 !important;
  }


  body.home .pl-home-price-v2__compare-copy > p:not(.pl-home-price-v2__compare-kicker) {
    font-size: 16px !important;
    line-height: 1.9 !important;
  }


  body.home .pl-home-price-v2__compare-points span {
    min-height: 34px;

    font-size: 13px;
  }


  body.home .pl-home-price-v2__actions {
    grid-template-columns: 1fr;

    gap: 11px;

    margin-top: 20px;
  }


  body.home .pl-home-price-v2__button {
    min-height: 60px;

    padding: 0 21px;

    font-size: 15px;
  }

}
/* ========================================
   TOP お客様の声 v2
======================================== */

body.home .pl-home-voice-v2 {
  width: 100%;
  padding: 58px 24px 64px;
  box-sizing: border-box;
  background:
    radial-gradient(circle at 3% 9%, rgba(203,235,190,.28) 0, rgba(203,235,190,0) 21%),
    radial-gradient(circle at 97% 8%, rgba(203,235,190,.24) 0, rgba(203,235,190,0) 19%),
    #fff;
}

body.home .pl-home-voice-v2__inner {
  width: min(1240px,100%);
  margin: 0 auto;
}

body.home .pl-home-voice-v2__heading {
  max-width: 900px;
  margin: 0 auto 32px;
  text-align: center;
}

body.home .pl-home-voice-v2__label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  margin: 0 0 15px !important;
  padding: 0 22px;
  color: #087847 !important;
  background: #e6f5e5;
  border-radius: 999px;
  font-size: 16px !important;
  line-height: 1.4 !important;
  font-weight: 800 !important;
}

body.home .pl-home-voice-v2__heading h2 {
  margin: 0 !important;
  padding: 0 !important;
  color: #1f2521 !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  font-size: 42px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
  letter-spacing: .01em;
}

body.home .pl-home-voice-v2__heading h2::before,
body.home .pl-home-voice-v2__heading h2::after {
  display: none !important;
  content: none !important;
}

body.home .pl-home-voice-v2__heading h2 span {
  color: #07884b;
}

body.home .pl-home-voice-v2__lead {
  max-width: 760px;
  margin: 17px auto 0 !important;
  color: #3d453f !important;
  font-size: 15px !important;
  line-height: 1.9 !important;
}

body.home .pl-home-voice-v2__grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 14px;
}

body.home .pl-home-voice-v2__card {
  overflow: hidden;
  background: #fff;
  border: 1px solid #dce9df;
  border-radius: 15px;
  box-shadow: 0 6px 22px rgba(43,84,56,.055);
}

body.home .pl-home-voice-v2__photo {
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: #eff5ef;
}

body.home .pl-home-voice-v2__photo img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
}

body.home .pl-home-voice-v2__body {
  position: relative;
  min-height: 224px;
  padding: 23px 20px 18px;
}

body.home .pl-home-voice-v2__quote {
  position: absolute;
  left: 17px;
  top: 14px;
  color: #73bf54;
  font-family: Georgia, serif;
  font-size: 48px;
  line-height: 1;
  font-weight: 800;
}

body.home .pl-home-voice-v2__voice {
  position: relative;
  z-index: 2;
  margin: 0 !important;
  padding: 13px 0 23px 27px;
  color: #183f2c !important;
  font-size: 18px !important;
  line-height: 1.7 !important;
  font-weight: 800 !important;
}

body.home .pl-home-voice-v2__customer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid #e5eee6;
  color: #202721;
}

body.home .pl-home-voice-v2__customer strong {
  font-size: 15px;
  line-height: 1.5;
  font-weight: 800;
}

body.home .pl-home-voice-v2__pin {
  position: relative;
  width: 16px;
  height: 20px;
  background: #0b9254;
  border-radius: 50% 50% 50% 0;
  transform: rotate(-45deg);
}

body.home .pl-home-voice-v2__pin::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 5px;
  width: 6px;
  height: 6px;
  background: #fff;
  border-radius: 50%;
}

body.home .pl-home-voice-v2__bottom {
  display: grid;
  grid-template-columns: 1fr minmax(360px,520px);
  align-items: center;
  gap: 30px;
  margin-top: 20px;
  padding: 16px 24px;
  background: linear-gradient(90deg, #f0faef 0%, #e8f6e7 100%);
  border-radius: 16px;
}

body.home .pl-home-voice-v2__bottom-copy {
  display: flex;
  align-items: center;
  gap: 16px;
}

body.home .pl-home-voice-v2__bottom-icon {
  flex: 0 0 auto;
  width: 52px;
  height: 52px;
  color: #07884b;
}

body.home .pl-home-voice-v2__bottom-icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

body.home .pl-home-voice-v2__bottom-copy p {
  margin: 0 !important;
  color: #263129 !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}

body.home .pl-home-voice-v2__bottom-copy strong {
  color: #087847;
  font-size: 18px;
  font-weight: 800;
}

body.home .pl-home-voice-v2__button {
  min-height: 62px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 0 27px;
  color: #fff !important;
  background: linear-gradient(90deg, #079455 0%, #078348 100%);
  border-radius: 999px;
  text-decoration: none !important;
  font-size: 16px;
  line-height: 1.4;
  font-weight: 800;
}

body.home .pl-home-voice-v2__button b {
  font-size: 24px;
  line-height: 1;
  font-weight: 400;
}

@media (hover:hover) {
  body.home .pl-home-voice-v2__card {
    transition: transform .25s ease, box-shadow .25s ease;
  }

  body.home .pl-home-voice-v2__card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 28px rgba(43,84,56,.09);
  }

  body.home .pl-home-voice-v2__button:hover {
    filter: brightness(.96);
  }
}

@media screen and (max-width: 1024px) {
  body.home .pl-home-voice-v2__heading h2 {
    font-size: 35px !important;
  }

  body.home .pl-home-voice-v2__grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  body.home .pl-home-voice-v2__body {
    min-height: 205px;
  }
}

@media screen and (max-width: 767px) {
  body.home .pl-home-voice-v2 {
    padding: 46px 20px 52px;
  }

  body.home .pl-home-voice-v2__heading {
    margin-bottom: 24px;
  }

  body.home .pl-home-voice-v2__label {
    min-height: 34px;
    margin-bottom: 13px !important;
    padding: 0 17px;
    font-size: 14px !important;
  }

  body.home .pl-home-voice-v2__heading h2 {
    font-size: 29px !important;
    line-height: 1.5 !important;
  }

  body.home .pl-home-voice-v2__lead {
    width: min(100%,350px);
    margin-top: 15px !important;
    font-size: 16px !important;
    line-height: 1.9 !important;
    text-align: left !important;
  }

  body.home .pl-home-voice-v2__grid {
    grid-template-columns: 1fr;
    gap: 17px;
  }

  body.home .pl-home-voice-v2__photo {
    aspect-ratio: 16 / 10;
  }

  body.home .pl-home-voice-v2__body {
    min-height: 0;
    padding: 22px 18px 16px;
  }

  body.home .pl-home-voice-v2__quote {
    left: 15px;
    top: 13px;
    font-size: 45px;
  }

  body.home .pl-home-voice-v2__voice {
    padding: 13px 0 20px 27px;
    font-size: 19px !important;
    line-height: 1.75 !important;
  }

  body.home .pl-home-voice-v2__customer strong {
    font-size: 16px;
  }

  body.home .pl-home-voice-v2__bottom {
    display: block;
    margin-top: 20px;
    padding: 18px 15px;
  }

  body.home .pl-home-voice-v2__bottom-copy {
    justify-content: center;
    gap: 12px;
    margin-bottom: 14px;
  }

  body.home .pl-home-voice-v2__bottom-icon {
    width: 44px;
    height: 44px;
  }

  body.home .pl-home-voice-v2__bottom-copy p {
    font-size: 14px !important;
  }

  body.home .pl-home-voice-v2__bottom-copy strong {
    font-size: 16px;
  }

  body.home .pl-home-voice-v2__button {
    min-height: 60px;
    padding: 0 21px;
    font-size: 15px;
  }
}
/* ========================================
   TOP 外壁塗装の施工工程 v2
   番号サイズ調整版
======================================== */

body.home .pl-home-process-v1 {
  width: 100%;
  padding: 58px 24px 64px;
  box-sizing: border-box;

  background:
    radial-gradient(
      circle at 3% 6%,
      rgba(217,242,205,.34) 0,
      rgba(217,242,205,0) 18%
    ),
    radial-gradient(
      circle at 97% 6%,
      rgba(217,242,205,.30) 0,
      rgba(217,242,205,0) 18%
    ),
    #fff;
}

body.home .pl-home-process-v1__inner {
  width: min(1240px,100%);
  margin: 0 auto;
}


/* ========================================
   見出し
======================================== */

body.home .pl-home-process-v1__heading {
  max-width: 900px;
  margin: 0 auto 30px;
  text-align: center;
}

body.home .pl-home-process-v1__label {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 38px;

  margin: 0 0 14px !important;
  padding: 0 22px;

  color: #087847 !important;
  background: #e7f5e6;

  border-radius: 999px;

  font-size: 15px !important;
  line-height: 1.4 !important;
  font-weight: 800 !important;
}

body.home .pl-home-process-v1__heading h2 {
  margin: 0 !important;
  padding: 0 !important;

  color: #202420 !important;

  background: none !important;
  border: 0 !important;
  box-shadow: none !important;

  font-size: 42px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;

  letter-spacing: .01em;
}

body.home .pl-home-process-v1__heading h2::before,
body.home .pl-home-process-v1__heading h2::after {
  display: none !important;
  content: none !important;
}

body.home .pl-home-process-v1__heading h2 span {
  color: #07884b;
}

body.home .pl-home-process-v1__heading > p:last-child {
  max-width: 760px;

  margin: 16px auto 0 !important;

  color: #404842 !important;

  font-size: 15px !important;
  line-height: 1.9 !important;
}


/* ========================================
   10工程
======================================== */

body.home .pl-home-process-v1__grid {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 14px;
}

body.home .pl-home-process-v1__card {
  min-width: 0;
  overflow: hidden;

  background: #fff;

  border: 1px solid #dce9df;
  border-radius: 14px;

  box-shadow:
    0 6px 20px
    rgba(43,84,56,.05);
}

body.home .pl-home-process-v1__visual {
  position: relative;
  overflow: hidden;

  aspect-ratio: 4 / 2.65;

  background: #eef5ee;
}

body.home .pl-home-process-v1__visual img {
  display: block !important;

  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;

  object-fit: cover !important;
  object-position: center center !important;
}


/* ========================================
   STEP番号
   PCは画像を邪魔しないサイズに縮小
======================================== */

body.home .pl-home-process-v1__number {
  position: absolute;
  z-index: 5;

  left: 8px;
  top: 8px;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  width: 36px;
  height: 36px;

  color: #fff;

  background:
    linear-gradient(
      145deg,
      #079558,
      #087847
    );

  border-radius: 50%;

  box-shadow:
    0 2px 7px
    rgba(0,0,0,.12);
}

body.home .pl-home-process-v1__number small {
  display: block;

  margin-bottom: 1px;

  color: #fff;

  font-size: 4px;
  line-height: 1;
  font-weight: 800;
}

body.home .pl-home-process-v1__number strong {
  display: block;

  font-size: 14px;
  line-height: 1;
  font-weight: 800;
}


/* ========================================
   カード本文
======================================== */

body.home .pl-home-process-v1__body {
  padding: 15px 15px 18px;
  text-align: center;
}

body.home .pl-home-process-v1__body h3 {
  margin: 0 0 8px !important;
  padding: 0 !important;

  color: #087847 !important;

  background: none !important;
  border: 0 !important;

  font-size: 19px !important;
  line-height: 1.5 !important;
  font-weight: 800 !important;
}

body.home .pl-home-process-v1__body h3::before,
body.home .pl-home-process-v1__body h3::after {
  display: none !important;
  content: none !important;
}

body.home .pl-home-process-v1__body h3 small {
  display: block;

  margin-top: 2px;

  color: #087847;

  font-size: 11px;
  line-height: 1.45;
  font-weight: 700;
}

body.home .pl-home-process-v1__body p {
  margin: 0 !important;

  color: #3d453f !important;

  font-size: 13px !important;
  line-height: 1.75 !important;

  text-align: left !important;
}


/* ========================================
   下部案内
======================================== */

body.home .pl-home-process-v1__bottom {
  display: grid;
  grid-template-columns: 1fr minmax(340px,500px);
  align-items: center;

  gap: 28px;

  margin-top: 20px;
  padding: 19px 24px;

  background:
    linear-gradient(
      90deg,
      #f0faef 0%,
      #e7f6e6 100%
    );

  border-radius: 16px;
}

body.home .pl-home-process-v1__bottom-copy strong {
  display: block;

  margin-bottom: 4px;

  color: #087847;

  font-size: 18px;
  line-height: 1.6;
  font-weight: 800;
}

body.home .pl-home-process-v1__bottom-copy p {
  margin: 0 !important;

  color: #3e463f !important;

  font-size: 14px !important;
  line-height: 1.8 !important;
}

body.home .pl-home-process-v1__button {
  min-height: 62px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 18px;

  padding: 0 26px;

  color: #fff !important;

  background:
    linear-gradient(
      90deg,
      #079455 0%,
      #087847 100%
    );

  border-radius: 999px;

  text-decoration: none !important;

  font-size: 16px;
  line-height: 1.4;
  font-weight: 800;
}

body.home .pl-home-process-v1__button b {
  font-size: 24px;
  line-height: 1;
  font-weight: 400;
}

@media (hover:hover) {

  body.home .pl-home-process-v1__card {
    transition:
      transform .25s ease,
      box-shadow .25s ease;
  }

  body.home .pl-home-process-v1__card:hover {
    transform: translateY(-3px);

    box-shadow:
      0 10px 28px
      rgba(43,84,56,.09);
  }

  body.home .pl-home-process-v1__button:hover {
    filter: brightness(.96);
  }

}


/* ========================================
   タブレット
======================================== */

@media screen and (max-width: 1100px) {

  body.home .pl-home-process-v1__grid {
    grid-template-columns:
      repeat(3,minmax(0,1fr));
  }

}


/* ========================================
   スマホ
======================================== */

@media screen and (max-width: 767px) {

  body.home .pl-home-process-v1 {
    padding: 46px 20px 52px;
  }

  body.home .pl-home-process-v1__heading {
    margin-bottom: 24px;
  }

  body.home .pl-home-process-v1__label {
    min-height: 34px;

    margin-bottom: 12px !important;
    padding: 0 17px;

    font-size: 14px !important;
  }

  body.home .pl-home-process-v1__heading h2 {
    font-size: 29px !important;
    line-height: 1.5 !important;
  }

  body.home .pl-home-process-v1__heading > p:last-child {
    width: min(100%,350px);

    margin-top: 14px !important;

    font-size: 16px !important;
    line-height: 1.9 !important;

    text-align: left !important;
  }

  body.home .pl-home-process-v1__grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  body.home .pl-home-process-v1__card {
    display: grid;
    grid-template-columns: 39% 61%;

    min-height: 154px;

    overflow: hidden;
  }

  body.home .pl-home-process-v1__visual {
    aspect-ratio: auto;
    min-height: 154px;
  }

  /* スマホも番号を控えめに */
  body.home .pl-home-process-v1__number {
    left: 6px;
    top: 6px;

    width: 34px;
    height: 34px;
  }

  body.home .pl-home-process-v1__number small {
    font-size: 5px;
  }

  body.home .pl-home-process-v1__number strong {
    font-size: 13px;
  }

  body.home .pl-home-process-v1__body {
    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 14px 14px 14px 15px;

    text-align: left;
  }

  body.home .pl-home-process-v1__body h3 {
    margin-bottom: 6px !important;

    font-size: 17px !important;
    line-height: 1.45 !important;

    text-align: left !important;
  }

  body.home .pl-home-process-v1__body h3 small {
    font-size: 10px;
  }

  body.home .pl-home-process-v1__body p {
    font-size: 14px !important;
    line-height: 1.72 !important;
  }

  body.home .pl-home-process-v1__bottom {
    display: block;

    margin-top: 18px;
    padding: 17px 15px;
  }

  body.home .pl-home-process-v1__bottom-copy strong {
    font-size: 17px;
  }

  body.home .pl-home-process-v1__bottom-copy p {
    font-size: 15px !important;
    line-height: 1.85 !important;
  }

  body.home .pl-home-process-v1__button {
    min-height: 60px;

    margin-top: 15px;
    padding: 0 20px;

    font-size: 15px;
  }

}


/* 小さいスマホ */
@media screen and (max-width: 380px) {

  body.home .pl-home-process-v1__card {
    grid-template-columns: 36% 64%;
  }

  body.home .pl-home-process-v1__body h3 {
    font-size: 16px !important;
  }

  body.home .pl-home-process-v1__body p {
    font-size: 13px !important;
  }

}
/* =========================================================
   TOP：外壁の塗り替え時期のサイン
   添付デザイン再現版
========================================================= */

body.home .pl-repaint-signs {
  position: relative !important;
  overflow: hidden !important;

  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  padding: 70px 24px 78px !important;

  color: #171717 !important;
  background:
    radial-gradient(circle at 8% 8%, rgba(210, 238, 193, .38) 0, rgba(210, 238, 193, .20) 11%, transparent 24%),
    radial-gradient(circle at 96% 28%, rgba(218, 241, 202, .38) 0, rgba(218, 241, 202, .18) 11%, transparent 23%),
    #fff !important;

  box-sizing: border-box !important;
}

body.home .pl-repaint-signs *,
body.home .pl-repaint-signs *::before,
body.home .pl-repaint-signs *::after {
  box-sizing: border-box !important;
}

body.home .pl-repaint-signs__inner {
  width: min(1480px, 100%) !important;
  margin: 0 auto !important;
}


/* =========================================================
   見出し
========================================================= */

body.home .pl-repaint-signs__heading {
  margin: 0 auto 30px !important;
  text-align: center !important;
}

body.home .pl-repaint-signs__badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 0 0 17px !important;
  padding: 10px 28px 11px !important;

  color: #fff !important;
  background: #2aa565 !important;

  border: 0 !important;
  border-radius: 999px !important;

  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: .04em !important;
}

body.home .pl-repaint-signs__title {
  margin: 0 !important;
  padding: 0 !important;

  color: #171717 !important;
  background: transparent !important;

  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;

  font-size: 42px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  letter-spacing: .025em !important;
  text-align: center !important;
}

body.home .pl-repaint-signs__title::before,
body.home .pl-repaint-signs__title::after {
  display: none !important;
  content: none !important;
}

body.home .pl-repaint-signs__title span {
  color: #07884b !important;
}

body.home .pl-repaint-signs__title-line {
  display: block !important;

  width: 58px !important;
  height: 5px !important;

  margin: 14px auto 14px !important;

  background: #b9dca0 !important;
  border-radius: 999px !important;
}

body.home .pl-repaint-signs__lead {
  margin: 0 !important;

  color: #222 !important;

  font-size: 18px !important;
  font-weight: 500 !important;
  line-height: 1.8 !important;
  text-align: center !important;
}


/* =========================================================
   5カード
========================================================= */

body.home .pl-repaint-signs__grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;

  gap: 18px !important;

  margin-top: 28px !important;
}

body.home .pl-repaint-signs__card {
  overflow: hidden !important;

  margin: 0 !important;

  background: #fff !important;

  border: 1px solid #e2e8e2 !important;
  border-radius: 8px !important;

  box-shadow: 0 5px 16px rgba(32, 66, 48, .06) !important;
}

body.home .pl-repaint-signs__photo {
  overflow: hidden !important;

  width: 100% !important;
  aspect-ratio: 1.47 / 1 !important;

  background: #eef2ee !important;
}

body.home .pl-repaint-signs__photo img {
  display: block !important;

  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;

  object-fit: cover !important;
  object-position: center center !important;
}

body.home .pl-repaint-signs__card-body {
  padding: 11px 18px 20px !important;
}

body.home .pl-repaint-signs__card-heading {
  display: flex !important;
  align-items: center !important;

  gap: 12px !important;

  margin-bottom: 10px !important;
}

body.home .pl-repaint-signs__number {
  flex: 0 0 44px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 44px !important;
  height: 44px !important;

  color: #fff !important;
  background: #2aaa66 !important;

  border-radius: 50% !important;

  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

body.home .pl-repaint-signs__card h3 {
  margin: 0 !important;
  padding: 0 !important;

  color: #171717 !important;
  background: transparent !important;

  border: 0 !important;
  box-shadow: none !important;

  font-size: 20px !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

body.home .pl-repaint-signs__card h3::before,
body.home .pl-repaint-signs__card h3::after {
  display: none !important;
  content: none !important;
}

body.home .pl-repaint-signs__card p {
  margin: 0 !important;

  color: #202020 !important;

  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.8 !important;
}


/* =========================================================
   下部CTA
========================================================= */

body.home .pl-repaint-signs__cta-box {
  position: relative !important;
  isolation: isolate !important;

  display: grid !important;
  grid-template-columns: 290px minmax(0, 1fr) 320px !important;
  align-items: stretch !important;

  min-height: 290px !important;

  margin-top: 18px !important;

  overflow: hidden !important;

  background:
    linear-gradient(
      90deg,
      #eefbe4 0%,
      #f6fce9 34%,
      #f9fdf2 58%,
      #eff8ee 76%,
      #e7f5fb 100%
    ) !important;

  border-radius: 22px !important;
}

body.home .pl-repaint-signs__advisor {
  position: relative !important;
  z-index: 2 !important;

  display: flex !important;
  align-items: flex-end !important;

  overflow: hidden !important;
}

body.home .pl-repaint-signs__advisor img {
  display: block !important;

  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;

  object-fit: cover !important;
  object-position: center top !important;

  mix-blend-mode: multiply !important;
}

body.home .pl-repaint-signs__speech {
  position: absolute !important;
  z-index: 5 !important;

  left: 270px !important;
  top: 24px !important;

  width: 190px !important;

  padding: 20px 19px !important;

  color: #07884b !important;
  background: #fff !important;

  border-radius: 50% !important;

  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1.5 !important;
  text-align: center !important;

  box-shadow: 0 5px 18px rgba(18, 77, 48, .05) !important;
}

body.home .pl-repaint-signs__speech::after {
  content: "" !important;

  position: absolute !important;
  left: 14px !important;
  bottom: 17px !important;

  width: 20px !important;
  height: 20px !important;

  background: #fff !important;

  transform: rotate(34deg) skew(-10deg) !important;
}

body.home .pl-repaint-signs__cta-content {
  position: relative !important;
  z-index: 4 !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;

  padding: 28px 10px 24px !important;

  text-align: center !important;
}

body.home .pl-repaint-signs__cta-kicker {
  margin: 0 0 3px !important;

  color: #171717 !important;

  font-size: 20px !important;
  font-weight: 800 !important;
  line-height: 1.5 !important;
}

body.home .pl-repaint-signs__cta-content h3 {
  margin: 0 !important;
  padding: 0 !important;

  color: #171717 !important;
  background: transparent !important;

  border: 0 !important;
  box-shadow: none !important;

  font-size: 34px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  text-align: center !important;
}

body.home .pl-repaint-signs__cta-content h3::before,
body.home .pl-repaint-signs__cta-content h3::after {
  display: none !important;
  content: none !important;
}

body.home .pl-repaint-signs__cta-content h3 span {
  color: #087847 !important;
}

body.home .pl-repaint-signs__cta-text {
  margin: 13px 0 0 !important;

  color: #242424 !important;

  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.75 !important;
  text-align: center !important;
}

body.home .pl-repaint-signs__cta-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: min(480px, 92%) !important;
  min-height: 58px !important;

  margin-top: 15px !important;
  padding: 11px 18px 11px 26px !important;

  color: #fff !important;
  background: linear-gradient(90deg, #ff861d 0%, #ff5c0a 100%) !important;

  border: 0 !important;
  border-radius: 999px !important;

  text-decoration: none !important;

  box-shadow: 0 7px 16px rgba(237, 105, 13, .18) !important;
}

body.home .pl-repaint-signs__cta-button span {
  flex: 1 !important;

  color: #fff !important;

  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 1.4 !important;
  text-align: center !important;
}

body.home .pl-repaint-signs__cta-button b {
  flex: 0 0 auto !important;

  margin-left: 10px !important;

  color: #fff !important;

  font-size: 25px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
}

body.home .pl-repaint-signs__house {
  position: relative !important;
  z-index: 1 !important;

  overflow: hidden !important;
}

body.home .pl-repaint-signs__house img {
  display: block !important;

  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;

  object-fit: cover !important;
  object-position: center center !important;

  -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 30%, #000 100%) !important;
  mask-image: linear-gradient(to right, transparent 0%, #000 30%, #000 100%) !important;
}


/* =========================================================
   Tablet
========================================================= */

@media screen and (max-width: 1180px) {

  body.home .pl-repaint-signs__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body.home .pl-repaint-signs__cta-box {
    grid-template-columns: 220px minmax(0, 1fr) 250px !important;
  }

  body.home .pl-repaint-signs__speech {
    left: 190px !important;
    width: 175px !important;
  }

  body.home .pl-repaint-signs__cta-content h3 {
    font-size: 29px !important;
  }

}


/* =========================================================
   Smartphone
========================================================= */

@media screen and (max-width: 767px) {

  body.home .pl-repaint-signs {
    padding: 48px 14px 56px !important;

    background:
      radial-gradient(circle at 0% 4%, rgba(210, 238, 193, .30) 0, transparent 23%),
      radial-gradient(circle at 100% 18%, rgba(218, 241, 202, .28) 0, transparent 22%),
      #fff !important;
  }

  body.home .pl-repaint-signs__heading {
    margin-bottom: 24px !important;
  }

  body.home .pl-repaint-signs__badge {
    margin-bottom: 14px !important;
    padding: 8px 20px 9px !important;

    font-size: 15px !important;
  }

  body.home .pl-repaint-signs__title {
    font-size: 29px !important;
    line-height: 1.45 !important;
  }

  body.home .pl-repaint-signs__title-line {
    width: 46px !important;
    height: 4px !important;

    margin: 11px auto 13px !important;
  }

  body.home .pl-repaint-signs__lead {
    font-size: 16px !important;
    line-height: 1.85 !important;
    text-align: left !important;
  }

  body.home .pl-repaint-signs__pc {
    display: none !important;
  }


  /* カード */
  body.home .pl-repaint-signs__grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;

    margin-top: 22px !important;
  }

  body.home .pl-repaint-signs__card {
    border-radius: 8px !important;
  }

  body.home .pl-repaint-signs__photo {
    aspect-ratio: 16 / 9 !important;
  }

  body.home .pl-repaint-signs__card-body {
    padding: 12px 17px 19px !important;
  }

  body.home .pl-repaint-signs__card-heading {
    gap: 11px !important;
    margin-bottom: 9px !important;
  }

  body.home .pl-repaint-signs__number {
    flex-basis: 42px !important;
    width: 42px !important;
    height: 42px !important;

    font-size: 16px !important;
  }

  body.home .pl-repaint-signs__card h3 {
    font-size: 20px !important;
  }

  body.home .pl-repaint-signs__card p {
    font-size: 16px !important;
    line-height: 1.8 !important;
  }


  /* 下部CTA */
  body.home .pl-repaint-signs__cta-box {
    display: block !important;

    min-height: 0 !important;

    margin-top: 18px !important;
    padding: 0 18px 22px !important;

    border-radius: 18px !important;
  }

  body.home .pl-repaint-signs__advisor {
    width: 190px !important;
    height: 190px !important;

    margin: 0 auto -14px !important;
  }

  body.home .pl-repaint-signs__advisor img {
    object-fit: contain !important;
    object-position: center bottom !important;
  }

  body.home .pl-repaint-signs__speech {
    position: relative !important;

    left: auto !important;
    top: auto !important;

    width: min(250px, 88%) !important;

    margin: -12px auto 18px !important;
    padding: 11px 16px !important;

    border-radius: 999px !important;

    font-size: 15px !important;
  }

  body.home .pl-repaint-signs__speech br {
    display: none !important;
  }

  body.home .pl-repaint-signs__speech::after {
    display: none !important;
  }

  body.home .pl-repaint-signs__cta-content {
    display: block !important;
    padding: 0 !important;
  }

  body.home .pl-repaint-signs__cta-kicker {
    font-size: 17px !important;
  }

  body.home .pl-repaint-signs__cta-content h3 {
    margin-top: 3px !important;

    font-size: 26px !important;
    line-height: 1.45 !important;
  }

  body.home .pl-repaint-signs__cta-text {
    margin-top: 12px !important;

    font-size: 16px !important;
    line-height: 1.8 !important;
    text-align: left !important;
  }

  body.home .pl-repaint-signs__cta-button {
    width: 100% !important;
    min-height: 58px !important;

    margin-top: 18px !important;
  }

  body.home .pl-repaint-signs__cta-button span {
    font-size: 16px !important;
  }

  body.home .pl-repaint-signs__house {
    display: none !important;
  }

}
/* =========================================================
   TOP：スタッフ紹介
   集合写真バナー使用版
========================================================= */

body.home .pl-home-staff-v1 {
  position: relative !important;
  overflow: hidden !important;

  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  padding: 68px 24px 76px !important;

  color: #171717 !important;

  background:
    radial-gradient(circle at 4% 10%, rgba(201, 231, 180, .24) 0, transparent 22%),
    radial-gradient(circle at 98% 25%, rgba(203, 232, 184, .24) 0, transparent 22%),
    #fff !important;

  box-sizing: border-box !important;
}

body.home .pl-home-staff-v1 *,
body.home .pl-home-staff-v1 *::before,
body.home .pl-home-staff-v1 *::after {
  box-sizing: border-box !important;
}

body.home .pl-home-staff-v1__inner {
  width: min(1240px, 100%) !important;
  margin: 0 auto !important;
}


/* =========================================================
   見出し
========================================================= */

body.home .pl-home-staff-v1__heading {
  max-width: 920px !important;

  margin: 0 auto 32px !important;

  text-align: center !important;
}

body.home .pl-home-staff-v1__en {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  gap: 18px !important;

  margin: 0 0 9px !important;

  color: #167c46 !important;

  font-family: Arial, "Noto Sans JP", sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;

  line-height: 1.3 !important;
  letter-spacing: .22em !important;
}

body.home .pl-home-staff-v1__en span {
  display: block !important;

  width: 56px !important;
  height: 1px !important;

  background: #6ba57f !important;
}

body.home .pl-home-staff-v1__heading h2 {
  margin: 0 !important;
  padding: 0 !important;

  color: #171717 !important;
  background: transparent !important;

  border: 0 !important;
  box-shadow: none !important;

  font-size: 42px !important;
  font-weight: 800 !important;

  line-height: 1.35 !important;
  letter-spacing: .02em !important;

  text-align: center !important;
}

body.home .pl-home-staff-v1__heading h2::before,
body.home .pl-home-staff-v1__heading h2::after {
  display: none !important;
  content: none !important;
}

body.home .pl-home-staff-v1__heading h2 span {
  color: #087847 !important;
}

body.home .pl-home-staff-v1__catch {
  display: inline-block !important;

  margin: 17px 0 0 !important;
  padding: 7px 26px 8px !important;

  color: #087847 !important;
  background: #eff7ea !important;

  border-radius: 999px !important;

  font-size: 21px !important;
  font-weight: 800 !important;

  line-height: 1.5 !important;
}

body.home .pl-home-staff-v1__lead {
  margin: 20px 0 0 !important;

  color: #292929 !important;

  font-size: 17px !important;
  font-weight: 500 !important;

  line-height: 1.9 !important;

  text-align: center !important;
}


/* =========================================================
   集合写真バナー
========================================================= */

body.home .pl-home-staff-v1__visual {
  position: relative !important;

  width: min(1180px, 100%) !important;

  margin: 0 auto !important;

  overflow: hidden !important;

  background: #f4f7f1 !important;

  border-radius: 16px !important;

  box-shadow:
    0 12px 32px rgba(27, 67, 45, .09) !important;
}

body.home .pl-home-staff-v1__visual img {
  display: block !important;

  width: 100% !important;
  height: auto !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;

  object-fit: contain !important;
}


/* =========================================================
   CTA
========================================================= */

body.home .pl-home-staff-v1__more {
  margin-top: 28px !important;

  text-align: center !important;
}

body.home .pl-home-staff-v1__more a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: min(470px, 100%) !important;
  min-height: 68px !important;

  padding: 10px 18px !important;

  color: #fff !important;

  background:
    linear-gradient(
      180deg,
      #29964f 0%,
      #147738 100%
    ) !important;

  border: 0 !important;
  border-radius: 999px !important;

  box-shadow:
    0 8px 18px rgba(14, 98, 51, .20) !important;

  text-decoration: none !important;

  transition:
    transform .2s ease,
    box-shadow .2s ease !important;
}

body.home .pl-home-staff-v1__icon {
  flex: 0 0 35px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 35px !important;
  height: 35px !important;

  margin-right: 14px !important;

  color: #fff !important;
}

body.home .pl-home-staff-v1__icon svg {
  display: block !important;

  width: 35px !important;
  height: 35px !important;
}

body.home .pl-home-staff-v1__more a > span:nth-child(2) {
  color: #fff !important;

  font-size: 18px !important;
  font-weight: 800 !important;

  line-height: 1.4 !important;
  letter-spacing: .03em !important;
}

body.home .pl-home-staff-v1__more a > b {
  margin-left: 26px !important;

  color: #fff !important;

  font-family: Arial, sans-serif !important;
  font-size: 24px !important;
  font-weight: 400 !important;

  line-height: 1 !important;
}

@media screen and (min-width: 835px) {

  body.home .pl-home-staff-v1__more a:hover {
    transform: translateY(-2px) !important;

    box-shadow:
      0 11px 24px rgba(14, 98, 51, .26) !important;
  }

}


/* =========================================================
   スマホ
========================================================= */

@media screen and (max-width: 767px) {

  body.home .pl-home-staff-v1 {
    padding: 48px 14px 56px !important;

    background:
      radial-gradient(circle at 0% 5%, rgba(201, 231, 180, .20) 0, transparent 23%),
      radial-gradient(circle at 100% 24%, rgba(203, 232, 184, .20) 0, transparent 22%),
      #fff !important;
  }

  body.home .pl-home-staff-v1__heading {
    margin-bottom: 24px !important;
  }

  body.home .pl-home-staff-v1__en {
    gap: 12px !important;

    margin-bottom: 8px !important;

    font-size: 12px !important;
  }

  body.home .pl-home-staff-v1__en span {
    width: 36px !important;
  }

  body.home .pl-home-staff-v1__heading h2 {
    font-size: 30px !important;
    line-height: 1.45 !important;
  }

  body.home .pl-home-staff-v1__catch {
    margin-top: 13px !important;
    padding: 7px 16px 8px !important;

    font-size: 17px !important;
  }

  body.home .pl-home-staff-v1__lead {
    margin-top: 15px !important;

    font-size: 16px !important;
    line-height: 1.85 !important;

    text-align: left !important;
  }

  body.home .pl-home-staff-v1__pc {
    display: none !important;
  }

  body.home .pl-home-staff-v1__visual {
    width: 100% !important;

    border-radius: 10px !important;

    box-shadow:
      0 8px 22px rgba(27, 67, 45, .08) !important;
  }

  body.home .pl-home-staff-v1__more {
    margin-top: 22px !important;
  }

  body.home .pl-home-staff-v1__more a {
    width: 100% !important;
    max-width: 390px !important;
    min-height: 62px !important;

    padding: 9px 15px !important;
  }

  body.home .pl-home-staff-v1__icon {
    flex-basis: 29px !important;

    width: 29px !important;
    height: 29px !important;

    margin-right: 10px !important;
  }

  body.home .pl-home-staff-v1__icon svg {
    width: 29px !important;
    height: 29px !important;
  }

  body.home .pl-home-staff-v1__more a > span:nth-child(2) {
    font-size: 16px !important;
  }

  body.home .pl-home-staff-v1__more a > b {
    margin-left: 18px !important;

    font-size: 21px !important;
  }

}
/* =========================================================
   TOP：対応エリア
   参考画像忠実再現 / 実画像6枚使用 / CTAなし
========================================================= */

body.home .pl-home-area-v4 {
  position: relative !important;
  overflow: hidden !important;

  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  padding: 58px 24px 66px !important;

  color: #181818 !important;

  background:
    radial-gradient(circle at 2% 10%, rgba(206,235,180,.42) 0, rgba(206,235,180,.16) 12%, transparent 23%),
    radial-gradient(circle at 98% 94%, rgba(202,232,172,.42) 0, rgba(202,232,172,.16) 12%, transparent 24%),
    #fff !important;

  box-sizing: border-box !important;
}

body.home .pl-home-area-v4 *,
body.home .pl-home-area-v4 *::before,
body.home .pl-home-area-v4 *::after {
  box-sizing: border-box !important;
}

body.home .pl-home-area-v4__inner {
  position: relative !important;
  isolation: isolate !important;

  width: min(1480px, 100%) !important;
  min-height: 820px !important;

  margin: 0 auto !important;
}


/* =========================================================
   背景：大阪の街並み
========================================================= */

body.home .pl-home-area-v4__city {
  position: absolute !important;
  z-index: -3 !important;

  top: 0 !important;
  right: 0 !important;

  width: 66% !important;
  height: 74% !important;

  overflow: hidden !important;
}

body.home .pl-home-area-v4__city::before {
  content: "" !important;

  position: absolute !important;
  z-index: 2 !important;

  inset: 0 !important;

  background:
    linear-gradient(
      90deg,
      #fff 0%,
      rgba(255,255,255,.97) 9%,
      rgba(255,255,255,.80) 22%,
      rgba(255,255,255,.35) 40%,
      rgba(255,255,255,.05) 62%,
      rgba(255,255,255,0) 100%
    ),
    linear-gradient(
      180deg,
      rgba(255,255,255,0) 48%,
      rgba(255,255,255,.10) 68%,
      rgba(255,255,255,.92) 100%
    ) !important;

  pointer-events: none !important;
}

body.home .pl-home-area-v4__city img {
  display: block !important;

  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;

  object-fit: cover !important;
  object-position: center center !important;
}


/* =========================================================
   2カラム
========================================================= */

body.home .pl-home-area-v4__layout {
  position: relative !important;
  z-index: 1 !important;

  display: grid !important;
  grid-template-columns: minmax(0, 1.35fr) minmax(380px, .65fr) !important;

  gap: 28px !important;

  align-items: start !important;
}


/* =========================================================
   左側
========================================================= */

body.home .pl-home-area-v4__content {
  min-width: 0 !important;

  padding-top: 6px !important;
}


/* 緑ラベル */
body.home .pl-home-area-v4__badge {
  display: inline-block !important;

  margin: 0 0 19px !important;
  padding: 13px 34px 14px !important;

  color: #f4ee88 !important;

  background:
    linear-gradient(180deg, #168144 0%, #086f39 100%) !important;

  clip-path:
    polygon(
      1% 9%,
      98% 0,
      100% 85%,
      2% 100%
    ) !important;

  transform: rotate(-1.5deg) !important;

  font-size: 23px !important;
  font-weight: 900 !important;

  line-height: 1.2 !important;
  letter-spacing: .04em !important;
}


/* 見出し */
body.home .pl-home-area-v4__content h2 {
  margin: 0 !important;
  padding: 0 !important;

  color: #191919 !important;
  background: transparent !important;

  border: 0 !important;
  box-shadow: none !important;

  font-size: clamp(52px, 4.65vw, 76px) !important;
  font-weight: 900 !important;

  line-height: 1.10 !important;
  letter-spacing: -.035em !important;

  text-align: left !important;
}

body.home .pl-home-area-v4__content h2::before,
body.home .pl-home-area-v4__content h2::after {
  display: none !important;
  content: none !important;
}

body.home .pl-home-area-v4__content h2 span {
  display: inline-block !important;

  margin-top: 10px !important;

  color: #087c39 !important;
}


/* 本文 */
body.home .pl-home-area-v4__lead {
  max-width: 730px !important;

  margin: 24px 0 0 !important;

  color: #242424 !important;

  font-size: 18px !important;
  font-weight: 500 !important;

  line-height: 1.78 !important;
}


/* =========================================================
   3カード
========================================================= */

body.home .pl-home-area-v4__cards {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;

  gap: 16px !important;

  margin-top: 32px !important;
}

body.home .pl-home-area-v4__card {
  overflow: hidden !important;

  margin: 0 !important;
  padding: 16px 16px 14px !important;

  background: rgba(255,255,255,.98) !important;

  border: 1px solid #e7ebe5 !important;
  border-radius: 12px !important;

  box-shadow:
    0 8px 22px rgba(28, 61, 41, .06) !important;
}

body.home .pl-home-area-v4__card-title {
  display: flex !important;
  align-items: center !important;

  gap: 10px !important;

  min-height: 48px !important;

  margin-bottom: 10px !important;
}

body.home .pl-home-area-v4__icon {
  flex: 0 0 44px !important;

  width: 44px !important;
  height: 44px !important;

  color: #087c39 !important;
}

body.home .pl-home-area-v4__icon svg {
  display: block !important;

  width: 44px !important;
  height: 44px !important;
}

body.home .pl-home-area-v4__card h3 {
  margin: 0 !important;
  padding: 0 !important;

  color: #123825 !important;
  background: transparent !important;

  border: 0 !important;
  box-shadow: none !important;

  font-size: 19px !important;
  font-weight: 800 !important;

  line-height: 1.35 !important;

  text-align: left !important;
}

body.home .pl-home-area-v4__card h3::before,
body.home .pl-home-area-v4__card h3::after {
  display: none !important;
  content: none !important;
}

body.home .pl-home-area-v4__photo {
  overflow: hidden !important;

  width: 100% !important;
  aspect-ratio: 16 / 8.5 !important;

  border-radius: 7px !important;

  background: #eef2ed !important;
}

body.home .pl-home-area-v4__photo img {
  display: block !important;

  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;

  object-fit: cover !important;
  object-position: center center !important;
}

body.home .pl-home-area-v4__card p {
  margin: 10px 0 0 !important;

  color: #252525 !important;

  font-size: 14px !important;
  font-weight: 500 !important;

  line-height: 1.55 !important;

  text-align: center !important;
}


/* =========================================================
   右側：大阪府マップ + 吹き出し
========================================================= */

body.home .pl-home-area-v4__visual {
  position: relative !important;

  min-height: 735px !important;
}

body.home .pl-home-area-v4__map {
  position: absolute !important;

  z-index: 2 !important;

  top: 28px !important;
  left: 50% !important;

  width: 390px !important;
  max-width: 94% !important;
  height: auto !important;

  margin: 0 !important;

  transform: translateX(-50%) !important;

  object-fit: contain !important;

  filter:
    drop-shadow(0 12px 18px rgba(30, 102, 44, .12)) !important;
}

body.home .pl-home-area-v4__map-text {
  position: absolute !important;
  z-index: 4 !important;

  left: 50% !important;
  top: 310px !important;

  transform: translateX(-50%) !important;

  color: #fff !important;

  text-align: center !important;

  text-shadow:
    0 3px 8px rgba(18, 84, 37, .35) !important;
}

body.home .pl-home-area-v4__map-text span {
  display: block !important;

  font-size: 32px !important;
  font-weight: 800 !important;

  line-height: 1.2 !important;
}

body.home .pl-home-area-v4__map-text strong {
  display: block !important;

  margin-top: 3px !important;

  font-size: 50px !important;
  font-weight: 900 !important;

  line-height: 1.05 !important;
}

body.home .pl-home-area-v4__bubble {
  position: absolute !important;
  z-index: 5 !important;

  top: 185px !important;
  right: -5px !important;

  width: 210px !important;
  height: auto !important;

  margin: 0 !important;

  filter:
    drop-shadow(0 9px 16px rgba(197, 96, 5, .18)) !important;
}


/* =========================================================
   タブレット
========================================================= */

@media screen and (max-width: 1180px) {

  body.home .pl-home-area-v4__layout {
    grid-template-columns: 1fr !important;

    gap: 22px !important;
  }

  body.home .pl-home-area-v4__city {
    width: 100% !important;
    height: 46% !important;
  }

  body.home .pl-home-area-v4__visual {
    min-height: 600px !important;
  }

  body.home .pl-home-area-v4__map {
    width: 330px !important;
  }

  body.home .pl-home-area-v4__map-text {
    top: 270px !important;
  }

  body.home .pl-home-area-v4__bubble {
    right: calc(50% - 270px) !important;
    top: 160px !important;

    width: 180px !important;
  }

}


/* =========================================================
   スマホ
========================================================= */

@media screen and (max-width: 767px) {

  body.home .pl-home-area-v4 {
    padding: 46px 14px 52px !important;
  }

  body.home .pl-home-area-v4__inner {
    min-height: 0 !important;
  }

  body.home .pl-home-area-v4__city {
    top: 0 !important;
    right: -32% !important;

    width: 120% !important;
    height: 330px !important;

    opacity: .42 !important;
  }

  body.home .pl-home-area-v4__city::before {
    background:
      linear-gradient(
        90deg,
        #fff 0%,
        rgba(255,255,255,.94) 30%,
        rgba(255,255,255,.62) 62%,
        rgba(255,255,255,.18) 100%
      ),
      linear-gradient(
        180deg,
        rgba(255,255,255,0) 48%,
        #fff 100%
      ) !important;
  }

  body.home .pl-home-area-v4__content {
    padding-top: 0 !important;
  }

  body.home .pl-home-area-v4__badge {
    margin-bottom: 15px !important;

    padding: 10px 18px 11px !important;

    font-size: 16px !important;
  }

  body.home .pl-home-area-v4__content h2 {
    font-size: 40px !important;

    line-height: 1.14 !important;
  }

  body.home .pl-home-area-v4__content h2 span {
    margin-top: 7px !important;
  }

  body.home .pl-home-area-v4__lead {
    margin-top: 18px !important;

    font-size: 16px !important;

    line-height: 1.8 !important;
  }

  body.home .pl-home-area-v4__pc {
    display: none !important;
  }


  /* カードは1列 */
  body.home .pl-home-area-v4__cards {
    grid-template-columns: 1fr !important;

    gap: 13px !important;

    margin-top: 22px !important;
  }

  body.home .pl-home-area-v4__card {
    padding: 14px !important;
  }

  body.home .pl-home-area-v4__card-title {
    min-height: 40px !important;

    margin-bottom: 9px !important;
  }

  body.home .pl-home-area-v4__icon {
    flex-basis: 38px !important;

    width: 38px !important;
    height: 38px !important;
  }

  body.home .pl-home-area-v4__icon svg {
    width: 38px !important;
    height: 38px !important;
  }

  body.home .pl-home-area-v4__card h3 {
    font-size: 18px !important;
  }

  body.home .pl-home-area-v4__photo {
    aspect-ratio: 16 / 9 !important;
  }

  body.home .pl-home-area-v4__card p {
    font-size: 15px !important;

    line-height: 1.6 !important;
  }


  /* スマホでは右側ビジュアル一式を非表示 */
  body.home .pl-home-area-v4__visual {
    display: none !important;
  }

}
/* =========================================================
   TOP：よくあるご質問
   参考画像準拠 / 実画像2枚使用
========================================================= */

body.home .pl-home-faq-v1 {
  position: relative !important;
  overflow: hidden !important;

  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  padding: 64px 24px 72px !important;

  color: #171717 !important;

  background:
    radial-gradient(circle at 2% 8%, rgba(206,235,180,.34) 0, rgba(206,235,180,.15) 11%, transparent 22%),
    radial-gradient(circle at 98% 92%, rgba(202,232,172,.34) 0, rgba(202,232,172,.15) 11%, transparent 23%),
    #fff !important;

  box-sizing: border-box !important;
}

body.home .pl-home-faq-v1 *,
body.home .pl-home-faq-v1 *::before,
body.home .pl-home-faq-v1 *::after {
  box-sizing: border-box !important;
}

body.home .pl-home-faq-v1__inner {
  width: min(1480px, 100%) !important;
  margin: 0 auto !important;
}


/* =========================================================
   見出し
========================================================= */

body.home .pl-home-faq-v1__heading {
  margin: 0 auto 28px !important;
  text-align: center !important;
}

body.home .pl-home-faq-v1__badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-width: 124px !important;
  min-height: 48px !important;

  margin: 0 0 16px !important;
  padding: 8px 26px !important;

  color: #fff !important;
  background: linear-gradient(180deg, #1d9848 0%, #117a39 100%) !important;

  border-radius: 999px !important;

  font-size: 25px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: .12em !important;
}

body.home .pl-home-faq-v1__heading h2 {
  margin: 0 !important;
  padding: 0 !important;

  color: #071525 !important;
  background: transparent !important;

  border: 0 !important;
  box-shadow: none !important;

  font-size: clamp(48px, 4.4vw, 82px) !important;
  font-weight: 900 !important;
  line-height: 1.12 !important;
  letter-spacing: -.04em !important;
  text-align: center !important;
}

body.home .pl-home-faq-v1__heading h2::before,
body.home .pl-home-faq-v1__heading h2::after {
  display: none !important;
  content: none !important;
}

body.home .pl-home-faq-v1__heading h2 span {
  color: #11823d !important;
}

body.home .pl-home-faq-v1__lead {
  margin: 14px 0 0 !important;

  color: #222 !important;

  font-size: 24px !important;
  font-weight: 500 !important;
  line-height: 1.58 !important;
}


/* =========================================================
   レイアウト
========================================================= */

body.home .pl-home-faq-v1__layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.55fr) minmax(320px, .85fr) !important;

  gap: 0 !important;
  align-items: end !important;
}


/* =========================================================
   FAQ
========================================================= */

body.home .pl-home-faq-v1__faq {
  position: relative !important;
  z-index: 2 !important;

  min-width: 0 !important;

  padding-right: 10px !important;
}

body.home .pl-home-faq-v1__item {
  margin: 0 0 12px !important;

  background: #fff !important;

  border: 1px solid #edf0ed !important;
  border-radius: 16px !important;

  box-shadow: 0 8px 22px rgba(35, 64, 44, .08) !important;

  overflow: hidden !important;
}

body.home .pl-home-faq-v1__item:last-child {
  margin-bottom: 0 !important;
}

body.home .pl-home-faq-v1__item summary {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;

  min-height: 102px !important;

  padding: 16px 26px !important;

  list-style: none !important;
  cursor: pointer !important;
}

body.home .pl-home-faq-v1__item summary::-webkit-details-marker {
  display: none !important;
}

body.home .pl-home-faq-v1__q {
  flex: 0 0 44px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 44px !important;
  height: 44px !important;

  color: #fff !important;
  background: linear-gradient(180deg, #1a9a49 0%, #0f7e3b 100%) !important;

  border-radius: 50% !important;

  font-size: 30px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

body.home .pl-home-faq-v1__question {
  flex: 1 !important;

  color: #0c1220 !important;

  font-size: 26px !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
}

body.home .pl-home-faq-v1__arrow {
  position: relative !important;

  flex: 0 0 22px !important;

  width: 22px !important;
  height: 22px !important;

  margin-left: 10px !important;
}

body.home .pl-home-faq-v1__arrow::before,
body.home .pl-home-faq-v1__arrow::after {
  content: "" !important;
  position: absolute !important;
  top: 10px !important;

  width: 13px !important;
  height: 3px !important;

  background: #198b43 !important;
  border-radius: 999px !important;

  transition: transform .2s ease !important;
}

body.home .pl-home-faq-v1__arrow::before {
  left: 0 !important;
  transform: rotate(45deg) !important;
}

body.home .pl-home-faq-v1__arrow::after {
  right: 0 !important;
  transform: rotate(-45deg) !important;
}

body.home .pl-home-faq-v1__item[open] .pl-home-faq-v1__arrow::before {
  transform: rotate(-45deg) !important;
}

body.home .pl-home-faq-v1__item[open] .pl-home-faq-v1__arrow::after {
  transform: rotate(45deg) !important;
}

body.home .pl-home-faq-v1__answer {
  padding: 0 26px 22px 88px !important;
}

body.home .pl-home-faq-v1__answer p {
  margin: 0 !important;

  color: #30353a !important;

  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.9 !important;
}


/* =========================================================
   右側ビジュアル
========================================================= */

body.home .pl-home-faq-v1__visual {
  position: relative !important;

  min-height: 840px !important;
  margin-left: -40px !important;
}

body.home .pl-home-faq-v1__brush {
  position: absolute !important;
  z-index: 0 !important;

  left: 18px !important;
  top: 46px !important;

  width: 520px !important;
  height: 620px !important;

  background:
    linear-gradient(135deg, rgba(154,214,131,.52) 0%, rgba(123,196,105,.44) 100%) !important;

  clip-path: polygon(14% 0, 100% 7%, 87% 96%, 0 77%) !important;

  filter: blur(.2px) !important;
}

body.home .pl-home-faq-v1__house-bg {
  position: absolute !important;
  z-index: 1 !important;

  right: -40px !important;
  top: 96px !important;

  width: 560px !important;
  height: 600px !important;

  overflow: hidden !important;
  opacity: .36 !important;
}

body.home .pl-home-faq-v1__house-bg::before {
  content: "" !important;

  position: absolute !important;
  inset: 0 !important;

  background:
    linear-gradient(180deg, rgba(255,255,255,.10) 0%, rgba(255,255,255,.72) 100%) !important;

  z-index: 2 !important;
}

body.home .pl-home-faq-v1__house-bg img {
  display: block !important;

  width: 100% !important;
  height: 100% !important;

  object-fit: cover !important;
  object-position: center center !important;
}

body.home .pl-home-faq-v1__staff {
  position: absolute !important;
  z-index: 3 !important;

  left: 0 !important;
  bottom: 0 !important;

  width: 540px !important;
  max-width: none !important;
}

body.home .pl-home-faq-v1__staff img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

body.home .pl-home-faq-v1__speech {
  position: absolute !important;
  z-index: 4 !important;

  right: 10px !important;
  top: 132px !important;

  width: 238px !important;
  min-height: 182px !important;

  padding: 26px 22px !important;

  color: #121212 !important;
  background: #fff !important;

  border: 4px solid #204c37 !important;
  border-radius: 50% !important;

  box-shadow: 0 8px 18px rgba(29, 79, 44, .06) !important;

  font-size: 25px !important;
  font-weight: 900 !important;
  line-height: 1.45 !important;
  text-align: center !important;
}

body.home .pl-home-faq-v1__speech::before {
  content: "" !important;

  position: absolute !important;
  left: 14px !important;
  bottom: 24px !important;

  width: 28px !important;
  height: 28px !important;

  background: #fff !important;

  border-left: 4px solid #204c37 !important;
  border-bottom: 4px solid #204c37 !important;

  transform: rotate(25deg) skew(-8deg) !important;
}

body.home .pl-home-faq-v1__speech::after {
  content: "" !important;

  position: absolute !important;
  right: 8px !important;
  top: -22px !important;

  width: 48px !important;
  height: 26px !important;

  border-top: 7px solid #ff7f1d !important;
  border-right: 7px solid #ff7f1d !important;

  border-radius: 0 20px 0 0 !important;

  transform: rotate(14deg) !important;
}


/* =========================================================
   下部CTA
========================================================= */

body.home .pl-home-faq-v1__cta {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 650px !important;
  align-items: center !important;

  gap: 26px !important;

  margin-top: 22px !important;
  padding: 14px 22px 14px 26px !important;

  background: linear-gradient(90deg, #4aa95a 0%, #79c347 100%) !important;

  border-radius: 22px !important;

  box-shadow: 0 12px 24px rgba(75, 146, 67, .14) !important;
}

body.home .pl-home-faq-v1__cta-text {
  display: flex !important;
  align-items: center !important;

  gap: 20px !important;
}

body.home .pl-home-faq-v1__mail {
  flex: 0 0 58px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 58px !important;
  height: 58px !important;

  color: #fff !important;
}

body.home .pl-home-faq-v1__mail svg {
  display: block !important;

  width: 52px !important;
  height: 52px !important;
}

body.home .pl-home-faq-v1__cta-text p {
  margin: 0 !important;

  color: #fff !important;

  font-size: 26px !important;
  font-weight: 800 !important;
  line-height: 1.5 !important;
}

body.home .pl-home-faq-v1__cta-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 110px !important;

  padding: 16px 24px !important;

  color: #fff !important;
  background: linear-gradient(180deg, #ff951f 0%, #ff7a09 100%) !important;

  border: 4px solid rgba(255,255,255,.9) !important;
  border-radius: 999px !important;

  box-shadow: 0 10px 20px rgba(235, 118, 20, .20) !important;

  text-decoration: none !important;
}

body.home .pl-home-faq-v1__cta-button span {
  color: #fff !important;

  font-size: 34px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
}

body.home .pl-home-faq-v1__cta-button b {
  margin-left: 18px !important;

  color: #fff !important;

  font-family: Arial, sans-serif !important;
  font-size: 64px !important;
  font-weight: 400 !important;
  line-height: .9 !important;
}


/* =========================================================
   タブレット
========================================================= */

@media screen and (max-width: 1180px) {

  body.home .pl-home-faq-v1__layout {
    grid-template-columns: 1fr !important;
  }

  body.home .pl-home-faq-v1__faq {
    padding-right: 0 !important;
  }

  body.home .pl-home-faq-v1__visual {
    min-height: 620px !important;
    margin-left: 0 !important;
  }

  body.home .pl-home-faq-v1__brush {
    left: 50% !important;
    top: 20px !important;

    width: 460px !important;
    height: 520px !important;

    transform: translateX(-42%) !important;
  }

  body.home .pl-home-faq-v1__house-bg {
    right: 50% !important;
    top: 62px !important;

    width: 470px !important;
    height: 450px !important;

    transform: translateX(40%) !important;
  }

  body.home .pl-home-faq-v1__staff {
    left: 50% !important;
    width: 400px !important;

    transform: translateX(-50%) !important;
  }

  body.home .pl-home-faq-v1__speech {
    right: calc(50% - 250px) !important;
    top: 84px !important;

    width: 200px !important;
    min-height: 162px !important;

    font-size: 22px !important;
  }

  body.home .pl-home-faq-v1__cta {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  body.home .pl-home-faq-v1__cta-button {
    min-height: 90px !important;
  }

}


/* =========================================================
   スマホ
========================================================= */

@media screen and (max-width: 767px) {

  body.home .pl-home-faq-v1 {
    padding: 46px 14px 54px !important;
  }

  body.home .pl-home-faq-v1__heading {
    margin-bottom: 22px !important;
  }

  body.home .pl-home-faq-v1__badge {
    min-width: 92px !important;
    min-height: 40px !important;

    margin-bottom: 12px !important;

    padding: 7px 18px !important;

    font-size: 18px !important;
  }

  body.home .pl-home-faq-v1__heading h2 {
    font-size: 42px !important;
    line-height: 1.15 !important;
  }

  body.home .pl-home-faq-v1__lead {
    margin-top: 12px !important;

    font-size: 18px !important;
    line-height: 1.65 !important;
  }

  body.home .pl-home-faq-v1__pc {
    display: none !important;
  }

  /* FAQ */
  body.home .pl-home-faq-v1__item {
    margin-bottom: 10px !important;
    border-radius: 12px !important;
  }

  body.home .pl-home-faq-v1__item summary {
    gap: 12px !important;

    min-height: 76px !important;

    padding: 14px 16px !important;
  }

  body.home .pl-home-faq-v1__q {
    flex-basis: 36px !important;

    width: 36px !important;
    height: 36px !important;

    font-size: 24px !important;
  }

  body.home .pl-home-faq-v1__question {
    font-size: 18px !important;
    line-height: 1.45 !important;
  }

  body.home .pl-home-faq-v1__arrow {
    flex-basis: 18px !important;

    width: 18px !important;
    height: 18px !important;

    margin-left: 4px !important;
  }

  body.home .pl-home-faq-v1__arrow::before,
  body.home .pl-home-faq-v1__arrow::after {
    top: 8px !important;
    width: 11px !important;
    height: 2px !important;
  }

  body.home .pl-home-faq-v1__answer {
    padding: 0 16px 18px 64px !important;
  }

  body.home .pl-home-faq-v1__answer p {
    font-size: 15px !important;
    line-height: 1.8 !important;
  }

  /* 右ビジュアル */
  body.home .pl-home-faq-v1__visual {
    min-height: 342px !important;
    margin-top: 10px !important;
  }

  body.home .pl-home-faq-v1__brush {
    left: 50% !important;
    top: 10px !important;

    width: 278px !important;
    height: 260px !important;

    transform: translateX(-40%) !important;
  }

  body.home .pl-home-faq-v1__house-bg {
    right: 50% !important;
    top: 42px !important;

    width: 320px !important;
    height: 230px !important;

    transform: translateX(40%) !important;

    opacity: .38 !important;
  }

  body.home .pl-home-faq-v1__staff {
    left: 50% !important;
    width: 250px !important;
    bottom: -2px !important;

    transform: translateX(-50%) !important;
  }

  body.home .pl-home-faq-v1__speech {
    right: calc(50% - 160px) !important;
    top: 26px !important;

    width: 138px !important;
    min-height: 102px !important;

    padding: 16px 10px !important;

    border-width: 3px !important;

    font-size: 14px !important;
    line-height: 1.5 !important;
  }

  body.home .pl-home-faq-v1__speech::before {
    left: 8px !important;
    bottom: 15px !important;

    width: 16px !important;
    height: 16px !important;

    border-left-width: 3px !important;
    border-bottom-width: 3px !important;
  }

  body.home .pl-home-faq-v1__speech::after {
    right: 3px !important;
    top: -12px !important;

    width: 26px !important;
    height: 15px !important;

    border-top-width: 4px !important;
    border-right-width: 4px !important;
  }

  /* CTA */
  body.home .pl-home-faq-v1__cta {
    gap: 14px !important;

    margin-top: 4px !important;
    padding: 16px 16px 18px !important;

    border-radius: 18px !important;
  }

  body.home .pl-home-faq-v1__cta-text {
    gap: 12px !important;
  }

  body.home .pl-home-faq-v1__mail {
    flex-basis: 38px !important;

    width: 38px !important;
    height: 38px !important;
  }

  body.home .pl-home-faq-v1__mail svg {
    width: 34px !important;
    height: 34px !important;
  }

  body.home .pl-home-faq-v1__cta-text p {
    font-size: 17px !important;
    line-height: 1.65 !important;
  }

  body.home .pl-home-faq-v1__cta-button {
    min-height: 66px !important;

    padding: 10px 16px !important;

    border-width: 3px !important;
  }

  body.home .pl-home-faq-v1__cta-button span {
    font-size: 18px !important;
  }

  body.home .pl-home-faq-v1__cta-button b {
    margin-left: 10px !important;
    font-size: 42px !important;
  }

}
/* =========================================================
   ペイントリーフ大阪 / 施工事例固定ページ v3
   page-id-21
   既存CSSと衝突しにくいよう .plw3 配下だけで完結
========================================================= */

.plw3,
.plw3 * {
  box-sizing: border-box;
}

.plw3 {
  --green: #07833f;
  --green-dark: #075d34;
  --green-soft: #edf8f0;
  --blue: #1687cf;
  --orange: #ff8617;
  --ink: #17232d;
  --muted: #5a6670;
  --line: #e2e8e4;
  --white: #fff;

  width: 100%;
  margin: 0;
  color: var(--ink);
  font-family:
    -apple-system, BlinkMacSystemFont, "Segoe UI",
    "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
}

.plw3 img {
  display: block;
  max-width: 100%;
  height: auto;
}

.plw3 a {
  color: inherit;
  text-decoration: none;
}

.plw3 button {
  font: inherit;
}

/* ---------- HERO ---------- */

.plw3-hero {
  width: 100%;
  overflow: hidden;
  background: #f4f8f5;
}

.plw3-hero img {
  width: 100%;
  height: auto;
}

/* ---------- INTRO ---------- */

.plw3-intro {
  max-width: 1320px;
  margin: 0 auto;
  padding: 58px 28px 34px;
  text-align: center;
}

.plw3-intro__en {
  margin: 0 0 8px;
  color: var(--green);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: .18em;
}

.plw3-intro h1 {
  margin: 0;
  font-size: clamp(30px, 3.1vw, 48px);
  line-height: 1.35;
  font-weight: 800;
  letter-spacing: .02em;
}

.plw3-intro__lead {
  margin: 22px auto 0;
  max-width: 930px;
  font-size: 17px;
  line-height: 2;
  font-weight: 600;
}

.plw3-intro__note {
  margin: 14px auto 0;
  max-width: 1000px;
  color: #6c7479;
  font-size: 13px;
  line-height: 1.8;
}

/* ---------- FILTER ---------- */

.plw3-filter {
  padding: 8px 24px 26px;
}

.plw3-filter__inner {
  max-width: 1080px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}

.plw3-filter button {
  min-width: 132px;
  min-height: 48px;
  padding: 11px 22px;
  border: 1px solid #dbe3de;
  border-radius: 999px;
  background: #fff;
  color: #233039;
  box-shadow: 0 3px 10px rgba(0,0,0,.06);
  cursor: pointer;
  font-size: 15px;
  font-weight: 800;
  transition: .2s ease;
}

.plw3-filter button small {
  margin-left: 3px;
  font-size: 12px;
  font-weight: 700;
}

.plw3-filter button:hover,
.plw3-filter button.is-active {
  border-color: var(--green);
  background: var(--green);
  color: #fff;
  box-shadow: 0 5px 14px rgba(7,131,63,.18);
}

/* ---------- ARCHIVE ---------- */

.plw3-archive {
  max-width: 1420px;
  margin: 0 auto;
  padding: 28px 28px 78px;
}

.plw3-section-head {
  text-align: center;
  margin-bottom: 28px;
}

.plw3-section-head > p {
  margin: 0 0 5px;
  color: var(--green);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .16em;
}

.plw3-section-head h2 {
  margin: 0;
  font-size: clamp(26px, 2.4vw, 38px);
  line-height: 1.45;
}

.plw3-section-head > span {
  display: inline-block;
  margin-top: 10px;
  color: #66717a;
  font-size: 14px;
}

.plw3-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.plw3-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #e2e7e4;
  border-radius: 11px;
  background: #fff;
  box-shadow: 0 4px 16px rgba(32,52,41,.07);
}

.plw3-card.is-hidden {
  display: none !important;
}

.plw3-card__visual {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #edf1ee;
}

.plw3-card__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.plw3-card__kind {
  position: absolute;
  left: 0;
  bottom: 0;
  display: inline-flex;
  align-items: center;
  min-height: 33px;
  padding: 7px 13px;
  border-radius: 0 8px 0 0;
  background: var(--green);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
}

.plw3-card--wall-roof .plw3-card__kind {
  background: #0877ba;
}

.plw3-card--cover .plw3-card__kind {
  background: #c98518;
}

.plw3-card__body {
  padding: 15px 16px 17px;
}

.plw3-card__topline {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.plw3-card__no {
  color: #24313a;
  font-size: 14px;
  font-weight: 800;
}

.plw3-card__area {
  position: relative;
  padding-left: 18px;
  color: #40515a;
  font-size: 13px;
  font-weight: 800;
}

.plw3-card__area::before {
  content: "";
  position: absolute;
  left: 1px;
  top: 50%;
  width: 9px;
  height: 9px;
  border-radius: 50% 50% 50% 0;
  background: var(--green);
  transform: translateY(-62%) rotate(-45deg);
}

.plw3-card--higashi .plw3-card__area::before {
  background: var(--blue);
}

.plw3-card__body h3 {
  min-height: 50px;
  margin: 0 0 13px;
  font-size: 17px;
  line-height: 1.55;
  font-weight: 800;
}

.plw3-card__meta {
  margin: 0;
}

.plw3-card__meta > div {
  display: grid;
  grid-template-columns: 76px 1fr;
  align-items: baseline;
  gap: 8px;
  padding: 7px 0;
  border-top: 1px solid #edf0ee;
}

.plw3-card__meta dt {
  margin: 0;
  color: #68737a;
  font-size: 13px;
  font-weight: 700;
}

.plw3-card__meta dd {
  margin: 0;
  color: #26333b;
  font-size: 14px;
  font-weight: 700;
}

.plw3-card__meta dd strong {
  margin-right: 3px;
  color: var(--green);
  font-size: 24px;
  line-height: 1;
}

.plw3-more-wrap {
  display: flex;
  justify-content: center;
  margin-top: 32px;
}

.plw3-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  min-width: 300px;
  min-height: 54px;
  padding: 13px 28px;
  border: 1px solid #d3ddd7;
  border-radius: 999px;
  background: #f3faf5;
  color: #17412b;
  cursor: pointer;
  font-weight: 800;
}

.plw3-more b {
  color: var(--green);
  font-size: 22px;
}

/* ---------- POINTS ---------- */

.plw3-points {
  padding: 0 28px 38px;
}

.plw3-points__inner {
  position: relative;
  max-width: 1420px;
  min-height: 250px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 280px minmax(0,1fr) 260px;
  align-items: end;
  gap: 24px;
  overflow: hidden;
  border: 1px solid #e2efe5;
  border-radius: 18px;
  background:
    linear-gradient(90deg, #f5fff7 0%, #eefaf1 54%, #f8fff9 100%);
}

.plw3-points__staff {
  position: relative;
  min-height: 248px;
}

.plw3-points__staff img {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 245px;
  max-height: 245px;
  object-fit: contain;
  object-position: left bottom;
}

.plw3-points__staff p {
  position: absolute;
  left: 25px;
  top: 30px;
  z-index: 2;
  margin: 0;
  color: #0d6c39;
  font-size: 13px;
  line-height: 1.55;
  font-weight: 700;
  transform: rotate(-8deg);
}

.plw3-points__staff p strong {
  font-size: 16px;
}

.plw3-points__body {
  align-self: center;
  padding: 34px 0;
}

.plw3-points__heading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

.plw3-points__heading > span {
  display: inline-grid;
  place-items: center;
  width: 35px;
  height: 35px;
  border: 2px solid var(--green);
  border-radius: 50%;
  color: var(--green);
  font-weight: 900;
}

.plw3-points__heading h2 {
  margin: 0;
  color: var(--green);
  font-size: clamp(24px, 2vw, 34px);
  line-height: 1.45;
}

.plw3-points__lead {
  margin: 15px auto 18px;
  max-width: 760px;
  font-size: 15px;
  line-height: 1.8;
}

.plw3-points__checks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 10px;
}

.plw3-points__checks span {
  position: relative;
  min-height: 46px;
  display: flex;
  align-items: center;
  padding: 10px 14px 10px 47px;
  border: 1px solid #dfeae2;
  border-radius: 7px;
  background: rgba(255,255,255,.88);
  font-size: 14px;
  font-weight: 800;
}

.plw3-points__checks span::before {
  content: "✓";
  position: absolute;
  left: 14px;
  top: 50%;
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 3px;
  background: var(--green);
  color: #fff;
  font-size: 15px;
  transform: translateY(-50%);
}

.plw3-points__painting {
  align-self: center;
  padding-right: 20px;
}

.plw3-points__painting img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 10px;
}

/* ---------- LOCAL ---------- */

.plw3-local {
  max-width: 1420px;
  margin: 0 auto;
  padding: 0 28px 34px;
}

.plw3-local__heading {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 18px;
  padding: 0 14px;
}

.plw3-local__pin {
  position: relative;
  flex: 0 0 auto;
  width: 31px;
  height: 31px;
  border-radius: 50% 50% 50% 0;
  background: var(--green);
  transform: rotate(-45deg);
}

.plw3-local__pin::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #fff;
  transform: translate(-50%,-50%);
}

.plw3-local__heading h2 {
  margin: 0;
  font-size: 28px;
  line-height: 1.4;
}

.plw3-local__heading p {
  margin: 5px 0 0;
  color: #5f6c73;
  font-size: 14px;
}

.plw3-local__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 18px;
}

.plw3-local__card {
  position: relative;
  min-height: 150px;
  overflow: hidden;
  border-radius: 14px;
  box-shadow: 0 5px 16px rgba(0,0,0,.09);
}

.plw3-local__card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.plw3-local__card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,.32), rgba(0,0,0,.05));
}

.plw3-local__card span {
  position: absolute;
  left: 28px;
  right: 70px;
  bottom: 22px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  min-height: 45px;
  padding: 10px 18px;
  border-radius: 999px;
  background: rgba(255,255,255,.94);
  color: #173627;
  font-size: 17px;
  font-weight: 800;
}

.plw3-local__card b {
  position: absolute;
  right: 24px;
  bottom: 31px;
  z-index: 3;
  color: var(--green);
  font-size: 28px;
  line-height: 1;
}

/* ---------- CTA ---------- */

.plw3-cta {
  position: relative;
  max-width: 1420px;
  min-height: 190px;
  margin: 0 auto 72px;
  overflow: hidden;
  border-radius: 18px;
}

.plw3-cta__bg,
.plw3-cta__overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.plw3-cta__bg {
  object-fit: cover;
}

.plw3-cta__overlay {
  background: linear-gradient(
    90deg,
    rgba(247,255,248,.98) 0%,
    rgba(247,255,248,.93) 48%,
    rgba(247,255,248,.28) 73%,
    rgba(247,255,248,.08) 100%
  );
}

.plw3-cta__inner {
  position: relative;
  z-index: 2;
  min-height: 190px;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 30px;
  padding: 30px 50px;
}

.plw3-cta__copy > span {
  display: inline-block;
  margin-bottom: 9px;
  padding: 7px 16px;
  border-radius: 999px;
  background: var(--green);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
}

.plw3-cta__copy h2 {
  margin: 0;
  font-size: clamp(29px, 2.5vw, 42px);
  line-height: 1.35;
}

.plw3-cta__copy h2 span {
  color: var(--green);
}

.plw3-cta__copy p {
  margin: 8px 0 0;
  font-size: 14px;
  font-weight: 600;
}

.plw3-cta__button {
  min-width: 340px;
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  padding: 16px 26px;
  border: 4px solid #fff;
  border-radius: 999px;
  background: var(--orange);
  color: #fff !important;
  box-shadow: 0 5px 14px rgba(0,0,0,.11);
}

.plw3-cta__button > span {
  font-size: 26px;
}

.plw3-cta__button strong {
  font-size: 19px;
}

.plw3-cta__button b {
  font-size: 28px;
}

/* ---------- RESPONSIVE ---------- */

.plw3-sp {
  display: none;
}

@media (max-width: 1100px) {
  .plw3-grid {
    grid-template-columns: repeat(3, minmax(0,1fr));
  }

  .plw3-points__inner {
    grid-template-columns: 230px minmax(0,1fr);
  }

  .plw3-points__painting {
    display: none;
  }

  .plw3-cta__inner {
    padding: 30px;
  }

  .plw3-cta__button {
    min-width: 300px;
  }
}

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

  .plw3-points__inner {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .plw3-points__staff {
    min-height: 210px;
  }

  .plw3-points__staff img {
    left: 50%;
    width: 220px;
    transform: translateX(-50%);
  }

  .plw3-points__staff p {
    left: calc(50% - 190px);
    top: 32px;
  }

  .plw3-points__body {
    padding: 10px 24px 30px;
  }

  .plw3-local__grid {
    grid-template-columns: 1fr;
  }

  .plw3-cta__inner {
    grid-template-columns: 1fr;
  }

  .plw3-cta__button {
    min-width: 0;
    width: 100%;
    max-width: 430px;
  }
}

@media (max-width: 640px) {
  .plw3-pc {
    display: none;
  }

  .plw3-sp {
    display: inline;
  }

  .plw3-intro {
    padding: 38px 18px 24px;
  }

  .plw3-intro__en {
    font-size: 13px;
  }

  .plw3-intro h1 {
    font-size: 28px;
  }

  .plw3-intro__lead {
    margin-top: 16px;
    font-size: 16px;
    line-height: 1.85;
  }

  .plw3-intro__note {
    font-size: 12px;
    text-align: left;
  }

  .plw3-filter {
    padding: 4px 0 20px;
    overflow: hidden;
  }

  .plw3-filter__inner {
    justify-content: flex-start;
    gap: 8px;
    padding: 0 16px 6px;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .plw3-filter__inner::-webkit-scrollbar {
    display: none;
  }

  .plw3-filter button {
    flex: 0 0 auto;
    min-width: auto;
    min-height: 44px;
    padding: 10px 17px;
    font-size: 14px;
  }

  .plw3-archive {
    padding: 24px 15px 56px;
  }

  .plw3-section-head {
    margin-bottom: 20px;
  }

  .plw3-section-head h2 {
    font-size: 27px;
  }

  .plw3-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .plw3-card__visual {
    aspect-ratio: 16 / 10;
  }

  .plw3-card__body {
    padding: 14px 15px 16px;
  }

  .plw3-card__body h3 {
    min-height: 0;
    font-size: 17px;
  }

  .plw3-card__meta > div {
    grid-template-columns: 86px 1fr;
  }

  .plw3-more {
    width: 100%;
    min-width: 0;
  }

  .plw3-points {
    padding: 0 15px 28px;
  }

  .plw3-points__inner {
    border-radius: 14px;
  }

  .plw3-points__staff {
    min-height: 220px;
  }

  .plw3-points__staff p {
    left: 22px;
    top: 28px;
  }

  .plw3-points__body {
    padding: 0 18px 24px;
  }

  .plw3-points__heading {
    justify-content: flex-start;
  }

  .plw3-points__heading h2 {
    font-size: 24px;
  }

  .plw3-points__lead {
    font-size: 15px;
  }

  .plw3-points__checks {
    grid-template-columns: 1fr;
  }

  .plw3-local {
    padding: 0 15px 28px;
  }

  .plw3-local__heading {
    padding: 0 4px;
  }

  .plw3-local__heading h2 {
    font-size: 24px;
  }

  .plw3-local__card {
    min-height: 135px;
  }

  .plw3-local__card span {
    left: 16px;
    right: 52px;
    bottom: 16px;
    min-height: 42px;
    padding: 9px 13px;
    font-size: 15px;
  }

  .plw3-local__card b {
    right: 17px;
    bottom: 24px;
  }

  .plw3-cta {
    margin: 0 15px 48px;
    border-radius: 14px;
  }

  .plw3-cta__overlay {
    background: rgba(247,255,248,.88);
  }

  .plw3-cta__inner {
    min-height: 0;
    padding: 28px 18px;
    gap: 22px;
  }

  .plw3-cta__copy > span {
    font-size: 12px;
  }

  .plw3-cta__copy h2 {
    font-size: 28px;
  }

  .plw3-cta__copy p {
    font-size: 14px;
    line-height: 1.7;
  }

  .plw3-cta__button {
    min-height: 66px;
    border-width: 3px;
  }

  .plw3-cta__button strong {
    font-size: 17px;
  }
}


/* =========================================================
 ペイントリーフ大阪 / 施工事例ページ v10
 見本デザイン忠実再現版
========================================================= */

.plworks10,
.plworks10 *{box-sizing:border-box}

.plworks10{
  --green:#0a8a4b;
  --green-dark:#07653a;
  --green-soft:#eff9f2;
  --blue:#1679bf;
  --orange:#ff8616;
  --ink:#14212a;
  --muted:#68737a;
  --line:#dfe7e2;
  width:100%;
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
}

.plworks10 img{display:block;max-width:100%;height:auto}
.plworks10 a{color:inherit;text-decoration:none}
.plworks10 button{font:inherit}

/* Cocoon干渉リセット */
.entry-content .plworks10 h1,
.entry-content .plworks10 h2,
.entry-content .plworks10 h3,
.article .plworks10 h1,
.article .plworks10 h2,
.article .plworks10 h3{
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

.entry-content .plworks10 h1::before,
.entry-content .plworks10 h1::after,
.entry-content .plworks10 h2::before,
.entry-content .plworks10 h2::after,
.article .plworks10 h1::before,
.article .plworks10 h1::after,
.article .plworks10 h2::before,
.article .plworks10 h2::after{
  display:none!important;
  content:none!important;
}

/* HERO */
.plworks10-sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.plworks10-hero{
  position:relative;
  width:100%;
  margin:0;
  overflow:hidden;
  aspect-ratio:3.38 / 1;
  background:#fff;
}

.plworks10-hero::before,
.plworks10-hero::after{
  display:none!important;
  content:none!important;
  opacity:0!important;
  background:none!important;
}

.plworks10-hero img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  opacity:1!important;
  filter:none!important;
  mix-blend-mode:normal!important;
  transform:none!important;
}

/* STATS */
.plworks10-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:14px 0 16px;
}

.plworks10-stat{
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:14px 18px;
  border-radius:8px;
  background:linear-gradient(90deg,#f4faf5,#f8fbf9);
}

.plworks10-stat>span:not(.plworks10-stat__icon){
  font-size:14px;
  font-weight:800;
}

.plworks10-stat strong{
  margin-left:auto;
  color:var(--green-dark);
  font-size:33px;
  line-height:1;
}

.plworks10-stat small{
  font-size:14px;
  font-weight:900;
}

.plworks10-stat__icon{
  position:relative;
  flex:0 0 26px;
  width:26px;
  height:26px;
  color:var(--green);
}

.plworks10-stat__icon--pin{
  border-radius:50% 50% 50% 0;
  background:currentColor;
  transform:rotate(-45deg);
}

.plworks10-stat__icon--pin::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#fff;
  transform:translate(-50%,-50%);
}

.plworks10-stat__icon--home::before{
  content:"";
  position:absolute;
  left:3px;
  bottom:3px;
  width:20px;
  height:15px;
  background:currentColor;
}

.plworks10-stat__icon--home::after{
  content:"";
  position:absolute;
  left:3px;
  top:2px;
  width:18px;
  height:18px;
  background:currentColor;
  transform:rotate(45deg);
}

/* FILTER */
.plworks10-filter{
  display:grid;
  grid-template-columns:180px 1fr 1px 1.2fr;
  align-items:center;
  gap:20px;
  margin-bottom:26px;
  padding:17px 20px;
  border-radius:9px;
  background:linear-gradient(90deg,#eef9f2,#f7fbf8);
}

.plworks10-filter__title{
  display:flex;
  align-items:center;
  gap:16px;
  color:#0b6f3e;
}

.plworks10-filter__title>div{
  font-size:22px;
  line-height:1.35;
  font-weight:900;
}

.plworks10-filter__search{
  position:relative;
  flex:0 0 32px;
  width:32px;
  height:32px;
  border:4px solid var(--green);
  border-radius:50%;
}

.plworks10-filter__search::after{
  content:"";
  position:absolute;
  right:-10px;
  bottom:-6px;
  width:14px;
  height:4px;
  border-radius:2px;
  background:var(--green);
  transform:rotate(45deg);
}

.plworks10-filter__group p{
  margin:0 0 8px;
  font-size:12px;
  font-weight:900;
}

.plworks10-filter__buttons{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}

.plworks10-filter button{
  min-height:38px;
  padding:7px 12px;
  border:1px solid #dbe5df;
  border-radius:999px;
  background:#fff;
  color:#26343b;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
  cursor:pointer;
}

.plworks10-filter button small{
  color:#7a858b;
  font-size:10px;
}

.plworks10-filter button.is-active{
  border-color:var(--green);
  background:var(--green);
  color:#fff;
}

.plworks10-filter button.is-active small{color:#fff}

.plworks10-filter__divider{
  width:1px;
  height:58px;
  background:#a9c9b5;
}

/* CASES */
.plworks10-cases{padding:0 0 28px}

.plworks10-cases__head{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:end;
  gap:26px;
  margin-bottom:14px;
}

.plworks10-cases__head>div{
  display:flex;
  align-items:baseline;
  gap:18px;
  white-space:nowrap;
}

.plworks10-cases__head h2{
  font-size:28px!important;
  font-weight:900!important;
}

.plworks10-cases__head>div p{
  margin:0;
  color:#758087;
  font-size:12px;
}

.plworks10-cases__seo{
  margin:0;
  color:#667279;
  font-size:12px;
  line-height:1.7;
}

.plworks10-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}

.plworks10-card{
  overflow:hidden;
  border:1px solid #e0e5e2;
  border-radius:8px;
  background:#fff;
  box-shadow:0 2px 7px rgba(0,0,0,.04);
}

.plworks10-card[hidden]{display:none!important}

.plworks10-card__photo{
  aspect-ratio:1.45/1;
  overflow:hidden;
  background:#edf1ee;
}

.plworks10-card__photo img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.plworks10-card__body{
  padding:11px 12px 12px;
}

.plworks10-card__location{
  display:flex;
  align-items:center;
  gap:6px;
  margin-bottom:6px;
  color:var(--green);
  font-size:11px;
}

.plworks10-card__pin{
  position:relative;
  width:14px;
  height:14px;
  border-radius:50% 50% 50% 0;
  background:currentColor;
  transform:rotate(-45deg);
}

.plworks10-card__pin::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:4px;
  height:4px;
  border-radius:50%;
  background:#fff;
  transform:translate(-50%,-50%);
}

.plworks10-card__location strong{
  font-size:12px;
}

.plworks10-card__location small{
  margin-left:auto;
  color:#879197;
  font-size:10px;
  font-weight:700;
}

.plworks10-card__title{
  min-height:42px;
  padding-bottom:8px;
  border-bottom:1px solid #edf0ee;
  font-size:14px;
  line-height:1.45;
  font-weight:900;
}

.plworks10-card__spec{
  display:grid;
  grid-template-columns:72px 58px minmax(0,1fr);
  margin:8px 0 0;
}

.plworks10-card__spec>div{
  min-width:0;
  padding:0 7px;
  border-left:1px solid #edf0ee;
}

.plworks10-card__spec>div:first-child{
  padding-left:0;
  border-left:0;
}

.plworks10-card__spec dt{
  margin:0 0 4px;
  color:#6d787e;
  font-size:9px;
  font-weight:700;
}

.plworks10-card__spec dd{
  margin:0;
  color:#17242c;
  font-size:10px;
  line-height:1.45;
  font-weight:700;
}

.plworks10-card__spec dd strong{
  font-size:19px;
  line-height:1;
  font-weight:900;
}

.plworks10-card__spec dd span{
  margin-left:2px;
  font-size:10px;
}

.plworks10-card__paint dd{
  font-size:9px;
}

.plworks10-more-wrap{
  display:flex;
  justify-content:center;
  padding:22px 0 10px;
}

.plworks10-more{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  min-width:340px;
  min-height:46px;
  padding:9px 24px;
  border:1px solid var(--green);
  border-radius:999px;
  background:#fff;
  color:var(--green-dark);
  font-size:13px;
  font-weight:900;
  cursor:pointer;
}

.plworks10-more b{font-size:19px}

/* POINTS */
.plworks10-points{
  display:grid;
  grid-template-columns:230px minmax(0,1fr) 250px;
  align-items:stretch;
  gap:24px;
  min-height:245px;
  margin:18px 0 20px;
  overflow:hidden;
  border:1px solid #dfece3;
  border-radius:10px;
  background:linear-gradient(90deg,#f5fff7 0%,#edf8f0 58%,#f8fcf9 100%);
}

.plworks10-points__person{
  position:relative;
  overflow:hidden;
}

.plworks10-points__person img{
  position:absolute;
  left:50%;
  bottom:0;
  width:210px;
  max-height:235px;
  object-fit:contain;
  transform:translateX(-50%);
}

.plworks10-points__content{
  align-self:center;
  padding:26px 0 22px;
}

.plworks10-points__label{
  display:inline-block;
  margin-bottom:7px;
  padding:5px 12px;
  border-radius:2px;
  background:var(--green);
  color:#fff;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
}

.plworks10-points h2{
  font-size:27px!important;
  line-height:1.35!important;
  font-weight:900!important;
}

.plworks10-points h2 span{color:var(--green)}

.plworks10-points__content>p{
  margin:9px 0 12px;
  color:#445159;
  font-size:12px;
  line-height:1.7;
  font-weight:600;
}

.plworks10-points__checks{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 10px;
}

.plworks10-points__checks span{
  position:relative;
  display:flex;
  align-items:center;
  min-height:36px;
  padding:7px 10px 7px 38px;
  border:1px solid #dfe7e2;
  border-radius:5px;
  background:#fff;
  color:#274333;
  font-size:11px;
  font-weight:900;
}

.plworks10-points__checks span::before{
  content:"✓";
  position:absolute;
  left:10px;
  top:50%;
  display:grid;
  place-items:center;
  width:19px;
  height:19px;
  border-radius:3px;
  background:var(--green);
  color:#fff;
  transform:translateY(-50%);
}

.plworks10-points__paint{
  display:flex;
  align-items:center;
  padding-right:16px;
}

.plworks10-points__paint img{
  width:100%;
  aspect-ratio:1.2/1;
  object-fit:cover;
  border-radius:8px;
}

/* LOCAL */
.plworks10-local{margin:0 0 18px}

.plworks10-local__head{
  display:flex;
  align-items:end;
  gap:18px;
  margin-bottom:12px;
}

.plworks10-local__head p{
  margin:0 0 2px;
  color:var(--green);
  font-size:10px;
  font-weight:900;
  letter-spacing:.16em;
}

.plworks10-local__head h2{
  font-size:27px!important;
  font-weight:900!important;
}

.plworks10-local__head>span{
  padding-bottom:3px;
  color:#758087;
  font-size:11px;
}

.plworks10-local__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.plworks10-local__card{
  position:relative;
  min-height:120px;
  overflow:hidden;
  border-radius:8px;
}

.plworks10-local__card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.plworks10-local__card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(255,255,255,.12),rgba(255,255,255,0));
}

.plworks10-local__overlay{
  position:absolute;
  left:16px;
  bottom:14px;
  z-index:2;
  min-width:240px;
  padding:10px 54px 9px 18px;
  border-radius:999px;
  background:rgba(255,255,255,.94);
}

.plworks10-local__overlay strong{
  display:block;
  font-size:15px;
}

.plworks10-local__overlay small{
  display:block;
  margin-top:1px;
  color:var(--green);
  font-size:9px;
  font-weight:900;
  letter-spacing:.14em;
}

.plworks10-local__card>b{
  position:absolute;
  right:18px;
  bottom:17px;
  z-index:3;
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border:3px solid var(--green);
  border-radius:50%;
  background:#fff;
  color:var(--green);
  font-size:26px;
  line-height:1;
}

/* SEO LOCAL COPY */
.plworks10-local-copy{
  margin:20px 0 24px;
  padding:20px 24px;
  border-left:4px solid var(--green);
  background:#f8fbf9;
}

.plworks10-local-copy h2{
  margin-bottom:8px!important;
  font-size:19px!important;
  font-weight:900!important;
}

.plworks10-local-copy p{
  margin:0;
  color:#4f5c63;
  font-size:13px;
  line-height:1.9;
}

/* CTA */
.plworks10-cta{
  position:relative;
  min-height:170px;
  margin-bottom:54px;
  overflow:hidden;
  border-radius:10px;
}

.plworks10-cta__bg,
.plworks10-cta__shade{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

.plworks10-cta__bg{object-fit:cover}

.plworks10-cta__shade{
  background:linear-gradient(90deg,rgba(248,255,249,.97) 0%,rgba(248,255,249,.87) 50%,rgba(248,255,249,.05) 76%);
}

.plworks10-cta__inner{
  position:relative;
  z-index:2;
  min-height:170px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  align-items:center;
  gap:24px;
  padding:22px 34px;
}

.plworks10-cta__copy>span{
  display:inline-block;
  margin-bottom:7px;
  padding:6px 13px;
  border-radius:999px;
  background:var(--green);
  color:#fff;
  font-size:10px;
  font-weight:900;
}

.plworks10-cta h2{
  font-size:32px!important;
  line-height:1.3!important;
  font-weight:900!important;
}

.plworks10-cta h2 span{color:var(--green)}

.plworks10-cta__copy p{
  margin:7px 0 0;
  font-size:12px;
  font-weight:700;
}

.plworks10-cta__button{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  min-height:68px;
  padding:12px 24px;
  border:4px solid #fff;
  border-radius:999px;
  background:var(--orange);
  color:#fff!important;
  box-shadow:0 4px 12px rgba(0,0,0,.1);
}

.plworks10-cta__button strong{font-size:16px}
.plworks10-cta__button b{font-size:27px}

.plworks10-mail{
  position:relative;
  width:25px;
  height:18px;
  border:2px solid currentColor;
  border-radius:2px;
}

.plworks10-mail::before,
.plworks10-mail::after{
  content:"";
  position:absolute;
  top:3px;
  width:13px;
  height:2px;
  background:currentColor;
}

.plworks10-mail::before{left:1px;transform:rotate(34deg);transform-origin:left center}
.plworks10-mail::after{right:1px;transform:rotate(-34deg);transform-origin:right center}

/* TABLET */
@media(max-width:1050px){
  .plworks10-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .plworks10-filter{grid-template-columns:160px 1fr}
  .plworks10-filter__divider{display:none}
  .plworks10-points{grid-template-columns:210px minmax(0,1fr)}
  .plworks10-points__paint{display:none}
  .plworks10-cta__inner{grid-template-columns:minmax(0,1fr) 310px}
}

/* SMARTPHONE */
@media(max-width:700px){
  .plworks10-hero{
    aspect-ratio:2.45 / 1;
  }

  .plworks10-hero img{
    object-position:center center!important;
  }

  .plworks10-pc{display:none}





  .plworks10-main{width:calc(100vw - 24px)}

  .plworks10-stats{
    grid-template-columns:1fr;
    gap:7px;
  }

  .plworks10-stat{
    min-height:58px;
    justify-content:flex-start;
  }

  .plworks10-stat strong{margin-left:auto;font-size:28px}

  .plworks10-filter{
    display:block;
    padding:16px;
  }

  .plworks10-filter__title{
    margin-bottom:15px;
  }

  .plworks10-filter__title>div{
    font-size:20px;
  }

  .plworks10-filter__title br{display:none}

  .plworks10-filter__group{
    margin-top:13px;
  }

  .plworks10-filter__buttons{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:7px;
  }

  .plworks10-filter button{
    min-width:0;
    min-height:43px;
    padding:6px 5px;
    white-space:normal;
    font-size:11px;
    line-height:1.25;
  }

  .plworks10-filter button small{
    display:block;
    margin-top:2px;
    font-size:9px;
  }

  .plworks10-cases__head{
    display:block;
  }

  .plworks10-cases__head>div{
    display:block;
    white-space:normal;
  }

  .plworks10-cases__head h2{font-size:25px!important}
  .plworks10-cases__head>div p{margin-top:4px}
  .plworks10-cases__seo{margin-top:8px}

  .plworks10-grid{
    grid-template-columns:1fr;
    gap:14px;
  }

  .plworks10-card__photo{aspect-ratio:16/10}
  .plworks10-card__title{min-height:0;font-size:16px}

  .plworks10-card__spec{
    grid-template-columns:85px 70px minmax(0,1fr);
  }

  .plworks10-card__spec dt{font-size:10px}
  .plworks10-card__spec dd{font-size:11px}
  .plworks10-card__spec dd strong{font-size:21px}
  .plworks10-card__paint dd{font-size:10px}

  .plworks10-more{width:100%;min-width:0}

  .plworks10-points{
    grid-template-columns:1fr;
    gap:0;
  }

  .plworks10-points__person{
    min-height:210px;
  }

  .plworks10-points__person img{
    width:190px;
    max-height:205px;
  }

  .plworks10-points__content{
    padding:0 16px 20px;
  }

  .plworks10-points h2{
    font-size:23px!important;
  }

  .plworks10-points__content>p{
    font-size:13px;
  }

  .plworks10-points__checks{
    grid-template-columns:1fr;
  }

  .plworks10-local__head{
    display:block;
  }

  .plworks10-local__head h2{font-size:24px!important}

  .plworks10-local__head>span{
    display:block;
    margin-top:5px;
  }

  .plworks10-local__grid{
    grid-template-columns:1fr;
  }

  .plworks10-local__card{min-height:125px}

  .plworks10-local-copy{
    padding:18px 16px;
  }

  .plworks10-local-copy h2{
    font-size:18px!important;
  }

  .plworks10-local-copy p{
    font-size:13px;
  }

  .plworks10-cta{
    min-height:0;
  }

  .plworks10-cta__shade{
    background:rgba(248,255,249,.88);
  }

  .plworks10-cta__inner{
    min-height:0;
    grid-template-columns:1fr;
    padding:24px 16px;
  }

  .plworks10-cta h2{
    font-size:27px!important;
  }

  .plworks10-cta__button{
    width:100%;
    min-height:62px;
  }
}


/* =========================================================
   v11 読みやすさ・スマホヘッダー・上余白 修正版
   HTMLはv10のままでOK
========================================================= */

/* /works/ だけ、Cocoonが入れる上余白を削除 */
.page-id-21 #content,
.page-id-21 .content,
.page-id-21 #main,
.page-id-21 main.main,
.page-id-21 .article,
.page-id-21 .entry-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.page-id-21 .plworks10 {
  margin-top: 0 !important;
}

/* ページ全体：TOPと同程度に濃く、読みやすく */
.plworks10 {
  --ink: #101820;
  --muted: #445159;
  color: var(--ink);
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* PCヘッダー */
.plworks10-hero {
  margin-top: 0 !important;
}

/* 実績 */
.plworks10-stat > span:not(.plworks10-stat__icon) {
  color: #18242b;
  font-size: 15px;
  font-weight: 800;
}

.plworks10-stat small {
  color: #18242b;
  font-size: 15px;
}

/* 絞り込み */
.plworks10-filter__group p {
  color: #243139;
  font-size: 13px;
  font-weight: 900;
}

.plworks10-filter button {
  color: #1c2930;
  font-size: 13px;
  font-weight: 800;
}

.plworks10-filter button small {
  color: #59666d;
  font-size: 11px;
  font-weight: 700;
}

/* 一覧見出し・SEO本文 */
.plworks10-cases__head > div p {
  color: #4b575e;
  font-size: 14px;
  font-weight: 600;
}

.plworks10-cases__seo {
  color: #36434a;
  font-size: 14px;
  line-height: 1.8;
  font-weight: 600;
}

/* カード */
.plworks10-card__location {
  color: var(--green);
  font-size: 12px;
}

.plworks10-card__location strong {
  font-size: 13px;
  font-weight: 900;
}

.plworks10-card__location small {
  color: #5d696f;
  font-size: 11px;
  font-weight: 700;
}

.plworks10-card__title {
  color: #101820;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 900;
}

.plworks10-card__spec dt {
  color: #48555c;
  font-size: 11px;
  font-weight: 800;
}

.plworks10-card__spec dd {
  color: #142129;
  font-size: 12px;
  line-height: 1.55;
  font-weight: 700;
}

.plworks10-card__spec dd strong {
  font-size: 22px;
}

.plworks10-card__spec dd span {
  font-size: 11px;
}

.plworks10-card__paint dd {
  font-size: 11px;
  line-height: 1.55;
}

/* もっと見る */
.plworks10-more {
  font-size: 14px;
  font-weight: 900;
}

/* ポイント */
.plworks10-points__content > p {
  color: #26343b;
  font-size: 14px;
  line-height: 1.8;
  font-weight: 600;
}

.plworks10-points__checks span {
  color: #173624;
  font-size: 13px;
  font-weight: 900;
}

/* 地域 */
.plworks10-local__head > span {
  color: #4a575e;
  font-size: 13px;
  font-weight: 600;
}

.plworks10-local__overlay strong {
  color: #122029;
  font-size: 16px;
}

.plworks10-local__overlay small {
  font-size: 10px;
}

/* SEO本文 */
.plworks10-local-copy h2 {
  color: #111c24;
  font-size: 21px !important;
}

.plworks10-local-copy p {
  color: #344149;
  font-size: 15px;
  line-height: 1.95;
  font-weight: 600;
}

/* CTA */
.plworks10-cta__copy p {
  color: #1f2d35;
  font-size: 14px;
  line-height: 1.7;
  font-weight: 700;
}

.plworks10-cta__button strong {
  font-size: 17px;
}

/* =========================================================
   SMARTPHONE
========================================================= */
@media (max-width: 700px) {

  /* Cocoon上余白をスマホでも完全に削除 */
  .page-id-21 #content,
  .page-id-21 .content,
  .page-id-21 #main,
  .page-id-21 main.main,
  .page-id-21 .article,
  .page-id-21 .entry-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* ヘッダーを小さな横長画像のまま縮小しない。
     左側の文字が読めるように高さを確保してトリミング */
  .plworks10-hero {
    width: 100%;
    height: clamp(220px, 58vw, 285px);
    aspect-ratio: auto !important;
    margin: 0 !important;
  }

  .plworks10-hero img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: 30% center !important;
  }

  .plworks10-main {
    width: calc(100vw - 24px);
  }

  /* 本文の最低文字サイズを引き上げる */
  .plworks10 {
    color: #101820;
    font-size: 16px;
  }

  .plworks10-stat {
    min-height: 64px;
    padding: 13px 15px;
  }

  .plworks10-stat > span:not(.plworks10-stat__icon) {
    font-size: 15px;
  }

  .plworks10-stat strong {
    font-size: 30px;
  }

  .plworks10-stat small {
    font-size: 14px;
  }

  /* 横スクロールなし。3列内に必ず収める */
  .plworks10-filter {
    padding: 17px 14px;
  }

  .plworks10-filter__title > div {
    font-size: 22px;
    line-height: 1.35;
  }

  .plworks10-filter__group p {
    margin-bottom: 8px;
    font-size: 14px;
  }

  .plworks10-filter__buttons {
    width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
    overflow: visible;
  }

  .plworks10-filter button {
    width: 100%;
    min-width: 0;
    min-height: 48px;
    padding: 7px 4px;
    font-size: 13px;
    line-height: 1.25;
    white-space: normal;
  }

  .plworks10-filter button small {
    display: block;
    margin-top: 3px;
    font-size: 10px;
  }

  .plworks10-cases__head h2 {
    font-size: 27px !important;
  }

  .plworks10-cases__head > div p {
    margin-top: 5px;
    font-size: 14px;
  }

  .plworks10-cases__seo {
    margin-top: 10px;
    font-size: 15px;
    line-height: 1.8;
  }

  .plworks10-card__body {
    padding: 14px 14px 15px;
  }

  .plworks10-card__location strong {
    font-size: 14px;
  }

  .plworks10-card__location small {
    font-size: 11px;
  }

  .plworks10-card__title {
    font-size: 17px;
    line-height: 1.5;
  }

  .plworks10-card__spec {
    grid-template-columns: 88px 72px minmax(0, 1fr);
  }

  .plworks10-card__spec dt {
    font-size: 12px;
  }

  .plworks10-card__spec dd {
    font-size: 13px;
  }

  .plworks10-card__spec dd strong {
    font-size: 23px;
  }

  .plworks10-card__spec dd span {
    font-size: 12px;
  }

  .plworks10-card__paint dd {
    font-size: 12px;
    line-height: 1.6;
  }

  .plworks10-more {
    min-height: 52px;
    font-size: 15px;
  }

  .plworks10-points h2 {
    font-size: 25px !important;
    line-height: 1.4 !important;
  }

  .plworks10-points__content > p {
    font-size: 15px;
    line-height: 1.85;
  }

  .plworks10-points__checks span {
    min-height: 43px;
    font-size: 14px;
  }

  .plworks10-local__head h2 {
    font-size: 26px !important;
  }

  .plworks10-local__head > span {
    font-size: 14px;
    line-height: 1.7;
  }

  .plworks10-local__overlay strong {
    font-size: 17px;
  }

  .plworks10-local-copy h2 {
    font-size: 20px !important;
    line-height: 1.55 !important;
  }

  .plworks10-local-copy p {
    font-size: 15px;
    line-height: 1.9;
  }

  .plworks10-cta h2 {
    font-size: 29px !important;
  }

  .plworks10-cta__copy p {
    font-size: 15px;
    line-height: 1.75;
  }

  .plworks10-cta__button strong {
    font-size: 17px;
  }
}


/* =========================================================
   v12 PC/スマホ ヘッダー画像完全切替
========================================================= */

.plworks10-hero{
  width:100% !important;
  height:auto !important;
  aspect-ratio:auto !important;
  margin:0 !important;
  overflow:hidden !important;
  background:#fff !important;
}

.plworks10-hero picture{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}

.plworks10-hero img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-width:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  margin:0 !important;
  padding:0 !important;
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
}

.plworks10-hero::before,
.plworks10-hero::after{
  display:none !important;
  content:none !important;
}

@media (max-width:700px){
  .plworks10-hero{
    width:100% !important;
    height:auto !important;
    aspect-ratio:auto !important;
  }

  .plworks10-hero img{
    width:100% !important;
    height:auto !important;
    object-fit:contain !important;
    object-position:center !important;
  }
}
/* =========================================================
  ペイントリーフ大阪｜選ばれる理由 v2
  承認デザイン準拠
========================================================= */

.plr2-page,
.plr2-page *,
.plr2-page *::before,
.plr2-page *::after {
  box-sizing: border-box;
}

.plr2-page {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  color: #0c1b28;
}

.plr2-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* ---------- HEADER ---------- */

.plr2-header {
  display: block;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  background: #fff;
  overflow: hidden;
}

.plr2-header img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ---------- CONCEPT ---------- */

.plr2-concept {
  position: relative;
  width: 100%;
  min-height: 650px;
  margin: 56px 0 0 !important;
  padding: 0 !important;
  overflow: hidden;
  background: #fff;
  isolation: isolate;
}

/* 右の職人写真をセクション一体型に */
.plr2-concept__photo {
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  width: 50%;
  height: 100%;
  overflow: hidden;
}

.plr2-concept__photo img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  object-fit: cover;
  object-position: 48% center;
}

/* 写真と本文の自然な境目 */
.plr2-concept__fade {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 39%;
  width: 26%;
  height: 100%;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    #fff 0%,
    rgba(255,255,255,.98) 18%,
    rgba(255,255,255,.85) 48%,
    rgba(255,255,255,.28) 78%,
    rgba(255,255,255,0) 100%
  );
}

.plr2-concept__inner {
  position: relative;
  z-index: 3;
  width: min(1220px, calc(100% - 54px));
  margin: 0 auto;
  padding: 54px 0 132px;
}

.plr2-concept__copy {
  width: 59%;
  max-width: 720px;
}

/* Cocoon見出し装飾を完全リセット */
.plr2-page .plr2-concept__label,
.plr2-page .plr2-concept__title,
.plr2-page .plr2-badge h3,
.plr2-page .plr2-concept__body p {
  background: none !important;
  background-image: none !important;
  border: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

.plr2-concept__label {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  margin: 0 0 14px !important;
  padding: 0 !important;
  color: #078849;
  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: .11em;
}

.plr2-concept__label i {
  display: block;
  width: min(330px, 50%);
  height: 1px;
  background: linear-gradient(90deg, #078849 0%, rgba(7,136,73,0) 100%);
}

.plr2-page h2.plr2-concept__title {
  display: block !important;
  margin: 0 0 22px !important;
  padding: 0 !important;
  font-family: inherit !important;
  font-size: clamp(46px, 4.45vw, 67px) !important;
  line-height: 1.12 !important;
  letter-spacing: -.045em !important;
  font-weight: 900 !important;
}

.plr2-concept__title-black,
.plr2-concept__title-green {
  display: block;
}

.plr2-concept__title-black {
  color: #0b1b28;
}

.plr2-concept__title-green {
  color: #078849;
}

.plr2-concept__body {
  width: 100%;
  max-width: 705px;
}

.plr2-page .plr2-concept__body p {
  margin: 0 0 17px !important;
  padding: 0 !important;
  color: #14222d !important;
  font-size: 16.5px !important;
  line-height: 1.82 !important;
  font-weight: 600 !important;
  letter-spacing: .005em !important;
}

.plr2-concept__body strong {
  color: #0a934e;
  font-weight: 900;
}

/* ---------- 3つの円 ---------- */

.plr2-concept__badges {
  display: flex;
  align-items: stretch;
  gap: 14px;
  width: 100%;
  margin-top: 28px;
}

.plr2-badge {
  position: relative;
  width: 31.8%;
  aspect-ratio: 1 / 1;
  min-width: 0;
  padding: 19px 12px 16px;
  border-radius: 50%;
  background: rgba(255,255,255,.91);
  border: 2px solid rgba(80,166,87,.20);
  box-shadow: 0 7px 24px rgba(28,75,45,.05);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.plr2-badge::before {
  content: "";
  position: absolute;
  inset: 7px;
  border-radius: 50%;
  border: 1px solid rgba(54,151,72,.16);
}

.plr2-badge__icon {
  position: relative;
  z-index: 1;
  width: 47px;
  height: 47px;
  margin-bottom: 7px;
  color: #07944d;
}

.plr2-badge__icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

.plr2-page .plr2-badge h3 {
  position: relative;
  z-index: 1;
  display: block !important;
  margin: 0 0 7px !important;
  padding: 0 !important;
  color: #111f2a !important;
  font-size: 17px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  letter-spacing: -.02em !important;
}

.plr2-badge h3 span {
  color: #078849;
}

.plr2-badge p {
  position: relative;
  z-index: 1;
  margin: 0 !important;
  padding: 0 !important;
  color: #25333b !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  font-weight: 650 !important;
}

/* ---------- 下部の緑の流れ ---------- */

.plr2-concept__wave {
  position: absolute;
  z-index: 4;
  left: -4%;
  bottom: -88px;
  width: 108%;
  height: 170px;
  border-radius: 50% 50% 0 0 / 42% 42% 0 0;
  background:
    linear-gradient(180deg, rgba(255,255,255,0) 0 15%, #fff 16% 23%, rgba(255,255,255,0) 24%),
    linear-gradient(92deg, #078a49 0%, #28a65d 50%, #087945 100%);
  transform: rotate(-1deg);
}

.plr2-concept__wave::before {
  content: "";
  position: absolute;
  left: 8%;
  top: 15px;
  width: 87%;
  height: 28px;
  border-radius: 50%;
  background: rgba(255,255,255,.95);
  transform: rotate(1deg);
}

/* ---------- スマホ ---------- */

@media (max-width: 800px) {

  .plr2-concept {
    min-height: auto;
    margin-top: 30px !important;
    background: #fff;
  }

  .plr2-concept__photo {
    position: relative;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 10;
    order: 0;
  }

  .plr2-concept__photo img {
    height: 100% !important;
    object-fit: cover;
    object-position: center 36%;
  }

  .plr2-concept__fade {
    display: none;
  }

  .plr2-concept__inner {
    width: calc(100% - 30px);
    padding: 38px 0 100px;
  }

  .plr2-concept__copy {
    width: 100%;
    max-width: none;
  }

  .plr2-concept__label {
    margin-bottom: 12px !important;
    font-size: 12px !important;
  }

  .plr2-concept__label i {
    width: 125px;
  }

  .plr2-page h2.plr2-concept__title {
    margin-bottom: 20px !important;
    font-size: clamp(37px, 10.5vw, 49px) !important;
    line-height: 1.11 !important;
  }

  .plr2-page .plr2-concept__body p {
    margin-bottom: 14px !important;
    font-size: 15px !important;
    line-height: 1.8 !important;
  }

  .plr2-pc {
    display: none;
  }

  .plr2-concept__badges {
    gap: 7px;
    margin-top: 24px;
  }

  .plr2-badge {
    width: calc((100% - 14px) / 3);
    padding: 10px 4px;
  }

  .plr2-badge__icon {
    width: 30px;
    height: 30px;
    margin-bottom: 4px;
  }

  .plr2-page .plr2-badge h3 {
    margin-bottom: 4px !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
  }

  .plr2-badge p {
    font-size: 8.5px !important;
    line-height: 1.35 !important;
  }

  .plr2-concept__wave {
    bottom: -103px;
    height: 150px;
  }
}

@media (max-width: 420px) {
  .plr2-concept__inner {
    width: calc(100% - 24px);
  }

  .plr2-page h2.plr2-concept__title {
    font-size: 36px !important;
  }

  .plr2-badge {
    padding-inline: 2px;
  }

  .plr2-page .plr2-badge h3 {
    font-size: 11px !important;
  }

  .plr2-badge p {
    font-size: 7.8px !important;
  }
}


/* =========================================================
   v4：Cocoonが自動出力する固定ページタイトルを非表示
   「選ばれる理由」ページ内に .plr2-page がある場合だけ適用
========================================================= */

body:has(.plr2-page) .article-header .entry-title,
body:has(.plr2-page) h1.entry-title,
body:has(.plr2-page) .entry-title {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* タイトル非表示後に残る上余白も除去 */
body:has(.plr2-page) .article-header {
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
}

body:has(.plr2-page) .entry-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}


/* =========================================================
   v5：スマホではCONCEPT内の職人画像を非表示
========================================================= */
@media (max-width: 800px) {
  .plr2-concept__photo {
    display: none !important;
  }

  .plr2-concept__fade {
    display: none !important;
  }

  .plr2-concept__inner {
    width: calc(100% - 30px);
    padding: 38px 0 90px;
  }

  .plr2-concept__copy {
    width: 100% !important;
    max-width: none !important;
  }
}

@media (max-width: 420px) {
  .plr2-concept__inner {
    width: calc(100% - 24px);
  }
}


/* =========================================================
   v6：メニューとページヘッダーの間の余白を完全に除去
   reasonページだけに適用
========================================================= */

body:has(.plr2-page) #content,
body:has(.plr2-page) .content,
body:has(.plr2-page) .content-in,
body:has(.plr2-page) #main,
body:has(.plr2-page) main.main,
body:has(.plr2-page) .article,
body:has(.plr2-page) .article-header,
body:has(.plr2-page) .entry-content,
body:has(.plr2-page) .plr2-page {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body:has(.plr2-page) .plr2-header {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body:has(.plr2-page) .entry-content > .plr2-page:first-child,
body:has(.plr2-page) .article > .plr2-page:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

@media (max-width: 800px) {
  body:has(.plr2-page) #content,
  body:has(.plr2-page) .content,
  body:has(.plr2-page) .content-in,
  body:has(.plr2-page) #main,
  body:has(.plr2-page) main.main,
  body:has(.plr2-page) .article,
  body:has(.plr2-page) .article-header,
  body:has(.plr2-page) .entry-content,
  body:has(.plr2-page) .plr2-page,
  body:has(.plr2-page) .plr2-header {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}


/* =========================================================
   REASON 01｜一級塗装技能士
========================================================= */

.plr01,
.plr01 *,
.plr01 *::before,
.plr01 *::after {
  box-sizing: border-box;
}

.plr01 {
  position: relative;
  width: 100%;
  margin: 0 !important;
  padding: 92px 0 96px;
  background:
    radial-gradient(circle at 94% 16%, rgba(123,188,78,.08), transparent 20%),
    #fff;
  color: #10202c;
  overflow: hidden;
}

.plr01__inner {
  width: min(1220px, calc(100% - 48px));
  margin: 0 auto;
}

.plr01__head {
  margin: 0 0 42px;
  text-align: center;
}

.plr01__label {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 18px;
  margin-bottom: 20px;
  color: #078849;
  font-size: 17px;
  font-weight: 900;
  letter-spacing: .12em;
}

.plr01__label span {
  display: block;
  width: 115px;
  height: 1px;
  background: #188e55;
}

.plr01__label b {
  margin: 0;
  padding: 0;
}

.plr2-page .plr01__title {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
  color: #10202c !important;
  font-size: clamp(35px, 3.7vw, 54px) !important;
  line-height: 1.24 !important;
  font-weight: 900 !important;
  letter-spacing: -.035em !important;
}

.plr01__title em {
  color: #078849;
  font-style: normal;
}

.plr01__lead {
  margin: 14px 0 0 !important;
  color: #34434c;
  font-size: 18px;
  line-height: 1.7;
  font-weight: 600;
}

.plr01-sp {
  display: none;
}

/* メイン：文章 + 指定画像 */
.plr01__main {
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(470px, 1.12fr);
  gap: 54px;
  align-items: center;
}

.plr01__copy {
  padding-left: 3px;
}

.plr2-page .plr01__copy h3 {
  position: relative;
  margin: 0 0 25px !important;
  padding: 0 0 0 22px !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
  color: #10202c !important;
  font-size: 25px !important;
  line-height: 1.45 !important;
  font-weight: 900 !important;
}

.plr01__copy h3::before {
  content: "";
  position: absolute;
  left: 0;
  top: .14em;
  width: 6px;
  height: 1.35em;
  border-radius: 99px;
  background: #0a914f;
}

.plr01__copy p {
  margin: 0 0 24px !important;
  padding: 0 !important;
  color: #293943 !important;
  font-size: 16.5px !important;
  line-height: 1.95 !important;
  font-weight: 500 !important;
}

.plr01__copy strong {
  color: #078849;
  font-weight: 900;
}

.plr01__visual {
  position: relative;
  margin: 0 !important;
  padding: 0 !important;
}

.plr01__visual::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: -13px 15px 15px -13px;
  border-radius: 4px 42px 4px 42px;
  background: #eef7eb;
}

.plr01__visual img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 4px 38px 4px 38px !important;
  box-shadow: 0 15px 38px rgba(23, 67, 42, .12) !important;
}

/* 下の3ポイント */
.plr01__features {
  position: relative;
  margin-top: 52px;
  padding: 40px 34px 34px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  border-radius: 8px;
  background:
    linear-gradient(90deg, rgba(237,248,230,.95), rgba(248,252,244,.98), rgba(237,248,230,.95));
}

.plr01__features::before,
.plr01__features::after {
  content: "◆";
  position: absolute;
  color: rgba(52,153,69,.11);
  font-size: 70px;
  line-height: 1;
}

.plr01__features::before {
  top: 4px;
  left: 16px;
}

.plr01__features::after {
  right: 17px;
  bottom: 2px;
}

.plr01-card {
  position: relative;
  z-index: 1;
  min-height: 220px;
  padding: 65px 24px 27px;
  border: 1px solid #e6eee2;
  border-radius: 8px;
  background: rgba(255,255,255,.96);
  text-align: center;
  box-shadow: 0 6px 20px rgba(32,78,45,.035);
}

.plr01-card__icon {
  position: absolute;
  top: -31px;
  left: 50%;
  width: 72px;
  height: 72px;
  padding: 17px;
  transform: translateX(-50%);
  border-radius: 50%;
  background: #fff;
  color: #078849;
  box-shadow: 0 6px 18px rgba(21,76,44,.12);
}

.plr01-card__icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

.plr2-page .plr01-card h3 {
  margin: 0 0 13px !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
  color: #078849 !important;
  font-size: 21px !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
}

.plr01-card i {
  display: block;
  width: 38px;
  height: 1px;
  margin: 0 auto 15px;
  background: #188e55;
}

.plr01-card p {
  margin: 0 !important;
  padding: 0 !important;
  color: #2f3c43 !important;
  font-size: 14px !important;
  line-height: 1.75 !important;
  font-weight: 600 !important;
}

/* スマホ */
@media (max-width: 800px) {
  .plr01 {
    padding: 62px 0 66px;
  }

  .plr01__inner {
    width: calc(100% - 30px);
  }

  .plr01__head {
    margin-bottom: 30px;
  }

  .plr01__label {
    gap: 10px;
    margin-bottom: 15px;
    font-size: 13px;
  }

  .plr01__label span {
    width: 60px;
  }

  .plr2-page .plr01__title {
    font-size: clamp(29px, 8.3vw, 39px) !important;
    line-height: 1.28 !important;
  }

  .plr01-sp {
    display: block;
  }

  .plr01__lead {
    margin-top: 10px !important;
    font-size: 14px;
  }

  .plr01__main {
    grid-template-columns: 1fr;
    gap: 27px;
  }

  .plr01__visual {
    order: -1;
  }

  .plr01__visual::before {
    inset: -7px 8px 8px -7px;
    border-radius: 4px 23px 4px 23px;
  }

  .plr01__visual img {
    border-radius: 4px 20px 4px 20px !important;
  }

  .plr2-page .plr01__copy h3 {
    margin-bottom: 17px !important;
    padding-left: 17px !important;
    font-size: 20px !important;
  }

  .plr01__copy h3::before {
    width: 5px;
  }

  .plr01__copy p {
    margin-bottom: 17px !important;
    font-size: 15px !important;
    line-height: 1.83 !important;
  }

  .plr01__features {
    margin-top: 39px;
    padding: 35px 10px 16px;
    grid-template-columns: 1fr;
    gap: 43px;
  }

  .plr01-card {
    min-height: auto;
    padding: 52px 18px 22px;
  }

  .plr01-card__icon {
    top: -28px;
    width: 64px;
    height: 64px;
    padding: 15px;
  }

  .plr2-page .plr01-card h3 {
    font-size: 19px !important;
  }

  .plr01-card p {
    font-size: 13px !important;
  }
}

@media (max-width: 420px) {
  .plr01__inner {
    width: calc(100% - 24px);
  }
}
/* =========================================================
   ペイントリーフ大阪｜REASON 02 追加用CSS
   このセクション専用。既存ヘッダー／CONCEPT／REASON01を変更しません。
========================================================= */

.plr02,
.plr02 *,
.plr02 *::before,
.plr02 *::after { box-sizing: border-box; }

.plr02 {
  display: block;
  position: relative;
  width: 100%;
  margin: 0 !important;
  padding: 88px 0 95px !important;
  color: #12212c;
  background: #fff;
  overflow: hidden;
  isolation: isolate;
}

.plr02__inner {
  width: min(1220px, calc(100% - 48px));
  margin: 0 auto;
}

.plr02__header { text-align: center; margin: 0 0 42px; padding: 0; }

.plr02__number {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  margin: 0 0 19px;
  color: #07824a;
  font-weight: 900;
  font-size: 19px;
  line-height: 1.2;
  letter-spacing: .08em;
}
.plr02__rule { display: inline-block; width: 112px; height: 1px; background: #2b9b6b; }
.plr02__leaf { display: block; width: 25px; height: 30px; flex: none; }

/* Cocoonの見出し装飾を、このセクション内だけ解除 */
.plr02 h2.plr02__title,
.plr02 h3.plr02__subheading,
.plr02 .plr02__card h3 {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  background-image: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  font-family: inherit !important;
  font-style: normal !important;
}
.plr02 h2.plr02__title::before,
.plr02 h2.plr02__title::after,
.plr02 h3.plr02__subheading::before,
.plr02 h3.plr02__subheading::after,
.plr02 .plr02__card h3::before,
.plr02 .plr02__card h3::after { content: none !important; display: none !important; }

.plr02 h2.plr02__title {
  color: #111e2b !important;
  font-size: clamp(33px, 3.7vw, 54px) !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;
  letter-spacing: -.035em !important;
  text-align: center !important;
}
.plr02__title span { color: #078449; }
.plr02 .plr02__lead {
  margin: 11px 0 0 !important;
  padding: 0 !important;
  color: #283b48 !important;
  font-size: 18px !important;
  line-height: 1.7 !important;
  font-weight: 500 !important;
}

.plr02__main {
  display: grid;
  grid-template-columns: minmax(0, .91fr) minmax(0, 1.09fr);
  align-items: center;
  gap: 45px;
}
.plr02__copy { min-width: 0; }

.plr02 h3.plr02__subheading {
  position: relative;
  margin-bottom: 25px !important;
  padding-left: 23px !important;
  color: #14212d !important;
  font-size: clamp(21px, 2vw, 26px) !important;
  line-height: 1.5 !important;
  font-weight: 900 !important;
  letter-spacing: -.025em !important;
  text-align: left !important;
}
.plr02 h3.plr02__subheading::before {
  content: "" !important;
  display: block !important;
  position: absolute;
  left: 0;
  top: .13em;
  width: 6px;
  height: 2.55em;
  border-radius: 4px;
  background: #0a914f;
}
.plr02__copy p {
  margin: 0 0 22px !important;
  padding: 0 !important;
  color: #293943 !important;
  font-size: 16px !important;
  line-height: 1.95 !important;
  font-weight: 500 !important;
  overflow-wrap: anywhere;
}
.plr02__copy p:last-child { margin-bottom: 0 !important; }
.plr02__copy strong { color: #087b46; font-weight: 800; }

/* 文字入り画像はトリミングしない */
.plr02 figure.plr02__visual {
  display: block;
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0;
}
.plr02__visual img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 4px !important;
  box-shadow: 0 12px 28px rgba(19, 68, 52, .065);
}

/* 下段 3つのポイント */
.plr02__features {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  margin-top: 46px;
  padding: 42px 28px 28px;
  border-radius: 7px;
  background: linear-gradient(115deg, #f0f7ea, #f7fbf2 48%, #eef7e9);
}
.plr02__features::before,
.plr02__features::after {
  content: "";
  position: absolute;
  width: 78px;
  height: 95px;
  opacity: .2;
  background:
    radial-gradient(ellipse at 35% 25%, #82bb67 0 28%, transparent 30%),
    radial-gradient(ellipse at 70% 50%, #82bb67 0 24%, transparent 26%),
    radial-gradient(ellipse at 38% 76%, #82bb67 0 23%, transparent 25%);
  pointer-events: none;
}
.plr02__features::before { top: -8px; left: -3px; transform: rotate(-24deg); }
.plr02__features::after { right: 0; bottom: 0; transform: rotate(150deg); }
.plr02__card {
  position: relative;
  min-width: 0;
  min-height: 205px;
  padding: 69px 13px 23px;
  border-radius: 8px;
  background: rgba(255,255,255,.95);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-shadow: 0 3px 13px rgba(45, 82, 43, .045);
}
.plr02__icon {
  position: absolute;
  left: 50%;
  top: -24px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 78px;
  height: 78px;
  padding: 17px;
  transform: translateX(-50%);
  border: 1px solid #e1ede0;
  border-radius: 50%;
  background: #fff;
  color: #0b9559;
  box-shadow: 0 3px 11px rgba(34, 80, 37, .10);
}
.plr02__icon svg { display: block; width: 100%; height: 100%; }
.plr02 .plr02__card h3 {
  color: #06834a !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  line-height: 1.45 !important;
  text-align: center !important;
  white-space: normal !important;
}
.plr02__cardrule {
  display: block;
  width: 50px;
  height: 1px;
  margin: 12px auto 14px;
  background: #0b9150;
}
.plr02__card p {
  margin: 0 !important;
  padding: 0 !important;
  color: #2c3842 !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  font-weight: 500 !important;
  text-align: center !important;
}

@media (max-width: 800px) {
  .plr02 { padding: 58px 0 65px !important; }
  .plr02__inner { width: calc(100% - 30px); }
  .plr02__header { margin-bottom: 30px; }
  .plr02__number { gap: 9px; margin-bottom: 12px; font-size: 15px; }
  .plr02__rule { width: 52px; }
  .plr02__leaf { width: 18px; height: 22px; }
  .plr02 h2.plr02__title {
    font-size: clamp(27px, 7.5vw, 39px) !important;
    line-height: 1.35 !important;
  }
  .plr02 .plr02__lead { margin-top: 9px !important; font-size: 14px !important; }
  .plr02__main { grid-template-columns: 1fr; gap: 25px; }
  .plr02__visual { order: -1; }
  .plr02 h3.plr02__subheading {
    margin-bottom: 16px !important;
    padding-left: 18px !important;
    font-size: 20px !important;
  }
  .plr02 h3.plr02__subheading::before { width: 5px; }
  .plr02__copy p { margin-bottom: 17px !important; font-size: 15px !important; line-height: 1.83 !important; }
  .plr02__features {
    grid-template-columns: 1fr;
    gap: 44px;
    margin-top: 41px;
    padding: 39px 12px 16px;
  }
  .plr02__card { min-height: 175px; padding: 56px 16px 22px; }
  .plr02__icon { width: 67px; height: 67px; padding: 15px; top: -25px; }
  .plr02 .plr02__card h3 { font-size: 19px !important; }
  .plr02__card p { font-size: 13px !important; }
}
@media (max-width: 420px) {
  .plr02__inner { width: calc(100% - 24px); }
  .plr02 h2.plr02__title { font-size: 27px !important; }
}
/* =========================================================
   REASON 03 専用・REASON 02 デザイン統一パッチ
   既存CSSの一番最後にこのファイルを追記するだけ。
   HTML、REASON 01/02、CONCEPT、ヘッダーは変更しない。
========================================================= */

.plr-reason03,
.plr-reason03 *,
.plr-reason03 *::before,
.plr-reason03 *::after { box-sizing: border-box; }

/* REASON 02 と同じ横幅・セクション余白 */
.plr-reason03 {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 88px 0 95px !important;
  background: #fff !important;
  color: #12212c !important;
  overflow: hidden !important;
  isolation: isolate;
}
.plr-reason03 .plr-reason03__inner {
  width: min(1220px, calc(100% - 48px)) !important;
  margin: 0 auto !important;
}
.plr-reason03 .plr-reason03__head {
  text-align: center !important;
  margin: 0 0 42px !important;
  padding: 0 !important;
}
.plr-reason03 .plr-reason03__eyebrow {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 13px !important;
  margin: 0 0 19px !important;
  padding: 0 !important;
}
.plr-reason03 .plr-reason03__eyebrow-line {
  display: block !important;
  width: 112px !important;
  height: 1px !important;
  background: #2b9b6b !important;
}
.plr-reason03 .plr-reason03__eyebrow-text {
  color: #07824a !important;
  font-size: 19px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
}

/* Cocoonのh2/h3共通装飾をREASON 03内だけ完全解除 */
.plr-reason03 h2.plr-reason03__title,
.plr-reason03 .plr-reason03__text h3,
.plr-reason03 .plr-reason03-card h3 {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  font-family: inherit !important;
  font-style: normal !important;
  text-transform: none !important;
}
.plr-reason03 h2.plr-reason03__title::before,
.plr-reason03 h2.plr-reason03__title::after,
.plr-reason03 .plr-reason03-card h3::before,
.plr-reason03 .plr-reason03-card h3::after,
.plr-reason03 .plr-reason03__text h3::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  background: none !important;
}

/* タイトル・リード：REASON 02と同寸法 */
.plr-reason03 h2.plr-reason03__title {
  color: #111e2b !important;
  font-size: clamp(33px, 3.7vw, 54px) !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;
  letter-spacing: -.035em !important;
  text-align: center !important;
  text-wrap: balance !important;
}
.plr-reason03 .plr-reason03__title-accent { color: #078449 !important; }
.plr-reason03 .plr-reason03__lead {
  margin: 11px 0 0 !important;
  padding: 0 !important;
  color: #283b48 !important;
  font-size: 18px !important;
  line-height: 1.7 !important;
  font-weight: 500 !important;
  text-align: center !important;
}

/* 本文2カラム、見出し、文章：REASON 02に統一 */
.plr-reason03 .plr-reason03__main {
  display: grid !important;
  grid-template-columns: minmax(0, .91fr) minmax(0, 1.09fr) !important;
  gap: 45px !important;
  align-items: center !important;
  margin: 0 !important;
}
.plr-reason03 .plr-reason03__text { min-width: 0 !important; }
.plr-reason03 .plr-reason03__text h3 {
  position: relative !important;
  margin: 0 0 25px !important;
  padding: 0 0 0 23px !important;
  color: #14212d !important;
  font-size: clamp(21px, 2vw, 26px) !important;
  line-height: 1.5 !important;
  font-weight: 900 !important;
  letter-spacing: -.025em !important;
  text-align: left !important;
}
.plr-reason03 .plr-reason03__text h3::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  top: .13em !important;
  width: 6px !important;
  height: 2.55em !important;
  border: 0 !important;
  border-radius: 4px !important;
  background: #0a914f !important;
}
.plr-reason03 .plr-reason03__text p {
  margin: 0 0 22px !important;
  padding: 0 !important;
  color: #293943 !important;
  font-size: 16px !important;
  line-height: 1.95 !important;
  font-weight: 500 !important;
  letter-spacing: normal !important;
  overflow-wrap: anywhere;
}
.plr-reason03 .plr-reason03__text p:last-child { margin-bottom: 0 !important; }
.plr-reason03 .plr-reason03__visual {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.plr-reason03 .plr-reason03__visual img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 4px !important;
  box-shadow: 0 12px 28px rgba(19,68,52,.065) !important;
}

/* 下段の3つのカード：見出しの灰色枠・縦線を撤去し、02と同寸法 */
.plr-reason03 .plr-reason03__cards {
  position: relative !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
  margin: 46px 0 0 !important;
  padding: 42px 28px 28px !important;
  border-radius: 7px !important;
  background: linear-gradient(115deg, #f0f7ea, #f7fbf2 48%, #eef7e9) !important;
}
.plr-reason03 .plr-reason03__cards::before,
.plr-reason03 .plr-reason03__cards::after {
  content: "" !important;
  position: absolute;
  width: 78px !important;
  height: 95px !important;
  opacity: .2 !important;
  background: radial-gradient(ellipse at 35% 25%, #82bb67 0 28%, transparent 30%),
              radial-gradient(ellipse at 70% 50%, #82bb67 0 24%, transparent 26%),
              radial-gradient(ellipse at 38% 76%, #82bb67 0 23%, transparent 25%) !important;
  pointer-events: none;
}
.plr-reason03 .plr-reason03__cards::before { top: -8px !important; left: -3px !important; transform: rotate(-24deg) !important; }
.plr-reason03 .plr-reason03__cards::after { right: 0 !important; bottom: 0 !important; transform: rotate(150deg) !important; }
.plr-reason03 .plr-reason03-card {
  position: relative !important;
  min-width: 0 !important;
  min-height: 205px !important;
  padding: 69px 13px 23px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: rgba(255,255,255,.95) !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  box-shadow: 0 3px 13px rgba(45,82,43,.045) !important;
}
.plr-reason03 .plr-reason03-card__icon {
  position: absolute !important;
  left: 50% !important;
  top: -24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 78px !important;
  height: 78px !important;
  padding: 17px !important;
  transform: translateX(-50%) !important;
  border: 1px solid #e1ede0 !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: #0b9559 !important;
  box-shadow: 0 3px 11px rgba(34,80,37,.10) !important;
}
.plr-reason03 .plr-reason03-card__icon svg { display: block !important; width: 100% !important; height: 100% !important; }
.plr-reason03 .plr-reason03-card h3 {
  color: #06834a !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  line-height: 1.45 !important;
  text-align: center !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}
.plr-reason03 .plr-reason03-card__line {
  display: block !important;
  width: 50px !important;
  height: 1px !important;
  margin: 12px auto 14px !important;
  background: #0b9150 !important;
}
.plr-reason03 .plr-reason03-card p {
  margin: 0 !important;
  padding: 0 !important;
  color: #2c3842 !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  font-weight: 500 !important;
  text-align: center !important;
  overflow-wrap: anywhere;
}

/* スマホ：REASON 02と同じ800px境界とカード1列 */
@media (max-width: 800px) {
  .plr-reason03 { padding: 58px 0 65px !important; }
  .plr-reason03 .plr-reason03__inner { width: calc(100% - 30px) !important; }
  .plr-reason03 .plr-reason03__head { margin-bottom: 30px !important; }
  .plr-reason03 .plr-reason03__eyebrow { gap: 9px !important; margin-bottom: 12px !important; }
  .plr-reason03 .plr-reason03__eyebrow-line { width: 52px !important; }
  .plr-reason03 .plr-reason03__eyebrow-text { font-size: 15px !important; }
  .plr-reason03 h2.plr-reason03__title { font-size: clamp(27px, 7.5vw, 39px) !important; line-height: 1.35 !important; }
  .plr-reason03 .plr-reason03__lead { margin-top: 9px !important; font-size: 14px !important; }
  .plr-reason03 .plr-reason03__main { grid-template-columns: 1fr !important; gap: 25px !important; }
  .plr-reason03 .plr-reason03__visual { order: -1 !important; }
  .plr-reason03 .plr-reason03__text h3 { margin-bottom: 16px !important; padding-left: 18px !important; font-size: 20px !important; }
  .plr-reason03 .plr-reason03__text h3::before { width: 5px !important; }
  .plr-reason03 .plr-reason03__text p { margin-bottom: 17px !important; font-size: 15px !important; line-height: 1.83 !important; }
  .plr-reason03 .plr-reason03__cards { grid-template-columns: 1fr !important; gap: 44px !important; margin-top: 41px !important; padding: 39px 12px 16px !important; }
  .plr-reason03 .plr-reason03-card { min-height: 175px !important; padding: 56px 16px 22px !important; }
  .plr-reason03 .plr-reason03-card__icon { width: 67px !important; height: 67px !important; padding: 15px !important; top: -25px !important; }
  .plr-reason03 .plr-reason03-card h3 { font-size: 19px !important; }
  .plr-reason03 .plr-reason03-card p { font-size: 13px !important; }
}
@media (max-width: 420px) {
  .plr-reason03 .plr-reason03__inner { width: calc(100% - 24px) !important; }
  .plr-reason03 h2.plr-reason03__title { font-size: 27px !important; }
}
/* =========================================================
   ペイントリーフ大阪｜REASON 04 追加用CSS
   このセクション専用。既存ヘッダー／CONCEPT／REASON01〜03を変更しません。
========================================================= */

.plr04,
.plr04 *,
.plr04 *::before,
.plr04 *::after { box-sizing: border-box; }

.plr04 {
  display: block;
  position: relative;
  width: 100%;
  margin: 0 !important;
  padding: 88px 0 95px !important;
  color: #12212c;
  background: #fff;
  overflow: hidden;
  isolation: isolate;
}

.plr04__inner {
  width: min(1220px, calc(100% - 48px));
  margin: 0 auto;
}

.plr04__header { text-align: center; margin: 0 0 42px; padding: 0; }

.plr04__number {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  margin: 0 0 19px;
  color: #07824a;
  font-weight: 900;
  font-size: 19px;
  line-height: 1.2;
  letter-spacing: .08em;
}
.plr04__rule { display: inline-block; width: 112px; height: 1px; background: #2b9b6b; }
.plr04__leaf { display: block; width: 25px; height: 30px; flex: none; }

/* Cocoonの見出し装飾を、このセクション内だけ解除 */
.plr04 h2.plr04__title,
.plr04 h3.plr04__subheading,
.plr04 .plr04__card h3 {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  background-image: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  font-family: inherit !important;
  font-style: normal !important;
}
.plr04 h2.plr04__title::before,
.plr04 h2.plr04__title::after,
.plr04 h3.plr04__subheading::after,
.plr04 .plr04__card h3::before,
.plr04 .plr04__card h3::after { content: none !important; display: none !important; }

.plr04 h2.plr04__title {
  color: #111e2b !important;
  font-size: clamp(33px, 3.7vw, 54px) !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;
  letter-spacing: -.035em !important;
  text-align: center !important;
}
.plr04__title span { color: #078449; }

.plr04 .plr04__lead {
  margin: 11px 0 0 !important;
  padding: 0 !important;
  color: #283b48 !important;
  font-size: 18px !important;
  line-height: 1.7 !important;
  font-weight: 500 !important;
}

.plr04__main {
  display: grid;
  grid-template-columns: minmax(0, .91fr) minmax(0, 1.09fr);
  align-items: center;
  gap: 45px;
}
.plr04__copy { min-width: 0; }

.plr04 h3.plr04__subheading {
  position: relative;
  margin-bottom: 25px !important;
  padding-left: 23px !important;
  color: #14212d !important;
  font-size: clamp(21px, 2vw, 26px) !important;
  line-height: 1.5 !important;
  font-weight: 900 !important;
  letter-spacing: -.025em !important;
  text-align: left !important;
}
.plr04 h3.plr04__subheading::before {
  content: "" !important;
  display: block !important;
  position: absolute;
  left: 0;
  top: .13em;
  width: 6px;
  height: 2.55em;
  border-radius: 4px;
  background: #0a914f;
}
.plr04__copy p {
  margin: 0 0 22px !important;
  padding: 0 !important;
  color: #293943 !important;
  font-size: 16px !important;
  line-height: 1.95 !important;
  font-weight: 500 !important;
  overflow-wrap: anywhere;
}
.plr04__copy p:last-child { margin-bottom: 0 !important; }
.plr04__copy strong { color: #087b46; font-weight: 800; }

.plr04 figure.plr04__visual {
  display: block;
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0;
}
.plr04__visual img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 4px !important;
  box-shadow: 0 12px 28px rgba(19, 68, 52, .065);
}

/* 下段 3つのポイント */
.plr04__features {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  margin-top: 46px;
  padding: 42px 28px 28px;
  border-radius: 7px;
  background: linear-gradient(115deg, #f0f7ea, #f7fbf2 48%, #eef7e9);
}
.plr04__features::before,
.plr04__features::after {
  content: "";
  position: absolute;
  width: 78px;
  height: 95px;
  opacity: .2;
  background:
    radial-gradient(ellipse at 35% 25%, #82bb67 0 28%, transparent 30%),
    radial-gradient(ellipse at 70% 50%, #82bb67 0 24%, transparent 26%),
    radial-gradient(ellipse at 38% 76%, #82bb67 0 23%, transparent 25%);
  pointer-events: none;
}
.plr04__features::before { top: -8px; left: -3px; transform: rotate(-24deg); }
.plr04__features::after { right: 0; bottom: 0; transform: rotate(150deg); }

.plr04__card {
  position: relative;
  min-width: 0;
  min-height: 205px;
  padding: 69px 13px 23px;
  border-radius: 8px;
  background: rgba(255,255,255,.95);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-shadow: 0 3px 13px rgba(45, 82, 43, .045);
}
.plr04__icon {
  position: absolute;
  left: 50%;
  top: -24px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 78px;
  height: 78px;
  padding: 17px;
  transform: translateX(-50%);
  border: 1px solid #e1ede0;
  border-radius: 50%;
  background: #fff;
  color: #0b9559;
  box-shadow: 0 3px 11px rgba(34, 80, 37, .10);
}
.plr04__icon svg { display: block; width: 100%; height: 100%; }

.plr04 .plr04__card h3 {
  color: #06834a !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  line-height: 1.45 !important;
  text-align: center !important;
  white-space: normal !important;
}
.plr04__cardrule {
  display: block;
  width: 50px;
  height: 1px;
  margin: 12px auto 14px;
  background: #0b9150;
}
.plr04__card p {
  margin: 0 !important;
  padding: 0 !important;
  color: #2c3842 !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  font-weight: 500 !important;
  text-align: center !important;
}

@media (max-width: 800px) {
  .plr04 { padding: 58px 0 65px !important; }
  .plr04__inner { width: calc(100% - 30px); }
  .plr04__header { margin-bottom: 30px; }
  .plr04__number { gap: 9px; margin-bottom: 12px; font-size: 15px; }
  .plr04__rule { width: 52px; }
  .plr04__leaf { width: 18px; height: 22px; }

  .plr04 h2.plr04__title {
    font-size: clamp(27px, 7.5vw, 39px) !important;
    line-height: 1.35 !important;
  }
  .plr04 .plr04__lead { margin-top: 9px !important; font-size: 14px !important; }

  .plr04__main {
    grid-template-columns: 1fr;
    gap: 28px;
    align-items: start;
  }
  .plr04__copy { order: 2; }
  .plr04__visual { order: 1; }

  .plr04 h3.plr04__subheading {
    margin-bottom: 18px !important;
    padding-left: 18px !important;
    font-size: 21px !important;
    line-height: 1.55 !important;
  }
  .plr04 h3.plr04__subheading::before {
    width: 5px;
    height: 2.5em;
  }
  .plr04__copy p {
    margin-bottom: 17px !important;
    font-size: 15px !important;
    line-height: 1.9 !important;
  }

  .plr04__features {
    grid-template-columns: 1fr;
    gap: 24px;
    margin-top: 34px;
    padding: 32px 14px 14px;
  }

  .plr04__card {
    min-height: 0;
    padding: 62px 14px 20px;
  }
  .plr04__icon {
    top: -22px;
    width: 72px;
    height: 72px;
    padding: 15px;
  }
  .plr04 .plr04__card h3 {
    font-size: 19px !important;
    line-height: 1.45 !important;
  }
  .plr04__cardrule {
    margin: 10px auto 12px;
  }
  .plr04__card p {
    font-size: 14px !important;
    line-height: 1.75 !important;
  }
}
/* =========================================================
   ペイントリーフ大阪｜REASON 05 追加用CSS
   このセクション専用。既存ヘッダー／CONCEPT／REASON01〜04を変更しません。
========================================================= */

.plr05,
.plr05 *,
.plr05 *::before,
.plr05 *::after { box-sizing: border-box; }

.plr05 {
  display: block;
  position: relative;
  width: 100%;
  margin: 0 !important;
  padding: 88px 0 95px !important;
  color: #12212c;
  background: #fff;
  overflow: hidden;
  isolation: isolate;
}

.plr05__inner {
  width: min(1220px, calc(100% - 48px));
  margin: 0 auto;
}

.plr05__header { text-align: center; margin: 0 0 42px; padding: 0; }

.plr05__number {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  margin: 0 0 19px;
  color: #07824a;
  font-weight: 900;
  font-size: 19px;
  line-height: 1.2;
  letter-spacing: .08em;
}
.plr05__rule { display: inline-block; width: 112px; height: 1px; background: #2b9b6b; }
.plr05__leaf { display: block; width: 25px; height: 30px; flex: none; }

/* Cocoonの見出し装飾を、このセクション内だけ解除 */
.plr05 h2.plr05__title,
.plr05 h3.plr05__subheading,
.plr05 .plr05__card h3 {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  background-image: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  font-family: inherit !important;
  font-style: normal !important;
}
.plr05 h2.plr05__title::before,
.plr05 h2.plr05__title::after,
.plr05 h3.plr05__subheading::after,
.plr05 .plr05__card h3::before,
.plr05 .plr05__card h3::after { content: none !important; display: none !important; }

.plr05 h2.plr05__title {
  color: #111e2b !important;
  font-size: clamp(33px, 3.7vw, 54px) !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;
  letter-spacing: -.035em !important;
  text-align: center !important;
}
.plr05__title span { color: #078449; }

.plr05 .plr05__lead {
  margin: 11px 0 0 !important;
  padding: 0 !important;
  color: #283b48 !important;
  font-size: 18px !important;
  line-height: 1.7 !important;
  font-weight: 500 !important;
}

.plr05__main {
  display: grid;
  grid-template-columns: minmax(0, .91fr) minmax(0, 1.09fr);
  align-items: center;
  gap: 45px;
}
.plr05__copy { min-width: 0; }

.plr05 h3.plr05__subheading {
  position: relative;
  margin-bottom: 25px !important;
  padding-left: 23px !important;
  color: #14212d !important;
  font-size: clamp(21px, 2vw, 26px) !important;
  line-height: 1.5 !important;
  font-weight: 900 !important;
  letter-spacing: -.025em !important;
  text-align: left !important;
}
.plr05 h3.plr05__subheading::before {
  content: "" !important;
  display: block !important;
  position: absolute;
  left: 0;
  top: .13em;
  width: 6px;
  height: 2.55em;
  border-radius: 4px;
  background: #0a914f;
}

.plr05__copy p {
  margin: 0 0 22px !important;
  padding: 0 !important;
  color: #293943 !important;
  font-size: 16px !important;
  line-height: 1.95 !important;
  font-weight: 500 !important;
  overflow-wrap: anywhere;
}
.plr05__copy p:last-child { margin-bottom: 0 !important; }
.plr05__copy strong { color: #087b46; font-weight: 800; }

.plr05 figure.plr05__visual {
  display: block;
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0;
}
.plr05__visual img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 4px !important;
  box-shadow: 0 12px 28px rgba(19, 68, 52, .065);
}

/* 下段 3つのポイント */
.plr05__features {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  margin-top: 46px;
  padding: 42px 28px 28px;
  border-radius: 7px;
  background: linear-gradient(115deg, #f0f7ea, #f7fbf2 48%, #eef7e9);
}
.plr05__features::before,
.plr05__features::after {
  content: "";
  position: absolute;
  width: 78px;
  height: 95px;
  opacity: .2;
  background:
    radial-gradient(ellipse at 35% 25%, #82bb67 0 28%, transparent 30%),
    radial-gradient(ellipse at 70% 50%, #82bb67 0 24%, transparent 26%),
    radial-gradient(ellipse at 38% 76%, #82bb67 0 23%, transparent 25%);
  pointer-events: none;
}
.plr05__features::before { top: -8px; left: -3px; transform: rotate(-24deg); }
.plr05__features::after { right: 0; bottom: 0; transform: rotate(150deg); }

.plr05__card {
  position: relative;
  min-width: 0;
  min-height: 205px;
  padding: 69px 13px 23px;
  border-radius: 8px;
  background: rgba(255,255,255,.95);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-shadow: 0 3px 13px rgba(45, 82, 43, .045);
}
.plr05__icon {
  position: absolute;
  left: 50%;
  top: -24px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 78px;
  height: 78px;
  padding: 17px;
  transform: translateX(-50%);
  border: 1px solid #e1ede0;
  border-radius: 50%;
  background: #fff;
  color: #0b9559;
  box-shadow: 0 3px 11px rgba(34, 80, 37, .10);
}
.plr05__icon svg { display: block; width: 100%; height: 100%; }

.plr05 .plr05__card h3 {
  color: #06834a !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  line-height: 1.45 !important;
  text-align: center !important;
  white-space: normal !important;
}
.plr05__cardrule {
  display: block;
  width: 50px;
  height: 1px;
  margin: 12px auto 14px;
  background: #0b9150;
}
.plr05__card p {
  margin: 0 !important;
  padding: 0 !important;
  color: #2c3842 !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  font-weight: 500 !important;
  text-align: center !important;
}

@media (max-width: 800px) {
  .plr05 { padding: 58px 0 65px !important; }
  .plr05__inner { width: calc(100% - 30px); }
  .plr05__header { margin-bottom: 30px; }
  .plr05__number { gap: 9px; margin-bottom: 12px; font-size: 15px; }
  .plr05__rule { width: 52px; }
  .plr05__leaf { width: 18px; height: 22px; }

  .plr05 h2.plr05__title {
    font-size: clamp(27px, 7.5vw, 39px) !important;
    line-height: 1.35 !important;
  }
  .plr05 .plr05__lead { margin-top: 9px !important; font-size: 14px !important; }

  .plr05__main {
    grid-template-columns: 1fr;
    gap: 28px;
    align-items: start;
  }
  .plr05__copy { order: 2; }
  .plr05__visual { order: 1; }

  .plr05 h3.plr05__subheading {
    margin-bottom: 18px !important;
    padding-left: 18px !important;
    font-size: 21px !important;
    line-height: 1.55 !important;
  }
  .plr05 h3.plr05__subheading::before {
    width: 5px;
    height: 2.5em;
  }
  .plr05__copy p {
    margin-bottom: 17px !important;
    font-size: 15px !important;
    line-height: 1.9 !important;
  }

  .plr05__features {
    grid-template-columns: 1fr;
    gap: 24px;
    margin-top: 34px;
    padding: 32px 14px 14px;
  }

  .plr05__card {
    min-height: 0;
    padding: 62px 14px 20px;
  }
  .plr05__icon {
    top: -22px;
    width: 72px;
    height: 72px;
    padding: 15px;
  }
  .plr05 .plr05__card h3 {
    font-size: 19px !important;
    line-height: 1.45 !important;
  }
  .plr05__cardrule {
    margin: 10px auto 12px;
  }
  .plr05__card p {
    font-size: 14px !important;
    line-height: 1.75 !important;
  }
}
/* =========================================================
   ペイントリーフ大阪｜REASON 06 追加用CSS
   このセクション専用。既存ヘッダー／CONCEPT／REASON01〜05を変更しません。
========================================================= */

.plr06,
.plr06 *,
.plr06 *::before,
.plr06 *::after { box-sizing: border-box; }

.plr06 {
  display: block;
  position: relative;
  width: 100%;
  margin: 0 !important;
  padding: 88px 0 95px !important;
  color: #12212c;
  background: #fff;
  overflow: hidden;
  isolation: isolate;
}

.plr06__inner {
  width: min(1220px, calc(100% - 48px));
  margin: 0 auto;
}

.plr06__header { text-align: center; margin: 0 0 42px; padding: 0; }

.plr06__number {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  margin: 0 0 19px;
  color: #07824a;
  font-weight: 900;
  font-size: 19px;
  line-height: 1.2;
  letter-spacing: .08em;
}
.plr06__rule { display: inline-block; width: 112px; height: 1px; background: #2b9b6b; }
.plr06__leaf { display: block; width: 25px; height: 30px; flex: none; }

/* Cocoonの見出し装飾を、このセクション内だけ解除 */
.plr06 h2.plr06__title,
.plr06 h3.plr06__subheading,
.plr06 .plr06__card h3 {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  background-image: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  font-family: inherit !important;
  font-style: normal !important;
}
.plr06 h2.plr06__title::before,
.plr06 h2.plr06__title::after,
.plr06 h3.plr06__subheading::after,
.plr06 .plr06__card h3::before,
.plr06 .plr06__card h3::after { content: none !important; display: none !important; }

.plr06 h2.plr06__title {
  color: #111e2b !important;
  font-size: clamp(33px, 3.7vw, 54px) !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;
  letter-spacing: -.035em !important;
  text-align: center !important;
}
.plr06__title span { color: #078449; }

.plr06 .plr06__lead {
  margin: 11px 0 0 !important;
  padding: 0 !important;
  color: #283b48 !important;
  font-size: 18px !important;
  line-height: 1.7 !important;
  font-weight: 500 !important;
}

.plr06__main {
  display: grid;
  grid-template-columns: minmax(0, .91fr) minmax(0, 1.09fr);
  align-items: center;
  gap: 45px;
}
.plr06__copy { min-width: 0; }

.plr06 h3.plr06__subheading {
  position: relative;
  margin-bottom: 25px !important;
  padding-left: 23px !important;
  color: #14212d !important;
  font-size: clamp(21px, 2vw, 26px) !important;
  line-height: 1.5 !important;
  font-weight: 900 !important;
  letter-spacing: -.025em !important;
  text-align: left !important;
}
.plr06 h3.plr06__subheading::before {
  content: "" !important;
  display: block !important;
  position: absolute;
  left: 0;
  top: .13em;
  width: 6px;
  height: 2.55em;
  border-radius: 4px;
  background: #0a914f;
}

.plr06__copy p {
  margin: 0 0 22px !important;
  padding: 0 !important;
  color: #293943 !important;
  font-size: 16px !important;
  line-height: 1.95 !important;
  font-weight: 500 !important;
  overflow-wrap: anywhere;
}
.plr06__copy p:last-child { margin-bottom: 0 !important; }
.plr06__copy strong { color: #087b46; font-weight: 800; }

.plr06 figure.plr06__visual {
  display: block;
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0;
}
.plr06__visual img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 4px !important;
  box-shadow: 0 12px 28px rgba(19, 68, 52, .065);
}

/* 下段 3つのポイント */
.plr06__features {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  margin-top: 46px;
  padding: 42px 28px 28px;
  border-radius: 7px;
  background: linear-gradient(115deg, #f0f7ea, #f7fbf2 48%, #eef7e9);
}
.plr06__features::before,
.plr06__features::after {
  content: "";
  position: absolute;
  width: 78px;
  height: 95px;
  opacity: .2;
  background:
    radial-gradient(ellipse at 35% 25%, #82bb67 0 28%, transparent 30%),
    radial-gradient(ellipse at 70% 50%, #82bb67 0 24%, transparent 26%),
    radial-gradient(ellipse at 38% 76%, #82bb67 0 23%, transparent 25%);
  pointer-events: none;
}
.plr06__features::before { top: -8px; left: -3px; transform: rotate(-24deg); }
.plr06__features::after { right: 0; bottom: 0; transform: rotate(150deg); }

.plr06__card {
  position: relative;
  min-width: 0;
  min-height: 205px;
  padding: 69px 13px 23px;
  border-radius: 8px;
  background: rgba(255,255,255,.95);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-shadow: 0 3px 13px rgba(45, 82, 43, .045);
}
.plr06__icon {
  position: absolute;
  left: 50%;
  top: -24px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 78px;
  height: 78px;
  padding: 17px;
  transform: translateX(-50%);
  border: 1px solid #e1ede0;
  border-radius: 50%;
  background: #fff;
  color: #0b9559;
  box-shadow: 0 3px 11px rgba(34, 80, 37, .10);
}
.plr06__icon svg { display: block; width: 100%; height: 100%; }

.plr06 .plr06__card h3 {
  color: #06834a !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  line-height: 1.45 !important;
  text-align: center !important;
  white-space: normal !important;
}
.plr06__cardrule {
  display: block;
  width: 50px;
  height: 1px;
  margin: 12px auto 14px;
  background: #0b9150;
}
.plr06__card p {
  margin: 0 !important;
  padding: 0 !important;
  color: #2c3842 !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  font-weight: 500 !important;
  text-align: center !important;
}

@media (max-width: 800px) {
  .plr06 { padding: 58px 0 65px !important; }
  .plr06__inner { width: calc(100% - 30px); }
  .plr06__header { margin-bottom: 30px; }
  .plr06__number { gap: 9px; margin-bottom: 12px; font-size: 15px; }
  .plr06__rule { width: 52px; }
  .plr06__leaf { width: 18px; height: 22px; }

  .plr06 h2.plr06__title {
    font-size: clamp(27px, 7.5vw, 39px) !important;
    line-height: 1.35 !important;
  }
  .plr06 .plr06__lead { margin-top: 9px !important; font-size: 14px !important; }

  .plr06__main {
    grid-template-columns: 1fr;
    gap: 28px;
    align-items: start;
  }
  .plr06__copy { order: 2; }
  .plr06__visual { order: 1; }

  .plr06 h3.plr06__subheading {
    margin-bottom: 18px !important;
    padding-left: 18px !important;
    font-size: 21px !important;
    line-height: 1.55 !important;
  }
  .plr06 h3.plr06__subheading::before {
    width: 5px;
    height: 2.5em;
  }
  .plr06__copy p {
    margin-bottom: 17px !important;
    font-size: 15px !important;
    line-height: 1.9 !important;
  }

  .plr06__features {
    grid-template-columns: 1fr;
    gap: 24px;
    margin-top: 34px;
    padding: 32px 14px 14px;
  }

  .plr06__card {
    min-height: 0;
    padding: 62px 14px 20px;
  }
  .plr06__icon {
    top: -22px;
    width: 72px;
    height: 72px;
    padding: 15px;
  }
  .plr06 .plr06__card h3 {
    font-size: 19px !important;
    line-height: 1.45 !important;
  }
  .plr06__cardrule {
    margin: 10px auto 12px;
  }
  .plr06__card p {
    font-size: 14px !important;
    line-height: 1.75 !important;
  }
}

/* Cocoon 見出し装飾の干渉を防止（REASON 06内のみ） */
.plr06 h2.plr06__title,
.plr06 h3.plr06__subheading,
.plr06 .plr06__card h3 {
  outline: none !important;
  text-decoration: none !important;
  text-indent: 0 !important;
}
.plr06 .plr06__card h3 {
  overflow-wrap: normal !important;
  word-break: normal !important;
}
.plr06 h3.plr06__subheading::before {
  box-shadow: none !important;
  border: 0 !important;
}
@media (max-width: 800px) {
  /* 3枚のカード上部アイコンが隣のカードと接触しない余白 */
  .plr06__features { row-gap: 44px; }
}
/* =========================================================
   ペイントリーフ大阪｜REASON 07 追加用CSS
   このセクション専用。既存ヘッダー／CONCEPT／REASON01〜06を変更しません。
========================================================= */

.plr07,
.plr07 *,
.plr07 *::before,
.plr07 *::after { box-sizing: border-box; }

.plr07 {
  display: block;
  position: relative;
  width: 100%;
  margin: 0 !important;
  padding: 88px 0 95px !important;
  color: #12212c;
  background: #fff;
  overflow: hidden;
  isolation: isolate;
}

.plr07__inner {
  width: min(1220px, calc(100% - 48px));
  margin: 0 auto;
}

.plr07__header { text-align: center; margin: 0 0 42px; padding: 0; }

.plr07__number {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  margin: 0 0 19px;
  color: #07824a;
  font-weight: 900;
  font-size: 19px;
  line-height: 1.2;
  letter-spacing: .08em;
}
.plr07__rule { display: inline-block; width: 112px; height: 1px; background: #2b9b6b; }
.plr07__leaf { display: block; width: 25px; height: 30px; flex: none; }

/* Cocoonの見出し装飾を、このセクション内だけ解除 */
.plr07 h2.plr07__title,
.plr07 h3.plr07__subheading,
.plr07 .plr07__card h3 {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  background-image: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  font-family: inherit !important;
  font-style: normal !important;
}
.plr07 h2.plr07__title::before,
.plr07 h2.plr07__title::after,
.plr07 h3.plr07__subheading::after,
.plr07 .plr07__card h3::before,
.plr07 .plr07__card h3::after { content: none !important; display: none !important; }

.plr07 h2.plr07__title {
  color: #111e2b !important;
  font-size: clamp(33px, 3.7vw, 54px) !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;
  letter-spacing: -.035em !important;
  text-align: center !important;
}
.plr07__title span { color: #078449; }

.plr07 .plr07__lead {
  margin: 11px 0 0 !important;
  padding: 0 !important;
  color: #283b48 !important;
  font-size: 18px !important;
  line-height: 1.7 !important;
  font-weight: 500 !important;
}

.plr07__main {
  display: grid;
  grid-template-columns: minmax(0, .91fr) minmax(0, 1.09fr);
  align-items: center;
  gap: 45px;
}
.plr07__copy { min-width: 0; }

.plr07 h3.plr07__subheading {
  position: relative;
  margin-bottom: 25px !important;
  padding-left: 23px !important;
  color: #14212d !important;
  font-size: clamp(21px, 2vw, 26px) !important;
  line-height: 1.5 !important;
  font-weight: 900 !important;
  letter-spacing: -.025em !important;
  text-align: left !important;
}
.plr07 h3.plr07__subheading::before {
  content: "" !important;
  display: block !important;
  position: absolute;
  left: 0;
  top: .13em;
  width: 6px;
  height: 2.55em;
  border-radius: 4px;
  background: #0a914f;
}

.plr07__copy p {
  margin: 0 0 22px !important;
  padding: 0 !important;
  color: #293943 !important;
  font-size: 16px !important;
  line-height: 1.95 !important;
  font-weight: 500 !important;
  overflow-wrap: anywhere;
}
.plr07__copy p:last-child { margin-bottom: 0 !important; }
.plr07__copy strong { color: #087b46; font-weight: 800; }

.plr07 figure.plr07__visual {
  display: block;
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0;
}
.plr07__visual img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 4px !important;
  box-shadow: 0 12px 28px rgba(19, 68, 52, .065);
}

/* 下段 3つのポイント */
.plr07__features {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  margin-top: 46px;
  padding: 42px 28px 28px;
  border-radius: 7px;
  background: linear-gradient(115deg, #f0f7ea, #f7fbf2 48%, #eef7e9);
}
.plr07__features::before,
.plr07__features::after {
  content: "";
  position: absolute;
  width: 78px;
  height: 95px;
  opacity: .2;
  background:
    radial-gradient(ellipse at 35% 25%, #82bb67 0 28%, transparent 30%),
    radial-gradient(ellipse at 70% 50%, #82bb67 0 24%, transparent 26%),
    radial-gradient(ellipse at 38% 76%, #82bb67 0 23%, transparent 25%);
  pointer-events: none;
}
.plr07__features::before { top: -8px; left: -3px; transform: rotate(-24deg); }
.plr07__features::after { right: 0; bottom: 0; transform: rotate(150deg); }

.plr07__card {
  position: relative;
  min-width: 0;
  min-height: 205px;
  padding: 69px 13px 23px;
  border-radius: 8px;
  background: rgba(255,255,255,.95);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-shadow: 0 3px 13px rgba(45, 82, 43, .045);
}
.plr07__icon {
  position: absolute;
  left: 50%;
  top: -24px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 78px;
  height: 78px;
  padding: 17px;
  transform: translateX(-50%);
  border: 1px solid #e1ede0;
  border-radius: 50%;
  background: #fff;
  color: #0b9559;
  box-shadow: 0 3px 11px rgba(34, 80, 37, .10);
}
.plr07__icon svg { display: block; width: 100%; height: 100%; }

.plr07 .plr07__card h3 {
  color: #06834a !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  line-height: 1.45 !important;
  text-align: center !important;
  white-space: normal !important;
}
.plr07__cardrule {
  display: block;
  width: 50px;
  height: 1px;
  margin: 12px auto 14px;
  background: #0b9150;
}
.plr07__card p {
  margin: 0 !important;
  padding: 0 !important;
  color: #2c3842 !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  font-weight: 500 !important;
  text-align: center !important;
}

@media (max-width: 800px) {
  .plr07 { padding: 58px 0 65px !important; }
  .plr07__inner { width: calc(100% - 30px); }
  .plr07__header { margin-bottom: 30px; }
  .plr07__number { gap: 9px; margin-bottom: 12px; font-size: 15px; }
  .plr07__rule { width: 52px; }
  .plr07__leaf { width: 18px; height: 22px; }

  .plr07 h2.plr07__title {
    font-size: clamp(27px, 7.5vw, 39px) !important;
    line-height: 1.35 !important;
  }
  .plr07 .plr07__lead { margin-top: 9px !important; font-size: 14px !important; }

  .plr07__main {
    grid-template-columns: 1fr;
    gap: 28px;
    align-items: start;
  }
  .plr07__copy { order: 2; }
  .plr07__visual { order: 1; }

  .plr07 h3.plr07__subheading {
    margin-bottom: 18px !important;
    padding-left: 18px !important;
    font-size: 21px !important;
    line-height: 1.55 !important;
  }
  .plr07 h3.plr07__subheading::before {
    width: 5px;
    height: 2.5em;
  }
  .plr07__copy p {
    margin-bottom: 17px !important;
    font-size: 15px !important;
    line-height: 1.9 !important;
  }

  .plr07__features {
    grid-template-columns: 1fr;
    gap: 24px;
    margin-top: 34px;
    padding: 32px 14px 14px;
  }

  .plr07__card {
    min-height: 0;
    padding: 62px 14px 20px;
  }
  .plr07__icon {
    top: -22px;
    width: 72px;
    height: 72px;
    padding: 15px;
  }
  .plr07 .plr07__card h3 {
    font-size: 19px !important;
    line-height: 1.45 !important;
  }
  .plr07__cardrule {
    margin: 10px auto 12px;
  }
  .plr07__card p {
    font-size: 14px !important;
    line-height: 1.75 !important;
  }
}

/* Cocoon 見出し装飾の干渉を防止（REASON 07内のみ） */
.plr07 h2.plr07__title,
.plr07 h3.plr07__subheading,
.plr07 .plr07__card h3 {
  outline: none !important;
  text-decoration: none !important;
  text-indent: 0 !important;
}
.plr07 .plr07__card h3 {
  overflow-wrap: normal !important;
  word-break: normal !important;
}
.plr07 h3.plr07__subheading::before {
  box-shadow: none !important;
  border: 0 !important;
}
@media (max-width: 800px) {
  /* 3枚のカード上部アイコンが隣のカードと接触しない余白 */
  .plr07__features { row-gap: 44px; }
}

/* 説明用の見積書画像に付ける注意書き */
.plr07 .plr07__visual figcaption {
  margin: 9px 0 0 !important;
  padding: 0 !important;
  color: #46555d !important;
  font-size: 12px !important;
  line-height: 1.6 !important;
  font-weight: 500 !important;
  background: none !important;
  border: none !important;
  text-align: left !important;
}
@media (max-width: 800px) {
  .plr07 .plr07__visual figcaption { font-size: 11px !important; }
}
/* =========================================================
   ペイントリーフ大阪｜REASON 08 追加用CSS
   このセクション専用。既存ヘッダー／CONCEPT／REASON01〜07を変更しません。
========================================================= */

.plr08,
.plr08 *,
.plr08 *::before,
.plr08 *::after { box-sizing: border-box; }

.plr08 {
  display: block;
  position: relative;
  width: 100%;
  margin: 0 !important;
  padding: 88px 0 95px !important;
  color: #12212c;
  background: #fff;
  overflow: hidden;
  isolation: isolate;
}

.plr08__inner {
  width: min(1220px, calc(100% - 48px));
  margin: 0 auto;
}

.plr08__header { text-align: center; margin: 0 0 42px; padding: 0; }

.plr08__number {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  margin: 0 0 19px;
  color: #07824a;
  font-weight: 900;
  font-size: 19px;
  line-height: 1.2;
  letter-spacing: .08em;
}
.plr08__rule { display: inline-block; width: 112px; height: 1px; background: #2b9b6b; }
.plr08__leaf { display: block; width: 25px; height: 30px; flex: none; }

/* Cocoonの見出し装飾を、このセクション内だけ解除 */
.plr08 h2.plr08__title,
.plr08 h3.plr08__subheading,
.plr08 .plr08__card h3 {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  background-image: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  font-family: inherit !important;
  font-style: normal !important;
}
.plr08 h2.plr08__title::before,
.plr08 h2.plr08__title::after,
.plr08 h3.plr08__subheading::after,
.plr08 .plr08__card h3::before,
.plr08 .plr08__card h3::after { content: none !important; display: none !important; }

.plr08 h2.plr08__title {
  color: #111e2b !important;
  font-size: clamp(33px, 3.7vw, 54px) !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;
  letter-spacing: -.035em !important;
  text-align: center !important;
}
.plr08__title span { color: #078449; }

.plr08 .plr08__lead {
  margin: 11px 0 0 !important;
  padding: 0 !important;
  color: #283b48 !important;
  font-size: 18px !important;
  line-height: 1.7 !important;
  font-weight: 500 !important;
}

.plr08__main {
  display: grid;
  grid-template-columns: minmax(0, .91fr) minmax(0, 1.09fr);
  align-items: center;
  gap: 45px;
}
.plr08__copy { min-width: 0; }

.plr08 h3.plr08__subheading {
  position: relative;
  margin-bottom: 25px !important;
  padding-left: 23px !important;
  color: #14212d !important;
  font-size: clamp(21px, 2vw, 26px) !important;
  line-height: 1.5 !important;
  font-weight: 900 !important;
  letter-spacing: -.025em !important;
  text-align: left !important;
}
.plr08 h3.plr08__subheading::before {
  content: "" !important;
  display: block !important;
  position: absolute;
  left: 0;
  top: .13em;
  width: 6px;
  height: 2.55em;
  border-radius: 4px;
  background: #0a914f;
}

.plr08__copy p {
  margin: 0 0 22px !important;
  padding: 0 !important;
  color: #293943 !important;
  font-size: 16px !important;
  line-height: 1.95 !important;
  font-weight: 500 !important;
  overflow-wrap: anywhere;
}
.plr08__copy p:last-child { margin-bottom: 0 !important; }
.plr08__copy strong { color: #087b46; font-weight: 800; }

.plr08 figure.plr08__visual {
  display: block;
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0;
}
.plr08__visual img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 4px !important;
  box-shadow: 0 12px 28px rgba(19, 68, 52, .065);
}

/* 下段 3つのポイント */
.plr08__features {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  margin-top: 46px;
  padding: 42px 28px 28px;
  border-radius: 7px;
  background: linear-gradient(115deg, #f0f7ea, #f7fbf2 48%, #eef7e9);
}
.plr08__features::before,
.plr08__features::after {
  content: "";
  position: absolute;
  width: 78px;
  height: 95px;
  opacity: .2;
  background:
    radial-gradient(ellipse at 35% 25%, #82bb67 0 28%, transparent 30%),
    radial-gradient(ellipse at 70% 50%, #82bb67 0 24%, transparent 26%),
    radial-gradient(ellipse at 38% 76%, #82bb67 0 23%, transparent 25%);
  pointer-events: none;
}
.plr08__features::before { top: -8px; left: -3px; transform: rotate(-24deg); }
.plr08__features::after { right: 0; bottom: 0; transform: rotate(150deg); }

.plr08__card {
  position: relative;
  min-width: 0;
  min-height: 205px;
  padding: 69px 13px 23px;
  border-radius: 8px;
  background: rgba(255,255,255,.95);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-shadow: 0 3px 13px rgba(45, 82, 43, .045);
}
.plr08__icon {
  position: absolute;
  left: 50%;
  top: -24px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 78px;
  height: 78px;
  padding: 17px;
  transform: translateX(-50%);
  border: 1px solid #e1ede0;
  border-radius: 50%;
  background: #fff;
  color: #0b9559;
  box-shadow: 0 3px 11px rgba(34, 80, 37, .10);
}
.plr08__icon svg { display: block; width: 100%; height: 100%; }

.plr08 .plr08__card h3 {
  color: #06834a !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  line-height: 1.45 !important;
  text-align: center !important;
  white-space: normal !important;
}
.plr08__cardrule {
  display: block;
  width: 50px;
  height: 1px;
  margin: 12px auto 14px;
  background: #0b9150;
}
.plr08__card p {
  margin: 0 !important;
  padding: 0 !important;
  color: #2c3842 !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  font-weight: 500 !important;
  text-align: center !important;
}

@media (max-width: 800px) {
  .plr08 { padding: 58px 0 65px !important; }
  .plr08__inner { width: calc(100% - 30px); }
  .plr08__header { margin-bottom: 30px; }
  .plr08__number { gap: 9px; margin-bottom: 12px; font-size: 15px; }
  .plr08__rule { width: 52px; }
  .plr08__leaf { width: 18px; height: 22px; }

  .plr08 h2.plr08__title {
    font-size: clamp(27px, 7.5vw, 39px) !important;
    line-height: 1.35 !important;
  }
  .plr08 .plr08__lead { margin-top: 9px !important; font-size: 14px !important; }

  .plr08__main {
    grid-template-columns: 1fr;
    gap: 28px;
    align-items: start;
  }
  .plr08__copy { order: 2; }
  .plr08__visual { order: 1; }

  .plr08 h3.plr08__subheading {
    margin-bottom: 18px !important;
    padding-left: 18px !important;
    font-size: 21px !important;
    line-height: 1.55 !important;
  }
  .plr08 h3.plr08__subheading::before {
    width: 5px;
    height: 2.5em;
  }
  .plr08__copy p {
    margin-bottom: 17px !important;
    font-size: 15px !important;
    line-height: 1.9 !important;
  }

  .plr08__features {
    grid-template-columns: 1fr;
    gap: 24px;
    margin-top: 34px;
    padding: 32px 14px 14px;
  }

  .plr08__card {
    min-height: 0;
    padding: 62px 14px 20px;
  }
  .plr08__icon {
    top: -22px;
    width: 72px;
    height: 72px;
    padding: 15px;
  }
  .plr08 .plr08__card h3 {
    font-size: 19px !important;
    line-height: 1.45 !important;
  }
  .plr08__cardrule {
    margin: 10px auto 12px;
  }
  .plr08__card p {
    font-size: 14px !important;
    line-height: 1.75 !important;
  }
}

/* Cocoon 見出し装飾の干渉を防止（REASON 08内のみ） */
.plr08 h2.plr08__title,
.plr08 h3.plr08__subheading,
.plr08 .plr08__card h3 {
  outline: none !important;
  text-decoration: none !important;
  text-indent: 0 !important;
}
.plr08 .plr08__card h3 {
  overflow-wrap: normal !important;
  word-break: normal !important;
}
.plr08 h3.plr08__subheading::before {
  box-shadow: none !important;
  border: 0 !important;
}
@media (max-width: 800px) {
  /* 3枚のカード上部アイコンが隣のカードと接触しない余白 */
  .plr08__features { row-gap: 44px; }
}

/* 説明用の見積書の参考画像に付ける注意書き */
.plr08 .plr08__visual figcaption {
  margin: 9px 0 0 !important;
  padding: 0 !important;
  color: #46555d !important;
  font-size: 12px !important;
  line-height: 1.6 !important;
  font-weight: 500 !important;
  background: none !important;
  border: none !important;
  text-align: left !important;
}
@media (max-width: 800px) {
  .plr08 .plr08__visual figcaption { font-size: 11px !important; }
}
/* =========================================================
   ペイントリーフ大阪｜REASON 09 追加用CSS
   このセクション専用。既存ヘッダー／CONCEPT／REASON01〜08を変更しません。
========================================================= */

.plr09,
.plr09 *,
.plr09 *::before,
.plr09 *::after { box-sizing: border-box; }

.plr09 {
  display: block;
  position: relative;
  width: 100%;
  margin: 0 !important;
  padding: 88px 0 95px !important;
  color: #12212c;
  background: #fff;
  overflow: hidden;
  isolation: isolate;
}

.plr09__inner {
  width: min(1220px, calc(100% - 48px));
  margin: 0 auto;
}

.plr09__header { text-align: center; margin: 0 0 42px; padding: 0; }

.plr09__number {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  margin: 0 0 19px;
  color: #07824a;
  font-weight: 900;
  font-size: 19px;
  line-height: 1.2;
  letter-spacing: .08em;
}
.plr09__rule { display: inline-block; width: 112px; height: 1px; background: #2b9b6b; }
.plr09__leaf { display: block; width: 25px; height: 30px; flex: none; }

/* Cocoonの見出し装飾を、このセクション内だけ解除 */
.plr09 h2.plr09__title,
.plr09 h3.plr09__subheading,
.plr09 .plr09__card h3 {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  background-image: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  font-family: inherit !important;
  font-style: normal !important;
}
.plr09 h2.plr09__title::before,
.plr09 h2.plr09__title::after,
.plr09 h3.plr09__subheading::after,
.plr09 .plr09__card h3::before,
.plr09 .plr09__card h3::after { content: none !important; display: none !important; }

.plr09 h2.plr09__title {
  color: #111e2b !important;
  font-size: clamp(33px, 3.7vw, 54px) !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;
  letter-spacing: -.035em !important;
  text-align: center !important;
}
.plr09__title span { color: #078449; }

.plr09 .plr09__lead {
  margin: 11px 0 0 !important;
  padding: 0 !important;
  color: #283b48 !important;
  font-size: 18px !important;
  line-height: 1.7 !important;
  font-weight: 500 !important;
}

.plr09__main {
  display: grid;
  grid-template-columns: minmax(0, .91fr) minmax(0, 1.09fr);
  align-items: center;
  gap: 45px;
}
.plr09__copy { min-width: 0; }

.plr09 h3.plr09__subheading {
  position: relative;
  margin-bottom: 25px !important;
  padding-left: 23px !important;
  color: #14212d !important;
  font-size: clamp(21px, 2vw, 26px) !important;
  line-height: 1.5 !important;
  font-weight: 900 !important;
  letter-spacing: -.025em !important;
  text-align: left !important;
}
.plr09 h3.plr09__subheading::before {
  content: "" !important;
  display: block !important;
  position: absolute;
  left: 0;
  top: .13em;
  width: 6px;
  height: 2.55em;
  border-radius: 4px;
  background: #0a914f;
}

.plr09__copy p {
  margin: 0 0 22px !important;
  padding: 0 !important;
  color: #293943 !important;
  font-size: 16px !important;
  line-height: 1.95 !important;
  font-weight: 500 !important;
  overflow-wrap: anywhere;
}
.plr09__copy p:last-child { margin-bottom: 0 !important; }
.plr09__copy strong { color: #087b46; font-weight: 800; }

.plr09 figure.plr09__visual {
  display: block;
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0;
}
.plr09__visual img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 4px !important;
  box-shadow: 0 12px 28px rgba(19, 68, 52, .065);
}

/* 下段 3つのポイント */
.plr09__features {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  margin-top: 46px;
  padding: 42px 28px 28px;
  border-radius: 7px;
  background: linear-gradient(115deg, #f0f7ea, #f7fbf2 48%, #eef7e9);
}
.plr09__features::before,
.plr09__features::after {
  content: "";
  position: absolute;
  width: 78px;
  height: 95px;
  opacity: .2;
  background:
    radial-gradient(ellipse at 35% 25%, #82bb67 0 28%, transparent 30%),
    radial-gradient(ellipse at 70% 50%, #82bb67 0 24%, transparent 26%),
    radial-gradient(ellipse at 38% 76%, #82bb67 0 23%, transparent 25%);
  pointer-events: none;
}
.plr09__features::before { top: -8px; left: -3px; transform: rotate(-24deg); }
.plr09__features::after { right: 0; bottom: 0; transform: rotate(150deg); }

.plr09__card {
  position: relative;
  min-width: 0;
  min-height: 205px;
  padding: 69px 13px 23px;
  border-radius: 8px;
  background: rgba(255,255,255,.95);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-shadow: 0 3px 13px rgba(45, 82, 43, .045);
}
.plr09__icon {
  position: absolute;
  left: 50%;
  top: -24px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 78px;
  height: 78px;
  padding: 17px;
  transform: translateX(-50%);
  border: 1px solid #e1ede0;
  border-radius: 50%;
  background: #fff;
  color: #0b9559;
  box-shadow: 0 3px 11px rgba(34, 80, 37, .10);
}
.plr09__icon svg { display: block; width: 100%; height: 100%; }

.plr09 .plr09__card h3 {
  color: #06834a !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  line-height: 1.45 !important;
  text-align: center !important;
  white-space: normal !important;
}
.plr09__cardrule {
  display: block;
  width: 50px;
  height: 1px;
  margin: 12px auto 14px;
  background: #0b9150;
}
.plr09__card p {
  margin: 0 !important;
  padding: 0 !important;
  color: #2c3842 !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  font-weight: 500 !important;
  text-align: center !important;
}

@media (max-width: 800px) {
  .plr09 { padding: 58px 0 65px !important; }
  .plr09__inner { width: calc(100% - 30px); }
  .plr09__header { margin-bottom: 30px; }
  .plr09__number { gap: 9px; margin-bottom: 12px; font-size: 15px; }
  .plr09__rule { width: 52px; }
  .plr09__leaf { width: 18px; height: 22px; }

  .plr09 h2.plr09__title {
    font-size: clamp(27px, 7.5vw, 39px) !important;
    line-height: 1.35 !important;
  }
  .plr09 .plr09__lead { margin-top: 9px !important; font-size: 14px !important; }

  .plr09__main {
    grid-template-columns: 1fr;
    gap: 28px;
    align-items: start;
  }
  .plr09__copy { order: 2; }
  .plr09__visual { order: 1; }

  .plr09 h3.plr09__subheading {
    margin-bottom: 18px !important;
    padding-left: 18px !important;
    font-size: 21px !important;
    line-height: 1.55 !important;
  }
  .plr09 h3.plr09__subheading::before {
    width: 5px;
    height: 2.5em;
  }
  .plr09__copy p {
    margin-bottom: 17px !important;
    font-size: 15px !important;
    line-height: 1.9 !important;
  }

  .plr09__features {
    grid-template-columns: 1fr;
    gap: 24px;
    margin-top: 34px;
    padding: 32px 14px 14px;
  }

  .plr09__card {
    min-height: 0;
    padding: 62px 14px 20px;
  }
  .plr09__icon {
    top: -22px;
    width: 72px;
    height: 72px;
    padding: 15px;
  }
  .plr09 .plr09__card h3 {
    font-size: 19px !important;
    line-height: 1.45 !important;
  }
  .plr09__cardrule {
    margin: 10px auto 12px;
  }
  .plr09__card p {
    font-size: 14px !important;
    line-height: 1.75 !important;
  }
}

/* Cocoon 見出し装飾の干渉を防止（REASON 09内のみ） */
.plr09 h2.plr09__title,
.plr09 h3.plr09__subheading,
.plr09 .plr09__card h3 {
  outline: none !important;
  text-decoration: none !important;
  text-indent: 0 !important;
}
.plr09 .plr09__card h3 {
  overflow-wrap: normal !important;
  word-break: normal !important;
}
.plr09 h3.plr09__subheading::before {
  box-shadow: none !important;
  border: 0 !important;
}
@media (max-width: 800px) {
  /* 3枚のカード上部アイコンが隣のカードと接触しない余白 */
  .plr09__features { row-gap: 44px; }
}

/* 保証書イメージと保証条件に関する注意書き */
.plr09 .plr09__visual figcaption {
  margin: 9px 0 0 !important;
  padding: 0 !important;
  color: #46555d !important;
  font-size: 12px !important;
  line-height: 1.6 !important;
  font-weight: 500 !important;
  background: none !important;
  border: none !important;
  text-align: left !important;
}
@media (max-width: 800px) {
  .plr09 .plr09__visual figcaption { font-size: 11px !important; }
}
/* =========================================================
   ペイントリーフ大阪｜REASON 10 追加用CSS
   このセクション専用。既存ヘッダー／CONCEPT／REASON01〜09を変更しません。
========================================================= */

.plr10,
.plr10 *,
.plr10 *::before,
.plr10 *::after { box-sizing: border-box; }

.plr10 {
  display: block;
  position: relative;
  width: 100%;
  margin: 0 !important;
  padding: 88px 0 95px !important;
  color: #12212c;
  background: #fff;
  overflow: hidden;
  isolation: isolate;
}

.plr10__inner {
  width: min(1220px, calc(100% - 48px));
  margin: 0 auto;
}

.plr10__header { text-align: center; margin: 0 0 42px; padding: 0; }

.plr10__number {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  margin: 0 0 19px;
  color: #07824a;
  font-weight: 900;
  font-size: 19px;
  line-height: 1.2;
  letter-spacing: .08em;
}
.plr10__rule { display: inline-block; width: 112px; height: 1px; background: #2b9b6b; }
.plr10__leaf { display: block; width: 25px; height: 30px; flex: none; }

/* Cocoonの見出し装飾を、このセクション内だけ解除 */
.plr10 h2.plr10__title,
.plr10 h3.plr10__subheading,
.plr10 .plr10__card h3 {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  background-image: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  font-family: inherit !important;
  font-style: normal !important;
}
.plr10 h2.plr10__title::before,
.plr10 h2.plr10__title::after,
.plr10 h3.plr10__subheading::after,
.plr10 .plr10__card h3::before,
.plr10 .plr10__card h3::after { content: none !important; display: none !important; }

.plr10 h2.plr10__title {
  color: #111e2b !important;
  font-size: clamp(33px, 3.7vw, 54px) !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;
  letter-spacing: -.035em !important;
  text-align: center !important;
}
.plr10__title span { color: #078449; }

.plr10 .plr10__lead {
  margin: 11px 0 0 !important;
  padding: 0 !important;
  color: #283b48 !important;
  font-size: 18px !important;
  line-height: 1.7 !important;
  font-weight: 500 !important;
}

.plr10__main {
  display: grid;
  grid-template-columns: minmax(0, .91fr) minmax(0, 1.09fr);
  align-items: center;
  gap: 45px;
}
.plr10__copy { min-width: 0; }

.plr10 h3.plr10__subheading {
  position: relative;
  margin-bottom: 25px !important;
  padding-left: 23px !important;
  color: #14212d !important;
  font-size: clamp(21px, 2vw, 26px) !important;
  line-height: 1.5 !important;
  font-weight: 900 !important;
  letter-spacing: -.025em !important;
  text-align: left !important;
}
.plr10 h3.plr10__subheading::before {
  content: "" !important;
  display: block !important;
  position: absolute;
  left: 0;
  top: .13em;
  width: 6px;
  height: 2.55em;
  border-radius: 4px;
  background: #0a914f;
}

.plr10__copy p {
  margin: 0 0 22px !important;
  padding: 0 !important;
  color: #293943 !important;
  font-size: 16px !important;
  line-height: 1.95 !important;
  font-weight: 500 !important;
  overflow-wrap: anywhere;
}
.plr10__copy p:last-child { margin-bottom: 0 !important; }
.plr10__copy strong { color: #087b46; font-weight: 800; }

.plr10 figure.plr10__visual {
  display: block;
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0;
}
.plr10__visual img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 4px !important;
  box-shadow: 0 12px 28px rgba(19, 68, 52, .065);
}

/* 下段 3つのポイント */
.plr10__features {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  margin-top: 46px;
  padding: 42px 28px 28px;
  border-radius: 7px;
  background: linear-gradient(115deg, #f0f7ea, #f7fbf2 48%, #eef7e9);
}
.plr10__features::before,
.plr10__features::after {
  content: "";
  position: absolute;
  width: 78px;
  height: 95px;
  opacity: .2;
  background:
    radial-gradient(ellipse at 35% 25%, #82bb67 0 28%, transparent 30%),
    radial-gradient(ellipse at 70% 50%, #82bb67 0 24%, transparent 26%),
    radial-gradient(ellipse at 38% 76%, #82bb67 0 23%, transparent 25%);
  pointer-events: none;
}
.plr10__features::before { top: -8px; left: -3px; transform: rotate(-24deg); }
.plr10__features::after { right: 0; bottom: 0; transform: rotate(150deg); }

.plr10__card {
  position: relative;
  min-width: 0;
  min-height: 205px;
  padding: 69px 13px 23px;
  border-radius: 8px;
  background: rgba(255,255,255,.95);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-shadow: 0 3px 13px rgba(45, 82, 43, .045);
}
.plr10__icon {
  position: absolute;
  left: 50%;
  top: -24px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 78px;
  height: 78px;
  padding: 17px;
  transform: translateX(-50%);
  border: 1px solid #e1ede0;
  border-radius: 50%;
  background: #fff;
  color: #0b9559;
  box-shadow: 0 3px 11px rgba(34, 80, 37, .10);
}
.plr10__icon svg { display: block; width: 100%; height: 100%; }

.plr10 .plr10__card h3 {
  color: #06834a !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  line-height: 1.45 !important;
  text-align: center !important;
  white-space: normal !important;
}
.plr10__cardrule {
  display: block;
  width: 50px;
  height: 1px;
  margin: 12px auto 14px;
  background: #0b9150;
}
.plr10__card p {
  margin: 0 !important;
  padding: 0 !important;
  color: #2c3842 !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  font-weight: 500 !important;
  text-align: center !important;
}

@media (max-width: 800px) {
  .plr10 { padding: 58px 0 65px !important; }
  .plr10__inner { width: calc(100% - 30px); }
  .plr10__header { margin-bottom: 30px; }
  .plr10__number { gap: 9px; margin-bottom: 12px; font-size: 15px; }
  .plr10__rule { width: 52px; }
  .plr10__leaf { width: 18px; height: 22px; }

  .plr10 h2.plr10__title {
    font-size: clamp(27px, 7.5vw, 39px) !important;
    line-height: 1.35 !important;
  }
  .plr10 .plr10__lead { margin-top: 9px !important; font-size: 14px !important; }

  .plr10__main {
    grid-template-columns: 1fr;
    gap: 28px;
    align-items: start;
  }
  .plr10__copy { order: 2; }
  .plr10__visual { order: 1; }

  .plr10 h3.plr10__subheading {
    margin-bottom: 18px !important;
    padding-left: 18px !important;
    font-size: 21px !important;
    line-height: 1.55 !important;
  }
  .plr10 h3.plr10__subheading::before {
    width: 5px;
    height: 2.5em;
  }
  .plr10__copy p {
    margin-bottom: 17px !important;
    font-size: 15px !important;
    line-height: 1.9 !important;
  }

  .plr10__features {
    grid-template-columns: 1fr;
    gap: 24px;
    margin-top: 34px;
    padding: 32px 14px 14px;
  }

  .plr10__card {
    min-height: 0;
    padding: 62px 14px 20px;
  }
  .plr10__icon {
    top: -22px;
    width: 72px;
    height: 72px;
    padding: 15px;
  }
  .plr10 .plr10__card h3 {
    font-size: 19px !important;
    line-height: 1.45 !important;
  }
  .plr10__cardrule {
    margin: 10px auto 12px;
  }
  .plr10__card p {
    font-size: 14px !important;
    line-height: 1.75 !important;
  }
}

/* Cocoon 見出し装飾の干渉を防止（REASON 10内のみ） */
.plr10 h2.plr10__title,
.plr10 h3.plr10__subheading,
.plr10 .plr10__card h3 {
  outline: none !important;
  text-decoration: none !important;
  text-indent: 0 !important;
}
.plr10 .plr10__card h3 {
  overflow-wrap: normal !important;
  word-break: normal !important;
}
.plr10 h3.plr10__subheading::before {
  box-shadow: none !important;
  border: 0 !important;
}
@media (max-width: 800px) {
  /* 3枚のカード上部アイコンが隣のカードと接触しない余白 */
  .plr10__features { row-gap: 44px; }
}
/* =========================================================
   ペイントリーフ大阪｜REASON 11 追加用CSS
   このセクション専用。既存ヘッダー／CONCEPT／REASON01〜10を変更しません。
========================================================= */

.plr11,
.plr11 *,
.plr11 *::before,
.plr11 *::after { box-sizing: border-box; }

.plr11 {
  display: block;
  position: relative;
  width: 100%;
  margin: 0 !important;
  padding: 88px 0 95px !important;
  color: #12212c;
  background: #fff;
  overflow: hidden;
  isolation: isolate;
}

.plr11__inner {
  width: min(1220px, calc(100% - 48px));
  margin: 0 auto;
}

.plr11__header { text-align: center; margin: 0 0 42px; padding: 0; }

.plr11__number {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  margin: 0 0 19px;
  color: #07824a;
  font-weight: 900;
  font-size: 19px;
  line-height: 1.2;
  letter-spacing: .08em;
}
.plr11__rule { display: inline-block; width: 112px; height: 1px; background: #2b9b6b; }
.plr11__leaf { display: block; width: 25px; height: 30px; flex: none; }

/* Cocoonの見出し装飾を、このセクション内だけ解除 */
.plr11 h2.plr11__title,
.plr11 h3.plr11__subheading,
.plr11 .plr11__card h3 {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  background-image: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  font-family: inherit !important;
  font-style: normal !important;
}
.plr11 h2.plr11__title::before,
.plr11 h2.plr11__title::after,
.plr11 h3.plr11__subheading::after,
.plr11 .plr11__card h3::before,
.plr11 .plr11__card h3::after { content: none !important; display: none !important; }

.plr11 h2.plr11__title {
  color: #111e2b !important;
  font-size: clamp(33px, 3.7vw, 54px) !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;
  letter-spacing: -.035em !important;
  text-align: center !important;
}
.plr11__title span { color: #078449; }

.plr11 .plr11__lead {
  margin: 11px 0 0 !important;
  padding: 0 !important;
  color: #283b48 !important;
  font-size: 18px !important;
  line-height: 1.7 !important;
  font-weight: 500 !important;
}

.plr11__main {
  display: grid;
  grid-template-columns: minmax(0, .91fr) minmax(0, 1.09fr);
  align-items: center;
  gap: 45px;
}
.plr11__copy { min-width: 0; }

.plr11 h3.plr11__subheading {
  position: relative;
  margin-bottom: 25px !important;
  padding-left: 23px !important;
  color: #14212d !important;
  font-size: clamp(21px, 2vw, 26px) !important;
  line-height: 1.5 !important;
  font-weight: 900 !important;
  letter-spacing: -.025em !important;
  text-align: left !important;
}
.plr11 h3.plr11__subheading::before {
  content: "" !important;
  display: block !important;
  position: absolute;
  left: 0;
  top: .13em;
  width: 6px;
  height: 2.55em;
  border-radius: 4px;
  background: #0a914f;
}

.plr11__copy p {
  margin: 0 0 22px !important;
  padding: 0 !important;
  color: #293943 !important;
  font-size: 16px !important;
  line-height: 1.95 !important;
  font-weight: 500 !important;
  overflow-wrap: anywhere;
}
.plr11__copy p:last-child { margin-bottom: 0 !important; }
.plr11__copy strong { color: #087b46; font-weight: 800; }

.plr11 figure.plr11__visual {
  display: block;
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0;
}
.plr11__visual img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 4px !important;
  box-shadow: 0 12px 28px rgba(19, 68, 52, .065);
}

/* 下段 3つのポイント */
.plr11__features {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  margin-top: 46px;
  padding: 42px 28px 28px;
  border-radius: 7px;
  background: linear-gradient(115deg, #f0f7ea, #f7fbf2 48%, #eef7e9);
}
.plr11__features::before,
.plr11__features::after {
  content: "";
  position: absolute;
  width: 78px;
  height: 95px;
  opacity: .2;
  background:
    radial-gradient(ellipse at 35% 25%, #82bb67 0 28%, transparent 30%),
    radial-gradient(ellipse at 70% 50%, #82bb67 0 24%, transparent 26%),
    radial-gradient(ellipse at 38% 76%, #82bb67 0 23%, transparent 25%);
  pointer-events: none;
}
.plr11__features::before { top: -8px; left: -3px; transform: rotate(-24deg); }
.plr11__features::after { right: 0; bottom: 0; transform: rotate(150deg); }

.plr11__card {
  position: relative;
  min-width: 0;
  min-height: 205px;
  padding: 69px 13px 23px;
  border-radius: 8px;
  background: rgba(255,255,255,.95);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-shadow: 0 3px 13px rgba(45, 82, 43, .045);
}
.plr11__icon {
  position: absolute;
  left: 50%;
  top: -24px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 78px;
  height: 78px;
  padding: 17px;
  transform: translateX(-50%);
  border: 1px solid #e1ede0;
  border-radius: 50%;
  background: #fff;
  color: #0b9559;
  box-shadow: 0 3px 11px rgba(34, 80, 37, .10);
}
.plr11__icon svg { display: block; width: 100%; height: 100%; }

.plr11 .plr11__card h3 {
  color: #06834a !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  line-height: 1.45 !important;
  text-align: center !important;
  white-space: normal !important;
}
.plr11__cardrule {
  display: block;
  width: 50px;
  height: 1px;
  margin: 12px auto 14px;
  background: #0b9150;
}
.plr11__card p {
  margin: 0 !important;
  padding: 0 !important;
  color: #2c3842 !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  font-weight: 500 !important;
  text-align: center !important;
}

@media (max-width: 800px) {
  .plr11 { padding: 58px 0 65px !important; }
  .plr11__inner { width: calc(100% - 30px); }
  .plr11__header { margin-bottom: 30px; }
  .plr11__number { gap: 9px; margin-bottom: 12px; font-size: 15px; }
  .plr11__rule { width: 52px; }
  .plr11__leaf { width: 18px; height: 22px; }

  .plr11 h2.plr11__title {
    font-size: clamp(27px, 7.5vw, 39px) !important;
    line-height: 1.35 !important;
  }
  .plr11 .plr11__lead { margin-top: 9px !important; font-size: 14px !important; }

  .plr11__main {
    grid-template-columns: 1fr;
    gap: 28px;
    align-items: start;
  }
  .plr11__copy { order: 2; }
  .plr11__visual { order: 1; }

  .plr11 h3.plr11__subheading {
    margin-bottom: 18px !important;
    padding-left: 18px !important;
    font-size: 21px !important;
    line-height: 1.55 !important;
  }
  .plr11 h3.plr11__subheading::before {
    width: 5px;
    height: 2.5em;
  }
  .plr11__copy p {
    margin-bottom: 17px !important;
    font-size: 15px !important;
    line-height: 1.9 !important;
  }

  .plr11__features {
    grid-template-columns: 1fr;
    gap: 24px;
    margin-top: 34px;
    padding: 32px 14px 14px;
  }

  .plr11__card {
    min-height: 0;
    padding: 62px 14px 20px;
  }
  .plr11__icon {
    top: -22px;
    width: 72px;
    height: 72px;
    padding: 15px;
  }
  .plr11 .plr11__card h3 {
    font-size: 19px !important;
    line-height: 1.45 !important;
  }
  .plr11__cardrule {
    margin: 10px auto 12px;
  }
  .plr11__card p {
    font-size: 14px !important;
    line-height: 1.75 !important;
  }
}

/* Cocoon 見出し装飾の干渉を防止（REASON 11内のみ） */
.plr11 h2.plr11__title,
.plr11 h3.plr11__subheading,
.plr11 .plr11__card h3 {
  outline: none !important;
  text-decoration: none !important;
  text-indent: 0 !important;
}
.plr11 .plr11__card h3 {
  overflow-wrap: normal !important;
  word-break: normal !important;
}
.plr11 h3.plr11__subheading::before {
  box-shadow: none !important;
  border: 0 !important;
}
@media (max-width: 800px) {
  /* 3枚のカード上部アイコンが隣のカードと接触しない余白 */
  .plr11__features { row-gap: 44px; }
}
/* ==========================================================
   ペイントリーフ大阪｜選ばれる理由 最終セクション（単独追加用）
   REASON 01〜11 に干渉しない .plrclosing 専用のCSS
========================================================== */
.plrclosing,
.plrclosing *,
.plrclosing *::before,
.plrclosing *::after { box-sizing: border-box; }

.plrclosing {
  display: block;
  width: 100%;
  margin: 0 !important;
  padding: 62px 0 62px !important;
  background: #fff;
  color: #122536;
  overflow: hidden;
  isolation: isolate;
}
.plrclosing__inner {
  width: min(1220px, calc(100% - 48px));
  margin: 0 auto;
}
/* Cocoonのページ側見出し装飾を、このセクション内だけ解除 */
.plrclosing h2.plrclosing__title,
.plrclosing h3.plrclosing__contact-title {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-shadow: none !important;
  font-family: inherit !important;
  font-style: normal !important;
  letter-spacing: -.035em !important;
}
.plrclosing h2.plrclosing__title::before,
.plrclosing h2.plrclosing__title::after,
.plrclosing h3.plrclosing__contact-title::before,
.plrclosing h3.plrclosing__contact-title::after {
  content: none !important;
  display: none !important;
}

/* 上段：住宅とメッセージ */
.plrclosing__hero {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 405px;
  isolation: isolate;
  overflow: hidden;
  border-radius: 10px 10px 0 0;
  background: #e8f2e8;
}
.plrclosing__house {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: cover;
  object-position: 57% center;
}
.plrclosing__hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(90deg,
    rgba(255,255,255,.99) 0%,
    rgba(255,255,255,.95) 29%,
    rgba(255,255,255,.81) 47%,
    rgba(255,255,255,.15) 75%,
    rgba(255,255,255,0) 100%);
  pointer-events: none;
}
.plrclosing__hero-copy {
  width: 76%;
  position: relative;
  z-index: 1;
  padding: 42px 30px 66px 45px;
}
.plrclosing .plrclosing__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  margin: 0 0 21px !important;
  padding: 0 0 9px !important;
  color: #07834b !important;
  border-bottom: 2px solid #0a9156;
  font-size: 20px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: .09em;
  transform: rotate(-4deg);
}
.plrclosing__eyebrow span { color: #8bbb30; font-size: 24px; }
.plrclosing h2.plrclosing__title {
  color: #113252 !important;
  font-size: clamp(32px, 3.5vw, 51px) !important;
  line-height: 1.33 !important;
  font-weight: 900 !important;
  text-align: left !important;
}
.plrclosing__mobile-only { display: none; }
.plrclosing__title span {
  display: block;
  color: #078b50;
}
.plrclosing .plrclosing__intro {
  max-width: 715px;
  margin: 19px 0 0 !important;
  padding: 0 !important;
  color: #19374a !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.86 !important;
}

/* 4つの安心（画像の上段と一体化） */
.plrclosing__strengths {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: -37px 16px 0;
  padding: 21px 9px;
  border: 1px solid #e6eee1;
  border-radius: 11px;
  background: rgba(251,253,247,.97);
  box-shadow: 0 10px 35px rgba(23,73,42,.095);
}
.plrclosing__strength {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  min-width: 0;
  padding: 7px 11px;
}
.plrclosing__strength + .plrclosing__strength { border-left: 1px solid #e2ebdc; }
.plrclosing__strength-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 58px;
  width: 58px;
  height: 58px;
  padding: 14px;
  border-radius: 50%;
  background: #fff;
  color: #079150;
  box-shadow: 0 6px 16px rgba(21,76,43,.11);
}
.plrclosing__strength-icon svg { display:block; width:100%; height:100%; }
.plrclosing__strength strong {
  display: block;
  margin: 0 0 5px;
  color: #078647;
  font-size: 20px;
  font-weight: 900;
  line-height: 1.32;
}
.plrclosing__strength p {
  margin: 0 !important;
  padding: 0 !important;
  color: #273b4a !important;
  font-size: 12px !important;
  line-height: 1.65 !important;
  font-weight: 600 !important;
}

/* お問い合わせフォームに接続する案内。ボタン／フォームなし */
.plrclosing__contact {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, .9fr);
  gap: 26px;
  align-items: stretch;
  margin-top: 20px;
  padding: 13px;
  border-radius: 10px;
  background: #f5f9f2;
}
.plrclosing__contact-main {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 30px 25px 33px 38px;
  border-radius: 6px;
  color: #fff;
  background: linear-gradient(115deg, #087542 0%, #009357 63%, #0b8047 100%);
  overflow: hidden;
}
.plrclosing__contact-main::before,
.plrclosing__contact-main::after {
  content: "";
  position: absolute;
  inset: auto;
  pointer-events: none;
}
.plrclosing__contact-main::before {
  width: 130px;
  height: 130px;
  left: -78px;
  bottom: -30px;
  border: 22px solid rgba(199,241,188,.16);
  border-radius: 50%;
}
.plrclosing__contact-main::after {
  width: 230px;
  height: 100px;
  right: -120px;
  top: -45px;
  background: rgba(224,250,206,.13);
  transform: rotate(-14deg);
  border-radius: 60%;
}
.plrclosing .plrclosing__contact-kicker {
  margin: 0 0 12px !important;
  padding: 0 !important;
  color: #fff !important;
  font-size: 19px !important;
  font-weight: 900 !important;
  line-height: 1.5 !important;
  letter-spacing: .015em;
}
.plrclosing h3.plrclosing__contact-title {
  position: relative;
  z-index: 1;
  color: #fff !important;
  font-size: clamp(27px, 2.15vw, 33px) !important;
  line-height: 1.4 !important;
  font-weight: 900 !important;
  text-align: left !important;
}
.plrclosing__contact-title span { color: #fff36c; display: inline-block; white-space: nowrap; }
.plrclosing__contact-side {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 0;
  padding: 17px 5px;
}
.plrclosing__seals {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
  max-width: 425px;
  gap: 11px;
}
.plrclosing__seal {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 50%;
  border: 2px dashed rgba(255,255,255,.9);
  outline: 1px solid rgba(64,124,67,.14);
  text-align: center;
  font-size: clamp(13px, 1.25vw, 18px);
  font-weight: 900;
  line-height: 1.4;
  color: #126140;
}
.plrclosing__seal--green { background: #d3ebad; }
.plrclosing__seal--yellow { background: #fff1a9; color: #34486b; }
.plrclosing__seal--blue { background: #c3eaf6; color: #173e67; }
.plrclosing .plrclosing__contact-note {
  margin: 17px 0 0 !important;
  padding: 0 !important;
  color: #263d52 !important;
  font-size: 13px !important;
  line-height: 1.8 !important;
  font-weight: 600 !important;
  text-align: center !important;
}

/* 締めのメッセージ */
.plrclosing__last {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 28px;
  align-items: center;
  margin-top: 20px;
  padding: 28px 35px;
  border: 2px solid #cce9ba;
  border-radius: 9px;
  background: linear-gradient(125deg, #f5fbf3, #fff 52%, #f8fdf4);
}
.plrclosing__last-title {
  display: flex;
  align-items: center;
  gap: 15px;
  padding-right: 18px;
  border-right: 1px solid #d8e9cf;
}
.plrclosing__leaf {
  flex: none;
  color: #8ebd4d;
  font-size: 47px;
  line-height: 1;
}
.plrclosing__last-title strong {
  color: #078748;
  font-size: clamp(20px, 1.65vw, 24px);
  line-height: 1.48;
  font-weight: 900;
}
.plrclosing__last p {
  margin: 0 !important;
  padding: 0 !important;
  color: #22384a !important;
  font-size: 15px !important;
  line-height: 1.9 !important;
  font-weight: 600 !important;
}

@media (max-width: 1020px) {
  .plrclosing__strengths { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 15px; }
  .plrclosing__strength:nth-child(3) { border-left: 0; }
  .plrclosing__contact { grid-template-columns: 1fr; }
  .plrclosing__contact-side { padding: 9px 15px 15px; }
  .plrclosing__seals { max-width: 420px; }
  .plrclosing__seal { font-size: 16px; }
}
@media (max-width: 800px) {
  .plrclosing { padding: 48px 0 44px !important; }
  .plrclosing__inner { width: calc(100% - 30px); }
  .plrclosing__hero {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    min-height: 0;
    border-radius: 8px 8px 0 0;
    background: #f8fcf6;
  }
  .plrclosing__house {
    position: relative;
    z-index: auto;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16/9;
    object-fit: cover;
    object-position: 65% center;
  }
  .plrclosing__hero::before { display: none; }
  .plrclosing__hero-copy {
    width: 100%;
    padding: 25px 19px 58px;
    background: #f8fcf6;
  }
  .plrclosing .plrclosing__eyebrow { margin-bottom: 15px !important; font-size: 15px !important; }
  .plrclosing h2.plrclosing__title { font-size: clamp(23px, 6.3vw, 30px) !important; line-height: 1.47 !important; }
  .plrclosing__mobile-only { display: block; }
  .plrclosing .plrclosing__intro { margin-top: 15px !important; font-size: 15px !important; line-height: 1.85 !important; }
  .plrclosing__desktop-only { display: none; }
  .plrclosing__strengths {
    margin: -28px 9px 0;
    padding: 19px 7px;
    gap: 12px 0;
  }
  .plrclosing__strength { justify-content: start; padding: 8px 7px; gap: 8px; }
  .plrclosing__strength-icon { flex-basis: 44px; width: 44px; height: 44px; padding: 11px; }
  .plrclosing__strength strong { font-size: 16px; }
  .plrclosing__strength p { font-size: 11px !important; line-height: 1.55 !important; }
  .plrclosing__contact { margin-top: 17px; gap: 11px; padding: 9px; }
  .plrclosing__contact-main { padding: 25px 17px; }
  .plrclosing .plrclosing__contact-kicker { font-size: 16px !important; }
  .plrclosing h3.plrclosing__contact-title { font-size: clamp(20px, 5.4vw, 27px) !important; line-height: 1.48 !important; }
  .plrclosing__contact-side { padding: 14px 4px 18px; }
  .plrclosing__seals { gap: 8px; }
  .plrclosing__seal { font-size: clamp(12px, 3vw, 16px); }
  .plrclosing .plrclosing__contact-note { font-size: 13px !important; }
  .plrclosing__last { grid-template-columns: 1fr; gap: 13px; padding: 20px 19px; }
  .plrclosing__last-title { border-right: 0; border-bottom: 1px solid #d8e9cf; padding: 0 0 14px; }
  .plrclosing__leaf { font-size: 26px; }
  .plrclosing__last-title { gap: 8px; }
  .plrclosing__last-title strong { font-size: 19px; }
  .plrclosing__last p { font-size: 14px !important; line-height: 1.85 !important; }
}
@media (max-width: 390px) {
  .plrclosing__inner { width: calc(100% - 24px); }
  .plrclosing__strengths { margin-inline: 5px; padding-inline: 4px; }
  .plrclosing__strength { flex-direction: column; text-align: center; }
  .plrclosing__strength p { font-size: 11px !important; }
  .plrclosing__seal { font-size: 12px; }
}
/* =========================================================
   ペイントリーフ大阪「選ばれる理由」ページだけの
   TOPと同じ30秒フォーム表示補正
   ・固定ページ /reason/ で .plrclosing がある場合に限る
   ・CF7やTOP・スタッフ紹介ページは変更しない
   ・既存CSSの最後に一度だけ追加する
   ・フォームのショートコード/HTMLは変更しない
   ========================================================= */
/* =========================================================
   選ばれる理由ページ：TOP 30秒フォームを同一デザインで共通利用
   TOP側は変更せず、.plrclosing があるページにだけ配置ルールを適用
========================================================= */

/* =========================================================
   TOP画像フォーム PC幅・位置 修正版
========================================================= */

/* TOPのCF7外側についている制限を全部解除 */
body:has(.plrclosing) .wpcf7:has(.pl-visual-form) {
  width: 100% !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}


/* CF7のform自体も横幅100% */
body:has(.plrclosing) .wpcf7:has(.pl-visual-form) form {
  width: 100% !important;
  max-width: none !important;

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


/* =========================================================
   背景画像本体
========================================================= */

body:has(.plrclosing) .pl-visual-form {
  position: relative !important;

  width: min(1220px, calc(100vw - 40px)) !important;
  max-width: 1220px !important;

  aspect-ratio: 3 / 2 !important;

  margin: 55px auto !important;

  background-image:
    url("https://paintleaf-osaka.com/wp-content/uploads/2026/09/paintleaf-osaka-top-contact-form-bg.webp") !important;

  background-size: 100% 100% !important;
  background-repeat: no-repeat !important;
  background-position: center !important;

  overflow: hidden !important;

  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}


/* =========================================================
   白い点線エリアに本物フォームをピッタリ配置
========================================================= */

body:has(.plrclosing) .pl-visual-form__live {
  position: absolute !important;

  left: 6.1% !important;
  top: 36.3% !important;

  width: 87.8% !important;
  height: 35.0% !important;

  margin: 0 !important;

  padding: 1.3% 3.2% 1.2% !important;

  box-sizing: border-box !important;

  background: #fff !important;

  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;

  z-index: 5 !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}


/* =========================================================
   PCフォーム内部を少しコンパクトに
========================================================= */

body:has(.plrclosing) .pl-vf-row {
  display: grid !important;

  grid-template-columns:
    135px minmax(0, 1fr) !important;

  gap: 16px !important;

  align-items: center !important;

  min-height: 51px !important;

  padding: 0 !important;

  border-bottom: 1px solid #e8ece8 !important;
}


body:has(.plrclosing) .pl-vf-row--check {
  min-height: 45px !important;
}


body:has(.plrclosing) .pl-vf-label {
  margin: 0 !important;
  padding: 0 !important;

  font-size: 13px !important;
}


body:has(.plrclosing) .pl-visual-form input[type="text"],
body:has(.plrclosing) .pl-visual-form input[type="tel"] {
  width: 100% !important;
  height: 42px !important;

  padding: 0 14px !important;

  box-sizing: border-box !important;

  font-size: 14px !important;
}


body:has(.plrclosing) .pl-vf-control .wpcf7-list-item {
  margin: 2px 14px 2px 0 !important;
}


body:has(.plrclosing) .pl-vf-control .wpcf7-list-item label {
  font-size: 11px !important;
}


body:has(.plrclosing) .pl-vf-control input[type="checkbox"] {
  width: 17px !important;
  height: 17px !important;
}


/* 同意 */
body:has(.plrclosing) .pl-vf-bottom {
  padding-top: 8px !important;
}


body:has(.plrclosing) .pl-vf-privacy {
  margin-bottom: 7px !important;

  font-size: 9px !important;
}


/* ボタン */
body:has(.plrclosing) .pl-vf-submit {
  width: 390px !important;
  max-width: 100% !important;

  margin: 0 auto !important;
}


body:has(.plrclosing) .pl-vf-submit input[type="submit"] {
  height: 48px !important;

  font-size: 14px !important;

  border-radius: 30px !important;
}


/* =========================================================
   スマホはTOPと同じ縦型を維持
========================================================= */

@media screen and (max-width: 768px) {

  body:has(.plrclosing) .pl-visual-form {
    width: calc(100% - 20px) !important;

    aspect-ratio: auto !important;

    min-height: 720px !important;

    margin: 30px auto !important;

    background-size: auto 360px !important;
    background-position: top center !important;

    background-color: #f4f9ed !important;

    border-radius: 12px !important;
  }


  body:has(.plrclosing) .pl-visual-form__live {
    position: relative !important;

    left: auto !important;
    top: auto !important;

    width: calc(100% - 24px) !important;
    height: auto !important;

    margin: 300px auto 0 !important;

    padding: 22px 16px 24px !important;

    background: #fff !important;

    border-radius: 12px !important;

    box-shadow:
      0 8px 25px rgba(28,83,56,.10) !important;
  }


  body:has(.plrclosing) .pl-vf-row {
    display: block !important;

    min-height: 0 !important;

    padding: 11px 0 !important;
  }


  body:has(.plrclosing) .pl-vf-label {
    margin-bottom: 7px !important;
  }


  body:has(.plrclosing) .pl-visual-form input[type="text"],
  body:has(.plrclosing) .pl-visual-form input[type="tel"] {
    height: 48px !important;

    font-size: 16px !important;
  }


  body:has(.plrclosing) .pl-vf-submit {
    width: 100% !important;
  }


  body:has(.plrclosing) .pl-vf-submit input[type="submit"] {
    height: 55px !important;
  }

}


@media screen and (max-width: 767px) {

  /* =========================================
     フォーム全体
  ========================================= */

  body:has(.plrclosing) .pl-visual-form {
    position: relative !important;

    width: calc(100% - 20px) !important;
    max-width: 430px !important;

    min-height: 0 !important;
    aspect-ratio: auto !important;

    margin: 28px auto 34px !important;

    /* PC画像は背景として使わない */
    background-image: none !important;
    background-color: #f3f7ee !important;

    /*
      上部にPC画像の「見出し部分だけ」を
      表示するためのスペース
    */
    padding:
      calc(22% + 12px)
      10px
      16px !important;

    box-sizing: border-box !important;

    border-radius: 14px !important;

    overflow: hidden !important;
  }


  /* =========================================
     元画像の上部だけ使用
     30秒・見出し・住宅・職人
  ========================================= */

  body:has(.plrclosing) .pl-visual-form::before {
    content: "" !important;

    position: absolute !important;

    top: 0 !important;
    left: 0 !important;

    width: 100% !important;

    aspect-ratio: 1000 / 220 !important;

    background-image:
      url("https://paintleaf-osaka.com/wp-content/uploads/2026/09/paintleaf-osaka-top-contact-form-bg.webp") !important;

    background-size: 100% auto !important;
    background-repeat: no-repeat !important;
    background-position: top center !important;

    z-index: 1 !important;
  }


  /* =========================================
     本物のCF7フォーム
  ========================================= */

  body:has(.plrclosing) .pl-visual-form__live {
    position: relative !important;

    left: auto !important;
    top: auto !important;

    width: 100% !important;
    height: auto !important;

    margin: 0 !important;

    padding: 20px 14px 16px !important;

    box-sizing: border-box !important;

    background: #fff !important;

    border: 1px solid #dce7d9 !important;
    border-radius: 12px !important;

    box-shadow:
      0 6px 18px rgba(28,83,56,.08) !important;

    display: block !important;

    transform: none !important;

    z-index: 5 !important;
  }


  /* =========================================
     各項目
  ========================================= */

  body:has(.plrclosing) .pl-visual-form .pl-vf-row {
    display: block !important;

    min-height: 0 !important;

    margin: 0 0 18px !important;

    padding: 0 0 18px !important;

    transform: none !important;

    border-bottom: 1px solid #e8ece8 !important;
  }


  body:has(.plrclosing) .pl-visual-form
  .pl-vf-row:not(.pl-vf-row--check)
  + .pl-vf-row {
    margin-top: 0 !important;
  }


  /* 希望内容 */
  body:has(.plrclosing) .pl-visual-form .pl-vf-row--check {
    margin: 0 0 18px !important;
    padding: 0 0 18px !important;

    transform: none !important;
  }


  /* ラベル */
  body:has(.plrclosing) .pl-visual-form .pl-vf-label {
    display: block !important;

    margin: 0 0 10px !important;
    padding: 0 !important;

    color: #087847 !important;

    font-size: 14px !important;
    font-weight: 700 !important;

    line-height: 1.5 !important;

    white-space: normal !important;

    transform: none !important;
  }


  /* =========================================
     チェックボックス
  ========================================= */

  body:has(.plrclosing)
  .pl-visual-form
  .pl-vf-control
  .wpcf7-checkbox {
    display: grid !important;

    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;

    gap: 12px 8px !important;
  }


  body:has(.plrclosing)
  .pl-visual-form
  .pl-vf-control
  .wpcf7-list-item {
    margin: 0 !important;
  }


  body:has(.plrclosing)
  .pl-visual-form
  .pl-vf-control
  .wpcf7-list-item label {
    display: flex !important;

    align-items: center !important;

    gap: 7px !important;

    font-size: 13px !important;
    line-height: 1.4 !important;
  }


  body:has(.plrclosing)
  .pl-visual-form
  .pl-vf-control
  input[type="checkbox"] {
    width: 21px !important;
    height: 21px !important;

    flex: 0 0 21px !important;
  }


  /* =========================================
     名前・電話番号
  ========================================= */

  body:has(.plrclosing) .pl-visual-form input[type="text"],
  body:has(.plrclosing) .pl-visual-form input[type="tel"] {
    width: 100% !important;
    height: 52px !important;

    margin: 0 !important;

    padding: 0 14px !important;

    box-sizing: border-box !important;

    border: 1px solid #ccd6cf !important;
    border-radius: 8px !important;

    background: #fff !important;

    font-size: 16px !important;

    transform: none !important;
  }


  /* =========================================
     エラー「入力してください」
  ========================================= */

  body:has(.plrclosing)
  .pl-visual-form
  .wpcf7-not-valid-tip {
    position: static !important;

    display: block !important;

    margin: 6px 0 0 !important;

    color: #c62828 !important;

    font-size: 12px !important;
    font-weight: 700 !important;

    line-height: 1.5 !important;
  }


  /* =========================================
     送信ボタン
  ========================================= */

  body:has(.plrclosing) .pl-visual-form .pl-vf-bottom {
    margin: 2px 0 0 !important;
    padding: 0 !important;

    transform: none !important;
  }


  body:has(.plrclosing) .pl-visual-form .pl-vf-submit {
    width: 100% !important;

    margin: 0 !important;
  }


  body:has(.plrclosing)
  .pl-visual-form
  .pl-vf-submit
  input[type="submit"] {
    width: 100% !important;
    height: 56px !important;

    margin: 0 !important;

    font-size: 15px !important;

    border-radius: 30px !important;
  }


  /* =========================================
     CF7 メッセージ
  ========================================= */

  body:has(.plrclosing)
  .pl-visual-form
  .wpcf7-response-output {
    position: static !important;

    margin: 12px 0 0 !important;

    padding: 9px !important;

    font-size: 12px !important;
  }


  body:has(.plrclosing)
  .pl-visual-form
  .wpcf7-spinner {
    position: static !important;

    display: block !important;

    margin: 8px auto 0 !important;
  }


  /* =========================================
     スマホ用 安心項目
  ========================================= */

  body:has(.plrclosing) .pl-visual-form__live::after {
    content:
      "相談無料　｜　現地調査無料\A 相見積もり歓迎　｜　しつこい営業なし";

    white-space: pre-line;

    display: block;

    margin-top: 15px;

    padding: 11px 6px;

    color: #087847;

    background: #f1f7ec;

    border-radius: 9px;

    font-size: 11px;
    font-weight: 700;

    line-height: 1.8;

    text-align: center;
  }


 /* =========================================
   メール・詳しいお問い合わせへの導線
========================================= */

body:has(.plrclosing)
.pl-visual-form
.pl-visual-form__contact-link {
  position: relative !important;

  left: auto !important;
  bottom: auto !important;

  width: 100% !important;
  height: auto !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;

  box-sizing: border-box !important;

  margin: 12px 0 0 !important;

  padding: 13px 10px 14px !important;

  color: #087847 !important;
  background: #fff !important;

  border: 1px solid #d6e3d4 !important;
  border-radius: 10px !important;

  font-size: 0 !important;
  text-decoration: none !important;

  z-index: 10 !important;
}


/* 上の説明 */
body:has(.plrclosing)
.pl-visual-form
.pl-visual-form__contact-link::before {
  content: "電話が苦手な方・メールで相談したい方へ";

  display: block;

  margin-bottom: 5px;

  color: #68746d !important;

  font-size: 11px !important;
  font-weight: 500 !important;

  line-height: 1.5 !important;
}


/* メイン文字 */
body:has(.plrclosing)
.pl-visual-form
.pl-visual-form__contact-link::after {
  content: "詳しいお問い合わせフォームへ →";

  display: block;

  color: #087847 !important;

  font-size: 14px !important;
  font-weight: 700 !important;

  line-height: 1.5 !important;
}

}


/* ========================================
   TOP簡易フォーム
   スマホは上部画像を画面いっぱいに表示
======================================== */
@media screen and (max-width: 767px) {

  /* フォーム全体を画面幅まで広げる */
  body:has(.plrclosing) .pl-visual-form {
    width: 100vw !important;
    max-width: none !important;

    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    padding-top: 42% !important;

    border-radius: 0 !important;
  }

  /* 上部画像 */
  body:has(.plrclosing) .pl-visual-form::before {
    width: 100vw !important;
    height: 42vw !important;

    aspect-ratio: auto !important;

    background-size: 100% auto !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;
  }

  /* 本物のフォームは左右に少し余白を残す */
  body:has(.plrclosing) .pl-visual-form__live {
    width: calc(100% - 24px) !important;

    margin-left: auto !important;
    margin-right: auto !important;
  }

}
/* ========================================
   TOP簡易フォーム スマホ
   上部画像をグリーン部分だけにする
======================================== */
@media screen and (max-width: 767px) {

  body:has(.plrclosing) .pl-visual-form {
    /* 42% → 上部デザイン部分だけ */
    padding-top: 24vw !important;
  }

  body:has(.plrclosing) .pl-visual-form::before {
    width: 100vw !important;
    height: 24vw !important;

    aspect-ratio: auto !important;

    background-size: 100vw auto !important;
    background-position: top center !important;
    background-repeat: no-repeat !important;
  }

  /* 本物のフォームを画像直下へ */
  body:has(.plrclosing) .pl-visual-form__live {
    margin-top: 0 !important;
  }

}
/* ========================================
   TOP簡易フォーム
   スマホ専用ヘッダー画像
======================================== */
@media screen and (max-width: 767px) {

  body:has(.plrclosing) .pl-visual-form {
    width: 100vw !important;
    max-width: none !important;

    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    /* 3:1画像の高さ */
    padding-top: 33.333vw !important;

    background-image: none !important;
    background-color: #f3f7ee !important;

    border-radius: 0 !important;
  }

  /* スマホ専用画像 */
  body:has(.plrclosing) .pl-visual-form::before {
    content: "" !important;

    position: absolute !important;

    top: 0 !important;
    left: 0 !important;

    width: 100vw !important;
    height: 33.333vw !important;

    background-image:
      url("https://paintleaf-osaka.com/wp-content/uploads/2026/09/paintleaf-osaka-top-contact-mobile.webp") !important;

    background-size: 100% 100% !important;
    background-position: center !important;
    background-repeat: no-repeat !important;

    z-index: 1 !important;
  }

  /* 本物のフォームは画像のすぐ下 */
  body:has(.plrclosing) .pl-visual-form__live {
    width: calc(100% - 24px) !important;

    margin: 0 auto !important;
  }

}


/* このページだけ：白いカード枠を解除、フォーム画像を中央へ配置 */
body:has(.plrclosing) .wpcf7:has(.pl-visual-form) {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
body:has(.plrclosing) .wpcf7:has(.pl-visual-form) > form {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

@media screen and (min-width: 769px) {
  /* Cocoonの本文エリアが狭くても、TOPに近い幅で中央配置 */
  body:has(.plrclosing) .wpcf7:has(.pl-visual-form) .pl-visual-form {
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: min(1220px, calc(100vw - 40px)) !important;
    max-width: none !important;
    margin: 22px 0 32px !important;
  }
}

@media screen and (max-width: 768px) {
  body:has(.plrclosing) .wpcf7:has(.pl-visual-form) .pl-visual-form {
    left: auto !important;
    transform: none !important;
    margin-top: 16px !important;
    margin-bottom: 26px !important;
  }
}
/* =========================================================
   ペイントリーフ大阪｜料金・費用ページ
   SECTION 01：ヘッダー専用CSS
   完成済みの他ページ・SECTION 02以降には適用しません。
========================================================= */

/* Cocoonの固定ページ自動タイトルを料金ページに限って非表示 */
body:has(.pl-price01) .article-header {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 万一、タイトルが別の位置で表示される設定への対応 */
body:has(.pl-price01) h1.entry-title,
body:has(.pl-price01) .article-header .entry-title {
  display: none !important;
}

/* メニューとヘッダーの間の余分な上余白を除去。料金ページだけ */
body:has(.pl-price01) #content,
body:has(.pl-price01) .content,
body:has(.pl-price01) .content-in,
body:has(.pl-price01) #main,
body:has(.pl-price01) main.main,
body:has(.pl-price01) .article,
body:has(.pl-price01) .entry-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* GutenbergのカスタムHTMLブロックに自動で付く余白を除去 */
body:has(.pl-price01) .entry-content > .wp-block-html:has(.pl-price01) {
  margin: 0 !important;
  padding: 0 !important;
}

/* PC・スマホ共通：画像を一切トリミングしない */
.pl-price01,
.pl-price01 * {
  box-sizing: border-box;
}

.pl-price01 {
  display: block;
  position: relative;
  width: 100vw;
  max-width: none;
  margin: 0 0 0 calc(50% - 50vw) !important;
  padding: 0 !important;
  background: #fff;
  overflow: hidden;
}

.pl-price01__picture,
.pl-price01__image {
  display: block;
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.pl-price01__image {
  height: auto !important;
  object-fit: contain !important;
}

/* アクセシビリティ・SEO用見出し：画像内の見出しと重ねて表示しない */
.pl-price01__sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* 横スクロール防止も料金ページ限定 */
body:has(.pl-price01) {
  overflow-x: clip;
}

@media screen and (max-width: 800px) {
  .pl-price01 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  .pl-price01__image {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }
}
/* =========================================================
   ペイントリーフ大阪｜料金・費用ページ
   SECTION 01：PCヘッダーの高さだけを抑える追加修正

   既存CSSの一番下に追記してください。
   HTML変更不要／スマホ（800px以下）は変更しません。

   元のPC画像は横:縦=2:1のため、画像を切り取らず
   横幅を960pxに抑えて、表示高さを約480pxにします。
========================================================= */

@media screen and (min-width: 801px) {
  body:has(.pl-price01) .pl-price01 {
    background: #f9fcf7 !important;
  }

  body:has(.pl-price01) .pl-price01__picture {
    display: block !important;
    width: min(960px, 100%) !important;
    max-width: 960px !important;
    margin: 0 auto !important;
  }

  body:has(.pl-price01) .pl-price01__image {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    margin: 0 !important;
  }
}
/* =========================================================
   料金・費用ページ：PCヘッダー再調整
   前回の960px制限を1180pxへ調整。
   既存CSSの一番下へ追記するだけ（削除不要）。
   PCのみ／スマホは一切変更しない。
========================================================= */
@media screen and (min-width: 801px) {
  body:has(.pl-price01) .pl-price01__picture {
    display: block !important;
    width: min(1180px, 100%) !important;
    max-width: 1180px !important;
    margin: 0 auto !important;
  }

  body:has(.pl-price01) .pl-price01__image {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    margin: 0 !important;
  }
}
/* ペイントリーフ大阪／料金・費用 SECTION 02 専用CSS
   Cocoonの追加CSS末尾に貼り付け。対象は #pl-price02 のみ。
   外壁塗装・屋根塗装リンク設定済みの設置版。
*/
#pl-price02 {font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;box-sizing:border-box;}
#pl-price02 *,#pl-price02 *::before,#pl-price02 *::after {box-sizing:border-box;}
#pl-price02{isolation:isolate;position:relative;overflow:hidden;background:radial-gradient(ellipse at 8% 0%,#d9f0c3 0%,transparent 18%),radial-gradient(ellipse at 96% 1%,#def3c2 0%,transparent 19%),radial-gradient(ellipse at 1% 100%,#d7efc5 0%,transparent 23%),linear-gradient(160deg,#fff 0%,#f8fff7 72%,#eaf9e9 100%);width:100%;padding:10px 22px 26px;color:#252525}#pl-price02.ppr .ppr-shell{max-width:1448px;margin:0 auto;position:relative;z-index:1}#pl-price02.ppr .ppr-decor{position:absolute;top:-6px;width:235px;height:199px;opacity:.82;pointer-events:none;filter:drop-shadow(0 5px 6px #70aa3744)}#pl-price02.ppr .ppr-decor svg{width:100%;height:100%}#pl-price02.ppr .ppr-decor-left{left:-40px}#pl-price02.ppr .ppr-decor-right{right:-42px}#pl-price02.ppr h2, #pl-price02.ppr h3{margin:0;padding:0;background:none;border:0;box-shadow:none;color:inherit;line-height:1.2;text-shadow:none}#pl-price02.ppr h2::before, #pl-price02.ppr h3::before, #pl-price02.ppr h2::after, #pl-price02.ppr h3::after{content:none!important;display:none!important}#pl-price02.ppr p{margin-top:0}#pl-price02 .ppr-hero{min-height:169px;display:grid;grid-template-columns:1fr minmax(580px,2.5fr) 1fr;align-items:start;gap:14px}#pl-price02 .ppr-hero-title{text-align:center;min-width:0}#pl-price02 .ppr-sectionno{position:relative;display:inline-block;color:#00753e;background:#f1f8f1;border-radius:8px;padding:4px 13px;font-size:17px;font-weight:900;letter-spacing:.03em}#pl-price02 .ppr-sectionno::before, #pl-price02 .ppr-sectionno::after{content:"";position:absolute;top:50%;width:37px;height:1px;background:#a1cfb1}#pl-price02 .ppr-sectionno::before{right:100%}#pl-price02 .ppr-sectionno::after{left:100%}#pl-price02 .ppr-hero-title h2{font-size:clamp(41px,3.7vw,57px);font-weight:950;letter-spacing:-.07em;line-height:1.36;margin:-1px 0 2px}#pl-price02 .ppr-hero-title h2 span{color:#007942}#pl-price02 .ppr-hero-title p{font-size:16px;line-height:1.52;margin:0;letter-spacing:-.02em}#pl-price02 .ppr-slogan{align-self:center;color:#006839;font-family:"Noto Serif CJK JP", "Yu Mincho",serif;font-style:italic;font-weight:900;font-size:25px;line-height:1.28;white-space:nowrap;position:relative;display:flex;flex-direction:column;align-items:center;text-shadow:1px 1px 0 #fff;z-index:1}#pl-price02 .ppr-slogan span{position:relative;display:inline-block;z-index:1}#pl-price02 .ppr-slogan span::after{content:"";position:absolute;background:#f9e734;opacity:.82;left:-8%;width:115%;height:9px;bottom:0;z-index:-1;clip-path:polygon(0 40%,8% 0,26% 45%,50% 10%,75% 0,100% 50%,90% 100%,58% 68%,27% 100%,3% 85%)}#pl-price02 .ppr-slogan--left{transform:rotate(-10deg);padding-left:30px}#pl-price02 .ppr-slogan--right{transform:rotate(-11deg);font-size:23px;padding-right:13px}#pl-price02 .ppr-slogan--right span::after{height:29px;bottom:-3px;background:linear-gradient(180deg,#c9e79b,#a7d873);opacity:.85;clip-path:polygon(0 25%,13% 3%,26% 15%,44% 0,68% 20%,100% 6%,97% 70%,78% 100%,51% 81%,18% 100%,0 87%)}#pl-price02 .ppr-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:13px}#pl-price02 .ppr-card{--accent:#079147;--pale:#eaf8ed;min-width:0;border:1px solid #e1e9e5;border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 5px 14px #1a6b3030;display:flex;flex-direction:column}#pl-price02 .ppr-blue{--accent:#0088d3;--pale:#e9f6ff}#pl-price02 .ppr-orange{--accent:#ff650a;--pale:#fff3e9}#pl-price02 .ppr-cardtop{height:65px;display:flex;gap:12px;align-items:center;justify-content:center;color:#fff;background:linear-gradient(110deg,color-mix(in srgb,var(--accent),#004d34 22%),var(--accent) 64%,color-mix(in srgb,var(--accent),#ffbd23 13%));padding:8px 10px}#pl-price02 .ppr-cardtop svg{width:39px;height:39px;flex:none;stroke:#fff;stroke-width:.2}#pl-price02 .ppr-cardtop h3{font-size:25px;font-weight:900;letter-spacing:-.045em;color:#fff;white-space:nowrap}#pl-price02 .ppr-cardbody{display:flex;flex:1;flex-direction:column;padding:5px 10px 12px}#pl-price02 .ppr-cardbody img{width:100%;height:150px;object-fit:cover;object-position:center 42%;border-radius:7px;display:block}#pl-price02 .ppr-blue .ppr-cardbody img{object-position:center 48%}#pl-price02 .ppr-orange .ppr-cardbody img{object-position:center 44%}#pl-price02 .ppr-explain{min-height:49px;text-align:center;font-size:15px;line-height:1.42;font-weight:600;margin:5px 0 3px;letter-spacing:-.035em}#pl-price02 .ppr-pricetag{background:linear-gradient(90deg,#fff0b9,#fff8de,#fff0b9);border-radius:5px;text-align:center;line-height:26px;height:26px;font-size:15px;font-weight:700;max-width:88%;margin:0 auto;width:100%}#pl-price02 .ppr-price{height:77px;display:flex;align-items:center;justify-content:center;color:#ff4f10;font-weight:900;letter-spacing:-.05em;white-space:nowrap;text-shadow:1px 2px 0 #ffb58d44}#pl-price02 .ppr-price strong{font-size:69px;line-height:1;font-weight:900}#pl-price02 .ppr-price>span{font-size:38px;line-height:1.2}#pl-price02 .ppr-price small{font-size:12px;align-self:flex-start;padding-top:7px;letter-spacing:0;color:#f44c1d}#pl-price02 .ppr-items{position:relative;border:1px solid #d9e8e6;border-radius:10px;margin:0 0 8px;padding:23px 13px 9px;min-height:131px;flex:1}#pl-price02 .ppr-items>b{background:var(--accent);color:#fff;border-radius:4px;padding:3px 14px;font-size:17px;position:absolute;top:-7px;left:12px;line-height:1.32;white-space:nowrap}#pl-price02 .ppr-items-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px 10px;align-content:start;grid-auto-flow:column;grid-template-rows:repeat(4,minmax(24px,auto))}#pl-price02 .ppr-items-grid li{display:flex;align-items:start;gap:6px;font-size:15px;line-height:1.5;white-space:nowrap}#pl-price02 .ppr-items-grid li::before{content:"☑";color:var(--accent);font-size:17px;font-weight:900;line-height:1.37}#pl-price02 .ppr-items-grid li:empty::before{content:""}#pl-price02 .ppr-cardlink{min-height:42px;border:1px solid var(--accent);border-radius:28px;display:flex;align-items:center;justify-content:center;color:var(--accent)!important;text-decoration:none!important;font-size:16px;line-height:1.4;font-weight:900;padding:7px 23px;position:relative;white-space:nowrap;background:#fff}#pl-price02 .ppr-cardlink span{position:absolute;right:13px;top:50%;transform:translateY(-50%);font-size:17px}#pl-price02 .ppr-cardlink:hover{background:var(--pale);color:var(--accent)}#pl-price02 .ppr-assurances{margin:14px -18px 12px;border:1px solid #4ba778;border-radius:30px;outline:3px solid #f5fff8;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;min-height:115px;padding:15px 8px 13px;background:linear-gradient(100deg,#fffffff0,#f5fff5d6)}#pl-price02 .ppr-assurance{color:#063f2c;display:flex;align-items:center;justify-content:center;gap:13px;padding:0 12px;border-right:1px solid #76b89c;min-width:0;height:72px}#pl-price02 .ppr-assurance:last-child{border-right:none}#pl-price02 .ppr-assurance svg{width:58px;height:58px;flex:none}#pl-price02 .ppr-assurance>div{font-size:21px;line-height:1.2;font-weight:900;white-space:nowrap}#pl-price02 .ppr-assurance strong{display:block;font-size:33px;letter-spacing:-.04em;color:#008347;margin-top:3px}#pl-price02 .ppr-bottom{display:grid;grid-template-columns:1.05fr 1.55fr .95fr;gap:23px;align-items:center;border-radius:40px 40px 5px 5px;background:#fffffff0;padding:14px 34px;min-height:98px}#pl-price02 .ppr-talk{font-weight:900;font-size:22px;padding-left:20px;border-left:5px solid #00834a;line-height:1.4;white-space:nowrap}#pl-price02 .ppr-maincta{color:#fff!important;background:linear-gradient(180deg,#ff8d28,#ff680d 68%,#ff840a);box-shadow:inset 0 2px 5px #ffe69caa;border-radius:60px;min-height:82px;padding:15px 32px;display:flex;align-items:center;justify-content:space-around;gap:14px;text-decoration:none!important;font-size:26px;font-weight:900;white-space:nowrap}#pl-price02 .ppr-maincta svg{height:39px;width:39px;flex:none}#pl-price02 .ppr-maincta b{font-size:25px}#pl-price02 .ppr-maincta:hover{filter:brightness(.97)}#pl-price02 .ppr-speech{border:1px solid #40a475;position:relative;border-radius:50px;padding:16px 13px;background:#fff;font-size:16px;line-height:1.5;font-weight:800;text-align:center}#pl-price02 .ppr-speech:before{content:"";position:absolute;left:10px;bottom:-12px;width:23px;height:20px;background:#fff;border:1px solid #40a475;clip-path:polygon(15% 0,100% 0,0 100%)}#pl-price02 .ppr-footnote{margin:9px 10px 0;color:#566f5c;font-size:11px;line-height:1.55;text-align:center}
@media(max-width:1200px){#pl-price02.ppr{padding:14px 18px 26px}#pl-price02 .ppr-hero{grid-template-columns:1fr minmax(450px,2.2fr) 1fr}#pl-price02 .ppr-hero-title p{font-size:13px}#pl-price02 .ppr-slogan{font-size:18px}#pl-price02 .ppr-slogan--right{font-size:17px}#pl-price02 .ppr-cardtop h3{font-size:20px}#pl-price02 .ppr-cardbody img{height:135px}#pl-price02 .ppr-explain{font-size:12px}#pl-price02 .ppr-items-grid li{font-size:12px}#pl-price02 .ppr-items{padding-left:9px;padding-right:7px}#pl-price02 .ppr-cardlink{font-size:13px}#pl-price02 .ppr-price strong{font-size:60px}#pl-price02 .ppr-price>span{font-size:34px}#pl-price02 .ppr-assurance>div{font-size:16px}#pl-price02 .ppr-assurance strong{font-size:26px}#pl-price02 .ppr-assurance svg{width:46px;height:50px}#pl-price02 .ppr-bottom{gap:12px;padding:12px}#pl-price02 .ppr-talk{font-size:16px}#pl-price02 .ppr-maincta{font-size:20px;min-height:68px}#pl-price02 .ppr-speech{font-size:13px}}
@media(max-width:800px){#pl-price02.ppr{padding:16px 14px 30px}#pl-price02 .ppr-hero{grid-template-columns:1fr;gap:2px;min-height:0;padding-bottom:23px}#pl-price02 .ppr-slogan{display:none}#pl-price02 .ppr-decor{opacity:.42!important}#pl-price02 .ppr-hero-title h2{font-size:42px}#pl-price02 .ppr-hero-title p{font-size:13px;line-height:1.65}#pl-price02 .ppr-hero-title p br{display:none}#pl-price02 .ppr-grid{grid-template-columns:1fr;gap:20px;max-width:515px;margin:0 auto}#pl-price02 .ppr-cardtop h3{font-size:23px}#pl-price02 .ppr-cardbody{padding:7px 11px 13px}#pl-price02 .ppr-cardbody img{height:190px}#pl-price02 .ppr-explain{font-size:15px}#pl-price02 .ppr-items-grid li{font-size:15px}#pl-price02 .ppr-price strong{font-size:69px}#pl-price02 .ppr-price>span{font-size:37px}#pl-price02 .ppr-assurances{margin:20px auto 15px;max-width:515px;grid-template-columns:1fr 1fr;padding:8px 0;border-radius:18px}#pl-price02 .ppr-assurance{height:84px;gap:8px}#pl-price02 .ppr-assurance:nth-child(2){border-right:0}#pl-price02 .ppr-assurance:nth-child(-n+2){border-bottom:1px solid #d2e9d4}#pl-price02 .ppr-assurance>div{font-size:15px}#pl-price02 .ppr-assurance strong{font-size:23px}#pl-price02 .ppr-assurance svg{width:35px;height:45px}#pl-price02 .ppr-bottom{max-width:515px;grid-template-columns:1fr;gap:14px;margin:auto;padding:18px 15px;background:#fff;border-radius:25px}#pl-price02 .ppr-talk{font-size:18px;text-align:center;border:0;padding:0}#pl-price02 .ppr-maincta{font-size:19px;min-height:67px;padding:10px 15px}#pl-price02 .ppr-maincta svg{width:28px;height:28px}#pl-price02 .ppr-speech{display:none}#pl-price02 .ppr-footnote{font-size:10px;max-width:530px;margin:12px auto 0;text-align:left}}
@media(max-width:370px){#pl-price02 .ppr-cardtop h3{font-size:20px}#pl-price02 .ppr-cardlink{font-size:13px}#pl-price02 .ppr-items-grid li{font-size:13px}#pl-price02 .ppr-cardbody img{height:155px}#pl-price02 .ppr-price strong{font-size:61px}#pl-price02 .ppr-price>span{font-size:33px}#pl-price02 .ppr-assurance strong{font-size:20px}#pl-price02 .ppr-maincta{font-size:17px}}


#pl-price02 h2,#pl-price02 h3{background-image:none!important;border:0!important;box-shadow:none!important;padding:0!important;clear:none!important;}
#pl-price02 h2::before,#pl-price02 h2::after,#pl-price02 h3::before,#pl-price02 h3::after{content:none!important;display:none!important;}
#pl-price02 ul{margin:0;padding:0;list-style:none;}
#pl-price02 img{margin:0;max-width:none;box-shadow:none;}
#pl-price02 .ppr-leaves{position:absolute;z-index:0;top:-18px;width:min(24vw,365px);height:auto;pointer-events:none;opacity:.94;}
#pl-price02 .ppr-leaves--left{left:-29px;}
#pl-price02 .ppr-leaves--right{right:-29px;}
#pl-price02 .ppr-slogan{isolation:isolate;}
#pl-price02 .ppr-slogan img{position:absolute;z-index:-1;pointer-events:none;width:145%;height:140px;object-fit:cover;opacity:.70;top:50%;left:50%;transform:translate(-50%,-50%);}
#pl-price02 .ppr-slogan--right img{opacity:.82;}
#pl-price02 .ppr-slogan span::after{display:none;}
#pl-price02 .ppr-cardlink-pending{cursor:default;}
#pl-price02 .ppr-cardlink-pending:hover{background:#fff;}
#pl-price02 .ppr-footnote{font-weight:500;}
#pl-price02 .ppr-cardtop h3{color:#fff!important;}
#pl-price02 .ppr-hero-title h2{text-align:center!important;}
@media(max-width:800px){#pl-price02 .ppr-leaves{width:130px;top:0;opacity:.38;}#pl-price02 .ppr-slogan{display:none;}#pl-price02 .ppr-leaves--left{left:-40px;}#pl-price02 .ppr-leaves--right{right:-38px;}}

/* 最終調整：チェック項目とリンクの見やすさ */
#pl-price02 .ppr-items-grid{gap:5px 10px;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);grid-template-rows:repeat(4,minmax(22px,auto));}
#pl-price02 .ppr-items-grid li{display:flex;align-items:start;gap:5px;font-size:clamp(12px,1vw,14.5px);line-height:1.48;min-width:0;white-space:normal;overflow-wrap:normal;word-break:keep-all;}
#pl-price02 .ppr-items-grid li::before{content:"☑";display:inline-block;flex:none;color:var(--accent);font-size:17px;line-height:1.15;font-weight:900;}
#pl-price02 .ppr-cardlink small{position:absolute;right:13px;top:50%;transform:translateY(-50%);font-size:17px;}
#pl-price02 .ppr-cardlink{margin-top:auto;}
#pl-price02 .ppr-items-grid{list-style:none!important;}
#pl-price02 .ppr-cardbody>img{object-fit:cover;width:100%;max-width:100%;}
#pl-price02 .ppr-cardbody{min-width:0;}
#pl-price02 .ppr-cardlink:focus-visible,#pl-price02 .ppr-maincta:focus-visible{outline:3px solid #333;outline-offset:3px;}
@media(max-width:800px){
 #pl-price02 .ppr-items-grid{gap:5px 8px;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);}
 #pl-price02 .ppr-items-grid li{font-size:13px;line-height:1.5;}
 #pl-price02 .ppr-cardbody>img{aspect-ratio:16/9;height:auto;}
 #pl-price02 .ppr-slogan{display:none;}
}
@media(max-width:390px){#pl-price02 .ppr-items-grid li{font-size:12px;}}
/* SECTION 02 と上のヘッダーの間に余白を作る */
#pl-price02 {
  margin-top: 32px;
}

@media (max-width: 800px) {
  #pl-price02 {
    margin-top: 20px;
  }
}
/* SECTION 02 料金表示のサイズ調整 */

#pl-price02 .ppr-price {
  height: 68px;
}

#pl-price02 .ppr-price strong {
  font-size: 59px;
}

#pl-price02 .ppr-price > span {
  font-size: 33px;
}

/* スマホ用 */
@media (max-width: 800px) {
  #pl-price02 .ppr-price strong {
    font-size: 58px;
  }

  #pl-price02 .ppr-price > span {
    font-size: 32px;
  }
}

/* 小さいスマホ用 */
@media (max-width: 370px) {
  #pl-price02 .ppr-price strong {
    font-size: 54px;
  }
}
/* SECTION 02 価格と施工項目の間隔調整 */

#pl-price02 .ppr-items {
  margin-top: 24px;
}

/* スマホ */
@media (max-width: 800px) {
  #pl-price02 .ppr-items {
    margin-top: 18px;
  }
}
/* ペイントリーフ大阪 料金・費用 SECTION 03 専用。SECTION 01・02や他ページに影響しません。 */
#pl-price03 { --p3-green:#087544; --p3-deep:#044d36; --p3-lime:#93c916; font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif; box-sizing:border-box; isolation:isolate; position:relative; width:100%; margin:32px auto 0; padding:26px 20px 32px; overflow:hidden; color:#232923; background:radial-gradient(ellipse at 5% 18%,#e4f6d9 0%,transparent 29%),radial-gradient(ellipse at 98% 89%,#ddf3d6 0%,transparent 27%),linear-gradient(180deg,#fff 0%,#fafff7 82%,#eafaeb 100%); }
#pl-price03 *,#pl-price03 *::before,#pl-price03 *::after{box-sizing:border-box;}
#pl-price03 h2,#pl-price03 h3{color:inherit!important; background:none!important; background-image:none!important; border:0!important; box-shadow:none!important; padding:0!important; margin:0!important; line-height:1.28; text-shadow:none; text-align:inherit!important; clear:none!important;}
#pl-price03 h2::before,#pl-price03 h2::after,#pl-price03 h3::before,#pl-price03 h3::after{content:none!important; display:none!important;}
#pl-price03 p{margin:0; padding:0;}
#pl-price03 img{display:block; max-width:100%; margin:0; box-shadow:none; border:0;}
#pl-price03 a{text-decoration:none!important;}
#pl-price03 .pl03-inner{max-width:1440px; margin:0 auto; position:relative; z-index:1;}
#pl-price03 .pl03-leaf{position:absolute; z-index:0; top:-34px; width:clamp(170px,26%,365px); height:auto; opacity:.83; pointer-events:none;}
#pl-price03 .pl03-leaf--tl{left:-65px;}
#pl-price03 .pl03-leaf--tr{right:-50px;}
#pl-price03 .pl03-head{min-height:190px; display:grid; grid-template-columns:minmax(190px,1fr) minmax(480px,2.9fr) minmax(190px,1fr); gap:10px; align-items:start; position:relative; z-index:1;}
#pl-price03 .pl03-heading-block{min-width:0; text-align:center;}
#pl-price03 .pl03-section-number{position:relative; display:inline-block; padding:4px 15px; border-radius:7px; background:#eaf7e8; color:var(--p3-green); font-weight:900; font-size:17px; letter-spacing:.05em; line-height:1.25;}
#pl-price03 .pl03-section-number::before,#pl-price03 .pl03-section-number::after{content:""; position:absolute; top:50%; width:37px; height:1px; background:#92c9a8;}
#pl-price03 .pl03-section-number::before{right:100%;}#pl-price03 .pl03-section-number::after{left:100%;}
#pl-price03 .pl03-heading-block h2{font-family:"Noto Serif JP","Yu Mincho",serif; font-size:clamp(28px,3.6vw,52px); font-weight:900; letter-spacing:-.07em; white-space:nowrap; margin:12px 0 12px!important; color:#1d1c1b!important;}
#pl-price03 .pl03-heading-block h2 span{color:var(--p3-green);}
#pl-price03 .pl03-heading-block p{font-size:clamp(12px,1.12vw,16px); line-height:1.73; font-weight:500; letter-spacing:-.025em;}
#pl-price03 .pl03-brush-note{position:relative; min-height:138px; width:100%; align-self:start; display:flex; justify-content:center; align-items:center; margin-top:20px; transform:rotate(-10deg);}
#pl-price03 .pl03-brush-note--right{transform:rotate(-11deg);}
#pl-price03 .pl03-brush-note img{position:absolute; inset:-25px -12%; width:124%; max-width:none; height:188px; object-fit:contain; opacity:.81; z-index:-1;}
#pl-price03 .pl03-brush-note span{color:#056647; text-align:center; font-family:"Noto Serif JP","Yu Mincho",serif; font-weight:900; font-style:italic; font-size:clamp(13px,1.55vw,21px); line-height:1.37; text-shadow:1px 1px 0 #fff;}
#pl-price03 .pl03-scene{position:relative; z-index:1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(220px,auto)); gap:29px min(20vw,270px); align-items:stretch; min-height:474px; padding:0;}
#pl-price03 .pl03-house-visual{position:absolute; inset:0; z-index:-1; display:flex; justify-content:center; align-items:center; overflow:hidden; pointer-events:none;}
#pl-price03 .pl03-house-visual img{height:100%; width:min(82%,1100px); max-width:none; object-fit:cover; object-position:center 53%; -webkit-mask-image:radial-gradient(ellipse 62% 65% at 50% 54%,#000 45%,transparent 100%); mask-image:radial-gradient(ellipse 62% 65% at 50% 54%,#000 45%,transparent 100%);}
#pl-price03 .pl03-factor{background:rgba(255,255,255,.97); border-radius:23px; box-shadow:0 8px 18px rgba(39,105,64,.13); min-width:0; display:flex; align-items:center; padding:13px; gap:14px; border:1px solid rgba(218,234,217,.82);}
#pl-price03 .pl03-factor--one{grid-column:1;grid-row:1;border-bottom-right-radius:80px;}
#pl-price03 .pl03-factor--two{grid-column:2;grid-row:1;border-bottom-left-radius:80px;}
#pl-price03 .pl03-factor--three{grid-column:1;grid-row:2;border-top-right-radius:65px;}
#pl-price03 .pl03-factor--four{grid-column:2;grid-row:2;border-top-left-radius:65px;}
#pl-price03 .pl03-factor-image{flex:0 0 35%; max-width:35%; aspect-ratio:1; display:flex; align-items:center; justify-content:center; overflow:hidden; border-radius:50%;}
#pl-price03 .pl03-factor-image img{width:100%;height:100%;object-fit:contain;}
#pl-price03 .pl03-factor-content{flex:1; min-width:0;}
#pl-price03 .pl03-factor-heading{display:flex; align-items:center; gap:11px; margin-bottom:8px; min-width:0;}
#pl-price03 .pl03-num{display:grid; place-items:center; flex:0 0 48px; height:48px; width:48px; background:linear-gradient(135deg,#c9df15,#62b82a); border-radius:50%; color:#fff; font-weight:900; font-size:24px; line-height:1;}
#pl-price03 .pl03-factor-heading h3{color:var(--p3-green)!important; font-size:clamp(17px,1.6vw,24px); font-weight:900; letter-spacing:-.04em;}
#pl-price03 .pl03-factor-content p{font-size:clamp(12px,1.05vw,16px); line-height:1.7; font-weight:500; letter-spacing:-.012em;}
#pl-price03 .pl03-assurance{margin:22px 0 0; min-height:191px; display:grid; grid-template-columns:19% 1fr 29%; position:relative; overflow:hidden; align-items:center; background:rgba(255,255,255,.96); border:1px solid #279b6b; border-radius:21px; box-shadow:0 5px 14px #91bba526;}
#pl-price03 .pl03-assurance-icon{padding:12px 0 12px 25px; min-width:0; display:grid; place-items:center;}
#pl-price03 .pl03-assurance-icon img{width:100%;max-width:150px;aspect-ratio:1;object-fit:contain;}
#pl-price03 .pl03-assurance-copy{padding:13px 6px 13px 10px; position:relative; z-index:1;}
#pl-price03 .pl03-assurance-copy h3{font-family:"Noto Serif JP","Yu Mincho",serif; font-size:clamp(18px,2.05vw,30px); font-weight:900; color:#153a2c!important; letter-spacing:-.045em; line-height:1.48;}
#pl-price03 .pl03-assurance-copy h3 span{color:var(--p3-green); background:linear-gradient(transparent 80%,#f9df40 80%);}
#pl-price03 .pl03-assurance-copy p{font-size:clamp(12px,1vw,15px); line-height:1.75; margin-top:14px;}
#pl-price03 .pl03-assurance-photo{width:100%;height:100%;object-fit:cover;object-position:44% center; -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 27%);mask-image:linear-gradient(90deg,transparent 0%,#000 27%);}
#pl-price03 .pl03-action{display:flex; justify-content:center; margin-top:20px; position:relative; z-index:2;}
#pl-price03 .pl03-cta{width:min(600px,100%); min-height:88px; padding:15px 25px; border:2px solid #ffe2a1; border-radius:80px; color:#fff!important; background:linear-gradient(180deg,#ff962c 0%,#ff790f 40%,#ff5d00 100%); box-shadow:0 7px 16px rgba(225,99,7,.16),inset 0 2px 4px #ffdbb0a8; display:flex; justify-content:space-around; align-items:center; gap:12px; font-weight:900; font-size:clamp(21px,2.3vw,30px); white-space:nowrap; transition:filter .15s ease;}
#pl-price03 .pl03-cta:hover{filter:brightness(1.05);}#pl-price03 .pl03-cta:focus-visible{outline:3px solid #087544;outline-offset:3px;}
#pl-price03 .pl03-cta svg{flex:0 0 38px;}#pl-price03 .pl03-cta-arrow{font-size:31px;line-height:1;}
@media(max-width:1200px){
  #pl-price03 .pl03-head{grid-template-columns:minmax(145px,1fr) minmax(440px,2.7fr) minmax(145px,1fr);}
  #pl-price03 .pl03-scene{gap:20px min(11vw,160px);grid-template-rows:repeat(2,minmax(203px,auto));}
  #pl-price03 .pl03-factor{padding:11px;gap:9px;}
  #pl-price03 .pl03-factor-image{flex-basis:31%;max-width:31%;}
  #pl-price03 .pl03-num{flex-basis:39px;width:39px;height:39px;font-size:19px;}
  #pl-price03 .pl03-factor-heading{gap:7px;}
  #pl-price03 .pl03-factor-heading h3{font-size:clamp(16px,1.65vw,21px);}
  #pl-price03 .pl03-brush-note span{font-size:15px;}
}
@media(max-width:900px){
  #pl-price03{margin-top:25px;padding:23px 16px 30px;}
  #pl-price03 .pl03-head{min-height:180px;grid-template-columns:1fr;}
  #pl-price03 .pl03-heading-block h2{font-size:clamp(26px,4.7vw,38px);white-space:normal;}
  #pl-price03 .pl03-heading-block p{font-size:14px;}
  #pl-price03 .pl03-brush-note{display:none;}
  #pl-price03 .pl03-scene{gap:15px;grid-template-columns:1fr 1fr;grid-template-rows:repeat(2,minmax(210px,auto));}
  #pl-price03 .pl03-factor-image{flex:0 0 29%;max-width:29%;}
  #pl-price03 .pl03-factor-heading{display:block;}
  #pl-price03 .pl03-num{margin-bottom:5px;}
  #pl-price03 .pl03-assurance{grid-template-columns:16% 1fr 27%;}
}
@media(max-width:690px){
  #pl-price03{margin-top:20px;padding:22px 12px 25px;}
  #pl-price03 .pl03-leaf{width:145px;top:-10px;opacity:.55;}
  #pl-price03 .pl03-leaf--tl{left:-43px;}#pl-price03 .pl03-leaf--tr{right:-40px;}
  #pl-price03 .pl03-head{min-height:auto;padding:2px 0 0;}
  #pl-price03 .pl03-section-number{font-size:14px;}
  #pl-price03 .pl03-heading-block h2{font-size:clamp(25px,7vw,37px);margin:13px 0 12px!important;line-height:1.35;}
  #pl-price03 .pl03-heading-block p{font-size:13px;line-height:1.7;margin-bottom:6px;}
  #pl-price03 .pl03-heading-block p br{display:none;}
  #pl-price03 .pl03-scene{display:flex;flex-direction:column;gap:12px;padding-top:218px;min-height:0;}
  #pl-price03 .pl03-house-visual{height:235px;top:0;bottom:auto;overflow:hidden;}
  #pl-price03 .pl03-house-visual img{height:100%;width:100%;object-fit:cover;object-position:center 42%;-webkit-mask-image:linear-gradient(180deg,#000 70%,transparent 99%);mask-image:linear-gradient(180deg,#000 70%,transparent 99%);}
  #pl-price03 .pl03-factor,#pl-price03 .pl03-factor--one,#pl-price03 .pl03-factor--two,#pl-price03 .pl03-factor--three,#pl-price03 .pl03-factor--four{border-radius:18px;min-height:128px;padding:11px;gap:10px;}
  #pl-price03 .pl03-factor--image-first{flex-direction:row-reverse;}
  #pl-price03 .pl03-factor-image{flex:0 0 32%;max-width:32%;aspect-ratio:1;}
  #pl-price03 .pl03-factor-heading{display:flex;gap:8px;margin-bottom:5px;}
  #pl-price03 .pl03-num{margin:0;flex:0 0 39px;width:39px;height:39px;font-size:19px;}
  #pl-price03 .pl03-factor-heading h3{font-size:clamp(15px,4.5vw,21px);}
  #pl-price03 .pl03-factor-content p{font-size:clamp(11.5px,3.2vw,14px);line-height:1.65;}
  #pl-price03 .pl03-assurance{display:grid;grid-template-columns:86px 1fr;gap:0;margin-top:16px;min-height:0;padding:14px 10px 0;border-radius:18px;}
  #pl-price03 .pl03-assurance-icon{padding:0 4px 0 0;align-self:start;}
  #pl-price03 .pl03-assurance-icon img{width:74px;height:74px;}
  #pl-price03 .pl03-assurance-copy{padding:0 3px;}
  #pl-price03 .pl03-assurance-copy h3{font-size:clamp(16px,4.6vw,23px);line-height:1.45;}
  #pl-price03 .pl03-assurance-copy p{font-size:12px;line-height:1.65;margin:10px 0 13px;}
  #pl-price03 .pl03-desktop-break{display:none;}
  #pl-price03 .pl03-assurance-photo{grid-column:1/-1;margin:4px -10px 0;width:calc(100% + 20px);height:165px;object-position:center 44%;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 20%);mask-image:linear-gradient(180deg,transparent 0%,#000 20%);}
  #pl-price03 .pl03-action{margin-top:16px;}
  #pl-price03 .pl03-cta{min-height:65px;padding:10px 15px;font-size:clamp(16px,4.7vw,22px);}
  #pl-price03 .pl03-cta svg{flex-basis:27px;width:27px;height:26px;}
  #pl-price03 .pl03-cta-arrow{font-size:21px;}
}
@media(max-width:360px){#pl-price03 .pl03-factor{gap:6px;padding:9px;}#pl-price03 .pl03-factor-image{flex-basis:29%;max-width:29%;}#pl-price03 .pl03-factor-heading h3{font-size:15px;}#pl-price03 .pl03-factor-content p{font-size:11px;}#pl-price03 .pl03-num{flex-basis:32px;width:32px;height:32px;font-size:16px;}#pl-price03 .pl03-assurance{grid-template-columns:60px 1fr;}#pl-price03 .pl03-assurance-icon img{width:54px;height:54px;}}
/* ペイントリーフ大阪：料金・費用 SECTION 04 のみ。SECTION 01～03には影響しません */
#pl-price04{--pl04-green:#006d3f;--pl04-forest:#064b30;--pl04-orange:#fc6b08;isolation:isolate;position:relative;box-sizing:border-box;overflow:hidden;margin:32px auto 0;padding:23px 21px 29px;width:100%;color:#252525;font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;background:radial-gradient(ellipse at 88% 1%,#e5f5df 0%,transparent 29%),radial-gradient(ellipse at 9% 5%,#f3f9ef 0%,transparent 31%),linear-gradient(180deg,#fff 0%,#fefff9 64%,#e2f4d4 100%);}
#pl-price04 *,#pl-price04 *::before,#pl-price04 *::after{box-sizing:border-box;}
#pl-price04 h2,#pl-price04 h3{margin:0!important;padding:0!important;line-height:1.25!important;text-shadow:none!important;text-align:inherit!important;background:none!important;border:0!important;box-shadow:none!important;color:inherit!important;clear:none!important;}
#pl-price04 h2::before,#pl-price04 h2::after,#pl-price04 h3::before,#pl-price04 h3::after{content:none!important;display:none!important;}
#pl-price04 p{margin:0;padding:0;}#pl-price04 img{display:block;max-width:100%;height:auto;margin:0;border:0;box-shadow:none;}
#pl-price04 a{text-decoration:none!important;}
#pl-price04 .pl04-inner{max-width:1448px;margin:0 auto;position:relative;z-index:2;}
#pl-price04 .pl04-leaf{position:absolute;width:clamp(175px,24vw,340px);height:auto;opacity:.70;pointer-events:none;z-index:0;}
#pl-price04 .pl04-leaf-left{left:-65px;top:-75px;}
#pl-price04 .pl04-leaf-right{right:-65px;top:103px;width:clamp(132px,19vw,285px);opacity:.66;}
#pl-price04 .pl04-paintbrush{position:absolute;right:-54px;top:-92px;width:clamp(220px,31vw,455px);height:auto;transform:rotate(-12deg);z-index:1;pointer-events:none;}
#pl-price04 .pl04-header{text-align:center;position:relative;z-index:2;min-height:235px;}
#pl-price04 .pl04-index{display:flex;justify-content:center;align-items:center;gap:10px;color:#08793f;font-size:18px;letter-spacing:.20em;font-weight:900;line-height:1.3;}
#pl-price04 .pl04-index svg{height:26px;width:29px;flex:none;}
#pl-price04 .pl04-header h2{font-size:clamp(34px,4.2vw,60px);font-weight:950;letter-spacing:-.055em;margin:13px 0 15px!important;color:#252525!important;white-space:nowrap;}
#pl-price04 .pl04-header h2 span{color:#07843e;}
#pl-price04 .pl04-intro{font-size:clamp(14px,1.4vw,19px);line-height:1.65;font-weight:600;letter-spacing:-.025em;}
#pl-price04 .pl04-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:stretch;}
#pl-price04 .pl04-item{position:relative;display:flex;flex-direction:column;min-width:0;border-radius:17px;background:#fff;border:1px solid #e9eee5;padding:12px 12px 20px;box-shadow:0 6px 15px #61825318;}
#pl-price04 .pl04-item-head{display:flex;align-items:center;gap:10px;min-height:50px;margin-bottom:8px;}
#pl-price04 .pl04-number{flex:0 0 56px;height:56px;width:56px;display:grid;place-items:center;border-radius:50%;font-size:26px;font-weight:800;color:white;line-height:1;background:linear-gradient(130deg,#70ba19,#287e16);box-shadow:inset 0 2px 3px #ecffc17a;}
#pl-price04 .pl04-item h3{font-weight:900;font-size:clamp(16px,1.68vw,24px);letter-spacing:-.045em;color:#066134!important;line-height:1.28!important;}
#pl-price04 .pl04-item-image{width:100%;aspect-ratio:1.5/1;object-fit:cover;border-radius:9px;}
#pl-price04 .pl04-item:nth-child(1) .pl04-item-image{object-position:52% 54%;}
#pl-price04 .pl04-item:nth-child(2) .pl04-item-image{object-position:52% 55%;}
#pl-price04 .pl04-item:nth-child(3) .pl04-item-image{object-position:50% 53%;}
#pl-price04 .pl04-item:nth-child(4) .pl04-item-image{object-position:46% 58%;}
#pl-price04 .pl04-item p{margin-top:15px;line-height:1.70;font-size:clamp(13px,1.1vw,17px);font-weight:500;letter-spacing:-.025em;overflow-wrap:anywhere;}
#pl-price04 .pl04-consult{position:relative;min-height:266px;margin:20px 0 0;padding:24px 22px 92px;border:2px solid #fff;border-radius:35px;background:linear-gradient(90deg,#fffffff7 0%,#fffffff7 52%,#ffffffad 72%,#ffffff52 100%);box-shadow:0 4px 20px #75997a17;overflow:hidden;}
#pl-price04 .pl04-consult::after{content:"";position:absolute;z-index:0;left:-10%;right:-10%;bottom:-60px;height:125px;border-radius:60% 50% 0 0;background:linear-gradient(135deg,#e1f5d8cc,#b7df969c);pointer-events:none;}
#pl-price04 .pl04-consult-copy{position:relative;z-index:2;display:flex;align-items:center;gap:19px;max-width:71%;}
#pl-price04 .pl04-consult-icon{flex:0 0 185px;}
#pl-price04 .pl04-consult-icon img{height:172px;width:172px;object-fit:contain;}
#pl-price04 .pl04-consult-message{min-width:0;}
#pl-price04 .pl04-consult-message h3{font-size:clamp(25px,2.8vw,39px);font-weight:900;letter-spacing:-.055em;color:#222!important;line-height:1.3!important;}
#pl-price04 .pl04-consult-message .pl04-orange{color:#f56607;}
#pl-price04 .pl04-consult-message .pl04-green{color:#007b39;}
#pl-price04 .pl04-consult-message p{margin-top:12px;font-size:clamp(13px,1.18vw,17px);line-height:1.65;font-weight:500;}
#pl-price04 .pl04-consult-photo{position:absolute;right:0;top:0;width:38%;height:100%;object-fit:cover;object-position:50% 29%;z-index:1;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 24%);mask-image:linear-gradient(90deg,transparent 0%,#000 24%);}
#pl-price04 .pl04-cta{position:absolute;z-index:4;left:50%;bottom:14px;transform:translateX(-50%);display:flex;justify-content:center;align-items:center;gap:21px;min-width:min(620px,70%);min-height:76px;padding:12px 32px;border-radius:90px;border:3px solid #fff;color:#fff!important;background:linear-gradient(180deg,#ff9125 0%,#ff7808 45%,#f35b04 100%);box-shadow:0 5px 8px #ae690a3b,inset 0 2px 4px #ffc781a8;font-size:clamp(19px,2.1vw,28px);font-weight:900;white-space:nowrap;}
#pl-price04 .pl04-cta:hover{filter:brightness(1.05)}#pl-price04 .pl04-cta:focus-visible{outline:3px solid #117949;outline-offset:4px;}
#pl-price04 .pl04-cta-arrow{position:absolute;right:21px;font-size:26px;line-height:1;}
#pl-price04 .pl04-cta svg{flex:none;}
#pl-price04 .pl04-disclaimer{text-align:center;font-size:11px;line-height:1.5;color:#68836a;margin:11px 0 0;}
@media(max-width:1200px){
  #pl-price04 .pl04-header{min-height:208px;}
  #pl-price04 .pl04-item-head{gap:6px;}#pl-price04 .pl04-number{flex-basis:45px;width:45px;height:45px;font-size:23px;}
  #pl-price04 .pl04-item h3{font-size:clamp(16px,1.7vw,21px);}
  #pl-price04 .pl04-item p{font-size:13px;}
  #pl-price04 .pl04-consult-icon{flex-basis:125px;}#pl-price04 .pl04-consult-icon img{height:125px;width:125px;}
  #pl-price04 .pl04-consult-message h3{font-size:clamp(24px,2.5vw,32px);}
}
@media(max-width:900px){
  #pl-price04{padding:26px 17px 25px;margin-top:25px;}
  #pl-price04 .pl04-header{min-height:0;margin-bottom:27px;}
  #pl-price04 .pl04-header h2{white-space:normal;font-size:clamp(30px,5vw,44px);}
  #pl-price04 .pl04-intro{font-size:14px;}
  #pl-price04 .pl04-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
  #pl-price04 .pl04-item{padding:12px 12px 16px;}
  #pl-price04 .pl04-item h3{font-size:21px;}
  #pl-price04 .pl04-item p{font-size:14px;}
  #pl-price04 .pl04-item-image{aspect-ratio:1.7/1;}
  #pl-price04 .pl04-consult-copy{max-width:74%;}
  #pl-price04 .pl04-consult-photo{width:35%;}
}
@media(max-width:620px){
  #pl-price04{margin-top:20px;padding:20px 12px 26px;}
  #pl-price04 .pl04-leaf-left{top:-38px;left:-63px;width:185px;opacity:.55;}
  #pl-price04 .pl04-leaf-right{top:128px;right:-40px;width:130px;opacity:.45;}
  #pl-price04 .pl04-paintbrush{top:-47px;right:-71px;width:165px;opacity:.63;}
  #pl-price04 .pl04-header{margin-bottom:19px;}
  #pl-price04 .pl04-index{font-size:13px;letter-spacing:.15em;}#pl-price04 .pl04-index svg{width:19px;height:18px;}
  #pl-price04 .pl04-header h2{margin:13px 0 10px!important;font-size:clamp(25px,7.1vw,35px);line-height:1.34!important;}
  #pl-price04 .pl04-intro{font-size:12.5px;line-height:1.68;}#pl-price04 .pl04-intro br{display:none;}
  #pl-price04 .pl04-grid{grid-template-columns:1fr;gap:13px;}
  #pl-price04 .pl04-item{padding:11px 12px 14px;border-radius:18px;}
  #pl-price04 .pl04-item-head{min-height:43px;gap:11px;margin-bottom:7px;}
  #pl-price04 .pl04-number{flex-basis:43px;width:43px;height:43px;font-size:22px;}
  #pl-price04 .pl04-item h3{font-size:20px;}
  #pl-price04 .pl04-item-image{aspect-ratio:1.85/1;}
  #pl-price04 .pl04-item p{font-size:13px;line-height:1.65;margin-top:10px;}
  #pl-price04 .pl04-consult{min-height:0;display:flex;flex-direction:column;margin-top:17px;padding:18px 13px 75px;border-radius:22px;}
  #pl-price04 .pl04-consult-copy{max-width:none;gap:8px;align-items:flex-start;}
  #pl-price04 .pl04-consult-icon{flex:0 0 68px;}#pl-price04 .pl04-consult-icon img{width:67px;height:77px;object-fit:contain;}
  #pl-price04 .pl04-consult-message h3{font-size:clamp(19px,5.1vw,25px);line-height:1.38!important;}
  #pl-price04 .pl04-consult-message p{font-size:12px;line-height:1.65;margin-top:10px;}
  #pl-price04 .pl04-consult-message p br{display:none;}
  #pl-price04 .pl04-consult-photo{position:relative;order:2;margin:13px -13px -6px;width:calc(100% + 26px);height:178px;object-fit:cover;object-position:center 32%;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 25%);mask-image:linear-gradient(180deg,transparent 0%,#000 25%);}
  #pl-price04 .pl04-cta{left:12px;right:12px;bottom:13px;transform:none;min-width:0;width:calc(100% - 24px);min-height:59px;padding:10px 30px;gap:10px;border-width:2px;font-size:clamp(16px,4.4vw,20px);}
  #pl-price04 .pl04-cta svg{width:26px;height:25px;}#pl-price04 .pl04-cta-arrow{right:12px;font-size:18px;}
  #pl-price04 .pl04-disclaimer{font-size:10px;text-align:left;margin-top:8px;}
}
@media(max-width:365px){#pl-price04 .pl04-header h2{font-size:25px;}#pl-price04 .pl04-item h3{font-size:18px;}#pl-price04 .pl04-consult-icon{flex-basis:58px;}#pl-price04 .pl04-consult-icon img{width:58px;height:68px;}#pl-price04 .pl04-consult-message h3{font-size:18px;}#pl-price04 .pl04-cta{font-size:15px;}}
/* 完成見本に合わせた装飾と見出しの最終調整 */
#pl-price04::before,#pl-price04::after{content:"";position:absolute;pointer-events:none;z-index:0;width:300px;height:300px;background-repeat:no-repeat;background-size:contain;opacity:.48;}
#pl-price04::before{background-image:url("https://paintleaf-osaka.com/wp-content/uploads/2026/10/paintleaf-osaka-price-section02-leaf-left.webp");left:-58px;bottom:-137px;transform:rotate(10deg);}
#pl-price04::after{background-image:url("https://paintleaf-osaka.com/wp-content/uploads/2026/10/paintleaf-osaka-price-section02-leaf-right.webp");right:-79px;bottom:-116px;transform:rotate(-12deg);}
#pl-price04 .pl04-leaf-left{left:-30px;top:-25px;opacity:.78;}
#pl-price04 .pl04-leaf-right{right:-40px;top:125px;opacity:.75;}
#pl-price04 .pl04-paintbrush{right:-68px;top:-33px;width:clamp(260px,30vw,430px);transform:rotate(-20deg);}
#pl-price04 .pl04-header::after{content:"";position:absolute;z-index:-1;right:-12px;top:-15px;width:min(33%,390px);height:130px;background:url("https://paintleaf-osaka.com/wp-content/uploads/2026/10/paintleaf-osaka-price-section02-brush-right.webp") center / contain no-repeat;opacity:.62;pointer-events:none;transform:rotate(-8deg);}
@media(min-width:901px) and (max-width:1200px){
 #pl-price04 .pl04-item h3{font-size:clamp(14px,1.48vw,18px);}
 #pl-price04 .pl04-item-head{gap:5px;}
 #pl-price04 .pl04-number{flex-basis:42px;width:42px;height:42px;}
}
@media(max-width:620px){
 #pl-price04 .pl04-header::after{display:none;}
 #pl-price04 .pl04-header h2{font-size:clamp(25px,7.2vw,31px);}
 #pl-price04 .pl04-header h2 span{display:block;white-space:nowrap;font-size:clamp(23px,6.45vw,29px);letter-spacing:-.07em;}
 #pl-price04 .pl04-leaf-left{top:-45px;left:-55px;width:180px;opacity:.5;}
 #pl-price04 .pl04-leaf-right{top:121px;right:-36px;width:126px;opacity:.40;}
 #pl-price04 .pl04-paintbrush{top:-35px;right:-70px;width:166px;opacity:.56;}
 #pl-price04::before,#pl-price04::after{width:175px;height:175px;opacity:.35;}
 #pl-price04::before{left:-50px;bottom:-95px;}#pl-price04::after{right:-50px;bottom:-105px;}
}
/* 見出しとの重なりを避け、刷毛を右上の装飾として配置 */
@media(min-width:621px){#pl-price04 .pl04-paintbrush{right:-142px;top:-55px;}}
/* ペイントリーフ大阪／料金・費用 SECTION 05 専用CSS。既存SECTIONには影響しません。 */
#pl-price05{--pl05-green:#067842;--pl05-blue:#0789bc;--pl05-orange:#ff670b;box-sizing:border-box;isolation:isolate;position:relative;overflow:hidden;width:100%;margin:32px auto 0;padding:30px 20px 45px;color:#222;font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;background:radial-gradient(ellipse at 47% 0%,#ccebfdb5,transparent 33%),radial-gradient(ellipse at 95% 14%,#eaffdcc9,transparent 27%),linear-gradient(180deg,#fff 3%,#fcfff8 65%,#dff4cc 100%);}
#pl-price05 *,#pl-price05 *::before,#pl-price05 *::after{box-sizing:border-box;}
#pl-price05 h2,#pl-price05 h3,#pl-price05 h4{margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;clear:none!important;text-shadow:none!important;line-height:1.25!important;color:inherit!important;}
#pl-price05 h2::before,#pl-price05 h2::after,#pl-price05 h3::before,#pl-price05 h3::after,#pl-price05 h4::before,#pl-price05 h4::after{content:none!important;display:none!important;}
#pl-price05 p{margin:0;padding:0;}
#pl-price05 img{display:block;margin:0;max-width:100%;height:auto;box-shadow:none;border:0;}
#pl-price05 a{text-decoration:none!important;}
#pl-price05 .pl05-inner{position:relative;z-index:2;max-width:1480px;margin:auto;}
#pl-price05 .pl05-leaf{position:absolute;z-index:0;pointer-events:none;opacity:.76;width:clamp(175px,22vw,335px);height:auto;}
#pl-price05 .pl05-leaf--left{top:-50px;left:-57px;}
#pl-price05 .pl05-leaf--right{top:90px;right:-110px;transform:rotate(12deg);opacity:.55;}
#pl-price05 .pl05-brush{position:absolute;top:-89px;right:-32px;z-index:1;width:clamp(210px,25vw,378px);height:auto;transform:rotate(-13deg);pointer-events:none;}
#pl-price05 .pl05-heading{text-align:center;position:relative;z-index:2;margin:0 auto 28px;padding-top:0;}
#pl-price05 .pl05-section{display:flex;align-items:center;justify-content:center;gap:8px;color:#02753b;font-size:18px;font-weight:900;letter-spacing:.20em;}
#pl-price05 .pl05-section svg{width:25px;height:25px;}
#pl-price05 .pl05-heading h2{margin:12px 0 12px!important;color:#252525!important;font-size:clamp(33px,4.1vw,62px);font-weight:950;letter-spacing:-.07em;white-space:nowrap;}
#pl-price05 .pl05-heading h2 span{color:#007d35;}
#pl-price05 .pl05-heading>p:last-child{font-size:clamp(13px,1.33vw,19px);font-weight:600;line-height:1.65;}
#pl-price05 .pl05-comparisons{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(0,1fr);gap:12px;align-items:stretch;}
#pl-price05 .pl05-family{min-width:0;display:flex;flex-direction:column;padding:11px 10px 12px;border-radius:15px;box-shadow:0 4px 13px #607a5d15;}
#pl-price05 .pl05-family--wall{background:linear-gradient(145deg,#f1ffef,#f8fff6);border:1px solid #d7ead9;}
#pl-price05 .pl05-family--roof{background:linear-gradient(145deg,#e9f7fe,#f6fcff);border:1px solid #d4e8f4;}
#pl-price05 .pl05-family-heading{display:flex;align-items:center;gap:9px;min-height:60px;margin:0 0 12px;}
#pl-price05 .pl05-family-heading svg{width:43px;height:43px;flex:none;fill:#007543;color:#007543;}
#pl-price05 .pl05-family--roof .pl05-family-heading svg{width:48px;fill:#00699c;color:#00699c;}
#pl-price05 .pl05-family-heading h3{font-size:clamp(19px,2vw,29px);font-weight:900;letter-spacing:-.055em;white-space:nowrap;color:#1c2520!important;}
#pl-price05 .pl05-family-heading h3 strong{color:#08773f;font-size:1.17em;}
#pl-price05 .pl05-family--roof .pl05-family-heading h3 strong{color:#0076ac;}
#pl-price05 .pl05-unit{font-weight:800;white-space:nowrap;font-size:clamp(10px,.93vw,13px);line-height:1.2;letter-spacing:-.03em;padding:9px 12px;border-radius:50px;background:#006d36;color:white;margin-left:auto;}
#pl-price05 .pl05-family--roof .pl05-unit{background:#046ba0;}
#pl-price05 .pl05-plans{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-items:stretch;flex:1;}
#pl-price05 .pl05-plans--three{grid-template-columns:repeat(3,minmax(0,1fr));}
#pl-price05 .pl05-plan{--head:#218c59;min-width:0;overflow:hidden;background:#fff;display:flex;flex-direction:column;border:1px solid #e3e9e2;border-radius:12px;box-shadow:0 3px 9px #4a635012;}
#pl-price05 .pl05-plan--lime{--head:#55a926;}
#pl-price05 .pl05-plan--green{--head:#278e45;}
#pl-price05 .pl05-plan--teal{--head:#169489;}
#pl-price05 .pl05-plan--forest{--head:#008040;}
#pl-price05 .pl05-plan--blue{--head:#077ba9;}
#pl-price05 .pl05-plan--navy{--head:#075d85;}
#pl-price05 .pl05-plan h4{display:grid;place-items:center;text-align:center;min-height:46px;padding:5px 3px!important;color:#fff!important;background:linear-gradient(115deg,color-mix(in srgb,var(--head),white 13%),var(--head))!important;white-space:nowrap;letter-spacing:-.07em;font-size:clamp(13px,1.29vw,20px);font-weight:900;}
#pl-price05 .pl05-plan>img{width:100%;height:128px;object-fit:cover;object-position:center center;}
#pl-price05 .pl05-plan-info{display:flex;flex:1;flex-direction:column;padding:7px 8px 14px;}
#pl-price05 .pl05-price{display:flex;align-items:baseline;justify-content:center;gap:2px;white-space:nowrap;letter-spacing:-.065em;color:#fb5d10;text-align:center;}
#pl-price05 .pl05-price strong{font-size:clamp(23px,2.18vw,34px);font-weight:950;line-height:1.2;}
#pl-price05 .pl05-price span{font-size:clamp(11px,1.05vw,16px);font-weight:850;letter-spacing:-.03em;}
#pl-price05 .pl05-tax{text-align:center;color:#434343;font-size:12px;font-weight:600;margin-top:0;}
#pl-price05 .pl05-desc{border-top:1px solid #e5e9e2;margin-top:12px!important;padding-top:11px!important;line-height:1.58;font-size:clamp(11px,.9vw,14px);letter-spacing:-.025em;font-weight:500;overflow-wrap:anywhere;}
#pl-price05 .pl05-note{text-align:center;color:#52735c;font-size:11px;line-height:1.65;margin:10px 0 18px!important;}
#pl-price05 .pl05-consult{position:relative;min-height:281px;margin-top:12px;padding:25px 32px 98px;isolation:isolate;overflow:hidden;border:2px solid #fff;border-radius:31px;background:linear-gradient(105deg,#fffffff2 0%,#fffffff2 50%,#ffffffb4 68%,#ffffff3d 100%);box-shadow:0 6px 18px #376b4524;}
#pl-price05 .pl05-consult::after{content:"";position:absolute;bottom:-77px;left:-10%;width:120%;height:149px;background:linear-gradient(100deg,#8fce83a6,#def5cdbb,#9bd89a82);border-radius:50% 50% 0 0;z-index:0;}
#pl-price05 .pl05-consult-symbol{width:148px;position:absolute;left:26px;top:40px;z-index:2;}
#pl-price05 .pl05-consult-symbol svg{width:100%;height:auto;}
#pl-price05 .pl05-consult-copy{position:relative;z-index:2;margin-left:160px;max-width:57%;}
#pl-price05 .pl05-consult-copy h3{color:#006b31!important;font-weight:950;line-height:1.28!important;letter-spacing:-.06em;font-size:clamp(25px,3vw,42px);}
#pl-price05 .pl05-consult-copy h3 span{color:#fb6a0b;}
#pl-price05 .pl05-consult-copy p{margin-top:10px;font-size:clamp(13px,1.08vw,16px);line-height:1.62;font-weight:550;}
#pl-price05 .pl05-consult-house{position:absolute;right:0;top:0;width:48%;height:100%;object-fit:cover;z-index:1;-webkit-mask-image:linear-gradient(90deg,transparent,#000 22%);mask-image:linear-gradient(90deg,transparent,#000 22%);}
#pl-price05 .pl05-consult-materials{position:absolute;right:-30px;top:52px;width:21%;height:calc(100% - 45px);object-fit:cover;object-position:58% 53%;z-index:1;border-radius:26px 0 0 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 28%);mask-image:linear-gradient(90deg,transparent,#000 28%);}
#pl-price05 .pl05-contact{position:absolute;z-index:5;bottom:14px;left:50%;transform:translateX(-50%);min-height:67px;min-width:min(570px,75%);padding:12px 60px;display:flex;align-items:center;justify-content:center;gap:15px;color:#fff!important;background:linear-gradient(180deg,#ff9025,#ff6605 84%);border:3px solid #fff;border-radius:70px;box-shadow:0 4px 10px #ae6e1d3b,inset 0 2px 4px #fff8;font-size:clamp(17px,2vw,25px);font-weight:900;white-space:nowrap;}
#pl-price05 .pl05-contact svg{width:32px;height:26px;flex:none;}
#pl-price05 .pl05-contact b{position:absolute;right:25px;font-size:22px;line-height:1;}
#pl-price05 .pl05-contact:hover{filter:brightness(1.06);}
#pl-price05 .pl05-contact:focus-visible{outline:3px solid #135e36;outline-offset:3px;}
@media(max-width:1350px){
  #pl-price05 .pl05-family-heading{flex-wrap:wrap;gap:6px;}
  #pl-price05 .pl05-unit{margin-left:0;}
  #pl-price05 .pl05-plan h4{font-size:clamp(12px,1.32vw,17px);}
  #pl-price05 .pl05-plan>img{height:112px;}
  #pl-price05 .pl05-price strong{font-size:clamp(22px,2vw,31px);}
  #pl-price05 .pl05-consult-copy{max-width:61%;}
}
@media(max-width:1100px){
  #pl-price05 .pl05-comparisons{grid-template-columns:1fr;gap:17px;}
  #pl-price05 .pl05-family-heading{flex-wrap:nowrap;}
  #pl-price05 .pl05-plan h4{font-size:18px;}
  #pl-price05 .pl05-price strong{font-size:32px;}
  #pl-price05 .pl05-price span{font-size:15px;}
  #pl-price05 .pl05-plan>img{height:150px;}
  #pl-price05 .pl05-desc{font-size:13px;}
  #pl-price05 .pl05-heading h2{white-space:normal;}
}
@media(max-width:700px){
  #pl-price05{margin-top:20px;padding:20px 12px 32px;}
  #pl-price05 .pl05-leaf--left{top:-31px;left:-56px;width:155px;opacity:.54;}
  #pl-price05 .pl05-leaf--right{top:82px;right:-50px;width:118px;opacity:.48;}
  #pl-price05 .pl05-brush{top:-30px;right:-69px;width:165px;opacity:.35;}
  #pl-price05 .pl05-heading{padding:0 7px;margin-bottom:23px;}
  #pl-price05 .pl05-section{font-size:14px;letter-spacing:.16em;gap:4px;}
  #pl-price05 .pl05-section svg{width:19px;}
  #pl-price05 .pl05-heading h2{margin:12px auto!important;font-size:clamp(27px,7.5vw,41px);line-height:1.29!important;white-space:normal;}
  #pl-price05 .pl05-heading h2 span{display:block;}
  #pl-price05 .pl05-heading>p:last-child{font-size:12px;line-height:1.6;}
  #pl-price05 .pl05-heading>p:last-child br{display:none;}
  #pl-price05 .pl05-family{padding:10px;border-radius:23px;}
  #pl-price05 .pl05-family-heading{margin:0 0 11px;min-height:0;padding:5px 5px 1px;display:flex;flex-wrap:wrap;gap:5px 8px;}
  #pl-price05 .pl05-family-heading svg{width:31px;height:31px;}
  #pl-price05 .pl05-family--roof .pl05-family-heading svg{width:35px;}
  #pl-price05 .pl05-family-heading h3{font-size:clamp(20px,5.1vw,26px);}
  #pl-price05 .pl05-unit{flex:1 0 100%;margin:2px 0 3px;background:none!important;color:#287945;text-align:center;font-size:12px;padding:0;}
  #pl-price05 .pl05-family--roof .pl05-unit{color:#006f9e;}
  #pl-price05 .pl05-plans,#pl-price05 .pl05-plans--three{grid-template-columns:1fr;gap:10px;}
  #pl-price05 .pl05-plan{display:grid;grid-template-columns:128px minmax(0,1fr);grid-template-rows:auto 1fr;min-height:128px;align-items:stretch;border-radius:14px;}
  #pl-price05 .pl05-plan h4{grid-column:2;grid-row:1;justify-content:start;text-align:left;min-height:0;padding:13px 12px 0!important;background:#fff!important;color:#006f39!important;font-size:18px;white-space:normal;}
  #pl-price05 .pl05-family--roof .pl05-plan h4{color:#006f9e!important;}
  #pl-price05 .pl05-plan>img{grid-row:1 / 3;grid-column:1;height:100%;min-height:128px;max-height:152px;width:128px;object-fit:cover;}
  #pl-price05 .pl05-plan-info{grid-column:2;grid-row:2;justify-content:start;min-width:0;padding:4px 11px 11px;}
  #pl-price05 .pl05-price{justify-content:start;line-height:1.2;}
  #pl-price05 .pl05-price strong{font-size:clamp(27px,7vw,34px);}
  #pl-price05 .pl05-price span{font-size:13px;}
  #pl-price05 .pl05-tax{text-align:left;font-size:11px;color:#77837c;margin-top:2px;}
  #pl-price05 .pl05-desc{display:none;}
  #pl-price05 .pl05-note{font-size:10px;text-align:left;margin:13px 3px 20px!important;}
  #pl-price05 .pl05-note br{display:none;}
  #pl-price05 .pl05-consult{display:flex;flex-direction:column;min-height:0;padding:0 0 80px;overflow:hidden;margin-top:15px;border-radius:29px;}
  #pl-price05 .pl05-consult-house{position:relative;order:0;width:100%;height:198px;object-fit:cover;-webkit-mask-image:none;mask-image:none;}
  #pl-price05 .pl05-consult-materials{display:none;}
  #pl-price05 .pl05-consult-symbol{display:none;}
  #pl-price05 .pl05-consult-copy{order:1;margin:0;padding:17px 13px 7px;max-width:none;text-align:center;}
  #pl-price05 .pl05-consult-copy h3{font-size:clamp(24px,6.3vw,32px);}
  #pl-price05 .pl05-consult-copy p{font-size:12px;line-height:1.6;}
  #pl-price05 .pl05-consult-copy p br{display:none;}
  #pl-price05 .pl05-contact{left:13px;right:13px;bottom:10px;width:calc(100% - 26px);min-width:0;min-height:59px;transform:none;padding:10px 30px 10px 10px;gap:8px;border-width:2px;font-size:clamp(15px,4.3vw,20px);}
  #pl-price05 .pl05-contact svg{width:22px;height:20px;}
  #pl-price05 .pl05-contact b{right:14px;font-size:16px;}
}
@media(max-width:385px){
  #pl-price05 .pl05-plan{grid-template-columns:110px minmax(0,1fr);min-height:117px;}
  #pl-price05 .pl05-plan>img{width:110px;min-height:117px;}
  #pl-price05 .pl05-plan h4{font-size:16px;}
  #pl-price05 .pl05-price strong{font-size:26px;}
  #pl-price05 .pl05-contact{font-size:15px;}
}
/* ペイントリーフ大阪｜料金・費用 SECTION 06 専用CSS。SECTION 01〜05には影響しません。 */
#pl-price06{--pl06-green:#006f3b;--pl06-dark:#00512f;--pl06-orange:#ff730b;box-sizing:border-box;isolation:isolate;position:relative;overflow:hidden;width:100%;margin:32px auto 0;padding:30px 20px 44px;font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;color:#26312a;background:radial-gradient(ellipse at 48% 0%,#d6f0ff99 0%,transparent 36%),linear-gradient(180deg,#f8fdf8 0%,#fff 51%,#ebf9df 90%,#d9f2cd 100%);font-size:16px;line-height:1.6;}
#pl-price06 *,#pl-price06 *:before,#pl-price06 *:after{box-sizing:border-box;}
#pl-price06 h2,#pl-price06 h3,#pl-price06 h4{padding:0!important;margin:0!important;border:0!important;box-shadow:none!important;background:none!important;text-shadow:none!important;clear:none!important;color:inherit!important;}
#pl-price06 h2:before,#pl-price06 h2:after,#pl-price06 h3:before,#pl-price06 h3:after,#pl-price06 h4:before,#pl-price06 h4:after{content:none!important;display:none!important;}
#pl-price06 p,#pl-price06 ol{margin:0;padding:0;}
#pl-price06 img{display:block;margin:0;max-width:100%;box-shadow:none;border:0;}
#pl-price06 a{text-decoration:none!important;}
#pl-price06 .pl06-inner{position:relative;z-index:2;max-width:1480px;margin:0 auto;}
#pl-price06 .pl06-leaf{position:absolute;pointer-events:none;z-index:0;width:clamp(210px,24vw,370px);height:auto;opacity:.68;object-fit:contain;}
#pl-price06 .pl06-leaf--left{top:-70px;left:-105px;}
#pl-price06 .pl06-leaf--right{top:0;right:-125px;transform:rotate(6deg);opacity:.54;}
/* ヘッダー */
#pl-price06 .pl06-heading{min-height:232px;position:relative;display:flex;justify-content:center;align-items:flex-start;padding:5px 0 16px;margin-bottom:4px;text-align:center;}
#pl-price06 .pl06-hero-house{position:absolute;z-index:-1;right:-18px;top:-36px;width:28%;height:260px;object-fit:cover;object-position:55% center;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 42%);mask-image:linear-gradient(90deg,transparent 0%,#000 42%);border-radius:0!important;}
#pl-price06 .pl06-heading-copy{position:relative;z-index:1;width:100%;padding:0 min(10vw,150px);}
#pl-price06 .pl06-kicker{font-weight:900;color:#006e3d;letter-spacing:.18em;font-size:18px;line-height:1.25;}
#pl-price06 .pl06-kicker-mark{color:#399c18;font-size:17px;letter-spacing:0;margin-right:7px;}
#pl-price06 .pl06-heading h2{font-size:clamp(32px,4.3vw,60px);font-weight:950;letter-spacing:-.065em;line-height:1.24!important;white-space:nowrap;margin:12px 0 15px!important;color:#252525!important;}
#pl-price06 .pl06-heading h2 span{color:var(--pl06-green);}
#pl-price06 .pl06-lead{font-size:clamp(13px,1.12vw,17px);line-height:1.7;font-weight:600;text-shadow:0 1px 4px #fff;}
/* 3カラム */
#pl-price06 .pl06-process{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr) minmax(0,1fr);gap:14px;align-items:stretch;}
#pl-price06 .pl06-panel{min-width:0;overflow:hidden;background:#ffffffed;border:1px solid #dcebdc;border-radius:16px;box-shadow:0 8px 18px #1c6b3413;}
#pl-price06 .pl06-panel-head{min-height:74px;display:flex;align-items:center;gap:11px;padding:9px 13px!important;color:#fff!important;background:linear-gradient(100deg,#3c9b27 0%,#05713c 60%,#006338 100%)!important;font-size:clamp(16px,1.35vw,22px);font-weight:900;line-height:1.32!important;letter-spacing:-.045em;}
#pl-price06 .pl06-panel-head em{font-style:normal;color:#ffe447;}
#pl-price06 .pl06-no{width:50px;height:50px;flex:0 0 50px;border-radius:50%;display:grid;place-items:center;color:#056838;font-size:26px;background:#fff;box-shadow:inset 0 0 0 1px #e1f0de;line-height:1;letter-spacing:0;}
#pl-price06 .pl06-panel-body{padding:15px 13px 15px;}
#pl-price06 .pl06-panel-body>p{font-size:clamp(12.3px,1vw,15px);line-height:1.75;font-weight:500;margin-bottom:12px;}
#pl-price06 .pl06-panel-body strong{color:#087844;font-weight:850;}
#pl-price06 .pl06-survey-photo{width:100%;height:clamp(190px,19.7vw,300px);object-fit:cover;object-position:50% 52%;border-radius:10px;}
#pl-price06 .pl06-survey-note{margin:12px 0 0!important;padding:11px 11px!important;background:linear-gradient(90deg,#e7f7df,#f7fbef);border-radius:10px;color:#096536;font-weight:850!important;font-size:clamp(12px,.93vw,15px)!important;line-height:1.45!important;}
#pl-price06 .pl06-survey-note span{display:inline-block;background:#43a538;color:#fff;width:23px;height:23px;border-radius:50%;text-align:center;margin-right:5px;line-height:23px;}
/* 追加が起きる2ケース */
#pl-price06 .pl06-case-list{display:flex;flex-direction:column;gap:10px;}
#pl-price06 .pl06-case{display:flex;align-items:center;gap:12px;min-height:143px;padding:12px 12px 12px 11px;background:linear-gradient(103deg,#f0f9e7,#fffaf2);border-radius:12px;}
#pl-price06 .pl06-case:nth-child(2){background:linear-gradient(103deg,#f1f9e9,#fff9e8);}
#pl-price06 .pl06-case-icon{flex:0 0 73px;width:73px;height:73px;border-radius:50%;display:grid;place-items:center;background:#dff3d9;color:#057541;}
#pl-price06 .pl06-case-icon svg{height:43px;width:43px;}
#pl-price06 .pl06-case-text{min-width:0;}
#pl-price06 .pl06-case-text h4{font-size:clamp(14.5px,1.26vw,20px);line-height:1.45!important;font-weight:900;color:#036b39!important;margin:0 0 7px!important;}
#pl-price06 .pl06-case-text h4 span{color:#ed6c00;}
#pl-price06 .pl06-case-text p{font-size:clamp(12px,.91vw,14px);line-height:1.65;}
/* 事前説明・見積もり・納得 */
#pl-price06 .pl06-response-list{list-style:none;display:flex;flex-direction:column;gap:9px;counter-reset:none;}
#pl-price06 .pl06-response-list li{display:flex;align-items:center;gap:13px;min-height:91px;padding:10px 12px;background:linear-gradient(100deg,#f0faeb 0%,#fbfdfa 100%);border-radius:11px;}
#pl-price06 .pl06-response-icon{flex:0 0 59px;display:grid;place-items:center;width:59px;height:59px;color:#047543;background:#dff4db;border-radius:50%;}
#pl-price06 .pl06-response-icon svg{width:38px;height:38px;}
#pl-price06 .pl06-response-list strong{display:block;color:#036c3a;font-size:clamp(15px,1.21vw,19px);font-weight:900;line-height:1.4;margin-bottom:3px;}
#pl-price06 .pl06-response-list small{display:block;color:#2b352e;font-size:clamp(11.5px,.91vw,14px);line-height:1.65;}
/* CTA */
#pl-price06 .pl06-consult{position:relative;display:grid;grid-template-columns:128px minmax(0,1fr) minmax(290px,34%);gap:14px;align-items:center;min-height:198px;margin-top:14px;padding:22px 26px;overflow:hidden;border:1px solid #c9e8b7;border-radius:20px;background:linear-gradient(97deg,#ffffff 0%,#fafff8 58%,#e6f6d8 100%);box-shadow:0 7px 20px #2167381a;}
#pl-price06 .pl06-consult-photo{position:absolute;z-index:0;right:0;top:0;width:46%;height:100%;object-fit:cover;object-position:50% 55%;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 35%);mask-image:linear-gradient(90deg,transparent 0%,#000 35%);}
#pl-price06 .pl06-consult-symbol{position:relative;z-index:1;color:#008040;}
#pl-price06 .pl06-consult-symbol svg{width:115px;max-width:100%;height:auto;filter:drop-shadow(0 5px 8px #3b8a2d12);}
#pl-price06 .pl06-consult-text{position:relative;z-index:1;min-width:0;}
#pl-price06 .pl06-consult-text h3{font-size:clamp(22px,2.3vw,35px);font-weight:950;line-height:1.38!important;letter-spacing:-.05em;color:#07623c!important;}
#pl-price06 .pl06-consult-text h3 span{color:#f46b0d;}
#pl-price06 .pl06-consult-text p{font-size:clamp(12px,1vw,15px);line-height:1.75;margin-top:9px;font-weight:500;}
#pl-price06 .pl06-contact{position:relative;z-index:2;min-height:74px;display:flex;align-items:center;justify-content:space-evenly;gap:10px;padding:13px 17px;border:3px solid #fff;border-radius:65px;background:linear-gradient(180deg,#ff9831,#ff760d 53%,#f76203);color:#fff!important;box-shadow:0 7px 16px #d46c2c55,inset 0 2px 3px #fff6;font-size:clamp(16px,1.65vw,24px);font-weight:900;white-space:nowrap;line-height:1.25;transition:filter .16s ease;}
#pl-price06 .pl06-contact:hover{filter:brightness(1.05);}
#pl-price06 .pl06-contact:focus-visible{outline:3px solid #007d47;outline-offset:3px;}
#pl-price06 .pl06-contact svg{width:30px;height:26px;flex:0 0 30px;}
#pl-price06 .pl06-contact b{font-size:35px;line-height:.8;font-weight:400;}
@media(max-width:1200px){
 #pl-price06{padding:27px 14px 35px;}
 #pl-price06 .pl06-heading-copy{padding:0 7vw;}
 #pl-price06 .pl06-panel-head{padding:9px!important;gap:7px;font-size:clamp(15px,1.5vw,19px);}
 #pl-price06 .pl06-no{width:43px;height:43px;flex-basis:43px;font-size:22px;}
 #pl-price06 .pl06-case-icon{width:58px;height:58px;flex-basis:58px;}
 #pl-price06 .pl06-case-icon svg{width:35px;height:35px;}
 #pl-price06 .pl06-case{gap:8px;padding:10px;}
 #pl-price06 .pl06-panel-body{padding:12px 10px;}
 #pl-price06 .pl06-consult{grid-template-columns:86px 1fr 32%;padding:17px;gap:9px;}
 #pl-price06 .pl06-consult-symbol svg{width:82px;}
 #pl-price06 .pl06-contact{padding:12px 9px;font-size:clamp(14px,1.55vw,20px);}
}
@media(max-width:950px){
 #pl-price06 .pl06-heading{min-height:218px;}
 #pl-price06 .pl06-heading h2{font-size:clamp(29px,4.2vw,43px);}
 #pl-price06 .pl06-heading-copy{padding:0 5vw;}
 #pl-price06 .pl06-process{grid-template-columns:1fr 1fr;}
 #pl-price06 .pl06-panel--response{grid-column:1/-1;}
 #pl-price06 .pl06-response-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));}
 #pl-price06 .pl06-response-list li{min-width:0;align-items:flex-start;flex-direction:column;gap:7px;}
 #pl-price06 .pl06-consult{grid-template-columns:72px 1fr;min-height:210px;padding-right:35%;}
 #pl-price06 .pl06-contact{grid-column:2;min-height:65px;width:100%;}
 #pl-price06 .pl06-consult-text h3{font-size:23px;}
 #pl-price06 .pl06-consult-photo{width:44%;}
}
@media(max-width:700px){
 #pl-price06{margin-top:20px;padding:20px 12px 28px;}
 #pl-price06 .pl06-leaf{width:195px;opacity:.48;}
 #pl-price06 .pl06-leaf--left{top:-30px;left:-90px;}
 #pl-price06 .pl06-leaf--right{top:10px;right:-100px;}
 #pl-price06 .pl06-heading{display:flex;flex-direction:column-reverse;min-height:0;padding:2px 0 6px;}
 #pl-price06 .pl06-heading-copy{padding:0;}
 #pl-price06 .pl06-kicker{font-size:13px;}
 #pl-price06 .pl06-heading h2{font-size:clamp(25px,6.9vw,34px);margin:12px 0 11px!important;white-space:normal;letter-spacing:-.045em;line-height:1.36!important;}
 #pl-price06 .pl06-heading h2 span{display:block;}
 #pl-price06 .pl06-lead{font-size:12.4px;line-height:1.7;margin:0 auto 8px;max-width:560px;}
 #pl-price06 .pl06-desktop-br{display:none;}
 #pl-price06 .pl06-hero-house{position:relative;right:auto;top:auto;z-index:0;width:calc(100% + 24px);max-width:none;height:170px;object-position:center 50%;margin:9px -12px -5px;-webkit-mask-image:linear-gradient(180deg,#000 68%,transparent 100%);mask-image:linear-gradient(180deg,#000 68%,transparent 100%);border-radius:0!important;}
 #pl-price06 .pl06-process{grid-template-columns:1fr;gap:12px;}
 #pl-price06 .pl06-panel--response{grid-column:auto;}
 #pl-price06 .pl06-panel{border-radius:16px;}
 #pl-price06 .pl06-panel-head{min-height:56px;padding:7px 10px!important;gap:9px;font-size:clamp(17px,4.5vw,21px);}
 #pl-price06 .pl06-no{width:42px;height:42px;flex-basis:42px;font-size:22px;}
 #pl-price06 .pl06-panel-body{padding:12px;}
 #pl-price06 .pl06-panel-body>p{font-size:13px;line-height:1.7;}
 #pl-price06 .pl06-survey-photo{height:205px;}
 #pl-price06 .pl06-survey-note{font-size:12.5px!important;}
 #pl-price06 .pl06-case{min-height:0;padding:12px;}
 #pl-price06 .pl06-case-icon{width:57px;height:57px;flex-basis:57px;}
 #pl-price06 .pl06-case-text h4{font-size:16px;}
 #pl-price06 .pl06-case-text p{font-size:12.5px;}
 #pl-price06 .pl06-response-list{display:flex;}
 #pl-price06 .pl06-response-list li{min-height:0;align-items:center;flex-direction:row;padding:10px;gap:10px;}
 #pl-price06 .pl06-response-icon{flex-basis:49px;width:49px;height:49px;}
 #pl-price06 .pl06-response-icon svg{width:33px;height:33px;}
 #pl-price06 .pl06-response-list strong{font-size:16px;}
 #pl-price06 .pl06-response-list small{font-size:12px;}
 #pl-price06 .pl06-consult{display:flex;flex-direction:column;align-items:stretch;gap:0;margin-top:14px;min-height:0;padding:16px 13px 13px;border-radius:16px;text-align:center;}
 #pl-price06 .pl06-consult-photo{display:none;}
 #pl-price06 .pl06-consult-symbol{display:block;align-self:center;margin:0 auto 8px;}
 #pl-price06 .pl06-consult-symbol svg{width:55px;height:51px;}
 #pl-price06 .pl06-consult-text{margin-top:0;}
 #pl-price06 .pl06-consult-text h3{font-size:clamp(18px,5vw,24px);line-height:1.4!important;}
 #pl-price06 .pl06-consult-desktop-br{display:none;}
 #pl-price06 .pl06-consult-text p{font-size:12px;line-height:1.7;margin:9px 0 12px;}
 #pl-price06 .pl06-contact{width:100%;min-height:63px;font-size:clamp(15px,4.3vw,20px);padding:11px 10px;gap:8px;justify-content:center;}
 #pl-price06 .pl06-contact svg{width:26px;height:23px;flex-basis:26px;}
 #pl-price06 .pl06-contact b{margin-left:auto;font-size:26px;}
}
@media(max-width:380px){
 #pl-price06{padding-left:9px;padding-right:9px;}
 #pl-price06 .pl06-hero-house{width:calc(100% + 18px);margin-left:-9px;margin-right:-9px;}
 #pl-price06 .pl06-heading h2{font-size:25px;}
 #pl-price06 .pl06-panel-head{font-size:16px;}
 #pl-price06 .pl06-case-icon{width:49px;height:49px;flex-basis:49px;}
 #pl-price06 .pl06-case-icon svg{width:30px;height:30px;}
 #pl-price06 .pl06-case-text h4{font-size:14.5px;}
 #pl-price06 .pl06-case-text p{font-size:11.8px;}
 #pl-price06 .pl06-contact{font-size:15px;}
}
/* ペイントリーフ大阪 料金・費用ページ SECTION 07専用（Cocoon 追加CSSへ） */
#pl-price07{
  --pl07-g:#00663b;--pl07-deep:#005230;--pl07-o:#ff6a08;
  position:relative;isolation:isolate;overflow:hidden;box-sizing:border-box;
  width:100%;margin:32px auto 0;padding:0 22px 22px;
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  font-size:16px;line-height:1.65;color:#1d2520;
  background:radial-gradient(ellipse 44% 32% at 52% 5%,#f5fcff 0%,#f9fffb 65%,transparent 100%),linear-gradient(180deg,#eef9f5 0%,#fbfff7 46%,#eff9df 81%,#cfeeb9 100%);
}
#pl-price07 *,#pl-price07 *::before,#pl-price07 *::after{box-sizing:border-box}
#pl-price07 h2,#pl-price07 h3,#pl-price07 p{margin:0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;clear:none!important;text-shadow:none!important;letter-spacing:normal}
#pl-price07 h2::before,#pl-price07 h2::after,#pl-price07 h3::before,#pl-price07 h3::after{content:none!important;display:none!important}
#pl-price07 img{max-width:100%;height:auto;display:block;margin:0;box-shadow:none;border:0}
#pl-price07 a{text-decoration:none!important}
#pl-price07 .pl07-body{max-width:1490px;margin:auto;position:relative;z-index:2}
#pl-price07 .pl07-leaf{position:absolute;z-index:0;pointer-events:none;max-width:none;width:min(44vw,510px);height:auto;opacity:.92}
#pl-price07 .pl07-leaf--tl{left:-75px;top:-27px}
#pl-price07 .pl07-leaf--bl{left:-166px;bottom:-55px;width:325px;transform:rotate(-22deg);opacity:.74}
#pl-price07 .pl07-leaf--br{right:-150px;bottom:-58px;width:310px;opacity:.44}
/* 上部タイトル */
#pl-price07 .pl07-hero{height:268px;position:relative;padding-top:14px;text-align:center;display:flex;align-items:flex-start;justify-content:center}
#pl-price07 .pl07-hero-house{position:absolute;right:-22px;top:0;width:32.5%;height:265px;object-fit:cover;object-position:62% 58%;border-radius:0!important;opacity:.98;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 58%);mask-image:linear-gradient(90deg,transparent 0%,#000 58%)}
#pl-price07 .pl07-hero-copy{position:relative;z-index:2;width:100%;padding:0 6%}
#pl-price07 .pl07-kicker{color:#00663b;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:clamp(13px,1.45vw,22px);font-weight:850;letter-spacing:.19em;line-height:1.25}
#pl-price07 .pl07-kicker svg{width:32px;height:32px;stroke-width:2}
#pl-price07 .pl07-title{font-size:clamp(29px,3.65vw,56px)!important;line-height:1.32!important;font-weight:950!important;letter-spacing:-.055em!important;color:#111a18!important;margin:10px auto 17px!important;white-space:normal;max-width:1080px}
#pl-price07 .pl07-title span{color:#006837;white-space:nowrap;position:relative;z-index:0}
#pl-price07 .pl07-title span::after{content:"";position:absolute;z-index:-1;bottom:-.15em;left:2%;right:0;height:.19em;background:linear-gradient(90deg,#f6fbb3,#e5f37a 75%,#faffd9);border-radius:70% 25% 55% 40%;transform:rotate(-.8deg)}
#pl-price07 .pl07-intro{font-size:clamp(12px,1.25vw,17px);font-weight:550;line-height:1.6;max-width:1110px;margin:0 auto!important;color:#212525}
/* Q&A 2列×4段 */
#pl-price07 .pl07-faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 13px;position:relative}
#pl-price07 .pl07-faq{position:relative;min-height:128px;padding:14px 92px 15px 87px;background:linear-gradient(120deg,#fff 0%,#fff 80%,#fafff9 100%);border:1px solid #e0eae0;border-radius:14px;box-shadow:0 2px 8px #0a622308;min-width:0;}
#pl-price07 .pl07-qtag,#pl-price07 .pl07-atag{position:absolute;left:12px;width:51px;height:51px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:25px;line-height:1;font-weight:900;letter-spacing:-.06em;box-shadow:inset 0 2px 2px #ffffff3b}
#pl-price07 .pl07-qtag{top:7px;background:radial-gradient(circle at 25% 15%,#169452 0%,#00683e 53%,#00442b 100%)}
#pl-price07 .pl07-atag{top:65px;background:linear-gradient(135deg,#ff8530,#ff6205 70%,#ec4700)}
#pl-price07 .pl07-question{font-size:clamp(16px,1.36vw,21px)!important;line-height:1.4!important;letter-spacing:-.025em!important;font-weight:900!important;color:#005b36!important;margin:0 0 14px!important}
#pl-price07 .pl07-answer{font-size:clamp(11.8px,.93vw,14.6px)!important;line-height:1.65!important;color:#292d29;font-weight:500}
#pl-price07 .pl07-faq-symbol{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:74px;height:74px;border-radius:50%;background:radial-gradient(circle at 35% 25%,#e6fbe0,#c8eebd);display:grid;place-items:center;color:#006a3a;}
#pl-price07 .pl07-faq-symbol svg{width:47px;height:47px;stroke-width:3.6}
/* 下部CTA */
#pl-price07 .pl07-bottom{margin-top:9px;min-height:192px;position:relative;display:grid;grid-template-columns:160px minmax(0,1fr) minmax(335px,33%);column-gap:13px;align-items:center;overflow:hidden;padding:12px 22px 20px 9px;border-radius:14px;background:linear-gradient(90deg,#fffdf9 0%,#fff 52%,#e4f6d8 100%)}
#pl-price07 .pl07-bottom::after{content:"";position:absolute;pointer-events:none;z-index:3;left:-2%;right:-2%;height:55px;bottom:-24px;background:linear-gradient(90deg,#a5e585a9,#4abf5ea8,#88d77099);border-radius:50% 60% 0 0 / 35% 80% 0 0;transform:rotate(-.2deg)}
#pl-price07 .pl07-bottom-house{position:absolute;right:0;top:0;width:55%;height:100%;object-fit:cover;object-position:54% 61%;opacity:.65;-webkit-mask-image:linear-gradient(90deg,transparent,#000 66%);mask-image:linear-gradient(90deg,transparent,#000 66%);}
#pl-price07 .pl07-bottom-symbol{position:relative;z-index:4;align-self:center;color:#006b3e}
#pl-price07 .pl07-bottom-symbol svg{display:block;width:152px;max-width:100%;height:auto;filter:drop-shadow(0 4px 1px #78b66914)}
#pl-price07 .pl07-bottom-copy{position:relative;z-index:4;min-width:0}
#pl-price07 .pl07-bottom-heading{font-size:clamp(22px,2.55vw,38px)!important;line-height:1.34!important;letter-spacing:-.045em!important;color:#00663b;font-weight:950!important}
#pl-price07 .pl07-bottom-heading span{color:#ff6509}
#pl-price07 .pl07-bottom-desc{margin-top:8px!important;font-size:clamp(11.5px,1.05vw,15px)!important;line-height:1.52!important;font-weight:500}
#pl-price07 .pl07-bottom-staff{position:absolute;z-index:6;right:30.8%;height:202px;width:auto;max-width:30%;object-fit:contain;bottom:2px;filter:drop-shadow(0 4px 4px #35714820)}
#pl-price07 .pl07-bottom-button{position:relative;z-index:8;grid-column:3;min-width:0;display:flex;gap:11px;align-items:center;justify-content:center;border:3px solid white;min-height:70px;border-radius:60px;color:white!important;background:linear-gradient(180deg,#ff9e42,#ff7609 55%,#f85d00);box-shadow:0 3px 9px #b84c164d,inset 0 2px 2px #ffffff70;font-size:clamp(15px,1.57vw,23px);line-height:1.3;font-weight:900;white-space:nowrap;padding:10px 16px;transition:filter .15s ease}
#pl-price07 .pl07-bottom-button:hover{filter:brightness(1.08)}
#pl-price07 .pl07-bottom-button:focus-visible{outline:3px solid #005f39;outline-offset:4px}
#pl-price07 .pl07-bottom-button svg:first-child{width:31px;height:31px;flex:0 0 31px;stroke-width:2.5}
#pl-price07 .pl07-bottom-button svg:last-child{width:25px;height:25px;flex:0 0 25px;stroke-width:4}
@media(max-width:1180px){
 #pl-price07{padding:0 12px 18px}
 #pl-price07 .pl07-hero{height:236px}
 #pl-price07 .pl07-hero-house{height:235px}
 #pl-price07 .pl07-hero-copy{padding:0 3.5%}
 #pl-price07 .pl07-faq{padding:12px 74px 12px 64px;min-height:127px}
 #pl-price07 .pl07-qtag,#pl-price07 .pl07-atag{left:8px;width:43px;height:43px;font-size:23px}
 #pl-price07 .pl07-qtag{top:8px}
 #pl-price07 .pl07-atag{top:59px}
 #pl-price07 .pl07-faq-symbol{right:7px;width:58px;height:58px}
 #pl-price07 .pl07-faq-symbol svg{width:36px;height:36px}
 #pl-price07 .pl07-question{font-size:clamp(15px,1.65vw,20px)!important;margin-bottom:8px!important}
 #pl-price07 .pl07-answer{font-size:clamp(11.5px,1.14vw,14px)!important}
 #pl-price07 .pl07-bottom{grid-template-columns:104px minmax(0,1fr) minmax(270px,33%);min-height:183px;gap:10px;padding:11px}
 #pl-price07 .pl07-bottom-symbol svg{width:104px}
 #pl-price07 .pl07-bottom-staff{height:169px}
 #pl-price07 .pl07-bottom-button{padding:9px;font-size:clamp(13px,1.7vw,21px)}
 #pl-price07 .pl07-bottom-heading{font-size:clamp(19px,2.66vw,33px)!important}
}
@media(max-width:760px){
 #pl-price07{margin-top:20px;padding:0 11px 17px}
 #pl-price07 .pl07-leaf--tl{left:-75px;top:-33px;width:240px;opacity:.56}
 #pl-price07 .pl07-leaf--bl{left:-135px;width:225px}
 #pl-price07 .pl07-leaf--br{right:-135px;width:220px}
 #pl-price07 .pl07-hero{height:auto;min-height:228px;padding:17px 0 20px}
 #pl-price07 .pl07-hero-house{right:-11px;top:0;width:49%;height:160px;opacity:.7}
 #pl-price07 .pl07-hero-copy{padding:0 1%}
 #pl-price07 .pl07-kicker{font-size:13px;gap:0}
 #pl-price07 .pl07-kicker svg{width:22px;height:22px}
 #pl-price07 .pl07-title{font-size:clamp(24px,5.65vw,35px)!important;line-height:1.36!important;margin:11px 0 16px!important}
 #pl-price07 .pl07-title span{display:block}
 #pl-price07 .pl07-intro{font-size:12px!important;line-height:1.7;max-width:420px}
 #pl-price07 .pl07-pc-break{display:none}
 #pl-price07 .pl07-faq-grid{grid-template-columns:1fr;gap:9px}
 #pl-price07 .pl07-faq{min-height:118px;padding:12px 60px 14px 65px;border-radius:12px}
 #pl-price07 .pl07-qtag,#pl-price07 .pl07-atag{width:42px;height:42px;font-size:22px}
 #pl-price07 .pl07-qtag{top:8px}
 #pl-price07 .pl07-atag{top:56px}
 #pl-price07 .pl07-faq-symbol{width:48px;height:48px;right:8px}
 #pl-price07 .pl07-faq-symbol svg{width:31px;height:31px}
 #pl-price07 .pl07-question{font-size:clamp(14.5px,4.1vw,19px)!important;margin-bottom:7px!important;line-height:1.42!important}
 #pl-price07 .pl07-answer{font-size:12px!important;line-height:1.7!important}
 #pl-price07 .pl07-bottom{min-height:0;margin-top:10px;padding:17px 13px 24px;display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px;border-radius:14px}
 #pl-price07 .pl07-bottom-symbol svg{width:62px}
 #pl-price07 .pl07-bottom-heading{font-size:clamp(19px,5.5vw,28px)!important;line-height:1.36!important}
 #pl-price07 .pl07-bottom-desc{font-size:11.5px!important;line-height:1.65!important}
 #pl-price07 .pl07-bottom-house{width:100%;height:100%;opacity:.24;object-position:center}
 #pl-price07 .pl07-bottom-staff{right:2px;height:128px;max-width:32%;opacity:1;bottom:77px}
 #pl-price07 .pl07-bottom-button{grid-column:1/-1;width:min(100%,420px);min-height:59px;margin:128px auto 0;padding:8px 13px;font-size:clamp(15px,4.3vw,20px)}
 #pl-price07 .pl07-bottom-button svg:first-child{width:26px;height:26px;flex-basis:26px}
 #pl-price07 .pl07-bottom-button svg:last-child{width:20px;height:20px;flex-basis:20px}
}
@media(max-width:390px){
 #pl-price07 .pl07-faq{padding:12px 54px 13px 59px}
 #pl-price07 .pl07-faq-symbol{width:43px;height:43px;right:7px}
 #pl-price07 .pl07-faq-symbol svg{width:28px;height:28px}
 #pl-price07 .pl07-qtag,#pl-price07 .pl07-atag{left:5px;width:38px;height:38px;font-size:20px}
 #pl-price07 .pl07-atag{top:55px}
 #pl-price07 .pl07-question{font-size:14.2px!important}
 #pl-price07 .pl07-title{font-size:23px!important}
}
/* ==========================================================
   ペイントリーフ大阪｜スタッフ紹介 SECTION 01（承認済み完成画像版）
   対象: /staff/ のみ（page-id-85）
   PC：PC完成画像／スマホ：横長16:9完成画像をそのまま表示
   背景・人物・文字・装飾をCSSで合成したりトリミングしません。
   ========================================================== */
body.page-id-85 .plos-staff-approved-s01 {
  position: relative;
  display: block;
  width: 100%;
  max-width: 1672px;
  margin: 0 auto;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  box-sizing: border-box;
}

body.page-id-85 .plos-staff-approved-s01__picture,
body.page-id-85 .plos-staff-approved-s01__image {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  box-shadow: none;
}

body.page-id-85 .plos-staff-approved-s01__image {
  height: auto;
  object-fit: contain;
  vertical-align: bottom;
}

/* 検索・読み上げ用タイトル（見た目には重ねて表示しない） */
body.page-id-85 .plos-staff-approved-s01__sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

@media screen and (max-width: 767px) {
  body.page-id-85 .plos-staff-approved-s01 {
    width: 100%;
    max-width: none;
    margin: 0 auto;
  }

  body.page-id-85 .plos-staff-approved-s01__image {
    width: 100%;
    height: auto; /* 390px幅なら高さ約220px。縦長にはしない */
  }
}
/* =========================================================
   スタッフ紹介ページ SECTION 01｜メニュー直下にヘッダーを配置
   対象：/staff/（page-id-85）のみ
   ※ 子テーマ style.css の末尾に追加
   ※ 既存のヘッダーHTML・CSSは変更しない
========================================================= */

/* Cocoonが自動出力する記事タイトル・メタ情報の領域を非表示 */
body.page-id-85 #main .article-header,
body.page-id-85 #main .entry-title {
  display: none !important;
}

/* ナビゲーションからヘッダーまでの上余白を取り除く */
body.page-id-85 #content,
body.page-id-85 #content-in,
body.page-id-85 #main,
body.page-id-85 #main .article,
body.page-id-85 #main .entry-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* SECTION 01自体の上余白も0にする */
body.page-id-85 .plos-staff-approved-s01 {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
/* ==========================================================
 ペイントリーフ大阪｜スタッフ紹介 SECTION 02
 ページID 85 専用。SECTION 01・TOP・他ページは変更しません。
 子テーマ style.css に1回だけ貼り付けてください。
 ========================================================== */

body.page-id-85 .pls02,
body.page-id-85 .pls02 * { box-sizing: border-box; }

body.page-id-85 .pls02 {
  position: relative;
  isolation: isolate;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 60px 0 72px;
  overflow: hidden;
  color: #18352a;
  background:
    radial-gradient(ellipse at 92% 4%, rgba(223, 245, 213, .58), transparent 34%),
    linear-gradient(150deg, #fcfffc 0%, #f7faf5 59%, #fafdf9 100%);
}
body.page-id-85 .pls02::before {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  top: 0; left: 0;
  width: 100%; height: 410px;
  background: url("https://paintleaf-osaka.com/wp-content/uploads/2026/10/paintleaf-osaka-staff-section01-leaf-frame.webp") center -135px / min(1500px, 100%) auto no-repeat;
  opacity: .48;
}
body.page-id-85 .pls02__inner {
  width: min(1200px, calc(100% - 42px));
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
/* Cocoonの汎用見出し装飾をこのセクションに適用させない */
body.page-id-85 .pls02 h2,
body.page-id-85 .pls02 h3,
body.page-id-85 .pls02 h4 {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  text-align: left;
}
body.page-id-85 .pls02 h2::before,
body.page-id-85 .pls02 h2::after,
body.page-id-85 .pls02 h3::before,
body.page-id-85 .pls02 h3::after,
body.page-id-85 .pls02 h4::before,
body.page-id-85 .pls02 h4::after { content: none; display: none; }
body.page-id-85 .pls02 p { padding: 0; border: 0; background: none; }
body.page-id-85 .pls02 img { display: block; max-width: 100%; margin: 0; padding: 0; box-shadow: none; }

/* セクション見出し */
body.page-id-85 .pls02__heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 38px;
  margin: 0 0 32px;
}
body.page-id-85 .pls02__heading-main { flex: 1 1 auto; min-width: 0; }
body.page-id-85 .pls02__eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 28px;
  color: #006e43;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .19em;
  line-height: 1.4;
}
body.page-id-85 .pls02__eyebrow::before {
  content: "";
  width: 46px; height: 2px; flex: 0 0 auto;
  background: #75bc79;
}
body.page-id-85 .pls02__eyebrow span { color: #6da18b; }
body.page-id-85 .pls02 h2.pls02__title {
  font-size: clamp(29px, 4vw, 52px);
  line-height: 1.48;
  font-weight: 900;
  letter-spacing: .035em;
  color: #142b23;
}
body.page-id-85 .pls02__title span {
  color: #006a43;
  box-shadow: inset 0 -8px 0 rgba(233, 235, 91, .76);
}
body.page-id-85 .pls02__intro {
  width: min(335px, 32%);
  flex: 0 0 auto;
  margin: 0 0 8px;
  color: #3c5649;
  font-size: 15px;
  font-weight: 600;
  line-height: 2.05;
}

/* 代表の紹介 */
body.page-id-85 .pls02__leader {
  display: grid;
  grid-template-columns: 36% minmax(0, 1fr);
  min-height: 426px;
  overflow: hidden;
  border: 1px solid #e2ebdc;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 16px 40px rgba(17, 67, 43, .085);
}
body.page-id-85 .pls02__leader-visual {
  position: relative;
  min-height: 426px;
  padding: 40px 42px;
  background: linear-gradient(145deg, #e2f3dd, #f0f9eb);
}
body.page-id-85 .pls02__leader-visual::before {
  content: "";
  position: absolute;
  top: -105px; left: -140px;
  width: 530px; height: 530px;
  border-radius: 50%;
  background: rgba(211, 235, 201, .65);
}
body.page-id-85 .pls02__leader-portrait {
  position: relative;
  z-index: 1;
  width: min(100%, 300px);
  height: 342px;
  margin: 0 auto;
  overflow: hidden;
  border: 7px solid rgba(255, 255, 255, .98);
  border-radius: 9px;
  background: #e5eae6;
  box-shadow: 0 14px 30px rgba(16, 67, 43, .15);
}
body.page-id-85 .pls02__leader-portrait img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center 24%;
}
body.page-id-85 .pls02__leader-tag {
  position: absolute;
  z-index: 2;
  top: 23px; right: 22px;
  padding: 8px 13px;
  border-radius: 100px;
  background: #075339;
  color: white;
  font-size: 11px;
  letter-spacing: .09em;
  font-weight: 850;
  line-height: 1.25;
}
body.page-id-85 .pls02__leader-index {
  position: absolute;
  bottom: 3px; left: 21px;
  color: #a9d69b;
  font: italic 900 84px/1 Georgia, serif;
}
body.page-id-85 .pls02__leader-body {
  padding: 38px clamp(25px, 3.9vw, 52px) 34px;
  background: linear-gradient(130deg, #fff 65%, #f0f9e9);
}
body.page-id-85 .pls02__message-label {
  margin: 0 0 16px;
  color: #087246;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .16em;
  line-height: 1.45;
}
body.page-id-85 .pls02__message-label > span:first-child { color: #e5b621; font-size: 20px; letter-spacing: 0; margin-right: 8px; }
body.page-id-85 .pls02__message-slash { color: #9eb8a7; margin: 0 9px; }
body.page-id-85 .pls02 h3.pls02__leader-message {
  color: #0b5035;
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(21px, 2.35vw, 29px);
  font-weight: 800;
  letter-spacing: .03em;
  line-height: 1.67;
}
body.page-id-85 .pls02__brush {
  height: 9px;
  width: min(242px, 70%);
  margin: -2px 0 18px;
  border-radius: 52% 22% 60% 35%;
  transform: rotate(-1.5deg);
  background: linear-gradient(90deg, #ffef45, #f7d949 70%, rgba(255, 245, 122, 0));
}
body.page-id-85 .pls02__leader-description {
  margin: 0 0 24px;
  color: #385446;
  font-size: 14px;
  line-height: 2;
}
body.page-id-85 .pls02__leader-sign {
  display: flex;
  align-items: center;
  gap: 13px;
  padding-top: 18px;
  border-top: 1px solid #dfebdd;
}
body.page-id-85 .pls02__leader-role { color: #077747; font-size: 13px; font-weight: 850; }
body.page-id-85 .pls02__leader-sign strong { color: #142f25; font-size: 25px; font-weight: 900; letter-spacing: .11em; }
body.page-id-85 .pls02__company { margin-left: auto; font-size: 10px; letter-spacing: .12em; color: #a1b9a6; white-space: nowrap; }

/* 施工管理スタッフ */
body.page-id-85 .pls02__management { margin-top: 56px; }
body.page-id-85 .pls02__management-heading {
  display: flex; justify-content: space-between; align-items: flex-end; gap: 24px;
  margin: 0 0 21px;
}
body.page-id-85 .pls02__management-label { margin: 0 0 7px; color: #007747; font-size: 12px; font-weight: 850; letter-spacing: .18em; }
body.page-id-85 .pls02__management-heading h3 {
  color: #13392a; font-size: clamp(22px, 2.25vw, 28px); font-weight: 900; letter-spacing: .04em; line-height: 1.47;
}
body.page-id-85 .pls02__management-heading > p {
  width: 300px; flex: 0 0 auto; margin: 0;
  color: #577063; font-size: 13px; line-height: 1.85;
}
body.page-id-85 .pls02__sp-only { display: none; }
body.page-id-85 .pls02__management-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
body.page-id-85 .pls02__staff-card {
  position: relative;
  display: grid; grid-template-columns: minmax(118px, 31%) minmax(0, 1fr); align-items: stretch; gap: 18px;
  min-height: 213px; padding: 13px;
  border: 1px solid #e1e8de; border-radius: 15px;
  background: #fff; overflow: hidden;
  box-shadow: 0 8px 20px rgba(24, 70, 42, .045);
}
body.page-id-85 .pls02__staff-photo {
  overflow: hidden; min-height: 187px; border-radius: 9px; background: #e5ece5;
}
body.page-id-85 .pls02__staff-photo img {
  width: 100%; height: 100%; min-height: 187px;
  object-fit: cover; object-position: center 20%;
}
body.page-id-85 .pls02__staff-body { position: relative; z-index: 1; padding: 12px 9px 12px 0; }
body.page-id-85 .pls02__staff-role {
  display: inline-block;
  margin: 0 0 13px;
  padding: 0 0 6px;
  border-bottom: 2px solid #bcdbb3;
  color: #057145;
  font-size: 12px; font-weight: 850;
}
body.page-id-85 .pls02__staff-body h4 { margin: 0 0 13px; font-size: 23px; font-weight: 900; letter-spacing: .08em; color: #153a2b; }
body.page-id-85 .pls02__staff-description { margin: 0; font-size: 13px; line-height: 1.9; color: #51695d; }
body.page-id-85 .pls02__staff-index { position: absolute; right: 18px; bottom: 2px; color: #e5f1e0; font: italic bold 63px/1 Georgia, serif; }
body.page-id-85 .pls02__next {
  margin-top: 52px; padding-top: 23px; border-top: 1px solid #dce8d8;
  text-align: center; font-size: 12px; font-weight: 800; color: #14724b; letter-spacing: .12em;
}
body.page-id-85 .pls02__next span { padding: 0 6px; }

@media screen and (max-width: 780px) {
  body.page-id-85 .pls02 { padding: 36px 0 45px; }
  body.page-id-85 .pls02::before { height: 240px; background-size: auto 250px; background-position: center -8px; opacity: .4; }
  body.page-id-85 .pls02__inner { width: calc(100% - 28px); }
  body.page-id-85 .pls02__heading { display: block; margin-bottom: 24px; }
  body.page-id-85 .pls02__eyebrow { margin-bottom: 19px; gap: 8px; font-size: 10px; letter-spacing: .13em; }
  body.page-id-85 .pls02__eyebrow::before { width: 20px; }
  body.page-id-85 .pls02 h2.pls02__title { font-size: clamp(25px, 7.1vw, 32px); line-height: 1.45; }
  body.page-id-85 .pls02__title span { box-shadow: inset 0 -5px 0 rgba(233,235,91,.76); }
  body.page-id-85 .pls02__intro { width: auto; margin: 15px 0 0; font-size: 14px; line-height: 1.9; }
  body.page-id-85 .pls02__leader { display: block; min-height: 0; border-radius: 15px; }
  body.page-id-85 .pls02__leader-visual { min-height: 0; height: 245px; padding: 18px 15px 0; }
  body.page-id-85 .pls02__leader-visual::before { width: 370px; height: 370px; top: -105px; left: -70px; }
  body.page-id-85 .pls02__leader-portrait { height: 224px; width: 190px; border-width: 5px; }
  body.page-id-85 .pls02__leader-tag { top: 12px; right: 13px; font-size: 10px; padding: 8px 10px; }
  body.page-id-85 .pls02__leader-index { left: 16px; bottom: 10px; font-size: 70px; }
  body.page-id-85 .pls02__leader-body { padding: 22px 19px 24px; }
  body.page-id-85 .pls02__message-label { font-size: 11px; margin-bottom: 9px; }
  body.page-id-85 .pls02 h3.pls02__leader-message { font-size: clamp(20px, 5.7vw, 25px); line-height: 1.65; }
  body.page-id-85 .pls02__brush { height: 7px; width: 184px; margin: -1px 0 16px; }
  body.page-id-85 .pls02__leader-description { font-size: 14px; line-height: 1.86; margin-bottom: 19px; }
  body.page-id-85 .pls02__leader-sign { padding-top: 15px; gap: 10px; }
  body.page-id-85 .pls02__leader-sign strong { font-size: 21px; }
  body.page-id-85 .pls02__leader-role { font-size: 12px; }
  body.page-id-85 .pls02__company { font-size: 8px; }
  body.page-id-85 .pls02__management { margin-top: 37px; }
  body.page-id-85 .pls02__management-heading { display: block; margin-bottom: 16px; }
  body.page-id-85 .pls02__management-heading h3 { font-size: 22px; }
  body.page-id-85 .pls02__management-label { font-size: 11px; }
  body.page-id-85 .pls02__management-heading > p { width: auto; margin: 10px 0 0; font-size: 13px; line-height: 1.8; }
  body.page-id-85 .pls02__sp-only { display: inline; }
  body.page-id-85 .pls02__management-grid { grid-template-columns: 1fr; gap: 12px; }
  body.page-id-85 .pls02__staff-card { grid-template-columns: 115px minmax(0, 1fr); gap: 13px; min-height: 176px; padding: 11px; border-radius: 13px; }
  body.page-id-85 .pls02__staff-photo,
  body.page-id-85 .pls02__staff-photo img { min-height: 154px; }
  body.page-id-85 .pls02__staff-body { padding: 2px 2px 7px 0; }
  body.page-id-85 .pls02__staff-role { font-size: 11px; margin-bottom: 8px; padding-bottom: 5px; }
  body.page-id-85 .pls02__staff-body h4 { font-size: 19px; margin-bottom: 7px; }
  body.page-id-85 .pls02__staff-description { font-size: 12px; line-height: 1.75; }
  body.page-id-85 .pls02__staff-index { font-size: 42px; right: 11px; bottom: 3px; }
  body.page-id-85 .pls02__next { margin-top: 29px; padding-top: 20px; font-size: 11px; }
}
@media screen and (max-width: 350px) {
  body.page-id-85 .pls02__eyebrow { font-size: 9px; letter-spacing: .09em; }
  body.page-id-85 .pls02__staff-card { grid-template-columns: 95px minmax(0, 1fr); gap: 10px; }
  body.page-id-85 .pls02__staff-body h4 { font-size: 17px; }
  body.page-id-85 .pls02__staff-description { font-size: 11.5px; }
  body.page-id-85 .pls02__company { display: none; }
}
/* ===============================================
   スタッフ紹介 /staff/｜SECTION 01 と SECTION 02 の間隔
   子テーマ style.css の一番下に追加
   メニューとヘッダー間の余白には影響しません
   =============================================== */
body.page-id-85 .pls02 {
  margin-top: 40px !important;
}

@media screen and (max-width: 767px) {
  body.page-id-85 .pls02 {
    margin-top: 24px !important;
  }
}
/* ============================================================
 ペイントリーフ大阪 スタッフ紹介 SECTION 03 / 職人9名
 子テーマ style.css 用・スタッフ紹介ページID 85 のみ
 SECTION 01・02と他ページは変更しません。
 既存のSECTION 03がなければ下に1度だけ貼り付けてください。
============================================================ */

body.page-id-85 .pls03,
body.page-id-85 .pls03 * { box-sizing: border-box; }

body.page-id-85 .pls03 {
  isolation: isolate;
  position: relative;
  overflow: hidden;
  width: 100%;
  max-width: none;
  margin: 36px 0 0;
  padding: 64px 28px 78px;
  color: #15392a;
  background: linear-gradient(180deg, #f5faf1 0%, #fff 24%, #fafdf8 77%, #eaf5e9 100%);
}
body.page-id-85 .pls03__leaf-overlay {
  position: absolute;
  z-index: 0;
  pointer-events: none;
  inset: 0 0 auto;
  height: 430px;
  opacity: .5;
  background: url("https://paintleaf-osaka.com/wp-content/uploads/2026/10/paintleaf-osaka-staff-section01-leaf-frame.webp") center top / min(1500px, 100%) auto no-repeat;
}
body.page-id-85 .pls03__inner {
  position: relative;
  z-index: 1;
  width: min(1190px, 100%);
  margin: 0 auto;
}
/* 既存テーマの見出し・画像装飾を SECTION 03 内だけ解除 */
body.page-id-85 .pls03 h2,
body.page-id-85 .pls03 h3 {
  margin: 0; padding: 0; border: 0; box-shadow: none;
  background: transparent; border-radius: 0; text-align: left;
}
body.page-id-85 .pls03 h2::before,
body.page-id-85 .pls03 h2::after,
body.page-id-85 .pls03 h3::before,
body.page-id-85 .pls03 h3::after { content: none; display: none; }
body.page-id-85 .pls03 p { margin: 0; padding: 0; border: 0; background: transparent; }
body.page-id-85 .pls03 img { display: block; margin: 0; padding: 0; max-width: 100%; box-shadow: none; }

body.page-id-85 .pls03__heading {
  display: grid;
  grid-template-columns: 1.25fr .7fr;
  align-items: end;
  gap: 40px;
  margin-bottom: 32px;
}
body.page-id-85 .pls03__eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 20px;
  color: #086b46;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .17em;
  line-height: 1.5;
}
body.page-id-85 .pls03__eyebrow::before {
  content: '';
  display: block;
  flex: 0 0 38px;
  width: 38px;
  height: 2px;
  background: #0a8553;
}
body.page-id-85 .pls03__eyebrow span { color: #4a9b74; }
body.page-id-85 .pls03 h2.pls03__title {
  color: #173629;
  font-size: clamp(32px, 4vw, 53px);
  font-weight: 900;
  line-height: 1.34;
  letter-spacing: .03em;
}
body.page-id-85 .pls03__title em {
  position: relative;
  z-index: 0;
  display: inline-block;
  color: #006c42;
  font-style: normal;
}
body.page-id-85 .pls03__title em::after {
  content: '';
  position: absolute;
  z-index: -1;
  right: 0; bottom: 5px; left: 0;
  height: 11px;
  background: linear-gradient(90deg, #d9ed67, #f4e56a, #d4ee82);
  transform: rotate(-1deg);
}
body.page-id-85 .pls03__subheading {
  color: #08744d;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .06em;
  line-height: 1.5;
}
body.page-id-85 .pls03__lead {
  margin-top: 10px;
  color: #3d5b4d;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.9;
}
body.page-id-85 .pls03__banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
  padding: 14px 20px;
  color: #fff;
  background: linear-gradient(105deg, #07583c, #108351);
  border-radius: 10px;
  box-shadow: 0 8px 20px rgba(0, 83, 52, .13);
}
body.page-id-85 .pls03__banner strong {
  color: #fff;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: .04em;
  line-height: 1.5;
}
body.page-id-85 .pls03__banner strong span { color: #e9ed77; }
body.page-id-85 .pls03__banner > span {
  color: #e2f2e3;
  font-size: 10px;
  letter-spacing: .14em;
  font-weight: 700;
}
body.page-id-85 .pls03__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px 20px;
}
body.page-id-85 .pls03__card {
  min-width: 0;
  position: relative;
  overflow: hidden;
  border: 1px solid #d9e7db;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 13px 28px rgba(22, 89, 49, .12);
}
body.page-id-85 .pls03__card:nth-child(3n+2) { transform: translateY(7px); }
body.page-id-85 .pls03__photo {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1.2 / 1.04;
  margin: 8px 8px 0;
  background: linear-gradient(145deg, #dcefd6, #edf8e8 72%, #d4e6d0);
}
body.page-id-85 .pls03__photo--tone-2 { background: linear-gradient(135deg, #dfefdb, #f1f9eb 65%, #d8ecdf); }
body.page-id-85 .pls03__photo--tone-3 { background: linear-gradient(145deg, #d6eadb, #f6f8ef 68%, #daebd5); }
body.page-id-85 .pls03__photo::before {
  content: '';
  position: absolute;
  z-index: 0;
  inset: 9% -20% -42% 20%;
  border-radius: 50%;
  border: 1px solid #b9d9bd;
}
body.page-id-85 .pls03__photo-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  position: absolute;
  inset: 0;
  color: #779782;
  opacity: .55;
}
body.page-id-85 .pls03__photo-placeholder svg { width: 76px; height: 76px; }
body.page-id-85 .pls03__photo-placeholder span { font-size: 11px; }
body.page-id-85 .pls03__photo img {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center 25%;
}
body.page-id-85 .pls03__photo-number {
  position: absolute;
  z-index: 2;
  bottom: -12px;
  left: 10px;
  color: rgba(255,255,255,.86);
  font-family: Georgia, serif;
  font-weight: 700;
  font-style: italic;
  font-size: clamp(47px, 5vw, 72px);
  line-height: 1;
  text-shadow: 0 2px 12px rgba(45, 85, 45, .22);
}
body.page-id-85 .pls03__photo-brand {
  position: absolute;
  z-index: 2;
  top: 12px;
  right: 12px;
  color: #39865e;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .1em;
  text-shadow: 0 1px 3px rgba(255,255,255,.8);
}
body.page-id-85 .pls03__card-body {
  position: relative;
  min-height: 93px;
  padding: 14px 19px 17px;
  border-top: 3px solid #b4d68a;
  background: #fff;
}
body.page-id-85 .pls03__role {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #0b8252;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: .04em;
}
body.page-id-85 .pls03__role span {
  width: 20px;
  height: 1px;
  flex: 0 0 20px;
  background: #c2dcbf;
}
body.page-id-85 .pls03 h3.pls03__name {
  margin-top: 6px;
  color: #173e2d;
  font-size: clamp(18px, 2vw, 24px);
  font-weight: 900;
  line-height: 1.35;
  letter-spacing: .04em;
}
body.page-id-85 .pls03__card-count {
  position: absolute;
  right: 19px;
  bottom: 16px;
  color: #adcdb0;
  font-size: 10px;
  font-weight: 700;
}
body.page-id-85 .pls03__card-dot {
  position: absolute;
  z-index: 3;
  top: 11px;
  left: 11px;
  width: 13px;
  height: 13px;
  border: 3px solid #fff;
  border-radius: 50%;
  background: #efd36c;
}
body.page-id-85 .pls03__closing {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 26px;
  margin-top: 37px;
  padding: 24px 26px;
  border: 1px solid #e2eddc;
  border-left: 5px solid #67b875;
  border-radius: 12px;
  background: linear-gradient(95deg, #f2f9e9, #fff 85%);
}
body.page-id-85 .pls03__closing-title {
  color: #09633d;
  font-size: 19px;
  font-weight: 850;
  line-height: 1.6;
}
body.page-id-85 .pls03__closing-title em { color: #c9a327; font-style: normal; }
body.page-id-85 .pls03__closing-text {
  max-width: 410px;
  color: #4e6958;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.8;
}

@media (max-width: 767px) {
  body.page-id-85 .pls03 {
    margin-top: 24px;
    padding: 29px 12px 44px;
  }
  body.page-id-85 .pls03__leaf-overlay {
    height: 260px;
    opacity: .35;
    background-size: auto 240px;
    background-position: center top;
  }
  body.page-id-85 .pls03__inner { width: min(430px, 100%); }
  body.page-id-85 .pls03__heading { display: block; margin: 0 6px 20px; }
  body.page-id-85 .pls03__eyebrow {
    margin-bottom: 11px;
    gap: 7px;
    font-size: 10px;
    letter-spacing: .12em;
  }
  body.page-id-85 .pls03__eyebrow::before { width: 26px; flex-basis: 26px; }
  body.page-id-85 .pls03 h2.pls03__title {
    font-size: clamp(27px, 7.6vw, 32px);
    line-height: 1.44;
  }
  body.page-id-85 .pls03__title em::after { height: 6px; bottom: 4px; }
  body.page-id-85 .pls03__heading-right { margin-top: 13px; }
  body.page-id-85 .pls03__subheading { font-size: 12px; }
  body.page-id-85 .pls03__lead { margin-top: 7px; font-size: 13px; line-height: 1.8; }
  body.page-id-85 .pls03__banner { gap: 8px; margin-bottom: 17px; padding: 12px; border-radius: 9px; }
  body.page-id-85 .pls03__banner strong { font-size: 12px; }
  body.page-id-85 .pls03__banner > span { max-width: 48%; font-size: 8px; line-height: 1.5; }
  body.page-id-85 .pls03__grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px 10px; }
  body.page-id-85 .pls03__card { border-radius: 11px; box-shadow: 0 7px 18px rgba(25,82,45,.12); }
  body.page-id-85 .pls03__card:nth-child(3n+2) { transform: none; }
  body.page-id-85 .pls03__photo { aspect-ratio: 1 / 1.07; margin: 5px 5px 0; }
  body.page-id-85 .pls03__photo-placeholder svg { width: 55px; height: 55px; }
  body.page-id-85 .pls03__photo-placeholder span { font-size: 9px; }
  body.page-id-85 .pls03__photo-number { bottom: -6px; left: 5px; font-size: 40px; }
  body.page-id-85 .pls03__photo-brand { top: 6px; right: 4px; font-size: 6px; }
  body.page-id-85 .pls03__card-body { min-height: 76px; padding: 10px 9px 13px; border-top-width: 3px; }
  body.page-id-85 .pls03__role { gap: 4px; font-size: 9px; letter-spacing: 0; }
  body.page-id-85 .pls03__role span { width: 9px; flex-basis: 9px; }
  body.page-id-85 .pls03 h3.pls03__name { margin-top: 6px; font-size: 17px; line-height: 1.4; letter-spacing: .01em; }
  body.page-id-85 .pls03__card-count { display: none; }
  body.page-id-85 .pls03__card-dot { top: 6px; left: 6px; width: 10px; height: 10px; border-width: 2px; }
  body.page-id-85 .pls03__card:last-child { grid-column: 1 / -1; width: min(180px, 100%); justify-self: center; }
  body.page-id-85 .pls03__closing { display: block; margin-top: 26px; padding: 17px; border-left-width: 4px; }
  body.page-id-85 .pls03__closing-title { font-size: 16px; }
  body.page-id-85 .pls03__closing-text { margin-top: 9px; font-size: 12px; line-height: 1.75; }
}
/* ==================================================
   スタッフ紹介 SECTION 03｜カードと番号の位置修正
   子テーマ style.css の一番下に追加
   SECTION 01・02と他ページは変更しません
================================================== */

/* 05・08・11のカードだけ7px下がる指定を打ち消す */
body.page-id-85 .pls03 .pls03__card:nth-child(3n + 2) {
  transform: none !important;
}

/* 写真内の番号 04〜12 を切れずに見える位置へ */
body.page-id-85 .pls03 .pls03__photo-number {
  bottom: 10px !important;
  left: 12px !important;
  font-size: clamp(42px, 4.5vw, 62px) !important;
  line-height: 1 !important;
}

@media (max-width: 767px) {
  body.page-id-85 .pls03 .pls03__photo-number {
    bottom: 7px !important;
    left: 7px !important;
    font-size: 34px !important;
  }
}
/* =============================================================
 ペイントリーフ大阪 スタッフ紹介 SECTION 04 仕上げ
 子テーマ style.css に、1回だけ末尾に追加
 /staff/（ページID 85）のSECTION 04のみに適用
 SECTION 01〜03、既設フォーム、他ページには影響させません。
============================================================= */
body.page-id-85 .pls04,
body.page-id-85 .pls04 * { box-sizing: border-box; }
body.page-id-85 .pls04 {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: 100%;
  max-width: none;
  margin: 38px 0 0;
  padding: 62px 22px 55px;
  color: #1c352b;
  background:
    radial-gradient(ellipse at 7% 10%, rgba(198,236,145,.40) 0%, transparent 31%),
    radial-gradient(ellipse at 96% 22%, rgba(210,240,168,.30) 0%, transparent 26%),
    linear-gradient(180deg, #f5faf2 0%, #ffffff 27%, #f5faf4 76%, #edf7e9 100%);
}
body.page-id-85 .pls04__foliage {
  position: absolute;
  z-index: 0;
  pointer-events: none;
  inset: 0 0 auto;
  height: 380px;
  background: url("https://paintleaf-osaka.com/wp-content/uploads/2026/10/paintleaf-osaka-staff-section01-leaf-frame.webp") center top / cover no-repeat;
  opacity: .43;
  -webkit-mask-image: linear-gradient(180deg, #000 0%, rgba(0,0,0,.75) 38%, transparent 99%);
  mask-image: linear-gradient(180deg, #000 0%, rgba(0,0,0,.75) 38%, transparent 99%);
}
body.page-id-85 .pls04__inner {
  position: relative;
  z-index: 1;
  width: min(1250px, 100%);
  margin: 0 auto;
}
/* Cocoonでのh2,h3,p,img装飾をこのセクション内だけ解除 */
body.page-id-85 .pls04 h2,
body.page-id-85 .pls04 h3 {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
  text-align: inherit;
  border-radius: 0;
}
body.page-id-85 .pls04 h2::before,
body.page-id-85 .pls04 h2::after,
body.page-id-85 .pls04 h3::before,
body.page-id-85 .pls04 h3::after { content: none !important; display: none !important; }
body.page-id-85 .pls04 p { margin: 0; padding: 0; border: 0; background: none; }
body.page-id-85 .pls04 img { display: block; max-width: 100%; margin: 0; padding: 0; box-shadow: none; }
body.page-id-85 .pls04__header {
  text-align: center;
  margin: 0 auto 33px;
}
body.page-id-85 .pls04__english {
  color: #127b52;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .2em;
  line-height: 1.5;
  margin-bottom: 7px;
}
body.page-id-85 .pls04 h2.pls04__heading {
  color: #172b24;
  font-size: clamp(28px, 3.75vw, 47px);
  font-weight: 900;
  letter-spacing: .025em;
  line-height: 1.36;
  text-align: center;
  text-shadow: 0 1px 0 #fff;
}
body.page-id-85 .pls04__heading span {
  position: relative;
  color: #066843;
  white-space: nowrap;
  z-index: 0;
}
body.page-id-85 .pls04__heading span::after {
  position: absolute;
  content: '';
  z-index: -1;
  right: 0;
  bottom: .04em;
  left: 0;
  height: .22em;
  background: linear-gradient(100deg,#e2ef87, #fff268, #e7f38d);
  transform: skewY(-1deg);
}
body.page-id-85 .pls04__intro {
  max-width: 930px;
  margin: 17px auto 0 !important;
  color: #344039;
  font-size: 15px;
  font-weight: 600;
  line-height: 2;
  text-align: center;
}
/* 3つの画像入り紹介カード */
body.page-id-85 .pls04__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
body.page-id-85 .pls04__card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 305px;
  border: 1px solid #d7e9d7;
  border-radius: 14px;
  background: linear-gradient(95deg,#fff 40%,#f7fbf8);
  box-shadow: 0 9px 22px rgba(27,91,47,.095);
}
body.page-id-85 .pls04__card-image {
  position: absolute;
  z-index: -1;
  right: 0;
  top: 0;
  width: 66%;
  max-width: none;
  height: 100%;
  object-fit: cover;
  object-position: 70% center;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.33) 24%, #000 70%);
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.33) 24%, #000 70%);
}
body.page-id-85 .pls04__card--manners .pls04__card-image { object-position: 66% center; }
body.page-id-85 .pls04__card--team .pls04__card-image { object-position: 53% center; }
body.page-id-85 .pls04__card-content {
  position: relative;
  width: 69%;
  min-height: 305px;
  padding: 22px 0 22px 20px;
}
body.page-id-85 .pls04__card-mark {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 61px;
  height: 61px;
  margin-bottom: 14px;
  border-radius: 50%;
  background: radial-gradient(circle at 36% 27%,#f9fff1,#e6f4d7 85%);
  color: #056e45;
}
body.page-id-85 .pls04__card-mark svg { display: block; width: 35px; height: 35px; }
body.page-id-85 .pls04__number {
  position: absolute;
  top: 13px;
  left: 100px;
  color: #dceccc;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(45px, 5.4vw, 71px);
  font-weight: 600;
  font-style: italic;
  letter-spacing: -.09em;
  line-height: 1;
}
body.page-id-85 .pls04 h3 {
  position: relative;
  z-index: 1;
  color: #096642;
  font-size: clamp(19px, 2vw, 26px);
  font-weight: 900;
  line-height: 1.42;
  letter-spacing: -.02em;
  white-space: nowrap;
}
body.page-id-85 .pls04__card-content > p {
  position: relative;
  z-index: 1;
  margin-top: 12px;
  color: #222d27;
  font-size: clamp(11px, 1.06vw, 14px);
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: -.035em;
  white-space: nowrap;
}
/* 最下部のメッセージ */
body.page-id-85 .pls04__closing {
  position: relative;
  min-height: 226px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 20px;
  padding: 39px 18px 36px;
  background: radial-gradient(ellipse at 50% 50%,rgba(255,255,255,.95),rgba(250,255,247,.65) 55%,rgba(239,249,233,.28));
  overflow: hidden;
}
body.page-id-85 .pls04__closing-image {
  position: absolute;
  z-index: 0;
  top: 0;
  width: 32%;
  max-width: none !important;
  height: 100%;
  object-fit: cover;
  opacity: .82;
}
body.page-id-85 .pls04__closing-image--brush {
  left: -8%;
  object-position: 20% 70%;
  -webkit-mask-image: linear-gradient(90deg, #000 0%, rgba(0,0,0,.65) 35%,transparent 99%);
  mask-image: linear-gradient(90deg, #000 0%, rgba(0,0,0,.65) 35%,transparent 99%);
}
body.page-id-85 .pls04__closing-image--can {
  right: -8%;
  object-position: 65% 60%;
  -webkit-mask-image: linear-gradient(270deg, #000 0%, rgba(0,0,0,.65) 35%,transparent 99%);
  mask-image: linear-gradient(270deg, #000 0%, rgba(0,0,0,.65) 35%,transparent 99%);
}
body.page-id-85 .pls04__mobile-only { display: none; }
body.page-id-85 .pls04__closing-copy {
  position: relative;
  z-index: 1;
  max-width: 770px;
  margin: 0 auto;
  text-align: center;
}
body.page-id-85 .pls04__closing-lead {
  color: #202e27;
  font-size: clamp(19px,2.2vw,26px);
  font-weight: 850;
  line-height: 1.45;
}
body.page-id-85 .pls04__closing-strong {
  display: inline-block;
  position: relative;
  z-index: 0;
  margin-top: 3px !important;
  color: #066741;
  font-size: clamp(23px,3.15vw,38px);
  font-weight: 900;
  line-height: 1.45;
  letter-spacing: -.03em;
}
body.page-id-85 .pls04__closing-strong::after {
  content: '';
  position: absolute;
  left: 4%;
  right: 3%;
  bottom: 3px;
  z-index: -1;
  height: 11px;
  transform: rotate(-1deg);
  background: linear-gradient(90deg,#e4ee94,#f6f577,#d8ef89);
}
body.page-id-85 .pls04__closing-text {
  margin-top: 14px !important;
  color: #3b4d41;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.8;
}
@media (min-width: 768px) and (max-width: 1100px) {
  body.page-id-85 .pls04 { padding-inline: 16px; }
  body.page-id-85 .pls04__cards { gap: 12px; }
  body.page-id-85 .pls04__card-content { padding-left: 14px; width: 75%; }
  body.page-id-85 .pls04 h3 { font-size: clamp(18px,2vw,23px); }
  body.page-id-85 .pls04__card-content > p { font-size: clamp(10px,1.15vw,13px); }
  body.page-id-85 .pls04__number { left: 83px; }
}
@media (min-width: 768px) and (max-width: 900px) {
  body.page-id-85 .pls04__cards { grid-template-columns: repeat(2, minmax(0,1fr)); }
  body.page-id-85 .pls04__card:last-child { grid-column: 1 / -1; width: calc((100% - 12px)/2); justify-self: center; }
  body.page-id-85 .pls04__card-content > p { font-size: 12px; }
}
@media (max-width: 767px) {
  body.page-id-85 .pls04 { margin-top: 25px; padding: 35px 12px 30px; }
  body.page-id-85 .pls04__foliage { height: 240px; opacity: .32; background-size: auto 240px; }
  body.page-id-85 .pls04__english { font-size: 10px; margin-bottom: 7px; letter-spacing: .15em; }
  body.page-id-85 .pls04 h2.pls04__heading { font-size: clamp(23px, 6.4vw, 31px); line-height: 1.44; letter-spacing: -.025em; }
  body.page-id-85 .pls04__intro { margin-top: 12px !important; font-size: 12px; font-weight: 600; line-height: 1.8; }
  body.page-id-85 .pls04__desktop-only { display: none; }
  body.page-id-85 .pls04__mobile-only { display: initial; }
  body.page-id-85 .pls04__header { margin-bottom: 21px; }
  body.page-id-85 .pls04__cards { grid-template-columns: minmax(0,1fr); gap: 14px; }
  body.page-id-85 .pls04__card { min-height: 225px; border-radius: 12px; }
  body.page-id-85 .pls04__card-content { min-height: 225px; width: 71%; padding: 17px 0 17px 16px; }
  body.page-id-85 .pls04__card-image { width: 70%; object-position: 66% 48%; }
  body.page-id-85 .pls04__card-mark { width: 45px; height: 45px; margin-bottom: 10px; }
  body.page-id-85 .pls04__card-mark svg { width: 26px; height: 26px; }
  body.page-id-85 .pls04__number { top: 12px; left: 69px; font-size: 50px; }
  body.page-id-85 .pls04 h3 { font-size: clamp(19px,5.3vw,23px); line-height: 1.35; }
  body.page-id-85 .pls04__card-content > p { margin-top: 11px; font-size: clamp(11px,3.08vw,13px); line-height: 1.63; }
  body.page-id-85 .pls04__closing { min-height: 215px; margin-top: 16px; padding: 39px 8px; }
  body.page-id-85 .pls04__closing-image { width: 55%; opacity: .42; }
  body.page-id-85 .pls04__closing-image--brush { left: -29%; }
  body.page-id-85 .pls04__closing-image--can { right: -29%; }
  body.page-id-85 .pls04__closing-lead { font-size: 17px; }
  body.page-id-85 .pls04__closing-strong { font-size: clamp(22px,6vw,28px); }
  body.page-id-85 .pls04__closing-strong::after { height: 8px; }
  body.page-id-85 .pls04__closing-text { margin-top: 11px !important; font-size: 11px; line-height: 1.75; }
}
@media (max-width: 360px) {
  body.page-id-85 .pls04 h3 { font-size: 18px; }
  body.page-id-85 .pls04__card-content > p { font-size: 10.5px; }
  body.page-id-85 .pls04__closing-strong { font-size: 21px; }
}
/* ==========================================================
   ペイントリーフ大阪｜お客様の声 SECTION 01
   子テーマ style.css の末尾に追加するCSSです。
   このセクションがあるページだけに限定。他ページは変更しません。
   PC：承認済み画像／スマホ：横長16:9画像をそのまま表示。
========================================================== */

/* Cocoonの自動タイトルが画像内の「お客様の声」と重複しないようにする */
body:has(.plovoice01) #main .article-header,
body:has(.plovoice01) #main .entry-title {
  display: none !important;
}

/* メニューとヘッダー画像の間に余白を作らない（このページのみ） */
body:has(.plovoice01) #content,
body:has(.plovoice01) #content-in,
body:has(.plovoice01) #main,
body:has(.plovoice01) #main .article,
body:has(.plovoice01) #main .entry-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* ヘッダー画像（元画像の比率を維持。切り抜き・重ね文字なし） */
body:has(.plovoice01) .plovoice01 {
  position: relative;
  display: block;
  width: 100%;
  max-width: none;
  margin: 0 auto;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  box-sizing: border-box;
}
body:has(.plovoice01) .plovoice01__picture,
body:has(.plovoice01) .plovoice01__image {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  box-shadow: none;
}
body:has(.plovoice01) .plovoice01__image {
  height: auto !important;
  object-fit: contain;
  vertical-align: bottom;
}

/* 検索・読み上げ用のh1を視覚的には隠す */
body:has(.plovoice01) .plovoice01__sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

@media screen and (max-width: 767px) {
  body:has(.plovoice01) .plovoice01,
  body:has(.plovoice01) .plovoice01__picture,
  body:has(.plovoice01) .plovoice01__image {
    width: 100%;
    margin: 0;
    padding: 0;
  }
  body:has(.plovoice01) .plovoice01__image {
    height: auto !important;
    /* スマホ用の横長16:9画像をそのまま表示 */
  }
}
/* ペイントリーフ大阪／お客様の声 SECTION 02（子テーマ style.css の末尾へ）
   SECTION 01 や他ページには影響させないスコープです。 */
.plv02, .plv02 * { box-sizing: border-box; }
.plv02 { position:relative; isolation:isolate; padding:56px 18px 58px; margin:0; overflow:hidden; background:linear-gradient(180deg,#fff 0%,#fcfff7 100%); }
.plv02__inner { width:min(100%,1200px); margin:0 auto; position:relative; z-index:1; }
.plv02__corner { pointer-events:none; position:absolute; z-index:0; width:132px; height:auto; opacity:.60; }
.plv02__corner--left { top:-95px; left:-10px; }
.plv02__corner--right { bottom:-160px; right:-10px; transform:rotate(180deg); }
.plv02__eyebrow { margin:0 auto 8px !important; display:flex; justify-content:center; align-items:center; gap:14px; font-family:Georgia,serif; letter-spacing:.24em; font-weight:700; color:#08643c; font-size:12px; }
.plv02__eyebrow::before,.plv02__eyebrow::after{ content:""; width:75px; height:1px; background:#258b5a; }
.plv02__heading-row{ display:flex; justify-content:center; align-items:center; gap:17px; margin:0 auto; }
.plv02__heading-leaf { width:84px; max-width:16%; height:64px; object-fit:contain; }
.plv02__heading-leaf--right { transform:scaleX(-1); }
.plv02__title { margin:0 !important; padding:0 0 9px !important; text-align:center; position:relative; z-index:0; color:#15392c; font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif; font-size:clamp(25px,3.2vw,40px) !important; font-weight:800 !important; letter-spacing:.02em; line-height:1.5 !important; background:transparent !important; border:0 !important; }
.plv02__title::after{ content:""; position:absolute; width:91%; height:9px; bottom:4px; left:4%; background:linear-gradient(90deg,#b6e84b,#f7e852); transform:rotate(-1.6deg); z-index:-1; opacity:.75; border-radius:10px; }
.plv02__title span{color:#0a7049;}
.plv02__lead { text-align:center; color:#4b5d50; margin:3px 0 30px !important; font-size:14px; line-height:1.8; }
.plv02__grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; }
.plv02__card{ margin:0; padding:10px 10px 16px; border:1px solid #e4ede1; background:#fff; border-radius:13px; box-shadow:0 6px 18px rgba(27,77,46,.11); min-width:0; display:flex; flex-direction:column; }
.plv02__photo-wrap{ display:flex; align-items:center; justify-content:center; overflow:hidden; border-radius:8px; background:#f3f7ef; height:186px; }
.plv02__photo{ display:block; max-width:100% !important; width:100%; max-height:100%; height:auto !important; object-fit:contain; margin:0 !important; padding:0 !important; border:0 !important; box-shadow:none !important; }
.plv02__body{ padding:11px 5px 0; flex:1; }
.plv02__identity{ margin:0 0 10px !important; display:flex; align-items:center; flex-wrap:wrap; gap:9px; font-size:12px; }
.plv02__city{ display:inline-block; color:#fff; background:#198c5b; border-radius:99px; font-weight:700; padding:5px 12px; white-space:nowrap; }
.plv02__name{ color:#36564b; font-weight:700; }
.plv02__quote{ margin:0 !important; padding:0 !important; border:0 !important; background:none !important; color:#263d30; font-size:clamp(12px,1.25vw,14px); font-weight:650; line-height:1.95; }
@media(max-width:980px){ .plv02__grid{grid-template-columns:repeat(2,minmax(0,1fr));} .plv02__photo-wrap{height:208px;} .plv02__corner{width:96px;} }
@media(max-width:600px){ .plv02{padding:38px 14px 42px;} .plv02__heading-row{gap:4px;} .plv02__heading-leaf{width:38px;height:44px;} .plv02__title{font-size:clamp(23px,6vw,29px) !important;} .plv02__eyebrow{font-size:11px;} .plv02__eyebrow::before,.plv02__eyebrow::after{width:44px;} .plv02__lead{font-size:12px;margin-bottom:18px !important;} .plv02__grid{grid-template-columns:1fr;gap:11px;} .plv02__card{flex-direction:row; gap:10px; align-items:center; padding:9px;} .plv02__photo-wrap{width:42%;height:128px;flex:0 0 42%;} .plv02__photo{height:auto !important;} .plv02__body{min-width:0;padding:2px;} .plv02__identity{margin-bottom:5px !important;gap:5px;} .plv02__city{font-size:10px;padding:4px 7px;} .plv02__name{font-size:11px;} .plv02__quote{font-size:clamp(10px,3.05vw,12px);line-height:1.67;} .plv02__corner{width:70px;opacity:.35;} }
/* ペイントリーフ大阪／お客様の声 SECTION 03（子テーマ style.css の末尾へ）
   前のセクションを変えず、SECTION 03 だけに適用。 */
.plv03,.plv03 *{box-sizing:border-box;}
.plv03{position:relative;isolation:isolate;overflow:hidden;margin:0;padding:26px 18px 64px;background:linear-gradient(175deg,#fff 0%,#f9fff3 58%,#f2fcf9 100%);}
.plv03__inner{width:min(100%,1220px);margin:0 auto;position:relative;z-index:1;}
.plv03__corner{pointer-events:none;position:absolute;width:155px;height:auto;opacity:.48;z-index:0;}
.plv03__corner--left{top:140px;left:-30px;}
.plv03__corner--right{bottom:35px;right:-45px;transform:rotate(180deg);}
.plv03__eyebrow{margin:0 0 8px !important;text-align:center;font-family:Georgia,serif;font-size:12px;letter-spacing:.26em;color:#146c48;font-weight:700;}
.plv03__title{position:relative;margin:0 auto 10px !important;padding:0 0 10px !important;width:max-content;max-width:100%;text-align:center;font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-size:clamp(25px,3.2vw,37px) !important;line-height:1.45 !important;font-weight:800 !important;color:#15392c;background:transparent !important;border:0 !important;z-index:0;}
.plv03__title span{color:#08704a;}
.plv03__title::after{content:"";position:absolute;bottom:4px;left:3%;width:94%;height:9px;z-index:-1;background:linear-gradient(90deg,#b7e84c,#f1e353);border-radius:30px;transform:rotate(-1.5deg);}
.plv03__lead{margin:0 auto 37px !important;text-align:center;color:#526254;font-size:14px;line-height:1.8;}
.plv03__area + .plv03__area{margin-top:48px;}
.plv03__area-heading{display:flex;align-items:center;gap:18px;min-height:96px;padding:12px 8px 14px;margin:0 0 21px;background:linear-gradient(90deg,#f2ffe4,#fff 53%,#f9fff1);border-radius:13px;}
.plv03__area--higashiosaka .plv03__area-heading{background:linear-gradient(90deg,#f3ffea,#fff 52%,#f1fbff);}
.plv03__circle{width:86px;height:86px;flex:0 0 86px;display:grid;place-items:center;border-radius:50%;background:#eff5bd;color:#2b5b37;font-size:12px;line-height:1.7;font-weight:800;transform:rotate(-10deg);text-align:center;}
.plv03__area-copy{min-width:0;flex:1;}
.plv03__area-title{display:inline-block;position:relative;z-index:0;font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-size:clamp(19px,2.7vw,32px) !important;line-height:1.45 !important;color:#0a5336;letter-spacing:.02em;font-weight:800 !important;background:none !important;border:none !important;padding:0 0 5px !important;margin:0 0 5px !important;}
.plv03__area-title::after{content:"";position:absolute;left:0;bottom:2px;width:100%;height:6px;z-index:-1;border-radius:4px;transform:rotate(-1.2deg);background:linear-gradient(90deg,#c2ed5d,#f6e452);}
.plv03__area-lead{font-size:12px;line-height:1.6;color:#4c6555;margin:0 !important;}
.plv03__town{width:190px;max-width:22%;height:auto;object-fit:contain;display:block;mix-blend-mode:multiply;}
.plv03__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:11px;}
.plv03__letter{display:flex;flex-direction:column;align-items:stretch;gap:6px;min-width:0;text-decoration:none !important;cursor:zoom-in;color:#20533c !important;}
.plv03__paper{display:block;background:#fff;border:1px solid #e2ece0;box-shadow:0 4px 13px rgba(30,73,42,.12);border-radius:11px;padding:8px 7px 10px;transition:transform .16s ease,box-shadow .16s ease;}
.plv03__letter:hover .plv03__paper,.plv03__letter:focus-visible .plv03__paper{transform:translateY(-3px);box-shadow:0 8px 20px rgba(25,70,44,.18);}
.plv03__paper-img{display:block !important;width:100%;height:166px !important;object-fit:contain;object-position:center;background:#f7faf6;border:1px solid #eff1ec;border-radius:4px;padding:0 !important;margin:0 !important;box-shadow:none !important;}
.plv03__open{display:block;margin-top:7px;color:#5d7163;text-align:center;font-size:10px;line-height:1.4;white-space:nowrap;}
.plv03__tag{display:block;padding:5px 2px;border-radius:100px;text-align:center;background:#deefc9;color:#1a633e;font-size:11px;line-height:1.5;font-weight:700;}
.plv03__notice{max-width:880px;text-align:center;margin:27px auto 0 !important;padding:0 10px !important;color:#6b7a70;font-size:11px;line-height:1.8;}
@media(max-width:1100px){.plv03__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}.plv03__paper-img{height:192px !important;}.plv03__town{width:155px;}}
@media(max-width:650px){.plv03{padding:24px 14px 48px;}.plv03__title{font-size:clamp(23px,6vw,30px) !important;}.plv03__lead{font-size:12px;margin-bottom:23px !important;}.plv03__area-heading{gap:8px;min-height:85px;padding:9px 2px 13px;margin-bottom:15px;}.plv03__circle{width:56px;height:56px;flex-basis:56px;font-size:9px;line-height:1.5;}.plv03__area-title{font-size:clamp(17px,4.9vw,21px) !important;}.plv03__area-lead{font-size:10px;}.plv03__town{width:57px;max-width:18%;}.plv03__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;}.plv03__paper{padding:9px 9px 8px;}.plv03__paper-img{height:200px !important;}.plv03__tag{font-size:11px;}.plv03__area + .plv03__area{margin-top:34px;}.plv03__corner{width:80px;opacity:.25;}.plv03__notice{font-size:10px;}}
@media(max-width:375px){.plv03__paper-img{height:174px !important;}.plv03__town{width:44px;}.plv03__area-title{font-size:16px !important;}}
/* ================================================================
   ペイントリーフ大阪 / お客様の声 SECTION 04【CSS完全差し替え版】
   以前の SECTION 04 CSS は不要です。このファイルだけを
   子テーマ style.css の末尾に貼り付けてください。
   HTML は前回の SECTION 04 HTML をそのまま使用できます。
   2026-10-14 / #plv04 の内部にのみ適用
   ================================================================ */

#plv04 {
  --plv-green: #007b4a;
  --plv-deep: #073d31;
  --plv-orange: #ff701d;
  position: relative !important;
  isolation: isolate;
  overflow: hidden !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  margin: 0 auto !important;
  padding: 28px 20px 0 !important;
  border: 0 !important;
  background: linear-gradient(180deg,#fbfef8 0%,#fff 52%,#f2f9e9 100%) !important;
  box-shadow: none !important;
  color: #193a31;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  line-height: 1.65;
}
#plv04, #plv04 * {box-sizing:border-box;}
#plv04 .plv04__inner {
  position: relative;
  z-index: 1;
  width:100%;
  max-width: 1160px;
  margin: 0 auto;
}
/* デザイン内の葉は角に控えめに配置。外側にはみ出しても重ならない */
#plv04 img.plv04__leaves {
  position:absolute !important;
  z-index:0 !important;
  display:block !important;
  width: 145px !important;
  height: auto !important;
  max-width: none !important;
  opacity:.27 !important;
  pointer-events:none !important;
  background:none !important;
  border:0 !important;
  box-shadow:none !important;
}
#plv04 img.plv04__leaves--left {top:-125px !important;left:-65px !important;transform:none !important;}
#plv04 img.plv04__leaves--right {top:-125px !important;right:-65px !important;transform:scaleX(-1) !important;}

/* Cocoon 見出しの灰色帯・枠・左線・疑似要素を SECTION 04 だけ除去 */
#plv04 h2.plv04__title,
#plv04 h3.plv04__contact-title {
  display:block !important;
  width:auto !important;
  min-height:0 !important;
  padding:0 !important;
  border:0 !important;
  border-left:0 !important;
  border-bottom:0 !important;
  border-radius:0 !important;
  background:none !important;
  background-color:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  outline:0 !important;
  text-shadow:none !important;
  text-transform:none !important;
}
#plv04 h2.plv04__title::before,#plv04 h2.plv04__title::after,
#plv04 h3.plv04__contact-title::before,#plv04 h3.plv04__contact-title::after {
  content:none !important;
  display:none !important;
  border:0 !important;
  background:none !important;
}

#plv04 .plv04__intro {
  position:relative !important;
  min-height:358px !important;
  padding:4px 0 90px !important;
  text-align:left !important;
}
#plv04 .plv04__section-marker {
  position:relative;
  z-index:5;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:3px;
  width:calc(100% - 270px);
  margin: 0 0 14px !important;
  color:#008349;
  font-size:15px;
  font-weight:900;
  letter-spacing:.035em;
  background:none !important;
}
#plv04 .plv04__section-marker svg {display:block;width:32px;height:32px;}
#plv04 .plv04__section-marker span {display:flex;align-items:center;gap:12px;white-space:nowrap;}
#plv04 .plv04__section-marker span::before,
#plv04 .plv04__section-marker span::after {
  content:"";
  display:block;
  width:56px;
  height:1px;
  background:#66c094;
}
#plv04 .plv04__intro-copy {
  position:relative !important;
  z-index:4 !important;
  width:calc(100% - 275px) !important;
  padding:0 10px !important;
  margin:0 !important;
  text-align:center !important;
  background:none !important;
  border:0 !important;
}
#plv04 h2.plv04__title {
  margin:0 auto 20px !important;
  color:var(--plv-deep) !important;
  font-size:clamp(22px,2.85vw,35px) !important;
  font-weight:900 !important;
  line-height:1.47 !important;
  letter-spacing:-.04em !important;
}
#plv04 .plv04__underline,
#plv04 .plv04__underline--main {
  display:inline !important;
  padding:0 .06em !important;
  background:linear-gradient(transparent 76%,#fff076 76%,#fff076 92%,transparent 92%) !important;
  box-shadow:none !important;
  -webkit-box-decoration-break:clone;
  box-decoration-break:clone;
}
#plv04 .plv04__underline--main {font-size:1.19em !important;}
#plv04 .plv04__tiny-leaf {
  display:inline-block;
  margin-left:3px;
  color:#50ae49;
  font-size:.33em;
  vertical-align:middle;
  transform:rotate(-23deg) translateY(-5px);
}
#plv04 .plv04__description {
  width:100% !important;
  max-width:760px !important;
  margin:0 auto !important;
  padding:0 !important;
  border:0 !important;
  background:none !important;
  color:#263d36 !important;
  font-size:clamp(12px,1.25vw,15px) !important;
  line-height:1.9 !important;
  font-weight:600 !important;
  text-align:center !important;
}
/* 本人写真と吹き出しは別領域に。重なりを防ぐ */
#plv04 .plv04__person-wrap {
  position:absolute !important;
  z-index:6 !important;
  right:5px !important;
  bottom:44px !important;
  top:auto !important;
  left:auto !important;
  width:230px !important;
  height:245px !important;
  margin:0 !important;
  background:none !important;
  pointer-events:none;
}
#plv04 img.plv04__person {
  position:absolute !important;
  z-index:1 !important;
  display:block !important;
  top:auto !important;
  left:auto !important;
  right:0 !important;
  bottom:0 !important;
  width:100% !important;
  max-width:100% !important;
  height:240px !important;
  object-fit:contain !important;
  object-position:right bottom !important;
  border:0 !important;
  background:none !important;
  box-shadow:none !important;
  filter:none !important;
}
#plv04 .plv04__bubble {
  position:absolute !important;
  z-index:7 !important;
  display:flex !important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  top:0 !important;
  right:180px !important;
  width:128px !important;
  height:115px !important;
  margin:0 !important;
  padding:13px 10px !important;
  border:0 !important;
  border-radius:50% !important;
  background:#fff17b !important;
  box-shadow:none !important;
  color:#164632 !important;
  font-size:14px !important;
  font-weight:900 !important;
  line-height:1.42 !important;
  text-align:center !important;
  transform:rotate(-9deg) !important;
}
#plv04 .plv04__bubble strong {display:block;font-size:16px;}
#plv04 .plv04__bubble::after {
  content:"";
  position:absolute;
  bottom:-7px;
  right:21px;
  width:24px;
  height:21px;
  background:#fff17b;
  clip-path:polygon(0 0,100% 0,100% 100%);
}
#plv04 img.plv04__skyline {
  position:absolute !important;
  z-index:2 !important;
  display:block !important;
  bottom:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  max-width:100% !important;
  height:80px !important;
  object-fit:contain !important;
  object-position:center bottom !important;
  opacity:.68 !important;
  border:0 !important;
  background:none !important;
  box-shadow:none !important;
  pointer-events:none;
}

#plv04 .plv04__promises {
  position:relative;
  z-index:7;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:13px;
  margin:8px 0 17px !important;
  padding:0 !important;
}
#plv04 .plv04__promise {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  min-height:92px;
  padding:13px 9px;
  border:0;
  border-radius:17px;
  background:#fff;
  box-shadow:0 5px 15px rgba(45,95,65,.08);
  text-align:center;
}
#plv04 .plv04__promise svg {display:block;width:48px;height:48px;flex:0 0 48px;color:#009b58;}
#plv04 .plv04__promise-label {display:block;color:#263b33;font-size:clamp(12px,1.2vw,16px);font-weight:900;line-height:1.38;}
#plv04 .plv04__promise strong {display:block;margin-top:3px;color:#f36514;font-size:clamp(20px,2vw,26px);font-weight:900;line-height:1.22;}

#plv04 .plv04__contact {
  position:relative;
  z-index:7;
  margin:0 !important;
  padding:21px 32px 27px !important;
  border:0 !important;
  border-radius:30px !important;
  background:#fff !important;
  box-shadow:0 5px 20px rgba(30,83,48,.07) !important;
  text-align:center !important;
}
#plv04 h3.plv04__contact-title {
  margin:0 0 20px !important;
  color:#087649 !important;
  font-size:clamp(18px,2.16vw,25px) !important;
  font-weight:900 !important;
  letter-spacing:-.03em !important;
  line-height:1.55 !important;
  text-align:center !important;
}
#plv04 .plv04__contact-row {
  display:grid;
  grid-template-columns:1fr 1.07fr;
  gap:15px;
  align-items:center;
  margin:0 0 13px;
}
#plv04 a.plv04__phone {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-width:0;
  padding:8px 4px;
  border:0;
  border-radius:14px;
  background:#fff;
  color:#009554 !important;
  text-decoration:none !important;
  box-shadow:none;
}
#plv04 .plv04__phone-icon {display:grid;place-items:center;width:58px;height:58px;flex:0 0 58px;border-radius:50%;background:#00a45c;color:#fff;}
#plv04 .plv04__phone-icon svg {display:block;width:30px;height:30px;}
#plv04 .plv04__phone-info {display:flex;flex-direction:column;min-width:0;align-items:center;}
#plv04 .plv04__phone-info strong {color:#009554;font-size:clamp(25px,2.9vw,38px);font-weight:900;line-height:1.2;letter-spacing:0;white-space:nowrap;}
#plv04 .plv04__phone-info small {color:#36443d;font-size:12px;font-weight:700;white-space:nowrap;}
#plv04 a.plv04__mail-btn,
#plv04 .plv04__line-btn {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-width:0;
  min-height:76px;
  margin:0;
  padding:12px 13px;
  border:0 !important;
  border-radius:18px;
  color:#fff !important;
  font-size:clamp(14px,1.45vw,18px);
  font-weight:900;
  line-height:1.3;
  text-decoration:none !important;
  box-shadow:0 4px 0 rgba(0,0,0,.08);
}
#plv04 a.plv04__mail-btn {background:linear-gradient(180deg,#ff8d44,#ff6815);}
#plv04 a.plv04__mail-btn:hover {filter:brightness(1.05);}
#plv04 a.plv04__mail-btn svg {display:block;width:38px;height:30px;flex:0 0 38px;}
#plv04 .plv04__mail-btn span,
#plv04 .plv04__line-btn>span:nth-child(2) {display:flex;flex-direction:column;align-items:center;text-align:center;}
#plv04 .plv04__mail-btn small,
#plv04 .plv04__line-btn small {display:block;margin-top:4px;color:#fff;font-size:11px;font-weight:700;}
#plv04 a.plv04__mail-btn b,
#plv04 .plv04__line-btn b {display:grid;place-items:center;width:25px;height:25px;flex:0 0 25px;margin-left:auto;border-radius:50%;background:#fff;color:#f46b16;font-size:23px;font-weight:500;line-height:1;}
#plv04 .plv04__line-btn {max-width:680px;min-height:73px;margin:14px auto 0;background:linear-gradient(180deg,#13a86b,#008d51);}
#plv04 .plv04__line-icon {display:grid;place-items:center;width:45px;height:38px;flex:0 0 45px;border-radius:50%;background:#fff;color:#02945a;font-size:11px;font-weight:950;letter-spacing:-.04em;}
#plv04 .plv04__line-btn b {color:#008f53;}
#plv04 .plv04__line-btn--pending {cursor:default;}
#plv04 .plv04__bottom-scene {display:flex;justify-content:center;width:100%;margin:14px auto 0;overflow:hidden;border:0;background:none;}
#plv04 .plv04__bottom-scene img {display:block;width:100%;max-width:1100px;height:auto;object-fit:contain;object-position:center bottom;border:0 !important;background:none !important;box-shadow:none !important;}
#plv04 .plv04__sp-only {display:none;}

@media (min-width:641px) and (max-width:970px) {
  #plv04 .plv04__section-marker {width:calc(100% - 215px);}
  #plv04 .plv04__intro-copy {width:calc(100% - 215px) !important;}
  #plv04 .plv04__intro {min-height:340px !important;}
  #plv04 h2.plv04__title {font-size:clamp(20px,2.9vw,28px) !important;}
  #plv04 .plv04__person-wrap {width:195px !important;height:220px !important;}
  #plv04 img.plv04__person {height:210px !important;}
  #plv04 .plv04__bubble {right:150px !important;width:108px !important;height:95px !important;font-size:12px !important;}
  #plv04 .plv04__bubble strong {font-size:14px;}
  #plv04 .plv04__promise {gap:7px;}
  #plv04 .plv04__promise svg {width:36px;height:36px;flex-basis:36px;}
  #plv04 .plv04__contact {padding:20px 18px 24px !important;}
}
@media(max-width:640px) {
  #plv04 {padding:18px 10px 0 !important;}
  #plv04 img.plv04__leaves {width:105px !important;opacity:.24 !important;}
  #plv04 img.plv04__leaves--left {top:-125px !important;left:-75px !important;}
  #plv04 img.plv04__leaves--right {top:-125px !important;right:-75px !important;}
  #plv04 .plv04__intro {min-height:0 !important;padding:0 0 212px !important;text-align:center !important;}
  #plv04 .plv04__section-marker {width:100% !important;margin:0 auto 13px !important;font-size:12px;}
  #plv04 .plv04__section-marker svg {width:26px;height:26px;}
  #plv04 .plv04__section-marker span {gap:8px;}
  #plv04 .plv04__section-marker span::before,
  #plv04 .plv04__section-marker span::after {width:37px;}
  #plv04 .plv04__intro-copy {width:100% !important;margin:0 !important;padding:0 2px !important;}
  #plv04 h2.plv04__title {margin:0 auto 11px !important;font-size:clamp(17px,4.6vw,22px) !important;line-height:1.49 !important;letter-spacing:-.06em !important;}
  #plv04 .plv04__underline--main {font-size:1.14em !important;}
  #plv04 .plv04__description {font-size:clamp(11px,3vw,13px) !important;line-height:1.73 !important;font-weight:600 !important;}
  #plv04 .plv04__pc-only {display:none !important;}
  #plv04 .plv04__person-wrap {right:3px !important;bottom:36px !important;width:43% !important;height:158px !important;}
  #plv04 img.plv04__person {width:100% !important;height:158px !important;object-position:right bottom !important;}
  #plv04 .plv04__bubble {right:92% !important;top:-16px !important;width:108px !important;height:92px !important;padding:11px 8px !important;font-size:11px !important;}
  #plv04 .plv04__bubble strong {font-size:12px;}
  #plv04 img.plv04__skyline {height:59px !important;object-fit:contain !important;bottom:0 !important;}
  #plv04 .plv04__promises {display:flex;flex-direction:column;gap:9px;margin:6px 3px 14px !important;}
  #plv04 .plv04__promise {gap:15px;min-height:67px;padding:9px 10px;border-radius:13px;}
  #plv04 .plv04__promise svg {width:40px;height:40px;flex:0 0 40px;}
  #plv04 .plv04__promise-label {font-size:13px;}
  #plv04 .plv04__promise strong {font-size:20px;}
  #plv04 .plv04__contact {padding:18px 10px 22px !important;border-radius:20px !important;}
  #plv04 h3.plv04__contact-title {margin:0 0 15px !important;font-size:clamp(15px,4.2vw,20px) !important;line-height:1.5 !important;}
  #plv04 .plv04__sp-only {display:block;}
  #plv04 .plv04__contact-row {grid-template-columns:minmax(0,1fr);gap:9px;margin:0;}
  #plv04 a.plv04__phone {min-height:66px;gap:11px;}
  #plv04 .plv04__phone-icon {width:49px;height:49px;flex-basis:49px;}
  #plv04 .plv04__phone-icon svg {width:27px;height:27px;}
  #plv04 .plv04__phone-info strong {font-size:clamp(24px,7vw,32px);}
  #plv04 .plv04__phone-info small {font-size:11px;}
  #plv04 a.plv04__mail-btn,#plv04 .plv04__line-btn {min-height:68px;gap:7px;padding:10px;font-size:14px;border-radius:12px;}
  #plv04 a.plv04__mail-btn svg {width:32px;height:26px;flex-basis:32px;}
  #plv04 .plv04__mail-btn small,#plv04 .plv04__line-btn small {font-size:10px;}
  #plv04 .plv04__line-btn small {font-size:9px;white-space:nowrap;}
  #plv04 a.plv04__mail-btn b,#plv04 .plv04__line-btn b {width:23px;height:23px;flex-basis:23px;font-size:20px;}
  #plv04 .plv04__line-btn {margin-top:10px;}
  #plv04 .plv04__line-icon {width:38px;height:33px;flex-basis:38px;font-size:10px;}
  #plv04 .plv04__bottom-scene {display:none;}
}
@media(max-width:355px) {
  #plv04 h2.plv04__title {font-size:16px !important;}
  #plv04 .plv04__bubble {width:96px !important;right:86% !important;}
  #plv04 .plv04__phone-info strong {font-size:23px;}
}
/* ===========================================================
   ペイントリーフ大阪／お客様の声 SECTION 04／デザイン忠実修正版
   2026-10-15
   既存の SECTION 04 HTML を変更する必要はありません。
   このCSSを子テーマ style.css の「一番下」にそのまま追加します。
   古いSECTION 04 CSSを探して消す作業は不要です。
   SECTION 01〜03には作用しません。
   =========================================================== */
#plv04.plv04{
  --p4-green:#008c58;
  --p4-ink:#073a32;
  --p4-orange:#ff701e;
  position:relative!important;
  isolation:isolate!important;
  width:100%!important;max-width:none!important;
  margin:0 auto!important;
  padding:18px 22px 0!important;
  overflow:hidden!important;
  background:linear-gradient(180deg,#fffefa 0%,#fcfff9 43%,#f0f8e5 52%,#fff 72%,#f7fbf1 100%)!important;
  border:0!important;border-radius:12px!important;
  box-shadow:0 4px 22px rgba(15,82,50,.08)!important;
  color:var(--p4-ink)!important;
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif!important;
}
#plv04.plv04, #plv04.plv04 * {box-sizing:border-box!important;}
#plv04.plv04 .plv04__inner{position:relative!important;z-index:2!important;width:100%!important;max-width:1180px!important;margin:0 auto!important;}
/* 葉の装飾は見本どおり、両端から柔らかく入れる */
#plv04.plv04 img.plv04__leaves {position:absolute!important;z-index:1!important;display:block!important;
  top:-3px!important;width:184px!important;height:auto!important;max-width:none!important;
  opacity:.57!important;pointer-events:none!important;background:transparent!important;border:0!important;box-shadow:none!important;}
#plv04.plv04 img.plv04__leaves--left{left:-28px!important;right:auto!important;transform:none!important;}
#plv04.plv04 img.plv04__leaves--right{right:-28px!important;left:auto!important;transform:scaleX(-1)!important;}
/* Cocoon／既存テーマの h2, h3 の装飾を完全に停止 */
#plv04.plv04 h2.plv04__title,
#plv04.plv04 h3.plv04__contact-title{background:none!important;border:0!important;border-left:0!important;
  border-bottom:0!important;outline:0!important;box-shadow:none!important;text-shadow:none!important;
  text-transform:none!important;min-height:0!important;max-width:none!important;}
#plv04.plv04 h2.plv04__title::before,#plv04.plv04 h2.plv04__title::after,
#plv04.plv04 h3.plv04__contact-title::before,#plv04.plv04 h3.plv04__contact-title::after{content:none!important;display:none!important;}
/* 上部：中央マーカー／左に案内テキスト／右に本人写真 */
#plv04.plv04 .plv04__intro{position:relative!important;min-height:425px!important;
  padding:0 0 120px!important;margin:0!important;text-align:left!important;}
#plv04.plv04 .plv04__section-marker{position:relative!important;z-index:4!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
  width:100%!important;gap:2px!important;margin:0 auto 18px!important;
  background:none!important;color:#008b53!important;font-size:15px!important;font-weight:900!important;letter-spacing:.025em!important;}
#plv04.plv04 .plv04__section-marker svg{display:block!important;width:35px!important;height:35px!important;}
#plv04.plv04 .plv04__section-marker span{display:flex!important;align-items:center!important;gap:12px!important;white-space:nowrap!important;}
#plv04.plv04 .plv04__section-marker span::before,#plv04.plv04 .plv04__section-marker span::after{
  content:""!important;display:block!important;width:62px!important;height:1px!important;background:#48ad7c!important;}
#plv04.plv04 .plv04__intro-copy{position:relative!important;z-index:4!important;
  width:74%!important;max-width:850px!important;padding:0 3px!important;margin:0!important;
  text-align:center!important;background:transparent!important;border:0!important;}
#plv04.plv04 h2.plv04__title{display:block!important;width:100%!important;padding:0!important;
  margin:0 auto 18px!important;font-size:clamp(24px,3.5vw,38px)!important;
  line-height:1.50!important;font-weight:900!important;letter-spacing:-.045em!important;
  color:#092f2a!important;text-align:center!important;}
#plv04.plv04 .plv04__underline,
#plv04.plv04 .plv04__underline--main{display:inline!important;
  background:linear-gradient(transparent 78%,#fff16c 78%,#fff16c 94%,transparent 94%)!important;
  padding:0 .045em!important;box-shadow:none!important;
  -webkit-box-decoration-break:clone;box-decoration-break:clone;}
#plv04.plv04 .plv04__underline--main{font-size:1.14em!important;}
#plv04.plv04 .plv04__tiny-leaf{display:inline-block!important;color:#48b54a!important;
  font-size:.31em!important;transform:rotate(-28deg) translateY(-4px)!important;vertical-align:middle!important;}
#plv04.plv04 .plv04__description{display:block!important;max-width:100%!important;
  padding:0!important;margin:0 auto!important;background:none!important;border:0!important;
  color:#183b32!important;font-weight:600!important;font-size:clamp(13px,1.3vw,17px)!important;
  line-height:1.85!important;text-align:center!important;}
#plv04.plv04 .plv04__person-wrap{position:absolute!important;z-index:6!important;
  right:0!important;bottom:6px!important;top:auto!important;left:auto!important;
  width:29%!important;height:292px!important;max-width:290px!important;
  padding:0!important;margin:0!important;background:transparent!important;border:0!important;
  pointer-events:none!important;}
#plv04.plv04 img.plv04__person{position:absolute!important;z-index:2!important;
  top:auto!important;bottom:0!important;left:auto!important;right:0!important;
  width:100%!important;max-width:none!important;height:258px!important;
  object-fit:contain!important;object-position:right bottom!important;
  display:block!important;border:0!important;background:none!important;box-shadow:none!important;filter:none!important;}
#plv04.plv04 .plv04__bubble{position:absolute!important;z-index:5!important;
  top:-65px!important;right:188px!important;left:auto!important;bottom:auto!important;
  width:154px!important;height:142px!important;display:flex!important;flex-direction:column!important;
  justify-content:center!important;align-items:center!important;
  padding:10px!important;margin:0!important;border:0!important;border-radius:50%!important;
  background:#fff07b!important;box-shadow:none!important;
  color:#124d35!important;font-size:16px!important;font-weight:900!important;
  line-height:1.42!important;text-align:center!important;transform:rotate(-8deg)!important;}
#plv04.plv04 .plv04__bubble strong{font-size:18px!important;font-weight:900!important;}
#plv04.plv04 .plv04__bubble::after{content:""!important;display:block!important;
  position:absolute!important;bottom:-12px!important;right:28px!important;
  width:30px!important;height:26px!important;background:#fff07b!important;
  clip-path:polygon(0 0,100% 0,100% 100%)!important;}
/* 街並み：横一列に長く、大きく配置。繰り返し表示しない */
#plv04.plv04 img.plv04__skyline{position:absolute!important;z-index:3!important;
  left:0!important;right:auto!important;top:auto!important;bottom:-2px!important;
  display:block!important;width:73%!important;max-width:none!important;
  height:auto!important;max-height:none!important;object-fit:contain!important;object-position:left bottom!important;
  opacity:.92!important;clip-path:inset(5px 0 0 0)!important;border:0!important;background:none!important;box-shadow:none!important;
  pointer-events:none!important;}
/* ３つの約束 */
#plv04.plv04 .plv04__promises{position:relative!important;z-index:8!important;
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;margin:0 0 18px!important;padding:0!important;background:none!important;}
#plv04.plv04 .plv04__promise{display:flex!important;align-items:center!important;justify-content:center!important;
  gap:15px!important;min-width:0!important;min-height:92px!important;padding:14px 10px!important;
  border:0!important;border-radius:18px!important;background:#fff!important;
  box-shadow:0 6px 14px rgba(45,94,60,.08)!important;text-align:center!important;}
#plv04.plv04 .plv04__promise svg{display:block!important;width:50px!important;height:50px!important;
  flex:0 0 50px!important;color:#079f62!important;}
#plv04.plv04 .plv04__promise-label{display:block!important;color:#24392f!important;
  font-size:clamp(12px,1.36vw,17px)!important;font-weight:900!important;line-height:1.45!important;}
#plv04.plv04 .plv04__promise strong{display:block!important;margin:2px 0 0!important;
  font-size:clamp(18px,2vw,25px)!important;color:#f46511!important;font-weight:900!important;line-height:1.22!important;}
/* お問い合わせ部分は一枚の大きな白いパネル */
#plv04.plv04 .plv04__contact{position:relative!important;z-index:8!important;
  width:100%!important;margin:0!important;padding:24px 34px 22px!important;
  border:0!important;border-radius:34px!important;background:#fff!important;
  box-shadow:0 6px 20px rgba(25,78,51,.06)!important;text-align:center!important;}
#plv04.plv04 h3.plv04__contact-title{margin:0 auto 22px!important;padding:0!important;
  color:#06764a!important;font-size:clamp(19px,2.25vw,27px)!important;
  letter-spacing:-.03em!important;font-weight:900!important;line-height:1.55!important;text-align:center!important;}
#plv04.plv04 .plv04__contact-row{display:grid!important;
  grid-template-columns:1fr 1.07fr!important;gap:22px!important;align-items:center!important;
  padding:0!important;margin:0!important;}
#plv04.plv04 a.plv04__phone{display:flex!important;align-items:center!important;justify-content:center!important;
  gap:12px!important;min-width:0!important;margin:0!important;padding:6px!important;
  border:0!important;border-radius:15px!important;background:transparent!important;box-shadow:none!important;
  color:#00985a!important;text-decoration:none!important;}
#plv04.plv04 .plv04__phone-icon{display:grid!important;place-items:center!important;
  width:58px!important;height:58px!important;flex:0 0 58px!important;border-radius:50%!important;
  background:#009d5c!important;color:#fff!important;}
#plv04.plv04 .plv04__phone-icon svg{width:30px!important;height:30px!important;display:block!important;}
#plv04.plv04 .plv04__phone-info{display:flex!important;flex-direction:column!important;align-items:center!important;min-width:0!important;}
#plv04.plv04 .plv04__phone-info strong{font-size:clamp(26px,3.3vw,38px)!important;
  color:#00985a!important;font-weight:900!important;letter-spacing:.005em!important;white-space:nowrap!important;line-height:1.16!important;}
#plv04.plv04 .plv04__phone-info small{font-size:12px!important;line-height:1.5!important;color:#26382f!important;font-weight:700!important;white-space:nowrap!important;}
#plv04.plv04 a.plv04__mail-btn,
#plv04.plv04 .plv04__line-btn{display:flex!important;align-items:center!important;justify-content:center!important;
  gap:12px!important;min-width:0!important;min-height:82px!important;margin:0!important;
  padding:15px 19px!important;border:0!important;border-radius:18px!important;
  color:#fff!important;text-decoration:none!important;font-weight:900!important;
  font-size:clamp(15px,1.7vw,19px)!important;line-height:1.32!important;
  box-shadow:0 4px 0 rgba(0,0,0,.07)!important;}
#plv04.plv04 a.plv04__mail-btn{background:linear-gradient(180deg,#ff9046,#ff6b14)!important;}
#plv04.plv04 a.plv04__mail-btn svg{width:38px!important;height:30px!important;flex:0 0 38px!important;display:block!important;}
#plv04.plv04 .plv04__mail-btn span,
#plv04.plv04 .plv04__line-btn > span:nth-child(2){display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;}
#plv04.plv04 .plv04__mail-btn small,
#plv04.plv04 .plv04__line-btn small{display:block!important;margin-top:4px!important;
  color:#fff!important;font-size:12px!important;font-weight:650!important;}
#plv04.plv04 a.plv04__mail-btn b,
#plv04.plv04 .plv04__line-btn b{display:grid!important;place-items:center!important;
  width:25px!important;height:25px!important;flex:0 0 25px!important;
  border-radius:50%!important;margin-left:auto!important;background:#fff!important;
  color:#ee6515!important;font-size:23px!important;font-weight:600!important;line-height:1!important;}
#plv04.plv04 .plv04__line-btn{max-width:690px!important;min-height:78px!important;
  margin:16px auto 0!important;background:linear-gradient(180deg,#14a66b,#008d54)!important;}
#plv04.plv04 .plv04__line-icon{display:grid!important;place-items:center!important;
  width:48px!important;height:42px!important;flex:0 0 48px!important;
  border-radius:50%!important;background:#fff!important;color:#008d54!important;font-size:12px!important;}
#plv04.plv04 .plv04__line-btn b{color:#00915a!important;}
#plv04.plv04 .plv04__line-btn--pending{cursor:default!important;}
#plv04.plv04 .plv04__bottom-scene{display:block!important;width:100%!important;
  overflow:hidden!important;margin:0 auto!important;padding:0!important;border:0!important;
  background:none!important;border-radius:0!important;}
#plv04.plv04 .plv04__bottom-scene img{display:block!important;width:100%!important;height:auto!important;
  max-width:none!important;object-fit:contain!important;object-position:center bottom!important;
  margin:0!important;border:0!important;box-shadow:none!important;background:none!important;}
#plv04.plv04 .plv04__sp-only{display:none!important;}
/* 小さめPC、タブレット */
@media (min-width:701px) and (max-width:1050px){
  #plv04.plv04 .plv04__intro{min-height:370px!important;padding-bottom:100px!important;}
  #plv04.plv04 h2.plv04__title{font-size:clamp(22px,3.15vw,33px)!important;}
  #plv04.plv04 .plv04__intro-copy{width:71%!important;}
  #plv04.plv04 .plv04__person-wrap{width:27%!important;height:265px!important;}
  #plv04.plv04 img.plv04__person{height:238px!important;}
  #plv04.plv04 .plv04__bubble{top:-55px!important;right:145px!important;width:132px!important;height:122px!important;font-size:13px!important;}
  #plv04.plv04 .plv04__bubble strong{font-size:15px!important;}
  #plv04.plv04 .plv04__promises{gap:12px!important;}
  #plv04.plv04 .plv04__contact{padding:20px 22px 22px!important;}
  #plv04.plv04 .plv04__contact-row{gap:15px!important;}
}
/* スマホ：参照画像同様、見出しの下に人物・街並み、カードを縦積み */
@media(max-width:700px){
  #plv04.plv04{padding:16px 10px 0!important;border-radius:8px!important;}
  #plv04.plv04 img.plv04__leaves{top:0!important;width:124px!important;opacity:.48!important;}
  #plv04.plv04 img.plv04__leaves--left{left:-45px!important;}
  #plv04.plv04 img.plv04__leaves--right{right:-45px!important;}
  #plv04.plv04 .plv04__intro{min-height:435px!important;padding:0 0 220px!important;text-align:center!important;}
  #plv04.plv04 .plv04__section-marker{width:100%!important;gap:0!important;margin:0 auto 12px!important;font-size:12px!important;}
  #plv04.plv04 .plv04__section-marker svg{width:26px!important;height:26px!important;}
  #plv04.plv04 .plv04__section-marker span{gap:9px!important;}
  #plv04.plv04 .plv04__section-marker span::before,#plv04.plv04 .plv04__section-marker span::after{width:34px!important;}
  #plv04.plv04 .plv04__intro-copy{width:100%!important;max-width:none!important;padding:0 4px!important;margin:0!important;}
  #plv04.plv04 h2.plv04__title{font-size:clamp(17px,4.55vw,23px)!important;
    letter-spacing:-.035em!important;line-height:1.57!important;margin:0 0 12px!important;}
  #plv04.plv04 .plv04__underline--main{font-size:1.15em!important;}
  #plv04.plv04 .plv04__description{font-size:clamp(11px,3.1vw,13px)!important;
    line-height:1.7!important;font-weight:600!important;max-width:320px!important;}
  #plv04.plv04 .plv04__pc-only{display:none!important;}
  #plv04.plv04 .plv04__person-wrap{right:2%!important;bottom:46px!important;
    width:66%!important;max-width:260px!important;height:205px!important;}
  #plv04.plv04 img.plv04__person{right:43%!important;bottom:0!important;
    width:64%!important;height:205px!important;max-width:none!important;object-position:center bottom!important;}
  #plv04.plv04 .plv04__bubble{right:-3%!important;top:53px!important;
    width:118px!important;height:112px!important;font-size:12px!important;}
  #plv04.plv04 .plv04__bubble strong{font-size:14px!important;}
  #plv04.plv04 img.plv04__skyline{left:0!important;right:0!important;
    bottom:0!important;width:100%!important;max-width:none!important;height:auto!important;max-height:none!important;}
  #plv04.plv04 .plv04__promises{display:flex!important;flex-direction:column!important;
    gap:9px!important;padding:0!important;margin:0 2px 14px!important;}
  #plv04.plv04 .plv04__promise{min-height:72px!important;gap:18px!important;
    padding:10px!important;border-radius:13px!important;}
  #plv04.plv04 .plv04__promise svg{width:43px!important;height:43px!important;flex:0 0 43px!important;}
  #plv04.plv04 .plv04__promise-label{font-size:14px!important;}
  #plv04.plv04 .plv04__promise strong{font-size:22px!important;}
  #plv04.plv04 .plv04__contact{padding:17px 11px 15px!important;border-radius:20px!important;}
  #plv04.plv04 h3.plv04__contact-title{font-size:clamp(16px,4.1vw,20px)!important;
    margin:0 auto 14px!important;line-height:1.54!important;}
  #plv04.plv04 .plv04__sp-only{display:block!important;}
  #plv04.plv04 .plv04__contact-row{display:grid!important;
    grid-template-columns:1fr!important;gap:8px!important;}
  #plv04.plv04 a.plv04__phone{min-height:73px!important;gap:11px!important;}
  #plv04.plv04 .plv04__phone-icon{width:51px!important;height:51px!important;flex:0 0 51px!important;}
  #plv04.plv04 .plv04__phone-info strong{font-size:clamp(25px,7vw,34px)!important;}
  #plv04.plv04 .plv04__phone-info small{font-size:11px!important;}
  #plv04.plv04 a.plv04__mail-btn,#plv04.plv04 .plv04__line-btn{
    min-height:72px!important;gap:9px!important;border-radius:13px!important;
    padding:10px 12px!important;font-size:14px!important;}
  #plv04.plv04 a.plv04__mail-btn svg{width:33px!important;height:26px!important;flex-basis:33px!important;}
  #plv04.plv04 .plv04__mail-btn small,#plv04.plv04 .plv04__line-btn small{font-size:10px!important;}
  #plv04.plv04 .plv04__line-btn{margin:9px auto 0!important;}
  #plv04.plv04 .plv04__line-icon{width:40px!important;height:34px!important;flex-basis:40px!important;font-size:10px!important;}
  #plv04.plv04 .plv04__bottom-scene{display:none!important;}
}
@media(max-width:370px){
  #plv04.plv04 h2.plv04__title{font-size:16px!important;}
  #plv04.plv04 .plv04__person-wrap{width:68%!important;}
  #plv04.plv04 .plv04__bubble{width:104px!important;height:100px!important;right:-5%!important;font-size:10px!important;}
  #plv04.plv04 .plv04__bubble strong{font-size:12px!important;}
  #plv04.plv04 .plv04__phone-info strong{font-size:23px!important;}
}
/* =====================================================
  ペイントリーフ大阪／お客様の声 SECTION 04
  お問い合わせ部分のみ配置修正（2026-10-15）
  左：電話番号を大きく、上下中央に配置
  右：メールボタンの真下にLINEボタンを同幅で配置
  子テーマ style.css の【一番下】に追加。HTML変更不要。
  SECTION 01～03、SECTION 04の上部・下部画像には影響しません。
===================================================== */
@media (min-width: 701px) {
  #plv04.plv04 .plv04__contact {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.07fr) !important;
    grid-template-rows: auto auto auto !important;
    column-gap: 20px !important;
    row-gap: 12px !important;
    align-items: stretch !important;
  }

  #plv04.plv04 h3.plv04__contact-title {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    margin: 0 0 8px !important;
  }

  /* HTML内の「電話とメールの行」を透明にし、3要素を同じグリッドに配置 */
  #plv04.plv04 .plv04__contact-row {
    display: contents !important;
  }

  #plv04.plv04 a.plv04__phone {
    grid-column: 1 !important;
    grid-row: 2 / span 2 !important;
    align-self: stretch !important;
    justify-self: stretch !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 14px !important;
    padding: 10px 6px !important;
  }

  #plv04.plv04 .plv04__phone-icon {
    width: 64px !important;
    height: 64px !important;
    flex: 0 0 64px !important;
  }

  #plv04.plv04 .plv04__phone-info strong {
    font-size: clamp(36px, 4.1vw, 46px) !important;
    line-height: 1.16 !important;
  }

  #plv04.plv04 a.plv04__mail-btn {
    grid-column: 2 !important;
    grid-row: 2 !important;
    width: 100% !important;
    min-height: 82px !important;
    margin: 0 !important;
  }

  #plv04.plv04 .plv04__line-btn {
    grid-column: 2 !important;
    grid-row: 3 !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 82px !important;
    margin: 0 !important;
  }
}

/* タブレット横幅で電話がはみ出さないようにする */
@media (min-width: 701px) and (max-width: 950px) {
  #plv04.plv04 .plv04__contact { column-gap: 12px !important; }
  #plv04.plv04 a.plv04__phone { gap: 9px !important; }
  #plv04.plv04 .plv04__phone-icon {
    width: 52px !important; height: 52px !important; flex-basis: 52px !important;
  }
  #plv04.plv04 .plv04__phone-info strong {
    font-size: clamp(28px, 4.1vw, 36px) !important;
  }
}

/* スマホは読みやすい縦並び（電話 → メール → LINE）を維持 */
@media (max-width: 700px) {
  #plv04.plv04 .plv04__contact { display: block !important; }
  #plv04.plv04 .plv04__contact-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }
  #plv04.plv04 a.plv04__phone {
    justify-content: center !important;
    margin: 0 auto !important;
  }
  #plv04.plv04 .plv04__phone-info strong {
    font-size: clamp(27px, 7.4vw, 36px) !important;
  }
  #plv04.plv04 .plv04__line-btn { width: 100% !important; max-width: none !important; }
}
/* ================================================================
   ペイントリーフ大阪 | お客様の声 最下部CF7フォーム配置調整
   2026-10-15

   対象: /voice/ ページ（#plv04 を含むページ）に限る。
   設置: SECTION 04 の </section> より後、独立した「ショートコード」
         ブロックに既存の TOP 用 CF7 ショートコードを1つ配置。
   使用フォーム: [contact-form-7 id="cfdf8e0" title="トップページ無料相談"]

   注意: SECTION 04 HTML / CSS、CF7の中身、TOPフォームには触れない。
   PCで 100vw / 左負マージンを使わず、本文幅の中央に配置する。
================================================================ */

/* 独立したショートコードブロック全体を通常フローへ戻す */
body:has(#plv04) .wp-block-shortcode:has(.pl-visual-form) {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  max-width: 1220px !important;
  min-width: 0 !important;
  margin: 0 auto 48px !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  clear: both !important;
  float: none !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Cocoon / CF7が付ける白枠・狭い最大幅をフォーム周囲だけ解除 */
body:has(#plv04) .wpcf7:has(.pl-visual-form),
body:has(#plv04) .wpcf7:has(.pl-visual-form) > form {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  clear: both !important;
  float: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* TOPの背景バナーを、ページ幅からはみ出さずに配置する */
body:has(#plv04) .pl-visual-form {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  max-width: 1220px !important;
  min-width: 0 !important;
  aspect-ratio: 3 / 2 !important;
  height: auto !important;
  box-sizing: border-box !important;
  margin: 30px auto 34px !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: url("https://paintleaf-osaka.com/wp-content/uploads/2026/09/paintleaf-osaka-top-contact-form-bg.webp") center / 100% 100% no-repeat !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* 背景デザインの白い入力欄へフォーム本体を合わせる */
body:has(#plv04) .pl-visual-form__live {
  position: absolute !important;
  top: 36.3% !important;
  left: 6.1% !important;
  width: 87.8% !important;
  height: 35% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 1.3% 3.2% 1.2% !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  background: #fff !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  z-index: 5 !important;
}

body:has(#plv04) .pl-visual-form .pl-vf-row {
  display: grid !important;
  grid-template-columns: 125px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 14px !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  border-bottom: 1px solid #e8ece8 !important;
  transform: none !important;
}
body:has(#plv04) .pl-visual-form .pl-vf-row--check { min-height: 42px !important; }
body:has(#plv04) .pl-visual-form .pl-vf-label {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
}
body:has(#plv04) .pl-visual-form .pl-vf-control { min-width: 0 !important; }
body:has(#plv04) .pl-visual-form input[type="text"],
body:has(#plv04) .pl-visual-form input[type="tel"] {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 13px !important;
  box-sizing: border-box !important;
  font-size: 14px !important;
}
body:has(#plv04) .pl-visual-form .pl-vf-control .wpcf7-list-item {
  margin: 2px 12px 2px 0 !important;
}
body:has(#plv04) .pl-visual-form .pl-vf-control .wpcf7-list-item label {
  font-size: 12px !important;
}
body:has(#plv04) .pl-visual-form .pl-vf-bottom {
  margin: 0 !important;
  padding-top: 7px !important;
}
body:has(#plv04) .pl-visual-form .pl-vf-submit {
  width: min(390px, 100%) !important;
  margin: 0 auto !important;
}
body:has(#plv04) .pl-visual-form .pl-vf-submit input[type="submit"] {
  display: block !important;
  width: 100% !important;
  height: 46px !important;
  margin: 0 !important;
  font-size: 14px !important;
  border-radius: 30px !important;
}

/* ここはTOPフォーム既存の「お問い合わせフォームへ」のリンク配置を維持 */
body:has(#plv04) .pl-visual-form .wpcf7-not-valid-tip {
  font-size: 12px !important;
  line-height: 1.4 !important;
}

/* 幅が狭いPC・タブレットで入力欄が飛び出さないよう小さく調整 */
@media (min-width: 768px) and (max-width: 1099px) {
  body:has(#plv04) .pl-visual-form__live { padding: .9% 2.4% !important; }
  body:has(#plv04) .pl-visual-form .pl-vf-row {
    grid-template-columns: 100px minmax(0, 1fr) !important;
    min-height: 39px !important;
    gap: 10px !important;
  }
  body:has(#plv04) .pl-visual-form .pl-vf-row--check { min-height: 33px !important; }
  body:has(#plv04) .pl-visual-form .pl-vf-label { font-size: 11px !important; }
  body:has(#plv04) .pl-visual-form input[type="text"],
  body:has(#plv04) .pl-visual-form input[type="tel"] {
    height: 31px !important; font-size: 12px !important;
  }
  body:has(#plv04) .pl-visual-form .pl-vf-bottom { padding-top: 4px !important; }
  body:has(#plv04) .pl-visual-form .pl-vf-submit { width: 60% !important; }
  body:has(#plv04) .pl-visual-form .pl-vf-submit input[type="submit"] {
    height: 34px !important; font-size: 12px !important;
  }
}

/* スマホはTOPのモバイル用ヘッダー＋読みやすい縦型フォーム */
@media (max-width: 767px) {
  body:has(#plv04) .wp-block-shortcode:has(.pl-visual-form) {
    width: 100% !important;
    max-width: none !important;
    margin: 16px auto 38px !important;
    padding: 0 !important;
  }
  body:has(#plv04) .pl-visual-form {
    position: relative !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: auto !important;
    margin: 0 auto 30px !important;
    padding: 33.333% 12px 20px !important;
    box-sizing: border-box !important;
    background: #f3f7ee !important;
    border-radius: 12px !important;
    overflow: hidden !important;
  }
  body:has(#plv04) .pl-visual-form::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 0 !important;
    padding-top: 33.333% !important;
    background: url("https://paintleaf-osaka.com/wp-content/uploads/2026/09/paintleaf-osaka-top-contact-mobile.webp") center top / 100% 100% no-repeat !important;
    z-index: 1 !important;
  }
  body:has(#plv04) .pl-visual-form__live {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
    padding: 19px 15px 18px !important;
    display: block !important;
    box-sizing: border-box !important;
    background: #fff !important;
    border: 1px solid #dce7d9 !important;
    border-radius: 12px !important;
    box-shadow: 0 6px 18px rgba(28,83,56,.08) !important;
    transform: none !important;
    z-index: 5 !important;
  }
  body:has(#plv04) .pl-visual-form .pl-vf-row,
  body:has(#plv04) .pl-visual-form .pl-vf-row--check {
    display: block !important;
    grid-template-columns: none !important;
    min-height: 0 !important;
    margin: 0 0 15px !important;
    padding: 0 0 15px !important;
    border-bottom: 1px solid #e8ece8 !important;
    transform: none !important;
  }
  body:has(#plv04) .pl-visual-form .pl-vf-label {
    display: block !important;
    margin: 0 0 8px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    white-space: normal !important;
  }
  body:has(#plv04) .pl-visual-form .pl-vf-control .wpcf7-checkbox {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  body:has(#plv04) .pl-visual-form .pl-vf-control .wpcf7-list-item {
    margin: 0 !important;
  }
  body:has(#plv04) .pl-visual-form .pl-vf-control .wpcf7-list-item label {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 12px !important;
  }
  body:has(#plv04) .pl-visual-form .pl-vf-control input[type="checkbox"] {
    width: 19px !important;
    height: 19px !important;
    flex: 0 0 19px !important;
  }
  body:has(#plv04) .pl-visual-form input[type="text"],
  body:has(#plv04) .pl-visual-form input[type="tel"] {
    width: 100% !important;
    height: 49px !important;
    margin: 0 !important;
    padding: 0 13px !important;
    box-sizing: border-box !important;
    border: 1px solid #ccd6cf !important;
    border-radius: 7px !important;
    background: #fff !important;
    font-size: 16px !important;
    transform: none !important;
  }
  body:has(#plv04) .pl-visual-form .pl-vf-bottom {
    margin: 0 !important;
    padding: 0 !important;
  }
  body:has(#plv04) .pl-visual-form .pl-vf-submit {
    width: 100% !important;
    margin: 0 !important;
  }
  body:has(#plv04) .pl-visual-form .pl-vf-submit input[type="submit"] {
    width: 100% !important;
    height: 54px !important;
    font-size: 15px !important;
  }
  body:has(#plv04) .pl-visual-form .pl-vf-bottom,
  body:has(#plv04) .pl-visual-form .pl-vf-row { transform: none !important; }
  body:has(#plv04) .pl-visual-form .wpcf7-response-output,
  body:has(#plv04) .pl-visual-form .wpcf7-not-valid-tip,
  body:has(#plv04) .pl-visual-form .wpcf7-spinner {
    position: static !important;
    height: auto !important;
    margin: 8px 0 !important;
  }
  /* スマホで背景の下へ押し出されないよう、フォームの案内リンクも通常配置に */
  body:has(#plv04) .pl-visual-form .pl-visual-form__contact-link {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    margin: 12px auto 0 !important;
    padding: 12px 10px !important;
    background: #fff !important;
    border: 1px solid #d6e3d4 !important;
    border-radius: 9px !important;
    box-sizing: border-box !important;
    color: #087847 !important;
    text-align: center !important;
    text-decoration: none !important;
    font-size: 13px !important;
  }
  body:has(#plv04) .pl-visual-form .pl-visual-form__contact-link:empty::after {
    content: "詳しいお問い合わせフォームへ →" !important;
  }
}
/* ============================================================
   ペイントリーフ大阪 TOPページ｜施工事例
   スマホ専用：横スクロール → 2列×2段
   対象：ホームページの .pl-works-demo のみ
   設置先：Cocoon子テーマ style.css の末尾
   PCデザインは変更しません。
   ============================================================ */

@media screen and (max-width: 767px) {

  /* 横スクロールのカードを2列グリッドに変更 */
  body.home .pl-works-demo .pl-works-demo__grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px 10px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
    transform: none !important;
  }

  /* 1枚分の横幅指定・スライド設定を解除 */
  body.home .pl-works-demo .pl-works-demo__grid > .pl-work-card {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    flex: none !important;
    flex-basis: auto !important;
    margin: 0 !important;
    scroll-snap-align: none !important;
    transform: none !important;
  }

  /* 写真の形を4枚で揃える */
  body.home .pl-works-demo .pl-work-card__visual {
    position: relative;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 3;
    overflow: hidden;
  }
  body.home .pl-works-demo .pl-work-card__visual img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
  }

  /* 2列でも文字が欠けないように内側の余白・改行を調整 */
  body.home .pl-works-demo .pl-work-card__body {
    box-sizing: border-box;
    min-width: 0;
    padding: 12px 10px 14px !important;
    overflow-wrap: anywhere;
  }
  body.home .pl-works-demo .pl-work-card__area,
  body.home .pl-works-demo .pl-work-card__type {
    font-size: 12px !important;
    line-height: 1.5 !important;
  }
  body.home .pl-works-demo .pl-work-card__body h3 {
    font-size: 14px !important;
    line-height: 1.5 !important;
    overflow-wrap: anywhere;
  }

  /* 施工価格は数字を目立たせ、狭い画面では自然に折り返す */
  body.home .pl-works-demo .pl-work-card__price {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    justify-content: flex-start !important;
    gap: 4px !important;
    min-width: 0;
  }
  body.home .pl-works-demo .pl-work-card__price > span {
    flex: 0 0 100%;
    font-size: 12px !important;
  }
  body.home .pl-works-demo .pl-work-card__price > strong {
    font-size: 25px !important;
    line-height: 1.2 !important;
  }
  body.home .pl-works-demo .pl-work-card__price > b {
    font-size: 12px !important;
    line-height: 1.4 !important;
  }
  body.home .pl-works-demo .pl-work-card__note {
    font-size: 12px !important;
    line-height: 1.55 !important;
    overflow-wrap: anywhere;
  }

  /* 横送り用の矢印・ナビ（存在する場合）をスマホでは非表示 */
  body.home .pl-works-demo .pl-works-demo__prev,
  body.home .pl-works-demo .pl-works-demo__next,
  body.home .pl-works-demo .pl-works-demo__arrows,
  body.home .pl-works-demo .pl-works-demo__nav,
  body.home .pl-works-demo .pl-works-demo__slider-nav,
  body.home .pl-works-demo .pl-works-demo__arrow,
  body.home .pl-works-demo .swiper-button-prev,
  body.home .pl-works-demo .swiper-button-next,
  body.home .pl-works-demo .slick-arrow,
  body.home .pl-works-demo .pl-works-demo__grid > button {
    display: none !important;
  }
}
/* ============================================================
   ペイントリーフ大阪 / TOP「施工事例」v3
   スマホ：1件ずつ横送り → 2列×2段（4件を同時表示）
   対象HTML：<section id="pl-home-works" class="pl-home-works-v3">
   設置先：Cocoon子テーマ style.css のいちばん下
   PC版および他のセクションには適用しません。
   ============================================================ */

@media screen and (max-width: 767px) {

  /* スライダーの外枠を通常のコンテンツ幅に戻す */
  #pl-home-works.pl-home-works-v3 .pl-home-works-v3__slider {
    display: block !important;
    position: relative !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    transform: none !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }

  /* 1列横送りを解除して、2列×2段に並べる */
  #pl-home-works.pl-home-works-v3 .pl-home-works-v3__track {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: auto auto !important;
    grid-auto-flow: row !important;
    gap: 14px 10px !important;
    align-items: stretch !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
    scroll-snap-type: none !important;
    scroll-behavior: auto !important;
    transform: none !important;
  }

  /* カードの「1画面1枚」指定を解除 */
  #pl-home-works.pl-home-works-v3 .pl-home-works-v3__track > .pl-home-works-v3__card {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: none !important;
    flex-basis: auto !important;
    scroll-snap-align: none !important;
    transform: none !important;
  }

  /* 写真をカードの横幅に収める */
  #pl-home-works.pl-home-works-v3 .pl-home-works-v3__image {
    display: block !important;
    position: relative;
    box-sizing: border-box;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 3;
    overflow: hidden !important;
  }

  #pl-home-works.pl-home-works-v3 .pl-home-works-v3__image > img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  /* 写真上の工事種別ラベルは小さなカードでも読めるサイズに */
  #pl-home-works.pl-home-works-v3 .pl-home-works-v3__badges {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 3px !important;
    max-width: calc(100% - 12px) !important;
  }

  #pl-home-works.pl-home-works-v3 .pl-home-works-v3__badges span {
    font-size: 10px !important;
    line-height: 1.35 !important;
    padding: 4px 6px !important;
    white-space: nowrap !important;
  }

  /* カード本文：幅の狭い2列でも文字がはみ出さないようにする */
  #pl-home-works.pl-home-works-v3 .pl-home-works-v3__body {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 12px 10px 14px !important;
    overflow-wrap: anywhere !important;
  }

  #pl-home-works.pl-home-works-v3 .pl-home-works-v3__area {
    font-size: 12px !important;
    line-height: 1.5 !important;
  }

  #pl-home-works.pl-home-works-v3 .pl-home-works-v3__body h3 {
    font-size: 13px !important;
    line-height: 1.5 !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  /* 価格と塗料は2列カードに合わせて縦に整理 */
  #pl-home-works.pl-home-works-v3 .pl-home-works-v3__meta {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    margin-bottom: 0 !important;
  }

  #pl-home-works.pl-home-works-v3 .pl-home-works-v3__meta > div {
    display: block !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
    margin: 8px 0 0 !important;
    padding: 8px 0 0 !important;
  }

  #pl-home-works.pl-home-works-v3 .pl-home-works-v3__meta dt {
    display: block !important;
    width: auto !important;
    margin: 0 0 3px !important;
    padding: 0 !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
    white-space: normal !important;
  }

  #pl-home-works.pl-home-works-v3 .pl-home-works-v3__meta dd {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  #pl-home-works.pl-home-works-v3 .pl-home-works-v3__meta dd strong {
    font-size: 24px !important;
    line-height: 1.2 !important;
  }

  /* 横送り用ボタンと現在位置のドットは不要 */
  #pl-home-works.pl-home-works-v3 .pl-home-works-v3__arrow,
  #pl-home-works.pl-home-works-v3 .pl-home-works-v3__dots {
    display: none !important;
  }
}
/* ============================================================
   ペイントリーフ大阪 TOP / 施工工程
   下部CTA：外壁塗装（緑）・屋根塗装（オレンジ）
   既存の10工程カードには変更を加えません。
   Cocoon子テーマ style.css の末尾に追加してください。
   ============================================================ */

/* PC：案内文の右側に、2つのボタンを横並び */
@media screen and (min-width: 981px) {
  .pl-home-process-v1 .pl-home-process-v1__bottom {
    display: grid !important;
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.65fr) !important;
    align-items: center !important;
    gap: 18px !important;
  }
}

.pl-home-process-v1 .pl-home-process-v1__bottom-copy {
  min-width: 0;
}

.pl-home-process-v1 .pl-home-process-v1__actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0;
  box-sizing: border-box;
}

.pl-home-process-v1 .pl-home-process-v1__actions .pl-home-process-v1__cta-link {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  position: relative;
  width: 100% !important;
  max-width: none !important;
  min-width: 0;
  min-height: 55px;
  padding: 11px 28px 11px 16px !important;
  box-sizing: border-box;
  border: 0 !important;
  border-radius: 999px !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  text-align: center !important;
  text-decoration: none !important;
  box-shadow: none;
  transition: filter 0.2s ease, transform 0.2s ease;
}

.pl-home-process-v1 .pl-home-process-v1__actions .pl-home-process-v1__cta-link--wall {
  background: #087e49 !important;
}

.pl-home-process-v1 .pl-home-process-v1__actions .pl-home-process-v1__cta-link--roof {
  background: #ed8e23 !important;
}

.pl-home-process-v1 .pl-home-process-v1__cta-arrow {
  position: absolute;
  right: 13px;
  top: 50%;
  transform: translateY(-50%);
  color: #fff !important;
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
}

@media (hover: hover) {
  .pl-home-process-v1 .pl-home-process-v1__actions .pl-home-process-v1__cta-link:hover {
    filter: brightness(1.08);
    transform: translateY(-2px);
    color: #fff !important;
  }
}

.pl-home-process-v1 .pl-home-process-v1__actions .pl-home-process-v1__cta-link:focus-visible {
  outline: 3px solid #164d35 !important;
  outline-offset: 3px;
}

/* 中間幅：案内文の下にボタン2個を横並び */
@media screen and (min-width: 601px) and (max-width: 980px) {
  .pl-home-process-v1 .pl-home-process-v1__bottom {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 15px !important;
  }
}

/* スマホ：ボタンを1列にして十分なタップ幅を確保 */
@media screen and (max-width: 600px) {
  .pl-home-process-v1 .pl-home-process-v1__bottom {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
  }

  .pl-home-process-v1 .pl-home-process-v1__actions {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  .pl-home-process-v1 .pl-home-process-v1__actions .pl-home-process-v1__cta-link {
    min-height: 54px;
    padding: 12px 32px 12px 18px !important;
    font-size: 15px !important;
  }
}
/* =========================================================
   ペイントリーフ大阪 TOP／施工工程：案内文の改行調整
   PCのみ：左の説明欄を少し広げ、不自然な1文字改行を防ぐ。
   ボタンの配色・リンク・スマホ表示・工程カードは変更しない。
   Cocoon子テーマ style.css の一番下に追加。
========================================================= */
@media screen and (min-width: 981px) {
  .pl-home-process-v1 .pl-home-process-v1__bottom {
    grid-template-columns: minmax(350px, 1fr) minmax(0, 1.55fr) !important;
  }
}
/* =======================================================
 ペイントリーフ大阪｜外壁塗装 SECTION 01 ページヘッダー
 貼り付け先：Cocoon 子テーマ style.css の末尾
 対象：.pl-gaiheki01 のみ（TOPや他ページには適用しない）
 PC：約2.68:1 ／ スマホ：16:9。トリミング・引き伸ばしなし。
======================================================= */

.pl-gaiheki01 {
  position: relative;
  left: 50%;
  width: 100vw;
  max-width: 100vw;
  margin: 0 0 0 -50vw !important;
  padding: 0 !important;
  border: 0 !important;
  box-sizing: border-box;
  overflow: hidden;
  background: #fff;
}

.pl-gaiheki01 .pl-gaiheki01__picture {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  line-height: 0;
}

.pl-gaiheki01 .pl-gaiheki01__image {
  display: block;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  aspect-ratio: 1536 / 574;
  object-fit: contain;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

@media screen and (max-width: 767px) {
  .pl-gaiheki01 .pl-gaiheki01__image {
    aspect-ratio: 16 / 9;
  }
}
/* ============================================================
   ペイントリーフ大阪｜外壁塗装 SECTION 01 表示調整
   対象：/gaiheki-tosou/ 内に .pl-gaiheki01 があるページだけ
   設置：Cocoon 子テーマ style.css の一番下に追加
   ※以前のコードを探して削除する必要はありません。
   ※画像は一切トリミングせず、PC/スマホの比率を維持。
============================================================ */

/* Cocoonのページタイトルは、SEO用のh1として残しつつ画面上では隠す */
body.page:has(.pl-gaiheki01) .article-header {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  border: 0 !important;
}

/* メニュー下から本文までの余白を除去（このページ限定） */
body.page:has(.pl-gaiheki01) #content,
body.page:has(.pl-gaiheki01) .content,
body.page:has(.pl-gaiheki01) #content-in,
body.page:has(.pl-gaiheki01) .content-in,
body.page:has(.pl-gaiheki01) #main,
body.page:has(.pl-gaiheki01) .main,
body.page:has(.pl-gaiheki01) article.article,
body.page:has(.pl-gaiheki01) .entry-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* 先頭カスタムHTMLブロック固有の上余白もなくす */
body.page:has(.pl-gaiheki01) .entry-content > :first-child,
body.page:has(.pl-gaiheki01) .entry-content > .wp-block-html:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Cocoonの本文左右の枠・サイドバーも、このヘッダーページのみ解除 */
body.page:has(.pl-gaiheki01) #sidebar,
body.page:has(.pl-gaiheki01) .sidebar {
  display: none !important;
}
body.page:has(.pl-gaiheki01) #main,
body.page:has(.pl-gaiheki01) .main {
  width: 100% !important;
  max-width: none !important;
  flex: 0 0 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.page:has(.pl-gaiheki01) #content-in,
body.page:has(.pl-gaiheki01) .content-in {
  width: 100% !important;
  max-width: none !important;
  display: block !important;
}
body.page:has(.pl-gaiheki01) article.article,
body.page:has(.pl-gaiheki01) .entry-content {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* 元の全幅ヘッダーは維持。中央の画像自体だけ適度なサイズに。 */
body.page:has(.pl-gaiheki01) .pl-gaiheki01 {
  margin-top: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background: #fff !important;
}
body.page:has(.pl-gaiheki01) .pl-gaiheki01__picture {
  display: block !important;
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  line-height: 0 !important;
}
body.page:has(.pl-gaiheki01) .pl-gaiheki01__image {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* スマホは今まで通り画面幅いっぱい・16:9で表示 */
@media screen and (max-width: 767px) {
  body.page:has(.pl-gaiheki01) .pl-gaiheki01__picture {
    max-width: none !important;
  }
  body.page:has(.pl-gaiheki01) .pl-gaiheki01__image {
    aspect-ratio: 16 / 9;
  }
}
/* ===========================================================
   ペイントリーフ大阪｜外壁塗装ページ SECTION 02
   外壁塗装はなぜ必要？（承認デザインに合わせた新規実装）
   Cocoon子テーマ style.css の末尾へ貼り付け
   適用先：#pl-gaiheki02 のみ。他セクションは変更しません。
=========================================================== */

#pl-gaiheki02.pl-gaiheki02 {
  position: relative;
  isolation: isolate;
  width: 100vw;
  max-width: 100vw;
  margin: 0 0 0 calc(50% - 50vw) !important;
  padding: 68px 24px 74px !important;
  box-sizing: border-box;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 0% 40%, rgba(206,241,200,.51) 0%, transparent 35%),
    radial-gradient(ellipse at 100% 24%, rgba(218,240,215,.41) 0%, transparent 32%),
    linear-gradient(180deg, #ffffff 0%, #f8fcf8 75%, #f0faf0 100%);
  color: #27362c;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
}

/* 葉の装飾：透明部分を備えたアップロード済みWebPを利用 */
#pl-gaiheki02.pl-gaiheki02::before,
#pl-gaiheki02.pl-gaiheki02::after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  pointer-events: none;
  width: min(36vw, 340px);
  height: 250px;
  opacity: .75;
  background-image: url("https://paintleaf-osaka.com/wp-content/uploads/2026/10/paintleaf-osaka-gaiheki-section02-leaf-decoration.webp");
  background-repeat: no-repeat;
  background-size: 690px 460px;
}
#pl-gaiheki02.pl-gaiheki02::before {
  left: 0;
  top: 0;
  background-position: left top;
}
#pl-gaiheki02.pl-gaiheki02::after {
  right: 0;
  bottom: 0;
  background-position: right bottom;
}

#pl-gaiheki02 .pl-gaiheki02__inner {
  position: relative;
  z-index: 1;
  width: min(1320px, 100%);
  margin: 0 auto !important;
  padding: 0;
  box-sizing: border-box;
}

/* Cocoonの標準見出し装飾・吹き出し枠をこのセクション内だけ解除 */
#pl-gaiheki02 h2,
#pl-gaiheki02 h3 {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
#pl-gaiheki02 h2::before,
#pl-gaiheki02 h2::after,
#pl-gaiheki02 h3::before,
#pl-gaiheki02 h3::after {
  content: none !important;
  display: none !important;
}
#pl-gaiheki02 p { margin: 0 !important; padding: 0 !important; }

/* 見出し */
#pl-gaiheki02 .pl-gaiheki02__heading {
  text-align: center;
  max-width: 1080px;
  margin: 0 auto 32px;
}
#pl-gaiheki02 .pl-gaiheki02__eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 9px 23px !important;
  border-radius: 40px;
  color: #fff;
  background: linear-gradient(105deg, #056e3c, #008449);
  font-size: 17px;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: .025em;
  box-shadow: 0 5px 15px rgba(0,93,46,.12);
}
#pl-gaiheki02 .pl-gaiheki02__eyebrow svg { width: 23px; height: 23px; flex: 0 0 23px; }
#pl-gaiheki02 #pl-gaiheki02-title {
  margin: 15px 0 15px !important;
  color: #006934 !important;
  font-size: clamp(33px, 4.2vw, 62px) !important;
  font-weight: 900 !important;
  letter-spacing: .02em;
  line-height: 1.23 !important;
}
#pl-gaiheki02 #pl-gaiheki02-title span { color: #162a20; }
#pl-gaiheki02 #pl-gaiheki02-title::after { display:none !important; }
#pl-gaiheki02 .pl-gaiheki02__catch {
  margin: 0 0 18px !important;
  color: #242e28;
  font-weight: 800;
  font-size: clamp(19px, 2.45vw, 28px);
  line-height: 1.55;
  letter-spacing: .025em;
}
#pl-gaiheki02 .pl-gaiheki02__catch span { color: #087a40; }
#pl-gaiheki02 .pl-gaiheki02__lead {
  color: #313c34;
  font-size: clamp(15px, 1.35vw, 17px);
  font-weight: 500;
  line-height: 1.95;
  letter-spacing: .018em;
}

/* ３カード */
#pl-gaiheki02 .pl-gaiheki02__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 19px;
  align-items: stretch;
}
#pl-gaiheki02 .pl-gaiheki02__card {
  min-width: 0;
  margin: 0;
  padding: 6px;
  border: 1px solid #e3f0e5;
  border-radius: 26px;
  box-sizing: border-box;
  background: rgba(255,255,255,.94);
  box-shadow: 0 10px 30px rgba(39, 109, 58, .07);
  overflow: hidden;
}
#pl-gaiheki02 .pl-gaiheki02__photo {
  position: relative;
  height: 175px;
  border-radius: 21px 21px 13px 13px;
  overflow: hidden;
  background: #e5eee7;
}
#pl-gaiheki02 .pl-gaiheki02__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  margin: 0;
  padding: 0;
  border: 0;
}
#pl-gaiheki02 .pl-gaiheki02__number {
  position: absolute;
  left: 0;
  top: 0;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  width: 78px;
  height: 70px;
  padding: 10px 0 0 13px;
  box-sizing: border-box;
  border-radius: 0 0 100% 0;
  background: linear-gradient(135deg, #448e1e, #0a7a34);
  color: #fff;
  font-family: Georgia, serif;
  font-weight: 700;
  font-style: italic;
  font-size: 29px;
  line-height: 1.3;
  text-shadow: 0 1px 3px rgba(0,0,0,.1);
}
#pl-gaiheki02 .pl-gaiheki02__card-body {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 20px 18px 20px;
}
#pl-gaiheki02 .pl-gaiheki02__icon {
  display: grid;
  place-items: center;
  flex: 0 0 62px;
  width: 62px;
  height: 62px;
  border-radius: 50%;
  background: #e6f7e5;
  color: #006b37;
}
#pl-gaiheki02 .pl-gaiheki02__icon svg {
  display: block;
  width: 35px;
  height: 35px;
}
#pl-gaiheki02 .pl-gaiheki02__card-copy { min-width: 0; }
#pl-gaiheki02 .pl-gaiheki02__card-copy h3 {
  display: inline-block;
  position: relative;
  color: #006b36 !important;
  font-size: clamp(17px, 1.6vw, 21px) !important;
  font-weight: 850;
  line-height: 1.45 !important;
  letter-spacing: -.02em;
}
#pl-gaiheki02 .pl-gaiheki02__card-copy h3::after {
  content: "" !important;
  display: block !important;
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 62%;
  height: 3px;
  border-radius: 3px;
  background: #c0e7ab;
}
#pl-gaiheki02 .pl-gaiheki02__card-copy p {
  margin: 17px 0 0 !important;
  color: #343c35;
  font-size: clamp(14px, 1.16vw, 16px);
  line-height: 1.8;
  font-weight: 500;
}

/* 下部メッセージ */
#pl-gaiheki02 .pl-gaiheki02__message {
  position: relative;
  margin: 26px 0 0;
  padding: 20px 44px 21px 290px;
  min-height: 146px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  border: 4px solid rgba(255,255,255,.95);
  border-radius: 27px;
  box-sizing: border-box;
  overflow: hidden;
  background: linear-gradient(105deg, #edf9ee 0%, #f9fdf9 48%, #e8f7e9 100%);
  box-shadow: 0 10px 32px rgba(44, 106, 54, .09);
}
#pl-gaiheki02 .pl-gaiheki02__message-art {
  position: absolute;
  z-index: 0;
  top: 0;
  bottom: 0;
  left: 0;
  width: 45%;
  overflow: hidden;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(90deg, #000 25%, transparent 98%);
  mask-image: linear-gradient(90deg, #000 25%, transparent 98%);
}
#pl-gaiheki02 .pl-gaiheki02__message-art img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 70%;
  max-width: none;
  margin: 0;
}
#pl-gaiheki02 .pl-gaiheki02__message-label {
  position: relative;
  z-index: 1;
  align-self: flex-start;
  margin: 0 0 5px !important;
  padding: 5px 19px !important;
  color: white;
  background: #fb8617;
  border-radius: 30px;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.25;
}
#pl-gaiheki02 .pl-gaiheki02__message-copy {
  position: relative;
  z-index: 1;
  padding: 12px 34px;
  border-radius: 17px;
  background: rgba(255,255,255,.85);
  text-align: center;
}
#pl-gaiheki02 .pl-gaiheki02__message-copy p {
  color: #313a32;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
}
#pl-gaiheki02 .pl-gaiheki02__message-copy strong {
  display: block;
  margin: 2px 0 0;
  color: #006f36;
  font-size: clamp(17px, 1.65vw, 22px);
  line-height: 1.55;
  font-weight: 850;
}
#pl-gaiheki02 .pl-gaiheki02__quotation {
  position: absolute;
  z-index: 0;
  font-family: Georgia, serif;
  color: #bde5bd;
  line-height: 1;
  font-size: 76px;
  pointer-events: none;
}
#pl-gaiheki02 .pl-gaiheki02__quotation--left { left: 10px; top: -2px; }
#pl-gaiheki02 .pl-gaiheki02__quotation--right { right: 9px; bottom: -38px; }

/* タブレット */
@media screen and (max-width: 1100px) and (min-width: 768px) {
  #pl-gaiheki02 .pl-gaiheki02__card-body { gap: 10px; padding: 18px 12px; }
  #pl-gaiheki02 .pl-gaiheki02__icon { flex-basis: 48px; width: 48px; height: 48px; }
  #pl-gaiheki02 .pl-gaiheki02__icon svg { width: 28px; height: 28px; }
  #pl-gaiheki02 .pl-gaiheki02__card-copy h3 { font-size: 16px !important; }
  #pl-gaiheki02 .pl-gaiheki02__card-copy p { font-size: 14px; }
  #pl-gaiheki02 .pl-gaiheki02__message { padding-left: 200px; padding-right: 22px; }
}

/* スマホ */
@media screen and (max-width: 767px) {
  #pl-gaiheki02.pl-gaiheki02 {
    padding: 44px 16px 52px !important;
  }
  #pl-gaiheki02.pl-gaiheki02::before,
  #pl-gaiheki02.pl-gaiheki02::after {
    width: 200px;
    height: 170px;
    background-size: 440px 294px;
    opacity: .46;
  }
  #pl-gaiheki02 .pl-gaiheki02__heading { margin-bottom: 25px; }
  #pl-gaiheki02 .pl-gaiheki02__eyebrow { font-size: 13px; padding: 7px 17px !important; }
  #pl-gaiheki02 .pl-gaiheki02__eyebrow svg { width: 18px; height: 18px; flex-basis: 18px; }
  #pl-gaiheki02 #pl-gaiheki02-title { font-size: clamp(29px, 8.1vw, 38px) !important; margin: 13px 0 !important; }
  #pl-gaiheki02 .pl-gaiheki02__catch { font-size: clamp(17px, 4.45vw, 20px); margin-bottom: 13px !important; }
  #pl-gaiheki02 .pl-gaiheki02__lead { font-size: 14px; line-height: 1.9; text-align: left; }
  #pl-gaiheki02 .pl-gaiheki02__pc { display: none; }
  #pl-gaiheki02 .pl-gaiheki02__cards { grid-template-columns: 1fr; gap: 16px; }
  #pl-gaiheki02 .pl-gaiheki02__card { border-radius: 21px; padding: 5px; }
  #pl-gaiheki02 .pl-gaiheki02__photo { height: auto; aspect-ratio: 2.45 / 1; border-radius: 16px 16px 8px 8px; }
  #pl-gaiheki02 .pl-gaiheki02__number { width: 64px; height: 58px; padding: 8px 0 0 11px; font-size: 25px; }
  #pl-gaiheki02 .pl-gaiheki02__card-body { gap: 14px; padding: 17px 13px 20px; }
  #pl-gaiheki02 .pl-gaiheki02__icon { flex-basis: 53px; width: 53px; height: 53px; }
  #pl-gaiheki02 .pl-gaiheki02__icon svg { width: 29px; height: 29px; }
  #pl-gaiheki02 .pl-gaiheki02__card-copy h3 { font-size: clamp(17px, 4.5vw, 20px) !important; }
  #pl-gaiheki02 .pl-gaiheki02__card-copy p { font-size: 14px; margin-top: 13px !important; line-height: 1.8; }
  #pl-gaiheki02 .pl-gaiheki02__message {
    margin-top: 20px;
    min-height: 0;
    padding: 24px 15px 24px;
    border-radius: 21px;
    align-items: center;
    text-align: center;
  }
  /* モバイルは引用文の読みやすさを優先（住宅装飾はPCで使用） */
  #pl-gaiheki02 .pl-gaiheki02__message-art { display: none; }
  #pl-gaiheki02 .pl-gaiheki02__message-label { align-self: center; font-size: 12px; margin-bottom: 10px !important; }
  #pl-gaiheki02 .pl-gaiheki02__message-copy { width: 100%; padding: 18px 10px; box-sizing: border-box; }
  #pl-gaiheki02 .pl-gaiheki02__message-copy p { font-size: 14px; line-height: 1.85; }
  #pl-gaiheki02 .pl-gaiheki02__message-copy strong { font-size: 17px; margin-top: 8px; line-height: 1.6; }
  #pl-gaiheki02 .pl-gaiheki02__quotation { font-size: 44px; }
  #pl-gaiheki02 .pl-gaiheki02__quotation--left { left: -4px; top: -4px; }
  #pl-gaiheki02 .pl-gaiheki02__quotation--right { right: 0; bottom: -23px; }
}

@media (prefers-reduced-motion: reduce) {
  #pl-gaiheki02 * { scroll-behavior: auto !important; }
}
/* ============================================================
   ペイントリーフ大阪 / 外壁塗装 SECTION 02
   SECTION 01ヘッダー（最大幅1200px）と横幅を統一し、
   SECTION 01とSECTION 02の間に余白を設ける修正CSS

   貼り付け先：Cocoon子テーマ style.css の一番下
   SECTION 02のHTMLと既存CSSは変更不要です。
   /gaiheki-tosou/ のSECTION 02だけを対象にします。
============================================================ */

/* PC・タブレット：セクション全体をヘッダーと同じ幅で中央揃え */
@media screen and (min-width: 768px) {
  body.page:has(.pl-gaiheki01) #pl-gaiheki02.pl-gaiheki02 {
    left: auto !important;
    width: min(1200px, 100%) !important;
    max-width: 1200px !important;
    margin: 36px auto 0 !important;
    padding: 58px 30px 66px !important;
  }

  body.page:has(.pl-gaiheki01) #pl-gaiheki02 .pl-gaiheki02__inner {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* スマホ：ヘッダーと同じ画面幅、間に小さな余白 */
@media screen and (max-width: 767px) {
  body.page:has(.pl-gaiheki01) #pl-gaiheki02.pl-gaiheki02 {
    left: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 24px auto 0 !important;
    padding: 44px 16px 52px !important;
  }

  body.page:has(.pl-gaiheki01) #pl-gaiheki02 .pl-gaiheki02__inner {
    width: 100% !important;
    max-width: 100% !important;
  }
}
/* ============================================================
  ペイントリーフ大阪｜外壁塗装 SECTION 03
  モルタル壁の塗装工程・8工程（承認デザイン）
  貼り付け先：Cocoon子テーマ style.css 最下部
  適用：#pl-gaiheki03 内のみ。SECTION 01・02や他ページに影響なし。
============================================================ */
#pl-gaiheki03.pl-gaiheki03 {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  isolation: isolate;
  width: min(1200px, calc(100vw - 40px));
  max-width: none;
  margin: 36px 0 0 !important;
  padding: 56px 30px 48px !important;
  overflow: hidden;
  box-sizing: border-box;
  color: #26372e;
  background:
    radial-gradient(ellipse at 0% 12%, rgba(195,232,180,.47), transparent 40%),
    radial-gradient(ellipse at 100% 95%, rgba(210,242,205,.64), transparent 40%),
    linear-gradient(170deg,#fff 0%,#f9fdf9 62%,#f1f9f1 100%);
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  border-radius: 16px;
}
#pl-gaiheki03.pl-gaiheki03::before,
#pl-gaiheki03.pl-gaiheki03::after {
  content:"";
  position:absolute;
  z-index:-1;
  pointer-events:none;
  opacity:.44;
  width:190px;
  height:165px;
  background-image:url("https://paintleaf-osaka.com/wp-content/uploads/2026/10/paintleaf-osaka-gaiheki-section02-leaf-decoration.webp");
  background-size:450px 300px;
  background-repeat:no-repeat;
}
#pl-gaiheki03.pl-gaiheki03::before { left:0; top:0; background-position:left top; }
#pl-gaiheki03.pl-gaiheki03::after { right:0; bottom:0; background-position:right bottom; }
#pl-gaiheki03 .pl-gaiheki03__inner { position:relative; z-index:1; width:100%; max-width:1140px; margin:0 auto; box-sizing:border-box; }

/* Cocoonデフォルトのh2/h3装飾をこのSECTIONだけ無効化 */
#pl-gaiheki03 h2, #pl-gaiheki03 h3 {
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  text-shadow:none !important;
}
#pl-gaiheki03 h2::before,#pl-gaiheki03 h2::after,
#pl-gaiheki03 h3::before,#pl-gaiheki03 h3::after { content:none !important; display:none !important; }
#pl-gaiheki03 p { margin:0 !important; padding:0 !important; }

#pl-gaiheki03 .pl-gaiheki03__heading { max-width:1000px; margin:0 auto 30px; text-align:center; }
#pl-gaiheki03 .pl-gaiheki03__en {
  display:inline-block;
  padding:8px 24px;
  background:linear-gradient(105deg,#006637,#078444);
  border-radius:50px;
  color:#fff;
  font-size:13px;
  font-weight:800;
  letter-spacing:.16em;
  line-height:1.4;
}
#pl-gaiheki03 #pl-gaiheki03-title {
  margin:18px 0 14px !important;
  color:#00692e;
  font-size:clamp(30px,3.7vw,50px);
  line-height:1.28;
  font-weight:900;
  letter-spacing:.02em;
}
#pl-gaiheki03 #pl-gaiheki03-title span { color:#21322b; }
#pl-gaiheki03 .pl-gaiheki03__catch {
  color:#20382b;
  font-size:clamp(16px,2vw,23px);
  line-height:1.5;
  font-weight:800;
  margin-bottom:13px !important;
}
#pl-gaiheki03 .pl-gaiheki03__intro {
  max-width:960px;
  margin:0 auto !important;
  font-size:15px;
  line-height:1.95;
}

#pl-gaiheki03 .pl-gaiheki03__steps {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px 18px;
}
#pl-gaiheki03 .pl-gaiheki03__card {
  position:relative;
  min-width:0;
  overflow:visible;
  border-radius:15px;
  background:#fff;
  border:1px solid #dceada;
  box-shadow:0 8px 20px rgba(17,95,55,.065);
}
#pl-gaiheki03 .pl-gaiheki03__card:not(:nth-child(4n))::after {
  content:"";
  position:absolute;
  z-index:2;
  top:105px;
  right:-16px;
  width:0;
  height:0;
  border-top:10px solid transparent;
  border-bottom:10px solid transparent;
  border-left:10px solid #9fce75;
  pointer-events:none;
}
#pl-gaiheki03 .pl-gaiheki03__photo {
  position:relative;
  width:100%;
  aspect-ratio:1.55;
  overflow:hidden;
  border-radius:14px 14px 0 0;
  background:#e5efe6;
}
#pl-gaiheki03 .pl-gaiheki03__photo img {
  display:block;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:cover;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}
#pl-gaiheki03 .pl-gaiheki03__number {
  position:absolute;
  top:0;
  left:0;
  display:flex;
  align-items:center;
  justify-content:center;
  width:56px;
  height:49px;
  padding:0;
  border-radius:14px 0 25px 0;
  color:#fff;
  background:linear-gradient(135deg,#65aa30,#04793c);
  font-family:Georgia,serif;
  font-size:26px;
  font-weight:800;
  font-style:italic;
  line-height:1;
}
#pl-gaiheki03 .pl-gaiheki03__body {
  position:relative;
  box-sizing:border-box;
  padding:18px 16px 23px;
  min-height:176px;
}
#pl-gaiheki03 .pl-gaiheki03__icon {
  display:flex;
  align-items:center;
  justify-content:center;
  width:39px;
  height:39px;
  margin:0 0 10px;
  border-radius:50%;
  color:#047538;
  background:#eaf8e8;
}
#pl-gaiheki03 .pl-gaiheki03__icon svg { width:23px; height:23px; }
#pl-gaiheki03 .pl-gaiheki03__body h3 {
  padding-bottom:8px !important;
  margin-bottom:7px !important;
  position:relative;
  color:#006532;
  font-size:17px;
  font-weight:850;
  line-height:1.45;
}
#pl-gaiheki03 .pl-gaiheki03__body h3::after {
  content:"" !important;
  display:block !important;
  position:absolute;
  width:56px;
  height:3px;
  background:#b9df88;
  bottom:1px;
  left:0;
  border-radius:4px;
}
#pl-gaiheki03 .pl-gaiheki03__body p { font-size:13px; line-height:1.75; color:#34423a; }

#pl-gaiheki03 .pl-gaiheki03__note {
  position:relative;
  margin:26px auto 0;
  padding:24px 18px 19px;
  border:2px solid #dbedc9;
  border-radius:16px;
  background:rgba(255,255,255,.91);
  text-align:center;
  box-shadow:0 6px 20px rgba(40,93,45,.05);
}
#pl-gaiheki03 .pl-gaiheki03__note-label {
  position:relative;
  display:inline-block;
  margin:0 auto 12px;
  padding:6px 22px;
  color:white;
  background:#f18b14;
  border-radius:30px;
  font-size:13px;
  line-height:1.4;
  font-weight:800;
}
#pl-gaiheki03 .pl-gaiheki03__note p {
  font-size:clamp(17px,2vw,23px);
  font-weight:800;
  line-height:1.65;
  color:#28382f;
}
#pl-gaiheki03 .pl-gaiheki03__note p span { color:#05753c; }

@media screen and (max-width: 1050px) and (min-width:641px) {
  #pl-gaiheki03 .pl-gaiheki03__steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #pl-gaiheki03 .pl-gaiheki03__card::after { display:none; }
  #pl-gaiheki03 .pl-gaiheki03__body { min-height:142px; }
}
@media screen and (max-width:640px) {
  #pl-gaiheki03.pl-gaiheki03 {
    width:100vw;
    padding:42px 17px 48px !important;
    margin-top:24px !important;
    border-radius:0;
  }
  #pl-gaiheki03.pl-gaiheki03::before,
  #pl-gaiheki03.pl-gaiheki03::after { width:125px; height:110px; opacity:.25; background-size:290px 190px; }
  #pl-gaiheki03 .pl-gaiheki03__heading { margin-bottom:23px; }
  #pl-gaiheki03 .pl-gaiheki03__en { font-size:10px; padding:7px 14px; }
  #pl-gaiheki03 #pl-gaiheki03-title { font-size:clamp(27px,8vw,34px); margin:16px 0 12px !important; }
  #pl-gaiheki03 .pl-gaiheki03__catch { font-size:17px; margin-bottom:10px !important; }
  #pl-gaiheki03 .pl-gaiheki03__intro { font-size:14px; line-height:1.85; text-align:left; }
  #pl-gaiheki03 .pl-gaiheki03__pc { display:none; }
  #pl-gaiheki03 .pl-gaiheki03__steps { grid-template-columns:minmax(0,1fr); gap:14px; }
  #pl-gaiheki03 .pl-gaiheki03__card::after { display:none; }
  #pl-gaiheki03 .pl-gaiheki03__photo { aspect-ratio:1.85; }
  #pl-gaiheki03 .pl-gaiheki03__body { padding:16px 17px 19px; min-height:0; }
  #pl-gaiheki03 .pl-gaiheki03__icon { position:absolute; top:14px; left:17px; width:34px; height:34px; margin:0; }
  #pl-gaiheki03 .pl-gaiheki03__icon svg { width:20px; height:20px; }
  #pl-gaiheki03 .pl-gaiheki03__body h3 { padding-left:45px !important; min-height:30px; display:flex; align-items:center; font-size:17px; }
  #pl-gaiheki03 .pl-gaiheki03__body h3::after { left:45px; }
  #pl-gaiheki03 .pl-gaiheki03__body p { font-size:14px; }
  #pl-gaiheki03 .pl-gaiheki03__note { margin-top:20px; padding:23px 17px 20px; }
  #pl-gaiheki03 .pl-gaiheki03__note-label { margin-bottom:9px; }
  #pl-gaiheki03 .pl-gaiheki03__note p { font-size:17px; }
}
/* =============================================================
 ペイントリーフ大阪｜外壁塗装ページ SECTION 04
 サイディング壁の塗装工程（シーリング5工程＋全9工程）
 Cocoon子テーマ style.css の末尾に追加
 #pl-gaiheki04 の内部のみ適用。SECTION01～03への変更なし。
 ============================================================= */
#pl-gaiheki04.pl-gaiheki04 {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  isolation: isolate;
  width: min(1200px, calc(100vw - 40px));
  max-width: none;
  margin: 36px 0 0 !important;
  padding: 0 0 34px !important;
  overflow: hidden;
  border-radius: 17px;
  box-sizing: border-box;
  background: linear-gradient(155deg,#fcfffb 0%,#f2f9f2 56%,#f8fcf6 100%);
  color: #28382f;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
}
#pl-gaiheki04 *,#pl-gaiheki04 *::before,#pl-gaiheki04 *::after {box-sizing: border-box;}
#pl-gaiheki04 h2,#pl-gaiheki04 h3,#pl-gaiheki04 h4 {
  margin: 0 !important; padding: 0 !important;
  border: 0 !important; border-radius: 0 !important;
  background: transparent !important; box-shadow: none !important;
  text-shadow: none !important;
}
#pl-gaiheki04 h2::before,#pl-gaiheki04 h2::after,
#pl-gaiheki04 h3::before,#pl-gaiheki04 h3::after,
#pl-gaiheki04 h4::before,#pl-gaiheki04 h4::after {content: none !important; display: none !important;}
#pl-gaiheki04 p {margin: 0 !important; padding: 0 !important;}
#pl-gaiheki04 img {display:block; margin:0 !important; padding:0 !important; max-width:none !important; border:0 !important;}
#pl-gaiheki04 .pl-gaiheki04__inner {position:relative; width:100%; max-width:none; margin:0 auto;}

/* 上部：テキストとサイディング住宅写真 */
#pl-gaiheki04 .pl-gaiheki04__hero {
  display:grid; grid-template-columns: minmax(0,1.08fr) minmax(0,0.92fr);
  gap:24px; min-height:350px; align-items:center;
  background: radial-gradient(ellipse at 5% 7%,#e8f8e3 0%,transparent 47%),
              linear-gradient(100deg,#fff 34%,#e9f6e8 100%);
}
/* SECTION 02でアップロード済みの葉装飾を、控えめに再利用 */
#pl-gaiheki04 .pl-gaiheki04__hero {position:relative;}
#pl-gaiheki04 .pl-gaiheki04__hero::before {
  content:"";position:absolute;pointer-events:none;left:0;top:0;width:103px;height:78px;
  background:url("https://paintleaf-osaka.com/wp-content/uploads/2026/10/paintleaf-osaka-gaiheki-section02-leaf-decoration.webp") no-repeat left top/320px 214px;
  opacity:.22;
}
#pl-gaiheki04 .pl-gaiheki04__hero-copy {padding:45px 0 43px 43px; z-index:2;}
#pl-gaiheki04 .pl-gaiheki04__eyebrow {
  display:inline-flex; align-items:center; gap:8px;
  max-width:100%; border-radius:100px; padding:9px 20px;
  background:#0c7542; color:#fff; font-size:11px; line-height:1.4;
  font-weight:800; letter-spacing:.12em;
}
#pl-gaiheki04 .pl-gaiheki04__eyebrow span {opacity:.6;}
#pl-gaiheki04 #pl-gaiheki04-title {
  margin:17px 0 0 !important; color:#086b37;
  font-size:clamp(30px,4vw,47px); line-height:1.3; letter-spacing:.025em;
  font-weight:900;
}
#pl-gaiheki04 #pl-gaiheki04-title span {font-size:.72em; color:#24382b;}
#pl-gaiheki04 .pl-gaiheki04__hero-line {display:block;width:124px;height:5px;margin:14px 0 18px; border-radius:10px;background:#b2dc7f;}
#pl-gaiheki04 .pl-gaiheki04__hero-lead {font-size:clamp(17px,2.1vw,23px);line-height:1.5;font-weight:900;letter-spacing:.035em;color:#193c28;}
#pl-gaiheki04 .pl-gaiheki04__hero-text {margin-top:14px !important;font-size:14px;line-height:1.95;max-width:510px;}
#pl-gaiheki04 .pl-gaiheki04__hero-visual {position:relative;align-self:stretch;min-height:330px;overflow:hidden;border-radius:170px 0 0 180px;border-left:7px solid #e4f3df;}
#pl-gaiheki04 .pl-gaiheki04__hero-visual img {width:100% !important;height:100% !important;object-fit:cover;object-position:50% 50%;}
#pl-gaiheki04 .pl-gaiheki04__hero-chip {position:absolute;right:20px;bottom:20px;display:inline-block;max-width:calc(100% - 35px);border-radius:60px;padding:9px 16px;background:rgba(255,255,255,.96);color:#087345;box-shadow:0 4px 20px rgba(4,60,32,.14);font-size:12px;font-weight:850;}

/* メイン：シーリング打ち替えを大きく紹介 */
#pl-gaiheki04 .pl-gaiheki04__sealing {
  position:relative; margin:28px 27px 0; padding:27px 23px 21px;
  border:2px solid #b8dda9;border-radius:18px;background:#fff;
  box-shadow:0 12px 28px rgba(21,100,51,.085);
}
#pl-gaiheki04 .pl-gaiheki04__sealing-head {display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:24px;align-items:center;margin-bottom:22px;}
#pl-gaiheki04 .pl-gaiheki04__sealing-kicker {display:inline-block;margin-bottom:9px;padding:6px 14px;border-radius:30px;background:#f58b19;color:#fff;font-size:12px;font-weight:800;}
#pl-gaiheki04 #pl-gaiheki04-sealing-title {color:#125e39;font-size:clamp(23px,2.6vw,32px);font-weight:900;line-height:1.45;}
#pl-gaiheki04 #pl-gaiheki04-sealing-title span {color:#e47608;}
#pl-gaiheki04 .pl-gaiheki04__sealing-title-wrap>p {margin-top:10px !important;font-size:14px;line-height:1.9;}
#pl-gaiheki04 .pl-gaiheki04__sealing-price {padding:15px 16px;background:#fff9f1;border:2px solid #f19227;border-radius:13px;}
#pl-gaiheki04 .pl-gaiheki04__sealing-price strong {display:block;color:#bb4f00;font-size:16px;line-height:1.6;font-weight:850;}
#pl-gaiheki04 .pl-gaiheki04__sealing-price span {display:block;margin-top:6px;color:#5d5349;font-size:11px;line-height:1.65;}
#pl-gaiheki04 .pl-gaiheki04__sealing-steps {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;list-style:none;margin:0 !important;padding:0 !important;}
#pl-gaiheki04 .pl-gaiheki04__sealing-step {position:relative;min-width:0;margin:0 !important;padding:0 !important;overflow:visible;background:#f7fbf5;border:1px solid #daead6;border-radius:11px;}
#pl-gaiheki04 .pl-gaiheki04__sealing-step:not(:last-child)::after {content:"";position:absolute;right:-11px;top:62px;z-index:3;border-left:9px solid #8cc857;border-top:9px solid transparent;border-bottom:9px solid transparent;}
#pl-gaiheki04 .pl-gaiheki04__sealing-photo {position:relative;width:100%;aspect-ratio:1.58;overflow:hidden;border-radius:10px 10px 0 0;background:#e9eee6;}
#pl-gaiheki04 .pl-gaiheki04__sealing-photo img {width:100% !important;height:100% !important;object-fit:cover;}
#pl-gaiheki04 .pl-gaiheki04__sealing-num {position:absolute;top:8px;left:8px;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#097342;border:2px solid #fff;color:#fff;font:800 14px/1 Arial,sans-serif;box-shadow:0 2px 7px rgba(0,0,0,.13);}
#pl-gaiheki04 .pl-gaiheki04__sealing-step-body {padding:13px 11px 15px;}
#pl-gaiheki04 .pl-gaiheki04__sealing-step-body h4 {color:#075c34;font-size:14px;font-weight:850;line-height:1.5;}
#pl-gaiheki04 .pl-gaiheki04__sealing-step-body p {margin-top:6px !important;color:#46564a;font-size:12px;line-height:1.75;}
#pl-gaiheki04 .pl-gaiheki04__sealing-footnote {margin-top:14px !important;color:#59695c;font-size:11.5px;line-height:1.8;}

/* 工程一覧：PCは4枚＋5枚で変化をつける */
#pl-gaiheki04 .pl-gaiheki04__process {margin:36px 27px 0;}
#pl-gaiheki04 .pl-gaiheki04__process-heading {display:flex;align-items:end;justify-content:space-between;gap:22px;margin:0 0 19px;}
#pl-gaiheki04 .pl-gaiheki04__process-kicker {display:block;margin-bottom:3px;font-size:11px;letter-spacing:.18em;font-weight:900;color:#0c7845;}
#pl-gaiheki04 #pl-gaiheki04-process-title {font-size:clamp(21px,2.6vw,30px);line-height:1.4;font-weight:900;color:#0b6f3d;}
#pl-gaiheki04 #pl-gaiheki04-process-title span {color:#e38114;}
#pl-gaiheki04 .pl-gaiheki04__process-heading>p {padding-bottom:2px !important;max-width:400px;font-size:13px;line-height:1.8;}
#pl-gaiheki04 .pl-gaiheki04__process-row {display:grid;gap:15px;margin-bottom:16px;}
#pl-gaiheki04 .pl-gaiheki04__process-row--four {grid-template-columns:repeat(4,minmax(0,1fr));}
#pl-gaiheki04 .pl-gaiheki04__process-row--five {grid-template-columns:repeat(5,minmax(0,1fr));}
#pl-gaiheki04 .pl-gaiheki04__process-card {min-width:0;overflow:hidden;background:#fff;border:1px solid #d9ead7;border-radius:12px;box-shadow:0 4px 12px rgba(10,93,48,.042);}
#pl-gaiheki04 .pl-gaiheki04__process-card--sealing {border:2px solid #f1a54b;}
#pl-gaiheki04 .pl-gaiheki04__process-photo {position:relative;aspect-ratio:1.85;overflow:hidden;background:#dce8de;}
#pl-gaiheki04 .pl-gaiheki04__process-photo img {width:100% !important;height:100% !important;object-fit:cover;}
#pl-gaiheki04 .pl-gaiheki04__process-photo span {position:absolute;top:8px;left:8px;display:grid;place-items:center;width:39px;height:39px;border-radius:50%;color:#fff;background:#087642;border:2px solid #fff;font:900 16px/1 Arial,sans-serif;}
#pl-gaiheki04 .pl-gaiheki04__process-card--sealing .pl-gaiheki04__process-photo span {background:#e88617;}
#pl-gaiheki04 .pl-gaiheki04__process-body {padding:13px 12px 16px;}
#pl-gaiheki04 .pl-gaiheki04__process-body h4 {font-size:15px;color:#075f35;font-weight:850;line-height:1.55;}
#pl-gaiheki04 .pl-gaiheki04__process-card--sealing h4 {color:#d26b0b;}
#pl-gaiheki04 .pl-gaiheki04__process-body p {margin-top:7px !important;color:#4c594f;font-size:12.5px;line-height:1.75;}
#pl-gaiheki04 .pl-gaiheki04__process-body b {color:#c86b0e;}
#pl-gaiheki04 .pl-gaiheki04__process-caution {display:flex;align-items:start;gap:9px;margin-top:20px;padding:14px 17px;background:#ecf5eb;border-left:3px solid #8ebf8a;border-radius:8px;}
#pl-gaiheki04 .pl-gaiheki04__process-caution-mark {color:#167746;font-weight:900;font-size:16px;line-height:1.6;}
#pl-gaiheki04 .pl-gaiheki04__process-caution p {font-size:12px;line-height:1.85;color:#425246;}
#pl-gaiheki04 .pl-gaiheki04__photo-note {margin:10px 0 0 !important;color:#67736b;font-size:11px;line-height:1.7;}
#pl-gaiheki04 .pl-gaiheki04__closing {margin:27px 27px 0;padding:21px 20px;text-align:center;border-radius:13px;border:1px solid #d8e9c8;background:linear-gradient(97deg,rgba(217,242,204,.75),rgba(255,255,255,.94) 49%,rgba(223,243,211,.75));}
#pl-gaiheki04 .pl-gaiheki04__closing {position:relative;overflow:hidden;}
#pl-gaiheki04 .pl-gaiheki04__closing::after {
  content:"";position:absolute;pointer-events:none;right:0;bottom:0;width:130px;height:78px;
  background:url("https://paintleaf-osaka.com/wp-content/uploads/2026/10/paintleaf-osaka-gaiheki-section02-leaf-decoration.webp") no-repeat right bottom/320px 214px;
  opacity:.30;
}
#pl-gaiheki04 .pl-gaiheki04__closing span {position:relative;z-index:1;}
#pl-gaiheki04 .pl-gaiheki04__closing span {color:#116539;font-size:clamp(16px,2.2vw,22px);font-weight:900;line-height:1.6;}

/* タブレット */
@media screen and (min-width:641px) and (max-width:1050px) {
  #pl-gaiheki04 .pl-gaiheki04__hero-copy {padding:35px 0 35px 29px;}
  #pl-gaiheki04 .pl-gaiheki04__hero-visual {min-height:320px;}
  #pl-gaiheki04 .pl-gaiheki04__sealing-head {grid-template-columns: minmax(0,1fr) 205px;gap:16px;}
  #pl-gaiheki04 .pl-gaiheki04__sealing-steps {grid-template-columns:repeat(3,minmax(0,1fr));}
  #pl-gaiheki04 .pl-gaiheki04__sealing-step::after {display:none;}
  #pl-gaiheki04 .pl-gaiheki04__process-row--four,#pl-gaiheki04 .pl-gaiheki04__process-row--five {grid-template-columns:repeat(2,minmax(0,1fr));}
  #pl-gaiheki04 .pl-gaiheki04__process-card {display:grid;grid-template-columns:130px minmax(0,1fr);align-items:stretch;}
  #pl-gaiheki04 .pl-gaiheki04__process-photo {aspect-ratio:auto;height:100%;min-height:142px;}
}
/* スマホ：横スクロールさせず、全文と写真が読める配置 */
@media screen and (max-width:640px) {
  #pl-gaiheki04.pl-gaiheki04 {width:100vw;margin-top:24px !important;border-radius:0;padding-bottom:29px !important;}
  #pl-gaiheki04 .pl-gaiheki04__hero {display:flex;flex-direction:column-reverse;gap:0;min-height:0;background:linear-gradient(170deg,#e7f7e6,#fff 46%);}
  #pl-gaiheki04 .pl-gaiheki04__hero-visual {width:100%;height:auto;min-height:0;aspect-ratio:16/9;border-radius:0 0 35px 35px;border-left:0;border-bottom:5px solid #e5f2de;}
  #pl-gaiheki04 .pl-gaiheki04__hero-copy {width:100%;padding:26px 19px 27px;}
  #pl-gaiheki04 .pl-gaiheki04__eyebrow {font-size:9px;padding:7px 13px;}
  #pl-gaiheki04 #pl-gaiheki04-title {margin-top:13px !important;font-size:clamp(30px,8.1vw,37px);line-height:1.23;}
  #pl-gaiheki04 .pl-gaiheki04__hero-line {margin:12px 0 14px;width:94px;height:4px;}
  #pl-gaiheki04 .pl-gaiheki04__hero-lead {font-size:18px;}
  #pl-gaiheki04 .pl-gaiheki04__hero-text {margin-top:10px !important;font-size:13px;line-height:1.85;}
  #pl-gaiheki04 .pl-gaiheki04__hero-chip {right:10px;bottom:10px;font-size:10px;padding:6px 10px;}
  #pl-gaiheki04 .pl-gaiheki04__sealing {margin:5px 14px 0;padding:19px 14px 17px;border-radius:15px;}
  #pl-gaiheki04 .pl-gaiheki04__sealing-head {display:flex;flex-direction:column;align-items:stretch;gap:14px;margin-bottom:17px;}
  #pl-gaiheki04 .pl-gaiheki04__sealing-kicker {font-size:11px;padding:5px 11px;}
  #pl-gaiheki04 #pl-gaiheki04-sealing-title {font-size:24px;line-height:1.4;}
  #pl-gaiheki04 .pl-gaiheki04__sealing-title-wrap>p {font-size:13px;line-height:1.85;margin-top:8px !important;}
  #pl-gaiheki04 .pl-gaiheki04__sealing-price {padding:11px 12px;}
  #pl-gaiheki04 .pl-gaiheki04__sealing-price strong {font-size:14px;}
  #pl-gaiheki04 .pl-gaiheki04__sealing-price strong br {display:none;}
  #pl-gaiheki04 .pl-gaiheki04__sealing-price span {font-size:11px;}
  #pl-gaiheki04 .pl-gaiheki04__sealing-steps {grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;}
  #pl-gaiheki04 .pl-gaiheki04__sealing-step::after {display:none;}
  #pl-gaiheki04 .pl-gaiheki04__sealing-photo {aspect-ratio:1.45;}
  #pl-gaiheki04 .pl-gaiheki04__sealing-num {width:29px;height:29px;font-size:12px;top:5px;left:5px;}
  #pl-gaiheki04 .pl-gaiheki04__sealing-step-body {padding:10px 9px 12px;}
  #pl-gaiheki04 .pl-gaiheki04__sealing-step-body h4 {font-size:12.5px;line-height:1.5;}
  #pl-gaiheki04 .pl-gaiheki04__sealing-step-body p {font-size:11.5px;line-height:1.7;}
  #pl-gaiheki04 .pl-gaiheki04__sealing-footnote {font-size:11px;line-height:1.8;}
  #pl-gaiheki04 .pl-gaiheki04__process {margin:32px 14px 0;}
  #pl-gaiheki04 .pl-gaiheki04__process-heading {display:block;margin-bottom:16px;}
  #pl-gaiheki04 .pl-gaiheki04__process-kicker {font-size:10px;}
  #pl-gaiheki04 #pl-gaiheki04-process-title {font-size:24px;}
  #pl-gaiheki04 .pl-gaiheki04__process-heading>p {font-size:12.5px;margin-top:7px !important;}
  #pl-gaiheki04 .pl-gaiheki04__process-row--four,#pl-gaiheki04 .pl-gaiheki04__process-row--five {grid-template-columns: minmax(0,1fr);gap:11px;margin-bottom:11px;}
  #pl-gaiheki04 .pl-gaiheki04__process-card {display:grid;grid-template-columns: 118px minmax(0,1fr);min-height:118px;}
  #pl-gaiheki04 .pl-gaiheki04__process-photo {height:100%;min-height:118px;aspect-ratio:auto;}
  #pl-gaiheki04 .pl-gaiheki04__process-photo span {width:33px;height:33px;font-size:13px;top:5px;left:5px;}
  #pl-gaiheki04 .pl-gaiheki04__process-body {padding:12px 10px;}
  #pl-gaiheki04 .pl-gaiheki04__process-body h4 {font-size:14px;line-height:1.4;}
  #pl-gaiheki04 .pl-gaiheki04__process-body p {font-size:12px;margin-top:6px !important;line-height:1.7;}
  #pl-gaiheki04 .pl-gaiheki04__process-caution {margin-top:15px;padding:12px;}
  #pl-gaiheki04 .pl-gaiheki04__process-caution p {font-size:11px;}
  #pl-gaiheki04 .pl-gaiheki04__closing {margin:22px 14px 0;padding:16px 12px;}
  #pl-gaiheki04 .pl-gaiheki04__closing span {font-size:16px;}
}
@media screen and (max-width:350px) {
  #pl-gaiheki04 .pl-gaiheki04__sealing-steps {grid-template-columns:minmax(0,1fr);}
  #pl-gaiheki04 .pl-gaiheki04__process-card {grid-template-columns: 102px minmax(0,1fr);}
  #pl-gaiheki04 .pl-gaiheki04__process-body h4 {font-size:13px;}
}
/* ==========================================================
 ペイントリーフ大阪 外壁塗装 SECTION 05
 サイディングの多彩色・デザイン塗装
 Cocoon子テーマ style.cssの末尾に追加（1回だけ）
 #pl-gaiheki05 のみに作用し、SECTION01～04には干渉しません。
========================================================== */
#pl-gaiheki05.pl-gaiheki05{
  position:relative;left:50%;transform:translateX(-50%);
  isolation:isolate;width:min(1200px,calc(100vw - 40px));max-width:none;
  margin:36px 0 0 !important;padding:0 0 36px !important;
  overflow:hidden;border-radius:17px;box-sizing:border-box;
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-size:15px;line-height:1.75;color:#26372c;
  background:linear-gradient(180deg,#fbfffb 0%,#edf9ee 65%,#fefffb 100%);
}
#pl-gaiheki05 *,#pl-gaiheki05 *::before,#pl-gaiheki05 *::after{box-sizing:border-box;}
#pl-gaiheki05 .pl05-inner{position:relative;width:100%;max-width:none;margin:0 auto;}
#pl-gaiheki05 h2,#pl-gaiheki05 h3,#pl-gaiheki05 h4{
  margin:0 !important;padding:0 !important;border:0 !important;
  border-radius:0 !important;background:transparent !important;
  box-shadow:none !important;text-shadow:none !important;
}
#pl-gaiheki05 h2::before,#pl-gaiheki05 h2::after,
#pl-gaiheki05 h3::before,#pl-gaiheki05 h3::after,
#pl-gaiheki05 h4::before,#pl-gaiheki05 h4::after{content:none !important;display:none !important;}
#pl-gaiheki05 p,#pl-gaiheki05 figure{margin:0 !important;padding:0 !important;}
#pl-gaiheki05 img{display:block;width:100%;max-width:none !important;height:auto;margin:0 !important;padding:0 !important;border:0 !important;box-shadow:none !important;}
#pl-gaiheki05 svg{display:block;max-width:100%;}

/* ヒーロー：右側を大きな外観写真、左側をコピーに */
#pl-gaiheki05 .pl05-hero{
  position:relative;display:flex;align-items:center;min-height:525px;
  padding:34px 38px 29px 53px;
  background:radial-gradient(ellipse at 13% 92%,rgba(195,232,178,.32),transparent 60%);
}
#pl-gaiheki05 .pl05-hero-photo{position:absolute;z-index:0;right:0;top:0;bottom:0;width:51%;overflow:hidden;}
#pl-gaiheki05 .pl05-hero-photo img{width:100% !important;height:100% !important;object-fit:cover;object-position:47% center;}
#pl-gaiheki05 .pl05-hero-photo::before{
  content:"";position:absolute;z-index:1;inset:0;pointer-events:none;
  background:linear-gradient(90deg,#fbfffb 0%,rgba(251,255,251,.91) 8%,rgba(251,255,251,.27) 30%,transparent 56%),
             linear-gradient(0deg,#eef9ed 0%,transparent 18%);
}
#pl-gaiheki05 .pl05-hero::before{
  content:"";position:absolute;top:0;left:0;z-index:1;
  width:175px;height:72px;pointer-events:none;opacity:.70;
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 45%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 0%,#000 45%,transparent 100%);
  background:url("https://paintleaf-osaka.com/wp-content/uploads/2026/10/paintleaf-osaka-gaiheki-section02-leaf-decoration.webp") no-repeat left top/390px 257px;
}
#pl-gaiheki05 .pl05-hero-copy{position:relative;z-index:2;max-width:670px;width:60%;padding-top:0;}
#pl-gaiheki05 .pl05-section-number{
  display:flex;gap:15px;align-items:center;justify-content:center;
  max-width:430px;margin:0 0 7px 65px;color:#117340;
  font-family:Arial,sans-serif;font-weight:750;font-size:12px;letter-spacing:.24em;
}
#pl-gaiheki05 .pl05-section-number::before,#pl-gaiheki05 .pl05-section-number::after{content:"";width:64px;height:1px;background:#4fba77;}
#pl-gaiheki05 .pl05-kicker{
  display:table;margin:0 0 18px 88px !important;padding:7px 25px !important;
  color:#fff;background:linear-gradient(95deg,#319445,#006f37);
  border-radius:99px;font-weight:800;font-size:15px;line-height:1.4;letter-spacing:.035em;
}
#pl-gaiheki05 #pl-gaiheki05-title{
  position:relative;color:#28312c;
  font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(35px,4.45vw,58px);font-weight:900;letter-spacing:-.045em;line-height:1.24;
  white-space:nowrap;
}
#pl-gaiheki05 .pl05-title span,#pl-gaiheki05 .pl05-title em{display:block;}
#pl-gaiheki05 .pl05-title em{
  position:relative;z-index:0;width:max-content;max-width:100%;
  color:#14834b;font-style:normal;line-height:1.32;
}
#pl-gaiheki05 .pl05-title em::before{
  content:"";position:absolute;z-index:-1;left:-8px;right:-14px;bottom:5px;height:36%;
  background:linear-gradient(90deg,rgba(174,230,169,.45),rgba(187,232,175,.27) 87%,transparent);
  transform:skewX(-11deg);border-radius:70% 32% 18% 16%;
}
#pl-gaiheki05 .pl05-hero-lead{
  margin-top:15px !important;color:#916d3e;
  font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(22px,2.5vw,31px);font-weight:800;letter-spacing:-.01em;line-height:1.47;
}
#pl-gaiheki05 .pl05-hero-text{
  margin-top:14px !important;max-width:660px;color:#30392f;
  font-size:14px;line-height:1.86;font-weight:500;
  text-shadow:0 1px 0 rgba(255,255,255,.45);
}

/* 三つの特徴：工程カードとは違う横長の情報カード */
#pl-gaiheki05 .pl05-benefits{
  position:relative;z-index:3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;margin:-8px 30px 22px;
}
#pl-gaiheki05 .pl05-benefit{
  display:flex;align-items:center;gap:15px;min-width:0;padding:15px 15px;
  border-radius:13px;background:rgba(255,255,255,.97);
  border:1px solid rgba(225,240,219,.55);
  box-shadow:0 6px 24px rgba(34,99,54,.045);
}
#pl-gaiheki05 .pl05-benefit-icon{
  display:flex;align-items:center;justify-content:center;flex:0 0 82px;
  width:82px;height:82px;border-radius:50%;
  background:radial-gradient(circle at 35% 35%,#e5f6e3,#d6edd2);
  color:#3a832a;
}
#pl-gaiheki05 .pl05-benefit-icon svg{width:43px;height:43px;}
#pl-gaiheki05 .pl05-benefit-copy{min-width:0;}
#pl-gaiheki05 .pl05-benefit h3{color:#087344;font-size:17px;line-height:1.45;font-weight:850;letter-spacing:-.018em;}
#pl-gaiheki05 .pl05-benefit p{margin-top:6px !important;font-size:12.5px;line-height:1.6;color:#384239;}

/* 中段：質感写真2点＋4種の色見本 */
#pl-gaiheki05 .pl05-showcase{
  display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);
  gap:27px;align-items:stretch;padding:0 31px;
}
#pl-gaiheki05 .pl05-showcase-visual{
  display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,.75fr);
  gap:9px;min-width:0;height:325px;
}
#pl-gaiheki05 .pl05-detail-photo,#pl-gaiheki05 .pl05-real-photo{
  position:relative;min-width:0;min-height:0;overflow:hidden;
  border-radius:13px;background:#e5e6d9;
}
#pl-gaiheki05 .pl05-detail-photo img,#pl-gaiheki05 .pl05-real-photo img{
  width:100% !important;height:100% !important;object-fit:cover;
}
#pl-gaiheki05 .pl05-detail-photo img{object-position:50% 50%;}
#pl-gaiheki05 .pl05-real-photo img{object-position:center;}
#pl-gaiheki05 .pl05-photo-seal{
  position:absolute;top:13px;left:13px;display:flex;align-items:center;justify-content:center;
  width:110px;height:110px;border-radius:50%;padding:15px;text-align:center;
  background:#427d20;color:#fff;font-weight:850;font-size:16px;line-height:1.55;
  box-shadow:0 5px 14px rgba(18,67,14,.16);
}
#pl-gaiheki05 .pl05-real-photo span{
  position:absolute;bottom:9px;left:8px;right:8px;
  padding:5px 6px;border-radius:5px;text-align:center;
  font-size:11px;font-weight:800;color:#fff;background:rgba(26,88,42,.82);
}
#pl-gaiheki05 .pl05-showcase-copy{min-width:0;padding:3px 0 0;}
#pl-gaiheki05 .pl05-showcase-copy h3{
  color:#087944;font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(20px,2.05vw,27px);font-weight:900;line-height:1.5;
}
#pl-gaiheki05 .pl05-showcase-copy h3 span{
  background:linear-gradient(transparent 75%,rgba(215,235,139,.80) 75%);
}
#pl-gaiheki05 .pl05-showcase-copy>p:not(.pl05-samples-label){
  margin-top:10px !important;color:#313e34;font-size:14px;line-height:1.85;
}
#pl-gaiheki05 .pl05-samples-label{
  margin:16px 0 8px !important;color:#3c7348;font-size:11.5px;font-weight:800;
  letter-spacing:.07em;
}
#pl-gaiheki05 .pl05-samples{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;
}
#pl-gaiheki05 .pl05-sample{position:relative;min-width:0;overflow:hidden;border-radius:8px;background:#e5e7e1;}
#pl-gaiheki05 .pl05-sample img{width:100% !important;height:95px !important;object-fit:cover;}
#pl-gaiheki05 .pl05-sample figcaption{
  display:block;padding:4px 2px 5px;text-align:center;background:#fff;
  font-size:10.5px;color:#425145;font-weight:750;line-height:1.3;
}

/* 最下段：大切なメッセージ */
#pl-gaiheki05 .pl05-message{
  display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:25px;align-items:center;
  margin:23px 31px 0;padding:22px 24px;
  background:linear-gradient(105deg,#f6f5e9,#fffdf5 58%,#f7f7e9);
  border:1px solid #eef0e5;border-radius:16px;
}
#pl-gaiheki05 .pl05-message-catch{display:flex;align-items:center;gap:15px;min-width:0;}
#pl-gaiheki05 .pl05-message-catch svg{flex:0 0 60px;width:60px;height:60px;color:#b59b70;}
#pl-gaiheki05 .pl05-message-catch p{color:#8b6940;font-size:clamp(16px,1.75vw,21px);line-height:1.68;font-weight:900;}
#pl-gaiheki05 .pl05-message-catch strong{
  color:#227b37;font-weight:900;
  background:linear-gradient(transparent 76%,#edf18e 76%);
}
#pl-gaiheki05 .pl05-message-detail{padding-left:21px;border-left:1px solid #bea675;}
#pl-gaiheki05 .pl05-message-detail>p{font-size:13px;line-height:1.8;color:#3d443c;}
#pl-gaiheki05 .pl05-message-detail small{display:block;margin-top:8px;font-size:10px;line-height:1.65;color:#666a60;}

/* PC：1000～1199pxの文字や余白を調整 */
@media screen and (min-width:901px) and (max-width:1200px){
  #pl-gaiheki05 .pl05-hero{padding-left:35px;min-height:500px;}
  #pl-gaiheki05 .pl05-hero-copy{width:65%;}
  #pl-gaiheki05 #pl-gaiheki05-title{font-size:clamp(38px,4.4vw,53px);}
  #pl-gaiheki05 .pl05-benefit-icon{flex-basis:66px;width:66px;height:66px;}
  #pl-gaiheki05 .pl05-benefit-icon svg{width:36px;height:36px;}
  #pl-gaiheki05 .pl05-benefit{gap:11px;padding:13px 11px;}
  #pl-gaiheki05 .pl05-benefit h3{font-size:15px;}
  #pl-gaiheki05 .pl05-showcase{gap:20px;}
}

/* タブレット：縦積み */
@media screen and (min-width:641px) and (max-width:900px){
  #pl-gaiheki05 .pl05-hero{min-height:510px;padding:30px 25px;}
  #pl-gaiheki05 .pl05-hero-photo{width:62%;}
  #pl-gaiheki05 .pl05-hero-photo::before{background:linear-gradient(90deg,#fbfffb 0%,rgba(251,255,251,.94) 23%,rgba(251,255,251,.35) 72%,transparent 100%);}
  #pl-gaiheki05 .pl05-hero-copy{width:90%;max-width:660px;}
  #pl-gaiheki05 #pl-gaiheki05-title{font-size:clamp(35px,5.1vw,47px);}
  #pl-gaiheki05 .pl05-hero-text{max-width:580px;}
  #pl-gaiheki05 .pl05-benefits{margin:-4px 22px 24px;gap:8px;}
  #pl-gaiheki05 .pl05-benefit{flex-direction:column;text-align:center;padding:13px 7px;gap:6px;}
  #pl-gaiheki05 .pl05-benefit-icon{width:57px;height:57px;flex:0 0 57px;}
  #pl-gaiheki05 .pl05-benefit-icon svg{width:31px;height:31px;}
  #pl-gaiheki05 .pl05-benefit h3{font-size:13px;}
  #pl-gaiheki05 .pl05-benefit p{font-size:11px;}
  #pl-gaiheki05 .pl05-showcase{grid-template-columns:1fr;gap:21px;padding:0 22px;}
  #pl-gaiheki05 .pl05-showcase-visual{height:300px;}
  #pl-gaiheki05 .pl05-showcase-copy h3{font-size:25px;}
  #pl-gaiheki05 .pl05-sample img{height:125px !important;}
  #pl-gaiheki05 .pl05-message{grid-template-columns:1fr;gap:14px;margin:22px 22px 0;}
  #pl-gaiheki05 .pl05-message-detail{border-left:0;border-top:1px solid #bea675;padding:13px 0 0;}
}

/* スマートフォン */
@media screen and (max-width:640px){
  #pl-gaiheki05.pl-gaiheki05{
    width:calc(100vw - 24px);margin:27px 0 0 !important;padding:0 0 23px !important;
    border-radius:13px;
  }
  #pl-gaiheki05 .pl05-hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:24px 18px 0;}
  #pl-gaiheki05 .pl05-hero::before{width:90px;height:51px;background-size:190px 126px;opacity:.48;}
  #pl-gaiheki05 .pl05-hero-photo{
    order:2;position:relative;right:auto;top:auto;bottom:auto;
    width:calc(100% + 36px);height:218px;margin:21px -18px 0;
  }
  #pl-gaiheki05 .pl05-hero-photo::before{
    background:linear-gradient(180deg,#fbfffb,rgba(251,255,251,.05) 26%,transparent 52%,#f1faef 100%);
  }
  #pl-gaiheki05 .pl05-hero-photo img{object-position:50% 52%;}
  #pl-gaiheki05 .pl05-hero-copy{order:1;width:100%;max-width:none;}
  #pl-gaiheki05 .pl05-section-number{max-width:none;margin:0 auto 10px;font-size:10px;}
  #pl-gaiheki05 .pl05-section-number::before,#pl-gaiheki05 .pl05-section-number::after{width:43px;}
  #pl-gaiheki05 .pl05-kicker{margin:0 auto 17px !important;padding:7px 15px !important;font-size:12px;}
  #pl-gaiheki05 #pl-gaiheki05-title{font-size:clamp(26px,7.3vw,39px);letter-spacing:-.055em;line-height:1.35;white-space:normal;}
  #pl-gaiheki05 .pl05-title span{white-space:nowrap;}
  #pl-gaiheki05 .pl05-title em{white-space:nowrap;}
  #pl-gaiheki05 .pl05-hero-lead{margin-top:13px !important;font-size:clamp(18px,5.2vw,24px);line-height:1.55;}
  #pl-gaiheki05 .pl05-hero-text{margin-top:12px !important;font-size:12.5px;line-height:1.85;}
  #pl-gaiheki05 .pl05-hero-text br{display:none;}
  #pl-gaiheki05 .pl05-benefits{grid-template-columns:1fr;gap:9px;margin:-7px 14px 23px;}
  #pl-gaiheki05 .pl05-benefit{gap:13px;padding:11px 13px;border-radius:11px;}
  #pl-gaiheki05 .pl05-benefit-icon{flex-basis:56px;width:56px;height:56px;}
  #pl-gaiheki05 .pl05-benefit-icon svg{width:31px;height:31px;}
  #pl-gaiheki05 .pl05-benefit h3{font-size:15px;line-height:1.42;}
  #pl-gaiheki05 .pl05-benefit p br{display:none;}
  #pl-gaiheki05 .pl05-benefit p{margin-top:3px !important;font-size:11.5px;line-height:1.55;}
  #pl-gaiheki05 .pl05-showcase{grid-template-columns:1fr;gap:18px;padding:0 14px;}
  #pl-gaiheki05 .pl05-showcase-visual{height:228px;grid-template-columns:minmax(0,1.45fr) minmax(0,.75fr);gap:6px;}
  #pl-gaiheki05 .pl05-detail-photo,#pl-gaiheki05 .pl05-real-photo{border-radius:9px;}
  #pl-gaiheki05 .pl05-photo-seal{top:10px;left:9px;width:81px;height:81px;padding:5px;font-size:12.5px;}
  #pl-gaiheki05 .pl05-showcase-copy h3{font-size:clamp(20px,5vw,25px);line-height:1.55;}
  #pl-gaiheki05 .pl05-showcase-copy>p:not(.pl05-samples-label){font-size:12.5px;line-height:1.85;margin-top:7px !important;}
  #pl-gaiheki05 .pl05-samples-label{margin:14px 0 7px !important;font-size:11px;}
  #pl-gaiheki05 .pl05-samples{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
  #pl-gaiheki05 .pl05-sample img{height:112px !important;}
  #pl-gaiheki05 .pl05-sample figcaption{font-size:11px;padding:5px 3px;}
  #pl-gaiheki05 .pl05-message{grid-template-columns:1fr;gap:12px;margin:20px 14px 0;padding:16px 13px;border-radius:12px;}
  #pl-gaiheki05 .pl05-message-catch{gap:10px;}
  #pl-gaiheki05 .pl05-message-catch svg{flex-basis:40px;width:40px;height:40px;}
  #pl-gaiheki05 .pl05-message-catch p{font-size:clamp(13.5px,3.7vw,17px);line-height:1.75;}
  #pl-gaiheki05 .pl05-message-detail{padding:12px 0 0;border-left:0;border-top:1px solid #d0bc98;}
  #pl-gaiheki05 .pl05-message-detail>p{font-size:12px;line-height:1.8;}
  #pl-gaiheki05 .pl05-message-detail small{font-size:10px;line-height:1.6;}
}
@media screen and (max-width:359px){
  #pl-gaiheki05 #pl-gaiheki05-title{font-size:25px;}
  #pl-gaiheki05 .pl05-hero{padding-left:12px;padding-right:12px;}
  #pl-gaiheki05 .pl05-hero-photo{width:calc(100% + 24px);margin-left:-12px;margin-right:-12px;}
  #pl-gaiheki05 .pl05-showcase-visual{height:205px;}
  #pl-gaiheki05 .pl05-benefit h3{font-size:14px;}
}
/* ==========================================================
 ペイントリーフ大阪 / 外壁塗装 SECTION 06 締めくくり
 Cocoon子テーマ style.css の末尾に一度だけ追記してください。
 全セレクタを #pl-gaiheki06 に限定。SECTION 01～05には影響なし。
 ========================================================== */
#pl-gaiheki06.pl-gaiheki06 {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  isolation: isolate;
  width: min(1200px,calc(100vw - 40px));
  max-width: none;
  margin: 40px 0 40px !important;
  padding: 0 !important;
  box-sizing: border-box;
  overflow: hidden;
  border-radius: 18px;
  color: #233329;
  background: #f7fcf6;
  font-family: "Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-size: 15px;
  line-height: 1.7;
}
#pl-gaiheki06 *,#pl-gaiheki06 *::before,#pl-gaiheki06 *::after { box-sizing: border-box; }
#pl-gaiheki06 .pl06-inner { width: 100%; min-width: 0; margin: 0 auto; }
#pl-gaiheki06 h2,#pl-gaiheki06 h3 {
  margin: 0 !important; padding: 0 !important; border: 0 !important;
  border-radius: 0 !important; background: none !important;
  box-shadow: none !important; text-shadow: none !important;
}
#pl-gaiheki06 h2::before,#pl-gaiheki06 h2::after,
#pl-gaiheki06 h3::before,#pl-gaiheki06 h3::after { display:none !important; content:none !important; }
#pl-gaiheki06 p { margin: 0 !important; padding: 0 !important; }
#pl-gaiheki06 img { display:block; width:100%; max-width:none !important; height:auto; margin:0 !important; padding:0 !important; border:0 !important; box-shadow:none !important; }
#pl-gaiheki06 svg { display:block; }
#pl-gaiheki06 a { text-decoration:none !important; }

/* ヒーロー：文字は左、ご本人の写真は右、背後に住宅写真 */
#pl-gaiheki06 .pl06-hero {
  position:relative; min-height:485px; overflow:hidden;
  background: radial-gradient(ellipse at 1% 80%,#f0f9e9 0%,rgba(240,249,233,0) 52%),#fff;
}
#pl-gaiheki06 .pl06-hero-house {
  position:absolute; z-index:0; inset:0 0 0 auto; width:70%; overflow:hidden;
}
#pl-gaiheki06 .pl06-hero-house img {
  width:100% !important; height:100% !important; object-fit:cover; object-position:62% 47%;
}
#pl-gaiheki06 .pl06-hero-house::after {
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.94) 21%,rgba(255,255,255,.28) 48%,rgba(255,255,255,0) 80%),
             linear-gradient(0deg,#f8fcf5 0%,transparent 12%);
}
#pl-gaiheki06 .pl06-hero::before {
  content:""; position:absolute; z-index:3; pointer-events:none;
  top:-2px;left:-10px;width:180px;height:110px;opacity:.68;
  background:url("https://paintleaf-osaka.com/wp-content/uploads/2026/10/paintleaf-osaka-gaiheki-section02-leaf-decoration.webp") left top/370px auto no-repeat;
  -webkit-mask-image:linear-gradient(to bottom,#000 38%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 38%,transparent 100%);
}
#pl-gaiheki06 .pl06-hero-content {
  position:relative; z-index:2; width:62%; padding:24px 0 32px 55px;
}
#pl-gaiheki06 .pl06-eyebrow {
  display:flex; align-items:center; justify-content:center; gap:13px;
  width:380px; max-width:100%; margin:0 0 28px 75px !important;
  font-family:Arial,sans-serif; color:#117a45; font-size:12px; line-height:1.5;
  font-weight:800; letter-spacing:.25em;
}
#pl-gaiheki06 .pl06-eyebrow::before,#pl-gaiheki06 .pl06-eyebrow::after {
  content:""; width:70px; height:1px; background:#80c99a;
}
#pl-gaiheki06 #pl06-main-title {
  color:#252826 !important; font-size:clamp(35px,3.9vw,47px); font-weight:900;
  font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
  letter-spacing:-.058em; line-height:1.44; white-space:nowrap;
}
#pl-gaiheki06 .pl06-title span { display:block; }
#pl-gaiheki06 .pl06-title .pl06-title-accent { color:#17864b; }
#pl-gaiheki06 .pl06-hero-text {
  max-width:575px; margin:22px 0 0 !important; font-size:14px;
  color:#313b34; line-height:1.95; font-weight:550;
  text-shadow:0 1px 0 rgba(255,255,255,.65);
}
#pl-gaiheki06 .pl06-hero-person {
  position:absolute; z-index:1; right:0; bottom:-2px;
  height:90%; width:52%; display:flex; align-items:flex-end; justify-content:center;
  pointer-events:none;
}
#pl-gaiheki06 .pl06-hero-person img {
  display:block; width:100% !important; height:100% !important;
  object-fit:contain; object-position:center bottom;
  filter:drop-shadow(0 3px 13px rgba(29,54,35,.12));
}

/* 4つの特徴：カード＋写真の一部を透かす */
#pl-gaiheki06 .pl06-points {
  position:relative; z-index:4; display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px;
  margin:-3px 23px 0;
}
#pl-gaiheki06 .pl06-point {
  position:relative; isolation:isolate; min-width:0; min-height:187px;
  padding:0 13px 15px; overflow:hidden; border-radius:14px;
  border:1px solid #e1efde; background:#fdfefb;
  box-shadow:0 4px 18px rgba(32,75,37,.06);
}
#pl-gaiheki06 .pl06-point::before {
  content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(180deg,#f9fef8 0%,rgba(255,255,255,.98) 42%,rgba(255,255,255,.68) 70%,rgba(255,255,255,.04) 100%);
}
#pl-gaiheki06 .pl06-point-photo {
  position:absolute; bottom:0;left:0;z-index:-2;
  width:100% !important; height:73% !important; object-fit:cover; object-position:center;
}
#pl-gaiheki06 .pl06-point-head {
  display:flex; align-items:center; gap:9px; margin:8px -5px 0; min-height:58px;
}
#pl-gaiheki06 .pl06-point-icon {
  display:grid; place-items:center; flex:0 0 48px;
  width:48px; height:48px; border-radius:50%;
  color:#fff; background:linear-gradient(135deg,#469d48,#087a48);
  box-shadow:0 3px 10px rgba(14,108,57,.14);
}
#pl-gaiheki06 .pl06-point-icon svg { width:28px; height:28px; }
#pl-gaiheki06 .pl06-point-head h3 {
  min-width:0; font-size:clamp(13px,1.4vw,17px); font-weight:900;
  line-height:1.42; letter-spacing:-.055em; color:#147846;
}
#pl-gaiheki06 .pl06-point>p {
  position:relative; font-size:13px; line-height:1.8;
  color:#28332c; font-weight:600; margin:15px 0 0 !important;
  text-shadow:0 1px 2px rgba(255,255,255,.92);
}

/* 最終CTA：大きなオレンジ色の問い合わせボタン */
#pl-gaiheki06 .pl06-cta {
  position:relative; display:grid; grid-template-columns:1fr 1.02fr;
  gap:30px; align-items:center; margin:16px 0 0;
  padding:26px 37px 29px;
  background:radial-gradient(ellipse at 6% 100%,#d5edc9 0%,transparent 57%),
             linear-gradient(90deg,#f5fdf1,#f0fbec 58%,#eefaf0);
}
#pl-gaiheki06 .pl06-cta::before {
  content:""; position:absolute; left:-18px;bottom:-35px; width:138px;height:132px;
  opacity:.5;pointer-events:none;
  background:url("https://paintleaf-osaka.com/wp-content/uploads/2026/10/paintleaf-osaka-gaiheki-section02-leaf-decoration.webp") left bottom/320px auto no-repeat;
}
#pl-gaiheki06 .pl06-cta-intro {
  display:flex; align-items:center; gap:21px; min-width:0;
}
#pl-gaiheki06 .pl06-free-badge {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  flex:0 0 132px; width:132px; height:132px; border-radius:50%;
  transform:rotate(-6deg);
  background:linear-gradient(140deg,#208447,#047a4c); color:#fff;
  box-shadow:0 5px 16px rgba(18,108,65,.16);
}
#pl-gaiheki06 .pl06-free-badge span {
  color:#f7fff6; font-size:14px; font-weight:800; line-height:1.4;
}
#pl-gaiheki06 .pl06-free-badge strong {
  display:block; font-size:43px; font-weight:950; line-height:1.3;
  color:#fff2a0;
}
#pl-gaiheki06 .pl06-cta-copy { min-width:0; }
#pl-gaiheki06 .pl06-cta-copy h3 {
  color:#252d28 !important; font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(27px,3.2vw,41px); font-weight:900; letter-spacing:-.055em; line-height:1.35;
  white-space:nowrap;
}
#pl-gaiheki06 .pl06-cta-copy h3 em { color:#16874b; font-style:normal; }
#pl-gaiheki06 .pl06-cta-copy p {
  margin:11px 0 0 !important; font-size:12.5px; line-height:1.75; color:#364038;
}
#pl-gaiheki06 .pl06-cta-action { position:relative; z-index:1; min-width:0; }
#pl-gaiheki06 .pl06-cta-note {
  margin:0 0 10px !important; text-align:center;
  color:#168049; font-size:15px; font-weight:900; letter-spacing:.02em;
}
#pl-gaiheki06 .pl06-cta-note::before,#pl-gaiheki06 .pl06-cta-note::after {
  content:"／"; color:#f58224; margin:0 10px; font-weight:900;
}
#pl-gaiheki06 .pl06-cta-note::after { content:"＼"; }
#pl-gaiheki06 .pl06-cta-button {
  display:flex; align-items:center; justify-content:center; gap:16px;
  min-height:86px; width:100%; padding:17px 24px;
  color:#fff !important; border-radius:100px;
  background:linear-gradient(180deg,#ffa33b 0%,#ff8314 44%,#f66a00 100%);
  box-shadow:0 6px 0 #d65a00,0 11px 19px rgba(194,100,24,.22);
  font-size:clamp(20px,2.25vw,28px); font-weight:900; line-height:1.3;
  letter-spacing:-.03em; text-align:center;
  transition:filter .2s,transform .2s,box-shadow .2s;
}
#pl-gaiheki06 .pl06-cta-button:hover,
#pl-gaiheki06 .pl06-cta-button:focus-visible {
  filter:brightness(1.045); transform:translateY(2px);
  box-shadow:0 4px 0 #d65a00,0 8px 15px rgba(194,100,24,.21);
}
#pl-gaiheki06 .pl06-cta-button:focus-visible { outline:3px solid #117943; outline-offset:5px; }
#pl-gaiheki06 .pl06-cta-button>svg:first-child { width:42px; height:42px; flex:0 0 42px; }
#pl-gaiheki06 .pl06-cta-button .pl06-cta-arrow { width:27px;height:27px; flex:0 0 27px; margin-left:auto; }
#pl-gaiheki06 .pl06-cta-trust {
  display:flex; gap:9px; justify-content:space-between;
  padding:0 !important; margin:20px 0 0 !important;
  list-style:none !important;
}
#pl-gaiheki06 .pl06-cta-trust li {
  display:flex; align-items:center; justify-content:center; gap:7px;
  flex:1; min-width:0; min-height:37px;
  padding:5px 6px; border:1.5px solid #268650; border-radius:100px;
  background:#fff; color:#187442; font-size:11px; line-height:1.3; font-weight:900;
  white-space:nowrap;
}
#pl-gaiheki06 .pl06-cta-trust li::before,#pl-gaiheki06 .pl06-cta-trust li::after { content:none !important; }
#pl-gaiheki06 .pl06-cta-trust li span {
  display:grid;place-items:center;flex:0 0 19px;
  width:19px;height:19px;border-radius:50%;background:#167c45;color:#fff;
  font-size:13px;line-height:1;
}

/* 901px～1200px */
@media screen and (min-width:901px) and (max-width:1200px){
  #pl-gaiheki06 .pl06-hero-content { width:65%;padding-left:39px; }
  #pl-gaiheki06 #pl06-main-title { font-size:clamp(35px,3.9vw,45px); }
  #pl-gaiheki06 .pl06-hero-person { width:51%; }
  #pl-gaiheki06 .pl06-point {padding-left:10px;padding-right:10px;}
  #pl-gaiheki06 .pl06-point-head {gap:6px;}
  #pl-gaiheki06 .pl06-point-icon {width:42px;height:42px;flex-basis:42px;}
  #pl-gaiheki06 .pl06-point-head h3 {font-size:clamp(12px,1.4vw,16px);}
  #pl-gaiheki06 .pl06-cta { gap:20px; padding-left:22px; padding-right:22px; }
  #pl-gaiheki06 .pl06-free-badge {width:112px;height:112px;flex-basis:112px;}
  #pl-gaiheki06 .pl06-free-badge strong {font-size:37px;}
  #pl-gaiheki06 .pl06-cta-intro {gap:13px;}
}
/* タブレット */
@media screen and (min-width:641px) and (max-width:900px){
  #pl-gaiheki06 .pl06-hero {min-height:460px;}
  #pl-gaiheki06 .pl06-hero-content {padding:25px 28px 35px;width:70%;}
  #pl-gaiheki06 #pl06-main-title {font-size:clamp(32px,4.7vw,42px);}
  #pl-gaiheki06 .pl06-hero-text {max-width:450px;font-size:13px;}
  #pl-gaiheki06 .pl06-eyebrow {margin-left:20px !important;}
  #pl-gaiheki06 .pl06-hero-person {width:53%;height:76%;right:-20px;}
  #pl-gaiheki06 .pl06-hero-house {width:80%;}
  #pl-gaiheki06 .pl06-points {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 21px;}
  #pl-gaiheki06 .pl06-point {min-height:170px;}
  #pl-gaiheki06 .pl06-point-head h3 {font-size:16px;}
  #pl-gaiheki06 .pl06-cta {grid-template-columns:1fr;gap:22px;padding:26px 30px;}
  #pl-gaiheki06 .pl06-cta-action {max-width:650px;width:100%;margin:auto;}
}
/* スマートフォン */
@media screen and (max-width:640px){
  #pl-gaiheki06.pl-gaiheki06 {
    width:calc(100vw - 24px);border-radius:13px;
    margin:26px 0 30px !important;
  }
  #pl-gaiheki06 .pl06-hero {display:flex;flex-direction:column;min-height:0;}
  #pl-gaiheki06 .pl06-hero-content {width:100%;padding:22px 17px 9px;}
  #pl-gaiheki06 .pl06-eyebrow {width:100%;justify-content:center;margin:0 0 18px !important;font-size:10px;}
  #pl-gaiheki06 .pl06-eyebrow::before,#pl-gaiheki06 .pl06-eyebrow::after {width:40px;}
  #pl-gaiheki06 #pl06-main-title {
    font-size:clamp(25px,7.3vw,35px);line-height:1.37;letter-spacing:-.065em;
  }
  #pl-gaiheki06 .pl06-title span {white-space:nowrap;}
  #pl-gaiheki06 .pl06-hero-text {margin:13px 0 0 !important;font-size:12px;line-height:1.87;}
  #pl-gaiheki06 .pl06-hero-text br {display:none;}
  #pl-gaiheki06 .pl06-hero-house {
    position:relative;inset:auto;width:100%;height:243px;order:2;
  }
  #pl-gaiheki06 .pl06-hero-house img {object-position:58% 39%;}
  #pl-gaiheki06 .pl06-hero-house::after {
    background:linear-gradient(180deg,#fff,rgba(255,255,255,.12) 28%,transparent 72%,#edf8ea 100%);
  }
  #pl-gaiheki06 .pl06-hero-person {
    z-index:3;right:-7px;bottom:0;width:68%;height:260px;
  }
  #pl-gaiheki06 .pl06-hero::before {width:95px;height:70px;background-size:210px auto;opacity:.43;}
  #pl-gaiheki06 .pl06-points {grid-template-columns:1fr;gap:10px;margin:0 12px;}
  #pl-gaiheki06 .pl06-point {min-height:137px;padding:0 13px 12px;}
  #pl-gaiheki06 .pl06-point-head {margin:7px 0 0;min-height:49px;}
  #pl-gaiheki06 .pl06-point-icon {width:44px;height:44px;flex-basis:44px;}
  #pl-gaiheki06 .pl06-point-icon svg {width:25px;height:25px;}
  #pl-gaiheki06 .pl06-point-head h3 {font-size:16px;letter-spacing:-.035em;}
  #pl-gaiheki06 .pl06-point>p {margin:8px 0 0 !important;font-size:12.4px;line-height:1.7;}
  #pl-gaiheki06 .pl06-pc {display:none;}
  #pl-gaiheki06 .pl06-point-photo {height:82% !important;object-position:center 58%;}
  #pl-gaiheki06 .pl06-cta {display:block;margin:15px 0 0;padding:23px 16px 26px;}
  #pl-gaiheki06 .pl06-cta-intro {gap:13px;align-items:center;}
  #pl-gaiheki06 .pl06-free-badge {flex-basis:93px;width:93px;height:93px;}
  #pl-gaiheki06 .pl06-free-badge span {font-size:11px;}
  #pl-gaiheki06 .pl06-free-badge strong {font-size:33px;}
  #pl-gaiheki06 .pl06-cta-copy h3 {font-size:clamp(24px,6vw,31px);}
  #pl-gaiheki06 .pl06-cta-copy p {margin-top:9px !important;font-size:11.5px;}
  #pl-gaiheki06 .pl06-cta-action {margin:23px 0 0;}
  #pl-gaiheki06 .pl06-cta-note {margin-bottom:9px !important;font-size:12px;}
  #pl-gaiheki06 .pl06-cta-note::before,#pl-gaiheki06 .pl06-cta-note::after {margin:0 4px;}
  #pl-gaiheki06 .pl06-cta-button {min-height:70px;gap:9px;padding:14px 12px;font-size:clamp(16px,4.2vw,21px);}
  #pl-gaiheki06 .pl06-cta-button>svg:first-child {width:29px;height:29px;flex-basis:29px;}
  #pl-gaiheki06 .pl06-cta-button .pl06-cta-arrow {width:20px;height:20px;flex-basis:20px;}
  #pl-gaiheki06 .pl06-cta-trust {gap:5px;margin-top:17px !important;}
  #pl-gaiheki06 .pl06-cta-trust li {min-height:34px;gap:3px;font-size:10px;padding:4px 2px;}
  #pl-gaiheki06 .pl06-cta-trust li span {width:15px;height:15px;flex-basis:15px;font-size:10px;}
}
@media screen and (max-width:360px){
  #pl-gaiheki06 #pl06-main-title {font-size:24px;}
  #pl-gaiheki06 .pl06-cta-copy h3 {font-size:22px;}
  #pl-gaiheki06 .pl06-free-badge {width:83px;height:83px;flex-basis:83px;}
  #pl-gaiheki06 .pl06-cta-trust li {font-size:9px;}
}
/* =============================================================
   ペイントリーフ大阪｜外壁塗装ページ・30秒フォーム位置修正
   2026-10-17
   対象：SECTION 06 (#pl-gaiheki06) があるページだけ
   目的：CF7の共通白枠を解除し、フォーム入力欄を背景画像に合わせる
   ※ TOP／スタッフ紹介／お問い合わせページは一切変更しません
   ※ SECTION 01〜06 にも変更を加えません
   ============================================================= */

/* A. フォーム全体を縮小させていたCF7の通常の枠を解除 */
body:has(#pl-gaiheki06) .wpcf7:has(.pl-visual-form) {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
body:has(#pl-gaiheki06) .wpcf7:has(.pl-visual-form) > form {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* B. 背景画像と実フォームの縮尺を統一 */
body:has(#pl-gaiheki06) .pl-visual-form {
  position: relative !important;
  display: block !important;
  width: min(1200px, 100%) !important;
  max-width: 1200px !important;
  aspect-ratio: 3 / 2 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 35px auto 55px !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  background-image: url("https://paintleaf-osaka.com/wp-content/uploads/2026/09/paintleaf-osaka-top-contact-form-bg.webp") !important;
  background-size: 100% 100% !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
}
body:has(#pl-gaiheki06) .pl-visual-form__live {
  position: absolute !important;
  left: 6.1% !important;
  top: 36.3% !important;
  width: 87.8% !important;
  height: 35% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 1.3% 3.2% 1.2% !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  background: #fff !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  z-index: 5 !important;
}

/* C. 既存のTOP専用調整に頼らず内部の位置を統一 */
body:has(#pl-gaiheki06) .pl-visual-form .pl-vf-row,
body:has(#pl-gaiheki06) .pl-visual-form .pl-vf-row:nth-of-type(2),
body:has(#pl-gaiheki06) .pl-visual-form .pl-vf-row:nth-of-type(3) {
  display: grid !important;
  grid-template-columns: 135px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 16px !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid #e8ece8 !important;
  transform: none !important;
}
body:has(#pl-gaiheki06) .pl-visual-form .pl-vf-row--check {
  min-height: 43px !important;
}
body:has(#pl-gaiheki06) .pl-visual-form .pl-vf-label {
  margin: 0 !important;
  padding: 0 !important;
  color: #086f45 !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  white-space: nowrap !important;
  transform: none !important;
}
body:has(#pl-gaiheki06) .pl-visual-form .pl-vf-control {
  min-width: 0 !important;
}
body:has(#pl-gaiheki06) .pl-visual-form .pl-vf-control .wpcf7-list-item {
  margin: 2px 10px 2px 0 !important;
}
body:has(#pl-gaiheki06) .pl-visual-form .pl-vf-control .wpcf7-list-item label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  font-size: 11px !important;
  white-space: nowrap !important;
}
body:has(#pl-gaiheki06) .pl-visual-form .pl-vf-control input[type="checkbox"] {
  width: 17px !important;
  height: 17px !important;
  margin: 0 !important;
}
body:has(#pl-gaiheki06) .pl-visual-form input[type="text"],
body:has(#pl-gaiheki06) .pl-visual-form input[type="tel"] {
  display: block !important;
  width: 100% !important;
  height: 42px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  box-sizing: border-box !important;
  font-size: 14px !important;
  transform: none !important;
}
body:has(#pl-gaiheki06) .pl-visual-form .pl-vf-bottom {
  margin: 0 !important;
  padding-top: 8px !important;
  transform: none !important;
}
body:has(#pl-gaiheki06) .pl-visual-form .pl-vf-submit {
  width: min(390px, 100%) !important;
  margin: 0 auto !important;
}
body:has(#pl-gaiheki06) .pl-visual-form .pl-vf-submit input[type="submit"] {
  display: block !important;
  width: 100% !important;
  height: 48px !important;
  margin: 0 !important;
  border-radius: 30px !important;
  font-size: 14px !important;
}
body:has(#pl-gaiheki06) .pl-visual-form .wpcf7-not-valid-tip {
  position: static !important;
  display: block !important;
  margin: 4px 0 0 !important;
  font-size: 11px !important;
}

/* D. スマホ・タブレットは画像に項目を重ねず縦配置 */
@media screen and (max-width: 900px) {
  body:has(#pl-gaiheki06) .pl-visual-form {
    width: min(430px, calc(100% - 20px)) !important;
    max-width: 430px !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    margin: 28px auto 38px !important;
    padding: calc(33.333% + 8px) 10px 16px !important;
    background-image: none !important;
    background-color: #f3f7ee !important;
    border-radius: 14px !important;
  }
  body:has(#pl-gaiheki06) .pl-visual-form::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 3 / 1 !important;
    background: url("https://paintleaf-osaka.com/wp-content/uploads/2026/09/paintleaf-osaka-top-contact-mobile.webp") center top / 100% 100% no-repeat !important;
    z-index: 1 !important;
  }
  body:has(#pl-gaiheki06) .pl-visual-form__live {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 20px 14px !important;
    display: block !important;
    border: 1px solid #dce7d9 !important;
    border-radius: 12px !important;
    box-shadow: 0 6px 18px rgba(28,83,56,.08) !important;
  }
  body:has(#pl-gaiheki06) .pl-visual-form .pl-vf-row,
  body:has(#pl-gaiheki06) .pl-visual-form .pl-vf-row:nth-of-type(2),
  body:has(#pl-gaiheki06) .pl-visual-form .pl-vf-row:nth-of-type(3) {
    display: block !important;
    min-height: 0 !important;
    margin: 0 0 18px !important;
    padding: 0 0 18px !important;
    transform: none !important;
  }
  body:has(#pl-gaiheki06) .pl-visual-form .pl-vf-label {
    display: block !important;
    margin: 0 0 10px !important;
    font-size: 14px !important;
    white-space: normal !important;
  }
  body:has(#pl-gaiheki06) .pl-visual-form .pl-vf-control .wpcf7-checkbox {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px 8px !important;
  }
  body:has(#pl-gaiheki06) .pl-visual-form .pl-vf-control .wpcf7-list-item {
    margin: 0 !important;
  }
  body:has(#pl-gaiheki06) .pl-visual-form .pl-vf-control .wpcf7-list-item label {
    display: flex !important;
    gap: 7px !important;
    font-size: 13px !important;
  }
  body:has(#pl-gaiheki06) .pl-visual-form .pl-vf-control input[type="checkbox"] {
    width: 21px !important;
    height: 21px !important;
    flex: 0 0 21px !important;
  }
  body:has(#pl-gaiheki06) .pl-visual-form input[type="text"],
  body:has(#pl-gaiheki06) .pl-visual-form input[type="tel"] {
    height: 52px !important;
    font-size: 16px !important;
  }
  body:has(#pl-gaiheki06) .pl-visual-form .pl-vf-bottom {
    margin: 2px 0 0 !important;
    padding: 0 !important;
  }
  body:has(#pl-gaiheki06) .pl-visual-form .pl-vf-submit {
    width: 100% !important;
  }
  body:has(#pl-gaiheki06) .pl-visual-form .pl-vf-submit input[type="submit"] {
    height: 56px !important;
    font-size: 15px !important;
  }
  body:has(#pl-gaiheki06) .pl-visual-form .wpcf7-response-output,
  body:has(#pl-gaiheki06) .pl-visual-form .wpcf7-spinner {
    position: static !important;
    margin: 12px auto 0 !important;
  }
}
/* =========================================================
  ペイントリーフ大阪｜屋根塗装 SECTION 01（ヘッダー）
  設置先：Cocoon 子テーマ style.css の末尾
  適用先：.pl-roof01 を含むページだけ

  ご指定のPC画像：1536×1024（3:2）
  ご指定のSP画像：1600×900（16:9）
  ※画像内の文字・下部の特徴を切らず、引き伸ばさず全表示します。
  ※PC版は従来の1536×574（約2.68:1）ではありません。
========================================================= */

/* 標準のCocoon記事タイトルは見た目のみ非表示（h1要素は残す） */
body.page:has(.pl-roof01) .article-header {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  border: 0 !important;
}

/* この屋根塗装ページだけ、Cocoonのサイドバーと上余白を解除 */
body.page:has(.pl-roof01) #sidebar,
body.page:has(.pl-roof01) .sidebar {
  display: none !important;
}

body.page:has(.pl-roof01) #content,
body.page:has(.pl-roof01) .content,
body.page:has(.pl-roof01) #content-in,
body.page:has(.pl-roof01) .content-in,
body.page:has(.pl-roof01) #main,
body.page:has(.pl-roof01) .main,
body.page:has(.pl-roof01) article.article,
body.page:has(.pl-roof01) .entry-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.page:has(.pl-roof01) #content-in,
body.page:has(.pl-roof01) .content-in {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
}

body.page:has(.pl-roof01) #main,
body.page:has(.pl-roof01) .main {
  width: 100% !important;
  max-width: none !important;
  flex: 0 0 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.page:has(.pl-roof01) article.article,
body.page:has(.pl-roof01) .entry-content {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.page:has(.pl-roof01) .entry-content > :first-child,
body.page:has(.pl-roof01) .entry-content > .wp-block-html:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* 余計な空白を出さず、画像の表示幅だけを最大1200pxに制限 */
body.page:has(.pl-roof01) .pl-roof01 {
  position: relative;
  left: 50%;
  width: 100vw;
  max-width: 100vw;
  margin: 0 0 0 -50vw !important;
  padding: 0 !important;
  border: 0 !important;
  box-sizing: border-box;
  overflow: hidden;
  background: #fff;
}

body.page:has(.pl-roof01) .pl-roof01__picture {
  display: block !important;
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  line-height: 0 !important;
}

body.page:has(.pl-roof01) .pl-roof01__image {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  object-fit: contain !important;
}

/* スマホ画像は16:9のまま画面幅いっぱいに全表示 */
@media screen and (max-width: 767px) {
  body.page:has(.pl-roof01) .pl-roof01__picture {
    max-width: none !important;
  }
}
/* ============================================================
 ペイントリーフ大阪｜屋根塗装ページ SECTION 02
 「見えない屋根だからこそ、丁寧に。」
 Cocoon子テーマ style.css の末尾に追加
 適用先：#pl-roof02 内のみ（既存SECTION・フォームは変更しません）
 写真・見出し・文章を分離したレスポンシブ設計
============================================================ */

#pl-roof02.pl-roof02,
#pl-roof02.pl-roof02 * {
  box-sizing: border-box;
}

#pl-roof02.pl-roof02 {
  position: relative;
  isolation: isolate;
  width: 100vw;
  max-width: 100vw;
  margin: 0 0 0 calc(50% - 50vw) !important;
  padding: 68px 24px 76px !important;
  overflow: hidden;
  color: #28372e;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  background:
    radial-gradient(ellipse at 1% 17%, rgba(218, 244, 208, .64) 0, transparent 33%),
    radial-gradient(ellipse at 99% 34%, rgba(219, 243, 212, .50) 0, transparent 32%),
    linear-gradient(180deg, #fff 0%, #f8fdf8 53%, #eff9ef 100%);
}

/* 既存の葉のWebPを装飾用として再利用。コンテンツではありません。 */
#pl-roof02.pl-roof02::before,
#pl-roof02.pl-roof02::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: min(35vw, 335px);
  height: 255px;
  pointer-events: none;
  opacity: .68;
  background: url("https://paintleaf-osaka.com/wp-content/uploads/2026/10/paintleaf-osaka-gaiheki-section02-leaf-decoration.webp") no-repeat;
  background-size: 680px 453px;
}
#pl-roof02.pl-roof02::before {
  top: 0;
  left: 0;
  background-position: left top;
}
#pl-roof02.pl-roof02::after {
  right: 0;
  bottom: 0;
  transform: rotate(180deg);
  background-position: left top;
  opacity: .44;
}

#pl-roof02 .pl-roof02__inner {
  position: relative;
  z-index: 1;
  width: min(1200px, 100%);
  margin: 0 auto;
  padding: 0;
}

/* Cocoon標準の見出し装飾だけをこのSECTION内部で解除 */
#pl-roof02 h2,
#pl-roof02 h3 {
  margin: 0 !important;
  padding: 0 !important;
  color: inherit;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
#pl-roof02 h2::before,
#pl-roof02 h2::after,
#pl-roof02 h3::before,
#pl-roof02 h3::after {
  display: none !important;
  content: none !important;
}
#pl-roof02 p {
  margin: 0 !important;
  padding: 0 !important;
}
#pl-roof02 img {
  max-width: none;
  border: 0;
  margin: 0;
  padding: 0;
}

/* ───────────── 中央見出し ───────────── */
#pl-roof02 .pl-roof02__heading {
  max-width: 1080px;
  margin: 0 auto 34px;
  text-align: center;
}
#pl-roof02 .pl-roof02__eyebrow {
  display: inline-block;
  padding: 9px 25px !important;
  margin-bottom: 17px !important;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(110deg, #006a35, #138b4b);
  box-shadow: 0 6px 20px rgba(5, 93, 44, .13);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: .04em;
  line-height: 1.5;
}
#pl-roof02 #pl-roof02-title {
  color: #182c1f !important;
  font-size: clamp(32px, 4.1vw, 53px) !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  letter-spacing: .014em;
}
#pl-roof02 #pl-roof02-title span,
#pl-roof02 #pl-roof02-title em {
  color: #087a3b;
  font-style: normal;
}
#pl-roof02 .pl-roof02__catch {
  margin: 14px 0 13px !important;
  color: #26352a;
  font-size: clamp(19px, 2.05vw, 26px);
  font-weight: 800;
  line-height: 1.65;
}
#pl-roof02 .pl-roof02__catch strong { color: #e36c13; font-weight: 900; }
#pl-roof02 .pl-roof02__lead {
  color: #37453a;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.95;
  letter-spacing: .01em;
}
#pl-roof02 .pl-roof02__sp-only { display: none; }

/* ───────────── 写真付き3項目 ───────────── */
#pl-roof02 .pl-roof02__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
}
#pl-roof02 .pl-roof02__card {
  min-width: 0;
  margin: 0;
  padding: 7px;
  overflow: hidden;
  background: rgba(255,255,255,.96);
  border: 1px solid #e0eee2;
  border-radius: 25px;
  box-shadow: 0 11px 31px rgba(38,98,49,.08);
}
#pl-roof02 .pl-roof02__photo {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 198px;
  border-radius: 19px 19px 11px 11px;
  background: #dcefe6;
}
#pl-roof02 .pl-roof02__photo img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: center;
}
#pl-roof02 .pl-roof02__number {
  position: absolute;
  left: 12px;
  top: 12px;
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border: 2px solid rgba(255,255,255,.9);
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(135deg, #10884a, #00642e);
  box-shadow: 0 3px 12px rgba(0, 80, 40, .14);
  font: italic 700 27px/1 Georgia, serif;
}
#pl-roof02 .pl-roof02__card-body {
  display: flex;
  gap: 13px;
  align-items: flex-start;
  padding: 20px 15px 23px;
}
#pl-roof02 .pl-roof02__icon {
  display: grid;
  flex: 0 0 58px;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  color: #087c3d;
  background: #e4f5e1;
}
#pl-roof02 .pl-roof02__icon svg {
  display: block;
  width: 31px;
  height: 31px;
}
#pl-roof02 .pl-roof02__card-copy { min-width: 0; }
#pl-roof02 .pl-roof02__card-copy h3 {
  color: #22352a !important;
  font-size: clamp(18px, 1.7vw, 23px) !important;
  font-weight: 850 !important;
  line-height: 1.48 !important;
  letter-spacing: -.015em;
}
#pl-roof02 .pl-roof02__card-copy h3 span { color: #06793d; }
#pl-roof02 .pl-roof02__card-copy p {
  margin-top: 13px !important;
  color: #414a43;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.85;
}

/* ───────────── 下部メッセージ ───────────── */
#pl-roof02 .pl-roof02__message {
  position: relative;
  display: grid;
  grid-template-columns: 37% minmax(0, 1fr);
  min-height: 213px;
  margin: 27px 0 0;
  padding: 0;
  overflow: hidden;
  border: 5px solid #fff;
  border-radius: 26px;
  background: linear-gradient(100deg, #dff4e1 0%, #f9fdf9 50%, #e7f8e4 100%);
  box-shadow: 0 11px 32px rgba(37,108,48,.09);
}
#pl-roof02 .pl-roof02__message-photo {
  position: relative;
  min-height: 210px;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, #000 70%, transparent 100%);
  mask-image: linear-gradient(90deg, #000 70%, transparent 100%);
}
#pl-roof02 .pl-roof02__message-photo img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: center;
}
#pl-roof02 .pl-roof02__message-copy {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 0;
  padding: 25px 28px 26px 9px;
  text-align: center;
}
#pl-roof02 .pl-roof02__message-label {
  display: inline-block;
  margin-bottom: 13px !important;
  padding: 7px 23px !important;
  color: #fff;
  background: #08783c;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.4;
}
#pl-roof02 #pl-roof02-message-title {
  color: #28362b !important;
  font-size: clamp(21px, 2.7vw, 36px) !important;
  font-weight: 900 !important;
  line-height: 1.45 !important;
}
#pl-roof02 #pl-roof02-message-title span { color: #087b3e; }
#pl-roof02 .pl-roof02__message-copy > p:last-child {
  margin-top: 14px !important;
  color: #36483b;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.8;
}

/* ───────────── 中間サイズ ───────────── */
@media screen and (min-width: 768px) and (max-width: 1020px) {
  #pl-roof02 .pl-roof02__photo { height: 175px; }
  #pl-roof02 .pl-roof02__card-body { padding: 17px 10px 19px; gap: 9px; }
  #pl-roof02 .pl-roof02__icon { flex-basis: 45px; width: 45px; height: 45px; }
  #pl-roof02 .pl-roof02__icon svg { width: 25px; height: 25px; }
  #pl-roof02 .pl-roof02__card-copy h3 { font-size: 17px !important; }
  #pl-roof02 .pl-roof02__card-copy p { font-size: 14px; }
}

/* ───────────── スマホ ───────────── */
@media screen and (max-width: 767px) {
  #pl-roof02.pl-roof02 {
    padding: 45px 16px 55px !important;
  }
  #pl-roof02.pl-roof02::before,
  #pl-roof02.pl-roof02::after {
    width: 200px;
    height: 145px;
    opacity: .32;
    background-size: 430px 287px;
  }
  #pl-roof02 .pl-roof02__heading { margin-bottom: 26px; }
  #pl-roof02 .pl-roof02__eyebrow {
    padding: 8px 16px !important;
    margin-bottom: 15px !important;
    font-size: 12px;
  }
  #pl-roof02 #pl-roof02-title {
    font-size: clamp(28px, 7.7vw, 35px) !important;
    line-height: 1.5 !important;
  }
  #pl-roof02 .pl-roof02__catch {
    margin: 13px 0 14px !important;
    font-size: clamp(17px, 4.4vw, 20px);
    line-height: 1.65;
  }
  #pl-roof02 .pl-roof02__lead {
    font-size: 15px;
    line-height: 1.9;
    text-align: left;
  }
  #pl-roof02 .pl-roof02__pc-only { display: none; }
  #pl-roof02 .pl-roof02__sp-only { display: inline; }
  #pl-roof02 .pl-roof02__cards { grid-template-columns: 1fr; gap: 16px; }
  #pl-roof02 .pl-roof02__card { padding: 6px; border-radius: 21px; }
  #pl-roof02 .pl-roof02__photo {
    height: auto;
    aspect-ratio: 2.0 / 1;
    border-radius: 16px 16px 10px 10px;
  }
  #pl-roof02 .pl-roof02__number { width: 52px; height: 52px; font-size: 24px; }
  #pl-roof02 .pl-roof02__card-body { gap: 13px; padding: 18px 13px 22px; }
  #pl-roof02 .pl-roof02__icon { width: 52px; height: 52px; flex-basis: 52px; }
  #pl-roof02 .pl-roof02__icon svg { width: 29px; height: 29px; }
  #pl-roof02 .pl-roof02__card-copy h3 { font-size: 20px !important; }
  #pl-roof02 .pl-roof02__card-copy p { font-size: 15px; line-height: 1.85; margin-top: 12px !important; }
  #pl-roof02 .pl-roof02__message {
    margin-top: 21px;
    grid-template-columns: 1fr;
    border-width: 4px;
    border-radius: 22px;
  }
  #pl-roof02 .pl-roof02__message-photo {
    min-height: 0;
    height: auto;
    aspect-ratio: 2.2 / 1;
    -webkit-mask-image: none;
    mask-image: none;
  }
  #pl-roof02 .pl-roof02__message-copy {
    padding: 18px 15px 26px;
  }
  #pl-roof02 #pl-roof02-message-title { font-size: clamp(23px, 6.3vw, 29px) !important; }
  #pl-roof02 .pl-roof02__message-copy > p:last-child { margin-top: 12px !important; font-size: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  #pl-roof02 * { scroll-behavior: auto; }
}
/* ============================================================
   ペイントリーフ大阪｜屋根塗装 SECTION 02　幅と上部余白の調整
   - SECTION 01 の画像表示幅（最大1200px）に合わせる
   - SECTION 01 と SECTION 02 の間に適度な余白を設ける
   - この屋根塗装ページの SECTION 02 のみに適用

   設置先：Cocoon子テーマ style.css の一番下に追記
   SECTION 01・02のHTML、これまでのCSSは変更不要
============================================================ */

/* PC・タブレット：ヘッダーと同じ最大1200px、上に36pxの余白 */
@media screen and (min-width: 768px) {
  body.page:has(.pl-roof01) #pl-roof02.pl-roof02 {
    left: auto !important;
    width: min(1200px, 100%) !important;
    max-width: 1200px !important;
    margin: 36px auto 0 !important;
    padding: 58px 30px 66px !important;
  }

  body.page:has(.pl-roof01) #pl-roof02 .pl-roof02__inner {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* スマホ：ヘッダーと同じ画面幅、上に24pxの余白 */
@media screen and (max-width: 767px) {
  body.page:has(.pl-roof01) #pl-roof02.pl-roof02 {
    left: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 24px auto 0 !important;
    padding: 44px 16px 52px !important;
  }

  body.page:has(.pl-roof01) #pl-roof02 .pl-roof02__inner {
    width: 100% !important;
    max-width: 100% !important;
  }
}
/* ============================================================
 ペイントリーフ大阪｜屋根塗装 SECTION 03｜スレート系屋根塗装の施工工程
 貼り付け先：Cocoon 子テーマ style.css の末尾（SECTION 02 CSSの後）
 対象：#pl-roof03 のみ。既存SECTIONとフォームは変更しません。
 SECTION 01/02 と同じ最大幅1200px、上部に余白あり。
============================================================ */
#pl-roof03.pl-roof03,
#pl-roof03.pl-roof03 * { box-sizing: border-box; }

#pl-roof03.pl-roof03 {
  position: relative;
  isolation: isolate;
  width: min(1200px, 100%) !important;
  max-width: 1200px !important;
  margin: 38px auto 0 !important;
  padding: 58px 18px 48px !important;
  overflow: hidden;
  color: #26372b;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  background:
    radial-gradient(ellipse at 0% 10%, rgba(226,247,214,.62), transparent 35%),
    radial-gradient(ellipse at 100% 72%, rgba(224,244,221,.58), transparent 33%),
    linear-gradient(180deg,#fff 0%,#fafff9 58%,#eff9ec 100%);
  border-radius: 24px;
}
#pl-roof03.pl-roof03::before,
#pl-roof03.pl-roof03::after {
  content:"";
  position:absolute;
  width: min(34vw, 290px);
  height: 210px;
  background: url("https://paintleaf-osaka.com/wp-content/uploads/2026/10/paintleaf-osaka-roof-section03-leaf-decoration.webp") left top / 420px auto no-repeat;
  pointer-events:none;
  opacity: .69;
  z-index: 0;
}
#pl-roof03.pl-roof03::before { top: 0; left: 0; }
#pl-roof03.pl-roof03::after { right: 0; bottom: 0; transform: rotate(180deg); opacity:.38; }
#pl-roof03 .pl-roof03__inner {position:relative; z-index:1; width:100%; max-width:1164px; margin:0 auto;}
#pl-roof03 h2, #pl-roof03 h3 {
  margin:0 !important; padding:0 !important; border:0 !important;
  background:none !important; box-shadow:none !important; text-shadow:none !important;
  border-radius:0 !important; letter-spacing: .005em;
}
#pl-roof03 h2::before, #pl-roof03 h2::after,
#pl-roof03 h3::before, #pl-roof03 h3::after { content:none !important; display:none !important; }
#pl-roof03 p {margin:0 !important; padding:0 !important;}
#pl-roof03 img {display:block; border:0; margin:0; padding:0; max-width:100%;}
#pl-roof03 .pl-roof03__heading {
  position:relative; margin: 0 auto 30px; max-width:1050px;
  text-align:center; padding:0 15px;
}
#pl-roof03 .pl-roof03__eyebrow {
  display:inline-block;
  padding:8px 28px !important;
  border-radius:30px; background:linear-gradient(110deg,#056c39,#11894b);
  color:#fff; font-size:15px; font-weight:800; letter-spacing:.045em;
  box-shadow:0 6px 14px rgba(4,99,46,.13);
}
#pl-roof03 #pl-roof03-title {
  position:relative; color:#232b24 !important;
  font-size:clamp(30px,4.2vw,52px) !important;
  font-weight:900 !important; line-height:1.4 !important;
  margin:13px 0 18px !important;
}
#pl-roof03 #pl-roof03-title span {color:#07813b;}
#pl-roof03 #pl-roof03-title::after {
  content:"" !important; position:absolute; display:block !important;
  width:min(530px,80%); height:11px; z-index:-1;
  bottom:4px; left:50%; transform:translateX(-50%) rotate(-.8deg);
  background:#fff078; border-radius:50%; opacity:.9;
}
#pl-roof03 .pl-roof03__sp-break {display:none;}
#pl-roof03 .pl-roof03__intro {
  font-size:15px; font-weight:550; line-height:1.9; color:#344038;
}

/* 工程写真つきの番号カード：PCは承認デザイン同様、上段5・下段6 */
#pl-roof03 .pl-roof03__process {display:grid;gap:14px;}
#pl-roof03 .pl-roof03__row {display:grid;gap:12px;align-items:stretch;}
#pl-roof03 .pl-roof03__row--first {grid-template-columns:repeat(5,minmax(0,1fr));}
#pl-roof03 .pl-roof03__row--second {grid-template-columns:repeat(6,minmax(0,1fr));}
#pl-roof03 .pl-roof03__step {
  min-width:0; position:relative; display:flex;flex-direction:column;
  padding:9px 9px 14px; border:1px solid #e6efe6; border-radius:16px;
  background:rgba(255,255,255,.97);
  box-shadow: 0 7px 22px rgba(42,100,54,.07);
}
#pl-roof03 .pl-roof03__step:not(:last-child)::after {
  content:"›"; display:flex; position:absolute; top:45%;right:-14px; z-index:3;
  color:#00823e; font-size:38px; font-family:Arial,sans-serif;
  font-weight:900; line-height:1; text-shadow:0 0 4px #fff;
}
#pl-roof03 .pl-roof03__step-head {
  display:flex;align-items:center;gap:7px;
  min-height:46px;margin-bottom:9px;
}
#pl-roof03 .pl-roof03__num {
  flex:0 0 41px; width:41px;height:41px;
  display:grid;place-items:center;
  border-radius:50%; color:#fff; background:linear-gradient(135deg,#006b38,#099345);
  font:700 19px/1 Georgia,"Times New Roman",serif;
  box-shadow:0 3px 7px rgba(17,111,47,.16);
}
#pl-roof03 .pl-roof03__step h3 {
  color:#182b20 !important; font-size:clamp(12px,1.12vw,15px) !important;
  font-weight:850 !important;line-height:1.35 !important;overflow-wrap:anywhere;
}
#pl-roof03 .pl-roof03__step h3 .pl-roof03__small {
  display:block;color:#087b40;font-size:clamp(11px,.93vw,13px);
  font-weight:800;line-height:1.38;
}
#pl-roof03 .pl-roof03__step img {
  width:100%;aspect-ratio:1.56 / 1;height:auto;object-fit:cover;
  border-radius:9px;background:#e5efe9;
}
#pl-roof03 .pl-roof03__step > p {
  padding:10px 1px 1px !important;
  color:#39433d; font-size:clamp(12px,1.06vw,13px);font-weight:500;line-height:1.7;
  overflow-wrap:break-word;
}
#pl-roof03 .pl-roof03__step > p strong {color:#087c3c;font-weight:850;}
#pl-roof03 .pl-roof03__step--primer {border-color:#d8eac7;background:#fdfff7;}
#pl-roof03 .pl-roof03__step--spacer {border-color:#d9e9d6;background:#f9fff8;}
#pl-roof03 .pl-roof03__step--complete {background:#f9fdf8;}
#pl-roof03 .pl-roof03__step--complete img {object-position:center 50%;}

/* 最後のこだわり帯：右側の屋根は装飾画像をCSSで表示 */
#pl-roof03 .pl-roof03__closing {
  position:relative;overflow:hidden; isolation:isolate;
  display:flex;align-items:center;
  min-height:155px;margin-top:18px;padding:25px 30px;
  border-radius:17px;
  background:linear-gradient(102deg,rgba(234,249,226,.97) 0%,rgba(255,255,255,.94) 52%,rgba(228,245,231,.92) 100%);
  border:1px solid #dfefdb;
}
#pl-roof03 .pl-roof03__closing-copy {
  position:relative;z-index:1;max-width:72%;
  padding-left:17px;border-left:4px solid #087a36;
}
#pl-roof03 .pl-roof03__closing-label {
  font-size:12px;font-weight:800;color:#07763e;letter-spacing:.04em;
}
#pl-roof03 .pl-roof03__closing h3 {
  margin:3px 0 8px !important;
  color:#243228 !important;font-size:clamp(20px,2.7vw,32px) !important;
  font-weight:900 !important;line-height:1.35 !important;
}
#pl-roof03 .pl-roof03__closing h3 span {color:#057a35;}
#pl-roof03 .pl-roof03__closing-copy > p:last-child {font-size:14px;line-height:1.75;color:#39453b;}
#pl-roof03 .pl-roof03__closing-art {
  position:absolute;z-index:0;right:0;top:0;bottom:0;
  width:36%;pointer-events:none;
  background:linear-gradient(90deg,#f8fdf6 0%,rgba(248,253,246,0) 45%),
    url("https://paintleaf-osaka.com/wp-content/uploads/2026/10/paintleaf-osaka-roof-section03-roof-decoration.webp") center / cover no-repeat;
  opacity:.87;
}
#pl-roof03 .pl-roof03__note {
  color:#667469; font-size:12px;line-height:1.7;
  margin-top:14px !important;
}

/* 1024px以下：3+3で並べ、説明文の読みやすさを優先 */
@media screen and (max-width:1100px) {
  #pl-roof03 .pl-roof03__row--first,
  #pl-roof03 .pl-roof03__row--second {grid-template-columns:repeat(3,minmax(0,1fr));}
  #pl-roof03 .pl-roof03__step h3 {font-size:15px !important;}
  #pl-roof03 .pl-roof03__step h3 .pl-roof03__small {font-size:12px;}
  #pl-roof03 .pl-roof03__step > p {font-size:13px;}
  #pl-roof03 .pl-roof03__row .pl-roof03__step:nth-child(3n)::after {display:none;}
}

/* スマホ：番号順を保ち、写真左・説明右でコンパクトに */
@media screen and (max-width:767px) {
  #pl-roof03.pl-roof03 {
    width:100% !important;max-width:100% !important;
    margin:24px auto 0 !important;
    padding:42px 13px 44px !important;
    border-radius:0;
  }
  #pl-roof03.pl-roof03::before, #pl-roof03.pl-roof03::after {
    width:150px;height:150px;background-size:300px auto;opacity:.36;
  }
  #pl-roof03 .pl-roof03__heading {padding:0 6px; margin-bottom:24px;}
  #pl-roof03 .pl-roof03__eyebrow {font-size:12px;padding:7px 17px !important;}
  #pl-roof03 #pl-roof03-title {font-size:clamp(25px,7.1vw,33px) !important;line-height:1.4 !important;margin:12px 0 14px !important;}
  #pl-roof03 .pl-roof03__sp-break {display:block;}
  #pl-roof03 #pl-roof03-title::after {height:8px;bottom:2px;}
  #pl-roof03 .pl-roof03__intro {font-size:13px;text-align:left;line-height:1.86;}
  #pl-roof03 .pl-roof03__pc-only {display:none;}
  #pl-roof03 .pl-roof03__process {gap:12px;}
  #pl-roof03 .pl-roof03__row--first,
  #pl-roof03 .pl-roof03__row--second {grid-template-columns:1fr;gap:12px;}
  #pl-roof03 .pl-roof03__step {display:grid;grid-template-columns:39% minmax(0,1fr);column-gap:12px;grid-template-rows:auto 1fr;padding:10px;border-radius:15px;min-height:144px;}
  #pl-roof03 .pl-roof03__step-head {grid-column:1 / -1;min-height:36px;margin-bottom:8px;gap:9px;}
  #pl-roof03 .pl-roof03__num {width:34px;height:34px;flex:0 0 34px;font-size:16px;}
  #pl-roof03 .pl-roof03__step h3 {font-size:16px !important;overflow-wrap:normal;}
  #pl-roof03 .pl-roof03__step h3 .pl-roof03__small {display:inline;font-size:12px;margin-left:4px;}
  #pl-roof03 .pl-roof03__step img {grid-column:1;grid-row:2;aspect-ratio:auto;height:100%;min-height:88px;object-fit:cover;border-radius:10px;}
  #pl-roof03 .pl-roof03__step > p {grid-column:2;grid-row:2;align-self:center;padding:0 !important;font-size:13px;line-height:1.7;}
  #pl-roof03 .pl-roof03__row .pl-roof03__step::after {display:none;}
  #pl-roof03 .pl-roof03__closing {min-height:0;margin-top:18px;padding:25px 18px;border-radius:15px;}
  #pl-roof03 .pl-roof03__closing-copy {max-width:100%;padding-left:13px;}
  #pl-roof03 .pl-roof03__closing-label {font-size:11px;}
  #pl-roof03 .pl-roof03__closing h3 {font-size:clamp(20px,5.1vw,25px) !important;}
  #pl-roof03 .pl-roof03__closing-copy > p:last-child {font-size:13px;line-height:1.7;}
  #pl-roof03 .pl-roof03__closing-art {width:100%;opacity:.1;background-position:center;}
  #pl-roof03 .pl-roof03__note {font-size:11px;margin-top:11px !important;}
}
@media (prefers-reduced-motion: reduce) {
  #pl-roof03 * {scroll-behavior:auto !important;}
}
/* ============================================================
 ペイントリーフ大阪｜屋根塗装 SECTION 03｜セメント系屋根塗装の施工工程
 貼り付け先：Cocoon 子テーマ style.css の末尾（SECTION 02 CSSの後）
 対象：#pl-roof04 のみ。既存SECTIONとフォームは変更しません。
 SECTION 01/02 と同じ最大幅1200px、上部に余白あり。
============================================================ */
#pl-roof04.pl-roof04,
#pl-roof04.pl-roof04 * { box-sizing: border-box; }

#pl-roof04.pl-roof04 {
  position: relative;
  isolation: isolate;
  width: min(1200px, 100%) !important;
  max-width: 1200px !important;
  margin: 38px auto 0 !important;
  padding: 58px 18px 48px !important;
  overflow: hidden;
  color: #26372b;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  background:
    radial-gradient(ellipse at 0% 10%, rgba(226,247,214,.62), transparent 35%),
    radial-gradient(ellipse at 100% 72%, rgba(224,244,221,.58), transparent 33%),
    linear-gradient(180deg,#fff 0%,#fafff9 58%,#eff9ec 100%);
  border-radius: 24px;
}
#pl-roof04.pl-roof04::before,
#pl-roof04.pl-roof04::after {
  content:"";
  position:absolute;
  width: min(34vw, 290px);
  height: 210px;
  background: url("https://paintleaf-osaka.com/wp-content/uploads/2026/10/paintleaf-osaka-roof-section04-leaf-decoration.webp") left top / 420px auto no-repeat;
  pointer-events:none;
  opacity: .69;
  z-index: 0;
}
#pl-roof04.pl-roof04::before { top: 0; left: 0; }
#pl-roof04.pl-roof04::after { right: 0; bottom: 0; transform: rotate(180deg); opacity:.38; }
#pl-roof04 .pl-roof04__inner {position:relative; z-index:1; width:100%; max-width:1164px; margin:0 auto;}
#pl-roof04 h2, #pl-roof04 h3 {
  margin:0 !important; padding:0 !important; border:0 !important;
  background:none !important; box-shadow:none !important; text-shadow:none !important;
  border-radius:0 !important; letter-spacing: .005em;
}
#pl-roof04 h2::before, #pl-roof04 h2::after,
#pl-roof04 h3::before, #pl-roof04 h3::after { content:none !important; display:none !important; }
#pl-roof04 p {margin:0 !important; padding:0 !important;}
#pl-roof04 img {display:block; border:0; margin:0; padding:0; max-width:100%;}
#pl-roof04 .pl-roof04__heading {
  position:relative; margin: 0 auto 30px; max-width:1050px;
  text-align:center; padding:0 15px;
}
#pl-roof04 .pl-roof04__eyebrow {
  display:inline-block;
  padding:8px 28px !important;
  border-radius:30px; background:linear-gradient(110deg,#056c39,#11894b);
  color:#fff; font-size:15px; font-weight:800; letter-spacing:.045em;
  box-shadow:0 6px 14px rgba(4,99,46,.13);
}
#pl-roof04 #pl-roof04-title {
  position:relative; color:#232b24 !important;
  font-size:clamp(30px,4.2vw,52px) !important;
  font-weight:900 !important; line-height:1.4 !important;
  margin:13px 0 18px !important;
}
#pl-roof04 #pl-roof04-title span {color:#07813b;}
#pl-roof04 #pl-roof04-title::after {
  content:"" !important; position:absolute; display:block !important;
  width:min(530px,80%); height:11px; z-index:-1;
  bottom:4px; left:50%; transform:translateX(-50%) rotate(-.8deg);
  background:#fff078; border-radius:50%; opacity:.9;
}
#pl-roof04 .pl-roof04__sp-break {display:none;}
#pl-roof04 .pl-roof04__intro {
  font-size:15px; font-weight:550; line-height:1.9; color:#344038;
}


/* 上部のセメント瓦背景：承認デザインの写真を見出しの背景として使用 */
#pl-roof04 .pl-roof04__heading {
  min-height:260px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding:24px 38% 24px 34px;
  max-width:none;
  margin:0 auto 24px;
  text-align:left;
  border-radius:18px;
  isolation:isolate;
  overflow:hidden;
}
#pl-roof04 .pl-roof04__heading::before {
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.78) 46%,rgba(255,255,255,.22) 66%,rgba(255,255,255,0) 88%),url("https://paintleaf-osaka.com/wp-content/uploads/2026/10/paintleaf-osaka-roof-section04-header-decoration.webp") center 52% / cover no-repeat;
  opacity:.94;
}
#pl-roof04 #pl-roof04-title {
  font-size:clamp(29px,3.9vw,47px) !important;
  line-height:1.28 !important;margin:14px 0 8px !important;
}
#pl-roof04 #pl-roof04-title::after {display:none!important;content:none!important;}
#pl-roof04 .pl-roof04__catch {font-size:clamp(18px,2.1vw,24px);font-weight:850;color:#182d20;line-height:1.55;margin-bottom:13px!important;}
#pl-roof04 .pl-roof04__catch span {color:#087e3c;}
#pl-roof04 .pl-roof04__intro {font-size:14px;line-height:1.85;}
/* 工程写真つきの番号カード：PCは承認デザイン同様、上段5・下段4 */
#pl-roof04 .pl-roof04__process {display:grid;gap:14px;}
#pl-roof04 .pl-roof04__row {display:grid;gap:12px;align-items:stretch;}
#pl-roof04 .pl-roof04__row--first {grid-template-columns:repeat(5,minmax(0,1fr));}
#pl-roof04 .pl-roof04__row--second {grid-template-columns:repeat(4,minmax(0,1fr));}
#pl-roof04 .pl-roof04__step {
  min-width:0; position:relative; display:flex;flex-direction:column;
  padding:9px 9px 14px; border:1px solid #e6efe6; border-radius:16px;
  background:rgba(255,255,255,.97);
  box-shadow: 0 7px 22px rgba(42,100,54,.07);
}
#pl-roof04 .pl-roof04__step:not(:last-child)::after {
  content:"›"; display:flex; position:absolute; top:45%;right:-14px; z-index:3;
  color:#00823e; font-size:38px; font-family:Arial,sans-serif;
  font-weight:900; line-height:1; text-shadow:0 0 4px #fff;
}
#pl-roof04 .pl-roof04__step-head {
  display:flex;align-items:center;gap:7px;
  min-height:46px;margin-bottom:9px;
}
#pl-roof04 .pl-roof04__num {
  flex:0 0 41px; width:41px;height:41px;
  display:grid;place-items:center;
  border-radius:50%; color:#fff; background:linear-gradient(135deg,#006b38,#099345);
  font:700 19px/1 Georgia,"Times New Roman",serif;
  box-shadow:0 3px 7px rgba(17,111,47,.16);
}
#pl-roof04 .pl-roof04__step h3 {
  color:#182b20 !important; font-size:clamp(12px,1.12vw,15px) !important;
  font-weight:850 !important;line-height:1.35 !important;overflow-wrap:anywhere;
}
#pl-roof04 .pl-roof04__step h3 .pl-roof04__small {
  display:block;color:#087b40;font-size:clamp(11px,.93vw,13px);
  font-weight:800;line-height:1.38;
}
#pl-roof04 .pl-roof04__step img {
  width:100%;aspect-ratio:1.56 / 1;height:auto;object-fit:cover;
  border-radius:9px;background:#e5efe9;
}
#pl-roof04 .pl-roof04__step > p {
  padding:10px 1px 1px !important;
  color:#39433d; font-size:clamp(12px,1.06vw,13px);font-weight:500;line-height:1.7;
  overflow-wrap:break-word;
}
#pl-roof04 .pl-roof04__step > p strong {color:#087c3c;font-weight:850;}
#pl-roof04 .pl-roof04__step--primer {border-color:#d8eac7;background:#fdfff7;}
#pl-roof04 .pl-roof04__step--spacer {border-color:#d9e9d6;background:#f9fff8;}
#pl-roof04 .pl-roof04__step--complete {background:#f9fdf8;}
#pl-roof04 .pl-roof04__step--complete img {object-position:center 50%;}


/* モニエル瓦の注意点：工程カードとは区別して独立した説明パネルに */
#pl-roof04 .pl-roof04__monier {
  position:relative;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);
  align-items:stretch;gap:22px;
  margin-top:20px;padding:20px 22px 20px 25px;
  border:2px solid #d8eacb;border-radius:20px;
  background:linear-gradient(107deg,#fafff7 0%,#fff 68%,#f2fbee 100%);
  box-shadow:0 8px 26px rgba(43,100,54,.08);overflow:hidden;
}
#pl-roof04 .pl-roof04__monier-body {align-self:center;min-width:0;}
#pl-roof04 .pl-roof04__monier-kicker {display:inline-block;font-size:12px;font-weight:800;letter-spacing:.03em;color:#0b7640;background:#e7f4dc;border-radius:30px;padding:5px 16px!important;margin-bottom:10px!important;}
#pl-roof04 .pl-roof04__monier-title-row {display:flex;align-items:center;gap:14px;margin-bottom:10px;}
#pl-roof04 .pl-roof04__alert-icon {display:grid;place-items:center;flex:0 0 56px;width:56px;height:56px;color:#fff;background:linear-gradient(140deg,#006e37,#12994b);border-radius:50%;font-size:36px;line-height:1;font-weight:950;font-family:Arial,sans-serif;}
#pl-roof04 .pl-roof04__monier h3 {color:#192d21!important;font-size:clamp(23px,3.3vw,38px)!important;font-weight:900!important;line-height:1.4!important;}
#pl-roof04 .pl-roof04__monier h3 span {color:#077e39;box-shadow:inset 0 -7px 0 #fff393;}
#pl-roof04 .pl-roof04__monier-lead {font-size:17px!important;color:#c65317!important;font-weight:850;margin-bottom:11px!important;}
#pl-roof04 .pl-roof04__monier-body > p:not(.pl-roof04__monier-kicker) {line-height:1.83;font-size:14px;}
#pl-roof04 .pl-roof04__monier-body > p + p {margin-top:7px!important;}
#pl-roof04 .pl-roof04__monier-body strong {color:#0a7840;font-weight:850;}
#pl-roof04 .pl-roof04__monier-body > p.pl-roof04__monier-detail {font-size:12px;color:#526357;margin-top:12px!important;}
#pl-roof04 .pl-roof04__monier > img {width:100%;height:100%;min-height:225px;max-height:300px;object-fit:cover;object-position:center;border-radius:14px;}

/* こだわり帯：下部背景装飾は専用WebP */
#pl-roof04 .pl-roof04__closing {
  position:relative;isolation:isolate;overflow:hidden;
  min-height:150px;display:flex;align-items:center;margin-top:17px;
  padding:25px 34px;border-radius:17px;border:1px solid #e1efdf;
  background:linear-gradient(90deg,#f1faee,#fff);
}
#pl-roof04 .pl-roof04__closing::before {
  content:"";position:absolute;inset:0;z-index:-1;
  background: url("https://paintleaf-osaka.com/wp-content/uploads/2026/10/paintleaf-osaka-roof-section04-bottom-decoration.webp") center 47% / cover no-repeat;
  opacity:.94;
}
#pl-roof04 .pl-roof04__closing-copy {position:relative;width:67%;padding-left:18px;border-left:4px solid #0a853d;}
#pl-roof04 .pl-roof04__closing-label {font-size:12px;font-weight:850;color:#077139;letter-spacing:.03em;}
#pl-roof04 .pl-roof04__closing h3 {font-size:clamp(20px,2.5vw,31px)!important;line-height:1.4!important;font-weight:900!important;color:#192b22!important;margin:4px 0 7px!important;}
#pl-roof04 .pl-roof04__closing h3 span {color:#08833c;box-shadow:inset 0 -6px 0 #fff393;}
#pl-roof04 .pl-roof04__closing-copy > p:last-child {font-size:13px;line-height:1.75;color:#303e33;}
#pl-roof04 .pl-roof04__note {color:#68766a;font-size:12px;line-height:1.75;margin-top:14px!important;}

/* タブレット：既存SECTION 03と同じ3列、ヘッダーの説明幅を確保 */
@media screen and (max-width:1100px) {
  #pl-roof04 .pl-roof04__row--first,#pl-roof04 .pl-roof04__row--second {grid-template-columns:repeat(3,minmax(0,1fr));}
  #pl-roof04 .pl-roof04__step h3 {font-size:15px!important;}
  #pl-roof04 .pl-roof04__step h3 .pl-roof04__small {font-size:12px;}
  #pl-roof04 .pl-roof04__step > p {font-size:13px;}
  #pl-roof04 .pl-roof04__row .pl-roof04__step:nth-child(3n)::after {display:none;}
  #pl-roof04 .pl-roof04__heading {padding-right:32%;}
}
/* スマホ：縦方向の工程順・横はみ出し防止 */
@media screen and (max-width:767px) {
  #pl-roof04.pl-roof04 {width:100%!important;max-width:100%!important;margin:24px auto 0!important;padding:38px 13px 44px!important;border-radius:0;}
  #pl-roof04.pl-roof04::before,#pl-roof04.pl-roof04::after {width:150px;height:150px;background-size:300px auto;opacity:.3;}
  #pl-roof04 .pl-roof04__heading {min-height:0;padding:16px 11px 17px;margin-bottom:22px;align-items:center;text-align:center;border-radius:14px;}
  #pl-roof04 .pl-roof04__heading::before {background-position:65% center;opacity:.18;}
  #pl-roof04 .pl-roof04__eyebrow {font-size:12px;padding:7px 17px!important;}
  #pl-roof04 #pl-roof04-title {font-size:clamp(27px,7vw,34px)!important;line-height:1.4!important;margin:14px 0 7px!important;}
  #pl-roof04 .pl-roof04__catch {font-size:17px;margin-bottom:10px!important;}
  #pl-roof04 .pl-roof04__intro {font-size:13px;text-align:left;line-height:1.85;}
  #pl-roof04 .pl-roof04__pc-only {display:none;}
  #pl-roof04 .pl-roof04__process {gap:12px;}
  #pl-roof04 .pl-roof04__row--first,#pl-roof04 .pl-roof04__row--second {grid-template-columns:1fr;gap:12px;}
  #pl-roof04 .pl-roof04__step {display:grid;grid-template-columns:39% minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:12px;padding:10px;min-height:145px;border-radius:15px;}
  #pl-roof04 .pl-roof04__step-head {grid-column:1/-1;min-height:38px;margin-bottom:9px;gap:9px;}
  #pl-roof04 .pl-roof04__num {width:35px;height:35px;flex:0 0 35px;font-size:17px;}
  #pl-roof04 .pl-roof04__step h3 {font-size:16px!important;overflow-wrap:normal;}
  #pl-roof04 .pl-roof04__step h3 .pl-roof04__small {display:inline;font-size:12px;margin-left:4px;}
  #pl-roof04 .pl-roof04__step img {grid-column:1;grid-row:2;aspect-ratio:auto;height:100%;min-height:88px;object-fit:cover;border-radius:10px;}
  #pl-roof04 .pl-roof04__step > p {grid-column:2;grid-row:2;align-self:center;padding:0!important;font-size:13px;line-height:1.65;}
  #pl-roof04 .pl-roof04__row .pl-roof04__step::after {display:none;}
  #pl-roof04 .pl-roof04__monier {grid-template-columns:1fr;gap:12px;padding:19px 15px;border-radius:17px;margin-top:16px;}
  #pl-roof04 .pl-roof04__alert-icon {flex-basis:42px;width:42px;height:42px;font-size:28px;}
  #pl-roof04 .pl-roof04__monier-title-row {gap:10px;}
  #pl-roof04 .pl-roof04__monier h3 {font-size:25px!important;}
  #pl-roof04 .pl-roof04__monier-lead {font-size:15px!important;}
  #pl-roof04 .pl-roof04__monier-body > p:not(.pl-roof04__monier-kicker) {font-size:13px;line-height:1.8;}
  #pl-roof04 .pl-roof04__monier-body > p.pl-roof04__monier-detail {font-size:11px;}
  #pl-roof04 .pl-roof04__monier > img {height:auto;min-height:0;max-height:200px;aspect-ratio:2/1;object-fit:cover;}
  #pl-roof04 .pl-roof04__closing {padding:22px 16px;min-height:0;margin-top:17px;}
  #pl-roof04 .pl-roof04__closing::before {opacity:.11;background-position:right center;}
  #pl-roof04 .pl-roof04__closing-copy {width:100%;padding-left:12px;}
  #pl-roof04 .pl-roof04__closing-label {font-size:11px;}
  #pl-roof04 .pl-roof04__closing h3 {font-size:21px!important;}
  #pl-roof04 .pl-roof04__closing-copy > p:last-child {font-size:13px;}
  #pl-roof04 .pl-roof04__note {font-size:11px;margin-top:11px!important;}
}
@media (prefers-reduced-motion:reduce) {#pl-roof04 * {scroll-behavior:auto!important;}}
/* =========================================================
 ペイントリーフ大阪｜会社案内 SECTION 01
 Cocoon 子テーマ style.css の末尾に追加してください。
 対象：会社案内の .pl-company01 があるページのみ。
 画像：PC 1536×574（トリミングなし）、SP 1600×900（16:9）。
 他ページ・お問い合わせフォームのCSSには影響しません。
========================================================= */

/* WordPress/Cocoon が出力する「会社案内」の標準タイトルは
   要素を残して視覚的にだけ非表示。パンくず等には影響させない。 */
body.page:has(.pl-company01) .article-header {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  border: 0 !important;
  clip-path: inset(50%) !important;
  clip: rect(0, 0, 0, 0) !important;
}

/* この固定ページの本文領域だけを1カラム化して横幅制限を解除。 */
body.page:has(.pl-company01) #sidebar,
body.page:has(.pl-company01) .sidebar {
  display: none !important;
}
body.page:has(.pl-company01) #content-in,
body.page:has(.pl-company01) .content-in {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
}
body.page:has(.pl-company01) #main,
body.page:has(.pl-company01) .main {
  width: 100% !important;
  max-width: none !important;
  flex: 0 0 100% !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}
body.page:has(.pl-company01) #content,
body.page:has(.pl-company01) .content,
body.page:has(.pl-company01) #content-in,
body.page:has(.pl-company01) .content-in,
body.page:has(.pl-company01) #main,
body.page:has(.pl-company01) .main,
body.page:has(.pl-company01) article.article,
body.page:has(.pl-company01) .entry-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
body.page:has(.pl-company01) article.article,
body.page:has(.pl-company01) .entry-content {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.page:has(.pl-company01) .entry-content > :first-child,
body.page:has(.pl-company01) .entry-content > .wp-block-html:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* セクションの外側は画面幅、画像は1200pxに収めて中央揃え。 */
body.page:has(.pl-company01) .pl-company01 {
  position: relative;
  left: 50%;
  width: 100vw;
  max-width: 100vw;
  margin: 0 0 0 -50vw !important;
  padding: 0 !important;
  border: 0 !important;
  box-sizing: border-box;
  overflow: hidden;
  background: #fff;
}

body.page:has(.pl-company01) .pl-company01__picture {
  display: block;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0;
  line-height: 0;
}
body.page:has(.pl-company01) .pl-company01__image {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  object-fit: contain !important;
}

/* 画像に文字があるため視覚上の重複を避け、
   HTMLの見出し・説明を読み上げ可能な形で保持。 */
body.page:has(.pl-company01) .pl-company01__accessible-copy {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  border: 0 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  clip-path: inset(50%) !important;
  clip: rect(0, 0, 0, 0) !important;
}

@media screen and (max-width: 767px) {
  body.page:has(.pl-company01) .pl-company01__picture {
    max-width: none;
  }
}
/* ============================================================
  ペイントリーフ大阪｜会社案内 SECTION 02
  既存Cocoon子テーマ style.css の末尾に追加してください。
  .pl-company02 内のみの専用CSS／他ページ・フォームには影響しません。
  デザイン：PC最大1200px、左右写真＋３項目、下部の理念、スマホ縦配置。
============================================================ */

.pl-company02,
.pl-company02 * {
  box-sizing: border-box;
}

.pl-company02 {
  position: relative;
  isolation: isolate;
  width: calc(100% - 40px);
  max-width: 1200px;
  margin: 40px auto 64px !important;
  overflow: hidden;
  border: 1px solid #e3eddc;
  border-radius: 20px;
  background: linear-gradient(150deg, #fff 27%, #fdfff9 70%, #f4faef 100%);
  color: #202a22;
  box-shadow: 0 16px 44px rgba(8, 64, 33, .075);
}

/* CSS装飾：薄いグリーンの輪（装飾画像の追加は不要） */
.pl-company02::before,
.pl-company02::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: -1;
  border: 63px solid rgba(185, 222, 139, .40);
  border-radius: 50%;
}
.pl-company02::before {
  width: 310px;
  height: 310px;
  top: -145px;
  right: -140px;
}
.pl-company02::after {
  width: 215px;
  height: 215px;
  bottom: -130px;
  left: -165px;
}

.pl-company02 .pl-company02__inner {
  position: relative;
  z-index: 1;
  padding: 65px 69px 57px;
}
.pl-company02 .pl-company02__topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 12px;
}
.pl-company02 .pl-company02__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: #087847;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .145em;
}
.pl-company02 .pl-company02__eyebrow::before {
  content: "";
  display: block;
  flex: 0 0 36px;
  height: 2px;
  background: #91b73a;
}
.pl-company02 .pl-company02__tag {
  display: inline-block;
  flex-shrink: 0;
  border: 1px solid #d8e9c8;
  border-radius: 100px;
  padding: 4px 15px;
  background: #f0f7e7;
  color: #16734a;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
}

/* Cocoonの汎用見出し装飾の混入を局所的に防ぐ */
.pl-company02 .pl-company02__heading,
.pl-company02 .pl-company02__point-body h3 {
  display: block;
  clear: none;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  text-shadow: none;
  color: #202a22;
}
.pl-company02 .pl-company02__heading::before,
.pl-company02 .pl-company02__heading::after,
.pl-company02 .pl-company02__point-body h3::before,
.pl-company02 .pl-company02__point-body h3::after {
  content: none;
}
.pl-company02 .pl-company02__heading {
  font-size: clamp(30px, 3.25vw, 43px);
  font-weight: 850;
  letter-spacing: .013em;
  line-height: 1.44;
  margin-bottom: 17px;
}
.pl-company02 .pl-company02__heading-line { display: block; }
.pl-company02 .pl-company02__sp-break { display: none; }
.pl-company02 .pl-company02__emphasis {
  color: #087847;
  background-image: linear-gradient(transparent 82%, #edf6a5 82%);
  background-repeat: no-repeat;
}
.pl-company02 .pl-company02__lead {
  margin: 0 0 43px;
  padding: 0;
  color: #2e3b32;
  font-size: 15.5px;
  line-height: 1.92;
  font-weight: 500;
}
.pl-company02 .pl-company02__main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.04fr);
  align-items: start;
  gap: 48px;
}
.pl-company02 .pl-company02__photo {
  position: relative;
  width: 100%;
  height: 465px;
  margin: 0;
  overflow: hidden;
  border-radius: 8px 60px 8px 8px;
  background: #e5efe6;
  box-shadow: 0 14px 32px rgba(16, 42, 28, .13);
}
.pl-company02 .pl-company02__photo img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  border: 0;
  object-fit: cover;
  object-position: center 43%;
}
.pl-company02 .pl-company02__photo::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(6, 54, 36, 0) 46%, rgba(6, 54, 36, .82) 100%);
}
.pl-company02 .pl-company02__photo-caption {
  position: absolute;
  left: 30px;
  right: 18px;
  bottom: 26px;
  z-index: 1;
  color: #fff;
  font-style: normal;
}
.pl-company02 .pl-company02__photo-caption span {
  display: block;
  margin-bottom: 7px;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: .16em;
}
.pl-company02 .pl-company02__photo-caption strong {
  display: block;
  color: #fff;
  font-size: 22px;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: .02em;
}

.pl-company02 .pl-company02__principles {
  padding-top: 1px;
}
.pl-company02 .pl-company02__principles-label {
  margin: 0 0 19px;
  padding: 0;
  color: #577461;
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: .12em;
}
.pl-company02 .pl-company02__point {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 18px;
  padding: 17px 0 20px;
  border-bottom: 1px solid #dce6da;
}
.pl-company02 .pl-company02__point-number {
  color: #88b32e;
  font-family: Georgia, 'Noto Serif JP', 'Hiragino Mincho ProN', serif;
  font-size: 31px;
  font-weight: 700;
  line-height: 1.25;
}
.pl-company02 .pl-company02__point-body h3 {
  margin: 0 0 7px;
  font-size: 18px;
  font-weight: 850;
  line-height: 1.55;
  letter-spacing: .008em;
}
.pl-company02 .pl-company02__point-body p {
  margin: 0;
  padding: 0;
  color: #49584e;
  font-size: 14px;
  line-height: 1.82;
}

.pl-company02 .pl-company02__philosophy {
  position: relative;
  display: flex;
  align-items: center;
  gap: 21px;
  min-height: 112px;
  overflow: hidden;
  margin-top: 42px;
  padding: 19px 29px;
  border-left: 6px solid #087847;
  border-radius: 11px;
  background: #ecf6e4;
}
.pl-company02 .pl-company02__philosophy::after {
  content: '“';
  position: absolute;
  right: 22px;
  bottom: -118px;
  color: rgba(139, 186, 105, .34);
  font-family: Georgia, serif;
  font-size: 170px;
  font-weight: 700;
  line-height: 1;
  pointer-events: none;
}
.pl-company02 .pl-company02__philosophy-label {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  display: inline-block;
  padding: 7px 17px;
  border-radius: 60px;
  background: #087847;
  color: #fff;
  font-size: 10.5px;
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: .06em;
}
.pl-company02 .pl-company02__philosophy-message {
  position: relative;
  z-index: 1;
  margin: 0;
  padding: 0;
  color: #075338;
  font-family: 'Noto Serif JP', 'Yu Mincho', 'Hiragino Mincho ProN', serif;
  font-size: 24px;
  font-weight: 800;
  line-height: 1.48;
  letter-spacing: .025em;
}

@media screen and (max-width: 1024px) {
  .pl-company02 .pl-company02__inner { padding: 49px 42px 43px; }
  .pl-company02 .pl-company02__main { gap: 30px; }
  .pl-company02 .pl-company02__photo { height: 445px; }
  .pl-company02 .pl-company02__heading { font-size: clamp(29px, 3.6vw, 39px); }
  .pl-company02 .pl-company02__point-body h3 { font-size: 16.5px; }
  .pl-company02 .pl-company02__point { gap: 10px; grid-template-columns: 44px minmax(0, 1fr); }
  .pl-company02 .pl-company02__philosophy-message { font-size: 21px; }
}

/* スマホ／小さめタブレット：写真→3つの考え方→理念の順 */
@media screen and (max-width: 767px) {
  .pl-company02 {
    width: calc(100% - 28px);
    margin: 28px auto 44px !important;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(8, 64, 33, .065);
  }
  .pl-company02::before {
    width: 170px;
    height: 170px;
    top: -105px;
    right: -116px;
    border-width: 38px;
  }
  .pl-company02::after {
    width: 160px;
    height: 160px;
    bottom: -120px;
    left: -114px;
    border-width: 33px;
  }
  .pl-company02 .pl-company02__inner {
    padding: 34px 22px 34px;
  }
  .pl-company02 .pl-company02__topline {
    align-items: flex-start;
  }
  .pl-company02 .pl-company02__eyebrow {
    font-size: 10.5px;
    letter-spacing: .07em;
    gap: 7px;
  }
  .pl-company02 .pl-company02__eyebrow::before { flex-basis: 20px; }
  .pl-company02 .pl-company02__tag { display: none; }
  .pl-company02 .pl-company02__heading {
    margin-bottom: 15px;
    font-size: clamp(26px, 7.2vw, 32px);
    letter-spacing: -.026em;
    line-height: 1.42;
    overflow-wrap: anywhere;
  }
  .pl-company02 .pl-company02__sp-break { display: block; }
  .pl-company02 .pl-company02__lead {
    margin-bottom: 25px;
    font-size: 15px;
    line-height: 1.9;
  }
  .pl-company02 .pl-company02__pc-only { display: none; }
  .pl-company02 .pl-company02__main {
    display: flex;
    flex-direction: column;
    gap: 31px;
  }
  .pl-company02 .pl-company02__photo {
    height: auto;
    aspect-ratio: 1.05 / 1;
    border-radius: 7px 36px 7px 7px;
  }
  .pl-company02 .pl-company02__photo img {
    object-position: center 43%;
  }
  .pl-company02 .pl-company02__photo-caption { left: 19px; bottom: 18px; right: 10px; }
  .pl-company02 .pl-company02__photo-caption span { font-size: 9px; }
  .pl-company02 .pl-company02__photo-caption strong { font-size: 20px; }
  .pl-company02 .pl-company02__principles-label {
    margin: 0 0 10px;
    font-size: 12px;
  }
  .pl-company02 .pl-company02__point {
    grid-template-columns: 37px minmax(0, 1fr);
    gap: 10px;
    padding: 15px 0 17px;
  }
  .pl-company02 .pl-company02__point-number { font-size: 27px; }
  .pl-company02 .pl-company02__point-body h3 {
    margin-bottom: 6px;
    font-size: 17px;
    line-height: 1.55;
  }
  .pl-company02 .pl-company02__point-body p {
    font-size: 14px;
    line-height: 1.84;
  }
  .pl-company02 .pl-company02__philosophy {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
    min-height: 0;
    margin-top: 29px;
    padding: 20px 19px 21px;
    border-left-width: 5px;
    border-radius: 9px;
  }
  .pl-company02 .pl-company02__philosophy::after {
    right: 5px;
    bottom: -107px;
    font-size: 130px;
  }
  .pl-company02 .pl-company02__philosophy-label { font-size: 9px; padding: 6px 12px; }
  .pl-company02 .pl-company02__philosophy-message {
    font-size: clamp(18px, 5vw, 22px);
    line-height: 1.66;
  }
}

@media screen and (max-width: 360px) {
  .pl-company02 .pl-company02__inner { padding: 29px 17px; }
  .pl-company02 .pl-company02__heading { font-size: 25px; }
  .pl-company02 .pl-company02__point-body h3 { font-size: 16px; }
}
/* ============================================================
 ペイントリーフ大阪｜会社案内 SECTION 03「代表挨拶」
 Cocoon子テーマ style.css の末尾に追加してください。
 全クラスを .pl-company03 に限定。既存セクションに影響しません。
 PC：最大1200px ／ スマホ：縦配置 ／ 写真は薄緑枠の下端に密着。
============================================================ */

.pl-company03,
.pl-company03 *,
.pl-company03 *::before,
.pl-company03 *::after { box-sizing: border-box; }

.pl-company03 {
  width: calc(100% - 40px);
  max-width: 1200px;
  margin: 48px auto 64px !important;
  padding: 0 0 25px;
  overflow: hidden;
  position: relative;
  isolation: isolate;
  border: 1px solid #e1e9e0;
  border-radius: 17px;
  background: #fff;
  color: #1d2922;
  box-shadow: 0 14px 45px rgba(18,58,32,.065);
}

.pl-company03 .pl-company03__topline {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  padding: 31px 54px 26px;
  border-bottom: 1px solid #e7eee6;
}
.pl-company03 .pl-company03__eyebrow {
  display: flex;
  align-items: center;
  gap: 13px;
  margin: 0;
  color: #087847;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .15em;
  line-height: 1.4;
}
.pl-company03 .pl-company03__eyebrow::before {
  content: "";
  width: 36px;
  height: 2px;
  flex: none;
  background: #9ac744;
}
.pl-company03 .pl-company03__section-label {
  flex-shrink: 0;
  font-size: 12px;
  font-weight: 500;
  color: #82978b;
  line-height: 1.4;
  white-space: nowrap;
}
.pl-company03 .pl-company03__section-label span { margin: 0 8px; }

.pl-company03 .pl-company03__main {
  display: grid;
  grid-template-columns: minmax(0, 1.23fr) minmax(0, 1fr);
  gap: 18px;
  align-items: stretch;
  padding: 47px 47px 0 58px;
}
.pl-company03 .pl-company03__copy {
  min-width: 0;
  padding: 4px 11px 0 0;
}
.pl-company03 .pl-company03__overline {
  margin: 0 0 17px;
  color: #6c8b73;
  font-size: 14px;
  font-weight: 750;
  letter-spacing: .22em;
}
/* Cocoonの見出し装飾をこの見出しだけ無効化 */
.pl-company03 .pl-company03__heading {
  margin: 0 0 23px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #1a2f22;
  font-family: "Noto Serif JP", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", serif;
  font-size: clamp(29px, 3vw, 39px);
  font-weight: 800;
  line-height: 1.53;
  letter-spacing: .025em;
}
.pl-company03 .pl-company03__heading::before,
.pl-company03 .pl-company03__heading::after { content: none !important; }
.pl-company03 .pl-company03__heading span {
  color: #07804c;
  background: linear-gradient(transparent 82%, #d3eda2 82%);
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.pl-company03 .pl-company03__lead {
  margin: 0 0 24px;
  color: #202f27;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.85;
}
.pl-company03 .pl-company03__message p {
  margin: 0 0 18px;
  color: #334238;
  font-size: 15px;
  font-weight: 400;
  line-height: 2.08;
}
.pl-company03 .pl-company03__signature {
  display: flex;
  align-items: center;
  gap: 23px;
  margin-top: 29px;
  padding: 20px 0 0;
  border-top: 1px solid #e0eae1;
}
.pl-company03 .pl-company03__signature span {
  color: #758a7b;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.55;
}
.pl-company03 .pl-company03__signature strong {
  color: #123c2b;
  font-family: "Noto Serif JP", "Yu Mincho", serif;
  font-size: 23px;
  letter-spacing: .18em;
}

.pl-company03 .pl-company03__visual {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  padding: 0;
}
.pl-company03 .pl-company03__portrait-frame {
  position: relative;
  width: min(100%, 460px);
  height: 545px;
  overflow: hidden;
  border-radius: 17px;
  background:
    radial-gradient(circle at 91% 15%, rgba(255,255,255,.55) 0 21%, transparent 21.3%),
    radial-gradient(circle at 0% 95%, rgba(173,215,163,.40) 0 28%, transparent 28.4%),
    linear-gradient(155deg, #fafcf7 0%, #e7f4df 49%, #cde8c3 100%);
}
/* 人物の足元と薄緑枠の下端を揃える。人物を別要素として配置 */
.pl-company03 .pl-company03__portrait {
  display: block;
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: 50%;
  width: auto;
  max-width: none;
  height: 92%;
  transform: translateX(-50%);
  object-fit: contain;
  margin: 0;
  padding: 0;
  border: 0;
  box-shadow: none;
}
.pl-company03 .pl-company03__vertical {
  position: absolute;
  top: 17px;
  right: 15px;
  z-index: 2;
  writing-mode: vertical-rl;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  color: #087847;
}

.pl-company03 .pl-company03__promise {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 100px;
  margin: 42px 58px 0;
  padding: 20px 35px;
  border-left: 5px solid #087847;
  background: linear-gradient(102deg, #f0f8e9 0%, #ebf5e5 75%, #e6f2e3 100%);
}
.pl-company03 .pl-company03__promise-label {
  margin: 0 0 4px;
  color: #76947c;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.6;
  letter-spacing: .15em;
}
.pl-company03 .pl-company03__promise-text {
  margin: 0;
  color: #07543a;
  font-family: "Noto Serif JP", "Yu Mincho", serif;
  font-size: 23px;
  font-weight: 800;
  line-height: 1.55;
}
.pl-company03 .pl-company03__promise-text span { color: #81a53e; }
.pl-company03 .pl-company03__quote-mark {
  position: absolute;
  right: 22px;
  top: 0;
  font-family: Georgia, serif;
  font-size: 90px;
  font-weight: 800;
  line-height: 1;
  color: #cce2c0;
}

@media screen and (max-width: 1060px) and (min-width: 769px) {
  .pl-company03 .pl-company03__main { padding: 38px 30px 0; gap: 15px; }
  .pl-company03 .pl-company03__portrait-frame { height: 485px; }
  .pl-company03 .pl-company03__heading { font-size: 32px; }
  .pl-company03 .pl-company03__promise { margin-inline: 30px; }
}
@media screen and (max-width: 768px) {
  .pl-company03 {
    width: calc(100% - 24px);
    margin: 28px auto 45px !important;
    padding-bottom: 17px;
    border-radius: 14px;
  }
  .pl-company03 .pl-company03__topline {
    padding: 24px 21px 18px;
  }
  .pl-company03 .pl-company03__eyebrow { font-size: 10px; letter-spacing: .09em; gap: 8px; }
  .pl-company03 .pl-company03__eyebrow::before { width: 19px; }
  .pl-company03 .pl-company03__section-label { display: none; }
  .pl-company03 .pl-company03__main {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 29px 22px 0;
  }
  .pl-company03 .pl-company03__copy { padding: 0; }
  .pl-company03 .pl-company03__overline { font-size: 12px; margin-bottom: 13px; }
  .pl-company03 .pl-company03__heading { font-size: clamp(27px, 6.9vw, 34px); line-height: 1.52; margin-bottom: 19px; }
  .pl-company03 .pl-company03__lead { font-size: 16px; line-height: 1.8; margin-bottom: 20px; }
  .pl-company03 .pl-company03__message p { font-size: 16px; line-height: 1.88; margin-bottom: 17px; }
  .pl-company03 .pl-company03__signature { margin-top: 19px; padding-top: 18px; }
  .pl-company03 .pl-company03__visual { order: -1; width: 100%; }
  .pl-company03 .pl-company03__portrait-frame {
    width: min(100%, 450px);
    height: clamp(270px, 75vw, 420px);
  }
  .pl-company03 .pl-company03__portrait { height: 94%; }
  .pl-company03 .pl-company03__promise {
    min-height: 88px;
    margin: 30px 22px 0;
    padding: 18px 18px 18px 20px;
  }
  .pl-company03 .pl-company03__promise-label { font-size: 10px; }
  .pl-company03 .pl-company03__promise-text { font-size: clamp(18px, 4.8vw, 23px); }
  .pl-company03 .pl-company03__quote-mark { font-size: 65px; right: 10px; }
}
@media screen and (max-width: 359px) {
  .pl-company03 .pl-company03__main { padding-left: 16px; padding-right: 16px; }
  .pl-company03 .pl-company03__promise { margin-left: 16px; margin-right: 16px; }
  .pl-company03 .pl-company03__heading { font-size: 27px; }
}
/* ==================================================================
 ペイントリーフ大阪｜会社案内 SECTION 04「会社概要」
 Cocoon子テーマ style.css の末尾へ追加
 このセクションだけに効く .pl-company04 専用CSS（PC最大1200px）
================================================================== */
.pl-company04,
.pl-company04 *,
.pl-company04 *::before,
.pl-company04 *::after { box-sizing: border-box; }

.pl-company04 {
  position: relative;
  isolation: isolate;
  width: calc(100% - 40px);
  max-width: 1200px;
  margin: 48px auto 68px;
  overflow: hidden;
  border: 1px solid #e4ece2;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 15px 50px rgba(19, 65, 39, .075);
  color: #22362b;
  font-family: "Noto Sans JP", "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-size: 15px;
  line-height: 1.8;
}
.pl-company04 .pl-company04__header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 230px;
  gap: 25px;
  padding: 38px 64px;
  overflow: hidden;
  border-bottom: 1px solid #e2ebdd;
  background: linear-gradient(105deg, #f5faee 0%, #fff 69%);
}
.pl-company04 .pl-company04__header-copy { position: relative; z-index: 1; }
.pl-company04 .pl-company04__eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 14px;
  color: #087847;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: .17em;
}
.pl-company04 .pl-company04__eyebrow::before {
  content: "";
  display: block;
  width: 35px;
  height: 2px;
  flex: none;
  background: #8fc63b;
}
/* 既存のCocoon見出し背景・装飾はこのブロックだけ解除 */
.pl-company04 .pl-company04__main-title {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  color: #133e2b;
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(32px, 3.5vw, 45px);
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: .055em;
}
.pl-company04 .pl-company04__intro {
  margin: 12px 0 0;
  color: #4c6354;
  font-size: 15px;
  line-height: 1.75;
}
.pl-company04 .pl-company04__header-art {
  position: relative;
  flex: 0 0 195px;
  width: 195px;
  height: 175px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pl-company04 .pl-company04__header-art::before {
  content: "";
  position: absolute;
  width: 142px;
  height: 142px;
  top: 4px;
  right: 0;
  border: 27px solid #e1efcc;
  border-radius: 50%;
}
.pl-company04 .pl-company04__header-art::after {
  content: "";
  position: absolute;
  right: -37px;
  bottom: -20px;
  width: 178px;
  height: 62px;
  background: #eaf5dd;
  border-radius: 80% 14%;
  transform: rotate(-27deg);
}
.pl-company04 .pl-company04__header-art span {
  position: relative;
  z-index: 1;
  color: rgba(18, 119, 67, .13);
  font-family: Georgia, serif;
  font-size: 88px;
  font-weight: 700;
  line-height: 1;
}
.pl-company04 .pl-company04__content { padding: 3px 64px 64px; }
.pl-company04 .pl-company04__block { margin: 45px 0 0; padding: 0; border: 0; background: none; }
.pl-company04 .pl-company04__block-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 18px;
}
.pl-company04 .pl-company04__block-heading h3 {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: #164d35;
  font-size: 23px;
  font-weight: 800;
  letter-spacing: .03em;
  line-height: 1.4;
}
.pl-company04 .pl-company04__block-heading h3::before {
  content: "";
  flex: 0 0 4px;
  width: 4px;
  height: 25px;
  background: #8ac23f;
  border-radius: 3px;
}
.pl-company04 .pl-company04__block-heading > span {
  color: #82978a;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: .13em;
  white-space: nowrap;
}
/* 基本情報の2列テーブル */
.pl-company04 .pl-company04__overview { margin: 0; border-top: 3px solid #147747; border-bottom: 1px solid #e1ebe1; }
.pl-company04 .pl-company04__overview-row {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  min-height: 52px;
  margin: 0;
  border-bottom: 1px solid #e3eae1;
  background: #fff;
}
.pl-company04 .pl-company04__overview-row:last-child { border-bottom: 0; }
.pl-company04 .pl-company04__overview-row dt,
.pl-company04 .pl-company04__overview-row dd { display: flex; flex-direction: column; justify-content: center; min-width: 0; margin: 0; }
.pl-company04 .pl-company04__overview-row dt {
  padding: 13px 18px;
  background: #f5f9f3;
  color: #3d684b;
  font-weight: 800;
  font-size: 14px;
}
.pl-company04 .pl-company04__overview-row dd { padding: 12px 20px; font-size: 15px; color: #273a2e; }
.pl-company04 .pl-company04__sub { display: block; color: #677e6c; font-size: 13px; line-height: 1.65; }
/* 本店・店舗案内 */
.pl-company04 .pl-company04__offices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.pl-company04 .pl-company04__office {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #e1eae0;
  border-radius: 11px;
  background: #fff;
}
.pl-company04 .pl-company04__office-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 19px;
  background: #087747;
  color: #fff;
}
.pl-company04 .pl-company04__office-title--nara { background: #236e55; }
.pl-company04 .pl-company04__office-title h4 {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
  color: #fff;
  font-size: 19px;
  font-weight: 800;
  line-height: 1.4;
}
.pl-company04 .pl-company04__office-title span { flex: 0 1 auto; color: #d1f0dd; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-align: right; }
.pl-company04 .pl-company04__office-body { padding: 20px 21px 19px; }
.pl-company04 .pl-company04__address {
  display: block;
  min-height: 90px;
  margin: 0 0 16px;
  color: #273b2f;
  font-size: 14px;
  font-style: normal;
  font-weight: 650;
  line-height: 1.9;
}
.pl-company04 .pl-company04__office-contacts {
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
  gap: 15px;
  padding-top: 15px;
  border-top: 1px solid #e1eae0;
}
.pl-company04 .pl-company04__contact-item { min-width: 0; }
.pl-company04 .pl-company04__contact-item > span { display: block; margin: 0 0 5px; color: #688d73; font-size: 12px; font-weight: 700; }
.pl-company04 .pl-company04__contact-item a {
  display: inline-block;
  max-width: 100%;
  padding: 1px 0;
  color: #0b6241;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.6;
  text-decoration: none;
  overflow-wrap: anywhere;
  word-break: normal;
}
.pl-company04 .pl-company04__contact-item a[href^="tel:"] { font-size: 15px; white-space: nowrap; }
.pl-company04 .pl-company04__contact-item a:hover { color: #07713e; text-decoration: underline; text-underline-offset: 3px; }
.pl-company04 .pl-company04__area {
  display: flex;
  align-items: center;
  gap: 22px;
  margin-top: 16px;
  padding: 14px 19px;
  border-left: 4px solid #8bbe3f;
  border-radius: 5px;
  background: #f0f7e8;
}
.pl-company04 .pl-company04__area strong { flex: 0 0 auto; color: #247445; font-size: 14px; font-weight: 800; }
.pl-company04 .pl-company04__area p { margin: 0; color: #24412d; font-size: 15px; font-weight: 800; }
.pl-company04 .pl-company04__area p span { display: inline-block; margin-left: 23px; }
.pl-company04 .pl-company04__reception {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  margin-top: 13px;
  padding-top: 12px;
  border-top: 1px solid #e2ebe2;
}
.pl-company04 .pl-company04__reception-hours { flex: 0 0 auto; margin: 0; color: #316347; font-size: 13px; font-weight: 750; line-height: 1.75; }
.pl-company04 .pl-company04__reception-note { max-width: 470px; margin: 0; color: #5a6e60; font-size: 12px; line-height: 1.8; }
/* 事業・資格、メーカー・銀行 */
.pl-company04 .pl-company04__columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px; }
.pl-company04 .pl-company04__column { min-width: 0; }
.pl-company04 .pl-company04__column h4 {
  margin: 0 0 16px;
  padding: 0 0 10px;
  border: 0;
  border-bottom: 2px solid #d1e6bf;
  border-radius: 0;
  background: none;
  box-shadow: none;
  color: #175037;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.5;
}
.pl-company04 .pl-company04__items { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: 1fr; gap: 9px; }
.pl-company04 .pl-company04__items--two { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 8px; }
.pl-company04 .pl-company04__items li {
  position: relative;
  min-width: 0;
  margin: 0;
  padding: 0 0 0 17px;
  color: #2a4133;
  font-size: 14px;
  line-height: 1.72;
  overflow-wrap: anywhere;
}
.pl-company04 .pl-company04__items li::before {
  position: absolute;
  left: 1px;
  top: .78em;
  width: 6px;
  height: 6px;
  content: "";
  background: #80b941;
  border-radius: 50%;
}
/* 中間幅：店舗の連絡先の縦並び切替 */
@media screen and (max-width: 1030px) and (min-width: 769px) {
  .pl-company04 .pl-company04__header { padding-inline: 40px; }
  .pl-company04 .pl-company04__content { padding-inline: 40px; }
  .pl-company04 .pl-company04__office-body { padding-inline: 17px; }
  .pl-company04 .pl-company04__office-contacts { display: flex; flex-direction: column; gap: 10px; }
  .pl-company04 .pl-company04__address { min-height: 100px; }
  .pl-company04 .pl-company04__columns { gap: 25px; }
  .pl-company04 .pl-company04__items--two { grid-template-columns: 1fr; }
}
/* スマホ：見出し・情報表・店舗を縦並びで読みやすく */
@media screen and (max-width: 768px) {
  .pl-company04 { width: calc(100% - 24px); margin: 28px auto 48px; border-radius: 14px; font-size: 16px; }
  .pl-company04 .pl-company04__header { min-height: auto; padding: 36px 23px 32px; }
  .pl-company04 .pl-company04__eyebrow { font-size: 10px; letter-spacing: .10em; gap: 9px; margin-bottom: 14px; }
  .pl-company04 .pl-company04__eyebrow::before { width: 23px; }
  .pl-company04 .pl-company04__main-title { font-size: clamp(29px, 8vw, 36px); }
  .pl-company04 .pl-company04__intro { font-size: 15px; line-height: 1.75; margin-top: 12px; }
  .pl-company04 .pl-company04__header-art { display: none; }
  .pl-company04 .pl-company04__content { padding: 1px 19px 37px; }
  .pl-company04 .pl-company04__block { margin-top: 36px; }
  .pl-company04 .pl-company04__block-heading { align-items: center; margin-bottom: 15px; }
  .pl-company04 .pl-company04__block-heading h3 { font-size: 21px; }
  .pl-company04 .pl-company04__block-heading h3::before { height: 24px; }
  .pl-company04 .pl-company04__block-heading > span { display: none; }
  .pl-company04 .pl-company04__overview-row { grid-template-columns: minmax(90px, 34%) minmax(0, 1fr); min-height: 53px; }
  .pl-company04 .pl-company04__overview-row dt { padding: 12px 11px; font-size: 14px; }
  .pl-company04 .pl-company04__overview-row dd { padding: 12px 12px; font-size: 15px; }
  .pl-company04 .pl-company04__sub { font-size: 13px; }
  .pl-company04 .pl-company04__offices,
  .pl-company04 .pl-company04__columns { grid-template-columns: 1fr; gap: 18px; }
  .pl-company04 .pl-company04__office-title { padding: 13px 15px; }
  .pl-company04 .pl-company04__office-title h4 { font-size: 19px; }
  .pl-company04 .pl-company04__office-title span { font-size: 9px; }
  .pl-company04 .pl-company04__office-body { padding: 18px 17px 18px; }
  .pl-company04 .pl-company04__address { min-height: 0; margin-bottom: 15px; font-size: 15px; }
  .pl-company04 .pl-company04__office-contacts { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 12px; }
  .pl-company04 .pl-company04__contact-item a { font-size: 13px; }
  .pl-company04 .pl-company04__contact-item a[href^="tel:"] { font-size: 15px; }
  .pl-company04 .pl-company04__area { display: block; padding: 13px 16px; }
  .pl-company04 .pl-company04__area strong { display: block; font-size: 14px; }
  .pl-company04 .pl-company04__area p { margin: 5px 0 0; font-size: 15px; }
  .pl-company04 .pl-company04__area p span { margin-left: 15px; }
  .pl-company04 .pl-company04__reception { display: block; }
  .pl-company04 .pl-company04__reception-hours { font-size: 14px; }
  .pl-company04 .pl-company04__reception-note { margin-top: 6px; font-size: 13px; }
  .pl-company04 .pl-company04__column h4 { margin-bottom: 12px; }
  .pl-company04 .pl-company04__items li { font-size: 15px; line-height: 1.75; }
  .pl-company04 .pl-company04__items--two { grid-template-columns: 1fr 1fr; gap: 11px; }
}
@media screen and (max-width: 410px) {
  .pl-company04 .pl-company04__office-contacts { grid-template-columns: 1fr; gap: 13px; }
  .pl-company04 .pl-company04__items--two { grid-template-columns: 1fr; }
  .pl-company04 .pl-company04__area p span { margin-left: 10px; }
  .pl-company04 .pl-company04__content { padding-inline: 16px; }
}
@media screen and (max-width: 350px) {
  .pl-company04 .pl-company04__header { padding-inline: 18px; }
  .pl-company04 .pl-company04__overview-row { grid-template-columns: 94px minmax(0, 1fr); }
  .pl-company04 .pl-company04__overview-row dt { padding-inline: 8px; font-size: 13px; }
  .pl-company04 .pl-company04__overview-row dd { padding-inline: 9px; font-size: 14px; }
}
/* =========================================================
ペイントリーフ大阪｜会社案内 SECTION 05 アクセス
このセクション専用クラスのみ。既存ページやフォームには影響なし。
Cocoon子テーマ style.css 末尾に追加してください。
========================================================= */
.pl-company05,.pl-company05 *,.pl-company05 *::before,.pl-company05 *::after{box-sizing:border-box}
.pl-company05{position:relative;isolation:isolate;width:calc(100% - 40px);max-width:1200px;margin:40px auto 74px;padding:54px 62px 48px;overflow:hidden;border:1px solid #e4ece2;border-radius:16px;background:linear-gradient(165deg,#f6faef 0%,#fff 30%,#fff 100%);box-shadow:0 15px 50px rgba(19,65,39,.06);color:#20362b;font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;line-height:1.7}
.pl-company05__heading{text-align:center;margin-bottom:38px}
.pl-company05__eyebrow{margin:0 0 12px!important;color:#087847!important;font-size:12px!important;font-weight:800!important;letter-spacing:.22em}
.pl-company05__heading h2{display:block;max-width:none;margin:0;padding:0;border:0;box-shadow:none;background:transparent;color:#153f2a;font-family:"Noto Serif JP","Yu Mincho",serif;font-size:clamp(30px,3.5vw,44px);font-weight:800;line-height:1.4;letter-spacing:.06em}
.pl-company05__heading h2::before,.pl-company05__heading h2::after{display:none}
.pl-company05__lead{margin:15px 0 0!important;font-size:15px!important;color:#43594a!important;line-height:1.8!important}
.pl-company05__offices{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px}
.pl-company05__office{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid #e1e9df;border-radius:14px;background:#fff;box-shadow:0 8px 26px rgba(20,64,37,.065)}
.pl-company05__photo{position:relative;height:248px;overflow:hidden;background:#e5f0e2}
.pl-company05__photo img{display:block;width:100%;height:100%;object-fit:cover}
.pl-company05__office--osaka .pl-company05__photo img{object-position:center 62%}
.pl-company05__office--nara .pl-company05__photo img{object-position:center 22%}
.pl-company05__index{position:absolute;left:22px;bottom:-1px;padding:5px 17px 7px;color:#fff;background:#087847;border-radius:12px 12px 0 0;font-size:18px;font-weight:800;letter-spacing:.1em;box-shadow:0 2px 10px rgba(0,0,0,.1)}
.pl-company05__office-details{min-height:215px;padding:24px 29px 19px;border-bottom:1px solid #e1eadd}
.pl-company05__office-en{margin:0 0 4px!important;color:#679638!important;font-size:11px!important;font-weight:800!important;letter-spacing:.16em}
.pl-company05__office-details h3{margin:0 0 10px;padding:0;border:0;box-shadow:none;background:transparent;color:#154b32;font-size:24px;font-weight:800;letter-spacing:.02em;line-height:1.4}
.pl-company05__office-details h3::before,.pl-company05__office-details h3::after{display:none}
.pl-company05__office-details address{display:block;margin:0;font-size:15px;font-style:normal;font-weight:500;line-height:1.85;color:#23372a}
.pl-company05__tel{display:inline-block;margin-top:9px;color:#087847!important;font-family:Arial,sans-serif;font-size:19px;font-weight:800;text-decoration:none!important;letter-spacing:.02em;white-space:nowrap}
.pl-company05__tel:hover{text-decoration:underline!important}
.pl-company05__map{width:100%;height:275px;overflow:hidden;background:#e7ede4}
.pl-company05__map iframe{display:block;width:100%;height:100%;border:0;border-radius:0}
.pl-company05__action{padding:18px 24px 22px;margin-top:auto}
.pl-company05__action a{display:flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:13px 14px;border-radius:8px;border:1px solid #087847;background:#087847;color:#fff!important;box-shadow:0 4px 0 #05633a;font-size:15px;font-weight:800;text-decoration:none!important;line-height:1.5;transition:background .2s,transform .2s}
.pl-company05__action a:hover{background:#05663c;transform:translateY(-2px)}
.pl-company05__action svg{flex:none;width:20px;height:20px}
.pl-company05__action .pl-company05__external{width:15px;height:15px;margin-left:1px}
.pl-company05__footnote{margin:25px 0 0!important;color:#4a6254!important;font-size:13px!important;text-align:center!important;line-height:1.7!important}
@media(max-width:830px){.pl-company05{padding:42px 30px}.pl-company05__offices{gap:18px}.pl-company05__photo{height:205px}.pl-company05__office-details{min-height:235px;padding:20px 18px 18px}.pl-company05__action{padding:14px 15px 17px}.pl-company05__action a{font-size:13px;gap:5px}}
@media(max-width:680px){.pl-company05{width:calc(100% - 24px);margin:28px auto 55px;padding:32px 13px 27px;border-radius:12px}.pl-company05__heading{margin-bottom:26px}.pl-company05__eyebrow{font-size:11px!important}.pl-company05__heading h2{font-size:clamp(27px,7vw,34px);line-height:1.4}.pl-company05__lead{font-size:14px!important;line-height:1.75!important}.pl-company05__offices{grid-template-columns:minmax(0,1fr);gap:22px}.pl-company05__photo{height:235px}.pl-company05__office-details{min-height:0;padding:21px 20px 18px}.pl-company05__office-details h3{font-size:22px}.pl-company05__office-details address{font-size:14px;line-height:1.8}.pl-company05__tel{font-size:19px}.pl-company05__map{height:250px}.pl-company05__action{padding:17px}.pl-company05__action a{min-height:52px;font-size:14px;gap:8px}.pl-company05__footnote{font-size:12px!important;margin-top:24px!important}}
@media(max-width:375px){.pl-company05__photo{height:215px}.pl-company05__office-details{padding-left:16px;padding-right:16px}.pl-company05__action{padding:13px}.pl-company05__action a{font-size:13px;gap:6px}}
/* ==============================================================
 ペイントリーフ大阪｜会社案内 SECTION 06「会社沿革」
 このセクション専用。Cocoon子テーマ style.css の末尾に追加
============================================================== */
.pl-company06,.pl-company06 *,.pl-company06 *::before,.pl-company06 *::after{box-sizing:border-box}
.pl-company06{position:relative;isolation:isolate;overflow:hidden;width:calc(100% - 40px);max-width:1200px;margin:40px auto 76px;padding:36px 38px 36px;border:1px solid #e6ecdf;border-radius:16px;background:#fff;color:#213128;font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;box-shadow:0 12px 40px rgba(37,76,45,.065)}
.pl-company06__header{position:relative;text-align:center;z-index:1;padding:0 15px 23px}
.pl-company06__eyebrow{display:flex;align-items:center;justify-content:center;gap:17px;margin:0 0 10px!important;color:#087847!important;font-size:14px!important;letter-spacing:.16em;font-weight:800!important;line-height:1.5!important}
.pl-company06__eyebrow span{height:1px;width:52px;background:#087847}
.pl-company06__header h2{position:relative;z-index:2;display:block;margin:0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;color:#064b35!important;font-size:clamp(32px,3.2vw,44px)!important;line-height:1.35!important;font-weight:800!important;letter-spacing:.06em!important;text-align:center!important}
.pl-company06__header h2::before,.pl-company06__header h2::after{display:none!important}
.pl-company06__subhead{position:relative;z-index:2;margin:3px 0 22px!important;color:#1e2d24!important;font-size:20px!important;font-weight:600!important;line-height:1.6!important;letter-spacing:.09em!important}
.pl-company06__intro{position:relative;z-index:2;margin:0 auto!important;max-width:875px;color:#27352e!important;font-size:15px!important;line-height:1.95!important;font-weight:500!important}
.pl-company06__brush{position:absolute;z-index:0;right:-44px;top:-50px;width:244px;max-width:30%;height:auto;opacity:.64;pointer-events:none;transform:rotate(-2deg)}
.pl-company06__body{position:relative;display:grid;grid-template-columns:minmax(0,.81fr) minmax(0,1.43fr);gap:29px;align-items:start;margin-top:7px}
.pl-company06__story{position:relative;min-width:0;min-height:600px;padding:18px 6px 0 5px;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start}
.pl-company06__story-script{position:relative;z-index:1;margin:2px 0 22px!important;color:#103a22!important;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:clamp(32px,3.45vw,47px)!important;letter-spacing:.08em!important;line-height:1.33!important;font-weight:600!important;transform:rotate(-5deg);transform-origin:left center}
.pl-company06__story-script span{display:inline-block;border-bottom:4px solid #b3d46f;padding-bottom:3px;transform:translateX(55px)}
.pl-company06__story-copy{position:relative;z-index:1;margin:13px 0 0!important;color:#192c23!important;font-size:16px!important;line-height:1.85!important}
.pl-company06__city-photo{position:relative;display:block;width:calc(100% + 20px);margin:32px 0 0 -8px;min-height:270px;flex:1;overflow:hidden;mask-image:linear-gradient(to bottom,transparent 0%,black 18%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 18%)}
.pl-company06__city-photo::before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(to bottom,rgba(255,255,255,.10),transparent 70%);pointer-events:none}
.pl-company06__city-photo img{display:block;width:100%;height:100%;min-height:280px;object-fit:cover;object-position:42% 72%}
.pl-company06__timeline{position:relative;min-width:0;padding:0 0 0 0}
.pl-company06__timeline::before{content:"";position:absolute;left:85px;top:27px;bottom:66px;width:2px;background:linear-gradient(#9fca6d,#b6d98d)}
.pl-company06__event{position:relative;display:grid;grid-template-columns:114px minmax(0,1fr) 160px;gap:13px;align-items:center;min-height:150px;margin:0 0 10px;padding:7px 0 11px;border-bottom:1px solid #e1e8dc}
.pl-company06__event:last-child{border-bottom:0;margin-bottom:0}
.pl-company06__event::before{content:"";position:absolute;z-index:2;left:78px;top:67px;width:14px;height:14px;border-radius:50%;background:#93bf56;box-shadow:0 0 0 5px #fff}
.pl-company06__date{display:flex;align-items:center;justify-content:center;position:relative;width:102px;height:102px;border-radius:50%;background:linear-gradient(145deg,#f3f8ea,#e0efc6);color:#0e452f;text-align:center;font-size:18px;font-weight:800;line-height:1.45;letter-spacing:.01em}
.pl-company06__event-copy{min-width:0;padding:5px 0 5px 2px}
.pl-company06__event-copy h3{margin:0 0 7px!important;padding:0!important;border:0!important;box-shadow:none!important;background:none!important;color:#087847!important;font-size:20px!important;font-weight:800!important;line-height:1.45!important}
.pl-company06__event-copy h3::before,.pl-company06__event-copy h3::after{display:none!important}
.pl-company06__event-copy p{margin:0!important;color:#26352c!important;font-size:13.5px!important;line-height:1.73!important;font-weight:450!important}
.pl-company06__event-image{height:121px;min-width:0;overflow:hidden;border-radius:7px;background:#edf3e8}
.pl-company06__event-image img{display:block;width:100%;height:100%;object-fit:cover}
.pl-company06__event:nth-child(1) .pl-company06__event-image img{object-position:center 50%}
.pl-company06__event:nth-child(2) .pl-company06__event-image img{object-position:center 48%}
.pl-company06__event:nth-child(3) .pl-company06__event-image img{object-position:center 45%}
.pl-company06__promise{position:relative;z-index:2;display:grid;grid-template-columns:86px minmax(0,1.2fr) minmax(0,1fr);gap:20px;align-items:center;margin:9px 0 0;padding:19px 24px 19px 23px;border-radius:13px;background:linear-gradient(100deg,#edf6dd 0%,#f0f7e8 100%)}
.pl-company06__promise img{width:76px;height:76px;object-fit:contain;display:block}
.pl-company06__promise-title{min-width:0;padding-right:17px;border-right:1px solid #afcd94}
.pl-company06__promise-title>span{display:block;font-size:14px;line-height:1.4;font-weight:800;color:#243e2d}
.pl-company06__promise-title p{margin:3px 0 0!important;color:#e25836!important;font-size:25px!important;line-height:1.5!important;font-weight:850!important;letter-spacing:.01em!important}
.pl-company06__promise-title small{font-size:18px;color:#123b28;font-weight:800;white-space:nowrap}
.pl-company06__promise-text{margin:0!important;font-size:14px!important;line-height:1.8!important;font-weight:500!important;color:#203329!important}
@media(min-width:1000px){.pl-company06__event{grid-template-columns:116px minmax(0,1fr) 180px;gap:14px}.pl-company06__event-image{height:133px}}
@media(max-width:1050px){.pl-company06{padding:32px 28px}.pl-company06__body{grid-template-columns:minmax(0,.8fr) minmax(0,1.48fr);gap:20px}.pl-company06__story{min-height:600px}.pl-company06__story-script{font-size:35px!important}.pl-company06__event{grid-template-columns:92px minmax(0,1fr) 132px;gap:11px}.pl-company06__date{width:83px;height:83px;font-size:15px}.pl-company06__timeline::before{left:67px}.pl-company06__event::before{left:60px}.pl-company06__event-copy h3{font-size:17px!important}.pl-company06__event-copy p{font-size:13px!important}.pl-company06__event-image{height:108px}.pl-company06__promise-title p{font-size:22px!important}}
@media(max-width:760px){.pl-company06{width:calc(100% - 24px);margin:28px auto 58px;padding:29px 18px 22px}.pl-company06__header{padding:0 1px 22px}.pl-company06__header h2{font-size:34px!important}.pl-company06__subhead{font-size:17px!important;margin-bottom:15px!important}.pl-company06__intro{font-size:14px!important;line-height:1.85!important;text-align:left}.pl-company06__pc-only{display:none}.pl-company06__brush{right:-25px;top:-20px;max-width:none;width:135px;opacity:.28}.pl-company06__body{display:block;margin-top:3px}.pl-company06__story{min-height:0;padding:8px 7px 0;overflow:visible;display:grid;grid-template-columns:minmax(0,1fr) 145px;column-gap:13px;align-items:center}.pl-company06__story-script{font-size:clamp(26px,5vw,39px)!important;transform:rotate(-3deg);margin:0 0 8px!important}.pl-company06__story-script span{transform:translateX(19px)}.pl-company06__story-copy{margin:0!important;font-size:14px!important;grid-column:1;align-self:start}.pl-company06__city-photo{grid-column:2;grid-row:1/3;width:100%;height:175px;min-height:0;margin:0;mask-image:none;-webkit-mask-image:none;border-radius:10px;overflow:hidden}.pl-company06__city-photo img{min-height:0;height:100%;object-position:center}.pl-company06__timeline{margin-top:25px}.pl-company06__timeline::before{left:74px;top:22px;bottom:80px}.pl-company06__event{grid-template-columns:100px minmax(0,1fr) 170px;gap:12px}.pl-company06__date{width:90px;height:90px;font-size:16px}.pl-company06__event::before{left:67px}.pl-company06__event-copy h3{font-size:18px!important}.pl-company06__event-image{height:124px}.pl-company06__promise{grid-template-columns:56px minmax(0,1fr);gap:8px 16px;margin-top:18px;padding:17px}.pl-company06__promise img{width:54px;height:60px}.pl-company06__promise-title{padding-right:0;border-right:0}.pl-company06__promise-title p{font-size:20px!important}.pl-company06__promise-title small{font-size:16px}.pl-company06__promise-text{grid-column:1/-1;padding-top:10px;border-top:1px solid #d4e5c7;font-size:13.5px!important}}
@media(max-width:560px){.pl-company06{padding:27px 13px 20px}.pl-company06__eyebrow{font-size:12px!important}.pl-company06__eyebrow span{width:34px}.pl-company06__header h2{font-size:30px!important}.pl-company06__intro{font-size:14px!important}.pl-company06__story{grid-template-columns:minmax(0,1fr) 36%;column-gap:7px;padding:8px 1px 0}.pl-company06__story-script{font-size:clamp(22px,6vw,30px)!important;letter-spacing:.02em!important}.pl-company06__story-script span{transform:translateX(9px)}.pl-company06__story-copy{font-size:12.5px!important;line-height:1.7!important}.pl-company06__city-photo{height:160px}.pl-company06__timeline{margin-top:24px}.pl-company06__timeline::before{left:38px;top:21px;bottom:106px}.pl-company06__event{display:grid;grid-template-columns:64px minmax(0,1fr);grid-template-areas:"date text" "date photo";gap:4px 12px;min-height:0;padding:0 0 18px;margin:0 0 15px;align-items:start}.pl-company06__date{grid-area:date;width:63px;height:63px;font-size:12px;line-height:1.35;margin-top:2px}.pl-company06__event::before{left:32px;top:66px;width:12px;height:12px;box-shadow:0 0 0 4px white}.pl-company06__event-copy{grid-area:text;padding:3px 0 0}.pl-company06__event-copy h3{font-size:17px!important;margin-bottom:5px!important}.pl-company06__event-copy p{font-size:13px!important;line-height:1.76!important}.pl-company06__event-image{grid-area:photo;width:100%;height:142px;margin-top:6px;border-radius:7px}.pl-company06__promise{grid-template-columns:42px minmax(0,1fr);gap:8px 12px;padding:15px 12px}.pl-company06__promise img{width:42px;height:49px}.pl-company06__promise-title>span{font-size:12px}.pl-company06__promise-title p{font-size:clamp(16px,4.7vw,20px)!important}.pl-company06__promise-title small{font-size:14px}.pl-company06__promise-text{font-size:13px!important}}
@media(max-width:365px){.pl-company06__story{grid-template-columns:minmax(0,1fr) 32%}.pl-company06__story-script{font-size:22px!important}.pl-company06__event{grid-template-columns:57px minmax(0,1fr);gap:5px 9px}.pl-company06__date{width:56px;height:56px;font-size:11px}.pl-company06__timeline::before{left:32px}.pl-company06__event::before{left:26px;top:59px}.pl-company06__event-image{height:123px}.pl-company06__promise-title p{font-size:15px!important}}
/* =============================================================
 ペイントリーフ大阪｜会社案内 SECTION 07「締め」
 子テーマ style.css の末尾に追加してください。
 スタイルは .pl-company07 の内部に限定しています。
============================================================= */
.pl-company07,.pl-company07 *,.pl-company07 *::before,.pl-company07 *::after{box-sizing:border-box}
.pl-company07{position:relative;isolation:isolate;width:calc(100% - 40px);max-width:1200px;margin:54px auto 75px;background:#fff;color:#103c2a;font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif}
.pl-company07__heading{text-align:center;padding:15px 14px 22px}
.pl-company07__eyebrow{display:flex;align-items:center;justify-content:center;gap:28px;margin:0 0 11px!important;color:#235a44!important;font-size:12px!important;font-weight:600!important;letter-spacing:.32em!important;line-height:1.5!important}
.pl-company07__eyebrow span{display:block;width:108px;height:1px;background:#aab7af}
.pl-company07__heading h2{margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:none!important;color:#0c3927!important;font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif!important;font-size:clamp(27px,3.4vw,40px)!important;font-weight:600!important;line-height:1.5!important;letter-spacing:.12em!important;text-align:center!important}
.pl-company07__heading h2::before,.pl-company07__heading h2::after{display:none!important}
.pl-company07__english{margin:5px 0 0!important;color:#77877d!important;font-size:11px!important;letter-spacing:.28em!important;font-weight:600!important;line-height:1.5!important}
.pl-company07__visual{position:relative;min-height:620px;overflow:hidden;background:#eff5ed}
.pl-company07__photo{position:absolute;z-index:0;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:65% 46%}
.pl-company07__green-field{position:absolute;z-index:1;inset:0 22% 0 0;overflow:hidden;background:linear-gradient(90deg,#06412d 0%,#06412d 48%,rgba(4,58,41,.98) 58%,rgba(4,58,41,.72) 77%,rgba(4,58,41,0) 100%);pointer-events:none}
.pl-company07__brush{position:absolute;display:block;top:15%;left:-24%;width:132%;height:74%;object-fit:fill;opacity:.48;transform:rotate(-13deg);filter:brightness(.8);mix-blend-mode:screen}
.pl-company07__message{position:relative;z-index:2;width:57%;max-width:640px;padding:55px 0 48px 69px;color:#fff}
.pl-company07__statement{margin:0 0 27px!important;color:#fff!important;font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif!important;font-size:clamp(37px,4.3vw,57px)!important;font-weight:600!important;line-height:1.5!important;letter-spacing:.09em!important;text-shadow:0 2px 6px rgba(0,36,23,.25)}
.pl-company07__copy p{margin:0 0 18px!important;color:#fff!important;font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif!important;font-size:clamp(15px,1.5vw,18px)!important;font-weight:500!important;line-height:1.85!important;letter-spacing:.06em!important;text-shadow:0 1px 5px rgba(0,29,14,.35)}
.pl-company07__signature{display:block;position:relative;margin:29px 0 0!important;padding-top:20px;color:#fff!important;font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif!important;font-size:16px!important;font-weight:600!important;line-height:1.7!important;letter-spacing:.065em!important}
.pl-company07__signature::before{content:"";position:absolute;top:0;left:0;width:63px;height:1px;background:rgba(255,255,255,.68)}
.pl-company07__slash{padding:0 4px;color:#d8e5d7}
.pl-company07__footer{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px 10px 24px;text-align:center;background:#fff}
.pl-company07__leaves{display:block;width:36px;height:36px;object-fit:contain;margin:0 0 9px}
.pl-company07__closing{display:flex;align-items:center;justify-content:center;gap:25px;margin:0!important;color:#1a4c37!important;font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif!important;font-size:18px!important;line-height:1.6!important;font-weight:600!important;letter-spacing:.095em!important}
.pl-company07__closing span{display:block;flex:0 1 90px;width:90px;height:1px;background:#c4ccc6}
.pl-company07__brand{margin:7px 0 0!important;color:#88958c!important;font-size:11px!important;letter-spacing:.28em!important;font-weight:500!important}
.pl-company07__mobile-br{display:none}
@media(max-width:1050px){
  .pl-company07__visual{min-height:595px}
  .pl-company07__message{width:63%;padding-left:46px;padding-top:47px;padding-right:5px}
  .pl-company07__green-field{right:17%}
  .pl-company07__statement{font-size:clamp(34px,4.6vw,51px)!important}
  .pl-company07__copy p{font-size:clamp(14px,1.6vw,17px)!important}
}
@media(max-width:760px){
  .pl-company07{width:calc(100% - 24px);margin:35px auto 50px}
  .pl-company07__heading{padding:12px 8px 23px}
  .pl-company07__eyebrow{gap:15px;font-size:10.5px!important;letter-spacing:.24em!important}
  .pl-company07__eyebrow span{width:53px}
  .pl-company07__heading h2{font-size:clamp(23px,5.4vw,34px)!important;letter-spacing:.04em!important}
  .pl-company07__visual{display:block;min-height:0;padding-top:240px;background:#06412d}
  .pl-company07__photo{position:absolute;top:0;right:0;bottom:auto;left:0;width:100%;height:240px;object-fit:cover;object-position:64% 37%}
  .pl-company07__green-field{inset:240px 0 0;background:linear-gradient(145deg,#06452d,#073923 95%)}
  .pl-company07__brush{width:122%;height:39%;left:-12%;top:-12%;opacity:.20;transform:rotate(-8deg)}
  .pl-company07__message{width:100%;max-width:none;padding:30px 31px 35px}
  .pl-company07__statement{font-size:clamp(32px,7vw,44px)!important;margin-bottom:23px!important}
  .pl-company07__copy p{font-size:clamp(14px,3.55vw,17px)!important;line-height:1.9!important;margin-bottom:17px!important}
  .pl-company07__signature{font-size:14px!important;margin-top:26px!important}
  .pl-company07__pc-br{display:none}
  .pl-company07__mobile-br{display:inline}
  .pl-company07__footer{padding:23px 3px 18px}
  .pl-company07__closing{gap:11px;font-size:clamp(11px,3.05vw,17px)!important;letter-spacing:.02em!important;white-space:nowrap}
  .pl-company07__closing span{flex:1 1 15px;min-width:12px;width:auto}
  .pl-company07__brand{font-size:10px!important}
}
@media(max-width:390px){
  .pl-company07__heading h2{font-size:clamp(20px,5.7vw,24px)!important}
  .pl-company07__visual{padding-top:210px}
  .pl-company07__photo{height:210px}
  .pl-company07__green-field{top:210px}
  .pl-company07__message{padding:29px 20px 32px}
  .pl-company07__statement{font-size:31px!important}
  .pl-company07__copy p{font-size:14px!important;letter-spacing:.025em!important}
  .pl-company07__signature{font-size:12.5px!important}
}
@media(max-width:360px){
  .pl-company07__copy p{font-size:13px!important;letter-spacing:0!important}
}
/* ===============================================
   【設置方法】
   1) 会社案内 SECTION07 のカスタムHTMLブロックを完全に閉じる
   2) その下に独立した「ショートコード」ブロックを配置
      [contact-form-7 id="cfdf8e0" title="トップページ無料相談"]
   3) このCSSを Cocoon子テーマ style.css 末尾に一度だけ追加
   ※ 既存のTOPフォーム・CF7フォームテンプレートは変更しない
   ※ 実サイトの見え方は設置後にPC・スマホで確認する
   =============================================== */

/* =============================================================
   ペイントリーフ大阪｜会社案内ページ・30秒フォーム位置調整
   2026-10-19
   対象：会社案内SECTION 07 (.pl-company07) があるページだけ
   目的：CF7の共通白枠を解除し、フォーム入力欄を背景画像に合わせる
   ※ TOP／スタッフ紹介／お問い合わせ／外壁塗装ページは変更しません
   ※ 会社案内 SECTION 01〜07 の表示にも変更を加えません
   ============================================================= */

/* A. フォーム全体を縮小させていたCF7の通常の枠を解除 */
body:has(.pl-company07) .wpcf7:has(.pl-visual-form) {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
body:has(.pl-company07) .wpcf7:has(.pl-visual-form) > form {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* B. 背景画像と実フォームの縮尺を統一 */
body:has(.pl-company07) .pl-visual-form {
  position: relative !important;
  display: block !important;
  width: min(1200px, 100%) !important;
  max-width: 1200px !important;
  aspect-ratio: 3 / 2 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 35px auto 55px !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  background-image: url("https://paintleaf-osaka.com/wp-content/uploads/2026/09/paintleaf-osaka-top-contact-form-bg.webp") !important;
  background-size: 100% 100% !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
}
body:has(.pl-company07) .pl-visual-form__live {
  position: absolute !important;
  left: 6.1% !important;
  top: 36.3% !important;
  width: 87.8% !important;
  height: 35% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 1.3% 3.2% 1.2% !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  background: #fff !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  z-index: 5 !important;
}

/* C. 既存のTOP専用調整に頼らず内部の位置を統一 */
body:has(.pl-company07) .pl-visual-form .pl-vf-row,
body:has(.pl-company07) .pl-visual-form .pl-vf-row:nth-of-type(2),
body:has(.pl-company07) .pl-visual-form .pl-vf-row:nth-of-type(3) {
  display: grid !important;
  grid-template-columns: 135px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 16px !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid #e8ece8 !important;
  transform: none !important;
}
body:has(.pl-company07) .pl-visual-form .pl-vf-row--check {
  min-height: 43px !important;
}
body:has(.pl-company07) .pl-visual-form .pl-vf-label {
  margin: 0 !important;
  padding: 0 !important;
  color: #086f45 !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  white-space: nowrap !important;
  transform: none !important;
}
body:has(.pl-company07) .pl-visual-form .pl-vf-control {
  min-width: 0 !important;
}
body:has(.pl-company07) .pl-visual-form .pl-vf-control .wpcf7-list-item {
  margin: 2px 10px 2px 0 !important;
}
body:has(.pl-company07) .pl-visual-form .pl-vf-control .wpcf7-list-item label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  font-size: 11px !important;
  white-space: nowrap !important;
}
body:has(.pl-company07) .pl-visual-form .pl-vf-control input[type="checkbox"] {
  width: 17px !important;
  height: 17px !important;
  margin: 0 !important;
}
body:has(.pl-company07) .pl-visual-form input[type="text"],
body:has(.pl-company07) .pl-visual-form input[type="tel"] {
  display: block !important;
  width: 100% !important;
  height: 42px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  box-sizing: border-box !important;
  font-size: 14px !important;
  transform: none !important;
}
body:has(.pl-company07) .pl-visual-form .pl-vf-bottom {
  margin: 0 !important;
  padding-top: 8px !important;
  transform: none !important;
}
body:has(.pl-company07) .pl-visual-form .pl-vf-submit {
  width: min(390px, 100%) !important;
  margin: 0 auto !important;
}
body:has(.pl-company07) .pl-visual-form .pl-vf-submit input[type="submit"] {
  display: block !important;
  width: 100% !important;
  height: 48px !important;
  margin: 0 !important;
  border-radius: 30px !important;
  font-size: 14px !important;
}
body:has(.pl-company07) .pl-visual-form .wpcf7-not-valid-tip {
  position: static !important;
  display: block !important;
  margin: 4px 0 0 !important;
  font-size: 11px !important;
}

/* D. スマホ・タブレットは画像に項目を重ねず縦配置 */
@media screen and (max-width: 900px) {
  body:has(.pl-company07) .pl-visual-form {
    width: min(430px, calc(100% - 20px)) !important;
    max-width: 430px !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    margin: 28px auto 38px !important;
    padding: calc(33.333% + 8px) 10px 16px !important;
    background-image: none !important;
    background-color: #f3f7ee !important;
    border-radius: 14px !important;
  }
  body:has(.pl-company07) .pl-visual-form::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 3 / 1 !important;
    background: url("https://paintleaf-osaka.com/wp-content/uploads/2026/09/paintleaf-osaka-top-contact-mobile.webp") center top / 100% 100% no-repeat !important;
    z-index: 1 !important;
  }
  body:has(.pl-company07) .pl-visual-form__live {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 20px 14px !important;
    display: block !important;
    border: 1px solid #dce7d9 !important;
    border-radius: 12px !important;
    box-shadow: 0 6px 18px rgba(28,83,56,.08) !important;
  }
  body:has(.pl-company07) .pl-visual-form .pl-vf-row,
  body:has(.pl-company07) .pl-visual-form .pl-vf-row:nth-of-type(2),
  body:has(.pl-company07) .pl-visual-form .pl-vf-row:nth-of-type(3) {
    display: block !important;
    min-height: 0 !important;
    margin: 0 0 18px !important;
    padding: 0 0 18px !important;
    transform: none !important;
  }
  body:has(.pl-company07) .pl-visual-form .pl-vf-label {
    display: block !important;
    margin: 0 0 10px !important;
    font-size: 14px !important;
    white-space: normal !important;
  }
  body:has(.pl-company07) .pl-visual-form .pl-vf-control .wpcf7-checkbox {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px 8px !important;
  }
  body:has(.pl-company07) .pl-visual-form .pl-vf-control .wpcf7-list-item {
    margin: 0 !important;
  }
  body:has(.pl-company07) .pl-visual-form .pl-vf-control .wpcf7-list-item label {
    display: flex !important;
    gap: 7px !important;
    font-size: 13px !important;
  }
  body:has(.pl-company07) .pl-visual-form .pl-vf-control input[type="checkbox"] {
    width: 21px !important;
    height: 21px !important;
    flex: 0 0 21px !important;
  }
  body:has(.pl-company07) .pl-visual-form input[type="text"],
  body:has(.pl-company07) .pl-visual-form input[type="tel"] {
    height: 52px !important;
    font-size: 16px !important;
  }
  body:has(.pl-company07) .pl-visual-form .pl-vf-bottom {
    margin: 2px 0 0 !important;
    padding: 0 !important;
  }
  body:has(.pl-company07) .pl-visual-form .pl-vf-submit {
    width: 100% !important;
  }
  body:has(.pl-company07) .pl-visual-form .pl-vf-submit input[type="submit"] {
    height: 56px !important;
    font-size: 15px !important;
  }
  body:has(.pl-company07) .pl-visual-form .wpcf7-response-output,
  body:has(.pl-company07) .pl-visual-form .wpcf7-spinner {
    position: static !important;
    margin: 12px auto 0 !important;
  }
}
/* ================================================================
 ペイントリーフ大阪｜よくある質問 SECTION 01
 Cocoon子テーマ style.css の末尾へ追加。
 全指定は .pl-faq01 内だけに適用。SECTION 02以降へ影響しません。
=============================================================== */
.pl-faq01,.pl-faq01 *,.pl-faq01 *::before,.pl-faq01 *::after{box-sizing:border-box}
.pl-faq01{--faq-forest:#103d2b;--faq-muted:#516357;position:relative;isolation:isolate;width:calc(100% - 32px);max-width:1200px;margin:16px auto 60px!important;padding:0 0 60px;overflow:hidden;background:#fcfbf7;color:var(--faq-forest);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
.pl-faq01::before{content:"";position:absolute;z-index:-1;left:-150px;top:-70px;width:490px;height:420px;background:radial-gradient(ellipse,rgba(215,229,195,.33),transparent 68%);pointer-events:none}
.pl-faq01__hero{position:relative;min-height:515px;display:flex;align-items:center;padding:70px 50px 85px}
.pl-faq01__photo{position:absolute;inset:0 0 0 auto;width:61%;height:100%;overflow:hidden;z-index:0;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 28%,#000 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 28%,#000 100%)}
.pl-faq01__photo picture,.pl-faq01__photo img{display:block;width:100%;height:100%}
.pl-faq01__photo img{object-fit:cover;object-position:51% 48%;max-width:none;border:0;border-radius:0;box-shadow:none}
.pl-faq01__intro{position:relative;z-index:1;width:57%;max-width:605px;text-align:left}
.pl-faq01__label{display:flex;align-items:center;gap:15px;margin:0 0 23px!important;color:#628065!important;font-family:Georgia,"Times New Roman",serif!important;font-size:17px!important;font-weight:500!important;line-height:1.5!important;letter-spacing:.3em!important}
.pl-faq01__label-line{display:inline-block;width:68px;height:1px;background:#749e82}
.pl-faq01__title{display:block;margin:0 0 19px!important;padding:0!important;max-width:none;border:0!important;box-shadow:none!important;background:none!important;color:#0b3624!important;font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif!important;font-size:clamp(48px,5.15vw,77px)!important;font-weight:700!important;line-height:1.38!important;letter-spacing:.045em!important;text-align:left!important;white-space:nowrap}
.pl-faq01__title::before,.pl-faq01__title::after{display:none!important}
.pl-faq01__lead{margin:0 0 20px!important;color:#172f23!important;font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif!important;font-size:clamp(20px,2vw,28px)!important;line-height:1.65!important;letter-spacing:.045em!important;font-weight:600!important}
.pl-faq01__description{margin:0!important;max-width:590px;color:#3e5047!important;font-size:14px!important;line-height:2!important;letter-spacing:.02em!important;font-weight:400!important}
.pl-faq01__categories{position:relative;z-index:3;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:-24px 28px 0;padding:0;background:transparent}
.pl-faq01__category{display:flex;align-items:center;gap:11px;min-width:0;min-height:118px;padding:18px 13px!important;border:1px solid rgba(51,80,55,.07);border-radius:20px;background:#fff;color:#163c2b!important;text-decoration:none!important;box-shadow:0 9px 25px rgba(32,63,37,.09);transition:transform .18s ease,box-shadow .18s ease}
.pl-faq01__category:hover,.pl-faq01__category:focus-visible{transform:translateY(-3px);box-shadow:0 14px 28px rgba(32,63,37,.16);text-decoration:none!important}
.pl-faq01__category:focus-visible{outline:3px solid #90bb90;outline-offset:3px}
.pl-faq01__category-icon{flex:0 0 63px;display:flex;align-items:center;justify-content:center;width:63px;height:63px;border-radius:50%;background:#82a078;color:#fff;font-family:Georgia,serif;font-size:37px;font-weight:400;line-height:1}
.pl-faq01__category-icon svg{width:36px;height:36px;display:block}
.pl-faq01__category--work .pl-faq01__category-icon{background:#bea077}
.pl-faq01__category--paint .pl-faq01__category-icon{background:#7298b7}
.pl-faq01__category--warranty .pl-faq01__category-icon{background:#c77890}
.pl-faq01__category-copy{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:5px;align-items:flex-start;text-align:left}
.pl-faq01__category-copy strong{display:block;color:#173e2b!important;font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif!important;font-size:clamp(15px,1.5vw,20px)!important;font-weight:700!important;line-height:1.4!important;letter-spacing:0!important;white-space:nowrap}
.pl-faq01__category-copy small{display:block;color:#526159!important;font-size:11px!important;font-weight:400!important;line-height:1.55!important;letter-spacing:0!important}
.pl-faq01__category-arrow{flex:0 0 25px;display:flex;justify-content:center;align-items:center;width:25px;height:25px;border-radius:50%;background:#0b442e;color:#fff;font-family:Arial,sans-serif;font-size:24px;line-height:1;padding-bottom:4px}
.pl-faq01__wave{position:absolute;z-index:0;left:-6%;right:-6%;bottom:-85px;height:195px;border-radius:48% 52% 0 0 / 24% 34% 0 0;background:linear-gradient(120deg,rgba(214,234,197,.57),rgba(233,241,227,.46) 55%,rgba(196,222,204,.61));transform:rotate(-2deg);pointer-events:none}
@media(max-width:1140px){
 .pl-faq01__hero{padding:60px 38px 75px;min-height:485px}
 .pl-faq01__title{font-size:clamp(43px,5.1vw,66px)!important}
 .pl-faq01__description{font-size:13px!important}
 .pl-faq01__categories{gap:10px;margin-left:20px;margin-right:20px}
 .pl-faq01__category{gap:9px;min-height:108px;padding:13px 10px!important}
 .pl-faq01__category-icon{flex-basis:49px;width:49px;height:49px;font-size:31px}
 .pl-faq01__category-icon svg{width:29px;height:29px}
 .pl-faq01__category-copy strong{font-size:clamp(13px,1.55vw,17px)!important}
 .pl-faq01__category-copy small{font-size:10px!important}
 .pl-faq01__category-arrow{flex-basis:23px;width:23px;height:23px;font-size:22px}
}
@media(max-width:850px) and (min-width:768px){
 .pl-faq01__hero{min-height:420px;padding:42px 28px 60px}
 .pl-faq01__photo{width:54%;opacity:.9}
 .pl-faq01__intro{width:66%}
 .pl-faq01__title{font-size:47px!important}
 .pl-faq01__lead{font-size:19px!important}
 .pl-faq01__description{font-size:12px!important}
 .pl-faq01__categories{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}
 .pl-faq01__category{min-height:90px;padding:12px 18px!important}
 .pl-faq01__category-copy strong{font-size:17px!important}
}
@media(max-width:767px){
 .pl-faq01{width:calc(100% - 24px);margin:8px auto 42px!important;padding-bottom:35px}
 .pl-faq01__hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:31px 20px 0}
 .pl-faq01__intro{order:0;width:100%;max-width:none;margin-bottom:16px}
 .pl-faq01__label{gap:12px;margin-bottom:9px!important;font-size:12px!important;letter-spacing:.26em!important}
 .pl-faq01__label-line{width:48px}
 .pl-faq01__title{margin:0 0 10px!important;font-size:clamp(38px,9vw,57px)!important;letter-spacing:.01em!important;line-height:1.35!important;white-space:normal}
 .pl-faq01__lead{margin-bottom:11px!important;font-size:clamp(16px,4.2vw,22px)!important;line-height:1.6!important;letter-spacing:.015em!important}
 .pl-faq01__description{font-size:12px!important;line-height:1.85!important}
 .pl-faq01__desktop-break{display:none}
 .pl-faq01__photo{order:1;position:relative;top:auto;right:auto;bottom:auto;left:auto;flex:0 0 auto;width:100%;height:auto;aspect-ratio:16/9;margin:4px 0 0;border-radius:12px;overflow:hidden;opacity:1;-webkit-mask-image:none;mask-image:none}
 .pl-faq01__photo img{object-position:center center}
 .pl-faq01__categories{grid-template-columns:1fr;gap:9px;margin:16px 20px 0}
 .pl-faq01__category{min-height:80px;padding:11px 13px!important;border-radius:14px;gap:14px}
 .pl-faq01__category-icon{flex:0 0 48px;width:48px;height:48px;font-size:29px}
 .pl-faq01__category-icon svg{width:28px;height:28px}
 .pl-faq01__category-copy{gap:3px}
 .pl-faq01__category-copy strong{font-size:17px!important}
 .pl-faq01__category-copy small{font-size:11px!important}
 .pl-faq01__category-arrow{margin-left:auto}
 .pl-faq01__wave{height:130px;bottom:-74px}
}
@media(max-width:390px){
 .pl-faq01__hero{padding:26px 15px 0}
 .pl-faq01__title{font-size:clamp(34px,9.6vw,38px)!important}
 .pl-faq01__lead{font-size:15.5px!important}
 .pl-faq01__description{font-size:11.5px!important}
 .pl-faq01__categories{margin:13px 12px 0;gap:8px}
 .pl-faq01__category{min-height:75px;gap:10px}
 .pl-faq01__category-copy strong{font-size:16px!important}
 .pl-faq01__category-copy small{font-size:10.5px!important}
}
@media(prefers-reduced-motion:reduce){.pl-faq01__category{transition:none}}
/* ===========================================================
 ペイントリーフ大阪｜FAQ SECTION 01
 メニューとページヘッダーの間の「上余白」だけを除去
 既存CSSは削除不要。このコードをstyle.cssの一番下に追記。
 body:has(.pl-faq01) によりFAQページのみ対象。
=========================================================== */

/* Cocoonがコンテンツ外側に付ける余白 */
body:has(.pl-faq01) #content,
body:has(.pl-faq01) .content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* コンテンツ内側とメインカラムの余白 */
body:has(.pl-faq01) .content-in,
body:has(.pl-faq01) main#main,
body:has(.pl-faq01) .main {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* 固定ページ本文の上余白 */
body:has(.pl-faq01) .article,
body:has(.pl-faq01) .article .entry-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* SECTION 01自身の上余白（PC:16px／スマホ:8px） */
body:has(.pl-faq01) .pl-faq01 {
  margin-top: 0 !important;
}
/* ============================================================
 ペイントリーフ大阪｜FAQページ専用：Cocoon標準のページタイトル非表示
 目的：メニュー直下に出るWordPress自動タイトル「よくある質問」だけを消す
 SECTION 01内の <h1 class="pl-faq01__title"> は残す
 他ページには影響させない
 追記先：Cocoon子テーマ style.css の一番下
 ============================================================ */

/* Cocoonで自動出力されるページタイトルのヘッダーを非表示 */
body.page:has(.pl-faq01) #main .article-header,
body.page:has(.pl-faq01) #main header.entry-header {
  display: none !important;
}

/* テーマ側のHTML構造差異に対応（カスタムHTML側のh1は対象外） */
body.page:has(.pl-faq01) #main h1.entry-title,
body.page:has(.pl-faq01) #main h1.page-title {
  display: none !important;
}

/* タイトル非表示後のSECTION 01上側を詰める */
body.page:has(.pl-faq01) #main .entry-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
body.page:has(.pl-faq01) .pl-faq01 {
  margin-top: 0 !important;
}
/* ===================================================================
  ペイントリーフ大阪｜よくある質問 SECTION 02「費用・見積もり」
  デザイン承認版 / PC・タブレット・スマホ対応 / 画像・JavaScript不要
  Cocoon子テーマ style.css の末尾へ、このCSSだけを追加してください。
  このファイルは .plfaq2 内にのみ作用し、SECTION 01 や他ページは変更しません。
  HTML設置先：FAQ SECTION 01 の下／カスタムHTMLブロック
  ジャンプ先：FAQ SECTION 01 の「費用・見積もり」 -> #faq-price
=================================================================== */
.plfaq2 {
  --pine: #073e2c;
  --green: #146c49;
  --sage: #85a08a;
  --lime: #dbe9ce;
  --cream: #f9f7f1;
  --ivory: #fefdfa;
  --line: #d8dfd4;
  --bronze: #bc8b55;
  --black: #273c31;
  width: 100%;
  scroll-margin-top: 110px;
  color: var(--black);
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  -webkit-font-smoothing: antialiased;
}
.plfaq2, .plfaq2 *, .plfaq2 *::before, .plfaq2 *::after { box-sizing: border-box; }
/* Cocoon見出し装飾のみ、このセクションの中で無効化 */
.plfaq2 h2.plfaq2__title, .plfaq2 h3.plfaq2__listtitle {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-shadow: none !important;
  text-align: left !important;
}
.plfaq2 h2.plfaq2__title::before, .plfaq2 h2.plfaq2__title::after,
.plfaq2 h3.plfaq2__listtitle::before, .plfaq2 h3.plfaq2__listtitle::after { display: none !important; }
.plfaq2 .plfaq2__item > summary { list-style: none; }
.plfaq2 .plfaq2__item > summary::marker { content: ""; }
.plfaq2 .plfaq2__item > summary:focus-visible { outline: 3px solid #699b79; outline-offset: -3px; }

.plfaq2 {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 0 108px;
  background: #fff;
  overflow: hidden;
  position: relative;
}

.plfaq2 .plfaq2__headbg {
  background: linear-gradient(110deg,#f8f8f3 0%,#f5f4ec 50%,#ecf1e8 100%);
  position: relative;
  overflow: hidden;
}

.plfaq2 .plfaq2__headbg:before {
  content: "";
  position: absolute;
  width: 550px;
  height: 550px;
  border-radius: 50%;
  border: 1px solid rgba(56,105,76,.12);
  right: -240px;
  top: -305px;
  box-shadow: 0 0 0 88px rgba(79,132,94,.026),0 0 0 180px rgba(79,132,94,.022);
}

.plfaq2 .plfaq2__headbg:after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  height: 5px;
  width: 45%;
  background: linear-gradient(90deg,transparent,#b3cbb1);
}

.plfaq2 .plfaq2__shell {
  width: min(1160px,calc(100% - 80px));
  margin: auto;
  position: relative;
}

.plfaq2 .plfaq2__header {
  display: grid;
  grid-template-columns: minmax(0,1.18fr) minmax(0,.82fr);
  gap: 80px;
  min-height: 445px;
  padding: 70px 0 65px;
  align-items: center;
}

.plfaq2 .plfaq2__label {
  display: flex;
  align-items: center;
  gap: 16px;
  color: #557866;
  font-size: 11px;
  letter-spacing: .28em;
  font-weight: 700;
  margin: 0 0 30px;
}

.plfaq2 .plfaq2__label:before {
  content: "";
  height: 2px;
  width: 38px;
  background: #83ad86;
}

.plfaq2 .plfaq2__titlewrap {
  position: relative;
}

.plfaq2 .plfaq2__ghost {
  position: absolute;
  top: -77px;
  left: 4px;
  font: normal 175px/.9 Georgia,serif;
  color: rgba(16,83,52,.057);
  pointer-events: none;
}

.plfaq2 .plfaq2__title {
  font: 600 48px/1.4 "Noto Serif CJK JP",serif;
  color: var(--pine);
  letter-spacing: .03em;
  margin: 0 0 18px;
  position: relative;
}

.plfaq2 .plfaq2__title span {
  display: inline-block;
  background: linear-gradient(transparent 83%,#cadfbe 83% 96%,transparent 96%);
}

.plfaq2 .plfaq2__lead {
  font-size: 16px;
  line-height: 2.08;
  letter-spacing: .015em;
  color: #526759;
  margin: 0;
  position: relative;
}

.plfaq2 .plfaq2__small {
  margin: 22px 0 0;
  font-size: 12px;
  letter-spacing: .17em;
  color: #819389;
  font-family: Georgia,serif;
}

.plfaq2 .plfaq2__focus {
  background: var(--pine);
  border-radius: 2px;
  min-height: 286px;
  padding: 34px 38px 31px;
  position: relative;
  box-shadow: 14px 17px 0 #dce9d7;
  color: #fff;
  overflow: hidden;
}

.plfaq2 .plfaq2__focus:before {
  content: "";
  width: 215px;
  height: 215px;
  position: absolute;
  right: -98px;
  top: -80px;
  border: 1px solid #588873;
  border-radius: 100%;
  box-shadow: 0 0 0 26px rgba(173,210,151,.04),0 0 0 52px rgba(173,210,151,.03);
}

.plfaq2 .plfaq2__focus-eyebrow {
  font: 600 11px Arial,sans-serif;
  letter-spacing: .23em;
  color: #b9d9c5;
  margin: 0 0 21px;
}

.plfaq2 .plfaq2__focus-lead {
  font: 600 24px/1.75 "Noto Serif CJK JP",serif;
  margin: 0;
  color: #fff;
  letter-spacing: .015em;
}

.plfaq2 .plfaq2__focus-lead strong {
  font-weight: 600;
  color: #e0eabf;
}

.plfaq2 .plfaq2__focus-line {
  height: 1px;
  background: #557b68;
  margin: 22px 0 16px;
}

.plfaq2 .plfaq2__focus-cap {
  font-size: 12px;
  line-height: 1.6;
  color: #c5d8c9;
  margin: 0 0 12px;
}

.plfaq2 .plfaq2__tokens {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.plfaq2 .plfaq2__token {
  font-size: 11px;
  line-height: 1.7;
  border: 1px solid rgba(224,244,215,.31);
  color: #e7f0dd;
  padding: 4px 9px;
  border-radius: 2px;
}

.plfaq2 .plfaq2__listwrap {
  padding: 58px 0 0;
}

.plfaq2 .plfaq2__listintro {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 20px;
  border-bottom: 2px solid var(--pine);
  padding-bottom: 21px;
}

.plfaq2 .plfaq2__listcap {
  font: 600 11px Arial,sans-serif;
  letter-spacing: .23em;
  color: #698372;
  margin: 0 0 12px;
}

.plfaq2 .plfaq2__listtitle {
  font: 600 27px/1.4 "Noto Serif CJK JP",serif;
  color: #103f2e;
  margin: 0;
}

.plfaq2 .plfaq2__liststats {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 4px;
  font-size: 12px;
  color: #799183;
  letter-spacing: .09em;
}

.plfaq2 .plfaq2__liststats strong {
  font: 400 34px/1 Georgia,serif;
  color: #0c5638;
}

.plfaq2 .plfaq2__list {
  margin: 0;
  padding: 0;
}

.plfaq2 .plfaq2__item {
  border-bottom: 1px solid var(--line);
  background: #fff;
  transition: background .25s;
}

.plfaq2 .plfaq2__item[open] {
  background: linear-gradient(100deg,#f8fbf7 0%,#fff 66%);
}

.plfaq2 .plfaq2__item summary {
  list-style: none;
  display: grid;
  grid-template-columns: 90px minmax(0,1fr) 42px;
  gap: 22px;
  align-items: center;
  padding: 29px 18px 29px 8px;
  cursor: pointer;
  min-height: 92px;
  outline-offset: -4px;
}

.plfaq2 .plfaq2__item summary::-webkit-details-marker {
  display: none;
}

.plfaq2 .plfaq2__number {
  font: 400 24px Georgia,serif;
  color: #9cb49f;
  letter-spacing: -.04em;
}

.plfaq2 .plfaq2__number em {
  font-style: italic;
  font-size: 14px;
  margin-right: 5px;
  color: #6f9b7e;
}

.plfaq2 .plfaq2__q {
  font-size: 17px;
  line-height: 1.65;
  font-weight: 700;
  color: #173c2b;
  letter-spacing: .03em;
}

.plfaq2 .plfaq2__toggle {
  width: 38px;
  height: 38px;
  border: 1px solid #c7d9cb;
  display: grid;
  place-items: center;
  transition: background .2s,border-color .2s;
  border-radius: 50%;
  background: #fff;
}

.plfaq2 .plfaq2__toggle:after {
  content: "+";
  font: 400 24px/1 Arial,sans-serif;
  color: #245f3e;
  transform: translateY(-1px);
}

.plfaq2 .plfaq2__item[open] .plfaq2__toggle {
  background: var(--pine);
  border-color: var(--pine);
}

.plfaq2 .plfaq2__item[open] .plfaq2__toggle:after {
  content: "−";
  color: #fff;
}

.plfaq2 .plfaq2__item[open] .plfaq2__number {
  color: #0c704b;
}

.plfaq2 .plfaq2__answer {
  display: grid;
  grid-template-columns: 90px minmax(0,1fr);
  gap: 22px;
  padding: 0 76px 29px 8px;
}

.plfaq2 .plfaq2__amark {
  color: #b28555;
  font: italic 24px Georgia,serif;
}

.plfaq2 .plfaq2__atext {
  margin: 0;
  color: #42564a;
  font-size: 15px;
  line-height: 2.15;
  letter-spacing: .015em;
  max-width: 840px;
}

.plfaq2 .plfaq2__atext strong {
  color: #08603e;
  font-weight: 700;
}

.plfaq2 .plfaq2__atext small {
  display: block;
  margin-top: 12px;
  padding: 10px 15px;
  border-left: 2px solid #caac81;
  background: #f8f5ed;
  color: #645b4a;
  font-size: 13px;
  line-height: 1.9;
}

.plfaq2 .plfaq2__below {
  margin: 31px 0 0;
  display: flex;
  gap: 11px;
  align-items: center;
  justify-content: flex-end;
  color: #799081;
  font-size: 11px;
  letter-spacing: .08em;
}

.plfaq2 .plfaq2__below:before {
  content: "";
  width: 19px;
  height: 1px;
  background: #a3bda7;
}

@media (max-width:900px) {
  .plfaq2 .plfaq2__shell {
    width: min(100% - 48px,700px);
  }

  .plfaq2 .plfaq2__header {
    grid-template-columns: 1fr;
    gap: 36px;
    padding: 60px 0 65px;
    min-height: auto;
  }

  .plfaq2 .plfaq2__focus {
    min-height: 0;
    max-width: 600px;
  }

  .plfaq2 .plfaq2__title {
    font-size: 42px;
  }

  .plfaq2 .plfaq2__ghost {
    top: -59px;
    font-size: 135px;
  }

  .plfaq2 .plfaq2__listwrap {
    padding-top: 44px;
  }
}

@media (max-width:520px) {
  .plfaq2 {
    padding-bottom: 72px;
  }

  .plfaq2 .plfaq2__shell {
    width: calc(100% - 40px);
  }

  .plfaq2 .plfaq2__header {
    padding: 43px 0 50px;
    gap: 28px;
  }

  .plfaq2 .plfaq2__label {
    font-size: 10px;
    letter-spacing: .18em;
    margin-bottom: 25px;
  }

  .plfaq2 .plfaq2__label:before {
    width: 25px;
  }

  .plfaq2 .plfaq2__title {
    font-size: 31px;
    line-height: 1.48;
    margin-bottom: 14px;
  }

  .plfaq2 .plfaq2__ghost {
    font-size: 103px;
    top: -43px;
  }

  .plfaq2 .plfaq2__lead {
    font-size: 13px;
    line-height: 2;
  }

  .plfaq2 .plfaq2__small {
    font-size: 10px;
    margin-top: 13px;
  }

  .plfaq2 .plfaq2__focus {
    padding: 25px 22px;
    box-shadow: 7px 8px 0 #dae9d5;
  }

  .plfaq2 .plfaq2__focus-eyebrow {
    font-size: 10px;
    margin-bottom: 11px;
  }

  .plfaq2 .plfaq2__focus-lead {
    font-size: 20px;
    line-height: 1.65;
  }

  .plfaq2 .plfaq2__focus-line {
    margin: 18px 0 15px;
  }

  .plfaq2 .plfaq2__focus-cap {
    font-size: 11px;
    margin-bottom: 10px;
  }

  .plfaq2 .plfaq2__token {
    font-size: 10px;
    padding: 4px 8px;
  }

  .plfaq2 .plfaq2__listwrap {
    padding-top: 41px;
  }

  .plfaq2 .plfaq2__listintro {
    padding-bottom: 17px;
  }

  .plfaq2 .plfaq2__listcap {
    font-size: 9px;
    margin-bottom: 8px;
  }

  .plfaq2 .plfaq2__listtitle {
    font-size: 21px;
  }

  .plfaq2 .plfaq2__liststats {
    font-size: 10px;
    gap: 5px;
    white-space: nowrap;
  }

  .plfaq2 .plfaq2__liststats strong {
    font-size: 28px;
  }

  .plfaq2 .plfaq2__item summary {
    grid-template-columns: 48px minmax(0,1fr) 30px;
    gap: 9px;
    padding: 18px 2px 18px 0;
    min-height: 72px;
  }

  .plfaq2 .plfaq2__number {
    font-size: 19px;
  }

  .plfaq2 .plfaq2__number em {
    font-size: 11px;
    margin-right: 3px;
  }

  .plfaq2 .plfaq2__q {
    font-size: 14px;
    line-height: 1.65;
    letter-spacing: 0;
  }

  .plfaq2 .plfaq2__toggle {
    width: 29px;
    height: 29px;
  }

  .plfaq2 .plfaq2__toggle:after {
    font-size: 20px;
  }

  .plfaq2 .plfaq2__answer {
    grid-template-columns: 48px minmax(0,1fr);
    gap: 9px;
    padding: 0 7px 22px 0;
  }

  .plfaq2 .plfaq2__amark {
    font-size: 19px;
  }

  .plfaq2 .plfaq2__atext {
    font-size: 12.5px;
    line-height: 1.95;
  }

  .plfaq2 .plfaq2__atext small {
    font-size: 11px;
    padding: 8px 9px;
  }

  .plfaq2 .plfaq2__below {
    font-size: 10px;
    margin-top: 22px;
  }
}

/* ショート画面で読めるように調整／動きを抑える設定への対応 */
@media (prefers-reduced-motion: reduce) {
  .plfaq2 .plfaq2__item, .plfaq2 .plfaq2__toggle { transition: none; }
}

/* ページ内ほかの見出し・フォームに干渉しない微調整 */
.plfaq2 .plfaq2__title { margin: 0 0 18px !important; color: #073e2c !important; }
.plfaq2 .plfaq2__listtitle { margin: 0 !important; color: #103f2e !important; }
.plfaq2 .plfaq2__item > summary { background: transparent !important; border: 0 !important; box-shadow: none !important; }
.plfaq2 .plfaq2__atext, .plfaq2 .plfaq2__lead, .plfaq2 .plfaq2__focus-cap,
.plfaq2 .plfaq2__focus-lead, .plfaq2 .plfaq2__listcap,
.plfaq2 .plfaq2__liststats, .plfaq2 .plfaq2__label,
.plfaq2 .plfaq2__small, .plfaq2 .plfaq2__below { max-width: none; }
@media(max-width: 520px) {
  .plfaq2 .plfaq2__title { margin-bottom: 14px !important; }
}
/* ================================================================
 ペイントリーフ大阪｜FAQ SECTION 03「工事について」｜確定デザイン版
 PC/スマホ対応・9問・開閉式 / 画像・JavaScript不要
 Cocoon子テーマ style.css の末尾へ追加してください。
 このCSSは .plfaq3 の中だけに作用します。
 他のFAQセクション、ほかのページ、フォームのCSSは変更しません。
 SECTION 01の「工事について」のリンク先は id="faq-work" です。
================================================================ */

.plfaq3{--green:#0b4937;--deep:#073f30;--ink:#172d25;--olive:#688b6b;--sand:#faf8f2;--beige:#f1f0e8;--line:#e2e5dd;--gold:#b59064;}
.plfaq3,.plfaq3 *,.plfaq3 *::before,.plfaq3 *::after{box-sizing:border-box}.plfaq3{color:var(--ink);font-family:"Noto Sans JP","Noto Sans CJK JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;-webkit-font-smoothing:antialiased}.plfaq3{max-width:1200px;margin:0 auto;overflow:hidden;background:#fff;position:relative;scroll-margin-top:110px;}
.plfaq3-hero{min-height:356px;background:radial-gradient(ellipse at 75% 16%,#2a7254 0%,transparent 48%),linear-gradient(125deg,#053726,#0b4a36 75%);position:relative;color:#fff;display:grid;grid-template-columns:minmax(0,1fr) 410px;gap:0;padding:58px 66px 46px 76px;isolation:isolate}
.plfaq3-hero:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(132deg,transparent 0,transparent 66px,rgba(255,255,255,.012) 66px,rgba(255,255,255,.012) 67px);pointer-events:none;z-index:-1}
.plfaq3-hero:after{content:"";width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,#a2c5a1 0,transparent 70%);opacity:.09;position:absolute;right:48px;top:-150px;pointer-events:none}
.plfaq3-hero-inner{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;position:relative;z-index:1}
.plfaq3-eyebrow{font-size:11px;letter-spacing:.35em;color:#cad8c3;font-weight:600;display:flex;align-items:center;gap:18px;margin-bottom:20px}
.plfaq3-eyebrow::before{content:"";display:block;width:30px;height:1px;background:#c3d6b9}
.plfaq3-hero h2{font-family:"Noto Serif CJK JP",serif;color:#fff;font-size:clamp(40px,5vw,60px);letter-spacing:.085em;font-weight:600;line-height:1.35;margin:0 0 23px;padding:0;border:0;background:none}
.plfaq3-hero h2::before,.plfaq3-hero h2::after{display:none}
.plfaq3-hero p{font-size:15px;line-height:2.1;letter-spacing:.045em;margin:0;color:#e0eadd;font-weight:400}
.plfaq3-hero-art{width:100%;height:315px;align-self:center;opacity:.95}
.plfaq3-hero-corner{position:absolute;right:45px;bottom:20px;font-size:9px;color:#c8d9cc;letter-spacing:.22em;opacity:.8}
.plfaq3-steps{display:grid;grid-template-columns:1fr 1fr 1fr;background:#f1f4ed;padding:24px 76px;border-bottom:1px solid #d9e5d9;gap:24px}
.plfaq3-step{display:flex;align-items:center;gap:12px;position:relative;min-width:0}
.plfaq3-step:not(:last-child):after{content:"";position:absolute;right:-9px;top:50%;height:1px;background:#aec4ad;width:20px}
.plfaq3-step-dot{display:grid;place-items:center;border:1px solid #bbd2bc;background:white;border-radius:50%;width:39px;height:39px;flex-shrink:0;color:#126044;font-family:Georgia,serif;font-size:15px}
.plfaq3-step strong{font-family:"Noto Serif CJK JP",serif;letter-spacing:.08em;font-size:16px;color:#254a38;display:block;white-space:nowrap}
.plfaq3-step small{font-size:9px;font-weight:600;letter-spacing:.16em;color:#7b977e}
.plfaq3-guide{padding:76px 76px 34px;background:#fff}
.plfaq3-sectiontitle{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:1px solid #cad9cb;padding-bottom:21px;gap:20px}
.plfaq3-sectiontitle small{color:#7f9981;letter-spacing:.24em;font-size:10px;font-weight:700}
.plfaq3-sectiontitle h3{font-size:25px;font-family:"Noto Serif CJK JP",serif;margin:12px 0 0;color:#123f2d;letter-spacing:.1em;font-weight:600}
.plfaq3-sectiontitle em{font-style:normal;color:#a3bba4;font-family:Georgia,serif;font-size:14px;letter-spacing:.04em}
.plfaq3-chapter{display:grid;grid-template-columns:256px minmax(0,1fr);gap:56px;padding:54px 0 64px;border-bottom:1px solid #e5e8e3;position:relative}
.plfaq3-chapter--2{background:#f7f9f4;margin-left:-76px;margin-right:-76px;padding:58px 76px 68px;border-bottom:1px solid #e1e9dc}
.plfaq3-chapter--3{border-bottom:none}
.plfaq3-chapter-side{position:relative;padding-top:7px}
.plfaq3-chapter-visual{position:absolute;right:9px;top:-33px;opacity:.48;color:#e6eee3;font-family:Georgia,serif;font-size:122px;letter-spacing:-.075em;z-index:0;pointer-events:none}
.plfaq3-chapter-step{display:flex;align-items:center;gap:13px;margin-bottom:24px;position:relative;z-index:1}
.plfaq3-serial{font-family:Georgia,serif;background:#0a4c36;border-radius:100%;color:#fff;font-size:16px;width:41px;height:41px;display:grid;place-items:center}
.plfaq3-en{color:#7a9a80;font-size:10px;font-weight:700;letter-spacing:.17em}
.plfaq3-chapter-side h3{font-family:"Noto Serif CJK JP",serif;color:#113c2a;font-size:27px;font-weight:600;margin:0 0 18px;line-height:1.5;position:relative;z-index:1}
.plfaq3-chapter-side>p{margin:0 0 33px;color:#68776c;font-size:13px;letter-spacing:.02em;line-height:2;position:relative;z-index:1;max-width:212px}
.plfaq3-count{font-size:10px;color:#88a08c;letter-spacing:.12em;border-top:1px solid #cfded1;display:inline-flex;align-items:center;gap:13px;padding-top:11px}
.plfaq3-count strong{font-size:21px;font-family:Georgia,serif;font-weight:400;color:#446b50}
.plfaq3-chapter-faqs{border-top:1px solid #d6ded4;align-self:start}
.plfaq3-faq{border-bottom:1px solid #d6ded4;position:relative}
.plfaq3-faq summary{display:flex;min-height:81px;align-items:center;gap:22px;cursor:pointer;list-style:none;padding:12px 7px 12px 0;background:transparent;border:0;outline-offset:4px}
.plfaq3-faq summary::-webkit-details-marker{display:none}.plfaq3-faq summary::marker{content:""}
.plfaq3-q-no{font-family:Georgia,serif;color:#8ba991;font-size:15px;flex:0 0 41px;letter-spacing:.02em}
.plfaq3-q-text{font-size:14px;font-weight:600;line-height:1.75;letter-spacing:.015em;color:#173f2e;flex:1}
.plfaq3-chevron{width:31px;height:31px;display:grid;place-items:center;border:1px solid #bed2c0;border-radius:50%;color:#24583a;flex-shrink:0;transition:transform .2s,background .2s}
.plfaq3-faq[open] .plfaq3-chevron{transform:rotate(180deg);background:#0b513b;color:white;border-color:#0b513b}
.plfaq3-faq[open] summary{padding-bottom:8px}
.plfaq3-answer{display:flex;gap:23px;padding:4px 42px 27px 0;background:transparent}
.plfaq3-a-tag{font-family:Georgia,serif;font-size:16px;color:#b18d60;width:41px;flex:0 0 41px}
.plfaq3-answer p{margin:0;color:#53675a;font-size:13px;line-height:2.1;letter-spacing:.02em}
.plfaq3-end{padding:0 76px 62px;background:#fff;display:flex;align-items:center;justify-content:flex-end;gap:12px;font-size:11px;color:#95ae99;letter-spacing:.07em}
.plfaq3-end:before{content:"";width:29px;height:1px;background:#b6cdb9}
@media(max-width:900px){.plfaq3-hero{padding:48px 42px 44px;grid-template-columns:minmax(0,1fr) 300px;min-height:320px}.plfaq3-hero-art{height:255px}.plfaq3-steps{padding:20px 42px}.plfaq3-guide{padding:50px 42px 25px}.plfaq3-chapter{grid-template-columns:195px minmax(0,1fr);gap:32px}.plfaq3-chapter--2{margin:0 -42px;padding:55px 42px}.plfaq3-end{padding:10px 42px 50px}}
@media(max-width:620px){.plfaq3-hero{min-height:0;display:block;padding:41px 25px 26px}.plfaq3-eyebrow{font-size:10px;gap:11px;margin-bottom:15px}.plfaq3-eyebrow::before{width:20px}.plfaq3-hero h2{font-size:38px;margin-bottom:13px;letter-spacing:.05em}.plfaq3-hero p{font-size:12px;line-height:1.95;max-width:300px}.plfaq3-hero-art{width:69%;max-width:260px;height:auto;margin:10px auto -7px;display:block}.plfaq3-hero-corner{right:20px;bottom:14px;font-size:8px}.plfaq3-steps{padding:17px 15px 18px;gap:3px}.plfaq3-step{gap:5px;flex-direction:column;align-items:center;text-align:center}.plfaq3-step:not(:last-child):after{right:-12px;top:18px;width:28px}.plfaq3-step-dot{width:35px;height:35px;font-size:13px}.plfaq3-step strong{font-size:11px;letter-spacing:0}.plfaq3-step small{font-size:8px;letter-spacing:.02em}.plfaq3-guide{padding:42px 23px 12px}.plfaq3-sectiontitle{padding-bottom:14px}.plfaq3-sectiontitle small{font-size:9px}.plfaq3-sectiontitle h3{font-size:20px;margin-top:7px}.plfaq3-sectiontitle em{font-size:12px}.plfaq3-chapter{display:block;padding:34px 0 39px}.plfaq3-chapter--2{margin:0 -23px;padding:39px 23px 42px}.plfaq3-chapter-side{padding-bottom:10px}.plfaq3-chapter-visual{font-size:88px;top:-13px;right:8px}.plfaq3-chapter-step{margin-bottom:12px;gap:9px}.plfaq3-serial{width:33px;height:33px;font-size:13px}.plfaq3-en{font-size:9px}.plfaq3-chapter-side h3{font-size:22px;margin:0 0 5px}.plfaq3-chapter-side>p{font-size:12px;line-height:1.8;max-width:100%;margin:0 0 15px}.plfaq3-count{display:none}.plfaq3-faq summary{min-height:69px;gap:10px;padding:10px 0}.plfaq3-q-no{flex:0 0 30px;font-size:13px}.plfaq3-q-text{font-size:13px;line-height:1.7}.plfaq3-chevron{width:27px;height:27px}.plfaq3-chevron svg{width:17px;height:17px}.plfaq3-answer{gap:10px;padding:3px 8px 20px 0}.plfaq3-a-tag{width:30px;flex:0 0 30px;font-size:14px}.plfaq3-answer p{font-size:12px;line-height:1.9}.plfaq3-end{padding:0 22px 39px;font-size:9px}}
@media(max-width:350px){.plfaq3-hero{padding:37px 20px 25px}.plfaq3-hero h2{font-size:35px}.plfaq3-steps{padding-left:8px;padding-right:8px}.plfaq3-step:not(:last-child):after{width:15px;right:-8px}.plfaq3-guide{padding-left:18px;padding-right:18px}.plfaq3-chapter--2{margin-left:-18px;margin-right:-18px;padding-left:18px;padding-right:18px}.plfaq3-q-text{font-size:12.3px}}


/* Cocoonの見出し・本文の既定装飾を SECTION 03 内だけ無効化 */
.plfaq3 .plfaq3-hero h2,
.plfaq3 .plfaq3-sectiontitle h3,
.plfaq3 .plfaq3-chapter-side h3 {
  border:0 !important; background:transparent !important;box-shadow:none !important;
  text-shadow:none !important;padding:0 !important;text-align:left !important;
}
.plfaq3 .plfaq3-hero h2::before,.plfaq3 .plfaq3-hero h2::after,
.plfaq3 .plfaq3-sectiontitle h3::before,.plfaq3 .plfaq3-sectiontitle h3::after,
.plfaq3 .plfaq3-chapter-side h3::before,.plfaq3 .plfaq3-chapter-side h3::after {display:none !important;content:none !important;}
.plfaq3 .plfaq3-hero h2 {color:#fff !important;margin:0 0 23px !important;}
.plfaq3 .plfaq3-sectiontitle h3{margin:12px 0 0 !important;color:#123f2d !important;}
.plfaq3 .plfaq3-chapter-side h3{margin:0 0 18px !important;color:#113c2a !important;}
.plfaq3 p,.plfaq3 small{max-width:none;}
.plfaq3 .plfaq3-step{text-decoration:none !important;color:inherit;}
.plfaq3 .plfaq3-step:hover .plfaq3-step-dot,.plfaq3 .plfaq3-step:focus-visible .plfaq3-step-dot{background:#0b4937;color:#fff;}
.plfaq3 .plfaq3-step:focus-visible,.plfaq3 .plfaq3-faq summary:focus-visible{outline:3px solid #9cc59e;outline-offset:3px;}
.plfaq3 .plfaq3-step strong{font-weight:700;}
.plfaq3 .plfaq3-faq summary{-webkit-tap-highlight-color:transparent;}
.plfaq3 .plfaq3-chapter{scroll-margin-top:108px;}
@media(max-width:620px){
 .plfaq3 .plfaq3-hero h2{margin-bottom:13px !important;}
 .plfaq3 .plfaq3-sectiontitle h3{margin-top:7px !important;}
 .plfaq3 .plfaq3-chapter-side h3{margin:0 0 5px !important;}
}
@media(prefers-reduced-motion:reduce){.plfaq3 .plfaq3-chevron,.plfaq3 .plfaq3-step-dot{transition:none !important;}}


/* 320px前後で住宅線画の英字とヘッダーの小さな英字が重ならないよう調整 */
@media(max-width:620px){.plfaq3 .plfaq3-hero-corner{display:none;}}
/* ================================================================
 ペイントリーフ大阪 | FAQ SECTION 04「塗料・施工について」
 承認済みデザイン・開閉式9問・PC/スマホ対応
 Cocoon子テーマ style.css の一番下に追加。
 セレクタは .plfaq4 内に限定し、他のSECTIONには干渉しません。
=============================================================== */

.plfaq4{--fg:#143a2c;--pale:#f9f7f0;--edge:#e8e5da;--green:#0c5038;--tan:#9d8764;--gray:#69756f;}
.plfaq4,.plfaq4 *,.plfaq4 *::before,.plfaq4 *::after{box-sizing:border-box}.plfaq4{color:var(--fg);font-family:"Noto Sans CJK JP","Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;-webkit-font-smoothing:antialiased}.plfaq4{max-width:1200px;margin:auto;background:#fcfbf7;min-width:0;overflow:hidden}.plfaq4-hero{padding:55px 72px 24px;position:relative;isolation:isolate;background:radial-gradient(ellipse at 85% 35%,#f0ede1 0%,transparent 40%),#f9f8f2;min-height:354px;display:grid;grid-template-columns:1fr 360px;align-items:center;gap:30px;border-bottom:1px solid #e2e3d9}
.plfaq4-stripe{height:8px;display:flex;position:absolute;top:0;left:0;right:0}.plfaq4-stripe i{display:block;flex:1;background:#c6d7c9}.plfaq4-stripe i:nth-child(2){background:#b4c6ac}.plfaq4-stripe i:nth-child(3){background:#d1d1b2}.plfaq4-stripe i:nth-child(4){background:#c6b6a4}.plfaq4-stripe i:nth-child(5){background:#789185}.plfaq4-stripe i:nth-child(6){background:#214b40}
.plfaq4-kicker{display:flex;align-items:center;gap:13px;color:#7a8a7b;font:600 10px Georgia,serif;letter-spacing:.24em;margin-bottom:23px}.plfaq4-kicker:before{content:"";width:34px;height:1px;background:#8ca48d}.plfaq4-kicker b{font-weight:400;color:#b2bbaf}
.plfaq4-hero h2{font-family:"Noto Serif CJK JP", "Noto Serif JP",serif;font-size:clamp(36px,4.5vw,51px);letter-spacing:.075em;font-weight:600;margin:0 0 20px;line-height:1.35;color:#154632}.plfaq4-hero h2:before,.plfaq4-hero h2:after{display:none}
.plfaq4-lead{font-size:16px;line-height:2.08;letter-spacing:.025em;margin:0 0 14px;color:#294c39;font-weight:600}.plfaq4-intro{font-size:12.7px;line-height:2.1;letter-spacing:.025em;margin:0;color:#68776c}
.plfaq4-swatch-stage{position:relative;height:265px;display:flex;justify-content:center;align-items:center;transform:translateY(1px)}
.plfaq4-circle{position:absolute;width:245px;height:245px;background:#eff2e7;border-radius:50%;right:35px;top:11px;box-shadow:inset 0 0 0 1px rgba(50,90,60,.04)}
.plfaq4-chip{position:absolute;width:93px;height:204px;top:29px;left:112px;background:#fff;border:1px solid rgba(50,54,40,.06);box-shadow:0 16px 32px rgba(24,60,37,.12),0 4px 5px rgba(24,60,37,.08);border-radius:8px 8px 5px 5px;transform-origin:50% 90%;overflow:hidden}
.plfaq4-chip i{position:absolute;inset:10px 9px 37px;display:block;border-radius:4px;background:#b1ba9d}.plfaq4-chip:after{content:"PAINT LEAF";font:7px Georgia,serif;letter-spacing:.14em;color:#819186;position:absolute;bottom:13px;left:14px}
.plfaq4-chip:nth-of-type(2){transform:rotate(-26deg) translate(-42px,4px)}.plfaq4-chip:nth-of-type(2) i{background:#c5b99f}.plfaq4-chip:nth-of-type(3){transform:rotate(-13deg) translate(-20px,-3px)}.plfaq4-chip:nth-of-type(3) i{background:#d7d9c7}.plfaq4-chip:nth-of-type(4){transform:rotate(0deg) translate(0,-8px)}.plfaq4-chip:nth-of-type(4) i{background:#9eafa8}.plfaq4-chip:nth-of-type(5){transform:rotate(13deg) translate(21px,-2px)}.plfaq4-chip:nth-of-type(5) i{background:#567e72}.plfaq4-chip:nth-of-type(6){transform:rotate(26deg) translate(39px,14px)}.plfaq4-chip:nth-of-type(6) i{background:#173f36}
.plfaq4-swatch-caption{position:absolute;bottom:1px;right:10px;font:italic 11px Georgia,serif;letter-spacing:.08em;color:#879987}
.plfaq4-feature{background:#164b38;display:flex;align-items:center;gap:34px;padding:23px 71px;color:#fff;position:relative}
.plfaq4-feature-message{font-family:"Noto Serif CJK JP",serif;min-width:217px;font-size:19px;line-height:1.58;letter-spacing:.06em}.plfaq4-feature-message small{display:block;font:9px Georgia,serif;letter-spacing:.18em;color:#bdcebc;margin-bottom:5px}.plfaq4-feature-divider{width:1px;align-self:stretch;background:rgba(255,255,255,.18)}.plfaq4-layers{display:flex;gap:10px;align-items:center;flex:1}.plfaq4-layer{flex:1;display:flex;align-items:center;gap:11px;min-width:0}.plfaq4-layer-chip{width:46px;height:48px;flex:0 0 46px;border-radius:3px;background:#d7d4c0;box-shadow:inset 0 0 0 4px rgba(255,255,255,.32);transform:skewY(-10deg)}.plfaq4-layer:nth-child(2) .plfaq4-layer-chip{background:#a6bdac}.plfaq4-layer:nth-child(3) .plfaq4-layer-chip{background:#d6c5a5}.plfaq4-layer-txt strong{font-size:12px;letter-spacing:.04em;white-space:nowrap;display:block}.plfaq4-layer-txt small{font-size:9px;color:#c7d8cf;letter-spacing:.08em;white-space:nowrap}.plfaq4-layer:not(:last-child):after{content:"›";font-size:19px;color:#acc7b6;margin:auto 0 auto auto}.plfaq4-feature-foot{position:absolute;right:70px;bottom:6px;font-size:9px;color:#a8c8b5}
.plfaq4-body{padding:55px 63px 72px;background:#fcfbf7}
.plfaq4-body-head{display:flex;align-items:end;justify-content:space-between;border-bottom:1px solid #d7ddd2;padding:0 8px 23px;margin-bottom:28px;gap:20px}.plfaq4-body-head small{font-family:Georgia,serif;letter-spacing:.22em;color:#8c9a8b;font-size:10px}.plfaq4-body-head h3{font-family:"Noto Serif CJK JP",serif;font-weight:600;color:#214632;font-size:24px;margin:10px 0 0;line-height:1.4;letter-spacing:.045em}.plfaq4-body-head .plfaq4-sub{font-size:11px;color:#8b998e;white-space:nowrap;padding-bottom:5px}.plfaq4-mobile-break{display:none}
.plfaq4-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.plfaq4-col{min-width:0;border:1px solid #e5e8df;background:#fff;box-shadow:0 3px 16px rgba(38,55,39,.025);border-radius:1px}
.plfaq4-col-top{position:relative;padding:24px 22px 20px;min-height:139px;background:#f0f2e8;overflow:hidden;border-top:3px solid #819b78}.plfaq4-col--coating .plfaq4-col-top{background:#f4eee5;border-top-color:#bfab84}.plfaq4-col--roof .plfaq4-col-top{background:#e9f0ef;border-top-color:#7b9c9d}
.plfaq4-col-topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;font-family:Georgia,serif;color:#71846b;font-size:9.5px;letter-spacing:.16em}.plfaq4-col-topline strong{font-size:45px;line-height:.8;font-weight:400;color:rgba(96,132,98,.18);letter-spacing:-.05em}.plfaq4-col--coating .plfaq4-col-topline{color:#a18b64}.plfaq4-col--roof .plfaq4-col-topline{color:#668a8b}.plfaq4-col-top h3{font-family:"Noto Serif CJK JP",serif;font-size:22px;letter-spacing:.055em;color:#204631;font-weight:600;margin:0 0 7px}.plfaq4-col-top p{font-size:11px;letter-spacing:.015em;color:#708372;margin:0}
.plfaq4-questions{padding:3px 16px 5px}.plfaq4-faq{border-bottom:1px solid #e5e9e3}.plfaq4-faq:last-child{border:0}.plfaq4-faq summary{list-style:none;display:flex;gap:10px;align-items:flex-start;padding:23px 2px;min-height:106px;cursor:pointer;outline-offset:2px}.plfaq4-faq summary::-webkit-details-marker{display:none}.plfaq4-faq summary::marker{content:""}.plfaq4-q-count{font:11px Georgia,serif;color:#879a85;white-space:nowrap;flex:0 0 27px;padding-top:3px}.plfaq4-question{color:#1b4935;font-size:13px;font-weight:700;line-height:1.75;flex:1;letter-spacing:.005em}.plfaq4-toggle{display:grid;place-items:center;width:22px;height:22px;border:1px solid #c5d7c7;border-radius:50%;flex:0 0 22px;position:relative}.plfaq4-toggle:before,.plfaq4-toggle:after{content:"";width:8px;height:1px;background:#2b6343;position:absolute}.plfaq4-toggle:after{transform:rotate(90deg);transition:transform .2s}.plfaq4-faq[open] .plfaq4-toggle{background:#1c5d45;border-color:#1c5d45}.plfaq4-faq[open] .plfaq4-toggle:before,.plfaq4-faq[open] .plfaq4-toggle:after{background:#fff}.plfaq4-faq[open] .plfaq4-toggle:after{transform:rotate(0deg)}.plfaq4-faq[open] summary{min-height:0;padding-bottom:12px}
.plfaq4-answer{display:flex;gap:9px;margin:0 0 20px 1px;background:#f7f8f4;padding:17px 14px 17px 12px;border-left:2px solid #97b197}.plfaq4-label-a{font:italic 16px Georgia,serif;color:#b68a64;flex:0 0 17px}.plfaq4-answer p{font-size:11.4px;line-height:1.95;color:#5d6b60;margin:0}
.plfaq4-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:27px;padding:0 8px}.plfaq4-bottom p{font-size:10px;color:#7e907f;margin:0}.plfaq4-bottom span{font:10px Georgia,serif;letter-spacing:.18em;color:#9ba99d}
@media(max-width:900px){.plfaq4-hero{padding:48px 35px 26px;grid-template-columns:1fr 270px;gap:10px}.plfaq4-swatch-stage{transform:scale(.8);transform-origin:center}.plfaq4-feature{padding:23px 35px;gap:23px}.plfaq4-feature-message{min-width:150px;font-size:15px}.plfaq4-layer{gap:7px}.plfaq4-layer-chip{width:27px;height:35px;flex:0 0 27px}.plfaq4-layer-txt strong{font-size:10px}.plfaq4-layer-txt small{font-size:8px}.plfaq4-body{padding:43px 28px 57px}.plfaq4-grid{gap:9px}.plfaq4-col-top{padding:21px 15px 17px}.plfaq4-col-top h3{font-size:19px}.plfaq4-questions{padding:3px 11px 5px}.plfaq4-faq summary{gap:6px;min-height:114px}.plfaq4-question{font-size:11.5px}}
@media(max-width:650px){.plfaq4-hero{padding:36px 24px 13px;display:block;min-height:0}.plfaq4-kicker{margin-bottom:15px;font-size:9px}.plfaq4-kicker:before{width:21px}.plfaq4-hero h2{font-size:34px;margin-bottom:12px}.plfaq4-lead{font-size:14px;line-height:1.85}.plfaq4-intro{font-size:11px;line-height:1.9}.plfaq4-swatch-stage{transform:scale(.78);height:220px;margin:5px auto -13px;width:300px;max-width:100%;transform-origin:50% 50%}.plfaq4-circle{right:14px;top:8px}.plfaq4-chip{left:99px}.plfaq4-swatch-caption{right:5px;bottom:-11px}.plfaq4-feature{padding:20px 23px 19px;display:block}.plfaq4-feature-message{font-size:16px;line-height:1.6;margin-bottom:17px}.plfaq4-feature-message small{font-size:9px}.plfaq4-feature-divider{display:none}.plfaq4-layers{gap:5px}.plfaq4-layer{gap:5px}.plfaq4-layer-chip{width:27px;height:33px;flex:0 0 27px}.plfaq4-layer-txt strong{font-size:10px}.plfaq4-layer-txt small{font-size:7px}.plfaq4-layer:not(:last-child):after{font-size:13px}.plfaq4-feature-foot{position:static;margin-top:8px;font-size:8px;text-align:right}.plfaq4-body{padding:39px 20px 49px}.plfaq4-body-head{padding:0 2px 19px;margin-bottom:19px;display:block}.plfaq4-body-head h3{font-size:21px}.plfaq4-body-head .plfaq4-sub{display:block;font-size:10px;margin-top:10px}.plfaq4-mobile-break{display:block}.plfaq4-grid{grid-template-columns:1fr;gap:18px}.plfaq4-col-top{min-height:0;padding:23px 21px 23px}.plfaq4-col-topline{margin-bottom:13px}.plfaq4-col-top h3{font-size:22px}.plfaq4-questions{padding:0 19px}.plfaq4-faq summary{min-height:73px;align-items:center;gap:12px;padding:18px 0}.plfaq4-q-count{flex:0 0 28px}.plfaq4-question{font-size:13px}.plfaq4-answer p{font-size:12px}.plfaq4-bottom{margin-top:23px;padding:0 2px;gap:10px;align-items:start;flex-direction:column}}
@media(max-width:350px){.plfaq4-hero{padding:33px 19px 12px}.plfaq4-hero h2{font-size:27px;letter-spacing:.015em}.plfaq4-swatch-stage{transform:scale(.69);margin:-8px auto -25px}.plfaq4-feature{padding-left:17px;padding-right:17px}.plfaq4-layer-txt small{display:none}.plfaq4-body{padding:34px 14px 46px}.plfaq4-col-top{padding:20px 17px}.plfaq4-questions{padding:0 12px}}


/* Cocoon見出し・本文の標準装飾を、SECTION 04内だけ調整 */
.plfaq4 .plfaq4-hero h2,
.plfaq4 .plfaq4-body-head h3,
.plfaq4 .plfaq4-col-top h3 {
  border:0 !important; border-radius:0 !important;
  box-shadow:none !important; text-shadow:none !important;
  background:transparent !important; background-image:none !important;
  padding:0 !important; text-align:left !important; height:auto !important;
}
.plfaq4 .plfaq4-hero h2::before,.plfaq4 .plfaq4-hero h2::after,
.plfaq4 .plfaq4-body-head h3::before,.plfaq4 .plfaq4-body-head h3::after,
.plfaq4 .plfaq4-col-top h3::before,.plfaq4 .plfaq4-col-top h3::after {
  content:none !important; display:none !important;
}
.plfaq4 .plfaq4-hero h2 {margin:0 0 20px !important;color:#154632 !important;}
.plfaq4 .plfaq4-body-head h3 {margin:10px 0 0 !important;color:#214632 !important;}
.plfaq4 .plfaq4-col-top h3 {margin:0 0 7px !important;color:#204631 !important;}
.plfaq4 p,.plfaq4 small {max-width:none;}
.plfaq4 .plfaq4-hero p,.plfaq4 .plfaq4-col-top p,
.plfaq4 .plfaq4-answer p,.plfaq4 .plfaq4-bottom p {margin-top:0 !important;}
.plfaq4 .plfaq4-answer p {margin-bottom:0 !important;}
.plfaq4 .plfaq4-faq summary {background:transparent !important;border:0 !important;border-radius:0 !important;-webkit-tap-highlight-color:transparent;}
.plfaq4 .plfaq4-faq summary:focus-visible {outline:3px solid #98bc9d;outline-offset:3px;}
.plfaq4 .plfaq4-faq summary:hover .plfaq4-question {color:#087847;}
.plfaq4 {scroll-margin-top:110px;}
@media(max-width:650px){
 .plfaq4 .plfaq4-hero h2 {margin-bottom:12px !important;}
 .plfaq4 .plfaq4-body-head h3 {margin-top:10px !important;}
}
@media(prefers-reduced-motion:reduce){
 .plfaq4 .plfaq4-toggle::after {transition:none !important;}
}
/* ===============================================================
 ペイントリーフ大阪｜FAQ SECTION 05「保証・アフターについて」
 子テーマ style.css の末尾に追加してください。
 SECTION 05固有の .plfaq5 以下に限定したCSSです。
 =============================================================== */

.plfaq5{--green:#143f31;--ink:#1b3c31;--cream:#f9f8f2;--border:#dcded5;--muted:#68796e;--gold:#b89f73}
.plfaq5,.plfaq5 *,.plfaq5 *::before,.plfaq5 *::after{box-sizing:border-box}
.plfaq5{font-family:'Noto Sans CJK JP','Noto Sans JP','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}
.plfaq5{max-width:1200px;margin:0 auto;background:#fffdfa;overflow:hidden;isolation:isolate;min-width:0;scroll-margin-top:90px}
.plfaq5-hero{display:grid;grid-template-columns: 55% 45%;min-height:433px;background:#f1f2ea}
.plfaq5-hero-copy{position:relative;background:radial-gradient(ellipse at 96% 5%,rgba(120,160,124,.22),transparent 55%),linear-gradient(135deg,#153e30,#0c3428);color:white;padding:57px 61px 60px 68px;overflow:hidden}
.plfaq5-hero-copy:before{content:'';position:absolute;width:300px;height:300px;border:1px solid rgba(255,255,255,.08);border-radius:50%;top:-186px;right:-135px}
.plfaq5-eyebrow{display:flex;align-items:center;gap:13px;color:#c9d7cc;font:10px Georgia,serif;letter-spacing:.2em;margin:0 0 27px}
.plfaq5-eyebrow:before{content:'';width:35px;height:1px;background:#a9c0af}
.plfaq5-eyebrow b{font-weight:400;color:#8fa99c}
.plfaq5-hero-copy h2{font-family:'Noto Serif CJK JP','Noto Serif JP',serif;font-size:40px;line-height:1.44;letter-spacing:.055em;margin:0 0 18px;color:#fff;font-weight:600}
.plfaq5-rule{height:2px;width:55px;background:var(--gold);margin:0 0 26px}
.plfaq5-keyline{font-size:19px;line-height:1.8;font-weight:600;letter-spacing:.05em;color:#e6ede2;margin:0 0 19px}
.plfaq5-description{font-size:12.4px;line-height:2.15;letter-spacing:.03em;color:#cadbd0;margin:0;max-width:440px}
.plfaq5-copy-sign{position:absolute;left:68px;bottom:22px;font:9px Georgia,serif;letter-spacing:.23em;color:rgba(255,255,255,.35)}
.plfaq5-doc-stage{position:relative;background:radial-gradient(ellipse at 63% 60%,#e3e5d9,#f5f3eb 68%,#eeeae1);min-height:433px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.plfaq5-doc-ring{position:absolute;width:370px;height:370px;border:1px solid #cbd9cd;border-radius:50%;top:35px;right:-12px;box-shadow:0 0 0 28px rgba(226,234,219,.23),0 0 0 67px rgba(226,234,219,.12)}
.plfaq5-doc-behind{position:absolute;width:234px;height:286px;background:#d8ded2;border:1px solid #d0d7c8;border-radius:3px;transform:translate(38px,13px) rotate(9deg);box-shadow:0 14px 25px rgba(20,48,34,.09)}
.plfaq5-doc{position:relative;width:255px;min-height:303px;background:#fffefd;border:1px solid #e0e2d8;box-shadow:0 23px 43px rgba(36,62,48,.18);padding:28px 23px 22px;transform:rotate(-5deg);border-radius:3px}
.plfaq5-doc:before{content:'';position:absolute;inset:8px;border:1px solid #d7dcd1;pointer-events:none}
.plfaq5-doc-inner{position:relative;z-index:1}
.plfaq5-doc-top{display:flex;align-items:center;justify-content:space-between;color:#849588;font:9px Georgia,serif;letter-spacing:.16em}
.plfaq5-doc-top:after{content:'✦';font-size:18px;color:#bdab88}
.plfaq5-doc h3{font-family:'Noto Serif CJK JP',serif;text-align:center;font-size:28px;color:#20513e;letter-spacing:.16em;font-weight:500;margin:33px 0 11px}
.plfaq5-doc-en{text-align:center;font:9px Georgia,serif;color:#98a69c;letter-spacing:.18em;margin:0 0 30px}
.plfaq5-doc-line{height:1px;background:#c9d5c9;margin:15px auto;width:78%}.plfaq5-doc-line.short{width:48%}
.plfaq5-doc-stamp{height:63px;width:63px;display:flex;justify-content:center;align-items:center;border:2px solid #d0b786;border-radius:50%;font:11px Georgia,serif;letter-spacing:.06em;color:#ad966e;margin:12px auto -3px;transform:rotate(10deg);text-align:center;line-height:1.4}
.plfaq5-doc-foot{position:absolute;bottom:19px;right:26px;color:#aab5a7;font:8px Georgia,serif;letter-spacing:.15em}
.plfaq5-caption{position:absolute;right:38px;bottom:19px;color:#87988b;letter-spacing:.16em;font:10px Georgia,serif}
.plfaq5-checkpoints{background:#fffdf8;display:grid;grid-template-columns:1.02fr 1fr 1fr;gap:0;padding:25px 54px;border-bottom:1px solid #e9e8e1}
.plfaq5-check{display:flex;gap:14px;padding:4px 22px;border-right:1px solid #dedfd6;align-items:center}.plfaq5-check:last-child{border-right:0}.plfaq5-check-n{font:26px Georgia,serif;color:#b9aa87}.plfaq5-check strong{font-size:13px;letter-spacing:.05em;color:#285642;display:block}.plfaq5-check p{font-size:10px;color:#879489;margin:5px 0 0}
.plfaq5-body{padding:68px 66px 58px;background:#fffdfa}
.plfaq5-section-label{font:10px Georgia,serif;letter-spacing:.23em;color:#82988a;margin-bottom:15px;display:flex;gap:13px;align-items:center}.plfaq5-section-label:before{content:'';width:35px;height:1px;background:#a5b6a6}
.plfaq5-mobilebr{display:none}.plfaq5-bodyhead{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:38px}
.plfaq5-bodyhead h3{font-family:'Noto Serif CJK JP',serif;font-weight:600;font-size:29px;letter-spacing:.06em;line-height:1.45;color:#214836;margin:0}
.plfaq5-bodyhead p{font-size:11px;color:#7c8e80;margin:0 0 5px}
.plfaq5-block{display:grid;grid-template-columns:245px minmax(0,1fr);column-gap:40px;padding:33px 0 29px;border-top:1px solid #ced9cd}
.plfaq5-block-left{padding:6px 0 0 0}
.plfaq5-block-no{font:40px Georgia,serif;color:#b5c4af;line-height:1;margin:0 0 14px}
.plfaq5-block-kicker{font:9px Georgia,serif;letter-spacing:.2em;color:#9aab9b;margin-bottom:9px}
.plfaq5-block-left h4{font-family:'Noto Serif CJK JP',serif;font-size:23px;letter-spacing:.06em;font-weight:600;margin:0 0 12px;color:#184532;line-height:1.6}
.plfaq5-block-left p{font-size:11.5px;color:#7b8b7d;line-height:1.9;margin:0;max-width:200px}
.plfaq5-faq{border-bottom:1px solid #e1e7df}
.plfaq5-faq:first-child{border-top:0}
.plfaq5-faq summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:20px;padding:19px 0;min-height:71px;outline-offset:4px}
.plfaq5-faq summary::-webkit-details-marker{display:none}.plfaq5-faq summary::marker{content:''}
.plfaq5-faq-num{font:13px Georgia,serif;min-width:39px;color:#98a695}
.plfaq5-question{font-size:14px;line-height:1.7;color:#1d4d38;font-weight:650;flex:1;letter-spacing:.018em}
.plfaq5-toggle{display:grid;place-items:center;width:29px;height:29px;border:1px solid #9ebbaa;border-radius:50%;flex:0 0 29px;color:#2c6849;position:relative}
.plfaq5-toggle:before,.plfaq5-toggle:after{content:'';height:1px;width:11px;position:absolute;background:#2c6849;transition:transform .2s}
.plfaq5-toggle:after{transform:rotate(90deg)}
.plfaq5-faq[open] .plfaq5-toggle{background:#22563e;border-color:#22563e}.plfaq5-faq[open] .plfaq5-toggle:before,.plfaq5-faq[open] .plfaq5-toggle:after{background:white}.plfaq5-faq[open] .plfaq5-toggle:after{transform:rotate(0)}
.plfaq5-faq[open] summary{padding-bottom:14px}
.plfaq5-answer{display:flex;align-items:flex-start;gap:16px;background:#f4f6f1;border-left:3px solid #98b19c;margin:0 0 16px 57px;padding:18px 22px 19px}
.plfaq5-answer span{font:italic 16px Georgia,serif;color:#b49a77;flex:0 0 16px}
.plfaq5-answer p{font-size:12px;color:#5c6c61;line-height:2;margin:0}
.plfaq5-block--after{margin-top:29px;border-top-color:#cddad0}
.plfaq5-block--after .plfaq5-block-no{color:#bcae91}
.plfaq5-bodyfoot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:33px;border-top:1px solid #e5e7df;padding-top:19px}
.plfaq5-bodyfoot p{font-size:11px;color:#7b8d81;line-height:1.7;margin:0}
.plfaq5-bodyfoot span{font:10px Georgia,serif;letter-spacing:.14em;color:#9eae9f;white-space:nowrap}
@media(max-width:930px){.plfaq5-hero-copy{padding:47px 40px 55px}.plfaq5-hero-copy h2{font-size:32px}.plfaq5-description{font-size:11px}.plfaq5-copy-sign{left:40px}.plfaq5-doc{transform:scale(.84) rotate(-5deg)}.plfaq5-doc-behind{transform:scale(.84) translate(38px,13px) rotate(9deg)}.plfaq5-doc-stage{min-height:370px}.plfaq5-hero{min-height:370px}.plfaq5-checkpoints{padding:23px 20px}.plfaq5-check{padding:4px 13px}.plfaq5-body{padding:55px 32px}.plfaq5-block{grid-template-columns:185px minmax(0,1fr);gap:22px}.plfaq5-block-left h4{font-size:21px}}
@media(max-width:650px){.plfaq5-hero{display:block}.plfaq5-hero-copy{padding:39px 27px 47px}.plfaq5-eyebrow{margin-bottom:19px}.plfaq5-hero-copy h2{font-size:29px;margin-bottom:14px}.plfaq5-rule{margin-bottom:19px}.plfaq5-keyline{font-size:16px;line-height:1.85;margin-bottom:13px}.plfaq5-description{font-size:11.5px;line-height:1.9}.plfaq5-copy-sign{left:27px;bottom:17px}.plfaq5-doc-stage{min-height:265px}.plfaq5-doc-ring{width:270px;height:270px;top:-6px;right:7px}.plfaq5-doc{transform:scale(.66) rotate(-5deg)}.plfaq5-doc-behind{transform:scale(.67) translate(38px,13px) rotate(9deg)}.plfaq5-caption{font-size:9px;bottom:15px;right:17px}.plfaq5-checkpoints{padding:17px 14px;grid-template-columns:repeat(3,minmax(0,1fr))}.plfaq5-check{gap:5px;align-items:flex-start;padding:4px 8px;display:block}.plfaq5-check-n{font-size:19px}.plfaq5-check strong{font-size:10px;margin-top:4px;line-height:1.4}.plfaq5-check p{font-size:8px;line-height:1.4;margin-top:4px}.plfaq5-body{padding:42px 23px 50px}.plfaq5-mobilebr{display:block}.plfaq5-bodyhead{display:block;margin-bottom:24px}.plfaq5-bodyhead h3{font-size:24px}.plfaq5-bodyhead p{font-size:10px;margin-top:12px}.plfaq5-block{display:block;padding:24px 0 21px}.plfaq5-block-left{padding:0 0 17px;display:grid;grid-template-columns:52px 1fr;column-gap:12px}.plfaq5-block-no{grid-row:span 3;font-size:38px}.plfaq5-block-kicker{margin:2px 0 4px;font-size:9px}.plfaq5-block-left h4{font-size:20px;margin:0}.plfaq5-block-left p{font-size:10.5px;max-width:none}.plfaq5-faq summary{padding:17px 0;gap:9px;min-height:67px}.plfaq5-faq-num{min-width:34px;font-size:12px}.plfaq5-question{font-size:12.5px}.plfaq5-toggle{width:25px;height:25px;flex-basis:25px}.plfaq5-answer{margin-left:0;padding:15px 14px;gap:11px}.plfaq5-answer p{font-size:11.5px;line-height:1.88}.plfaq5-block--after{margin-top:11px}.plfaq5-bodyfoot{flex-wrap:wrap;margin-top:18px}.plfaq5-bodyfoot p{font-size:10px}}
@media(max-width:350px){.plfaq5-hero-copy{padding-left:19px;padding-right:19px}.plfaq5-hero-copy h2{font-size:26px;letter-spacing:.03em}.plfaq5-keyline{font-size:14px}.plfaq5-copy-sign{left:19px}.plfaq5-checkpoints{padding-left:8px;padding-right:8px}.plfaq5-check{padding:4px 6px}.plfaq5-body{padding:34px 15px 42px}.plfaq5-question{font-size:12px}}

/* Cocoon's generic headings must not overrule this section's art direction. */
.plfaq5 h2,.plfaq5 h3,.plfaq5 h4{border:0!important;border-radius:0!important;box-shadow:none!important;background-color:transparent!important;background-image:none!important;padding:0!important;text-decoration:none!important}
.plfaq5 h2::before,.plfaq5 h2::after,.plfaq5 h3::before,.plfaq5 h3::after,.plfaq5 h4::before,.plfaq5 h4::after{content:none!important;display:none!important}
.plfaq5 p{margin-top:0}
.plfaq5 .plfaq5-faq summary:focus-visible{outline:2px solid #207554;outline-offset:4px}
@media(prefers-reduced-motion:reduce){.plfaq5 .plfaq5-toggle:after{transition:none}}

/* =========================================================
 ペイントリーフ大阪｜FAQ SECTION 06「締め」
 Cocoon子テーマの style.css の末尾に追加してください。
 すべてのセレクタは .faq-closing-v3 以下に限定しています。
 既存SECTION 01〜05に変更を加えません。
 ========================================================= */
.faq-closing-v3,
.faq-closing-v3 *,
.faq-closing-v3 *::before,
.faq-closing-v3 *::after{box-sizing:border-box}
.faq-closing-v3{font-family:'Noto Sans CJK JP','Noto Sans JP','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;-webkit-font-smoothing:antialiased;min-width:0}
.faq-closing-v3 .faq-v3-title{border:0!important;background:none!important;box-shadow:none!important;padding:0!important;color:#0b392a!important}
.faq-closing-v3 .faq-v3-title::before,
.faq-closing-v3 .faq-v3-title::after{content:none!important;display:none!important}
.faq-closing-v3 .faq-v3-meta,
.faq-closing-v3 .faq-v3-copy{padding:0;border:0;background:transparent;box-shadow:none}
.faq-closing-v3 .faq-v3-btn:focus-visible,
.faq-closing-v3 .faq-v3-phone:focus-visible{outline:3px solid #b98a48;outline-offset:4px}
.faq-closing-v3 .faq-v3-btn:hover{color:#fff;background:#0b3123;text-decoration:none;opacity:1}
.faq-closing-v3 .faq-v3-btn:visited{color:#fff}
.faq-closing-v3 .faq-v3-phone:hover{color:#134b35;text-decoration:underline}
.faq-closing-v3 .faq-v3-phone:visited{color:#134b35}
.faq-closing-v3 .faq-v3-arch{display:block;height:auto}
@media(prefers-reduced-motion:reduce){.faq-closing-v3 .faq-v3-btn .faq-v3-arrow{transition:none}}
.faq-closing-v3{max-width:1200px;margin:auto;min-height:690px;position:relative;background:#faf9f5;color:#0b392a;overflow:hidden;isolation:isolate}
.faq-closing-v3:before{content:"";position:absolute;height:5px;left:0;right:0;top:0;background:#103d2d;z-index:8}
.faq-closing-v3 .faq-v3-main{position:relative;display:grid;grid-template-columns: 58% 42%;min-height:690px}
.faq-closing-v3 .faq-v3-left{position:relative;padding:66px 32px 68px 78px;z-index:2}
.faq-closing-v3 .faq-v3-meta{display:flex;align-items:center;gap:16px;font-family:Georgia,serif;font-size:12px;letter-spacing:.21em;color:#6c806d;margin:0 0 58px}
.faq-closing-v3 .faq-v3-meta span{width:41px;height:1px;background:#a48c66}
.faq-closing-v3 .faq-v3-meta b{font-weight:400;font-size:12px;color:#ae9068}
.faq-closing-v3 .faq-v3-topline{color:#a78f6e;font-size:11px;font-weight:700;letter-spacing:.26em;margin-bottom:18px}
.faq-closing-v3 .faq-v3-title{font-family:"NotoSerif","Noto Serif CJK JP",serif;letter-spacing:.045em;font-size:50px;font-weight:600;line-height:1.53;margin:0 0 29px;white-space:nowrap}
.faq-closing-v3 .faq-v3-title em{font-style:normal;color:#b47f42;position:relative}
.faq-closing-v3 .faq-v3-title em:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:#d4b782}
.faq-closing-v3 .faq-v3-rule{height:1px;width:88px;background:#95aa99;margin:25px 0 28px}
.faq-closing-v3 .faq-v3-copy{font-size:15px;line-height:2.2;letter-spacing:.035em;color:#395a4a;margin:0 0 36px}
.faq-closing-v3 .faq-v3-action{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.faq-closing-v3 .faq-v3-btn{display:inline-flex;justify-content:space-between;align-items:center;gap:25px;min-height:64px;min-width:310px;background:#123d2c;color:#fff;text-decoration:none;font-size:15px;font-weight:700;letter-spacing:.07em;padding:0 18px 0 25px;box-shadow:0 10px 24px rgba(11,52,35,.13)}
.faq-closing-v3 .faq-v3-btn .faq-v3-arrow{display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(255,255,255,.54);border-radius:50%;font-size:20px;font-weight:300;line-height:1;transition:transform .2s ease}
.faq-closing-v3 .faq-v3-btn:hover .faq-v3-arrow{transform:translateX(3px)}
.faq-closing-v3 .faq-v3-phone{font-family:Georgia,serif;color:#134b35;text-decoration:none;white-space:nowrap;display:flex;flex-direction:column;gap:4px;line-height:1.3;font-size:18px;letter-spacing:.025em;font-weight:600}
.faq-closing-v3 .faq-v3-phone small{font-family:NotoSans,sans-serif;font-size:10px;color:#75897b;font-weight:400;letter-spacing:.08em}
.faq-closing-v3 .faq-v3-small{font-family:Georgia,serif;font-size:10px;color:#acb3a5;letter-spacing:.18em;position:absolute;bottom:28px;left:78px}
.faq-closing-v3 .faq-v3-right{position:relative;background:#153f2f;min-height:690px;overflow:hidden;display:flex;align-items:center;justify-content:center;isolation:isolate}
.faq-closing-v3 .faq-v3-right:before{content:"";position:absolute;top:-150px;right:-290px;width:620px;height:620px;border:1px solid rgba(201,224,195,.15);border-radius:50%}
.faq-closing-v3 .faq-v3-right:after{content:"";position:absolute;bottom:-280px;left:-170px;width:660px;height:660px;border:1px solid rgba(201,224,195,.15);border-radius:50%}
.faq-closing-v3 .faq-v3-texture{position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.012) 0,rgba(255,255,255,.012) 1px,transparent 1px,transparent 8px),radial-gradient(circle at 70% 15%,rgba(172,200,145,.14),transparent 38%)}
.faq-closing-v3 .faq-v3-arch{position:relative;width:94%;max-width:510px;margin:25px auto 5px;z-index:1;filter:drop-shadow(0 15px 15px rgba(0,0,0,.1))}
.faq-closing-v3 .faq-v3-right-label{position:absolute;top:66px;left:55px;color:#b9d3bf;letter-spacing:.17em;font-family:Georgia,serif;font-size:11px;z-index:2}
.faq-closing-v3 .faq-v3-right-label:after{content:"";display:block;margin-top:14px;width:38px;height:1px;background:#a0c3a4}
.faq-closing-v3 .faq-v3-right-foot{position:absolute;bottom:56px;left:55px;z-index:2;color:#e2e6d7;font-size:13px;letter-spacing:.12em;font-weight:500}
.faq-closing-v3 .faq-v3-right-foot b{display:block;font-family:Georgia,serif;font-size:11px;letter-spacing:.12em;color:#a8c8a9;margin-top:10px;font-weight:400}
.faq-closing-v3 .faq-v3-corner{position:absolute;top:0;right:0;width:0;height:0;border-left:78px solid transparent;border-top:78px solid #b9a276;opacity:.9}
@media (max-width:1100px){
.faq-closing-v3 .faq-v3-left{padding-left:56px}
.faq-closing-v3 .faq-v3-title{font-size:clamp(35px,4.2vw,50px)}
.faq-closing-v3 .faq-v3-main{grid-template-columns:60% 40%}
.faq-closing-v3 .faq-v3-btn{min-width:280px}
.faq-closing-v3 .faq-v3-right-label{left:30px}
.faq-closing-v3 .faq-v3-small{left:56px}
}
@media (max-width:767px){
.faq-closing-v3{min-height:0}
.faq-closing-v3 .faq-v3-main{display:flex;flex-direction:column;min-height:0}
.faq-closing-v3 .faq-v3-left{padding:39px 24px 45px;order:1}
.faq-closing-v3 .faq-v3-meta{margin-bottom:29px;font-size:10px;gap:10px}
.faq-closing-v3 .faq-v3-meta span{width:25px}
.faq-closing-v3 .faq-v3-topline{font-size:9px;margin-bottom:15px}
.faq-closing-v3 .faq-v3-title{font-size:clamp(28px,7.8vw,37px);line-height:1.55;white-space:normal;margin-bottom:21px}
.faq-closing-v3 .faq-v3-rule{margin:18px 0 22px}
.faq-closing-v3 .faq-v3-copy{font-size:13px;line-height:2.05;margin-bottom:25px;letter-spacing:0}
.faq-closing-v3 .faq-v3-copy br{display:none}
.faq-closing-v3 .faq-v3-action{gap:22px;display:flex;flex-direction:column;align-items:stretch}
.faq-closing-v3 .faq-v3-btn{width:100%;min-width:0;min-height:60px;padding-left:20px;padding-right:16px;font-size:14px}
.faq-closing-v3 .faq-v3-phone{align-self:center;flex-direction:row;align-items:center;gap:12px;font-size:17px}
.faq-closing-v3 .faq-v3-phone small{font-size:10px}
.faq-closing-v3 .faq-v3-small{position:static;font-size:8px;margin-top:34px}
.faq-closing-v3 .faq-v3-right{order:0;min-height:290px;height:290px}
.faq-closing-v3 .faq-v3-arch{width:92%;max-width:370px;margin:20px auto 0;transform:translateX(12px)}
.faq-closing-v3 .faq-v3-right-label{top:30px;left:24px;font-size:9px}
.faq-closing-v3 .faq-v3-right-label:after{margin-top:10px}
.faq-closing-v3 .faq-v3-right-foot{display:none}
.faq-closing-v3 .faq-v3-corner{border-left-width:48px;border-top-width:48px}
}
@media (max-width:350px){
.faq-closing-v3 .faq-v3-left{padding-left:18px;padding-right:18px}
.faq-closing-v3 .faq-v3-title{font-size:26px}
.faq-closing-v3 .faq-v3-copy{font-size:12px}
.faq-closing-v3 .faq-v3-right{height:270px;min-height:270px}
.faq-closing-v3 .faq-v3-arch{width:94%}
.faq-closing-v3 .faq-v3-btn{font-size:12px;letter-spacing:0;gap:6px;padding-left:15px;padding-right:11px}
.faq-closing-v3 .faq-v3-phone{font-size:15px}
}
/* =============================================================
 ペイントリーフ大阪｜FAQページ専用・30秒フォーム位置調整
 対象：SECTION 06 に .faq-closing-v3 があるFAQページのみ

 【設置手順】
 1. FAQ SECTION 06 のカスタムHTMLブロックを終了する
 2. そのすぐ下に独立した「ショートコード」ブロックを追加
    [contact-form-7 id="cfdf8e0" title="トップページ無料相談"]
 3. このCSSを Cocoon子テーマ style.css の末尾に1回だけ追加
 4. PCとスマホを確認。見た目が合わない場合は実画面で微調整

 ※ 会社案内・外壁塗装ページで使用したフォーム位置調整値を適用。
 ※ FAQ SECTION 01〜06や他ページのフォームには影響しない。
 ※ CF7フォームテンプレート自体は変更しない。
 ============================================================= */

/* ショートコードブロックに独自の余白・背景がある場合のFAQ限定解除 */
body:has(.faq-closing-v3) .wp-block-shortcode:has(.pl-visual-form) {
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* A. フォーム全体を縮小させていたCF7の通常の枠を解除 */
body:has(.faq-closing-v3) .wpcf7:has(.pl-visual-form) {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
body:has(.faq-closing-v3) .wpcf7:has(.pl-visual-form) > form {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* B. 背景画像と実フォームの縮尺を統一 */
body:has(.faq-closing-v3) .pl-visual-form {
  position: relative !important;
  display: block !important;
  width: min(1200px, 100%) !important;
  max-width: 1200px !important;
  aspect-ratio: 3 / 2 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 35px auto 55px !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  background-image: url("https://paintleaf-osaka.com/wp-content/uploads/2026/09/paintleaf-osaka-top-contact-form-bg.webp") !important;
  background-size: 100% 100% !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
}
body:has(.faq-closing-v3) .pl-visual-form__live {
  position: absolute !important;
  left: 6.1% !important;
  top: 36.3% !important;
  width: 87.8% !important;
  height: 35% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 1.3% 3.2% 1.2% !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  background: #fff !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  z-index: 5 !important;
}

/* C. 既存のTOP専用調整に頼らず内部の位置を統一 */
body:has(.faq-closing-v3) .pl-visual-form .pl-vf-row,
body:has(.faq-closing-v3) .pl-visual-form .pl-vf-row:nth-of-type(2),
body:has(.faq-closing-v3) .pl-visual-form .pl-vf-row:nth-of-type(3) {
  display: grid !important;
  grid-template-columns: 135px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 16px !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid #e8ece8 !important;
  transform: none !important;
}
body:has(.faq-closing-v3) .pl-visual-form .pl-vf-row--check {
  min-height: 43px !important;
}
body:has(.faq-closing-v3) .pl-visual-form .pl-vf-label {
  margin: 0 !important;
  padding: 0 !important;
  color: #086f45 !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  white-space: nowrap !important;
  transform: none !important;
}
body:has(.faq-closing-v3) .pl-visual-form .pl-vf-control {
  min-width: 0 !important;
}
body:has(.faq-closing-v3) .pl-visual-form .pl-vf-control .wpcf7-list-item {
  margin: 2px 10px 2px 0 !important;
}
body:has(.faq-closing-v3) .pl-visual-form .pl-vf-control .wpcf7-list-item label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  font-size: 11px !important;
  white-space: nowrap !important;
}
body:has(.faq-closing-v3) .pl-visual-form .pl-vf-control input[type="checkbox"] {
  width: 17px !important;
  height: 17px !important;
  margin: 0 !important;
}
body:has(.faq-closing-v3) .pl-visual-form input[type="text"],
body:has(.faq-closing-v3) .pl-visual-form input[type="tel"] {
  display: block !important;
  width: 100% !important;
  height: 42px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  box-sizing: border-box !important;
  font-size: 14px !important;
  transform: none !important;
}
body:has(.faq-closing-v3) .pl-visual-form .pl-vf-bottom {
  margin: 0 !important;
  padding-top: 8px !important;
  transform: none !important;
}
body:has(.faq-closing-v3) .pl-visual-form .pl-vf-submit {
  width: min(390px, 100%) !important;
  margin: 0 auto !important;
}
body:has(.faq-closing-v3) .pl-visual-form .pl-vf-submit input[type="submit"] {
  display: block !important;
  width: 100% !important;
  height: 48px !important;
  margin: 0 !important;
  border-radius: 30px !important;
  font-size: 14px !important;
}
body:has(.faq-closing-v3) .pl-visual-form .wpcf7-not-valid-tip {
  position: static !important;
  display: block !important;
  margin: 4px 0 0 !important;
  font-size: 11px !important;
}

/* D. スマホ・タブレットは画像に項目を重ねず縦配置 */
@media screen and (max-width: 900px) {
  body:has(.faq-closing-v3) .pl-visual-form {
    width: min(430px, calc(100% - 20px)) !important;
    max-width: 430px !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    margin: 28px auto 38px !important;
    padding: calc(33.333% + 8px) 10px 16px !important;
    background-image: none !important;
    background-color: #f3f7ee !important;
    border-radius: 14px !important;
  }
  body:has(.faq-closing-v3) .pl-visual-form::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 3 / 1 !important;
    background: url("https://paintleaf-osaka.com/wp-content/uploads/2026/09/paintleaf-osaka-top-contact-mobile.webp") center top / 100% 100% no-repeat !important;
    z-index: 1 !important;
  }
  body:has(.faq-closing-v3) .pl-visual-form__live {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 20px 14px !important;
    display: block !important;
    border: 1px solid #dce7d9 !important;
    border-radius: 12px !important;
    box-shadow: 0 6px 18px rgba(28,83,56,.08) !important;
  }
  body:has(.faq-closing-v3) .pl-visual-form .pl-vf-row,
  body:has(.faq-closing-v3) .pl-visual-form .pl-vf-row:nth-of-type(2),
  body:has(.faq-closing-v3) .pl-visual-form .pl-vf-row:nth-of-type(3) {
    display: block !important;
    min-height: 0 !important;
    margin: 0 0 18px !important;
    padding: 0 0 18px !important;
    transform: none !important;
  }
  body:has(.faq-closing-v3) .pl-visual-form .pl-vf-label {
    display: block !important;
    margin: 0 0 10px !important;
    font-size: 14px !important;
    white-space: normal !important;
  }
  body:has(.faq-closing-v3) .pl-visual-form .pl-vf-control .wpcf7-checkbox {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px 8px !important;
  }
  body:has(.faq-closing-v3) .pl-visual-form .pl-vf-control .wpcf7-list-item {
    margin: 0 !important;
  }
  body:has(.faq-closing-v3) .pl-visual-form .pl-vf-control .wpcf7-list-item label {
    display: flex !important;
    gap: 7px !important;
    font-size: 13px !important;
  }
  body:has(.faq-closing-v3) .pl-visual-form .pl-vf-control input[type="checkbox"] {
    width: 21px !important;
    height: 21px !important;
    flex: 0 0 21px !important;
  }
  body:has(.faq-closing-v3) .pl-visual-form input[type="text"],
  body:has(.faq-closing-v3) .pl-visual-form input[type="tel"] {
    height: 52px !important;
    font-size: 16px !important;
  }
  body:has(.faq-closing-v3) .pl-visual-form .pl-vf-bottom {
    margin: 2px 0 0 !important;
    padding: 0 !important;
  }
  body:has(.faq-closing-v3) .pl-visual-form .pl-vf-submit {
    width: 100% !important;
  }
  body:has(.faq-closing-v3) .pl-visual-form .pl-vf-submit input[type="submit"] {
    height: 56px !important;
    font-size: 15px !important;
  }
  body:has(.faq-closing-v3) .pl-visual-form .wpcf7-response-output,
  body:has(.faq-closing-v3) .pl-visual-form .wpcf7-spinner {
    position: static !important;
    margin: 12px auto 0 !important;
  }
}

/* ==========================================
   ペイントリーフ大阪
   施工管理堀田の塗装現場ノート
   メニューとヘッダーの余白をなくす
   /blog/ 専用
========================================== */

/* Cocoon標準の上部余白を削除 */
body.page:has(.pl-horita-blog-hero) #content,
body.page:has(.pl-horita-blog-hero) .content,
body.page:has(.pl-horita-blog-hero) .content-in,
body.page:has(.pl-horita-blog-hero) #main,
body.page:has(.pl-horita-blog-hero) .main,
body.page:has(.pl-horita-blog-hero) .article,
body.page:has(.pl-horita-blog-hero) .entry-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* ページタイトルはSEO用に残して画面上のみ非表示 */
body.page:has(.pl-horita-blog-hero) .entry-title {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

/* タイトル領域と投稿日・アイキャッチの余白をなくす */
body.page:has(.pl-horita-blog-hero) .article-header {
  margin: 0 !important;
  padding: 0 !important;
}

body.page:has(.pl-horita-blog-hero) .date-tags,
body.page:has(.pl-horita-blog-hero) .eye-catch-wrap,
body.page:has(.pl-horita-blog-hero) .breadcrumb-container,
body.page:has(.pl-horita-blog-hero) .breadcrumb {
  display: none !important;
}

/* HTMLブロックの上部余白 */
body.page:has(.pl-horita-blog-hero)
.entry-content > :first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* ヘッダー画像を上に密着 */
body.page:has(.pl-horita-blog-hero) .pl-horita-blog-hero {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* ヘッダー画像の余白をなくす */
body.page:has(.pl-horita-blog-hero)
.pl-horita-blog-hero__image {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* =============================================================
 ペイントリーフ大阪｜堀田の塗装現場ノート 専用 30秒フォーム位置調整
 FAQページで使用したフォーム位置調整と同方式
 対象：.pl-horita-blog-hero があるブログ固定ページのみ

 使用前に削除：
   過去に追加した「堀田の塗装現場ノート お問い合わせフォーム横幅調整」
   （paintleaf-horita-blog-form-layout-fix-20261026.css）

 ショートコードは独立した「ショートコード」ブロックに入力：
   [contact-form-7 id="cfdf8e0" title="トップページ無料相談"]

 トップページ・FAQ・会社案内・その他ページには適用しません。
 ============================================================= */

/* 0. ショートコードの外枠を本文幅から独立させ、PCでも縮小させない */
body:has(.pl-horita-blog-hero) .wp-block-shortcode:has(.pl-visual-form) {
  position: relative !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  display: block !important;
  width: min(1200px, calc(100vw - 32px)) !important;
  max-width: none !important;
  box-sizing: border-box !important;
  margin: 40px 0 70px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

/* A. CF7が通常の「白いカード」になる指定を解除 */
body:has(.pl-horita-blog-hero) .wpcf7:has(.pl-visual-form) {
  position: static !important;
  left: auto !important;
  transform: none !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
body:has(.pl-horita-blog-hero) .wpcf7:has(.pl-visual-form) > form {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* B. 背景画像と実際のフォームを同じ比率にする */
body:has(.pl-horita-blog-hero) .pl-visual-form {
  position: relative !important;
  display: block !important;
  width: min(1200px, 100%) !important;
  max-width: 1200px !important;
  aspect-ratio: 3 / 2 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  background-image: url("https://paintleaf-osaka.com/wp-content/uploads/2026/09/paintleaf-osaka-top-contact-form-bg.webp") !important;
  background-size: 100% 100% !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
}
body:has(.pl-horita-blog-hero) .pl-visual-form__live {
  position: absolute !important;
  left: 6.1% !important;
  top: 36.3% !important;
  width: 87.8% !important;
  height: 35% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 1.3% 3.2% 1.2% !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  background: #fff !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  z-index: 5 !important;
}

/* C. TOPに依存せず各行・文字・ボタンの位置を合わせる */
body:has(.pl-horita-blog-hero) .pl-visual-form .pl-vf-row,
body:has(.pl-horita-blog-hero) .pl-visual-form .pl-vf-row:nth-of-type(2),
body:has(.pl-horita-blog-hero) .pl-visual-form .pl-vf-row:nth-of-type(3) {
  display: grid !important;
  grid-template-columns: 135px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 16px !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid #e8ece8 !important;
  transform: none !important;
}
body:has(.pl-horita-blog-hero) .pl-visual-form .pl-vf-row--check {
  min-height: 43px !important;
}
body:has(.pl-horita-blog-hero) .pl-visual-form .pl-vf-label {
  margin: 0 !important;
  padding: 0 !important;
  color: #086f45 !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  white-space: nowrap !important;
  transform: none !important;
}
body:has(.pl-horita-blog-hero) .pl-visual-form .pl-vf-control {
  min-width: 0 !important;
}
body:has(.pl-horita-blog-hero) .pl-visual-form .pl-vf-control .wpcf7-list-item {
  margin: 2px 10px 2px 0 !important;
}
body:has(.pl-horita-blog-hero) .pl-visual-form .pl-vf-control .wpcf7-list-item label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  font-size: 11px !important;
  white-space: nowrap !important;
}
body:has(.pl-horita-blog-hero) .pl-visual-form .pl-vf-control input[type="checkbox"] {
  width: 17px !important;
  height: 17px !important;
  margin: 0 !important;
}
body:has(.pl-horita-blog-hero) .pl-visual-form input[type="text"],
body:has(.pl-horita-blog-hero) .pl-visual-form input[type="tel"] {
  display: block !important;
  width: 100% !important;
  height: 42px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  box-sizing: border-box !important;
  font-size: 14px !important;
  transform: none !important;
}
body:has(.pl-horita-blog-hero) .pl-visual-form .pl-vf-bottom {
  margin: 0 !important;
  padding-top: 8px !important;
  transform: none !important;
}
body:has(.pl-horita-blog-hero) .pl-visual-form .pl-vf-submit {
  width: min(390px, 100%) !important;
  margin: 0 auto !important;
}
body:has(.pl-horita-blog-hero) .pl-visual-form .pl-vf-submit input[type="submit"] {
  display: block !important;
  width: 100% !important;
  height: 48px !important;
  margin: 0 !important;
  border-radius: 30px !important;
  font-size: 14px !important;
}
body:has(.pl-horita-blog-hero) .pl-visual-form .wpcf7-not-valid-tip {
  position: static !important;
  display: block !important;
  margin: 4px 0 0 !important;
  font-size: 11px !important;
}

/* D. タブレット・スマホは上部画像と入力欄を分離して縦配置 */
@media screen and (max-width: 900px) {
  body:has(.pl-horita-blog-hero) .wp-block-shortcode:has(.pl-visual-form) {
    width: min(430px, calc(100vw - 20px)) !important;
    margin: 28px 0 38px !important;
  }
  body:has(.pl-horita-blog-hero) .pl-visual-form {
    width: 100% !important;
    max-width: 430px !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    margin: 0 auto !important;
    padding: calc(33.333% + 8px) 10px 16px !important;
    background-image: none !important;
    background-color: #f3f7ee !important;
    border-radius: 14px !important;
  }
  body:has(.pl-horita-blog-hero) .pl-visual-form::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 3 / 1 !important;
    background: url("https://paintleaf-osaka.com/wp-content/uploads/2026/09/paintleaf-osaka-top-contact-mobile.webp") center top / 100% 100% no-repeat !important;
    z-index: 1 !important;
  }
  body:has(.pl-horita-blog-hero) .pl-visual-form__live {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 20px 14px !important;
    display: block !important;
    border: 1px solid #dce7d9 !important;
    border-radius: 12px !important;
    box-shadow: 0 6px 18px rgba(28,83,56,.08) !important;
  }
  body:has(.pl-horita-blog-hero) .pl-visual-form .pl-vf-row,
  body:has(.pl-horita-blog-hero) .pl-visual-form .pl-vf-row:nth-of-type(2),
  body:has(.pl-horita-blog-hero) .pl-visual-form .pl-vf-row:nth-of-type(3) {
    display: block !important;
    min-height: 0 !important;
    margin: 0 0 18px !important;
    padding: 0 0 18px !important;
    transform: none !important;
  }
  body:has(.pl-horita-blog-hero) .pl-visual-form .pl-vf-label {
    display: block !important;
    margin: 0 0 10px !important;
    font-size: 14px !important;
    white-space: normal !important;
  }
  body:has(.pl-horita-blog-hero) .pl-visual-form .pl-vf-control .wpcf7-checkbox {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px 8px !important;
  }
  body:has(.pl-horita-blog-hero) .pl-visual-form .pl-vf-control .wpcf7-list-item {
    margin: 0 !important;
  }
  body:has(.pl-horita-blog-hero) .pl-visual-form .pl-vf-control .wpcf7-list-item label {
    display: flex !important;
    gap: 7px !important;
    font-size: 13px !important;
  }
  body:has(.pl-horita-blog-hero) .pl-visual-form .pl-vf-control input[type="checkbox"] {
    width: 21px !important;
    height: 21px !important;
    flex: 0 0 21px !important;
  }
  body:has(.pl-horita-blog-hero) .pl-visual-form input[type="text"],
  body:has(.pl-horita-blog-hero) .pl-visual-form input[type="tel"] {
    height: 52px !important;
    font-size: 16px !important;
  }
  body:has(.pl-horita-blog-hero) .pl-visual-form .pl-vf-bottom {
    margin: 2px 0 0 !important;
    padding: 0 !important;
  }
  body:has(.pl-horita-blog-hero) .pl-visual-form .pl-vf-submit {
    width: 100% !important;
  }
  body:has(.pl-horita-blog-hero) .pl-visual-form .pl-vf-submit input[type="submit"] {
    height: 56px !important;
    font-size: 15px !important;
  }
  body:has(.pl-horita-blog-hero) .pl-visual-form .wpcf7-response-output,
  body:has(.pl-horita-blog-hero) .pl-visual-form .wpcf7-spinner {
    position: static !important;
    margin: 12px auto 0 !important;
  }
}
