/* ============================================================
  
  /layout/
  このディレクトリのCSSは「画面構造・枠組み」関連を格納ください。
  
  header.css 内ルール
  
  1. BiNDup標準の機能で設定できないもののみ記述すること
  2. 原則共通で使用できる内容のみ記述すること
  
============================================================ */
/* common */
html {
    scroll-behavior: smooth;
    font-family: 'FOT-筑紫明朝 Pr6', serif;
}
[id] {
    scroll-margin-top: 60px;
}
svg{
	overflow: visible;
}
span.dash-line{
	letter-spacing: -1px;
}

/* nav_menu */
.b-both_diff:has(#header_nav){
	background: #f7f6f3;
}
.b-both_diff:has(#header_nav),
.b-plain:has(#header_static, #header_nav_sp){
	align-items: center;
}
#header_nav li span a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  text-decoration: none;
}

#header_nav li svg,
#header_nav_sp div p a svg,
#header_static div p a svg {
  display: block;          /* SVGの下にできる謎の隙間を消す */
}
.m-motion.-f li ul li::before {
  display: none !important;
}
.m-motion.-f > li:hover > ul li:first-child:before {
  display: block;
}
.-dress_83619ad495df4f41b60ac94ddc370757 .-col2 .m-motion.-f li ul li:first-child {
    margin-top: 16px!imortant;
}

/*追従バナー差替用*/

/* ウィジェットの基本スタイル */

#w-bottom-right.w-base,
.cssskin-widget_style_stickybtn a::after{
	position: fixed !important;
    left: 0 !important;    /* 左右中央寄せの準備 */
    right: 0 !important;   /* 左右中央寄せの準備 */
    width: 100% !important;
    max-width: 1200px;
    margin: 0 auto !important; /* 中央寄せ */
    pointer-events: none;  /* 枠自体はクリックをスルーさせる */
    display: flex;
    justify-content: flex-end!important; /* 中身（ボタン）を右側に寄せる */
    background: none !important; /* 余計な背景を消す */
    z-index: 999;
}
.w-bottom, #w-bottom-right {
    transition: opacity 0.3s ease, visibility 0.3s ease;
    opacity: 1;
    visibility: visible;
}

/* 非表示状態のクラス（JSでこれを付け外しする） */

.is-hidden {
    opacity: 0!important;
    visibility: hidden;
    pointer-events: none; /* クリックできないようにする */
}

.fix-btn{
	pointer-events: auto;
    background: #000;
    max-width: 128px;
    border-radius: 11px 11px 0 0;
    margin: 0 0 0 auto;
}
a.fix-btn_link{
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    text-align: center;
    line-height: 1.2em;
    font-size: 12px;
    padding: 8px 12px;
}
#cart_icon_wh{
    width: 24px;
    height: auto;
    margin-right: 10px;
}
@media screen and (max-width: 1260px){
	.fix-btn{
		margin-right: 30px;
	}
}
@media screen and (min-width: 641px) and (max-width: 1024px){
	#header_nav svg#logo_black{
		width: 18vw;
    	height: auto;
    	margin-right: 20px;
	}
	#header_nav .m-motion.-f>li a {
		font-size: clamp(12px, 1.5vw, 16px);
	}
}

@media(max-width: 641px){
	#header_nav_sp {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 60px;
		background: #f6f4f3;
		z-index: 9999;
 		box-sizing: border-box;
  		/*border-bottom: 1px solid #eee;*/
 		transform: translateY(0);
  		opacity: 1;
  		transition: transform 0.3s ease-out, opacity 0.3s;
	}
	#header_nav_sp:not(.is-visible):not(.menu-opened) {
  		transform: translateY(-100%);
  		opacity: 0;
  		pointer-events: none;
	}
	#header_nav_sp.is-visible {
 		transform: translateY(0);
  		opacity: 1;
	}
	#header_nav_sp.menu-opened {
  		top: 0;
  		transform: translateY(0);
  		opacity: 1;
		pointer-events: auto;
	}
	#header_static{
		width: 100%;
		height: 60px; /* ヘッダーの高さ */
		background: #f6f4f3;
		z-index: 9999;
 		box-sizing: border-box;
	}
	.header__inner {
  		display: flex;
  		justify-content: space-between;
  		align-items: center;
		height: 100%;
		padding: 0 30px;
	}
	.header__logo .c-none, .header__controls .c-none{
		display: flex;
		align-items: center;
	}
	.header__logo .c-none a, .header__controls .c-none a{
		line-height: 0;
	}
	.header__controls{
  		display: flex;
        justify-content: end;
  		align-items: center;
        width: 30%;
	}
	#header_nav_sp div p a,
	#header_static .header__logo a,
	#header_static .header__controls a{
  		display: inline-flex;
  		align-items: center;
  		justify-content: center;
  		vertical-align: middle;
  		text-decoration: none;
	}
	.header__controls svg{
		width: auto;
		height: 26px;
	}
	
/* ハンバーガーボタン本体 */
	.c-hamburger {
  		display: block;
  		position: relative;
  		width: 20px;  /* 線の幅 */
  		height: 18px; /* 三本線の全体の高さ */
  		background: none;
  		border: none;
  		cursor: pointer;
  		z-index: 10000; /* メニュー(9999)より前面に */
  		padding: 0;
  		margin-left: 20px;
	}

/* 三本線の共通スタイル */
	.c-hamburger span {
  		display: block;
  		position: absolute;
  		left: 0;
		width: 100%;
  		height: 2px;
  		background-color: #333;
  		transition: all 0.3s ease; /* アニメーション速度 */
  		border-radius: 2px;
	}

	.c-hamburger span:nth-child(1) {
  		top: 0;
	}
	.c-hamburger span:nth-child(2) {
  		top: 50%;
  		transform: translateY(-50%);
	}
	.c-hamburger span:nth-child(3) {
  		bottom: 0;
	}

/* -----------------------------------------
   開いた時の形
   ----------------------------------------- */
	.c-hamburger.is-active span:nth-child(1) {
  		top: 50%;
  		transform: translateY(-50%) rotate(45deg);
	}
	.c-hamburger.is-active span:nth-child(2) {
  		opacity: 0;
  		transform: translateY(-50%) translateX(-10px);
	}
	.c-hamburger.is-active span:nth-child(3) {
  		top: 50%;
  		bottom: auto;
  		transform: translateY(-50%) rotate(-45deg);
	}
/* ナビゲーションメニュー（初期状態は隠す） */
	.l-header__nav {
		position: fixed;
		top: 60px;
		left: 0;
		width: 100%;
		height: calc(100dvh - 60px);
		background: #f6f4f3;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		transform: translateX(100%);
		transition: transform 0.3s ease;
		text-align: center;
	}

	.l-header__nav.is-active {
		transform: translateX(0);
	}

/* 全メニュー共通のボーダー設定 */
	.m-menu__item {
		border-bottom: 1px solid #000;
  		padding: 28px 0;
  		margin: 0 30px;
	}
	.m-menu__link {
		display: block;
  		width: 100%;
  		text-align: center;
  		background: none;
  		border: none;
  		font-family: "FOT-筑紫明朝 Pr6", serif;
  		font-size: 16px;
  		color: #333;
  		text-decoration: none;
  		position: relative;
	}

/* 子メニューの隠し設定 */
　　.m-menu{
　　	padding: 0 30px;
　　}
	.m-menu__child {
  		height: 0;
  		overflow: hidden;
  		background: #f6f4f3;
  		transition: height 0.3s ease;
	}
    .m-menu__child ul li:first-child{
  		margin-top: 36px;
    }
	.m-menu__child ul li a {
  		display: block;
  		padding: 16px 0;
  		font-size: 1rem;
	}
	
	/*追従バナー*/
	#w-bottom#w-right svg#cart_icon_wh{
		width: 24px;
	}
}






























































