
.header{
position:fixed;
width:100%;
}


.floating-area {
  position: fixed;
  bottom: 40px;
  left: 20px;   
  display: flex;
  flex-direction: column;
  gap: 10px;
  z-index: 9999;
}

.line-btn {
  background: #06C755;
  color: #fff;
  padding: 10px 20px;
  border-radius: 50px;
	font-size: 14px;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
}

.sub-btn {
  background: #ff7f50;
  color: #fff;
  padding: 10px 20px;
  border-radius: 50px;
  font-size: 14px;
  text-decoration: none;
  border: 1px solid #ddd;
  text-align: center;
}

@media (max-width: 767px) {
  .floating-area {
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    bottom: 20px;
    align-items: center;
  }

  .line-btn,
  .sub-btn {
    width: 220px;
  }
}

/* Elements loading screen */
#preloader .skip-preloader,#preloader .preloader-animation > *{display:none!important}
#preloader .preloader-animation{position:fixed!important;top:50%!important;left:50%!important;width:min(280px,65vw)!important;height:100px!important;margin:0!important;transform:translate(-50%,-50%)!important;border:0!important;border-radius:0!important;box-shadow:none!important;animation:none!important;background:transparent!important}
#preloader .preloader-animation::before{content:""!important;display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;transform:none!important;animation:none!important;background:transparent url("/assets/migrated/shared-page-images/517c74da28f5251c1d0d.png") center/contain no-repeat!important}
#preloader .preloader-animation::after{display:none!important}

/* Scrollable menu drawer: keep all entries inside viewport */
.elm-header .elm-menu[open]>.elm-drawer{position:fixed!important;top:12px!important;right:12px!important;bottom:12px!important;width:min(540px,calc(100vw - 24px))!important;height:auto!important;max-height:calc(100dvh - 24px)!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;scrollbar-gutter:stable;z-index:100!important;padding:88px 24px 32px!important;border-radius:20px!important;-webkit-overflow-scrolling:touch}
.elm-header .elm-menu[open]>summary{position:fixed!important;top:24px!important;right:32px!important;z-index:101!important}
.elm-header .elm-drawer details>summary{padding:16px 0;line-height:1.5}
.elm-header .elm-drawer details>div{min-width:0}
.elm-header .elm-drawer a{overflow-wrap:anywhere}
@media(max-width:640px){.elm-header .elm-menu[open]>.elm-drawer{top:8px!important;right:8px!important;bottom:8px!important;width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important;padding:76px 20px 28px!important}.elm-header .elm-menu[open]>summary{top:20px!important;right:24px!important}}

/* Elements accordion menu cards */
.elm-header .elm-drawer{background:#f5f8f7!important;color:#103e3a}
.elm-header .elm-drawer-title{font-size:36px;font-weight:900;letter-spacing:0;line-height:1.2;color:#f25191;margin:0 0 20px}
.elm-header .elm-drawer-title::after{content:"メニューから探す";display:block;font-size:14px;line-height:1.6;font-weight:700;color:#6b7875;margin-top:16px}
.elm-header .elm-language-inline{margin:0 0 24px}
.elm-header .elm-drawer>details{border-top:1px solid #d7e3e2;border-bottom:0;margin:0}
.elm-header .elm-drawer>details:last-child{border-bottom:1px solid #d7e3e2}
.elm-header .elm-drawer>details>summary{display:flex;align-items:center;gap:14px;list-style:none;padding:24px 0;font-size:20px;font-weight:800;line-height:1.5}
.elm-header .elm-drawer>details>summary::-webkit-details-marker{display:none}
.elm-header .elm-drawer>details>summary::before{content:"";width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:12px solid #103e3a;flex-shrink:0;transform-origin:5px 8px}
.elm-header .elm-drawer>details[open]>summary::before{transform:rotate(90deg)}
.elm-header .elm-drawer>details>div{display:grid;grid-template-columns:minmax(0,1fr)!important;gap:9px;padding:0 0 20px}
.elm-header .elm-drawer>details>div>a{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border-radius:13px;padding:17px 16px;min-height:64px;font-size:18px;font-weight:700;line-height:1.5;text-decoration:none}
.elm-header .elm-drawer>details>div>a::after{content:"→";font-size:24px;font-weight:400;flex-shrink:0}
.elm-header .elm-drawer>details>div>a:hover{background:#e9f3f1}
.elm-header .elm-drawer>details>div>a:focus-visible{outline:3px solid #ffbd3c;outline-offset:2px}
@media(max-width:640px){.elm-header .elm-drawer-title{font-size:32px}.elm-header .elm-drawer>details>summary{font-size:18px;padding:20px 0}.elm-header .elm-drawer>details>div>a{font-size:16px;min-height:58px;padding:15px}}

