/* ===============================================================================
Top
=============================================================================== */
/* top-section
========================= */
/* top-section-01 */
.top-section-01 .blocks-01 {
  background: #f2f2f2;
}

.top-section-01 .blocks-01__inner {
  max-width: 1280px;
  margin: 0 auto;
}

.top-section-01 .blocks-01 .main-visual h2 img {
  display: block;
}

.top-section-01 .blocks-01 .text {
  text-align: center;
  padding: 22px 0 25px;
  font-size: 2rem;
  font-weight: bold;
}

.top-section-01 .blocks-02 {
  padding: 90px 0;
}

.top-section-01 .blocks-02__inner {
  max-width: 1280px;
  margin: 0 auto;
}

.top-section-01 .blocks-02 .column3 {
  display: flex;
  justify-content: space-between;
}

.top-section-01 .blocks-02 .column3__item {
  width: 32.42%;
}

.top-section-01 .blocks-02 .box {
  text-align: center;
  color: #232223;
}

.top-section-01 .blocks-02 .box a:hover {
  text-decoration: none;
}

.top-section-01 .blocks-02 .box__image {
  margin-bottom: 3px;
}

.top-section-01 .blocks-02 .box__title {
  font-size: 1.375rem;
  font-weight: 700;
}

.top-section-01 .blocks-02 .box__text {
  font-size: 0.938rem;
  line-height: 1.2;
}

@media screen and (max-width: 1295px) {
  .top-section-01 .blocks-02__inner {
    padding: 0 10px;
  }
}

@media screen and (max-width: 767px) {
  .top-section-01 .blocks-01 .text {
    padding: 25px 20px;
    font-size: 2.286rem;
    line-height: 1.42857143;
  }
  .top-section-01 .blocks-02 {
    padding: 32px 8px;
  }
  .top-section-01 .blocks-02__inner {
    padding: 0;
  }
  .top-section-01 .blocks-02 .column3 {
    display: block;
  }
  .top-section-01 .blocks-02 .column3__item {
    width: 100%;
    margin-bottom: 32px;
  }
  .top-section-01 .blocks-02 .column3__item:last-child {
    margin-bottom: 0;
  }
  .top-section-01 .blocks-02 .box__image {
    margin-bottom: 3px;
  }
  .top-section-01 .blocks-02 .box__title {
    font-size: 1.571rem;
  }
  .top-section-01 .blocks-02 .box__text {
    font-size: 1.071rem;
  }
}

/* top-section-02 */
.top-section-02 {
  background: #000;
  padding: 60px 0;
  margin-bottom: 60px;
}

.top-section-02__inner {
  max-width: 1280px;
  margin: 0 auto;
}

.top-section-02 .blocks-01 .column2::after {
  content: "";
  display: block;
  clear: both;
}

.top-section-02 .blocks-01 .column2__item {
  float: right;
  width: 520px;
}

.top-section-02 .blocks-01 .column2__item:last-child {
  float: left;
  width: 700px;
}

.top-section-02 .blocks-01 .heading {
  font-size: 1.875rem;
  line-height: 1.07;
  color: #fff;
  margin-bottom: 20px;
}

.top-section-02 .blocks-01 .text {
  font-size: 0.875rem;
  line-height: 1.43;
  color: #fff;
}

.top-section-02 .blocks-01 .text p {
  margin-bottom: 20px;
}

.top-section-02 .blocks-01 .text p:last-of-type {
  margin-bottom: 0;
}

@media screen and (max-width: 1295px) {
  .top-section-02__inner {
    padding: 0 10px;
  }
  .top-section-02 .blocks-01 .column2__item {
    float: none;
    width: auto;
    padding: 0 20px;
  }
  .top-section-02 .blocks-01 .column2__item:last-child {
    float: none;
    max-width: 700px;
    width: 100%;
    box-sizing: border-box;
    margin: 50px auto 0;
  }
}

@media screen and (max-width: 767px) {
  .top-section-02 {
    padding: 32px 0;
    margin-bottom: 32px;
  }
  .top-section-02__inner {
    padding: 0 8px;
  }
  .top-section-02 .blocks-01 .column2__item {
    padding: 0;
  }
  .top-section-02 .blocks-01 .column2__item:last-child {
    margin: 32px auto 0;
  }
  .top-section-02 .blocks-01 .heading {
    font-size: 2.143rem;
    text-align: center;
  }
  .top-section-02 .blocks-01 .text {
    font-size: 1rem;
    line-height: 1.43;
  }
  .top-section-02 .blocks-01 .text__sp-toggle {
    display: none;
  }
  .top-section-02 .blocks-01 .text__sp-toggle.show {
    display: block;
  }
  .top-section-02 .blocks-01 .text__more-btn.hide {
    display: none;
  }
  .top-section-02 .blocks-01 .movie iframe {
    height: 300px;
  }
}
