@charset "utf-8";
body {
	-webkit-text-size-adjust: 100%;
	background: #000;
	color: #fff;
	font-family: 'Noto Serif JP', serif;
	font-size: 14px;
	font-weight: normal;
	letter-spacing: 0.07em;
	line-height: 1.6;
	word-wrap: break-word;
}
.cinzel {
	font-family: 'Cinzel', serif;
}
.noto-tc {
	font-family: "Noto Serif TC", serif;
}
a {
	color: #222;
}
a:hover {
	text-decoration: none;
}
.ah {
	transition: opacity .3s ease;
}
.ah:hover {
	opacity: .7;
}
img {
	max-width: 100%;
	height: auto;
}
::selection {
	background: #42afe6;
	color: #fff;
}
::-moz-selection {
	background: #42afe6;
	color: #fff;
}
#tp {
	background: transparent;
}
#fullWrap {
	min-width: 1200px;
}
@media screen and (max-width:768px) {
	html {
		font-size: 62.5%;
	}
	body {
		font-size: 10px;
		font-size: 1rem;
		min-width: 320px;
		font-weight: 500;
	}
	.pc {
		display: none;
	}
	.ah:hover {
		opacity: 1;
	}
	#fullWrap {
		min-width: 320px;
		overflow: hidden;
	}
}
@media screen and (min-width:769px) {
	.sp {display: none;}
}
/* fullCursor */
.fullCursor {
	width: 8px;
	height: 8px;
	mix-blend-mode: difference;
	pointer-events: none;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10001;
}
.fullCursor__in {
	width: 8px;
	height: 8px;
	position: relative;
	transform: rotate(45deg);
}
.fullCursor__in:before {
	content: "";
	background-color: #fff;
	display: block;
	width: 8px;
	height: 8px;
	transition: all .3s ease-in-out;
}
.fullCursor.active .fullCursor__in:before {
	transform: scale(3);
}
.fullCursor.on-iframe {
	opacity: 0;
}
@media screen and (max-width:768px) {
	.fullCursor {
		display: none;
	}
}
.mv {
	min-height: 640px;
	display: flex;
	background: url(../../../assets/img/common/ptn/ptn_white.png) repeat fixed center center / 450px;
}
.mv__left {
	width: 50%;
	min-height: 640px;
	position: relative;
}
.mv__leftcont {
	display: flex;
	position: relative;
	z-index: 3;
	justify-content: center;
	align-items: center;
	position: sticky;
	left: 0;
	top: 0;
	height: 100vh;
	width: 100%;
}
.mv__leftcont:before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 308px;
	height: 255px;
	background: url(../img/deco_tl.png) no-repeat left top / contain;
}
.mv__leftcont:after {
	content: '';
	position: absolute;
	right: 0;
	bottom: 0;
	width: 251px;
	height: 201px;
	background: url(../img/deco_br.png) no-repeat right bottom / contain;
}
.mv__left--logos {
	width: 448px;
	height: 506px;
	display: flex;
	flex-direction: column;
	margin-bottom: 113px;
}
.mv__logo {
	margin: 0 auto 24px 43px;
	width: 387px;
	height: 300px;
	background: url(../img/logo.png) no-repeat center center / contain;
	order: 1;
	image-rendering: -webkit-optimize-contrast;
}
.mv__catch {
	width: 306px;
	height: 58px;
	margin: 0 auto 10px;
	background: url(../img/catch.png) no-repeat center center / contain;
	image-rendering: -webkit-optimize-contrast;
}
.mv__device {
	width: 243px;
	height: 49px;
	margin: 0 auto -2px;
	background: url(../img/device.png) no-repeat center center / contain;
	image-rendering: -webkit-optimize-contrast;
	order: 2;
}
.mv__date {
	width: 100%;
	height: 67px;
	background: url(../img/date.png) no-repeat center center / contain;
	image-rendering: -webkit-optimize-contrast;
	order: 3;
}
.mv__right {
	width: 50%;
	min-height: 640px;
	position: relative;
}
.mv__right--img {
	position: sticky;
	left: 0;
	top: 0;
	padding-top: 125.3333%;
	background: url(../img/mv.jpg) no-repeat center center / cover;
}
.mv__toStore {
	position: absolute;
	left: 50%;
	top: 0;
	bottom: 0;
	width: 460px;
	margin-left: -230px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	z-index: 50;
}
.mv__toStore--btn {
	margin-bottom: 16px;
	position: sticky;
	left: 0;
	bottom: 0;
}
.mv__toStore--btn:nth-of-type(1) {
	bottom: 76px;
}
@media screen and (max-width:768px) {
	.mv {
		min-height: 1.856vw;
		display: flex;
		flex-wrap: wrap;
		background: url(../../../assets/img/common/ptn/ptn_white.png) repeat fixed center center / 60vw;
	}
	.mv__left {
		width:100%;
		min-height: 62.9333vw;
		order:2;
	}
	.mv__leftcont {
		display: block;
		position: relative;
		z-index: 3;
		top: auto;
		bottom:auto;
		left:auto;
		min-height: 62.9333vw;
		height:auto;
		width: 100%;
		max-height:none !important;
	}
	.mv__leftcont:before {
		width: 41.0666vw;
		height: 34vw;
	}
	.mv__leftcont:after {
		width: 33.4666vw;
		height: 26.8vw;
	}
	.mv__left--logos {
		width: 100vw;
		height: 82.6666vw;
		margin-bottom: 0;
		transform:none !important;
		position: absolute;
		left:0;
		top:-32.3666vw;
		z-index:10;
	}
	.mv__logo {
		margin: 0 auto 3.6666vw 21.0666vw;
		width: 61.8666vw;
		height: 48vw;
	}
	.mv__catch {
		width: 100%;
		height: 10.9vw;
		margin: 0 auto 2vw;
	}
	.mv__device {
		width:100%;
		height: 10.2vw;
	}
	.mv__right {
		width: 100%;
		min-height: 122.6666vw;
		position: relative;
	}
	.mv__date {
		width: 100%;
		height:13.6vw;
	}
	.mv__right--img {
		position: relative;
		left: none;
		top: none;
		padding-top: 122.6666vw;
	}
	.mv__toStore {
		position: fixed;
		left: 0;
		bottom: auto;
		width: 100%;
		margin-left:0;
		display: block;
		pointer-events:none;
	}
	.mv__toStore--btn {
		margin-bottom: 0;
		position: relative;
		left: auto;
		bottom: auto;
		width:61.6vw;
		margin:0 auto;
	}
	.mv__toStore--btn:nth-of-type(1) {
		bottom: 0;
		margin-bottom: 1.6vw;
	}
}
.btn a {
	height: 64px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 20px;
	padding-left: 64px;
	position: relative;
	color: #FFF;
	text-decoration: none;
}
.btn a:before {
	z-index: 5;
}
.btn a:after {
	content: '';
	position: absolute;
	left: 64px;
	top: 0;
	bottom: 0;
	background: rgba(0, 0, 0, .4);
	width: 0;
	transition: all 0.3s ease;
}
.btn a:hover:after {
	width: calc(100% - 64px);
}
.btn a i {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 64px;
	height: 64px;
	z-index: 5;
}
.btn a strong {
	display: block;
	font-weight: 700;
	position: relative;
	z-index: 5;
	font-feature-settings: "palt";
}
.btn a span {
	position: absolute;
	width: 24px;
	height: 24px;
	background-color: #FFF;
	border-radius: 50%;
	right: 20px;
	top: 20px;
	z-index: 5;
}
.arrow-b a span {
	background-image: url(../img/icon_btnarrow.svg);
	background-repeat: no-repeat;
	background-position: center 9px;
	background-size: 12px auto;
}
.arrow-r a span {
	background-image: url(../img/icon_btnarrow.svg);
	background-repeat: no-repeat;
	background-position: center 8px;
	background-size: 12px auto;
	transform: rotate(-90deg);
}
.store-btn a {
	background: #e60012;
}
.store-btn a i {
	background: rgba(0, 0, 0, .4) url(../img/icon_store.svg) no-repeat center center / 31px auto;
}
.dl-btn a {
	background: #e60012;
}
.dl-btn a i {
	background: rgba(0, 0, 0, .4) url(../img/icon_dl.svg) no-repeat center center / 32px auto;
}
.tobenefit-btn a {
	background: #e60012;
}
.tobenefit-btn a i {
	background: rgba(0, 0, 0, .4) url(../img/icon_benefit.svg) no-repeat center center / 24px auto;
}
.movie-btn a {
	background: #8a000b;
}
.movie-btn a i {
	background: rgba(0, 0, 0, .4) url(../img/icon_movie.svg) no-repeat center center / 32px auto;
}
.character-btn a {
	background: #8a000b;
}
.character-btn a i {
	background: rgba(0, 0, 0, .4) url(../img/icon_character.svg) no-repeat center center / 28px auto;
}
.twitter-btn a {
	background: #0099e5;
}
.twitter-btn a i {
	background: rgba(0, 0, 0, .4) url(../img/icon_twitterline.svg) no-repeat center center / 32px auto;
}
.benefit-btn a {
	padding-left: 0;
	background: #e60012;
}
.benefit-btn a:before {
	content: '';
	position: absolute;
	left: 4px;
	top: 4px;
	right: 4px;
	bottom: 4px;
	background: url(../img/line_frame_benefit.svg) no-repeat center center / contain;
}
.benefit-btn a:after {
	left: 0;
}
.benefit-btn a:hover:after {
	width: 100%;
}
.large-btn a:before {
	content: '';
	position: absolute;
	left: 68px;
	top: 4px;
	right: 4px;
	bottom: 4px;
	background: url(../img/line_frame_large.svg) no-repeat center center / contain;
}
.short-btn a:before {
	content: '';
	position: absolute;
	left: 68px;
	top: 4px;
	right: 4px;
	bottom: 4px;
	background: url(../img/line_frame_short.svg) no-repeat center center / contain;
}
@media screen and (min-width:769px) {
.short3-btn a {
	height:96px;
}
.short3-btn a i {
	height:96px;
}
.short3-btn a:before {
	content: '';
	position: absolute;
	left: 68px;
	top: 4px;
	right: 4px;
	bottom: 4px;
	background: url(../img/line_frame_short2.svg) no-repeat center center / contain;
}
.short3-btn a span {
	top:36px;
}
}

@media screen and (max-width:768px) {
	.btn a {
		height: 9.6vw;
		font-size: 1.2rem;
		padding-left: 9.6vw;
		pointer-events: auto;
		width:100%;
	}
	.btn a:after {
		display: none;
	}
	.btn a i {
		width: 9.6vw;
		height: 9.6vw;
	}
	.btn a span {
		width: 4.2666vw;
		height: 4.2666vw;
		right: 3vw;
		top: 2.6666vw;
	}
	.btn a strong {
		font-size:2.4vw;
	}
	.arrow-b a span {
		background-position: center 1.6vw;
		background-size: 2.1333vw auto;
	}
	.arrow-r a span {
		background-position: center 1.5vw;
		background-size: 2.1333vw auto;
	}
	.store-btn a i {
		background: rgba(0, 0, 0, .4) url(../img/icon_store.svg) no-repeat center center / 6.2666vw auto;
	}
	.dl-btn a i {
		background: rgba(0, 0, 0, .4) url(../img/icon_dl.svg) no-repeat center center / 6.2666vw auto;
	}
	.tobenefit-btn a i {
		background: rgba(0, 0, 0, .4) url(../img/icon_benefit.svg) no-repeat center center / 4.6vw auto;
	}
	.movie-btn a i {
	background: rgba(0, 0, 0, .4) url(../img/icon_movie.svg) no-repeat center center / 6.4vw auto;
	}
	.character-btn a i {
		background: rgba(0, 0, 0, .4) url(../img/icon_character.svg) no-repeat center center / 6vw auto;
	}
	.twitter-btn a i {
		background: rgba(0, 0, 0, .4) url(../img/icon_twitterline.svg) no-repeat center center / 6.4vw auto;
	}
	.large-btn a:before {
		content: '';
		position: absolute;
		left: calc(9.6vw + 2px);
		top: 2px;
		right: 2px;
		bottom: 2px;
		background: url(../img/line_frame_large-s.svg) no-repeat center center / contain;
	}
	.short-btn a:before {
		content: '';
		position: absolute;
		left: calc(9.6vw + 2px);
		top: 2px;
		right: 2px;
		bottom: 2px;
		background: url(../img/line_frame_short-s.svg) no-repeat center center / contain;
	}
	.short2-btn a {
		height:14.9333vw;
	}
	.short2-btn a:before {
		content: '';
		position: absolute;
		left: calc(9.6vw + 2px);
		top: 2px;
		right: 2px;
		bottom: 2px;
		background: url(../img/line_frame_short2-s.svg) no-repeat center center / contain;
	}
	.short2-btn a i {
		height:14.9333vw;
	}
	.short2-btn a span {
		top:5.3333vw;
	}
	.benefit-btn a {
		padding-left: 0;
	}
	.benefit-btn a:before {
		content: '';
		position: absolute;
		left: 2px;
		top: 2px;
		right: 2px;
		bottom: 2px;
		background: url(../img/line_frame_benefit-s.svg) no-repeat center center / contain;
	}
}
.nav {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	min-width: 1200px;
	height: 100px;
	overflow: hidden;
	pointer-events: none;
	z-index: 9999;
}
.navcont {
	pointer-events: auto;
	position: relative;
	height: 48px;
	padding-left: 116px;
	padding-right: 20px;
	background: rgba(255, 255, 255, .8);
	box-shadow: 0px 0px 24px 0px rgba(0, 0, 0, 0.16);
	display: flex;
	justify-content: space-between;
}
.head__switch {
	width: 100px;
	height: 100px;
	position: absolute;
	background: url(../img/logo_switch.svg) no-repeat center center / cover;
	left: 0;
	top: 0;
	z-index:9999;
}
.nav__lists {
	display: flex;
}
.nav__lists a {
	padding: 0 14px;
	display: flex;
	height: 48px;
	justify-content: center;
	align-items: center;
	text-decoration: none;
	font-size: 16px;
	position: relative;
}
.nav__lists a span {
	position: relative;
	z-index: 5;
	display: block;
}
.nav__twitter a {
	display: flex;
	height: 48px;
	justify-content: center;
	align-items: center;
	padding: 0 20px;
	text-decoration: none;
	font-size: 14px;
	position: relative;
}
.nav__lists a:before,
.nav__twitter a:before {
	content: '';
	position: absolute;
	left: 10px;
	bottom: 8px;
	height: 8px;
	width: 0;
	background: url(../img/nav_ov.svg) no-repeat left center / 100% 8px;
	transition: all 0.2s linear;
}
.nav__lists a:hover:before,
.nav__lists a.active:before,
.nav__twitter a:hover:before {
	width: calc(100% - 20px);
}
.nav__twitter a i {
	display: block;
	width: 20px;
	height: 15px;
	background: url(../../../assets/img/common/sns/sns_tw_b.svg) no-repeat center center / contain;
	margin-right: 12px;
}
.menuBtn {
	display: none;
}
.nav__share {
	display: none;
}
.nav__logo {
	display: none;
}
@media screen and (max-width: 1425px){
	.navcont{
		height: 72px;
	}
	.nav__lists {
		flex-wrap: wrap;
	}
	.nav__lists a {
		height: 32px;
	}
	.nav__lists a:before, .nav__twitter a:before {
		bottom: 4px;
	}
	.nav__twitter{
		flex-shrink: 0;
	}
	.nav__twitter a{
		height: 100%;
	}
}
@media screen and (max-width:768px) {
	.nav {
		min-width: 100%;
		height: 12.8vw;
		overflow: auto;
	}
	.navin {
		position:fixed;
		left:0;
		top:0;
		right:0;
		bottom:-100px;
		overflow: auto;
		background: url(../../../assets/img/common/ptn/ptn_white.png) repeat fixed center center / 60vw;
		-webkit-overflow-scrolling:touch;
		transform:translateX(-100%);
		transition:all 0.3s ease;
	}
	.navin.active {
		transform:translateX(0);
	}
	.navcont {
		height: auto;
		padding-top:6.4vw;
		padding-left: 0;
		padding-right: 0;
		background: transparent;
		box-shadow: none;
		display: block;
		padding-bottom:100px;
	}
	.nav__logo {
		width:37.3333vw;
		height:28.9333vw;
		background:url(../img/logo.png) no-repeat center center / contain;
		margin:0 auto 2.4vw;
		display: block;
	}
	.head__switch {
		width: 12.8vw;
		height: 12.8vw;
		position: fixed;
		left: 0;
		top: 0;
		z-index:10001;
	}
	.nav__lists {
		display: block;
	}
	.nav__lists a {
		padding: 0 3.4vw;
		display: table;
		height: 17vw;
		font-size: 1.6rem;
		margin:0 auto;
		line-height:17vw;
		font-weight: 700;
	}
	.nav__twitter {
		display: table;
		height: 17vw;
		margin:0 auto 8vw;
	}
	.nav__twitter a {
		display: block;
		height: 17vw;
		padding: 0 4.4vw;
		font-size: 1.6rem;
		line-height:17vw;
		font-weight: 700;
	}
	.nav__lists a:before,
	.nav__twitter a:before {
		left: 0;
		bottom: 4.5vw;
		height: 2.1333vw;
		background: url(../img/nav_ov.svg) no-repeat left center / 100% 2.1333vw;
	}
	.nav__lists a:hover:before,
	.nav__lists a.active:before,
	.nav__twitter a:hover:before {
		width: 100%;
	}
	.nav__lists a:after {
		content:'';
		position: absolute;
		bottom:0;
		width:6.4vw;
		margin-left:-3.2vw;
		height:1px;
		background: #000;
		left:50%;
	}
	.nav__lists li:last-child a:after {
		display: none;
	}
	.nav__twitter a i {
		display: inline-block;
		width: 5.3333vw;
		height: 4.2666vw;
		margin-right: 3.2vw;
	}
	.nav__share {
		position: relative;
		width: 100%;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		padding-bottom:15vw;
	}
	.nav__share dt {
		height: 1rem;
		font-size: 1rem;
		text-align: center;
		font-weight: 500;
		width:100%;
		line-height: 1;
		color:#000;
	}
	.nav__share--item {
		width: 12.8vw;
		height: 12.8vw;
	}
	.nav__share--item a {
		background-repeat: no-repeat;
		background-position: center;
		background-size: 5.3333vw;
		display: block;
		width: 100%;
		height: 100%;
		position: relative;
	}
	.nav__share--item.tw a {
		background-image: url(../../../assets/img/common/sns/sns_tw_b.svg);
	}
	.nav__share--item.fb a {
		background-image: url(../../../assets/img/common/sns/sns_fb_b.svg);
	}
	.nav__share--item.line a {
		background-image: url(../../../assets/img/common/sns/sns_line_b.svg);
	}
	.menuBtn {
		position:fixed;
		right:0;
		top:0;
		width:12.8vw;
		height:12.8vw;
		z-index:10002;
		display: block;
	}
	.menuBtn a {
		display: flex;
		position:relative;
		height:12.8vw;
		padding-top:6.4vw;
		justify-content: center;
		align-items: center;
		background:#222;
		color:#FFF;
		text-decoration: none;
		font-size:0.8rem;
		transition:all 0.3s ease;
		pointer-events: auto;
	}
	.menuBtn a:before {
		content:'';
		position: absolute;
		left:2px;
		right:2px;
		top:2px;
		bottom:2px;
		background:url(../img/menu_btnframe.svg) no-repeat center center / contain;
		opacity:0.4;
		transition: all 0.3s ease;
	}
	.menuBtn a.active:before {
		transform:rotate(90deg);
	}
	.menuBtn a i {
		display: block;
		position: absolute;
		left:3.2vw;
		width:6.4vw;
		height:1px;
		background:#FFF;
		transition:all 0.3s ease;
	}
	.menuBtn a i:nth-child(1) {
		top:3.0666vw;
	}
	.menuBtn a i:nth-child(2) {
		top:4.5333vw;
	}
	.menuBtn a i:nth-child(3) {
		top:5.8666vw;
	}
	.menuBtn a.active {
		background:#8a000b;
	}
	.menuBtn a.active i:nth-child(1) {
		top:4.5333vw;
		transform:rotate(45deg);
	}
	.menuBtn a.active i:nth-child(2) {
		opacity:0;
	}
	.menuBtn a.active i:nth-child(3) {
		top:4.5333vw;
		transform:rotate(-45deg);
	}
}
.news {
	position: relative;
	background: url(../img/bg_rednoise.png);
}
.news:before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background: url(../../../assets/img/common/ptn/ptn_asa1.png) fixed repeat center center / 256px 148px;
	opacity: 0.24;
}
.newscont {
	padding: 80px 0 60px 200px;
	height: 648px;
	position: relative;
}
.newscont:before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 308px;
	height: 255px;
	background: url(../img/deco_tl.png) no-repeat left top / contain;
}
.newscont:after {
	content: '';
	position: absolute;
	right: 0;
	bottom: 0;
	width: 251px;
	height: 201px;
	background: url(../img/deco_br.png) no-repeat right bottom / contain;
}
.news h2 {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	position: absolute;
	left: 80px;
	top: 80px;
	width: 40px;
	font-size: 40px;
	line-height: 1;
	letter-spacing: 0.2em;
	font-weight: 700;
	color: #FFF;
}
.news h2 span {
	position: relative;
	display: block;
	z-index: 3;
}
.news h2:before {
	content: '';
	left: 20px;
	top: -40px;
	height: 380px;
	width: 40px;
	position: absolute;
	background: url(../img/news_fude.png) no-repeat center center / contain;
	opacity: 0.95;
}
.news__toLists {
	position: absolute;
	left: 84px;
	top: 302px;
	width: 32px;
	height: 146px;
}
.news__toLists a {
	display: block;
	width: 32px;
	height: 146px;
	padding-top: 16px;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-size: 16px;
	letter-spacing: 0.1em;
	text-decoration: none;
	background: #FFF;
	line-height: 2.1;
}
.news__toLists a span {
	display: block;
	position: relative;
	z-index: 2;
	letter-spacing: 0.1em;
}
.news__toLists a:after {
	content: '';
	position: absolute;
	top: 120px;
	left: 0;
	right: 0;
	height: 8px;
	background: url(../img/icon_btnarrow.svg) no-repeat center center / contain;
	transform: rotate(-90deg);
}
.news__listsWrap {
	height: 508px;
	width: 100%;
}
.news__lists {
	display: flex;
	height: 440px;
}
.news__list {
	background: #FFF;
	height: 440px;
	width: 320px;
	margin-right: 40px;
}
.news__list a {
	padding: 40px;
	display: block;
	height: 440px;
	position: relative;
	text-decoration: none;
	transition: all 0.3s ease;
}
.news__list a:hover {
	opacity: 0.7;
}
.news__list--thumb {
	width: 240px;
	height: 240px;
	background: #CCC;
}
.news__list--thumb img {
	pointer-events: none;
	object-fit: contain;
	overflow: hidden;
	width: 100%;
	height: 100%;
}
.news__list--time {
	height: 32px;
	margin-top: -16px;
	width: 127px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #FFF;
	font-size: 14px;
	background: #8a000b;
	position: relative;
	z-index: 2;
	margin-left: -40px;
	letter-spacing: 0.1em;
}
.news__list--title {
	margin-top: 16px;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	line-height: 2;
	font-size: 16px;
	letter-spacing: 0.08em;
	font-weight: 500;
	word-break: break-all;
}
.news__listsWrap .swiper-scrollbar {
	left: 0;
	bottom: 21px;
	right: 200px;
	width: auto;
	height: 2px;
	cursor: pointer;
	background: #FFF;
}
.news__listsWrap .swiper-scrollbar-drag {
	height: 24px;
	width: 100%;
	position: relative;
	background: transparent;
	border-radius: 0;
	left: 0;
	top: -10px;
}
.news__listsWrap .swiper-scrollbar-drag:before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 10px;
	bottom: 10px;
	background: #000;
}
@media screen and (max-width:768px) {
	.news:before {
		background: url(../../../assets/img/common/ptn/ptn_asa1.png) fixed repeat;
	}
	.newscont {
		padding: 12.8vw 0 6vw 19.2vw;
		height: 97.0666vw;
	}
	.newscont:before {
		width: 41.0666vw;
		height: 34vw;
	}
	.newscont:after {
		width: 33.4666vw;
		height: 26.8vw;
	}
	.news h2 {
		left: 6.4vw;
		top: 12.8vw;
		width: 6.4vw;
		font-size: 2.4rem;
	}
	.news h2:before {
		left: 3.2vw;
		top: -6.4vw;
		height: 60.8vw;
		width: 6.4vw;
		opacity: 0.95;
	}
	.news__toLists {
		position: absolute;
		left: 6.4vw;
		top:48.2666vw;
		width: 6.4vw;
		height: 28.5333vw;
	}
	.news__toLists a {
		display: block;
		width: 6.4vw;
		height: 28.5333vw;
		padding-top: 3.2vw;
		font-size: 1.2rem;
	}
	.news__toLists a:after {
		top:23vw;
		height: 2vw;
	}
	.news__listsWrap {
		height: calc(78.4vw + 10px);
	}
	.news__lists {
		height: 71.4666vw;
	}
	.news__list {
		height: 71.4666vw;
		width: 40.5333vw;
		margin-right: 6.4vw;
	}
	.news__list a {
		padding:3.2vw;
		height: 71.4666vw;
	}
	.news__list--thumb {
		width: 34.1333vw;
		height: 34.1333vw;
		background: url(../img/news_noimg.png) no-repeat center center / cover;
	}
	.news__list--time {
		height: 4.2666vw;
		margin-top: -2.1333vw;
		width: 24.4vw;
		font-size: 1.2rem;
		margin-left: -3.2vw;
		letter-spacing: 0.1em;
	}
	.news__list--title {
		margin-top: 2vw;
		-webkit-line-clamp: 4;
		font-size: 1.2rem;
		letter-spacing: 0.05em;
	}
	.news__listsWrap .swiper-scrollbar {
		left: 0;
		bottom: 11px;
		right: 19.2vw;
		width: auto;
		height: 2px;
		cursor: pointer;
		background: #FFF;
	}
}
.movie-tweet {
	display: flex;
	height: 600px;
}
.movie {
	width: 50%;
	height: 600px;
	overflow: hidden;
	position: relative;
}
.moviein {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	display: block;
}
.movie__buttons {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: 5;
	background: rgba(0, 0, 0, 0.4);
}
.movie__play {
	width: 80px;
	height: 80px;
	position: absolute;
	left: 50%;
	top: 50%;
	margin-left: -40px;
	margin-top: -40px;
}
.movie__play:after {
	content: '再生する';
	position: absolute;
	left: 0;
	right: 0;
	top: 92px;
	text-align: center;
	font-size: 16px;
	font-weight: 700;
	color: #FFF;
}
.movie__play a {
	display: block;
	border: 2px solid #FFF;
	border-radius: 50%;
	height: 80px;
	position: relative;
	text-decoration: none;
}
.movie__play a span {
	display: block;
	position: absolute;
	width: 36px;
	height: 40px;
	left: 50%;
	top: 50%;
	margin-top: -20px;
	margin-left: -13px;
	text-indent: -9999px;
	background: url(../img/icon_play.svg) no-repeat center center / contain;
}
.movie__otherBtn {
	width: 440px;
	position: absolute;
	left: 50%;
	bottom: 80px;
	margin-left: -220px;
}
.twidget {
	width: 50%;
	background: url(../../../assets/img/common/ptn/ptn_white.png) repeat fixed center center / 450px;
	padding: 80px;
}
.twidget__inner {
	height: 336px;
	background: #FFF url(../img/twidget_bg.png) repeat-x center center / auto 336px;
	padding: 45px 40px;
	margin-bottom: 40px;
}
.twidget__cont {
	height: 246px;
	border: 2px solid #000;
    overflow: auto;
}
.twitter__officialBtn {
	width: 440px;
	margin: 0 auto;
}
@media screen and (max-width:768px) {
	.movie-tweet {
		display: block;
		height: auto;
		background: url(../../../assets/img/common/ptn/ptn_white.png) repeat fixed center center / 60vw;
	}
	.movie {
		width: 100%;
		height: auto;
		padding-top:56.25%;
		overflow: visible;
	}
	.moviein {
		position: absolute;
		left:0;
		top:0;
		transform:none;
		display: block;
		width: 100% !important;
		height:100% !important;
	}
	.movie__play {
		width: 12.8vw;
		height: 12.8vw;
		margin-left: -6.4vw;
		margin-top: -6.4vw;
	}
	.movie__play:after {
		top: 15vw;
		font-size:1.1rem;
	}
	.movie__play a {
		height: 12.8vw;
		border-width: 1px;
	}
	.movie__play a span {
		width: 5.6vw;
		height: 6vw;
		margin-top: -3vw;
		margin-left: -2.25vw;
	}
	.movie__otherBtn {
		width: 61.6vw;
		left: 50%;
		bottom: -16vw;
		margin-left: -30.8vw;
	}
	.twidget {
		width:100%;
		background:transparent;
		padding: 28.8vw 12.8vw 12.8vw;
	}
	.twidget__inner {
		height: 68vw;
		background-color: #FFF;
		background-image:url(../img/line_gold_t.png),url(../img/line_gold_b.png);
		background-repeat: repeat-x;
		background-position: center top,center bottom;
		background-size:auto 1.6vw;
		padding:6.4vw;
		margin-bottom: 6.4vw;
		overflow:hidden;
	}
	.twidget__cont {
		height: 55.2vw;
	}
	.twitter__officialBtn {
		width: 61.6vw;
		margin: 0 auto;
	}
}
.toStore {
	position: relative;
	background: url(../img/bg_rednoise.png);
}
.toStore:before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background: url(../../../assets/img/common/ptn/ptn_asa1.png) fixed repeat center center / 256px 148px;
	opacity: 0.24;
}
.toStore__cont {
	padding: 80px 0;
	position: relative;
}
.toStore__cont:before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 308px;
	height: 255px;
	background: url(../img/deco_tl.png) no-repeat left center / contain;
}
.toStore__cont:after {
	content: '';
	position: absolute;
	right: 0;
	bottom: 0;
	width: 251px;
	height: 201px;
	background: url(../img/deco_br.png) no-repeat right bottom / contain;
}
.toStore__lists {
	display: flex;
	justify-content: center;
	position: relative;
	z-index: 1;
}
.toStore__list {
	width: 500px;
	margin: 0 30px;
}
.toStore__list:nth-child(even) {
	transition-delay: 0.15s;
}
.toStore__list a {
	display: block;
	height: 120px;
	position: relative;
}
.toStore--pkg a {
	background: url(../img/tostore_btn_pkg.png) no-repeat center center / contain;
}
.toStore--pkg a:before {
	content: '';
	position: absolute;
	left: 27px;
	top: -26px;
	width: 80px;
	height: 130px;
	background: url(../img/tostore_pkg.png) no-repeat center center / contain;
}
.toStore--dl a {
	background: url(../img/tostore_btn_dl.png) no-repeat center center / contain;
}
@media screen and (max-width:768px) {
	.toStore:before {
		background: url(../../../assets/img/common/ptn/ptn_asa1.png) fixed repeat center center / 34.1333vw 19.7333vw;
	}
	.toStore__cont {
		padding: 6.4vw 0 0;
	}
	.toStore__cont:before {
		width: 41.0666vw;
		height: 34vw;
	}
	.toStore__cont:after {
		width: 33.4666vw;
		height: 26.8vw;
	}
	.toStore__lists {
		flex-wrap: wrap;
		position:relative;
		z-index:3;
	}
	.toStore__list {
		width: 90.4vw;
		margin: 0 auto 6.4vw;
	}
	.toStore__list:nth-child(even) {
		transition-delay:0;
	}
	.toStore__list a {
		height: 21.8666vw;
	}
	.toStore--pkg a:before {
		content: '';
		position: absolute;
		left: 5vw;
		top: -4.6666vw;
		width: 14.2666vw;
		height: 23.3333vw;
	}
}
.about {
	background: url(../../../assets/img/common/ptn/ptn_white.png) repeat fixed center center / 450px;
}
.about__cont {
	padding: 160px 0;
	position: relative;
}
.about__cont h2 {
	width: 100%;
	height: 40px;
	position: relative;
	font-size: 40px;
	font-weight: 700;
	color: #000;
	letter-spacing: 0.2em;
	padding-left: 0.2em;
	line-height: 1;
	margin-bottom: 80px;
	z-index: 5;
}
.about__cont h2:before {
	content: '';
	width: 320px;
	height: 40px;
	position: absolute;
	left: 50%;
	bottom: -35px;
	margin-left: -160px;
	background: url(../img/about_fude.png) no-repeat center center / contain;
}
.about__cont h2 span {
	position: relative;
	z-index: 3;
	display: block;
	margin: 0 auto;
	text-align: center;
	filter: drop-shadow(0px 0px 2px #FFF) drop-shadow(0px 0px 2px #FFF) drop-shadow(0px 0px 2px #FFF) drop-shadow(0px 0px 2px #FFF);
}
.about__cont h2 rt {
	font-size: 12px;
	letter-spacing: 0;
	display: block;
	transform: translateY(-10px);
}
.about__inner {
	width: 880px;
	margin: 0 auto 80px;
	position: relative;
	z-index: 4;
}
.about__inner--text {
	line-height: 2.4;
	text-align: center;
	font-size: 16px;
	margin-bottom: 1.5em;
	letter-spacing: 0.2em;
}
.about__inner--text span {
	background: #000;
}
.about__inner--catch {
	text-align: center;
	font-size: 24px;
	color: #e60012;
	filter: drop-shadow(0px 0px 2px #FFF) drop-shadow(0px 0px 2px #FFF) drop-shadow(0px 0px 2px #FFF) drop-shadow(0px 0px 2px #FFF);
	font-weight: 700;
	letter-spacing: 0.2em;
}
.about__bgs {
	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;
	left: 0;
	bottom: -1000px;
	overflow: hidden;
	pointer-events: none;
}
.about__bg {
	width: 736px;
	height: 742px;
	position: absolute;
	top: -500px;
	left: 50%;
	margin-left: -368px;
	background: url(../img/about_bg.png) no-repeat center center / contain;
}
.about__c1 {
	position: absolute;
	left: 50%;
	top: 50px;
	margin-left: -764px;
	width: 610px;
	height: 546px;
	background: url(../img/about_c1.png) no-repeat center center / contain;
}
.about__c2 {
	position: absolute;
	left: 50%;
	top: 35px;
	margin-left: 251px;
	width: 459px;
	height: 470px;
	background: url(../img/about_c2.png) no-repeat center center / contain;
}
@media screen and (max-width:768px) {
	.about__cont {
		padding: 12.8vw 0;
		position: relative;
	}
	.about__cont h2 {
		height: 2rem;
		font-size: 2rem;
		margin-bottom: 14.4666vw;
		z-index: 5;
		letter-spacing: 0.05em;
		padding-right:0.5em;
	}
	.about__cont h2:before {
		width: 42.6666vw;
		height: 5.3333vw;
		bottom: -5.6666vw;
		margin-left: -21.3333vw;
	}
	.about__cont h2 rt {
		font-size: 1rem;
		letter-spacing: 0;
		display: block;
		transform: translateY(-5px);
	}
	.about__inner {
		width: 87.2vw;
		margin: 0 auto 73vw;
		position: relative;
		z-index: 4;
	}
	.about__inner--text {
		font-size: 1.2rem;
		margin-bottom: 1.5em;
		letter-spacing: 0.2em;
	}
	.about__inner--catch {
		font-size: 1.6rem;
		line-height:2;
	}
	.about__bg {
		width: 98.1333vw;
		height: 98.9333vw;
		top: -66.6666vw;
		margin-left: -54.0666vw;
	}
	.about__c1 {
		top: 70vw;
		margin-left: -75vw;
		width: 81.3333vw;
		height: 72.8vw;
	}
	.about__c2 {
		top: 64.5vw;
		margin-left: 3vw;
		width: 61.2vw;
		height: 62.6666vw;
	}
}
.introduction {
	z-index: 5;
	padding-top: 80px;
	position: relative;
}
.introduction__slide {
	height: 635px;
}
.introduction__slide--lists {}
.introduction__slide--list {
	width: 1280px;
	padding-top: 10px;
	height: 522px;
	position: relative;
}
.introduction__slide--list h3 {
	color: #000;
	font-size: 24px;
	display: table;
	margin: 0 auto 40px;
	line-height: 1;
	padding: 0 40px;
	background-image: url(../img/product_pointicon.svg), url(../img/product_pointicon.svg);
	background-position: left center, right center;
	background-repeat: no-repeat;
	background-size: 24px;
	filter: drop-shadow(0px 0px 2px #FFF) drop-shadow(0px 0px 2px #FFF) drop-shadow(0px 0px 2px #FFF) drop-shadow(0px 0px 2px #FFF);
	font-weight: 700;
	transform: translateY(10px);
	opacity: 0;
	transition: all 0.5s ease;
	transition-delay: 0.5s
}
.isl.swiper-slide-active h3 {
	opacity: 1;
	transform: translateY(0);
}
.isl--textbox {
	margin-top: 120px;
	position: relative;
	z-index: 15;
	background-color: #FFF;
	background-image: url(../img/line_gold_t.png), url(../img/line_gold_b.png);
	background-repeat: repeat-x;
	background-position: center top, center bottom;
	padding: 30px 40px;
	width: 440px;
	letter-spacing: 0.15em;
	font-weight: 500;
	opacity: 0;
	transition: all 0.5s ease;
	transition-delay: 0.5s;
}
.isl--textbox p {
	font-size: 16px;
	line-height: 2;
	color: #000;
	font-feature-settings: "palt";
	letter-spacing: 0;
}
.isl.imgL .isl--textbox {
	margin-left: 720px;
	transform: translateX(-15px);
}
.isl.imgR .isl--textbox {
	margin-right: 720px;
	margin-left: auto;
	transform: translateX(15px);
}
.isl--btn {
	width: 440px;
	margin-top: 40px;
	margin-right: 720px;
	margin-left: auto;
	transform: translateX(15px);
	opacity: 0;
	transition: all 0.5s ease;
	transition-delay: 0.5s;
	position: relative;
	z-index: 5;
}
.isl.swiper-slide-active .isl--textbox,
.isl.swiper-slide-active .isl--btn {
	opacity: 1;
	transform: translateX(0);
}
.isl--img {
	position: absolute;
	top: 70px;
	width: 800px;
	height: 450px;
	-webkit-mask: url(../img/introduction_mask.png);
	mask: url(../img/introduction_mask.png);
	-webkit-mask-size: 3000% 100%;
	mask-size: 3000% 100%;
	-webkit-animation: introduction-mask-rev 1s steps(29) forwards;
	animation: introduction-mask-rev 1s steps(29) forwards;
}
.isl.swiper-slide-active .isl--img {
	-webkit-animation: introduction-mask 1s steps(29) forwards;
	animation: introduction-mask 1s steps(29) forwards;
}
.isl.imgL .isl--img {
	left: 0;
}
.isl.imgR .isl--img {
	right: 0;
}
@-webkit-keyframes introduction-mask {
	from {
		-webkit-mask-position: 0 0;
		-ms-mask-position: 0 0;
		-moz-mask-position: 0 0;
		-o-mask-position: 0 0;
		mask-position: 0 0;
	}
	to {
		-webkit-mask-position: 100% 0;
		-ms-mask-position: 100% 0;
		-moz-mask-position: 100% 0;
		-o-mask-position: 100% 0;
		mask-position: 100% 0;
	}
}
@keyframes introduction-mask {
	from {
		-webkit-mask-position: 0 0;
		-ms-mask-position: 0 0;
		-moz-mask-position: 0 0;
		-o-mask-position: 0 0;
		mask-position: 0 0;
	}
	to {
		-webkit-mask-position: 100% 0;
		-ms-mask-position: 100% 0;
		-moz-mask-position: 100% 0;
		-o-mask-position: 100% 0;
		mask-position: 100% 0;
	}
}
@-webkit-keyframes introduction-mask-rev {
	from {
		-webkit-mask-position: 100% 0;
		-ms-mask-position: 100% 0;
		-moz-mask-position: 100% 0;
		-o-mask-position: 100% 0;
		mask-position: 100% 0;
	}
	to {
		-webkit-mask-position: 0 0;
		-ms-mask-position: 0 0;
		-moz-mask-position: 0 0;
		-o-mask-position: 0 0;
		mask-position: 0 0;
	}
}
@keyframes introduction-mask-rev {
	from {
		-webkit-mask-position: 100% 0;
		-ms-mask-position: 100% 0;
		-moz-mask-position: 100% 0;
		-o-mask-position: 100% 0;
		mask-position: 100% 0;
	}
	to {
		-webkit-mask-position: 0 0;
		-ms-mask-position: 0 0;
		-moz-mask-position: 0 0;
		-o-mask-position: 0 0;
		mask-position: 0 0;
	}
}
.introduction__slide .swiper-scrollbar {
	left: 200px;
	bottom: 21px;
	right: 200px;
	width: auto;
	height: 2px;
	cursor: pointer;
	background: #FFF;
}
.introduction__slide .swiper-scrollbar-drag {
	height: 24px;
	width: 100%;
	position: relative;
	background: transparent;
	border-radius: 0;
	left: 0;
	top: -11px;
}
.introduction__slide .swiper-scrollbar-drag:before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 10px;
	bottom: 10px;
	background: #e60012;
}
.introduction__slide .swiper-button-prev,
.introduction__slide .swiper-button-next {
	position: absolute;
	bottom: 33px;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: #000;
	top: auto;
	transition: all 0.3s ease;
	left:50%;
}
.introduction__slide .swiper-button-prev {
	margin-left: -380px;
}
.introduction__slide .swiper-button-next {
	margin-left:356px;
}
.introduction__slide .swiper-button-prev:after {
	content: '';
	position: absolute;
	width: 8px;
	height: 12px;
	top: 6px;
	left: 7px;
	background: url(../img/icon_btnarrow_w.svg) no-repeat center center / contain;
}
.introduction__slide .swiper-button-next:after {
	content: '';
	position: absolute;
	width: 8px;
	height: 12px;
	top: 6px;
	left: 9px;
	background: url(../img/icon_btnarrow_w.svg) no-repeat center center / contain;
	transform: rotate(180deg);
}
.introduction__slide .swiper-button-prev:hover,
.introduction__slide .swiper-button-next:hover {
	transform: scale(1.2);
}
.introduction__thumbLists {
	position: absolute;
	width:670px;
	height:90px;
	bottom:0;
	left:50%;
	margin-left:-335px;
	display: flex;
	justify-content: space-between;
	z-index:500;
}
.introduction__thumbLists li {
	width:160px;
	height:90px;
	border:3px solid #CCC;
	cursor:pointer;
	transition:all 0.3s ease;
}
.introduction__thumbLists li:hover {
	opacity:0.7;
}
.introduction__thumbLists li.active {
	border-color:#e60012;
}
.introduction__thumbLists li img {
	width:100%;
	height:100%;
	object-fit: cover;
}
@media screen and (max-width:768px) {
	.introduction {
		padding-top: 16.8vw;
	}
	.introduction__slide {
		height: 170.8666vw
	}
	.introduction__slide--list {
		width:74.4vw;
		padding-top: 10px;
		height: auto;
		margin-right:0 !important;
	}
	.introduction__slide--list h3 {
		font-size: 1.6rem;
		display: flex;
		justify-content: center;
		align-items: center;
		margin: 0 -12.8vw 9.6vw;
		padding: 0;
		white-space: nowrap;
		text-align: center;
		background:none;
	}
	.introduction__slide--list h3:before {
		content:'';
		width:4.1333vw;
		height:4.1333vw;
		display: inline-block;
		background:url(../img/product_pointicon.svg) no-repeat center center / contain;
		margin-right:3.2vw;
	}
	.introduction__slide--list h3:after {
		content:'';
		width:4.1333vw;
		height:4.1333vw;
		display: inline-block;
		background:url(../img/product_pointicon.svg) no-repeat center center / contain;
		margin-left:3.2vw;
	}
	.isl--textbox {
		background-size:auto 1.6vw;
		padding: 6vw 6.4vw;
		width: 61.6vw;
		height:88.8vw;
		letter-spacing: 0.15em;
		opacity: 1;
		transition:all 0.3s linear;
		transition-delay:0s !important;
	}
	.isl--textbox p {
		font-size: 1.2rem;
	}
	.isl.imgL .isl--textbox {
		margin:44.2666vw auto 0;
		transform: none;
	}
	.isl.imgR .isl--textbox {
		margin:44.2666vw auto 0;
		transform: none;
	}
	.isl--btn {
		width: 61.6vw;
		margin:3.2vw auto;
		transform: translateY(-5px);
		opacity: 0;
	}
	.isl--img {
		position: absolute;
		top: 16vw;
		width: 74.6666vw;
		height: 42vw;
		left:50%;
		margin-left:-37.3333vw;
	}
	.isl.imgL .isl--img {
		left: 50%;
	}
	.isl.imgR .isl--img {
		right: auto;
	}
	.introduction__slide .swiper-scrollbar {
		left: 19.2vw;
		bottom: 5.6vw;
		right: 19.2vw;
		width: auto;
		height: 2px;
		cursor: pointer;
		background: #FFF;
	}
	.introduction__slide .swiper-button-prev,
	.introduction__slide .swiper-button-next {
		bottom: 72.6666vw;
		width: 6.4vw;
		height: 6.4vw;
		margin-left:0 !important;
	}
	.introduction__slide .swiper-button-prev:hover,
	.introduction__slide .swiper-button-next:hover {
		transform:none;
	}
	.introduction__slide .swiper-button-prev {
		left: 9.4vw;
	}
	.introduction__slide .swiper-button-next {
		left:auto;
		right: 9.4vw;
	}
	.introduction__slide .swiper-button-prev:after {
		width: 2.1333vw;
		height: 3.2vw;
		top: 1.6vw;
		left: 1.8666vw;
	}
	.introduction__slide .swiper-button-next:after {
		width: 2.1333vw;
		height: 3.2vw;
		top: 1.6vw;
		left: 2.4vw;
	}
	.introduction__thumbLists {
		position: absolute;
		width:83vw;
		height:11.25vw;
		margin-left:-41.5vw;
	}
	.introduction__thumbLists li {
		width:20vw;
		height:11.25vw;
		border:2px solid #CCC;
	}
	.introduction__thumbLists li.active {
		border-color:#e60012;
	}
}
.product {
	position: relative;
	background: url(../img/bg_rednoise.png);
}
.product:before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background: url(../../../assets/img/common/ptn/ptn_asa1.png) fixed repeat center center / 256px 148px;
	opacity: 0.24;
}
.product__cont {
	padding: 160px 80px;
	position: relative;
}
.product__cont:before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 308px;
	height: 255px;
	background: url(../img/deco_tl.png) no-repeat left top / contain;
}
.product__cont:after {
	content: '';
	position: absolute;
	right: 0;
	bottom: 0;
	width: 251px;
	height: 201px;
	background: url(../img/deco_br.png) no-repeat right bottom / contain;
}
.product__cont h2 {
	width: 100%;
	height: 40px;
	position: relative;
	font-size: 40px;
	font-weight: 700;
	color: #FFF;
	letter-spacing: 0.2em;
	padding-left: 0.2em;
	line-height: 1;
	margin-bottom: 80px;
}
.product__cont h2:before {
	content: '';
	width: 320px;
	height: 40px;
	position: absolute;
	left: 50%;
	top: 20px;
	margin-left: -160px;
	background: url(../img/product_fude.png) no-repeat center center / contain;
}
.product__cont h2 span {
	position: relative;
	z-index: 3;
	display: block;
	margin: 0 auto;
	text-align: center;
}
.product__contWrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width:1080px;
	margin:0 auto;
}
.product__left {
	width: 400px;
	margin-right: 40px;
	margin-top: -70px;
	margin-bottom: 40px;
}
.product__left--inner {
	position: sticky;
	left: 0;
	top: 0;
	padding-top: 70px;
}
.product__left--mv {
	width: 400px;
	height: 652px;
	background: url(../img/product_pkg.png) no-repeat center center / cover;
	margin-bottom: 24px;
}
.product__left--cero {
	width: 40px;
	height: 50px;
	background: url(../img/product_icon_cero-c.png) no-repeat center center / contain;
	margin-left: auto;
}
.product__right {
	width: 600px;
	margin-bottom: 40px;
}
.product__right--cont {
	position: relative;
	background-color: #FFF;
	background-image: url(../img/product_frame_t.png), url(../img/product_frame_b.png);
	background-repeat: no-repeat;
	background-position: center top, center bottom;
	padding: 0 40px;
}
.product__right--cont:before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 24px;
	bottom: 24px;
	background: url(../img/product_frame_c.png) repeat-y center center;
	pointer-events: none;
}
.product__lists {}
.product__list {
	padding: 40px 0;
}
.product__list:nth-child(-n+3) {
	border-bottom: 1px solid #000;
}
.product__list>dt {
	padding-left: 40px;
	background: url(../img/product_pointicon.svg) no-repeat left 9px / 24px;
	margin-bottom: 32px;
}
.product__list>dt strong {
	font-size: 24px;
	font-weight: 700;
	color: #e60012;
	display: block;
	line-height: 1.6;
	margin-bottom: 8px;
}
.product__list>dt span {
	display: block;
	line-height: 2;
	color: #000;
	font-size: 16px;
}
.product__list>dd {
	display: flex;
	justify-content: space-between;
}
.product__list--pkg {
	width: 120px;
	height: 194px;
}
.plp-normal {
	background: url(../img/product_pkg_normal.png) no-repeat center center / contain;
}
.plp-special {
	background: url(../img/product_pkg_special.png) no-repeat center center / contain;
}
.product__list--spec {
	width: 360px;
	font-size: 16px;
	color: #000;
}
.product__list--specLists {
	padding-bottom: 26px;
}
.product__list--specList {
	display: flex;
	line-height: 2;
	flex-wrap: wrap;
}
.product__list--specList dt {
	white-space: nowrap;
	color:#e60012;
}
.product__list--specfull {
	width:100%;
}
.product__list--specfull + dd ul {
	padding-left:1em;
	text-indent: -1em;
}
.product__list--specfull + dd ul li:before {
	content:'・';
}
.product__list--specList dt:after {
	content: '：';
}
.product__list--specList dd strong {
	color:#E60012;
	margin-top:1em;
	display: block;
}
.product__storeBtn:last-child {
	margin-top:8px;
}
.product__dl {
	margin: 0 auto;
	width: 1040px;
}
.product__dl--cont {
	position: relative;
	background-color: #FFF;
	background-image: url(../img/product_fullframe_t.png), url(../img/product_fullframe_b.png);
	background-repeat: no-repeat;
	background-position: center top, center bottom;
	padding: 0 40px;
}
.product__dl--cont:before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 24px;
	bottom: 24px;
	background: url(../img/product_fullframe_c.png) repeat-y center center;
	pointer-events: none;
}
.product__dl--cont .product__lists .product__list--spec {
	display: flex;
	width: 100%;
}
.product__dl--cont .product__lists .product__list--specLists {
	order: 1;
	padding-bottom: 0;
}
.product__dlstoreBtnGroup {
	width:440px;
	margin-right: 40px;
	order: 0;
}
.product__dlstoreBtn {
	width: 440px;
}
/*
.product__dlstoreBtn:last-child {
	margin-top:24px;
}
*/
.product__dl--cont .product__list:first-child {
	border:none;
}
.product__caution {
	width:1040px;
	margin:0 auto;
	padding-top:40px;
}
.product__caution li {
	padding-left:1em;
	text-indent: -1em;
	padding-bottom: .5em;
	font-feature-settings: "palt";
}
.product__caution li:before {
	content:'※';
}
@media screen and (max-width:768px) {
	.product:before {
		background: url(../../../assets/img/common/ptn/ptn_asa1.png) fixed repeat center center / 34.1333vw 19.7333vw;
	}
	.product__cont {
		padding: 12.8vw 6.4vw;
	}
	.product__cont:before {
		width: 41.0666vw;
		height: 34vw;
	}
	.product__cont:after {
		width: 33.4666vw;
		height: 26.8vw;
	}
	.product__cont h2 {
		height: 6.4vw;
		font-size: 2rem;
		margin-bottom: 12.8vw;
	}
	.product__cont h2:before {
		width: 42.6666vw;
		height: 5.3333vw;
		left: 50%;
		top: 3.2vw;
		margin-left: -21.3333vw;
		background: url(../img/product_fude.png) no-repeat center center / contain;
	}
	.product__contWrap {
		display: block;
		width:87.2vw;
	}
	.product__left {
		width: 74.4vw;
		margin:0 auto 6.4vw;
	}
	.product__left--inner {
		position: relative;
		padding-top: 0;
	}
	.product__left--mv {
		width: 100%;
		padding-top:163%;
		height:auto;
		margin-bottom: 2.6vw;
	}
	.product__left--cero {
		width: 6.4vw;
		height: 8vw;
	}
	.product__right {
		width:87.2vw;
		margin-bottom: 6.4vw;
	}
	.product__right--cont {
		background-image: url(../img/product_frame_t-s.png), url(../img/product_frame_b-s.png);
		background-size:auto 6.4vw;
		padding: 0 6.4vw;
	}
	.product__right--cont:before {
		top: 6.4vw;
		bottom: 6.4vw;
		background: url(../img/product_frame_c-s.png) repeat-y center center / 100% auto;
		pointer-events: none;
	}
	.product__list {
		padding: 6.4vw 0;
	}
	.product__list>dt {
		padding-left: 6.4vw;
		background: url(../img/product_pointicon.svg) no-repeat left 2.4vw / 4.2666vw;
		margin-bottom: 3.4vw;
	}
	.product__list>dt strong {
		margin-bottom: 2.4vw;
		font-size:1.6rem;
		letter-spacing: 0
	}
	.product__list>dt span {
		font-size: 1.2rem;
		line-height:2;
	}
	.product__list--pkg {
		width: 21.3333vw;
		height: 34.5333vw;
	}
	.product__list--spec {
		width: 49.8666vw;
		font-size: 1.2rem;
	}
	.product__list--specLists {
		padding-bottom: 4.2666vw;
	}
	.product__storeBtn:last-child {
		margin-top:3.2vw;
	}
	.product__dl {
		width: 87.2vw;
		position: relative;
		z-index:3;
	}
	.product__dl--cont {
		background-image: url(../img/product_frame_t-s.png), url(../img/product_frame_b-s.png);
		background-size:auto 6.4vw;
		padding: 0 6.4vw;
	}
	.product__dl--cont:before {
		top: 6.4vw;
		bottom: 6.4vw;
		background: url(../img/product_frame_c-s.png) repeat-y center center / 100% auto;
	}
	.product__dl--cont .product__lists .product__list--spec {
		display: block;
	}
	.product__dlstoreBtn {
		width:100%;
	}
	.product__dlstoreBtnGroup {
		width:61.6vw;
		order: 0;
		margin:3.4vw auto 0;
	}
	.product__dlstoreBtn:last-child {
		margin-top:3.2vw;
	}
	.product__dlstoreBtn.tobenefit-btn a {
		padding-right:4vw;
	}
	.product__caution {
		width:100%;
		margin:0 auto;
		padding-top:6.4vw;
		font-size:1.1rem;
	}
}
.benefit {
	background: url(../../../assets/img/common/ptn/ptn_white.png) repeat fixed center center / 450px;
	padding: 160px 0;
}
.benefit.benefit2 {
	background: url(../../../assets/img/common/ptn/ptn_white.png) repeat fixed center center / 450px;
	padding: 160px 0 0 0;
}
.benefit h2 {
	width: 100%;
	height: 40px;
	position: relative;
	font-size: 40px;
	font-weight: 700;
	color: #000;
	letter-spacing: 0.2em;
	padding-left: 0.2em;
	line-height: 1;
	margin-bottom: 80px;
}
.benefit h2:before {
	content: '';
	width: 320px;
	height: 40px;
	position: absolute;
	left: 50%;
	top: 20px;
	margin-left: -160px;
	background: url(../img/benefit_fude.png) no-repeat center center / contain;
}
.benefit h2 span {
	position: relative;
	z-index: 3;
	display: block;
	margin: 0 auto;
	text-align: center;
	filter: drop-shadow(0px 0px 2px #FFF) drop-shadow(0px 0px 2px #FFF) drop-shadow(0px 0px 2px #FFF) drop-shadow(0px 0px 2px #FFF);
}
.benefit__lists {
	width: 1080px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.benefit__list {
	width: 320px;
	margin: 0 20px 40px;
	filter: drop-shadow(0px 0px 12px rgba(0, 0, 0, .16)) drop-shadow(0px 0px 12px rgba(0, 0, 0, .16));
	background: #FFF;
	display: flex;
	flex-direction: column;
}
.benefit__list2 {
	width: 480px;
	margin: 0 20px 40px;
	filter: drop-shadow(0px 0px 12px rgba(0, 0, 0, .16)) drop-shadow(0px 0px 12px rgba(0, 0, 0, .16));
	background: #FFF;
	display: flex;
	flex-direction: column;
}
.benefit__list:nth-child(3n-1) {
	transition-delay: 0.1s;
}
.benefit__list:nth-child(3n) {
	transition-delay: 0.2s;
}
.benefit__list h3 {
	padding: 0 24px;
	min-height: 96px;
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 30px;
	font-weight: 700;
	font-size: 20px;
	color: #e60012;
	text-align: center;
}
.benefit__thumb {
	width: 320px;
	height: 200px;
	background: rgba(0, 0, 0, 0.05);
}
.benefit__thumb a {
	display: block;
	width: 320px;
	height: 200px;
	position: relative;
}
.benefit__thumb a:before {
	content: '';
	position: absolute;
	right: 0;
	bottom: 0;
	width: 24px;
	height: 24px;
	background: url(../img/benefit_exp_icon.png) no-repeat center center / contain;
}
.benefit__thumb img {
	width: 320px;
	height: 200px;
	object-fit: contain;
}

.benefit2__thumb {
	width: 480px;
	height: 300px;
	background: rgba(0, 0, 0, 0.05);
}
.benefit2__thumb a {
	display: block;
	width: 480px;
	height: 300px;
	position: relative;
}
.benefit2__thumb a:before {
	content: '';
	position: absolute;
	right: 0;
	bottom: 0;
	width: 24px;
	height: 24px;
	background: url(../img/benefit_exp_icon.png) no-repeat center center / contain;
}
.benefit2__thumb img {
	width: 480px;
	height: 300px;
	object-fit: contain;
}

.benefit__tb {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 14px 24px 24px;
	height: 100%;
}
.benefit__title {
	text-align: center;
	font-size: 16px;
	font-weight: 600;
	color: #000;
	line-height: 2;
	padding-bottom: 14px;
}
.benefit__coution {
	font-size: 12px;
	color: #000;
	line-height: 2;
	padding-bottom: 14px;
}
.benefit__btn {}
.benefit__btn a {
	height: 64px;
}
@media screen and (max-width:768px) {
	.benefit {
		background: url(../../../assets/img/common/ptn/ptn_white.png) repeat fixed center center / 450px;
		padding: 12.8vw 0;
	}
	.benefit.benefit2 {
		background: url(../../../assets/img/common/ptn/ptn_white.png) repeat fixed center center / 450px;
		padding: 12.8vw 0 0 0;
	}
	.benefit h2 {
		height: 6.4vw;
		font-size: 2rem;
		margin-bottom: 12.8vw;
	}
	.benefit h2:before {
		width: 42.6666vw;
		height: 5.3333vw;
		top: 3.2vw;
		margin-left:-21.3333vw;
	}
	.benefit__lists {
		width: 93.6vw;
	}
	.benefit__list {
		width: 40.4vw;
		margin: 0 3.2vw 6.4vw;
	}
	.benefit__list:nth-child(odd) {
		transition-delay: 0s;
	}
	.benefit__list:nth-child(even) {
		transition-delay: 0.1s;
	}
	.benefit__list h3 {
		padding: 0 3.2vw;
		min-height: 16vw;
		line-height: 1.75;
		font-size: 1.2rem;
	}
	.benefit__thumb {
		width: 40.4vw;
		height: 25.3333vw;
	}
	.benefit__thumb a {
		width: 40.4vw;
		height: 25.3333vw;
	}
	.benefit__thumb a:before {
		width: 6.4vw;
		height: 6.4vw;
	}
	.benefit__thumb img {
		width: 40.4vw;
		height: 25.3333vw;
		object-fit: contain;
	}

	.benefit2__thumb {
		width: 83.8vw;
		height: auto;
	}
	.benefit2__thumb a {
		width: 83.8vw;
		height: auto;
	}
	.benefit2__thumb a:before {
		width: 6.4vw;
		height: 6.4vw;
	}
	.benefit2__thumb img {
		width: 83.8vw;
		height: auto;
		object-fit: contain;
	}

	.benefit__tb {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		padding: 2.4vw 3.2vw 3.2vw;
		height: 100%;
	}
	.benefit__title {
		font-size: 1.2rem;
		padding-bottom: 2.4vw;
	}
	.benefit__btn a {
		height: 9.6vw;
	}
	.benefit__coution {
		font-size: 10px;
	}
}
.spec {
	background: url(../../../assets/img/common/ptn/ptn_white.png) repeat fixed center center / 450px;
	padding: 0 0 160px;
}
.spec h2 {
	width: 100%;
	height: 40px;
	position: relative;
	font-size: 40px;
	font-weight: 700;
	color: #000;
	letter-spacing: 0.2em;
	padding-left: 0.2em;
	line-height: 1;
	margin-bottom: 80px;
}
.spec h2:before {
	content: '';
	width: 320px;
	height: 40px;
	position: absolute;
	left: 50%;
	top: 20px;
	margin-left: -160px;
	background: url(../img/benefit_fude.png) no-repeat center center / contain;
}
.spec h2 span {
	position: relative;
	z-index: 3;
	display: block;
	margin: 0 auto;
	text-align: center;
	filter: drop-shadow(0px 0px 2px #FFF) drop-shadow(0px 0px 2px #FFF) drop-shadow(0px 0px 2px #FFF) drop-shadow(0px 0px 2px #FFF);
}
.spec__cont {
	width: 720px;
	margin: 0 auto;
	padding: 46px 40px;
	position: relative;
	z-index: 2;
	background-color: #FFF;
	background-image: url(../img/line_gold_t.png), url(../img/line_gold_b.png);
	background-repeat: repeat-x;
	background-position: center top, center bottom;
}
.spec__lists {}
.spec__list {
	display: flex;
	margin-bottom:20px;
}
.spec__list dt {
	color: #e60012;
	font-size: 16px;
	line-height: 1.8;
	width: 36%;
	text-align: right;
}
.spec__list dd {
	font-size: 16px;
	line-height: 1.8;
	width: 64%;
	padding-left: 20px;
	color:#000;
}
@media screen and (max-width:768px) {
	.spec {
		background: url(../../../assets/img/common/ptn/ptn_white.png) repeat fixed center center / 450px;
		padding: 6.4vw 0 12.8vw;
	}
	.spec h2 {
		height: 6.4vw;
		font-size: 2rem;
		margin-bottom: 12.8vw;
	}
	.spec h2:before {
		width: 42.6666vw;
		height: 5.3333vw;
		top: 3.2vw;
		margin-left:-21.3333vw;
	}
	.spec__cont {
		width: 87.2vw;
		padding: 6.4vw 3.2vw;
		background-size:auto 1.6vw;
	}
	.spec__list {
		display: flex;
		margin-bottom:2.4vw;
	}
	.spec__list dt {
		font-size: 1.15rem;
		width:36%;
	}
	.spec__list dd {
		font-size: 1.15rem;
		padding-left:3.2vw;
		width: 64%;
	}
	.spec__list dd img {
		width:10vw;
	}
}
.footer {
	padding: 80px 160px;
	background: #222;
	position: relative;
}
.footer:before {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 308px;
	height: 255px;
	background: url(../img/deco_bl.png) no-repeat left bottom / contain;
	pointer-events: none;
}
.footer:after {
	content: '';
	position: absolute;
	right: 0;
	bottom: 0;
	width: 251px;
	height: 201px;
	background: url(../img/deco_br.png) no-repeat right bottom / contain;
	pointer-events: none;
}
.footer__banners {
	width: 100%;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin-bottom: 16px;
}
.footer__banners li {
	margin: 0 12px 24px;
	width:182px;
}
.footer__banners li img {
	max-width: 182px;
	height:auto;
	image-rendering: -webkit-optimize-contrast;
}
.footer__banners li a {
	display: block;
	transition: all 0.3s ease;
}
.footer__device {
	height: 40px;
	background: url(../img/logo_switch_h.svg) no-repeat center center / contain;
	margin-bottom: 18px;
}
.footer__device--tm {
	font-size: 12px;
	line-height: 2;
	letter-spacing: 0.1em;
	text-align: center;
	margin-bottom: 45px;
}
.footer__sitecaution {
	font-size: 12px;
	line-height: 2;
	;
	letter-spacing: 0.1em;
	color: rgba(255, 255, 255, .4);
	text-align: center;
	margin-bottom: 40px;
}
.footer__linkLists {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin-bottom: 40px;
}
.footer__linkLists--item {
	margin: 0 20px;
}
.footer__linkLists--item a {
	color: #fff;
	font-size: 12px;
	text-decoration: none;
	text-align: center;
}
.footer__copyRight {
	color: #fff;
	display: block;
	font-size: 12px;
	text-align: center;
}
.footer__share {
	position: absolute;
	left: 40px;
	top: 80px;
	width: 80px;
}
.footer__share dt {
	height: 12px;
	font-size: 12px;
	text-align: center;
	font-weight: 500;
	margin-bottom: 15px;
	line-height: 1;
}
.footer__share--item {
	width: 45px;
	height: 45px;
	margin: 0 auto;
}
.footer__share--item a {
	background-repeat: no-repeat;
	background-position: center;
	background-size: 20px;
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
}
.footer__share--item.tw a {
	background-image: url(../../../assets/img/common/sns/sns_tw.svg);
}
.footer__share--item.fb a {
	background-image: url(../../../assets/img/common/sns/sns_fb.svg);
}
.footer__share--item.line a {
	background-image: url(../../../assets/img/common/sns/sns_line.svg);
}
.backtotop {
	position: absolute;
	right: 40px;
	top: 80px;
	width: 80px;
}
.backtotop a {
	height: 80px;
	display: block;
	text-decoration: none;
	font-size: 12px;
	font-weight: 500;
	line-height: 1;
	text-align: center;
	color: #FFF;
}
.backtotop a:before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	background: url(../img/backtotop_arrow.svg) no-repeat center bottom / contain;
	transition: all 0.3s ease;
}
.backtotop a:hover:before {
	transform: translateY(-8px);
}
@media screen and (max-width:768px) {
	.footer {
		padding: 12.8vw 6.4vw;
	}
	.footer:before {
		width: 41.0666vw;
		height: 34vw;
	}
	.footer:after {
		width: 33.4666vw;
		height: 26.8vw;
	}
	.footer__banners {
		width: 61.6vw;
		margin:0 auto;
	}
	.footer__banners li {
		margin: 0 3.2vw 6.4vw;
	}
	.footer__banners li a img {
		width:48.5333vw;
		display: block;
		margin:0 auto;
	}
	.footer__device {
		height: 5.3333vw;
		margin-bottom: 4.3vw;
	}
	.footer__device--tm {
		font-size: 0.9rem;
		line-height: 2;
		letter-spacing: 0.1em;
		text-align: center;
		margin-bottom: 4.3vw;
	}
	.footer__sitecaution {
		font-size: 0.9rem;
		line-height: 2;
		letter-spacing: 0.1em;
		color: rgba(255, 255, 255, .4);
		text-align: center;
		margin-bottom: 6.4vw;
	}
	.footer__linkLists {
		margin-bottom: 5.3333vw;
		padding: 0;
	}
	.footer__linkLists--item {
		margin: 0 10px 10px;
	}
	.footer__linkLists--item a {
		font-size: 10px;
		font-size: 1rem;
	}
	.footer__copyRight {
		font-size: 10px;
		font-size: 1rem;
		padding: 0 6.4vw;
	}
	.footer__share {
		left: 0;
		top: 6.4vw;
		width: 19.2vw;
	}
	.footer__share dt {
		height: 1rem;
		font-size: 1rem;
		margin-bottom: 4vw;
	}
	.footer__share--item {
		width: 19.2vw
		height: 15vw;
		margin: 0 auto;
	}
	.footer__share--item a {
		background-size: 6vw;
	}
	.backtotop {
		position: absolute;
		right: 0;
		top: 6.4vw;
		width: 19.2vw;
	}
	.backtotop a {
		height: 12.8vw;
		font-size: 1rem;
	}
	.backtotop a:before {
		background: url(../img/backtotop_arrow.svg) no-repeat center bottom / 60% auto;
	}
}
.modalBox {
	-webkit-overflow-scrolling: touch;
	background: rgba(0, 0, 0, .75);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	width: 100%;
	height: 100%;
	overflow: auto;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10000;
	display: none;
}
.oneModal {
	display: none;
	width: 100%;
	height: 100%;
	z-index: 1;
}
.oneModalIn {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
	height: auto;
	width: 100%;
	min-width: 100%;
	min-height: 100%;
	margin: 0 auto;
	position: relative;
}
@media screen and (max-width:768px) {
	.oneModalIn {
		min-width: 100%;
		min-height: 100%;
	}
	.oneModalIn__cont {
		width: 100%;
	}
}
.closeBtn {
	width: 100%;
	height: 100%;
	min-width: 100%;
	pointer-events: none;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}
.closeBtn a {
	display: block;
	width: 84px;
	height: 84px;
	pointer-events: auto;
	position: absolute;
	top: 0;
	right: 0;
	text-decoration: none;
}
.closeBtn a:after {
	content: "閉じる";
	font-size: 12px;
	position: absolute;
	bottom: -20px;
	left: 0;
	right:0;
	text-align: center;
	color: #fff;
	text-shadow: 0px 0px 10px #2e89e4;
	line-height:20px;
}
.closeBtn a span:first-child {
	position: absolute;
	display: block;
	width: 100%;
	height: 1px;
	background: #fff;
	top: 50%;
	left: 0;
	transform: rotate(45deg);
}
.closeBtn a span:last-child {
	position: absolute;
	display: block;
	width: 100%;
	height: 1px;
	background: #fff;
	top: 50%;
	left:0;
	transform: rotate(-45deg);
}

@media screen and (max-width:768px) {
	.closeBtn {
		min-width: 100%;
		overflow: hidden;
	}
	.closeBtn a {
		width: 12.8vw;
		height: 12.8vw;
	}
	.closeBtn a span:first-child {
		width: 12.8vw;
		top: 50%;
		left: 0;
	}
	.closeBtn a span:last-child {
		width: 12.8vw;
		top: 50%;
		right: 0;
	}
	.closeBtn a:after {
		font-size: 0.8rem;
		width:100%;
	}
}
/* common */
.commonIframe {
	width: 100%;
	height: 100%;
	display: block;
}
/* youtube */
.ytIframeWrap {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
@media screen and (max-width:768px) {
	.ytIframeWrap {
		height: auto;
		padding-top: 56.25%;
		position: relative;
	}
	.ytIframe {
		position: absolute;
		top: 0;
		left: 0;
	}
}
/* Modal */
.aImageWrap {
	width: 800px;
	margin: 40px 0;
}
.aImage__img img {
	width: 800px;
}
.aImage__title {
	color: #fff;
	font-size: 16px;
	margin-top: 20px;
}
.aImage__text {
	color: #fff;
	font-size: 14px;
	line-height: 1.8;
	margin-top: 20px;
}
@media screen and (max-width:768px) {
	.aImageWrap {
		width: calc(100% - 48px);
		margin: 50px auto;
	}
	.aImage__img img {
		width: 100%;
	}
	.aImage__title {
		font-size: 14px;
		font-size: 1.4rem;
		margin-top: 12px;
	}
	.aImage__text {
		font-size: 12px;
		font-size: 1.2rem;
		margin-top: 12px;
	}
}
.ef {
	transform: translate3d(0, 50px, 0);
	transition: all 0.7s ease;
	opacity: 0;
}
.efs {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}
/* loading */
#loading {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 10000;
}
#loading__bg {
	background: #fff url(../../../assets/img/common/ptn/ptn_white.png) repeat center;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1);
}
#loading__bg.active {
	transition-delay: 0.6s;
	transform: translateY(-100%);
}
#loading__logo {
	background: url(../../../assets/img/common/mainlogo/title_logo.png) no-repeat 0 0 / 100%;
	width: 200px;
	height: 154px;
	margin: auto;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	transition: all .3s ease-in-out;
}
#loading__logo.active {
	transition-delay: .3s;
	transform: scale(1.2);
	opacity: 0;
}
/**
 * modal
 */
.modal-inner {
	position: relative;
	z-index: 5001;
}
.modal {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	height: 100vh;
	width: 100%;
	z-index: 10000;
}
.modal-bg {
	position: absolute;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.75);
	z-index: 1000;
}
.modal-content {
	position: absolute;
	min-width: 100%;
	min-height: 100%;
	height: 80vh;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	padding-top: 8rem;
	overflow-y: scroll;
}
@media screen and (max-width: 767px) {
	.modal-content {
		max-width: 90%;
		margin: 0 auto;
	}
}
.modal-content img {
	max-width: 800px;
	height: auto;
	margin: 0 auto 60px;
	z-index: 1001;
}
@media screen and (min-width: 767px) and (max-width: 1024px) {
	.modal-content img {
		max-width: 90%;
	}
}
@media screen and (max-width: 767px) {
	.modal-content img {
		max-width: 90%;
	}
}
.modal .closeBtn {
	z-index: 1001;
}
/* modalActive時 body固定 */
@media screen and (min-width: 768px) {
	.is-open {
		height: 100vh;
		overflow-y: hidden;
		margin-left: -15px;
	}
}
@media screen and (max-width: 768px) {
	.is-open {
		height: 100vh;
		overflow-y: hidden;
	}
}
.soon{
	pointer-events: none;
	opacity: .2;
	filter: grayscale(100%);
}
.mt20{
	margin-top: 20px;
}
@media screen and (max-width: 768px) {
	.mt20{
		margin-top: 12px;
	}
	.fontS{
		transform: scale(80%);
	}
}
.mv__bnr {
	width:240px;
	position:absolute;
	right:0;
	top:0;
	bottom:0;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}
.mv__bnr--container {
	position: sticky;
	bottom:0;
	left:0;
	width:240px;
}
.mv__bnr--close {
	width:40px;
	height:40px;
	margin-left:auto;
}
.mv__bnr--close a {
	display: block;
	height: 40px;
	background:#FFF;
	position: relative;
}
.mv__bnr--close a:before,
.mv__bnr--close a:after {
	content: "";
	background-color: #000;
	width: 24px;
	height: 2px;
	margin: -1px auto auto -12px;
	position: absolute;
	top:50%;
	left:50%;
}
.mv__bnr--close a:before {
	transform:rotate(45deg);
}
.mv__bnr--close a:after {
	transform:rotate(-45deg);
}
.mv__bnrs {}
.mv__bnrs li {
	background:#FFF;
}
@media screen and (max-width: 768px) {
	.mv__bnr {
		position: static;
		margin:0 auto;
		padding-top:57vw;
		padding-bottom:8vw;
		width:64vw;
		display: block !important;
	}
	.mv__bnr--container {
		position: static;
		width:64vw;
	}
	.mv__bnr--close {
		display: none;
	}
	.mv__bnrs {
		width:64vw;
	}
	.mv__bnrs {
		width:100%;
	}
}

/* ===============================================
# event
=============================================== */
#event {
  width: 100%;
  height: 100%;
  background: url(../../../assets/img/common/ptn/ptn_white.png) repeat fixed center center / 450px 450px;
}

#event .nav {
  height: 180px;
  position: relative;
  pointer-events: auto;
}

#event .nav .head__logo .logo a {
  display: block;
  width: 100%;
  height: 100%;
}

#event .nav .head__switch {
  position: absolute;
}

  #event .nav .head__logo {
  width: 100%;
  height: 100%;
}

#event .nav .head__logo .logo{
  width: 180px;
  height: 140px;
  background: url(../../../assets/img/common/mainlogo/title_logo.png) no-repeat center center / contain;
  margin: 40px auto;
  image-rendering: -webkit-optimize-contrast;
}

.event {
  padding-top: 80px;
  padding-bottom: 160px;
}

.event_inner {
  max-width: 972px;
  margin: 0 auto;
}

.event_h1 {
  width: 714px;
  height: 64px;
  margin: 0 auto 80px;
  background: url(../img/event/event_h1.png) no-repeat center center / contain;
  transform: translateX(60px);
}

@media screen and (max-width: 768px) {
  #event .nav {
    height: 160px;
  }  

  #event .nav .head__logo .logo {
    width: 135px;
    height: 105px;
    margin: 40px auto;
    image-rendering: -webkit-optimize-contrast;
  }

  .event {
    padding-top: 40px;
    padding-bottom: 64px;
  }
  
  .event_h1 {
    width: 100%;
    height: 32px;
    margin: 0 auto 48px;
    background: url(../img/event/event_h1.png) no-repeat center center / contain;
    transform: translateX(30px);
  }

  .event_img {
    padding: 0 6%;
  }
}

/* ===============================================
# manual
=============================================== */
#sub {
  width: 100%;
  height: 100%;
  background: url(../../../assets/img/common/ptn/ptn_white.png) repeat fixed center center / 450px 450px;
}

#sub .head__logo .logo a {
  display: block;
  width: 100%;
  height: 100%;
}

#sub .head__switch {
  position: absolute;
}

@media screen and (min-width:769px) {
  #sub .head__logo {
    position: absolute;
    top: 100px;
    left: 80px;
  }
}

@media screen and (max-width: 768px) {
  #sub .head__logo {
    margin-bottom: 40px;
  }  
}

#sub .head__logo .logo{
  width: 180px;
  height: 140px;
  background: url(../../../assets/img/common/mainlogo/title_logo.png) no-repeat center center / contain;
  image-rendering: -webkit-optimize-contrast;
}

@media screen and (max-width: 768px) {
  #sub .head__logo .logo{
    width: 160px;
    height: 120px;
    margin: 0 auto;
  }  
}

#sub .head__ttl {
  height: 40px;
  position: relative;
  font-size: 40px;
  font-weight: 700;
  color: #000;
  letter-spacing: 0.2em;
  padding-left: 0.2em;
  line-height: 1;
  margin-bottom: 20px;
  text-align: center;
}

@media screen and (max-width: 768px) {
  #sub .head__ttl {
    font-size: 2rem;
  }  
}

#sub .head__ttl span {
  position: relative;
  z-index: 3;
  display: block;
  margin: 0 auto;
  text-align: center;
  filter: drop-shadow(0px 0px 2px #FFF) drop-shadow(0px 0px 2px #FFF) drop-shadow(0px 0px 2px #FFF) drop-shadow(0px 0px 2px #FFF);
}

#sub .head__ttl:before {
  content: '';
  width: 320px;
  height: 40px;
  position: absolute;
  left: 50%;
  top: 20px;
  margin-left: -160px;
  background: url(../img/benefit_fude.png) no-repeat center center / contain;
}

@media screen and (max-width: 768px) {
  #sub .head__ttl:before {
    width: 42.6666vw;
    height: 5.3333vw;
    top: 3.2vw;
    margin-left: -21.3333vw;
  }
}

#sub .head__inner {
  margin: 160px 80px 80px;
}

@media screen and (max-width: 768px) {
  #sub .head__inner {
    margin: 80px 0 40px;
  }  
}