  #contents span,
  #contents a {
  	font-family: "Aoto Gothic Regular", Sans-serif;
  }

  #contents a {
  	font-family: "Aoto Gothic Bold", Sans-serif;
  }

  .fwb {
  	font-family: "Auto Gothic Bold", Sans-serif;
  	font-weight: bold;
  }

  .color-alert {
  	color: red;
  }

  .color-blue {
  	color: #003893;
  }

  .d-ib {
  	display: inline-block;
  }

  .mt20 {
  	margin-top: 20px !important;
  }

  .mb20 {
  	margin-bottom: 20px;
  }

  .mt40 {
  	margin-top: 40px !important;
  }

  .pt20 {
  	padding-top: 20px;
  }

  .rules {
  	padding: 30px 0;
  }

  @media (max-width: 768px) {
  	.rules:first-of-type {
  		padding: 0;
  	}
  }

  /* アンカーリンク */
  .anchor {
  	display: grid;
  	grid-template-columns: repeat(4, 1fr);
  	gap: 10px;
  }

  .anchor li a {
  	position: relative;
  	display: flex;
  	align-items: center;
  	height: 70px;
  	padding: 8px;
  	padding-inline-start: 6px;
  	font-family: "Auto Gothic Bold";
  	font-weight: bold;
  	color: #f0f6ff;
  	border-left: solid 8px #ea6000;
  	background-color: #003893;
  }

  @media (max-width: 768px) {
  	.anchor {
  		grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  	}

  	.anchor li a {
  		padding: 6px;
  		height: 56px;
  	}
  }

  .rules__content-wrap+.rules__content-wrap {
  	margin-top: 20px;
  }

  /* h３ */
  .rules__h3 {
  	margin-block: 0 20px;
  	padding: .8em 0 .6em .4em;
  	color: #f0f6ff;
  	font-size: clamp(18px, 2.2vw, 22px);
  	line-height: 1;
  	background-color: #003893;
  	border-left: solid 8px #ea6000;
  }

  /* リンク */
  a.rules__text__link {
  	color: #003893;
  	text-decoration: underline;
  }

  a.rules__text__link:hover {
  	opacity: .8;
  	text-decoration: underline;

  }

  /* h4装飾 */
  .rules__heading h4 {
  	text-align: left;
  	padding-left: 3px;
  	position: relative;
  	color: #003893;
  	font-size: clamp(18px, 2.2vw, 22px);
  	padding-bottom: 10px;
  	margin-top: 40px;
  	line-height: 1.5;
  	width: 100%;
  	font-family: "Aoto Gothic Bold", sans-serif;
  }

  .rules__heading h4::after {
  	position: absolute;
  	bottom: 0;
  	left: 0;
  	width: 100%;
  	height: 2px;
  	content: '';
  	display: block;
  	background: linear-gradient(140deg, #ea6000 0%, #ea6000 10%, #003893 10%, #003893 100%);
  }

  /* h4装飾なし */
  .rules__h4 {
  	margin-bottom: 6px;
  	color: #ea6000;
  }

  .rules__content-wrap>.rules__h4:not(:first-child),
  .rules__box>.rules__h4:not(:first-child) {
  	margin-top: 40px;
  }

  .rules__h5 {
  	font-size: clamp(14px, 1.6vw, 16px);
  	/* font-weight: bold;     */
  	margin: 0;
  }

  .rules__h5-orange {
  	margin-bottom: 6px;
  	font-size: 18px;
  	font-family: "Auto Gothic Bold";
  	font-weight: bold;
  	color: #ea6000;
  }

  .orange-box {
  	display: inline-block;
  	font-size: .7em;
  	padding: 0.5em;
  	color: #fff;
  	background: #ea6000;
  	font-family: "Auto Gothic Bold";
  	font-weight: bold;
  }

  /* 注意事項 */
  .rules__box-bg {
  	padding: 10px;
  	background-color: #fff59d;
  	border: solid 2px #ff0000;
  }

  /* チェックマーク付きテキスト */
  .rules__text {
  	position: relative;
  	padding-inline-start: 1.25em;
  }



  p {
  	margin: 0;
  }

  .rules__text+.rules__text {
  	margin-top: 6px;
  }

  .rules__text--line {
  	text-decoration: underline;
  }

  .rules__img {
  	margin-bottom: 20px;
  }

  @media (max-width: 768px) {
  	.rules__img {
  		overflow-x: scroll;
  	}

  	.rules__img img {
  		width: 600px !important;
  		max-width: none;
  	}
  }

  /* 横並び */
  .rules__box {
  	display: flex;
  	gap: 20px;
  }

  @media (max-width: 768px) {
  	.rules__box {
  		display: block;
  	}
  }

  /* 黄色いマーカー */
  .rules .num {
  	display: inline-block;
  	margin-inline: .25em;
  	padding: .15em .5em;
  	vertical-align: middle;
  	color: #000;
  	background-color: #ffc000;
  }

  /* キャプション付き写真 */
  .rules__figure+.rules__figure {
  	margin-top: 20px;
  }

  /* リンク */
  .rules__link-wrap {
  	text-align: center;
  	margin-bottom: 30px;
  }

  /* 矢印 */
  .rules__link-wrap a {
  	position: relative;
  }

  .arrow-right {
  	position: absolute;
  	right: 1em;
  	top: .8em;
  	display: inline-block;
  	vertical-align: middle;
  	color: #ea6000;
  	line-height: 1;
  	width: 1em;
  	height: 1em;
  	transform: translateX(-25%) rotate(45deg);
  }

  .arrow-right::before,
  .arrow-right::after {
  	content: "";
  	position: absolute;
  	background-color: #ea6000;
  }

  .arrow-right::before {
  	top: 0;
  	left: 0;
  	right: 0;
  	height: 0.1em;
  }

  .arrow-right::after {
  	top: 0;
  	right: 0;
  	bottom: 0;
  	width: 0.1em;
  }

  /* リンクボタン */
  .rules__cv-text {
  	font-family: "Auto Gothic Bold";
  	font-weight: bold;
  	color: #003893;
  }

  .rules__link {
  	display: inline-block;
  }

  /* youtube */
  .rules__video {
  	width: 80%;
  	margin: 0 auto;
  }

  .rules__video iframe {
  	width: 100%;
  	height: auto;
  	aspect-ratio: 16 / 9;
  }

  @media (max-width: 768px) {
  	.rules__video {
  		width: 100%;
  		margin: 0 auto;
  	}
  }

  /* Ｊリーグ共通 */
  .league__box {
  	width: 100%;
  	padding: 30px 30px;
  	margin-bottom: 30px;
  	text-align: center;
  	border: solid 2px #003893;
  }

  .league__leadtxt {
  	display: inline-block;
  	padding: .5em .8em;
  	/* font-size: 20px; */
  	margin-bottom: 20px;
  	font-size: clamp(16px, 4.5vw, 20px);
  	color: #f0f6ff;
  }

  .league__lead-red {
  	background: #c50018
  }

  .league__lead-blue {
  	background: #003893;
  }

  .league__box--list {
  	display: grid;
  	grid-template-columns: repeat(3, 1fr);
  	gap: 20px;
  	width: 80%;
  	margin: 0 auto;
  }

  @media (max-width: 768px) {
  	.league__box--list {
  		grid-template-columns: repeat(2, 1fr);
  		width: 100%;
  	}
  }

  .league__box-contents {
  	padding-bottom: 20px;
  	text-align: center;
  }

  .league__box__border {
  	border-bottom: solid 1px #003893;
  }

  .league__box-contents-text {
  	margin-bottom: 20px;
  	font-size: 19px;
  	color: #003893;
  	font-family: "Auto Gothic";
  	font-weight: 800;
  }

  .league__box_img-1 {
  	display: grid;
  	grid-template-columns: 1fr 1px 1fr;
  	justify-content: space-around;
  	align-items: center;
  }

  .league__box_img-1 .border {
  	width: 1px;
  	height: 100%;
  	border-left: solid 1px #003893;
  }

  .league__box_img-1 div {
  	text-align: center;
  }

  .league__box_img-1 div img {
  	max-height: 180px;
  	padding: 0 20px;
  }

  .league__box_img_seal img {
  	max-width: 349px;
  }

  @media (max-width: 768px) {
  	.league__box {
  		padding: 20px 20px;
  	}

  	.league__box_img-1 {
  		display: grid;
  		grid-template-columns: 1fr;
  		grid-template-rows: 1fr 1px 1fr;
  	}

  	.league__box_img-1 div img {
  		max-height: 180px;
  		padding: 0;
  	}

  	.league__box_img_petbottle {
  		padding-bottom: 20px;
  	}

  	.league__box_img_seal {
  		padding-top: 20px;
  	}

  	.league__box_img_seal img {
  		width: 100%;
  	}

  	.league__box_img-1 .border {
  		width: 100%;
  		height: 1px;
  		border-left: none;
  		border-bottom: solid 1px #003893;
  	}
  }

  .league__box_img-2 {
  	display: grid;
  	align-items: start;
  	grid-template-columns: repeat(4, 1fr);
  	width: 60%;
  	margin: 0 auto;
  	gap: 5%;
  }

  .league__box_img-2_bottles img {
  	max-width: 286px;
  }

  @media (max-width: 768px) {
  	.league__box_img-2 {
  		grid-template-columns: repeat(2, 1fr);
  		width: 80%;
  		max-width: 300px;
  		gap: 20px;
  	}
  }

  /* 入場ゲート地図 */
  .gate-map__wrap {
  	max-width: 670px;
  	width: 75%;
  	margin: 0 auto 20px;
  }

  @media (max-width: 768px) {
  	.gate-map__wrap {
  		width: 100%;
  	}
  }

  /* アコーディオン */
  .rules__acc * {
  	transition: .3s;
  }

  .rules__acc {
  	margin-top: 20px;
  }

  .rules__acc .rules__acc-title {
  	color: #003893;
  	border: solid 2px #003893;
  	cursor: pointer;
  }

  .rules__acc-h4 {
  	position: relative;
  	margin: 0;
  	padding: 12px 2em 8px 1em;
  }

  .rules__acc .rules__acc-title .rules__acc-h4::after {
  	content: '＋';
  	position: absolute;
  	top: 50%;
  	right: 10px;
  	font-size: 1.5em;
  	transform: translateY(-50%);
  }

  .rules__acc.is-open .rules__acc-title .rules__acc-h4::after {
  	content: 'ー';
  	font-size: 1.5em;
  }

  .rules__acc-contents {
  	height: 0;
  	overflow: hidden;
  	pointer-events: none;
  	opacity: 0;
  	border-left: solid 2px #003893;
  	border-right: solid 2px #003893;
  	border-bottom: solid 2px #003893;
  }

  .rules__acc-contents img,
  .rules__acc_inner {
  	padding: 10px;
  }

  .rules__acc-contents.is-open {
  	height: auto;
  	opacity: 1;
  }

  /* 応援行為テーブル */
  table.seat-rule_table {
  	border-collapse: collapse;
  	min-width: 800px;
  }

  .seat-rule_table tr,
  .seat-rule_table td,
  .seat-rule_table th {
  	padding: 8px;
  }

  td {
  	text-align: center;
  }

  .seat-rule_table-note {
  	display: block;
  	margin-top: 5px;
  	font-size: 10px;
  	line-height: 1;
  }

  .scroll-wrap {
  	width: 100%;
  }

  .scroll_note {
  	display: none;
  }

  /* .scroll-wrap.table-goods {
        overflow-x: scroll;
        width: 100%;
        margin-top: 20px;
    } */
  .flag-rule-table {
  	width: 100%;
  	border-collapse: collapse;
  	font-family: sans-serif;
  	font-size: 14px;
  	margin: 10px 0;
  	min-width: 800px;
  	font-size: clamp(12px, 1.6vw, 16px);
  }

  .flag-rule-table th,
  .flag-rule-table td {
  	border: 1px solid #cccccc;
  	padding: .3em;
  	text-align: left;
  	vertical-align: middle;
  }

  .flag-rule-table th {
  	background-color: #666666;
  	color: #ffffff;
  	font-weight: bold;
  	font-size: 1.05em;
  	white-space: nowrap;
  }

  .flag-rule-table td {
  	font-size: 0.9em;
  }

  .flag-rule-table td:first-child,
  .flag-rule-table td:nth-child(5) {
  	white-space: nowrap;
  }

  .flag-rule-table td:nth-child(5) {}

  .flag-rule-table tbody tr:nth-child(even) {
  	background-color: #f9f9f9;
  }

  .text-danger {
  	color: #ff0000;
  }

  .text-bold {
  	font-weight: bold;
  }

  @media screen and (max-width: 800px) {
	.p-filter > .c-inner,
	.p-filter_cont {
		min-width: 0;
		max-width: 100%;
	}

  	.scroll-wrap {
		max-width: 100%;
		overflow-x: auto;
  		width: 100%;
  		margin-top: 20px;
		-webkit-overflow-scrolling: touch;
  	}

  	.scroll_note {
  		display: block;
  	}

  	.seat-rule_table {
  		width: 1000px;
  	}

  	.flag-img img,
  	.time-schedule_content .scroll-wrap img,
  	.time-schedule_content .scroll-wrap table {
  		width: 800px;
  		max-width: none;
  	}
  }

  table.seat-rule_table thead td,
  table.seat-rule_table thead th {
  	width: 88px;
  	text-align: center;
  	font-weight: bold;
  	color: white;
  	font-size: 13px;
  	border-right: 1px solid white;
  	border-bottom: 1px solid white;
  	background-color: #023893;
  }

  table.seat-rule_table tbody th {
  	font-size: 14px;
  }

  table.seat-rule_table tbody th:nth-child(1) {
  	width: 1.5em;
  }

  table.seat-rule_table tbody th:nth-child(2) {
  	width: 8em;
  }

  table.seat-rule_table tbody tr td {
  	border: solid 1px #000;
  	text-align: center;
  }

  table.seat-rule_table tbody tr th {
  	border-right: 1px solid white;
  	border-bottom: 1px solid white;
  }

  table.seat-rule_table tbody tr:nth-child(1) th {
  	background-color: #b18b00;
  	color: white;
  }

  table.seat-rule_table tbody tr:nth-child(2) th {
  	background-color: #7d4402;
  	color: white;
  }

  table.seat-rule_table tbody tr:nth-child(3) th {
  	background-color: #890000;
  	color: white;
  }

  table.seat-rule_table tbody tr:nth-child(4) th {
  	background-color: #c40212;
  	color: white;
  }

  table.seat-rule_table tbody tr:nth-child(5) th {
  	background-color: #fc7b01;
  	color: white;
  }

  table.seat-rule_table tbody tr:nth-child(6) th {
  	background-color: #ce4276;
  	color: white;
  }

  table.seat-rule_table tbody tr:nth-child(7) th {
  	background-color: #05A3B8;
  	color: white;
  }

  table.seat-rule_table tbody tr:nth-child(8) th {
  	background-color: #023981;
  	color: white;
  	border-bottom: white 1px solid;
  }

  table.seat-rule_table tbody tr:nth-child(9) th {
  	background-color: #008AD1;
  	color: white;
  }

  table.seat-rule_table tbody tr:nth-child(10) th {
  	background-color: #5A308F;
  	color: white;
  }

  table.seat-rule_table tbody tr:nth-child(11) th {
  	background-color: #9464AA;
  	color: white;
  }

  table.seat-rule_table tbody tr:nth-child(12) th {
  	background-color: #5e5e5e;
  	color: white;
  }

  table.seat-rule_table tbody tr:nth-child(13) th {
  	background-color: #74B4E5;
  	color: white;
  }

  table.seat-rule_table tbody tr:nth-child(14) th {
  	background-color: #00AE84;
  	color: white;
  }

  table.seat-rule_table tbody tr:nth-child(15) th {
  	background-color: #21266E;
  	color: white;
  }

  table.seat-rule_table tbody tr:nth-child(16) th {
  	background-color: #64361B;
  	color: white;
  }

  table.seat-rule_table tbody tr:nth-child(17) th {
  	background-color: #321E01;
  	color: white;
  }

  /* タイムスケジュール */
  .time-schedule {
  	--schedule-navy: #103a82;
  	--schedule-blue: #2877b9;
  	--schedule-skyblue: #578fbd;
  	--schedule-orange: #f36b21;
  	--schedule-line: #b9cde1;
  	--schedule-text: #103b78;
  	--schedule-light-blue: #e3eef9;
  	--schedule-light-yellow: #fff2bd;
  }

  .time-schedule_select {
  	margin-bottom: 10px;
  	padding: 3px 20px;
  	font-size: 18px;
  	color: #003893;
  	border: 2px solid #003893;
  	cursor: pointer;
  }

  .time-schedule_default {
  	padding: 20px;
  	color: #003893;
  }

  .time-schedule_content,
  .time-schedule_default {
  	display: none;
  }

  .time-schedule_content.active,
  .time-schedule_default.active {
  	display: block;
  }

  .time-schedule_table-wrap {
  	width: 100%;
  	overflow-x: auto;
  	-webkit-overflow-scrolling: touch;
  }

  .time-schedule .time-schedule_table {
  	width: 100%;
  	min-width: 640px;
  	margin: 0;
  	border: 1px solid var(--schedule-line);
  	border-collapse: collapse;
  	table-layout: fixed;
  	color: var(--schedule-text);
  	font-family: "Aoto Gothic Bold", sans-serif;
  	font-weight: 700;
  	background: #fff;
  }

  .time-schedule .time-schedule_table caption {
  	padding: 0 0 8px;
  	color: var(--schedule-text);
  	font-size: clamp(18px, 2vw, 22px);
  	font-weight: 700;
  	text-align: left;
  }

  .time-schedule .time-schedule_table-time {
  	width: 16%;
  }

  .time-schedule .time-schedule_table th,
  .time-schedule .time-schedule_table td {
  	height: 58px;
  	padding: 10px 8px;
  	border: 1px solid var(--schedule-line);
  	box-sizing: border-box;
  	font-size: clamp(15px, 1.8vw, 19px);
  	line-height: 1.35;
  	text-align: center;
  	vertical-align: middle;
  }

  .time-schedule .time-schedule_table thead th {
  	color: #fff;
  	background: var(--schedule-blue);
  	border-bottom: 3px solid var(--schedule-orange);
  }

  .time-schedule .time-schedule_table thead th:first-child {
  	background: var(--schedule-navy);
  }

  .time-schedule .time-schedule_table thead th:last-child {
  	background: var(--schedule-skyblue);
  }

  .time-schedule .time-schedule_table tbody th {
  	font-weight: 700;
  	background: #f4f8fc;
  }

  .time-schedule .time-schedule_table-event {
  	background: var(--schedule-light-blue);
  }

  .time-schedule .time-schedule_table-event small {
  	display: block;
  	margin-top: 4px;
  	font-size: clamp(11px, 1.4vw, 14px);
  	line-height: 1.45;
  }

  .time-schedule .time-schedule_table-entry {
  	background: var(--schedule-light-yellow);
  }

  .time-schedule .time-schedule_table .time-schedule_table-kickoff-time {
  	color: #fff;
  	background: var(--schedule-navy);
  }

  .time-schedule .time-schedule_table-kickoff {
  	color: #fff;
  	background: var(--schedule-orange);
  }

  .time-schedule__notice {
  	margin-top: 15px;
  	font-size: clamp(13px, 1.5vw, 15px);
  }

  @media (max-width: 768px) {
  	.time-schedule_select {
  		width: 100%;
  	}

  	.time-schedule .time-schedule_table th,
  	.time-schedule .time-schedule_table td {
  		height: 54px;
  		padding: 8px 6px;
  	}
  }

  /* flag */

  .academy_match table tr>th,
  .p-filter_cont table tr>th {
  	background: #003893;
  }
