@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500&family=Noto+Serif+JP:wght@300;500&family=Playfair+Display:wght@400;500&family=Roboto:wght@300;500&display=swap);
@media screen and (min-width: 768px) {
  .pc {
    display: block; }
  .tab {
    display: none; }
  .sp {
    display: none; } }

@media screen and (min-width: 768px) and (max-width: 1080px) {
  .tab {
    display: block; }
  .sp {
    display: none; } }

@media screen and (max-width: 768px) {
  .pc {
    display: none; }
  .tab {
    display: none; }
  .sp {
    display: block; } }

* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  letter-spacing: calc(1em * 0.05); }

html,
body {
  position: relative;
  overscroll-behavior-x: none;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
  width: 100%;
  height: 100%;
  font-family: "Roboto", "Noto Sans JP", sans-serif;
  color: #e3061d;
  -ms-scroll-chaining: none;
      overscroll-behavior: none;
  overflow-x: hidden; }

html {
  font-size: 62.5%; }

body,
* {
  font-size: 1em; }

h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
button {
  font-weight: 300; }

a {
  color: #e3061d;
  text-decoration: none; }
  a:hover {
    cursor: pointer; }

ul,
li {
  display: block;
  list-style-type: none; }

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }

input {
  padding: 0;
  border: none;
  border-radius: 0;
  outline: none;
  background: none; }

textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  resize: none;
  padding: 0;
  border: 0;
  outline: none;
  background: transparent; }

img {
  width: 100%;
  height: auto; }

.ib {
  display: inline-block; }

