/* layout sp
--------------------------------------------------*/
@media screen and (max-width: 768px) {

/* マージンベース
	3vw
	5vw
	8vw
	14vw
	16vw
 */




/* 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;
}

.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.6;
}

.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 #fddd9c;
	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:0;
	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;
}

header.scrolled .kw_head_sns_set{
	position:absolute;
	right:4vw;
	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:-6vw;
	left:-4vw;
	width:12vw;
	height:16vw;
}


.kw_head_sns_link04{
	position:relative;
	height:auto;
	margin-left:6.4vw;
}


.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(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: 170%;
	margin-left:-35%;
	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_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_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_main_set{
	position:relative;
}


/* 通常時（メインセット内にいる時） */
.kw_main_set_btn_set{
	position: absolute;
	bottom: 4vw;
	right: 4vw;
	z-index: 1;
}

/* 固定位置（画面右下）にする時 */
.kw_main_set_btn_set.fixed{
	position: fixed;
	bottom: 4vw;
	right: 4vw;
	z-index: 1;
}



.kw_main_set_btn_set01{
	position:absolute;
	bottom:0;
	right:0;
	opacity:0;
	transition: opacity 0.8s ease;
}

.kw_main_set_btn_set02{
	position:absolute;
	bottom:0;
	right:0;
	opacity:0;
	transition: opacity 0.8s ease;
}

.kw_main_set_btn_set01.active {
	opacity: 1;
}

.kw_main_set_btn_set02.active {
	opacity: 1;
}


.kw_main_set_btn01{
	position:relative;
	top:0;
	left:0;
	width:27vw;
	opacity:1;
}

.kw_main_set_btn02{
	position:absolute;
	top:0;
	left:0;
	width:27vw;
	opacity:0;
}

.kw_main_set_btn03{
	position:absolute;
	top:0;
	left:0;
	width:27vw;
	opacity:0;
}









/* 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;
}


}