html,
body {
  font-family: garamond-premier-pro, serif;
  font-weight: 400;
  font-style: normal;
  width: 100%;
  font-size: 16px;
  margin: 0 auto;
  transition: all 1.6s ease 0s;
  background-color: #d1cdd1;
  color: #333;
  overflow-x: hidden;
}

img {
  width: 100%;
  display: block;
}

@media screen and (min-width: 769px) {
  .spNone {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .spNone {
    display: none;
  }
}

@media screen and (min-width: 769px) {
  .pcNone {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .pcNone {
    display: block;
  }
}

a {
  display: block;
  text-decoration: none;
  transition: all 0.4s;
  color: #000;
}
@media screen and (min-width: 769px) {
  a:hover {
    opacity: 0.6 !important;
    transition: all 0.4s;
  }
}
a[href=""] {
  pointer-events: none;
}

#loading-bg {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background: #fff;
  z-index: 999;
}

.ja_1 {
  font-family: "dnp-shuei-nmincho-std", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.ja_2 {
  font-family: "dnp-shuei-gothic-gin-std", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.ja_3 {
  font-family: "hiragino-mincho-pron", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.ja_4 {
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.en_b {
  font-family: "garamond-premier-pro-subhead", serif;
  font-weight: 400;
  font-style: normal;
}

.en_s {
  font-family: "garamond-premier-pro-caption", serif;
  font-weight: 400;
  font-style: normal;
}

.en_ita {
  font-family: "garamond-premier-pro", serif;
  font-weight: 400;
  font-style: italic;
}

.container {
  margin: 0 auto;
  position: relative;
}
.container .c_btn {
  border: 1px solid;
  text-align: center;
  padding: 15px 0 15px 0;
  margin-top: 10vw;
}
@media screen and (min-width: 769px) {
  .container .c_btn {
    margin: 50px auto;
  }
}

.c_text {
  width: 80%;
  text-align: center;
  margin: 20vw auto;
  font-size: 3.5vw;
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .c_text {
    font-size: 15px;
    margin: 12vw auto;
  }
}
.c_text .c_text01 {
  font-size: 5vw;
}
@media screen and (min-width: 769px) {
  .c_text .c_text01 {
    font-size: 25px;
  }
}
.c_text .f_c_btn {
  background-color: #fff;
  padding-top: 15px;
  padding-bottom: 15px;
  margin-top: 10vw;
  width: 80vw;
  display: block;
}
@media screen and (min-width: 769px) {
  .c_text .f_c_btn {
    width: 400px;
    margin: 40px auto;
  }
}

.fv {
  position: relative;
}
.fv .fv_img {
  width: max(100vw, 375px);
}
.fv h2 {
  position: absolute;
  top: max(69.3333333333vw, 260px);
  left: max(6.9333333333vw, 26px);
}
.fv .title_wrap figure {
  display: grid;
  grid-template-columns: 40fr 45fr;
  gap: max(1.3333333333vw, 5px);
  width: max(24.2666666667vw, 91px);
}
.fv .title_wrap figure img {
  opacity: 0;
}
.fv .logo {
  width: max(19.2vw, 72px);
  margin: max(28vw, 105px) max(5.3333333333vw, 20px) max(6.6666666667vw, 25px) auto;
}
.fv h1 {
  width: max(90.6666666667vw, 340px);
  margin: 0 auto;
  opacity: 0;
}

.lead .container {
  width: 340px;
  margin: 0 auto;
  padding: 110px 0;
}
.lead p {
  font-size: max(3.4666666667vw, 13px);
  line-height: 2.3076923077;
}

.list {
  margin-bottom: max(16vw, 60px);
}
.list .bg {
  padding: max(16vw, 60px) 0;
  background-color: #eae8ea;
  position: relative;
}
.list .bg:before, .list .bg:after {
  content: "";
  background-color: #000;
  height: 1px;
  width: max(22.6666666667vw, 85px);
  position: absolute;
}
.list .bg:before {
  left: 0;
  top: 0;
}
.list .bg:after {
  right: 0;
  bottom: 0;
}
.list .container {
  width: max(90.6666666667vw, 340px);
}
.list h3 {
  font-size: max(5.8666666667vw, 22px);
  margin-bottom: max(13.3333333333vw, 50px);
  font-family: "garamond-premier-pro-display", serif;
  font-weight: 600;
  font-style: normal;
}
.list .brand {
  font-size: max(3.2vw, 12px);
  line-height: 1.3333333333;
}
.list .brand + span {
  color: #616b75;
  font-family: garamond-premier-pro;
  font-size: max(2.6666666667vw, 10px);
  transform-origin: left;
  transform: scale(0.6);
  line-height: 1.3333333333;
  font-weight: 300;
}
.list ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  white-space: nowrap;
  gap: 13px 0;
}
.list li {
  width: 25%;
}
.list li:nth-child(9) {
  margin-right: min(13.3333333333vw, 50px);
}

section {
  padding: 80px 0;
}
section .container {
  position: relative;
}
section:nth-child(even) {
  background-color: #eae8ea;
}
section .number_wrap {
  padding-left: max(8.5333333333vw, 32px);
}
section .number {
  font-size: max(8.5333333333vw, 32px);
  color: #9fa0a2;
  margin-bottom: max(2.9333333333vw, 11px);
}
section .number span {
  font-size: max(6.4vw, 24px);
  border-bottom: 1px solid #9fa0a2;
}
section .brand_en {
  font-size: min(2.1527777778vw, 31px);
  margin: min(2.0833333333vw, 30px) 0 min(1.3333333333vw, 5px);
}
section .kana {
  font-size: max(3.2vw, 12px);
}
section .brand_fixed {
  opacity: 0;
  position: absolute;
  writing-mode: vertical-rl;
  white-space: nowrap;
  left: -12px;
  z-index: 20;
  position: fixed;
  transform: translateY(-50%);
  top: 50%;
}
section .item {
  font-size: 16px;
  line-height: 1.25;
}
section .price {
  font-size: 14px;
  margin: 12px 0 20px;
}
section .btn {
  font-size: 12px;
  width: 60px;
  text-align: center;
  display: flex;
  justify-content: center;
  color: #fff;
  background-color: #333;
  padding: 6px 0;
}
section .com_wrap .bold {
  font-size: 16px;
  font-weight: bold;
  margin: 48px 0 13px;
  line-height: 2;
}
section .com_wrap .com {
  font-size: 13px;
  text-align: justify;
  line-height: 2;
}

.review_wrap h4 {
  font-size: 25px;
  width: 103px;
  text-align: center;
  margin-left: -7px;
  background: url(../img/review_line.png);
  background-size: cover;
  background-repeat: no-repeat;
}
.review_wrap .review_box {
  height: fit-content;
  padding: 15px 30px;
  font-size: 13px;
  line-height: 1.8461538462;
  position: relative;
}
.review_wrap .review_box:before, .review_wrap .review_box:after {
  content: "";
  width: 16px;
  height: 16px;
  position: absolute;
  border: solid #333;
}
.review_wrap .review_box:before {
  border-width: 1px 0 0 1px;
  left: 0;
  top: 0;
}
.review_wrap .review_box:after {
  border-width: 0 1px 1px 0;
  right: 0;
  bottom: 0;
}
.review_wrap .review_box span {
  font-weight: bold;
  font-size: 10px;
  transform-origin: right;
  transform: scale(0.9);
  text-align: right;
  display: block;
  -webkit-text-stroke: #333 0.5px;
}

.code_wrap h4 {
  font-size: 25px;
  width: 175px;
  text-align: center;
  margin-left: -10px;
  margin-bottom: 25px;
  background: url(../img/code_line.png);
  background-size: cover;
  background-position: center 30%;
  background-repeat: no-repeat;
}
.code_wrap .code_li {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
}
.code_wrap .more_btn {
  width: fit-content;
  margin: 16px 0 50px auto;
  text-decoration: underline;
}

.brand_btn {
  width: 270px;
  border: 1px solid #333;
  margin: 0 0 0 auto;
  font-size: 14px;
  padding: 18px 0;
  text-align: center;
}
.brand_btn span {
  font-size: 12px;
  transform: scale(0.9);
  margin-left: 10px;
}

.top_btn {
  position: fixed;
  width: 21px;
  bottom: 15px;
  right: 15px;
  z-index: 20;
}

#sec3 .review_wrap .review_box:nth-child(2) {
  display: none;
}

#sec4 .review_wrap,
#sec9 .review_wrap,
#sec10 .review_wrap {
  display: none;
}
#sec4 .code_wrap,
#sec9 .code_wrap,
#sec10 .code_wrap {
  margin-top: 70px;
}

#sec1 .brand_btn span,
#sec5 .brand_btn span,
#sec9 .brand_btn span,
#sec10 .brand_btn span,
#sec14 .brand_btn span {
  margin: 5px 0 0 0;
  display: block;
}

#sec2 .brand_btn br,
#sec3 .brand_btn br,
#sec4 .brand_btn br,
#sec6 .brand_btn br,
#sec7 .brand_btn br,
#sec8 .brand_btn br,
#sec11 .brand_btn br,
#sec12 .brand_btn br,
#sec13 .brand_btn br {
  display: none;
}

#sec14 .code_wrap .code_li li:nth-child(4) {
  display: none;
}

@media screen and (max-width: 768px) {
  .fv {
    height: 100svh;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .list ul {
    grid-template-columns: 1fr 1fr;
  }
  .list li:nth-child(9) {
    margin-right: 20px;
  }
  section .brand_fixed {
    font-size: max(12.8vw, 48px);
  }
  section .brand_en {
    font-size: max(5.0666666667vw, 19px);
    margin: max(5.3333333333vw, 20px) 0 max(1.3333333333vw, 5px);
  }
  section .left {
    margin: max(6.4vw, 24px) 0;
  }
  section .right {
    width: max(72vw, 270px);
    margin: 0 max(7.4666666667vw, 28px) 0 auto;
  }
  .review_wrap,
  .code_wrap {
    width: max(72vw, 270px);
    margin: 0 max(7.4666666667vw, 28px) 0 auto;
  }
  .review_wrap h4,
  .code_wrap h4 {
    margin-top: 80px;
  }
  .review_wrap .review_box {
    margin-top: 25px;
  }
  #sec14 .brand_fixed {
    left: -3px;
  }
  #sec9 .brand_fixed {
    font-size: max(10.6666666667vw, 40px);
    left: -8px;
  }
}
@media screen and (min-width: 769px) {
  .container {
    width: min(68.5714285714vw, 960px);
  }
  .fv .fv_img {
    width: min(60.3472222222vw, 869px);
    padding-top: min(2.9861111111vw, 43px);
    margin: 0 max(-2.0833333333vw, -30px) 0 auto;
  }
  .fv h2 {
    left: max(-1.5277777778vw, -22px);
    top: min(13.0555555556vw, 188px);
  }
  .fv .title_wrap figure {
    grid-template-columns: 44fr 29fr;
    gap: min(1.875vw, 27px);
    width: min(7.2916666667vw, 105px);
  }
  .fv .flex {
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-end;
    justify-content: space-between;
    width: 100%;
    margin-top: min(4.5833333333vw, 66px);
  }
  .fv .logo {
    margin: 0 0 0 auto;
    width: min(6.3194444444vw, 91px);
  }
  .fv h1 {
    width: min(48.2638888889vw, 695px);
  }
  .lead .container {
    width: 400px;
    padding: min(9.7222222222vw, 140px) 0;
  }
  .lead p {
    font-size: min(0.9722222222vw, 14px);
    text-align: center;
    line-height: 2.1428571429;
  }
  .list {
    margin-bottom: 0;
  }
  .list .bg {
    padding: min(7.9166666667vw, 114px) 0;
  }
  .list .container {
    width: min(56.0416666667vw, 807px);
  }
  .list h3 {
    font-size: min(1.8055555556vw, 26px);
    margin-bottom: min(2.7777777778vw, 40px);
  }
  .list .brand {
    font-size: min(0.9722222222vw, 14px);
  }
  .list .brand + span {
    font-size: min(0.6944444444vw, 10px);
    transform: scale(0.7);
  }
  section {
    padding: 160px 0;
  }
  section .number_wrap {
    width: min(92.2222222222vw, 830px);
    margin: 0 min(2.2222222222vw, 20px) 35px auto;
  }
  section .number {
    font-size: min(4.375vw, 42px);
    margin-bottom: 15px;
  }
  section .number span {
    font-size: min(3.2291666667vw, 31px);
  }
  section .kana {
    font-size: min(1.5277777778vw, 22px);
  }
  section .brand_fixed {
    font-size: min(4.0277777778vw, 58px);
    left: inherit;
    right: 1200;
  }
  section .container {
    width: min(100vw, 1020px);
  }
  section .pc_flex {
    display: flex;
    align-items: flex-end;
    gap: min(5vw, 45px);
    width: min(92.2222222222vw, 830px);
    margin: 0 min(5vw, 45px) 0 auto;
  }
  section .pc_flex .left a {
    width: min(55vw, 495px);
  }
  section .com_wrap .com {
    font-size: 14px;
  }
  .review_wrap {
    width: min(86.4583333333vw, 830px);
    margin: min(7.9166666667vw, 76px) min(4.6875vw, 45px) min(7.9166666667vw, 76px) auto;
  }
  .review_wrap h4 {
    margin-bottom: 40px;
  }
  .review_wrap .review_box {
    width: min(37.5vw, 360px);
    font-size: 14px;
  }
  .review_flex {
    display: flex;
    gap: min(5.5555555556vw, 80px);
  }
  .code_wrap {
    width: min(90.625vw, 870px);
    margin: 0 0 0 auto;
  }
  .code_wrap .code_li {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
  .brand_btn {
    margin: 0 auto;
    width: 450px;
    font-size: 17px;
  }
  .brand_btn span {
    font-size: 14px;
  }
  #sec9 .brand_fixed {
    font-size: min(3.125vw, 45px);
  }
  #sec2 .brand_fixed,
  #sec3 .brand_fixed,
  #sec5 .brand_fixed,
  #sec8 .brand_fixed,
  #sec10 .brand_fixed,
  #sec11 .brand_fixed,
  #sec13 .brand_fixed,
  #sec14 .brand_fixed {
    font-size: min(4.5833333333vw, 66px);
  }
  #sec14 .code_wrap .more_btn {
    margin: 16px 25% 50px auto;
  }
}/*# sourceMappingURL=style.css.map */