/* RW header namespace */
.rw-global-header, .rw-global-header * { box-sizing: border-box; }
.rw-global-header { font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans JP", sans-serif; }

/* =========================
   RW Utility Bar
========================= */
.rw-utility-bar {
  background-color: #2b2b2b;
  color: #ffffff;
  font-size: 12px;
  text-align: center;
  letter-spacing: 0.02em;
  border-bottom: 1px solid rgba(118, 120, 123, .5);
  height: 36px;
  line-height: 36px;
}
.rw-utility-bar p{
  margin: 0;
  padding: 0;
  line-height: 36px;
  }
@media screen and (max-width: 768px) {
  .rw-utility-bar {
    font-size: 11px;
    padding: 0px 10px;
  }
}
.rw-utility-bar{
  transition: height .2s ease, opacity .2s ease;
  overflow: hidden;
}

/* スクロール後（消える状態） */
body.is-utility-hidden .rw-utility-bar{
  height: 0;
  opacity: 0;
border:none;
}
/* =========================
   RW Main Header
========================= */
.rw-main-header {
  background-color: #2f2f2f;
  color: #fff;
  height: 80px;
  padding-top: 14px;
}
.rw-main-header__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 14px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.rw-main-header__left,
.rw-main-header__right {
  display: flex;
  gap: 18px;
  align-items: center;
}
.rw-main-header__logo {
  text-align: center;
}
.rw-logo-img {
  display: block;
  max-width: 200px;
  height: auto;
  margin: 0 auto;
}
/* SP */
@media screen and (max-width: 768px) {
  .rw-logo-img {
    max-width: 150px;
  }
}
/* =========================
   RW SVG Icons
========================= */
.rw-icon-svg {
  width: 20px;
  height: 20px;
  display: block;
  stroke: currentColor;
  fill: none;
}
.rw-icon-svg {
  stroke-linecap: round;
  stroke-linejoin: round;
}

.rw-icon-btn {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* hover（本国は控えめ） */
.rw-icon-btn:hover {
  opacity: 0.7;
}
/* =========================
   RW Global Navigation (Refined)
========================= */
.rw-global-nav {
  background-color: #6b6b6b;
  height: 50px;
  line-height: 30px;
  z-index: 9800;
  position: relative;
}
.rw-global-nav ul {
  max-width: 1440px;
  margin: 0 auto;
  padding: 8px 20px 0;
  list-style: none;
  display: flex;
  justify-content: center;
  gap: 32px;
  }

.rw-global-nav a {
  color: #ffffff;
  text-decoration: none;
  font-size: 12px;
  letter-spacing: 0.12em;
  position: relative;
  padding: 2px 0;
}
.rw-global-nav a:hover{
  font-weight: bold;
}

/* PC: mega menu – open from top to bottom (RW style) */
/* =========================
   Mega menu open: slide down (EN-INT like)
   ※既存の .rw-nav-item.is-mega .rw-mega の開閉CSSをこれに置換
========================= */

@media (hover:hover){
  .rw-nav-item.is-mega{ position: relative; }

  .rw-nav-item.is-mega .rw-mega{
    position: fixed;
    left: 0;
    right: 0;
    top: calc(var(--rw-header-total-h, 166px) - 12px);
    padding-top: 12px;
    background: transparent;
    z-index: 9998;

    max-height: 0;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transition:
      max-height .32s cubic-bezier(.2,.8,.2,1),
      opacity .18s ease,
      visibility 0s linear .18s;
  }

  .rw-nav-item.is-mega .rw-mega::after{
    content:"";
    position:absolute;
    left:0; right:0;
    top:12px; bottom:0;
    background:#fff;
    z-index:0;
  }

  /* ★開く条件は class のみ */
  .rw-nav-item.is-mega.is-mega-open .rw-mega{
    max-height: 420px;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;

    transition:
      max-height .36s cubic-bezier(.2,.8,.2,1),
      opacity .18s ease,
      visibility 0s;
  }
}


/* =========================
  Drawer: RW-ish polish
========================= */

/* drawer shadow + edge */
.rw-drawer{
  box-shadow: 20px 0 60px rgba(0,0,0,.18);
  border-right: 1px solid #eee;
}

/* drawer opening feels */
.rw-drawer{
  transition: transform .32s cubic-bezier(.2,.8,.2,1);
}

/* drawer head: close button position like RW */
.rw-drawer__head{
  padding: 16px 18px;
  border-bottom: 1px solid #eee;
}

/* close icon (X) */
.rw-iconbtn{
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 999px;
}
.rw-iconbtn:hover{ background:#f4f4f4; }

/* make a simple X */
.rw-icon-close{
  position: relative;
  width: 16px;
  height: 16px;
  display: block;
}
.rw-icon-close::before,
.rw-icon-close::after{
  content:"";
  position:absolute;
  left: 50%;
  top: 50%;
  width: 16px;
  height: 1.5px;
  background:#111;
  transform-origin:center;
}
.rw-icon-close::before{ transform: translate(-50%,-50%) rotate(45deg); }
.rw-icon-close::after{  transform: translate(-50%,-50%) rotate(-45deg); }

/* section spacing */
.rw-menu{
  padding: 6px 22px 28px;
}
.rw-menu__section{
  padding: 18px 0;
  border-top: 1px solid #ededed;
}

/* accordion row */
.rw-accordion{
  padding: 10px 0;
  font-size: 12px;
  letter-spacing: .18em;
}

/* chevron (accordion indicator) */

.rw-accicon{
  transform: rotate(-90deg);
  transition: transform .2s ease;
}
.rw-accordion[aria-expanded="true"] .rw-accicon{
  transform: rotate(0deg);
}

/* inside links */
.rw-accbody a,
.rw-menu__links a{
  font-size: 13px;
  letter-spacing: .06em;
  padding: 10px 0;
}

/* button style used for opening subpanel */
.rw-menu-link{
  display:block;
  width:100%;
  text-align:left;
  background:none;
  border:0;
  padding: 10px 0;
  cursor:pointer;
  font-size: 13px;
  letter-spacing: .06em;
  color:#111;
}
.rw-menu-link:hover{ opacity:.65; }

/* subpanel: RW-ish push animation */
.rw-subpanel{
  padding: 18px 22px;
}
.rw-subpanel__head{
  padding-bottom: 14px;
}
.rw-subpanel__back{
  padding: 8px 0;
}

/* =========================
   Subpanel (Level 2)
========================= */
.rw-subpanel{
  position: absolute;
  inset: 0;
  background: #fff;
  transform: translateX(100%);
  transition: transform .32s cubic-bezier(.2,.8,.2,1);
  z-index: 2;
  padding: 18px 24px;
}

.rw-subpanel[aria-hidden="false"]{
  transform: translateX(0);
}

.rw-subpanel__head{
  display: flex;
  align-items: center;
  gap: 12px;
  padding-bottom: 16px;
  border-bottom: 1px solid #e8e8e8;
}

.rw-subpanel__back{
  background: none;
  border: none;
  font-size: 12px;
  letter-spacing: .14em;
  cursor: pointer;
}

.rw-subpanel__title{
  font-size: 12px;
  letter-spacing: .18em;
}

.rw-subpanel__body{
  padding-top: 18px;
}

.rw-subpanel__body a{
  display: block;
  padding: 10px 0;
  text-decoration: none;
  color: #111;
  font-size: 13px;
}

.rw-subpanel__cta{
  margin-top: 24px;
  display: inline-block;
  font-size: 11px;
  letter-spacing: .18em;
  border-bottom: 1px solid #111;
}
:root{
  --rw-header-h: 64px;   /* 黒ヘッダーの高さ（あなたの実寸に合わせて後で微調整） */
  --rw-gnav-h: 44px;     /* グレー帯の高さ */
  --rw-z-overlay: 9990;
  --rw-z-ui: 10000;
}
/* overlay */
.rw-overlay{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  top: var(--rw-header-total-h);
  height: calc(100vh - var(--rw-header-total-h));
}
body.is-menu-open .rw-overlay{ background: rgba(0,0,0,.5); } /* メニューは濃い */
.rw-overlay[hidden]{ display:none !important; }

/* body lock */
body.rw-lock{ overflow:hidden; }
#rwGlobalHeader{ z-index: 10000; position: fixed; left:0; right:0; top:0!important; }
/* =========================
   RW Searchbar – slide from top (EN-INT style)
========================= */
/* searchbar: 初期はヘッダーの裏に隠れてる状態 */
.rw-searchbar{
  position: fixed;
  left: 0;
  right: 0;
  top: var(--rw-header-total-h);
  background: #fff;
  box-shadow: 0 10px 30px rgba(0,0,0,.08);
  transform: translateY(-24px);
  opacity: 0;
  pointer-events: none;
  transition: transform .28s cubic-bezier(.2,.8,.2,1), opacity .18s ease;
  z-index: 1000;
}

/* open */
body.is-search-open .rw-searchbar{
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}
.rw-searchbar[hidden]{ display:none !important; }
.rw-searchbar{
  top: var(--rw-header-total-h);
}
.rw-searchbar__inner{
  max-width: 700px;
  margin: 0 auto;
  padding: 0 24px;
}
.rw-searchbar__label{
  font-size: 11px;
  letter-spacing: .12em;
  color: #777;
  margin-bottom: 8px;
}

.rw-searchbar__form{
  display: grid;
  grid-template-columns: 1fr 44px;
  border: 1px solid #cfcfcf;
  height: 44px;
}
.rw-searchbar__input{
  border: 0;
  padding: 0 12px;
  outline: none;
  font-size: 14px;
}
.rw-searchbar__submit{
  border: 0;
  background: transparent;
  cursor: pointer;
}
.rw-searchbar{
  padding: 16px 0;
}
.rw-searchbar__form{
  height: 52px;
	max-width:700px;
	padding:2px;
	display:flex;
	align-items:center;
}
.rw-searchbar__input{
  font-size: 14px;
  letter-spacing: .02em;
}
.rw-searchbar__submit{
  position: relative;
}
.rw-searchbar__submit{
	border-left:1px solid #cccccc;
	height:50%;
	padding:0 10px;
}
input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus, textarea:-webkit-autofill, textarea:-webkit-autofill:hover, textarea:-webkit-autofill:focus, select:-webkit-autofill, select:-webkit-autofill:hover, select:-webkit-autofill:focus {
    border:none;
	box-shadow: 0;
    -webkit-text-fill-color: #000;
}
/* 既存ドロワーのz-indexがoverlayより上になるように（念のため） */
.rw-drawer{
  position: fixed;
  z-index: calc(var(--rw-z-ui) + 10);
  top: var(--rw-header-total-h);
  height: calc(100vh - var(--rw-header-total-h));
  }
#rwGlobalHeader{z-index: 10000;}
.rw-overlay{z-index: 100;}
.rw-drawer{z-index: 9995 !important;}
.rw-mega{z-index: 9998;}
.rw-overlay{
  top: var(--rw-header-total-h, 166px);
  height: calc(100vh - var(--rw-header-total-h, 166px));
}
.rw-drawer{
  top: var(--rw-header-total-h, 166px);
  height: calc(100vh - var(--rw-header-total-h, 166px));
}
.rw-searchbar{
  top: var(--rw-header-total-h, 166px);
}
/* drawer内のリンク/ボタンのブラウザデフォルトを殺す */
.rw-drawer--menu a{
  color: #111 !important;
  text-decoration: none !important;
}
.rw-drawer--menu a:visited{ color:#111 !important; }
.rw-drawer--menu button{
  color:#111;
  font: inherit;
}
/* Drawer本体（白・影・幅） */
.rw-drawer--menu{
  background:#fff;
  width: 420px;
  max-width: 90vw;
  box-shadow: 20px 0 60px rgba(0,0,0,.18);
  border-right: 1px solid #eee;
}
.rw-drawer--menu .rw-menu{
  padding: 14px 26px 26px;
}

/* セクションの区切り（本国の薄い線） */
.rw-drawer--menu .rw-menu__section{
  padding: 18px 0;
  border-top: 1px solid #ededed;
}
/* 見出しラベル（INSIDE〜 / SERVICESとか） */
.rw-drawer--menu .rw-menu__label{
  font-size: 12px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #111;
  padding: 8px 0;
}
/* WATCHESの行（アコーディオンのヘッダー） */
.rw-drawer--menu .rw-accordion{
  padding: 10px 0;
  font-size: 12px;
  letter-spacing: .22em;
  text-transform: uppercase;
  border: 0;
}
/* WATCHES配下のリンク（freelancer〜） */
.rw-drawer--menu .rw-accbody a,
.rw-drawer--menu .rw-menu-link{
  display:block;
  padding: 9px 0;
  font-size: 13px;
  letter-spacing: .06em;
  color:#111;
}

/* hoverは控えめ */
.rw-drawer--menu .rw-accbody a:hover,
.rw-drawer--menu .rw-menu-link:hover{
  opacity: .65;
}

/* 下の固定リンク群 */
.rw-drawer--menu .rw-menu__links a{
  display:flex;
  align-items:center;
  gap: 10px;
  padding: 10px 0;
  font-size: 12px;
  letter-spacing: .20em;
  text-transform: uppercase;
}

/* 左に小アイコン風（超簡易） */
.rw-drawer--menu .rw-menu__links a::before{
  content:"";
  width: 14px;
  height: 14px;
  border: 1px solid #bbb;
  border-radius: 3px;
  display:inline-block;
  opacity:.6;
}
/* closeボタンの丸を消して本国寄せ（任意） */
.rw-drawer--menu .rw-iconbtn{
  border-radius: 0;
  background: transparent !important;
}
/* ハンバーガーSVGを“回転の中心”にする */
.rw-hamburger__svg .rw-hb{
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  transform-box: fill-box;
  transform-origin: center;
  transition: transform .22s cubic-bezier(.2,.8,.2,1), opacity .18s ease;
}

/* open時：☰ → × */
body.is-menu-open .rw-hamburger__svg .rw-hb--top{
  transform: translateY(5px) rotate(45deg);
}

body.is-menu-open .rw-hamburger__svg .rw-hb--mid{
  opacity: 0;
}

body.is-menu-open .rw-hamburger__svg .rw-hb--bot{
  transform: translateY(-5px) rotate(-45deg);
}
/* ドロワーは「固定幅＋はみ出し隠す」 */
.rw-drawer--menu{
  width: 360px;
  max-width: 88vw;
  overflow: hidden;
  position: fixed;
}

/* サブパネルはドロワーを100%覆う */
.rw-drawer--menu .rw-subpanel{
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  width: 100%;
  z-index: 5;             /* rw-menuより上に */
  background: #fff;
}
.rw-drawer--menu .rw-menu{
  position: relative;
  z-index: 1;
}

body.is-menu-open .rw-overlay,
body.is-search-open .rw-overlay{
  background: rgba(0,0,0,.55); /* 本国はこのくらい濃い印象 */
}
/* ==== Drawer base (match EN-INT) ==== */
.rw-drawer--menu{
  width: 380px;            /* 360→380で本国感出やすい */
  max-width: 86vw;
  background:#fff;
}

.rw-drawer--menu .rw-menu{
  padding: 18px 28px 24px;
}
.rw-drawer--menu .rw-menu__section{
  border-top: 1px solid #e9e9e9;
  padding: 18px 0;
}
.rw-drawer--menu .rw-menu__section:first-child{
  border-top: none;
}

/* セクション見出し（INSIDE / SERVICES） */
.rw-drawer--menu .rw-menu__label{
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #4a4a4a;          /* いま#111より薄く */
  padding: 8px 0;
}
/* WATCHES row */
.rw-drawer--menu .rw-accordion{
  display:flex;
  justify-content: space-between;
  align-items:center;
  padding: 10px 0;
  font-size: 14px;
  letter-spacing: .24em;
  text-transform: uppercase;
  color:#111;
  width: 100%;
  background: none;
}

/* bottom links */
.rw-drawer--menu .rw-menu__links a{
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color:#222;
  padding: 11px 0;
}
body.is-menu-open .rw-overlay,
body.is-search-open .rw-overlay{
  background: rgba(0,0,0,.58);
}

/* icon placeholder（丸＋薄線） */
.rw-drawer--menu .rw-menu__links a::before{
  width: 16px;
  height: 16px;
  border: 1px solid #cfcfcf;
  border-radius: 999px;
  opacity: .9;
}
/* =========================
   Subpanel – match EN-INT
========================= */

/* サブパネル全体の余白を本国寄せ */
.rw-drawer--menu .rw-subpanel{
  padding: 20px 28px 24px; /* いまより少し広め */
}

/* 上部ヘッダー：薄い線と余白 */
.rw-drawer--menu .rw-subpanel__head{
  border-bottom: 1px solid #ededed;
  padding: 6px 0 14px;
  margin-bottom: 10px;
}

/* 戻るボタンの見た目（本国の小さめ・字間広め） */
.rw-drawer--menu .rw-subpanel__back{
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #111;
  padding: 0;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

/* 右側の "FREELANCER" 表示（本国は控えめ） */
.rw-drawer--menu .rw-subpanel__title{
  font-size: 10px;
  letter-spacing: .20em;
  text-transform: uppercase;
  color: #6a6a6a;
}

/* リストの間隔（本国は少しゆったり） */
.rw-drawer--menu .rw-subpanel__body{
  padding-top: 8px;
}
.rw-drawer--menu .rw-subpanel__body a{
  font-size: 13px;
  line-height: 1.8;
  padding: 9px 0;            /* ここで“本国っぽい縦感”が出る */
  color: #111;
}

/* CTA：テキスト＋長いライン（本国寄せ） */
.rw-drawer--menu .rw-subpanel__cta{
  display: inline-block;
  margin-top: 22px;
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #111;
  border: 0;                 /* いまの下線を一旦消す */
  position: relative;
  padding-bottom: 10px;
}

/* 長いラインを疑似要素で作る */
.rw-drawer--menu .rw-subpanel__cta::after{
  content:"";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 280px;              /* ラインの長さ（好みで調整） */
  height: 1px;
  background: #111;
  opacity: .65;
}
.rw-drawer--menu{ width: 380px; }
.rw-drawer--menu .rw-menu,
.rw-drawer--menu .rw-subpanel{
  height: calc(100vh - var(--rw-header-total-h));
  overflow: auto;
}
/* =========================
   FINAL TUNING – Subpanel
========================= */

/* 上部ヘッダー全体を軽く */
.rw-drawer--menu .rw-subpanel__head{
  border-bottom: 1px solid #efefef;
  padding: 4px 0 12px;
  margin-bottom: 14px;
}

/* ← WATCHES */
.rw-drawer--menu .rw-subpanel__back{
  font-size: 10.5px;
  letter-spacing: .26em;
  color: #111;
  opacity: .85;              /* ←軽くする */
}

/* FREELANCER（右側ラベル） */
.rw-drawer--menu .rw-subpanel__title{
  font-size: 9.5px;
  letter-spacing: .22em;
  color: #9a9a9a;             /* ←さらに薄く */
}

/* リンク群（本国の“空気感”） */
.rw-drawer--menu .rw-subpanel__body a{
  font-size: 13px;
  line-height: 1.9;           /* ←ほんのり広く */
  padding: 10px 0;
  color: #222;                /* ←真っ黒回避 */
  transition: opacity .15s ease;
}

.rw-drawer--menu .rw-subpanel__body a:hover{
  opacity: .6;                /* 本国はかなり控えめ */
}

/* CTA：ALL FREELANCER COLLECTION */
.rw-drawer--menu .rw-subpanel__cta{
  margin-top: 26px;
  font-size: 10.5px;
  letter-spacing: .26em;
  color: #111;
  padding-bottom: 12px;
}

/* CTA下のラインをさらに繊細に */
.rw-drawer--menu .rw-subpanel__cta::after{
  height: 1px;
  background: #111;
  opacity: .4;                /* ←ここ重要 */
  width: 260px;               /* 少し短く */
}
/* =========================
   Drawer slide from LEFT
========================= */

/* メニュー：左から */
.rw-drawer--menu{
  left: 0;
  right: auto;
  transform: translateX(-102%); /* 閉：左に逃がす */
}

/* 開：0に戻す */
body.is-menu-open .rw-drawer--menu{
  transform: translateX(0);
}
/* 検索は上から出してるのでtransform触らない */
.rw-drawer--search{ transform: none; }
/* =========================
   EN-INT like: circle icon controls
   ※CSSの最後に置く
========================= */


/* INSIDE / SERVICES 見出し：薄く、字間広め */
.rw-drawer--menu .rw-menu__label{
  font-size: 11px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: #9a9a9a;
  padding: 8px 0;
}

/* SERVICES を「押せる行」風に（右に丸→） */
.rw-drawer--menu .rw-menu__navbtn{
  width: 100%;
  display:flex;
  align-items:center;
  justify-content: space-between;
  background: none;
  border: 0;
  padding: 8px 0;
  cursor: pointer;

  font-size: 11px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: #9a9a9a;
}

/* 右の丸→ */
.rw-drawer--menu .rw-menu__navbtn::after{
  content:"";
  width: 26px;
  height: 26px;
  border: 1px solid #d7d7d7;
  border-radius: 999px;
  position: relative;
  display: inline-block;
  flex: 0 0 auto;

  /* 矢印（→っぽいシェブロン） */
  background:
    linear-gradient(#111,#111) center/9px 1.5px no-repeat,
    linear-gradient(#111,#111) calc(50% + 4px) calc(50% - 3px)/6px 1.5px no-repeat,
    linear-gradient(#111,#111) calc(50% + 4px) calc(50% + 3px)/6px 1.5px no-repeat;
  opacity: .9;
}
.rw-drawer--menu .rw-menu__navbtn:hover{ opacity: .7; }

/* 下3リンク：アイコンを「丸」寄せに（※簡易。次で本物アイコンにする） */
.rw-drawer--menu .rw-menu__links a{
  font-size: 11px;
  letter-spacing: .28em;
  text-transform: uppercase;
  gap: 12px;
}
.rw-drawer--menu .rw-menu__links a::before{
  width: 16px;
  height: 16px;
  border: 1px solid #d3d3d3;
  border-radius: 999px;
  opacity: 1;
}
/* ==== bottom links: SVG inline ==== */
.rw-drawer--menu .rw-menu__links a::before{ content:none !important; }

.rw-drawer--menu .rw-menu__links{
  padding-top: 14px;
}

.rw-drawer--menu .rw-menu__links .rw-linkicon{
  display:flex;
  align-items:center;
  gap: 12px;
  padding: 12px 0;
  text-decoration:none;
  color:#111;
}

.rw-drawer--menu .rw-menu__links .rw-linkicon__svg{
  width: 18px;
  height: 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#111;               /* SVG stroke color */
  opacity: .9;
}

.rw-drawer--menu .rw-menu__links .rw-linkicon__text{
  font-size: 11px;
  letter-spacing: .28em;
  text-transform: uppercase;
}
.rw-drawer--menu .rw-menu__links .rw-linkicon__svg{ opacity: .75; }
.rw-drawer--menu .rw-menu__links .rw-linkicon__text{ color:#222; }
  .rw-accbody{
    padding: 1.5rem 1.5rem 0.5rem;
  }
/* ===== Drawer 2 columns (PC) ===== */
.rw-drawer__cols{
  height: calc(100vh - var(--rw-header-total-h));
}

@media (min-width: 1024px){
  .rw-drawer--menu{
    width: min(1100px, 92vw);   /* 本国っぽい横幅 */
    overflow: hidden;
  }
  .rw-drawer__cols{
    display: grid;
    grid-template-columns: 360px 1fr;
    height: calc(100vh - var(--rw-header-total-h));
  }
  .rw-drawer__col{
    height: 100%;
    overflow: auto;
  }
  .rw-drawer__col--left{
    border-right: 1px solid #ededed;
  }
  .rw-drawer__col--right{
    background: #fff;
  }

  /* SP用の全面サブパネルはPCでは使わない（残しておいてOK） */
  .rw-drawer--menu .rw-subpanel{
    display: none;
  }
}

/* ===== Right panel ===== */
.rw-panel[hidden]{ display:none; }
.rw-panel{
  padding: 22px 26px;
}
.rw-panel__hint{
  font-size: 12px;
  letter-spacing: .18em;
  color:#888;
  text-transform: uppercase;
}

/* image cards like RW */
.rw-cardgrid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px 22px;
  padding-top: 10px;
}
.rw-card{
  text-decoration: none;
  color: #111;
  display: grid;
  gap: 10px;
  justify-items: center;
}
.rw-card img{
  width: 100%;
  height: 220px;
  object-fit: contain;
}
.rw-card__title{
  font-size: 12px;
  letter-spacing: .10em;
  text-transform: lowercase;
  font-weight: 600;
}
.rw-card__sub{
  font-size: 11px;
  letter-spacing: .08em;
  color:#444;
  text-transform: lowercase;
}

/* CTA (right bottom) */
.rw-panel__cta{
  display: inline-block;
  margin-top: 22px;
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #111;
  position: relative;
  padding-bottom: 10px;
  text-decoration: none;
}
.rw-panel__cta::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width: 320px;
  height: 1px;
  background:#111;
  opacity:.4;
}
/* ===== PC right panel layout (Freelancer) ===== */
@media (min-width: 1024px){
  /* drawer を2カラム化（まだなら） */
  .rw-drawer--menu{
    width: min(1120px, 92vw);
  }
  .rw-drawer--menu .rw-menu{
    width: 380px;
    border-right: 1px solid #ededed;
    height: calc(100vh - var(--rw-header-total-h));
    overflow: auto;
  }

  /* 右パネル群 */
  .rw-drawer--menu .rw-panel{
    position: relative;
    height: calc(100vh - var(--rw-header-total-h));
    overflow: auto;
    background: #fff;
    flex: 1;
    display: block;
  }
}

/* panel inner */
.rw-panel__inner{
  padding: 22px 26px 28px;
}

.rw-panel__hint{
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #888;
}

/* cards grid (RW-ish) */
.rw-cardgrid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px 22px;
  align-items: start;
  padding-top: 6px;
}

.rw-card{
  text-decoration: none;
  color: #111;
  display: grid;
  gap: 10px;
  justify-items: center;
}

.rw-card__img{
  width: 100%;
  height: 220px;
  object-fit: contain;
  display: block;
}

.rw-card__text{
  text-align: center;
  line-height: 1.25;
}

.rw-card__title{
  font-size: 12px;
  letter-spacing: .10em;
  font-weight: 600;
}

.rw-card__sub{
  font-size: 11px;
  letter-spacing: .08em;
  color: #444;
  margin-top: 2px;
}

/* CTA like RW */
.rw-panel__cta{
  display: inline-block;
  margin-top: 22px;
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #111;
  position: relative;
  padding-bottom: 10px;
  text-decoration: none;
}

.rw-panel__cta::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width: 320px;
  height: 1px;
  background:#111;
  opacity:.4;
}
@media (min-width: 1024px){
  .rw-drawer--menu{ width: min(1120px, 92vw); overflow:hidden; }
  .rw-drawer__cols{ display:grid; grid-template-columns: 380px 1fr; height: calc(100vh - var(--rw-header-total-h)); }
  .rw-drawer__col{ height:100%; overflow:auto; }
  .rw-drawer__col--left{ border-right:1px solid #ededed; }
  .rw-drawer--menu .rw-subpanel{ display:none !important; } /* PCは右パネル方式 */
}
/* ===== PC: right pane is OPT-IN (only after click) ===== */
@media (min-width: 1024px){

  /* 初期：左だけ（右ペイン非表示） */
  .rw-drawer--menu:not(.is-right-open) .rw-drawer__cols{
    display: block;                 /* 2カラムにしない */
  }
  .rw-drawer--menu:not(.is-right-open) .rw-drawer__col--right{
    display: none !important;
  }

  /* 右ペイン表示ON：2カラムにする */
  .rw-drawer--menu.is-right-open .rw-drawer__cols{
    display: grid;
    grid-template-columns: 380px 1fr;
    height: calc(100vh - var(--rw-header-total-h));
  }
  .rw-drawer--menu.is-right-open .rw-drawer__col--right{
    display: block !important;
  }
}
@media (min-width: 1024px){
  .rw-drawer--menu:not(.is-right-open) .rw-drawer__cols{ display:block; }
  .rw-drawer--menu:not(.is-right-open) .rw-drawer__col--right{ display:none !important; }

  .rw-drawer--menu.is-right-open .rw-drawer__cols{
    display:grid;
    grid-template-columns: 380px 1fr;
    height: calc(100vh - var(--rw-header-total-h));
  }
  .rw-drawer--menu.is-right-open .rw-drawer__col--right{ display:block !important; }
}
/* =========================
   FIX: Right pane should NOT appear on openMenu (PC)
   右ペインは .is-right-open の時だけ表示
   ※CSSの一番最後に貼る
========================= */
@media (min-width: 1024px){

  /* デフォルト：左だけ（右カラムは消す） */
  .rw-drawer--menu .rw-drawer__cols{
    display: block !important;        /* ←常時gridを潰す */
    height: calc(100vh - var(--rw-header-total-h)) !important;
  }
  .rw-drawer--menu .rw-drawer__col--right{
    display: none !important;         /* ←右カラム枠ごと消す */
  }

  /* 右ペインを開く時だけ2カラム */
  .rw-drawer--menu.is-right-open .rw-drawer__cols{
    display: grid !important;
    grid-template-columns: 380px 1fr !important;
    height: calc(100vh - var(--rw-header-total-h)) !important;
    overflow: hidden !important;
  }
  .rw-drawer--menu.is-right-open .rw-drawer__col--right{
    display: block !important;
  }

  /* 左カラムの線（右ペインopen時だけ見せたいなら） */
  .rw-drawer--menu.is-right-open .rw-drawer__col--left{
    border-right: 1px solid #ededed;
  }
}
/* ===== FIX: PCでは初期は左だけ。クリック時だけ右ペインを出す ===== */
@media (min-width: 1024px){
  /* 初期状態：左だけ */
  .rw-drawer--menu{
    width: 380px !important;      /* ←初期は細い */
    overflow: hidden;
  }
  .rw-drawer__cols{
    display: grid;
    grid-template-columns: 380px 0px; /* ←右は0に潰す */
    height: calc(100vh - var(--rw-header-total-h));
  }
  .rw-drawer__col--right{
    display: none;                 /* ←右カラム自体を隠す */
  }

  /* 右ペインを開いた状態：2カラムに拡張 */
  .rw-drawer--menu.is-right-open{
    width: min(1120px, 92vw) !important;
  }
  .rw-drawer--menu.is-right-open .rw-drawer__cols{
    grid-template-columns: 380px 1fr;
  }
  .rw-drawer--menu.is-right-open .rw-drawer__col--right{
    display: block;
  }
}
/* ===== Right panel show/hide (PC) ===== */
@media (min-width: 1024px){
  /* 初期は左だけ表示（右ペインは消す） */
  .rw-drawer__col--right{ display:none; }

  /* 右を開く時だけ表示 */
  .rw-drawer--menu.is-right-open .rw-drawer__col--right{ display:block; }

  /* 右が開いた時だけ2カラム */
  .rw-drawer--menu .rw-drawer__cols{
    display:block; /* 初期は1カラム（左のみ） */
  }
  .rw-drawer--menu.is-right-open .rw-drawer__cols{
    display:grid;
    grid-template-columns: 380px 1fr;
    height: calc(100vh - var(--rw-header-total-h));
  }
}

/* Right panel top row + close */
.rw-panel__top{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 12px;
}

.rw-panel__close{
  width: 36px;
  height: 36px;
  border: 1px solid #ddd;
  border-radius: 999px;
  background: #fff;
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
  color: #111;
  opacity: .9;
}
.rw-panel__close:hover{ opacity: .65; }
/* ===== Right panel (PC) ===== */
.rw-panel[hidden]{ display:none !important; }

.rw-panel__inner{
  padding: 22px 26px 32px;
}

.rw-panel__hint{
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #8a8a8a;
}

/* cards */
.rw-cardgrid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px 22px;
  padding-top: 14px;
}

.rw-card{
  text-decoration: none;
  color: #111;
  display: grid;
  gap: 10px;
}

.rw-card__media{
  display: block;
  background: #f6f6f6;
  border: 1px solid #eee;
  aspect-ratio: 1 / 1;
  overflow: hidden;
}

.rw-card__img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  transform: scale(1);
  transition: transform .25s ease, opacity .2s ease;
}

.rw-card__text{
  text-align: center;
  line-height: 1.25;
}

.rw-card__title{
  display:block;
  font-size: 12px;
  letter-spacing: .10em;
  font-weight: 600;
  text-transform: lowercase;
}

.rw-card__sub{
  display:block;
  margin-top: 3px;
  font-size: 11px;
  letter-spacing: .08em;
  color: #666;
  text-transform: lowercase;
}

@media (hover:hover){
  .rw-card:hover .rw-card__img{
    transform: scale(1.03);
    opacity: .92;
  }
}

/* CTA */
.rw-panel__cta{
  display: inline-block;
  margin-top: 24px;
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #111;
  position: relative;
  padding-bottom: 10px;
  text-decoration: none;
}
.rw-panel__cta::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width: 320px;
  height: 1px;
  background:#111;
  opacity:.35;
}
@media (hover:hover){
  .rw-nav-item.is-mega{ position: relative; }
  .rw-nav-item.is-mega .rw-mega{
    position: fixed;
    left: 0;
    right: 0;
    top: var(--rw-header-total-h, 166px);
    padding-top: 12px;
    background: transparent;
    z-index: 9998;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition:
      max-height .32s cubic-bezier(.2,.8,.2,1),
      opacity .18s ease,
      visibility 0s linear .18s;
  }

  .rw-nav-item.is-mega .rw-mega::after{
    content:"";
    position:absolute;
    left:0; right:0;
    top:12px; bottom:0;
    background:#fff;
    z-index:0;
  }
  .rw-nav-item.is-mega:hover .rw-mega,
  .rw-nav-item.is-mega .rw-mega:hover{
    max-height: 420px;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition:
      max-height .36s cubic-bezier(.2,.8,.2,1),
      opacity .18s ease;
  }
}

@media (hover:hover){
  .rw-nav-item.is-mega .rw-mega{
    max-height: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }

  .rw-nav-item.is-mega.is-mega-open .rw-mega{
    max-height: 420px;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}

.rw-mega__inner{
  position: relative;
  z-index: 1;
  max-width: 1440px;
  margin: 0 auto;
  padding: 22px 60px 26px;
  display: grid;
  justify-items: center;
  gap: 14px;
  }

/* cards row 
.rw-mega__cards{
  width: 100%;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(110px, 1fr);
  gap: 34px;
  align-items: start;
  justify-content: center;
  overflow-x: auto;
  padding: 0 6px 2px;
}

/* hide scrollbar a bit 
.rw-mega__cards::-webkit-scrollbar{ height: 6px; }
.rw-mega__cards::-webkit-scrollbar-thumb{ background: rgba(0,0,0,.12); border-radius: 999px; }

.rw-mega-card{
  text-decoration: none;
  color: #111;
  display: grid;
  justify-items: center;
  gap: 6px;
  min-width: 120px;
}

.rw-mega-card__img{
  width: 88px;            
  height: 88px;
  object-fit: contain;
  display: block;
}

.rw-mega-card__title{
  font-size: 10px;
  letter-spacing: .10em;
  color: #111;
  font-weight: 600;
  text-transform: lowercase;
  line-height: 1.1;
}

.rw-mega-card__sub{
  font-size: 10px;
  letter-spacing: .06em;
  color: #6a6a6a;
  text-transform: lowercase;
  line-height: 1.1;
}

 bottom centered CTA 
.rw-mega__all{
  display: inline-block;
  text-decoration: none;
  color: #111;
  font-size: 10px;
  letter-spacing: .22em;
  text-transform: uppercase;
  padding-bottom: 10px;
  position: relative;
}

.rw-mega__all::after{
  content:"";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 220px;
  height: 1px;
  background: rgba(17,17,17,.55);
}
/* =========================
   MEGA MENU FINAL (content like EN-INT)
   ※CSSの一番最後に置く / 既存mega定義は削除
========================= */

@media (hover:hover){
  .rw-nav-item.is-mega{ position: relative; }

  /* メガ領域：背景は白、全幅、中央寄せ */
  .rw-nav-item.is-mega .rw-mega{
    position: fixed;
    left: 0; right: 0;
    top: var(--rw-header-total-h, 166px);
    background: #fff;
    z-index: 9998;

    /* 開閉は①で出来てる前提：is-mega-openで表示 */
    transform-origin: top;
    transform: scaleY(.96);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transition:
      transform .28s cubic-bezier(.2,.8,.2,1),
      opacity .18s ease,
      visibility 0s linear .18s;
  }

  .rw-nav-item.is-mega.is-mega-open .rw-mega{
    transform: scaleY(1);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;

    transition:
      transform .32s cubic-bezier(.2,.8,.2,1),
      opacity .18s ease,
      visibility 0s;
  }
}

/* 内側：本国っぽい上下余白 */
.rw-mega__inner{
  max-width: 1440px;
  margin: 0 auto;
  padding: 24px 70px 26px;
  display: grid;
  justify-items: center;
  gap: 18px;
}
.rw-mega__cards{
  width: 100%;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(120px, 150px);
  justify-content: center;
  gap: 34px;
  align-items: start;
  overflow-x: auto;
  padding: 0 6px 6px;
}

@media (max-width: 768px){
.rw-mega__cards{
  justify-content: flex-start;
}  
}
/* スクロールバー控えめ */
.rw-mega__cards::-webkit-scrollbar{ height: 6px; }
.rw-mega__cards::-webkit-scrollbar-thumb{
  background: rgba(0,0,0,.12);
  border-radius: 999px;
}

/* カード：テキストは小さく、字間軽め、本国寄せ */
.rw-mega-card{
  text-decoration: none;
  color: #111;
  display: grid;
  justify-items: center;
  gap: 8px;
  min-width: 120px;
}

/* 画像：本国は小さめ＆余白多め */
.rw-mega-card__img{
  width: 160px;
  height: auto;
  object-fit: contain;
  display: block;
}

/* ラベル2段：上=コレクション名、下=サブ */
.rw-mega-card__title{
  font-size: 10px;
  letter-spacing: .12em;
  font-weight: 600;
  text-transform: lowercase;
  line-height: 1.1;
  color: #111111!important;
}
.rw-mega-card__sub{
  font-size: 10px;
  letter-spacing: .08em;
  color: #6a6a6a;
  text-transform: lowercase;
  line-height: 1.1;
}
.rw-mega__all{
  display: inline-block;
  text-decoration: none;
  color: #111!important;
  font-weight: bold;
  font-size: 10px;
  letter-spacing: .26em;
  text-transform: uppercase;
  padding-bottom: 10px;
  position: relative;
}

@media (hover:hover){
  .rw-mega-card:hover{ opacity: .72; }
  .rw-mega__all:hover{ opacity: .65; }
}
@media (hover:hover){
  .rw-nav-item.is-mega:hover .rw-mega,
  .rw-nav-item.is-mega:focus-within .rw-mega{
    transform: scaleY(1);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;

    transition:
      transform .32s cubic-bezier(.2,.8,.2,1),
      opacity .18s ease,
      visibility 0s;
  }
}
/* ★max-height:0 が残って中身が潰れるのを強制解除 */
@media (hover:hover){
  .rw-nav-item.is-mega .rw-mega{
    max-height: none !important;
    overflow: visible !important;
  }
}
.rw-nav-item.is-mega .rw-mega{
  transition:
    max-height 0.35s ease,
    opacity 0.25s ease;
}
/* 初期は閉じる
.rw-nav-item.is-mega .rw-mega { display: none; }
.rw-nav-item.is-mega.is-mega-open .rw-mega { display: block; }
 */
/* =========================
   Mega menu on SP (<=1023px)
   ========================= */
@media (max-width: 1023.98px){

  /* メガはヘッダー直下に固定表示（本国っぽく） */
  .rw-global-nav{ position: relative; z-index: 60; }

  .rw-nav-item.is-mega { position: static; } /* 変な絶対基準を外す */

  .rw-nav-item.is-mega .rw-mega{
    /*display: none;*/
    position: fixed;
    left: 0; right: 0;
    top: var(--rw-header-total-h);   /* すでにJSでセットしてる変数を使う */
    bottom: 0;
    overflow: auto;
    -webkit-overflow-scrolling: touch;

    background: #fff;               /* ★黒になってるのを白へ */
    color: #111;
    z-index: 70;
    padding: 18px 16px 24px;
  }

 /* .rw-nav-item.is-mega.is-mega-open .rw-mega{
    display: block;
  }

  /* カード：横スクロールに */
  .rw-mega__cards{
    display: flex;
    gap: 14px;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 10px;
    scroll-snap-type: x mandatory;
  }
  .rw-mega-card{
    flex: 0 0 70%;
    max-width: 70%;
    scroll-snap-align: start;
    color: inherit;
    text-decoration: none;
  }
  .rw-mega-card__img{
    width: 100%;
    height: auto;
    display: block;
  }

  /* CTA：折り返しで「ALL / MILLESIME / COLLECTION」にならないように */
  .rw-mega__all{
    display: block;
    text-align: center;
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid rgba(0,0,0,.12);
    white-space: nowrap;            /* ★これで1行キープ */
    font-size: 13px;
    letter-spacing: .08em;
    color: inherit;
    text-decoration: none;
  }
}

@media screen and (max-width: 768px) {
.rw-global-nav {
  background-color: #6b6b6b;
  height: 50px;
  line-height: 30px;
  z-index: 9998;
  position: relative;
}
.rw-global-nav ul {
  padding: 8px 5px 0;
  gap: 10px;
  }
.rw-global-nav a {
  font-size: 10px;
}
.rw-mega__inner {
    padding: 0px;
}
}
.mrt1em{
  margin-top: 1em;
}
@media (hover:hover){
  .rw-nav-item.is-mega .rw-mega{
    display: block !important;

    position: fixed;
    left:0; right:0;
    top: var(--rw-header-total-h, 131px);
    z-index: 9998;
    background: #fff;

    /* 上から“見える範囲”だけ増やす */
    clip-path: inset(0 0 100% 0);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transition:
      clip-path .36s cubic-bezier(.2,.8,.2,1),
      opacity .18s ease,
      visibility 0s linear .18s;

    will-change: clip-path, opacity;
  }

  .rw-nav-item.is-mega.is-mega-open .rw-mega{
    clip-path: inset(0 0 0 0);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;

    transition:
      clip-path .40s cubic-bezier(.2,.8,.2,1),
      opacity .18s ease,
      visibility 0s;
  }
}

/* =========================
   MEGA BG: one fixed white panel (EN-INT behavior)
   ※CSSの一番最後
========================= */
 @media (hover:hover){
  body::before{
    content:"";
    position: fixed;
    left:0; right:0;
    top: var(--rw-header-total-h, 131px);
    height: 420px;
    z-index: 9997;
    pointer-events: none;
    background: transparent;
    box-shadow: 0 14px 40px rgba(0,0,0,.08);
    opacity: 0;
    visibility: hidden;
    transition: opacity .18s ease, visibility 0s linear .18s;
  }
  /* “伸びる白い面”だけをアニメさせる */
  body::after{
    content:"";
    position: fixed;
    left:0; right:0;
    top: var(--rw-header-total-h, 131px);
    height: 420px;
    z-index: 9997;
    pointer-events: none;
    background: #fff;
    transform-origin: top;
    transform: scaleY(0);
    opacity: 0;
    will-change: transform, opacity;
    backface-visibility: hidden;
    transform: translateZ(0) scaleY(0);
    transition:
      transform .48s cubic-bezier(.16,1,.3,1),
      opacity   .18s ease;
  }

  body.is-mega-bg::before{
    opacity: 1;
    visibility: visible;
    transition: opacity .18s ease, visibility 0s;
  }

  body.is-mega-bg::after{
    transform: translateZ(0) scaleY(1);
    opacity: 1;
  }
 /* ベース：常に存在させる（display切替しない） */
  .rw-nav-item.is-mega .rw-mega{
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .28s ease, visibility 0s linear .28s;
  }

  /* 開いてるやつ（フェードイン） */
  .rw-nav-item.is-mega.is-mega-open .rw-mega{
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: opacity .34s ease, visibility 0s;
  }

  /* 旧：フェードアウト中（ここがクロスフェードの肝） */
  .rw-nav-item.is-mega.is-mega-fadeout .rw-mega{
    opacity: 0;
    visibility: visible;        /* ←すぐhiddenにしない */
    pointer-events: none;
    transition: opacity .22s ease, visibility 0s linear .22s;
  }
}
@media (hover:hover){
  .rw-nav-item.is-mega{ position: relative; }
  .rw-nav-item.is-mega .rw-mega{
    position: fixed;
    left:0; right:0;
    top: var(--rw-header-total-h, 131px);
    z-index: 9998;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition:
      opacity .32s ease,
      visibility 0s linear .32s;
  }

  /* hover/フォーカスで表示 */
  .rw-nav-item.is-mega:hover .rw-mega,
  .rw-nav-item.is-mega:focus-within .rw-mega{
    opacity: 1;
    visibility: visible;
    pointer-events: auto;

    transition:
      opacity .36s ease .06s,   /* 少し遅らせると“ふわっ” */
      visibility 0s;
  }
}
@media (max-width:1023.98px){
	.rw-main-header__right a:first-child{display:none;}
  .rw-mega-card{
	  max-width:33%;
	}}

/* =========================
   SP Mega: curtain via max-height (reliable)
   CSSの一番最後に
========================= */
@media (max-width: 1023.98px){

  .rw-nav-item.is-mega .rw-mega{
    /* display切替は禁止：常に存在 */
    display: block !important;

    position: fixed;
    left: 0;
    right: 0;
    top: var(--rw-header-total-h, 131px);
    bottom: auto !important;
    z-index: 9999;

    background: #fff;
    color: #111;

    /* ★ここがカーテン本体 */
    max-height: 0 !important;
    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transition:
      max-height .46s cubic-bezier(.16,1,.3,1),
      opacity .22s ease,
      visibility 0s linear .22s;
  }

  .rw-nav-item.is-mega.is-mega-open .rw-mega{
    max-height: 360px !important; /* ←本国に合わせて調整 */
    opacity: 1;
    visibility: visible;
    pointer-events: auto;

    transition:
      max-height .52s cubic-bezier(.16,1,.3,1),
      opacity .22s ease,
      visibility 0s;
  }
}
@media (max-width: 1023.98px){
.section-hero .content {
	max-width: 100%!important
	}}
/* overlay を必ずクリック可能にする */
.rw-overlay{
  position: fixed !important;
  inset: 0 !important;
  z-index: 9900 !important;
  pointer-events: auto !important;
	height:100vh;
}

/* 検索フォーム本体は overlay より上 */
[data-rw-searchbar]{
  position: fixed !important;
  z-index: 9999 !important;
}

.section-mea-collection-home .swiper-wrapper {
	justify-content:center;
}
.card__media {
   width: 100%!important;
}
.section-lifestyle .swiper-button-prev, .section-lifestyle .swiper-button-next{
        bottom: 10%;
    }