.wedding-style-detail-visual {
  position: absolute;
  width: fit-content;
  right: 0;
  left: 0;
  bottom: 94.2%;
  margin: 0 auto;

  @media (min-width: 768px) {
    width: 680px;
  }
}

.wedding-style-detail-visual__text {
  z-index: 2;
  width: 50%;
  max-width: 309px;
  margin-left: 12px;

  @media (min-width: 768px) {
    width: 100%;
    margin-bottom: -24px;
    margin-left: 30px;
    position: absolute;
    bottom: -44px;
    left: 0;
    right: 0;
    margin: auto;
  }
}

.wedding-style-detail-visual__heading {
  z-index: 1;
  display: inline-flex;
  padding: 16px 8px;
  justify-content: center;
  align-items: center;
  background: #FFF;
  gap: 10px;
  margin: 0 0 0 30px;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}

.wedding-style-detail-visual__heading h1 {
  padding: 0;
  margin: 0 0 -10px;
  font-family: "YuMincho +36p Kana", "Noto Serif JP";
  font-size: 30px;
  letter-spacing: 15px;
  margin-bottom: -10px;

  @media (min-width: 768px) {
    font-size: 2rem;
  }
}

.wedding-style-detail-visual__heading.heading-long {
  margin-bottom: -10px;

  @media (min-width: 768px) {
    margin-bottom: -44px;
  }
}

.wedding-style-detail-visual__heading.heading-long h3 {
  letter-spacing: 10px;
}

@media screen and (max-width: 768px) {
  .wedding-style-detail-visual {
    width: fit-content;
    bottom: 92%;
  }
}
