@charset "UTF-8";

.topMv {
  overflow: hidden;
  display: flex;
  justify-content: center;
}

@media screen and (max-width: 769px) {
  .topMv {
    width: 100vw;
    margin-left: calc(50% - 50vw);
  }
}

.topMv__picture {
  display: flex;
  justify-content: center;
}

@media screen and (max-width: 769px) {
  .topMv__picture {
    width: 100%;
  }
}

.topMv__img {
  width: 1902px;
  max-width: none;
  height: auto;
  flex-shrink: 0;
}

@media screen and (min-width: 1902px) {
  .topMv__img {
    width: 100%;
  }
}

@media screen and (max-width: 769px) {
  .topMv__img {
    width: 100%;
    max-width: 100%;
    height: auto;
  }
}

@media screen and (max-width: 769px) {
  .topIntro {
    width: 100vw;
    margin-left: calc(50% - 50vw);
  }
}

.topIntro__inner {
  width: 780px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-top: 80px;
  padding-bottom: 85px;
  background-color: #ffffff;
  border-left: 20px solid #FCFAF4;
  border-right: 20px solid #FCFAF4;
}

@media screen and (min-width: 1902px) {
  .topIntro__inner {
    width: calc(780 / 1902 * 100%);
  }
}

@media screen and (max-width: 769px) {
  .topIntro__inner {
    width: 100%;
    padding: 50px 25px 80px;
    border-left-width: 0;
    border-right-width: 0;
  }
}

.topIntro__body {
  width: 599px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

@media screen and (min-width: 1902px) {
  .topIntro__body {
    width: calc(599 / 1902 * 100vw);
  }
}

@media screen and (max-width: 769px) {
  .topIntro__body {
    width: 100%;
  }
}

.topIntro__txt {
  width: 100%;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 2;
  color: #484848;
}

.topIntro__diamond {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 10px;
  height: 10px;
}

.topIntro__diamond::before {
  content: "";
  width: 6.8px;
  height: 6.8px;
  background-color: #4f8090;
  transform: rotate(45deg);
}

.topIntro__sign {
  width: 680px;
  max-width: 100%;
  margin-top: 69px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

@media screen and (max-width: 769px) {
  .topIntro__sign {
    width: 100%;
    margin-top: 50px;
  }
}

.topIntro__role {
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-size: 13px;
  line-height: 2;
  color: #484848;
}

@media screen and (max-width: 769px) {
  .topIntro__role {
    font-size: 12px;
  }
}

.topIntro__name {
  margin-top: 8px;
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
  font-size: 30px;
  line-height: 1;
  color: #484848;
}

@media screen and (max-width: 769px) {
  .topIntro__name {
    font-size: 24px;
  }
}

.topStories {
  padding-top: 139px;
  padding-bottom: 154px;
  background-color: #ffffff;
  border-top: 1px solid #ece2de;
  border-bottom: 1px solid #ece2de;
}

@media screen and (max-width: 769px) {
  .topStories {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    padding-top: 88px;
    padding-bottom: 77px;
  }
}

.topStories__inner {
  width: 930px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 769px) {
  .topStories__inner {
    width: 100%;
  }
}

.topStories__ttl {
  text-align: center;
}

@media screen and (max-width: 769px) {
  .topStories__ttl {
    padding-left: 25px;
    padding-right: 25px;
  }
}

.topStories__ttlImg {
  width: 498px;
  max-width: 100%;
  height: auto;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 769px) {
  .topStories__ttlImg {
    width: 306px;
  }
}

.topStories__scroll {
  margin-top: 101px;
}

@media screen and (max-width: 769px) {
  .topStories__scroll {
    margin-top: 50px;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .topStories__scroll::-webkit-scrollbar {
    display: none;
  }
}

.topStories__list {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 30px;
}

@media screen and (max-width: 769px) {
  .topStories__list {
    justify-content: flex-start;
    gap: 4px;
    width: max-content;
    padding-left: calc(50% - 135.5px);
    padding-right: calc(50% - 135.5px);
  }
}

.topStories__item {
  display: block;
  width: 290px;
  flex-shrink: 0;
  transition: opacity 0.2s ease;
}

.topStories__item:hover {
  opacity: 0.6;
}

@keyframes topStoriesBlinking {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0.15;
  }
}

.topStories__item.is-disabled {
  cursor: default;
  transition: none;
}

.topStories__item.is-disabled:hover {
  opacity: 1;
  color: inherit;
  animation: topStoriesBlinking 1.2s ease-in-out infinite alternate;
}

.topStories__item--current {
  transition: opacity 0.2s ease;
}

.topStories__item--current:hover {
  opacity: 0.6;
  animation: none;
}

@media screen and (max-width: 769px) {
  .topStories__item {
    width: 271px;
    scroll-snap-align: center;
  }

  .topStories__item.is-disabled {
    pointer-events: none;
  }

  .topStories__item.is-disabled:hover {
    animation: none;
  }
}

.topStories__picture {
  display: block;
}

.topStories__itemImg {
  width: 100%;
  height: auto;
  display: block;
}

.topJewels {
  padding-top: 139px;
  padding-bottom: 0;
}

@media screen and (max-width: 769px) {
  .topJewels {
    padding-top: 90px;
  }
}

.topJewels__inner {
  max-width: 100%;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.topJewels__ttl {
  text-align: center;
  padding-bottom: 20px;
}

.topJewels__ttlImg {
  width: 479px;
  max-width: 100%;
  height: auto;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 769px) {
  .topJewels__ttlImg {
    width: 290px;
  }
}
