@charset "UTF-8";
.top_info .u_inner {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 3px 0; }
  @media all and (max-width: 1040px) {
    .top_info .u_inner {
      flex-direction: column;
      padding: 3px 24px; } }
  @media all and (max-width: 767px) {
    .top_info .u_inner {
      padding: 0; } }
  .top_info .u_inner .price_block {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    padding: 12px 0; }
    @media all and (max-width: 767px) {
      .top_info .u_inner .price_block {
        padding: 2.9vw 6.25% 3.9vw; } }
    .top_info .u_inner .price_block * {
      line-height: 1; }
    .top_info .u_inner .price_block.sm {
      width: 270px; }
      @media all and (max-width: 1040px) {
        .top_info .u_inner .price_block.sm {
          width: 100%; } }
      .top_info .u_inner .price_block.sm .price_item {
        width: 100%; }
        .top_info .u_inner .price_block.sm .price_item em {
          width: 90px; }
          @media all and (max-width: 767px) {
            .top_info .u_inner .price_block.sm .price_item em {
              width: 25vw; } }
    .top_info .u_inner .price_block.lg {
      width: calc(100% - 270px - 30px); }
      @media all and (max-width: 1040px) {
        .top_info .u_inner .price_block.lg {
          width: 100%; } }
      .top_info .u_inner .price_block.lg .price_item {
        width: 50%; }
        @media all and (max-width: 1040px) {
          .top_info .u_inner .price_block.lg .price_item {
            width: auto; } }
        @media all and (max-width: 767px) {
          .top_info .u_inner .price_block.lg .price_item {
            width: 100%; } }
        .top_info .u_inner .price_block.lg .price_item em {
          width: 154px; }
          @media all and (max-width: 767px) {
            .top_info .u_inner .price_block.lg .price_item em {
              width: 39vw; } }
    .top_info .u_inner .price_block + .price_block {
      padding-left: 30px;
      margin-left: 30px;
      border-left: 1px solid #707070; }
      @media all and (max-width: 1040px) {
        .top_info .u_inner .price_block + .price_block {
          padding-left: 0;
          margin-left: 0;
          border-left: none; } }
      @media all and (max-width: 767px) {
        .top_info .u_inner .price_block + .price_block {
          padding-left: 6.25%;
          border-top: 1px solid #707070; } }
    .top_info .u_inner .price_block span {
      width: 100%;
      font-size: 14px;
      font-weight: 700;
      color: #fff;
      margin-bottom: 10px; }
      @media all and (max-width: 767px) {
        .top_info .u_inner .price_block span {
          font-size: 3.4vw;
          margin-bottom: 2.9vw; } }
    .top_info .u_inner .price_block .price_item {
      display: flex;
      flex-direction: row;
      justify-content: flex-start;
      align-items: center; }
      @media all and (max-width: 1040px) {
        .top_info .u_inner .price_block .price_item + .price_item {
          margin-left: 20px; } }
      @media all and (max-width: 767px) {
        .top_info .u_inner .price_block .price_item + .price_item {
          margin-left: 0;
          margin-top: 3.1vw; } }
      .top_info .u_inner .price_block .price_item em {
        background-color: #DBDF3E;
        font-size: 12px;
        line-height: 1.3;
        text-align: center;
        padding: 4px 12px;
        margin-right: 10px; }
        @media all and (max-width: 767px) {
          .top_info .u_inner .price_block .price_item em {
            font-size: 3.1vw;
            padding: 1vw 2vw;
            margin-right: 3.9vw;
            text-align: left; } }
      .top_info .u_inner .price_block .price_item strong {
        font-size: 26px;
        font-weight: 700;
        color: #DBDF3E; }
        @media all and (max-width: 767px) {
          .top_info .u_inner .price_block .price_item strong {
            font-size: 5.9vw; } }
        .top_info .u_inner .price_block .price_item strong small {
          font-size: 14px;
          font-weight: 400;
          color: #DBDF3E; }
          @media all and (max-width: 767px) {
            .top_info .u_inner .price_block .price_item strong small {
              font-size: 3.1vw; } }

.top_simu {
  background-color: #FBFCD7;
  padding: 19px 0; }
  @media all and (max-width: 767px) {
    .top_simu {
      padding: 4.6vw 0; } }
  .top_simu .u_inner {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 15px; }
    @media all and (max-width: 767px) {
      .top_simu .u_inner {
        gap: 5vw 1.5vw;
        padding: 0 2.25%; } }
    .top_simu .u_inner .desc {
      width: 348px; }
      @media all and (max-width: 767px) {
        .top_simu .u_inner .desc {
          width: 100%; } }
      .top_simu .u_inner .desc .ttl {
        font-size: 22px;
        font-weight: 700;
        color: #3B5A05; }
        @media all and (max-width: 767px) {
          .top_simu .u_inner .desc .ttl {
            font-size: 4.6vw;
            margin-bottom: 1.6vw; } }
      .top_simu .u_inner .desc .text {
        font-size: 14px;
        line-height: 1.7;
        color: #1A1A1A; }
        @media all and (max-width: 767px) {
          .top_simu .u_inner .desc .text {
            font-size: 3.1vw; } }
      .top_simu .u_inner .desc .ex_text {
        display: none; }
        @media all and (max-width: 767px) {
          .top_simu .u_inner .desc .ex_text {
            display: block;
            font-size: 3.1vw;
            line-height: 1.7;
            margin-top: 2vw; } }
    .top_simu .u_inner .price_item {
      display: flex;
      flex-direction: row;
      justify-content: flex-start;
      align-items: flex-end; }
      @media all and (max-width: 767px) {
        .top_simu .u_inner .price_item {
          flex-direction: column;
          align-items: flex-start; } }
      .top_simu .u_inner .price_item:nth-of-type(2) {
        width: 208px; }
        @media all and (max-width: 767px) {
          .top_simu .u_inner .price_item:nth-of-type(2) {
            width: 28vw; } }
      .top_simu .u_inner .price_item:nth-of-type(3) {
        width: 169px; }
        @media all and (max-width: 767px) {
          .top_simu .u_inner .price_item:nth-of-type(3) {
            width: 25vw; } }
      .top_simu .u_inner .price_item:nth-of-type(4) {
        width: 222px; }
        @media all and (max-width: 767px) {
          .top_simu .u_inner .price_item:nth-of-type(4) {
            width: 39vw; } }
        .top_simu .u_inner .price_item:nth-of-type(4) .input_item {
          width: 190px; }
          @media all and (max-width: 767px) {
            .top_simu .u_inner .price_item:nth-of-type(4) .input_item {
              width: 100%; } }
          .top_simu .u_inner .price_item:nth-of-type(4) .input_item span {
            background-color: #769839;
            color: #fff; }
          .top_simu .u_inner .price_item:nth-of-type(4) .input_item input {
            color: #DBDF3E;
            background-color: #404040; }
            @media all and (max-width: 767px) {
              .top_simu .u_inner .price_item:nth-of-type(4) .input_item input {
                font-size: 5.3vw;
                padding: .6vw 0; } }
      .top_simu .u_inner .price_item .input_item {
        width: 140px; }
        @media all and (max-width: 767px) {
          .top_simu .u_inner .price_item .input_item {
            width: 100%; } }
        .top_simu .u_inner .price_item .input_item span {
          display: block;
          width: 100%;
          font-size: 13px;
          background-color: #DBDF3E;
          text-align: center;
          padding: 1px 0; }
          @media all and (max-width: 767px) {
            .top_simu .u_inner .price_item .input_item span {
              font-size: 3.1vw;
              padding: .3vw 0; } }
        .top_simu .u_inner .price_item .input_item input {
          font-size: 28px;
          font-weight: 500;
          background-color: #fff;
          box-shadow: 0 0 6px rgba(0, 0, 0, 0.16) inset;
          width: 100%;
          display: block;
          text-align: center;
          padding: 0 0 4px; }
          @media all and (max-width: 767px) {
            .top_simu .u_inner .price_item .input_item input {
              font-size: 4.6vw;
              padding: 1.3vw 0; } }
      .top_simu .u_inner .price_item .unit {
        font-size: 14px;
        color: #1A1A1A;
        display: inline-block;
        margin-left: 5px; }
        @media all and (max-width: 767px) {
          .top_simu .u_inner .price_item .unit {
            font-size: 3.1vw;
            margin: 0 0 0 auto; } }
    .top_simu .u_inner .ex_text {
      width: 100%;
      color: #415C13;
      font-size: 12px;
      line-height: 2; }
      @media all and (max-width: 767px) {
        .top_simu .u_inner .ex_text {
          display: none; } }

.top_main_ttl {
  font-family: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "游明朝", "Yu Mincho", serif;
  margin-bottom: 14px; }
  .top_main_ttl small {
    font-size: 60px;
    font-family: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "游明朝", "Yu Mincho", serif; }
    @media all and (max-width: 767px) {
      .top_main_ttl small {
        font-size: 7.3vw; } }
.top_main p em {
  color: #557718;
  font-size: 22px;
  display: inline-block;
  margin-bottom: 7px;
  font-weight: 700; }
  @media all and (max-width: 767px) {
    .top_main p em {
      font-size: 4.3vw;
      margin-bottom: 2vw;
      line-height: 1.4; } }

.top_list {
  margin-bottom: 38px; }
  .top_list .u_inner {
    border: 1px solid #76983A; }
    .top_list .u_inner > .ttl {
      font-size: 22px;
      font-weight: 700;
      color: #fff;
      background-color: #76983A;
      text-align: center;
      padding: 2px 0; }
    .top_list .u_inner ul {
      display: flex;
      flex-direction: row;
      justify-content: center;
      align-items: stretch;
      flex-wrap: wrap;
      padding: 26px 11px 17px; }
      .top_list .u_inner ul li {
        width: 195px;
        padding: 0 18px;
        border-right: 1px dotted #769839;
        text-align: center; }
        .top_list .u_inner ul li:nth-last-of-type(1) {
          border-right: none; }
        .top_list .u_inner ul li * {
          display: inline-block; }
        .top_list .u_inner ul li .ttl {
          font-size: 22px;
          font-weight: 700;
          color: #557718;
          margin-bottom: 5px; }
        .top_list .u_inner ul li img {
          margin-bottom: 13px; }
        .top_list .u_inner ul li .text {
          line-height: 1; }
          .top_list .u_inner ul li .text em {
            font-size: 17px;
            font-weight: 700;
            line-height: 1.5;
            color: #557718;
            margin-bottom: 5px; }
          .top_list .u_inner ul li .text small {
            font-size: 14px;
            line-height: 1.4; }

.top_lead {
  background-image: url(../img/top_bg03.png);
  background-size: 300px;
  background-repeat: no-repeat;

  @media all and (max-width: 767px) {
    background: none;
  }
}

.top_serv {
  background-image: url(../img/top_bg04.png);
  background-size: 300px;
  background-position: top right;
  background-repeat: no-repeat;

  @media all and (max-width: 767px) {
    background: none;
  }
}

@media all and (max-width: 767px) {

  .top_list .u_inner {
    width: 87.5vw;
    padding: 0;
  }

  .top_list .u_inner >.ttl {
    font-size: 4vw;
    padding: .7vw 0;
  }

  .top_list .u_inner ul {
    padding: 4.5vw 0 0;
  }

  .top_list .u_inner ul li {
    width: 50%;
    padding: 0 3.9vw 3.9vw;
  }

  .top_list .u_inner ul li:nth-of-type(2),
  .top_list .u_inner ul li:nth-of-type(4) {
    border-right: none;
  }

  .top_list .u_inner ul li:nth-of-type(3),
  .top_list .u_inner ul li:nth-of-type(4) {
    border-top: 1px dotted #769839;  
  }

  .top_list .u_inner ul li:nth-of-type(5) {
    width: 100%;
    border-top: 1px dotted #769839;
    position: relative;
  }

  .top_list .u_inner ul li:nth-of-type(5) img {
    width: 37.5vw;
    position: absolute;
    top: 11.4vw;
    left: 3.9vw;
    z-index: 1;
  }

  .top_list .u_inner ul li:nth-of-type(5) .text {
    padding: 5vw 0 0 41.4vw;
    text-align: left;
    min-height: 29vw;
  }

  .top_list .u_inner ul li .ttl {
    font-size: 4vw;
  }

  .top_list .u_inner ul li img {
    margin-bottom: 0;
  }

  .top_list .u_inner ul li .text em {
    font-size: 3.4vw;
  }

  .top_list .u_inner ul li .text small {
    font-size: 3.1vw;
  }

}
