@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500..700&family=Noto+Serif+JP:wght@900&display=swap');

:root {
  --txt-color: #212121;
  --black: #212121;
  --gradient: linear-gradient(to right, #ffb50f 0%, #f836ff 100%);
  --pink: #f836ff;
  --red: #ff231b;
}

html {
  scroll-behavior: smooth;
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

body {
  width: 100%;
  color: var(--txt-color);
  font-size: 16px;
  font-family: 'Noto Sans JP', 'Helvetica Neue', 'Arial', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', 'BIZ UDPGothic', Meiryo, sans-serif;
  font-weight: 500;
  font-display: swap;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
  text-autospace: normal;
}

img {
  width: 100%;
  max-width: 100%;
  height: auto;
  image-rendering: -webkit-optimize-contrast;
}

a {
  color: var(--txt-color);
  transition: .3s ease;
}
a img {
  transition: .3s ease;
}
a:hover img {
  opacity: .7;
}

.wrap {
  margin: 0 auto;
  padding-bottom: 8vw;
  max-width: 1440px;
  background: #fff;
}
.content {
  margin: 0 auto;
  width: 90%;
  max-width: 980px;
}

/* footer */
footer {
  padding: 1em;
  color: #fff;
  font-size: .875rem;
  text-align: center;
  line-height: 1;
  background: var(--black);
}
footer small {
  display: inline-block;
}


@media (min-width: 1280px) {
  .sp {
    display: none;
  }

  .wrap {
    padding-bottom: 120px;
  }
}