@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: 8.0rem; }
@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: .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: .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: .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: .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: 2.0rem;
  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 */
@media screen and (max-width: 1024px) {
  #contents .tableCover {
    overflow: auto;
    white-space: nowrap;
    position: relative; }
    #contents .tableCover:before {
      content: "← scroll available →";
      background: #CCCCCC;
      color: #FFF;
      padding: .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 1.5rem 1.5rem 1.5rem;
    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 .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: 1.2rem; }
    #contents .tableformat01.typeB.td_c td {
      text-align: center; }
  #contents .tableformat01.typeC {
    font-size: 1.4rem; }
    #contents .tableformat01.typeC th, #contents .tableformat01.typeC td {
      padding: .5rem 1.5rem; }
      #contents .tableformat01.typeC th:last-child, #contents .tableformat01.typeC td:last-child {
        padding-right: 1.5rem; }
      #contents .tableformat01.typeC th:first-child, #contents .tableformat01.typeC td:first-child {
        padding-left: 1.5rem; }
    #contents .tableformat01.typeC thead th {
      font-size: 1.4rem; }
    #contents .tableformat01.typeC.td_c td {
      text-align: center; }
  #contents .tableformat01 tr.current th, #contents .tableformat01 tr.current td {
    background: linear-gradient(180deg, white 0%, white 65%, #f8eadc 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 .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: .5rem 1rem;
    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: .5rem;
    font-size: 1.4rem; }
  #contents .tabledefinition .stock:before {
    content: "";
    border: 1px solid #cad0df;
    width: 5rem;
    height: 2.0rem;
    display: block; }
  #contents .tabledefinition .order:before {
    content: "";
    border: 1px solid #cad0df;
    background: #f3f4f6;
    width: 5rem;
    height: 2.0rem;
    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: 2.0rem;
      padding: 0 0 1rem 2rem; } }
  @media screen and (max-width: 767px) {
    .htype02 {
      font-size: 2.0rem;
      padding: 0 0 1rem 2rem;
      margin-bottom: 2.5rem; }
      .htype02::before {
        content: "";
        width: 3.5rem;
        left: 1rem;
        bottom: -1rem; } }

.htype03 {
  color: #0c1f55;
  font-size: 2.0rem;
  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; } }
