@charset "UTF-8";
#bg-movie1 {
  left: 0;
}
#bg-movie2 {
  right: 0;
}
#h1::after {
  content: "";
  background-color: #ffd8d7;
  position: absolute;
  width: 70%;
  height: 155vw;
  top: -17vw;
  right: 67%;
  transform: rotate(25deg);
  z-index: 2;
}
#top-img {
  position: absolute;
  bottom: 0;
  right: 0;
}
#h2-text > span {
  width: 70%;
  clip-path: polygon(0 0, 80% 0, 100% 100%, 0 100%);
}
#about h1 {
  margin-top: -1.8em;
}
#about h1 img {
  vertical-align: bottom;
}
#kyokan h1 {
  margin-top: -1.2em;
}
#service h1 {
  clip-path: polygon(0 0, 80% 0, 100% 100%, 0 100%);
}
#service figcaption span {
  width: 18%;
  position: absolute;
  bottom: -1.3em;
  left: -8px;
  z-index: 2;
  border-width: .2em !important;
}
#service figcaption b {
  position: absolute;
  bottom: -1.1em;
  left: 12%;
  padding-left: 2em;
  z-index: 1;
}
#icon-sokyu {
  top:-2.5em;
  right: .5em;
  z-index: 1;
}
#sokyu h3 {
  margin-top: -1em;
}
#strength h4 img {
  opacity: .7;
}
#strength h4 > div {
  position: absolute;
  width: 100%;
  left: .5em;
  bottom: .5em;
}
#strength .fuki {
  position: absolute;
  top: -2.3em;
}
.fuki::before {
  content: "";
  background-color: #fff;
  width: .8em;
  height: 10px;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
  position: absolute;
  bottom: -9px;
}
#strength .fuki::before {background-color: #e93330;}
.fuki.end::before {
  right: 20px;
}
.fuki.start::before {
  left: .6em;
}
#jisseki td {
  padding: 1em 0;
  vertical-align: top;
}
.arrow-right {
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  height: 10em;
  
}
#movie video {
  width: 39%;
  left: 38%;
  top: 3.5vw;
}
#img-sp {
  z-index: 12;
}
.fuki2::before {
  content: "";
  background-color: #fff;
  width: 35px;
  height: 25px;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  position: absolute;
  top: 30px;
  right: -30px;
}


.flow-list {
  overflow-x: auto;
}
.flow-list ol {
  width: 300%;
}
#flow h2 i {
  vertical-align: middle
}
.num-flow {
  height: 2.5em;
  line-height: 2.5em;
  aspect-ratio: 1/1;
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 0 0 60% 0;
}
.text-flow {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}
#campaign > div {
  background: linear-gradient(to right, #9e6221 0%, #e3b64e 13%, #f5f2e7 35%, #e3b64e 45%, #9e6221 100%);
}
#badge-cam p {
  
}
#contact {
  background-size: 10vw;
}
#privacy-area p {
  margin-bottom: 0;
}
.form-control, .form-select {
  border: solid 1px #aaa;
}
.form-check-input {
  vertical-align: middle;
  margin-top: 0 !important;
}
.mwform-checkbox-field-text {
  font-size: 90%;
}
@media (min-width: 768px){
  #bg-movie1, #bg-movie2 {
    width: 29.2%;
    top: 0;
    opacity: .3;
  }
}
@media (max-width: 991px){

  #movie {
    
  }
  #img-sp {
    
  }
  
}
@media (max-width: 767px){
  
  #movie video {
    top: 9vw;
  }
  #h1::after {
    height: 380vw;
    top: -40vw;
  }
  #recommend {
    font-size: 90%;
  }
  #recommend {
    background-repeat: repeat-y;
    background-size: auto 60%;
  }
  #recommend li > figure, #recommend li > div {
    padding: 0;
  }
  #recommend li > figure {
    margin-bottom: 3vw !important;
  }
  #recommend li p {
    font-size: 120%;
    padding-top: 2vw !important;
    padding-bottom: 0 !important;
  }
  #chart-wrap {
    width: 240vw;
  }
  #chart-wrap figure {
    width: 80vw;
  }



  #faq {
    background-position: top right;
  }
  #contact {
    background-size: 20vw;
  }
}

@media (max-width: 575px){
  
}


