/* ------------------------------- header ------------------------------- */
.header-logo{
  position: sticky;
  top: 0;
  left: 0;
  z-index: 1;
}

/* ------------------------------- 共通CSS ------------------------------- */
img {
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
      object-fit: cover;
}

.wrap {
      width: calc(100% - 20rem);
      max-width: 1080px;
      margin: auto;
}

.pc {
      display: block !important;
}

.sp {
      display: none !important;
}

.tc {
      display: block !important;
}

.tb {
      display: none !important;
}

.sm {
      display: block !important;
}

.txt_green{
      color: #5CBF29;
}
.txt_yellow{
      color: #F5FF6D;
}

.txt_base p{
            letter-spacing: 0.05em;
            line-height: 1.7;

            &:not(:last-child){
                  margin-bottom: 0.8em;
            }
}

.link_hover{
      transition: all 0.3s ease;
}

.link_hover:hover{
      filter: opacity(0.7);
}


@media only screen and (max-width: 428px) {
      .tc, .tb, .pc, .sp {
            display: none !important;
      }
}

@media print, screen and (max-width: 728px) {
      .tc {
            display: none !important;
      }

      .tb {
            display: block !important;
      }
}

@media only screen and (max-width: 641px) {
      .pc {
            display: none !important;
      }

      .sp {
            display: block !important;
      }
}

@media print, screen and (min-width: 769px) {
      .pc-hide {
            display: none !important;
      }
}

@media only screen and (max-width: 641px) {
      .sp-hide {
            display: none !important;
      }
}
/* ------------------------------- zoom__float-btn ------------------------------- */
.zoom__float-btn{
      position: fixed;
      bottom: 20px;
      left: 20px;
      z-index: 1000;
      width: 150px;
}

.zoom__float-btn .float-btn__inner{
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 5px;
      position: relative;
}

.zoom__float-btn .float-btn__message{
      background: url("../img/custom/float-btn_frame.png") no-repeat center center / 100% 100%;
      height: 78px;
      width: 100%;
      white-space: nowrap;
      align-content: center;
}

.zoom__float-btn .float-btn__message p{
      font-size: 18px;
      font-weight: bold;
      color: #2C88F7;
      letter-spacing: 0.05em;
      line-height: 1.2;
      text-align: center;
      margin-top: -9px;
}

.zoom__float-btn .float-btn__message p span{
      font-size: 20px;
}

.zoom__float-btn .float-btn__icon img{
      width: 100%;
      height: auto;
      display: block;
}

.zoom__float-btn .float-btn__txt{
      background-color: #F87280;
      width: calc(134 / 150 * 100%);
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      margin: auto;
      padding: 5px 0;
      border-radius: 20px;
}

.zoom__float-btn .float-btn__txt p{
      font-weight: bold;
      color: #fff;
      font-size: 16px;
      line-height: 1.2;
      text-align: center;
}
.zoom__float-btn .float-btn__inner .close-btn{
      position: absolute;
      top: -35px;
      right: -40px;
      width: 40px;
      height: 40px;
      cursor: pointer;
      z-index: 1000;

      img{
            width: 100%;
            height: 100%;
      }

      &:hover{
            opacity: 0.7;
      }
}
/* ------------------------------- FV ------------------------------- */

.inherit__fv {
      
      background: url("../img/custom/fv-bg.png") no-repeat center;
      background-size: cover;
      height: calc(100vh - 9rem);
      position: relative;
}

.inherit__fv .inherit__fv-content {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: calc(40 / 1080 * 100%);
      max-width: 1080px;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      margin: auto;
}

.inherit__fv .inherit__fv-content .inherit__fv-title h1 {
      font-size: 48px;
      color: #fff;
      font-weight: bold;
      font-family: 'Noto Sans JP', sans-serif;
      line-height: 1.4;
      letter-spacing: 0.05em;
      white-space: nowrap;

      .txt_yellow {
            color: #F5FF6D;

            &:first-child{
                  font-size: 56px;
            }
      }
}


.inherit__fv .inherit__fv-content .inherit__fv-img {
      width: calc(489 / 1080 * 100%);
}

@media only screen and (max-width: 1200px) {
      .inherit__fv .inherit__fv-content{
            justify-content: center;
            padding: 0 20px;
      }
      .inherit__fv .inherit__fv-content .inherit__fv-title h1{
            font-size: 32px;

            .txt_yellow {
                  &:first-child{
                        font-size: 40px;
                  }
            }
      }
}



@media only screen and (max-width: 728px) {
      .inherit__fv {
            height: 100vh;
            max-height: 640px;
      }

      .inherit__fv .inherit__fv-content {
            flex-direction: column;
            gap: 20PX;
            justify-content: flex-start;
            padding: 0 20px;
            margin-top: 10vh;
      }

      .inherit__fv .inherit__fv-content .inherit__fv-title h1 {
            font-size: 32px;
            text-align: center;

            .txt_yellow {
                  &:first-child{
                        font-size: 40px;
                  }
            }
      }

      .inherit__fv .inherit__fv-content .inherit__fv-img {
            width: 100%;
            text-align: center;

            img{
                  max-width: 380px;
            }
      }
}

/* ------------------------------- main-cta ------------------------------- */

.cta__wrap{
      max-width: 1128px;
      padding: 0 24px;
      margin: 0 auto;
}

.cta__wrap .heading{
      display: flex;
      justify-content: space-between;
      align-items: center;
      max-width: 810px;
      margin: 0 auto;
}
.cta__wrap .heading .txt-area{
      width: calc(476 / 810 * 100%);
      padding-bottom: 0.5em;
}
.cta__wrap .heading .txt-area p{
      font-size: 2.8rem;
      font-weight: bold;
      color: #fff;
}

.cta__wrap .heading .img-area{
      width: calc(294 / 810 * 100%);
}

.main-cta{
      display: flex;
      justify-content: space-between;
      align-items: center;
}

.main-cta .g-review__area{
      width: calc(500 / 1080 * 100%);
      background: url("../img/custom/review-bg.png") no-repeat center center;
      border-radius: 10px 0 0 10px;
      font-family: "Zen Old Mincho", serif;
      font-weight: 900;
      color: #fff;
      display: flex;
      flex-direction: column;
      gap: 0.3rem;
      align-items: center;
      justify-content: center;
      height: 198px;
      position: relative;

      &::before{
            content: '';
            background: url("../img/custom/green_deco-left.png") no-repeat center center / contain;
            width: 50px;
            height: 90%;
            position: absolute;
            left: 20px;
            top: 0;
            bottom: 0;
            margin: auto;
      }

      &::after{
            content: '';
            background: url("../img/custom/green_deco-right.png") no-repeat center center / contain;
            width: 50px;
            height: 90%;
            position: absolute;
            right: 20px;
            top: 0;
            bottom: 0;
            margin: auto;
      }

      .place{
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 8px;
            font-size: 24px;
            letter-spacing: 0.2em;
            
            .crown-icon img{
                  width: 39px;
                  height: 22px;
                  display: block;
            }
            
      }

      .title{
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 13px;
            font-size: 24px;
            margin: 5px 0 10px;
            position: relative;
            width: calc(350 / 500 * 100%);

            p:first-child{
                  font-size: 34px;
                  letter-spacing: 0.1em;
                  line-height: 1.2;
                  white-space: nowrap;
            }


            
      }

      .stars-icon{
            img{
                  width: 143px;
                  height: 22px;
                  display: block;
            }
            
      }
}

.main-cta .mail-cta__area{
      width: calc(580 / 1080 * 100%);
      background: #fff;
      border-radius: 0 10px 10px 0;
      height: 198px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      gap: 20px;
      font-weight: bold;

      p:first-child{
            font-size: 18px;
            letter-spacing: 0.08em;
      }

      a{
            width: 100%;
            display: block;
            background-color: #F87280;
            color: #F8FF93;
            text-align: center;
            height: 90px;
            width: calc(500 / 580 * 100%);
            align-content: center;
            border-radius: 5px;
            box-shadow: 0 -5px 0 #E35967 inset;

            p{
                  line-height: 1.3;
                  &:first-child{
                        font-size: 24px;
                  }
            }
      }
}

.cta__wrap .note{
      font-size: 14px;
      margin-top: 8px;
}

.cta__wrap .sub-cta{
      text-align: center;
      font-weight: bold;
      margin-top: 2rem;

}

.sub-cta .sub-cta_title{
      font-size: 20px;
      letter-spacing: 0.1em;

      .sp_only{
            display: none;
      }
}

.sub-cta .office-info{
      font-size: 16px;

}

.sub-cta .btn_wrap{
      max-width: 816px;
      margin: 0 auto;
      display: flex;
      gap: 16px;
      margin-top: 20px;

      a{
            border-radius: 5px;
            height: 100px;
            width: calc((100% - 16px) / 2);
            align-content: center;
      }
}

.sub-cta .btn_wrap .tel-btn{
      border: 2px solid #697075;
      letter-spacing: 0.1em;
      font-size: 16px;
      
      .tel-number{
            font-size: 26px;
            padding-left: 28px;
            position: relative;
            display: inline-block;

            &::before{
                  content: '';
                  background: url("../img/custom/icon_phone.png") no-repeat center center / contain;
                  position: absolute;
                  left: 0;
                  top: 0;
                  bottom: 0;
                  margin: auto;
                  width: 22px;
                  height: 22px;
            }
      }
}

.sub-cta .btn_wrap .line-btn{
      background-color: #06C755;
      box-shadow: 0 -5px 0 #049540 inset;
      color: #fff;
      position: relative;

      &::before{
            content: '';
            background: url("../img/custom/speach_bubble.png") no-repeat center center / contain;
            width: calc(80 / 400 * 100%);
            height: calc(68 / 100 * 100%);
            position: absolute;
            left: 24px;
            top: 0;
            bottom: 0;
            margin: auto;
      }

      p{
            position: relative;
            z-index: 2;
            font-size: 20px;
      }

      span{
            font-size: 32px;
            color: #F5FF6D;
            letter-spacing: 0.15em;
      }
}

@media only screen and (max-width: 1200px) {
      .main-cta .g-review__area .title{
            p:first-child{
                  font-size: 24px;
                  
            }
      }
      .main-cta .g-review__area .title .place{
            font-size: 20px;
      }
}

@media only screen and (max-width: 728px) {

      .cta__wrap{
            max-width: 468px;
            margin: 0 auto;
      }
      .cta__wrap .heading{
            flex-direction: column;
            gap: 14px; 
      }
      .cta__wrap .heading .txt-area{
            width: 100%;
            padding: 0;
      }
      .cta__wrap .heading .txt-area p{
            font-size: 22px;
            text-align: center;
            line-height: 1.7;
      }
      .cta__wrap .heading .img-area{
            width: calc(294 / 420 * 100%);
      }
      .cta__wrap .heading .img-area img{
            margin-left: auto;

      }
      .main-cta{
            flex-direction: column;
      }
      .main-cta .g-review__area{
            width: 100%;
            border-radius: 10px 10px 0 0;
      }
      .main-cta .mail-cta__area{
            width: 100%;
            border-radius: 0 0 10px 10px;
            gap: 10px;
      }
      .main-cta .mail-cta__area p:first-child{
            font-size: 16px;
      }
      .main-cta .mail-cta__area a p:first-child{
            font-size: 18px;
      }
      .main-cta .mail-cta__area a p:last-child{
            font-size: 14px;
      }

      .cta__wrap .sub-cta{
            margin-top: 5rem;
      }

      .sub-cta .btn_wrap{
            flex-direction: column;
      }

      .sub-cta .btn_wrap a{
            width: 100%;
      }

      .sub-cta .sub-cta_title{
            margin-bottom: 0.5em;
            line-height: 1.3;
      }
      .sub-cta .sub-cta_title .sp_only{
            display: block;
      }
      .sub-cta .btn_wrap .tel-btn .tel-number{
            font-size: 22px;
      }

}

@media only screen and (max-width: 428px) {
      .cta__wrap .heading .txt-area p{
            font-size: 18px;
      }
}



/* ------------------------------- inherit__introduction ------------------------------- */
.inherit__introduction{
      position: relative;
      padding-bottom: 80px;

      &::before{
            content: '';
            background: url('../img/custom/introduction-bg.png') no-repeat center bottom / cover;
            width: 100%;
            height: calc(603 / 873 * 100%);
            top: 12rem;
            left: 0;
            position: absolute;
            z-index: 1;
      }
}

.inherit__introduction .cta__wrap,
.inherit__introduction .result__block{
      position: relative;
      z-index: 2;
}

.inherit__introduction .cta__wrap{
      margin-top: -12rem;
}

.inherit__introduction .result__block{
      max-width: 1128px;
      padding: 0 24px;
      margin: 0 auto;
      margin-top: 50px;
}

.inherit__introduction .result__block .result__block-content{
      position: relative;

      &::before{
            content: '';
            background-color: #fff;
            width: 100%;
            height: calc(380 / 432 * 100%);
            position: absolute;
            bottom: 0;
            left: 0;
            position: absolute;
            z-index: -1;
      }
}

.inherit__introduction .result__block .result__block-content .result__block-inner{
      max-width: 960px;
      margin: 0 auto;
      padding: 30px 24px 60px;
      display: flex;
      justify-content: space-between;
      align-items: flex-end;

      .img-area{
            width: calc(427 / 960 * 100%);
      }

      .txt-area{
            width: calc(480 / 960 * 100%);
            
      }
}

.result__block .result__block-content .txt-area{
      .result__block-title{
            text-align: center;
            font-size: clamp(20px, calc(32 / 1280 * 100vw), 32px);
            font-weight: bold;
            letter-spacing: 0.1em;
            margin-bottom: 16px;
            

            .inner{
                  position: relative;
                  display: inline-block;
                  padding: 0 20px;

                  &::before{
                        content: '';
                        background: #263238;
                        width: 3px;
                        height: 100%;
                        position: absolute;
                        left: 0;
                        bottom: 0;
                        transform: rotate(-20deg);
                        border-radius: 10px;
                  }

                  &::after{
                        content: '';
                        background: #263238;
                        width: 3px;
                        height: 100%;
                        position: absolute;
                        right: 0;
                        bottom: 0;
                        transform: rotate(20deg);
                        border-radius: 10px;
                  }
            }

      }

      .txt_base{
            font-size: 16px;
      }

      .txt_green{
            font-weight: bold;
      }
}

.result__block .note{
      font-size: 13px;
      margin-top: 1em;
      line-height: 1.3;
}

@media only screen and (max-width: 728px) {
      .inherit__introduction{
            &::before{
                  top: 20rem;
            }
      }
      .inherit__introduction .cta__wrap{
            margin-top: -20rem;
      }
      .inherit__introduction .result__block .result__block-content {
            &::before{
                  height: 100%;
            }
      }
      .inherit__introduction .result__block .result__block-content .result__block-inner{
            flex-direction: column-reverse;
            align-items: center;
            gap: 1rem;
            padding: 40px 24px 40px;
      }

      .inherit__introduction .result__block .result__block-content .result__block-inner .img-area{
            width: 100%;
            max-width: 427px;
      }

      .inherit__introduction .result__block .result__block-content .result__block-inner .txt-area{
            width: 100%;
      }
}

/* ------------------------------- inherit__review ------------------------------- */

.inherit__review{
      background: #70C03F;
      padding: 80px 0;
      position: relative;
      overflow: hidden;

      &::before{
            content: '';
            background-color: #F7F5F4;
            width: 100%;
            height: 20%;
            position: absolute;
            bottom: 0;
            left: 0;
      }
}

.inherit__review h2{
      color: #fff;
      font-size: 28px;
      font-weight: bold;
      text-align: center;
      letter-spacing: 0.1em;
      margin-bottom: 30px;


      span{
            position: relative;
            display: inline-block;

            &::before{
                  content: '';
                  background: #fff;
                  width: 3px;
                  height: 85%;
                  position: absolute;
                  left: -20px;
                  top: 0;
                  bottom: 0;
                  margin: auto;
                  transform: rotate(-30deg);
                  border-radius: 10px;
            }

            &::after{
                  content: '';
                  background: #fff;
                  width: 3px;
                  height: 85%;
                  position: absolute;
                  right: -20px;
                  top: 0;
                  bottom: 0;
                  margin: auto;
                  transform: rotate(30deg);
                  border-radius: 10px;
            }
      }

}

.inherit__review .review__wrap{
      max-width: 1280px;
      margin: 0 auto;
      
}

.inherit__review .review__wrap .slick-list{
      overflow: hidden;
}

.inherit__review .review__wrap .slick-slide{
      height: auto;
      margin: 0 8px;
}

.inherit__review .review__wrap .slick-slide > div{
      height: 100%;
}

.inherit__review .review__wrap .slick-dots{
      display: flex !important;
      justify-content: center;
      gap: 16px;
      margin-top: 20px;
      padding: 0;
      list-style: none;
}

.inherit__review .review__wrap .slick-dots li{
      margin: 0;
      padding: 0;
      width: auto;
      height: auto;
}

.inherit__review .review__wrap .slick-dots li button{
      font-size: 0;
      line-height: 0;
      width: 10px;
      height: 10px;
      padding: 0;
      border-radius: 50%;
      background: #D9D9D9;
      border: none;
      cursor: pointer;
}

.inherit__review .review__wrap .slick-dots li button::before{
      display: none;
}

.inherit__review .review__wrap .slick-dots li.slick-active button{
      background: #70C03F;
}



.inherit__review .review__wrap .review__item{
      background-color: #fff;
      padding: 32px 32px 40px;
      border: 3px solid #EEEDED;
      border-radius: 10px;
      aspect-ratio: 1 / 1;

      .user-info{
            display: flex;
            gap: 10px;

            .user-icon{
                  width: 50px;
                  height: 50px;
            }

            .user-name{
                  font-weight: bold;

                  p:first-child{
                        font-size: 16px;
                  }

                  .num{
                        font-size: 14px;
                        color: #888686;
                  }
            }
      }

      .user-rating{
            width: calc(203 / 400 * 100%);
            margin-bottom: 24px;
      }

      .review-content{
            height: calc(218 / 400 * 100%);
            max-height: 218px;
            overflow-y: auto;
            font-size: 16px;
            line-height: 1.5;

      }

}

@media only screen and (max-width: 728px) {
      .inherit__review h2{
            font-size: 24px;
      }
      .inherit__review .review__wrap .review__item{
            padding: 20px 20px 28px;
      }
      
}

/* ------------------------------- inherit__sns ------------------------------- */

.inherit__sns{
      padding: 8rem 0;
}

.inherit__sns .content__wrap{
      max-width: 1280px;
      margin: 0 auto;
      padding: 0 24px;
      position: relative;
}

.inherit__sns .heading__wrap{
      display: flex;
      justify-content: space-between;
      transform: translate(0, 1.5rem);
      align-items: center;
}

.inherit__sns .ttl__wrap{
      transform: translateY(-3rem);
      width: calc(767 / 1080 * 100%);
}

.inherit__sns .illust__wrap{
      width: calc(331 / 1080 * 100%);
      min-width: 331px;
      display: flex;
}

.inherit__sns .illust__wrap .txt-area{
      width: calc(144 / 331 * 100%);
      background: url(../img/custom/fukidashi-image.png) no-repeat center top / contain;
      transform: translate(1rem ,-7rem);
}

.inherit__sns .illust__wrap .img-area{
      width: calc(193 / 331 * 100%);
}

.inherit__sns .ttl__wrap h2{
      font-size: 24px;
      color: #F87280;
      font-weight: bold;
      letter-spacing: 0.1em;
      margin-bottom: 10px;

}
.inherit__sns .ttl__wrap p{
      font-size: 16px;
      line-height: 1.5;
}

.inherit__sns .inherit__sns-content{
      background: url(../img/custom/snsbtn_bg@2x.png) no-repeat center center / cover;
      padding: 100px 24px;

}

.inherit__sns .inherit__sns-btn{
      max-width: 880px;
      margin: 0 auto;
      display: flex;
      justify-content: space-between;
}

.inherit__sns .inherit__sns-btn a{
      width: calc(400 / 880 * 100%);
      border-radius: 5px;
      background-color: #fff;
      padding: 30px 20px;
}

.inherit__sns .inherit__sns-btn a .inner{
      display: flex;
      align-items: center;
      gap: 30px;
}

.inherit__sns .inherit__sns-btn a .inner img{
      width: 60px;

}

.inherit__sns .inherit__sns-btn a .inner p{
      font-size: 22px;
      font-weight: bold;
      letter-spacing: 0.1em;
}

.inherit__sns .inherit__sns-btn .tiktok-btn p{
      color: #000;

}

.inherit__sns .inherit__sns-btn .instagram-btn p{
      color: #EA3368;
}

@media only screen and (max-width: 728px) {
      .inherit__sns{
            padding-top: 20px;
            padding-bottom: 100px;
      }
      .inherit__sns .heading__wrap{
            flex-direction: column;
            gap: 10rem;
            align-items: flex-start;
            transform: translateY(0);
            margin-bottom: 30px;
      }

      .inherit__sns .ttl__wrap{
            width: 100%;
            transform: translateY(0);
      }

      .inherit__sns .ttl__wrap h2{
            text-align: center;
            margin-bottom: 15px;
      }

      .inherit__sns .illust__wrap{
            display: none;
      }
      .inherit__sns  h2{
            font-size: 20px;
            line-height: 1.3;
      }
      .inherit__sns .illust__wrap p{
            font-size: 14px;
      }
      .inherit__sns .inherit__sns-content{
            padding: 40px 24px;
      }
      .inherit__sns .inherit__sns-btn{
            flex-direction: column;
            gap: 20px;
      }
      .inherit__sns .inherit__sns-btn a{
            width: 100%;
            padding: 20px 0;
      }
      .inherit__sns .inherit__sns-btn a .inner{
            gap: 20px;
            justify-content: center;
      }
      .inherit__sns .inherit__sns-btn a .inner img{
            width: 40px;
            height: 40px;
      }
      .inherit__sns .inherit__sns-btn a .inner p{
            font-size: 20px;
            letter-spacing: 0.05em;
      }

}


/* ------------------------------- inherit__solution ------------------------------- */

main .inherit__solution {
      background-color: #fff;
      background-size: 100% 100%;
      margin-top: 8.8rem;
      /* overflow: hidden; */
      position: relative;
}

main .inherit__solution::before{
      content: '';
      content: '';
      background: url(../img/custom/circle-bg_bottom.png) no-repeat center center / 100% 100%;
      width: 100%;
      height: 8.8rem;
      position: absolute;
      top: -8.8rem;
      left: 0;
      right: 0; 
      margin: auto;
}
main .inherit__solution::after{
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 56.84%;
      background: url(../img/custom/about-service_mainpart-bottom.png) no-repeat center center / cover;
      
}

main .inherit__solution .main-part{
      position: relative;
      z-index: 1;
}

@media only screen and (max-width: 641px) {
      main .inherit__solution {
            background-size: cover;
            margin-top: 0rem;
      }
      main .inherit__solution::before{
            height: 5rem;
            top: -5rem;
      }
}

@media only screen and (max-width: 428px) {
      main .inherit__solution {
            margin-top: 0rem;
      }
}

main .inherit__solution .main-partimg {
      top: 0;

}

main .inherit__solution .main-part .heading {
      display: flex;
      justify-content: center;
      margin-bottom: 4rem;
}

main .inherit__solution .main-part .heading img {
      width: 15rem;
      height: 13rem;
}

@media only screen and (max-width: 641px) {
      main .inherit__solution .main-part .heading img {
            display: none;
      }
}

main .inherit__solution .main-part .heading .bigger {
      width: 16rem !important;
}

main .inherit__solution .main-part .heading .txt {
      margin: 0 2.6rem 0 1.7rem;
      display: flex;
      flex-direction: column;
      align-items: center;
      font-size: 3.2rem;
      font-weight: bold;
      letter-spacing: 0.1em;
}

main .inherit__solution .main-part .heading .txt .heading-text {
      display: flex;
      align-items: flex-end;
}

main .inherit__solution .main-part .heading .txt .heading-text .green2 {
      display: flex;
      flex-direction: column;
      align-items: center;
}

main .inherit__solution .main-part .heading .txt .heading-text .green2 .sm {
      font-size: 1.2rem;
      color: #70C03F;
      letter-spacing: 0.3em;
}

main .inherit__solution .main-part .heading .txt .heading-text .green2 .big {
      font-size: 4rem;
      color: #70C03F;
}

@media only screen and (max-width: 428px) {
      main .inherit__solution .main-part .heading .txt {
            margin: 0;
            font-size: 22px;
      }
      main .inherit__solution .main-part .heading .txt .heading-text .green2 .big{
            font-size: 32px;
      }
}

main .inherit__solution .main-part .heading .txt .heading-text .bot {
      line-height: 5rem;
}

main .inherit__solution .main-part .items-list {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 2.1rem;
      margin-top: 3rem;
      font-size: 1.55rem;
      margin: 0 auto;
      margin-bottom: 4rem;
      max-width: 1128px;
      padding: 0 24px;
}

@media print, screen and (max-width: 728px) {
      main .inherit__solution .main-part .items-list {
            grid-template-columns: repeat(1, 1fr);
			font-size: 2rem;
      }
}
@media only screen and (max-width: 375px) {
      main .inherit__solution .main-part .items-list {
            font-size:1.8rem !important;
      }
}
@media only screen and (max-width: 641px) {
      main .inherit__solution .main-part .items-list {
            display: flex;
            flex-direction: column;
            justify-content: center;
      }
}

main .inherit__solution .main-part .items-list .item {
      width: 34.6rem;
      border-radius: 0.6rem;
      overflow: hidden;
      border: 3px solid #70C03F;
}
@media only screen and (max-width: 728px) {
      main .inherit__solution .main-part .items-list .item {
            height: auto;
            width: 100%;
            max-width: 500px;
            margin: auto;
      }
}

main .inherit__solution .main-part .items-list .item-head {
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      height: 7rem;
      text-align: center;
      background: #70C03F;
      color: #fff;
	line-height:1.5;
}

main .inherit__solution .main-part .items-list .item-head .icon_check {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      left: 1.5rem;
      width: 3rem;
      height: 3rem;
      border-radius: 50%;
      border: 2px solid #263238;
}

main .inherit__solution .main-part .items-list .item-head .icon_check::after {
      content: "";
      width: 2rem;
      height: 2rem;
      display: block;
      position: absolute;
      top: 50%;
      left: 50%;
      background-size: 100%;
      background: url("../img/custom/check.svg") no-repeat center center;
      transform: translate(-50%, -50%);
}

main .inherit__solution .main-part .items-list .item-body {
      font-family: "Hiragino Kaku Gothic ProN W3";
      background-color: #F7FFF2;
      height: 100%;
      padding: 1.5rem;
}

main .inherit__solution .main-part .items-list .item-body:nth-child(even) {
      background-color: #F1FFF5;
}

main .inherit__solution .main-part .items-list .item-body span {
      color: #70C03F;
      font-weight: bold;
}

main .inherit__solution .main-part .items-list .item:nth-child(even) {
      border-color: #1EBD41;
}

main .inherit__solution .main-part .items-list .item:nth-child(even) .item-head {
      background: #1EBD41;
}

main .inherit__solution .main-part .items-list .item:nth-child(even) .item-body span {
      color: #1EBD41;
}

main .inherit__solution .main-part .items-list .item:last-child .item-head {
      height: 4.5rem;
}

.inherit__solution .bottom-content{
      position: relative;
      max-width: 1045px;
      margin: auto;

}

.inherit__solution .bottom-content .staff-massage{
      position: absolute;
      top: -1rem;
      left: calc(50% + 4rem);
      width: calc(261 / 1045 * 100%);
}

.inherit__solution .bottom-content .boss-image{

      &.pc-only{
            width: calc(206 / 1045 * 100%);
            transform: translate(8px, 11px);
      }

      &.sp-only{
            display: none;

      }
}

.inherit__solution .bottom-content .member-iamges_wrap{
      display: flex;
      justify-content: space-between;
      align-items: end;
}

.inherit__solution .bottom-content .member-iamges_wrap .staff-image_wrap{
      display: flex;
      align-items: end;
      justify-content: space-between;
}

.inherit__solution .staff-image_wrap01 {
      width: calc(430 / 1045 * 100%);
      gap: 0.2rem;
}

.inherit__solution .staff-image_wrap02 {
      width: calc(429 / 1045 * 100%);

}

.inherit__solution .staff-image_wrap02 .staff-image_08{
      transform: translateX(0.5rem);

}

/* スタッフスライダー（SP用） */
.staff-slider{
      display: none;
}

@media only screen and (max-width: 728px) {
      .inherit__solution .bottom-content{
            margin-top: 40px;
      }
      .inherit__solution .bottom-content .boss-image{
            &.pc-only{
                  display: none;
            }
            &.sp-only{
                  display: block;
                  max-width: 270px;
                  margin: 0 auto;
            }
      }
      .inherit__solution .bottom-content .staff-massage{
            width: calc(200 / 400 * 100%);
            left: 50%;
            transform: translateX(-50%);
            top: 0;
            margin-bottom: 2rem;
            position: relative;
      }
      .inherit__solution .bottom-content .member-iamges_wrap{
            overflow: hidden;
      }
      .inherit__solution .bottom-content .member-iamges_wrap .staff-image_wrap01,
      .inherit__solution .bottom-content .member-iamges_wrap .staff-image_wrap02{
            display: none;
      }
      
      .staff-slider{
            display: block;
            width: 100%;
            overflow: hidden;
      }
      
      .staff-slider__track{
            display: flex;
            align-items: flex-end;
            width: calc(100px * 20);
            animation: staff-slider-scroll 20s linear infinite;
            margin-top: 4rem;
      }
      
      .staff-slider__track .staff-image_item{
            flex-shrink: 0;
            width: 100px;
            height: 130px;
            display: flex;
            align-items: flex-end;
            margin: 0 -5px;
      }
      
      .staff-slider__track .staff-image_item img{
            width: 100%;
            height: auto;
            max-height: 100%;
            display: block;
            object-fit: contain;
            object-position: bottom;
      }
      
      @keyframes staff-slider-scroll {
            0% {
                  transform: translateX(0);
            }
            100% {
                  transform: translateX(-50%);
            }
      }
}

/* ------------------------------- inherit__about-service ------------------------------- */


main .inherit__about-service {
      padding: 6.8rem 24px 34.5rem;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      background-image: linear-gradient(to bottom, #1EBD41 0%, #1EBD41 79.04%, #109E56 100%);
      background-size: 100% 100%;
      position: relative;
      z-index: 1;
}

main .inherit__about-service::before{
      content: '';
      background: url("../img/custom/about-service_bottom.png") no-repeat center bottom / cover;
      filter: opacity(0.2);
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 20.96%;
      z-index: -1;
}

main .inherit__about-service .title {
      display: flex;
      justify-content: center;
      font-weight: bold;
}

@media only screen and (max-width: 728px) {
      main .inherit__about-service .title {
            flex-direction: column;
            align-items: center;
      }
}

main .inherit__about-service .title .cal {
      width: 20.2rem;
      height: 15.2rem;
      left: 10rem;
}

main .inherit__about-service .title .comment {
      margin-bottom: 3rem;
}

@media only screen and (max-width: 728px) {
      main .inherit__about-service .title .comment {
            display: flex;
            flex-direction: column;
            align-items: center;
      }
}

main .inherit__about-service .title .comment .union {
      margin-left: 16.2rem;
      font-size: 2rem;
      width: 41rem;
      height: 6.8rem;
      position: relative;
      background: url("../img/custom/Union.png") no-repeat center center;
      background-size: 100%;
}

@media only screen and (max-width: 728px) {
      main .inherit__about-service .title .comment .union {
            margin-left: 0;
            width: 36rem;
            height: 6.8rem;
      }
}

main .inherit__about-service .title .comment .union p {
      color: #1EBD41;
      position: absolute;
      transform: translateY(23%);
      left: 5.5rem;
}

@media only screen and (max-width: 728px) {
      main .inherit__about-service .title .comment .union p {
            transform: translateY(33.1%);
            left: 3rem;
      }
}

main .inherit__about-service .title .comment .tx {
      color: #FFFFFF;
      font-size: 4rem;
}

@media only screen and (max-width: 728px) {
      main .inherit__about-service .title .comment .tx {
            font-size: 3.6rem;
      }
}

@media only screen and (max-width: 428px) {
      main .inherit__about-service .title .comment .tx {
            text-align: center;
            line-height: 4.5rem;
      }
}

main .inherit__about-service .title .comment .tx span {
      font-size: 3.2rem;
      color: #263238;
}

main .inherit__about-service .main-part {
      max-width: 1220px;
      padding: 10rem 15rem;
      background-color: #fff;
      position: relative;
      z-index: 1;
      border-radius: 30px;
      font-weight: bold;
}
main .inherit__about-service .main-part::before{
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 40.91%;
      background: url("../img/custom/about-service_mainpart-bg.png") no-repeat center center / cover;
      z-index: -1;
      border-radius: 30px 30px 0 0;
}

main .inherit__about-service .main-part::after{
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 21.23%;
      background: url("../img/custom/about-service_mainpart-bottom.png") no-repeat center center / cover;
      z-index: -1;
}



@media print, screen and (max-width: 728px) {
      main .inherit__about-service .main-part {
            padding: 5rem 20px;
      }
}

main .inherit__about-service .main-part .part1 {
      justify-content: center;
      align-items: center;
}

main .inherit__about-service .main-part .part1 .exp {
      color: #263238;
      text-align: center;
      font-family: "Hiragino Kaku Gothic ProN W3";
      font-size: 16px;

}

main .inherit__about-service .main-part .part1 .exp span {
      color: #5CBF29;
}

main .inherit__about-service .main-part .img-container {
      margin: auto;
      margin-top: 5rem;
      width: 54rem;
      align-items: center;
      display: flex;
      flex-wrap: wrap;
      gap: 0.8rem
}

@media only screen and (max-width: 428px) {
      main .inherit__about-service .main-part .img-container {
            flex-direction: column;
            width: auto;
            gap: 0.9rem;
      }
}

main .inherit__about-service .main-part .img-container img {
      width: 26.5rem;
      height: 24.6rem;
}

main .inherit__about-service .main-part .part2 {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
}

main .inherit__about-service .main-part .part2 .exp {
      color: #263238;
      margin-top: 7rem;
      text-align: center;
      position: relative;
      font-size: 2.4rem;
      line-height: 2;
      letter-spacing: 0.02em;
}

main .inherit__about-service .main-part .part2 .exp span {
      color: #5CBF29;
}

main .inherit__about-service .main-part .part2 .exp span:nth-of-type(3) {
      font-size: 3.2rem;
      color: #fff;
      background-color: #70C03F;
      padding: 0.5rem 1rem;
      margin: 0 0.5rem;
}

main .inherit__about-service .main-part .part2 .exp span:last-child {
      font-size: 3.2rem;
      color: #fff;
      background-color: #70C03F;
      padding: 0.5rem 1rem;
      margin: 0 0.5rem;
}

main .inherit__about-service .main-part .part2 .img-container {
      margin-top: 5rem;
}

main .inherit__about-service .main-part .middle-arrow {
      font-size: 2.4rem;
      color: #EE5565;
      background: url("../img/custom/more-arw.png") no-repeat center center;
      text-align: center;
      align-content: center;
      width: 200px;
      height: 120px;
      margin: 0 auto;
      margin-top: 5rem;
}

main .inherit__about-service .main-part .middle-arrow p {
      transform: translateY(-1rem);
}

main .inherit__about-service .main-part .part3 {
      display: flex;
      justify-content: space-between;
      align-items: center;
      max-width: 960px;
      margin: 0 auto;
      margin-top: 7rem;
}
main .inherit__about-service .main-part .part3 .exp{
      width: calc(520 / 960 * 100%);
}
main .inherit__about-service .main-part .part3 .exp dt{
      font-size: 2.8rem;
      line-height: 1.5;
      letter-spacing: 0.1em;
      margin-bottom: 3rem;
}
main .inherit__about-service .main-part .part3 .exp dd{
      font-weight: 400;
}

main .inherit__about-service .main-part .part3 .img-area{
      width: calc(400 / 960 * 100%);
}

@media only screen and (max-width: 728px) {
      main .inherit__about-service{
            padding-bottom: 50.5rem;
      }
      main .inherit__about-service .main-part .part2 .exp {
            font-size: 20px;
      }
      
      main .inherit__about-service .main-part .part2 .exp span:nth-of-type(3) {
            font-size: 28px;
      }
      
      main .inherit__about-service .main-part .part2 .exp span:last-child {
            font-size: 28px;
      }
      main .inherit__about-service .main-part .part3 {
            flex-direction: column;
            justify-content: center;
            gap: 20px;
            margin-top: 5rem;
      }
      main .inherit__about-service .main-part .part3 .exp{
            width: 100%;
      }
      main .inherit__about-service .main-part .part3 .img-area{
            width: 100%;
      }
      main .inherit__about-service .main-part .part3 .exp dt{
            font-size: 20px;
            margin-bottom: 2rem;
      }
      main .inherit__about-service .main-part .part3 .exp dd{
            font-size: 16px;
            line-height: 1.5;
      }

}

/* ------------------------------- middle-content__block ------------------------------- */

.middle-content__block {
      position: relative;
}

.middle-content__block::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: calc(100% - 5rem);
      background: url("../img/custom/introduction-bg.png") no-repeat center center / cover;
      z-index: -1;
      
}
.middle-content__block .cta__wrap{
      margin-top: -25rem;
      position: relative;
      z-index: 3;
}

.middle-content__block .thought__block{
      background-color: #fff;
      padding: 50px 70px;
      max-width: 960px;
      margin: 0 auto;
      margin-top: 7rem;

}
.middle-content__block .thought__block dt{
      text-align: center;
      font-weight: bold;
      font-size: 2.4rem;
      margin-bottom: 20px;
      letter-spacing: 0.1em;
}
.middle-content__block .thought__block dd{
      line-height: 1.5;
      font-size: 16px;
      letter-spacing: 0.05em;
      
}
.middle-content__block .thought__block dd span{
      font-weight: bold;

}

@media only screen and (max-width: 960px) {
      .middle-content__block .thought__block{
            margin: 7rem 24px 0;
      }

}

@media only screen and (max-width: 728px) {
      .middle-content__block .cta__wrap{
            margin-top: -42rem;
      }
      .middle-content__block .thought__block{
            padding: 40px 24px;
      }
      .middle-content__block .thought__block dt{
            font-size: 20px;
      }
}


/* ------------------------------- inherit__menu ------------------------------- */

.inherit__menu{
      padding: 10rem 0;
}

.inherit__menu h2{
      font-size: 4rem;
      font-weight: bold;
      text-align: center;
      margin-bottom: 6rem;
      letter-spacing: 0.1em;
}

.inherit__menu .menu-items__wrap{
      display: flex;
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      column-gap: 4rem;
      row-gap: 4rem;
      max-width: 1128px;
      margin: 0 auto;
      padding: 0 24px;
}

.inherit__menu .menu-item{
      background-color: #fff;
      border-radius: 5px;
      position: relative;
      height: 20rem;
      display: flex;
      flex-direction: column;
}

.inherit__menu .menu-item .menu_item__title-area{
      padding: 0 2.4rem;
      height: 14.8rem;
      align-content: center;

}

.inherit__menu .menu-item .menu-item__title{
      font-size: 2.4rem;
      font-weight: bold;
      border-bottom: 1px dashed #BAC1C5;
      line-height: 1;
      padding: 1rem;
      letter-spacing: 0.1em;
      display: inline-block;
}

.inherit__menu .menu-item .menu-item__title span{
      font-size: 3.2rem;
      position: relative;
}

.inherit__menu .menu-item .menu-item__image{
      position: absolute;
      top: -2.6rem;
      right: 2rem;
      height: 100%;
}


.inherit__menu .menu-item .menu-item__cta{
      padding: 0 6rem;
      height: 5.2rem;
      align-content: center;
}

.inherit__menu .menu-item .menu-item__cta p{
      position: relative;
      color: #fff;
      font-weight: bold;
      padding-right: 4rem;
      letter-spacing: 0.1em;
      display: inline;
}

.inherit__menu .menu-item .menu-item__cta p::before{
      content: '';
      background: url("../img/custom/go.png") no-repeat center center / cover;
      position: absolute;
      top: 0;
      bottom: 0;
      right: 0;
      margin: auto;
      width: 3rem;
      height: 3rem;
}
.inherit__menu .menu-item:nth-of-type(1),
.inherit__menu .menu-item:nth-of-type(2){
      border: 2px solid #5CBF29;

      .menu-item__cta {
        background-color: #5CBF29;
      }
}

.inherit__menu .menu-item:nth-of-type(3),
.inherit__menu .menu-item:nth-of-type(4){
      border: 2px solid #1EBD41;

      .menu-item__cta {
        background-color: #1EBD41;
      }
}


.inherit__menu .menu-item:nth-of-type(1) .menu-item__title span::before{
      content: 'しんこく';
      color: #5CBF29;
      font-size: 1.2rem;
      position: absolute;
      top: -1.2rem;
      left: 0.5rem;
      letter-spacing: 0.3em;
      white-space: nowrap;
}

.inherit__menu .menu-item:nth-of-type(2) .menu-item__title span::before{
      content: 'てつづき';
      color: #5CBF29;
      font-size: 1.2rem;
      position: absolute;
      top: -1.2rem;
      left: 1.5rem;
      letter-spacing: 0.5em;
      white-space: nowrap;
}

.inherit__menu .menu-item:nth-of-type(3) .menu-item__title span::before{
      content: 'しんこく';
      color: #1EBD41;
      font-size: 1.2rem;
      position: absolute;
      top: -1.2rem;
      left: 0.5rem;
      letter-spacing: 0.3em;
      white-space: nowrap;
}

.inherit__menu .menu-item:nth-of-type(4) .menu-item__title span::before{
      content: 'せいぜんたいさく';
      color: #1EBD41;
      font-size: 1.2rem;
      position: absolute;
      top: -1.2rem;
      left: 0.8rem;
      letter-spacing: 0.3em;
      white-space: nowrap;
}

@media only screen and (max-width: 641px) {
      .inherit__menu h2{
            font-size: 32px;
            margin-bottom: 50px;
      }
      .inherit__menu .menu-items__wrap{
            grid-template-columns: repeat(1, 1fr);
            row-gap: 40px;
      }
      .inherit__menu .menu-item{
            height: auto;
      }
      .inherit__menu .menu-item .menu-item__cta{
            padding: 0 2.4rem;
      }
      .inherit__menu .menu-item .menu-item__image{
            top: -4rem;
            width: calc(224 / 520 * 100%);
            height: auto;
            aspect-ratio: 224 / 208;
      }
}
@media only screen and (max-width: 428px) {
      .inherit__menu .menu-item{
            height: auto;
      }
      .inherit__menu .menu-item .menu_item__title-area{
            height: 98px;
            padding: 0 10px;
      }
      .inherit__menu .menu-item .menu-item__title{
            font-size: 18px;
      }
      .inherit__menu .menu-item .menu-item__title span{
            font-size: 20px;
      }
      .inherit__menu .menu-item .menu-item__cta{
            padding: 0 2.4rem;
            height: 40px;
      }
      .inherit__menu .menu-item .menu-item__cta p{
            font-size: 16px;
      }
      .inherit__menu .menu-item .menu-item__image{
            top: -17px;
            width: auto;
            height: 90%;
            aspect-ratio: 224 / 208;
            right: 1rem;
      }
      .inherit__menu .menu-item:nth-of-type(1) .menu-item__title span::before{
            font-size: 10px;
            letter-spacing: 0.1em;
            left: 0;
      }
      .inherit__menu .menu-item:nth-of-type(2) .menu-item__title span::before{
            font-size: 10px;
            letter-spacing: 0.5em;
            left: 0.5em;
      }
      .inherit__menu .menu-item:nth-of-type(3) .menu-item__title span::before{
            font-size: 10px;
            letter-spacing: 0.1em;
            left: 0;
      }
      .inherit__menu .menu-item:nth-of-type(4) .menu-item__title span::before{
            font-size: 10px;
            letter-spacing: 0.1em;
            left: 0;
      }
}





/* main-footer */

main .main-footer {
      background: url("../img/custom/footer-bg.png") no-repeat center center;
      background-size: 100% 100%;
      padding: 18rem;
	position: relative;
}

main .main-footer .footer-connect {
      position: absolute;
      z-index: 100;
	  top: 89%;
      left: 50%;
      transform: translate(-50%, -35%);
      display: flex;
      flex-direction: column;
      align-items: center;

}

@media only screen and (max-width: 641px) {
      main .main-footer .footer-connect {
            position: unset !important;
      }
}

@media only screen and (max-width: 428px) {
      main .main-footer .footer-connect .mid {
            margin-left: 0;
      }
}

main .main-footer .footer-connect .mid .plz {
      margin-left: 1.5rem;
}

@media only screen and (max-width: 641px) {
      main .main-footer .connect .contact1, main .main-footer .connect .mid {
            flex-direction: column;
      }

      main .main-footer {
            padding: 0 !important;
      }

      main .main-footer .footer-connect {
            transform: none !important;
      }

      main .main-footer {
            background-size: cover;
      }

      main .main-footer .connect .mid .mail1 .abs .content>p {
            margin-bottom: 0.5rem !important;
      }

      main .main-footer {
            padding: 2rem 1rem !important;
      }
}

@media only screen and (max-width: 641px) {
      .footer_sp_content{
            margin-top: -5rem;
      }
}

@media only screen and (max-width: 375px) {
      main .main-footer .connect .contact1 .line {
            width: auto;
      }

      .footer_sp_content {
            margin-top: -3rem;
      }
}

/* ------------------------------- review ------------------------------- */

main .white-bg__wrap {
      background-color: #fff;
      position: relative;
}

main .white-bg__wrap::before{
      content: '';
      background: url("../img/custom/circle-bg_bottom.png") no-repeat center center / 100% 100%;
      width: 100%;
      height: 8.8rem;
      position: absolute;
      top: -8.8rem;
      left: 0;
      right: 0;
      margin: auto;
}

main .review {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3rem;
  margin-top: 10rem;
  padding-top: 2rem;
  padding-bottom: 10rem;
}
main .review-hd {
      font-weight: bold;
      letter-spacing: 0.1em;

}
main .review-hd .green {
  color: #5CBF29;
  font-size: 4rem;
  
}
main .review-hd span {
  color: #263238;
  font-size: 3.2rem;
}
main .review-items {
  display: flex;
  justify-content: center;
  gap: 2rem;
}
@media print, screen and (max-width: 728px) {
  main .review-items {
    gap: 1rem;
  }
}
@media only screen and (max-width: 641px) {
  main .review-items {
    flex-direction: column;
	align-items: center;
    gap: 2rem;
  }
}
main .review-items .item {
  width: 34.6rem;
  height: 29.1rem;
  padding: 4rem 3rem;
  background-color: #F7FFF2;
  border: 0.3rem #70C03F solid;
  border-radius: 1rem;
}
@media print, screen and (max-width: 728px) {
  main .review-items .item {
    width:85%;
    height: auto;
  }
}
main .review-items .item-content {
  color: #363744;
  font-size: 1.6rem;
  width: 100%;
  line-height: 1.5em;
}
main .review-items .item-age {
  margin-top: 1rem;
  color: #263238;
  font-weight: bold;
  width: 100%;
  text-align: end;
}
main .review-items .item-detail {
  margin-top: 2.5rem;
  background-color: #70C03F;
  border-radius: 0.4rem;
  width: 100%;
  height: 5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #F7F5F4;
  opacity: 1;
}
main .review-items .item-detail:hover{
	opacity: 0.5;
	cursor: pointer;
	transition: opacity 0.5s;
}
main .review-items .item.male {
  background-color: #F1FFF5;
}
main .review-items .item.male .item-detail {
  background-color: #1EBD41;
}
main .review .btn-tostaff {
  background-color: #70C03F;
  width: 45rem;
  height: 10rem;
  border-radius: 1rem;
  margin-top: 3.4rem;
  margin-left: 63rem;
  opacity: 1;
}
main .review .btn-tostaff:hover {
	opacity: 0.4;
	cursor: pointer;
	transition: opacity 0.4s;
}
@media print, screen and (max-width: 728px) {
  main .review .btn-tostaff {
    margin-left: 0;
    width: auto;
  }
}
main .review .btn-tostaff .to {
  padding: 0 1rem;
  display: flex;
  gap: 18.7rem;
  align-items: center;
  justify-content: center;
  height: 100%;
}
@media only screen and (max-width: 641px) {

      main .white-bg__wrap::before{
            height: 5rem;
            top: -5rem;
      }
      main .review{
            margin-top: 80px;
      }
      main .review .btn-tostaff .to {
      gap: 16.6rem;
      }
}
@media only screen and (max-width: 428px) {
  main .review .btn-tostaff .to {
    gap: 15.7rem;
  }
}
main .review .btn-tostaff .to p {
  color: #F7F5F4;
  font-size: 2.4rem;
}
main .review .btn-tostaff .to p span {
  font-size: 1.6rem;
}
main .review .btn-tostaff .to .bt-go {
  width: 4rem;
  height: 4rem;
}
main .review .btn-tostaff .man {
  width: 10.2rem;
  height: 12rem;
  position: absolute;
  transform: translate(5.7rem, -1.2rem);
}

/* ------------------------------- slider-img ------------------------------- */

.slider-img__wrap{
      overflow: hidden;
      width: 100%;
      padding: 40px 0;
}

.slider-img__wrap .slider-img__track{
      display: flex;
      width: calc(420px * 12);
      animation: slider-scroll 30s linear infinite;
}

.slider-img__wrap .slider-img__item{
      flex-shrink: 0;
      width: 400px;
      padding: 0 10px;
      box-sizing: border-box;
}

.slider-img__wrap .slider-img__item img{
      width: 100%;
      height: auto;
      object-fit: cover;
}

@keyframes slider-scroll {
      0% {
            transform: translateX(0);
      }
      100% {
            transform: translateX(-50%);
      }
}

@media only screen and (max-width: 728px) {
      .slider-img__wrap{
            padding: 0;
      }
      .slider-img__wrap .slider-img__track{
            width: calc(220px * 12);
            animation: slider-scroll-sp 25s linear infinite;
      }
      
      .slider-img__wrap .slider-img__item{
            width: 200px;
            padding: 0 5px;
      }
}

@keyframes slider-scroll-sp {
      0% {
            transform: translateX(0);
      }
      100% {
            transform: translateX(-50%);
      }
}

/* ------------------------------- introduce ------------------------------- */

main .introduce {
      padding-top: 10rem;
	padding-bottom: 10rem;
      position: relative;
}

main .introduce::before{
      content: '';
      background: url("../img/custom/p2-back2.png") no-repeat center center / cover;
      width: 100%;
      height: 52.34%;
      position: absolute;
      bottom: 0;
      left: 0;
}


main .introduce h2 {
      color: #5CBF29;
      font-size: 4rem;
      font-weight: bold;
      letter-spacing: 0.1em;
      text-align: center;
}

main .introduce h2 span {
      color: #263238;
      font-size: 3.2rem;
}

main .introduce .contents {
      display: flex;
      justify-content: space-between;
      max-width: 1128px;
      margin: 0 auto;
      padding: 0 24px;
      margin-top: 5rem;
      position: relative;
}

main .introduce .contents .photo {
      width: calc(250 / 1080 * 100%);
}

main .introduce .contents .photo img{
      width: 100%;
      height: auto;
}

main .introduce .contents .intro-txt{
      width: calc(780 / 1080 * 100%);
}


main .introduce .contents .intro-txt .intro-txt__name {
      margin-bottom: 3rem;
      font-size: 2rem;
      font-weight: bold;
}

main .introduce .contents .intro-txt .txt_base {
      font-family: "Hiragino Kaku Gothic ProN W3";
      line-height: 1.7;
      font-size: 16px;
}

main .introduce .contents .intro-txt .txt_base .green {
      color: #5CBF29;
      font-weight: bold;
}

main .introduce .contents .intro-txt .txt_base .w6 {
      font-family: "Hiragino Kaku Gothic ProN W6";
      font-weight: bold;
}

main .introduce .contents .intro-txt .btn-tostaff {
      background-color: #70C03F;
      width: 45rem;
      height: 10rem;
      border-radius: 1rem;
      margin-top: 7.4rem;
      float: right;
	opacity: 1;
}
main .introduce .contents .intro-txt .btn-tostaff:hover {
      cursor: pointer;
      opacity: 0.4;
      transition: opacity 0.5s;
}
@media only screen and (max-width: 641px) {
      main .introduce .contents .intro-txt .btn-tostaff {
            width: auto;
            padding: 0 1rem;
      }
}

main .introduce .contents .intro-txt .btn-tostaff .to {
      display: flex;
      gap: 18.7rem;
      align-items: center;
      justify-content: center;
      height: 100%;
}

main .introduce .contents .intro-txt .btn-tostaff .to p {
      color: #F7F5F4;
      font-size: 2.4rem;
}

main .introduce .contents .intro-txt .btn-tostaff .to p span {
      font-size: 1.6rem;
}

main .introduce .contents .intro-txt .btn-tostaff .to .bt-go {
      width: 4rem;
      height: 4rem;
}

main .introduce .contents .intro-txt .btn-tostaff .man {
      width: 13rem;
      height: 12.4rem;
      position: absolute;
      transform: translate(5.7rem, -1.2rem);
}

@media print, screen and (max-width: 728px) {
      main .introduce .contents .intro-txt {
            display: flex;
            flex-direction: column;
            align-items: center;
      }

      main .introduce .contents {
            flex-direction: column;
            align-items: center;
            gap: 24px;
      }

      main .introduce .contents .photo{
            width: 100%;
      }

      main .introduce .contents .photo img{
            display: block;
            max-width: 250px;
            margin: 0 auto;
      }

      main .introduce .contents .intro-txt{
            width: 100%;
      }

      main .introduce .contents .intro-txt .intro-txt__name{
            font-size: 18px;
            margin-bottom: 2rem;
      }

      main .price-sec .main-part1 .top .right .think div {
            margin-bottom: 2.43rem;
            width: 15.2rem;
            height: 12.1rem;
      }

      main .price-sec .main-part1 .top .right .think p {
            margin-left: 0.5rem;
            transform: translateY(-11.3rem);
      }
}

/* ------------------------------- ending ------------------------------- */
.cta__wrap-ending{
      position: relative;
      background-color: #363744;
      padding: 8rem 0 10rem;
}
.cta__wrap-ending::before{
      content: '';
      background: url(../img/custom/cta_wrap-bg.png) no-repeat center center / cover;
      width: 100%;
      height: 50%;
      position: absolute;
      top: 0;
      left: 0;
      z-index: 1;
}
.cta__wrap-ending .cta__wrap{
      position: relative;
      z-index: 1;
}
.cta__wrap-ending .cta__wrap .note{
      color: #fff;
}
.cta__wrap-ending .cta__wrap .sub-cta{
      color: #fff;
}

.cta__wrap-ending .cta__wrap .sub-cta .tel-btn{
      border: 2px solid #fff;

}

.cta__wrap-ending .cta__wrap .sub-cta .tel-btn .tel-number::before{
      background: url(../img/custom/icon_phone_w.png) no-repeat center center / contain;
}

@media only screen and (max-width: 728px) {
      .cta__wrap-ending{
            padding: 8rem 0 12rem;
      }
}



/* footer */

#footer {
      position: relative;
      }
      .top #footer::before {
             content: '';
            position: absolute;
            width:100%;
            height: 100%;
            background: #7ce593;
            left: 0;
            top: -1px;
            z-index: -1;
      }

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



/* -------------------------------------------------------------------add ---------------------------------------------------------------------------*/



