@charset "UTF-8";

:root {
	--wh: #fff;
	--bl: #000;
	--NAVY: #092c4c;
	--grad-01: linear-gradient(60deg, var(--MAIN) 0%, var(--MAIN) 40%, var(--ACC) 100%);
	--grad-02: linear-gradient(90deg, var(--MAIN) 0%, var(--ACC) 100%);
	--transition: all 0.3s ease-in-out;
	--oversize: calc((100% - 100vw) / 2);
	scroll-behavior: smooth;
	scroll-padding-top: 4.5rem;
}

/* ==================================
リセット・調整・ファンデーション
===================================== */
/* :where(img) {
max-width: 100%;
height: auto;
vertical-align: bottom;
} */

/*---------- アクセシビリティ ----------*/
i,
[class*="material-icons"],
[class*="material-symbols"] {
	speak: none;
}

h2.reset-title {
	position: unset;
	padding-bottom: unset;
	border-bottom: unset;
}
h2.reset-title::before {
	content: unset;
}

.bg-navy {
	background-color: var(--NAVY) !important;
}

/* ==================================
タイポ
===================================== */
/* ゴシックとか */
.ff-notosans {
	font-family: "Noto Sans JP", serif;
}
.ff-lato {
	font-family: "Lato", sans-serif;
	/* letter-spacing: 0.05rem; */
}
.ff-oswald {
	font-family: "Oswald", sans-serif;
}
.ff-poppins {
	font-family: "Poppins", sans-serif;
}
.ff-zenmarugo {
	font-family: "Staatliches", sans-serif;
}
.ff-montserrat {
	font-family: "Montserrat", sans-serif;
}
.ff-staatliches {
	font-family: "Zen Maru Gothic", sans-serif;
}
.ff-m-plus-rounded-1c {
	font-family: "M PLUS Rounded 1c", sans-serif;
	transform: rotate(0.07deg);
}
/* 明朝とか */
.ff-notoserif {
	font-family: "Noto Serif JP", serif;
}
.ff-yumincho {
	font-family: "Yu Mincho", "YuMincho", serif;
}

.fw-600 {
	font-weight: 600 !important;
}
.fw-800 {
	font-weight: 800 !important;
}
.fw-900 {
	font-weight: 900 !important;
}

@media print, screen and (min-width: 992px) {
	.fs-lg-60 {
		font-size: 3.75rem;
	}
}

/*---------- フォントサイズ ----------*/
.fs-h1 {
	font-size: 1.875rem;
	line-height: 1.25;
}
.fs-h2 {
	font-size: 1.25rem;
	line-height: 1.25;
}
.fs-h3 {
	font-size: 1.125rem;
	line-height: 1.25;
}
.fs-h4 {
	font-size: 1.125rem;
	line-height: 1.25;
}
.fs-h5 {
	font-size: 1.125rem;
	line-height: 1.25;
}
.fs-h6 {
	font-size: 1rem;
	line-height: 1.25;
}
.fs-10 {
	font-size: 0.625rem;
}
.fs-12 {
	font-size: 0.75rem;
}
.fs-14 {
	font-size: 0.875rem;
}
.fs-16 {
	font-size: 1rem;
}
.fs-18 {
	font-size: 1.125rem;
}
.fs-20 {
	font-size: 1.25rem;
}
.fs-22 {
	font-size: 1.375rem;
}
.fs-24 {
	font-size: 1.5rem;
}
.fs-26 {
	font-size: 1.625rem;
}
.fs-28 {
	font-size: 1.75rem;
}
.fs-30 {
	font-size: 1.875rem;
}
.fs-32 {
	font-size: 2rem;
}
.fs-34 {
	font-size: 2.125rem;
}
.fs-36 {
	font-size: 2.25rem;
}
.fs-38 {
	font-size: 2.375rem;
}
.fs-40 {
	font-size: 2.5rem;
}

@media print, screen and (min-width: 576px) {
	.fs-sm-10 {
		font-size: 0.625rem;
	}
	.fs-sm-12 {
		font-size: 0.75rem;
	}
	.fs-sm-14 {
		font-size: 0.875rem;
	}
	.fs-sm-16 {
		font-size: 1rem;
	}
	.fs-sm-18 {
		font-size: 1.125rem;
	}
	.fs-sm-20 {
		font-size: 1.25rem;
	}
	.fs-sm-22 {
		font-size: 1.375rem;
	}
	.fs-sm-24 {
		font-size: 1.5rem;
	}
	.fs-sm-26 {
		font-size: 1.625rem;
	}
	.fs-sm-28 {
		font-size: 1.75rem;
	}
	.fs-sm-30 {
		font-size: 1.875rem;
	}
	.fs-sm-32 {
		font-size: 2rem;
	}
	.fs-sm-34 {
		font-size: 2.125rem;
	}
	.fs-sm-36 {
		font-size: 2.25rem;
	}
	.fs-sm-38 {
		font-size: 2.375rem;
	}
	.fs-sm-40 {
		font-size: 2.5rem;
	}
}

@media print, screen and (min-width: 768px) {
	.fs-md-10 {
		font-size: 0.625rem;
	}
	.fs-md-12 {
		font-size: 0.75rem;
	}
	.fs-md-14 {
		font-size: 0.875rem;
	}
	.fs-md-16 {
		font-size: 1rem;
	}
	.fs-md-18 {
		font-size: 1.125rem;
	}
	.fs-md-20 {
		font-size: 1.25rem;
	}
	.fs-md-22 {
		font-size: 1.375rem;
	}
	.fs-md-24 {
		font-size: 1.5rem;
	}
	.fs-md-26 {
		font-size: 1.625rem;
	}
	.fs-md-28 {
		font-size: 1.75rem;
	}
	.fs-md-30 {
		font-size: 1.875rem;
	}
	.fs-md-32 {
		font-size: 2rem;
	}
	.fs-md-34 {
		font-size: 2.125rem;
	}
	.fs-md-36 {
		font-size: 2.25rem;
	}
	.fs-md-38 {
		font-size: 2.375rem;
	}
	.fs-md-40 {
		font-size: 2.5rem;
	}
}

@media print, screen and (min-width: 992px) {
	.fs-lg-10 {
		font-size: 0.625rem;
	}
	.fs-lg-12 {
		font-size: 0.75rem;
	}
	.fs-lg-14 {
		font-size: 0.875rem;
	}
	.fs-lg-16 {
		font-size: 1rem;
	}
	.fs-lg-18 {
		font-size: 1.125rem;
	}
	.fs-lg-20 {
		font-size: 1.25rem;
	}
	.fs-lg-22 {
		font-size: 1.375rem;
	}
	.fs-lg-24 {
		font-size: 1.5rem;
	}
	.fs-lg-26 {
		font-size: 1.625rem;
	}
	.fs-lg-28 {
		font-size: 1.75rem;
	}
	.fs-lg-30 {
		font-size: 1.875rem;
	}
	.fs-lg-32 {
		font-size: 2rem;
	}
	.fs-lg-34 {
		font-size: 2.125rem;
	}
	.fs-lg-36 {
		font-size: 2.25rem;
	}
	.fs-lg-38 {
		font-size: 2.375rem;
	}
	.fs-lg-40 {
		font-size: 2.5rem;
	}
}

@media print, screen and (min-width: 1200px) {
	.fs-xl-10 {
		font-size: 0.625rem;
	}
	.fs-xl-12 {
		font-size: 0.75rem;
	}
	.fs-xl-14 {
		font-size: 0.875rem;
	}
	.fs-xl-16 {
		font-size: 1rem;
	}
	.fs-xl-18 {
		font-size: 1.125rem;
	}
	.fs-xl-20 {
		font-size: 1.25rem;
	}
	.fs-xl-22 {
		font-size: 1.375rem;
	}
	.fs-xl-24 {
		font-size: 1.5rem;
	}
	.fs-xl-26 {
		font-size: 1.625rem;
	}
	.fs-xl-28 {
		font-size: 1.75rem;
	}
	.fs-xl-30 {
		font-size: 1.875rem;
	}
	.fs-xl-32 {
		font-size: 2rem;
	}
	.fs-xl-34 {
		font-size: 2.125rem;
	}
	.fs-xl-36 {
		font-size: 2.25rem;
	}
	.fs-xl-38 {
		font-size: 2.375rem;
	}
	.fs-xl-40 {
		font-size: 2.5rem;
	}
}

@media print, screen and (min-width: 1400px) {
	.fs-xxl-10 {
		font-size: 0.625rem;
	}
	.fs-xxl-12 {
		font-size: 0.75rem;
	}
	.fs-xxl-14 {
		font-size: 0.875rem;
	}
	.fs-xxl-16 {
		font-size: 1rem;
	}
	.fs-xxl-18 {
		font-size: 1.125rem;
	}
	.fs-xxl-20 {
		font-size: 1.25rem;
	}
	.fs-xxl-22 {
		font-size: 1.375rem;
	}
	.fs-xxl-24 {
		font-size: 1.5rem;
	}
	.fs-xxl-26 {
		font-size: 1.625rem;
	}
	.fs-xxl-28 {
		font-size: 1.75rem;
	}
	.fs-xxl-30 {
		font-size: 1.875rem;
	}
	.fs-xxl-32 {
		font-size: 2rem;
	}
	.fs-xxl-34 {
		font-size: 2.125rem;
	}
	.fs-xxl-36 {
		font-size: 2.25rem;
	}
	.fs-xxl-38 {
		font-size: 2.375rem;
	}
	.fs-xxl-40 {
		font-size: 2.5rem;
	}
}

/*---------- gap ----------*/
.gap-0 {
	gap: 0 !important;
}
.gap-1 {
	gap: 0.25rem !important;
}
.gap-2 {
	gap: 0.5rem !important;
}
.gap-3 {
	gap: 1rem !important;
}
.gap-4 {
	gap: 1.5rem !important;
}
.gap-5 {
	gap: 3rem !important;
}
.gap-6 {
	gap: 4.5rem !important;
}
.gap-7 {
	gap: 5rem !important;
}
.gap-8 {
	gap: 5.5rem !important;
}
.gap-9 {
	gap: 6rem !important;
}
.row-gap-0 {
	row-gap: 0 !important;
}
.row-gap-1 {
	row-gap: 0.25rem !important;
}
.row-gap-2 {
	row-gap: 0.5rem !important;
}
.row-gap-3 {
	row-gap: 1rem !important;
}
.row-gap-4 {
	row-gap: 1.5rem !important;
}
.row-gap-5 {
	row-gap: 3rem !important;
}
.row-gap-6 {
	row-gap: 4.5rem !important;
}
.row-gap-7 {
	row-gap: 5rem !important;
}
.row-gap-8 {
	row-gap: 5.5rem !important;
}
.row-gap-9 {
	row-gap: 6rem !important;
}
.column-gap-0 {
	-webkit-column-gap: 0 !important;
	-moz-column-gap: 0 !important;
	column-gap: 0 !important;
}
.column-gap-1 {
	-webkit-column-gap: 0.25rem !important;
	-moz-column-gap: 0.25rem !important;
	column-gap: 0.25rem !important;
}
.column-gap-2 {
	-webkit-column-gap: 0.5rem !important;
	-moz-column-gap: 0.5rem !important;
	column-gap: 0.5rem !important;
}
.column-gap-3 {
	-webkit-column-gap: 1rem !important;
	-moz-column-gap: 1rem !important;
	column-gap: 1rem !important;
}
.column-gap-4 {
	-webkit-column-gap: 1.5rem !important;
	-moz-column-gap: 1.5rem !important;
	column-gap: 1.5rem !important;
}
.column-gap-5 {
	-webkit-column-gap: 3rem !important;
	-moz-column-gap: 3rem !important;
	column-gap: 3rem !important;
}
.column-gap-6 {
	-webkit-column-gap: 4.5rem !important;
	-moz-column-gap: 4.5rem !important;
	column-gap: 4.5rem !important;
}
.column-gap-7 {
	-webkit-column-gap: 5rem !important;
	-moz-column-gap: 5rem !important;
	column-gap: 5rem !important;
}
.column-gap-8 {
	-webkit-column-gap: 5.5rem !important;
	-moz-column-gap: 5.5rem !important;
	column-gap: 5.5rem !important;
}
.column-gap-9 {
	-webkit-column-gap: 6rem !important;
	-moz-column-gap: 6rem !important;
	column-gap: 6rem !important;
}
@media (min-width: 576px) {
	.gap-sm-0 {
		gap: 0 !important;
	}
	.gap-sm-1 {
		gap: 0.25rem !important;
	}
	.gap-sm-2 {
		gap: 0.5rem !important;
	}
	.gap-sm-3 {
		gap: 1rem !important;
	}
	.gap-sm-4 {
		gap: 1.5rem !important;
	}
	.gap-sm-5 {
		gap: 3rem !important;
	}
	.gap-sm-6 {
		gap: 4.5rem !important;
	}
	.gap-sm-7 {
		gap: 5rem !important;
	}
	.gap-sm-8 {
		gap: 5.5rem !important;
	}
	.gap-sm-9 {
		gap: 6rem !important;
	}
	.row-gap-sm-0 {
		row-gap: 0 !important;
	}
	.row-gap-sm-1 {
		row-gap: 0.25rem !important;
	}
	.row-gap-sm-2 {
		row-gap: 0.5rem !important;
	}
	.row-gap-sm-3 {
		row-gap: 1rem !important;
	}
	.row-gap-sm-4 {
		row-gap: 1.5rem !important;
	}
	.row-gap-sm-5 {
		row-gap: 3rem !important;
	}
	.row-gap-sm-6 {
		row-gap: 4.5rem !important;
	}
	.row-gap-sm-7 {
		row-gap: 5rem !important;
	}
	.row-gap-sm-8 {
		row-gap: 5.5rem !important;
	}
	.row-gap-sm-9 {
		row-gap: 6rem !important;
	}
	.column-gap-sm-0 {
		-webkit-column-gap: 0 !important;
		-moz-column-gap: 0 !important;
		column-gap: 0 !important;
	}
	.column-gap-sm-1 {
		-webkit-column-gap: 0.25rem !important;
		-moz-column-gap: 0.25rem !important;
		column-gap: 0.25rem !important;
	}
	.column-gap-sm-2 {
		-webkit-column-gap: 0.5rem !important;
		-moz-column-gap: 0.5rem !important;
		column-gap: 0.5rem !important;
	}
	.column-gap-sm-3 {
		-webkit-column-gap: 1rem !important;
		-moz-column-gap: 1rem !important;
		column-gap: 1rem !important;
	}
	.column-gap-sm-4 {
		-webkit-column-gap: 1.5rem !important;
		-moz-column-gap: 1.5rem !important;
		column-gap: 1.5rem !important;
	}
	.column-gap-sm-5 {
		-webkit-column-gap: 3rem !important;
		-moz-column-gap: 3rem !important;
		column-gap: 3rem !important;
	}
	.column-gap-sm-6 {
		-webkit-column-gap: 4.5rem !important;
		-moz-column-gap: 4.5rem !important;
		column-gap: 4.5rem !important;
	}
	.column-gap-sm-7 {
		-webkit-column-gap: 5rem !important;
		-moz-column-gap: 5rem !important;
		column-gap: 5rem !important;
	}
	.column-gap-sm-8 {
		-webkit-column-gap: 5.5rem !important;
		-moz-column-gap: 5.5rem !important;
		column-gap: 5.5rem !important;
	}
	.column-gap-sm-9 {
		-webkit-column-gap: 6rem !important;
		-moz-column-gap: 6rem !important;
		column-gap: 6rem !important;
	}
}
@media (min-width: 768px) {
	.gap-md-0 {
		gap: 0 !important;
	}
	.gap-md-1 {
		gap: 0.25rem !important;
	}
	.gap-md-2 {
		gap: 0.5rem !important;
	}
	.gap-md-3 {
		gap: 1rem !important;
	}
	.gap-md-4 {
		gap: 1.5rem !important;
	}
	.gap-md-5 {
		gap: 3rem !important;
	}
	.gap-md-6 {
		gap: 4.5rem !important;
	}
	.gap-md-7 {
		gap: 5rem !important;
	}
	.gap-md-8 {
		gap: 5.5rem !important;
	}
	.gap-md-9 {
		gap: 6rem !important;
	}
	.row-gap-md-0 {
		row-gap: 0 !important;
	}
	.row-gap-md-1 {
		row-gap: 0.25rem !important;
	}
	.row-gap-md-2 {
		row-gap: 0.5rem !important;
	}
	.row-gap-md-3 {
		row-gap: 1rem !important;
	}
	.row-gap-md-4 {
		row-gap: 1.5rem !important;
	}
	.row-gap-md-5 {
		row-gap: 3rem !important;
	}
	.row-gap-md-6 {
		row-gap: 4.5rem !important;
	}
	.row-gap-md-7 {
		row-gap: 5rem !important;
	}
	.row-gap-md-8 {
		row-gap: 5.5rem !important;
	}
	.row-gap-md-9 {
		row-gap: 6rem !important;
	}
	.column-gap-md-0 {
		-webkit-column-gap: 0 !important;
		-moz-column-gap: 0 !important;
		column-gap: 0 !important;
	}
	.column-gap-md-1 {
		-webkit-column-gap: 0.25rem !important;
		-moz-column-gap: 0.25rem !important;
		column-gap: 0.25rem !important;
	}
	.column-gap-md-2 {
		-webkit-column-gap: 0.5rem !important;
		-moz-column-gap: 0.5rem !important;
		column-gap: 0.5rem !important;
	}
	.column-gap-md-3 {
		-webkit-column-gap: 1rem !important;
		-moz-column-gap: 1rem !important;
		column-gap: 1rem !important;
	}
	.column-gap-md-4 {
		-webkit-column-gap: 1.5rem !important;
		-moz-column-gap: 1.5rem !important;
		column-gap: 1.5rem !important;
	}
	.column-gap-md-5 {
		-webkit-column-gap: 3rem !important;
		-moz-column-gap: 3rem !important;
		column-gap: 3rem !important;
	}
	.column-gap-md-6 {
		-webkit-column-gap: 4.5rem !important;
		-moz-column-gap: 4.5rem !important;
		column-gap: 4.5rem !important;
	}
	.column-gap-md-7 {
		-webkit-column-gap: 5rem !important;
		-moz-column-gap: 5rem !important;
		column-gap: 5rem !important;
	}
	.column-gap-md-8 {
		-webkit-column-gap: 5.5rem !important;
		-moz-column-gap: 5.5rem !important;
		column-gap: 5.5rem !important;
	}
	.column-gap-md-9 {
		-webkit-column-gap: 6rem !important;
		-moz-column-gap: 6rem !important;
		column-gap: 6rem !important;
	}
}
@media (min-width: 992px) {
	.gap-lg-0 {
		gap: 0 !important;
	}
	.gap-lg-1 {
		gap: 0.25rem !important;
	}
	.gap-lg-2 {
		gap: 0.5rem !important;
	}
	.gap-lg-3 {
		gap: 1rem !important;
	}
	.gap-lg-4 {
		gap: 1.5rem !important;
	}
	.gap-lg-5 {
		gap: 3rem !important;
	}
	.gap-lg-6 {
		gap: 4.5rem !important;
	}
	.gap-lg-7 {
		gap: 5rem !important;
	}
	.gap-lg-8 {
		gap: 5.5rem !important;
	}
	.gap-lg-9 {
		gap: 6rem !important;
	}
	.row-gap-lg-0 {
		row-gap: 0 !important;
	}
	.row-gap-lg-1 {
		row-gap: 0.25rem !important;
	}
	.row-gap-lg-2 {
		row-gap: 0.5rem !important;
	}
	.row-gap-lg-3 {
		row-gap: 1rem !important;
	}
	.row-gap-lg-4 {
		row-gap: 1.5rem !important;
	}
	.row-gap-lg-5 {
		row-gap: 3rem !important;
	}
	.row-gap-lg-6 {
		row-gap: 4.5rem !important;
	}
	.row-gap-lg-7 {
		row-gap: 5rem !important;
	}
	.row-gap-lg-8 {
		row-gap: 5.5rem !important;
	}
	.row-gap-lg-9 {
		row-gap: 6rem !important;
	}
	.column-gap-lg-0 {
		-webkit-column-gap: 0 !important;
		-moz-column-gap: 0 !important;
		column-gap: 0 !important;
	}
	.column-gap-lg-1 {
		-webkit-column-gap: 0.25rem !important;
		-moz-column-gap: 0.25rem !important;
		column-gap: 0.25rem !important;
	}
	.column-gap-lg-2 {
		-webkit-column-gap: 0.5rem !important;
		-moz-column-gap: 0.5rem !important;
		column-gap: 0.5rem !important;
	}
	.column-gap-lg-3 {
		-webkit-column-gap: 1rem !important;
		-moz-column-gap: 1rem !important;
		column-gap: 1rem !important;
	}
	.column-gap-lg-4 {
		-webkit-column-gap: 1.5rem !important;
		-moz-column-gap: 1.5rem !important;
		column-gap: 1.5rem !important;
	}
	.column-gap-lg-5 {
		-webkit-column-gap: 3rem !important;
		-moz-column-gap: 3rem !important;
		column-gap: 3rem !important;
	}
	.column-gap-lg-6 {
		-webkit-column-gap: 4.5rem !important;
		-moz-column-gap: 4.5rem !important;
		column-gap: 4.5rem !important;
	}
	.column-gap-lg-7 {
		-webkit-column-gap: 5rem !important;
		-moz-column-gap: 5rem !important;
		column-gap: 5rem !important;
	}
	.column-gap-lg-8 {
		-webkit-column-gap: 5.5rem !important;
		-moz-column-gap: 5.5rem !important;
		column-gap: 5.5rem !important;
	}
	.column-gap-lg-9 {
		-webkit-column-gap: 6rem !important;
		-moz-column-gap: 6rem !important;
		column-gap: 6rem !important;
	}
}

/* ==================================
ユーティリティー
===================================== */
/*---------- 画像の比率 ----------*/
.u-aspect img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.u-aspect.--contain img {
	object-fit: contain;
}
.u-aspect.--16x9 img {
	aspect-ratio: 16 / 9;
}
.u-aspect.--4x3 img {
	aspect-ratio: 4 / 3;
}
.u-aspect.--21x9 img {
	aspect-ratio: 21 / 9;
}
.u-aspect.--2x1 img {
	aspect-ratio: 2 / 1;
}
.u-aspect.--3x1 img {
	aspect-ratio: 3 / 1;
}
.u-aspect.--1x1 img {
	aspect-ratio: 1 / 1;
}
.u-aspect.--7x8 img {
	aspect-ratio: 7 / 8;
}
.u-aspect.--9x16 img {
	aspect-ratio: 9 / 16;
}
.u-aspect.--3x4 img {
	aspect-ratio: 3 / 4;
}

/*---------- 角丸 ----------*/
[class*="u-rounded-"] {
	overflow: hidden;
}
.u-rounded-_25 {
	border-radius: 0.25rem !important;
}
.u-rounded-_5 {
	border-radius: 0.5rem !important;
}
.u-rounded-_75 {
	border-radius: 0.75rem !important;
}
.u-rounded-1 {
	border-radius: 1rem !important;
}
.u-rounded-1_5 {
	border-radius: 1.5rem !important;
}
.u-rounded-1_25 {
	border-radius: 1.25rem !important;
}
.u-rounded-2 {
	border-radius: 2rem !important;
}
.u-rounded-3 {
	border-radius: 3rem !important;
}
.--t-only {
	border-bottom-right-radius: unset !important;
	border-bottom-left-radius: unset !important;
}
.--b-only {
	border-top-right-radius: unset !important;
	border-top-left-radius: unset !important;
}
.--r-only {
	border-top-left-radius: unset !important;
	border-bottom-left-radius: unset !important;
}
.--l-only {
	border-top-right-radius: unset !important;
	border-bottom-right-radius: unset !important;
}

/*---------- はみ出させる ----------*/
.u-over {
	margin-inline: var(--oversize);
}
/* 右に */
.u-r-over {
	margin-right: var(--oversize);
}
@media print, screen and (min-width: 768px) {
	.u-r-md-over {
		margin-right: var(--oversize);
	}
}
@media print, screen and (min-width: 992px) {
	.u-r-lg-over {
		margin-right: var(--oversize);
	}
}
/* 左に */
.u-l-over {
	margin-left: var(--oversize);
}
@media print, screen and (min-width: 768px) {
	.u-l-md-over {
		margin-left: var(--oversize);
	}
}
@media print, screen and (min-width: 992px) {
	.u-l-lg-over {
		margin-left: var(--oversize);
	}
}

/*---------- 中央配置 ----------*/
.l-v-center {
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.l-center {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

/*---------- SPのみ展開するボタン ----------*/
@media print, screen and (min-width: 992px) {
	.js-btnAccordionSP {
		cursor: default;
	}
}

/*---------- Swiper ----------*/
/* 滑らかに */
.u-swiper-liner .swiper-wrapper {
	transition-timing-function: linear;
}

/* ========================================
パーツ
======================================== */
/*---------- アイコン（アイコンフォント想定。大きさはp-*やfs-、個別にwidth・height指定して調整。） ----------*/
.c-icon {
	aspect-ratio: 1 / 1;
	speak: none;
}
.c-icon img {
	aspect-ratio: 1 / 1;
	width: 100%;
	height: 100%;
	object-fit: contain;
	speak: none;
}

/*---------- アイコンとテキスト（ボタンによく使う） ----------*/
.c-icon-text {
	display: grid !important;
	grid-template-columns: repeat(2, auto);
	column-gap: 0.5em;
	justify-content: center;
	align-items: center;
}
/* アイコンだけ右寄せ */
.c-icon-text.--r {
	grid-template-columns: 1fr auto;
}
/* アイコンだけ左寄せ */
.c-icon-text.--l {
	grid-template-columns: auto 1fr;
}
@media print, screen and (min-width: 992px) {
	.c-icon-text {
		column-gap: 1em;
	}
}

/*---------- 背景のベース ----------*/
.p-bg {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	position: relative;
	z-index: 1;
}
/* 疑似要素のファンデーション */
.p-bg::before,
.p-bg::after {
	content: "";
	display: block;
	position: absolute;
	z-index: -1;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	pointer-events: none;
	speak: none;
}
/* 黒透明フィルター */
.p-bg.--bl::before {
	inset: 0;
	width: 100%;
	height: 100%;
	background-color: var(--bl);
	opacity: 0.3;
}
/* 白透明フィルター */
.p-bg.--wh::before {
	inset: 0;
	width: 100%;
	height: 100%;
	background-color: var(--WHT);
	opacity: 0.3;
}
/* メインカラーフィルター */
.p-bg.--main::before {
	inset: 0;
	width: 100%;
	height: 100%;
	background-color: var(--MAIN);
	opacity: 0.3;
}
/* アクセントカラーフィルター */
.p-bg.--accent::before {
	inset: 0;
	width: 100%;
	height: 100%;
	background-color: var(--ACC);
	opacity: 0.3;
}
.p-bg.--md::before {
	opacity: 0.5;
}
.p-bg.--strong::before {
	opacity: 0.7;
}
.p-bg.--strongest::before {
	opacity: 0.9;
}

/*---------- ホバーアクション ----------*/
.c-hover {
	transition: var(--transition);
	color: inherit;
	text-decoration: none;
}
.c-hover:hover {
	text-decoration: none;
}
.c-hover.--underline:hover {
	text-decoration: underline;
}
.c-hover.--bg-lmain:hover {
	background-color: var(--LMAIN);
}
.c-hover.--bg-gry:hover {
	background-color: var(--GRY);
}
.c-hover.--text-main:hover {
	color: var(--MAIN) !important;
}
.c-hover.--opacity:hover {
	opacity: 0.8;
}
.c-hover.--up:hover {
	transform: translateY(-0.125rem);
}
.c-hover.--scale-up img {
	transition: var(--transition);
}
.c-hover.--scale-up:hover img {
	transform: scale(1.1);
}

/*---------- アコーディオンボタン（ヘッダー以外にも汎用可能） ----------*/
.c-btn-accordion {
	top: 0;
	right: 0;
	/* height: 2.5em;
	width: 2.5em; */
	background-color: transparent;
	border: none;
}
.c-accordion-icon {
	display: block;
	width: 100%;
	height: 100%;
}
.c-accordion-icon::before,
.c-accordion-icon::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 50%;
	transform: translate(50%, -50%);
	background-color: currentColor;
	transition: all 0.3s ease-in-out;
}
.c-accordion-icon::before {
	width: 1em;
	height: 2px;
}
.c-accordion-icon::after {
	width: 2px;
	height: 1em;
}
.c-accordion-icon.is-active::after {
	opacity: 0;
}


/* ========================================
ヘッダー
======================================== */
/*---------- CTA ----------*/
.navbar-expand-lg .navbar-nav .u-header-cta .nav-link {
	padding: 0;
/*	color: var(--WHT); 2025.4.24 Ariyoshi 変更前 */
	color:#353535 ;
	display: grid !important;
	grid-auto-flow: column;
	grid-auto-columns: auto 1fr;
	gap: .5em;
}
.navbar-expand-lg .navbar-nav .u-header-cta:hover .nav-link {
/*	color: var(--MAIN); 2025.4.24 Ariyoshi 変更前 */
	color:#353535 ;
}
.navbar-expand-lg .navbar-nav .u-header-cta:active .nav-link{
/*	color: var(--MAIN); 2025.4.24 Ariyoshi 変更前 */
	color: #fff;
}
/* @media only screen and (min-width: 991px) {
	html:has(.bg-recruit) header .menu-item-has-children:hover > .sub-menu {
		display: none !important;
	}
} */


/* ========================================
採用TOP
======================================== */
/*---------- 背景色 ----------*/
body:has(.bg-recruit) {
	background-color: #f1f2f6;
}

/*---------- スライダーのボタン ----------*/
.p-recruit-top-slider .swiper-button-next,
.p-recruit-top-slider .swiper-button-prev {
	/* position: absolute; */
	/* top: 50%; */
	width: 2rem;
	height: 2rem;
	/* margin-top: calc(0px - (var(--swiper-navigation-size)/ 2)); */
	/* z-index: 10; */
	cursor: pointer;
	display: flex;
	/* display: block; */
	align-items: center;
	justify-content: center;
	color: var(--WHT);
	background-color: var(--MAIN);
	border-radius: 50%;
	border: 1px solid var(--MAIN);
	transition: all 0.3s ease-in-out;
}
@media only screen and (min-width: 768px) {
	.p-recruit-top-slider .swiper-button-next,
	.p-recruit-top-slider .swiper-button-prev {
		width: 2.5rem;
		height: 2.5rem;
	}
}
.p-recruit-top-slider .swiper-button-next:hover,
.p-recruit-top-slider .swiper-button-prev:hover {
	color: var(--MAIN);
	background-color: var(--WHT);
}

.p-recruit-top-slider .swiper-button-prev::after,
.p-recruit-top-slider .swiper-button-next::after {
	font-family: "Material Symbols Rounded";
	font-size: 1.25em;
}
/* @media only screen and (min-width: 768px) {
.p-recruit-top-slider .swiper-button-prev::after,
.p-recruit-top-slider .swiper-button-next::after {
font-size: 2.2em;
}
} */
.p-recruit-top-slider .swiper-button-prev::after {
	content: "\f1e6";
}
.p-recruit-top-slider .swiper-button-next::after {
	content: "\f1df";
}


/* ========================================
先輩社員の声
======================================== */
/*---------- 各社員のメインビジュアル ----------*/
.l-interview-catch {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	grid-template-rows: repeat(12, 1fr);
}
.l-interview-catch .l-text {
	grid-area: 9/2/13/13;
	z-index: 6;
}
.l-interview-catch .l-img {
	grid-area: 3/1/10/12;
	z-index: 4;
}
.l-interview-catch .l-flavor {
	grid-area: 1/1/13/13;
	z-index: 2;
}
@media only screen and (min-width: 768px) {
	.l-interview-catch .l-text {
		grid-area: 8/7/12/13;
	}
	.l-interview-catch .l-img {
		grid-area: 3/1/13/8;
	}
	.l-interview-catch .l-flavor {
		grid-area: 1/1/13/13;
	}
}
/* 装飾テキスト */
.fs-interview-catch-flavor {
	/* font-size: clamp(4rem, calc(1.5568181818181817rem + 10.424242424242426vw), 9.375rem); */
	font-size: clamp(4rem, calc(1.9368932038834954rem + 8.802588996763754vw), 12.5rem);
	line-height: 1;
}


/* ========================================
新卒採用(大卒)
======================================== */
/*---------- 各社員のメインビジュアル ----------*/
.l-recruitment-catch {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	grid-template-rows: 3fr 1.5rem 1fr ;
}
.l-recruitment-catch .l-text {
	grid-area: 2/1/4/12;
	z-index: 6;
}
.l-recruitment-catch .l-text.--noimg {
	grid-area: 1/1/4/12;
}
.l-recruitment-catch .l-img {
	grid-area: 1/2/3/13;
	z-index: 4;
}
@media only screen and (min-width: 768px) {
	.l-recruitment-catch {
		grid-template-columns: repeat(12, 1fr);
		grid-template-rows: 3fr 1fr 1.5rem;
	}
	.l-recruitment-catch .l-text {
		grid-area: 2/1/4/7;
	}
	.l-recruitment-catch .l-text.--noimg {
		grid-area: 1/1/4/7;
	}
	.l-recruitment-catch .l-img {
		grid-area: 1/6/3/13;
	}
}


/* ========================================
テクニカルセンター紹介
======================================== */
/*---------- タイムライン（a11yBMから引用） ----------*/
.lib-timeline-002__outer>li:first-child .lib-timeline-002__headline:after {
	display: none
}

.lib-timeline-002__outer>li:last-child:after {
	display: none
}

.lib-timeline-002__outer>li+li {
	border-top: var(--GRY) 1px solid;
	margin-top: 1.5rem;
	padding-top: 1.5rem
}

.lib-timeline-002__outer.before-def .lib-timeline-002__headline:before {
	background-color: var(--DEF)
}

.lib-timeline-002__outer.after-def .lib-timeline-002__headline:after,.lib-timeline-002__outer.after-def .lib-timeline-002__row:after {
	background-color: var(--DEF)
}

.lib-timeline-002__outer.before-main .lib-timeline-002__headline:before {
	background-color: var(--MAIN)
}

.lib-timeline-002__outer.after-main .lib-timeline-002__headline:after,.lib-timeline-002__outer.after-main .lib-timeline-002__row:after {
	background-color: var(--MAIN)
}

.lib-timeline-002__outer.before-accent .lib-timeline-002__headline:before {
	background-color: var(--ACC)
}

.lib-timeline-002__outer.after-accent .lib-timeline-002__headline:after,.lib-timeline-002__outer.after-accent .lib-timeline-002__row:after {
	background-color: var(--ACC)
}

.lib-timeline-002__outer.before-other .lib-timeline-002__headline:before {
	background-color: var(--OTH)
}

.lib-timeline-002__outer.after-other .lib-timeline-002__headline:after,.lib-timeline-002__outer.after-other .lib-timeline-002__row:after {
	background-color: var(--OTH)
}

.lib-timeline-002__outer.before-link .lib-timeline-002__headline:before {
	background-color: var(--LINK)
}

.lib-timeline-002__outer.after-link .lib-timeline-002__headline:after,.lib-timeline-002__outer.after-link .lib-timeline-002__row:after {
	background-color: var(--LINK)
}

.lib-timeline-002__outer.before-gry .lib-timeline-002__headline:before {
	background-color: var(--GRY)
}

.lib-timeline-002__outer.after-gry .lib-timeline-002__headline:after,.lib-timeline-002__outer.after-gry .lib-timeline-002__row:after {
	background-color: var(--GRY)
}

.lib-timeline-002__outer.before-dgry .lib-timeline-002__headline:before {
	background-color: var(--DGRY)
}

.lib-timeline-002__outer.after-dgry .lib-timeline-002__headline:after,.lib-timeline-002__outer.after-dgry .lib-timeline-002__row:after {
	background-color: var(--DGRY)
}

.lib-timeline-002__outer.before-lgry .lib-timeline-002__headline:before {
	background-color: var(--LGRY)
}

.lib-timeline-002__outer.after-lgry .lib-timeline-002__headline:after,.lib-timeline-002__outer.after-lgry .lib-timeline-002__row:after {
	background-color: var(--LGRY)
}

.lib-timeline-002__outer.before-wht .lib-timeline-002__headline:before {
	background-color: var(--WHT)
}

.lib-timeline-002__outer.after-wht .lib-timeline-002__headline:after,.lib-timeline-002__outer.after-wht .lib-timeline-002__row:after {
	background-color: var(--WHT)
}

.lib-timeline-002__outer.before-lmain .lib-timeline-002__headline:before {
	background-color: var(--LMAIN)
}

.lib-timeline-002__outer.after-lmain .lib-timeline-002__headline:after,.lib-timeline-002__outer.after-lmain .lib-timeline-002__row:after {
	background-color: var(--LMAIN)
}

.lib-timeline-002__outer.before-laccent .lib-timeline-002__headline:before {
	background-color: var(--LACC)
}

.lib-timeline-002__outer.after-laccent .lib-timeline-002__headline:after,.lib-timeline-002__outer.after-laccent .lib-timeline-002__row:after {
	background-color: var(--LACC)
}

.lib-timeline-002__outer.before-lother .lib-timeline-002__headline:before {
	background-color: var(--LOTH)
}

.lib-timeline-002__outer.after-lother .lib-timeline-002__headline:after,.lib-timeline-002__outer.after-lother .lib-timeline-002__row:after {
	background-color: var(--LOTH)
}

.lib-timeline-002__row {
	position: relative
}

.lib-timeline-002__row:after {
	content: "";
	height: calc(100% - 20px);
	width: 6px;
	display: block;
	position: absolute;
	left: 8px;
	top: 20px;
	background-color: var(--GRY);
	z-index: 1
}

.lib-timeline-002__headline {
	position: relative
}

.lib-timeline-002__headline:before {
	content: "";
	width: 18px;
	height: 18px;
	background-color: var(--NAVY);
	border-radius: 50%;
	position: absolute;
	left: 2px;
	top: 14px;
	z-index: 2
}

.lib-timeline-002__headline:after {
	content: "";
	height: calc(40px + 1.5rem * 2);
	width: 6px;
	display: block;
	position: absolute;
	left: 8px;
	top: calc((40px + 1.5rem) * -1);
	background-color: var(--GRY);
	z-index: 1
}

.lib-timeline-002__headline .title {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	padding: 5px 20px;
	height: 40px;
	border-radius: 50px;
	margin-left: 2rem;
	font-size: 1.875rem;
	line-height: 1
}

.lib-timeline-002__thumb {
	border-radius: unset
}

.lib-timeline-002__thumb img {
	border-radius: 5px;
	border-radius: 5px
}

.lib-timeline__outer {
	position: relative
}

.lib-timeline__txtarea {
	padding-left: 2rem;
	margin-top: .8rem
}

.lib-timeline__thumb {
	margin-top: .8rem
}

.lib-timeline__txt .title {
	font-size: 1.375rem
}
@media print,screen and (min-width: 576px) {
	.lib-timeline-002__thumb img {
		border-radius: 10px
	}

	.lib-timeline-002__thumb img {
		border-radius: 10px
	}
}
@media print,screen and (min-width: 768px) {
	.lib-timeline-002__outer>li+li {
		margin-top: 3rem;
		padding-top: 3rem
	}

	.lib-timeline-002__row:after {
		height: calc(100% - 30px);
		top: 30px
	}

	.lib-timeline-002__headline:before {
		top: 23px
	}

	.lib-timeline-002__headline:after {
		height: calc(40px + 3rem * 2);
		top: calc((60px + 3rem) * -1)
	}

	.lib-timeline-002__headline .title {
		height: 60px;
		min-width: 180px;
		font-size: 2.5rem
	}

	.lib-timeline__txtarea {
		padding-left: 5rem;
		margin-top: 1.5rem
	}
}
@media print,screen and (min-width: 992px) {
	.lib-timeline-002__outer {
		padding-top: 15px
	}

	.lib-timeline-002__row:after {
		left: 212px;
		width: 10px
	}

	.lib-timeline-002__headline:before {
		width: 24px;
		height: 24px;
		left: 205px;
		top: 7px
	}

	.lib-timeline-002__headline:after {
		width: 10px;
		left: 212px
	}

	.lib-timeline-002__headline .title {
		margin-left: 0;
		margin-top: -15px
	}

	.lib-timeline__row {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex
	}

	.lib-timeline__inside {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		width: 100%
	}

	.lib-timeline__txtarea {
		-webkit-box-flex: 1;
		-ms-flex: 1;
		flex: 1;
		width: 100%;
		padding-left: 0;
		margin-top: 0;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center
	}

	.lib-timeline__txt {
		-webkit-box-flex: 1;
		-ms-flex: 1;
		flex: 1
	}

	.lib-timeline__thumb {
		width: 260px;
		padding-left: 30px;
		margin-top: 0
	}

	.lib-timeline__headline {
		width: 260px;
		padding-right: 30px
	}

	.lib-timeline__txt .title {
		font-size: 1.75rem
	}
}