
.index_main
	{
	background: #000;
	}

.index_main_sl .slick-dots
	{
	width: 96%;
	margin: 0 2%;
	bottom: 10px;
	display: flex;
	flex-wrap: wrap;
	justify-content: end;
	}

.index_main_sl .slick-dotted.slick-slider
	{
	margin-bottom: 0;
	}

.index_news
	{
	margin: -10rem auto 0 auto;
	padding: 0rem 0 3rem 0;
	text-align: center;
	}

.index_news ul
	{
	width: 1200px;
	max-width: 96%;
	margin: 0 auto 0 auto;
	text-align: center;
	}

.index_news ul li a
	{
	padding: 0.5rem 1.5rem;
	color: #fff;
	display: flex;
	align-items: center;
	position: relative;
	}

.index_news ul li a span
	{
	font-weight: 600;
	font-size: clamp(12px, 20px + 0.5vw, 1.25rem);
	}

.index_news ul li a p
	{
	margin-left: 1rem;
	text-decoration: underline;
	font-size: 1em;
	}

.index_news ul li a:hover
	{
	text-decoration: none;
	}

.index_news ul li a:hover p
	{
	text-decoration: underline;
	}

.index_concept
	{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	}

.index_concept li
	{
	width: 50%;
	color: #fff;
	position: relative;
	}

.index_concept li:first-child
	{
	text-align: center;
	}

.index_concept li:first-child p
	{
	width: 100%;
	display: block;
	position: absolute;
	top: 20%;
	left: 0%;
	}

.index_concept li:first-child p span
	{
	display: inline-block;
	margin: 0 auto;
	text-align: top;
	font-size: 4em;
	writing-mode: vertical-rl;
	text-align:left;
	font-weight: 600;
	}


.char
	{
	opacity: 0;
	transform: translateY(10px);
	transition: opacity 0.5s ease, transform 0.5s ease;
	}

.char.is-visible
	{
	opacity: 1;
	transform: translateY(0);
	}

.index_concept li:first-child p+img
	{
	position: absolute;
	top: 10%;
	left: 0;
	}

.animation {
  animation: fade-in 3s;
  animation-fill-mode: forwards;
}
@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.index_concept li:last-child
	{
	position: relative;
	display: flex;
	}

.index_concept li:last-child div
	{
	width: 80%;
	position: absolute;
	top: 30%;
	left: 10%;
	padding: 5%;
	}

.index_concept li:last-child div h1
	{
	font-size: 5rem;
	font-weight: 600;
	}

.index_concept li:last-child div p
	{
	margin: 5rem 0 20rem 0;
	font-size: 1.3em;
	line-height: 1.8;
	}

.index_concept li:last-child div a

{
    position: relative;
    text-decoration: none;
    display: inline-block;
    color: inherit;
color: #fff;
font-size: 1.3em;
padding: 0 2rem 0 0;
background: url(../images/index/about_icon.png) no-repeat right center;

}

.index_concept li:last-child div a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 1px;
    background-color: currentColor;
    transition: width 0.3s ease;
color: #fff;
}

.index_concept li:last-child div a:hover::after {
    width: 100%;
color: #fff;
}
.index_concept+div
	{
	position: relative;
	margin-top: -1rem;
	}

.index_concept+div p
	{
	width: 100%;
	color: #fff;
	font-size: 2.5em;
	font-weight: 600;
	text-align: center;
	position: absolute;
	top: 35%;
	left: 0;
	}




.index_lineup
	{
	margin: 0;
	padding-bottom: 15rem;
	text-align: center;
	background: url(../images/index/lineup_back.jpg) no-repeat right bottom;	}

.index_lineup h3
	{
	position: relative;
	margin-top: -6rem;
	}



.index_lineup .lineup_nav
	{
	width: 800px;
	margin: 8rem auto 0 auto;
	max-width: 90%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	border-bottom: 2px solid #eeeeee;
	border-top: 2px solid #eeeeee;
	}

.index_lineup .lineup_nav li
	{
	width: 33.3%;
	padding-bottom: 0.5rem;
	color: #fff;
	text-align: center;
	font-size: 1.5em;
	cursor: pointer;
	}

.index_lineup .lineup_nav li.active
	{
	background: #eeeeee;
	color: #000;
	}

.index_lineup .content-container
	{
	margin: 3rem 0 0 0;
	}

.index_lineup .sl_div
	{
	display: none;
	}



.sl_div
{
width: 1000px;
margin: 0 auto;
height: 750px;
position: relative;
padding: 5rem 0 0 0;
}

.sl_div.show
{
display: block;
}

.shuffleslider{

  position:relative;
  width:100%;
  height:100%;
  list-style:none;
  padding:0;
   -webkit-user-select: none;
  user-select: none;
  cursor: pointer;
}

.shuffleslider li{
  position:absolute;
  top:0;
  left:50%;
  width:28%;
  transform:translateX(-50%) scale(.6);
  opacity:0;
  transition:
    transform .7s cubic-bezier(.22,1,.36,1),
    opacity .7s ease;
text-align: center;
}

/* ===== 中央 ===== */
.shuffleslider li.is-active{
width: 760px;
  transform:translateX(-50%) scale(1);
  opacity:1;
  z-index:5;
}


.shuffleslider li section p
{
display: none;
}

.shuffleslider li section+img
{
display: none;
}


.shuffleslider li.is-active section
	{
	width: 100%;
	display: flex !important;
	align-items: stretch;
	justify-content: space-between;
	}

.shuffleslider li.is-active section+img
	{
	width: 60%;
	margin: 2rem auto 0 auto;
	display: block;
	}


.shuffleslider li.is-active section img
	{
	width: 43%;
	margin-top: 0;
	}

.shuffleslider li.is-active section p
	{
	width: 50%;
	margin: 2rem 0;
	color: #fff;
	display: block;
	padding: 3rem;
	font-size: 1.2em;
	background: #434343;
	text-align: left;
	}

.shuffleslider li.is-active section p span
	{
	display: block;
	width: 100%;
	font-size: 1.1em;
	margin: 2rem 0 4rem 0;
	}

.shuffleslider li.is-active section p strong
	{
	width: 100%;
	color: #f24f00;
	display: block;
	}

.shuffleslider li.is-active section p a
	{
	padding-right: 2rem;
	font-style: normal;
	text-decoration: underline;
	background: url(../images/index/about_icon.png) no-repeat right center;
	background-size: 14px;
	}



/* ===== 左右 ===== */
.shuffleslider li.is-prev1{
  transform:translateX(-90%) scale(.85);
  opacity:.7;
  z-index:4;
}

.shuffleslider li.is-next1{
	transform: translateX(-10%) scale(.85);
  opacity: .7;
  z-index:4;
top: 10%;
}

/* ===== 奥 ===== */
.shuffleslider li.is-prev2{
  transform: translateX(90%) scale(.55);
  top: 0%;
  opacity: .6;
  z-index: 3;
  width: 40%;
}

.shuffleslider li.is-next2{
top: 0%;

transform: translateX(-190%) scale(.55);
  opacity: .6;
  z-index: 3;
  width: 40%;
}



.sl_div .slider-prev
	{
	content: "";
	width: 60px;
	height: 60px;
	display: block;
	background: url(../images/index/sl_left.png) no-repeat;
	background-size: 100%;
	display: block;
	position: absolute;
	top: 30%;
	left: -1%;
	z-index: 999;
	}

.sl_div .slider-next
	{
	content: "";
	width: 60px;
	height: 60px;
	display: block;
	background: url(../images/index/sl_right.png) no-repeat;
	background-size: 100%;
	display: block;
	position: absolute;
	top: 30%;
	right: -1%;
	z-index: 999;
	}


.index_styling
	{
	position: relative;
	}

.index_styling h4
	{
	width: 100%;
	text-align: center;
	position: absolute;
	top: -7rem;
	left: 0;
	}

.index_styling .col2
	{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	}

.index_styling .col2 li
	{
	width: 50%;
opacity: 0;
    transition: opacity 1.2s ease; /* 1.2秒かけてゆっくり表示（秒数はお好みで） */
	}

.col2 li.is-visible {
    opacity: 1;
}


.index_styling .gallery
	{
	width: 1200px;
	max-width: 90%;
	margin: 0 auto 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	}

.index_styling .gallery li
	{
	width: 49%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	}

.index_styling .gallery li img
	{
	margin-top: 1.5rem;
	}

.index_styling .gallery li:first-child img:first-child ,.index_styling .gallery li:last-child img:last-child
	{
	width: 100%;
	}

.index_styling .gallery li:first-child img:nth-child(n+2)
	{
	width: 49%;
	}

.index_styling .gallery li:last-child img:nth-child(-n+2)
	{
	width: 49%;
	}

.index_styling .gallery+p
	{
	width: 1200px;
	max-width: 90%;
	margin: 2rem auto 0 auto;
	text-align: right;
	}

.index_styling .gallery+p a
	{
	color: #fff;
	padding-right: 2rem;
	text-decoration: underline;
	background: url(../images/index/about_icon.png) no-repeat right 50%;
	background-size: 14px;
position: relative;
text-decoration: none;
display: inline-block;
padding-bottom: 3px;
color: inherit;
	}

.index_styling .gallery+p a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 1px;           /* 下線の太さ */
    background-color: currentColor; /* テキストと同じ色で線を引く */
    transition: width 0.3s ease;    /* 0.3秒かけて伸びる */
}

/* ホバー時に幅を100%にする */
.index_styling .gallery+p a:hover::after {
    width: 100%;
}


.index_styling div
	{
	width: 1200px;
	max-width: 100%;
	margin: 0 auto;
	padding-top: 5rem;
	}



@media screen and (min-width:1201px) and ( max-width:1290px) {
.index_concept li:first-child p span
	{
	font-size: 2.5em;
	}

.index_concept li:last-child div
	{
	top: 26%;
	}

.index_concept li:last-child div h1
	{
	font-size: 2.5em;
	}

.index_concept li:last-child div p
	{
	font-size: 0.9em;
	margin: 5rem 0 10rem 0;
	line-height: 2.4 !important;
	}

.index_concept li:last-child div a
	{
	font-size: 1em;
	}

.index_concept+div p
	{
	font-size: 1.7em;
	line-height: 2.0 !important;
	}



.index_concept li:first-child p+img
	{
	width: 16%;
	}


.index_lineup h3 img
	{
	width: 100%;
	}

.index_lineup .lineup_nav
	{
	width: 550px;
	}

.index_styling h4 img
	{
	width: 100%;
	}

.index_styling .gallery ,.index_styling .gallery + p ,.index_styling div
	{
	width: 800px;
	}


.index_lineup .slick-prev ,.c_image_wrap .slick-prev
	{
	width: 50px;
	height: 50px;
	top: 50%;
	left: 20%;
	z-index: 999;
	background-size: 100%;
	}

.index_lineup .slick-next ,.c_image_wrap .slick-next
	{
	width: 50px;
	height: 50px;
	top: 50%;
	right: 20%;
	z-index: 999;
	background-size: 100%;
	}


.shuffleslider li.is-active
{
width: 500px;
}

.shuffleslider li.is-active section
{
align-items: center;
}

.shuffleslider li.is-active section p
{
padding: 2rem;
}
.shuffleslider li.is-active section p span
{
font-size: 0.8em;
}

.shuffleslider li.is-active section p a
{
font-size: 0.8em;
}

/* ===== 左右 ===== */
.shuffleslider li.is-prev1{
  transform:translateX(-90%) scale(.85);
  opacity:.7;
  z-index:4;
}

.shuffleslider li.is-next1{
	transform: translateX(-10%) scale(.85);
  opacity: .7;
  z-index:4;
top: 10%;
}

/* ===== 奥 ===== */
.shuffleslider li.is-prev2{
    transform: translateX(50%) scale(.55);
    top: -5%;

  opacity: .6;
  z-index: 3;
  width: 40%;
}

.shuffleslider li.is-next2{
transform: translateX(-150%) scale(.55);
top: -5%;

  opacity: .6;
  z-index: 3;
  width: 40%;
}


.sl_div .slider-prev
{
left: 15%;
}

.sl_div .slider-next
{
right: 15%;
}

.sl_div
{
height: 500px;
}

}


@media screen and (max-width:1200px) {
.index_news
	{
	margin: 1.5rem auto 0 auto;
	padding: 0rem 0 5rem 0;
	text-align: center;
	}

.index_concept li
	{
	width: 100%;
	}

.index_concept li img
	{
	vertical-align: bottom;
	}

.index_concept li:first-child p
	{
	top: 10%;
	}

.index_concept li:first-child p span
	{
	font-size: 3em;
	}

.index_concept li:first-child p+img
	{
	width: 20%;
	top: 80%;
	left: 80% !important;
	z-index: 999999;
	}

.index_concept li:last-child
	{
	position: relative;
	display: flex;
	}

.index_concept li:last-child div
	{
	width: 90%;
	top: 10%;
	left: 5%;
	}

.index_concept li:last-child div h1
	{
	font-size: 3.5rem;
	}

.index_concept li:last-child div p
	{
	margin: 7rem 0 9rem 0;
	font-size: 1.1em;
	}

.index_concept li:last-child div a
	{
	font-size: 1.1em;
	border-bottom: 1px solid #fff;
	}

.index_concept+div p
	{
	font-size: 2em;
	top: 30%;
	left: 0;
	}

.index_lineup
	{
	background-size: 50%;
	}


.index_lineup h3
	{
	position: relative;
	margin-top: -4rem;
	text-align: left;
	}

.index_lineup h3 img
	{
	width: 50%;
	}

.sl_div
{
width: 100%;
height: 400px;
}

.shuffleslider
{
overflow: hidden;
height: 190%;
}
.shuffleslider li.is-active
{
width: 60%;
}

.shuffleslider li.is-active section + img
{
width: 100%;
}
.shuffleslider li.is-active section img
	{
	width: 100%;
	}

.shuffleslider li.is-active section p
{
display: none !important;
}

.sl_div .slider-prev ,.sl_div .slider-next
{
display: none;
}


/* ===== 左右 ===== */
.shuffleslider li.is-prev1{
  transform:translateX(-90%) scale(.85);
  opacity:.7;
  z-index:4;
}

.shuffleslider li.is-next1{
	transform: translateX(-10%) scale(.85);
  opacity: .7;
  z-index:4;
top: 10%;
}



/* ===== 左右 ===== */
.shuffleslider li.is-prev1{
  transform:translateX(-90%) scale(.85);
  opacity:.7;
  z-index:4;
}

.shuffleslider li.is-next1{
	transform: translateX(-10%) scale(.85);
  opacity: .7;
  z-index:4;
top: 10%;
}

/* ===== 奥 ===== */
.shuffleslider li.is-prev2{
  transform: translateX(10%) scale(.55);
  top: -20%;
  opacity: .6;
  z-index: 3;
  width: 80%;
}

.shuffleslider li.is-next2{
top: -20%;
transform: translateX(-110%) scale(.55);

  opacity: .6;
  z-index: 3;
  width: 80%;
}




.index_styling h4
	{
	width: 100%;
	text-align: right;
	top: -4.5rem;
	}

.index_styling h4 img
	{
	width: 50%;
	}


.index_lineup .slick-slide.slick-current section img
	{
	width: 100%;
	margin-top: 0;
	}

.index_lineup .slick-slide.slick-current section p
	{
	display: none;
	}

.index_styling .gallery
	{
	align-items: start;
	}
/*

.index_styling .gallery li
	{
	width: 45%;
	}

.index_styling .gallery li:first-child img:nth-child(n+2)
	{
	display: none;
	}

.index_styling .gallery li:last-child img:nth-child(-n+2)
	{
	display: none;
	}

.index_styling .gallery li:last-child
	{
	margin-top: 3rem;
	}
*/

.index_styling .gallery+p
	{
	text-align: center;
	}

.index_styling .gallery+p a
	{
	color: #fff;
	padding-right: 2rem;
	text-decoration: underline;
	background: url(../images/index/about_icon.png) no-repeat right 50%;
	background-size: 14px;
	}
}


/* ギャラリー画像の初期状態（スクロール前は隠す） */
.gallery img {
    opacity: 0;
}

/* 下からフェードアップの設定 */
.fade-up-text {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 1.2s ease, transform 1.2s ease;
}
.fade-up-text.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* 縦書きテキスト用（既存） */
.char {
    display: inline-block;
    opacity: 0;
    transform: translateY(10px);
    transition: all 0.5s ease;
}
.char.is-visible {
    opacity: 1;
    transform: translateY(0);
}




/* ==========================================
   1. キラッと光るエフェクト（修正版）
   ========================================== */
.shine-effect {
    position: relative;
    display: inline-block;
    line-height: 0;
    overflow: hidden;
}

.shine-effect img {
    display: block;
    width: 100%;
    height: auto;
    position: relative;
    /* ★修正：光よりも下の階層にする */
    z-index: 1; 
}

.shine-effect::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* ★修正：画像(z-index: 1)よりも上の階層にする */
    z-index: 2; 
    background-image: linear-gradient(
        110deg, 
        rgba(255, 255, 255, 0) 30%, 
        rgba(255, 255, 255, 0.6) 50%, 
        rgba(255, 255, 255, 0) 70%
    );
    background-size: 200% 100%;
    background-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    animation: shine-left-to-right 3s linear infinite;
    pointer-events: none;
}

/* --- 型抜き指定は変更なし --- */
.index_lineup .shine-effect::after {
    -webkit-mask-image: url("https://theteam.itembox.design/item/ec/images/index/lineup01.png");
    mask-image: url("https://theteam.itembox.design/item/ec/images/index/lineup01.png");
    -webkit-mask-position: left center;
}

.index_styling .shine-effect::after {
    -webkit-mask-image: url("https://theteam.itembox.design/item/ec/images/index/styling01.png");
    mask-image: url("https://theteam.itembox.design/item/ec/images/index/styling01.png");
    -webkit-mask-position: right center;
}

@keyframes shine-left-to-right {
    0% { background-position: 250% 0; }
    20% { background-position: -250% 0; }
    100% { background-position: -250% 0; }
}

/* ==========================================
   2. レイアウト配置（1200px以下：修正版）
   ========================================== */
@media screen and (max-width: 1200px) {
    .index_lineup h3 {
        text-align: left !important;
    }
    .index_lineup h3 img {
        width: 60%;
    }

    .index_styling h4 {
        text-align: right !important;
    }
    .index_styling h4 img {
        width: 60%;
        /* ★修正：floatではなくmargin-left: autoで右に寄せる */
        float: none; 
        margin-left: auto;
    }
    .index_styling .shine-effect {
        display: block !important;
    }
}