@charset "utf-8";


#rallyjapan {
	#mainBody {
		overflow:hidden;
	}

	.categoryBlock {
		padding: 0;
		background-color: transparent;
	}
	.categoryBlock .wrapper {
		margin-top: 0;
	}

	/* KV */
	#KVarea {
		position: relative;
	}
	#KVarea .backgroundImage {
		position: relative;
	}
	#KVarea .backgroundImage picture img {
		width: 100%;
	}


	.bgGroup {
		position: relative;
		overflow: hidden;
	}

	.categoryBlock .wrapper {
		position: relative;
	}
	.categoryBlock .wrapper header.contentHeader p {
		padding: .2em .5em;
		background-color: #000;
		font-weight: bold;
		line-height: 1.2;
		color: #fff;
	}


	/* 動画 */
	#pastMovies {
	}
	#pastMovies .wrapper {
		position: relative;
	}
	#pastMovies header p {
		padding: .2em .5em;
		background-color: #000;
		font-weight: bold;
		line-height: 1;
		color: #fff;
	}

	a.modal figure {
		position: relative;
	}
	a.modal figure::after {
		content: "";
		display: block;
		width: 80px;
		height: 80px;
		position: absolute;
		top: 50%;
		left: 50%;
		background: transparent url(images/rallyjapan/icon_play.svg) no-repeat center center / cover;
		transform: translate3d(-50%, -50%, 0);
	}
	a.modal figure::after {
	}

	.contentsList {
		justify-content: space-between;
	}
	.contentsList li {
		padding: 0;
		/* background-color: #FFF; */
	}
	.contentsList li:nth-child(n + 4) {
		margin-top: 40px;
		border-top: none;
	}
	.contentsList li .contentCard {
		padding: 0;
		border: none !important;
	}
	.contentsList li .contentCard .txtData {
		padding: 8px 16px;
		overflow: hidden;
	}
	span.blackLine {
		color: #000;
	}

	.linkPage {
		margin-top: 80px;
		text-align: center;
	}
	.linkPage a {
		display: inline-block;
		padding: 0 8px 4px;
		background-color: #FFF;
		color: #000;
	}
	.linkPage a span {
		display: block;
		padding: .2em 1.5em;
		background: #FFF url(images/rallyjapan/icon_link_page.svg) no-repeat right center / auto 1em;
		border-bottom: 2px solid #000;
		font-size: 1.6rem;
		font-weight: bold;
		line-height: 1;
		text-align: center;
	}

	#wrcRaceResult {
		display: none;
	}
	#wrcRaceResult .resultBlock .resultTable .resultData .country.AN {
		background-image: url(images/rallyjapan/result_icon/ana_pc.png);
	}
	#wrcRaceResult .resultBlock .resultTable .resultData .country.AR {
		background-image: url(images/rallyjapan/result_icon/arg_pc.png);
	}
	#wrcRaceResult .resultBlock .resultTable .resultData .country.AU {
		background-image: url(images/rallyjapan/result_icon/aus_pc.png);
	}
	#wrcRaceResult .resultBlock .resultTable .resultData .country.AT {
		background-image: url(images/rallyjapan/result_icon/aut_pc.png);
	}
	#wrcRaceResult .resultBlock .resultTable .resultData .country.BE {
		background-image: url(images/rallyjapan/result_icon/bel_pc.png);
	}
	#wrcRaceResult .resultBlock .resultTable .resultData .country.BO {
		background-image: url(images/rallyjapan/result_icon/bol_pc.png);
	}
	#wrcRaceResult .resultBlock .resultTable .resultData .country.BR {
		background-image: url(images/rallyjapan/result_icon/bra_pc.png);
	}
	#wrcRaceResult .resultBlock .resultTable .resultData .country.CH {
		background-image: url(images/rallyjapan/result_icon/che_pc.png);
	}
	#wrcRaceResult .resultBlock .resultTable .resultData .country.CL {
		background-image: url(images/rallyjapan/result_icon/chl_pc.png);
	}
	#wrcRaceResult .resultBlock .resultTable .resultData .country.CZ {
		background-image: url(images/rallyjapan/result_icon/cze_pc.png);
	}
	#wrcRaceResult .resultBlock .resultTable .resultData .country.DE {
		background-image: url(images/rallyjapan/result_icon/deu_pc.png);
	}
	#wrcRaceResult .resultBlock .resultTable .resultData .country.ES {
		background-image: url(images/rallyjapan/result_icon/esp_pc.png);
	}
	#wrcRaceResult .resultBlock .resultTable .resultData .country.EE {
		background-image: url(images/rallyjapan/result_icon/est_pc.png);
	}
	#wrcRaceResult .resultBlock .resultTable .resultData .country.FI {
		background-image: url(images/rallyjapan/result_icon/fin_pc.png);
	}
	#wrcRaceResult .resultBlock .resultTable .resultData .country.FR {
		background-image: url(images/rallyjapan/result_icon/fra_pc.png);
	}
	#wrcRaceResult .resultBlock .resultTable .resultData .country.GB {
		background-image: url(images/rallyjapan/result_icon/gbr_pc.png);
	}
	#wrcRaceResult .resultBlock .resultTable .resultData .country.GR {
		background-image: url(images/rallyjapan/result_icon/grc_pc.png);
	}
	#wrcRaceResult .resultBlock .resultTable .resultData .country.HR {
		background-image: url(images/rallyjapan/result_icon/hrv_pc.png);
	}
	#wrcRaceResult .resultBlock .resultTable .resultData .country.HU {
		background-image: url(images/rallyjapan/result_icon/hun_pc.png);
	}
	#wrcRaceResult .resultBlock .resultTable .resultData .country.IN {
		background-image: url(images/rallyjapan/result_icon/ind_pc.png);
	}
	#wrcRaceResult .resultBlock .resultTable .resultData .country.IO {
		background-image: url(images/rallyjapan/result_icon/iot_pc.png);
	}
	#wrcRaceResult .resultBlock .resultTable .resultData .country.IE {
		background-image: url(images/rallyjapan/result_icon/irl_pc.png);
	}
	#wrcRaceResult .resultBlock .resultTable .resultData .country.IT {
		background-image: url(images/rallyjapan/result_icon/ita_pc.png);
	}
	#wrcRaceResult .resultBlock .resultTable .resultData .country.JP {
		background-image: url(images/rallyjapan/result_icon/jpn_pc.png);
	}
	#wrcRaceResult .resultBlock .resultTable .resultData .country.KE {
		background-image: url(images/rallyjapan/result_icon/ken_pc.png);
	}
	#wrcRaceResult .resultBlock .resultTable .resultData .country.LU {
		background-image: url(images/rallyjapan/result_icon/lux_pc.png);
	}
	#wrcRaceResult .resultBlock .resultTable .resultData .country.MX {
		background-image: url(images/rallyjapan/result_icon/mex_pc.png);
	}
	#wrcRaceResult .resultBlock .resultTable .resultData .country.NO {
		background-image: url(images/rallyjapan/result_icon/nor_pc.png);
	}
	#wrcRaceResult .resultBlock .resultTable .resultData .country.NZ {
		background-image: url(images/rallyjapan/result_icon/nzl_pc.png);
	}
	#wrcRaceResult .resultBlock .resultTable .resultData .country.PE {
		background-image: url(images/rallyjapan/result_icon/per_pc.png);
	}
	#wrcRaceResult .resultBlock .resultTable .resultData .country.PL {
		background-image: url(images/rallyjapan/result_icon/pol_pc.png);
	}
	#wrcRaceResult .resultBlock .resultTable .resultData .country.PT {
		background-image: url(images/rallyjapan/result_icon/prt_pc.png);
	}
	#wrcRaceResult .resultBlock .resultTable .resultData .country.PY {
		background-image: url(images/rallyjapan/result_icon/pry_pc.png);
	}
	#wrcRaceResult .resultBlock .resultTable .resultData .country.SA {
		background-image: url(images/rallyjapan/result_icon/sau_pc.png);
	}
	#wrcRaceResult .resultBlock .resultTable .resultData .country.SI {
		background-image: url(images/rallyjapan/result_icon/slo_pc.png);
	}
	#wrcRaceResult .resultBlock .resultTable .resultData .country.SE {
		background-image: url(images/rallyjapan/result_icon/swe_pc.png);
	}
	#wrcRaceResult .resultBlock .resultTable .resultData .country.US {
		background-image: url(images/rallyjapan/result_icon/usa_pc.png);
	}
	#wrcRaceResult .resultBlock .resultTable .resultData .country.ZM {
		background-image: url(images/rallyjapan/result_icon/zmb_pc.png);
	}

	#wrcRaceResult .resultBlock .resultTable .resultData .posData {
		color:#000;
	}

	#wrcRelatedArticles h2.txt_title {
		color: #000;
		overflow: hidden;
		margin-top:0;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2; /* 表示する行数を指定 */
		line-clamp: 2; /* 最新の仕様にも対応 */
		min-height: 3.1em;
	}
	#wrcLiveReport .youtubeMovie .txtTitleAll,
	#morizo .youtubeMovie .txtTitleAll {
		color: #fff;
		overflow: hidden;
		margin-top:0;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2; /* 表示する行数を指定 */
		line-clamp: 2; /* 最新の仕様にも対応 */
		min-height: 3.1em;
	}

	/* result coming soon */
	#wrcRaceResult .resultBlock.resultBlockComingSoon .resultTable {
		position: relative;
	}
	#wrcRaceResult .resultBlock.resultBlockComingSoon .resultTable::after {
		content: "Coming Soon";
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		background-color: rgb(0 0 0 / 70%);
		color: #fff;
		font-size: 4rem;
		display: flex;
		justify-content: center;
		align-items: center;
		font-weight: 700;
	}
	@media screen and (min-width:641px) {
		#wrcRaceResult .resultBlock.resultBlockComingSoon .resultTable::after {
			font-size: 4rem;
		}
	}
	@media screen and (max-width:640px) {
		#wrcRaceResult .resultBlock.resultBlockComingSoon .resultTable::after {
			font-size: 6.5vw;
		}
	}

	/* 関連サイト */
	#relatedLinks h3 {
		color: #000;
		font-weight: bold;
		letter-spacing: 0.04em;
	}
	#relatedLinks .linksArea p {
		background-color: #FFF;
	}
	.linksAreaWrap {
		display: flex;
	}
	.linksAreaTtl {
		font-weight: 700;
		text-align: left;
	}
	@media screen and (min-width:641px) {
		.linksAreaWrap {
			align-items: center;
			gap: min(24px, calc(24 / 1150 * 100vw));
		}
		#relatedLinks h3 {
			margin-bottom: min(48px, calc(48 / 1150 * 100vw));
			border-bottom: 4px solid #000;
			font-size: min(40px, calc(40 / 1150 * 100vw));
		}
		.linksAreaTtl {
			width: min(220px, calc(220 / 1150 * 100vw));
			font-size: min(24px, calc(24 / 1150 * 100vw));
			flex-shrink: 0;
		}
	}
	@media screen and (max-width:640px) {
		#relatedLinks {
			background: transparent url(images/rallyjapan/repeat_bg_white.jpg) repeat center center / 60px auto;
		}
		.linksAreaWrap {
			flex-direction: column;
		}
		#relatedLinks h3 {
			margin-bottom: calc(48 / 390 * 100vw);
			border-bottom: calc(4 / 390 * 100vw) solid #000;
			font-size: calc(24 / 390 * 100vw);
		}
		.linksAreaTtl {
			font-size: calc(20 / 390 * 100vw);
			line-height: 1.5;
			margin-bottom: calc(16 / 390 * 100vw);
		}
		#relatedLinks .wrapper {
			padding: calc(80 / 390 * 100vw) calc(20 / 390 * 100vw);
		}
		#relatedLinks .linksArea > div a .text {
			text-align: center;
			font-size: calc(14 / 390 * 100vw);
			padding: calc(8 / 390 * 100vw) calc(9.5 / 390 * 100vw);
		}
	}


	/* PCレイアウト */
	.movieArea a {
		position: relative;
	}
	.movieArea a:not(.modal) {
		pointer-events: none;
	}
	.movieArea a:not(.modal)::after {
		content: "";
		display: block;
		position: absolute;
		inset: 0;
		background-color: rgb(0 0 0 / 50%);
	}
	@media screen and (min-width:641px) {
		#KVarea .backgroundImage{
			max-height: 923px;
			background-image: url(../assets/images/rallyjapan/kv_l.webp),url(../assets/images/rallyjapan/kv_r.webp),url(../assets/images/rallyjapan/kv_pc.webp);
			background-repeat: no-repeat;
			background-position: 0 0, 100% 0,center;
			background-size: auto 100%, auto 100%,cover;
			padding-block: 72px 60px;
		}
		#KVarea .backgroundImage > img{
			display: none;
		}
		#KVarea #topContents {
			padding: 0 !important;
		}
		#KVarea #topContents .wrapper {
			width: 100%;
			padding-bottom: 30px;
		}
		#KVarea #topContents .wrapper .flexBox {
			max-width: 980px;
			margin-inline: auto;
		}
		#KVarea #topContents .wrapper .flexBox {
		}
		#KVarea #topContents .wrapper .flexBox.posCenter {
			justify-content: center;
		}
		#wrcLiveReport .youtubeMovie,
		#wrcLiveReport .articleLink {
			display: flex;
			justify-content: space-between;
			gap: min( 30px, calc(100vw / ( 1150 / 30 ) ) );
		}
		#KVarea #topContents .flexContent {
			position: relative;
			width: 100%;
		}
		#wrcLiveReport .youtubeMovie .movieArea {
			flex: 0 0 min( 881px, calc(100vw / ( 1150 / 841 ) ) );
			aspect-ratio: 16 / 9;
		}
		#wrcLiveReport .youtubeMovie .movieArea iframe {
			width: 100%;
			height: 100%;
		}
		#wrcLiveReport .youtubeMovie .movieList {
			/* height: 100%; */
			flex: 1 0 auto;
			position: relative;
			overflow: hidden;
		}
		.bgGroup {
			background: transparent url(images/rallyjapan/repeat_bg_white.jpg) repeat center top;

			background-image: url(images/rallyjapan/set_bg_top.webp), url(images/rallyjapan/set_bg_middle.webp), url(images/rallyjapan/set_bg_bottom.webp), url(images/rallyjapan/repeat_bg_white.jpg);
			background-repeat: no-repeat, no-repeat, no-repeat, repeat;
			background-position: center top, center center, center bottom, center center;
			background-size: 100% auto, 100% auto, 100% auto, 120px auto;
		}

		#wrcLiveReport .youtubeMovie .movieList nav {
			display: content;
		}
		#wrcLiveReport .youtubeMovie .movieList nav .btnLeft,
		#wrcLiveReport .youtubeMovie .movieList nav .btnRight {
			display: flex;
			justify-content: center;
			align-items: center;
			position: absolute;
			left: 0;
			width: 100%;
			height: 26px;
			background-color: #000;
			transition: background-color .2s ease;
			cursor: default;
		}
		#wrcLiveReport .youtubeMovie .movieList nav a.active {
			background-color: #eb0a1e;
			cursor: pointer;
		}
		#wrcLiveReport .youtubeMovie .movieList nav a.active:hover {
			background-color: #61818E;
		}
		#wrcLiveReport .youtubeMovie .movieList nav .btnLeft {
			top: 0;
		}
		#wrcLiveReport .youtubeMovie .movieList nav .btnRight {
			bottom: 0;
		}
		#wrcLiveReport .youtubeMovie .movieList nav .btnLeft span,
		#wrcLiveReport .youtubeMovie .movieList nav .btnRight span {
			position: relative;
			display: block;
			width: 7px;
			height: 2px;
			transform: rotate(90deg);
		}
		#wrcLiveReport .youtubeMovie .movieList nav .btnLeft span::before,
		#wrcLiveReport .youtubeMovie .movieList nav .btnLeft span::after,
		#wrcLiveReport .youtubeMovie .movieList nav .btnRight span::before,
		#wrcLiveReport .youtubeMovie .movieList nav .btnRight span::after {
			content: "";
			display: block;
			position: absolute;
			left: 0;
			width: 100%;
			height: 2px;
			margin-left: 0;
			background-color: #FFF;
		}
		#wrcLiveReport .youtubeMovie .movieList nav .btnLeft span::before {
			transform-origin: bottom left;
			transform: translate3d(15%, 0, 0) rotate(-45deg);
		}
		#wrcLiveReport .youtubeMovie .movieList nav .btnLeft span::after {
			transform-origin: top left;
			transform: translate3d(15%, 0, 0) rotate(45deg);
		}
		#wrcLiveReport .youtubeMovie .movieList nav .btnRight span::before {
			transform-origin: bottom right;
			transform: translate3d(-15%, 0, 0) rotate(45deg);
		}
		#wrcLiveReport .youtubeMovie .movieList nav .btnRight span::after {
			transform-origin: top right;
			transform: translate3d(-15%, 0, 0) rotate(-45deg);
		}
		
		#wrcLiveReport .youtubeMovie .movieListWrap {
			position: absolute;
			right: 0;
			top: 0;
			padding-block: 30px;
		}
		#wrcLiveReport .youtubeMovie .contentsList {
			position: relative;
			display: grid;
			grid-template-rows: repeat(20, auto);
			margin-top: 0;
			transition: transform .2s ease;
			padding-left: 6px;
			grid-row-gap: min( 16px, calc(100vw / ( 1150 / 16 ) ) )
		}
		#wrcLiveReport .youtubeMovie .contentsList li {
			display: block;
			width: 100%;
			margin-top: 0;
		}
		#wrcLiveReport .youtubeMovie .contentsList .contentCard {
			position: relative;
		}
		#wrcLiveReport .youtubeMovie .contentsList .contentCard a.modal figure::after {
			width: 40px;
			height: 40px;
		}
		#wrcLiveReport .youtubeMovie .contentsList li .txtData {
			position: absolute;
			right: 0;
			bottom: 0;
			left: 0;
			padding: .5em 1em;
			background-color: rgba(0, 0, 0, .5);
			color: #FFF;
			font-feature-settings: "palt";
		}
		#wrcLiveReport .youtubeMovie .contentsList li .txtData .txtDate {
			margin-top: 0;
			font-size: 1em;
		}
		
		
		#KVarea .titleWrap {
		}
		#KVarea .contentTitle {
			position: relative;
		}
		.logoRallyJapan {
			position: absolute;
			top: 144px;
			right: 81px;
			width: 141px;
		}
		#KVarea .titleWrap .logoRallyJapan {
			position: absolute;
			right: 0;
			bottom: 0;
			width: calc(168 / 1150* 100%);
			transform: translate3d(0, -25%, 0);
		}
		
		.blackShadow {
			display: block;
			box-shadow: -6px 6px 0 #000;
		}
		.contentsList li {
			width: 31.5%;
		}
		.contentsList li.space {
			visibility: hidden;
		}
		.bgGroup .bgImage {
			position: absolute;
			bottom: 0;
			left: min(calc((100vw - 1440px) / 2), 1px);
		}
		.bgGroup .bgImage img {
			min-width: 1440px;
			max-width: unset;
			width: max(100%, 100vw);
		}
		
		
		.categoryBlock {
			padding-bottom: 100px !important;
		}
		.categoryBlock header.contentHeader {
			display: flex;
			justify-content: space-between;
			align-items: center;
			flex-direction: row-reverse;
			margin-bottom: 60px;
		}
		.categoryBlock header.contentHeader h3 {
			width: 48%;
		}
		
		#wrcReportMovies {
			background-image: url(images/rallyjapan/bg01_top_pc.webp), url(images/rallyjapan/bg01_bottom_pc.webp);
			background-repeat: no-repeat, no-repeat;
			background-position: center top, center bottom;
			background-size: 100% auto, 100% auto;
		}
		#wrcReportMovies .contentHeader h3 {
			width: calc(468 / 1150 * 100%);
		}
		
		.contentsList li .contentCard a:hover img {
			opacity: .5 !important;
		}
		.contentsList li .contentCard figure:hover img {
			opacity: 1;
		}
		
		#driverData {
			background: transparent url(images/rallyjapan/driver_data_bg_pc.webp) no-repeat center top / cover;
		}
		#driverData .contentHeader h3 {
			width: calc(807 / 1150 * 100% / 2);
		}
		#driverData .contentHeader h3 img {
			transform: translate3d(calc(10 / 807 * 100%), 0, 0);
		}
		#driverData .driverCard {
			max-width: 980px;
			margin: 0 auto;
			background-color: #EB0A1E;
		}
		#driverData .driverCard a {
			display: flex;
			align-items: center;
			width: 100%;
		}
		#driverData .driverCard figure {
			background-color: #000;
			width: 70%;
		}
		#driverData .driverCard figure img {
			transition: opacity .2s ease;
		}
		#driverData .driverCard .txtData {
			margin: 0 auto;
		}
		#driverData .driverCard .txtData .text {
			display: block;
			padding-right: min(14px, calc(14 / 1150 * 100vw));
			padding-bottom: min(4px, calc(4 / 1150 * 100vw));
			background: transparent url(images/rallyjapan/icon_link_page_white.svg) no-repeat right center / auto 1em;
			border-bottom: 2px solid #FFF;
			font-size: 1.6rem;
			font-weight: bold;
			color: #FFF;
			line-height: 1.2;
			text-align: center;
		}
		#driverData .driverCard a:hover figure img {
			opacity: .5;
		}
		#wrcRelatedArticles {
			padding-bottom: 0!important;
		}
		#wrcRelatedArticles .movieList {
			position: relative;
		}
		#wrcRelatedArticles .movieList nav {
			display: content;
		}
		#wrcRelatedArticles .movieList nav .btnLeft,
		#wrcRelatedArticles .movieList nav .btnRight {
			display: flex;
			justify-content: center;
			align-items: center;
			position: absolute;
			top: 0;
			bottom: 0;
			width: calc(40 / 1150 * 100%);
			background-color: #000;
			transition: background-color .2s ease;
			cursor: default;
		}
		#wrcRelatedArticles .movieList nav a.active {
			background-color: #eb0a1e;
			cursor: pointer;
		}
		#wrcRelatedArticles .movieList nav a.active:hover {
			background-color: #61818E;
		}
		#wrcRelatedArticles .movieList nav .btnLeft {
			left: 0;
		}
		#wrcRelatedArticles .movieList nav .btnRight {
			right: 0;
		}
		#wrcRelatedArticles .movieList nav .btnLeft span,
		#wrcRelatedArticles .movieList nav .btnRight span {
			position: relative;
			display: block;
			width: 40%;
			height: 2px;
		}
		#wrcRelatedArticles .movieList nav .btnLeft span::before,
		#wrcRelatedArticles .movieList nav .btnLeft span::after,
		#wrcRelatedArticles .movieList nav .btnRight span::before,
		#wrcRelatedArticles .movieList nav .btnRight span::after {
			content: "";
			display: block;
			position: absolute;
			left: 0;
			width: 100%;
			height: 2px;
			margin-left: 0;
			background-color: #FFF;
		}
		#wrcRelatedArticles .movieList nav .btnLeft span::before {
			transform-origin: bottom left;
			transform: translate3d(15%, 0, 0) rotate(-45deg);
		}
		#wrcRelatedArticles .movieList nav .btnLeft span::after {
			transform-origin: top left;
			transform: translate3d(15%, 0, 0) rotate(45deg);
		}
		#wrcRelatedArticles .movieList nav .btnRight span::before {
			transform-origin: bottom right;
			transform: translate3d(-15%, 0, 0) rotate(45deg);
		}
		#wrcRelatedArticles .movieList nav .btnRight span::after {
			transform-origin: top right;
			transform: translate3d(-15%, 0, 0) rotate(-45deg);
		}
		
		#wrcRelatedArticles .movieListWrap {
			margin: 0 calc(60 / 1150 * 100%);
			overflow: hidden;
			padding-left: 6px;
			padding-bottom: 6px;
		}
		#wrcRelatedArticles .carouselSpOnly .movieListWrap {
			margin: 0;
		}
		#wrcRelatedArticles .carouselSpOnly nav {
			display: none;
		}
		#wrcRelatedArticles .carouselSpOnly .contentsList {
			display: flex;
			flex-wrap: wrap;
			gap: min(48px, calc(48 / 1150 * 100vw)) min(22px, calc(22 / 1150 * 100vw));
		}
		#wrcRelatedArticles .carouselSpOnly .contentsList li {
			width: calc((100% - (calc(30 / 1150 * 100%) * 3)) / 4);
		}
		#wrcRelatedArticles .movieList + .movieList {
			margin-top: calc(60 / 1150 * 100%);
		}
		#wrcRelatedArticles .contentsList {
			position: relative;
			display: grid;
			grid-template-columns: repeat(20, calc((100% - (calc(30 / 1150 * 100%) * 3)) / 4));
			gap: 0 calc(30 / 1150 * 100%);
			margin-top: 0;
			transition: transform .2s ease;
		}
		#wrcRelatedArticles .contentsList li {
			grid-row-start: 1;
			display: block;
			width: 100%;
			margin-top: 0;
		}
		#wrcRelatedArticles .contentsList .contentCard {
			position: relative;
			background: #fff;
		}
		#wrcRelatedArticles .contentsList .contentCard a.modal figure::after {
			width: 40px;
			height: 40px;
		}
		#wrcRelatedArticles h2.txt_title {
			font-size: min(16px, calc(16 / 1150 * 100vw));
		}
		#wrcRelatedArticles .txt_date {
			font-size: min(12px, calc(12 / 1150 * 100vw));
			text-align: right;
			line-height: 1.5;
			margin-top: min(8px, calc(12 / 1150 * 100vw));
			display: block;
			color: #000;
		}
		#wrcRelatedArticles .contentHeader h3 {
			width: calc(396 / 1150 * 100%);
		}
		
		#relatedLinks {
			padding: 100px 0;
			background: transparent url(images/rallyjapan/repeat_bg_white.jpg) repeat center top;
		}
		.categoryBlock#relatedLinks {
			padding-block: calc(120 / 1150 * 100vw);
		}
		#relatedLinks .linksArea {
			display: flex;
			gap: min(24px, calc(24 / 1150 * 100vw));
		}
		#relatedLinks .linksArea > div {
			background-color: #FFF;
		}
		#relatedLinks .linksArea > div a {
			display: grid;
			grid-template-columns: 1fr;
			grid-template-rows: auto 4em;
			justify-content: center;
			align-items: center;
			height: 100%;
			font-size: min(1.6rem, 1.3vw);
			text-align: center;
			font-weight: bold;
			width: min(270px, calc(270 / 1150 * 100vw));
		}
		#relatedLinks .linksArea > div a figure {
			background-color: #000;
			border-bottom: 1px solid #ccc;
		}
		#relatedLinks .linksArea > div a span.text {
			display: block;
		}
		#relatedLinks .linksArea > div a img {
			transition: opacity .2s ease;
		}
		#relatedLinks .linksArea > div a:hover img {
			opacity: .5;
		}
		#relatedLinks .linksArea a .txtBlock {
			display: block;
			text-align: left;
		}
		
		
		#wrcRaceResult {
			background: transparent url(images/rallyjapan/race_result_bg_pc.webp) no-repeat top center / cover;
		}
		#wrcRaceResult .contentHeader h3 {
			width: calc(383 / 1150 * 100%);
		}
		#wrcRaceResult .resultBlock {
			text-align: center;
			line-height: 2;
		}
		#wrcRaceResult .resultBlock .resultNavi {
			display: flex;
			align-items: center;
			gap: 0 calc(30 / 1150 * 100%);
			font-size: min(1.2vw, 16px);
			line-height: 1;
		}
		#wrcRaceResult .resultBlock .resultNavi a {
			display: flex;
			justify-content: space-between;
			align-items: center;
			width: calc((50% - (30 / 1150 * 100% * 3) - 3%) / 3);
			padding: .65em 1em;
			background-color: #60737C;
			border-top-left-radius: 6px;
			color: #FFF;
			cursor: default;
		}
		#wrcRaceResult .resultBlock .resultNavi a.enable {
			cursor: pointer;
			transition: background-color .2s ease;
		}
		#wrcRaceResult .resultBlock .resultNavi a.enable:hover {
			background-color: #EB0A1E;
			color: #FFF !important;
		}
		#wrcRaceResult .resultBlock .resultNavi a .text {
			display: block;
			width: 30%;
			line-height: 0;
		}
		#wrcRaceResult .resultBlock .resultNavi a .line {
			display: block;
			width: 60%;
			height: 1px;
			background-color: #FFF;
		}
		#wrcRaceResult .resultBlock .resultNavi a.current {
			width: 50%;
			padding: .5em 1em;
			background-color: #EB0A1E;
			font-size: 1.5em;
		}
		#wrcRaceResult .resultBlock .resultNavi a.current .text {
			width: 13%;
		}
		#wrcRaceResult .resultBlock .resultNavi a.current .line {
			width: 82%;
			height: 2px;
		}
		#wrcRaceResult .resultBlock .resultTable {
			display: grid;
			grid-template-rows: auto repeat(7, 1fr);
			grid-template-columns: 7% 7% 18% 18% 28% 10% 12%;
			background-color: #fff;
			font-size: min(1vw, 14px);
		}
		#wrcRaceResult .resultBlock .resultTable .resultHeader {
			display: contents;
			font-size: 12px;
			font-weight: bold;
		}
		#wrcRaceResult .resultBlock .resultTable .resultHeader div {
			position: relative;
			background-color: #000;
			color: #FFF;
		}
		#wrcRaceResult .resultBlock .resultTable .resultHeader div:not(:first-child)::before {
			content: "";
			position: absolute;
			top: 50%;
			left: 0;
			display: block;
			width: 0;
			height: 1em;
			border-left: 1px solid #FFF;
			transform: translate3d(0, -50%, 0);
		}
		#wrcRaceResult .resultBlock .resultTable .resultData {
			display: none;
		}
		#wrcRaceResult .resultBlock .resultTable .resultData.current {
			display: contents;
		}
		#wrcRaceResult .resultBlock .resultTable .resultData .posData {
			display: contents;
		}
		#wrcRaceResult .resultBlock .resultTable .resultData .posData > * {
			border-bottom: 1px solid #000;
		}
		#wrcRaceResult .resultBlock .resultTable .resultData .posData.toyota > * {
			background-color: #FFBCC1;
		}
		#wrcRaceResult .resultBlock .resultTable .pos {
			grid-column-start: 1;
		}
		#wrcRaceResult .resultBlock .resultTable .carNo {
			grid-column-start: 2;
		}
		#wrcRaceResult .resultBlock .resultTable .driver {
			grid-column-start: 3;
		}
		#wrcRaceResult .resultBlock .resultTable .coDriver {
			grid-column-start: 4;
		}
		#wrcRaceResult .resultBlock .resultTable .teamCar {
			grid-column-start: 5;
		}
		#wrcRaceResult .resultBlock .resultTable .totalTime {
			grid-column-start: 6;
		}
		#wrcRaceResult .resultBlock .resultTable .diff {
			grid-column-start: 7;
		}
		#wrcRaceResult .resultBlock .resultTable .resultData .driver {
			display: flex;
			align-items: center;
			padding: 0 1em;
		}
		#wrcRaceResult .resultBlock .resultTable .resultData .coDriver {
			display: flex;
			align-items: center;
			padding: 0 1em;
		}
		#wrcRaceResult .resultBlock .resultTable .resultData .teamCar {
			display: flex;
			align-items: center;
			padding: 0 2em;
		}
		#wrcRaceResult .resultBlock .resultTable .resultData .country {
			display: block;
			width: 1em;
			height: 1em;
			margin-right: .5em;
			background: #D4DBDE none no-repeat center center / cover;
			border-radius: 100%;
		}
		
		#wrcRaceResult .resultBlock .resultTable .resultData .maker {
			display: block;
			width: 16px;
			height: 16px;
			margin-right: .5em;
		}
		#wrcRaceResult .resultBlock .resultTable .resultData .maker.toyota {
			background: transparent url(images/rallyjapan/result_icon/toyota_maker.png) no-repeat center center / 16px 16px;
		}
		#wrcRaceResult .resultBlock .resultTable .resultData .totalTime,
		#wrcRaceResult .resultBlock .resultTable .resultData .diff {
			padding: 0 2em;
			text-align: right;
		}
		
		#wrcLiveReport {
			padding-top: 120px !important;
		}
		#wrcLiveReport .contentHeader h3 {
			width: calc(396 / 1150* 100%);
		}
		#topContents .liveMovieBlock {
			--liveMovieBlockWidth: min(980px, calc(980 / 1150 * 100vw));
			display: grid;
			grid-template-columns: calc(758 / 980 * var(--liveMovieBlockWidth)) calc(196 / 980 * var(--liveMovieBlockWidth));
			grid-template-rows: repeat(4, 1fr);
			gap: 3% calc(29 / 980 * var(--liveMovieBlockWidth));
			width: var(--liveMovieBlockWidth);
			margin: 0 auto;
		}
		#topContents .liveMovieBlock .movieBlock {
			display: flex;
			border-top-left-radius: 6px;
		}
		#topContents .liveMovieBlock .movieBlock header {
			display: grid;
			grid-template-rows: auto 1fr;
			grid-template-columns: 1fr;
			width: calc(30 / 758 * 100%);
			background-color: #EB0A1E;
			color: #FFF;
			border-top-left-radius: 6px;
		}
		#topContents .liveMovieBlock .movieBlock header .text {
			display: block;
			padding: 20% 15%;
		}
		#topContents .liveMovieBlock .movieBlock header .line {
			display: block;
			width: 2px;
			margin: 15% auto 40%;
			background-color: #FFF;
		}
		#topContents .liveMovieBlock .movieBlock .movieArea {
			--mainMovieBlock: calc(728 / 980 * var(--liveMovieBlockWidth));
			width: var(--mainMovieBlock);
			background: #000;
		}
		#topContents .liveMovieBlock .mainMovie {
			grid-row: 1 / -1;
			grid-column: 1 / 2;
		}
		#topContents .liveMovieBlock .mainMovie iframe {
			width: 100%;
		}
		#topContents .liveMovieBlock .movieArea iframe,
		#topContents .liveMovieBlock .movieArea img {
			width: var(--mainMovieBlock);
			height: calc(var(--mainMovieBlock) * 9 / 16);
		}
		#topContents .liveMovieBlock .subMovie {
			grid-column-start: 2;
		}
		#topContents .liveMovieBlock .subMovie header {
			width: calc(30 / 196 * 100%);
			background-color: #61818E;
			color: #FFF;
			border-top-left-radius: 6px;
		}
		#topContents .liveMovieBlock .subMovie header .line {
			width: 1px;
			margin: 5% auto 25%;
		}
		#topContents .liveMovieBlock .subMovie .movieArea {
			--mainMovieBlock: calc(166 / 980 * var(--liveMovieBlockWidth));
			width: var(--mainMovieBlock);
		}
		#topContents .liveMovieBlock .subMovie .movieArea a.modal figure::after {
			width: calc(48 / 980 * var(--liveMovieBlockWidth));
			height: calc(48 / 980 * var(--liveMovieBlockWidth));
		}
		#topContents .liveMovieBlock .subMovie.is_current {
			position: relative;
			left: calc(16 / 980* var(--liveMovieBlockWidth));
		}
		#topContents .liveMovieBlock .subMovie.is_current header {
			position: relative;
			background-color: #EB0A1E;
		}
		#topContents .liveMovieBlock .subMovie.is_current header::after {
			content:"";
			position: absolute;
			background-color: #EB0A1E;
			bottom:0;
			left: calc(-15 / 980 * var(--liveMovieBlockWidth));
			width: calc(16 / 980 * var(--liveMovieBlockWidth));
			height: calc(16 / 980 * var(--liveMovieBlockWidth));
			clip-path: polygon(0% 100%, 100% 100%, 100% 0%);
		}
		#topContents .liveMovieBlock .subMovie.is_current header::before {
			content:"";
			position: absolute;
			background-color: #000;
			bottom: calc(-6 / 980* var(--liveMovieBlockWidth));
			left: calc(-28 / 980* var(--liveMovieBlockWidth));
			width: calc(28 / 980* var(--liveMovieBlockWidth));
			height: calc(28 / 980* var(--liveMovieBlockWidth));
			clip-path: polygon(0% 100%, 100% 100%, 100% 0%);
		}


		#wrcLiveReport .comingsoon{
			display: flex;
			justify-content: center;
			align-items: center;
			padding: 135px 30px;
			margin-inline: auto;
		}
		
		
		#wrcCoursesSchedule {
			background: transparent url(images/rallyjapan/courses_schedule_bg_pc.webp) no-repeat top center / cover;
		}
		#wrcCoursesSchedule .contentHeader h3 {
			width: calc(623 / 1150 * 100%);
		}
		#wrcCoursesSchedule .contentHeader h3 img {
			transform: translate3d(calc(10 / 807 * 100%), 0, 0);
		}
		#wrcCoursesSchedule .mapArea {
			width: calc(980 / 1150 * 100%);
			margin: 0 auto;
		}
		#wrcCoursesSchedule .mapArea .mapBlock {
			display: grid;
			grid-template-rows: repeat(4, calc(93 / 630 * 100%)) auto;
			grid-template-columns: calc(758 / 980 * 100%) calc(222 / 980 * 100%);
			gap: 4% 0;
		}
		#wrcCoursesSchedule .mapArea .mapBlock .mapFigure {
			position: relative;
			grid-row: 1 / -1;
			grid-column: 1 / span 1;
			z-index: 1;
		}
		#wrcCoursesSchedule .mapArea .mapBlock .mapFigure .mapBase {
			position: relative;
		}
		#wrcCoursesSchedule .mapArea .mapBlock .mapFigure .movieBtns {
			position: absolute;
			top: 0;
			right: 0;
			bottom: 0;
			left: 0;
		}
		#wrcCoursesSchedule .mapArea .mapBlock .mapFigure .movieBtns .movieGifu {
			position: absolute;
			top: 16%;
			right: 15%;
			width: calc(173 / 758 * 100%);
		}
		#wrcCoursesSchedule .mapArea .mapBlock .mapFigure .movieBtns .movieGifu .arrow {
			position: absolute;
			top: 50%;
			right: 99%;
			width: calc(63.9 / 173 * 100%);
		}
		#wrcCoursesSchedule .mapArea .mapBlock .mapFigure .movieBtns .movieGifu a.btnMovieGifu {
			position: relative;
			width: 100%;
		}
		#wrcCoursesSchedule .mapArea .mapBlock .mapFigure .movieBtns .movieAichi {
			position: absolute;
			right: 13%;
			bottom: 18%;
			width: calc(173 / 758 * 100%);
		}
		#wrcCoursesSchedule .mapArea .mapBlock .mapFigure .movieBtns .movieAichi .arrow {
			position: absolute;
			top: 40%;
			right: 99%;
			width: calc(265 / 173 * 100%);
			max-width: none;
		}
		#wrcCoursesSchedule .mapArea .mapBlock .mapFigure .movieBtns .movieAichi a.btnMovieAichi {
			position: relative;
			width: 100%;
		}
		#wrcCoursesSchedule .mapArea .mapBlock .mapFigure .mapCourse {
			position: absolute;
			top: 0;
			right: 0;
			bottom: 0;
			left: 0;
			pointer-events: none;
		}
		#wrcCoursesSchedule .mapArea .mapBlock .mapFigure .mapCourse picture {
			display: block;
			transition: opacity .2s ease;
		}
		#wrcCoursesSchedule .mapArea .mapBlock .mapFigure .mapCourse .normal {
			position: relative;
			opacity: 1;
		}
		#wrcCoursesSchedule .mapArea .mapBlock .mapFigure .mapCourse .focus {
			position: absolute;
			top: 0;
			right: 0;
			bottom: 0;
			left: 0;
			opacity: 0;
		}
		#wrcCoursesSchedule .mapArea .mapBlock .mapFigure .mapCourse.current .normal {
			opacity: 0;
		}
		#wrcCoursesSchedule .mapArea .mapBlock .mapFigure .mapCourse.current .focus {
			opacity: 1;
		}
		#wrcCoursesSchedule .mapArea .mapBlock .mapFigure .mapPark {
			position: absolute;
			top: 0;
			right: 0;
			bottom: 0;
			left: 0;
			pointer-events: none;
		}
		#wrcCoursesSchedule .mapArea .mapBlock nav {
			display: contents;
		}
		#wrcCoursesSchedule .mapArea .mapBlock nav .naviTab {
			display: flex;
			justify-content: stretch;
			align-items: stretch;
		}
		#wrcCoursesSchedule .mapArea .mapBlock nav a {
			grid-column-start: 2;
			display: flex;
			justify-content: center;
			align-items: center;
			width: 100%;
			height: 100%;
			background-color: #688896;
			border-bottom: 6px solid #FFF;
			border-top-right-radius: .5em;
			color: #FFF;
			transition: all .2s ease;
		}
		#wrcCoursesSchedule .mapArea .mapBlock nav .naviTab a {
			padding-left: calc(25 / 222 * 100%);
			transform: translate3d(calc(-25 / 222 * 100%), 0, 0);
		}
		#wrcCoursesSchedule .mapArea .mapBlock nav a.tabDay1 {
			border-color: #BE8228;
		}
		#wrcCoursesSchedule .mapArea .mapBlock nav a.tabDay2 {
			border-color: #64238C;
		}
		#wrcCoursesSchedule .mapArea .mapBlock nav a.tabDay3 {
			border-color: #14671A;
		}
		#wrcCoursesSchedule .mapArea .mapBlock nav a.tabDay4 {
			border-color: #185096;
		}
		#wrcCoursesSchedule .mapArea .mapBlock nav .naviTab a span {
			display: block;
			width: 17%;
		}
		#wrcCoursesSchedule .mapArea .mapBlock nav .naviTab a img {
			display: block;
			width: 100%;
			height: auto;
		}
		#wrcCoursesSchedule .mapArea .mapBlock nav a:hover,
		#wrcCoursesSchedule .mapArea .mapBlock nav a.current {
			padding-left: 0;
			background-color: #EB0A1E;
			border-color: #FFF;
			color: #FFF;
			transform: translate3d(calc(-5 / 222* 100%), 0, 0);
		}
		#wrcCoursesSchedule .mapArea .mapBlock nav .btnAll {
			grid-row: 5 / span 1;
			grid-column: 2 / span 1;
			display: flex;
			justify-content: flex-end;
			align-items: flex-end;

		}
		#wrcCoursesSchedule .mapArea .mapBlock nav .btnAll a {
			width: calc(174 / 222 * 100%);
			height: 30.6%;
			border: none;
			transform: translate3d(calc(-25 / 222 * 100%), 0, 0);
		}
		#wrcCoursesSchedule .mapArea .mapBlock nav .btnAll a img {
			width: 25%;
		}
		
		/* #morizo */
		#morizo {
			background: transparent url(images/rallyjapan/morizo_bg_pc.webp) no-repeat center top / cover;
		}
		#morizo .youtubeMovie,
		#morizo .articleLink {
			display: flex;
			flex-direction: row-reverse;
			justify-content: space-between;
			gap: min(30px, calc(100vw /(1150 / 30)));
		}
		#morizo .youtubeMovie .movieArea {
			flex: 0 0 min( 881px, calc(100vw / ( 1150 / 841 ) ) );
			aspect-ratio: 16 / 9;
		}
		#morizo .youtubeMovie .movieArea iframe {
			width: 100%;
			height: 100%;
		}
		#morizo .youtubeMovie .movieList {
			/* height: 100%; */
			flex: 1 0 auto;
			position: relative;
			overflow: hidden;
		}
		#morizo .youtubeMovie .movieList nav {
			display: content;
		}
		#morizo .youtubeMovie .movieList nav .btnLeft,
		#morizo .youtubeMovie .movieList nav .btnRight {
			display: flex;
			justify-content: center;
			align-items: center;
			position: absolute;
			left: 0;
			width: 100%;
			height: 26px;
			background-color: #000;
			transition: background-color .2s ease;
			cursor: default;
		}
		#morizo .youtubeMovie .movieList nav a.active {
			background-color: #eb0a1e;
			cursor: pointer;
		}
		#morizo .youtubeMovie .movieList nav a.active:hover {
			background-color: #61818E;
		}
		#morizo .youtubeMovie .movieList nav .btnLeft {
			top: 0;
		}
		#morizo .youtubeMovie .movieList nav .btnRight {
			bottom: 0;
		}
		#morizo .youtubeMovie .movieList nav .btnLeft span,
		#morizo .youtubeMovie .movieList nav .btnRight span {
			position: relative;
			display: block;
			width: 7px;
			height: 2px;
			transform: rotate(90deg);
		}
		#morizo .youtubeMovie .movieList nav .btnLeft span::before,
		#morizo .youtubeMovie .movieList nav .btnLeft span::after,
		#morizo .youtubeMovie .movieList nav .btnRight span::before,
		#morizo .youtubeMovie .movieList nav .btnRight span::after {
			content: "";
			display: block;
			position: absolute;
			left: 0;
			width: 100%;
			height: 2px;
			margin-left: 0;
			background-color: #FFF;
		}
		#morizo .youtubeMovie .movieList nav .btnLeft span::before {
			transform-origin: bottom left;
			transform: translate3d(15%, 0, 0) rotate(-45deg);
		}
		#morizo .youtubeMovie .movieList nav .btnLeft span::after {
			transform-origin: top left;
			transform: translate3d(15%, 0, 0) rotate(45deg);
		}
		#morizo .youtubeMovie .movieList nav .btnRight span::before {
			transform-origin: bottom right;
			transform: translate3d(-15%, 0, 0) rotate(45deg);
		}
		#morizo .youtubeMovie .movieList nav .btnRight span::after {
			transform-origin: top right;
			transform: translate3d(-15%, 0, 0) rotate(-45deg);
		}
		
		#morizo .youtubeMovie .movieListWrap {
			position: absolute;
			right: 0;
			top: 0;
			padding-block: 30px;
		}
		#morizo .youtubeMovie .contentsList {
			position: relative;
			display: grid;
			grid-template-rows: repeat(20, auto);
			margin-top: 0;
			transition: transform .2s ease;
			padding-left: 6px;
			grid-row-gap: min( 16px, calc(100vw / ( 1150 / 16 ) ) )
		}
		#morizo .youtubeMovie .contentsList li {
			display: block;
			width: 100%;
			margin-top: 0;
		}
		#morizo .youtubeMovie .contentsList .contentCard {
			position: relative;
		}
		#morizo .youtubeMovie .contentsList .contentCard a.modal figure::after {
			width: 40px;
			height: 40px;
		}
		#morizo .youtubeMovie .contentsList li .txtData {
			position: absolute;
			right: 0;
			bottom: 0;
			left: 0;
			padding: .5em 1em;
			background-color: rgba(0, 0, 0, .5);
			color: #FFF;
			font-feature-settings: "palt";
		}
		#morizo .youtubeMovie .contentsList li .txtData .txtDate {
			margin-top: 0;
			font-size: 1em;
		}
		#morizo .contentHeader h3 {
			width: calc(383 / 1150 * 100%);
		}
	}

	@media screen and (min-width:1281px) {
		#KVarea .backgroundImage #cut1 .txt {
			font-size: 60px;
		}
		#KVarea #topContents .wrapper .flexBox {
			width: 1150px;
		}
		#KVarea .contentTitle {
			width: 1150px;
			margin: 0 auto 40px;
		}
		
		.categoryBlock {
			padding: 120px 0 !important;
		}
		.categoryBlock header.contentHeader h3 {
		}
		.categoryBlock header.contentHeader p {
			font-size: 4rem;
		}
		
		#wrcReportMovies .contentsList h2.txtTitleAll {
			font-size: 2.1rem;
		}
	}
	@media screen and (max-width:1280px) {
		#KVarea .backgroundImage #cut1 .txt {
			font-size: 4.6875vw;
		}
		#KVarea #topContents {
			padding-bottom: 0;
		}
		#KVarea #topContents .wrapper {
			width: 90%;
			margin: 0 auto;
		}
		#KVarea .contentTitle {
			width: 90%;
			margin: 0 auto calc(40 / 1280 * 100vw);
		}
		.logoRallyJapan {
			top: calc(144/1280*100vw);
			right: calc(81/1280*100vw);
			width: calc(141/1280*100vw);
		}
		
		#KVarea #topContents .twitterTimeline,
		#KVarea #topContents .twitterTimeline .twitter-timeline,
		#KVarea #topContents .twitterTimeline iframe {
			height: calc(100% + 5vw);
		}
		
		a.modal figure::after {
			width: 7.5vw;
			height: 7.5vw;
		}
		
		.categoryBlock {
			padding-block: max(80px, 11vw) !important;
		}
		.categoryBlock header.contentHeader p {
			font-size: 3.5vw;
		}
		.contentsList .contentCard .txtData h2 {
			font-size: min(2vw, 2.1rem);
		}
		.movieList li .contentCard .txtData {
			padding: 1vw 1.5vw;
		}
		.movieList .contentCard .txtData h2 {
			font-size: 1vw;
		}
		.movieList .contentCard .txtData .txtDate {
			font-size: .8em !important;
		}

		#wrcLiveReport .comingsoon{
			padding: 10vw 20vw;
		}
		}

	/* SPレイアウト */
	@media screen and (max-width:640px) {
		.backgroundImage {
			padding-top: calc(40/390*100vw);
			background: url(images/rallyjapan/kv_sp.webp) no-repeat center top / 100% auto;
		}
		.categoryBlock {
			padding: 0 !important;
		}
		#KVarea {
			background: transparent url(images/rallyjapan/repeat_bg_black.jpg) repeat center top / 60px auto;
		}
		#KVarea #topContents {
			position: relative;
			z-index: 1;
			margin-top: calc(238 / 390 *100vw - 3vw);
		}
		#KVarea #topContents .wrapper {
			width: 100%;
			padding-top: 0;
		}
		#KVarea #topContents .flexBox {
		}

		#wrcLiveReport .contentHeader{
			padding-bottom: 10vw;
		}
		#wrcLiveReport .youtubeMovie,
		#wrcLiveReport .articleLink {
			width: 90vw;
		}
		#wrcLiveReport .youtubeMovie iframe {
			width: 90vw;
			height: calc(90vw / 16 * 9);
		}
		#KVarea .titleWrap .logoRallyJapan {
			position: absolute;
			top: calc(-500 / 640 * 100vw);
			left: 5vw;
			width: calc(152 / 640* 100vw);
		}
		
		#wrcLiveReport .movieArea {
			margin-top: -1px;
		}
		#KVarea .titleWrap {
			position: absolute;
			z-index:1;
			right: 0;
			top: calc(530 / 640 * 100vw);
			left: 0;
		}
		#KVarea .contentTitle {
			width: calc(319 / 390 * 100vw);
			margin-left: calc(36 / 390 * 100vw);
			margin-bottom: 0;
		}
		.logoRallyJapan {
			position: absolute;
            top: calc(160 / 390 * 100vw);
            right: calc(36 / 390 * 100vw);
            width: calc(85 / 390 * 100vw);
        }
		
		
		#wrcLiveReport .youtubeMovie .movieList {
			margin: 5vw -5vw 0;
		}
		#wrcLiveReport .youtubeMovie .movieList .movieListWrap {
		}
		#wrcLiveReport .youtubeMovie .movieList .contentsList {
			display: grid;
			grid-auto-flow: column;
			grid-auto-columns: calc((464 / 640* 100vw) + 5vw);
			padding-bottom: 4px;
			overflow: scroll;
			scroll-snap-type: x mandatory;
			padding-right: calc(5vw - 4px);
		}
		#wrcLiveReport .youtubeMovie .movieList .contentsList li {
			grid-row-start: 1;
			display: block;
			width: 100%;
			margin: 0;
			scroll-snap-align: start;
			padding: 4px;
			padding-left: 5vw;
		}
		#wrcLiveReport .youtubeMovie .movieList .contentsList .contentCard {
			position: relative;
		}
		#wrcLiveReport .youtubeMovie .movieList .contentsList .contentCard figure img {
			width: 100%;
		}
		#wrcLiveReport .youtubeMovie .movieList .contentsList .contentCard .txtData {
			position: absolute;
			right: 0;
			bottom: 0;
			left: 0;
			padding: .5rem !important;
		}
		#wrcLiveReport .youtubeMovie .movieList .contentsList .contentCard .txtData .txtTitleAll {
			font-size: 1.2rem;
		}
		#wrcLiveReport .youtubeMovie .movieList .contentsList .contentCard .txtData .txtTitleAll span {
			background-color: #000;
			color: #fff;
		}
		#wrcLiveReport .youtubeMovie .movieList .contentsList .contentCard .txtData .attendData {
			margin-top: 0;
			border-top: none;
			font-size: 1.5rem;
			text-align: right;
		}
		#wrcLiveReport .youtubeMovie .movieList .contentsList .contentCard .txtData .attendData .txtDate {
			display: inline-block;
			margin-top: 0;
			padding: .25em .5em;
			background-color: #000;
			color: #fff;
			line-height: 1;
		}
		#wrcLiveReport .youtubeMovie .movieList nav {
			display: none;
		}
		
		.bgGroup {
			background-image: url(images/rallyjapan/set_bg_top_sp.webp), url(images/rallyjapan/set_bg_middle_sp.webp), url(images/rallyjapan/set_bg_bottom_sp.webp), url(images/rallyjapan/repeat_bg_white.jpg);
			background-repeat: no-repeat, no-repeat, no-repeat, repeat;
			background-position: center top, center center, center bottom, center center;
			background-size: 100% auto, 100% auto, 100% auto, 60px auto;
		}
		.bgGroup .bgImage {
			position: absolute;
			bottom: 0;
		}
		.bgGroup .bgImage img {
			width: 100vw;
		}
		.categoryBlock + .categoryBlock {
			padding-top: 0;
		}
		.blackShadow {
			display: block;
			box-shadow: -4px 4px 0 #000;
		}
		.linkPage {
			margin-top: 10vw;
		}
		.linkPage a {
			width: 80vw;
			padding: .4em .8em .6em;
		}
		
		a.modal figure::after {
			width: 15vw;
			height: 15vw;
		}
		
		.categoryBlock .wrapper {
			padding: 20vw calc(20 / 390 * 100vw) 0;
		}
		.categoryBlock .wrapper.picture_bg {
			padding-top: calc(80 / 390 * 100vw);
			padding-bottom: 20vw;
		}
		.categoryBlock header.contentHeader h3 {
			width: calc(1225 / 1280 * 100vw);
			margin: 0;
		}
		.categoryBlock header.contentHeader h3 img {
			transform: translate3d(calc(-1 * 9 / 1225 * 100%), 0, 0);
		}
		.categoryBlock .wrapper header.contentHeader p {
			display: inline-block;
			margin: calc(40 / 390 * 100vw) 0 0;
			font-size: calc(18 / 390 * 100vw);
			text-align: left;
			padding: calc(6 / 390 * 100vw) calc(16 / 390 * 100vw) calc(8 / 390 * 100vw);
		}
		.contentsList .contentCard .txtData h2 {
			font-size: 1.2rem;
		}
		#wrcRelatedArticles .txt_date {
			font-size: calc(10 / 390 * 100vw);
			text-align: right;
			line-height: 1;
			margin-top: calc(8 / 390 * 100vw);
			display: block;
			color: #000;
		}

		
		#wrcReportMovies {
			background-image: url(images/rallyjapan/bg01_top_sp.webp), url(images/rallyjapan/bg01_bottom_sp.webp);
			background-repeat: no-repeat, no-repeat;
			background-position: center top, center bottom;
			background-size: 100% auto, 100% auto;
		}
		
		#driverData {
			background-image: url(images/rallyjapan/driver_data_bg_sp.webp), url(images/rallyjapan/repeat_bg_red.jpg);
			background-repeat: no-repeat, repeat;
			background-position: top center, top center;
			background-size: 100% auto, 60px auto;
		}
		#driverData .contentHeader {
			margin-top: 0vw;
		}
		#driverData .driverCard {
			margin-top: 10vw;
			background-color: #EB0A1E;
		}
		#driverData .driverCard a {
			width: 100%;
		}
		#driverData .driverCard figure {
			background-color: #000;
		}
		#driverData .driverCard figure img {
			transition: opacity .2s ease;
		}
		#driverData .driverCard .txtData {
			padding: calc(3 / 390 * 100vw) calc(48 / 390 * 100vw) calc(24 / 390 * 100vw);
		}
		#driverData .driverCard .txtData .text {
			display: block;
			padding: calc(16 / 390 * 100vw) calc(34 / 390 * 100vw) calc(14 / 390 * 100vw);
			background: transparent url(images/rallyjapan/icon_link_page_white.svg) no-repeat right center / auto 1em;
			border-bottom: 2px solid #FFF;
			font-size: 1.6rem;
			font-weight: bold;
			color: #FFF;
			line-height: 1.2;
			text-align: center;
		}
		#driverData .driverCard a:hover figure img {
			opacity: .5;
		}
		
		#wrcRelatedArticles {
			/*  */
			/* background-image: url(images/rallyjapan/bg02_top_sp.webp), url(images/rallyjapan/bg02_bottom_sp.webp);
			background-repeat: no-repeat, no-repeat;
			background-position: center top, center bottom;
			background-size: 100% auto, 100% auto; */
		}
		
		.contentsList li {
			margin: 10vw 0;
		}
		.contentsList li:not(:first-child) {
			border-top: none;
		}
		.contentCard {
			margin: 0;
		}
		.contentsList li .txtData .txtLead {
			display: none;
		}
		
		#wrcRelatedArticles .wrapper {
			padding-bottom:0;
		}
		#wrcRelatedArticles .related a > figure {
			width: 100%;
		}
		#wrcRelatedArticles .related a .txtData {
			width: 100%;
			padding: 4vw;
		}
		#wrcRelatedArticles .related a .txtData .textTitle {
			font-size: 6vw;
		}
		#wrcRelatedArticles .related a .txtData .textLead {
			font-size: 4vw;
		}
		#wrcRelatedArticles .related {
			margin: 10vw 0 20vw;
		}

		#wrcRelatedArticles .movieList {
			margin: 8vw -5vw 0;
		}
		#wrcRelatedArticles .blackShadow {
			box-shadow: none;
		}
		#wrcRelatedArticles .movieList .movieListWrap {
		}
		#wrcRelatedArticles .movieList .contentsList {
			display: grid;
			grid-auto-flow: column;
			grid-auto-columns: calc(504 / 640* 100vw);
			overflow: scroll;
			scroll-snap-type: x mandatory;
			padding-bottom: 4px;
			padding-right: calc(5vw - 4px);
		}
		#wrcRelatedArticles .movieList .contentsList li {
			grid-row-start: 1;
			display: block;
			width: 100%;
			margin: 0;
			scroll-snap-align: start;
			background-color: transparent;
			padding-left: 4px;
			padding: 4px;
			z-index: 1;
			position: relative;
			padding-left: 5vw;
		}
		#wrcRelatedArticles .movieList .contentsList .contentCard {
			position: relative;
			background-color: #FFF;
			box-shadow: -4px 4px 0 #000;
		}
		#wrcRelatedArticles .movieList .contentsList .contentCard figure img {
			width: 100%;
		}
		#wrcRelatedArticles .movieList .contentsList .contentCard .txtData {
			padding: 0 1.5em 10px !important;
		}
		#wrcRelatedArticles .movieList nav {
			display: none;
		}

		
		#relatedLinks .linksArea {
			display: flex;
			justify-content: space-between;
			flex-wrap: wrap;
		}
		#relatedLinks .linksArea > div {
			width: 48%;
			background-color: #FFF;
		}
		#relatedLinks .linksArea > div:nth-child(n+3) {
			margin-top: 5vw;
		}
		#relatedLinks .linksArea > div a {
			font-size: 1rem;
			font-weight: bold;
		}
		#relatedLinks .linksArea > div a figure {
			border-bottom: 1px solid #ccc;
		}
		#relatedLinks .linksArea > div a .text {
			display: block;
			padding: 0.6rem;
		}		
		.topPage .contentsList li:nth-child(n + 4) {
			display: block;
		}
		
		
		
		
		#wrcRaceResult {
			background-image: url(images/rallyjapan/race_result_bg_sp.webp), url(images/rallyjapan/repeat_bg_black.jpg);
			background-repeat: no-repeat, repeat;
			background-position: top center, top center;
			background-size: 100% auto, 60px auto;
		}
		#wrcRaceResult .resultBlock {
			margin-top: calc(40 / 390 * 100vw);
		}
		#wrcRaceResult .resultBlock .resultNavi {
			display: flex;
			align-items: flex-end;
		}
		#wrcRaceResult .resultBlock .resultNavi a {
			display: block;
			width: 25%;
			padding: .65em 1em;
			border-top-left-radius: 3vw;
			font-size: 5vw;
			font-weight: bold;
			color: #FFF;
			line-height: 0;
			text-align: center;
			cursor: default;
		}
		#wrcRaceResult .resultBlock .resultNavi a.enable {
			cursor: pointer;
			transition: background-color .2s ease;
		}
		#wrcRaceResult .resultBlock .resultNavi a.enable:hover {
		}
		#wrcRaceResult .resultBlock .resultNavi a:nth-child(2n) {
			background-color: #60737C;
		}
		#wrcRaceResult .resultBlock .resultNavi a:nth-child(2n+1) {
			background-color: #819BA7;
		}
		#wrcRaceResult .resultBlock .resultNavi a.current {
			padding: 1em 1em;
			background-color: #EB0A1E;
		}
		#wrcRaceResult .resultBlock .resultTable {
			background-color: #FFF;
		}
		#wrcRaceResult .resultBlock .resultTable .resultData {
			display: none;
		}
		#wrcRaceResult .resultBlock .resultTable .resultData.current {
			display: block;
		}
		#wrcRaceResult .resultBlock .resultTable .resultHeader {
			display: grid;
			grid-template-columns: 9% 53% 38%;
			padding: 1vw 0;
			background-color: #000;
			font-size: 3.5vw;
			color: #FFF;
		}
		#wrcRaceResult .resultBlock .resultTable .resultHeader div {
			position: relative;
			text-align: center;
		}
		#wrcRaceResult .resultBlock .resultTable .resultHeader div:not(:first-child)::before {
			content: "";
			position: absolute;
			top: 50%;
			left: 0;
			display: block;
			width: 0;
			height: 1em;
			border-left: 1px solid #FFF;
			transform: translate3d(0, -50%, 0);
		}
		#wrcRaceResult .resultBlock .resultTable .resultHeader .diff {
			position: relative;
			padding-right: 8vw;
		}
		#wrcRaceResult .resultBlock .resultTable .resultHeader .carNo,
		#wrcRaceResult .resultBlock .resultTable .resultHeader .coDriver,
		#wrcRaceResult .resultBlock .resultTable .resultHeader .teamCar,
		#wrcRaceResult .resultBlock .resultTable .resultHeader .totalTime {
			display: none;
		}
		#wrcRaceResult .resultBlock .resultTable .resultData .posData {
		}
		#wrcRaceResult .resultBlock .resultTable .resultData .posData:not(:first-child) {
			border-top: 1px solid #000;
		}
		#wrcRaceResult .resultBlock .resultTable .resultData .posData.toyota {
			background-color: #FFBCC1;
		}
		#wrcRaceResult .resultBlock .resultTable .posData {
			position: relative;
			display: grid;
			grid-template-rows: repeat(5, 2.5em);
			grid-template-columns: 9% 53% 38%;
			align-items: center;
			height: 2.5em;
			overflow: hidden;
			font-size: 3.75vw;
			line-height: 1;
			transition: height .2s ease-out;
		}
		#wrcRaceResult .resultBlock .resultTable .posData.open {
			height: calc(2.5em * 5);
		}
		#wrcRaceResult .resultBlock .resultTable .posData > * {
			margin: 0 3vw;
			padding: 2vw 0;
		}
		#wrcRaceResult .resultBlock .resultTable .posData .pos {
			grid-row: 1 / span 1;
			grid-column: 1 / span 1;
			text-align: center;
		}
		#wrcRaceResult .resultBlock .resultTable .posData .carNo {
			grid-row: 2 / span 1;
			grid-column: 1 / -1;
			border-top: 1px solid #000;
		}
		#wrcRaceResult .resultBlock .resultTable .posData .carNo::before {
			content: "CAR NO";
			display: inline-block;
			width: 7em;
		}
		#wrcRaceResult .resultBlock .resultTable .posData .driver {
			grid-row: 1 / span 1;
			grid-column: 2 / span 1;
			display: flex;
			align-items: center;
		}
		#wrcRaceResult .resultBlock .resultTable .posData .coDriver {
			grid-row: 3 / span 1;
			grid-column: 1 / -1;
			display: flex;
			align-items: center;
			border-top: 1px solid #000;
		}
		#wrcRaceResult .resultBlock .resultTable .posData .coDriver::before {
			content: "CO-DRIVER";
			display: inline-block;
			width: 7em;
		}
		#wrcRaceResult .resultBlock .resultTable .posData .teamCar {
			grid-row: 4 / span 1;
			grid-column: 1 / -1;
			display: flex;
			align-items: center;
			border-top: 1px solid #000;
		}
		#wrcRaceResult .resultBlock .resultTable .posData .teamCar::before {
			content: "TEAM / CAR";
			display: inline-block;
			width: 7em;
		}
		#wrcRaceResult .resultBlock .resultTable .posData .teamCar .makerText {
			display: block;
		}
		#wrcRaceResult .resultBlock .resultTable .posData .totalTime {
			grid-row: 5 / span 1;
			grid-column: 1 / -1;
			border-top: 1px solid #000;
		}
		#wrcRaceResult .resultBlock .resultTable .posData .totalTime::before {
			content: "TOTAL TIME";
			display: inline-block;
			width: 7em;
		}
		#wrcRaceResult .resultBlock .resultTable .posData .diff {
			grid-row: 1 / span 1;
			grid-column: 3 / span 1;
			position: relative;
			padding-right: 7vw;
			text-align: right;
		}
		#wrcRaceResult .resultBlock .resultTable .posData .country {
			display: block;
			width: 20px;
			height: 1.2em;
			margin-right: .5em;
			background: #D4DBDE none no-repeat center center / cover;
			border-radius: 100%;
		}
		
		#wrcRaceResult .resultBlock .resultTable .posData .maker {
			display: block;
			width: 20px;
			height: 20px;
			margin-right: .5em;
		}
		#wrcRaceResult .resultBlock .resultTable .posData .maker.toyota {
			background: transparent url(images/rallyjapan/result_icon/toyota_maker.png) no-repeat center center / 20px 20px;
		}
		#wrcRaceResult .resultBlock .resultTable .posData .diff::after {
			content: "";
			display: block;
			position: absolute;
			top: calc(50% - 3vw);
			right: -2vw;
			width: 6vw;
			height: 6vw;
			background: #000 url(images/rallyjapan/icon_open.svg) no-repeat center center / cover;
		}
		#wrcRaceResult .resultBlock .resultTable .posData.open .diff::after {
			background-image: url(images/rallyjapan/icon_close.svg);
		}
		
		
		
		
		#wrcLiveReport {
			padding-bottom: calc(73 / 390 * 100vw) !important;
		}
		#wrcLiveReport .contentHeader h3 {
		}
		#topContents .liveMovieBlock .movieBlock {
			margin-top: 3vw;
			border-top-left-radius: 6px;
		}
		#topContents .liveMovieBlock .movieBlock header {
			display: flex;
			align-items: center;
			gap: 0 5vw;
			padding: 2vw 5vw 2vw 3vw;
			background-color: #EB0A1E;
			color: #FFF;
			border-top-left-radius: 6px;
		}
		#topContents .liveMovieBlock .movieBlock header .text {
			display: block;
			width: calc(120 / 640 * 100vw);
		}
		#topContents .liveMovieBlock .movieBlock header .line {
			flex:1;
			display: block;
			height: 2px;
			background-color: #FFF;
		}
		#topContents .liveMovieBlock {
			display: grid;
			grid-tamplate-rows: repeat(5, auto);
		}
		#topContents .liveMovieBlock .movieArea {
			grid-column-start: 1;
		}
		#topContents .liveMovieBlock .movieArea iframe,
		#topContents .liveMovieBlock .movieArea img {
			width: calc(576 / 640 * 100vw);
			height: calc(576 / 640 * 100vw * 9 / 16);
		}
		#topContents .liveMovieBlock .mainMovie {
			grid-row: 1;
		}
		/* #topContents .liveMovieBlock .mainMovie[gridRow="1"] {
			grid-row: 1;
		}
		#topContents .liveMovieBlock .mainMovie[gridRow="2"] {
			grid-row: 2;
		}
		#topContents .liveMovieBlock .mainMovie[gridRow="3"] {
			grid-row: 3;
		}
		#topContents .liveMovieBlock .mainMovie[gridRow="4"] {
			grid-row: 4;
		} */

		#topContents .liveMovieBlock .subMovie {
			display: flex;
			align-items: stretch;
		}
		#topContents .liveMovieBlock .subMovie header {
			flex:1;
			display: flex;
			gap: 0 2em;
			padding: 0 2em;
			background-color: #61818E;
		}
		#topContents .liveMovieBlock .subMovie.is_current {
			display: none;
		}
		#topContents .liveMovieBlock .movieBlock header .text {
			display: block;
			width: calc(100 / 640 * 100vw);
		}
		#topContents .liveMovieBlock .subMovie header .line {
			height: 1px;
		}
		#topContents .liveMovieBlock .subMovie .movieArea {
			width: calc(224 / 640 * 100vw);
		}
		#topContents .liveMovieBlock .subMovie img {
			width: 100%;
			height: auto;
		}
		#topContents .liveMovieBlock .subMovie .movieArea a.modal figure::after {
			width: 7.5vw;
			height: 7.5vw;
		}

		#wrcLiveReport .comingsoon{
			padding: 70px 30px 20px;
		}
		
		#wrcCoursesSchedule {
			background-image: url(images/rallyjapan/courses_schedule_bg_sp.webp), url(images/rallyjapan/repeat_bg_black.jpg);
			background-repeat: no-repeat, repeat;
			background-position: top center, top center;
			background-size: 100% auto, 60px auto;
		}
		#wrcCoursesSchedule .contentHeader {
			margin-top: 1.5vw; 
		}
		#wrcCoursesSchedule .mapArea {
			margin-top: calc(40 / 390 * 100vw); 
		}
		#wrcCoursesSchedule .mapArea .mapBlock {
			display: grid;
			grid-template-rows: repeat(3, auto);
			grid-template-columns: repeat(5, 1fr);
			margin-top: 10vw;
		}
		#wrcCoursesSchedule .mapArea .mapBlock .mapFigure {
			position: relative;
			grid-row: 2 / span 1;
			grid-column: 1 / -1;
		}
		#wrcCoursesSchedule .mapArea .mapBlock .mapFigure .mapBase {
			position: relative;
		}
		#wrcCoursesSchedule .mapArea .mapBlock .mapFigure .movieBtns {
			position: absolute;
		}
		#wrcCoursesSchedule .mapArea .mapBlock .mapFigure .mapCourse {
			position: absolute;
			top: 0;
			right: 0;
			bottom: 0;
			left: 0;
			pointer-events: none;
		}
		#wrcCoursesSchedule .mapArea .mapBlock .mapFigure .mapCourse picture {
			display: block;
			transition: opacity .2s ease;
		}
		#wrcCoursesSchedule .mapArea .mapBlock .mapFigure .mapCourse .normal {
			position: relative;
			opacity: 1;
		}
		#wrcCoursesSchedule .mapArea .mapBlock .mapFigure .mapCourse .focus {
			position: absolute;
			top: 0;
			right: 0;
			bottom: 0;
			left: 0;
			opacity: 0;
		}
		#wrcCoursesSchedule .mapArea .mapBlock .mapFigure .mapCourse.current .normal {
			opacity: 0;
		}
		#wrcCoursesSchedule .mapArea .mapBlock .mapFigure .mapCourse.current .focus {
			opacity: 1;
		}
		
		#wrcCoursesSchedule .mapArea .mapBlock .mapFigure .movieBtns {
			position: absolute;
			top: 0;
			right: 0;
			bottom: 0;
			left: 0;
		}
		#wrcCoursesSchedule .mapArea .mapBlock .mapFigure .movieBtns .movieGifu {
			position: absolute;
			top: 12%;
			right: 3.5%;
			width: calc(164 / 640 * 100vw);
		}
		#wrcCoursesSchedule .mapArea .mapBlock .mapFigure .movieBtns .movieGifu .arrow {
			position: absolute;
			top: 50%;
			right: 99%;
			width: calc(87 / 164 * 100%);
		}
		#wrcCoursesSchedule .mapArea .mapBlock .mapFigure .movieBtns .movieGifu a.btnMovieGifu {
			position: relative;
			width: 100%;
		}
		#wrcCoursesSchedule .mapArea .mapBlock .mapFigure .movieBtns .movieAichi {
			position: absolute;
			right: 3.5%;
			bottom: 20%;
			width: calc(164 / 640 * 100vw);
		}
		#wrcCoursesSchedule .mapArea .mapBlock .mapFigure .movieBtns .movieAichi .arrow {
			position: absolute;
			top: 40%;
			right: 99%;
			width: calc(241.3 / 164 * 100%);
			max-width: none;
		}
		#wrcCoursesSchedule .mapArea .mapBlock .mapFigure .movieBtns .movieAichi a.btnMovieAichi {
			position: relative;
			width: 100%;
		}
		
		#wrcCoursesSchedule .mapArea .mapBlock .mapFigure .mapPark {
			position: absolute;
			top: 0;
			right: 0;
			bottom: 0;
			left: 0;
			pointer-events: none;
		}
		#wrcCoursesSchedule .mapArea .mapBlock nav {
			display: contents;
		}
		#wrcCoursesSchedule .mapArea .mapBlock nav a {
			display: block;
			background-color: #61818E;
			border-top-left-radius: 4vw;
			box-shadow: none;
		}
		#wrcCoursesSchedule .mapArea .mapBlock nav .naviTab:nth-child(2n) a {
			background-color: #98A9B1;
		}
		#wrcCoursesSchedule .mapArea .mapBlock nav .naviTab {
			display: flex;
			align-items: flex-end;
			height: calc(90 / 390 * 100vw);
			width: calc(72 / 390 * 100vw);
		}
		#wrcCoursesSchedule .mapArea .mapBlock nav .naviTab a {
			width: 100%;
		}
		#wrcCoursesSchedule .mapArea .mapBlock nav a span {
			display: block;
			width: 65%;
			margin: 0 auto;
			padding: 15% 0 10%;
			text-align: center;
			border-bottom: 4px solid #FFF;
		}
		#wrcCoursesSchedule .mapArea .mapBlock nav a.tabDay1 span {
			border-color: #BE8228;
		}
		#wrcCoursesSchedule .mapArea .mapBlock nav a.tabDay2 span {
			border-color: #64238C;
		}
		#wrcCoursesSchedule .mapArea .mapBlock nav a.tabDay3 span {
			border-color: #14671A;
		}
		#wrcCoursesSchedule .mapArea .mapBlock nav a.tabDay4 span {
			border-color: #185096;
		}
		#wrcCoursesSchedule .mapArea .mapBlock nav a img {
			width: 60%;
		}
		#wrcCoursesSchedule .mapArea .mapBlock nav a.current {
			background-color: #EB0A1E !important;
		}
		#wrcCoursesSchedule .mapArea .mapBlock nav a.current span {
			border-color: #FFF;
		}
		#wrcCoursesSchedule .mapArea .mapBlock nav a.current img {
			width: 80%;
		}
		
		
		#wrcCoursesSchedule .mapArea .mapBlock nav .btnAll {
			grid-row: 3 / span 1;
			grid-column: 1 / -1;
			justify-self: center;
			margin-top: calc(40 / 640 * 100vw);
		}
		#wrcCoursesSchedule .mapArea .mapBlock nav .btnAll a {
			display: block;
			width: calc(312 / 640 * 100vw);
			padding: calc(20 / 640 * 100vw);
			border-top-left-radius: 0;
			line-height: 0;
			text-align: center;
		}
		#wrcCoursesSchedule .mapArea .mapBlock nav .btnAll a img {
			width: calc(59.83 / 640 * 100vw);
			
		}
		
		#morizo {
			background-image: url(images/rallyjapan/morizo_bg_sp.webp), url(images/rallyjapan/repeat_bg_blue.jpg);
			background-repeat: no-repeat, repeat;
			background-position: top center, top center;
			background-size: 100% auto, 60px auto;
		}
		#morizo .contentHeader {
			padding-bottom: 30px;
		}
		#morizo .youtubeMovie, #wrcLiveReport .articleLink {
			width: 90vw;
		}
		#morizo .movieArea {
			margin-top: -1px;
		}
		#morizo .youtubeMovie iframe {
			width: 90vw;
			height: calc(90vw / 16* 9);
		}

		#morizo .youtubeMovie .movieList {
			margin: 10vw -5vw 0;
		}
		#morizo .youtubeMovie .movieList .movieListWrap {
		}
		#morizo .youtubeMovie .movieList .contentsList {
			display: grid;
			grid-auto-flow: column;
			grid-auto-columns: calc((464 / 640* 100vw) + 5vw);
			overflow: scroll;
			scroll-snap-type: x mandatory;
			padding-bottom: 4px;
			padding-right: calc(5vw - 4px);
		}
		#morizo .youtubeMovie .movieList .contentsList li {
			grid-row-start: 1;
			display: block;
			width: 100%;
			margin: 0;
			scroll-snap-align: start;
			padding: 4px;
			padding-left: 5vw;
		}
		#morizo .youtubeMovie .movieList .contentsList .contentCard {
			position: relative;
		}
		#morizo .youtubeMovie .movieList .contentsList .contentCard figure img {
			width: 100%;
		}
		#morizo .youtubeMovie .movieList .contentsList .contentCard .txtData {
			position: absolute;
			right: 0;
			bottom: 0;
			left: 0;
			padding: .5rem !important;
		}
		#morizo .youtubeMovie .movieList .contentsList .contentCard .txtData .txtTitleAll {
			font-size: 1.2rem;
		}
		#morizo .youtubeMovie .movieList .contentsList .contentCard .txtData .txtTitleAll span {
			background-color: #000;
			color: #fff;
		}
		#morizo .youtubeMovie .movieList .contentsList .contentCard .txtData .attendData {
			margin-top: 0;
			border-top: none;
			font-size: 1.5rem;
			text-align: right;
		}
		#morizo .youtubeMovie .movieList .contentsList .contentCard .txtData .attendData .txtDate {
			display: inline-block;
			margin-top: 0;
			padding: .25em .5em;
			background-color: #000;
			color: #fff;
			line-height: 1;
		}
		#morizo .youtubeMovie .movieList nav {
			display: none;
		}




	}

	.xBanner {
		display: flex;
		justify-content: center;
		background: transparent url(images/rallyjapan/repeat_bg_black.jpg) repeat center top / 60px auto;
	}
	@media screen and (min-width:641px) {
		.xBanner {
			padding-block: 4rem;
		}
		@media (hover: hover) {
			.xBanner a {
				transition: opacity 0.3s;
			}
			.xBanner a:hover {
				opacity: 0.5;
			}
		}
	}
	@media screen and (max-width:640px) {
		.xBanner {
			padding: calc(40 / 390 * 100vw) calc(20 / 390 * 100vw);
		}
	}

	@media (prefers-color-scheme: dark) {
		.linksAreaTtl {
			color: var(--color-black);
		}
	}
}
