@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap");
.end {
  font-family: 'Press Start 2P', cursive; }

body {
  background: #92ddd6; }

body.detail {
  background: #fff; }

.hv_txt.w_bg {
  color: #42b5c7; }

/* ==========================================================================
	animations
========================================================================== */
@-webkit-keyframes swing {
  0%,100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  50% {
    -webkit-transform: rotate(10deg);
            transform: rotate(10deg); } }
@keyframes swing {
  0%,100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  50% {
    -webkit-transform: rotate(10deg);
            transform: rotate(10deg); } }
@keyframes ff {
  0% {
    -webkit-transform: translateY(100px) scale(0.3);
            transform: translateY(100px) scale(0.3);
    opacity: 0; }
  45% {
    -webkit-transform: translateY(60px) scale(0.3);
            transform: translateY(60px) scale(0.3);
    opacity: 0; }
  75% {
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1);
    opacity: 100; }
  76% {
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1);
    opacity: 90; }
  100% {
    -webkit-transform: translateY(0) scale(1.3);
            transform: translateY(0) scale(1.3);
    opacity: 0; } }
@-webkit-keyframes ff {
  0% {
    -webkit-transform: translateY(100px) scale(0.3);
            transform: translateY(100px) scale(0.3);
    opacity: 0; }
  40% {
    -webkit-transform: translateY(50px) scale(0.3);
            transform: translateY(50px) scale(0.3);
    opacity: 0; }
  85% {
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1);
    opacity: 100; }
  100% {
    -webkit-transform: translateY(0) scale(1.1);
            transform: translateY(0) scale(1.1);
    opacity: 0; } }
@-webkit-keyframes fwfw {
  0%, 100% {
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  50% {
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px); } }
@keyframes fwfw {
  0%, 100% {
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  50% {
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px); } }
@keyframes fwfw03 {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }
  50% {
    -webkit-transform: translate(10%, 20%);
            transform: translate(10%, 20%); }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); } }
@-webkit-keyframes fwfw03 {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }
  50% {
    -webkit-transform: translate(10%, 20%);
            transform: translate(10%, 20%); }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); } }
@-webkit-keyframes lrlr {
  0%, 100% {
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  50% {
    -webkit-transform: translateX(-20px);
            transform: translateX(-20px); } }
@keyframes lrlr {
  0%, 100% {
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  50% {
    -webkit-transform: translateX(-20px);
            transform: translateX(-20px); } }
@-webkit-keyframes fwfw04 {
  0%, 100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }
  50% {
    -webkit-transform: translate(10px, 15px);
            transform: translate(10px, 15px); } }
@keyframes fwfw04 {
  0%, 100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }
  50% {
    -webkit-transform: translate(10px, 15px);
            transform: translate(10px, 15px); } }
/* ==========================================================================
	h_mv
========================================================================== */
#h_mv {
  width: 100%;
  height: 635px; }
  #h_mv .tit_area .s_tit {
    color: #0087be; }
    #h_mv .tit_area .s_tit.ls {
      letter-spacing: 0.01em;
      line-height: 1.6; }
  #h_mv .tit_area .tit {
    width: 387px;
    margin: 0 auto 40px; }
  #h_mv .tit_area .inr {
    padding-bottom: 70px; }
  #h_mv .mv_illust {
    position: absolute;
    width: 178px;
    left: 13.3214vw;
    bottom: -85px;
    z-index: 60; }
    #h_mv .mv_illust .hv_txt {
      width: 92px;
      height: 92px;
      top: -78px;
      right: -29px; }
      #h_mv .mv_illust .hv_txt:before {
        -webkit-transform: scale(1, 1);
                transform: scale(1, 1);
        left: 32px; }

#h_mv.v2 {
  position: relative;
  height: 740px;
  margin-bottom: 130px; }
  #h_mv.v2 .tit_area {
    /*
    padding-left: 5.28vw;
    padding-right: 5.714vw;
    */
    padding-left: 5vw;
    padding-right: 3.714vw;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
    #h_mv.v2 .tit_area .inr {
      position: relative;
      z-index: 30;
      padding: 0 0 2vw; }
    #h_mv.v2 .tit_area .s_tit {
      color: #23aabe; }
    #h_mv.v2 .tit_area .tit {
      width: auto;
      font-size: 54px;
      font-size: clamp(54px, 3.8571428571vw, 69.12px);
      line-height: 1.042;
      margin-bottom: 60px;
      text-align: center; }
    #h_mv.v2 .tit_area .pan {
      text-align: center; }
  #h_mv.v2 .mv_illust {
    width: 280px;
    left: 8.428vw;
    bottom: -5px;
    z-index: 60; }
    #h_mv.v2 .mv_illust .hv_txt {
      width: 90px;
      height: 90px;
      top: -1px;
      right: -65px; }
      #h_mv.v2 .mv_illust .hv_txt:before {
        -webkit-transform: scale(1, 1);
                transform: scale(1, 1);
        left: 29px; }
    #h_mv.v2 .mv_illust.v3 {
      width: 728px;
      bottom: -100px;
      left: -158px; }
      #h_mv.v2 .mv_illust.v3 .hv_txt {
        right: 305px;
        top: -30px; }
        #h_mv.v2 .mv_illust.v3 .hv_txt:before {
          -webkit-transform: scale(-1, 1);
                  transform: scale(-1, 1);
          left: 44px; }
      #h_mv.v2 .mv_illust.v3 .txt02 {
        width: 74px;
        height: 74px;
        left: auto;
        right: -68px;
        top: -48px;
        -webkit-transition-delay: .8s;
                transition-delay: .8s; }
        #h_mv.v2 .mv_illust.v3 .txt02:before {
          -webkit-transform: scale(1, 1);
                  transform: scale(1, 1);
          left: 29px; }
    #h_mv.v2 .mv_illust.v4 {
      width: 149px;
      bottom: 0;
      left: 13.285vw; }
      #h_mv.v2 .mv_illust.v4 .hv_txt {
        right: auto;
        left: -34px;
        top: -80px; }
        #h_mv.v2 .mv_illust.v4 .hv_txt:before {
          -webkit-transform: scale(-1, 1);
                  transform: scale(-1, 1);
          left: 44px; }
      #h_mv.v2 .mv_illust.v4 .txt02 {
        width: 74px;
        height: 74px;
        left: auto;
        right: -68px;
        top: -48px;
        -webkit-transition-delay: .8s;
                transition-delay: .8s; }
        #h_mv.v2 .mv_illust.v4 .txt02:before {
          -webkit-transform: scale(1, 1);
                  transform: scale(1, 1);
          left: 29px; }
    #h_mv.v2 .mv_illust.v5 {
      width: 181px;
      bottom: -26px;
      left: 13.35vw; }
      #h_mv.v2 .mv_illust.v5 .hv_txt {
        right: -23px;
        top: -80px; }
        #h_mv.v2 .mv_illust.v5 .hv_txt:before {
          left: 32px;
          -webkit-transform: scale(1, 1);
                  transform: scale(1, 1); }
    #h_mv.v2 .mv_illust.v6 {
      width: 154px;
      bottom: 2px;
      left: 12.85vw; }
      #h_mv.v2 .mv_illust.v6 .hv_txt {
        right: -57px;
        top: -50px; }
        #h_mv.v2 .mv_illust.v6 .hv_txt:before {
          left: 32px;
          -webkit-transform: scale(1, 1);
                  transform: scale(1, 1); }
    #h_mv.v2 .mv_illust.v7 {
      width: 219px;
      bottom: 3px;
      left: 11.57vw; }
      #h_mv.v2 .mv_illust.v7 .hv_txt {
        right: 132px;
        top: -74px; }
        #h_mv.v2 .mv_illust.v7 .hv_txt:before {
          left: 44px;
          -webkit-transform: scale(-1, 1);
                  transform: scale(-1, 1); }
  #h_mv.v2 .image_area {
    right: -5.1%;
    width: 76.5%; }

@media screen and (max-width: 1100px) {
  #h_mv .mv_illust {
    left: calc(50% - 400px); } }
@media screen and (max-width: 800px) {
  #h_mv.v2 {
    height: auto;
    padding-bottom: 60px;
    margin-bottom: 80px; }
    #h_mv.v2:before {
      height: calc(100% - 411px); }
    #h_mv.v2 .tit_area {
      padding: 32px 9.3vw 75px 5vw; }
      #h_mv.v2 .tit_area .tit {
        width: auto;
        font-size: 28px;
        font-size: clamp(28px, 7.4666666667vw, 35.84px);
        margin-bottom: 30px;
        text-align: left; }
      #h_mv.v2 .tit_area .pan {
        text-align: left; }
    #h_mv.v2 .image_area {
      right: 0;
      width: 93.33%; }
    #h_mv.v2 .mv_illust {
      width: 190px;
      left: 0;
      bottom: -40px;
      z-index: 100;
      right: 0;
      margin: auto;
      -webkit-transform: translateX(-15px);
              transform: translateX(-15px); }
      #h_mv.v2 .mv_illust .hv_txt {
        width: 60px;
        height: 60px;
        top: -50px;
        right: 6px; }
        #h_mv.v2 .mv_illust .hv_txt:before {
          left: 21px; }
      #h_mv.v2 .mv_illust.v3 {
        width: 527px;
        bottom: -45px;
        left: auto;
        right: 0;
        -webkit-transform: translateX(0);
                transform: translateX(0); }
        #h_mv.v2 .mv_illust.v3 .hv_txt {
          right: 215px;
          top: -32px;
          width: 70px;
          height: 70px; }
          #h_mv.v2 .mv_illust.v3 .hv_txt:before {
            left: 30px; }
      #h_mv.v2 .mv_illust.v4 {
        width: 107px;
        bottom: -45px;
        left: 0; }
        #h_mv.v2 .mv_illust.v4 .hv_txt {
          right: auto;
          left: -23px;
          top: -70px;
          width: 70px;
          height: 70px; }
          #h_mv.v2 .mv_illust.v4 .hv_txt:before {
            left: 33px; }
        #h_mv.v2 .mv_illust.v4 .txt02 {
          width: 45px;
          height: 45px;
          left: auto;
          right: -37px;
          top: -26px; }
          #h_mv.v2 .mv_illust.v4 .txt02:before {
            left: 17px; }
      #h_mv.v2 .mv_illust.v5 {
        width: 120px;
        left: 0;
        bottom: -40px;
        -webkit-transform: translateX(0);
        transform: translateX(0); }
        #h_mv.v2 .mv_illust.v5 .hv_txt {
          right: -18px;
          top: -40px; }
          #h_mv.v2 .mv_illust.v5 .hv_txt:before {
            left: 23px; }
      #h_mv.v2 .mv_illust.v6 {
        width: 110px;
        left: 0;
        bottom: -40px;
        -webkit-transform: translateX(-25px);
        transform: translateX(-25px); }
        #h_mv.v2 .mv_illust.v6 .hv_txt {
          right: -36px;
          top: -30px; }
          #h_mv.v2 .mv_illust.v6 .hv_txt:before {
            left: 23px; }
      #h_mv.v2 .mv_illust.v7 {
        width: 163px;
        bottom: -30px;
        left: 0;
        -webkit-transform: translateX(-10px);
        transform: translateX(-10px); }
        #h_mv.v2 .mv_illust.v7 .hv_txt {
          right: 100px;
          top: -48px; }
          #h_mv.v2 .mv_illust.v7 .hv_txt:before {
            left: 30px; }

  #h_mv.v3 {
    height: 347px;
    margin-bottom: 0;
    position: absolute; }
    #h_mv.v3:before {
      display: none; }
    #h_mv.v3 .s_tit {
      font-size: 18px; }
    #h_mv.v3 .mv_illust {
      width: 98px;
      left: 21.3vw;
      bottom: -97px; }
      #h_mv.v3 .mv_illust .hv_txt {
        width: 80px;
        height: 80px;
        top: -71px;
        right: -34px; }
        #h_mv.v3 .mv_illust .hv_txt:before {
          -webkit-transform: scale(1, 1);
                  transform: scale(1, 1);
          left: 27px; }
    #h_mv.v3 .tit_area {
      padding-top: 47px;
      padding-bottom: 60px;
      padding-left: 8.8vw; }
      #h_mv.v3 .tit_area .tit {
        width: 235px;
        margin: 0 0 24px; }
      #h_mv.v3 .tit_area .inr {
        padding-bottom: 0; } }
/* ==========================================================================
	illust_con
========================================================================== */
.illust_con {
  position: absolute;
  top: 0;
  right: 0;
  background: #92ddd6;
  width: 100%;
  height: 1675px;
  z-index: 5;
  overflow: hidden;
  /*illusts_01*/
  /*illusts_02*/
  /*illusts_03*/
  /*illusts_04*/
  /*illusts_04*/ }
  .illust_con .illusts_01 {
    position: absolute;
    top: 288px;
    width: 585px;
    left: calc(50% + 40px); }
    .illust_con .illusts_01 .illusts {
      position: relative; }
    .illust_con .illusts_01 .m-illust {
      position: absolute;
      left: 109px;
      top: -9px;
      width: 138px;
      z-index: 10; }
      .illust_con .illusts_01 .m-illust img {
        position: relative;
        -webkit-animation: 4s swing ease infinite;
        animation: 4s swing ease infinite;
        -webkit-transform-origin: bottom right;
        transform-origin: bottom right;
        z-index: 30; }
      .illust_con .illusts_01 .m-illust .hv_txt {
        width: 86px;
        height: 86px;
        right: 1775px;
        top: -67px; }
        .illust_con .illusts_01 .m-illust .hv_txt:before {
          left: 32px; }
    .illust_con .illusts_01 .m-illust02 {
      position: absolute;
      left: 258px;
      bottom: 83px;
      width: 153px;
      z-index: 10;
      -webkit-animation: 6s swing ease infinite;
      animation: 6s swing ease infinite;
      -webkit-transform-origin: bottom right;
      transform-origin: bottom right; }
    .illust_con .illusts_01 .ff-illust {
      position: absolute;
      -webkit-animation: 4s ff ease-out infinite;
      animation: 4s ff ease-out infinite;
      -webkit-transform: translateY(80px);
      transform: translateY(80px);
      opacity: 0;
      z-index: 10; }
    .illust_con .illusts_01 .ff01 {
      width: 112px;
      right: 35px;
      top: -130px; }
    .illust_con .illusts_01 .ff02 {
      width: 83px;
      left: 0;
      top: -125px;
      -webkit-animation-delay: .5s;
      animation-delay: .5s; }
    .illust_con .illusts_01 .ff03 {
      width: 177px;
      right: 100%;
      top: 69px;
      -webkit-animation-delay: 1s;
      animation-delay: 1s; }
  .illust_con .illusts_02 {
    position: absolute;
    top: 665px;
    width: 516px;
    left: calc(50% + 120px); }
    .illust_con .illusts_02 .m-illust {
      position: absolute;
      left: 69px;
      top: 95px;
      width: 118px;
      z-index: 10;
      -webkit-animation: 3s fwfw infinite;
      animation: 3s fwfw infinite; }
      .illust_con .illusts_02 .m-illust .hv_txt {
        width: 88px;
        height: 88px;
        right: 60px;
        top: -80px; }
        .illust_con .illusts_02 .m-illust .hv_txt:before {
          -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
          left: 40px; }
  .illust_con .illusts_03 {
    position: absolute;
    top: 1128px;
    width: 216px;
    left: calc(50% - 45px);
    -webkit-animation: 3s fwfw infinite;
    animation: 3s fwfw infinite;
    -webkit-animation-delay: 1s;
            animation-delay: 1s; }
    .illust_con .illusts_03 .hv_txt {
      width: 88px;
      height: 88px;
      right: 94px;
      top: -80px; }
      .illust_con .illusts_03 .hv_txt:before {
        -webkit-transform: scale(-1, 1);
        transform: scale(-1, 1);
        left: 41px; }
  .illust_con .road {
    position: absolute;
    top: 1072px;
    width: 2093px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%); }
  .illust_con .illusts_04 {
    position: absolute;
    bottom: 0;
    width: 558px;
    left: calc(50% + 292px); }
    .illust_con .illusts_04 .m-illust {
      position: absolute;
      left: 160px;
      bottom: 103px;
      width: 195px;
      z-index: 10;
      -webkit-animation: 4.2s fwfw03 infinite;
      animation: 4.2s fwfw03 infinite; }
      .illust_con .illusts_04 .m-illust .hv_txt {
        width: 90px;
        height: 90px;
        right: 130px;
        top: -62px; }
        .illust_con .illusts_04 .m-illust .hv_txt:before {
          -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
          left: 43px; }

@media screen and (max-width: 915px) {
  .illust_con .r_area {
    display: none; } }
@media screen and (max-width: 800px) {
  .illust_con {
    position: relative;
    height: auto;
    padding-top: 514px; }
    .illust_con .illusts_01 {
      position: relative;
      top: auto;
      width: 100%;
      left: auto; }
      .illust_con .illusts_01 .illusts {
        position: relative; }
      .illust_con .illusts_01 .m-illust {
        position: absolute;
        left: calc((154/750)*100%);
        top: -6px;
        width: calc((167/750)*100%);
        z-index: 10; }
        .illust_con .illusts_01 .m-illust .hv_txt {
          width: 60px;
          height: 60px;
          right: -10px;
          top: -49px; }
          .illust_con .illusts_01 .m-illust .hv_txt:before {
            left: 20px; }
      .illust_con .illusts_01 .m-illust02 {
        left: calc((346/750)*100%);
        bottom: calc((104/552)*100%);
        width: calc((154/750)*100%); }
      .illust_con .illusts_01 .ff01 {
        width: calc((150/750)*100%);
        right: calc((125/750)*100%);
        top: calc((376/552)*-100%); }
      .illust_con .illusts_01 .ff02 {
        width: calc((114/750)*100%);
        left: calc((35/750)*100%);
        top: calc((205/552)*-100%); }
      .illust_con .illusts_01 .ff03 {
        width: calc((238/750)*100%);
        right: calc((64/750)*-100%);
        top: calc((220/552)*-100%); } }
/* ==========================================================================
	intro_txt
========================================================================== */
.intro_txt {
  position: relative;
  z-index: 50;
  padding-top: 170px;
  width: 90%;
  max-width: 1110px;
  margin: 0 auto 190px; }
  .intro_txt h2 {
    font-size: 36px;
    font-weight: 700;
    line-height: 1.684;
    margin-bottom: 35px;
    letter-spacing: 0.2em; }
  .intro_txt p {
    font-size: 16px;
    font-weight: 700;
    line-height: 2.25;
    letter-spacing: 0.15em; }

@media screen and (max-width: 800px) {
  .intro_txt {
    position: relative;
    z-index: 50;
    padding-top: 0;
    width: 80%;
    -webkit-transform: translateY(-4.53vw);
            transform: translateY(-4.53vw);
    margin: 0 auto calc(-4.53vw + 20px); }
    .intro_txt h2 {
      font-size: 22px;
      font-size: clamp(22px, 5.8666666667vw, 28.16px);
      line-height: 1.743;
      margin-bottom: 20px;
      letter-spacing: 0.2em; }
    .intro_txt p {
      font-size: 12px;
      font-size: clamp(12px, 3.2vw, 15.36px);
      line-height: 2.18; } }
/* ==========================================================================
	sp_illust_con
========================================================================== */
@media screen and (max-width: 800px) {
  .sp_illust_con {
    position: relative;
    width: 100%;
    z-index: 10; }
    .sp_illust_con .m-illust {
      position: absolute;
      left: calc((154/750)*100%);
      top: calc((127/1255)*100%);
      width: calc((159/750)*100%);
      z-index: 10;
      -webkit-animation: 3s fwfw infinite;
      animation: 3s fwfw infinite; }
      .sp_illust_con .m-illust .hv_txt {
        width: 70px;
        height: 70px;
        right: 42px;
        top: -53px; }
        .sp_illust_con .m-illust .hv_txt:before {
          -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
          left: 29px; }
    .sp_illust_con .m-illust02 {
      position: absolute;
      left: calc((55/750)*100%);
      top: calc((574/1255)*100%);
      width: calc((292/750)*100%);
      z-index: 10;
      -webkit-animation: 3s fwfw infinite;
      animation: 3s fwfw infinite;
      -webkit-animation-delay: 1s;
              animation-delay: 1s; }
      .sp_illust_con .m-illust02 .hv_txt {
        width: 70px;
        height: 70px;
        left: 20px;
        top: -37px; }
        .sp_illust_con .m-illust02 .hv_txt:before {
          -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
          left: 29px; }
    .sp_illust_con .m-illust03 {
      position: absolute;
      right: calc((8/750)*100%);
      bottom: calc((134/1255)*100%);
      width: calc((261/750)*100%); }
      .sp_illust_con .m-illust03 .hv_txt {
        width: 70px;
        height: 70px;
        left: 15px;
        top: -47px; }
        .sp_illust_con .m-illust03 .hv_txt:before {
          -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
          left: 29px; } }
/* ==========================================================================
	service_list
========================================================================== */
.service_list {
  position: relative;
  width: 100%;
  z-index: 50;
  /*
  padding-bottom: 215px;
  */
  padding-bottom: 415px;
  overflow: hidden; }
  .service_list .illust_area {
    display: block;
    position: absolute;
    top: 34px;
    right: calc(50% + 137px);
    width: 666px;
    height: 1690px;
    z-index: 10; }
    .service_list .illust_area .m-illust {
      position: absolute;
      right: 311px;
      top: 392px;
      width: 141px;
      z-index: 10;
      -webkit-animation: 4.2s lrlr infinite;
      animation: 4.2s lrlr infinite; }
      .service_list .illust_area .m-illust .hv_txt {
        width: 80px;
        height: 80px;
        right: 4px;
        top: -87px; }
        .service_list .illust_area .m-illust .hv_txt:before {
          -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
          left: 27px; }
    .service_list .illust_area .m-illust02 {
      position: absolute;
      right: 98px;
      top: 577px;
      width: 109px;
      z-index: 10;
      -webkit-animation: 6s fwfw04 infinite;
      animation: 6s fwfw04 infinite;
      -webkit-animation-delay: 1s;
      animation-delay: 1s; }
    .service_list .illust_area .m-illust03 {
      position: absolute;
      right: 14px;
      top: 635px;
      width: 119px;
      z-index: 10;
      -webkit-animation: 6s fwfw04 infinite;
      animation: 6s fwfw04 infinite; }
    .service_list .illust_area .m-illust04 {
      position: absolute;
      right: 127px;
      top: 721px;
      width: 196px;
      z-index: 10;
      -webkit-animation: 3s swing ease infinite;
      animation: 3s swing ease infinite;
      -webkit-transform-origin: bottom left;
      transform-origin: bottom left; }
    .service_list .illust_area .m-illust05 {
      position: absolute;
      right: 395px;
      top: 958px;
      width: 108px;
      z-index: 10;
      -webkit-animation: 5s fwfw infinite;
      animation: 5s fwfw infinite; }
    .service_list .illust_area .m-illust06 {
      position: absolute;
      right: 200px;
      top: 1383px;
      width: 238px;
      z-index: 10;
      -webkit-animation: 5s fwfw infinite;
      animation: 5s fwfw infinite; }
      .service_list .illust_area .m-illust06 .hv_txt {
        width: 95px;
        height: 95px;
        right: -60px;
        top: -87px; }
        .service_list .illust_area .m-illust06 .hv_txt:before {
          left: 35px; }
    .service_list .illust_area .ff-illust {
      position: absolute;
      -webkit-animation: 4s ff ease-out infinite;
      animation: 4s ff ease-out infinite;
      -webkit-transform: translateY(80px);
      transform: translateY(80px);
      opacity: 0;
      z-index: 10; }
    .service_list .illust_area .ff01 {
      width: 88px;
      right: 27px;
      top: 427px; }
    .service_list .illust_area .ff02 {
      width: 117px;
      right: 13px;
      top: 999px;
      -webkit-animation-delay: .5s;
      animation-delay: .5s; }
    .service_list .illust_area .ff03 {
      width: 170px;
      right: 143px;
      top: 1085px;
      -webkit-animation-delay: 1s;
      animation-delay: 1s; }
  .service_list .box_inr {
    position: relative;
    width: 90%;
    max-width: 1110px;
    margin: 0 auto;
    z-index: 50;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    z-index: 50; }
  .service_list .list_con {
    width: 54.54%;
    min-width: 560px; }
  .service_list h2 {
    font-size: 40px;
    font-weight: 700;
    margin-bottom: 14px; }
  .service_list a {
    position: relative;
    display: block;
    border-radius: 30px; }
    .service_list a .inr {
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      /*
      justify-content: center; 
      */
      width: 100%;
      height: 222px;
      margin-bottom: 14px;
      padding: 0 clamp(20px, 4.28vw, 60px);
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: transform 0.4s cubic-bezier(0.61, 1, 0.88, 1), -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      overflow: hidden;
      z-index: 5;
      border-radius: 50px; }
    .service_list a:before {
      content: "";
      display: block;
      position: absolute;
      width: 100%;
      height: 100%;
      left: 0;
      right: 0;
      top: 0;
      margin: auto;
      z-index: 1;
      background: #fff;
      border-radius: 50px;
      -webkit-transition: background 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: background 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
    .service_list a:after {
      content: "";
      display: block;
      position: absolute;
      width: 100%;
      height: 100%;
      left: 0;
      right: 0;
      top: 14px;
      margin: auto;
      z-index: -1;
      background: #23aabe;
      border-radius: 50px;
      -webkit-transition: top 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: top 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
    .service_list a .text_area {
      position: relative;
      z-index: 10;
      width: 44%;
      min-width: 230px; }
    .service_list a .en {
      display: block;
      font-size: 16px;
      font-weight: 700;
      color: #23aabe;
      margin-bottom: 15px; }
    .service_list a h3 {
      font-size: 22px;
      line-height: 1.41;
      font-weight: 700;
      margin-bottom: 13px;
      color: var(--base-text-color);
      -webkit-transition: color 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: color 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
    .service_list a p {
      font-size: 12px;
      line-height: 1.85;
      font-weight: 700;
      color: var(--base-text-color);
      -webkit-transition: color 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: color 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
    .service_list a .img_area {
      position: absolute;
      width: 209px;
      height: 122px;
      right: 61px;
      top: 0;
      bottom: 0;
      margin: auto;
      z-index: 5; }
    .service_list a.list03 .img_area {
      width: 203px;
      height: 210px;
      right: 52px;
      top: auto; }
    .service_list a.list04 .img_area {
      width: 213px;
      height: 200px;
      right: 41px;
      top: auto; }
    .service_list a.list05 .img_area {
      width: 139px;
      height: 199px;
      right: 84px;
      top: auto; }
    .service_list a.list06 .img_area {
      width: 222px;
      height: 194px;
      right: 54px;
      top: auto; }
    .service_list a.list07 .img_area {
      width: 262px;
      height: 222px;
      right: 0; }
      .service_list a.list07 .img_area img {
        border-radius: 0 50px 50px 0; }
    .service_list a .ar {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      position: absolute;
      top: 25px;
      right: 22px;
      width: 36px;
      height: 36px;
      margin: 0 auto;
      background: #23aabe;
      border-radius: 50%;
      -webkit-transition: background 0.4s cubic-bezier(0.61, 1, 0.88, 1), -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: background 0.4s cubic-bezier(0.61, 1, 0.88, 1), -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: background 0.4s cubic-bezier(0.61, 1, 0.88, 1), transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: background 0.4s cubic-bezier(0.61, 1, 0.88, 1), transform 0.4s cubic-bezier(0.61, 1, 0.88, 1), -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      z-index: 10; }
      .service_list a .ar i {
        width: 13px;
        fill: none;
        stroke: #fff;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 6px; }
  .service_list a:hover {
    -webkit-transform: translateY(3px);
            transform: translateY(3px); }
    .service_list a:hover:before {
      background: #001e5a;
      -webkit-transition: background 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: background 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
    .service_list a:hover:after {
      top: 11px;
      -webkit-transition: top 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: top 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
    .service_list a:hover h3 {
      color: #23aabe;
      -webkit-transition: color 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: color 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
    .service_list a:hover p {
      color: #23aabe;
      -webkit-transition: color 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: color 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
    .service_list a:hover .ar {
      -webkit-transform: scale(1.1);
              transform: scale(1.1); }
      .service_list a:hover .ar i {
        stroke: #001e5a; }

@media screen and (max-width: 800px) {
  .service_list {
    padding-bottom: 0; }
    .service_list .box_inr {
      width: 92%;
      display: block; }
    .service_list .list_con {
      width: 100%;
      min-width: 100px; }
    .service_list h2 {
      font-size: 25px;
      font-size: clamp(25px, 6.6666666667vw, 32px);
      margin-bottom: 20px;
      padding-left: 4.93vw; }
    .service_list a {
      border-radius: 30px; }
      .service_list a .inr {
        display: block;
        height: auto;
        margin-bottom: 15px;
        padding: 30px 8vw 55px;
        border-radius: 30px; }
      .service_list a:before {
        border-radius: 30px; }
      .service_list a:after {
        top: 10px;
        border-radius: 30px; }
      .service_list a .text_area {
        position: relative;
        z-index: 10;
        width: 43vw;
        min-width: auto;
        max-width: calc(100% - 130px); }
      .service_list a .en {
        font-size: 10px;
        font-size: clamp(10px, 2.4vw, 13px);
        margin-bottom: 10px; }
      .service_list a h3 {
        font-size: 16px;
        font-size: clamp(16px, 4.2666666667vw, 20.48px);
        margin-bottom: 8px; }
      .service_list a p {
        font-size: 10px;
        font-size: clamp(10px, 2.4vw, 13px); }
      .service_list a .img_area {
        position: absolute;
        width: 148px;
        height: 86px;
        right: -4px; }
      .service_list a.list03 .img_area {
        width: 130px;
        height: 162px;
        right: 4vw; }
      .service_list a.list04 .img_area {
        width: 133px;
        height: 150px;
        right: 4.53vw; }
      .service_list a.list05 .img_area {
        width: 84px;
        height: 140px;
        right: 10.4vw; }
      .service_list a.list06 .img_area {
        width: 136px;
        height: 142px;
        right: 0;
        top: 0; }
      .service_list a.list07 .img_area {
        width: 145px;
        height: 162px;
        right: 0;
        top: auto; }
        .service_list a.list07 .img_area img {
          border-radius: 0; }
      .service_list a.list03 {
        margin-bottom: 20px; }
      .service_list a .ar {
        top: auto;
        right: auto;
        left: 8vw;
        width: 25px;
        height: 25px;
        bottom: 23px;
        margin: 0; }
        .service_list a .ar i {
          width: 7px;
          stroke-width: 6px; }
    .service_list a:hover:after {
      top: 8px;
      -webkit-transition: top 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: top 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
    .service_list .sp_illust {
      position: relative;
      width: 100vw;
      -webkit-transform: translateX(-4vw);
              transform: translateX(-4vw);
      margin-bottom: 20px; }
      .service_list .sp_illust .m-illust {
        position: absolute;
        left: calc((56/750)*100%);
        bottom: calc((150/481)*100%);
        width: calc((188/750)*100%);
        -webkit-animation: 4.2s lrlr infinite;
        animation: 4.2s lrlr infinite; }
        .service_list .sp_illust .m-illust .hv_txt {
          width: 60px;
          height: 60px;
          right: 2px;
          top: -60px; }
          .service_list .sp_illust .m-illust .hv_txt:before {
            left: 23px; }
    .service_list .bottom_sp_illust {
      position: relative;
      width: 100%;
      margin-bottom: 20px; }
      .service_list .bottom_sp_illust .m-illust {
        position: absolute;
        left: calc((97/750)*100%);
        bottom: calc((140/636)*100%);
        width: calc((316/750)*100%);
        -webkit-animation: 5s fwfw infinite;
        animation: 5s fwfw infinite; }
        .service_list .bottom_sp_illust .m-illust .hv_txt {
          width: 70px;
          height: 70px;
          right: -42px;
          top: -62px; }
          .service_list .bottom_sp_illust .m-illust .hv_txt:before {
            left: 24px; }
      .service_list .bottom_sp_illust .ff-illust {
        position: absolute;
        -webkit-animation: 4s ff ease-out infinite;
        animation: 4s ff ease-out infinite;
        -webkit-transform: translateY(80px);
        transform: translateY(80px);
        opacity: 0;
        z-index: 10; }
      .service_list .bottom_sp_illust .ff01 {
        left: calc((30/750)*100%);
        bottom: calc((323/636)*100%);
        width: calc((156/750)*100%); }
      .service_list .bottom_sp_illust .ff02 {
        right: calc((45/750)*-100%);
        bottom: calc((177/636)*100%);
        width: calc((228/750)*100%);
        -webkit-animation-delay: 1s;
        animation-delay: 1s; } }
/* ==========================================================================
	slide_area
========================================================================== */
.slide_area {
  position: relative;
  margin-bottom: 120px; }
  .slide_area .con_inr {
    width: 90%;
    max-width: 1010px;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
  .slide_area .service_slide {
    position: relative;
    width: 452px; }
    .slide_area .service_slide:before {
      content: "";
      display: block;
      position: absolute;
      left: -85px;
      bottom: -50px;
      width: 132px;
      height: 190px;
      background: url(../image/service/slide_illust.png);
      background-size: cover;
      z-index: -1; }
  .slide_area .text_area {
    padding-top: 65px;
    width: 48.39%;
    max-width: calc(100% - 480px); }
  .slide_area h2 {
    font-size: 30px;
    line-height: 1.5;
    font-weight: 700;
    margin-bottom: 30px;
    letter-spacing: 0.08em; }
  .slide_area p {
    font-size: 16px;
    font-weight: 700;
    line-height: 2.375;
    letter-spacing: 0.08em; }
  .slide_area.v3 .text_area {
    padding-top: 35px; }
  .slide_area.v3 .service_slide img {
    border-radius: 20px; }
  .slide_area.v3 .service_slide:before {
    left: -94px;
    bottom: -33px;
    width: 166px;
    height: 183px;
    background-image: url(../image/service/slide_illust_v3.png);
    z-index: 20; }
  .slide_area.v4 .text_area {
    padding-top: 35px; }
  .slide_area.v4 .service_slide img {
    border-radius: 20px; }
  .slide_area.v4 .service_slide:before {
    left: -105px;
    bottom: -45px;
    width: 226px;
    height: 125px;
    background-image: url(../image/service/slide_illust_v4.png);
    z-index: 20; }
  .slide_area.v5 .text_area {
    padding-top: 35px; }
  .slide_area.v5 .service_slide img {
    border-radius: 20px; }
  .slide_area.v5 .service_slide:before {
    left: -140px;
    bottom: -70px;
    width: 260px;
    height: 255px;
    background-image: url(../image/service/slide_illust_v5.png);
    z-index: 20; }
  .slide_area.v6 .text_area {
    padding-top: 35px; }
  .slide_area.v6 .service_slide img {
    border-radius: 20px; }
  .slide_area.v6 .service_slide:before {
    left: -151px;
    bottom: -45px;
    width: 271px;
    height: 127px;
    background-image: url(../image/service/slide_illust_v6.png);
    z-index: 20; }
  .slide_area.v7 .text_area {
    padding-top: 35px; }
  .slide_area.v7 .service_slide img {
    border-radius: 20px; }
  .slide_area.v7 .service_slide:before {
    left: -99px;
    bottom: -44px;
    width: 183px;
    height: 189px;
    background-image: url(../image/service/slide_illust_v7.png);
    z-index: 20; }

@media screen and (max-width: 1000px) {
  .slide_area .con_inr {
    display: block; }
  .slide_area .service_slide {
    width: 502px;
    padding-left: 50px;
    margin: 0 auto; }
  .slide_area .text_area {
    width: 100%;
    text-align: center;
    max-width: 100%;
    padding-top: 0 !Important;
    margin-bottom: 65px; } }
@media screen and (max-width: 800px) {
  .slide_area {
    margin-bottom: 100px; }
    .slide_area .con_inr {
      width: 90%; }
    .slide_area .service_slide {
      position: relative;
      width: 100%;
      padding-left: 0;
      max-width: 452px; }
      .slide_area .service_slide:before {
        left: -25px;
        bottom: -73px;
        width: 89px;
        height: 128px;
        z-index: 50; }
    .slide_area.v3 .service_slide img {
      border-radius: 10px; }
    .slide_area.v3 .service_slide:before {
      left: -39px;
      bottom: -62px;
      width: 116px;
      height: 128px; }
    .slide_area.v4 .service_slide img {
      border-radius: 10px; }
    .slide_area.v4 .service_slide:before {
      left: -60px;
      bottom: -20px;
      width: 150px;
      height: 83px; }
    .slide_area.v5 .service_slide img {
      border-radius: 10px; }
    .slide_area.v5 .service_slide:before {
      left: -88px;
      bottom: -98px;
      width: 186px;
      height: 182px; }
    .slide_area.v6 .service_slide img {
      border-radius: 10px; }
    .slide_area.v6 .service_slide:before {
      left: -72px;
      bottom: -69px;
      width: 190px;
      height: 89px; }
    .slide_area.v7 .service_slide img {
      border-radius: 10px; }
    .slide_area.v7 .service_slide:before {
      left: -51px;
      bottom: -80px;
      width: 128px;
      height: 132px; }
    .slide_area .text_area {
      max-width: 452px;
      text-align: left;
      margin: 0 auto 40px; }
    .slide_area h2 {
      font-size: 20px;
      font-size: clamp(20px, 5.3333333333vw, 25.6px);
      margin-bottom: 25px; }
    .slide_area p {
      font-size: 12px;
      font-size: clamp(12px, 3.2vw, 15.36px);
      line-height: 2.18; } }
/* ==========================================================================
	contents
========================================================================== */
.contents {
  position: relative;
  background: #91dcd7;
  margin-bottom: 75px; }
  .contents:before {
    content: "";
    display: block;
    width: 100%;
    height: 210px;
    z-index: 1;
    background: #fff;
    position: absolute;
    left: 0;
    top: 0; }
  .contents.v2 {
    margin-top: 160px;
    padding-top: 105px; }
    .contents.v2:before {
      display: none; }
  .contents .links {
    position: relative;
    width: 95%;
    max-width: 1200px;
    min-height: 180px;
    margin: 0 auto 75px;
    margin-bottom: clamp(50px, 5vw, 96px);
    border-radius: 90px;
    background: #23aabe;
    z-index: 10;
    text-align: center;
    padding: 60px 40px 65px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
    .contents .links .illust {
      display: block;
      position: absolute;
      z-index: 10; }
    .contents .links .illust01 {
      width: 123px;
      right: calc(50% + 176px);
      top: -34px; }
    .contents .links .illust02 {
      width: 146px;
      right: 95px;
      top: -55px; }
    .contents .links .illust03 {
      width: 218px;
      left: 41px;
      bottom: 30px; }
    .contents .links .illust04 {
      width: 235px;
      right: 67px;
      bottom: 30px; }
  .contents .links p {
    position: relative;
    display: inline-block;
    padding: 14px 20px 16px;
    border-radius: 30px;
    background: #fff;
    color: var(--base-text-color);
    font-weight: 700;
    font-size: 14px;
    margin-right: 7px;
    margin-bottom: 7px;
    -webkit-transition: background 0.4s cubic-bezier(0.61, 1, 0.88, 1), color 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    transition: background 0.4s cubic-bezier(0.61, 1, 0.88, 1), color 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    /*
    &:hover{
        background:var(--base-text-color);
        color:#23aabe;
    transition:trans(background),trans(color);
    }
    */ }
    .contents .links p span {
      display: inline-block;
      padding-left: 6px;
      font-size: 11px;
      font-weight: 700;
      color: #23aabe; }
    .contents .links p .icon {
      display: block;
      position: absolute;
      right: 20px;
      top: 0;
      bottom: 0;
      margin: auto;
      width: 11px;
      height: 16px;
      fill: none;
      stroke: #23aabe;
      stroke-linecap: round;
      stroke-linejoin: round;
      stroke-width: 6px; }
  .contents ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
    max-width: 1920px;
    margin: 60px auto 160px;
    margin-bottom: clamp(114.2857142857px, 11.4285714286vw, 219.4285714286px); }
    .contents ul li {
      position: relative;
      width: 33.33%;
      padding: 170px clamp(5.5714285714vw, 5.5714285714vw, 106.9714285714px) 28px;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      -webkit-transition: opacity 0.4s cubic-bezier(0.61, 1, 0.88, 1), -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: opacity 0.4s cubic-bezier(0.61, 1, 0.88, 1), -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: transform 0.4s cubic-bezier(0.61, 1, 0.88, 1), opacity 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: transform 0.4s cubic-bezier(0.61, 1, 0.88, 1), opacity 0.4s cubic-bezier(0.61, 1, 0.88, 1), -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
      .contents ul li:before {
        content: "";
        display: block;
        position: absolute;
        left: 0;
        right: 0;
        top: -25px;
        margin: auto;
        width: 73px;
        height: 85px;
        background: url(../image/service/commitment_ar01.png);
        background-size: cover;
        z-index: 10;
        -webkit-transform: translateY(50px);
                transform: translateY(50px);
        opacity: 0; }
      .contents ul li:first-child:before {
        -webkit-transform: translate(5px, 50px);
                transform: translate(5px, 50px); }
      .contents ul li:nth-child(2):before {
        background-image: url(../image/service/commitment_ar02.png); }
      .contents ul li:nth-child(3):before {
        background-image: url(../image/service/commitment_ar03.png); }
      .contents ul li:after {
        content: "";
        display: block;
        position: absolute;
        left: 0;
        top: 0;
        width: 1px;
        height: 100%;
        background: var(--base-text-color); }
      .contents ul li:first-child:after {
        display: none; }
    .contents ul.two {
      width: 66%; }
      .contents ul.two li {
        width: 50%; }
    .contents ul .illust {
      display: block;
      position: absolute;
      left: 0;
      right: 0;
      top: 100px;
      margin: auto;
      z-index: 10;
      width: 42px; }
    .contents ul li:nth-child(2) .illust {
      width: 53px;
      top: 78px; }
    .contents ul li:nth-child(3) .illust {
      width: 114px;
      top: 70px; }
    .contents ul h3 {
      position: relative;
      text-align: center;
      font-size: 20px;
      font-size: clamp(20px, 1.4285714286vw, 25.6px);
      font-weight: 700;
      line-height: 1.6;
      margin-bottom: 17px; }
    .contents ul p {
      position: relative;
      font-size: 14px;
      font-size: clamp(14px, 1vw, 17.92px);
      line-height: 2.016; }
  .contents .move li:before {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 100;
    -webkit-transition: opacity 0.4s cubic-bezier(0.61, 1, 0.88, 1), -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    transition: opacity 0.4s cubic-bezier(0.61, 1, 0.88, 1), -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    transition: transform 0.4s cubic-bezier(0.61, 1, 0.88, 1), opacity 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    transition: transform 0.4s cubic-bezier(0.61, 1, 0.88, 1), opacity 0.4s cubic-bezier(0.61, 1, 0.88, 1), -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
  .contents .move li:first-child:before {
    -webkit-transform: translate(5px, 0px);
            transform: translate(5px, 0px); }
  .contents .move li:nth-child(2):before {
    -webkit-transition-delay: .4s;
            transition-delay: .4s; }
  .contents .move li:nth-child(3):before {
    -webkit-transition-delay: .8s;
            transition-delay: .8s; }
  .contents .w_boxs {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 96%;
    max-width: 1843px;
    margin: 0 auto 165px;
    margin-bottom: clamp(117.8571428571px, 11.7857142857vw, 226.2857142857px); }
    .contents .w_boxs .w_box {
      position: relative;
      width: 49.44%;
      background: #fff;
      padding: 53px clamp(4.6428571429vw, 4.6428571429vw, 89.1428571429px) 40px;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      border-radius: 100px; }
      .contents .w_boxs .w_box .illust {
        display: block;
        position: absolute;
        left: 0;
        right: 0;
        top: -130px;
        margin: auto;
        z-index: 10;
        width: 98px;
        -webkit-transform: translateX(5px);
                transform: translateX(5px); }
      .contents .w_boxs .w_box:nth-child(2) .illust {
        width: 103px;
        -webkit-transform: translateX(-5px);
                transform: translateX(-5px); }
    .contents .w_boxs .b_illust {
      position: absolute;
      width: 131px;
      right: 10.52%;
      bottom: -40px;
      z-index: 10; }
      .contents .w_boxs .b_illust .hv_txt {
        width: 70px;
        height: 70px;
        right: -25px;
        top: -77px; }
        .contents .w_boxs .b_illust .hv_txt:before {
          -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
          left: 22px; }
    .contents .w_boxs h4 {
      position: absolute;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      width: 305px;
      height: 50px;
      background: #001e5a;
      font-size: 16px;
      font-size: clamp(16px, 1.1428571429vw, 20.48px);
      font-weight: 700;
      color: #fff;
      border-radius: 50px;
      left: 0;
      right: 0;
      top: 0;
      margin: auto;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%); }
    .contents .w_boxs .d_txt {
      position: relative;
      display: block;
      padding: 15px 20px 15px 40px;
      font-size: 16px;
      font-size: clamp(16px, 1.1428571429vw, 20.48px);
      line-height: 1.5;
      font-weight: 700;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      border-bottom: 1px dashed var(--base-text-color); }
      .contents .w_boxs .d_txt:before {
        content: "";
        display: block;
        width: 16px;
        height: 16px;
        position: absolute;
        left: 12px;
        top: clamp(20px, 1.428vw, 24px);
        background: url(../image/service/osusume_icon.png);
        background-size: cover; }
    .contents .w_boxs .s_txt {
      display: block;
      text-align: center;
      font-size: 14px;
      font-size: clamp(14px, 1vw, 17.92px);
      font-weight: 700;
      margin-top: 20px; }
    .contents .w_boxs ol {
      position: relative; }
    .contents .w_boxs li {
      position: relative;
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      padding: 15px 15px 15px 30px;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      border-bottom: 1px dashed var(--base-text-color); }
      .contents .w_boxs li p {
        font-size: 16px;
        font-size: clamp(16px, 1.1428571429vw, 20.48px);
        line-height: 1.5;
        font-weight: 700;
        width: calc(100% - 160px); }
        .contents .w_boxs li p:before {
          content: "";
          display: block;
          width: 8px;
          height: 8px;
          position: absolute;
          left: 12px;
          top: clamp(24px, 1.714vw, 28px);
          background: #fac700;
          border-radius: 8px; }
        .contents .w_boxs li p:last-child {
          width: 160px;
          text-align: right; }
      .contents .w_boxs li span {
        font-weight: 700; }

@media screen and (max-width: 1000px) {
  .contents ul li {
    width: 81.6%;
    margin: 0 auto 60px;
    padding-left: 0;
    padding-right: 0;
    border-bottom: 1px solid var(--base-text-color); }
    .contents ul li:before {
      top: 0; }
    .contents ul li:after {
      display: none; }
    .contents ul li:nth-child(2) .illust {
      top: 100px; }
    .contents ul li:nth-child(3) {
      border-bottom: none;
      padding-top: 190px; }
      .contents ul li:nth-child(3) .illust {
        top: 108px; }
  .contents ul.two {
    width: 100%; }
    .contents ul.two li {
      width: 81.6%; } }
@media screen and (max-width: 800px) {
  .contents {
    /*
    margin-bottom: 112px;
    */
    margin-bottom: 0; }
    .contents.v2 {
      margin-top: 120px;
      padding-top: 95px; }
    .contents:before {
      height: 143px; }
    .contents .links {
      width: 90.8%;
      min-height: 240px;
      margin: 0 auto 112px;
      text-align: left;
      border-radius: 40px;
      padding: 65px 5.33vw;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
      .contents .links .illust01 {
        width: 80px;
        right: 4.53vw;
        top: -7px; }
      .contents .links .illust02 {
        width: 97px;
        right: auto;
        top: auto;
        left: 2.93vw;
        bottom: -52px; }
      .contents .links .illust03 {
        width: 146px;
        left: 12.8vw;
        bottom: auto;
        top: 28px; }
      .contents .links .illust04 {
        width: 157px;
        right: 8vw;
        bottom: 33px; }
    .contents .links a {
      position: relative;
      display: inline-block;
      padding: 8px 26px 10px 16px;
      font-size: 12px;
      margin-right: 4px;
      margin-bottom: 5px; }
      .contents .links a span {
        padding-left: 5px;
        font-size: 10px; }
      .contents .links a .icon {
        right: 13px;
        width: 8px;
        /*height: 9px;*/
        height: 14px;
        stroke-width: 6px; }
    .contents ul {
      margin: 0 auto 70px; }
      .contents ul li {
        padding: 163px 0 30px; }
        .contents ul li:before {
          width: 62px;
          height: 71px; }
        .contents ul li:first-child:before {
          -webkit-transform: translate(5px, 50px);
                  transform: translate(5px, 50px); }
        .contents ul li:nth-child(2) {
          padding-top: 164px; }
        .contents ul li:nth-child(3) {
          padding-top: 165px; }
      .contents ul .illust {
        top: 109px; }
      .contents ul li:nth-child(2) .illust {
        top: 87px; }
      .contents ul li:nth-child(3) .illust {
        top: 82px; }
      .contents ul h3 {
        font-size: 15px;
        font-size: clamp(15px, 4vw, 19.2px);
        margin-bottom: 15px; }
      .contents ul p {
        font-size: 12px;
        font-size: clamp(12px, 3.2vw, 15.36px);
        line-height: 1.99; }
    .contents .w_boxs {
      width: 100%;
      margin: 0 auto; }
      .contents .w_boxs .w_box {
        width: 100%;
        padding: 36px 9.73vw 30px;
        border-radius: 0px;
        margin-bottom: 87px; }
        .contents .w_boxs .w_box .illust {
          left: 6.53vw;
          right: auto;
          top: -77px;
          width: 70px;
          -webkit-transform: translateX(0);
                  transform: translateX(0); }
        .contents .w_boxs .w_box:nth-child(2) .illust {
          left: 9.46vw;
          width: 76px;
          top: -75px;
          -webkit-transform: translateX(0);
                  transform: translateX(0); }
      .contents .w_boxs .b_illust {
        width: 92px;
        right: 8.8vw;
        bottom: -52px; }
        .contents .w_boxs .b_illust .hv_txt {
          width: 60px;
          height: 60px;
          right: -17px;
          top: -53px; }
          .contents .w_boxs .b_illust .hv_txt:before {
            left: 17px; }
      .contents .w_boxs h4 {
        width: 180px;
        height: 36px;
        font-size: 11px;
        font-size: clamp(11px, 2.9333333333vw, 14.08px); }
      .contents .w_boxs .d_txt {
        padding: 11px 15px 11px 25px;
        font-size: 12px;
        font-size: clamp(12px, 3.2vw, 15.36px); }
        .contents .w_boxs .d_txt:before {
          width: 13px;
          height: 13px;
          left: 3px;
          top: clamp(10px, 3.2vw, 17px); }
      .contents .w_boxs .s_txt {
        font-size: 11px;
        margin-top: 14px; }
      .contents .w_boxs li {
        padding: 11px 8px 11px 21px; }
        .contents .w_boxs li p {
          font-size: 12px;
          font-size: clamp(12px, 3.2vw, 15.36px);
          width: calc(100% - 120px); }
          .contents .w_boxs li p:before {
            width: 6px;
            height: 6px;
            left: 6px;
            top: clamp(13px, 4vw, 21px); }
          .contents .w_boxs li p:last-child {
            width: 120px; } }
/* ==========================================================================
	d_slide_area
========================================================================== */
.d_slide_area {
  position: relative;
  margin-bottom: 135px; }
  .d_slide_area .ff-illust {
    position: absolute;
    -webkit-animation: 4s ff ease-out infinite;
    animation: 4s ff ease-out infinite;
    -webkit-transform: translateY(80px);
    transform: translateY(80px);
    opacity: 0;
    z-index: 10; }
  .d_slide_area .ff01 {
    width: 102px;
    left: calc(50% - 490px);
    top: -40px; }
  .d_slide_area .ff02 {
    width: 140px;
    left: calc(50% - 390px);
    top: 2px;
    -webkit-animation-delay: .5s;
    animation-delay: .5s; }
  .d_slide_area .illust {
    position: absolute;
    width: 160px;
    left: calc(50% + 230px);
    top: -48px; }
    .d_slide_area .illust .hv_txt {
      width: 90px;
      height: 90px;
      right: -60px;
      top: -40px; }
      .d_slide_area .illust .hv_txt:before {
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1);
        left: 33px; }
  .d_slide_area .works_slider {
    margin-bottom: 35px;
    z-index: 20; }
    .d_slide_area .works_slider .slick-prev {
      left: calc(50% - 553px);
      top: 87px;
      -webkit-transform: translate(0);
      transform: translate(0);
      background-color: var(--base-text-color); }
      .d_slide_area .works_slider .slick-prev:hover {
        -webkit-transform: scale(1.1);
                transform: scale(1.1); }
    .d_slide_area .works_slider .slick-next {
      right: calc(50% - 553px);
      top: 87px;
      -webkit-transform: translate(0);
      transform: translate(0);
      background-color: var(--base-text-color); }
      .d_slide_area .works_slider .slick-next:hover {
        -webkit-transform: scale(1.1);
                transform: scale(1.1); }
    .d_slide_area .works_slider .slick-prev:before, .d_slide_area .works_slider .slick-next:before {
      background-image: url(../image/common/btn_arrow_o.png); }
  .d_slide_area .works_slider a {
    display: block;
    width: 338px;
    text-align: center;
    margin: 0 5px; }
    .d_slide_area .works_slider a .img_area {
      position: relative;
      display: block;
      background: #fff;
      border-radius: 50px;
      height: 228px;
      margin-bottom: 25px;
      -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: transform 0.4s cubic-bezier(0.61, 1, 0.88, 1), -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
      .d_slide_area .works_slider a .img_area img {
        border-radius: 50px; }
      .d_slide_area .works_slider a .img_area:before {
        content: "";
        display: block;
        position: absolute;
        left: 0;
        top: 0;
        right: 0;
        bottom: 0;
        margin: auto;
        z-index: 10;
        width: 100%;
        height: 100%;
        opacity: 0;
        border-radius: 50px;
        background: #ffc300;
        mix-blend-mode: multiply;
        -webkit-transition: opacity 0.4s cubic-bezier(0.61, 1, 0.88, 1);
        transition: opacity 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
      .d_slide_area .works_slider a .img_area:after {
        content: "";
        display: block;
        position: absolute;
        top: 14px;
        right: 0;
        background: var(--base-text-color);
        width: 100%;
        height: 100%;
        z-index: -1;
        border-radius: 50px;
        -webkit-transition: top 0.4s cubic-bezier(0.61, 1, 0.88, 1);
        transition: top 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
    .d_slide_area .works_slider a .b_txt {
      font-size: 16px;
      font-weight: 700;
      color: var(--base-text-color);
      line-height: 1.5;
      margin-bottom: 13px;
      -webkit-transition: color 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: color 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
    .d_slide_area .works_slider a .cate {
      display: inline-block;
      padding: 5px 20px;
      border-radius: 12px;
      background: #fff;
      font-size: 11px;
      font-weight: 700;
      color: var(--base-text-color);
      margin-bottom: 8px;
      -webkit-transition: background 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: background 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
    .d_slide_area .works_slider a .tag {
      font-size: 12px;
      font-weight: 700;
      color: var(--base-text-color);
      display: block;
      -webkit-transition: color 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: color 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
    .d_slide_area .works_slider a:hover .img_area {
      -webkit-transform: translateY(5px);
              transform: translateY(5px);
      -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: transform 0.4s cubic-bezier(0.61, 1, 0.88, 1), -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
    .d_slide_area .works_slider a:hover .img_area:before {
      opacity: 100;
      -webkit-transition: opacity 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: opacity 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
    .d_slide_area .works_slider a:hover .img_area:after {
      top: 9px;
      -webkit-transition: top 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: top 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
    .d_slide_area .works_slider a:hover p, .d_slide_area .works_slider a:hover .tag {
      color: #ffc300;
      -webkit-transition: color 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: color 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
    .d_slide_area .works_slider a:hover .cate {
      background: #ffc300;
      -webkit-transition: background 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: background 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
  .d_slide_area .link {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 380px;
    height: 100px;
    z-index: 10;
    margin: 0 auto; }
    .d_slide_area .link p {
      position: relative;
      z-index: 10;
      font-size: 18px;
      font-weight: 700;
      color: var(--base-text-color);
      padding-right: 12px; }
    .d_slide_area .link:before {
      content: "";
      display: block;
      position: absolute;
      left: 0;
      background: var(--base-link-color);
      border-radius: 50px;
      border-radius: 50px;
      width: 100%;
      height: 100%;
      z-index: 1;
      -webkit-transition: top 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: top 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
    .d_slide_area .link:after {
      content: "";
      display: block;
      position: absolute;
      left: 0;
      top: 15px;
      background: var(--base-text-color);
      border-radius: 50px;
      width: 100%;
      height: 100%;
      z-index: -1;
      -webkit-transition: top 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: top 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
    .d_slide_area .link:hover {
      -webkit-transform: translateY(5px);
              transform: translateY(5px); }
      .d_slide_area .link:hover:after {
        top: 10px;
        -webkit-transition: top 0.4s cubic-bezier(0.61, 1, 0.88, 1);
        transition: top 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
  .d_slide_area .ar {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: absolute;
    right: -60px;
    top: -7px;
    width: 33px;
    height: 33px;
    border-radius: 50%; }
    .d_slide_area .ar i {
      width: 14px;
      fill: none;
      stroke: var(--base-text-color);
      stroke-linecap: round;
      stroke-linejoin: round;
      stroke-width: 6px;
      -webkit-transform: translateY(-3px);
              transform: translateY(-3px); }

@media screen and (max-width: 1100px) {
  .d_slide_area .works_slider .slick-next {
    right: 20px; }

  .d_slide_area .works_slider .slick-prev {
    left: 20px; } }
@media screen and (max-width: 800px) {
  .d_slide_area {
    margin-bottom: 175px; }
    .d_slide_area .ff01 {
      width: 67px;
      left: calc(50% - 231px);
      top: -45px; }
    .d_slide_area .ff02 {
      width: 94px;
      left: calc(50% - 178px);
      top: 21px; }
    .d_slide_area .illust {
      width: 107px;
      left: calc(50% + 55px);
      top: -14px; }
      .d_slide_area .illust .hv_txt {
        width: 70px;
        height: 70px;
        right: -35px;
        top: -30px; }
        .d_slide_area .illust .hv_txt:before {
          left: 22px; }
    .d_slide_area .works_slider {
      margin-bottom: 35px; }
      .d_slide_area .works_slider .slick-prev {
        left: calc(50% - 148px);
        top: 62px; }
        .d_slide_area .works_slider .slick-prev:before {
          width: 11px;
          height: 12px; }
      .d_slide_area .works_slider .slick-next {
        right: calc(50% - 148px);
        top: 62px; }
        .d_slide_area .works_slider .slick-next:before {
          width: 11px;
          height: 12px; }
    .d_slide_area .works_slider a {
      width: 245px;
      margin: 0 5px; }
      .d_slide_area .works_slider a .img_area {
        border-radius: 25px;
        height: 165px;
        margin-bottom: 17px; }
        .d_slide_area .works_slider a .img_area img {
          border-radius: 25px; }
        .d_slide_area .works_slider a .img_area:before {
          border-radius: 25px; }
        .d_slide_area .works_slider a .img_area:after {
          top: 7px;
          border-radius: 25px; }
      .d_slide_area .works_slider a .b_txt {
        font-size: 12px;
        margin-bottom: 5px; }
      .d_slide_area .works_slider a .cate {
        padding: 4px 15px;
        border-radius: 12px;
        font-size: 10px;
        margin-bottom: 5px; }
      .d_slide_area .works_slider a .tag {
        font-size: 10px; }
      .d_slide_area .works_slider a:hover .img_area:after {
        top: 9px;
        -webkit-transition: top 0.4s cubic-bezier(0.61, 1, 0.88, 1);
        transition: top 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
    .d_slide_area .link {
      width: 52%;
      min-width: 195px;
      height: 52px; }
      .d_slide_area .link p {
        font-size: 12px;
        padding-right: 12px; }
      .d_slide_area .link:after {
        top: 8px; }
      .d_slide_area .link:hover {
        -webkit-transform: translateY(3px);
                transform: translateY(3px); }
        .d_slide_area .link:hover:after {
          top: 5px; }
    .d_slide_area .ar {
      right: -20px;
      top: -8px;
      width: 33px;
      height: 33px;
      border-radius: 50%; }
      .d_slide_area .ar i {
        width: 10px; } }
/* ==========================================================================
	recommend
========================================================================== */
.recommend {
  position: relative;
  width: 85%;
  max-width: 1200px;
  margin: 0 auto 130px;
  padding: 90px 50px 85px;
  border-radius: 100px;
  background: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }
  .recommend .con_s_tit {
    color: var(--base-link-color); }
  .recommend .link_list {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
  .recommend .link_list a {
    display: block;
    width: 24.25%;
    margin-right: 1%;
    text-align: center; }
    .recommend .link_list a:nth-child(4) {
      margin-right: 0; }
    .recommend .link_list a .img_area {
      position: relative;
      display: block;
      background: #fff;
      border-radius: 37px;
      height: 11vw;
      max-height: 155px;
      -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: transform 0.4s cubic-bezier(0.61, 1, 0.88, 1), -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      margin-bottom: 25px; }
      .recommend .link_list a .img_area img {
        border-radius: 37px; }
      .recommend .link_list a .img_area:before {
        content: "";
        display: block;
        position: absolute;
        left: 0;
        top: 0;
        right: 0;
        bottom: 0;
        margin: auto;
        z-index: 10;
        width: 100%;
        height: 100%;
        opacity: 0;
        border-radius: 37px;
        background: #ffc300;
        mix-blend-mode: multiply;
        -webkit-transition: opacity 0.4s cubic-bezier(0.61, 1, 0.88, 1);
        transition: opacity 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
      .recommend .link_list a .img_area:after {
        content: "";
        display: block;
        position: absolute;
        top: 10px;
        right: 0;
        background: #001e5a;
        width: 100%;
        height: 100%;
        z-index: -1;
        border-radius: 37px;
        -webkit-transition: top 0.4s cubic-bezier(0.61, 1, 0.88, 1);
        transition: top 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
    .recommend .link_list a .day {
      font-size: 12px;
      font-weight: 600;
      color: #ffc300;
      display: block;
      margin-bottom: 3px; }
    .recommend .link_list a .b_txt {
      font-size: 12px;
      font-weight: 700;
      color: var(--base-text-color);
      line-height: 1.63;
      margin-bottom: 5px;
      -webkit-transition: color 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: color 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
    .recommend .link_list a .cate {
      display: inline-block;
      padding: 5px 15px;
      border-radius: 12px;
      border: 1px solid #ffc300;
      background: #fff;
      font-size: 10px;
      font-weight: 700;
      color: var(--base-text-color);
      margin: 0 auto;
      -webkit-transition: background 0.4s cubic-bezier(0.61, 1, 0.88, 1), color 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: background 0.4s cubic-bezier(0.61, 1, 0.88, 1), color 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
    .recommend .link_list a:hover .img_area {
      -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: transform 0.4s cubic-bezier(0.61, 1, 0.88, 1), -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      -webkit-transform: translateY(3px);
              transform: translateY(3px); }
    .recommend .link_list a:hover .img_area:after {
      -webkit-transition: top 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: top 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      top: 5px; }
    .recommend .link_list a:hover .img_area:before {
      opacity: 100;
      -webkit-transition: opacity 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: opacity 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
    .recommend .link_list a:hover .b_txt {
      color: var(--base-link-color);
      -webkit-transition: color 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: color 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
    .recommend .link_list a:hover .cate {
      background: #ffc300;
      color: #fff;
      -webkit-transition: background 0.4s cubic-bezier(0.61, 1, 0.88, 1), color 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: background 0.4s cubic-bezier(0.61, 1, 0.88, 1), color 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
  .recommend .illust {
    position: absolute;
    left: -39px;
    top: 37px;
    width: 195px; }
    .recommend .illust .hv_txt {
      width: 90px;
      height: 90px;
      right: -42px;
      top: -75px; }
      .recommend .illust .hv_txt:before {
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1);
        left: 33px; }
  .recommend .link {
    display: block;
    padding-right: 45px;
    position: absolute;
    right: 55px;
    top: 60px;
    font-size: 16px;
    font-weight: 700;
    color: var(--base-text-color); }
    .recommend .link .ar {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      position: absolute;
      top: -10px;
      right: 0;
      width: 36px;
      height: 36px;
      margin: 0 auto;
      background: var(--base-link-color);
      border-radius: 50%;
      -webkit-transition: background 0.4s cubic-bezier(0.61, 1, 0.88, 1), -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: background 0.4s cubic-bezier(0.61, 1, 0.88, 1), -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: background 0.4s cubic-bezier(0.61, 1, 0.88, 1), transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: background 0.4s cubic-bezier(0.61, 1, 0.88, 1), transform 0.4s cubic-bezier(0.61, 1, 0.88, 1), -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      z-index: 10; }
      .recommend .link .ar i {
        width: 13px;
        fill: none;
        stroke: var(--base-text-color);
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 6px; }

.d-road {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%; }
  .d-road img {
    display: block;
    position: absolute;
    bottom: -300px;
    width: 2093px;
    left: 55%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%); }

@media screen and (max-width: 1000px) {
  .recommend .link_list a {
    width: 48.5%;
    margin-right: 3%;
    margin-bottom: 30px; }
    .recommend .link_list a:nth-child(2) {
      margin-right: 0; }
    .recommend .link_list a .img_area {
      height: 155px; }
  .recommend .link {
    position: relative;
    right: auto;
    top: auto;
    margin: 40px auto 0;
    width: 180px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; } }
@media screen and (max-width: 800px) {
  .recommend {
    width: 100%;
    margin: 0 auto 120px;
    padding: 65px 4.21vw 19.6vw;
    border-radius: 40px;
    margin-bottom: 32vw; }
    .recommend .link_list a .img_area {
      border-radius: 40px;
      height: 28vw; }
      .recommend .link_list a .img_area img {
        border-radius: 40px; }
      .recommend .link_list a .img_area:before {
        border-radius: 40px; }
      .recommend .link_list a .img_area:after {
        border-radius: 40px; }
    .recommend .link_list a .day {
      font-size: 10px;
      font-size: clamp(10px, 2.6666666667vw, 12.8px);
      margin-bottom: 3px; }
    .recommend .link_list a .b_txt {
      font-size: 10px;
      font-size: clamp(10px, 2.6666666667vw, 12.8px);
      text-align: left; }
    .recommend .link_list a .cate {
      padding: 3px 12px; }
    .recommend .illust {
      position: absolute;
      left: 0;
      right: 0;
      top: -45px;
      width: 130px;
      -webkit-transform: translateX(3px);
              transform: translateX(3px); }
      .recommend .illust .hv_txt {
        width: 70px;
        height: 70px;
        right: -28px;
        top: -50px; }
        .recommend .illust .hv_txt:before {
          left: 22px; }
    .recommend .link {
      padding-right: 30px;
      font-size: 11px;
      width: 120px; }
      .recommend .link .ar {
        top: -7px;
        width: 24px;
        height: 24px; }
        .recommend .link .ar i {
          width: 7px;
          height: 14px; }

  .d-road {
    position: relative;
    width: 100vw;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%); }
    .d-road img {
      bottom: -61vw;
      width: 100%;
      left: 0;
      -webkit-transform: translateX(0);
      transform: translateX(0); } }
/* ==========================================================================
	other
========================================================================== */
.other {
  position: relative;
  width: 89.28%;
  max-width: 1250px;
  margin: 0 auto;
  padding-bottom: 95px;
  z-index: 10; }
  .other .tit_area {
    max-width: 717px;
    width: 51.2%;
    text-align: center;
    margin-bottom: 65px; }
    .other .tit_area .con_tit {
      margin-bottom: 15px; }
    .other .tit_area .con_s_tit {
      margin-bottom: 0; }
  .other .link_list {
    position: relative;
    width: 100%;
    max-width: 950px;
    /*221227追記*/
    margin: 0 auto;
    /*221227追記*/
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    .other .link_list .web .icon,
    .other .link_list .r-web .icon {
      bottom: 20px;
      bottom: clamp(20px, 1.4285vw, 27px); }
    .other .link_list .w_btn {
      position: relative;
      display: block;
      /*
      width: 16%;
      */
      width: 19%;
      text-align: center;
      padding-top: 45px;
      padding-bottom: 145px; }
      .other .link_list .w_btn.bra {
        padding-top: 30px; }
      .other .link_list .w_btn:before {
        content: "";
        display: block;
        position: absolute;
        width: 100%;
        height: 100%;
        left: 0;
        right: 0;
        top: 0;
        margin: auto;
        z-index: 1;
        background: #fff;
        border-radius: 50px;
        -webkit-transition: background .4s ease,-webkit-transform .4s ease;
        transition: background .4s ease,-webkit-transform .4s ease;
        transition: transform .4s ease,background .4s ease;
        transition: transform .4s ease,background .4s ease,-webkit-transform .4s ease; }
      .other .link_list .w_btn:after {
        content: "";
        display: block;
        position: absolute;
        width: 100%;
        height: 100%;
        left: 0;
        right: 0;
        top: 15px;
        margin: auto;
        z-index: -1;
        background: #23aabe;
        border-radius: 50px; }
      .other .link_list .w_btn:hover:before {
        -webkit-transform: translateY(5px);
                transform: translateY(5px);
        background: var(--base-text-color);
        -webkit-transition: background .4s ease,-webkit-transform .4s ease;
        transition: background .4s ease,-webkit-transform .4s ease;
        transition: transform .4s ease,background .4s ease;
        transition: transform .4s ease,background .4s ease,-webkit-transform .4s ease; }
      .other .link_list .w_btn:hover .en {
        -webkit-transform: translateY(5px);
                transform: translateY(5px);
        -webkit-transition: -webkit-transform .4s ease;
        transition: -webkit-transform .4s ease;
        transition: transform .4s ease;
        transition: transform .4s ease, -webkit-transform .4s ease; }
      .other .link_list .w_btn:hover p {
        color: #23aabe;
        -webkit-transform: translateY(5px);
                transform: translateY(5px);
        -webkit-transition: color .4s ease,-webkit-transform .4s ease;
        transition: color .4s ease,-webkit-transform .4s ease;
        transition: transform .4s ease,color .4s ease;
        transition: transform .4s ease,color .4s ease,-webkit-transform .4s ease; }
        .other .link_list .w_btn:hover p:after {
          background-image: url(../image/common/btn_arrow_af02.png);
          -webkit-transition: background .4s ease;
          transition: background .4s ease; }
      .other .link_list .w_btn:hover .img {
        -webkit-transform: translateY(5px);
                transform: translateY(5px);
        -webkit-transition: -webkit-transform .4s ease;
        transition: -webkit-transform .4s ease;
        transition: transform .4s ease;
        transition: transform .4s ease, -webkit-transform .4s ease; }
    .other .link_list .en {
      position: relative;
      display: block;
      font-size: 10px;
      font-weight: 700;
      color: #23aabe;
      line-height: 1.544;
      letter-spacing: 0.02em;
      z-index: 10;
      -webkit-transition: -webkit-transform .4s ease;
      transition: -webkit-transform .4s ease;
      transition: transform .4s ease;
      transition: transform .4s ease, -webkit-transform .4s ease; }
    .other .link_list p {
      position: relative;
      font-size: 16px;
      font-weight: 700;
      line-height: 1.315;
      margin-top: 7px;
      color: var(--base-text-color);
      z-index: 10;
      -webkit-transition: -webkit-transform .4s ease;
      transition: -webkit-transform .4s ease;
      transition: transform .4s ease;
      transition: transform .4s ease, -webkit-transform .4s ease; }
      .other .link_list p:after {
        content: "";
        display: block;
        width: 11px;
        height: 12px;
        position: absolute;
        left: 0;
        right: 0;
        bottom: -27px;
        margin: auto;
        background: url(../image/common/btn_arrow.png);
        background-size: cover;
        -webkit-transition: background .4s ease;
        transition: background .4s ease; }
    .other .link_list .img {
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      width: 100%;
      z-index: 10;
      -webkit-transition: -webkit-transform .4s ease;
      transition: -webkit-transform .4s ease;
      transition: transform .4s ease;
      transition: transform .4s ease, -webkit-transform .4s ease; }
      .other .link_list .img img {
        border-radius: 0 0 50px 50px; }
    .other .link_list .web .img,
    .other .link_list .r-web .img {
      bottom: 20px; }
    .other .link_list .web .img img,
    .other .link_list .r-web .img img {
      border-radius: 0; }

@media screen and (max-width: 1120px) {
  .other .link_list {
    width: 700px;
    margin: 0 auto;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }

  .other .link_list .w_btn {
    width: 33%;
    margin-right: 0.5%;
    padding-bottom: 205px;
    margin-bottom: 15px; }
    .other .link_list .w_btn:nth-child(3) {
      margin-right: 0; } }
@media screen and (max-width: 800px) {
  .other {
    width: 80%;
    padding-bottom: 15px; }
    .other .tit_area {
      width: 100%;
      text-align: center;
      margin-bottom: 25px; }
      .other .tit_area .con_tit {
        margin-bottom: 10px; }
      .other .tit_area .con_s_tit {
        margin-bottom: 0; }
    .other .link_list {
      width: 100%;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; }
      .other .link_list .w_btn {
        width: 48.33%;
        padding-top: 37px;
        padding-bottom: 33.33vw;
        margin-right: 0; }
        .other .link_list .w_btn.bra {
          padding-top: 20px;
          padding-bottom: 29.3vw; }
        .other .link_list .w_btn:before {
          border-radius: 36px; }
        .other .link_list .w_btn:after {
          top: 11px;
          border-radius: 36px; }
      .other .link_list .en {
        font-size: 10px; }
      .other .link_list p {
        font-size: 11px;
        font-size: clamp(11px, 2.9333333333vw, 14.08px);
        margin-top: 7px; }
        .other .link_list p:after {
          width: 8px;
          height: 9px;
          bottom: -18px; }
      .other .link_list .web.img,
      .other .link_list .r-web .img {
        bottom: 20px; } }
/* ==========================================================================
	foot_contact
========================================================================== */
.foot_contact:before {
  background: -webkit-gradient(linear, left bottom, left top, from(#69bed7), color-stop(70%, #92ddd6));
  background: linear-gradient(0deg, #69bed7 0%, #92ddd6 70%);
  height: 120px;
  top: -120px; }

.con_s_tit {
  color: #23aabe; }

@media screen and (max-width: 800px) {
  .foot_contact:before {
    height: 40px;
    top: 0; } }

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