.p-fv {
  background: url("../images/top/img_fv.jpg") center/cover no-repeat;
  height: 92.5rem;
  padding-top: 11rem;
  display: flex;
  justify-content: center;
  text-align: center;
  position: relative;
}
.p-fv__scroll {
  color: #FFF;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  z-index: 1;
}
.p-fv__scroll::after {
  content: "";
  width: 1px;
  height: 89px;
  background-color: #FFF;
  display: block;
  margin: 1rem auto 0;
}
.p-fv__copy {
  font-size: 1rem;
  margin-top: 1rem;
  letter-spacing: 0.03rem;
  color: #fff;
}
.p-fv__link {
  display: flex;
  justify-content: center;
  margin-top: 6rem;
}
.p-fv__link-contact {
  margin-left: 2rem;
}
.p-fv__logo {
  width: 21.8rem;
  margin: 0 auto;
}

.p-copy {
  position: relative;
  padding-bottom: 7.5rem;
}
.p-copy .c-copy {
  font-size: 2.6rem;
  position: absolute;
  top: 37rem;
  left: 4rem;
  z-index: 1;
}
.p-copy .c-copy span {
  padding: 1.5rem 0.25rem 0.5rem;
  background-color: #F8F8F8;
}
.p-copy__image.image02 {
  width: 19.5rem;
  margin: 7.5rem 0 7.5rem auto;
}
.p-copy__animation {
  width: 30rem;
  position: absolute;
  right: -18rem;
  bottom: 35rem;
}

.p-anniversary {
  background-color: #313131;
}
.p-anniversary .c-sec-title {
  color: #FFF;
  margin-top: 6rem;
}
.p-anniversary__content {
  position: relative;
  padding-bottom: 8rem;
  z-index: 1;
}
.p-anniversary__row {
  position: relative;
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  margin: 3rem 0;
}
.p-anniversary__animation {
  width: 32rem;
  position: absolute;
  right: -18rem;
  bottom: -7rem;
}
.p-anniversary__copy {
  position: absolute;
  top: -29%;
  left: 7%;
}
.p-anniversary__copy span {
  padding-top: 1rem;
}
.p-anniversary__image.image02 {
  margin-left: 3rem;
}
.p-anniversary__image.image03 {
  margin: 15rem 0 0;
}
.p-anniversary__ceremony {
  position: relative;
}
.p-anniversary__ceremony-inner {
  display: flex;
  align-items: flex-start;
}
.p-anniversary__ceremony-content {
  width: 31.8rem;
  padding-bottom: 25rem;
  position: relative;
}
.p-anniversary__ceremony-content::before {
  content: "";
  width: 1px;
  height: 54.4rem;
  display: block;
  position: absolute;
  left: 1.5rem;
  bottom: 0;
  background-color: #FFF;
  z-index: 1;
}
.p-anniversary__ceremony-title-en {
  width: calc(100% - 31.8rem);
}
.p-anniversary__ceremony-image.image02 {
  margin: 5rem 0 0;
}
.p-anniversary__ceremony-animation {
  width: 35rem;
  position: absolute;
  right: -18rem;
  bottom: -11rem;
}
.p-anniversary__ceremony .c-detail {
  margin-left: 4rem;
}
.p-anniversary__ceremony .c-link a:hover {
  color: #BEB89B;
}
.p-anniversary__ceremony .c-link a:hover::after {
  background-color: #BEB89B;
}
.p-anniversary__category-title-en {
  position: sticky;
  top: 7rem;
  left: 0.7rem;
  color: #FFF;
  writing-mode: vertical-rl;
  display: flex;
  align-items: center;
  letter-spacing: 0.25rem;
}
.p-anniversary__category-title-jp {
  font-size: 3.5rem;
  color: #FFF;
  font-weight: bold;
  letter-spacing: 2rem;
  margin-bottom: -0.5rem;
  position: relative;
  z-index: 1;
}
.p-anniversary__family {
  padding-top: 13rem;
  background-color: #FFF;
  position: relative;
  z-index: 1;
}
.p-anniversary__family-inner {
  padding-bottom: 5rem;
}
.p-anniversary__family-wrapper {
  display: flex;
  align-items: flex-start;
  flex-direction: row-reverse;
}
.p-anniversary__family-content {
  width: 31.8rem;
  padding-bottom: 15rem;
  position: relative;
}
.p-anniversary__family-content::before {
  content: "";
  width: 1px;
  height: 42rem;
  display: block;
  position: absolute;
  left: 10rem;
  bottom: 0;
  background-color: #313131;
  z-index: 1;
}
.p-anniversary__family-title-en {
  left: 0;
  width: 7.5rem;
  color: #313131;
}
.p-anniversary__family-title-jp {
  text-align: right;
  color: #313131;
  margin-right: -2rem;
}
.p-anniversary__family-item-image.image02 {
  width: 19.5rem;
  margin: 7.5rem 1.5rem 7.5rem auto;
}
.p-anniversary__family-item-image.image03 {
  margin-left: 2.8rem;
}
@media screen and (max-width: 767px) {
  .p-anniversary__family-item-image.image03 {
    margin-left: 4.8rem;
  }
}
.p-anniversary__family-animation {
  width: 27.7rem;
  position: absolute;
  right: -18rem;
  bottom: -8rem;
  z-index: 1;
}
.p-anniversary__family .c-detail {
  margin-left: 12rem;
}
.p-anniversary__maternity {
  padding-bottom: 13rem;
  position: relative;
}
.p-anniversary__maternity::before {
  content: "";
  width: 1px;
  height: 40rem;
  display: block;
  position: absolute;
  left: 9rem;
  bottom: 0;
  background-color: #313131;
  z-index: 1;
}
.p-anniversary__maternity-item-image.image01 {
  width: 24.3rem;
  margin-left: 2.8rem;
}
@media screen and (max-width: 767px) {
  .p-anniversary__maternity-item-image.image01 {
    margin-left: 4.8rem;
  }
}
.p-anniversary__maternity-item-image.image02 {
  width: 24.5rem;
  margin: 6rem -2rem 0 7rem;
}
.p-anniversary__maternity .c-detail {
  margin-left: 11rem;
}
.p-anniversary__birthday {
  padding-top: 1rem;
  padding-bottom: 13rem;
  position: relative;
  background-color: #FFF;
}
.p-anniversary__birthday::before {
  content: "";
  width: 1px;
  height: 40rem;
  display: block;
  position: absolute;
  left: 8rem;
  bottom: 0;
  background-color: #313131;
  z-index: 1;
}
.p-anniversary__birthday-item-image.image01 {
  width: 24rem;
  margin-right: 1.2rem;
  margin-left: auto;
}
.p-anniversary__birthday-item-image.image02 {
  width: 27.8rem;
  margin-top: 6rem;
  margin-left: 2.8rem;
}
@media screen and (max-width: 767px) {
  .p-anniversary__birthday-item-image.image02 {
    margin-left: 4.8rem;
  }
}
.p-anniversary__birthday .c-detail {
  margin-left: 10rem;
}

.p-photowedding {
  background-color: #909090;
}
.p-photowedding .c-sec-title {
  margin-top: 8rem;
}
.p-photowedding .c-sec-title__en {
  color: #FFF;
}
.p-photowedding .c-sec-title__jp {
  color: #FFF;
}
.p-photowedding__row {
  position: relative;
  display: flex;
  margin-top: 2rem;
}
.p-photowedding__copy {
  position: absolute;
  top: -12rem;
  right: 3.5rem;
}
.p-photowedding__copy span {
  font-size: 1.7rem;
  padding: 1.5rem 0.25rem 0.5rem;
}
.p-photowedding__copy span:first-child {
  margin-top: -2rem;
  padding: 1rem 0.25rem 0.5rem;
}
.p-photowedding__content {
  position: relative;
  padding-bottom: 15rem;
}
.p-photowedding__image.image03 {
  margin-top: 10rem;
  margin-left: 2rem;
}
.p-photowedding__animation {
  width: 31rem;
  position: absolute;
  bottom: 13rem;
  left: -20rem;
}
.p-photowedding .c-link {
  margin-top: 4rem;
  text-align: center;
}
.p-photowedding__snapshot {
  padding-bottom: 25rem;
  position: relative;
}
.p-photowedding__snapshot::before {
  content: "";
  width: 1px;
  height: 43.5rem;
  display: block;
  position: absolute;
  left: 5rem;
  bottom: 0;
  background-color: #FFF;
  z-index: 1;
}
.p-photowedding__snapshot-item-image.image01 {
  width: 22rem;
  margin-left: auto;
}
.p-photowedding__snapshot-item-image.image02 {
  margin-top: 6rem;
  width: 27.8rem;
}
.p-photowedding__snapshot .c-detail {
  margin-top: 4rem;
  margin-left: 8rem;
}
.p-photowedding .c-link a:hover {
  color: #313131;
}
.p-photowedding .c-link a:hover::after {
  background-color: #313131;
}

.p-selfie {
  position: relative;
  padding-bottom: 5rem;
}
.p-selfie__animation {
  width: 30rem;
  position: absolute;
  right: -18rem;
  top: -15rem;
}
.p-selfie .c-sec-title {
  margin-top: 8rem;
}
.p-selfie .c-sec-title::after {
  background-color: #313131;
}
.p-selfie .c-loop {
  border-color: #313131;
}
.p-selfie .c-loop__text {
  color: #313131;
}
.p-selfie .c-detail {
  margin-top: 4rem;
  margin-left: 5rem;
}
.p-selfie__content {
  position: relative;
  width: 31.7rem;
  margin-left: auto;
  margin-top: 8rem;
  padding-bottom: 4rem;
}
.p-selfie__content::before {
  content: "";
  width: 1px;
  height: 42rem;
  display: block;
  position: absolute;
  left: 2rem;
  bottom: 0;
  background-color: #313131;
  z-index: 1;
}
.p-selfie__copy {
  position: absolute;
  top: -17.5rem;
  left: -1rem;
}
.p-selfie__copy span {
  padding: 1rem 0.25rem 0.5rem;
}
.p-selfie__image.image01 {
  margin: 0 2.8rem;
}
@media screen and (max-width: 767px) {
  .p-selfie__image.image01 {
    margin: 0 4.5rem;
  }
}

.p-flow {
  padding-bottom: 15rem;
}
.p-flow .c-loop {
  border-color: #313131;
}
.p-flow .c-loop__text {
  color: #313131;
}
.p-flow .c-sec-title {
  margin-top: 8rem;
}
.p-flow .c-sec-title::after {
  background-color: #313131;
}
.p-flow__slide-item {
  margin: 0 1rem;
  width: 20rem;
}
.p-flow__textarea {
  margin-top: 2rem;
  padding: 0 5rem 0 2.8rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.p-flow__text {
  line-height: 1.6;
}

.p-parallax__content {
  position: relative;
  height: 58.5rem;
  background-image: url("../images/top/img_studio-hardi.jpg");
  background-repeat: no-repeat;
  background-size: 140%;
  background-position-x: center;
}
.p-parallax__content-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 28rem;
  margin: 0 auto;
  display: block;
}
@media screen and (max-width: 767px) {
  .p-parallax__content-text {
    width: 25rem;
  }
}

.p-studio {
  padding: 15rem 0 10rem;
}
.p-studio .c-sec-title::after {
  background-color: #313131;
}
.p-studio-inner {
  position: relative;
}
.p-studio__animation {
  width: 25.7rem;
  position: absolute;
  right: -15rem;
  bottom: 20rem;
  z-index: 1;
}
.p-studio__image {
  position: relative;
}
.p-studio__image::before {
  content: "";
  width: 2.8rem;
  height: 1.7rem;
  background: url("../images/top/icon_studio.svg") center/contain no-repeat;
  display: block;
  position: absolute;
  top: -1rem;
  right: 1rem;
}
.p-studio__copy {
  position: absolute;
  top: 38rem;
  left: 3rem;
}
@media screen and (max-width: 767px) {
  .p-studio__copy {
    top: 36.5rem;
  }
}
.p-studio__copy span {
  background-color: #4F4F4F;
  color: #FFF;
  padding: 1rem 0.25rem 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-studio__copy span {
    letter-spacing: 0.2rem;
  }
}
.p-studio__hamasen {
  margin-top: 12rem;
}
.p-studio__hamasen-title {
  text-align: right;
  margin-bottom: -0.25rem;
}
.p-studio__hamasen-title img {
  width: 12.2rem;
}
.p-studio__hamasen-image {
  display: flex;
  flex-wrap: wrap;
}
.p-studio__hamasen-image img:first-child {
  width: 100%;
  margin-bottom: 2rem;
}
.p-studio__hamasen-image img:not(:first-child) {
  width: calc(50% - 1rem);
}
.p-studio__hamasen-image img:last-child {
  margin-left: 2rem;
}
.p-studio__akitsu {
  margin-top: 12rem;
}
.p-studio__akitsu-title {
  margin-bottom: -0.25rem;
}
.p-studio__akitsu-title img {
  width: 19.8rem;
}
.p-studio .c-link {
  margin: 10rem auto 0;
  text-align: center;
}

.p-photographer {
  padding-bottom: 10rem;
}
.p-photographer .c-loop {
  border-top: 1px solid #313131;
  border-color: #313131;
}
.p-photographer .c-loop__text {
  color: #313131;
}
.p-photographer .c-sec-title {
  margin-top: 10rem;
}
.p-photographer .c-sec-title::after {
  background-color: #313131;
}
.p-photographer__slide {
  position: relative;
}
.p-photographer__slide::before {
  content: "";
  width: 2.8rem;
  height: 1.7rem;
  background: url("../images/top/icon_studio.svg") center/contain no-repeat;
  display: block;
  position: absolute;
  top: -1rem;
  right: 5rem;
  z-index: 1;
}
.p-photographer__slide-item {
  width: 20rem;
  margin: 0 1rem;
}
.p-photographer__textarea {
  margin-top: 2rem;
  padding: 0 5rem 0 2.8rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.p-photographer__text {
  line-height: 1.6;
}

/*# sourceMappingURL=top.css.map */
