.l-main {
  position: relative;
  overflow: hidden;
}

.p-main__deco {
  width: 92.7%;
  padding-top: 21.4%;
  margin: 0 auto;
  border-radius: 10px;
  position: relative;
  overflow: hidden;
  transition: -webkit-clip-path 0.8s var(--ease-main);
  transition: clip-path 0.8s var(--ease-main);
  transition: clip-path 0.8s var(--ease-main), -webkit-clip-path 0.8s var(--ease-main);
  -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
  clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
}
@media screen and (max-width: 900px) {
  .p-main__deco {
    margin: 0;
    margin-left: auto;
    width: 94.8%;
    height: 0;
    padding-top: 43.3%;
    border-radius: 6px 0 0 6px;
    -webkit-clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
    clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
  }
}
.p-main__deco.is-active {
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
}
.p-main__deco.is-active .p-in-item {
  opacity: 1;
  transform: scale(1);
}
.p-main__deco .p-in-item {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transition: transform 3s var(--ease-main), opacity 0.7s var(--ease-main);
  opacity: 0;
  transform: scale(1.1);
}
.p-main__deco .p-in-item img {
  width: 100%;
}
@media screen and (min-width: 901px) {
  .p-main__deco .p-in-item img {
    transform: translateY(-35%);
  }
}

.p-kv {
  width: 100%;
  background-color: var(--color-gray);
  position: relative;
  opacity: 0;
  transition: opacity 0.4s var(--ease-main);
}
.is-load .p-kv {
  opacity: 1;
}

.p-kv__image {
  width: 68.5%;
  margin: 0 auto;
  padding: 52px 0;
  opacity: 0;
  filter: blur(10px);
  transform: scale(1.05);
  transition: opacity 0.8s var(--ease-main), transform 0.8s var(--ease-main), filter 1s var(--ease-main);
}
.is-load .p-kv__image {
  opacity: 1;
  filter: blur(0);
  transform: scale(1);
}
@media screen and (max-width: 900px) {
  .p-kv__image {
    width: 93%;
    margin: 0 auto;
    padding: 147px 0;
  }
}

.p-kv__scroll {
  padding-bottom: 19px;
  writing-mode: vertical-lr;
  font-family: var(--font-en);
  font-size: 1.4rem;
  letter-spacing: -0.03em;
  font-weight: var(--font-w-sb);
  position: absolute;
  right: 48px;
  bottom: 51px;
  opacity: 0;
  transform: translateY(-10px);
  transition: opacity 0.8s var(--ease-main) 0.2s, transform 0.8s var(--ease-main) 0.2s;
}
.is-load .p-kv__scroll {
  opacity: 1;
  transform: translateY(0);
}
@media screen and (max-width: 900px) {
  .p-kv__scroll {
    padding-bottom: 11px;
    font-size: 1.1rem;
    right: 19px;
    bottom: 20px;
  }
}
.p-kv__scroll::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  position: absolute;
  bottom: 0;
  left: 50%;
  background-color: var(--color-main);
  border-radius: 50rem;
  opacity: 0;
  transform: translateX(-50%) scale(0.5);
  transition: opacity 0.5s var(--ease-main) 0.6s, transform 0.5s var(--ease-bound) 0.6s;
}
.is-load .p-kv__scroll::before {
  opacity: 1;
  transform: translateX(-50%) scale(1);
}
@media screen and (max-width: 900px) {
  .p-kv__scroll::before {
    width: 6px;
    height: 6px;
  }
}

.p-about {
  width: 100%;
  padding-top: 141px;
  position: relative;
}
@media screen and (max-width: 900px) {
  .p-about {
    padding-top: 67px;
  }
}

.p-about__deco-ss {
  position: absolute;
  width: 25.8%;
  padding-top: min(25.7%, 352px);
  top: 148px;
  left: 0;
  border-radius: 0 10px 10px 0;
  overflow: hidden;
  -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
  clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
  transition: -webkit-clip-path 0.7s var(--ease-main) 0.1s;
  transition: clip-path 0.7s var(--ease-main) 0.1s;
  transition: clip-path 0.7s var(--ease-main) 0.1s, -webkit-clip-path 0.7s var(--ease-main) 0.1s;
}
.is-active .p-about__deco-ss {
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
}
.p-about__deco-ss .p-in-item {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  background: url(../img/ss01.jpg) no-repeat left/cover;
  transform: scale(1.1);
  transition: transform 3s var(--ease-main) 0.1s;
}
.is-active .p-about__deco-ss .p-in-item {
  transform: scale(1);
}
.p-about__deco-chara .p-in-item {
  width: 10%;
  position: absolute;
  opacity: 0;
  transition: opacity 0.5s var(--ease-main) 0.3s, transform 0.5s var(--ease-bound) 0.3s;
}
.p-about__deco-chara .p-in-item:nth-of-type(1) {
  width: 12.3%;
  top: 39.5%;
  left: 8.4%;
  transform: translateY(10px);
  transition-delay: 0.5s;
}
.p-about__deco-chara .p-in-item:nth-of-type(2) {
  width: 14.3%;
  top: 6.8%;
  right: 3.6%;
  transform: translateX(40px);
  transition-delay: 0.3s;
}
@media screen and (max-width: 900px) {
  .p-about__deco-chara .p-in-item:nth-of-type(2) {
    width: 21.4%;
    max-width: 100px;
    top: 4.1%;
    right: 6.1%;
  }
}
.is-active .p-about__deco-chara .p-in-item {
  opacity: 1;
  transform: translateX(0);
}

.p-about__title {
  margin-bottom: 61px;
}
@media screen and (max-width: 900px) {
  .p-about__title {
    margin-bottom: 29px;
  }
}

.p-about__main {
  width: 73.7%;
  margin-left: auto;
}
@media screen and (max-width: 900px) {
  .p-about__main {
    width: 100%;
    margin: 0 auto;
  }
}

.p-about__lead {
  margin-bottom: 27px;
  font-size: 3.4rem;
  line-height: 1.6;
  font-weight: var(--font-w-b);
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.5s var(--ease-main) 0.1s, transform 0.5s var(--ease-main) 0.1s;
}
.is-active .p-about__lead {
  opacity: 1;
  transform: translateY(0);
}
@media screen and (max-width: 900px) {
  .p-about__lead {
    margin-bottom: 18px;
    font-size: 1.6rem;
    line-height: 1.8;
  }
}

.p-about__logo {
  margin-bottom: 30px;
}
@media screen and (max-width: 900px) {
  .p-about__logo {
    margin-bottom: 19px;
  }
}
.p-about__logo-list {
  display: flex;
  align-items: center;
}
.p-about__logo-list-item {
  opacity: 0;
  transform: scale(1.04);
  transition: opacity 0.7s var(--ease-main) 0.1s, transform 0.7s var(--ease-bound) 0.1s;
}
.is-active .p-about__logo-list-item {
  opacity: 1;
  transform: scale(1);
}
.p-about__logo-list-item:nth-of-type(1) {
  transition-delay: 0.2s;
}
.p-about__logo-list-item:nth-of-type(2) {
  transition-delay: 0.3s;
}
.p-about__logo-list-item:nth-of-type(3) {
  transition-delay: 0.4s;
}
.p-about__logo-list-item.--pp {
  width: 212px;
}
@media screen and (max-width: 900px) {
  .p-about__logo-list-item.--pp {
    width: 35%;
  }
}
.p-about__logo-list-item.--ap {
  width: 160px;
}
@media screen and (max-width: 900px) {
  .p-about__logo-list-item.--ap {
    width: 26%;
  }
}
.p-about__logo-list-item.--sm {
  width: 200px;
}
@media screen and (max-width: 900px) {
  .p-about__logo-list-item.--sm {
    width: 32%;
  }
}
.p-about__logo-list-item + .p-about__logo-list-item {
  margin-left: 40px;
}
@media screen and (max-width: 900px) {
  .p-about__logo-list-item + .p-about__logo-list-item {
    margin-left: 3.5%;
  }
}

.p-about__detail {
  margin-bottom: 55px;
  font-size: 1.8rem;
  font-weight: var(--font-w-sb);
  line-height: 2.1;
  letter-spacing: 0.01em;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.5s var(--ease-main) 0.3s, transform 0.5s var(--ease-main) 0.3s;
}
.is-active .p-about__detail {
  opacity: 1;
  transform: translateY(0);
}
@media screen and (max-width: 900px) {
  .p-about__detail {
    margin-bottom: 30px;
    font-size: 1.3rem;
    line-height: 1.8;
  }
}

.p-about__pal-head {
  margin-bottom: 21px;
  color: var(--color-main);
  font-weight: var(--font-w-b);
  font-size: 2.2rem;
  opacity: 0;
  transform: translateX(10px);
  transition: opacity 0.5s var(--ease-main) 0.4s, transform 0.5s var(--ease-main) 0.4s;
}
.is-active .p-about__pal-head {
  opacity: 1;
  transform: translateX(0);
}
@media screen and (max-width: 900px) {
  .p-about__pal-head {
    margin-bottom: 14px;
    font-size: 1.7rem;
  }
}
.p-about__pal-detail {
  font-weight: var(--font-w-sb);
  font-size: 1.8rem;
  line-height: 2.1;
  letter-spacing: 0.01em;
  opacity: 0;
  transform: translateX(10px);
  transition: opacity 0.5s var(--ease-main) 0.5s, transform 0.5s var(--ease-main) 0.5s;
}
.is-active .p-about__pal-detail {
  opacity: 1;
  transform: translateX(0);
}
@media screen and (max-width: 900px) {
  .p-about__pal-detail {
    font-size: 1.3rem;
    line-height: 1.77;
  }
}

.p-company {
  margin-bottom: 115px;
  padding-top: 161px;
}
@media screen and (max-width: 900px) {
  .p-company {
    margin-bottom: 77px;
    padding-top: 78px;
  }
}

.p-company__inner {
  display: flex;
}
@media screen and (max-width: 900px) {
  .p-company__inner {
    display: block;
  }
}

.p-company__title {
  margin-right: 92px;
}
@media screen and (max-width: 900px) {
  .p-company__title {
    margin-right: 0;
    margin-bottom: 31px;
  }
}
.p-company__title .u-small {
  display: block;
  margin-top: 10px;
  font-size: 1.8rem;
}
@media screen and (max-width: 900px) {
  .p-company__title .u-small {
    display: inline-block;
    margin: 0;
    font-size: 1.4rem;
    vertical-align: baseline;
  }
}

.p-company__content {
  flex: 1;
}
.p-company__content-list {
  margin-top: 7px;
}
@media screen and (max-width: 900px) {
  .p-company__content-list {
    margin-top: 0;
  }
}
.p-company__content-list-item {
  display: flex;
  align-items: flex-start;
  margin-bottom: 35px;
  opacity: 0;
  transform: translateX(10px);
  transition: opacity 0.7s var(--ease-main) 0.1s, transform 0.7s var(--ease-bound) 0.1s;
}
.is-active .p-company__content-list-item {
  opacity: 1;
  transform: translateX(0);
}
.p-company__content-list-item:nth-of-type(1) {
  transition-delay: 0.2s;
}
.p-company__content-list-item:nth-of-type(2) {
  transition-delay: 0.3s;
}
.p-company__content-list-item:nth-of-type(3) {
  transition-delay: 0.4s;
}
.p-company__content-list-item .p-in-head {
  width: 170px;
  margin-right: 27px;
  padding: 7px 0 8px;
  text-align: center;
  background-color: var(--color-black);
  border-radius: 50rem;
  color: var(--color-white);
  font-size: 1.5rem;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 900px) {
  .p-company__content-list-item .p-in-head {
    width: 100px;
    margin-right: 10px;
    padding: 4px 5px 5px;
    font-size: 1.1rem;
  }
}
.p-company__content-list-item .p-in-detail {
  flex: 1;
  font-size: 1.8rem;
  line-height: 1.55;
}
@media screen and (max-width: 900px) {
  .p-company__content-list-item .p-in-detail {
    font-size: 1.3rem;
    line-height: 1.55;
  }
}

.p-news {
  padding-top: 142px;
  position: relative;
}
[data-lang=en] .p-news {
  padding-bottom: 177px;
}
@media screen and (max-width: 900px) {
  .p-news {
    padding-top: 68px;
  }
  [data-lang=en] .p-news {
    padding-bottom: 87px;
  }
}

.p-news__title {
  margin-bottom: 72px;
  text-align: center;
}
@media screen and (max-width: 900px) {
  .p-news__title {
    margin-bottom: 34px;
  }
}

.p-news__content {
  margin-bottom: 66px;
}
@media screen and (max-width: 900px) {
  .p-news__content {
    margin-bottom: 30px;
  }
}
.p-news__content-list-item {
  opacity: 0;
  transform: translateX(10px);
  transition: opacity 0.7s var(--ease-main) 0.1s, transform 0.7s var(--ease-bound) 0.1s;
}
.is-active .p-news__content-list-item {
  opacity: 1;
  transform: translateX(0);
}
.p-news__content-list-item:nth-of-type(1) {
  transition-delay: 0.2s;
}
.p-news__content-list-item:nth-of-type(2) {
  transition-delay: 0.3s;
}
.p-news__content-list-item:nth-of-type(3) {
  transition-delay: 0.4s;
}

.p-news__more {
  margin-left: auto;
  opacity: 0;
  transform: translateX(-10px);
  transition: opacity 0.7s var(--ease-main) 0.4s, transform 0.7s var(--ease-bound) 0.4s;
}
.is-active .p-news__more {
  opacity: 1;
  transform: translateX(0);
}

.p-news__deco-chara {
  width: 18%;
  max-width: 82px;
  position: absolute;
  bottom: 0.3%;
  left: 7.5%;
}

.p-goods {
  margin-bottom: 115px;
  padding-top: 76px;
}
@media screen and (max-width: 900px) {
  .p-goods {
    margin-bottom: 135px;
    padding-top: 47px;
  }
}

.p-goods__title {
  margin-bottom: 72px;
  text-align: center;
}
@media screen and (max-width: 900px) {
  .p-goods__title {
    margin-bottom: 30px;
  }
}
.p-goods__title .u-small {
  display: block;
  margin-top: 9px;
  font-size: 1.8rem;
}
@media screen and (max-width: 900px) {
  .p-goods__title .u-small {
    font-size: 1.6rem;
  }
}

.p-goods__contents {
  margin-bottom: 20px;
}
@media screen and (max-width: 900px) {
  .p-goods__contents {
    width: 70%;
    margin: 0 auto 20px;
  }
}
.p-goods__contents-list {
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 900px) {
  .p-goods__contents-list {
    display: block;
  }
}
.p-goods__contents-list-item {
  width: 297px;
  margin: 0 14px;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.5s var(--ease-main) 0.1s, transform 0.5s var(--ease-main) 0.1s;
}
.is-active .p-goods__contents-list-item {
  opacity: 1;
  transform: translateY(0);
}
.p-goods__contents-list-item a {
  display: block;
  transition: transform 0.5s var(--ease-main);
}
@media screen and (min-width: 901px) {
  .p-goods__contents-list-item a:hover {
    transform: scale(0.97);
  }
}
@media screen and (max-width: 900px) {
  .p-goods__contents-list-item {
    width: 100%;
  }
  .p-goods__contents-list-item img {
    width: 100%;
    max-width: -webkit-fit-content;
    max-width: -moz-fit-content;
    max-width: fit-content;
    margin: 0 auto;
  }
  .p-goods__contents-list-item + .p-goods__contents-list-item {
    margin-top: 20px;
  }
}

.p-goods__caution {
  text-align: center;
  font-size: 1.5rem;
  font-weight: 600;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.5s var(--ease-main) 0.2s, transform 0.5s var(--ease-main) 0.2s;
}
.is-active .p-goods__caution {
  opacity: 1;
  transform: translateY(0);
}
@media screen and (max-width: 900px) {
  .p-goods__caution {
    font-size: 1.3rem;
  }
}

.p-goods__deco-chara {
  width: 18%;
  max-width: 82px;
  position: absolute;
  bottom: 0.3%;
  left: 7.5%;
}