@charset "utf-8";

article {
	font-family: 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	color: #343333;
	font-size: 16px;
	line-height: 1.618;
	padding: 0;
}

.tx_pink{
	color: #f3185f;
}
.tx_orange{
	color: #EB6C01;
}
a{
	transition: 0.24s ease;
}


#main_visual{
	width: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
	position: relative;
	background: #F9EFDE;
}
#main_visual h1{
	max-width: 1120px;
	margin: 0 auto 0;
	text-align: center;
	padding-top: 8vw;
}
#main_visual h1 img{
	width: 96%;
	max-width: 311px;
	height: auto;
}
.page_nav .row{
	flex-wrap: wrap;
}
.page_nav li{
	width: 100%;
	border-bottom: 1px solid #fff;
}
.page_nav li a{
	text-align: center;
	display: block;
	position: relative;
	padding: 12px;
	background: #EB6C01;
	color: #fff;
	font-weight: bold;
	font-size: 16px;
}
.page_nav li a i{
	position: absolute;
	top: 50%;
	right: 1em;
	transform: translateY(-50%);
}
.page_nav li a:hover{
	background: #F4D467;
	color: #343333;
	text-decoration: none;
}

/*-------メインコンテンツ-------*/
.contents{
	padding: 48px 0;
}
#about{
	background: #fff;
	font-weight: bold;
}
#about h2{
	margin-bottom: 24px;
	font-size: 16px;
	font-weight: bold;
}
#about h2 img{
	display: inline-block;
	vertical-align: baseline;
	width: 210px;
	margin-right: 0.5em;
}

#howto{
	background: #F9EFDE;
}
#howto h2{
	position: relative;
}
#howto h2 img{
	width: 205px;
	height: auto;
}
.help_list{
	font-size: 14px;
	margin: 48px auto 24px;
}
.help_list li{
	padding: 16px 8px;
}
.help_list li div{
	background: #fff;
	border-radius: 8px;
	border: 5px solid #343333;
	width: 100%;
	height: 100%;
	position: relative;
	padding: 48px 0 24px;
}
img.help{
	display: block;
	position: absolute;
	width: 60px;
	height: 60px;
	top: 0;
	left: 50%;
	transform: translate(-50%, -50%);
}
.icon{
	height: 88px;
	object-fit: contain;
	display: block;
	margin: 0 auto 24px;
}
.icon1{
	width: 71px;
}
.icon2{
	width: 43px;
}
.icon3{
	width: 78px;
}
.icon4{
	width: 100px;
}
.if_have_problem a{
	text-decoration: underline;
}
.on_the_bus{
	padding-top: 72px;
}
.w_b_slanted{
	font-size: 18px;
	margin-bottom: 48px;
}
.w_b_slanted span{
	padding: 4px 24px;
	position: relative;
}
.w_b_slanted span:before,
.w_b_slanted span:after{
	content: '';
	display: block;
	position: absolute;
	left: 0;
	width: 100%;
	height: 8px;
	background: url(/static/img/feature/otasukedm/slanted_border.svg) 50% 50% no-repeat;
}
.w_b_slanted span:before{
	top: -8px;
}
.w_b_slanted span:after{
	bottom: -8px;
}
.steps{
	position: relative;
	background: #fff;
	border-radius: 8px;
	border: 5px solid #343333;
	padding: 24px 16px 16px;
}
.step{
	position: absolute;
	top: -16px;
	left: 20px;
}
.steps p{
	font-size: 16px;
	text-align: left;
}
.steps p span{
	font-size: 14px;
	display: block;
}
.d_chevron{
	margin: 16px 0 24px;
	transform: rotate(90deg);
}
#faq{
	background: #F4D467;
	padding-bottom: 8px;
}
#faq h2{
	text-align: center;
	margin-bottom: 48px;
	position: relative;
}
#faq h2 img{
	width: 251px;
	height: auto;
}
#faq-accordion .card{
	border: none;
}
#faq-accordion .card + .card{
	margin-top: 24px;
}
#faq-accordion .num-label{
	background: none;
	font-size: 36px;
	width: auto;
	padding: 0;
	color: #000000;
	position: absolute;
	top: 50%;
	left: 12px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	margin-right: 30px;
}
#faq-accordion .card-header{
	border: none;
}
#faq-accordion .card-header button{
	padding: 30px 10px;
	position: relative;
	width: 100%;
	text-align: left;
	cursor: pointer;
	background: #fff;
	box-shadow: 1px 1px 4px 1px rgb(0 0 0 / 5%);
	border: none;
	border-radius: 4px;
}
#faq-accordion .card-header .faq-ttl{
	display: block;
	margin-left: 0;
	padding-left: 64px;
	padding-right: 48px;
	font-size: 15px;
	font-weight: 400;
	color: #343333;
}
#faq-accordion .card-header button:before{
	content: "\f077";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translate(0, -50%);
	font-weight: 900;
	width: 24px;
	height: 24px;
	border-radius: 100px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	background: #D8DBDF;
	color: #000;
}
#faq-accordion .card-header button.collapsed:before{
	content: "\f078";
	background: #000;
	color: #fff;
}
#faq-accordion .card-body{
	padding: 24px 24px 24px 16px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
span.answer{
	font-size: 20px;
	font-weight: bold;
	color: #fff;
	background: #ed6d00;
	padding: 8px 16px;
	margin-right: 8px;
	border-radius: 8px;
}
#faq-accordion .card-body p{
	font-size: 15px;
	line-height: 1.6;
}
#faq-accordion .card-body p span{
	font-size: 13px;
	display: block;
}
#faq-accordion .card-body p + p{
	margin-top: 20px;
}
.bottom_illust{
	margin-top: 24px;
	width: 100%;
	height: 125px;
	background: url(/static/img/feature/otasukedm/bg_bus_dm_city.svg) 50% 100% no-repeat;
	background-size: cover;
}

.inview{
	opacity: 0;
	transition: 0.24s ease 0.24s;
	position: relative;
	bottom: -1em;
	transform: rotate(-10deg) scale(0.5);
}
.bounce{
	opacity: 1;
	bottom: 0em;
	transform: rotate(0deg) scale(1);
}

/*--------タブレット以上のサイズに適応するスタイル---------*/
@media screen and (min-width:768px) {
	#main_visual h1{
		padding-top: 4vw;
	}
	#main_visual h1 img{
		max-width: 1120px;
	}
	.page_nav{
		border-bottom: 6px solid #EB6C01;
		padding-top: 16px;
	}
	.page_nav ul{
		justify-content: space-around;
	}
	.page_nav li{
		width: 32%;
		border-bottom: none;
	}
	.page_nav li a{
		padding: 24px;
	}
	.contents{
		padding: 64px 0;
	}
	#about h2{
		font-size: 20px;
	}
	#about h2 img{
		width: 240px;
	}
	#howto h2 img{
		width: 240px;
	}
	.help_list li{
		padding: 16px;
	}
	.steps{
		padding: 32px 24px 24px;
	}
	.if_have_problem{
		font-size: 20px;
	}
	.on_the_bus {
		padding-top: 104px;
	}
	.w_b_slanted{
		margin-bottom: 80px;
		font-size: 24px;
	}
	.w_b_slanted span:before, .w_b_slanted span:after{
		height: 12px;
		background-size: cover;
	}
	.w_b_slanted span:before{
		top: -16px;
	}
	.w_b_slanted span:after{
		bottom: -16px;
	}
	#faq h2 img {
		width: 310px;
	}
	#faq-accordion .card + .card{
		margin-top: 36px;
	}
	#faq-accordion .card-header button{
		padding: 30px 60px;
	}
	#faq-accordion .num-label{
		left: 30px;
		margin-right: 20px;
	}
	#faq-accordion .card-header .faq-ttl{
		font-size: 18px;
		padding-left: 60px;
		padding-right: 20px;
	}
	#faq-accordion .card-header button:before{
		width: 50px;
		height: 50px;
	}
	#faq-accordion .card-body{
		padding: 24px 24px 24px 32px;
	}
	span.answer{
		margin-right: 36px;
	}
	#faq-accordion .card-body p{
		font-size: 16px;
	}
	#faq-accordion .card-body p span{
		font-size: 14px;
	}
	.bottom_illust{
		height: 250px;
		background-size: contain;
	}
}
@media screen and (min-width:992px) {
	.steps + .col-lg-1{
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.d_chevron{
		transform: rotate(0deg);
	}
}
@media screen and (min-width:1200px) {
	#main_visual h1{
		padding-top: 48px;
	}
}
