/*  #headlines
================================================== */
#headlines { padding: 0 0 90px; }

#headlines .inner ul li a div .tag { min-width: 100px; }

@media print, screen and (min-width: 768px) { #headlines .inner ul li a .caption { font-size: 1.5rem; padding-top: 8px; } }

@media screen and (max-width: 767px) { #headlines { padding: 23px 0 0; }
  #headlines .inner h2 { margin: 0 0 66px; }
  #headlines .inner ul { margin: 0 -30px; }
  #headlines .inner ul .slick-slide { margin: 0 10px; }
  #headlines .inner ul li a .caption { height: 85px !important; min-height: 85px; font-size: 1.3rem; line-height: 1.54; }
  #headlines .inner ul li a div .tag { min-width: 84px; font-size: 1rem; }
  #headlines .inner ul .slick-dots { margin: 9px 0 0; }
  #headlines .inner .btn { margin: 30px 0 0; } }

/*  #topics
================================================== */
#topics { padding-bottom: 180px; }

#topics .inner h2 { top: 42px; }

#topics .inner ul:after { bottom: -60px; }

#topics .inner ul li a p { padding: 8px 20px 45px; }

@media screen and (max-width: 767px) { #topics { padding: 0 0 35px 12px; }
  #topics::after { height: calc(100% + 50px); }
  #topics .ttl { padding-left: 4px; }
  #topics .inner h2 { margin: 0 0 100px; }
  #topics .inner ul:after { bottom: -52px; height: calc(100% + 94px + 52px); }
  #topics .inner ul li a { padding: 18px 15px 20px 15px; }
  #topics .inner ul li a:after { width: 30px; height: 2px; }
  #topics .inner ul li a time { margin-bottom: 0; font-size: 1.2rem; }
  #topics .inner ul li a figure { width: 27.5vw; height: 27.5vw; margin: 0 auto 8px; }
  #topics .inner ul li a p { padding: 6px 0 0; font-size: 1.3rem; line-height: 1.54; }
  #topics .inner .btn { margin-top: 30px; } }

/*  #exam
================================================== */
#exam ul li p { line-height: 1.36; }

#exam ul li p a { height: 220px; padding: 57px 0 21px; text-align: center; }

#exam ul li p a span { margin-top: 13px; font-size: 1.4rem; line-height: 1.43; }

#exam .label { margin-top: 7px; }

@media print, screen and (min-width: 768px) { #exam > p { bottom: 200px; } }

@media screen and (max-width: 767px) { #exam > p { margin-bottom: 23px; font-size: 1.7rem; }
  #exam ul li p { font-size: 1.7rem; line-height: 1.18; }
  #exam ul li:first-child p { border-right: 1px solid #5c5baf; }
  #exam ul li p a { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; height: 140px; padding: 0 0 30px; }
  #exam ul li p a span { margin-top: 7px; font-size: 1.2rem; line-height: 1.25; }
  #exam .label { margin-top: 2px; }
  #exam ul li p a span br { display: block; }
  #exam ul li p a svg { bottom: 22px; }
  #exam ul li p a svg + svg { right: 14px; width: 12px; height: 12px; } }

/*  #news
================================================== */
#news { margin-top: 148px; margin-bottom: 47px; padding-top: 84px; }

#news h2 { margin-left: -157px; }

#news h2:before { width: 90px; height: 90px; bottom: -21px; }

#news h2:after { bottom: -28px; }

#news .box article > div h3 { padding-left: 180px; }

#news .tab + div { margin-top: 28px; }

#news .box article > div .tag { margin: 0; }

#news .box article > div .tag.important:after { background: #b40000; }

#news .box article > div .tag.important { color: #b40000; }

#news .box article > div .tag.important svg { fill: #b40000; }

@media screen and (max-width: 767px) { #news { margin-top: 0; margin-bottom: 0; padding-top: 5px; }
  #news .ttl { padding-left: 20px; }
  #news h2 { margin: 0 0 54px; }
  #news h2:before { width: 75px; height: 75px; }
  #news h2 span b { font-size: 2.6rem; line-height: 1.29; }
  #news h2:after { height: 14px; }
  #news.moving h2:after { width: 105px; }
  #news .tab + div { margin-top: 0; margin-left: 10px; }
  #news .box { padding: 0 0 30px; }
  #news .box article > div time { font-size: 1.2rem; }
  #news .box article > div .tag { font-size: 1.2rem; }
  #news .box article > div .tag svg { width: 14px; height: 14px; }
  #news .box article > div h3 { padding-left: 0; font-size: 1.3rem; line-height: 1.73; } }

/*  #special
================================================== */
#special { padding: 198px 0 115px; }

#special h2 { margin-left: -97px; }

@media screen and (max-width: 767px) { #special { padding: 46px 0 38px; }
  #special:after { top: 73px; height: 510px; }
  #special h2 { margin: 0 0 74px -9px; }
  #special .slideOuter { margin: 0 -17px; }
  #special .slider .slick-slide { margin: 0 10px; }
  #special .slider .slick-slide li a figure figcaption { font-size: 1.3rem; line-height: 1.54; } }

/*  #movie
================================================== */
#movie .inner { padding-top: 85px; }

#movie .inner h2 { top: 81px; }

#movie .inner h2:before { width: 90px; height: 90px; bottom: -21px; }

#movie .inner h2:after { bottom: -27px; width: 100px; height: 14px; }

#movie .inner .more a { padding-top: 34px; }

@media screen and (max-width: 767px) { #movie { padding-top: 0; }
  #movie .inner { padding: 0 20px 50px; }
  #movie .ttl { padding-left: 10px; }
  #movie .inner h2 { top: 45px; margin: 0 0 76px; }
  #movie .inner h2:before { width: 52px; height: 52px; bottom: -8px; }
  #movie .inner h2:after { bottom: -14px; width: 74px; }
  #movie .inner h2 span b { font-size: 2.8rem; }
  #movie .inner .ttl + p { font-size: 1.3rem; line-height: 1.73; }
  #movie .inner .more { margin-top: 17px; }
  #movie .inner .more a { height: 80px; padding-top: 11px; font-size: 1.4rem; }
  #movie .inner .more a svg { bottom: 13px; }
  #movie .inner .more a svg + svg { bottom: 9px; right: 9px; width: 12px; height: 12px; } }

/*  #about
================================================== */
#about { padding: 80px 0 70px; }

#about h2 { top: 13px; }

#about h2:before { width: 90px; height: 90px; bottom: -21px; }

#about h2:after { bottom: -28px; }

#about .cate li a { padding-bottom: 16px; font-size: 1.5rem; line-height: 1.47; }

#about .cate li:nth-child(3) a { padding-bottom: 20px; }

#about .cate li:nth-child(4) a, #about .cate li:nth-child(6) a { line-height: 1.47; padding-bottom: 24px; }

@media screen and (max-width: 767px) { #about { padding: 35px 0 56px; }
  #about h2 { margin: 0 0 50px; }
  #about h2 span b { font-size: 2.8rem; }
  #about h2:before { bottom: -9px; width: 54px; height: 54px; }
  #about h2:after { bottom: -18px; }
  #about.moving h2:after { width: 76px; }
  #about .cate:after { top: -54px; height: calc(100% + 82px); }
  #about .cate li:nth-child(n+3) { margin-top: 3vw; }
  #about .cate li a { padding-bottom: 13px; font-size: 1.4rem; line-height: 1.48; }
  #about .cate li:nth-child(3) a { padding-bottom: 13px; }
  #about .cate li a svg { bottom: 29px; margin-left: -18px; }
  #about .cate li:nth-child(4) a, #about .cate li:nth-child(6) a { padding-bottom: 13px; } }

@media screen and (max-width: 360px) { #about .cate li a { font-size: 1.1rem; } }

.ttl h2 span { letter-spacing: 0.07em; }

#importantNews > p { letter-spacing: 0.07em; }

@media screen and (max-width: 767px) { #importantNews > p { letter-spacing: 0.07em; } }

#exam ul li p a { letter-spacing: 0.083em; }

#exam ul li p a span { letter-spacing: 0.049em; }

#news .box article > div time { letter-spacing: 0.042em; }

#news .box article > div h3 a { letter-spacing: 0.028em; }

#news .important .box .ttl { letter-spacing: 0.07em; }

#news .calendar h3 { letter-spacing: 0.07em; }

#movie .inner .more a { letter-spacing: 0.105em; }

#about .cate li a { letter-spacing: 0.056em; }

#about .bnr li a figure figcaption { letter-spacing: 0.07em; }

.top footer .inner .info { letter-spacing: 0.056em; }

.top footer .inner .link li a { letter-spacing: 0.056em !important; }

.top footer .inner .btn li a { letter-spacing: 0.056em !important; }

@media screen and (min-width: 768px) {
#headlines .inner .slider li a .caption {
  font-size: 1.3rem;
}
#headlines .inner .slider li:nth-child(n + 4) .caption {
  padding: 7px 16px 15px;
}


}

