/* --------------------------------------------------------------------------------------
	フォント、見出しなど
--------------------------------------------------------------------------------------- */

.large-title {
	font-size: 36px;
	font-weight: var(--Bold);
}

.large-title .sub,
.head-title .sub {
	display: block;
	font-size: 18px;
	margin-bottom: 8px;
}

.head-title {
	font-size: 28px;
	font-weight: var(--Bold);
}

.sub-title {
	font-size: 24px;
	font-weight: var(--Bold);
}

.icon-rectangle {
	background: url(../images/common/icon-rectangle.svg) no-repeat left center;
	font-size: 18px;
	font-weight: var(--Bold);
	min-height: 24px;
	padding-left: 36px;
}

.font-poppins { color: var(--font-poppins); }
.font-magenta { color: var(--color-magenta); }
.font-blue { color: var(--color-blue); }

@media (max-width: 1099px) {

	.large-title { font-size: 6.965vw; }
	.head-title { font-size: 5.97vw; }
	.sub-title { font-size: 4.478vw; line-height: 1.6; }

	.large-title .sub,
	.head-title .sub {
		font-size: 3.98vw;
		margin-bottom: 2.985vw;
	}

	.icon-rectangle {
		font-size: 3.98vw;
		padding-left: 8.333vw;
	}
}

/* --------------------------------------------------------------------------------------
	swiperのスライド関連
--------------------------------------------------------------------------------------- */

.banner-slider .swiper-slide { width: auto; }

.banner-slider .swiper-slide a { display: block; }

.banner-slider .swiper-slide a img {
	display: block;
	height: 112px;
	width: auto;
}

.career-navigator-slider .swiper-slide {
	background-color: #fff;
	box-shadow: 2px 2px 4px rgba(179, 179, 179, .2);
	display: flex;
	flex-direction: column;
	height: auto;
	max-width: 330px;
	overflow: hidden;
	padding: 20px;
	text-align: left;
	width: 100%;
}

.career-navigator-slider .swiper-slide .career-head {
	align-items: center;
	display: flex;
	gap: 18px;
}

.career-navigator-slider .swiper-slide .career-head .thumbnail {
	border-radius: 4px;
	height: 80px;
	overflow: hidden;
	width: 80px;
}

.career-navigator-slider .swiper-slide .career-head .thumbnail img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.career-navigator-slider .swiper-slide .career-head .career-profile dt {
	font-size: 18px;
	font-weight: var(--Bold);
}

.career-navigator-slider .swiper-slide .career-head .career-profile dd {
	font-size: 12px;
	font-weight: var(--Bold);
	margin-top: 6px;
}

.career-navigator-slider .swiper-slide .text,
.career-navigator-slider .swiper-slide .slide-text {
	font-size: 14px;
	line-height: 1.6;
}

.career-navigator-slider .swiper-slide .text {
	flex-grow: 1;
	margin-top: 16px;
}

.career-navigator-slider .swiper-slide .slide-text {
	display: block;
	height: 0;
	opacity: 0;
	overflow: hidden;
	transition: opacity 300ms ease-in-out;
}

.career-navigator-slider .swiper-slide .slide-text[open] {
	height: auto;
	opacity: 1;
}

.career-navigator-slider .swiper-slide .details-btn {
	background: url(../images/common/icon-more.svg) no-repeat right center;
	cursor: pointer;
	display: block;
	font-size: 12px;
	font-weight: var(--Bold);
	margin-left: auto;
	margin-top: 10px;
	padding-right: 19px;
	width: fit-content;
}

.career-navigator-slider .swiper-pagination { margin-top: 40px; }

.swiper-pagination {
	display: flex;
	gap: 10px;
	justify-content: center;
	position: relative;
}

.swiper-pagination-bullet {
	background-color: var(--color-border);
	height: 12px;
	opacity: 1;
	width: 12px;
}

.swiper-pagination-bullet-active { background-color: var(--color-blue); }

@media (max-width: 1099px) {

	.career-navigator-slider { margin-left: 4.975vw; }

	.career-navigator-slider .swiper-slide {
		max-width: 82.09vw;
		padding: 4.975vw;
	}

	.career-navigator-slider .swiper-slide .career-head { gap: 3.98vw; }

	.career-navigator-slider .swiper-slide .career-head .career-profile dt { font-size: 4.478vw; }

	.career-navigator-slider .swiper-slide .career-head .career-profile dd {
		font-size: 2.985vw;
		margin-top: 1.493vw;
	}

	.career-navigator-slider .swiper-slide .text { margin-top: 3.98vw; }

	.career-navigator-slider .swiper-slide .text,
	.career-navigator-slider .swiper-slide .slide-text { font-size: 3.483vw; }

	.career-navigator-slider .swiper-slide .career-head .thumbnail {
		border-radius: .995vw;
		height: 19.9vw;
		width: 19.9vw;
	}

	.career-navigator-slider .swiper-slide .details-btn {
		background-size: 3.483vw auto;
		font-size: 2.985vw;
		margin-top: 3.98vw;
		padding-right: 4.33vw;
	}

	.career-navigator-slider .swiper-pagination {
		gap: 2.488vw;
		margin-top: 5.97vw;
	}

	.swiper-pagination-bullet {
		height: 2.985vw;
		width: 2.985vw;
	}

	.banner-slider .swiper-slide a img { max-height: 21.144vw; }
}

/* --------------------------------------------------------------------------------------
	キービジュアル
--------------------------------------------------------------------------------------- */

.key-image {
	align-items: center;
	background: linear-gradient(180deg, #c6f5ff 0%, #00b4dc 85%);
	color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 360px;
	overflow: hidden;
	position: relative;
	z-index: 0;
}

.key-image address {
	bottom: 31%;
	position: absolute;
}

@media (max-width: 1099px) {

	.key-image { min-height: 59.701vw; }

	.key-image .large-title {
		position: relative;
		top: 5.333vw;
	}

	.key-image address {
		bottom: 9.95vw;
		font-size: 3.483vw;
	}

}

/* --------------------------------------------------------------------------------------
	青のグラデーションエリア
--------------------------------------------------------------------------------------- */

.gradation-section-blue {
	background: linear-gradient(180deg, #00b4dc 0%, #44b0f6 100%);
	color: #fff;
	overflow: hidden;
	position: relative;
	text-align: center;
	z-index: 0;
}

.key-image::before,
.key-image::after,
.gradation-section-blue::before,
.gradation-section-blue::after {
	background: url(../images/common/try-free-rectangle.png) no-repeat;
	content: '';
	display: block;
	height: 177px;
	position: absolute;
	width: 302px;
	z-index: -1;
}

.key-image::before,
.gradation-section-blue::before { left: 0; top: 0; }

.key-image::after,
.gradation-section-blue::after { bottom: 0; right: 0; transform: scale(-1,-1); }

@media (max-width: 1099px) {

	.key-image::before,
	.key-image::after,
	.gradation-section-blue::before,
	.gradation-section-blue::after {
		background-size: 100% auto;
		height: 30.03vw;
		width: 50.124vw;
	}

	.key-image::before,
	.gradation-section-blue::before {
		left: -19.667vw;
		top: -6.667vw;
	}

	.key-image::after,
	.gradation-section-blue::after {
		bottom: 0.333vw;
		right: -17.667vw;
	}
}


/* --------------------------------------------------------------------------------------
	アコーディオン
--------------------------------------------------------------------------------------- */

details { overflow: hidden; }

details summary {
	cursor: pointer;
	display: block;
	list-style: none;
	position: relative;
}

.accordion-with-title summary {
	cursor: default;
	list-style: none;
	pointer-events: none;
}

.accordion-with-title .accordion-menu,
.navigation-menu {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 16px;
}

.accordion-with-title .accordion-menu li,
.navigation-menu li {
	max-width: calc(33.6% - 10px);
	width: 100%;
}

.accordion-with-title .accordion-menu li a,
.navigation-menu li a {
	align-items: center;
	background-color: #fff;
	border-radius: var(--border-radius);
	box-shadow: 2px 2px 4px rgba(179, 179, 179, .2);
	color: var(--color-text);
	display: flex;
	font-size: 14px;
	font-weight: var(--Bold);
	height: 100%;
	padding: 14px 38px 14px 20px;
	position: relative;
}

.accordion-with-title .accordion-menu li a::after,
.accordion-plus .accordion-menu li a::after,
.navigation-menu li a::after {
	border-bottom: 2px solid var(--color-magenta);
	border-right: 2px solid var(--color-magenta);
	content: '';
	display: block;
	height: 8px;
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%) rotate(-45deg);
	transition: all .3s ease-in-out;
	width: 8px;
}

.accordion-plus summary {
	background: #fff url(../images/common/icon-plus.svg) no-repeat calc(100% - 20px) center;
	border-radius: var(--border-radius);
	font-size: 18px;
	font-weight: var(--Bold);
	padding: 16px 50px 16px 20px;
}

.accordion-plus.blue summary {
	background: var(--color-blue) url(../images/common/icon-plus_wht.svg) no-repeat calc(100% - 20px) center;
	color: #fff;
}

.accordion-plus[open] > summary {
	background-image: url(../images/common/icon-minus.svg);
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}

.accordion-plus.blue[open] > summary {
	background: var(--color-blue) url(../images/common/icon-minus_wht.svg) no-repeat calc(100% - 20px) center;
}

.accordion-plus .accordion-plus summary {
	background-position: right center;
	padding-left: 0;
	padding-right: 0;
}

.accordion-plus:nth-of-type(n+2) { margin-top: 6px; }

.accordion-plus .accordion-menu {
	background-color: #fff;
	border-top: 1px solid var(--color-border);
	padding: 8px 32px;
}

.accordion-plus .accordion-menu:has(.accordion-plus) > li:nth-of-type(n+2) { border-top: 1px solid var(--color-border); }

.accordion-plus .accordion-menu li a {
	color: var(--color-text);
	display: block;
	font-feature-settings: "palt";
	font-weight: var(--Bold);
	letter-spacing: 1px;
	padding: 12px 0;
	position: relative;
}

.accordion-plus .accordion-menu > li > a::after { right: 3px; }

.accordion-plus .accordion-menu > li:nth-of-type(n+2) > a { border-top: 1px solid var(--color-border); }

.accordion-plus .accordion-plus .accordion-menu { padding-right: 0; }

.accordion-plus .accordion-plus .accordion-menu .online-navi span::after { content: " "var(--area); }

.accordion-course {
	display: flex;
	flex-direction: column;
}

.accordion-course summary {
	background-color: #fff;
	border-bottom-left-radius: var(--border-radius);
	border-bottom-right-radius: var(--border-radius);
	border-top: 1px solid var(--color-border);
	font-weight: var(--Bold);
	line-height: 1;
	order: 2;
	padding: 16px 0;
	text-align: center;
}

.accordion-course summary span {
	background: url(../images/common/icon-plus.svg) no-repeat right center;
	display: inline-block;
	padding-right: 28px;
}

.accordion-course[open] summary span { background-image: url(../images/common/icon-minus.svg); }

.accordion-course summary span::before { content: '開く'; }
.accordion-course[open] summary span::before { content: '閉じる'; }

@media (any-hover: hover) {
	.accordion-with-title .accordion-menu li a:hover,
	.accordion-plus .accordion-menu li a:hover,
	.navigation-menu li a:hover { text-decoration: none; }

	.accordion-with-title .accordion-menu li a:hover::after,
	.accordion-plus .accordion-menu li a:hover::after,
	.navigation-menu li a:hover::after { right: 14px; }
}

details summary::-webkit-details-marker { display: none; }

.accordion-plus .accordion-inner {
	background-color: #fff;
	border-radius: 4px;
	font-size: 14px;
	margin-top: 4px;
	padding: 16px 26px;
}

.accordion-plus .accordion-inner p,
.accordion-plus .accordion-inner li { line-height: 1.7; }

.accordion-plus .accordion-inner .mt,
.accordion-plus .accordion-inner p:nth-of-type(n+2) { margin-top: 12px; }

.accordion-plus .accordion-inner .dotted {
	margin-left: 1em;
	text-indent: -1em;
}

.accordion-plus .accordion-inner p a,
.accordion-plus .accordion-inner li a,
.accordion-plus .accordion-inner small a { text-decoration: underline; }

.accordion-faq:first-of-type { margin-top: 42px; }
.accordion-faq:last-of-type { border-bottom: 1px solid var(--color-border); }

.accordion-faq summary {
	background: url(../images/common/icon-plus.svg) no-repeat right center;
	border-top: 1px solid var(--color-border);
	font-weight: var(--Bold);
	padding: 16px 24px 16px 28px;
	position: relative;
}

.accordion-faq[open] summary { background-image: url(../images/common/icon-minus.svg); }

.accordion-faq summary::before {
	color: var(--color-blue);
	content: 'Q.';
	left: 0;
	position: absolute;
}

.accordion-faq .accordion-inner {
	padding-bottom: 16px;
	padding-left: 28px;
	position: relative;
}

.accordion-faq .accordion-inner::before {
	content: 'A.';
	left: 0;
	position: absolute;
}

.accordion-faq .accordion-inner p { line-height: 1.6; }

.accordion-faq .accordion-inner p:nth-of-type(n+2) { margin-top: 24px; }

.accordion-inner .text-arrow-link {
	margin-top: 16px;
	text-align: right;
}

.accordion-band summary {
	background-color: var(--color-blue);
	border-radius: var(--border-radius);
	color: #fff;
	font-weight: var(--Bold);
	padding: 16px 24px 16px 28px;
	position: relative;
}

.accordion-band summary::after {
	background: url(../images/common/icon-plus.svg) no-repeat center center;
	content: '';
	display: block;
	filter: brightness(0) invert(1);
	height: 12px;
	position: absolute;
	right: 24px;
	top: 50%;
	transform: translateY(-50%);
	width: 12px;
}

.accordion-band[open] summary {
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}

.accordion-band[open] summary::after { background-image: url(../images/common/icon-minus.svg); }

.accordion-band {
	border-bottom-left-radius: var(--border-radius);
	border-bottom-right-radius: var(--border-radius);
	box-shadow: 2px 2px 4px 0 rgba(179, 179, 179, 0.20);
}

.accordion-band .accordion-inner {
	background-color: #fff;
	padding: 16px 26px;
}

.accordion-band .accordion-inner p:nth-of-type(n+2) { margin-top: 20px; }

@media (max-width: 1099px) {

	.accordion-with-title .icon-rectangle,
	.accordion-plus summary {
		align-items: center;
		background: #fff url(../images/common/icon-plus.svg) no-repeat calc(100% - 4.975vw) center;
		background-size: 2.985vw auto;
		border-radius: var(--border-radius);
		display: flex;
		font-size: 3.98vw;
		min-height: 12.935vw;
		padding: 2.985vw 12.975vw 2.985vw 4.975vw;
		pointer-events: inherit;
	}

	.accordion-plus summary.small { font-size: 3.483vw; }

	.accordion-with-title[open] .icon-rectangle {
		border-bottom-left-radius: 0;
		border-bottom-right-radius: 0;
	}

	.accordion-with-title .accordion-menu,
	.accordion-plus .accordion-menu {
		background-color: #fff;
		border-top: 1px solid var(--color-border);
		display: block;
		gap: 0;
		margin-top: 0;
		padding: 2.488vw 7.96vw;
	}

	.accordion-with-title .accordion-menu li { max-width: 100%; }
	.accordion-with-title .accordion-menu li:nth-of-type(n+2) { border-top: 1px solid var(--color-border); }

	.accordion-with-title .accordion-menu li a,
	.accordion-plus .accordion-menu li a{
		background-color: transparent;
		border-radius: 0;
		box-shadow: none;
		padding: 2.985vw 7.985vw 2.985vw 0;
	}

	.accordion-with-title .accordion-menu li a::after,
	.accordion-plus .accordion-menu li a::after {
		height: 6px;
		right: 0;
		width: 6px;
	}

	.accordion-plus .accordion-plus .accordion-menu { padding-left: 4.975vw; }

	.accordion-plus:nth-of-type(n+2) { margin-top: .995vw; }

	.accordion-course summary {
		font-size: 3.483vw;
		padding: 3.488vw 0;
	}

	.accordion-course summary span { padding-right: 4.333vw; }

	.accordion-faq:first-of-type { margin-top: 7.96vw; }

	.accordion-faq summary,
	.navigation-menu li a {
		font-size: 3.483vw;
		padding: 3.98vw 5.333vw;
	}

	.accordion-faq .accordion-inner {
		font-size: 3.483vw;
		padding-bottom: 3.98vw;
		padding-left: 5.333vw;
	}

	.accordion-inner .text-arrow-link { margin-top: 2.985vw; }

	.accordion-band summary { padding: 3.731vw 4.975vw; }

	.accordion-plus .accordion-inner,
	.accordion-band .accordion-inner { padding: 3.98vw 4.975vw; }

	.accordion-band .accordion-inner p:nth-of-type(n+2) { margin-top: 4.975vw; }

	.navigation-menu { gap: .995vw; }

	.navigation-menu li { max-width: 100%; }

}

/* --------------------------------------------------------------------------------------
	リスト
--------------------------------------------------------------------------------------- */

ul.dotted li {
	margin-left: 1em;
	position: relative;
	text-indent: -1em;
}

ul.dotted li:nth-of-type(n+2) { margin-top: 2px; }

@media (max-width: 1099px) {
	ul.dotted li:nth-of-type(n+2) { margin-top: 0.333vw; }
}

/* --------------------------------------------------------------------------------------
	〜から探す(タブ切り替え)
--------------------------------------------------------------------------------------- */

.tabs-wrap .tabs-menu {
	border-bottom: 4px solid var(--color-blue);
	display: flex;
	gap: 20px;
}

.tabs-wrap .tabs-menu button {
	align-items: center;
	appearance: none;
	background-color: var(--color-disabled);
	border: none;
	border-top-left-radius: var(--border-radius);
	border-top-right-radius: var(--border-radius);
	color: #fff;
	cursor: pointer;
	display: flex;
	font-size: 18px;
	font-weight: var(--Bold);
	justify-content: center;
	min-height: 56px;
	width: 100%;
}

.tabs-wrap .tabs-menu button[aria-selected="true"] { background-color: var(--color-blue); }

.tabs-wrap div[role="tabpanel"][hidden] { display: none; }

.tabs-wrap .large-title {
	margin-bottom: 48px;
	text-align: center;
}

.tabs-wrap .accordion-with-title,
.purpose-inner,
.purpose-inner .purpose-item { margin-top: 36px; }

.purpose-inner .purpose-list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 16px;
}

.purpose-inner .purpose-list .card-design.compact {
	color: var(--color-text);
	max-width: calc(50% - 10px);
	width: 100%;
}

.tabs-wrap .text-section {
	margin-top: 32px;
	text-align: center;
}

.tabs-wrap .text-section .text {
	line-height: 1.7;
	margin-top: 32px;
}

.tabs-wrap .text-section .arrow-link {
	display: inline-block;
	font-size: 12px;
	margin-top: 32px;
	position: relative;
}

.tabs-wrap .text-section .arrow-link::before {
	color: var(--color-blue);
	content: '▶';
	left: -1.4em;
	position: absolute;
}

.tabs-wrap .text-section .arrow-link a { text-decoration: underline; }

@media (max-width: 1099px) {

	.tabs-wrap { margin-top: 11.94vw; }

	.tabs-wrap .large-title { margin-bottom: 7.96vw; }

	.tabs-wrap .tabs-menu {
		border-width: 0.995vw;
		gap: 0;
	}

	.tabs-wrap .tabs-menu button {
		font-size: 3.98vw;
		min-height: 13.93vw;
	}

	.tabs-wrap .tabs-menu:has(button:nth-of-type(3)) button { font-size: 3.483vw; }

	.tabs-wrap .accordion-with-title,
	.purpose-inner { margin-top: .995vw; }

	.tabs-wrap .accordion-with-title:first-of-type { margin-top: 3.98vw; }

	.purpose-inner .purpose-item { margin-top: 6.98vw; }

	.purpose-inner .purpose-list {
		flex-direction: column;
		gap: 1.99vw;
		margin-top: 5.97vw;
	}

	.purpose-inner .purpose-list .card-design.compact {
		max-width: 100%;
		width: 100%;
	}

	.tabs-wrap .text-section { margin-top: 5.97vw; }

	.tabs-wrap .text-section .text {
		font-size: 3.483vw;
		margin-top: 5.97vw;
	}

	.tabs-wrap .text-section .arrow-link {
		font-size: 2.985vw;
		margin-top: 5.97vw;
	}

}

/* --------------------------------------------------------------------------------------
	アンカーリンク
--------------------------------------------------------------------------------------- */

.anchor-navi {
	display: flex;
	gap: 10px;
	margin-top: 48px;
}

.anchor-navi li { width: 100%; }

.anchor-navi li a {
	background-color: #fff;
	border-radius: var(--border-radius);
	box-shadow: 2px 2px 4px rgba(179, 179, 179, .2);
	color: var(--color-text);
	display: flex;
	flex-direction: column;
	font-size: 14px;
	font-weight: var(--Bold);
	height: 100%;
	justify-content: center;
	min-height: 63px;
	padding: 10px 38px 10px 20px;
	position: relative;
	transition: all .3s ease-in-out;
}

.anchor-navi li a::after {
	border-bottom: 2px solid var(--color-magenta);
	border-right: 2px solid var(--color-magenta);
	content: '';
	display: block;
	height: 8px;
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	transition: all .3s ease-in-out;
	width: 8px;
}

@media (any-hover: hover) {

	.anchor-navi li a:hover {
		background-color: var(--color-magenta);
		color: #fff;
		text-decoration: none;
	}

	.anchor-navi li a:hover::after { filter: var(--filter-white); }
}

@media (max-width: 1099px) {

	.course-detail-wrap {
		padding-left: 4.975vw;
		padding-right: 4.975vw;
	}

	.anchor-navi {
		flex-wrap: wrap;
		gap: .995vw 0;
		justify-content: space-between;
		margin-top: 8.955vw;
	}

	.anchor-navi li { max-width: 43.376vw; }

	.anchor-navi li a {
		align-items: center;
		display: flex;
		font-size: 3.483vw;
		height: 100%;
		justify-content: center;
		min-height: 14.428vw;
		padding: 0 8.209vw 0 4.478vw;
		text-align: center;
	}
}

@media (max-width: 768px) {

	.anchor-navi li { max-width: 44.376vw; }
}

/* --------------------------------------------------------------------------------------
	タグリスト
--------------------------------------------------------------------------------------- */

.tags-list {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.tags-list.small { font-size: 14px; }

.tags-list li {
	background-color: #fff;
	border: 1px solid var(--color-blue);
	border-radius: 4px;
	color: var(--color-blue);
	font-weight: var(--Bold);
	line-height: 1;
	padding: 8px 10px;
}

@media (max-width: 1099px) {

	.tags-list { gap: 1.99vw; }

	.tags-list.small { font-size: 2.985vw; }

	.tags-list li {
		font-size: 2.985vw;
		padding: 1.633vw 1.333vw;
	}

}

/* --------------------------------------------------------------------------------------
	モーダル
--------------------------------------------------------------------------------------- */

.modal-overlay {
	background-color: rgba(0, 0, 0, .8);
	height: 100%;
	left: 0;
	opacity: 0;
	position: fixed;
	top: 0;
	transition: all .5s ease-in-out;
	visibility: hidden;
	width: 100%;
	/* z-index: -1; */
}

.modal-overlay.open,
.modal-main.open {
	opacity: 1;
	visibility: inherit;
}

.modal-overlay.z-index,
.modal-main.z-index { z-index: 1111; }

.modal-main {
	background-color: #fff;
	border-radius: var(--border-radius);
	left: 50%;
	max-width: 900px;
	min-height: 50svh;
	opacity: 0;
	position: absolute;
	top: 8.333vh;
	transform: translateX(-50%);
	transition: all .5s ease-in-out;
	visibility: hidden;
	width: 100%;
}

.modal-main .modal-close {
	align-items: center;
	background-color: var(--color-blue);
	border-radius: 100vw;
	color: #fff;
	cursor: pointer;
	display: flex;
	font-size: 34px;
	font-weight: 900;
	height: 36px;
	justify-content: center;
	position: absolute;
	right: -14px;
	top: -14px;
	width: 36px;
}

.modal-content {
	padding: 32px;
	text-align: left;
}

.modal-main .modal-voice .voice-head {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.modal-main .modal-voice .voice-head .thumbnail {
	border-radius: var(--border-radius);
	overflow: hidden;
	width: 40%;
}

.modal-main .modal-voice .voice-head .voice-profile { width: 55%; }

.modal-main .modal-voice .voice-head .voice-profile dt {
	font-size: 24px;
	font-weight: var(--Bold);
}

.modal-main .modal-voice .voice-head .voice-profile dd {
	font-size: 18px;
	font-weight: var(--Bold);
	margin-top: 2px;
}

.modal-main .modal-voice h3 {
	color: var(--color-blue);
	font-size: 28px;
	font-weight: var(--Bold);
	margin-top: 32px;
}

.modal-main .modal-voice .profile-content {
	display: flex;
	flex-direction: column;
	margin-top: 8px;
}

.modal-main .modal-voice .profile-content dt {
	border-bottom: 1px solid var(--color-border);
	font-weight: var(--Bold);
	padding: 16px 24px 16px 28px;
	position: relative;
}

.modal-main .modal-voice .profile-content dt::before {
	color: var(--color-blue);
	content: 'Q.';
	left: 0;
	position: absolute;
}

.modal-main .modal-voice .profile-content dd {
	margin-top: 16px;
	padding-bottom: 16px;
	padding-left: 28px;
	position: relative;
}

.modal-main .modal-voice .profile-content dd::before {
	content: 'A.';
	left: 0;
	position: absolute;
}

.modal-main .modal-voice .modal-btn { display: none; }

@media (max-width: 1099px) {

	.modal-main { width: calc(100vw - 12.438vw); }

	.modal-content { padding: 4.975vw; }

	.modal-main .modal-close { font-size: 4.975vw; }

	.modal-main .modal-voice .voice-head { display: block; }

	.modal-main .modal-voice .voice-head .thumbnail { width: auto; }

	.modal-main .modal-voice .voice-head .voice-profile {
		margin-top: 5.97vw;
		width: auto;
	}

	.modal-main .modal-voice .voice-head .voice-profile dt { font-size: 4.478vw; }

	.modal-main .modal-voice .voice-head .voice-profile dd { font-size: 3.483vw; }

	.modal-main .modal-voice h3 {
		color: var(--color-blue);
		font-size: 4.478vw;
		font-weight: var(--Bold);
		margin-top: 5.333vw;
	}

	.modal-main .modal-voice .profile-content dt {
		font-size: 3.483vw;
		padding: 1.98vw 5.333vw;
	}

	.modal-main .modal-voice .profile-content dd {
		font-size: 3.483vw;
		margin-top: 1.98vw;
		padding-bottom: 3.98vw;
		padding-left: 5.333vw;
	}
}