/*--------------------------------------------------------------------------
   .lead
---------------------------------------------------------------------------*/
.lead {
  border-top: solid 5px #ffe600;
  padding-top: 65px;
  text-align: center; }
  .lead .ttl {
    font-size: 3.2rem;
    font-weight: bold; }
  .lead .catch {
    margin: 30px auto 0; }
    .lead .catch img {
      width: 100%;
      width: 577px; }
  .lead .txt {
    margin-top: 30px;
    font-size: 1.6rem; }
  @media screen and (max-width: 767px) {
    .lead {
      border-top: none;
      padding-top: 32px; }
      .lead .ttl {
        font-size: 2.2rem; }
      .lead .catch {
        margin-top: 30px;
        width: 277px; }
        .lead .catch img {
          width: 100%; }
      .lead .txt {
        margin-top: 33px;
        line-height: 1.5; } }

/*--------------------------------------------------------------------------
   .section
---------------------------------------------------------------------------*/
.section {
  margin-top: 70px; }
  .section + .section {
    margin-top: 120px; }
  .section .img-box {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    position: relative; }
    .section .img-box .img {
      position: absolute;
      top: 34px;
      left: 0;
      height: calc(100% - 34px);
      width: 66.66%;
      background-repeat: no-repeat;
      background-position: 50% 100%;
      background-size: 100% auto; }
    .section .img-box .txt-wrap {
      position: relative;
      margin-left: calc(66.66% + 30px);
      height: 100%;
      z-index: 1; }
      .section .img-box .txt-wrap .c-heading-b {
        margin-top: 0; }
      .section .img-box .txt-wrap .catch {
        margin-top: 16px;
        font-size: 1.6rem;
        font-weight: bold; }
      .section .img-box .txt-wrap .txt {
        margin-top: 18px; }
    .section .img-box .txt-inner {
      box-shadow: 0px 10px 50px 0px rgba(0, 0, 0, 0.15);
      border-top: solid 5px #ffe600;
      background: rgba(255, 255, 255, 0.9);
      padding: 35px 40px 40px;
      margin-left: calc(-55.17% - 30px); }
    .section .img-box .icons {
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-start;
      margin-top: 20px;
      margin-right: -10px; }
      .section .img-box .icons li {
        width: 90px;
        margin: 10px 10px 0 0; }
        .section .img-box .icons li img {
          width: 100%; }
    .section .img-box--reverse .img {
      margin-left: 33.33%; }
    .section .img-box--reverse .txt-wrap {
      margin: 0 calc(66.66% + 30px) 0 0; }
    .section .img-box--reverse .txt-inner {
      margin: 0 calc(-55.17% - 30px) 0 0; }
    .section .img-box--reverse .icons {
      justify-content: flex-end; }
  @media screen and (max-width: 767px) {
    .section {
      margin-top: 40px; }
      .section + .section {
        margin-top: 40px; }
      .section .img-box {
        display: block;
        min-height: auto; }
        .section .img-box .img {
          position: static;
          height: auto;
          width: auto;
          margin: 0 -5.33vw;
          background-position: 0 0;
          background-size: 100% auto; }
          .section .img-box .img:before {
            content: "";
            display: block;
            padding-top: 60.46%; }
        .section .img-box .txt-wrap {
          margin: -5.33vw 0 0 0;
          height: auto;
          border-top: solid 5px #ffe600;
          box-shadow: 0px 10px 50px 0px rgba(0, 0, 0, 0.15);
          padding: 25px 5.33vw 30px;
          background: rgba(255, 255, 255, 0.9);
          line-height: 1.5; }
          .section .img-box .txt-wrap .c-heading-b {
            margin-top: 0; }
          .section .img-box .txt-wrap .catch {
            margin-top: 17px;
            font-size: 1.6rem;
            font-weight: bold; }
          .section .img-box .txt-wrap .txt {
            margin-top: 10px; }
        .section .img-box .txt-inner {
          box-shadow: none;
          border-top: none;
          background: none;
          padding: 0;
          margin: 0; }
        .section .img-box .icons {
          margin-top: 15px;
          margin-right: -12px; }
          .section .img-box .icons li {
            margin: 10px 12px 0 0;
            width: calc(33.33% - 12px); }
        .section .img-box--reverse .icons {
          justify-content: flex-start; }
      .section:last-child {
        margin-bottom: 10px; } }

.section01 .img-box .img {
  background-image: url("../images/section_img01.jpg"); }

.section02 .img-box .img {
  background-image: url("../images/section_img02.jpg"); }

.section03 .img-box .img {
  background-image: url("../images/section_img03.jpg"); }

.section04 .img-box .img {
  background-image: url("../images/section_img04.jpg"); }

/*--------------------------------------------------------------------------
   .note
---------------------------------------------------------------------------*/
.l-contents .note {
  padding-left: 1em;
  text-indent: -1em; }
