@charset "UTF-8";
/***  parts
------------------------------------***/

/*** section ***/
section {
  font-size: 14px;
  margin-top: 60px;
  width: 100%;
  overflow: hidden;
}
section.first {
  margin-top: 20px;
}
@media screen and (max-width: 640px) {
  section {
    margin-top: 40px;
    margin-left: 0;
  }
  section.first {
    margin-top: 20px;
  }
}

section a.txt_link {
  display: inline-block;
  color: white;
}
section a.txt_link:hover {
  text-decoration: underline;
}
section a.txt_link.txt_link-blue {
  color: #5385e8;
}

section span.txt_strong {
  font-weight: bolder;
  color: white;
}

.section__inner {
  width: calc(100% - 40px);
  max-width: 1012px;
  margin: 0 auto;
}

.section__title {
  font-size: 26px;
  padding: 10px 0 20px 0;
  border-bottom: 1px #ddd solid;
  font-weight: bold;
}
@media screen and (max-width: 640px) {
  .section__title {
    font-size: 5.33333vw;
    padding-bottom: 10px;
  }
}

.section__wrap {
  margin-top: 40px;
}

.section__lead {
  margin-top: 40px;
  text-align: left;
  line-height: 1.8;
}
.section__lead p {
  margin-top: 10px;
}
.section__lead p:first-of-type {
  margin-top: 0;
}

.section__article {
  padding: 40px;
  background-color: #eee;
}
.section__article h4 {
  font-size: 18px;
  font-weight: bold;
  color: #b60081;
}
.section__article p {
  margin-top: 20px;
}
@media screen and (max-width: 640px) {
  .section__article {
    padding: 30px 20px;
  }
}

.section__content {
  margin-top: 60px;
  text-align: left;
}
.section__content h4 {
  font-size: 18px;
  font-weight: bold;
}
.section__content .lead {
  line-height: 1.8;
  margin-top: 20px;
}
.section__content p {
  margin-top: 10px;
  line-height: 1.6;
}
@media screen and (max-width: 640px) {
  .section__content {
    margin-top: 40px;
  }
  .section__content h4 {
    font-size: 16px;
  }
}

/***  color_red  ***/
.color_red {
  color: #ff0000;
}

/***  Lists  ***/
.list_disc {
  margin-top: 20px;
  text-align: left;
  margin-left: 0.5em;
}
.list_disc li {
  list-style: disc;
  margin-left: 1em;
  line-height: 1.5;
  margin-top: 10px;
}
.list_disc li:first-of-type {
  margin-top: 0;
}

.list_notes ul {
  margin-top: 10px;
}
.list_notes ul li {
  line-height: 1.8;
}

.list_number {
  margin-top: 20px;
  text-align: left;
  margin-left: 1.0em;
}
.list_number li {
  list-style: decimal;
  margin-left: 1em;
  line-height: 1.5;
  margin-top: 10px;
  padding-left: 5px;
}
.list_number li:first-of-type {
  margin-top: 0;
}
.list_number ul {
  margin-top: 10px;
}
.list_kakko {
  margin-top: 20px;
  text-align: left;
  margin-left: 1.0em;
}
.list_kakko li {
  list-style-type: none;
  counter-increment: cnt_kakko;
  position: relative;
  margin-left: 1em;
  line-height: 1.5;
  margin-top: 10px;
  padding-left: 5px;
}
.list_kakko li:before {
  content: "(" counter(cnt_kakko) ")";
  display: inline-block;
  margin-left: -28px;
  width: 3em;
  text-align: left;
  position: absolute;
  top: 0;
  left: 0;
}
.list_kakko li:first-of-type {
  margin-top: 0;
}
.list_kakko ul {
  margin-top: 10px;
}
.list_alphabet {
  margin-top: 20px;
  text-align: left;
  margin-left: 1.0em;
}
.list_alphabet li {
  list-style-type: none;
  counter-increment: cnt_lower-alpha;
  position: relative;
  margin-left: 1em;
  line-height: 1.5;
  margin-top: 10px;
  padding-left: 5px;
}
.list_alphabet li:before {
  content: "(" counter(cnt_lower-alpha, lower-alpha) ")";
  display: inline-block;
  margin-left: -3.5em;
  width: 3em;
  text-align: right;
  position: absolute;
  top: 0;
  left: 0;
}
.list_alphabet li:first-of-type {
  margin-top: 0;
}
.list_alphabet ul {
  margin-top: 10px;
}

table.table_law {
  font-size: inherit;
  margin-top: 20px;
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}
table.table_law tbody th {
  width: auto;
  font-weight: normal;
  background-color: #222;
  color: #ffcc02;
  font-size: 16px;
  border-bottom: 1px #ddd solid;
}
table.table_law th,
table.table_law td {
  border: 1px #505050 solid;
  padding: 10px;
  line-height: 1.5;
}

/*** Other css ***/
.txt_pink {
  color: #b60081;
}
.txt-s {
  font-size: 0.8em;
}

.header-area .logo a {

}
.txt_link {
  word-break: break-all;
}
@media screen and (max-width: 640px) {
  .header .header-area .logo a {
    width: 100%;
  }
}