@charset "utf-8";
/*
Theme Name: 3PEACE Specialcleaning Kagawa
Theme URI: https://xn--5rtq9jewhusc23her2e.jp/
Author: 3PEACE
Description: 特殊清掃香川.jp 用のWordPressテーマ。香川の特殊清掃サイト向けに、SEO・アーカイブ・速度対策を強化した構成です。
Version: 1.2.3
Text Domain: 3peace-specialcleaning-kagawa
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
*/

.archive-intro {
  margin: 0 auto 32px;
  max-width: 900px;
}

.archive-intro__image {
  margin: 0 0 20px;
}

.archive-intro__image img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 16px;
}

.archive-intro__description {
  color: #333;
  font-size: 1rem;
  line-height: 1.9;
}

.archive-empty {
  padding: 32px 0;
  text-align: center;
}

.c-pagenavi,
.pagination {
  margin-top: 32px;
  text-align: center;
}

.pagination .nav-links,
.pagination .page-numbers,
.pagination ul {
  list-style: none;
}

.pagination .nav-links,
.pagination ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0;
  margin: 0;
}

.pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  min-height: 42px;
  padding: 8px 12px;
  border: 1px solid #d9e3d0;
  border-radius: 999px;
  background: #fff;
  color: #2b2b2b;
  text-decoration: none;
}

.pagination .page-numbers.current,
.pagination .page-numbers:hover {
  background: #02a300;
  border-color: #02a300;
  color: #fff;
}

.term-image-preview img {
  display: block;
  max-width: 240px;
  height: auto;
  margin-top: 12px;
  border-radius: 8px;
}

.c-report-card-wrap {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.c-report-card__category {
  margin-top: auto;
}

.c-report-card__badgeLink,
.c-report-card__category > a {
  background: #009E00;
  border-radius: 6.25rem;
  display: inline-block;
  color: #fff;
  font-weight: bold;
  font-size: 0.6875rem;
  padding: 0.25rem 0.9375rem;
  text-decoration: none;
}

.c-report-card__badgeLink:hover,
.c-report-card__badgeLink:focus-visible,
.c-report-card__category > a:hover,
.c-report-card__category > a:focus-visible {
  opacity: 0.9;
}

.l-header-hamburger {
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  border: 0;
  padding: 0;
}

.l-sp-nav[hidden] {
  display: none !important;
}

/* 2026-04 hero/performance tuning */
.specialcleaning-kv__inner {
  width: min(100vw, 1366px);
}

.specialcleaning-kv__main,
.specialcleaning-kv__picture,
.specialcleaning-service__title picture,
.specialcleaning-about__img picture,
.specialcleaning-pack__heading picture,
.specialcleaning-attention__img picture,
.solution__title picture,
.fix-bnr__tel-picture {
  display: block;
}

.fix-bnr__tel-picture {
  width: 100%;
  max-width: 21.75rem;
  margin: 0 auto;
  line-height: 0;
  flex: 0 1 21.75rem;
}

.specialcleaning-kv__picture {
  aspect-ratio: 750 / 1104;
}

@media (min-width: 768px) {
  .specialcleaning-kv__picture {
    aspect-ratio: 2732 / 1318;
  }
}

.specialcleaning-kv__picture img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.specialcleaning-attention__img picture > img,
.specialcleaning-about__img picture > img,
.specialcleaning-pack__heading picture > img,
.specialcleaning-service__title picture > img,
.solution__title picture > img,
.fix-bnr__tel-picture > img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}

.fix-bnr.-index .fix-bnr__tel {
  min-width: 0;
  overflow: hidden;
}

.fix-bnr.-index .fix-bnr__tel-picture {
  height: auto;
}

.solution-links__btn {
  appearance: none;
  -webkit-appearance: none;
  font-family: inherit;
  color: #0b7a08;
}

.specialcleaning-kv {
  background-color: #0FB309;
  background-image: image-set(
    url("images/specialcleaning/responsive/kv-bg-1366.webp") 1x,
    url("images/specialcleaning/kv-bg.png") 1x
  );
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.specialcleaning-service::before {
  background-image:
    linear-gradient(180deg, white 0%, transparent 70%),
    image-set(
      url("images/specialcleaning/service-bg.png.webp") 1x,
      url("images/specialcleaning/service-bg.png") 1x
    );
  background-repeat: no-repeat, no-repeat;
  background-position: center top, bottom center;
  background-size: auto, cover;
}

.specialcleaning-service::after {
  background-image:
    linear-gradient(180deg, transparent 30%, white 100%),
    image-set(
      url("images/specialcleaning/service-bg.png.webp") 1x,
      url("images/specialcleaning/service-bg.png") 1x
    );
  background-repeat: no-repeat, repeat-y;
  background-position: center top, center top;
  background-size: auto, cover;
}


/* お役立ちコラムセクション全体 */
.specialcleaning-column {
    padding: 60px 0;
    background-color: #f9f9f9; /* 背景色はサイトに合わせて調整してください */
}

.specialcleaning-column__title {
    text-align: center;
    margin-bottom: 40px;
}

.specialcleaning-column__title img {
    max-width: 400px;
    width: 100%;
}
.specialcleaning-column__title span {
    display: inline-block;
    color: #1f3d2b;
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 800;
    line-height: 1.35;
}

.column-card a{text-decoration:none!important}
/* グリッドレイアウトの設定 */
.specialcleaning-column__list {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(2, 1fr); /* スマホ：2列 */
    margin-bottom: 40px;
}

@media (min-width: 768px) {
    .specialcleaning-column__list {
        grid-template-columns: repeat(3, 1fr); /* PC：3列 */
        gap: 30px;
    }
}

/* カードのデザイン */
.column-card {
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 3px 10px rgba(0,0,0,0.05);
    transition: transform 0.3s ease;
}

.column-card:hover {
    transform: translateY(-5px);
}

.column-card__img img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    display: block;
}

.column-card__body {
    padding: 15px;
}

.column-card__date {
    display: block;
    font-size: 1.2rem;
    color: #4f4f4f;
    margin-bottom: 5px;
}

.column-card__title {
    font-size: 1.4rem;
    line-height: 1.5;
    font-weight: bold;
    color: #333;
    /* 2行以上の場合は三点リーダーにする設定 */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.l-btn-center {
    text-align: center;
    margin-top: 20px;
}

.specialcleaning-column .c-btn-a.-shadow {
    background: #9A2D0E;
    box-shadow: 0 0.5rem 0 #6E200A;
}

/* 2026-04-14 minimal CTA/mobile/head cleanup patch */
@media (min-width: 768px) {
  .fix-bnr.-index .fix-bnr__tel {
    padding-bottom: 0.75rem;
  }

  .fix-bnr.-index .fix-bnr__tel-picture {
    padding-bottom: 0.1875rem;
  }
}

@media (max-width: 767px) {
  .specialcleaning-kv {
    background-image: none;
  }

  .cv-b::before {
    background: url("images/responsive/cv-b-bg-b-mobile.webp") no-repeat top center/cover, radial-gradient(at 50% 100%, #a9cb04 0, #0FB309 100%), #0FB309;
  }

  .price__bg::before {
    background: url("images/line-green.png") repeat-x center top/auto 1rem, url("images/line-green.png") repeat-x center bottom/auto 1rem, linear-gradient(180deg, transparent 0%, transparent 3.75rem, #0FB309 12.5rem, #0FB309 calc(100% - 12.5rem), transparent calc(100% - 3.75rem), transparent 100%), url("images/responsive/bg-section02-mobile.webp") no-repeat top center/100% auto, url("images/responsive/bg-section02-mobile.webp") no-repeat bottom center/100% auto, #0FB309;
  }

  .top-comparison {
    background: url("images/line-green.png") repeat-x center top/auto 1rem, url("images/line-green.png") repeat-x center bottom/auto 1rem, url("images/responsive/bg-section03-mobile.webp") no-repeat center/cover, #0FB309;
  }

  .top-acceptableItems {
    background: url("images/line-green.png") repeat-x center top/auto 1rem, url("images/line-green.png") repeat-x center bottom/auto 1rem, url("images/responsive/bg-section-top-mobile.webp") no-repeat top 3rem center/auto 17.5rem, #0FB309;
  }

  .top-area__title::before {
    background-image: url("images/responsive/area-map-mobile.webp");
  }

  .specialcleaning-service::before {
    background-image: linear-gradient(180deg, white 0%, transparent 70%), url("images/responsive/service-bg-mobile.webp");
    background-repeat: no-repeat, no-repeat;
    background-position: center top, bottom center;
    background-size: auto, cover;
  }

  .specialcleaning-service::after {
    background-image: linear-gradient(180deg, transparent 30%, white 100%), url("images/responsive/service-bg-mobile.webp");
    background-repeat: no-repeat, repeat-y;
    background-position: center top, center top;
    background-size: auto, cover;
  }
}


/* 2026-04-14 targeted CTA/contrast/html follow-up */
.fix-bnr.-index .fix-bnr__tel-picture {
  box-sizing: border-box;
}

.fix-bnr.-index .fix-bnr__btn.-mail {
  padding-left: 2.5rem;
  padding-right: 0.875rem;
}

.fix-bnr.-index .fix-bnr__btn.-mail::before {
  position: absolute;
  left: 0.875rem;
  top: 50%;
  transform: translateY(-50%);
  margin-right: 0;
}

.mp-on {
  display: none;
}

.specialcleaning-acceptableItems__item-text {
  background: #9A2D0E;
}

.specialcleaning-step .step-item__label > span,
.specialcleaning-step .step-item__heading2 > span,
.specialcleaning-step .step-item__btn.-line {
  background: #2E6042;
  color: #fff;
}

.specialcleaning-step .step-item__label.-accent > span,
.specialcleaning-step .step-item__heading .-notes {
  background: #9A2D0E;
  color: #fff;
}

@media (min-width: 768px) {
  .fix-bnr.-index .fix-bnr__tel-picture {
    padding: 1.875rem;
  }
}

@media (min-width: 768px) and (max-width: 1180px) {
  .mp-on {
    display: block;
  }
}

@media (max-width: 767px) {
  .fix-bnr.-index .fix-bnr__btn.-mail {
    padding-left: 0;
    padding-right: 0;
  }

  .fix-bnr.-index .fix-bnr__btn.-mail::before {
    position: static;
    transform: none;
  }
}

/* 2026-04-14 targeted contrast follow-up only */
.specialcleaning-acceptableItems .c-btn-a.-shadow {
  background: #9A2D0E;
  box-shadow: 0 0.5rem 0 #6E200A;
}

.fix-bnr.-index .fix-bnr__btn.-line {
  background: #2E6042;
}

.l-footer-sc .l-footer__copyright,
.l-footer-sc .l-footer__policy {
  display: inline-block;
  width: auto;
  color: #2E6042;
  background: rgba(255, 255, 255, 0.92);
  padding: 0.2rem 0.6rem;
  border-radius: 9999px;
  font-weight: 700;
}

/* 2026-04-14 mobile contrast follow-up only */
@media (max-width: 767px) {
  .fix-bnr.-index .fix-bnr__tel {
    background: #9A2D0E;
  }

  .fix-bnr.-index .fix-bnr__tel ._view-md-low,
  .fix-bnr.-index .fix-bnr__tel ._view-md-low small {
    color: #fff;
  }
}

.fix-bnr.-index .fix-bnr__btn.-line::before {
  content: "LINE";
  width: 2.75rem;
  height: 2.75rem;
  margin-right: 0.5rem;
  border-radius: 9999px;
  background: #fff;
  color: #2E6042;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1;
}

@media (max-width: 1279px) {
  .fix-bnr.-index .fix-bnr__btn.-line::before {
    width: 2rem;
    height: 2rem;
    font-size: 0.58rem;
    margin-right: 0.375rem;
  }
}


/* 2026-04-16 right-panel display settings */
.p-single-heading__linked-title {
  margin: 1rem 0 0;
  font-size: 0.9375rem;
  font-weight: bold;
  line-height: 1.6;
}

.p-single-heading__linked-title a {
  color: #009E00;
  text-decoration: underline;
  text-underline-offset: 0.14em;
}

.p-single-heading__linked-title a:hover,
.p-single-heading__linked-title a:focus-visible {
  opacity: 0.85;
}

@media (max-width: 767px) {
  .p-single-heading__linked-title {
    margin-top: 0.875rem;
    font-size: 0.875rem;
  }
}


/* 2026-05 fixed page featured image and footer legal links */
.pg-page .p-single-heading__thumbnail {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 16px;
}

.pg-page .p-single-heading__thumbnail img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.l-footer__links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 16px;
  margin-top: 8px;
}

.l-footer__links a {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.l-footer__links a:hover,
.l-footer__links a:focus-visible {
  text-decoration-thickness: 2px;
}
