@charset "UTF-8";
/* 共通ヘッダー・フッター。採用ページの scholarum-shell で有効化する。 */
body.scholarum-shell { --site-header-height:48px; }
body.scholarum-shell > header.site-header,
body.scholarum-shell > footer.site-footer {
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  font-size:16px; line-height:1.65;
}
body.scholarum-shell > header.site-header *,
body.scholarum-shell > footer.site-footer * { box-sizing:border-box; }
body.scholarum-shell > header.site-header {
  position:fixed; inset:0 0 auto; z-index:100; width:100%;
  background:#0168b7; color:#fff; border:0; box-shadow:none;
}
body.scholarum-shell > header.site-header > .container {
  display:flex; align-items:center; justify-content:space-between;
  max-width:1200px; min-height:var(--site-header-height); margin:0 auto; padding:0 24px;
}
body.scholarum-shell .site-header .headA {
  display:flex; align-items:center; gap:10px; padding:7px 0;
  background:none; color:#fff; text-decoration:none; line-height:1;
}
body.scholarum-shell .site-header .headA img {
  display:block; width:100px; height:auto; padding:3px; background:#fff; border-radius:3px;
}
body.scholarum-shell .site-header .brand-name { font-size:15px; font-weight:700; white-space:nowrap; }
body.scholarum-shell .site-header .headB { display:block !important; }
body.scholarum-shell .site-header .headB ul { display:flex; margin:0; padding:0; list-style:none; }
body.scholarum-shell .site-header .headB a {
  display:block; padding:14px 9px; color:#fff; font-size:12px; font-weight:600; text-decoration:none;
}
body.scholarum-shell .site-header .headB a:hover { background:#005a9e; color:#fff; }
body.scholarum-shell .site-header .header-trial { display:flex; align-items:center; align-self:center; }
body.scholarum-shell .site-header .header-trial a {
  display:inline-flex; align-items:center; justify-content:center;
  padding:7px 14px; margin-left:8px; border-radius:24px; background:#d98b64; color:#102f52;
}
body.scholarum-shell .site-header .headC {
  display:none; min-width:44px; min-height:48px; padding:0; margin:0;
  border:0; background:none; color:#fff; opacity:1; font-size:28px; cursor:pointer;
}
body.scholarum-shell .site-header .headC .fas::before { content:"☰"; font-family:sans-serif; }
body.scholarum-shell .site-header .headC:hover { opacity:.8; }
body.scholarum-shell .site-header :focus-visible,
body.scholarum-shell .site-footer :focus-visible { outline:3px solid #fff; outline-offset:3px; }
/* 本文の先頭位置だけを固定ヘッダーの高さと合わせる。本文の書式は変更しない。 */
body.scholarum-shell.nohero > header.site-header + main { margin-top:var(--site-header-height); }
body.scholarum-shell > footer.site-footer { background:#26343d; color:#fff; }
body.scholarum-shell > footer.site-footer > .container {
  display:flex; flex-wrap:wrap; max-width:1000px; margin:0 auto; padding:40px 20px;
}
body.scholarum-shell .site-footer .footA { flex:0 0 40%; margin-bottom:30px; }
body.scholarum-shell .site-footer .footA img { width:250px; max-width:100%; height:auto; }
body.scholarum-shell .site-footer .footA p { margin:0; font-size:14px; }
body.scholarum-shell .site-footer a { color:#fff; text-decoration:none; }
body.scholarum-shell .site-footer .footB { display:flex; flex:0 0 60%; }
body.scholarum-shell .site-footer .footB div { flex:1; margin-bottom:20px; }
body.scholarum-shell .site-footer .footB div:not(:first-child) { margin-left:40px; }
body.scholarum-shell .site-footer .footB h3 { margin:0 0 10px; border-bottom:1px solid currentColor; font-size:14px; }
body.scholarum-shell .site-footer ul { margin:0; padding:0; list-style:none; }
body.scholarum-shell .site-footer .footB a { display:block; padding:5px; font-size:12px; }
body.scholarum-shell .site-footer .footB a:hover,
body.scholarum-shell .site-footer .footD a:hover { background:rgba(0,0,0,.3); }
body.scholarum-shell .site-footer .footC { flex:0 0 100%; font:12px/1.65 sans-serif; text-align:center; }
body.scholarum-shell .site-footer .footD { margin-top:20px; }
body.scholarum-shell .site-footer .footD ul { display:flex; }
body.scholarum-shell .site-footer .footD a {
  display:flex; align-items:center; justify-content:center; width:34px; height:34px;
  margin-right:8px; padding:0; border:1px solid currentColor; border-radius:50%; font-size:16px;
}
body.scholarum-shell .site-footer .footD svg { display:block; width:18px; height:18px; }
@media (min-width:850px) and (max-width:1050px) {
  body.scholarum-shell .site-header .brand-name { font-size:12px; }
  body.scholarum-shell .site-header .headA img { width:70px; }
  body.scholarum-shell .site-header .headB a { font-size:10px; padding-left:6px; padding-right:6px; }
}
@media (max-width:849px) {
  body.scholarum-shell > header.site-header > .container { display:block; }
  body.scholarum-shell .site-header .container-small {
    display:flex; align-items:center; justify-content:space-between; min-height:var(--site-header-height);
  }
  body.scholarum-shell .site-header .headC { display:block; }
  body.scholarum-shell .site-header .headB { display:none !important; background:#0168b7; max-height:calc(100dvh - var(--site-header-height)); overflow-y:auto; }
  body.scholarum-shell .site-header .headB.is-open { display:block !important; }
  body.scholarum-shell .site-header .headB ul { display:block; }
  body.scholarum-shell .site-header .headB a { font-size:14px; padding:12px 20px; }
  body.scholarum-shell .site-header .header-trial { display:block; }
  body.scholarum-shell .site-header .header-trial a { display:block; margin:8px 16px; padding:9px 14px; }
}
@media (min-width:768px) and (max-width:849px) {
  body.scholarum-shell .site-header .brand-name { font-size:12px; }
  body.scholarum-shell .site-header .headA img { width:70px; }
}
@media (max-width:767px) {
  body.scholarum-shell > header.site-header > .container { padding:0 18px; }
  body.scholarum-shell .site-header .headA { gap:7px; }
  body.scholarum-shell .site-header .headA img { width:65px; }
  body.scholarum-shell .site-header .brand-name { font-size:12px; }
  body.scholarum-shell .site-header .headB a { border-top:1px solid #eaf5fa; }
  body.scholarum-shell .site-header .header-trial a { padding:12px 20px; }
  body.scholarum-shell > footer.site-footer > .container { display:block; }
  body.scholarum-shell .site-footer .footB { display:block; }
  body.scholarum-shell .site-footer .footB div:not(:first-child) { margin-left:0; }
}
@media (max-width:359px) {
  body.scholarum-shell { --site-header-height:46px; }
  body.scholarum-shell .site-header .headA img { width:55px; }
  body.scholarum-shell .site-header .brand-name { font-size:10px; }
  body.scholarum-shell .site-header .headC { min-height:46px; }
}
