:root {
  --scrollbar-size-px: 0px;
}

.contents-wrapper {
  line-height: 1;
}

.contents-wrapper div, .contents-wrapper span, .contents-wrapper applet, .contents-wrapper object, .contents-wrapper iframe,
.contents-wrapper h1, .contents-wrapper h2, .contents-wrapper h3, .contents-wrapper h4, .contents-wrapper h5, .contents-wrapper h6, .contents-wrapper p, .contents-wrapper blockquote, .contents-wrapper pre,
.contents-wrapper a, .contents-wrapper abbr, .contents-wrapper acronym, .contents-wrapper address, .contents-wrapper big, .contents-wrapper cite, .contents-wrapper code,
.contents-wrapper del, .contents-wrapper dfn, .contents-wrapper em, .contents-wrapper img, .contents-wrapper ins, .contents-wrapper kbd, .contents-wrapper q, .contents-wrapper s, .contents-wrapper samp,
.contents-wrapper small, .contents-wrapper strike, .contents-wrapper strong, .contents-wrapper sub, .contents-wrapper sup, .contents-wrapper tt, .contents-wrapper var,
.contents-wrapper b, .contents-wrapper u, .contents-wrapper i, .contents-wrapper center,
.contents-wrapper dl, .contents-wrapper dt, .contents-wrapper dd, .contents-wrapper ol, .contents-wrapper ul, .contents-wrapper li,
.contents-wrapper fieldset, .contents-wrapper form, .contents-wrapper label, .contents-wrapper legend,
.contents-wrapper table, .contents-wrapper caption, .contents-wrapper tbody, .contents-wrapper tfoot, .contents-wrapper thead, .contents-wrapper tr, .contents-wrapper th, .contents-wrapper td,
.contents-wrapper article, .contents-wrapper aside, .contents-wrapper canvas, .contents-wrapper details, .contents-wrapper embed,
.contents-wrapper figure, .contents-wrapper figcaption, .contents-wrapper footer, .contents-wrapper header, .contents-wrapper hgroup,
.contents-wrapper menu, .contents-wrapper nav, .contents-wrapper output, .contents-wrapper ruby, .contents-wrapper section, .contents-wrapper summary,
.contents-wrapper time, .contents-wrapper mark, .contents-wrapper audio, .contents-wrapper video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

.contents-wrapper article, .contents-wrapper aside, .contents-wrapper details, .contents-wrapper figcaption, .contents-wrapper figure,
.contents-wrapper footer, .contents-wrapper header, .contents-wrapper hgroup, .contents-wrapper menu, .contents-wrapper nav, .contents-wrapper section {
  display: block;
}

.contents-wrapper ol, .contents-wrapper ul {
  list-style: none;
}

.contents-wrapper blockquote, .contents-wrapper q {
  quotes: none;
}

.contents-wrapper blockquote:before, .contents-wrapper blockquote:after,
.contents-wrapper q:before, .contents-wrapper q:after {
  content: '';
  content: none;
}

.contents-wrapper table {
  border-collapse: collapse;
  border-spacing: 0;
}

@media screen and (max-width: 1199px) {
  .contents-wrapper .pc {
    display: none !important;
  }
}

@media screen and (min-width: 1200px) {
  .contents-wrapper .sp {
    display: none !important;
  }
}

.contents-wrapper .anchor {
  position: relative;
}

.contents-wrapper .anchor .anchor-point {
  position: absolute;
}

.contents-wrapper picture {
  display: block;
}

#breadcrumb {
  font-family: 'GT-Flexa-Bold', 'Noto Sans JP', sans-serif;
}

@media screen and (min-width: 769px) {
  #breadcrumb {
    max-width: 946px;
    margin-left: auto;
    margin-right: auto;
    font-size: 12px;
    margin-bottom: 35px;
    padding-top: 10px;
  }
}

@media screen and (max-width: 768px) {
  #breadcrumb {
    padding-left: calc(15 / 375 * 100vw - 15 / 375 * var(--scrollbar-size-px));
    padding-top: calc(10 / 375 * 100vw - 10 / 375 * var(--scrollbar-size-px));
    margin-bottom: calc(30 / 375 * 100vw - 30 / 375 * var(--scrollbar-size-px));
    font-size: calc(12 / 375 * 100vw - 12 / 375 * var(--scrollbar-size-px));
  }
}

#breadcrumb ol li {
  line-height: calc(18 / 12);
  display: inline-block;
}

#breadcrumb ol li:not(:first-of-type)::before {
  content: ">";
  display: inline-block;
  margin: 0 5px;
  color: #8A8A8A;
}

#breadcrumb ol li a {
  color: #8A8A8A;
}

#stores {
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0;
}

@media screen and (min-width: 769px) {
  #stores {
    padding-top: 35px;
    padding-bottom: 110px;
  }
}

@media screen and (max-width: 768px) {
  #stores {
    padding-bottom: calc(60 / 375 * 100vw - 60 / 375 * var(--scrollbar-size-px));
  }
}

#stores .color__orange {
  color: #C9182E;
}

@media screen and (min-width: 769px) {
  #stores .stores__inner {
    max-width: 946px;
    margin-left: auto;
    margin-right: auto;
  }
}

#stores .heading {
  font-weight: bold;
  text-align: center;
}

@media screen and (min-width: 769px) {
  #stores .heading {
    font-size: 30px;
  }
}

@media screen and (max-width: 768px) {
  #stores .heading {
    font-size: calc(18 / 375 * 100vw - 18 / 375 * var(--scrollbar-size-px));
  }
}

@media screen and (min-width: 769px) {
  #stores .flex__wrapper {
    display: flex;
    align-items: flex-start;
    margin-top: 50px;
  }
}

@media screen and (min-width: 769px) {
  #stores .locator__search {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  #stores .locator__search {
    display: block;
    width: calc(80 / 375 * 100vw - 80 / 375 * var(--scrollbar-size-px));
    height: calc(80 / 375 * 100vw - 80 / 375 * var(--scrollbar-size-px));
    position: fixed;
    z-index: 10;
    bottom: calc(80 / 375 * 100vw - 80 / 375 * var(--scrollbar-size-px));
    right: calc(16 / 375 * 100vw - 16 / 375 * var(--scrollbar-size-px));
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s ease, visibility .3s ease;
  }
  #stores .locator__search.is-active {
    opacity: 1;
    visibility: visible;
  }
}

@media screen and (min-width: 769px) {
  #stores .stores__sideber {
    flex-basis: 216px;
    border-bottom: 1px solid #F8F9F7;
  }
}

#stores .stores__sideber .sidebar__heading {
  font-weight: 500;
}

@media screen and (min-width: 769px) {
  #stores .stores__sideber .sidebar__heading {
    background: #000;
    color: #fff;
    font-size: 13px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    pointer-events: none;
  }
}

@media screen and (max-width: 768px) {
  #stores .stores__sideber .sidebar__heading {
    pointer-events: auto;
    width: calc(220 / 375 * 100vw - 220 / 375 * var(--scrollbar-size-px));
    height: calc(50 / 375 * 100vw - 50 / 375 * var(--scrollbar-size-px));
    background: #000000;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    margin-left: auto;
    margin-right: auto;
    margin-top: calc(20 / 375 * 100vw - 20 / 375 * var(--scrollbar-size-px));
  }
  
  #stores .stores__sideber .sidebar__heading::before {
    content: "";
    display: block;
    background: url(https://vans.vfjapan.jp/lp/store-locator/img/vns_map_pin_1.webp) no-repeat center;
    background-size: contain;
    width: calc(16 / 375 * 100vw - 16 / 375 * var(--scrollbar-size-px));
    height: calc(24 / 375 * 100vw - 24 / 375 * var(--scrollbar-size-px));
    margin-right: calc(6 / 375 * 100vw - 6 / 375 * var(--scrollbar-size-px));
    flex-shrink: 0;
  }
}

@media screen and (max-width: 768px) {
  #stores .stores__sideber .sidebar__wrapper {
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 1000;
    left: 0;
    top: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s ease, visibility .3s ease;
  }
  #stores .stores__sideber .sidebar__wrapper.is-active {
    opacity: 1;
    visibility: visible;
  }
  #stores .stores__sideber .sidebar__wrapper .overlay {
    position: absolute;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
  }
}

@media screen and (min-width: 769px) {
  #stores .stores__sideber .sidebar__wrapper .sidebar__close {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  #stores .stores__sideber .sidebar__wrapper .sidebar__close {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-weight: bold;
    font-size: calc(16 / 375 * 100vw - 16 / 375 * var(--scrollbar-size-px));
    margin-top: calc(35 / 375 * 100vw - 35 / 375 * var(--scrollbar-size-px));
  }
  #stores .stores__sideber .sidebar__wrapper .sidebar__close::before {
    content: "";
    display: block;
    margin-right: calc(10 / 375 * 100vw - 10 / 375 * var(--scrollbar-size-px));
    width: calc(17 / 375 * 100vw - 17 / 375 * var(--scrollbar-size-px));
    height: calc(17 / 375 * 100vw - 17 / 375 * var(--scrollbar-size-px));
    background: url(../img/close.webp) no-repeat center/cover;
  }
}

@media screen and (max-width: 768px) {
  #stores .stores__sideber .sidebar__list {
    position: relative;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    width: calc(290 / 375 * 100vw - 290 / 375 * var(--scrollbar-size-px));
  }
}

#stores .stores__sideber .sidebar__item {
  font-weight: bold;
}

@media screen and (min-width: 769px) {
  #stores .stores__sideber .sidebar__item {
    font-size: 14px;
    height: 50px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    background-color: #F8F9F7;
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
    padding-left: 30px;
    transition: background-color 0.3s ease, color 0.3s ease;
    cursor: pointer;
  }
  #stores .stores__sideber .sidebar__item:not(:first-of-type) {
    border-top: 1px solid #ddd;
  }
}

@media screen and (max-width: 768px) {
  #stores .stores__sideber .sidebar__item {
    width: calc(140 / 375 * 100vw - 140 / 375 * var(--scrollbar-size-px));
    height: calc(50 / 375 * 100vw - 50 / 375 * var(--scrollbar-size-px));
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: calc(13 / 375 * 100vw - 13 / 375 * var(--scrollbar-size-px));
  }
  #stores .stores__sideber .sidebar__item:not(:nth-child(2n+1)) {
    margin-left: calc(10 / 375 * 100vw - 10 / 375 * var(--scrollbar-size-px));
  }
  #stores .stores__sideber .sidebar__item:not(:nth-child(-n+2)) {
    margin-top: calc(10 / 375 * 100vw - 10 / 375 * var(--scrollbar-size-px));
  }
}

#stores .stores__sideber .sidebar__item.is-active {
  background: #C9182E;
  color: #fff;
}

#stores .stores__sideber .sidebar__item:hover {
  color: #fff;
  background: #C9182E;
}

@media screen and (min-width: 769px) {
  #stores .locator {
    flex-basis: 680px;
    margin-left: 50px;
    min-height: 590px;
  }
}

@media screen and (max-width: 768px) {
  #stores .locator {
    margin-top: calc(40 / 375 * 100vw - 40 / 375 * var(--scrollbar-size-px));
    padding-left: calc(13 / 375 * 100vw - 13 / 375 * var(--scrollbar-size-px));
    padding-right: calc(13 / 375 * 100vw - 13 / 375 * var(--scrollbar-size-px));
  }
}

#stores .locator .locator__heading {
  font-weight: 500;
  border-bottom: 1px solid #000000;
}

@media screen and (min-width: 769px) {
  #stores .locator .locator__heading {
    line-height: 1;
    font-size: 20px;
    padding-bottom: 15px;
  }
}

@media screen and (max-width: 768px) {
  #stores .locator .locator__heading {
    font-size: calc(20 / 375 * 100vw - 20 / 375 * var(--scrollbar-size-px));
    padding-bottom: calc(15 / 375 * 100vw - 15 / 375 * var(--scrollbar-size-px));
  }
}

#stores .locator__column {
  border-bottom: 1px solid #ddd;
  display: none;
}

#stores .locator__column.is-active {
  display: block;
}

@media screen and (min-width: 769px) {
  #stores .locator__column .locator__link {
    padding-top: 30px;
    padding-bottom: 30px;
    padding-left: 20px;
    padding-right: 20px;
    display: flex;
    width: 100%;
    transition: background-color .3s ease;
  }
}

@media screen and (max-width: 768px) {
  #stores .locator__column .locator__link {
    display: block;
    padding-top: calc(15 / 375 * 100vw - 15 / 375 * var(--scrollbar-size-px));
    padding-bottom: calc(10 / 375 * 100vw - 10 / 375 * var(--scrollbar-size-px));
  }
}

#stores .locator__column .locator__link:hover {
  background-color: #F8F9F7;
}

#stores .locator__column .locator__link:hover .locator__more {
  color: #C9182E;
}

@media screen and (min-width: 769px) {
  #stores .locator__column .locator__image {
    flex-shrink: 0;
    flex-basis: 120px;
  }
}

@media screen and (max-width: 768px) {
  #stores .locator__column .locator__image {
    display: none;
  }
}

#stores .locator__column .locator__tag {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  border: 1px solid #000;
  line-height: 1;
}

@media screen and (min-width: 769px) {
  #stores .locator__column .locator__tag {
    font-size: 10px;
    width: 80px;
    height: 20px;
    margin-bottom: 7px;
  }
}

@media screen and (max-width: 768px) {
  #stores .locator__column .locator__tag {
    width: calc(80 / 375 * 100vw - 80 / 375 * var(--scrollbar-size-px));
    height: calc(20 / 375 * 100vw - 20 / 375 * var(--scrollbar-size-px));
    margin-bottom: calc(7 / 375 * 100vw - 7 / 375 * var(--scrollbar-size-px));
    font-size: calc(10 / 375 * 100vw - 10 / 375 * var(--scrollbar-size-px));
  }
}

@media screen and (min-width: 769px) {
  #stores .locator__column .locator__contents {
    font-size: 14px;
    margin-left: 20px;
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  #stores .locator__column .locator__contents {
    font-size: calc(14 / 375 * 100vw - 14 / 375 * var(--scrollbar-size-px));
  }
}

#stores .locator__column .locator__contents dt {
  font-weight: bold;
  line-height: calc(20 / 14);
}

@media screen and (min-width: 769px) {
  #stores .locator__column .locator__contents dd {
    width: 100%;
    position: relative;
    margin-top: 15px;
  }
}

@media screen and (max-width: 768px) {
  #stores .locator__column .locator__contents dd {
    line-height: calc(21 / 14);
    margin-top: calc(15 / 375 * 100vw - 15 / 375 * var(--scrollbar-size-px));
  }
}

#stores .locator__column .locator__contents .locator__info {
  display: flex;
  align-items: center;
}

@media screen and (min-width: 769px) {
  #stores .locator__column .locator__contents .locator__info {
    margin-top: 10px;
  }
}

@media screen and (max-width: 768px) {
  #stores .locator__column .locator__contents .locator__info {
    margin-top: calc(10 / 375 * 100vw - 10 / 375 * var(--scrollbar-size-px));
  }
}

#stores .locator__column .locator__contents .locator__tel {
  display: inline-flex;
  align-items: flex-end;
  line-height: 1;
}

@media screen and (min-width: 769px) {
  #stores .locator__column .locator__contents .locator__tel {
    margin-left: 10px;
  }
}

@media screen and (max-width: 768px) {
  #stores .locator__column .locator__contents .locator__tel {
    margin-left: calc(15 / 375 * 100vw - 15 / 375 * var(--scrollbar-size-px));
  }
}

#stores .locator__column .locator__contents .locator__tel .fa {
  display: inline-block;
  font: normal normal normal 14px / 1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

@media screen and (min-width: 769px) {
  #stores .locator__column .locator__contents .locator__tel .fa {
    position: relative;
    top: 1px;
    margin-right: 5px;
  }
}

@media screen and (max-width: 768px) {
  #stores .locator__column .locator__contents .locator__tel .fa {
    position: relative;
    top: 0.1em;
    margin-right: calc(5 / 375 * 100vw - 5 / 375 * var(--scrollbar-size-px));
  }
}

#stores .locator__column .locator__more {
  font-family: "GT-Flexa-Bold", "Noto Sans JP", sans-serif;
  font-weight: bold;
  display: inline-flex;
  align-items: center;
}

@media screen and (min-width: 769px) {
  #stores .locator__column .locator__more {
    position: absolute;
    right: 0;
    bottom: 0;
    font-size: 12px;
    transition: color .3s ease;
  }
}

@media screen and (max-width: 768px) {
  #stores .locator__column .locator__more {
    display: flex;
    justify-content: flex-end;
  }
}

#stores .locator__column .locator__more i {
  font-weight: bold;
  margin-left: 5px;
}

@media screen and (max-width: 768px) {
  #stores .locator__column .locator__more i {
    margin-right: calc(5 / 375 * 100vw - 5 / 375 * var(--scrollbar-size-px));
  }
}

#stores .material-symbols-outlined {
  font-family: 'Material Symbols Outlined';
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}
