@charset "utf-8";
/* CSS Document */

body{
	margin: 0;
}

.sticky-container{
	margin: 0;
}

.sticky-container img{
	display: block;
	line-height: 0;
}

.pc-box{
	display: none;
}


.wrapper{
	width: 100%;
	margin: 0 auto;
	background-color: #DA9EAA;
	color: #5F2231;
}

.wrapper h1{
	margin: 0;
	text-align: center;
	font-size: 1.7rem;
	padding: 8% 0 3%;
	overflow: hidden;
}

.lead{
	text-align: center;
	font-size: .75rem;
	margin: 3% auto 10%;
	line-height: 2;
}

@media(min-width:750px){
	.sticky-container{
		display: flex;
		justify-content: center;
		column-gap: 0px;
		/*background-color: #DA9EAA;*/
		background-color: rgba(218, 158, 170, 0.9);
		background-image: url('../images/bg.jpg');
		background-size: cover; 
		background-position: center;
		background-blend-mode: soft-light;
		background-attachment: fixed;
	}
	
	.pc-box{
		position: sticky;
        left: 0;
        top: 0;
        display: flex;
        width: 33%;
        height: 100vh;
        justify-content: center;
        align-items: center;
	}
	
	.pc-box__left img{
		width: 42vh;
	}
		
	.wrapper{
		width: 35%;
		margin: 0;
		background-color: #DA9EAA;
	}
	
	/*.wrap-100{
		max-width: 800px;
		margin: 0 auto;
	}*/
	
	.wrapper h1{
		font-size: 2.3rem;
		padding: 8% 0 5%;
	}

	.lead{
		font-size: .9rem;
		line-height: 2.2;
	}
	
}

/*---------- main-contents ----------*/

.main-contents{
	margin: 10% auto 0;
}

.contents-inner{
	margin: 0 auto;
	padding: 13% 0;
	background-color: #e3b6be;
	overflow: hidden;
	background-image: url('../images/bg.jpg');
	background-size: cover; 
	background-position: center;
	background-blend-mode: soft-light;
}


.contents-inner2{
	margin: 0 auto;
	padding: 13% 0;
	background-color: #ebccd1;
}

.contents-inner h2{
	text-align: center;
	font-size: 2.4rem;
	margin: 0 auto 7%;
	font-family: "Montserrat", sans-serif;
	font-weight: 400;
	line-height: .7;
}

.contents-inner h2 span{
	font-size: .8rem;
	font-weight: normal;
}

.inner-list{
	display: flex;
	list-style: none;
	padding: 0;
	margin: 3% auto;
	column-gap: 10px;
	overflow-x: auto;
	overflow-y: hidden;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.inner-list::before,
.inner-list::after {
  content: '';
  flex: 0 0 15px; /* 欲しい余白のサイズを指定（例: 10px または 16px など） */
  padding-right: 1px; /* Safariでサイズが潰れるのを防ぐ調整 */
}

.inner-list li{
	flex: 0 0 auto;
	width: 150px;
	margin-bottom: 5%;
	box-sizing: border-box;
	background-color: #fff;
	border-radius: 5px;
	padding-bottom: 1%;
}

.inner-list li a img{
	width: 100%;
	border-radius: 5px 5px 0 0;
}

.inner-list p{
	margin: 2% 0;
	font-size: .65rem;
	line-height: 1.5;
	white-space: normal;
	overflow-wrap: anywhere;
	word-break: normal;
	/*text-align: center;*/
	padding-left: 5px;
}

.inner-list .list-brand{
	font-weight: 600;
	font-size: .75rem;
	margin-top: 3%;
}

.inner-list .list-name {
  max-width: 25ch;                /* 約15文字分の幅に制限 */
  overflow: hidden;
  text-overflow: ellipsis;        /* はみ出た分を「…」にする */
  white-space: nowrap;            /* 1行で固定 */
  display: block;
}

.inner-list .list-price::after{
	content: 'tax in';
	margin-left: 3px;
	font-size: .5rem;
}

.btn a{
	display: block;
	width: 60%;
	margin: 5% auto 5%;
	text-align: center;
	background-color: #842C42;
	color: #fff;
	font-size: 1.1rem;
	text-decoration: none;
	position: relative;
	line-height: 2;
	border-radius: 50px;
	font-family: "Montserrat", sans-serif;
	font-weight: 400;
	letter-spacing: .05rem;
}

.btn a:after{
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 15px;
	width: 5px;
	height: 5px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	content: "";
	transform: translateY(-50%) rotate(45deg);
}

@media(min-width:750px){
/* リストを横並び＆横スクロール対応にする */
.inner-list {
  display: flex !important;
  overflow-x: auto;
  scroll-behavior: smooth;
  white-space: nowrap;
  list-style: none;
  padding: 0;
  margin: 0;
  -webkit-overflow-scrolling: touch;
}

/* スライド各項目の調整 */
.inner-list li {
  flex: 0 0 auto;
  width: 150px; /* 1項目の幅 */
  margin-right: 0px;
}
	
	.btn a{
		width: 45%;
		line-height: 2.5;
	}
}

/*---------- inner-cate ----------*/

.inner-cate{
	padding: 0;
	width: 90%;
	margin: 1% auto;
	list-style: none;
	column-gap: 10px;
	grid-row-gap: 10px;
	display: flex;
	flex-wrap: wrap;
}

.inner-cate li{
	width: calc(25% - 10px);
}

.inner-cate img{
	border-radius: 50px;
	border: solid 1px #fff;
	margin-bottom: 5%;
}

.inner-cate a{
	display: block;
	color: #000;
	margin: 2% auto;
	text-decoration: none;
	font-size: .65rem;
	line-height: 1.5;
	text-align: center;
}

.inner-cate a p{
	margin: 2% 0;
}

@media(min-width:750px){
	.inner-cate{
		width: 80%;
		column-gap: 15px;
	}
	
	.inner-cate li{
		width: calc((100% - 45px) / 4); 
	}

	.inner-cate img{
		border-radius: 100px;
		border: solid 2px #fff;
	}
}

/*---------- inner-brand ----------*/
.inner-brand {
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	column-gap: 8px;
	grid-row-gap: 8px;
	width: 90%;
	margin: 10px auto;
}

.inner-brand li {
	width: calc((100% - 16px) / 3); /* 余白(column-gap 5px × 2箇所 = 10px)を正確に引いた幅 */
	background-color: #fff;
}

/* --- 追加：<a> タグを縦並びの Flexbox にする --- */
.inner-brand li a {
	display: flex;
	flex-direction: column;   /* 2枚の画像を縦に並べる */
	align-items: center;       /* 左右中央揃え */
	justify-content: center;  /* 上下中央揃え（全体の高さを揃える） */
	height: 100%;             /* li の高さっぱいに伸ばす */
	text-decoration: none;
}

.inner-brand li img {
	display: block;            /* 画像下の不要な隙間をカット */
	width: 100%;
}

.inner-brand li img:last-child {
	box-sizing: border-box;
	padding: 2%;
	margin-top: auto;          /* 1枚目の画像の下の余白で位置を調整したい場合（必要に応じて） */
	margin-bottom: auto;       /* 上下中央へ配置 */
}

.inner-brand .bg-none{
	background-color: none;
}

@media(min-width:750px){
	.inner-brand {
		width: 80%;
	}
}


/*---------- trend-ranking ----------*/
.pc-box__right{
	width: 80%;
}
.trend-ranking {
	color: #333;
	padding: 20px;
	margin: 10% auto 5%;
	font-family: "Montserrat", sans-serif;
	font-weight: 400;
	font-style: normal;
}

.trend-ranking__header {
	font-size: 2.2rem;
	font-weight: 400;
	margin-bottom: 10px;
	text-transform: uppercase;
}

.trend-ranking__list {
	list-style: none;
	margin: 0;
	padding: 0;
	padding-left: 0px; /* 縦線と文字の間の余白 */
	border-left: 0px solid #333; /* これが左の縦線 */
}

.trend-ranking__item {
	display: flex; /* 横並びにする */
	align-items: center; /* 垂直方向の中央揃え */
	padding-bottom: 10px; /* 文字下の余白 */
	margin-bottom: 20px; /* 次の行までの余白 */
	border-bottom: 1px dashed #f3d3d9; /* 下の点線 */
}


.trend-ranking__item:last-child {
	margin-bottom: 0;
}

.trend-ranking__num {
	font-size: 1.75rem;
	letter-spacing: 0.1rem;
}

.trend-ranking__text {
	font-size: 1.75rem;
	letter-spacing: 0.05rem;
	flex-grow: 1; /* 余ったスペースを埋める */
}

.trend-ranking__text a{
	display: block;
	text-decoration: none;
	color: #5b2030;
	position: relative;
}

.trend-ranking__text a::after {
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 15px;
    width: 6px;
    height: 6px;
    content: "";
    transform: translateY(-50%) rotate(135deg);
    border-top: 1px solid #5b2030;
    border-right: 1px solid #5b2030;
}

.item-content{
	margin: 0 auto;
}

.item-content__box{
	margin: 0 auto;
	padding-top: 14%;
}

.item-content__title {
	text-align: center;
	color: #333; /* 文字色：濃いグレー */
	padding: 50px 20px;
	background-color: #fff;
}

.top-label {
	font-size: 18px;
	letter-spacing: 0.01em; /* 文字間隔を少し広げる */
	text-transform: uppercase; /* 大文字に変換 */
	margin-bottom: 15px;
	font-weight: normal;
}

.vertical-line {
	width: 1px;
	height: 25px;
	background-color: #666;
	margin: 0 auto 15px auto; /* 中央寄せと下の余白 */
}
