@charset "utf-8";

body.home #wrapper {
	padding-top: 0!important;
}

body.home #header {
	top: -112px;
}
body.home #header.fixed {
	transform: translateY(112px);
}
@media only screen and (max-width: 767px) {
	body.home #header {
		top: -60px;
	}
	body.home #header.fixed {
		transform: translateY(60px);
	}
}


/* topMainBox
-----------------------------------------------------*/
#topMainBox {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	height: 100vh;
	padding: 370px 20px 0;
	background:  url(/challengers/img/top/top_main_earth.png) center 230% no-repeat, url(/challengers/img/top/top_main_bg_pc.jpg) center center no-repeat;
	background-size: auto 85%, cover;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
	#topMainBox {
		padding-top: 180px;
		background:  url(/challengers/img/top/top_main_earth.png) center 70% no-repeat, url(/challengers/img/top/top_main_bg_sp.jpg) center center no-repeat;
		background-size: 80% auto, cover;
	}
}
#topMainBox #topMenuBox {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}
@media only screen and (max-width: 767px) {
	#topMainBox #topMenuBox .menu-trigger span {
		background-color: #ffffff;
	}
}
#topMainBox .logo ,
#topMainBox .ttl {
	position: relative;
	top: 100px;
	opacity: 0;
	transition: all .8s;
}
#topMainBox .ttl {
	transition-delay: 0.3s;
}
#topMainBox.active .logo ,
#topMainBox.active .ttl {
	opacity: 1;
	transform: translateY(-100px);
}
#topMainBox .ttl {
	color: #b7193f;
	font-size: 2.7rem;
	font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝B", "ＭＳ Ｐ明朝", serif;
	margin: 15px 0 0 0;
}
@media only screen and (max-width: 767px) {
	#topMainBox .ttl {
		font-size: 1.4rem;
		margin-top: 5px;
	}
}

/* topChallengeBox
-----------------------------------------------------*/
#topChallengeBox {
	clear: both;
	padding: 120px 0;
	text-align: center;
	background: url(/challengers/img/top/top_challenge_bg01.png) center center no-repeat;
	background-size: cover;
}
@media only screen and (max-width: 767px) {
	#topChallengeBox {
		padding: 60px 0;
	}
}
#topChallengeBox h2 {
	margin: 0 auto;
}
@media only screen and (max-width: 767px) {
	#topChallengeBox h2 {
		width: 260px;
	}
}
#topChallengeBox .txtBox01 {
	margin: 60px 0 0 0;
}
@media only screen and (max-width: 767px) {
	#topChallengeBox .txtBox01 {
		margin-top: 30px;
		text-align: left;
	}
}
#topChallengeBox .txtBox01 p {
	margin: 2em 0;
}
#topChallengeBox .txtBox01 p .brPc {
}
@media only screen and (max-width: 767px) {
	#topChallengeBox .txtBox01 p .brPc {
		display: none;
	}
}

/* topNewsBox
-----------------------------------------------------*/
#topNewsBox {
	clear: both;
	padding: 80px 0 120px 0;
}
@media only screen and (max-width: 767px) {
	#topNewsBox {
		padding: 40px 0 60px 0;
	}
}
#topNewsBox h2 {
	margin: 0;
	font-size: 3.8rem;
	line-height: 1;
	color: #b7193f;
	font-weight: bold;
	text-align: center;
	font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝B", "ＭＳ Ｐ明朝", serif;
}
@media only screen and (max-width: 767px) {
	#topNewsBox h2 {
		font-size: 2.2rem;
	}
}
#topNewsBox .list01 {
	margin: 0;
	padding: 0;
}
#topNewsBox .list01 a {
	color: #333333;
}
#topNewsBox .list01 > li {
	margin: 40px 0 0 0;
	padding: 0;
	list-style-type: none;
	float: left;
	width: 50%;
}
#topNewsBox .list01 > li:nth-child(odd) {
	clear: both;
}
#topNewsBox .list01 > li dl {
	margin: 0 50px;
}
#topNewsBox .list01 > li dl dt {
	float: left;
	width: 150px;
}
#topNewsBox .list01 > li dl dd {
	overflow: hidden;
	margin: 0;
	padding: 0 0 0 20px;
	border-left: 1px solid #cdcdcd;
}

@media only screen and (max-width: 767px) {
	#topNewsBox .list01 {
		padding: 0 4%;
	}
	#topNewsBox .list01 > li {
		margin-top: 20px;
		float: none;
		width: auto;
	}
	#topNewsBox .list01 > li dl {
		margin: 0;
	}
	#topNewsBox .list01 > li dl dt {
		float: none;
		width: auto;
		font-size: 1.2rem;
	}
	#topNewsBox .list01 > li dl dd {
		padding: 0;
		border: none;
	}
}


/* topMessageBox
-----------------------------------------------------*/
#topMessageBox {
	clear: both;
	color: #ffffff;
	background: url(/challengers/img/top/top_message_bg01.jpg) center center no-repeat;
	background-size: cover;
}
#topMessageBox .headBox {
	padding: 60px 0;
	background-color: rgba(25,39,56,0.7);
}
#topMessageBox .headBox h2 {
	text-align: center;
	margin: 0;
	font-size: 3.8rem;
	line-height: 1;
	font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝B", "ＭＳ Ｐ明朝", serif;
}
@media only screen and (max-width: 767px) {
	#topMessageBox .headBox {
		padding: 30px 0;
	}
	#topMessageBox .headBox h2 {
		font-size: 2.2rem;
	}
}
#topMessageBox .bodyBox {
	padding: 70px 0 56px;	
}
@media only screen and (max-width: 767px) {
	#topMessageBox .bodyBox {
		padding: 35px 0;	
	}
}
#topMessageBox .row {
	clear: both;
	margin: 0 56px;
}
@media only screen and (max-width: 767px) {
	#topMessageBox .row {
		margin: 0;
	}
}
#topMessageBox .row.row02 {
	margin-top: 50px;
}
#topMessageBox .row .clm01 {
	width: 550px;
	margin: 0 10px;
}
#topMessageBox .row .clm02 {
	width: 275px;
	text-align: center;
}
#topMessageBox .row.row01 .clm01 {
	float: left;
}
#topMessageBox .row.row01 .clm02 {
	float: right;
}
#topMessageBox .row.row02 .clm01 {
	float: right;
}
#topMessageBox .row.row02 .clm02 {
	float: left;
}
@media only screen and (max-width: 767px) {
	#topMessageBox .row .clm01 {
		width: auto;
		margin: 0;
		float: none!important;
	}
	#topMessageBox .row .clm02 {
		width: auto;
		float: none!important;
		margin: 30px 0 0 0;
	}
}
#topMessageBox .row .clm01 h3 {
	font-size: 2.8rem;
	font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝B", "ＭＳ Ｐ明朝", serif;
	margin: 0;
	display: flex;
    align-items: center;
}
@media only screen and (max-width: 767px) {
	#topMessageBox .row .clm01 h3 {
		font-size: 1.8rem;
	}
}
#topMessageBox .row .clm01 h3::before,
#topMessageBox .row .clm01 h3::after {
    border-top: 1px solid #5e7080;
    content: "";
    display: inline; 
    flex-grow: 1;
}
#topMessageBox .row .clm01 .txt01 {
	font-size: 1.8rem;
	margin: 2em 0 0 0;
}
@media only screen and (max-width: 767px) {
	#topMessageBox .row .clm01 .txt01 {
		font-size: 1.4rem;
	}
}

#topMessageBox .row .clm01 h3::before {
    margin-right: 0.5em;
}

#topMessageBox .row .clm01 h3::after {
    margin-left: 0.5em;
}
#topMessageBox .row .clm02 figure {
	margin: 0;
}
@media only screen and (max-width: 767px) {
	#topMessageBox .row .clm02 figure {
		width: 60%;
		margin: 0 auto;
	}
}

/* topContentsBox
-----------------------------------------------------*/
#topContentsBox {
	clear: both;
	padding: 90px 0 135px;	
}
@media only screen and (max-width: 767px) {
	#topContentsBox {
		padding: 45px 0 60px;
	}
}
#topContentsBox .list01 {
	margin: 0 56px;
	padding: 0;
}
@media only screen and (max-width: 767px) {
	#topContentsBox .list01 {
		margin: 0;
	}
}
#topContentsBox .list01 > li {
	margin: 0 auto;
	padding: 0;
	list-style-type: none;
	max-width: 446px;
	position: relative;
}
#topContentsBox .list01 > li:nth-of-type(1) {
	float: left;
}
#topContentsBox .list01 > li:nth-of-type(2) {
	float: right;
}
@media only screen and (max-width: 767px) {
	#topContentsBox .list01 > li {
		float: none!important;
	}
	#topContentsBox .list01 > li:nth-of-type(2) {
		margin-top: 30px;
	}
}
#topContentsBox .list01 > li a {
	display: block;
	text-decoration: none;
}
#topContentsBox .list01 > li figure {
	margin: 0;
}
#topContentsBox .list01 > li .nameBox {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	text-align: center;
	font-size: 2rem;
	color: #ffffff;
	padding: 5px 0;
	background-color: rgba(25,39,56,0.7);
}
@media only screen and (max-width: 767px) {
	#topContentsBox .list01 > li .nameBox {
		font-size: 1.8rem;
	}
}

/* topVoiceBox
-----------------------------------------------------*/
#topVoiceBox {
	clear: both;
	padding: 0 0 120px 0;
}
@media only screen and (max-width: 767px) {
	#topVoiceBox {
		padding: 0 0 60px 0;
	}
}
#topVoiceBox .headBox {
	overflow: hidden;
}
#topVoiceBox .headBox img {
	width: 100%;
}
#topVoiceBox .headBox .clm01 ,
#topVoiceBox .headBox .clm03 {
	float: left;
	width: 20%;
}
@media only screen and (max-width: 767px) {
	#topVoiceBox .headBox .clm01 ,
	#topVoiceBox .headBox .clm03 {
		display: none;
	}
}
#topVoiceBox .headBox .clm02 {
	float: left;
	width: 60%;
}
@media only screen and (max-width: 767px) {
	#topVoiceBox .headBox .clm02 {
		float: none;
		width: auto;
	}
}
#topVoiceBox .headBox .clm02 .row01 ,
#topVoiceBox .headBox .clm02 .row02 {
	clear: both;
}
#topVoiceBox .headBox .clm02 .row01 .oneBox ,
#topVoiceBox .headBox .clm02 .row02 .oneBox {
	float: left;
	width: 33.33%;
}
#topVoiceBox .headBox .ttlBox {
	clear: both;
	position: relative;
	width: 100%;
}
#topVoiceBox .headBox .ttlBox::before {
    content:"";
    display: block;
    padding-top: 33.33%;
}
#topVoiceBox h2 {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
	display: flex;
	justify-content: center;
	align-items: center;

	margin: 0;
	font-size: 4.2rem;
	line-height: 1;
	color: #b7193f;
	font-weight: bold;
	text-align: center;
	font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝B", "ＭＳ Ｐ明朝", serif;
}
@media only screen and (max-width: 767px) {
	#topVoiceBox h2 {
		font-size: 2.2rem;
	}
}
#topVoiceBox .txt01 {
	text-align: center;
	margin: 2em 0 0 0;
}
@media only screen and (max-width: 767px) {
	#topVoiceBox .txt01 {
		text-align: left;
	}
}

/* topViewBox
-----------------------------------------------------*/
#topViewBox {
	clear: both;
	padding: 0 0 120px;
}
@media only screen and (max-width: 767px) {
	#topViewBox {
		padding: 60px 0;
	}
}

.voiceViewTtl01 {
	margin: 0 0 0 0;
	font-size: 3.8rem;
	line-height: 1;
	color: #b7193f;
	font-weight: bold;
	text-align: center;
	font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝B", "ＭＳ Ｐ明朝", serif;
}
@media only screen and (max-width: 767px) {
	.voiceViewTtl01 {
		margin-top: 0;
		font-size: 2.2rem;
	}
}
.voiceViewTxt01 {
	text-align: center;
	margin: 60px 0 0 0;
}
@media only screen and (max-width: 767px) {
	.voiceViewTxt01 {
		text-align: left;
		margin-top: 30px;
	}
}

.voiceViewList01 {
	margin: 0;
	padding: 0;
}
@media only screen and (max-width: 767px) {
	.voiceViewList01 {
	}
}
.voiceViewList01 > li {
	float: left;
	width: 30%;
	margin: 30px 0 0 5%;
	padding: 0;
	list-style-type: none;
}
@media only screen and (max-width: 767px) {
	.voiceViewList01 > li {
		float: none;
		width: auto;
	}
}
.voiceViewList01 > li:nth-child(3n + 1) {
	clear: both;
	margin-left: 0;
}
.voiceViewList01 > li a {
	display: block;
	text-decoration: none;
}
.voiceViewList01 > li .picBox {
	position: relative;
}
.voiceViewList01 > li .picBox figure {
	margin: 0;
}
.voiceViewList01 > li .picBox figure img {
	width: 100%;
}
.voiceViewList01 > li .date {
	font-size: 1.4rem;
	margin: 1em 0 0 0;
	padding: 0 0 0 30px;
	position: relative;
}
@media only screen and (max-width: 767px) {
	.voiceViewList01 > li .date {
		font-size: 1.2rem;
	}
}
.voiceViewList01 > li .ttl {
	margin: 0.5em 0 0 0;
	font-weight: bold;
	line-height:1.4em;
}
.voiceViewList01 > li .date::before {
	content: "";
	display: block;
	width: 3px;
	height: 48px;
	background: #b7193f;
	position: absolute;
	left: 15px;
	bottom: 0;
}
.voiceViewBtnMore {
	clear: both;
	max-width: 310px;
	margin: 45px auto 0;
}
.voiceViewBtnMore a {
	display: block;
	text-align: center;
	color: #ffffff;
	line-height: 1;
	text-decoration: none;
	padding: 20px 0;
	background: #b7193f;
}
.voiceViewBtnMore a:hover {
	opacity: 0.7;
}
@media only screen and (max-width: 767px) {
	.voiceViewBtnMore {
		max-width: 240px;
		margin-top: 30px;
	}
	.voiceViewBtnMore a {
		padding: 15px 0;
	}
}


/* topActionBox
-----------------------------------------------------*/
#topActionBox {
	clear: both;
	color: #ffffff;
	padding: 60px 0 70px;
	background: #b7193f;
}
@media only screen and (max-width: 767px) {
	#topActionBox {
		padding: 30px 0;
	}
}
#topActionBox h2 {
	margin: 0;
	font-size: 3.8rem;
	line-height: 1;
	font-weight: bold;
	text-align: center;
	font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝B", "ＭＳ Ｐ明朝", serif;
}
@media only screen and (max-width: 767px) {
	#topActionBox h2 {
		font-size: 2.2rem;
	}
}
#topActionBox .list01 {
	margin: 60px 0 0 0;
	padding: 0;
}
@media only screen and (max-width: 767px) {
	#topActionBox .list01 {
		margin-top: 30px;
	}
}
#topActionBox .list01 > li {
	float: left;
	width: 30%;
	margin: 0 0 0 5%;
	padding: 0;
	list-style-type: none;
}
@media only screen and (max-width: 767px) {
	#topActionBox .list01 > li {
		float: none;
		width: auto;
		margin: 30px 0 0 0;
	}
}
#topActionBox .list01 > li:first-child {
	margin-left: 0;
}
#topActionBox .list01 > li a {
	display: block;
	text-decoration: none;
	color: #ffffff;
}
#topActionBox .list01 > li .picBox {
	position: relative;
}
#topActionBox .list01 > li .picBox figure {
	margin: 0;
}
#topActionBox .list01 > li .picBox figure img {
	width: 100%;
}
#topActionBox .list01 > li .picBox .ctg {
	margin: 0;
	display: inline-block;
	position: absolute;
	left: 0;
	top: 0;
	font-size: 1.3rem;
	color: #ffffff;
	padding: 0.2em 0.8em;
	background-color: rgba(0,0,0,0.8);
}
#topActionBox .list01 > li .date {
	font-size: 1.4rem;
	margin: 1em 0 0 0;
	padding: 0 0 0 30px;
	position: relative;
}
@media only screen and (max-width: 767px) {
	#topActionBox .list01 > li .date {
		font-size: 1.2rem;
	}
}
#topActionBox .list01 > li .ttl {
	margin: 0.5em 0 0 0;
	line-height:1.4em;
}
#topActionBox .list01 > li .date::before {
	content: "";
	display: block;
	width: 3px;
	height: 48px;
	background: #ffffff;
	position: absolute;
	left: 15px;
	bottom: 0;
}

#topActionBox .commonBtnMore a {
	color: #ffffff;
	border: 2px solid #ffffff;
}














