: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;
}

div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

#categories {
  margin-top: 40px;
}

@media screen and (max-width: 768px) {
  #categories {
    margin-top: calc(30 / 375 * 100vw - 30 / 375 * var(--scrollbar-size-px));
    padding-inline: calc(15 / 375 * 100vw - 15 / 375 * var(--scrollbar-size-px));
  }
}

#categories .categories__block {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
}

@media screen and (max-width: 768px) {
  #categories .categories__block {
    gap: calc(8 / 375 * 100vw - 8 / 375 * var(--scrollbar-size-px));
    flex-wrap: wrap;
    justify-content: flex-start;
  }
}

@media screen and (min-width: 769px) {
  #categories .categories__block {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  #categories .categories__block::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
  }
}

#categories .categories__block .categories__block--list {
  transition: background-color 0.3s ease;
}

#categories .categories__block .categories__block--list .categories__block--link {
  display: block;
  width: 223px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #000;
  font-weight: bold;
  font-size: 14px;
}

@media screen and (max-width: 768px) {
  #categories .categories__block .categories__block--list .categories__block--link {
    width: calc(168 / 375 * 100vw - 168 / 375 * var(--scrollbar-size-px));
    height: calc(50 / 375 * 100vw - 50 / 375 * var(--scrollbar-size-px));
    font-size: calc(14 / 375 * 100vw - 14 / 375 * var(--scrollbar-size-px));
  }
}

@media screen and (min-width: 769px) {
  #categories .categories__block .categories__block--list:hover {
    background-color: #faf6ec;
  }
}
