@charset "UTF-8";
/* main
----------------------------------- */
.mb0 {
  margin-bottom: 0 !important;
}

.mb10 {
  margin-bottom: 1rem !important;
}

.mb20 {
  margin-bottom: 2rem !important;
}

.mb30 {
  margin-bottom: 3rem !important;
}

.mb40 {
  margin-bottom: 4rem !important;
}

.mb50 {
  margin-bottom: 5rem !important;
}

.mb60 {
  margin-bottom: 6rem !important;
}

.mb70 {
  margin-bottom: 7rem !important;
}

.mb80 {
  margin-bottom: 8rem !important;
}

.mb90 {
  margin-bottom: 9rem !important;
}

.mb100 {
  margin-bottom: 10rem !important;
}

.mt0 {
  margin-top: 0 !important;
}

.mt5 {
  margin-top: 0.5rem !important;
}

.mt10 {
  margin-top: 1rem !important;
}

.bold {
  font-weight: 600;
}

.posR {
  text-align: right;
}

.posC {
  text-align: center;
}

.floRp {
  float: right;
  padding: 0 0 1rem 1rem;
}

.sp {
  display: none;
}

.md {
  display: none;
}

.mdonly {
  display: none;
}

.pc {
  display: block;
}

.pcsp {
  display: block;
}

@media screen and (max-width: 1024px) {
  .sp {
    display: none;
  }
  .md {
    display: block;
  }
  .mdonly {
    display: block;
  }
  .pc {
    display: block;
  }
  .pcsp {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .floRp {
    float: none;
    padding: 0 0 1rem 0;
    text-align: center;
  }
  .sp {
    display: block;
  }
  .md {
    display: block;
  }
  .mdonly {
    display: none;
  }
  .pc {
    display: none;
  }
  .pcsp {
    display: block;
  }
  p {
    word-break: break-all;
  }
}
/* contents / article/ parts
------------------------------------ */
#contents section {
  margin-bottom: 8rem;
}
@media screen and (max-width: 1024px) {
  #contents section {
    margin-bottom: 5rem;
  }
}
@media screen and (max-width: 767px) {
  #contents section {
    margin-bottom: 3rem;
  }
}

#contents .articleClm2 {
  display: flex;
  justify-content: space-between;
  grid-gap: 20px;
  flex-wrap: wrap;
  margin-bottom: 3rem;
  align-items: flex-start;
}
#contents .articleClm2.rev {
  flex-direction: row-reverse;
}
#contents .articleClm2 .clmL {
  width: calc(65% - 10px);
}
#contents .articleClm2 .clmR {
  width: calc(33% - 10px);
}
#contents .articleClm2 .clmW {
  width: 100%;
}
@media screen and (max-width: 767px) {
  #contents .articleClm2 > * {
    margin-bottom: 3rem;
  }
  #contents .articleClm2 .clmL {
    width: 100% !important;
  }
  #contents .articleClm2 .clmR {
    width: 100% !important;
  }
}
#contents .articleClmHarf {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 3rem;
  align-items: flex-start;
}
#contents .articleClmHarf.rev {
  flex-direction: row-reverse;
}
#contents .articleClmHarf > * {
  width: 48%;
}
#contents .articleClmHarf .clmW {
  width: 100%;
}
@media screen and (max-width: 767px) {
  #contents .articleClmHarf > * {
    margin-bottom: 3rem;
    width: 100%;
  }
}

/* text */
#contents a:link {
  text-decoration: underline;
}
#contents a:hover {
  text-decoration: none;
}
#contents p {
  margin: 0 0 35px 0;
  line-height: 2;
}
#contents p:last-child {
  margin: 0 0 0 0;
}
@media screen and (max-width: 767px) {
  #contents p {
    margin: 0 0 2rem 0;
    line-height: 2;
  }
}

/* img */
#contents p.cap {
  text-align: right;
  z-index: 3;
  position: relative;
  line-height: 1.3;
  font-size: 1.6rem;
}
@media screen and (max-width: 1024px) {
  #contents p.cap {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  #contents p.cap {
    font-size: 1.2rem;
  }
}
#contents p.cap span {
  color: #FFF;
  display: inline-block;
  background: #001650;
  padding: 5px 10px;
}
#contents .imgsh_l {
  position: relative;
  margin-bottom: 50px;
  padding-left: 30px;
}
#contents .imgsh_l img {
  box-shadow: -30px 30px 0 #eff0f4;
}
#contents .imgsh_r {
  position: relative;
  margin-bottom: 50px;
  padding-right: 30px;
}
#contents .imgsh_r img {
  box-shadow: 30px 30px 0 #eff0f4;
}
@media screen and (max-width: 1024px) {
  #contents .imgsh_l {
    margin-bottom: 40px;
    padding-left: 20px;
  }
  #contents .imgsh_l img {
    box-shadow: -20px 20px 0 #eff0f4;
  }
  #contents .imgsh_r {
    margin-bottom: 40px;
    padding-right: 20px;
  }
  #contents .imgsh_r img {
    box-shadow: 20px 20px 0 #eff0f4;
  }
}
@media screen and (max-width: 767px) {
  #contents .imgsh_l {
    margin-bottom: 30px;
    padding-left: 15px;
  }
  #contents .imgsh_l img {
    box-shadow: -15px 15px 0 #eff0f4;
  }
  #contents .imgsh_r {
    margin-bottom: 30px;
    padding-right: 15px;
  }
  #contents .imgsh_r img {
    box-shadow: 15px 15px 0 #eff0f4;
  }
}

/* linkbtn */
#contents {
  /* silver */
  /* blue openwin */
  /* blue openwin bg navy */
  /* pdfDL */
  /* blueprint zoom */
}
#contents a.btn01 {
  background: #eff0f4;
  border-radius: 0.5rem;
  border: 1px solid #d2d5df;
  color: #001650;
  font-weight: 400;
  display: block;
  text-decoration: none;
  position: relative;
  padding: 2rem 0;
  text-align: center;
  box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}
#contents a.btn01:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  border: 5px solid transparent;
  border-left: 5px solid #001650;
  transform: translateY(-50%);
}
#contents a.btn01:hover:after {
  transform: translate(0.5rem, -50%);
}
#contents a.btn01:hover:before {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.6) 100%);
  transform: skewX(-25deg);
  animation: shine 0.7s;
}
@keyframes shine {
  100% {
    left: 125%;
  }
}
#contents a.btn02 {
  background: #1f4584;
  color: #FFF;
  padding: 20px 50px 20px 30px;
  display: block;
  text-decoration: none;
  position: relative;
}
#contents a.btn02:after {
  content: "";
  width: 20px;
  height: 20px;
  background: url("/cms/wp-content/themes/sdat_renew/img/cmn/link_blank.png") no-repeat 0 0/contain;
  display: block;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
}
#contents a.btn02:hover::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5.5px 0 5.5px 5px;
  border-color: transparent transparent transparent #FFF;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
#contents div.btn03 {
  position: relative;
  background: #0c1f55;
  text-align: right;
}
#contents div.btn03 a {
  display: inline-block;
  font-size: 1.6rem;
  color: #fff;
  padding: 10px 70px 10px 50px;
  position: relative;
  text-align: center;
  background: #1f4584;
  text-decoration: none !important;
}
@media screen and (max-width: 1024px) {
  #contents div.btn03 a {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  #contents div.btn03 a {
    font-size: 1.2rem;
  }
}
#contents div.btn03 a:hover {
  opacity: 0.8;
}
#contents div.btn03 a:after {
  content: "";
  width: 20px;
  height: 20px;
  background: url("/cms/wp-content/themes/sdat_renew/img/cmn/link_blank.png") no-repeat 0 0/contain;
  display: block;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
}
#contents ul.btn03 {
  text-align: right;
}
#contents ul.btn03 li {
  position: relative;
  margin-bottom: 1rem;
  background: #0c1f55;
}
#contents ul.btn03 a {
  display: inline-block;
  font-size: 1.6rem;
  color: #fff;
  padding: 10px 70px 10px 50px;
  position: relative;
  text-align: center;
  background: #1f4584;
  text-decoration: none !important;
}
@media screen and (max-width: 1024px) {
  #contents ul.btn03 a {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  #contents ul.btn03 a {
    font-size: 1.2rem;
  }
}
#contents ul.btn03 a:hover {
  opacity: 0.8;
}
#contents ul.btn03 a:after {
  content: "";
  width: 20px;
  height: 20px;
  background: url("/cms/wp-content/themes/sdat_renew/img/cmn/link_blank.png") no-repeat 0 0/contain;
  display: block;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
}
#contents a.pdfDL {
  background: #1f4584;
  color: #FFF;
  padding: 4px 35px 4px 10px;
  display: inline-block;
  text-decoration: none;
  position: relative;
}
#contents a.pdfDL:after {
  content: "";
  width: 16px;
  height: 16px;
  background: url("/cms/wp-content/themes/sdat_renew/img/cmn/link_blank.png") no-repeat 0 0/contain;
  display: block;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
}
#contents a.fileDL {
  background: #1f4584;
  color: #FFF;
  padding: 4px 35px 4px 10px;
  display: inline-block;
  text-decoration: none;
  position: relative;
}
#contents a.fileDL:after {
  content: "";
  width: 16px;
  height: 16px;
  background: url("/cms/wp-content/themes/sdat_renew/img/cmn/link_dl.png") no-repeat 0 0/contain;
  display: block;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
}
#contents span.ask {
  background: #a6abbf;
  color: #FFF;
  padding: 4px 15px 4px 15px;
  display: inline-block;
  text-decoration: none;
  position: relative;
}
#contents .blueprint {
  position: relative;
  margin-bottom: 64px;
}
#contents .blueprint .bpimage {
  position: absolute;
  bottom: -32px;
  right: -32px;
  width: 64px;
  height: 64px;
}
@media screen and (max-width: 1024px) {
  #contents .blueprint .bpimage {
    bottom: -24px;
    right: -24px;
    width: 48px;
    height: 48px;
  }
}
@media screen and (max-width: 767px) {
  #contents .blueprint .bpimage {
    bottom: -24px;
    right: -12px;
    width: 48px;
    height: 48px;
  }
}

/* list */
#contents ul.list01 { /* "◯" */
  margin: 0 0 15px 10px;
}
#contents ul.list01 li {
  position: relative;
  padding-left: 1.9rem;
}
#contents ul.list01 li:before {
  content: "";
  display: block;
  position: absolute;
  border: 2px solid #CCC;
  left: 0.5rem;
  height: 0.7rem;
  width: 0.7rem;
  border-radius: 50%;
  top: 1rem;
}
#contents ul.list02 { /* "※1文字" */
  margin: 0 0 15px 10px;
}
#contents ul.list02 li {
  text-indent: -1em;
  padding-left: 1em;
}
#contents ul.list03 { /* "※1 ※2" */
  margin: 0 0 15px 10px;
}
#contents ul.list03 li {
  text-indent: -1.75em;
  padding-left: 1.75em;
}
#contents .notesbox {
  background: #eff0f4;
  padding: 1.5rem;
}
#contents ul.notes { /* "*" */
  margin: 0 0 15px 10px;
}
#contents ul.notes li {
  text-indent: -1em;
  padding-left: 1em;
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  #contents ul.notes li {
    font-size: 1.2rem;
  }
}
#contents ol.olType01 {
  margin: 0 0 35px 10px;
}
#contents ol.olType01 li {
  text-indent: -1em;
  padding-left: 1em;
  margin-bottom: 5px;
}
#contents dl.dlType01 dt {
  color: #0c1f55;
  font-size: 2rem;
  padding-left: 26px;
  position: relative;
  font-weight: bold;
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  #contents dl.dlType01 dt {
    font-size: 1.8rem;
  }
}
#contents dl.dlType01 dt:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 12px;
  height: 1px;
  background: #d2d5df;
}
#contents dl.dlType01 dt.attention {
  color: #df8833;
}
#contents dl.dlType01 dt.attention:before {
  background: #df8833;
}
#contents dl.dlType01 dd {
  padding-left: 26px;
  margin-bottom: 4rem;
}
#contents .productTypeLink {
  display: flex;
  justify-content: center;
  margin: 10rem 0;
}
#contents .productTypeLink li {
  border-left: 1px solid #d2d5df;
  border-bottom: 4px solid #d2d5df;
  width: 36%;
}
#contents .productTypeLink li:last-child {
  border-right: 1px solid #d2d5df;
}
#contents .productTypeLink li a {
  display: block;
  height: 100%;
  padding: 2rem 2rem 4rem;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  position: relative;
}
#contents .productTypeLink li a:before {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  bottom: 2.5rem;
  width: 8px;
  height: 8px;
  border-top: 2px solid #50a6d8;
  border-right: 2px solid #50a6d8;
  transform: rotate(135deg);
}
#contents .productTypeLink li a:hover {
  background: #eff0f4;
}
#contents .productTypeLink li a:hover:before {
  bottom: 2rem;
}
#contents .productTypeLink.item3 li {
  width: 25%;
}
@media screen and (max-width: 1024px) {
  #contents .productTypeLink li {
    width: 49%;
  }
  #contents .productTypeLink.item3 li {
    width: 33%;
  }
}
@media screen and (max-width: 767px) {
  #contents .productTypeLink {
    display: flex;
    justify-content: center;
    margin: 5rem 0;
    flex-wrap: wrap;
  }
  #contents .productTypeLink li {
    border-left: 1px solid #d2d5df;
    border-right: 1px solid #d2d5df;
    border-bottom: 4px solid #d2d5df;
    width: 100%;
  }
  #contents .productTypeLink li a {
    padding: 1.5rem 2rem 3rem;
  }
  #contents .productTypeLink li a:before {
    bottom: 1.5rem;
  }
  #contents .productTypeLink li a:hover:before {
    bottom: 1rem;
  }
  #contents .productTypeLink.item3 li {
    width: 100%;
  }
  #contents .productTypeLink.item3 li br {
    display: none;
  }
}

#contents .checklistCover {
  background: #f3f4f6;
  padding: 4rem 3rem;
}
#contents .checklistCover ul li {
  padding: 0 0 0 3rem;
  position: relative;
  margin-bottom: 20px;
}
#contents .checklistCover ul li:before {
  content: "";
  background: url("/cms/wp-content/themes/sdat_renew/img/cmn/icon_check_lb.png") no-repeat;
  width: 22px;
  height: 16px;
  display: block;
  position: absolute;
  top: 8px;
  left: 0;
}
#contents .checklistCover dl dt {
  font-size: 1.8rem;
  font-weight: 500;
  color: #0f286c;
  padding: 0 0 0 3rem;
  position: relative;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
}
#contents .checklistCover dl dt:before {
  content: "";
  background: url("/cms/wp-content/themes/sdat_renew/img/cmn/icon_check_lb.png") no-repeat;
  width: 22px;
  height: 16px;
  display: block;
  position: absolute;
  top: 8px;
  left: 0;
}
#contents .checklistCover dl dt:after {
  border-top: 1px solid #CCC;
  content: "";
  flex-grow: 1;
  margin-left: 2rem;
}
#contents .checklistCover dl dd {
  margin-bottom: 40px;
}

/* table */
#contents .tableCover {
  overflow: auto;
  white-space: nowrap;
  position: relative;
}
#contents .tableCover:before {
  content: "← scroll available →";
  background: #CCCCCC;
  color: #FFF;
  padding: 0.25rem 1rem;
  font-size: 1.2rem;
  border-radius: 1rem;
  position: sticky;
  left: 0;
  top: -10rem;
}
#contents .tableformat01 {
  border-top: 2px solid #1f4584;
  margin-bottom: 3rem;
}
#contents .tableformat01 thead th {
  background: #0c1f55;
  color: #FFF;
  text-align: center;
  border-bottom: 1px solid #FFF;
}
#contents .tableformat01 th, #contents .tableformat01 td {
  padding: 1.5rem 1rem 1.5rem 1rem;
  vertical-align: top;
  text-align: left;
  line-height: 1.2;
}
#contents .tableformat01 th:last-child, #contents .tableformat01 td:last-child {
  padding-right: 1.5rem;
}
#contents .tableformat01 th:first-child, #contents .tableformat01 td:first-child {
  padding-left: 1.5rem;
}
#contents .tableformat01 th {
  border-bottom: 1px solid #000;
  font-weight: 500;
}
#contents .tableformat01 th span.unit {
  font-size: 1.2rem;
}
#contents .tableformat01 td {
  border-bottom: 1px solid #cad0df;
  font-weight: 300;
}
#contents .tableformat01.td_c td {
  text-align: center;
}
#contents .tableformat01.typeB {
  font-size: 1.4rem;
}
#contents .tableformat01.typeB th, #contents .tableformat01.typeB td {
  padding: 1.5rem 0.5rem;
}
#contents .tableformat01.typeB th:last-child, #contents .tableformat01.typeB td:last-child {
  padding-right: 1rem;
}
#contents .tableformat01.typeB th:first-child, #contents .tableformat01.typeB td:first-child {
  padding-left: 1rem;
}
#contents .tableformat01.typeB thead th {
  font-size: 1rem;
}
#contents .tableformat01.typeB.td_c td {
  text-align: center;
}
#contents .tableformat01 tr.current th, #contents .tableformat01 tr.current td {
  background: linear-gradient(180deg, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 65%, rgb(248, 234, 220) 85%, rgba(248, 234, 220, 0.5046219171) 100%);
}
#contents .tableformat01 tr.current th {
  border-color: #df8833;
  border-bottom: 2px solid #df8833;
}
#contents .tableformat01 tr.current td {
  border-bottom: 1px solid #df8833;
}
#contents .tableformat01 tr.order th, #contents .tableformat01 tr.order td {
  background: #f3f4f6;
}
#contents .tableformat01 td.price {
  text-align: right;
}
#contents .tableformat01 td.posC {
  text-align: center;
}
#contents .tableformat01 td.posM {
  vertical-align: middle;
}
#contents .tableformat02 {
  border-top: 1px solid #CCC;
  border-left: 1px solid #CCC;
  font-size: 1.4rem;
  margin-bottom: 1rem;
}
#contents .tableformat02 th, #contents .tableformat02 td {
  padding: 0.5rem 0.5rem;
  border-right: 1px solid #CCC;
  border-bottom: 1px solid #CCC;
  text-align: center;
}
#contents .tableformat02 th {
  background: #F3F3F3;
  white-space: nowrap;
}
#contents .tableformat02 thead th {
  background: #0c1f55;
  color: #FFF;
}
#contents .tabledefinition {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  grid-gap: 2rem;
  margin-bottom: 1rem;
}
#contents .tabledefinition li {
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  grid-gap: 0.5rem;
  font-size: 1.4rem;
}
#contents .tabledefinition .stock:before {
  content: "";
  border: 1px solid #cad0df;
  width: 5rem;
  height: 2rem;
  display: block;
}
#contents .tabledefinition .order:before {
  content: "";
  border: 1px solid #cad0df;
  background: #f3f4f6;
  width: 5rem;
  height: 2rem;
  display: block;
}

/* vi_lower */
#vi_lower {
  position: relative;
  margin-right: 7vw;
  height: 270px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}
#vi_lower::before {
  content: "";
  position: absolute;
  right: -7vw;
  bottom: 0;
  width: 100%;
  height: 210px;
  background: rgba(12, 31, 85, 0.1);
  z-index: 1;
}
#vi_lower .category {
  position: absolute;
  right: 60px;
  bottom: 50px;
  z-index: 2;
  font-size: 4rem;
  color: #fff;
  text-align: right;
  line-height: 1.1;
}
#vi_lower .category .en {
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  font-family: "Oswald", sans-serif;
  font-weight: 300;
  display: block;
  margin-bottom: 5px;
  color: #bdc3d9;
}
@media screen and (max-width: 1024px) {
  #vi_lower {
    margin-right: 4vw;
  }
  #vi_lower::before {
    content: "";
    right: -4vw;
  }
}
@media screen and (max-width: 767px) {
  #vi_lower {
    margin-right: 0;
    height: 18rem;
  }
  #vi_lower::before {
    right: 0;
    height: 18rem;
  }
  #vi_lower .category {
    right: 2rem;
    bottom: 2rem;
    font-size: 2.4rem;
  }
  #vi_lower .category .en {
    font-size: 1.6rem;
    margin-bottom: 0.5rem;
  }
}

/* topicpath */
#topicpath {
  background: rgba(12, 31, 85, 0.1);
  margin-left: 7vw;
  height: 67px;
  display: flex;
  align-items: center;
  padding-left: 33px;
}
#topicpath ul {
  display: flex;
  flex-wrap: wrap;
}
#topicpath ul li {
  color: #001650;
  font-size: 1.4rem;
}
#topicpath ul li::before {
  content: "/";
  margin: 0 1em;
  position: relative;
  top: -1px;
}
#topicpath ul li a {
  color: #001650;
  display: inline-block;
  position: relative;
}
#topicpath ul li a:hover {
  opacity: 0.8;
}
#topicpath ul li:first-child::before {
  display: none;
}
#topicpath ul li:first-child a {
  padding-left: 20px;
}
#topicpath ul li:first-child a::before {
  content: "";
  width: 12px;
  height: 11px;
  background: url(/cms/wp-content/themes/sdat_renew/img/cmn/icon_home.png) no-repeat;
  position: absolute;
  left: 0;
  top: 6px;
}
@media screen and (max-width: 1024px) {
  #topicpath {
    margin-left: 4vw;
  }
}
@media screen and (max-width: 767px) {
  #topicpath {
    margin-left: 0;
    height: auto;
    padding: 1rem;
  }
  #topicpath ul li {
    font-size: 1.2rem;
  }
  #topicpath ul li::before {
    content: "/";
    margin: 0 0.7em;
  }
  #topicpath ul li:first-child::before {
    display: none;
  }
  #topicpath ul li:first-child a {
    padding-left: 1.7rem;
  }
  #topicpath ul li:first-child a::before {
    content: "";
    width: 1.2rem;
    height: 1.1rem;
    top: 0.3rem;
  }
}

/* heading */
.htype01 {
  display: flex;
  align-items: flex-start;
  margin-bottom: 50px;
}
.htype01 h1 {
  font-size: 3.2rem;
  font-weight: 700;
  color: #0f286c;
  line-height: 1.3;
  padding: 30px 0 0 45px;
  position: relative;
  letter-spacing: 0.08em;
}
.htype01 h1::before, .htype01 h1::after {
  content: "";
  width: 70px;
  height: 1px;
  position: absolute;
}
.htype01 h1::before {
  background: #d2d5df;
  transform: rotate(90deg);
  transform-origin: 0 0;
  left: 10px;
  top: -10px;
}
.htype01 h1::after {
  background: #df8833;
  left: 0;
  top: 0;
}
.htype01 h1 .en {
  letter-spacing: 0.1em;
  font-family: "Oswald", sans-serif;
  font-size: 1.4rem;
  display: block;
  margin-top: 12px;
  font-weight: 400;
}
.htype01 .sub {
  display: inline-block;
  font-size: 2.4rem;
  font-weight: 500;
  border-left: solid 1px #d2d5df;
  margin: 25px 0 0 30px;
  padding: 5px 0 5px 30px;
}
@media screen and (max-width: 767px) {
  .htype01 {
    display: block;
    margin-bottom: 2.5rem;
  }
  .htype01 h1 {
    font-size: 2.5rem;
    padding: 1.8rem 0 0 3rem;
  }
  .htype01 h1::before, .htype01 h1::after {
    width: 5.5rem;
  }
  .htype01 h1::before {
    background: #d2d5df;
    left: 1rem;
    top: -1rem;
  }
  .htype01 h1 .en {
    font-size: 1.2rem;
    margin-top: 0.5rem;
  }
  .htype01 .sub {
    border-left: none;
    margin: 1rem 0 0 0;
    padding: 0 0 0 3rem;
    font-size: 2rem;
  }
}

.htype02 {
  font-size: 2.4rem;
  font-weight: 700;
  color: #0c1f55;
  padding: 0 0 15px 30px;
  border-bottom: solid 1px #d2d5df;
  position: relative;
  margin-bottom: 50px;
}
.htype02::before {
  content: "";
  width: 40px;
  height: 1px;
  background: #d2d5df;
  transform: rotate(-90deg);
  transform-origin: 0 0;
  left: 10px;
  bottom: -10px;
  position: absolute;
}
@media screen and (max-width: 1024px) {
  .htype02 {
    font-size: 2rem;
    padding: 0 0 1rem 2rem;
  }
}
@media screen and (max-width: 767px) {
  .htype02 {
    font-size: 2rem;
    padding: 0 0 1rem 2rem;
    margin-bottom: 2.5rem;
  }
  .htype02::before {
    content: "";
    width: 3.5rem;
    left: 1rem;
    bottom: -1rem;
  }
}

.htype03 {
  color: #0c1f55;
  font-size: 2rem;
  padding-left: 26px;
  position: relative;
  font-weight: bold;
  margin-bottom: 2rem;
}
.htype03:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 12px;
  height: 1px;
  background: #d2d5df;
}
@media screen and (max-width: 767px) {
  .htype03 {
    font-size: 1.8rem;
  }
}

.htype04 {
  color: #444;
  font-size: 1.8rem;
  padding-left: 26px;
  position: relative;
  font-weight: bold;
  margin-bottom: 2rem;
}
.htype04:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 7px;
  height: 1px;
  background: #d2d5df;
}
.htype04:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 10px;
  width: 7px;
  height: 1px;
  background: #d2d5df;
}
@media screen and (max-width: 767px) {
  .htype04 {
    font-size: 1.6rem;
  }
}