@charset "UTF-8";
/*
Theme Name: 有限会社　カネイワ醤油本店
Author: 有限会社　カネイワ醤油本店
Author URI: https://kaneiwa.net
Version: 1.0.0
*/
@import url("assets/scss/reset.css");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;600;700;800&display=swap");
/* iOSでのデフォルトスタイルをリセット */
input[type=submit],
input[type=button] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  border: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}
input[type=submit]::focus,
input[type=button]::focus {
  outline-offset: -2px;
}

@media screen and (max-width: 959px) {
  .pc_only {
    display: none;
  }
  .sp_only {
    display: block;
  }
}
@media screen and (min-width: 960px) {
  .pc_only {
    display: block;
  }
  .sp_only {
    display: none;
  }
}
body {
  color: #fff;
  background-color: #070300 !important;
  letter-spacing: 0.05em;
  font-family: "Shippori Mincho", sans-serif;
  font-style: normal;
  font-size: 1vw;
}
@media (max-width: 959px) {
  body {
    font-size: 3.467vw;
  }
}
@media (min-width: 1601px) {
  body {
    font-size: 1vw;
  }
}
body {
  overflow-wrap: break-word;
}
body input,
body button {
  font-family: inherit;
}
body h2,
body h3,
body h4 {
  letter-spacing: 0.2em;
}
body a {
  color: inherit;
}
body p {
  line-height: 2;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 959px) {
  body p {
    letter-spacing: 0.01em;
  }
}
body strong {
  font-weight: bold;
}
body .underline {
  text-decoration: underline;
}
body img {
  max-width: 100%;
  height: auto;
  display: block;
}
body iframe {
  max-width: 100%;
}

.container {
  width: 100%;
  max-width: 100%;
  margin: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0 6.25vw;
}
@media screen and (max-width: 959px) {
  .container {
    padding: 0 5.3333333333vw;
  }
}
.container--mini {
  padding: 0 12.5vw;
  margin: auto;
}
@media screen and (max-width: 959px) {
  .container--mini {
    max-width: 100%;
    padding: 0 5.3333333333vw;
  }
}
.container--big {
  padding: 0 3.125vw;
  margin: auto;
}
@media screen and (max-width: 959px) {
  .container--big {
    max-width: 100%;
    padding: 0 5.3333333333vw;
  }
}
.container--none {
  padding: 0;
}
@media screen and (max-width: 959px) {
  .container--none {
    padding: 0 5.3333333333vw;
  }
}

.header {
  padding-top: clamp(18px, 1.875vw, 30px);
  padding-bottom: clamp(18px, 1.875vw, 30px);
  padding-left: clamp(24px, 2.5vw, 40px);
  padding-right: clamp(24px, 2.5vw, 40px);
  width: 100%;
  top: 0;
  left: 0;
  position: fixed;
  z-index: 10;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (max-width: 959px) {
  .header {
    padding-left: 1.25vw;
    padding-right: 1.25vw;
    padding-top: 1.25vw;
    padding-bottom: 1.25vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .header {
    padding-left: 4vw;
    padding-right: 4vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .header {
    padding-top: 4vw;
    padding-bottom: 4vw;
  }
}
.header__wrap {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 959px) {
  .header__wrap {
    -webkit-box-shadow: none;
            box-shadow: none;
    padding-top: 0vw;
    padding-bottom: 0vw;
    padding-left: 0vw;
    padding-right: 0vw;
    position: relative;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .header__wrap {
    padding-top: 0vw;
    padding-bottom: 0vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .header__wrap {
    padding-left: 0vw;
    padding-right: 0vw;
  }
}
.header__logo {
  max-width: clamp(42px, 4.375vw, 70px);
  width: 100%;
}
@media screen and (max-width: 959px) {
  .header__logo {
    width: 9.3333333333vw;
  }
}
.header__logo img {
  width: 100%;
}
.header__navi {
  margin-left: auto;
}
.header__menu-block {
  margin-left: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-right: clamp(24px, 2.5vw, 40px);
}
@media screen and (max-width: 959px) {
  .header__menu-block {
    margin-right: 1.25vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .header__menu-block {
    margin-right: 4vw;
  }
}
.header__sp-menu {
  z-index: 1;
}
.header__menu {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(24px, 2.5vw, 40px);
}
@media screen and (max-width: 959px) {
  .header__menu {
    gap: 1em;
  }
}

.menu-block {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  z-index: 1;
  gap: clamp(24px, 2.5vw, 40px);
}
@media screen and (max-width: 959px) {
  .menu-block {
    gap: 1.5em;
  }
}

.navi-menu {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(24px, 2.5vw, 40px);
}
@media screen and (max-width: 959px) {
  .navi-menu {
    gap: 1.5em;
  }
}
.navi-menu__item {
  width: clamp(16px, 1.6875vw, 27px);
  height: clamp(16px, 1.6875vw, 27px);
}
@media screen and (max-width: 959px) {
  .navi-menu__item {
    width: 4.2666666667vw;
    height: 4.2666666667vw;
  }
}
.navi-menu__item img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.lang-menu {
  font-size: clamp(12px, 1.0625vw, 17px);
}
.lang-menu__item.current {
  position: relative;
  z-index: 0;
}
.lang-menu__item.current:before {
  content: "";
  display: block;
  width: 100%;
  height: 0.0625vw;
  background-color: #fff;
  position: absolute;
  bottom: -0.25vw;
  left: 0;
  right: 0;
  margin: auto;
}

.menu-trigger {
  display: block;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  vertical-align: middle;
  height: clamp(12px, 1.25vw, 20px);
  cursor: pointer;
  width: clamp(36px, 3.75vw, 60px);
}
@media screen and (max-width: 959px) {
  .menu-trigger {
    width: 8vw;
    height: 3.2vw;
  }
}
.menu-trigger span {
  display: inline-block;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #fff;
}
.menu-trigger span:nth-of-type(1) {
  top: 0;
}
.menu-trigger span:nth-of-type(2) {
  left: inherit;
  bottom: 0;
}
.menu-trigger.active span:nth-of-type(1) {
  -webkit-transform: translate(0, -50%) rotate(-15deg);
          transform: translate(0, -50%) rotate(-15deg);
  top: 50%;
}
.menu-trigger.active span:nth-of-type(2) {
  -webkit-transform: translate(0, -50%) rotate(15deg);
          transform: translate(0, -50%) rotate(15deg);
  top: 50%;
}

.sp-navi {
  overflow-y: scroll;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 9;
  -webkit-transition: all 0.9s cubic-bezier(0.5, 0, 0, 1);
  transition: all 0.9s cubic-bezier(0.5, 0, 0, 1);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  opacity: 0;
  background-color: #070300;
  pointer-events: none;
  z-index: 0;
  width: clamp(288px, 30vw, 480px);
  height: clamp(492px, 51.25vw, 820px);
  padding-top: clamp(72px, 7.5vw, 120px);
  padding-left: clamp(24px, 2.5vw, 40px);
  padding-right: clamp(24px, 2.5vw, 40px);
}
@media screen and (max-width: 959px) {
  .sp-navi {
    background-color: rgba(7, 3, 0, 0.9);
    padding-top: 6.25vw;
    padding-left: 1.875vw;
    padding-right: 1.875vw;
    width: 100%;
    height: 100%;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .sp-navi {
    padding-top: 20vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .sp-navi {
    padding-left: 6vw;
    padding-right: 6vw;
  }
}
.sp-navi.active {
  -webkit-transform: translateY(0%);
          transform: translateY(0%);
  -webkit-transition: all 0.9s cubic-bezier(0.5, 0, 0, 1);
  transition: all 0.9s cubic-bezier(0.5, 0, 0, 1);
  opacity: 1;
  pointer-events: auto;
}
.sp-navi__link-block {
  border-bottom: 0.0625vw solid #fff;
  padding-bottom: clamp(24px, 2.5vw, 40px);
  margin-bottom: clamp(24px, 2.5vw, 40px);
}
.sp-navi__links {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(12px, 1.25vw, 20px) clamp(24px, 2.5vw, 40px);
  padding-left: clamp(12px, 1.25vw, 20px);
  padding-right: clamp(12px, 1.25vw, 20px);
}
.sp-navi__btn-block {
  margin-top: clamp(12px, 1.25vw, 20px);
  width: clamp(120px, 12.5vw, 200px);
}
@media screen and (max-width: 959px) {
  .sp-navi__btn-block {
    width: 42.6666666667vw;
  }
}
.sp-navi__info-block {
  padding-left: clamp(12px, 1.25vw, 20px);
  padding-right: clamp(12px, 1.25vw, 20px);
}
@media screen and (max-width: 959px) {
  .sp-navi__info-block {
    padding-left: 1.25vw;
    padding-right: 1.25vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .sp-navi__info-block {
    padding-left: 4vw;
    padding-right: 4vw;
  }
}
.sp-navi__info {
  font-size: clamp(11px, 0.875vw, 14px);
}
@media screen and (max-width: 959px) {
  .sp-navi__info {
    font-size: 0.75vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .sp-navi__info {
    font-size: 2.933vw;
  }
}
@media screen and (max-width: 959px) and (min-width: 1601px) {
  .sp-navi__info {
    font-size: 0.75vw;
  }
}
.sp-navi__address-block {
  margin-top: clamp(12px, 1.25vw, 20px);
}
@media screen and (max-width: 959px) {
  .sp-navi__address-block {
    margin-top: 1.25vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .sp-navi__address-block {
    margin-top: 4vw;
  }
}
.sp-navi__item {
  display: block;
  font-size: clamp(14px, 1.25vw, 20px);
  color: #fff;
  text-transform: uppercase;
  font-family: "Shippori Mincho", sans-serif;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 959px) {
  .sp-navi__item {
    font-size: 0.875vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .sp-navi__item {
    font-size: 3.733vw;
  }
}
@media screen and (max-width: 959px) and (min-width: 1601px) {
  .sp-navi__item {
    font-size: 0.875vw;
  }
}
.sp-navi__item.icon-link:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url(assets/images/icon/arrow-right.svg);
  background-size: auto 20%;
  background-position: center right;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  z-index: -1;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  right: clamp(6px, 0.625vw, 10px);
}
.sp-navi__item.icon-external-link:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url(assets/images/icon/external-link.svg);
  background-size: auto 20%;
  background-position: center right;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  right: clamp(6px, 0.625vw, 10px);
  z-index: -1;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.sp-navi__item.icon-link:hover:before {
  right: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.sp-navi__btn {
  margin-top: 1.25vw;
}
@media screen and (max-width: 959px) {
  .sp-navi__btn {
    margin-top: 4vw;
  }
}
.sp-navi__children {
  padding-left: clamp(12px, 1.25vw, 20px);
  margin-top: clamp(12px, 1.25vw, 20px);
}
.sp-navi__btn-block .common-btn--reverse {
  font-size: clamp(12px, 1.25vw, 20px);
}
@media screen and (max-width: 959px) {
  .sp-navi__btn-block .common-btn--reverse {
    font-size: 0.875vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .sp-navi__btn-block .common-btn--reverse {
    font-size: 2.933vw;
  }
}
@media screen and (max-width: 959px) and (min-width: 1601px) {
  .sp-navi__btn-block .common-btn--reverse {
    font-size: 0.875vw;
  }
}
@media screen and (min-width: 1600px) {
  .sp-navi__btn-block .common-btn--reverse::before {
    right: 10px !important;
    width: 6px !important;
  }
}
.sp-navi__btn-block .common-btn--reverse::before {
  right: clamp(12px, 1.25vw, 20px);
  width: clamp(4px, 0.375vw, 6px);
}
@media screen and (max-width: 959px) {
  .sp-navi__btn-block .common-btn--reverse::before {
    width: 1.0666666667vw;
  }
}

.sp-navi-children__item {
  font-size: clamp(12px, 1vw, 16px);
}
@media screen and (max-width: 959px) {
  .sp-navi-children__item {
    font-size: 0.875vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .sp-navi-children__item {
    font-size: 3.2vw;
  }
}
@media screen and (max-width: 959px) and (min-width: 1601px) {
  .sp-navi-children__item {
    font-size: 0.875vw;
  }
}
.sp-navi-children__item:not(:last-child) {
  margin-bottom: clamp(12px, 1.25vw, 20px);
}

.heading--center {
  text-align: center;
}
.heading__jp {
  font-size: 2.625vw;
}
@media (max-width: 959px) {
  .heading__jp {
    font-size: 6.933vw;
  }
}
@media (min-width: 1601px) {
  .heading__jp {
    font-size: 2.625vw;
  }
}
.heading__jp h2 {
  line-height: 1.6;
  letter-spacing: 0.06em;
}
.heading__jp.horizon {
  font-size: 2.375vw;
}
@media (max-width: 959px) {
  .heading__jp.horizon {
    font-size: 6.933vw;
  }
}
@media (min-width: 1601px) {
  .heading__jp.horizon {
    font-size: 2.375vw;
  }
}
.heading__jp.horizon h2 {
  font-family: "Shippori Mincho", sans-serif;
  margin-bottom: 1.25vw;
}
@media screen and (max-width: 959px) {
  .heading__jp.horizon h2 {
    margin-bottom: 4vw;
  }
}
.heading__jp.horizon h2 {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
  padding-top: 2em;
  text-indent: -2em;
}
.heading__line {
  margin-top: 1.875vw;
}
@media screen and (max-width: 959px) {
  .heading__line {
    margin-top: 6vw;
  }
}
@media screen and (max-width: 959px) {
  .heading__line {
    margin-top: 1.25vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .heading__line {
    margin-top: 4vw;
  }
}
.heading__text {
  line-height: 2;
  letter-spacing: 0.02em;
  margin-top: 1.875vw;
}
@media screen and (max-width: 959px) {
  .heading__text {
    margin-top: 6vw;
  }
}

.line {
  width: 0.0625vw;
  height: 1.875vw;
  background-color: #fff;
  margin: auto;
}
@media screen and (max-width: 959px) {
  .line {
    width: 0.2666666667vw;
    height: 10.6666666667vw;
  }
}

.page {
  padding-top: 5vw;
  padding-bottom: 5vw;
}
@media screen and (max-width: 959px) {
  .page {
    padding-top: 16vw;
    padding-bottom: 16vw;
  }
}
@media screen and (max-width: 959px) {
  .page {
    padding-top: 4.375vw;
    padding-bottom: 4.375vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .page {
    padding-top: 14vw;
    padding-bottom: 14vw;
  }
}
.page--top-none {
  padding-top: 0vw;
}
@media screen and (max-width: 959px) {
  .page--top-none {
    padding-top: 0vw;
  }
}
@media screen and (max-width: 959px) {
  .page--top-none-sp {
    padding-top: 0vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .page--top-none-sp {
    padding-top: 0vw;
  }
}
.page--bottom-none {
  padding-bottom: 0vw;
}
@media screen and (max-width: 959px) {
  .page--bottom-none {
    padding-bottom: 0vw;
  }
}
.page__heading {
  margin-bottom: 5vw;
}
@media screen and (max-width: 959px) {
  .page__heading {
    margin-bottom: 16vw;
  }
}
@media screen and (max-width: 959px) {
  .page__heading {
    margin-bottom: 2.5vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .page__heading {
    margin-bottom: 8vw;
  }
}
.page--news {
  padding-top: 6.25vw;
}
@media screen and (max-width: 959px) {
  .page--news {
    padding-top: 20vw;
  }
}
.page--news {
  padding-bottom: 12.5vw;
}
@media screen and (max-width: 959px) {
  .page--news {
    padding-bottom: 40vw;
  }
}
.page--instagram {
  padding-top: 12.5vw;
}
@media screen and (max-width: 959px) {
  .page--instagram {
    padding-top: 40vw;
  }
}
.page--instagram {
  padding-bottom: 12.5vw;
}
@media screen and (max-width: 959px) {
  .page--instagram {
    padding-bottom: 40vw;
  }
}
@media screen and (max-width: 959px) {
  .page--instagram {
    padding-top: 9.375vw;
    padding-bottom: 6.25vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .page--instagram {
    padding-top: 30vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .page--instagram {
    padding-bottom: 20vw;
  }
}
.page--bottom-lg {
  padding-bottom: 12.5vw;
}
@media screen and (max-width: 959px) {
  .page--bottom-lg {
    padding-bottom: 40vw;
  }
}
@media screen and (max-width: 959px) {
  .page--bottom-lg {
    padding-top: 3.125vw;
    padding-bottom: 6.25vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .page--bottom-lg {
    padding-top: 10vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .page--bottom-lg {
    padding-bottom: 20vw;
  }
}
@media screen and (max-width: 959px) {
  .page--side-line {
    padding-top: 1.25vw;
    padding-bottom: 1.25vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .page--side-line {
    padding-top: 4vw;
    padding-bottom: 4vw;
  }
}

.parts__btn-block {
  margin-top: 3.4375vw;
}
@media screen and (max-width: 959px) {
  .parts__btn-block {
    margin-top: 11vw;
  }
}
.parts__btn-block {
  width: 21.875vw;
}
@media screen and (max-width: 959px) {
  .parts__btn-block {
    margin: auto;
    width: 66.6666666667vw;
    margin-top: 2.5vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .parts__btn-block {
    margin-top: 8vw;
  }
}
.parts__image-slider {
  overflow: hidden;
  position: relative;
  margin-top: 7.5vw;
}
@media screen and (max-width: 959px) {
  .parts__image-slider {
    margin-top: 24vw;
  }
}
.parts__image-slider {
  padding-bottom: 5vw;
}
@media screen and (max-width: 959px) {
  .parts__image-slider {
    padding-bottom: 16vw;
  }
}
@media screen and (max-width: 959px) {
  .parts__image-slider {
    padding-bottom: 1.25vw;
    margin-top: 5vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .parts__image-slider {
    padding-bottom: 4vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .parts__image-slider {
    margin-top: 16vw;
  }
}
.parts__image-slider .image-slider {
  width: 100%;
}
.parts__image-slider .image-slider .swiper-wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}
.parts__image-slider .image-slider .swiper-wrapper .swiper-slide:nth-of-type(even) {
  margin-top: 2.5vw;
}
@media screen and (max-width: 959px) {
  .parts__image-slider .image-slider .swiper-wrapper .swiper-slide:nth-of-type(even) {
    margin-top: 8vw;
  }
}
.parts__image-slider .image-slider .swiper-slide img {
  width: 100%;
  height: auto;
  display: block;
}
.parts__not-found-btn {
  margin: auto;
  margin-top: 3.75vw;
}
@media screen and (max-width: 959px) {
  .parts__not-found-btn {
    margin-top: 12vw;
  }
}
.parts__not-found-btn {
  width: 21.875vw;
}

.bg-parts-block__image-block {
  position: relative;
  z-index: 0;
  pointer-events: none;
}
.bg-parts-block__image {
  pointer-events: none;
}
.bg-parts-block__text-block {
  position: absolute;
  top: 25vw;
  left: 12.5vw;
  pointer-events: all;
}
@media screen and (max-width: 959px) {
  .bg-parts-block__text-block {
    margin-top: 2.5vw;
    position: relative;
    top: auto;
    left: auto;
    text-align: center;
    z-index: 1;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .bg-parts-block__text-block {
    margin-top: 8vw;
  }
}

.relative {
  position: relative;
}

.text-size--xs {
  font-size: 0.6em;
}
.text-size--sm {
  font-size: 0.8em;
}
.text-size--md {
  font-size: 1.2em;
}
.text-size--lg {
  font-size: 1.4em;
}
@media screen and (max-width: 959px) {
  .text-size--lg {
    font-size: 4vw;
  }
}

.contact-block__image-block {
  position: relative;
  z-index: 0;
}
.contact-block__image-block:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(7, 3, 0, 0.75);
  mix-blend-mode: overlay;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
.contact-block__image-block img {
  width: 100%;
}
.contact-block__text-block {
  font-size: 2.25vw;
}
@media (max-width: 959px) {
  .contact-block__text-block {
    font-size: 5.867vw;
  }
}
@media (min-width: 1601px) {
  .contact-block__text-block {
    font-size: 2.25vw;
  }
}
.contact-block__text-block {
  line-height: 1.8;
  position: absolute;
  top: 6.25vw;
  right: 12.5vw;
  z-index: 1;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
  color: #fff;
  padding-top: 2em;
  text-indent: -2em;
}
@media screen and (max-width: 959px) {
  .contact-block__text-block {
    top: 26.6666666667vw;
  }
}
.contact-block__btn-block {
  position: absolute;
  bottom: 6.25vw;
  right: 25vw;
  width: 21.875vw;
}
@media screen and (max-width: 959px) {
  .contact-block__btn-block {
    position: relative;
    bottom: auto;
    right: auto;
    width: 100%;
    width: 100%;
    max-width: 100%;
    margin: auto;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0 6.25vw;
    margin-top: 6.25vw;
    margin-bottom: 6.25vw;
    padding-left: 5vw;
    padding-right: 5vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .contact-block__btn-block {
    padding: 0 5.3333333333vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .contact-block__btn-block {
    margin-top: 20vw;
    margin-bottom: 20vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .contact-block__btn-block {
    padding-left: 16vw;
    padding-right: 16vw;
  }
}
.contact-block__btn-block .common-btn {
  font-size: 1.375vw;
}
@media (max-width: 959px) {
  .contact-block__btn-block .common-btn {
    font-size: 4.533vw;
  }
}
@media (min-width: 1601px) {
  .contact-block__btn-block .common-btn {
    font-size: 1.375vw;
  }
}
.contact-block__btn-block .common-btn {
  height: 6.25vw;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.contact-block__btn-block .common-btn:not(:first-child) {
  margin-top: 1.25vw;
}
@media screen and (max-width: 959px) {
  .contact-block__btn-block .common-btn:not(:first-child) {
    margin-top: 4vw;
  }
}
@media screen and (max-width: 959px) {
  .contact-block__btn-block .common-btn {
    height: 21.3333333333vw;
  }
}

.parts--center {
  text-align: center;
}
.parts__block {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
@media screen and (max-width: 959px) {
  .parts__block {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 3em;
  }
}
.parts__block .parts__text-block {
  width: 50%;
}
@media screen and (max-width: 959px) {
  .parts__block .parts__text-block {
    width: 100%;
  }
}
.parts__block .parts__image-block {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 959px) {
  .parts__block .parts__image-block {
    width: 100%;
    -webkit-box-flex: 0;
    -webkit-flex: none;
        -ms-flex: none;
            flex: none;
  }
}
.parts__block.flex-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.parts__text-block-inner.p-r {
  padding-right: 2.5vw;
}
@media screen and (max-width: 959px) {
  .parts__text-block-inner.p-r {
    padding-right: 8vw;
  }
}
@media screen and (max-width: 959px) {
  .parts__text-block-inner.p-r {
    padding-right: 0vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .parts__text-block-inner.p-r {
    padding-right: 0vw;
  }
}
.parts__heading {
  margin-bottom: 3.125vw;
}
@media screen and (max-width: 959px) {
  .parts__heading {
    margin-bottom: 10vw;
  }
}
@media screen and (max-width: 959px) {
  .parts__heading {
    margin-bottom: 2.5vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .parts__heading {
    margin-bottom: 8vw;
  }
}
.parts__text-block p + p {
  margin-top: 1.25vw;
}
@media screen and (max-width: 959px) {
  .parts__text-block p + p {
    margin-top: 4vw;
  }
}
.parts__image-block {
  position: relative;
  z-index: 0;
}
.parts__image-block img {
  width: 100%;
}
@media screen and (max-width: 959px) {
  .parts__image.right {
    margin-right: -6vw;
  }
}
.parts__image.right img {
  width: 70%;
  margin-left: auto;
}
@media screen and (max-width: 959px) {
  .parts__image.right img {
    width: 90%;
  }
}
@media screen and (max-width: 959px) {
  .parts__image.left {
    margin-left: -6vw;
  }
}
.parts__image.left img {
  width: 70%;
  margin-right: auto;
}
@media screen and (max-width: 959px) {
  .parts__image.left img {
    width: 90%;
  }
}
.parts__image:not(:first-child) {
  margin-top: 1.875vw;
}
@media screen and (max-width: 959px) {
  .parts__image:not(:first-child) {
    margin-top: 6vw;
  }
}
.parts__btn {
  margin-top: 5vw;
}
@media screen and (max-width: 959px) {
  .parts__btn {
    margin-top: 16vw;
  }
}
@media screen and (max-width: 959px) {
  .parts__btn {
    margin-top: 3.75vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .parts__btn {
    margin-top: 12vw;
  }
}
.parts__mark-block {
  margin-bottom: 5vw;
}
@media screen and (max-width: 959px) {
  .parts__mark-block {
    margin-bottom: 16vw;
  }
}
@media screen and (max-width: 959px) {
  .parts__mark-block {
    margin-bottom: 15vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .parts__mark-block {
    margin-bottom: 48vw;
  }
}
.parts__text--center {
  text-align: center;
}
@media screen and (max-width: 959px) {
  .parts__text--center {
    text-align: left;
  }
}
.parts__contents-design.design-01 .parts-contents-design__block.flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 5vw;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-01 .parts-contents-design__block.flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.parts__contents-design.design-01 .parts-contents-design__image-block.layout-01 {
  width: 31.25vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-01 .parts-contents-design__image-block.layout-01 {
    width: 100%;
  }
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-01 .parts-contents-design__image-block.layout-01 .image-01 {
    width: 80vw;
  }
}
.parts__contents-design.design-01 .parts-contents-design__image-block.layout-01 .image-02 {
  width: 18.125vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-01 .parts-contents-design__image-block.layout-01 .image-02 {
    width: 45.3333333333vw;
    margin-left: auto;
  }
}
.parts__contents-design.design-01 .parts-contents-design__image-block.layout-02 {
  position: absolute;
  bottom: 0;
  right: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  width: 100%;
  gap: 1.875vw;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-01 .parts-contents-design__image-block.layout-02 {
    position: relative;
    -webkit-box-orient: inherit;
    -webkit-box-direction: inherit;
    -webkit-flex-direction: inherit;
        -ms-flex-direction: inherit;
            flex-direction: inherit;
    gap: 5.3333333333vw;
    margin-top: 2.5vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .parts__contents-design.design-01 .parts-contents-design__image-block.layout-02 {
    margin-top: 8vw;
  }
}
.parts__contents-design.design-01 .parts-contents-design__image-block.layout-02 .image-01 {
  width: 18.125vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-01 .parts-contents-design__image-block.layout-02 .image-01 {
    width: 55%;
    padding-bottom: 1.875vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .parts__contents-design.design-01 .parts-contents-design__image-block.layout-02 .image-01 {
    padding-bottom: 6vw;
  }
}
.parts__contents-design.design-01 .parts-contents-design__image-block.layout-02 .image-02 {
  width: 18.125vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-01 .parts-contents-design__image-block.layout-02 .image-02 {
    width: 45%;
    padding-top: 1.875vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .parts__contents-design.design-01 .parts-contents-design__image-block.layout-02 .image-02 {
    padding-top: 6vw;
  }
}
.parts__contents-design.design-01 .parts-contents-design__image:not(:first-child) {
  margin-top: 1.875vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-01 .parts-contents-design__image:not(:first-child) {
    margin-top: 6vw;
  }
}
.parts__contents-design.design-01 .parts-contents-design__text-block {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-01 .parts-contents-design__text-block {
    margin-top: -8.75vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .parts__contents-design.design-01 .parts-contents-design__text-block {
    margin-top: -28vw;
  }
}
.parts__contents-design.design-01 .parts-contents-design__text p {
  line-height: 2.1;
}
.parts__contents-design.design-01 .parts-contents-design__heading {
  line-height: 1.6;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-01 .parts-contents-design__heading {
    padding-left: 3.125vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .parts__contents-design.design-01 .parts-contents-design__heading {
    padding-left: 10vw;
  }
}
.parts__contents-design.design-01 .parts-contents-design__heading.horizon {
  position: absolute;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-01 .parts-contents-design__heading.horizon {
    position: relative;
  }
}
.parts__contents-design.design-01 .parts-contents-design__heading.adjust-01 {
  top: 0;
  right: 5vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-01 .parts-contents-design__heading.adjust-01 {
    right: auto;
  }
}
.parts__contents-design.design-02 .parts-contents-design__block.flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 5vw;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-02 .parts-contents-design__block.flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.parts__contents-design.design-02 .parts-contents-design__block:not(:first-child) {
  margin-top: 7.5vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-02 .parts-contents-design__block:not(:first-child) {
    margin-top: 24vw;
  }
}
.parts__contents-design.design-02 .parts-contents-design__heading {
  text-align: right;
  width: 38%;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-02 .parts-contents-design__heading {
    text-align: left;
    width: 100%;
  }
  .parts__contents-design.design-02 .parts-contents-design__heading h2 {
    font-size: 5.8666666667vw;
  }
}
.parts__contents-design.design-02 .parts-contents-design__text-block {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  position: relative;
  z-index: 0;
  font-size: 1.125vw;
}
@media (max-width: 959px) {
  .parts__contents-design.design-02 .parts-contents-design__text-block {
    font-size: 3.467vw;
  }
}
@media (min-width: 1601px) {
  .parts__contents-design.design-02 .parts-contents-design__text-block {
    font-size: 1.125vw;
  }
}
.parts__contents-design.design-02 .parts-contents-design__btn-block .parts__btn-block {
  margin-left: auto;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-02 .parts-contents-design__btn-block .parts__btn-block {
    margin: 0 0 0 auto;
    margin-top: 2.5vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .parts__contents-design.design-02 .parts-contents-design__btn-block .parts__btn-block {
    margin-top: 8vw;
  }
}
.parts__contents-design.design-03 .parts-contents-design__block.flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 5vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-03 .parts-contents-design__block.flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.parts__contents-design.design-03 .parts-contents-design__block:not(:first-child) {
  margin-top: 7.5vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-03 .parts-contents-design__block:not(:first-child) {
    margin-top: 24vw;
  }
}
.parts__contents-design.design-03 .parts-contents-design__image-block.layout-01 {
  width: 50%;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-03 .parts-contents-design__image-block.layout-01 {
    width: 100%;
  }
}
.parts__contents-design.design-03 .parts-contents-design__image-block.layout-02 {
  padding-right: 28.75vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-03 .parts-contents-design__image-block.layout-02 {
    padding-right: 92vw;
  }
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-03 .parts-contents-design__image-block.layout-02 {
    padding-right: 0vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .parts__contents-design.design-03 .parts-contents-design__image-block.layout-02 {
    padding-right: 0vw;
  }
}
.parts__contents-design.design-03 .parts-contents-design__image-block.layout-03 {
  position: relative;
  z-index: 0;
  padding-top: 3.75vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-03 .parts-contents-design__image-block.layout-03 {
    padding-top: 12vw;
  }
}
.parts__contents-design.design-03 .parts-contents-design__image-block.layout-03 {
  padding-right: 28.75vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-03 .parts-contents-design__image-block.layout-03 {
    padding-right: 92vw;
  }
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-03 .parts-contents-design__image-block.layout-03 {
    padding-right: 0vw;
    padding-top: 2.5vw;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 8vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .parts__contents-design.design-03 .parts-contents-design__image-block.layout-03 {
    padding-right: 0vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .parts__contents-design.design-03 .parts-contents-design__image-block.layout-03 {
    padding-top: 8vw;
  }
}
.parts__contents-design.design-03 .parts-contents-design__image-block.layout-03 .image-01 {
  width: 39.375vw;
  margin-left: auto;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-03 .parts-contents-design__image-block.layout-03 .image-01 {
    width: 50%;
    margin-left: inherit;
  }
}
.parts__contents-design.design-03 .parts-contents-design__image-block.layout-03 .image-02 {
  position: absolute;
  width: 28.75vw;
  top: -22.5vw;
  right: -3.75vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-03 .parts-contents-design__image-block.layout-03 .image-02 {
    width: 50%;
    position: relative;
    top: inherit;
    right: inherit;
    padding-top: 2.5vw;
    margin-right: -5.3333333333vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .parts__contents-design.design-03 .parts-contents-design__image-block.layout-03 .image-02 {
    padding-top: 8vw;
  }
}
.parts__contents-design.design-03 .parts-contents-design__heading {
  line-height: 1.6;
}
.parts__contents-design.design-03 .parts-contents-design__heading h2 {
  margin: auto;
  font-size: 2.25vw;
}
@media (max-width: 959px) {
  .parts__contents-design.design-03 .parts-contents-design__heading h2 {
    font-size: 9.6vw;
  }
}
@media (min-width: 1601px) {
  .parts__contents-design.design-03 .parts-contents-design__heading h2 {
    font-size: 2.25vw;
  }
}
.parts__contents-design.design-03 .parts-contents-design__heading.horizon {
  position: absolute;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-03 .parts-contents-design__heading.horizon {
    position: relative;
  }
}
.parts__contents-design.design-03 .parts-contents-design__heading.adjust-01 {
  top: 0;
  right: 0;
  left: 0;
  margin: auto;
  top: -20.625vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-03 .parts-contents-design__heading.adjust-01 {
    top: auto;
  }
}
.parts__contents-design.design-03 .parts-contents-design__text-block {
  width: 50%;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-03 .parts-contents-design__text-block {
    width: 100%;
  }
}
.parts__contents-design.design-03 .parts-contents-design__text-block-inner {
  max-width: 31.875vw;
  margin: auto;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-03 .parts-contents-design__text-block-inner {
    max-width: 100%;
  }
}
.parts__contents-design.design-03 .parts-contents-design__btn-block .parts__btn-block {
  margin-left: auto;
}
.parts__contents-design.design-04 .parts-contents-design__wrap {
  margin-top: 5vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-04 .parts-contents-design__wrap {
    margin-top: 16vw;
  }
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-04 .parts-contents-design__wrap {
    margin-top: 2.5vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .parts__contents-design.design-04 .parts-contents-design__wrap {
    margin-top: 8vw;
  }
}
.parts__contents-design.design-04 .parts-contents-design__block.flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 5vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-04 .parts-contents-design__block.flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10.6666666667vw;
  }
}
.parts__contents-design.design-04 .parts-contents-design__block:not(:first-child) {
  margin-top: 7.5vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-04 .parts-contents-design__block:not(:first-child) {
    margin-top: 24vw;
  }
}
.parts__contents-design.design-04 .parts-contents-design__image-block {
  width: 63%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 2.5vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-04 .parts-contents-design__image-block {
    width: 100%;
    gap: 5.3333333333vw;
  }
}
.parts__contents-design.design-04 .parts-contents-design__image figcaption {
  font-size: 0.875vw;
}
@media (max-width: 959px) {
  .parts__contents-design.design-04 .parts-contents-design__image figcaption {
    font-size: 2.667vw;
  }
}
@media (min-width: 1601px) {
  .parts__contents-design.design-04 .parts-contents-design__image figcaption {
    font-size: 0.875vw;
  }
}
.parts__contents-design.design-04 .parts-contents-design__image figcaption {
  line-height: 1.5;
  margin-top: 1.125vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-04 .parts-contents-design__image figcaption {
    margin-top: 3.6vw;
  }
}
.parts__contents-design.design-04 .parts-contents-design__image figcaption {
  text-align: center;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-04 .parts-contents-design__image figcaption {
    margin-top: 0.625vw;
    letter-spacing: 0.02em;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .parts__contents-design.design-04 .parts-contents-design__image figcaption {
    margin-top: 2vw;
  }
}
.parts__contents-design.design-04 .parts-contents-design__heading {
  line-height: 1.6;
}
.parts__contents-design.design-04 .parts-contents-design__text-block {
  width: 37%;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-04 .parts-contents-design__text-block {
    width: 100%;
  }
}
.parts__contents-design.design-04 .parts-contents-design__company-block {
  font-size: 1.25vw;
}
@media (max-width: 959px) {
  .parts__contents-design.design-04 .parts-contents-design__company-block {
    font-size: 4.8vw;
  }
}
@media (min-width: 1601px) {
  .parts__contents-design.design-04 .parts-contents-design__company-block {
    font-size: 1.25vw;
  }
}
.parts__contents-design.design-04 .parts-contents-design__info-block {
  margin-top: 1.875vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-04 .parts-contents-design__info-block {
    margin-top: 6vw;
  }
}
.parts__contents-design.design-04 .parts-contents-design__address-block {
  margin-top: 1.875vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-04 .parts-contents-design__address-block {
    margin-top: 6vw;
  }
}
.parts__contents-design.design-05 .parts-contents-design__wrap {
  margin-top: 5vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-05 .parts-contents-design__wrap {
    margin-top: 16vw;
  }
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-05 .parts-contents-design__wrap {
    margin-top: 0vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .parts__contents-design.design-05 .parts-contents-design__wrap {
    margin-top: 0vw;
  }
}
.parts__contents-design.design-05 .parts-contents-design__block.flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 5vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-05 .parts-contents-design__block.flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: 10.6666666667vw;
  }
}
.parts__contents-design.design-05 .parts-contents-design__block:not(:first-child) {
  margin-top: 7.5vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-05 .parts-contents-design__block:not(:first-child) {
    margin-top: 24vw;
  }
}
.parts__contents-design.design-05 .parts-contents-design__image-block {
  width: 55%;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-05 .parts-contents-design__image-block {
    width: 100%;
  }
}
.parts__contents-design.design-05 .parts-contents-design__image figure {
  width: 37.5vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-05 .parts-contents-design__image figure {
    width: 100%;
  }
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-05 .parts-contents-design__image.image-01 {
    margin-left: -5.3333333333vw;
    width: 85.3333333333vw;
  }
}
.parts__contents-design.design-05 .parts-contents-design__image.image-02 figure {
  margin-left: auto;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-05 .parts-contents-design__image.image-02 figure {
    width: 74.6666666667vw;
  }
}
.parts__contents-design.design-05 .parts-contents-design__image figcaption {
  font-size: 0.875vw;
}
@media (max-width: 959px) {
  .parts__contents-design.design-05 .parts-contents-design__image figcaption {
    font-size: 2.667vw;
  }
}
@media (min-width: 1601px) {
  .parts__contents-design.design-05 .parts-contents-design__image figcaption {
    font-size: 0.875vw;
  }
}
.parts__contents-design.design-05 .parts-contents-design__image figcaption {
  line-height: 1.5;
  margin-top: 1.125vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-05 .parts-contents-design__image figcaption {
    margin-top: 3.6vw;
  }
}
.parts__contents-design.design-05 .parts-contents-design__image figcaption {
  text-align: center;
}
.parts__contents-design.design-05 .parts-contents-design__image:not(:first-child) {
  margin-top: 3.75vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-05 .parts-contents-design__image:not(:first-child) {
    margin-top: 12vw;
  }
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-05 .parts-contents-design__image:not(:first-child) {
    margin-top: 2.5vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .parts__contents-design.design-05 .parts-contents-design__image:not(:first-child) {
    margin-top: 8vw;
  }
}
.parts__contents-design.design-05 .parts-contents-design__heading {
  line-height: 1.6;
}
.parts__contents-design.design-05 .parts-contents-design__text-block {
  width: 50%;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-05 .parts-contents-design__text-block {
    width: 100%;
  }
}
.parts__contents-design.design-05 .parts-contents-design__text-block-inner {
  max-width: 28.75vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-05 .parts-contents-design__text-block-inner {
    max-width: 100%;
  }
}
.parts__contents-design.design-05 .parts-contents-design__table {
  margin-top: 3.125vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-05 .parts-contents-design__table {
    margin-top: 10vw;
  }
}
.parts__contents-design.design-05 .parts-contents-design__table table {
  text-align: left;
}
.parts__contents-design.design-05 .parts-contents-design__table table tr {
  display: block;
}
.parts__contents-design.design-05 .parts-contents-design__table table tr:not(:first-child) {
  margin-top: 2.5vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-05 .parts-contents-design__table table tr:not(:first-child) {
    margin-top: 8vw;
  }
}
.parts__contents-design.design-05 .parts-contents-design__table table td {
  display: block;
  line-height: 2;
}
.parts__contents-design.design-05 .parts-contents-design__table table td:nth-of-type(1) {
  width: 100%;
  font-size: 1.125vw;
}
@media (max-width: 959px) {
  .parts__contents-design.design-05 .parts-contents-design__table table td:nth-of-type(1) {
    font-size: 4.8vw;
  }
}
@media (min-width: 1601px) {
  .parts__contents-design.design-05 .parts-contents-design__table table td:nth-of-type(1) {
    font-size: 1.125vw;
  }
}
.parts__contents-design.design-05 .parts-contents-design__table table td:nth-of-type(1) {
  margin-bottom: 0.625vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-05 .parts-contents-design__table table td:nth-of-type(1) {
    margin-bottom: 2vw;
  }
}
.parts__contents-design.design-05 .parts-contents-design__table table td:nth-of-type(2) {
  font-size: 1vw;
}
@media (max-width: 959px) {
  .parts__contents-design.design-05 .parts-contents-design__table table td:nth-of-type(2) {
    font-size: 3.733vw;
  }
}
@media (min-width: 1601px) {
  .parts__contents-design.design-05 .parts-contents-design__table table td:nth-of-type(2) {
    font-size: 1vw;
  }
}
.parts__contents-design.design-06 .parts-contents-design__block.flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 5vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-06 .parts-contents-design__block.flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.parts__contents-design.design-06 .parts-contents-design__image-block {
  width: 50%;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-06 .parts-contents-design__image-block {
    width: 100%;
  }
}
.parts__contents-design.design-06 .parts-contents-design__image {
  width: 37.5vw;
  margin-left: auto;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-06 .parts-contents-design__image {
    width: 100%;
    margin-left: inherit;
    margin-right: -5.3333333333vw;
  }
}
.parts__contents-design.design-06 .parts-contents-design__heading {
  line-height: 1.6;
  margin-bottom: 2.5vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-06 .parts-contents-design__heading {
    margin-bottom: 8vw;
  }
}
.parts__contents-design.design-06 .parts-contents-design__heading h2 {
  font-size: 2.25vw;
}
@media (max-width: 959px) {
  .parts__contents-design.design-06 .parts-contents-design__heading h2 {
    font-size: 6.4vw;
  }
}
@media (min-width: 1601px) {
  .parts__contents-design.design-06 .parts-contents-design__heading h2 {
    font-size: 2.25vw;
  }
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-06 .parts-contents-design__heading {
    margin-bottom: 1.875vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .parts__contents-design.design-06 .parts-contents-design__heading {
    margin-bottom: 6vw;
  }
}
.parts__contents-design.design-06 .parts-contents-design__text-block {
  width: 50%;
  position: relative;
  z-index: 0;
  margin-top: 3.75vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-06 .parts-contents-design__text-block {
    margin-top: 12vw;
  }
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-06 .parts-contents-design__text-block {
    width: 100%;
    margin-top: 1.25vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .parts__contents-design.design-06 .parts-contents-design__text-block {
    margin-top: 4vw;
  }
}
.parts__contents-design.design-06 .parts-contents-design__text-block-inner {
  width: 33.75vw;
  margin: auto;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-06 .parts-contents-design__text-block-inner {
    width: 100%;
  }
}
.parts__contents-design.design-07 .parts-contents-design__heading {
  line-height: 1.6;
  width: 36%;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-07 .parts-contents-design__heading {
    width: 100%;
  }
}
.parts__contents-design.design-07 .parts-contents-design__heading h2 {
  font-size: 2.25vw;
}
@media (max-width: 959px) {
  .parts__contents-design.design-07 .parts-contents-design__heading h2 {
    font-size: 6.933vw;
  }
}
@media (min-width: 1601px) {
  .parts__contents-design.design-07 .parts-contents-design__heading h2 {
    font-size: 2.25vw;
  }
}
.parts__contents-design.design-07 .parts-contents-design__image {
  width: 68.75vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-07 .parts-contents-design__image {
    width: 100%;
  }
}
.parts__contents-design.design-07 .parts-contents-design__image img {
  width: 100%;
}
.parts__contents-design.design-07 .parts-contents-design__text-block {
  margin-top: 7.5vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-07 .parts-contents-design__text-block {
    margin-top: 24vw;
  }
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-07 .parts-contents-design__text-block {
    margin-top: 2.5vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .parts__contents-design.design-07 .parts-contents-design__text-block {
    margin-top: 8vw;
  }
}
.parts__contents-design.design-07 .parts-contents-design__text-block-inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-07 .parts-contents-design__text-block-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.parts__contents-design.design-07 .parts-contents-design__text {
  margin-top: 0.625vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-07 .parts-contents-design__text {
    margin-top: 2vw;
  }
}
.parts__contents-design.design-07 .parts-contents-design__text {
  width: 57.5vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-07 .parts-contents-design__text {
    width: 100%;
    margin-top: 2.5vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .parts__contents-design.design-07 .parts-contents-design__text {
    margin-top: 8vw;
  }
}
.parts__contents-design.design-08 .parts-contents-design__heading {
  line-height: 1.6;
  width: 36%;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-08 .parts-contents-design__heading {
    width: 100%;
  }
}
.parts__contents-design.design-08 .parts-contents-design__heading h2 {
  font-size: 2.25vw;
}
@media (max-width: 959px) {
  .parts__contents-design.design-08 .parts-contents-design__heading h2 {
    font-size: 6.933vw;
  }
}
@media (min-width: 1601px) {
  .parts__contents-design.design-08 .parts-contents-design__heading h2 {
    font-size: 2.25vw;
  }
}
.parts__contents-design.design-08 .parts-contents-design__image {
  width: 68.75vw;
  margin-left: auto;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-08 .parts-contents-design__image {
    width: 100%;
  }
}
.parts__contents-design.design-08 .parts-contents-design__image img {
  width: 100%;
}
.parts__contents-design.design-08 .parts-contents-design__text-block {
  margin-top: -6.25vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-08 .parts-contents-design__text-block {
    margin-top: -20vw;
  }
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-08 .parts-contents-design__text-block {
    margin-top: 2.5vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .parts__contents-design.design-08 .parts-contents-design__text-block {
    margin-top: 8vw;
  }
}
.parts__contents-design.design-08 .parts-contents-design__text {
  margin-top: 6.25vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-08 .parts-contents-design__text {
    margin-top: 20vw;
  }
}
.parts__contents-design.design-08 .parts-contents-design__text {
  width: 51.875vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-08 .parts-contents-design__text {
    width: 100%;
    margin-top: 2.5vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .parts__contents-design.design-08 .parts-contents-design__text {
    margin-top: 8vw;
  }
}
.parts__contents-design.design-08 .parts-contents-design__block-slider {
  margin-top: 6.25vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-08 .parts-contents-design__block-slider {
    margin-top: 20vw;
  }
}
.parts__contents-design.design-08 .parts-contents-design__block-slider {
  padding-left: 12.5vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-08 .parts-contents-design__block-slider {
    padding-left: 40vw;
  }
}
.parts__contents-design.design-08 .parts-contents-design__block-slider {
  overflow-x: auto;
  overflow-y: hidden;
  cursor: -webkit-grab;
  cursor: grab;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.parts__contents-design.design-08 .parts-contents-design__block-slider::-webkit-scrollbar {
  display: none;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-08 .parts-contents-design__block-slider {
    margin-top: 5vw;
    padding-left: 1.875vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .parts__contents-design.design-08 .parts-contents-design__block-slider {
    margin-top: 16vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .parts__contents-design.design-08 .parts-contents-design__block-slider {
    padding-left: 6vw;
  }
}
.parts__contents-design.design-09 .parts-contents-design__heading {
  line-height: 1.6;
  width: 36%;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-09 .parts-contents-design__heading {
    width: 100%;
  }
}
.parts__contents-design.design-09 .parts-contents-design__heading h2 {
  font-size: 2.25vw;
}
@media (max-width: 959px) {
  .parts__contents-design.design-09 .parts-contents-design__heading h2 {
    font-size: 6.933vw;
  }
}
@media (min-width: 1601px) {
  .parts__contents-design.design-09 .parts-contents-design__heading h2 {
    font-size: 2.25vw;
  }
}
.parts__contents-design.design-09 .parts-contents-design__image img {
  width: 100%;
}
.parts__contents-design.design-09 .parts-contents-design__text-block {
  margin-top: 7.5vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-09 .parts-contents-design__text-block {
    margin-top: 24vw;
  }
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-09 .parts-contents-design__text-block {
    margin-top: 2.5vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .parts__contents-design.design-09 .parts-contents-design__text-block {
    margin-top: 8vw;
  }
}
.parts__contents-design.design-09 .parts-contents-design__text-block-inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-09 .parts-contents-design__text-block-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.parts__contents-design.design-09 .parts-contents-design__text {
  margin-top: 0.625vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-09 .parts-contents-design__text {
    margin-top: 2vw;
  }
}
.parts__contents-design.design-09 .parts-contents-design__text {
  width: 57.5vw;
}
@media screen and (max-width: 959px) {
  .parts__contents-design.design-09 .parts-contents-design__text {
    width: 100%;
    margin-top: 2.5vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .parts__contents-design.design-09 .parts-contents-design__text {
    margin-top: 8vw;
  }
}

.text-image-block {
  position: relative;
  z-index: 0;
}
.text-image-block__image.left {
  position: absolute;
  width: 21.875vw;
  top: -16.25vw;
  left: 0;
  z-index: -1;
}
@media screen and (max-width: 959px) {
  .text-image-block__image.left {
    width: 80vw;
    top: -181.3333333333vw;
    left: inherit;
    right: -6vw;
  }
}
.text-image-block__image.right {
  position: absolute;
  width: 17.5vw;
  top: -7.5vw;
  right: 0;
  z-index: -1;
}
@media screen and (max-width: 959px) {
  .text-image-block__image.right {
    width: 69.3333333333vw;
    top: -120vw;
    right: -6vw;
  }
}

.mark-block {
  width: 100%;
  opacity: 0.2;
  position: relative;
  z-index: 1;
  padding-left: 1.25vw;
  padding-right: 1.25vw;
}
@media screen and (max-width: 959px) {
  .mark-block {
    padding-left: 4vw;
    padding-right: 4vw;
  }
}
.mark-block {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 959px) {
  .mark-block {
    width: 34.6666666667vw;
  }
}
.mark-block img {
  width: 100%;
}

@media screen and (max-width: 959px) {
  .btn {
    text-align: right;
  }
}
.btn--right {
  text-align: right;
}
.btn--center {
  text-align: center;
}
@media screen and (max-width: 959px) {
  .btn--center {
    text-align: right;
  }
}
.btn__item:not(:first-child) {
  margin-top: 1.875vw;
}
@media screen and (max-width: 959px) {
  .btn__item:not(:first-child) {
    margin-top: 6vw;
  }
}
.btn-margin--sm .btn__item:not(:first-child) {
  margin-top: 0.625vw;
}
@media screen and (max-width: 959px) {
  .btn-margin--sm .btn__item:not(:first-child) {
    margin-top: 2vw;
  }
}

.normal-btn {
  display: inline-block;
  position: relative;
  z-index: 0;
  padding-right: 5.5em;
  font-size: 1vw;
}
@media (max-width: 959px) {
  .normal-btn {
    font-size: 4.267vw;
  }
}
@media (min-width: 1601px) {
  .normal-btn {
    font-size: 1vw;
  }
}
.normal-btn:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url(assets/images/btn-obj.svg);
  background-size: auto 100%;
  background-position: center right;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (max-width: 959px) {
  .normal-btn:before {
    background-size: auto 100%;
  }
}
.normal-btn:hover {
  color: #fff;
}
.normal-btn:hover:before {
  -webkit-transform: translateX(1%);
          transform: translateX(1%);
  background-image: url(assets/images/btn-obj--white.svg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.bg-obj {
  position: relative;
  z-index: 0;
}
.bg-obj--image-01:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.2;
  z-index: -1;
  background-image: url(assets/images/page-mv_pc.png);
  background-size: 100%;
  background-position: top -3.125vw center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 959px) {
  .bg-obj--image-01:before {
    background-image: url(assets/images/page-mv_sp.png);
    background-position: top 7.5vw center;
  }
}
@media screen and (max-width: 959px) {
  .bg-obj--image-02 {
    overflow: hidden;
  }
}
.bg-obj--image-02:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.25;
  z-index: -1;
  background-image: url(assets/images/top/decoration-bg-02_pc.png);
  background-size: 100%;
  background-position: bottom center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 959px) {
  .bg-obj--image-02:before {
    background-image: url(assets/images/top/decoration-bg-02_sp.png);
  }
}
.bg-obj--image-03:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.2;
  z-index: -1;
  background-image: url(assets/images/top/decoration-bg-03_pc.png);
  background-size: 100%;
  background-position: top center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 959px) {
  .bg-obj--image-03:before {
    background-image: url(assets/images/top/decoration-bg-03_sp.png);
  }
}
.bg-obj--image-04:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.2;
  z-index: -1;
  background-image: url(assets/images/page-mv_pc.png);
  background-size: 100%;
  background-position: top 26.25vw center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 959px) {
  .bg-obj--image-04:before {
    background-image: url(assets/images/page-mv_sp.png);
  }
}

.bg-space--adjust {
  margin-top: -18.75vw;
}
@media screen and (max-width: 959px) {
  .bg-space--adjust {
    margin-top: -60vw;
  }
}
@media screen and (max-width: 959px) {
  .bg-space--adjust {
    margin-top: -13.75vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .bg-space--adjust {
    margin-top: -44vw;
  }
}

@media screen and (min-width: 960px) {
  .news-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    margin-bottom: calc(2vw * -1);
  }
  .news-list__item {
    margin-bottom: 2vw;
    margin-right: 2vw;
    width: calc((100% - 2vw * (4 - 1)) / 4);
  }
  .news-list__item:nth-of-type(4n) {
    margin-right: 0;
  }
}
@media screen and (max-width: 959px) {
  .news-list {
    /* SPのみ：横に手動スワイプ（ネイティブスクロール） */
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    -ms-touch-action: pan-x;
        touch-action: pan-x;
    overscroll-behavior-x: contain;
    -webkit-scroll-snap-type: x proximity;
        -ms-scroll-snap-type: x proximity;
            scroll-snap-type: x proximity;
    gap: 5.3333333333vw;
    padding-bottom: 2.1333333333vw;
    margin-right: -6.25vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .news-list {
    margin-right: -20vw;
  }
}
@media screen and (max-width: 959px) {
  .news-list__item {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 69.3333333333vw;
        -ms-flex: 0 0 69.3333333333vw;
            flex: 0 0 69.3333333333vw;
    width: 69.3333333333vw;
    scroll-snap-align: start;
  }
  .news-list__item:last-child {
    padding-right: 6.25vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .news-list__item:last-child {
    padding-right: 20vw;
  }
}
.news-list__item:not(:last-child) {
  padding-bottom: 2.5vw;
}
@media screen and (max-width: 959px) {
  .news-list__item:not(:last-child) {
    padding-bottom: 8vw;
  }
}
.news-list__item:not(:last-child) {
  margin-bottom: 1.25vw;
}
@media screen and (max-width: 959px) {
  .news-list__item:not(:last-child) {
    margin-bottom: 4vw;
  }
}
@media screen and (max-width: 959px) {
  .news-list__item:not(:last-child) {
    padding-bottom: 0;
    margin-bottom: 0;
  }
}
.news-list__item:hover .news-list-item__thumbnail img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.news-list-item__info-block {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1em;
  margin-top: 1.25vw;
}
@media screen and (max-width: 959px) {
  .news-list-item__info-block {
    margin-top: 4vw;
  }
}
.news-list-item__date {
  font-size: 0.75vw;
}
@media (max-width: 959px) {
  .news-list-item__date {
    font-size: 3.2vw;
  }
}
@media (min-width: 1601px) {
  .news-list-item__date {
    font-size: 0.75vw;
  }
}
.news-list-item__category {
  font-size: 0.625vw;
}
@media (max-width: 959px) {
  .news-list-item__category {
    font-size: 2.667vw;
  }
}
@media (min-width: 1601px) {
  .news-list-item__category {
    font-size: 0.625vw;
  }
}
.news-list-item__title {
  margin-top: 1.25vw;
}
@media screen and (max-width: 959px) {
  .news-list-item__title {
    margin-top: 4vw;
  }
}
.news-list-item__title {
  font-size: 0.75vw;
}
@media (max-width: 959px) {
  .news-list-item__title {
    font-size: 3.2vw;
  }
}
@media (min-width: 1601px) {
  .news-list-item__title {
    font-size: 0.75vw;
  }
}
.news-list-item__title {
  line-height: 1.5;
}
.news-list-item__thumbnail {
  overflow: hidden;
}
.news-list-item__thumbnail img {
  aspect-ratio: 13/14;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.category {
  display: inline-block;
  background-color: #fff;
  color: #070300;
  padding-top: 0.25vw;
  padding-bottom: 0.25vw;
}
@media screen and (max-width: 959px) {
  .category {
    padding-top: 0.8vw;
    padding-bottom: 0.8vw;
  }
}
.category {
  padding-left: 0.625vw;
  padding-right: 0.625vw;
}
@media screen and (max-width: 959px) {
  .category {
    padding-left: 2vw;
    padding-right: 2vw;
  }
}

.sub-key {
  overflow: hidden;
}
.sub-key__wrap {
  position: relative;
  z-index: 0;
}
.sub-key__image {
  display: block;
  width: 100%;
  height: 100%;
  mix-blend-mode: lighten;
  opacity: 0.5;
}
.sub-key__text {
  position: absolute;
  top: 50%;
  left: 0%;
  right: 0;
  margin: auto;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
  text-align: center;
  font-size: 2.125vw;
}
@media (max-width: 959px) {
  .sub-key__text {
    font-size: 5.867vw;
  }
}
@media (min-width: 1601px) {
  .sub-key__text {
    font-size: 2.125vw;
  }
}
.sub-key__text {
  line-height: 1.5;
  font-family: "Shippori Mincho", sans-serif;
}
.sub-key__text h3 {
  display: inline-block;
}

.footer {
  background-color: #e6e2e2;
  color: #1d1d1d;
  padding-top: 6.25vw;
}
@media screen and (max-width: 959px) {
  .footer {
    padding-top: 20vw;
  }
}
.footer {
  padding-bottom: 1.875vw;
}
@media screen and (max-width: 959px) {
  .footer {
    padding-bottom: 6vw;
  }
}
@media screen and (max-width: 959px) {
  .footer {
    padding-bottom: 6.25vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .footer {
    padding-bottom: 20vw;
  }
}
.footer__wrap {
  position: relative;
  z-index: 0;
}
.footer__company-block {
  font-size: 1.25vw;
}
@media (max-width: 959px) {
  .footer__company-block {
    font-size: 4.267vw;
  }
}
@media (min-width: 1601px) {
  .footer__company-block {
    font-size: 1.25vw;
  }
}
.footer__block {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1em;
}
@media screen and (max-width: 959px) {
  .footer__block {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.footer__info-block {
  font-size: 0.938vw;
}
@media (max-width: 959px) {
  .footer__info-block {
    font-size: 4vw;
  }
}
@media (min-width: 1601px) {
  .footer__info-block {
    font-size: 0.938vw;
  }
}
.footer__status-block {
  margin-top: 1.25vw;
}
@media screen and (max-width: 959px) {
  .footer__status-block {
    margin-top: 4vw;
  }
}
.footer__status-block {
  font-size: 0.875vw;
}
@media (max-width: 959px) {
  .footer__status-block {
    font-size: 3.733vw;
  }
}
@media (min-width: 1601px) {
  .footer__status-block {
    font-size: 0.875vw;
  }
}
.footer__address-block {
  margin-top: 0.625vw;
}
@media screen and (max-width: 959px) {
  .footer__address-block {
    margin-top: 2vw;
  }
}
.footer__address-block {
  font-size: 0.875vw;
}
@media (max-width: 959px) {
  .footer__address-block {
    font-size: 3.2vw;
  }
}
@media (min-width: 1601px) {
  .footer__address-block {
    font-size: 0.875vw;
  }
}
.footer__legal {
  margin-top: 0.625vw;
}
@media screen and (max-width: 959px) {
  .footer__legal {
    margin-top: 2vw;
  }
}
.footer__legal {
  text-align: right;
  font-size: 0.625vw;
}
@media (max-width: 959px) {
  .footer__legal {
    font-size: 2.667vw;
  }
}
@media (min-width: 1601px) {
  .footer__legal {
    font-size: 0.625vw;
  }
}
@media screen and (max-width: 959px) {
  .footer__legal {
    margin-top: 3.125vw;
    text-align: center;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .footer__legal {
    margin-top: 10vw;
  }
}
.footer__btn-block {
  font-size: 1.125vw;
}
@media (max-width: 959px) {
  .footer__btn-block {
    font-size: 3.733vw;
  }
}
@media (min-width: 1601px) {
  .footer__btn-block {
    font-size: 1.125vw;
  }
}
.footer__btn-block {
  margin-top: 1.875vw;
}
@media screen and (max-width: 959px) {
  .footer__btn-block {
    margin-top: 6vw;
  }
}
.footer__btn-block {
  width: 12.5vw;
}
@media screen and (max-width: 959px) {
  .footer__btn-block {
    width: 42.6666666667vw;
  }
}
@media screen and (max-width: 959px) {
  .footer__navi-block {
    position: relative;
    z-index: 0;
    padding-bottom: 1.875vw;
    margin-bottom: 1.875vw;
    padding-left: 2.5vw;
    padding-right: 2.5vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .footer__navi-block {
    padding-bottom: 6vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .footer__navi-block {
    margin-bottom: 6vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .footer__navi-block {
    padding-left: 8vw;
    padding-right: 8vw;
  }
}
@media screen and (max-width: 959px) {
  .footer__navi-block:before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 100%;
    background-color: #070300;
    height: 0.2666666667vw;
  }
}

.footer-navi {
  -webkit-column-count: 3;
     -moz-column-count: 3;
          column-count: 3;
  -webkit-column-gap: 3.125vw;
     -moz-column-gap: 3.125vw;
          column-gap: 3.125vw;
  font-size: 1.125vw;
}
@media (max-width: 959px) {
  .footer-navi {
    font-size: 3.733vw;
  }
}
@media (min-width: 1601px) {
  .footer-navi {
    font-size: 1.125vw;
  }
}
@media screen and (max-width: 959px) {
  .footer-navi {
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2;
  }
}
.footer-navi__item {
  -webkit-column-break-inside: avoid;
     -moz-column-break-inside: avoid;
          break-inside: avoid;
  margin-bottom: 1.25vw;
}
@media screen and (max-width: 959px) {
  .footer-navi__item {
    margin-bottom: 4vw;
  }
}
@media screen and (max-width: 959px) {
  .footer-navi__item {
    margin-bottom: 1.875vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .footer-navi__item {
    margin-bottom: 6vw;
  }
}
.footer-navi__item:nth-of-type(3) {
  margin-top: 0vw;
}
@media screen and (max-width: 959px) {
  .footer-navi__item:nth-of-type(3) {
    margin-top: 0vw;
  }
}
.footer-navi__item:nth-of-type(3) {
  -moz-column-break-before: column;
       break-before: column;
  -webkit-column-break-before: always;
}
.footer-navi__item:nth-child(5) {
  margin-top: 0vw;
}
@media screen and (max-width: 959px) {
  .footer-navi__item:nth-child(5) {
    margin-top: 0vw;
  }
}
.footer-navi__item:nth-child(5) {
  -moz-column-break-before: column;
       break-before: column;
  -webkit-column-break-before: always;
}
@media screen and (max-width: 959px) {
  .footer-navi__item:nth-child(5) {
    -moz-column-break-before: avoid;
         break-before: avoid;
    -webkit-column-break-before: avoid;
  }
}
@media screen and (max-width: 959px) {
  .footer-navi__item:nth-of-type(7) {
    margin-top: 0vw;
    -moz-column-break-before: column;
         break-before: column;
    -webkit-column-break-before: always;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .footer-navi__item:nth-of-type(7) {
    margin-top: 0vw;
  }
}
.footer-navi__children {
  margin-top: 1.25vw;
}
@media screen and (max-width: 959px) {
  .footer-navi__children {
    margin-top: 4vw;
  }
}
.footer-navi__children {
  padding-left: 1.25vw;
}
@media screen and (max-width: 959px) {
  .footer-navi__children {
    padding-left: 4vw;
  }
}
.footer-navi--sp {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 16vw;
}
.footer-navi--sp .footer-navi__col {
  min-width: 0;
}
.footer-navi--sp .footer-navi__item {
  margin-top: 0;
}

.footer-navi-item {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.footer-navi-item:hover {
  opacity: 0.7;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.footer-navi-children__item:not(:last-child) {
  margin-bottom: 0.5vw;
}
@media screen and (max-width: 959px) {
  .footer-navi-children__item:not(:last-child) {
    margin-bottom: 1.6vw;
  }
}
@media screen and (max-width: 959px) {
  .footer-navi-children__item:not(:last-child) {
    margin-bottom: 0.875vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .footer-navi-children__item:not(:last-child) {
    margin-bottom: 2.8vw;
  }
}
.footer-navi-children__item {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.footer-navi-children__item:hover {
  opacity: 0.7;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.footer-navi-instagram {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.footer-navi-instagram:hover {
  opacity: 0.7;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.footer-navi-item,
.footer-navi-children-item {
  position: relative;
  z-index: 0;
  padding-left: 1.25vw;
}
@media screen and (max-width: 959px) {
  .footer-navi-item,
  .footer-navi-children-item {
    padding-left: 4vw;
  }
}
.footer-navi-item:before,
.footer-navi-children-item:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: -0.375vw;
  width: 100%;
  height: 100%;
  background-image: url(assets/images/icon/arrow-right--black.svg);
  background-size: auto auto;
  background-position: center left;
  background-repeat: no-repeat;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.footer-navi-instagram {
  position: relative;
  z-index: 0;
  padding-left: 1.875vw;
}
@media screen and (max-width: 959px) {
  .footer-navi-instagram {
    padding-left: 6vw;
  }
}
.footer-navi-instagram:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-image: url(assets/images/icon/instagram--black.svg);
  background-size: auto auto;
  background-position: center left;
  background-repeat: no-repeat;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.banner-block {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 1em;
}
@media screen and (max-width: 959px) {
  .banner-block {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: 0.5em;
  }
}
.banner-block__item img {
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 959px) {
  .banner-block__item:nth-of-type(1) {
    width: 49%;
  }
  .banner-block__item:nth-of-type(2) {
    width: 48%;
  }
  .banner-block__item:nth-of-type(3) {
    width: 60%;
  }
  .banner-block__item:nth-of-type(4) {
    width: 30%;
  }
}

.common-btn {
  background-color: #fff;
  color: #070300;
  padding-top: 1.25vw;
  padding-bottom: 1.25vw;
}
@media screen and (max-width: 959px) {
  .common-btn {
    padding-top: 4vw;
    padding-bottom: 4vw;
  }
}
.common-btn {
  font-size: 1.125vw;
}
@media (max-width: 959px) {
  .common-btn {
    font-size: 3.733vw;
  }
}
@media (min-width: 1601px) {
  .common-btn {
    font-size: 1.125vw;
  }
}
.common-btn {
  text-align: center;
  display: block;
  width: 100%;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  border: 0.0625vw solid #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.common-btn small {
  display: block;
}
.common-btn.arrow-btn {
  position: relative;
  z-index: 0;
}
.common-btn.arrow-btn:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 1.25vw;
  width: 0.375vw;
  height: 100%;
  background-image: url(assets/images/icon/arrow-right--black.svg);
  z-index: 1;
  background-size: 100% auto;
  background-position: center right;
  background-repeat: no-repeat;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (max-width: 959px) {
  .common-btn.arrow-btn:before {
    width: 1.0666666667vw;
    right: 2.6666666667vw;
  }
}
.common-btn:hover {
  color: #fff;
  background-color: #070300;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.common-btn:hover.arrow-btn:before {
  background-image: url(assets/images/icon/arrow-right--white.svg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.common-btn:hover span.mail:before {
  background-image: url(assets/images/icon/mail--black.svg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.common-btn:hover span.cart:before {
  background-image: url(assets/images/icon/cart--black.svg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.common-btn--reverse {
  background-color: #070300;
  color: #fff;
  border: 0.0625vw solid #070300;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-top: 1.25vw;
  padding-bottom: 1.25vw;
}
@media screen and (max-width: 959px) {
  .common-btn--reverse {
    padding-top: 4vw;
    padding-bottom: 4vw;
  }
}
.common-btn--reverse {
  font-size: 1vw;
}
@media (max-width: 959px) {
  .common-btn--reverse {
    font-size: 3.733vw;
  }
}
@media (min-width: 1601px) {
  .common-btn--reverse {
    font-size: 1vw;
  }
}
.common-btn--reverse {
  text-align: center;
  display: block;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.common-btn--reverse.border-white {
  border: 0.0625vw solid #fff;
}
.common-btn--reverse.mini {
  padding-top: 0.625vw;
  padding-bottom: 0.625vw;
}
@media screen and (max-width: 959px) {
  .common-btn--reverse.mini {
    padding-top: 2vw;
    padding-bottom: 2vw;
  }
}
.common-btn--reverse.arrow-btn {
  position: relative;
  z-index: 0;
}
.common-btn--reverse.arrow-btn:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 1.25vw;
  width: 0.375vw;
  height: 100%;
  background-image: url(assets/images/icon/arrow-right--white.svg);
  z-index: 1;
  background-size: 100% auto;
  background-position: center right;
  background-repeat: no-repeat;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (max-width: 959px) {
  .common-btn--reverse.arrow-btn:before {
    width: 1.0666666667vw;
    right: 2.6666666667vw;
  }
}
.common-btn--reverse:hover {
  color: #070300;
  background-color: #fff;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.common-btn--reverse:hover.arrow-btn:before {
  background-image: url(assets/images/icon/arrow-right--black.svg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.common-btn--reverse:hover span.mail:before {
  background-image: url(assets/images/icon/mail--black.svg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.common-btn--reverse:hover span.cart:before {
  background-image: url(assets/images/icon/cart--black.svg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.common-btn--reverse {
  background-color: #070300;
  color: #fff;
  border: 0.0625vw solid #070300;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-top: 1.25vw;
  padding-bottom: 1.25vw;
}
@media screen and (max-width: 959px) {
  .common-btn--reverse {
    padding-top: 4vw;
    padding-bottom: 4vw;
  }
}
.common-btn--reverse {
  font-size: 1vw;
}
@media (max-width: 959px) {
  .common-btn--reverse {
    font-size: 3.733vw;
  }
}
@media (min-width: 1601px) {
  .common-btn--reverse {
    font-size: 1vw;
  }
}
.common-btn--reverse {
  text-align: center;
  display: block;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.common-btn--reverse.border-white {
  border: 0.0625vw solid #fff;
}
.common-btn--reverse.mini {
  padding-top: 0.625vw;
  padding-bottom: 0.625vw;
}
@media screen and (max-width: 959px) {
  .common-btn--reverse.mini {
    padding-top: 2vw;
    padding-bottom: 2vw;
  }
}
.common-btn--reverse.arrow-btn {
  position: relative;
  z-index: 0;
}
.common-btn--reverse.arrow-btn:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 1.25vw;
  width: 0.375vw;
  height: 100%;
  background-image: url(assets/images/icon/arrow-right--white.svg);
  z-index: 1;
  background-size: 100% auto;
  background-position: center right;
  background-repeat: no-repeat;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (max-width: 959px) {
  .common-btn--reverse.arrow-btn:before {
    width: 1.0666666667vw;
    right: 2.6666666667vw;
  }
}
.common-btn--reverse:hover {
  color: #070300;
  background-color: #fff;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.common-btn--reverse:hover.arrow-btn:before {
  background-image: url(assets/images/icon/arrow-right--black.svg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.common-btn--reverse:hover span.mail:before {
  background-image: url(assets/images/icon/mail--black.svg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.common-btn--reverse:hover span.cart:before {
  background-image: url(assets/images/icon/cart--black.svg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.common-btn--center {
  background-color: #fff;
  color: #070300;
  border: 0.0625vw solid #070300;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-top: 1.25vw;
  padding-bottom: 1.25vw;
}
@media screen and (max-width: 959px) {
  .common-btn--center {
    padding-top: 4vw;
    padding-bottom: 4vw;
  }
}
.common-btn--center {
  font-size: 1vw;
}
@media (max-width: 959px) {
  .common-btn--center {
    font-size: 3.733vw;
  }
}
@media (min-width: 1601px) {
  .common-btn--center {
    font-size: 1vw;
  }
}
.common-btn--center {
  text-align: center;
  display: block;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.common-btn--center.mini {
  padding-top: 0.625vw;
  padding-bottom: 0.625vw;
}
@media screen and (max-width: 959px) {
  .common-btn--center.mini {
    padding-top: 2vw;
    padding-bottom: 2vw;
  }
}
.common-btn--center.arrow-btn {
  position: relative;
  z-index: 0;
}
.common-btn--center.arrow-btn:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 1.25vw;
  width: 0.625vw;
  height: 100%;
  background-image: url(assets/images/icon/arrow-right--white.svg);
  z-index: 1;
  background-size: auto auto;
  background-position: center right;
  background-repeat: no-repeat;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (max-width: 959px) {
  .common-btn--center.arrow-btn:before {
    width: 1.0666666667vw;
    right: 2.6666666667vw;
  }
}
.common-btn--center:hover {
  color: #fff;
  background-color: #070300;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.common-btn--center:hover.arrow-btn:before {
  background-image: url(assets/images/icon/arrow-right--black.svg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.common-btn--center:hover span.mail:before {
  background-image: url(assets/images/icon/mail--black.svg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.common-btn--center:hover span.cart:before {
  background-image: url(assets/images/icon/cart--black.svg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.main-visual__wrap {
  position: relative;
  z-index: 0;
  height: 100svh;
}
.main-visual__text-block {
  position: absolute;
  bottom: 3.125vw;
  left: 3.125vw;
  z-index: 3;
  opacity: 0;
  -webkit-transition: opacity 0.6s ease;
  transition: opacity 0.6s ease;
}
.main-visual__text-block.active {
  opacity: 1;
  -webkit-transition: opacity 0.6s ease;
  transition: opacity 0.6s ease;
}
@media screen and (max-width: 959px) {
  .main-visual__text-block {
    bottom: 5.3333333333vw;
    left: 5.3333333333vw;
  }
}
.main-visual__title {
  font-size: 2.313vw;
}
@media (max-width: 959px) {
  .main-visual__title {
    font-size: 5.867vw;
  }
}
@media (min-width: 1601px) {
  .main-visual__title {
    font-size: 2.313vw;
  }
}
.main-visual__title {
  margin-bottom: 1.875vw;
}
@media screen and (max-width: 959px) {
  .main-visual__title {
    margin-bottom: 6vw;
  }
}
.main-visual__title {
  line-height: 1.5;
}
.main-visual__text {
  font-size: 1.25vw;
}
@media (max-width: 959px) {
  .main-visual__text {
    font-size: 3.467vw;
  }
}
@media (min-width: 1601px) {
  .main-visual__text {
    font-size: 1.25vw;
  }
}
.main-visual__swiper {
  width: 100%;
  height: 100%;
  -webkit-transition: opacity 0.35s ease;
  transition: opacity 0.35s ease;
}
.main-visual__swiper .main-visual-slider {
  width: 100%;
  height: 100%;
}
.main-visual__swiper .swiper-wrapper {
  width: 100%;
  height: 100%;
}
.main-visual__swiper .swiper-slide {
  width: 100%;
  height: 100%;
}
.main-visual__swiper .swiper-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.main-visual--mv-pending .main-visual__swiper {
  opacity: 0;
}

.page-loading {
  position: fixed;
  inset: 0;
  z-index: 100000;
  background-color: #000;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: opacity 0.5s ease, visibility 0.5s ease;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  visibility: visible;
  opacity: 1;
}
.page-loading::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url(assets/images/bg-loading_pc.png) center/cover no-repeat;
  opacity: 0.15;
  pointer-events: none;
}
@media screen and (max-width: 959px) {
  .page-loading::before {
    background: url(assets/images/bg-loading_sp.png) center/cover no-repeat;
  }
}
.page-loading.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.page-loading__logo {
  position: relative;
  z-index: 1;
}
.page-loading__logo img {
  display: block;
  width: 17.5vw;
  height: auto;
}
.page-loading__logo img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.page-loading__logo img {
  -webkit-animation: page-loading-logo 2s ease-in-out;
          animation: page-loading-logo 2s ease-in-out;
  opacity: 1;
}
@media screen and (max-width: 959px) {
  .page-loading__logo img {
    width: 53.3333333333vw;
  }
}

html.is-loading-lock,
body.is-loading-lock {
  overflow: hidden;
  height: 100%;
}

body.is-loading-lock {
  position: fixed;
  left: 0;
  width: 100%;
  -ms-scroll-chaining: none;
      overscroll-behavior: none;
}

@-webkit-keyframes page-loading-logo {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes page-loading-logo {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.page-mv__title-block {
  position: relative;
  z-index: 0;
  height: 42.5vw;
}
@media screen and (max-width: 959px) {
  .page-mv__title-block {
    height: 120vw;
  }
}
.page-mv__title {
  height: 100%;
  font-size: 2.25vw;
}
@media (max-width: 959px) {
  .page-mv__title {
    font-size: 6.933vw;
  }
}
@media (min-width: 1601px) {
  .page-mv__title {
    font-size: 2.25vw;
  }
}
.page-mv__title {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-align: center;
  text-orientation: upright;
  color: #fff;
  padding-top: 2em;
  text-indent: -2em;
  position: absolute;
  top: 45%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media screen and (max-width: 959px) {
  .page-mv__title {
    top: 50%;
  }
}
.page-mv__title.indent {
  text-indent: -4em;
}
.page-mv__title h1 {
  line-height: 1.5;
  letter-spacing: 0.5em;
  width: 100%;
}
.page-mv__title h1 span {
  position: relative;
  z-index: 0;
}
.page-mv__title h1 span::before {
  content: "";
  display: block;
  width: 0.0625vw;
  height: 3.75vw;
  background-color: #fff;
  position: absolute;
  top: 105%;
  left: 0;
  right: 0;
  margin: auto;
  z-index: -1;
}
@media screen and (max-width: 959px) {
  .page-mv__title h1 span::before {
    width: 0.2666666667vw;
    height: 16vw;
  }
}
.page-mv__contents-link {
  margin-bottom: 6.25vw;
}
@media screen and (max-width: 959px) {
  .page-mv__contents-link {
    margin-bottom: 20vw;
  }
}

.map__wrap {
  width: 50vw;
  margin: auto;
}
@media screen and (max-width: 959px) {
  .map__wrap {
    width: 100%;
  }
}
.map__wrap img {
  width: 100%;
}

.wysiwyg {
  font-weight: 500;
  line-height: 1.8;
  font-size: 1.125vw;
}
@media (max-width: 959px) {
  .wysiwyg {
    font-size: 4.8vw;
  }
}
@media (min-width: 1601px) {
  .wysiwyg {
    font-size: 1.125vw;
  }
}
.wysiwyg h2,
.wysiwyg h3,
.wysiwyg h4,
.wysiwyg table,
.wysiwyg dl,
.wysiwyg blockquote, .wysiwyg > ul, .wysiwyg > ol, .wysiwyg > figure, .wysiwyg > div {
  margin-bottom: 1em;
}
.wysiwyg h1 {
  font-weight: bold;
  line-height: 1.6;
  padding-bottom: 0.75vw;
}
@media screen and (max-width: 959px) {
  .wysiwyg h1 {
    padding-bottom: 2.4vw;
  }
}
.wysiwyg h1 {
  font-size: 1.625vw;
}
@media (max-width: 959px) {
  .wysiwyg h1 {
    font-size: 6.933vw;
  }
}
@media (min-width: 1601px) {
  .wysiwyg h1 {
    font-size: 1.625vw;
  }
}
.wysiwyg h2 {
  font-weight: bold;
  line-height: 1.6;
  padding-bottom: 0.75vw;
}
@media screen and (max-width: 959px) {
  .wysiwyg h2 {
    padding-bottom: 2.4vw;
  }
}
.wysiwyg h3 {
  font-weight: bold;
  line-height: 1.6;
  padding-bottom: 0.25vw;
}
@media screen and (max-width: 959px) {
  .wysiwyg h3 {
    padding-bottom: 0.8vw;
  }
}
.wysiwyg h4 {
  font-weight: bold;
  line-height: 1.6;
}
.wysiwyg p {
  line-height: 1.8;
  font-size: 1vw;
}
@media (max-width: 959px) {
  .wysiwyg p {
    font-size: 4.267vw;
  }
}
@media (min-width: 1601px) {
  .wysiwyg p {
    font-size: 1vw;
  }
}
.wysiwyg p + p {
  margin-top: 1.25vw;
}
@media screen and (max-width: 959px) {
  .wysiwyg p + p {
    margin-top: 4vw;
  }
}
.wysiwyg .wp-block-table {
  overflow-x: scroll;
}
.wysiwyg .wp-block-table::-webkit-scrollbar {
  width: vw-pc(10);
}
.wysiwyg .wp-block-table::-webkit-scrollbar-track {
  border-radius: vw-pc(10);
  border: 1px solid #e7e7e7;
}
.wysiwyg .wp-block-table::-webkit-scrollbar-thumb {
  background-color: #f2f2f2;
  border-radius: vw-pc(10);
}
.wysiwyg img {
  max-width: 100%;
  width: 100%;
}
.wysiwyg img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.wysiwyg img.alignright {
  float: right;
  margin-left: 1.5em;
}
.wysiwyg img.alignleft {
  float: left;
  margin-right: 1.5em;
}
.wysiwyg table thead {
  background-color: #454545;
  color: #fff;
  text-align: right;
}
.wysiwyg table thead th {
  text-align: center;
}
.wysiwyg table th,
.wysiwyg table td {
  padding-left: 0.75vw;
  padding-right: 0.75vw;
}
@media screen and (max-width: 959px) {
  .wysiwyg table th,
  .wysiwyg table td {
    padding-left: 2.4vw;
    padding-right: 2.4vw;
  }
}
.wysiwyg table th,
.wysiwyg table td {
  padding-top: 0.75vw;
  padding-bottom: 0.75vw;
}
@media screen and (max-width: 959px) {
  .wysiwyg table th,
  .wysiwyg table td {
    padding-top: 2.4vw;
    padding-bottom: 2.4vw;
  }
}
.wysiwyg table th,
.wysiwyg table td {
  white-space: nowrap;
  position: relative;
}
.wysiwyg table th::after,
.wysiwyg table td::after {
  content: "";
  display: block;
  width: vw-pc(2);
  height: vw-pc(1.6);
  background-color: #e6e6e6;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.wysiwyg table th:last-child::after,
.wysiwyg table td:last-child::after {
  display: none;
}
.wysiwyg table tbody tr td {
  border-bottom: vw-pc(2) solid #e6e6e6;
}
.wysiwyg table tbody tr td:first-child {
  background-color: #f2f2f2;
}
.wysiwyg table tbody tr td:first-child::after {
  display: none;
}
.wysiwyg table tbody tr th {
  background-color: #f2f2f2;
}
.wysiwyg dl {
  border: 1px solid #ccc;
}
.wysiwyg dt,
.wysiwyg dd {
  padding-left: 0.75vw;
  padding-right: 0.75vw;
}
@media screen and (max-width: 959px) {
  .wysiwyg dt,
  .wysiwyg dd {
    padding-left: 2.4vw;
    padding-right: 2.4vw;
  }
}
.wysiwyg dt,
.wysiwyg dd {
  padding-top: 0.75vw;
  padding-bottom: 0.75vw;
}
@media screen and (max-width: 959px) {
  .wysiwyg dt,
  .wysiwyg dd {
    padding-top: 2.4vw;
    padding-bottom: 2.4vw;
  }
}
.wysiwyg dt,
.wysiwyg dd {
  line-height: 1.6;
}
.wysiwyg dt {
  background-color: #454545;
  color: #fff;
}
.wysiwyg blockquote {
  line-height: 1.8;
  background-color: #f2f2f2;
  padding-left: 3vw;
  padding-right: 3vw;
}
@media screen and (max-width: 959px) {
  .wysiwyg blockquote {
    padding-left: 9.6vw;
    padding-right: 9.6vw;
  }
}
.wysiwyg blockquote {
  padding-top: 3vw;
  padding-bottom: 3vw;
}
@media screen and (max-width: 959px) {
  .wysiwyg blockquote {
    padding-top: 9.6vw;
    padding-bottom: 9.6vw;
  }
}
.wysiwyg blockquote {
  position: relative;
}
.wysiwyg blockquote::before {
  content: "“";
  position: absolute;
  top: vw-pc(12);
  left: vw-pc(24);
  color: #9e9b94;
}
.wysiwyg blockquote::after {
  content: "”";
  position: absolute;
  bottom: vw-pc(12);
  right: vw-pc(24);
  color: #9e9b94;
}
.wysiwyg blockquote cite {
  display: block;
  text-align: right;
  color: #6f6c67;
  position: relative;
}
.wysiwyg blockquote cite::before {
  content: "";
  display: inline-block;
  height: vw-pc(1);
  width: vw-pc(28);
  background-color: #707070;
  vertical-align: middle;
  margin-right: vw-pc(1.5);
}
.wysiwyg ul {
  list-style: disc;
}
.wysiwyg ol {
  list-style: decimal;
}
.wysiwyg ul,
.wysiwyg ol {
  padding-left: vw-pc(1.3);
}
.wysiwyg ul li,
.wysiwyg ol li {
  line-height: 1.8;
}
.wysiwyg strong {
  font-weight: bold;
}
.wysiwyg a {
  font-size: 1vw;
}
@media (max-width: 959px) {
  .wysiwyg a {
    font-size: 4.267vw;
  }
}
@media (min-width: 1601px) {
  .wysiwyg a {
    font-size: 1vw;
  }
}
.wysiwyg a {
  line-height: 1;
}

.single__title-block {
  margin-bottom: 3.75vw;
}
@media screen and (max-width: 959px) {
  .single__title-block {
    margin-bottom: 12vw;
  }
}
.single__info-block {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1em;
}
.single__date {
  font-size: 0.875vw;
}
@media (max-width: 959px) {
  .single__date {
    font-size: 3.733vw;
  }
}
@media (min-width: 1601px) {
  .single__date {
    font-size: 0.875vw;
  }
}
.single__category {
  font-size: 0.75vw;
}
@media (max-width: 959px) {
  .single__category {
    font-size: 3.2vw;
  }
}
@media (min-width: 1601px) {
  .single__category {
    font-size: 0.75vw;
  }
}
.single__sub-title {
  margin-top: 3.75vw;
}
@media screen and (max-width: 959px) {
  .single__sub-title {
    margin-top: 12vw;
  }
}
.single__sub-title {
  position: relative;
  z-index: 0;
  padding-left: 1.2em;
}
.single__sub-title:before {
  content: "";
  display: block;
  width: 0.625vw;
  height: 1px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  color: #070300;
}
@media screen and (max-width: 959px) {
  .single__sub-title:before {
    width: 2.6666666667vw;
  }
}
.single__sub-title.white:before {
  background-color: #fff;
}
.single__sub-title.blue:before {
  background-color: #01a1e9;
}
.single__list-block ul {
  list-style: none;
}
.single__list-block ul li {
  line-height: 1.8;
  position: relative;
  z-index: 0;
  padding-left: 1.2em;
}
.single__list-block ul li:before {
  content: "";
  display: block;
  width: 0.75vw;
  height: 0.75vw;
  position: absolute;
  top: 0.5em;
  left: 0;
  background-color: #fff;
  border-radius: 50%;
}
@media screen and (max-width: 959px) {
  .single__list-block ul li:before {
    top: 3.2vw;
    width: 2.6666666667vw;
    height: 2.6666666667vw;
  }
}
.single__list-block ul li:not(:first-child) {
  margin-top: 0.625vw;
}
@media screen and (max-width: 959px) {
  .single__list-block ul li:not(:first-child) {
    margin-top: 2vw;
  }
}
.single__number-block ol {
  padding-left: 1em;
}
.single__number-block ol li:not(:first-child) {
  margin-top: 0.625vw;
}
@media screen and (max-width: 959px) {
  .single__number-block ol li:not(:first-child) {
    margin-top: 2vw;
  }
}
.single__pagination {
  max-width: 37.5vw;
  margin: auto;
  width: 100%;
  margin-top: 3.75vw;
}
@media screen and (max-width: 959px) {
  .single__pagination {
    margin-top: 12vw;
  }
}
@media screen and (max-width: 959px) {
  .single__pagination {
    margin-top: 2.5vw;
    max-width: 100%;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .single__pagination {
    margin-top: 8vw;
  }
}
.single__btn {
  margin-top: 2.5vw;
}
@media screen and (max-width: 959px) {
  .single__btn {
    margin-top: 8vw;
  }
}
@media screen and (max-width: 959px) {
  .single__btn {
    margin-top: 1.25vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .single__btn {
    margin-top: 4vw;
  }
}

.pagination__block {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1em;
}
.pagination__block:not(:first-child) {
  margin-top: 1.25vw;
}
@media screen and (max-width: 959px) {
  .pagination__block:not(:first-child) {
    margin-top: 4vw;
  }
}
.pagination__item {
  width: 17.5vw;
}
@media screen and (max-width: 959px) {
  .pagination__item {
    width: 100%;
  }
}

.page-list__wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2em;
}
@media screen and (max-width: 959px) {
  .page-list__wrap {
    grid-template-columns: repeat(1, 1fr);
    gap: 1em;
  }
}

.instagram img {
  width: 100%;
}

.bg-image-block img {
  display: block;
}

.swiper-wrapper {
  -webkit-transition-timing-function: linear !important;
          transition-timing-function: linear !important;
}

.contents-link__wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2em;
}
@media screen and (max-width: 959px) {
  .contents-link__wrap {
    gap: 1em;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
}
.contents-link__item {
  text-align: center;
  border: 0.0625vw solid #fff;
  width: calc((100% - 8em) / 5);
  height: 3.75vw;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  z-index: 0;
  font-size: 1.125vw;
}
@media (max-width: 959px) {
  .contents-link__item {
    font-size: 3.467vw;
  }
}
@media (min-width: 1601px) {
  .contents-link__item {
    font-size: 1.125vw;
  }
}
@media screen and (max-width: 959px) {
  .contents-link__item {
    width: calc((100% - 3em) / 3);
    height: 14.6666666667vw;
  }
}
.contents-link__item:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 1.25vw;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1.25vw;
  height: 100%;
  background-image: url(assets/images/icon/arrow-bottom--white.svg);
  background-size: auto auto;
  background-position: center right;
  background-repeat: no-repeat;
  z-index: 1;
}
@media screen and (max-width: 959px) {
  .contents-link__item:before {
    background-size: 100% auto;
    top: inherit;
    left: 0;
    right: 0;
    margin: auto;
    -webkit-transform: translateY(0);
            transform: translateY(0);
    bottom: 0;
    width: 2.1333333333vw;
    background-position: bottom 20% center;
  }
}
@media screen and (max-width: 959px) {
  .contents-link__item .icon-link {
    padding-bottom: 1.25vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .contents-link__item .icon-link {
    padding-bottom: 4vw;
  }
}
.contents-link__item:hover {
  cursor: pointer;
  background-color: #fff;
  color: #070300;
}
.contents-link__item:hover:before {
  background-image: url(assets/images/icon/arrow-bottom--black.svg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.access-map iframe {
  width: 100%;
  height: 100%;
  aspect-ratio: 16/9;
  -webkit-filter: grayscale(100%);
          filter: grayscale(100%);
}
@media screen and (max-width: 959px) {
  .access-map iframe {
    aspect-ratio: 1/1;
  }
}

.margin-left--auto {
  margin-left: calc(6.25vw * -1);
}
@media screen and (max-width: 959px) {
  .margin-left--auto {
    margin-left: calc(5.3333333333vw * -1);
  }
}
.margin-left--auto--mini {
  margin-left: calc(6.25vw * -2);
}
@media screen and (max-width: 959px) {
  .margin-left--auto--mini {
    margin-left: calc(5.3333333333vw * -1);
  }
}

.margin-right--auto {
  margin-right: calc(6.25vw * -1);
}
@media screen and (max-width: 959px) {
  .margin-right--auto {
    margin-right: calc(5.3333333333vw * -1);
  }
}
.margin-right--auto--mini {
  margin-right: calc(6.25vw * -2);
}
@media screen and (max-width: 959px) {
  .margin-right--auto--mini {
    margin-right: calc(5.3333333333vw * -1);
  }
}

.relation-link__wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4em;
}
@media screen and (max-width: 959px) {
  .relation-link__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2em;
  }
}
.relation-link__item {
  border: 0.0625vw solid #fff;
  width: 33.75vw;
  height: 5.625vw;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  z-index: 0;
  font-size: 1.688vw;
}
@media (max-width: 959px) {
  .relation-link__item {
    font-size: 7.2vw;
  }
}
@media (min-width: 1601px) {
  .relation-link__item {
    font-size: 1.688vw;
  }
}
.relation-link__item {
  cursor: pointer;
}
@media screen and (max-width: 959px) {
  .relation-link__item {
    width: 100%;
    height: 16vw;
    font-size: 1vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .relation-link__item {
    font-size: 3.467vw;
  }
}
@media screen and (max-width: 959px) and (min-width: 1601px) {
  .relation-link__item {
    font-size: 1vw;
  }
}
.relation-link__item:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 1.25vw;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0.375vw;
  height: 100%;
  background-image: url(assets/images/icon/arrow-right--white.svg);
  background-size: 100% auto;
  background-position: center right;
  background-repeat: no-repeat;
  z-index: 1;
}
@media screen and (max-width: 959px) {
  .relation-link__item:before {
    width: 2.6666666667vw;
    right: 2.6666666667vw;
  }
}
.relation-link__item:hover {
  background-color: #fff;
  color: #070300;
}
.relation-link__item:hover:before {
  background-image: url(assets/images/icon/arrow-right--black.svg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.parts-brand-story__wrap {
  position: relative;
  z-index: 0;
}
.parts-brand-story__text-block {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  margin: auto;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
  text-align: center;
}
.parts-brand-story__title {
  font-size: 2.5vw;
}
@media (max-width: 959px) {
  .parts-brand-story__title {
    font-size: 5.867vw;
  }
}
@media (min-width: 1601px) {
  .parts-brand-story__title {
    font-size: 2.5vw;
  }
}
.parts-brand-story__title h2 {
  letter-spacing: 0.05em;
  line-height: 1.6;
}
.parts-brand-story__text {
  margin-top: 3.75vw;
}
@media screen and (max-width: 959px) {
  .parts-brand-story__text {
    margin-top: 12vw;
  }
}
@media screen and (max-width: 959px) {
  .parts-brand-story__text {
    margin-top: 2.5vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .parts-brand-story__text {
    margin-top: 8vw;
  }
}
.parts-brand-story__text p {
  line-height: 2.8;
}

.parts-banner-design__block {
  width: 75vw;
  margin: auto;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 959px) {
  .parts-banner-design__block {
    width: 100%;
  }
}
.parts-banner-design__block:not(:first-child) {
  margin-top: 6.25vw;
}
@media screen and (max-width: 959px) {
  .parts-banner-design__block:not(:first-child) {
    margin-top: 20vw;
  }
}
@media screen and (max-width: 959px) {
  .parts-banner-design__block:not(:first-child) {
    margin-top: 2.5vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .parts-banner-design__block:not(:first-child) {
    margin-top: 8vw;
  }
}
.parts-banner-design__image img {
  width: 100%;
}
.parts-banner-design__title {
  font-size: 2.25vw;
}
@media (max-width: 959px) {
  .parts-banner-design__title {
    font-size: 6.4vw;
  }
}
@media (min-width: 1601px) {
  .parts-banner-design__title {
    font-size: 2.25vw;
  }
}
.parts-banner-design__title h2 {
  letter-spacing: 0.05em;
}
.parts-banner-design__text-block {
  position: absolute;
  top: 50%;
  left: 3.125vw;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
}
@media screen and (max-width: 959px) {
  .parts-banner-design__text-block {
    position: relative;
    left: 0;
    right: 0;
    margin: auto;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
    margin-top: 2.5vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .parts-banner-design__text-block {
    margin-top: 8vw;
  }
}
.parts-banner-design__text-block--reverse {
  position: absolute;
  top: 50%;
  right: 3.125vw;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
}
@media screen and (max-width: 959px) {
  .parts-banner-design__text-block--reverse {
    position: relative;
    left: 0;
    right: 0;
    margin: auto;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
    margin-top: 2.5vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .parts-banner-design__text-block--reverse {
    margin-top: 8vw;
  }
}
.parts-banner-design__text {
  margin-top: 2.5vw;
}
@media screen and (max-width: 959px) {
  .parts-banner-design__text {
    margin-top: 8vw;
  }
}
.parts-banner-design__text {
  width: 26.25vw;
}
@media screen and (max-width: 959px) {
  .parts-banner-design__text {
    width: 100%;
  }
}
.parts-banner-design__text p {
  line-height: 2;
}

.parts-product-info-design__wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6em;
  width: 75vw;
  margin: auto;
}
@media screen and (max-width: 959px) {
  .parts-product-info-design__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4em;
    width: 100%;
  }
}
.parts-product-info-design__block {
  width: 50%;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 959px) {
  .parts-product-info-design__block {
    width: 100%;
  }
}
.parts-product-info-design__block::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #070300;
  z-index: 1;
  opacity: 0.8;
}
@media screen and (max-width: 959px) {
  .parts-product-info-design__block::before {
    display: none;
  }
}
.parts-product-info-design__image img {
  width: 100%;
}
.parts-product-info-design__text-block {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  margin: auto;
  text-align: center;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
}
@media screen and (max-width: 959px) {
  .parts-product-info-design__text-block {
    position: relative;
    left: 0;
    right: 0;
    margin: auto;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
    margin-top: 2.5vw;
    text-align: left;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .parts-product-info-design__text-block {
    margin-top: 8vw;
  }
}
.parts-product-info-design__title {
  font-size: 2.25vw;
}
@media (max-width: 959px) {
  .parts-product-info-design__title {
    font-size: 6.4vw;
  }
}
@media (min-width: 1601px) {
  .parts-product-info-design__title {
    font-size: 2.25vw;
  }
}
.parts-product-info-design__title h2 {
  letter-spacing: 0.05em;
}
.parts-product-info-design__text {
  margin-top: 2.5vw;
}
@media screen and (max-width: 959px) {
  .parts-product-info-design__text {
    margin-top: 8vw;
  }
}
.parts-product-info-design__text {
  font-size: 1.125vw;
}
@media (max-width: 959px) {
  .parts-product-info-design__text {
    font-size: 3.467vw;
  }
}
@media (min-width: 1601px) {
  .parts-product-info-design__text {
    font-size: 1.125vw;
  }
}
@media screen and (max-width: 959px) {
  .parts-product-info-design__text {
    font-size: 2.9333333333vw;
    margin-top: 2.5vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .parts-product-info-design__text {
    margin-top: 8vw;
  }
}
.parts-product-info-design__text p {
  line-height: 2;
}
.parts-product-info-design__btn-block {
  margin-top: 3.75vw;
}
@media screen and (max-width: 959px) {
  .parts-product-info-design__btn-block {
    margin-top: 12vw;
  }
}
@media screen and (max-width: 959px) {
  .parts-product-info-design__btn-block {
    margin-top: 2.5vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .parts-product-info-design__btn-block {
    margin-top: 8vw;
  }
}
.parts-product-info-design__btn-block .parts__btn-block {
  margin: auto;
}

.parts-product-detail__block {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 3em;
}
@media screen and (max-width: 959px) {
  .parts-product-detail__block {
    gap: 2em;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.parts-product-detail__image-block {
  width: 25vw;
}
@media screen and (max-width: 959px) {
  .parts-product-detail__image-block {
    width: 100%;
  }
}
.parts-product-detail__image-block img {
  width: 100%;
}
.parts-product-detail__image-block figcaption {
  font-size: 0.875vw;
}
@media (max-width: 959px) {
  .parts-product-detail__image-block figcaption {
    font-size: 3.733vw;
  }
}
@media (min-width: 1601px) {
  .parts-product-detail__image-block figcaption {
    font-size: 0.875vw;
  }
}
.parts-product-detail__image-block figcaption {
  text-align: center;
  margin-top: 2.5vw;
}
@media screen and (max-width: 959px) {
  .parts-product-detail__image-block figcaption {
    margin-top: 8vw;
  }
}
@media screen and (max-width: 959px) {
  .parts-product-detail__image-block figcaption {
    margin-top: 1.25vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .parts-product-detail__image-block figcaption {
    margin-top: 4vw;
  }
}
.parts-product-detail__text-block {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 959px) {
  .parts-product-detail__text-block {
    -webkit-box-flex: 0;
    -webkit-flex: none;
        -ms-flex: none;
            flex: none;
  }
}
.parts-product-detail__tag-list {
  margin-top: 2.5vw;
}
@media screen and (max-width: 959px) {
  .parts-product-detail__tag-list {
    margin-top: 8vw;
  }
}
.parts-product-detail__title-block {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 2em;
}
@media screen and (max-width: 959px) {
  .parts-product-detail__title-block {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1.5em;
  }
}
.parts-product-detail__title {
  font-size: 2.5vw;
}
@media (max-width: 959px) {
  .parts-product-detail__title {
    font-size: 6.933vw;
  }
}
@media (min-width: 1601px) {
  .parts-product-detail__title {
    font-size: 2.5vw;
  }
}
.parts-product-detail__title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.parts-product-detail__title .ruby {
  font-size: 0.4em;
  display: inline-block;
  margin-left: -0.5em;
}
.parts-product-detail__sub-title {
  font-size: 1.25vw;
}
@media (max-width: 959px) {
  .parts-product-detail__sub-title {
    font-size: 3.733vw;
  }
}
@media (min-width: 1601px) {
  .parts-product-detail__sub-title {
    font-size: 1.25vw;
  }
}
.parts-product-detail__text {
  margin-top: 2.5vw;
}
@media screen and (max-width: 959px) {
  .parts-product-detail__text {
    margin-top: 8vw;
  }
}
.parts-product-detail__text {
  margin-top: 2.5vw;
}
@media screen and (max-width: 959px) {
  .parts-product-detail__text {
    margin-top: 8vw;
  }
}
.parts-product-detail__text p {
  line-height: 1.8;
}
.parts-product-detail__btn-block {
  margin-top: 3.75vw;
}
@media screen and (max-width: 959px) {
  .parts-product-detail__btn-block {
    margin-top: 12vw;
  }
}
.parts-product-detail__btn-block .parts__btn-block {
  margin-left: auto;
}

.tag-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 1em;
}
.tag-list__item {
  border: 0.0625vw solid #fff;
  padding: 0.5em;
  font-size: 0.875vw;
}
@media (max-width: 959px) {
  .tag-list__item {
    font-size: 3.733vw;
  }
}
@media (min-width: 1601px) {
  .tag-list__item {
    font-size: 0.875vw;
  }
}

.side-line {
  background-color: #fff;
  width: 100%;
  height: 0.0625vw;
}

.product-list__block {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6em 2em;
}
@media screen and (max-width: 959px) {
  .product-list__block {
    gap: 4em 2em;
    grid-template-columns: repeat(2, 1fr);
  }
}
.product-list__image img {
  width: 100%;
}
.product-list__title {
  margin-top: 1.25vw;
}
@media screen and (max-width: 959px) {
  .product-list__title {
    margin-top: 4vw;
  }
}
.product-list__title {
  font-size: 1.25vw;
}
@media (max-width: 959px) {
  .product-list__title {
    font-size: 3.2vw;
  }
}
@media (min-width: 1601px) {
  .product-list__title {
    font-size: 1.25vw;
  }
}
.product-list__title {
  text-align: center;
}
.product-list__item {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.product-list__item:hover {
  opacity: 0.7;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

#sp-fixed-btn {
  opacity: 0;
  visibility: hidden;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
#sp-fixed-btn.active {
  opacity: 1;
  visibility: visible;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (min-width: 960px) {
  #sp-fixed-btn {
    display: none;
  }
}
@media screen and (max-width: 959px) {
  #sp-fixed-btn {
    border: 0.2666666667vw solid #fff;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: block;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    background-color: #fff;
    z-index: 9;
  }
  #sp-fixed-btn .sp-fixed-btn__wrap {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
  }
  #sp-fixed-btn .sp-fixed-btn__icon {
    width: 6.9333333333vw;
    height: 6.9333333333vw;
    margin: auto;
  }
  #sp-fixed-btn .sp-fixed-btn__icon img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
  #sp-fixed-btn .sp-fixed-btn__item {
    position: relative;
    z-index: 0;
    background-color: #070300;
    text-align: center;
    cursor: pointer;
    padding-top: 0.625vw;
    padding-bottom: 0.5vw;
    padding-left: 0.625vw;
    padding-right: 0.625vw;
    font-size: 0.625vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  #sp-fixed-btn .sp-fixed-btn__item {
    padding-top: 2vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  #sp-fixed-btn .sp-fixed-btn__item {
    padding-bottom: 1.6vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  #sp-fixed-btn .sp-fixed-btn__item {
    padding-left: 2vw;
    padding-right: 2vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  #sp-fixed-btn .sp-fixed-btn__item {
    font-size: 2.667vw;
  }
}
@media screen and (max-width: 959px) and (min-width: 1601px) {
  #sp-fixed-btn .sp-fixed-btn__item {
    font-size: 0.625vw;
  }
}
@media screen and (max-width: 959px) {
  #sp-fixed-btn .sp-fixed-btn__item:not(:last-child):before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    background-color: #fff;
    width: 0.2666666667vw;
    height: 100%;
  }
  #sp-fixed-btn .sp-fixed-btn__name {
    margin-top: 0.625vw;
    display: inline-block;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  #sp-fixed-btn .sp-fixed-btn__name {
    margin-top: 2vw;
  }
}

.block-slider {
  container-type: inline-size;
  container-name: block-slider;
  width: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-touch-action: pan-x;
      touch-action: pan-x;
  overscroll-behavior-x: contain;
  -webkit-scroll-snap-type: x proximity;
      -ms-scroll-snap-type: x proximity;
          scroll-snap-type: x proximity;
  scrollbar-width: thin;
}
.block-slider__wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-column-gap: 2.5vw;
     -moz-column-gap: 2.5vw;
          column-gap: 2.5vw;
}
@media screen and (max-width: 959px) {
  .block-slider__wrap {
    gap: 2em;
  }
}
.block-slider__item {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 25.3289473684cqw;
  min-width: 0;
  scroll-snap-align: start;
}
@media screen and (max-width: 959px) {
  .block-slider__item {
    width: 81.9047619048cqw;
  }
}
.block-slider__item:last-child {
  padding-right: 12.5vw;
}
@media screen and (max-width: 959px) {
  .block-slider__item:last-child {
    padding-right: 40vw;
  }
}
@media screen and (max-width: 959px) {
  .block-slider__item:last-child {
    padding-right: 1.875vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .block-slider__item:last-child {
    padding-right: 6vw;
  }
}
.block-slider__image {
  margin-bottom: 1.25vw;
}
@media screen and (max-width: 959px) {
  .block-slider__image {
    margin-bottom: 4vw;
  }
}
.block-slider__image img {
  width: 100%;
  height: auto;
  display: block;
}
.block-slider__title-block {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 0.5em;
}
@media screen and (max-width: 959px) {
  .block-slider__title-block {
    gap: 1em;
  }
}
.block-slider__number {
  font-size: 2.25vw;
}
@media (max-width: 959px) {
  .block-slider__number {
    font-size: 9.6vw;
  }
}
@media (min-width: 1601px) {
  .block-slider__number {
    font-size: 2.25vw;
  }
}
.block-slider__title {
  font-size: 1.125vw;
}
@media (max-width: 959px) {
  .block-slider__title {
    font-size: 4.267vw;
  }
}
@media (min-width: 1601px) {
  .block-slider__title {
    font-size: 1.125vw;
  }
}
.block-slider__text {
  font-size: 0.875vw;
}
@media (max-width: 959px) {
  .block-slider__text {
    font-size: 3.2vw;
  }
}
@media (min-width: 1601px) {
  .block-slider__text {
    font-size: 0.875vw;
  }
}
.block-slider__text {
  margin-top: 1.25vw;
}
@media screen and (max-width: 959px) {
  .block-slider__text {
    margin-top: 4vw;
  }
}
.block-slider__text {
  width: 18.125vw;
}
@media screen and (max-width: 959px) {
  .block-slider__text {
    width: 100%;
  }
}/*# sourceMappingURL=style.css.map */