@charset "utf-8";

@import url(/campaign/css/campaign-detail.css);

/* ========== additional styles ========== */
.normally-spaced {
	margin-top: 2.5em !important; }

.small-spaced ,
.small-spaced p {
	margin-top: 0.5em !important; }


/* ========== key-visual ========== */
#key-visual header.cpn-title-sp h1 {
	background: #e0f6f9 url(../img/bg_01.png) center top;
	-webkit-background-size: auto 100%;
	background-size: auto 100%;
}

#key-visual header.sp h1 img {
	width: 100%;
	max-width: 394px;
}

/* ========== section ========== */
/* ----- column-group ----- */
.cpn-column-group-01 {
	margin-top: 1.375em;
}

.cpn-column-group-01 .col-unit-1\/2 {
	margin-left: 0;
	padding: 0.5em 42px 0.5em 0;
	width: 50%;
}
.cpn-column-group-01 .col-unit-1\/2+.col-unit-1\/2 {
    border-left: 3px dotted #9acad2;
	padding-left: 39px;
	padding-right: 0;
}

@media only screen and (max-width: 640px) {
	.cpn-column-group-01 .col-unit-1\/2 {
		padding: 15px 6px 0;
		width: 100%;
	}
	.cpn-column-group-01 .col-unit-1\/2+.col-unit-1\/2 {
		padding: 30px 6px 15px;
		border-top: 3px dotted #9acad2;
		border-left: none;
	}
	
	.cpn-btn-01 {
		display: none;
	}
}

@media only screen and (min-width:640px) and (max-width:768px) {
	.cpn-btn-01 {
		display: block;
	}	
}


/* ----- table ----- */
.cpn-flowTable-01 thead th,
.cpn-flowTable-01 tbody .flow-before,
.cpn-flowTable-01 tbody .flow-after {
	text-align: center;
}

.cpn-flowTable-01 th,
.cpn-flowTable-01 td {
	border-width: 1px 0;
}

.cpn-flowTable-01 tbody th {
	background-color: transparent;
}

.cpn-flowTable-01 tbody td em {
	display: block;
	position: relative;
	padding: 7px 0 5px;
}

.cpn-flowTable-01 tbody td.flow-before em {
	font-size: 125%;
	font-weight: normal;
}

.cpn-flowTable-01 tbody td.flow-after em {
	color: #eb7000;
	font-size: 162.5%;
	line-height: 1.2;
}

.cpn-flowTable-01 tbody td.flow-after em:before {
	background: url(/assets/img/arrows_01_@2x.png) -132px top no-repeat;
	content: "";
	height: 20px;
	margin-top: -10px;
	position: absolute;
		top: 50%;
		left: -27px;
	width: 12px;
}

@media only screen and (max-width: 640px) {
.cpn-flowTable-01 th:first-child {
	padding-left: 0;
}

.cpn-flowTable-01 tbody td.flow-before,
.cpn-flowTable-01 tbody td.flow-after {
	white-space: nowrap;
}

.cpn-flowTable-01 tbody td.flow-before em,
.cpn-flowTable-01 tbody td.flow-after em {
	padding-top: 25px;
}


.cpn-flowTable-01 tbody td.flow-after em:before {
	margin-top: 0;
	position: absolute;
		left: -15px;
}
}