@charset "UTF-8";

#topvisual {
	background: none;
	height: auto;
	text-align:center;
	background: #fffaea;
}

.secttl {
	font-size: 2rem;
}

article .btn a {
	color: #fff;
	background: #32b16c;
	display: inline-block;
	padding: 0.5em;
	text-decoration: none;
	border-radius: 5px;
	border-bottom: #097239 solid 2px;
	max-width: 280px;
	width: 90%;
    margin: 0 auto;
    text-align: center;
}

article #campaign_detail .inquiry dd .btn a{
	max-width: 210px;
}

article a[target="_blank"]::after {
	font-family: FontAwesome;
	font-weight: 900;
	content: "\f35d";
	display: inline-block;
	margin: 0 0.3em;
	text-indent: 0;
}

#campaign_summary h2 {
	text-align: center;
	font-size: 2rem;
	font-weight: bold;
	border-top: solid 3px #ffd712;
	border-bottom: solid 3px #ffd712;
	border-image: linear-gradient(to right, #ffd712 0%, #fff6cc 50%, #ffd712 100%);
	border-image-slice: 1;
	background: #ca0349;
	color: #fff;
	padding: 0.3em;
	margin-bottom: 0.8em;
}

#campaign_summary .inner > p {
	line-height: 2;
	margin-bottom: 1em;
}

#campaign_summary h2 img {
	vertical-align: middle;
	max-height: 70px;
}

#campaign_summary dl {
	width: 100%;
	height: 100%;
	text-align: center;
}

#campaign_summary dt {
	font-size: 1.5rem;
	padding: 0.5em;
	line-height: 1;
	font-weight: bold;
}

#campaign_summary dd {
	padding: 1em 2em;
	min-height: calc( 100% - 3rem );
	font-size: 1.2rem;
	line-height: 1.8;
}

#campaign_summary .requirement dt {
	background: #ffd65b;
}

#campaign_summary .requirement dd {
	border: solid 2px #ffd65b;
	border-top: none;
	background: #fffaea;
	font-size: 1.375rem;
}

#campaign_summary .step {
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 30px;
}

#campaign_summary .step dt {
	background: #6ccef3;
	color: #fff;
	text-shadow: 1px 1px 2px #0183b5;
	letter-spacing: 0.1em;
}

#campaign_summary .step dd {
	border: solid 2px #6ccef3;
	border-top: none;
	background: #f7fdff;
}

#campaign_summary .underline {
	 background: linear-gradient(transparent 60%, #ffd1de 0%);
	display: inline;
}

#campaign_summary .step li {
	width: calc( 50% - 20px );
	position: relative;
}

#campaign_summary .step li:first-of-type:after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-left: 20px solid #4397b7;
	border-top: 20px solid transparent;
	border-bottom: 20px solid transparent;
	position: absolute;
	left: calc( 100% + 10px );
	top: 50%;
	transform: translateY( -50% );
}

#campaign_summary .step .btn {
	margin-top: 10px;
}

article #course {
	background: #f5f5f5;
}

.category_list {
	justify-content: center;
}

.category_list > li {
	width: 238px;
	margin: 0 10px 20px;
}

.category_list dl {
	height: 100%;
}

.category_list dd {
	border: 1px solid #c2baa4;
	border-top: none;
	border-radius: 0 0 5px 5px;
	background: #fff;
	height: calc( 100% - 62px );
}

.course_list li {
	padding: 1em 1em 1em 2.3em;
	text-indent: -1.3em;
	font-size: 0.75rem;
}

.course_list li:not(:last-child) {
	border-bottom: 1px dashed #c2baa4;
}

.course_list li:before {
	content: "\025b6";
	color: #999;
	font-size: 50%;
	margin-right: 0.6em;
}

.course_list li span {
	text-indent: 0;
}

.course_list li .f_small {
	font-size: 80%;
}

.course_list li a {
	color: #06f;
	text-decoration: underline;
}

#campaign_detail {
	max-width: 800px;
	margin: auto;
}

#campaign_detail th, #campaign_detail td {
	border: solid 1px #ccc;
	vertical-align: top;
	font-size: 0.875rem;
	padding: 1em;
}

#campaign_detail th {
	min-width: 11em;
	background: #f5f5f5;
}

#campaign_detail .list_bull li {
	padding-left: 0.8em;
	text-indent: -0.8em;
}

#campaign_detail .list_bull li:not(:last-child) {
	margin-bottom: 0.5em;
}

#campaign_detail .list_bull li:before {
	content: "\02022";
	margin-right: 0.3em;
}

#campaign_detail .list_bull a {
	color: #2196f3;
	text-decoration: underline;
}

#campaign_detail .inquiry dt {
	font-weight: bold;
	margin-bottom: 0.5em;
}

#campaign_detail .inquiry dd {
	margin-bottom: 1em;
	padding-left: 1em;
}

@media (max-width: 960px) {
	.secttl { font-size: 1.8rem;}
	#campaign_summary h2 { font-size: 3.3vw;}
	#campaign_summary h2 img { max-height: 7vw;}
	#campaign_summary .requirement dd, #campaign_summary .step dd { font-size: 1rem;}
}

@media (max-width: 799px) {
}

@media (max-width: 699px) {
	#campaign_summary dt { font-size: 1.25rem;}
	#campaign_summary .step li { width: 100%;}
	#campaign_summary .step li:first-of-type { margin-bottom: 40px;}
	#campaign_summary .step li:first-of-type:after { top: calc( 100% + 10px ); left: 50%; transform: translateX( -50% ); border-left: 20px solid transparent; border-right: 20px solid transparent; border-top: 20px solid #4397b7;}
}

@media (max-width: 599px) {
	.secttl { font-size: 1.3rem;}
	#campaign_summary h2 { font-size: 4vw; padding: 0;}
	#campaign_summary h2 img { display: block; margin: auto; max-height: 12vw;}
}

@media (max-width: 499px) {
	#campaign_summary dd { padding: 1em;}
	#campaign_detail tr, #campaign_detail th, #campaign_detail td { display: block; width: 100%; border: none;}
	#campaign_detail th { padding: 0.5em 1em;}
}

@media (max-width: 399px) {
}



#pickup{background: #fffaea;}
#pickup ul.pickupBox.flex{justify-content: space-between;}
#pickup ul.pickupBox.flex > li{width:49%;margin-bottom:1.5vw;background: #fff;}
#pickup ul.pickupBox.flex > li dt .ttl{width: calc(100% - 130px);}
.pickupList .imgArea{}
.pickupList > dt{background: #fff;padding:5px 120px 5px 10px;font-size: 1.15rem;}
#pickup ul.pickupBox > li{margin-bottom:5px;}
#pickup ul.pickupBox > li dl.pickupList > dt{position: relative;height: 80px;border-top: 2px #CB064B solid;font-weight: bold;}
#pickup ul.pickupBox > li dt .ttl, #pickup ul > li dt .icon{position: absolute;transform: translateY(-50%);-webkit- transform: translateY(-50%);top: 50%; }
#pickup ul.pickupBox > li dt .icon{font-weight: normal;right:60px;background: #ccc;color: #fff;width:50px;text-align: center;border-radius: 50px;height:50px;line-height:50px;}
#pickup ul.pickupBox > li dt .icon:last-of-type{right:5px;}
#pickup .acToggle { cursor:pointer; position:relative;pointer-events: none;}
/*
#pickup .acToggle:after{ font-family: FontAwesome;content: "\f0ab";font-weight: 900;
  position: absolute;left: 0; top:50%; transform:translateY(-50%); }
#pickup .on .acToggle:after{content:"\f0aa";}
*/
#pickup .acTarget { max-height:1000px;background: #fff;padding: 20px;border-top: 1px #ddd solid;}
#pickup ul.pickupBox > li dd dl{display: flex;background: #565656;align-items: center;margin-bottom: 5px;font-size: 1rem;}
#pickup ul.pickupBox > li dd dl:first-of-type{margin-bottom:10px;}
#pickup ul.pickupBox > li dd dt{width:100px;text-align: center;color: #fff;}
#pickup ul.pickupBox > li dd dd{background: #fff;padding: 10px;width: calc(100% - 100px);}
#pickup ul.pickupBox > li dd dl li{font-size: 1rem;line-height: 1.7;position: relative;padding-left: 1em;}
#pickup ul.pickupBox > li dd dl li:not(:last-of-type){margin-bottom: 10px;}
#pickup ul.pickupBox > li dd dl li:before{content: "";font-size: 50%;margin-right: 3px;position: absolute;left: 3px;width: 5px;height: 5px;border-radius: 50%;background: #565656;top:8px;}
.pickupList .imgArea{margin-bottom:20px;display: flex;justify-content: center;}
.pickupList .imgArea li:first-of-type{margin-right:3%;}
#pickup ul.pickupBox > li dt .icon.iconTanki{background: #f5a210;}
#pickup ul.pickupBox > li dt .icon.iconShikaku{background: #7ecef4;}
#pickup ul.pickupBox > li dt .icon.iconJisen{background: #89c997;}
#pickup ul.pickupBox > li dt .icon.iconPopular{background: #ff6e4d;}
#pickup ul.pickupBox > li dt .icon.iconSenmon{background: #84ccc9;}


@media (max-width: 899px) {
	#pickup ul.pickupBox.flex > li{width:100%;}
	#pickup ul.pickupBox > li dl.pickupList > dt{padding:0 0 0 0.5em;}
	#pickup .acToggle{pointer-events: auto;}
	#pickup .acToggle:after{ font-family: FontAwesome;content: "\f107";font-weight: 900;position: absolute;bottom: -7px; left:50%; transform:translateX(-50%); }
	#pickup .on .acToggle:after{content:"\f106";}
	#pickup .acTarget{ max-height:0; overflow:hidden; transition:.5s;padding:0;}
	#pickup .on .acTarget { max-height:1000px;padding: 20px;}

}


@media (max-width: 599px) {
	#pickup ul.pickupBox.flex > li dt .ttl{width: calc(100% - 120px);}

}



