/* Adopted 70% transparency: retain SWELL, editable blocks, and existing motion. */
.ritari-floating-rail,.ritari-fixed-cta,.ritari-floating-rail *,.ritari-fixed-cta *{box-sizing:border-box}
.ritari-floating-rail{position:fixed;top:50%;right:18px;z-index:99;display:grid;gap:8px;margin:0;padding:0;transform:translateY(-50%);font-family:"Zen Maru Gothic","Yu Gothic",Meiryo,sans-serif}
.ritari-social-tab{display:flex;align-items:center;justify-content:flex-start;gap:8px;width:116px;height:54px;min-width:44px;min-height:44px;padding:7px 10px;color:#3e3b37;background:#fff;border:1px solid #e8e5e1;border-right:0;border-radius:13px 0 0 13px;box-shadow:0 5px 18px #3e3b3724;text-decoration:none;transition:transform .18s,box-shadow .18s}
.ritari-social-tab svg{width:23px;height:23px;flex:none}
.ritari-social-label{font:700 11px/1.15 Arial,"Yu Gothic",sans-serif}
.ritari-social-instagram .ritari-social-label{font-size:10px}
.ritari-social-email{background:rgba(255,247,232,.3)}
.ritari-social-instagram{background:rgba(245,232,224,.3)}
.ritari-social-line{background:rgba(231,245,233,.3);color:#245d36}
.ritari-social-email:is(:hover,:focus-visible){background:#fff7e8}
.ritari-social-instagram:is(:hover,:focus-visible){background:#f5e8e0}
.ritari-social-line:is(:hover,:focus-visible){background:#e7f5e9}
.ritari-social-tab:hover{transform:translateX(-4px);box-shadow:0 6px 20px #3e3b3733}
.ritari-social-tab:focus-visible,.ritari-cta-link:focus-visible{outline:3px solid #985000;outline-offset:3px}
.ritari-fixed-cta{position:fixed;right:24px;bottom:20px;z-index:99;display:grid;gap:8px;width:300px;margin:0;padding:0;font-family:"Zen Maru Gothic","Yu Gothic",Meiryo,sans-serif}
.ritari-cta-link{display:flex;align-items:center;justify-content:center;gap:12px;min-height:54px;padding:12px 20px;border:2px solid transparent;border-radius:999px;background:rgba(249,185,83,.3);color:#3e3b37;box-shadow:0 3px 8px #3e3b372e;text-decoration:none;font-size:16px;font-weight:700;line-height:1.6}
.ritari-cta-line{background:rgba(255,255,255,.3)}
.ritari-cta-link:focus-visible{background:#f9b953}
.ritari-cta-line:focus-visible{background:#fff}
.ritari-cta-link:hover{background:#f6ac34}
.ritari-cta-link span{font:400 24px/1 Arial,sans-serif}
.ritari-floating-loading .ritari-floating-rail,.ritari-floating-loading .ritari-fixed-cta{opacity:0;visibility:hidden}
html[data-spmenu="opened"] .ritari-floating-rail,html[data-spmenu="opened"] .ritari-fixed-cta,.ritari-floating-menu-open .ritari-floating-rail,.ritari-floating-menu-open .ritari-fixed-cta{display:none!important}
.ritari-has-floating-social #fix_bottom_menu{display:none!important}
.ritari-has-floating-social .l-header .c-iconList__item.-instagram,.ritari-has-floating-social .l-header .c-iconList__item.-line{display:none}
.ritari-has-floating-social .l-header__spNav:not(:has(a)){display:none}
/* SWELL writes an inline footer offset for its own menu; override it for our bar. */
.ritari-has-floating-social .l-footer{padding-bottom:160px!important}
@media(min-width:768px){
  .ritari-has-floating-social .p-fixBtnWrap{right:24px;bottom:calc(var(--ritari-cta-height,116px) + 32px)}
  .ritari-has-floating-social .ritari-wp .wrap{padding-right:300px}
  .ritari-has-floating-social .ritari-wp .plan-community{padding-right:324px}
  .ritari-has-floating-social .l-footer .l-container{padding-right:336px}
  .ritari-has-floating-social .post_content:not(:has(.ritari-wp)){padding-right:324px}
}
@media(min-width:768px) and (max-width:1199px){.ritari-has-floating-social .ritari-wp .plan-community img{width:120px;height:120px}}
@media(max-height:620px) and (min-width:768px){.ritari-floating-rail{top:120px;transform:none}}
@media(max-width:767px){
  .ritari-floating-rail{top:auto;right:8px;bottom:calc(var(--ritari-cta-height,calc(73px + env(safe-area-inset-bottom))) + 20px);transform:none}
  .ritari-social-tab{flex-direction:column;justify-content:center;gap:2px;width:58px;height:57px;padding:4px 2px;border-radius:12px 0 0 12px}
  .ritari-social-tab svg{width:22px;height:22px}
  .ritari-social-label{font-size:10px}
  .ritari-social-instagram .ritari-social-label{font-size:9px}
  .ritari-social-tab:hover{transform:none}
  .ritari-fixed-cta{inset:auto 0 0;width:100%;grid-template-columns:1.15fr 1fr;gap:8px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:rgba(255,255,255,.3);border-top:1px solid #e8e5e1}
  .ritari-fixed-cta:is(:hover,:focus-within){background:#fff}
  .ritari-cta-link{min-height:56px;padding:8px;border-radius:16px;box-shadow:none;font-size:14px;line-height:1.4;text-align:center}
  .ritari-cta-link span{display:none}
  .ritari-has-floating-social .p-fixBtnWrap{display:none}
  .ritari-has-floating-social .l-footer{padding-bottom:calc(var(--ritari-cta-height,calc(73px + env(safe-area-inset-bottom))) + 24px)!important}
  /* Reserve space inside content; retain the full-width section backgrounds and hero. */
  .ritari-has-floating-social .ritari-wp .wrap{padding-right:66px}
  .ritari-has-floating-social .ritari-wp .plan-community{padding-right:90px}
  .ritari-has-floating-social .post_content:not(:has(.ritari-wp)){padding-right:66px}
  .ritari-has-floating-social .l-footer .l-container{padding-right:82px}
}
@media(prefers-reduced-motion:reduce){.ritari-social-tab,.ritari-cta-link{transition:none}}
@media print{.ritari-floating-rail,.ritari-fixed-cta{display:none!important}.ritari-has-floating-social .ritari-wp .wrap{padding-right:0}}

/* One visible LINE registration prompt at a time. */
.ritari-fixed-cta .ritari-cta-line[hidden]{display:none!important}
@media(max-width:767px){.ritari-fixed-cta.ritari-inline-line-visible{grid-template-columns:1fr}}
.ritari-mega-links{grid-template-columns:1fr}

/* Adopted F layout. Keep the existing small-screen layout and visibility hooks. */
.ritari-floating-dock{display:contents}
.ritari-cta-icon,.ritari-cta-short-label{display:none}
.ritari-cta-link>.ritari-cta-full-label{display:inline!important;font:inherit!important}
@media(min-width:1024px){
  .ritari-floating-dock{display:grid;position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:99;width:128px;gap:10px;pointer-events:none;font-family:"Zen Maru Gothic","Yu Gothic",Meiryo,sans-serif}
  .ritari-floating-dock :is(.ritari-floating-rail,.ritari-fixed-cta){position:static;inset:auto;transform:none;width:100%;grid-template-columns:1fr;gap:10px;pointer-events:auto}
  .ritari-floating-dock :is(.ritari-social-tab,.ritari-cta-link){display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:10px;width:100%;height:56px;min-height:56px;padding:7px 6px 7px 10px;border:1px solid #e8e5e1;border-radius:16px;box-shadow:0 3px 12px #3e3b371c;font-size:11px;line-height:1.2;text-align:left;white-space:nowrap;transition:transform .18s,box-shadow .18s}
  .ritari-floating-dock svg{box-sizing:border-box;width:34px;height:34px;padding:6px;border-radius:50%;background:#ffffffa6;flex:none}
  .ritari-floating-dock .ritari-cta-icon{display:block}
  .ritari-floating-dock .ritari-cta-link>.ritari-cta-full-label{display:none!important}
  .ritari-floating-dock .ritari-cta-short-label{display:inline;font:inherit}
  .ritari-floating-dock .ritari-cta-arrow{display:none}
  .ritari-floating-dock .ritari-cta-link:not(.ritari-cta-line){background:rgba(255,240,215,.3);color:#6c4820}
  .ritari-floating-dock .ritari-cta-link:not(.ritari-cta-line):focus-visible{background:#fff0d7}
  .ritari-floating-dock .ritari-cta-link:not(.ritari-cta-line):hover{background:#ffe5b8}
  .ritari-floating-dock .ritari-cta-line{background:rgba(231,245,233,.3);color:#245d36}
  .ritari-floating-dock .ritari-cta-line:focus-visible{background:#e7f5e9}
  .ritari-floating-dock .ritari-cta-line:hover{background:#d9eddd}
  .ritari-floating-dock .ritari-cta-link:hover{transform:translateX(-4px);box-shadow:0 6px 20px #3e3b3733}
  .ritari-has-floating-social .ritari-wp .wrap,.ritari-has-floating-social .ritari-wp .ritari-access .wrap{padding-inline:0!important}
  .ritari-has-floating-social .ritari-wp .plan-community{padding-right:24px!important}
  .ritari-has-floating-social .post_content:not(:has(.ritari-wp)){padding-right:0!important}
  .ritari-has-floating-social .l-footer .l-container{padding-right:0!important}
  .ritari-has-floating-social .l-footer{padding-bottom:0!important}
  .l-footer .ritari-footer-inner{padding-bottom:76px!important}
  :is(.ritari-wp,.ritari-knowledge) p{max-inline-size:52em}
  .ritari-has-floating-social .p-fixBtnWrap{right:24px;bottom:24px}
}
@media(min-width:1024px) and (max-height:620px){.ritari-floating-dock{top:145px;transform:none}}
@media(prefers-reduced-motion:reduce){.ritari-floating-dock :is(.ritari-social-tab,.ritari-cta-link){transition:none}}
