.opening {
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    position: fixed;
    background: url(../img/opening_bg.jpg) repeat-x bottom center;
    background-size: cover;
    transition: all 0.5s ease-in-out;
    z-index: 99998;
}

.band {
    position: absolute;
    bottom: -0.5vh;
    z-index: 1;
    width: 100%;
    height: 30vw;
    background: url(../img/opening_band.png) no-repeat bottom center;
    background-size: contain;
    z-index: 6;
}

.opening-inner {
    position: relative;
    width: 90%;
    height: 100vh;
	margin: 0 auto;
}

.opening--out {
    opacity: 0 !important;
    transition: opacity 0.5s !important;
}

.opening--hidden {
    display: none !important;
}

.opening_insert {
    position: absolute;
    bottom: 5vw;
    left: 50%;
    transform: translate(-50%,0);
    width: 105vh;
    z-index: 6;
    min-height: 100%;
    background: url(../img/opening_insert.png) no-repeat 50% 100%;
    background-size: contain;
}
.opening_ttl01 {
	position: absolute;
    bottom: 32vh;
    left: 20%;
    width: 60vh;
    min-height: 100%;
    transform: translate(-50%,0);
    background: url(../img/opening_ttl01.png) no-repeat 50% 100%;
    background-size: contain;
}
.opening_ttl02 {
	position: absolute;
    bottom: 32vh;
    right: 20%;
    width: 60vh;
    min-height: 100%;
    transform: translate(50%,0);
    background: url(../img/opening_ttl02.png) no-repeat 50% 100%;
    background-size: contain;
}

@media screen and (max-width: 1023px) {
		.A {
	    position: absolute;
	    top: 20px;
	    right: 10px;
	    z-index: 999999;
	    display: inline-block;
	    width: 50px;
	    height: 50px;
	    padding: 0px 12px;
	    cursor: pointer;
	    font-size: 26px;
	    /* font-weight: bold; */
	    color: #fff;
	    /* background: #fff; */
	    border: 1px solid #fff;
	    border-radius: 50px;
	}
}
@media screen and (max-width: 768px) {
	.opening {
	    width: 100vw;
	    height: 100vh;
	    top: 0;
	    left: 0;
	    overflow: hidden;
	    position: fixed;
	    background: url(../img/opening-sp_bg.jpg?update=20240222) no-repeat;
	    background-size: cover;
	    transition: all 0.5s ease-in-out;
	    z-index: 99999;
	}
	.band {
	    position: absolute;
	    bottom: 0;
	    z-index: 1;
	    width: 100%;
	    height: 254px;
	    background: url(../img/opening-sp_band.png) repeat-x top center;
	    background-size: cover;
			z-index: 7;
	}
	.opening-inner {
	    position: relative;
	    width: 100%;
	    height: 100vh;
			margin: 0 auto;
	}
	.opening--out {
	    opacity: 0 !important;
	    transition: opacity 0.5s !important;
	}

	.opening--hidden {
	    display: none !important;
	}
	.opening_insert {
			position: absolute;
			top: 220px;
			bottom: auto;
			left: 50%;
			transform: translate(-50%,0);
			width: 120%;
			min-height: 100%;
			background: url(../img/opening_insert.png?update=20240221) no-repeat;
			background-size: contain;
			z-index: 6;
	}
	.opening_ttl01 {
		position: absolute;
		top: 100px;
		bottom: auto;
		left: -5%;
		width: 54%;
		min-height: 100%;
		transform: translate(0%,0);
		background: url(../img/opening_ttl01.png) no-repeat;
		background-size: contain;
	}
	.opening_ttl02 {
		position: absolute;
		top: 100px;
		bottom: auto;
		right: -5%;
		width: 54%;
		min-height: 100%;
		transform: translate(0%,0);
		background: url(../img/opening_ttl02.png) no-repeat;
		background-size: contain;
	}
}