@charset "utf-8";

html {
  font-size: 14px; /* 1rem = 14px */
}

input::placeholder {
  color: #c2c2c2;
}

div + ul,
ul + ul,
ul + p,
p + figure,
p + p,
p + table,
p + ul {
  margin-top: 1rem;
}

/* スマホ 幅が 0px - 599px */
@media screen and (max-width: 599px) {
  html, body {
    width: 100%;
  }

  .hidden-if-pc {
    display: block;
  }

  .hidden-if-sph {
    display: none;
  }
}

/* PC 幅が 600px 以上 */
@media screen and (min-width: 600px) {
  html, body {
    min-width: 960px;
  }

  section:target::before {
    /* アンカーリンクによるヘッダーの重なりを防ぐ */
    content: "";
    display: block;
    margin-top: -55px;
    padding-top: 55px;
  }

  .hidden-if-pc {
    display: none;
  }

  .hidden-if-sph {
    display: block;
  }

  .inner {
    width: 960px;
    margin: 0 auto;
  }
}

/* ----------------
 HEADLINE
---------------- */

#footer h1 {
  font-size: 216.6%;
  line-height: 1;
  margin: 3px 0 17px;
}

h2 {
  font-size: 2rem;
  margin: 0 0 2rem;
  line-height: 1.3;
}

h3 {
  font-size: 1.2rem;
  line-height: 1.3;
  margin-bottom: 1rem;
}

h3:not(:first-child) {
  margin-top: 2rem;
}

h4 {
  margin-bottom: 0.4rem;
  font-weight: bold;
}

h4:not(:first-child) {
  margin-top: 1rem;
}

/* ----------------
 TABLE
---------------- */

table {
  border: 1px solid #ccc;
}

th {
  background-color: #f0f0f0;
  border: 1px solid #ccc;
  padding: 1rem;
}

td {
  background-color: #fff;
  border: 1px solid #ccc;
  padding: 1rem 2rem;
}