@charset "UTF-8";
@media screen and (min-width: 768px) {
  .sp {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
}

body.sub main article {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  body.sub main article {
    max-width: 1090px;
    margin: 150px auto 0;
  }
}
@media screen and (max-width: 767px) {
  body.sub main article {
    width: 89.3333333333vw;
    margin: 0 auto 4vw;
  }
}
body.sub main article img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  body.sub main article > h1, body.sub main article > h2, body.sub main article > h3, body.sub main article > h4, body.sub main article > h5, body.sub main article > h6, body.sub main article > p, body.sub main article > ul, body.sub main article > ol, body.sub main article > img {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 767px) {
  body.sub main article > h1, body.sub main article > h2, body.sub main article > h3, body.sub main article > h4, body.sub main article > h5, body.sub main article > h6, body.sub main article > p, body.sub main article > ul, body.sub main article > ol, body.sub main article > img {
    margin-bottom: 4vw;
  }
}
body.sub main article > h1 a, body.sub main article > h2 a, body.sub main article > h3 a, body.sub main article > h4 a, body.sub main article > h5 a, body.sub main article > h6 a, body.sub main article > p a, body.sub main article > ul a, body.sub main article > ol a, body.sub main article > img a {
  text-decoration: underline;
  color: #19A3B1;
}
body.sub main article .has-text-align-right {
  text-align: right;
}
body.sub main article div.wrap {
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  body.sub main article div.wrap {
    gap: 0 45px;
  }
}
@media screen and (max-width: 767px) {
  body.sub main article div.wrap {
    gap: 0 4vw;
  }
}
body.sub main article div.wrap p.cate {
  transition: 0.4s;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: #19A3B1;
}
@media screen and (min-width: 768px) {
  body.sub main article div.wrap p.cate {
    height: 32px;
    padding: 0 20px;
    font-size: 16px;
    border: 2px solid #19A3B1;
  }
}
@media screen and (max-width: 767px) {
  body.sub main article div.wrap p.cate {
    height: 4.8vw;
    padding: 2vw 2.6666666667vw;
    font-size: 3.0666666667vw;
    border: 1px solid #19A3B1;
  }
}
body.sub main article div.wrap time {
  color: #868686;
}
@media screen and (min-width: 768px) {
  body.sub main article div.wrap time {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  body.sub main article div.wrap time {
    font-size: 3.0666666667vw;
  }
}
body.sub main article h1 {
  position: static;
  display: block;
  line-height: 1.35;
  border-bottom: 1px solid #19A3B1;
}
@media screen and (min-width: 768px) {
  body.sub main article h1 {
    margin: 50px 0 40px;
    padding-bottom: 20px;
    font-size: 24px;
  }
}
@media screen and (max-width: 767px) {
  body.sub main article h1 {
    margin: 4vw 0 6.6666666667vw;
    padding-bottom: 5.3333333333vw;
    font-size: 4vw;
  }
}
body.sub main article div.content > h2 {
  line-height: 1.3;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  body.sub main article div.content > h2 {
    margin: 40px 0 15px;
    padding: 5px 10px;
    font-size: 22px;
    border-left: 4px solid #19A3B1;
  }
}
@media screen and (max-width: 767px) {
  body.sub main article div.content > h2 {
    margin: 6.6666666667vw 0 3.3333333333vw;
    padding: 0 2.6666666667vw;
    font-size: 3.7333333333vw;
    border-left: 0.8vw solid #19A3B1;
  }
}
@media screen and (min-width: 768px) {
  body.sub main article div.content > h2 + h3 {
    margin-top: 30px !important;
  }
}
@media screen and (max-width: 767px) {
  body.sub main article div.content > h2 + h3 {
    margin-top: 6.6666666667vw !important;
  }
}
body.sub main article div.content > h3 {
  line-height: 1.35;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  body.sub main article div.content > h3 {
    margin: 40px 0 10px;
    padding: 0 0 5px;
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  body.sub main article div.content > h3 {
    margin: 8vw 0 2.6666666667vw;
    padding: 0 0 1.3333333333vw;
    font-size: 3.7333333333vw;
  }
}
body.sub main article div.content > h4 {
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  body.sub main article div.content > h4 {
    margin: 40px 0 10px;
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  body.sub main article div.content > h4 {
    margin: 6.6666666667vw 0 2.6666666667vw;
    font-size: 3.4666666667vw;
  }
}
body.sub main article div.content > h5 {
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  body.sub main article div.content > h5 {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  body.sub main article div.content > h5 {
    font-size: 2.6666666667vw;
  }
}
body.sub main article div.content > h6 {
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  body.sub main article div.content > h6 {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  body.sub main article div.content > h6 {
    font-size: 2.6666666667vw;
  }
}
body.sub main article div.content a em, body.sub main article div.content p em, body.sub main article div.content span em, body.sub main article div.content li em, body.sub main article div.content td em, body.sub main article div.content dd em {
  font-weight: 500;
  font-style: normal;
  background-color: #ffd7d7;
}
@media screen and (min-width: 768px) {
  body.sub main article div.content a em, body.sub main article div.content p em, body.sub main article div.content span em, body.sub main article div.content li em, body.sub main article div.content td em, body.sub main article div.content dd em {
    margin: 0 4px;
    padding: 0 4px;
  }
}
@media screen and (max-width: 767px) {
  body.sub main article div.content a em, body.sub main article div.content p em, body.sub main article div.content span em, body.sub main article div.content li em, body.sub main article div.content td em, body.sub main article div.content dd em {
    margin: 0 0.8vw;
    padding: 0 0.8vw;
  }
}
body.sub main article div.content p {
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  body.sub main article div.content p + P {
    margin-top: 20px;
  }
}
@media screen and (max-width: 767px) {
  body.sub main article div.content p + P {
    margin-top: 4vw;
  }
}
@media screen and (min-width: 768px) {
  body.sub main article div.content > ol, body.sub main article div.content ul {
    margin-top: 30px;
  }
}
@media screen and (max-width: 767px) {
  body.sub main article div.content > ol, body.sub main article div.content ul {
    margin-top: 6.6666666667vw;
  }
}
body.sub main article div.content > ol li, body.sub main article div.content ul li {
  position: relative;
}
@media screen and (min-width: 768px) {
  body.sub main article div.content > ol li, body.sub main article div.content ul li {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  body.sub main article div.content > ol li, body.sub main article div.content ul li {
    font-size: 3.3333333333vw;
  }
}
body.sub main article div.content > ol li:before, body.sub main article div.content ul li:before {
  display: block;
  position: absolute;
  left: 0;
}
@media screen and (min-width: 768px) {
  body.sub main article div.content > ul + p {
    margin-top: 25px;
  }
}
@media screen and (max-width: 767px) {
  body.sub main article div.content > ul + p {
    margin-top: 5.3333333333vw;
  }
}
body.sub main article div.content > ul > li {
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  body.sub main article div.content > ul > li {
    padding-left: 16px;
  }
}
@media screen and (max-width: 767px) {
  body.sub main article div.content > ul > li {
    padding-left: 3.3333333333vw;
  }
}
body.sub main article div.content > ul > li:before {
  content: "・";
}
@media screen and (min-width: 768px) {
  body.sub main article div.content > ul > li:before {
    font-size: 24px;
    top: -5px;
    left: -6px;
  }
}
@media screen and (max-width: 767px) {
  body.sub main article div.content > ul > li:before {
    font-size: 3.3333333333vw;
    top: 0vw;
    left: -0.4vw;
  }
}
@media screen and (min-width: 768px) {
  body.sub main article div.content > ul > li + li {
    margin-top: 10px;
  }
}
@media screen and (max-width: 767px) {
  body.sub main article div.content > ul > li + li {
    margin-top: 2.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  body.sub main article div.content > ul > li ol, body.sub main article div.content > ul > li ul {
    margin-top: 10px;
  }
}
@media screen and (max-width: 767px) {
  body.sub main article div.content > ul > li ol, body.sub main article div.content > ul > li ul {
    margin-top: 2.4vw;
  }
}
body.sub main article div.content > ul > li ol li, body.sub main article div.content > ul > li ul li {
  position: relative;
}
@media screen and (min-width: 768px) {
  body.sub main article div.content > ul > li ol li, body.sub main article div.content > ul > li ul li {
    padding-left: 8px;
  }
}
@media screen and (max-width: 767px) {
  body.sub main article div.content > ul > li ol li, body.sub main article div.content > ul > li ul li {
    padding-left: 2.9333333333vw;
  }
}
body.sub main article div.content > ul > li ol li:before, body.sub main article div.content > ul > li ul li:before {
  content: "-";
  position: absolute;
}
@media screen and (min-width: 768px) {
  body.sub main article div.content > ul > li ol li:before, body.sub main article div.content > ul > li ul li:before {
    font-size: 24px;
    top: -8px;
    left: -6px;
  }
}
@media screen and (max-width: 767px) {
  body.sub main article div.content > ul > li ol li:before, body.sub main article div.content > ul > li ul li:before {
    font-size: 5.6vw;
    top: -0.8vw;
    left: -0.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  body.sub main article div.content > ul > li ol li + li, body.sub main article div.content > ul > li ul li + li {
    margin-top: 10px;
  }
}
@media screen and (max-width: 767px) {
  body.sub main article div.content > ul > li ol li + li, body.sub main article div.content > ul > li ul li + li {
    margin-top: 2.6666666667vw;
  }
}
body.sub main article div.content > ol {
  counter-reset: num;
}
@media screen and (min-width: 768px) {
  body.sub main article div.content > ol {
    padding-left: 4px;
  }
}
@media screen and (max-width: 767px) {
  body.sub main article div.content > ol {
    padding-left: 0.8vw;
  }
}
body.sub main article div.content > ol li {
  counter-increment: num;
}
@media screen and (min-width: 768px) {
  body.sub main article div.content > ol li {
    padding-left: 20px;
    line-height: 1.5;
  }
}
@media screen and (max-width: 767px) {
  body.sub main article div.content > ol li {
    padding-left: 4.5333333333vw;
  }
}
body.sub main article div.content > ol li:before {
  content: counter(num) ".";
  font-size: inherit;
}
@media screen and (min-width: 768px) {
  body.sub main article div.content > ol li + li {
    margin-top: 10px;
  }
}
@media screen and (max-width: 767px) {
  body.sub main article div.content > ol li + li {
    margin-top: 2.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  body.sub main article div.content > ol ul {
    margin-top: 10px;
  }
}
@media screen and (max-width: 767px) {
  body.sub main article div.content > ol ul {
    margin-top: 2.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  body.sub main .wp-block-table {
    overflow-x: scroll;
  }
}
body.sub main table {
  display: block;
  border: 1px solid #000;
}
@media screen and (min-width: 768px) {
  body.sub main table {
    margin: 30px 0 30px;
  }
}
@media screen and (max-width: 767px) {
  body.sub main table {
    margin: 5.3333333333vw 0 5.3333333333vw;
    overflow-x: scroll;
    white-space: nowrap;
  }
}
body.sub main table tbody tr {
  border-top: 1px solid #000;
}
@media screen and (min-width: 768px) {
  body.sub main table tr {
    padding: 10px;
  }
}
@media screen and (max-width: 767px) {
  body.sub main table tr {
    padding: 2.6666666667vw;
  }
}
body.sub main table tr th, body.sub main table tr td {
  text-align: left;
}
@media screen and (min-width: 768px) {
  body.sub main table tr th, body.sub main table tr td {
    padding: 15px;
    font-size: 16px;
    min-width: 120px;
  }
}
@media screen and (max-width: 767px) {
  body.sub main table tr th, body.sub main table tr td {
    padding: 2.6666666667vw;
    font-size: 3.7333333333vw;
  }
}
body.sub main table tr th:not(:first-of-type), body.sub main table tr td:not(:first-of-type) {
  border-left: 1px solid #000;
}
@media screen and (min-width: 768px) {
  body.sub main table tr th:nth-of-type(2), body.sub main table tr td:nth-of-type(2) {
    max-width: 670px;
  }
}
body.sub a.cmn_btn1 {
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  body.sub a.cmn_btn1 {
    width: 260px;
    margin-top: 110px;
  }
}
@media screen and (max-width: 767px) {
  body.sub a.cmn_btn1 {
    width: 48.1333333333vw;
    margin-top: 13.3333333333vw;
  }
}