@charset "utf-8";
/**
 * layout pc
 */


/* import
--------------------------------------------------
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500&display=swap");
*/
@import "init.css";


/* トップへ戻るボタン
--------------------------------------------------*/
.go_top{
	position:fixed;
	bottom:24px;
	right:24px;
	z-index:1;
	cursor:pointer;
}

.go_top img{
	width:40px;
	height:40px;
}




/* ボタン */
.kw_btn_set{
	position:relative;
	width:100%;
	display:flex;
	align-items: center;   /* 縦方向の中央 */
	justify-content: center; /* 横方向の中央 */
}


.kw_btn{
	width:290px;
	padding:12px 0;
	line-height:1;
	font-size:14px;
	font-weight:bold;
	color:#3f2e40;
	text-decoration:none;
	text-align:center;
	border:solid 1px #9f9190;
	border-radius:60px;
	
	transition: all 0.3s;
}


.kw_btn:hover{
	border:solid 1px #3f2e40;
	background:#3f2e40;
	color:#ffffff;
}


.kw_btn02{
	width:290px;
	padding:12px 0;
	line-height:1;
	font-size:14px;
	font-weight:bold;
	color:#ffffff;
	text-decoration:none;
	text-align:center;
	border:solid 1px #3f2e40;
	background:#3f2e40;
	border-radius:60px;
	
	transition: all 0.3s;
}


.kw_btn02:hover{
	border:solid 1px #9f9190;
	background:none;
	color:#3f2e40;
}


/* 完売表記
--------------------------------------------------*/
.kw_btn03{
	width:290px;
	padding:12px 0;
	line-height:1;
	font-size:14px;
	font-weight:bold;
	color:#3f2e40;
	text-decoration:none;
	text-align:center;
	border:solid 1px #c5c0c6;
	background:#c5c0c6;
	border-radius:60px;
	
	transition: all 0.3s;
}



/* カート削除ボタン
--------------------------------------------------*/
.kw_btn.kw_cart_delete{
	width:290px;
	padding:17px 0;
	line-height:1;
	font-size:14px;
	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 #3f2e40;
	background:none;
	color:#3f2e40;
}



/* フォント系
--------------------------------------------------*/
.caption_about{
	font-size:28px;
	line-height:1;
}

.caption01{
	position:relative;
	font-size:28px;
	line-height:1;
	padding-bottom:30px;
	display:block;
	border-bottom: solid 1px #3f2e40;
	font-weight:bold;
	letter-spacing:0.1em;
}

.caption02{
	font-size:24px;
	line-height:1;
	display:block;
	font-weight:bold;
	letter-spacing:0.1em;
}

.caption03{
	position:relative;
	width:1098px;
	font-size:28px;
	line-height:1;
	display:block;
	font-weight:bold;
	letter-spacing:0.1em;
	margin:90px auto 0;
}

.caption04{
	font-size:28px;
	line-height:1;
	display:block;
	font-weight:bold;
	letter-spacing:0.1em;
}

.caption05{
	font-size:18px;
	line-height:1;
	display:block;
	font-weight:bold;
	letter-spacing:0.1em;
	margin:0 auto 40px;
}

.date{
	font-size:14px;
	line-height:1.6;
	
}

.text01{
	font-size:18px;
	line-height:1.9;
}

.kw_bold{
	font-weight:bold;
}

.text01 a{
	color: #3f2e40;
	text-decoration:none;
	overflow-wrap: break-word;
}

.text01_right{
	display:block;
	text-align:right;
}

.text02{
	font-size:14px;
	line-height:1.8;
}

.text03{
	font-size:14px;
	line-height:1.8;
	font-weight:bold;
}

.text04{
	font-size:16px;
	line-height:1.8;
	font-weight:bold;
}

.btn_text{
	font-size:18px;
	line-height:1;
}


.kw_price{
	margin-top:10px;
}

.kw_price_bold{
	font-weight:bold;
}


.kw_new{
	background:#a1272e;
	margin-right:10px;
	font-size:10px;
	width:50px;
	height:20px;
	color:#ffffff;
	line-height:1;
	display:inline-block;
	text-align:center;
	line-height: 20px; /* 高さと同じ値にする */
	vertical-align:2px;
}



.kw_indent{
	list-style: none; /* デフォルトの黒丸を消す */
	padding-left:1em; /* 全体を右に */
	text-indent:-1em; /* 番号の分だけ戻す */
	line-height: inherit; /* 行間も親と同じに */
	font-size: inherit;   /* ← これで親と同じサイズを強制的に継承 */
	display:block;
}

a{
	text-underline-offset:5px;
}


/* html, body
--------------------------------------------------*/
    html,body {
	position:absolute;
	width:100%;
    min-width:1200px;
	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:1200px;
	height: 60px;
	border-bottom: solid 1px #3f2e40;
	z-index:4;
	transition: background 0.3s ease, color 0.3s ease, border-bottom 0.3s ease;
	background:#fff5e1;
}

header a{
	color:#fddd9c;
}



/* ヘッダー背景色・リンク色のフェード */
.kw_head_set {
	transition: background-color 0.8s ease;
}
.kw_head_set a {
	transition: color 0.8s ;
}


/* ヘッダロゴ */
.kw_head_logo {
	opacity:1;
	transition: opacity 0.3s ease, transform 0.3s ease; /* transformもトランジションに追加 */
}

.kw_head_logo:hover {
	opacity:0.7;
}





.kw_logo_set{
	position: relative;
	float:left;
}

.kw_head_logo{
	margin-top:20px;
	margin-left:50px;
	margin-right:60px;
	width:150px;
	height:auto;
}

.kw_head_logo02{
	position:absolute;
	top:0;
	left:0;
	opacity:0;
}




/* ヘッダテキストリンク */
.kw_head_text_set{
	height:60px;
	position: relative;
	padding-top:20px;
	font-size:14.5px;
	font-weight:bold;
	display:flex;
	box-sizing:border-box;
}

.kw_head_link{
	display:flex;
	display:block;
	margin-right:35px;
	text-decoration:none;
	color:#3f2e40;
}


.kw_head_link_onlineshop.active,
.kw_head_link_store.active{
	border-bottom:2px solid #3f2e40;
}




/* ヘッダSNSボタン */
.kw_head_sns_set{
	position:absolute;
	right:50px;
	top:30px;
	display:flex;
}

.kw_head_sns_link01_img01{
	width:16px;
	height:auto;
}

.kw_head_btn_link02_img01{
	width:17px;
	height:auto;
}


.kw_head_sns_link01{
	position:relative;
}

.kw_head_sns_link02{
	position:relative;
	height:auto;
	margin-left:25px;
}


.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_btn_set{
	position:absolute;
	right:50px;
	top:22px;
	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_cart_number{
	position:relative;
	width:21px;
	height:21px;
	line-height:21px;
	font-size:11px;
	background:#a1272e;
	border-radius:100px;
	letter-spacing:0.05em;
	text-align:center;
	color:#fff5e1;
	margin-left:4px;
}





/* 店舗ページ */
.shop_set{
	position:relative;
	width:1098px;
	display:block;
	margin:90px auto 0;
}
.shop_set_last{
	margin-bottom:10px;
}


.shop_box01{
	display: flex;
	align-items: flex-start; /* 上揃えにしたい場合 */
	gap: 100px; /* 左右の間隔 */
	
}


.shop_photo_big_set{
	position:relative;
	width:419px;
	height:300px;
}

.shop_photo_big_set img{
	position:absolute;
	width:100%;
	height:auto;
}


.shop_photo_small_set{
	position:relative;
	margin-top:19px;
	display:flex;
	gap:24px;
}


.shop_photo_small_set img{
	width:124px;
	height:auto;
	cursor:pointer;
}

.shop_text{
	margin-top:40px;
}






/* カテゴリーページ */
.kw_onlineshop_category_set{
	display: flex;
	flex-wrap: wrap;           /* 折り返しを許可 */
	gap: 46px;
}


/* ニュースページ */
.kw_news_caption01{
	font-size:24px;
	margin-bottom:20px;
	line-height:1;
}

.kw_news_caption02{
	position:relative;
	font-size:28px;
	line-height:1.6;
	display:block;
	font-weight:bold;
	letter-spacing:0.1em;
}

.kw_news_data{
	margin-top:20px;
	margin-bottom:60px;
	font-size:14px;
	line-height:1;
	display:block;
	letter-spacing:0.1em;
}

/* ニュースページ記事部分 */
.kw_news_text_set{
	font-size:18px;
	line-height:2;
}

.kw_news_text_set a{
	color: #3f2e40;
	text-decoration-thickness:2px;
	transition: opacity 0.3s ease, transform 0.3s ease; /* transformもトランジションに追加 */
}

.kw_news_text_set a:hover{
	text-decoration:none;
	opacity:0.7;
}

.kw_news_text_set img{
	width:560px;
	height:auto;
	margin:40px auto 40px;
}

.kw_news_nav{
	position:relative;
	margin-top:80px;
	display: flex;
	justify-content: space-between; /* 左右端に配置 */
	align-items: center;           /* 縦位置を揃える */
}

.kw_news_nav_prev{
	font-size:14px;
	color: #3f2e40;
	line-height:1;
	text-decoration:none;
	letter-spacing:0.05em;
	font-weight:bold;
}

.kw_news_nav_next{
	font-size:14px;
	line-height:1;
	color: #3f2e40;
	text-decoration:none;
	letter-spacing:0.05em;
	font-weight:bold;
}

.kw_news_nav_off{
	opacity:0.5;
}




/* 鎌倉ウィッチについて  */

.kw_about_main {
	position:relative;
	margin-top:50px;
	margin-bottom:100px;
	width: 100%;
	height: 638px;
	overflow: hidden; /* はみ出し防止 */
}

.kw_about_main img {
	width: 100%;
	height: 100%;
	object-fit: cover; /* 枠いっぱいに拡大＆トリミング */
	display: block;
}

.kw_about_text01{
	margin-top:40px;
	font-size:18px;
	line-height:1.9;
}


.kw_about_link_set{
	position:relative;
	width:1098px;
	margin:0 auto 0;
	padding-bottom:90px;
	display:flex;
	gap:45px;
	flex-wrap: wrap;      /* 子要素を折り返す */
	justify-content: flex-start; /* 左寄せ */
}

.kw_about_link_set a{
	color: #3f2e40;
	text-decoration:none;
}

.kw_about_link_detail{
	position:relative;
	width:335px;
	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:25px;
	font-size:18px;
}



/* おひとつどうぞ */
.kw_policy_set{
	position:relative;
	width:1098px;
	margin:0 auto 0;
	padding-bottom:40px;
}



/* 会社概要｜沿革 */
.kw_company_set01{
	position:relative;
	width:1098px;
	margin:0 auto 0;
	padding-top:40px;
}

.kw_company_set02{
	position:relative;
	width:1098px;
	margin:0 auto 0;
	padding-top:30px;
	padding-bottom:40px;
}

.kw_company_set01 .kw_company_text_set{
	width:100%;
	display: flex;
	align-items: flex-start; /* ← 上寄せ */
	justify-content: flex-start; /* 横方向を左寄せ（任意） */
	margin-top:20px;
}

.kw_company_set02 .kw_company_text_set{
	width:100%;
	display: flex;
	align-items: flex-start; /* ← 上寄せ */
	justify-content: flex-start; /* 横方向を左寄せ（任意） */
	padding-top:20px;
	padding-bottom:20px;
	border-bottom:solid 1px #c5c0c5;
}

.kw_company_set02 .kw_company_text_set:first-of-type {
	border-top:solid 1px #c5c0c5;
}


.kw_company_text01{
	width:220px;
	display:block;
	font-size:16px;
	line-height:1.8;
	font-weight:bold;
	margin-top:2px;
}


.kw_company_text02{
	display:block;
	font-size:18px;
	line-height:1.8;
	flex: 1; 
}


.kw_company_text02 a{
	color: #3f2e40;
	text-decoration:none;
}



/* 企業としての取り組み */
.kw_activity_set{
	position:relative;
	width:1098px;
	margin:0 auto 0;
	padding-top:20px;
}


.kw_activity_text_set{
	width:100%;
	padding-top:35px;
	padding-bottom:35px;
	border-bottom:solid 1px #c5c0c5;
}

.kw_activity_text_set:last-of-type {
	border-bottom:none;
}

.kw_activity_text_set .text01{
	margin-top:15px;
}

/* 品質 */
.kw_policy_set02{
	position:relative;
	width:1098px;
	margin:0 auto 0;
	padding-bottom:40px;
}

.kw_policy_set02 .caption02{
	margin-bottom:50px;
}

.policy_box01{
	display: flex;
	align-items: flex-start; /* 上揃えにしたい場合 */
	gap: 50px; /* 左右の間隔 */
	margin-top:60px;
}

.policy_box01 img{
	width:600px;
	height:auto;
}







/* ヘッダーホバー  */
.kw_head_menu01_set,
.kw_head_menu02_set{
	position:absolute;
	top:60px;
	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_splide,
#kw_splide .splide__slide {
	width: 100%;
	height: calc(100vh /*- 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%;
	background:#fff5e1;
	padding-top:90px;
	padding-bottom:80px;
}

.kw_contents_set.white {
	background:#ffffff;
}




/* おひとつどうぞ */
.kw_about_set{
	position:relative;
	width:1098px;
	margin:0 auto 0;
	padding-bottom:90px;
}

.kw_about_set_photo{
	margin-bottom:54px;
}

.kw_about_set_caption{
	margin-bottom:15px;
}



/* お買い物かご */
.kw_cart_set{
	border-bottom:solid 1px #c5c0c5;
	display: flex;              /* ←これを追加 */
	justify-content: space-between; /* ← 左右に振り分け */
	padding:30px 0;
}

.kw_cart_set:first-of-type {
	padding-top: 0;
}

.kw_cart_set:last-of-type {
	border-bottom:none;
}

.kw_cart_set_left{
	display: flex;
	align-items: stretch; /* ←これを追加 */
}

.kw_cart_set_photo{
	width:128px;
	height:128px;
	margin-right:50px;
	flex-shrink: 0;          /* 画像が縮まないようにする */
}

.kw_cart_set_text_set{
	width:380px;
	display: flex;              /* ←これを追加 */
	flex-direction: column;     /* 子を上下方向に並べる */
	justify-content: space-between; /* 上下に振り分け */
}

.kw_cart_name{
	font-size:18px;
	line-height:1.8;
	font-weight:bold;
}


.kw_cart_option{
	font-size:14px;
	line-height:1.6;
	font-weight:bold;
}

.kw_cart_price_box{
	font-size:20px;
	line-height:1;
	display:flex;
	font-weight:bold;
	align-items: center; /* ← 縦方向中央揃え */
	margin-top:17px;
}


.kw_cart_price{
	font-size:18px;
	line-height:1;
	font-weight:normal;
}


.kw_cart_price02{
	font-size:14px;
	line-height:1;
	vertical-align:1px;
	font-weight:normal;
}



.kw_cart_set_text_set02{
	margin-left:70px;
}


.kw_cart_set_text_set02_text_box{
	width:160px;
	display: flex;              /* ←これを追加 */
	justify-content: space-between; /* ← 左右に振り分け */
}

.kw_cart_set_text_set02_text01{
	font-size:14px;
	line-height:36px;
}

.kw_cart_set_text_set02_text02 a{
	font-size:14px;
	line-height:36px;
	color:#3f2e40;
}

.kw_cart_set_text_set02_input{
	position:relative;
	margin-top:23px;
	width: 160px;
	padding:5px 0;
	border:solid 1px #c5c0c5;
	text-align:center;
	font-size:14px;
	box-sizing:border-box;
	letter-spacing:0.1em;
	color:#3f2e40;
}


.kw_cart_price_box{
	display: flex;              /* ←これを追加 */
	justify-content: space-between; /* ← 左右に振り分け */

}



.kw_cart_set_text_set02_text02 a.kw_cart_delete{
	width:72px;
	font-size:14px;
	line-height:1;
	display:block;
	padding:12px 0;
	margin-left:70px;
}


.kw_cart_payment_set{
	border-top:solid 2px #3f2e40;
	border-bottom:solid 2px #3f2e40;
	padding-top:25px;
	padding-bottom:25px;	
	display: flex;              /* ←これを追加 */
	justify-content: space-between; /* ← 左右に振り分け */
}

.kw_cart_payment_text01{
	font-size:21px;
	line-height:1;
}

.kw_cart_payment_text02{
	font-size:21px;
	line-height:1;
}

.kw_cart_text_bold{
	font-weight:bold;
}

.kw_cart_price03{
	font-size:18px;
	vertical-align:1px;
}


.kw_cart_btn_set{
	margin-top:100px;
	padding:10px 0 30px;
	display: flex;
	align-items: center;       /* 縦中央揃え */
}


.kw_cart_btn_set_back{
	font-size:14px;
	font-weight:bold;
	color:#3f2e40;
	margin-right: auto;  
}

.kw_cart_btn_set .kw_btn02 {
	position: absolute;
	left: 50%;                /* 親の中央に配置 */
	transform: translateX(-50%); /* 自分の幅の半分だけ左にずらす */
}







/* 商品詳細 */
.kw_detail_set{
	position:relative;
	width:1098px;
	margin:80px auto 0;
	display: flex;
	align-items: flex-start; /* 上揃え */
	gap:100px;
}

.kw_detail_left_set {
	width:574px;
}

.kw_detail_right_set_wrap {
	position:absolute;
	height:100%;
	top:0;
	right:0;
}


.kw_detail_right_set {
	width: 424px;       /* 右カラムの幅 */
	position: sticky;   /* ここがポイント */
	top: 80px;          /* 画面上から20pxの位置で固定 */
	align-self: flex-start; /* 高さ合わせを防ぐ */
}


.kw_detail_photo_big_set{
	position:relative;
	width:574px;
	height:574px;
}

.kw_detail_photo_big_set img{
	width: 100%;
	height: 100%;
	object-fit: cover;   /* ← 親のサイズに合わせて切り抜き */
	position: absolute;
	top: 0;
	left: 0;
}

/* 1枚目だけ表示 */
.kw_detail_photo_big_set img:nth-child(1) {
	opacity: 1;
}

/* 2・3枚目は非表示 */
.kw_detail_photo_big_set img:nth-child(2),
.kw_detail_photo_big_set img:nth-child(3) {
	opacity: 0;
}


.kw_detail_photo_small_set{
	position:relative;
	margin-top:24px;
	display:flex;
	gap:32px;
}

.kw_detail_photo_small_set_detail {
	cursor: pointer;
	width: 170px;
	height: 170px;
	position: relative; /* もし絶対配置を使う場合に必要 */
	overflow: hidden;   /* はみ出しを隠す */
}

.kw_detail_photo_small_set_detail img {
	width: 100%;
	height: 100%;
	object-fit: cover;   /* 親のサイズに合わせて切り抜き */
	/* position: absolute; ← これは不要 */
}

.kw_detail_text{
	font-size:18px!important;
	line-height:1.8!important;
	margin-top:40px;
	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:18px!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:0.7;
}


.kw_detail_text_small{
	font-size:14px;
	line-height:1.8;
}

.kw_detail_right_set .kw_name{
	font-size:28px;
	line-height:1.8;
	font-weight:bold;
}


.kw_detail_right_set .kw_price{
	font-size:18px;
	line-height:1.8;
	margin-top:30px;
}


.kw_detail_right_set .kw_price02{
	font-size:14px;
	line-height:1.8;
	vertical-align:1px;
	margin-bottom:50px;
}


.kw_detail_right_set .kw_new{
	vertical-align:7px;
}

.kw_detail_right_set_text{
	margin-top:50px;
	margin-bottom:100px;
}


/* ベースの表示 */
.kw_detail_right_set_text_set{
	/*display:flex; */
	align-items: flex-start; /* 左寄せにする */
	align-items: center;   /* 縦方向の中央 */
	width: 100%;
	margin-bottom:20px;
}

.kw_detail_right_set_text_set02{
	display:flex;
	height:30px;
	align-items: flex-start; /* 左寄せにする */
	align-items: center;   /* 縦方向の中央 */
	width: 100%;
	margin-bottom:20px;
}


.kw_detail_right_set_text_set_text01{
	font-size:18px;
	width:145px;
}


.kw_detail_right_set_text_set_text_input{
	position:relative;
	width: calc(100% - 145px);
}

.kw_detail_right_set_text_set select{
	position:relative;
	width:100%;
	padding:5px 5px;
	border:solid 1px #c5c0c5;
	text-align:left;
	font-size:14px;
	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: 10px;           /* 右に配置 */
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;   /* 矢印をクリックしても反応しない */
	color:#3f2e40;
	font-size: 18px;       /* 大きさ調整 */
}




/* メイクショップの表示 */
.makeshop-option-wrap{
	display:flex;
	height:30px;
	align-items: flex-start; /* 左寄せにする */
	align-items: center;   /* 縦方向の中央 */
	width: 100%;
	margin-bottom:20px;
}

.makeshop-option-label{
	font-size:18px;
	width:145px;
}

.makeshop-option-select-wrap{
	position:relative;
	width: calc(100% - 145px);
}

.makeshop-option-select-wrap select{
	position:relative;
	width:100%;
	padding:5px 5px;
	border:solid 1px #c5c0c5;
	text-align:left;
	font-size:14px;
	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: 10px;           /* 右に配置 */
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;   /* 矢印をクリックしても反応しない */
	color:#3f2e40;
	font-size: 18px;       /* 大きさ調整 */
}

.kw_detail_right_set_text_set_text_input:after{
	content: "";           /* 矢印っぽい記号 */
}









.kw_detail_right_set_btn_set{
	margin-top:100px;
	display: flex;
	justify-content: center; /* 横方向中央揃え */
}


.kw_detail_right_set_btn_set .kw_btn02{
}








/* お知らせ */
.kw_news_set{
	position:relative;
	width:1098px;
	margin:0 auto 0;
	padding-bottom:90px;
}

.kw_news_set_caption{
}

.kw_news_set_box_wrap{
	text-decoration:none;
}

.kw_news_set_box{
	margin-top:30px;
	display:flex;
	width:fit-content; /* 中の要素に合わせて幅を決定 */
	color:#3f2e40;
}

.kw_news_set_date{
	margin-bottom:15px;
}

.kw_news_set_box_photo{
	width:128px;
	height:128px;
	margin-right:40px;
	flex-shrink: 0;          /* 画像が縮まないようにする */
}

.kw_news_set_btn{
	margin-top:100px;
}


/* ご利用ガイド */
.kw_guide_nav{
	position:relative;
	width:1098px;
	margin:30px auto 0;
	display:flex;
	gap:30px;
	font-size:16px;
}

.kw_guide_nav a{
	color: #3f2e40;
	display:inline-block;
}

.kw_guide_set{
	position:relative;
	width:1098px;
	margin:0 auto 15px;
}

.kw_guide_set .caption02{
	margin-bottom:40px;
}

.kw_guide_set .kw_line{
	margin:40px auto 50px;
}

.kw_guide_photo01{
	width:474px;
	height:auto;
	margin-bottom:40px;
}

.kw_guide_photo02{
	width:434px;
	height:auto;
	margin-bottom:40px;
	border:solid 1px #c5c0c5;
}

.kw_guide_table {
	width: fit-content;
	display: grid;
	grid-template-columns: auto auto; /* ← 左は内容に合わせ、右は残り幅を使う */
	column-gap: 100px; /* ← 左右の間隔 */
	row-gap: 10px; /* ← 左右の間隔 */
	margin-top:50px;
}

.kw_guide_table_right {
	text-align: right;
}

.kw_guide_qa{
	margin-top:40px;
}

a.kw_guide_link{
	font-size:14px;
	font-weight:bold;
	color:#3f2e40;
	text-decoration:underline;
}



/* オンラインショップ */
.kw_onlineshop_set{
	position:relative;
	width:1098px;
	margin:90px auto 0;
}

.kw_onlineshop_set_caption01{
	margin-bottom:50px;
}

.kw_onlineshop_set_caption02{
	margin-top:45px;
	margin-bottom:30px;
}

.kw_onlineshop_set_box_photo{
	width:240px;
	height:240px;
	margin-bottom:20px;
	flex-shrink: 0;          /* 画像が縮まないようにする */
}


.kw_onlineshop_set_box{
	width:240px;
	text-decoration:none;
	color:#3f2e40;
	display:block;
}





/* オンラインスライド */
#kw_onlineshop_splide01{
	width: 100%;
	overflow: hidden;
	position: relative;
	touch-action: pan-y; /* 横スワイプのみ許可 */
}

#kw_onlineshop_splide02{
	width: 100%;
	overflow: hidden;
	position: relative;
	touch-action: pan-y; /* 横スワイプのみ許可 */
}

#kw_onlineshop_splide03{
	width: 100%;
	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;
}

.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;
}

.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;     /* 必要に応じて */
}

.no_photo{
	border:solid 1px #9e969f;
}

.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:0.7;
}

.over01:hover img{
	transform: scale(1.03); /* 画像を1.05倍に拡大 */
	transition: transform 0.3s ease; /* 拡大のアニメーション */
}

.over02{
	transition: opacity 0.3s ease, transform 0.3s ease; /* transformもトランジションに追加 */
}

.over02:hover{
	opacity:0.7;
}





.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:50px;
}

footer a{
	color:#fddd9c;
	text-decoration:none;
}

.footer_menu{
	position:relative;
	margin-left:50px;
	margin-bottom:25px;
	display:flex;
	gap:0;
}

.kw_footer_link{
	display:flex;
	display:block;
	margin-right:35px;
	text-decoration:none;
	font-size:14px;
}

.kw_footer_link_bold{
	font-weight:bold;
}



.footer_sns{
	position:relative;
	margin-left:50px;
	margin-bottom:65px;
	display:flex;
}

.kw_footer_sns_link01{
	display:flex;
	margin-right:23px;
	font-size:14px;
	line-height:15px;
}

.kw_footer_sns_link02{
	display:flex;
	margin-right:23px;
	font-size:14px;
	line-height:15px;
}

.kw_footer_sns_link03{
	display:flex;
	font-size:14px;
	line-height:15px;
}

.kw_footer_sns_link01_img01,
.kw_footer_sns_link02_img01,
.kw_footer_sns_link03_img01{
	position:relative;
	width:15px;
	height:auto;
	flex-shrink:0;
	object-fit: contain;
}


.footer_info{
	position:relative;
	margin-left:50px;
	margin-bottom:50px;
	display:block;
	font-size:14px;
	line-height:24px;
}


.kw_footer_logo{
	position:absolute;
	bottom:87px;
	left:50%;
	margin-left:-92px;
	width:184px;
	height:auto;
}


.footer_under{
	width:100%;
	border-top:solid 1px #fddd9c;
	text-align:center;
	font-size:9.5px;
	letter-spacing:0.05em;
	padding-top:8px;
	padding-bottom:8px;
}




.kw_line{
	position:relative;
	width:100%;
	height:1px;
	background:#c5c0c5;
	margin-top:100px;
	margin-bottom:100px;
}




/* パンクズリスト */
.bread_list{
	display:flex;
	font-size:14px;
	line-height:16px;
	margin-left:50px;
	color:#3f2e40;
}

.bread_list a{
	text-decoration:none;
	color:#3f2e40;
}

.bread_list_slash{
	margin:0 20px;
}

.bread_list_now{
	font-size:16px;
	font-weight:bold;
}







/* メディア */
.kw_media_set{
	position:relative;
	width:1098px;
	margin:0 auto 0;
	padding-top:20px;
}

.kw_media_set_box{
	margin-top:40px;
	display:flex;
	text-decoration:none;
	color:#3f2e40;
}


.kw_media_text_set{
	width:100%;
	padding-top:30px;
	padding-bottom:30px;
	border-bottom:solid 1px #c5c0c5;
}

.kw_media_text_set:last-of-type {
	border-bottom:none;
}

.kw_media_text_set .text01{
	margin-top:5px;
}


.kw_media_text_set_coming{
	width:100%;
	display: flex;                 /* flexを有効に */
	justify-content: center;      /* 横方向の中央寄せ */
	align-items: center;    
}


.caption02_coming{
	font-size:24px;
	font-weight:bold;
	color:#9f9190;
	margin-top:300px;
	margin-bottom:400px;
}


/* 電話番号リンク */
.shop_text a{
	color: #3f2e40;
	text-decoration:none;
}


/* 持ち運び用手提げ袋用 */
.is-long-text{
	font-size:12px;
}




/* ここからテンプレートエリア */
.rps_visible{
    display:none;
}

.rps_del{
    display:block;
}



/* 一時的に非公開 */
.kw_head_sns_link04,
.kw_footer_sns_link03{
	display:none;
}


/* 電話番号 */
.tel,
.shop_text .tel,
.kw_company_text02 .tel{
	text-decoration:underline;
	text-underline-offset:3px;
}



