.elementor-3077 .elementor-element.elementor-element-384088a5 .elementor-menu-toggle{margin-left:auto;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS for nav-menu, class: .elementor-element-384088a5 *//* Native Nav Menu3077/384088a5 custom CSS. .elementor-3077 .elementor-element.elementor-element-384088a5 is Elementor's widget scope. */
.elementor-3077 .elementor-element.elementor-element-384088a5 { width:100%; min-width:0; font-family:"Noto Sans JP",sans-serif; }
.elementor-3077 .elementor-element.elementor-element-384088a5 .elementor-nav-menu--main .elementor-item {
  position:relative;
  font-family:"Noto Sans JP",sans-serif;
  font-size:14px;
  font-weight:500;
  line-height:1.4;
  color:#26221E;
  padding:14px 10px;
  min-height:44px;
  white-space:nowrap;
}
.elementor-3077 .elementor-element.elementor-element-384088a5 .elementor-nav-menu--main .elementor-item::after {
  content:"";
  position:absolute;
  inset:auto 10px 7px;
  height:2px;
  background:#7D2438;
  opacity:0;
  transform:none;
  pointer-events:none;
}
.elementor-3077 .elementor-element.elementor-element-384088a5 .elementor-nav-menu--main .elementor-item:is(:hover,:focus-visible,.elementor-item-active,.highlighted,[aria-expanded="true"]) {
  color:#7D2438;
  background:transparent;
}
.elementor-3077 .elementor-element.elementor-element-384088a5 .elementor-nav-menu--main .elementor-item:is(:hover,:focus-visible,.elementor-item-active,.highlighted,[aria-expanded="true"])::after { opacity:1; }
.elementor-3077 .elementor-element.elementor-element-384088a5 .sub-arrow { padding-left:6px; font-size:10px; }
.elementor-3077 .elementor-element.elementor-element-384088a5 .elementor-nav-menu--dropdown {
  box-sizing:border-box;
  background:#FFFCF6;
  border:1px solid rgba(38,34,30,.13);
  border-top:2px solid #7D2438;
  border-radius:0;
  box-shadow:0 8px 24px rgba(38,34,30,.10);
}
.elementor-3077 .elementor-element.elementor-element-384088a5 .elementor-nav-menu--dropdown :is(.elementor-item,.elementor-sub-item) {
  box-sizing:border-box;
  min-width:0;
  font-family:"Noto Sans JP",sans-serif;
  font-size:13px;
  font-weight:400;
  line-height:1.6;
  min-height:44px;
  padding:12px 18px;
  color:#26221E;
  background:transparent;
  white-space:normal;
  word-break:normal;
  overflow-wrap:anywhere;
}
.elementor-3077 .elementor-element.elementor-element-384088a5 .elementor-nav-menu--dropdown a:is(:hover,:focus,.elementor-item-active,.highlighted,[aria-current="page"]) { background:#EAE2D5; color:#7D2438; }
.elementor-3077 .elementor-element.elementor-element-384088a5 :is(.elementor-item,.elementor-sub-item,.elementor-menu-toggle):focus-visible { outline:2px solid #7D2438; outline-offset:-2px; }
.elementor-3077 .elementor-element.elementor-element-384088a5 .elementor-menu-toggle {
  min-height:44px;
  min-width:84px;
  padding:8px 0 8px 8px;
  color:#26221E;
  background:transparent;
  gap:8px;
  font-size:18px;
}
.elementor-3077 .elementor-element.elementor-element-384088a5 .elementor-menu-toggle::after { content:'メニュー'; font-family:"Noto Sans JP",sans-serif; font-size:12px; font-weight:500; }
@media (min-width:1025px) and (max-width:1279px) {
  .elementor-3077 .elementor-element.elementor-element-384088a5 .elementor-nav-menu--main .elementor-item { font-size:12.5px; padding:14px 5px; }
  .elementor-3077 .elementor-element.elementor-element-384088a5 .elementor-nav-menu--main .elementor-item::after { left:5px; right:5px; }
  .elementor-3077 .elementor-element.elementor-element-384088a5 .sub-arrow { padding-left:4px; }
}
@media (max-width:1024px) {
  .elementor-3077 .elementor-element.elementor-element-384088a5 { width:auto; flex:0 0 84px; height:44px; display:block; }
  .elementor-3077 .elementor-element.elementor-element-384088a5 > .elementor-widget-container { height:44px; }
  .elementor-3077 .elementor-element.elementor-element-384088a5 .elementor-nav-menu--dropdown.elementor-nav-menu__container { position:absolute; top:100%; margin-top:4px; }
  .elementor-3077 .elementor-element.elementor-element-384088a5 .elementor-nav-menu--dropdown .elementor-item { font-weight:500; }
  .elementor-3077 .elementor-element.elementor-element-384088a5 .elementor-nav-menu--dropdown .elementor-sub-item { padding-left:30px; font-size:12px; border-left:2px solid #7D2438; margin-left:18px; }
}

/* Desktop submenu size is independent of the narrow top-level item.
   SmartMenus writes width/min-width inline; only these dimensions override it.
   Keep its display, offsets, anchoring and event behavior under native control. */
@media (min-width:1025px) {
  .elementor-3077 .elementor-element.elementor-element-384088a5 .elementor-nav-menu--main .sub-menu {
    box-sizing:border-box;
    width:max-content !important;
    min-width:240px !important;
    max-width:calc(100vw - 40px);
    margin-top:0;
    padding:4px 0;
  }
  .elementor-3077 .elementor-element.elementor-element-384088a5 .elementor-nav-menu--main .sub-menu .elementor-sub-item {
    box-sizing:border-box;
    min-height:44px;
    padding:11px 20px;
    font-size:14px;
    line-height:1.6;
    white-space:nowrap;
    word-break:normal;
    overflow-wrap:normal;
  }
}
/* Native full_width positioning stays in charge of the tablet/mobile panel.
   Flexible submenu rows can wrap within its available width at narrow sizes. */
@media (max-width:1024px) {
  .elementor-3077 .elementor-element.elementor-element-384088a5 .elementor-nav-menu--dropdown .sub-menu {
    box-sizing:border-box;
    min-width:0;
    max-width:100%;
  }
  .elementor-3077 .elementor-element.elementor-element-384088a5 .elementor-nav-menu--dropdown :is(.elementor-item,.elementor-sub-item) {
    min-width:0;
    max-width:100%;
    white-space:normal;
    word-break:normal;
    overflow-wrap:anywhere;
  }
}/* End custom CSS */