@charset "UTF-8";
.main .contents__section .product__list, .main .nav-contents__section .product__list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: min(2.734375vw, 35px) min(2.34375vw, 30px);
  padding: 0;
  margin: min(2.34375vw, 30px) 0;
}
@media screen and (max-width: 767px) {
  .main .contents__section .product__list, .main .nav-contents__section .product__list {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 6.038647343vw 3.3816425121vw;
    margin: 6.038647343vw 0;
  }
}
.main .contents__section .product__list.--col--3, .main .nav-contents__section .product__list.--col--3 {
  grid-template-columns: repeat(3, 1fr);
}
.main .contents__section .product__item, .main .nav-contents__section .product__item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: min(1.171875vw, 15px);
}
@media screen and (max-width: 767px) {
  .main .contents__section .product__item, .main .nav-contents__section .product__item {
    gap: 1.4492753623vw;
  }
}
.main .contents__section .product__item > a, .main .nav-contents__section .product__item > a {
  display: contents;
  color: #333;
}
@media (any-hover: hover) {
  .main .contents__section .product__item:hover .product__name, .main .nav-contents__section .product__item:hover .product__name {
    text-decoration: underline;
    color: #cf1225;
  }
  .main .contents__section .product__item:hover .product__photo img, .main .nav-contents__section .product__item:hover .product__photo img {
    transform: scale(1.1);
  }
}
.main .contents__section .product__name, .main .nav-contents__section .product__name {
  order: 2;
  position: relative;
  padding: 0 0 0 min(1.171875vw, 15px);
  margin: 0;
  font-size: min(1.328125vw, 17px);
  font-weight: 500;
  line-height: 1.5;
  color: #333;
}
@media screen and (max-width: 767px) {
  .main .contents__section .product__name, .main .nav-contents__section .product__name {
    padding: 0 0 0 3.1400966184vw;
    font-size: 3.6231884058vw;
  }
}
.main .contents__section .product__name::before, .main .nav-contents__section .product__name::before {
  display: block;
  content: "\f105";
  position: absolute;
  top: min(0.234375vw, 3px);
  left: 0;
  background: none;
  font-family: "Font Awesome 6 Free";
  font-size: min(1.09375vw, 14px);
  font-weight: 900;
  color: #e16a78;
}
@media screen and (max-width: 767px) {
  .main .contents__section .product__name::before, .main .nav-contents__section .product__name::before {
    top: 0.7246376812vw;
    font-size: 2.8985507246vw;
  }
}
.main .contents__section .product__name:is(.--col--3 *), .main .nav-contents__section .product__name:is(.--col--3 *) {
  font-size: min(1.484375vw, 19px);
}
@media screen and (max-width: 767px) {
  .main .contents__section .product__name:is(.--col--3 *), .main .nav-contents__section .product__name:is(.--col--3 *) {
    font-size: 3.6231884058vw;
  }
}
.main .contents__section .product__photo, .main .nav-contents__section .product__photo {
  order: 1;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .main .contents__section .product__photo, .main .nav-contents__section .product__photo {
    padding-bottom: 1.9323671498vw;
  }
}
.main .contents__section .product__photo img, .main .nav-contents__section .product__photo img {
  width: 100%;
  height: 100%;
  aspect-ratio: 680/349;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  transition: transform 0.2s ease;
}
.main .contents__section .product__photo img:is(.--square *), .main .nav-contents__section .product__photo img:is(.--square *) {
  aspect-ratio: 1;
}
.main .contents__section .product__info, .main .nav-contents__section .product__info {
  order: 3;
  font-size: min(1.25vw, 16px);
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .main .contents__section .product__info, .main .nav-contents__section .product__info {
    font-size: 3.3816425121vw;
  }
}
.main .contents__section .product__info > *, .main .nav-contents__section .product__info > * {
  padding: 0;
  margin: 0;
}

.header .menu__list--main > .menu__item .mega-menu__title a, .header .menu__list--main > .menu__item .mega-menu__item > details > summary, .header .menu__list--main > .menu__item .mega-menu__item > a, .header .menu__list--main > .menu__item .mega-menu__item .cat-menu__title a, .header .menu__list--main > .menu__item .mega-menu__item .cat-menu__item a, .header .menu__list--main > .menu__item .mega-menu .search__btn, .header .menu__list--sub .menu__item:nth-child(2) a, .main .contents__section .link__btn, .main .contents__section .link__set--download, .main .contents__section .category__label li a, .main .contents__section .download__list li a, .main .contents__section .contact__list li a {
  position: relative;
  overflow: hidden;
  display: block;
  padding: min(0.390625vw, 5px) min(1.171875vw, 15px) min(0.546875vw, 7px);
  background-color: #cf1225;
  border: min(0.078125vw, 1px) solid #cf1225;
  font-size: min(1.25vw, 16px);
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  color: #fff;
  transition: color 0.2s ease;
}
@media screen and (max-width: 767px) {
  .header .menu__list--main > .menu__item .mega-menu__title a, .header .menu__list--main > .menu__item .mega-menu__item > details > summary, .header .menu__list--main > .menu__item .mega-menu__item > a, .header .menu__list--main > .menu__item .mega-menu__item .cat-menu__title a, .header .menu__list--main > .menu__item .mega-menu__item .cat-menu__item a, .header .menu__list--main > .menu__item .mega-menu .search__btn, .header .menu__list--sub .menu__item:nth-child(2) a, .main .contents__section .link__btn, .main .contents__section .link__set--download, .main .contents__section .category__label li a, .main .contents__section .download__list li a, .main .contents__section .contact__list li a {
    padding: 1.4492753623vw 2.8985507246vw;
    border: 0.2415458937vw solid #cf1225;
    font-size: 3.8647342995vw;
  }
}
.header .menu__list--main > .menu__item .mega-menu__title a::before, .header .menu__list--main > .menu__item .mega-menu__item > details > summary::before, .header .menu__list--main > .menu__item .mega-menu__item > a::before, .header .menu__list--main > .menu__item .mega-menu__item .cat-menu__title a::before, .header .menu__list--main > .menu__item .mega-menu__item .cat-menu__item a::before, .header .menu__list--main > .menu__item .mega-menu .search__btn::before, .header .menu__list--sub .menu__item:nth-child(2) a::before, .main .contents__section .link__btn::before, .main .contents__section .link__set--download::before, .main .contents__section .category__label li a::before, .main .contents__section .download__list li a::before, .main .contents__section .contact__list li a::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.2s ease;
}
@media (any-hover: hover) {
  .header .menu__list--main > .menu__item .mega-menu__title a:hover, .header .menu__list--main > .menu__item .mega-menu__item > details > summary:hover, .header .menu__list--main > .menu__item .mega-menu__item > a:hover, .header .menu__list--main > .menu__item .mega-menu__item .cat-menu__title a:hover, .header .menu__list--main > .menu__item .mega-menu__item .cat-menu__item a:hover, .header .menu__list--main > .menu__item .mega-menu .search__btn:hover, .header .menu__list--sub .menu__item:nth-child(2) a:hover, .main .contents__section .link__btn:hover, .main .contents__section .link__set--download:hover, .main .contents__section .category__label li a:hover, .main .contents__section .download__list li a:hover, .main .contents__section .contact__list li a:hover {
    color: #cf1225;
  }
  .header .menu__list--main > .menu__item .mega-menu__title a:hover::before, .header .menu__list--main > .menu__item .mega-menu__item > details > summary:hover::before, .header .menu__list--main > .menu__item .mega-menu__item > a:hover::before, .header .menu__list--main > .menu__item .mega-menu__item .cat-menu__title a:hover::before, .header .menu__list--main > .menu__item .mega-menu__item .cat-menu__item a:hover::before, .header .menu__list--main > .menu__item .mega-menu .search__btn:hover::before, .header .menu__list--sub .menu__item:nth-child(2) a:hover::before, .main .contents__section .link__btn:hover::before, .main .contents__section .link__set--download:hover::before, .main .contents__section .category__label li a:hover::before, .main .contents__section .download__list li a:hover::before, .main .contents__section .contact__list li a:hover::before {
    transform: scaleX(1);
  }
}
.header .menu__list--main > .menu__item .mega-menu__title a.--rightSide::before, .header .menu__list--main > .menu__item .mega-menu__item > details > summary.--rightSide::before, .header .menu__list--main > .menu__item .mega-menu__item > a.--rightSide::before, .header .menu__list--main > .menu__item .mega-menu__item .cat-menu__title a.--rightSide::before, .header .menu__list--main > .menu__item .mega-menu__item .cat-menu__item a.--rightSide::before, .header .menu__list--main > .menu__item .mega-menu .--rightSide.search__btn::before, .header .menu__list--sub .menu__item:nth-child(2) a.--rightSide::before, .main .contents__section .--rightSide.link__btn::before, .main .contents__section .--rightSide.link__set--download::before, .main .contents__section .category__label li a.--rightSide::before, .main .contents__section .download__list li a.--rightSide::before, .main .contents__section .contact__list li a.--rightSide::before {
  transform-origin: right;
}
.header .menu__list--main > .menu__item .mega-menu__title a span, .header .menu__list--main > .menu__item .mega-menu__item > details > summary span, .header .menu__list--main > .menu__item .mega-menu__item > a span, .header .menu__list--main > .menu__item .mega-menu__item .cat-menu__title a span, .header .menu__list--main > .menu__item .mega-menu__item .cat-menu__item a span, .header .menu__list--main > .menu__item .mega-menu .search__btn span, .header .menu__list--sub .menu__item:nth-child(2) a span, .main .contents__section .link__btn span, .main .contents__section .link__set--download span, .main .contents__section .category__label li a span, .main .contents__section .download__list li a span, .main .contents__section .contact__list li a span {
  position: relative;
  z-index: 2;
}

.main .contents__section h2, .main .contents .post_content h2.wp-block-heading {
  position: relative;
  margin: min(3.90625vw, 50px) 0 min(1.953125vw, 25px);
  padding: 0 0 0 min(2.8125vw, 36px);
  background: none;
  font-size: min(1.875vw, 24px);
  font-weight: 600;
  line-height: 1.5;
  color: #333;
}
@media screen and (max-width: 767px) {
  .main .contents__section h2, .main .contents .post_content h2.wp-block-heading {
    margin: 3.6231884058vw 0 4.8309178744vw;
    padding-left: 6.7632850242vw;
    font-size: 4.8309178744vw;
  }
}
.main .contents__section h2::before, .main .contents .post_content h2.wp-block-heading::before {
  content: "";
  position: absolute;
  top: min(0.78125vw, 10px);
  left: 0;
  width: min(2.03125vw, 26px);
  height: min(1.5625vw, 20px);
  background: none;
  background-image: url(../img/h2_bg.png);
  background-size: cover;
  border: none;
  z-index: 1;
  font-size: 1em;
}
@media screen and (max-width: 767px) {
  .main .contents__section h2::before, .main .contents .post_content h2.wp-block-heading::before {
    top: 1.9323671498vw;
    width: 5.0724637681vw;
    height: 3.8647342995vw;
  }
}
.main .contents__section h2 span, .main .contents .post_content h2.wp-block-heading span {
  color: #333;
}

.main .contents__section h3, .main .contents .post_content h3.wp-block-heading {
  margin: 1em 0;
  position: relative;
  padding: 0;
  font-size: min(1.5625vw, 20px);
  font-weight: 600;
  line-height: 1.5;
  color: #cf1125;
}
@media screen and (max-width: 767px) {
  .main .contents__section h3, .main .contents .post_content h3.wp-block-heading {
    font-size: 4.5893719807vw;
  }
}
.main .contents__section h3::before, .main .contents .post_content h3.wp-block-heading::before {
  display: none;
}

.main .contents__section h4, .main .contents .post_content h4.wp-block-heading {
  position: relative;
  margin: 1.33em 0;
  padding: 0 0 0 min(1.40625vw, 18px);
  border: none;
  font-size: min(1.5625vw, 20px);
  font-weight: 600;
  line-height: 1.5;
  color: #333;
}
@media screen and (max-width: 767px) {
  .main .contents__section h4, .main .contents .post_content h4.wp-block-heading {
    padding-left: 4.8309178744vw;
    font-size: 4.5893719807vw;
  }
}
.main .contents__section h4::before, .main .contents .post_content h4.wp-block-heading::before {
  content: "";
  position: absolute;
  top: min(1.25vw, 16px);
  left: min(0.3125vw, 4px);
  transform: translateY(-50%);
  width: min(0.46875vw, 6px);
  height: min(0.46875vw, 6px);
  background-color: #cf1125;
  z-index: 1;
  font-size: 1em;
}
@media screen and (max-width: 767px) {
  .main .contents__section h4::before, .main .contents .post_content h4.wp-block-heading::before {
    top: 3.6231884058vw;
    left: 0.9661835749vw;
    width: 1.4492753623vw;
    height: 1.4492753623vw;
  }
}

.main .contents__section h5 {
  margin: 1em 0;
  position: relative;
  padding: 0;
  font-size: min(1.5625vw, 20px);
  font-weight: 600;
  line-height: 1.5;
  color: #6f6f6f;
}
@media screen and (max-width: 767px) {
  .main .contents__section h5 {
    font-size: 4.347826087vw;
  }
}

.main .contents__section h6 {
  margin: 1em 0;
  position: relative;
  padding: 0;
  font-size: min(1.5625vw, 20px);
  font-weight: 400;
  line-height: 1.5;
  color: #333;
}
@media screen and (max-width: 767px) {
  .main .contents__section h6 {
    font-size: 4.347826087vw;
  }
}

html {
  scroll-behavior: smooth;
}

body {
  padding: 0;
  margin: 0;
  line-height: 1.6;
  /*&::before {
      content: "";
      position: fixed;
      top: 0;
      left: calc(50% - px(600));
      z-index: calc(infinity);
      width: px(1);
      height: 100%;
      background-color: rgba(#99f, 0.5);

      @include mq(md) {
          left: pxsp(15);
          width: pxsp(1);
      }
  }
  &::after {
      content: "";
      position: fixed;
      top: 0;
      right: calc(50% - px(600));
      z-index: calc(infinity);
      width: px(1);
      height: 100%;
      background-color: rgba(#99f, 0.5);

      @include mq(md) {
          right: pxsp(15);
          width: pxsp(1);
      }
  }*/
}
body * {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif, Verdana, "Droid Sans";
}
body:has(.menu__list--main > .menu__item > details[open]) {
  overflow: hidden;
}
body .body__wrap:has(.menu__list--main > .menu__item > details[open]) {
  overflow: auto;
  scrollbar-gutter: stable;
}
@media screen and (max-width: 767px) {
  body {
    overflow: auto !important;
  }
  body:has(.menu.--open) {
    overflow: hidden !important;
    overscroll-behavior-y: contain;
  }
}
body .body__wrap {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
body img.pc {
  display: inline-block;
}
@media screen and (max-width: 767px) {
  body img.pc {
    display: none;
  }
}
body img.sp {
  display: none;
}
@media screen and (max-width: 767px) {
  body img.sp {
    display: inline-block;
  }
}

.header {
  position: fixed;
  width: 100%;
  height: min(7.96875vw, 102px);
  z-index: 100;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .header {
    height: 18.2367149758vw;
  }
}
.header::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #9c9c9c;
}
.header * {
  padding: 0;
  margin: 0;
  box-sizing: content-box;
}
.header img {
  width: 100%;
  max-width: 100%;
}
.header ul {
  list-style-type: none;
}
.header button {
  border: none;
  background-color: transparent;
  cursor: pointer;
}
.header .logo {
  position: absolute;
  top: 0;
  left: min(2.34375vw, 30px);
  z-index: 2;
  height: 100%;
  display: grid;
  align-items: center;
  width: min(19.53125vw, 250px);
  font-size: 0;
  line-height: 0;
}
@media screen and (max-width: 767px) {
  .header .logo {
    left: 3.6231884058vw;
    width: 48.309178744vw;
  }
}
.header .logo a {
  transition: opacity 0.2s;
}
@media (any-hover: hover) {
  .header .logo a:hover {
    opacity: 0.8;
  }
}
.header .menu {
  display: grid;
}
@media screen and (max-width: 767px) {
  .header .menu {
    display: none;
  }
  .header .menu.--open {
    display: block;
    margin-top: 18.2367149758vw;
    height: calc(100svh - 18.2367149758vw);
    overflow: auto;
    overscroll-behavior-y: contain;
    background-color: #4b494a;
  }
}
.header .menu__hamburger {
  display: none;
}
@media screen and (max-width: 767px) {
  .header .menu__hamburger {
    display: block;
    position: absolute;
    top: 50%;
    right: 3.6231884058vw;
    transform: translateY(-50%);
    width: 7.2463768116vw;
    cursor: pointer;
  }
  .header .menu__hamburger span {
    display: block;
    height: 0.7246376812vw;
    width: 100%;
    background-color: #cf1225;
    margin: 1.9323671498vw 0;
    transition: all 0.2s;
  }
  .header .menu__hamburger span:is(.menu__hamburger.--active *):nth-child(1) {
    transform: rotate(45deg) translate(1.9323671498vw, 1.9323671498vw);
  }
  .header .menu__hamburger span:is(.menu__hamburger.--active *):nth-child(2) {
    opacity: 0;
  }
  .header .menu__hamburger span:is(.menu__hamburger.--active *):nth-child(3) {
    transform: rotate(-45deg) translate(1.9323671498vw, -1.9323671498vw);
  }
}
.header .menu__list--main {
  order: 2;
  display: flex;
  padding-left: calc(100vw - min(72.65625vw, 930px) + min(2.890625vw, 37px));
}
@media screen and (max-width: 767px) {
  .header .menu__list--main {
    flex-direction: column;
    padding: 0 !important;
    background-color: transparent;
  }
}
html[lang=en] .header .menu__list--main {
  padding-left: calc(100vw - min(72.65625vw, 930px) + min(13.828125vw, 177px));
}
html[lang=th] .header .menu__list--main {
  padding-left: calc(100vw - min(72.65625vw, 930px) + min(13.828125vw, 177px));
}
html[lang=vi] .header .menu__list--main {
  padding-left: calc(100vw - min(72.65625vw, 930px) + min(8.359375vw, 107px));
}
html[lang=zh-CN] .header .menu__list--main {
  padding-left: calc(100vw - min(72.65625vw, 930px) + min(13.046875vw, 167px));
}
html[lang=zh-TW] .header .menu__list--main {
  padding-left: calc(100vw - min(72.65625vw, 930px) + min(11.484375vw, 147px));
}
.header .menu__list--main > .menu__item {
  align-self: center;
}
@media screen and (max-width: 767px) {
  .header .menu__list--main > .menu__item {
    order: 2;
    width: 100%;
    border-bottom: 1px solid #c9c9c9;
  }
  .header .menu__list--main > .menu__item:last-child {
    order: 1;
  }
}
.header .menu__list--main > .menu__item:last-child {
  display: none;
}
.header .menu__list--main > .menu__item > a {
  position: relative;
  display: inline-block;
  padding: min(1.5625vw, 20px) min(0.9765625vw, 12.5px) min(1.796875vw, 23px);
  font-size: min(1.09375vw, 14px);
  line-height: 1;
  text-decoration: none;
  color: #333;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .header .menu__list--main > .menu__item > a {
    display: block;
    padding: 4.8309178744vw 3.6231884058vw;
    font-size: 3.8647342995vw;
    font-weight: 400;
    color: #fff;
  }
}
.header .menu__list--main > .menu__item > a::before {
  content: "";
  position: absolute;
  bottom: min(1.015625vw, 13px);
  left: min(0.9765625vw, 12.5px);
  width: calc(100% - min(1.953125vw, 25px));
  height: min(0.234375vw, 3px);
  background-color: #cf1225;
  border-radius: 100vmax;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform 0.2s ease;
}
@media screen and (max-width: 767px) {
  .header .menu__list--main > .menu__item > a::before {
    display: none;
  }
}
@media (any-hover: hover) {
  .header .menu__list--main > .menu__item > a:hover::before {
    transform: scale(1, 1);
  }
}
.header .menu__list--main > .menu__item > a.--rightSide::before {
  transform-origin: right top;
}
@media screen and (max-width: 767px) {
  .header .menu__list--main > .menu__item > a.--current {
    background-color: color-mix(in srgb, #4b494a, #000 30%) !important;
  }
}
.header .menu__list--main > .menu__item > a.--current::before {
  transform: scale(1, 1);
  transform-origin: left top;
}
.header .menu__list--main > .menu__item > details > summary {
  position: relative;
  padding: min(1.5625vw, 20px) min(2.2265625vw, 28.5px) min(1.796875vw, 23px) min(0.9765625vw, 12.5px);
  font-size: min(1.09375vw, 14px);
  line-height: 1;
  color: #333;
  font-weight: 500;
  cursor: pointer;
  list-style: none;
}
.header .menu__list--main > .menu__item > details > summary::-webkit-details-marker {
  display: none;
}
@media screen and (max-width: 767px) {
  .header .menu__list--main > .menu__item > details > summary {
    display: block;
    padding: 4.8309178744vw 3.6231884058vw;
    font-size: 3.8647342995vw;
    font-weight: 400;
    color: #fff;
  }
}
.header .menu__list--main > .menu__item > details > summary::before {
  content: "";
  position: absolute;
  bottom: min(1.015625vw, 13px);
  left: min(0.9765625vw, 12.5px);
  width: calc(100% - min(3.203125vw, 41px));
  height: min(0.234375vw, 3px);
  background-color: #cf1225;
  border-radius: 100vmax;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform 0.2s ease;
}
@media screen and (max-width: 767px) {
  .header .menu__list--main > .menu__item > details > summary::before {
    display: none;
  }
}
.header .menu__list--main > .menu__item > details > summary::after {
  content: "\f107";
  position: absolute;
  top: calc(50% - min(0.15625vw, 2px));
  right: min(0.9765625vw, 12.5px);
  transform: translateY(-50%);
  font-family: "Font Awesome 6 Free";
  font-size: min(1.015625vw, 13px);
  font-weight: 900;
  color: #666;
}
@media screen and (max-width: 767px) {
  .header .menu__list--main > .menu__item > details > summary::after {
    content: "\f105";
    top: 50%;
    right: 3.6231884058vw;
    font-size: 3.3816425121vw;
    font-weight: 600;
    color: #fff;
  }
}
.header .menu__list--main > .menu__item > details > summary:has(> svg) {
  padding: min(1.171875vw, 15px) min(0.9765625vw, 12.5px) min(1.40625vw, 18px);
  font-size: min(1.71875vw, 22px);
  color: #cf1225;
  transition: opacity 0.2s ease;
}
@media screen and (max-width: 767px) {
  .header .menu__list--main > .menu__item > details > summary:has(> svg) {
    display: none;
  }
}
.header .menu__list--main > .menu__item > details > summary:has(> svg)::before {
  display: none;
}
.header .menu__list--main > .menu__item > details > summary:has(> svg)::after {
  display: none;
}
@media (any-hover: hover) {
  .header .menu__list--main > .menu__item > details > summary:has(> svg):hover {
    opacity: 0.7;
  }
}
@media (any-hover: hover) {
  .header .menu__list--main > .menu__item > details > summary:hover::before {
    transform: scale(1, 1);
  }
}
.header .menu__list--main > .menu__item > details > summary.leftSide::before {
  transform-origin: left top;
}
.header .menu__list--main > .menu__item > details > summary.--rightSide::before {
  transform-origin: right top;
}
@media screen and (max-width: 767px) {
  .header .menu__list--main > .menu__item > details > summary.--current {
    background-color: color-mix(in srgb, #4b494a, #000 30%) !important;
  }
}
.header .menu__list--main > .menu__item > details > summary.--current::before {
  transform: scale(1, 1);
  transform-origin: left top;
}
.header .menu__list--main > .menu__item > details[open] > summary::before {
  transform: scale(1, 1);
  transform-origin: left top;
}
.header .menu__list--main > .menu__item .mega-menu {
  position: absolute;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: #4b494a;
  color: #fff;
  overflow: auto;
  opacity: 0;
  transition: opacity 0.4s ease;
}
@media screen and (max-width: 767px) {
  .header .menu__list--main > .menu__item .mega-menu {
    position: relative;
    display: none;
    height: auto;
  }
}
.header .menu__list--main > .menu__item .mega-menu:is(details[open] *) {
  opacity: 1;
  display: block;
}
.header .menu__list--main > .menu__item .mega-menu__inner {
  position: relative;
  max-width: 1200px;
  padding: min(2.34375vw, 30px);
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .header .menu__list--main > .menu__item .mega-menu__inner {
    padding: 0;
  }
}
.header .menu__list--main > .menu__item .mega-menu__title {
  padding-top: min(2.34375vw, 30px);
  font-size: min(1.875vw, 24px);
  font-weight: 500;
  /*a {
      display: block;
      width: fit-content;
      text-decoration: none;
      color: #fff;

      @include mq(md) {
          width: 100%;
      }

      @include hover() {
          text-decoration: underline;
      }
  }
  span {
      position: relative;
      display: block;
      width: fit-content;
      max-width: px(1200);
      padding-right: px(30);
      font-weight: 600;
      color: #fff;

      @include mq(md) {
          box-sizing: border-box;
          width: 100%;
          max-width: 100%;
          padding: pxsp(15);
          background-color: #fff;
          font-size: pxsp(16);
          color: #cf1125;
      }

      &:is(.mega-menu__title > a > *) {
          &::after {
              content: '\f061';
              position: absolute;
              top: calc(50% + px(1));
              right: 0;
              transform: translateY(-50%);
              font-family: 'Font Awesome 6 Free';
              font-size: px(14);
              font-weight: 900;
              color: #e16a78;

              @include mq(md) {
                  position: relative;
                  display: inline-block;
                  top: auto;
                  right: auto;
                  transform: translateY(pxsp(-1));
                  padding-left: pxsp(10);
                  font-size: pxsp(14);
              }
          }
      }
  }*/
}
@media screen and (max-width: 767px) {
  .header .menu__list--main > .menu__item .mega-menu__title {
    padding-top: 0;
  }
  .header .menu__list--main > .menu__item .mega-menu__title:is(.menu__list--main > .menu__item:last-child *) {
    display: none;
  }
}
.header .menu__list--main > .menu__item .mega-menu__title a {
  width: -moz-fit-content;
  width: fit-content;
  overflow: visible;
  background-color: transparent;
  border: none;
  font-size: min(1.875vw, 24px);
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .header .menu__list--main > .menu__item .mega-menu__title a {
    width: 100%;
    padding: 3.6231884058vw;
    box-sizing: border-box;
    background-color: #fff;
    border: none;
    font-size: 3.8647342995vw;
    color: #cf1225;
  }
}
.header .menu__list--main > .menu__item .mega-menu__title a::before {
  background-color: #cf1225;
}
@media (any-hover: hover) {
  .header .menu__list--main > .menu__item .mega-menu__title a:hover {
    color: #fff;
  }
}
.header .menu__list--main > .menu__item .mega-menu__title a span {
  position: relative;
}
.header .menu__list--main > .menu__item .mega-menu__title a span::after {
  content: "\f061";
  position: absolute;
  top: calc(50% + min(0.078125vw, 1px));
  right: max(-2.34375vw, -30px);
  transform: translateY(-50%);
  font-family: "Font Awesome 6 Free";
  font-size: min(1.09375vw, 14px);
  font-weight: 900;
  color: #e16a78;
}
@media screen and (max-width: 767px) {
  .header .menu__list--main > .menu__item .mega-menu__title a span::after {
    position: relative;
    display: inline-block;
    top: auto;
    right: auto;
    transform: translateY(-0.2415458937vw);
    padding-left: 2.4154589372vw;
    font-size: 3.3816425121vw;
  }
}
.header .menu__list--main > .menu__item .mega-menu__list {
  margin-top: min(2.34375vw, 30px);
}
@media screen and (max-width: 767px) {
  .header .menu__list--main > .menu__item .mega-menu__list {
    margin-top: 0;
  }
}
.header .menu__list--main > .menu__item .mega-menu__list--main {
  position: relative;
  padding-left: min(1.171875vw, 15px);
}
@media screen and (max-width: 767px) {
  .header .menu__list--main > .menu__item .mega-menu__list--main {
    padding-left: 0;
  }
}
.header .menu__list--main > .menu__item .mega-menu__list--sbs {
  display: flex;
  flex-wrap: wrap;
  gap: 0 min(1.171875vw, 15px);
}
@media screen and (max-width: 767px) {
  .header .menu__list--main > .menu__item .mega-menu__list--sbs {
    display: block;
  }
}
.header .menu__list--main > .menu__item .mega-menu__list--sub {
  padding-left: min(1.171875vw, 15px);
}
@media screen and (max-width: 767px) {
  .header .menu__list--main > .menu__item .mega-menu__list--sub {
    padding-left: 0;
  }
}
.header .menu__list--main > .menu__item .mega-menu__item {
  width: min(17.96875vw, 230px);
  margin-top: min(1.171875vw, 15px);
}
@media screen and (max-width: 767px) {
  .header .menu__list--main > .menu__item .mega-menu__item {
    width: 100%;
    margin-top: 0;
  }
}
.header .menu__list--main > .menu__item .mega-menu__item:is(.mega-menu__list--sbs *) {
  width: min(22.265625vw, 285px);
}
@media screen and (max-width: 767px) {
  .header .menu__list--main > .menu__item .mega-menu__item:is(.mega-menu__list--sbs *) {
    width: 100%;
  }
}
.header .menu__list--main > .menu__item .mega-menu__item > details > summary {
  overflow: visible;
  padding: min(0.390625vw, 5px) min(0.78125vw, 10px) min(0.46875vw, 6px);
  margin-right: min(1.25vw, 16px);
  background-color: transparent;
  border: none;
  line-height: 1.4;
  cursor: pointer;
  list-style: none;
}
@media screen and (max-width: 767px) {
  .header .menu__list--main > .menu__item .mega-menu__item > details > summary {
    padding: 3.6231884058vw;
    margin-right: 0;
    border-top: 1px solid #c9c9c9;
  }
}
.header .menu__list--main > .menu__item .mega-menu__item > details > summary::-webkit-details-marker {
  display: none;
}
.header .menu__list--main > .menu__item .mega-menu__item > details > summary::before {
  background-color: #cf1225;
}
.header .menu__list--main > .menu__item .mega-menu__item > details > summary::after {
  content: "\f0da";
  position: absolute;
  top: 50%;
  right: max(-1.25vw, -16px);
  transform: translateY(-50%);
  margin-left: min(0.234375vw, 3px);
  font-family: "Font Awesome 6 Free";
  font-size: min(1.09375vw, 14px);
  font-weight: 900;
  color: #ccc;
}
@media screen and (max-width: 767px) {
  .header .menu__list--main > .menu__item .mega-menu__item > details > summary::after {
    content: "\f107";
    right: 3.6231884058vw;
    font-size: 3.3816425121vw;
    font-weight: 600;
    color: #fff;
  }
}
@media (any-hover: hover) {
  .header .menu__list--main > .menu__item .mega-menu__item > details > summary:hover {
    color: #fff;
  }
}
.header .menu__list--main > .menu__item .mega-menu__item > details[open] > summary {
  background-color: #cf1225;
}
@media screen and (max-width: 767px) {
  .header .menu__list--main > .menu__item .mega-menu__item > details[open] > summary {
    background-color: color-mix(in srgb, #4b494a, #000 30%);
  }
}
@media screen and (max-width: 767px) {
  .header .menu__list--main > .menu__item .mega-menu__item > details[open] > summary::after {
    content: "\f106";
  }
}
.header .menu__list--main > .menu__item .mega-menu__item > a {
  padding: min(0.390625vw, 5px) min(0.78125vw, 10px) min(0.46875vw, 6px);
  margin-right: min(1.25vw, 16px);
  background-color: transparent;
  border: none;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .header .menu__list--main > .menu__item .mega-menu__item > a {
    padding: 3.6231884058vw;
    margin-right: 0;
    border-top: 1px solid #c9c9c9;
  }
  .header .menu__list--main > .menu__item .mega-menu__item > a br {
    display: none;
  }
}
.header .menu__list--main > .menu__item .mega-menu__item > a::before {
  background-color: #cf1225;
}
@media (any-hover: hover) {
  .header .menu__list--main > .menu__item .mega-menu__item > a:hover {
    color: #fff;
  }
}
.header .menu__list--main > .menu__item .mega-menu__item > a.--current {
  background-color: #cf1225;
}
@media screen and (max-width: 767px) {
  .header .menu__list--main > .menu__item .mega-menu__item > a.--current {
    background-color: color-mix(in srgb, #4b494a, #000 30%);
  }
}
.header .menu__list--main > .menu__item .mega-menu__item .cat-menu {
  position: absolute;
  top: 0;
  left: min(21.875vw, 280px);
  width: calc(100% - min(21.875vw, 280px));
  padding-bottom: min(3.125vw, 40px);
}
@media screen and (max-width: 767px) {
  .header .menu__list--main > .menu__item .mega-menu__item .cat-menu {
    position: relative;
    left: 0;
    width: 100%;
    padding-bottom: 0;
  }
}
.header .menu__list--main > .menu__item .mega-menu__item .cat-menu__title {
  position: relative;
  padding: min(0.234375vw, 3px) 0 min(1.5625vw, 20px);
  margin-bottom: min(1.5625vw, 20px);
  font-size: min(1.25vw, 16px);
  /*&:has(> a)::after {
      content: '\f105';
      position: absolute;
      top: px(9);
      left: 0;
      font-family: 'Font Awesome 6 Free';
      font-size: px(14);
      font-weight: 900;
      color: #e16a78;

      @include mq(md) {
          top: pxsp(19);
          left: pxsp(6);
          font-size: pxsp(12);
          font-weight: 600;
          z-index: 2;
      }
  }*/
  /*a {
      display: block;
      width: fit-content;
      text-decoration: none;
      color: #fff;

      @include mq(md) {
          width: 100%;
      }

      @include hover() {
          text-decoration: underline;
      }
  }
  span {
      position: relative;
      display: block;
      width: fit-content;
      max-width: px(1200);
      padding-right: px(25);
      font-weight: 600;
      color: #fff;

      @include mq(md) {
          width: 100%;
          max-width: 100%;
          padding-block: pxsp(15);
          font-size: pxsp(16);
      }

      &:is(.cat-menu__title > a > *) {
          &::after {
              content: '\f061';
              position: absolute;
              top: calc(50% + px(1));
              right: 0;
              transform: translateY(-50%);
              font-family: 'Font Awesome 6 Free';
              font-size: px(14);
              font-weight: 900;
              color: #e16a78;

              @include mq(md) {
                  position: relative;
                  display: inline-block;
                  top: auto;
                  right: auto;
                  transform: translateY(pxsp(-1));
                  padding-left: pxsp(10);
                  font-size: pxsp(14);
              }
          }
      }
  }*/
}
@media screen and (max-width: 767px) {
  .header .menu__list--main > .menu__item .mega-menu__item .cat-menu__title {
    padding: 0;
    margin: 0 3.6231884058vw;
  }
}
.header .menu__list--main > .menu__item .mega-menu__item .cat-menu__title::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: min(0.078125vw, 1px);
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .header .menu__list--main > .menu__item .mega-menu__item .cat-menu__title::before {
    display: none;
  }
}
.header .menu__list--main > .menu__item .mega-menu__item .cat-menu__title a {
  width: -moz-fit-content;
  width: fit-content;
  overflow: visible;
  background-color: transparent;
  border: none;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .header .menu__list--main > .menu__item .mega-menu__item .cat-menu__title a {
    padding: 3.6231884058vw 2.8985507246vw;
    border: none;
  }
}
.header .menu__list--main > .menu__item .mega-menu__item .cat-menu__title a::before {
  background-color: #cf1225;
}
@media (any-hover: hover) {
  .header .menu__list--main > .menu__item .mega-menu__item .cat-menu__title a:hover {
    color: #fff;
  }
}
.header .menu__list--main > .menu__item .mega-menu__item .cat-menu__title a span {
  position: relative;
}
.header .menu__list--main > .menu__item .mega-menu__item .cat-menu__title a span::after {
  content: "\f061";
  position: absolute;
  top: calc(50% + min(0.078125vw, 1px));
  right: max(-2.34375vw, -30px);
  transform: translateY(-50%);
  font-family: "Font Awesome 6 Free";
  font-size: min(1.09375vw, 14px);
  font-weight: 900;
  color: #e16a78;
}
@media screen and (max-width: 767px) {
  .header .menu__list--main > .menu__item .mega-menu__item .cat-menu__title a span::after {
    position: relative;
    display: inline-block;
    top: auto;
    right: auto;
    transform: translateY(-0.2415458937vw);
    padding-left: 2.4154589372vw;
    font-size: 3.3816425121vw;
  }
}
.header .menu__list--main > .menu__item .mega-menu__item .cat-menu__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(1.171875vw, 15px);
}
@media screen and (max-width: 767px) {
  .header .menu__list--main > .menu__item .mega-menu__item .cat-menu__list {
    display: block;
    padding-inline: 3.6231884058vw;
  }
}
.header .menu__list--main > .menu__item .mega-menu__item .cat-menu__item {
  position: relative;
}
.header .menu__list--main > .menu__item .mega-menu__item .cat-menu__item::before {
  content: "\f105";
  position: absolute;
  top: min(0.46875vw, 6px);
  left: 0;
  font-family: "Font Awesome 6 Free";
  font-size: min(1.09375vw, 14px);
  font-weight: 900;
  color: #e16a78;
}
@media screen and (max-width: 767px) {
  .header .menu__list--main > .menu__item .mega-menu__item .cat-menu__item::before {
    top: 4.5893719807vw;
    left: 1.4492753623vw;
    font-size: 2.8985507246vw;
    font-weight: 600;
    z-index: 2;
  }
}
.header .menu__list--main > .menu__item .mega-menu__item .cat-menu__item a {
  overflow: visible;
  box-sizing: border-box;
  width: -webkit-fill-available;
  width: -moz-available;
  width: stretch;
  margin-left: min(1.07421875vw, 13.75px);
  padding: min(0.390625vw, 5px) min(0.46875vw, 6px) min(0.46875vw, 6px);
  background-color: transparent;
  border: none;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .header .menu__list--main > .menu__item .mega-menu__item .cat-menu__item a {
    width: 100%;
    margin-left: 0;
    padding: 3.6231884058vw 0 3.6231884058vw 4.8309178744vw;
    border-top: 1px solid #707070;
  }
}
.header .menu__list--main > .menu__item .mega-menu__item .cat-menu__item a::before {
  background-color: #cf1225;
}
@media (any-hover: hover) {
  .header .menu__list--main > .menu__item .mega-menu__item .cat-menu__item a:hover {
    color: #fff;
  }
}
.header .menu__list--main > .menu__item .mega-menu__item .cat-menu__item a.--current {
  background-color: #cf1225;
}
@media screen and (max-width: 767px) {
  .header .menu__list--main > .menu__item .mega-menu__item .cat-menu__item a.--current {
    background-color: color-mix(in srgb, #4b494a, #000 30%);
  }
}
.header .menu__list--main > .menu__item .mega-menu__btn--close {
  position: absolute;
  top: min(1.171875vw, 15px);
  right: min(2.34375vw, 30px);
  padding-block: min(0.78125vw, 10px);
}
@media screen and (max-width: 767px) {
  .header .menu__list--main > .menu__item .mega-menu__btn--close {
    display: none;
  }
}
.header .menu__list--main > .menu__item .mega-menu__btn--close svg {
  font-size: min(2.34375vw, 30px);
  color: #bbb;
  transition: all 0.2s ease;
}
@media (any-hover: hover) {
  .header .menu__list--main > .menu__item .mega-menu__btn--close:hover svg {
    color: #fff;
    transform: rotateY(180deg);
  }
}
.header .menu__list--main > .menu__item .mega-menu__link--back {
  display: none;
}
@media screen and (max-width: 767px) {
  .header .menu__list--main > .menu__item .mega-menu__link--back {
    position: relative;
    display: block;
    padding: 4.8309178744vw 3.6231884058vw 4.8309178744vw 7.2463768116vw;
    font-size: 3.8647342995vw;
    line-height: 1;
    cursor: pointer;
  }
  .header .menu__list--main > .menu__item .mega-menu__link--back::before {
    content: "\f104";
    position: absolute;
    top: calc(50% + 0.2415458937vw);
    left: 3.6231884058vw;
    transform: translateY(-50%);
    font-family: "Font Awesome 6 Free";
    font-size: 3.3816425121vw;
    font-weight: 600;
    color: #fff;
  }
}
.header .menu__list--main > .menu__item .mega-menu .search {
  display: grid;
  grid-template-columns: 1fr min(6.25vw, 80px);
  gap: min(0.78125vw, 10px);
  width: min(56.25vw, 720px);
  margin: min(3.90625vw, 50px) auto 0;
}
@media screen and (max-width: 767px) {
  .header .menu__list--main > .menu__item .mega-menu .search {
    grid-template-columns: 1fr 9.6618357488vw;
    gap: 0;
    width: 100%;
    padding: 4.8309178744vw 3.6231884058vw;
    margin: 0;
    box-sizing: border-box;
  }
}
.header .menu__list--main > .menu__item .mega-menu .search__field {
  padding: min(0.78125vw, 10px);
  border: none;
  font-size: min(1.40625vw, 18px);
}
@media screen and (max-width: 767px) {
  .header .menu__list--main > .menu__item .mega-menu .search__field {
    padding: 1.2077294686vw;
    font-size: 3.8647342995vw;
  }
}
.header .menu__list--main > .menu__item .mega-menu .search__btn svg {
  position: relative;
  z-index: 2;
}
.header .menu__list--sub {
  order: 1;
  display: flex;
  gap: min(2.34375vw, 30px);
  margin-bottom: max(-0.390625vw, -5px);
  padding-top: min(1.25vw, 16px);
  padding-left: calc(100vw - min(25vw, 320px));
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .header .menu__list--sub {
    display: block;
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 7.2463768116vw;
    padding-left: 0 !important;
    background-color: transparent;
  }
}
html[lang=en] .header .menu__list--sub {
  padding-left: calc(100vw - min(22.265625vw, 285px));
}
html[lang=th] .header .menu__list--sub {
  padding-left: calc(100vw - min(24.609375vw, 315px));
}
html[lang=vi] .header .menu__list--sub {
  padding-left: calc(100vw - min(23.4375vw, 300px));
}
html[lang=zh-CN] .header .menu__list--sub {
  padding-left: calc(100vw - min(20.703125vw, 265px));
}
html[lang=zh-TW] .header .menu__list--sub {
  padding-left: calc(100vw - min(20.703125vw, 265px));
}
.header .menu__list--sub .menu__item:nth-child(1) {
  align-self: center;
  width: min(9.375vw, 120px);
  padding-bottom: min(0.3125vw, 4px);
  /*a {
      display: none;
      font-size: px(14);
      line-height: 1;
      text-decoration: none;
      color: #cf1225;
      font-weight: 600;

      @include mq(md) {
          display: none;
          padding-block: pxsp(10);
          font-size: pxsp(16);
          text-align: center;
          color: #eab2b9;
      }

      @include hover() {
          text-decoration: underline;
      }

      &.shutto_ja:not([data-stt-active]):has(+ .shutto_en[data-stt-active]) {
          display: block;
      }
      &.shutto_ja[data-stt-active] + .shutto_en:not([data-stt-active]) {
          display: block;
      }
      &.shutto_ja:not([data-stt-active]) + .shutto_en:not([data-stt-active]) {
          //display: block;
      }
  }*/
}
@media screen and (max-width: 767px) {
  .header .menu__list--sub .menu__item:nth-child(1) {
    width: 100%;
    padding-block: 6.038647343vw;
    text-align: center;
  }
}
.header .menu__list--sub .menu__item:nth-child(1) select#switch_lang {
  width: 100%;
  padding: min(0.234375vw, 3px);
  background-color: rgba(255, 255, 255, 0.5);
  border: min(0.078125vw, 1px) solid #9c9c9c;
  box-sizing: border-box;
  border-radius: 0.3em;
  font-size: min(1.09375vw, 14px);
}
@media screen and (max-width: 767px) {
  .header .menu__list--sub .menu__item:nth-child(1) select#switch_lang {
    width: 48.309178744vw;
    margin-inline: auto;
    padding: 0.9661835749vw;
    border: 0.2415458937vw solid #c9c9c9;
    font-size: 3.6231884058vw;
  }
}
.header .menu__list--sub .menu__item:nth-child(2) a {
  display: inline-block;
  border-radius: 100vmax;
  font-size: min(1.09375vw, 14px);
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .header .menu__list--sub .menu__item:nth-child(2) a {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    padding-inline: 7.2463768116vw;
    padding-bottom: 1.9323671498vw;
    font-size: 3.3816425121vw;
  }
}

.main {
  position: relative;
  display: block;
  padding-top: min(8.125vw, 104px);
}
@media screen and (max-width: 767px) {
  .main {
    padding-top: 18.2367149758vw;
  }
}
.main .contents {
  display: grid;
}
.main .contents [class^=title] {
  order: 2;
  padding: 0;
  margin: 0;
}
.main .contents .title--txt {
  margin-top: min(4.6875vw, 60px);
}
@media screen and (max-width: 767px) {
  .main .contents .title--txt {
    margin-top: 0;
  }
}
.main .contents .title--txt span {
  position: relative;
  display: block;
  box-sizing: border-box;
  width: 100%;
  max-width: min(93.75vw, 1200px);
  padding-left: min(3.90625vw, 50px);
  margin-inline: auto;
  font-size: min(2.8125vw, 36px);
  font-weight: 600;
  line-height: 1.2;
}
@media (min-width: 1380px) {
  .main .contents .title--txt span {
    padding-left: 0;
  }
}
@media screen and (max-width: 767px) {
  .main .contents .title--txt span {
    min-width: 100%;
    margin-inline: 0;
    padding: 13.2850241546vw 3.6231884058vw 4.8309178744vw;
    font-size: 5.7971014493vw;
  }
}
.main .contents .title--txt span::before {
  content: "";
  position: absolute;
  top: min(1.09375vw, 14px);
  right: min(91.40625vw, 1170px);
  width: 100vw;
  height: min(1.5625vw, 20px);
  background-color: #cf1225;
  background-image: url(../img/h1_bg.png);
  background-position: center right;
  background-repeat: no-repeat;
  background-size: contain;
}
@media (min-width: 1380px) {
  .main .contents .title--txt span::before {
    right: 1220px;
  }
}
@media screen and (max-width: 767px) {
  .main .contents .title--txt span::before {
    top: 7.2463768116vw;
    right: auto;
    left: 0vw;
    width: 33.8164251208vw;
    height: 2.4154589372vw;
    background-color: transparent;
  }
}
@media screen and (max-width: 767px) {
  .main .contents .title--txt:has(+ .breadcrumb + .contents__inner > .post_content) span {
    padding-bottom: 0;
  }
}
.main .contents .title--hero {
  position: relative;
}
@media screen and (max-width: 767px) {
  .main .contents .title--hero {
    height: auto !important;
    line-height: 0;
  }
}
.main .contents .title--hero::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0.2;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .main .contents .title--hero::before {
    display: none;
  }
}
.main .contents .title--hero::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.1);
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFAQMAAAC3obSmAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAGUExURUdwTAAAAJ8qhFEAAAABdFJOUwBA5thmAAAAEklEQVQI12MwYDBgYGBoYGAAAASKAOH8MS30AAAAAElFTkSuQmCC);
  background-size: 2px;
  opacity: 0.5;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .main .contents .title--hero::after {
    display: none;
  }
}
.main .contents .title--hero.--height--300 {
  height: min(23.4375vw, 300px);
}
.main .contents .title--hero.--height--450 {
  height: min(35.15625vw, 450px);
}
.main .contents .title--hero.--font--white {
  color: #fff;
}
.main .contents .title--hero span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  z-index: 3;
  width: 100%;
  max-width: min(93.75vw, 1200px);
  font-size: min(2.8125vw, 36px);
  font-weight: 600;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .main .contents .title--hero span {
    position: relative;
    top: 0;
    left: 0;
    transform: translateX(0) translateY(0);
    display: block;
    max-width: none;
    padding: 4.8309178744vw 3.6231884058vw;
    box-sizing: border-box;
    font-size: 4.8309178744vw;
    color: #cf1225;
  }
}
.main .contents .title--hero img {
  position: relative;
  z-index: 1;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .main .contents .title--hero img {
    height: 58.6956521739vw !important;
  }
  .main .contents .title--hero img:is(.--height--450 *) {
    height: 37.4396135266vw !important;
  }
  .main .contents .title--hero img:is(.--height--300 *) {
    height: 25.1207729469vw !important;
  }
}
.main .contents .breadcrumb {
  order: 1;
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid #9c9c9c;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .main .contents .breadcrumb {
    overflow-x: auto;
  }
}
.main .contents .breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  list-style-type: none;
  max-width: min(93.75vw, 1200px);
  margin: 0 auto;
  padding: min(0.78125vw, 10px) 0;
}
@media screen and (max-width: 767px) {
  .main .contents .breadcrumb__list {
    flex-wrap: nowrap;
    max-width: none;
    padding: 2.4154589372vw 3.6231884058vw 2.8985507246vw;
  }
}
.main .contents .breadcrumb__item {
  position: relative;
  padding-right: min(2.34375vw, 30px);
  font-size: min(1.015625vw, 13px);
}
@media screen and (max-width: 767px) {
  .main .contents .breadcrumb__item {
    padding-right: 5.0724637681vw;
    font-size: 2.8985507246vw;
    line-height: 1;
    white-space: nowrap;
  }
}
.main .contents .breadcrumb__item::after {
  content: "\f105";
  position: absolute;
  top: 50%;
  right: min(0.859375vw, 11px);
  transform: translateY(-50%);
  font-family: "Font Awesome 6 Free";
  font-size: min(0.78125vw, 10px);
  font-weight: 600;
  color: #999;
}
@media screen and (max-width: 767px) {
  .main .contents .breadcrumb__item::after {
    right: 1.4492753623vw;
    font-size: 2.4154589372vw;
  }
}
.main .contents .breadcrumb__item:first-child {
  text-transform: uppercase;
}
.main .contents .breadcrumb__item:last-child::after {
  display: none;
}
.main .contents .breadcrumb__item a {
  color: #cf1225;
  text-decoration: none;
}
@media (any-hover: hover) {
  .main .contents .breadcrumb__item a:hover {
    text-decoration: underline;
  }
}
.main .contents__inner {
  order: 3;
  width: 100%;
  max-width: min(93.75vw, 1200px);
  margin: min(1.5625vw, 20px) auto min(4.6875vw, 60px);
}
@media screen and (max-width: 767px) {
  .main .contents__inner {
    max-width: 100vw;
    box-sizing: border-box;
    padding-inline: 3.6231884058vw;
    margin: 4.8309178744vw 0 7.2463768116vw;
  }
}
.main .contents__section {
  margin: min(2.34375vw, 30px) 0 min(3.90625vw, 50px);
  font-size: min(1.25vw, 16px);
  line-height: 1.8;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .main .contents__section {
    margin: 4.8309178744vw 0 7.2463768116vw;
    font-size: 3.6231884058vw;
  }
}
.main .contents__section:first-child:has(.category__label) {
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .main .contents__section:first-child:has(.category__label) {
    margin-top: 1.2077294686vw;
  }
}
.main .contents__section:first-child:has(.link__btn) {
  margin-top: min(3.125vw, 40px);
}
@media screen and (max-width: 767px) {
  .main .contents__section:first-child:has(.link__btn) {
    margin-top: 7.2463768116vw;
  }
}
.main .contents__section * {
  box-sizing: content-box;
}
.main .contents__section figure {
  padding: 0;
  margin: 0;
  line-height: 0;
}
.main .contents__section img {
  width: 100%;
  max-width: 100%;
}
.main .contents__section .date {
  font-size: min(1.5625vw, 20px);
  text-align: right;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .main .contents__section .date {
    font-size: 4.347826087vw;
  }
}
.main .contents__section .link__btn {
  width: min(29.6875vw, 380px);
  margin-inline: auto;
  padding: min(0.78125vw, 10px) min(2.734375vw, 35px) min(0.859375vw, 11px) min(1.5625vw, 20px);
  font-size: min(1.40625vw, 18px);
  font-weight: 600;
  line-height: 1.5;
  transition: color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .main .contents__section .link__btn {
    width: -moz-fit-content;
    width: fit-content;
    padding: 1.4492753623vw 5.7971014493vw 1.4492753623vw 2.8985507246vw;
    font-size: 3.3816425121vw;
  }
}
.main .contents__section .link__btn::before {
  transition: transform 0.3s ease;
}
.main .contents__section .link__btn::after {
  content: "\f105";
  position: absolute;
  top: 50%;
  right: min(0.78125vw, 10px);
  z-index: 1;
  transform: translateY(-50%);
  font-family: "Font Awesome 6 Free";
  font-size: min(0.9375vw, 12px);
  font-weight: 600;
  color: currentColor;
  transition: color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .main .contents__section .link__btn::after {
    right: 1.4492753623vw;
    font-size: 2.4154589372vw;
  }
}
.main .contents__section .link__set--download {
  display: inline-block;
  margin-left: min(1.953125vw, 25px);
  padding: min(0.625vw, 8px) min(1.171875vw, 15px) min(0.703125vw, 9px);
  border-radius: 100vmax;
  font-size: min(1.09375vw, 14px);
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .main .contents__section .link__set--download {
    margin-left: 1.2077294686vw;
    padding: 1.9323671498vw 2.4154589372vw 2.1739130435vw;
    font-size: 2.8985507246vw;
  }
}
.main .contents__section .link__set--download span {
  color: #fff;
  transition: color 0.2s ease;
}
@media (any-hover: hover) {
  .main .contents__section .link__set--download:hover span {
    color: #cf1225;
  }
}
.main .contents__section .category__label {
  display: flex;
  flex-wrap: wrap;
  gap: min(1.171875vw, 15px);
  list-style-type: none;
  padding: min(1.5625vw, 20px) 0;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .main .contents__section .category__label {
    gap: 1.4492753623vw;
    margin-top: -3.6231884058vw;
    padding: 0 0 2.4154589372vw;
  }
}
.main .contents__section .category__label li a {
  width: -moz-fit-content;
  width: fit-content;
  padding: min(0.3125vw, 4px) min(0.78125vw, 10px);
  border: min(0.078125vw, 1px) solid #c9c9c9;
  border-radius: min(0.390625vw, 5px);
  background-color: transparent;
  font-size: min(1.09375vw, 14px);
  font-weight: 400;
  line-height: 1.5;
  color: #716f70;
}
@media screen and (max-width: 767px) {
  .main .contents__section .category__label li a {
    padding: 0.9661835749vw 1.9323671498vw 1.2077294686vw;
    border: 0.2415458937vw solid #c9c9c9;
    border-radius: 1.2077294686vw;
    font-size: 2.8985507246vw;
    font-weight: 500;
  }
}
.main .contents__section .category__label li a::before {
  background-color: #cf1225;
}
@media (any-hover: hover) {
  .main .contents__section .category__label li a:hover {
    border: min(0.078125vw, 1px) solid #cf1225;
    color: #fff;
  }
}
.main .contents__section .category__label li a.--current {
  background-color: #cf1225;
  border: min(0.078125vw, 1px) solid #cf1225;
  color: #fff;
}
.main .contents__section .category__label li a.--hide {
  padding: min(0.3125vw, 4px) min(3.125vw, 40px);
  background-color: #333;
  border-color: #333 !important;
  color: #fff;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .main .contents__section .category__label li a.--hide {
    padding: 0.9661835749vw 5.7971014493vw 1.2077294686vw;
  }
}
.main .contents__section .category__label li a.--hide::before {
  display: none;
}
.main .contents__section .category__list {
  display: grid;
  grid-template-columns: 1fr 3fr;
  grid-template-columns: calc((100% - min(7.03125vw, 90px)) / 4) auto;
  gap: min(2.34375vw, 30px);
}
@media screen and (max-width: 767px) {
  .main .contents__section .category__list {
    display: block;
  }
}
.main .contents__section .category__list:is(.--col--2 *) {
  grid-template-columns: 1fr 1fr;
}
.main .contents__section .category__list > figure img {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .main .contents__section .category__list > figure img {
    height: 53.1400966184vw;
  }
}
.main .contents__section .category__list > div > h4 {
  margin-top: min(2.34375vw, 30px);
  margin-bottom: min(1.5625vw, 20px);
  padding: 0 0 min(0.78125vw, 10px) 0;
  border-bottom: min(0.078125vw, 1px) solid #cf1225;
  font-size: min(1.40625vw, 18px);
  color: #cf1225;
}
@media screen and (max-width: 767px) {
  .main .contents__section .category__list > div > h4 {
    position: relative;
    margin-top: 2.4154589372vw;
    margin-bottom: 1.2077294686vw;
    padding: 0 0 2.4154589372vw 0;
    font-size: 4.1062801932vw;
  }
  .main .contents__section .category__list > div > h4::after {
    content: "\f107";
    position: absolute;
    top: 50%;
    right: 2.4154589372vw;
    transform: translateY(-50%);
    font-size: 3.3816425121vw;
    font-family: "Font Awesome 6 Free";
    font-weight: 600;
    transition: rotate 0.2s ease;
    transform-origin: center 0;
  }
  .main .contents__section .category__list > div > h4.open::after {
    rotate: 180deg;
  }
}
.main .contents__section .category__list > div > h4::before {
  display: none;
}
.main .contents__section .category__list > div > h4:first-of-type {
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .main .contents__section .category__list > div > h4:first-of-type {
    margin-top: 2.4154589372vw;
  }
}
.main .contents__section .category__list > div > ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(0.78125vw, 10px) min(2.34375vw, 30px);
  padding: 0;
  margin: 0;
  list-style-type: none;
}
@media screen and (max-width: 767px) {
  .main .contents__section .category__list > div > ul {
    display: block;
  }
}
.main .contents__section .category__list > div > ul:is(.--col--2 *) {
  grid-template-columns: 1fr;
}
@media screen and (max-width: 767px) {
  .main .contents__section .category__list > div > ul:is(h4 + *) {
    display: none;
  }
}
.main .contents__section .category__list > div > ul li {
  position: relative;
  padding-bottom: min(0.78125vw, 10px);
  border-bottom: min(0.078125vw, 1px) solid #c9c9c9;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .main .contents__section .category__list > div > ul li {
    padding: 0;
    border-bottom: 0.2415458937vw solid #c9c9c9;
  }
}
.main .contents__section .category__list > div > ul li::before {
  content: "\f105";
  position: absolute;
  top: 0;
  left: 0;
  padding: min(0.546875vw, 7px) min(0.390625vw, 5px) 0 0;
  font-family: "Font Awesome 6 Free";
  font-size: min(1.09375vw, 14px);
  font-weight: 900;
  color: #e16a78;
}
@media screen and (max-width: 767px) {
  .main .contents__section .category__list > div > ul li::before {
    padding: 4.1062801932vw 0 0 0;
    font-size: 3.3816425121vw;
  }
}
.main .contents__section .category__list > div > ul li a {
  display: block;
  box-sizing: border-box;
  width: min(20.703125vw, 265px);
  margin-left: min(0.9765625vw, 12.5px);
  padding: min(0.390625vw, 5px) min(0.46875vw, 6px) min(0.46875vw, 6px);
  color: #333;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .main .contents__section .category__list > div > ul li a {
    width: 100%;
    margin-left: 2.4154589372vw;
    padding: 3.6231884058vw 1.4492753623vw 3.6231884058vw;
    font-size: 3.8647342995vw;
  }
}
@media (any-hover: hover) {
  .main .contents__section .category__list > div > ul li a:hover {
    color: #cf1225;
    text-decoration: underline;
  }
}
.main .contents__section h3:has(+ .category__list)::after {
  content: "\f061";
  margin-left: min(0.78125vw, 10px);
  font-family: "Font Awesome 6 Free";
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .main .contents__section h3:has(+ .category__list)::after {
    margin-left: 2.4154589372vw;
  }
}
@media (any-hover: hover) {
  .main .contents__section h3:has(+ .category__list) a:hover {
    text-decoration: underline;
  }
}
.main .contents__section .download__list {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: min(1.5625vw, 20px);
  list-style-type: none;
  padding: 0;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .main .contents__section .download__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.4492753623vw;
  }
}
.main .contents__section .download__list li {
  padding: 0;
  margin: 0;
}
.main .contents__section .download__list li a {
  display: grid;
  place-content: center;
  box-sizing: border-box;
  height: 100%;
  padding: min(0.78125vw, 10px);
  border: min(0.078125vw, 1px) solid #cf1225;
  border-radius: min(0.78125vw, 10px);
  background-color: transparent;
  text-align: center;
  font-weight: 400;
  color: #333;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .main .contents__section .download__list li a {
    padding: 2.4154589372vw 1.2077294686vw;
    border: 0.2415458937vw solid #cf1225;
    border-radius: 1.2077294686vw;
    font-size: 2.8985507246vw;
  }
}
.main .contents__section .download__list li a::before {
  width: 105%;
  background-color: #cf1225;
}
.main .contents__section .download__list li a::after {
  position: relative;
  z-index: 3;
  content: "";
  width: min(1.796875vw, 23px);
  height: min(2.34375vw, 30px);
  margin: min(0.390625vw, 5px) auto min(0.46875vw, 6px);
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .main .contents__section .download__list li a::after {
    width: 4.8309178744vw;
    height: 6.3043478261vw;
    margin: 1.9323671498vw auto 0.9661835749vw;
  }
}
@media (any-hover: hover) {
  .main .contents__section .download__list li a:hover {
    color: #fff;
  }
}
.main .contents__section .download__list li a[href$=".pdf"]::after, .main .contents__section .download__list li a.--pdf::after {
  background-image: url(../img/icon_dl_pdf.png);
}
.main .contents__section .download__list li a[href$=".dxf"]::after, .main .contents__section .download__list li a.--dxf::after {
  background-image: url(../img/icon_dl_dxf.png);
}
.main .contents__section .download__list li a[href$=".zip"]::after, .main .contents__section .download__list li a.--zip::after {
  background-image: url(../img/icon_dl_zip.png);
}
.main .contents__section .contact__wrap {
  margin-top: min(7.03125vw, 90px);
  padding: min(0.78125vw, 10px) 0 min(2.734375vw, 35px);
  background-color: #eaeaea;
}
@media screen and (max-width: 767px) {
  .main .contents__section .contact__wrap {
    margin-top: 9.6618357488vw;
    padding: 2.4154589372vw 0 7.2463768116vw;
  }
}
.main .contents__section .contact__title {
  font-size: min(1.25vw, 16px);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .main .contents__section .contact__title {
    font-size: 3.3816425121vw;
  }
}
.main .contents__section .contact__list {
  display: flex;
  justify-content: center;
  gap: min(3.125vw, 40px);
  padding: 0;
  margin: min(1.953125vw, 25px) 0 0;
}
@media screen and (max-width: 767px) {
  .main .contents__section .contact__list {
    flex-wrap: wrap;
    gap: 3.6231884058vw;
    margin-top: 4.8309178744vw;
  }
}
.main .contents__section .contact__list li {
  list-style-type: none;
  width: min(25.78125vw, 330px);
  padding: 0;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .main .contents__section .contact__list li {
    width: 77.2946859903vw;
  }
}
.main .contents__section .contact__list li a.contact__link--faq {
  padding: min(1.5625vw, 20px) 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .main .contents__section .contact__list li a.contact__link--faq {
    padding: 4.347826087vw 0;
  }
}
.main .contents__section .contact__list li a.contact__link--faq::after {
  content: "\f105";
  position: absolute;
  top: 50%;
  right: min(0.78125vw, 10px);
  z-index: 1;
  transform: translateY(-50%);
  font-family: "Font Awesome 6 Free";
  font-size: min(0.9375vw, 12px);
  font-weight: 600;
  color: currentColor;
  transition: color 0.2s ease;
}
@media screen and (max-width: 767px) {
  .main .contents__section .contact__list li a.contact__link--faq::after {
    right: 1.4492753623vw;
    font-size: 2.4154589372vw;
  }
}
.main .contents__section .contact__list li a.contact__link--contact {
  padding: min(1.5625vw, 20px) 0;
  border: min(0.078125vw, 1px) solid #cf1225;
  background-color: #fff;
  color: #cf1225;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .main .contents__section .contact__list li a.contact__link--contact {
    padding: 4.347826087vw 0;
    border: 0.2415458937vw solid #cf1225;
  }
}
.main .contents__section .contact__list li a.contact__link--contact::before {
  background-color: #cf1225;
}
@media (any-hover: hover) {
  .main .contents__section .contact__list li a.contact__link--contact:hover {
    color: #fff;
  }
}
.main .contents__section .contact__list li a.contact__link--contact span::before {
  content: "\f0e0";
  display: inline-block;
  padding-right: min(0.78125vw, 10px);
  font-family: "Font Awesome 6 Free";
}
@media screen and (max-width: 767px) {
  .main .contents__section .contact__list li a.contact__link--contact span::before {
    padding-right: 2.4154589372vw;
  }
}
.main .contents__section .news__list {
  display: grid;
  padding: 0;
  margin: 0;
  list-style-type: none;
  border-top: min(0.078125vw, 1px) solid #9c9c9c;
}
.main .contents__section .news__list li a {
  display: grid;
  grid-template-columns: min(11.71875vw, 150px) min(11.328125vw, 145px) auto;
  gap: min(1.953125vw, 25px);
  padding-block: min(1.5625vw, 20px);
  border-bottom: min(0.078125vw, 1px) solid #9c9c9c;
  text-decoration: none;
  color: #333;
}
@media screen and (max-width: 767px) {
  .main .contents__section .news__list li a {
    grid-template: "cat date" auto "title title" auto/1fr 1fr;
    gap: 1.2077294686vw 4.8309178744vw;
    padding-block: 3.6231884058vw;
  }
}
.main .contents__section .news__list li a span {
  padding-block: min(0.234375vw, 3px);
  font-size: min(1.40625vw, 18px);
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .main .contents__section .news__list li a span {
    padding-block: 0.4830917874vw;
    font-size: 3.6231884058vw;
  }
}
@media screen and (max-width: 767px) {
  .main .contents__section .news__list li a span:nth-child(1) {
    grid-area: cat;
  }
}
.main .contents__section .news__list li a span:nth-child(1) span {
  display: block;
  background-color: #cf1125;
  color: #fff;
  font-size: min(1.25vw, 16px);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .main .contents__section .news__list li a span:nth-child(1) span {
    font-size: 3.3816425121vw;
  }
}
@media screen and (max-width: 767px) {
  .main .contents__section .news__list li a span:nth-child(2) {
    grid-area: date;
    align-self: center;
  }
}
@media screen and (max-width: 767px) {
  .main .contents__section .news__list li a span:nth-child(3) {
    grid-area: title;
  }
}
@media (any-hover: hover) {
  .main .contents__section .news__list li a:hover span:nth-child(3) {
    text-decoration: underline;
  }
}
.main .contents__section .topics__list {
  display: grid;
  padding: 0;
  margin: 0;
  list-style-type: none;
  border-top: min(0.078125vw, 1px) solid #9c9c9c;
}
.main .contents__section .topics__list li a {
  display: grid;
  grid-template-columns: min(11.71875vw, 150px) auto;
  gap: min(1.953125vw, 25px);
  padding-block: min(1.5625vw, 20px);
  border-bottom: min(0.078125vw, 1px) solid #9c9c9c;
  text-decoration: none;
  color: #333;
}
@media screen and (max-width: 767px) {
  .main .contents__section .topics__list li a {
    grid-template: "cat date" auto "title title" auto/1fr 1fr;
    gap: 1.2077294686vw 4.8309178744vw;
    padding-block: 3.6231884058vw;
  }
}
.main .contents__section .topics__list li a span {
  padding-block: min(0.234375vw, 3px);
  font-size: min(1.40625vw, 18px);
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .main .contents__section .topics__list li a span {
    padding-block: 0.4830917874vw;
    font-size: 3.6231884058vw;
  }
}
@media screen and (max-width: 767px) {
  .main .contents__section .topics__list li a span:nth-child(1) {
    grid-area: cat;
  }
}
.main .contents__section .topics__list li a span:nth-child(1) span {
  display: block;
  background-color: #cf1125;
  color: #fff;
  font-size: min(1.25vw, 16px);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .main .contents__section .topics__list li a span:nth-child(1) span {
    font-size: 3.3816425121vw;
  }
}
@media screen and (max-width: 767px) {
  .main .contents__section .topics__list li a span:nth-child(2) {
    grid-area: title;
  }
}
@media (any-hover: hover) {
  .main .contents__section .topics__list li a:hover span:nth-child(2) {
    text-decoration: underline;
  }
}
.main .contents__section .sitemap > ul {
  list-style-type: none;
  padding: min(3.125vw, 40px) 0;
  margin: 0;
  display: grid;
  gap: min(4.6875vw, 60px);
}
@media screen and (max-width: 767px) {
  .main .contents__section .sitemap > ul {
    padding: 0 0 9.6618357488vw;
    gap: 12.077294686vw;
  }
}
.main .contents__section .sitemap > ul > li > a {
  display: block;
  padding-bottom: min(0.78125vw, 10px);
  border-bottom: min(0.15625vw, 2px) solid #cf1125;
  font-size: min(1.5625vw, 20px);
  font-weight: 500;
  color: #cf1125;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .main .contents__section .sitemap > ul > li > a {
    padding-bottom: 2.4154589372vw;
    border-bottom: 0.4830917874vw solid #cf1125;
    font-size: 4.347826087vw;
  }
}
.main .contents__section .sitemap > ul > li > a::after {
  content: "\f061";
  margin-left: min(1.171875vw, 15px);
  font-family: "Font Awesome 6 Free";
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .main .contents__section .sitemap > ul > li > a::after {
    margin-left: 2.4154589372vw;
  }
}
.main .contents__section .sitemap > ul > li > ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.main .contents__section .sitemap > ul > li > ul:has(ul) {
  padding-left: min(3.90625vw, 50px);
}
@media screen and (max-width: 767px) {
  .main .contents__section .sitemap > ul > li > ul:has(ul) {
    padding-left: 4.8309178744vw;
  }
}
.main .contents__section .sitemap > ul > li > ul:has(ul) > li {
  padding-top: min(3.90625vw, 50px);
}
@media screen and (max-width: 767px) {
  .main .contents__section .sitemap > ul > li > ul:has(ul) > li {
    padding-top: 7.2463768116vw;
  }
}
.main .contents__section .sitemap > ul > li > ul:has(ul) > li > a {
  display: block;
  padding-bottom: min(0.78125vw, 10px);
  border-bottom: min(0.078125vw, 1px) solid #9c9c9c;
  font-size: min(1.40625vw, 18px);
  font-weight: 500;
  color: #cf1125;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .main .contents__section .sitemap > ul > li > ul:has(ul) > li > a {
    padding-bottom: 2.4154589372vw;
    border-bottom: 0.2415458937vw solid #9c9c9c;
    font-size: 3.8647342995vw;
  }
}
.main .contents__section .sitemap > ul > li > ul:has(ul) > li > a::after {
  content: "\f061";
  margin-left: min(1.09375vw, 14px);
  font-family: "Font Awesome 6 Free";
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .main .contents__section .sitemap > ul > li > ul:has(ul) > li > a::after {
    margin-left: 2.4154589372vw;
  }
}
.main .contents__section .sitemap > ul > li > ul:has(ul) > li > ul {
  list-style-type: none;
  padding: min(2.34375vw, 30px) 0 0 min(0.625vw, 8px);
  margin: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(1.953125vw, 25px);
}
@media screen and (max-width: 767px) {
  .main .contents__section .sitemap > ul > li > ul:has(ul) > li > ul {
    padding-top: 4.8309178744vw;
    padding-left: 1.9323671498vw;
    grid-template-columns: 1fr;
    gap: 3.6231884058vw;
  }
}
.main .contents__section .sitemap > ul > li > ul:has(ul) > li > ul > li {
  position: relative;
  padding-left: min(1.5625vw, 20px);
}
@media screen and (max-width: 767px) {
  .main .contents__section .sitemap > ul > li > ul:has(ul) > li > ul > li {
    padding-left: 4.8309178744vw;
  }
}
.main .contents__section .sitemap > ul > li > ul:has(ul) > li > ul > li::before {
  content: "\f105";
  position: absolute;
  top: 0;
  left: 0;
  font-family: "Font Awesome 6 Free";
  font-size: min(1.09375vw, 14px);
  font-weight: 900;
  color: #e16a78;
}
@media screen and (max-width: 767px) {
  .main .contents__section .sitemap > ul > li > ul:has(ul) > li > ul > li::before {
    font-size: 3.3816425121vw;
  }
}
.main .contents__section .sitemap > ul > li > ul:has(ul) > li > ul > li > a {
  display: block;
  font-size: min(1.25vw, 16px);
  font-weight: 400;
  color: #333;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .main .contents__section .sitemap > ul > li > ul:has(ul) > li > ul > li > a {
    font-size: 3.3816425121vw;
  }
}
.main .contents__section .sitemap > ul > li > ul:not(:has(ul)) {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(2.34375vw, 30px);
  padding-top: min(1.953125vw, 25px);
  padding-left: min(0.625vw, 8px);
}
@media screen and (max-width: 767px) {
  .main .contents__section .sitemap > ul > li > ul:not(:has(ul)) {
    padding-top: 4.8309178744vw;
    padding-left: 1.9323671498vw;
    grid-template-columns: 1fr;
    gap: 3.6231884058vw;
  }
}
.main .contents__section .sitemap > ul > li > ul:not(:has(ul)) > li {
  position: relative;
  padding-left: min(1.5625vw, 20px);
}
@media screen and (max-width: 767px) {
  .main .contents__section .sitemap > ul > li > ul:not(:has(ul)) > li {
    padding-left: 4.8309178744vw;
  }
}
.main .contents__section .sitemap > ul > li > ul:not(:has(ul)) > li::before {
  content: "\f105";
  position: absolute;
  top: 0;
  left: 0;
  font-family: "Font Awesome 6 Free";
  font-size: min(1.09375vw, 14px);
  font-weight: 900;
  color: #e16a78;
}
@media screen and (max-width: 767px) {
  .main .contents__section .sitemap > ul > li > ul:not(:has(ul)) > li::before {
    font-size: 3.3816425121vw;
  }
}
.main .contents__section .sitemap > ul > li > ul:not(:has(ul)) > li > a {
  display: block;
  font-size: min(1.25vw, 16px);
  font-weight: 400;
  color: #333;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .main .contents__section .sitemap > ul > li > ul:not(:has(ul)) > li > a {
    font-size: 3.3816425121vw;
  }
}
.main .contents__section .sitemap a {
  line-height: 1.4;
}
@media (any-hover: hover) {
  .main .contents__section .sitemap a span:hover {
    text-decoration: underline !important;
  }
}
.main .contents__block.--col--2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 min(2.34375vw, 30px);
}
@media screen and (max-width: 767px) {
  .main .contents__block.--col--2 {
    display: block;
  }
}
.main .contents__block-inner :first-child {
  margin-top: 0;
}
.main .contents .post_content {
  margin-top: min(2.34375vw, 30px);
  font-size: min(1.40625vw, 18px);
  line-height: 1.8;
  font-weight: 400;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .main .contents .post_content {
    margin-top: 2.4154589372vw;
    font-size: 3.6231884058vw;
  }
}
.main .contents .post_content .wp-block-columns {
  line-height: 1.8;
}
.main .contents .post_content .wp-block-table table {
  border-collapse: collapse;
}
.main .contents .post_content .wp-block-table table th {
  background-color: #f5f2f2;
  border: 1px solid #c9c9c9;
  font-weight: 500;
}
.main .contents .post_content .wp-block-table table td {
  border: 1px solid #c9c9c9;
}
.main .contents .post_content .wp-block-table.table--row-line table {
  border-collapse: collapse;
}
.main .contents .post_content .wp-block-table.table--row-line table th {
  background-color: transparent;
  border: none;
  border-block: 1px solid #c9c9c9;
}
.main .contents .post_content .wp-block-table.table--row-line table td {
  border: none;
  border-block: 1px solid #c9c9c9;
}
.main .contents .products_search {
  width: min(78.125vw, 1000px);
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .main .contents .products_search {
    width: 100%;
  }
}
.main .contents .products_search form {
  margin: 0 0 min(3.90625vw, 50px);
}
@media screen and (max-width: 767px) {
  .main .contents .products_search form {
    margin: 0 0 9.6618357488vw !important;
  }
}
.main .contents .products_search .vkfs__labels {
  display: grid;
  gap: min(1.5625vw, 20px);
}
@media screen and (max-width: 767px) {
  .main .contents .products_search .vkfs__labels {
    gap: 2.4154589372vw;
  }
}
.main .contents .products_search .vkfs__outer-wrap {
  display: grid;
  grid-template-columns: min(27.34375vw, 350px) auto;
  gap: min(2.34375vw, 30px);
  margin: 0;
  font-size: min(1.40625vw, 18px);
}
@media screen and (max-width: 767px) {
  .main .contents .products_search .vkfs__outer-wrap {
    grid-template-columns: 1fr;
    gap: 2.4154589372vw;
    font-size: 3.3816425121vw;
  }
}
.main .contents .products_search .vkfs__outer-wrap .vkfs__label-name {
  display: block;
  text-align: right;
  align-self: center;
  text-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .main .contents .products_search .vkfs__outer-wrap .vkfs__label-name {
    margin: 0;
    text-align: left;
  }
}
.main .contents .products_search .vkfs__outer-wrap .vkfs__input-wrap input {
  padding: min(1.171875vw, 15px);
}
@media screen and (max-width: 767px) {
  .main .contents .products_search .vkfs__outer-wrap .vkfs__input-wrap input {
    padding: 2.4154589372vw;
  }
}
.main .contents .products_search .vkfs__outer-wrap .vkfs__input-wrap--select {
  padding: min(1.171875vw, 15px);
}
@media screen and (max-width: 767px) {
  .main .contents .products_search .vkfs__outer-wrap .vkfs__input-wrap--select {
    padding: 2.4154589372vw;
  }
}
.main .contents .products_search .vkfs_submit {
  width: min(46.875vw, 600px);
  margin: min(2.34375vw, 30px) auto 0;
  padding: min(0.78125vw, 10px);
  background-color: #fff;
  border: min(0.078125vw, 1px) solid #cf1225;
  box-sizing: border-box;
  font-size: min(1.40625vw, 18px);
  font-weight: 600;
  color: #cf1125;
  letter-spacing: 0.1em;
  transition: all 0.2s ease;
}
@media screen and (max-width: 767px) {
  .main .contents .products_search .vkfs_submit {
    width: 43.4782608696vw;
    margin: 4.8309178744vw auto 0;
    padding: 1.9323671498vw;
    border: 0.2415458937vw solid #cf1225;
    font-size: 3.3816425121vw;
  }
}
@media (any-hover: hover) {
  .main .contents .products_search .vkfs_submit:hover {
    background-color: #cf1225;
    border: min(0.078125vw, 1px) solid #cf1225;
    color: #fff;
  }
}
.main .contents .products_search .vkfs__search-result-title {
  opacity: 0;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  font-size: min(1.875vw, 24px);
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .main .contents .products_search .vkfs__search-result-title {
    font-size: 4.347826087vw;
  }
}
.main .contents .products_search .vkfs__search-result-count {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.main .contents .products_search .products_search_check {
  display: none;
}
.main .contents .products_search .products_search_check:is(.vkfs__search-result-count + *) {
  display: block;
  margin-top: min(1.5625vw, 20px);
  margin-bottom: min(3.90625vw, 50px);
}
@media screen and (max-width: 767px) {
  .main .contents .products_search .products_search_check:is(.vkfs__search-result-count + *) {
    margin-top: 2.4154589372vw;
    margin-bottom: 7.2463768116vw;
  }
}
.main .contents .products_search .products_search_check:is(.vkfs__search-result-count + *) label {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  font-size: min(1.40625vw, 18px);
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .main .contents .products_search .products_search_check:is(.vkfs__search-result-count + *) label {
    font-size: 3.3816425121vw;
  }
}
.main .contents .products_search .products_search_check:is(.vkfs__search-result-count + *) label input {
  margin-right: min(0.78125vw, 10px);
  margin-top: max(-0.3125vw, -4px);
  width: min(1.875vw, 24px);
  height: min(1.875vw, 24px);
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .main .contents .products_search .products_search_check:is(.vkfs__search-result-count + *) label input {
    margin-right: 2.4154589372vw;
    margin-top: -0.9661835749vw;
    width: 4.8309178744vw;
    height: 4.8309178744vw;
  }
}
.main .contents .products_search_top {
  padding: min(1.5625vw, 20px) 0 min(0.078125vw, 1px);
  background-color: #eaeaea;
}
@media screen and (max-width: 767px) {
  .main .contents .products_search_top {
    padding: 3.6231884058vw 3.6231884058vw 0.2415458937vw;
  }
}
.main .contents .products_search_result .product__item {
  position: relative;
}
.main .contents .products_search_result .product__item.hide {
  background-color: #e3e3e3;
}
.main .contents .products_search_result .product__item.hide figure {
  mix-blend-mode: multiply;
}
.main .contents .products_search_result .product__item h3 {
  margin-inline: min(0.546875vw, 7px);
}
@media screen and (max-width: 767px) {
  .main .contents .products_search_result .product__item h3 {
    margin-inline: 1.690821256vw;
  }
}
.main .contents .products_search_result .product__item .product__info {
  margin: 0 min(0.78125vw, 10px) min(0.78125vw, 10px);
}
@media screen and (max-width: 767px) {
  .main .contents .products_search_result .product__item .product__info {
    margin: 0 2.4154589372vw 2.4154589372vw;
  }
}
.main .contents .products_search_result .product__item .product__status {
  position: absolute;
  top: min(0.46875vw, 6px);
  right: min(0.46875vw, 6px);
  width: -moz-fit-content;
  width: fit-content;
  padding: min(0.390625vw, 5px) min(0.78125vw, 10px);
  background-color: #333;
  color: #fff;
  font-size: min(0.9375vw, 12px);
  line-height: 1;
  letter-spacing: 0.1em;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .main .contents .products_search_result .product__item .product__status {
    top: 1.2077294686vw;
    right: 1.2077294686vw;
    padding: 1.2077294686vw 2.4154589372vw;
    font-size: 2.6570048309vw;
  }
}
.main .contents #gcse-container th,
.main .contents #gcse-container td {
  border: none;
  padding: 0;
}
.main .contents #gcse-container .gsc-selected-option {
  width: 80px;
}
.main .contents #gcse-container .gsc-input-box input {
  padding: 4px 12px !important;
  background-position: 15px center !important;
}
@media screen and (max-width: 767px) {
  .main .contents #gcse-container .gsc-input-box input {
    padding: 2px 12px !important;
  }
}
.main .contents #gcse-container button.gsc-search-button svg {
  width: 20px;
  height: 20px;
}
.main .contents #gcse-container .gsc-wrapper {
  margin-top: 20px;
}
.main .contents #gcse-container .gsc-control-cse,
.main .contents #gcse-container .gsc-control-cse .gsc-table-result {
  font-family: inherit;
  font-size: 16px;
}
.main .contents #gcse-container .gsc-control-cse .gs-spelling,
.main .contents #gcse-container .gsc-control-cse .gs-result .gs-title,
.main .contents #gcse-container .gsc-control-cse .gs-result .gs-title * {
  font-size: 18px;
  font-weight: 600;
}
.main .nav-contents {
  margin-bottom: min(4.6875vw, 60px);
  padding: min(3.125vw, 40px) 0 min(2.34375vw, 30px);
  background-color: rgba(207, 18, 37, 0.07);
}
@media screen and (max-width: 767px) {
  .main .nav-contents {
    margin-bottom: 7.2463768116vw;
    padding: 4.8309178744vw 3.6231884058vw 3.6231884058vw;
  }
}
.main .nav-contents__inner {
  width: 100%;
  max-width: min(93.75vw, 1200px);
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .main .nav-contents__inner {
    max-width: none;
  }
}
.main .nav-contents__header {
  margin: min(0.390625vw, 5px) 0 min(1.953125vw, 25px);
  font-size: min(1.875vw, 24px);
  line-height: 1.5;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .main .nav-contents__header {
    margin: 0 0 3.6231884058vw;
    font-size: 4.8309178744vw;
  }
}
.main .nav-contents__section {
  font-size: min(1.25vw, 16px);
  line-height: 1.8;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .main .nav-contents__section {
    font-size: 3.3816425121vw;
  }
}
.main .nav-contents__section :first-child {
  margin-top: 0;
}
.main .nav-contents__section figure {
  padding: 0;
  margin: 0;
  line-height: 0;
}
.main .nav-contents__section img {
  width: 100%;
  max-width: 100%;
}
.main .nav-contents__section .h2 {
  margin: min(0.390625vw, 5px) 0 min(1.953125vw, 25px);
  font-size: min(1.875vw, 24px);
  line-height: 1.5;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .main .nav-contents__section .h2 {
    margin: 0 0 3.6231884058vw;
    font-size: 3.8647342995vw;
  }
}
.main .sub-contents {
  margin-bottom: min(4.6875vw, 60px);
  padding: min(3.125vw, 40px) 0 min(3.90625vw, 50px);
  background-color: #eaeaea;
}
@media screen and (max-width: 767px) {
  .main .sub-contents {
    margin-bottom: 7.2463768116vw;
    padding: 4.8309178744vw 3.6231884058vw 7.2463768116vw;
  }
}
.main .sub-contents__inner {
  width: 100%;
  max-width: min(93.75vw, 1200px);
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .main .sub-contents__inner {
    max-width: none;
  }
}
.main .sub-contents__header {
  margin: min(0.390625vw, 5px) 0 min(1.953125vw, 25px);
  font-size: min(1.875vw, 24px);
  line-height: 1.5;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .main .sub-contents__header {
    margin: 0 0 3.6231884058vw;
    font-size: 4.8309178744vw;
  }
}
.main .sub-contents__section {
  font-size: min(1.25vw, 16px);
  line-height: 1.8;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .main .sub-contents__section {
    font-size: 3.3816425121vw;
  }
}
.main .sub-contents__section :first-child {
  margin-top: 0;
}
.main .sub-contents__section figure {
  padding: 0;
  margin: 0;
  line-height: 0;
}
.main .sub-contents__section img {
  width: 100%;
  max-width: 100%;
}
.main .sub-contents__section .h2 {
  margin: min(0.390625vw, 5px) 0 min(1.953125vw, 25px);
  font-size: min(1.875vw, 24px);
  line-height: 1.5;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .main .sub-contents__section .h2 {
    margin: 0 0 3.6231884058vw;
    font-size: 3.8647342995vw;
  }
}
.main .sub-contents__section .info__list {
  display: grid;
  grid-template-columns: repeat(2, min(29.6875vw, 380px));
  place-content: center;
  gap: min(2.34375vw, 30px);
  margin-top: min(2.34375vw, 30px);
}
@media screen and (max-width: 767px) {
  .main .sub-contents__section .info__list {
    grid-template-columns: repeat(2, 44.6859903382vw);
    gap: 3.3816425121vw;
    margin-top: 4.8309178744vw;
  }
}
.main .sub-contents__section .info__item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: min(1.171875vw, 15px);
}
@media screen and (max-width: 767px) {
  .main .sub-contents__section .info__item {
    gap: 2.8985507246vw;
  }
}
.main .sub-contents__section .info__item a {
  display: contents;
  color: #333;
}
@media (any-hover: hover) {
  .main .sub-contents__section .info__item:hover .info__name {
    color: #cf1225;
    text-decoration: underline;
  }
  .main .sub-contents__section .info__item:hover .info__img img {
    transform: scale(1.1);
  }
}
.main .sub-contents__section .info__name {
  order: 2;
  position: relative;
  padding: 0 0 0 min(1.171875vw, 15px);
  margin: 0;
  font-size: min(1.484375vw, 19px);
  font-weight: 700;
  line-height: 1.5;
  color: #cf1225;
}
@media screen and (max-width: 767px) {
  .main .sub-contents__section .info__name {
    padding: 0 0 0 3.1400966184vw;
    font-size: 3.6231884058vw;
  }
}
.main .sub-contents__section .info__name::before {
  display: block;
  content: "\f105";
  position: absolute;
  top: min(0.3125vw, 4px);
  left: 0;
  background: none;
  font-family: "Font Awesome 6 Free";
  font-size: min(1.09375vw, 14px);
  font-weight: 900;
  color: #e16a78;
}
@media screen and (max-width: 767px) {
  .main .sub-contents__section .info__name::before {
    top: 0.7246376812vw;
    font-size: 2.8985507246vw;
  }
}
.main .sub-contents__section .info__img {
  order: 1;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .main .sub-contents__section .info__img {
    padding-bottom: 0.9661835749vw;
  }
}
.main .sub-contents__section .info__img img {
  width: 100%;
  height: 100%;
  aspect-ratio: 680/349;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  transition: transform 0.2s ease;
}
.main .sub-contents__section .info__txt {
  order: 3;
  margin: 0;
  padding: 0;
}
.main .sub-menu {
  margin-bottom: min(5.46875vw, 70px);
}
@media screen and (max-width: 767px) {
  .main .sub-menu {
    margin-bottom: 19.3236714976vw;
  }
}
.main .sub-menu__inner {
  width: 100%;
  max-width: min(93.75vw, 1200px);
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .main .sub-menu__inner {
    box-sizing: border-box;
    max-width: none;
    padding-inline: 3.6231884058vw;
  }
}
.main .sub-menu__title {
  padding-bottom: min(1.171875vw, 15px);
  margin-bottom: 0;
  border-bottom: 1px solid #cf1125;
  font-size: min(1.5625vw, 20px);
  font-weight: 600;
  color: #cf1125;
}
@media screen and (max-width: 767px) {
  .main .sub-menu__title {
    padding-bottom: 3.6231884058vw;
    font-size: 4.8309178744vw;
  }
}
.main .sub-menu__title a {
  color: currentColor;
  text-decoration: none;
}
@media (any-hover: hover) {
  .main .sub-menu__title a:hover {
    text-decoration: underline;
  }
}
.main .sub-menu ul {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, min(21.6796875vw, 277.5px));
  gap: 0 min(2.34375vw, 30px);
  padding-left: 0;
  margin: 0;
  font-size: min(1.09375vw, 14px);
  color: #333;
}
@media screen and (max-width: 767px) {
  .main .sub-menu ul {
    display: block;
    font-size: 3.3816425121vw;
  }
}
.main .sub-menu ul > li a {
  display: block;
  height: 100%;
  color: #333;
  text-decoration: none;
}
@media (any-hover: hover) {
  .main .sub-menu ul > li a:hover {
    text-decoration: underline;
  }
}
.main .sub-menu__list > li {
  border-bottom: 1px solid #c9c9c9;
}
.main .sub-menu__list > li > a,
.main .sub-menu__list > li > span {
  display: block;
  padding: min(1.171875vw, 15px);
}
@media screen and (max-width: 767px) {
  .main .sub-menu__list > li > a,
  .main .sub-menu__list > li > span {
    padding: 3.6231884058vw;
  }
}
.main .sub-menu__list > li > a.--current,
.main .sub-menu__list > li > span.--current {
  background-color: #eaeaea;
}
@media screen and (max-width: 767px) {
  .main .sub-menu__list > li > ul {
    margin-bottom: -1px;
    border-top: 1px solid #c9c9c9;
    background-color: #f4f4f4;
  }
  .main .sub-menu__list > li > ul > li {
    border-bottom: 1px solid #c9c9c9;
  }
  .main .sub-menu__list > li > ul > li > a,
  .main .sub-menu__list > li > ul > li > span {
    display: block;
    padding: 3.1400966184vw 3.6231884058vw 3.1400966184vw 7.2463768116vw;
  }
  .main .sub-menu__list > li > ul > li > a.--current,
  .main .sub-menu__list > li > ul > li > span.--current {
    font-weight: 900;
  }
}
.main .sub-menu .child-menu ul {
  padding: min(1.171875vw, 15px) 0;
  background-color: #f4f4f4;
}
.main .sub-menu .child-menu ul li a,
.main .sub-menu .child-menu ul li span {
  display: block;
  padding: min(0.625vw, 8px) min(1.171875vw, 15px);
  color: #333;
}
.main .sub-menu .child-menu ul li a.--current,
.main .sub-menu .child-menu ul li span.--current {
  font-weight: 900;
}

.footer {
  margin-top: auto;
  position: relative;
  background-color: #707070;
}
.footer * {
  box-sizing: content-box;
}
.footer__nav--main {
  border-bottom: min(0.078125vw, 1px) solid #c9c9c9;
}
@media screen and (max-width: 767px) {
  .footer__nav--main {
    display: none;
  }
}
.footer__nav--main .footer__inner {
  max-width: min(93.75vw, 1200px);
  margin-inline: auto;
  padding-block: min(0.78125vw, 10px);
}
@media screen and (max-width: 767px) {
  .footer__nav--main .footer__inner {
    max-width: none;
    padding-block: 3.6231884058vw;
  }
}
.footer__nav--main nav {
  padding-block: min(3.90625vw, 50px);
}
.footer__nav--main nav > ul {
  border-bottom: min(0.078125vw, 1px) solid #9c9c9c;
}
.footer__nav--main nav > ul > li {
  display: grid;
  grid-template-columns: calc((100% - min(9.375vw, 120px)) / 5) auto;
  gap: min(2.34375vw, 30px);
  padding-block: min(2.34375vw, 30px);
  border-top: min(0.078125vw, 1px) solid #9c9c9c;
}
.footer__nav--main nav > ul > li > ul {
  display: grid;
  grid-template-columns: repeat(4, calc((100% - min(7.03125vw, 90px)) / 4));
  gap: min(1.171875vw, 15px) min(2.34375vw, 30px);
}
.footer__nav--main a {
  display: inline-block;
  font-size: min(1.09375vw, 14px);
  color: #fff;
  text-decoration: none;
  font-weight: 400;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .footer__nav--main a {
    font-size: 3.3816425121vw;
  }
}
@media (any-hover: hover) {
  .footer__nav--main a:hover {
    text-decoration: underline;
  }
}
.footer__nav--sub .footer__inner {
  display: flex;
  justify-content: space-between;
  max-width: min(93.75vw, 1200px);
  margin-inline: auto;
  padding-block: min(0.78125vw, 10px);
}
@media screen and (max-width: 767px) {
  .footer__nav--sub .footer__inner {
    display: block;
    max-width: none;
    padding-block: 3.6231884058vw;
  }
}
.footer__nav--sub nav {
  align-self: center;
  display: flex;
  gap: min(2.34375vw, 30px);
}
@media screen and (max-width: 767px) {
  .footer__nav--sub nav {
    justify-content: center;
    gap: 4.8309178744vw;
  }
}
.footer__nav--sub nav ul {
  display: contents;
  list-style-type: none;
}
.footer__nav--sub nav ul li {
  align-self: center;
}
.footer__nav--sub nav ul li a {
  font-size: min(1.09375vw, 14px);
  color: #fff;
  text-decoration: none;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .footer__nav--sub nav ul li a {
    font-size: 3.3816425121vw;
  }
}
@media (any-hover: hover) {
  .footer__nav--sub nav ul li a:hover {
    text-decoration: underline;
  }
}
.footer__nav--sub p {
  align-self: center;
  margin-block: min(1.09375vw, 14px);
  font-size: min(1.09375vw, 14px);
  color: #fff;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .footer__nav--sub p {
    margin: 4.8309178744vw 0 0;
    font-size: 2.8985507246vw;
    text-align: center;
  }
}
.footer__nav--sub p br {
  display: none;
}
@media screen and (max-width: 767px) {
  .footer__nav--sub p br {
    display: inline-block;
  }
}

.top-btn {
  position: fixed;
  bottom: min(3.515625vw, 45px);
  right: min(3.125vw, 40px);
  width: min(3.90625vw, 50px);
  height: min(3.90625vw, 50px);
  border: 1px solid #cf1125;
  border-radius: 100vmax;
  background-color: #fff;
  cursor: pointer;
  z-index: 10;
  display: none;
}
@media screen and (max-width: 767px) {
  .top-btn {
    bottom: 9.6618357488vw;
    right: 3.6231884058vw;
    width: 11.5942028986vw;
    height: 11.5942028986vw;
  }
}
.top-btn::before {
  content: "\f106";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  font-family: "Font Awesome 6 Free";
  font-size: min(1.875vw, 24px);
  font-weight: 600;
  color: #cf1125;
  transition: top 0.2s;
}
@media screen and (max-width: 767px) {
  .top-btn::before {
    font-size: 4.8309178744vw;
  }
}
@media (any-hover: hover) {
  .top-btn:hover::before {
    top: calc(50% - min(0.390625vw, 5px));
  }
}

/*#cookie-notice {
    background-color: rgba(#333, 0.8) !important;

    .cookie-notice-container {
        padding: px(40) px(30) !important;
        font-size: px(18) !important;
        line-height: 1.5 !important;

        #cn-notice-buttons {
            display: block !important;
            padding-top: px(10) !important;

            a {
                font-size: px(18) !important;
                margin-left: 0 !important;
                padding: px(8) px(20) !important;
            }
        }
        #cn-close-notice {
            opacity: 0.8 !important;

            &::before {
                background-color: #ccc !important;
            }
            &::after {
                background-color: #ccc !important;
            }
        }
    }
}*//*# sourceMappingURL=common.css.map */