@charset "UTF-8";
:root {
  --pc: 1500 * 100vw;
  --sp: 375 * 100vw;
}

#content {
  overflow: visible;
}

#fantasystories {
  width: 100%;
  margin-bottom: 0;
  background-image: linear-gradient(#522559 35%, #4e2759 48%, #422e5b 63%, #33385e 79%);
  color: #5A292B;
  text-align: center;
  font-family: "BIZ UDPMincho", serif;
  line-height: 1.7;
  z-index: 0;
  position: relative;
  scroll-behavior: smooth;
}
#fantasystories * {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}
#fantasystories img {
  width: 100%;
  height: auto;
  line-height: 1px;
}
#fantasystories ul, #fantasystories li {
  padding: 0;
  margin: 0;
  list-style-type: none;
}
#fantasystories a {
  text-decoration: none;
}
#fantasystories .sp {
  display: none;
}
#fantasystories .pc {
  display: block;
}
#fantasystories article {
  max-width: unset;
}
@keyframes fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fruitSwing {
  0% {
    transform: rotate(0deg);
  }
  15% {
    transform: rotate(5deg);
  }
  30% {
    transform: rotate(-4deg);
  }
  45% {
    transform: rotate(3deg);
  }
  60% {
    transform: rotate(-2deg);
  }
  75% {
    transform: rotate(1deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
@keyframes switchImages {
  0% {
    opacity: 1;
  }
  49.9% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes clock {
  0% {
    transform: rotateZ(0deg);
  }
  100% {
    transform: rotateZ(360deg);
  }
}
#fantasystories .kv {
  background-color: #C1B596;
  position: sticky;
  top: 0;
}
#fantasystories .kv .kv-inner {
  width: 1000px;
  height: 867px;
  background: url(../img/kv-back.png) no-repeat;
  background-size: contain;
  margin: 40px auto 40px;
  position: relative;
}
#fantasystories .kv .kv-inner .fluit {
  position: absolute;
  width: 34px;
  transform-origin: top center;
  animation: fruitSwing 3.5s ease-in-out infinite;
}
#fantasystories .kv .kv-inner .fluit.fluit1 {
  top: 129px;
  left: 433px;
}
#fantasystories .kv .kv-inner .fluit.fluit2 {
  top: 132px;
  right: 123px;
  animation-delay: 0.5s;
}
#fantasystories .kv .kv-inner .fluit.fluit3 {
  top: 270px;
  right: 400px;
  animation-delay: 1s;
}
#fantasystories .kv .kv-inner .fluit.fluit4 {
  top: 363px;
  left: 441px;
  animation-delay: 1.5s;
}
#fantasystories .kv .kv-inner .fluit.fluit5 {
  top: 373px;
  right: 156px;
  animation-delay: 2s;
}
#fantasystories .kv .kv-inner .character {
  position: absolute;
  opacity: 0;
  animation: fade 1s ease-in-out forwards;
}
#fantasystories .kv .kv-inner .character.character1 {
  width: 139px;
  bottom: 212px;
  left: 286px;
}
#fantasystories .kv .kv-inner .character.character2 {
  width: 112px;
  bottom: 250px;
  right: 26px;
  animation-delay: 0.5s;
}
#fantasystories .kv .kv-inner .character.character3 {
  width: 123px;
  bottom: 127px;
  right: 277px;
  animation-delay: 1s;
}
#fantasystories .kv .kv-inner .character.character4 {
  width: 116px;
  top: 253px;
  right: 219px;
  animation-delay: 1.5s;
}
#fantasystories .read {
  background: #FDFCEE;
  padding: 120px 0 150px;
}
#fantasystories .read p {
  line-height: 200%;
  letter-spacing: 0.04em;
}
#fantasystories .read p:nth-of-type(1) {
  font-size: 33px;
  -webkit-text-stroke: 1px #5A292B;
  text-stroke: 1px #5A292B;
}
#fantasystories .read p:nth-of-type(2) {
  font-size: 28px;
  margin-top: 20px;
}
#fantasystories .read p:nth-of-type(3) {
  font-size: 50px;
  -webkit-text-stroke: 2px #5A292B;
  text-stroke: 2px #5A292B;
  margin-top: 100px;
}
#fantasystories .read p:nth-of-type(4) {
  font-size: 28px;
  margin-top: 20px;
}
#fantasystories .read img {
  width: 205px;
  margin: 150px auto 0;
}
#fantasystories .collection {
  background: #FDFCEE;
  padding-bottom: 160px;
  position: sticky;
  top: 0;
  z-index: 1;
}
#fantasystories .collection h2 {
  width: 850px;
  margin: 0 auto;
}
#fantasystories .collection h2 + img {
  width: 634px;
  margin-top: 59px;
}
#fantasystories .collection .collection-item {
  width: 840px;
}
#fantasystories .collection .collection-item.collection-item1 {
  margin: 115px auto 0;
  height: 1147px;
  background: url(../img/item-back01.png) no-repeat;
  background-size: 100% 957px;
  background-position: top center;
  padding-top: 113px;
}
#fantasystories .collection .collection-item.collection-item1 .item-name {
  width: 713px;
  margin-top: 232px;
}
#fantasystories .collection .collection-item.collection-item2 {
  margin: 77px auto 0;
  height: 925px;
  background: url(../img/item-back02.png) no-repeat;
  background-size: 100% 735px;
  background-position: top center;
  padding-top: 47px;
}
#fantasystories .collection .collection-item.collection-item2 .item-name {
  width: 717px;
  margin-top: 79px;
}
#fantasystories .collection .collection-item .item-img {
  width: 660px;
  margin-left: 10px;
}
#fantasystories .collection .books {
  width: 223px;
  height: 298px;
  margin: 150px auto 0;
  position: relative;
}
#fantasystories .collection .books img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  animation: switchImages 2s steps(1, end) infinite;
}
#fantasystories .collection .books img:nth-of-type(1) {
  animation-delay: 0s;
}
#fantasystories .collection .books img:nth-of-type(1) {
  animation-delay: 1s;
}
#fantasystories .clock {
  background: #273A6E;
  position: relative;
  padding-top: 120px;
  z-index: 2;
}
#fantasystories .clock .clock-area {
  width: 950px;
  height: 810px;
  background: url(../img/clock.png) no-repeat;
  background-size: contain;
  margin: 0 auto;
  position: relative;
}
#fantasystories .clock .clock-area img {
  position: absolute;
  top: 47.5%;
  left: 50%;
  transform: translateY(-50%);
  transform-origin: left center;
}
#fantasystories .clock .clock-area img:nth-of-type(1) {
  width: 318px;
  animation: clock 36s linear infinite;
}
#fantasystories .clock .clock-area img:nth-of-type(2) {
  width: 258px;
  animation: clock 432s linear infinite;
}
#fantasystories .clock .clock-area img:nth-of-type(3) {
  width: 340px;
  animation: clock 4s linear infinite;
}
#fantasystories .clock .clock-area img:nth-of-type(4) {
  top: 50%;
  width: 72px;
  transform: translate(-50%, -50%);
}
#fantasystories .clock h2 {
  width: 1010px;
  margin: 160px auto 0;
}
#fantasystories .clock .fantasy-collections {
  display: flex;
  flex-wrap: wrap;
  gap: 33px;
  justify-content: center;
  width: 850px;
  margin: 68px auto 0;
}
#fantasystories .clock .fantasy-collections .fantasy-collection-item {
  width: 252px;
}
#fantasystories .clock .fantasy-collections .fantasy-collection-item:nth-of-type(1) {
  margin-left: 16px;
}
#fantasystories .clock .fantasy-collections .fantasy-collection-item:nth-of-type(2) {
  margin-right: 5px;
}
#fantasystories .clock .fantasy-collections .fantasy-collection-item:nth-of-type(3) {
  margin-left: 11px;
}
#fantasystories .clock .allitems {
  position: relative;
  width: 430px;
  height: 263px;
  margin: 107px auto 0;
}
#fantasystories .clock .allitems img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  animation: switchImages 2s steps(1, end) infinite;
}
#fantasystories .clock .allitems img:nth-of-type(1) {
  animation-delay: 0s;
}
#fantasystories .clock .allitems img:nth-of-type(1) {
  animation-delay: 1s;
}
#fantasystories .clock .bread-clumbs {
  width: 1200px;
  margin: 117px auto 0;
  font-family: "メイリオ";
  color: #fff;
  padding: 21px 0;
  font-size: 12px;
  letter-spacing: 0.03em;
  text-align: left;
}

@media screen and (max-width: 768px) {
  #fantasystories .sp {
    display: block;
  }
  #fantasystories .pc {
    display: none;
  }
  #fantasystories .kv .kv-inner {
    width: calc(334 / var(--sp));
    height: calc(287 / var(--sp));
    margin: calc(25 / var(--sp)) auto calc(25 / var(--sp));
  }
  #fantasystories .kv .kv-inner .fluit {
    width: calc(11 / var(--sp));
  }
  #fantasystories .kv .kv-inner .fluit.fluit1 {
    top: calc(43 / var(--sp));
    left: calc(145 / var(--sp));
  }
  #fantasystories .kv .kv-inner .fluit.fluit2 {
    top: calc(44 / var(--sp));
    right: calc(41 / var(--sp));
  }
  #fantasystories .kv .kv-inner .fluit.fluit3 {
    top: calc(90 / var(--sp));
    right: calc(133 / var(--sp));
  }
  #fantasystories .kv .kv-inner .fluit.fluit4 {
    top: calc(121 / var(--sp));
    left: calc(147 / var(--sp));
  }
  #fantasystories .kv .kv-inner .fluit.fluit5 {
    top: calc(127 / var(--sp));
    right: calc(52 / var(--sp));
  }
  #fantasystories .kv .kv-inner .character.character1 {
    width: calc(47 / var(--sp));
    bottom: calc(68 / var(--sp));
    left: calc(95 / var(--sp));
  }
  #fantasystories .kv .kv-inner .character.character2 {
    width: calc(37 / var(--sp));
    bottom: calc(81 / var(--sp));
    right: calc(9 / var(--sp));
  }
  #fantasystories .kv .kv-inner .character.character3 {
    width: calc(41 / var(--sp));
    bottom: calc(42 / var(--sp));
    right: calc(92 / var(--sp));
  }
  #fantasystories .kv .kv-inner .character.character4 {
    width: calc(39 / var(--sp));
    top: calc(85 / var(--sp));
    right: calc(73 / var(--sp));
  }
  #fantasystories .read {
    padding: calc(50 / var(--sp)) 0 calc(70 / var(--sp));
  }
  #fantasystories .read p {
    letter-spacing: 0.02em;
  }
  #fantasystories .read p:nth-of-type(1) {
    font-size: calc(17 / var(--sp));
    line-height: 170%;
  }
  #fantasystories .read p:nth-of-type(2) {
    font-size: calc(15 / var(--sp));
    margin-top: calc(15 / var(--sp));
    line-height: 180%;
  }
  #fantasystories .read p:nth-of-type(3) {
    font-size: calc(19 / var(--sp));
    margin-top: calc(39 / var(--sp));
    line-height: 170%;
  }
  #fantasystories .read p:nth-of-type(4) {
    font-size: calc(15 / var(--sp));
    margin-top: calc(14 / var(--sp));
    line-height: 180%;
  }
  #fantasystories .read img {
    width: calc(100 / var(--sp));
    margin-top: calc(70 / var(--sp));
  }
  #fantasystories .collection {
    padding-bottom: calc(65 / var(--sp));
  }
  #fantasystories .collection h2 {
    width: calc(335 / var(--sp));
  }
  #fantasystories .collection h2 + img {
    width: calc(223 / var(--sp));
    margin-top: calc(21 / var(--sp));
  }
  #fantasystories .collection .collection-item {
    width: calc(335 / var(--sp));
  }
  #fantasystories .collection .collection-item.collection-item1 {
    margin-top: calc(50 / var(--sp));
    height: calc(449 / var(--sp));
    background-size: 100% calc(381 / var(--sp));
    padding-top: calc(37 / var(--sp));
  }
  #fantasystories .collection .collection-item.collection-item1 .item-name {
    width: calc(266 / var(--sp));
    margin-top: calc(87 / var(--sp));
  }
  #fantasystories .collection .collection-item.collection-item2 {
    margin-top: calc(42 / var(--sp));
    height: calc(353 / var(--sp));
    background-size: 100% calc(285 / var(--sp));
    padding-top: calc(14 / var(--sp));
  }
  #fantasystories .collection .collection-item.collection-item2 .item-name {
    width: calc(267 / var(--sp));
    margin-top: calc(23 / var(--sp));
  }
  #fantasystories .collection .collection-item .item-img {
    width: calc(275 / var(--sp));
    margin-left: calc(5 / var(--sp));
  }
  #fantasystories .collection .books {
    width: calc(91 / var(--sp));
    height: calc(122 / var(--sp));
    margin-top: calc(71 / var(--sp));
  }
  #fantasystories .clock {
    padding-top: calc(50 / var(--sp));
  }
  #fantasystories .clock .clock-area {
    width: calc(335 / var(--sp));
    height: calc(286 / var(--sp));
  }
  #fantasystories .clock .clock-area img:nth-of-type(1) {
    width: calc(115 / var(--sp));
  }
  #fantasystories .clock .clock-area img:nth-of-type(2) {
    width: calc(91 / var(--sp));
  }
  #fantasystories .clock .clock-area img:nth-of-type(3) {
    width: calc(122 / var(--sp));
  }
  #fantasystories .clock .clock-area img:nth-of-type(4) {
    width: calc(25 / var(--sp));
  }
  #fantasystories .clock h2 {
    width: calc(296 / var(--sp));
    margin-top: calc(61 / var(--sp));
  }
  #fantasystories .clock .fantasy-collections {
    gap: calc(10 / var(--sp)) calc(5 / var(--sp));
    width: calc(350 / var(--sp));
    margin-top: calc(41 / var(--sp));
    margin-left: calc(17 / var(--sp));
  }
  #fantasystories .clock .fantasy-collections .fantasy-collection-item {
    width: calc(170 / var(--sp));
  }
  #fantasystories .clock .fantasy-collections .fantasy-collection-item:nth-of-type(1) {
    margin-left: 0;
  }
  #fantasystories .clock .fantasy-collections .fantasy-collection-item:nth-of-type(2) {
    margin-right: 0;
  }
  #fantasystories .clock .fantasy-collections .fantasy-collection-item:nth-of-type(3) {
    margin-left: 0;
  }
  #fantasystories .clock .allitems {
    width: calc(210 / var(--sp));
    height: calc(126 / var(--sp));
    margin-top: calc(55 / var(--sp));
  }
  #fantasystories .clock .bread-clumbs {
    width: calc(353 / var(--sp));
    margin-top: calc(98 / var(--sp));
    padding: calc(14 / var(--sp)) 0;
    font-size: calc(12 / var(--sp));
  }
}/*# sourceMappingURL=fantasystories.css.map */