@charset "UTF-8";
/* ======== PCメガナビ（CSS：上書きパッチ） ======== */
:root {
--gold:#9C8A4C;
--maxw:1400px;
--contW:1200px;
}
/* 1カラム（このページだけ） */
#container.onecol .row {
    display: block !important;
    max-width: 100%;
}
#container.onecol .main-section {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
}
#container.onecol .main-section.pull-right {
    float: none !important;
}
#container.onecol .main-section[class*="col-"] {
    flex: 0 0 100% !important;
}
#container.onecol .main-section + .col-lg-3.col-sm-12.col {
    display: none !important;
}
#container.onecol img, #container.onecol video, #container.onecol iframe {
    max-width: 100%;
    height: auto;
}

/* 既存PCヘッダー/ロゴは非表示（SPは触らない） */
@media (min-width:980px) {
.header-global-nav.hidden-phone.hidden-tablet {
    display: none !important;
}
.header-logo {
    display: none !important;
}
.header-logo.margin-30 {
    margin: 0 !important;
}
#header-wrapper .container {
    padding-top: 0 !important;
}
}

/* PCだけ全体幅を広げる */
@media (min-width:980px) {
#wrapper {
    max-width: var(--maxw) !important;
}
.container, .header-wrapper .container, .footer-wrapper .container {
    max-width: var(--maxw) !important;
    width: var(--maxw) !important;
}
.row {
    max-width: none !important;
    width: auto !important;
}
}

/* ===== PC専用：新メガヘッダー ===== */
@media (max-width:979px) {
.pc-mega-header {
    display: none !important;
}
}
.pc-mega-header {
    position: relative;
    z-index: 500;
    background: #fff;
    border-top: 1px solid rgba(0,0,0,.06);
    border-bottom: 1px solid rgba(0,0,0,.06);
}
.pc-mega-header .inner {
    max-width: var(--maxw);
    margin: 0 auto;
    padding: 10px 16px;
    display: flex;
    align-items: center;
    gap: 18px;
}
/* テーマの縦書き干渉を無効化（石名が縦になるのを防止） */
.pc-mega-header * {
    writing-mode: initial !important;
}
/* ロゴ */
.pc-mega-header .mh-logo img {
    max-width: 240px;
    max-height: 54px;
    height: auto;
    width: auto;
    object-fit: contain;
    display: block;
}
/* 左/右ナビ配置と“願い事 &#8596; 辞典”の間隔調整 */
.pc-mega-header nav.mh-left, .pc-mega-header nav.mh-right {
    display: flex;
    align-items: center;
    gap: 10px;
}
.pc-mega-header nav.mh-left {
    flex: 0 0 auto;
    margin-left: 8px;
} /* 左は伸縮しない */
.pc-mega-header nav.mh-right {
    flex: 1 1 auto;
}                /* 右は伸縮＝間隔が均等化 */
.pc-mega-header .mh-cta {
    margin-left: auto;
}                   /* CTAは右端へ */
.pc-mega-header .mh a, .pc-mega-header .mh button {
    font-size: 15px;
    color: #444;
    text-decoration: none;
    background: none;
    border: 0;
    padding: 8px 6px;
    cursor: pointer;
}
.pc-mega-header .mh a:hover, .pc-mega-header .mh button:hover {
    color: var(--gold);
}
.pc-mega-header .has-dd {
    position: relative;
}
/* 共通ドロップ（ホバー） */
.pc-mega-header .mh-dd {
    position: absolute;
    top: 100%;
    background: #fff;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 14px;
    box-shadow: 0 10px 30px rgba(0,0,0,.08);
    visibility: hidden;
    opacity: 0;
    transform: translateY(6px) scaleY(.98);
    transform-origin: top center;
    transition: .15s ease;
    padding: 16px;
    white-space: normal;
}
.pc-mega-header .has-dd:hover>.mh-dd {
    visibility: visible;
    opacity: 1;
    transform: translateY(10px) scaleY(1);
}
.pc-mega-header .mh-dd h4 {
    font-size: 16px;
    color: #999;
    margin: .2em 0 .6em;
}
.pc-mega-header .mh-dd a {
    display: block;
    padding: 6px 6px;
    border-radius: 8px;
}
.pc-mega-header .mh-dd a:hover {
    background: rgba(156,138,76,.08);
    color: var(--gold);
}
/* &#8212;&#8212; 横長アコーディオン（カテゴリ／石／願い事）＝ .container 幅で中央 &#8212;&#8212; */
.pc-mega-header .mh-dd.hlist {
    left: 50%;
    transform: translate(-50%, 6px) scaleY(.98);
    width: var(--contW);
    max-width: var(--contW);
    padding: 22px 20px;
    border-radius: 16px;
}
.pc-mega-header .has-dd:hover>.mh-dd.hlist {
    transform: translate(-50%, 10px) scaleY(1);
}
.pc-mega-header .mh-dd.hlist .mh-cols {
    display: block;
}
/* カテゴリ（画像＋テキストの行カード） */
.pc-mega-header .hl-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 14px 18px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.pc-mega-header .hl-list li {
    margin: 0;
}
.pc-mega-header .hl-list a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px;
    border-radius: 12px;
}
.pc-mega-header .hl-list a:hover {
    background: rgba(156,138,76,.07);
}
.pc-mega-header .hl-list .badge {
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #f7f6f2;
    overflow: hidden;
}
.pc-mega-header .hl-list .badge img {
    max-width: 40px;
    max-height: 40px;
    height: auto;
    width: auto;
    display: block;
}
/* 願い事（左画像・右テキスト） */
.pc-mega-header .wish-list-n {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 14px 18px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.pc-mega-header .wish-list-n li a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px;
    border-radius: 12px;
    border: 1px solid #eee;
}
.pc-mega-header .wish-list-n li a:hover {
    background: rgba(156,138,76,.07);
}
.pc-mega-header .wish-list-n img {
    width: 30px;
    height: 30px;
    object-fit: contain;
    flex: 0 0 40px;
}
.pc-mega-header .wish-list-n span {
    line-height: 1.5;
}
/* 石のリスト（画像18px） */
.pc-mega-header .stone-list {
    columns: 5 220px;
    column-gap: 18px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.pc-mega-header .stone-list li {
    break-inside: avoid;
    padding: 2px 0;
}
.pc-mega-header .stone-list a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 4px 6px;
    border-radius: 8px;
}
.pc-mega-header .stone-list a:hover {
    background: rgba(156,138,76,.07);
}
.pc-mega-header .stone-list img {
    max-width: 18px;
    max-height: 18px;
    height: auto;
    width: auto;
    display: block;
}
/* 右側の“縦アコーディオン”（辞典/読み物/メンテ/店舗）はその下に出す */
.pc-mega-header .mh-dd.vlist {
    left: 0;
    width: 280px;
    padding: 10px 8px;
}
.pc-mega-header .mh-dd.vlist .mh-cols {
    display: block;
}
.pc-mega-header .mh-dd.vlist a {
    padding: 8px 10px;
}
/* CTA */
.pc-mega-header .mh-cta a {
    display: inline-block;
    padding: 10px 16px;
    border-radius: 999px;
    background: var(--gold);
    color: #fff !important;
    font-weight: 700;
    text-decoration: none;
}
.pc-mega-header .mh-cta a:hover {
    filter: brightness(.95);
}

/* フッター保護 */
@media (min-width:980px) {
.footer-wrapper * {
    white-space: normal !important;
    transform: none !important;
}
.footer-wrapper ul {
    display: block !important;
}
.footer-wrapper li {
    float: none !important;
    display: list-item !important;
}
}
/* ============ 横アコーディオンを .container 幅で中央に ============ */
/* 基準を .inner にする */
.pc-mega-header .inner {
    position: relative;
}
/* 左ナビ（カテゴリ／石／願い事）は has-dd を基準にしない */
.pc-mega-header nav.mh-left .has-dd {
    position: static;
}
/* 右ナビ（辞典／読み物／メンテ／店舗）は従来どおり直下に出す */
.pc-mega-header nav.mh-right .has-dd {
    position: relative;
}
/* 横ドロップ（カテゴリ／石／願い事）&#8212; .container と同幅で中央 */
.pc-mega-header .mh-dd.hlist {
    position: absolute;        /* ← .inner を基準にする */
    left: 50%;
    right: auto;
    width: var(--contW);
    max-width: var(--contW);
    transform: translate(-50%, 6px) scaleY(.98);
    margin: 0;                 /* 念のため */
    z-index: 1000;             /* 被り防止 */
}
/* ホバー時のアニメも中央基準で */
.pc-mega-header .has-dd:hover > .mh-dd.hlist {
    transform: translate(-50%, 10px) scaleY(1);
}
/* テーマの縦書き干渉で縦並びになるのを抑止（安全網） */
.pc-mega-header .mh-dd.hlist * {
    writing-mode: initial !important;
}

