.msl-db{
  --msl:#2ed2e8;
  --msl-strong:#14b9d0;
  --msl-dark:#0f8fa0;
  --ink:#173b44;
  --text:#4d6268;
  --muted:#819297;
  --line:#dcebee;
  --line-strong:#c8e3e7;
  --soft:#f5fcfd;
  --soft-2:#eefafb;
  --white:#fff;
  max-width:1180px;
  margin:28px auto 48px;
  color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;
  line-height:1.65;
}
.msl-db *{box-sizing:border-box}
.msl-db button,.msl-db input,.msl-db select{font:inherit}
.msl-db button,.msl-db a{-webkit-tap-highlight-color:transparent}

.msl-db-hero{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  gap:32px;
  align-items:center;
  padding:38px 42px;
  border:1px solid #cfeff3;
  border-radius:26px;
  background:linear-gradient(135deg,#effdff 0%,#fff 62%,#eefbfd 100%);
  box-shadow:0 18px 48px rgba(32,88,98,.08);
}
.msl-db-eyebrow{color:#17aabd;font-size:12px;font-weight:800;letter-spacing:.14em}
.msl-db-hero h2{margin:7px 0 10px!important;padding:0!important;border:0!important;color:var(--ink)!important;font-size:34px!important;line-height:1.35!important}
.msl-db-hero p{max-width:720px;margin:0;color:#64767b;font-size:14px}
.msl-db-hero-guide{display:flex;align-items:center;justify-content:center;gap:9px;padding:20px;border:1px solid #daf0f3;border-radius:18px;background:rgba(255,255,255,.86)}
.msl-db-hero-guide span{display:flex;min-width:62px;flex-direction:column;align-items:center;gap:5px;color:#60757b;font-size:12px;font-weight:700}
.msl-db-hero-guide b{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:var(--msl);color:#fff;font-size:14px;box-shadow:0 6px 14px rgba(46,210,232,.24)}
.msl-db-hero-guide i{color:#9eb0b4;font-style:normal}

.msl-db-area-section,.msl-db-search-panel,.msl-db-result-section{margin-top:26px}
.msl-db-section-head,.msl-db-result-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 2px 13px}
.msl-db-section-head>div:first-child,.msl-db-result-head>div:first-child{display:flex;align-items:center;gap:10px}
.msl-db-step-number{display:inline-grid;min-width:38px;height:26px;place-items:center;padding:0 9px;border-radius:999px;background:#e9fafc;color:#159caf;font-size:11px;font-weight:900;letter-spacing:.05em}
.msl-db-section-head h3,.msl-db-result-head h3{margin:0!important;padding:0!important;border:0!important;color:var(--ink)!important;font-size:20px!important;line-height:1.4!important}

.msl-db-all-link{
  display:inline-flex;
  min-height:40px;
  align-items:center;
  justify-content:center;
  gap:7px;
  appearance:none;
  padding:0 14px;
  border:1px solid var(--line-strong);
  border-radius:11px;
  background:#fff;
  color:#587078;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
  transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.msl-db-all-link:hover{transform:translateY(-1px);border-color:#9ee4ed;background:#f5fdfe;color:#138ea0;box-shadow:0 7px 18px rgba(35,91,101,.06)}
.msl-db-all-link .dashicons{width:16px;height:16px;font-size:16px}

.msl-db-area-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.msl-db-area-card{
  position:relative;
  display:flex;
  min-height:188px;
  flex-direction:column;
  appearance:none;
  padding:16px;
  overflow:hidden;
  border:1px solid #d9e9ec;
  border-radius:18px;
  background:#fff;
  color:var(--text);
  text-align:left;
  cursor:pointer;
  box-shadow:0 3px 12px rgba(35,91,101,.03);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.msl-db-area-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:transparent;transition:background .18s ease}
.msl-db-area-card:hover{transform:translateY(-3px);border-color:#aee7ef;box-shadow:0 14px 30px rgba(35,91,101,.09)}
.msl-db-area-card:focus-visible{outline:3px solid rgba(46,210,232,.22);outline-offset:2px}
.msl-db-area-card.is-active{border-color:var(--msl);background:linear-gradient(180deg,#effdff 0%,#fff 75%);box-shadow:0 0 0 2px rgba(46,210,232,.11),0 14px 30px rgba(35,91,101,.08)}
.msl-db-area-card.is-active:before{background:var(--msl)}
.msl-db-area-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.msl-db-area-symbol{display:grid;width:42px;height:42px;place-items:center;border:1px solid #d6edf0;border-radius:12px;background:#f6fdfe;color:#148fa0;font-size:12px;font-weight:900;letter-spacing:.02em}
.msl-db-area-card[data-area="化学基礎"] .msl-db-area-symbol{border-color:#d5e8f4;background:#eff8fe;color:#3b7fa3}
.msl-db-area-card[data-area="理論化学"] .msl-db-area-symbol{border-color:#cdeff3;background:#ecfbfd;color:#159caf}
.msl-db-area-card[data-area="無機化学"] .msl-db-area-symbol{border-color:#dde2f7;background:#f3f5ff;color:#586ab5}
.msl-db-area-card[data-area="有機化学"] .msl-db-area-symbol{border-color:#f4dfca;background:#fff6ee;color:#b26b2b}
.msl-db-area-card[data-area="高分子化合物"] .msl-db-area-symbol{border-color:#e6dbf7;background:#f7f1ff;color:#7854b3}
.msl-db-area-card.is-active .msl-db-area-symbol{border-color:var(--msl);background:var(--msl);color:#fff;box-shadow:0 6px 14px rgba(46,210,232,.2)}
.msl-db-area-index{color:#a4b3b7;font-size:10px;font-weight:900;letter-spacing:.08em}
.msl-db-area-copy{display:flex;flex-direction:column;gap:7px;margin-top:14px}
.msl-db-area-copy strong{color:var(--ink);font-size:16px;line-height:1.35}
.msl-db-area-copy small{color:#7b8e93;font-size:11px;line-height:1.6}
.msl-db-area-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:16px}
.msl-db-area-count{display:flex;align-items:baseline;gap:2px;color:#159caf;font-size:19px;font-weight:900}
.msl-db-area-count small{color:#8da0a5;font-size:10px}
.msl-db-area-select{display:inline-flex;min-height:30px;align-items:center;justify-content:center;gap:5px;padding:0 9px;border:1px solid #e0ecee;border-radius:999px;background:#f8fbfc;color:#70858a;font-size:10px;font-weight:800;transition:.18s ease}
.msl-db-area-select-active{display:none}
.msl-db-area-card.is-active .msl-db-area-select{border-color:var(--msl);background:var(--msl);color:#fff}
.msl-db-area-card.is-active .msl-db-area-select-default{display:none}
.msl-db-area-card.is-active .msl-db-area-select-active{display:inline}
.msl-db-area-arrow{font-size:13px;line-height:1}

.msl-db-search-panel{padding:24px;border:1px solid #dcebee;border-radius:22px;background:#fff;box-shadow:0 10px 34px rgba(34,84,94,.055)}
.msl-db-section-head-search{margin-bottom:18px}
.msl-db-current-path{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.msl-db-current-path span{padding:5px 9px;border-radius:999px;background:#f1f8f9;color:#60747a;font-size:11px;font-weight:700}
.msl-db-current-path i{color:#a1b1b5;font-style:normal}
.msl-db-core-filters{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.msl-db-field{display:block;margin:0!important;padding:15px;border:1px solid #dce9ec;border-radius:15px;background:#fbfeff;transition:border-color .18s ease,box-shadow .18s ease}
.msl-db-field:focus-within{border-color:#b8e9ef;box-shadow:0 0 0 3px rgba(46,210,232,.07)}
.msl-db-field-label{display:flex;align-items:center;justify-content:flex-start;gap:10px;margin-bottom:10px}
.msl-db-field-label>span:last-child{display:flex;min-width:0;flex-direction:column}
.msl-db-field-label b{color:#425a60;font-size:13px;line-height:1.3}
.msl-db-field-label small{margin-top:2px;color:#91a0a4;font-size:10px}
.msl-db-field-step{display:grid;width:28px;height:28px;flex:0 0 28px;place-items:center;border-radius:9px;background:#e8fafc;color:#159caf;font-size:11px;font-weight:900}
.msl-db-field select,.msl-db-advanced select{width:100%!important;height:46px!important;margin:0!important;padding:0 38px 0 12px!important;border:1px solid #d1e1e4!important;border-radius:10px!important;background-color:#fff!important;color:#3f565c!important;box-shadow:none!important}
.msl-db-field select:focus,.msl-db-advanced select:focus,.msl-db-keyword input:focus{outline:0;border-color:var(--msl)!important;box-shadow:0 0 0 3px rgba(46,210,232,.12)!important}

.msl-db-keyword{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:14px}
.msl-db-keyword>.dashicons{position:absolute;z-index:1;top:16px;left:15px;color:#769095}
.msl-db-keyword input{width:100%!important;height:52px!important;margin:0!important;padding:0 14px 0 44px!important;border:1px solid #d1e1e4!important;border-radius:13px!important;background:#fff!important;color:#385056!important;font-size:14px!important;box-shadow:none!important}
.msl-db-primary{
  display:inline-flex;
  min-width:190px;
  min-height:52px;
  align-items:center;
  justify-content:center;
  gap:8px;
  appearance:none;
  padding:0 20px;
  border:1px solid var(--msl);
  border-radius:13px;
  background:linear-gradient(180deg,#35d7ec,var(--msl));
  color:#fff;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 9px 20px rgba(46,210,232,.23);
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
}
.msl-db-primary:hover{transform:translateY(-1px);background:linear-gradient(180deg,#2bcadd,var(--msl-strong));box-shadow:0 12px 24px rgba(46,210,232,.29)}
.msl-db-primary:active{transform:translateY(0);box-shadow:0 5px 12px rgba(46,210,232,.2)}
.msl-db-primary .dashicons{width:18px;height:18px;font-size:18px}

.msl-db-advanced{margin-top:13px;border:1px solid #e2ecee;border-radius:13px;background:#fbfefe;overflow:hidden}
.msl-db-advanced summary{display:flex;min-height:58px;align-items:center;gap:10px;padding:10px 13px;color:#5b7076;cursor:pointer;list-style:none;transition:background .18s ease}
.msl-db-advanced summary:hover{background:#f5fcfd}
.msl-db-advanced summary::-webkit-details-marker{display:none}
.msl-db-detail-icon{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border-radius:10px;background:#eafafb;color:#168fa0}
.msl-db-detail-icon .dashicons{width:17px;height:17px;font-size:17px}
.msl-db-detail-copy{display:flex;min-width:0;flex:1;flex-direction:column}
.msl-db-detail-copy b{color:#4d646a;font-size:12px}
.msl-db-detail-copy small{margin-top:1px;color:#95a4a8;font-size:10px;font-weight:500}
.msl-db-detail-toggle{display:grid;width:28px;height:28px;place-items:center;border:1px solid #dce9eb;border-radius:50%;background:#fff;color:#74898e;font-size:17px;line-height:1;transition:transform .2s ease,background .2s ease}
.msl-db-advanced[open] .msl-db-detail-toggle{transform:rotate(45deg);border-color:#bfeaf0;background:#effbfc;color:#1392a4}
.msl-db-advanced-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:4px 13px 14px}
.msl-db-advanced-grid label{display:block;margin:0!important}
.msl-db-advanced-grid label>span{display:block;margin:0 0 5px;color:#72858a;font-size:11px;font-weight:700}

.msl-db-filter-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid #edf3f4}
.msl-db-active-filters{display:flex;gap:6px;flex-wrap:wrap}
.msl-db-filter-chip{display:inline-flex;align-items:center;min-height:27px;padding:4px 9px;border:1px solid #cceef2;border-radius:999px;background:#eafafb;color:#178fa0;font-size:10px;font-weight:800}
.msl-db-filter-empty{color:#9aa8ab;font-size:11px}
.msl-db-reset{display:inline-flex;min-height:38px;align-items:center;justify-content:center;gap:6px;appearance:none;padding:0 11px;border:1px solid #dce7e9;border-radius:10px;background:#fff;color:#71858a;font-size:11px;font-weight:800;cursor:pointer;transition:.16s ease}
.msl-db-reset:hover{border-color:#c6dade;background:#f7fbfc;color:#536c72}
.msl-db-reset .dashicons{width:15px;height:15px;font-size:15px}

.msl-db-result-head{margin-top:4px}
.msl-db-result-head p{display:flex;align-items:baseline;gap:4px;margin:0;color:#7c8d91;font-size:12px}
.msl-db-result-head strong{color:var(--ink);font-size:20px}
.msl-db-table-wrap{overflow:auto;border:1px solid #dfecef;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(38,84,93,.05)}
.msl-db-table{width:100%;margin:0!important;border-collapse:collapse!important;background:#fff!important;font-size:13px!important}
.msl-db-table th{padding:12px 14px!important;border:0!important;border-bottom:1px solid #dcebee!important;background:#f6fbfc!important;color:#53696f!important;font-size:11px!important;font-weight:900!important;text-align:left!important;white-space:nowrap}
.msl-db-table td{padding:14px!important;border:0!important;border-bottom:1px solid #edf3f4!important;background:#fff!important;vertical-align:middle!important}
.msl-db-table tr:last-child td{border-bottom:0!important}
.msl-db-table tr:hover td{background:#fbfeff!important}
.msl-db-table strong{display:block;color:#344b50;font-size:12px}
.msl-db-table small{display:block;margin-top:3px;color:#89979a;font-size:10px}
.msl-db-area-pill{display:inline-block;padding:5px 9px;border-radius:999px;background:#e9fafc;color:#159caf;font-size:10px;font-weight:900;white-space:nowrap}
.msl-db-area-pill[data-kind="化学基礎"]{background:#edf8ff;color:#3b7fa3}
.msl-db-area-pill[data-kind="理論化学"]{background:#e9fafc;color:#159caf}
.msl-db-area-pill[data-kind="無機化学"]{background:#f2f5ff;color:#586ab5}
.msl-db-area-pill[data-kind="有機化学"]{background:#fff5ec;color:#b26b2b}
.msl-db-area-pill[data-kind="高分子化合物"]{background:#f5efff;color:#7854b3}
.msl-db-stars{color:#f1ad2f;font-size:12px;letter-spacing:.5px;white-space:nowrap}
.msl-db-stars span{color:#ccd6d8}
.msl-db-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.msl-db-link{display:inline-flex;min-height:38px;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border:1px solid #cfe4e8;border-radius:10px;background:#fff;color:#536e74!important;text-decoration:none!important;font-size:10px;font-weight:900;white-space:nowrap;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,background .15s ease}
.msl-db-link.primary{border-color:var(--msl);background:var(--msl);color:#fff!important;box-shadow:0 6px 15px rgba(46,210,232,.18)}
.msl-db-link:hover{transform:translateY(-1px);border-color:#aee2e9;box-shadow:0 7px 16px rgba(38,84,93,.07)}
.msl-db-link.primary:hover{border-color:var(--msl-strong);background:var(--msl-strong)}
.msl-db-link .dashicons{width:15px;height:15px;font-size:15px}
.msl-db-link-arrow{margin-left:1px;font-size:12px}
.msl-db-muted{color:#9aa8ab;font-size:10px}

.msl-db-mobile-list{display:none}
.msl-db-card{padding:16px;border:1px solid #dcebee;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(38,84,93,.05)}
.msl-db-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.msl-db-card h4{margin:12px 0 4px!important;padding:0!important;border:0!important;color:#304a50!important;font-size:16px!important;line-height:1.45!important}
.msl-db-breadcrumb{margin:0!important;color:#809196!important;font-size:10px!important}
.msl-db-card-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}
.msl-db-card-meta span{padding:9px;border-radius:10px;background:#f7fbfc;color:#60757b;font-size:10px}
.msl-db-card-meta b{display:block;margin-bottom:2px;color:#94a2a6;font-size:9px}
.msl-db-card .msl-db-actions{margin-top:12px}
.msl-db-card .msl-db-link{min-height:42px;flex:1;font-size:11px}

.msl-db-pagination{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:18px;flex-wrap:wrap}
.msl-db-pagination button{display:grid;min-width:38px;height:38px;place-items:center;appearance:none;padding:0 9px;border:1px solid #d8e7e9;border-radius:10px;background:#fff;color:#60777d;font-size:12px;font-weight:800;cursor:pointer;transition:.15s ease}
.msl-db-pagination button:hover{border-color:#b6e7ed;background:#f5fdfe;color:#159caf}
.msl-db-pagination button.is-current{border-color:var(--msl);background:var(--msl);color:#fff;box-shadow:0 6px 14px rgba(46,210,232,.2)}

.msl-db-loading,.msl-db-empty{display:flex;min-height:180px;align-items:center;justify-content:center;flex-direction:column;padding:28px;border:1px dashed #d8e8ea;border-radius:18px;background:#fbfefe;color:#7a8d92;text-align:center}
.msl-db-loading{gap:10px;font-size:12px}
.msl-db-loading>span{width:27px;height:27px;border:3px solid #d9f4f7;border-top-color:var(--msl);border-radius:50%;animation:msl-spin .8s linear infinite}
@keyframes msl-spin{to{transform:rotate(360deg)}}
.msl-db-empty-icon{display:grid;width:42px;height:42px;place-items:center;margin-bottom:10px;border-radius:50%;background:#eafafb;color:#159caf;font-size:20px;font-weight:900}
.msl-db-empty strong{color:#40585e;font-size:15px}
.msl-db-empty p{margin:5px 0 12px!important;color:#87979b!important;font-size:11px!important}
.msl-db-empty button{min-height:38px;padding:0 13px;border:1px solid #cce7ea;border-radius:10px;background:#fff;color:#168fa0;font-size:11px;font-weight:800;cursor:pointer}

@media(max-width:1060px){
  .msl-db-area-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .msl-db-area-card:nth-child(4),.msl-db-area-card:nth-child(5){min-height:168px}
  .msl-db-advanced-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:820px){
  .msl-db{margin:18px auto 38px}
  .msl-db-hero{grid-template-columns:1fr;padding:28px 24px;border-radius:20px}
  .msl-db-hero h2{font-size:28px!important}
  .msl-db-area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .msl-db-area-card{min-height:166px}
  .msl-db-area-card:last-child{grid-column:1/-1;min-height:150px}
  .msl-db-core-filters{grid-template-columns:1fr}
  .msl-db-advanced-grid{grid-template-columns:1fr 1fr}
  .msl-db-table-wrap{display:none}
  .msl-db-mobile-list{display:grid;gap:10px}
}
@media(max-width:600px){
  .msl-db{margin-top:12px}
  .msl-db-hero{padding:23px 18px}
  .msl-db-hero h2{font-size:24px!important}
  .msl-db-hero p{font-size:12px}
  .msl-db-hero-guide{gap:4px;padding:14px 8px}
  .msl-db-hero-guide span{min-width:56px;font-size:10px}
  .msl-db-hero-guide b{width:30px;height:30px}
  .msl-db-section-head,.msl-db-result-head{align-items:flex-start}
  .msl-db-section-head h3,.msl-db-result-head h3{font-size:17px!important}
  .msl-db-all-link{min-height:36px;padding:0 10px;font-size:10px}
  .msl-db-area-grid{gap:8px}
  .msl-db-area-card{min-height:154px;padding:13px;border-radius:15px}
  .msl-db-area-card:last-child{min-height:140px}
  .msl-db-area-symbol{width:36px;height:36px;border-radius:10px;font-size:10px}
  .msl-db-area-copy{margin-top:11px;gap:5px}
  .msl-db-area-copy strong{font-size:14px}
  .msl-db-area-copy small{font-size:9px;line-height:1.5}
  .msl-db-area-bottom{padding-top:11px}
  .msl-db-area-count{font-size:16px}
  .msl-db-area-select{min-height:27px;padding:0 7px;font-size:9px}
  .msl-db-search-panel{padding:17px;border-radius:18px}
  .msl-db-section-head-search{display:block}
  .msl-db-current-path{justify-content:flex-start;margin-top:10px}
  .msl-db-field{padding:12px}
  .msl-db-keyword{grid-template-columns:1fr}
  .msl-db-keyword input{height:49px!important}
  .msl-db-primary{width:100%;min-width:0;min-height:49px}
  .msl-db-advanced-grid{grid-template-columns:1fr}
  .msl-db-filter-footer{align-items:flex-start;flex-direction:column}
  .msl-db-reset{width:100%}
  .msl-db-card-meta{grid-template-columns:1fr}
  .msl-db-card .msl-db-actions{display:grid;grid-template-columns:1fr}
}
