@charset "utf-8";

*,*::before,*::after { box-sizing: border-box; }
body {
  font-size: 100%;
  overflow-x: hidden;
}

.sp { display: none; }

#contents { padding: 0 0 5px 0; }

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

section h1 {
  font-size: 32px;
  font-weight: normal;
  line-height: 1.7;
  text-align: center;
}
section h1::after {
  content: "";
  display: block;
  border-bottom: 3px solid #1c2569;
  width: 115px;
  margin: 20px auto 60px;
}

section h2 {
  font-size: 20px;
  font-weight: normal;
  color: #1c2569;
  margin-top: 50px;
}

section .inner {
  width: 96%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 60px 0 90px;
}

.txt,
.list-ul,
.list-dl {
  margin-top: 30px;
}
.caution {
  margin-top: 15px;
  font-size: .9em;
}

.list-ul li {
  position: relative;
  padding-left: 1em;
}
.list-ul li::before {
  content: '・';
  position: absolute;
  top: 0;
  left: 0;
}
.list-ul li + li { margin-top: 10px; }

.list-dl {
  display: flex;
  flex-wrap: wrap;
}
.list-dl dt { width: 4em; }
.list-dl dd { width: calc(100% - 4em); }
.list-dl-wide dt { width: 5em; }
.list-dl-wide dd { width: calc(100% - 5em); }
.list-dl dt:nth-of-type(n+2),
.list-dl dd:nth-of-type(n+2) {
  margin-top: 20px;
}

.txt-bottom {
  margin-top: 50px;
  text-align: right;
}

section a {
  color: #0091d7;
  text-decoration: underline;
  word-break: break-all;
}

.note { font-size: .9em; }

.closing { margin-top: 50px; }

.list-ol {
  margin-top: 20px;
  padding-left: 1.5em;
  list-style: decimal;
}
.list-ol li { list-style: decimal outside; }
.list-ol li + li { margin-top: 10px; }

.tbl {
  width: 100%;
  margin-top: 30px;
  border-collapse: collapse;
}
.tbl th,
.tbl td {
  padding: 12px 15px;
  border: 1px solid #ccc;
  text-align: left;
  vertical-align: top;
}
.tbl th {
  background-color: #f3f3f2;
  font-weight: normal;
}
.tbl .date {
  width: 11em;
  white-space: nowrap;
}

.box {
  margin-top: 30px;
  padding: 20px 25px;
  background-color: #eff1f7;
}
.box-ttl {
  margin-bottom: 10px;
  font-weight: bold;
}

@media screen and (max-width: 999px) {
  #head2 { height: 85px !important; }

  #container {
    margin-top: 100px;
    overflow: hidden;
    width: 100%;
  }

  section .inner { padding: 30px 0 50px; }
}

@media screen and (max-width: 599px) {
  .sp { display: block; }

  #head2 { height: 85px !important; }

  section .inner { padding: 30px 7.5px 40px; }
  section h1 {
    font-size: 24px;
    letter-spacing: 0;
    line-height: 1.4;
  }
  section h1::after {
    width: 80px;
    margin: 15px auto 30px;
  }
  section h2 {
    font-size: 18px;
    margin-top: 40px;
  }

  .pc { display: none; }

  .tbl,
  .tbl tbody,
  .tbl tr,
  .tbl td { display: block; }
  .tbl thead { display: none; }
  .tbl tr + tr { margin-top: -1px; }
  .tbl td + td { border-top: none; }
  .tbl .date {
    width: auto;
    background-color: #f3f3f2;
  }

  .box { padding: 15px; }
}
