/********************************************
 * ▼ 共通設定
 ********************************************/
/** ----------------------------------------
*  ▼ ヘッダー
* ---------------------------------------- */
/* ONLINE SHOP の右にカートアイコン */
.nav-link.shop-link{display:inline-flex;align-items:center;gap:6px;}
.nav-link.shop-link .cart-icon,.btn1 .cart-icon,.fixed-buttons-sp .cart-icon{width:20px;height:auto;vertical-align:middle;transition:transform .3s ease;}
.nav-link.shop-link:hover .cart-icon{transform:scale(1.1);}

/* ボタンスタイル */
a.pera1-editable{background:#fff!important;color:#000!important;border:2px solid #000!important;border-radius:0!important;font-weight:600!important;transition:all .3s ease!important;}
a.pera1-editable:hover{background:#000!important;color:#fff!important;}

/* 全体調整（固定ヘッダー分） */
body{padding-top:64px;}

/* グローバルヘッダー */
.global-header{display:flex;justify-content:flex-start;align-items:center;background:#fff;padding:1em 0 1em 2%;flex-wrap:wrap;z-index:9999;font-size:14px;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 6px rgba(0,0,0,.05);}
.global-logo img{height:32px;width:auto;display:block;}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;margin-left:auto;}
.hamburger span{background:#000;height:3px;width:25px;border-radius:3px;}
.nav-wrapper{display:flex;flex:1;justify-content:center;align-items:center;gap:24px;flex-wrap:wrap;margin-left:30px;}
.global-nav{display:flex;gap:12px;flex-wrap:wrap;align-items:center;}
.nav-item{position:relative;color:#1B2846;cursor:pointer;font-weight:bold;}
.nav-item>a.nav-link{color:#1B2846;text-decoration:none;display:inline-block;padding:4px 0;}

/* サブメニュー */
.submenu{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(6px);background:rgba(0,0,0,.9);border-radius:6px;padding:.5em 0;min-width:200px;box-shadow:0 4px 10px rgba(0,0,0,.3);opacity:0;transition:opacity .25s ease,transform .25s ease;z-index:10000;}
.submenu a{display:block;padding:10px 16px;color:#fff;text-decoration:none;font-weight:normal;}
.submenu a:hover{background:rgba(255,255,255,.1);}
.nav-item:hover .submenu{display:block;opacity:1;transform:translateX(-50%) translateY(0);}

/* PC右上固定ボタン */
.fixed-buttons-pc{position:fixed;top:10px;right:20px;display:flex;gap:10px;z-index:10000;}
.fixed-buttons-pc a{padding:8px 14px;border-radius:6px;font-size:14px;text-decoration:none;color:#fff;font-weight:bold;}
.fixed-buttons-pc a.btn1{background:#000;}

/* スマホ下部固定ボタン（初期非表示） */
.fixed-buttons-sp{display:none;}

/** ----------------------------------------
*  ▼ ヘッダー（1024px 以下）
* ---------------------------------------- */
@media (max-width:1024px){
body{padding-bottom:70px;}
.global-header{padding-right:2%;}
.global-logo img{height:30px;}
.fixed-buttons-pc{display:none;}
.hamburger{display:flex!important;}
.nav-wrapper{display:none;flex-direction:column;width:100%;background:#fff;margin-top:10px;padding-bottom:1em;}
.nav-wrapper.active{display:flex!important;}
.global-nav{flex-direction:column;width:100%;}
.nav-item{padding:0;border-top:1px solid rgba(0,0,0,.1);width:100%;font-size:16px;}
.nav-item:hover .submenu{position:relative;transform:none;opacity:1;display:block;}
.submenu{position:relative;top:0;left:0;transform:none;padding-left:20px;background:rgba(0,0,0,.7);opacity:1;display:none;box-shadow:none;transition:none;}
.nav-item:focus-within .submenu,.nav-item:active .submenu{display:block;}
.fixed-buttons-sp{display:flex;justify-content:space-around;position:fixed;bottom:0;left:0;right:0;background:#fff;padding:10px;z-index:10000;border-top:1px solid #ddd;}
.fixed-buttons-sp a{flex:1;margin:0 5px;text-align:center;padding:10px 0;border-radius:6px;text-decoration:none;font-size:16px;font-weight:bold;color:#000;}
.fixed-buttons-sp a.btn1{background:#000;color:#fff;}
}

/** ----------------------------------------
*  ▼ フッター
* ---------------------------------------- */
.footer{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:40px;align-items:start;}
.footer ul{list-style:none;margin:0;padding:0;}
.footer li{margin:0 0 6px;}
.footer a{color:#000;text-decoration:none;}
.footer a:hover{text-decoration:underline;}
.logo img{max-width:180px;height:auto;display:block;}
.footer>div{padding-left:60px;}
.bottom{margin-top:28px;padding-top:20px;border-top:1px solid #d9d9d9;text-align:center;font-size:12px;color:#666;}

/** ----------------------------------------
*  ▼ フッター（1024px 以下）
* ---------------------------------------- */
@media (max-width:1024px){
.footer{grid-template-columns:1fr 1fr;gap:20px;}
}
@media (max-width:640px){
.footer{grid-template-columns:1fr;gap:16px;}
.logo img{max-width:160px;}
}
