/* KIRAEN Fixed Navigation 1.2.4 */

#kiraen-global-fixed-nav {
  position: relative;
  z-index: 10001;
}

/* PC：画面右下の縦型メニュー */
@media screen and (min-width: 768px) {
  #kiraen-global-fixed-nav .kiraen-fixed-nav {
    position: fixed !important;
    right: 24px !important;
    bottom: 24px !important;
    left: auto !important;
    z-index: 10001 !important;
    display: flex !important;
    flex-direction: column !important;
    width: 220px !important;
    max-width: calc(100vw - 48px) !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 1px solid rgba(184, 145, 79, 0.65) !important;
    border-radius: 4px !important;
    box-shadow: 0 5px 18px rgba(0, 0, 0, 0.18) !important;
  }

  #kiraen-global-fixed-nav .kiraen-fixed-nav > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
  }

  #kiraen-global-fixed-nav .kiraen-fixed-nav-item {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-height: 58px !important;
    margin: 0 !important;
    padding: 9px 16px !important;
    gap: 13px !important;
    background: #fff !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
  }

  #kiraen-global-fixed-nav .kiraen-fixed-nav-item + .kiraen-fixed-nav-item {
    border-top: 1px solid rgba(184, 145, 79, 0.38) !important;
  }

  #kiraen-global-fixed-nav .kiraen-fixed-nav-item:hover {
    background: #f8f5f0 !important;
  }

  #kiraen-global-fixed-nav .elementor-widget,
  #kiraen-global-fixed-nav .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
  }

  #kiraen-global-fixed-nav .elementor-widget-icon,
  #kiraen-global-fixed-nav .elementor-widget-image {
    flex: 0 0 36px !important;
    width: 36px !important;
    height: 36px !important;
  }

  #kiraen-global-fixed-nav .elementor-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    color: #b8914f !important;
    font-size: 33px !important;
    line-height: 1 !important;
  }

  #kiraen-global-fixed-nav .elementor-icon i {
    font-size: 33px !important;
    line-height: 36px !important;
  }

  #kiraen-global-fixed-nav .elementor-icon svg {
    width: 33px !important;
    height: 33px !important;
    fill: currentColor !important;
  }

  #kiraen-global-fixed-nav .elementor-widget-image a,
  #kiraen-global-fixed-nav .elementor-widget-image img {
    display: block !important;
    width: 30px !important;
    height: 30px !important;
    max-width: 30px !important;
    max-height: 30px !important;
    margin: 3px auto !important;
    object-fit: contain !important;
    border-radius: 0 !important;
  }

  /* メガホンをほかのアイコンより約10%大きく */
  #kiraen-global-fixed-nav .kiraen-fixed-nav-campaign .elementor-icon,
  #kiraen-global-fixed-nav .kiraen-fixed-nav-campaign .elementor-icon i {
    font-size: 36px !important;
  }

  #kiraen-global-fixed-nav .kiraen-fixed-nav-campaign .elementor-icon svg {
    width: 36px !important;
    height: 36px !important;
  }

  #kiraen-global-fixed-nav .elementor-widget-heading {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  #kiraen-global-fixed-nav .elementor-heading-title,
  #kiraen-global-fixed-nav .elementor-heading-title a,
  #kiraen-global-fixed-nav .kiraen-fixed-nav-item p {
    margin: 0 !important;
    color: #222 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    text-align: left !important;
    text-decoration: none !important;
  }

  #kiraen-global-fixed-nav .kiraen-fixed-nav-campaign .elementor-heading-title,
  #kiraen-global-fixed-nav .kiraen-fixed-nav-campaign .elementor-heading-title a,
  #kiraen-global-fixed-nav .kiraen-fixed-nav-campaign p {
    letter-spacing: -0.06em !important;
  }

  body.kiraen-fixed-nav-no-desktop #kiraen-global-fixed-nav {
    display: none !important;
  }

  /* 英語・機械翻訳版：日本語用の詰め設定を解除 */
  html:not([lang^="ja"]) #kiraen-global-fixed-nav .kiraen-fixed-nav-campaign .elementor-heading-title,
  html:not([lang^="ja"]) #kiraen-global-fixed-nav .kiraen-fixed-nav-campaign .elementor-heading-title a,
  html:not([lang^="ja"]) #kiraen-global-fixed-nav .kiraen-fixed-nav-campaign p,
  html.translated-ltr #kiraen-global-fixed-nav .kiraen-fixed-nav-campaign .elementor-heading-title,
  html.translated-ltr #kiraen-global-fixed-nav .kiraen-fixed-nav-campaign .elementor-heading-title a,
  html.translated-ltr #kiraen-global-fixed-nav .kiraen-fixed-nav-campaign p,
  body.translated-ltr #kiraen-global-fixed-nav .kiraen-fixed-nav-campaign .elementor-heading-title,
  body.translated-ltr #kiraen-global-fixed-nav .kiraen-fixed-nav-campaign .elementor-heading-title a,
  body.translated-ltr #kiraen-global-fixed-nav .kiraen-fixed-nav-campaign p {
    letter-spacing: 0 !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
  }

  #ast-scroll-top,
  .ast-scroll-to-top-right {
    bottom: 218px !important;
  }
}

/* SP：画面下の横型3メニュー */
@media screen and (max-width: 767px) {
  #kiraen-global-fixed-nav .kiraen-fixed-nav {
    position: fixed !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 10001 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 82px !important;
    margin: 0 !important;
    padding: 0 0 env(safe-area-inset-bottom) !important;
    gap: 0 !important;
    background: #fff !important;
    border-top: 2px solid #b8914f !important;
    box-shadow: 0 -4px 14px rgba(0, 0, 0, 0.14) !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  #kiraen-global-fixed-nav .kiraen-fixed-nav > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 80px !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
  }

  #kiraen-global-fixed-nav .kiraen-fixed-nav-item {
    position: relative !important;
    display: flex !important;
    flex: 1 1 33.333% !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 33.333% !important;
    min-width: 0 !important;
    min-height: 80px !important;
    margin: 0 !important;
    padding: 5px 3px 4px !important;
    gap: 3px !important;
    background: #fff !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    cursor: pointer !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  #kiraen-global-fixed-nav .kiraen-fixed-nav-item + .kiraen-fixed-nav-item {
    border-left: 1px solid rgba(184, 145, 79, 0.55) !important;
  }

  #kiraen-global-fixed-nav .kiraen-fixed-nav-item:active {
    background: #f5f2ed !important;
  }

  #kiraen-global-fixed-nav .elementor-widget,
  #kiraen-global-fixed-nav .elementor-widget-container {
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  #kiraen-global-fixed-nav .elementor-widget-icon {
    flex: 0 0 46px !important;
    width: 46px !important;
    height: 46px !important;
    margin: 0 auto !important;
    line-height: 0 !important;
  }

  /* Instagram・LINEの画像枠を約5%縮小 */
  #kiraen-global-fixed-nav .elementor-widget-image {
    flex: 0 0 44px !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 auto !important;
    line-height: 0 !important;
  }

  #kiraen-global-fixed-nav .elementor-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 46px !important;
    height: 46px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    color: #b8914f !important;
    font-size: 44px !important;
    line-height: 1 !important;
  }

  #kiraen-global-fixed-nav .elementor-icon i {
    font-size: 44px !important;
    line-height: 46px !important;
  }

  #kiraen-global-fixed-nav .elementor-icon svg {
    width: 44px !important;
    height: 44px !important;
    fill: currentColor !important;
    overflow: visible !important;
  }

  #kiraen-global-fixed-nav .elementor-widget-image a,
  #kiraen-global-fixed-nav .elementor-widget-image img {
    display: block !important;
    width: 38px !important;
    height: 38px !important;
    max-width: 38px !important;
    max-height: 38px !important;
    margin: 3px auto !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: center !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  /* メガホンをほかのアイコンより約10%大きく */
  #kiraen-global-fixed-nav .kiraen-fixed-nav-campaign .elementor-icon,
  #kiraen-global-fixed-nav .kiraen-fixed-nav-campaign .elementor-icon i {
    font-size: 48px !important;
  }

  #kiraen-global-fixed-nav .kiraen-fixed-nav-campaign .elementor-icon svg {
    width: 48px !important;
    height: 48px !important;
  }

  #kiraen-global-fixed-nav .elementor-widget-heading {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #kiraen-global-fixed-nav .elementor-heading-title,
  #kiraen-global-fixed-nav .elementor-heading-title a,
  #kiraen-global-fixed-nav .kiraen-fixed-nav-item p {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #222 !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    white-space: nowrap !important;
    text-decoration: none !important;
  }

  #kiraen-global-fixed-nav .kiraen-fixed-nav-campaign .elementor-heading-title,
  #kiraen-global-fixed-nav .kiraen-fixed-nav-campaign .elementor-heading-title a,
  #kiraen-global-fixed-nav .kiraen-fixed-nav-campaign p {
    font-size: 11px !important;
    letter-spacing: -0.06em !important;
  }

  /* Instagram（2番目）とLINEの文字を約5%縮小 */
  #kiraen-global-fixed-nav .kiraen-fixed-nav > .e-con-inner > .kiraen-fixed-nav-item:nth-child(2) .elementor-heading-title,
  #kiraen-global-fixed-nav .kiraen-fixed-nav > .e-con-inner > .kiraen-fixed-nav-item:nth-child(2) .elementor-heading-title a,
  #kiraen-global-fixed-nav .kiraen-fixed-nav > .e-con-inner > .kiraen-fixed-nav-item:nth-child(2) p,
  #kiraen-global-fixed-nav .kiraen-fixed-nav-line .elementor-heading-title,
  #kiraen-global-fixed-nav .kiraen-fixed-nav-line .elementor-heading-title a,
  #kiraen-global-fixed-nav .kiraen-fixed-nav-line p {
    font-size: 11.4px !important;
  }

  body.kiraen-fixed-nav-active:not(.kiraen-fixed-nav-no-mobile) {
    padding-bottom: calc(82px + env(safe-area-inset-bottom)) !important;
  }

  body.kiraen-fixed-nav-no-mobile #kiraen-global-fixed-nav {
    display: none !important;
  }

  /* 英語・ES・FR・DEなど：文字重なりを防止 */
  html:not([lang^="ja"]) #kiraen-global-fixed-nav .kiraen-fixed-nav-campaign .elementor-heading-title,
  html:not([lang^="ja"]) #kiraen-global-fixed-nav .kiraen-fixed-nav-campaign .elementor-heading-title a,
  html:not([lang^="ja"]) #kiraen-global-fixed-nav .kiraen-fixed-nav-campaign p,
  html.translated-ltr #kiraen-global-fixed-nav .kiraen-fixed-nav-campaign .elementor-heading-title,
  html.translated-ltr #kiraen-global-fixed-nav .kiraen-fixed-nav-campaign .elementor-heading-title a,
  html.translated-ltr #kiraen-global-fixed-nav .kiraen-fixed-nav-campaign p,
  body.translated-ltr #kiraen-global-fixed-nav .kiraen-fixed-nav-campaign .elementor-heading-title,
  body.translated-ltr #kiraen-global-fixed-nav .kiraen-fixed-nav-campaign .elementor-heading-title a,
  body.translated-ltr #kiraen-global-fixed-nav .kiraen-fixed-nav-campaign p {
    font-size: 11.4px !important;
    letter-spacing: 0 !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
  }

  /* GTranslate後の長い文言は自動的に2行まで許可 */
  body.kiraen-long-translation #kiraen-global-fixed-nav .kiraen-fixed-nav-campaign .elementor-heading-title,
  body.kiraen-long-translation #kiraen-global-fixed-nav .kiraen-fixed-nav-campaign .elementor-heading-title a,
  body.kiraen-long-translation #kiraen-global-fixed-nav .kiraen-fixed-nav-campaign p {
    width: 100% !important;
    font-size: 11.4px !important;
    letter-spacing: 0 !important;
    line-height: 1.15 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  /* GTranslateで消える語間を補い、翻訳文を確実に2行表示 */
  #kiraen-global-fixed-nav .kiraen-fixed-nav-campaign .kiraen-campaign-label-line {
    display: block !important;
    width: 100% !important;
    white-space: nowrap !important;
    text-align: center !important;
  }

  #ast-scroll-top,
  .ast-scroll-to-top-right {
    right: 10px !important;
    bottom: calc(92px + env(safe-area-inset-bottom)) !important;
    z-index: 10002 !important;
  }
}

@media screen and (max-width: 389px) {
  #kiraen-global-fixed-nav .kiraen-fixed-nav-campaign .elementor-heading-title,
  #kiraen-global-fixed-nav .kiraen-fixed-nav-campaign .elementor-heading-title a,
  #kiraen-global-fixed-nav .kiraen-fixed-nav-campaign p {
    font-size: 10px !important;
  }
}

body.kiraen-fixed-nav-hide-old .kiraen-bottom-campaign,
body.kiraen-fixed-nav-hide-old .kiraen-line-float {
  display: none !important;
}
