/* 開示くん ページ共通：上のメニュー（タブ）と全画面テンプレート */
body.kaiji-blank { margin: 0; background: #FFFFFF; }
body.kaiji-blank:not(.kaiji-page-top) #kaiji-main { padding: 24px 12px 0; background: #FBF7EE; min-height: 70vh; }
html { scroll-padding-top: 80px; }
#kt-guide { display: block; position: relative; top: -8px; }

/* 上のメニュー（下にスクロールで隠れ、上にスクロールで出る） */
.kt-nav { position: sticky; top: 0; z-index: 50; background: rgba(27,36,48,.96); color: #FFFFFF; transition: transform .25s ease; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); border-bottom: 1px solid rgba(255,255,255,.08); font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif; line-height: 1.5; }
.kt-nav *, .kt-nav *::before, .kt-nav *::after { box-sizing: border-box; }
.admin-bar .kt-nav { top: 32px; }
@media (max-width: 782px) { .admin-bar .kt-nav { top: 46px; } }
@media (max-width: 600px) { .admin-bar .kt-nav { top: 0; } }
.kt-nav.is-hidden { transform: translateY(-105%); }
@media (prefers-reduced-motion: reduce) { .kt-nav { transition: none; } }
.kt-nav-in { display: flex; align-items: center; gap: 20px; min-height: 60px; max-width: 1120px; margin: 0 auto; padding: 0 20px; }
.kt-nav-logo { flex-shrink: 0; display: inline-flex; align-items: center; gap: 8px; color: #F2B84B; font-weight: 900; font-size: 17px; text-decoration: none; }
.kt-nav-logo img { border-radius: 8px; }
.kt-tabs { display: flex; gap: 4px; margin-left: auto; overflow-x: auto; scrollbar-width: none; }
.kt-tabs::-webkit-scrollbar { display: none; }
.kt-tabs a { flex-shrink: 0; padding: 8px 14px; border-radius: 999px; color: #D7DCE3; font-size: 14px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.kt-tabs a wbr { display: none; }
@media (max-width: 760px) { .kt-tabs a wbr { display: inline; } }
.kt-tabs a:hover { background: rgba(255,255,255,.08); color: #FFFFFF; }
.kt-tabs a[aria-current="page"] { background: #F2B84B; color: #1B2430; }
.kt-tabs a:focus-visible, .kt-nav-logo:focus-visible { outline: 3px solid #8FB6F0; outline-offset: 2px; }
/* ログイン */
.kt-account { position: relative; flex-shrink: 0; }
.kt-account > summary, a.kt-account { display: inline-flex; align-items: center; min-height: 40px; padding: 6px 16px; border-radius: 999px; border: 1.5px solid #F2B84B; color: #F2B84B; font-size: 14px; font-weight: 700; text-decoration: none; cursor: pointer; list-style: none; white-space: nowrap; }
.kt-account > summary::-webkit-details-marker { display: none; }
.kt-account > summary:hover, a.kt-account:hover, .kt-account[open] > summary { background: #F2B84B; color: #1B2430; }
.kt-account > summary:focus-visible, a.kt-account:focus-visible { outline: 3px solid #8FB6F0; outline-offset: 2px; }
.kt-login-pop { position: absolute; right: 0; top: calc(100% + 10px); width: 300px; max-width: calc(100vw - 24px); padding: 16px; border-radius: 16px; background: #FFFFFF; color: #1B2430; box-shadow: 0 16px 40px rgba(0,0,0,.25); display: flex; flex-direction: column; gap: 10px; z-index: 60; }
.kt-login-h { margin: 0; font-size: 15px; font-weight: 900; }
.kt-login-btn { display: flex; align-items: center; justify-content: center; min-height: 48px; border-radius: 12px; font-size: 15px; font-weight: 700; text-decoration: none; }
.kt-login-btn.is-line { background: #06C755; color: #FFFFFF; }
.kt-login-btn.is-google { background: #FFFFFF; color: #1B2430; border: 1.5px solid #C9CFD8; }
.kt-login-btn:focus-visible { outline: 3px solid #8FB6F0; outline-offset: 2px; }
.kt-login-note { margin: 0; font-size: 12px; line-height: 1.6; color: #5B6575; }
@media (max-width: 760px) {
  .kt-tabs a.is-pc { display: none; }
  .kt-account { order: 2; margin-left: auto; }
  .kt-account > summary, a.kt-account { min-height: 36px; padding: 4px 14px; font-size: 13px; }
  .kt-tabs { order: 3; }
  .kt-nav-in { flex-wrap: wrap; gap: 0; padding-top: 10px; }
  .kt-tabs { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 6px; margin: 0 -14px; padding: 8px 8px 10px; width: calc(100% + 28px); overflow: visible; }
  .kt-tabs a { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 4px 4px; border-radius: 10px; font-size: 12.5px; line-height: 1.3; text-align: center; white-space: normal; word-break: keep-all; background: rgba(255,255,255,.06); }
}
.kaiji-page-title { max-width: 760px; margin: 16px auto 20px; font-family: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif; font-size: clamp(24px, 4vw, 32px); font-weight: 900; line-height: 1.4; color: #1B2430; }

/* ログイン（メール） */
.kt-login-or { margin: 2px 0 -2px; font-size: 12px; color: #5B6575; text-align: center; }
.kaiji-mail-login { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.kaiji-mail-label { font-size: 13px; font-weight: 700; color: #1B2430; }
.kaiji-mail-row { display: flex; gap: 6px; }
.kaiji-mail-row input { flex: 1 1 auto; min-width: 0; min-height: 46px; padding: 8px 12px; border: 1.5px solid #C9CFD8; border-radius: 12px; font: inherit; font-size: 16px; color: #1B2430; background: #FFFFFF; }
.kaiji-mail-row input:focus-visible { outline: 3px solid #8FB6F0; outline-offset: 1px; }
.kaiji-mail-row button { flex-shrink: 0; min-height: 46px; padding: 0 16px; border: 0; border-radius: 12px; background: #1B2430; color: #FFFFFF; font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; }
.kaiji-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.kt-nav p, .kt-nav label { word-break: keep-all; overflow-wrap: anywhere; }
@supports (word-break: auto-phrase) { .kt-nav p { word-break: auto-phrase; } }
/* スマホのタブ：四角い箱ではなく、文字＋下線で */
@media (max-width: 760px) {
  .kt-tabs { gap: 0; padding: 2px 4px 0; margin-top: 6px; border-top: 1px solid rgba(255,255,255,.08); }
  .kt-tabs a { min-height: 44px; padding: 6px 2px 8px; border-radius: 0; background: none; border-bottom: 3px solid transparent; color: #C9CFD8; font-size: 13px; }
  .kt-tabs a:hover { background: none; color: #FFFFFF; }
  .kt-tabs a[aria-current="page"] { background: none; color: #F2B84B; border-bottom-color: #F2B84B; }
}
