@charset "UTF-8";
.p-top .c-slider01::after {
  content: "";
  width: 0;
  height: 0;
  border-bottom: 12.6vw solid #fff;
  border-right: 100vw solid transparent;
  position: absolute;
  bottom: -1px;
  left: 0;
}
.p-top01 {
  background: url(../images/common/img_bg01.jpg) no-repeat bottom center;
  background-size: cover;
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
  padding: 0 0 250px;
  margin-top: -36px;
}
.p-top01 .c-ttl01 {
  margin-bottom: 8px;
  position: relative;
  z-index: 1;
  line-height: 0;
}
.p-top01 p {
  margin-bottom: 37px;
  line-height: 0;
  letter-spacing: 0.05em;
}
.p-top01 p span {
  line-height: 2.05;
}
.p-top01 .txt {
  font-size: 3rem;
  letter-spacing: 0.05em;
  margin-top: -13px;
}
.p-top02 {
  position: relative;
  padding: 20px 0 260px 0;
  background: #f8f8f8;
}
.p-top02::after {
  content: "";
  width: 0;
  height: 0;
  border-bottom: 12.7vw solid #f8f8f8;
  border-left: 100vw solid transparent;
  position: absolute;
  top: -12.6vw;
  left: 0;
}
.p-top02 .c-ttl01 {
  text-align: right;
  margin-top: -41px;
  padding-right: 6px;
  position: relative;
  z-index: 2;
}
.p-top02 .c-ttl01::after {
  position: absolute;
  right: 21px;
  top: -19px;
  content: "";
  width: 384px;
  height: 366px;
  background: url(../images/common/img_decord01.png) no-repeat center;
  background-size: contain;
  z-index: -1;
}
.p-top02__content {
  padding: 55px 0;
}
.p-top03 {
  padding: 0 0 237px 0;
  position: relative;
}
.p-top03::before {
  content: "";
  width: 0;
  height: 0;
  border-bottom: 12.6vw solid #fff;
  border-right: 100vw solid transparent;
  position: absolute;
  top: -12.6vw;
  left: 0;
}
.p-top03 .c-ttl01 {
  text-align: left;
  top: -18px;
  padding-right: 6px;
  position: relative;
  z-index: 2;
  margin-bottom: 72px;
}
.p-top03 .c-ttl01::after {
  position: absolute;
  left: 0;
  top: -23px;
  content: "";
  width: 394px;
  height: 390px;
  background: url(../images/common/img_decord02.png) no-repeat center;
  background-size: contain;
  z-index: -1;
}
.p-top03__inner {
  position: relative;
}
.p-top03 .c-slider02 {
  margin-bottom: 100px;
}
.p-top04 {
  padding: 0 0 50px 0;
  background: #fffdee;
  position: relative;
}
.p-top04::before {
  content: "";
  width: 0;
  height: 0;
  border-bottom: 12.6vw solid #fffdee;
  border-right: 100vw solid transparent;
  position: absolute;
  top: -11.6vw;
  left: 0;
  z-index: -1;
}
.p-top04::after {
  content: "";
  width: 0;
  height: 0;
  border-bottom: 12.6vw solid #fff;
  border-left: 100vw solid transparent;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
}
.p-top04 .c-box01 {
  position: relative;
  z-index: 2;
}
.p-top04 .c-box01--bottom .c-box01__img .ttl01 {
  margin-bottom: -20px;
  left: -7px;
}
.p-top04 .c-box01--top .c-box01__img .ttl01 {
  top: -55px;
  right: 0;
}
.p-top05 {
  padding: 276px 0 236px 0;
}
.p-top05__inner {
  position: relative;
}
.p-top05__img {
  display: block;
  width: calc(53% + 10px);
  position: absolute;
  left: 0;
  top: calc(50% - 7px);
  transform: translateY(-50%);
}
.p-top05__img .c-btn02 {
  position: absolute;
  right: 0px;
  bottom: 0;
  z-index: 1;
}
.p-top05__img figure {
  overflow: hidden;
}
.p-top05__img figure img {
  transition: 0.5s;
}
.p-top05__img:hover {
  opacity: 1;
}
.p-top05__img:hover figure img {
  transform: scale(1.05);
}
.p-top05__img:hover .c-btn02::after {
  left: 0;
}
.p-top05__img:hover .c-btn02 img {
  transform: translateX(5px);
}
.p-top05__txt {
  width: 100%;
  max-width: 1160px;
  margin: 0 auto;
  text-align: right;
}
.p-top05__txt .c-ttl01,
.p-top05__txt p {
  max-width: 450px;
  margin-right: 0;
  margin-left: auto;
  text-align: right;
}
.p-top05__txt .c-ttl01 {
  margin-bottom: 62px;
  position: relative;
}
.p-top05__txt .c-ttl01::after {
  position: absolute;
  right: 0;
  top: -20px;
  content: "";
  width: 415px;
  height: 275px;
  background: url(../images/common/img_decord03.png) no-repeat center;
  background-size: contain;
  z-index: -1;
}
.p-top05__txt .c-ttl01__txt01 {
  margin-top: -103px;
  margin-right: 0px;
}
.p-top05__txt p {
  line-height: 1.6;
}

@media screen and (max-width: 999px) {
  .p-top01 {
    padding: 0 0 150px;
  }
  .p-top02 {
    padding: 0 0 125px;
  }
  .p-top03 {
    padding: 0 0 220px;
  }
  .p-top03 .c-ttl01 {
    margin-bottom: 134px;
  }
  .p-top04 {
    padding: 0 0 75px;
  }
  .p-top05 {
    padding: 125px 0 125px 0;
  }
  .p-top05__img {
    width: 50%;
    top: 50%;
  }
  .p-top05__img > img {
    min-height: 280px;
    object-fit: cover;
    object-position: center;
  }
  .p-top05__txt {
    width: 50%;
    max-width: 1160px;
    margin-right: 0;
    margin-left: auto;
    text-align: right;
    padding-right: 20px;
    padding-left: 20px;
  }
  .p-top05__txt .c-ttl01__txt01 {
    margin-top: -60px;
  }
}
@media screen and (max-width: 768px) {
  .p-top01 {
    background: url(../images/common/img_bg01.jpg) no-repeat bottom center;
    background-size: 200%;
    font-size: 1.6rem;
    padding: 20px 0 80px 0;
    margin-top: 0;
  }
  .p-top01 .c-ttl01 {
    margin-bottom: 8px;
  }
  .p-top01 p {
    margin-bottom: 25px;
    line-height: 0;
    letter-spacing: 0.01em;
    text-align: left;
  }
  .p-top01 p span {
    line-height: 1.8;
  }
  .p-top01 .txt {
    font-size: 2rem;
    margin-top: 0;
  }
  .p-top02 {
    padding: 40px 0 40px 0;
  }
  .p-top02 .c-ttl01 {
    text-align: center;
    margin-top: 0;
    padding-right: 0;
    z-index: 2;
  }
  .p-top02 .c-ttl01::after {
    right: auto;
    left: 50%;
    top: 70%;
    transform: translate(-50%, -50%);
    width: 192px;
    height: 183px;
  }
  .p-top02__content {
    padding: 100px 0 30px 0;
  }
  .p-top02 .c-box01 {
    margin-bottom: 40px;
  }
  .p-top03 {
    padding: 40px 0 185px 0;
  }
  .p-top03 .c-ttl01 {
    text-align: center;
    top: 0;
    padding-right: 0;
    margin-bottom: 72px;
  }
  .p-top03 .c-ttl01::after {
    right: auto;
    left: 50%;
    top: 70%;
    transform: translate(-50%, -50%);
    width: 197px;
    height: 195px;
  }
  .p-top03 .c-slider02 {
    margin-bottom: 60px;
  }
  .p-top04 {
    padding: 40px 0 40px 0;
  }
  .p-top04 .c-box01 {
    margin-bottom: 80px;
  }
  .p-top04 .c-box01:last-child {
    margin-bottom: 40px;
  }
  .p-top04 .c-box01--bottom .c-box01__img .ttl01 {
    margin-bottom: -10px;
    left: 0;
  }
  .p-top04 .c-box01--top .c-box01__img .ttl01 {
    top: -35px;
    right: 0;
  }
  .p-top05 {
    padding: 40px 0 60px 0;
  }
  .p-top05__inner {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column-reverse;
  }
  .p-top05__img {
    margin: 0 20px;
    width: calc(100% - 40px);
    position: relative;
    left: 0;
    top: 0;
    transform: none;
  }
  .p-top05__img > img {
    min-height: 200px;
  }
  .p-top05__txt {
    text-align: center;
    width: 100%;
    margin-bottom: 40px;
  }
  .p-top05__txt .c-ttl01,
  .p-top05__txt p {
    max-width: 100%;
    text-align: left;
  }
  .p-top05__txt .c-ttl01 {
    margin-bottom: 60px;
    text-align: center;
  }
  .p-top05__txt .c-ttl01::after {
    right: auto;
    left: 50%;
    top: 80%;
    transform: translate(-50%, -50%);
    width: 208px;
    height: 138px;
  }
  .p-top05__txt .c-ttl01__txt01 {
    margin-top: -40px;
    margin-right: 0px;
  }
}
