@charset "utf-8";

/* ------------------------------------------------------------
Lower common
Extracted shared LP styles for standalone lower pages.
---------------------------------------------------------------*/

: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;
	--transition-base: var(--transition-c);
	--fw-semibold: 600;
}

/* --- 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;
	}
}

.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);
}

.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);
	}
}

.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-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;
	}
}

/* ------------------------------------------------------------
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;
	}
}

.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;
}
