.elementor-11 .elementor-element.elementor-element-9d18d5d{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--z-index:10;}.elementor-widget-theme-site-logo .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-11 .elementor-element.elementor-element-538a110 img{width:250px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-11 .elementor-element.elementor-element-a1f82db{--e-transform-rotateZ:90deg;top:50%;text-align:left;}body:not(.rtl) .elementor-11 .elementor-element.elementor-element-a1f82db{right:-130px;}body.rtl .elementor-11 .elementor-element.elementor-element-a1f82db{left:-130px;}.elementor-11 .elementor-element.elementor-element-a1f82db .elementor-heading-title{font-family:"Noto Serif JP", Sans-serif;font-size:15px;font-weight:400;color:#FFFFFF;}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-11 .elementor-element.elementor-element-e8d0418 .elementor-icon-wrapper{text-align:center;}.elementor-11 .elementor-element.elementor-element-e8d0418.elementor-view-stacked .elementor-icon{background-color:#FFFFFF;}.elementor-11 .elementor-element.elementor-element-e8d0418.elementor-view-framed .elementor-icon, .elementor-11 .elementor-element.elementor-element-e8d0418.elementor-view-default .elementor-icon{color:#FFFFFF;border-color:#FFFFFF;}.elementor-11 .elementor-element.elementor-element-e8d0418.elementor-view-framed .elementor-icon, .elementor-11 .elementor-element.elementor-element-e8d0418.elementor-view-default .elementor-icon svg{fill:#FFFFFF;}.elementor-11 .elementor-element.elementor-element-e8d0418 .elementor-icon{font-size:30px;padding:10px;}.elementor-11 .elementor-element.elementor-element-e8d0418 .elementor-icon svg{height:30px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:767px){.elementor-11 .elementor-element.elementor-element-538a110 img{width:150px;}body:not(.rtl) .elementor-11 .elementor-element.elementor-element-a1f82db{right:-160px;}body.rtl .elementor-11 .elementor-element.elementor-element-a1f82db{left:-160px;}}/* Start custom CSS *//* === Animated Hamburger Icon (pure CSS) === */
/* ボタン本体の箱 */
.hb-trigger .elementor-button {
  --size: 44px;
  width: var(--size);
  height: var(--size);
  padding: 0 !important;
  border: none;
  background: transparent;
  position: relative;
  display: grid;
  place-items: center;
  box-shadow: none;
  color: currentColor;
}

/* テキスト・アイコンは見せない（aria-labelでA11y担保） */
.hb-trigger .elementor-button .elementor-button-text,
.hb-trigger .elementor-button .elementor-button-icon {
  display: none;
}

/* 疑似要素2つで表現：通常時は ::before だけで三本線を描く（box-shadowで上下を複製） */
.hb-trigger .elementor-button::before,
.hb-trigger .elementor-button::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 22px;
  height: 2px;
  background: currentColor;
  border-radius: 999px;
  transform: translate(-50%, -50%);
  transition: transform .25s ease, opacity .2s ease, box-shadow .25s ease, width .25s ease;
}

/* 中央線 + 上下線（box-shadow）= 3本線 */
.hb-trigger .elementor-button::before {
  box-shadow:
    0 -6px 0 0 currentColor, /* 上 */
    0  6px 0 0 currentColor; /* 下 */
}

/* ::after は初期は非表示（Xの片側としてのみ使用） */
.hb-trigger .elementor-button::after {
  opacity: 0;
}

/* ========== 開いた時（Xに変形） ========== */
/* 上下の複製をやめて一本の斜線に → 45度回転 */
.hb-trigger.is-active .elementor-button::before {
  box-shadow: none;
  transform: translate(-50%, -50%) rotate(45deg);
}

/* もう一本の斜線を表示 → -45度回転 */
.hb-trigger.is-active .elementor-button::after {
  opacity: 1;
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* 低モーション環境 */
@media (prefers-reduced-motion: reduce) {
  .hb-trigger .elementor-button::before,
  .hb-trigger .elementor-button::after { transition: none; }
}/* End custom CSS */