/* ===============================================================================
Module
=============================================================================== */
/* inner module 
========================= */
/* m-inner-01 */
.m-inner-01 {
  width: 960px;
  padding: 0 20px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .m-inner-01 {
    width: auto;
    padding: 0 2vw;
  }
}

/* hedinag module 
========================= */
/* m-heading-01 */
.m-heading-01 {
  font-size: 36px;
  text-align: center;
  border: solid 2px #333;
  padding: 11px 5px;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .m-heading-01 {
    font-size: 2.25rem;
    border: solid 0.27vw #333;
    padding: 1.6vw 1.33vw;
  }
}

/* m-heading-02 */
.m-heading-02 {
  background: #f5ac3c;
  font-size: 1.5rem;
  text-align: center;
  padding: 10px 5px;
  border: solid 2px #000;
}

@media screen and (max-width: 768px) {
  .m-heading-02 {
    font-size: 4vw;
    padding: 0.6vw;
    border: solid 0.33vw #000;
  }
}

/* m-heading-03 */
.m-heading-03 {
  font-size: 1.5rem;
  line-height: 1.25;
  color: #08609d;
  padding-left: 14px;
  border-left: solid 5px #08609d;
}

@media screen and (max-width: 768px) {
  .m-heading-03 {
    font-size: 3.2vw;
    padding-left: 1.87vw;
    border-left: solid 0.67vw #08609d;
  }
}

/* text module 
========================= */
.m-text-01 {
  font-size: 1.313rem;
  line-height: 1.71;
}

@media screen and (max-width: 768px) {
  .m-text-01 {
    font-size: 3.2vw;
    line-height: 1.5;
  }
  .m-text-01.m-text-01_type-02 {
    font-size: 2.8vw;
    line-height: 1.71;
  }
}

/* table module 
========================= */
.m-table-01 table {
  width: 100%;
  font-size: 1.313rem;
  line-height: 1.86;
  border-top: solid 2px #000;
  border-left: solid 2px #000;
}

.m-table-01 tbody th, .m-table-01 tbody td {
  border-bottom: solid 2px #000;
  border-right: solid 2px #000;
  text-align: left;
  vertical-align: top;
}

.m-table-01 tbody th {
  background: #F5ac3c;
  width: 220px;
  padding: 3px 15px;
  box-sizing: border-box;
}

.m-table-01 tbody td {
  padding: 3px 20px;
}

@media screen and (max-width: 768px) {
  .m-table-01 table {
    display: block;
    font-size: 3.2vw;
    line-height: 1.63;
    border-top: solid 0.27vw #000;
    border-left: solid 0.27vw #000;
  }
  .m-table-01 tbody {
    display: block;
  }
  .m-table-01 tbody tr {
    display: block;
  }
  .m-table-01 tbody th, .m-table-01 tbody td {
    display: block;
    border-bottom: solid 0.27vw #000;
    border-right: solid 0.27vw #000;
  }
  .m-table-01 tbody th {
    width: auto;
    padding: 1.33vw 2.67vw;
  }
  .m-table-01 tbody td {
    padding: 1.33vw 2.67vw;
  }
}
