/****************** スタイル共通追記1224 ***************/
.earlycampaign_contents{
	max-width: 1000px;
    margin: 40px auto;
}


.earlycampaign_contents img{
	width: 100%;
}
.earlycampaign_contents span{
	font-size: 15px;
	margin-top: 10px;
}
.text-center{
	text-align: center;
}
.mtb3em{
	margin: 3em 0;
}
.mt2em{
	margin-top: 2em;
}
.layout__flex{
	display: flex;
	width: 100%;
	margin-top: 20px!important;
}
.layout__w50per{
	display: flex;
	width: 50%;
	flex-direction:column;
	padding: 0 20px!important;
	font-size: 14px;
	box-sizing: border-box;
	row-gap: 20px;
}

.component__subttl{
	color: #e43834;
	font-size: 22px;
    text-align: center;
	font-weight: bold;
	text-align: left;
	line-height: 1.4;
}

.component__text{
	font-size: 15px;
	line-height: 1.6;
}

.btn.--component__simpleBtn{
	background: #c21a2f;
    padding: 1em;
    border: 2px solid #fff;
    /* box-shadow: 0 0 0 4px #e2a800; */
    max-width: 800px;
	width: 100%;
    line-height: 1.25;
    margin: 0 20px 40px;
    vertical-align: middle;
	display: inline-block;
    border-radius: 11px;
    color: #fff;
    text-align: center;
    text-decoration: none;
    font-size: 1.2rem;
}

@media screen and (max-width: 640px){
	/****************** スタイル共通追記1224 ***************/
	.earlycampaign_contents{
		margin: 0 20px;
	}
	.layout__flex{
		display: flex;
		flex-direction: column;
		width: 100%;
		row-gap: 20px;
	}
	.layout__w50per{
		width: 100%;
		padding: 0!important;
		row-gap: 10px;
	}
	/* is-reverseがついた要素だけ、スマホで順番を逆転させる */
	.layout__flex.--component__reverse {
		flex-direction: column-reverse;
	}
	.btn.--component__simpleBtn{
		width: auto;
	}
}