
/*======================
  reset
======================*/
html, body, div, span, iframe, h1, h2, h3, h4, p, a, img, dl, dt, dd, ol, ul, li, label, table, tbody, tr, th, td, figure, blockquote { padding: 0; margin: 0; border: 0; vertical-align: baseline; box-sizing: border-box; }
article, aside, figure, picture, footer, header, nav, section { display: block; }
h1, h2, h3, h4, h5, h6 { font-weight: bold; }
a { text-decoration: none; color: inherit; transition: .3s ease-in; }
li { list-style: none; }
img { max-width: 100%; height: auto; vertical-align: middle; }
video { max-width: 100%; height: auto; }
table { border-collapse: collapse; border-spacing: 0; table-layout: fixed; }
input[type="submit"]{ -webkit-appearance: none; border-radius: 0; }

body {
  font-family: "Noto Serif JP", serif !important;
}

@media screen and (max-width:768px) {
  .pc-only {
    display: none;
  }
}

.sp-only {
  display: none;
}

@media screen and (max-width:768px) {
  .sp-only {
    display: block;
  }
}


.lp-fv {
  background-image: url(../img/fv/fv-bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
}

.lp-fv__container {
  padding: calc(14vw / 14.4) calc(100vw / 14.4) calc(46vw / 14.4);
}

@media screen and (max-width:768px) {
  .lp-fv__container {
    padding: 0 0 27px;
  }
}

.lp-fv__collabo {
  /* width: calc(988vw / 14.4); */
  width: 100%;
  max-width: 988px;
  margin: 0 auto;
}

@media screen and (max-width:768px) {
  .lp-fv__collabo {
    width: 100%;
  }
}

.lp-fv__title {
  width: calc(1030vw / 14.4);
  margin: 0 auto;
}

@media screen and (max-width:768px) {
  .lp-fv__title {
    width: calc(706vw / 7.5);
  }
}

.lp-card {
  background: linear-gradient(135deg, #000000 20%, #343434 100%);
}

@media screen and (max-width:768px) {
  .lp-card {
    background: linear-gradient(180deg, #000000 20%, #343434 100%);
  }
}

.lp-card__container {
  padding: calc(72vw / 14.4) calc(70vw / 14.4) calc(70vw / 14.4);
}

@media screen and (max-width:768px) {
.lp-card__container {
  padding: calc(65vw / 7.5) calc(66vw / 7.5) calc(70vw / 7.5);
}
}

.lp-card__box {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

@media screen and (max-width:768px) {
  .lp-card__box {
    flex-direction: column;
  }
}

.lp-card__img {
  width: calc(380vw / 14.4);
}

@media screen and (max-width:768px) {
  .lp-card__img {
    width: calc(380vw / 7.5);
    margin-top: calc(53vw / 7.5);
  }
}

.lp-card__img img {
  border-radius: 8px;
  box-shadow: 0 0 4px #FFF0C0, 0 0 23px #FFF0C0;
}

@media screen and (max-width:768px) {
  .lp-card__img img {
    border-radius: 4px;
  }
}

.lp-card__text-box {
  text-align: center;
  width: calc(853vw / 14.4);
}

@media screen and (max-width:768px) {
  .lp-card__text-box {
    width: 100%;
  }
}

.lp-card__title {
  font-family: "DM Serif Display", serif;
  font-size: calc(68vw / 14.4);
  font-weight: 400;
  letter-spacing: 0.01em;
  color: #EEDA6A;
  line-height: 1.1;
}

@media screen and (max-width:768px) {
  .lp-card__title {
    text-align: center;
    font-size: calc(68vw / 7.5);
  }
}

.lp-card__title span {
  font-size: calc(60vw / 14.4);
  font-family: "Noto Serif JP", serif;
}

@media screen and (max-width:768px) {
  .lp-card__title span {
    text-align: center;
    font-size: calc(60vw / 7.5);
  }
}

.lp-card__copy {
  color: #fff;
  font-weight: 500;
  margin-top: 9px;
  font-size: calc(19vw / 14.4);
  line-height: 1.7;
  letter-spacing: 0;
}

@media screen and (max-width:768px) {
  .lp-card__copy {
    font-size: calc(32vw / 7.5);
    line-height: 1.2;
    margin-top: calc(51vw / 7.5);
  }
}

.lp-card__copy span:nth-child(2) {
  font-size: calc(32vw / 14.4);
  color: #EEDA6A;
}

@media screen and (max-width:768px) {
  .lp-card__copy span:nth-child(2) {
    font-size: calc(46vw / 7.5);
  }
}

.lp-card__copy span:last-child {
  font-size: calc(16vw / 14.4);
}

@media screen and (max-width:768px) {
  .lp-card__copy span:last-child {
    font-size: calc(23vw / 7.5);
    margin-top: calc(26vw / 7.5);
    display: block;
  }
}

.lp-card__text {
  font-size: calc(21vw / 14.4);
  font-weight: 500;
  line-height: 1.7;
  color: #fff;
  font-weight: 500;
  letter-spacing: 0;
  margin-top: 26px;
}

@media screen and (max-width:768px) {
  .lp-card__text {
    margin-top: calc(52vw / 7.5);
    font-size: calc(32vw / 7.5);
  }
}

.lp-card__link-box {
  display: flex;
  justify-content: space-between;
  margin-top: 61px;
}

@media screen and (max-width:768px) {
  .lp-card__link-box {
    flex-direction: column;
    gap: calc(40vw / 7.5);
    margin-top: calc(60vw / 7.5);
  }
}

.lp-card__link {
  color: #400909;
}

.lp-card__link a {
  padding: calc(32vw / 14.4) calc(70vw / 14.4) calc(32vw / 14.4) calc(49vw / 14.4);
  height: calc(137vw / 14.4);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: linear-gradient(180deg, #FFEFA2 0%, #DAA645 100%); 
  width: calc(617vw / 14.4);
  font-size: calc(22vw / 14.4);
  letter-spacing: 0;
  line-height: 1.7;
  font-weight: bold;
  text-align: center;
  position: relative;
  transition: .3s;
  box-shadow: 0 4px 4px #000;
}

@media screen and (max-width:768px) {
  .lp-card__link a {
    width: 100%;
    height: calc(194vw / 7.5);
    font-size: calc(28vw / 7.5);
  }

}

.lp-card__link a:hover {
  opacity: .6;
}

.lp-card__link a span {
  display: block;
  font-size: calc(16vw /14.4);
  letter-spacing: 0;
  margin-top: 9px;
  line-height: 2;
}

@media screen and (max-width:768px) {
  .lp-card__link a span {
    font-size: calc(20vw / 7.5);
  }
}

.lp-card__link a img {
  position: absolute;
  width: calc(34vw / 14.4);
  top: 0;
  bottom: 0;
  right: calc(20vw / 14.4);
  margin: auto;
}

@media screen and (max-width:768px) {
  .lp-card__link a img {
    width: calc(34vw / 7.5);
    right: calc(20vw / 7.5);
  }
}

.lp-flex {
  display: flex;
}

@media screen and (max-width:768px) {
  .lp-flex {
    flex-direction: column;
  }
}

.lp-about {
  background: linear-gradient(135deg, #000000 20%, #343434 100%);
  width: 50%;
}

@media screen and (max-width:768px) {
  .lp-about {
    background: linear-gradient(180deg, #000000 20%, #343434 100%);
    width: 100%;
  }
}

.lp-about__container {
  padding: calc(65vw / 14.4);
}

@media screen and (max-width:768px) {
  .lp-about__container {
    padding: calc(65vw / 7.5);
  }
}

.lp-about__title {
  color: #8C0101;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  font-size: calc(75vw / 14.4);
  line-height: 1;
  text-shadow: 0 4px 5px #000;
}

@media screen and (max-width:768px) {
  .lp-about__title {
    font-size: calc(75vw / 7.5);
  }
}

.lp-about__text {
  font-weight: 500;
  color: #fff;
  font-size: calc(19vw / 14.4);
  margin-top: calc(40vw / 14.4);
  text-shadow: 0 4px 5px #000;
}

@media screen and (max-width:768px) {
  .lp-about__text {
    font-size: calc(26vw / 7.5);
  }
}

.lp-about__text span {
  display: block;
  font-size: calc(23vw / 14.4);
  font-weight: bold;
}

@media screen and (max-width:768px) {
  .lp-about__text span {
    font-size: calc(34vw / 7.5);
  }
}

.lp-schedule {
  background: linear-gradient(135deg, #000000 20%, #343434 100%);
  width: 50%;
}

@media screen and (max-width:768px) {
  .lp-schedule {
    background: linear-gradient(180deg, #000000 20%, #343434 100%);
    width: 100%;
  }
}

.lp-schedule__container {
  padding: calc(65vw / 14.4);
}

@media screen and (max-width:768px) {
  .lp-schedule__container {
    padding: calc(65vw / 7.5);
  }
}

.lp-schedule__title {
  color: #8C0101;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  font-size: calc(75vw / 14.4);
  line-height: 1;
  text-shadow: 0 4px 5px #000;
}

@media screen and (max-width:768px) {
  .lp-schedule__title {
    font-size: calc(75vw / 7.5);
  }
}

.lp-schedule__text {
  font-weight: 400;
  color: #fff;
  font-size: calc(38vw / 14.4);
  margin-top: calc(40vw / 14.4);
  font-family: "DM Serif Display", serif;
  text-shadow: 0 4px 5px #000;
}

@media screen and (max-width:768px) {
  .lp-schedule__text {
    font-size: calc(38vw / 7.5);
  }
}

.lp-schedule__text span {
  font-size: calc(28vw / 14.4);
}

@media screen and (max-width:768px) {
  .lp-schedule__text span {
    font-size: calc(28vw / 7.5);
  }
}

.lp-stores {
  display: flex;
}

@media screen and (max-width:768px) {
  .lp-stores {
    flex-direction: column;
    padding-left: calc(50vw / 7.5);
    background: linear-gradient(135deg,  #6F0000 20%, #BD0000 100%);
  }
}

.lp-stores__title-box {
  background: linear-gradient(180deg,  #6F0000 20%, #BD0000 100%);
  width: calc(360vw / 14.4);
  padding: calc(130vw / 14.4) calc(48vw / 14.4);
}

@media screen and (max-width:768px) {
  .lp-stores__title-box {
    background: unset;
    width: 100%;
    padding: calc(65vw / 7.5) 0 calc(55vw / 7.5);
  }
}

.lp-stores__title-en {
  font-family: "DM Serif Display", serif;
  font-size: calc(75vw / 14.4);
  color: #fff;
  font-weight: 400;
  line-height: 1;
}

@media screen and (max-width:768px) {
  .lp-stores__title-en {
    font-size: calc(75vw / 7.5);
  }
}

.lp-stores__title-jp {
  font-weight: 500;
  font-size: calc(20vw / 14.4);
  line-height: 1.5;
  color: #fff;
}

@media screen and (max-width:768px) {
  .lp-stores__title-jp {
    font-size: calc(30vw / 7.5);
    margin-top: calc(10vw / 7.5);
  }
}

.lp-stores__boxes {
  flex: 1;
  display: flex;
  justify-content: space-between;
  background-color: #0D0D0D;
  padding: calc(71vw / 14.4) calc(77vw / 14.4) calc(75vw / 14.4) calc(92vw / 14.4);
}

@media screen and (max-width:768px) {
  .lp-stores__boxes {
    flex-direction: column;
    padding: calc(70vw / 7.5);
  }
}

.lp-stores__box {
  width: calc(412vw / 14.4);
  color: #fff;
}

@media screen and (max-width:768px) {
  .lp-stores__box {
    width: 100%;
  }
}

@media screen and (max-width:768px) {
  .lp-stores__box:last-child {
    margin-top: calc(99vw / 7.5);
  }
}

.lp-stores__box-title-en {
  font-family: "DM Serif Display", serif;
  font-size: calc(45vw / 14.4);
  font-weight: 400;
  line-height: 1;
}

@media screen and (max-width:768px) {
  .lp-stores__box-title-en {
    font-size: calc(50vw / 7.5);
  }
}

.lp-stores__box-title-jp {
  font-weight: 500;
  font-size: calc(20vw / 14.4);
  line-height: 1.5;
  margin-top: 10px;
  padding-bottom: 22px;
  position: relative;
}

@media screen and (max-width:768px) {
  .lp-stores__box-title-jp {
    font-size: calc(26vw / 7.5);
    margin-top: 5px;
    padding-bottom: 20px;
  }
}

.lp-stores__box-title-jp::after {
  position: absolute;
  content: "";
  width: calc(108vw / 14.4);
  height: 3px;
  background-color: #6F0000;
  left: 0;
  bottom: 0;
}

@media screen and (max-width:768px) {
  .lp-stores__box-title-jp::after {
    width: calc(108vw / 7.5);
  }
}

.lp-stores__box-text {
  font-weight: 500;
  font-size: calc(20vw / 14.4);
  line-height: 1.5;
  margin-top: calc(31vw / 14.4);
}

@media screen and (max-width:768px) {
  .lp-stores__box-text {
    font-size: calc(26vw / 7.5);
  }
}

.lp-qa__container {
  display: flex;
}

@media screen and (max-width:768px) {
  .lp-qa__container {
    flex-direction: column-reverse;
    padding-right: calc(50vw / 7.5);
    background: linear-gradient(135deg,  #6F0000 20%, #BD0000 100%);
  }
}

.lp-qa__title-box {
  background: linear-gradient(180deg,  #6F0000 20%, #BD0000 100%);
  width: calc(360vw / 14.4);
  padding: calc(130vw / 14.4) calc(48vw / 14.4);
}

@media screen and (max-width:768px) {
  .lp-qa__title-box {
    background: unset;
    width: 100%;
    padding: calc(65vw / 7.5) 0 calc(55vw / 7.5);
    text-align: right;
  }
}

.lp-qa__title-en {
  font-family: "DM Serif Display", serif;
  font-size: calc(75vw / 14.4);
  color: #fff;
  font-weight: 400;
  line-height: 1;
}

@media screen and (max-width:768px) {
  .lp-qa__title-en {
    font-size: calc(75vw / 7.5);
  }
}

.lp-qa__title-jp {
  font-weight: 500;
  font-size: calc(20vw / 14.4);
  line-height: 1.5;
  color: #fff;
  margin-top: 15px;
}

@media screen and (max-width:768px) {
  .lp-qa__title-jp {
    font-size: calc(30vw / 7.5);
    margin-top: calc(10vw / 7.5);
  }
}

.lp-qa__boxes {
  flex: 1;
  background-color: #000;
}

.details:first-child {
  border-bottom: 2px solid #6F00007f;
}

.details-min {
  padding-bottom: calc(40vw / 14.4);
}

.details-summary {
  position: relative;
  display: block;
  padding: calc(72vw / 14.4);
  padding-left: calc(151vw / 14.4);
  color: #fff;
  font-size: calc(34vw / 14.4);
  font-weight: 600;
  transition: .3s;
  text-align: left;
}

@media screen and (max-width:768px) {
  .details-summary {
    font-size: calc(36vw / 7.5);
    padding: calc(70vw / 7.5) calc(57vw / 7.5) calc(70vw / 7.5) calc(150vw / 7.5);
  }
}

.details-summary-min {
  position: relative;
  display: block;
  padding: calc(40vw / 14.4);
  padding-bottom: 0;
  padding-left: calc(223vw / 14.4);
  color: #fff;
  font-size: calc(23vw / 14.4);
  font-weight: 600;
  transition: .3s;
  text-align: left;
}

@media screen and (max-width:768px) {
  .details-summary-min {
    font-size: calc(30vw / 7.5);
    padding: calc(40vw / 7.5) calc(50vw / 7.5) calc(40vw / 7.5) calc(152vw / 7.5);
    padding-bottom: 0;
  }
}

.details-summary.layer1 {
  border-bottom: 1px solid #6F00007f;
}

.details-summary:hover {
  cursor: pointer;
}

.details-summary .btn {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  left: calc(80vw / 14.4);
  width: 23px;
  height: 23px;
  transform-origin: center center;
  transition-duration: 0.2s;
}

@media screen and (max-width:768px) {
  .details-summary .btn {
    width: calc(23vw / 7.5);
    height: calc(23vw / 7.5);
  }
}

.details-summary .btn::before,
.details-summary .btn::after {
  content: "";
  background-color: #fff;
  border-radius: 10px;
  width: 23px;
  height: 3.5px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  transform-origin: center center;
}

@media screen and (max-width:768px) {
  .details-summary .btn::before ,.details-summary .btn::after {
    width: calc(23vw / 7.5);
  }
}

.details-summary .btn::before {
  width: 3.5px;
  height: 23px;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  transition: .3s;
}

@media screen and (max-width:768px) {
  .details-summary .btn::before {
    height: calc(23vw / 7.5);
  }
}

.details-summary.is-active .btn::before {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.details-summary-min .btn::before ,.details-summary-min .btn::after {
  top: calc(35vw / 14.4);
}

.details-summary::-webkit-details-marker {
  display: none;
}

.details-content-item {
  color: #fff;
  padding: 0 calc(40vw / 14.4);
  padding-left: calc(223vw / 14.4);
  text-align: left;
  font-weight: 500;
  font-size: calc(16vw / 14.4);
  line-height: 2;
  margin-top: 10px;
}

@media screen and (max-width:768px) {
  .details-content-item {
    font-size: calc(24vw / 7.5);
    margin-top: calc(25vw / 7.5);
    padding-left: calc(152vw / 7.5);
  }
}

.details-content-item a {
  text-decoration: underline;
  color: #EEDA6A;
}

.details-content-item.layer3 {
  background-color: #000;
}
.details-content-item.layer4 {
  background-color: #000;
}
.details-content-item:hover {
  cursor: pointer;
  opacity: 0.8;
}

.lp-detail__container {
  display: flex;
}

@media screen and (max-width:768px) {
  .lp-detail__container {
    flex-direction: column;
    padding-left: calc(50vw / 7.5);
    background: linear-gradient(135deg,  #6F0000 20%, #BD0000 100%);
  }
}

.lp-detail__title-box {
  background: linear-gradient(180deg,  #6F0000 20%, #BD0000 100%);
  width: calc(360vw / 14.4);
  padding: calc(130vw / 14.4) calc(48vw / 14.4);
}

@media screen and (max-width:768px) {
  .lp-detail__title-box {
    background: unset;
    width: 100%;
    padding: calc(65vw / 7.5) 0 calc(55vw / 7.5);
  }
}

.lp-detail__title-en {
  font-family: "DM Serif Display", serif;
  font-size: calc(75vw / 14.4);
  color: #fff;
  font-weight: 400;
  line-height: 1;
}

@media screen and (max-width:768px) {
  .lp-detail__title-en {
    font-size: calc(75vw / 7.5);
  }
}

.lp-detail__title-jp {
  font-weight: 500;
  font-size: calc(20vw / 14.4);
  line-height: 1.5;
  color: #fff;
  margin-top: 15px;
}

@media screen and (max-width:768px) {
  .lp-detail__title-jp {
    font-size: calc(30vw / 7.5);
    margin-top: calc(10vw / 7.5);
  }
}

.lp-detail__boxes {
  flex: 1;
  background-color: #0D0D0D;
  padding: calc(70vw / 14.4) calc(92vw / 14.4);
  color: #fff;
}

@media screen and (max-width:768px) {
  .lp-detail__boxes {
    padding: calc(70vw / 7.5);
  }
}

.lp-detail__box:nth-child(n+2) {
  margin-top: calc(70vw / 14.4);
}

@media screen and (max-width:768px) {
  .lp-detail__box:nth-child(n+2) {
    margin-top: calc(100vw / 7.5);
  }
}

.lp-detail__box-title {
  font-weight: 600;
  font-size: calc(27vw / 14.4);
  line-height: 1.3;
  padding-bottom: 20px;
  position: relative;
}

@media screen and (max-width:768px) {
  .lp-detail__box-title {
    font-size: calc(36vw / 7.5);
    padding-bottom: calc(25vw / 7.5);
  }
}

.lp-detail__box-title::before {
  position: absolute;
  content: "";
  width: calc(108vw / 14.4);
  height: 3px;
  bottom: 0;
  left: 0;
  background-color: #6F0000;
}

@media screen and (max-width:768px) {
  .lp-detail__box-title::before {
    width: calc(108vw / 7.5);
  }
}

.lp-detail__box-text {
  margin-top: calc(30vw / 14.4);
  font-size: calc(16vw / 14.4);
  font-weight: 500;
  line-height: 1.75;
}

@media screen and (max-width:768px) {
  .lp-detail__box-text {
    font-size: calc(24vw / 7.5);
    margin-top: calc(30vw / 7.5);
  }
}

.lp-detail__box-text span {
  color: #EEDA6A;
  text-decoration: underline;
}

.lp-contact {
  background-color: #000;
}

.lp-contact__container {
  padding: calc(70vw / 14.4) calc(84vw / 14.4) calc(70vw / 14.4) calc(59vw / 14.4);
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #fff;
}

@media screen and (max-width:768px) {
  .lp-contact__container {
    padding: calc(70vw / 7.5);
    flex-direction: column;
    gap: calc(35vw / 7.5);
  }
}

.lp-contact__text {
  font-weight: 600;
  font-size: calc(25vw / 14.4);
  line-height: 1.92;
}


@media screen and (max-width:768px) {
  .lp-contact__text {
    font-size: calc(27vw / 7.5);
  }
}

.lp-contact__img {
  width: calc(80vw / 14.4);
}

@media screen and (max-width:768px) {
  .lp-contact__img {
    width: calc(80vw / 7.5);
    transform: rotate(90deg);
  }
}

.lp-contact__text-box {
  width: calc(560vw / 14.4);
}

@media screen and (max-width:768px) {
  .lp-contact__text-box {
    width: 100%;
  }
}

.lp-contact__text-min {
  font-size: calc(16vw / 14.4);
  font-weight: 500;
  line-height: 1.75;
}

@media screen and (max-width:768px) {
  .lp-contact__text-min {
    font-size: calc(24vw / 7.5);
  }
}

.lp-contact__text-min:last-child {
  margin-top: calc(28vw / 14.4);
}

@media screen and (max-width:768px) {
  .lp-contact__text-min:last-child {
    margin-top: calc(41vw / 7.5);
  }
}

.lp-contact__text-min a {
  color: #EEDA6A;
  text-decoration: underline;
}

/* 追従追加分 */
@media screen and (min-width:769px) {
  .lp-qa__title-box-sticky {
    position: sticky;
    top: calc(130vw / 14.4);
  }
}

@media screen and (min-width:769px) {
  .lp-detail__title-box-sticky {
    position: sticky;
    top: calc(130vw / 14.4);
  }
}


.lp-detail__box .text_area {
  text-align: center;
    margin-bottom: 5%;
    font-size: 27px;
    line-height: 2;
    border-bottom: 3px dashed #fff;
    padding-bottom: 50px;
    border-top: 3px dashed #fff;
    padding-top: 50px;
}

@media screen and (max-width:768px) {
  .lp-detail__box .text_area {
        font-size: 1.6em;
        padding: 8% 0;
}
}

.lp-detail__box .text_area h4 {
    margin-bottom: 10px;
}

.lp-detail__box .text_area ._attn {
    font-size: calc(16vw / 14.4);
    text-align: left;
}

@media screen and (max-width:768px) {
  .lp-detail__box .text_area ._attn{
        font-size: calc(24vw / 7.5);
}
}

.lp-detail__box .text_area ._attn li {
    padding-left: 1em;
    text-indent: -1em;
}
