@charset "UTF-8";
/* ===========================
高校駅伝

0. common
1. トップページ
2. ニュース
3. 記事ページ
4. 出場校
5. 写真特集
6. 記録
40.lightbox（common_v3.css のコピー）
=========================== */

/* --------------------------
0. common
-------------------------- */
html {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-weight: 500;
  font-size: 14px;
}
a {
  text-decoration: none;
  color: #333;
}
a:hover {
  text-decoration: underline;
  color: #d6000e;
}
img {
  vertical-align: bottom;
}
.pc-none {
  display: none !important;
}
.textred {
  color: #d6000e;
}

/*ボタン*/
.button {
  display: inline-block;
}
.button.red-typeA,
.button.red-typeB {
  background-color: #d6000e;
  color: #fff;
  border: 1px solid #d6000e;
}
a.button.red-typeB:hover {
  background-color: #df3842;
  border-color: #df3842;
}
.button.black {
  background: #000;
  color: #fff;
}

/* thumbnail */
.thumb {
  position: relative;
}
.thumb::after,
.logo a::after,
.sponsors dd a::after,
.information-logo a::after {
  position: absolute;
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
}

/* column */
.copyright {
  font-size: 10px;
  color: #0070c3;
  padding: 0 0 20px;
}
.copyright time {
  color: #a3a3a3;
  margin-left: 10px;
}
.copyright .pr {
  color: #a3a3a3;
}
.copyright .pr::before {
  color: #0070c3;
  display: block;
  content: "PR";
  margin-bottom: 5px;
}
.column-ad {
  font-size: 10px;
  color: #a3a3a3;
}
.column-ad span {
  color: #0070c3;
  display: block;
  margin-bottom: 5px;
}

/* column2 */
.column2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.column2 a {
  display: block;
}
.column2.news-list li {
  border-top: solid 1px #000;
  position: relative;
  width: 454px;
}
.column2.news-list li:after {
  content: "";
  display: block;
  line-height: 0;
  overflow: hidden;
  position: absolute;
  left: 0;
  top: -1px;
  width: 68px;
  border-top: 1px solid #ff0000;
}
.column2.news-list li a {
  width: 454px;
  padding: 20px 0;
  position: relative;
  min-height: 142px;
  text-decoration: none;
}
.column2.news-list .thumb {
  width: 102px;
  border: 1px solid #e4e4e4;
  position: absolute;
  right: 0;
  top: 20px;
  max-height: 102px;
  overflow: hidden;
}
.column2.news-list .thumb img {
  width: 100%;
}
.column2 li a:hover .thumb img {
  opacity: 0.7;
}
.column2.news-list li a p {
  width: 330px;
}
.column2.news-list .copyright {
  padding-bottom: 0;
}
.column2.news-list .description {
  line-height: 1.85;
  padding-bottom: 20px;
}
.column2 li a:hover .description {
  text-decoration: underline;
}

/* column3 */
.column3 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.column3 li a {
  width: 316px;
  display: block;
  background: #fff;
  text-decoration: none;
  height: 100%;
  border: 1px solid #e4e4e4;
}
.column3 li a .thumb {
  max-height: 210px;
  overflow: hidden;
}
.column3 li a .thumb img {
  width: 100%;
}
.column3 li a:hover .thumb img {
  opacity: 0.7;
}
.column3 .cat-name {
  font-weight: bold;
  padding: 20px 20px 0;
}
.column3 li a:hover .cat-name {
  text-decoration: underline;
}
.column3 .description {
  font-size: 13px;
  padding: 20px;
  line-height: 1.85;
}
.column3 li a:hover .description {
  color: #d6000e;
  text-decoration: underline;
}
.column3 .copyright {
  padding: 0 20px 20px;
}

/* column4 */
.column4 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.column4 a {
  display: block;
  width: 207px;
}

/* container, box*/
.container {
  position: relative;
  background: #fff;
  display: flex;
  min-width: 1280px;
  background: url(../../images/pc/bg_pattern_pc.png) #f6f6f6 no-repeat top /contain;
}
.solid-box {
  width: 980px;
  margin: auto;
}
.main-wrapper {
  width: 100%;
  min-height: 100vh;
}

/* サイドバー */
.side-wrapper {
  width: 210px;
  min-width: 210px;
  flex-basis: 210px;
  border-left: 8px solid #d6000e;
  border-right: 1px solid #d4d4d4;
  left: 0;
  z-index: 3;
  background: #fff;
}
.side-container {
  width: 201px;
  z-index: 4;
  top: 25px;
  position: sticky;
}
.logo a {
  width: 120px;
  height: 138px;
  text-indent: 100%;
  overflow: hidden;
  white-space: nowrap;
  display: block;
  margin: 25px 40px 40px 41px;
  position: relative;
  background: url(../../images/pc/logo_ekiden.png) no-repeat center /contain;
}
.logo img {
  width: 100px;
}
.navi li a {
  height: 47px;
  line-height: 47px;
  font-weight: bold;
  display: block;
  padding: 0 15px;
  background-image: url(../../images/pc/arrow_right_red.svg);
  background-repeat: no-repeat;
  background-position: 180px center;
  background-size: 6px 10px;
}
.navi li a.active,
.navi li a:hover {
  background-color: #f4f4f4;
}
.navi-sub li a {
  padding: 0 15px 0 29px;
}

/* 上部バー */
.top-bar {
  height: 59px;
  display: flex;
}
.top-bar-whatsnew {
  flex-basis: auto;
  margin-right: auto;
  position: relative;
  padding-left: 80px;
  width: 730px;
  flex-basis: 730px;
  overflow: hidden;
}
.top-bar-whatsnew a {
  backface-visibility: hidden;
}
.top-bar-sns {
  flex-basis: 170px;
  display: flex;
  align-items: center;
  height: 100%;
}
.top-bar-sns a {
  display: block;
  height: 19px;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.top-bar-sns li + li {
  margin-left: 10px;
}
.ln a {
  background-image: url(../../images/pc/icon_sns_line.svg);
  width: 30px;
}
.fb a  {
  background-image: url(../../images/pc/icon_sns_facebook.svg);
  width: 22px;
}
.hb a {
  background-image: url(../../images/pc/icon_sns_hatena.svg);
  width: 30px;
}
.tw a  {
  background-image: url(../../images/pc/icon_sns_twitter.svg);
  width: 30px;
}
.top-bar-sns a:hover {
  opacity: 0.7;
}
.top-bar-link {
  flex-basis: 220px;
}
.top-bar-whatsnew li {
  padding-left: 80px;
  display: none;
}
.top-bar-whatsnew span {
  padding: 22px 10px;
  display: block;
  font-weight: bold;
}
.top-bar-whatsnew::before {
  border: 1px solid #f60010;
  content: "新着";
  display: inline-block;
  font-size: 12px;
  color: #f60010;
  margin-right: 10px;
  font-weight: normal;
  text-decoration: none;
  position: absolute;
  top: 16px;
  left: 15px;
  padding: 6px 19px;
}
.top-bar-link a {
  height: 59px;
  line-height: 57px;
  width: 100%;
  font-weight: bold;
  font-size: 16px;
  background: url(../../images/pc/arrow_right_white.svg) no-repeat 190px center /6px 10px;
  position: relative;
  padding-left: 55px;
}
.top-bar-link a:before {
  content: "";
  display: inline-block;
  width: 21px;
  height: 20px;
  background-image: url(../../images/pc/icon_school_white.svg);
  background-repeat: no-repeat;
  background-size: 21px;
  position: absolute;
  top: 19px;
  left: 20px;
}
.top-bar-link a:hover {
  background-color: #df3842;
  border-color: #df3842;
  text-decoration: none;
}

/* レース速報 */
.flash-bar {
  background: #000;
  padding: 7px 8px;
  color: #fff;
}
.flash-bar a {
  color: #fff;
  font-size: 11px;
}
.flash-bar-balloon {
  background: #f60010;
  padding: 6px 8px;
  font-size: 11px;
  display: inline-block;
  position: relative;
  margin-right: 20px;
}
.flash-bar-balloon:before {
  content: "レース速報";
}
.flash-bar-balloon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;
  margin-top: -4px;
  border: 4px solid transparent;
  border-left: 4px solid #f60010;
}
.flash-bar a::after {
  content: "詳細を見る";
  display: inline-block;
  margin-left: 20px;
  padding-right: 11px;
  background: url(../../images/pc/arrow_right_red.svg) no-repeat center right /6px;
}
.flash-bar a:hover::after {
  text-decoration: underline;
  padding-bottom:1px;
}

/* フッター */
footer {
  margin-top: 80px;
}
footer .sitemap {
  background: #666;
  padding: 32px 0;
  color: #d0d0d0;
}
footer .sitemap .solid-box {
  position: relative;
}
footer .sitemap h1 {
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  margin-top: 0;
}
.sitemap-menu {
  display: flex;
  justify-content: space-between;
  margin: 24px 0;
}
footer .sitemap a {
  color: #d0d0d0;
}
footer .sitemap dl {
  border-left: 1px solid #7f7f7f;
  padding: 0 14px;
  width: 100%;
}
footer .sitemap dt {
  font-size: 12px;
  font-weight: bold;
  margin-bottom: 16px;
}
footer .sitemap dd {
  font-size: 11px;
}
footer .sitemap dd li {
  margin-bottom: 8px;
  line-height: 1.3;
  position: relative;
}
footer .sitemap dd li a {
  display: block;
  margin-left: 10px;
}
footer .sitemap dd li::before {
  width: 6px;
  height: 15px;
  content: "";
  display: inline-block;
  background: url(../../images/pc/arrow_right_highLight.svg) no-repeat center;
  background-size: 6px;
  vertical-align: middle;
  margin-right: 10px;
  position: absolute;
  top: 0;
  left: 0;
}
footer .information {
  background: #fff;
  padding: 24px 0;
}
.sitemap-textL {
  font-size: 12px;
  font-weight: bold;
  margin-bottom: 15px;
}
.sitemap-textM {
  font-size: 11px;
  line-height: 1.6;
  margin-bottom: 15px;
}
.sitemap-textS,
.sitemap-copyright {
  font-size: 10px;
}
.sitemap-copyright {
  position: absolute;
  bottom: 0;
  right: 0;
}
footer .information .solid-box,
.information-box ul {
  display: flex;
  justify-content: space-between;
}
.information-logo {
  margin-right: 55px;
}
.information-logo a {
  width: 144px;
  display: block;
  position: relative;
}
.information-logo img {
  width: 100%;
}
.information-logo a:hover {
  opacity: 0.7;
}
.information-box ul {
  margin-bottom: 15px;
}
.information-box li a {
  font-size: 12px;
  display: inline-block;
}
.information-box li + li {
  border-left: 1px solid #3f3f3f;
  margin-left: 8px;
  padding-left: 8px;
}
.information-box-text {
  font-size: 10px;
  line-height: 1.8;
  margin-bottom: 15px;
}
.information-box-copyright {
  font-size: 9px;
  color: #999;
}

/*パンくず*/
.bread-crumb-wrapper {
  display: block;
  height: 11px;
}
.bread-crumb {
  margin: 32px 0;
  display: flex;
  justify-content: flex-end;
}
.bread-crumb li,
.bread-crumb a {
  font-size: 11px;
  display: block;
}
.bread-crumb a:hover {
  color: #d6000e;
  padding-bottom:1px;
}
.bread-crumb li + li {
  border-left: 1px solid #333;
  margin-left: 10px;
  padding-left: 10px;
  color: #d6000e;
}

/* 区切り線 */
.separator {
  position: relative;
}
.separator::before {
  content: "";
  width: 30px;
  height: 4px;
  background-color: #d6000e;
  position: absolute;
  top: 0;
  left: 0;
}
.separator::after {
  content: "";
  width: 30px;
  height: 4px;
  background-color: #000;
  position: absolute;
  top: 0;
  left: 30px;
}
h1.separator::before,
h1.separator::after{
  background-color: inherit;
}

/*構成系*/
.main-wrapper h1 {
  font-size: 40px;
  font-weight: bold;
  margin: 44px 0 24px;
}
.main-wrapper .lead {
  line-height: 1.7;
  margin-bottom: 24px;
}
.main-wrapper .lead a {
  text-decoration: underline;
  color: #d6000e;
}
h2.headline {
  margin: 80px 0 16px;
  font-size: 24px;
  font-weight: bold;
  border-bottom: 2px solid #000;
  position: relative;
  padding-bottom: 15px;
}
h2.headline::before {
  content: "";
  width: 190px;
  height: 2px;
  background-color: #d6000e;
  position: absolute;
  bottom: -2px;
  ;
  left: 0;
}

/* ファイルリンク */
.file-pdf,
.file-zip,
.file-unknown {
  display: block;
  height: 70px;
  line-height: 70px;
  color: #000;
  border-bottom: 3px solid #e9e9e9;
  padding: 0 68px;
  position: relative;
  background-color: #fff;
  background-position: 21px center;
  background-repeat: no-repeat;
  margin-top: 16px;
}
div.file-pdf,
div.file-zip,
div.file-unknown {
  background-color: #eee;
}
a.file-pdf:hover,
a.file-zip:hover,
a.file-unknown:hover {
  color: #d6000e;
}
.file-pdf::before,
.file-zip::before,
.file-unknown::before {
  display: inline-block;
  content: "";
  width: 4px;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background-color: #d6000e;
}
div.file-pdf::before,
div.file-zip::before,
div.file-unknown::before {
  background-color: #999;
}
.file-pdf + .pdf-box,
.file-zip + .pdf-box{
  margin-top: 40px;
}
.file-pdf {
  background-image: url(../../images/pc/icon_file_pdf.svg);
  background-size: 30px;
}
.file-zip {
  background-image: url(../../images/pc/icon_file_zip.svg);
  background-size: 30px;
}
a.file-pdf::after,
a.file-zip::after,
a.file-unknown:after {
  display: inline-block;
  content: "";
  width: 12px;
  height: 18px;
  position: absolute;
  right: 20px;
  top: calc(50% - 9px);
  background: url(../../images/pc/arrow_right_red.svg) #fff no-repeat center /9px 15px;
}

/* 主要3リンク */
.contents-links {
  margin-top: 80px;
}
.contents-links .cat-name {
  position: relative;
}
.contents-links .cat-name::after {
  content: "";
  width: 80px;
  height: 2px;
  background-color: #f20200;
  position: absolute;
  top: 0;
  left: 0;
}
.contents-links .cat-name::before {
  content: "";
  width: 23px;
  height: 25px;
  display: inline-block;
  background-repeat: no-repeat;
  margin-right: 20px;
  vertical-align: middle;
  background-size: contain;
}
.contents-link-time .cat-name::before {
  background-image: url(../../images/pc/icon_time.svg);
}
.contents-link-course .cat-name::before {
  background-image: url(../../images/pc/icon_course.svg);
}
.contents-link-document .cat-name::before {
  background-image: url(../../images/pc/icon_document.svg);
}
.contents-link-teams .cat-name::before {
  background-image: url(../../images/pc/icon_school_red.svg);
  width: 25px;
  margin-right: 18px;
}
.contents-links li a:hover .description {
  color: #333;
  text-decoration: none;
}

/*タブ切り替え*/
.tab-column2 {
  display: flex;
  border-bottom: 4px solid #d6000e;
  width: 100%;
  margin: 50px 0 24px;
}
.tab-column2 li {
  width: 50%;
  display: block;
  height: 57px;
  line-height: 57px;
  text-align: center;
  background: #fff;
  color: #a3a3a3;
  border-width: 1px 1px 0 1px;
  border-style: solid;
  border-color: #a3a3a3;
}
.tab-column2 li:hover,
.tab-column2 li a:hover {
  color: #d6000e;
  text-decoration: underline;
  cursor: pointer;
}
.tab-column2 li.column-select {
  background: #d6000e;
  color: #fff;
  border-color: #d6000e;
}
.tab-column2 li.column-select:hover {
  text-decoration: none;
  cursor: inherit;
}
.tab-column2_content {
  margin-bottom: 40px;
}
.tab-column2_content > li {
  border: 1px solid #e9e9e9;
  background-color: #fff;
  text-align: center;
}
.tab-column2_content > li img {
  max-width: 474px;
}
.tab-column2 li a {
  height: 100%;
  width: 100%;
  display: block;
  color: #a3a3a3;
}
.column-hide {
  display: none;
}

/* ボタン群 */
.file-list + .button-box {
  margin-top: -40px;
}
.button-box {
  display: flex;
  justify-content: space-between;
  margin: 40px 0 80px;
}
.button-box a {
  display: block;
  width: 478px;
  height: 70px;
  line-height: 70px;
  border: 1px solid #d6000e;
  border-radius: 8px;
  padding: 0 24px;
  background: url(../../images/pc/arrow_right_red.svg) #fff no-repeat 445px center /9px;
}

/* 横縞リスト */
.stripes-list {
  border-bottom: 1px solid #cecece;
}
.stripes-list li {
  border-top: 1px solid #cecece;
  border-left: 1px solid #cecece;
  border-right: 1px solid #cecece;
  height: 52px;
  line-height: 52px;
}
.stripes-list li:nth-child(2n) {
  background-color: #fff;
}
.stripes-list a {
  display: flex;
  padding: 0 30px 0 42px;
  height: 100%;
}
.stripes-list span:last-child {
  margin-left: auto;
}

/* --------------------------
1. トップページ
-------------------------- */
.cover-image {
  height: 450px;
  width: 100%;
  position: relative;
  background-repeat: no-repeat;
  background: url(../../images/pc/cover_top.png) no-repeat top /cover;
  border-bottom: 4px solid #d6000e;
}
.cover-image-buttons {
  position: absolute;
  right: 20px;
  bottom: 36px;
  text-align: right;
}
.cover-image-buttons .button {
  font-weight: bold;
  text-align: left;
  padding: 10px 20px;
}
.cover-image-buttons:hover a.button {
  text-decoration: underline;
}
.cover-image-buttons:hover a.button.red-typeB {
  background-color: #df3842;
  border-color: #df3842;
}
.cover-image-buttons .red-typeB {
  margin-bottom: 8px;
  font-size: 32px;
  line-height: 1.3;
}
.cover-image-buttons .black {
  position: relative;
  line-height: 1.7;
}
.cover-image-buttons:hover a.black {
  background-color: #333;
}

/*スポンサー*/
.sponsors {
  background: #fff;
  padding: 12px 0;
}
.sponsors .solid-box {
  display: flex;
}
.sponsors dl {
  display: flex;
  align-items: center;
  height: 60px;
}
.sponsors dt {
  font-size: 10px;
  align-self: flex-start;
}
.sponsors dl.special {
  margin-right: 10px;
}
.sponsors .special dt {
  color: #d6000e;
}
.sponsors .special dd {
  margin: 0;
}
.sponsors dd {
  display: inline-block;
}
.sponsors dd img {
  height: 36px;
}
.sponsors dd a {
  display: inline-block;
  padding: 0 20px;
  position: relative;
}
.sponsors dd a:hover {
  opacity: 0.7;
}
.sponsors + .solid-box .contents-links {
  margin-top: 48px;
}

/* トップページのニュース */
.news-top {
  margin-top: 40px;
  margin-bottom: 80px;
}
.news-top h1 {
  font-size: 20px;
  color: #000a12;
  font-weight: bold;
  margin-bottom: 22px;
}
.news-top nav {
  height: 45px;
  border-bottom: 2px solid #ba000c;
  display: flex;
  margin-bottom: 32px;
}
.news-top-tab {
  display: inline-block;
  width: 90px;
  height: 43px;
  line-height: 43px;
  text-align: center;
}
span.news-top-tab {
  background-color: #ba000c;
  ;
  color: #fff;
  font-weight: bold;
}
a.news-top-tab {
  background-color: #fff;
  ;
  color: #a3a3a3;
  border: 1px solid #a3a3a3;
}
a.news-top-tab:hover {
  color: #ba000c;
  ;
}
.news-top-select {
  font-size: 10px;
  color: #000;
  margin-left: 17px;
  height: 43px;
  line-height: 43px;
}
.news-top-select::before {
  content: "";
  display: inline-block;
  background: url(../../images/pc/icon_placeholder.svg) no-repeat;
  background-size: 14px;
  margin-right: 7px;
  vertical-align: middle;
  width: 14px;
  height: 20px;
}
.news-top .column2 {
  margin-top: 40px;
}
.news-top .button {
  margin: 40px auto 0;
  width: 580px;
  height: 60px;
  line-height: 60px;
  text-align: center;
  display: block;
}
.news-top .button:hover {
  text-decoration: none;
}
.news-top .button:after {
  width: 10px;
  height: 13px;
  content: "";
  display: inline-block;
  background: url(../../images/pc/arrow_right_white.svg) no-repeat center;
  background-size: 7px;
  vertical-align: middle;
  margin-left: 20px;
}

.column2.news-list .thumb_ {
  width: 100px;
  height: 100px;
  border: 1px solid #E4E4E4;
  position: absolute;
  right: 0;
  top: 20px;
  background-size: cover!important;
}
.column3 li a .thumb_ {
  width: 100%;
  height: 210px;
  background-size: cover!important;
}
.column3 li a:hover .thumb_ {
  opacity: 0.7;
}
a.news-top-tab {
  pointer-events:auto;
  cursor: pointer;
}
a.news-top-tab.is-active {
  background-color: #BA000C;
  color: #FFF;
  font-weight: bold;
  pointer-events:none;
  border: none;
}
.news-top-tab-content{
  display:none;
}
.news-top-tab-content.is-active{
  display:block;
}

/* モーダル */
.modal {
  display: none;
  height: 100vh;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 10;
}
.modal-bg {
  background: rgba(0,0,0,0.5);
  height: 100vh;
  position: absolute;
  width: 100%;
}
.modal-content {
  background: #fff;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 640px;
  height: 80vh;
  max-height: 640px;
  border-radius: 8px;
  overflow: hidden;
}
.modal-title {
  height: 54px;
  line-height: 54px;
  text-align: center;
}
.button-close {
  background: url(../../images/pc/icon_close.svg) no-repeat center /20px;
  width: 30px;
  height: 30px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  position: absolute;
  right: 12px;
  top: 12px;
}
.button-close:hover {
  cursor: pointer;
  opacity: 0.8;
}
.modal-content ul {
  max-height: calc(100% - 54px);
  overflow-y: scroll;
  background-color: #f6f6f6;
}
.modal-content ul li {
  height: 48px;
  line-height: 48px;
  padding: 0 16px;
  border-bottom: 1px solid #e4e4e4;
  background: url(../../images/pc/icon_plus.svg) no-repeat 585px center /16px;
}
.modal-content ul.select-area li {
  background: url(../../images/pc/arrow_right_red.svg) no-repeat 590px center /8px;
}
.modal-content ul li:hover {
  color: #d6000e;
  text-decoration: underline;
}
.modal-content ul::-webkit-scrollbar {
 width: 8px;
}
.modal-content ul::-webkit-scrollbar-track {
 background: #d8d8d8;
 border: none;
 box-shadow: none;
}
.modal-content ul::-webkit-scrollbar-thumb {
 background: #929292;
 box-shadow: none;
}

/* --------------------------
2. ニュース
-------------------------- */
.area-list {
  display: flex;
  margin: 40px 0 32px;
}
.area-list li + li {
  border-left: 1px solid #a3a3a3;
  padding-left: 20px;
  margin-left: 20px;
}
.area-list a {
  color: #a3a3a3;
  display: block;
  font-size: 16px;
  font-weight: bold;
}
.area-list a.active,
.area-list a:hover {
  color: #d6000e;
}
.area-list-sub {
  border-bottom: 4px solid #d6000e;
  display: flex;
}
.area-list-sub li + li {
  margin-left: -1px;
}
.area-list-sub a {
  width: 110px;
  height: 57px;
  line-height: 57px;
  background-color: #fff;
  border-width: 1px 1px 0 1px;
  border-style: solid;
  border-color: #a3a3a3;
  display: block;
  color: #a3a3a3;
  text-align: center;
}
.area-list-sub a.active,
.area-list-sub a:hover {
  background-color: #d6000e;
  border-color: #d6000e;
  color: #fff;
}
.area-list + .news-list,
.area-list-sub + .news-list,
.main-wrapper h1 + .news-list {
  margin: 48px 0 80px;
}
.news-list-more {
  width: 100%;
  margin: 40px 0 0;
  display: none;
}
.news-list-more a {
  color: #333333;
  display: block;
  margin: auto;
  width: 150px;
  text-align: center;
  position: relative;
  height: 40px;
}
.news-list-more a:hover {
  color: #d6000e;
}
.news-list-more a::after {
  content: "";
  display: inline-block;
  width: 16px;
  height: 13px;
  background: url(../../images/pc/arrow_right_red.svg) no-repeat center /9px;
  transform: rotate(90deg);
  position: absolute;
  bottom: 0;
  left: 67px;
}

/* 特集リンク */
.feauture-links h1 {
  font-size: 18px;
  margin-bottom: 22px;
}
.feauture-link a {
  width: 476px;
  position: relative;
}
.feauture-link img {
  width: 100%;
}
.feauture-link-img {
  height: 230px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.feauture-link-img::after {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #000;
  opacity: 0.3;
}
.feauture-link li {
  margin-bottom: 30px;
}
.feauture-link a:hover .feauture-link-img::after {
  background-color: #666;
}
.feauture-link-title {
  position: absolute;
  bottom: 24px;
  left: 30px;
  color: #fff;
}
.feauture-link-title span {
  display: inline-block;
  font-size: 11px;
  border: 1px solid #fff;
  padding: 4px 7px;
  margin-bottom: 8px;
}
.feauture-link-title p {
  font-size: 20px;
  font-weight: bold;
}

/* --------------------------
3. 記事ページ
-------------------------- */
article,
.article-banner,
.article-outbrain {
  width: 880px;
}
article header {
  margin-bottom: 64px;
}
.article-txt {
    margin-bottom: 0;
}
.bread-crumb-area {
  padding-top: 26px;
  display: flex;
}
.bread-crumb-area li + li::before {
  content: ">";
  margin: 0 0.5em;
}
.article-copyright {
  font-size: 12px;
  color: #0070c3;
}
.article-copyright time {
  color: #a3a3a3;
  margin-left: 1em;
}
.main-wrapper article h1 {
  margin: 0;
  padding: 16px 0;
  line-height: 1.4;
}
.article-wrapper {
  display: flex;
  justify-content: space-between;
}

article p,
article h2,
article hr {
  margin-bottom: 30px;
}
article p,
article h2 {
  color: #333;
  font-size: 16px;
  line-height: 2;
}
article h2 {
  font-weight: bold;
  font-size: 18px;
}
article p a {
  text-decoration: underline;
  color: #d6000e;
}
article .img-top figure,
article .img-center figure,
article .img-bottom figure,
article .main-photo figure {
  width: 800px;
  margin: 0 auto 30px;
}
article figure img {
  max-width: 800px;
  max-height: 756px;
  display: inline-block;
}
article figure .wrap::after {
  content: "";
  height: 100%;
  width: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
figure figcaption {
  text-align: left;
  font-size: 11px;
  line-height: 1.3;
  margin-top: 12px;
  margin-bottom: 12px;
}
article table,
article th,
article td {
  border-collapse: collapse;
  border: 1px solid #cecece;
}
article table {
  width: 100%;
  margin-bottom: 30px;
  font-family: Arial, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}
article th,
article td {
  padding: 18px 5px;
  text-align: center;
}
article tr th {
  background-color: #e1e1e1;
}
article tr td {
  background-color: #f6f6f6;
}
article tr:nth-child(2n) td {
  background-color: #fff;
}

/* photo */
.img-top,
.img-center,
.img-bottom,
.main-photo{
  clear:both;
  text-align: center;
}
.img-top figcaption,
.img-center figcaption,
.img-bottom figcaption,
.main-photo figcaption {
  text-align: center;
}
.img-left,
.img-right{
  width:306px;
}
.img-left .img a,
.img-right .img a,
.img-center .img a{
  position:relative;
}
.img-left img,
.img-right img{
  max-width:300px;
}
.img-left,
.img-left.movie{
  clear:left;
  float:left;
  margin: 0 18px 6px 0;
}
.img-right{
clear:right;
float:right;
  margin: 0 0 6px 18px;
}
.img a span.wrap{
  position:relative;
  display:inline-block;
  width:auto;
  max-width:100%;
  padding:0;
}
.img .img-zoom{
  position:absolute;
  bottom:0;
  right:0;
  width:48px;
  height:48px;
  margin:0;
  padding:0;
  background:url(https://cdn.mainichi.jp/vol1/images/pc/icon-zoom.png) no-repeat 0 0;
  cursor:pointer;
}

.img a:hover .img-zoom{
  background:url(https://cdn.mainichi.jp/vol1/images/pc/icon-zoom.png) no-repeat 0 -102px;
}

.photography .img-zoom{
  background:url(https://cdn.mainichi.jp/vol1/images/pc/icon-photography.png) no-repeat 0 0;
}

.photography a:hover .img-zoom{
  background:url(https://cdn.mainichi.jp/vol1/images/pc/icon-photography.png) no-repeat 0 -102px;
}

.img a:hover img{
opacity:0.8;
}

article figure a:hover{
  display:block;
  cursor:pointer;
}

a.no-zoom:hover{
  cursor:inherit;
}
a.no-zoom:hover img{
  opacity:1;
}
a.no-zoom .img-zoom {
  display: none;
}

/* movie */
.movie,
.map {
  clear:both;
  position:relative;
  width:756px;
  margin:0 auto 30px;
  padding:0;
  text-align:center;
}
.img-left.movie {
  width:306px;
}
.movie .movie-inner {
  padding-top:56.25%;
}
.movie p.caption,
.map p.caption {
  text-align: left;
  font-size: 11px;
  margin-top: 12px;
  line-height: 1.3;
}

.article-banner {
  text-align: center;
  margin: 34px 0 64px;
}
.article-banner a {
  display: inline-block;
}
.article-banner a:hover img {
  opacity: 0.7;
}
.article-outbrain {
  margin: 64px 0 40px;
}

/* SNS */
.article-sns {
}
.article-sns ul {
  position: sticky;
  margin-top: 30px;
  top: 30px;
/*  float: right;*/
  width: 32px;
}
.article-sns a {
  display: block;
  height: 25px;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 28px;
}
.article-sns a:hover {
  opacity: 0.7;
}
.article-sns li + li {
  margin-top: 30px;
}
.article-sns-sns a:hover {
  opacity: 0.7;
}

/* 写真特集リンク */
.photo-links {
  margin-bottom: 40px;
  position: relative;
}
.photo-links h1 {
  font-size: 18px;
  margin-bottom: 22px;
}
.photo-link {
  font-size: 13px;
  position: absolute;
  right: 0;
  top: 8px;
}
.photo-link::after {
  display: inline-block;
  height: 10px;
  width: 7px;
  content: "";
  background: url(../../images/pc/arrow_right_red.svg) no-repeat center /7px;
  margin-left: 10px;
}
.photo-list li {
  margin-bottom: 16px;
}
.photo-list .thumb {
  margin-bottom: 8px;
  max-height: 319px;
  overflow: hidden;
}
.column4.photo-list .thumb {
  max-height: 207px;
}
.photo-list .thumb img {
  width: 100%;
}
.photo-list a:hover .thumb img {
  opacity: 0.7;
}
.photo-list .description {
  line-height: 1.57;
}
.photo-list + .contents-links {
  margin-top: 64px;
}

/* --------------------------
4. 出場校
-------------------------- */
.tab-column2 +.headline {
  margin-top: 40px;
}
.team-list {
  margin: 36px 0 80px;
}
.team-list li {
  background: url(../../images/pc/arrow_right_red.svg) #f6f6f6 no-repeat 22px center /7px;
}
.team-list a:hover {
  text-decoration: none;
}
.name {
  font-size: 16px;
  color: #000;
  margin-right: 16px;
}
.team-list a:hover .name {
  color: #d6000e;
  text-decoration: underline;
}
.times {
  color: #333;
  font-size: 16px;
}
.area {
  color: #a3a3a3;
  margin-left: 14px;
  font-size: 11px;
}
.team-list .area {
  margin-left: 0;
  min-width: 5em;
  display: inline-block;
  margin-right: 14px;
}

/* --------------------------
5. 写真特集
-------------------------- */
.column2.photo-list {
  margin: 40px 0 0;
}
.column2.photo-list li a {
  width: 478px;
}
.column2.photo-list + .headline {
  margin-top: 40px;
}

/* 中ページ */
.graphs-wrapper {
  padding-top: 16px;
  margin-bottom: 80px;
}
.graphs-wrapper header {
  width: 880px;
}
.graphs-wrapper h1 {
  line-height: 1.4;
  padding: 16px 0;
  margin: 0;
}
.graphs-area {
  width: 800px;
  margin: 0 40px;
}

/* main-photo-navi */
.main-photo-navi{
  float:right;
  height:32px;
  margin:4px 0 12px;
  font-size:75%;
  position: relative;
  z-index:1000;
}
.main-photo-navi .prev,
.main-photo-navi .next{
  display:inline-block;
  *display:block;
  width:28px;
  height:28px;
  padding:0;
  *zoom:1;
}
.main-photo-navi .prev{
  background-color: transparent;
  background-image: url(https://cdn.mainichi.jp/vol1/images/pc/arrow-prev.svg);
  background-size: 28px auto;
  background-repeat: no-repeat;
  background-position: 0 0;
}
.main-photo-navi .next{
  background-color: transparent;
  background-image: url(https://cdn.mainichi.jp/vol1/images/pc/arrow-next.svg);
  background-size: 28px auto;
  background-repeat: no-repeat;
  background-position: 0 0;
}
.main-photo-navi .prev:hover,
.main-photo-navi .next:hover{
  opacity:0.8;
}
.main-photo-navi span{
  vertical-align:10px;
}
.main-photo {
  margin-bottom: 36px;
}
.main-photo .img {
  position: relative;
  margin-bottom: 8px;
  text-align: center;
}
.main-photo .img img {
  max-width: 100%;
  max-height: 756px;
}

/* photo-navi-list */
.photo-navi-list {
  margin:0 auto;
  display: flex;
  flex-wrap: wrap;
}
.photo-navi-list li {
  position:relative;
  display:block;
  padding:0;
  margin-bottom: 24px;
  margin-right: 27px;
}
.photo-navi-list li:nth-child(6n) {
  margin-right: 0;
}
.photo-navi-list li a {
  display:block;
}
.photo-navi-list li .thumb {
  display:table-cell;
  width:110px;
  height:110px;
  background:#f8f8f8;
  border:1px solid #ececec;
  text-align:center;
  vertical-align:middle;
  overflow:hidden;
}
.photo-navi-list li .thumb img.horizontal-photo {
  width:100px;
}
.photo-navi-list li .thumb img.vertical-photo,
.photo-navi-list li .thumb img.square-photo {
  height:100px;
}
.photo-navi-list li .thumb:hover img {
  opacity: 0.7;
}
.photo-navi-list li .thumb.current {
  border:2px solid #b3b3b3;
}
a.tooltip .tooltip-txt {
  position:absolute;
  display:none;
  top:100px;
  left:5px;
  width:150px;
  padding:6px;
  border:1px solid #dbdbdb;
  background:#FFF;
  border-radius:3px;
  -moz-box-shadow:1px 1px 3px rgba(0,0,0,0.3);
  -webkit-box-shadow:1px 1px 3px rgba(0,0,0,0.3);
  -o-box-shadow:1px 1px 3px rgba(0,0,0,0.3);
  -ms-box-shadow:1px 1px 3px rgba(0,0,0,0.3);
  box-shadow:1px 1px 3px rgba(0,0,0,0.3);
  z-index:3;
}
a.tooltip:hover .tooltip-txt {
  display:block;
}
.tooltip-txt:after,
.tooltip-txt::before{
  position:absolute;
  content:" ";
  left:50%;
  bottom:100%;
  border:solid transparent;
  pointer-events:none;
}
.tooltip-txt:after {
  top: -30px;
  margin-left: -10px;
  border-width: 7px;
  border-bottom: 7px solid #dbdbdb;
  z-index: 1;
}
.tooltip-txt:before {
  top: -24px;
  margin-left: -8px;
  border-width: 5px;
  border-bottom: 5px solid #FFF;
  z-index: 2;
}
a.tooltip .caption {
  color:#222;
  font-size:75%;
}

.main-photo .img a.prev-photo,
.main-photo .img a.next-photo {
  display:block;
  position:absolute;
  top:0;
  width:50%;
  height:100%;
  z-index:2;
}
a.prev-photo {
  left:0;
  background-color:transparent;
  background-image:url(https://cdn.mainichi.jp/vol1/images/pc/photo-prev.svg);
  background-size: 50px auto;
  background-repeat: no-repeat;
  background-position: left 48%;
  filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity:0;
  -webkit-transition:opacity 0.6s;
  -moz-transition:opacity 0.6s;
  -o-transition:opacity 0.6s;
  transition:opacity 0.6s;
}
a.next-photo {
  background-color:transparent;
  background-image:url(https://cdn.mainichi.jp/vol1/images/pc/photo-next.svg);
  background-size: 50px auto;
  background-repeat: no-repeat;
  background-position: right 48%;
  left:50%;
  filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity:0;
  -webkit-transition:opacity 0.6s;
  -moz-transition:opacity 0.6s;
  -o-transition:opacity 0.6s;
  transition:opacity 0.6s;
}
a.prev-photo:hover,
a.next-photo:hover {
  filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity:1;
}


/* --------------------------
6. 記録
-------------------------- */
.record {
  display: flex;
  justify-content: space-between;
  margin: 40px 0 80px;
}
.record-link {
  width: 278px;
  height: 376px;
  position: relative;
}
.record-link p,
.record-link a {
  position: absolute;
}
.record-link p {
  color: #fff;
  bottom: 18px;
  left: 11px;
}
.record-link a {
  bottom: -23px;
  right: 0;
  font-size: 13px;
}
.record-link a::after {
  content: "";
  display: inline-block;
  height: 10px;
  width: 7px;
  content: "";
  background: url(../../images/pc/arrow_right_red.svg) no-repeat center /7px;
  margin-left: 10px;
}
.record-link-img {
  position: relative;
  overflow: hidden;
  height: 100%;
}
.record-link-img img {
  width: 100%;
}
.record-link-img::after {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 70%, rgba(0,0,0,0.8) 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 70%, rgba(0,0,0,0.8) 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 70%, rgba(0,0,0,0.8) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#cc000000', GradientType=0 ); /* IE6-9 */
}
.record-detail {
  width: 675px;
  border: 4px solid #d0ba7a;
  display: flex;
  justify-content: space-between;
}
.record-detail-left {
  width: 275px;
  flex-basis: 275px;
  background: url(../../images/pc/icon_laurel.svg) no-repeat center 40px /110px;
  padding: 190px 40px 0;
  text-align: center;
  position: relative;
}
.record-name,
.record-place {
  font-weight: bold;
}
.record-name {
  font-size: 28px;
  margin-bottom: 8px;
}
.record-place,
.record-times,
.record-time {
  font-size: 16px;
}
.record-place {
  display: block;
  margin-top: 19px;
}
.record-times {
  color: #666;
  margin-bottom: 27px;
}
.record-time {
  position: absolute;
  bottom: 40px;
  left: 52px;
}
.record-time::before {
  width: 19px;
  height: 21px;
  display: inline-block;
  content: "";
  background: url(../../images/pc/icon_time_gray.svg) no-repeat center /19px 21px;
  vertical-align: bottom;
  margin-right: 13px;
}
.record-time span {
  font-family: arial, sans-serif;
  font-size: 24px;
}
.record-detail-right {
  width: 392px;
  flex-basis: 392px;
  padding: 40px 40px 40px 0;
  display: flex;
  flex-direction: column;
}
.record-detail-right h3 {
  font-weight: bold;
  height: 20px;
  line-height: 20px;
  border-left: 4px solid #d6000e;
  padding-left: 12px;
  width: 100%;
}
.record-detail-right p {
  margin-top: 13px;
  line-height: 1.7;
}
.record-weather {
  position: relative;
  margin-top: auto;
  margin-bottom: 24px;
}
.record-weather span {
  position: absolute;
  right: 0;
}
.record-detail-right table {
  width: 100%;
  text-align: center;
  height: 56px;
}
.record-detail-right table th {
  font-size: 11px;
  color: #a3a3a3;
}
.record-detail-right table th,
.record-detail-right table td {
  padding-right: 20px;
}
.record-detail-right table th + th,
.record-detail-right table td + td {
  border-left: 1px solid #e4e4e4;
  padding-left: 20px;
}
.record-detail-right table td {
  font-size: 16px;
  font-weight: bold;
  vertical-align: bottom;
}
.record-detail-right table td span {
  font-size: 10px;
  font-weight: normal;
}
.record-detail-right table th:last-child,
.record-detail-right table td:last-child {
  padding-right: 0;
}
.pdf-box {
  width: 100%;
  height: 685px;
}
.ranking-list {
  margin-bottom: 40px;
}
.ranking-list li {
  display: flex;
  justify-content: space-between;
  position: relative;
  padding: 0 30px 0 60px;
}
.ranking-list .num {
  position: absolute;
  left: 30px;
  font-family: arial, sans-serif;
}
.ranking-list .name {
  font-size: 16px;
  color: #000;
}
.ranking-list .area {
  color: #a3a3a3;
  margin-left: 14px;
  font-size: 11px;
}
.ranking-list .time {
  color: #333;
  font-size: 16px;
}
.ranking-list .time::before {
  width: 12px;
  height: 13px;
  display: inline-block;
  content: "";
  background: url(../../images/pc/icon_time_gray.svg) no-repeat center /12px 13px;
  vertical-align: middle;
  margin-right: 6px;
}
.ranking-list + .file-list {
  margin-bottom: 40px;
}

/*歴代最高記録*/
.rank-list {
  margin: 24px 0 0;
}
.rank-list li {
  background: url(../../images/pc/arrow_right_red.svg) no-repeat 16px center /7px;
  border-bottom: 1px solid #d2d2d2;
      width: 454px;
}
.rank-list a {
  display: block;
  padding: 20px 0 20px 42px;
  font-size: 16px;
}
/*検索窓*/
.search-box {
  margin-bottom: 50px;
}
/*
.search-box::after {
  content:"";
  display: block;
  clear: both;
}
*/
.search-box-flex {
/*  float: right;*/
  width: 385px;
  display: flex;
  justify-content: space-around;
  align-items: center;
}
.search-box-flex > div {
  flex-basis: 250px;
  width: 250px;
}
.search-box + h2.headline {
  margin-top: 50px;
}

/*----------------------------------------
40.lightbox
----------------------------------------*/
body:after{
content:url(https://cdn.mainichi.jp/vol1/images/pc/lightbox-close.png) url(https://cdn.mainichi.jp/vol1/images/pc/lightbox-loading.gif) url(https://cdn.mainichi.jp/vol1/images/pc/lightbox-prev.png) url(/vol1/images/pc/lightbox-next.png);
display:none;
}

.lightboxOverlay{
display:none;
position:absolute;
top:0;
left:0;
background-color:black;
opacity:0.90;
z-index:19999999;
}

.lightbox{
position:absolute;
left:0;
width:100%;
z-index:20000000;
text-align:center;
line-height:0;
font-weight:normal;
}

.lightbox .lb-image{
display: block;
height: auto;
max-width: inherit;
border-radius: 3px;
}

.lightbox a img{
border:none;
}

.lb-outerContainer{
position:relative;
background-color:white;
width:250px;
height:250px;
margin:0 auto;
border-radius:4px;
*zoom:1;
}

.lb-outerContainer:after{
content:"";
display:table;
clear:both;
}

.lb-container{
padding:4px;
}

.lb-loader{
position:absolute;
top:43%;
left:0;
width:100%;
height:25%;
text-align:center;
line-height:0;
}

.lb-cancel{
display:block;
width:32px;
height:32px;
margin:0 auto;
background:url(https://cdn.mainichi.jp/vol1/images/pc/lightbox-loading.gif) no-repeat;
}

.lb-nav{
position:absolute;
top:0;
left:0;
height:100%;
width:100%;
z-index:10;
}

.lb-container > .nav{
left: 0;
}

.lb-nav a{
outline:none;
background-image:url('data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==');
}

.lb-prev,.lb-next{
display:block;
height:100%;
cursor:pointer;
}

.lb-nav a.lb-prev{
float:left;
left:0;
width:34%;
background:url(https://cdn.mainichi.jp/vol1/images/pc/lightbox-prev.png) no-repeat left 48%;
opacity:0;
transition:opacity 0.6s;
}

.lb-nav a.lb-prev:hover{
opacity:1;
}

.lb-nav a.lb-next{
float:right;
right:0;
width:64%;
background:url(https://cdn.mainichi.jp/vol1/images/pc/lightbox-next.png) no-repeat right 48%;
opacity:0;
transition:opacity 0.6s;
}

.lb-nav a.lb-next:hover{
opacity:1;
}

.lb-dataContainer{
width:100%;
margin:0 auto;
padding-top:5px;
border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px;
*zoom:1;
}

.lb-dataContainer:after{
content:"";
display:table;
clear:both;
}

.lb-data{
padding:0 4px;
color:#ccc;
}

.lb-data .lb-details{
float:left;
width:85%;
text-align:left;
line-height:1.1em;
}

.lb-data .lb-caption{
font-size:13px;
font-weight:bold;
line-height:1em;
}

.lb-data .lb-number{
display:block;
clear:left;
padding:0.5em 0 1em;
font-size:12px;
color:#999;
}

.lb-data .lb-close{
display:block;
float:right;
width:30px;
height:30px;
background:url(https://cdn.mainichi.jp/vol1/images/pc/lightbox-close.png) no-repeat right top;
text-align right;
opacity:0.7;
transition:opacity 0.2s;
outline:none;
}

.lb-data .lb-close:hover{
opacity:1;
cursor:pointer;
}

/* lightbox customize
----------------------------------------*/
#lightboxInner{
margin:0 auto;
}

/* photoArea wrap */
#lightboxPhotoBox{
position:relative;
}

.lb-outerContainer{
max-width:780px !important;
}

.lb-image{
max-width:756px !important;
}

/* ad-lightbox */
#ad-lightbox{
float:right;
}

#ad-lightbox p{
margin:0 0 3px;
color:#fff;
font-size:80%;
text-align:left;
}
