/*----- サービス内容　
サービス内容　共通 three column Section　
--------------------------------------------------------------*/
.ttl_service_common{
   color: #00A8A6;
   padding: 90px 0 10px;
   margin-top: -90px;
   font-weight: 400;
   font-size: 20px;
   display: block;
}

.service_text{
   line-height: 1.8em;
   padding:0 0 30px ;
} 

.service-common{
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   width: 100%;
   padding-bottom: 60px;
   gap: 3.5rem;
}

 .service-common:last-child{
   border-bottom: none;
 }

/* サービス内容　詳細ページ */
 
 .box_item {
   flex-direction: column;
 }
 
 .box_item img{
    width: 60%;
    padding: 30px;
    margin: 0 auto;
    display: block;
}
 
 .box_item h3{
   display: block;
   margin-bottom: 10px;
   padding: 0 ;
   font-size: 18px;
   font-weight: 400;
   line-height: 1.8em;
   border-bottom: #00A8A6 2px solid;
}
 .box_item p{
     display: block;
     font-size: 16px;
     font-weight: 400;
     line-height: 1.8em;
 }

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

   .service-common{
      grid-template-columns:1fr;
      gap: 1.5rem;
      /* margin-top: 60px;
      flex-direction: column;
      gap: 1.2rem; */
    }

   .box_item_enter{
      width:100%;
      margin-bottom :20px;
    }

   .box_item h3{
      display: block;
      margin-top: 0;
   }

   .box_item {
      width:100%;
      margin-bottom: 20px;
    }

   .box_item h3{
      display: block;
      margin-top: 0;
   }
 }

/*----- サービス内容　共通 button　
--------------------------------------------------------------*/
#servicelink{
   max-width: 960px;
   margin: 0 auto 30px;
}

.btn_item{
   position: relative;
   margin-bottom: 40px;
   z-index: 2;
   display: flex;
   align-items: center;
   justify-content: center;
   flex-wrap: wrap;
   gap: 1em;
}

.btn_sv{
   display:block;
   width: 110px;
   line-height: 50px;
   color: #000;
   text-decoration: none;
   text-align: center;
   background-color: #fff; 
   border: #00A8A6 solid 2px;
   border-radius: 5px; 
   -webkit-transition: all 0.5s;
   transition: all 0.5s;
}

.btn_sv:hover{
   background-color:#00A8A6;
   color: #fff;
}

/* revolia banner */

.bnr_revoria img{
   width: 100%;
   margin: 60px 0;
}

.pc-r_bnr-i{
   display: block !important;
   margin: 0 auto;
 }
.sp-r_bnr-i{
   display: none !important;
   margin: 0 auto;
 }

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

#servicelink{
    display: flex;
    flex-direction: row;
    margin: 20px auto 0;
   }

.bnr_revoria img{
      margin: 30px 0;
   }

.pc-r_bnr-i {
   display: none !important; 
 }
.sp-r_bnr-i {
   display: block !important;
 }
}

/* revoria */
.mv{
   max-width: 1440px;
   margin: 0 auto;
   display: flex;
   background-image:url(../images/img_main_bg_revoria.png);
   background-repeat: no-repeat;
   background-position: center, center;
   background-size: cover, cover;
   /* gap: 2rem; */
   }

.mv img{
   width: 50%;
   }

.mv .re_text{
   width: calc(100% - 5rem);
    position: relative;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: space-evenly;
    text-align: center;
    /* padding: 40px 0 0 0; */
    z-index: 2;
}

.mv_s_ttl{
   background: #b7a980;
   border-radius: 120px;
   position: relative;
   display: flex;
   justify-content:center;
   align-items: center;
   margin: 0 auto;
   width: 12em;
   color: #ffffff;
   font-weight: 500;
   font-size:20px;
}

.mv .re_text h2{
   margin: 0;
   font-size:24px;
   color: #00A8A6;
}


.mv .re_text h2::before {
   content: '';
   position: absolute;
   left: 50%;
   bottom: 33%;
   display: inline-block;
   width: 20px;
   height: 2px;
   -webkit-transform: translateX(-50%);
   transform: translateX(-50%);
   background-color: #b7a980;
   border-radius: 10px
}

.mv .re_text small{
  line-height: 1.6em;
}


.parts-ttl {
   margin: 60px 0;
   padding: 0 ;
   display: flex;
   flex-direction: row;
   justify-content: flex-start;
   align-items: stretch;
   gap: 3em;
 }
 
 .parts-ttl h3{
   font-size: 96px;
   color: #E4F6F6;
 }
 
 .parts-sub-ttl {
   margin: 0;
   font-size: 18px;
   line-height: 1.8em;
   color: #00A8A6;
 }
 
  @media screen and (max-width: 960px){
   .parts-ttl {
     margin-bottom: 15px;
   }
 
   .parts-ttl h3{
     font-size: 2.8em;
     margin: 0;
     padding: 0;
   }
   
   .parts-sub-ttl {
     font-size: 20px;
     font-weight: 400;
     line-height: 1.2em;
   }
 }

.bg_circle{
   background-color: #FFF7F6;
   border-radius: 50%;
   -moz-border-radius: 50%;
   -webkit-border-radius: 50%;
   width: 18em;
   height: 18em;
   margin: 0 auto;
   text-align: center;
   position: relative;
   font-size: 16px;
}

.bg_circle p{
   display: block;
   /* padding: 20px; */
   position: absolute;
    top: 50%;
    left: 30%;
    transform: translate(-20%, -50%);
    font-size: 18px;
    line-height: 1.6;
}


 /*　ボタン　*/

 .btn_rev_grn a{
   background: #fff;
   border-radius: 120px;
   position: relative;
   display: flex;
   justify-content:center;
   align-items: center;
   margin: 30px auto;
   width: 500px;
   padding: 15px 20px 15px 0;
   color: #00A8A6;
   border: #00A8A6 solid 4px;
   transition: 0.3s ease-in-out;
   font-weight: 500;
   font-size:20px;
 }
 
 .arrow_g{
    position: relative;
    display: inline-block;
    padding: 0 0 0 16px;
    color: #00A8A6;
    vertical-align: middle;
    text-decoration: none;
    font-size:32px;
 }
 .arrow_g::before,
 .arrow_g::after{
    position: absolute;
    top: 0;
    bottom: 0;
    right: 30px;
    margin: auto;
    content: "";
    vertical-align: middle;
 }
 
 .btn_rev_grn::before{
    box-sizing: border-box;
    width:  30px;
    height: 30px;
    border: 3px solid #00A8A6;
    -webkit-border-radius: 50%;
    border-radius: 50%;
 }
 
 .btn_rev_grn::after{
    right: 41px;
    width: 12px;
    height: 12px;
    border-top: 4px solid #00A8A6;
    border-right: 4px solid #00A8A6;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
 }
 
 .btn_rev_grn a:hover {
   background: #00A8A6;
   color: #FFF;
 }
 
 .btn_rev_grn a:hover::before{
    box-sizing: border-box;
    width:  30px;
    height: 30px;
    border: 3px solid #fff;
    -webkit-border-radius: 50%;
    border-radius: 50%;
 }
 
 .btn_rev_grn a:hover::after{
    right: 41px;
    width: 12px;
    height: 12px;
    border-top: 4px solid #fff;
    border-right: 4px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
 }

 @media screen and (max-width: 960px){
   .btn_rev_grn a{
     width: 280px;
     padding: 10px 18px 10px 0;
     font-size:16px;
     margin: 10px auto;
   }
 
   .arrow_g::before,
   .arrow_g::after{
     right: 12px;
   }
 
   .btn_rev_grn::before{
     width:  25px;
     height: 24px;
     border: 2px solid #00A8A6;
   }
 
   .btn_rev_grn::after{
     right: 20px;
     width: 12px;
     height: 12px;
   }
 
   .btn_rev_grn a:hover::before{
     box-sizing: border-box;
     width:  25px;
     height: 24px;
     border: 2px solid #fff;
   }
   
   .btn_rev_grn a:hover::after{
     right: 20px;
     width: 12px;
     height: 12px;
   }
 }

