@charset "UTF-8";

/* footer contents
----------------------------------------------- */
.footer {
	position: relative;
	margin-left: 150px;
	color: #fff;
	background-color: #121212;
	z-index: 111;
}

.footer a {
	display: inline-block;
	position: relative;
	padding: 0 0 3px 0;
}

.footer_inner {
	padding: 100px 0 0 0;
}

.footer_inner + .footer_inner {
	padding: 50px 0 0 0;
	border-top: 1px solid #363636;
}

.footer_inner + .footer_inner .list_box:nth-child(10) .list_label {
	padding: 7px 0;
	margin-bottom: 0;
}

.sitemap_area {
	padding: 0 9%;
}

.footer_ttl {
	font-size: 1.75em;
	font-weight: 700;
	margin-bottom: 30px;
}

.list_box {
	display: inline-block;
	width: 20%;
	margin: 0 5% 50px 0;
	vertical-align: top;
}

.list_box-side {
	margin-bottom: 50px;
}

.list_box:nth-child(4n) {
	margin-right: 0;
}

.list_label {
	margin-bottom: 11px;
	font-size: 1.25em;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: 0.1em;
}

.list_label a {
	color: #fff;
}

.list_inner-side,
.list_inner-medical {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}

.list_inner-guide li + li {
	margin-top: 9px;
}

.list_inner-vertical li,
.list_inner-side li {
	position: relative;
	padding-bottom: 12px;
}

.list_inner-side li,
.list_inner-medical li {
	width: 20%;
	margin-right: 5%;
}

.list_inner-vertical li .footer_line::before,
.list_inner-side li .footer_line::before {
	content: "-";
	position: absolute;
	top: 2px;
	text-indent: 0;
}

.list_inner-vertical a,
.list_inner-side a {
	padding: 0 0 3px 10px;
	font-size: 1.25rem;
	font-weight: 300;
	line-height: 1.2;
	color: #9b9b9b;
}

.list_inner-guide a,
.list_inner-medical a {
	color: #fff;
	font-size: 1.25em;
	font-weight: 600;
	line-height: 1.2;
	padding-left: 0;
}

.sitemap_list {
	margin: 24px 0 0;
}

.sitemap_list:first-child {
	display: none;
}

.footer a::after {
	display: block;
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	background-color: #fff;
	transform: scaleX(0);
}

.siteguide {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	margin: 0 0 30px;
}

.siteguide a {
	font-size: 1.2em;
	font-weight: 700;
	color: #fff;
	text-decoration: none;
}

.siteguide_contact {
	justify-content: flex-end;
}

.siteguide_contact a {
	margin: 0 50px 0 0;
}

.siteguide_contact a::before {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: -25px;
	margin: -9px 0 0;
	width: 1px;
	height: 18px;
	background-color: #fff;
}

.fotter_logo-area {
	border-top: 1px solid #363636;
	padding: 37px 0 30px;
	text-align: center;
}

.fotter_logo {
	margin: 0 auto 16px;
}

.fotter_logo .logo_img {
	display: inline-block;
	vertical-align: top;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.siteguide_copyright p {
	font-family: "futura";
	font-size: 1.2em;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: #363636;
}

/* PC Screen
----------------------------------------------- */
@media screen and (min-width: 901px) {
	.footer_inner a:hover {
		opacity: 1;
	}

	.fotter_inner a,
	.footer_inner a::after {
		transform-origin: right;
		transition-property: opacity, transform;
		transition-duration: 0.2s;
		transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
	}

	.footer_inner a:hover::after {
		transform: scaleX(1);
		transform-origin: left;
		transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
	}
}

/* mobile Screen
----------------------------------------------- */
@media only screen and (max-width: 900px) {
	.footer {
		margin-left: 0px;
	}

	.footer a::after {
		display: none;
	}
}

@media only screen and (max-width: 750px) {
	.sitemap_nav,
	.footer_inner + .footer_inner .sitemap_nav {
		padding: 0 13px 43px 17px;
	}

	.list_box,
	.list_box-side {
		display: block;
		width: auto;
		margin: 0 0 25px;
	}

	.list_box-side,
	.list_box + .list_box {
		margin-top: 15px;
	}

	.list_label {
		font-size: 12px;
		font-size: 1.3em;
		letter-spacing: 0.1em;
		margin-bottom: 0;
	}

	.sp_tgl-btn {
		position: relative;
		cursor: pointer;
	}

	.sp_tgl-box {
		display: none;
	}

	.list_label::before {
		content: "";
		position: absolute;
		top: 1px;
		right: 5px;
		height: 12px;
		width: 2px;
		background-color: #fff;
	}

	.list_label::after {
		content: "";
		position: absolute;
		top: 6px;
		right: 0;
		height: 2px;
		width: 12px;
		background-color: #fff;
	}

	.list_label.on::before {
		display: none;
	}

	.list_inner-vertical a,
	.list_inner-side a {
		font-size: 1.3rem;
		line-height: 1.5;
	}

	.list_inner-vertical,
	.list_inner-side {
		padding: 15px 0 0 10px;
	}

	.list_inner-side {
		display: block;
	}

	.list_inner-side li {
		width: 100%;
	}

	.list_inner-vertical li a::before,
	.list_inner-side li a::before {
		top: 8px;
	}

	.list_inner-medical li {
		width: 100%;
		margin-right: 5%;
	}

	.list_inner-medical li + li {
		margin-top: 15px;
	}

	.list_inner-guide li + li {
		margin-top: 20px;
	}

	.list_inner-vertical li .footer_line::before,
	.list_inner-side li .footer_line::before {
		top: 4px;
	}
}

/* RECRUIT BUTTON
----------------------------------------------- */
body.has-floating-nav-open .recruit-floating {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition:
		opacity 0.3s ease,
		visibility 0s linear 0.3s;
}

.recruit-floating {
	position: fixed;
	right: 40px;
	bottom: 120px;
	width: 200px;
	height: 200px;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 9999;
	opacity: 1;
	visibility: visible;
	transition:
		opacity 0.3s ease,
		visibility 0s linear;
}

.recruit-floating:hover .circle-wrap {
	transform: translateY(-6px) scale(1.03);
}

.recruit-floating:hover .circle-text {
	animation-duration: 8s;
}

.recruit-floating:hover .recruit-circle-btn {
	transform: translateY(-6px) scale(1.03);
	box-shadow: 0 24px 45px rgba(108, 99, 255, 0.38);
}

.circle-wrap {
	position: absolute;
	inset: 0;
	transition: transform 0.3s ease;
}

.circle-text {
	width: 100%;
	height: 100%;
	animation: rotateText 20s linear infinite;
}

.circle-text svg {
	width: 100%;
	height: 100%;
}

.circle-text text {
	fill: #1a3061;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 3px;
}

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

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

.recruit-circle-btn {
	position: relative;
	z-index: 2;
	width: 140px;
	height: 140px;
	border-radius: 50%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	color: #fff;
	background: linear-gradient(135deg, #9381ab 0%, #1a3061 100%);
	box-shadow: 0 18px 35px rgba(108, 99, 255, 0.28);
	transition: all 0.3s ease;
}

.recruit-circle-btn .icon {
	font-size: 0px;
}

.recruit-circle-btn .sub {
	margin: 20px 0 0;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1;
}

.recruit-circle-btn .main {
	margin: 8px 0 0;
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
}

.arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 8px 0 0;
}

.arrow svg {
	width: 36px;
	height: 36px;
}

@media (max-width: 768px) {
	.recruit-floating {
		right: 16px;
		bottom: 50px;
		width: 150px;
		height: 150px;
	}

	.recruit-circle-btn {
		width: 105px;
		height: 105px;
	}

	.circle-text text {
		font-size: 16px;
		letter-spacing: 2px;
	}

	.recruit-circle-btn .sub {
		margin-top: 12px;
		font-size: 8px;
	}

	.recruit-circle-btn .main {
		margin-top: 6px;
		font-size: 13px;
	}

	.arrow {
		margin-top: 6px;
	}

	.arrow svg {
		width: 28px;
		height: 28px;
	}
}

/* /////////////////////////////////////////////////////////
// NEW
///////////////////////////////////////////////////////// */

/* ========================================
   Floating Navigation
======================================== */
body.has-floating-nav-open {
	overflow: hidden;
}

.floating-nav {
	--nav-red: #b0143a;
	--nav-red2: #cb1944;
	--nav-dark: #961030;

	--nav-radius: 5px;

	--button-width: 250px;
	--button-half-width: 125px;

	--button-height: 52px;
	--button-half-height: 26px;

	--nav-height: 440px;

	position: fixed;
	inset: 0;
	z-index: 1000;
	pointer-events: none;
}

/* SVG gradient definitions */

.floating-nav__svg-defs {
	position: absolute;
	width: 0;
	height: 0;
	overflow: hidden;
	pointer-events: none;
}

/* ========================================
   Overlay
======================================== */

.floating-nav__overlay {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	padding: 0;
	border: 0;
	background-color: rgb(255 255 255 / 5%);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	cursor: pointer;
	transition:
		opacity 0.4s ease,
		visibility 0.4s ease;
}

.floating-nav.is-open .floating-nav__overlay {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

/* ========================================
   Navigation panel
======================================== */

.floating-nav__panel {
	position: absolute;
	right: 10px;
	bottom: 10px;
	left: 10px;
	height: var(--nav-height);
	overflow: hidden;
	border-radius: var(--nav-radius);
	background-color: var(--nav-dark);
	pointer-events: auto;

	clip-path: inset(
		calc(100% - var(--button-height)) calc(50% - var(--button-half-width)) 0
			calc(50% - var(--button-half-width)) round var(--nav-radius)
	);

	transition: clip-path 0.4s cubic-bezier(0.77, 0, 0.175, 1);
	will-change: clip-path;
}

.floating-nav.is-open .floating-nav__panel {
	clip-path: inset(0 0 0 0 round var(--nav-radius));
}

/* ========================================
   Navigation content
======================================== */

.floating-nav__content {
	position: absolute;
	inset: 0 0 var(--button-height);
	display: grid;
	grid-template-columns:
		minmax(180px, 0.65fr)
		minmax(0, 2.8fr);
	gap: clamp(45px, 7vw, 120px);
	padding: 42px clamp(30px, 5vw, 80px) 48px;
	color: #fff;
	background-color: var(--nav-red);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition:
		opacity 0.3s ease,
		visibility 0.3s ease;
}

.floating-nav.is-open .floating-nav__content {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition-delay: 0.2s;
}

/* ========================================
   Logo / copyright
======================================== */

.floating-nav__head {
	display: flex;
	min-width: 0;
	flex-direction: column;
	justify-content: space-between;
}

.floating-nav__head-logo {
	display: inline-block;
	width: min(100%, 300px);
}

.floating-nav__head-logo img {
	display: block;
	width: 100%;
	height: auto;
}

.floating-nav__copyright {
	color: rgb(255 255 255 / 80%);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.02em;
}

/* ========================================
   Navigation layout
======================================== */

.floating-nav__navigation {
	display: grid;
	min-width: 0;
	grid-template-columns:
		minmax(200px, 0.9fr)
		minmax(260px, 1.15fr)
		minmax(260px, 1fr);
	gap: clamp(35px, 5vw, 80px);
}

.floating-nav__menu-group {
	min-width: 0;
	margin-left: clamp(100px, 9vw, 180px);
}

.floating-nav__information-group,
.floating-nav__social-group {
	min-width: 0;
}

.floating-nav__utility {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 30px;
	margin-left: clamp(30px, 3.5vw, 70px);
}

.floating-nav__label {
	margin: 0 0 17px;
	color: rgb(255 255 255 / 50%);
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.04em;
}

.floating-nav ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.floating-nav a {
	color: inherit;
	text-decoration: none;
}

/* ========================================
   CONTENTS
======================================== */

.floating-nav__primary {
	display: grid;
	grid-template-columns: 1fr;
	gap: 6px;
}

.floating-nav__primary a {
	display: inline-flex;
	max-width: 100%;
	padding: 5px 0;
}

/* ========================================
   INFORMATION / SOCIAL MEDIA
======================================== */

.floating-nav__secondary {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
}

.floating-nav__social {
	display: grid;
	grid-template-columns: 1fr;
	gap: 8px;
}

.floating-nav__secondary a,
.floating-nav__social a {
	display: inline-flex;
	max-width: 100%;
	color: #fff;
	font-size: 1.2rem;
	transform: none;
}

.floating-nav__social-group {
	padding-bottom: 30px;
}

/* ========================================
   RECRUIT / CONTACT
======================================== */

.floating-nav__actions {
	display: grid;
	grid-template-columns: 1fr;
	align-content: start;
	gap: 10px;
}

.floating-nav__action {
	position: relative;
	display: flex;
	min-width: 0;
	overflow: hidden;
	flex-direction: column;
	border: 1px solid rgb(255 255 255 / 30%);
	border-radius: 4px;
	color: #fff;
	background: linear-gradient(135deg, #4f0718 0%, #720a24 50%, #961030 100%);
	isolation: isolate;
}

.floating-nav__action::after {
	display: none;
}

/* ========================================
   Action text
======================================== */

.floating-nav__action-content {
	position: relative;
	display: flex;
	order: 1;
	min-height: 72px;
	box-sizing: border-box;
	flex-direction: column;
	justify-content: center;
	padding: 12px 50px 12px 17px;
}

.floating-nav__action-title {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.04em;
}

.floating-nav__action-sub {
	margin-top: 3px;
	color: rgb(255 255 255 / 85%);
	font-size: 0.72rem;
	font-weight: 400;
	line-height: 1.5;
}

/* ========================================
   Action photo
======================================== */

.floating-nav__action-image {
	position: relative;
	inset: auto;
	z-index: auto;
	display: block;
	order: 2;
	width: 100%;
	height: 75px;
	overflow: hidden;
	background-color: var(--nav-dark);
}

.floating-nav__action-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transform: scale(1);
	transition: transform 0.7s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.floating-nav__action:hover .floating-nav__action-image img,
.floating-nav__action:focus-visible .floating-nav__action-image img {
	transform: scale(1.06);
}

/* ========================================
   Action arrow
======================================== */

.floating-nav__action-arrow {
	position: absolute;
	top: 50%;
	right: 18px;
	width: 20px;
	height: 18px;
	overflow: hidden;
	transform: translateY(-50%);
}

.floating-nav__action-arrow svg {
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	width: 14px;
	height: 13px;
}

.floating-nav__action-arrow path {
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.floating-nav__action-arrow svg:first-child {
	transform: translate(-50%, -50%);
}

.floating-nav__action-arrow svg:last-child {
	transform: translate(calc(-50% - 28px), -50%);
}

/* 1つ目が右へ抜ける */

.floating-nav__action:hover .floating-nav__action-arrow svg:first-child,
.floating-nav__action:focus-visible
	.floating-nav__action-arrow
	svg:first-child {
	animation: action-arrow-out 0.6s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}

/* 2つ目が左から入る */

.floating-nav__action:hover .floating-nav__action-arrow svg:last-child,
.floating-nav__action:focus-visible .floating-nav__action-arrow svg:last-child {
	animation: action-arrow-in 0.6s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}

@keyframes action-arrow-out {
	from {
		transform: translate(-50%, -50%);
	}

	to {
		transform: translate(calc(-50% + 28px), -50%);
	}
}

@keyframes action-arrow-in {
	from {
		transform: translate(calc(-50% - 28px), -50%);
	}

	to {
		transform: translate(-50%, -50%);
	}
}

/* ========================================
   Zero-Ten style text gradient
======================================== */

.nav-gradient-text {
	position: relative;
	display: block;
	width: fit-content;
	color: #fff;
	font-size: clamp(1.25rem, 1.5vw, 1.7rem);
	font-weight: 700;
	line-height: 1.5;
}

.nav-gradient-text__default {
	position: relative;
	display: block;
	color: #fff;
}

.nav-gradient-text__color {
	--gradient-size: 300px;

	position: absolute;
	top: 0;
	left: 0;
	display: inline-block;
	color: transparent;
	background-image: linear-gradient(
		93.81deg,
		#fff 5.57%,
		#5985d1 18.19%,
		#fd4690 28.27%,
		#fecab5 47.05%,
		#62c3ff 72.64%,
		#fff 96.15%
	);
	background-position: left calc(var(--gradient-size) * -1) top 0%;
	background-size: var(--gradient-size) 100%;
	background-repeat: no-repeat;
	background-clip: text;
	-webkit-background-clip: text;
	pointer-events: none;
}

.nav-gradient-text--sub {
	font-size: 1.3rem;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0;
}

/* ========================================
   Keyboard focus
======================================== */

.floating-nav__primary a:focus-visible,
.floating-nav__secondary a:focus-visible,
.floating-nav__social a:focus-visible,
.floating-nav__action:focus-visible,
.floating-nav__head-logo:focus-visible,
.floating-nav__brand:focus-visible,
.floating-nav__toggle:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 4px;
}

/* ========================================
   Bottom controller
======================================== */

.floating-nav__controller {
	position: absolute;
	bottom: 0;
	left: 50%;
	width: var(--button-width);
	height: var(--button-height);
	overflow: hidden;
	border-bottom-right-radius: var(--nav-radius);
	border-bottom-left-radius: var(--nav-radius);
	color: #fff;
	background-color: var(--nav-dark);
	transform: translateX(-50%);
	transition: background-color 0.2s ease;
}

.floating-nav.is-open .floating-nav__controller {
	width: 100%;
	cursor: pointer;
}

/* ========================================
   Closed-state logo
======================================== */

.floating-nav__brand {
	position: absolute;
	top: 0;
	left: calc(50% - var(--button-half-height));
	display: flex;
	width: calc(var(--button-width) - var(--button-height));
	height: var(--button-height);
	align-items: center;
	justify-content: center;
	transform: translateX(-50%);
	opacity: 1;
	visibility: visible;
	transition:
		opacity 0.25s ease,
		visibility 0.25s ease;
}

.floating-nav__brand img {
	display: block;
	width: 100%;
	max-width: 180px;
	height: auto;
}

.floating-nav.is-open .floating-nav__brand {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

/* ========================================
   CLOSE label
======================================== */

.floating-nav__close-label {
	position: absolute;
	top: 50%;
	left: calc(50% - 22px);
	z-index: 2;
	color: #fff;
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.08em;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translate(-50%, -50%);
	transition:
		opacity 0.25s ease,
		visibility 0.25s ease;
}

.floating-nav.is-open .floating-nav__close-label {
	opacity: 1;
	visibility: visible;
}

/* ========================================
   Toggle button
======================================== */

.floating-nav__toggle {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 3;
	display: flex;
	width: var(--button-height);
	height: var(--button-height);
	padding: 0;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	border: 0;
	border-bottom-right-radius: var(--nav-radius);
	color: #fff;
	background-color: var(--nav-red);
	cursor: pointer;
	transition: filter 0.25s ease;
}

.floating-nav:not(.is-open) .floating-nav__toggle:hover {
	filter: brightness(1.15);
}

.floating-nav.is-open .floating-nav__toggle {
	right: calc(50% - var(--button-height));
	background-color: transparent;
	filter: none;
}

/* ========================================
   Toggle lines
======================================== */

.floating-nav__toggle-line {
	position: static;
	display: block;
	width: 14px;
	height: 1px;
	flex: 0 0 auto;
	background-color: currentColor;
	transform: none;
	transition:
		width 0.32s cubic-bezier(0.33, 1, 0.68, 1),
		transform 0.32s cubic-bezier(0.33, 1, 0.68, 1);
}

.floating-nav.is-open .floating-nav__toggle-line {
	width: 17px;
}

.floating-nav.is-open .floating-nav__toggle-line:first-child {
	transform: rotate(30deg) translateY(2.5px);
}

.floating-nav.is-open .floating-nav__toggle-line:last-child {
	transform: rotate(-30deg) translateY(-2.5px);
}

/* ========================================
   Tablet
======================================== */

@media (max-width: 1100px) {
	.floating-nav {
		--nav-height: 520px;
	}

	.floating-nav__content {
		grid-template-columns:
			minmax(160px, 0.5fr)
			minmax(0, 2fr);
		gap: 40px;
		padding: 38px 35px 45px;
	}

	.floating-nav__navigation {
		grid-template-columns:
			minmax(180px, 1fr)
			minmax(230px, 1fr);
		gap: 35px;
	}

	.floating-nav__menu-group,
	.floating-nav__utility {
		margin-left: 0;
	}

	.floating-nav__actions {
		grid-column: 1 / -1;
		grid-template-columns: repeat(2, 1fr);
	}

	.floating-nav__action-content {
		min-height: 80px;
	}

	.floating-nav__action-image {
		height: 95px;
	}
}

/* ========================================
   Mobile
======================================== */

@media (max-width: 767px) {
	.floating-nav {
		--button-width: 250px;
		--button-half-width: 125px;

		--button-height: 48px;
		--button-half-height: 24px;

		--nav-height: calc(100dvh - 20px);
	}

	.floating-nav__content {
		display: block;
		padding: 30px 24px 90px;
		overflow-y: auto;
		overscroll-behavior: contain;
	}

	.floating-nav__head {
		display: block;
		margin-bottom: 38px;
	}

	.floating-nav__copyright {
		display: block;
		margin-top: 18px;
	}

	.floating-nav__navigation {
		display: block;
	}

	.floating-nav__menu-group,
	.floating-nav__information-group {
		margin-bottom: 36px;
	}

	.floating-nav__utility {
		display: block;
	}

	.floating-nav__label {
		margin-bottom: 14px;
		font-size: 0.85rem;
	}

	.floating-nav__primary {
		gap: 4px;
	}

	.nav-gradient-text {
		font-size: 1.35rem;
	}

	.nav-gradient-text--sub {
		font-size: 1rem;
	}

	.floating-nav__secondary {
		gap: 8px;
	}

	.floating-nav__social {
		display: flex;
		flex-wrap: wrap;
		gap: 10px 22px;
	}

	.floating-nav__secondary a,
	.floating-nav__social a {
		font-size: 1rem;
	}

	.floating-nav__social-group {
		padding-bottom: 20px;
	}

	.floating-nav__actions {
		grid-template-columns: 1fr;
		gap: 10px;
		margin-top: 32px;
	}

	.floating-nav__action-content {
		min-height: 85px;
		padding: 15px 50px 15px 18px;
	}

	.floating-nav__action-image {
		height: 110px;
	}

	.floating-nav__action-title {
		font-size: 1rem;
	}

	.floating-nav__action-sub {
		font-size: 0.75rem;
	}
}

/* ========================================
   Reduced motion
======================================== */

@media (prefers-reduced-motion: reduce) {
	.floating-nav__panel,
	.floating-nav__overlay,
	.floating-nav__content,
	.floating-nav__brand,
	.floating-nav__close-label,
	.floating-nav__toggle,
	.floating-nav__toggle-line,
	.floating-nav__action-image img {
		transition-duration: 0.01ms !important;
	}

	.nav-gradient-text__color {
		display: none;
	}

	.floating-nav__action-arrow svg:last-child {
		display: none;
	}

	.floating-nav__action:hover .floating-nav__action-arrow svg:first-child,
	.floating-nav__action:focus-visible
		.floating-nav__action-arrow
		svg:first-child {
		animation: none;
	}
}
