
.lk-list-sp{
	display: none;
}

.lk-list-pc{
	    width: fit-content;
    margin: 0 auto;
}


.lk-list-wrap{
	padding-bottom:  20%;
}

@media screen and (max-width: 767px) {
	
.lk-list-wrap{
	width: 100%;
	margin: 0 auto;
	background: #fffcf7;
	padding-bottom:  50%;
}
	.lk-list-pc{
		display: none;
	}

.lk-list-sp{
	display: block;
}	
}


button{
	color: #333;
}

sup {
    vertical-align: revert;
    font-size: 0.7rem;
}

.pagetop{
	display: none;
}

.lk-item-box{
	    display: flex;
    flex-direction: column;

}

.lk-list-price{
	font-size: 1.5rem;
}

.lk-list-price span{
	font-size: 1.2rem;
}



.lk-icon{
	height: 22vw;
}

.lk-check-arrow{
    width: 50%;
    margin: 10% auto;
}




.list-title span{
	display: block;
    font-size: 1.5rem;
    margin-bottom: 10px;
    line-height: 0.5;
}

.modal-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.5); /* 半透明グレー背景 */
  justify-content: center;
  align-items: center;
  z-index: 999;
}

.modal-content {
  background: #fff;
  padding: 20px;
  max-width: 400px;
    width: 90%;
    position: absolute;
    top: 55%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
}

/* JavaScriptによって .active クラスが付与されたら表示する */
.modal-overlay.active {
    display: flex;
}

/* モーダルが開いている間、背景のページがスクロールしないようにする */
body.modal-open {
    overflow: hidden;
}

.close-btn {
  position: absolute;
  top: 10px;
  right: 15px;
  cursor: pointer;
  font-size: 24px;
}

.lk-list-name{
    line-height: 1.2;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    text-align: center;
    font-size: 3.5vw;
    margin-bottom: 2%;
}

.lk-list-name span{
	display: block;
    font-size: 1.3rem;
}

.lk-list-name.-modal{
	display: block;
	height: auto;
	font-size: 2rem;
    font-family: "cochin-lt-pro", sans-serif;
}

.lk-list-label.-modal{
	    margin: 3% 1%;
	    padding: 1% 3%;
}

.modal-content p{
	text-align: center;
    margin-bottom: 3%;
}

.modal-icon{
	text-align: center;
	margin-bottom: 3%;
}

.modal-content img{
	margin: 0 auto;
	width: 70%;
}

.buy-btn img{
	width: 10%;
}

.cart-btn{
	display: flex;
    padding: 3% 24% 4%;
    color: #fff;
    font-size: 1.3rem;
    justify-content: center;
    width: 90%;
    margin: 0 auto 6%;
	align-items: center;
}

.cart-btn.-red{
 background: #750205;	
}
.cart-btn.-black{
 background: #333;	
}

.cart-btn.-gold{
 background: #9e925f;	
}

.cart-btn p{
	margin: 0;

}

.cart-btn img{
	width: 17%;
}

.list-item-wrap ul{
	display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 0 10px;
    justify-content: space-between;
}

.lk-list-modal-btn{
	    background: transparent;
}

.lk-list-category{
	    width: fit-content;
    margin: 4% auto;
    color: #333;
    border: 1px solid #333;
    padding: 1% 2%;
}


.list-item-wrap.-skin .lk-list-category,.lk-list-category.-modal.-skin{
	border: 1px solid #8e4247;
	color: #8e4247;

}
.lk-list-category.-modal{
	    margin: 0;
		position: absolute;
}

.modal-drug{
	    text-align: center;
    padding-bottom: 3%;
	    font-size: 1.4rem;
}

.modal-drug span{
	    border: 1px solid;
    padding: 1%;
    margin-right: 2%;
}


.modal-attention{
	margin-bottom: 0;
    text-align: right!important;
	font-size: 1rem;
}


.lk-list-label{
    background: #f2dada;
    border-radius: 50px;
    padding: 0% 12%;
    white-space: nowrap;
    line-height: 2;
    margin: 3% auto;
    width: fit-content;
}

.close-btn{
    position: absolute;
    top: 1%;
    left: 88%;
    cursor: pointer;
    font-size: 4rem;
    transform: translate(-50%);
    color: #333;
	z-index: 1000;
}

.list-sub-title{
	margin-left: 4%;
}

.lk-arrow{
	width: 3%;
}

@media screen and (max-width: 767px) {
.lk-arrow.-pc{
	display: none;
}
	.cart-btn p{
		    margin-right: 5%;
	}
}

.lk-item-contents-wrap{
	width: 45%;
    margin: 6% 0;
}


	.list-title{
		    text-align: center;
       font-size: 2.5rem;
		padding: 2% 0;
		margin: 10% 4% 6%;
		border-top: 1px solid #333;
		border-bottom: 1px solid #333;
		font-family: "cochin-lt-pro", sans-serif;
	}

.list-title.-skin{
	border-top: none;
	 border-bottom: 1px solid #750205;
	color: #750205;
}
.list-title.-uv{
	color: #750205;
	border-bottom: 1px solid #750205;
	border-top: 1px solid #750205;
}

	.list-title span{
	margin-bottom: 10px;
    line-height: 0.5;
    margin-top: 1%;
	}

.lk-make-wrap.-make > ul > .lk-item-contents-wrap > .lk-item-box > .lk-list-category{
	background: #333;
}


@media screen and (min-width: 768px) {
	
	main{
	background: #fffcf7;		
	}
.lk-list-wrap{
	width: 1070px;
	margin: 0 auto;
}
	.lk-item-contents-wrap{
		width: 23%;
	}
	
	.lk-list-name{
		    font-size: 1.7rem;
	}
	
	.list-item-wrap ul{
		justify-content: flex-start;
	}
	
	.lk-arrow{
		width: 1%;
	}
	.lk-list-label{
		font-size: 1rem;
		padding: 0% 5%;
	}
	.lk-check-arrow{
		width: 33%;
	}


}
	.slider-container.grabbing {
    cursor: grabbing; /* 掴んでいる手のカーソル */
    user-select: none; /* テキスト選択を防ぐ */
}


/* 基本スタイル */
.skincare-step-section {
    width: 100%;
    margin: 15% auto;
    background: #f2dada;
	padding: 0 5%
}
.skincare-step-section h2 {
    text-align: left;
    font-weight: normal;
	border-bottom: none;
	border-top:none;
	 color: #750205;
	font-family: "cochin-lt-pro", sans-serif;
	margin: 0 0 6% 0;
}
.skincare-step-section h2 span {
    display: block;
        font-size: 1.2rem;
    color: #750205;
}


/* --- ステップインジケーター全体 --- */
.step-indicator {
    display: flex;
    justify-content: space-between;
    list-style: none;
    padding: 0;
    position: relative;
}

/* 背景のグレーの線 */
.step-indicator::before {
    content: '';
    position: absolute;
    top: 10px; /* 丸の垂直位置の中心に合わせる */
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #fff;
    z-index: 1;
}

/* スクロールで伸びる色付きの線 */
.step-indicator::after {
    content: '';
    position: absolute;
    top: 10px; /* 丸の垂直位置の中心に合わせる */
    left: 0;
    width: var(--progress-width, 0%); /* JSからこの変数を操作 */
    height: 2px;
    background-color: #fff; /* アクティブな色 */
    z-index: 2;
    transition: width 0.2s linear; /* 滑らかなアニメーション */
}

/* --- 各ステップ（丸とテキスト） --- */
.step {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #999;
    font-size: 14px;
    width: 100px; /* テキストの折り返しを調整 */
    text-align: center;
}

/* 各ステップの丸 */
.step::before {
	content: '';
    display: block;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: #fff;
    /* border: 2px solid #e0e0e0; */
    margin-bottom: 10px;
    transition: background-color 0.3s, border-color 0.3s;
}

/* アクティブなステップの丸とテキスト */
.step.active {
        color: #750205;
    font-weight: bold;
}
.step.active::before {
    background-color: #d83b48;
    border-color: #d83b48;
}


/* --- スライダーとスクロールバー --- */
.slider-container {
    overflow-x: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.slider-container::-webkit-scrollbar {
    display: none;
}
.step-slider {
    display: flex;
    gap: 30px;
    padding: 20px 5%; /* 左右に少し余白を持たせる */
    white-space: nowrap;
}
    .slider-spacer {
        width: 10vw;
        flex-shrink: 0;
    }
@media screen and (min-width: 768px) {
	    .slider-spacer {
        width: 30vw;
        flex-shrink: 0;
    }
}


.step-item {
    text-align: center;
    flex: 0 0 auto;
    width: 180px;
}
.step-item img {
    width: 100%;
    height: auto;
    margin-bottom: 10px;
}
.step-item p {
    font-size: 14px;
    line-height: 1.5;
    white-space: normal; /* 商品名が長い場合に折り返す */
}
.scrollbar-container {
    width: 100%;
    margin: 30px auto 0;
    height: 2px;
    background-color: #eee;
    position: relative;
}
.scrollbar-thumb {
    width: 20%;
    height: 100%;
    background-color: #d83b48;
}



/*スライダー*/

.prev-arrow,
.next-arrow {
    display: block;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    transition: all .3s ease;
    cursor: pointer;
    position:absolute;
}

.prev-arrow {
    top: 40%;
    left: -20px; /* ← 内側に配置 */
    transform: rotate(180deg);
    z-index: 1; /* 他の要素に隠れないように念のため指定 */
}

.next-arrow {
    top: 40%;
    right: -20px; /* ← 内側に配置 */
    z-index: 1; /* 他の要素に隠れないように念のため指定 */
}

.prev-arrow::before,
.next-arrow::before{
    position:absolute;
    content: "";
    width: 15px;
    height: 15px;
    border-right: 1px solid #333;
    border-top: 1px solid #333;
    top:0;
    bottom:0;
    left:0;
    right:0;
    margin:auto;
    transform:rotate(45deg);
}



/* --- モーダル内スライダーの表示崩れ対策 (ここから) --- */

/* スライダーの各スライドのスタイル */
.lk-list-slider .lk-list-slider-wrap {
  width: 100%; /* スライドの幅をモーダルに合わせる */
  text-align: center; /* スライド内の要素を中央揃え */
  padding: 0 10px; /* 左右に少し余白を追加 */
  box-sizing: border-box;
}

/* スライド内の画像のサイズを調整 */
.lk-list-slider .lk-list-slider-wrap .modal-img {
  width: 70% !important; /* !importantで既存のスタイルを上書き */
  margin: 0 auto; /* 中央揃え */
}
.slick-dotted.slick-slider {
    margin-bottom: 0px;
}

.modal-content .slick-prev,
.modal-content .slick-next {
    top: 50%; /* 垂直方向の真ん中に配置 */
    transform: translateY(-50%); /* 高さを考慮して中央に微調整 */
}

.modal-content .slick-prev {
    left: 10px; /* はみ出さないよう、左端から10px内側に配置 */
}

.modal-content .slick-next {
    right: 10px; /* はみ出さないよう、右端から10px内側に配置 */
}
/* --- モーダル内スライダーの表示崩れ対策 (ここまで) --- */