body {
  margin: 0 auto;
  width: 100%;
  overflow-x: hidden; }

@media screen and (min-width: 1301px) {
  .hidden-pc {
    display: none; } }

@media screen and (min-width: 769px) and (max-width: 1300px) {
  .hidden-tab {
    display: none; } }

@media screen and (max-width: 768px) {
  .hidden-sp {
    display: none; } }


.main .container {
  max-width: 1000px; }
  @media screen and (min-width: 769px) and (max-width: 1300px) {
    .main .container {
      padding: 0 20px; } }
  @media screen and (max-width: 768px) {
    .main .container {
      padding: 0 20px; } }

.subTitle {
  background: #0C3388;
  padding: 2px 4px;
  text-align: left; }
  .subTitle h2 {
    color: #fff;
    font-size: 19px;
    font-weight: bold; }

.featureBox {
  display: flex;
  align-items: center; }
  @media screen and (max-width: 768px) {
    .featureBox {
      flex-direction: column; }
      .featureBox:not(:first-child) {
        margin-top: 16px; } }
  .featureBox__left {
    min-width: 181px;
    flex-basis: 32%;
    display: flex;
    align-items: center;
    text-align: center;
    border: 1px solid #0C3388; }
    @media screen and (max-width: 768px) {
      .featureBox__left {
        margin-bottom: 4px;
        min-width: 100%; } }
    .featureBox__left span {
      display: block;
      font-size: 25px;
      background: #0C3388;
      color: #fff;
      padding: 0 2px;
      font-weight: bold;
      line-height: 1.2; }
    .featureBox__left h3 {
      flex-basis: 81.5%;
      font-size: 17px;
      font-weight: bold;
      color: #0C3388; }
  .featureBox p {
    font-size: 17px;
    font-weight: bold;
    padding-left: .5em; }

@media screen and (max-width: 768px) {
  .sec1 {
    margin-top: -100px; } }
.sec1__box {
  display: flex;
  justify-content: space-between; }
  @media screen and (max-width: 768px) {
    .sec1__box {
      flex-direction: column; } }
  .sec1__box__img {
    flex-basis: 42.5%; }
    @media screen and (max-width: 768px) {
      .sec1__box__img {
        width: 80%;
        margin: 0 auto 24px auto; } }
  .sec1__box__content {
    flex-basis: 54%; }
    .sec1__box__content h2 {
      font-size: 22px;
      margin-bottom: 16px;
      font-weight: bold; }
      .sec1__box__content h2 span {
        font-size: 12px;
        vertical-align: text-top; }
    .sec1__box__content .featureBox:not(:last-child) {
      margin-bottom: 8px; }
    .sec1__box__content > p {
      padding-top: 16px; }

.sec2 {
  margin-top: 64px; }
  .sec2:nth-child(2) {
    margin-top: 88px; }
  .sec2:nth-child(3) {
    margin-top: 36px; }
  .sec2 .featureBox {
    max-width: 570px; }
    @media screen and (max-width: 768px) {
      .sec2 .featureBox {
        max-width: 100%; } }
  .sec2__box {
    margin-top: 24px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    @media screen and (max-width: 768px) {
      .sec2__box {
        flex-direction: column; } }
    .sec2__box__item {
      flex-basis: 45%; }
      @media screen and (min-width: 1301px) {
        .sec2__box__item:nth-child(n+3) {
          margin-top: 24px; } }
      @media screen and (min-width: 769px) and (max-width: 1300px) {
        .sec2__box__item:nth-child(n+3) {
          margin-top: 24px; } }
      @media screen and (max-width: 768px) {
        .sec2__box__item:nth-child(n+2) {
          margin-top: 24px; } }
      .sec2__box__item h4 {
        font-weight: bold;
        padding: 4px 0;
        border-bottom: 1px solid #D7D9DB; }
      .sec2__box__item p {
        margin-top: 12px; }
      .sec2__box__item span {
        font-size: 12px; }
      .sec2__box__item__img {
        margin-top: 24px; }
        @media screen and (max-width: 768px) {
          .sec2__box__item__img {
            width: 80%;
            margin: 24px auto 0 auto; } }

.sec3 {
  margin-top: 80px; }
  .sec3__box {
    margin-top: 24px;
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 768px) {
      .sec3__box {
        flex-direction: column; } }
    .sec3__box__item {
      flex-basis: 45%; }
      @media screen and (max-width: 768px) {
        .sec3__box__item:nth-child(n+2) {
          margin-top: 24px; } }
      .sec3__box__item__img {
        margin-top: 24px; }
        @media screen and (max-width: 768px) {
          .sec3__box__item__img {
            width: 80%;
            margin: 24px auto 0 auto; } }

.catalog {
  margin-top: 160px;
  margin-bottom: 96px; }
  .catalog__box {
    display: flex;
    justify-content: center; }
    .catalog__box__btn {
      color: #000;
      text-align: center;
      flex-basis: 30%;
      font-size: 18px;
      padding: 16px 0;
      background: #D8E7F1; }
      @media screen and (max-width: 768px) {
        .catalog__box__btn {
          flex-basis: 100%; } }
