@charset "UTF-8";

/*
■ リセット
■ 共通

■ キービジュアル
■ 導入
■ 商品紹介
■ 作品紹介

■ フッター
■ ページの先頭へ

■ 印刷用設定

■ スライダー
*/


/* ■ リセット ==================================================================================== */

body { min-width: 320px; margin: 0; padding: 0; }

#Feature_ div, #Feature_ section { margin: 0; color: inherit; word-break: normal; }
#Feature_ h1, #Feature_ h2, #Feature_ h3, #Feature_ h4, #Feature_ h5, #Feature_ p { margin: 0; padding: 0; letter-spacing: inherit; color: inherit; word-break: normal; }
#Feature_ dl, #Feature_ dt, #Feature_ dd { margin: 0; padding: 0; color: inherit; word-break: normal; }
#Feature_ *, #Feature_ *:before, #Feature_ *:after, #Feature_ *::before, #Feature_ *::after { box-sizing: border-box; }
#Feature_ *:focus { outline: none; }
#Feature_ figure,#Feature_ img,#Feature_ picture,#Feature_ video,#Feature_ canvas,#Feature_ svg { display: block; max-width: 100%; height: auto; border: none; vertical-align: bottom; }
#Feature_ form { margin: 0; padding: 0; }
#Feature_ li { list-style-type: none; }
#Feature_ table { width: 100%; border-collapse: collapse; border-spacing: 0; }
#Feature_ strong, #Feature_ em { font-style: normal; }
#Feature_ input, #Feature_ select, #Feature_ textarea, #Feature_ button { border-style: none; font-size: inherit; }
#Feature_ button { cursor: pointer; }
#Feature_ h2 { border: none; }

#Feature_ a:link {
text-decoration: none;
}

#Feature_ a:active {
text-decoration: none;
}

#Feature_ a:visited {
text-decoration: none;
}

#Feature_ a:hover {
text-decoration: none;
}

/* ページ管理用 */
.pane-contents {
padding-bottom: 0;
}

body.page-page .pane-contents {
letter-spacing: inherit;
}

.pane-contents .container {
display: block;
}

.block-page-block--frame {
margin-bottom: 0;
}

.block-page-freespace--caption {
padding-top: 0;
}

.block-page-block--contents-body-text-1column {
width: 100%;
margin: 0;
}

.block-page-block--contents-body-text-1column div {
max-width: 100%;
padding: 0;
}



/* ■ 共通 ==================================================================================== */

/*
フォント
汎用
変数
*/


/* フォント --------------------------------------------------- */

#Feature_ {
color: #3f3b3a !important;
}

#Feature_ * {
font-family: dnp-shuei-gothic-gin-std, sans-serif;
font-weight: 400;
font-style: normal;
}

#Feature_ .WF1 {
font-family: kaneda-gothic, sans-serif;
font-weight: 700;
font-style: normal;
}


/* 汎用 --------------------------------------------------- */

@media only screen and (max-width: 767px) {

	#Feature_ .PC {
	display: none;
	}

}

@media print, screen and (min-width: 768px) {

	#Feature_ .SP {
	display: none;
	}

}

/* 非アクティブ */
#Feature_ .Disabled {
opacity: 0.3;
pointer-events: none;
}

#Feature_ .Disabled:hover {
opacity: 0.3;
}

#Feature_ .Disabled2 {
pointer-events: none;
}


/* 変数 --------------------------------------------------- */

:root {
--color-1: #504d9e;
--color-2: #fcf8f8;
--color-3: #1f4291;
--color-4: #231815;
--color-5: #17532c;
}



/* ■ キービジュアル ==================================================================================== */

#Feature_ .KV_ {
background-color: #000;
}

#Feature_ .KV_Photo {
opacity: 0;
animation-name: fadeIn;
animation-duration: 2s;
animation-timing-function: ease-out;
animation-fill-mode: forwards;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@media only screen and (max-width: 767px) {

}

@media print, screen and (min-width: 768px) {

}



/* ■ 導入 ==================================================================================== */

#Feature_ .Intro_Mds {
text-align: center;
}

#Feature_ .Intro_ShopInfo {
/* border: 3px solid #3f3b3a; */
background: #3f3b3a;
color: #fcf8f8;
}

#Feature_ .Intro_ShopInfo a {
color: #fcf8f8;
text-decoration: underline;
}

#Feature_ .Intro_ShopInfo a:hover {
color: #fcf8f8;
text-decoration: none;
}

@media only screen and (max-width: 767px) {

	#Feature_ .Intro_InBox {
	padding: 60px 30px 20px;
	}

	#Feature_ .Intro_Mds {
	font-size: 21px;
	font-weight: 600;
	}

	#Feature_ .Intro_Lead_Unit {
	margin-top: 30px;
	}

	#Feature_ .Intro_Lead {
	margin-top: 20px;
	font-size: 13px;
	line-height: 2;
	text-align: left;
	}

	#Feature_ .Intro_ShopInfo {
	margin-top: 30px;
	padding: 20px;
	font-size: 13px;
	line-height: 2;
	text-align: center;
	}

	#Feature_ .Intro_ShopInfo p.ttl {
	margin-bottom: 1.4rem !important;
	font-size: 15px !important;
	line-height: 1.8;
	}

	#Feature_ .Intro_ShopInfo p {
	margin-bottom: 1.4rem !important;
	line-height: 2;
	}

}

@media print, screen and (min-width: 768px) {

	#Feature_ .Intro_InBox {
	max-width: 940px;
	margin: 0 auto;
	padding: 120px 60px 80px;
	}

	#Feature_ .Intro_Mds {
	font-size: 28px;
	}

	#Feature_ .Intro_Lead_Unit {
	margin-top: 40px;
	}

	#Feature_ .Intro_Lead {
	margin-top: 20px;
	font-size: 16px;
	line-height: 2.2;
	text-align: left;
	}

	#Feature_ .Intro_ShopInfo {
	margin-top: 60px;
	padding: 40px;
	font-size: 16px;
	line-height: 2.2;
	text-align: center;
	}

	#Feature_ .Intro_ShopInfo p.ttl {
	margin-bottom: 1.4rem !important;
	font-size: 18px !important;
	line-height: 2;
	}

	#Feature_ .Intro_ShopInfo p {
	margin-bottom: 1.4rem !important;
	line-height: 2;
	}

}



/* ■ 商品紹介 ==================================================================================== */

/*
ボタン アニメーション
*/


#Feature_ .Item_Mds {
display: flex;
justify-content: center;
position: relative;
}

#Feature_ .Item_Main_Wrap_Wrap {
position: relative;
}

#Feature_ .Item_Main_Wrap {
background-repeat: no-repeat;
background-size: cover;
}

#Feature_ .Item_Sub_Each {
overflow: hidden;
}

#Feature_ .Item_Sub_Name {
letter-spacing: 0.05em;
text-align: center;
}

#Feature_ .Item_Sub_Price {
letter-spacing: 0.05em;
text-align: center;
}

#Feature_ .Item_Glinda{
color: #fcf8f8;
position: relative;
}

#Feature_ .Item_Glinda>.Item_InBox{
background-color: #17532c;
position: relative !important;
z-index: 2;
}

/* ボタン */
#Feature_ .Item_Sub_Btn {
display: flex;
justify-content: center;
}

#Feature_ .Item_BtnBuy {
display: flex;
align-items: center;
justify-content: center;
border-radius: 100vh;
line-height: 1;
letter-spacing: 0.1em;
color: #fff;
}

#Feature_ .Item_WickedLogoCap .Item_BtnBuy {
background-color: var(--color-1);
}

#Feature_ .Item_Glinda .Item_BtnBuy {
background-color: var(--color-2);
color: #121736;
}

#Feature_ .Item_Elphaba .Item_BtnBuy {
background-color: var(--color-3);
}

@media only screen and (max-width: 767px) {

	#Feature_ .Item_ {
	padding: 100px 0 100px;
	}

	#Feature_ .Item_Mds img {
	height: 40px;
	}

	#Feature_ .Item_Mds img.Ensemble {
	height: auto !important;
    width: 85%;
	}

	#Feature_ .Item_Main_Wrap_Wrap {
	margin-top: 30px;
	padding: 0 15px;
	}
	
	#Feature_ .Item_Glinda {
	position: relative;
	}
	
	#Feature_ .Item_Glinda::before {
	/* padding-top: 140px;
    padding-bottom: 200px; */
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
	height: 100%;
    background: url('../img/Item_Bg_Middle_Top.png') no-repeat center top;
    background-size: 100% auto;
    pointer-events: none;
	}
	
	#Feature_ .Item_Glinda::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	background: url('../img/Item_Bg_Middle_Bottom.png') no-repeat center bottom;
	background-size: 100% auto;
	pointer-events: none;
	}

	#Feature_ .Item_WickedLogoCap .Item_Main_Wrap {
	background-image: url(../img/Item_Glinda_Texture_SP.jpg);
	}
	
	#Feature_ .Item_Glinda .Item_Main_Wrap {
	background-image: url(../img/Item_Elphaba_Texture_SP.jpg);
	}
	
	#Feature_ .Item_Elphaba .Item_Main_Wrap {
	background-image: url(../img/Item_Ensemble_Texture_SP.jpg);
	}

	#Feature_ .Item_Sub {
	margin-top: 100px;
	padding: 0 20%;
	}

	#Feature_ .Item_Sub_Each {
	margin-top: 80px;
	}

	#Feature_ .Item_Sub_Name {
	margin-top: 20px;
	font-size: 21px;
	line-height: 1.3;
	}

	#Feature_ .Item_Sub_Lead {
	margin-top: 20px;
	font-size: 13px;
	line-height: 1.6;
	}

	#Feature_ .Item_Sub_Lower {
	margin-top: 20px;
	}

	#Feature_ .Item_Sub_Price {
	font-size: 20px;
	line-height: 1.3;
	}

	/* ボタン */
	#Feature_ .Item_Sub_Btn {
	margin-top: 20px;
	}

	#Feature_ .Item_BtnBuy {
	width: 170px;
	height: 50px;
	font-size: 24px;
	}

}

@media print, screen and (min-width: 768px) {

	#Feature_ .Item_ {
	padding: 100px 60px 100px;
	margin: 150px auto;
	}

	#Feature_ .Item_Mds img {
	height: 80px;
	}

	#Feature_ .Item_Mds img.Ensemble {
	height: 153px !important;
	}

	#Feature_ .Item_Main_Wrap {
	max-width: 1200px;
	margin: 70px auto 0;
	}

	#Feature_ .Item_WickedLogoCap {
	padding: 100px 60px 190px !important;
	}

	#Feature_ .Item_Elphaba {
	padding: 190px 60px 190px !important;
	}

	#Feature_ .Item_WickedLogoCap .Item_Main_Wrap {
	background-image: url(../img/Item_Glinda_Texture_PC.jpg);
	}
	
	#Feature_ .Item_Glinda .Item_Main_Wrap {
	background-image: url(../img/Item_Elphaba_Texture_PC.jpg);
	}
	
	#Feature_ .Item_Elphaba .Item_Main_Wrap {
	background-image: url(../img/Item_Ensemble_Texture_PC.jpg);
	}

	#Feature_ .Item_Glinda{
	background-color: #17532c;
	}
	
	#Feature_ .Item_Glinda::before {
	/* padding-top: 140px;
	padding-bottom: 200px; */
	content: "";
	position: absolute;
	left: 0;
	top: -15%;
	width: 100%;
	height: 100%;
	background: url('../img/Item_Bg_Middle_Top.png') no-repeat center top;
	background-size: 100% auto;
	pointer-events: none;
	}
	
	#Feature_ .Item_Glinda::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -15%;
	width: 100%;
	height: 100%;
	background: url('../img/Item_Bg_Middle_Bottom.png') no-repeat center bottom;
	background-size: 100% auto;
	pointer-events: none;
	}

	#Feature_ .Item_Sub {
	display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0 40px;
	max-width: 1200px;
	margin: 100px auto 0;
	padding: 0 6%;
	}

	#Feature_ .Item_Sub > *:only-child {
    grid-column: 2 / 3;
	}

	#Feature_ .Item_Sub_Each {
	display: flex;
    flex-direction: column;
	}

	#Feature_ .Item_Sub_Name {
	margin-top: 30px;
	font-size: 21px;
	line-height: 1.3;
	}

	#Feature_ .Item_Sub_Lead {
	margin-top: 40px;
	font-size: 15px;
	line-height: 1.6;
	}

	#Feature_ .Item_Sub_Lower {
	margin-top: auto;
    padding-top: 30px;
	}

	#Feature_ .Item_Sub_Price {
	font-size: 20px;
	line-height: 1.3;
	}

	/* ボタン */
	#Feature_ .Item_Sub_Btn {
	margin-top: 30px;
	}

	#Feature_ .Item_BtnBuy {
	width: 190px;
	height: 60px;
	font-size: 28px;
	}

}


/* ボタン アニメーション --------------------------------------------------- */

.Color1 { background: #231815; }
.Color2 { background: #ec7094; }
.Color3 { background: #106635; }

.meteor {
position: fixed;
z-index: 1000;
width: 15px;
height: 15px;
background-color: currentColor;
pointer-events: none;
clip-path: polygon(
	50% 0%, 61% 35%, 98% 35%, 
	68% 57%, 79% 91%, 50% 70%, 
	21% 91%, 32% 57%, 2% 35%, 
	39% 35%
);
opacity: 1;
animation: meteor-fall 1s linear forwards;
}

@keyframes meteor-fall {
	0% { transform: translate(0, 0) scale(1); opacity: 1; }
	100% { transform: translate(var(--dx), var(--dy)) scale(0); opacity: 0; }
}

.meteorButton {
transition: transform 0.2s ease-out;
}


@media only screen and (max-width: 767px) {

	.meteorButton:active {
	transform: scale(0.8);
	}
	
	@keyframes shrink-bounce {
	    0% { transform: scale(1); }
	    50% { transform: scale(0.8); }
	    100% { transform: scale(1); }
	}

}

@media print, screen and (min-width: 768px) {

	.meteorButton:active {
	transform: scale(0.9);
	}
	
	@keyframes shrink-bounce {
	    0% { transform: scale(1); }
	    50% { transform: scale(0.9); }
	    100% { transform: scale(1); }
	}

}



/* ■ 作品紹介 ==================================================================================== */

#Feature_ .About_ {
text-align: center;
position: relative;
background-color: #f4f5fa;
}

#Feature_ .About_Mds {
display: flex;
justify-content: center;
}

#Feature_ .About_InBox, .About_FrameUpper {
position: relative !important;
}

@media only screen and (max-width: 767px) {

	#Feature_ .About_ {
	margin-top: 60px;
	padding-bottom: 60px !important;
	padding: 0 30px;
	}
	
	#Feature_ .About_::before {
    content: "";
    position: absolute;
    left: 0;
    top: -100px;
    width: 100%;
	height: 100%;
    background: url('../img/Item_Bg_Bottom_Top.png') no-repeat center top;
    background-size: 100% auto;
    pointer-events: none;
	}

	#Feature_ .About_Mds img {
	height: 40px;
	}

	#Feature_ .About_InBox {
	padding: 54px 10%;
	background: #ffffff;
	margin: -8% auto;
    width: 97%;
	}

	#Feature_ .About_FrameUpper p, img,
	#Feature_ .About_FrameLower p, img {
	position: relative;
	z-index: 3;
	}

	#Feature_ .About_Photo {
	margin-top: 30px;
	}

	#Feature_ .About_Catch {
	margin-top: 30px;
	font-size: 15px;
	line-height: 2;
	color: #17532c;
	font-weight: 600;
	}

	#Feature_ .About_Lead {
	margin-top: 20px;
	font-size: 13px;
	line-height: 2;
	text-align: left;
	}

	#Feature_ .About_Copyright {
	margin-top: 20px;
	font-size: 10px;
	}

}

@media print, screen and (min-width: 768px) {

	#Feature_ .About_ {
	margin-top: 100px;
	padding-bottom: 100px;
	}
	
	#Feature_ .About_::before {
	content: "";
	position: absolute;
	left: 0;
	top: -14%;
	width: 100%;
	height: 100%;
	background: url('../img/Item_Bg_Bottom_Top.png') no-repeat center top;
	background-size: 100% auto;
	pointer-events: none;
	}

	#Feature_ .About_FrameUpper,
	#Feature_ .About_FrameLower {
	max-width: 940px;
	margin: 0 auto;
	padding: 0 60px;
	}

	#Feature_ .About_FrameUpper p, img,
	#Feature_ .About_FrameLower p, img {
	position: relative;
	z-index: 3;
	}

	#Feature_ .About_InBox {
	/* max-width: 700px;
	margin: 0 20%;
	padding: 30px 60px;
	background: #ffffff; */
	max-width: 792px;
	margin: -70px auto;
	padding: 90px 60px;
	background: #ffffff;
	}

	#Feature_ .About_Mds img {
	height: 90px;
	}

	#Feature_ .About_Photo {
	width: 80%;
    margin: 60px auto 0 auto;
	}

	#Feature_ .About_Catch {
	margin-top: 40px;
	font-size: 18px;
	line-height: 2;
	color: #17532c;
	font-weight: 600;
	}

	#Feature_ .About_Lead {
	margin-top: 40px;
	font-size: 15px;
	line-height: 2;
	text-align: left;
	}

	#Feature_ .About_Copyright {
	margin-top: 40px;
	font-size: 12px;
	}

}



/* ■ フッター ==================================================================================== */

#Feature_ .Footer_ {
color: #fff;
background: var(--color-4);
}

#Feature_ .Footer_Logo {
display: flex;
justify-content: center;
}

#Feature_ .Footer_SNS {
display: flex;
justify-content: center;
align-items: center;
}

#Feature_ .Footer_Copyright {
display: flex;
justify-content: center;
}

@media only screen and (max-width: 767px) {

	#Feature_ .Footer_ {
	padding-top: 50px;
	padding-bottom: 60px;
	}

	#Feature_ .Footer_Logo img {
	width: 120px;
	}

	#Feature_ .Footer_SNS {
	margin-top: 30px;
	}

	#Feature_ .Footer_SNS a {
	margin: 0 15px;
	}

	#Feature_ .Footer_SNS img {
	width: 26px;
	}

	#Feature_ .Footer_Copyright {
	margin-top: 30px;
	font-size: 10px;
	}

}

@media print, screen and (min-width: 768px) {

	#Feature_ .Footer_ {
	padding-top: 80px;
	padding-bottom: 80px;
	}

	#Feature_ .Top_Wrapping_ .Footer_ {
	margin-left: -60px;
	margin-right: -60px;
	}

	#Feature_ .Footer_Logo img {
	width: 140px;
	}

	#Feature_ .Footer_SNS {
	margin-top: 30px;
	}

	#Feature_ .Footer_SNS a {
	margin: 0 15px;
	}

	#Feature_ .Footer_SNS img {
	width: 26px;
	}

	#Feature_ .Footer_Copyright {
	margin-top: 30px;
	font-size: 10px;
	}

}



/* ■ ページの先頭へ ==================================================================================== */

#Feature_ #PageTop {
display: none;
position: fixed;
z-index: 10000;
opacity: 0.7;
}

@media only screen and (max-width: 767px) {

	#Feature_ #PageTop {
	bottom: 15px;
	right: 15px;
	width: 40px;
	}

}

@media print, screen and (min-width: 768px) {

	#Feature_ #PageTop {
	bottom: 30px;
	right: 30px;
	width: 60px;
	}
	
}



/* ■ 印刷用設定 ==================================================================================== */

@media print {

}



/* ■ スライダー ==================================================================================== */

/* ページネーション	 */
#Feature_ .swiper-pagination {
display: flex;
justify-content: center;
}

#Feature_ .swiper-pagination-bullet {
display: block;
border: 1px solid #231815;
border-radius: inherit;
background-color: #fff;
opacity: 1;
cursor: pointer;
}

#Feature_ .Item_WickedLogoCap .swiper-pagination-bullet {
border: 1px solid var(--color-1);
}

#Feature_ .Item_Glinda .swiper-pagination-bullet {
border: 1px solid var(--color-2) !important;
background-color: var(--color-5) !important;
}

#Feature_ .Item_Elphaba .swiper-pagination-bullet {
border: 1px solid var(--color-3);
}

#Feature_ .Item_WickedLogoCap .swiper-pagination-bullet-active {
background-color: var(--color-1);
}

#Feature_ .Item_Glinda .swiper-pagination-bullet-active {
background-color: var(--color-2) !important;
border: 1px solid var(--color-2) !important;
}

#Feature_ .Item_Elphaba .swiper-pagination-bullet-active {
background-color: var(--color-3);
}

@media only screen and (max-width: 767px) {

	/* ページネーション	 */
	#Feature_ .swiper-pagination {
	bottom: -30px;
	}

	#Feature_ .swiper-pagination-bullet {
	width: 40px;
	height: 8px;
	margin: 0 4px;
	}

}

@media print, screen and (min-width: 768px) {

	/* ページネーション	 */
	#Feature_ .swiper-pagination {
	bottom: -30px;
	}

	#Feature_ .swiper-pagination-bullet {
	width: 80px;
	height: 8px;
	margin: 0 4px;
	}

}