:root{
  --main:#0086cf;
  --main-dark:#00659b;
  --main-deep:#0a3a5c;
  --main-tint:#eaf5fb;
  --line:#c9dfec;
  --text:#1e2a33;
  --sub:#52626e;
  --bg:#ffffff;
  --warn:#8a5a00;
  --warn-bg:#fdf6e6;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic Medium","Meiryo",sans-serif;
  font-size:16px;line-height:1.9;-webkit-text-size-adjust:100%;
}
a{color:var(--main-dark)}
a:focus-visible,.btn:focus-visible{outline:3px solid #ffb800;outline-offset:3px}

/* ヘッダー（ページタイトル） */
.site-header{background:var(--main-tint);border-top:6px solid var(--main);border-bottom:1px solid var(--line)}
.site-header .in{max-width:1080px;margin:0 auto;padding:34px 20px}
h1{
  margin:0;font-size:28px;line-height:1.5;font-weight:700;color:var(--main-deep);
  text-align:center;
}

/* 本文 */
main{max-width:880px;margin:0 auto;padding:40px 20px 72px}
main p{margin:0 0 1.6em}
.fn-mark{font-size:.8em;vertical-align:super;line-height:0}
.fn-mark a{text-decoration:none;font-weight:700}

/* 申込先・様式DL（枠なし・センタリング） */
.apply{margin:8px 0 36px;text-align:center}
.apply p{margin:0 0 .9em}
.mail{
  display:inline-block;font-weight:500;font-size:16px;letter-spacing:.02em;
  background:var(--main-tint);padding:2px 12px;border-radius:4px;word-break:break-all;
}
.btn{
  display:inline-flex;align-items:center;gap:10px;margin-top:6px;
  background:var(--main);color:#fff;text-decoration:none;font-weight:700;font-size:17px;
  padding:14px 28px;border-radius:4px;border-bottom:4px solid var(--main-dark);
  transition:background .15s;
}
.btn:hover{background:var(--main-dark)}
.btn svg{width:20px;height:20px;flex:none}

/* 条件 */
.cond{
  background:var(--warn-bg);border:1px solid #ecd9a8;border-left:6px solid #d79a00;
  border-radius:4px;padding:20px 24px;margin:0 0 36px;
}
.cond>p{margin:0 0 .6em;font-weight:700;color:var(--warn)}
.cond ul{margin:0;padding:0;list-style:none}
.cond li{position:relative;padding-left:1.2em;margin:0 0 .7em}
.cond li:last-child{margin:0}
.cond li::before{content:"";position:absolute;left:0;top:.8em;width:7px;height:7px;border-radius:50%;background:#d79a00}

/* 他の共同研究 */
.other{border-top:1px solid var(--line);padding-top:28px;margin-bottom:36px}
.other p{margin:0}

/* 個人情報の取扱い */
.privacy{
  background:#f4f7f9;border:1px solid #dbe4ea;border-radius:4px;padding:18px 22px;
  font-size:14px;line-height:1.85;color:var(--sub);
}
.privacy p{margin:0}
.privacy .mk{font-weight:700;color:var(--main-dark);margin-right:.3em}

/* 戻るボタン */
.back{text-align:center;padding:0 20px 48px}
.btn-back{
  display:inline-flex;align-items:center;gap:10px;
  background:#fff;color:var(--main-dark);text-decoration:none;font-weight:700;font-size:16px;
  padding:12px 28px;border:2px solid var(--main);border-radius:4px;transition:background .15s,color .15s;
}
.btn-back:hover{background:var(--main);color:#fff}
.btn-back:focus-visible{outline:3px solid #ffb800;outline-offset:3px}
.btn-back svg{width:18px;height:18px;flex:none}

/* フッター */
footer{background:var(--main-deep);color:#fff;font-size:13px;text-align:center}
footer .in{max-width:1080px;margin:0 auto;padding:26px 20px;line-height:1.7}
footer small{display:block;margin-top:10px;color:#b8d3e5}

@media (max-width:640px){
  body{font-size:15px}
  h1{font-size:21px}
  .site-header .in{padding:24px 16px}
  main{padding:28px 16px 56px}
  .cond{padding:18px 16px}
  .mail{font-size:16px}
  .btn{display:flex;justify-content:center;width:100%}
  .btn-back{display:flex;justify-content:center;width:100%;max-width:360px;margin:0 auto}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
