@charset "UTF-8";

body{
	font-family: 'M PLUS Rounded 1c', sans-serif;
}
.txtB { font-weight: 700; }
.txtFontR { font-family: 'Asap', sans-serif; }
.txtFontB { font-family: 'Asap', sans-serif; font-weight: 700; }



.wrapper {
	min-width: 1000px;
	margin: 0 auto;
}

.titArea {
	background: red url(../images/tit_bg.png) center top repeat-y;
	border-top: solid 18px black;
	padding: 20px 0;
}
.titArea .titWrap {
	width: 490px;
	margin: 0 auto;
	position: relative;
	z-index: 10;
}
.titArea .titWrap::after {
	content: "";
	display: block;
	width: 80px;
	height: 80px;
	background-color: red;
	position: absolute;
	left: 50%;
	bottom: -60px;
	z-index: -1;
	transform: translate(-50%, 0) rotate(45deg);
}
.titArea .titWrap img { width: 100%; height: auto; }
.titArea .titWrap .titCap {
	margin: 20px 50px 0;
	border: dashed 1px white;
	padding: 15px;
	color: white;
	line-height: 1.6;
}
.titArea .titWrap .endnote {
	margin: 20px 50px 0;
	border: solid 3px white;
	padding: 15px;
	color: white;
	font-size: 140%;
	font-weight: 700;
	text-align: center;
	line-height: 1.35;
}

.titArea .snsArea { text-align: center; }
.titArea .snsArea ul {
	display: inline-block;
	vertical-align: bottom;
	margin-top: 20px;
}
.titArea .snsArea ul li {
	float: left;
	margin-right: 10px;
	height: 20px;
	overflow: hidden;
}
.titArea .snsArea ul li:last-child { margin-right: 0;}



.contArea {
	background: 
	url(../images/footer_charas.png) 5% 100% / 230px auto no-repeat,
	url(../images/footer_cars.png) 95% 100% / 694px auto no-repeat,
	url(../images/cont_bg.png) center top repeat-y;
	padding: 20px 0;
}
.contArea .contWrap {
	width: 900px;
	margin: 0 auto;
}
.lcsContList { margin-top: 40px; }
.lcsContList li {
	float: left;
	width: 420px;
	margin: 40px 60px 0 0;
	padding: 0 0 40px;
	border-bottom: dashed 1px #ccc;
}
.lcsContList li:nth-child(even) { margin-right: 0; }
.lcsContList li:nth-child(3),
.lcsContList li:nth-child(4) { border-bottom: none; }
.lcsContList li p.boxLead { line-height: 1.6; text-align: center; }
.lcsContList li p.boxPic { margin-top: 30px; }
.lcsContList li p.boxPic img { width: 100%; height: auto; }
.lcsContList li div.nameArea { margin-top: 4px; padding: 0 10px; }
.lcsContList li div.nameArea p { 
	border: solid 1px red;
	color: red; 
	padding: 4px;
	text-align: center;
	font-size: 115%;
	box-sizing: border-box;
	letter-spacing: .05em;
}
.lcsContList li div.nameArea p.charaName { float: left; min-width: 108px; }
.lcsContList li div.nameArea p.carName { float: right; min-width: 240px; }
.lcsContList li p.soundTit {
	margin-top: 30px;
	background-color: black;
	color: white;
	padding: 4px 8px;
	border-radius: 4px 4px 0 0;
	display: inline-block;
}
.lcsContList li a.redbtn {
	margin-top: 15px;
	display: block;
	background-color: red;
	color: white;
	border-radius: 8px;
	text-decoration: none;
	padding: 15px 50px 15px 20px;
	transition: all .3s ease;
	position: relative;
	line-height: 1.35;
}
.lcsContList li a.redbtn::after {
	content: "";
	display: block;
	width: 30px;
	height: 30px;
	background: url(../images/icon_arrow_w.png) center center / contain no-repeat;
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translate(0, -50%);
}
.lcsContList li a.redbtn:hover { background-color: black; }
.lcsContList li a.redbtn .btnTxt { font-size: 128%; font-weight: 700; }
.lcsContList li a.redbtn .btnTxtSub { display: block; font-size: 90%; margin-top: 3px; }

.infoAreaWrap { padding: 50px 0 120px; }
.infoBox {
	width: 840px;
	margin: 0 auto;
	border: dashed 1px red;
	background: rgba(255, 255, 255, .8) url(../images/logo_w480.png) 25px 48% / 300px auto no-repeat;
	padding: 25px 20px 20px 365px;
	box-sizing: border-box;
}
.infoBox h1 {
	font-size: 115%;
	color: red;
	position: relative;
	line-height: 1.35;
}
.infoBox h1::after {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background-color: red;
	position: absolute;
	left: 0;
	bottom: -6px;
}
.infoBox p.infoTxt {
	margin-top: 18px;
	line-height: 1.6;
	font-size: 90%;
}
.specBox {
	margin-top: 10px;
	background-color: #eee;
	padding: 10px 20px;
}
.specBox dl.infoList {
	line-height: 1.35;
	font-size: 90%;
}
.specBox dl.infoList dt {
	width: 7em;
	background-color: white;
	border: solid 1px red;
	text-align: center;
	padding: 2px;
	font-size: 90%;
	color: red;
	margin-top: 10px;
}
.specBox dl.infoList dd {
	margin-top: -1.35em;
	padding: 0 0 0 8em;
}
.specBox dl.infoList dt:first-child { margin-top: 0; }
footer {
	background-color: black;
	padding: 0 15px 10px;
}
footer .logo {
	float: left;
	padding: 40px 0 5px;
}
footer .copy {
	float: right;
	color: white;
	font-family: 'Asap', sans-serif; 
	font-size: 80%;
	padding-top: 96px;
}



@media only screen and (max-width:767px) {
	.forPC { display: none; }
	.breakSP { display: block; }
	
	.wrapper { min-width: 94%; }
	.titArea { background-image: none; border-top: solid 10px black; }
	.titArea .titWrap { width: 90%; }
	.titArea .titWrap .titCap { margin: 20px 10% 0; padding: 10px; }
	.titArea .titWrap .endnote { margin: 20px 10% 0; padding: 10px; }
	.titArea .snsArea ul li { float: none; margin-right: 0; margin-top: 10px; }

	.contArea { background-image: none; background: url(../images/footer_cars.png) 95% 100% / 80% auto no-repeat }
	.contArea .contWrap { width: 94%; }
	.lcsContList { margin-top: 60px; }
	.lcsContList li { float: none; width: 100%; margin: 30px 0 0 0; padding: 0 0 30px; }
	.lcsContList li:nth-child(3) { border-bottom: dashed 1px #ccc; }
	.lcsContList li div.nameArea p.charaName { min-width: 44%; }
	.lcsContList li div.nameArea p.carName { min-width: 52%; }

	.infoAreaWrap { padding: 20px 0 60px; }
	.infoBox { width: 94%; background: rgba(255, 255, 255, .8) url(../images/logo_w480.png) 50% 10vw / 80% auto no-repeat; padding: 40vw 15px 15px; }
	.specBox { margin-top: 20px; padding: 10px; }
	.specBox dl.infoList dd { margin: 8px 0 0 5px; padding: 0 0 0 0; }
	footer .logo { float: none; width: 90%; margin: 0 auto; padding: 40px 0 0; text-align: center; }
	footer .logo img { width: 100%; max-width: 300px; height: auto; }
	footer .copy { float: none; font-size: 75%; padding-top: 60px; text-align: center; line-height: 1.25; }

}

