@charset "UTF-8";
#sec01 {
  width: 100%;
  overflow: hidden;
}
#sec01 .wrap {
  width: 1200px;
  margin: 4% auto 0 auto;
  padding: 0 0 8% 0;
  position: relative;
  line-height: 1.8rem;
}
#sec01 .wrap .ttl_box {
  width: 610px;
  display: flex;
  margin: 8% auto;
  position: relative;
}
#sec01 .wrap .ttl_box h3 {
  font-size: 38px;
  font-weight: bold;
  width: 0%;
  color: rgb(57, 57, 57);
  border-left: 8px solid rgb(181, 0, 0);
  padding: 0.5% 0px 0% 1%;
  margin: 0px;
}
#sec01 .wrap .ttl_box .sub_ttl {
  font-size: 70px;
  font-weight: bold;
  position: absolute;
  top: 15%;
  right: 9%;
}
#sec01 .wrap .content1 .blue_btn {
  color: #003969;
  border-radius: unset;
  background-color: #fff;
  width: 40%;
  position: relative;
  border: 2px solid #003969;
  transition: color 0.5s ease;
  line-height: 2.6rem;
  height: 42px;
  text-align: center;
  padding: 2% 0;
  font-weight: bold;
  margin: 6% auto;
  font-size: 1.2rem;
}
#sec01 .wrap .content1 .blue_btn:hover {
  color: #fff;
}
#sec01 .wrap .content1 .blue_btn:hover::before {
  transform: scaleX(1);
  transform-origin: left;
}
#sec01 .wrap .content1 .blue_btn::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: #003969;
  transform: scaleX(0);
  transform-origin: right;
  transition: all 0.5s ease;
  transition-property: transform;
}
#sec01 .wrap .content1 .text {
  position: relative;
}
#sec01 .wrap .content1 .main_ttl {
  background-color: #003969;
  color: #ffffff;
  padding: 2% 3%;
  font-weight: bold;
  font-size: 1.2rem;
  margin: 2% 0;
}
#sec01 .wrap .content1 .txt_box {
  margin: 2% 0;
}
#sec01 .wrap .content2 .red_btn {
  color: #d64646;
  border-radius: unset;
  background-color: #fff;
  width: 40%;
  position: relative;
  border: 2px solid #d64646;
  transition: color 0.5s ease;
  line-height: 2.6rem;
  height: 42px;
  text-align: center;
  padding: 2% 0;
  font-weight: bold;
  margin: 6% auto;
  font-size: 1.2rem;
}
#sec01 .wrap .content2 .red_btn:hover {
  color: #fff;
}
#sec01 .wrap .content2 .red_btn:hover::before {
  transform: scaleX(1);
  transform-origin: left;
}
#sec01 .wrap .content2 .red_btn::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: #d64646;
  transform: scaleX(0);
  transform-origin: right;
  transition: all 0.5s ease;
  transition-property: transform;
}
#sec01 .wrap .content2 .text {
  position: relative;
}
#sec01 .wrap .content2 .main_ttl {
  background-color: #d64646;
  color: #ffffff;
  padding: 2% 3%;
  font-weight: bold;
  font-size: 1.2rem;
  margin: 2% 0;
}
#sec01 .wrap .content2 .main_ttl {
  background-color: #d64646;
  color: #ffffff;
  padding: 2%;
  font-weight: bold;
  font-size: 1.2rem;
  margin: 2% 0;
}
#sec01 .wrap table {
  border-collapse: collapse;
  width: 100%;
  margin: 3% 0;
}
#sec01 .wrap .tb01 th,
#sec01 .wrap .tb01 td {
  padding: 12px;
  border: solid 1px #ccc;
  box-sizing: border-box;
}
#sec01 .wrap .tb01 th {
  color: #404040;
}
#sec01 .wrap .txt_box {
  margin: 2% 0;
}

/* ===============================================
/*レスポンシブ関連▼
  =============================================== */
@media screen and (max-width: 1200px) {
  /* 1200pxまでの幅の場合に適用される(タブレット横) */
  #sec01 {
    width: 100%;
    margin: 0;
  }
  #sec01 .wrap {
    width: 100%;
  }
  #sec01 .wrap .button {
    margin: 10% 0 12% 0;
  }
  .text_box {
    line-height: 34px;
  }
  .content1 {
    width: 98%;
    margin: 0 auto;
  }
  .content2 {
    width: 98%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 736px) {
  /* 736pxまでの幅の場合に適用される(スマホ) */
  #sec01 .wrap {
    width: 100%;
    margin: unset;
  }
  #sec01 .wrap h3 {
    font-size: 7vw;
    font-weight: bold;
    width: 94%;
    margin: 4% auto;
  }
  #sec01 .wrap .col_r {
    margin: 6% 0 0 0;
    width: 100%;
  }
  #sec01 .wrap .textbox {
    width: 92%;
    margin: 2% auto;
  }
  #sec01 .wrap .sub_ttl {
    font-size: 7.5vw;
    font-weight: bold;
    display: block;
  }
  #sec01 .wrap .ttl_box {
    width: 97%;
    margin: 9% auto 4% auto;
    display: block;
  }
  #sec01 .wrap .ttl_box h3 {
    font-size: 7vw;
    font-weight: bold;
    width: 94%;
    margin: 4% auto;
  }
  #sec01 .wrap .ttl_box .sub_ttl {
    position: unset;
    font-size: 2.2rem;
  }
  #sec01 .wrap .content1 {
    width: 94%;
    margin: 0 auto 2% auto;
  }
  #sec01 .wrap .content1 .blue_btn {
    width: 98%;
    padding: 6% 0;
  }
  #sec01 .wrap .content2 {
    width: 94%;
    margin: 0 auto;
  }
  #sec01 .wrap .content2 .red_btn {
    width: 98%;
    padding: 6% 0;
  }
  #sec01 .wrap .tb01 {
    width: 100%;
  }
  #sec01 .wrap table.tb01 th {
    color: #ffffff;
    background-color: #535353;
  }
  #sec01 .wrap table.tb01 th,
  #sec01 .wrap table.tb01 td {
    display: block;
    width: 100%;
    border-bottom: none;
  }
  #sec01 .wrap .tb01 tr:last-child {
    border-bottom: solid 1px #ccc;
  }
}