@charset "UTF-8";

/* margin */
.mt-8 {
  margin-top: 8px;
}
.mt-16 {
  margin-top: 16px;
}
.mt-24 {
  margin-top: 24px;
}
.mt-30 {
  margin-top: 30px;
}
.mt-42 {
  margin-top: 42px;
}
.mt-60 {
  margin-top: 60px;
}
.mt-80 {
  margin-top: 80px;
}
.mt-100 {
  margin-top: 100px;
}
.mt-120 {
  margin-top: 120px;
}
.mt-140 {
  margin-top: 140px;
}

/* padding */
.pt-8 {
  margin-top: 8px;
}
.pt-16 {
  margin-top: 16px;
}
.pt-24 {
  margin-top: 24px;
}

/* コンテンツ */
.page-block {
  margin-top: 100px;
}

.page-section {
  margin-top: 160px;
}

.page-content p {
  margin-top: 20px;
  letter-spacing: .03em;
  line-height: 1.8;
}

.page-content *:first-child {
  margin-top: 0;
}

/* リスト */
.dot-list > li {
  list-style-type: disc;
  margin-bottom: 10px;
  margin-left: 1.5em;
}
.dot-list > li:last-child {
  margin-bottom: 0;
}
.page-block ol > li {
  margin-bottom: 10px;
  margin-left: 1.5em;
}
.page-block ol > li:last-child {
  margin-bottom: 0;
}

/* テーブル */
.page-tb {
  max-width: 1080px;
  margin-inline: auto;
}

.page-tb table {
  width: 100%;
  border-top: 1px solid #ccc;
}

.page-tb table th, .page-tb table td {
  position: relative;
  border-bottom: 1px solid #e0e0e0;
  padding: 30px;
  font-weight: normal;
}

.page-tb table th {
  background-color: #f2f3f4;
  width: 25%;
  font-weight: normal;
}

.page-tb table td {
  letter-spacing: .03em;
  line-height: 1.6;
  background-color: #fff;
}




/* ============
レスポンシブ
============ */
@media screen and (max-width: 900px) {
  .content-w740 {
    padding-left: 10px;
    padding-right: 10px;
  }
  .page-tb {
    padding-inline: 20px;
  }

  .irmemo .page-tb,
  .ircalendar .page-tb {
    padding-inline: 0;
  }
}
@media screen and (max-width: 650px) {
  .page-section {
    margin-top: 80px;
  }

  .mt-42 {
    margin-top: 30px;
  }
  .mt-60 {
    margin-top: 40px;
  }
  .mt-80 {
    margin-top: 60px;
  }
  .mt-100 {
    margin-top: 80px;
  }
  .mt-120 {
    margin-top: 80px;
  }
  .mt-140 {
    margin-top: 100px;
  }

  .page-ttl {
    margin-bottom: 30px;
  }

  .page-tb table th, .page-tb table td {
    display: block;
    width: 100%;
  }

  .page-tb table th {
    border-bottom: none;
    padding: 20px;
  }

  .page-tb table td {
    padding: 20px;
    padding-right: 20px;
  }

  .access-tb {
    overflow-x: auto;
  }

  .access-tb table {
    width: 550px;
  }
  .page-tb.access-tb table th,
  .page-tb.access-tb table td {
    padding: 10px 15px;
  }
  .page-tb.access-tb table th:not(.access-tb_office) {
    width: 10%;
  }

  .page-block {
    margin-top: 60px;
  }

  .ttl-h3 {
    font-size: 4rem;
    margin-bottom: 30px;
    padding-left: 30px;
  }

  .page-ttl_txt span::before {
    transform: none;
    top: 0;
    right: 0;
    margin-inline: auto;
  }

  .page-ttl_txt span {
    padding-left: 0;
    padding-top: 45px;
    display: block;
  }
}
