@charset "UTF-8";

/* ===============================
	共通スタイル
=============================== */
.bdr-gray {
  padding: .5em 1em;
  border: solid 1px #ddd;
}

/* ページタイトル */
.page-title {
  font-weight: 500;
}

/* サブセクション */
.sub-title {
  font-weight: 500;
  background: #e6e6e6;
}

/* 仕様表：基本 */
table.table-spec {
  width: 100%;
  font-size: 1.3rem;
  line-height: 1.4;
  border-collapse: separate;
  border-spacing: 0;
}

table.table-spec th, table.table-spec td, table.table-spec td.sub-td2 {
  padding: .5em 0;
  font-weight: normal;
  border-bottom: solid 1px #e5e5e5;
  text-align: left;
}

table.table-spec td.sub-td2 {
  border-bottom: dashed 1px #e5e5e5;
  padding-left: 1em;
}

table.table-spec th {
  width: 40%;
  font-weight: 500;
  vertical-align: top;
  word-break: break-word;
}

table.table-spec td {
  width: 60%;
  padding-left: 1em;
  word-break: break-word;
}

table.table-spec.has-col th {
  width: 25%;
}

table.table-spec.has-col td {
  width: 75%;
  border-left: solid 1px #e5e5e5;
}

table.table-spec th.has-sub-th {
  width: auto;
  padding-right: .5em;
}

table.table-spec th.sub-th {
  width: auto;
}

table.table-spec .td-col2 td {
  width: 37.5%;
  padding-right: 1em;
}

table.table-spec .td-col3 td {
  width: 25%;
  padding-right: 1em;
}

table.table-spec dl.normal {
  display: flex;
}

table.table-spec dl.normal dt, table.table-spec dl.normal dd {
  padding: .2em 0;
}

table.table-spec dl.normal dt {
  width: 12rem;
}

table.table-spec.mt-space {
  border-top: solid 1px #ddd;
  margin-top: .8em;
}

table.table-spec .table-ttl {
  background: #F5F5F5;
  text-align: center;
  font-weight: bold;
}

ul.option-list {
  display: flex;
  flex-wrap: wrap;
  text-align: center;
}

ul.option-list li {
  width: 32%;
  margin-top: 6%;
  margin-left: 2%;
}

ul.option-list li:nth-child(-n + 3) {
  margin-top: 0;
}

ul.option-list li:nth-child(3n - 2) {
  margin-left: 0;
}

/* ====================================
	スマートフォン専用スタイル
===================================== */
@media only screen and (max-width: 767px) {
  article {
    padding-bottom: 4rem;
    font-size: 1.4rem;
  }

  /* ページタイトル */
  .page-title {
    margin: 5rem 0;
    font-size: 2.2rem;
    text-align: center;
  }

  /* サブセクション */
  .sub-section {
    padding-top: 4rem;
  }

  .sub-section:first-of-type {
    padding-top: 0;
  }

  .sub-title {
    margin-bottom: 3rem;
    padding: .2em 0;
    font-size: 1.8rem;
    text-align: center;
  }

  /* 注釈セクション */
  .caption-section {
    padding-top: 8rem;
  }

  /* 仕様表：基本 */
  table.table-spec td .sub-ttl {
    width: 8em;
    padding-right: 1rem;
  }

  ul.option-list {
    display: flex;
    flex-wrap: wrap;
    text-align: center;
  }

  ul.option-list li {
    width: 32%;
    margin-top: 6%;
    margin-left: 2%;
  }

  ul.option-list li:nth-child(-n + 3) {
    margin-top: 0;
  }

  ul.option-list li:nth-child(3n - 2) {
    margin-left: 0;
  }
}

/* ====================================
	PC&タブレット、印刷専用スタイル
===================================== */
@media print, screen and (min-width: 768px) {
  article {
    font-size: 1.4rem;
  }

  /* 最大幅 */
  .maxw675 {
    max-width: 675px;
  }

  /* ページタイトル */
  .page-title {
    margin-top: 8rem;
    margin-bottom: 8rem;
    font-size: 3.2rem;
    text-align: center;
  }

  /* サブセクション */
  .sub-section {
    padding-top: 6rem;
  }

  .sub-section:first-of-type {
    padding-top: 0;
  }

  .sub-title {
    margin-bottom: 5rem;
    padding: .2em 0;
    font-size: 2.2rem;
    text-align: center;
  }

  /* 注釈セクション */
  .caption-section {
    padding-top: 14rem;
  }

  /* 仕様表：基本 */
  table.table-spec th {
    font-size: 1.5rem;
  }

  table.table-spec td .sub-ttl {
    display: inline-block;
    width: 8em;
    padding-right: 1rem;
  }

  ul.option-list {
    display: flex;
    flex-wrap: wrap;
    text-align: center;
  }

  ul.option-list li {
    width: 19.2%;
    margin-top: 4rem;
    margin-left: 1%;
  }

  ul.option-list li:nth-child(-n + 5) {
    margin-top: 0;
  }

  ul.option-list li:nth-child(5n - 4) {
    margin-left: 0;
  }
}
