@charset "utf-8";

body {
	font-family: "Noto Sans JP", sans-serif;
	color: #000;
	font-size: 15px;
	max-width: 100%;
	width: 100%;
	margin: 0;
	padding: 0;
	background-color: #fff;
	overflow-x: hidden;
}

img {
	width: 100%;
	object-fit: contain;
}

p {
	margin: 0;
	line-height: 1.8;
}

ul {
	margin: 0;
	padding: 0;
}

li {
	list-style: none;
}

a {
	text-decoration: none;
}

button,
.consult-link {
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
	background-image: linear-gradient(90deg, #0460cc, #1cc9f2);
	color: #fff;
	font-size: 21px;
	padding: 22px 26px 22px 138px;
	border-radius: 15px;

	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

.consult-link {
	width: fit-content;
	font-family: Arial, sans-serif;
	line-height: normal;
	transition: opacity 0.3s ease;
}

.consult-link:hover {
	opacity: 0.8;
}

.consult-link:focus-visible {
	outline: 2px solid #0460cc;
	outline-offset: 3px;
}

.btn2 {
	display: flex;
	justify-content: center;
	margin: 100px 0;
}

.free {
	padding-right: 100px;
}

.arrow {
	position: relative;
	display: inline-block;
	width: 7.7px;
	height: 13.3px;
}

.arrow::before,
.arrow::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	width: 10px;
	height: 2px;
	border-radius: 9999px;
	background-color: #ffffff;
	transform-origin: calc(100% - 1px) 50%;
}

.arrow::before {
	transform: rotate(45deg);
}

.arrow::after {
	transform: rotate(-45deg);
}

.orange {
	color: #ff8900;
}

.inner {
	max-width: 100%;
	width: 72.9%;
	margin: 0 auto;
}

@media screen and (min-width: 768px) {
	.pc_none {
		display: none;
	}
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
	.tab_none {
		display: none;
	}
}

@-webkit-keyframes fade_in {
	0% {
		display: none;
		opacity: 0;
	}

	1% {
		display: block;
		opacity: 0;
	}

	100% {
		display: block;
		opacity: 1;
	}
}

@keyframes fade_in {
	0% {
		display: none;
		opacity: 0;
	}

	1% {
		display: block;
		opacity: 0;
	}

	100% {
		display: block;
		opacity: 1;
	}
}

.main {
	position: relative;
	z-index: 5;
}

.section_title {
	display: block;
	text-align: center;
	font-weight: bold;
}

@media screen and (min-width: 768px) {
	.section_title {
		font-size: 4.2rem;
	}
}

.conversion_inner {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 16px 0 12px;
	background: rgba(0, 0, 0, 0.2);
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 50;
	opacity: 0;
	transition: opacity 0.4s ease;
	z-index: 1;
}

.conversion_link {
	display: block;
}

.conversion.active .conversion_inner {
	opacity: 1;
	z-index: 50;
}

@media screen and (min-width: 768px) {
	.conversion_link {
		transition: opacity 0.4s ease;
	}

	.conversion_link:hover {
		opacity: 0.9;
	}
}

.banners {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 40px 0;
}

.banners a {
	display: block;
}

.banners a img {
	max-width: 100%;
}

@media screen and (min-width: 768px) {
	.banners a {
		width: 370px;
	}
}

@media screen and (max-width: 767px) {
	.banners {
		padding: 0 16px;
	}
}

.banners {
	display: none;
}

#topicpath {
	position: relative;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 10px 0;
	padding: 0 10px 10px;
	order: 0;
	box-sizing: border-box;
	color: #333333;
}

#topicpath li {
	list-style: none;
	font-size: 12px;
}

#topicpath li a {
	color: #333333;
}

#topicpath li:after {
	content: "　＞　";
}

#topicpath li:last-child:after {
	content: "";
}

.fv {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	max-width: 100%;
	width: 100%;
}

.fv_left {
	position: absolute;
	z-index: 2;
	width: 96%;
}

.fv_right {
	position: relative;
	z-index: 1;
}

.fv_right::before {
	content: "";
	position: absolute;
	top: 20px;
	/* 画像より下に少しはみ出す */
	left: 0px;
	/* 左にもはみ出す */
	right: 0px;
	/* 右にもはみ出す */
	bottom: -20px;
	/* 下にしっかりはみ出す */
	background-image: linear-gradient(90deg, #ffc200, #ff8900);
	border-radius: 0 0 0 70px;
	/* 角丸を少し大きめにして強調 */
	z-index: 0;
	/* 画像の後ろ */
}

.fv_support {
	background-color: #ff8900;
	border-radius: 50%;
	width: 170px;
	height: 170px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	line-height: normal;
}

.fv_support_text1 {
	font-size: 14px;
}

.fv_support_text2 {
	font-family: "Oswald", sans-serif;
	font-size: 39px;
	font-weight: 500;
	line-height: 1;
}

.fv_support_text2 span {
	font-size: 20px;
}

.fv_support_text3 {
	font-size: 24px;
	line-height: 1;
}

.fv_solution {
	background-color: #ff8900;
	border-radius: 50%;
	width: 170px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.fv_solution_text2 {
	font-size: 55px;
	font-family: "Oswald", sans-serif;
	margin: 10px 0;
	line-height: 1;
}

.fv_solution_text2 span {
	font-size: 32px;
}

.fv_img {
	width: 750px;
	position: relative;
	/* ← 必須 */
	overflow: hidden;
	float: right;
	border-radius: 0 0 0 50px;
}

.fv_img img {
	display: block;
	width: 100%;
	height: auto;
	/* ← まずは自動でOK（親に高さが無いなら % は効かない） */
	object-fit: cover;
	/* ← こちらは img に付ける */
	object-position: 50% 50%;
	position: relative;
	z-index: 1;
}

.fv_previoustitle {
	font-size: 36px;
	font-weight: bold;
	color: #ff8900;
}

.fv_previoustitle span {
	font-size: 30px;
}

.fv_title {
	font-size: 60px;
	font-weight: bold;
	z-index: 2;
	line-height: 1.35;
}

.fv_text_subheading {
	font-size: 25px;
	font-weight: bold;
}

.fv_text_main {
	margin: 20px 0 70px 0;
	width: 45%;
}

.fv_circle {
	display: flex;
	position: absolute;
	right: 40px;
	bottom: 30px;
	gap: 15px;
	text-align: center;
	color: #fff;
}

.fv_circle p {
	margin-top: 10px;
}

.about_title {
	font-size: 40px;
	font-weight: bold;
	text-align: center;
	margin-top: 100px;
	margin-bottom: 0;
	line-height: 1.45;
}

.about_subtitle {
	font-size: 20px;
	text-align: center;
	margin: 45px auto 0;
	font-weight: normal;
	line-height: 1.5;
	/* ← 行間を追加（1.4〜1.6程度で好みの開き具合に調整） */
}

.about_img_container {
	width: 200px;
	height: 150px;
	overflow: hidden;
	margin: 0 auto;
}

.about_img_container img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	text-align: center;
	display: inline-block;
}

.about_text {
	padding: 0 30px 0 30px;
}

.about_wrapper {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 35px;
	margin-top: 43px;
}

.about_card {
	display: grid;
	border-radius: 10px;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
	grid-template-rows: subgrid;
	grid-row: span 4;
	background-color: #fff;
}

.trouble_wrapper {
	position: relative;
	background-color: #fff7e6;
	padding: 50px 50px 150px 50px;
	border-radius: 0 0 70px 70px;
	z-index: -1;
}

.trouble_wrapper::before {
	content: "";
	position: absolute;
	left: 0;
	top: -100px;
	width: 100%;
	height: 100px;
	background-color: #fff7e6;
	z-index: -1;
	border-radius: 70px 70px 0 0;
}

.trouble {
	display: flex;
	justify-content: center;
	gap: 76px;
	width: 100%;
	padding: 0 50px;
	margin: 0 auto;
	box-sizing: border-box;
}

.trouble_heading {
	text-align: center;
	margin-top: 50px;
	line-height: 1.5;
	/* ← 行間を追加（1.4〜1.6程度で好みの開き具合に調整） */
}

.trouble_heading_strong {
	font-size: 30px;
	font-weight: bold;
}

.trouble_img_container {
	margin-top: 20px;
	width: 300px;
	height: 300px;
	aspect-ratio: 1 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: visible;
	border-radius: 50%;
	background-color: #fff;
}

.trouble_img_container img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	margin: 0;
	object-fit: contain;
}

.trouble_listgroup {
	margin-top: 15px;
	font-size: 16px;
}

.trouble_list {
	margin-top: 5px;
	align-items: center;
	line-height: 1.7;
}

.trouble_list_bold {
	font-weight: bold;
}

.trouble_square {
	display: inline-block;
	width: 10px;
	height: 10px;
	border: 1px solid black;
	margin-right: 5px;
}

.background-wrapper {
	position: relative;
	z-index: 1;
	padding-top: 50px;
}

.triangle {
	background: #fff7e6;
	height: calc(tan(60deg) * 60px / 3);
	width: 80px;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	margin: 0 auto;
}

.all_solution {
	text-align: center;
	font-size: 40px;
	font-weight: bold;
	margin-top: 48px;
	line-height: normal;
}

.all_solution_item {
	font-size: 26px;
	font-weight: normal;
}

.all_solution_consulting {
	font-size: 40px;
	font-weight: bold;
}

.possible {
	background-image:
		url("/assets/images/itsupport/01.png"),
		url("/assets/images/itsupport/02.png"),
		url("/assets/images/itsupport/03.png"),
		url("/assets/images/itsupport/04.png"),
		url("/assets/images/itsupport/PLAN.png"), linear-gradient(#ff8900, #ffc200);
	border-radius: 750px;
	padding: 150px 0;
	margin: 250px 0;
	background-repeat: no-repeat;
	background-position:
		96% 8%,
		-3% 40%,
		96% 59%,
		85% 75%,
		-5% 80%,
		center;
}

.possible_title {
	text-align: center;
	color: #fff;
	font-size: 50px;
	font-weight: bold;
	line-height: 1.38;
}

.possible_title_line {
	font-size: 20px;
	border-bottom: #fff 1px solid;
}

.icon_img {
	width: 31px;
	margin: 0 auto;
	padding-top: 85px;
}

.possible_point {
	background-color: #fff;
	border-radius: 40px;
	padding: 70px 60px;
	margin-top: 30px;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}

.possible_point:nth-of-type(odd) {
	transform: translateX(-30px);
}

.possible_point:nth-of-type(even) {
	transform: translateX(30px);
}

.point2 {
	background-image: url(/assets/images/itsupport/02.png);
	left: 0;
}

.point3 {
	background-image: url(/assets/images/itsupport/03.png);
	right: 0;
}

.possible_heading {
	display: flex;
	align-items: flex-end;
}

.possible_item {
	display: flex;
	align-items: center;
	margin-top: 30px;
}

.possible_item p {
	width: 50%;
}

.possible_item img {
	width: 30%;
	margin-left: 60px;
}

.possible_number {
	font-family: "Oswald", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
	font-size: 70px;
	line-height: 1;
	padding-right: 17px;
	position: relative;
}

.possible_number::after {
	content: "";
	position: absolute;
	top: -1em;
	bottom: 0;
	right: 0;
	/* 数字の右端に */
	width: 2px;
	background: #ff8900;
	/* 線の色 */
}

.point2 .possible_number::after {
	top: -1.38em;
}

.possible_subtitle {
	margin-left: 20px;
	font-size: 30px;
	font-weight: bold;
	line-height: normal;
}

.possible_strong {
	font-size: 35px;
}

.arrow_img {
	width: 30px;
	margin: 50px auto;
}

.possible_plan {
	background-color: #fff;
	border-radius: 40px;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
	padding: 60px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	text-align: center;
	grid-auto-rows: 1fr;
	gap: 30px;
	font-size: 20px;
	line-height: 1.35;
}

.possible_plan_contents {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	border-radius: 10px;
	position: relative;
}

.possible_plan_contents ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	gap: 10px;
}

.possible_plan_title {
	flex: 0 0 110px;
	font-size: 30px;
	font-weight: bold;
	text-align: center;
}

.possible_plan_title1 {
	color: #ffa700;
}

.possible_plan_title2 {
	color: #ff8900;
}

.possible_plan_title3 {
	color: #ff6c00;
}

.possible_plan_small {
	font-size: 12px;
	font-weight: normal;
	color: #000;
}

.possible_plan_list {
	flex: 1;
	flex-basis: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #fff;
	border-radius: 10px;
	box-sizing: border-box;
	padding: 20px 10px;
}

.possible_plan_list1 {
	background-color: #ffa700;
}

.possible_plan_list2 {
	background-color: #ff8900;
}

.possible_plan_list3 {
	background-color: #ff6c00;
}

.possible_plan_contents > .annotation {
	position: absolute;
	bottom: -3%;
	left: 50%;
	transform: translateX(-50%);
	font-size: 12px;
	width: 100%;
	white-space: nowrap;
}

.price {
	margin-top: 110px;
}

.price_title {
	text-align: center;
	font-size: 40px;
	font-weight: bold;
	line-height: 1.5;
	/* ← 行間を追加（1.4〜1.6程度で好みの開き具合に調整） */
}

.price_title_line {
	font-size: 20px;
	border-bottom: #ff8900 1px solid;
}

.price_title_strong {
	font-size: 50px;
}

.price_plan {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	grid-auto-rows: 1fr;
	text-align: center;
	margin: 50px 0;
	align-items: stretch;
}

.price_plan_item {
	display: grid;
	grid-template-rows: auto auto 1fr;
	gap: 12px;
	align-items: start;
	padding: 20px;
	box-sizing: border-box;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
	border-radius: 8px;
	height: 100%;
}

.price_contents_title {
	font-size: 30px;
	font-weight: bold;
	flex: 0 0 50px;
	min-height: 96px;
	align-items: center;
	justify-content: center;
	line-height: normal;
	margin-bottom: 0;
}

.price_number1,
.price_contents_title1 {
	color: #ffa700;
}

.price_number2,
.price_contents_title3 {
	color: #ff6c00;
}

.price_contents_title span {
	font-size: 18px;
	color: #000;
	font-weight: normal;
}

.price_number {
	font-family: "Oswald", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
	font-size: 70px;
}

.price_number1 {
	color: #ffa700;
}

.price_number2 {
	color: #ff8900;
}

.price_number3 {
	color: #ff6c00;
}

.price_number1,
.price_number2,
.price_number3 {
	font-size: 33px;
	font-weight: bold;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	line-height: 1.2;
}

.price_plan_text {
	text-align: left;
	margin-top: 20px;
}

.price_initial {
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
	border-radius: 8px;
	margin-top: 70px;
	padding: 30px;
	display: flex;
	align-items: center;
}

.initial_point {
	width: 50%;
	text-align: center;
	line-height: normal;
}

.initial_title {
	font-size: 30px;
	font-weight: bold;
}

.initial_campaign {
	display: flex;
	margin-top: 20px;
	align-items: baseline;
	gap: 5px;
	justify-content: center;
}

.initial_number {
	font-size: 50px;
	font-family: "Oswald", sans-serif;
}

.initial_unit {
	font-size: 30px;
	font-weight: bold;
}

.initial_free {
	font-size: 50px;
	font-weight: bold;
	background: linear-gradient(transparent 74%,
			rgba(255, 255, 102, 0.95) 74%,
			rgba(255, 255, 102, 0.95) 86%,
			transparent 86%);
}

.arrow_right {
	width: 0;
	height: 0;
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
	border-left: 15px solid #ff8900;
	margin: 0 10px;
}

.initial_about {
	width: 50%;
	background-color: #fff7e6;
	padding: 20px;
	border-radius: 8px;
}

.initial_about_title {
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	margin-top: 5px;
}

.flow_back {
	background-image: url("/assets/images/itsupport/back_img.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
}

.flow {
	padding: 150px 0;
	margin-top: 150px;
}

.flow_title {
	text-align: center;
	font-size: 40px;
	font-weight: bold;
	line-height: 1.5;
	/* ← 行間を追加（1.4〜1.6程度で好みの開き具合に調整） */
}

.flow_title_line {
	font-size: 20px;
	border-bottom: #ff8900 1px solid;
}

.flow_title_strong {
	font-size: 50px;
	padding-right: 10px;
	background-image: url(/assets/images/itsupport/strong.png);
	background-repeat: no-repeat;
	background-position: 100% 15%;
	background-size: 1vw auto;
}

.flow_contents {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	text-align: center;
	grid-auto-rows: 1fr;
	align-items: center;
	overflow-y: hidden;
	padding-top: 30px;
}

.flow_item {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	height: 100%;
}

.flow_img_container {
	margin: 0 auto;
	border-radius: 50%;
	background-color: #fff;
	width: 195px;
	height: 195px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

.flow_item:nth-child(n + 2) .flow_img_container::before {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8px 0 8px 10px;
	border-color: transparent transparent transparent #ffc400;
	position: absolute;
	top: 0;
	left: -20%;
	bottom: 0;
	margin: auto;
}

.flow_img_container img {
	width: 120px;
	height: 120px;
	object-fit: contain;
}

.flow_subtitle {
	margin-top: 20px;
	font-size: 23px;
	font-weight: bold;
	line-height: normal;
}

.flow_small {
	font-size: 16px;
}

.flow_text {
	text-align: left;
	margin: 15px auto 0;
	width: 90%;
}

.flow_number {
	font-family: "Oswald", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
	font-size: 40px;
	position: absolute;
	top: 0px;
	left: 0px;
	margin: 0;
	line-height: 1;
	z-index: 5;
}

.company {
	margin-top: 150px;
}

.company_title {
	font-size: 40px;
	font-weight: bold;
	text-align: center;
}

.company_title_strong {
	font-size: 50px;
	background-image: url(/assets/images/itsupport/star.png);
	background-repeat: no-repeat;
	padding-right: 30px;
	background-position: 100% 5%;
	background-size: 2vw auto;
}

.company_scale {
	display: flex;
	gap: 70px;
	margin: 90px 0 auto;
	justify-content: space-between;
}

.company_item {
	width: 50%;
}

.company_item_img {
	width: 325px;
	height: 325px;
	border-radius: 50%;
	background-color: #fff7e6;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 20px auto;
	position: relative;
	overflow: visible;
}

.company_item_img img {
	width: 120%;
	height: auto;
	position: absolute;
}

.company_text_heading {
	font-size: 23px;
	font-weight: bold;
	text-align: center;
}

.company_maintext {
	margin-top: 20px;
}

.company_heading_wrapper {
	font-size: 30px;
	font-weight: bold;
	text-align: center;
	line-height: 1.5;
	/* ← 行間を追加（1.4〜1.6程度で好みの開き具合に調整） */
}

.company_people {
	font-size: 18px;
	font-weight: normal;
}

.customer_wrapper {
	margin-top: 150px;
	padding: 150px 0;
	min-height: 100vh;
	background-image: url("/assets/images/itsupport/back2.png");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.customer_heading {
	font-size: 40px;
	font-weight: bold;
	text-align: center;
	color: #fff;
	margin-top: 16px;
	/* ← 上に余白を追加（数値はお好みで調整してください） */
}

.customer_subheading {
	font-size: 23px;
	font-weight: bold;
	text-align: center;
}

.customer_item:nth-of-type(2) .customer_plan {
	background-color: #ff8900;
}

.customer_contents {
	display: flex;
	gap: 35px;
	align-items: stretch;
}

.customer_item {
	display: grid;
	grid-template-rows: auto 150px auto auto auto 1fr auto;
	align-items: start;
	background-color: #fff;
	border-radius: 27px;
	padding: 30px;
	flex: 1;
	margin-top: 50px;
	border: #ffa700 2px solid;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}

.customer_item:nth-child(2) {
	border: #ff8900 2px solid;
}

.customer_item img {
	width: 130px;
	height: 130px;
	display: block;
	margin: 20px auto 0;
	object-fit: cover;
}

.customer_subheading,
.customer_text_title {
	color: #ffa700;
	line-height: normal;
}

.customer_item:nth-of-type(2) .customer_text_title {
	color: #ff8900;
}

.customer_about {
	margin-top: 5px;
	text-align: center;
}

.customer_plan {
	padding: 10px 0;
	background-color: #ffa700;
	border-radius: 5px;
	text-align: center;
	color: #fff;
}

.customer_plan {
	padding: 10px 0;
	background-color: #ffa700;
	border-radius: 5px;
	text-align: center;
	color: #fff;
	font-weight: 500;
}

.customer_text_title {
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	margin: 20px 0 15px;
}

.question {
	width: 50%;
	margin: 115px auto 0;
}

.question_backimg {
	background-image: url(/assets/images/itsupport/qa.png);
	background-repeat: no-repeat;
	background-position: 100% 80%;
}

.question_title {
	font-size: 40px;
	font-weight: bold;
	text-align: center;
	line-height: 1.5;
	/* ← 行間を追加（1.4〜1.6程度で好みの開き具合に調整） */
}

.question_title span {
	font-size: 50px;
}

.accordion_wrapper {
	margin-top: 50px;
}

.label {
	font-family: "Oswald", sans-serif;
	font-size: 30px;
	font-weight: normal;
	vertical-align: -3px;
	margin-right: 10px;
}

.accordion:not([open]) {
	margin-bottom: 7px;
}

.accordion summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 20px;
	position: relative;
	padding: 1em 2em;
	background-color: #ff8900;
	color: #fff;
	font-weight: 600;
	cursor: pointer;
	z-index: 1;
	border-radius: 30px;
}

/* h3化によるレイアウト崩れ防止 */
.accordion summary h3 {
	margin: 0;
	font-size: inherit;
	font-weight: inherit;
	flex-grow: 1;
	/* 見出しエリアを広げて矢印を右端へ押し出す */
}

.accordion_strong {
	font-weight: bold;
}

.accordion summary::-webkit-details-marker {
	display: none;
}

.arrow-icon {
	position: relative;
	width: 30px;
	height: 30px;
	flex-shrink: 0;
}

.arrow-icon::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 30px;
	height: 30px;
	background-color: #ffffff;
	border-radius: 50%;
	z-index: -1;
}

.arrow-icon::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(45deg);
	width: 7px;
	height: 7px;
	border-bottom: 3px solid #c2c2c2;
	border-right: 3px solid #c2c2c2;
	transition: transform 0.3s;
	z-index: 1;
}

.accordion[open] .arrow-icon::after {
	transform: translate(-50%, -50%) rotate(225deg);
}

/* .accordion summary::before,
.accordion summary::after {
content: "";
position: absolute;
} */

.accordion summary::before,
.accordion summary::after {
	content: none;
}

.accordion[open] summary::after {
	transform: translateY(-25%) rotate(225deg);
}

.accordion p {
	transform: translateY(-10px);
	opacity: 0;
	margin: 0;
	padding: 1em 2em 2em 2em;
	color: #333333;
	transition:
		transform 0.5s,
		opacity 0.5s;
}

.accordion[open] p {
	transform: none;
	opacity: 1;
}

.banners {
	order: 1;
}

#topicpath {
	position: relative;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 10px 0;
	padding: 0 10px 10px;
	order: 0;
	box-sizing: border-box;
	color: #333333;
}

#topicpath li {
	list-style: none;
	font-size: 12px;
}

#topicpath li a {
	color: #333333;
}

#topicpath li:after {
	content: "　＞　";
}

#topicpath li:last-child:after {
	content: "";
}

/* === FV: Responsive overrides (追記) === */

.fv_circle_sp {
	display: none;
}

/* タブレット以下での縮小調整 (max-width: 1200px) */
@media (max-width: 1200px) {
	.inner {
		width: 90%;
	}

	.fv_title {
		font-size: clamp(32px, 6vw, 60px);
		line-height: 1.25;
	}

	.fv_previoustitle,
	.fv_text_subheading {
		font-size: clamp(16px, 2.8vw, 28px);
	}

	.fv_img {
		width: min(55vw, 700px);
		height: auto;
		float: none;
	}

	.fv_text_main {
		width: min(560px, 80vw);
	}

	.fv_support,
	.fv_solution {
		width: clamp(140px, 18vw, 170px);
		height: clamp(140px, 18vw, 170px);
	}

	.fv_support p,
	.fv_solution p {
		line-height: normal;
	}

	.fv_support_text2 {
		font-size: clamp(36px, 5.5vw, 55px);
	}

	.fv_support_text3 {
		font-size: clamp(18px, 3.5vw, 24px);
	}

	.fv_solution_text2 {
		font-size: clamp(36px, 5.5vw, 55px);
	}

	.fv_circle {
		right: 24px;
		bottom: 24px;
		gap: 12px;
	}

	.possible {
		background: linear-gradient(#ff8900, #ffc200);
	}

	.possible_point:nth-of-type(odd) {
		transform: translateX(0);
	}

	.possible_point:nth-of-type(even) {
		transform: translateX(0);
	}
}

/* タブレット以下 (max-width: 1024px) */
@media (max-width: 1024px) {
	.icon_img {
		padding-top: 40px;
	}

	.free {
		font-size: 16px;
	}

	.about {
		margin-bottom: 80px;
	}

	.about_wrapper {
		display: flex;
		overflow-x: auto;
		align-items: stretch;
	}

	.about_wrapper > *:last-child {
		margin-right: 20px;
		/* ← 最後のカードに余白 */
	}

	.about_title {
		width: 90%;
		margin: 0 auto;
	}

	.about_card {
		display: grid;
		grid-template-rows: minmax(3.2em, auto) 150px 1fr;
		flex: 0 0 80%;
		max-width: 100%;
		scroll-snap-align: start;
		margin-bottom: 20px;
	}

	.about_subtitle {
		min-height: 3.2em;
		display: flex;
		align-items: center;
		justify-content: center;
		line-height: 1.4;
		margin: 26px 0 0;
	}

	.about_img_container {
		width: 200px;
		height: 150px;
		margin: 0 auto;
	}

	.about_text {
		margin-top: 0;
	}

	.about_wrapper::before {
		content: "";
		flex: 0 0 20px;
		/* ← 最後の余白を保証 */
	}

	.about_wrapper::after {
		content: "";
		flex: 0 0 20px;
		/* ← 最後の余白を保証 */
	}

	.trouble_wrapper::before {
		border-radius: 30px 30px 0 0;
	}

	.trouble {
		flex-direction: column;
		padding: 0 20px;
		align-items: center;
		text-align: center;
	}

	.trouble > * {
		width: 100%;
		max-width: 560px;
		margin-left: auto;
		margin-right: auto;
	}

	.trouble_listgroup {
		text-align: left;
	}

	.possible_plan {
		grid-template-columns: 1fr;
		padding: 30px 20px;
	}

	.price_plan {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.initial_number {
		font-size: 20px;
	}

	.initial_free {
		font-size: 20px;
	}

	.flow .inner {
		width: 100%;
	}

	.flow_contents {
		gap: 24px;
		overflow-x: scroll;
		overflow-y: hidden;
		max-width: 100vw;
		box-sizing: border-box;
		padding-right: 20px;
		scroll-padding-right: 20px;
	}

	.flow_contents .flow_item:first-child {
		margin-left: 20px;
	}

	.flow_contents .flow_item:last-child {
		margin-right: 20px;
	}

	.flow_contents .flow_item {
		padding-inline: 12px;
		box-sizing: border-box;
	}

	.company_scale {
		flex-direction: column;
		gap: 40px;
		margin: 0 auto;
	}

	.customer_contents {
		flex-direction: column;
		gap: 0;
	}

	.question_backimg {
		background-image: none;
	}
}

/* スマホ縦（iPhone SE 375px を想定）(max-width: 960px) */
@media (max-width: 960px) {
	.fv {
		display: block;
		position: relative;
	}

	.fv_left {
		position: static;
		left: auto;
		z-index: 2;
		margin-bottom: 16px;
	}

	.fv_text_main {
		width: 100%;
		margin: 12px 0 20px;
	}

	.fv_img {
		width: 100%;
		height: auto;
		display: block;
		border-radius: 16px;
	}

	.fv_right {
		position: relative;
	}

	.fv_circle {
		position: static;
		margin-top: 12px;
		display: flex;
		justify-content: center;
		gap: 10px;
		text-align: center;
	}

	.fv_right {
		display: none;
	}

	.fv_left {
		position: relative;
		top: auto;
		left: auto;
		transform: none;
		margin: 0 auto;
		color: #fff;
		text-align: center;
		background: url("/assets/images/itsupport/4191326_m.jpg") no-repeat center/cover;
		border-radius: 12px;
		padding-top: 100px;
	}

	.fv_left::before {
		content: "";
		position: absolute;
		inset: 0;
		background: rgba(0, 0, 0, 0.4);
		border-radius: inherit;
	}

	.fv_left > * {
		position: relative;
		z-index: 1;
	}

	.fv_title {
		font-size: clamp(24px, 7vw, 36px);
		margin-bottom: 16px;
	}

	.fv_text_main {
		font-size: 16px;
		line-height: 1.6;
		margin-bottom: 20px;
	}

	.fv_left > button,
	.fv_left > .consult-link {
		width: auto;
		max-width: none;
		margin-left: 0;
		display: inline-flex;
	}

	.fv_circle_sp {
		display: flex;
		gap: 20px;
		margin-top: 20px;
		padding-bottom: 20px;
		justify-content: center;
	}
}

/* さらに小さい端末での微調整 (max-width: 767px) */
@media (max-width: 767px) {
	body {
		font-size: 14px;
	}

	main section:first-of-type {
		margin-top: 20px;
	}

	.fv_title {
		font-size: 22px;
		line-height: 1.4;
	}

	.about_title,
	.price_title,
	.flow_title,
	.company_title,
	.customer_heading,
	.question_title {
		font-size: 20px;
		line-height: 1.4;
	}

	.flow_title {
		width: 90%;
		margin: 0 auto;
	}

	.about_subtitle,
	.trouble_heading,
	.possible_subtitle,
	.customer_subheading {
		font-size: 15px;
		line-height: 1.5;
	}

	p,
	li {
		font-size: 14px;
		line-height: 1.7;
	}

	.annotation,
	.initial_about_title,
	.flow_small,
	.company_people {
		font-size: 12px;
		line-height: 1.6;
	}

	.about_wrapper {
		gap: 12px;
	}

	.about_card {
		display: grid;
		grid-template-rows: minmax(3.2em, auto) 100px 1fr;
		width: 100%;
		box-sizing: border-box;
		padding: 16px;
	}

	.about_img_container {
		width: 100%;
		display: flex;
		justify-content: center;
		width: 120px;
		height: 100px;
		margin: 0 auto 12px;
	}

	.about_img_container img {
		width: 100%;
		height: 100%;
		object-fit: contain;
		max-width: 120px;
	}

	.about_text {
		padding: 0;
		text-align: left;
		margin-top: 40px;
	}

	.trouble_wrapper {
		padding: 20px 16px 80px 16px;
		border-radius: 0 0 30px 30px;
	}

	.trouble {
		gap: 0;
	}

	.trouble > * {
		max-width: 100%;
	}

	.trouble_heading_strong.orange {
		font-size: 24px;
		line-height: 1.3;
	}

	.trouble_img_container {
		width: 200px;
		height: 200px;
		margin: 16px auto;
	}

	.trouble_img_container img {
		width: auto;
		height: auto;
		max-width: 100%;
		max-height: 100%;
	}

	.possible {
		padding: 24px 16px;
		margin: 40px 0;
	}

	.possible_strong.orange {
		font-size: 18px;
		line-height: 1.4;
	}

	.all_solution {
		margin-top: 50px;
	}

	.all_solution_consulting.orange {
		font-size: 30px;
		line-height: 1.4;
	}

	.possible_heading {
		display: flex;
		align-items: center;
		gap: 10px;
	}

	.possible_number {
		font-size: 22px;
		line-height: 1;
	}

	.possible_number.orange {
		font-size: 32px;
		line-height: 1;
		flex-shrink: 0;
	}

	.possible_number::after {
		top: -0.5em;
	}

	.point2 .possible_number::after {
		top: -1em;
	}

	.possible_subtitle {
		font-size: 14px;
		line-height: 1.4;
		margin: 0;
	}

	.possible_point {
		padding: 16px;
		margin-top: 12px;
		border-radius: 10px;
	}

	.possible_item {
		flex-direction: column;
		align-items: center;
		text-align: left;
		margin-top: 0;
	}

	.possible_item p {
		width: 100%;
		margin: 20px;
	}

	.possible_item img {
		width: 60%;
		max-width: 200px;
		margin: 0 auto;
	}

	.possible_plan {
		padding: 16px 12px;
		gap: 12px;
		margin: 30px 0;
		display: flex;
		flex-direction: column;
	}

	.possible_plan_contents {
		padding: 50px 12px 12px;
		border-radius: 8px;
	}

	.possible_plan_contents:first-child {
		padding: 12px;
	}

	.possible_plan_title {
		font-size: 16px;
		line-height: 1.3;
		margin-bottom: 6px;
		flex: 0 0 30px;
	}

	.possible_plan_list {
		padding: 12px 8px;
		font-size: 13px;
		line-height: 1.5;
		font-size: 12px;
		line-height: 1.5;
		padding: 8px 6px;
		border-radius: 6px;
	}

	.annotation {
		font-size: 11px;
		margin-top: 4px;
	}

	.price {
		margin-top: 40px;
	}

	.price_title {
		font-size: 20px;
		line-height: 1.4;
	}

	.price_title_strong {
		font-size: 26px;
	}

	.price_plan {
		grid-template-columns: 1fr;
		gap: 16px;
		margin: 30px 0;
		flex-direction: column;
	}

	.price_plan_item {
		height: 100%;
		grid-template-rows: auto auto 1fr;
		gap: 10px;
		padding: 16px;
	}

	.price_contents_title {
		font-size: 16px;
		line-height: 1.4;
		flex: 0 0 30px;
		min-height: 70px;
	}

	.price_contents_title span {
		font-size: 13px;
	}

	.price_number {
		font-size: 28px;
	}

	.price_number1,
	.price_number2,
	.price_number3 {
		font-size: 20px;
	}

	.price_plan_text {
		font-size: 13px;
		line-height: 1.6;
		margin-top: 8px;
	}

	.price_initial {
		flex-direction: column;
		gap: 16px;
		margin-top: 24px;
		padding: 30px;
	}

	/* h2要素のリセット */
	h3.price_plan_heading {
		margin: 0;
		padding: 0;
		font-size: inherit;
		font-weight: normal;
		line-height: inherit;
	}

	/* 各要素をブロック化して上から順に並べる */
	.price_plan_heading .price_contents_title,
	.price_plan_heading .price_sub,
	.price_plan_heading .price_number1,
	.price_plan_heading .price_number2,
	.price_plan_heading .price_number3 {
		display: block;
	}

	/* 補足エリア（空文字でも1行分の高さをしっかり維持） */
	.price_plan_heading .price_sub {
		font-size: 0.8em;
		font-weight: normal;
		color: #333;
		min-height: 1.2em;
		/* 1行分の高さを念のため保証 */
		margin-top: 4px;
		/* タイトルとの間の微調整（お好みで） */
		margin-bottom: 8px;
		/* 金額との間の微調整（お好みで） */
	}

	/* ==========================================
スマホ用（縦並び時の余白・バランス調整）
========================================== */
	@media screen and (max-width: 767px) {

		/* 1. カード自体の上下パディング（枠内の余白）を少し詰める */
		.price_plan_item {
			padding: 24px 16px !important;
			/* カード全体の高さをコンパクトに */
		}

		/* 2. 中身が「&nbsp;」だけの空要素は、スマホでは高さを潰す */
		.price_plan_heading .price_sub:has(&nbsp; ),
		.price_plan_heading .price_sub:empty {
			min-height: 0 !important;
			margin: 0 !important;
		}

		/* ※上記の :has が古いブラウザで効かない場合のフォールバック指定 */
		.price_plan_heading .price_sub {
			min-height: auto;
			margin-top: 2px;
			margin-bottom: 4px;
		}

		/* 3. 各パーツの間の余白をスマホ用に最適化 */
		.price_plan_heading .price_contents_title {
			font-size: 18px;
			/* スマホで見やすいタイトルサイズ */
		}

		.price_plan_heading .price_number1,
		.price_plan_heading .price_number2,
		.price_plan_heading .price_number3 {
			margin-top: 6px;
			margin-bottom: 12px;
		}

		.price_plan_text {
			font-size: 13px;
			/* 説明文のサイズを少し整える */
			line-height: 1.5;
		}
	}

	.initial_campaign {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 12px;
		margin-top: 12px;
	}

	.initial_number {
		font-size: 24px;
	}

	.initial_unit {
		font-size: 12px;
	}

	.initial_free {
		font-size: 24px;
	}

	.arrow_right {
		border-top: 8px solid transparent;
		border-bottom: 8px solid transparent;
		border-left: 12px solid #ff8900;
		margin: 0 4px;
	}

	.initial_point,
	.initial_about {
		width: 100%;
	}

	.initial_title {
		font-size: 18px;
	}

	.initial_about {
		padding: 10px;
	}

	.initial_about_title {
		font-size: 14px;
		margin-bottom: 6px;
	}

	.initial_about p {
		font-size: 13px;
		line-height: 1.6;
	}

	.flow_title_strong {
		font-size: 22px;
		padding-right: 5px;
	}

	.flow {
		padding: 80px 0;
		margin-top: 80px;
	}

	.flow_contents {
		gap: 20px;
		margin-top: 40px;
		/* display: flex;
	overflow-x: auto;
	overflow-y: hidden; */
		box-sizing: border-box;
		max-width: 100vw;
		padding-right: 30px;
		scroll-padding-right: 20px;
	}

	.flow_contents::before {
		content: none;
	}

	.flow_contents::after {
		content: none;
	}

	.flow_contents .flow_item {
		flex: 0 0 calc(100vw - 214px);
		max-width: 320px;
		padding-inline: 16px;
		box-sizing: border-box;
	}

	.flow_contents .flow_item:first-child {
		margin-left: 30px;
	}

	.flow_contents .flow_item:last-child {
		margin-right: 30px;
	}

	.flow_contents .flow_img_container {
		width: 140px;
		height: 140px;
	}

	.flow_contents .flow_img_container img {
		width: 90px;
		height: 90px;
	}

	.flow_contents .flow_number {
		font-size: 28px;
	}

	.flow_img_container {
		width: 150px;
		height: 150px;
	}

	.company {
		margin-top: 80px;
	}

	.company_title {
		font-size: 20px;
		line-height: 1.4;
		margin-bottom: 20px;
	}

	.company_title_strong {
		font-size: 24px;
		padding-right: 15px;
	}

	.company_scale {
		flex-direction: column;
		gap: 50px;
		margin: 50px 0;
	}

	.company_heading_wrapper {
		font-size: 18px;
		margin-bottom: 8px;
	}

	.company_heading {
		font-size: 16px;
	}

	.company_people {
		font-size: 13px;
	}

	.company_item {
		width: 100%;
	}

	.company_item_img {
		width: 200px;
		height: 200px;
		margin: 12px auto;
	}

	.company_text_heading {
		font-size: 15px;
		margin-top: 10px;
	}

	.company_maintext {
		font-size: 13px;
		line-height: 1.6;
		margin-top: 8px;
	}

	.customer_wrapper {
		margin-top: 80px;
		padding: 40px 16px;
	}

	.customer_heading {
		font-size: 20px;
		margin-bottom: 20px;
	}

	.customer_item {
		padding: 16px;
		font-size: 14px;
		margin-top: 20px;
	}

	.customer_text_title {
		font-size: 15px;
		margin: 12px 0;
	}

	.customer_item p {
		font-size: 13px;
		line-height: 1.6;
	}

	.customer_item .customer_detail {
		display: none;
	}

	.customer_item.active .customer_detail {
		display: block;
	}

	.customer_toggle {
		display: block;
		font-size: 13px;
		color: #ff8900;
		margin-top: 8px;
		text-align: right;
		cursor: pointer;
	}

	.question {
		width: 95%;
		margin-top: 30px;
	}

	.question_title {
		font-size: 18px;
		line-height: 1.3;
		margin-bottom: 16px;
	}

	.question_title span {
		font-size: 22px;
	}

	.accordion summary {
		font-size: 14px;
		padding: 0.6em 1em;
		border-radius: 20px;
	}

	.label {
		font-size: 24px;
	}

	.accordion p {
		font-size: 12px;
		line-height: 1.5;
		padding: 0.6em 1em 1em;
	}

	.btn2 {
		margin-top: 40px;
		margin-bottom: 40px;
	}
}

/* さらに小さい端末での微調整 (max-width: 600px) */
@media (max-width: 600px) {
	.fv_title {
		font-size: clamp(24px, 7vw, 32px);
	}

	.fv_previoustitle,
	.fv_text_subheading {
		font-size: clamp(14px, 3.6vw, 18px);
	}

	.fv_support,
	.fv_solution {
		width: 150px;
		height: 150px;
	}

	.fv_circle {
		gap: 8px;
	}
}

/* PC・タブレット(min-width: 768px) */
@media (min-width: 1024px) {
	.customer_toggle {
		display: none;
	}

	.about {
		width: 72.9%;
		margin: 0 auto;
	}

	.about_wrapper {
		overflow: visible !important;
	}
}


/* 20261009修正-han228 */
.officeit-hero__info {
	margin-block: 50px 0;
}

.btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 240px;
	max-width: 100%;
	height: 50px;
	margin-inline: auto;
	padding: 12px 24px;
	border-radius: 15px;
	font-size: 16px;
	font-weight: bold;
	color: #fff;
	background: linear-gradient(90deg,#79EAC0 0%,#17C180 100%);
	text-decoration: none;
}

.btn--consult {
	background: linear-gradient(90deg,#79EAC0 0%,#17C180 100%);
	transition: opacity 0.3s ease;
}

.btn--consult:hover {
	opacity: 0.8;
}

/* TABLET / SP */
@media screen and (max-width: 1024px) {
.btn {
	margin-bottom: 100px;
}
}


/* ========================================
OFFICE IT CAMPAIGN
C案：背景画像＋透過文字画像＋HTML
======================================== */

/* ========================================
PC
======================================== */

/* キャンペーン全体 */
.office-campaign {
width: calc(100% - 48px);
max-width: 1200px;
margin: 80px auto 30px;
}

/* 左右一体型のキャンペーン本体 */
.office-campaign__panel {
display: grid;
grid-template-columns: 37% minmax(0, 1fr);
column-gap: 0;
align-items: stretch;

width: 100%;
border: 4px solid #ff8900;
border-radius: 60px;
overflow: hidden;
background: #fff;
box-sizing: border-box;
}

/* お問い合わせボタン */
.office-campaign > .top-hero__cta {
display: flex;
justify-content: center;
margin-top: 30px;
}

/* ----------------------------------------
左：キャンペーンビジュアル
---------------------------------------- */

.office-campaign__visual {
display: flex;
min-width: 0;
min-height: 0;
align-self: stretch;
}

.office-campaign__visual-inner {
display: flex;
align-items: flex-start;
justify-content: center;

width: 100%;
min-width: 0;
min-height: 0;
padding: 16px;

background-color: #ff8900;
background-image: url("/assets/images/itsupport/banner-bg.webp");
background-position: center top;
background-repeat: no-repeat;
background-size: cover;

box-sizing: border-box;
}

/* 透過文字画像：上揃え・縦横比維持 */

.office-campaign__visual-text {
display: block;
width: 100%;
max-width: 100%;
height: auto;
object-fit: contain;
}

/* ----------------------------------------
右：テキストコンテンツ
---------------------------------------- */

.office-campaign__content {
display: flex;
flex-direction: column;
justify-content: center;
gap: 36px;

min-width: 0;
padding: 44px 5%;

border: none;
border-radius: 0;
background: #fff;
box-sizing: border-box;
}

.office-campaign__item {
display: grid;
grid-template-columns: 56px minmax(0, 1fr);
gap: 18px;
align-items: start;
}

.office-campaign__number {
color: #ff8900;
font-size: 44px;
font-weight: 800;
line-height: 1.2;

border-right: 2px solid #ff8900;
padding-right: 12px;
}

.office-campaign__title {
margin: 0 0 12px;
color: #ff8900;
font-size: 22px;
font-weight: 700;
line-height: 1.5;
}

.office-campaign__title span {
color: #e6333a;
font-size: 1.15em;
font-weight: 800;
}

.office-campaign__text {
margin: 0;
color: #222;
font-size: 16px;
line-height: 1.8;
}

/* ========================================
LAPTOP
1365px以下
======================================== */

@media screen and (max-width: 1365px) {

.office-campaign {
	grid-template-columns: 32% minmax(0, 1fr);
	width: calc(100% - 80px);
	border-radius: 40px;
}

.office-campaign__visual-inner {
	padding: 12px;
}

.office-campaign__content {
	padding: 36px 4%;
	gap: 28px;
}

.office-campaign__item {
	grid-template-columns: 52px minmax(0, 1fr);
	gap: 16px;
}

.office-campaign__number {
	font-size: 38px;
}

.office-campaign__title {
	font-size: 20px;
}

.office-campaign__text {
	font-size: 15px;
}
}

/* ========================================
SMALL LAPTOP
1200px以下
======================================== */

@media screen and (max-width: 1200px) {

.office-campaign {
	width: calc(100% - 64px);
}

.office-campaign__panel {
	grid-template-columns: 1fr;
	border-radius: 32px;
}

.office-campaign__visual-inner {
	width: 100%;
	padding: 30px 20px;
	background-position: center top;
}

.office-campaign__visual-text {
	width: 100%;
	max-width: 420px;
}

.office-campaign__content {
	padding: 36px 48px 48px;
	gap: 32px;
}

.office-campaign__title {
	font-size: 22px;
}

.office-campaign__text {
	font-size: 16px;
}
}

/* ========================================
TABLET
1024px以下
======================================== */

@media screen and (max-width: 1024px) {

.office-campaign {
	width: 94vw;
	border-radius: 28px;
}

.office-campaign__visual-inner {
	padding: 24px 20px;
}

.office-campaign__visual-text {
	max-width: 380px;
}

.office-campaign__content {
	padding: 32px 28px 40px;
	gap: 28px;
}

.office-campaign__item {
	grid-template-columns: 48px minmax(0, 1fr);
	gap: 14px;
}

.office-campaign__number {
	font-size: 32px;
}

.office-campaign__title {
	font-size: 20px;
}

.office-campaign__text {
	font-size: 15px;
}
}

/* ========================================
SMARTPHONE
767px以下
======================================== */

@media screen and (max-width: 767px) {

.office-campaign {
	width: 94vw;
}

.office-campaign__panel {
	border-radius: 16px;
}

.office-campaign__visual-inner {
	padding: 20px 16px;
}

.office-campaign__visual-text {
	width: 100%;
	max-width: 100%;
}

.office-campaign__content {
	padding: 28px 18px 32px;
	gap: 28px;
}

.office-campaign__item {
	grid-template-columns: 40px minmax(0, 1fr);
	gap: 12px;
}

.office-campaign__number {
	font-size: 28px;
	padding-right: 8px;
}

.office-campaign__title {
	margin-bottom: 10px;
	font-size: 18px;
	line-height: 1.5;
}

.office-campaign__text {
	font-size: 14px;
	line-height: 1.8;
	overflow-wrap: anywhere;
}
}
