@charset "UTF-8";
/*=============================================================
 tools
=============================================================*/
@import url("https://fonts.googleapis.com/css2?family=Murecho:wght@400..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Dela+Gothic+One&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Tilt+Warp&display=swap");
@keyframes spin-right {
  0% {
    transform: rotate(0deg); /* 初期位置 */
  }
  100% {
    transform: rotate(360deg); /* 360度回転 */
  }
}
@keyframes floatX {
  0% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(vw(-20));
    @media only screen and (min-width: 768px) {
      transform: translateX(-20px);
    }
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes floatX2 {
  0% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(vw(-20));
    @media only screen and (min-width: 768px) {
      transform: translateX(-20px);
    }
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes poyon {
  0%, 50%, 100% {
    transform: scale(1, 1);
  }
  10% {
    transform: scale(1.1, 0.9);
  }
  20% {
    transform: scale(0.9, 1.1);
  }
  30% {
    transform: scale(1.05, 0.95);
  }
  40% {
    transform: scale(1, 1);
  }
}
@keyframes yurayura {
  0%, 100% {
    transform: rotate(0deg) skewX(0deg);
  }
  50% {
    transform: rotate(-2deg) skewX(2deg);
  }
}
@keyframes yurayura2 {
  0%, 100% {
    transform: rotate(0deg) skewX(0deg);
  }
  50% {
    transform: rotate(2deg) skewX(-2deg);
  }
}
@keyframes story {
  0% {
    transform: translateY(0);
  }
  5% {
    transform: translateY(10px);
  }
  10% {
    transform: translateY(0);
  }
  15% {
    transform: translateY(10px);
  }
  20% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(0);
  }
}
#imageInput {
  line-height: 1;
}

#inputText {
  line-height: 1;
}

#preview-area {
  position: relative;
}

#baseImage {
  position: relative;
  width: 100%;
  display: block;
}

#overlayImage {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

#overlayImageWrap {
  position: absolute;
  top: 49.2%;
  left: 15.1%;
  width: 21.4%;
  height: 47.4%;
  transform: translate(-50%, -50%);
  overflow: hidden;
}

#overlayImage {
  position: absolute;
  left: 0;
  top: 0;
  width: auto;
  height: 100%;
  max-width: none;
}

#imageSet {
  width: 65vw;
  margin: 4.6875vw auto;
}
@media only screen and (min-width: 768px) {
  #imageSet {
    width: 416px;
    margin: 30px auto;
  }
}

#cropArea {
  width: 100%;
  height: 80.9375vw;
  overflow: hidden;
  position: relative;
  border: 0.3125vw solid #ccc;
  touch-action: none;
  margin-bottom: 3.125vw;
}
@media only screen and (min-width: 768px) {
  #cropArea {
    height: 518px;
    margin-bottom: 20px;
    border-width: 2px;
  }
}

#zoomRange {
  display: block;
  width: 100%;
  height: 3.125vw;
  margin: 0 auto;
  appearance: none;
  border-radius: 9999px;
  background: linear-gradient(90deg, #377494 0%, #dddddd 0%);
  cursor: pointer;
}
@media only screen and (min-width: 768px) {
  #zoomRange {
    height: 20px;
  }
}
#zoomRange {
  /* ツマミ：Chrome, Safari, Edge用 */
}
#zoomRange::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 4.6875vw;
  height: 4.6875vw;
  border-radius: 15.625vw;
  background: #06b6d4;
  box-shadow: none;
}
@media only screen and (min-width: 768px) {
  #zoomRange::-webkit-slider-thumb {
    width: 30px;
    height: 30px;
    border-radius: 100px;
  }
}
#zoomRange {
  /* ツマミ：Firefox用 */
}
#zoomRange::-moz-range-thumb {
  border: none;
  width: 4.6875vw;
  height: 4.6875vw;
  border-radius: 15.625vw;
  background: #06b6d4;
  box-shadow: none;
}
@media only screen and (min-width: 768px) {
  #zoomRange::-moz-range-thumb {
    width: 30px;
    height: 30px;
    border-radius: 100px;
  }
}

#imageSet {
  display: none;
}

#cropImage {
  position: absolute;
  cursor: grab;
  user-select: none;
  -webkit-user-drag: none;
}

#previewText {
  position: absolute;
  left: 28%;
  top: 37%;
  transform: none;
  color: #fff;
  font-family: sans-serif;
  text-align: left;
}
#previewText.area1 {
  color: #fcf5c1;
}
#previewText.area2 {
  color: #fe9297;
}
#previewText.area3 {
  color: #de2e2a;
}
#previewText.area4 {
  color: #71e5ff;
}
#previewText.area5 {
  color: #a09ba4;
}
#previewText.area6 {
  color: #ee82ee;
}
#previewText.area7 {
  color: #dc415c;
}
#previewText.area8 {
  color: #ffacd3;
}