@charset "utf-8";

.content_area {
	padding: 0 20px 60px;
}

/* 特装車 */
.service.specially-equipped-vehicle h2{
	margin: 100px 0 35px;
}

/* 局舎 */
.service.shelter .content_area{
	padding: 1px 20px 120px;
}
.service.shelter h2{
	margin: 40px 0 35px;
}
.service.shelter h3{
	margin: 60px 0 25px;
}
.r_img_box {
	display: grid;
	grid-template-columns: 787fr 373fr;
	column-gap: calc(40 / 1200 * 100%);
}
.column_4_list{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-gap: 3px;
	margin-bottom: 55px;
}
.column_2_txt{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 40px;
	padding-left: 0;
	margin-bottom: 91px;
}

/* 特種 */
.special-purpose-vehicle .content_area{
	padding: 0 20px 101px;
}
.service_list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 40px;
	padding: 0;
	margin: 0;
}
.service_item{
	list-style: none;
}
.special-purpose-vehicle h2{
	margin: 100px 0 34px;
}
.cta_box.special_s {
	margin: 45px 0 100px;
	padding: 40px 46px 34px;
}
.special_s .cta_info{
	gap: 20px;
}
.special_s .cta_tel_box{
	padding: 0 27px;
}
.special-purpose-vehicle .r_img_box{
	margin-bottom: 62px;
}
.service.special-purpose-vehicle .cta_special{
	margin: 60px auto 100px;
}

/* faq */
.faq .content_box{
	margin-right: 0;
	width: 100%;
}
.faq .content_box{
	margin-right: 0;
	width: 100%;
}
.faq_item{
	border-bottom:1px solid #ECECE9;
}
.faq_item:first-child{
	border-top:1px solid #ECECE9;
}
.faq_question{
	margin: 0 !important;
	padding: 0 !important;
	background: none;
}
.faq_question::before{display: none;}
.faq_btn{
	position:relative;
	padding: 16px 17px 14px;
	cursor:pointer;
	font-size:1.6rem;
	line-height: 2.4rem;
	border: none;
	width: 100%;
	text-align: left;
	color: #333;
	background: #fff;
	transition:transform 0.3s, background 0.3s, color 0.3s;
}
.faq_btn:hover, .open .faq_btn{color: #E50012;}
.faq_btn::before{
	content:'';
	position:absolute;
	top: 0;
	right: 21px;
	bottom: 0;
	width: 13px;
	height: 7px;
	margin:auto;
	background:url(/img/common/arrow_b.svg) no-repeat center/cover;
	transition: transform 0.3s, background 0.3s;
}
.open .faq_btn::before{
	background:url(/img/common/arrow_t.svg) no-repeat center/cover;
}
.faq_btn_txt{
	padding-left: 26px;
	padding-right: 40px;
	display: block;
	position: relative;
}
.faq_btn_txt::before{
	content:'';
	position:absolute;
	top: -2px;
	left: -3px;
	width: 14px;
	height: 25px;
	margin:auto;
	background:url(/img/common/icon_q.svg) no-repeat center/cover;
	transition: background 0.3s;
}
.open .faq_btn .faq_btn_txt::before,.faq_btn:hover .faq_btn_txt::before{
	background:url(/img/common/icon_q_red.svg) no-repeat center/cover;
}
.faq_answer{
	display:none;
	position:relative;
	padding: 25px 11px 15px;
	background: #F5F5F5;
}
.faq_answer_box{
	padding-left: 50px;
}
.faq_answer::before{
	content:'A.';
	position:absolute;
	left: 43px;
}
.faq_notice{
	margin-top: 20px;
}

@media screen and (max-width: 1024px) {
.faq_btn{
	font-size: 1.5rem;
	font-weight: 500;
}
}

@media screen and (max-width: 767px) {

.service.special-purpose-vehicle .content_area, .service.shelter .content_area{
	padding: 1px 20px 60px;
}
.r_img_box {
	grid-template-columns: 1fr;
}
.l_txt {
	order: 2;
}
.r_img {
	order: 1;
	margin-bottom: 15px;
}
.column_4_list {
	grid-template-columns: 1fr;
	margin-bottom: 30px;
}
.column_4_list li{
	margin-bottom: 3px;
}
.column_2_txt {
	grid-template-columns: 1fr;
	grid-gap: 0;
	margin-bottom: 30px;
}
.faq_btn {
	font-size: 1.4rem;
	line-height: 2rem;
	padding: 13px 12px 14px;
}
.faq_btn::before {
	right: 10px;
}
.faq_btn_txt {
	padding-left: 18px;
	padding-right: 20px;
}
.faq_btn_txt::before {
	top: 1px;
	width: 10px;
	height: 18px;
}
.faq_answer{
	padding: 12px 35px 15px 10px;
}
.faq_answer::before {
    left: 30px;
}
.faq_answer_box {
    padding-left: 35px;
}
.faq_answer_box p {
	margin-bottom: 0;
}
.service.shelter .column_3 {
    grid-template-columns: repeat(2, 1fr);
    gap: 3px 14px;
}


}