@charset "UTF-8";

/* トップだけ。996px 以上は既存 CSS のまま。狭い画面で段を縦に積む。 */
.nav_toggle {
	display: none;
}

@media screen and (max-width: 1000px) {
	body.top-page {
		overflow-x: hidden;
	}

	body.top-page #wrapper {
		width: auto;
		max-width: 996px;
		padding: 8px 16px 28px;
		box-sizing: border-box;
	}

	body.top-page #header {
		width: auto;
		height: auto;
		position: relative;
	}

	body.top-page #header_logo,
	body.top-page #header_global,
	body.top-page #header_search,
	body.top-page #header_nowimg,
	body.top-page #header_menu {
		position: static;
		width: auto;
		max-width: 100%;
		height: auto;
		left: auto;
		top: auto;
		margin: 0 0 10px;
	}

	body.top-page #header_logo img {
		max-width: 100%;
		height: auto;
		display: block;
	}

	body.top-page #header_global a,
	body.top-page #header_global a:link,
	body.top-page #header_global a:visited,
	body.top-page #header_menu a,
	body.top-page #header_menu a:link,
	body.top-page #header_menu a:visited {
		float: none;
		display: inline-block;
		width: auto;
		height: auto;
		margin: 0 6px 6px 0;
		padding: 7px 10px;
		background: #006633;
		color: #ffffff;
		text-indent: 0;
		font-size: 13px;
		line-height: 1.4;
		text-decoration: none;
		box-sizing: border-box;
	}

	body.top-page #header_global a:hover,
	body.top-page #header_menu a:hover {
		background: #009933;
		color: #ffffff;
		text-decoration: none;
	}

	body.top-page #header_search input[type="text"] {
		width: 70%;
		max-width: 240px;
		padding: 6px 8px;
		box-sizing: border-box;
	}

	body.top-page #main.clearfix {
		display: flex;
		flex-direction: column;
		align-items: stretch;
	}

	body.top-page #main.clearfix:after {
		display: none;
	}

	body.top-page #main_contents { order: 1; }
	body.top-page #subcolum { order: 2; }
	body.top-page #left_menu { order: 3; }

	body.top-page #left_menu,
	body.top-page #main_contents,
	body.top-page #subcolum {
		float: none;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		height: auto;
		margin-left: 0;
		margin-right: 0;
		box-sizing: border-box;
	}

	body.top-page #subcolum,
	body.top-page #left_menu {
		margin-top: 22px;
	}

	body.top-page .left_bar,
	body.top-page .main_bar,
	body.top-page .movie_title,
	body.top-page .game_title,
	body.top-page .game_date,
	body.top-page .game_score {
		width: 100%;
		float: none;
		height: auto;
		margin-left: 0;
		box-sizing: border-box;
		background-repeat: repeat-x;
	}

	body.top-page #main_contents div[style*="width:468px"],
	body.top-page #main_contents div[style*="width:466px"],
	body.top-page #main_contents div[style*="width:418px"],
	body.top-page #subcolum div[style*="width:300px"],
	body.top-page #left_menu div[style*="width:192px"],
	body.top-page #left_menu div[style*="width:200px"] {
		float: none !important;
		width: 100% !important;
		max-width: 100%;
		box-sizing: border-box;
	}

	body.top-page #main_contents div[style*="width:380px"] {
		width: calc(100% - 80px) !important;
		box-sizing: border-box;
	}

	body.top-page #main_contents div[style*="height:70px"] {
		height: auto !important;
	}

	body.top-page .content_wrap,
	body.top-page .content_wrap_game,
	body.top-page .content_wrap_news {
		width: 100%;
		box-sizing: border-box;
	}

	body.top-page #tab_game,
	body.top-page #tab_news,
	body.top-page #tab_top {
		width: 100%;
		margin: 0;
		padding: 0;
	}

	body.top-page #tab_game li,
	body.top-page #tab_news li,
	body.top-page #tab_top li {
		width: 33.33%;
		height: auto;
		margin-right: 0;
		padding: 10px 4px;
		font-size: 14px;
		line-height: 1.3;
		text-align: center;
		box-sizing: border-box;
	}

	body.top-page .disp_top_news,
	body.top-page .disp_top_tournament,
	body.top-page .disp_top_game {
		height: auto;
		padding: 12px 10px;
	}

	body.top-page .disp_top_news a,
	body.top-page .disp_top_tournament a {
		line-height: 1.45;
	}

	body.top-page #left_menu > a img,
	body.top-page #subcolum img,
	body.top-page #main_contents img[style*="width:100%"] {
		max-width: 100%;
		height: auto;
	}

	body.top-page #game_score_wrap {
		overflow: visible;
	}

	body.top-page #game_score_wrap table {
		width: 100%;
		min-width: 0;
		table-layout: auto;
	}

	body.top-page #game_score_wrap th,
	body.top-page #game_score_wrap td {
		padding-left: 2px !important;
		padding-right: 2px !important;
	}

	body.top-page #game_score_wrap td:first-child {
		word-break: break-all;
	}

	body.top-page #top_recently_total_game ul {
		display: flex;
		align-items: center;
		margin: 0 0 10px;
		padding: 0 10px;
		background: #006633;
		box-sizing: border-box;
	}

	body.top-page #top_recently_total_game ul li,
	body.top-page #top_recently_total_game ul li:nth-child(3n-1),
	body.top-page #top_recently_total_game ul li:nth-child(3n) {
		float: none;
		width: auto;
		height: auto;
		margin: 0;
		padding: 10px 0;
		background: none;
		line-height: 1.2;
	}

	body.top-page #top_recently_total_game ul li:nth-child(3n-2) {
		flex: 0 0 auto;
		padding-right: 12px;
	}

	body.top-page #top_recently_total_game ul li:nth-child(3n-1) {
		flex: 1 1 auto;
		text-align: center;
	}

	body.top-page #top_recently_total_game ul li:nth-child(3n) {
		flex: 0 0 auto;
	}

	body.top-page #top_recently_total_game ul li a {
		padding: 4px 8px;
		white-space: nowrap;
	}

	body.top-page #newsticker {
		box-sizing: border-box;
	}

	body.top-page #wrapper {
		overflow-x: hidden;
	}

	body.top-page #main_contents iframe,
	body.top-page #subcolum iframe,
	body.top-page #main_contents ins,
	body.top-page [id^="aswift"] {
		max-width: 100% !important;
		width: 100% !important;
	}

	body.top-page #footer {
		padding: 16px 4px;
		box-sizing: border-box;
	}

	body.top-page #left_menu input[type="text"] {
		max-width: 100%;
		box-sizing: border-box;
		padding: 4px 6px;
	}
}

@media screen and (max-width: 560px) {
	body.top-page .top_recently_game ul li {
		width: 50%;
		height: auto;
		padding: 0 4px 0 0;
		font-size: 12px;
		box-sizing: border-box;
	}
}

@media screen and (max-width: 1000px) {
	body.top-page #header {
		display: flex;
		flex-direction: column;
	}

	body.top-page #header_logo {
		order: 1;
		min-height: 48px;
		padding: 4px 120px 4px 0;
		box-sizing: border-box;
	}

	body.top-page #header_logo img {
		width: auto;
		max-width: 100%;
		max-height: 52px;
		height: auto;
	}

	body.top-page #header_menu { order: 2; }
	body.top-page #header_global { order: 3; }
	body.top-page #header_search { order: 4; }
	body.top-page #header_nowimg { order: 5; }

	body.top-page .nav_toggle {
		display: block;
		position: absolute;
		top: 4px;
		right: 0;
		z-index: 3;
		width: 112px;
		height: 44px;
		margin: 0;
		padding: 0 8px 0 34px;
		border: 0;
		box-sizing: border-box;
		background: #006633;
		color: #ffffff;
		font-size: 14px;
		line-height: 44px;
		text-align: center;
		cursor: pointer;
	}

	body.top-page .nav_toggle_icon,
	body.top-page .nav_toggle_icon:before,
	body.top-page .nav_toggle_icon:after {
		display: block;
		width: 18px;
		height: 2px;
		background: #ffffff;
		position: absolute;
		left: 12px;
	}

	body.top-page .nav_toggle_icon {
		top: 50%;
		margin-top: -1px;
	}

	body.top-page .nav_toggle_icon:before,
	body.top-page .nav_toggle_icon:after {
		content: "";
		left: 0;
	}

	body.top-page .nav_toggle_icon:before { top: -6px; }
	body.top-page .nav_toggle_icon:after { top: 6px; }

	body.top-page.nav-open .nav_toggle_icon { background: transparent; }
	body.top-page.nav-open .nav_toggle_icon:before {
		top: 0;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	body.top-page.nav-open .nav_toggle_icon:after {
		top: 0;
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}

	body.top-page #header_global,
	body.top-page #header_menu {
		display: none;
		margin: 8px 0 0;
	}

	body.top-page.nav-open #header_global,
	body.top-page.nav-open #header_menu {
		display: block;
	}

	body.top-page.nav-open #header_global a,
	body.top-page.nav-open #header_menu a {
		display: block;
		width: 100%;
		margin: 0 0 6px;
		text-align: left;
	}
}

/* スマホの見た目。色は既存（#006633 / #009933 / #f0f0f0）のまま。影と角丸は使わない。 */
@media screen and (max-width: 1000px) {
	html {
		-webkit-text-size-adjust: 100%;
	}

	body.top-page {
		overflow-x: hidden;
		overflow-x: clip;
		color: #333333;
		font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", "Yu Gothic UI", Meiryo, sans-serif;
		font-size: 14px;
		line-height: 1.7;
	}

	body.top-page #wrapper {
		padding: 0 16px;
		overflow-x: hidden;
		overflow-x: clip;
	}

	body.top-page #header {
		position: -webkit-sticky;
		position: sticky;
		top: 0;
		z-index: 20;
		margin: 0 -16px 16px;
		padding: 8px 16px;
		background: #ffffff;
		border-bottom: 3px solid #006633;
		box-sizing: border-box;
	}

	body.top-page.nav-open #header {
		max-height: 100vh;
		overflow-y: auto;
	}

	body.top-page #header_logo {
		min-height: 44px;
		margin: 0;
		padding: 0 124px 0 0;
		display: flex;
		align-items: center;
	}

	body.top-page #header_logo img {
		max-height: 44px;
	}

	body.top-page .nav_toggle {
		top: 8px;
		right: 16px;
	}

	body.top-page #header_search,
	body.top-page #header_nowimg {
		display: none;
	}

	body.top-page.nav-open #header {
		scrollbar-width: none;
	}

	body.top-page.nav-open #header::-webkit-scrollbar {
		display: none;
	}

	body.top-page.nav-open #header_search {
		display: block;
		margin: 0;
		padding: 12px 0 4px;
	}

	body.top-page #header_search form,
	body.top-page #header_search div {
		display: flex;
		align-items: stretch;
	}

	body.top-page #header_search input[type="text"] {
		flex: 1 1 auto;
		width: auto;
		max-width: none;
	}

	body.top-page #header_global,
	body.top-page #header_menu {
		max-width: none;
		margin: 0 -16px;
		padding: 0;
		background: #006633;
	}

	body.top-page.nav-open #header_menu {
		margin-top: 8px;
	}

	body.top-page #header_global ul,
	body.top-page #header_menu ul,
	body.top-page #header_global li,
	body.top-page #header_menu li {
		float: none;
		width: auto;
		height: auto;
		margin: 0;
		padding: 0;
		list-style: none;
		background: none;
	}

	body.top-page.nav-open #header_global a,
	body.top-page.nav-open #header_menu a,
	body.top-page.nav-open #header_global a:link,
	body.top-page.nav-open #header_menu a:link,
	body.top-page.nav-open #header_global a:visited,
	body.top-page.nav-open #header_menu a:visited {
		position: relative;
		margin: 0;
		padding: 14px 40px 14px 16px;
		border-bottom: 1px solid rgba(255, 255, 255, 0.18);
		background: #006633;
		color: #ffffff;
		font-size: 15px;
		font-weight: bold;
		line-height: 1.4;
	}

	body.top-page.nav-open #header_global a:after,
	body.top-page.nav-open #header_menu a:after {
		content: "";
		position: absolute;
		top: 50%;
		right: 20px;
		width: 7px;
		height: 7px;
		margin-top: -4px;
		border-top: 2px solid #ffffff;
		border-right: 2px solid #ffffff;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	body.top-page.nav-open #header_global a:hover,
	body.top-page.nav-open #header_menu a:hover {
		background: #009933;
	}

	body.top-page.nav-open #header_global {
		display: grid;
		grid-template-columns: 1fr 1fr;
		background: #e6f0ea;
	}

	body.top-page.nav-open #header_global a,
	body.top-page.nav-open #header_global a:link,
	body.top-page.nav-open #header_global a:visited {
		width: auto;
		padding: 13px 28px 13px 16px;
		border-bottom: 1px solid #c9ddd0;
		background: #e6f0ea;
		color: #006633;
		font-size: 14px;
		font-weight: normal;
	}

	body.top-page.nav-open #header_global a:nth-of-type(odd) {
		border-right: 1px solid #c9ddd0;
	}

	body.top-page.nav-open #header_global a:last-of-type:nth-of-type(odd) {
		grid-column: 1 / -1;
		border-right: 0;
	}

	body.top-page.nav-open #header_global a:after {
		right: 14px;
		width: 6px;
		height: 6px;
		border-color: #006633;
	}

	body.top-page.nav-open #header_global a:hover {
		background: #d5e7dc;
	}

	body.top-page #subcolum,
	body.top-page #left_menu {
		margin-top: 32px;
	}

	body.top-page .left_bar,
	body.top-page .main_bar,
	body.top-page .movie_title,
	body.top-page #main_contents div[style*="left_bar.jpg"] {
		float: none !important;
		width: auto !important;
		height: auto !important;
		margin: 32px 0 0 !important;
		padding: 12px 16px !important;
		border: 0 !important;
		background: #006633 !important;
		color: #ffffff !important;
		font-size: 16px !important;
		font-weight: bold;
		line-height: 1.4 !important;
		letter-spacing: 0.04em;
	}

	body.top-page #main_contents div[style*="width:468px"] {
		margin-top: 0 !important;
	}

	body.top-page #tab_game,
	body.top-page #tab_news,
	body.top-page #tab_top {
		display: flex;
		background: #009933;
	}

	body.top-page #tab_game li,
	body.top-page #tab_news li,
	body.top-page #tab_top li {
		float: none;
		flex: 1 1 0;
		width: auto;
		padding: 12px 4px;
		border: 0;
		border-right: 1px solid rgba(255, 255, 255, 0.3);
		background: #009933;
		color: #ffffff;
		font-size: 14px;
		font-weight: bold;
	}

	body.top-page #tab_game li:last-child,
	body.top-page #tab_news li:last-child,
	body.top-page #tab_top li:last-child {
		border-right: 0;
	}

	body.top-page #tab_game li.select,
	body.top-page #tab_news li.select,
	body.top-page #tab_top li.select {
		background: #ffffff;
		color: #006633;
		border-top: 3px solid #006633;
		padding-top: 9px;
	}

	body.top-page .content_wrap,
	body.top-page .content_wrap_game,
	body.top-page .content_wrap_news {
		float: none !important;
		height: auto !important;
		border: 0;
		padding: 0;
	}

	body.top-page .content_wrap:after,
	body.top-page .content_wrap_game:after,
	body.top-page .content_wrap_news:after {
		content: "";
		display: block;
		clear: both;
	}

	body.top-page .disnon,
	body.top-page .disnon_news,
	body.top-page .disnon_game {
		display: none;
	}

	body.top-page #main_contents > div,
	body.top-page #main_contents div[style*="left_bar.jpg"],
	body.top-page #main_contents div[style*="width:466px"] {
		clear: both;
	}

	body.top-page .disp_top_news,
	body.top-page .disp_top_tournament,
	body.top-page .disp_top_game {
		float: none !important;
		width: auto !important;
		padding: 14px 4px !important;
		border-bottom: 1px solid #e5e5e5 !important;
		font-size: 12px !important;
		line-height: 1.5;
		color: #777777;
	}

	body.top-page .disp_top_news a,
	body.top-page .disp_top_tournament a,
	body.top-page .disp_top_game a {
		display: inline-block;
		margin-bottom: 4px;
		font-size: 15px !important;
		line-height: 1.5 !important;
	}

	body.top-page .content_wrap_game div[style*="margin-top:10px"],
	body.top-page .content_wrap_news div[style*="margin-top:10px"] {
		float: none !important;
		clear: both;
		margin-top: 16px !important;
	}

	body.top-page #left_menu > br {
		display: none;
	}

	body.top-page #left_menu > a:not(:has(img)) {
		position: relative;
		display: block;
		padding: 12px 36px 12px 4px;
		border-bottom: 1px solid #e5e5e5;
		font-size: 15px;
		line-height: 1.5;
		text-decoration: none;
	}

	body.top-page #left_menu > a:not(:has(img)):after {
		content: "";
		position: absolute;
		top: 50%;
		right: 14px;
		width: 7px;
		height: 7px;
		margin-top: -4px;
		border-top: 2px solid #006633;
		border-right: 2px solid #006633;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	body.top-page .content_wrap a[style*="font-size:18px"] {
		display: inline-block;
		margin: 2px 0;
		font-size: 16px !important;
		line-height: 1.45 !important;
	}

	body.top-page .content_wrap_game > div[style*="border-bottom"] {
		padding: 10px 0 !important;
		border-bottom: 1px solid #e5e5e5 !important;
	}

	body.top-page .content_wrap_game div[style*="margin-top:10px"] a,
	body.top-page .content_wrap_news div[style*="margin-top:10px"] a,
	body.top-page .top_recently_game .game_list a,
	body.top-page .game_movie_list a {
		display: block;
		padding: 12px 16px !important;
		border: 1px solid #006633;
		border-radius: 0;
		background: #ffffff;
		color: #006633;
		font-size: 14px !important;
		font-weight: bold;
		line-height: 1.4;
		text-align: center;
		text-decoration: none;
	}

	body.top-page .content_wrap_game div[style*="margin-top:10px"] a:hover,
	body.top-page .content_wrap_news div[style*="margin-top:10px"] a:hover,
	body.top-page .top_recently_game .game_list a:hover,
	body.top-page .game_movie_list a:hover {
		background: #006633;
		color: #ffffff;
	}

	body.top-page #top_recently_total_game ul {
		margin: 0 0 12px;
		padding: 0 12px;
	}

	body.top-page #top_recently_total_game ul li {
		font-size: 13px;
	}

	body.top-page #top_recently_total_game ul li a {
		border-radius: 0;
		padding: 6px 10px;
		font-weight: bold;
	}

	body.top-page #game_score_wrap table {
		margin: 4px 0 0;
		border-collapse: collapse;
	}

	body.top-page #game_score_wrap td,
	body.top-page #game_score_wrap th {
		padding-top: 8px !important;
		padding-bottom: 8px !important;
	}

	body.top-page #game_score_wrap > div[style*="font-size:16px"] {
		float: none !important;
		margin: 16px 0 8px !important;
		line-height: 1.5;
	}

	/* simpleTicker が li の高さを要素に直書きし、li は top:0 の絶対配置になる。
	   上下 padding を付けると文字が下へずれて切れるので、高さと行の高さで中央に置く */
	body.top-page #newsticker {
		margin: 12px 0;
		padding: 0 12px;
		height: 44px !important;
	}

	body.top-page #newsticker ul,
	body.top-page #newsticker li {
		height: 44px;
	}

	body.top-page #newsticker li {
		line-height: 44px;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	body.top-page .top_recently_game {
		margin: 4px 0 0;
	}

	body.top-page .top_recently_game ul {
		display: flex;
		flex-wrap: wrap;
		margin: 8px 0 0;
		padding: 0;
		border-top: 1px solid #e5e5e5;
	}

	body.top-page .top_recently_game ul li {
		float: none;
		width: 50%;
		margin: 0;
		padding: 10px 6px 10px 0;
		border-bottom: 1px solid #e5e5e5;
		font-size: 13px;
		line-height: 1.5;
		box-sizing: border-box;
	}

	body.top-page .top_recently_game .game_list {
		margin: 16px 0;
	}

	body.top-page .introduction_contents_kari form {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		margin: 16px 0 0;
		font-size: 14px;
	}

	body.top-page .introduction_contents_kari form input[type="text"] {
		flex: 1 1 auto;
		width: auto !important;
		min-width: 0;
		margin: 0 0 0 8px;
	}

	body.top-page input[type="text"],
	body.top-page input[type="search"],
	body.top-page select {
		min-height: 40px;
		padding: 8px 10px !important;
		border: 1px solid #cccccc;
		border-radius: 0;
		font-size: 16px;
		box-sizing: border-box;
	}

	body.top-page input[type="submit"],
	body.top-page input[type="button"] {
		-webkit-appearance: none;
		appearance: none;
		min-height: 40px;
		padding: 0 16px;
		border: 0;
		border-radius: 0;
		background: #006633;
		color: #ffffff;
		font-size: 15px;
		font-weight: bold;
		cursor: pointer;
	}

	body.top-page #main_contents div[style*="site_news.jpg"] {
		width: auto !important;
		padding: 12px 14px !important;
		background: #ffffff !important;
		line-height: 1.7;
	}

	body.top-page #main_contents div[style*="width:466px"] {
		margin-top: 16px;
		border: 1px solid #e5e5e5 !important;
		border-left: 4px solid #6f0124 !important;
	}

	body.top-page #main_contents div[style*="width:466px"]:not(:has(a, img, p, span)) {
		display: none;
	}

	body.top-page #left_menu div[style*="border-bottom"],
	body.top-page #main_contents div[style*="height:70px"] {
		padding: 12px 0 !important;
		border-bottom: 1px solid #e5e5e5 !important;
	}

	body.top-page #footer {
		display: flex !important;
		flex-direction: column;
		width: auto !important;
		height: auto !important;
		margin: 40px -16px 0 !important;
		padding: 0 0 28px !important;
		background: #006633 !important;
		color: #ffffff !important;
		font-size: 13px !important;
		line-height: 1.6 !important;
		text-align: left !important;
	}

	body.top-page #footer p {
		float: none !important;
		width: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		color: #ffffff !important;
	}

	body.top-page #footer img.right,
	body.top-page #footer p.footer_copyright img,
	body.top-page #footer .footer_sep {
		display: none !important;
	}

	body.top-page #footer .footer_pagetop {
		display: block !important;
		order: 0;
		padding: 14px 16px;
		background: #009933;
		color: #ffffff !important;
		font-size: 14px;
		font-weight: bold;
		text-align: center;
		text-decoration: none !important;
	}

	body.top-page #footer .footer_pagetop:before {
		content: "";
		display: inline-block;
		width: 7px;
		height: 7px;
		margin: 0 10px 0 0;
		border-top: 2px solid #ffffff;
		border-left: 2px solid #ffffff;
		vertical-align: 1px;
		transform: rotate(45deg);
	}

	body.top-page #footer p.footer_links {
		display: grid !important;
		order: 1;
		grid-template-columns: 1fr 1fr;
		border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	}

	body.top-page #footer p.footer_links a {
		position: relative;
		display: block;
		margin: 0 !important;
		padding: 14px 28px 14px 16px !important;
		border-top: 1px solid rgba(255, 255, 255, 0.2);
		color: #ffffff !important;
		font-size: 14px;
		line-height: 1.4;
		text-decoration: none !important;
	}

	body.top-page #footer p.footer_links a:nth-of-type(odd) {
		border-right: 1px solid rgba(255, 255, 255, 0.2);
	}

	body.top-page #footer p.footer_links a:last-of-type:nth-of-type(odd) {
		grid-column: 1 / -1;
		border-right: 0;
	}

	body.top-page #footer p.footer_links a:after {
		content: "";
		position: absolute;
		top: 50%;
		right: 14px;
		width: 6px;
		height: 6px;
		margin-top: -4px;
		border-top: 2px solid rgba(255, 255, 255, 0.7);
		border-right: 2px solid rgba(255, 255, 255, 0.7);
		transform: rotate(45deg);
	}

	body.top-page #footer p.footer_name {
		order: 2;
		padding: 24px 16px 6px !important;
		font-size: 13px;
		font-weight: bold;
		text-align: center;
	}

	body.top-page #footer p.footer_copyright {
		order: 3;
		padding: 0 16px !important;
		text-align: center;
	}

	body.top-page #footer .footer_copy {
		display: block !important;
		color: rgba(255, 255, 255, 0.75);
		font-size: 11px;
		letter-spacing: 0.04em;
	}
}

/* スマホでは旧スマホ版（/shop/sphone/）に無いものを出さない。全連盟で同じ CSS を使う。 */
@media screen and (max-width: 1000px) {
	/* メイン：写真タブ、その他の連盟熱戦、北海道の動画埋め込みと NFT 枠 */
	body.top-page #main_contents > div:has(#tab_top),
	body.top-page #main_contents > div[style*="width:466px"],
	body.top-page #main_contents > iframe,
	body.top-page #main_contents > div:has(a[href*="nft.jp"]) {
		display: none !important;
	}

	/* 左列：大会日程・検索メニュー・試合写真・チームアルバムを隠し、広告リンクとリンク集だけ残す */
	body.top-page #left_menu > * {
		display: none !important;
	}

	body.top-page #left_menu > a:not(:has(img)) {
		display: block !important;
	}

	body.top-page #left_menu > .left_bar:has(+ a + br, + br + a, + div + a + br) {
		display: block !important;
	}

	/* 協賛バナーは #sponsor_banners にまとめてある。スマホは 2 列で、リンク集の前に置く */
	body.top-page #sponsor_banners { order: 3; }
	body.top-page #left_menu { order: 4; }

	body.top-page #sponsor_banners {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 8px;
		align-items: center;
		margin: 32px 0 0;
	}

	body.top-page #sponsor_banners div {
		display: contents !important;
	}

	body.top-page #sponsor_banners a,
	body.top-page #sponsor_banners div > img {
		display: block;
		min-width: 0;
	}

	body.top-page #sponsor_banners img {
		display: block;
		width: 100% !important;
		height: auto !important;
		margin: 0 !important;
	}

	/* 右列：試合速報は隠す。大会動画の告知バナーと九州の練習ログだけ残す */
	/* 東北などは試合速報の「(終了)」が裸の文字で入るので、文字は消して残す所だけ戻す */
	body.top-page #subcolum {
		display: grid !important;
		grid-template-columns: 1fr 1fr;
		gap: 8px;
		align-items: center;
		margin-top: 0;
		font-size: 0;
		line-height: 0;
	}

	body.top-page #subcolum:has(img:not([src*="littleleague_banner"])) {
		margin-top: 32px;
	}

	body.top-page #subcolum div:has(img) {
		display: contents !important;
	}

	body.top-page #subcolum div:not(:has(img)),
	body.top-page #subcolum > a:not(:has(img)),
	body.top-page #subcolum > br,
	body.top-page #subcolum li,
	body.top-page #subcolum a:has(img[src*="littleleague_banner"]) {
		display: none !important;
	}

	body.top-page #subcolum a:has(img) {
		display: block;
		min-width: 0;
	}

	body.top-page #subcolum > div[style*="width:100%"] > a:has(img) {
		grid-column: 1 / -1;
	}

	body.top-page #subcolum img {
		display: block;
		width: 100% !important;
		height: auto !important;
		margin: 0 !important;
	}

	/* 九州の練習ログ：見出しと一覧リンクは残して 1 行使う */
	body.top-page #subcolum div[style*="left_bar.jpg"]:has(~ .cut),
	body.top-page #subcolum .cut ~ div:not(:has(img)) {
		display: block !important;
		grid-column: 1 / -1;
		font-size: 14px;
		line-height: 1.5;
	}

	body.top-page #subcolum div[style*="left_bar.jpg"]:has(~ .cut) {
		margin: 24px 0 0 !important;
	}

	body.top-page #subcolum .cut img {
		aspect-ratio: 4 / 3;
		object-fit: cover;
	}

	body.top-page #subcolum .cut ~ div:not(:has(img)) {
		float: none !important;
		width: auto !important;
		text-align: right;
	}
}

/* PC（1001px 以上）：3 段を 2 段にする。左はメイン、右は試合速報と左メニュー、協賛バナーは下段に横並び */
@media screen and (min-width: 1001px) {
	body.top-page #main.clearfix {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 300px;
		grid-template-rows: auto auto 1fr auto;
		column-gap: 28px;
	}

	body.top-page #main.clearfix:after {
		display: none;
	}

	body.top-page #main_contents {
		grid-column: 1;
		grid-row: 1 / 4;
		float: none;
		width: auto;
		min-width: 0;
		margin: 0;
	}

	body.top-page #subcolum {
		grid-column: 2;
		grid-row: 1;
		float: none;
		width: auto;
		margin: 0;
	}

	body.top-page #left_menu {
		grid-column: 2;
		grid-row: 2;
		float: none;
		width: auto;
		margin: 16px 0 0;
	}

	/* 旧レイアウトの固定幅（468px / 200px など）を列の幅に合わせる */
	body.top-page #main_contents div[style*="width:468px"],
	body.top-page #main_contents div[style*="width:466px"],
	body.top-page #left_menu div[style*="width:192px"],
	body.top-page #left_menu div[style*="width:200px"],
	body.top-page #subcolum div[style*="width:300px"] {
		width: 100% !important;
		box-sizing: border-box;
	}

	body.top-page #main_contents div[style*="width:418px"] {
		width: auto !important;
	}

	body.top-page #main_contents .content_wrap,
	body.top-page #main_contents .content_wrap_game,
	body.top-page #main_contents .content_wrap_news,
	body.top-page #main_contents #game_score_wrap,
	body.top-page #main_contents #game_score_wrap table,
	body.top-page #main_contents .ticker,
	body.top-page #main_contents .top_recently_game {
		width: 100%;
		box-sizing: border-box;
	}

	body.top-page #left_menu img {
		max-width: 100%;
		height: auto;
	}

	/* 右列の左メニュー部分：浮動配置をやめて縦に積み、見出しは試合速報と同じ緑の帯にする */
	body.top-page #left_menu > * {
		float: none !important;
	}

	body.top-page #left_menu > div {
		width: auto !important;
		height: auto !important;
		box-sizing: border-box;
	}

	body.top-page #left_menu > .left_bar {
		margin: 20px 0 0;
		padding: 10px 12px;
		background: #006633;
		color: #ffffff;
		font-size: 15px;
		font-weight: bold;
		line-height: 1.4;
	}

	body.top-page #left_menu > a:first-child img {
		display: block;
		width: 100%;
	}

	body.top-page #left_menu > div[style*="width:192px"] {
		margin: 12px 0 0;
		padding: 6px 10px !important;
		line-height: 1.5;
	}

	body.top-page #left_menu #tab {
		display: flex;
		margin: 0;
		padding: 0;
	}

	body.top-page #left_menu #tab li {
		flex: 1 1 0;
		float: none;
		width: auto;
		text-align: center;
	}

	body.top-page #left_menu > div[style*="text-align:right"] {
		padding: 4px 0 0;
		font-size: 13px;
	}

	body.top-page #left_menu > br {
		display: none;
	}

	body.top-page #left_menu > a:not(:has(img)) {
		display: block;
		padding: 9px 4px;
		border-bottom: 1px solid #e5e5e5;
		font-size: 14px;
		line-height: 1.5;
	}

	body.top-page #left_menu > .left_bar + br + a:not(:has(img)),
	body.top-page #left_menu > .left_bar + a:not(:has(img)) {
		margin-top: 4px;
	}

	/* メインのタブは 3 等分 */
	body.top-page #tab_news,
	body.top-page #tab_game,
	body.top-page #tab_top {
		display: flex;
	}

	body.top-page #tab_news li,
	body.top-page #tab_game li,
	body.top-page #tab_top li {
		flex: 1 1 0;
		float: none;
		width: auto;
	}

	/* 協賛バナー：下段に 5 列 */
	body.top-page #sponsor_banners {
		grid-column: 1 / -1;
		grid-row: 4;
		display: grid;
		grid-template-columns: repeat(5, minmax(0, 1fr));
		gap: 12px;
		align-items: center;
		margin: 32px 0 0;
		padding: 24px 0 8px;
		border-top: 1px solid #e5e5e5;
	}

	body.top-page #sponsor_banners div {
		display: contents !important;
	}

	body.top-page #sponsor_banners a,
	body.top-page #sponsor_banners div > img {
		display: block;
		min-width: 0;
	}

	body.top-page #sponsor_banners img {
		display: block;
		width: 100% !important;
		height: auto !important;
		margin: 0 !important;
	}
}

/* 検索メニュー（トップの左メニュー、サブページの右列）。HTML はそのまま、見た目だけ作り直す */
div:has(+ ul#tab) {
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 10px 14px !important;
	border: 0 !important;
	background: #006633 !important;
	color: #ffffff !important;
	font-size: 15px !important;
	font-weight: bold;
	line-height: 1.4;
	box-sizing: border-box;
}

ul#tab {
	display: flex;
	height: auto;
	margin: 0;
	padding: 0;
	border-bottom: 0;
	overflow: visible;
	background: #e6f0ea;
}

ul#tab li {
	flex: 1 1 0;
	float: none;
	width: auto;
	height: auto;
	margin: 0;
	padding: 0;
	background: none;
}

ul#tab li a,
ul#tab li a:link,
ul#tab li a:visited {
	display: block;
	width: auto;
	height: auto;
	padding: 9px 0;
	border: 0;
	border-right: 1px solid #ffffff;
	background: #e6f0ea;
	color: #006633;
	font-size: 13px !important;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
	text-decoration: none;
}

ul#tab li:last-child a {
	border-right: 0;
}

ul#tab li a:hover {
	background: #d5e7dc;
	color: #006633;
}

ul#tab li.present a,
ul#tab li.present a:hover {
	background: #ffffff;
	color: #006633;
	box-shadow: inset 0 3px 0 #006633;
}

ul#tab ~ div#page1,
ul#tab ~ div#page2,
ul#tab ~ div#page3 {
	margin: 0 0 16px;
	padding: 14px 0 0;
	border: 0;
	background: #ffffff;
	box-sizing: border-box;
}

/* 「◆試合結果 (チーム名から検索)」は文字を消し、短い案内に置き換える */
ul#tab ~ div[id^="page"] form {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	font-size: 0;
	line-height: 0;
}

ul#tab ~ div[id^="page"] form br {
	display: none;
}

ul#tab ~ div[id^="page"] form b {
	flex: 0 0 100%;
	margin: 0 0 8px;
	font-size: 0;
	line-height: 1.4;
}

ul#tab ~ div[id^="page"] form b:before {
	color: #333333;
	font-size: 13px;
	font-weight: bold;
}

ul#tab ~ div#page1 form b:before { content: "チーム名で試合結果を探す"; }
ul#tab ~ div#page2 form b:before { content: "大会名で大会を探す"; }
ul#tab ~ div#page3 form b:before { content: "チーム名でチームを探す"; }

ul#tab ~ div[id^="page"] form input[type="text"] {
	flex: 1 1 0;
	width: auto !important;
	min-width: 0;
	height: 38px;
	min-height: 0;
	margin: 0;
	padding: 0 10px !important;
	border: 1px solid #cccccc;
	border-right: 0;
	border-radius: 0;
	font-size: 14px;
	line-height: normal;
	box-sizing: border-box;
}

ul#tab ~ div[id^="page"] form input[type="submit"] {
	flex: 0 0 auto;
	height: 38px;
	min-height: 0;
	margin: 0;
	padding: 0 16px;
	border: 0;
	border-radius: 0;
	background: #006633;
	color: #ffffff;
	font-size: 14px;
	font-weight: bold;
	line-height: normal;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

ul#tab ~ div[id^="page"] form input[type="submit"]:hover {
	background: #009933;
}

/* ===== 見た目の共通部分（トップ・サブページとも）。画像の見出しやボタンを文字と CSS に置き換える ===== */

/* ページ見出し：header.js が画像の alt から .h2title_text を作り、#h2title に .h2title-text を付ける */
#h2title.h2title-text {
	display: flex !important;
	flex-direction: column;
	justify-content: center;
	width: auto !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 0 20px !important;
	padding: 26px 28px !important;
	background: #006633 repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0, rgba(255, 255, 255, 0.05) 6px, transparent 6px, transparent 12px) !important;
	box-sizing: border-box;
}

#h2title.h2title-text h2 {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	background: none !important;
	overflow: visible !important;
}

#h2title.h2title-text h2 img {
	display: none !important;
}

#h2title .h2title_text {
	display: block;
	color: #ffffff;
	font-size: 26px;
	font-weight: bold;
	letter-spacing: 0.06em;
	line-height: 1.3;
}

#h2title.h2title-text #crumb {
	float: none !important;
	width: auto !important;
	margin: 8px 0 0 !important;
	padding: 0 !important;
	border: 0 !important;
	color: rgba(255, 255, 255, 0.8) !important;
	font-size: 12px !important;
	font-weight: normal;
	text-align: left !important;
}

#h2title.h2title-text #crumb a:link,
#h2title.h2title-text #crumb a:visited,
#h2title.h2title-text #crumb a:hover,
#h2title.h2title-text #crumb a:active {
	color: #ffffff !important;
}

/* 区切り見出し：縞模様や画像の帯をやめ、緑の線と文字にする */
#maincolum h3 {
	margin: 28px 0 12px !important;
	padding: 2px 0 2px 12px !important;
	border: 0 !important;
	border-left: 4px solid #006633 !important;
	background: none !important;
	color: #222222 !important;
	font-size: 18px !important;
	font-weight: bold;
	line-height: 1.5;
}

#maincolum h4 {
	margin: 24px 0 10px !important;
	padding: 9px 12px !important;
	border: 0 !important;
	border-left: 4px solid #333333 !important;
	background: #f0f0f0 !important;
	color: #222222 !important;
	font-size: 16px !important;
	font-weight: bold;
	line-height: 1.5;
}

/* 帯の見出し（新着情報・試合速報・リンクなど）は平らな緑 */
.left_bar,
.main_bar,
#subcolum h2,
#main_contents div[style*="left_bar.jpg"],
#subcolum div[style*="left_bar.jpg"],
#left_menu div[style*="left_bar.jpg"] {
	width: 100% !important;
	height: auto !important;
	padding: 10px 14px !important;
	border: 0 !important;
	background: #006633 !important;
	color: #ffffff !important;
	font-size: 15px !important;
	font-weight: bold !important;
	line-height: 1.4 !important;
	box-sizing: border-box;
}

/* ===== PC のヘッダー（1001px 以上）。画像のボタンとメニューを文字にする ===== */
@media screen and (min-width: 1001px) {
	div#header {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		grid-template-areas:
			"logo global"
			"logo search"
			"logo now"
			"menu menu";
		align-items: center;
		column-gap: 24px;
		width: 996px;
		height: auto;
		margin: 0 auto;
		padding: 6px 0 0;
		box-sizing: border-box;
	}

	div#header > * {
		position: static !important;
		top: auto !important;
		left: auto !important;
	}

	div#header_logo {
		grid-area: logo;
		width: auto;
		height: auto;
		margin: 0;
	}

	div#header_logo img {
		display: block;
		max-height: 72px;
		width: auto;
	}

	div#header_global {
		grid-area: global;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
		gap: 4px;
		width: auto;
		height: auto;
		margin: 0;
	}

	div#header_global a,
	div#header_global a:link,
	div#header_global a:visited {
		float: none;
		display: inline-block;
		width: auto;
		height: auto;
		margin: 0;
		padding: 4px 10px;
		border: 1px solid #c9ddd0;
		background: #ffffff;
		color: #006633;
		font-size: 12px;
		font-weight: bold;
		line-height: 1.4;
		text-indent: 0;
		text-decoration: none;
		white-space: nowrap;
	}

	div#header_global a:hover {
		background: #e6f0ea;
		color: #006633;
	}

	div#header_search {
		grid-area: search;
		justify-self: end;
		width: auto;
		height: auto;
		margin: 6px 0 0;
	}

	div#header_nowimg {
		grid-area: now;
		justify-self: end;
		width: auto;
		height: auto;
		margin: 6px 0 0;
		padding: 3px 10px;
		background: #f0f0f0;
		font-size: 12px;
	}

	div#header_menu {
		grid-area: menu;
		display: flex;
		width: auto;
		height: auto;
		margin: 12px 0 0;
		background: #006633;
		border-bottom: 3px solid #009933;
	}

	div#header_menu a,
	div#header_menu a:link,
	div#header_menu a:visited {
		flex: 1 1 0;
		float: none;
		display: block;
		width: auto;
		height: auto;
		margin: 0;
		padding: 13px 4px;
		border-right: 1px solid rgba(255, 255, 255, 0.15);
		background: none;
		color: #ffffff;
		font-size: 14px;
		font-weight: bold;
		line-height: 1.3;
		letter-spacing: 0.04em;
		text-align: center;
		text-indent: 0;
		text-decoration: none;
		white-space: nowrap;
	}

	div#header_menu a:last-child {
		border-right: 0;
	}

	div#header_menu a:hover {
		background: #009933;
		color: #ffffff;
	}

	#h2title.h2title-text {
		margin-top: 16px !important;
	}
}

/* スマホの見出しは少し小さく、画面の端まで広げる */
@media screen and (max-width: 1000px) {
	#h2title.h2title-text {
		margin: 0 -16px 16px !important;
		padding: 20px 16px !important;
	}

	#h2title .h2title_text {
		font-size: 22px;
	}
}

/* トップのタブ（新着情報・大会情報・写真）。PC もスマホと同じ平らな緑のタブにする */
@media screen and (min-width: 1001px) {
	body.top-page #tab_game,
	body.top-page #tab_news,
	body.top-page #tab_top {
		margin: 0;
		padding: 0;
		background: #009933;
	}

	body.top-page #tab_game li,
	body.top-page #tab_news li,
	body.top-page #tab_top li {
		height: auto;
		margin: 0;
		padding: 11px 4px;
		border: 0;
		border-right: 1px solid rgba(255, 255, 255, 0.3);
		background: #009933;
		color: #ffffff;
		font-size: 14px;
		font-weight: bold;
		line-height: 1.3;
		text-align: center;
		box-sizing: border-box;
	}

	body.top-page #tab_game li:last-child,
	body.top-page #tab_news li:last-child,
	body.top-page #tab_top li:last-child {
		border-right: 0;
	}

	body.top-page #tab_game li:hover,
	body.top-page #tab_news li:hover,
	body.top-page #tab_top li:hover {
		background: #00a83a;
	}

	body.top-page #tab_game li.select,
	body.top-page #tab_news li.select,
	body.top-page #tab_top li.select {
		background: #ffffff;
		color: #006633;
		border-top: 3px solid #006633;
		padding-top: 8px;
	}

	/* 中途半端な外枠はやめ、各行の区切り線だけにする */
	body.top-page .content_wrap,
	body.top-page .content_wrap_game,
	body.top-page .content_wrap_news {
		float: none;
		border: 0;
		text-align: left;
	}

	body.top-page .disp_top_news,
	body.top-page .disp_top_tournament,
	body.top-page .content_wrap_game > div[style*="border-bottom"] {
		float: none !important;
		width: auto !important;
		display: flow-root;
		padding: 12px 4px !important;
		border-bottom: 1px solid #e5e5e5 !important;
	}

	body.top-page #main_contents div[style*="width:466px"] {
		border: 0 !important;
		background-color: #f5f5f5 !important;
		padding: 8px 12px !important;
	}

	/* 「連盟ニュース一覧へ」「連盟大会一覧へ」は「試合結果一覧へ」と同じボタン */
	body.top-page .content_wrap_game div[style*="margin-top:10px"],
	body.top-page .content_wrap_news div[style*="margin-top:10px"] {
		float: none !important;
		clear: both;
		width: auto !important;
		margin-top: 16px !important;
	}

	body.top-page .content_wrap_game div[style*="margin-top:10px"] a,
	body.top-page .content_wrap_news div[style*="margin-top:10px"] a {
		display: block;
		padding: 10px 16px !important;
		border: 1px solid #006633;
		background: #ffffff;
		color: #006633;
		font-size: 14px !important;
		font-weight: bold;
		line-height: 1.4;
		text-align: center;
		text-decoration: none;
	}

	body.top-page .content_wrap_game div[style*="margin-top:10px"] a:hover,
	body.top-page .content_wrap_news div[style*="margin-top:10px"] a:hover {
		background: #006633;
		color: #ffffff;
	}
}

/* 左メニュー先頭の画像ボタン（関西は「大会日程」PDF、他連盟は「試合速報」）を文字のボタンにする */
@media screen and (min-width: 1001px) {
	body.top-page #left_menu > a:first-child:has(img[src*="tournament_schedule"]),
	body.top-page #left_menu > a:first-child:has(img[src*="game_now"]) {
		position: relative;
		display: flex !important;
		align-items: center;
		gap: 12px;
		margin: 0 0 16px;
		padding: 14px 16px;
		border: 1px solid #c9ddd0;
		border-left: 5px solid #006633;
		background: #e6f0ea;
		color: #006633;
		font-size: 18px;
		font-weight: bold;
		line-height: 1.3;
		letter-spacing: 0.06em;
		text-decoration: none;
		box-sizing: border-box;
	}

	body.top-page #left_menu > a:first-child:has(img[src*="tournament_schedule"]):hover,
	body.top-page #left_menu > a:first-child:has(img[src*="game_now"]):hover {
		background: #d5e7dc;
	}

	body.top-page #left_menu > a:first-child img[src*="tournament_schedule"],
	body.top-page #left_menu > a:first-child img[src*="game_now"] {
		display: none !important;
	}

	/* アイコン（緑の四角に白い線画） */
	body.top-page #left_menu > a:first-child:has(img[src*="tournament_schedule"]):before,
	body.top-page #left_menu > a:first-child:has(img[src*="game_now"]):before {
		content: "";
		flex: 0 0 auto;
		width: 40px;
		height: 40px;
		background-color: #006633;
		background-repeat: no-repeat;
		background-position: center;
		background-size: 24px 24px;
	}

	body.top-page #left_menu > a:first-child:has(img[src*="tournament_schedule"]):before {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15.5'/%3E%3Cpath d='M3.5 10h17M8 3v4M16 3v4'/%3E%3Cpath d='M7.5 14h2M11 14h2M14.5 14h2M7.5 17h2M11 17h2'/%3E%3C/svg%3E");
	}

	body.top-page #left_menu > a:first-child:has(img[src*="game_now"]):before {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='13' r='8'/%3E%3Cpath d='M12 9v4l3 2M10 2.5h4'/%3E%3C/svg%3E");
	}

	/* 文字と右端の補足 */
	body.top-page #left_menu > a:first-child:has(img[src*="tournament_schedule"]):after {
		content: "大会日程";
	}

	body.top-page #left_menu > a:first-child:has(img[src*="game_now"]):after {
		content: "試合速報";
	}

	body.top-page #left_menu > a:first-child:has(img[src*="tournament_schedule"]) {
		padding-right: 64px;
	}

	body.top-page #left_menu > a:first-child:has(img[src*="game_now"]) {
		padding-right: 44px;
	}
}

/* 右端の「PDF」と矢印は a の外枠に重ねる（:before / :after を使い切っているため背景で描く） */
@media screen and (min-width: 1001px) {
	body.top-page #left_menu > a:first-child:has(img[src*="tournament_schedule"]) {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='20'%3E%3Crect width='40' height='20' fill='%23c0392b'/%3E%3Ctext x='20' y='14.5' font-family='Arial,sans-serif' font-size='12' font-weight='bold' fill='%23ffffff' text-anchor='middle'%3EPDF%3C/text%3E%3C/svg%3E");
		background-repeat: no-repeat;
		background-position: right 14px center;
	}

	body.top-page #left_menu > a:first-child:has(img[src*="game_now"]) {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23006633' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 5l7 7-7 7'/%3E%3C/svg%3E");
		background-repeat: no-repeat;
		background-position: right 14px center;
		background-size: 18px 18px;
	}
}

/* ===== 文字：ＭＳ Ｐゴシック 13px 前後をやめ、今の標準（ゴシック体 15px 前後）にする ===== */
body {
	font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", "Yu Gothic UI", "Yu Gothic", Meiryo, sans-serif;
	color: #333333;
	-webkit-text-size-adjust: 100%;
}

a,
a:link,
a:visited,
a:hover,
a:active,
#maincolum ul.ul01 li a,
#maincolum ul.ul02 li a,
#maincolum ul.ul03 li a,
input,
select,
textarea,
button {
	font-family: inherit;
}

@media screen and (min-width: 1001px) {
	body {
		font-size: 15px;
		line-height: 1.7;
	}

	#maincolum {
		font-size: 15px;
		line-height: 1.8;
	}

	#maincolum p,
	#maincolum li,
	#maincolum dt,
	#maincolum dd,
	#maincolum td,
	#maincolum th {
		font-size: 15px;
		line-height: 1.8;
	}

	#maincolum ul.ul01 li a {
		font-size: 15px;
	}

	#subcolum,
	#left_menu {
		font-size: 14px;
		line-height: 1.6;
	}

	#h2title #crumb {
		font-size: 13px !important;
	}

	#footer {
		font-size: 13px;
	}

	/* トップは行の多い一覧なので 1 段小さめ */
	body.top-page {
		font-size: 14px;
	}

	/* 「昨日の試合 1試合」の箱：高さ固定の 3 マスをやめ、スマホと同じ横並びの帯にする */
	body.top-page #top_recently_total_game ul {
		display: flex;
		align-items: center;
		height: auto;
		margin: 0 0 12px;
		padding: 0 16px;
		background: #006633;
	}

	body.top-page #top_recently_total_game ul li,
	body.top-page #top_recently_total_game ul li:nth-child(3n-1),
	body.top-page #top_recently_total_game ul li:nth-child(3n) {
		float: none;
		width: auto;
		height: auto;
		margin: 0;
		padding: 12px 0;
		background: none;
		line-height: 1.2;
	}

	body.top-page #top_recently_total_game ul li:nth-child(3n-2) {
		flex: 0 0 auto;
		padding-right: 16px;
	}

	body.top-page #top_recently_total_game ul li:nth-child(3n-1) {
		flex: 1 1 auto;
		text-align: center;
	}

	body.top-page #top_recently_total_game ul li:nth-child(3n) {
		flex: 0 0 auto;
	}

	body.top-page #top_recently_total_game ul li a {
		padding: 6px 14px;
		font-weight: bold;
		white-space: nowrap;
	}

	body.top-page .disp_top_news a,
	body.top-page .disp_top_tournament a,
	body.top-page .disp_top_game a {
		font-size: 16px !important;
		line-height: 1.5 !important;
	}

	body.top-page .disp_top_news,
	body.top-page .disp_top_tournament,
	body.top-page .disp_top_game {
		color: #777777;
		font-size: 12px !important;
	}

	body.top-page .top_recently_game,
	body.top-page .top_recently_game a,
	body.top-page #newsticker a {
		font-size: 14px;
	}
}

/* ===== サブページの横メニュー（ul.lnavi）。黄色の選択色と矢印画像をやめる ===== */
#subcolum ul.lnavi {
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid #e5e5e5;
	border-top: 0;
	background: #ffffff !important;
}

#subcolum ul.lnavi li {
	margin: 0;
	padding: 0;
	border-bottom: 1px solid #e5e5e5;
	background: none !important;
	list-style: none;
}

#subcolum ul.lnavi li:last-child {
	border-bottom: 0;
}

#subcolum ul.lnavi li a,
#subcolum ul.lnavi li span.nolink {
	position: relative;
	display: block;
	padding: 12px 36px 12px 16px !important;
	border-left: 4px solid transparent;
	background: none !important;
	color: #333333 !important;
	font-size: 15px !important;
	line-height: 1.5;
	text-decoration: none !important;
}

#subcolum ul.lnavi li a:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 16px;
	width: 7px;
	height: 7px;
	margin-top: -4px;
	border-top: 2px solid #9bb8a6;
	border-right: 2px solid #9bb8a6;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

#subcolum ul.lnavi li a:hover {
	background: #f3f8f5 !important;
	color: #006633 !important;
}

#subcolum ul.lnavi li.on a {
	border-left-color: #006633;
	background: #e6f0ea !important;
	color: #006633 !important;
	font-weight: bold;
}

#subcolum ul.lnavi li.on a:after {
	border-color: #006633;
}

#subcolum ul.lnavi li span.nolink {
	color: #999999 !important;
}

/* 一段下がった項目 */
#subcolum ul.lnavi li.sub a {
	padding-left: 32px !important;
	font-size: 14px !important;
}

/* 大会日程（関西）：PC は右列のいちばん上に置き、目立つオレンジにする */
@media screen and (min-width: 1001px) {
	body.top-page #main.clearfix:has(#left_menu > a:first-child img[src*="tournament_schedule"]) {
		position: relative;
	}

	body.top-page #main:has(#left_menu > a:first-child img[src*="tournament_schedule"]) #subcolum {
		margin-top: 84px;
	}

	body.top-page #left_menu > a:first-child:has(img[src*="tournament_schedule"]) {
		position: absolute;
		top: 0;
		right: 0;
		width: 300px;
		height: 68px;
		margin: 0;
		border: 0;
		background-color: #e8590c;
		color: #ffffff;
	}

	body.top-page #left_menu > a:first-child:has(img[src*="tournament_schedule"]):hover {
		background-color: #d9480f;
	}

	body.top-page #left_menu > a:first-child:has(img[src*="tournament_schedule"]):before {
		background-color: rgba(0, 0, 0, 0.18);
	}

	/* 右端の PDF ラベルは白地にオレンジ字 */
	body.top-page #left_menu > a:first-child:has(img[src*="tournament_schedule"]) {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='20'%3E%3Crect width='40' height='20' fill='%23ffffff'/%3E%3Ctext x='20' y='14.5' font-family='Arial,sans-serif' font-size='12' font-weight='bold' fill='%23e8590c' text-anchor='middle'%3EPDF%3C/text%3E%3C/svg%3E");
	}

	/* トップの右列には検索メニューを出さない（各一覧ページに検索がある） */
	body.top-page #left_menu > div:has(+ ul#tab),
	body.top-page #left_menu > ul#tab,
	body.top-page #left_menu > div#page1,
	body.top-page #left_menu > div#page2,
	body.top-page #left_menu > div#page3 {
		display: none !important;
	}
}

/* ヘッダー：元の CSS の高さ固定が残らないようにする（サブページと同じ） */
@media screen and (min-width: 1001px) {
	div#header {
		height: auto !important;
	}

	div#header_menu a,
	div#header_menu a:link,
	div#header_menu a:visited {
		height: auto !important;
		padding: 12px 4px !important;
		line-height: 1.3 !important;
	}
}

/* ===== PC のフッター：灰色の帯と画像をやめ、緑の帯に文字のリンクを並べる（スマホと同じ配色） ===== */
@media screen and (min-width: 1001px) {
	#footer {
		display: flex !important;
		flex-direction: column;
		align-items: center;
		width: auto !important;
		height: auto !important;
		margin: 48px 0 0 !important;
		padding: 0 0 24px !important;
		border: 0 !important;
		background: #006633 !important;
		color: #ffffff !important;
		font-size: 13px !important;
		line-height: 1.6 !important;
		text-align: center !important;
	}

	#footer:after {
		display: none;
	}

	#footer p {
		float: none !important;
		width: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		color: #ffffff !important;
	}

	#footer img.right,
	#footer p.footer_copyright img,
	#footer .footer_sep {
		display: none !important;
	}

	#footer .footer_pagetop {
		display: block !important;
		align-self: stretch;
		order: 0;
		padding: 12px 16px;
		background: #009933;
		color: #ffffff !important;
		font-size: 14px;
		font-weight: bold;
		text-align: center;
		text-decoration: none !important;
	}

	#footer .footer_pagetop:hover {
		background: #00a83a;
	}

	#footer .footer_pagetop:before {
		content: "";
		display: inline-block;
		width: 7px;
		height: 7px;
		margin: 0 10px 0 0;
		border-top: 2px solid #ffffff;
		border-left: 2px solid #ffffff;
		vertical-align: 1px;
		transform: rotate(45deg);
	}

	#footer p.footer_links {
		display: flex !important;
		flex-wrap: wrap;
		justify-content: center;
		order: 1;
		margin: 24px 0 0 !important;
	}

	#footer p.footer_links a {
		margin: 0 !important;
		padding: 4px 18px !important;
		border-left: 1px solid rgba(255, 255, 255, 0.3);
		color: #ffffff !important;
		font-size: 14px;
		text-decoration: none !important;
	}

	#footer p.footer_links a:first-child {
		border-left: 0;
	}

	#footer p.footer_links a:hover {
		text-decoration: underline !important;
	}

	#footer p.footer_name {
		order: 2;
		margin: 20px 0 4px !important;
		font-size: 14px;
		font-weight: bold;
	}

	#footer p.footer_copyright {
		order: 3;
	}

	#footer .footer_copy {
		display: block !important;
		color: rgba(255, 255, 255, 0.75);
		font-size: 12px;
		letter-spacing: 0.04em;
	}
}

/* ===== フッターのリンク集（footer.js が #footer_sitemap を作る）===== */
#footer .footer_sitemap {
	order: 1;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-self: stretch;
	margin: 0;
	padding: 28px 32px 24px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	text-align: left;
	box-sizing: border-box;
}

#footer .footer_sitemap_col {
	padding: 0 20px;
	border-left: 1px solid rgba(255, 255, 255, 0.15);
}

#footer .footer_sitemap_col:first-child {
	border-left: 0;
	padding-left: 0;
}

#footer p.footer_sitemap_title {
	margin: 0 0 10px !important;
	padding: 0 !important;
	color: #ffffff !important;
	font-size: 15px;
	font-weight: bold;
	letter-spacing: 0.04em;
}

#footer .footer_sitemap ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

#footer .footer_sitemap li {
	margin: 0;
	padding: 0;
	background: none;
	list-style: none;
}

#footer .footer_sitemap a,
#footer .footer_sitemap a:link,
#footer .footer_sitemap a:visited {
	display: block;
	padding: 5px 0;
	color: rgba(255, 255, 255, 0.85) !important;
	font-size: 13px;
	line-height: 1.5;
	text-decoration: none !important;
}

#footer .footer_sitemap a:hover {
	color: #ffffff !important;
	text-decoration: underline !important;
}

/* リンク集のあとの横並びリンクは区切り線の下に */
#footer .footer_sitemap + p.footer_links {
	order: 2;
}

@media screen and (max-width: 1000px) {
	#footer .footer_sitemap {
		grid-template-columns: 1fr 1fr;
		gap: 20px 0;
		padding: 24px 16px 20px;
	}

	#footer .footer_sitemap_col,
	#footer .footer_sitemap_col:first-child {
		padding: 0 12px;
		border-left: 0;
	}
}

/* ===== PC：ヘッダーのメニュー帯とフッターの背景は画面の端まで。中身は 996px の中に収める ===== */
@media screen and (min-width: 1001px) {
	html,
	body {
		overflow-x: clip;
	}

	div#header_menu {
		margin-left: calc(50% - 50vw) !important;
		margin-right: calc(50% - 50vw) !important;
		padding-left: calc(50vw - 50%) !important;
		padding-right: calc(50vw - 50%) !important;
	}

	/* メニューの区切り線は帯の端（画面の端）ではなく 996px の内側だけに出す */
	div#header_menu a:first-child {
		border-left: 1px solid rgba(255, 255, 255, 0.15);
	}

	div#header_menu a:last-child {
		border-right: 1px solid rgba(255, 255, 255, 0.15) !important;
	}

	#footer {
		margin-left: calc(50% - 50vw) !important;
		margin-right: calc(50% - 50vw) !important;
		padding-left: calc(50vw - 50%) !important;
		padding-right: calc(50vw - 50%) !important;
	}

	#footer .footer_pagetop {
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
	}
}

/* ===== 一覧の行全体をクリックできるようにし、マウスを乗せたら行の色を変える =====
   行の中のメインのリンク（試合名・見出し）を :after で行いっぱいに広げる */

/* 試合一覧（大会詳細・試合詳細の「その他の試合」） */
#maincolum ul li:has(> .game_reuslt) {
	position: relative;
	transition: background-color 0.15s;
}

#maincolum .game_reuslt .game_score a:after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

#maincolum ul li:has(> .game_reuslt):hover {
	background-color: #f3f8f5 !important;
}

#maincolum ul li:has(> .game_reuslt):hover .game_score a {
	color: #006633 !important;
}

/* 試合結果一覧（/shop/game/） */
.game_row {
	position: relative;
	transition: background-color 0.15s;
}

.game_row_score:after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

.game_row:hover {
	background-color: #f3f8f5;
}

.game_row:hover .game_row_score {
	color: #006633 !important;
}

/* ニュース一覧（dl.dl01） */
#maincolum dl.dl01 {
	position: relative;
	transition: background-color 0.15s;
}

#maincolum dl.dl01 dt a:after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

#maincolum dl.dl01:hover {
	background-color: #f3f8f5;
}

#maincolum dl.dl01:hover dt a {
	text-decoration: underline;
}

/* 大会結果の一覧（サムネイル付きの行） */
#maincolum div:has(> .cut2) {
	position: relative;
	transition: background-color 0.15s;
}

#maincolum div:has(> .cut2) > div:not(.cut2) > div:nth-child(1) a:after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

#maincolum div:has(> .cut2):hover {
	background-color: #f3f8f5;
}

#maincolum div:has(> .cut2):hover > div:not(.cut2) > div:nth-child(1) a {
	text-decoration: underline;
}

/* トップの一覧（新着情報・大会情報・試合速報） */
body.top-page .disp_top_news,
body.top-page .disp_top_tournament,
body.top-page .disp_top_game,
body.top-page .content_wrap_game > div[style*="border-bottom"] {
	position: relative;
	transition: background-color 0.15s;
}

body.top-page .disp_top_news a:first-of-type:after,
body.top-page .disp_top_tournament a:first-of-type:after,
body.top-page .disp_top_game a:first-of-type:after,
body.top-page .content_wrap_game > div[style*="border-bottom"] a:last-of-type:after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

body.top-page .disp_top_news:hover,
body.top-page .disp_top_tournament:hover,
body.top-page .disp_top_game:hover,
body.top-page .content_wrap_game > div[style*="border-bottom"]:hover {
	background-color: #f3f8f5;
}

/* トップ PC：反映されていない写真まわり（試合写真・チームアルバム・写真タブ）は出さない。スマホは元から出していない */
@media screen and (min-width: 1001px) {
	/* 右列：大会日程・広告リンク・リンク集だけ残し、試合写真とチームアルバムの見出し・中身を隠す */
	body.top-page #left_menu > div:not(.left_bar:has(+ a + br, + br + a, + div + a + br)),
	body.top-page #left_menu > script {
		display: none !important;
	}

	/* メイン：試合写真／チーム写真／選手写真のタブの箱 */
	body.top-page #main_contents > div:has(#tab_top) {
		display: none !important;
	}
}

/* 右列の「→→→試合結果をもっと見る」：矢印付きの大きな文字をやめ、他の「一覧へ」と同じボタンにする */
@media screen and (min-width: 1001px) {
	body.top-page #subcolum div:has(> a[href="/shop/game/"]) {
		clear: both;
		display: flow-root;
		float: none !important;
		width: auto !important;
		height: auto !important;
		margin: 14px 0 0 !important;
		padding: 0 !important;
		text-align: center !important;
	}

	body.top-page #subcolum div > a[href="/shop/game/"] {
		display: block;
		padding: 10px 16px;
		border: 1px solid #006633;
		background: #ffffff;
		color: #006633 !important;
		font-size: 0 !important;
		text-decoration: none !important;
	}

	body.top-page #subcolum div > a[href="/shop/game/"]:before {
		content: "試合結果をもっと見る";
		font-size: 14px;
		font-weight: bold;
		line-height: 1.4;
	}

	body.top-page #subcolum div > a[href="/shop/game/"]:hover {
		background: #006633;
		color: #ffffff !important;
	}
}
