@charset "utf-8";

.p-service{
  color:var(--color-black);
  font-family: var(--font-ja);
  letter-spacing: var(--letter-spacing-main);
}
.p-service a{
  text-decoration: none;
}


.p-service{
  margin-top: 70px;
}
@media screen and (max-width:767px){
  .p-service{
  margin-top: 63px;
  }
}

.p-service__fv{
  padding:80px 0;
  background-color: #F2F1ED;
}
@media screen and (max-width:767px){
  .p-service__fv{
  padding:60px 0;
  background-color: #F2F1ED;
}
}

.p-service__fv-contents{
 margin:0 auto;
  max-width: 940px;
}
@media screen and (max-width:767px){
  .p-service__fv-contents{
    padding:0 15px;
  }
}

.p-service__fv-txt{
  margin-top: 32px;
  font-size: 16px;
  letter-spacing: .02em;
}
@media screen and (max-width:767px){
  .p-service__fv-txt{
    font-size: 12px
  }
}

.p-service__fv-grid{
  margin-top: 40px;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap:24px;
}
@media screen and (max-width:767px){
  .p-service__fv-grid{
    grid-template-columns: 1fr;
  }
}

.p-service__fv-grid-item{
  position: relative;
}
.p-service__fv-grid-item a{
  position: relative;
  text-align: center;
  display: block;
  padding:16px 0;
  line-height: 1.5;
  width:100%;
  font-size: 16px;
  font-weight: 600;
}
@media screen and (max-width:767px){
  .p-service__fv-grid-item a{
  }
}
.p-service__fv-grid-item a:before{
  position: absolute;
  content:"";
  top:0;
  left:0;
  width:100%;
  height:4px;
  background-image: url(/files/img/service/color-line.png);
  background-repeat: repeat-x;
  background-size: contain;
}
.p-service__fv-grid-item a:after{
  position: absolute;
  content:"";
  left:0;
  bottom:0;
  width:100%;
  height:4px;
  background-image: url(/files/img/service/color-line.png);
  background-repeat: repeat-x;
  background-size: contain;
}
.p-service__fv-grid-item img{
  position: absolute;
  right:8px;
  bottom:18px;
  width:20px;
}
.p-service__common{
  margin-top: 80px;
}
@media screen and (max-width:767px){
  .p-service__common{
    margin-top: 40px;
  }
}
.p-service__common-ttl{
  font-size: 112px;
  line-height: 1.15;
  font-weight: 500;
  font-family: var(--font-en);
}
@media screen and (max-width:767px){
  .p-service__common-ttl{
    text-align: center;
    line-height: 1.15;
    font-size: 42px;
  }
}
.p-service__common-image{
  position: sticky;
  top:70px;
  height:fit-content
}
@media screen and (max-width:767px){
  .p-service__common-image{
    position: static;
    top:initial;
    height:auto;
  }
}
.p-service__common-ttl-pink{
  color:#dd0078;
}
.p-service__common-ttl-yellow{
  color:#f9be00;
}
.p-service__common-ttl-lightblue{
  color:#00a5d8;
}
.p-service__common-ttl-right{
  display: block;
  margin-left: auto;
  width: fit-content;
}
@media screen and (max-width:767px){
  .p-service__common-ttl-right{
  margin-left: 0;
  width: auto;
}
}
.p-service__common-ttl-padding{
  padding-left:60px;
}
@media screen and (max-width:767px){
  .p-service__common-ttl-padding{
    padding-left:0
  }
}
@media screen and (max-width:767px){
  .p-service__common-ttl-right{
  margin-left: 0;
}
}
.p-service__common-contents{
  margin-top: 68px;
  display: grid;
  grid-template-columns: 470px 1fr;
  gap:85px
}
@media screen and (min-width: 768px) and (max-width: 1180px) {
  .p-service__common-contents{
    gap:32px;
    grid-template-columns: 300px 1fr;
  }
}
@media screen and (max-width:767px){
  .p-service__common-contents{
    margin-top: 24px;
    display: flex;
    flex-direction: column;
    gap:24px
  }
}
.p-service__common-area-ttl{
  margin-top: 60px;
  line-height: 1.5;
  font-size: 28px;
  font-weight: 600;
  color:var(--color-orange)
}
@media screen and (max-width:767px){
  .p-service__common-area-ttl{
    margin-top: 24px;
    font-size: 18px;
  }
}
.p-service__common-area{
  position: relative;
}
.p-service__common-circle-image{
  position: absolute;
  width:195px;
  top:-28px;
  right:0;
}

@media screen and (max-width:767px){
  .p-service__common-circle-image{
    width:90px
  }
}
.p-service__common-parts{
  margin-top: 24px;
  display: flex;
  gap:14px;
}
@media screen and (max-width:767px){
  .p-service__common-parts{
    gap:8px;
  }
}
.p-service__common-banner{
  width:124px;
  height:35px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 200px;
  font-weight: 500;
  font-size: 10px;
  background-color: #efefef;
}
@media screen and (max-width:767px){
  .p-service__common-banner{
  width:100px;
  font-size: 8px;
  font-weight: 600;
  }
}

.p-service__common-banner span{
  position: relative;
}
.p-service__common-banner span::after{
  position: absolute;
  content:"";
  top:50%;
  right:-15px;
  transform: translateY(-50%);
  width:12px;
  height:12px;
  background-image: url(/files/img/common/arrow-below-black.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
.p-service__common-txt{
  margin-top: 32px;
  font-size: 16px;
  font-weight: 500;
}
@media screen and (max-width:767px){
  .p-service__common-txt{
    margin-top: 0;
    font-size: 14px;
  }
}
.p-service__common-square{
  margin-top: 32px;
  position: relative;
  display: flex;
  align-items: center;
  border-radius: 20px;
  padding:32px 28px;
  border:1px solid var(--color-lightgray)
}
@media screen and (max-width:767px){
  .p-service__common-square{
    padding:24px 15px 32px;
    border-radius: 10px;
    flex-direction: column;
  }
}

.p-service__common-square-other{
  line-height: 1.5;
  font-size: 14px;
  position: absolute;
  right:15px;
  bottom:14px
}
@media screen and (max-width:767px){
  .p-service__common-square-other{
    font-size: 9px;
    bottom:8px;
  }
}

.p-service__common-square-ttl{
  font-size: 18px;
  font-weight: 600;
  white-space: nowrap;
}
@media screen and (max-width:767px){
  .p-service__common-square-ttl{
  font-size: 16px;
  font-weight: 600;
  white-space: initial;
}
}

.p-service__common-square ul{
  position: relative;
  padding-left:20px;
  margin-left: 20px;;
}
@media screen and (max-width:767px){
  .p-service__common-square ul{
    margin:16px 0 0 0;
    padding:16px 0 0 0;
  }
}
.p-service__common-square ul::before{
  position: absolute;
  content:"";
  top:50%;
  left:0;
  transform: translateY(-50%);
  width:6px;
  height:132px;
  background-image: url(/files/img/service/service-color-line.png);
  background-repeat: repeat-y;
  background-size: contain;
}
@media screen and (max-width:767px){
  .p-service__common-square ul::before{
    top:0;
    left:50%;
    transform: translateX(-50%);
    height:3px;
    width:100%;
    background-repeat: repeat-X;
    background-image: url(/files/img/service/service-color-line-sp.png);
  }
}
.p-service__common-square li{
  position: relative;
  padding-left: .8em;
  line-height: 1.5;
  font-size: 16px;
}
@media screen and (max-width:767px){
  .p-service__common-square li{
  font-size: 12px;
}
}
.p-service__common-square li::before{
  position: absolute;
  content:"";
  top:.85em;
  left:0;
  transform: translateY(-50%);
  border-radius: 50%;
  width:3px;
  height:3px;
  background-color:var(--color-black)
}
.p-service .p-service__common-ttl-image{
  margin-top: 24px;
  width:178px
}
.p-service__common-list{
  margin-top: 16px;
  display: flex;
  flex-direction: column;
  gap:20px;
}
.p-service__common-list-item{
  position: relative;
  display: grid;
  align-items: center;
  grid-template-columns: 1fr 151px;
  gap:14px;
  border-radius: 5px;
  padding:32px 28px;
  background-image: url(/files/img/service/service-decoration.png);
  background-repeat: no-repeat;
  background-size: 118px 98px;
  background-position: left top;
  background-color: #F2F1ED;
}
@media screen and (max-width:767px){
  .p-service__common-list-item{
    padding:24px 15px;
    grid-template-columns: 1fr 98px;
  }
}

.p-service__common-list-item--normal{
  display: block;
}

.p-service__common-list-num{
  position: absolute;
  top:16px;
  left:16px;
  width:48px;
}
@media screen and (max-width:767px){
  .p-service__common-list-num{
    left:8px;
    width:28px
  }
}
.p-service__common-list-ttl{
  padding-left: 48px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
  font-size: 22px;
}
@media screen and (max-width:767px){
  .p-service__common-list-ttl{
    padding-left: 32px;
    font-size: 14px
  }
}
.p-service__common-list-txt{
  margin-top: 24px;
  font-size: 14px;
}
@media screen and (max-width:767px){
  .p-service__common-list-txt{
  margin-top: 16px;
  font-size: 12px;
  }
}
.p-service__common-resolve{
  margin-top: 24px;
  display: grid;
  gap:14px;
  align-items: center;
  grid-template-columns: 1fr 138px;
}
@media screen and (max-width:767px){
  .p-service__common-resolve{
    grid-template-columns: 1fr 98px;
  }
}
.p-service__common-resolve-ttl{
  margin-top: 14px;
  border-radius: 5px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding:4px;
  white-space: nowrap;
  letter-spacing: 0;
  background-color: #ffffff;
  font-size: 16px;
  font-weight: 600;
}
@media screen and (max-width:767px){
  .p-service__common-resolve-ttl{
    font-size: 10px;
    white-space: initial;
  }
}

.p-service__common-resolve-txt{
position: relative;
  margin-top: 16px;
  padding-bottom: 20px;
}

.p-service__common-resolve-txt p{
  
  white-space: nowrap;
  font-size: 14px;
  letter-spacing: 0;
    text-indent: -1em;
  padding-left: 1em;
}
@media screen and (max-width:767px){
.p-service__common-resolve-txt p{
          font-size: 12px;
    white-space: initial;
  }
}
.p-service__common-resolve-txt span{
  position: absolute;
  right:0;
  bottom:0;
}
.p-service__common-resolve-txt em{
  font-style: normal;
  color:var(--color-orange)
}
.p-service .p-service__common-ttl-image02{
  margin-top: 24px;
  width:157px;
}

.p-service__common-area-supprt{
  margin-top: 16px;
  position: relative;
  border-radius: 20px;
  padding:24px 0;
  border: 1px solid var(--color-lightgray);
}
.p-service__common-area-supprt ul{
  display: grid;
  justify-content: center;
  gap:0 16px;
  grid-template-columns: max-content max-content;
}
.p-service__common-area-supprt--padding{
  padding:24px 0 40px;
}
@media screen and (max-width:767px){
  .p-service__common-area-supprt--padding{
    padding:24px 0 32px;
  }
}
.p-service__common-area-supprt--three-column ul{
  grid-template-columns: repeat(3,max-content);
}
.p-service__common-resolve-orange{
  margin-top: 20px;
  color:#ffffff;
  width:100%;
  height:42px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 200px;
  font-size: 18px;
  font-weight: 600;
  background-color: var(--color-orange);
}
@media screen and (max-width:767px){
  .p-service__common-resolve-orange{
    margin-top: 16px;
    font-size: 14px;
  }
}



@media screen and (max-width:767px){
.p-service__common-area-supprt li{
  font-size: 9px;
} 
}
.p-service__common-area-description{
  position: absolute;
  bottom:8px;
  right:8px;
  font-size: 12px;
  line-height: 2;
  font-weight: 600;
}
@media screen and (max-width:767px){
  .p-service__common-area-description{
    font-size: 8px;
  }
}


.p-service__info{
  margin-top: 80px;
}
@media screen and (max-width:767px){
  .p-service__info{
  margin-top: 40px;
  }
}
.p-service__info-orange{
  padding:32px 0;
  text-align: center;
  font-size: 28px;
  color:#ffffff;
  background-color: var(--color-orange);
}
@media screen and (max-width:767px){
  .p-service__info-orange{
    font-size: 16px
  }
}
.p-service__info-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
}
@media screen and (max-width:767px){
  .p-service__info-grid{
    grid-template-columns: 1fr;
  }
}
.p-service__info-grid-item{
  position: relative;
}
.p-service__info-btn{
  position: absolute;
  right:40px;
  bottom:40px;
}
@media screen and (max-width:767px){
  .p-service__info-btn{
    width:calc(100% - 30px);
    right:auto;
    left:50%;
    transform: translateX(-50%);
    bottom:24px;
  }
}