/*! Writen  by SCSS */
.mainvisual {
  position: relative; }
  .mainvisual .main_image {
    width: calc(100% - 60px);
    margin: auto;
    position: relative;
    overflow: hidden;
    border-radius: 30px; }
    @media screen and (max-width: 480px) {
      .mainvisual .main_image {
        width: calc(100% - 20px); } }
    .mainvisual .main_image:before {
      content: "";
      display: block;
      position: absolute;
      inset: 0;
      background-position: bottom center;
      background-repeat: no-repeat;
      background-size: cover;
      background-image: url("../images/top/main/main.jpg");
      /*
      transform:scale(1.2);
      opacity: 0;
      transition:2s opacity ease-in-out 0s,5s transform ease-in-out 0s;
      body.loaded &{
      	opacity: 1;
      	transform:scale(1);
      }
      */ }
      @media screen and (max-width: 480px) {
        .mainvisual .main_image:before {
          border-radius: 20px;
          background-image: url("../images/top/main/main_sp.jpg"); } }
    .mainvisual .main_image:after {
      content: "";
      display: block;
      height: 700px;
      pointer-events: none; }
      @media screen and (max-width: 768px) {
        .mainvisual .main_image:after {
          height: auto;
          aspect-ratio: 1540/700; } }
      @media screen and (max-width: 480px) {
        .mainvisual .main_image:after {
          height: auto;
          aspect-ratio: 394/600; } }
  .mainvisual .maincopy_wrap {
    position: absolute;
    right: 4.24%;
    top: 7%;
    display: flex;
    flex-direction: column;
    row-gap: 30px;
    /*
    opacity: 0;
    transition:2s opacity ease-in-out 1s;
    body.loaded &{
    	opacity: 1;
    }
    */ }
    @media screen and (max-width: 768px) {
      .mainvisual .maincopy_wrap {
        top: 5%;
        row-gap: 15px; } }
    @media screen and (max-width: 480px) {
      .mainvisual .maincopy_wrap {
        top: 30px;
        left: 0;
        right: 0; } }
    .mainvisual .maincopy_wrap .maincopy {
      font-size: clamp(40px, 5vw, 80px);
      color: #FFF;
      line-height: 1.2;
      text-align: right; }
      @media screen and (max-width: 768px) {
        .mainvisual .maincopy_wrap .maincopy {
          font-size: 5.2vw; } }
      @media screen and (max-width: 480px) {
        .mainvisual .maincopy_wrap .maincopy {
          font-size: 4.8vw;
          line-height: 1.5;
          text-align: center; } }
    .mainvisual .maincopy_wrap .mainsub {
      font-size: clamp(16px, 1.625vw, 26px);
      text-align: right;
      letter-spacing: 0.05em; }
      @media screen and (max-width: 768px) {
        .mainvisual .maincopy_wrap .mainsub {
          font-size: 2.1vw; } }
      @media screen and (max-width: 480px) {
        .mainvisual .maincopy_wrap .mainsub {
          font-size: 5.8vw;
          text-align: center;
          color: #FFF; } }

.key_img {
  width: 100%;
  aspect-ratio: 1600/400;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover; }
  @media screen and (max-width: 480px) {
    .key_img {
      aspect-ratio: 2 / 1; } }
  .key_img.news {
    background-image: url("../images/top/kv_news.jpg"); }
  .key_img.group {
    background-image: url("../images/top/kv_group.jpg"); }

.about_area {
  padding: clamp(40px, 6.667vw, 80px) 0 clamp(80px, 15vw, 180px); }
  @media screen and (max-width: 768px) {
    .about_area {
      padding: 40px 0 60px; } }
  @media screen and (max-width: 480px) {
    .about_area .about_txt_wrap {
      flex-direction: column;
      row-gap: 60px; } }
  .about_area .about_txt_wrap .text_l {
    display: flex;
    flex-direction: column;
    row-gap: 40px; }
    @media screen and (max-width: 768px) {
      .about_area .about_txt_wrap .text_l {
        row-gap: 30px; } }
    @media screen and (max-width: 480px) {
      .about_area .about_txt_wrap .text_l {
        row-gap: 20px; } }
    .about_area .about_txt_wrap .text_l.p-view .sec_ttl {
      opacity: 1;
      transform: translateX(0); }
    .about_area .about_txt_wrap .text_l .sec_ttl {
      transform: translateX(-40px);
      opacity: 0;
      transition: 1s opacity ease 0s,1s transform ease 0s; }
      .about_area .about_txt_wrap .text_l .sec_ttl:nth-of-type(2) {
        transition-delay: 0.2s; }
      .about_area .about_txt_wrap .text_l .sec_ttl:nth-of-type(3) {
        transition-delay: 0.4s; }
  .about_area .about_txt_wrap .text_r {
    width: 55%; }
    @media screen and (max-width: 480px) {
      .about_area .about_txt_wrap .text_r {
        width: 100%; } }
    .about_area .about_txt_wrap .text_r .about_ttl {
      display: flex;
      column-gap: 15px;
      font-size: clamp(18px, 2.167vw, 26px);
      color: #01b7d1;
      align-items: center;
      margin-bottom: 30px; }
      @media screen and (max-width: 768px) {
        .about_area .about_txt_wrap .text_r .about_ttl {
          margin-bottom: 20px; } }
      @media screen and (max-width: 480px) {
        .about_area .about_txt_wrap .text_r .about_ttl {
          font-size: 6.4vw;
          line-height: 1.5;
          align-items: flex-start; } }
      .about_area .about_txt_wrap .text_r .about_ttl .ttl_icon {
        flex-shrink: 0;
        width: 21px;
        aspect-ratio: 1;
        border-radius: 50%;
        border: 1px solid #01b7d1;
        position: relative; }
        @media screen and (max-width: 480px) {
          .about_area .about_txt_wrap .text_r .about_ttl .ttl_icon {
            margin-top: 10px; } }
        .about_area .about_txt_wrap .text_r .about_ttl .ttl_icon:after {
          content: "";
          position: absolute;
          inset: 0;
          width: 7px;
          margin: auto;
          aspect-ratio: 1;
          background: #01b7d1;
          border-radius: 50%;
          display: flex;
          justify-content: center;
          align-items: center; }

.news_area .news_in {
  padding: clamp(50px, 5.834vw, 70px) 0; }
  @media screen and (max-width: 768px) {
    .news_area .news_in {
      padding: 60px 0; } }
.news_area .news_infor {
  max-width: 520px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  row-gap: 25px; }
  @media screen and (max-width: 480px) {
    .news_area .news_infor {
      row-gap: 15px; } }
  .news_area .news_infor .infor_in {
    justify-content: flex-start;
    column-gap: 20px;
    font-size: 16px; }
    @media screen and (max-width: 768px) {
      .news_area .news_infor .infor_in {
        font-size: 14px; } }
    @media screen and (max-width: 480px) {
      .news_area .news_infor .infor_in {
        font-size: 12px;
        flex-direction: column; } }
    .news_area .news_infor .infor_in .day {
      flex-shrink: 0; }

.service_area .service_in {
  background: rgba(118, 185, 246, 0.2);
  padding: clamp(60px, 8.334vw, 100px) 0 clamp(60px, 10vw, 120px); }
  @media screen and (max-width: 768px) {
    .service_area .service_in {
      padding: 60px 0; } }
  .service_area .service_in .check_box {
    max-width: 900px;
    margin: 0 auto;
    border: 1px dashed #0c4172;
    padding: 20px clamp(20px, 4.167vw, 50px);
    display: flex;
    border-radius: 20px;
    flex-wrap: wrap;
    gap: 20px 4%; }
    @media screen and (max-width: 480px) {
      .service_area .service_in .check_box {
        gap: 15px 0; } }
    .service_area .service_in .check_box .check_txt_wrap {
      display: flex;
      justify-content: flex-start;
      align-items: center;
      column-gap: 15px; }
      @media screen and (max-width: 480px) {
        .service_area .service_in .check_box .check_txt_wrap {
          column-gap: 10px; } }
      .service_area .service_in .check_box .check_txt_wrap:nth-child(2n+1) {
        width: 45%; }
        @media screen and (max-width: 480px) {
          .service_area .service_in .check_box .check_txt_wrap:nth-child(2n+1) {
            width: 100%; } }
      .service_area .service_in .check_box .check_txt_wrap:nth-child(2n) {
        width: 51%; }
        @media screen and (max-width: 480px) {
          .service_area .service_in .check_box .check_txt_wrap:nth-child(2n) {
            width: 100%; } }
      .service_area .service_in .check_box .check_txt_wrap .check_icon {
        flex-shrink: 0; }
        @media screen and (max-width: 480px) {
          .service_area .service_in .check_box .check_txt_wrap .check_icon {
            width: 25px; } }
      .service_area .service_in .check_box .check_txt_wrap .check_txt {
        font-size: clamp(16px, 1.834vw, 22px);
        line-height: 1;
        color: #3e75af; }
        @media screen and (max-width: 480px) {
          .service_area .service_in .check_box .check_txt_wrap .check_txt {
            font-size: 3.7vw; } }
  .service_area .service_in .service_read {
    font-size: clamp(14px, 1.5vw, 18px);
    text-align: center;
    line-height: 2.7;
    margin: clamp(30px, 3.334vw, 40px) 0 clamp(40px, 5.834vw, 70px); }
    @media screen and (max-width: 480px) {
      .service_area .service_in .service_read {
        line-height: 2; } }
  .service_area .service_in .service_box {
    display: grid;
    column-gap: 3.75%;
    grid-template-columns: repeat(3, 1fr);
    margin-bottom: clamp(60px, 8.334vw, 100px); }
    @media screen and (max-width: 480px) {
      .service_area .service_in .service_box {
        grid-template-columns: repeat(1, 1fr);
        row-gap: 20px; } }
    .service_area .service_in .service_box.p-view .service_box_in {
      transform: translateY(0);
      opacity: 1; }
    .service_area .service_in .service_box .service_box_in {
      display: flex;
      flex-direction: column;
      align-items: center;
      row-gap: 20px;
      border-radius: 20px;
      padding: 30px 10px 40px;
      background: linear-gradient(145deg, #70a8e6 0%, #51cde8 50%, #27ccc5 100%);
      transform: translateY(20px);
      opacity: 0;
      transition: 1s transform ease 0s,1s opacity ease 0s; }
      @media screen and (max-width: 480px) {
        .service_area .service_in .service_box .service_box_in {
          font-size: 3.7vw;
          flex-direction: row;
          column-gap: 20px;
          padding: 20px 20px 20px 10px; } }
      .service_area .service_in .service_box .service_box_in:nth-of-type(2) {
        transition-delay: 0.2s; }
      .service_area .service_in .service_box .service_box_in:nth-of-type(3) {
        transition-delay: 0.4s; }
      @media screen and (max-width: 480px) {
        .service_area .service_in .service_box .service_box_in .service_icon {
          width: 90px;
          flex-shrink: 0; } }
      .service_area .service_in .service_box .service_box_in .service_txt {
        font-size: clamp(13px, 2vw, 26px);
        color: #FFF; }
        @media screen and (max-width: 480px) {
          .service_area .service_in .service_box .service_box_in .service_txt {
            text-align: center;
            font-size: 4.6vw;
            width: 100%; } }

.group_area .group_in {
  padding: clamp(60px, 6.667vw, 80px) 0 clamp(60px, 8.334vw, 100px); }
  @media screen and (max-width: 768px) {
    .group_area .group_in {
      padding: 60px 0; } }
  .group_area .group_in .title_wrap {
    margin-bottom: 30px; }
  .group_area .group_in .group_txt {
    position: relative; }
    .group_area .group_in .group_txt .group_txt_in {
      width: 70%; }
      @media screen and (max-width: 480px) {
        .group_area .group_in .group_txt .group_txt_in {
          width: 100%; } }
      .group_area .group_in .group_txt .group_txt_in .logo_group {
        margin-bottom: 30px; }
        @media screen and (max-width: 480px) {
          .group_area .group_in .group_txt .group_txt_in .logo_group {
            text-align: center; } }
      @media screen and (max-width: 480px) {
        .group_area .group_in .group_txt .group_txt_in .sec_ttl02 {
          text-align: center; } }
      @media screen and (max-width: 480px) {
        .group_area .group_in .group_txt .group_txt_in .photo_wrap {
          display: flex;
          flex-wrap: wrap;
          margin: 0 -30px 30px; } }
      .group_area .group_in .group_txt .group_txt_in .photo_wrap figure {
        position: absolute; }
        @media screen and (max-width: 480px) {
          .group_area .group_in .group_txt .group_txt_in .photo_wrap figure {
            position: static; } }
        .group_area .group_in .group_txt .group_txt_in .photo_wrap figure.photo1 {
          top: 30px;
          right: 1.66%;
          width: 21.67%; }
          @media screen and (max-width: 768px) {
            .group_area .group_in .group_txt .group_txt_in .photo_wrap figure.photo1 {
              right: 10%;
              width: 26%; } }
          @media screen and (max-width: 480px) {
            .group_area .group_in .group_txt .group_txt_in .photo_wrap figure.photo1 {
              width: 50%; } }
        .group_area .group_in .group_txt .group_txt_in .photo_wrap figure.photo2 {
          top: 37%;
          right: -4.16%;
          width: 15%; }
          @media screen and (max-width: 768px) {
            .group_area .group_in .group_txt .group_txt_in .photo_wrap figure.photo2 {
              right: 2%;
              width: 20%; } }
          @media screen and (max-width: 480px) {
            .group_area .group_in .group_txt .group_txt_in .photo_wrap figure.photo2 {
              width: 50%; } }
        .group_area .group_in .group_txt .group_txt_in .photo_wrap figure.photo3 {
          bottom: 0;
          right: 8.34%;
          width: 31.67%; }
          @media screen and (max-width: 768px) {
            .group_area .group_in .group_txt .group_txt_in .photo_wrap figure.photo3 {
              right: -2%;
              width: 35%; } }
          @media screen and (max-width: 480px) {
            .group_area .group_in .group_txt .group_txt_in .photo_wrap figure.photo3 {
              width: 100%; } }
      .group_area .group_in .group_txt .group_txt_in .group_txt02 {
        display: flex;
        flex-direction: column;
        row-gap: 40px; }
        .group_area .group_in .group_txt .group_txt_in .group_txt02 .anabuki_txt {
          font-size: clamp(18px, 2.167vw, 26px);
          color: #3e75af; }
          @media screen and (max-width: 480px) {
            .group_area .group_in .group_txt .group_txt_in .group_txt02 .anabuki_txt {
              font-size: 5.9vw; } }
        .group_area .group_in .group_txt .group_txt_in .group_txt02 .site_btn.detail {
          margin: 0; }

.floating {
  position: fixed;
  right: 20px;
  bottom: 20px;
  width: 710px;
  z-index: 100;
  display: flex;
  justify-content: flex-end;
  column-gap: 15px; }
  @media screen and (max-width: 768px) {
    .floating {
      width: 300px;
      flex-direction: column;
      row-gap: 15px; } }
  @media screen and (max-width: 480px) {
    .floating {
      width: 240px; } }
  .floating .floating_box {
    width: 42.26%;
    position: relative; }
    @media screen and (max-width: 768px) {
      .floating .floating_box {
        width: 100%; } }
    .floating .floating_box.reien {
      width: 55.22%; }
      @media screen and (max-width: 768px) {
        .floating .floating_box.reien {
          width: 100%; } }
    .floating .floating_box a {
      display: block;
      position: relative; }
      .floating .floating_box a.floating_in {
        display: flex;
        flex-direction: column;
        row-gap: 20px;
        border-radius: 10px;
        overflow: hidden;
        background: url("../images/common/float_bg.jpg") center top repeat;
        padding: 20px 10px 10px; }
        @media screen and (max-width: 480px) {
          .floating .floating_box a.floating_in {
            row-gap: 10px;
            padding: 15px 10px 10px; } }
        body:not(.mobile) .floating .floating_box a.floating_in:hover .float_btn {
          background: #d1dcf5; }
        .floating .floating_box a.floating_in .float_ttl {
          font-size: 26px;
          color: #FFF;
          text-align: center;
          line-height: 1.4; }
          @media screen and (max-width: 480px) {
            .floating .floating_box a.floating_in .float_ttl {
              font-size: 5vw; } }
        .floating .floating_box a.floating_in .float_btn {
          display: flex;
          justify-content: center;
          background: #FFF;
          border-radius: 15px;
          padding: 13px 5px 10px;
          background: #FFF;
          position: relative;
          transition: 0.3s background ease-in-out 0s; }
          @media screen and (max-width: 480px) {
            .floating .floating_box a.floating_in .float_btn {
              padding: 10px 5px; } }
          .floating .floating_box a.floating_in .float_btn:after {
            content: "";
            position: absolute;
            left: 46%;
            top: 10px;
            bottom: 10px;
            width: 1px;
            background: rgba(122, 140, 181, 0.5); }
          .floating .floating_box a.floating_in .float_btn .float_link_in {
            width: 46%;
            display: flex;
            flex-direction: column;
            align-items: center;
            row-gap: 10px; }
            .floating .floating_box a.floating_in .float_btn .float_link_in.second {
              width: 54%; }
            .floating .floating_box a.floating_in .float_btn .float_link_in .float_txt {
              font-size: 18px;
              color: #7a8cb5;
              line-height: 1;
              margin: auto; }
              @media screen and (max-width: 480px) {
                .floating .floating_box a.floating_in .float_btn .float_link_in .float_txt {
                  font-size: 3vw; } }
    .floating .floating_box .float_close {
      position: absolute;
      right: 0;
      top: -10px;
      cursor: pointer; }

/*# sourceMappingURL=top.css.map */
