* {
  min-height: 0%;
  box-sizing: border-box;
}

body {
  color: #000;
  font-family: "A1 Gothic R";
  font-size: 15px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
}

a {
  text-decoration: none;
}
a:hover {
  opacity: 0.8;
}

img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

ul,
li {
  list-style: none;
}

header {
  position: fixed;
  top: 0;
  left: 0;
  font-size: 13px;

  width: 100%;
  background-color: #fff;
  color: #000;
  border-bottom: 1px solid #000;
  z-index: 100;
  display: none;
}
header .header-inner {
  display: flex;
  justify-content: space-between;
  max-width: 1230px;
  height: 60px;
  padding: 5px 30px;
  margin: auto;
}
header .header-left {
  display: flex;
  align-items: center;
}

header .header-left .logo img {
  width: 205px;
  vertical-align: middle;
}
header .header-right {
  display: flex;
  align-items: center;
}
header .header-right a {
  display: flex;
  align-items: center;
  margin-right: 50px;
  color: #000;
}
header .header-right a span {
  padding-left: 10px;
}
header .header-right a:nth-of-type(1) img {
  width: 21.538px;
}
header .header-right a:nth-of-type(2) img {
  width: 16px;
}
header .header-right a:nth-of-type(3) {
  margin-right: 0;
}
header .header-right a:nth-of-type(3) img {
  width: 29px;
}

.mv {
  height: 100vh;
  position: relative;
}
.mv .swiper {
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.mv .swiper-slide img {
  -o-object-fit: cover;
  object-fit: cover;
  height: 100%;
}
.mv .mv-inner {
  position: relative;
  max-width: 1512px;
  height: 100vh;
  margin: auto;

  .swiper {
    position: absolute;
    inset: 0;
    z-index: 2;

    .swiper-slide {
      display: flex;

      picture,
      img {
        width: 100%;
        height: 100%;
        object-fit: contain;
      }
    }
  }
}

.mv .mv-inner h1 {
  position: absolute;
  left: 0;
  bottom: 125px;
  width: 190.907px;
}
/* .mv .mv-inner div {
  position: absolute;
  top: 113px;
  right: 63px;
  width: 79.2623px;
} */

.yodo {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  padding: 0 30px;
  letter-spacing: -0.02em;
}
.yodo .yodo-inner {
  max-width: 800px;
  width: 100%;
  padding: 70px 30px;
  background-color: rgba(255, 255, 255, 0.8);
}
.yodo .yodo-inner p {
  display: flex;
  justify-content: center;
  font-size: 15px;
  line-height: 1.6;

  + p {
    margin-top: 1.6em;
  }
}

.sec {
  .swiper-pagination {
    z-index: 2;
    right: 20px;
    bottom: 20px;
    left: auto;
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: auto;
  }

  .swiper-pagination-bullet {
    width: 6px;
    height: 6px;
    margin: 0 !important;
    background: #686868;
    opacity: 1;

    &.swiper-pagination-bullet-active {
      background: #fff;
    }
  }
}

.sec--1 {
}

.sec-mv {
  position: relative;
}

.sec-mv__title {
  position: absolute;
  z-index: 2;
}

.sec-mv__title--01 {
  top: calc(170 / 570 * 100%);
  left: calc(890 / 1512 * 100%);
  width: calc(510 / 1512 * 100%);
}
.sec-mv__title--02 {
  top: calc(77 / 570 * 100%);
  left: calc(81 / 1512 * 100%);
  width: calc(510 / 1512 * 100%);
}
.sec-mv__title--03 {
  top: calc(226 / 570 * 100%);
  left: calc(318 / 1512 * 100%);
  width: calc(308 / 1512 * 100%);
}
.sec-mv__title--04 {
  top: calc(207 / 570 * 100%);
  left: calc(174 / 1512 * 100%);
  width: calc(446 / 1512 * 100%);
}
.sec-mv__title--05 {
  top: calc(227 / 570 * 100%);
  left: calc(916 / 1512 * 100%);
  width: calc(447 / 1512 * 100%);
}
.sec-mv__title--06 {
  top: calc(227 / 570 * 100%);
  left: calc(146 / 1512 * 100%);
  width: calc(348 / 1512 * 100%);
}
.sec-mv__title--07 {
  top: calc(228 / 570 * 100%);
  left: calc(916 / 1512 * 100%);
  width: calc(397 / 1512 * 100%);
}

.sec-mv-swiper {
}

.swiper {
}

.swiper-wrapper {
}

.swiper-slide {
}

.sec-body {
  padding: 90px 30px;
  background: #fff;
}

.sec__inner {
  position: relative;
  max-width: 802px;
  margin: 0 auto;
}

.sec-text {
  margin-top: 18px;
  padding: 10px;
  font-size: 15px;
  line-height: 1.6;
  letter-spacing: -0.04em;
}

.pc {
}

.sec-info {
  display: flex;
  flex-direction: wrap;
  gap: 8px 50px;
  width: fit-content;
  padding-right: 120px;
}

.sec-product-name {
  img {
    display: block;
    width: auto;
    height: 22px;
  }
}

.sec-price {
  img {
    width: auto;
    height: 25px;
  }
}

.sec-items {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px 35px;
  margin-top: 30px;
}

.sec-item {
}

.sec-item__link {
}

.sec-item__color {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 33px;
  margin-top: 15px;

  img {
    width: auto;
    height: 15px;
  }
}

.sec-item__button {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 98px;
  height: 26px;
  font-family: "A1 Gothic L";
  font-size: 14px;
  letter-spacing: -0.04em;
  color: #fff;
  background: #000;
}

.info {
  padding: 70px 30px;
  background-color: #fff;
  text-align: center;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
}
.info p {
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.04em;
}
.info p span {
  font-size: 16px;
}

.staff {
  text-align: center;
  color: #231815;
  padding: 70px 30px;
  border-bottom: 1px solid #000;
  background-color: #fff;
}
.staff .ttl {
  font-size: 20px;
  letter-spacing: 2.4px;
}
.staff .cnt {
  font-size: 14px;
  line-height: 2;
  margin-top: 15px;
}

.footerWrap {
  background-color: #fff;
}

footer {
  max-width: 940px;
  margin: 0 auto;
  padding: 63px 0 37px;
  text-align: center;
  font-size: 16px;
}

footer a {
  color: #000;
  border-color: #000;
}

footer ul {
  display: flex;
  gap: 30px;
  justify-content: center;
}

footer ul.hobo a {
  text-align: center;
  width: 220px;
  border-radius: 2em;
  border: 1px solid;
  display: inline-block;
  line-height: 3;
}

footer ul.sns {
  padding: 30px 0;
  gap: 25px;
}

footer ul.link a {
  font-family: "A1 Gothic L", sans-serif;
  font-size: 13px;
  color: #000;
  position: relative;
}

footer ul.link a:after {
  content: "/";
  display: inline-block;
  position: absolute;
  right: -18px;
}

footer ul.link li:last-of-type a:after {
  display: none;
}

footer .copyright {
  padding-top: 20px;
  display: inline-block;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

@media screen and (max-width: 1010px) {
  .sec .swiper-pagination,
  .sec--4 .sec-header .txt,
  .sec--5 .sec-header .txt {
    right: 10px;
  }
  .mv .mv-inner h1 {
    left: 10px;
  }
}
@media screen and (max-width: 834px) {
  header .header-inner {
    padding: 8px 10px;
    height: 50px;
  }
  header .header-left .logo {
    line-height: 1;
    padding-right: 15px;
  }
  header .header-left .logo img {
    max-width: 142.3761px;
    width: 100%;
  }
  header .header-right a {
    margin-right: 15px;
  }
  header .header-right a span {
    display: none;
  }
  header .header-right a:nth-of-type(2) img {
    width: 12px;
  }
  .mv .mv-inner h1 {
    width: 120px;
    left: 32px;
    bottom: 34px;
  }
  /* .mv .mv-inner div {
    width: 50px;
    top: 30px;
    right: 0;
    left: 0;
    margin: 0 auto;
  } */
  .yodo {
    padding: 0;
    height: initial;
    min-height: unset;
  }
  .yodo .yodo-inner {
    display: grid;
    align-content: center;
    padding: 60px 5%;
    min-height: 400px;
  }
  .yodo .yodo-bnr {
    display: block;
    margin-top: 25px;
  }
  .yodo .yodo-bnr a {
    width: 198px;
    margin-top: 16px;
  }
  .yodo .yodo-bnr a:first-child {
    margin-top: 0;
  }

  .sec-mv__title--01 {
    top: calc(30 / 500 * 100%);
    left: calc(28 / 375 * 100%);
    width: calc(322 / 375 * 100%);
  }
  .sec-mv__title--02 {
    top: calc(31 / 500 * 100%);
    left: calc(28 / 375 * 100%);
    width: calc(310 / 375 * 100%);
  }
  .sec-mv__title--03 {
    top: calc(396 / 500 * 100%);
    left: calc(26 / 375 * 100%);
    width: calc(196 / 375 * 100%);
  }
  .sec-mv__title--04 {
    top: calc(25 / 500 * 100%);
    left: calc(27 / 375 * 100%);
    width: calc(280 / 375 * 100%);
  }
  .sec-mv__title--05 {
    top: calc(25 / 500 * 100%);
    left: calc(24 / 375 * 100%);
    width: calc(283 / 375 * 100%);
  }
  .sec-mv__title--06 {
    top: calc(390 / 500 * 100%);
    left: calc(30 / 375 * 100%);
    width: calc(220 / 375 * 100%);
  }
  .sec-mv__title--07 {
    top: calc(33 / 500 * 100%);
    left: calc(31 / 375 * 100%);
    width: calc(250 / 375 * 100%);
  }

  .sec-mv-swiper {
  }

  .swiper {
  }

  .swiper-wrapper {
  }

  .swiper-slide {
  }

  .sec-body {
    padding: 48px 28px;
  }

  .sec__inner {
    display: flex;
    flex-direction: column;
    margin: 0 auto;
  }

  .sec-text {
    order: -1;
    margin-top: 0;
    padding: 0;
  }

  .sec-info {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 8px 50px;
    width: 100%;
    margin-top: 35px;
    padding-right: 0;
  }

  .sec-product-name {
    img {
      max-width: 100%;
      object-fit: contain;
      height: 17px;
    }
  }

  .sec-price {
    img {
      width: auto;
      height: 16px;
    }
  }

  .sec-items {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  .sec-item {
    display: flex;
    position: relative;
  }

  .sec-item__link {
  }

  .sec-item__color {
    height: 24px;
    margin-top: 14px;

    img {
      width: auto;
      height: 12px;
    }
  }

  .sec-item__button {
    align-self: flex-end;
    margin-bottom: 38px;
    margin-left: auto;
    position: static;
    top: auto;
  }
  .info {
    padding: 38px 5%;
  }
  .info p {
    font-size: 13px;
  }
  .info p span {
    font-size: 15px;
  }
  .staff {
    padding: 38px 5%;
  }
  footer {
    padding: 30px 0 25px;
  }
  footer ul.hobo,
  footer ul.link {
    display: block;
  }
  footer ul.hobo li:nth-of-type(n + 2) {
    padding-top: 20px;
  }
  footer ul.sns img {
    width: 33px;
  }
  footer ul {
    gap: 24px;
  }
  footer ul.link {
    line-height: 1.8;
  }
  footer ul.link a:after {
    display: none;
  }
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}
