@charset "UTF-8";

/*--------------------------------------
	全体
---------------------------------------*/
html,
body {
    /* font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif; */
    font-family: 'Noto Sans JP', sans-serif!important;
    margin: 0;
    padding: 0;
    height: 100%;
    min-height: 100vh;
    position: relative;
}
:root{
    --orange-core: rgba(255,168,48,1);     /* 明るいコア（はっきりしたオレンジ） */
    --orange-glow: rgba(255,168,48,0.55);  /* 外側のグロー */
    --magenta-deep: rgba(151,36,85,0.55);  /* 既存マゼンタ系ベース */
    --magenta-soft: rgba(151,36,85,0.25);

    --purple-core: rgba(86,79,118,0.75); /* 中央をはっきり明るくする紫 */
    --purple-mid:  rgba(86,79,118,0.45);
    --purple-soft: rgba(121,90,145,0.35);

    --bg-top:  #4e1675;  /* 上部を少し暗く */
    --bg-mid:  #3a2a53;
    --bg-mid2: #513a86;  /* 既存より少し鮮やかなパープル帯 */
    --bg-btm:  #352644;
}

body::before{
    content:"";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background-repeat: no-repeat;

    background:
/* ▼ 左上のきわをさらに暗く */
    radial-gradient(800px 600px at -5% -5%,
    rgba(0,0,0,0.65) 0%,
    rgba(0,0,0,0.4) 35%,
    rgba(0,0,0,0) 70%),

    /* ▼ 右上のきわをさらに暗く */
    radial-gradient(800px 600px at 105% -5%,
    rgba(0,0,0,0.65) 0%,
    rgba(0,0,0,0.4) 35%,
    rgba(0,0,0,0) 70%),

    /* ▼ 上左右を紫で落ち着かせるビネット追加 */
    radial-gradient(1200px 800px at -10% -10%,
    rgba(90,50,120,0.85) 0%,
    rgba(50,30,80,0.45) 40%,
    rgba(30,20,50,0.0) 90%),
    radial-gradient(1200px 800px at 110% -10%,
    rgba(90,50,120,0.85) 0%,
    rgba(50,30,80,0.45) 40%,
    rgba(30,20,50,0.0) 90%),

    /* ▼ 中央にショッキングピンクのにじみ */
    radial-gradient(700px 500px at 50% 65%,
    rgba(255,20,147,0.65) 0%,   /* 濃いショッキングピンク */
    rgba(255,20,147,0.35) 35%, /* 中間のにじみ */
    rgba(255,20,147,0.0) 70%), /* 外側は透明 */

    /* ▼ 中央やや上の暗がり */
    radial-gradient(900px 700px at 50% 38%,
    rgba(0,0,0,0.38) 0%,
    rgba(0,0,0,0.22) 45%,
    rgba(0,0,0,0) 70%),

    /* ▼ 紫／マゼンタ系（上層に配置） */
    radial-gradient(800px 900px at 14% 42%,
    rgba(122,35,75,0.55) 0%,
    rgba(122,35,75,0.15) 45%,
    rgba(122,35,75,0) 60%),
    radial-gradient(800px 900px at 86% 42%,
    rgba(120,37,75,0.55) 0%,
    rgba(120,37,75,0.15) 45%,
    rgba(120,37,75,0) 60%),
    radial-gradient(680px 380px at 50% 82%,
    var(--purple-core) 0%,
    var(--purple-mid) 50%,
    rgba(0,0,0,0) 72%),
    radial-gradient(900px 1400px at 50% 60%,
    var(--magenta-deep) 0%,
    var(--magenta-soft) 40%,
    rgba(151,36,85,0) 80%),
    radial-gradient(420px 520px at 50% 58%,
    rgba(175,120,255,0.35) 0%,
    rgba(175,120,255,0.18) 40%,
    rgba(175,120,255,0) 70%),

    /* ▼ オレンジ（下層へ） */
    radial-gradient(1200px 700px at -10% 110%,
    var(--orange-core) 0%,
    rgba(255,168,48,0.75) 35%,
    rgba(255,168,48,0) 65%),
    radial-gradient(220vmax 140vmax at -20% 120%,
    var(--orange-glow) 0%,
    rgba(255,168,48,0.35) 40%,
    rgba(255,168,48,0) 60%),
    radial-gradient(1200px 700px at 110% 110%,
    var(--orange-core) 0%,
    rgba(255,168,48,0.75) 35%,
    rgba(255,168,48,0) 65%),
    radial-gradient(220vmax 140vmax at 120% 120%,
    var(--orange-glow) 0%,
    rgba(255,168,48,0.35) 40%,
    rgba(255,168,48,0) 60%),

    /* ▼ ベース */
    linear-gradient(180deg,
    var(--bg-top) 0%,
    var(--bg-mid) 40%,
    var(--bg-mid2) 62%,
    var(--bg-btm) 100%);
}
/* いちばん奥に敷く。particlesのz-index(-3,-2,-1)より下へ */
#parallax{
	position: fixed;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	/* background-image: url("../img/img_donpen_bg.png"); */
	background-size: contain;
	background-position: left center;
	will-change: transform;
	transform: translate3d(0, var(--pY, 0px), 0);
}

/* 動きを好まない設定なら止める */
@media (prefers-reduced-motion: reduce){
  #parallax{ transform: none; }
}

div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fildset, input, textarea, p, blockquote, table, th, td, address, textarea, input {
  color: #000;
  font-size: 15px;
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 160%;
  margin: 0;
  padding: 0;
  word-wrap: break-word;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}
caption, th {
  text-align: left;
}
td, th {
  vertical-align: top;
}
fieldset, img, abbr {
  border: none;
}
li {
  list-style-type: none;
}
strong {
  font-weight: bold;
}
a {
	display: inline-block;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
a {
	display: inline-block;
	transform: scale(1);
	transition: 
	opacity 0.5s cubic-bezier(1,-0.69,0.2,2.03),
	transform 0.5s cubic-bezier(1,-0.69,0.2,2.03);
	text-decoration: none;
}
a:hover {
	transform: scale(1.08);
}
img {
  vertical-align: bottom;
}
*:focus {
  outline: none;
}
body.menuOpen,
html.menuOpen {
  overflow: hidden;
}
.inner {
	margin: 0 auto;
}
li {
  list-style-type: none;
}
h2 {
	font-size: 30px;
}
h3 {
	font-size: 24px!important;
	font-weight: bold;
	border-bottom: 2px solid #000;
}
h4 {
	font-size: 20px;
    margin-bottom: 10px;
}
h5 {
	font-size: 20px;
	font-weight: bold;
    margin: 30px 0 0;
	padding-left: 1em; 
}
span.red {
    color: #E60012;
}
span.pink {
    color: #ec008c;
}
span.bold {
    font-weight: 900!important;
    font-size: 100%;
}
span.large {
    font-size: 110%!important;
}
span.large2 {
    font-size: 140%!important;
}
span.small {
    font-size: 80%;
}
.large120 {
	font-size: 120%!important;
}
.large140 {
	font-size: 140%!important;
}
.large160 {
	font-size: 160%!important;
}
.small95 {
    font-size: 95%!important;
}
.small80 {
    font-size: 80%;
}
span.inlineB {
    display: inline-block;
	white-space: nowrap;
}
p.indent-1 {
    padding-left: 1em;
    text-indent: -1em;
}
p.indent-14 {
    padding-left: 1.4em;
    text-indent: -1.4em;
}
p.indent-2 {
    padding-left: 2em;
    text-indent: -2em;
}
.mt20 {
	margin-top: 20px!important;
}
.mt25 {
	margin-top: 25px!important;
}
.mt30 {
	margin-top: 30px!important;
}
.mt40 {
	margin-top: 40px!important;
}
.mt50 {
	margin-top: 50px!important;
}
.mt60 {
	margin-top: 60px!important;
}
.mb0 {
	margin-bottom: 0px!important;
}
.mb10 {
	margin-bottom: 10px!important;
}
.mb20 {
	margin-bottom: 20px!important;
}
.mb30 {
	margin-bottom: 30px!important;
}
.mb40 {
	margin-bottom: 40px!important;
}
.mb50 {
	margin-bottom: 50px!important;
}
.mb60 {
	margin-bottom: 60px!important;
}
.center {
	text-align: center;
}
.left {
	text-align: left;
	margin: 0 auto;
}
.img img {
	max-width: 100%;
	height: auto;
    margin: 0 auto;
}
.pc {
	display: block;
}
.pc700 {
	display: block;
}
.pc480 {
	display: block;
}
.sp {
	display: none;
}
.sp480 {
	display: none;
}
.corporate-logo-ver2 {
	font-family: "corporate-logo-ver2", sans-serif;
	font-weight: 500;
	font-style: normal;
}
.corporate-logo-ver2-bold {
	font-family: "corporate-logo-ver2", sans-serif;
	font-weight: 700;
	font-style: normal;
}
.roundedm2pmedium {
    font-family: "m-plus-rounded-2p", sans-serif;
    font-weight: 700;
    font-style: normal;
}
.roundedm2pblack {
    font-family: "m-plus-rounded-2p", sans-serif;
    font-weight: 900;
    font-style: normal;
}
.nowrap_box {
	display: flex;
	flex-wrap: nowrap;
}
a:hover {
    color: #fff!important;
}
::marker {
	display: none!important;
}

/*--------------------------------------
	header
---------------------------------------*/
.donkiHeader {
    min-width: 100%!important;
	padding: 0!important;
}

/*--------------------------------------
	particles
---------------------------------------*/
#particles-js {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    pointer-events: none;
}
#particles-js2,
#particles-js3 {
  position: fixed;
  top: 0;
  width: 15vw;
  height: 100vh;
  pointer-events: none;
  z-index: -1;
}
#particles-js2 {
  left: 0;
}
#particles-js3 {
  right: 0;
}
#particles-js {
  z-index: -3;
}
#particles-js2 {
  z-index: -2;
}
#particles-js3 {
  z-index: -1;
}
.center-mask {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  pointer-events: none;
  z-index: 0;
  background: radial-gradient(ellipse at center, rgba(0,0,0,0) 0%, rgba(0,0,0,0.15) 30%, rgba(0,0,0,0.3) 60%);
  mix-blend-mode: destination-out;
}
#particles-js2 {
  mask-image: linear-gradient(to left, transparent 0%, black 100%);
  -webkit-mask-image: linear-gradient(to left, transparent 0%, black 100%);
}
#particles-js3 {
  mask-image: linear-gradient(to right, transparent 0%, black 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 100%);
}

/*--------------------------------------
	MV
---------------------------------------*/
#MV.mv_bg {
	width: 100%;
}
#MV .img_mv {
	width: 100%;
	text-align: center;
	position: relative;
	z-index: 2;
	max-width: 890px;
	margin: 0 auto;
	display: inline-block;
}
#MV .img_mv img {
	width: 100%;
	margin: 0 auto;
	display: block;
}
#MV .logo-main {
	position: relative;
	z-index: 1;
}
#MV .logo-glow {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	animation: glow-flicker 3.5s infinite;
}
@keyframes glow-flicker {
	0%, 19%, 21%, 23%, 25%, 54%, 56%, 100% {
	opacity: 1;
	}
	20%, 24%, 55% {
	opacity: 0;
	}
}

#MV h1 {
	margin: 0;
	text-align: center;
}
@keyframes fade-in {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
#MV svg .st0 {
	fill: #fff;
}
#movie {
	width: 100%;
	margin: 0 auto;
	position: relative;
	top: 220px;
	max-width: 1000px;
    opacity: 0;
    transform: scale(0.6);
    transition: opacity 0.6s cubic-bezier(1,-0.69,0.2,2.03), 
                transform 0.6s cubic-bezier(1,-0.69,0.2,2.03);
	z-index: 2;
}
#short {
	width: 100%;
	margin: 0 auto;
	position: relative;
	top: 40px;
	max-width: 600px;
    opacity: 0;
    transform: scale(0.6);
    transition: opacity 0.6s cubic-bezier(1,-0.69,0.2,2.03), 
                transform 0.6s cubic-bezier(1,-0.69,0.2,2.03);
	z-index: 2;
}
#movie.in-view,
#short.in-view {
    opacity: 1;
    transform: scale(1);
}
#movie .youtube,
#short .youtube {
    position: relative;
    overflow: hidden;
    padding-bottom: 56.25%;
	z-index: 2;
}
#short .youtube {
    padding-bottom: 177.78%; /* #shortは9:16に変更 */
	margin-bottom: 30px;
}
#movie .youtube iframe,
#short .youtube iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

/*--------------------------------------
	contents
---------------------------------------*/
.detailArea {
    min-height: calc(100vh - 77px);
}
.contents_wrapper {
    position: relative;
    z-index: 1;
}
#MV,
#detail,
#event,
.footerArea {
	position: relative;
	z-index: 2;
}
#detail .inner,
#event .inner {
    max-width: 890px;
	background-color: rgba(0, 0, 0, 0.5);
    padding: 0 0 40px;
	box-sizing: border-box;
	border-radius: 20px;
    box-shadow: 0 0 40px rgba(0, 0, 0, 0.4);
}
#event .inner {
	margin: 60px auto 100px;
	border-radius: 105px 105px 20px 20px;
	text-align: center;
	padding: 0 0 100px;
}
#detail .original {
    max-width: 100%;
	background:
		
	/* 上部グロー（暗い紫） */
    radial-gradient(1200px 700px at 50% -20%,
	rgba(94, 59, 118, 0.4) 0%,
	rgba(94, 59, 118, 0) 60%),
    
	/* 中心コア 左下 */
	radial-gradient(1200px 700px at -10% 110%,
	rgba(132,104,171,0.6) 0%,
	rgba(143,96,208,0.75) 35%,
	rgba(143,96,208,0) 65%),

	/* グロー 左下 */
	radial-gradient(220vmax 140vmax at -20% 120%,
	rgba(143,96,208,0.35) 0%, 
	rgba(143,96,208,0) 60%),

	/* 中心コア 右下 */
	radial-gradient(1200px 700px at 110% 110%,
	rgba(132,104,171,0.6) 0%,
	rgba(143,96,208,0.75) 35%,
	rgba(143,96,208,0) 65%),

	/* グロー 右下 */
	radial-gradient(220vmax 140vmax at 120% 120%,
	rgba(143,96,208,0.35) 0%,
	rgba(143,96,208,0) 60%);

    border-radius: 0;
    box-shadow: none;
	padding-bottom: 0;
}
/* #detail .original {
  position: relative;
  z-index: 0;
  overflow: hidden;
}
#detail .original::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(1200px 700px at 50% -20%, rgba(94, 59, 118, 0.4) 0%, rgba(94, 59, 118, 0) 60%),
    radial-gradient(1200px 700px at -10% 110%, rgba(132,104,171,0.6) 0%, rgba(143,96,208,0.75) 35%, rgba(143,96,208,0) 65%),
    radial-gradient(220vmax 140vmax at -20% 120%, rgba(143,96,208,0.35) 0%, rgba(143,96,208,0) 60%),
    radial-gradient(1200px 700px at 110% 110%, rgba(132,104,171,0.6) 0%, rgba(143,96,208,0.75) 35%, rgba(143,96,208,0) 65%),
    radial-gradient(220vmax 140vmax at 120% 120%, rgba(143,96,208,0.35) 0%, rgba(143,96,208,0) 60%);
  z-index: -1;
  animation: hueShift 15s linear infinite;
}
@keyframes hueShift {
  0%   { filter: hue-rotate(0deg); }
  50%  { filter: hue-rotate(60deg); }
  100% { filter: hue-rotate(0deg); }
} */
#detail .original2 {
  max-width: 100%;
  background:

    /* 下部グロー（暗い紫） */
    radial-gradient(1200px 700px at 50% 120%,
    rgba(94, 59, 118, 0.4) 0%,
    rgba(94, 59, 118, 0) 60%),

    /* 中心コア 左上 */
    radial-gradient(1200px 700px at -10% -10%,
    rgba(132,104,171,0.6) 0%,
    rgba(143,96,208,0.75) 35%,
    rgba(143,96,208,0) 65%),

    /* グロー 左上 */
    radial-gradient(220vmax 140vmax at -20% -20%,
    rgba(143,96,208,0.35) 0%, 
    rgba(143,96,208,0) 60%),

    /* 中心コア 右上 */
    radial-gradient(1200px 700px at 110% -10%,
    rgba(132,104,171,0.6) 0%,
    rgba(143,96,208,0.75) 35%,
    rgba(143,96,208,0) 65%),

    /* グロー 右上 */
    radial-gradient(220vmax 140vmax at 120% -20%,
    rgba(143,96,208,0.35) 0%,
    rgba(143,96,208,0) 60%);

  border-radius: 0;
  box-shadow: none;
}
#detail .original .inner,
#detail .original2 .inner {
    background-color: transparent;
    border-radius: 0;
    box-shadow: none;
	padding-bottom: 70px;
	max-width: 100%;
}
#detail .cosmebook,
#detail .award {
    margin: 40px auto 60px;
    text-align: center;
    border: 4px solid #ffc9e0;
    box-shadow: 0 0 40px rgba(255, 201, 224, 0.4);
	border-radius: 105px 105px 20px 20px;
}
#detail .award {
	border: 4px solid #dcc1f7;
	box-shadow: 0 0 40px rgba(220, 193, 247, 0.4);
}
#detail .brand {
	background-color: rgba(0, 0, 0, 0);
    padding: 50px 20px;
}
#detail .cosmebook h2,
#event .event1 h2,
#detail .award h2 {
    background-color: #ffc9e0;
    border-radius: 10px 10px 0 0;
    box-shadow: 0 0 40px rgba(255, 201, 224, 0.4);
    color: #983c8d;
	letter-spacing: -.05em;
    text-align: center;
    /* font-size: 36px; */
	white-space: nowrap;
	font-size: clamp(16px, 4vw, 36px);
    line-height: 1.3;
    margin-bottom: 40px;
}
#detail .award h2 {
	background-color: #dcc1f7;
	box-shadow: 0 0 40px rgba(220, 193, 247, 0.4);
}
#detail .cosmebook h2,
#detail .award h2 {
	border-radius: 95px 95px 0 0;
	padding: 5px 0 25px;
	line-height: 1.6;
}
#detail .award h2 {
	padding: 10px 0 15px;
}
#detail .cosmebook h2 > div,
#detail .award h2 > div {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	width: 80%;
    margin: 0 auto;
}
#detail .cosmebook h2 > div img,
#detail .award h2 > div img {
	flex: 1;
	max-width: 100%;
	height: auto;
	object-fit: contain;
}
#detail .award h2 > div img {
	width: 100%;
	max-width: 500px;
}
#event .event1 h2 {
	padding: 20px 0;
	background-color: #c9e2ff;
    border-radius: 105px 105px 0 0;
}
#event h3,
#detail .award h3 {
    border: 4px solid #c9e2ff;
	text-align: left;
	font-size: 28px!important;
	margin: 0 40px 20px;
	border-radius: 50px;
	color: #c9e2ff;
	padding: 5px 30px;
    box-shadow: 0 0 40px rgba(201, 226, 255, 0.4);
}
#detail .award h3 {
	text-align: center;
	border: 4px solid #dcc1f7;
	box-shadow: 0 0 40px rgba(220, 193, 247, 0.4);
	color: #dcc1f7;
	line-height: 1.1;
    padding: 10px 30px;
}
#detail .cosmebook h2 span.small,
#detail .award h2 span.small {
	white-space: nowrap;
    font-size: clamp(14px, 2.7vw, 24px);
}
#detail .award h2 > div > .hand {
	max-width: 32px;
}
#detail .original h2,
#detail .original2 h2 {
    color: #efea40;
    background-color: transparent;
    text-align: center;
    border: none;
    box-shadow: none;
    padding: 40px 30px 20px;
    line-height: 1.4;
    font-size: 36px;
}
#detail .original2 h2 img {
	max-width: 100%;
	margin: 0 auto;
}
#detail .original h2 {
	margin-bottom: 20px;
}
#detail .original h2 img {
	width: 100%;
    height: auto;
    max-width: 700px;
}
#detail .brand h2 {
    line-height: 1.2;
    text-align: center;
    padding: 15px 0;
    font-size: 32px;
}
#detail .cosmebook a,
#detail .award a {
    margin: 0 auto 30px;
    text-align: center;
    display: block;
	max-width: 460px;
}
#detail .award a {
	margin: 20px auto 50px;
}
#detail .cosmebook a img,
#detail .award a img {
	width: calc(100% - 20px);
	height: auto;
    border: solid 1px #ffc9e0;
	box-shadow: 0 0 40px rgba(255, 201, 224, 0.4);
	margin: 0 10px;
}
#detail .award a img {
	box-shadow: 0 0 40px rgba(220, 193, 247, 0.4);
}
#detail .cosmebook p,
#detail .award p {
    color: #ffc9e0;
    font-size: 22px;
    text-align: center;
    display: inline-block;
    margin: 0 auto;
}
#detail .award p {
	color: #dcc1f7;
}
#detail .cosmebook p.small,
#detail .award p.small {
    font-size: 12.8px;
    display: inline-block;
    line-height: 1.6;
    margin-top: 10px;
    margin-bottom: 30px;
}
#detail .cosmebook .sl_btn,
#detail .award .sl_btn,
#event .event1 .sl_btn {
    background-color: #ffc9e0;
    box-shadow: 0 0 40px rgba(239, 234, 64, 0.4);
    color: #983c8d;
    display: flex;
    flex-flow: nowrap;
    border-radius: 90px;
    max-width: 534px;
    height: 90px;
    font-weight: 700;
    justify-content: center;
    align-items: center;
    text-align: center;
    line-height: 140%;
    position: relative;
    transition: all 0.2s ease;
    text-decoration: none;
    margin: 0 auto;
}
#detail .cosmebook .sl_btn {
	box-shadow: 0 0 40px rgba(255, 201, 224, 0.4);
}
#detail .cosmebook .sl_btn,
#detail .award .sl_btn {
	margin: 20px auto 30px;
}
#detail .cosmebook .sl_btn img,
#detail .award .sl_btn img {
	width: 100%;
	max-width: 250px;
	height: auto;
}
#event .event1 .sl_btn {
	margin-top: 60px;
	background-color: #c9e2ff;
	box-shadow: 0 0 40px rgba(158, 242, 255, 0.4);
	max-width: 580px;
    height: 110px;
}
#event .event1 .sl_btn img {
	width: 100%;
	max-width: 370px;
	height: auto;
}
.overlay_btn {
	position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    background-color: rgba(0, 0, 0, 0.7);
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.4em;
    text-align: center;
    pointer-events: none;
    box-sizing: border-box;
    padding: 10px;
    border-radius: 90px;
    font-family: "wanpaku-ruika", sans-serif;
}
.overlay img {
	max-width: 360px!important;
	height: auto;
}
.brand-nav {
	display: none;
}
.brand-wrap {
    --fade: 0;
    position: relative;
    max-width: 1240px;
    margin: 0 auto;
    overflow: visible;
    width: calc(100% + 350px);
    -webkit-mask-image: linear-gradient(to right,
    transparent 0,
    #000 var(--fade),
    #000 calc(100% - var(--fade)),
    transparent 100%);
    mask-image: linear-gradient(to right,
    transparent 0,
    #000 var(--fade),
    #000 calc(100% - var(--fade)),
    transparent 100%);
}
.brand_box {
    display: flex;
    gap: 50px;
}
.brand_box > .card:only-child {
	margin-left: auto;
	margin-right: auto;
}
.brand_box::-webkit-scrollbar{
    display: none;
}
.card {
    flex: 0 0 calc(33% + 40px);
    scroll-snap-align: center;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 6px 18px rgba(0,0,0,.12);
	background-color: #fff2cc;
}
.card img {
    display: block;
    width: 100%;
    height: auto;
}
.card p {
    font-size: 16px;
	padding: 20px;
	color: #434343;
	text-align: center;
}
.card p .ttl {
    font-size: 22px;
	margin-bottom: 10px;
    display: inline-block;
	border-radius: 50px;
	background: linear-gradient(to right, #de6dc5, #c279df);
	color: #fff2cc;
	width: 100%;
	padding: 5px;
	text-align: center;
	box-sizing: border-box;
}
#detail .original .brand_box a,
#detail .original2 .brand_box a {
    display: block;
    max-width: 380px;
    height: 420px;
    /* box-shadow: 0 0 40px rgba(0, 0, 0, 0.3); */
    border: 4px solid #fff2cc;
    color: #ffe13c;
    box-shadow: 0 0 40px rgba(239, 234, 64, 0.4);
}
#detail .original .brand_box a img,
#detail .original2 .brand_box a img {
    width: 100%;
    height: auto;
}
.mv_txt {
	margin-bottom: 60px;
    max-width: 890px;
    margin: -40px auto 20px;
}
.mv_txt img {
    width: 100%;
    height: auto;
}
#detail .mv_txt2 {
	font-size: 22px;
    font-weight: 600;
    color: #ffe13c;
	margin: 0 0 40px 35px;
	padding-top: 0;
	text-align: left;
	line-height: 1.8;
	font-style: normal;
	letter-spacing: 0.05em;
}
#detail .mv_txt3 {
	font-size: 22px;
    font-weight: 600;
    color: #537eb0;
	margin: 0;
	padding-top: 0;
	text-align: center;
	line-height: 1.4;
	font-style: normal;
	letter-spacing: 0.05em;
}
.accordion-content,
.accordion-content2 {
	display: none;
	margin: 20px;
	line-height: 1.8;
}
#event h2,
#cosme h2 {
	margin-bottom: 20px;
}
#event .event1 a img {
    max-width: 460px;
    border: solid 1px #c9e2ff;
    margin-bottom: 30px;
	box-shadow: 0 0 40px rgba(201, 226, 255, 0.4);
}
#event .event1 p {
	color: #c9e2ff;
	text-align: left;
	margin-bottom: 60px;
	padding: 0 75px;
	font-size: 20px;
}
#event .event1 p.small {
    font-size: 12.8px;
    line-height: 1.6;
    margin-top: 10px;
    margin-bottom: 30px;
	text-indent: -1em;
	padding-left: calc(75px + 1em);
}

/*------------------------------------------------------
	ポップアップ
------------------------------------------------------*/
.cb_box {
    position: relative;
    height: 100%;
	padding-top: 30px;
}
.cb_box .close {
    position: absolute;
    right: 10px;
    top: 5px;
    z-index: 999;
}
.cb_box .close img {
    width: 20px;
    height: auto;
}
.cb_box .pop_img_box img {
    width: 100%;
    height: auto;
}
#cboxClose {
	display: none;
}
.cboxIframe {
    background-color: #000!important;
}
.cb_box button {
	border: none;
    background-color: #fff;
    position: absolute;
    right: 10px;
    top: 5px;
    z-index: 999;
}
.cb_box button img {
    width: 20px;
    height: auto;
}
    
/*------------------------------------------------------
	スライダー
------------------------------------------------------*/
.slider-container {
    position: relative;
    width: 100vw;
    padding: 20px 0;
	margin-left: calc(-50vw + 50%);
}
#stopButton {
    position: absolute;
    bottom: 15px;
    right: 0;
	background-image: url("../img/img_stop.png");
	background-size: cover;
    background-color: transparent;
    transform: translateX(-50%);
	width: 27px;
    height: 35px;
    padding: 10px 15px;
    font-size: 16px;
    border: none;
    cursor: pointer;
    z-index: 2;
}
#stopButton img {
	width: 100%;
	height: auto;
}

/*------------------------------------------------------
	ぷるんアニメーション
------------------------------------------------------*/
/* .purun {
    opacity: 0;
    transform: scale(0.6);
    transition: opacity 0.5s cubic-bezier(1,-0.69,0.2,2.03), 
                transform 0.5s cubic-bezier(1,-0.69,0.2,2.03);
}
.purun.in-view {
    opacity: 1;
    transform: scale(1);
} */

.purun {
  opacity: 0;
  transform: scale(0.9);
  transition:
    opacity 700ms cubic-bezier(.22,.61,.36,1),
    transform 700ms cubic-bezier(.22,.61,.36,1);
  will-change: opacity, transform;
}
.purun.in-view {
  opacity: 1;
  transform: scale(1);
}

/*------------------------------------------------------
	footer
------------------------------------------------------*/
.footerArea {
	display: flex;
    justify-content: center;
    align-items: center;
    background-color: #fff2cc;
    padding: 10px 0;
    margin: 0;
}
.footerArea p {
	color: #983c8d;
	font-size: clamp(14px, 2vw, 16px);
}

/*------------------------------------------------------
1560px以上
------------------------------------------------------*/
@media only screen and (min-width:1560px) {
}

/*------------------------------------------------------
1600px以上
------------------------------------------------------*/
@media only screen and (min-width:1600px) {
}

/*------------------------------------------------------
1840px以上
------------------------------------------------------*/
@media only screen and (min-width:1840px) {
}

/*------------------------------------------------------
1900px以上
------------------------------------------------------*/
@media only screen and (min-width:1900px) {
}

/*------------------------------------------------------
2240px以上
------------------------------------------------------*/
@media only screen and (min-width:2240px) {
}

/*------------------------------------------------------
1560px以下
------------------------------------------------------*/
@media only screen and (max-width:1560px) {
}

/*------------------------------------------------------
1400px以下
------------------------------------------------------*/
@media only screen and (max-width:1400px) {
}

/*------------------------------------------------------
1300px以下
------------------------------------------------------*/
@media only screen and (max-width:1300px) {
}

/*------------------------------------------------------
1200px以下
------------------------------------------------------*/
@media (max-width: 1200px) {
 	.wrapper {
		transform: none !important;
	}
	.original2 .brand-wrap {
		padding: 0;
	}
	.brand-wrap {
		width: 100%;
		overflow: hidden;
		-webkit-mask-image: none;
		mask-image: none;
	}
	.brand_box {
		gap: 40px;
		display: flex;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: 30px;
	}
	.brand_box::before,
	.brand_box::after {
		content: "";
		flex: 0 0 30px;
	}
	.brand_box a {
		box-shadow: none!important;
	}
	.card {
		flex: 0 0 clamp(260px, 80vw, 380px);
		scroll-snap-align: start;
	}
	.brand-wrap {
		position: relative;
		width: 100%;
		-webkit-mask-image: none;
		mask-image: none;
		overflow: hidden;
	}
	.brand_box {
		display: flex;
		gap: 24px;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x mandatory;
		padding: 0;
		scroll-padding-inline: 16px;
	}
	.brand_box::before,
	.brand_box::after {
		content: "";
		flex: 0 0 16px;
	}
    .brand_box a:hover {
        transform: scale(1);
    }
	.card {
		flex: 0 0 clamp(260px, 80vw, 380px);
		scroll-snap-align: start;
	}
	.brand-wrap::before,
	.brand-wrap::after {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		width: 48px;
		pointer-events: none;
		z-index: 2;
		display: none;
	}
	.brand-wrap.can-scroll::before,
	.brand-wrap.can-scroll::after {
		display: block;
	}
	.brand-nav {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		border: none;
		background: inherit;
		color: #fff;
		font-size: 110px;
		line-height: 40px;
		text-align: center;
		z-index: 3;
		cursor: pointer;
		display: none;
		text-shadow:
			0 0 8px rgba(190, 120, 255, 0.6),
			0 0 16px rgba(150, 80, 220, 0.4);
	}
	.brand-wrap.can-scroll .brand-nav { display: grid; place-items: center; }

	.brand-nav.prev { left: 6px; }
	.brand-nav.next { right: 6px; }

	/* 端に来たら無効化（JSで .is-disabled を付与） */
	.brand-nav.is-disabled {
		opacity: .35;
		pointer-events: none;
	}
}

/*------------------------------------------------------
1150px以下
------------------------------------------------------*/
@media only screen and (max-width:1150px) {
}

/*------------------------------------------------------
1100px以下
------------------------------------------------------*/
@media only screen and (max-width:1100px) {
}

/*------------------------------------------------------
1000px以下
------------------------------------------------------*/
@media only screen and (max-width:1000px) {
}

/*------------------------------------------------------
979px以下
------------------------------------------------------*/
@media only screen and (max-width:979px) {
	.l_mainArea {
		padding: 55px 0 0 0!important;
	}
	#MV .img_mv img {
		margin: 0;
	}
	.sb-site, .sb-site-container {
		background-color: inherit!important;
	}
	#detail .original h2 img {
		max-width: 630px;
	}
}

/*------------------------------------------------------
900px以下
------------------------------------------------------*/
@media only screen and (max-width:900px) {
	#MV .img_mv img {
		max-width: 700px;
		margin: 0 auto;
	}
	#MV .logo-glow {
		left: 50%;
		-webkit-transform: translate(-50%, 0);
		transform: translate(-50%, 0);
	}
	#detail .cosmebook,
	#detail .award {
		margin: 40px 20px 60px;
	}
	#event .inner {
    	margin: 60px 20px 100px;
	}
	#event .event1 h2 img {
		max-width: 430px;
	}
	.pc {
		display: none;
	}
	.sp {
		display: block;
	}
	#detail .original2 h2 {
		padding: 10px 30px;
	}
	#detail .original h2 img {
		max-width: 550px;
	}
	#detail .original2 h2 img {
		max-width: 570px;
	}
}

/*------------------------------------------------------
850px以下
------------------------------------------------------*/
@media only screen and (max-width:850px) {
	h2 {
		font-size: 27px;
	}
}

/*------------------------------------------------------
800px以下
------------------------------------------------------*/
@media only screen and (max-width:800px) {
	#event .event1 {
		margin-bottom: 40px;
	}
	.footerArea {
		padding: 20px;
	}
	#detail .cosmebook p,
	#detail .award p {
		font-size: clamp(16px, 2.65vw, 22px);
	}
}
/*------------------------------------------------------
780px以下
------------------------------------------------------*/
@media only screen and (max-width:780px) {
	#detail .cosmebook h2 > div,
	#detail .award h2 > div {
		width: 75%;
	}
	#detail .inner {
		padding: 0 0 20px;
	}
	#event .inner {
        margin: 50px 20px 100px;
    }
    #detail .original .inner {
        padding-bottom: 40px;
    }
}

/*------------------------------------------------------
736px以下
------------------------------------------------------*/
@media only screen and (max-width:736px) {
}

/*------------------------------------------------------
700px以下
------------------------------------------------------*/
@media only screen and (max-width:700px) {
	#detail p {
        font-size: 16px;
        line-height: 1.5;
		margin-bottom: 30px;
    }
    #detail .cosmebook,
	#detail .award {
        margin: 20px 20px 60px;
    }
    #detail .cosmebook p {
        font-size: 21px;
		margin: 0;
    }
	#detail .award p {
        font-size: 18px;
		margin: 0 20px;
		line-height: 1.5;
    }
    #detail .original h2 img {
        max-width: 510px;
    }
    #event .event1 h2 img {
        max-width: 400px;
    }
	#event .event1 p {
		padding: 0 3em 0 75px;
		font-size: 18px;
	}
    #event .inner {
		padding: 0 0 80px;
        margin: 50px 20px 70px;
    }
    #detail .original .inner {
        padding-bottom: 30px;
    }
	#detail .award p {
		font-size: 16px;
	}
	.pc700 {
		display: none;
	}
}

/*------------------------------------------------------
630px以下
------------------------------------------------------*/
@media only screen and (max-width:630px) {
}

/*------------------------------------------------------
600px以下
------------------------------------------------------*/
@media only screen and (max-width:600px) {
	#MV .img_copy {
		max-width: 460px;
		margin: 0 auto;
	}
    #detail .inner {
        max-width: 100%;
    }
	#event .inner {
		margin: 0 20px;
	}
    #detail p {
        font-size: 17px;
		margin-bottom: 20px;
    }
	.mv_txt p {
    	line-height: 1.4;
	}
	.mv_txt p {
    	font-size: 22px;
	}
	#detail .original2 h2 {
		padding: 0;
	}
	#detail .original2 h2 img {
		max-width: 100%;
	}
	#detail .cosmebook h2 {
		padding: 15px 0 25px;
	}
	#detail .award h2 {
		padding: 20px 0;
	}
	#detail .cosmebook h2 span.small,
	#detail .award h2 span.small {
		font-size: 21px;
	}
    #detail .cosmebook h2 > div,
	#detail .award h2 > div {
        width: 85%;
    }
	#detail .cosmebook h2 > div > .hand,
	#detail .award h2 > div > .hand {
        display: none;
    }
	#detail .cosmebook .sl_btn,
	#detail .award .sl_btn {
		margin: 20px 30px 30px;
	}
	#detail .cosmebook .sl_btn img,
	#detail .award .sl_btn img {
		max-width: 220px;
	}
    #detail p {
        font-size: 16px;
    }
    #event .inner {
        margin: 50px 20px 55px;
		padding: 0 0 65px;
    }
	#event .event1 .sl_btn {
		margin: 0 20px;
	}
    .card p {
        font-size: 15px!important;
    }
	#detail .award h3 {
		font-size: 24px!important;
	}
}

/*------------------------------------------------------
550px以下
------------------------------------------------------*/
@media only screen and (max-width:550px) {
	#MV .img_mv img {
        margin: 30px auto 20px;
	}
	.mv_txt {
		margin: -40px auto 10px;
	}
    #detail .cosmebook,
	#detail .award {
        margin: 10px 20px 60px;
    }
	#detail .cosmebook h2 > div,
	#detail .award h2 > div {
        width: 90%;
    }
	#event .event1 a img {
    	max-width: 100%;
	}
	#event h3 {
		margin: 0 20px 20px;
	}
	#event .event1 {
		border: 4px solid #c9e2ff;
		box-shadow: 0 0 40px rgba(255, 201, 224, 0.4);
	}
	#event .event1 h2 {
		background-color: #c9e2ff;
		border-radius: 95px 95px 0 0;
		margin-bottom: 10px;
	}
	#event .event1 h2 img {
        max-width: 350px;
    }
	#event .inner {
        margin: 40px 20px 55px;
	}
	#event .event1 a img {
        max-width: calc(100% - 20px);
        margin: 0 10px;
	}
	#event .event1 a img {
        margin: 0 10px 40px;
	}
	#event .event1 p {
        padding: 0 2em 0 55px;
	}
	#event .event1 .sl_btn img {
		max-width: 330px;
	}
	#event .event1 p.small {
    	padding-left: calc(40px + 1em);
	}
    #detail .award p {
        margin: 0 10px;
	}
	#detail .award h2 {
		padding: 20px;
	}
}

/*------------------------------------------------------
480px以下
------------------------------------------------------*/
@media only screen and (max-width:480px) {
    #detail .inner {
        max-width: 420px;
    }
    h2 {
        font-size: 25px;
    }
	.pc480 {
		display: none;
	}
	.sp480 {
		display: block;
	}
    #MV .img_copy {
        max-width: 390px;
    }
    #MV .img_mv img {
        margin: 30px auto 10px;
    }
	.mv_txt p {
        font-size: 17px;
    }
	.mv_txt {
		padding-top: 0;
		margin-bottom: 15px;
	}
	#detail h2,
	#event h2 {
		font-size: 18px;
	}
	#detail .mv_txt2 {
		margin: 0 40px 40px;
		font-size: 18px;
	}
    #detail .cosmebook h2 {
        padding: 20px 0;
		margin-bottom: 10px;
    }
	#detail .award h2 {
        padding: 20px;
		margin-bottom: 10px;
    }
	#detail .cosmebook p,
	#detail .award p {
        margin: 0 15px;
	}
	#detail .cosmebook .sl_btn,
	#detail .award .sl_btn {
        margin: 0px 30px 25px;
    }
	#detail .original,
	#detail .original2 {
		max-width: 100%;
	}
	#detail .original .brand_box a,
	#detail .original2 .brand_box a {
		max-width: 300px;
		height: 360px;
	}
	#detail .original h2 {
		margin-bottom: 5px;
		padding: 30px 30px 20px;
	}
	.card p {
		padding: 15px;
	}
	.card p .ttl {
    	font-size: 18px;
	}
	#detail p {
        font-size: 14px;
    }
    #event .event1 h2 img {
        max-width: 310px;
    }
	#event h3 {
		font-size: 22px !important;
	}
	#event .event1 p {
		margin-bottom: 40px;
	}
	#event .event1 .sl_btn img {
        max-width: 300px;
    }
	#event .event1 p {
        padding: 0 3em 0 75px;
        font-size: 16px;
	}
    #detail .cosmebook .sl_btn img,
	#detail .award .sl_btn img {
        max-width: 200px;
    }
	#detail .cosmebook,
	#detail .award {
        margin: 10px 20px 40px;
    }
	#detail .original h2 {
        padding: 20px 30px 20px;
    }
    #detail p {
        font-size: 15px;
    }
    #detail .original2 {
        margin-top: -1px;
    }
	#event .event1 p {
        padding: 0 2em 0 75px;
        font-size: 15px;
    }
	#event .inner {
        margin: 40px 20px 40px;
		padding: 0 0 40px;
    }
	.footerArea p {
		font-size: 13px;
	}
	#detail .original2 .inner {
		padding-bottom: 40px;
	}
	#detail .award h3 {
		padding: 10px 5px;
		margin: 0 15px 20px;
	}
	#detail .award a {
		margin: 10px auto 50px;
	}
}

/*------------------------------------------------------
440px以下
------------------------------------------------------*/
@media only screen and (max-width:440px) {
	#detail p {
        font-size: 16px;
    }
	#detail .cosmebook h2 span.small,
	#detail .award h2 span.small {
        font-size: 17px;
    }
	#detail .cosmebook p {
        font-size: 19px;
	}
	#detail .award p {
        font-size: 16px;
	}
	#detail .cosmebook p.small,
	#detail .award p.small {
    	font-size: 11.8px;
	}
	#event .event1 p {
        padding: 0 3em 0 55px;
	}
	#event .event1 .sl_btn img {
        max-width: 250px;
    }
    #event .event1 h2 img {
        max-width: 250px;
    }
}

/*------------------------------------------------------
400px以下
------------------------------------------------------*/
@media only screen and (max-width:400px) {
    .detailArea {
        padding: 0;
    }
	h2 {
        font-size: 22px;
    }
}
















