@import "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400&display=swap";

@import "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500&display=swap";

@import "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@700&display=swap";

@import "https://fonts.googleapis.com/css2?family=Roboto:wght@900&display=swap";

@import "https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500&display=swap";

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  background: rgba(0,0,0,0);
  border: 0;
  font-size: 100%;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
}

body {
  line-height: 1;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

a {
  background: rgba(0,0,0,0);
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

img {
  vertical-align: bottom;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

hr {
  border: 0;
  border-top: 1px solid #ccc;
  display: block;
  height: 1px;
  margin: 1em 0;
  padding: 0;
}

input,
select {
  vertical-align: middle;
}

* {
  box-sizing: border-box;
}

body {
  color: #000;
  font-family: "Noto Sans JP",sans-serif;
  font-feature-settings: "palt";
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  font-weight: 400;
  min-width: 1200px;
}

body.js-navopen {
  height: 100%;
  position: fixed;
  width: 100%;
}

body.top {
  font-weight: 500;
}

.preload * {
  transition: none !important;
}

a {
  transition: all .25s ease;
}

a:before,
a:after,
a img {
  transition: all .25s ease;
}

a:hover img,
a:focus img {
  opacity: .7;
}

sup {
  font-size: 70%;
  vertical-align: super;
}

li {
  list-style: none;
}

.pc {
  display: none;
}

.sp {
  display: block;
}

hr {
  border-top: 1px dotted #666;
  margin: 60px auto;
  max-width: 1100px;
  padding-left: 50px;
  padding-right: 50px;
  width: 100%;
}

.breadcrumb {
  background: #f3f2f7;
  margin-bottom: 70px;
  padding: 21px 0 20px;
}

.breadcrumb__list {
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  padding: 0 50px 0;
  width: 100%;
}

.breadcrumb__item {
  display: inline-block;
  font-size: 14px;
  line-height: 1.4;
  margin-right: .7em;
}

.breadcrumb__item+.breadcrumb__item {
  padding-left: 1.05em;
  text-indent: -1.05em;
}

.breadcrumb__item+.breadcrumb__item::before {
  content: ">";
  margin-right: .7em;
}

.breadcrumb__item a {
  color: #000;
  font-weight: 500;
  text-decoration: underline;
}

.breadcrumb__item a:hover,
.breadcrumb__item a:focus {
  text-decoration: none;
}

@font-face {
  font-display: block;
  font-family: "icomoon";
  font-style: normal;
  font-weight: normal;
  src: url("../fonts/icomoon.eot?diybka");
  src: url("../fonts/icomoon.eot?diybka#iefix") format("embedded-opentype"),url("../fonts/icomoon.ttf?diybka") format("truetype"),url("../fonts/icomoon.woff?diybka") format("woff"),url("../fonts/icomoon.svg?diybka#icomoon") format("svg");
}

[class^=icon-],
[class*=" icon-"] {
  color: #3c1fbb;
  font-family: "icomoon" !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  speak: never;
  text-transform: none;
}

.icon-arrow_btm {
  margin-right: 8px;
  vertical-align: revert;
}

.icon-arrow_btm:before {
  content: "";
}

.icon-arrow {
  margin-right: 8px;
  vertical-align: revert;
}

.icon-arrow::before {
  content: "";
}

.icon-blank {
  margin-right: 16px;
  vertical-align: middle;
}

.icon-blank::before {
  content: "";
}

.pagenavi {
  bottom: 40px;
  display: none;
  position: fixed;
  right: 40px;
}

.pagenavi.js-footer {
  position: absolute;
  top: -90px;
}

.pagenavi__link {
  background: #3c1fbb;
  border-radius: 50%;
  display: block;
  height: 60px;
  padding: 21px 0;
  text-align: center;
  width: 60px;
}

.pagenavi__link:hover {
  opacity: .7;
}

.pagenavi__link:hover img {
  opacity: 1;
}

.title--top {
  color: #3c1fbb;
  font-family: "Roboto",sans-serif;
  font-size: 72px;
  font-weight: 900;
  letter-spacing: .05em;
  text-align: center;
}

.title--top span {
  display: block;
  font-family: "Noto Sans JP",sans-serif;
  font-size: 20px;
  letter-spacing: .1em;
  margin-top: 18px;
}

.title--borderL {
  border-left: 12px solid #3c1fbb;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
  margin: 0 0 1.33em;
  padding: 4px 0 4px 16px;
}

.information {
  margin-bottom: 110px;
}

.information__block {
  border: 8px solid #3c1fbb;
  padding: 0 42px 34px;
  position: relative;
}

.information__title {
  color: #3c1fbb;
  font-size: 24px;
  letter-spacing: .02em;
  margin-bottom: 27px;
  margin-top: -17px;
  text-align: center;
}

.information__title span {
  background: #fff;
  padding: 0 18px;
}

.information__text {
  font-size: 18px;
  letter-spacing: .05em;
  line-height: 1.8;
  text-align: left;
}

.book__about {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 80px;
}

.book__about__title {
  background: #3c1fbb;
  border-radius: 8px;
  color: #fff;
  font-size: 18px;
  margin-bottom: 15px;
  max-width: 160px;
  padding: 9px 15px 11px;
  text-align: center;
}

.book__about__list li {
  line-height: 1.5;
}

.book__about__list li+li {
  margin-top: 7px;
}

.book__about__list li::before {
  color: #3c1fbb;
  content: "●";
  font-size: 14px;
  margin-right: .5em;
}

.book__detail {
  width: calc(100% - 420px);
}

.book__lead {
  font-weight: bold;
  line-height: 1.8;
  margin-bottom: 30px;
}

.book__img {
  width: 400px;
}

.book__img img {
  width: 100%;
}

.book__sale {
  border: 1px solid #999;
  border-radius: 15px;
  padding: 25px 30px;
}

.book__sale__title {
  border-bottom: #3c1fbb 6px double;
  font-size: 24px;
  margin-bottom: 20px;
  padding-bottom: 10px;
}

.book__sale__content {
  margin-top: 24px;
}

.book__sale__content dt,
.book__sale__content dd {
  line-height: 1.5;
}

.book__sale__content dt {
  font-weight: bold;
  margin-bottom: 5px;
  padding-left: 1.3em;
  text-indent: -1.3em;
}

.book__sale__content dt::before {
  color: #3c1fbb;
  content: "●";
  font-size: 14px;
  margin-right: .5em;
}

.book__sale__content dd {
  margin-bottom: 20px;
  padding-left: 21px;
}

.book__sale__kome {
  font-weight: bold;
  line-height: 1.5;
}

.book__sale>.book__sale__content {
  margin-top: 0;
}

.news--top {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 180px;
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  padding: 0 50px 0;
  width: 100%;
}

.news--top__main {
  width: 740px;
}

.news--top__title {
  margin-bottom: 25px;
  text-align: left;
}

.news--top__title span {
  display: inline;
  margin-left: 24px;
  margin-top: 0;
}

.news__list__date {
  color: #3c1fbb;
  width: 124px;
}

.news__list__title {
  color: #000;
  width: calc(100% - 124px);
}

.news__list__link {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  line-height: 1.5;
  padding: 19px 0;
  text-decoration: none;
}

.news__list__item {
  border-bottom: 1px solid #999;
}

.news__list__item a:hover,
.news__list__item a:focus {
  background: #f3f2f7;
}

.banner {
  width: 300px;
}

.banner__item+.banner__item {
  margin-top: 20px;
}

.big3 thead th.year {
  width: 15%;
}

.big3 thead th.ekiden {
  width: 25%;
}

.big3 thead th.sankan {
  width: 10%;
}

.big3 tbody td:nth-of-type(4) {
  border-bottom: 1px solid #999;
  padding-bottom: 10px;
  text-align: center;
}

.archives {
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  padding: 0 50px 0;
  padding-top: 113px;
  width: 100%;
}

.archives__title {
  margin-bottom: 60px;
}

.archives__list {
  display: flex;
  flex-wrap: wrap;
}

.archives__item {
  border: 1px solid #3c1fbb;
  margin-bottom: 16px;
  margin-right: 20px;
  width: calc((100% - 80px)/5);
}

.archives__link {
  color: #3c1fbb;
  display: block;
  padding: 21px 0;
  text-align: center;
  text-decoration: none;
}

.archives__link:hover,
.archives__link:focus {
  background: #3c1fbb;
  color: #fff;
}

.container {
  margin-bottom: 120px;
}

.top .container {
  margin-bottom: 104px;
}

.content {
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  padding: 0 50px 0;
  width: 100%;
}

.kv {
  display: flex;
  flex-wrap: wrap;
  height: calc(100vh - 200px);
  justify-content: space-between;
  margin-bottom: 220px;
  min-height: 660px;
  position: relative;
}

.kv__logo {
  height: 100%;
  padding: 40px 0 138px;
  text-align: center;
  width: 300px;
}

.kv__logo img {
  max-height: 100%;
}

.kv__img {
  background: url("../images/bg_kv_pc.jpg") no-repeat center/cover;
  height: 100%;
  position: relative;
  width: calc(100% - 300px);
}

.kv__lead {
  bottom: 50px;
  left: 0;
  position: relative;
}

.kv__slider {
  height: 100%;
}

.kv__slider .slick-list {
  height: 100%;
}

.kv__slider__item {
  height: calc(100vh - 200px);
  min-height: 660px;
  width: 100%;
}

.kv__slider__item img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

.footer {
  background: #000;
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  padding: 50px 0 40px;
  position: relative;
}

.footer__inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  padding: 0 50px 0;
  position: relative;
  width: 100%;
}

.footer__logo {
  margin-bottom: 20px;
}

.footer__ban {
  text-align: right;
}

.copyright {
  bottom: 0;
  font-family: "Roboto",sans-serif;
  position: absolute;
}

.cs {
  text-align: center;
}

.prbanner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  padding: 0 50px 0;
  padding-top: 113px;
  width: 100%;
}

.prbanner__title {
  margin-bottom: 60px;
}

.prbanner__list {
  display: flex;
  justify-content: center;
}

.prbanner__item {
  margin: 0 20px;
}

.win_photo {
  display: block;
  margin: 1em auto 2em;
  text-align: center;
}

.win {
  display: block;
  margin: 1em auto 3em;
  text-align: center;
}

.win_ttl {
  background: #f06;
  border-radius: 6px;
  color: #fff;
  font-size: 28px;
  font-weight: normal;
  line-height: 1.5;
  margin-right: 10px;
  padding: 3px 10px 5px;
  vertical-align: middle;
  width: 5em;
}

.win_winner {
  font-size: 32px;
  font-weight: bold;
  vertical-align: middle;
}

.kiroku {
  line-height: 1.5;
  margin-bottom: 4em;
}

.kiroku table {
  border: 1px solid #999;
  width: 100%;
}

.kiroku table th,
.kiroku table td {
  border: 1px solid #999;
  padding: 10px 15px;
  text-align: center;
}

.kiroku table th {
  background: #000;
  color: #fff;
  font-weight: normal;
}

.tenki {
  line-height: 1.5;
}

.tenki table {
  border: 1px solid #999;
  width: 100%;
}

.tenki table th,
.tenki table td {
  border: 1px solid #999;
  font-weight: normal;
  padding: 10px 25px;
}

.tenki table thead th {
  background: #000;
  border: 1px solid #999;
  color: #fff;
  padding: 10px 25px;
  text-align: center;
}

.tenki table tbody th {
  background: #ddd;
  text-align: center;
}

.record__kukan {
  line-height: 1.8;
  margin-bottom: 40px;
}

.record__table {
  border: 1px solid #999;
  margin: 1em 0 2em;
  width: 100%;
}

.record__table th,
.record__table td {
  border: 1px solid #999;
  line-height: 1.5;
  padding: 10px 15px;
}

.record__table thead th {
  background: #000;
  color: #fff;
  font-weight: bold;
  text-align: center;
}

.record__table tbody th {
  font-weight: normal;
  text-align: right;
}

.recordsA tbody td:nth-of-type(1),
.recordsA tbody td:nth-of-type(2),
.recordsA tbody td:nth-of-type(6) {
  text-align: right;
}

.recordsB tbody td:nth-of-type(1),
.recordsB tbody td:nth-of-type(5) {
  text-align: right;
}

.orderList {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.orderList li {
  margin: 0 16px 0 0;
  padding: 10px 10px 10px 0;
}

.orderList a {
  color: #000;
  text-decoration: none;
}

.orderList a:hover {
  color: #3c1fbb;
}

.runnerList {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.runnerList1,
.runnerList2 {
  width: 48%;
}

.runners {
  line-height: 1.8;
}

.runners thead th {
  font-weight: 500;
  vertical-align: middle;
}

.runners tbody th,
.runners tbody td {
  vertical-align: middle;
}

.runners tbody th {
  padding: 10px 10px;
  text-align: center;
  width: 60px;
}

.runners tbody td {
  width: 350px;
}

.runner--img {
  text-align: center;
  margin-bottom: 50px;
}

.runner--h2 {
  border-bottom: 4px solid #3c1fbb;
  border-left: none;
  color: #000;
  font-size: 32px;
  font-weight: bold;
  line-height: 1.5;
  margin: 0 0 1.33em 0;
  padding: 0 0 16px 0;
  position: relative;
}

.runner--h3 {
  margin: 1.33em 0;
}

.tasuki {
  display: block;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5;
  margin: 1em auto 2em;
}

.tasuki__ttl {
  background: #3c1fbb;
  border-radius: 6px;
  color: #fff;
  font-weight: normal;
  margin: 0 5px 0 0;
  padding: 2px 16px 4px;
  text-align: center;
}

.coach {
  border: 1px solid #999;
  border-collapse: collapse;
  line-height: 1.5;
  margin: 1em 0 2em;
}

.coach th,
.coach td {
  border: 1px solid #999;
  padding: 5px 10px;
  text-align: center;
  vertical-align: middle;
  width: 240px;
}

.coach th {
  background: #000;
  border: 1px solid #999;
  color: #fff;
  font-weight: normal;
  text-align: center;
}

.coach td .c_name {
  font-weight: bold;
}

.coach td .c_kana,
.coach td .iv_kana {
  color: #666;
  font-weight: normal;
}

.coach td .c_kana::before,
.coach td .iv_kana::before {
  content: "\a";
  white-space: pre;
}

.coach td .iv_name {
  font-weight: bold;
}

.team2,
.team3 {
  margin-bottom: 1em;
}

.page__table.team2 th,
.page__table.team2 td,
.page__table.team3 th,
.page__table.team3 td {
  padding: 5px 10px;
  text-align: center;
  vertical-align: middle;
}

.page__table.team2 thead th,
.page__table.team3 thead th {
  font-weight: normal;
  padding: 5px 15px;
}

.page__table.team2 tbody th,
.page__table.team3 tbody th {
  font-weight: normal;
}

.page__table.team2 tbody td .r_name,
.page__table.team3 tbody td .r_name {
  font-weight: bold;
}

.page__table.team2 tbody td .r_kana,
.page__table.team3 tbody td .r_kana {
  color: #666;
  font-weight: normal;
}

.page__table.team2 tbody td .r_kana::before,
.page__table.team3 tbody td .r_kana::before {
  content: "\a";
  white-space: pre;
}

.page__table.team2 .s,
.page__table.team3 .s {
  font-size: .82em;
}

.page__table.team3 .s {
  font-size: .82em;
}

.captain {
  line-height: 1.5;
  margin: 0 0 2em;
}

.comment {
  line-height: 1.5;
  margin: 0 0 3em;
}

.sNav {
  display: none;
}

.sub_menu {
  display: none;
}

.dataArchive1 {
  margin: 1em 0 2em 0;
}

.dataArchive1 th,
.dataArchive1 td {
  text-align: center;
}

.dataArchive1 td.lft {
  text-align: left;
}

.dataArchive2 {
  margin: 1em 0 2em 0;
}

.dataArchive2.page__table tr:nth-child(2n+1) {
  background: none;
}

.dataArchive2 th,
.dataArchive2 td {
  text-align: center;
}

.dataArchive3 {
  border: 1px solid #999;
  line-height: 1.5;
  margin: 1em 0 2em 0;
  width: 100%;
}

.dataArchive3 tr:nth-child(2n+1) {
  background: #f3f2f7;
}

.dataArchive3 th,
.dataArchive3 td {
  border: 1px solid #999;
  padding: 10px 25px;
  text-align: center;
}

.dataArchive3 td.lft {
  text-align: left;
}

.dataArchive3 thead th {
  background: #000;
  border: 1px solid #999;
  color: #fff;
  font-weight: bold;
  padding: 15px 25px;
  text-align: center;
}

.dataRanking {
  border: solid 2px #666;
  line-height: 1.5;
  margin: 1em 0 2em 0;
  width: 100%;
}

.dataRanking th {
  background-color: #ddd;
  border: solid 1px #999;
  font-size: 10px;
  font-size: 12px;
  font-weight: bold;
  padding: 3px 1px;
  text-align: center;
  vertical-align: middle;
}

.dataRanking td {
  border: 1px solid #999;
  font-size: 12px;
  padding: 3px 1px;
  text-align: center;
}

.dataRanking td.gakuren {
  border-bottom: solid 2px #666;
  padding: 3px 0 3px 3px;
  text-align: left;
  white-space: nowrap;
}

.dataRanking td.daigaku {
  border-right: solid 2px #666;
  padding: 3px 0 3px 3px;
  text-align: left;
  white-space: nowrap;
}

.dataRanking td.daigaku_nml {
  border-right: solid 2px #666;
  text-align: left;
  white-space: normal;
}

.dataRanking .uL {
  border-bottom: solid 2px #666;
}

.dataRanking .rL {
  border-right: solid 2px #666;
}

.dataRanking .lL {
  border-left: solid 2px #666;
}

.dataRanking .urL {
  border-bottom: solid 2px #666;
  border-right: solid 2px #666;
}

.dataRanking .ulL {
  border-bottom: solid 2px #666;
  border-left: solid 2px #666;
}

.dataRanking .covid-19 {
  vertical-align: middle;
}

.dataRanking .covid-19 span {
  writing-mode: tb-lr;
  writing-mode: vertical-lr;
}

.dn {
  font-size: 10px;
}

th.w3 {
  width: 22px;
}

.event__title {
  align-items: flex-start;
  display: flex;
  font-size: 48px;
  justify-content: center;
  line-height: 1.5;
  margin-bottom: 19px;
  text-align: center;
}

.event__title span {
  border-bottom: 6px solid #d7778d;
  display: block;
  padding-bottom: 10px;
}

.event__subtitle {
  color: #b73950;
  font-size: 32px;
  line-height: 1.5;
  margin-bottom: 46px;
  text-align: center;
}

.event__subtitle span {
  display: block;
  font-size: 18px;
}

.event__img {
  margin-bottom: 52px;
  text-align: center;
}

.event__text {
  line-height: 1.8;
  margin: 0 auto 52px;
}

.event__map.-column {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.-column .event__map__item {
  width: 48%;
}

.event__map__gm {
  margin-bottom: 20px;
}

.event__map__gm iframe {
  height: 320px;
  width: 100%;
}

.event__map__address {
  line-height: 1.7;
}

.page__title {
  align-items: center;
  background: url("../images/bg_pagetitle.svg") no-repeat left -22px,#3c1fbb;
  color: #fff;
  display: flex;
  flex-direction: column;
  font-size: 40px;
  font-weight: 500;
  height: 220px;
  justify-content: center;
  position: relative;
  text-align: center;
}

.page__title--small {
  font-size: 24px;
  margin-top: 20px;
}

.page__title--small.-mb {
  margin-bottom: 20px;
}

.page__title .saleImg {
  display: block;
  margin-bottom: 15px;
}

.page__table {
  border: 1px solid #999;
  line-height: 1.5;
  width: 100%;
}

.page__table tr:nth-child(2n+1) {
  background: #f3f2f7;
}

.page__table th,
.page__table td {
  border: 1px solid #999;
  padding: 10px 25px;
}

.page__table thead th {
  background: #000;
  border: 1px solid #999;
  color: #fff;
  font-weight: bold;
  padding: 15px 25px;
  text-align: center;
}

.page__table th.runner--comment {
  width: 210px;
}
.page__table td.runner--comment {
  text-align: left;
}

.dl_link {
  display: none;
}

.dl_link_pdf p {
  background: url("../images/ic_pdf.png") no-repeat left top;
  display: block;
  line-height: 32px;
  margin: 1em 0 3em;
  padding: 0 0 0 40px;
}

.dl_xlsx p {
  background: url("../images/ic_xlsx.png") no-repeat left top;
  display: block;
  line-height: 32px;
  margin: 1em 0 1em;
  padding: 0 0 0 40px;
}

.towel__lead {
  line-height: 1.8;
  margin-bottom: 30px;
}

.towel__content {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 80px;
}

.towel__detail {
  width: calc(100% - 450px);
}

.towel__detail__title {
  background: #3c1fbb;
  border-radius: 8px;
  color: #fff;
  font-size: 18px;
  margin-bottom: 15px;
  max-width: 160px;
  padding: 9px 15px 11px;
  text-align: center;
}

.towel__detail__block table {
  border-right: 1px solid #999;
  border-top: 1px solid #999;
  width: 100%;
}

.towel__detail__block table th,
.towel__detail__block table td {
  border-bottom: 1px solid #999;
  border-left: 1px solid #999;
  line-height: 1.5;
  padding: 10px 15px;
}

.towel__detail__block table th {
  background: #ddd;
  font-weight: normal;
}

.towel__detail__block+.towel__detail__title {
  margin-top: 40px;
}

.towel__detail__block dl dt,
.towel__detail__block dl dd {
  line-height: 1.5;
}

.towel__detail__block dl dt {
  font-weight: bold;
  margin-bottom: 10px;
}

.towel__detail__block dl dd {
  margin-bottom: 20px;
  padding-left: 1.1em;
}

.towel__imglist {
  width: 400px;
}

.towel__imglist li+li {
  margin-top: 20px;
}

.towel__img img {
  width: 100%;
}

.towel__img--caption {
  font-size: 14px;
  margin-top: 10px;
  text-align: right;
}

.towel__photo {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.towel__photo li {
  margin: 0 10px 20px;
  width: 240px;
}

.towel__photo__img {
  margin-bottom: 10px;
}

.towel__photo__caption {
  font-size: 14px;
}

.click {
  margin-bottom: 30px;
  text-align: center;
}

.goal {
  display: flex;
  flex-wrap: wrap;
  line-height: 1.5;
  text-align: center;
}

.goal li {
  margin-bottom: 20px;
  margin-right: 20px;
  width: calc((100% - 60px)/4);
}

.goal li:nth-of-type(4n) {
  margin-right: 0;
}

.goal li a {
  border: 1px solid #999;
  color: #000;
  display: flex;
  flex-direction: column;
  font-size: 14px;
  justify-content: center;
  padding: 20px 0;
  text-align: center;
  text-decoration: none;
  width: 100%;
}

.goal li a:hover {
  background: #f3f2f7;
}

.goal li a:hover img {
  opacity: 1;
}

.goal li.stop {
  border: 1px solid #999;
  display: flex;
  flex-direction: column;
  font-size: 14px;
  justify-content: flex-start;
  padding: 20px 0;
  text-align: center;
}

.goal li.stop .h26 {
  color: #666;
  font-size: 14px;
  margin-top: 30px;
}

.g_no {
  color: #3c1fbb;
  font-size: 16px;
  font-weight: bold;
}

.g_img {
  margin: 10px 0;
}

.g_univ {
  font-size: 18px;
  font-weight: bold;
}

.g_name {
  font-size: 15px;
  font-weight: normal;
}

.g_data {
  font-size: 13px;
}

.finish {
  color: #3c1fbb;
  font-size: 32px;
  font-weight: bold;
  text-align: center;
}

.g_photo {
  margin: 16px 0 30px;
  text-align: center;
}

.g_data1 {
  background: #3c1fbb;
  border-radius: 24px;
  color: #fff;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.5;
  margin: 0 auto 16px;
  max-width: 640px;
  padding: 4px 8px;
  text-align: center;
}

.g_data2 {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
}

.g_data3 {
  font-size: 16px;
  line-height: 1.5;
  margin: 0 0 16px;
  text-align: center;
}

.about__lead {
  line-height: 1.8;
  margin-bottom: 40px;
}

.history__block {
  border-top: 1px solid #999;
  display: flex;
  padding: 0 0 1em;
}

.history dt,
.history dd {
  line-height: 1.7;
}

.history dt {
  padding: 1em 0 0;
  width: 160px;
}

.history dd {
  width: calc(100% - 160px);
}

.history__text {
  margin-top: 1em;
}

.history__kukan {
  margin-top: 1em;
}

.history__kukan li {
  display: table;
}

.history__kukan li+li {
  margin-top: 7px;
}

.history__kukan span {
  display: table-cell;
  padding-left: 1em;
}

.history__kukan--kukan {
  width: 3em;
}

.history__kukan--basyo {
  width: 22em;
}

.history__kukan--kyori {
  text-align: right;
  width: 7em;
}

.kisei_map {
  margin: 0 0 10px;
  text-align: center;
}

.map_img_s {
  display: none;
}

.kisei_pdf {
  text-align: center;
}

.pdf_link_p::before {
  background: url("../images/ic_print.png") no-repeat center/20px 20px;
  content: "";
  display: inline-block;
  height: 20px;
  margin-right: 10px;
  vertical-align: middle;
  width: 20px;
}

.pdf_link_s {
  display: none;
}

.kisei1 {
  background: #fef3e2;
  border-radius: 10px;
  margin: 3em 0;
  padding: 20px 30px;
}

.kisei1 ul {
  padding: 0 0 0 20px;
}

.kisei1 ul li {
  line-height: 1.5;
  list-style-type: square;
}

.kisei1 ul li+li {
  margin-top: 7px;
}

.kisei2 {
  background: #ecf4d8;
  border-radius: 10px;
  color: #3c1fbb;
  line-height: 1.5;
  margin: 3em 0;
  padding: 20px 30px;
}

.kinshi {
  color: #f06;
  font-weight: bold;
}

.ouen {
  margin: 3em 0;
}

.ouen ul {
  padding: 0 0 0 30px;
}

.ouen ul li {
  line-height: 1.5;
  list-style-type: circle;
}

.ouen ul li+li {
  margin-top: 7px;
}

.ouen_ttl {
  background: #000;
  border-radius: 6px;
  color: #fff;
  line-height: 1.5;
  margin-bottom: 1em;
  padding: 5px 1em 6px;
  text-align: center;
  /* width: 150px; */
  width: fit-content;
}

.onegai {
  background: #3c1fbb;
  color: #fff;
  margin: 3em 0 0;
  padding: 14px 0 15px;
  text-align: center;
}

.cNav {
  margin-bottom: 40px;
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  padding: 0 50px 0;
  width: 100%;
}

.c_menu {
  border-bottom: #666 1px solid;
  border-top: #666 1px solid;
  margin: 0 auto;
  padding: 24px 0 24px;
  text-align: center;
}

.c_menu li {
  display: inline-block;
  margin: 0 16px;
}

.c_menu li a {
  color: #000;
  display: block;
  font-weight: bold;
  line-height: 1.5;
  text-decoration: none;
}

.c_menu li a:hover {
  color: #3c1fbb;
}

.c_menu li a::before {
  color: #3c1fbb;
  content: "";
  font-family: "icomoon" !important;
  font-size: 16px;
  margin-right: 12px;
}

.c_all1 {
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
}

.c_all2 {
  margin: 1em 0;
  text-align: center;
}

.c_map {
  margin: 0 auto;
  padding: 2em 0;
  width: 740px;
}

.c_title {
  border-radius: 10px;
  font-size: 32px;
  font-weight: bold;
  line-height: 1.5;
  margin: 0 auto;
  padding: 20px 15px;
  text-align: center;
  width: 640px;
}

.c_title.c1 {
  background: #f39c12;
}

.c_title.c2 {
  background: #10b247;
}

.c_title.c3 {
  background: #3498db;
}

.c_title.c4 {
  background: #3f51b5;
}

.c_title.c5 {
  background: #ae5da1;
}

.c_title.c6 {
  background: #f5568b;
}

.c_title .ttl {
  color: #fff;
  display: block;
}

.c_title .data {
  color: #fff;
  display: block;
  font-size: 14px;
  font-weight: bold;
  margin-top: 10px;
}

.c_sub {
  font-size: 32px;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 10px;
  text-align: center;
}

.c_sub-1 {
  color: #f39c12;
}

.c_sub-2 {
  color: #10b247;
}

.c_sub-3 {
  color: #3498db;
}

.c_sub-4 {
  color: #3f51b5;
}

.c_sub-5 {
  color: #ae5da1;
}

.c_sub-6 {
  color: #f5568b;
}

.c_info {
  color: #000;
  font-size: 22px;
  font-weight: bold;
  line-height: 1.5;
  margin: 1.33em auto;
  padding: 10px 20px;
}

.c_info-1 {
  background: repeating-linear-gradient(135deg, #FFECB3, #FFECB3 5px, #ffffff 5px, #ffffff 10px);
}

.c_info-2 {
  background: repeating-linear-gradient(135deg, #C8E6C9, #C8E6C9 5px, #ffffff 5px, #ffffff 10px);
}

.c_info-3 {
  background: repeating-linear-gradient(135deg, #B3E5FC, #B3E5FC 5px, #ffffff 5px, #ffffff 10px);
}

.c_info-4 {
  background: repeating-linear-gradient(135deg, #d4dbec, #d4dbec 5px, #ffffff 5px, #ffffff 10px);
}

.c_info-5 {
  background: repeating-linear-gradient(135deg, #ead6e7, #ead6e7 5px, #ffffff 5px, #ffffff 10px);
}

.c_info-6 {
  background: repeating-linear-gradient(135deg, #fcd4e2, #fcd4e2 5px, #ffffff 5px, #ffffff 10px);
}

.c_text {
  line-height: 1.8;
}

.c_photo {
  margin: 40px auto 0;
  text-align: center;
}

.c_photo li {
  display: inline-block;
  font-size: 14px;
  padding: 0 10px;
  text-align: center;
}

.c_photo img {
  margin-bottom: 15px;
}

.schedule {
  border: solid 2px #999;
  margin: 0;
  padding: 0;
  width: 100%;
}

.schedule tr {
  background: none !important;
}

.schedule td {
  padding: 5px;
  vertical-align: middle;
}

.schedule td .s {
  font-size: 14px;
  font-size: 1.4rem;
}

.schedule.page__table thead th {
  font-weight: normal;
  padding: 10px 5px;
  vertical-align: middle;
}

.schedule .uL {
  border-bottom: solid 2px #999;
}

.schedule .rL {
  border-right: solid 2px #999;
}

.schedule .urL {
  border-bottom: solid 2px #999;
  border-right: solid 2px #999;
}

.skdl_dl {
  display: none;
}

.entry {
  margin: 1em 0 2em 0;
}

.entry th,
.entry td {
  vertical-align: middle;
}

.entry td.cent {
  text-align: center;
}

.links {
  background: #f3f2f7;
}

.links__content {
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  padding: 100px 50px 100px;
  position: relative;
  width: 100%;
}

.links__title {
  align-items: center;
  background: #3c1fbb;
  color: #fff;
  display: flex;
  flex-direction: column;
  height: 265px;
  justify-content: center;
  position: absolute;
  top: -60px;
  width: 440px;
}

.links__list {
  padding-left: 520px;
}

.links__item {
  font-size: 18px;
}

.links__item+.links__item {
  margin-top: 20px;
}

.links__link {
  color: #000;
  line-height: 1.5;
  text-decoration: none;
}

.links__link:hover,
.links__link:focus {
  color: #3c1fbb;
}

.links .icon-blank {
  font-size: 19px;
}

.gnav {
  width: 100%;
}

.nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1200px;
  width: 100%;
}

.nav__item+.nav__item {
  margin-left: 1em;
}

.nav__link {
  border-bottom: 1px solid rgba(0,0,0,0);
  color: #000;
  font-weight: 400;
  padding-bottom: 5px;
  text-decoration: none;
}

.outline {
  display: flex;
  flex-wrap: wrap;
  line-height: 1.8;
  margin: 1em 0;
}

.outline dt {
  border-top: 1px solid #999;
  font-weight: 700;
  padding: 15px 0;
  text-align: center;
  width: 16%;
}

.outline dd {
  border-top: 1px solid #999;
  font-weight: 400;
  padding: 15px 0;
  width: 84%;
}

.outline__kakko li {
  counter-increment: cnt;
  list-style-type: none;
  padding-left: 1.75em;
  text-indent: -1.75em;
}

.outline__kakko li::before {
  content: "(" counter(cnt) ")";
  margin-right: .5em;
}

.outline__c {
  padding-left: 1.5em;
}

.outline__c li {
  list-style: disc;
}

.shien {
  border: 3px solid #999;
  line-height: 1.8;
  margin: 1em 0;
  padding: 16px 32px;
}

.shien__title {
  font-size: 18px;
  font-weight: 700;
  text-align: center;
}

.shien__text {
  margin: 1em 0;
}

.shien .rit {
  text-align: right;
}

.header {
  align-items: center;
  display: flex;
  flex-direction: column;
  height: 116px;
  justify-content: center;
}

.header--top {
  height: 70px;
}

.header__inner {
  position: relative;
}

.header__inner--top {
  display: none;
}

.header__logo {
  margin-bottom: 20px;
}

.header__logo img {
  width: 160px;
}

.navbtn {
  display: none;
}

.countdown {
  bottom: 50px;
  color: #fff;
  position: absolute;
  right: 59px;
}

.countdown__title {
  font-size: 20px;
  letter-spacing: .1em;
  margin-bottom: -10px;
  text-shadow: #000 0 0 10px;
}

.countdown__text {
  align-items: flex-end;
  display: flex;
  font-family: "Barlow Condensed",sans-serif;
  text-shadow: #444 0 0 10px;
}

.countdown__text__day {
  color: #edfc05;
  display: block;
  font-size: 100px;
  letter-spacing: .1em;
  margin-right: 3px;
}

.countdown__text__day.-production {
  font-family: "Noto Sans JP",sans-serif;
  font-size: 100px;
  font-weight: 700;
  letter-spacing: 0;
  margin-right: 0;
  padding-bottom: 12px;
}

.countdown__text__small {
  display: block;
  font-size: 50px;
  padding-bottom: 5px;
}

.caution {
  color: #f06;
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  padding: 0 50px 0;
  width: 100%;
}

.caution__title {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 11px;
  text-align: center;
}

.caution__title::before {
  background: url("../images/ico_caution.svg") no-repeat center/34px 34px;
  content: "";
  display: inline-block;
  height: 34px;
  margin-right: 10px;
  vertical-align: text-bottom;
  width: 34px;
}

.caution__text {
  line-height: 1.8;
  text-align: center;
}

@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    color: #000;
    pointer-events: none;
    text-decoration: none;
  }

  .pc {
    display: block;
  }

  .sp {
    display: none;
  }

  .archives__item:nth-of-type(5n) {
    margin-right: 0;
  }

  .nav__link:hover,
  .nav__link:focus {
    border-color: #3c1fbb;
    color: #3c1fbb;
    font-weight: 500;
  }
}

@media screen and (max-width: 767px) {
  body {
    font-size: 14px;
    min-width: auto;
  }

  img {
    max-width: 100%;
  }

  .anchor--page {
    display: block;
    margin-top: -60px;
    padding-top: 60px;
  }

  hr {
    margin: 30px auto;
    padding: 0;
  }

  .breadcrumb {
    margin-bottom: 40px;
    padding: 11px 0 4px;
  }

  .breadcrumb__list {
    padding-left: 20px;
    padding-right: 20px;
  }

  .breadcrumb__item {
    font-size: 13px;
    margin-bottom: 7px;
  }

  .breadcrumb__item+.breadcrumb__item {
    padding-left: 1em;
    text-indent: -1em;
  }

  .pagenavi {
    bottom: 20px;
    right: 20px;
  }

  .pagenavi.js-footer {
    top: -60px;
  }

  .pagenavi__link {
    height: 40px;
    padding: 12px 0 14px;
    width: 40px;
  }

  .pagenavi__link img {
    width: 16px;
  }

  .title--top {
    font-size: 50px;
  }

  .title--top span {
    font-size: 16px;
    margin-top: 11px;
  }

  .title--borderL {
    border-width: 8px;
    font-size: 20px;
    margin-bottom: 1em;
  }

  .information {
    margin-bottom: 44px;
  }

  .information__block {
    border-width: 5px;
    padding: 0 22px 17px;
  }

  .information__title {
    font-size: 20px;
    margin-bottom: 20px;
    margin-top: -13px;
  }

  .information__title span {
    padding: 0 5px;
  }

  .information__text {
    font-size: 14px;
    line-height: 1.6;
  }

  .book__about {
    display: block;
    margin-bottom: 50px;
  }

  .book__about__title {
    border-radius: 6px;
    font-size: 16px;
    margin-bottom: 10px;
    padding: 7px 15px 9px;
  }

  .book__about__list li::before {
    font-size: 12px;
  }

  .book__detail {
    margin-bottom: 30px;
    width: 100%;
  }

  .book__lead {
    margin-bottom: 20px;
  }

  .book__img {
    width: 100%;
  }

  .book__sale {
    padding: 15px 20px;
  }

  .book__sale__title {
    font-size: 20px;
    margin-bottom: 15px;
  }

  .book__sale__content {
    margin-top: 15px;
  }

  .book__sale__content dt::before {
    font-size: 12px;
  }

  .book__sale__content dd {
    margin-bottom: 15px;
    padding-left: 18px;
  }

  .news--top {
    padding-left: 20px;
    padding-right: 20px;
  }

  .news--top {
    margin-bottom: 110px;
  }

  .news--top {
    display: block;
  }

  .news--top__main {
    margin-bottom: 60px;
    width: 100%;
  }

  .news--top__title {
    margin-bottom: 7px;
  }

  .news__list__date {
    margin-bottom: -3px;
    width: auto;
  }

  .news__list__title {
    width: auto;
  }

  .news__list__link {
    display: block;
    line-height: 1.8;
    padding: 8px 0 9px;
  }

  .banner {
    margin: 0 auto;
  }

  .big3 {
    margin-bottom: 30px;
  }

  .big3 tr,
  .big3 th,
  .big3 td {
    border: none;
    display: block;
  }

  .big3 tbody {
    display: block;
  }

  .big3 tbody th {
    padding: 10px 5px 0;
    text-align: left;
  }

  .big3 tbody td {
    padding: 0 5px;
  }

  .big3 tbody td:nth-of-type(1):before {
    content: "出雲優勝校　：";
  }

  .big3 tbody td:nth-of-type(2):before {
    content: "全日本優勝校：";
  }

  .big3 tbody td:nth-of-type(3):before {
    content: "箱根優勝校　：";
  }

  .big3 tbody td:nth-of-type(4) {
    text-align: left;
  }

  .big3 tbody td:nth-of-type(4)::before {
    content: "三　　　冠　：";
  }

  .big3 .ago {
    display: none;
  }

  .archives {
    padding-left: 20px;
    padding-right: 20px;
  }

  .archives {
    padding-top: 53px;
  }

  .archives__title {
    margin-bottom: 20px;
  }

  .archives__item {
    margin-bottom: 10px;
    margin-right: 10px;
    width: calc((100% - 20px)/3);
  }

  .archives__item:nth-of-type(3n) {
    margin-right: 0;
  }

  .archives__link {
    padding: 15px 0;
  }

  .container {
    margin-bottom: 60px;
  }

  .top .container {
    margin-bottom: 50px;
  }

  .content {
    padding-left: 20px;
    padding-right: 20px;
  }

  .kv {
    display: block;
    height: calc(75vh - 130px);
    margin-bottom: 102px;
    max-height: 400px;
    min-height: auto;
  }

  .kv__logo {
    display: none;
  }

  .kv__img {
    width: 100%;
  }

  .kv__lead {
    bottom: 15px;
    padding-right: 5px;
  }

  .kv__lead img {
    width: 100%;
  }

  .kv__slider__item {
    height: calc(75vh - 130px);
    max-height: 400px;
    min-height: auto;
  }

  .footer {
    padding-top: 40px;
  }

  .footer__inner {
    padding-left: 20px;
    padding-right: 20px;
  }

  .footer__inner {
    display: flex;
    flex-direction: column;
  }

  .footer__logo {
    margin-bottom: 18px;
    order: 2;
    text-align: center;
  }

  .footer__logo img {
    width: 149px;
  }

  .footer__ban {
    line-height: 1.6;
    margin-bottom: 37px;
    order: 1;
    text-align: left;
  }

  .copyright {
    bottom: auto;
    font-size: 13px;
    order: 3;
    position: relative;
    text-align: center;
  }

  .prbanner {
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 53px;
  }

  .prbanner__title {
    margin-bottom: 20px;
  }

  .prbanner__list {
    display: block;
  }

  .prbanner__item {
    margin: 0 0 20px;
  }

  .win_photo {
    margin: 0 auto 1em;
    width: 100%;
  }

  .win {
    margin: 1em auto 1em;
  }

  .win_ttl {
    font-size: 16px;
    margin-right: 5px;
    padding: 2px 10px;
  }

  .win_winner {
    font-size: 18px;
  }

  .kiroku {
    margin-bottom: 2em;
  }

  .kiroku table {
    border: none;
  }

  .kiroku table th,
  .kiroku table td {
    border: none;
    display: block;
    text-align: left;
  }

  .kiroku table th {
    padding: 0 10px;
  }

  .kiroku table td {
    border-bottom: 1px solid #999;
    padding: 10px 5px;
    text-align: left;
  }

  .kiroku table td::before {
    color: #3c1fbb;
    content: "";
    font-family: "icomoon" !important;
    margin-right: 10px;
    vertical-align: middle;
  }

  .kiroku table td.htmlList {
    display: none;
  }

  .tenki table th,
  .tenki table td {
    font-size: 14px;
    padding: 5px 5px;
  }

  .tenki table thead th {
    padding: 5px 5px;
  }

  .record__kukan {
    margin-bottom: 20px;
  }

  .record__table {
    border: none;
    display: block;
  }

  .record__table thead {
    display: none;
  }

  .record__table tbody {
    display: block;
  }

  .record__table tbody tr {
    display: block;
    margin-bottom: 10px;
  }

  .record__table tbody th,
  .record__table tbody td {
    border: none;
    display: block;
    text-align: left;
  }

  .record__table tbody th {
    border-top: #999 1px solid;
    font-weight: bold;
    padding: 10px 5px 0;
    text-align: left;
  }

  .record__table tbody th.first {
    border-top: none;
  }

  .record__table tbody th:nth-of-type(1):after {
    content: "位";
  }

  .record__table tbody th.dnf:nth-of-type(1):after {
    content: "";
  }

  .record__table tbody td {
    font-size: 14px;
    padding: 0 5px;
  }

  .record__table tbody td:before {
    content: "";
    display: inline-block;
    margin-right: 1em;
    -moz-text-align-last: justify;
    text-align-last: justify;
  }

  .recordsA tbody td:nth-of-type(1),
  .recordsA tbody td:nth-of-type(2),
  .recordsA tbody td:nth-of-type(6) {
    text-align: left;
  }

  .recordsA tbody td:before {
    width: 6em;
  }



  .recordsA tbody td:nth-of-type(1):before {
    content: "[ナンバー]";
  }

  .recordsA tbody td:nth-of-type(2):before {
    content: "[チーム名]";
  }

  .recordsA tbody td:nth-of-type(3):before {
    content: "[氏　　名]";
  }

  .recordsA tbody td:nth-of-type(4):before {
    content: "[フリガナ]";
  }
  
  .recordsA tbody td:nth-of-type(5):before {
    content: "[記　　録]";
  }

  .recordsA tbody td:nth-of-type(6):before {
    content: "[トップとの差]";
  }

  .recordsA tbody td:nth-of-type(7):before {
    content: "[備　　考]";
  }

  .recordsB tbody td:nth-of-type(1),
  .recordsB tbody td:nth-of-type(5) {
    text-align: left;
  }

  .recordsB tbody td::before {
    width: 5em;
  }

  .recordsB tbody td:nth-of-type(1):before {
    content: "[ナンバー]";
  }

  .recordsB tbody td:nth-of-type(2):before {
    content: "[氏　　名]";
  }

  .recordsB tbody td:nth-of-type(3):before {
    content: "[フリガナ]";
  }

  .recordsB tbody td:nth-of-type(4):before {
    content: "[チーム名]";
  }

  .recordsB tbody td:nth-of-type(5):before {
    content: "[記　　録]";
  }

  .recordsB tbody td:nth-of-type(6):before {
    content: "[備　　考]";
  }

  .orderList .htmlList {
    display: none;
  }

  .runnerList {
    display: block;
  }

  .runnerList1,
  .runnerList2 {
    width: 100%;
  }

  .runners tr {
    display: flex;
    flex-wrap: wrap;
  }

  .runners tbody {
    display: block;
  }

  .runners tbody th,
  .runners tbody td {
    border: none;
    border-top: 1px solid #999;
  }

  .runners tbody th {
    padding: 10px 0;
    width: 3em;
  }

  .runners tbody th:nth-of-type(1)::after {
    content: ".";
  }

  .runners tbody td {
    padding: 10px 5px;
    width: calc(100% - 3em);
  }

  .runner--h2 {
    font-size: 24px;
    margin: 0 0 1em;
    padding: 0 0 8px 0;
  }

  .runner--h3 {
    margin: .83em 0;
  }

  .tasuki {
    font-size: 16px;
    margin: 1em auto 1em;
  }

  .coach {
    border: none;
    border-top: none;
    margin: 1em 0;
    padding: 10px;
    width: 100%;
  }

  .coach thead {
    display: none;
  }

  .coach td {
    border: none;
    border-top: 1px solid #999;
    display: block;
    padding: 10px 0;
    text-align: left;
    width: auto;
  }

  .coach td .c_name {
    font-size: 16px;
  }

  .coach td .c_kana,
  .coach td .iv_kana {
    font-size: 12px;
    margin-left: 5px;
  }

  .coach td .c_kana::before,
  .coach td .iv_kana::before {
    content: "";
  }

  .coach td .iv_name::before {
    content: "\a";
    white-space: pre;
  }

  .coach td .iv_kana::before {
    content: "\a";
    white-space: pre;
  }

  .coach tbody td:nth-of-type(1)::before {
    color: #3c1fbb;
    content: "監督";
    display: block;
  }

  .coach tbody td:nth-of-type(2)::before {
    color: #3c1fbb;
    content: "マネージャー";
    display: block;
  }

  .team2,
  .team3,
  .team4 {
    border-bottom: 1px solid #999;
    margin-bottom: 10px;
  }

  .page__table.team2 th,
  .page__table.team2 td,
  .page__table.team3 th,
  .page__table.team3 td,
  .page__table.team4 th,
  .page__table.team4 td {
    border: none;
    display: list-item;
    text-align: left;
  }

  .page__table.team2 tbody,
  .page__table.team3 tbody,
  .page__table.team4 tbody {
    display: block;
  }

  .page__table.team2 tbody tr,
  .page__table.team3 tbody tr,
  .page__table.team4 tbody tr {
    display: block;
    margin-bottom: 10px;
  }

  .page__table.team2 tbody th,
  .page__table.team3 tbody th,
  .page__table.team4 tbody th {
    border-top: 1px solid #999;
    color: #3c1fbb;
    font-size: 14px;
    list-style-type: none;
    margin: 0;
    padding: 10px 0 0;
  }

  .page__table.team2 tbody td,
  .page__table.team3 tbody td,
  .page__table.team4 tbody td {
    display: block;
    font-size: 14px;
    list-style-type: none;
    margin: 0;
    padding: 0;
  }

  .page__table.team2 tbody td .r_name,
  .page__table.team3 tbody td .r_name,
  .page__table.team4 tbody td .r_name {
    font-size: 18px;
  }

  .page__table.team2 tbody td .r_kana,
  .page__table.team3 tbody td .r_kana,
  .page__table.team4 tbody td .r_kana {
    font-size: 12px;
    margin-left: 5px;
  }

  .page__table.team2 tbody td .r_kana::before,
  .page__table.team3 tbody td .r_kana::before,
  .page__table.team4 tbody td .r_kana::before {
    content: "";
  }

  .page__table.team2 tbody td:nth-of-type(1):before {
    content: "";
  }

  .page__table.team2 tbody td:nth-of-type(2):before {
    content: "学年：";
  }

  .page__table.team2 tbody td:nth-of-type(3):before {
    content: "出身高校（都道府県）：";
  }

  /* .page__table.team2 tbody td:nth-of-type(4):before {
    content: "大学名：";
  } */

  .page__table.team2 tbody td:nth-of-type(4):before {
    content: "自己最高記録/10000m：";
  }

  .page__table.team2 tbody td:nth-of-type(5):before {
    content: "自己最高記録/5000m：";
  }
  .page__table.team2 tbody td.runner--comment:before,
  .page__table.team3 tbody td.runner--comment:before {
    content: "選手紹介コメント：";
  }

  .page__table.team2 .s,
  .page__table.team3 .s,
  .page__table.team4 .s {
    font-size: .83em;
  }

  .page__table.team3 tbody td:nth-of-type(1):before {
    content: "";
  }

  .page__table.team3 tbody td:nth-of-type(2):before {
    content: "学年：";
  }

  .page__table.team3 tbody td:nth-of-type(3):before {
    content: "出身高校（都道府県）：";
  }
  .page__table.team3 tbody td:nth-of-type(4):before {
    content: "大学名：";
  }
  .page__table.team3 tbody td:nth-of-type(5):before {
    content: "自己最高記録/10000m：";
  }

  .page__table.team3 tbody td:nth-of-type(6):before {
    content: "自己最高記録/5000m：";
  }

  .page__table.team4 tbody td:nth-of-type(1):before {
    content: "";
  }

  .page__table.team4 tbody td:nth-of-type(2):before {
    content: "所属大学：";
  }

  .page__table.team4 tbody td:nth-of-type(3):before {
    content: "自己最高記録/10000m：";
  }

  .page__table.team4 tbody td:nth-of-type(4):before {
    content: "自己最高記録/5000m：";
  }

  .comment {
    border-top: 1px solid #999;
    margin: 0 0 2em;
    padding: 15px 0;
  }

  .sNav {
    display: block;
    margin-bottom: 30px;
  }

  .sub_menu {
    background: #f3f2f7;
    border-top: #999 1px solid;
    display: flex;
    flex-wrap: wrap;
  }

  .sub_menu li {
    border-bottom: #999 1px solid;
    border-right: #999 1px solid;
    width: 50%;
  }

  .sub_menu li.even {
    border-right: none;
  }

  .sub_menu li a {
    color: #000;
    display: block;
    font-size: 14px;
    line-height: 1.5;
    padding: 12px 0 12px 12px;
    text-decoration: none;
  }

  .sub_menu li a::before {
    color: #3c1fbb;
    content: "";
    font-family: "icomoon" !important;
    font-size: 16px;
    margin-right: 12px;
    vertical-align: middle;
  }

  .dataArchive1 tbody {
    display: block;
  }

  .dataArchive1 tbody tr {
    display: block;
    margin-bottom: 10px;
  }

  .dataArchive1 tbody th,
  .dataArchive1 tbody td {
    border: none;
    display: list-item;
    text-align: left;
  }

  .dataArchive1 tbody th {
    border-top: #999 1px solid;
    font-weight: bold;
    list-style-type: none;
    margin: 0;
    padding: 10px 5px 0;
  }

  .dataArchive1 tbody th.first {
    border-top: none;
    font-weight: bold;
    list-style-type: none;
    margin: 0;
    padding: 10px 5px 0;
  }

  .dataArchive1 tbody td {
    font-size: 14px;
    list-style-type: none;
    margin: 0;
    padding: 0 5px;
  }

  .dataArchive1 tbody td::before {
    display: block;
    float: left;
    width: 7em;
  }

  .dataArchive1 tbody td:nth-of-type(1):before {
    content: "[区　間　数] ";
  }

  .dataArchive1 tbody td:nth-of-type(2):before {
    content: "[総　距　離] ";
  }

  .dataArchive1 tbody td:nth-of-type(3):before {
    content: "[優勝チーム] ";
  }

  .dataArchive1 tbody td:nth-of-type(4):before {
    content: "[記　　　録] ";
  }

  .dataArchive2 tr {
    border-top: none;
    display: block;
    margin-bottom: 10px;
    padding-top: 10px;
  }

  .dataArchive2 td {
    border: none;
    display: block;
    font-size: 14px;
    padding: 0;
    text-align: left;
  }

  .dataArchive2 tbody td::before {
    display: block;
    float: left;
    font-size: 14px;
    padding: 0 5px;
  }

  .dataArchive2 tbody td:nth-of-type(1):before {
    content: "チーム名：";
  }

  .dataArchive2 tbody td:nth-of-type(2):before {
    content: "記　　録：";
  }

  .dataArchive2 tbody td:nth-of-type(3):before {
    content: "回　　数：";
  }

  .dataArchive2 tbody td:nth-of-type(4):before {
    content: "距　　離：";
  }

  .dataArchive3 {
    border: none;
    display: block;
  }

  .dataArchive3 tr:nth-child(2n+1) {
    background: none;
  }

  .dataArchive3 thead {
    display: none;
  }

  .dataArchive3 tbody {
    display: block;
  }

  .dataArchive3 tbody tr {
    display: block;
    margin-bottom: 10px;
  }

  .dataArchive3 tbody th,
  .dataArchive3 tbody td {
    border: none;
    display: list-item;
    text-align: left;
  }

  .dataArchive3 tbody th {
    border-top: #999 1px solid;
    font-weight: bold;
    list-style-type: none;
    margin: 0;
    padding: 10px 5px 0;
  }

  .dataArchive3 tbody th.first {
    border-top: none;
  }

  .dataArchive3 tbody td {
    font-size: 14px;
    list-style-type: none;
    margin: 0;
    padding: 0 5px;
  }

  .dataArchive3 tbody td::before {
    display: block;
    float: left;
    width: 6em;
  }

  .dataArchive3 tbody td:nth-of-type(1):before {
    content: "[距　　離] ";
  }

  .dataArchive3 tbody td:nth-of-type(2):before {
    content: "[選 手 名] ";
  }

  .dataArchive3 tbody td:nth-of-type(3):before {
    content: "[チーム名] ";
  }

  .dataArchive3 tbody td:nth-of-type(4):before {
    content: "[記　　録] ";
  }

  .dataArchive3 tbody td:nth-of-type(5):before {
    content: "[回　　数] ";
  }

  .dataRanking {
    display: none;
  }

  .event__title {
    font-size: 24px;
    margin-bottom: 15px;
  }

  .event__title span {
    border-width: 3px;
    padding-bottom: 5px;
  }

  .event__subtitle {
    font-size: 18px;
    margin-bottom: 27px;
  }

  .event__subtitle span {
    font-size: 14px;
  }

  .event__img {
    margin-bottom: 35px;
  }

  .event__text {
    line-height: 1.6;
    margin-bottom: 36px;
  }

  .event__map.-column {
    display: block;
  }

  .event__map__item+.event__map__item {
    margin-top: 30px;
  }

  .-column .event__map__item {
    width: 100%;
  }

  .event__map__gm iframe {
    height: 200px;
  }

  .page__title {
    background-position: left -11px;
    background-size: 310px auto;
    font-size: 30px;
    height: 140px;
    line-height: 1.5;
    padding: 0 20px;
  }

  .page__title--small {
    font-size: 16px;
    margin-top: 0;
  }

  .page__title--small.-mb {
    margin-bottom: 0;
  }

  .page__title .saleImg {
    line-height: 1;
    margin-bottom: 0;
  }

  .page__title .saleImg img {
    width: 80px;
  }

  .page__table {
    border: none;
    display: block;
  }

  .page__table tr:nth-child(2n+1) {
    background: none;
  }

  .page__table thead {
    display: none;
  }

  .dl_link {
    background: url("../images/ic_pdf_s.png") no-repeat left 50%;
    display: block;
    line-height: 1.5;
    margin: 1em 0 2em;
    padding: 0 0 0 32px;
  }

  .towel__content {
    display: block;
    margin-bottom: 50px;
  }

  .towel__detail {
    margin-bottom: 50px;
    width: 100%;
  }

  .towel__detail__title {
    border-radius: 6px;
    font-size: 16px;
    margin-bottom: 20px;
    max-width: 100%;
    padding: 7px 15px 9px;
  }

  .towel__imglist {
    width: 100%;
  }

  .towel__img--caption {
    font-size: 12px;
    text-align: left;
  }

  .towel__photo li {
    margin: 0 2% 5% 0;
    width: 49%;
  }

  .towel__photo li:nth-of-type(even) {
    margin-right: 0;
  }

  .click {
    display: none;
  }

  .goal {
    text-align: left;
  }

  .goal li {
    margin-bottom: 0;
    margin-right: 0;
    width: 100%;
  }

  .goal li:last-child a {
    border-bottom: 1px solid #999;
  }

  .goal li a {
    border: none;
    border-bottom: 1px solid #999;
    display: block;
    font-size: 16px;
    padding: 10px 5px 10px;
    position: relative;
    text-align: left;
  }

  .goal li a::after {
    color: #3c1fbb;
    content: "";
    display: block;
    font-family: "icomoon" !important;
    line-height: 1;
    margin-top: -8px;
    position: absolute;
    right: 2%;
    top: 50%;
  }

  .goal li.stop {
    border: none;
    border-bottom: 1px solid #999;
    display: block;
    font-size: 16px;
    padding: 10px 5px 15px;
    text-align: left;
  }

  .goal li.stop .h26 {
    margin-top: 5px;
  }

  .g_no {
    display: inline-block;
    margin-right: 1em;
  }

  .g_img {
    display: none;
  }

  .g_univ {
    display: inline-block;
  }

  .finish {
    font-size: 24px;
  }

  .g_photo {
    margin-bottom: 20px;
  }

  .g_data1 {
    font-size: 20px;
    width: 100%;
  }

  .g_data2 {
    font-size: 20px;
  }

  .history__block {
    border-width: 2px;
    display: block;
    padding-bottom: 2em;
  }

  .history dt,
  .history dd {
    width: 100%;
  }

  .history dt {
    border-bottom: 1px solid #999;
    padding: .7em 0;
  }

  .history__kukan {
    padding-left: 1.5em;
  }

  .history__kukan li {
    display: list-item;
    list-style: disc;
  }

  .history__kukan span {
    display: block;
    padding-left: 0;
    width: 100%;
  }

  .history__kukan--kyori {
    text-align: left;
  }

  .kisei_map {
    margin-bottom: 15px;
  }

  .map_img_p {
    display: none;
  }

  .map_img_s {
    display: block;
  }

  .pdf_link_p {
    display: none;
  }

  .pdf_link_p::before {
    background: url("../images/ic_pdf_s.png") no-repeat center/16px 16px;
    height: 16px;
    width: 16px;
  }

  .pdf_link_s {
    display: block;
  }

  .pdf_link_s::before {
    background: url("../images/ic_pdf_s.png") no-repeat center/16px 16px;
    content: "";
    display: inline-block;
    height: 16px;
    margin-right: 10px;
    vertical-align: middle;
    width: 16px;
  }

  .kisei1 {
    padding: 20px;
  }

  .kisei2 {
    padding: 20px;
  }

  .onegai {
    line-height: 1.5;
    padding: 12px 15px 13px;
  }

  .cNav {
    padding-left: 20px;
    padding-right: 20px;
  }

  .cNav {
    padding: 0;
  }

  .c_menu {
    background: #f3f2f7;
    border-bottom: none;
    border-top: #999 1px solid;
    display: flex;
    flex-wrap: wrap;
    padding: 0;
    text-align: left;
  }

  .c_menu li {
    border-bottom: #999 1px solid;
    border-right: #999 1px solid;
    margin: 0;
    width: 50%;
  }

  .c_menu li.even {
    border-right: none;
  }

  .c_menu li:last-child {
    border-right: none;
    display: block;
    width: 100%;
  }

  .c_menu li a {
    font-size: 14px;
    font-weight: normal;
    padding: 12px 0 12px 12px;
  }

  .c_all1 {
    display: none;
  }

  .c_all2 {
    margin: 8px 0;
  }

  .c_map {
    height: auto !important;
    max-width: 100% !important;
    padding: 0 0 1em;
  }

  .c_title {
    font-size: 24px;
    margin-bottom: 20px;
    padding: 10px 15px;
    width: 100%;
  }

  .c_title .data {
    margin-top: 0;
  }

  .c_sub {
    font-size: 20px;
  }

  .c_info {
    font-size: 18px;
    margin: 1em auto;
    padding: 5px 10px;
  }

  .c_photo li {
    display: block;
    margin-bottom: 20px;
  }

  .c_photo img {
    margin-bottom: 10px;
  }

  .schedule {
    display: none !important;
  }

  .entry tr {
    display: block;
    margin-bottom: 10px;
  }

  .entry th,
  .entry td {
    border: none;
    display: block;
    text-align: left;
  }

  .entry th {
    border-top: 1px solid #999;
    color: #3c1fbb;
    font-weight: 700;
    padding: 10px 5px 0;
  }

  .entry td {
    padding: 0 5px;
  }

  .entry td.cent {
    text-align: left;
  }

  .entry tbody {
    display: block;
  }

  .entry tbody th:nth-of-type(1)::before {
    content: "No.";
  }

  .entry tbody td .e_univ1 {
    font-size: 14px;
    font-weight: bold;
  }

  .entry tbody td .e_univ2 {
    color: #999;
    font-size: 12px;
    font-weight: normal;
  }

  .entry tbody td:nth-of-type(2)::before {
    content: "地区名：";
  }

  .entry tbody td:nth-of-type(3)::before {
    content: "出場回数：";
  }

  .links__content {
    padding-left: 20px;
    padding-right: 20px;
  }

  .links__content {
    padding-bottom: 40px;
    padding-top: 0;
  }

  .links__title {
    height: auto;
    margin: 0 auto -23px;
    padding: 38px 0;
    position: relative;
    width: calc(100% - 84px);
  }

  .links__list {
    padding-left: 0;
  }

  .links__item {
    font-size: 14px;
  }

  .links__item+.links__item {
    margin-top: 17px;
  }

  .gnav {
    align-items: flex-start;
    background: #3c1fbb;
    display: flex;
    height: 100vh;
    justify-content: center;
    left: 0;
    opacity: 0;
    overflow-y: scroll;
    position: fixed;
    top: 55px;
    transition: all .25s ease;
    visibility: hidden;
    z-index: 1;
  }

  .gnav.js-active {
    opacity: 1;
    visibility: inherit;
  }

  .nav {
    display: block;
    margin-bottom: 100px;
    padding: 78px 0;
    width: auto;
  }

  .nav__item+.nav__item {
    margin-left: 0;
    margin-top: 28px;
  }

  .nav__link {
    border-bottom: 0;
    color: #fff;
    display: block;
    font-size: 18px;
    font-weight: 500;
    padding-bottom: 0;
  }

  .outline {
    display: block;
  }

  .outline dt {
    padding: 10px 0 0;
    text-align: left;
    width: 100%;
  }

  .outline dd {
    border-top: none;
    padding: 0 0 10px;
    width: 100%;
  }

  .shien {
    padding: 16px 20px;
  }

  .header {
    display: block;
    height: 55px;
  }

  .header--top {
    height: 55px;
  }

  .header__inner {
    background: #fff;
    padding: 15px 0 15px 20px;
  }

  .header__inner--top {
    display: block;
  }

  .header__logo img {
    width: 147px;
  }

  .header__logo {
    margin-bottom: 0;
  }

  .header__logo--top img {
    width: 242px;
  }

  .navbtn {
    align-items: center;
    background: #000;
    display: flex;
    flex-wrap: wrap;
    height: 55px;
    justify-content: center;
    position: absolute;
    right: 0;
    top: 0;
    width: 55px;
    z-index: 10;
  }

  .navbtn__item {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: rgba(0,0,0,0);
    border: none;
    cursor: pointer;
    display: block;
    font-size: 0;
    height: 100%;
    outline: none;
    padding: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 1;
  }

  .navbtn__inner {
    height: 18px;
    position: relative;
    width: 21px;
  }

  .navbtn__inner span {
    background: #fff;
    display: inline-block;
    height: 2px;
    position: absolute;
    transition: all .25s ease;
    width: 100%;
  }

  .navbtn__inner span:nth-of-type(1) {
    top: 0;
  }

  .navbtn__inner span:nth-of-type(2) {
    margin-top: -1px;
    top: 50%;
  }

  .navbtn__inner span:nth-of-type(3) {
    bottom: 0;
  }

  .js-navopen .navbtn__inner span:nth-of-type(1) {
    transform: translateY(8px) rotate(45deg);
  }

  .js-navopen .navbtn__inner span:nth-of-type(2) {
    opacity: 0;
  }

  .js-navopen .navbtn__inner span:nth-of-type(3) {
    transform: translateY(-8px) rotate(-45deg);
  }

  .countdown {
    bottom: 22px;
    left: 20px;
    right: auto;
  }

  .countdown__title {
    font-size: 14px;
  }

  .countdown__text__day {
    font-size: 80px;
    margin-right: 0;
  }

  .countdown__text__day.-production {
    font-size: 50px;
    padding-bottom: 7px;
  }

  .countdown__text__small {
    font-size: 40px;
    padding-bottom: 4px;
  }

  .caution {
    padding-left: 20px;
    padding-right: 20px;
  }

  .caution__title::before {
    background-position: center top;
    background-size: 24px 24px;
    height: 27px;
    margin-right: 7px;
    vertical-align: middle;
    width: 24px;
  }

  .caution__text {
    font-size: 16px;
    line-height: 1.6;
    text-align: left;
  }
}

@media print {
  .archives__item:nth-of-type(5n) {
    margin-right: 0;
  }

  .kv {
    height: 810px;
  }
}