@charset "utf-8";
:root {
	--c-primary: #ff3a3a;
	--c-light: #fafafa;
	--c-l-gray: #f0f0f0;
	--c-m-gray: #c6c6c6;
	--c-gray: #666;
	--c-bk: #000;
	--c-white: #fff;
	--c-text: #222;
	--c-bg: #fff;
	--font-base: "Noto Sans JP", sans-serif;
	--font-en: "Poppins", sans-serif;
	--transition-c: all ease 0.33s;
	--transition-img: all ease-in-out 0.4s;
}

/* --- reset --- */
*,
::before,
::after {
	box-sizing: border-box;
	border-width: 0;
	border-style: solid;
}
html {
	font-size: 16px;
	line-height: 1;
	tab-size: 4;
	color: var(--c-text);
	font-family: var(--font-base);
	font-feature-settings: normal;
	font-variation-settings: normal;
	letter-spacing: 0em;
	font-weight: 400;
	scroll-behavior: smooth;
	background-color: var(--c-bg);
}

body {
	margin: 0;
	line-height: inherit;
}

hr {
	height: 0;
	color: inherit;
	border-top-width: 1px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: inherit;
	font-weight: inherit;
}

a {
	color: inherit;
	text-decoration: inherit;
	user-select: none;
}
label {
	user-select: none;
}

b,
strong {
	font-weight: bolder;
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

table {
	text-indent: 0;
	border-color: inherit;
	border-collapse: collapse;
}

button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	font-weight: inherit;
	line-height: inherit;
	color: inherit;
	margin: 0;
	padding: 0;
}

button,
select {
	text-transform: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
	background-color: transparent;
	background-image: none;
}

:-moz-focusring {
	outline: auto;
}

:-moz-ui-invalid {
	box-shadow: none;
}

th,
td {
	text-align: left;
	font-weight: inherit;
}
blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
	margin: 0;
}

fieldset {
	margin: 0;
	padding: 0;
}

legend {
	padding: 0;
}

ol,
ul,
menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

textarea {
	resize: vertical;
}

input::-moz-placeholder,
textarea::-moz-placeholder {
	opacity: 1;
	color: var(--c-dark);
}

input::placeholder,
textarea::placeholder {
	opacity: 1;
	color: var(--c-dark);
}

button,
[role="button"] {
	cursor: pointer;
}

:disabled {
	cursor: default;
}

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
	display: block;
	vertical-align: middle;
}

img,
video {
	max-width: 100%;
	height: auto;
}
[x-cloak] {
	display: none !important;
}
.not-scroll {
	touch-action: none;
	overflow: hidden;
}
.no-scroll-bar::-webkit-scrollbar {
	display: none;
}
::-webkit-scrollbar {
	width: 0px;
	height: 0px;
}

::-webkit-scrollbar-thumb {
	background-color: rgba(197, 197, 197, 0.55);
	border-radius: 5px;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.3);
}

::-webkit-scrollbar-track {
	border-radius: 10px;
	box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1);
}

br.sp {
	display: none;
}
@media screen and (max-width: 768px) {
	br.pc {
		display: none;
	}
	br.sp {
		display: inline;
	}
}

/* ------------------------------------------------------------
common layout
---------------------------------------------------------------*/
.l-sec {
	width: 100%;
	height: auto;
	position: relative;
	overflow: hidden;
	z-index: 0;
	padding-inline: clamp(20px, 3.906vw, 30px);
}

.l-inner {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	position: relative;
	z-index: 10;
}

.l-col {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: flex-start;
	justify-content: flex-start;
}

main {
	width: 100%;
	overflow: hidden;
}

/* ------------------------------------------------------------
image box
---------------------------------------------------------------*/
.img-box {
	width: 100%;
	height: auto;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	position: relative;
}
.img-box > * {
	width: 100%;
	height: 100%;
}
.img-box img {
	width: 100%;
	height: 100%;
}
.img-box.--contain img {
	object-fit: contain;
}
.img-box.--cover img {
	object-fit: cover;
}

/* ------------------------------------------------------------
Font
---------------------------------------------------------------*/
.--en {
	font-family: var(--font-en);
}

/* ------------------------------------------------------------
title heading
---------------------------------------------------------------*/

.c-sec-head {
	gap: clamp(50px, 4.706vw, 80px);
	align-items: center;
}
.c-sec-head > p {
	text-align: center;
}

.c-h2 {
	width: max-content;
	display: flex;
	flex-flow: column;
	align-items: center;
	position: relative;
	margin-inline: auto;
}
.c-h2.c-h2__cases {
	padding-top: clamp(120px, 12.706vw, 216px);
}
.c-h2.c-h2__cases::after {
	content: "";
	position: absolute;
	background-image: url("../images/consulting/logo-ttl-bg.webp");
	background-repeat: no-repeat;
	background-size: contain;
	width: clamp(150px, 14.706vw, 250px);
	height: auto;
	display: block;
	aspect-ratio: 1 / 1;
	left: 0;
	right: 0;
	margin-inline: auto;
	top: 0;
}
.c-h2.c-h2__reason {
	padding-top: clamp(65px, 6.765vw, 115px);
}
.c-h2.c-h2__results {
	padding-top: clamp(55px, 7.059vw, 120px);
}
.c-h2.c-h2__advantage {
	padding-top: clamp(33px, 4.353vw, 74px);
}

.c-h2__main {
	width: 100%;
	text-align: center;
	font-weight: 600;
	font-family: var(--font-en);
	font-size: clamp(60px, 7.059vw, 120px);
	line-height: 0.7;
	letter-spacing: 0.04em;
	margin-bottom: clamp(20px, 2.353vw, 40px);
}
.c-h2__sub {
	width: 100%;
	text-align: center;
	font-weight: 600;
	font-family: var(--font-en);
	font-size: clamp(13px, 1.412vw, 24px);
	position: relative;
	letter-spacing: 0.3em;
}

@media screen and (max-width: 768px) {
	.c-sec-head > p {
		font-size: clamp(13px, 1.176vw, 20px);
	}

	.c-h2.c-h2__advantage .c-h2__main {
		font-size: clamp(50px, 7.059vw, 120px);
	}
	.c-h2__sub {
		letter-spacing: 0.1em;
	}
}

.c-h2__overttl {
	position: absolute;
	left: 0;
	right: 0;
	height: auto;
	z-index: 10;
	margin-inline: auto;
}
.c-h2.c-h2__cases .c-h2__overttl {
	top: 15%;
	width: clamp(300px, 35.294vw, 600px);
}
.c-h2.c-h2__reason .c-h2__overttl {
	top: 0;
	width: clamp(130px, 15.588vw, 265px);
}
.c-h2.c-h2__results .c-h2__overttl {
	top: 0;
	width: clamp(160px, 22.353vw, 380px);
	margin: 0;
	left: -10%;
}
.c-h2.c-h2__advantage .c-h2__overttl {
	top: 0;
	width: clamp(130px, 19vw, 323px);
	margin: 0;
	left: -14%;
}

.c-h2__sub-line {
	position: relative;
}
.c-h2__sub-line::after {
	content: "";
	position: absolute;
	background-image: url("../images/consulting/deco-line-red.webp");
	background-repeat: no-repeat;
	background-size: contain;
	width: 100%;
	height: auto;
	display: block;
	aspect-ratio: 109 / 10;
	left: 0;
	right: 0;
	margin-inline: auto;
	top: 100%;
}

.c-h3 {
	width: max-content;
	display: flex;
	flex-flow: column;
	align-items: flex-start;
	position: relative;
	gap: clamp(20px, 2.353vw, 40px);
	flex-shrink: 0;
}
.c-h3.c-h3__faq {
	align-items: center;
	text-align: center;
}

.c-h3__main {
	width: 100%;
	font-weight: 600;
	font-family: var(--font-en);
	font-size: clamp(40px, 4.706vw, 80px);
	line-height: 0.9;
	letter-spacing: 0.04em;
}
.c-h3__sub {
	font-weight: 600;
	font-family: var(--font-en);
	font-size: clamp(14px, 1.059vw, 18px);
	position: relative;
	letter-spacing: 0.1em;
	padding-left: 24px;
}
.c-h3.c-h3__faq .c-h3__sub {
	padding-left: 0;
}

.c-h3__sub::before {
	content: "";
	width: 10px;
	height: auto;
	aspect-ratio: 1 / 1;
	position: absolute;
	background-image: url("../images/consulting/bg-hex-red.svg");
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	left: 0;
	top: 3px;
}
.c-h3.c-h3__works .c-h3__sub::before {
	filter: brightness(255);
}
.c-h3.c-h3__faq .c-h3__sub::before {
	content: none;
}
/* ------------------------------------------------------------
Text
---------------------------------------------------------------*/

.c-txt {
	font-size: clamp(13px, 0.941vw, 16px);
	line-height: calc(32 / 16);
	letter-spacing: 0.1em;
}
.c-txt-lg {
	font-size: clamp(14px, 1.059vw, 18px);
	line-height: calc(32 / 16);
	letter-spacing: 0.2em;
}
.c-txt-xl {
	font-size: clamp(16px, 1.176vw, 20px);
	line-height: calc(36 / 20);
	letter-spacing: 0.2em;
}
.c-txt strong {
	font-weight: 600;
}
.c-txt.--wh {
	color: var(--c-white);
}
.c-txt.--primary {
	color: var(--c-primary);
}
.c-txt.--center {
	text-align: center;
}

.c-txt-line {
	position: relative;
}
.c-txt-line::after {
	content: "";
	position: absolute;
	background-image: url("../images/consulting/deco-line-red.webp");
	background-repeat: no-repeat;
	background-size: contain;
	width: 100%;
	height: auto;
	display: block;
	aspect-ratio: 109 / 10;
	left: 0;
	right: 0;
	margin-inline: auto;
	top: 100%;
}

@media screen and (max-width: 999px) {
	.c-txt {
		text-align: justify;
	}
}

/* ------------------------------------------------------------
Table
---------------------------------------------------------------*/

.c-tbl-scroll {
	width: 100%;
	position: relative;
}

.c-tbl-wrap {
	width: 100%;
	position: relative;
}

.c-tbl {
	width: 100%;
	border-collapse: collapse;
	border: none;
}
.c-tbl.c-tbl-layout-fixed {
	table-layout: fixed;
}

.c-tbl th,
.c-tbl td {
	padding: clamp(20px, 1.765vw, 30px);
	text-align: center;
	border-bottom: 1px dashed #aaaaaa;
	position: relative;
	font-size: clamp(12px, 1.059vw, 18px);
}

.c-tbl th:last-child:not(:first-child),
.c-tbl td:last-child:not(:first-child) {
	border-right: none;
}

.c-tbl tbody tr:last-child th,
.c-tbl tbody tr:last-child td {
	border-bottom: none;
}

.c-tbl tbody th[rowspan],
.c-tbl tbody td[rowspan] {
	border-bottom: none;
}

.is-fbb.is-dashed {
	border-bottom: 1px dashed #aaaaaa !important;
}
.is-fbr.is-dashed {
	border-right: 1px dashed #aaaaaa !important;
}
.is-fbr-solid {
	border-right: 1px solid #aaaaaa !important;
}

.c-tbl thead th {
	font-weight: 600;
	padding: clamp(30px, 2.353vw, 40px);
	position: relative;
	color: var(--c-white);
	border-bottom: none;
}

.c-tbl thead th.is-red {
	background: var(--c-primary);
	border-radius: 10px 10px 0 0;
}
.c-tbl thead th:not(.is-red)::before {
	content: "";
	display: block;
	width: 100%;
	height: 60%;
	min-height: clamp(40px, 4.706vw, 80px);
	background: var(--c-bk);
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin-inline: auto;
}
.c-tbl thead th:nth-of-type(1)::before {
	border-radius: 10px 0 0 0;
}
.c-tbl thead th:nth-of-type(3)::before {
	border-radius: 0 10px 0 0;
}

.c-tbl thead th:nth-of-type(3) > span {
	content: "";
	display: flex;
	width: 100%;
	height: 60%;
	min-height: clamp(40px, 4.706vw, 80px);
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin-inline: auto;
	z-index: 10;
	justify-content: center;
	align-items: center;
	text-align: center;
	font-size: clamp(14px, 1.059vw, 18px);
}

.th-logo {
	width: max-content;
	max-width: 60%;
	margin-inline: auto;
	aspect-ratio: 204 / 50;
}

.c-tbl tbody th {
	background: var(--c-light);
	text-align: left;
}

.is-red-td {
	width: 100%;
	height: 100%;
	position: absolute;
	inset: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	border-inline: clamp(2px, 0.235vw, 4px) solid var(--c-primary);
	color: var(--c-primary);
	font-weight: 600;
	font-size: clamp(14px, 1.176vw, 20px);
}
.c-tbl tbody tr:last-child td {
	border-bottom: clamp(2px, 0.235vw, 4px) solid var(--c-primary);
}
.c-tbl tbody tr:last-child th,
.c-tbl tbody tr:last-child td:nth-of-type(2) {
	border-bottom: 2px solid var(--c-bk);
}

.c-adv-ttl {
	width: 100%;
	display: flex;
	align-items: center;
	gap: clamp(15px, 1.176vw, 20px);
	position: relative;
	font-size: clamp(14px, 1.176vw, 20px);
	line-height: calc(36 / 20);
	letter-spacing: 0.12em;
	font-weight: 600;
}
.c-adv-ttl::before {
	content: "";
	width: clamp(20px, 2.647vw, 45px);
	height: auto;
	aspect-ratio: 1 / 1;
	position: relative;
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	left: 0;
	flex-shrink: 0;
}
.c-adv-ttl.c-adv-ttl--purpose::before {
	background-image: url("../images/consulting/icon-goal.webp");
}
.c-adv-ttl.c-adv-ttl--relation::before {
	background-image: url("../images/consulting/icon-bubble-chat.webp");
}
.c-adv-ttl.c-adv-ttl--viewpoint::before {
	background-image: url("../images/consulting/icon-magnifying-glass.webp");
}
.c-adv-ttl.c-adv-ttl--speed::before {
	background-image: url("../images/consulting/icon-rush.webp");
}
.c-adv-ttl.c-adv-ttl--result::before {
	background-image: url("../images/consulting/icon-paint.webp");
}

@media (max-width: 768px) {
	.c-tbl-scroll {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		padding-bottom: 10px;
	}
	.c-tbl {
		width: max-content;
		min-width: 100%;
	}
	.c-tbl-wrap {
		width: max-content;
		min-width: 100%;
	}
	.c-tbl th,
	.c-tbl td {
		white-space: nowrap;
	}
}

/* ------------------------------------------------------------
Badge
---------------------------------------------------------------*/

.c-badge {
	width: max-content;
	flex-shrink: 0;
	font-size: clamp(11px, 0.824vw, 14px);
	font-weight: 600;
	padding-block: 10px;
	padding-inline: 15px;
	letter-spacing: 0.08em;
}
.c-badge.--primary {
	background: var(--c-primary);
	color: var(--c-white);
}
.c-badge.--gray {
	background: var(--c-gray);
	color: var(--c-white);
}

/* ------------------------------------------------------------
header
---------------------------------------------------------------*/
header {
	width: 100%;
	position: absolute;
	top: clamp(20px, 3.529vw, 60px);
	left: 0;
	right: 0;
	z-index: 9999;
	margin-inline: auto;
	padding-inline: clamp(20px, 3.235vw, 55px);
}

header > h1 {
	width: 0;
	height: 0;
	overflow: hidden;
	opacity: 0;
	line-height: 0;
	position: absolute;
	top: 0;
	left: 0;
	pointer-events: none;
}

.header-logo {
	width: clamp(200px, 22.941vw, 390px);
	aspect-ratio: 203 / 50;
	transition: var(--transition-c);
}
@media (hover: hover) {
	.header-logo:hover {
		opacity: 0.6;
	}
}

/* ------------------------------------------------------------
footer
---------------------------------------------------------------*/
.footer {
	padding-inline: 0;
}
.footer .l-inner {
	max-width: none;
}
.footer-cont-wrapper {
	width: 100%;
	padding-inline: clamp(20px, 3.906vw, 30px);
	padding-block: clamp(40px, 4.706vw, 80px);
}

.footer-cont {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	flex-flow: column;
	align-items: flex-start;
	gap: 40px;
	position: relative;
}

.footer-cont::before {
	content: "";
	background-image: url("../images/consulting/logo-text-gray.svg");
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	width: clamp(200px, 23.529vw, 400px);
	height: auto;
	aspect-ratio: 407 / 100;
	display: block;
	position: absolute;
	z-index: 0;
	right: 0;
	bottom: 0;
}

.footer-cont > a {
	font-size: 32px;
	letter-spacing: 0.08em;
	line-height: 1;
	display: flex;
	align-items: center;
	gap: 24px;
	position: relative;
}

.footer-cont > a::after {
	content: "";
	background-image: url(../images/totaldesign/icon-arrow-right-wh.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	width: 21px;
	height: auto;
	aspect-ratio: 1 / 1;
	position: relative;
	top: 4px;
}

.footer-nav-area {
	width: 100%;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 20px;
	position: relative;
	z-index: 10;
}
.footer-nav-cont {
	max-width: 240px;
	width: 100%;
	flex-flow: column;
	display: flex;
	gap: clamp(20px, 2.353vw, 40px);
}
.fnc-item {
	width: 100%;
	display: flex;
	flex-flow: column;
	min-height: 163px;
	gap: 16px;
}
.fnc-item > a {
	width: 100%;
	font-size: clamp(18px, 1.412vw, 24px);
	font-weight: 600;
	color: var(--c-primary);
	line-height: 1;
	letter-spacing: 0.08em;
	white-space: nowrap;
	transition: var(--transition-c);
}

@media (hover: hover) {
	.fnc-item > a:hover {
		opacity: 0.6;
	}
}

.fnc-item > a:not(:first-of-type) {
	margin-top: 14px;
}

.fnc-links {
	display: flex;
	flex-flow: column;
	align-items: flex-start;
	gap: 15px;
}
ul.fnc-links > li {
	font-size: clamp(12px, 0.882vw, 15px);
}
ul.fnc-links > li a {
	transition: var(--transition-c);
}

@media (hover: hover) {
	ul.fnc-links > li a:hover {
		color: var(--c-primary);
	}
}

.footer-bottom {
	width: 100%;
	padding-block: clamp(12px, 1.412vw, 24px);
	padding-inline: clamp(20px, 3.906vw, 30px);
	background: var(--c-primary);
}
.footer-bottom-inner {
	width: 100%;
	display: flex;
	justify-content: space-between;
	max-width: 1200px;
	margin: 0 auto;
	align-items: center;
}

.footer-bottom__info {
	width: max-content;
	display: flex;
	align-items: center;
	gap: clamp(30px, 2.824vw, 48px);
}

.footer-copy {
	color: var(--c-white);
	line-height: 0.8;
	font-size: clamp(12px, 0.941vw, 16px);
}

.footer-logo {
	width: clamp(120px, 9.588vw, 163px);
	height: auto;
	aspect-ratio: 163 / 40;
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: var(--transition-c);
}

@media (hover: hover) {
	.footer-logo:hover {
		opacity: 0.6;
	}
}
.footer-logo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.footer-sns {
	width: auto;
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	align-items: center;
}
.footer-sns > a {
	width: clamp(23px, 2.353vw, 40px);
	height: auto;
	aspect-ratio: 1 / 1;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	transition: var(--transition-c);
}

@media (hover: hover) {
	.footer-sns > a:hover {
		opacity: 0.6;
	}
}

.footer-sns > a img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

@media screen and (max-width: 999px) {
	.footer-cont {
		gap: 32px;
	}

	.footer-cont::before {
		content: none;
	}

	.footer-cont > a {
		gap: 16px;
	}
	.footer-cont > a::after {
		width: 16px;
		top: 1px;
	}
	.footer-nav-area {
		gap: 32px;
		flex-flow: column;
	}
	.footer-nav-cont {
		max-width: none;
		flex-flow: unset;
		align-items: unset;
		justify-content: unset;
		gap: 20px;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}
	.fnc-item {
		min-height: 0;
		gap: 20px;
	}
	.fnc-item > a:not(:first-of-type) {
		margin-top: 0px;
		width: 100%;
	}
	.footer-nav-cont:last-of-type {
		grid-template-columns: repeat(1, 1fr);
	}
	.footer-nav-cont:last-of-type .fnc-item {
		align-items: unset;
		justify-content: unset;
		gap: 20px;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}
	.footer-nav-cont:last-of-type .fnc-item {
		align-items: unset;
		justify-content: unset;
		gap: 20px;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}
}

/* ------------------------------------------------------------
MV
---------------------------------------------------------------*/
.sec-mv {
	width: 100%;
	height: auto;
	aspect-ratio: 1920 / 1080;
	position: relative;
	z-index: 10;
}

.c-mv-contents {
	width: 100%;
	height: 100%;
	position: relative;
	z-index: 20;
}

.mv-bg-img {
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
}
.mv-bg-img picture {
	width: 100%;
	height: 100%;
}
.mv-bg-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.mv-bg-txt.--sp {
	display: none;
}

.mv-bg-txt {
	width: max-content;
	height: 100%;
	position: absolute;
	top: 0;
	left: -4px;
	z-index: 0;
	pointer-events: none;
}

.c-mv-txt {
	position: absolute;
	bottom: min(295px, 27.3%);
	left: 2.9%;
	gap: clamp(30px, 2.353vw, 40px);
	font-weight: 900;
	width: max-content;
	z-index: 20;
}
.c-mv-txt__sub {
	font-size: clamp(24px, 2.941vw, 50px);
	letter-spacing: 0;
	line-height: 1;
}
.c-mv-txt__main {
	font-size: clamp(36px, 3.854vw, 74px);
	letter-spacing: 0.05em;
	line-height: 1.2;
}

.c-mv-scroll {
	height: auto;
	position: absolute;
	bottom: -18.5%;
	left: clamp(30px, 3.646vw, 70px);
	overflow: hidden;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 10px;
	pointer-events: none;
}

.c-mv-scroll__txt {
	width: clamp(8px, 0.729vw, 14px);
	height: auto;
	position: relative;
	z-index: 10;
}

.c-mv-scroll__bar {
	position: relative;
	height: clamp(60px, 15.365vw, 295px);
}

.c-mv-scroll__bar::before {
	content: "";
	position: absolute;
	width: clamp(7px, 0.521vw, 10px);
	height: auto;
	aspect-ratio: 1 / 1;
	left: 50%;
	transform: translateX(-50%);
	border-radius: 50%;
	background: var(--c-bk);
	animation: circlemove 3s ease-in-out infinite, cirlemovehide 3s ease-out infinite;
}
.c-mv-scroll__bar::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 1px;
	height: clamp(60px, 15.365vw, 295px);
	background: var(--c-bk);
}

@keyframes circlemove {
	0% {
		bottom: 95%;
	}
	100% {
		bottom: 5%;
	}
}

@keyframes cirlemovehide {
	0% {
		opacity: 0;
	}
	50% {
		opacity: 1;
	}
	80% {
		opacity: 0.9;
	}
	100% {
		opacity: 0;
	}
}

@media screen and (max-width: 768px) {
	.sec-mv {
		aspect-ratio: 375 / 700;
	}
	.mv-bg-img {
		height: auto;
		aspect-ratio: 390 / 345;
		inset: unset;
		bottom: clamp(60px, 22.933vw, 86px);
		z-index: 10;
	}
	.c-mv-scroll {
		bottom: -30px;
		left: 50%;
		translate: -50% 0;
	}
	.c-mv-txt {
		bottom: auto;
		left: 0;
		right: 0;
		top: 19.3%;
		margin-inline: auto;
		gap: clamp(15px, 2.353vw, 40px);
		align-items: center;
	}
	.c-mv-txt__main {
		text-align: center;
	}

	.mv-bg-txt.--pc {
		display: none;
	}
	.mv-bg-txt.--sp {
		display: flex;
	}
}
@media screen and (max-width: 500px) {
	.c-mv-txt__sub {
		font-size: clamp(16px, 2.941vw, 50px);
	}
	.c-mv-txt__main {
		font-size: clamp(24px, 3.854vw, 74px);
		line-height: 1.4;
	}
}

/* ------------------------------------------------------------
WHO WE ARE
---------------------------------------------------------------*/
.sec-who {
	height: auto;
	aspect-ratio: 1700 / 1000;
	max-height: 1000px;
	min-height: 750px;
	background-image: url("../images/consulting/bg-red.webp");
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}
.sec-who .l-inner {
	height: 100%;
}
.sec-who::before,
.sec-who::after {
	font-family: "Questrial", sans-serif;
	position: absolute;
	width: max-content;
	text-align: center;
	left: 50%;
	transform: translateX(-50%);
	white-space: nowrap;
	color: transparent;
	-webkit-text-stroke: clamp(1px, 0.118vw, 2px) var(--c-white);
	text-stroke: clamp(1px, 0.118vw, 2px) var(--c-white);
	opacity: 0.5;
}
.sec-who::before {
	content: "WHO WE ARE";
	font-size: clamp(50px, 14.118vw, 240px);
	line-height: 0.7;
	top: 0;
	letter-spacing: 0.04em;
}
.sec-who::after {
	content: "ARK DESIGN";
	font-size: clamp(50px, 14.118vw, 240px);
	line-height: 0.6;
	bottom: 0;
	letter-spacing: 0.1em;
}
.l-who {
	width: 100%;
	height: 100%;
	align-items: center;
	display: flex;
	justify-content: center;
	gap: clamp(30px, 5.882vw, 100px);
	overflow: hidden;
	position: relative;
}
.c-who__head {
	width: max-content;
	flex-shrink: 0;
}
.c-who__ttl {
	width: 100%;
	font-size: clamp(18px, 1.882vw, 32px);
	line-height: 2;
	color: var(--c-white);
	font-weight: 700;
	letter-spacing: 0.4em;
	white-space: nowrap;
}
.c-who__ttl > span {
	padding-inline: clamp(10px, 1.176vw, 20px) 0;
}
.ttl-bg__wh {
	padding-inline: clamp(10px, 1.176vw, 20px);
	position: relative;
	padding-block: 5px;
	color: var(--c-primary);
}
.ttl-bg__wh > span {
	position: relative;
	z-index: 10;
	color: var(--c-primary);
}
.ttl-bg__wh::before {
	content: "";
	background: #fff;
	z-index: 0;
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.c-who__body {
	width: max-content;
	gap: clamp(25px, 3.412vw, 58px);
}
.c-who__subttl {
	width: 100%;
	font-size: clamp(16px, 1.412vw, 24px);
	line-height: 2;
	color: var(--c-white);
	font-weight: 700;
	letter-spacing: 0.2em;
	white-space: nowrap;
}
.c-who__txt {
	width: 100%;
	font-size: clamp(11px, 0.941vw, 16px);
	color: var(--c-white);
	line-height: calc(40 / 16);
	letter-spacing: 0.3em;
	text-align: justify;
}

@media screen and (min-width: 1200px) {
	.sec-who .l-inner {
		max-width: 1300px;
	}
}
@media screen and (max-width: 999px) {
	.sec-who {
		height: auto;
		aspect-ratio: auto;
		min-height: 0;
	}
	.sec-who .l-inner {
		height: auto;
	}
	.l-who {
		flex-flow: column;
		align-items: flex-start;
		max-width: 500px;
		margin-inline: auto;
		padding-block: clamp(80px, 7.059vw, 120px);
	}
	.c-who__body {
		width: 100%;
	}
	.c-who__subttl {
		white-space: wrap;
	}
}

/* ------------------------------------------------------------
Cases
---------------------------------------------------------------*/
.l-cases {
	padding-block: clamp(40px, 4.706vw, 80px) clamp(60px, 7.059vw, 120px);
	gap: clamp(50px, 5.882vw, 100px);
}
.c-cases-list {
	gap: clamp(50px, 5.882vw, 100px);
}
.c-case {
	gap: clamp(30px, 3.529vw, 60px);
}
.c-case__head {
	gap: 20px;
}
.c-case__num {
	font-size: clamp(18px, 1.412vw, 24px);
	font-weight: 500;
	color: var(--c-primary);
	letter-spacing: 0.08em;
	line-height: 1;
}
.c-case__request {
	width: 100%;
	display: grid;
	grid-template-columns: clamp(200px, 16.471vw, 280px) minmax(0, 1fr);
	align-items: center;
	border-block: 1px solid var(--c-l-gray);
	position: relative;
	padding-block: clamp(20px, 2vw, 34px);
}
.c-case__request::before,
.c-case__request::after {
	content: "";
	position: absolute;
	display: block;
	left: 0;
	right: 0;
	margin-inline: auto;
}
.c-case__request::before {
	width: 20px;
	height: 1px;
	bottom: 0px;
	background-color: var(--c-l-gray);
	rotate: -45deg;
	z-index: 20;
}
.c-case__request::after {
	background-color: var(--c-white);
	width: 30px;
	height: 5px;
	bottom: -2px;
	z-index: 10;
}

.c-case__request-title {
	width: 100%;
	height: 100%;
	border-right: 1px solid var(--c-l-gray);
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: clamp(16px, 1.176vw, 20px);
	font-weight: 600;
}
.c-case__request-title::after {
	content: "";
	width: 6px;
	height: auto;
	aspect-ratio: 1 / 1;
	position: absolute;
	background-image: url("../images/consulting/bg-hex-red.svg");
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	right: -3px;
}
.c-case__request-txt {
	width: 100%;
	padding-inline: clamp(20px, 4.118vw, 70px);
}

.c-case__content {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 40px;
	align-items: stretch;
	position: relative;
}
.c-case__content::before {
	content: "";
	width: clamp(20px, 1.471vw, 25px);
	height: auto;
	aspect-ratio: 1 / 1;
	position: absolute;
	background-image: url("../images/consulting/icon-2-chevron-red.webp");
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	top: 50%;
	left: 0;
	right: 0;
	margin-inline: auto;
	z-index: 0;
}

.c-case__item {
	gap: clamp(20px, 2.353vw, 40px);
	padding: clamp(20px, 2.353vw, 40px);
	position: relative;
	background: var(--c-light);
}
.c-case__item.c-case__item--after {
	background-image: url("../images/consulting/bg-stripe.webp");
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}
.c-case__label {
	content: "";
	width: clamp(70px, 5.294vw, 90px);
	height: auto;
	aspect-ratio: 90 / 98;
	position: absolute;
	background-image: url("../images/consulting/bg-hex-red.svg");
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	top: -20px;
	left: -20px;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	font-size: clamp(12px, 0.941vw, 16px);
	line-height: calc(24 / 16);
	font-weight: 600;
	color: var(--c-white);
	letter-spacing: 0.1em;
	z-index: 10;
}
.c-case__label.c-case__label--before {
	background-image: url("../images/consulting/bg-hex-bk.svg");
}
.c-case__label.c-case__label--after {
	background-image: url("../images/consulting/bg-hex-red.svg");
}

.c-case__img {
	aspect-ratio: 504 / 621;
	position: relative;
	z-index: 0;
}
.c-case__txt {
	width: 100%;
}

@media screen and (max-width: 999px) {
	.l-cases {
		max-width: 500px;
		margin-inline: auto;
	}
}
@media screen and (max-width: 768px) {
	.c-case__request {
		grid-template-columns: minmax(0, 1fr);
	}
	.c-case__request-txt {
		padding-top: clamp(30px, 4.118vw, 70px);
	}
	.c-case__request-title {
		height: auto;
		min-height: 60px;
		border-right: none;
		border-bottom: 1px solid var(--c-l-gray);
		position: relative;
		padding-bottom: clamp(20px, 2vw, 34px);
	}
	.c-case__request-title::after {
		right: 0;
		left: 0;
		margin-inline: auto;
		bottom: -3px;
	}
	.c-case__content {
		grid-template-columns: minmax(0, 1fr);
	}
	.c-case__label {
		left: -15px;
	}
	.c-case__content::before {
		content: none;
	}
	.c-case__item.c-case__item--before::before {
		content: "";
		width: clamp(20px, 1.471vw, 25px);
		height: auto;
		aspect-ratio: 1 / 1;
		position: absolute;
		background-image: url("../images/consulting/icon-2-chevron-red.webp");
		background-position: center;
		background-size: contain;
		background-repeat: no-repeat;
		top: calc(100% + 10px);
		rotate: 90deg;
		left: 0;
		right: 0;
		margin-inline: auto;
		z-index: 0;
	}
}

/* ------------------------------------------------------------
CTA
---------------------------------------------------------------*/
.sec-cta {
	aspect-ratio: 1700 / 500;
	max-height: 500px;
	min-height: 200px;
	background-image: url("../images/consulting/bg-contact.webp");
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	padding-inline: 0;
}
.c-cta {
	width: 100%;
	height: 100%;
	display: block;
	padding-inline: clamp(30px, 5.882vw, 100px);
	transition: var(--transition-img);
}
@media (hover: hover) {
	.c-cta:hover {
		opacity: 0.6;
	}
}
.c-cta__inner {
	height: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: clamp(30px, 3.529vw, 60px);
	color: var(--c-white);
}
.c-cta__txts {
	width: max-content;
	gap: clamp(20px, 2vw, 34px);
}
.c-cta__ttl {
	font-size: clamp(36px, 4.706vw, 80px);
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 0.7;
}
.c-cta__txt {
	font-size: clamp(11px, 1.176vw, 20px);
	line-height: 1.6;
	letter-spacing: 0.1em;
	font-weight: 600;
}

.c-rotate-circle {
	width: clamp(80px, 13.176vw, 224px);
	height: auto;
	aspect-ratio: 1 / 1;
	display: block;
	position: relative;
	overflow: hidden;
}

.c-rotate-circle img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	pointer-events: none;
}

.c-rotate-circle__arrow {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 1;
	width: clamp(20px, 3.059vw, 52px);
	height: auto;
	aspect-ratio: 52 / 38;
	margin-inline: auto;
	left: 0;
	right: 0;
	top: 50%;
	translate: 0 -50%;
}

.c-rotate-circle__txt {
	position: absolute;
	inset: 0;
	z-index: 2;
	animation: rotateCircle 15s linear infinite;
	transform-origin: center center;
}

@keyframes rotateCircle {
	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(360deg);
	}
}

@media screen and (max-width: 999px) {
	.sec-cta {
		aspect-ratio: auto;
		min-height: 0;
	}
	.c-cta {
		padding-block: clamp(60px, 7.059vw, 120px);
	}
}

/* ------------------------------------------------------------
Reason
---------------------------------------------------------------*/
.sec-reason {
	background: var(--c-light);
}
.sec-reason::before {
	content: "";
	width: 100%;
	height: auto;
	aspect-ratio: 1700 / 380;
	background-image: url("../images/consulting/bg-light-top.webp");
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin-inline: auto;
}
.sec-reason::after {
	content: "PROBLEM";
	font-family: "Questrial", sans-serif;
	position: absolute;
	width: max-content;
	text-align: center;
	left: 50%;
	transform: translateX(-50%);
	white-space: nowrap;
	font-size: clamp(50px, 14.118vw, 240px);
	line-height: 0.6;
	bottom: 0;
	letter-spacing: 0.1em;
	color: var(--c-white);
}

.l-reason {
	padding-block: clamp(40px, 4.706vw, 80px) clamp(60px, 7.059vw, 120px);
	gap: clamp(50px, 5.882vw, 100px);
}

.c-reason-contents {
	gap: clamp(40px, 4.706vw, 80px);
}
.c-reason-grid {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 40px;
	align-items: stretch;
	position: relative;
}

.c-reason-grid::before {
	content: "";
	width: clamp(20px, 1.471vw, 25px);
	height: auto;
	aspect-ratio: 1 / 1;
	position: absolute;
	background-image: url("../images/consulting/icon-2-chevron-red.webp");
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	top: 50%;
	left: 0;
	right: 0;
	margin-inline: auto;
	z-index: 0;
}

.c-reason-card {
	position: relative;
	background: var(--c-white);
}
.c-reason-card__inner {
	width: 100%;
	height: 100%;
	overflow: hidden;
	gap: clamp(15px, 1.765vw, 30px);
	align-items: center;
	position: relative;
	z-index: 0;
}
.c-reason-card__inner::before {
	content: "";
	width: 100%;
	height: auto;
	aspect-ratio: 570 / 198;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin-inline: auto;
	z-index: 0;
}
.c-reason-card__before .c-reason-card__inner::before {
	background-image: url("../images/consulting/bg-reason-bl.webp");
}
.c-reason-card__after .c-reason-card__inner::before {
	background-image: url("../images/consulting/bg-reason-red.webp");
}

.c-rc__head {
	position: relative;
	z-index: 10;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.c-rc__badge {
	position: absolute;
	top: clamp(-25px, -1.471vw, -15px);
	display: flex;
	justify-content: center;
	align-items: center;
	width: max-content;
	left: 0;
	right: 0;
	margin-inline: auto;
	color: var(--c-white);
	text-align: center;
	min-height: clamp(30px, 2.941vw, 50px);
	z-index: 10;
	border-radius: 9999px;
	padding-inline: clamp(15px, 1.765vw, 30px);
	line-height: 1;
	padding-block: clamp(8px, 0.882vw, 15px);
	font-size: clamp(12px, 1.059vw, 18px);
	font-weight: 600;
	letter-spacing: 0.05em;
}
.c-rc__badge.--black {
	background: var(--c-bk);
}
.c-rc__badge.--red {
	background: var(--c-primary);
}

.c-rc__badge::before {
	content: "";
	width: 20px;
	height: 2px;
	bottom: 0px;
	rotate: -60deg;
	z-index: 0;
	position: absolute;
	left: -10px;
	right: 0;
	bottom: -7px;
	margin-inline: auto;
}
.c-rc__badge.--black::before {
	background: var(--c-bk);
}
.c-rc__badge.--red::before {
	background: var(--c-primary);
}

.c-rc__head {
	position: relative;
	z-index: 10;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-top: clamp(15px, 1.471vw, 25px);
}
.c-rc__img {
	width: clamp(180px, 15.882vw, 270px);
	height: auto;
	aspect-ratio: 270 / 217;
}

.c-rc__body {
	padding-inline: clamp(20px, 2.941vw, 50px);
	padding-bottom: clamp(20px, 2.647vw, 45px);
	gap: clamp(20px, 2.353vw, 40px);
}

.c-round-list {
	width: min(470px, 100%);
	display: flex;
	flex-flow: column;
	align-items: flex-start;
	gap: 10px;
	margin-inline: auto;
}
.c-round-list > li {
	width: 100%;
	display: flex;
	align-items: center;
	min-height: 70px;
	border-radius: 9999px;
	border: 2px solid #f5f5f5;
	padding-inline: clamp(20px, 2.941vw, 50px);
	position: relative;
	font-size: clamp(14px, 1vw, 17px);
	font-weight: 600;
}
.c-round-list > li::before {
	content: "";
	width: 6px;
	height: auto;
	aspect-ratio: 1 / 1;
	position: absolute;
	background: var(--c-primary);
	border-radius: 999px;
	left: clamp(15px, 1.765vw, 30px);
}

.c-reason__bottom {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

.c-sec__bottom-txt {
	width: max-content;
	font-size: clamp(20px, 1.882vw, 32px);
	line-height: 3;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-align: center;
}
.c-box-txt {
	background: #fff;
	border: 2px solid var(--c-bk);
	padding-inline: clamp(15px, 1.353vw, 23px);
	padding-block: clamp(7px, 0.882vw, 13px);
	margin-inline: clamp(6px, 0.588vw, 10px);
	position: relative;
	text-align: center;
}
.c-box-txt.--underline::after {
	content: "";
	position: absolute;
	background-image: url("../images/consulting/deco-line-red.webp");
	background-repeat: no-repeat;
	background-size: contain;
	width: 100%;
	max-width: 365px;
	height: auto;
	display: block;
	aspect-ratio: 109 / 10;
	left: 0;
	right: 0;
	margin-inline: auto;
	bottom: -25%;
}

@media screen and (max-width: 999px) {
	.l-reason {
		max-width: 500px;
		margin-inline: auto;
	}
	.c-round-list > li {
		min-height: 50px;
		padding-inline: clamp(30px, 2.941vw, 50px);
		font-size: clamp(12px, 1vw, 17px);
	}
}
@media screen and (max-width: 768px) {
	.sec-reason::after {
		font-size: clamp(50px, 18vw, 240px);
	}
	.c-reason-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 60px;
	}
	.c-reason-grid::before {
		rotate: 90deg;
	}
	.c-box-txt.--underline::after {
		max-width: 200px;
	}
}

/* ------------------------------------------------------------
Consulting
---------------------------------------------------------------*/

.l-consulting {
	padding-block: clamp(60px, 7.059vw, 120px) clamp(70px, 8.235vw, 140px);
}
.c-consulting-head {
	width: 100%;
	display: flex;
	align-items: center;
	gap: clamp(30px, 5.882vw, 100px);
	margin-bottom: clamp(30px, 5.882vw, 100px);
}

.c-consulting-contents {
	gap: clamp(25px, 2.647vw, 45px);
	align-items: center;
	padding-bottom: clamp(30px, 4.118vw, 70px);
	border-bottom: 1px solid var(--c-l-gray);
	margin-bottom: clamp(25px, 2.941vw, 50px);
}

.c-consulting-grid {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(30px, 3.529vw, 60px);
	align-items: stretch;
	position: relative;
}

.c-consulting-card {
	gap: clamp(20px, 3.529vw, 60px);
	justify-content: space-between;
	padding-top: clamp(20px, 1.765vw, 30px);
	border-top: 1px solid var(--c-l-gray);
}
.c-cslt__head {
	gap: clamp(10px, 1.471vw, 25px);
}
.c-cslt__badge {
	font-size: clamp(14px, 1.059vw, 18px);
	color: var(--c-primary);
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1;
}
.c-cslt__ttl {
	font-size: clamp(16px, 1.647vw, 28px);
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.4;
}
.c-cslt__txt {
	color: var(--c-gray);
}
.c-cslt__img {
	width: 100%;
	aspect-ratio: 570 / 400;
	border-radius: 10px;
}

.c-consulting__bottom-txt {
	width: 100%;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: clamp(200px, 12.412vw, 211px);
	position: relative;
}
.c-consulting__bottom-txt::before {
	content: "";
	position: absolute;
	background-image: url("../images/consulting/logo-ttl-bg.webp");
	background-repeat: no-repeat;
	background-size: contain;
	width: clamp(200px, 12.412vw, 211px);
	height: auto;
	display: block;
	aspect-ratio: 1 / 1;
	left: 0;
	right: 0;
	margin-inline: auto;
	top: 50%;
	translate: 0 -50%;
	z-index: 0;
}
.c-consulting__bottom-txt > p {
	font-size: clamp(16px, 1.647vw, 28px);
	line-height: calc(46 / 28);
	font-weight: 600;
	position: relative;
	z-index: 10;
	letter-spacing: 0.08em;
}
.c-consulting__bottom-txt > p > strong {
	color: var(--c-primary);
	font-weight: 600;
}

.c-noai-contents {
	width: 100%;
	display: grid;
	grid-template-columns: minmax(0, 1fr) clamp(330px, 33.529vw, 570px);
	align-items: flex-start;
	gap: clamp(20px, 4.118vw, 70px);
	position: relative;
}

.c-noai-txts {
	gap: clamp(20px, 2.647vw, 45px);
}
.c-noai__head {
	gap: clamp(15px, 2.353vw, 40px);
}
.c-noai__ttl {
	font-size: clamp(16px, 1.647vw, 28px);
	line-height: calc(46 / 28);
	font-weight: 600;
	letter-spacing: 0.08em;
}
.c-noai__txt {
	color: var(--c-gray);
}

.c-noai__cards {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(15px, 1.176vw, 20px);
	align-items: stretch;
	position: relative;
}
.c-noai__card {
	background: var(--c-light);
	padding-block: clamp(15px, 1.176vw, 20px);
	padding-inline: clamp(15px, 1.765vw, 30px);
	border-radius: 10px;
	gap: clamp(15px, 1.176vw, 20px);
}
.c-noai__card--ttl {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}
.c-noai__card--ttl > h5 {
	font-size: clamp(14px, 1.059vw, 18px);
	color: var(--c-primary);
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1;
	flex-shrink: 0;
}
.c-noai__card--icon {
	width: clamp(32px, 2.941vw, 50px);
	aspect-ratio: 1 / 1;
	flex-shrink: 0;
}
.c-noai__card--txt {
	font-size: clamp(13px, 0.882vw, 15px);
	line-height: calc(28 / 15);
	letter-spacing: 0.1em;
}
.c-noai__img {
	width: 100%;
	aspect-ratio: 570 / 400;
	border-radius: 10px;
}

@media screen and (max-width: 999px) {
	.l-consulting {
		max-width: 500px;
		margin-inline: auto;
	}
}
@media screen and (max-width: 768px) {
	.sec-works::before {
		font-size: clamp(50px, 16vw, 240px);
	}
	.c-consulting-head {
		flex-flow: column;
		align-items: flex-start;
	}
	.c-consulting-grid {
		grid-template-columns: minmax(0, 1fr);
	}
	.c-noai-contents {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* ------------------------------------------------------------
results
---------------------------------------------------------------*/
.sec-results {
	background: var(--c-light);
}
.sec-results::before {
	content: "";
	width: 100%;
	height: auto;
	aspect-ratio: 1700 / 380;
	background-image: url("../images/consulting/bg-light-top.webp");
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin-inline: auto;
}
.sec-results::after {
	content: "";
	width: 100%;
	height: auto;
	aspect-ratio: 1700 / 380;
	background-image: url("../images/consulting/bg-light-bottom.webp");
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin-inline: auto;
}

.l-results {
	padding-block: clamp(30px, 3.765vw, 64px) clamp(60px, 7.059vw, 120px);
	gap: clamp(50px, 5.882vw, 100px);
}

.c-results-contents {
	gap: clamp(40px, 4.706vw, 80px);
	align-items: center;
}

.c-results-grid {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(40px, 5.882vw, 100px);
	align-items: flex-start;
	position: relative;
}
.c-results-group {
	gap: clamp(40px, 7.059vw, 120px);
}
.c-results-group:nth-of-type(1) {
	padding-top: clamp(40px, 4.706vw, 80px);
}

.c-result-item {
	gap: clamp(15px, 1.765vw, 30px);
	align-items: center;
	position: relative;
}
.c-result-item__img {
	aspect-ratio: 550 / 340;
	z-index: 0;
}
.c-result-item__ttl {
	position: absolute;
	color: var(--c-primary);
	line-height: 1;
	font-weight: 600;
	letter-spacing: 0.04em;
	font-size: clamp(35px, 2.824vw, 48px);
	top: clamp(-20px, -1.176vw, -18px);
	left: clamp(-20px, -1.176vw, -10px);
	z-index: 10;
}

.c-results__bottom {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

@media screen and (max-width: 999px) {
	.l-results {
		max-width: 500px;
		margin-inline: auto;
	}
}
@media screen and (max-width: 768px) {
	.sec-works::before {
		font-size: clamp(50px, 16.118vw, 240px);
	}
	.c-results-grid {
		grid-template-columns: minmax(0, 1fr);
	}
	.c-results-group:nth-of-type(1) {
		padding-top: 0;
	}
}

/* ------------------------------------------------------------
Works
---------------------------------------------------------------*/
.sec-works {
	background-image: url("../images/consulting/bg-red.webp");
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	padding-inline: 0;
}
.sec-works::before {
	content: "OUR WORKS";
	font-family: "Questrial", sans-serif;
	position: absolute;
	width: max-content;
	text-align: center;
	left: 50%;
	transform: translateX(-50%);
	white-space: nowrap;
	color: transparent;
	-webkit-text-stroke: clamp(1px, 0.118vw, 2px) var(--c-white);
	text-stroke: clamp(1px, 0.118vw, 2px) var(--c-white);
	opacity: 0.5;
	font-size: clamp(50px, 14.118vw, 240px);
	line-height: 0.7;
	top: 0;
	letter-spacing: 0.04em;
}

.l-works {
	width: 100%;
	height: 100%;
	align-items: center;
	display: flex;
	justify-content: center;
	gap: clamp(30px, 3.529vw, 60px);
	padding-block: clamp(100px, 12.941vw, 220px) clamp(80px, 8.824vw, 150px);
	overflow: hidden;
	position: relative;
}

.c-works-head {
	color: #fff;
	width: 100%;
	padding-inline: clamp(20px, 3.906vw, 30px);
}

.c-works-slide-area {
	width: 100%;
	position: relative;
}
.c-work-slider {
	width: 100%;
}

.slide-btns {
	position: absolute;
	bottom: calc(100% + clamp(30px, 3.529vw, 60px));
	right: 14.7%;
	width: auto;
	display: flex;
	align-items: center;
	gap: 15px;
	z-index: 10;
}

.btn-slide {
	width: 50px;
	height: auto;
	aspect-ratio: 1 / 1;
	position: relative;
	cursor: pointer;
	transition: var(--transition-c);
	border: 1px solid #fff;
	border-radius: 999px;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}
@media (hover: hover) {
	.btn-slide:hover {
		background: var(--c-bk);
		border: 1px solid var(--c-bk);
	}
}
.btn-slide::before {
	content: "";
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	width: 16px;
	height: auto;
	aspect-ratio: 1 / 1;
	display: block;
	flex-shrink: 0;
}
.btn-slide.--prev::before {
	background-image: url("../images/consulting/icon-chevron-right.svg");
	rotate: 180deg;
}
.btn-slide.--next::before {
	background-image: url("../images/consulting/icon-chevron-right.svg");
}

.c-work-slide-item {
	width: 100%;
	height: auto;
	aspect-ratio: 360 / 386;
	position: relative;
	overflow: hidden;
}
.c-work-card {
	width: 100%;
	height: 100%;
	background: #fff;
	position: relative;
	overflow: hidden;
	display: flex;
	flex-flow: column;
	align-items: center;
	justify-content: space-between;
	cursor: pointer;
}

.c-work-img-wrapper {
	width: 100%;
	height: auto;
	aspect-ratio: 360 / 270;
	position: relative;
	overflow: hidden;
	background: var(--c-light);
}

.c-work-img-wrapper > .c-badge {
	position: absolute;
	left: 0;
	z-index: 10;
	max-width: 80%;
	line-height: 1.2;
	bottom: 0;
}

.c-work-card__img {
	aspect-ratio: 360 / 270;
	position: relative;
	z-index: 0;
}
.c-work-card__img img {
	transition: var(--transition-c);
	transform-origin: center;
}
@media (hover: hover) {
	.c-work-card:hover .c-work-card__img img {
		transform: scale(1.05);
	}
}

.c-work-card__ttl {
	width: 100%;
	height: auto;
	display: flex;
	align-items: flex-start;
	padding: clamp(10px, 1.647vw, 28px);
	flex-shrink: 0;
	aspect-ratio: 360 / 114;
	position: relative;
	position: relative;
}
.c-work-card__ttl h3 {
	width: 100%;
	font-size: clamp(12px, 1.059vw, 18px);
	font-weight: 600;
	letter-spacing: 0.06em;
	line-height: calc(34 / 18);
	text-decoration: underline;
	text-underline-offset: 2px;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.c-work-card__zoom {
	width: clamp(36px, 2.706vw, 46px);
	height: auto;
	aspect-ratio: 1 / 1;
	background: #000;
	position: absolute;
	bottom: calc(100% - clamp(8px, 0.706vw, 12px));
	z-index: 10;
	right: clamp(8px, 0.882vw, 15px);
	border-radius: 9999px;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}
.c-work-card__zoom::before {
	content: "";
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	width: clamp(16px, 1.235vw, 21px);
	height: auto;
	aspect-ratio: 1 / 1;
	display: block;
	flex-shrink: 0;
	background-image: url("../images/consulting/icon-zoom-in.webp");
}

@media screen and (max-width: 600px) {
	.slide-btns {
		right: 0;
		left: 0;
		padding-inline: 8px;
		justify-content: space-between;
		width: 100%;
		bottom: auto;
		z-index: 10;
		top: 50%;
		transform: translateY(-50%);
	}
	.btn-slide {
		background: var(--c-bk);
		border: 1px solid var(--c-bk);
	}
}

.modal-area {
	position: fixed;
	top: 0px;
	left: 0px;
	z-index: 999999;
	display: flex;
	height: 100%;
	width: 100%;
	align-items: center;
	justify-content: center;
}

.modal-inner {
	position: absolute;
	left: 0px;
	right: 0px;
	top: 50%;
	z-index: 10;
	margin: 0 auto;
	display: flex;
	height: 100%;
	width: 100%;
	transform: translateY(-50%);
	align-items: center;
	justify-content: center;
}

.modal-body {
	position: relative;
	width: 70.78%;
	max-width: 991px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.modal-bg {
	position: absolute;
	top: 0px;
	left: 0px;
	z-index: 0;
	display: flex;
	height: 100%;
	width: 100%;
	align-items: center;
	justify-content: center;
	background-color: #000000;
	opacity: 0.9;
}

.modal-close {
	position: absolute;
	bottom: 20px;
	right: 30px;
	width: 39px;
	height: auto;
	aspect-ratio: 1 / 1;
	cursor: pointer;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	transition: var(--transition-base);
}
.modal-close:hover {
	opacity: 0.6;
}

.modal-contents {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-flow: column;
	gap: 30px;
}
.modal-img-wrapper {
	width: 100%;
	height: auto;
	aspect-ratio: 991 / 554;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}
.modal-img-wrapper > iframe {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.modal-img-wrapper > figure {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}
.modal-img-wrapper > figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.modal-work-info {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: flex-start;
	gap: 16px;
}

.modal-work-info > span {
	width: auto;
	background: var(--c-primary);
	color: var(--c-white);
	line-height: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding: 8px 12px;
	font-size: 14px;
}
.modal-work-info > p {
	width: 100%;
	font-size: 24px;
	font-weight: var(--fw-semibold);
	color: var(--c-white);
	line-height: 1.5;
}
.modal-work-info > p br {
	display: none;
}

@media screen and (max-width: 999px) {
	.modal-body {
		width: 90%;
	}
	.modal-close {
		top: -40px;
		right: 5px;
		width: 24px;
	}
	.modal-contents {
		gap: 20px;
	}
	.modal-work-info {
		gap: 12px;
	}

	.modal-work-info > span {
		font-size: 13px;
	}
	.modal-work-info > p {
		font-size: 18px;
	}
	.modal-work-info > p br {
		display: inline;
	}
}

/* ------------------------------------------------------------
Advantage
---------------------------------------------------------------*/
.l-advantage {
	padding-block: clamp(30px, 4.118vw, 70px) clamp(70px, 8.824vw, 150px);
	gap: clamp(60px, 5.294vw, 90px);
	align-items: center;
}
.c-advantage-contents {
	width: 100%;
	overflow: hidden;
}

/* ------------------------------------------------------------
service
---------------------------------------------------------------*/
.sec-service {
	background: var(--c-light);
}
.sec-service::before {
	content: "";
	width: 100%;
	height: auto;
	aspect-ratio: 1700 / 380;
	background-image: url("../images/consulting/bg-light-top.webp");
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin-inline: auto;
}
.sec-service::after {
	content: "";
	width: 100%;
	height: auto;
	aspect-ratio: 1700 / 380;
	background-image: url("../images/consulting/bg-light-bottom.webp");
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin-inline: auto;
}

.l-service {
	padding-block: clamp(60px, 7.059vw, 120px);
	gap: clamp(40px, 4.706vw, 80px);
	align-items: center;
}
.c-service-head {
	width: 100%;
	display: flex;
	align-items: center;
	gap: clamp(30px, 5.882vw, 100px);
}
.c-service-contents {
	align-items: center;
	gap: clamp(30px, 5.882vw, 100px);
}

.c-service-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: clamp(30px, 3.529vw, 60px);
}

.c-service-card {
	width: calc((100% - clamp(30px, 3.529vw, 60px) * 3) / 4);
	text-align: center;
	align-items: center;
	gap: clamp(20px, 1.765vw, 30px);
}

.c-service-card__img {
	aspect-ratio: 255 / 277;
}
.c-service-card__body {
	align-items: center;
	text-align: center;
	gap: clamp(20px, 1.765vw, 30px);
}
.c-service-card__ttl {
	font-size: clamp(14px, 1.059vw, 18px);
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0;
	white-space: nowrap;
}
.c-service-card__txt {
	letter-spacing: 0;
}

.c-service__bottom {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	flex-flow: column;
	gap: 30px;
}

.c-service-slide-area {
	display: none;
}

@media screen and (max-width: 999px) {
	.l-service {
		max-width: 500px;
		margin-inline: auto;
	}
}
@media (max-width: 880px) {
	.c-service-card {
		width: calc((100% - clamp(30px, 3.529vw, 60px)) / 2);
	}
}

@media (max-width: 768px) {
	.c-service-head {
		flex-flow: column;
		align-items: flex-start;
	}
}
@media (max-width: 430px) {
	.sec-service {
		padding-inline: 0;
	}
	.c-service-head {
		padding-inline: clamp(20px, 3.906vw, 30px);
	}
	.c-service-grid {
		display: none;
	}
	.c-service-slide-area {
		width: 100%;
		position: relative;
		display: block;
	}
	.c-service-slider {
		width: 100%;
	}
	.c-service-card {
		width: 100%;
	}
	.c-service__bottom {
		padding-inline: clamp(20px, 3.906vw, 30px);
	}
}

/* ------------------------------------------------------------
FAQ
---------------------------------------------------------------*/

.l-faq {
	padding-block: clamp(70px, 7.647vw, 130px) clamp(70px, 8.529vw, 145px);
	gap: clamp(30px, 3.529vw, 60px);
	align-items: center;
}

.c-faq-list {
	gap: clamp(25px, 3.118vw, 53px);
}
.c-faq-item {
	gap: clamp(15px, 1.765vw, 30px);
}
.c-faq-item__q {
	width: 100%;
	border: 4px solid #eee;
	border-radius: 10px;
	background: var(--c-white);
	min-height: clamp(60px, 5.882vw, 100px);
	display: flex;
	align-items: center;
	padding-block: clamp(20px, 2.353vw, 40px);
	padding-inline: clamp(60px, 6.824vw, 116px) clamp(20px, 2.353vw, 40px);
	position: relative;
	overflow: hidden;
}
.c-faq-item__q::before {
	content: "Q.";
	font-family: var(--font-en);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	width: clamp(24px, 2.647vw, 45px);
	height: auto;
	aspect-ratio: 45 / 40;
	display: block;
	position: absolute;
	left: clamp(20px, 2.529vw, 43px);
	top: clamp(20px, 2.235vw, 38px);
	color: var(--c-primary);
	font-size: clamp(24px, 2.824vw, 48px);
	font-weight: 500;
	line-height: 0.8;
}
.c-faq-item__q > span {
	font-size: clamp(14px, 1.235vw, 21px);
	font-weight: 600;
	line-height: calc(32 / 21);
	letter-spacing: 0.08em;
}

/* ------------------------------------------------------------
message
---------------------------------------------------------------*/
.sec-message {
	background: var(--c-primary);
}
.sec-message::before {
	content: "MESSAGE";
	font-family: "Questrial", sans-serif;
	position: absolute;
	width: max-content;
	text-align: center;
	left: 50%;
	transform: translateX(-50%);
	white-space: nowrap;
	color: transparent;
	-webkit-text-stroke: clamp(1px, 0.118vw, 2px) var(--c-white);
	text-stroke: clamp(1px, 0.118vw, 2px) var(--c-white);
	opacity: 0.5;
	font-size: clamp(50px, 14.118vw, 240px);
	line-height: 0.7;
	top: 0;
	letter-spacing: 0.04em;
}

.l-message {
	width: max-content;
	margin-inline: auto;
	display: grid;
	grid-template-columns: clamp(200px, 17.176vw, 292px) minmax(0, 1fr);
	align-items: center;
	gap: clamp(24px, 2.824vw, 48px);
	padding-block: clamp(100px, 11.176vw, 190px) clamp(70px, 7.647vw, 130px);
	position: relative;
}
.c-message__img {
	aspect-ratio: 292 / 322;
}
.c-message__body {
	gap: clamp(20px, 2.353vw, 40px);
}

.c-message__ttl {
	width: 100%;
	font-size: clamp(18px, 1.882vw, 32px);
	line-height: 2;
	color: var(--c-primary);
	font-weight: 700;
	letter-spacing: 0.18em;
	white-space: nowrap;
}
.c-message__ttl > span {
	padding-inline: clamp(10px, 1.176vw, 20px) 0;
}
.c-message__txt {
	line-height: calc(40 / 18);
	color: var(--c-white);
}

@media screen and (max-width: 999px) {
	.l-message {
		width: 100%;
		grid-template-columns: minmax(0, 1fr);
	}
	.c-message__img {
		width: min(260px, 50%);
		margin-inline: auto;
	}
	.c-message__body {
		width: 100%;
		margin-inline: auto;
		align-items: center;
	}
	.c-message__ttl {
		line-height: 2.4;
		text-align: center;
		font-size: clamp(14px, 1.882vw, 32px);
	}
}
@media screen and (max-width: 768px) {
	.sec-message::before {
		font-size: clamp(50px, 20vw, 240px);
	}
}
