/* 保存したレイアウトに、新ブランドの操作状態を追加する。 */
.main-menu.is-open{opacity:1;pointer-events:auto}
.main-menu.is-open .main-menu__nav,.main-menu.is-open .menu-half{opacity:1;transform:none}
.main-menu.is-open .menu{overflow-y:auto}
.menu-toggle[aria-expanded="true"] .menu-toggle__inner span:first-child{transform:translateY(4px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] .menu-toggle__inner span:last-child{transform:translateY(-4px) rotate(-45deg)}
.menu-toggle:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid #4c5b72;outline-offset:6px}
.slider-slide__animate,.slider-slide__image,.js-animate{opacity:1!important;transform:none!important}
html,body{width:100%;max-width:100%;overflow-x:hidden!important}
#__nuxt{width:100%;max-width:100%;overflow-x:clip}
.slider-slide__image{position:relative}
.slider-slide__image>.swiper-pagination{top:auto!important;bottom:0!important;right:0!important;left:auto!important;padding:22px;max-width:100%}
.lumiere-dialog{border:1px solid #4c5b72;background:#fafaf5;color:#4c5b72;width:min(640px,92vw);max-height:85vh;padding:42px;margin:auto;overflow:auto}
.lumiere-dialog::backdrop{background:rgba(40,48,62,.45)}
.lumiere-dialog h2{padding:0;margin:0 0 24px;font-size:28px}
.lumiere-dialog h3{padding:0;margin:26px 0 12px;font-size:17px}
.lumiere-dialog p{font-family:EB Garamond,Georgia,serif;font-size:20px;line-height:1.5}
.lumiere-dialog .close-dialog{position:absolute;right:18px;top:10px;font-size:28px;background:none;cursor:pointer}
.lumiere-dialog button,.lumiere-dialog select{font:inherit;cursor:pointer}
.menu-item{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px dotted #4c5b72;padding:12px 0}
.menu-item button,.sample-order{background:#4c5b72;color:#fff;padding:8px 14px}
.order-note{font-size:14px!important;margin-top:20px}
.demo-note{font-size:11px;letter-spacing:.03em;text-align:center;padding:14px 20px;opacity:.65}
.newsletter-note{font-size:12px;margin-top:12px;line-height:1.4}
/* 日本語本文の行間と書体を整え、英語の見出しは既存の書体を保つ。 */
.swiper-slide p,.homepage-section p,.lumiere-dialog p{
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:16px;
  line-height:1.9;
  letter-spacing:.03em;
  overflow-wrap:anywhere;
}
.main-menu__nav,.main-menu .menu>nav>ul,footer a,button,input,.btn,.menu-item,.order-note,.demo-note,.newsletter-note{
  font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  letter-spacing:.04em;
}
.main-menu__nav h2{letter-spacing:.05em}
.btn{font-size:12px}
footer a{line-height:1.8;overflow-wrap:anywhere}
.lumiere-dialog h3,.menu-item{font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif}
.menu-item span{min-width:0;line-height:1.7}
.menu-item button{flex-shrink:0;white-space:nowrap}
.lumiere-dialog .order-note{font-size:13px!important;line-height:1.8}
@media(max-width:767px){
  .swiper-slide p,.homepage-section p{font-size:15px;line-height:1.9}
  .lumiere-dialog p{font-size:15px}
}
@media(max-width:767px){.lumiere-dialog{padding:35px 22px}.lumiere-dialog p{font-size:18px}.main-menu.is-open .menu{padding-top:100px}}
@media(max-width:1023px){
  .main-menu .menu-half{display:none!important}
  .main-menu.is-open .menu{position:relative;z-index:6;width:100%;height:100dvh;min-height:0;overflow:auto;padding-top:0}
  .main-menu.is-open .menu>nav{padding-top:100px}
  .main-menu.is-open .main-menu__nav{opacity:1!important;transform:none!important}
  .main-menu.is-open .main-menu__nav h2{font-size:25px;line-height:1.3;padding-top:20px;padding-bottom:20px}
  .main-menu.is-open .menu>nav>ul{padding-left:28px;padding-right:28px}
}
