@charset "UTF-8";

.sp {
	display: none;
}

.tablet {
	display: none;
}

/*
#MvArea {
	background: url(../../img/sponsors/sponsors_mvimg.jpg) no-repeat center;
	background-size: cover;
	min-height: 100vh;
	margin-bottom: 0;
}
.mvWrap {
	width: 96%;
	max-width: 1200px;
	height: 100%;
	margin: 0 auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	position: relative;
	z-index: 5;
}
.mvInner {
	color: #ffffff;
	line-height: 1.0;
}
*/
/* 既存のファーストビューを非表示 */
#MvArea {
	display: none;
}

/* 動画ラッパー設定 */
#youtubeWrap {
	position: fixed;
	/*ローディング画像などを表示す際の基点とするため指定*/
	width: 100%;
	height: 100vh;
	/*高さを全画面にあわせる*/
	overflow: hidden;
}

/* youtube設定 */
#youtube-area {
	position: fixed;
	z-index: 1;
	/*最背面に設定*/
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	overflow: hidden;
	opacity: 0;
}

#youtube {
	/*天地中央配置*/
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	/*縦横幅指定*/
	width: 177.77777778vh;
	/* 16:9 の幅→16 ÷ 9＝ 177.77% */
	height: 56.25vw;
	/* 16:9の幅 → 9 ÷ 16 = 56.25% */
	min-height: 100%;
	min-width: 100%;
	background: url(../../img/memorial/fv_pc.jpg) center top no-repeat;
	background-size: cover;
}

/*youtubeがクリックされないためのマスク*/
#youtube-mask {
	position: absolute;
	z-index: 2;
	/*下から2番目に表示*/
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.4);
}

/* ファーストビュー */
#memorialfv {
	width: 100%;
	height: 100vh;
	position: relative;
	z-index: 4;
}

#memorialfvInner {
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
	opacity: 0.8;
}

#memorialfvYear {
	margin-bottom: 40px;
	line-height: 1;
	color: #FFFFFF;
	text-align: center;
}

#memorialfvYearNum {
	font-size: 20.8rem;
	letter-spacing: 0.1em;
}

#memorialfvYearTh {
	font-size: 11.6rem;
	letter-spacing: 0.1em;
}

#memorialfvText {
	margin-bottom: 40px;
	font-size: 7rem;
	line-height: 1;
	letter-spacing: 0.16em;
	color: #FFFFFF;
	text-align: center;
}

#memorialfvTitle {
	width: 520px;
	margin: 0 auto;
	padding: 25px 0;
	border-top: solid 1px #FFFFFF;
	border-bottom: solid 1px #FFFFFF;
	font-size: 2.4rem;
	line-height: 1.45833;
	letter-spacing: 0.54em;
	color: #FFFFFF;
	font-weight: 700;
	text-align: center;
}

/* パンくず */
.pankuzuArea {
	display: none;
}

/* scroll */
.scrollWrap {
	width: 100%;
	height: 100vh;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 6;
}

.scroll {
	position: absolute;
	bottom: 80px;
	left: 50%;
}

.scroll span {
	position: absolute;
	font-size: 1.2rem;
	color: #ffffff;
	top: -30px;
	left: -27px;
	z-index: 9;
}

.scrollInner {
	position: absolute;
	width: 1px;
	height: 80px;
	left: calc(90% - 2px);
	background: #ffffff;
	z-index: 5;
	overflow: hidden;
}

.scrollInner p {
	position: absolute;
	width: 1px;
	height: 80px;
	top: -160px;
	background: #5c5c5c;
	z-index: 9;
	-webkit-animation-name: mv-slide;
	animation-name: mv-slide;
	-webkit-animation-duration: 3s;
	animation-duration: 3s;
	-webkit-animation-timing-function: liner;
	animation-timing-function: liner;
	-webkit-animation-delay: 1s;
	animation-delay: 1s;
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
}

@-webkit-keyframes mv-slide {
	0% {
		top: -100px;
	}

	80% {
		top: 100px;
	}

	100% {
		top: 100px;
	}
}

@keyframes mv-slide {
	0% {
		top: -100px;
	}

	80% {
		top: 100px;
	}

	100% {
		top: 100px;
	}
}

/* リセット */
#subCont {
	margin-bottom: 0;
	padding-top: 0;
	padding-bottom: 100px;
	background-image: none;
	background-color: #FFFFFF;
	position: relative;
	z-index: 6;
}

.photoWrap,
.sponsorWrap,
#footerArea {
	background-color: #FFFFFF;
	position: relative;
	z-index: 6;
}

.copyright {
	margin-bottom: 0;
	padding-bottom: 55px;
	background-color: #FFFFFF;
}

.contTtlEn {
	font-size: 5.5rem;
}

.contTtlJp {
	font-size: 1.6rem;
}

/* 共通 */
.unipara {
	font-size: 1.6rem;
	line-height: 1.625;
	letter-spacing: 0.05em;
	color: #333333;
}

/* 大分国際車いすマラソンとは？ */
#whatis {
	padding: 150px 0 90px;
	background: url(../../img/memorial/whatis_pc.jpg) left top no-repeat;
	background-size: contain;
}

#whatis .unipara {
	width: 50em;
	margin: 0 auto;
}

#whatis .unipara span {
	letter-spacing: 0.02em;
}

/* HISTORY */
#history {
	padding: 100px 0;
	background-color: #282828;
}

#history .contTtlEn,
#history .contTtlJp {
	color: #FFFFFF;
}

/* HISTORY：前段 */
#historyLead {
	margin-bottom: 100px;
	padding: 80px;
	background-color: #FFFFFF;
}

#historyLeadHead {
	margin-bottom: 1em;
	font-size: 2.2rem;
	line-height: 1;
	letter-spacing: 0.1em;
	color: #000000;
	font-weight: 700;
}

#historyLeadBody {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	margin-bottom: 40px;
}

#historyLeadBodyText {
	width: calc(100% - 218px);
	padding-right: 15px;
}

#historyLeadBodyLogo {
	width: 218px;
	margin-top: -50px;
}

#historyLeadBodyLogo img {
	width: 100%;
	height: auto;
}

#historyLeadDr {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

#historyLeadDrPhoto {
	width: 278px;
}

#historyLeadDrPhoto img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
}

#historyLeadDrBody {
	width: calc(100% - 278px);
	padding: 15px 30px;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	background-color: #E4E4E4;
}

#historyLeadDrBodyHead {
	font-size: 1.8rem;
	line-height: 1;
	letter-spacing: 0.1em;
	color: #000000;
	font-weight: 700;
	margin-bottom: 1em;
}

/* HISTORY：年表 */
.historyTimeline>ul>li {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto 83px;
	padding-bottom: 45px;
	position: relative;
}

.historyTimelineYear {
	width: 100%;
	margin-left: 60px;
	position: relative;
	z-index: 2;
	font-size: 6rem;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #FF761D;
	font-style: italic;
}

.historyTimelineYear span {
	padding: 0 30px;
	background-color: #282828;
}

.historyTimelineContent {
	width: 100%;
	max-width: 1000px;
	min-height: 290px;
	padding: 65px;
	margin: -30px auto 0 0;
	position: relative;
	border: solid 2px #FF761D;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.historyTimelineContent:after {
	width: 200px;
	height: 160px;
	display: block;
	position: absolute;
	bottom: -161px;
	left: -1px;
	content: "";
	background: url(../../img/memorial/history_line1.svg) left top no-repeat;
	background-size: contain;
}

.historyTimelineTitle {
	width: 660px;
	margin: 0 auto 1em 0;
	font-size: 2rem;
	line-height: 1.5;
	letter-spacing: 0.1em;
	font-weight: 700;
	color: #FFFFFF;
}

.historyTimelineText {
	width: 660px;
	margin: 0 auto 0 0;
	color: #FFFFFF;
}

.historyTimelinePhoto {
	width: 420px;
	position: absolute;
	right: 0;
	bottom: 0;
}

.historyTimelinePhoto img {
	width: 100%;
	height: auto;
}

.historyTimeline>ul>li:nth-child(2n) .historyTimelineYear {
	text-align: right;
	margin-left: 0;
	margin-right: 60px;
}

.historyTimeline>ul>li:nth-child(2n) .historyTimelineContent {
	margin: -30px 0 0 auto;
}

.historyTimeline>ul>li:nth-child(2n) .historyTimelineContent:after {
	left: auto;
	right: -2px;
	background: url(../../img/memorial/history_line2.svg) left top no-repeat;
	background-size: contain;
}

.historyTimeline>ul>li:nth-child(2n) .historyTimelineTitle {
	margin: 0 0 1em auto;
}

.historyTimeline>ul>li:nth-child(2n) .historyTimelineText {
	margin: 0 0 0 auto;
}

.historyTimeline>ul>li:nth-child(2n) .historyTimelinePhoto {
	right: auto;
	left: 0;
}

.historyTimeline>ul>li:last-child .historyTimelineContent:after {
	display: none;
}

/* HISTORY：年表：画面サイズ調整 */
@media screen and (min-width: 1024px) and (max-width: 1333px) {
	.historyTimelineContent {
		width: calc(100% - 200px);
	}

	.historyTimelineTitle {
		width: calc(79.51988vw - 400px);
	}

	.historyTimelineText {
		width: calc(79.51988vw - 400px);
	}
}

/* HISTORY：ボタン */
a.linkBtn.bgwhite {
	background-color: #FFFFFF;
}

a.linkBtn.bgwhite:hover {
	background-img: url(img/common/arr_white.png) no-repeat 332px center;
	background-color: #B10418;
}

/* 公式 */
#official {
	padding: 100px 0;
	background: url(../../img/memorial/officialbg_pc.jpg) center top no-repeat;
	background-size: cover;
}

.offitem {
	margin-bottom: 100px;
	padding: 50px 80px 18px;
	background-color: #FFFFFF;
}

.offitem:last-child {
	margin-bottom: 0;
}

.offitemTitle {
	margin-bottom: 1em;
	font-size: 2.6rem;
	line-height: 1.23077;
	letter-spacing: 0.1em;
	color: #000000;
	font-weight: 700;
	text-align: center;
}

.offitemCont {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

.offitemContBody {
	width: 52.51313vw;
	max-width: 700px;
	padding-right: 10px;
}

.offitemContBodyHead {
	padding-bottom: 0.5em;
	margin-bottom: 0.5em;
	border-bottom: solid 2px #AD1219;
	font-size: 1.6rem;
	line-height: 1;
	letter-spacing: 0.05em;
	font-weight: 700;
}

.offitemContBodyText {
	margin-bottom: 2em;
}

.offitemContLogo {
	width: 25.50638vw;
	max-width: 340px;
	text-align: center;
}

.offitemContLogo.officialsymbol img {
	width: 100%;
	max-width: 276px;
	height: auto;
}

.offitemContLogo.officiallogo img {
	width: 100%;
	max-width: 304px;
	height: auto;
}

.offitemContLogo.officialmascot img {
	width: 100%;
	max-width: 241px;
	height: auto;
}

/* メモリアル */
#memorial {
	padding: 210px 0 0;
	margin-bottom: 150px;
	background: url(../../img/memorial/memorial_bg_pc.png) center top no-repeat;
	background-size: 100% auto;
}

#memorial .contTtl {
	margin-bottom: 50px;
}

/* メモリアル：3段組 */
#memorial .grid {
	margin-bottom: 50px;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

#memorial .grid>li {
	width: calc((100% - 60px)/3);
	margin: 0 15px 0;
}

#memorial .grid>li:nth-child(3n+1) {
	margin-left: 0;
}

#memorial .grid>li:nth-child(3n) {
	margin-right: 0;
}

/* メモリアル：イベント一覧 */
#memorial .eventImg {
	height: 21.00525vw;
	max-height: 280px;
	overflow: hidden;
}

#memorial .eventImg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
	-webkit-transform: scale(1);
	transform: scale(1);
	transition: all 0.4s;
}

#memorial .eventCont {
	padding: 15px 0;
}

#memorial .eventContDate {
	margin-bottom: 0.75em;
	font-size: 1.2rem;
	line-height: 1;
	letter-spacing: 0.1em;
	color: #838383;
	transition: all 0.4s;
}

#memorial .eventContTitle {
	margin-bottom: 0.5em;
	font-size: 2rem;
	line-height: 1.5;
	letter-spacing: 0.1em;
	font-weight: 700;
}

#memorial .eventContText {
	font-size: 1.4rem;
	line-height: 1.71429;
	letter-spacing: 0.1em;
}

/* メモリアル：hover */
@media screen and (min-width: 1024px) {
	#memorial a.event:hover .eventImg img {
		-webkit-transform: scale(1.15);
		transform: scale(1.15);
	}

	#memorial a.event:hover .eventContDate {
		color: #B10418;
	}
}

/* 公式記念グッズ */
#goods {
	margin-bottom: 145px;
}

#goods .contTtl {
	margin-bottom: 65px;
}

/* 公式記念グッズ：3段組 */
#goods .grid {
	margin-bottom: 50px;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

#goods .grid>li {
	width: calc((100% - 60px)/3);
	margin: 0 15px 0;
}

#goods .grid>li:nth-child(3n+1) {
	margin-left: 0;
}

#goods .grid>li:nth-child(3n) {
	margin-right: 0;
}

/* 公式記念グッズ：商品一覧 */
#goods .items {
	text-align: center;
}

#goods .itemsImg {
	height: 18.0045vw;
	max-height: 240px;
	margin-bottom: 30px;
}

#goods .itemsImg img {
	width: auto;
	height: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
}

#goods .itemsContTitle {
	margin-bottom: 0.5em;
	font-size: 2rem;
	line-height: 1.5;
	letter-spacing: 0.05em;
	font-weight: 700;
}

#goods .itemsContPrice {
	font-size: 1.8rem;
	line-height: 1.44444;
	letter-spacing: 0.05em;
}

#goods .itemsContNote {
	font-size: 1.8rem;
	line-height: 1.44444;
	letter-spacing: 0.05em;
}

/* 記念動画 */
#movie {
	margin-top: 100px;
}

#movie .contTtl {
	margin-bottom: 50px;
}

#movie .youtubeemb {
	width: 100%;
	padding-top: 56.25%;
	margin-bottom: 30px;
	position: relative;
}

#movie .youtubeemb iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
}

#movie .movieTitle {
	font-size: 2rem;
	line-height: 1.5;
	letter-spacing: 0.05em;
	font-weight: 700;
	text-align: center;
}

/* -------------------------------------------------- */
/* English */
/* -------------------------------------------------- */
#memorialfvTitle.enOnly {
	width: 580px;
	letter-spacing: 0.1em;
}

.contTtlEn.enOnly {
	line-height: 1.5;
}