@charset "utf-8";

/*  ===============================
			global
===============================  */

/* Gheader
===============================
.Ghdr
*/
.Ghdr_ttl {
	position: absolute;
	justify-content: flex-start;
	align-items: flex-start;
	writing-mode: horizontal-tb;
	top: 12px;
	left: 0;
	width: 100%;
	padding-left: 20px;
	font-size: 11px;
	text-align: left;
	line-height: 1.5rem;
}

/* menu
===============================
Gnavi
*/
.Gnavi_btn {
	left: auto;
	right: 30px;
}

.Gnavi_inr {
	left: 0;
	width: 100%;
}

.Gnavi_item {
	width: 100%;
	max-width: 560px;
	margin: 0 0 0 auto;
}

.Gnavi_anchor {
	display: flex;
	width: 100%;
	margin-right: 0;
	padding-left: 40px;
}

.Gnavi_itemImg {
	padding-left: 0;
}
.Gnavi_image {
	width: 90%;
}

.Gnavi_itemTxt {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	row-gap: 2px;
	flex-grow: 1;
	margin-top: 0;
	padding: 0;
	background-color: transparent;
	text-align: left;
}

.Gnavi_text {
	padding: 3px;
	background-color: #fff;
}

.Gnavi_text--benefits,
.Gnavi_text--campaign,
.Gnavi_text--tieUp {
	margin-bottom: 10px;
}

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

.Gftr {
	background-image: url(../images/bg_footer_sp.jpg);
}

.Gftr_inr {
	padding: 50px 0 70px;
}

.Gftr_copy {
	font-size: 15px;
}

.official-link_anchor {
	font-size: 15px;
}

/* main */

/* sec , subSec
===============================
*/

.sec {
	padding: 40px 0 15px;
}

.sec--musicVideo {
	padding-top: 0;
}

.sec_body--campaign {
	padding-top: 30px;
}

.sec_hdr {
	max-width: none;
	height: clamp(120px, 36vw, 260px);
}

.sec_ttl {
	top: auto;
	bottom: 25px;
	left: 50%;
	right: 50%;
	transform: translateX(-50%);
	max-width: 550px;
}

.sec_ttl--release {
	width: 85%;
}
.sec_ttl--contents {
	width: 90%;
}
.sec_ttl--benefits {
	width: 90%;
}
.sec_ttl--campaign {
	width: 90%;
}
.sec_ttl--musicVideo {
	width: 90%;
}
.sec_ttl--tieUp {
	width: 70%;
	max-width: 380px;
}

.sec_subTtl {
	top: auto;
	bottom: 5px;
	width: 95%;
	padding: 2px 20px;
	font-size: 10px;
	letter-spacing: 0.2rem;
}

.sec_subTtl--release,
.sec_subTtl--benefits,
.sec_subTtl--musicVideo {
	right: auto;
	left: 0;
	text-align: right;
}

.sec_subTtl--contents,
.sec_subTtl--campaign,
.sec_subTtl--tieUp {
	left: auto;
	right: 0;
	text-align: left;
}

.sec_subTtl--contents {
	width: 95%;
}
.sec_subTtl--benefits {
	top: auto;
	width: 95%;
}
.sec_subTtl--campaign {
	top: auto;
	width: 95%;
}
.sec_subTtl--musicVideo {
	top: auto;
	width: 95%;
}
.sec_subTtl--tieUp {
	top: auto;
	width: 95%;
}

/*  ===============================
		  component
===============================*/

/* btn
===============================
*/
.btn {
	padding: 1em 0.8em;
	font-size: 12px;
}

.btn--shop {
	max-width: 139.5px;
	padding: 0.8em 0.2em;
	font-size: 11px;
	letter-spacing: 0.2rem;
}

.btn--more {
	padding: 1em;
	font-size: 13px;
	letter-spacing: 0.3rem;
}

.btn--campaign {
	margin-top: 30px;
}

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

.label {
	width: 100%;
	padding: 5px;
	font-weight: 700;
	font-size: 16px;
	letter-spacing: 0;
}

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

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

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

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

/* sns_list
===============================
*/

/* scrollGuide
===============================
*/

/*  ===============================
		  project
===============================*/

/* hero
===============================
*/

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

.release_list {
	grid-template-columns: repeat(1, 1fr);
}

.release_format {
	font-size: 14px;
}

.release_code,
.release_text {
	font-size: 12px;
}

.release_text {
	font-weight: 600;
}

/* contents
===============================
*/
.contents {
	margin-bottom: 30px;
}

.cd {
	margin-bottom: 80px;
}

.cd_ttl,
.bluray_ttl {
	margin: 0;
	font-size: 16px;
}

.cd_list {
	gap: 0;
	font-weight: 900;
	font-size: 16px;
	text-align: center;
}

.cd_item {
	padding: 25px 0;
	border-bottom: 1px solid #fff;
}

.cd_item p > small {
	display: block;
	margin-top: 15px;
	padding-left: 0;
	font-weight: 500;
	font-size: 12px;
	line-height: 1.2rem;
}

.cd_note {
	margin-top: 35px;
	font-weight: 600;
	font-size: 14px;
	text-align: center;
}

.bluray_box {
	max-width: 305px;
	margin: 30px auto;
	padding-bottom: 30px;
	border-bottom: 1px solid #fff;
}

.bluray_box:last-child {
	border-bottom: 0;
}

.bluray_name {
	max-width: 305px;
	margin: 0 auto;
	padding-left: 0;
	border-left: 0;
	font-weight: 900;
	font-size: 14px;
	line-height: 1.6rem;
}

.bluray_photo {
	max-width: 305px;
	padding: 0 10px;
}

.bluray_note {
	max-width: 305px;
	margin: 0 auto;
	margin: 20px 0;
	font-size: 10px;
}

.bluray_list {
	max-width: 305px;
	margin: 0 auto;
	margin-top: 10px;
	column-count: 1;
	font-size: 13px;
	letter-spacing: 0.15rem;
}

.bluray_name,
.bluray_note,
.bluray_list {
	max-width: 305px;
	margin-left: auto;
	margin-right: auto;
}

.bluray_item {
	margin-bottom: 10px;
}

/* benefits
===============================
*/
.benefits_note {
	font-size: 10px;
	line-height: 1.2rem;
	letter-spacing: 0.1rem;
}

.benefits01 {
	padding-bottom: 0;
}

.benefits01_list {
	grid-template-columns: repeat(1, 1fr);
}

.benefits01_item {
	padding-bottom: 80px;
}

.benefits01_goods {
	font-weight: 900;
	font-size: 16px;
}

.benefits01_note {
	max-width: 300px;
	margin: 0 auto;
	text-align: left;
}

.benefits02_list {
	grid-template-columns: repeat(2, 1fr);
	column-gap: 20px;
}

.benefits02_item {
	padding-bottom: 30px;
}

.benefits02_goods {
	font-size: 13px;
}

.benefits03 {
	padding: 60px 0 30px;
}

.benefits03_item {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: 1fr;
}

.benefits03_image {
	grid-row: 2;
	grid-column: 1;
}

.benefits03_ttl {
	justify-content: center;
	grid-row: 1;
	grid-column: 1;
	padding: 30px 0;
	font-size: 14px;
}

.benefits03_note {
	grid-row: 3;
	grid-column: 1;
	padding: 20px 0;
}

.benefits04 {
	margin-bottom: 50px;
	padding: 40px 20px;
	border-image-width: 4px 4px 4px 4px;
}

.benefits04_info > p {
	padding: 25px 0;
	font-size: 14px;
	line-height: 1.8rem;
}

/* campaign
===============================
*/
.campaign_ttl {
	padding-bottom: 60px;
	font-size: 22px;
	line-height: 2.6rem;
}

.campaign_term {
	flex-wrap: wrap;
	align-items: flex-end;
	padding-bottom: 30px;
	font-size: 14px;
	text-align: left;
	line-height: 18px;
}

.campaign_term span {
	display: inline-block;
}

.campaign_term::after {
	margin-left: 10px;
	margin-bottom: 6px;
}

.campaign_name {
	font-size: 15px;
	line-height: 1.6rem;
	letter-spacing: 0.2rem;
}
.campaign_num {
	font-size: 15px;
}

.campaign_notes {
	padding-top: 20px;
	font-size: 10px;
	letter-spacing: 0.05rem;
}

.campaign_note {
	max-width: 300px;
}

.campaign_text {
	font-size: 14px;
}
.campaign_text--streaming {
	max-width: 300px;
	margin: 0 auto;
	text-align: left;
	letter-spacing: 0.2rem;
}

/* prize */

.prize {
	flex-direction: column;
	gap: 5rem 0;
}

.prize_item {
	width: 100%;
	/* width: calc((100% - (2rem * 2)) / 3); */
}

/* entry */

.entry {
}

.entry_item {
	flex-direction: column;
	padding: 40px 0;
}

.entry_item:first-child {
	padding: 20px 0 40px;
}

.entry_texts {
	max-width: 300px;
	margin: 0 auto;
	padding-left: 0;
}

.entry_text {
	padding-top: 30px;
	font-weight: 600;
	font-size: 15px;
	letter-spacing: 0;
}

.entry_text > strong {
	font-size: 17px;
	letter-spacing: 0.1rem;
}

/* musicVideo
===============================
*/
.musicVideo_list {
	grid-template-columns: 1fr;
}

.musicVideo_list--col2 {
	gap: 0 0.5rem;
	grid-template-columns: repeat(2, 1fr);
}

.musicVideo_item {
	padding-bottom: 30px;
}

.musicVideo_ttl {
	font-weight: 900;
	font-size: 18px;
	filter: drop-shadow(0 0 4px rgba(0, 0, 0, 0.5));
}

.musicVideo_ttl > small,
.musicVideo_sub_text {
	font-weight: 500;
	font-size: clamp(11px, 2.5vw, 13px);
	letter-spacing: 0.1rem;
}

.musicVideo_youtubeBox--col2 {
	margin-bottom: 5rem;
}

.musicVideo_sub_text--col2 {
	padding-top: clamp(7rem, 27vw, 11rem);
}

/* tieUp
===============================
*/
.tieUp {
	padding-bottom: 50px;
}

.tieUp_list {
	grid-template-columns: repeat(2, 1fr);
	column-gap: 20px;
}

.tieUp_item {
}

.tieUp_text {
	font-size: 12px;
}

/* input
===============================
*/

.input_pic {
	max-width: 300px; /**/
	margin-right: auto; /**/
}

.input_texts {
	text-align: center; /**/
	font-size: clamp(10px, 3vw, 16px);
}

/* form
===============================
*/

.form {
}

.form_ttl {
	font-size: clamp(16px, 5vw, 21px);
}

.form_list {
}

.form_item:not(:first-child) {
}

.form_flex {
	display: block;
}

.form_term:not(.form_term--long),
.form_desc:not(.form_desc--long) {
	width: 100%;
}

.form_desc:not(.form_desc--long) {
	padding-left: 0;
}

.form_term {
}

.form_term,
.form_desc {
	font-size: clamp(13px, 3.8vw, 15px);
}

.form_term--long {
	margin-top: 40px;
}

.form_btns {
	margin-top: 3em;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="password"],
input[type="url"],
textarea {
	--padding-y: 0.75em;
}

/* confirm時 */

.form--confirm {
	margin: 0 auto 60px;
}

.entry--confirm {
	margin: 0 auto;
}

.entry--confirm .form_term,
.entry--confirm .form_desc {
	text-align: center;
}

/* finish画面 */

.finish_text--email {
	font-size: 1.2em;
}
