#business_hareru-kun .extras_header {
	background: url(../../img/business/hareru-kun/img_main.jpg) center / cover no-repeat;
}
.extras_header {
	display: flex;
	flex-direction: column;
	align-items: center;
}
section h2{
		font-style: normal;
		font-weight: 700;
		font-size: 42px;
		line-height: 61px;
		text-align: center;
		letter-spacing: 0.11em;
		color: #1C1C1C;
}
@media (max-width:768px){
section h2 {
font-size: 29px;
	line-height: 38px;
	}
	
}
section .sub_title {
	position: relative;
	font-style: normal;
	font-weight: 700;
	font-size: 22px;
	line-height: 36px;
	text-align: center;
	letter-spacing: 0.08em;
	color: #000000;
	margin: 27px 0 40px;
	padding-bottom: 29px;
}
section .sub_title::before {
	content: "";
	position: absolute;
	background: #bf1923;
	width: 100%;
	max-width: 440px;
	height: 1px;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.flex_357 {
	display: flex;
	margin: 0 auto;
	gap: 39px;
	width: 100%;
}

.flex_357>div:first-child{
	max-width: 357px;
	flex: 0 0 auto;
}
@media (max-width: 768px) {
.flex_357 {
		flex-wrap: wrap;
		gap: 24px;
	}
		.flex_357>div:first-child {
			max-width: 100%;
		}
}
.innerbox {
	flex-basis: 30%;
	margin-top: 3rem;
	background-color: #F8F8F8;
	position: relative;
	padding: 4rem;
	display: flex;
	margin-top: 5rem;
	flex-wrap: wrap;
	justify-content: space-between;
}
.rbt_num {
	font-family: 'Roboto';
	font-size: 550%;
	color: #BD1922;
	position: absolute;
	top: -5%;
	left: 0;
	font-style: normal;
	font-weight: 700;
}
.innerbox .inner_ttl {
	font-weight: 600;
	font-size: 24px;
	padding: 2rem 0;
	width: 100%;
}
.innerbox .inner_txt {
	padding-bottom: 2rem;
}


.faq_inner {
	max-width: 970px;
	margin: 68px auto;
}
.faq_item {
	background-color: #ffffff;
	border: 1px solid #e2e2e2;
	overflow: hidden;
	margin-top: 25px;
}

/* JSの is-open クラスで影をつける */
.faq_item.is-open {
}

/* --- 質問エリア (Q) --- */
.faq_q {
	display: flex;
	align-items: center;
	padding: 4.5rem 4rem;
	cursor: pointer;
	list-style: none;
	position: relative;
	user-select: none;
}

/* Safari用デフォルト三角消し */
.faq_q::-webkit-details-marker {
	display: none;
}

/* Qアイコン（赤丸） */
.ico_q {
	font-family: "Catamaran", sans-serif;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	width: 48px;
	height: 48px;
	background-color: #be121d;
	color: #ffffff;
	font-weight: bold;
	font-size: 26px;
	border-radius: 50%;
	flex-shrink: 0;
	margin-right: 1.5rem;
	line-height: 1;
	box-sizing: border-box;
	line-height: 1;
	padding: 9px 1px;
}

/* 質問テキスト */
.q_text {
	font-weight: bold;
	font-size: 22px;
	color: #222222;
	line-height: 1.5;
	padding-right: 2.5rem;
}

/* 右側の矢印アイコン */
.arrow {
	position: absolute;
	right: 2rem;
	top: 50%;
	width: 10px;
	height: 10px;
	border-top: 2px solid #888888;
	border-right: 2px solid #888888;
	transform: translateY(-50%) rotate(135deg);
	transition: transform 0.3s ease;
}

/* 開いたときの矢印回転（.is-openで判定） */
.faq_item.is-open .arrow {
	transform: translateY(-25%) rotate(-45deg);
}


/* --- 回答エリア (A) の高さアニメーション設計 --- */
.faq_a_wrap {
	display: grid;
	grid-template-rows: 0fr;
	/* 閉じている時は高さ0 */
	transition: grid-template-rows 0.3s ease-out;
}

/* .is-open クラスがついたら高さを伸ばす */
.faq_item.is-open .faq_a_wrap {
	grid-template-rows: 1fr;
}

.faq_a {
	overflow: hidden;
	/* 高さが縮むときに文字があふれるのを防ぐ */
	display: flex;
	align-items: flex-start;
	padding: 0 4rem;
	/* 閉じている時は上下パディング0 */
	background-color: #ffffff;
	border-top: 1px solid transparent;
	transition: padding 0.3s ease-out, border-color 0.3s ease-out;
}

/* 開いた状態の時だけ上下パディングと区切り線を表示 */
.faq_item.is-open .faq_a {
	padding: 3.5rem 4rem;
	border-top-color: #eeeeee;
	align-items: center;
}

/* Aアイコン（赤枠白抜き） */
.ico_a {
	font-family: "Catamaran", sans-serif;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	width: 48px;
	height: 48px;
	border: 2px solid #be121d;
	color: #be121d;
	font-weight: bold;
	font-size: 26px;
	border-radius: 50%;
	flex-shrink: 0;
	margin-right: 1.5rem;
	line-height: 1;
	padding: 7px 0;
}

/* 回答テキスト */
.a_text {
	font-size: 16px;
	color: #444444;
	line-height: 1.7;
	margin: 0;
	padding-top: 0.2rem;
}


/* --- スマホ対応 (SP: 375px) --- */
@media (max-width: 768px) {
.faq_q {
		padding: 28px 38px 28px 15px;
	}

	.faq_a {
		padding: 0 8px 0 15px;
	}

.faq_item.is-open .faq_a {
	padding: 21px 8px 29px 15px;
}

.ico_q,
.ico_a {
	width: 32px;
	height: 32px;
	font-size: 18px;
	margin-right: 20px;
	padding: 5px 0px;
}

	.q_text {
		font-size: 18px;
		padding-right: 0;
			line-height: 175%;
			letter-spacing: 0.08em;

	}

	.a_text {
			font-size: 16px;
			line-height: 30px;
			letter-spacing: 0.08em;
		
	}

.arrow {
	right: 22px;
	width: 10px;
	height: 10px;
}
}

/* 配置調整 */
.extras_header h1 {
	margin-top: 47px;
	margin-bottom: 31px;
}
div.extras_header>h1>span{
	color: white;
	margin-top: 60px;
	font-size: 24px;
	font-weight: 800;
}
.extras_header p {
	font-size: 24px;
	margin: 0 0 26px;
}
.extras_header p.extras_p_small{
		font-size: 16px;
}
.cm-btn_extras {
	margin: 0 auto 66px;
}
section {
	margin-top: 150px;
}
#faq{
	
	
			margin-bottom: 150px;
		
}
#overview>div>picture>img {
	margin: 44px auto;
}
.merit_items {
	display: flex;
	flex-wrap: wrap;
	gap: 50px;
	margin-top: 49px;
	margin-bottom: 50px;
}
.merit_items h3 {
	font-style: normal;
	font-weight: 700;
	font-size: 22px;
	line-height: 30px;
	letter-spacing: 0.08em;
	color: #1C1C1C;
	margin-bottom: 16px;
}
.merit_items ul {
	list-style-type: disc;
	padding-left: 2rem;
}
#case .outer_box.grid_1{
		padding: 7px 20px;
		margin-bottom: 30px;
}
#case .outer_box.grid_2 {
	padding: 7px 20px;
	gap: 2px 44px;
}
.case_catch {
	font-style: normal;
	font-weight: 400;
	font-size: 24px;
	line-height: 34px;
	text-align: center;
	letter-spacing: 0.08em;
	color: #1C1C1C;
	margin: 35px 0 0;
}
.normal_catch{
font-style: normal;
	font-weight: 700;
	font-size: 22px;
	line-height: 32px;
	text-align: center;
	color: #1C1C1C;

}
.flow_fig {
	max-width: 856px;
	margin: 19px auto;
}
#flow ul {
	margin: 53px auto;
	max-width: 858px;
}
#flow ul>li{
	font-style: normal;
	font-weight: 400;
	font-size: 12px;
	line-height: 18px;
	color: #000000;

}