@charset "UTF-8";
/* ////////////////////////////////////////////////////////////////////////////////

	Common

//////////////////////////////////////////////////////////////////////////////// */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');
@import url("https://use.typekit.net/fjo8jzj.css");
body {
	font-family: 'Noto Sans JP', sans-serif;
	color: #fff;
	letter-spacing: 0.08em;
	line-height: 1.8;
	-webkit-text-size-adjust: 100%;
}
img {
	width: 100%;
	max-width: 100%;
	height: auto;
}
a {
	text-decoration: none;
	transition: all 0.3s ease-out;
}
ul li, ol li {
	list-style: none;
}
.clearfix::after {
	content: "";
	display: block;
	clear: both;
 }

.anim {
	opacity: 0;
	transform: translateY(60px);
	transition: all .8s ease-out;
}
.anim.on {
	opacity: 1;
	transform: translateY(0);
}

@media screen and (min-width: 813px) {
	.sp { display: none;}

	a.anim.on:hover {
		opacity: 0.5;
	}
	a:hover {
		opacity: 0.5;
	}
}
@media screen and (max-width: 812px) {	
	.pc { display: none;}
	#release h2.anim {
	opacity: 1;
	transform: translateY(60px);
	transition: all .8s ease-out;
}
#release h2.anim.on {
	opacity: 1;
	transform: translateY(0);
}
}

#gnavWrap {
	z-index: 4000;
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-image: url(../images/menu_pc.jpg);
	background-size: auto 100vh;
	background-color: #000;
	/*transition: all 0.3s ease-out;*/
}
#gnav {
	padding-left: 55vh;
	display: flex;
    flex-direction: column;
    justify-content: space-around;
    height: 100vh;
}
#gnav ul.menu li a {
	color: #fff;
	font-size: 4.6vh;
	letter-spacing: 0.02em;
	font-family: din-2014,sans-serif;
	font-weight: 700;
	font-style: normal;
	line-height: 1.4;
}

#gnav ul.menu .menuAcc .parent {
	position: relative;
    padding-right: 5vh;
}
#gnav ul.menu .menuAcc .parent::after {
	content: "";
	display: block;
    width: 2vh;
    height: 2vh;
	border-right: #fff solid 1px;
	border-bottom: #fff solid 1px;
	transform: translateY(-50%) rotate(45deg);
	position: absolute;
	top: 43%;
	right: 0;
	transition: all .3s ease-out;
}
#gnav ul.menu .menuAcc .parent.on::after {
	transform: translateY(-50%) rotate(-135deg);
	top: 60%;
}
#gnav ul.menu .menuAcc .menuAccWrap {
	display: none;
	will-change: transform,animation,position;
}
#gnav ul.menu .menuAcc ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
    width: 90%;
    margin: 1vh 0 2vh;
}
#gnav ul.menu .menuAcc ul li {
    border-bottom: #666 solid 1px;
	padding: 1vh;
	width: 48%;
}
#gnav ul.menu .menuAcc ul li a {
    font-size: 2vh;
}

#gnav ul.sns {
	display: flex;
	justify-content: space-between;
    align-items: center;
    width: 240px;
}
#menuButton {
	display: block;
	width: 40px;
	height:40px;
	position: fixed;
	top: 60px;
	right: 65px;
	z-index: 9998;
}
#menuButton span {
	display: block;
	background: #fff;
	width: 50px;
	height: 2px;
	position: absolute;
	-webkit-transition: all 0.4s;
	transition: all 0.4s;
}
#menuButton.wh span {
	background: #000;
}
#menuButton span:first-child { top: 9px;}
#menuButton span:nth-child(2) { display: none;}
#menuButton span:nth-child(3) { bottom: 11px;}
#menuButton.active span {
	background: #fff !important;
}
#menuButton.active span:first-child {
	transform: translateY(9px) rotate(45deg);
}
#menuButton.active span:nth-child(2) { opacity: 0;}
#menuButton.active span:nth-child(3) {
	transform: translateY(-9px) rotate(-45deg);
}
@media screen and (max-width: 812px) {	
	#gnavWrap {
		background-size: 100%;
		background-position: bottom;
	}
	#gnav {
		padding: 6vw 0 0;
		height: 70vh;
	}
	#gnav ul.menu {
    	padding: 0 10vw;
	}
	#gnav ul.menu li a {
		font-size: calc(20 / 375 * 100vw);
		line-height: 1.7;
	}
	
	#gnav ul.menu li a {
		font-size: calc(20 / 375 * 100vw);
	}
	#gnav ul.menu .menuAcc ul {
		width: 100%;
    	margin: 0 0 2vw;
	}
	#gnav ul.menu .menuAcc ul li {
		padding: 1vw;
		width: 48%;
    	line-height: 1.6;
	}
	#gnav ul.menu .menuAcc ul li a {
		font-size: 3vw;
    	vertical-align: middle;
	}
	
	#gnav ul.sns {
		width: 70%;
    	align-self: center;
	}
	#gnav ul.sns li {
		line-height: 0;
	}
	#gnav ul.sns li:nth-child(1),
	#gnav ul.sns li:nth-child(3) {
		width: 12vw;
	}
	#gnav ul.sns li:nth-child(2) {
		width: 10vw;
	}
	#gnav ul.sns li:nth-child(4) {
		width: 10vw;
	}
	#menuButton {
		top: 25px;
		right: 20px;
	}
	#menuButton span {
		width: 38px;
	}
}

/* ////////////////////////////////////////////////////////////////////////////////

	top

//////////////////////////////////////////////////////////////////////////////// */
.innerWrap {
	max-width: 1280px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}
body#index {
	width: 100%;
	height: auto;
	background-color: #050509;
	position: relative;
}
body#index::before {
    content: "";
    display: block;
    background: url(../images/fv_tentative_Jn37zwnu2e.png) no-repeat center;
  background-size: contain;
    position: relative;
    top: 0;
    left: 0;
    height: 100vh;
    min-height: 600px;
    margin: 0 auto 100px;
    opacity: 0;
    filter: blur(60px);
    animation: op1 .5s ease-out .5s forwards;
    z-index: -1;
}
@keyframes op1 {
	0% { opacity: 0; filter: blur(60px);}
	100% { opacity: 1; filter: blur(0);}
}

@keyframes revealFromBottom{
		to{
			clip-path:  inset(0 0 0 0);
		}
	}

body#index main {
	padding-top: 278px;
	transition: all .6s ease-out;
}
body#index main.bgon {
	background-color: #000;
}

section.fv {
	position: relative;
	display: flex;
    align-items: center;
    justify-content: center;
	height: 100vh;
}
section.fv {
	opacity: 0;
	animation: op2 1.5s ease-out 2.5s forwards;
}
@keyframes op2 {
	0% { opacity: 0;}
	100% { opacity: 1;}
}

section.fv h1 {
    width: 58vw;
    max-width: 780px;
    margin-bottom: 16vh;
}
.linkLayer {
    position: absolute;
    top: 70vh;
    right: 0vw;
    width: 22vw;
    max-width: 300px;
}
.linkLayer a {
	display: block;
	line-height: 0;
	margin-bottom: 10px;
}
section.fv .arrow {
    position: absolute;
    bottom: 0vw;
    left: 0;
    right: 0;
    margin: auto;
    width: 2px;
    height: 6vw;
    overflow: hidden;
}
section.fv .arrow::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-color: #fff;
    animation: 2s arrow-animation infinite ease-in-out;
}
@keyframes arrow-animation {
	0% { transform: translateY(-100%);}
	100% { transform: translateY(100%);}
}
.fvBottom {
	margin: 0 auto 278px;
	max-width: 867px;
	font-size: 20px;
	line-height: 3;
	letter-spacing: 0.18em;
}
.sectionTtl {
	font-size: 80px;
	text-align: center;
	letter-spacing: 0.02em;
	font-family: din-2014,sans-serif;
	font-weight: 700;
	font-style: normal;
	line-height: 1.4;
}
section.releaseInfo {
	/*transition: all .6s ease-out;*/
	overflow: hidden;
	position: relative;
	margin-bottom: 70px;
}
section.releaseInfo:last-child {
}

section.releaseInfo::before {
	content: "";
	display: block;
	background: url("../images/track_bg.jpg") no-repeat center center;
	background-size: 100% auto;
	position: absolute;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100%;
	z-index: 0;
	opacity: 0;
	transition: all .6s ease-out;
}
section.releaseInfo.bgon::before {
	opacity: 1;
}

section.releaseInfo .sectionTtl {
	margin-bottom: 70px;
}
section.releaseInfo .freedomOnly {
	text-align: center;
}
section.releaseInfo .freedomOnly img {
	margin-bottom: 30px;
	max-width: 780px;
}
section.releaseInfo .freedomOnly .releaseTtl {
	font-size: 56px;
	font-weight: 600;
}
section.releaseInfo .freedomOnly .releaseDate {
	font-size: 28px;
}
section.releaseInfo .trackList {
	margin: 100px auto 80px;
	max-width: 990px;
}
section.releaseInfo .trackList h2 {
	margin-bottom: 10px;
	text-align: center;
	color: #d7406b;
}
section.releaseInfo .trackList ol li.trackSingle {
	display: flex;
	align-items: center;
	padding: 20px 0 20px 0.5vw;
	line-height: 1;
	border-bottom: 1px solid #999;
}
section.releaseInfo .trackList ol li.trackSingle .playBtn {
    margin-right: 20px;
	width: 40px;
	height: 40px;
	background-image: url(../images/btn_play.png);
	background-size: contain;
	cursor: pointer;
}
section.releaseInfo .trackList ol li.trackSingle .spacer {
    margin-right: 20px;
	width: 40px;
	height: 40px;
	cursor: pointer;
}
section.releaseInfo .trackList ol li.trackSingle .playBtn.isPlaying {
	background-image: url(../images/btn_pause.png);
}
section.releaseInfo .trackList ol li.trackSingle .trackTtl {
	font-size: 24px;
	letter-spacing: 0.08em;
}
section.releaseInfo .trackList ol li.trackSingle .trackTtl span {
	padding-left: 1vw;
	font-weight: bold;
	font-size: 22px;
}
section.releaseInfo .trackList ol li.trackSingle a.lyricBtn {
	margin-left: auto;
	padding: 10px 2vw;
	color: #fff;
	border: 2px solid #fff;
	font-size: 14px;
	letter-spacing: 0.12em;
}

#release .btWrap {
	margin-bottom: 80px;
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
#release .btWrap a {
	margin-bottom: 30px;
    width: 46%;
    margin: 0 2% 30px;
    font-size: 16px;
    line-height: 1.3;
}
#tracklist .btWrap {
	margin-bottom: 80px;
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
#tracklist .btWrap a {
	margin-bottom: 30px;
    width: 46%;
    margin: 0 2% 30px;
    font-size: 16px;
    line-height: 1.3;
}
}

#index #cboxLoadedContent{
	padding: 140px 80px 120px;
}
#cboxContent {
	margin-top: 0;
}
.lyModal {
	color: #fff;
	background: #1f3135;
	max-width: 1280px;
	margin: 0 auto;
	position: relative;
}
.lyModal::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
}
.lyModal h3 {
	text-align: center;
	font-size: 40px;
	padding-top: 100px;
	margin-bottom: 30px;
}
.lyModal .lyricWrap p {
	-webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.lyModal .credit {
	text-align: center;
	font-size: 14px;
	margin-bottom: 60px;
}
.lyModal .lyricWrap {
	max-width: 990px;
	padding-top: 70px;
	border-top: 1px solid #fff;
	margin: 0 auto;
	padding-bottom: 120px;
}
.lyModal .lyricWrap p {
	margin-bottom: 50px;
}
#index #cboxClose {
	width: 40px;
    height: 40px;
    position: absolute;
    top: 50px;
    right: 100px;
    background: url(../images/modalClose.svg) no-repeat 0 0;
	transition: 0.3s;
	z-index: 3;
}
#index #cboxClose:hover {
    background-position: -0.5px -0.5px;
	opacity: 0.7;
}
.lyModal .lyricWrap p ruby rt {
    text-align: center;
    letter-spacing: 4em;
    text-indent: 4em;
}
#lyric01.lyModal .lyricWrap p ruby rt,
#lyric02.lyModal .lyricWrap p ruby rt,
#lyric05.lyModal .lyricWrap p ruby rt,
#lyric06.lyModal .lyricWrap p ruby rt,
#lyric07.lyModal .lyricWrap p ruby rt,
#lyric12.lyModal .lyricWrap p ruby rt {
    letter-spacing: .1em;
    text-indent: .1em;
}
a.btnPink {
	display: flex;
	text-align: center;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
	color: #fff;
	background-color: #3c898f;
	max-width: 420px;
	max-height: 100px;
}
a.btnPink img {
    width: 42%;
}
/*.comment {
    width: calc(100vw - 160px);
	max-width: 1280px;
}*/
.lyModal.comment .lyricWrap {
	border-top: none;
    padding: 120px 0;
}
.comment p {
	margin-bottom: 30px;
	line-height: 2;
}
.comment .lyricWrap .signature {
	text-align: right;
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 0;
}

section#movie {
	padding-top: 180px;
	padding-bottom: 240px;
}
section#movie .sectionTtl {
	margin-bottom: 70px;
}
section#movie .slick-slide {
	padding: 2vw;
}
.slick-arrow {
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 70px;
}
.prev-arrow {
	left: 3vw;
	z-index: 10;
}
.next-arrow {
	right: 3vw;
}

#movie .slider div {
	position: relative;
}
#movie .slider div a {
	display: block;
	line-height: 0;
}
#movie .slider div a::after {
	content: "";
	display: block;
	width: 20%;
	height: 20%;
	background: url("../images/movie_play.png") no-repeat center center;
	background-size: contain;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}


.movieModal {
	height: 100%;
	display: flex;
    align-items: center;
}
.ytBox {
	width: 90%;
	max-width: 800px;
	margin: 0 auto;
}
.ytBox div {
	position: relative;
	padding-top: 56.25%;
}
.ytBox div iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

section#digital {
	background-color: #fff;
	color: #000;
}
section#digital .innerWrap {
	margin: 0 auto;
	padding-top: 150px;
	padding-bottom: 190px;
	max-width: 990px;
}
section#digital .lead {
	margin-bottom: 80px;
	text-align: center;
	font-size: 24px;
	letter-spacing: 0.18em;
}
section#digital ol li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 30px 0 30px 2vw;
	border-bottom: 1px solid #444444;
}
section#digital ol li:first-child{
	border-top: 1px solid #444444;
}
section#digital ol li .dsL {
	display: flex;
	align-items: center;
}
section#digital ol li .dsR {
	display: flex;
	align-items: center;
}
section#digital ol li .number {
	padding-right: 1.6vw;
	/*-ms-writing-mode: tb-rl;
  	writing-mode: vertical-rl;*/
	font-size: 20px;
    line-height: 1.2;
    width: 1.8em;
    box-sizing: content-box;
}
section#digital ol li img {
}
section#digital ol li .releaseTtl {
	font-size: 20px;
	font-weight: bold;
}
section#digital ol li a.comBtn {
	margin-left: auto;
	padding: 15px 3vw;
	font-size: 14px;
	color: #000;
	border: 2px solid #000
}

section#digital ol li .playBtn {
	margin: 0 3vw;
	position: relative;
	max-width: 170px;
	line-height: 0;
}
section#digital ol li .playBtn::before {
	content: "";
	display: block;
	background-color: #444444;
	height: 100%;
	width: 1px;
	position: absolute;
	top: 0;
	left: -3vw;
}
section#digital ol li .playBtn::after {
    content: "";
    display: block;
    width: 36%;
    padding-top: 36%;
    background-image: url(../images/btn_play.png);
    background-position: center center;
    background-size: 90%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    background-color: rgba(0,0,0,0.40);
    border-radius: 50%;
}
section#digital ol li .playBtn.isPlaying::after {
	background-image: url(../images/btn_pause.png);
}
section#digital ol li .jkt {
	margin: 0 3vw;
	max-width: 170px;
	line-height: 0;
	position: relative;
}
section#digital ol li .jkt::before {
	content: "";
	display: block;
	background-color: #444444;
	height: 100%;
	width: 1px;
	position: absolute;
	top: 0;
	left: -3vw;
}
section#digital ol li .spacer {
    margin-right: 20px;
	width: 40px;
	height: 40px;
}


section#media {
	background-color: #eaeaea;
	color: #000;
	padding: 0;
}
section#media .innerWrap {
    margin: 0 auto;
    padding-top: 150px;
    padding-bottom: 190px;
    max-width: 990px;
}
section#media .mediaList {
	margin-top: 60px;
}
section#media .mediaList li {
	margin-bottom: 60px;
}
section#media .mediaList li h3 {
	background-color: #000;
	color: #fff;
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	padding: 5px;
	margin-bottom: 30px;
}
section#media .mediaList li p {
	font-size: 16px;
	line-height: 2;
	margin-bottom: 25px;
}
section#media .mediaList li .mediaLead {
	font-weight: bold;
	font-size: 18px;
}
section#media .mediaList li p a {
	color: #000;
	text-decoration: underline;
	word-break: break-all;
}



/* top Footer */
footer.footer {
	background-color: #fff;
	padding-top: 80px;
}
footer.footer .copyright {
	font-size: 10px;
	letter-spacing: 0.06em;
	color: #131313;
}


@media screen and (min-width: 813px) {
	a.btnPink {
		height: 100px;
		font-size: 20px;
		margin-bottom: 40px;
	}
	section.releaseInfo .trackList ol li.trackSingle .playBtn,
	section#digital ol li .playBtn {
		transition: all .3s ease-out;
		cursor: pointer;
	}
	section.releaseInfo .trackList ol li.trackSingle .playBtn:hover,
	section#digital ol li .playBtn:hover {
		opacity: .5;
	}
	
	section#media .mediaList li p a:hover {
		text-decoration: none;
	}
	footer.footer {
		padding-bottom: 160px;
	}
	footer.footer .innerWrap{
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	footer.footer img {
		max-width: 160px;
	}
}
@media screen and (min-width: 813px) and (max-width: 1270px) {
	.innerWrap {
		padding-left: 3vw;
		padding-right: 3vw;
	}
	.lyModal .lyricWrap {
		width: 80%;
	}
}
@media screen and (max-width: 812px) {
	.innerWrap {
		padding: 0 calc(16 / 375 * 100vw);
	}
	section.fv h1 {
		width: 84%;
		margin-bottom: 0;
	}
	
	.linkLayer {
		bottom: 52vw;
		top: inherit;
		right: 11vw;
		width: 78vw;
		line-height: 0;
	}
	.linkLayer a {
		border: #ccc solid 1px;
		display: block;
		line-height: 0;
		margin-bottom: 4vw;
	}
	section.fv .arrow {
		height: 20vw;
	}
	.fvBottom {
		margin: calc(150 / 375 * 100vw) auto calc(180 / 375 * 100vw);
		font-size: calc(15 / 375 * 100vw);
	}
	.sectionTtl {
		font-size: calc(28 / 375 * 100vw);
	}
	section.releaseInfo .sectionTtl {
		margin-bottom: calc(30 / 375 * 100vw);
	}
	section.releaseInfo .freedomOnly img {
		margin-bottom: 0;
	}
	section.releaseInfo .freedomOnly .releaseTtl {
		font-size: calc(36 / 375 * 100vw);
	}
	section.releaseInfo .freedomOnly .releaseDate {
		font-size: calc(20 / 375 * 100vw);
	}
	section.releaseInfo .trackList {
		margin: calc(70 / 375 * 100vw) auto calc(40 / 375 * 100vw);
	}
	section.releaseInfo .trackList h2 {
		margin-bottom: calc(10 / 375 * 100vw);
		font-size: calc(22 / 375 * 100vw);
	}
	section.releaseInfo .trackList ol li.trackSingle {
		padding: calc(15 / 375 * 100vw) 0;
	}
	section.releaseInfo .trackList ol li.trackSingle .playBtn {
		width: calc(25 / 375 * 100vw);
		height: calc(25 / 375 * 100vw);
	}
	section.releaseInfo .trackList ol li.trackSingle .spacer {
		width: calc(25 / 375 * 100vw);
		height: calc(25 / 375 * 100vw);
	}
	section.releaseInfo .trackList ol li.trackSingle .trackTtl {
		font-size: calc(16 / 375 * 100vw);
	}
	section.releaseInfo .trackList ol li.trackSingle .trackTtl span {
		font-size: calc(14 / 375 * 100vw);
	}
	section.releaseInfo .trackList ol li.trackSingle .trackTtl span.narrow {
		letter-spacing: -0.02em;
	}
	section.releaseInfo .trackList ol li.trackSingle a.lyricBtn {
		padding: 6px 4vw;
		font-size: calc(10 / 375 * 100vw);
	}
	#release .btWrap {
		margin-bottom: 16vw;
	}
	#release .btWrap a {
		margin-bottom: 6vw;
    	width: 100%;
    	font-size: 12px;
	}
	#tracklist .btWrap {
	margin-bottom: 16vw;
	}
	#tracklist .btWrap a {
		margin-bottom: 6vw;
    	width: 100%;
    	font-size: 12px;
	}
	#index #cboxLoadedContent{
		padding: 18vw 5vw 20vw;
	}
	.lyModal {
		max-width: 90vw;
	}
	.lyModal h3 {
		font-size: calc(30 / 375 * 100vw);
		padding-top: calc(60 / 375 * 100vw);
		margin-bottom: calc(20 / 375 * 100vw);
	}
	.lyModal .credit {
		font-size: calc(10 / 375 * 100vw);
		margin-bottom: calc(40 / 375 * 100vw);
	}
	.lyModal .lyricWrap {
		max-width: 84%;
		padding-top: calc(30 / 375 * 100vw);
		padding-bottom: calc(70 / 375 * 100vw);
	}
	.lyModal .lyricWrap p {
		margin-bottom: calc(30 / 375 * 100vw);
		font-size: calc(15 / 375 * 100vw);
	}
	#index #cboxClose {
		width: calc(30 / 375 * 100vw);
		height: calc(30 / 375 * 100vw);
		top: calc(20 / 375 * 100vw);
		right: calc(20 / 375 * 100vw);
	}
	a.btnPink {
		height: calc(80 / 375 * 100vw);
		font-size: calc(15 / 375 * 100vw);
		width: 80%;
		margin-bottom: 30px;
	}

	section#movie {
		padding-top: calc(80 / 375 * 100vw);
		padding-bottom: calc(100 / 375 * 100vw);
	}
	section#movie .sectionTtl {
		margin-bottom: calc(30 / 375 * 100vw);
	}
	.slick-arrow {
		width: calc(30 / 375 * 100vw);
	}

	section#digital .innerWrap {
		padding-top: calc(100 / 375 * 100vw);
		padding-bottom: calc(60 / 375 * 100vw);
	}
	section#digital .lead {
		margin-bottom: calc(50 / 375 * 100vw);
		font-size: calc(18 / 375 * 100vw);
	}
	section#digital ol li {
		display: flex;
		flex-direction: column;
		padding: calc(30 / 375 * 100vw) 2vw calc(30 / 375 * 100vw);
	}
	section#digital ol li .dsL,
	section#digital ol li .dsR {
		flex-direction: column;
	}
	section#digital ol li .number {
		font-size: calc(18 / 375 * 100vw);
		margin-bottom: calc(15 / 375 * 100vw);
		padding-right: 0;
		-ms-writing-mode: inherit;
		writing-mode: inherit;
		width: 100%;
		text-align: center;
	}
	
	section#digital ol li .releaseTtl {
		font-size: calc(18 / 375 * 100vw);
    	margin-bottom: 0;
	}
	section#digital ol li a.comBtn {
		margin-left: inherit;
		margin-top: calc(20 / 375 * 100vw);
		padding: 3vw 12vw;
		font-size: calc(14 / 375 * 100vw);
	}
	section#digital ol li .playBtn {
		margin: 0 0 calc(15 / 375 * 100vw);
		max-width: 42vw;
	}
	section#digital ol li .playBtn::before {
		display: none;
	}
	section#digital ol li .spacer {
		display: none;
	}
	
	section#digital ol li .jkt {
		margin: 0 0 calc(15 / 375 * 100vw);
		max-width: 42vw;
	}
	section#digital ol li .jkt::before {
		display: none;
	}
	
	section#media .innerWrap {
		padding-top: calc(60 / 375 * 100vw);
		padding-bottom: calc(60 / 375 * 100vw);
	}
	section#media .mediaList {
		margin-top: 8vw;
	}
	section#media .mediaList li h3 {
		font-size: 4.2vw;
		padding: 1vw;
		margin-bottom: 5vw;
	}
	section#media .mediaList li p {
		font-size: 3.2vw;
		line-height: 1.8;
		margin-bottom: 6vw;
	}
	section#media .mediaList li .mediaLead {
		font-size: 3.8vw;
	}
	
	footer.footer {
		padding-bottom: calc(70 / 375 * 100vw);
	}
	footer.footer .innerWrap{
		text-align: center;
	}
	footer.footer img {
		margin-bottom: calc(30 / 375 * 100vw);
		max-width: calc(113 / 375 * 100vw);
	}
	footer.footer .copyright {
		font-size: calc(9.3 / 375 * 100vw);
	}
}

/* ////////////////////////////////////////////////////////////////////////////////

	layer

//////////////////////////////////////////////////////////////////////////////// */
header.layerHdr h1 {
	width: 75vw;
	max-width: 820px;
}

.concept {
	margin-bottom: 100px;
	height: 300px;
	overflow: hidden;
    position: relative;
	transition: all .4s ease-out;
	padding-bottom: 60px;
}
.concept.on {
    height: 860px;
}
.concept::after {
	content: "";
	display: block;
	height: 200px;
	width: 100%;
	background: linear-gradient(to top, rgba(255,255,255,1) 30%, rgba(255,255,255,0) 100%);
	position: absolute;
	bottom: 0;
	left: 0;
}
.concept p {
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	line-height: 2.4;
	color: #000;
	margin-bottom: 60px;
}
.concept .signature {
	font-size: 32px;
	margin-bottom: 0;
}

.concept .close {
	position: absolute;
    bottom: 0;
    left: 50%;
	transform: translateX(-50%);
    z-index: 1;
    margin-bottom: 0;
}
.concept .close a {
	font-size: 16px;
	font-weight: bold;
	color: #000;
	display: inline-block;
	padding-bottom: 3px;
	border-bottom: #000 solid 2px;
}
.concept .close a::before {
	content: "VIEW MORE";
}
.concept.on .close a::before {
	display: none;
}
.concept .close a::after {
	content: "CLOSE";
	display: none;
}
.concept.on .close a::after {
	display: block;
}


.layer {
	display: flex;
	align-items: center;
	padding-left: 3vw;
	padding-right: 3vw;
}
span.layer {
	padding-top: 2vw !important;
	padding-bottom: 2vw !important;
}
.layer .titleWrap {
    padding-left: 12.4vw;
	position: relative;
    padding-right: 2vw;
}


.layer .titleWrap .title.new {
	padding-left: 75px;
	position: relative;
}
.layer .titleWrap .title.new::before {
	content: "NEW";
	display: block;
	font-size: 12px;
	padding: 5px 10px;
	background-color: rgba(255,255,255,.2);
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	text-indent: .1em;
    letter-spacing: .1em;
	color: #fff;
}

.layer .titleWrap .title .member {
	margin-left: 20px;
    font-weight: normal;
    border-left: rgba(255,255,255,0.4) solid 1px;
    padding-left: 20px;
    line-height: 1;
    display: inline-block;
}

.layer .number {
	font-family: "Times New Roman", serif;
	font-size: 16px;
	letter-spacing: 0;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
.layer .title {
	font-weight: bold;
	letter-spacing: 0.11em;
    line-height: 1.5;
    display: inline-block;
}
.layer .moreBtn {
	margin-left: auto;
	padding: 10px 1.6vw;
	font-size: 13px;
	color: #fff;
	border: 1px solid #fff;
	letter-spacing: 0.11em;
}
.laModal {
	height: auto;
	padding-top: 170px;
	padding-bottom: 230px;
}
.laModal .modalNumb {
	margin-bottom: 20px;
	font-family: "Times New Roman", serif;
	font-size: 15px;
	margin-right: 0;
	letter-spacing: 0;
	text-align: center;
}
.laModal .modalTtl {
	margin-bottom: 70px;
	font-size: 32px;
	font-weight: bold;
	letter-spacing: 0.11em;
	text-align: center;
}
.laModal .modalTtl span {
	display: block;
	font-size: 24px;
	font-weight: normal;
}
.laModal p {
	margin: 0 auto;
	letter-spacing: 0.1em;
}


/*#layer .layerHdr {
	opacity: 0;
	animation: oplayer 1.5s ease-out .5s forwards;
}
#layer main {
	opacity: 0;
	animation: oplayer 2s ease-out 2.5s forwards;
}
@keyframes oplayer {
	0% { opacity: 0;}
	100% { opacity: 1;}
}*/

#layer #cboxContent {
	margin-top: 0;
}
#layer #cboxClose {
	width: 40px;
    height: 40px;
    position: absolute;
    top: 50px;
    right: 50px;
    background: url(../images/modalClose.svg) no-repeat 0 0;
	transition: 0.3s;
}
#layer #cboxClose:hover {
    background-position: -0.5px -0.5px;
	opacity: 0.7;
}

.layer {
	padding: 2vw 3vw;
	position: relative;
	overflow: hidden;
}
.layer:hover {
	opacity: 1;
}
.layer::before {
	content: "";
	transition: all .5s ease-out;
	width: 150%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 0;
}
a.layer:hover::before {
	right: -50%;
	opacity: .4;
}
.layer .titleWrap,
.layer .moreBtn {
	position: relative;
	z-index: 1;
}

.layer01 {
	color: #c7986c;
	background: #562929;
}
.laModal01,
.layer01::before {
	color: #c7986c;
	background: #562929;
	background: linear-gradient(to right,  #562929 0%,#310b0b 100%);
}
.layer02 {
	color: #fff;
	background: #1c819f;
	padding-top: 3vw;
	padding-bottom: 3vw;
}
.laModal02,
.layer02::before {
	color: #fff;
	background: #1c819f;
	background: linear-gradient(to right,  #1c819f 20%,#657a96 100%);
}
.layer03 {
	color: #c7e1d8;
	background: rgb(32,64,80);
	padding-top: 1vw;
	padding-bottom: 1vw;
}
.laModal03,
.layer03::before {
	color: #c7e1d8;
	background: rgb(32,64,80);
	background: linear-gradient(90deg, rgba(32,64,80,1) 20%, rgba(0,94,93,1) 100%);
}
.layer04 {
	color: #fad8d8;
	background: rgb(0,81,123);
	padding-top: 4vw;
	padding-bottom: 4vw;
}
.laModal04,
.layer04::before {
	color: #fad8d8;
	background: rgb(0,81,123);
	background: linear-gradient(90deg, rgba(0,81,123,1) 20%, rgba(17,39,66,1) 100%);
}
.layer05 {
	color: #112742;
	background: rgb(250,216,216);
	padding-top: 1vw;
	padding-bottom: 1vw;
}
.laModal05,
.layer05::before {
	color: #112742;
	background: rgb(250,216,216);
	background: linear-gradient(90deg, rgba(250,216,216,1) 20%, rgba(217,153,170,1) 100%);
}
.layer06 {
	color: #3b5148;
	background: rgb(201,200,164);
	padding-top: 1vw;
	padding-bottom: 1vw;
}
.laModal06,
.layer06::before {
	color: #3b5148;
	background: rgb(201,200,164);
	background: linear-gradient(90deg, rgba(201,200,164,1) 20%, rgba(200,172,133,1) 100%);
}
.layer07 {
	color: #c8ac85;
	background: rgb(114,131,172);
	padding-top: 1vw;
	padding-bottom: 1vw;
}
.laModal07,
.layer07::before {
	color: #c8ac85;
	background: rgb(114,131,172);
	background: linear-gradient(90deg, rgba(114,131,172,1) 0%, rgba(59,66,98,1) 100%);
}
.layer08 {
	color: #fff;
	background: rgb(149,31,35);
}
.laModal08,
.layer08::before {
	color: #fff;
	background: rgb(149,31,35);
	background: linear-gradient(90deg, rgba(149,31,35,1) 20%, rgba(82,15,10,1) 100%);
}
.layer09 {
	color: #1c819f;
	background: rgb(55,46,28);
	padding-top: 3vw;
	padding-bottom: 3vw;
}
.laModal09,
.layer09::before {
	color: #1c819f;
	background: rgb(55,46,28);
	background: linear-gradient(90deg, rgba(55,46,28,1) 0%, rgba(35,27,9,1) 100%);
}
.layer10 {
	color: #fff;
	background: rgb(123,93,42);
	padding-top: 1.5vw;
	padding-bottom: 1.5vw;
}
.laModal10,
.layer10::before {
	color: #fff;
	background: rgb(123,93,42);
	background: linear-gradient(90deg, rgba(123,93,42,1) 0%, rgba(97,63,27,1) 100%);
}
.layer11 {
	color: #fff;
	background: rgb(149,81,115);
	padding-top: 3vw;
	padding-bottom: 3vw;
}
.laModal11,
.layer11::before {
	color: #fff;
	background: rgb(149,81,115);
	background: linear-gradient(90deg, rgba(149,81,115,1) 20%, rgba(0,132,110,1) 100%);
}
.layer12 {
	color: #222831;
	background: rgb(81,113,51);
}
.laModal12,
.layer12::before {
	color: #222831;
	background: rgb(81,113,51);
	background: linear-gradient(90deg, rgba(81,113,51,1) 20%, rgba(129,167,89,1) 100%);
}
.layer13 {
	color: #112742;
	background: rgb(28,129,159);
	padding-top: 1vw;
	padding-bottom: 1vw;
}
.laModal13,
.layer13::before {
	color: #112742;
	background: rgb(28,129,159);
	background: linear-gradient(90deg, rgba(28,129,159,1) 20%, rgba(90,137,130,1) 100%);
}
.layer14 {
	color: #c8ac85;
	background: rgb(34,40,49);
	padding-top: 1vw;
	padding-bottom: 1vw;
}
.laModal14,
.layer14::before {
	color: #c8ac85;
	background: rgb(34,40,49);
	background: linear-gradient(90deg, rgba(34,40,49,1) 20%, rgba(48,56,66,1) 100%);
}
.layer15 {
	color: #222831;
	background: rgb(234,144,38);
	padding-top: 1.5vw;
	padding-bottom: 1.5vw;
}
.laModal15,
.layer15::before {
	color: #222831;
	background: rgb(234,144,38);
	background: linear-gradient(90deg, rgba(234,144,38,1) 20%, rgba(245,209,31,1) 100%);
}
.layer16 {
	color: #7b191d;
	background: rgb(222,216,190);
}
.laModal16,
.layer16::before {
	color: #7b191d;
	background: rgb(222,216,190);
	background: linear-gradient(90deg, rgba(222,216,190,1) 20%, rgba(240,234,208,1) 100%);
}
.layer17 {
	color: #fce2d7;
	background: rgb(131,47,68);
}
.laModal17,
.layer17::before {
	color: #fce2d7;
	background: rgb(131,47,68);
	background: linear-gradient(90deg, rgba(131,47,68,1) 20%, rgba(134,20,42,1) 100%);
}
.layer18 {
	color: #d66076;
	background: rgb(101,28,58);
	padding-top: 1vw;
	padding-bottom: 1vw;
}
.laModal18,
.layer18::before {
	color: #d66076;
	background: rgb(101,28,58);
	background: linear-gradient(90deg, rgba(101,28,58,1) 20%, rgba(57,18,17,1) 100%);
}
.layer19 {/*height: 180px;*/ padding-top: 3.5vw; padding-bottom: 3.5vw;}
.layer19, .laModal19 {
	color: #fff;
	background:#708f8f;
}
.layer20 {/*height: 80px;*/ padding-top: 1vw; padding-bottom: 1vw;}
.layer20, .laModal20 {
	color: #004754;
	background: rgb(75,127,87);
	background: -moz-linear-gradient(90deg, rgba(75,127,87,1) 20%, rgba(113,195,171,1) 100%);
	background: -webkit-linear-gradient(90deg, rgba(75,127,87,1) 20%, rgba(113,195,171,1) 100%);
	background: linear-gradient(90deg, rgba(75,127,87,1) 20%, rgba(113,195,171,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#4b7f57",endColorstr="#71c3ab",GradientType=1);
}
.layer21 {/*height: 80px;*/ padding-top: 1vw; padding-bottom: 1vw;}
.layer21, .laModal21 {
	color: #708f8f;
	background: rgb(0,20,0);
	background: -moz-linear-gradient(90deg, rgba(0,20,0,1) 20%, rgba(1,45,55,1) 100%);
	background: -webkit-linear-gradient(90deg, rgba(0,20,0,1) 20%, rgba(1,45,55,1) 100%);
	background: linear-gradient(90deg, rgba(0,20,0,1) 20%, rgba(1,45,55,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#001400",endColorstr="#012d37",GradientType=1);
}
.layer22 {/*height: 160px;*/ padding-top: 3vw; padding-bottom: 3vw;}
.layer22, .laModal22 {
	color: #00a3a4;
	background: rgb(0,81,52);
	background: -moz-linear-gradient(90deg, rgba(0,81,52,1) 20%, rgba(46,96,87,1) 100%);
	background: -webkit-linear-gradient(90deg, rgba(0,81,52,1) 20%, rgba(46,96,87,1) 100%);
	background: linear-gradient(90deg, rgba(0,81,52,1) 20%, rgba(46,96,87,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#005134",endColorstr="#2e6057",GradientType=1);
}
.layer23 {/*height: 70px;*/ padding-top: 1vw; padding-bottom: 1vw;}
.layer23, .laModal23 {
	color: #fff;
	background: rgb(37,63,115);
	background: -moz-linear-gradient(90deg, rgba(37,63,115,1) 20%, rgba(68,33,60,1) 100%);
	background: -webkit-linear-gradient(90deg, rgba(37,63,115,1) 20%, rgba(68,33,60,1) 100%);
	background: linear-gradient(90deg, rgba(37,63,115,1) 20%, rgba(68,33,60,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#253f73",endColorstr="#44213c",GradientType=1);
}
.layer24 {/*height: 80px;*/ padding-top: 1vw; padding-bottom: 1vw;}
.layer24, .laModal24 {
	color: #f4cea0;
	background: rgb(0,35,65);
	background: -moz-linear-gradient(90deg, rgba(0,35,65,1) 20%, rgba(0,47,80,1) 100%);
	background: -webkit-linear-gradient(90deg, rgba(0,35,65,1) 20%, rgba(0,47,80,1) 100%);
	background: linear-gradient(90deg, rgba(0,35,65,1) 20%, rgba(0,47,80,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#002341",endColorstr="#002f50",GradientType=1);
}
.layer25 {/*height: 160px;*/ padding-top: 3vw; padding-bottom: 3vw;}
.layer25, .laModal25 {
	color: #c47b7e;
	background: rgb(48,41,39);
	background: -moz-linear-gradient(90deg, rgba(48,41,39,1) 20%, rgba(52,39,49,1) 100%);
	background: -webkit-linear-gradient(90deg, rgba(48,41,39,1) 20%, rgba(52,39,49,1) 100%);
	background: linear-gradient(90deg, rgba(48,41,39,1) 20%, rgba(52,39,49,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#302927",endColorstr="#342731",GradientType=1);
}
.layer26 {/*height: 80px;*/ padding-top: 1vw; padding-bottom: 1vw;}
.layer26, .laModal26 {
	color: #2bb7b3;
	background: rgb(108,81,34);
	background: -moz-linear-gradient(90deg, rgba(108,81,34,1) 0%, rgba(49,30,0,1) 100%);
	background: -webkit-linear-gradient(90deg, rgba(108,81,34,1) 0%, rgba(49,30,0,1) 100%);
	background: linear-gradient(90deg, rgba(108,81,34,1) 0%, rgba(49,30,0,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#6c5122",endColorstr="#311e00",GradientType=1);
}
.layer27 {/*height: 80px;*/ padding-top: 1vw; padding-bottom: 1vw;}
.layer27, .laModal27 {
	color: #3f3a2e;
	background: #a78b63;
}

.layer28 {/*height: 60px;*/ padding-top: 2vw; padding-bottom: 2vw;}
.layer28, .laModal28 {
	color: #d4b572;
	background: #12324b;
}

.layer29 {/*height: 170px;*/ padding-top: 3.5vw; padding-bottom: 3.5vw;}
.layer29, .laModal29 {
	color: #fad8d8;
	background: rgb(1,45,91);
	background: -moz-linear-gradient(90deg, rgba(1,45,91,1) 0%, rgba(14,69,126,1) 100%);
	background: -webkit-linear-gradient(90deg, rgba(1,45,91,1) 0%, rgba(14,69,126,1) 100%);
	background: linear-gradient(90deg, rgba(1,45,91,1) 0%, rgba(14,69,126,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#012d5b",endColorstr="#0e457e",GradientType=1);
}

.layer31 {
	color: #fff;
	background: #1c819f;
	padding-top: 3vw;
	padding-bottom: 3vw;
}
.laModal31,
.layer31::before {
	color: #fff;
	background: #1c819f;
	background: linear-gradient(to right,  #1c819f 20%,#657a96 100%);
}

.layer30 {
	color: #c7986c;
	background: #562929;
}
.laModal30,
.layer30::before {
	color: #c7986c;
	background: #562929;
	background: linear-gradient(to right,  #562929 0%,#310b0b 100%);
}

.layer33 {
    color: #fad8d8;
    background: rgb(0,81,123);
    padding-top: 4vw;
    padding-bottom: 4vw;
}
.laModal33,
.layer33::before {
    color: #fad8d8;
    background: rgb(0,81,123);
    background: linear-gradient(90deg, rgba(0,81,123,1) 20%, rgba(17,39,66,1) 100%);
}
.layer34 {
    color: #112742;
    background: rgb(250,216,216);
    padding-top: 1vw;
    padding-bottom: 1vw;
}
.laModal34,
.layer34::before {
    color: #112742;
    background: rgb(250,216,216);
    background: linear-gradient(90deg, rgba(250,216,216,1) 20%, rgba(217,153,170,1) 100%);
}

.layer35 {
    color: #3b5148;
    background: rgb(201,200,164);
    padding-top: 1vw;
    padding-bottom: 1vw;
}
.laModal35,
.layer35::before {
    color: #3b5148;
    background: rgb(201,200,164);
    background: linear-gradient(90deg, rgba(201,200,164,1) 20%, rgba(200,172,133,1) 100%);
}

.layer36 {
    color: #c8ac85;
    background: rgb(114,131,172);
    padding-top: 1vw;
    padding-bottom: 1vw;
}
.laModal36,
.layer36::before {
    color: #c8ac85;
    background: rgb(114,131,172);
    background: linear-gradient(90deg, rgba(114,131,172,1) 0%, rgba(59,66,98,1) 100%);
}

.layer37 {
    color: #fff;
    background: rgb(149,31,35);
}
.laModal37,
.layer37::before {
    color: #fff;
    background: rgb(149,31,35);
    background: linear-gradient(90deg, rgba(149,31,35,1) 20%, rgba(82,15,10,1) 100%);
}

.layer38 {
    color: #1c819f;
    background: rgb(55,46,28);
    padding-top: 3vw;
    padding-bottom: 3vw;
}
.laModal38,
.layer38::before {
    color: #1c819f;
    background: rgb(55,46,28);
    background: linear-gradient(90deg, rgba(55,46,28,1) 0%, rgba(35,27,9,1) 100%);
}

.layer39 {
    color: #fff;
    background: rgb(123,93,42);
    padding-top: 1.5vw;
    padding-bottom: 1.5vw;
}
.laModal39,
.layer39::before {
    color: #fff;
    background: rgb(123,93,42);
    background: linear-gradient(90deg, rgba(123,93,42,1) 0%, rgba(97,63,27,1) 100%);
}

.layer40 {
    color: #fff;
    background: rgb(149,81,115);
    padding-top: 3vw;
    padding-bottom: 3vw;
}
.laModal40,
.layer40::before {
    color: #fff;
    background: rgb(149,81,115);
    background: linear-gradient(90deg, rgba(149,81,115,1) 20%, rgba(0,132,110,1) 100%);
}

.layer41 {
    color: #222831;
    background: rgb(81,113,51);
}
.laModal41,
.layer41::before {
    color: #222831;
    background: rgb(81,113,51);
    background: linear-gradient(90deg, rgba(81,113,51,1) 20%, rgba(129,167,89,1) 100%);
}

.layer42 {
    color: #112742;
    background: rgb(28,129,159);
    padding-top: 1vw;
    padding-bottom: 1vw;
}
.laModal42,
.layer42::before {
    color: #112742;
    background: rgb(28,129,159);
    background: linear-gradient(90deg, rgba(28,129,159,1) 20%, rgba(90,137,130,1) 100%);
}

.layer43 {
    color: #c8ac85;
    background: rgb(34,40,49);
    padding-top: 1vw;
    padding-bottom: 1vw;
}
.laModal43,
.layer43::before {
    color: #c8ac85;
    background: rgb(34,40,49);
    background: linear-gradient(90deg, rgba(34,40,49,1) 20%, rgba(48,56,66,1) 100%);
}

.layer32 {
    color: #222831;
    background: rgb(234,144,38);
    padding-top: 1.5vw;
    padding-bottom: 1.5vw;
}
.laModal32,
.layer32::before {
    color: #222831;
    background: rgb(234,144,38);
    background: linear-gradient(90deg, rgba(234,144,38,1) 20%, rgba(245,209,31,1) 100%);
}

.layer44 {
    color: #fff;
    padding: 3vw 3vw;
}
.laModal44 {
	color: #fff;
	background: rgb(250,190,0);
	background: linear-gradient(180deg, rgba(250,190,0,1) 0%, rgba(231,50,15,1) 81%, rgba(165,30,0,1) 100%);
}
.ftrWrap {
	position: relative;
	background: rgb(250,190,0);
	background: -moz-linear-gradient(180deg, rgba(250,190,0,1) 0%, rgba(231,50,15,1) 81%, rgba(165,30,0,1) 100%);
	background: -webkit-linear-gradient(180deg, rgba(250,190,0,1) 0%, rgba(231,50,15,1) 81%, rgba(165,30,0,1) 100%);
	background: linear-gradient(180deg, rgba(250,190,0,1) 0%, rgba(231,50,15,1) 81%, rgba(165,30,0,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#fabe00",endColorstr="#a51e00",GradientType=1);
	padding-bottom: 560px;
}
/*.ftrWrap::before {
	content: "";
	background: url(../images/layerFtr.png) no-repeat center bottom;
	background-size: 100%;
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
}*/
.ftrWrap .layer44 {
	padding-top: 30px;
	background-image: url(../images/layerFtr.png);
	background-position-y: 0;
	background-size: 100%;
	background-position: bottom;
	background-repeat: no-repeat;
	color: #fff;
}

#magma {
	height: 100%;
    width: 100%;
    position: absolute !important;
    top: 0;
    left: 0;
}
#magma canvas {
	height: 100% !important;
}

.ftrWrap .layerFtr {
	position: absolute;
	bottom: 2vw;
	width: 94%;
	right: 0;
	left: 0;
	margin: auto;
	display: flex;
	align-items: flex-end;
    justify-content:space-between;
}
.ftrWrap .layerFtr p {
	font-size: 10px;
	color: #fff;
}

.ftrWrap .layerFtr .ftrBnr {
	
}
.ftrWrap .layerFtr .bnr01 {
    display: inline-block;
    width: 270px;
    line-height: 0;
}
.ftrWrap .layerFtr .bnr02 {
    display: inline-block;
    width: 280px;
    line-height: 0;
	margin-left: 15px;
}
.ftrWrap .layerFtr img {
	max-width: 360px;
}

.ftrWrap .layerFtr .credit {
	position: absolute;
    bottom: 80px;
    left: 0px;
	font-size: 14px;
}
.ftrWrap .layerFtr .credit span {
	font-weight: bold;
}


@media screen and (min-width: 1271px) {
	header.layerHdr h1 {
		margin: 170px auto 150px;
	}
	.layer .number {
		font-size: 16px;
		margin-right: 3vw;
	}
	.layer .moreBtn {
		padding: 10px 1.6vw;
		font-size: 13px;
	}

	.laModal {
		padding-top: 170px;
		padding-bottom: 230px;
	}
	.laModal .modalNumb {
		margin-bottom: 20px;
		font-size: 15px;
	}
	.laModal .modalTtl {
		margin-bottom: 70px;
		font-size: 32px;
	}
	.laModal p {
		max-width: 940px;
		font-size: 25px;
	}
	.layer01 .title,
	.layer03 .title,
	.layer08 .title,
	.layer09 .title,
	.layer10 .title,
	.layer12 .title,
	.layer14 .title,
	.layer15 .title,
	.layer16 .title,
	.layer17 .title,
	.layer20 .title,
	.layer23 .title,
	.layer24 .title,
	.layer26 .title,
	.layer27 .title,
	.layer30 .title  {
		font-size: 32px;
	}
	.layer21 .title {
		font-size: 27px;
	}
	.layer18 .title {
		font-size: 26px;
	}
	.layer02 .title,
	.layer04 .title {
		font-size: 38px;
	}
	.layer29 .title {
		font-size: 41px;
	}
	.layer25 .title {
		font-size: 29px;
	}
	.layer05 .title,
	.layer06 .title,
	.layer07 .title,
	.layer13 .title,
	.layer28 .title {
		font-size: 28px;
	}
	.layer11 .title,
	.layer19 .title  {
		font-size: 34px;
	}
	.layer22 .title {
		font-size: 36px;
	}
	.layer31 .title {
		font-size: 30px;
	}
	.layer32 .title {
		font-size: 34px;
	}
	.layer33 .title { font-size: 30px;}
	.layer34 .title { font-size: 26px;}
	.layer35 .title { font-size: 30px;}
	.layer36 .title { font-size: 24px;}
	.layer37 .title { font-size: 36px;}
	.layer38 .title { font-size: 34px;}
	.layer39 .title { font-size: 24px;}
	.layer40 .title { font-size: 40px;}
	.layer41 .title { font-size: 22px;}
	.layer42 .title { font-size: 36px;}
	.layer43 .title { font-size: 42px;}
	.layer44 .title { font-size: 27px;}
}
@media screen and (min-width: 813px) and (max-width: 1270px) {
	header.layerHdr h1 {
		margin: 14vw auto 10vw;
	}
	.layer .number {
		font-size: 1.3vw;
		margin-right: 2.4vw;
	}
	.layer .moreBtn {
		padding: 8px 1.4vw;
		font-size: 1.1vw;
	}
	.laModal {
		padding-top: 13.5vw;
		padding-bottom: 19vw;
	}
	.laModal .modalNumb {
		margin-bottom: 2vw;
	    font-size: 1.5vw;
	}
	.laModal .modalTtl {
		margin-bottom: 5vw;
		font-size: 2.6vw;
	}
	.laModal p {
		max-width: 70%;
		font-size: 2vw;
	}
	.layer01 .title,
	.layer03 .title,
	.layer08 .title,
	.layer09 .title,
	.layer10 .title,
	.layer12 .title,
	.layer14 .title,
	.layer15 .title,
	.layer16 .title,
	.layer17 .title,
	.layer18 .title,
	.layer20 .title,
	.layer21 .title,
	.layer23 .title,
	.layer24 .title,
	.layer26 .title,
	.layer27 .title {
		font-size: 2.22vw;
	}
	.layer02 .title,
	.layer04 .title,
	.layer25 .title,
	.layer29 .title {
		font-size: 3.1vw;
	}
	.layer05 .title,
	.layer06 .title,
	.layer07 .title,
	.layer13 .title,
	.layer28 .title {
		font-size: 1.92vw;
	}
	.layer11 .title,
	.layer19 .title {
		font-size: 2.77vw;
	}
	.layer22 .title {
		font-size: 2.5vw;
	}
	.layer31 .title {
		font-size: 2.7vw;
	}
	.layer32 .title {
		font-size: 2.32vw;
	}
	.layer33 .title { font-size: 2.3vw;}
	.layer34 .title { font-size: 2vw;}
	.layer35 .title { font-size: 2.3vw;}
	.layer36 .title { font-size: 1.8vw;}
	.layer37 .title { font-size: 2.9vw;}
	.layer38 .title { font-size: 3vw;}
	.layer39 .title { font-size: 1.8vw;}
	.layer40 .title { font-size: 3vw;}
	.layer41 .title { font-size: 1.8vw;}
	.layer42 .title { font-size: 3vw;}
	.layer43 .title { font-size: 3.4vw;}
	.layer44 .title { font-size: 2.2vw;}
}
@media screen and (max-width: 812px) {
	.concept {
		margin-bottom: 14vw;
		padding: 0 6vw;
    	height: 44vw;
	}
	.concept.on {
		height: 156vw;
	}
	.concept::after {
		height: 33vw;
	}
	.concept p {
		font-size: 3.4vw;
		line-height: 2.2;
		margin-bottom: 8vw;
	}
	.concept .signature {
		font-size: 5.8vw;
	}
	.concept .close a {
		font-size: 3.2vw;
		padding-bottom: 0.5vw;
	}
	
	header.layerHdr h1 {
		margin: 16vw auto 8vw;
	}
	.layer .titleWrap {
    	display: block;
		padding: 1vw 3vw 1vw 0;
	}
	.layer .titleWrap .title.new {
    	padding-left: 0;
    	margin-top: 0.5vw;
	}
	.layer .titleWrap .title.new::before {
		font-size: 2.4vw;
		padding: 0vw 2vw;
		top: -1vw;
		left: 22vw;
    	transform: translateY(-100%);
	}
	.layer .number {
		font-size: calc(9.3 / 375 * 100vw);
		transform: translateY(0);
		display: block;
    	position: relative;
	}
	.layer .moreBtn {
		padding: calc(4 / 375 * 100vw) 3vw;
		font-size: calc(8 / 375 * 100vw);
	}
	.laModal {
		padding-top: 28vw;
		padding-bottom: 40vw;
	}
	.laModal .modalNumb {
		margin-bottom: 4vw;
	    font-size: calc(12 / 375 * 100vw);
	}
	.laModal .modalTtl {
		margin-bottom: 8vw;
		font-size: calc(18 / 375 * 100vw);
	}
	.laModal .modalTtl span {
		font-size: 3.8vw;
		margin-top: 2vw;
	}
	.laModal p {
		max-width: 90%;
		font-size: calc(15 / 375 * 100vw);
	}
	#layer #cboxClose {
		width: 20px;
		height: 20px;
		top: 30px;
		right: 30px;
	}
	.layer .title {
		font-size: calc(15 / 375 * 100vw);
		line-height: 1.5;
    	display: block;
	}
	.layer {
		/*max-height: calc(53.3 / 375 * 100vw);*/
		max-height: inherit !important;
	}
	/*.layer.layer02,
	.layer.layer04 {
		max-height: calc(73.3 / 375 * 100vw);
	}
	.layer.layer11,
	.layer.layer19,
	.layer.layer22,
	.layer.layer28 {
		max-height: calc(66.6 / 375 * 100vw);
	}
	.layer.layer15 {
		max-height: calc(46.6 / 375 * 100vw);
	}
	.layer.layer25 {
		max-height: calc(56.6 / 375 * 100vw);
	}
	.layer.layer29 {
		max-height: calc(90 / 375 * 100vw);
	}*/
	.ftrWrap {
		padding-bottom: calc(480 / 375 * 100vw);
	}
	.ftrWrap::before {
		background-size: 315%;
	}
	.ftrWrap .layer30 {
		padding-top: calc(30 / 375 * 100vw);
	}
	.ftrWrap .layerFtr {
    	bottom: 8vw;
	}
	.ftrWrap .layerFtr p {
		font-size: calc(6 / 375 * 100vw);
		color: #fff;
    	text-align: center;
		width: 100%;
	}
	.ftrWrap .layerFtr a {
		display: block;
		position: absolute;
	}
	
	.ftrWrap .layerFtr .bnr01 {
    	width: 70vw;
		bottom: 38vw;
		left: 12vw;
	}
	.ftrWrap .layerFtr .bnr02 {
    	width: 70vw;
		bottom: 11vw;
		left: 12vw;
    	margin: 0;
	}
	.ftrWrap .layerFtr img {
		width: 100%;
	}
	
	.ftrWrap .layerFtr .credit {
		bottom: 70vw;
		font-size: 3.4vw;
	}
	.layer .titleWrap .title .member {
		margin-left: 2.5vw;
		padding-left: 2.5vw;
	}
}



/* -------------------------------------------------
	opening
------------------------------------------------- */

#op {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100%;
	z-index: 1000;
	background-color: #fff;
}
#op .opBg {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	transition-property: all;
	transition-duration: 0.4s;
	transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
}
#op .opBg01 { background-color: #fff; transition-delay: 0.5s; z-index: 16;}
#op .opBg02 { background-color: #1b819f; transition-delay: 0.6s; z-index: 15;}
#op .opBg03 { background-color: #1f4050; transition-delay: 0.7s; z-index: 14;}
#op .opBg04 { background-color: #00517a; transition-delay: 0.8s; z-index: 13;}
#op .opBg05 { background-color: #fad8d8; transition-delay: 0.9s; z-index: 12;}
#op .opBg06 { background-color: #c9c8a4; transition-delay: 1.0s; z-index: 11;}
#op .opBg07 { background-color: #7283ac; transition-delay: 1.1s; z-index: 10;}
#op .opBg08 { background-color: #951e23; transition-delay: 1.2s; z-index: 9;}
#op .opBg09 { background-color: #372d1b; transition-delay: 1.3s; z-index: 8;}
#op .opBg10 { background-color: #7b5d29; transition-delay: 1.4s; z-index: 7;}
#op .opBg11 { background-color: #955173; transition-delay: 1.5s; z-index: 6;}
#op .opBg12 { background-color: #517032; transition-delay: 1.6s; z-index: 5;}
#op .opBg13 { background-color: #1b819f; transition-delay: 1.7s; z-index: 4;}
#op .opBg14 { background-color: #212730; transition-delay: 1.8s; z-index: 3;}
#op .opBg15 { background-color: #ea9026; transition-delay: 1.9s; z-index: 2;}
#op .opBg16 { background-color: #243e73; transition-delay: 1.8s; z-index: 1;}

#op .opBg.on { height: calc(100% / 14.9);}

#op .opBg01.on { top: 0; height: 0;}
#op .opBg02.on { top: 0;}
#op .opBg03.on { top: calc((100% / 15) * 1);}
#op .opBg04.on { top: calc((100% / 15) * 2);}
#op .opBg05.on { top: calc((100% / 15) * 3);}
#op .opBg06.on { top: calc((100% / 15) * 4);}
#op .opBg07.on { top: calc((100% / 15) * 5);}
#op .opBg08.on { top: calc((100% / 15) * 6);}
#op .opBg09.on { top: calc((100% / 15) * 7);}
#op .opBg10.on { top: calc((100% / 15) * 8);}
#op .opBg11.on { top: calc((100% / 15) * 9);}
#op .opBg12.on { top: calc((100% / 15) * 10);}
#op .opBg13.on { top: calc((100% / 15) * 11);}
#op .opBg14.on { top: calc((100% / 15) * 12);}
#op .opBg15.on { top: calc((100% / 15) * 13);}
#op .opBg16.on { top: calc((100% / 15) * 14);}


#op .opBg.out { height: 0; transition-delay: 0.7s;}



#titleOp {
	position: absolute;
	top: 46%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 46vh;
	z-index: 10;
	opacity: 0;
	animation: titleOp 2.5s ease-out 1.5s forwards;
}
@keyframes titleOp {
	0% { opacity: 0;}
	50% { opacity: 1;}
	90% { opacity: 1;}
	100% { opacity: 0;}
}
#titleOp .opttl {
	line-height: 0;
	margin-bottom: 0;
}


@media screen and (max-width:767px) {
	
	#titleOp {
		width: 65vw;
	}
	
}

section#campaign {
    padding-top: 280px;
    padding-bottom: 100px;
}
#campaign h2 {
	margin-bottom: 40px;
}
#campaign h3 {
	text-align: center;
	color: #02c6b8;
	font-size: 24px;
	margin-bottom: 20px;
}
#campaign .cpLead {
	text-align: center;
	font-size: 16px;
	margin-bottom: 60px;
}
.contentsBox {
	border: #999999 solid 1px;
	padding: 20px 30px 30px;
    max-width: 990px;
	margin: 0 auto 40px;
}
.contentsBox h4 {
	color: #fff;
	/*border-bottom: #999999 solid 1px;*/
	margin-bottom: 20px;
	padding: 10px;
	text-align: center;
	font-size: 20px;
	background: #333;
}
#campaign .contentsBox h4 {
	color: #02c6b8;
}
.contentsBox .contentsList {
	list-style: disc;
	padding-left: 20px;
}
.contentsBox .contentsList li {
	list-style: disc;
	font-size: 15px;
	margin-bottom: 5px;
}
.contentsBox p {
	line-height: 2;
	font-size: 16px;
	margin-bottom: 10px;
}
.contentsBox p a {
	color: #fff;
	text-decoration: underline;
	word-break: break-all;
}

.contentsBox .packageImg {
	display: flex;
	justify-content: space-between;
	margin-top: 40px;
}
.contentsBox .packageImg div {
	width: 48%;
	margin: 0 auto;
	line-height: 0;
}
.contentsBox .tokutenImg {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top: 40px;
}
.contentsBox .tokutenImg div {
	width: 31.5%;
	margin: 0 0 30px;
	line-height: 0;
}

.contentsBox .shopTokuten {
	display: flex;
	flex-wrap: wrap;
}
.contentsBox .shopTokuten li {
	width: 31%;
	margin-right: 3.5%;
	margin-bottom: 40px;
}
.contentsBox .shopTokuten li:nth-child(3n) {
	margin-right: 0;
}
.contentsBox .shopTokuten li div {
	line-height: 0;
	margin-bottom: 20px;
}
.contentsBox .shopTokuten li p {
	font-size: 14px;
	line-height: 1.6;
}

.ttlGreen {
	color: #02c6b8;
	margin-bottom: 10px;
}
.contentsList + .ttlGreen {
	margin-top: 30px;
}

.goodsList {
	display: flex;
	justify-content: space-around;
	
}
.goodsList li {
	width: 45%;
}
.goodsList li .goodsThumb {
	line-height: 0;
	margin-bottom: 20px;
}
.goodsList li p {
	text-align: center;
	font-size: 16px;
}
.goodsList li .ttl {
	font-size: 20px;
	font-weight: bold;
	color: #02c6b8;
	margin-bottom: 0;
}

@media screen and (max-width: 812px) {	

body#index main {
    padding-top: 70px;
    transition: none;
}

body#index::before {
    background: url(../images/fv_tentative_Jn37zwnu2e.png) no-repeat left top;
    background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
    top: 100px;
    min-height: 0;
    height: 40vh
}
	section#campaign {
		padding-top: calc(100 / 375 * 100vw);
		padding-bottom: 0;
	}
	.contentsBox {
		padding: 3vw 5vw 5vw;
		margin: 0 auto 6vw;
	}
	.contentsBox h4 {
		margin-bottom: 5vw;
		padding-bottom: 3vw;
		font-size: 4vw;
	}
	.contentsBox .contentsList li {
		font-size: 3vw;
		margin-bottom: 1vw;
	}
	.contentsBox .packageImg {
		margin-top: 6vw;
	}
	.contentsBox .packageImg div {
		width: 100%;
		margin: 0 0 4vw;
	}
	.contentsBox .tokutenImg {
		flex-wrap: wrap;
		margin-top: 6vw;
	}
	.contentsBox .tokutenImg div {
		width: 48%;
		margin: 0 0 4vw;
	}
	.contentsBox .shopTokuten {
		justify-content: space-between;
	}
	.contentsBox .shopTokuten li {
		width: 48%;
		margin-right: 0;
		margin-bottom: 6vw;
	}
	.contentsBox .shopTokuten li div {
		margin-bottom: 4vw;
	}
	.contentsBox .shopTokuten li p {
		font-size: 3vw;
	}
	
	#campaign h3 {
		font-size: 4.2vw;
		margin-bottom: 5vw;
	}
	#campaign .cpLead {
		font-size: 3.2vw;
		margin-bottom: 10vw;
	}
	.contentsBox p {
		line-height: 1.8;
		font-size: 3vw;
		margin-bottom: 3vw;
	}
	.goodsList {
		display: block;
	}
	.goodsList li {
		width: 100%;
		margin-bottom: 6vw;
	}
	.goodsList li .goodsThumb {
		line-height: 0;
		margin-bottom: 3vw;
	}
	.goodsList li .ttl {
		font-size: 3.8vw;
	}
	.goodsList li p {
		font-size: 3.4vw;
	}
	
}




