/* ==================================================
   あわらタイムズ｜あわら市 ごみガイド TOP
   File:
   assets/css/guides/waste/awt-waste-home.css

   Scope:
   .awt-page.awt-waste.awt-page.awt-waste.awt-waste-home .awt-waste-home

   Dependency:
   1. awt-common.css
   2. awt-waste.css
   3. awt-waste-home.css

   Note:
   ・検索・50音・検索結果・本文共通UIは
     awt-waste.css を正本とする。
   ・このファイルはガイドTOP専用。
   ・ページタイトル「あわら市 ごみガイド」は
     画面上では非表示とし、H1自体は残す。
================================================== */


/* ==================================================
   01. TOKENS
================================================== */

.awt-page.awt-waste.awt-waste-home {
  --awt-waste-home-blue: #0873bd;
  --awt-waste-home-blue-dark: #075b96;
  --awt-waste-home-blue-soft: #eaf7fd;
  --awt-waste-home-blue-soft-2: #f6fcff;

  --awt-waste-home-green: #17984e;
  --awt-waste-home-green-dark: #11753c;
  --awt-waste-home-green-soft: #eaf8ed;

  --awt-waste-home-orange: #d97706;
  --awt-waste-home-orange-dark: #b85f00;
  --awt-waste-home-orange-soft: #fff5e8;

  --awt-waste-home-red: #df4248;
  --awt-waste-home-red-dark: #b92f35;
  --awt-waste-home-red-soft: #fff1f2;

  --awt-waste-home-magenta: #bf3fa9;
  --awt-waste-home-magenta-dark: #983489;
  --awt-waste-home-magenta-soft: #fbedfa;

  --awt-waste-home-gray: #68747b;
  --awt-waste-home-gray-dark: #495760;
  --awt-waste-home-gray-soft: #f3f5f6;

  --awt-waste-home-text: #16394d;
  --awt-waste-home-text-soft: #58717f;

  --awt-waste-home-border: #dce8ed;
  --awt-waste-home-white: #ffffff;

  --awt-waste-home-radius: 16px;
  --awt-waste-home-radius-sm: 10px;

  --awt-waste-home-shadow:
    0 4px 18px rgba(16, 42, 58, 0.065);
}


/* ==================================================
   02. SWELL PAGE TITLE
   H1はHTML上に残し、画面上だけ非表示
================================================== */

#main_content:has(.awt-waste-home) .c-pageTitle {
  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;
}


/* 03. ごみトップだけの本文・見出しリセット（特集は対象外） */
#content:has(.awt-waste-home) { padding-top: 24px; }
#main_content:has(.awt-waste-home) > .l-mainContent__inner > .post_content { margin-top: 0; }
.awt-page.awt-waste.awt-waste-home { color: #16394d; }
.awt-page.awt-waste.awt-waste-home :is(h2,h3,h4):not(.awt-waste-home-feature *) {
  margin-top: 0; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none;
}
.awt-page.awt-waste.awt-waste-home :is(h2,h3,h4):not(.awt-waste-home-feature *)::before,
.awt-page.awt-waste.awt-waste-home :is(h2,h3,h4):not(.awt-waste-home-feature *)::after { content: none !important; }
.awt-page.awt-waste.awt-waste-home p:not(.awt-waste-home-feature *) { margin-top: 0; margin-bottom: 0; }
.awt-page.awt-waste.awt-waste-home img { max-width: 100%; }
.awt-page.awt-waste.awt-waste-home a { text-underline-offset: .16em; }
.awt-page.awt-waste.awt-waste-home svg { display: block; width: 24px; height: 24px; }

/* ==================================================
   04. BASE
================================================== */

.awt-page.awt-waste.awt-waste-home .awt-waste-home__inner {
  width: min(100%, 1180px);
  margin-inline: auto;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home__section {
  margin-top: 24px;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home__section:first-child {
  margin-top: 0;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home__panel {
  position: relative;
  padding: clamp(18px, 2.5vw, 28px);
  border: 1px solid var(--awt-waste-home-border);
  border-radius: var(--awt-waste-home-radius);
  overflow: hidden;
}


/* ==================================================
   05. EMERGENCY / IMPORTANT NOTICE
================================================== */

.awt-page.awt-waste.awt-waste-home .awt-waste-home-alert[hidden] {
  display: none !important;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-alert {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 64px;
  padding: 11px 16px;
  border: 2px solid #ee6d72;
  border-radius: 11px;
  background: var(--awt-waste-home-red-soft);
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-alert__icon {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--awt-waste-home-red);
  color: #fff;
  font-size: 1.1rem;
  font-weight: 800;
  line-height: 1;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-alert__body {
  flex: 1 1 auto;
  min-width: 0;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-alert__title {
  margin: 0;
  color: var(--awt-waste-home-red-dark);
  font-size: 0.98rem;
  font-weight: 800;
  line-height: 1.5;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-alert__text {
  margin: 3px 0 0;
  color: #7d3539;
  font-size: 0.82rem;
  line-height: 1.55;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-alert__link {
  flex: 0 0 auto;
  color: var(--awt-waste-home-red-dark);
  font-size: 0.84rem;
  font-weight: 800;
}


/* ==================================================
   06. HERO
================================================== */

.awt-page.awt-waste.awt-waste-home .awt-waste-home-hero {
  position: relative;
  display: grid;
  grid-template-columns:
    minmax(0, 1.05fr)
    minmax(320px, 0.95fr);
  align-items: center;
  min-height: 360px;
  padding:
    clamp(24px, 4vw, 44px)
    clamp(22px, 4vw, 48px);
  border: 1px solid #cce4ef;
  border-radius: var(--awt-waste-home-radius);
  background:
    linear-gradient(
      110deg,
      #f8fdff 0%,
      #eaf7fd 50%,
      #ddf2f8 100%
    );
  overflow: hidden;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-hero::before {
  content: "";
  position: absolute;
  top: -110px;
  right: 18%;
  width: 250px;
  height: 250px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.38);
  pointer-events: none;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-hero__content {
  position: relative;
  z-index: 2;
  min-width: 0;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-hero__eyebrow {
  margin: 0 0 8px;
  color: var(--awt-waste-home-blue);
  font-size: 0.88rem;
  font-weight: 800;
  line-height: 1.5;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-hero__title {
  margin: 0 0 13px;
  color: #063761;
  font-size: clamp(2rem, 4vw, 3.2rem);
  font-weight: 800;
  line-height: 1.17;
  letter-spacing: 0.02em;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-hero__lead {
  max-width: 600px;
  margin: 0;
  color: #234b64;
  font-size: clamp(1rem, 1.7vw, 1.1rem);
  font-weight: 600;
  line-height: 1.85;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-hero__note {
  max-width: 630px;
  margin: 12px 0 0;
  color: #526e7d;
  font-size: 0.82rem;
  line-height: 1.7;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-hero__media {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  min-width: 0;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-hero__image {
  display: block;
  width: 100%;
  height: 310px;
  max-height: none;
  margin-top: 0;
  object-fit: contain;
  object-position: center bottom;
}


.awt-page.awt-waste.awt-waste-home .awt-waste-home-hero__handwritten {
  color: #176344; font-family: "HanziPen SC", "Hannotate SC", "Yu Kyokasho", cursive;
  font-size: clamp(1.2rem, 2vw, 1.65rem); font-weight: 700; line-height: 1.5;
  text-align: center; transform: rotate(-4deg); margin: 0 0 8px;
}

/* ==================================================
   07. COMMON SECTION HEADING
================================================== */

.awt-page.awt-waste.awt-waste-home .awt-waste-home-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-heading__main {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-heading__icon {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  margin-top: 1px;
  border-radius: 9px;
  background: var(--awt-waste-home-blue);
  color: #fff;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-heading__image {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-heading__image img {
  display: block;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: contain;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-heading__text {
  min-width: 0;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-heading__title {
  margin: 0;
  color: #07548b;
  font-size: clamp(1.18rem, 2vw, 1.42rem);
  font-weight: 800;
  line-height: 1.45;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-heading__description {
  margin: 4px 0 0;
  color: #526d7b;
  font-size: 0.95rem;
  line-height: 1.6;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-heading__action {
  flex: 0 0 auto;
  align-self: center;
}


/* ==================================================
   08. SEARCH
   全幅1カラム
================================================== */

.awt-page.awt-waste.awt-waste-home .awt-waste-home-search-section {
  background:
    linear-gradient(
      135deg,
      #f7fcff 0%,
      #e8f7fd 100%
    );
  border-color: #cfe8f3;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-search-section
.awt-page.awt-waste.awt-waste-home .awt-waste-home-heading {
  margin-bottom: 18px;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-search-section
.awt-waste-search {
  width: 100%;
  max-width: none;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-search-section
.awt-waste-search__form {
  width: 100%;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-search-section
.awt-waste-search__input-wrap {
  width: 100%;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-search-section
.awt-waste-search__input {
  min-height: 58px;
  font-size: 1rem;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-search-section
.awt-waste-search__button {
  min-width: 96px;
  min-height: 58px;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-search-sub {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin-top: 15px;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-search-sub .awt-waste-kana {
  flex: 1 1 auto;
  min-width: 0;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-search-sub__action {
  flex: 0 0 auto;
  padding-bottom: 2px;
}


.awt-page.awt-waste.awt-waste-home .awt-waste-search__input-wrap { display: flex; gap: 10px; align-items: stretch; }
.awt-page.awt-waste.awt-waste-home .awt-waste-search__input { flex: 1; width: 100%; min-width: 0; border: 1px solid #a9ccd9; border-radius: 10px; padding: 12px 16px; background: #fff; }
.awt-page.awt-waste.awt-waste-home .awt-waste-search__button { flex: 0 0 auto; border: 0; border-radius: 10px; padding: 10px 24px; background: #075b96; color: white; font-weight: 700; }
.awt-page.awt-waste.awt-waste-home .awt-waste-search__help { padding-top: 8px; font-size: .88rem; }
.awt-page.awt-waste.awt-waste-home .awt-waste-kana__list { display: flex; flex-wrap: wrap; gap: 8px; }
.awt-page.awt-waste.awt-waste-home .awt-waste-kana__title { padding-bottom: 8px; font-weight: 700; }
.awt-page.awt-waste.awt-waste-home .awt-waste-kana__link { display: inline-flex; align-items: center; justify-content: center; min-width: 52px; min-height: 44px; padding: 8px; border: 1px solid #bad9e9; border-radius: 8px; background: white; text-decoration: none !important; }

/* ==================================================
   09. CALENDAR
================================================== */

.awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar {
  background:
    linear-gradient(
      135deg,
      #f7fdf8 0%,
      #eaf8ed 100%
    );
  border-color: #cce7d3;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar
.awt-page.awt-waste.awt-waste-home .awt-waste-home-heading__title {
  color: var(--awt-waste-home-green-dark);
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-card {
  min-width: 0;
  border: 1px solid #d3e3da;
  border-radius: 14px;
  background: #fff;
  box-shadow:
    0 3px 12px rgba(16, 42, 58, 0.055);
  overflow: hidden;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-card--mon-thu {
  --awt-calendar-accent: #16874a;
  --awt-calendar-accent-dark: #106a3a;
  --awt-calendar-soft: #e9f7ed;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-card--tue-fri {
  --awt-calendar-accent: #d97812;
  --awt-calendar-accent-dark: #a95706;
  --awt-calendar-soft: #fff2df;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-card__header {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 17px 18px;
  border-bottom: 1px solid #e0e9e4;
  background: var(--awt-calendar-soft);
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-card__days {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 5px;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-card__day {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--awt-calendar-accent);
  color: #fff;
  font-size: 1.24rem;
  font-weight: 800;
  line-height: 1;
  box-shadow:
    0 3px 10px rgba(16, 42, 58, 0.08);
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-card__plus {
  color: var(--awt-calendar-accent-dark);
  font-size: 1rem;
  font-weight: 800;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-card__title {
  margin: 0;
  color: var(--awt-calendar-accent-dark);
  font-size: 1.15rem;
  font-weight: 800;
  line-height: 1.4;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-card__catch {
  margin: 3px 0 0;
  color: #536d5c;
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1.5;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-card--tue-fri
.awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-card__catch {
  color: #79572f;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-card__districts {
  padding: 15px 18px 16px;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-card__district-title {
  margin: 0 0 9px;
  color: #345166;
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1.5;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-card__district-list {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-card__district-list li {
  margin: 0;
  padding: 5px 9px;
  border: 1px solid #d7e3dd;
  border-radius: 999px;
  background: #f8fbf9;
  color: #405967;
  font-size: 0.72rem;
  line-height: 1.45;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-card__district-list li::before {
  content: none;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-card__district-list span {
  color: #687d87;
  font-size: 0.68rem;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-card__iframe-wrap {
  position: relative;
  width: calc(100% - 28px);
  height: 600px;
  margin: 0 14px 14px;
  border: 1px solid #d8e2e6;
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-card__iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-card__footer {
  padding: 0 18px 17px;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-card__official {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 8px 12px;
  border: 1px solid var(--awt-calendar-accent);
  border-radius: 8px;
  background: #fff;
  color: var(--awt-calendar-accent-dark);
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1.4;
  text-align: center;
  text-decoration: none !important;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-card__official::after {
  content: " ↗";
  margin-left: 4px;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-card__official:hover {
  background: var(--awt-calendar-soft);
  color: var(--awt-calendar-accent-dark);
  text-decoration: none !important;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-note {
  margin-top: 16px;
  padding: 13px 16px;
  border-left: 4px solid var(--awt-waste-home-green);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.82);
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-note p {
  margin: 0;
  color: #4a636f;
  font-size: 0.8rem;
  line-height: 1.65;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-note p + p {
  margin-top: 5px;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-note strong {
  color: #205943;
}


.awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-events { padding: 0 18px 18px; }
.awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-events .awt-calendar__grid { display: grid; grid-template-columns: 1fr; gap: 8px; }
.awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-events .awt-calendar__card { padding: 10px 12px; border: 1px solid #dce8ed; border-radius: 8px; background: #f8fbf9; }
.awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-events .awt-calendar__description { font-size: .83rem; line-height: 1.6; }
.awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-events .awt-calendar__title { font-size: .9rem; line-height: 1.6; }
.awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-events .awt-calendar__all-link { margin-top: 10px; font-size: .88rem; }

/* ==================================================
   10. CATEGORY SECTION
================================================== */

.awt-page.awt-waste.awt-waste-home .awt-waste-home-categories {
  background:
    linear-gradient(
      135deg,
      #eefaff 0%,
      #dff5fc 100%
    );
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-categories
.awt-page.awt-waste.awt-waste-home .awt-waste-home-heading__icon {
  background: var(--awt-waste-home-green);
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-category-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-category {
  min-width: 0;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-category__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  min-height: 176px;
  padding: 14px 10px 13px;
  border: 1px solid #dbe7eb;
  border-radius: 11px;
  background: #fff;
  color: #113b55;
  text-align: center;
  text-decoration: none !important;
  box-shadow:
    0 2px 8px rgba(16, 42, 58, 0.045);
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-category__link:hover {
  border-color: #a9d4e6;
  color: #113b55;
  text-decoration: none !important;
  transform: translateY(-2px);
  box-shadow:
    0 6px 18px rgba(16, 42, 58, 0.09);
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-category__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 84px;
  height: 84px;
  margin-bottom: 9px;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-category__icon img {
  display: block;
  width: 82px;
  height: 82px;
  border-radius: 50%;
  object-fit: contain;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-category__title {
  margin: 8px 0 0;
  color: #143e58;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.45;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-category__text {
  margin: 5px 0 0;
  color: #627784;
  font-size: 0.84rem;
  line-height: 1.45;
}


/* ==================================================
   11. FREQUENT GUIDE
================================================== */

.awt-page.awt-waste.awt-waste-home .awt-waste-home-frequent {
  background:
    linear-gradient(
      135deg,
      #fffaf3 0%,
      #fff0df 100%
    );
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-frequent
.awt-page.awt-waste.awt-waste-home .awt-waste-home-heading__icon {
  background: var(--awt-waste-home-orange);
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-frequent
.awt-page.awt-waste.awt-waste-home .awt-waste-home-heading__title {
  color: #996006;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-link-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px 12px;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-link-card {
  min-width: 0;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-link-card__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 52px;
  padding: 11px 14px;
  border: 1px solid #d7e1e6;
  border-radius: 9px;
  background: #fff;
  color: #075fa5;
  font-size: 0.98rem;
  font-weight: 700;
  line-height: 1.45;
  text-decoration: none !important;
  box-shadow:
    0 2px 7px rgba(16, 42, 58, 0.04);
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-link-card__link::after {
  content: "›";
  flex: 0 0 auto;
  color: var(--awt-waste-home-blue);
  font-size: 1.3rem;
  line-height: 1;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-link-card__link:hover {
  border-color: #a7cbdf;
  background: #f8fcfe;
  color: var(--awt-waste-home-blue-dark);
  text-decoration: none !important;
}


/* ==================================================
   12. BASIC RULES
================================================== */

.awt-page.awt-waste.awt-waste-home .awt-waste-home-rules {
  background:
    linear-gradient(
      135deg,
      #eefaff 0%,
      #dcf5fc 100%
    );
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-rule-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-rule {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 158px;
  padding: 16px 12px;
  border: 1px solid #d6e6eb;
  border-radius: 10px;
  background: #fff;
  text-align: center;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-rule__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  margin-bottom: 8px;
  border-radius: 50%;
  background: #f1f9fd;
  color: var(--awt-waste-home-blue);
  font-size: 1.8rem;
  line-height: 1;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-rule__title {
  margin: 0;
  color: #154766;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.45;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-rule__text {
  margin: 5px 0 0;
  color: #647985;
  font-size: 0.9rem;
  line-height: 1.55;
}


/* ==================================================
   13. BUSINESS WASTE
================================================== */

.awt-page.awt-waste.awt-waste-home .awt-waste-home-business {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr) auto;
  align-items: center;
  gap: 15px;
  padding: 14px 18px;
  border: 1px solid #cbe8f2;
  border-radius: var(--awt-waste-home-radius);
  background:
    linear-gradient(
      90deg,
      #e9f8fd 0%,
      #eefafe 100%
    );
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-business__media {
  width: 82px;
  height: 82px;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-business__media img {
  display: block;
  width: 82px;
  height: 82px;
  border-radius: 50%;
  object-fit: contain;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-business__body {
  min-width: 0;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-business__title {
  margin: 0;
  color: #07548b;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.45;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-business__text {
  margin: 4px 0 0;
  color: #56717e;
  font-size: 0.78rem;
  line-height: 1.55;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-business__action {
  flex: 0 0 auto;
}


/* ==================================================
   14. LATEST INFORMATION + LINE
   内部UIはブログパーツ側CSS
================================================== */

.awt-page.awt-waste.awt-waste-home .awt-waste-home-latest {
  background:
    linear-gradient(
      135deg,
      #fffaf2 0%,
      #fff5dc 64%,
      #effaef 100%
    );
}


.awt-page.awt-waste.awt-waste-home .awt-waste-latestline__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: stretch; }
.awt-page.awt-waste.awt-waste-home .awt-waste-latestline__news { min-width: 0; }
.awt-page.awt-waste.awt-waste-home .awt-waste-latestline__title { font-size: 1.42rem; color: #07548b; line-height: 1.45; }
.awt-page.awt-waste.awt-waste-home .awt-waste-latestline__heading { margin-bottom: 20px; }
.awt-page.awt-waste.awt-waste-home .awt-waste-latestline__eyebrow { color: #07548b; font-weight: 700; font-size: .85rem; }
.awt-page.awt-waste.awt-waste-home .awt-waste-latestline__line-link { color: #176344; display: block; height: 100%; padding: 24px; border-radius: 14px; background: #eef9ef; border: 1px solid #bddfc6; text-decoration: none !important; }
.awt-page.awt-waste.awt-waste-home .awt-waste-latestline__line-title { font-size: 1.5rem; line-height: 1.5; color: #176344 !important; margin: 16px 0; }
.awt-page.awt-waste.awt-waste-home .awt-waste-latestline__line-text { color: #345b46 !important; font-size: .95rem; line-height: 1.8; }
.awt-page.awt-waste.awt-waste-home .awt-waste-latestline__line-action { display: block; margin-top: 18px; }

.awt-page.awt-waste.awt-waste-home .awt-waste-latestline__line-label { color: #176344 !important; }

/* ==================================================
   15. FEATURE / USEFUL / AD
   内部UIはブログパーツ側CSS
================================================== */

.awt-page.awt-waste.awt-waste-home .awt-waste-home-feature {
  background:
    linear-gradient(
      135deg,
      #fafafa 0%,
      #f0f1f2 100%
    );
}


/* ==================================================
   16. CONTACT
================================================== */

.awt-page.awt-waste.awt-waste-home .awt-waste-home-contact {
  background:
    linear-gradient(
      135deg,
      #fff6fd 0%,
      #f7e8f8 100%
    );
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-contact
.awt-page.awt-waste.awt-waste-home .awt-waste-home-heading__icon {
  background: var(--awt-waste-home-magenta);
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-contact
.awt-page.awt-waste.awt-waste-home .awt-waste-home-heading__title {
  color: var(--awt-waste-home-magenta-dark);
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-contact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-contact-card {
  min-width: 0;
  padding: 16px 18px;
  border: 1px solid #ecd5ec;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.82);
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-contact-card__heading {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 9px;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-contact-card__icon {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: var(--awt-waste-home-magenta);
  color: #fff;
  line-height: 1;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-contact-card__title {
  margin: 0;
  color: var(--awt-waste-home-magenta-dark);
  font-size: 0.96rem;
  font-weight: 800;
  line-height: 1.5;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-contact-card__description {
  margin: 0 0 9px;
  color: #6f5d70;
  font-size: 0.95rem;
  line-height: 1.55;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-contact-card__name {
  margin: 0;
  color: #263e4d;
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.55;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-contact-card__phone {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 5px;
  color: #183f58;
  font-size: clamp(1rem, 2vw, 1.2rem);
  font-weight: 800;
  text-decoration: none !important;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-contact-card__note {
  margin: 5px 0 0;
  color: #766778;
  font-size: 0.85rem;
  line-height: 1.55;
}


/* ==================================================
   17. OFFICIAL INFORMATION
================================================== */

.awt-page.awt-waste.awt-waste-home .awt-waste-home-official {
  background:
    linear-gradient(
      135deg,
      #eefbff 0%,
      #dff5fc 100%
    );
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-official-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-official-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 54px;
  padding: 10px 14px;
  border: 1px solid #bdddec;
  border-radius: 9px;
  background: #fff;
  color: #075fa5;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
  text-decoration: none !important;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-official-link::after {
  content: "›";
  flex: 0 0 auto;
  font-size: 1.25rem;
  line-height: 1;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-official-link:hover {
  border-color: #78b9d7;
  background: #f8fdff;
  color: var(--awt-waste-home-blue-dark);
  text-decoration: none !important;
}


/* ==================================================
   18. ACTION BUTTON
================================================== */

.awt-page.awt-waste.awt-waste-home .awt-waste-home-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 40px;
  padding: 8px 14px;
  border: 1px solid #bad9e9;
  border-radius: 8px;
  background: #fff;
  color: var(--awt-waste-home-blue);
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  text-decoration: none !important;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-more::after {
  content: "›";
  font-size: 1.15em;
  line-height: 1;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home-more:hover {
  border-color: var(--awt-waste-home-blue);
  background: #f7fcff;
  color: var(--awt-waste-home-blue-dark);
  text-decoration: none !important;
}


/* ==================================================
   19. UTILITY
================================================== */

.awt-page.awt-waste.awt-waste-home .awt-waste-home__desktop-only {
  display: initial;
}

.awt-page.awt-waste.awt-waste-home .awt-waste-home__mobile-only {
  display: none;
}


/* ==================================================
   20. TABLET
================================================== */

@media (max-width: 1024px) {

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-hero {
    grid-template-columns:
      minmax(0, 1.05fr)
      minmax(280px, 0.95fr);
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-card__iframe-wrap {
    height: 600px;
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-category-grid {
    grid-template-columns:
      repeat(3, minmax(0, 1fr));
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-category__link {
    min-height: 165px;
  }

}


/* ==================================================
   21. MOBILE
================================================== */

@media (max-width: 767px) {

  .awt-page.awt-waste.awt-waste-home .awt-waste-home__section {
    margin-top: 12px;
  }


  .awt-page.awt-waste.awt-waste-home .awt-waste-home-heading { flex-wrap: wrap; }
  .awt-page.awt-waste.awt-waste-home .awt-waste-latestline__inner { grid-template-columns: 1fr; }
  .awt-page.awt-waste.awt-waste-home .awt-waste-home-hero__handwritten { margin-top: 14px; }

  /* HERO */

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-hero {
    grid-template-columns: 1fr;
    min-height: auto;
    padding:
      22px
      18px
      0;
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-hero__title {
    font-size: clamp(2rem, 9vw, 2.65rem);
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-hero__lead {
    font-size: 0.98rem;
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-hero__note {
    font-size: 0.74rem;
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-hero__media {
    margin-top: 8px;
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-hero__image {
    width: min(100%, 390px);
    height: 230px;
    max-height: none;
  }


  /* 緊急情報 */

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-alert {
    align-items: flex-start;
    padding: 11px 12px;
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-alert__link {
    display: inline-flex;
  }


  /* 共通パネル */

  .awt-page.awt-waste.awt-waste-home .awt-waste-home__panel {
    padding: 16px;
  }


  /* 見出し */

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-heading {
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 14px;
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-heading__action {
    display: block;
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-heading__image {
    width: 42px;
    height: 42px;
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-heading__image img {
    width: 42px;
    height: 42px;
  }


  /* 検索 */

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-search-section
  .awt-waste-search__input-wrap {
    display: flex;
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-search-section
  .awt-waste-search__input {
    min-width: 0;
    min-height: 54px;
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-search-section
  .awt-waste-search__button {
    min-width: 78px;
    min-height: 54px;
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-search-sub {
    display: block;
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-search-sub__action {
    margin-top: 12px;
  }


  /* カレンダー */

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-grid {
    grid-template-columns: 1fr;
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-card__header {
    padding: 15px;
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-card__day {
    width: 43px;
    height: 43px;
    font-size: 1.1rem;
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-card__districts {
    padding:
      14px
      15px
      15px;
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-card__iframe-wrap {
    width: calc(100% - 20px);
    height: 600px;
    margin:
      0
      10px
      12px;
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-card__footer {
    padding:
      0
      14px
      15px;
  }


  /* ごみ分類 */

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-category-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-category__link {
    min-height: 154px;
    padding: 12px 8px;
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-category__icon {
    width: 58px;
    height: 58px;
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-category__icon img {
    width: 56px;
    height: 56px;
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-category__title {
    font-size: 1rem;
  }


  /* よく使う案内 */

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-link-grid {
    grid-template-columns: 1fr;
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-link-card__link {
    min-height: 50px;
  }


  /* 基本ルール */

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-rule-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-rule {
    min-height: 148px;
  }


  /* 事業系 */

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-business {
    grid-template-columns:
      64px
      minmax(0, 1fr);
    align-items: center;
    padding: 14px;
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-business__media {
    width: 64px;
    height: 64px;
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-business__media img {
    width: 64px;
    height: 64px;
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-business__action {
    grid-column: 1 / -1;
    display: block;
  }


  /* 問い合わせ */

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-contact-grid {
    grid-template-columns: 1fr;
  }


  /* 公式 */

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-official-grid {
    grid-template-columns: 1fr;
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-official-link {
    text-align: left;
  }


  /* Utility */

  .awt-page.awt-waste.awt-waste-home .awt-waste-home__desktop-only {
    display: none;
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home__mobile-only {
    display: initial;
  }

}


/* ==================================================
   22. SMALL MOBILE
================================================== */

@media (max-width: 420px) {

  .awt-page.awt-waste.awt-waste-home .awt-waste-home__panel {
    padding: 14px;
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-hero {
    padding-inline: 15px;
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-search-section
  .awt-waste-search__button {
    min-width: 68px;
    padding-inline: 10px;
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-card__header {
    gap: 10px;
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-card__day {
    width: 38px;
    height: 38px;
    font-size: 1rem;
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-card__title {
    font-size: 1.04rem;
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-card__catch {
    font-size: 0.72rem;
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-card__district-list {
    gap: 5px;
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-card__district-list li {
    padding:
      4px
      7px;
    font-size: 0.68rem;
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-card__iframe-wrap {
    height: 600px;
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-category-grid {
    gap: 7px;
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-category__link {
    min-height: 146px;
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-category__title {
    font-size: 1rem;
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-category__text {
    font-size: 0.84rem;
  }

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-rule {
    padding-inline: 8px;
  }

}


/* ==================================================
   23. ACCESSIBILITY / REDUCED MOTION
================================================== */

@media (prefers-reduced-motion: reduce) {

  .awt-page.awt-waste.awt-waste-home .awt-waste-home-category__link,
  .awt-page.awt-waste.awt-waste-home .awt-waste-home-link-card__link,
  .awt-page.awt-waste.awt-waste-home .awt-waste-home-official-link,
  .awt-page.awt-waste.awt-waste-home .awt-waste-home-more,
  .awt-page.awt-waste.awt-waste-home .awt-waste-home-calendar-card__official {
    transition: none;
  }

}
/* ごみTOP：下部のごみガイド案内 */
#content[data-postid="2831"] .p-blogParts[data-partsid="3663"] {
  width: 100%;
  max-width: none;
  margin: 40px auto 0;
}
#content[data-postid="2831"] .awt-waste-guide-nav {
  width: 100%;
  max-width: none;
  padding: clamp(18px, 3vw, 30px);
  border-radius: 16px;
  background: #f6fafb;
}
#content[data-postid="2831"] h2.awt-waste-guide-nav__heading {
  margin: 0 0 22px;
  padding: 0;
  border: 0 !important;
  background: none;
  box-shadow: none;
  text-align: left;
  font-size: clamp(1.2rem, 2.5vw, 1.5rem);
  line-height: 1.5;
}
#content[data-postid="2831"] .awt-waste-guide-nav__heading::before,
#content[data-postid="2831"] .awt-waste-guide-nav__heading::after { content: none; }
#content[data-postid="2831"] .awt-waste-guide-nav__list {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}
#content[data-postid="2831"] .awt-waste-guide-nav__item {
  padding: 18px 12px;
  border-radius: 12px;
  text-decoration: none;
  gap: 12px;
}
#content[data-postid="2831"] .awt-waste-guide-nav__title {
  font-size: 0.95rem;
  line-height: 1.6;
  color: #15394e;
}
@media (max-width: 800px) {
  #content[data-postid="2831"] .awt-waste-guide-nav__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  #content[data-postid="2831"] .awt-waste-guide-nav__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
}
