* {
  box-sizing:border-box
}
body {
  margin:0;
  background:#e7ebef;
  color:#1e2933;
  font:16px/1.8 "Noto Sans CJK SC",Arial,sans-serif
}
.cs-mast {
  display:flex;
  align-items:center;
  gap:25px;
  padding:17px max(18px,calc((100vw - 1160px)/2));
  background:#14283c;
  color:#fff;
  border-bottom:4px solid #ef7b28
}
.cs-mast>a {
  color:#ffb254;
  text-decoration:none;
  font-size:29px;
  font-weight:800
}
.cs-mast span {
  font-size:13px;
  letter-spacing:.08em
}
.cs-mast b {
  margin-left:auto;
  color:#b8ccdb;
  font-size:12px
}
.cs-nav {
  display:flex;
  overflow:auto;
  background:#d4dce3;
  padding:0 max(12px,calc((100vw - 1160px)/2));
  border-bottom:1px solid #b4c0ca
}
.cs-nav a {
  padding:11px 12px;
  white-space:nowrap;
  text-decoration:none;
  color:#193b55;
  font-size:13px
}
.cs-nav a:hover {
  background:#ef7b28;
  color:white
}
.cs-home,.cs-inner {
  max-width:1160px;
  margin:auto;
  padding:25px 20px 66px
}
.cs-hero {
  display:grid;
  grid-template-columns:1fr 145px;
  gap:26px;
  padding:30px 4%;
  background:#d3dfe8;
  border-left:8px solid #ef7b28
}
.cs-hero h1 {
  font-size:clamp(28px,4vw,42px);
  line-height:1.4
}
.cs-hero figure {
  margin:0;
  text-align:center;
  background:#f7f8f8;
  padding:14px
}
.cs-hero figure img {
  display:block;
  margin:5px auto
}
.cs-hero figcaption {
  font-size:11px;
  color:#62798a
}
.cs-home section {
  margin:40px 0
}
.cs-home small,.cs-inner>small {
  color:#d66519;
  font-size:11px;
  letter-spacing:.13em
}
.cs-feature {
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:14px
}
.cs-feature__lead {
  position:relative;
  padding:23px;
  background:#fff
}
.cs-feature__lead h2 {
  font-size:27px
}
.cs-feature__lead img {
  float:right;
  border-radius:50%;
  margin:0 5px 5px 16px
}
.cs-feature aside {
  padding:22px;
  background:#203c56;
  color:#f3f7f9
}
.cs-feature aside h3 {
  color:#ffb254
}
.cs-schedule {
  display:grid;
  grid-template-columns:245px 1fr;
  gap:20px;
  padding:22px 0;
  border-top:1px solid #9cabb7;
  border-bottom:1px solid #9cabb7
}
.cs-schedule ol {
  list-style:none;
  padding:0;
  margin:0
}
.cs-schedule li {
  display:grid;
  grid-template-columns:65px 60px 1fr 65px;
  gap:8px;
  padding:9px 8px;
  border-bottom:1px solid #c5cdd3
}
.cs-schedule time {
  color:#d66519;
  font-size:12px
}
.cs-schedule li small {
  color:#617080;
  text-align:right
}
.cs-preview {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px
}
.cs-preview article {
  padding:20px;
  background:#fff;
  border-top:4px solid #ef7b28
}
.cs-score {
  display:grid;
  grid-template-columns:1fr 1.1fr;
  align-items:center;
  gap:20px;
  padding:22px;
  background:#152f46;
  color:#fff
}
.cs-score h2 {
  font-size:25px
}
.cs-score strong {
  color:#ffc16f
}
.cs-score img {
  float:right;
  border-radius:50%
}
.cs-news {
  display:grid;
  grid-template-columns:235px 1fr;
  gap:20px
}
.cs-news>header {
  position:sticky;
  top:20px;
  align-self:start
}
.cs-story {
  padding:15px 19px;
  background:#fff;
  border-bottom:1px solid #c1cbd2
}
.cs-story:nth-child(1) {
  background:#d3dfe8;
  border-left:5px solid #ef7b28
}
.cs-story h3 {
  margin:0 0 5px
}
.cs-story a {
  color:#1e3447;
  text-decoration:none
}
.cs-story p {
  margin:.25em 0;
  font-size:14px
}
.cs-results {
  padding:22px;
  background:#f6f7f7
}
.cs-results>div {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px
}
.cs-results article {
  padding:16px;
  background:#e2e8ec;
  border-bottom:3px solid #7c96aa
}
.cs-insight {
  display:grid;
  grid-template-columns:2fr 3fr;
  gap:18px
}
.cs-insight__title {
  grid-row:span 2;
  padding:23px;
  background:#243c51;
  color:white
}
.cs-insight>div:last-child {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px
}
.cs-insight article {
  padding:17px;
  background:#fff
}
.cs-faq {
  max-width:920px;
  margin:44px auto
}
.cs-faq details {
  padding:13px 17px;
  margin:8px 0;
  background:#fff;
  border-left:3px solid #ef7b28
}
.cs-faq summary {
  font-weight:bold;
  cursor:pointer
}
.cs-inner {
  min-height:68vh
}
.cs-inner h1 {
  font-size:34px
}
.cs-inner>img {
  float:right;
  margin:0 0 18px 20px
}
.cs-inner h2 {
  clear:both;
  margin-top:32px
}
.cs-inner>ol {
  list-style:none;
  margin:20px 0;
  padding:0
}
.cs-inner>ol li {
  display:grid;
  grid-template-columns:65px 60px 1fr 65px;
  gap:8px;
  padding:10px;
  border-bottom:1px solid #c0cbd3
}
.cs-full-story {
  padding:20px 0;
  border-bottom:1px solid #bcc8d0
}
.cs-full-story h2 {
  font-size:21px
}
.cs-footer {
  padding:24px max(18px,calc((100vw - 1160px)/2));
  background:#14283c;
  color:#e0e8ed;
  font-size:12px
}
.cs-footer strong {
  display:block;
  margin:12px 0;
  color:#ffb254
}
.cs-footer a {
  color:#c8e0ef;
  margin-right:17px
}
@media(max-width:740px) {
  .cs-mast {
    padding:12px;
    gap:9px;
    flex-wrap:wrap
  }
  .cs-mast>a {
    font-size:24px
  }
  .cs-mast b {
    margin-left:0
  }
  .cs-nav a {
    padding:10px 9px
  }
  .cs-home,.cs-inner {
    padding:13px
  }
  .cs-hero,.cs-feature,.cs-schedule,.cs-score,.cs-news,.cs-insight {
    grid-template-columns:1fr;
    gap:11px
  }
  .cs-hero {
    padding:20px 14px
  }
  .cs-hero figure {
    justify-self:start
  }
  .cs-schedule li,.cs-inner>ol li {
    grid-template-columns:55px 48px 1fr
  }
  .cs-schedule li small,.cs-inner>ol li small {
    grid-column:2/-1
  }
  .cs-preview {
    grid-template-columns:1fr
  }
  .cs-news>header {
    position:static
  }
  .cs-results>div {
    grid-template-columns:1fr 1fr
  }
  .cs-insight__title {
    grid-row:auto
  }
  .cs-insight>div:last-child {
    grid-template-columns:1fr
  }
  .cs-score {
    display:block
  }
  .cs-footer {
    padding:20px 14px
  }
  .cs-inner>img {
    float:none;
    margin:15px 0
  }
}
