@charset "utf-8";

:root {
	--commonSidePadding: min(8vw, 30px);
	--letterBody: 1px;
	line-height: 1.6;
}

/*  ===============================
			GLOBAL
===============================
container
header
navi
footer
other
*/

/* Gheader
===============================
.Ghdr
*/

.Ghdr_ttl {
	right: -5.2em;
	font-size: clamp(10px, 2.5vw, 12px);
}

.Ghdr_ttlImg {
	width: clamp(28px, 7vw, 30px);
}

/* menu
===============================
Gnavi
*/

.Gnavi {
	max-width: none;
}

.Gnavi_inr {
	width: 100%;
	max-width: 400px;
	min-width: 0px;
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--commonSidePadding);
	padding-right: var(--commonSidePadding);
	padding-bottom: 20px;
}

.Gnavi_list {
	margin-left: auto;
	margin-right: auto;
}

@keyframes changeMenuBackground {
	0% {
		bottom: auto;
	}
	40% {
		translate: 200% 0;
	}
	60% {
		width: 100%;

		padding: 0 0 5vw 22vw;
		mask: none;
		background: linear-gradient(120deg, #000a28 40%, #0a96ff 120%);
		translate: 200% 0;
	}
	100% {
		width: 100%;
		mask: none;
		bottom: 0;
		translate: 0;
	}
}

.Gnavi_btn {
	padding-top: 10px;
}

.Gnavi_sns {
	justify-content: space-around;
	gap: 0;
}

/* footer
===============================
Gftr
*/

.Gftr {
	padding-top: 10rem;
}

.Gftr_link {
	margin-top: 40px;
}

.Gftr_copy {
	margin-top: 40px;
}

/*  ===============================
		  block , element
===============================*/

/* sec
===============================
.sec
.sec_hdr
.sec_ttl
.sec_body
.sec_ftr
*/

.sec_hdr--special {
	margin-bottom: 4rem;
}

.sec_ttl--release img {
	width: 80%;
	max-width: 300px;
}

.sec_ttl--special {
	text-align: center;
	font-size: clamp(18px, 4.5vw, 20px);
	line-height: 1.6;
	letter-spacing: 1px;
}

.sec_ttl--special:before,
.sec_ttl--special:after {
	height: 17px;
	background-size: 10px 17px, 100% 2px, 10px 17px;
}

.sec_hdr--live {
	margin-bottom: 5rem;
}

/* subSec
===============================
-- campaign
.subSec
.subSec_inr
.subSec_hdr
.subSec_ttl
.subSec_body
.subSec_ftr
*/

.subSec_ttl {
	text-align: center;
}

/* btn
===============================
*/

/* label
===============================
*/

.label {
	padding: 2px 4px;
}

/* hamburger
===============================
*/

/* marker
===============================
*/

/* texts
===============================
*/

/* notes
===============================
*/

/* obj (ryu)
===============================
*/

/* underwater
===============================
*/

/* mv , pop
===============================
*/

.mv_picImg {
	min-height: 90vh;
}

.pop {
	position: absolute;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	width: 100%;
	bottom: 0;
	padding: 20px;
}

.pop_stamp {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 33%;
	padding: 20px 15px 25px;
	background-image: url(../images/stamp_01_sp.png);
	text-align: center;
}

.pop_ttl {
	margin-bottom: 0;
}
.pop_ttl:not(:first-child) {
	margin-top: 10px;
}

.pop_img--detail {
	width: 100%;
}

/* release
===============================
*/

.release {
	padding: 130px 0;
	background-image: url(../images/bg_sec--release_sp_.png);
}

.release_body {
	display: flex;
}

.release_item {
	width: 100%;
}

.release_item--pic {
	order: 1;
}
.release_item--hdr {
	order: 2;
}
.release_item--list {
	order: 3;
}

.release_item--pic {
	text-align: center;
	margin-bottom: 3.5rem;
}

.disc_item--commingsoon {
	text-align: center;
}

.disc_hdr {
	margin-bottom: 2em;
}

.disc_texts {
	font-size: 25px;
}

.disc_texts--live {
	font-size: 25px;
}

.disc_text--mini {
	font-size: clamp(9px, 3.9vw, 18px);
}

.disc_notes {
	font-size: 15px;
	font-weight: 300;
}

.disc_notes--1028 {
	font-size: clamp(10px, 2.9vw, 12px);
}

/* song */

.song_item:not(:first-child) {
	margin-top: 0.5em;
}

.song_tieup {
	display: block;
	padding-left: 2.5em;
	font-weight: 500;
}

.song_ttl--video {
	font-size: 25px;
}

/* movie
===============================
*/

.movie {
	padding-top: 10rem;
}

/* variation
===============================
*/

.variation {
	padding-top: 10rem;
}

.variation_item:not(:first-child) {
	padding-top: 5rem;
	border-top: 1px solid #35a;
}

.variation_item:not(:first-child) {
	margin-top: 5.5rem;
}

picture:not(:first-child) .variation_img {
	margin-top: 1em;
}

.variation_hdr {
	display: flex;
	align-items: baseline;
	justify-content: center;
	margin-bottom: 1.5rem;
	text-align: center;
}

.variation_ttl {
	display: inline;
	margin-bottom: 0;
}

.variation_subTtl {
	display: inline;
	text-decoration: underline var(--secondColor) solid 2px;
	text-underline-offset: 10px;
}

.variation_texts {
	margin-bottom: 0.5rem;
	font-size: clamp(12px, 3.3vw, 18px);
	letter-spacing: 0;
}

.variation_pic {
	margin-bottom: 2.5rem;
}

/* firstedition
===============================
*/

.firstedition {
	padding-bottom: 15rem;
}

/* corp
===============================
*/

.corp_ttl {
	margin-bottom: 2em;
}

.corp_dl {
	flex-direction: column;
}

.corp_term {
	margin: 0 0 1.5em;
}

/* shop
===============================
*/

.shop {
	padding-bottom: 18rem;
}

.shop_list {
	grid-template: auto / 1fr 1fr;
	gap: 50px 20px;
}

.shop_item {
	--verticalSpacer: 5px;
}

.shop_names {
}
.shop_name {
	font-size: clamp(12px, 3.6vw, 16px);
	font-weight: 700;
}
.shop_attention {
	margin-top: 1em;
	font-size: clamp(11px, 3.3vw, 12px);
	font-weight: 200;
}

.shop_desc {
	font-weight: 300;
	line-height: 1.4;
}

.shop_note--ftr:not(:first-child) {
	margin-top: 0.8rem;
}

/* amazon
===============================
*/

.amazon_pic {
	gap: 20px;
}

.amazon_texts {
	font-weight: 400;
}

/* campaign
===============================
*/
.campaign {
	margin-bottom: 10rem;
	font-weight: 400;
}

.campaign_texts {
	text-align: left;
}

/* entry
===============================
*/

.entry {
	line-height: 1.6;
}

.entry_item {
	text-align: center;
}

.entry_ttl {
}

.entry_label {
	padding-left: 0.5em;
	padding-right: 0.5em;
}

.entry_texts {
	margin-top: 2rem;
}

.entry_texts--02 {
	text-align: left;
}

.entry_notes {
	margin-top: 2rem;
}

.entry_notes--03 {
	text-align: center;
}

/* step
===============================
*/

.step {
	display: block;
	line-height: 1.6;
}

.step_item {
	display: block;
}

.step_num {
	margin-bottom: 2rem;
	text-align: center;
}
.step_num img {
	max-width: 60px;
}

.step_texts--01 {
	text-align: center;
}

.step_anchor {
	margin-top: 2rem;
}

/* contact
===============================
*/

.contact {
	margin-top: 40px;
}

.contact_list {
	display: block;
	text-align: center;
}

.contact_term {
	text-align: center;
	margin-right: 0;
	margin-bottom: 1.5rem;
}
.contact_anchor {
	font-size: clamp(15px, 3vw, 16px);
}

.contact_desc {
	text-align: center;
}

.contact_notes {
}

/* recommend
===============================
*/

.recommend {
	margin-bottom: 5rem;
}

.splide__arrow {
	top: 13%;
	scale: 1;
}

/* live
===============================
*/

.live {
}

.live_pic {
}

.live_ttl {
	margin-top: 2.6rem;
	font-size: clamp(20px, 5vw, 27px);
}

.live_texts {
	margin-top: 3.5rem;
	font-size: clamp(15px, 3.75vw, 20px);
	font-weight: 400;
}

.live_list {
	width: 100%;
	margin-top: 4rem;
}

.live_item {
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 0;
}

.live_item:not(:first-child) {
	margin-top: 3rem;
}

.live_label {
	width: 20%;
	padding-top: 8px;
	padding-right: 0;
	font-size: clamp(11px, 3.25vw, 13px);
	font-weight: 400;
}

.live_terms {
	width: 80%;
}

.live_term {
	font-size: clamp(14px, 3.5vw, 18px);
	font-weight: 400;
}

.live_btns {
	width: 100%;
	font-size: 14px;
	font-weight: 300;
}

.live_btns {
	margin-top: 3.5rem;
	text-align: center;
}

.tour_subTtl {
	margin-bottom: 0;
}

/* liveEve
===============================
*/

.liveEve {
	margin-bottom: 10rem;
}

.liveEve_ttl_min {
	font-size: clamp(26px, 6vw, 43px);
}

.liveEve_pic_cap {
	margin-top: 30px;
}

.liveEve_dl {
	flex-direction: column;
}
