@charset "UTF-8";
:root {
  --color-park-blue: #004ea2;
  --color-park-blue-button: #1e53ce;
  --color-park-blue-button-hover: #3c71ee;
  --color-park-blue-button-light-hover: #6992f1;
  --color-park-blue-button-active: #1842a5;
  /* 駐車場検索アクション専用。入力枠線の青とは分離する。 */
  --color-parking-search-action: #3c71ee;
  --color-parking-search-action-hover: #6992f1;
  --color-parking-search-action-active: #1842a5;
  --color-park-blue-hover: #004590;
  --color-park-yellow: #fff100;
  --color-park-yellow-swatch: #fff000;
  --color-park-yellow-button: #faed00;
  --color-park-yellow-hover: #fff999;
  --color-park-yellow-active: #efe300;
  --color-accent-orange: #f96800;
  --color-accent-orange-hover: #fa832d;
  --color-accent-orange-active: #cb5500;
  --color-park-white-hover: #eaeffc;
  --color-park-white-active: #dbe5ff;
  --color-text-base: #1a1a1a;
  --color-text-subtle: #484848;
  --color-text-annotation: #555555;
  --color-link: #1e53cf;
  --color-white: #ffffff;
  --color-focus-ring: var(--color-park-blue-button);
  --color-focus-ring-inverse: var(--color-white);
  --color-bg-base: #f6f6f6;
  --color-bg-light-yellow: #fffcea;
  --color-bg-light-blue: #edf5ff;
  --color-bg-label-blue: #eff6ff;
  --color-border-base: #dddddd;
  --color-disabled-text: #767676;
  --color-disabled-border: #a3a3a3;
  --color-disabled-bg: #e9e9e9;
  --color-component-disabled-bg: #dfdfdf;
}

:root {
  --font-family-base: "Noto Sans JP", sans-serif;
  --font-family-en: "Poppins", sans-serif;
  --font-size-90: 48px;
  --font-size-80: 40px;
  --font-size-70: 32px;
  --font-size-60: 28px;
  --font-size-50: 24px;
  --font-size-40: 20px;
  --font-size-30: 18px;
  --font-size-20: 16px;
  --font-size-10: 14px;
  --font-size-5: 12px;
  --line-height-heading-lg: 64px;
  --line-height-heading-md: 56px;
  --line-height-heading-sm: 48px;
  --line-height-heading-xs: 42px;
  --line-height-body-2xl: 42px;
  --line-height-body-xl: 36px;
  --line-height-body-lg: 32px;
  --line-height-body-md: 28px;
  --line-height-body-sm: 24.5px;
  --line-height-body-xs: 21px;
  --font-weight-regular: 400;
  --font-weight-bold: 700;
  --font-weight-black: 900;
}

@media (max-width: 767px) {
  :root {
    --font-size-90: 32px;
    --font-size-80: 28px;
    --font-size-70: 24px;
    --font-size-60: 22px;
    --font-size-50: 20px;
    --font-size-40: 18px;
    --font-size-30: 16px;
    --font-size-20: 14px;
    --font-size-10: 12px;
    --font-size-5: 10px;
  }
}
:root {
  --space-6xs: 2px;
  --space-5xs: 4px;
  --space-4xs: 8px;
  --space-3xs: 12px;
  --space-2xs: 16px;
  --space-xs: 24px;
  --space-sm: 32px;
  --space-md: 40px;
  --space-lg: 48px;
  --space-xl: 64px;
  --space-2xl: 80px;
  --space-3xl: 96px;
  --space-4xl: 120px;
  --space-5xl: 160px;
}

@media (max-width: 767px) {
  :root {
    --space-3xs: 8px;
    --space-2xs: 12px;
    --space-xs: 16px;
    --space-sm: 24px;
    --space-md: 24px;
    --space-lg: 24px;
    --space-xl: 40px;
    --space-2xl: 48px;
    --space-3xl: 64px;
    --space-4xl: 80px;
    --space-5xl: 96px;
  }
}
:root {
  --container-main: 1200px;
  --size-896: 895px;
  --size-580: 580px;
  --size-516: 516px;
  --size-476: 477px;
  --size-372: 373px;
  --size-358: 358px;
  --size-288: 288px;
  --size-286: 286px;
  --size-270: 270px;
  --size-254: 254px;
  --size-188: 188px;
  --size-180: 180px;
  --size-160: 160px;
  --size-144: 144px;
  --size-120: 120px;
  --size-80: 80px;
  --size-48: 48px;
  --size-40: 40px;
  --size-32: 32px;
  --size-24: 24px;
  --size-20: 20px;
  --size-16: 16px;
  --size-12: 12px;
  --size-8: 8px;
  --tap-target-min: 44px;
  --focus-ring-width: 3px;
  --focus-ring-offset: 3px;
  --focus-ring-inset-offset: -4px;
}

@media (max-width: 767px) {
  :root {
    --size-896: 358px;
    --size-580: 358px;
    --size-516: 358px;
    --size-372: 174px;
    --size-358: 373px;
    --size-188: 180px;
  }
}
:root {
  --radius-none: 0;
  --radius-xs: 2px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-pill: 999px;
}

:root {
  --shadow-elevation-2: 0 2px 8px 8px rgba(0, 0, 0, 0.08);
  --shadow-elevation-4: 0 4px 20px 0 rgba(0, 0, 0, 0.16);
  --shadow-elevation-8: 0 2px 16px 4px rgba(0, 0, 0, 0.16);
  --shadow-elevation-12: 0 4px 20px 0 rgba(0, 0, 0, 0.16);
}

:root {
  --z-index-header: 100;
  --z-index-localnav: 90;
  --z-index-floating: 200;
  --z-index-modal: 300;
}

.page-parking-search__section {
  margin-bottom: 80px;
}
.page-parking-search__guidance, .page-parking-search__information, .page-parking-search__faq {
  margin-top: 80px;
}
.page-parking-search .c-parking-guidance-cards {
  margin-top: 32px;
}
.page-parking-search__information-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 373px));
  gap: 19px;
  margin-top: 32px;
}
.page-parking-search__information-list a {
  display: flex;
  min-height: 320px;
  flex-direction: column;
  overflow: hidden;
  color: var(--color-park-blue);
  background: var(--color-white);
  border: 1px solid var(--color-border-base);
  border-radius: var(--radius-lg);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
  transition: opacity 0.2s ease;
}
.page-parking-search__information-list img {
  width: 100%;
  aspect-ratio: 373/255;
  object-fit: cover;
}
.page-parking-search__information-list span {
  padding: 16px 16px 24px;
  font-size: var(--font-size-40);
  font-weight: var(--font-weight-bold);
  line-height: 28px;
}
.page-parking-search__information-more {
  display: flex;
  justify-content: flex-end;
  margin-top: 16px;
  padding-block: 16px;
}
.page-parking-search__information-more a {
  position: relative;
  padding-right: 36px;
  color: var(--color-park-blue);
  font-size: var(--font-size-30);
  font-weight: var(--font-weight-bold);
  line-height: 32px;
  transition: opacity 0.2s ease;
}
.page-parking-search__information-more a::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 24px;
  height: 24px;
  content: "";
  background: url("/assets/img/ico_arrow_circle_blue_white.svg") center/contain no-repeat;
  transform: translateY(-50%);
}
.page-parking-search__faq .c-faq {
  margin-top: 32px;
}

@media (hover: hover) and (pointer: fine) {
  .page-parking-search__information-list a:hover, .page-parking-search__information-more a:hover {
    opacity: 0.7;
  }
}
@media (min-width: 768px) and (max-width: 980.98px) {
  .page-parking-search__information-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
  }
  .page-parking-search__information-list a {
    min-height: 0;
  }
}
.page-parking-detail > .l-page-main > .c-parking-area-change, .page-parking-detail > .l-page-main > .c-section-title {
  margin-top: 80px;
}
.page-parking-detail .favorite_btn, .page-parking-detail #fav-title, .page-parking-detail .favorite_facility {
  display: none;
}
.page-parking-detail > .l-page-main > .c-faq {
  margin-top: 40px;
}

@media (prefers-reduced-motion: reduce) {
  .page-parking-search__information-list a, .page-parking-search__information-more a {
    transition: none;
  }
}
.page-parking-results .c-parking-results-query {
  margin-bottom: 48px;
}
.page-parking-results > .l-page-main > .c-parking-results-tabs {
  width: 404px;
  max-width: 100%;
  margin-right: auto;
  margin-left: 0;
  margin-bottom: 48px;
}
.page-parking-results > .l-page-main > .c-parking-area-change {
  margin-top: 80px;
}
.page-parking-results--downtown .c-page-title {
  margin-bottom: 84px;
  line-height: 1;
}
.page-parking-results > .l-page-main > .c-parking-result-nav {
  margin-bottom: 32px;
}
.page-parking-results > .l-page-main > .c-parking-result-nav--actions {
  margin-bottom: 48px;
}
.page-parking-results > .l-page-main > .c-parking-location-list {
  margin-bottom: 80px;
}
.page-parking-results > .l-page-main > .c-parking-filter {
  margin-bottom: 80px;
}
.page-parking-results > .l-page-main > .c-parking-result-section + .c-parking-result-section, .page-parking-results > .l-page-main > #searchContainer {
  margin-top: 80px;
}

@media (max-width: 767.98px) {
  .page-parking-search > .l-page-main {
    padding-top: var(--subpage-content-start);
  }
  .page-parking-search .c-parking-search-panel {
    padding: 16px;
  }
  .page-parking-search__section, .page-parking-search__guidance, .page-parking-search__information, .page-parking-search__faq {
    margin-top: 0;
    margin-bottom: 64px;
  }
  .page-parking-search__information-list {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    margin-top: 24px;
  }
  .page-parking-search .c-parking-guidance-cards {
    margin-top: 24px;
  }
  .page-parking-search__information-list a {
    min-height: 0;
  }
  .page-parking-search__information-more {
    margin-top: 8px;
  }
  .page-parking-search__faq .c-faq {
    margin-top: 24px;
  }
  .page-parking-detail > .l-page-main {
    padding-top: var(--subpage-content-start);
  }
  .page-parking-detail > .l-page-main > .c-parking-area-change, .page-parking-detail > .l-page-main > .c-section-title {
    margin-top: 64px;
  }
  .page-parking-detail > .l-page-main > .c-faq {
    margin-top: 24px;
  }
  .page-parking-results > .l-page-main {
    padding-top: var(--subpage-content-start);
  }
  .page-parking-results .c-parking-results-query {
    margin-bottom: 32px;
  }
  .page-parking-results > .l-page-main > .c-parking-results-tabs {
    width: 100%;
    margin-inline: 0;
    margin-bottom: 32px;
  }
  .page-parking-results > .l-page-main > .c-parking-area-change {
    margin-top: 64px;
  }
  .page-parking-results > .l-page-main > .c-parking-result-nav, .page-parking-results > .l-page-main > .c-parking-filter {
    margin-bottom: 48px;
  }
  .page-parking-results > .l-page-main > .c-parking-result-nav--actions {
    margin-bottom: 32px;
  }
  .page-parking-results > .l-page-main > .c-parking-location-list {
    margin-bottom: 64px;
  }
  .page-parking-results > .l-page-main > .c-parking-result-section + .c-parking-result-section, .page-parking-results > .l-page-main > #searchContainer {
    margin-top: 64px;
  }
}
