@charset "UTF-8";
#visual {
  min-width: 1040px;
  background: url("../img/title-bg-pc.png") center/cover; }
  @media (max-width: 480px) {
    #visual {
      min-width: 100%;
      background: none; } }
  #visual .visual {
    margin: 0 auto;
    max-width: 1020px; }
    @media (max-width: 480px) {
      #visual .visual {
        max-width: 100%; } }
    #visual .visual img {
      width: 100%;
      display: block; }

#index #contents section:nth-child(2n) {
  background: #fffcd4; }

.top_introduction {
  padding: 70px 0; }
  @media (max-width: 480px) {
    .top_introduction {
      padding: 25px 15px; } }
  .top_introduction .top_introduction_inner {
    max-width: 1020px;
    margin: 0 auto; }
    .top_introduction .top_introduction_inner .top_introduction_title {
      color: #428242;
      font-size: 2.4rem;
      text-align: center;
      margin-bottom: 20px; }
      @media (max-width: 480px) {
        .top_introduction .top_introduction_inner .top_introduction_title {
          font-size: 1.7rem;
          text-align: left;
          line-height: 1.6;
          letter-spacing: 1px; } }
    .top_introduction .top_introduction_inner .top_introduction_txt {
      text-align: center;
      line-height: 2.5; }
      @media (max-width: 480px) {
        .top_introduction .top_introduction_inner .top_introduction_txt {
          text-align: left;
          line-height: 1.6; } }

.top_reason {
  padding: 70px 0 90px;
  background: #fffcd4; }
  @media (max-width: 480px) {
    .top_reason {
      padding: 35px 15px 50px; } }
  .top_reason .top_reason_inner {
    max-width: 1020px;
    margin: 0 auto; }
    .top_reason .top_reason_inner .top_reason_title {
      text-align: center;
      font-size: 1.6rem;
      margin-bottom: 50px; }
      @media (max-width: 480px) {
        .top_reason .top_reason_inner .top_reason_title {
          font-size: 1.3rem;
          margin-bottom: 30px; } }
      .top_reason .top_reason_inner .top_reason_title span {
        font-size: 3.5rem;
        font-family: "Quicksand", sans-serif;
        display: block;
        position: relative;
        margin-bottom: 10px;
        letter-spacing: 3px; }
        @media (max-width: 480px) {
          .top_reason .top_reason_inner .top_reason_title span {
            font-size: 2.8rem; } }
        .top_reason .top_reason_inner .top_reason_title span::first-letter {
          color: #88bb25; }
        .top_reason .top_reason_inner .top_reason_title span::before {
          content: url("../img/midashi.png");
          width: 120px;
          height: 8px;
          position: absolute;
          top: 22px;
          left: 50%;
          transform: translateX(-50%); }
    .top_reason .top_reason_inner .top_reason_block {
      display: flex;
      align-items: center;
      justify-content: center;
      flex-wrap: wrap; }
      @media (max-width: 480px) {
        .top_reason .top_reason_inner .top_reason_block {
          display: block; } }
      .top_reason .top_reason_inner .top_reason_block .top_reason_block_set {
        background: #fff;
        width: 300px;
        height: 300px;
        border-radius: 150px;
        padding: 50px 0;
        margin-right: 45px;
        margin-bottom: 20px;
        box-shadow: 0 0 5px #ccc;
        position: relative; }
        @media (max-width: 480px) {
          .top_reason .top_reason_inner .top_reason_block .top_reason_block_set {
            width: 100%;
            height: 100%;
            border-radius: 10px;
            margin-bottom: 15px;
            padding: 10px 20px 10px 30px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            flex-wrap: wrap; } }
        .top_reason .top_reason_inner .top_reason_block .top_reason_block_set:last-child, .top_reason .top_reason_inner .top_reason_block .top_reason_block_set:nth-child(3n) {
          margin-right: 0; }
        .top_reason .top_reason_inner .top_reason_block .top_reason_block_set::before {
          content: '';
          background: url("../img/number01.png") no-repeat center/contain;
          width: 50px;
          height: 45px;
          position: absolute;
          top: 20px;
          left: 0; }
          @media (max-width: 480px) {
            .top_reason .top_reason_inner .top_reason_block .top_reason_block_set::before {
              width: 30px;
              height: 27px;
              top: 15px;
              left: 11%; } }
        .top_reason .top_reason_inner .top_reason_block .top_reason_block_set:nth-child(2)::before {
          background: url("../img/number02.png") no-repeat center/contain; }
        .top_reason .top_reason_inner .top_reason_block .top_reason_block_set:nth-child(3)::before {
          background: url("../img/number03.png") no-repeat center/contain; }
        .top_reason .top_reason_inner .top_reason_block .top_reason_block_set:nth-child(4)::before {
          background: url("../img/number04.png") no-repeat center/contain; }
        .top_reason .top_reason_inner .top_reason_block .top_reason_block_set:nth-child(5)::before {
          background: url("../img/number05.png") no-repeat center/contain; }
        .top_reason .top_reason_inner .top_reason_block .top_reason_block_set .reason_icon {
          text-align: center; }
          @media (max-width: 480px) {
            .top_reason .top_reason_inner .top_reason_block .top_reason_block_set .reason_icon {
              width: 15%;
              padding-top: 35px; }
              .top_reason .top_reason_inner .top_reason_block .top_reason_block_set .reason_icon img {
                max-width: 100%; } }
        .top_reason .top_reason_inner .top_reason_block .top_reason_block_set .reason_txt {
          padding: 0 55px; }
          @media (max-width: 480px) {
            .top_reason .top_reason_inner .top_reason_block .top_reason_block_set .reason_txt {
              width: 78%;
              padding: 0;
              line-height: 1.5; } }

.top_service {
  padding: 70px 0 90px; }
  @media (max-width: 480px) {
    .top_service {
      padding: 35px 15px 50px; } }
  .top_service .top_service_inner {
    max-width: 1020px;
    margin: 0 auto; }
    .top_service .top_service_inner .top_service_title {
      text-align: center;
      font-size: 1.6rem;
      margin-bottom: 50px; }
      @media (max-width: 480px) {
        .top_service .top_service_inner .top_service_title {
          font-size: 1.3rem;
          margin-bottom: 30px; } }
      .top_service .top_service_inner .top_service_title span {
        font-size: 3.5rem;
        font-family: "Quicksand", sans-serif;
        display: block;
        position: relative;
        margin-bottom: 10px;
        letter-spacing: 3px; }
        @media (max-width: 480px) {
          .top_service .top_service_inner .top_service_title span {
            font-size: 2.8rem; } }
        .top_service .top_service_inner .top_service_title span::first-letter {
          color: #88bb25; }
        .top_service .top_service_inner .top_service_title span::before {
          content: url("../img/midashi.png");
          width: 120px;
          height: 8px;
          position: absolute;
          top: 22px;
          left: 50%;
          transform: translateX(-50%); }
    .top_service .top_service_inner .top_service_block {
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      margin-bottom: 30px;
      align-items: flex-start; }
      @media (max-width: 480px) {
        .top_service .top_service_inner .top_service_block {
          display: block;
          margin-bottom: 80px; } }
      .top_service .top_service_inner .top_service_block .top_service_block_set {
        width: 480px;
        margin-bottom: 30px; }
        @media (max-width: 480px) {
          .top_service .top_service_inner .top_service_block .top_service_block_set {
            width: 100%;
            margin-bottom: 40px; } }
        .top_service .top_service_inner .top_service_block .top_service_block_set .service_img {
          margin-bottom: 10px; }
          @media (max-width: 480px) {
            .top_service .top_service_inner .top_service_block .top_service_block_set .service_img {
              margin-bottom: 5px; } }
          .top_service .top_service_inner .top_service_block .top_service_block_set .service_img img {
            max-width: 100%; }
        .top_service .top_service_inner .top_service_block .top_service_block_set .service_txt .top_service_set_title {
          font-size: 2.4rem;
          position: relative;
          margin-bottom: 25px; }
          @media (max-width: 480px) {
            .top_service .top_service_inner .top_service_block .top_service_block_set .service_txt .top_service_set_title {
              font-size: 2rem;
              margin-bottom: 15px; } }
          .top_service .top_service_inner .top_service_block .top_service_block_set .service_txt .top_service_set_title::before {
            content: '';
            border-bottom: 1px solid #d2d2d2;
            width: 30%;
            position: absolute;
            bottom: -10px;
            left: 0; }
            @media (max-width: 480px) {
              .top_service .top_service_inner .top_service_block .top_service_block_set .service_txt .top_service_set_title::before {
                width: 25%; } }
        .top_service .top_service_inner .top_service_block .top_service_block_set .service_txt p {
          font-size: 1.4rem;
          letter-spacing: 1px; }
          @media (max-width: 480px) {
            .top_service .top_service_inner .top_service_block .top_service_block_set .service_txt p {
              font-size: 1.5rem;
              line-height: 1.5; } }
    .top_service .top_service_inner .top_service_onayami {
      border: 1px solid #282828;
      border-radius: 10px;
      padding: 55px 55px 30px;
      position: relative; }
      @media (max-width: 480px) {
        .top_service .top_service_inner .top_service_onayami {
          padding: 35px 20px 20px; } }
      .top_service .top_service_inner .top_service_onayami::before {
        content: '';
        background: url("../img/tag-pc.png") no-repeat center/contain;
        width: 85px;
        height: 40px;
        position: absolute;
        top: 41%;
        left: -48px; }
        @media (max-width: 480px) {
          .top_service .top_service_inner .top_service_onayami::before {
            content: '';
            background: url("../img/tag-sp.png") no-repeat center/contain;
            width: 70px;
            height: 70px;
            top: -44px;
            left: 35%; } }
      .top_service .top_service_inner .top_service_onayami .top_service_onayami_title {
        text-align: center;
        font-size: 2.4rem;
        position: relative;
        margin-bottom: 40px; }
        @media (max-width: 480px) {
          .top_service .top_service_inner .top_service_onayami .top_service_onayami_title {
            text-align: left;
            font-size: 1.9rem;
            line-height: 1.5;
            margin-bottom: 30px;
            letter-spacing: 0; } }
        .top_service .top_service_inner .top_service_onayami .top_service_onayami_title::before {
          content: '';
          background: url("../img/namisen.png") no-repeat center/contain;
          width: 535px;
          height: 10px;
          position: absolute;
          top: 42px;
          left: 50%;
          transform: translateX(-50%); }
          @media (max-width: 480px) {
            .top_service .top_service_inner .top_service_onayami .top_service_onayami_title::before {
              width: 250px;
              top: unset;
              bottom: -15px;
              left: 0;
              transform: none; } }
      .top_service .top_service_inner .top_service_onayami .onayamai_list {
        padding-left: 50px;
        margin-bottom: 20px;
        position: relative; }
        @media (max-width: 480px) {
          .top_service .top_service_inner .top_service_onayami .onayamai_list {
            padding-left: 0; } }
        .top_service .top_service_inner .top_service_onayami .onayamai_list ul {
          display: flex;
          align-items: center;
          justify-content: flex-start;
          flex-wrap: wrap;
          align-items: flex-start; }
          @media (max-width: 480px) {
            .top_service .top_service_inner .top_service_onayami .onayamai_list ul {
              display: block; } }
          .top_service .top_service_inner .top_service_onayami .onayamai_list ul li {
            width: 31%;
            font-weight: bold;
            margin: 0 3% 10px 0;
            text-indent: -12px;
            padding-left: 12px; }
            @media (max-width: 480px) {
              .top_service .top_service_inner .top_service_onayami .onayamai_list ul li {
                width: 100%;
                text-indent: -11px;
                padding-left: 11px;
                letter-spacing: 0; } }
            .top_service .top_service_inner .top_service_onayami .onayamai_list ul li::before {
              content: '●';
              color: #51b035;
              font-size: 13px;
              display: inline-block;
              padding: 0 5px; }
            .top_service .top_service_inner .top_service_onayami .onayamai_list ul li:nth-child(3n) {
              margin-right: 0; }

.top_works {
  padding: 70px 0;
  background: #fffcd4; }
  @media (max-width: 480px) {
    .top_works {
      padding: 35px 15px 50px; } }
  .top_works .top_works_inner {
    max-width: 1020px;
    margin: 0 auto; }
    .top_works .top_works_inner .top_works_title {
      text-align: center;
      font-size: 1.6rem;
      margin-bottom: 50px; }
      @media (max-width: 480px) {
        .top_works .top_works_inner .top_works_title {
          font-size: 1.3rem;
          margin-bottom: 30px; } }
      .top_works .top_works_inner .top_works_title span {
        font-size: 3.5rem;
        font-family: "Quicksand", sans-serif;
        display: block;
        position: relative;
        margin-bottom: 10px;
        letter-spacing: 3px; }
        @media (max-width: 480px) {
          .top_works .top_works_inner .top_works_title span {
            font-size: 2.8rem; } }
        .top_works .top_works_inner .top_works_title span::first-letter {
          color: #88bb25; }
        .top_works .top_works_inner .top_works_title span::before {
          content: url("../img/midashi.png");
          width: 120px;
          height: 8px;
          position: absolute;
          top: 22px;
          left: 50%;
          transform: translateX(-50%); }
    .top_works .top_works_inner .top_works_block {
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      justify-content: space-evenly;
      align-items: flex-start;
      margin-bottom: 70px; }
      @media (max-width: 480px) {
        .top_works .top_works_inner .top_works_block {
          display: block;
          margin-bottom: 50px; } }
      .top_works .top_works_inner .top_works_block .top_works_block_set {
        width: 320px;
        align-self: stretch;
        background: #fff;
        box-shadow: 0 0 5px #ccc;
        position: relative; }
        @media (max-width: 480px) {
          .top_works .top_works_inner .top_works_block .top_works_block_set {
            width: 100%;
            margin-bottom: 15px; } }
        .top_works .top_works_inner .top_works_block .top_works_block_set a {
          text-decoration: none;
          color: #282828;
          transition: 0.5s;
          display: block; }
          @media (max-width: 480px) {
            .top_works .top_works_inner .top_works_block .top_works_block_set a {
              padding: 10px;
              display: flex;
              align-items: center;
              justify-content: space-between;
              flex-wrap: wrap;
              align-items: flex-start; } }
          .top_works .top_works_inner .top_works_block .top_works_block_set a .top_works_img {
            width: 320px;
            height: 200px;
            margin: 0;
            padding: 0;
            background: #fff;
            overflow: hidden; }
            @media (max-width: 480px) {
              .top_works .top_works_inner .top_works_block .top_works_block_set a .top_works_img {
                width: 46%;
                height: auto; } }
            .top_works .top_works_inner .top_works_block .top_works_block_set a .top_works_img img {
              -webkit-transform: scale(1);
              transform: scale(1);
              -webkit-transition: all 0.3s linear;
              transition: all 0.3s linear;
              max-width: 100%; }
          .top_works .top_works_inner .top_works_block .top_works_block_set a .top_works_contents {
            padding: 20px 20px 35px 20px; }
            @media (max-width: 480px) {
              .top_works .top_works_inner .top_works_block .top_works_block_set a .top_works_contents {
                width: 51%;
                padding: 0; } }
            .top_works .top_works_inner .top_works_block .top_works_block_set a .top_works_contents .top_works_contents_title {
              font-size: 1.6rem;
              line-height: 1.5;
              margin-bottom: 15px;
              word-break: break-all; }
              @media (max-width: 480px) {
                .top_works .top_works_inner .top_works_block .top_works_block_set a .top_works_contents .top_works_contents_title {
                  font-size: 1.5rem;
                  line-height: 1.3;
                  margin-bottom: 10px; } }
            .top_works .top_works_inner .top_works_block .top_works_block_set a .top_works_contents .category {
              font-size: 1.3rem;
              color: #fff;
              text-align: center;
              display: inline-block;
              padding: 3px 15px;
              background: #428242;
              margin-bottom: 15px; }
              @media (max-width: 480px) {
                .top_works .top_works_inner .top_works_block .top_works_block_set a .top_works_contents .category {
                  padding: 0 10px;
                  margin-bottom: 5px; } }
            .top_works .top_works_inner .top_works_block .top_works_block_set a .top_works_contents .contents_info {
              display: flex;
              align-items: center;
              justify-content: space-between;
              flex-wrap: wrap;
              position: absolute;
              bottom: 15px;
              width: 89%; }
              @media (max-width: 480px) {
                .top_works .top_works_inner .top_works_block .top_works_block_set a .top_works_contents .contents_info {
                  position: static;
                  bottom: auto;
                  width: auto; } }
              .top_works .top_works_inner .top_works_block .top_works_block_set a .top_works_contents .contents_info .date {
                color: #969696; }
                @media (max-width: 480px) {
                  .top_works .top_works_inner .top_works_block .top_works_block_set a .top_works_contents .contents_info .date {
                    font-size: 1.3rem;
                    letter-spacing: 0; } }
              .top_works .top_works_inner .top_works_block .top_works_block_set a .top_works_contents .contents_info .more {
                padding-right: 25px;
                position: relative;
                background: url("../img/arrow_blk.png") no-repeat right;
                background-size: 20px;
                border-bottom: 1px solid #444; }
                @media (max-width: 480px) {
                  .top_works .top_works_inner .top_works_block .top_works_block_set a .top_works_contents .contents_info .more {
                    font-size: 1.3rem;
                    letter-spacing: 0; } }
          .top_works .top_works_inner .top_works_block .top_works_block_set a:hover {
            color: #9bc549; }
            .top_works .top_works_inner .top_works_block .top_works_block_set a:hover .top_works_img img {
              opacity: 0.8;
              -webkit-transform: scale(1.1);
              transform: scale(1.1); }
            .top_works .top_works_inner .top_works_block .top_works_block_set a:hover .top_works_contents_title {
              text-decoration: underline; }
            .top_works .top_works_inner .top_works_block .top_works_block_set a:hover .contents_info .more {
              background: url("../img/arrow_green.png") no-repeat right;
              background-size: 20px;
              border-bottom: 1px solid #9bc549; }
            @media (max-width: 480px) {
              .top_works .top_works_inner .top_works_block .top_works_block_set a:hover {
                color: #282828; }
                .top_works .top_works_inner .top_works_block .top_works_block_set a:hover .top_works_img img {
                  opacity: 1;
                  -webkit-transform: scale(1);
                  transform: scale(1); }
                .top_works .top_works_inner .top_works_block .top_works_block_set a:hover .top_works_contents_title {
                  text-decoration: none; }
                .top_works .top_works_inner .top_works_block .top_works_block_set a:hover .contents_info .more {
                  border-bottom: 1px solid #444; } }
        @media (max-width: 480px) {
          .top_works .top_works_inner .top_works_block .top_works_block_set:last-child {
            margin-bottom: 0; } }

.top_info {
  padding: 70px 0 85px; }
  @media (max-width: 480px) {
    .top_info {
      padding: 35px 15px 50px; } }
  .top_info .top_info_inner {
    max-width: 1020px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap; }
    @media (max-width: 480px) {
      .top_info .top_info_inner {
        display: block; } }
    .top_info .top_info_inner .top_info_title {
      text-align: center;
      font-size: 1.6rem;
      margin-bottom: 50px;
      width: 120px; }
      @media (max-width: 480px) {
        .top_info .top_info_inner .top_info_title {
          font-size: 1.3rem;
          margin: 0 auto 30px; } }
      .top_info .top_info_inner .top_info_title span {
        font-size: 3.5rem;
        font-family: "Quicksand", sans-serif;
        display: block;
        position: relative;
        margin-bottom: 10px;
        letter-spacing: 3px; }
        @media (max-width: 480px) {
          .top_info .top_info_inner .top_info_title span {
            font-size: 2.8rem; } }
        .top_info .top_info_inner .top_info_title span::first-letter {
          color: #88bb25; }
        .top_info .top_info_inner .top_info_title span::before {
          content: url("../img/midashi.png");
          width: 120px;
          height: 8px;
          position: absolute;
          top: 22px;
          left: 0; }
    .top_info .top_info_inner .top_info_block {
      width: 800px;
      box-shadow: 0 0 5px #ccc;
      background: #fff;
      padding: 35px 40px;
      max-height: 280px;
      overflow: scroll;
      overflow-x: hidden; }
      @media (max-width: 480px) {
        .top_info .top_info_inner .top_info_block {
          width: 100%;
          padding: 35px 25px 20px; } }
      .top_info .top_info_inner .top_info_block::-webkit-scrollbar {
        width: 12px; }
      .top_info .top_info_inner .top_info_block::-webkit-scrollbar-thumb {
        background: #88bb25;
        border-radius: 6px;
        box-shadow: none; }
      .top_info .top_info_inner .top_info_block::-webkit-scrollbar-track {
        background: #d9d9d9;
        border: none;
        border-radius: 6px; }
      .top_info .top_info_inner .top_info_block .top_info_block_set {
        border-bottom: 1px dashed #898989;
        margin-bottom: 15px;
        padding-bottom: 15px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-wrap: wrap;
        align-items: flex-start; }
        .top_info .top_info_inner .top_info_block .top_info_block_set .info_date {
          width: 110px;
          color: #428242;
          font-weight: bold; }
        .top_info .top_info_inner .top_info_block .top_info_block_set .info_txt {
          width: 530px; }
          .top_info .top_info_inner .top_info_block .top_info_block_set .info_txt dt {
            padding-bottom: 15px; }
            .top_info .top_info_inner .top_info_block .top_info_block_set .info_txt dt a {
              font-weight: bold;
              color: #282828;
              text-decoration: underline; }
              .top_info .top_info_inner .top_info_block .top_info_block_set .info_txt dt a:hover {
                color: #428242; }
          .top_info .top_info_inner .top_info_block .top_info_block_set .info_txt .info_image_list ul {
            display: flex;
            align-items: center;
            justify-content: flex-start;
            flex-wrap: wrap; }
            .top_info .top_info_inner .top_info_block .top_info_block_set .info_txt .info_image_list ul li {
              margin-right: 15px;
              /*@include sp {
              	margin-right: 0;
              }*/ }
              .top_info .top_info_inner .top_info_block .top_info_block_set .info_txt .info_image_list ul li:last-child {
                margin-right: none; }
              .top_info .top_info_inner .top_info_block .top_info_block_set .info_txt .info_image_list ul li a {
                position: relative; }
                .top_info .top_info_inner .top_info_block .top_info_block_set .info_txt .info_image_list ul li a::before {
                  color: #fff;
                  font-size: 1.5rem;
                  text-decoration: none;
                  line-height: 1.0;
                  border: 1px solid rgba(255, 255, 255, 0.3);
                  padding: 3px 2px 2px 3px;
                  background: #000;
                  content: "\00ff0b";
                  position: absolute;
                  right: 0;
                  bottom: 4px; }
                .top_info .top_info_inner .top_info_block .top_info_block_set .info_txt .info_image_list ul li a img {
                  width: 120px;
                  height: 120px;
                  max-width: 100%;
                  overflow: hidden;
                  object-fit: cover; }

.lightboxOverlay {
  background-color: rgba(0, 0, 0, 0.8) !important; }
