/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: "Noto Sans JP", "YakuHanJP", "游ゴシック Medium", "Yu Gothic Medium",
  "游ゴシック体", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",
  "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-feature-settings: "palt" 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.8;
  color: #2C2C2C;
}

/* Remove list styles */
ul,
ol {
  list-style: none;
}

/* Make images easier to work with */
img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Modern form reset */
button,
input,
select,
textarea {
  background-color: transparent;
  border-width: 0;
  padding: 0;
}

/* Remove default button styles */
button {
  cursor: pointer;
}
button:focus {
  outline: none;
}

/* Remove text-decoration from links */
a {
  color: inherit;
  text-decoration: none;
}

/* Set default font family */
body {
}

/* Prevent font size inflation */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

/* Modern table reset */
table {
  border-collapse: collapse;
  border-spacing: 0;
}
.shippori {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal;
}

select,
input:not([type=submit]):not([type=radio]):not([type=checkbox]),
textarea {
  display: block;
  width: 100%;
  height: 100%;
  padding: 20px;
  box-shadow: none;
  border: none;
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.7);
}
select:focus,
input:not([type=submit]):focus,
input:not([type=radio]):focus,
input:not([type=checkbox]):focus,
textarea:focus {
}
select::placeholder,
input:not([type=submit])::placeholder,
input:not([type=radio])::placeholder,
input:not([type=checkbox])::placeholder,
textarea::placeholder {
  color: #C0C0C0;
}

textarea {
  min-height: 150px;
  padding: 20px;
  resize: none;
}


.mainvisual-text img,
.mainvisual-text p {
  opacity: 0;
  filter: blur(8px);
  transition: all 0.7s ease-in-out;
}
.is--loaded .mainvisual-text img:nth-child(2) {
  transition-delay: 0.1s;
}
.is--loaded .mainvisual-text img:nth-child(3) {
  transition-delay: 0.2s;
}
.is--loaded .mainvisual-text img:nth-child(4) {
  transition-delay: 0.3s;
}
.is--loaded .mainvisual-text p {
  transition-delay: 0.5s;
}

.is--loaded .mainvisual-text img,
.is--loaded .mainvisual-text p {
  opacity: 1;
  filter: blur(0);
}