/* ==========================================================================
   資産形成ラウンジ エフクリ 会員サイト
   ロゴ実測色（ink #222 / gold #EDBF00 / bright #FFEC39）に基づくトークン
   コンセプト：SaaS管理画面ではなく "会員制ラウンジの入館パス"
   ========================================================================== */
:root{
  /* Color — 6 tokens, disciplined palette */
  --lg-cream:       #F7F1E2;  /* 紙のような暖色ベース */
  --lg-cream-deep:  #EDE3C6;  /* サイドバー・凹面 */
  --lg-ink:         #201C14;  /* ロゴの黒に合わせた暖かい墨色 */
  --lg-ink-soft:    #6E6656;
  --lg-gold:        #B8860E;  /* ロゴの#EDBF00をテキスト可読性のため深く */
  --lg-gold-bright: #F5C242;  /* ロゴの#FFEC39寄り、グラデ/光用 */
  --lg-wine:        #7A2E2A;  /* 資産防衛トラックの対比色 */
  --lg-line:        #E2D5B4;
  --lg-white:       #FFFFFF;
  --lg-danger:      #A83B2A;

  /* サイドメニュー専用：オレンジ系（控えめな彩度） */
  --lg-amber-wash:  #F3DCC0;
  --lg-amber-line:  #E7C39A;
  --lg-amber:       #C36A1E;
  --lg-amber-bright:#EDA35C;

  /* Type */
  --lg-serif: "Yu Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  --lg-sans:  "Yu Gothic UI", "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  --lg-mono:  Consolas, "SFMono-Regular", ui-monospace, monospace;

  /* Shape */
  --lg-radius-s: 10px;
  --lg-radius-m: 18px;
  --lg-radius-l: 26px;
  --lg-shadow-sm: 0 1px 2px rgba(32,28,20,0.06), 0 1px 1px rgba(32,28,20,0.04);
  --lg-shadow-md: 0 14px 32px -14px rgba(32,28,20,0.24), 0 4px 10px -4px rgba(32,28,20,0.1);
  --lg-shadow-lg: 0 30px 60px -20px rgba(20,16,10,0.38);
}

*{ box-sizing: border-box; }
html,body{ margin:0; padding:0; }
body{
  background: var(--lg-cream);
  color: var(--lg-ink);
  font-family: var(--lg-sans);
  font-weight: 500;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "palt";
}
img{ max-width:100%; display:block; }
a{ color: inherit; text-decoration:none; }
button{ font-family: inherit; cursor:pointer; }
h1,h2,h3,h4{ font-family: var(--lg-serif); font-weight: 600; margin:0; letter-spacing: 0.01em; }
ul{ margin:0; padding:0; list-style:none; }

a.lg-link{ color: var(--lg-ink); font-weight:700; border-bottom: 1.5px solid var(--lg-gold); padding-bottom: 1px; }
a.lg-link:hover{ color: var(--lg-gold); }

.lg-ext{ font-size:0.8em; opacity:0.6; margin-left:3px; }

/* Focus visibility */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{
  outline: 3px solid var(--lg-ink);
  outline-offset: 2px;
  border-radius: 4px;
}

@media (prefers-reduced-motion: reduce){
  *{ animation-duration: 0.001ms !important; transition-duration: 0.001ms !important; }
}

.lg-eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-family: var(--lg-mono); font-size: 11.5px; letter-spacing: 0.18em;
  color: var(--lg-gold); font-weight:600;
}
.lg-eyebrow::before{ content:""; width:14px; height:1px; background: var(--lg-gold); }

/* ==========================================================================
   会員証（Lounge Pass）— サイン要素。ログインとダッシュボードで共有する部品
   ========================================================================== */
.lg-pass{
  position: relative;
  background: linear-gradient(135deg, #2A2419 0%, var(--lg-ink) 45%, #171310 100%);
  border-radius: var(--lg-radius-m);
  color: var(--lg-white);
  overflow: hidden;
  box-shadow: var(--lg-shadow-lg);
}
.lg-pass::before{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(115deg, transparent 40%, rgba(245,194,66,0.22) 50%, transparent 62%);
  pointer-events:none;
}
.lg-pass::after{
  content:"";
  position:absolute; inset:0;
  background-image: repeating-linear-gradient(135deg, rgba(255,255,255,0.025) 0 1px, transparent 1px 26px);
  pointer-events:none;
}
.lg-pass__inner{ position:relative; z-index:1; }

.lg-pass__chip{
  width:34px; height:26px; border-radius:5px;
  background: linear-gradient(160deg, var(--lg-gold-bright), var(--lg-gold));
  position:relative;
}
.lg-pass__chip::before{
  content:""; position:absolute; inset:4px;
  background-image:
    linear-gradient(rgba(32,28,20,0.55) 1px, transparent 1px),
    linear-gradient(90deg, rgba(32,28,20,0.55) 1px, transparent 1px);
  background-size: 7px 6px;
}

.lg-pass__head{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom: 22px;
}
.lg-pass__head-label{
  font-family: var(--lg-mono); font-size: 11px; letter-spacing: 0.16em;
  color: var(--lg-gold-bright); font-weight:600;
}

.lg-pass__bars{
  display:flex; align-items:flex-end; gap:3px; height:26px;
  opacity: 0.55;
}
.lg-pass__bars span{ width:2px; background: var(--lg-gold-bright); display:block; }
.lg-pass__bars span:nth-child(1){ height:40%; }
.lg-pass__bars span:nth-child(2){ height:85%; }
.lg-pass__bars span:nth-child(3){ height:55%; }
.lg-pass__bars span:nth-child(4){ height:100%; }
.lg-pass__bars span:nth-child(5){ height:65%; }
.lg-pass__bars span:nth-child(6){ height:30%; }
.lg-pass__bars span:nth-child(7){ height:75%; }

/* ==========================================================================
   ログイン画面 — 「概念：ラウンジ受付」中央1カラム構成
   ========================================================================== */
.lg-login{
  min-height: 100vh;
  display:flex; flex-direction:column; align-items:center;
  /* padding: 64px 24px 40px; */
  position: relative;
  background:
    radial-gradient(720px 420px at 14% -6%, rgba(184,134,14,0.10), transparent 60%),
    radial-gradient(560px 420px at 100% 100%, rgba(122,46,42,0.06), transparent 60%),
    var(--lg-cream);
}

.lg-login__mark{
  height: 42px; width:auto;
  margin-bottom: 26px;
}

.lg-login__eyebrow{ margin-bottom: 16px; }

.lg-login__headline{
  font-size: clamp(22px, 2.6vw, 30px);
  color: var(--lg-ink);
  text-align:center;
  margin-bottom: 44px;
  line-height:1.6;
}
.lg-login__headline em{ font-style:normal; color: var(--lg-gold); }

.lg-pass--login{
  width: 100%; max-width: 400px;
  padding: 30px 30px 34px;
}

.lg-field{ margin-bottom: 22px; }
.lg-field label{
  display:flex; justify-content:space-between; align-items:baseline;
  font-family: var(--lg-mono);
  font-size: 11px; font-weight: 600;
  margin-bottom: 10px; color: rgba(255,255,255,0.55);
  letter-spacing: 0.1em;
}
.lg-field__hint{ font-weight:500; color: rgba(255,255,255,0.35); }
.lg-field input{
  width:100%;
  padding: 13px 2px 13px;
  border: none; border-bottom: 1.5px solid rgba(255,255,255,0.28);
  background: transparent;
  font-size: 19px; color: var(--lg-white);
  font-family: var(--lg-mono);
  letter-spacing: 0.07em;
  border-radius: 0;
  transition: border-color .15s ease;
}
.lg-field input::placeholder{ font-family: var(--lg-sans); letter-spacing: 0; font-size:14px; color:rgba(255,255,255,0.3); }
.lg-field input:focus{
  border-color: var(--lg-gold-bright);
  outline: none;
}

.lg-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  border:none; border-radius: var(--lg-radius-s);
  font-weight:700; font-size:14.5px;
  padding: 14px 26px;
  transition: transform .12s ease, box-shadow .12s ease, background .12s ease, filter .12s ease;
}
.lg-btn--gold{
  width:100%;
  background: linear-gradient(180deg, var(--lg-gold-bright), var(--lg-gold));
  color: var(--lg-ink);
  box-shadow: 0 10px 22px -10px rgba(245,194,66,0.5);
}
.lg-btn--gold:hover{ filter: brightness(1.04); transform: translateY(-1px); }
.lg-btn--gold:active{ transform: translateY(0); }

.lg-btn--outline{
  background: transparent; border: 1.5px solid var(--lg-line);
  color: var(--lg-ink);
}
.lg-btn--outline:hover{ border-color: var(--lg-ink-soft); background: rgba(32,28,20,0.03); }

.lg-btn--ghost-dark{
  background: rgba(255,255,255,0.08); border: 1.5px solid rgba(255,255,255,0.2);
  color: #fff;
}
.lg-btn--ghost-dark:hover{ background: rgba(255,255,255,0.14); }

.lg-login__help{
  margin-top: 28px;
  text-align:center; font-size: 13px; color: var(--lg-ink-soft);
}

.lg-alert{
  display:flex; gap:10px; align-items:flex-start;
  background: rgba(168,59,42,0.14); border:1px solid rgba(168,59,42,0.35);
  color: #E8B3A6;
  border-radius: var(--lg-radius-s);
  padding: 12px 14px; font-size: 12.5px;
  margin-bottom: 22px; line-height: 1.6;
}
.lg-alert[hidden]{ display:none !important; }

.lg-login__trust{
  margin-top: 48px;
  display:flex; gap: 36px; flex-wrap:wrap; justify-content:center;
}
.lg-login__trust div{ text-align:center; }
.lg-login__trust-num{ font-family: var(--lg-mono); font-size: 21px; font-weight:600; color: var(--lg-ink); }
.lg-login__trust-label{ font-size: 11.5px; color: var(--lg-ink-soft); margin-top:4px; }

.lg-login__footnote{
  margin-top: 40px;
  font-size: 12px; color: var(--lg-ink-soft); text-align:center;
  max-width: 380px;
}

@media (max-width: 560px){
  .lg-login{ padding: 44px 16px 32px; }
  .lg-pass--login{ padding: 26px 22px 28px; }
}

/* ==========================================================================
   ダッシュボード シェル
   ========================================================================== */
.lg-shell{
  display:grid;
  grid-template-columns: 260px 1fr;
  min-height: 100vh;
}

.lg-side{
  background: linear-gradient(175deg, var(--lg-amber-wash) 0%, var(--lg-cream-deep) 46%);
  border-right: 1px solid var(--lg-amber-line);
  padding: 26px 16px;
  display:flex; flex-direction:column;
  position: sticky; top:0; height:100vh;
  overflow:hidden;
  overscroll-behavior-y:contain;
}
.lg-side__logo{
  padding: 4px 10px 24px;
  margin-bottom: 6px;
}
.lg-side__logo img{ height:26px; width:auto; }

.lg-nav{
  flex:1;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior-y:contain;
}
.lg-nav__group-label{
  font-family: var(--lg-mono);
  font-size: 10.5px; letter-spacing: 0.14em; color: var(--lg-ink-soft);
  padding: 20px 12px 10px; font-weight:600;
}
.lg-nav__group-label:first-child{ padding-top: 8px; }
.lg-nav__link{
  display:flex; align-items:center; gap:12px;
  padding: 10px 12px;
  font-size: 14px; font-weight: 600; color: var(--lg-ink-soft);
  margin-bottom: 2px;
  border-left: 2px solid transparent;
  border-radius: 0 var(--lg-radius-s) var(--lg-radius-s) 0;
  transition: border-color .15s ease, color .15s ease, background .15s ease;
}
.lg-nav__link svg{ width:17px; height:17px; flex-shrink:0; opacity:0.75; }
.lg-nav__link:hover{ color: var(--lg-ink); background: rgba(195,106,30,0.08); }
.lg-nav__link.is-active{
  border-left-color: var(--lg-amber); color: var(--lg-ink); background: rgba(195,106,30,0.14);
}
.lg-nav__link.is-active svg{ opacity:1; color: var(--lg-amber); }

.lg-side__footer{
  margin-top: 8px; padding-top: 16px; border-top: 1px solid var(--lg-amber-line);
}
.lg-side__company{
  display:flex; align-items:center; gap:10px;
  padding: 6px 12px 14px;
}
.lg-side__company-mark{
  width:32px; height:32px; border-radius:8px;
  background: var(--lg-ink); color: var(--lg-amber-bright);
  display:flex; align-items:center; justify-content:center;
  font-weight:800; font-size:13px; flex-shrink:0; font-family: var(--lg-mono);
}
.lg-side__company-name{ font-size:12.5px; font-weight:700; color: var(--lg-ink); }
.lg-side__company-code{ font-size:11px; color: var(--lg-ink-soft); font-family: var(--lg-mono); }

.lg-side__logout{
  display:flex; align-items:center; gap:10px;
  font-size: 13px; color: var(--lg-ink-soft); font-weight:600;
  padding: 10px 12px; border-radius: var(--lg-radius-s);
}
.lg-side__logout:hover{ background: rgba(32,28,20,0.05); color: var(--lg-danger); }

.lg-main{
  padding: 36px 44px 64px;
  max-width: 1240px;
  min-width: 0;
}

.lg-topbar{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom: 30px;
  gap: 16px;
}
.lg-topbar__greeting{ font-size: 25px; }
.lg-topbar__greeting .lg-name{ color: var(--lg-gold); }

.lg-topbar__right{ display:flex; align-items:center; gap:14px; }
.lg-icon-btn{
  width:38px; height:38px; border-radius: var(--lg-radius-s);
  border: 1px solid var(--lg-line); background: var(--lg-white);
  display:flex; align-items:center; justify-content:center; color: var(--lg-ink-soft);
}
.lg-icon-btn:hover{ border-color: var(--lg-ink-soft); color: var(--lg-ink); }
.lg-icon-btn.is-active{
  background: var(--lg-gold-bright); border-color: var(--lg-gold); color: var(--lg-ink);
}
.lg-icon-btn.is-active svg{ fill: currentColor; }
.lg-icon-btn.is-active:hover{ border-color: var(--lg-gold); }

.lg-avatar{
  width:38px; height:38px; border-radius: var(--lg-radius-s);
  background: var(--lg-ink); color: var(--lg-gold-bright);
  display:flex; align-items:center; justify-content:center;
  font-weight:700; font-family: var(--lg-serif); font-size:14px;
}

.lg-menu-toggle{
  display:none;
  background:var(--lg-white); border:1px solid var(--lg-line); border-radius:10px;
  padding:9px; margin-right:8px;
}

/* ---- ダッシュボード版 Lounge Pass ---- */
.lg-pass--dash{
  padding: 28px 32px;
  display:grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items:center;
  margin-bottom: 34px;
}
.lg-pass--edu{ grid-template-columns: 1fr; }
.lg-pass__title{ font-size: 22px; margin: 14px 0 20px; color: #fff; }
.lg-pass--edu .lg-pass__title{ font-size: 28px; line-height:1.45; }
.lg-pass__title em{ font-style:normal; color: var(--lg-gold-bright); }
.lg-pass__meta{
  display:flex; gap: 30px; flex-wrap: wrap; margin-bottom: 18px;
}
.lg-pass__meta div{ display:flex; flex-direction:column; gap:5px; }
.lg-pass__meta span:first-child{ font-family: var(--lg-mono); font-size: 10.5px; letter-spacing:.08em; color: rgba(255,255,255,0.45); }
.lg-pass__meta span:last-child{ font-family: var(--lg-mono); font-size: 15px; font-weight:600; }
.lg-pass__advisor{
  display:flex; align-items:center; gap:10px;
  font-size: 13px; color: rgba(255,255,255,0.62);
}
.lg-pass__advisor img{ width:28px; height:28px; border-radius:50%; border:1.5px solid rgba(255,255,255,0.3); }
.lg-pass__actions{
  display:flex; flex-direction:column; gap:10px; align-items:stretch; min-width: 190px;
}

/* ---- ラウンジパス：お金の勉強が必要な理由（解説バリアント） ---- */
.lg-pass--dash.lg-pass--edu{ align-items: flex-start; }
.lg-pass__lead{
  font-size: 14px; line-height:1.8; color: rgba(255,255,255,0.72);
  max-width: 600px; margin: 0 0 30px;
}
.lg-pass__reasons{
  display:grid; grid-template-columns: repeat(3, 1fr); gap:0;
  border-top: 1px solid rgba(255,255,255,0.16);
  padding-top: 22px;
}
.lg-pass__reason{
  display:flex; flex-direction:column; gap:10px;
  padding: 0 26px;
  border-left: 1px solid rgba(255,255,255,0.16);
}
.lg-pass__reason:first-child{ padding-left:0; border-left:none; }
.lg-pass__reason-num{
  font-family: var(--lg-serif); font-size:32px; font-weight:600;
  color: rgba(245,194,66,0.42); line-height:1;
}
.lg-pass__reason strong{ display:block; font-size:14px; font-weight:700; color:#fff; line-height:1.55; }
.lg-pass__reason p{ margin:0; font-size:12.5px; color: rgba(255,255,255,0.58); line-height:1.6; }

/* ---- パスカード内：マネハピ通信ティーザー ---- */
.lg-pass__news{
  display:flex; align-items:center; gap:14px;
  margin-top: 26px; padding: 15px 20px;
  background: linear-gradient(100deg, var(--lg-gold-bright), var(--lg-gold) 88%);
  border-radius: var(--lg-radius-s);
  box-shadow: 0 10px 24px -12px rgba(245,194,66,0.55);
  transition: transform .15s ease, box-shadow .15s ease;
}
.lg-pass__news:hover{ transform: translateY(-2px); box-shadow: 0 14px 28px -12px rgba(245,194,66,0.7); }
.lg-pass__news-icon{
  width:32px; height:32px; border-radius:8px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  background: rgba(32,28,20,0.14); color: var(--lg-ink);
}
.lg-pass__news-label{
  font-family: var(--lg-mono); font-size:10px; letter-spacing:0.05em; line-height:1.5;
  color: rgba(32,28,20,0.62); flex-shrink:0; font-weight:700;
}
.lg-pass__news-title{
  font-size:13.5px; font-weight:700; color: var(--lg-ink);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; flex:1; min-width:0;
}
.lg-pass__news-more{
  font-size:12px; font-weight:700; color: var(--lg-ink); flex-shrink:0; white-space:nowrap;
}

/* ---- セクション見出し ---- */
.lg-section{ margin-bottom: 46px; }
.lg-section__head{
  display:flex; align-items:baseline; justify-content:space-between;
  margin-bottom: 18px; gap: 12px; flex-wrap: wrap;
}
.lg-section__title{ font-size: 19px; display:flex; align-items:center; gap:12px; }
.lg-section__title .lg-eyebrow{ order:2; }
.lg-section__icon{
  width:28px; height:28px; border-radius:8px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  background: var(--lg-amber-wash); color: var(--lg-amber);
}
.lg-section__icon svg{ width:15px; height:15px; }
.lg-section__more{ font-size: 13px; font-weight:700; color: var(--lg-ink); border-bottom: 1.5px solid var(--lg-gold); padding-bottom:2px; }
.lg-section__more:hover{ color: var(--lg-gold); }

/* ---- 相談カテゴリ クイックリンク ---- */
.lg-quick-grid{
  display:grid; grid-template-columns: repeat(3, 1fr); gap: 16px;
}
.lg-quick-card{
  background: var(--lg-white); border: 1px solid var(--lg-line);
  border-radius: var(--lg-radius-m); padding: 24px;
  display:flex; flex-direction:column; gap:12px;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
  box-shadow: var(--lg-shadow-sm);
}
.lg-quick-card:hover{ transform: translateY(-3px); box-shadow: var(--lg-shadow-md); border-color: #D8C89A; }
.lg-quick-card__icon{
  width:38px; height:38px; border-radius: 10px;
  display:flex; align-items:center; justify-content:center;
  background: var(--lg-cream-deep); color: var(--lg-gold);
}
.lg-quick-card__icon--wine{ color: var(--lg-wine); }
.lg-quick-card__title{ font-weight:700; font-size:15.5px; font-family: var(--lg-serif); }
.lg-quick-card__desc{ font-size: 12.5px; color: var(--lg-ink-soft); line-height:1.65; }
.lg-quick-card__cta{ font-size:12.5px; font-weight:700; color: var(--lg-ink); margin-top:auto; }

/* ---- 福利厚生サービス（相談系とは毛色を変えたカード） ---- */
.lg-benefit-grid{
  display:grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px;
}
.lg-benefit-card{
  background: var(--lg-cream-deep);
  border: 1.5px dashed var(--lg-line);
  border-radius: var(--lg-radius-m);
  padding: 20px 22px;
  display:flex; flex-direction:column; gap:10px;
  position:relative;
  transition: transform .15s ease, border-color .15s ease, background .15s ease;
}
.lg-benefit-card:hover{ transform: translateY(-2px); border-color: var(--lg-gold); background: var(--lg-cream); }
.lg-benefit-card__badge{
  position:absolute; top:14px; right:16px;
  font-family: var(--lg-mono); font-size:9.5px; letter-spacing:0.06em;
  color: var(--lg-ink-soft); background: rgba(255,255,255,0.65);
  padding:3px 7px; border-radius:20px; font-weight:700;
}
.lg-benefit-card__icon{
  width:34px; height:34px; border-radius:9px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(255,255,255,0.7); color: var(--lg-gold);
}
.lg-benefit-card__icon--wine{ color: var(--lg-wine); }
.lg-benefit-card__title{ font-weight:700; font-size:14.5px; font-family: var(--lg-serif); padding-right:56px; }
.lg-benefit-card__desc{ font-size: 12px; color: var(--lg-ink-soft); line-height:1.6; }
.lg-benefit-card__cta{ font-size:12px; font-weight:700; color: var(--lg-ink); margin-top:auto; }

/* ---- 動画セミナー：横スクロール ---- */
.lg-scroll-row{
  display:flex; gap: 18px; overflow-x:auto; padding-bottom: 8px; margin: 0 -4px;
  scroll-snap-type: x proximity;
}
.lg-scroll-row::-webkit-scrollbar{ height:6px; }
.lg-scroll-row::-webkit-scrollbar-thumb{ background: var(--lg-line); border-radius:4px; }

.lg-video-card{
  flex: 0 0 272px;
  scroll-snap-align: start;
  background: var(--lg-white);
  border: 1px solid var(--lg-line);
  border-radius: var(--lg-radius-m);
  overflow:hidden;
  box-shadow: var(--lg-shadow-sm);
  transition: transform .15s ease, box-shadow .15s ease;
}
.lg-video-card:hover{ transform: translateY(-3px); box-shadow: var(--lg-shadow-md); }
.lg-video-card__thumb{
  position:relative; height:152px;
  display:flex; align-items:center; justify-content:center;
  color: #fff; font-family: var(--lg-serif); font-size: 15px; font-weight: 600; text-align:center;
  padding: 0 20px;
}
.lg-video-card__play{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  background: rgba(32,28,20,0.2);
}
.lg-video-card__play span{
  width:42px; height:42px; border-radius:50%;
  background: rgba(255,255,255,0.94); color: var(--lg-ink);
  display:flex; align-items:center; justify-content:center;
}
.lg-video-card__duration{
  position:absolute; bottom:9px; right:9px;
  background: rgba(0,0,0,0.55); color:#fff; font-size:11px;
  padding: 2px 7px; border-radius: 4px; font-family: var(--lg-mono);
}
.lg-video-card__body{ padding: 15px 16px 18px; }
.lg-video-card__tag{
  font-size: 10.5px; font-weight:700; color: var(--lg-ink);
  background: var(--lg-cream-deep); padding:3px 8px; border-radius:4px;
  display:inline-block; margin-bottom:9px; font-family: var(--lg-mono); letter-spacing:0.03em;
}
.lg-video-card__title{ font-size: 14.5px; font-weight:700; line-height:1.55; }
.lg-video-card__meta{ font-size:11.5px; color: var(--lg-ink-soft); margin-top:9px; }

/* ---- ライフプランシミュレーション：細長いバナー ---- */
.lg-lifeplan-banner{
  display:flex; align-items:center; gap:20px;
  background: linear-gradient(120deg, #2A2419, var(--lg-ink) 60%);
  border-radius: var(--lg-radius-m);
  padding: 22px 30px;
  margin-bottom: 46px;
  box-shadow: var(--lg-shadow-md);
  transition: transform .15s ease, box-shadow .15s ease;
}
.lg-lifeplan-banner:hover{ transform: translateY(-2px); box-shadow: var(--lg-shadow-lg); }
.lg-lifeplan-banner__icon{
  width:44px; height:44px; border-radius:12px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  background: rgba(245,194,66,0.16); color: var(--lg-gold-bright);
}
.lg-lifeplan-banner__text{ flex:1; min-width:0; }
.lg-lifeplan-banner__title{
  font-size:15.5px; font-weight:700; color:#fff;
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  font-family: var(--lg-serif); margin-bottom:4px;
}
.lg-lifeplan-banner__desc{
  font-size:12.5px; color: rgba(255,255,255,0.6); line-height:1.6;
}
.lg-lifeplan-banner__cta{
  display:flex; align-items:center; gap:8px; flex-shrink:0;
  font-size:13.5px; font-weight:700; color: var(--lg-ink);
  background: linear-gradient(180deg, var(--lg-gold-bright), var(--lg-gold));
  padding: 12px 22px; border-radius: var(--lg-radius-s); white-space:nowrap;
}

/* ---- コンテンツ動画モーダル ---- */
.lg-modal-backdrop{
  position:fixed; inset:0; background: rgba(20,17,12,0.72);
  display:none; align-items:center; justify-content:center; z-index: 60; padding: 24px;
}
.lg-modal-backdrop.is-open{ display:flex; }
.lg-modal{
  background:#0B0A08; border-radius: var(--lg-radius-m);
  width:100%; max-width: 880px; overflow:hidden;
  box-shadow: var(--lg-shadow-lg);
}
.lg-modal__head{
  display:flex; justify-content:space-between; align-items:center;
  padding: 15px 18px; color:#fff; font-size:14px; font-weight:700;
}
.lg-modal__actions{ display:flex; align-items:center; gap:12px; }
.lg-modal__youtube{
  display:inline-flex; align-items:center; min-height:31px; padding:0 11px;
  border:1px solid rgba(255,255,255,.24); border-radius:999px;
  color:rgba(255,255,255,.78); font-size:10.5px; font-weight:700;
}
.lg-modal__youtube:hover{ background:rgba(255,255,255,.1); color:#fff; }
.lg-modal__close{ background:none; border:none; color:#fff; font-size:20px; line-height:1; opacity:0.7; }
.lg-modal__close:hover{ opacity:1; }
.lg-modal__frame-wrap{ position:relative; width:100%; aspect-ratio: 16/9; background:#000; }
.lg-modal__frame-wrap iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }

/* ---- 外部サービス埋め込みページ ---- */
.lg-main--embed{ display:flex; flex-direction:column; min-height:100vh; }
.lg-main--embed .lg-topbar{ flex-shrink:0; }
.lg-embed-frame{
  flex:1 1 auto;
  min-height:820px;
  border-radius: var(--lg-radius-m);
  overflow:hidden;
  border:1px solid var(--lg-line);
  box-shadow: var(--lg-shadow-sm);
  background: var(--lg-white);
}
.lg-embed-frame iframe{ width:100%; height:100%; border:0; display:block; }
.lg-embed-note{
  font-size:12px; color:var(--lg-ink-soft); margin-top:12px; flex-shrink:0;
}

@media (max-width: 860px){
  .lg-shell{ grid-template-columns: 1fr; }
  .lg-side{
    position: fixed; z-index: 50; width: 264px; left:0; top:0;
    transform: translateX(-100%); transition: transform .2s ease;
    box-shadow: var(--lg-shadow-lg);
  }
  .lg-side.is-open{ transform: translateX(0); }
  .lg-main{ padding: 22px 18px 50px; }
  .lg-menu-toggle{ display:flex; }
  .lg-pass--dash{ grid-template-columns: 1fr; }
  .lg-pass__actions{ min-width: 0; }
  .lg-quick-grid{ grid-template-columns: 1fr; }
  .lg-pass__news{ flex-wrap:wrap; }
  .lg-pass__news-title{ white-space:normal; order:3; flex:1 1 100%; }
  .lg-pass__reasons{ grid-template-columns: 1fr; gap:16px; }
  .lg-pass__reason{ padding:0; border-left:none; }
  .lg-lifeplan-banner{ flex-wrap:wrap; padding:20px; }
  .lg-lifeplan-banner__cta{ flex:1 1 100%; justify-content:center; }
}

/* ==========================================================================
   2026 refresh — everyday financial wellness
   ========================================================================== */
:root{
  --lg-cream: #F7F8F3;
  --lg-cream-deep: #EEF2E9;
  --lg-ink: #183C34;
  --lg-ink-soft: #66756F;
  --lg-gold: #C58B32;
  --lg-gold-bright: #F1C778;
  --lg-line: #DDE6DE;
  --lg-amber-wash: #E5EFE7;
  --lg-amber-line: #D5E3D8;
  --lg-amber: #2F715D;
  --lg-amber-bright: #78A893;
  --lg-radius-s: 12px;
  --lg-radius-m: 22px;
  --lg-shadow-sm: 0 1px 2px rgba(23,60,52,.04), 0 8px 24px rgba(23,60,52,.04);
  --lg-shadow-md: 0 20px 48px -24px rgba(23,60,52,.28);
}

body{
  background:
    radial-gradient(900px 520px at 88% -10%, rgba(205,224,209,.55), transparent 70%),
    var(--lg-cream);
}

.lg-shell{ grid-template-columns: 252px minmax(0,1fr); }
.lg-side{
  background: rgba(247,248,243,.9);
  border-right: 1px solid rgba(221,230,222,.9);
  backdrop-filter: blur(18px);
  padding: 28px 18px 20px;
}
.lg-side__logo{ padding: 0 10px 22px; }
.lg-side__logo img{ height: 36px; }
.lg-nav__group-label{ color:#93A09B; font-size:9px; letter-spacing:.17em; }
.lg-nav__link{ border-left:0; border-radius:12px; padding:10px 12px; }
.lg-nav__link:hover{ background:#EAF1EB; }
.lg-nav__link.is-active{
  border-left:0; background:#DDEBE1; color:#215B49;
  box-shadow: inset 0 0 0 1px rgba(47,113,93,.08);
}
.lg-side__company-mark{ background:#DCE9DF; color:#2F715D; }
.lg-main{ max-width: 1380px; padding: 34px 48px 72px; }
.lg-topbar{ margin-bottom:24px; }
.lg-topbar__greeting{ font-family:var(--lg-sans); font-size:22px; font-weight:700; }
.lg-topbar__greeting .lg-name{ color:#2F715D; }
.lg-icon-btn{ border-color:var(--lg-line); box-shadow:var(--lg-shadow-sm); }

.lg-hero{
  position:relative; min-height:440px; overflow:hidden;
  border-radius:30px; margin-bottom:18px;
  background:#F5F0E4; box-shadow:var(--lg-shadow-md);
  isolation:isolate;
}
.lg-hero::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(249,247,238,.99) 0%, rgba(249,247,238,.93) 37%, rgba(249,247,238,.16) 67%, transparent 100%);
  z-index:-1;
}
.lg-hero__image{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; z-index:-2; }
.lg-hero__content{ padding:52px; width:min(58%, 650px); }
.lg-hero__kicker{
  display:inline-flex; align-items:center; gap:9px; color:#2F715D;
  font:700 10px/1 var(--lg-mono); letter-spacing:.18em; margin-bottom:20px;
}
.lg-hero__kicker::before{ content:""; width:22px; height:2px; background:#E7A85D; }
.lg-hero__title{ font-size:clamp(31px,3.2vw,46px); line-height:1.35; letter-spacing:.02em; }
.lg-hero__title em{ font-style:normal; color:#2F715D; }
.lg-hero__lead{ max-width:500px; margin:20px 0 28px; color:#55655F; font-size:15px; line-height:1.9; }
.lg-hero__actions{ display:flex; align-items:flex-start; gap:12px; flex-wrap:wrap; }
.lg-hero__primary,.lg-hero__secondary{
  min-height:48px; display:inline-flex; align-items:center; justify-content:center;
  border-radius:999px; padding:0 22px; font-size:13px; font-weight:700;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.lg-hero__primary{ background:#225D4B; color:#fff; gap:12px; box-shadow:0 12px 24px -12px rgba(34,93,75,.55); }
.lg-hero__secondary{ background:rgba(255,255,255,.74); border:1px solid #CAD8CE; color:#225D4B; }
.lg-hero__primary:hover,.lg-hero__secondary:hover{ transform:translateY(-2px); }
.lg-hero__trust{ display:flex; flex-wrap:wrap; gap:14px; color:#71807A; font-size:10.5px; margin-top:20px; }
.lg-hero__consult{
  min-width:max-content;
  display:inline-flex;
  flex-direction:column;
  align-items:stretch;
  gap:8px;
}
.lg-hero__consult .lg-hero__secondary{ width:100%; }
.lg-hero__consult .lg-hero__trust{
  justify-content:center;
  gap:4px;
  margin-top:0;
}
.lg-hero__consult .lg-hero__trust span{
  padding:4px 6px;
  font-size:9px;
}

.lg-daily{
  display:grid; grid-template-columns:minmax(190px,.65fr) minmax(0,1.5fr);
  align-items:center; gap:14px; margin:0 0 42px;
}
.lg-daily__label{ color:#6F7F79; font-size:12px; padding-left:8px; }
.lg-daily__label span{ color:#B87531; font-weight:800; margin-right:8px; }
.lg-daily__article{
  min-width:0; background:#fff; border:1px solid var(--lg-line); border-radius:16px;
  display:flex; align-items:center; gap:13px; padding:13px 16px; box-shadow:var(--lg-shadow-sm);
  transition:transform .18s ease, border-color .18s ease;
}
.lg-daily__article:hover{ transform:translateY(-2px); border-color:#AFC7B6; }
.lg-daily__icon{
  width:34px; height:34px; border-radius:10px; display:grid; place-items:center;
  background:#F7E8D5; color:#B66F2C; font-family:var(--lg-serif); font-weight:700; flex:none;
}
.lg-daily__copy{ min-width:0; display:flex; flex-direction:column; line-height:1.45; }
.lg-daily__copy small{ color:#89958F; font-size:10px; }
.lg-daily__copy strong{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; }
.lg-daily__arrow{ margin-left:auto; color:#2F715D; }

.lg-section{ margin-bottom:48px; }
.lg-section__title{ font-family:var(--lg-sans); font-weight:800; font-size:18px; }
.lg-section__icon{ background:#E2EFE6; color:#2F715D; }
.lg-quick-card,.lg-video-card{ border-color:var(--lg-line); box-shadow:var(--lg-shadow-sm); }
.lg-quick-card{ padding:24px; border-radius:20px; }
.lg-quick-card:hover,.lg-video-card:hover{ border-color:#B7CDBD; box-shadow:var(--lg-shadow-md); }
.lg-quick-card__icon{ background:#E8F1EA; color:#2F715D; }
.lg-quick-card__title,.lg-benefit-card__title{ font-family:var(--lg-sans); }
.lg-lifeplan-banner{
  background:linear-gradient(110deg,#193F36,#286451);
  box-shadow:var(--lg-shadow-md); border-radius:22px;
}
.lg-lifeplan-banner__cta{ background:#F4D28C; }
.lg-benefit-card{ background:#F0F4EE; border-style:solid; }

@media (max-width: 1020px){
  .lg-main{ padding:28px 28px 60px; }
  .lg-hero__content{ width:68%; padding:42px; }
}
@media (max-width: 860px){
  .lg-shell{ grid-template-columns:1fr; }
  .lg-main{ padding:20px 16px 48px; }
  .lg-topbar__greeting{ font-size:18px; }
  .lg-hero{ min-height:560px; border-radius:24px; }
  .lg-hero__image{ height:48%; inset:auto 0 0; object-position:68% center; }
  .lg-hero::after{ background:linear-gradient(180deg,#F9F7EE 0%,#F9F7EE 54%,rgba(249,247,238,.1) 76%,transparent); }
  .lg-hero__content{ width:100%; padding:30px 26px; }
  .lg-hero__title{ font-size:31px; }
  .lg-hero__lead{ margin:14px 0 20px; line-height:1.75; }
  .lg-hero__trust{ display:none; }
  .lg-daily{ grid-template-columns:1fr; margin-bottom:34px; }
}
@media (max-width: 520px){
  .lg-topbar__right{ display:none; }
  .lg-hero__actions{ align-items:stretch; flex-direction:column; }
  .lg-hero__consult{ width:100%; min-width:0; }
  .lg-hero__primary,.lg-hero__secondary{ width:100%; }
}

/* ==========================================================================
   Service discovery refresh — softer, clearer and easier to tap
   ========================================================================== */
.lg-section__lead{
  margin:8px 0 0 40px;
  color:#7A8983;
  font-size:12.5px;
}

.lg-quick-grid{ gap:18px; }
.lg-quick-card{
  min-height:270px;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  padding:22px 22px 20px;
  border:0;
  border-radius:26px;
  box-shadow:0 14px 36px -24px rgba(25,63,54,.35);
}
.lg-quick-card::before{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  right:-82px;
  top:-86px;
  border-radius:50%;
  background:rgba(255,255,255,.44);
  z-index:-1;
  transition:transform .3s ease;
}
.lg-quick-card::after{
  content:"";
  position:absolute;
  width:86px;
  height:86px;
  right:-34px;
  bottom:-36px;
  border-radius:50%;
  background:rgba(255,255,255,.26);
  z-index:-1;
}
.lg-quick-card--fp{ background:linear-gradient(145deg,#E4F2E8,#D3E9DB); }
.lg-quick-card--invest{ background:linear-gradient(145deg,#F9E9D8,#F2DCC2); }
.lg-quick-card--expert{ background:linear-gradient(145deg,#E5EDF8,#D9E5F3); }
.lg-quick-card:hover{
  transform:translateY(-6px) rotate(-.25deg);
  box-shadow:0 24px 46px -25px rgba(25,63,54,.45);
  border-color:transparent;
}
.lg-quick-card:hover::before{ transform:scale(1.12); }
.lg-quick-card__tag{
  align-self:flex-start;
  padding:5px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:#64736D;
  font-size:10px;
  font-weight:800;
  letter-spacing:.04em;
  position:relative;
  z-index:2;
}
.lg-quick-card__art{
  position:absolute;
  right:14px;
  top:14px;
  width:112px;
  height:112px;
  object-fit:cover;
  border-radius:22px;
  box-shadow:0 12px 24px -16px rgba(25,63,54,.42);
  border:3px solid rgba(255,255,255,.62);
  transform:rotate(2deg);
  transition:transform .28s ease, box-shadow .28s ease;
  z-index:1;
}
.lg-quick-card--invest .lg-quick-card__art{ transform:rotate(-2deg); }
.lg-quick-card:hover .lg-quick-card__art{
  transform:rotate(0) translateY(-3px) scale(1.035);
  box-shadow:0 18px 28px -17px rgba(25,63,54,.48);
}
.lg-quick-card__icon{
  width:48px;
  height:48px;
  border-radius:15px;
  background:rgba(255,255,255,.8);
  color:#2F715D;
  box-shadow:0 8px 18px -12px rgba(25,63,54,.42);
  margin-top:27px;
}
.lg-quick-card--invest .lg-quick-card__icon{ color:#B36A2E; }
.lg-quick-card--expert .lg-quick-card__icon{ color:#496F9B; }
.lg-quick-card__title{
  font-size:18px;
  font-weight:800;
  letter-spacing:.01em;
}
.lg-quick-card__desc{
  color:#5F6E68;
  font-size:13px;
  line-height:1.75;
}
.lg-quick-card__cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:auto;
  color:#244E42;
  font-size:13px;
}
.lg-quick-card__cta b{
  width:36px;
  height:36px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#fff;
  background:#245F4D;
  font-size:17px;
  transition:transform .18s ease;
}
.lg-quick-card--invest .lg-quick-card__cta b{ background:#B96F31; }
.lg-quick-card--expert .lg-quick-card__cta b{ background:#4D739C; }
.lg-quick-card:hover .lg-quick-card__cta b{ transform:translateX(3px); }

.lg-lifeplan-banner{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
}
.lg-lifeplan-banner::after{
  content:"";
  width:180px;
  height:180px;
  position:absolute;
  right:170px;
  top:-105px;
  border-radius:50%;
  background:rgba(255,255,255,.07);
}
.lg-lifeplan-banner__cta{
  border-radius:999px;
  position:relative;
  z-index:1;
  transition:transform .18s ease, background .18s ease;
}
.lg-lifeplan-banner:hover .lg-lifeplan-banner__cta{
  transform:translateX(3px);
  background:#FFE0A1;
}

.lg-video-card{
  flex-basis:282px;
  border:0;
  border-radius:22px;
  overflow:hidden;
}
.lg-video-card__thumb{ height:164px; }
.lg-video-card:nth-child(1) .lg-video-card__thumb{ background:linear-gradient(145deg,#3D7D69,#79AB91)!important; }
.lg-video-card:nth-child(2) .lg-video-card__thumb{ background:linear-gradient(145deg,#C98747,#E9B976)!important; }
.lg-video-card:nth-child(3) .lg-video-card__thumb{ background:linear-gradient(145deg,#708CB0,#A8BAD2)!important; }
.lg-video-card:nth-child(4) .lg-video-card__thumb{ background:linear-gradient(145deg,#8A7264,#BEA594)!important; }
.lg-video-card:nth-child(5) .lg-video-card__thumb{ background:linear-gradient(145deg,#5E6F67,#94A79D)!important; }
.lg-video-card__play{ background:transparent; }
.lg-video-card__play span{
  width:50px;
  height:50px;
  padding-left:3px;
  color:#2F715D;
  box-shadow:0 10px 24px -10px rgba(17,46,38,.5);
  transition:transform .18s ease;
}
.lg-video-card:hover .lg-video-card__play span{ transform:scale(1.08); }
.lg-video-card__body{ padding:17px 18px 19px; }
.lg-video-card__tag{ background:#E8F1EA; color:#2F715D; border-radius:999px; }

.lg-benefit-grid{ gap:16px; }
.lg-benefit-card{
  min-height:190px;
  border:0;
  border-radius:22px;
  padding:22px;
  background:#fff;
  box-shadow:var(--lg-shadow-sm);
}
.lg-benefit-card:nth-child(1){ background:linear-gradient(145deg,#F1F5E9,#E8F0DC); }
.lg-benefit-card:nth-child(2){ background:linear-gradient(145deg,#F8EDF0,#F1E1E6); }
.lg-benefit-card:nth-child(3){ background:linear-gradient(145deg,#EDF2F7,#E3EAF2); }
.lg-benefit-card:hover{
  transform:translateY(-5px);
  border-color:transparent;
  box-shadow:var(--lg-shadow-md);
}
.lg-benefit-card:nth-child(1):hover{ background:linear-gradient(145deg,#F1F5E9,#E8F0DC); }
.lg-benefit-card:nth-child(2):hover{ background:linear-gradient(145deg,#F8EDF0,#F1E1E6); }
.lg-benefit-card:nth-child(3):hover{ background:linear-gradient(145deg,#EDF2F7,#E3EAF2); }
.lg-benefit-card__badge{
  border-radius:999px;
  background:rgba(255,255,255,.72);
}
.lg-benefit-card__icon{
  width:42px;
  height:42px;
  border-radius:13px;
  background:rgba(255,255,255,.78);
}
.lg-benefit-card__cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:#2F715D;
}

/* Embedded services: let the partner content own nearly the full viewport */
.lg-main--embed{
  max-width:none;
  min-height:100vh;
  padding:20px 24px 12px;
}
.lg-main--embed .lg-topbar{
  min-height:54px;
  margin-bottom:14px;
}
.lg-main--embed .lg-topbar__greeting{
  font-size:20px;
  line-height:1.25;
}
.lg-main--embed .lg-eyebrow{ font-size:9px; }
.lg-embed-home{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 16px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--lg-line);
  color:#2F715D;
  font-size:12px;
  font-weight:700;
  box-shadow:var(--lg-shadow-sm);
  transition:transform .18s ease, border-color .18s ease;
}
.lg-embed-home:hover{ transform:translateX(-3px); border-color:#AFC6B6; }
.lg-embed-actions{ display:flex; align-items:center; gap:8px; }
.lg-embed-home--external{ color:#7A5D49; }
.lg-embed-home--external:hover{ transform:translateY(-1px); }
.lg-embed-frame{
  height:calc(100vh - 112px);
  min-height:760px;
  border-radius:18px;
  border-color:#CEDBD1;
  box-shadow:0 16px 38px -24px rgba(25,63,54,.28);
}
.lg-embed-note{
  margin:7px 4px 0;
  font-size:10px;
  line-height:1.4;
}

/* Login: premium black membership card */
.lg-login{
  background:
    radial-gradient(650px 430px at 5% 0%, rgba(206,231,214,.82), transparent 70%),
    radial-gradient(620px 440px at 100% 100%, rgba(248,221,185,.68), transparent 68%),
    #F8F9F5;
}
.lg-login__headline{ margin-bottom:34px; }
.lg-login__headline em{ color:#2F715D; }
.lg-pass--login{
  background:
    linear-gradient(145deg,rgba(255,255,255,.07),transparent 28%),
    linear-gradient(135deg,#202124 0%,#111214 52%,#090A0B 100%);
  color:#F8F5EC;
  border:1px solid rgba(211,181,112,.52);
  border-radius:28px;
  box-shadow:
    0 30px 64px -28px rgba(5,8,7,.72),
    inset 0 1px 0 rgba(255,255,255,.12),
    inset 0 0 0 1px rgba(255,255,255,.025);
}
.lg-pass--login::before{
  background:
    radial-gradient(290px 190px at 100% 0%,rgba(224,196,127,.18),transparent 70%),
    linear-gradient(112deg,transparent 35%,rgba(255,255,255,.055) 47%,transparent 58%);
}
.lg-pass--login::after{
  opacity:1;
  background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.018) 0 1px,transparent 1px 22px);
}
.lg-pass--login .lg-pass__chip{
  border:1px solid rgba(255,240,198,.42);
  background:linear-gradient(145deg,#F2D28C 0%,#C99743 52%,#8D6527 100%);
  box-shadow:0 5px 16px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.42);
}
.lg-pass--login .lg-pass__head-label{ color:#E9D7A8; }
.lg-pass--login .lg-pass__bars span{ background:#D9BC75; }
.lg-pass--login .lg-field label{ color:#D8D4C8; }
.lg-pass--login .lg-field__hint{ color:#8F918E; }
.lg-pass--login .lg-field input{
  color:#FFFDF7;
  border:1px solid rgba(213,190,135,.42);
  border-radius:14px;
  background:rgba(255,255,255,.045);
  padding:14px 15px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}
.lg-pass--login .lg-field input::placeholder{ color:#8F8D86; }
.lg-pass--login .lg-field input:focus{
  border-color:#D7B96F;
  background:rgba(255,255,255,.075);
  box-shadow:0 0 0 4px rgba(215,185,111,.12),inset 0 1px 0 rgba(255,255,255,.05);
}
.lg-pass--login .lg-btn--gold{
  min-height:50px;
  border-radius:999px;
  background:linear-gradient(135deg,#F0D28D 0%,#D1A955 48%,#B88836 100%);
  color:#171512;
  border:1px solid rgba(255,239,195,.56);
  box-shadow:0 16px 30px -15px rgba(211,168,76,.58),inset 0 1px 0 rgba(255,255,255,.48);
}
.lg-pass--login .lg-btn--gold:hover{ box-shadow:0 18px 34px -14px rgba(225,185,96,.68),inset 0 1px 0 rgba(255,255,255,.55); }
.lg-pass--login .lg-alert{ color:#FFD8D1; background:rgba(142,42,32,.34); border-color:rgba(255,143,127,.2); }

@media (max-width:860px){
  .lg-section__lead{ margin-left:0; }
  .lg-quick-card{ min-height:230px; }
  .lg-quick-card__art{ width:104px; height:104px; }
  .lg-main--embed{ padding:14px 10px 8px; }
  .lg-main--embed .lg-topbar{ margin-bottom:10px; }
  .lg-embed-frame{
    height:calc(100vh - 92px);
    min-height:680px;
    border-radius:14px;
  }
  .lg-embed-home{ min-height:34px; padding:0 12px; font-size:11px; }
}
@media (max-width:520px){
  .lg-embed-home{ display:none; }
  .lg-embed-home--menu{ display:inline-flex; min-height:32px; padding:0 10px; font-size:9px; }
  .lg-embed-home--external{ display:inline-flex; min-height:32px; padding:0 10px; font-size:9px; }
  .lg-main--embed .lg-topbar__greeting{ font-size:17px; }
  .lg-benefit-grid{ grid-template-columns:1fr; }
  .lg-quick-card__art{ width:96px; height:96px; }
}

/* ==========================================================================
   2026 casual home — start from today's mood, not financial terminology
   Inspired by goal-led finance and everyday wellness products.
   ========================================================================== */
:root{
  --lg-cream:#FFF9F1;
  --lg-cream-deep:#F7F1E8;
  --lg-ink:#29463E;
  --lg-ink-soft:#71827C;
  --lg-line:#E9E5DB;
  --lg-gold:#D78A43;
  --lg-shadow-sm:0 10px 28px -22px rgba(41,70,62,.32);
  --lg-shadow-md:0 24px 48px -30px rgba(41,70,62,.36);
}
body{
  background:
    radial-gradient(700px 460px at 100% 0%,rgba(167,211,192,.24),transparent 72%),
    radial-gradient(620px 400px at 28% 38%,rgba(255,213,150,.15),transparent 72%),
    var(--lg-cream);
}
h1,h2,h3,h4{ font-family:var(--lg-sans); letter-spacing:-.025em; }
.lg-shell{ grid-template-columns:224px minmax(0,1fr); }
.lg-side{
  padding:24px 14px 18px;
  background:rgba(255,255,255,.78);
  border-right:0;
  box-shadow:12px 0 40px -38px rgba(41,70,62,.36);
}
.lg-side__logo{ padding:2px 12px 22px; }
.lg-side__logo img{ height:31px; }
.lg-nav__group-label{
  padding:17px 12px 7px;
  color:#A0AAA6;
  font-family:var(--lg-sans);
  font-size:10px;
  font-weight:800;
  letter-spacing:.05em;
}
.lg-nav__link{
  gap:10px;
  margin-bottom:3px;
  padding:8px 10px;
  border-radius:14px;
  color:#62736D;
  font-size:12.5px;
  font-weight:700;
}
.lg-nav__link svg{
  width:30px;
  height:30px;
  padding:7px;
  border-radius:10px;
  background:#F3F4EE;
  opacity:1;
}
.lg-nav__link:hover{ background:#FFF2DF; color:#425B53; }
.lg-nav__link.is-active{
  background:#E8F4EA;
  color:#2E6E59;
  box-shadow:none;
}
.lg-nav__link.is-active svg{ background:#CFE8D6; }
.lg-side__footer{ border-top:0; }
.lg-side__company{
  padding:9px 10px;
  background:#F7F4ED;
  border-radius:14px;
}
.lg-side__company-mark{ border-radius:11px; background:#fff; }
.lg-side__company-code{ display:block; margin-top:2px; }
.lg-side__logout{ margin-top:5px; }

.lg-main{ max-width:1320px; padding:30px 42px 72px; }
.lg-topbar{ margin-bottom:20px; }
.lg-topbar .lg-eyebrow{
  color:#97A19D;
  font-family:var(--lg-sans);
  font-size:10px;
  letter-spacing:.03em;
}
.lg-topbar .lg-eyebrow::before{ display:none; }
.lg-topbar__greeting{ font-size:20px; letter-spacing:-.025em; }
.lg-topbar__greeting .lg-name{ color:#E17D52; }
.lg-icon-btn{ border:0; background:rgba(255,255,255,.8); }

.lg-hero{
  min-height:380px;
  margin-bottom:44px;
  border-radius:36px;
  background:#FFF1DB;
  box-shadow:none;
}
.lg-hero::after{
  background:linear-gradient(90deg,#FFF1DB 0%,rgba(255,241,219,.98) 38%,rgba(255,241,219,.52) 55%,rgba(255,241,219,0) 72%);
}
.lg-hero__image{
  width:62%;
  left:auto;
  object-position:62% center;
  filter:saturate(.86) contrast(.96);
}
.lg-hero__content{
  width:min(57%,620px);
  padding:46px 48px;
}
.lg-hero__kicker{
  padding:7px 12px;
  border-radius:999px;
  background:#FFE29B;
  color:#8C651E;
  font-family:var(--lg-sans);
  font-size:10.5px;
  letter-spacing:.02em;
  margin-bottom:17px;
}
.lg-hero__kicker::before{ display:none; }
.lg-hero__title{
  font-family:var(--lg-sans);
  font-size:clamp(30px,3vw,43px);
  font-weight:900;
  line-height:1.32;
  letter-spacing:-.045em;
}
.lg-hero__title em{ color:#397764; }
.lg-hero__lead{
  max-width:470px;
  margin:16px 0 22px;
  color:#65766F;
  font-size:13.5px;
  line-height:1.85;
}
.lg-hero__primary,.lg-hero__secondary{
  min-height:46px;
  padding:0 19px;
  border:0;
  box-shadow:none;
}
.lg-hero__primary{ background:#377A64; }
.lg-hero__secondary{ background:rgba(255,255,255,.74); }
.lg-hero__trust{ margin-top:16px; gap:7px; }
.lg-hero__trust span{
  padding:4px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.64);
  color:#718078;
  font-size:9.5px;
}

.lg-now{ margin:0 0 54px; scroll-margin-top:20px; }
.lg-now__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:20px;
}
.lg-now__hello{
  color:#E17D52;
  font-size:11px;
  font-weight:900;
}
.lg-now__head h2{
  margin-top:2px;
  font-size:27px;
  font-weight:900;
}
.lg-now__head p{
  margin:0 4px 2px 0;
  color:#83908B;
  font-size:11.5px;
  line-height:1.65;
  text-align:right;
}
.lg-now__grid{
  display:grid;
  grid-template-columns:1.35fr repeat(3,1fr);
  gap:14px;
}
.lg-start-card{
  min-width:0;
  min-height:230px;
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:20px;
  border-radius:27px;
  transition:transform .2s ease,box-shadow .2s ease;
}
.lg-start-card::after{
  content:"";
  position:absolute;
  right:-34px;
  bottom:-40px;
  width:110px;
  height:110px;
  border-radius:50%;
  background:rgba(255,255,255,.28);
}
.lg-start-card:hover{
  transform:translateY(-5px) rotate(-.25deg);
  box-shadow:0 24px 38px -28px rgba(41,70,62,.42);
}
.lg-start-card--main{ background:#B9E0C7; }
.lg-start-card--talk{ background:#FFC9AD; }
.lg-start-card--read{ background:#F8DE7F; }
.lg-start-card--watch{ background:#BFD9EA; }
.lg-start-card__time{
  padding:5px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.64);
  color:#53675F;
  font-size:9.5px;
  font-weight:800;
}
.lg-start-card__emoji{
  display:block;
  margin:18px 0 9px;
  font-size:31px;
  line-height:1;
}
.lg-start-card strong{
  color:#2C493F;
  font-size:20px;
  line-height:1.38;
  letter-spacing:-.035em;
  white-space:pre-line;
}
.lg-start-card small{
  width:100%;
  margin-top:7px;
  overflow:hidden;
  color:#596B64;
  font-size:10.5px;
  line-height:1.45;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.lg-start-card b{
  margin-top:auto;
  color:#2E5F50;
  font-size:11.5px;
  position:relative;
  z-index:1;
}
.lg-start-card--main strong{ font-size:23px; }

.lg-section{ margin-bottom:56px; }
.lg-section__head{ margin-bottom:20px; }
.lg-section__title{
  font-size:21px;
  font-weight:900;
  letter-spacing:-.035em;
}
.lg-section__icon{
  width:32px;
  height:32px;
  border-radius:12px;
  background:#FFD9C3;
  color:#BA6845;
}
.lg-section__lead{
  margin:7px 0 0 44px;
  color:#83908B;
  font-size:11.5px;
}

.lg-quick-grid{ gap:16px; }
.lg-quick-card{
  min-height:340px;
  padding:0 20px 20px;
  border-radius:27px;
  background:#fff;
  box-shadow:var(--lg-shadow-sm);
}
.lg-quick-card::before,.lg-quick-card::after{ display:none; }
.lg-quick-card--fp,.lg-quick-card--invest,.lg-quick-card--expert{ background:#fff; }
.lg-quick-card:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 45px -30px rgba(41,70,62,.4);
}
.lg-quick-card__art{
  position:static;
  order:-2;
  width:calc(100% + 40px);
  height:166px;
  margin:0 -20px;
  object-position:center 42%;
  border:0;
  border-radius:27px 27px 18px 18px;
  box-shadow:none;
  transform:none!important;
}
.lg-quick-card:hover .lg-quick-card__art{ transform:scale(1.01)!important; box-shadow:none; }
.lg-quick-card__tag{
  position:absolute;
  top:14px;
  left:14px;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(8px);
}
.lg-quick-card__icon{
  width:42px;
  height:42px;
  margin:-21px 0 2px;
  position:relative;
  z-index:2;
  border:3px solid #fff;
  border-radius:14px;
}
.lg-quick-card__title{ margin-top:4px; font-size:17px; }
.lg-quick-card__desc{ font-size:11.5px; line-height:1.65; }
.lg-quick-card__cta{ font-size:11.5px; }
.lg-quick-card__cta b{ width:32px; height:32px; font-size:14px; }

.lg-scroll-row{ gap:14px; }
.lg-video-card{ flex-basis:264px; border-radius:24px; }
.lg-video-card__thumb{ height:148px; }
.lg-video-card__play span{ width:46px; height:46px; border:0; }
.lg-video-card__body{ padding:15px 16px 17px; }
.lg-video-card__title{ font-size:13px; }
.lg-video-card__meta{ font-size:10px; }

.lg-benefit-card{
  min-height:170px;
  border-radius:25px;
  box-shadow:none;
}
.lg-benefit-card__badge{ font-size:8.5px; }
.lg-benefit-card__title{ font-size:13.5px; }
.lg-benefit-card__desc{ font-size:10.5px; }

.lg-login__headline{
  font-family:var(--lg-sans);
  font-weight:900;
  letter-spacing:-.04em;
}

@media (max-width:1120px){
  .lg-main{ padding:28px 28px 64px; }
  .lg-now__grid{ grid-template-columns:repeat(2,1fr); }
  .lg-start-card{ min-height:210px; }
}
@media (max-width:860px){
  .lg-shell{ grid-template-columns:1fr; }
  .lg-main{ padding:18px 15px 48px; }
  .lg-hero{ min-height:540px; margin-bottom:36px; }
  .lg-hero__image{ width:100%; height:46%; inset:auto 0 0; }
  .lg-hero::after{ background:linear-gradient(180deg,#FFF1DB 0%,#FFF1DB 55%,rgba(255,241,219,.3) 76%,transparent); }
  .lg-hero__content{ width:100%; padding:29px 25px; }
  .lg-hero__title{ font-size:30px; }
  .lg-now__head{ align-items:flex-start; flex-direction:column; gap:5px; }
  .lg-now__head p{ text-align:left; }
  .lg-section__lead{ margin-left:0; }
  .lg-quick-card{ min-height:320px; }
  .lg-quick-card__art{ width:calc(100% + 40px); height:185px; }
}
@media (max-width:540px){
  .lg-topbar__greeting{ font-size:16px; }
  .lg-hero{ border-radius:27px; }
  .lg-hero__lead{ font-size:12.5px; }
  .lg-now__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .lg-start-card{ min-height:195px; padding:15px; border-radius:22px; }
  .lg-start-card__emoji{ margin:14px 0 8px; font-size:26px; }
  .lg-start-card strong,.lg-start-card--main strong{ font-size:16px; }
  .lg-start-card small{ font-size:9px; }
  .lg-start-card b{ font-size:10.5px; }
  .lg-section__title{ font-size:18px; }
}

/* Final balance pass for the cohesive cute illustration series */
.lg-main{ max-width:1280px; }
.lg-hero{
  min-height:390px;
  border:1px solid rgba(255,255,255,.7);
  box-shadow:0 24px 58px -44px rgba(41,70,62,.35);
}
.lg-hero::after{
  background:linear-gradient(90deg,#FFF3DF 0%,rgba(255,243,223,.97) 34%,rgba(255,243,223,.62) 50%,rgba(255,243,223,.06) 69%,transparent 100%);
}
.lg-hero__image{
  width:100%;
  left:0;
  object-position:center center;
  filter:none;
}
.lg-hero__content{
  width:min(54%,590px);
  padding:44px 46px;
}
.lg-hero__title{ max-width:530px; }
.lg-hero__lead{ max-width:435px; }

.lg-now{ margin-bottom:50px; }
.lg-now__grid{ gap:12px; }
.lg-start-card{
  min-height:218px;
  border:2px solid rgba(255,255,255,.5);
  box-shadow:0 15px 30px -27px rgba(41,70,62,.38);
}
.lg-start-card__emoji{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:rgba(255,255,255,.52);
  font-size:24px;
}
.lg-start-card small{ max-width:100%; }

.lg-section{ margin-bottom:50px; }
.lg-quick-grid{ align-items:stretch; }
.lg-quick-card{
  min-height:356px;
  border:1px solid rgba(41,70,62,.06);
}
.lg-quick-card__art{
  height:184px;
  object-position:center 44%;
}
.lg-quick-card--invest .lg-quick-card__art{ object-position:center 48%; }
.lg-quick-card--expert .lg-quick-card__art{ object-position:center 46%; }
.lg-quick-card__icon{ margin-top:-20px; }
.lg-quick-card__desc{ max-width:94%; }

.lg-benefit-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.lg-benefit-card{ min-height:160px; }

@media (max-width:1120px){
  .lg-hero__content{ width:60%; padding:40px; }
  .lg-hero::after{ background:linear-gradient(90deg,#FFF3DF 0%,rgba(255,243,223,.96) 42%,rgba(255,243,223,.18) 72%,transparent); }
}
@media (max-width:860px){
  .lg-hero{ min-height:552px; }
  .lg-hero__image{
    width:100%;
    height:48%;
    inset:auto 0 0;
    object-position:73% center;
  }
  .lg-hero::after{
    background:linear-gradient(180deg,#FFF3DF 0%,#FFF3DF 54%,rgba(255,243,223,.2) 76%,transparent);
  }
  .lg-hero__content{ width:100%; padding:29px 25px; }
  .lg-quick-card__art{ height:205px; }
}
@media (max-width:620px){
  .lg-benefit-grid{ grid-template-columns:1fr; }
}
@media (max-width:540px){
  .lg-hero{ min-height:575px; }
  .lg-hero__image{ height:44%; object-position:71% center; }
  .lg-hero__actions{ gap:8px; }
  .lg-start-card{ min-height:192px; }
  .lg-start-card__emoji{ width:40px; height:40px; font-size:21px; border-radius:14px; }
  .lg-quick-card{ min-height:342px; }
  .lg-quick-card__art{ height:188px; }
}

/* ==========================================================================
   Natural editorial pass — quieter color, less synthetic illustration styling
   ========================================================================== */
:root{
  --lg-cream:#F6F2E9;
  --lg-cream-deep:#ECE7DC;
  --lg-ink:#30463F;
  --lg-ink-soft:#6F7B75;
  --lg-line:#DED9CE;
}
body{
  background:
    radial-gradient(760px 480px at 100% 0%,rgba(132,157,139,.13),transparent 72%),
    #F6F2E9;
}
.lg-side{
  background:rgba(250,248,242,.9);
  box-shadow:10px 0 32px -32px rgba(48,70,63,.4);
}
.lg-nav__link:hover{ background:#EEE9DE; }
.lg-nav__link.is-active{ background:#DDE5D8; color:#415F52; }
.lg-nav__link.is-active svg{ background:#CBD9CA; }

.lg-hero{
  min-height:382px;
  background:#EEE7D8;
  border-color:rgba(109,97,75,.08);
}
.lg-hero::after{
  background:linear-gradient(90deg,#EEE7D8 0%,rgba(238,231,216,.98) 37%,rgba(238,231,216,.52) 52%,rgba(238,231,216,.04) 70%,transparent);
}
.lg-hero__image{ object-position:center; }
.lg-hero__kicker{ background:#D9C99F; color:#655A3B; }
.lg-hero__title em{ color:#536F5E; }
.lg-hero__primary{ background:#536F5E; }
.lg-hero__secondary{ color:#536F5E; }
.lg-hero__trust span{ background:rgba(248,245,237,.78); }

.lg-start-card{ border-color:rgba(255,255,255,.32); }
.lg-start-card--main{ background:#CEDAC8; }
.lg-start-card--talk{ background:#E2C8B9; }
.lg-start-card--read{ background:#DFD1A8; }
.lg-start-card--watch{ background:#C7D4D9; }
.lg-start-card__emoji{ background:rgba(250,248,242,.58); }
.lg-start-card strong{ color:#354B43; }

.lg-section__icon{ background:#DCCBBC; color:#795C48; }
.lg-quick-card{
  background:#FBFAF6;
  border-color:rgba(72,88,80,.08);
}
.lg-quick-card--fp,.lg-quick-card--invest,.lg-quick-card--expert{ background:#FBFAF6; }
.lg-quick-card__art{
  filter:saturate(.9) contrast(.97);
  border-radius:26px 26px 12px 12px;
}
.lg-quick-card__tag{
  background:rgba(248,245,237,.9);
  color:#5F6A64;
}
.lg-quick-card__icon{ background:#F2EEE4; }
.lg-quick-card__cta b{ background:#5B7265; }
.lg-quick-card--invest .lg-quick-card__cta b{ background:#8B6B50; }
.lg-quick-card--expert .lg-quick-card__cta b{ background:#5D7180; }

.lg-video-card:nth-child(1) .lg-video-card__thumb{ background:linear-gradient(145deg,#667D6E,#8E9E92)!important; }
.lg-video-card:nth-child(2) .lg-video-card__thumb{ background:linear-gradient(145deg,#967255,#B99772)!important; }
.lg-video-card:nth-child(3) .lg-video-card__thumb{ background:linear-gradient(145deg,#6C7C88,#95A2AA)!important; }
.lg-video-card:nth-child(4) .lg-video-card__thumb{ background:linear-gradient(145deg,#796B61,#A19388)!important; }
.lg-video-card:nth-child(5) .lg-video-card__thumb{ background:linear-gradient(145deg,#5F6B65,#87918B)!important; }
.lg-benefit-card:nth-child(1),.lg-benefit-card:nth-child(1):hover{ background:#E5E8D9; }
.lg-benefit-card:nth-child(2),.lg-benefit-card:nth-child(2):hover{ background:#E9DDD8; }
.lg-benefit-card:nth-child(3),.lg-benefit-card:nth-child(3):hover{ background:#DCE2E4; }

/* iframe service pages: dedicate almost the entire viewport to partner content */
.lg-body--embed{
  height:100vh;
  overflow:hidden;
  background:#F4F1EA;
}
.lg-body--embed .lg-shell{
  display:block;
  min-height:100vh;
}
.lg-body--embed .lg-side{ display:none; }
.lg-body--embed .lg-main--embed{
  width:100vw;
  max-width:none;
  height:100vh;
  min-height:100vh;
  padding:7px 9px 8px;
}
.lg-body--embed .lg-topbar{
  min-height:48px;
  margin:0 3px 7px;
}
.lg-body--embed .lg-menu-toggle{ display:none; }
.lg-body--embed .lg-topbar__greeting{
  font-size:16px;
  line-height:1.15;
}
.lg-body--embed .lg-eyebrow{
  font-size:8px;
  line-height:1.2;
}
.lg-body--embed .lg-embed-home{
  min-height:34px;
  padding:0 13px;
  border-color:#D8D3C9;
  background:#FBFAF6;
  box-shadow:none;
}
.lg-body--embed .lg-embed-frame{
  flex:1 1 auto;
  width:100%;
  height:auto;
  min-height:0;
  border-radius:11px;
  border-color:#D4D0C7;
  box-shadow:0 10px 30px -24px rgba(48,70,63,.4);
}
.lg-body--embed .lg-embed-note{ display:none; }

@media (max-width:860px){
  .lg-hero::after{
    background:linear-gradient(180deg,#EEE7D8 0%,#EEE7D8 54%,rgba(238,231,216,.18) 76%,transparent);
  }
  .lg-body--embed .lg-main--embed{ padding:5px 5px 6px; }
  .lg-body--embed .lg-topbar{ min-height:45px; margin:0 3px 5px; }
  .lg-body--embed .lg-embed-frame{ min-height:0; border-radius:8px; }
}

/* Real YouTube artwork for the two featured videos */
.lg-video-card__thumb{ isolation:isolate; }
.lg-video-card__thumb::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(25,30,27,.06),rgba(25,30,27,.42));
  z-index:-1;
}
.lg-video-card__thumb-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:-2;
}
.lg-video-card__play,.lg-video-card__duration{ z-index:2; }
.lg-youtube-duration-probe{
  position:fixed;
  top:0;
  left:-10000px;
  width:200px;
  height:200px;
  overflow:hidden;
  opacity:0;
  pointer-events:none;
}

/* Seminar announcement between the hero and today's choices */
.lg-notice{
  position:relative;
  display:grid;
  grid-template-columns:auto auto minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  min-height:86px;
  margin:-20px 20px 38px;
  padding:15px 18px;
  border:1px solid rgba(126,103,55,.14);
  border-radius:20px;
  background:#F1E4BE;
  box-shadow:0 18px 34px -28px rgba(48,70,63,.42);
  transition:transform .18s ease,box-shadow .18s ease;
  z-index:3;
}
.lg-notice:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 38px -27px rgba(48,70,63,.48);
}
.lg-notice__badge{
  position:absolute;
  top:-9px;
  left:18px;
  padding:3px 8px;
  border-radius:999px;
  background:#A75D40;
  color:#fff;
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
}
.lg-notice__icon{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:rgba(255,255,255,.58);
  color:#765C32;
}
.lg-notice__icon svg{ width:22px; height:22px; }
.lg-notice__copy{
  min-width:0;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:baseline;
  column-gap:10px;
}
.lg-notice__copy small{
  color:#887148;
  font-size:9.5px;
  font-weight:800;
}
.lg-notice__copy strong{
  color:#3F514A;
  font-size:15px;
}
.lg-notice__copy > span{
  grid-column:1 / -1;
  margin-top:3px;
  color:#736D5D;
  font-size:10.5px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.lg-notice__more{
  display:flex;
  align-items:center;
  gap:8px;
  color:#5B654E;
  font-size:10.5px;
  font-weight:800;
  white-space:nowrap;
}
.lg-notice__more b{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#fff;
  color:#765C32;
}

@media (max-width:720px){
  .lg-notice{
    grid-template-columns:auto minmax(0,1fr) auto;
    margin:-18px 8px 32px;
  }
  .lg-notice__copy{ grid-template-columns:1fr; }
  .lg-notice__copy small{ display:none; }
  .lg-notice__copy > span{ display:none; }
  .lg-notice__more{ font-size:0; }
}
@media (max-width:480px){
  .lg-notice{ gap:10px; padding:13px; border-radius:17px; }
  .lg-notice__icon{ width:38px; height:38px; border-radius:12px; }
  .lg-notice__copy strong{ font-size:13px; }
}

/* ==========================================================================
   セミナー詳細ページ — やさしい編集記事のようなイベント案内
   ========================================================================== */
.lg-body--seminar{
  background:
    radial-gradient(860px 540px at 92% 2%, rgba(220,235,225,.88), transparent 68%),
    radial-gradient(720px 420px at 22% 46%, rgba(248,232,205,.42), transparent 70%),
    #F8F9F4;
}
.lg-main--seminar{ max-width:1480px; }
.lg-seminar-topbar{ margin-bottom:20px; }
.lg-seminar-topbar__left{ display:flex; align-items:center; }
.lg-seminar-back{
  display:inline-flex; align-items:center; gap:9px;
  color:#516A61; font-size:12.5px; font-weight:700;
  padding:9px 12px; margin-left:-12px; border-radius:999px;
  transition:background .18s ease, color .18s ease;
}
.lg-seminar-back:hover{ background:#E7F0E9; color:#1F5A48; }
.lg-seminar-back span{ font-size:17px; transition:transform .18s ease; }
.lg-seminar-back:hover span{ transform:translateX(-3px); }

.lg-seminar-hero{
  position:relative; isolation:isolate; overflow:hidden;
  display:grid; grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  min-height:570px; border-radius:34px; background:#183F35; color:#fff;
  box-shadow:0 34px 70px -42px rgba(14,56,45,.58);
}
.lg-seminar-hero::before{
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(circle at 78% 25%, rgba(242,212,154,.2) 0 10%, transparent 10.5%),
    repeating-linear-gradient(125deg, transparent 0 38px, rgba(255,255,255,.018) 38px 39px);
}
.lg-seminar-hero::after{
  content:""; position:absolute; width:240px; height:240px; border:1px solid rgba(255,255,255,.13);
  border-radius:50%; left:-125px; bottom:-138px;
}
.lg-seminar-hero__copy{
  padding:70px clamp(38px,5vw,78px) 62px;
  display:flex; flex-direction:column; align-items:flex-start; justify-content:center;
}
.lg-seminar-hero__label{
  display:inline-flex; align-items:center; gap:10px;
  margin-bottom:28px; color:#F3D7A2;
  font:600 10px/1 var(--lg-mono); letter-spacing:.18em;
}
.lg-seminar-hero__label::before{ content:""; width:28px; height:1px; background:currentColor; }
.lg-seminar-hero h1{
  font-size:clamp(33px,3.55vw,53px); line-height:1.38; letter-spacing:.025em;
}
.lg-seminar-hero h1 em{ color:#F3D7A2; font-style:normal; }
.lg-seminar-hero__copy > p{
  max-width:610px; margin:24px 0 30px; color:rgba(255,255,255,.74);
  font-size:14.5px; line-height:2;
}
.lg-seminar-hero__actions{ display:flex; gap:12px; flex-wrap:wrap; }
.lg-seminar-btn{
  min-height:50px; display:inline-flex; align-items:center; justify-content:center; gap:15px;
  padding:0 22px; border-radius:999px; font-size:13px; font-weight:800;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}
.lg-seminar-btn:hover{ transform:translateY(-2px); }
.lg-seminar-btn span{ font-size:15px; }
.lg-seminar-btn--primary{ color:#183F35; background:#F2D49A; box-shadow:0 15px 28px -18px #F2D49A; }
.lg-seminar-btn--primary:hover{ background:#F8E1B6; }
.lg-seminar-btn--ghost{ color:#fff; border:1px solid rgba(255,255,255,.32); background:rgba(255,255,255,.06); }
.lg-seminar-btn--ghost:hover{ background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.52); }
.lg-seminar-hero__status{
  display:flex; align-items:center; gap:9px; margin-top:27px;
  color:rgba(255,255,255,.68); font-size:11.5px; font-weight:700;
}
.lg-seminar-hero__status i{
  width:7px; height:7px; border-radius:50%; background:#E8AD68;
  box-shadow:0 0 0 5px rgba(232,173,104,.13);
}
.lg-seminar-hero__visual{ position:relative; min-height:570px; }
.lg-seminar-hero__visual::before{
  content:""; position:absolute; inset:58px 44px 52px 6px; border-radius:48% 48% 28% 38%;
  background:linear-gradient(145deg,#EAF2E9,#CDDFD2);
  transform:rotate(-2deg);
}
.lg-seminar-hero__sun{
  position:absolute; right:48px; top:64px; width:100px; height:100px; border-radius:50%;
  border:1px solid rgba(24,63,53,.16); z-index:1;
}
.lg-seminar-illustration{
  position:absolute; z-index:2; width:94%; max-width:560px;
  left:47%; top:51%; transform:translate(-50%,-50%);
  filter:drop-shadow(0 26px 22px rgba(23,61,51,.12));
}
.lg-seminar-hero__note{
  position:absolute; z-index:3; padding:9px 14px; border-radius:999px;
  background:#FFFDF7; color:#245D4C; box-shadow:0 10px 30px rgba(30,74,61,.14);
  font-size:10.5px; font-weight:800; transform:rotate(-3deg);
}
.lg-seminar-hero__note--one{ top:112px; left:10px; }
.lg-seminar-hero__note--two{ right:34px; bottom:78px; transform:rotate(4deg); background:#F2D49A; }

.lg-seminar-facts{
  position:relative; z-index:2; margin:-26px 34px 90px;
  display:grid; grid-template-columns:repeat(4,1fr);
  background:#FFF; border:1px solid #DFE8E0; border-radius:20px;
  box-shadow:0 18px 45px -28px rgba(27,72,59,.3);
}
.lg-seminar-facts > div{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  min-height:90px; padding:14px 20px; position:relative;
}
.lg-seminar-facts > div + div::before{
  content:""; position:absolute; left:0; top:24px; bottom:24px; width:1px; background:#E4EBE5;
}
.lg-seminar-facts span{ color:#8A9892; font-size:10px; margin-bottom:4px; }
.lg-seminar-facts strong{ color:#244E42; font-size:14px; }

.lg-seminar-chapter{
  display:inline-flex; align-items:center; gap:10px; color:#C07739;
  font:600 10px/1 var(--lg-mono); letter-spacing:.18em; margin-bottom:20px;
}
.lg-seminar-chapter::before{ content:""; width:24px; height:1px; background:currentColor; }
.lg-seminar-intro{ margin:0 34px 104px; }
.lg-seminar-intro__head{
  display:grid; grid-template-columns:200px minmax(300px,.9fr) minmax(280px,.8fr);
  gap:38px; align-items:end; margin-bottom:42px;
}
.lg-seminar-intro__head .lg-seminar-chapter{ align-self:start; margin-top:15px; }
.lg-seminar-intro__head h2{
  color:#1B4A3D; font-size:clamp(28px,3vw,42px); line-height:1.48;
}
.lg-seminar-intro__head > p{
  margin:0; color:#66756F; font-size:13.5px; line-height:1.95;
  padding-bottom:5px;
}
.lg-seminar-learning{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.lg-seminar-learning__card{
  position:relative; min-height:278px; padding:31px 30px 28px;
  overflow:hidden; border:1px solid #DDE6DE; border-radius:24px; background:#FFF;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.lg-seminar-learning__card:hover{
  transform:translateY(-5px); border-color:#BBD0C0;
  box-shadow:0 22px 46px -30px rgba(26,74,61,.38);
}
.lg-seminar-learning__card > span{
  position:absolute; top:18px; right:22px; color:#DCE6DF;
  font:600 42px/1 var(--lg-serif);
}
.lg-seminar-learning__icon{
  width:54px; height:54px; display:grid; place-items:center;
  margin-bottom:38px; border-radius:17px; background:#F3F5EC; font-size:24px;
}
.lg-seminar-learning__card:nth-child(2) .lg-seminar-learning__icon{ background:#E6F0E8; }
.lg-seminar-learning__card:nth-child(3) .lg-seminar-learning__icon{ background:#F8EBD9; }
.lg-seminar-learning__card h3{
  margin-bottom:10px; color:#214C40; font-family:var(--lg-sans); font-size:17px; font-weight:800;
}
.lg-seminar-learning__card p{ margin:0; color:#738079; font-size:12.5px; line-height:1.8; }

.lg-seminar-detail{
  display:grid; grid-template-columns:minmax(0,1.52fr) minmax(310px,.68fr);
  gap:28px; margin:0 34px 92px; align-items:start;
}
.lg-seminar-detail__main{
  padding:52px clamp(28px,4vw,54px); border:1px solid #DFE7E0;
  border-radius:28px; background:rgba(255,255,255,.76);
}
.lg-seminar-detail__main > h2{
  color:#1B4A3D; font-size:clamp(27px,2.8vw,38px); line-height:1.4;
}
.lg-seminar-detail__lead{
  max-width:620px; margin:15px 0 34px; color:#718079; font-size:13px; line-height:1.9;
}
.lg-seminar-program{ border-top:1px solid #DFE7E0; }
.lg-seminar-program li{
  display:grid; grid-template-columns:48px minmax(0,1fr) auto;
  gap:18px; align-items:start; padding:27px 0; border-bottom:1px solid #DFE7E0;
}
.lg-seminar-program__num{
  color:#C47C3D; font:600 14px/1.3 var(--lg-mono); padding-top:7px;
}
.lg-seminar-program small{ color:#97A39E; font:600 8.5px/1 var(--lg-mono); letter-spacing:.15em; }
.lg-seminar-program h3{
  margin:5px 0 6px; color:#214C40; font-family:var(--lg-sans); font-size:15.5px; font-weight:800;
}
.lg-seminar-program p{ margin:0; color:#75827D; font-size:12px; line-height:1.75; }
.lg-seminar-program b{
  align-self:center; min-width:64px; color:#8A9892; font:600 10.5px/1 var(--lg-mono); text-align:right;
}
.lg-seminar-summary{
  position:sticky; top:24px; overflow:hidden;
  border-radius:28px; background:#214F42; color:#FFF;
  box-shadow:0 26px 48px -36px rgba(20,59,48,.62);
}
.lg-seminar-summary__head{
  padding:32px 32px 24px; background:rgba(255,255,255,.04);
  border-bottom:1px solid rgba(255,255,255,.12);
}
.lg-seminar-summary__head small{ color:#E9C78D; font:600 9px/1 var(--lg-mono); letter-spacing:.15em; }
.lg-seminar-summary__head h2{ margin-top:8px; font-size:25px; }
.lg-seminar-summary dl{ margin:0; padding:10px 32px 5px; }
.lg-seminar-summary dl > div{
  display:grid; grid-template-columns:83px minmax(0,1fr); gap:14px;
  padding:16px 0; border-bottom:1px solid rgba(255,255,255,.1);
}
.lg-seminar-summary dt{ color:rgba(255,255,255,.53); font-size:10.5px; }
.lg-seminar-summary dd{ margin:0; font-size:12.5px; font-weight:700; line-height:1.6; }
.lg-seminar-summary dd strong{ color:#F2D49A; font-size:16px; }
.lg-seminar-summary dd small{ display:block; margin-top:2px; color:rgba(255,255,255,.44); font-size:9.5px; font-weight:500; }
.lg-seminar-btn--summary{ margin:24px 32px 12px; background:#F2D49A; color:#193F36; }
.lg-seminar-summary > p{
  margin:0; padding:4px 32px 30px; color:rgba(255,255,255,.52); font-size:10px; line-height:1.7;
}

.lg-seminar-host{
  display:grid; grid-template-columns:auto 280px minmax(0,1fr); gap:24px; align-items:center;
  margin:0 34px 92px; padding:28px 36px;
  border-top:1px solid #DCE6DE; border-bottom:1px solid #DCE6DE;
}
.lg-seminar-host__mark{ width:72px; height:72px; }
.lg-seminar-host small{ color:#C0783D; font:600 9px/1 var(--lg-mono); letter-spacing:.15em; }
.lg-seminar-host h2{ margin-top:6px; color:#244E42; font-family:var(--lg-sans); font-size:15px; font-weight:800; line-height:1.65; }
.lg-seminar-host > p{ margin:0; color:#6D7C76; font-size:12.5px; line-height:1.85; }

.lg-seminar-entry{
  position:relative; overflow:hidden; display:grid;
  grid-template-columns:minmax(0,1.22fr) minmax(260px,.78fr); gap:54px; align-items:center;
  margin:0 34px 92px; padding:64px clamp(36px,6vw,78px);
  border-radius:30px; background:#E7A763; color:#183F35;
}
.lg-seminar-entry::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(circle at 95% 8%, rgba(255,255,255,.36), transparent 28%);
}
.lg-seminar-entry__deco{
  position:absolute; right:28px; bottom:-18px;
  color:rgba(255,255,255,.18); font:700 95px/.8 var(--lg-serif); text-align:right; letter-spacing:-.05em;
}
.lg-seminar-entry__copy,.lg-seminar-entry__actions{ position:relative; z-index:1; }
.lg-seminar-entry__copy > span{ font:700 10px/1 var(--lg-mono); letter-spacing:.2em; }
.lg-seminar-entry h2{ margin:12px 0 18px; font-size:clamp(28px,3.2vw,43px); line-height:1.45; }
.lg-seminar-entry p{ max-width:620px; margin:0; color:rgba(24,63,53,.76); font-size:13px; line-height:1.9; }
.lg-seminar-entry__actions{ display:flex; flex-direction:column; gap:12px; }
.lg-seminar-btn--light{ background:#183F35; color:#fff; }
.lg-seminar-btn--line{ color:#183F35; border:1px solid rgba(24,63,53,.38); background:rgba(255,255,255,.12); }
.lg-seminar-btn--line:hover{ background:rgba(255,255,255,.28); }

.lg-seminar-faq{
  display:grid; grid-template-columns:280px minmax(0,1fr); gap:50px;
  margin:0 34px 78px;
}
.lg-seminar-faq__head h2{ color:#214C40; font-size:30px; line-height:1.4; }
.lg-seminar-faq__list{ border-top:1px solid #DCE6DE; }
.lg-seminar-faq details{ border-bottom:1px solid #DCE6DE; }
.lg-seminar-faq summary{
  display:grid; grid-template-columns:28px minmax(0,1fr) auto; gap:13px; align-items:center;
  min-height:74px; padding:13px 4px; color:#294F44; font-size:13px; font-weight:800; cursor:pointer;
  list-style:none;
}
.lg-seminar-faq summary::-webkit-details-marker{ display:none; }
.lg-seminar-faq summary span{ color:#C0783D; font:600 16px/1 var(--lg-serif); }
.lg-seminar-faq summary b{ font-size:19px; font-weight:500; transition:transform .18s ease; }
.lg-seminar-faq details[open] summary b{ transform:rotate(45deg); }
.lg-seminar-faq details p{
  margin:0; padding:0 44px 24px; color:#6D7C76; font-size:12.5px; line-height:1.85;
}
.lg-seminar-footer-back{
  display:flex; align-items:center; justify-content:center; gap:11px;
  width:max-content; margin:0 auto; color:#45635A; font-size:12.5px; font-weight:700;
}
.lg-seminar-footer-back span{ transition:transform .18s ease; }
.lg-seminar-footer-back:hover span{ transform:translateX(-3px); }

@media (max-width:1120px){
  .lg-seminar-hero{ grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr); }
  .lg-seminar-hero__copy{ padding-left:46px; padding-right:30px; }
  .lg-seminar-intro__head{ grid-template-columns:140px minmax(280px,.9fr) minmax(250px,.8fr); gap:26px; }
  .lg-seminar-detail{ grid-template-columns:minmax(0,1.3fr) minmax(290px,.7fr); }
}
@media (max-width:920px){
  .lg-seminar-hero{ grid-template-columns:1fr; }
  .lg-seminar-hero__copy{ padding:52px 42px 32px; }
  .lg-seminar-hero__visual{ min-height:400px; }
  .lg-seminar-hero__visual::before{ inset:12px 42px 34px; }
  .lg-seminar-illustration{ width:min(560px,86%); }
  .lg-seminar-hero__note--one{ left:9%; top:52px; }
  .lg-seminar-hero__note--two{ right:9%; bottom:58px; }
  .lg-seminar-facts{ margin-bottom:72px; }
  .lg-seminar-intro__head{ grid-template-columns:1fr 1fr; }
  .lg-seminar-intro__head .lg-seminar-chapter{ grid-column:1/-1; margin:0 0 -8px; }
  .lg-seminar-detail{ grid-template-columns:1fr; }
  .lg-seminar-summary{ position:static; }
}
@media (max-width:720px){
  .lg-main--seminar{ padding-left:15px; padding-right:15px; }
  .lg-seminar-topbar .lg-eyebrow{ display:none; }
  .lg-seminar-hero{ min-height:0; border-radius:25px; }
  .lg-seminar-hero__copy{ padding:40px 25px 26px; }
  .lg-seminar-hero__label{ margin-bottom:20px; }
  .lg-seminar-hero h1{ font-size:clamp(29px,8.2vw,40px); }
  .lg-seminar-hero__copy > p{ font-size:13px; line-height:1.85; margin:19px 0 24px; }
  .lg-seminar-hero__actions{ width:100%; flex-direction:column; }
  .lg-seminar-btn{ width:100%; }
  .lg-seminar-hero__visual{ min-height:315px; }
  .lg-seminar-hero__visual::before{ inset:6px 18px 25px; border-radius:42% 42% 24% 30%; }
  .lg-seminar-hero__sun{ width:72px; height:72px; right:28px; top:30px; }
  .lg-seminar-hero__note{ font-size:9px; padding:7px 11px; }
  .lg-seminar-hero__note--one{ left:5%; top:42px; }
  .lg-seminar-hero__note--two{ right:5%; bottom:38px; }
  .lg-seminar-facts{
    grid-template-columns:1fr 1fr; margin:-15px 14px 64px; border-radius:18px;
  }
  .lg-seminar-facts > div{ min-height:78px; }
  .lg-seminar-facts > div + div::before{ top:18px; bottom:18px; }
  .lg-seminar-facts > div:nth-child(3)::before{ display:none; }
  .lg-seminar-facts > div:nth-child(n+3){ border-top:1px solid #E4EBE5; }
  .lg-seminar-intro,.lg-seminar-detail,.lg-seminar-host,.lg-seminar-entry,.lg-seminar-faq{ margin-left:4px; margin-right:4px; }
  .lg-seminar-intro{ margin-bottom:72px; }
  .lg-seminar-intro__head{ grid-template-columns:1fr; gap:17px; margin-bottom:30px; }
  .lg-seminar-intro__head .lg-seminar-chapter{ grid-column:auto; }
  .lg-seminar-intro__head > p{ font-size:12.5px; }
  .lg-seminar-learning{ grid-template-columns:1fr; gap:12px; }
  .lg-seminar-learning__card{ min-height:0; padding:24px; }
  .lg-seminar-learning__icon{ margin-bottom:24px; }
  .lg-seminar-detail{ margin-bottom:68px; }
  .lg-seminar-detail__main{ padding:34px 24px; border-radius:22px; }
  .lg-seminar-program li{ grid-template-columns:36px minmax(0,1fr); gap:10px; }
  .lg-seminar-program b{ grid-column:2; text-align:left; }
  .lg-seminar-summary{ border-radius:22px; }
  .lg-seminar-summary__head{ padding:27px 24px 20px; }
  .lg-seminar-summary dl{ padding:8px 24px 4px; }
  .lg-seminar-summary dl > div{ grid-template-columns:78px minmax(0,1fr); }
  .lg-seminar-btn--summary{ margin:22px 24px 12px; width:calc(100% - 48px); }
  .lg-seminar-summary > p{ padding:4px 24px 25px; }
  .lg-seminar-host{ grid-template-columns:auto 1fr; gap:16px; padding:24px 4px; margin-bottom:66px; }
  .lg-seminar-host > p{ grid-column:1/-1; }
  .lg-seminar-entry{ grid-template-columns:1fr; gap:30px; padding:42px 25px; margin-bottom:68px; border-radius:23px; }
  .lg-seminar-entry__deco{ font-size:64px; }
  .lg-seminar-faq{ grid-template-columns:1fr; gap:24px; margin-bottom:60px; }
  .lg-seminar-faq summary{ line-height:1.6; min-height:68px; }
}
@media (max-width:430px){
  .lg-seminar-hero__copy{ padding-left:20px; padding-right:20px; }
  .lg-seminar-hero__visual{ min-height:270px; }
  .lg-seminar-facts{ margin-left:8px; margin-right:8px; }
  .lg-seminar-facts span{ font-size:9px; }
  .lg-seminar-facts strong{ font-size:12px; }
  .lg-seminar-program p{ display:none; }
  .lg-seminar-host__mark{ width:58px; height:58px; }
}

/* セミナー詳細：要点に絞ったシンプル版 */
.lg-seminar-simple-hero{
  display:grid; grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);
  gap:56px; align-items:center;
  padding:58px clamp(34px,5vw,72px);
  border-radius:30px; background:#1E5143; color:#fff;
  box-shadow:0 28px 56px -38px rgba(21,65,53,.62);
}
.lg-seminar-simple-label{
  display:inline-block; margin-bottom:18px; color:#F3D49B;
  font:600 10px/1 var(--lg-mono); letter-spacing:.16em;
}
.lg-seminar-simple-hero h1{
  font-size:clamp(31px,3.7vw,49px); line-height:1.4;
}
.lg-seminar-simple-hero > div:first-child > p{
  max-width:620px; margin:18px 0 22px;
  color:rgba(255,255,255,.76); font-size:14px; line-height:1.9;
}
.lg-seminar-simple-tags{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:28px; }
.lg-seminar-simple-tags span{
  padding:6px 11px; border:1px solid rgba(255,255,255,.22);
  border-radius:999px; color:rgba(255,255,255,.82); font-size:10.5px;
}
.lg-seminar-simple-btn{
  min-height:50px; display:inline-flex; align-items:center; justify-content:center; gap:14px;
  padding:0 23px; border-radius:999px; font-size:13px; font-weight:800;
  transition:transform .18s ease, background .18s ease, box-shadow .18s ease;
}
.lg-seminar-simple-btn:hover{ transform:translateY(-2px); }
.lg-seminar-simple-btn--hero{ background:#F2D49A; color:#1B493D; }
.lg-seminar-simple-btn--hero:hover{ background:#FAE4B8; box-shadow:0 15px 28px -18px #F2D49A; }
.lg-seminar-simple-visual{
  position:relative; min-height:320px; display:grid; place-items:center;
  border-radius:28px; background:#E7F0E9; overflow:hidden;
}
.lg-seminar-simple-visual::before{
  content:""; position:absolute; width:200px; height:200px; border-radius:50%;
  right:-62px; top:-80px; background:#F2D49A;
}
.lg-seminar-simple-visual svg{ width:72%; position:relative; z-index:1; opacity:.96; }
.lg-seminar-simple-date{
  position:absolute; z-index:2; left:22px; top:22px;
  display:flex; flex-direction:column; padding:15px 18px;
  border-radius:15px; background:#fff; color:#214D40;
  box-shadow:0 16px 32px -24px rgba(24,63,53,.4);
}
.lg-seminar-simple-date small{ color:#A67639; font:600 8px/1 var(--lg-mono); letter-spacing:.14em; }
.lg-seminar-simple-date strong{ margin:5px 0 2px; font-size:18px; }
.lg-seminar-simple-date span{ color:#7B8983; font-size:8.5px; }

.lg-seminar-simple-overview{
  display:grid; grid-template-columns:260px minmax(0,1fr); gap:56px;
  margin:72px 34px 76px; align-items:start;
}
.lg-seminar-simple-heading > span{
  color:#B87536; font:600 9px/1 var(--lg-mono); letter-spacing:.16em;
}
.lg-seminar-simple-heading h2{
  margin:9px 0 9px; color:#214C40; font-family:var(--lg-sans);
  font-size:clamp(24px,2.6vw,34px); font-weight:900;
}
.lg-seminar-simple-heading > p{ margin:0; color:#718079; font-size:12.5px; line-height:1.8; }
.lg-seminar-simple-data{
  margin:0; display:grid; grid-template-columns:1fr 1fr;
  border-top:1px solid #DCE6DE;
}
.lg-seminar-simple-data > div{
  display:grid; grid-template-columns:92px minmax(0,1fr); gap:16px;
  min-height:82px; padding:20px 18px; border-bottom:1px solid #DCE6DE;
}
.lg-seminar-simple-data > div:nth-child(odd){ padding-left:0; border-right:1px solid #DCE6DE; }
.lg-seminar-simple-data dt{ color:#82908A; font-size:10.5px; }
.lg-seminar-simple-data dd{ margin:0; color:#294F44; font-size:13px; font-weight:800; }
.lg-seminar-simple-data dd strong{ color:#B87536; font-size:16px; }
.lg-seminar-simple-data dd small{
  display:block; margin-top:3px; color:#8B9893; font-size:9px; font-weight:500; line-height:1.55;
}

.lg-seminar-simple-columns{
  display:grid; grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
  gap:28px; margin:0 34px 70px; align-items:start;
}
.lg-seminar-simple-content{
  padding:42px 44px; border:1px solid #DDE6DE; border-radius:24px; background:#FFF;
}
.lg-seminar-simple-program{ margin-top:26px; border-top:1px solid #E2E9E3; }
.lg-seminar-simple-program li{
  display:grid; grid-template-columns:42px minmax(0,1fr); gap:17px;
  padding:23px 0; border-bottom:1px solid #E2E9E3;
}
.lg-seminar-simple-program li > span{
  padding-top:4px; color:#C27C3D; font:600 12px/1 var(--lg-mono);
}
.lg-seminar-simple-program h3{
  color:#285044; font-family:var(--lg-sans); font-size:15px; font-weight:800;
}
.lg-seminar-simple-program p{ margin:5px 0 0; color:#75827D; font-size:11.5px; line-height:1.75; }
.lg-seminar-simple-join{
  position:sticky; top:24px; display:flex; flex-direction:column; align-items:flex-start;
  padding:34px; border-radius:24px; background:#F1E4BE; color:#274E42;
}
.lg-seminar-simple-join__status{
  padding:5px 10px; border-radius:999px; background:rgba(255,255,255,.64);
  color:#A3642D; font-size:9.5px; font-weight:800;
}
.lg-seminar-simple-join__icon{
  width:46px; height:46px; display:grid; place-items:center; margin:25px 0 15px;
  border-radius:14px; background:#fff; color:#2F715D;
}
.lg-seminar-simple-join__icon svg{ width:24px; height:24px; }
.lg-seminar-simple-join h2{ color:#224A3F; font-family:var(--lg-sans); font-size:22px; font-weight:900; }
.lg-seminar-simple-join > p{ margin:8px 0 20px; color:#68756D; font-size:12px; line-height:1.75; }
.lg-seminar-simple-btn.is-disabled{
  width:100%; background:rgba(39,78,66,.14); color:#687970; cursor:not-allowed;
}
.lg-seminar-simple-btn.is-disabled:hover{ transform:none; }
.lg-seminar-simple-join > small{ margin:13px 2px 20px; color:#7C8175; font-size:9.5px; line-height:1.6; }
.lg-seminar-simple-prewatch{
  display:flex; align-items:center; justify-content:space-between;
  width:100%; padding-top:17px; border-top:1px solid rgba(39,78,66,.18);
  color:#275A49; font-size:11.5px; font-weight:800;
}
.lg-seminar-simple-note{
  display:grid; grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr);
  gap:54px; align-items:center; margin:0 34px 58px; padding:30px 34px;
  border-top:1px solid #DCE6DE; border-bottom:1px solid #DCE6DE;
}
.lg-seminar-simple-note span{ color:#B87536; font-size:10px; font-weight:800; }
.lg-seminar-simple-note h2{
  margin-top:5px; color:#285044; font-family:var(--lg-sans); font-size:18px; font-weight:900;
}
.lg-seminar-simple-note p{ margin:0; color:#6E7C76; font-size:12.5px; line-height:1.85; }

@media (max-width:1050px){
  .lg-seminar-simple-hero{ grid-template-columns:minmax(0,1fr) 310px; gap:34px; }
  .lg-seminar-simple-overview{ grid-template-columns:210px minmax(0,1fr); gap:34px; }
  .lg-seminar-simple-columns{ grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr); }
}
@media (max-width:820px){
  .lg-seminar-simple-hero{ grid-template-columns:1fr; }
  .lg-seminar-simple-visual{ min-height:280px; }
  .lg-seminar-simple-overview{ grid-template-columns:1fr; gap:28px; }
  .lg-seminar-simple-columns{ grid-template-columns:1fr; }
  .lg-seminar-simple-join{ position:static; }
}
@media (max-width:620px){
  .lg-seminar-simple-hero{ padding:38px 23px 24px; border-radius:24px; }
  .lg-seminar-simple-hero h1{ font-size:30px; }
  .lg-seminar-simple-btn{ width:100%; }
  .lg-seminar-simple-visual{ min-height:235px; margin-top:4px; }
  .lg-seminar-simple-date{ left:14px; top:14px; }
  .lg-seminar-simple-overview,.lg-seminar-simple-columns,.lg-seminar-simple-note{
    margin-left:4px; margin-right:4px;
  }
  .lg-seminar-simple-overview{ margin-top:54px; margin-bottom:56px; }
  .lg-seminar-simple-data{ grid-template-columns:1fr; }
  .lg-seminar-simple-data > div:nth-child(odd){ padding-left:18px; border-right:0; }
  .lg-seminar-simple-content{ padding:30px 23px; border-radius:21px; }
  .lg-seminar-simple-join{ padding:28px 23px; border-radius:21px; }
  .lg-seminar-simple-note{ grid-template-columns:1fr; gap:13px; padding:25px 4px; }
}

/* ==========================================================================
   セミナー案内 — 1画面完結版
   ========================================================================== */
.seminar-onepage{
  min-height:100vh; overflow-x:hidden;
  background:
    radial-gradient(620px 380px at 95% 0%, rgba(215,231,219,.72), transparent 72%),
    #F6F8F3;
}
.seminar-onepage__header{
  width:min(1180px,calc(100% - 48px)); height:74px; margin:0 auto;
  display:flex; align-items:center; justify-content:space-between;
}
.seminar-onepage__logo img{ width:auto; height:35px; }
.seminar-onepage__back{
  display:inline-flex; align-items:center; gap:8px; padding:8px 11px;
  border-radius:999px; color:#587068; font-size:11.5px; font-weight:800;
  transition:background .18s ease, color .18s ease;
}
.seminar-onepage__back:hover{ background:#E4EEE6; color:#255B4A; }
.seminar-onepage__back span{ font-size:16px; }
.seminar-onepage__main{
  width:min(1180px,calc(100% - 48px)); min-height:calc(100vh - 74px);
  margin:0 auto; padding:0 0 28px; display:grid; align-items:center;
}
.seminar-onepage__card{
  display:grid; grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);
  max-height:690px; overflow:hidden;
  border:1px solid #DCE6DE; border-radius:30px; background:#FFF;
  box-shadow:0 28px 70px -46px rgba(20,65,53,.46);
}
.seminar-onepage__content{
  min-width:0; padding:clamp(34px,4vw,54px) clamp(34px,5vw,66px);
  display:flex; flex-direction:column; justify-content:center;
}
.seminar-onepage__label{
  display:flex; align-items:center; gap:9px; margin-bottom:11px;
  color:#B36E34; font-size:10px; font-weight:900; letter-spacing:.09em;
}
.seminar-onepage__label i{ width:7px; height:7px; border-radius:50%; background:#E7A763; }
.seminar-onepage__content h1{
  color:#1D4B3E; font-size:clamp(34px,4vw,50px); line-height:1.28; letter-spacing:.03em;
}
.seminar-onepage__lead{
  max-width:610px; margin:13px 0 20px; color:#697973;
  font-size:13px; line-height:1.8;
}
.seminar-onepage__facts{
  display:grid; grid-template-columns:1.25fr 1fr .72fr;
  margin:0 0 20px; border:1px solid #DFE7E0; border-radius:15px; overflow:hidden;
}
.seminar-onepage__facts > div{ padding:12px 15px; background:#F8FAF6; }
.seminar-onepage__facts > div + div{ border-left:1px solid #DFE7E0; }
.seminar-onepage__facts dt{ color:#89968F; font-size:9px; }
.seminar-onepage__facts dd{
  margin:2px 0 0; color:#2B5146; font-size:13px; font-weight:900;
}
.seminar-onepage__facts > div:first-child dd{ color:#B36E34; }
.seminar-onepage__agenda h2{
  margin-bottom:7px; color:#788780; font-family:var(--lg-sans);
  font-size:10px; font-weight:900; letter-spacing:.08em;
}
.seminar-onepage__agenda ol{ display:grid; gap:1px; }
.seminar-onepage__agenda li{
  display:flex; align-items:center; gap:11px; min-height:30px;
  color:#385C51; font-size:12px; font-weight:800;
}
.seminar-onepage__agenda li span{
  color:#C17B3F; font:600 9.5px/1 var(--lg-mono); letter-spacing:.05em;
}
.seminar-onepage__join{ margin-top:18px; }
.seminar-onepage__join > a{
  min-height:60px; display:grid; grid-template-columns:38px minmax(0,1fr) auto;
  gap:12px; align-items:center; padding:9px 16px;
  border-radius:16px; background:#1F5747; color:#FFF;
  box-shadow:0 15px 30px -20px rgba(31,87,71,.58);
  cursor:not-allowed;
}
.seminar-onepage__join-icon{
  width:38px; height:38px; display:grid; place-items:center;
  border-radius:11px; background:rgba(255,255,255,.12);
}
.seminar-onepage__join-icon svg{ width:20px; height:20px; }
.seminar-onepage__join > a > span:nth-child(2){ display:flex; flex-direction:column; line-height:1.4; }
.seminar-onepage__join small{
  color:rgba(255,255,255,.56); font:600 8px/1.3 var(--lg-mono); letter-spacing:.13em;
}
.seminar-onepage__join strong{ font-size:13px; }
.seminar-onepage__join b{ color:#F2D49A; font-size:17px; }
.seminar-onepage__join p{ margin:7px 3px 0; color:#87948E; font-size:9px; }
.seminar-onepage__visual{
  min-width:0; min-height:0; margin:0; position:relative;
  background:#F1E7CF; overflow:hidden;
}
.seminar-onepage__visual::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  box-shadow:inset 18px 0 36px -32px rgba(29,75,62,.25);
}
.seminar-onepage__visual img{
  width:100%; height:100%; object-fit:cover; object-position:center;
}
.seminar-onepage__visual figcaption{
  position:absolute; z-index:1; left:20px; right:20px; bottom:18px;
  display:flex; gap:7px; flex-wrap:wrap;
}
.seminar-onepage__visual figcaption span{
  padding:7px 11px; border:1px solid rgba(255,255,255,.74);
  border-radius:999px; background:rgba(255,253,247,.86); backdrop-filter:blur(7px);
  color:#31594D; font-size:9.5px; font-weight:900;
}

@media (max-height:760px) and (min-width:761px){
  .seminar-onepage__header{ height:60px; }
  .seminar-onepage__logo img{ height:30px; }
  .seminar-onepage__main{ min-height:calc(100vh - 60px); padding-bottom:18px; }
  .seminar-onepage__card{ max-height:610px; }
  .seminar-onepage__content{ padding-top:29px; padding-bottom:29px; }
  .seminar-onepage__content h1{ font-size:38px; }
  .seminar-onepage__lead{ margin:9px 0 14px; }
  .seminar-onepage__facts{ margin-bottom:14px; }
  .seminar-onepage__join{ margin-top:12px; }
}
@media (max-width:900px){
  .seminar-onepage__card{ grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr); }
  .seminar-onepage__content{ padding-left:34px; padding-right:34px; }
}
@media (max-width:760px){
  .seminar-onepage{ overflow-y:auto; }
  .seminar-onepage__header{ width:calc(100% - 32px); height:66px; }
  .seminar-onepage__logo img{ height:30px; }
  .seminar-onepage__main{
    width:calc(100% - 28px); min-height:0; padding:0 0 24px; display:block;
  }
  .seminar-onepage__card{ grid-template-columns:1fr; max-height:none; border-radius:23px; }
  .seminar-onepage__content{ padding:32px 23px 27px; }
  .seminar-onepage__content h1{ font-size:33px; }
  .seminar-onepage__facts{ grid-template-columns:1.15fr 1fr .72fr; }
  .seminar-onepage__facts > div{ padding:10px 9px; }
  .seminar-onepage__facts dd{ font-size:11.5px; }
  .seminar-onepage__visual{ height:min(76vw,420px); order:-1; }
  .seminar-onepage__visual figcaption{ left:14px; bottom:13px; }
}
@media (max-width:390px){
  .seminar-onepage__back{ font-size:0; }
  .seminar-onepage__back span{ font-size:18px; }
  .seminar-onepage__facts{ grid-template-columns:1fr 1fr; }
  .seminar-onepage__facts > div:last-child{ grid-column:1/-1; border-left:0; border-top:1px solid #DFE7E0; }
}

/* ==========================================================================
   セミナー一覧 — 2〜3件を並べるコンパクトカード
   ========================================================================== */
.seminar-library{
  min-height:100vh;
  background:
    radial-gradient(650px 370px at 100% 0%, rgba(216,232,220,.72), transparent 72%),
    #F6F8F3;
}
.seminar-library__header{
  width:min(1280px,calc(100% - 48px)); height:66px; margin:0 auto;
  display:flex; align-items:center; justify-content:space-between;
}
.seminar-library__logo img{ width:auto; height:32px; }
.seminar-library__back{
  display:inline-flex; align-items:center; gap:8px; padding:7px 10px;
  border-radius:999px; color:#5D726B; font-size:11px; font-weight:800;
  transition:background .18s ease, color .18s ease;
}
.seminar-library__back:hover{ background:#E4EEE6; color:#255B4A; }
.seminar-library__back span{ font-size:15px; }
.seminar-library__main{
  width:min(1280px,calc(100% - 48px)); margin:0 auto; padding:5px 0 24px;
}
.seminar-library__intro{
  min-height:66px; display:flex; align-items:end; justify-content:space-between;
  gap:28px; margin-bottom:16px;
}
.seminar-library__intro span{
  color:#B16D35; font:600 8.5px/1 var(--lg-mono); letter-spacing:.17em;
}
.seminar-library__intro h1{
  margin-top:5px; color:#1E4D40; font-family:var(--lg-sans); font-size:30px; font-weight:900;
}
.seminar-library__intro > p{
  margin:0 0 2px; color:#75827D; font-size:11px; line-height:1.65; text-align:right;
}
.seminar-library__grid{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; align-items:stretch;
}
.seminar-card{
  min-width:0; overflow:hidden; display:flex; flex-direction:column;
  border:1px solid #DCE6DE; border-radius:23px; background:#FFF;
  box-shadow:0 18px 44px -36px rgba(24,69,57,.38);
  transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.seminar-card:hover{
  transform:translateY(-3px); border-color:#BFD1C3;
  box-shadow:0 26px 48px -36px rgba(24,69,57,.5);
}
.seminar-card__visual{
  height:168px; flex:none; margin:0; position:relative; overflow:hidden; background:#F2EBD9;
}
.seminar-card__visual--title{ height:220px; background:#F8F7F2; }
.seminar-card__visual img{
  width:100%; height:100%; object-fit:cover; object-position:center 45%;
}
.seminar-card__visual--title img{ object-position:center top; }
.seminar-card__visual figcaption{
  position:absolute; top:13px; right:13px; padding:5px 9px;
  border:1px solid rgba(255,255,255,.75); border-radius:999px;
  background:rgba(255,253,247,.88); color:#2C5B4C; font-size:8.5px; font-weight:900;
  backdrop-filter:blur(6px);
}
.seminar-card__body{
  flex:1; display:flex; flex-direction:column; padding:20px 21px 19px;
}
.seminar-card__status{
  display:flex; align-items:center; gap:7px; margin-bottom:6px;
  color:#B36F37; font-size:8.5px; font-weight:900; letter-spacing:.08em;
}
.seminar-card__status i{ width:6px; height:6px; border-radius:50%; background:#E7A763; }
.seminar-card__status--muted{ color:#819089; font-family:var(--lg-mono); letter-spacing:.13em; }
.seminar-card h2{
  color:#224E42; font-family:var(--lg-sans); font-size:20px; font-weight:900; line-height:1.45;
}
.seminar-card__summary{
  min-height:40px; margin:7px 0 12px; color:#6F7E77; font-size:10.5px; line-height:1.7;
}
.seminar-card__facts{
  display:grid; grid-template-columns:1fr 1fr 1fr; margin:0 0 14px;
  border:1px solid #E0E8E1; border-radius:11px; overflow:hidden;
}
.seminar-card__facts > div{ padding:8px 9px; background:#F8FAF7; }
.seminar-card__facts > div + div{ border-left:1px solid #E0E8E1; }
.seminar-card__facts dt{ color:#919D97; font-size:7.5px; }
.seminar-card__facts dd{
  margin:1px 0 0; overflow:hidden; color:#355B50;
  font-size:10px; font-weight:900; white-space:nowrap; text-overflow:ellipsis;
}
.seminar-card__facts > div:first-child dd{ color:#B36F37; }
.seminar-card__schedule{
  display:grid; grid-template-columns:1fr 1fr; margin:0 0 13px;
  overflow:hidden; border:1px solid #D8E4DB; border-radius:13px; background:#F2F7F2;
}
.seminar-card__schedule > div{
  position:relative; min-height:76px; padding:11px 14px;
  display:flex; align-items:baseline; align-content:center; flex-wrap:wrap; column-gap:7px;
}
.seminar-card__schedule > div + div{ border-left:1px solid #D8E4DB; }
.seminar-card__schedule span{
  width:100%; margin-bottom:2px; color:#7C8B84; font-size:8.5px; font-weight:800;
}
.seminar-card__schedule strong{
  color:#1F5948; font-family:var(--lg-mono); font-size:clamp(20px,2vw,27px); line-height:1.15;
  letter-spacing:-.04em;
}
.seminar-card__schedule > div:first-child strong{ color:#B36F37; }
.seminar-card__schedule b{
  width:22px; height:22px; display:inline-grid; place-items:center;
  border-radius:50%; background:#E8D5B5; color:#8C5B2D; font-size:9px;
}
.seminar-card__agenda{ margin-bottom:15px; }
.seminar-card__details{
  display:grid; gap:3px; margin:-3px 0 11px; padding:9px 11px;
  border-radius:10px; background:#F3F6F2;
}
.seminar-card__details p{
  display:grid; grid-template-columns:31px minmax(0,1fr); gap:7px;
  margin:0; color:#526D64; font-size:8.5px; line-height:1.55;
}
.seminar-card__details span{ color:#929E98; font-weight:800; }
.seminar-card__agenda > strong{
  display:block; margin-bottom:4px; color:#9A7A59;
  font:600 7.5px/1 var(--lg-mono); letter-spacing:.14em;
}
.seminar-card__agenda li{
  position:relative; padding:3px 0 3px 13px; color:#48675E; font-size:9.5px; line-height:1.5;
}
.seminar-card__agenda li::before{
  content:""; position:absolute; left:0; top:9px; width:5px; height:5px;
  border-radius:50%; background:#D6A063;
}
.seminar-card__join{
  min-height:47px; margin-top:auto; display:flex; align-items:center; justify-content:space-between;
  gap:14px; padding:8px 14px; border-radius:13px; background:#1F5747; color:#FFF;
}
.seminar-card__join.is-disabled{ cursor:not-allowed; }
.seminar-card__join > span{ display:flex; flex-direction:column; font-size:11px; font-weight:900; line-height:1.45; }
.seminar-card__join small{
  color:rgba(255,255,255,.52); font:600 7px/1.3 var(--lg-mono); letter-spacing:.12em;
}
.seminar-card__join b{ color:#F2D49A; font-size:15px; }
.seminar-card__zoom{
  margin:6px 1px 0; color:#87948E; font-size:7.5px; line-height:1.5;
}
.seminar-card--coming{ background:rgba(255,255,255,.72); }
.seminar-card__placeholder-visual{
  height:168px; flex:none; position:relative; overflow:hidden;
  display:grid; place-items:center; background:#DCEAE0;
}
.seminar-card__placeholder-visual > span{
  position:relative; z-index:2; color:#FFF;
  font:600 45px/1 var(--lg-serif); text-shadow:0 5px 15px rgba(44,91,76,.12);
}
.seminar-card__placeholder-visual i{
  position:absolute; display:block; border-radius:50%; border:1px solid rgba(46,104,85,.18);
}
.seminar-card__placeholder-visual i:nth-of-type(1){ width:205px; height:205px; }
.seminar-card__placeholder-visual i:nth-of-type(2){ width:132px; height:132px; }
.seminar-card__placeholder-visual i:nth-of-type(3){ width:68px; height:68px; background:rgba(47,113,93,.14); }
.seminar-card__placeholder-visual--warm{ background:#F1E2C3; }
.seminar-card__placeholder-visual--warm i{ border-color:rgba(180,111,55,.2); }
.seminar-card__placeholder-visual--warm i:nth-of-type(3){ background:rgba(205,138,76,.16); }
.seminar-card__coming-message{
  min-height:74px; margin-bottom:15px; padding:12px 13px;
  border-radius:11px; background:#F2F5F0;
}
.seminar-card__coming-message span{
  color:#9B7B5B; font:600 7.5px/1 var(--lg-mono); letter-spacing:.14em;
}
.seminar-card__coming-message p{ margin:5px 0 0; color:#73817A; font-size:9.5px; line-height:1.6; }
.seminar-card__join.is-coming{ background:#E6ECE7; color:#71817A; }
.seminar-card__join.is-coming small{ color:#99A49F; }

@media (max-height:760px) and (min-width:961px){
  .seminar-library__header{ height:56px; }
  .seminar-library__main{ padding-top:0; }
  .seminar-library__intro{ min-height:54px; margin-bottom:12px; }
  .seminar-library__intro h1{ font-size:26px; }
  .seminar-card__visual,.seminar-card__placeholder-visual{ height:145px; }
  .seminar-card__visual--title{ height:190px; }
  .seminar-card__body{ padding:16px 18px; }
  .seminar-card__summary{ margin:5px 0 9px; }
  .seminar-card__facts{ margin-bottom:10px; }
  .seminar-card__agenda{ margin-bottom:10px; }
  .seminar-card__agenda li{ padding-top:2px; padding-bottom:2px; }
  .seminar-card__coming-message{ min-height:66px; margin-bottom:10px; padding:10px 12px; }
}
@media (max-width:960px){
  .seminar-library__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px){
  .seminar-library__header,.seminar-library__main{ width:calc(100% - 28px); }
  .seminar-library__header{ height:62px; }
  .seminar-library__logo img{ height:29px; }
  .seminar-library__intro{ min-height:62px; align-items:center; }
  .seminar-library__intro > p{ display:none; }
  .seminar-library__grid{ grid-template-columns:1fr; }
  .seminar-card__visual,.seminar-card__placeholder-visual{ height:190px; }
  .seminar-card__visual--title{ height:240px; }
  .seminar-card__schedule{ grid-template-columns:1fr; }
  .seminar-card__schedule > div + div{ border-left:0; border-top:1px solid #D8E4DB; }
}

/* ==========================================================================
   ダッシュボード下部：暮らしのサービスカード
   ========================================================================== */
.lg-benefits-section{ margin:7px 0 0; padding-top:2px; }
.lg-benefits-section .lg-section__head{ align-items:flex-end; margin-bottom:19px; }
.lg-benefits-section__lead{
  margin:0; color:#7A8983; font-size:11px; line-height:1.6; text-align:right;
}
.lg-benefits-section .lg-benefit-grid{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px;
}
.lg-benefits-section .lg-benefit-card{
  position:relative; isolation:isolate; overflow:hidden;
  min-height:242px; padding:23px 23px 20px;
  border:1px solid rgba(54,83,71,.08); border-radius:25px;
  display:flex; flex-direction:column; gap:0;
  box-shadow:0 12px 32px -28px rgba(29,66,55,.4);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.lg-benefits-section .lg-benefit-card::before{
  content:""; position:absolute; z-index:-1; top:-50px; right:-42px;
  width:155px; height:155px; border-radius:50%;
  transition:transform .25s ease;
}
.lg-benefits-section .lg-benefit-card::after{
  content:""; position:absolute; z-index:-1; left:0; right:0; bottom:0; height:4px;
  opacity:.72;
}
.lg-benefits-section .lg-benefit-card:hover{
  transform:translateY(-5px); border-color:rgba(54,83,71,.15);
  box-shadow:0 24px 45px -32px rgba(29,66,55,.5);
}
.lg-benefits-section .lg-benefit-card:hover::before{ transform:scale(1.12) translate(-4px,4px); }
.lg-benefits-section .lg-benefit-card--asset,
.lg-benefits-section .lg-benefit-card--asset:hover{ background:#F0F3E8; }
.lg-benefits-section .lg-benefit-card--health,
.lg-benefits-section .lg-benefit-card--health:hover{ background:#F5EAE6; }
.lg-benefits-section .lg-benefit-card--learning,
.lg-benefits-section .lg-benefit-card--learning:hover{ background:#EAF0F1; }
.lg-benefits-section .lg-benefit-card--cancer,
.lg-benefits-section .lg-benefit-card--cancer:hover{ background:#F6EAE6; }
.lg-benefits-section .lg-benefit-card--asset::before{ background:rgba(130,155,97,.14); }
.lg-benefits-section .lg-benefit-card--health::before{ background:rgba(191,117,91,.12); }
.lg-benefits-section .lg-benefit-card--learning::before{ background:rgba(79,119,135,.12); }
.lg-benefits-section .lg-benefit-card--cancer::before{ background:rgba(195,118,93,.13); }
.lg-benefits-section .lg-benefit-card--asset::after{ background:#8EA768; }
.lg-benefits-section .lg-benefit-card--health::after{ background:#C7836C; }
.lg-benefits-section .lg-benefit-card--learning::after{ background:#678B9A; }
.lg-benefits-section .lg-benefit-card--cancer::after{ background:#CC8A75; }
.lg-benefits-section .lg-benefit-card__top{
  display:flex; align-items:flex-start; justify-content:space-between; gap:14px;
  margin-bottom:17px;
}
.lg-benefits-section .lg-benefit-card__icon{
  width:48px; height:48px; flex:none; display:grid; place-items:center;
  border-radius:15px; background:rgba(255,255,255,.72);
  box-shadow:0 8px 22px -16px rgba(28,58,49,.38);
}
.lg-benefits-section .lg-benefit-card__icon svg{ width:23px; height:23px; }
.lg-benefits-section .lg-benefit-card--asset .lg-benefit-card__icon{ color:#627D46; }
.lg-benefits-section .lg-benefit-card--health .lg-benefit-card__icon{ color:#A95F4C; }
.lg-benefits-section .lg-benefit-card--learning .lg-benefit-card__icon{ color:#527785; }
.lg-benefits-section .lg-benefit-card--cancer .lg-benefit-card__icon{ color:#A95F4C; }
.lg-benefits-section .lg-benefit-card__badge{
  position:static; padding:5px 9px;
  border:1px solid rgba(255,255,255,.66); border-radius:999px;
  background:rgba(255,255,255,.46); color:#66736D;
  font-size:8px; font-weight:900; letter-spacing:.03em;
}
.lg-benefits-section .lg-benefit-card__hint{
  display:block; margin-bottom:4px; color:#7E8B85; font-size:9.5px; font-weight:800;
}
.lg-benefits-section .lg-benefit-card__title{
  padding:0; color:#284E42; font-family:var(--lg-sans);
  font-size:17px; font-weight:900; line-height:1.45;
}
.lg-benefits-section .lg-benefit-card__desc{
  margin:7px 0 18px; color:#6E7A75; font-size:10.5px; line-height:1.7;
}
.lg-benefits-section .lg-benefit-card__cta{
  display:flex; align-items:center; justify-content:space-between;
  margin-top:auto; padding-top:13px; border-top:1px solid rgba(53,78,68,.1);
  color:#355E51; font-size:10.5px; font-weight:900;
}
.lg-benefits-section .lg-benefit-card__cta b{
  width:29px; height:29px; display:grid; place-items:center;
  border-radius:50%; background:rgba(255,255,255,.68); color:inherit;
  font-size:12px; transition:transform .18s ease, background .18s ease;
}
.lg-benefits-section .lg-benefit-card:hover .lg-benefit-card__cta b{
  transform:translateX(3px); background:#FFF;
}
.lg-benefits-section__note{
  display:flex; align-items:center; justify-content:flex-end; gap:6px;
  margin:12px 2px 0; color:#84918B; font-size:9px; line-height:1.6;
}
.lg-benefits-section__note svg{ width:13px; height:13px; flex:none; color:#69877C; }
.lg-consultation-note{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  margin:12px 2px 0;
  color:#84918B;
  font-size:9px;
  line-height:1.6;
}
.lg-consultation-note svg{
  width:13px;
  height:13px;
  flex:none;
  color:#69877C;
}
.lg-site-footer{
  margin-top:58px;
  padding:22px 0 4px;
  border-top:1px solid rgba(65,91,81,.12);
  color:#8A958F;
  font-family:var(--lg-sans);
  font-size:9.5px;
  font-weight:700;
  letter-spacing:.04em;
  text-align:center;
}
.lg-site-footer p{ margin:0; }
.lg-site-footer__links{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:7px 0;
  margin:0 0 10px;
  color:#65736D;
  font-size:10px;
  font-weight:700;
  letter-spacing:.02em;
}
.lg-site-footer__links a{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 14px;
  transition:color .18s ease;
}
.lg-site-footer__links a + a{ border-left:1px solid rgba(65,91,81,.2); }
.lg-site-footer__links a:hover{ color:#C36A1E; }
@media (max-width:1100px){
  .lg-benefits-section .lg-benefit-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .lg-benefits-section .lg-benefit-card{ min-height:220px; }
}
@media (max-width:620px){
  .lg-benefits-section .lg-benefit-grid{ grid-template-columns:1fr; }
  .lg-benefits-section__lead{ display:none; }
  .lg-benefits-section .lg-benefit-card{ min-height:215px; padding:21px; }
  .lg-benefits-section__note{ justify-content:flex-start; align-items:flex-start; }
  .lg-consultation-note{ justify-content:flex-start; align-items:flex-start; }
  .lg-site-footer{ margin-top:42px; padding-top:18px; font-size:8.5px; }
  .lg-site-footer__links{ gap:2px 0; margin-bottom:10px; font-size:9px; }
  .lg-site-footer__links a{ min-height:25px; padding:0 9px; }
}


/* 会員ログイン：安心情報をカード化 */
.lg-login__after{
  width:min(680px,100%); margin-top:27px;
  margin-right: auto;
  margin-left: auto;
}
.lg-login__after .lg-login__help{
  width:100%; margin:0; padding:12px 15px;
  display:flex; align-items:center; gap:11px;
  border:1px solid #DCE5DE; border-radius:14px;
  background:rgba(255,255,255,.68);
  box-shadow:0 12px 28px -26px rgba(30,69,57,.36);
  text-align:left;
}
.lg-login__help-icon{
  width:29px; height:29px; flex:none; display:grid; place-items:center;
  border-radius:9px; background:#E4EEE6; color:#356957;
  font-family:var(--lg-serif); font-size:14px; font-weight:700;
}
.lg-login__help p{
  min-width:0; margin:0; display:flex; align-items:baseline; gap:9px; flex-wrap:wrap;
}
.lg-login__help small{ color:#89958F; font-size:9.5px; }
.lg-login__help strong{ color:#3B5E53; font-size:11px; }
.lg-login__after .lg-login__trust{
  margin-top:12px; display:grid; grid-template-columns:repeat(3,1fr); gap:10px;
}
.lg-login__trust-item{
  min-width:0; min-height:126px; padding:17px 16px 15px;
  border:1px solid rgba(61,88,76,.08); border-radius:17px;
  text-align:left; transition:transform .18s ease, box-shadow .18s ease;
}
.lg-login__trust-item:hover{
  transform:translateY(-2px); box-shadow:0 15px 28px -25px rgba(31,68,57,.38);
}
.lg-login__trust-item--free{ background:#E7F0E7; }
.lg-login__trust-item--secret{ background:#F6EBD9; }
.lg-login__trust-item--anytime{ background:#E8EEF0; }
.lg-login__trust-icon{
  width:31px; height:31px; display:grid; place-items:center; margin-bottom:12px;
  border-radius:10px; background:rgba(255,255,255,.72);
}
.lg-login__trust-icon svg{ width:17px; height:17px; }
.lg-login__trust-item--free .lg-login__trust-icon{ color:#41705B; }
.lg-login__trust-item--secret .lg-login__trust-icon{ color:#A46B34; }
.lg-login__trust-item--anytime .lg-login__trust-icon{ color:#537886; }
.lg-login__after .lg-login__trust-num{
  color:#2C5146; font-family:var(--lg-sans); font-size:13px; font-weight:900; line-height:1.4;
  text-align:left;
}
.lg-login__after .lg-login__trust-label{
  margin-top:4px; color:#73817B; font-size:9px; line-height:1.6; text-align:left;
}
.lg-login__after .lg-login__footnote{
  max-width:none; margin:12px 0 0; display:flex; align-items:center; justify-content:center; gap:7px;
  color:#82908A; font-size:9px; text-align:center;
}
.lg-login__footnote svg{ width:14px; height:14px; color:#698D80; }
@media (max-width:560px){
  .lg-login__after{ margin-top:22px; }
  .lg-login__help p{ gap:2px; flex-direction:column; }
  .lg-login__after .lg-login__trust{ grid-template-columns:1fr; }
  .lg-login__trust-item{
    min-height:0; display:grid; grid-template-columns:36px minmax(0,1fr);
    column-gap:10px; padding:13px 14px;
  }
  .lg-login__trust-icon{ grid-row:1/3; margin:0; align-self:center; }
  .lg-login__after .lg-login__trust-label{ margin-top:1px; }
  .lg-login__after .lg-login__footnote{ align-items:flex-start; padding:0 8px; }
}

/* Dashboard market row — three quiet reference points below the greeting */
.lg-market-pair{
  width:auto;
  min-width:0;
  flex:1;
  display:flex;
  align-items:center;
  gap:2px;
  padding:4px;
  border:1px solid rgba(42,85,69,.09);
  border-radius:20px;
  background:rgba(255,255,255,.88);
  box-shadow:0 14px 32px -27px rgba(31,70,57,.52);
}
.lg-market-source{
  width:100%;
  margin:2px 8px 0;
  color:#7D8984;
  font-family:var(--lg-sans);
  font-size:10px;
  font-weight:600;
  line-height:1.5;
  text-align:right;
}
.lg-market-source a{
  color:#55776C;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:2px;
}
.lg-market-source a:hover{
  color:#225D4B;
}
.lg-market-card{
  width:auto;
  min-width:0;
  flex:1 1 0;
  height:64px;
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  align-items:center;
  padding:6px 5px 6px 9px;
  overflow:hidden;
  border:0;
  border-radius:15px;
  background:transparent;
}
.lg-market-card + .lg-market-card{
  border-left:1px solid #E8ECE8;
  border-radius:0 15px 15px 0;
}
.lg-market-card__label{
  min-width:0;
  display:grid;
  grid-template-columns:7px 1fr;
  align-items:center;
  column-gap:6px;
  color:#315F51;
  font-family:var(--lg-sans);
}
.lg-market-card__label > span:not(.lg-market-card__pulse){
  white-space:nowrap;
  font-size:9px;
  font-weight:900;
  letter-spacing:.02em;
}
.lg-market-card__label small{
  grid-column:2;
  margin-top:2px;
  color:#9AA49F;
  font-size:7px;
  font-weight:700;
}
.lg-market-card__pulse{
  width:6px;
  height:6px;
  grid-row:1/3;
  align-self:start;
  margin-top:4px;
  border-radius:50%;
  background:#E17D52;
  box-shadow:0 0 0 4px rgba(225,125,82,.12);
}
.lg-market-card--sp500 .lg-market-card__pulse{
  background:#4F8878;
  box-shadow:0 0 0 4px rgba(79,136,120,.12);
}
.lg-market-card--usdjpy .lg-market-card__pulse{
  background:#D5A13D;
  box-shadow:0 0 0 4px rgba(213,161,61,.14);
}
.lg-market-card__quote{
  position:relative;
  min-width:0;
  height:50px;
  overflow:hidden;
  border-left:1px solid #E8ECE8;
}
.lg-market-card__quote .tradingview-widget-container,
.lg-market-card__quote .tradingview-widget-container__widget{
  width:100%;
  height:50px;
  display:block;
}
.lg-market-card__quote iframe{
  width:440px !important;
  min-width:440px;
  height:92px !important;
  display:block;
  transform-origin:left top;
  transform:translateY(-24px) scale(.55);
  pointer-events:none;
  user-select:none;
}
.lg-market-card--nikkei .lg-market-card__quote::after{
  content:"";
  position:absolute;
  z-index:2;
  top:0;
  left:84px;
  width:8px;
  height:100%;
  background:#FFF;
  pointer-events:none;
}
.lg-market-card__loading{
  height:100%;
  display:flex;
  align-items:center;
  padding-left:13px;
  color:#89948F;
  font-size:9px;
  font-weight:700;
}
.lg-topbar--dashboard{
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:12px;
  margin-bottom:20px;
}
.lg-topbar--dashboard > div:first-child{
  width:100%;
  min-width:0;
}
.lg-topbar--dashboard #todayLabel{
  color:#7F8C86;
  font-size:11.5px;
  font-weight:700;
  line-height:1.4;
  letter-spacing:.025em;
}
.lg-topbar--dashboard .lg-topbar__greeting{
  max-width:100%;
  line-height:1.45;
  overflow-wrap:anywhere;
}
.lg-topbar--dashboard .lg-topbar__right{
  width:100%;
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
  gap:8px;
}
@media (max-width:1180px){
  .lg-topbar--dashboard{ align-items:flex-start; gap:12px; }
}
@media (min-width:1181px) and (max-width:1279px){
  .lg-market-card__quote iframe{
    transform:translateY(-21px) scale(.48);
  }
  .lg-market-card--nikkei .lg-market-card__quote::after{
    left:73px;
    width:7px;
  }
}
@media (min-width:1500px){
  .lg-market-card__quote iframe{
    transform:translateY(-28px) scale(.64);
  }
  .lg-market-card--nikkei .lg-market-card__quote::after{
    left:98px;
    width:9px;
  }
}
@media (max-width:1180px){
  .lg-topbar--dashboard .lg-topbar__right{
    display:flex;
    width:100%;
  }
  .lg-market-pair{
    width:100%;
    min-width:0;
    flex:none;
    flex-direction:column;
    align-items:stretch;
    gap:2px;
    padding:4px;
    border-radius:17px;
  }
  .lg-market-card{
    width:100%;
    min-width:0;
    height:70px;
    flex:none;
    grid-template-columns:72px minmax(0,1fr);
    padding:8px 6px 8px 10px;
  }
  .lg-market-card + .lg-market-card{
    border-top:1px solid #E8ECE8;
    border-left:0;
    border-radius:0 0 14px 14px;
  }
  .lg-market-card__label > span:not(.lg-market-card__pulse){ font-size:10px; }
  .lg-market-card__label small{ font-size:7.5px; }
  .lg-market-card__quote,
  .lg-market-card__quote .tradingview-widget-container,
  .lg-market-card__quote .tradingview-widget-container__widget{
    width:100%;
    min-width:0;
    height:52px;
  }
  .lg-market-card__quote iframe{
    width:440px !important;
    min-width:440px;
    height:92px !important;
    transform-origin:left top;
    transform:translateY(-28px) scale(.64);
  }
  .lg-market-card--nikkei .lg-market-card__quote iframe{
    width:440px !important;
    min-width:440px;
    transform:translateY(-28px) scale(.64);
  }
  .lg-market-card--nikkei .lg-market-card__quote::after{
    display:block;
    left:98px;
    width:9px;
  }
}
@media (max-width:430px){
  .lg-market-source{
    margin-right:4px;
    margin-left:4px;
    font-size:9px;
    text-align:left;
  }
  .lg-market-card{
    height:70px;
    grid-template-columns:68px minmax(0,1fr);
    align-items:center;
    padding:8px 6px 8px 8px;
  }
  .lg-market-card__label{
    grid-template-columns:7px 1fr;
    column-gap:6px;
  }
  .lg-market-card__label small{
    grid-column:2;
    margin:2px 0 0;
  }
  .lg-market-card__pulse{
    grid-row:1/3;
    align-self:start;
    margin-top:4px;
  }
  .lg-market-card__quote{
    width:100%;
    height:52px;
    border-top:0;
    border-left:1px solid #E8ECE8;
  }
  .lg-market-card__quote .tradingview-widget-container,
  .lg-market-card__quote .tradingview-widget-container__widget{
    height:52px;
  }
  .lg-market-card__quote iframe{
    width:440px !important;
    min-width:440px;
    transform:translateY(-23px) scale(.52);
  }
  .lg-market-card--nikkei .lg-market-card__quote iframe{
    width:440px !important;
    min-width:440px;
    transform:translateY(-23px) scale(.52);
  }
  .lg-market-card--nikkei .lg-market-card__quote::after{
    display:block;
    left:79px;
    width:8px;
  }
}
@media (max-width:370px){
  .lg-market-card__quote iframe,
  .lg-market-card--nikkei .lg-market-card__quote iframe{
    transform:translateY(-21px) scale(.47);
  }
  .lg-market-card--nikkei .lg-market-card__quote::after{
    left:71px;
    width:8px;
  }
}
@media (max-width:330px){
  .lg-market-card{
    grid-template-columns:60px minmax(0,1fr);
    padding-left:8px;
    padding-right:4px;
  }
  .lg-market-card__quote iframe{
    transform:translateY(-19px) scale(.43);
  }
  .lg-market-card--nikkei .lg-market-card__quote iframe{
    transform:translateY(-19px) scale(.43);
  }
  .lg-market-card--nikkei .lg-market-card__quote::after{
    left:65px;
    width:7px;
  }
}

/* PC / wide tablet: keep the original left navigation visible */
@media (min-width:701px){
  .lg-shell{
    grid-template-columns:224px minmax(0,1fr);
  }
  .lg-side{
    position:sticky;
    z-index:10;
    top:0;
    left:auto;
    width:auto;
    height:100vh;
    transform:none;
    transition:none;
  }
  .lg-menu-toggle{
    display:none;
  }
}

/* Market quote: large current value with daily change on a second line */
.lg-market-card.is-market-split{
  height:86px;
}
.lg-market-card__quote.is-split{
  height:66px;
  display:grid;
  grid-template-rows:37px 29px;
  overflow:hidden;
  background:#FFF;
}
.lg-market-card__quote.is-split > .tradingview-widget-container{
  display:none;
}
.lg-market-card__current-slice,
.lg-market-card__change-slice{
  position:relative;
  min-width:0;
  overflow:hidden;
  background:#FFF;
}
.lg-market-card__current-slice iframe,
.lg-market-card__change-slice iframe{
  position:absolute;
  top:0;
  left:0;
  width:440px !important;
  min-width:440px;
  height:92px !important;
  display:block;
  border:0;
  transform-origin:left top;
  pointer-events:none;
  user-select:none;
}
.lg-market-card__current-slice iframe{
  transform:translateY(-32px) scale(.72) !important;
}
.lg-market-card__current-slice::after{
  content:"";
  position:absolute;
  z-index:2;
  top:0;
  right:0;
  bottom:0;
  left:110px;
  background:#FFF;
  pointer-events:none;
}
.lg-market-card__change-slice{
  border-top:1px solid #F0F2EF;
}
.lg-market-card__change-slice::before{
  content:"前日比";
  position:absolute;
  z-index:3;
  top:0;
  bottom:0;
  left:0;
  width:44px;
  display:flex;
  align-items:center;
  padding-left:8px;
  background:#FFF;
  color:#8B9892;
  font-family:var(--lg-sans);
  font-size:8px;
  font-weight:800;
  letter-spacing:.02em;
}
.lg-market-card__change-slice iframe{
  transform:translate(-55px,-25px) scale(.58) !important;
}
.lg-market-card__quote.is-split::after{
  display:none !important;
}

/* Dashboard: company-specific pension and employee stock ownership links */
.lg-topbar--dashboard .lg-topbar__right[hidden]{ display:none !important; }
.lg-company-links{
  width:100%;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.lg-company-link[hidden]{ display:none !important; }
.lg-company-link{
  position:relative;
  width:100%;
  min-height:68px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto auto;
  align-items:center;
  gap:11px;
  padding:8px 10px 8px 12px;
  overflow:hidden;
  border:1px solid rgba(42,85,69,.13);
  border-radius:16px;
  background:
    radial-gradient(circle at 92% -40%,rgba(218,236,223,.9),transparent 42%),
    linear-gradient(135deg,#FFFEFA 0%,#F4F8F3 100%);
  color:#285C4B;
  box-shadow:0 16px 34px -26px rgba(31,70,57,.55);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.lg-company-links.is-single .lg-company-link{
  grid-column:1 / -1;
  width:min(100%,580px);
  justify-self:end;
}
.lg-company-links:not(.is-single) .lg-company-link__note{ display:none; }
.lg-company-link::before{
  content:"";
  position:absolute; top:-40px; right:88px;
  width:98px; height:98px; border:1px solid rgba(47,107,87,.07); border-radius:50%;
  pointer-events:none;
}
.lg-company-link:hover{
  transform:translateY(-2px);
  border-color:rgba(42,105,82,.3);
  box-shadow:0 20px 38px -25px rgba(31,70,57,.55);
}
.lg-company-link:focus-visible{
  outline:3px solid rgba(47,107,87,.32);
  outline-offset:3px;
}
.lg-company-link__icon{
  width:42px; height:42px; display:grid; place-items:center;
  border-radius:12px; background:#DDECE2; color:#2F6B57;
  box-shadow:inset 0 0 0 1px rgba(47,107,87,.05);
}
.lg-company-link__icon svg{ width:22px; height:22px; }
.lg-company-link__copy{
  position:relative; z-index:1; min-width:0;
  display:flex; flex-direction:column; justify-content:center;
}
.lg-company-link__kicker{
  display:inline-flex; align-items:center; gap:7px;
  color:#71867E; font-size:8px; font-weight:900; letter-spacing:.07em;
}
.lg-company-link__kicker i{
  width:6px; height:6px; border-radius:50%; background:#D4A13C;
  box-shadow:0 0 0 3px rgba(212,161,60,.12);
}
.lg-company-link__copy strong{
  max-width:100%; margin-top:4px;
  overflow:hidden; color:#204E40; font-family:var(--lg-sans); font-size:13px; font-weight:900;
  text-overflow:ellipsis; white-space:nowrap;
}
.lg-company-link__note{
  position:relative; z-index:1;
  padding-left:11px; border-left:1px solid #DCE5DF;
  color:#7D8B85; font-size:9px; font-weight:700; white-space:nowrap;
}
.lg-company-link__button{
  position:relative; z-index:1;
  min-height:34px; display:inline-flex; align-items:center; gap:8px;
  padding:0 9px 0 12px;
  border-radius:999px; background:#2A624F; color:#FFF;
  font-size:9.5px; font-weight:900;
  box-shadow:0 10px 20px -15px rgba(31,80,63,.72);
  white-space:nowrap;
}
.lg-company-link__button b{
  width:18px; height:18px; display:grid; place-items:center;
  border-radius:50%; background:rgba(255,255,255,.15); font-size:9px;
}
.lg-stock-plan-link{
  border-color:rgba(181,107,70,.14);
  background:
    radial-gradient(circle at 92% -40%,rgba(252,226,205,.9),transparent 42%),
    linear-gradient(135deg,#FFFEFA 0%,#FBF4EC 100%);
  color:#8A4B32;
}
.lg-stock-plan-link::before{ border-color:rgba(181,107,70,.08); }
.lg-stock-plan-link:hover{ border-color:rgba(181,107,70,.34); }
.lg-stock-plan-link:focus-visible{ outline-color:rgba(193,111,76,.3); }
.lg-stock-plan-link .lg-company-link__icon{
  background:#F8E5D6;
  color:#B56545;
}
.lg-stock-plan-link .lg-company-link__copy strong{ color:#7A402B; }
.lg-stock-plan-link .lg-company-link__button{
  background:#B96748;
  box-shadow:0 10px 20px -15px rgba(137,70,43,.72);
}
@media (max-width:980px){
  .lg-company-links{ grid-template-columns:1fr; gap:8px; }
  .lg-company-links:not(.is-single) .lg-company-link__note{ display:block; }
}
@media (max-width:720px){
  .lg-company-link{ grid-template-columns:42px minmax(0,1fr) auto; }
  .lg-company-link__note,
  .lg-company-links:not(.is-single) .lg-company-link__note{ display:none; }
}
@media (max-width:520px){
  .lg-topbar--dashboard #todayLabel{ font-size:10.5px; }
  .lg-company-link{
    width:100%; min-height:72px; align-self:stretch;
    grid-template-columns:40px minmax(0,1fr) 34px; gap:10px;
    padding:9px 9px 9px 11px; border-radius:16px;
  }
  .lg-company-link__icon{ width:40px; height:40px; border-radius:12px; }
  .lg-company-link__icon svg{ width:21px; height:21px; }
  .lg-company-link__copy strong{ font-size:12px; }
  .lg-company-link__button{ width:34px; min-height:34px; padding:0; justify-content:center; font-size:0; }
  .lg-company-link__button b{ width:22px; height:22px; font-size:10px; }
}

/* Expert consultation selector */
.lg-expert-body{
  min-height:100vh;
  background:
    radial-gradient(900px 520px at 3% -8%,rgba(225,238,228,.9),transparent 68%),
    radial-gradient(760px 520px at 100% 8%,rgba(247,225,207,.78),transparent 70%),
    #F8F5EE;
  color:#29463E;
}
.lg-expert-header{
  width:min(1320px,100%);
  min-height:82px;
  margin:0 auto;
  padding:19px 42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.lg-expert-header__logo img{
  width:156px;
  height:auto;
  display:block;
}
.lg-expert-header__back{
  min-height:40px;
  padding:0 16px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid rgba(58,88,76,.12);
  border-radius:999px;
  background:rgba(255,255,255,.65);
  color:#4F675E;
  font-size:11px;
  font-weight:800;
  box-shadow:0 12px 25px -23px rgba(36,72,59,.55);
}
.lg-expert-header__back:hover{ background:#FFF; color:#255D4B; }
.lg-expert-header__back span{ font-size:15px; }
.lg-expert-main{
  width:min(1240px,calc(100% - 64px));
  margin:0 auto;
  padding:15px 0 58px;
}
.lg-expert-intro{
  position:relative;
  min-height:248px;
  padding:34px 42px 30px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(330px,auto);
  grid-template-rows:auto auto auto;
  column-gap:28px;
  align-items:start;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.75);
  border-radius:34px;
  background:linear-gradient(128deg,rgba(255,255,255,.9),rgba(246,241,229,.82));
  box-shadow:0 28px 60px -50px rgba(35,72,59,.5);
}
.lg-expert-intro::before,
.lg-expert-intro::after{
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none;
}
.lg-expert-intro::before{
  width:310px;
  height:310px;
  right:8%;
  top:-145px;
  border:1px solid rgba(61,109,91,.09);
  box-shadow:0 0 0 44px rgba(223,236,226,.22),0 0 0 88px rgba(244,226,209,.16);
}
.lg-expert-intro::after{
  width:95px;
  height:95px;
  right:5%;
  bottom:-40px;
  background:rgba(219,231,220,.55);
}
.lg-expert-intro__label{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:9px;
  color:#7A8983;
  font:700 9px/1 var(--lg-mono);
  letter-spacing:.12em;
  grid-column:1;
  grid-row:1;
}
.lg-expert-intro__label i{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#D5905B;
  box-shadow:0 0 0 4px rgba(213,144,91,.12);
}
.lg-expert-intro h1{
  position:relative;
  z-index:1;
  margin:16px 0 12px;
  font-family:var(--lg-sans);
  font-size:clamp(34px,4.2vw,50px);
  font-weight:900;
  line-height:1.25;
  letter-spacing:-.045em;
  grid-column:1;
  grid-row:2;
}
.lg-expert-intro h1 em{
  color:#B96C49;
  font-style:normal;
}
.lg-expert-intro > p{
  position:relative;
  z-index:1;
  margin:0;
  color:#6D7B75;
  font-size:12px;
  line-height:1.85;
  grid-column:1;
  grid-row:3;
}
.lg-expert-intro__fee{
  position:relative;
  z-index:1;
  min-width:270px;
  padding:14px 20px 13px;
  grid-column:2;
  grid-row:1 / 4;
  align-self:start;
  justify-self:center;
  border:1px solid rgba(185,108,73,.12);
  border-radius:18px;
  background:rgba(255,255,255,.7);
  box-shadow:0 16px 30px -27px rgba(112,68,48,.45);
  text-align:center;
}
.lg-expert-intro__fee strong{
  display:block;
  color:#B76744;
  font-family:var(--lg-sans);
  font-size:18px;
  font-weight:900;
  line-height:1.35;
  letter-spacing:.02em;
}
.lg-expert-intro__fee small{
  display:block;
  margin-top:5px;
  color:#7B8882;
  font-size:8.5px;
  font-weight:700;
  line-height:1.5;
}
.lg-expert-intro__assurance{
  position:relative;
  z-index:1;
  width:max-content;
  max-width:100%;
  margin:0 0 2px auto;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:11px;
  grid-column:2;
  grid-row:1 / 4;
  align-self:end;
}
.lg-expert-intro__trust{
  position:relative;
  z-index:1;
  right:auto;
  bottom:auto;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:7px;
  margin:0;
}
.lg-expert-intro__trust span{
  padding:8px 11px;
  border:1px solid rgba(54,91,77,.08);
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:#62726B;
  font-size:8.5px;
  font-weight:800;
}
.lg-expert-intro__privacy{
  position:relative;
  z-index:1;
  left:auto;
  bottom:auto;
  margin:0;
  color:#798680;
  font-size:9px;
  font-weight:700;
  line-height:1.6;
  text-align:right;
}
.lg-expert-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:22px;
}
.lg-expert-card{
  --expert-accent:#385F8C;
  --expert-soft:#E7EDF5;
  min-width:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(54,76,68,.09);
  border-radius:26px;
  background:#FFFDF9;
  box-shadow:0 24px 48px -42px rgba(39,70,60,.58);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.lg-expert-card:hover{
  transform:translateY(-4px);
  border-color:color-mix(in srgb,var(--expert-accent) 24%,transparent);
  box-shadow:0 30px 55px -40px rgba(39,70,60,.62);
}
.lg-expert-card--tax{ --expert-accent:#3F7A75; --expert-soft:#E3EFEB; }
.lg-expert-card--realestate{ --expert-accent:#B86C48; --expert-soft:#F6E8DD; }
.lg-expert-card__visual{
  position:relative;
  aspect-ratio:3 / 2;
  overflow:hidden;
  background:var(--expert-soft);
}
.lg-expert-card__visual::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(32,56,48,.12));
  pointer-events:none;
}
.lg-expert-card__visual img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  filter:saturate(.91) contrast(.98);
  transition:transform .4s ease;
}
.lg-expert-card:hover .lg-expert-card__visual img{ transform:scale(1.025); }
.lg-expert-card__visual > span{
  position:absolute;
  z-index:1;
  left:15px;
  bottom:14px;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.88);
  color:var(--expert-accent);
  font:700 8px/1 var(--lg-mono);
  letter-spacing:.09em;
  backdrop-filter:blur(7px);
}
.lg-expert-card__body{
  position:relative;
  flex:1;
  display:flex;
  flex-direction:column;
  padding:23px 22px 20px;
}
.lg-expert-card__number{
  position:absolute;
  top:20px;
  right:21px;
  color:var(--expert-soft);
  font:800 31px/1 var(--lg-mono);
}
.lg-expert-card__eyebrow{
  margin:0 0 7px;
  color:var(--expert-accent);
  font-size:9px;
  font-weight:900;
  letter-spacing:.04em;
}
.lg-expert-card h2{
  margin:0;
  color:#29463E;
  font-family:var(--lg-sans);
  font-size:25px;
  font-weight:900;
  letter-spacing:-.03em;
}
.lg-expert-card__desc{
  min-height:58px;
  margin:12px 0 17px;
  color:#71807A;
  font-size:10.5px;
  line-height:1.75;
}
.lg-expert-card__button{
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0 10px 0 17px;
  border-radius:14px;
  background:var(--expert-accent);
  color:#FFF;
  font-size:11px;
  font-weight:900;
  box-shadow:0 15px 25px -20px var(--expert-accent);
}
.lg-expert-card__button b{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.16);
  font-size:13px;
  transition:transform .18s ease;
}
.lg-expert-card__button:hover b{ transform:translateX(3px); }
.lg-expert-card__notice{
  min-height:34px;
  margin:10px 2px 0;
  color:#8A9490;
  font-size:8px;
  line-height:1.65;
}
.lg-expert-card__notice strong{
  color:#65736D;
  font-weight:900;
}
.lg-expert-footnote{
  margin:18px 0 0;
  color:#87928D;
  font-size:9px;
  text-align:center;
}
.lg-expert-empty{
  grid-column:1/-1; margin:42px 0; padding:34px; border-radius:22px;
  background:rgba(255,255,255,.72); color:#7A8882; font-size:12px; text-align:center;
}
@media (max-width:900px){
  .lg-expert-main{ width:min(720px,calc(100% - 36px)); }
  .lg-expert-intro{ display:block; }
  .lg-expert-intro__fee{
    width:max-content;
    max-width:100%;
    margin:20px 0 0 auto;
  }
  .lg-expert-intro__assurance{ margin-top:20px; }
  .lg-expert-grid{ grid-template-columns:1fr; }
  .lg-expert-card{ display:grid; grid-template-columns:minmax(250px,42%) minmax(0,1fr); }
  .lg-expert-card__visual{ height:100%; aspect-ratio:auto; }
  .lg-expert-card__desc{ min-height:0; }
}
@media (max-width:620px){
  .lg-expert-header{ min-height:68px; padding:14px 17px; }
  .lg-expert-header__logo img{ width:132px; }
  .lg-expert-header__back{ min-height:36px; padding:0 12px; font-size:9.5px; }
  .lg-expert-main{ width:calc(100% - 28px); padding-top:5px; }
  .lg-expert-intro{ min-height:0; padding:31px 25px 28px; border-radius:25px; }
  .lg-expert-intro h1{ margin-top:14px; font-size:31px; }
  .lg-expert-intro > p br{ display:none; }
  .lg-expert-intro__fee{ width:100%; min-width:0; margin-top:18px; }
  .lg-expert-intro__assurance{ width:100%; align-items:stretch; gap:13px; }
  .lg-expert-intro__trust{ align-items:stretch; flex-direction:column; }
  .lg-expert-intro__trust span{ text-align:center; }
  .lg-expert-intro__privacy{ text-align:left; }
  .lg-expert-grid{ gap:14px; }
  .lg-expert-card{ display:flex; border-radius:22px; }
  .lg-expert-card__visual{ aspect-ratio:3 / 2; }
  .lg-expert-card__body{ padding:21px 19px 18px; }
  .lg-expert-card__notice{ min-height:0; }
}

/* ========================================================================== 
   規約・ポリシーページ
   ========================================================================== */
.lg-legal-body{
  min-height:100vh;
  background:
    radial-gradient(circle at 8% 10%, rgba(218,235,219,.78), transparent 30%),
    radial-gradient(circle at 94% 5%, rgba(244,216,185,.62), transparent 28%),
    #F7F5EE;
  color:#29473F;
}
.lg-legal-header{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:82px;
  padding:15px clamp(22px,4vw,64px);
  border-bottom:1px solid rgba(65,91,81,.12);
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(14px);
}
.lg-legal-header__logo img{ width:158px; }
.lg-legal-header__back{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:40px;
  padding:0 17px;
  border:1px solid rgba(65,91,81,.15);
  border-radius:999px;
  background:rgba(255,255,255,.8);
  color:#526B63;
  font-size:11px;
  font-weight:700;
  transition:transform .18s ease, border-color .18s ease, background .18s ease;
}
.lg-legal-header__back:hover{
  transform:translateY(-1px);
  border-color:rgba(195,106,30,.35);
  background:#fff;
}
.lg-legal-main{
  width:min(920px,calc(100% - 48px));
  margin:0 auto;
  padding:58px 0 26px;
}
.lg-legal-title{
  padding:0 8px 34px;
  text-align:center;
}
.lg-legal-title__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#BF6E37;
  font-family:var(--lg-mono);
  font-size:10px;
  font-weight:600;
  letter-spacing:.18em;
}
.lg-legal-title__eyebrow::before,
.lg-legal-title__eyebrow::after{
  content:"";
  width:24px;
  height:1px;
  background:rgba(191,110,55,.45);
}
.lg-legal-title h1{
  margin-top:15px;
  color:#28473E;
  font-size:clamp(30px,4vw,46px);
  line-height:1.35;
  letter-spacing:.035em;
}
.lg-legal-title__service-name{ white-space:nowrap; }
.lg-legal-title p{
  margin:14px 0 0;
  color:#75847E;
  font-size:12px;
  line-height:1.9;
}
.lg-legal-document{
  position:relative;
  padding:clamp(34px,6vw,68px) clamp(26px,7vw,78px);
  overflow:hidden;
  border:1px solid rgba(65,91,81,.12);
  border-radius:30px;
  background:rgba(255,255,255,.9);
  box-shadow:0 24px 60px -42px rgba(37,64,55,.45);
}
.lg-legal-document::before{
  content:"";
  position:absolute;
  top:0;
  left:clamp(26px,7vw,78px);
  width:74px;
  height:4px;
  border-radius:0 0 4px 4px;
  background:linear-gradient(90deg,#D98A4C,#E7B074);
}
.lg-legal-document > *:first-child{ margin-top:0; }
.lg-legal-document > *:last-child{ margin-bottom:0; }
.lg-legal-document h2{
  margin:48px 0 20px;
  padding:0 0 12px 17px;
  border-bottom:1px solid rgba(65,91,81,.13);
  border-left:3px solid #D98A4C;
  color:#29473F;
  font-family:var(--lg-sans);
  font-size:20px;
  font-weight:900;
  line-height:1.55;
}
.lg-legal-document h3{
  margin:29px 0 12px;
  color:#3E5C53;
  font-family:var(--lg-sans);
  font-size:15px;
  font-weight:900;
  line-height:1.7;
}
.lg-legal-document p{
  margin:0 0 18px;
  color:#52665F;
  font-size:13.5px;
  font-weight:500;
  line-height:2.05;
  letter-spacing:.015em;
}
.lg-legal-document a{
  color:#A75B2F;
  font-weight:700;
  text-decoration:underline;
  text-decoration-color:rgba(167,91,47,.32);
  text-underline-offset:3px;
  overflow-wrap:anywhere;
}
.lg-legal-document ul{
  display:grid;
  gap:10px;
  margin:2px 0 24px;
  padding:17px 20px;
  border-radius:14px;
  background:#F7F8F4;
}
.lg-legal-document li{
  position:relative;
  padding-left:17px;
  color:#52665F;
  font-size:13px;
  line-height:1.9;
}
.lg-legal-document li::before{
  content:"";
  position:absolute;
  top:.8em;
  left:0;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#D98A4C;
}
.lg-legal-document__marker{
  width:max-content;
  margin:28px 0 12px !important;
  padding:5px 13px;
  border-radius:999px;
  background:#EEF3EC;
  color:#567167 !important;
  font-size:10px !important;
  font-weight:900 !important;
  letter-spacing:.13em !important;
  line-height:1.5 !important;
}
.lg-legal-document__numbered{
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  gap:3px;
}
.lg-legal-document__numbered > span{
  color:#B96835;
  font-weight:900;
}
.lg-legal-document__subnumbered{ padding-left:4px; }
.lg-legal-document__date{
  margin-top:42px !important;
  color:#75847E !important;
  font-size:11px !important;
  text-align:right;
}
.lg-legal-document__loading,
.lg-legal-document__error{
  padding:30px 0;
  color:#75847E !important;
  text-align:center;
}
.lg-legal-related{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px;
  margin-top:24px;
}
.lg-legal-related > span{
  margin-right:5px;
  color:#8B9893;
  font-size:9px;
  font-weight:700;
}
.lg-legal-related a{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:0 15px;
  border:1px solid rgba(65,91,81,.14);
  border-radius:999px;
  background:rgba(255,255,255,.65);
  color:#526B63;
  font-size:10px;
  font-weight:700;
  transition:border-color .18s ease, background .18s ease;
}
.lg-legal-related a:hover{ border-color:rgba(195,106,30,.35); background:#fff; }
.lg-legal-footer{
  padding:26px 20px 34px;
  color:#8A958F;
  font-family:var(--lg-sans);
  font-size:8.5px;
  font-weight:700;
  letter-spacing:.04em;
  text-align:center;
}
.lg-legal-footer p{ margin:0; }
@media (max-width:620px){
  .lg-legal-header{ min-height:68px; padding:13px 17px; }
  .lg-legal-header__logo img{ width:132px; }
  .lg-legal-header__back{ min-height:36px; padding:0 12px; font-size:9.5px; }
  .lg-legal-main{ width:calc(100% - 28px); padding-top:38px; }
  .lg-legal-title{ padding:0 5px 25px; }
  .lg-legal-title__eyebrow{ font-size:8.5px; }
  .lg-legal-title h1{ margin-top:12px; font-size:28px; }
  .lg-legal-title__service-name{ font-size:22px; }
  .lg-legal-title p{ margin-top:10px; font-size:10.5px; }
  .lg-legal-document{ padding:38px 23px 40px; border-radius:22px; }
  .lg-legal-document::before{ left:23px; width:58px; }
  .lg-legal-document h2{ margin-top:38px; padding-left:12px; font-size:17px; }
  .lg-legal-document h3{ margin-top:25px; font-size:14px; }
  .lg-legal-document p{ margin-bottom:16px; font-size:12.5px; line-height:2; }
  .lg-legal-document ul{ padding:15px 16px; }
  .lg-legal-document li{ font-size:12px; }
  .lg-legal-related{ align-items:stretch; }
  .lg-legal-related > span{ width:100%; margin:0 0 2px; text-align:center; }
  .lg-legal-related a{ justify-content:center; flex:1 1 150px; }
}

/* ========================================================================== 
   Cancer care / SalivaChecker information page
   ========================================================================== */
.saliva-care-body{
  --sc-ink:#203F38;
  --sc-green:#47796B;
  --sc-deep:#173E36;
  --sc-mint:#DCEAE3;
  --sc-pink:#D98F91;
  --sc-pale-pink:#F7E7E3;
  --sc-cream:#F7F4EC;
  --sc-gold:#D5B46D;
  margin:0;
  background:#FCFBF7;
  color:var(--sc-ink);
  font-family:"Zen Kaku Gothic New",sans-serif;
  font-size:16px;
  line-height:1.8;
}
.saliva-care-body *{ box-sizing:border-box; }
.saliva-care-body img{ max-width:100%; }
.sc-menu-return{
  width:min(1280px,calc(100% - 32px)); margin:12px auto 0;
  display:flex; justify-content:flex-end;
}
.sc-menu-return[hidden]{ display:none; }
.sc-menu-return a{
  min-height:42px; padding:0 18px; display:inline-flex; align-items:center; justify-content:center;
  border:1px solid #D5DDD7; border-radius:999px; background:#FFF; color:var(--sc-deep);
  font-size:12px; font-weight:900; box-shadow:0 10px 24px -20px rgba(23,62,54,.55);
}
.sc-menu-return a:hover{ border-color:#8EAC9F; transform:translateX(-2px); }
.sc-partner-notice{
  width:min(1280px,calc(100% - 32px)); margin:16px auto 14px; padding:13px 24px;
  display:flex; align-items:center; justify-content:center; gap:14px;
  border:1px solid rgba(194,151,50,.22); border-radius:16px;
  background:linear-gradient(90deg,#FFF8DC,#FFFDF3 52%,#FFF8DC);
  color:#6D5420; box-shadow:0 12px 30px -26px rgba(95,66,13,.55);
}
.sc-partner-notice span{
  padding:5px 9px; border-radius:999px; background:#E9B94A; color:#FFF;
  font:600 9px/1 "IBM Plex Mono",monospace; letter-spacing:.12em;
}
.sc-partner-notice strong{ font-size:17px; font-weight:900; letter-spacing:.02em; }
.sc-skip{
  position:fixed; top:8px; left:8px; z-index:100; padding:8px 14px; border-radius:999px;
  background:#FFF; color:var(--sc-deep); font-size:13px; font-weight:800; transform:translateY(-150%);
}
.sc-skip:focus{ transform:none; }
.sc-header{
  width:min(1180px,calc(100% - 48px)); height:88px; margin:0 auto;
  display:flex; align-items:center; justify-content:space-between; gap:30px;
}
.sc-header__logo img{ display:block; width:150px; }
.sc-nav{ display:flex; align-items:center; gap:8px; }
.sc-nav a{
  padding:9px 16px; border-radius:999px; color:#536C64; font-size:13px; font-weight:700;
  transition:background .2s ease,color .2s ease;
}
.sc-nav a:hover{ background:#EEF3EF; color:var(--sc-deep); }
.sc-hero{
  width:min(1280px,calc(100% - 32px)); min-height:620px; margin:0 auto;
  display:grid; grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr); overflow:hidden;
  border:1px solid rgba(49,83,73,.08); border-radius:42px;
  background:linear-gradient(135deg,#F7F3E9 0%,#F5E8E2 58%,#E4EEE8 100%);
  box-shadow:0 35px 80px -62px rgba(32,63,56,.5);
}
.sc-hero__copy{ padding:78px 42px 58px 74px; position:relative; z-index:2; }
.sc-eyebrow,.sc-section__number{
  margin:0 0 18px; color:#B06B53; font:600 11px/1.3 "IBM Plex Mono",monospace; letter-spacing:.16em;
}
.sc-hero h1{
  margin:0; color:var(--sc-deep); font-size:clamp(42px,5.4vw,72px); font-weight:900;
  line-height:1.22; letter-spacing:-.06em;
}
.sc-hero h1 em{ color:#BF7158; font-style:normal; }
.sc-hero__lead{ max-width:650px; margin:28px 0 0; color:#5A6D67; font-size:16px; line-height:2; }
.sc-hero__actions{
  width:100%; max-width:650px; margin-top:34px;
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px;
}
.sc-closing__actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
.sc-hero__actions .sc-button{
  width:100%; min-width:0; min-height:68px; padding:0 24px; font-size:18px;
  box-shadow:0 16px 28px -23px rgba(32,63,56,.5);
}
.sc-hero__link-note{
  max-width:650px; margin:11px 0 0; color:#697A74; font-size:10.5px;
  font-weight:700; line-height:1.65; text-align:center;
}
.sc-hero__link-note + .sc-hero__steps{ margin-top:28px; }
.sc-button{
  min-height:52px; display:inline-flex; align-items:center; justify-content:center; gap:14px; padding:0 25px;
  border:1px solid transparent; border-radius:999px; font-size:14px; font-weight:900; line-height:1.4;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.sc-button:hover{ transform:translateY(-2px); }
.sc-button--primary{ background:var(--sc-green); color:#FFF; box-shadow:0 18px 32px -22px rgba(23,62,54,.75); }
.sc-button--primary:hover{ background:var(--sc-deep); }
.sc-button--ghost{ border-color:#CFD9D3; background:rgba(255,255,255,.58); color:var(--sc-deep); }
.sc-button--dark{ background:var(--sc-deep); color:#FFF; }
.sc-button--white{ width:100%; background:#FFF; color:var(--sc-deep); }
.sc-hero__steps{
  max-width:520px; margin:44px 0 0; padding:0; display:grid; grid-template-columns:repeat(3,1fr);
  list-style:none; border-top:1px solid rgba(56,90,80,.15);
}
.sc-hero__steps li{ min-width:0; }
.sc-hero__steps a{
  padding:17px 10px 8px 0; display:flex; align-items:center; gap:9px;
  border-radius:0 0 12px 12px; color:inherit;
  transition:color .18s ease,background .18s ease,transform .18s ease;
}
.sc-hero__steps a:hover{ background:rgba(255,255,255,.42); color:var(--sc-green); transform:translateY(-2px); }
.sc-hero__steps a:focus-visible{ outline:2px solid var(--sc-green); outline-offset:3px; }
.sc-hero__steps b{ color:#B06B53; font:600 10px/1 "IBM Plex Mono",monospace; }
.sc-hero__steps span{ font-size:12px; font-weight:800; }
.sc-hero__visual{
  position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center;
  min-height:620px; isolation:isolate;
}
.sc-hero__visual::before{
  content:""; position:absolute; inset:9% -16% 7% 4%; z-index:-2; border-radius:50% 42% 46% 54%;
  background:radial-gradient(circle at 38% 32%,rgba(255,255,255,.95),rgba(239,207,198,.72) 45%,rgba(173,206,190,.58) 100%);
}
.sc-hero__visual::after{
  content:""; position:absolute; width:300px; height:300px; z-index:-1; border:1px solid rgba(56,90,80,.12);
  border-radius:50%; box-shadow:0 0 0 45px rgba(255,255,255,.16),0 0 0 95px rgba(255,255,255,.1);
}
.sc-cell{ position:absolute; display:block; border-radius:48% 52% 45% 55%; background:rgba(209,128,128,.58); box-shadow:inset 0 0 0 12px rgba(255,255,255,.18); }
.sc-cell::after{ content:""; position:absolute; inset:32%; border-radius:50%; background:rgba(155,67,78,.55); }
.sc-cell--one{ width:92px; height:92px; top:15%; right:20%; transform:rotate(18deg); }
.sc-cell--two{ width:54px; height:54px; top:31%; left:17%; transform:rotate(-12deg); opacity:.7; }
.sc-cell--three{ width:72px; height:72px; right:11%; bottom:19%; transform:rotate(34deg); opacity:.74; }
.sc-cell--four{ width:38px; height:38px; left:24%; bottom:16%; opacity:.6; }
.sc-hero__stat{
  min-width:270px; padding:30px 28px; text-align:center; border:1px solid rgba(255,255,255,.72); border-radius:30px;
  background:rgba(255,255,255,.78); box-shadow:0 26px 55px -36px rgba(26,62,52,.52); backdrop-filter:blur(10px);
}
.sc-hero__stat small,.sc-hero__stat span{ display:block; color:#65756F; font-size:12px; font-weight:700; }
.sc-hero__stat strong{ display:block; margin:5px 0; color:#B95F55; font-size:48px; font-weight:900; letter-spacing:-.06em; }
.sc-hero__visual > p{ position:absolute; right:50px; bottom:48px; margin:0; color:#526B62; font-size:13px; font-weight:700; text-align:right; }
.sc-section{ width:min(1180px,calc(100% - 48px)); margin:118px auto; scroll-margin-top:24px; }
.sc-section__head{ max-width:760px; margin-bottom:48px; }
.sc-section__head h2{ margin:0; color:var(--sc-deep); font-size:clamp(32px,4.4vw,52px); font-weight:900; line-height:1.35; letter-spacing:-.055em; }
.sc-section__head > p:last-child{ margin:22px 0 0; color:#61736D; font-size:15px; line-height:2; }
.sc-mechanism{ margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:14px; list-style:none; }
.sc-mechanism li{ min-height:285px; padding:24px; border:1px solid #E1E7E2; border-radius:25px; background:#FFF; box-shadow:0 20px 42px -40px rgba(34,69,59,.52); }
.sc-mechanism li > span{ color:#B77B63; font:600 10px/1 "IBM Plex Mono",monospace; letter-spacing:.1em; }
.sc-mechanism__icon{ width:54px; height:54px; margin:24px 0 30px; display:grid; place-items:center; border-radius:18px; background:#F5E4E1; color:#BB6D69; font-size:24px; font-weight:900; }
.sc-mechanism li:nth-child(2) .sc-mechanism__icon{ background:#F2E8D5; color:#A98543; }
.sc-mechanism li:nth-child(3) .sc-mechanism__icon{ background:#E4EEE9; color:#4D796C; }
.sc-mechanism li:nth-child(4) .sc-mechanism__icon{ background:#D6E4DD; color:#244E43; }
.sc-mechanism h3{ margin:0 0 10px; font-size:17px; font-weight:900; }
.sc-mechanism p{ margin:0; color:#6D7B76; font-size:12px; line-height:1.85; }
.sc-early{ margin-top:48px; display:grid; grid-template-columns:minmax(280px,.78fr) minmax(480px,1.22fr); gap:46px; align-items:center; padding:50px; border-radius:34px; background:var(--sc-cream); }
.sc-pill{ display:inline-flex; padding:6px 12px; border-radius:999px; background:#E9D4CA; color:#925E4A; font-size:10px; font-weight:900; }
.sc-early h3{ margin:20px 0 18px; color:var(--sc-deep); font-size:28px; font-weight:900; line-height:1.5; letter-spacing:-.04em; }
.sc-early__copy > p{ margin:0; color:#64746F; font-size:13px; }
.sc-small-note{ color:#84908B!important; font-size:10.5px!important; line-height:1.7!important; }
.sc-early__copy .sc-small-note{ margin-top:16px; }
.sc-early__figure{ margin:0; padding:18px; border-radius:24px; background:#FFF; }
.sc-early__figure img{ width:100%; display:block; }
.sc-early__figure figcaption,.sc-flow figcaption{ margin-top:10px; color:#82908A; font-size:9px; line-height:1.6; }
.sc-section--checker{ width:min(1280px,calc(100% - 32px)); padding:76px 50px; border-radius:42px; background:var(--sc-deep); color:#FFF; }
.sc-section__head--light{ max-width:810px; }
.sc-section__head--light .sc-section__number{ color:#E3AE98; }
.sc-section__head--light h2{ color:#FFF; }
.sc-section__head--light > p:last-child{ color:#C9D8D2; }
.sc-checker-card{ display:grid; grid-template-columns:minmax(0,1.32fr) minmax(300px,.68fr); gap:20px; }
.sc-checker-card__main{ padding:42px; border-radius:30px; background:#F8F3ED; color:var(--sc-ink); }
.sc-checker-card__main h3{ margin:0; color:var(--sc-deep); font-size:clamp(27px,3.2vw,40px); font-weight:900; line-height:1.4; letter-spacing:-.04em; }
.sc-risk-list{ margin:28px 0; display:flex; flex-wrap:wrap; gap:8px; }
.sc-risk-list span{ min-height:38px; display:inline-flex; align-items:center; gap:5px; padding:0 14px; border-radius:999px; background:#F1DCD8; color:#81564B; font-size:12px; font-weight:800; }
.sc-risk-list small{ font-size:8px; }
.sc-feature-list{ margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:9px; list-style:none; }
.sc-feature-list li{ padding:18px; border:1px solid #E3E4DD; border-radius:18px; background:#FFF; }
.sc-feature-list b,.sc-feature-list span{ display:block; }
.sc-feature-list b{ color:#3E7062; font-size:13px; }
.sc-feature-list span{ margin-top:5px; color:#77837F; font-size:10.5px; line-height:1.6; }
.sc-price-card{ padding:36px 30px; display:flex; flex-direction:column; justify-content:center; border-radius:30px; background:linear-gradient(145deg,#D98F91,#C87073); text-align:center; }
.sc-price-card > span{ font-size:15px; font-weight:900; }
.sc-price-card > p{ margin:22px 0 0; font-size:16px; }
.sc-price-card > strong{ display:block; margin:5px 0 0; color:#FFF; font-size:64px; line-height:1.12; letter-spacing:-.06em; }
.sc-price-card > strong small{ margin-left:6px; font-size:19px; letter-spacing:0; }
.sc-price-card .sc-price-card__copy{ margin:6px 0 24px; color:#FFEDEC; font-size:14px; }
.sc-price-card .sc-button{ min-height:64px; font-size:17px; }
.sc-external-link-note{
  max-width:290px; margin:3px 0 0; color:#697871; font-size:9px; font-weight:700;
  line-height:1.65; text-align:right;
}
.sc-external-link-note--light{
  max-width:none; margin:10px 0 0!important; color:#FFF4F2!important; text-align:left;
}
.sc-external-link-note--salivatech{
  max-width:390px; margin:13px auto 0!important; padding:0 4px; font-size:9px;
  line-height:1.75; letter-spacing:0; text-align:center; text-wrap:balance;
}
.sc-price-card > small{ display:block; margin-top:16px; color:#FFF4F2; font-size:9.5px; line-height:1.7; text-align:left; }
.sc-flow{ margin:22px 0 0; padding:34px; border-radius:30px; background:#FFF; color:var(--sc-ink); }
.sc-flow__head{ display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:22px; }
.sc-flow__head span{ color:#B96F69; font:600 9px/1 "IBM Plex Mono",monospace; letter-spacing:.14em; }
.sc-flow__head h3{ margin:0; font-size:23px; font-weight:900; }
.sc-flow img{ width:100%; display:block; border-radius:18px; }
.sc-medical-note{ margin-top:20px; padding:24px 27px; display:grid; grid-template-columns:135px 1fr; gap:22px; border:1px solid rgba(255,255,255,.15); border-radius:20px; }
.sc-medical-note strong{ color:#F0C3B0; font-size:12px; }
.sc-medical-note p{ margin:0; color:#C8D7D2; font-size:11px; line-height:1.9; }
.sc-insurance-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.sc-insurance-grid article{ min-height:290px; padding:28px; border:1px solid #E0E7E2; border-radius:25px; background:#FFF; }
.sc-insurance-grid article > span{ color:#A98954; font:600 9px/1 "IBM Plex Mono",monospace; letter-spacing:.13em; }
.sc-insurance-grid__icon{ width:58px; height:58px; margin:31px 0 25px; display:grid; place-items:center; border-radius:20px; background:#E4EEE9; color:#3F7163; font-size:19px; font-weight:900; }
.sc-insurance-grid h3{ margin:0 0 10px; font-size:20px; font-weight:900; }
.sc-insurance-grid p{ margin:0; color:#6D7C76; font-size:12px; }
.sc-insurance-cta{ margin-top:28px; padding:38px 42px; display:flex; align-items:center; justify-content:space-between; gap:36px; border-radius:30px; background:#F0E9D9; }
.sc-insurance-cta h3{ margin:17px 0 8px; color:var(--sc-deep); font-size:26px; font-weight:900; line-height:1.5; }
.sc-insurance-cta p{ max-width:650px; margin:0; color:#68766F; font-size:12px; }
.sc-insurance-cta__action{ flex:none; display:flex; flex-direction:column; align-items:flex-end; gap:8px; }
.sc-insurance-cta__action .sc-button{
  min-width:265px; min-height:66px; padding:0 36px; font-size:17px;
  box-shadow:0 16px 28px -22px rgba(23,62,54,.65);
}
.sc-section#insurance > .sc-small-note{ margin:18px 4px 0; }
.sc-closing{ width:min(1180px,calc(100% - 48px)); margin:0 auto 45px; padding:70px 50px; overflow:hidden; position:relative; border-radius:38px; background:linear-gradient(135deg,#E8EFEA,#F6E9E2); text-align:center; }
.sc-closing::before,.sc-closing::after{ content:""; position:absolute; border-radius:50%; border:1px solid rgba(57,93,82,.09); }
.sc-closing::before{ width:260px; height:260px; left:-95px; top:-130px; }
.sc-closing::after{ width:360px; height:360px; right:-150px; bottom:-230px; }
.sc-closing h2{ margin:0; position:relative; z-index:1; color:var(--sc-deep); font-size:clamp(31px,4.2vw,48px); font-weight:900; line-height:1.45; letter-spacing:-.05em; }
.sc-closing__actions{ position:relative; z-index:1; justify-content:center; }
.sc-sources{ width:min(1180px,calc(100% - 48px)); margin:0 auto 70px; padding:20px 24px; display:flex; flex-wrap:wrap; align-items:center; gap:8px 18px; border-top:1px solid #E1E6E2; border-bottom:1px solid #E1E6E2; }
.sc-sources strong{ color:#526A62; font-size:11px; }
.sc-sources a{ color:#7B8984; font-size:10.5px; text-decoration:underline; text-underline-offset:3px; }
.sc-footer{ min-height:112px; padding:30px max(24px,calc((100% - 1180px)/2)); display:flex; align-items:center; justify-content:space-between; gap:30px; background:#F2F3ED; }
.sc-footer img{ width:140px; }
.sc-footer p{ margin:0; color:#77837F; font-size:11px; text-align:right; }
@media (max-width:960px){
  .sc-hero{ grid-template-columns:1fr; }
  .sc-hero__copy{ padding:60px 50px 35px; }
  .sc-hero__visual{ min-height:390px; }
  .sc-mechanism{ grid-template-columns:repeat(2,1fr); }
  .sc-early{ grid-template-columns:1fr; }
  .sc-checker-card{ grid-template-columns:1fr; }
  .sc-price-card{ min-height:360px; }
  .sc-insurance-grid{ grid-template-columns:1fr; }
  .sc-insurance-grid article{ min-height:auto; }
  .sc-insurance-cta{ align-items:flex-start; flex-direction:column; }
  .sc-insurance-cta__action{ align-items:flex-start; }
}
@media (max-width:660px){
  .sc-menu-return{ width:calc(100% - 20px); margin-top:8px; }
  .sc-menu-return a{ min-height:36px; padding:0 13px; font-size:10px; }
  .sc-header{ width:calc(100% - 30px); height:72px; }
  .sc-partner-notice{ width:calc(100% - 20px); padding:11px 14px; gap:9px; border-radius:13px; }
  .sc-partner-notice strong{ font-size:14px; }
  .sc-partner-notice span{ font-size:7px; }
  .sc-header__logo img{ width:118px; }
  .sc-nav{ gap:2px; }
  .sc-nav a{ padding:7px 8px; font-size:9px; }
  .sc-hero{ width:calc(100% - 20px); min-height:auto; border-radius:28px; }
  .sc-hero__copy{ padding:43px 24px 28px; }
  .sc-hero h1{ font-size:38px; }
  .sc-hero__lead{ font-size:13px; line-height:1.9; }
  .sc-button{ width:100%; min-height:49px; padding:0 18px; font-size:12px; }
  .sc-hero__actions{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .sc-hero__actions .sc-button{ min-width:0; min-height:64px; padding:0 10px; font-size:16px; }
  .sc-hero__link-note{ margin-top:9px; font-size:9px; text-align:left; }
  .sc-hero__steps{ margin-top:32px; }
  .sc-hero__visual{ min-height:330px; }
  .sc-hero__stat{ min-width:230px; }
  .sc-hero__stat strong{ font-size:41px; }
  .sc-hero__visual > p{ right:24px; bottom:23px; font-size:10px; }
  .sc-section{ width:calc(100% - 28px); margin:78px auto; }
  .sc-section__head{ margin-bottom:31px; }
  .sc-section__head h2{ font-size:30px; }
  .sc-section__head > p:last-child{ font-size:13px; line-height:1.9; }
  .sc-mechanism{ grid-template-columns:1fr; }
  .sc-mechanism li{ min-height:auto; }
  .sc-mechanism__icon{ margin:20px 0; }
  .sc-early{ margin-top:28px; padding:25px 18px; gap:28px; border-radius:25px; }
  .sc-early h3{ font-size:23px; }
  .sc-early__figure{ padding:9px; border-radius:17px; }
  .sc-section--checker{ width:calc(100% - 20px); padding:48px 14px; border-radius:28px; }
  .sc-section--checker .sc-section__head{ padding:0 7px; }
  .sc-checker-card__main{ padding:28px 20px; border-radius:23px; }
  .sc-checker-card__main h3{ font-size:26px; }
  .sc-risk-list span{ padding:0 11px; font-size:10px; }
  .sc-feature-list{ grid-template-columns:1fr; }
  .sc-price-card{ min-height:auto; padding:38px 22px; border-radius:23px; }
  .sc-price-card > span{ font-size:13px; }
  .sc-price-card > p{ font-size:14px; }
  .sc-price-card > strong{ font-size:54px; }
  .sc-price-card > strong small{ font-size:17px; }
  .sc-price-card .sc-price-card__copy{ font-size:13px; }
  .sc-price-card .sc-button{ min-height:60px; font-size:16px; }
  .sc-external-link-note--salivatech{ max-width:310px; padding:0; font-size:8.5px; line-height:1.75; }
  .sc-flow{ padding:20px 14px; border-radius:23px; overflow:hidden; }
  .sc-flow__head{ align-items:flex-start; flex-direction:column; }
  .sc-flow__head h3{ font-size:20px; }
  .sc-flow img{ width:820px; max-width:none; transform-origin:left top; }
  .sc-flow{ overflow-x:auto; }
  .sc-medical-note{ grid-template-columns:1fr; gap:8px; padding:20px; }
  .sc-insurance-grid article{ padding:24px; }
  .sc-insurance-cta{ padding:29px 22px; border-radius:24px; }
  .sc-insurance-cta h3{ font-size:21px; }
  .sc-insurance-cta__action,.sc-insurance-cta__action .sc-button{ width:100%; }
  .sc-closing{ width:calc(100% - 28px); padding:52px 20px; border-radius:28px; }
  .sc-closing h2{ font-size:29px; }
  .sc-sources{ width:calc(100% - 28px); align-items:flex-start; flex-direction:column; }
  .sc-footer{ align-items:flex-start; flex-direction:column; }
  .sc-footer p{ text-align:left; }
}

/* CMS HTML版：お知らせが0件の場合は枠を表示しません。 */
.lg-notice-list:empty { display: none; }

/* 追加CSS */
#mainContent {
    width: 100%;
}
.freePage > div {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 64px 24px 40px;
  position: relative;
}
.freePage > div:has(.sc-partner-notice) {
    padding-top: 0;
}
  body.saliva-care-body .freePage > div,
  body.lg-legal-body .freePage > div {
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 0;
  }
  body.lg-body--embed .freePage > div,
  body.lg-legal-body .freePage > div { 
    padding-top: 0;
  }
.lg-legal-header {
width: 100%;
}
#cms_contents_area,
#sitedesign-pagetop {
  width: 100%;
}
.lay-container, .lay-container-sm, .lay-container-md, .lay-container-lg, .lay-container-xl {
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 0 !important;
    padding-top: 0 !important;
}
.lg-menu-toggle svg {
  color: #000 !important;
}
.lg-topbar--dashboard #todayLabel {
  margin: 0;
}
@media (max-width: 560px) {
    .lg-login {
        padding: 44px 0 32px;
    }
}
@media (max-width: 700px) {
    .freePage > div {
        padding-left: 0;
        padding-right: 0;
                padding-top: 0;
    }
        .dashboard .freePage > div {
        padding-left: 15px;
        padding-right: 15px;
    }
}
@media (min-width: 1200px) {
  .lay-container, .lay-container-sm, .lay-container-md, .lay-container-lg, .lay-container-xl {
      max-width: 100% !important;
  }
}
.lg-login__mark {
  margin-top: -16px;
  margin-right: auto;
  margin-left: auto;
}
p:has(a.sc-skip) {
  position: fixed;
  top: 8px;
  left: 8px;
}
  .sc-footer {
        width: calc(100% + 30px);
  }
  
 @media (max-width: 767px) {
  body:has( > div#cms_contents_area) {
      overflow-x: hidden;
      width: 100vw;
  }
}
  body.lg-body--embed .freePage > div { 
    padding-top: 0;
  }
  
/* members_login-get_form: match company-code login controls */
.lg-login:has(.siteblock-bottom) .siteblock-main {
  display: none;
}
#members_login_loader {
  min-height: 100vh;
  text-align: center;
  padding: 64px 24px 40px;
  position: relative;
}

.membersLoginGetForm_login {
  max-width: 400px;
  margin: 0 auto;
}

.membersLoginGetForm_login::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(290px 190px at 100% 0%, rgba(224,196,127,.18), transparent 70%),
    linear-gradient(112deg, transparent 35%, rgba(255,255,255,.055) 47%, transparent 58%);
  pointer-events: none;
}

.membersLoginGetForm_login::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.018) 0 1px, transparent 1px 22px);
  pointer-events: none;
}

.membersLoginGetForm_login > * {
  position: relative;
  z-index: 1;
}

.membersLoginGetForm_login .box,
.membersLoginGetForm_login .box > div,
.membersLoginGetForm_login .box > div > div {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.membersLoginGetForm_login h2,
.membersLoginGetForm_login h3 {
  margin: 0 0 22px;
  color: #E9D7A8;
  font-family: var(--lg-mono, Consolas, monospace);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: .16em;
}

.membersLoginGetForm_login dl,
.membersLoginGetForm_login dt,
.membersLoginGetForm_login dd {
  margin: 0;
  padding: 0;
}

.membersLoginGetForm_login dl > dt:first-child {
  display: none;
}

.lg-members-company-label {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 10px;
  color: #D8D4C8;
  font-family: var(--lg-mono, Consolas, monospace);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: .1em;
}

.membersLoginGetForm_login .lg-field__hint {
  color: #8F918E;
  font-weight: 500;
}

.membersLoginGetForm_login input[name="user_id"] {
  width: 100% !important;
  margin: 0 !important;
  padding: 14px 15px !important;
  color: #FFFDF7 !important;
  font-family: var(--lg-mono, Consolas, monospace) !important;
  font-size: 19px !important;
  line-height: 1.4 !important;
  letter-spacing: .07em !important;
  border: 1px solid rgba(213,190,135,.42) !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.045) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035) !important;
  outline: none !important;
  transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}

.membersLoginGetForm_login input[name="user_id"]:focus {
  border-color: #D7B96F !important;
  background: rgba(255,255,255,.075) !important;
  box-shadow: 0 0 0 4px rgba(215,185,111,.12), inset 0 1px 0 rgba(255,255,255,.05) !important;
}
.membersLoginGetForm_login input[name="user_id"]::placeholder {
  color: #8F8D86;
  font-family: var(--lg-sans, sans-serif);
  font-size: 14px;
  letter-spacing: 0;
}

.membersLoginGetForm_login .errorMessage {
  margin: 14px 0 0;
  color: #FFD8D1;
  font-size: 12px;
  line-height: 1.6;
}

.membersLoginGetForm_login .pageLink {
  margin-top: 22px;
}

.membersLoginGetForm_login .pageLinkBox,
.membersLoginGetForm_login .memberFormButtons,
.membersLoginGetForm_login .memberFormButtons li {
  margin: 0;
  padding: 0;
  list-style: none;
}

.membersLoginGetForm_login .memberFormButtons li {
  position: relative;
}

.membersLoginGetForm_login .btn_member-login-form,
.membersLoginGetForm_login .btn2_member-login-form {
  width: 100% !important;
  min-height: 50px !important;
  margin: 0 !important;
  padding: 0 26px !important;
  color: transparent !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  border: 1px solid rgba(255,239,195,.56) !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #F0D28D 0%, #D1A955 48%, #B88836 100%) !important;
  box-shadow: 0 16px 30px -15px rgba(211,168,76,.58), inset 0 1px 0 rgba(255,255,255,.48) !important;
  cursor: pointer;
  transition: transform .12s ease, box-shadow .12s ease, filter .12s ease;
}

.membersLoginGetForm_login .submitBtn::after {
  content: "ホームへ進む →";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #171512;
  font-size: 14.5px;
  font-weight: 700;
  line-height: 1.4;
  pointer-events: none;
}

.membersLoginGetForm_login .btn_member-login-form:hover,
.membersLoginGetForm_login .btn2_member-login-form:hover {
  filter: brightness(1.04);
  transform: translateY(-1px);
  box-shadow: 0 18px 34px -14px rgba(225,185,96,.68), inset 0 1px 0 rgba(255,255,255,.55) !important;
}

.membersLoginGetForm_login > ul {
  display: grid;
  gap: 8px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.membersLoginGetForm_login > ul a {
  color: #E9D7A8;
  font-size: 12px;
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 560px) {
  .membersLoginGetForm_login {
/*     width: calc(100% - 32px);
padding: 26px 22px 28px; */
  }
}

.lg-pass--login .lg-pass__head-label {
  text-align: left;
  margin-bottom: 22px;
}

/* members_login-menu: final pass-card alignment */
.membersLoginGetForm_logined {
  width: min(400px, calc(100% - 32px));
  max-width: 400px;
  margin: 28px auto;
  padding: 30px 30px 34px;
  position: relative;
  overflow: hidden;
  color: #fff;
  border-radius: var(--lg-radius-m, 18px);
  background: linear-gradient(135deg, #2A2419 0%, var(--lg-ink, #201C14) 45%, #171310 100%);
  box-shadow: var(--lg-shadow-lg, 0 30px 60px -20px rgba(20,16,10,0.38));
}

.membersLoginGetForm_logined h2,
.membersLoginGetForm_logined h3 {
  display: none;
}

.membersLoginGetForm_logined .lg-members-logined-head-label {
  margin: 0 0 22px;
  color: #E9D7A8;
  font-family: var(--lg-mono, Consolas, monospace);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: .16em;
}

.membersLoginGetForm_logined .memberLoginFormMenu {
  margin: 0;
}

.membersLoginGetForm_logined .memberLoginName {
  margin-bottom: 18px;
  padding: 14px 15px;
  color: #FFFDF7;
  font-family: var(--lg-mono, Consolas, monospace);
  font-size: 15px;
  line-height: 1.6;
  letter-spacing: .04em;
  border: 1px solid rgba(213,190,135,.42);
  border-radius: 14px;
  background: rgba(255,255,255,.045);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}

.membersLoginGetForm_logined .pageLink > a[href="/dashboard/"] {
  margin-top: 10px;
}

@media (max-width: 560px) {
  .membersLoginGetForm_logined {
    width: calc(100% - 32px);
    padding: 26px 22px 28px;
  }
}

.lg-pass--login .lg-pass__head-label {
  text-align: left;
  margin-bottom: 22px;
}
#LoginDialog #log_head img {
  display: inline-block;
}
.efukur-dummyparts,
.efukur-dummyparts p {
  margin: 0 !important;
  height: 0 !important;
}

/* PC表示の左メニューの調整 */
@media (min-width: 1024px) {
  .lg-side {
    /* 1. 上部の余白分（例: 80px）を引いた高さにする */
    height: calc(100vh - 80px) !important;
    
    /* 2. メニューが縦に長い場合は、メニュー内だけスクロールできるようにする */
    overflow-y: auto !important;
    
    /* 3. 上にどれくらい固定するか（余白を狭くしたい場合はここを小さくする） */
    top: 40px !important; 
  }
}

/* スマホ表示時の展開メニューのスクロール改善 */
@media (max-width: 1023px) {
  .lg-side.is-open {
    /* メニューの高さを画面ピッタリに固定（ブラウザの上下バーを考慮） */
    height: 100dvh !important; 
    
    /* メニュー内を縦スクロール可能にする */
    overflow-y: auto !important;
    
    /* iOS（iPhone）で滑らかにスクロールさせるコード */
    -webkit-overflow-scrolling: touch !important;
    
    /* 一番下の項目が押しやすいように余白を足す */
    padding-bottom: 60px !important; 
  }
}