@charset "UTF-8";
:root {
  --color-black: #333;
  --color-light-black: #575757;
  --color-dark-black: #090909;
  --color-pure-black: #000;
  --color-white: #fff;
  --color-gray: #c9c9c9;
  --color-light-gray: #efefef;
  --color-dark-gray: #909090;
  --color-dark-gray-2: #8e8e8e;
}

.footer-2024 {
  margin-top: auto;
}
.footer-2024__nav-area {
  padding: 60px 0;
  background: var(--color-dark-black);
  border-bottom: 1px solid var(--color-white);
  position: relative;
  transform: skew(0deg, -5deg);
  transform-origin: left top;
  z-index: 2;
}
.footer-2024__nav-area.--skew {
  transform: skew(0, -5deg);
}
.footer-2024__nav-area.--skew > div {
  transform: skew(0, 5deg);
}
@media screen and (max-width: 767px) {
  .footer-2024__nav-area {
    padding-top: calc(var(--screen-width) * 0.0874886635 + 60px);
  }
}
.footer-2024__policy {
  padding: 60px 0;
  background: var(--color-dark-black);
  margin-top: min(1180px * 0.0874886635 * -1, var(--screen-width) * 0.0874886635 * -1);
  padding-top: max(1180px * 0.0874886635 + 90px, var(--screen-width) * 0.0874886635 + 90px);
}
.footer-2024__policy.--skew {
  transform: skew(0, -5deg);
}
.footer-2024__policy.--skew > div {
  transform: skew(0, 5deg);
}
@media screen and (max-width: 767px) {
  .footer-2024__policy {
    margin-top: calc(var(--screen-width) * 0.0874886635 * -1);
    padding-top: calc(var(--screen-width) * 0.0874886635 + 50px);
    padding-bottom: 50px;
  }
}
.footer-2024__inner {
  height: -moz-fit-content;
  height: fit-content;
  margin: 0 auto;
  max-width: 1100px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .footer-2024__inner {
    width: 82.98%;
  }
}
.footer-2024__inner.--wide {
  max-width: 1180px;
}
@media screen and (max-width: 767px) {
  .footer-2024__inner.--wide {
    width: 100%;
  }
}
.footer-2024__inner.--full {
  max-width: none;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .footer-2024__inner.--full {
    width: 100%;
  }
}
.footer-2024__nav-list {
  display: grid;
  grid-auto-flow: column;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(3, 1fr);
  transform: skew(0deg, -5deg);
  transform-origin: center;
  gap: 42px 114px;
}
@media screen and (max-width: 767px) {
  .footer-2024__nav-list {
    gap: 40px;
    grid-auto-flow: initial;
    grid-template-columns: 1fr;
    grid-template-rows: initial;
    transform-origin: left;
  }
}
.footer-2024__sns-list {
  align-items: center;
  display: flex;
  margin-top: 40px;
  justify-content: center;
  gap: 12px;
}
@media screen and (max-width: 767px) {
  .footer-2024__sns-list {
    gap: 18px;
  }
}
.footer-2024__sns-item {
  min-width: 40px;
}
.footer-2024__sns-link {
  align-items: center;
  display: flex;
  justify-content: center;
  transition: 0.3s;
}
@media (hover: hover) {
  .footer-2024__sns-link:where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.8;
  }
  .footer-2024__sns-link:where(:any-link, :enabled, summary):hover {
    opacity: 0.8;
  }
}
.footer-2024__sns-icon {
  fill: var(--color-white);
  width: 32px;
}
.footer-2024__contents {
  align-items: center;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .footer-2024__contents {
    flex-direction: column;
    gap: 50px;
  }
}
.footer-2024__copy-wrap {
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  .footer-2024__copy-wrap {
    text-align: center;
  }
}
.footer-2024__copy {
  color: var(--color-white);
  font: 400 9px/1.4444444444 "Noto Sans JP", "sans-serif";
}
.footer-2024__policy-link {
  color: var(--color-white);
  font: 700 13px/1.4615384615 "Noto Sans JP", "sans-serif";
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .footer-2024__policy-link {
    font: 400 13px/1.4615384615 "Noto Sans JP", "sans-serif";
    margin-bottom: 5px;
  }
}
@media (hover: hover) {
  .footer-2024__policy-link:where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.8;
  }
  .footer-2024__policy-link:where(:any-link, :enabled, summary):hover {
    opacity: 0.8;
  }
}
.footer-2024__logo {
  width: 142.583px;
  padding: 16px 0;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .footer-2024__logo {
    width: 100px;
    padding: 0;
  }
}
@media (hover: hover) {
  .footer-2024__logo:where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.8;
  }
  .footer-2024__logo:where(:any-link, :enabled, summary):hover {
    opacity: 0.8;
  }
}

.header-2024 {
  position: sticky;
  top: 0;
  z-index: 30;
}
.header-2024 svg path {
  fill: var(--color-pure-black);
}
.header-2024 .parts-btn {
  background: var(--color-pure-black) !important;
  color: var(--color-white) !important;
  margin: 30px 0;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .header-2024 .parts-btn {
    display: none;
  }
}
@media (hover: hover) {
  .header-2024 .parts-btn:where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.8;
    background: var(--color-pure-black) !important;
    color: var(--color-white) !important;
    opacity: 0.8 !important;
    transform: initial;
  }
  .header-2024 .parts-btn:where(:any-link, :enabled, summary):hover {
    opacity: 0.8;
    background: var(--color-pure-black) !important;
    color: var(--color-white) !important;
    opacity: 0.8 !important;
    transform: initial;
  }
}
.header-2024__inner {
  height: -moz-fit-content;
  height: fit-content;
  margin: 0 auto;
  max-width: 1100px;
  width: 100%;
  transform: initial;
}
@media screen and (max-width: 767px) {
  .header-2024__inner {
    width: 82.98%;
  }
}
.header-2024__inner.--wide {
  max-width: 1180px;
}
@media screen and (max-width: 767px) {
  .header-2024__inner.--wide {
    width: 100%;
  }
}
.header-2024__inner.--full {
  max-width: none;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .header-2024__inner.--full {
    width: 100%;
  }
}
.header-2024__header {
  position: absolute;
  top: 0;
  width: 100%;
  height: 0;
  z-index: 30;
}
.header-2024__logo {
  position: absolute;
  height: auto;
  top: 0;
  left: 40px;
  width: 142.583px;
  margin: 15px 0;
  padding: 15px 0;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .header-2024__logo {
    padding: 0;
    width: 100px;
  }
}
@media (hover: hover) {
  .header-2024__logo:where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.8;
  }
  .header-2024__logo:where(:any-link, :enabled, summary):hover {
    opacity: 0.8;
  }
}
.header-2024__nav {
  align-items: center;
  display: flex;
  justify-content: space-between;
}
.header-2024__nav-right {
  position: absolute;
  height: auto;
  top: 0;
  right: 40px;
  display: flex;
  align-items: center;
  gap: 20px;
}
.header-2024__hamb-checkbox {
  display: none;
}
.header-2024__hamb-checkbox:checked ~ .header-2024__hamb-menu {
  transform: translateY(0%);
  opacity: 1;
  transition: opacity 0.4s ease, transform 0s ease;
}
.header-2024__hamb-checkbox:checked ~ .header-2024__header .parts-btn {
  background: var(--color-white) !important;
  color: var(--color-pure-black) !important;
  transition: 0.3s;
}
@media (hover: hover) {
  .header-2024__hamb-checkbox:checked ~ .header-2024__header .parts-btn:where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.8;
    background: var(--color-white) !important;
    color: var(--color-pure-black) !important;
  }
  .header-2024__hamb-checkbox:checked ~ .header-2024__header .parts-btn:where(:any-link, :enabled, summary):hover {
    opacity: 0.8;
    background: var(--color-white) !important;
    color: var(--color-pure-black) !important;
  }
}
.header-2024__hamb-checkbox:checked ~ .header-2024__header .header-2024__hamb-btn::before, .header-2024__hamb-checkbox:checked ~ .header-2024__header .header-2024__hamb-btn::after {
  background: var(--color-white);
}
.header-2024__hamb-checkbox:checked ~ .header-2024__header .header-2024__hamb-btn::after {
  width: 100%;
  transform: rotate(-195deg);
  top: 29px;
}
@media screen and (max-width: 767px) {
  .header-2024__hamb-checkbox:checked ~ .header-2024__header .header-2024__hamb-btn::after {
    top: 19px;
  }
}
.header-2024__hamb-checkbox:checked ~ .header-2024__header .header-2024__hamb-btn::before {
  transform: rotate(195deg);
  top: 29px;
}
@media screen and (max-width: 767px) {
  .header-2024__hamb-checkbox:checked ~ .header-2024__header .header-2024__hamb-btn::before {
    top: 19px;
  }
}
.header-2024__hamb-checkbox:checked ~ .header-2024__header svg path {
  fill: var(--color-white);
}
.header-2024__hamb-btn {
  display: inline-block;
  height: 60px;
  position: relative;
  width: 60px;
  transform: skew(0deg, -5deg);
  transform-origin: right;
}
@media screen and (max-width: 767px) {
  .header-2024__hamb-btn {
    height: 40px;
    width: 40px;
    margin: 15px 0;
  }
}
.header-2024__hamb-btn::after, .header-2024__hamb-btn::before {
  content: "";
  background: var(--color-pure-black);
  height: 2px;
  position: absolute;
  right: 0;
  display: block;
  transition: transform 0.4s ease, width 0.4s ease, top 0.4s ease;
}
.header-2024__hamb-btn::before {
  top: 16px;
  width: 100%;
}
.header-2024__hamb-btn::after {
  top: 33px;
  width: 34px;
}
@media screen and (max-width: 767px) {
  .header-2024__hamb-btn::after {
    top: 26px;
    width: 21px;
  }
}
.header-2024__hamb-menu {
  background: var(--color-dark-black);
  height: 100dvh;
  opacity: 0;
  padding: 141px 0;
  position: absolute;
  top: 0;
  transform: translateY(-100%);
  transition: opacity 0.4s ease, transform 0s 0.5s ease;
  width: 100%;
  overflow-y: auto;
}
@media screen and (max-width: 767px) {
  .header-2024__hamb-menu {
    padding: 120px 0 150px;
    overflow-y: scroll;
    scrollbar-width: none;
  }
}
@media screen and (max-width: 767px) {
  .header-2024__hamb-menu::-webkit-scrollbar {
    display: none;
  }
}
.header-2024__hamb-list {
  display: grid;
  grid-auto-flow: column;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(5, 1fr);
  transform: skew(0deg, -5deg);
  transform-origin: right;
  gap: 42px 114px;
}
@media screen and (max-width: 767px) {
  .header-2024__hamb-list {
    grid-auto-flow: row;
    grid-template-columns: 1fr;
    grid-template-rows: none;
  }
}
.header-2024.--white-header .parts-btn {
  background: var(--color-white) !important;
  color: var(--color-pure-black) !important;
  transition: 0.3s;
}
@media (hover: hover) {
  .header-2024.--white-header .parts-btn:where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.8;
    background: var(--color-white) !important;
    color: var(--color-pure-black) !important;
  }
  .header-2024.--white-header .parts-btn:where(:any-link, :enabled, summary):hover {
    opacity: 0.8;
    background: var(--color-white) !important;
    color: var(--color-pure-black) !important;
  }
}
.header-2024.--white-header .header-2024__hamb-btn::after, .header-2024.--white-header .header-2024__hamb-btn::before {
  background: var(--color-white);
}
.header-2024.--white-header svg path {
  fill: var(--color-white);
}

.parts-btn {
  align-items: center;
  border: 1px solid var(--color-black);
  display: flex;
  font: 700 15px/1.2666666667 "Caudex", "sans-serif";
  gap: 7px;
  letter-spacing: 0.45px;
  padding: 23px 0;
  justify-content: center;
  width: 277px;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .parts-btn {
    font: 700 14px/1.2857142857 "Caudex", "sans-serif";
    letter-spacing: 0.42px;
    padding: 18.5px 0;
    width: 240px;
  }
}
@media (hover: hover) {
  .parts-btn:where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.8;
    color: var(--color-white);
    background: var(--color-dark-black);
    opacity: 1;
    transform: skewY(-5deg);
  }
  .parts-btn:where(:any-link, :enabled, summary):hover {
    opacity: 0.8;
    color: var(--color-white);
    background: var(--color-dark-black);
    opacity: 1;
    transform: skewY(-5deg);
  }
  .parts-btn:where(:-moz-any-link, :enabled, summary):hover .parts-btn__arrow {
    background: var(--color-white);
  }
  .parts-btn:where(:any-link, :enabled, summary):hover .parts-btn__arrow {
    background: var(--color-white);
  }
  .parts-btn:where(:-moz-any-link, :enabled, summary):hover .parts-btn__arrow::after {
    background: var(--color-white);
  }
  .parts-btn:where(:any-link, :enabled, summary):hover .parts-btn__arrow::after {
    background: var(--color-white);
  }
}
.parts-btn.--sm {
  padding: 8px 0;
  width: 138px;
}
@media screen and (max-width: 767px) {
  .parts-btn.--sm {
    width: 120px;
  }
}
.parts-btn.--sm .parts-btn__arrow {
  display: none;
}
.parts-btn.--md {
  padding: 16px 0;
  width: 244px;
}
@media screen and (max-width: 767px) {
  .parts-btn.--md {
    width: 244px;
  }
}
.parts-btn.--skew {
  transform: skew(0, -5deg);
}
.parts-btn__arrow {
  background: var(--color-black);
  display: inline-block;
  width: 18px;
  height: 1px;
  position: relative;
  transition: 0.3s;
}
.parts-btn__arrow::after {
  background: var(--color-black);
  content: "";
  position: absolute;
  width: 8px;
  height: 1px;
  right: 0;
  bottom: 0;
  transform: rotate(30deg);
  transform-origin: right;
  transition: 0.3s;
}
.parts-btn.--bg-white {
  background: var(--color-white);
  color: var(--color-black);
  transition: 0.3s;
}
@media (hover: hover) {
  .parts-btn.--bg-white:where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.8;
    background: var(--color-black);
    color: var(--color-white);
    opacity: 1;
  }
  .parts-btn.--bg-white:where(:any-link, :enabled, summary):hover {
    opacity: 0.8;
    background: var(--color-black);
    color: var(--color-white);
    opacity: 1;
  }
}
.parts-btn.--bg-pure-black {
  background: var(--color-pure-black);
  color: var(--color-white);
  transition: 0.3s;
}
@media (hover: hover) {
  .parts-btn.--bg-pure-black:where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.8;
    background: var(--color-white);
    color: var(--color-pure-black);
    opacity: 1;
  }
  .parts-btn.--bg-pure-black:where(:any-link, :enabled, summary):hover {
    opacity: 0.8;
    background: var(--color-white);
    color: var(--color-pure-black);
    opacity: 1;
  }
}
.parts-btn.--white {
  border: 1px solid var(--color-white);
  color: var(--color-white);
}
.parts-btn.--white .parts-btn__arrow {
  background: var(--color-white);
}
.parts-btn.--white .parts-btn__arrow::after {
  background: var(--color-white);
}

.parts-contact {
  padding: 60px 0;
  align-items: center;
  background-color: var(--color-gray);
  display: flex;
  height: 292px;
  margin-top: 120px;
  position: relative;
  transform: skew(0deg, -5deg);
  transform-origin: left top;
}
.parts-contact.--skew {
  transform: skew(0, -5deg);
}
.parts-contact.--skew > div {
  transform: skew(0, 5deg);
}
@media screen and (max-width: 767px) {
  .parts-contact {
    height: -moz-fit-content;
    height: fit-content;
  }
}
.parts-contact .parts-btn {
  margin-bottom: -48px;
  padding: 16px 0;
  width: 244px;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .parts-contact .parts-btn {
    margin-bottom: 0;
  }
}
@media (hover: hover) {
  .parts-contact .parts-btn:where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.8;
    transform: initial;
  }
  .parts-contact .parts-btn:where(:any-link, :enabled, summary):hover {
    opacity: 0.8;
    transform: initial;
  }
}
.parts-contact__inner {
  height: -moz-fit-content;
  height: fit-content;
  margin: 0 auto;
  max-width: 1100px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .parts-contact__inner {
    width: 82.98%;
  }
}
.parts-contact__inner.--wide {
  max-width: 1180px;
}
@media screen and (max-width: 767px) {
  .parts-contact__inner.--wide {
    width: 100%;
  }
}
.parts-contact__inner.--full {
  max-width: none;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .parts-contact__inner.--full {
    width: 100%;
  }
}
.parts-contact__contents {
  align-items: center;
  display: flex;
  justify-content: space-between;
  position: relative;
}
@media screen and (max-width: 767px) {
  .parts-contact__contents {
    flex-direction: column;
  }
}
.parts-contact__title-wrap {
  margin-top: -48px;
  transform: skew(0deg, -5deg);
  transform-origin: left top;
  width: 289px;
}
@media screen and (max-width: 767px) {
  .parts-contact__title-wrap {
    margin-bottom: 20px;
    margin-top: 0;
    width: 100%;
  }
}
.parts-contact__title.--jp {
  border-bottom: 1px solid var(--color-black);
  font: 700 23px/1.2173913043 "Noto Sans JP", "sans-serif";
  letter-spacing: 0.92px;
  margin-bottom: 8px;
  padding-bottom: 8px;
}
@media screen and (max-width: 767px) {
  .parts-contact__title.--jp {
    font: 700 19px/1.4736842105 "Noto Sans JP", "sans-serif";
    letter-spacing: 1.14px;
  }
}
.parts-contact__title.--en {
  font: 700 12px/1.3333333333 "Caudex", "sans-serif";
  letter-spacing: 0.24px;
}
@media screen and (max-width: 767px) {
  .parts-contact__title.--en {
    font: 700 9px/1.2222222222 "Caudex", "sans-serif";
    letter-spacing: 0.72px;
    margin-bottom: 4px;
  }
}
.parts-contact__text {
  font: 500 18px/2 "Noto Sans JP", "sans-serif";
  left: 50%;
  letter-spacing: 1.44px;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%) skew(0deg, -5deg);
}
@media screen and (max-width: 767px) {
  .parts-contact__text {
    font: 500 16px/2 "Noto Sans JP", "sans-serif";
    left: initial;
    margin-bottom: 40px;
    position: relative;
    top: initial;
    transform: skew(0deg, -5deg);
  }
}

.parts-fv {
  padding: 60px 0;
  height: 461px;
  position: relative;
  transform-origin: left top;
  overflow: hidden;
}
.parts-fv.--skew {
  transform: skew(0, -5deg);
}
.parts-fv.--skew > div {
  transform: skew(0, 5deg);
}
@media screen and (max-width: 767px) {
  .parts-fv {
    height: 545px;
  }
}
.parts-fv__video {
  position: absolute;
  width: 100%;
  height: auto;
  top: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .parts-fv__video {
    width: auto;
    height: 100%;
  }
}
.parts-fv__inner {
  height: -moz-fit-content;
  height: fit-content;
  margin: 0 auto;
  max-width: 1100px;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .parts-fv__inner {
    width: 82.98%;
  }
}
.parts-fv__inner.--wide {
  max-width: 1180px;
}
@media screen and (max-width: 767px) {
  .parts-fv__inner.--wide {
    width: 100%;
  }
}
.parts-fv__inner.--full {
  max-width: none;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .parts-fv__inner.--full {
    width: 100%;
  }
}
.parts-fv__title-wrap {
  bottom: -72px;
  display: flex;
  flex-direction: column;
  position: absolute;
  transform: skew(0deg, -5deg);
  transform-origin: left top;
  text-align: right;
  width: 369px;
}
@media screen and (max-width: 767px) {
  .parts-fv__title-wrap {
    width: 262px;
    bottom: -30px;
  }
}
.parts-fv__title {
  color: var(--color-white);
}
.parts-fv__title.--en {
  border-bottom: 1px solid var(--color-white);
  font: 700 43px/1.3023255814 "Caudex", "sans-serif";
  letter-spacing: 1.29px;
  margin-bottom: 8px;
}
@media screen and (max-width: 767px) {
  .parts-fv__title.--en {
    font: 400 36px/1.2222222222 "Caudex", "sans-serif";
    letter-spacing: 0.72px;
  }
}
.parts-fv__title.--jp {
  font: 400 14px/1.4285714286 "Noto Sans JP", "sans-serif";
  letter-spacing: 0.14px;
}
@media screen and (max-width: 767px) {
  .parts-fv__title.--jp {
    font: 400 12px/1.4166666667 "Noto Sans JP", "sans-serif";
    letter-spacing: 0.24px;
  }
}

.parts-link-cat {
  padding: 60px 0;
  transform-origin: left top;
  padding: 30px 0 60px;
}
.parts-link-cat.--skew {
  transform: skew(0, -5deg);
}
.parts-link-cat.--skew > div {
  transform: skew(0, 5deg);
}
.parts-link-cat__inner {
  height: -moz-fit-content;
  height: fit-content;
  margin: 0 auto;
  max-width: 1100px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .parts-link-cat__inner {
    width: 82.98%;
  }
}
.parts-link-cat__inner.--wide {
  max-width: 1180px;
}
@media screen and (max-width: 767px) {
  .parts-link-cat__inner.--wide {
    width: 100%;
  }
}
.parts-link-cat__inner.--full {
  max-width: none;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .parts-link-cat__inner.--full {
    width: 100%;
  }
}
.parts-link-cat__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 0;
  transform: skew(0, -5deg);
}
.parts-link-cat__link {
  border-left: 1px solid var(--color-black);
  font: 500 16px/1.25 "Noto Sans JP", "sans-serif";
  letter-spacing: 0.32px;
  padding: 0 12px;
}
@media screen and (max-width: 767px) {
  .parts-link-cat__link {
    font: 500 15px/1.3333333333 "Noto Sans JP", "sans-serif";
    letter-spacing: 0.3px;
    padding: 0 8px;
  }
}
.parts-link-cat__link:last-child {
  border-right: 1px solid var(--color-black);
}
.parts-link-cat__link.--current {
  color: var(--color-dark-gray-2);
  pointer-events: none;
}
.parts-link-cat__link:not(.--current) {
  transition: 0.3s;
}
@media (hover: hover) {
  .parts-link-cat__link:not(.--current):where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.8;
    color: var(--color-dark-gray-2);
    opacity: 1;
  }
  .parts-link-cat__link:not(.--current):where(:any-link, :enabled, summary):hover {
    opacity: 0.8;
    color: var(--color-dark-gray-2);
    opacity: 1;
  }
}

.parts-link {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  width: 100%;
  transition: 0.3s;
}
.parts-link::after {
  content: "";
  position: absolute;
  bottom: 24px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--color-white);
  transform: translateX(0);
  transition: transform 0.4s ease;
}
.parts-link:hover::after {
  transform: translateX(100%);
}
@media (hover: hover) {
  .parts-link:where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.8;
    opacity: 1;
  }
  .parts-link:where(:any-link, :enabled, summary):hover {
    opacity: 0.8;
    opacity: 1;
  }
}
.parts-link__text {
  color: var(--color-white);
}
.parts-link__text.--en {
  font: 700 23px/1.2173913043 "Caudex", "sans-serif";
  letter-spacing: 0.69px;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .parts-link__text.--en {
    font: 700 20px/1.4 "Caudex", "sans-serif";
    letter-spacing: 0.6px;
    padding-bottom: 0px;
    margin-bottom: 16px;
  }
}
.parts-link__text.--jp {
  font: 400 10px/1.5 "Noto Sans JP", "sans-serif";
}

.parts-products {
  padding: 60px 0;
}
.parts-products.--skew {
  transform: skew(0, -5deg);
}
.parts-products.--skew > div {
  transform: skew(0, 5deg);
}
.parts-products .parts-title-sec-sub {
  word-break: keep-all;
}
.parts-products__inner {
  height: -moz-fit-content;
  height: fit-content;
  margin: 0 auto;
  max-width: 1100px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .parts-products__inner {
    width: 82.98%;
  }
}
.parts-products__inner.--wide {
  max-width: 1180px;
}
@media screen and (max-width: 767px) {
  .parts-products__inner.--wide {
    width: 100%;
  }
}
.parts-products__inner.--full {
  max-width: none;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .parts-products__inner.--full {
    width: 100%;
  }
}
.parts-products__products {
  display: flex;
  flex-direction: column;
  gap: 80px;
}
@media screen and (max-width: 767px) {
  .parts-products__products {
    gap: 50px;
  }
}
.parts-products__services {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 50px 60px;
}
@media screen and (max-width: 767px) {
  .parts-products__services {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}
.parts-products__service:not(.--data-storage) .hover-has-img__wrap {
  width: 100%;
  height: auto;
  overflow: hidden;
  position: relative;
}
.parts-products__service:not(.--data-storage) .hover-has-img__wrap::after {
  content: "";
  background: var(--color-black);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: 0.3s;
}
.parts-products__service:not(.--data-storage) .hover-has-img__img {
  transition: 0.3s;
  width: 100%;
}
@media (hover: hover) {
  .parts-products__service:not(.--data-storage):where(:-moz-any-link, :enabled, summary):hover .hover-has-img__wrap::after {
    opacity: 0.2;
  }
  .parts-products__service:not(.--data-storage):where(:any-link, :enabled, summary):hover .hover-has-img__wrap::after {
    opacity: 0.2;
  }
  .parts-products__service:not(.--data-storage):where(:-moz-any-link, :enabled, summary):hover .hover-has-img__img {
    transform: scale(1.1);
  }
  .parts-products__service:not(.--data-storage):where(:any-link, :enabled, summary):hover .hover-has-img__img {
    transform: scale(1.1);
  }
}
.parts-products__service.--data-storage {
  background: var(--color-white);
  border: 1px solid var(--color-gray);
  padding: 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: column;
  height: 188px;
}
.parts-products__service.--data-storage.--top {
  height: 207px;
}
.parts-products__service-text {
  margin-top: 10px;
}
.parts-products__data-storage-btns {
  display: flex;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .parts-products__data-storage-btns {
    gap: 0;
    width: 252px;
    justify-content: space-between;
  }
}
.parts-products__data-storage-btns .parts-btn {
  transition: 0.3s;
}
@media (hover: hover) {
  .parts-products__data-storage-btns .parts-btn:where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.8;
    transform: initial;
  }
  .parts-products__data-storage-btns .parts-btn:where(:any-link, :enabled, summary):hover {
    opacity: 0.8;
    transform: initial;
  }
}

.parts-service {
  display: flex;
  gap: 90px;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .parts-service {
    flex-direction: column;
    gap: 27px;
  }
}
.parts-service:not(:last-child) {
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .parts-service:not(:last-child) {
    margin-bottom: 46px;
  }
}
.parts-service > .parts-btn {
  display: none;
}
@media screen and (max-width: 767px) {
  .parts-service > .parts-btn {
    display: flex;
    margin: 0 auto;
  }
}
.parts-service__text {
  flex: 1;
}
.parts-service__text .parts-btn {
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .parts-service__text .parts-btn {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .parts-service__img {
    width: 100%;
  }
}
.parts-service__movie {
  position: relative;
  width: 460px;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .parts-service__movie {
    width: 100%;
  }
}
@media (hover: hover) {
  .parts-service__movie:where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.8;
  }
  .parts-service__movie:where(:any-link, :enabled, summary):hover {
    opacity: 0.8;
  }
}
.parts-service__movie svg {
  position: absolute;
  left: 20px;
  bottom: 20px;
}
.parts-service__qr {
  display: flex;
  gap: 25px;
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .parts-service__qr {
    display: none;
  }
}
.parts-service__qr-text .--bold {
  font-weight: 700;
}

/* コンテナのサイズを変数として定義 */
/* 三角形の大きさを変数に */
/* 円の半径を計算 (三角形の底辺の半分を足す) */
.parts-solution-image {
  display: flex;
  justify-content: center;
  position: relative;
  opacity: 0;
  transition: 1s;
  transition-delay: 0.5s;
  /* 円 */
}
@media screen and (max-width: 767px) {
  .parts-solution-image {
    align-items: center;
    flex-direction: column;
    height: 927px;
  }
}
.parts-solution-image__circle {
  width: 436px;
  height: 436px;
  border-radius: 50%;
  border: 1px solid var(--color-black);
  position: relative;
  margin-right: -22px;
  /* 右向き三角形 (before, after) */
  /* before のアニメーション (反時計回り) */
  /* after のアニメーション (半周遅れの反時計回り) */
}
@media screen and (max-width: 767px) {
  .parts-solution-image__circle {
    margin-right: 0;
    margin-bottom: -30px;
    width: 311px;
    height: 311px;
  }
}
.parts-solution-image__circle::before, .parts-solution-image__circle::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 17.3205080757px solid var(--color-black); /* 右向きの三角形 */
  top: 50%;
  left: 50%;
  transform: translate(-228px, -50%); /* 円の外側に配置 (コンテナサイズに応じて動的に調整) */
  transform-origin: 228px 50%; /* 回転の中心を調整 */
}
@media screen and (max-width: 767px) {
  .parts-solution-image__circle::before, .parts-solution-image__circle::after {
    border-left: 7.5px solid transparent;
    border-right: 7.5px solid transparent;
    border-top: 12.9903810568px solid var(--color-black); /* 右向きの三角形 */
    transform: translate(-163px, -50%); /* 円の外側に配置 (コンテナサイズに応じて動的に調整) */
    transform-origin: 163px 50%; /* 回転の中心を調整 */
  }
}
.parts-solution-image__circle::before {
  animation: orbitBefore 50s linear infinite;
}
@media screen and (max-width: 767px) {
  .parts-solution-image__circle::before {
    animation: orbitBeforeSp 50s linear infinite;
  }
}
.parts-solution-image__circle::after {
  animation: orbitAfter 50s linear infinite;
}
@media screen and (max-width: 767px) {
  .parts-solution-image__circle::after {
    animation: orbitAfterSp 50s linear infinite;
  }
}
.parts-solution-image__circle.--clock {
  margin-left: -22px;
  margin-right: initial;
  /* before のアニメーション (時計回り) */
  /* after のアニメーション (半周遅れの時計回り) */
}
@media screen and (max-width: 767px) {
  .parts-solution-image__circle.--clock {
    margin-left: 0;
    margin-top: -30px;
  }
}
.parts-solution-image__circle.--clock::before, .parts-solution-image__circle.--clock::after {
  border-top: none;
  border-bottom: 17.3205080757px solid var(--color-black); /* 左向きの三角形 */
}
@media screen and (max-width: 767px) {
  .parts-solution-image__circle.--clock::before, .parts-solution-image__circle.--clock::after {
    border-bottom: 12.9903810568px solid var(--color-black); /* 左向きの三角形 */
  }
}
.parts-solution-image__circle.--clock::before {
  animation: orbitBeforeClock 50s linear infinite;
}
@media screen and (max-width: 767px) {
  .parts-solution-image__circle.--clock::before {
    animation: orbitBeforeClockSp 50s linear infinite;
  }
}
.parts-solution-image__circle.--clock::after {
  animation: orbitAfterClock 50s linear infinite;
}
@media screen and (max-width: 767px) {
  .parts-solution-image__circle.--clock::after {
    animation: orbitAfterClockSp 50s linear infinite;
  }
}
.parts-solution-image__circle-inn {
  width: 170px;
  height: 170px;
  border-radius: 50%;
  border: 1px solid var(--color-black);
  position: absolute;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  word-break: keep-all;
  padding: 0 18px;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .parts-solution-image__circle-inn {
    padding: 0 4px;
    width: 130px;
    height: 130px;
  }
}
.parts-solution-image__circle-inn.--marketing {
  left: 40px;
  top: 98px;
}
@media screen and (max-width: 767px) {
  .parts-solution-image__circle-inn.--marketing {
    left: 17px;
    top: 91px;
  }
}
.parts-solution-image__circle-inn.--strategy {
  left: 180px;
  top: 222px;
}
@media screen and (max-width: 767px) {
  .parts-solution-image__circle-inn.--strategy {
    left: 165px;
    top: 91px;
  }
}
.parts-solution-image__circle-inn.--art {
  left: 86px;
  top: 98px;
}
@media screen and (max-width: 767px) {
  .parts-solution-image__circle-inn.--art {
    left: 11px;
    top: 78px;
  }
}
.parts-solution-image__circle-inn.--design {
  left: 256px;
  top: 144px;
}
@media screen and (max-width: 767px) {
  .parts-solution-image__circle-inn.--design {
    left: 174px;
    top: 78px;
  }
}
.parts-solution-image__circle-inn.--design .parts-solution-image__text:not(.--bold) {
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .parts-solution-image__circle-inn.--design .parts-solution-image__text:not(.--bold) {
    margin-bottom: 10px;
  }
}
.parts-solution-image__circle-inn.--dev {
  left: 186px;
  top: 245px;
}
@media screen and (max-width: 767px) {
  .parts-solution-image__circle-inn.--dev {
    left: 125px;
    top: 166px;
  }
}
.parts-solution-image__title {
  font: italic 700 25px/1.28 "Caudex", "sans-serif";
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .parts-solution-image__title {
    transform: translateX(-50%);
    top: initial;
    font: italic 700 17px/1.2941176471 "Caudex", "sans-serif";
  }
}
.parts-solution-image__title.--consult {
  transform: translate(-50%, -50%);
  left: 50%;
}
@media screen and (max-width: 767px) {
  .parts-solution-image__title.--consult {
    top: 52%;
  }
}
.parts-solution-image__title.--offer {
  left: 0;
}
@media screen and (max-width: 767px) {
  .parts-solution-image__title.--offer {
    left: 50%;
    top: 140px;
  }
}
.parts-solution-image__title.--offer::before {
  content: "";
  position: absolute;
  background: var(--color-black);
  width: 75px;
  height: 1px;
  transform: translateY(-50%);
  top: 50%;
  right: -85px;
}
@media screen and (max-width: 767px) {
  .parts-solution-image__title.--offer::before {
    width: 1px;
    height: 36px;
    top: 23px;
    transform: translateX(-50%);
    right: initial;
    left: 50%;
  }
}
.parts-solution-image__title.--solved {
  right: 0;
}
@media screen and (max-width: 767px) {
  .parts-solution-image__title.--solved {
    right: initial;
    left: 50%;
    bottom: 0;
  }
}
.parts-solution-image__title.--solved::before {
  content: "";
  position: absolute;
  background: var(--color-black);
  width: 53px;
  height: 1px;
  transform: translateY(-50%);
  top: 50%;
  left: -60px;
}
@media screen and (max-width: 767px) {
  .parts-solution-image__title.--solved::before {
    width: 1px;
    height: 35px;
    top: -145px;
    transform: translateX(-50%);
    right: initial;
    left: 50%;
  }
}
.parts-solution-image__title.--science {
  transform: translateX(-50%);
  left: 50%;
  top: 32px;
}
@media screen and (max-width: 767px) {
  .parts-solution-image__title.--science {
    top: 39px;
  }
}
.parts-solution-image__title.--creative {
  transform: translateX(-50%);
  left: 50%;
  top: 32px;
}
@media screen and (max-width: 767px) {
  .parts-solution-image__title.--creative {
    top: 65px;
  }
}
.parts-solution-image__text {
  font: 500 12px/1.5 "Noto Sans JP", "sans-serif";
  text-align: center;
  word-break: keep-all;
}
@media screen and (max-width: 767px) {
  .parts-solution-image__text {
    font: 500 11px/1.5454545455 "Noto Sans JP", "sans-serif";
  }
}
.parts-solution-image__text.--bold {
  font: 700 13px/1.3846153846 "Noto Sans JP", "sans-serif";
}
@media screen and (max-width: 767px) {
  .parts-solution-image__text.--bold {
    font: 700 12px/1.5 "Noto Sans JP", "sans-serif";
  }
}
.parts-solution-image__text.--vr {
  position: absolute;
  left: 283px;
  top: 262px;
}
@media screen and (max-width: 767px) {
  .parts-solution-image__text.--vr {
    font: 500 10px/1.4 "Noto Sans JP", "sans-serif";
    left: 196.5px;
    top: 173px;
  }
}
.parts-solution-image__video {
  position: absolute;
}
.parts-solution-image__video.--mail {
  width: 164px;
  left: -20px;
  top: 50px;
}
@media screen and (max-width: 767px) {
  .parts-solution-image__video.--mail {
    width: 130px;
    left: 50%;
    top: 10px;
    transform: translateX(-50%);
  }
}
.parts-solution-image__video.--idea {
  width: 134px;
  right: -22px;
  top: 60px;
}
@media screen and (max-width: 767px) {
  .parts-solution-image__video.--idea {
    width: 130px;
    right: 50%;
    top: 785px;
    transform: translateX(50%);
  }
}

.--animate .parts-solution-image {
  opacity: 1;
}

/* before の反時計回りの円周上の回転アニメーション */
@keyframes orbitBefore {
  0% {
    transform: translate(-228px, -50%) rotate(0deg);
  }
  50% {
    transform: translate(-228px, -50%) rotate(-180deg);
  }
  100% {
    transform: translate(-228px, -50%) rotate(-360deg); /* 元の位置に戻る */
  }
}
/* after の反時計回りの円周上の回転アニメーション (半周遅れ) */
@keyframes orbitAfter {
  0% {
    transform: translate(-228px, -50%) rotate(-180deg); /* 半周遅れで開始 */
  }
  50% {
    transform: translate(-228px, -50%) rotate(-360deg);
  }
  100% {
    transform: translate(-228px, -50%) rotate(-540deg); /* 元の位置に戻る */
  }
}
/* before の時計回りの円周上の回転アニメーション */
@keyframes orbitBeforeClock {
  0% {
    transform: translate(-228px, -50%) rotate(90deg);
  }
  50% {
    transform: translate(-228px, -50%) rotate(270deg);
  }
  100% {
    transform: translate(-228px, -50%) rotate(450deg); /* 元の位置に戻る */
  }
}
/* after の時計回りの円周上の回転アニメーション (半周遅れ) */
@keyframes orbitAfterClock {
  0% {
    transform: translate(-228px, -50%) rotate(270deg); /* 半周遅れで開始 */
  }
  50% {
    transform: translate(-228px, -50%) rotate(450deg);
  }
  100% {
    transform: translate(-228px, -50%) rotate(630deg); /* 元の位置に戻る */
  }
}
/* before の反時計回りの円周上の回転アニメーション */
@keyframes orbitBeforeSp {
  0% {
    transform: translate(-163px, -50%) rotate(0deg);
  }
  50% {
    transform: translate(-163px, -50%) rotate(-180deg);
  }
  100% {
    transform: translate(-163px, -50%) rotate(-360deg); /* 元の位置に戻る */
  }
}
/* after の反時計回りの円周上の回転アニメーション (半周遅れ) */
@keyframes orbitAfterSp {
  0% {
    transform: translate(-163px, -50%) rotate(-180deg); /* 半周遅れで開始 */
  }
  50% {
    transform: translate(-163px, -50%) rotate(-360deg);
  }
  100% {
    transform: translate(-163px, -50%) rotate(-540deg); /* 元の位置に戻る */
  }
}
/* before の時計回りの円周上の回転アニメーション */
@keyframes orbitBeforeClockSp {
  0% {
    transform: translate(-163px, -50%) rotate(90deg);
  }
  50% {
    transform: translate(-163px, -50%) rotate(270deg);
  }
  100% {
    transform: translate(-163px, -50%) rotate(450deg); /* 元の位置に戻る */
  }
}
/* after の時計回りの円周上の回転アニメーション (半周遅れ) */
@keyframes orbitAfterClockSp {
  0% {
    transform: translate(-163px, -50%) rotate(270deg); /* 半周遅れで開始 */
  }
  50% {
    transform: translate(-163px, -50%) rotate(450deg);
  }
  100% {
    transform: translate(-163px, -50%) rotate(630deg); /* 元の位置に戻る */
  }
}
.parts-title-sec-sub {
  font: 500 18px/1.4444444444 "Noto Sans JP", "sans-serif";
  letter-spacing: 0.72px;
  margin-bottom: 50px;
  padding-left: 12px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .parts-title-sec-sub {
    font: 500 20px/1.4 "Noto Sans JP", "sans-serif";
    letter-spacing: 0.64px;
    margin-bottom: 30px;
    padding-left: 8px;
  }
}
.parts-title-sec-sub::before {
  background: var(--color-black);
  content: "";
  width: 1px;
  height: 18px;
  position: absolute;
  left: 0;
  top: 5px;
}
@media screen and (max-width: 767px) {
  .parts-title-sec-sub::before {
    height: 20px;
  }
}

.parts-title-sec-top {
  display: flex;
  flex-direction: column;
  margin: 0 auto 80px;
  transform: skewY(-5deg);
  transform-origin: left;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
          clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
  transition: clip-path 1.6s cubic-bezier(0.16, 1, 0.3, 1), -webkit-clip-path 1.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.parts-title-sec-top__text {
  color: var(--color-white);
}
.parts-title-sec-top__text.--en {
  font: 400 50px/1.3 "Caudex", "sans-serif";
  letter-spacing: 2px;
  margin-bottom: 8px;
  border-bottom: 1px solid var(--color-white);
}
@media screen and (max-width: 767px) {
  .parts-title-sec-top__text.--en {
    font: 400 38px/1.2894736842 "Caudex", "sans-serif";
    letter-spacing: 1.14px;
    margin-bottom: 6px;
  }
}
.parts-title-sec-top__text.--jp {
  font: 400 16px/1.5 "Noto Sans JP", "sans-serif";
  letter-spacing: 0.64px;
  opacity: 0;
  transition: 0.5s;
  transition-delay: 1.6s;
}
@media screen and (max-width: 767px) {
  .parts-title-sec-top__text.--jp {
    font: 400 14px/1.4285714286 "Noto Sans JP", "sans-serif";
    letter-spacing: 0.14px;
  }
}

.--animate .parts-title-sec-top {
  -webkit-clip-path: polygon(0 0, 100% 0%, 100% 100%, 0% 100%);
          clip-path: polygon(0 0, 100% 0%, 100% 100%, 0% 100%);
}
.--animate .parts-title-sec-top__text.--jp {
  opacity: 1 !important;
}

.--black .parts-title-sec-top {
  display: flex;
  flex-direction: column;
  margin: 0 auto 80px;
  transform: skewY(-5deg);
  transform-origin: left;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
          clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
  transition: clip-path 1.6s cubic-bezier(0.16, 1, 0.3, 1), -webkit-clip-path 1.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.--black .parts-title-sec-top__text {
  color: var(--color-black);
}
.--black .parts-title-sec-top__text.--en {
  font: 400 50px/1.3 "Caudex", "sans-serif";
  letter-spacing: 2px;
  margin-bottom: 8px;
  border-bottom: 1px solid var(--color-black);
}
@media screen and (max-width: 767px) {
  .--black .parts-title-sec-top__text.--en {
    font: 400 38px/1.2894736842 "Caudex", "sans-serif";
    letter-spacing: 1.14px;
    margin-bottom: 6px;
  }
}
.--black .parts-title-sec-top__text.--jp {
  font: 400 16px/1.5 "Noto Sans JP", "sans-serif";
  letter-spacing: 0.64px;
  opacity: 0;
  transition: 0.5s;
  transition-delay: 1.6s;
}
@media screen and (max-width: 767px) {
  .--black .parts-title-sec-top__text.--jp {
    font: 400 14px/1.4285714286 "Noto Sans JP", "sans-serif";
    letter-spacing: 0.14px;
  }
}
.--black .--animate .parts-title-sec-top {
  -webkit-clip-path: polygon(0 0, 100% 0%, 100% 100%, 0% 100%);
          clip-path: polygon(0 0, 100% 0%, 100% 100%, 0% 100%);
}
.--black .--animate .parts-title-sec-top__text.--jp {
  opacity: 1 !important;
}

.parts-title-sec {
  border-bottom: 1px solid var(--color-black);
  font: 500 21px/2.380952381 "Noto Sans JP", "sans-serif";
  letter-spacing: 0.84px;
  margin-bottom: 50px;
  padding-bottom: 5.5px;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .parts-title-sec {
    font: 500 25px/2 "Noto Sans JP", "sans-serif";
    letter-spacing: 0.72px;
    margin-bottom: 30px;
  }
}
.parts-title-sec.--full {
  width: 100%;
}
.parts-title-sec.--skew {
  transform: skew(0, -5deg);
}

html {
  scrollbar-gutter: stable;
  scroll-padding-top: 164px;
}

body {
  background: var(--color-light-gray);
  color: var(--color-black);
  font: 500 14px/2 "Noto Sans JP", "sans-serif";
  letter-spacing: 1.12px;
  min-height: 100dvh;
  min-width: 1180px;
}
@media screen and (max-width: 767px) {
  body {
    min-width: 100%;
  }
}
body:has(#hamb-checkbox:checked) {
  overflow-y: hidden;
}

img,
svg {
  max-width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

@media screen and (max-width: 767px) {
  .hidden-xs {
    display: none;
  }
}

.visible-xs {
  display: none;
}
@media screen and (max-width: 767px) {
  .visible-xs {
    display: block;
  }
}/*# sourceMappingURL=common.css.map */