/* layout sp
--------------------------------------------------*/
@media screen and (max-width: 768px) {

/* マージンベース
	3vw
	5vw
	8vw
	14vw
	16vw
 */

/* フォントベース
	3vw;
	3.2vw;=12px
	3.8vw;
	4.2vw;
	5vw
	5.6vw
 */



/* SPメニュー系
--------------------------------------------------*/
.kw_sp_menu_set{
	position:fixed;
	top:calc(16vw + 1px);
	left:0;
	width:100%;
	height:100%;
	background:#fff5e1;
	z-index:9999;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.4s ease, visibility 0.4s ease;
}


.kw_sp_menu_set.active{
	opacity: 1;
	visibility: visible;
}




/* トップへ戻るボタン
--------------------------------------------------*/
.go_top{
	position:fixed;
	bottom:4vw;
	right:4vw;
	z-index:1;
	cursor:pointer;
}

.go_top img{
	width:8vw;
	height:8vw;
}










/* フォント系
--------------------------------------------------*/
.caption_about{
	font-size:4.8vw;
	line-height:1;
}

.caption01{
	position:relative;
	font-size:4.8vw;
	line-height:1;
	padding-bottom:3vw;
	display:block;
	border-bottom: solid 1px #3f2e40;
	font-weight:bold;
	letter-spacing:0.1em;
}

.caption02{
	font-size:4.2vw;
	display:block;
	font-weight:bold;
	letter-spacing:0.1em;
}

.caption03{
	position:relative;
	width:100%;
	font-size:4.8vw;
	line-height:1;
	display:block;
	font-weight:bold;
	letter-spacing:0.1em;
	margin:0 auto 0;
}

.caption04{
	font-size:4.8vw;
	line-height:1;
	display:block;
	font-weight:bold;
	letter-spacing:0.1em;
}

.caption05{
	font-size:3.8vw;
	line-height:1;
	display:block;
	font-weight:bold;
	letter-spacing:0.1em;
	margin:0 auto 3vw;
}

.date{
	font-size:3vw;
	line-height:1;
}

.text01{
	font-size:3.8vw;
	line-height:1.9;
}

.kw_news_text_set .text01{
	font-size:3.2vw;
	line-height:1.6;
}

.text02{
	font-size:3.2vw;
	line-height:1.8;
}

.text03{
	font-size:3.2vw;
	line-height:1.8;
	font-weight:bold;
}

.text04{
	font-size:3.8vw;
	line-height:1.8;
	font-weight:bold;
}

.btn_text{
	font-size:18px;
	line-height:1;
}


.kw_price{
	margin-top:1vw;
}


.kw_price_bold{
	font-weight:bold;
}


.kw_new{
	background:#a1272e;
	margin-right:2vw;
	font-size:2.6vw;
	width:12vw;
	height:4.5vw;
	color:#ffffff;
	line-height:1;
	display:inline-block;
	text-align:center;
	line-height:4.5vw; /* 高さと同じ値にする */
	vertical-align:0.25vw;
	letter-spacing:0.01em;
}

a{
	text-underline-offset:5px;
}









/* html, body
--------------------------------------------------*/
	html{
		overflow-x:hidden;
	}

	html.scroll-lock {
		overflow: hidden;
	}


    html,body {
	position:absolute;
	width:100%;
    min-width:320px;
	min-height:100%;
	margin:0;
	text-align:left;
	font-family: Verdana,"メイリオ","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック",sans-serif;
	font-family: 'Noto Sans JP', sans-serif;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
	font-weight:400;
	font-feature-settings:"palt";
	letter-spacing:0.1em;
	-webkit-text-size-adjust:none;
	color:#3f2e40;
	background:#3f2e40;
	text-align: justify;
}


/* ヘッダー  */
header {
	position: fixed;
	width: 100%;
	min-width:320px;
	height: 16vw;
	border-bottom: solid 1px #3f2e40;
	z-index:1;
	transition: background 0.3s ease, color 0.3s ease, border-bottom 0.3s ease;
}

header.scrolled{
	position: fixed;
	width: 100%;
	min-width:320px;
	height: 16vw;
	border-bottom: solid 1px #3f2e40;
	z-index:1;
	transition: background 0.3s ease, color 0.3s ease, border-bottom 0.3s ease;
	background:#fff5e1;
}



header.scrolled .kw_head_logo{
	margin-top:5.5vw;
	margin-right:auto;
	width:35.2vw;
	height:auto;
}

header.scrolled .kw_head_text_set{
	height:60px;
	padding-top:20px;
}

/* ヘッダーホバー  */
header.scrolled .kw_head_menu01_set,
header.scrolled .kw_head_menu02_set{
	top:60px;
}



header a{
	color:#fddd9c;
}



/* ヘッダー背景色・リンク色のフェード */
.kw_head_set {
	transition: background-color 0.8s ease;
}
.kw_head_set a {
	transition: color 0.8s ;
}


/* ヘッダロゴ */
.kw_head_logo {
	width:35.2vw;
	height:auto;
	opacity:1;
	transition: opacity 0.8s ease;
}

.kw_head_logo.active {
	opacity: 1;
}


.kw_logo_set{
	position: relative;
	float:left;
}

.kw_head_logo{
	margin-top:5.5vw;
	margin-right:auto;
	margin-left:4vw;
}

.kw_head_logo02{
	position:absolute;
	top:0;
	left:0;
	opacity:0;
}




/* ヘッダテキストリンク */
.kw_head_text_set{
	height:73px;
	position: relative;
	padding-top:25px;
	font-size:14.5px;
	font-weight:bold;
	display:flex;
	box-sizing:border-box;
	display:none;
}

.kw_head_link{
	display:flex;
	display:block;
	margin-right:35px;
	text-decoration:none;
}


.kw_head_link_onlineshop.active,
.kw_head_link_store.active{
	border-bottom:2px solid #3f2e40;
}




/* ヘッダSNSボタン */
.kw_head_sns_set{
	position:absolute;
	right:4vw;
	top:5.6vw;
	top:6vw;
	display:flex;
}


.kw_head_sns_link01{
	position:relative;
}

.kw_head_sns_link02{
	position:relative;
	height:auto;
	margin-left:6.4vw;
}

.kw_head_sns_link03{
	position:relative;
	height:auto;
	margin-left:6.4vw;
}


/* メニュー拡大用 */
.kw_head_menu_btn_area{
	position:absolute;
	top:-6.5vw;
	left:-4vw;
	width:12vw;
	height:16vw;
}


.kw_head_sns_set img {
	width:4vw;
	height:auto;
	opacity:0;
	transition: opacity 0.8s ease;
}

.kw_head_sns_set img.active {
	opacity: 1;
}

.kw_head_sns_link01_img02{
	position:absolute;
	top:0;
	left:0;
	opacity:0;
}

.kw_head_sns_link02_img02{
	position:absolute;
	top:0;
	left:0;
	opacity:0;
}

.kw_head_sns_link03_img02{
	position:absolute;
	top:0;
	left:0;
	opacity:0;
}




/* ヘッダーホバー  */
.kw_head_menu01_set,
.kw_head_menu02_set{
	position:absolute;
	top:73px;
	left:0;
	width:100%;
	background:#fddd9c;
	z-index:1;
	padding-left:294px;
	box-sizing:border-box;
	font-size:14.5px;
	line-height:1;
	padding-top:25px;
	padding-bottom:25px;
	
	display: flex;
	align-items: flex-start; /* 左寄せにする */
	gap: 55px;
	
	/* 初期状態（非表示） */
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease;
}


/* 親メニューにホバーしたとき表示 */
.kw_head_menu01_set.active,
.kw_head_menu02_set.active{
	opacity: 1;
	visibility: visible;
	display: flex; /* ←ここは残してOK */
	align-items: flex-start;
	gap: 55px;
}


.kw_head_menu01_set_detail01_menu_set{
	display: flex;
	flex-direction: column; /* 縦並び */
	align-items: flex-start; /* 左寄せにする */
	gap: 20px; /* 縦の間隔 */
}

.kw_head_menu01_set a ,
.kw_head_menu02_set a {
	display: inline-block;   /* テキスト＋padding分だけ反応 */
	text-decoration: none;
	color: #3f2e40;
}






 /*

body {
	opacity: 0;
	animation: fadeIn 1s ease forwards;
	animation-delay: 0.5s; 
}


@keyframes fadeIn {
	from { opacity: 0; }
	to   { opacity: 1; }
}

*/

.kw_main_set{
	height: calc(100vh /*- 73px*/); /* 画面高さ */
	display:flex;
	align-items: center; /* 縦方向の中央揃え */
}


#kw_splide,
#kw_splide .splide__slide {
	width: 100%;
	height: calc(65vh /*- 73px*/); /* 画面高さ */
	overflow: hidden;
	position: relative;
	background-color: #3f2e40;
	touch-action: pan-y; /* 横スワイプのみ許可 */
}

/* 共通の背景設定 */
#kw_splide .splide__slide {
	position: relative;
	overflow: hidden;
	background-size: cover;
	background-position: center top;
	background-repeat: no-repeat;
}

/* 個別の背景画像
#kw_splide .splide__slide.slide01 {
	background-image: url("../images/main01_pc.jpg");
}
#kw_splide .splide__slide.slide02 {
	background-image: url("../images/main02_pc.jpg");
}
#kw_splide .splide__slide.slide03 {
	background-image: url("../images/main01_pc.jpg");
}
#kw_splide .splide__slide.slide04 {
	background-image: url("../images/main02_pc.jpg");
}
 */

/* 表示するimgを少し下げる */
#kw_splide .splide__slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	/*margin-top: 26.5px; ← これで下にズラす */
	display: block;
}





/* 下部コンテンツセット */
.kw_contents_set{
	position:relative;
	width:100%;
	padding-left:4vw;
	padding-right:4vw;
	background:#fff5e1;
	padding-top:16vw;
	padding-bottom:16vw;
	box-sizing:border-box;
}




/* おひとつどうぞ */
.kw_about_set{
	position:relative;
	width:100%;
	margin:0 auto 0;
	padding-bottom:14vw;
}

.kw_about_set_photo{
	width:100%;
	hieght:auto;
	margin-bottom:8vw;
}

.kw_about_set_caption{
	margin-bottom:5vw;
}




/* お知らせ */
.kw_news_set{
	position:relative;
	width:100%;
	margin:0 auto 0;
	padding-bottom:14vw;
}

.kw_news_set_caption{
}


.kw_news_set_box{
	margin-top:5vw;
	display:flex;
	text-decoration:none;
	color:#3f2e40;
}

.kw_news_set_date{
	margin-bottom:3vw;
}

.kw_news_set_box_photo{
	width:21vw;
	height:21vw;
	margin-right:4vw;
	flex-shrink: 0;          /* 画像が縮まないようにする */
}

.kw_news_set_btn{
	margin-top:14vw;
}




/* オンラインショップ */
.kw_onlineshop_set{
	position:relative;
	width:100%;
	margin:0 auto 0;
}

.kw_onlineshop_set_caption01{
	margin-bottom:0;
}

.kw_onlineshop_set_caption02{
	margin-top:6.4vw;
	margin-bottom:3vw;
}

.kw_onlineshop_set_box_photo{
	width:37vw;
	height:37vw;
	margin-bottom:3vw;
	flex-shrink: 0;          /* 画像が縮まないようにする */
}


.kw_onlineshop_set_box{
	width:37vw;
	text-decoration:none;
	color:#3f2e40;
	display:block;
}




/* ボタン */
.kw_btn_set{
	position:relative;
	width:100%;
	display:flex;
	align-items: center;   /* 縦方向の中央 */
	justify-content: center; /* 横方向の中央 */
}


.kw_btn{
	width:67vw;
	padding:2.5vw 0;
	line-height:1;
	font-size:3.2vw;
	font-weight:bold;
	color:#3f2e40;
	text-decoration:none;
	text-align:center;
	border:solid 1px #9f9190;
	border-radius:60px;
	
	transition: all 0.3s;
	
	/* 修正版 */
	width:80vw;
	padding:4vw 0;
	font-size:3.8vw;
}


.kw_btn:hover{
	border:solid 1px #9f9190;
	background:none;
	color:#3f2e40;
}


.kw_btn02{
	width:67vw;
	padding:2.5vw 0;
	line-height:1;
	font-size:3.2vw;
	font-weight:bold;
	color:#ffffff;
	text-decoration:none;
	text-align:center;
	border:solid 1px #3f2e40;
	border-radius:60px;
	background:#3f2e40;
	transition: all 0.3s;
	
	/* 修正版 */
	width:92vw;
	padding:5.5vw 0;
	font-size:4.2vw;
}


.kw_btn02:hover{
	border:solid 1px #3f2e40;
	background:#3f2e40;
	color:#ffffff;
}



/* 完売表記
--------------------------------------------------*/
.kw_btn03{
	width:67vw;
	padding:2.5vw 0;
	line-height:1;
	font-size:3.2vw;
	font-weight:bold;
	color:#3f2e40;
	text-decoration:none;
	text-align:center;
	border:solid 1px #c5c0c6;
	border-radius:60px;
	background:#c5c0c6;
	transition: all 0.3s;
	
	/* 修正版 */
	width:80vw;
	padding:4vw 0;
	font-size:3.8vw;
}



/* カート削除ボタン
--------------------------------------------------*/
.kw_btn.kw_cart_delete{
	width:67vw;
	padding:2.5vw 0;
	line-height:1;
	font-size:3.2vw;
	font-weight:bold;
	color:#3f2e40;
	text-decoration:none;
	text-align:center;
	border:solid 1px #9f9190;
	border-radius:60px;
	
	transition: all 0.3s;
}
.kw_btn.kw_cart_delete:hover{
	border:solid 1px #9f9190;
	background:none;
	color:#3f2e40;
}





/* オンラインスライド */
#kw_onlineshop_splide01{
	width: 100vw;
	margin-left:-4vw;
	overflow: hidden;
	position: relative;
	touch-action: pan-y; /* 横スワイプのみ許可 */
}

#kw_onlineshop_splide02{
	width: 100vw;
	margin-left:-4vw;
	overflow: hidden;
	position: relative;
	touch-action: pan-y; /* 横スワイプのみ許可 */
}

#kw_onlineshop_splide03{
	width: 100vw;
	margin-left:-4vw;
	overflow: hidden;
	position: relative;
	touch-action: pan-y; /* 横スワイプのみ許可 */
}


.kw_onlineshop_set_slide_btn_set{
	position:relative;
}

/* 押せないとき（disabled） */
.kw_onlineshop_set_slide_btn_set button:disabled{
	opacity: 0.4;       /* 半透明に */
	cursor: not-allowed; /* カーソルを禁止マークに */
}


.my-prev {
	position: absolute;
	top: 108px;
	left:-82px;
	transition: all 0.2s;
	border: 0;     /* 枠線のみ */
	background-color: transparent; /* 背景は透明 */
	cursor: pointer;
	display:none;
}

.my-prev_arrow {
	width: 20px;
	height: 20px;
	border-left: 1px solid #000;
	border-bottom: 1px solid #000;
	transform: rotate(45deg);
}

.my-next {
	position: absolute;
	top: 108px;
	right:-67px;
	background-color: transparent; /* 背景は透明 */
	transition: all 0.2s;
	border: 0;     /* 枠線のみ */
	background-color: transparent; /* 背景は透明 */
	cursor: pointer;
	display:none;
}

.my-next_arrow {
	width: 20px;
	height: 20px;
	border-right: 1px solid #000;
	border-top: 1px solid #000;
	transform: rotate(45deg);
}


.my-prev:hover{
	transform:translateX(-2px);
}

.my-next:hover{
	transform:translateX(2px);
}


.kw_onlineshop_set_slide_btn_set button:disabled:hover{
	transform:none;
}



@media screen and (max-width: 1400px) {
#my-prev {
	left:-30px;
}

#my-next {
	right:-30px;
}
}






/* 画像関係 */
.photo_box {
	width: 100%;           /* 親幅いっぱいなど任意 */
	height: 100%;           /* 高さもボックスに合わせる */
	overflow: hidden;      /* はみ出した部分を隠す */
	position: relative;     /* 必要に応じて */
}

.photo_box img {
	width: 100%;            /* 横幅をボックスいっぱいに */
	height: 100%;           /* 高さもボックスに合わせる */
	object-fit: cover;      /* 縦横比を保ちつつはみ出し部分をトリミング */
	transition: transform 0.3s ease; /* ホバー拡大用のアニメーション */
	transform-origin: center center; /* 中央から拡大 */
}


.over01{
	transition: opacity 0.3s ease, transform 0.3s ease; /* transformもトランジションに追加 */
}

.over01:hover{
	opacity:1;
}

.over01:hover img{
	transform: scale(1); /* 画像を1.05倍に拡大 */
	transition: transform 0.3s ease; /* 拡大のアニメーション */
}

.over02{
	transition: opacity 0.3s ease, transform 0.3s ease; /* transformもトランジションに追加 */
}

.over02:hover{
	opacity:1;
}






.main_text {
	display: inline-block;
	opacity: 0;
	transform: translateY(20px);
}

.main_text span {
	display: inline-block;
	opacity: 0;
	transform: translateY(20px);
	transition: all 0.6s ease;
}
.main_text span.show {
	opacity: 1;
	transform: translateY(0);
}




/* フッター */
footer{
	position:relative;
	width:100%;
	background:#3f2e40;
	color:#fddd9c;
	padding-top:14vw;
}

footer a{
	color:#fddd9c;
	text-decoration:none;
}

.footer_menu{
	position:relative;
	margin-left:5vw;
	margin-bottom:5vw;
	display:flex;
	flex-direction: column; /* ← 縦並びにする */
	gap: 6.6vw;               /* 縦方向の余白（必要なら） */
}
.kw_footer_link{
	display:inline;
	margin-right:5vw;
	text-decoration:none;
	font-size:3.4vw;
}

.kw_footer_link_bold{
	font-weight:bold;
}



.footer_sns{
	position:relative;
	margin-left:5vw;
	margin-top:7.6vw;
	margin-bottom:7.6vw;
	display:flex;
}

.kw_footer_sns_link01{
	display:flex;
	margin-right:6vw;
	font-size:3.4vw;
	line-height:4.5vw;
}

.kw_footer_sns_link02{
	display:flex;
	margin-right:6vw;
	font-size:3.4vw;
	line-height:4.5vw;
}

.kw_footer_sns_link03{
	display:flex;
	font-size:3.4vw;
	line-height:4.5vw;
}

.kw_footer_sns_link01_img01,
.kw_footer_sns_link02_img01,
.kw_footer_sns_link03_img01{
	position:relative;
	width:4.5vw;
	height:auto;
	flex-shrink:0;
	object-fit: contain;
}



.footer_info{
	position:relative;
	margin-left:5vw;
	margin-bottom:0;
	display:block;
	font-size:3.4vw;
	line-height:1.6;
}


.kw_footer_logo{
	position:relative;
	bottom:auto;
	left:50%;
	margin-left:-19vw;
	width:38vw;
	height:auto;
	margin-top:15vw;
	margin-bottom:15vw;
}


.footer_under{
	width:100%;
	border-top:solid 1px #fddd9c;
	text-align:center;
	font-size:3vw;
	letter-spacing:0.05em;
	padding-top:2.5vw;
	padding-bottom:2.5vw;
}



/* こだわり */
.kw_policy_set{
	position:relative;
	width:100%;
	margin:5vw auto 0;
	padding-bottom:7vw;
}



/* 鎌倉ウィッチについて  */

.kw_about_main {
	position:relative;
	margin-top:5vw;
	margin-bottom:8vw;
	margin-left:-4vw;
	width: 100vw;
	height: auto;
	overflow: visible; /* はみ出し防止 */
}

.kw_about_main img {
	width: 100%;
	height: 100%;
	object-fit: cover; /* 枠いっぱいに拡大＆トリミング */
	display: block;
}

.kw_about_text01{
	margin-top:0;
	font-size:3.8vw;
	line-height:1.9;
}


.kw_about_link_set{
	position:relative;
	width:100%;
	margin:0 auto 0;
	padding-bottom:2vw;
	display:flex;
	gap:5vw;
	row-gap: 8vw;
	flex-wrap: wrap;      /* 子要素を折り返す */
	justify-content: flex-start; /* 左寄せ */
}

.kw_about_link_set a{
	color: #3f2e40;
	text-decoration:none;
}

.kw_about_link_detail{
	position:relative;
	flex: 0 0 calc(50% - 2.5vw); /* 2列にするために幅を50%-gap/2に調整 */
	box-sizing: border-box;
	height:100%;
	display:block;
}

.kw_about_link_detail .photo_box img{
	flex-shrink: 0;      /* 画像が縮まない */
	width: 100%;         /* 横幅いっぱいに */
	height: auto;        /* 縦は自動 */
	display: block;      /* 余白を消す */
}

.kw_about_link_text{
	margin-top:3vw;
	font-size:3.2vw;
}




/* パンクズリスト */
.bread_list{
	display:block;
	font-size:2.8vw;
	line-height:1.8;
	margin-left:0;
	margin-top:2vw;
	margin-bottom:7vw;
	color:#3f2e40;
	flex-wrap: wrap; 
	letter-spacing:0.05em;
}

.bread_list a{
	text-decoration:none;
	color:#3f2e40;
	display:inline;
}

.bread_list_slash{
	margin:0 3vw;
	display:inline;
}

.bread_list_now{
	font-size:2.8vw;
	font-weight:bold;
	display:inline;
}



/* ヘッダログイン系ボタン */
.kw_head_btn_set{
	position:absolute;
	right:4vw;
	top:5.6vw;
	display:flex;
	align-items: center;        /* 中のリンクを縦中央 */
}


.kw_head_btn_link01{
	position:relative;
}

.kw_head_btn_link02{
	position:relative;
	height:auto;
	margin-left:25px;
	display:flex;
	align-items: center;
	text-decoration:none;
}

.kw_head_btn_link03{
	position:relative;
	height:auto;
	margin-left:25px;
	display:flex;
	align-items: center;
	text-decoration:none;
}


.kw_head_btn_set img {
	width:4vw;
	height:auto;
	transition: opacity 0.8s ease;
}

.kw_cart_number{
	position:relative;
	width:5.5vw;
	height:5.5vw;
	line-height:5.5vw;
	font-size:3vw;
	background:#a1272e;
	border-radius:100vw;
	letter-spacing:0.05em;
	text-align:center;
	color:#fff5e1;
	margin-left:1.5vw;
}



/* ニュースページ */
.kw_news_caption01{
	font-size:4.8vw;
	margin-bottom:5vw;
	line-height:1;
}

.kw_news_caption02{
	position:relative;
	font-size:4.8vw;
	line-height:1.6;
	display:block;
	font-weight:bold;
	letter-spacing:0.1em;
}

.kw_news_data{
	margin-top:5vw;
	margin-bottom:8vw;
	font-size:3.2vw;
	line-height:1;
	display:block;
	letter-spacing:0.1em;
}


/* ニュースページ記事部分 */
.kw_news_text_set{
	font-size:3.8vw;
	line-height:2;
}

.kw_news_text_set a{
	color: #3f2e40;
	text-decoration-thickness:1px;
	transition: opacity 0.3s ease, transform 0.3s ease; /* transformもトランジションに追加 */
}

.kw_news_text_set a:hover{
	text-decoration:underline;
	opacity:1;
}

.kw_news_text_set img{
	width:100%;
	height:auto;
	margin:5vw auto 5vw;
}

.kw_news_nav{
	position:relative;
	margin-top:16vw;
	display: flex;
	justify-content: space-between; /* 左右端に配置 */
	align-items: center;           /* 縦位置を揃える */
}

.kw_news_nav_prev{
	font-size:3.2vw;
	color: #3f2e40;
	line-height:1;
	text-decoration:none;
	letter-spacing:0.05em;
	font-weight:bold;
}

.kw_news_nav_next{
	font-size:3.2vw;
	line-height:1;
	color: #3f2e40;
	text-decoration:none;
	letter-spacing:0.05em;
	font-weight:bold;
}

.kw_news_nav_off{
	opacity:0.5;
}




/* カテゴリーページ */
.kw_onlineshop_category_set{
	margin-top:8vw;
	display: flex;
	flex-wrap: wrap;           /* 折り返しを許可 */
	gap: 5vw;
	row-gap: 8vw;
}

.kw_onlineshop_category_set > * {
	flex: 0 0 calc(50% - 2.5vw);  /* 2列に固定、gapを考慮 */
	box-sizing: border-box;
}



.kw_onlineshop_category_set .kw_onlineshop_set_box_photo{
	width:100%;
	height:auto;
	aspect-ratio: 1 / 1; 
	margin-bottom:3vw;
	flex-shrink: 0;          /* 画像が縮まないようにする */
}


.kw_onlineshop_category_set .kw_onlineshop_set_box{
	width:calc(50% - 2.5vw)
	text-decoration:none;
	color:#3f2e40;
	display:block;
}




/* ライン */
.kw_line{
	position:relative;
	width:100vw;
	margin-left:-4vw;
	height:1px;
	background:#c5c0c5;
	margin-top:12vw;
	margin-bottom:8vw;
}

/* ライン02 */
.kw_line_shop{
	margin-top:7vw;
	margin-bottom:8vw;
}

/* ライン03 */
.kw_line_guide{
	margin-top:7vw;
	margin-bottom:8vw;
}



/* 店舗ページ */
.shop_set{
	position:relative;
	width:100%;
	display:block;
	margin:8vw auto 0;
}
.shop_set_last{
	margin-bottom:10px;
}


.shop_box01{
	display: block;
	align-items: flex-start; /* 上揃えにしたい場合 */
	gap: 0; /* 左右の間隔 */
	
}


.shop_photo_big_set{
	position:relative;
	width:100%;
	height:auto;
	aspect-ratio: 419 / 300; 
}

.shop_photo_big_set img{
	position:absolute;
	width:100%;
	height:auto;
}


.shop_photo_small_set{
	position:relative;
	margin-top:5vw;
	display:flex;
	gap:5vw;
}


.shop_photo_small_set img{
	width: calc((100% - 5vw * 2) / 3);
	cursor:pointer;
}

.shop_right_set{
	margin-top:8vw;
}

.shop_text{
	margin-top:6vw;
}






/* 商品詳細 */
.kw_detail_set{
	position:relative;
	width:100%;
	margin:-4vw auto 0;
	display: block;
	align-items: flex-start; /* 上揃え */
	gap:0;
}

.kw_detail_left_set {
	width:100%;
}


.kw_detail_right_set_wrap {
	position:relative;
	top:auto;
	height:auto;
	right:auto;
}

.kw_detail_right_set {
	width: 100%;       /* 右カラムの幅 */
	position: relative;   /* ここがポイント */
	top:0;          /* 画面上から20pxの位置で固定 */
	margin-top:8vw;
	align-self: flex-start; /* 高さ合わせを防ぐ */
}


.kw_detail_photo_big_set{
	position:relative;
	width:100%;
	height:auto;
	aspect-ratio: 1 / 1; 
}

.kw_detail_photo_big_set img{
	width: 100%;
	height: 100%;
	object-fit: cover;   /* ← 親のサイズに合わせて切り抜き */
	position: absolute;
	top: 0;
	left: 0;
}


.kw_detail_photo_small_set{
	position:relative;
	margin-top:5vw;
	display:flex;
	gap:5vw;
}

.kw_detail_photo_small_set_detail {
	cursor: pointer;
	width: calc((100% - 5vw * 2) / 3);
	height: auto;
	position: relative; /* もし絶対配置を使う場合に必要 */
	overflow: hidden;   /* はみ出しを隠す */
	aspect-ratio: 1 / 1; 
}

.kw_detail_photo_small_set_detail img {
	width: 100%;
	height: 100%;
	object-fit: cover;   /* 親のサイズに合わせて切り抜き */
	/* position: absolute; ← これは不要 */
}

.kw_detail_text{
	font-size:3.8vw!important;
	line-height:1.8!important;
	margin-top:14vw;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif!important;
	letter-spacing:0.1em!important;
}

.kw_detail_text span{
	font-size:3.8vw!important;
	line-height:1.8!important;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif!important;
	letter-spacing:0.1em!important;
}



.kw_detail_text a{
	font-weight:bold;
	color:#3f2e40;
	transition: opacity 0.3s ease, transform 0.3s ease; /* transformもトランジションに追加 */
}

.kw_detail_text a:hover{
	opacity:1;
}



.kw_detail_text_small{
	font-size:3.2vw;
	line-height:1.8;
}

.kw_detail_right_set .kw_name{
	font-size:4.8vw;
	line-height:1.8;
	font-weight:bold;
}


.kw_detail_right_set .kw_price{
	font-size:3.8vw;
	line-height:1.8;
	margin-top:4vw;
}


.kw_detail_right_set .kw_price02{
	font-size:3.2vw;
	line-height:1;
	vertical-align:1px;
	margin-bottom:0;
}


.kw_detail_right_set .kw_new{
	vertical-align:0.75vw;
}

.kw_detail_right_set_text{
	position:relative;
	display:block;
	margin-top:8vw;
	margin-bottom:8vw
}


/* ベースの表示 */
.kw_detail_right_set_text_set{
	display:block;
	height:auto;
	align-items: none; /* 左寄せにする */
	width: 100%;
	margin-bottom:5vw;
}
.kw_detail_right_set_text_set02{
	display:block;
	height:auto;
	align-items: none; /* 左寄せにする */
	width: 100%;
	margin-bottom:5vw;
}

.kw_detail_right_set_text_set_text01{
	font-size:3.8vw;
	width:auto;
	margin-bottom:2vw;
}


.kw_detail_right_set_text_set_text_input{
	position:relative;
	width: calc(100%);
}

.kw_detail_right_set_text_set select{
	position:relative;
	width:100%;
	padding:2vw 2vw;
	border:solid 1px #c5c0c5;
	text-align:left;
	font-size:4.2vw;
	box-sizing:border-box;
	letter-spacing:0.1em;
	color:#3f2e40;
	
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	padding-right: 2em;   /* 矢印分の余白を確保 */
	position: relative;   /* ::after の基準 */
}

.kw_detail_right_set_text_set_text_input:after{
	content: "▾";           /* 矢印っぽい記号 */
	position: absolute;
	right: 2vw;           /* 右に配置 */
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;   /* 矢印をクリックしても反応しない */
	color:#3f2e40;
	font-size: 4.2vw;       /* 大きさ調整 */
}

.kw_detail_right_set_text_set_text_input:after{
	content: "";           /* 矢印っぽい記号 */
}



/* メイクショップの表示 */
.makeshop-option-wrap{
	display:block;
	height:auto;
	align-items: none; /* 左寄せにする */
	width: 100%;
	margin-bottom:5vw;
}

.makeshop-option-label{
	font-size:3.8vw;
	width:auto;
	margin-bottom:2vw;
}

.makeshop-option-select-wrap{
	position:relative;
	width: calc(100%);
}

.makeshop-option-select-wrap select{
	position:relative;
	width:100%;
	padding:2vw 2vw;
	border:solid 1px #c5c0c5;
	text-align:left;
	font-size:4.2vw;
	box-sizing:border-box;
	letter-spacing:0.1em;
	color:#3f2e40;
	
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	padding-right: 2em;   /* 矢印分の余白を確保 */
	position: relative;   /* ::after の基準 */
}

.makeshop-option-select-wrap:after{
	content: "▾";           /* 矢印っぽい記号 */
	position: absolute;
	right: 2vw;           /* 右に配置 */
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;   /* 矢印をクリックしても反応しない */
	color:#3f2e40;
	font-size: 4.2vw;       /* 大きさ調整 */
}







.kw_detail_right_set_btn_set{
	margin-top:8vw;
	display: flex;
	justify-content: center; /* 横方向中央揃え */
}


.kw_detail_right_set_btn_set .kw_btn02{
}



/* お買い物かご */
.kw_cart_set{
	border-bottom:solid 1px #c5c0c5;
	display: block;              /* ←これを追加 */
	justify-content: space-between; /* ← 左右に振り分け */
	padding:8vw 0;
}

.kw_cart_set:first-of-type {
	padding-top: 8vw;
}

.kw_cart_set:last-of-type {
	border-bottom:none;
}
.kw_cart_set_left{
	display: flex;
	flex-wrap: wrap; /* 折り返しOK */
}


.kw_cart_set_left > div:nth-child(0),
.kw_cart_set_left > div:nth-child(2){
	width:calc(100% - 21vw - 5vw); /* 1・2番目だけ横並び */
}

.kw_cart_set_left > div:nth-child(n+3){
	width:100%; /* 3番目以降は縦並び */
}


.kw_cart_set_photo{
	width:21vw;
	height:21vw;
	margin-right:5vw;
}

.kw_cart_set_text_set{
	display: flex;              /* ←これを追加 */
	flex-direction: column;     /* 子を上下方向に並べる */
	justify-content: space-between; /* 上下に振り分け */
}

.kw_cart_name{
	font-size:4.2vw;
	line-height:1.6;
	font-weight:bold;
	margin-top:-1vw;
}

.kw_cart_price_box{
	font-size:3.8vw;
	line-height:1;
	display:flex;
	font-weight:bold;
	align-items: center; /* ← 縦方向中央揃え */
	margin-top:-2vw;
}


.kw_cart_price{
	font-size:3.8vw;
	line-height:1;
	font-weight:normal;
	margin-top:3vw;
}

.kw_cart_price02{
	font-size:3.2vw;
	line-height:1;
	vertical-align:0.1vw;
	font-weight:normal;
}



.kw_cart_set_text_set02{
	margin-left:0;
	margin-top:5vw;
}


.kw_cart_set_text_set02_text_box{
	width:50vw;
	display: flex;              /* ←これを追加 */
	justify-content: space-between; /* ← 左右に振り分け */
}

.kw_cart_set_text_set02_text01{
	font-size:3.2vw;
	line-height:1.8;
}

.kw_cart_set_text_set02_text02 a{
	font-size:3.2vw;
	line-height:1.8;
	color:#3f2e40;
}

.kw_cart_set_text_set02_input{
	position:relative;
	margin-top:2vw;
	width:50vw;
	padding:1vw 0;
	border:solid 1px #c5c0c5;
	text-align:center;
	font-size:4.2vw;
	box-sizing:border-box;
	letter-spacing:0.1em;
	color:#3f2e40;
}

.kw_cart_set_right{
	position:relative;
	margin-top:3vw;
	
}

.kw_cart_price_box{
	display: flex;              /* ←これを追加 */
	justify-content: space-between; /* ← 左右に振り分け */
}



.kw_cart_set_text_set02_text02 a.kw_cart_delete{
	width:20vw;
	font-size:3.4vw;
	line-height:1;
	display:block;
	padding:2.5vw 0;
	margin-left:0;
	margin-top:2vw;
}


.kw_cart_payment_set{
	border-top:solid 2px #3f2e40;
	border-bottom:solid 2px #3f2e40;
	padding-top:5vw;
	padding-bottom:5vw;	
	display: flex;              /* ←これを追加 */
	justify-content: space-between; /* ← 左右に振り分け */
	flex-wrap: wrap; /* 折り返しOK */
}

.kw_cart_payment_text01{
	display:block;
	font-size:3.8vw;
	line-height:1.8;
}

.kw_cart_payment_text02{
	display:block;
	font-size:3.8vw;
	line-height:1.8;
}

.kw_cart_text_bold{
	font-weight:bold;
}

.kw_cart_price03{
	font-size:3.2vw;
	vertical-align:1px;
}


.kw_cart_btn_set{
	position:relative;
	margin-top:8vw;
	margin-bottom:14vw;
	width:100vw;
	margin-left:-4vw;
	background:#e2e0e3;
	padding:4vw 0 4vw;
	display: block;
	align-items: center;       /* 縦中央揃え */
	
}


.kw_cart_btn_set_back{
	position: absolute;
	bottom:calc(-4vw - 8vw);
	left:50%;
	font-size:3.2vw;
	font-weight:bold;
	color:#3f2e40;
	text-underline-offset:13px;
	margin:0 auto 0;
	display:block;
	transform: translateX(-50%); /* 自分の幅の半分だけ左にずらす */
}

.kw_cart_btn_set .kw_btn02 {
	position: relative;
	width:67vw;
	left: auto;                /* 親の中央に配置 */
	transform: translateX(0); /* 自分の幅の半分だけ左にずらす */
	margin:0 auto 0;
	display:block;
	
	/* 修正版 */
	width:92vw;
	padding:5.5vw 0;
	font-size:4.2vw;
}









/* 会社概要｜沿革 */
.kw_company_set01{
	position:relative;
	width:100%;
	margin:0 auto 0;
	padding-top:5vw;
}

.kw_company_caption{
	padding-top:8vw;
}

.kw_company_set02{
	position:relative;
	width:100%;
	margin:0 auto 0;
	padding-top:8vw;
	padding-bottom:0;
}

.kw_company_set01 .kw_company_text_set{
	width:100%;
	display:block;
	align-items: flex-start; /* ← 上寄せ */
	justify-content: flex-start; /* 横方向を左寄せ（任意） */
	margin-top:3vw;
}

.kw_company_set02 .kw_company_text_set{
	width:100%;
	display:block;
	align-items: flex-start; /* ← 上寄せ */
	justify-content: flex-start; /* 横方向を左寄せ（任意） */
	padding-top:3vw;
	padding-bottom:3vw;
	border-bottom:solid 1px #c5c0c5;
}

.kw_company_set02 .kw_company_text_set:first-of-type {
	border-top:solid 1px #c5c0c5;
}


.kw_company_text01{
	width:100%;
	display:block;
	font-size:3.2vw;
	line-height:1.8;
	font-weight:bold;
	margin-top:0;
}


.kw_company_text02{
	display:block;
	font-size:3.8vw;
	line-height:1.8;
}



/* 企業としての取り組み */
.kw_activity_set{
	position:relative;
	width:100%;
	margin:0 auto 0;
	padding-top:0;
}


.kw_activity_text_set{
	width:100%;
	padding-top:8vw;
	padding-bottom:5vw;
	border-bottom:solid 1px #c5c0c5;
}

.kw_activity_text_set:last-of-type {
	border-bottom:none;
}

.kw_activity_text_set .caption02{
	letter-spacing:0.05em;
}

.privacy_caption02{
	line-height:1.6;
}

.kw_activity_text_set .text01{
	margin-top:3vw;
}



/* メディア */
.kw_media_set{
	position:relative;
	width:100%;
	margin:0 auto 0;
	padding-top:8vw;
}


.kw_media_text_set{
	width:100%;
	padding-top:8vw;
	padding-bottom:8vw;
	border-bottom:solid 1px #c5c0c5;
}

.kw_media_text_set:last-of-type {
	border-bottom:none;
}

.kw_media_text_set .text01{
	margin-top:3vw;
}


.kw_media_text_set_coming{
	width:100%;
	display: flex;                 /* flexを有効に */
	justify-content: center;      /* 横方向の中央寄せ */
	align-items: center;    
}


.caption02_coming{
	font-size:3.8vw;
	margin-top:48vw;
	margin-bottom:58vw;
}


/* 品質 */
.kw_policy_set02{
	position:relative;
	width:100%;
	margin:0 auto 0;
	padding-bottom:0;
}

.kw_policy_set02 .caption02{
	margin-bottom:8vw;
}

.policy_box01{
	display: block;
	align-items: flex-start; /* 上揃えにしたい場合 */
	gap: 0; /* 左右の間隔 */
	margin-top:8vw;
}

.policy_left_box{
	margin-bottom:8vw;
}

.policy_box01 img{
	width:100%;
	height:auto;
}

/* ご利用ガイド */
.kw_guide_nav{
	position:relative;
	width:100%;
	margin:8vw auto -2vw;
	display:flex;
	column-gap:8vw;
	row-gap:5vw;
	font-size:3.2vw;
	flex-wrap:wrap; /* 折り返しを許可 */
}


.kw_guide_nav a{
	color: #3f2e40;
}

.kw_guide_set{
	position:relative;
	width:100%;
	margin:0 auto 0;
}

.kw_guide_set .caption02{
	margin-bottom:5vw;
}

.kw_guide_set .kw_line{
	width:100%;
	margin:5vw auto 7vw;
}

.kw_guide_photo01{
	width:88vw;
	height:auto;
	margin:5vw auto 5vw;
}

.kw_guide_photo02{
	width:82vw;
	height:auto;
	margin:5vw auto 5vw;
	border:solid 1px #c5c0c5;
}

.kw_guide_table {
	width:auto;
	display:block;
	grid-template-columns: auto auto; /* ← 左は内容に合わせ、右は残り幅を使う */
	column-gap: 0; /* ← 左右の間隔 */
	row-gap: 0; /* ← 左右の間隔 */
	margin-top:5vw;
}


.kw_guide_table_left {
	margin-top:3vw;
	line-height:1.6;
}

.kw_guide_table_right {
	text-align: left;
	line-height:1.6;
}

.kw_guide_qa{
	margin-top:5vw;
}

a.kw_guide_link{
	font-size:3.2vw;
	font-weight:bold;
	color:#3f2e40;
	text-decoration:underline;
}








/* SP/PC用 */
.rps_del{
	display:none;
}
.rps_visible{
	display:block;
}


/* 一時的に非公開 */
.kw_head_sns_link04,
.kw_footer_sns_link03{
	display:none;
}

.kw_sp_menu_sns_set .kw_sp_menu_detail02:nth-of-type(3){
	display:none;
}










}