@charset "UTF-8";
/**
* トップページ用css
*/

.p-top__content-yellow {
  position: relative;
  background: var(--bg-color-yellow);
}
.p-top__content-yellow::before {
  content: "";
  display: block;
  position: absolute;
  background: var(--main-color);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: .02;
  clip-path: polygon(50% 0, 100% 0, 100% 100%, 100% 100%, 14% 100%);
}
.p-top__content-yellow > * {
  position: relative;
}

.p-top__mv__wrap {
  position: relative;
}
.p-top__mv__img__wrap {
}
.p-top__mv__img__inner{
}
.p-top__mv__img {
}
.p-top__mv__contact__wrap {
}
@media screen and (min-width: 1000px) {
  .p-top__mv__wrap {
    min-height: 606px;
    height: calc(100vh - 146px);
  }
  .p-top__mv__img__wrap {
      display: flex;
      background: var(--bg-color-yellow);
      justify-content: center;
      align-items: center;
      height: calc(100% - 94px);
      position: relative;
      overflow: hidden;
  }
  .p-top__mv__img__inner{
    width: 100%;
    height: 100%;
    text-align: center;
    position: absolute;
    /* top: 6.5vh; */
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
  }
  .p-top__mv__img {
      object-fit: cover;
      position: absolute;
      top: calc(50% - 22px);
      left: 50%;
      transform: translate(-50%, -50%);
      height: 75%;
  }
  .p-top__mv__contact__wrap {
      position: absolute;
      bottom: 0;
      left: 50%;
      transform: translateX(-50%);
      max-width: 1064px;
      width: 90vw;
      padding: 0;
  }
}
@media screen and (max-width: 999px) {
  .p-top__mv__wrap {
    position: relative;
    height: auto;
    max-height: 100%;
  }
  .p-top__mv__img__wrap {
    background: var(--bg-color-yellow);
    padding: 5.5vw 5.3vw 16.3vw;
    margin: auto;
    /* padding-top: 7.5vw; */
    /* padding-bottom: 16.3vw; */
    text-align: center;
  }
  .p-top__mv__img__inner{
  }
  .p-top__mv__img {
  }
  .p-top__mv__contact__wrap {
    padding: 0 5.3vw;
    /* position: absolute; */
    bottom: 0px;
    left: 0;
    width: 100%;
    margin-top: -13.5vw;
  }
}

.p-top__service {
  background: url(../images/top/bg-line01.png) top 1% center no-repeat;
  background-size: 100% auto;
}
.p-top__service .l-inner__flame {
  max-width: 1104px;
}
.p-top__service__wrap {
}
.p-top__service__img__wrap {
  
}
.p-top__service__img {
  
}
@media screen and (min-width: 768px) {
  .p-top__service {
    background: url(../images/top/bg-line01.png) top 1% center no-repeat;
    background-position: top 187px center;
    
  background-size: 100% auto;
  }
  .p-top__service__list {
    position: relative;
    height: 0;
    padding-bottom: 94.3%;
  }
  .p-top__service__item {
    position: absolute;
  }
  .p-top__service__item:nth-child(odd) {
    right: calc(50% + 5%);
    
  }
  .p-top__service__item:nth-child(even) {
    left: calc(50% + 5%);
    
  }
  .p-top__service__item:nth-child(1) {
    top: 0;
    max-width: 39.2%;
  }
  .p-top__service__item:nth-child(2) {
    top: 5.1%;
    max-width: 42.2%;
  }
  .p-top__service__item:nth-child(3) {
    bottom: 2.8%;
    max-width: 42.8%;
  }
  .p-top__service__item:nth-child(4) {
    bottom: 0;
    max-width: 45.1%;
  }
}
@media screen and (min-width: 1440px) {
  .p-top__service {
   background-size: 100% 799px;
  }
}
@media screen and (max-width: 767px) {
  .p-top__service {
    padding-top: var(--content-margin);
    background: url(../images/top/bg-line-sp.png) top calc(var(--content-margin) + 0.1vw) center no-repeat;
    background-size: 100% calc(100% - 335px);
  }
  .p-top__service__wrap {
    max-width: 350px;
    margin: auto;
  }
  .p-top__service__item {
    margin: auto;
  }
  .p-top__service__item:nth-child(1) {
    width: 86.6%;
    margin-left: 6.8%;
  }
  .p-top__service__item:not(:first-child) {
    margin-top: 7.4%;
  }
  .p-top__service__item:nth-child(2) {
    width: 89%;
    margin-left: 6.8%;
  }
  .p-top__service__item:nth-child(3) {
    width: 93.4%;
    margin-left: 6.9%;
  }
  .p-top__service__item:nth-child(4) {
    width: 93.2%;
    margin-left: 6.8%;
    margin-top: 2%;
  }
  .p-top__service .c-strong__txt {
    margin-top: 35px;
  }
}

.p-top__plan .l-inner__flame {
  max-width: 1240px;
  position: relative;
  z-index: 1;
}
.p-top__plan__list {
  display: flex;
  flex-flow: row wrap;
  column-gap: 20px;
  row-gap: 20px;
  justify-content: space-between;
}
.p-top__plan__item {
  border-radius: 10px;
  box-shadow: 0 4px 8px rgb(0 0 0 / 16%);
  overflow: hidden;
  background: #fff;
  flex: 1 1 23%;
  max-width: 24%;
  display: flex;
  flex-flow: column;
}
.p-top__plan__head {
  position: relative;
  color: #fff;
  text-align: center;
  padding: 21px 18px 17px;
  display: flex;
  flex-flow: column;
}
.p-top__plan__head-pink {
  background-color: var(--sub-color-pink);
}
.p-top__plan__head-orange {
  background-color: var(--sub-color-orange);
}
.p-top__plan__head-green {
  background-color: var(--main-color);
}
.p-top__plan__head-blue {
  background-color: var(--sub-color-blue);
}
.p-top__plan__head::before {
  content: "";
  position: absolute;
  display: block;
  border: 17px solid transparent;
  border-top: 17px solid var(--main-color);
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 100%);
}
.p-top__plan__head-pink::before {
  border-top-color: var(--sub-color-pink);
}
.p-top__plan__head-orange::before {
  border-top-color: var(--sub-color-orange);
}
.p-top__plan__head-green::before {
  border-top-color: var(--main-color);
}
.p-top__plan__head-blue::before {
  border-top-color: var(--sub-color-blue);
}
.p-top__plan__ttl {
  font-family: var(--ff-ttl);
  font-size: 2.8rem;
  border-bottom: 3px solid #fff;
  line-height: 1.4;
  padding-bottom: 16px;
  letter-spacing: -.015em;
}
.p-top__plan__case {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.26;
  margin-top: 22px;
  letter-spacing: .05em;
  min-height: 2.52em;
}
.p-top__plan__price_txt {
  font-weight: 800;
  line-height: 1.7;
  margin-top: auto;
}
.p-top__plan__price {
  font-size: 2.8rem;
}
.p-top__plan__txt__wrap {
  padding: 27px 18px 24px;
  height: 100%;
}
.p-top__plan__txt {
  line-height: 1.75;
}
@media screen and (min-width: 768px) {
  .p-top__plan::after {
    height: 349px;
  }
  .p-top__plan::after {
    content: "";
    position: absolute;
    display: block;
    background: url(../images/top/bg-line02.png) center no-repeat;
    background-size: 100% 100%;
    width: 100%;
    height: 24.4vw;
    top: 249px;
    left: 0;
  }
}
@media screen and (max-width: 1250px) and (min-width: 768px) {
  .p-top__plan__list {
    max-width: 83%;
    margin: auto;
  }
  .p-top__plan__item {
    flex: 1 1 48%;
    max-width: 49%;
  }
}
@media screen and (max-width: 767px) {
  .p-top__plan__list {
    column-gap: 4%;
    row-gap: 4.1vw;
    max-width: 500px;
    margin: auto;
  }
  .p-top__plan__item {
    border-radius: 5px;
    flex: 1 1 48%;
    max-width: 48%;
    box-shadow: 0 2px 4px rgb(0 0 0 / 16%);
  }
  .p-top__plan__head {
    padding: 8px 9px 13px;
  }
  .p-top__plan__head::before {
    border-width: 10px;
  }
  .p-top__plan__ttl {
    font-size: 1.8rem;
    padding-bottom: 5px;
    border-bottom-width: 2px;
  }
  .p-top__plan__item:nth-child(3) .p-top__plan__ttl {
    letter-spacing: -0.12em;
  }
  .p-top__plan__item:nth-child(4) .p-top__plan__ttl {
    letter-spacing: -0.1em;
  }
  .p-top__plan__case {
    font-size: 1.2rem;
    margin-top: 7px;
    letter-spacing: 0;
  }
  .p-top__plan__price_txt {
    margin-top: 5px;
    font-size: 1.2rem;
  }
  .p-top__plan__price {
    font-size: 1.5rem;
  }
  .p-top__plan__txt__wrap {
    padding: 15px 11px 14px;
  }
  .p-top__plan__txt {
    line-height: 1.52;
    font-size: 1.3rem;
    letter-spacing: .05em;
  }
  .p-top__plan__item:nth-child(4) .p-top__plan__txt {
    letter-spacing: -0.1em;
  }
}



.p-top__flow__inner {
  max-width: 1240px;
}
.p-top__flow__content {
  
}
.p-top__flow__list {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
}
.p-top__flow__item-01 {
  margin-top: 29px;
}
.p-top__flow__item-02 {margin-top: 21px;}
.p-top__flow__item-03 {
}
.p-top__flow__item-04 {}
.p-top__flow__item-05 {margin-top: 8px;}
.p-top__flow__item-06 {margin-top: 3px;}
.p-top__flow__img__wrap {
  
}
.p-top__flow__img {
  
}
.p-top__flow__txt__under {
  max-width: 920px;
  margin: var(--content-margin) auto 0;
}
@media screen and (min-width: 768px) {
  .p-top__flow {
    overflow: hidden;
  }
  .p-top__flow__content {
    background: url(../images/top/bg-line03-3.png) top 58% left 53.3% no-repeat;
    background-size: 70%;
    position: relative;
  }
  .p-top__flow__item {flex: 1 1 27%;max-width: 27%;}
  .p-top__flow__content::before, .p-top__flow__content::after {
    content: "";
    position: absolute;
    display: block;
  }
  .p-top__flow__content::before {
    background: url(../images/top/bg-line03-1.png) center no-repeat;
    background-size: 100% 100%;
    width: calc((100vw - 824px) / 2);
    height: 98px;
    top: 129px;
    right: calc(100% - 188px);
  }
  .p-top__flow__content::after {
    background: url(../images/top/bg-line03-2.png) center no-repeat;
    background-size: 100% 100%;
    width: calc((100vw - 868px) / 2);
    height: 380px;
    bottom: 195px;
    left: calc(100% - 170px);
  }
  .p-top__flow {
    background: var(--bg-color-green);
  }
  .p-top__flow__list-top {
    margin-top: 23px;
    /*     background: url(../images/top/bg-line03-2.png) center bottom 20px no-repeat; */
    position: relative;
    z-index: 1;
  }
  .p-top__flow__list-under {
    flex-direction: row-reverse;
    margin-top: 73px;
    position: relative;
    z-index: 1;
   }
}
@media screen and (max-width: 1264px) {
  .p-top__flow {
    overflow: hidden;
  }
  .p-top__flow__content::before {
    width: 250px;
    top: 16%;
    height: 11%;
  }
  .p-top__flow__content::after {
    width: 284px;
    bottom: 21%;
    height: 45%;
  }

}
@media screen and (max-width: 767px) {
  .p-top__flow__content {
    margin-top: 6.6vw;
    max-width: 350px;
    margin: var(--content-margin) auto;
  }
  .p-top__flow__item {
    margin: 0 auto;
    position: relative;
    max-width: 77.1%;
  }
  .p-top__flow__item:not(.p-top__flow__item-01) {
    margin-top: 4.4%;
  }
  .p-top__flow__item-05:not(.p-top__flow__item-01) {
    margin-top: 7.2vw;
  }
  .p-top__flow__item:not(.p-top__flow__item-06) {
    padding-bottom: 14%;
  }
  .p-top__flow__item:not(.p-top__flow__item-06)::after {
    content: "";
    position: absolute;
    display: block;
    width: 34px;
    height: 31px;
    background: url(../images/top/arrow-orange-sp.png) center no-repeat;
    background-size: contain;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
  }
  .p-top__flow__list-under .p-top__flow__item::after {
    background-image: url(../images/top/arrow-green-sp.png);
  }
  
}



.p-top__works {
  
}
.p-top__works__content {
  
}
@media screen and (min-width: 768px) {

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

}



.p-top__faq {
  
}
.p-top__faq__ttl__wrap {
  position: relative;
}
.p-top__faq__ttl__wrap::before {
  content: "";
  position: absolute;
  display: block;
  top: -23px;
  right: calc(50% + 131px);
  width: 116px;
  height: 145px;
  background: url(../images/top/faq_deco.png) center no-repeat;
  background-size: contain;
}
@media screen and (min-width: 768px) {

}
@media screen and (max-width: 767px) {
  .p-top__faq__ttl__wrap {
    margin-bottom: 45px;
  }
  .p-top__faq__ttl__wrap::before {
    top: -18px;
    right: calc(50% + 52px);
    width: 78px;
    height: 82px;
  }
}



@media screen and (min-width: 768px) {
  .p-top__column .c-column__list {
    justify-content: center;
  }
  .p-top-column__list__wrap .c-column__item {
    flex-basis: 31.5%;
    max-width: 31.5%;
	}
  .p-top-column__list__wrap .c-column__item:nth-child(n+4) {
    display: none;
  }  
}
@media screen and (max-width: 767px) {
  .p-top__column .l-inner__flame {
    padding: 0;
  }
  .p-top-column__list__wrap .slick-list {
    padding: 0 calc((100% - 176px) / 2)!important;
    width: 100%;
  }
  .p-top-column__list__wrap .c-column__item {
    padding: 0 7px;
    max-width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .p-top__news .c-post__item:first-child .c-post__link {
    padding-top: 0;
  }
  .p-top__news {
    padding-bottom: 35px;
  }
}