@charset "utf-8";

/*** 汎用 ***/
#container {
	width:100%;
}
.column2R #main {
	float: none;
	width: auto;
}
.breadCrumb {
  margin: 0 auto !important;
}
.pagetop {
  margin: 0 auto;
  width: 1050px;
}
#pagetop {
  display: none;
  position: fixed;
  bottom: 30px;
  right: 55px;
}
#pagetop a {
  color: #fff;
  background-color: #333;
  border-radius: 5px;
  display: block;
  font-size: 12px;
  line-height: 1.5em;
  padding: 5px 10px;
  text-align: center;
  text-decoration: none;
}
figure {
	margin: 0;
}
img {
	image-rendering: crisp-edges;
	image-rendering: -webkit-optimize-contrast;
	backface-visibility: hidden;
}
.sp {
	display: none;
}
#s_container {
	font-family: "Noto Sans JP";
    width: 100%;
    margin: 10px auto;
}
#contentWrap {
	width: 100%;
	font-size: 16px;
}
#contentWrap img {
	max-width: 100%;
}

/*** コンテンツ ***/
#contentWrap {
	background: #000;
	line-height: 2;
}

/*** fade ***/
.fadeDownUp {
  opacity: 0;
  transition: all 1.2s;
  transform: translatey(20px);
}
.downUp {
  opacity: 1;
  transform: translate(0, 0);
}
.fadeDownUpPlus {
  opacity: 0;
  transition: all 1.5s;
  transform: translatey(10px);
}
.downUpPlus {
  opacity: 1;
  transform: translate(0, 0);
}
.fadeRightLeft {
  opacity: 0;
  transition: all 1.2s;
  transform: translatex(20px);
}
.rightLeft {
  opacity: 1;
  transform: translate(0, 0);
}
.fadeZoomOut {
  opacity: 0;
  transition: all 1.2s;
  transform: scale(1.02);
}
.zoomOut {
  opacity: 1;
  transform: scale(1);
}


/** MV **/
.contentMv {
	position: relative;
}
.contentMv img {
	width: 100%;
}
/* タイプライター */
.contentMv p {
	font-family: pirulen;
	font-weight: 200;
	text-align: center;
	margin: 0 auto;
	position: absolute;
	bottom: 35px;
	font-size: 23px;
	left: 0;
	right: 0;
}
.ityped-cursor {
	font-size: 1em;
	opacity: 0;
	-webkit-animation: blink 3.8s;
	animation: blink 3.8s;
}
@keyframes blink {
	0%,10%,20%,30%,40%,50%,60%,70%,80%,90%,100% {
		opacity: 0;
	}
	5%,15%,25%,35%,45%,55%,65%,75%,85%,95% {
		opacity: 1;
	}
}
@-webkit-keyframes blink {
	0%,10%,20%,30%,40%,50%,60%,70%,80%,90%,100% {
		opacity: 0;
	}
	5%,15%,25%,35%,45%,55%,65%,75%,85%,95% {
		opacity: 1;
	}
}
/** トップバナー **/
.cp_bnr__wrap {
	width: 100%;
	max-width: 970px;
	margin: 100px auto 0;
	box-sizing: border-box;
}
.cp_bnr__wrap .bnr_ttl {
	font-size: clamp(13px, -1.023rem + 2.97vw, 28px);
	font-weight: 400;
	line-height: 1.4;
	text-align: center;
}
.cp_bnr__wrap .bnr_ttl + a {
	display: block;
	margin-block-start: clamp(10px, 0.341rem + 1.21vw, 20px);
}
@media (max-width: 479px) {
	.cp_bnr__wrap {
		width: 90%;
		margin: 50px auto 0;
	}
}
/** SPECIAL DESIGN **/
#specialdesign {
	position: relative;
}
/* SPECIAL DESIGN ライン */
.specialdesignLine {
	position: relative;
	display: block;
	height: 125px;
	overflow: hidden;
}
#specialdesign .specialdesignLine:before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	display: block;
	width: 1px;
	background: #F15A24;
	margin: 0 auto 30px;
    animation: specialdesignLine 2s infinite;
	animation-timing-function: cubic-bezier(0.075,0.82,0.165,1);
}
@keyframes specialdesignLine {
	0% {
		height: 0;
		bottom: 125px;
	}
    50% {
	    height:125px;
        bottom:0;
    }
	100% {
		height: 0;
	}
}
/* SPECIAL DESIGN ライン モバイル */
@media (max-width: 479px) {
	#specialdesign .specialdesignLine {
		height: 10vh;
	}
	#specialdesign .specialdesignLine:before {
    	animation: specialdesignLine-sp 2s infinite;
		animation-timing-function: cubic-bezier(0.075,0.82,0.165,1);
	}
}
@keyframes specialdesignLine-sp {
	0% {
		height: 0;
		bottom: 10vh;
	}
    50% {
	    height: 10vh;
        bottom: 0;
    }
	100% {
		height: 0;
	}
}



/* 背景左右ループ */
.specialdesign::before {
    background: url("../../gamepc/img/collab_shibuyaharu/specialdesign_bg.webp") repeat-x;
    content: "";
    height: 135px;
    width: 100%;
    display: block;
    position: absolute;
    top: 40%;
    z-index: 10;
    animation: bgroop 50s linear infinite;
}
@keyframes bgroop {
	0% {
		background-position: 0 0;
	}
	100% {
		background-position: -2100px 0;
	}
}

/* 背景左右ループ モバイル */
@media (max-width: 479px) {
	.specialdesign::before {
		background: url("../../gamepc/img/collab_shibuyaharu/specialdesign_bg_sp.webp") repeat-x;
		height: 125px;
		-webkit-animation: bgroopsp 25s linear infinite;
		animation: bgroopsp 25s linear infinite;
	}
}
@-webkit-keyframes bgroopsp {
	0% {
		background-position: 0  0;
	}
	100% {
		background-position: -520px 0;
	}
}
@keyframes bgroopsp {
	0% {
		background-position: 0 0;
	}
	100% {
		background-position: -520px 0;
	}
}


.specialdesignWrap {
	display: flex;
	position: relative;
	width: 900px;
	min-height: 600px;
	margin: 0 auto;
	flex-direction: column;
	z-index: 100;
}
.specialdesignWrap>* {
	width: 500px;
	text-align: center;
}
.specialdesignWrap h2 {
	font-size: 40px;
	font-family: 'pirulen';
	letter-spacing: .05em;
	font-weight: 400;
	margin-top: 100px;
	line-height: 1;
}
.specialdesignWrap h2 span {
	display: inline-block;
}
.specialdesignWrap h2 span::first-letter {
	color: #F15A24;
}
.specialdesignWrap h2::after {
	content: "";
	display: block;
	width: 75px;
	height: 1px;
	background: #F15A24;
	margin: 16px auto;
}
.specialdesignWrap h2+p {
	font-size: 18px;
}
.specialdesignWrap figure {
	width: auto;
	position: absolute;
	right: -503px;
	z-index: -1;
}
.specialdesignWrap figure+p {
	margin-top: auto;
	margin-bottom: 100px;
	font-size: 16px;
}


/** ナビゲーション **/
.release nav {
	display: none;
}
.release nav .navList {
	position: fixed;
	right: 0;
	top: 20vh;
	writing-mode: vertical-lr;
	display: flex;
	height: 825px;
	font-family: 'pirulen';
	z-index: 100;
	margin-right: 1em;
}
.release nav .navList li {
	margin-bottom: 2em;
}
.release nav .navList li:last-child {
	margin-bottom: 0;
}
.release nav .navList li a {
	text-decoration: none;
	position: relative;
	overflow: hidden;
	display: block;
}
.release nav .navList li a::after {
	content: "";
	position: absolute;
	height: 100%;
	width: 1px;
	background: #F15A24;
	top: -100%;
	transition: all .5s;
}
.release nav .navList li a:hover::first-letter,
.release nav .navList li a.current::first-letter {
	color: #F15A24;
}
.release nav .navList li a:hover::after,
.release nav .navList li a.current::after {
	top: 0;
}


/** POINT **/
.pointWrap {
	position: relative;
	background: url("../../gamepc/img/collab_shibuyaharu/point_bg.webp") repeat-y;
	background-position: left calc(1300px + 5vw + 5vw) top;
	margin-top: 130px;
	padding-top: 70px;
}
.pointInner {
	background: url("../../gamepc/img/collab_shibuyaharu/point_inner_bg.webp");
	background-size: cover;
	width: 1300px;
	margin-left: 5vw;
	display: flex;
}
.pointInner h3 {
	margin: 2em 0 2em 1.5em;
	font-family: 'pirulen';
	writing-mode: vertical-lr;
	border-right: 1px solid #F15A24;
	padding: 1em .5em 0 0;
	font-size: 30px;
	letter-spacing: .05em;
}
.pointInner h3::first-letter {
	color: #F15A24;
}
.pointInner .pointList {
	margin: 130px 0 130px 130px;
}
.pointInner .pointList li {
	display: flex;
	margin-bottom: 100px;
}
.pointInner .pointList li:last-child {
	margin-bottom: 0;
}
.pointInner .pointList li figure {
	position: relative;
}
.pointInner .pointList li figure::after {
	content: "";
	display: block;
	position: absolute;
	width: 20px;
	height: 20px;
	background: #F15A24;
	bottom: 50px;
	right: -10px;
}
.pointInner .pointList li:nth-child(2) figure::after {
	right: auto;
	left: -10px;
}
.pointInner .pointList li:nth-child(3) figure::after {
	bottom: 150px;
}
.pointInner .pointList li:nth-child(4) figure::after {
	right: auto;
	left: -10px;
	bottom: 100px;
}
.pointInner .pointList li>div {
	width: 500px;
}
.pointInner .pointList li h4 {
	display: flex;
	align-items: center;
	font-family: 'pirulen';
	font-size: 25px;
	letter-spacing: .1em;
}
.pointInner .pointList li h4 .headLine::first-letter {
	color: #F15A24
}
.pointInner .pointList li h4 .pointLine01 {
	margin-right: 1em;
	overflow: hidden;
	position: relative;
	width: 100px;
}
.pointInner .pointList li h4 .pointLine01::before {
	content: "";
	display: block;
	background: #F15A24;
	position: relative;
	left: -100%;
	height: 1px;
	width: 100px;
}
.pointInner .pointList li h4.zoomOut .pointLine01::before {
	animation: pointLine01 1s forwards;
	animation-delay: .5s;
}
@keyframes pointLine01 {
	0% {
		left: -100%;
	}
	100% {
		left: 0;
	}
}
.pointInner .pointList li p {
	margin-top: .5em;
	margin-left: calc(100px + 37px);
	padding: 25px 0 40px 40px;
	position: relative;
	font-weight: 300;
}
.pointInner .pointList li p .pointLine02 {
	position: absolute;
	height: 100%;
	width: 1px;
	overflow: hidden;
	left: 0;
	top: 0;
}
.pointInner .pointList li p .pointLine02::before {
	width: 1px;
	height: 100%;
	content: "";
	display: block;
	background: #F15A24;
	position: absolute;
	top: -100%;
}
.pointInner .pointList li p.downUpPlus .pointLine02::before {
	animation: pointLine02 1s forwards;
	animation-delay: 1.2s;
}
@keyframes pointLine02 {
	0% {
		top: -100%;
	}
	100% {
		top: 0;
	}
}
/* pointLine02 モバイル */
@media (max-width: 479px) {
	.pointInner .pointList li p.downUpPlus .pointLine02::before {
		animation-delay: .5s;
	}
}

.pointInner .pointList li p .ledDetailLink {
	text-decoration: none;
	display: inline-block;
	position: relative;
	overflow: hidden;
	transition: all .5s;
	color: #ff8052;
	font-size: 14px;
}
.pointInner .pointList li p .ledDetailLink::before {
	content: "";
	position: absolute;
	height: 1px;
	width: 100%;
	background: #ff8052;
	display: block;
	bottom: 0;
	left: -100%;
	transition: all .5s;
}
.pointInner .pointList li p.downUpPlus .ledDetailLink:hover::before {
	left: 0;
}
.pointInner .pointList li p .dashLine {
	display: block;
	width: 0;
	height: 1px;
	background-size: 20px 1px;
	background-image: linear-gradient(to right, #F15A24, #F15A24 10px, transparent 10px, transparent 20px);
	position: absolute;
	bottom: 0;
}
.pointInner .pointList li p.downUpPlus .dashLine {
	animation: pointLine03 1s forwards;
	animation-delay: 2s;
}
@keyframes pointLine03 {
	0% {
		width: 0;
	}
	100% {
		width: 70%;
	}
}
/* pointLine03 モバイル */
@media (max-width: 479px) {
	.pointInner .pointList li p.downUpPlus .dashLine {
		animation: pointLine03-sp 1s forwards;
		animation-delay: 1.2s;
	}
}
@keyframes pointLine03-sp {
	0% {
		width: 0;
	}
	100% {
		width: 55%;
	}
}

.pointInner .pointList li p .viewBtnWrap {
	position: absolute;
	font-family: 'pirulen';
	bottom: -1em;
	text-decoration: none;
	right: -20%;
	display: flex;
	align-items: center;
	transition: all .5s;
	overflow: hidden;
	color: #fff;
	opacity: 0;
}
.pointInner .pointList li p.downUpPlus .viewBtnWrap {
	animation: viewBtn 1s forwards;
	animation-delay: 2.5s;
}
@keyframes viewBtn {
	0% {
		opacity: 0;
		transform: scale(1.2);
	}
	100% {
		opacity: 1;
		transform: scale(1);
	}
}
/* pointLine03 モバイル */
@media (max-width: 479px) {
	.pointInner .pointList li p.downUpPlus .viewBtnWrap {
		animation-delay: 2s;
	}
}

.pointInner .pointList li p .viewBtnWrap .viewBtn {
	transition: all .5s;
	position: relative;
	letter-spacing: .1em;
}
.pointInner .pointList li p .viewBtnWrap .viewBtn::first-letter {
	transition: all .5s;
	color: #fff;
}
.pointInner .pointList li p .viewBtnWrap:hover .viewBtn::first-letter {
	color: #F15A24;
}
.pointInner .pointList li p .viewBtnWrap .viewBtn::after {
	content: "";
	width: 100%;
	height: 1px;
	background: #F15A24;
	position: absolute;
	left: -100%;
	bottom: 0;
	transition: all .5s;
}
.pointInner .pointList li p .viewBtnWrap:hover .viewBtn::after {
	left: 0;
}
.pointInner .pointList li p .viewBtnWrap .circleBtn {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: radial-gradient(circle, transparent 18px, #F15A24 20px, #F15A24);
	display: inline-block;
	margin-left: 1em;
	position: relative;
}
.pointInner .pointList li p .viewBtnWrap .circleBtn::after {
	content: "";
	display: inline-block;
	position: absolute;
	width: 8px;
	height: 8px;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	margin: auto;
	border-radius: 50%;
	background: #F15A24;
	animation: circleBtn 2s infinite;
}
@keyframes circleBtn {
	0% {
		width: 0px;
		height: 0px;
		opacity: 1;
	}
	50% {
		width: 10px;
		height: 10px;
		opacity: 1;
	}
	100% {
		width: 10px;
		height: 10px;
		opacity: 0;
	}
}
/* circleBtnモバイル */
@media (max-width: 479px) {
	.pointInner .pointList li p .viewBtnWrap .circleBtn::after {
		animation: circleBtnSp 2s infinite;
	}
}
@keyframes circleBtnSp {
	0% {
		width: 0px;
		height: 0px;
		opacity: 1;
	}
	50% {
		width: 5px;
		height: 5px;
		opacity: 1;
	}
	100% {
		width: 5px;
		height: 5px;
		opacity: 0;
	}
}


/* Gallery */
.caseGallery {
	display: flex;
	background: url("../../gamepc/img/collab_shibuyaharu/gallery_bg.webp");
	background-size: cover;
	margin-top: 130px;
	height: 570px;
	flex-direction: column;
	justify-content: center;
}
.caseGallery .galleryInner {
	position: relative;
	display: flex;
	width: 100vw;
	overflow: hidden;
	box-sizing: border-box;
}
.caseGallery .galleryInner ul:first-child {
	animation: galleryloop 100s -50s linear infinite;
	backface-visibility: hidden;
	will-change: transform;
}

.caseGallery .galleryInner ul+ul {
	animation: galleryloop2 100s linear infinite;
}
.caseGallery .galleryInner:hover ul,
.caseGallery .galleryInner ul.modal {
	animation-play-state: paused;
}
@keyframes galleryloop {
	0% {
		transform: translateX(100%);
	}
	100% {
		transform: translateX(-100%);
	}
}
@keyframes galleryloop2 {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-200%);
	}
}
.caseGallery ul {
	display: flex;
	box-sizing: border-box;
}
.caseGallery ul li {
	margin-right: 40px;
	min-width: 220px;
}
.caseGallery h3 {
	font-family: 'pirulen';
	letter-spacing: .1em;
	text-align: center;
	display: flex;
	align-items: center;
	margin-top: 60px;
	font-size: 20px;
}
.caseGallery h3::before,
.caseGallery h3::after {
	content: "";
	height: 1px;
	flex-grow: 1;
	background: #F15A24;
}
.caseGallery h3::before {
    margin-right: 1em;
}
.caseGallery h3::after {
    margin-left: 1em;
}


/** BENEFITS **/
.benefitsWrap {
	background: url("../../gamepc/img/collab_shibuyaharu/benefits_bg.webp") repeat-y;
	margin: 50px 0;
	padding: 120px 0;
	background-position: right calc(1300px + 5vw + 5vw) top;
}
.benefitsInner {
	background: url("../../gamepc/img/collab_shibuyaharu/benefits_inner_bg.webp");
	width: 1300px;
	margin-left: auto;
	margin-right: 5vw;
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
}
.benefitsInner h3 {
	margin: 2em 1.5em 2em 0;
	font-family: 'pirulen';
	writing-mode: vertical-lr;
	border-left: 1px solid #F15A24;
	padding: 1em 0 0 .5em;
	font-size: 30px;
	letter-spacing: .05em;
}
.benefitsInner h3::first-letter {
	color: #F15A24;
}
.benefitsInner .benefitsList {
	margin: 180px 0;
}
.benefitsInner .benefitsList li {
	display: flex;
	align-items: center;
}
.benefitsInner .benefitsList li:nth-child(2) {
	margin-top: 150px;
}
.benefitsInner .benefitsList li::before {
	content: "";
	display: block;
	height: 1px;
	width: 100px;
	background: #F15A24;
	margin-right: 40px;
}
.benefitsInner .benefitsList li h4 {
	font-size: 30px;
	font-family: 'pirulen';
	letter-spacing: .1em;
	line-height: 1.5;
	width: 320px;
	margin-right: 30px;
}
.benefitsInner .benefitsList li h4 span {
	font-family: "Noto Sans JP";
	display: block;
	font-size: 18px;
	font-weight: 400;
}
.benefitsInner .benefitsList li figure {
	text-align: center;
	margin: 0 auto;
}
.benefitsInner .benefitsList li figure a {
	display: block;
	text-decoration: none;
}
.benefitsInner .benefitsList li.wallpaper figure img {
	padding: 15px;
	border: 1px solid #F15A24;
	pointer-events: none;
	width: 600px;
	transition: all .5s;
	box-sizing: border-box;
}
.benefitsInner .benefitsList li.wallpaper figure img.vertical {
	width: 450px;
}
.benefitsInner .benefitsList li.wallpaper figure:hover img {
	transform: scale(1.05);
	border: 1px solid transparent;
}
.benefitsInner .benefitsList li.wallpaper figure figcaption {
	margin-top: 35px;
}
.benefitsInner .benefitsList li.wallpaper figure figcaption .wallpaperNote {
	display: block;
	font-size: 15px;
}
.benefitsInner .benefitsList li.specialbox figure {
	position: relative;
	width: 524px;
	height: 377px;
	overflow: hidden;
	transition: all .5s ease-in-out;
	background: url("../../gamepc/img/collab_shibuyaharu/specialbox_close.webp");
}
.benefitsInner .benefitsList li.specialbox figure:hover {
	background: url("../../gamepc/img/collab_shibuyaharu/specialbox_open.webp");
}
.benefitsInner .benefitsList li.specialbox figure figcaption {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 130px;
	text-shadow: 4px 2px 1px #000000, -2px 2px 1px #000000, 2px -2px 1px #000000, -2px -2px 1px #000000, 2px 0px 1px #000000, 0px 2px 1px #000000, -2px 0px 1px #000000, 0px -2px 1px #000000;
}


/** LINEUP **/
.lineupWrap {
	background: url("../../gamepc/img/collab_shibuyaharu/lineup_bg.webp");
	background-size: cover;
}
.lineupWrap h3 {
	padding-top: 105px;
	font-family: 'pirulen';
	font-size: 40px;
	letter-spacing: .05em;
	text-align: center;
}
.lineupWrap h3::first-letter {
	color: #F15A24;
}
.lineupInner {
	display: flex;
	justify-content: center;
	margin: 100px auto 0;
	padding-bottom: 150px;
	padding-right: 30px;
	width: 1200px;
	box-sizing: border-box;
	align-items: center;
}
.lineupInner .lineupList li {
	margin-top: 20px;
	position: relative;
}
.lineupInner .lineupList li a {
	border: 1px solid #F15A24;
	border-radius: 10px;
	display: flex;
	align-items: center;
	padding: 25px;
	box-sizing: border-box;
	background: #000;
	transition: all .5s;
	text-decoration: none;
	justify-content: space-between;
	width: 750px;
	/* height: 116px; */
}
.lineupInner .lineupList li a:hover {
	border-radius: 0;
}
.lineupInner .lineupList li .lineupDetail {
	font-weight: 300;
	width: 400px;
	margin-right: 25px;
}
.lineupInner .lineupList li .lineupDetail h4 {
	font-weight: 300;
}
.lineupInner .lineupList li .lineupPrice {
	margin-right: 30px;
	font-size: 18px;
	font-weight: 300;
}
.lineupInner .lineupList li .lineupPrice .tax {
	font-size: 14px;
}
.lineupInner .lineupList li .lineupLinkBtn span {
	text-decoration: none;
	color: #F15A24;
	position:relative;
    padding-bottom: 5px;
	display:inline-block;
    outline: none;
}
/* リンク矢印ループ */
.lineupInner .lineupList li .lineupLinkBtn span::before {
    content: "";
    position: absolute;
    bottom: 0;
    width: calc(100% + 8px);
    height: 1px;
	left: 0;
    background: #F15A24;
	transition: all .5s;
}
.lineupInner .lineupList li .lineupLinkBtn span::after {
    content: "";
    position: absolute;
    bottom:-4px;
    width: 8px;
    height: 8px;
    border-top: 1px solid #F15A24;
    border-right: 1px solid #F15A24;
    transform: rotate(45deg);
	transition: all .5s;
}
.lineupInner .lineupList li a:hover .lineupLinkBtn span::before {
    animation: arrowline 3s ease infinite;
}
.lineupInner .lineupList li a:hover .lineupLinkBtn span::after {
    animation: arrow 3s ease infinite;
}
@keyframes arrowline {
	0% {
		width: 0;
		opacity: 0;
	}
    20% {
		width: 0;
		opacity: 1;
	}
    80% {
		width: 105%;
		opacity: 1;
	}
    100% {
		width: 105%;
		opacity: 0;
	}
}
@keyframes arrow {
	0% {
		left: -8px;
		opacity: 0;
	}
    20% {
		left: -8px;
		opacity: 1;
	}
    80% {
		left: calc(100% - 8px);
		opacity: 1;
	}
    100% {
		left: calc(100% - 8px);
		opacity:0;
	}
}

/* リンクライン */
.lineupInner .lineupList li .line {
	position: absolute;
	transition: all .5s;
	background: #000;
}
.lineupInner .lineupList li .line.lineTop {
	width: 0;
	top: 0;
	left: 0;
	height: 1px;
}
.lineupInner .lineupList li .line.lineBottom {
	width: 0;
	bottom: 0;
	right: 0;
	height: 1px;
}
.lineupInner .lineupList li .line.lineLeft {
	width: 1px;
	bottom: 0;
	left: 0;
	height: 0;
}
.lineupInner .lineupList li .line.lineRight {
	width: 1px;
	top: 0;
	right: 0;
	height: 0;
}
.lineupInner .lineupList li a:hover ~ .lineTop {
    animation: lineTop 1s ease;
}
@keyframes lineTop {
	0% {
		width: 0;
	}
    50% {
		width: 100%;
	}
    100% {
		width: 0;
	}
}
.lineupInner .lineupList li a:hover ~ .lineBottom {
    animation: lineBottom 1s ease;
}
@keyframes lineBottom {
	0% {
		width: 0;
	}
    50% {
		width: 100%;
	}
    100% {
		width: 0;
	}
}
.lineupInner .lineupList li a:hover ~ .lineLeft {
    animation: lineLeft 1s ease;
}
@keyframes lineLeft {
	0% {
		height: 0;
	}
    50% {
		height: 100%;
	}
    100% {
		height: 0;
	}
}
.lineupInner .lineupList li a:hover ~ .lineRight {
    animation: lineRight 1s ease;
}
@keyframes lineRight {
	0% {
		height: 0;
	}
    50% {
		height: 100%;
	}
    100% {
		height: 0;
	}
}

/** CAMPAIGN **/
.camp {
	width: 1100px;
	padding: 15px;
	box-sizing: border-box;
	margin: 150px auto 0;
	background-image:
		linear-gradient(00deg, #F15A24, #F15A24),
		linear-gradient(00deg, #F15A24, #F15A24),
		linear-gradient(00deg, #F15A24, #F15A24),
		linear-gradient(00deg, #F15A24, #F15A24);
	background-size:
		0 1px,
		1px 0,
		0 1px,
		1px 0;
	background-position:
		left top,
		right top,
		right bottom,
		left bottom;
	background-repeat: no-repeat;
}
.camp.rightLeft {
	animation: lineSquare 1.5s linear forwards;
	animation-delay: .5s;
}
@keyframes lineSquare {
	0% {
		background-size:
			0 1px,
			1px 0,
			0 1px,
			1px 0;
	}
	25% {
		background-size:
			100% 1px,
			1px 0,
			0 1px,
			1px 0;
	}
	50% {
		background-size:
			100% 1px,
			1px 100%,
			0 1px,
			1px 0;
	}
	75% {
		background-size:
			100% 1px,
			1px 100%,
			100% 1px,
			1px 0;
	}
	100% {
		background-size:
			100% 1px,
			1px 100%,
			100% 1px,
			1px 100%;
	}
}

.campInner {
	background: url("../../gamepc/img/collab_shibuyaharu/camp_bg.webp");
	background-size: cover;
	padding: 80px;
	text-align: center;
}
.campInner h3 {
	font-family: 'pirulen';
	font-size: 40px;
	letter-spacing: .05em;
}
.campInner h3::first-letter {
	color: #F15A24;
}
.campInner .campDescription {
	font-size: 18px;
}
.campInner .campDetail {
	display: flex;
	justify-content: space-between;
	margin-top: 70px;
}
.campInner .campDetail .campDetailInner {
	width: calc(100% - 500px - 30px);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.campInner .campDetail .campDetailInner p {
	text-align: left;
	font-size: 17px;
}
.campInner .campDetail .campDetailInner .campLinkWrap {
	border: 1px solid #F15A24;
	box-shadow: 0px 0px 10px #F15A24;
	background: #000;
	padding: 15px;
}
.campInner .campDetail .campDetailInner .campLinkWrap a {
	text-decoration: none;
	font-family: 'pirulen';
	font-size: 30px;
	background: #F15A24;
	width: 100%;
	height: 100%;
	letter-spacing: 3px;
	font-weight: 600;
	position: relative;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all .5s;
	overflow: hidden;
}
/*.campInner .campDetail .campDetailInner .campLinkWrap a::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	display: block;
	background: #000;
	left: 0;
}
.campInner .campDetail .campDetailInner .campLinkWrap.downUp a::before {
	animation: campLinkBlock .25s linear forwards;
	animation-delay: .75s;
}
@keyframes campLinkBlock {
	0% {
		left: 0;
	}
	100% {
		left: -100%;
	}
}
.campInner .campDetail .campDetailInner .campLinkWrap a::after {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	display: block;
	background: #F15A24;
	left: -100%;
}
.campInner .campDetail .campDetailInner .campLinkWrap.downUp a::after {
	animation: campLinkBlock2 .5s linear forwards;
	animation-delay: .5s;
}
@keyframes campLinkBlock2 {
	0% {
		left: -100%;
	}
	50% {
		left: 0;
	}
	100% {
		left: -100%;
	}
}*/
.campInner .campDetail .campDetailInner .campLinkWrap a:hover {
    width: calc(100% + 14px);
    height: calc(100% + 14px);
    left: -7px;
    top: -7px;
}
.campInner .campDetail .campDetailInner .campLinkWrap a span {
	color: #000;
}
.campInner h4 {
	margin-top: 70px;
	font-size: 28px;
	font-weight: 400;
	display: flex;
	justify-content: center;
	align-items: center;
}
.campInner h4>span {
	position: relative;
}
.campInner h4>span>span {
	font-size: 18px;
	margin-right: 1.5em;
}
.campInner h4>span::after {
	position: absolute;
	content: "";
	height: 1px;
	width: calc(100% + 60px);
	background: #F15A24;
	bottom: 0;
	left: -30px;
}
.campInner .campNote {
	font-size: 17px;
	margin-top: 1em;
}


/** ABOUT **/
.aboutWrap {
	width: 1100px;
	padding: 15px;
	box-sizing: border-box;
	margin: 150px auto 0;
	background-image:
		linear-gradient(00deg, #F15A24, #F15A24),
		linear-gradient(00deg, #F15A24, #F15A24),
		linear-gradient(00deg, #F15A24, #F15A24),
		linear-gradient(00deg, #F15A24, #F15A24);
	background-size:
		0 1px,
		1px 0,
		0 1px,
		1px 0;
	background-position:
		left top,
		right top,
		right bottom,
		left bottom;
	background-repeat: no-repeat;
}
.aboutWrap.downUp {
	animation: lineSquare 1.5s linear forwards;
	animation-delay: .5s;
}
.aboutInner {
	background: url("../../gamepc/img/collab_shibuyaharu/about_bg.webp");
	background-size: cover;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 100px 0 70px;
	min-height: 600px;
}
.aboutInner .aboutDetail {
	flex-basis: 50%;
}
.aboutInner .aboutDetail h3 {
	font-size: 50px;
	line-height: 1.5;
}
.aboutInner .aboutDetail h3 span {
	display: block;
	font-family: 'pirulen';
	font-size: 16px;
	letter-spacing: .2em;
	font-weight: 400;
}
.aboutInner .aboutDetail p {
	margin-top: 1em;
	font-size: 14px;
}
.aboutInner .aboutDetail ul {
	display: flex;
	margin-top: 1em;
}
.aboutInner .aboutDetail ul li {
	margin-right: 25px;
	position: relative;
	overflow: hidden;
}
.aboutInner .aboutDetail ul li:last-child {
	margin-right: 0;
}
.aboutInner .aboutDetail ul li:first-child {
	width: 37px;
	height: 26px;
}
.aboutInner .aboutDetail ul li:nth-child(2) {
	width: 31px;
	height: 26px;
}
.aboutInner .aboutDetail ul li:nth-child(3) {
	width: 25px;
	height: 29px;
}
.aboutInner .aboutDetail ul li img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	display: block;
	transition: .5s ease-in-out;
}
.aboutInner .aboutDetail ul li img:first-child {
	opacity: 0;
}
.aboutInner .aboutDetail ul li:hover img:first-child {
	opacity: 1;
}
.aboutInner .aboutDetail ul li:hover img:nth-child(2) {
	opacity: 0;
}

/* info */
.infoWrap {
	width: 100%;
	max-width: 1200px;
	margin:85px auto 130px;
	padding: 70px 0;
	box-sizing: border-box;
	background: url(../../gamepc/img/collab_shibuyaharu/info_bg.webp) no-repeat center center/cover;
	background-color: rgba(0,0,0,0.5);
	background-blend-mode: darken;
}
.infoInner {
	display: flex;
    justify-content: center;
    margin: 50px auto 0;
    width: 990px;
    box-sizing: border-box;
    align-items: flex-end;
}
.infoWrap h4 {
    font-family: 'pirulen';
    font-size: 30px;
	line-height: 1.3;
    letter-spacing: .05em;
    text-align: center;
}
.infoWrap h5 {
	font-size: 30px;
	line-height: 1.5;
    letter-spacing: .05em;
}
.infoWrap h4::first-letter,
.infoWrap h5::first-letter {
	color: #F15A24;
}
.infoInner figure {
	width: 256px;
	position: relative;
	border: 1px solid ;
	padding: 30px;
	color: #F15A24;
}
.infoInner figure::after {
	content: "";
    display: block;
    position: absolute;
    width: 20px;
    height: 20px;
    background: #F15A24;
    bottom: 50px;
    right: -10px;
}
.infoInner .txt_block {
	width: 505px;
	margin-top: .5em;
    margin-left: 55px;
    position: relative;
}
.lineWrap {
	position: relative;
	margin-top: 15px;
	padding-left: 39px;
}
.lineWrap .infoLine {
	position: absolute;
	height: 100%;
	width: 1px;
	overflow: hidden;
	left: 0;
	top: 10px;
}
.lineWrap .infoLine::before {
	width: 1px;
	height: calc(100% - 15px);
	content: "";
	display: block;
	background: #F15A24;
	position: absolute;
	top: -100%;
}
.lineWrap .infoLine::before {
	animation: infoLine 2s forwards;
	animation-delay: 1.2s;
}
@keyframes infoLine {
	0% {
		top: -100%;
	}
	100% {
		top: 0;
	}
}
.infoDate {
	font-size: 22px;
	font-weight: 500;
	line-height: 1.5;
}
.infoNote {
	font-size: 13px;
	font-weight: 400;
}
.infoStore {
	font-size: 19px;
	font-weight: 400;
	letter-spacing: 0.5px;
	margin-top: 15px;
}
/** LOGO **/
.logoWrap {
	background: url("../../gamepc/img/collab_shibuyaharu/logo_bg.webp");
	background-size: cover;
	background-position: center;
	margin-top: 50px;
	display: flex;
	align-items: center;
	min-height: 700px;
}
.logoWrap .logoList {
	display: flex;
	align-items: center;
	width: 1000px;
	justify-content: space-between;
	margin: 0 auto;
}



/*** モバイル ***/
@media (max-width: 479px) {
	/** 汎用 **/
	.pc {
		display: none !important;
	}
	.sp {
		display: block !important;
	}

	
	/** ナビゲーション **/
	.release nav {
		display: none !important;
	}


	/** MV **/
	/* タイプライター */
	.contentMv p {
		display: none;
	}
	

	/** SPECIAL DESIGN **/
	.specialdesignWrap {
		width: 100%;
		display: block;
		min-height: inherit;
	}
	.specialdesignWrap>* {
		width: 100%;
		padding: 0 10px;
		box-sizing: border-box;
	}
	.specialdesignWrap h2 {
		margin-top: 5vw;
		font-size: 7vw;
	}
	.specialdesignWrap h2::after {
		width: 20vw;
		margin: 10vw auto;
	}
	.specialdesignWrap h2+p {
		font-size: 4.5vw;
	}
	.specialdesignWrap figure {
		margin-top: 8vw;
		position: relative;
		right: 40%;
		width: 180%;
	}
	.specialdesignWrap figure+p {
		font-size: 4.5vw;
		margin-bottom: 0;
	}

	/** POINT **/
	.pointWrap {
		margin-top: 15vw;
		padding: 7vw 0 0;
		background-position: right top;
		background-size: 20%;
	}
	.pointInner {
		width: 100%;
		margin: 0 auto;
	}
	.pointInner h3 {
		margin: 0;
		border-right: none;
		padding-right: 0;
		font-size: 7vw;
	}
	.pointInner .pointList {
		margin: 17vw 0;
	}
	.pointInner .pointList li {
		display: block;
		position: relative;
		margin-bottom: 20vw;
	}
	.pointInner .pointList li figure {
		width: 55%;
		display: flex;
		align-items: flex-end;
	}
	.pointInner .pointList li figure::after {
		width: 3vw;
		height: 3vw;
		bottom: 7vw;
		right: -1.5vw;
	}
	.pointInner .pointList li:nth-child(2) figure::after {
		left: -1.5vw;
	}
	.pointInner .pointList li:nth-child(3) figure::after {
		bottom: 50%;
	}
	.pointInner .pointList li:nth-child(4) figure::after {
		left: -1.5vw;
		bottom: 30%;
	}
	.pointInner .pointList li figure img {
		margin-right: 4vw;
	}
	.pointInner .pointList li figure figcaption {
		font-family: 'pirulen';
		font-size: 3.5vw;
		letter-spacing: .1em;
		line-height: 1.2;
	}
	.pointInner .pointList li figure figcaption::first-letter {
		color: #F15A24;
	}
	.pointInner .pointList li>div {
		width: 100%;
	}
	.pointInner .pointList li p {
		margin-top: 1.5em;
		margin-left: 0;
		font-size: 3vw;
		padding: 3vw 0 3vw 5vw;
		line-height: 1.5;
	}
	.pointInner .pointList li p .ledDetailLink {
		font-size: 3vw;
	}
	.pointInner .pointList li p .dashLine {
		bottom: -1.5em;
		left: 0;
		width: 0;
	}
	.pointInner .pointList li p .viewBtnWrap {
		right: 3em;
		bottom: -2.5em;
	}
	.pointInner .pointList li p .viewBtnWrap .viewBtn {
		font-size: 3.5vw;
	}
	.pointInner .pointList li p .viewBtnWrap .circleBtn {
		width: 25px;
		height: 25px;
		background: radial-gradient(circle, transparent 10px, #F15A24 12.5px, #F15A24);
	}
	.caseGallery {
		margin-top: 20vw;
		height: 300px;
	}
	.caseGallery h3 {
		font-size: 3.5vw;
		font-weight: 400;
	}
	.caseGallery ul li {
		margin-right: 7vw;
		min-width: 35vw;
	}


	/** BENEFITS **/
	.benefitsWrap {
		background-position: left top;
		background-size: 20%;
		padding: 15vw 0;
		margin: 7vw 0 0;
	}
	.benefitsInner {
		width: 100%;
	}
	.benefitsInner h3 {
		margin: 0;
		font-size: 7vw;
		border-left: none;
	}
	.benefitsInner .benefitsList {
		margin: 17vw 0;
	}
	.benefitsInner .benefitsList li {
		flex-direction: column-reverse;
	}
	.benefitsInner .benefitsList li:nth-child(2),
	.benefitsInner .benefitsList li:nth-child(3) {
		margin-top: 15vw;
	}
	.benefitsInner .benefitsList li::before {
		content: none;
	}
	.benefitsInner .benefitsList li h4 {
		font-size: 4.5vw;
		font-weight: 400;
		position: relative;
		left: 20%;
		margin-right: auto;
		margin-top: 5vw;
		margin-bottom: 5vw;
		width: auto;
		order: 1;
	}
	.benefitsInner .benefitsList li:nth-of-type(1) h4 {
		margin-top: 0;
	}
	.benefitsInner .benefitsList li h4::before {
		content: "";
		display: block;
		height: 1px;
		width: 15vw;
		background: #F15A24;
		position: relative;
		left: -20vw;
		top: 3.5vw;
	}
	.benefitsInner .benefitsList li h4 span {
		font-size: 3.5vw;
		font-weight: 300;
	}
	.benefitsInner .benefitsList li figure,
	.benefitsInner .benefitsList li.specialbox figure {
		width: 80%;
		margin-right: 0;
	}
	.benefitsInner .benefitsList li.specialbox figure {
		height: 49vw;
		background: url("../../gamepc/img/collab_shibuyaharu/specialbox_open.webp");
		background-size: cover;
	}
	.benefitsInner .benefitsList li.wallpaper figure figcaption {
		margin-top: 3vw;
		font-size: 3.5vw;
		line-height: 1.6;
	}
	.benefitsInner .benefitsList li.wallpaper figure figcaption .wallpaperNote {
		font-size: 3vw;
		margin-top: 3vw;
	}
	.benefitsInner .benefitsList li.specialbox figure figcaption {
		bottom: 20vw;
		font-size: 3.5vw;
	}


	/** LINE UP **/
	.lineupWrap h3 {
		padding-top: 15vw;
		font-size: 7vw;
	}
	.lineupInner {
		width: 100%;
		display: block;
		padding-right: 0;
		padding-bottom: 15vw;
		margin-top: 7vw;
	}
	.lineupInner figure {
		width: 80%;
		margin: 0 auto 7vw;
	}
	.lineupInner .lineupList li {
		width: 90%;
		margin: 0 auto;
	}
	.lineupInner .lineupList li a {
		flex-wrap: wrap;
		justify-content: space-between;
		width: auto;
		height: auto;
	}
	.lineupInner .lineupList li+li {
		margin-top: 5vw;
	}
	.lineupInner .lineupList li .lineupDetail {
		width: 100%;
		margin-right: 0;
		font-size: 4vw;
	}


	/** CAMPAIGN **/
	.camp {
		width: 95%;
		margin-top: 20vw;
		padding: 3vw;
	}
	.campInner {
		padding: 5vw 5vw 10vw;
	}
	.campInner h3 {
		font-size: 7vw;
	}
	.campInner .campDescription {
		font-size: 4vw;
	}
	.campInner .campDetail {
		flex-wrap: wrap;
		margin-top: 5vw;
	}
	.campInner .campDetail .campDetailInner {
		width: 100%;
		margin-top: 5vw;
	}
	.campInner .campDetail .campDetailInner p {
		font-size: 4vw;
	}
	.campInner .campDetail .campDetailInner .campLinkWrap {
		margin-top: 7vw;
	}
	.campInner .campDetail .campDetailInner .campLinkWrap a {
		font-size: 7vw;
	}
	.campInner h4 {
		margin-top: 10vw;
		font-size: 5vw;
	}
	.campInner h4>span>span {
		display: block;
		font-size: 4vw;
	}
	.campInner h4>span::after {
		width: calc(100% + 7vw);
		left: -3.5vw;
	}
	.campInner .campNote {
		font-size: 4vw;
	}


	/** ABOUT **/
	.aboutWrap {
		width: 95%;
		margin-top: 20vw;
		padding: 3vw;
	}
	.aboutInner {
		display: block;
		padding: 5vw 5vw 10vw;
	}
	.aboutInner .aboutDetail h3 {
		font-size: 9vw;
	}
	.aboutInner .aboutDetail h3 span {
		display: inline-block;
		font-size: 3vw;
		margin-left: 1em;
	}

	/** INFO **/
	.infoWrap.downUp {
		margin: 30px auto;
		padding: 48px 0;
	}
	.infoWrap h4 {
		font-size: 23px;
	}
	.infoInner {
		display: block;
		width: 90%;
		margin: 30px auto;
	}
	.infoInner figure {
		width: 164px;
		margin-left: auto;
		margin-right: auto;
	}
	.infoInner .txt_block {
		width: 100%;
		max-width: 291px;
		margin-left: auto;
		margin-right: auto;
	}
	.lineWrap {
		padding-left: 29px;
	}
	.lineWrap .infoLine {
		top: 5px;
	}
	.infoWrap h5 {
		font-size: 22px;
		margin-top: 20px;
	}
	.infoDate {
		font-size: 20px;
	}
	.infoNote {
		font-size: 11px;
		margin-top: 10px;
	}
	.infoStore {
		margin-top: 10px;
		font-size: 15px;
		line-height: 2.4;
	}
	/** LOGO **/
	.logoWrap {
		min-height: 350px;
		margin-top: 10vw;
	}
	.logoWrap .logoList {
		width: 60%;
		flex-direction: column;
	}
	.logoWrap .logoList li+li {
		margin-top: 70px;
	}
}



/*** lightbox ***/
#lightbox .lb-outerContainer {
	background-color: transparent;
}
#lightbox .lb-nav a.lb-prev,
#lightbox .lb-nav a.lb-next {
	position: relative;
	opacity: 1;
}
#lightbox .lb-nav a.lb-prev {
	left: -5vw;
}
#lightbox .lb-nav a.lb-next {
	right: -5vw
}
@media (max-width: 479px) {
	#lightbox .lb-nav a.lb-prev {
		left: -1vw;
	}
	#lightbox .lb-nav a.lb-next {
		right: -1vw
	}
}


/* campEnd add */
.campEnd .campInner::after {
	content: "キャンペーンは終了致しました";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: radial-gradient(#000,transparent);
	font-size: 35px;
}
.campEnd .campInner .campDetail .campDetailInner .campLinkWrap a {
	pointer-events: none;
}
@media (max-width: 479px) {
	.campEnd .campInner::after {
		font-size: 5.5vw;
		background: rgba(0,0,0,.75);
	}
}

/* 20211008 add */
.lineupInner figure {
	margin-right: 30px;
}
@media (max-width: 479px) {
	.lineupInner figure {
		width: 55%;
		margin-right: auto;
	}
}


/* 202307 キャンペーンadd */
.camplink__wrap {
	--link-fs: clamp(15px, 0.642rem + 2.06vw, 35px);
	--link-fs-sub: clamp(10px, 0.398rem + 0.97vw, 18px);
	--link-padding: 15px;
	width: clamp(330px, 7.273rem + 56.97vw, 800px);
	height: calc(2em + var(--link-fs-sub) + var(--link-padding) * 2);
	margin-inline: auto;
	border: 1px solid #F15A24;
	box-shadow: 0px 0px 10px #F15A24;
	background: #000;
	padding: var(--link-padding);
	font-size: var(--link-fs);
}
.camplink__inner {
	text-decoration: none;
	font-family: 'pirulen';
	font-size: var(--link-fs);
	background: #F15A24;
	width: 100%;
	height: calc(2em + var(--link-fs-sub));
	letter-spacing: .03em;
	font-weight: 600;
	position: relative;
	top: 0;
	left: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	transition: all .3s;
	overflow: hidden;
}
.camplink__inner::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	display: block;
	background: #000;
	left: 0;
}
.camplink__wrap.downUp .camplink__inner::before {
	animation: campLinkBlock .25s linear forwards;
	animation-delay: .75s;
}
@keyframes campLinkBlock {
	0% {
		left: 0;
	}
	100% {
		left: -100%;
	}
}
.camplink__inner::after {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	display: block;
	background: #F15A24;
	left: -100%;
}
.camplink__wrap.downUp .camplink__inner::after {
	animation: campLinkBlock2 .5s linear forwards;
	animation-delay: .5s;
}
@keyframes campLinkBlock2 {
	0% {
		left: -100%;
	}
	50% {
		left: 0;
	}
	100% {
		left: -100%;
	}
}
.camplink__inner:hover {
    width: calc(100% + var(--link-padding));
    height: calc(100% + var(--link-padding));
    left: calc(var(--link-padding) / -2);
    top: calc(var(--link-padding) / -2);
}
.camplink__inner span {
	color: #000;
	line-height: 1;
}
.camplink__sub {
	display: block;
	font-size: var(--link-fs-sub);
	font-weight: 400;
	line-height: 1;
	letter-spacing: .2em;
}
.camplink__triangle {
	position: absolute;
	display: inline-block;
	width: 0;
	height: 0;
	top: 50%;
	right: clamp(15px, 0.369rem + 2.42vw, 35px);
	border-top: clamp(8px, 0.159rem + 1.45vw, 20px) solid #fff;
	border-right: clamp(6px, 0.119rem + 1.09vw, 15px) solid transparent;
	border-left: clamp(6px, 0.119rem + 1.09vw, 15px) solid transparent;
	transition: all .3s;
	transform: translateY(-50%);
	opacity: 0;
}
.downUp .camplink__triangle {
	animation: camplinkicon .25s linear forwards;
	animation-delay: .75s;
}
@keyframes camplinkicon {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
#specialdesign {
	margin-block-start: clamp(2.188rem, 0.909rem + 5.45vw, 5rem)
}
.mvcamp {
	padding-block: clamp(80px, 3.011rem + 8.48vw, 150px) clamp(80px, 2.443rem + 10.91vw, 170px);
	background: url("../../gamepc/img/collab_shibuyaharu/mvcamp_bg.webp");
	background-size: cover;
}
.mvcamp__inner {
	width: clamp(320px,100%,1100px);
	margin-inline: auto;
}
.mvcamp__ttl {
	font-size: clamp(22px, 0.864rem + 2.18vw, 40px);
	font-family: 'pirulen';
	font-weight: 400;
	text-align: center;
	line-height: 1;
	letter-spacing: .03em;
	
}
.mvcamp__ttl::first-letter {
	color: #F15A24;
}
.mvcamp__mv {
	margin-block-start: clamp(35px, 1.193rem + 4.24vw, 70px);
	text-align: center;
}
.mvcamp__txt {
	margin-block-start: clamp(20px, 0.824rem + 1.82vw, 35px);
	font-size: clamp(14px, 0.648rem + 0.97vw, 22px);
	text-align: center;
	line-height: 1.8;
}
.mvcamp__txt span {
	display: block;
	width: max-content;
	margin: .5em auto;
	padding-inline: clamp(30px, 1.023rem + 3.64vw, 60px);
	background: #F15A24;
}
.set {
	width: clamp(356px, 3.955rem + 78.06vw, 1000px);
	margin-inline: auto;
	padding: clamp(25px, 0.852rem + 3.03vw, 50px) 15px;
	box-sizing: border-box;
	margin-block-start: clamp(30px, 0.739rem + 4.85vw, 70px);
	background-image:
		linear-gradient(00deg, #F15A24, #F15A24),
		linear-gradient(00deg, #F15A24, #F15A24),
		linear-gradient(00deg, #F15A24, #F15A24),
		linear-gradient(00deg, #F15A24, #F15A24);
	background-size:
		0 1px,
		1px 0,
		0 1px,
		1px 0;
	background-position:
		left top,
		right top,
		right bottom,
		left bottom;
	background-repeat: no-repeat;
	text-align: center;
}
.set.downUp {
	animation: lineSquare 1.5s linear forwards;
	animation-delay: .5s;
}
.mvcamp__detail {
	text-align: center;
}
.set__ttl-sub {
	font-size: clamp(14px, 0.705rem + 0.73vw, 20px);
	letter-spacing: .05em;
}
.set__ttl-sub span {
	font-size: clamp(19px, 0.932rem + 1.09vw, 28px);
	letter-spacing: .05em;
}
.set__ttl {
	width: clamp(250px, 12.045rem + 15.27vw, 376px);
	margin-inline: auto;
	border-top: clamp(1px, 0.034rem + 0.12vw, 2px) solid #F15A24;
	font-size: clamp(19px, 0.932rem + 1.09vw, 28px);
	font-weight: 400;
	letter-spacing: .1em;
}
.set__img-box {
	margin-block-start: clamp(10px, 0.483rem + 0.61vw, 15px);
}
.more {
	/* position: relative; */
	margin-block-start: clamp(25px, 0.852rem + 3.03vw, 50px);
}
.more.downUp {
    animation: lineSquare 1.5s linear forwards;
    animation-delay: .5s;
}
/* .more::before {
	content: "";
	position: relative;
	display: block;
	width: 1px;
	height: clamp(50px, 1.705rem + 6.06vw, 100px);
	margin-inline: auto;
	background: #F15A24;
} */
.more__ttl {
	margin-block-start: clamp(10px, 0.341rem + 1.21vw, 20px);
	font-size: clamp(20px, 1.023rem + 0.97vw, 28px);
	color: #F15A24;
	text-align: center;
	line-height: 1.57;
	letter-spacing: .1em;
}
.more__ttl-sub + .more__ttl {
	margin-block-start: 0;
}
.more__ttl-sub {
	font-size: clamp(14px, 1.023rem + 0.97vw, 20px);
}
.more__inner {
	width: clamp(356px, 3.955rem + 78.06vw, 970px);
	margin-block-start: clamp(15px, 0.511rem + 1.82vw, 30px);
	margin-inline: auto;
	padding: clamp(30px, 1.023rem + 3.64vw, 60px) 15px clamp(35px, 1.193rem + 4.24vw, 70px);
	background: #000;
	text-align: center;
	box-shadow: 0px 0px clamp(6px, -0.023rem + 1.7vw, 20px) #F15A24;
}

.more__lead {
	font-size: clamp(14px, 0.761rem + 0.48vw, 18px);
	line-height: 1.5;
	letter-spacing: .1em;
}
.more__lead img {
	width: 318px;
}
.more__lead img.red-bull_logo {
	width: 220px;
}
.more__caption--ttl {
	margin-block-end: clamp(2px, -0.017rem + 0.61vw, 7px);
	font-size: clamp(10px, 0.455rem + 0.73vw, 16px);
	line-height: 1.5;
	letter-spacing: .05em;
}
.more__caption--ttl .orange {
	color: #F15A24;
}
.more__caption {
	margin-block-start: clamp(2px, -0.017rem + 0.61vw, 7px);
	font-size: clamp(10px, 0.455rem + 0.73vw, 16px);
	line-height: 1.5;
	letter-spacing: .05em;
}
.more__caption a {
	text-decoration: underline !important;
}
.more__caption a:hover {
	text-decoration: none !important;
}
.more__txt {
	margin-block-start: .5em;
	font-size: clamp(18px, 0.926rem + 0.85vw, 25px);
	line-height: 1.6;
	letter-spacing: -0.3px;
}
.more__txt span {
	margin-inline: 5px 3px;
	font-size: clamp(39px, 2.125rem + 1.33vw, 50px);
	color: #F15A24;
	line-height: 1;
	vertical-align: text-bottom;
}
.goods__list {
	width: 100%;
	max-width: 784px;
	margin: 30px auto;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 88px;
}
.goods__list .goods__item {
	width: 100%;
	max-width: 348px;
}
.goods__list .goods__plus {
	font-size: clamp(20px, 0.926rem + 0.85vw, 25px);
	line-height: 1;
	margin: 15px;
}
.more__schedule {
	position: relative;
	margin-block-start: clamp(25px, 0.852rem + 3.03vw, 50px);
}
.more__schedule::after {
	content: "";
	position: absolute;
	width: min(100%,800px);
	height: 1px;
	bottom: calc(clamp(10px, 0.54rem + 0.36vw, 13px) * -1);
	left: 50%;
	background: #F15A24;
	transform: translateX(-50%);
}
.more__schedule dl {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	padding-block-end: .3em;
	line-height: 1;
}
.more__schedule dt {
	font-size: clamp(15px, 0.852rem + 0.36vw, 18px);
	font-weight: 400;
	letter-spacing: .03em;
}
.more__schedule dt + dd {
	margin-inline-start: clamp(5px, -0.398rem + 3.03vw, 30px);
}
.more__schedule dd {
	font-size: clamp(18px, 0.841rem + 1.21vw, 28px);
	letter-spacing: .05em;
}
.more__schedule dd span {
	font-size: clamp(11px, 0.432rem + 1.09vw, 20px);
	letter-spacing: .05em;
}
.more__schedule2 {
	width: 100%;
	display: flex;
	justify-content: center;
	margin-top: 40px;
}
.more__schedule2 dl {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	width:585px;
}
.more__schedule2 dt {
	color: #fff;
	font-size: clamp(13px, 0.455rem + 0.73vw, 16px);
	line-height: 1.4;
	background: #F15A24;
	width: 90px;
	margin-top: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.more__schedule2 dt:nth-of-type(1) {
	margin-top: 0;
}
.more__schedule2 dd {
	color: #fff;
	font-size: clamp(14px, 0.608rem + 0.61vw, 17px);
	letter-spacing: -0.2px;
	text-align: left;
	margin-top: 10px;
	margin-left: 17px;
	width: calc(100% - 107px);
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.more__schedule2 dd:nth-of-type(1) {
	margin-top: 0;
}
.more__schedule2 dd .shop_list {
	font-size: clamp(11px, 0.608rem + 0.61vw, 12px);
	line-height: 1.6;
	text-align: left;
}
.more__schedule2 dd .shop_list li {
	text-indent: -1em;
	margin-left: 1em;
}
.more__schedule2 dd .shop_list li:nth-of-type(n+2) {
	margin-top: 5px;
}
.more__note {
	margin-block-start: clamp(21px, 1.227rem + 0.36vw, 24px);
	font-size: clamp(12px, 0.608rem + 0.61vw, 17px);
	letter-spacing: .03em;
}
.camp__note {
	font-size: clamp(12px, 0.608rem + 0.61vw, 17px);
	margin-top: 27px;
}
.morelink__wrap {
	--link-fs: clamp(27px, 1.602rem + 0.36vw, 30px);
	--link-padding: 15px;
	width: clamp(296px, 15.915rem + 11.03vw, 387px);
	height: calc(1.8em + var(--link-padding) * 2);
	margin-block-start: clamp(30px, 1.307rem + 2.42vw, 40px);
	margin-inline: auto;
	border: 1px solid #F15A24;
	box-shadow: 0px 0px 10px #F15A24;
	background: #000;
	padding: var(--link-padding);
	font-size: var(--link-fs);
}
.morelink__inner {
	text-decoration: none;
	font-family: 'pirulen';
	font-size: var(--link-fs);
	background: #F15A24;
	width: 100%;
	height: 1.8em;
	letter-spacing: .1em;
	font-weight: 600;
	position: relative;
	top: 0;
	left: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	transition: all .3s;
	overflow: hidden;
}
.morelink__inner::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	display: block;
	background: #000;
	left: 0;
}
.morelink__wrap.downUp .morelink__inner::before {
	animation: campLinkBlock .25s linear forwards;
	animation-delay: .75s;
}
@keyframes campLinkBlock {
	0% {
		left: 0;
	}
	100% {
		left: -100%;
	}
}
.morelink__inner::after {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	display: block;
	background: #F15A24;
	left: -100%;
}
.morelink__wrap.downUp .morelink__inner::after {
	animation: campLinkBlock2 .5s linear forwards;
	animation-delay: .5s;
}
@keyframes campLinkBlock2 {
	0% {
		left: -100%;
	}
	50% {
		left: 0;
	}
	100% {
		left: -100%;
	}
}
.morelink__inner:hover {
    width: calc(100% + var(--link-padding));
    height: calc(100% + var(--link-padding));
    left: calc(var(--link-padding) / -2);
    top: calc(var(--link-padding) / -2);
}
.morelink__inner span {
	color: #000;
	line-height: 1;
}
.sp768 {
	display: none;
}
@media (max-width: 768px) {
	.more__inner {
		width: clamp(290px, 3.955rem + 78.06vw, 296px);
		padding: clamp(30px, 1.023rem + 3.64vw, 60px) 30px clamp(35px, 1.193rem + 4.24vw, 70px);
	}
	.goods__list {
		flex-direction: column;
		margin: 15px auto;
		gap: 44px;
	}
	.goods__plus + .goods__list {
		margin-block-start: 0;
	}
	.more__schedule::after {
		width: clamp(250px, 66.67vw, 800px);
	}
	.more__schedule dl {
		flex-direction: column;
		align-items: center;
		line-height: 1.5;
	}
	.more__schedule dt + dd {
		margin-block-start: 5px;
	}
	.more__schedule2 {
	margin-top: 20px;
	}
	.more__schedule2 dl {
		flex-direction: column;
		align-items: center;
	}
	.more__schedule2 dd {
		width: 78px;
	}
	.more__schedule2 dd {
		text-align: center;
		width: 100%;
	}
	.more__schedule2 dd,
	.more__schedule2 dd:nth-of-type(1) {
		justify-content: center;
		margin-top: 10px;
		margin-left: 0;
		letter-spacing: -0.9px;
	}
	.morelink__wrap {
		width:clamp(237px, 15.915rem + 11.03vw, 237px);
	}
	.camp__note {
		margin-top: 10px;
	}
	.sp768 {
		display: block;
	}
	.more__lead img.red-bull_logo {
		width: 70%;
	}
}

/* 202307 mv動画埋め込み */
.mvmovie__wrap {
	position: absolute;
	width: 36.45%;
	top: 45%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.mvmovie__inner{
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.mvmovie__wrap iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}

@media (max-width: 479px) {
	.mvmovie__wrap {
		width: 70%;
		top: 33%;
	}
}
