@charset "UTF-8";
@import url("../js/venobox/venobox.css");
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　■COMMON
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#header nav li.cat_challenge .ac_menu_box {
  display: block !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　■タイトル・キャッチ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media only screen and (max-width: 767px){
.contents h2.page_ttl img {
    width: auto;
    height: 48px;
}
}
.page_rental #sec_intro .catch img {
	height: 100px ;
}
@media only screen and (max-width: 767px) {
.page_rental #sec_intro .catch img {
	width: 60%;
	height: auto;
}
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　■YouTube
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#sec_video{
	width:80%;
	margin:0 auto 60px;
}
@media only screen and (max-width: 767px) {
#sec_video{
	width:100%;
	margin:0 auto 40px;
}
}
.cl_video {
    position: relative;
    width: 100%;
	height: 0;
    padding-top: 56.25%; /* 16:9のアスペクト比 */
}
.cl_video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　■FAQ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#sec_faq{
	max-width:700px;
	width:100%;
	margin:0 auto 80px;
}
/*アコーディオン*/
.toggle {
	display: none;
}
.Label {
	font-size:16px;
	font-weight: bold;
	padding:20px 50px 20px 60px;
	display: block;
	background: url(../img/challenge/faq_icon.png) no-repeat left 10px center;
	background-size:34px;
}
.Label::before{
	content:"";
	width: 10px;
	height: 10px;
	border-top: 2px solid #fb1500;
	border-right: 2px solid #fb1500;
	-webkit-transform: rotate(45deg);
	position: absolute;
	top:calc( 50% - 3px );
	right: 20px;
	transform: rotate(135deg);
}
.Label,.answer {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}
.answer {
	height: 0;
	font-size:16px;
	padding:0 15px;
	overflow: hidden;
	border-bottom:#ddd 2px solid;
}
.toggle:checked + .Label + .answer {
	height: auto;
	padding:0 15px 20px 15px ;
	transition: all .3s;
}
.toggle:checked + .Label::before {
	transform: rotate(-45deg) !important;
}
@media only screen and (max-width: 767px) {
#sec_faq{
	margin:0 auto 60px;
}
.Label {
	font-size:14px;
	padding:20px 30px 20px 50px;
	background: url(../img/challenge/faq_icon.png) no-repeat left 10px center;
	background-size:26px;
}
.answer {
	font-size:14px;
}
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　■過去のチャレンジラボの取り組み
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#sec_past{
	margin-bottom: 80px;
}
.past_list{
	width:870px;
	padding:30px;
	margin:0 auto 0;
	background:#f4f4f4;
}
.past_list_in{
	display:flex;
	flex-wrap:wrap;
	width:100%;
	justify-content:space-between;
	row-gap:30px;
}
.past_list_detail{
	display:flex;
	flex-direction:column;
	width:31%;
	/*height:200px;*/
	background:#fff;
}
.past_list_detail img{
	width: 100%;
	height: auto;
}
.past_list_detail p{
	padding:10px 20px 20px 20px;
}
@media only screen and (max-width: 767px) {
#sec_past{
	margin-bottom: 60px;
}
.past_list{
	width:90%;
	padding:30px 30px 10px 30px;
	margin:0 auto 0;
}
.past_list_in{
	display: block;
}
.past_list_detail{
	display: block;
	width:100%;
	height: auto;
	margin:0 auto 20px;
}
.past_list_detail p{
	font-size:12px;
	line-height:1.4;
	padding:10px;
}
}

/*もっと見る*/
button{
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
}
#show_more {
	display: block;
	width: 50%;
	max-width: 200px;
	font-size: 16px;
	text-align: center;
	margin: 30px auto 0;
	padding: 20px;
	background: #fb1500;
	color: #fff;
	transition: opacity 0.3s ease;
}
#show_more:hover {
	opacity: 0.7;
}
@media only screen and (max-width: 767px) {
#show_more {
	font-size: 12px;
	margin: 0 auto 20px;
}
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　■活用するには
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#sec_utilize{
	margin-bottom: 80px;
}
@media only screen and (max-width: 767px) {
#sec_utilize{
	margin-bottom: 60px;
}
}

#sec_utilize h4{
	font-size:20px;
	font-weight:bold;
	text-align:center;
	margin-bottom:30px;
}
@media only screen and (max-width: 767px) {
#sec_utilize h4{
	font-size:16px;
	margin-bottom:20px;
}
}

/*応募要項*/
#sec_flow{
	font-size:16px;
	margin-top:0 !important;
}
#sec_flow ol li p{
	text-indent: -25px;
	padding-left:25px;
}
@media only screen and (max-width: 767px) {
#sec_flow {
	width:100%;
	margin:0 auto 40px;
}
#sec_flow ol li{
	padding:10px 15px !important;
}
#sec_flow ol li p{
	text-indent: -18px;
	padding-left:18px;
}
}

#sec_step{
	max-width: 600px;
	width: 100%;
	margin: 0 auto 0;
}
.step_flow{
	width: 100%;
	text-align: center;
	padding: 70px 50px 50px 50px;
	background:url(../img/challenge/flow_line.png) no-repeat center #f4f4f4;
	background-size:10px 1000px;
}
.step_flow_detail,.step_flow_detail_end{
	position: relative;
	border-radius: 20px;
	background: #fff;
	padding:40px 0 30px 0;
	margin-bottom: 75px;
}
.step_flow_detail_end{
	margin-bottom: 0;
}
.step_flow_detail img,.step_flow_detail_end img{
	position: absolute;
	right: 0;
	left: 0;
	top: -32px;
	display: inline-block;
	width: 64px;
	height: auto;
	margin: 0 auto 0;
}
.step_flow_detail h5,.step_flow_detail_end h5{
	display: inline;
	font-size:20px;
	font-weight: bold;
	color:#e7380d;
	border-bottom:#e7380d 4px solid;
	padding:0 0 5px 0;
}
.step_flow_detail p,.step_flow_detail_end p{
	font-size: 14px;
	margin-top: 15px;
}
.step_flow_detail_ann{
	position: relative;
	font-weight: bold;
	color:#e7380d;
}
.step_flow_detail_ann p{
	margin-top: 30px;
}
.step_flow_detail_ann:before {
	content: '';
	position: absolute;
	left: 50%;
	top: -15px;
	display: inline-block;
	width: 10px;
	height: 2px;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	background-color:#333;
	border-radius: 4px;
}
@media only screen and (max-width: 767px) {
.step_flow{
	padding: 50px 20px 30px 20px;
}
.step_flow_detail,.step_flow_detail_end{
	padding:40px 0 30px 0;
	margin-bottom: 50px;
}
.step_flow_detail_end{
	margin-bottom: 0;
}
.step_flow_detail img,.step_flow_detail_end img{
	top: -25px;
	width: 50px;
}
.step_flow_detail h5,.step_flow_detail_end h5{
	font-size:16px;
	border-bottom:#e7380d 2px solid;
	padding:0 0 5px 0;
}
.step_flow_detail p,.step_flow_detail_end p{
	font-size: 12px;
	margin-top: 15px;
}
.step_flow_detail_ann p{
	margin-top: 30px;
}
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　■ボタン
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.page_rental #sec_contact .btn01 {
    padding: 12px 0 35px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　■お問い合わせ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#sec_contact{
	margin-bottom:60px;
}
@media only screen and (max-width: 767px) {
#sec_contact{
	margin-bottom:40px;
}
}
.tel{
	position: relative;
	margin-bottom:60px;
}
.tel:before {
	content: '';
	position: absolute;
	left: 50%;
	bottom: -30px;
	display: inline-block;
	width: 60px;
	height: 4px;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	background-color:#e7380d;
	border-radius: 4px;
}
@media only screen and (max-width: 767px) {
.tel{
	position: relative;
	margin-bottom:40px;
}
.tel:before {
	bottom: -20px;
}
}