#opening {
	position: fixed;
	inset: 0;
	z-index: 9999;
	background-color:var(--color-bg);
	display: none;
	align-items: center;
	justify-content:flex-start;
	opacity: 1;
	transition: opacity 1s ease;
}
@media (width < 767px) {
	.openingword {
		font-size:var(--font-sp-x-large);
		line-height:200%;
		padding-left:5.33vw;
	}
}
@media (min-width: 768px) {
	#opening {
		display: none !important;
	}
}
#opening.is-active {
	display: flex;
}
#opening.is-hidden {
	opacity: 0;
	pointer-events: none;
}
/*-----------------------------------------
top-mainvisual
------------------------------------------*/
.mainvisual-top {
	position: relative;
	z-index: 1;
}
.mainvisual-top:after {
	content:"";
	position: absolute;
	left:0;
	background-repeat: no-repeat;
	background-size:100% auto;
	background-position: center bottom;
	width:100%;
	z-index: 2;
}
.top-slide {
	position: absolute;
	width:100%;
	z-index: -1;
}
.top-slide li {
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-repeat: no-repeat;
	background-size:cover;
	background-position: center top;
}
.topslide-1 {
	z-index: 3;
	background-image: url(../images/top/topslide-pc-1.webp);
	animation: fadeOut 1s linear forwards;
}
.topslide-2 {
	z-index: 2;
	background-image: url(../images/top/topslide-pc-2.webp);
	animation: fadeOut 1s linear forwards;
}
.topslide-3 {
	z-index: 1;
	background-image: url(../images/top/topslide-pc-3.webp);
}
@keyframes fadeOut {
  from { opacity: 1; }
  to { opacity: 0; }
}

.top-slide.is-skipped .topslide-1,
.top-slide.is-skipped .topslide-2 {
	animation: none !important;
	opacity: 0 !important;
}

@media (width < 767px) {
	.mainvisual-top {
		background-image:url(../images/bg-green.webp);
		background-repeat: repeat;
	}
	.mainvisual-top:after {
		background-image:url(../images/top/bg-top-about-pc.webp);
		aspect-ratio:288/40;
		top:calc(56vw + 60px);
	}
	.pc-nav {
		display: none;
	}
	.mainvisual-top {
		padding-top:60px;
	}
	.maincopy-top {
		position: relative;
		z-index: 3;
		padding-top:80vw;
		padding-right: 5.33vw;
		padding-left: 5.33vw;
	}
	.maincopy-top * {
		color:var(--color-white);
		text-shadow: 0px 1px 8px rgba(0, 0, 0, 0.55);
	}
	.maincopy-top .item-a {
		font-size:var(--font-sp-x-large);
		line-height:200%;
		padding-bottom:2em;
	}
	.maincopy-top .item-b,
	.maincopy-top .item-c,
	.maincopy-top .item-d {
		font-size:var(--font-sp-normal);
		line-height:200%;
		padding-bottom:1em;
	}
	.top-slide,
	.top-slide li {
		aspect-ratio:288 / 200;
	}
	.sp-subslide {
		padding-top:18.6vw;
		transform: translateY(-1px);
	}
	.topslide-1 {
		animation-delay: 5s;
	}
	.topslide-2 {
		animation-delay: 7s;
	}
}
@media (768px <= width) {
	.mainvisual-top:after {
		background-image:url(../images/top/bg-top-about-pc.webp);
		aspect-ratio:288/40;
		bottom:-1px;
	}
	#sequence {
		display: flex;
		flex-direction: column;
		align-items: center;
		padding-top: 140px;
		width: 450px;
		z-index: 3;
		left: 68%;
		transform: translateX(-50%);
		will-change: transform;
	}
	#sequence.fixed {
		position: fixed;
		top: 0;
	}
	#sequence.absolute {
		position: absolute;
	}
.item {
  width: 460px;
  margin-bottom: 40px;
  opacity: 0;
  line-height: 175%;
  color: var(--color-white);
  text-shadow: 0px 1px 8px rgba(0, 0, 0, 0.55);
  transition: opacity 0.6s ease;
}

/* フェードインのみ */
.item.active {
  opacity: 1;
}
.item:not(.item-a) {
  transform: translateY(40px);
  transition:
    opacity 0.6s ease,
    transform 0.6s ease;
}

.item:not(.item-a).active {
  transform: translateY(0);
}

.item:not(.item-a).exit {
  transform: translateY(-40px);
}
.item-a {
  font-size: 40px;
  position: absolute;
  top: 220px;
  left: 50%;

  transform: translateX(-50%) translateY(80px);
  opacity: 0;

  transition:
    opacity 3s cubic-bezier(0.16, 1, 0.3, 1),
    transform 3s cubic-bezier(0.16, 1, 0.3, 1);

  will-change: opacity, transform;
  backface-visibility: hidden;
}
.item-a.active {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}
.item-a.exit {
  transform: translateX(-50%) translateY(-50vh);
}
	.mainvisual-top,
	.top-slide,
	.top-slide li {
		aspect-ratio:288 / 200;
	}
	.topslide-1 {
		animation-delay: 2s;
	}
	.topslide-2 {
		animation-delay: 4s;
	}
}
/*-----------------------------------------
top-sec1 and 2
------------------------------------------*/
.top-sec-tt-en,
.top-sec-tt-jp,
.top-sec-tt-jp div {
	display:inline-block;
	overflow: hidden;
}
.top-sec-tt-en span,
.top-sec-tt-jp span {
	display:inline-block;
}
.top-sec-tt-jp span {
	width:0.9em;
}
.top-sec-tt-en span {
	width:0.45em;
}
.top-sec-1 .top-sec-tt-en span:first-child {
	width:0.55em;
}
.top-sec-2 .top-sec-tt-en span:first-child {
	width:0.85em;
}
.top-sec-2 .top-sec-tt-en span:nth-child(3) {
	width:0.25em;
}
/*--sec1 and common--*/
.viewmore {
	position: relative;
}
.viewmore-inner {
	position: absolute;
	bottom:0;
	right:0;
}
@media (width < 767px) {
	.top-sec-1 {
		padding-top:66px;
		padding-bottom:80px;
		transform: translateY(-2px);
	}
	.top-sec-tt-en {
		min-width:89.34vw;
		height:12.8vw;
		margin-bottom:4vw;
	}
	.top-sec-tt-en span {
		font-size:var(--font-sp-xx-large);
		padding-top:6px;
	}
	.top-sec-tt-jp {
		margin-bottom: 6.4vw;
	}
	.top-sec-tt-jp div {
		height:7.2vw;
		margin-bottom: 0.4vw;
	}
	.top-sec-tt-jp span {
		font-size:var(--font-sp-x-large);
	}
	.viewmore {
		min-width:58.6vw;
	}
}
@media (768px <= width) {
	.top-sec-1 {
		padding-top:180px;
		padding-bottom:200px;
	}
	.top-section {
		display:flex;
		justify-content: space-between;
	}
	.top-sec-tt-en {
		min-width:180px;
		height:44px;
		padding-left:2%;
	}
	.viewmore {
		min-width:250px;
	}
	.top-sec-1 .top-sec-tt-jp {
		padding-bottom:45px;
		width:320px;
		grid-row-gap: 20px;
	}
	.top-sec-tt-jp div {
		height:36px;
		margin-bottom:8px;
	}
	.top-sec-tt-en span {
		font-size:var(--font-pc-xxx-large);
		padding-top:6px;
	}
	.top-sec-tt-jp span {
		font-size:var(--font-pc-xx-large);
	}
	.top-sample {
		padding-top:24px;
	}
}
/*--sec2--*/
@media (width < 767px) {
	.top-sec-2 {
		padding-top:21.3vw;
		padding-bottom:18.6vw;
	}
}
@media (768px <= width) {
	.top-sec-2 {
		padding-top:170px;
		padding-bottom:80px;
	}
}