:root {
	--font-family-base: "Zen Maru Gothic", sans-serif;
	--font-family-second: "Zen Kaku Gothic New", sans-serif;
}

:root {
	--font-weight-regular: 400;
	--font-weight-normal: 500;
	--font-weight-bold: 700;
}

:root {
	--black: #000;
	--white: #fff;
	--main-color: #228123;
	--main-color02: #1D8E0A;
	--line-color: #84BE55;
}

:root {
	--z-index-header: 100;
	--z-index-to-top: 200;
	--z-index-drawer: 1000;
	--z-index-hamburger: 2000;
	--z-index-modal: 10000;
}

:root {
	--duration-short: 0.2s;
	--duration-base: 0.3s;
	--duration-long: 0.6s;
	--duration-line-animation: 0.8s;
	--ease-smooth-bounce: cubic-bezier(.48, .07, .33, .79);
}

:root {
	--cq-ref-mobile-inner: 324;
	--cq-ref-mobile: 390;
	--cq-ref-inner: 762;
	--cq-ref: 1440;
	--fluid-basis-mobile: (100vw - 320px) / (390 - 320);
	--fluid-basis: (100vw - 768px) / (1440 - 768);
	--fluid-basis-2: (100vw - 1440px) / (1800 - 1440);
}

dialog:modal,
dialog:modal::backdrop {
	@starting-style {
		opacity: 0;
	}
}

body {
	color: #000;
	color: var(--black);
	font-family: "Zen Maru Gothic", sans-serif;
	font-family: var(--font-family-base);
}

.u-inline-desktop {
	display: none;
}

.u-desktop {
	display: none;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	text-size-adjust: 100%;
	scroll-behavior: smooth;
}

body {
	word-wrap: anywhere;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	line-break: strict;
	line-height: 1.5;
	margin: 0;
	min-height: 100vh;
	text-rendering: optimizeLegibility;
	word-break: normal;
}

ul,
ol,
button,
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd,
time,
small,
hr {
	margin: 0;
	padding: 0;
}

ul,
ol {
	list-style: none;
}

a:not([class]) {
	-webkit-text-decoration-skip: ink;
	text-decoration-skip-ink: auto;
}

a,
span,
button {
	display: inline-block;
}

small,
time,
figure {
	border: 0;
	font: inherit;
	font-size: 100%;
	vertical-align: baseline;
}

address {
	font-style: normal;
}

img {
	display: block;
	max-width: 100%;
	width: 100%;
}

article>*+* {
	margin-top: 1em;
}

input,
button,
textarea,
select {
	font: inherit;
}

input,
button,
select,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border: none;
	border-radius: 0;
	outline: none;
}

textarea {
	resize: vertical;
}

input[type=checkbox],
input[type=radio] {
	-webkit-clip-path: polygon(0 0, 0 0, 0 0, 0 0);
	border: 0;
	clip-path: polygon(0 0, 0 0, 0 0, 0 0);
	height: 1px;
	margin: -1px;
	padding: 0;
	position: absolute;
	width: 1px;
}

input[type=submit],
input[type=button],
label,
button,
select {
	cursor: pointer;
}

select::-ms-expand {
	display: none;
}

a {
	-webkit-text-decoration: none;
	color: inherit;
	text-decoration: none;
	transition: 0.3s;
}

button {
	color: inherit;
}

a {
	-webkit-tap-highlight-color: transparent;
}

button {
	-webkit-tap-highlight-color: transparent;
}

.fv {
	--fv-color: #1D201D;
	container-type: inline-size;
	height: auto;
	margin-top: 104px;
	overflow-x: clip;
}

.fv__content {
	align-items: center;
	display: grid;
	grid-template-columns: 1fr;
	height: 100%;
	justify-content: center;
}

.fv__text-block {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 7px;
	margin-left: auto;
	margin-left: auto;
	margin-top: 10%;
	position: relative;
	z-index: 1;
}

.fv__title-en {
	color: var(--fv-color);
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-family: var(--font-family-second);
	font-size: calc(1800 / 390 * 1cqw);
	font-size: calc(1800 / var(--cq-ref-mobile) * 1cqw);
	font-weight: 700;
	font-weight: var(--font-weight-bold);
}

.fv__title-en-y {
	letter-spacing: 0.03em;
}

.fv__title-en-o {
	letter-spacing: -0.01em;
}

.fv__title-en-t {
	letter-spacing: 0.06em;
}

.fv__title-en-t02 {
	letter-spacing: 0.05em;
}

.fv__title-en-s {
	letter-spacing: 0.02em;
}

.fv__title-ja {
	color: var(--fv-color);
	font-size: calc(4000 / 390 * 1cqw);
	font-size: calc(4000 / var(--cq-ref-mobile) * 1cqw);
	font-weight: 700;
	font-weight: var(--font-weight-bold);
	line-height: 1.17;
	text-align: center;
}

.fv__swiper {
	background-image: url("../images/bg-slide-mask.webp");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	height: auto;
	width: calc(100% + 21cqw);
}

.fv__swiper-img {
	height: auto;
	width: 100%;
}

.induction-ceremony {
	container-type: inline-size;
	margin-top: calc(10100 / 390 * 1cqw);
	margin-top: calc(10100 / var(--cq-ref-mobile) * 1cqw);
	overflow-x: clip;
	position: relative;
}

.induction-ceremony__inner {
	container-type: inline-size;
	position: relative;
}

.induction-ceremony__content {
	background-color: #fff;
	background-color: var(--white);
	border: 2.5px solid #1D8E0A;
	padding-bottom: calc(2700 / 324 * 1cqw);
	padding-bottom: calc(2700 / var(--cq-ref-mobile-inner) * 1cqw);
	padding-left: calc(2000 / 324 * 1cqw);
	padding-left: calc(2000 / var(--cq-ref-mobile-inner) * 1cqw);
	padding-right: calc(2000 / 324 * 1cqw);
	padding-right: calc(2000 / var(--cq-ref-mobile-inner) * 1cqw);
	padding-top: calc(3000 / 324 * 1cqw);
	padding-top: calc(3000 / var(--cq-ref-mobile-inner) * 1cqw);
	position: relative;
}

.induction-ceremony__text {
	color: #000;
	color: var(--black);
	font-size: calc(1800 / 324 * 1cqw);
	font-size: calc(1800 / var(--cq-ref-mobile-inner) * 1cqw);
	font-weight: 500;
	font-weight: var(--font-weight-normal);
	margin-top: calc(2200 / 324 * 1cqw);
	margin-top: calc(2200 / var(--cq-ref-mobile-inner) * 1cqw);
	text-align: center;
}

.inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 600px;
	padding-left: 33px;
	padding-right: 33px;
	width: 100%;
}

.recruitment-cta {
	container-type: inline-size;
	margin-top: calc(8100 / 390 * 1cqw);
	margin-top: calc(8100 / var(--cq-ref-mobile) * 1cqw);
	overflow-x: clip;
	padding-bottom: calc(11000 / 390 * 1cqw);
	padding-bottom: calc(11000 / var(--cq-ref-mobile) * 1cqw);
	position: relative;
}

.recruitment-cta__inner {
	container-type: inline-size;
	position: relative;
}

.recruitment-cta__list {
	grid-gap: calc(3000 / 324 * 1cqw);
	grid-gap: calc(3000 / var(--cq-ref-mobile-inner) * 1cqw);
	align-items: center;
	display: grid;
	gap: calc(3000 / 324 * 1cqw);
	gap: calc(3000 / var(--cq-ref-mobile-inner) * 1cqw);
	grid-template-columns: 1fr;
	justify-content: center;
}

.recruitment-cta__item {
	align-items: center;
	aspect-ratio: 320/219;
	background: url("../images/recruitment-cta-item-bg_sp.webp") no-repeat center center/contain;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.recruitment-cta__label-en {
	font-size: calc(1500 / 324 * 1cqw);
	font-size: calc(1500 / var(--cq-ref-mobile-inner) * 1cqw);
	font-weight: 700;
	font-weight: var(--font-weight-bold);
	line-height: 1;
}

.recruitment-cta__label-ja {
	align-items: center;
	display: flex;
	font-size: calc(2800 / 324 * 1cqw);
	font-size: calc(2800 / var(--cq-ref-mobile-inner) * 1cqw);
	font-weight: 700;
	font-weight: var(--font-weight-bold);
	justify-content: center;
	line-height: 1;
	margin-top: calc(400 / 324 * 1cqw);
	margin-top: calc(400 / var(--cq-ref-mobile-inner) * 1cqw);
	text-align: center;
	white-space: nowrap;
}

.recruitment-cta__item--career .recruitment-cta__label-ja {
	-webkit-text-decoration: none;
	text-decoration: none;
}

.recruitment-cta__label-ja-inner {
	position: relative;
	z-index: 1;
}

.recruitment-cta__label-ja-inner::before {
	background-color: #84BE55;
	background-color: var(--line-color);
	bottom: -13%;
	content: "";
	height: 0.2916666667em;
	left: 50%;
	position: absolute;
	translate: -50% 0;
	width: 100%;
	z-index: -1;
}

.recruitment-cta__label-ja-deco {
	-webkit-mask-image: url("../images/sushi-deco.svg");
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	-webkit-mask-position: center;
	aspect-ratio: 63/46;
	background-color: #1D8E0A;
	background-color: var(--main-color02);
	margin-top: calc(700 / 324 * 1cqw);
	margin-top: calc(700 / var(--cq-ref-mobile-inner) * 1cqw);
	mask-image: url("../images/sushi-deco.svg");
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	width: calc(5100 / 324 * 1cqw);
	width: calc(5100 / var(--cq-ref-mobile-inner) * 1cqw);
}

.recruitment-cta__label-ja-deco--left {
	margin-right: calc(500 / 324 * 1cqw);
	margin-right: calc(500 / var(--cq-ref-mobile-inner) * 1cqw);
}

.recruitment-cta__label-ja-deco--right {
	margin-left: calc(500 / 324 * 1cqw);
	margin-left: calc(500 / var(--cq-ref-mobile-inner) * 1cqw);
}

.recruitment-cta__label-ja-ya {
	letter-spacing: -0.3em;
}

.recruitment-cta__label-ja-ri {
	letter-spacing: -0.25em;
}

.recruitment-cta__label-ja-a {
	letter-spacing: -0.02em;
}

.recruitment-cta__label-ja-recruit {
	letter-spacing: 0.05em;
}

.recruitment-cta__label-ja-inner {
	display: flex;
}

.recruitment-cta__link {
	align-items: center;
	background-color: #1D8E0A;
	background-color: var(--main-color02);
	border-radius: calc(infinity * 1px);
	box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
	color: #fff;
	color: var(--white);
	display: flex;
	font-size: calc(2000 / 324 * 1cqw);
	font-size: calc(2000 / var(--cq-ref-mobile-inner) * 1cqw);
	font-weight: 700;
	font-weight: var(--font-weight-bold);
	gap: calc(200 / 324 * 1cqw);
	gap: calc(200 / var(--cq-ref-mobile-inner) * 1cqw);
	justify-content: center;
	margin-top: calc(1400 / 324 * 1cqw);
	margin-top: calc(1400 / var(--cq-ref-mobile-inner) * 1cqw);
	padding-bottom: calc(2700 / 324 * 1cqw);
	padding-bottom: calc(2700 / var(--cq-ref-mobile-inner) * 1cqw);
	padding-top: calc(2700 / 324 * 1cqw);
	padding-top: calc(2700 / var(--cq-ref-mobile-inner) * 1cqw);
	text-align: center;
	transition: box-shadow 0.3s ease, transform 0.3s ease;
	transition: box-shadow var(--duration-base) ease, transform var(--duration-base) ease;
}

.recruitment-cta__link::after {
	-webkit-mask-image: url("../images/common-modal-more-btn-arrow.svg");
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	background-color: #fff;
	background-color: var(--white);
	content: "";
	display: inline-block;
	mask-image: url("../images/common-modal-more-btn-arrow.svg");
	mask-repeat: no-repeat;
	mask-size: contain;
	position: relative;
	top: calc(100 / 324 * 1cqw);
	top: calc(100 / var(--cq-ref-mobile-inner) * 1cqw);
}

.training-completed {
	container-type: inline-size;
	margin-top: calc(3000 / 390 * 1cqw);
	margin-top: calc(3000 / var(--cq-ref-mobile) * 1cqw);
	overflow-x: clip;
	position: relative;
}

.training-completed__inner {
	container-type: inline-size;
	position: relative;
}

.training-completed__content {
	background-color: #fff;
	background-color: var(--white);
	border: 2.5px solid #1D8E0A;
	padding-bottom: calc(2400 / 324 * 1cqw);
	padding-bottom: calc(2400 / var(--cq-ref-mobile-inner) * 1cqw);
	padding-left: calc(3000 / 324 * 1cqw);
	padding-left: calc(3000 / var(--cq-ref-mobile-inner) * 1cqw);
	padding-right: calc(3000 / 324 * 1cqw);
	padding-right: calc(3000 / var(--cq-ref-mobile-inner) * 1cqw);
	padding-top: calc(3000 / 324 * 1cqw);
	padding-top: calc(3000 / var(--cq-ref-mobile-inner) * 1cqw);
	position: relative;
	z-index: 1;
}

.training-completed__header-img {
	-o-object-fit: contain;
	height: auto;
	object-fit: contain;
}

.training-completed__header {
	align-items: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.training-completed__text {
	font-size: calc(1600 / 324 * 1cqw);
	font-size: calc(1600 / var(--cq-ref-mobile-inner) * 1cqw);
	font-weight: 500;
	font-weight: var(--font-weight-normal);
	line-height: 2.5;
	margin-top: calc(1600 / 324 * 1cqw);
	margin-top: calc(1600 / var(--cq-ref-mobile-inner) * 1cqw);
	text-align: center;
}

.training-completed__text-highlight {
	font-size: calc(2000 / 324 * 1cqw);
	font-size: calc(2000 / var(--cq-ref-mobile-inner) * 1cqw);
	line-height: 2;
	position: relative;
	z-index: 1;
}

.training-completed__text-highlight::before {
	background-color: #84BE55;
	background-color: var(--line-color);
	bottom: 18.5%;
	content: "";
	height: 0.25em;
	left: 50%;
	position: absolute;
	translate: -50% 0;
	width: 100%;
	z-index: -1;
}

.training-schedule {
	container-type: inline-size;
	margin-top: min(10300 / 390 * 1cqw, 115px);
	margin-top: min(10300 / var(--cq-ref-mobile) * 1cqw, 115px);
	overflow-x: clip;
	position: relative;
}

.training-schedule__inner {
	position: relative;
}

.training-schedule__content {
	aspect-ratio: 320.92/684.13;
	background: url("../images/training-schedule-bg_sp.webp") no-repeat center center/contain;
	container-type: inline-size;
	position: relative;
	z-index: 1;
}

.training-schedule__title-block {
	padding-top: calc(4500 / 324 * 1cqw);
	padding-top: calc(4500 / var(--cq-ref-mobile-inner) * 1cqw);
}

.training-schedule__list {
	grid-gap: calc(700 / 324 * 1cqw) calc(800 / 324 * 1cqw);
	grid-gap: calc(700 / var(--cq-ref-mobile-inner) * 1cqw) calc(800 / var(--cq-ref-mobile-inner) * 1cqw);
	display: grid;
	gap: calc(700 / 324 * 1cqw) calc(800 / 324 * 1cqw);
	gap: calc(700 / var(--cq-ref-mobile-inner) * 1cqw) calc(800 / var(--cq-ref-mobile-inner) * 1cqw);
	grid-template-columns: repeat(2, 1fr);
	height: -moz-fit-content;
	height: fit-content;
	margin-top: calc(3000 / 324 * 1cqw);
	margin-top: calc(3000 / var(--cq-ref-mobile-inner) * 1cqw);
	padding-left: calc(3000 / 324 * 1cqw);
	padding-left: calc(3000 / var(--cq-ref-mobile-inner) * 1cqw);
	padding-right: calc(3000 / 324 * 1cqw);
	padding-right: calc(3000 / var(--cq-ref-mobile-inner) * 1cqw);
}

.training-schedule__item {
	aspect-ratio: 210.99/130.73;
	background: url("../images/training-schedule-item-bg.svg") no-repeat center center/contain;
	display: block;
	height: 100%;
	transition: filter 0.2s ease, scale 0.2s ease;
	transition: filter var(--duration-short) ease, scale var(--duration-short) ease;
	width: 100%;
}

.training-schedule__link {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: calc(2100 / 324 * 1cqw);
	gap: calc(2100 / var(--cq-ref-mobile-inner) * 1cqw);
	height: 100%;
	padding-right: calc(500 / 324 * 1cqw);
	padding-right: calc(500 / var(--cq-ref-mobile-inner) * 1cqw);
	transform: translateY(calc(800 / 324 * 1cqw));
	transform: translateY(calc(800 / var(--cq-ref-mobile-inner) * 1cqw));
}

.training-schedule__number {
	color: #fff;
	color: var(--white);
	font-size: calc(2000 / 324 * 1cqw);
	font-size: calc(2000 / var(--cq-ref-mobile-inner) * 1cqw);
	font-weight: 700;
	font-weight: var(--font-weight-bold);
	line-height: 1;
}

.training-schedule__label {
	color: #fff;
	color: var(--white);
	font-size: calc(1400 / 324 * 1cqw);
	font-size: calc(1400 / var(--cq-ref-mobile-inner) * 1cqw);
	font-weight: 700;
	font-weight: var(--font-weight-bold);
	line-height: 1;
	text-align: center;
}

.training-schedule__label sup {
	font-size: calc(1000 / 324 * 1cqw);
	font-size: calc(1000 / var(--cq-ref-mobile-inner) * 1cqw);
	padding-left: calc(100 / 324 * 1cqw);
	padding-left: calc(100 / var(--cq-ref-mobile-inner) * 1cqw);
}

.training-schedule__label-text {
	position: relative;
	z-index: 1;
}

.training-schedule__label-text::before {
	background-color: #84BE55;
	background-color: var(--line-color);
	bottom: calc(-300 / 324 * 1cqw);
	bottom: calc(-300 / var(--cq-ref-mobile-inner) * 1cqw);
	content: "";
	height: 0.3571428571em;
	left: 50%;
	position: absolute;
	transform: scale(1, 1);
	transform-origin: left top;
	transition: transform 0.4s cubic-bezier(0.6, 0, 0, 1);
	translate: -50% 0;
	width: calc(100% + 2px);
	z-index: -1;
}

.training-schedule__label:has(> sup) {
	padding-left: calc(600 / 324 * 1cqw);
	padding-left: calc(600 / var(--cq-ref-mobile-inner) * 1cqw);
}

.training-schedule__hr {
	border: none;
	border-top: solid #1D8E0A 1.5px;
	border-top: solid var(--main-color02) 1.5px;
	margin-left: calc(3000 / 324 * 1cqw);
	margin-left: calc(3000 / var(--cq-ref-mobile-inner) * 1cqw);
	margin-right: calc(3000 / 324 * 1cqw);
	margin-right: calc(3000 / var(--cq-ref-mobile-inner) * 1cqw);
	margin-top: calc(2300 / 324 * 1cqw);
	margin-top: calc(2300 / var(--cq-ref-mobile-inner) * 1cqw);
}

.training-schedule__details {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	margin-top: calc(2200 / 324 * 1cqw);
	margin-top: calc(2200 / var(--cq-ref-mobile-inner) * 1cqw);
}

.training-schedule__detail {
	align-items: center;
	aspect-ratio: 300/409;
	display: flex;
	flex-direction: column;
	gap: calc(5100 / 324 * 1cqw);
	gap: calc(5100 / var(--cq-ref-mobile-inner) * 1cqw);
}

.training-schedule__detail-title {
	color: #fff;
	color: var(--white);
	font-size: calc(2000 / 324 * 1cqw);
	font-size: calc(2000 / var(--cq-ref-mobile-inner) * 1cqw);
	font-weight: 700;
	font-weight: var(--font-weight-bold);
	line-height: 1;
	margin-top: calc(2800 / 324 * 1cqw);
	margin-top: calc(2800 / var(--cq-ref-mobile-inner) * 1cqw);
	text-align: center;
}

.training-schedule__detail-title sup {
	font-size: calc(1200 / 324 * 1cqw);
	font-size: calc(1200 / var(--cq-ref-mobile-inner) * 1cqw);
	padding-left: calc(200 / 324 * 1cqw);
	padding-left: calc(200 / var(--cq-ref-mobile-inner) * 1cqw);
}

.training-schedule__detail-title-text {
	position: relative;
	z-index: 1;
}

.training-schedule__detail-title-text::before {
	background-color: #84BE55;
	background-color: var(--line-color);
	bottom: calc(-300 / 324 * 1cqw);
	bottom: calc(-300 / var(--cq-ref-mobile-inner) * 1cqw);
	content: "";
	height: 0.25em;
	left: 50%;
	position: absolute;
	translate: -50% 0;
	width: calc(100% + 2px);
	z-index: -1;
}

.training-schedule__detail-text {
	color: #fff;
	color: var(--white);
	font-size: calc(1300 / 324 * 1cqw);
	font-size: calc(1300 / var(--cq-ref-mobile-inner) * 1cqw);
	font-weight: 500;
	font-weight: var(--font-weight-normal);
	line-height: 1.38462;
	text-align: center;
}

.training-schedule__note {
	color: #000;
	color: var(--black);
	font-size: calc(1100 / 324 * 1cqw);
	font-size: calc(1100 / var(--cq-ref-mobile-inner) * 1cqw);
	font-weight: 500;
	font-weight: var(--font-weight-normal);
	margin-top: calc(1400 / 324 * 1cqw);
	margin-top: calc(1400 / var(--cq-ref-mobile-inner) * 1cqw);
	padding-left: calc(1200 / 324 * 1cqw);
	padding-left: calc(1200 / var(--cq-ref-mobile-inner) * 1cqw);
	padding-right: calc(800 / 324 * 1cqw);
	padding-right: calc(800 / var(--cq-ref-mobile-inner) * 1cqw);
	text-align: center;
}

.training-schedule__note-ha {
	letter-spacing: 0.16em;
}

.training-system {
	container-type: inline-size;
	margin-top: calc(7700 / 390 * 1cqw);
	margin-top: calc(7700 / var(--cq-ref-mobile) * 1cqw);
	overflow-x: clip;
	position: relative;
}

.training-system__inner {
	position: relative;
}

.training-system__content {
	aspect-ratio: 1524/1554;
	background: url("../images/training-system-bg.webp") no-repeat center center/contain;
	container-type: inline-size;
	position: relative;
	z-index: 1;
}

.training-system__title-block {
	padding-top: 13%;
}

.training-system__text {
	color: #fff;
	color: var(--white);
	font-size: calc(1600 / 390 * 1cqw);
	font-size: calc(1600 / var(--cq-ref-mobile) * 1cqw);
	font-weight: 700;
	font-weight: var(--font-weight-bold);
	line-height: 2;
	margin-top: 26.5%;
	text-align: center;
}

.training-system__text.is-active .training-system__highlight::before {
	transform: scale(1, 1);
	transform-origin: left top;
}

.training-system__highlight {
	font-size: calc(2000 / 390 * 1cqw);
	font-size: calc(2000 / var(--cq-ref-mobile) * 1cqw);
	line-height: 1.6;
	position: relative;
	z-index: 1;
}

.training-system__highlight::before {
	background-color: #84BE55;
	background-color: var(--line-color);
	bottom: 12%;
	content: "";
	height: 0.25em;
	left: 50%;
	position: absolute;
	translate: -50% 0;
	width: 100%;
	z-index: -1;
}

.training-system__text-bracket {
	letter-spacing: 0.1527272727em;
}

.training-system__text-3 {
	letter-spacing: -0.1018181818em;
}

.training-system__text-number-kana {
	letter-spacing: -0.2545454545em;
}

.training-system__text-ha {
	letter-spacing: 0.11em;
}

.training-system__text-1 {
	letter-spacing: -0.08em;
}

.training-system__text-number-kana02 {
	letter-spacing: -0.11em;
}

.bg-deco-text {
	position: absolute;
	translate: -50% -50%;
	z-index: 0;
}

.bg-deco-text01 {
	left: 55%;
	top: -14%;
	width: min(8700 / 390 * 1vw, 100%);
	width: min(8700 / var(--cq-ref-mobile) * 1vw, 100%);
}

.bg-deco-text02 {
	left: 4%;
	top: 35%;
	width: min(9100 / 390 * 1vw, 100%);
	width: min(9100 / var(--cq-ref-mobile) * 1vw, 100%);
}

.bg-deco-text03 {
	left: 96%;
	top: 50.5%;
	width: min(9300 / 390 * 1vw, 100%);
	width: min(9300 / var(--cq-ref-mobile) * 1vw, 100%);
}

.bg-deco-text04 {
	left: 33.5%;
	top: -19.5%;
	width: min(7800 / 390 * 1vw, 100%);
	width: min(7800 / var(--cq-ref-mobile) * 1vw, 100%);
}

.bg-deco-text05 {
	left: 95%;
	top: 3%;
	width: min(8700 / 390 * 1vw, 100%);
	width: min(8700 / var(--cq-ref-mobile) * 1vw, 100%);
}

.bg-deco-text06 {
	left: 93%;
	top: 85%;
	width: min(29300 / 1440 * 1vw, 100%);
	width: min(29300 / var(--cq-ref) * 1vw, 100%);
}

.bg-deco-text07 {
	left: 8%;
	top: 50%;
	width: min(7800 / 390 * 1vw, 100%);
	width: min(7800 / var(--cq-ref-mobile) * 1vw, 100%);
}

.bg-deco-text08 {
	left: 29%;
	top: 99%;
	width: min(7800 / 390 * 1vw, 100%);
	width: min(7800 / var(--cq-ref-mobile) * 1vw, 100%);
}

.bg-deco-text09 {
	left: 88%;
	top: -6.5%;
	width: min(9100 / 390 * 1vw, 100%);
	width: min(9100 / var(--cq-ref-mobile) * 1vw, 100%);
}

.bg-deco-text10 {
	left: 92%;
	top: 16%;
	width: min(7700 / 390 * 1vw, 100%);
	width: min(7700 / var(--cq-ref-mobile) * 1vw, 100%);
}

.bg-deco-text11 {
	left: 6%;
	top: 80%;
	width: min(8700 / 390 * 1vw, 100%);
	width: min(8700 / var(--cq-ref-mobile) * 1vw, 100%);
}

.bg-deco-text12 {
	left: 92%;
	top: 28.4%;
	width: min(7800 / 390 * 1vw, 100%);
	width: min(7800 / var(--cq-ref-mobile) * 1vw, 100%);
}

.bg-deco-text13 {
	left: 7%;
	top: 63.5%;
	width: min(7800 / 390 * 1vw, 100%);
	width: min(7800 / var(--cq-ref-mobile) * 1vw, 100%);
}

.bg-deco-text14 {
	left: 92%;
	top: 36.5%;
	width: min(7800 / 390 * 1vw, 100%);
	width: min(7800 / var(--cq-ref-mobile) * 1vw, 100%);
}

.bg-deco-text15 {
	left: 13%;
	top: 99%;
	width: min(7800 / 390 * 1vw, 100%);
	width: min(7800 / var(--cq-ref-mobile) * 1vw, 100%);
}

.bg-deco-text16 {
	left: 8%;
	top: 69%;
	width: min(7800 / 390 * 1vw, 100%);
	width: min(7800 / var(--cq-ref-mobile) * 1vw, 100%);
}

.bg-deco-text17 {
	left: 91%;
	top: 27.5%;
	width: min(9300 / 390 * 1vw, 100%);
	width: min(9300 / var(--cq-ref-mobile) * 1vw, 100%);
}

.bg-deco-text18 {
	left: 8%;
	top: 71%;
	width: min(7800 / 390 * 1vw, 100%);
	width: min(7800 / var(--cq-ref-mobile) * 1vw, 100%);
}

.bg-deco-text19 {
	left: 15%;
	top: 94.5%;
	width: min(8700 / 390 * 1vw, 100%);
	width: min(8700 / var(--cq-ref-mobile) * 1vw, 100%);
}

.bg-deco-text20 {
	left: 83%;
	top: 37%;
	width: min(7800 / 390 * 1vw, 100%);
	width: min(7800 / var(--cq-ref-mobile) * 1vw, 100%);
}

.bg-deco-text21 {
	left: 92%;
	top: 67.5%;
	width: min(7800 / 390 * 1vw, 100%);
	width: min(7800 / var(--cq-ref-mobile) * 1vw, 100%);
}

.bg-deco-text22 {
	left: 7%;
	top: 86.6%;
	width: min(7800 / 390 * 1vw, 100%);
	width: min(7800 / var(--cq-ref-mobile) * 1vw, 100%);
}

.bg-deco-text23 {
	left: 59%;
	top: -1%;
	width: min(8700 / 390 * 1vw, 100%);
	width: min(8700 / var(--cq-ref-mobile) * 1vw, 100%);
}

.bg-deco-text24 {
	left: 8.5%;
	top: 19%;
	width: min(9100 / 390 * 1vw, 100%);
	width: min(9100 / var(--cq-ref-mobile) * 1vw, 100%);
}

.bg-deco-text25 {
	left: 100%;
	top: 25%;
	width: min(9300 / 390 * 1vw, 100%);
	width: min(9300 / var(--cq-ref-mobile) * 1vw, 100%);
}

.bg-deco-text26 {
	left: 85.5%;
	top: 53%;
	width: min(8700 / 390 * 1vw, 100%);
	width: min(8700 / var(--cq-ref-mobile) * 1vw, 100%);
}

.bg-deco-text27 {
	left: 10%;
	top: 80%;
	width: min(7700 / 390 * 1vw, 100%);
	width: min(7700 / var(--cq-ref-mobile) * 1vw, 100%);
}

.bg-deco-text28 {
	left: 100%;
	top: 35%;
	width: min(9300 / 390 * 1vw, 100%);
	width: min(9300 / var(--cq-ref-mobile) * 1vw, 100%);
}

.bg-deco-text29 {
	left: 9%;
	top: 24%;
	width: min(9100 / 390 * 1vw, 100%);
	width: min(9100 / var(--cq-ref-mobile) * 1vw, 100%);
}

.bg-deco-text30 {
	left: 85%;
	top: 90%;
	width: min(8700 / 390 * 1vw, 100%);
	width: min(8700 / var(--cq-ref-mobile) * 1vw, 100%);
}

.bg-deco-text31 {
	left: 65%;
	top: 1%;
	width: min(7800 / 390 * 1vw, 100%);
	width: min(7800 / var(--cq-ref-mobile) * 1vw, 100%);
}

.bg-deco-text32 {
	left: 9%;
	top: 43%;
	width: min(7700 / 390 * 1vw, 100%);
	width: min(7700 / var(--cq-ref-mobile) * 1vw, 100%);
}

.bg-deco-text33 {
	left: 85%;
	top: 84%;
	width: min(8700 / 390 * 1vw, 100%);
	width: min(8700 / var(--cq-ref-mobile) * 1vw, 100%);
}

.bg-deco-text__img {
	-o-object-fit: contain;
	height: auto;
	object-fit: contain;
}

.footer {
	background-color: #000;
	padding: 10px 0;
	text-align: center;
}

.footer__text {
	color: #fff;
	font-family: YakuHanMP, "Noto Serif JP", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", serif;
	font-size: 12px;
	line-height: 2;
}

.header {
	align-items: center;
	display: flex;
	justify-content: space-between;
	left: 0;
	padding-left: 12px;
	padding-right: 21px;
	pointer-events: none;
	position: fixed;
	right: 0;
	top: 10px;
	width: 100%;
	z-index: 100;
	z-index: var(--z-index-header);
}

.header__logo {
	pointer-events: auto;
	transition: opacity 0.3s ease;
	transition: opacity var(--duration-base) ease;
	width: 65px;
}

.header__logo-img {
	-o-object-fit: contain;
	aspect-ratio: 84/63;
	height: auto;
	object-fit: contain;
}

.header__nav {
	background-color: #228123;
	background-color: var(--main-color);
	border-radius: calc(infinity * 1px);
	height: -moz-fit-content;
	height: fit-content;
	padding-bottom: clamp(10px, 10px + 2 * (100vw - 768px) / (1440 - 768), 12px);
	padding-bottom: clamp(10px, 10px + 2 * var(--fluid-basis), 12px);
	padding-left: clamp(21px, 21px + 10 * (100vw - 768px) / (1440 - 768), 31px);
	padding-left: clamp(21px, 21px + 10 * var(--fluid-basis), 31px);
	padding-right: clamp(21px, 21px + 10 * (100vw - 768px) / (1440 - 768), 31px);
	padding-right: clamp(21px, 21px + 10 * var(--fluid-basis), 31px);
	padding-top: clamp(9px, 9px + 2 * (100vw - 768px) / (1440 - 768), 11px);
	padding-top: clamp(9px, 9px + 2 * var(--fluid-basis), 11px);
	pointer-events: auto;
}

.header__nav-list {
	align-items: center;
	display: flex;
	gap: clamp(21px, 21px + 20 * (100vw - 768px) / (1440 - 768), 41px);
	gap: clamp(21px, 21px + 20 * var(--fluid-basis), 41px);
}

.header__nav-link {
	color: #fff;
	color: var(--white);
	font-size: clamp(12px, 12px + 1 * (100vw - 768px) / (1440 - 768), 13px);
	font-size: clamp(12px, 12px + 1 * var(--fluid-basis), 13px);
	font-weight: 700;
	font-weight: var(--font-weight-bold);
	position: relative;
	z-index: 1;
}

.header__nav-link::before {
	background-color: #84BE55;
	background-color: var(--line-color);
	bottom: 0;
	content: "";
	height: 0.3846153846em;
	left: 50%;
	position: absolute;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform 0.4s cubic-bezier(0.6, 0, 0, 1);
	translate: -50% 0;
	width: calc(100% + 2px);
	z-index: -1;
}

.header__nav-link:hover::before {
	transform: scale(1, 1);
	transform-origin: left top;
}

/* ===============================================
# ハンバーガーメニュー
=============================================== */

.header-hamburger {
	position: fixed;
	right: 12px;
	top: 13px;
	z-index: 2000;
	z-index: var(--z-index-hamburger);
}

.header-hamburger__btn {
	align-items: center;
	aspect-ratio: 1;
	background-color: #1D8E0A;
	background-color: var(--main-color02);
	border-radius: calc(infinity * 1px);
	display: flex;
	flex-direction: column;
	gap: clamp(4.5px, 4.5px + 2 * (100vw - 320px) / (390 - 320), 6.5px);
	gap: clamp(4.5px, 4.5px + 2 * var(--fluid-basis-mobile), 6.5px);
	justify-content: center;
	pointer-events: auto;
	position: relative;
	transition: width 0.2s ease;
	transition: width var(--duration-short) ease;
	width: min(6600 / 390 * 1cqw, 66px);
	width: min(6600 / var(--cq-ref-mobile) * 1cqw, 66px);
}

.header-hamburger__btn span {
	background: #fff;
	background: var(--white);
	border-radius: calc(infinity * 1px);
	height: 2px;
	transition: rotate 0.2s ease, translate 0.2s ease;
	transition: rotate var(--duration-short) ease, translate var(--duration-short) ease;
	width: min(2900 / 390 * 1cqw, 29px);
	width: min(2900 / var(--cq-ref-mobile) * 1cqw, 29px);
}

.header-hamburger__btn.is-open {
	background-color: #84BE55;
	background-color: var(--line-color);
}

.header-hamburger__btn.is-open span {
	width: min(3700 / 390 * 1cqw, 37px);
	width: min(3700 / var(--cq-ref-mobile) * 1cqw, 37px);
}

.header-hamburger__btn.is-open span:nth-of-type(1) {
	position: absolute;
	rotate: 45deg;
	top: 50%;
	translate: 0 -50%;
}

.header-hamburger__btn.is-open span:nth-of-type(2) {
	opacity: 0;
	visibility: hidden;
}

.header-hamburger__btn.is-open span:nth-of-type(3) {
	position: absolute;
	rotate: -45deg;
	top: 50%;
	translate: 0 -50%;
}

/* ===============================================
# ドロワーメニュー
=============================================== */

.drawer {
	background-color: #1D8E0A;
	background-color: var(--main-color02);
	bottom: 0;
	left: 0;
	opacity: 0;
	overflow: hidden;
	overflow-y: auto;
	padding-top: clamp(50px, 50px + 31 * (100vw - 320px) / (390 - 320), 81px);
	padding-top: clamp(50px, 50px + 31 * var(--fluid-basis-mobile), 81px);
	position: fixed;
	right: 0;
	scrollbar-width: none;
	top: 0;
	transition: opacity 0.2s ease, visibility 0.2s ease;
	transition: opacity var(--duration-short) ease, visibility var(--duration-short) ease;
	visibility: hidden;
	z-index: 1000;
	z-index: var(--z-index-drawer);
}

.drawer.is-open {
	opacity: 1;
	visibility: visible;
}

.drawer__content {
	container-type: inline-size;
	height: 100%;
	margin-left: auto;
	margin-right: auto;
	max-width: 450px;
	min-height: 590px;
	position: relative;
}

.drawer__content::before {
	aspect-ratio: 1212/1244;
	background: url("../images/drawer-bg.webp") no-repeat center center/contain;
	content: "";
	left: 50%;
	position: absolute;
	top: 43%;
	translate: -50% -50%;
	width: 155%;
	z-index: -1;
}

.drawer__list {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: calc(2800 / 390 * 1cqw);
	gap: calc(2800 / var(--cq-ref-mobile) * 1cqw);
	height: 100%;
	justify-content: center;
	left: 53%;
	position: absolute;
	top: 45%;
	translate: -50% -50%;
	width: 100%;
}

.drawer__item {
	display: flex;
}

.drawer__link {
	color: #1D8E0A;
	color: var(--main-color02);
	font-size: calc(2800 / 390 * 1cqw);
	font-size: calc(2800 / var(--cq-ref-mobile) * 1cqw);
	font-weight: 700;
	position: relative;
	text-align: center;
}

.drawer__link::before {
	aspect-ratio: 1;
	background-color: #1D8E0A;
	background-color: var(--main-color02);
	border-radius: calc(infinity * 1px);
	content: "";
	left: -24px;
	position: absolute;
	top: 53%;
	translate: 0 -50%;
	width: calc(1400 / 390 * 1cqw);
	width: calc(1400 / var(--cq-ref-mobile) * 1cqw);
}

.drawer__link-text {
	position: relative;
	z-index: 1;
}

.drawer__link-text::before {
	background-color: #84BE55;
	background-color: var(--line-color);
	bottom: calc(400 / 390 * 1cqw);
	bottom: calc(400 / var(--cq-ref-mobile) * 1cqw);
	content: "";
	height: 0.1785714286em;
	left: 50%;
	position: absolute;
	translate: -50% 0;
	width: calc(100% + 5px);
	z-index: -1;
}

body.body-hidden {
	overflow: hidden;
}

.section-header {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: calc(2400 / 324 * 1cqw);
	gap: calc(2400 / var(--cq-ref-mobile-inner) * 1cqw);
}

.section-header__img-wrap {
	width: calc(12451 / 324 * 1cqw);
	width: calc(12451 / var(--cq-ref-mobile-inner) * 1cqw);
}

.section-header__img {
	-o-object-fit: contain;
	height: auto;
	object-fit: contain;
}

.section-title {
	align-items: center;
	display: flex;
	flex-direction: column;
}

.section-title.section-title--black .section-title__en {
	color: #000;
	color: var(--black);
}

.section-title.section-title--black .section-title__ja {
	color: #000;
	color: var(--black);
}

.section-title__en {
	color: #fff;
	color: var(--white);
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-family: var(--font-family-second);
	font-size: calc(1500 / 390 * 1cqw);
	font-size: calc(1500 / var(--cq-ref-mobile) * 1cqw);
	font-weight: 700;
	font-weight: var(--font-weight-bold);
	line-height: 1;
}

.section-title__en-y {
	letter-spacing: 0.03em;
}

.section-title__en-o {
	letter-spacing: -0.01em;
}

.section-title__en-t {
	letter-spacing: 0.06em;
}

.section-title__en-t02 {
	letter-spacing: 0.05em;
}

.section-title__en-s {
	letter-spacing: 0.02em;
}

.section-title__ja {
	color: #fff;
	color: var(--white);
	font-size: calc(2800 / 390 * 1cqw);
	font-size: calc(2800 / var(--cq-ref-mobile) * 1cqw);
	font-weight: 700;
	font-weight: var(--font-weight-bold);
	line-height: 1;
	margin-top: 0.3em;
	position: relative;
	z-index: 1;
}

.section-title__ja::before {
	background-color: #84BE55;
	background-color: var(--line-color);
	bottom: -13%;
	content: "";
	height: 0.2916666667em;
	left: 50%;
	position: absolute;
	translate: -50% 0;
	width: calc(100% + 10px);
	z-index: -1;
}

.section-title__ja-ls {
	letter-spacing: -0.32em;
}

.training-section {
	container-type: inline-size;
	margin-top: calc(3000 / 390 * 1cqw);
	margin-top: calc(3000 / var(--cq-ref-mobile) * 1cqw);
	overflow-x: clip;
	position: relative;
}

.training-section__inner {
	container-type: inline-size;
	position: relative;
}

.training-section__content {
	background-color: #fff;
	background-color: var(--white);
	border: 2.5px solid #1D8E0A;
	padding-bottom: calc(3000 / 324 * 1cqw);
	padding-bottom: calc(3000 / var(--cq-ref-mobile-inner) * 1cqw);
	padding-left: calc(3000 / 324 * 1cqw);
	padding-left: calc(3000 / var(--cq-ref-mobile-inner) * 1cqw);
	padding-right: calc(3000 / 324 * 1cqw);
	padding-right: calc(3000 / var(--cq-ref-mobile-inner) * 1cqw);
	padding-top: calc(3000 / 324 * 1cqw);
	padding-top: calc(3000 / var(--cq-ref-mobile-inner) * 1cqw);
	position: relative;
	z-index: 1;
}

.training-section__header-text {
	color: #000;
	color: var(--black);
	font-size: calc(1800 / 324 * 1cqw);
	font-size: calc(1800 / var(--cq-ref-mobile-inner) * 1cqw);
	font-weight: 500;
	font-weight: var(--font-weight-normal);
	margin-top: calc(2200 / 324 * 1cqw);
	margin-top: calc(2200 / var(--cq-ref-mobile-inner) * 1cqw);
	text-align: center;
}

.training-section__header-text-ls {
	letter-spacing: 0.1em;
}

.training-section__body {
	display: flex;
	flex-direction: column;
}

.training-section__video,
.training-section__modal-btn {
	min-width: 0;
}

.training-section__video {
	-o-object-fit: contain;
	display: block;
	height: auto;
	max-width: 100%;
	min-width: 0;
	object-fit: contain;
	width: 100%;
}

.training-section__modal-btn {
	align-items: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.training-section__modal-btn-text {
	-webkit-text-decoration-skip: ink;
	color: #000;
	color: var(--black);
	font-family: "Zen Maru Gothic";
	font-size: calc(2000 / 324 * 1cqw);
	font-size: calc(2000 / var(--cq-ref-mobile-inner) * 1cqw);
	font-weight: 700;
	font-weight: var(--font-weight-bold);
	line-height: 1.15;
	text-align: center;
	text-decoration-color: #84BE55;
	text-decoration-color: var(--line-color);
	text-decoration-line: underline;
	text-decoration-skip-ink: auto;
	text-decoration-thickness: 0.25em;
	text-underline-offset: -0.1em;
}

.training-section__modal-more-btn {
	align-items: center;
	background: #1D8E0A;
	background: var(--main-color02);
	border-radius: calc(3250 / 324 * 1cqw);
	border-radius: calc(3250 / var(--cq-ref-mobile-inner) * 1cqw);
	box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
	color: #fff;
	color: var(--white);
	display: flex;
	font-family: "Zen Maru Gothic";
	font-size: calc(2000 / 324 * 1cqw);
	font-size: calc(2000 / var(--cq-ref-mobile-inner) * 1cqw);
	font-weight: 700;
	font-weight: var(--font-weight-bold);
	font-weight: var(--font-weight-bold);
	gap: calc(600 / 324 * 1cqw);
	gap: calc(600 / var(--cq-ref-mobile-inner) * 1cqw);
	justify-content: center;
	line-height: 1.15;
	margin-top: calc(800 / 324 * 1cqw);
	margin-top: calc(800 / var(--cq-ref-mobile-inner) * 1cqw);
	padding-left: calc(1000 / 324 * 1cqw);
	padding-left: calc(1000 / var(--cq-ref-mobile-inner) * 1cqw);
	padding-right: calc(1000 / 324 * 1cqw);
	padding-right: calc(1000 / var(--cq-ref-mobile-inner) * 1cqw);
	text-align: center;
}

.training-section__modal-more-btn.sp-none {
	display: none;
}

.training-section__modal-more-btn::after {
	-webkit-mask-image: url("../images/common-modal-more-btn-arrow.svg");
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	background-color: #fff;
	background-color: var(--white);
	content: "";
	display: inline-block;
	height: calc(1700 / 324 * 1cqw);
	height: calc(1700 / var(--cq-ref-mobile-inner) * 1cqw);
	mask-image: url("../images/common-modal-more-btn-arrow.svg");
	mask-repeat: no-repeat;
	mask-size: contain;
	position: relative;
	top: calc(200 / 324 * 1cqw);
	top: calc(200 / var(--cq-ref-mobile-inner) * 1cqw);
	width: calc(1400 / 324 * 1cqw);
	width: calc(1400 / var(--cq-ref-mobile-inner) * 1cqw);
}

.training-section__text-box-title {
	background: #1D8E0A;
	background: var(--main-color02);
	border-radius: calc(infinity * 1px);
	color: #fff;
	color: var(--white);
	display: inline-block;
	font-size: calc(1600 / 324 * 1cqw);
	font-size: calc(1600 / var(--cq-ref-mobile-inner) * 1cqw);
	font-weight: 500;
	font-weight: var(--font-weight-normal);
	line-height: 1;
	margin-top: calc(3000 / 324 * 1cqw);
	margin-top: calc(3000 / var(--cq-ref-mobile-inner) * 1cqw);
	min-width: calc(12000 / 324 * 1cqw);
	min-width: calc(12000 / var(--cq-ref-mobile-inner) * 1cqw);
	padding-bottom: calc(900 / 324 * 1cqw);
	padding-bottom: calc(900 / var(--cq-ref-mobile-inner) * 1cqw);
	padding-left: calc(2800 / 324 * 1cqw);
	padding-left: calc(2800 / var(--cq-ref-mobile-inner) * 1cqw);
	padding-right: calc(2800 / 324 * 1cqw);
	padding-right: calc(2800 / var(--cq-ref-mobile-inner) * 1cqw);
	padding-top: calc(500 / 324 * 1cqw);
	padding-top: calc(500 / var(--cq-ref-mobile-inner) * 1cqw);
	text-align: center;
}

.training-section__text-box-title.sp-none {
	display: none;
}

.training-section__text-box-title.training-section__text-box-title--purpose {
	margin-top: calc(1700 / 324 * 1cqw);
	margin-top: calc(1700 / var(--cq-ref-mobile-inner) * 1cqw);
}

.training-section__text-box-title-text {
	position: relative;
	z-index: 1;
}

.training-section__text-box-title-text::before {
	background-color: #84BE55;
	background-color: var(--line-color);
	bottom: calc(-300 / 324 * 1cqw);
	bottom: calc(-300 / var(--cq-ref-mobile-inner) * 1cqw);
	content: "";
	height: 0.3125em;
	left: 50%;
	position: absolute;
	translate: -50% 0;
	width: calc(100% + 2px);
	z-index: -1;
}

.training-section__text-box-text {
	color: #000;
	font-family: "Zen Maru Gothic";
	font-size: calc(1400 / 324 * 1cqw);
	font-size: calc(1400 / var(--cq-ref-mobile-inner) * 1cqw);
	font-weight: 500;
	font-weight: var(--font-weight-normal);
	line-height: 1.64286;
	margin-top: calc(800 / 324 * 1cqw);
	margin-top: calc(800 / var(--cq-ref-mobile-inner) * 1cqw);
}

.training-section__text-box-text.sp-none {
	display: none;
}

.training-section__swiper {
	margin-top: calc(3500 / 324 * 1cqw);
	margin-top: calc(3500 / var(--cq-ref-mobile-inner) * 1cqw);
	width: 100%;
}

.training-section__swiper-img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.training-section__swiper-pagination.swiper-pagination {
	margin-top: calc(300 / 324 * 1cqw);
	margin-top: calc(300 / var(--cq-ref-mobile-inner) * 1cqw);
	position: static;
	position: initial;
}

.training-section__swiper-pagination.swiper-pagination .swiper-pagination-bullet {
	margin-left: calc(1000 / 324 * 1cqw);
	margin-left: calc(1000 / var(--cq-ref-mobile-inner) * 1cqw);
	margin-right: calc(1000 / 324 * 1cqw);
	margin-right: calc(1000 / var(--cq-ref-mobile-inner) * 1cqw);
}

.training-section__swiper-pagination.swiper-pagination .swiper-pagination-bullet {
	background-color: #84BE55;
	background-color: var(--line-color);
	height: calc(1000 / 324 * 1cqw);
	height: calc(1000 / var(--cq-ref-mobile-inner) * 1cqw);
	opacity: 1;
	width: calc(1000 / 324 * 1cqw);
	width: calc(1000 / var(--cq-ref-mobile-inner) * 1cqw);
}

.training-section__swiper-pagination.swiper-pagination .swiper-pagination-bullet-active {
	background-color: #1D8E0A;
	background-color: var(--main-color02);
}

.training-section__swiper-pagination .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.training-section__swiper-pagination .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
	margin: 0 4px;
	margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}

/* ===============================================
# モーダル
=============================================== */

:root {
	scrollbar-gutter: stable;
}

:root:has(:modal) {
	overflow: hidden;
}

dialog.training-modal {
	transition-behavior: allow-discrete;
	background-color: #1D8E0A;
	background-color: var(--main-color02);
	border: none;
	bottom: 0;
	left: 0;
	overscroll-behavior-block: contain;
	padding: 0;
	padding-bottom: 15px;
	padding-left: 16px;
	padding-right: 16px;
	padding-top: 17px;
	position: fixed;
	right: 0;
	top: 0;
	transition-duration: 0.1s;
	transition-property: display, overlay, opacity;
	transition-timing-function: ease;
	width: 83.08%;
	z-index: 10000;
	z-index: var(--z-index-modal);
}

dialog.training-modal::backdrop {
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
	background: rgba(117, 117, 117, 0.4);
	transition-duration: inherit;
	transition-property: opacity;
	transition-timing-function: inherit;
}

dialog.training-modal:not(:modal),
dialog.training-modal:not(:modal)::backdrop {
	opacity: 0;
}

.training-modal__content {
	--cq-ref-mobile-inner: 292;
	container-type: inline-size;
}

.training-modal__title-block {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.training-modal__header::before {
	aspect-ratio: 125/91.502;
	background: url("../images/sushi-deco.svg") no-repeat center center/contain;
	content: "";
	display: inline-block;
	width: calc(12500 / 762 * 1cqw);
	width: calc(12500 / var(--cq-ref-inner) * 1cqw);
}

.training-modal__header::after {
	aspect-ratio: 125/91.502;
	background: url("../images/sushi-deco.svg") no-repeat center center/contain;
	content: "";
	display: inline-block;
	width: calc(12500 / 762 * 1cqw);
	width: calc(12500 / var(--cq-ref-inner) * 1cqw);
}

.training-modal__title-en {
	color: #fff;
	color: var(--white);
	font-size: min(1500 / 324 * 1cqw, 15px);
	font-size: min(1500 / var(--cq-ref-mobile-inner) * 1cqw, 15px);
	font-weight: 700;
	font-weight: var(--font-weight-bold);
	line-height: 1;
}

.training-modal__title-ja {
	color: #fff;
	color: var(--white);
	font-size: min(2800 / 324 * 1cqw, 28px);
	font-size: min(2800 / var(--cq-ref-mobile-inner) * 1cqw, 28px);
	font-weight: 700;
	line-height: 1;
	position: relative;
	z-index: 1;
}

.training-modal__title-ja::before {
	background-color: #84BE55;
	background-color: var(--line-color);
	bottom: calc(-300 / 324 * 1cqw);
	bottom: calc(-300 / var(--cq-ref-mobile-inner) * 1cqw);
	content: "";
	height: 0.25em;
	left: 50%;
	position: absolute;
	translate: -50% 0;
	width: calc(100% + 2px);
	z-index: -1;
}

.training-modal__body-wrap {
	position: relative;
}

.training-modal__body {
	background: #fff;
	height: 55cqh;
	margin-top: calc(1800 / 324 * 1cqw);
	margin-top: calc(1800 / var(--cq-ref-mobile-inner) * 1cqw);
	overflow-y: auto;
	padding: 19px 15px 19px 19px;
}

.training-modal__lead {
	-webkit-text-decoration-skip-ink: none;
	font-size: min(1800 / 324 * 1cqw, 18px);
	font-size: min(1800 / var(--cq-ref-mobile-inner) * 1cqw, 18px);
	font-weight: 700;
	font-weight: var(--font-weight-bold);
	text-decoration-color: #84BE55;
	text-decoration-color: var(--line-color);
	text-decoration-line: underline;
	text-decoration-skip-ink: none;
	text-decoration-thickness: 0.25em;
	text-underline-offset: -0.1em;
}

.training-modal__text {
	font-size: min(1400 / 324 * 1cqw, 14px);
	font-size: min(1400 / var(--cq-ref-mobile-inner) * 1cqw, 14px);
	font-weight: 500;
	font-weight: var(--font-weight-normal);
	margin-top: 1lh;
}

.training-modal__close-btn {
	--cq-ref-inner: 1440;
	align-items: center;
	aspect-ratio: 1;
	background-color: #84BE55;
	background-color: var(--line-color);
	border-radius: calc(infinity * 1px);
	display: flex;
	flex-direction: column;
	justify-content: center;
	pointer-events: auto;
	position: fixed;
	transition: filter 0.3s ease;
	transition: filter var(--duration-base) ease;
	width: min(6600 / 390 * 1cqw, 66px);
	width: min(6600 / var(--cq-ref-mobile) * 1cqw, 66px);
}

.training-modal__close-btn-line {
	background: #fff;
	background: var(--white);
	border-radius: calc(infinity * 1px);
	height: 2px;
	transition: rotate 0.2s ease, translate 0.2s ease;
	transition: rotate var(--duration-short) ease, translate var(--duration-short) ease;
	width: min(2900 / 390 * 1cqw, 29px);
	width: min(2900 / var(--cq-ref-mobile) * 1cqw, 29px);
}

.training-modal__close-btn-line:nth-of-type(1) {
	position: absolute;
	rotate: 45deg;
	top: 50%;
	translate: 0 -50%;
}

.training-modal__close-btn-line:nth-of-type(2) {
	position: absolute;
	rotate: -45deg;
	top: 50%;
	translate: 0 -50%;
}

.training-modal__body {
	-ms-overflow-style: none;
	scrollbar-width: none;
}

.training-modal__body::-webkit-scrollbar {
	display: none;
}

.custom-scrollbar {
	--sb-rail-w: 4px;
	--sb-wrap-w: 28px;
	--thumb-min: 30px;
	bottom: 0;
	left: auto;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	width: 28px;
	width: var(--sb-wrap-w);
	z-index: 10;
}

.custom-scrollbar__track {
	background: #84BE55;
	background: var(--line-color);
	border-radius: 999px;
	bottom: 10%;
	height: 70%;
	left: -30%;
	position: absolute;
	top: 15%;
	transform: translateX(-50%);
	width: var(--sb-rail-w);
}

.custom-scrollbar__thumb {
	align-items: center;
	cursor: grab;
	display: flex;
	height: 25px;
	justify-content: center;
	left: 50%;
	pointer-events: auto;
	position: absolute;
	top: 0;
	transform: translate(-50%, 0);
	width: 34px;
}

.custom-scrollbar__thumb img {
	-o-object-fit: contain;
	object-fit: contain;
}

.custom-scrollbar__thumb:active {
	cursor: grabbing;
}

.custom-scrollbar__thumb svg {
	display: block;
}

@media (any-hover: hover) {

	a:hover {
		cursor: pointer;
	}

	.recruitment-cta__link:hover {
		box-shadow: 0 0 0 0;
		transform: translateY(2px);
	}

	.training-schedule__item:hover {
		filter: brightness(1.1);
	}

	.training-schedule__item:hover .training-schedule__label-text::before {
		transform: scale(0, 1);
		transform-origin: right top;
	}

	.header__logo:hover {
		opacity: 0.7;
	}

	.training-section__modal-more-btn:hover {
		box-shadow: 0 0 0 0;
		transform: translateY(2px);
	}

	.training-modal__close-btn:hover {
		filter: brightness(1.1);
	}

}

@media screen and (min-width: 768px) {

	.u-inline-desktop {
		display: inline;
	}

	.u-desktop {
		display: block;
	}

	.u-mobile {
		display: none;
	}

	.u-inline-mobile {
		display: none;
	}

	.fv {
		margin-top: 83px;
	}

	.fv__content {
		grid-template-columns: 387fr 1053fr;
		position: relative;
	}

	.fv__text-block {
		margin-top: -23%;
	}

	.fv__title-en {
		font-size: calc(2400 / 1440 * 1cqw);
		font-size: calc(2400 / var(--cq-ref) * 1cqw);
	}

	.fv__title-ja {
		font-size: calc(6400 / 1440 * 1cqw);
		font-size: calc(6400 / var(--cq-ref) * 1cqw);
	}

	.fv__swiper {
		width: calc(100% + 7vw);
	}

	.induction-ceremony {
		margin-top: calc(15000 / 1440 * 1cqw);
		margin-top: calc(15000 / var(--cq-ref) * 1cqw);
	}

	.induction-ceremony__content {
		border: 5px solid #1D8E0A;
		padding-bottom: calc(5700 / 762 * 1cqw);
		padding-bottom: calc(5700 / var(--cq-ref-inner) * 1cqw);
		padding-left: calc(4200 / 762 * 1cqw);
		padding-left: calc(4200 / var(--cq-ref-inner) * 1cqw);
		padding-right: calc(4200 / 762 * 1cqw);
		padding-right: calc(4200 / var(--cq-ref-inner) * 1cqw);
		padding-top: calc(5200 / 762 * 1cqw);
		padding-top: calc(5200 / var(--cq-ref-inner) * 1cqw);
	}

	.induction-ceremony__text {
		font-size: calc(2400 / 762 * 1cqw);
		font-size: calc(2400 / var(--cq-ref-inner) * 1cqw);
		margin-top: calc(2000 / 762 * 1cqw);
		margin-top: calc(2000 / var(--cq-ref-inner) * 1cqw);
	}

	.inner {
		max-width: 1022px;
		padding-left: 130px;
		padding-right: 130px;
	}

	.recruitment-cta {
		margin-top: calc(11000 / 1440 * 1cqw);
		margin-top: calc(11000 / var(--cq-ref) * 1cqw);
		padding-bottom: calc(15800 / 1440 * 1cqw);
		padding-bottom: calc(15800 / var(--cq-ref) * 1cqw);
	}

	.recruitment-cta__list {
		gap: calc(4000 / 762 * 1cqw);
		gap: calc(4000 / var(--cq-ref-inner) * 1cqw);
		grid-template-columns: repeat(2, 1fr);
	}

	.recruitment-cta__item {
		aspect-ratio: 366/210;
		background: url("../images/recruitment-cta-item-bg.webp") no-repeat center center/contain;
	}

	.recruitment-cta__label-en {
		color: #fff;
		color: var(--white);
		font-size: calc(2400 / 762 * 1cqw);
		font-size: calc(2400 / var(--cq-ref-inner) * 1cqw);
	}

	.recruitment-cta__label-ja {
		color: #fff;
		color: var(--white);
		font-size: calc(4800 / 762 * 1cqw);
		font-size: calc(4800 / var(--cq-ref-inner) * 1cqw);
		margin-top: calc(400 / 762 * 1cqw);
		margin-top: calc(400 / var(--cq-ref-inner) * 1cqw);
	}

	.recruitment-cta__label-ja-deco--left {
		margin-right: calc(500 / 762 * 1cqw);
		margin-right: calc(500 / var(--cq-ref-inner) * 1cqw);
	}

	.recruitment-cta__label-ja-deco--right {
		margin-left: calc(500 / 762 * 1cqw);
		margin-left: calc(500 / var(--cq-ref-inner) * 1cqw);
	}

	.recruitment-cta__label-ja-deco {
		display: none;
	}

	.recruitment-cta__item--career .recruitment-cta__label-ja {
		letter-spacing: -0.19em;
	}

	.recruitment-cta__link {
		background-color: #fff;
		background-color: var(--white);
		border: 1px solid #84BE55;
		border: 1px solid var(--line-color);
		border-radius: 17.5px;
		color: #1D8E0A;
		color: var(--main-color02);
		font-size: calc(1600 / 762 * 1cqw);
		font-size: calc(1600 / var(--cq-ref-inner) * 1cqw);
		gap: calc(600 / 762 * 1cqw);
		gap: calc(600 / var(--cq-ref-inner) * 1cqw);
		line-height: 1.4375;
		margin-top: calc(1800 / 762 * 1cqw);
		margin-top: calc(1800 / var(--cq-ref-inner) * 1cqw);
		padding-bottom: calc(500 / 762 * 1cqw);
		padding-bottom: calc(500 / var(--cq-ref-inner) * 1cqw);
		padding-top: calc(500 / 762 * 1cqw);
		padding-top: calc(500 / var(--cq-ref-inner) * 1cqw);
	}

	.recruitment-cta__item--new-graduate .recruitment-cta__link {
		padding-left: calc(2800 / 762 * 1cqw);
		padding-left: calc(2800 / var(--cq-ref-inner) * 1cqw);
		padding-right: calc(2600 / 762 * 1cqw);
		padding-right: calc(2600 / var(--cq-ref-inner) * 1cqw);
	}

	.recruitment-cta__item--career .recruitment-cta__link {
		padding-left: calc(6000 / 762 * 1cqw);
		padding-left: calc(6000 / var(--cq-ref-inner) * 1cqw);
		padding-right: calc(4800 / 762 * 1cqw);
		padding-right: calc(4800 / var(--cq-ref-inner) * 1cqw);
	}

	.recruitment-cta__link::after {
		background-color: #1D8E0A;
		background-color: var(--main-color02);
		height: calc(1600 / 762 * 1cqw);
		height: calc(1600 / var(--cq-ref-inner) * 1cqw);
		top: calc(150 / 762 * 1cqw);
		top: calc(150 / var(--cq-ref-inner) * 1cqw);
		width: calc(1300 / 762 * 1cqw);
		width: calc(1300 / var(--cq-ref-inner) * 1cqw);
	}

	.training-completed {
		margin-top: calc(4000 / 1440 * 1cqw);
		margin-top: calc(4000 / var(--cq-ref) * 1cqw);
	}

	.training-completed__content {
		border: 5px solid #1D8E0A;
		padding-bottom: calc(3800 / 762 * 1cqw);
		padding-bottom: calc(3800 / var(--cq-ref-inner) * 1cqw);
		padding-left: calc(4000 / 762 * 1cqw);
		padding-left: calc(4000 / var(--cq-ref-inner) * 1cqw);
		padding-right: calc(4500 / 762 * 1cqw);
		padding-right: calc(4500 / var(--cq-ref-inner) * 1cqw);
		padding-top: calc(4800 / 762 * 1cqw);
		padding-top: calc(4800 / var(--cq-ref-inner) * 1cqw);
	}

	.training-completed__header-img-wrap {
		display: none;
	}

	.training-completed__header {
		aspect-ratio: 1340/595;
		background: url("../images/training-completed-title-bg.webp") no-repeat center center/contain;
	}

	.training-completed__title-block {
		margin-top: calc(2100 / 762 * 1cqw);
		margin-top: calc(2100 / var(--cq-ref-inner) * 1cqw);
	}

	.training-completed__text {
		font-size: calc(2200 / 762 * 1cqw);
		font-size: calc(2200 / var(--cq-ref-inner) * 1cqw);
		line-height: 2.627;
		margin-top: calc(2000 / 762 * 1cqw);
		margin-top: calc(2000 / var(--cq-ref-inner) * 1cqw);
	}

	.training-completed__text-highlight {
		font-size: calc(2800 / 762 * 1cqw);
		font-size: calc(2800 / var(--cq-ref-inner) * 1cqw);
		line-height: 2.14;
	}

	.training-completed__text-highlight::before {
		bottom: 23%;
		height: 0.25em;
	}

	.training-schedule {
		margin-top: calc(21600 / 1440 * 1cqw);
		margin-top: calc(21600 / var(--cq-ref) * 1cqw);
	}

	.training-schedule__content {
		aspect-ratio: 762/916.42;
		background: url("../images/training-schedule-bg.webp") no-repeat center center/contain;
	}

	.training-schedule__title-block {
		padding-top: calc(7800 / 762 * 1cqw);
		padding-top: calc(7800 / var(--cq-ref-inner) * 1cqw);
	}

	.training-schedule__list {
		gap: calc(1500 / 762 * 1cqw) calc(2000 / 762 * 1cqw);
		gap: calc(1500 / var(--cq-ref-inner) * 1cqw) calc(2000 / var(--cq-ref-inner) * 1cqw);
		grid-template-columns: repeat(3, 1fr);
		margin-top: calc(5600 / 762 * 1cqw);
		margin-top: calc(5600 / var(--cq-ref-inner) * 1cqw);
		padding-left: calc(4600 / 762 * 1cqw);
		padding-left: calc(4600 / var(--cq-ref-inner) * 1cqw);
		padding-right: calc(4200 / 762 * 1cqw);
		padding-right: calc(4200 / var(--cq-ref-inner) * 1cqw);
	}

	.training-schedule__link {
		gap: calc(4200 / 762 * 1cqw);
		gap: calc(4200 / var(--cq-ref-inner) * 1cqw);
		padding-right: calc(500 / 762 * 1cqw);
		padding-right: calc(500 / var(--cq-ref-inner) * 1cqw);
		transform: translateY(calc(1300 / 762 * 1cqw));
		transform: translateY(calc(1300 / var(--cq-ref-inner) * 1cqw));
	}

	.training-schedule__number {
		font-size: calc(3200 / 762 * 1cqw);
		font-size: calc(3200 / var(--cq-ref-inner) * 1cqw);
	}

	.training-schedule__label {
		font-size: calc(2000 / 762 * 1cqw);
		font-size: calc(2000 / var(--cq-ref-inner) * 1cqw);
		padding-left: calc(400 / 762 * 1cqw);
		padding-left: calc(400 / var(--cq-ref-inner) * 1cqw);
	}

	.training-schedule__label sup {
		font-size: calc(1200 / 762 * 1cqw);
		font-size: calc(1200 / var(--cq-ref-inner) * 1cqw);
		padding-left: calc(200 / 762 * 1cqw);
		padding-left: calc(200 / var(--cq-ref-inner) * 1cqw);
	}

	.training-schedule__label-text::before {
		bottom: calc(-300 / 762 * 1cqw);
		bottom: calc(-300 / var(--cq-ref-inner) * 1cqw);
		height: 0.25em;
		width: calc(100% + 5px);
	}

	.training-schedule__label:has(> sup) {
		padding-left: calc(1500 / 762 * 1cqw);
		padding-left: calc(1500 / var(--cq-ref-inner) * 1cqw);
	}

	.training-schedule__hr {
		margin-left: calc(4200 / 762 * 1cqw);
		margin-left: calc(4200 / var(--cq-ref-inner) * 1cqw);
		margin-right: calc(4200 / 762 * 1cqw);
		margin-right: calc(4200 / var(--cq-ref-inner) * 1cqw);
		margin-top: calc(2400 / 762 * 1cqw);
		margin-top: calc(2400 / var(--cq-ref-inner) * 1cqw);
	}

	.training-schedule__details {
		margin-top: calc(2300 / 762 * 1cqw);
		margin-top: calc(2300 / var(--cq-ref-inner) * 1cqw);
		padding-left: calc(5500 / 762 * 1cqw);
		padding-left: calc(5500 / var(--cq-ref-inner) * 1cqw);
		padding-right: calc(4500 / 762 * 1cqw);
		padding-right: calc(4500 / var(--cq-ref-inner) * 1cqw);
	}

	.training-schedule__detail {
		aspect-ratio: 1524/1554;
		background: url("../images/training-system-bg.webp") no-repeat center center/contain;
		gap: calc(7800 / 762 * 1cqw);
		gap: calc(7800 / var(--cq-ref-inner) * 1cqw);
		margin-left: calc(3200 / 762 * 1cqw);
		margin-left: calc(3200 / var(--cq-ref-inner) * 1cqw);
		margin-right: calc(3200 / 762 * 1cqw);
		margin-right: calc(3200 / var(--cq-ref-inner) * 1cqw);
	}

	.training-schedule__detail-title {
		font-size: calc(2800 / 762 * 1cqw);
		font-size: calc(2800 / var(--cq-ref-inner) * 1cqw);
		margin-top: calc(3800 / 762 * 1cqw);
		margin-top: calc(3800 / var(--cq-ref-inner) * 1cqw);
		padding-left: calc(2500 / 762 * 1cqw);
		padding-left: calc(2500 / var(--cq-ref-inner) * 1cqw);
	}

	.training-schedule__detail-title sup {
		font-size: calc(1600 / 762 * 1cqw);
		font-size: calc(1600 / var(--cq-ref-inner) * 1cqw);
		padding-left: calc(200 / 762 * 1cqw);
		padding-left: calc(200 / var(--cq-ref-inner) * 1cqw);
	}

	.training-schedule__detail-title-text::before {
		bottom: calc(-300 / 762 * 1cqw);
		bottom: calc(-300 / var(--cq-ref-inner) * 1cqw);
		height: 0.1785714286em;
		width: calc(100% + 5px);
	}

	.training-schedule__detail-text {
		font-size: calc(1600 / 762 * 1cqw);
		font-size: calc(1600 / var(--cq-ref-inner) * 1cqw);
		line-height: 1.4375;
		padding-left: calc(5500 / 762 * 1cqw);
		padding-left: calc(5500 / var(--cq-ref-inner) * 1cqw);
		padding-right: calc(4500 / 762 * 1cqw);
		padding-right: calc(4500 / var(--cq-ref-inner) * 1cqw);
	}

	.training-schedule__note {
		font-size: calc(1800 / 762 * 1cqw);
		font-size: calc(1800 / var(--cq-ref-inner) * 1cqw);
		margin-top: calc(1900 / 762 * 1cqw);
		margin-top: calc(1900 / var(--cq-ref-inner) * 1cqw);
		padding-left: calc(4200 / 762 * 1cqw);
		padding-left: calc(4200 / var(--cq-ref-inner) * 1cqw);
		padding-right: calc(4200 / 762 * 1cqw);
		padding-right: calc(4200 / var(--cq-ref-inner) * 1cqw);
	}

	.training-system {
		margin-top: calc(12900 / 1440 * 1cqw);
		margin-top: calc(12900 / var(--cq-ref) * 1cqw);
	}

	.training-system__text {
		font-size: calc(2200 / 762 * 1cqw);
		font-size: calc(2200 / var(--cq-ref-inner) * 1cqw);
		line-height: 2.727;
		margin-top: 28%;
	}

	.training-system__highlight {
		font-size: calc(2800 / 762 * 1cqw);
		font-size: calc(2800 / var(--cq-ref-inner) * 1cqw);
		line-height: 2.14;
	}

	.training-system__highlight::before {
		bottom: 22%;
		height: 0.25em;
	}

	.bg-deco-text01 {
		left: 42%;
		top: 2%;
		width: min(32900 / 1440 * 1vw, 100%);
		width: min(32900 / var(--cq-ref) * 1vw, 100%);
	}

	.bg-deco-text02 {
		left: 7%;
		top: 84%;
		width: min(34400 / 1440 * 1vw, 100%);
		width: min(34400 / var(--cq-ref) * 1vw, 100%);
	}

	.bg-deco-text03 {
		left: 93.5%;
		top: 99%;
		width: min(35000 / 1440 * 1vw, 100%);
		width: min(35000 / var(--cq-ref) * 1vw, 100%);
	}

	.bg-deco-text04 {
		left: 39%;
		top: calc(5% + 3cqw);
		width: min(29300 / 1440 * 1vw, 100%);
		width: min(29300 / var(--cq-ref) * 1vw, 100%);
	}

	.bg-deco-text05 {
		left: 4.5%;
		top: 60%;
		width: min(32500 / 1440 * 1vw, 100%);
		width: min(32500 / var(--cq-ref) * 1vw, 100%);
	}

	.bg-deco-text07 {
		left: 58%;
		top: 6%;
		width: min(28700 / 1440 * 1vw, 100%);
		width: min(28700 / var(--cq-ref) * 1vw, 100%);
	}

	.bg-deco-text08 {
		left: 11.5%;
		top: 42.5%;
		width: min(32900 / 1440 * 1vw, 100%);
		width: min(32900 / var(--cq-ref) * 1vw, 100%);
	}

	.bg-deco-text09 {
		left: 95%;
		top: 72%;
		width: min(34400 / 1440 * 1vw, 100%);
		width: min(34400 / var(--cq-ref) * 1vw, 100%);
	}

	.bg-deco-text10 {
		left: 19.5%;
		top: 53%;
		width: min(35000 / 1440 * 1vw, 100%);
		width: min(35000 / var(--cq-ref) * 1vw, 100%);
	}

	.bg-deco-text11 {
		left: 92.5%;
		top: 120%;
		width: min(29300 / 1440 * 1vw, 100%);
		width: min(29300 / var(--cq-ref) * 1vw, 100%);
	}

	.bg-deco-text12 {
		left: 6.5%;
		top: 42.5%;
		width: min(32500 / 1440 * 1vw, 100%);
		width: min(32500 / var(--cq-ref) * 1vw, 100%);
	}

	.bg-deco-text13 {
		left: 88.5%;
		top: 78.7%;
		width: min(29300 / 1440 * 1vw, 100%);
		width: min(29300 / var(--cq-ref) * 1vw, 100%);
	}

	.bg-deco-text14 {
		left: 13%;
		top: 16%;
		width: min(29300 / 1440 * 1vw, 100%);
		width: min(29300 / var(--cq-ref) * 1vw, 100%);
	}

	.bg-deco-text15 {
		left: 91.5%;
		top: 56.5%;
		width: min(32900 / 1440 * 1vw, 100%);
		width: min(32900 / var(--cq-ref) * 1vw, 100%);
	}

	.bg-deco-text16 {
		left: 3%;
		top: 93%;
		width: min(34400 / 1440 * 1vw, 100%);
		width: min(34400 / var(--cq-ref) * 1vw, 100%);
	}

	.bg-deco-text17 {
		left: 84%;
		top: 30%;
		width: min(35000 / 1440 * 1vw, 100%);
		width: min(35000 / var(--cq-ref) * 1vw, 100%);
	}

	.bg-deco-text18 {
		left: 12%;
		top: 70%;
		width: min(29300 / 1440 * 1vw, 100%);
		width: min(29300 / var(--cq-ref) * 1vw, 100%);
	}

	.bg-deco-text19 {
		left: 96.5%;
		top: 96%;
		width: min(32500 / 1440 * 1vw, 100%);
		width: min(32500 / var(--cq-ref) * 1vw, 100%);
	}

	.bg-deco-text20 {
		display: none;
	}

	.bg-deco-text21 {
		left: 6%;
		top: 48.3%;
		width: min(29300 / 1440 * 1vw, 100%);
		width: min(29300 / var(--cq-ref) * 1vw, 100%);
	}

	.bg-deco-text22 {
		left: 91%;
		top: 83%;
		width: min(28700 / 1440 * 1vw, 100%);
		width: min(28700 / var(--cq-ref) * 1vw, 100%);
	}

	.bg-deco-text23 {
		left: 4.5%;
		top: 36.5%;
		width: min(32900 / 1440 * 1vw, 100%);
		width: min(32900 / var(--cq-ref) * 1vw, 100%);
	}

	.bg-deco-text24 {
		left: 97%;
		top: 72%;
		width: min(34400 / 1440 * 1vw, 100%);
		width: min(34400 / var(--cq-ref) * 1vw, 100%);
	}

	.bg-deco-text25 {
		display: none;
	}

	.bg-deco-text26 {
		display: none;
	}

	.bg-deco-text27 {
		display: none;
	}

	.bg-deco-text28 {
		left: 17%;
		top: 18%;
		width: min(35000 / 1440 * 1vw, 100%);
		width: min(35000 / var(--cq-ref) * 1vw, 100%);
	}

	.bg-deco-text29 {
		left: 89.9%;
		top: 56%;
		width: min(29300 / 1440 * 1vw, 100%);
		width: min(29300 / var(--cq-ref) * 1vw, 100%);
	}

	.bg-deco-text30 {
		left: 11.5%;
		top: 105%;
		width: min(32900 / 1440 * 1vw, 100%);
		width: min(32900 / var(--cq-ref) * 1vw, 100%);
	}

	.bg-deco-text31 {
		display: none;
	}

	.bg-deco-text32 {
		display: none;
	}

	.bg-deco-text33 {
		display: none;
	}

	.footer__text {
		font-size: 14px;
	}

	.header {
		padding-left: 19px;
		padding-right: 21px;
		top: 13px;
	}

	.header__logo {
		width: 70px;
	}

	.header-hamburger {
		display: none;
	}

	.drawer {
		display: none;
	}

	.section-header {
		gap: calc(2500 / 762 * 1cqw);
		gap: calc(2500 / var(--cq-ref-inner) * 1cqw);
	}

	.section-header.section-header--induction-ceremony {
		gap: calc(3800 / 762 * 1cqw);
		gap: calc(3800 / var(--cq-ref-inner) * 1cqw);
	}

	.section-header__img-wrap {
		width: calc(21250 / 762 * 1cqw);
		width: calc(21250 / var(--cq-ref-inner) * 1cqw);
	}

	.section-title__en {
		font-size: calc(2400 / 762 * 1cqw);
		font-size: calc(2400 / var(--cq-ref-inner) * 1cqw);
	}

	.section-title__ja {
		font-size: calc(4800 / 762 * 1cqw);
		font-size: calc(4800 / var(--cq-ref-inner) * 1cqw);
		margin-top: 0.16em;
	}

	.training-section {
		margin-top: calc(4000 / 1440 * 1cqw);
		margin-top: calc(4000 / var(--cq-ref) * 1cqw);
	}

	.training-section__content {
		border: 5px solid #1D8E0A;
		padding-bottom: calc(5700 / 762 * 1cqw);
		padding-bottom: calc(5700 / var(--cq-ref-inner) * 1cqw);
		padding-left: calc(7900 / 762 * 1cqw);
		padding-left: calc(7900 / var(--cq-ref-inner) * 1cqw);
		padding-right: calc(8000 / 762 * 1cqw);
		padding-right: calc(8000 / var(--cq-ref-inner) * 1cqw);
		padding-top: calc(5200 / 762 * 1cqw);
		padding-top: calc(5200 / var(--cq-ref-inner) * 1cqw);
	}

	.training-section__header-text {
		font-size: calc(2200 / 762 * 1cqw);
		font-size: calc(2200 / var(--cq-ref-inner) * 1cqw);
		margin-top: calc(3500 / 762 * 1cqw);
		margin-top: calc(3500 / var(--cq-ref-inner) * 1cqw);
	}

	.training-section__video-wrap {
		margin-top: calc(3000 / 762 * 1cqw);
		margin-top: calc(3000 / var(--cq-ref-inner) * 1cqw);
		position: relative;
	}

	.training-section__modal-btn {
		display: none;
		aspect-ratio: 1;
		background: url("../images/common-bg-modal-btn.webp") no-repeat center center/contain;
		border-radius: calc(infinity * 1px);
		bottom: -4%;
		padding-top: calc(300 / 762 * 1cqw);
		padding-top: calc(300 / var(--cq-ref-inner) * 1cqw);
		position: absolute;
		right: -9.5%;
		width: calc(15800 / 762 * 1cqw);
		width: calc(15800 / var(--cq-ref-inner) * 1cqw);
	}

	.training-section__modal-btn-text {
		color: #fff;
		color: var(--white);
		font-size: calc(2000 / 762 * 1cqw);
		font-size: calc(2000 / var(--cq-ref-inner) * 1cqw);
	}


	.training-section__modal-more-btn {
		background: #fff;
		background: var(--white);
		border: 1px solid #84BE55;
		border: 1px solid var(--line-color);
		border-radius: calc(1550 / 762 * 1cqw);
		border-radius: calc(1550 / var(--cq-ref-inner) * 1cqw);
		box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
		color: #1D8E0A;
		color: var(--main-color02);
		font-size: calc(1600 / 762 * 1cqw);
		font-size: calc(1600 / var(--cq-ref-inner) * 1cqw);
		gap: calc(500 / 762 * 1cqw);
		gap: calc(500 / var(--cq-ref-inner) * 1cqw);
		line-height: 1.4375;
		margin-top: calc(700 / 762 * 1cqw);
		margin-top: calc(700 / var(--cq-ref-inner) * 1cqw);
		padding-left: calc(3900 / 762 * 1cqw);
		padding-left: calc(3900 / var(--cq-ref-inner) * 1cqw);
		padding-right: calc(3200 / 762 * 1cqw);
		padding-right: calc(3200 / var(--cq-ref-inner) * 1cqw);
		transition: box-shadow 0.3s ease, transform 0.3s ease;
		transition: box-shadow var(--duration-base) ease, transform var(--duration-base) ease;
		margin-left: auto;
	}

	.training-section__modal-more-btn.sp-none {
		display: block;
	}

	.training-section__modal-more-btn::after {
		background-color: #1D8E0A;
		background-color: var(--main-color02);
		height: calc(1500 / 762 * 1cqw);
		height: calc(1500 / var(--cq-ref-inner) * 1cqw);
		top: calc(100 / 762 * 1cqw);
		top: calc(100 / var(--cq-ref-inner) * 1cqw);
		width: calc(1200 / 762 * 1cqw);
		width: calc(1200 / var(--cq-ref-inner) * 1cqw);
	}

	.training-section__text-box-title {
		font-size: calc(2000 / 762 * 1cqw);
		font-size: calc(2000 / var(--cq-ref-inner) * 1cqw);
		margin-top: calc(3200 / 762 * 1cqw);
		margin-top: calc(3200 / var(--cq-ref-inner) * 1cqw);
		min-width: calc(16900 / 762 * 1cqw);
		min-width: calc(16900 / var(--cq-ref-inner) * 1cqw);
		padding-bottom: calc(600 / 762 * 1cqw);
		padding-bottom: calc(600 / var(--cq-ref-inner) * 1cqw);
		padding-left: calc(4300 / 762 * 1cqw);
		padding-left: calc(4300 / var(--cq-ref-inner) * 1cqw);
		padding-right: calc(4300 / 762 * 1cqw);
		padding-right: calc(4300 / var(--cq-ref-inner) * 1cqw);
		padding-top: calc(400 / 762 * 1cqw);
		padding-top: calc(400 / var(--cq-ref-inner) * 1cqw);
	}

	.training-section__text-box-title.sp-none {
		display: inline-block;
	}

	.training-section__text-box-title.training-section__text-box-title--purpose {
		margin-top: calc(1800 / 762 * 1cqw);
		margin-top: calc(1800 / var(--cq-ref-inner) * 1cqw);
	}

	.training-section__text-box-title-text::before {
		bottom: calc(-200 / 762 * 1cqw);
		bottom: calc(-200 / var(--cq-ref-inner) * 1cqw);
		height: 0.25em;
		width: calc(100% + 5px);
	}

	.training-section__text-box-text {
		font-size: calc(1600 / 762 * 1cqw);
		font-size: calc(1600 / var(--cq-ref-inner) * 1cqw);
		line-height: 1.45;
		margin-top: calc(500 / 762 * 1cqw);
		margin-top: calc(500 / var(--cq-ref-inner) * 1cqw);
	}

	.training-section__text-box-text.sp-none {
		display: block;
	}

	.training-section__swiper {
		margin-top: calc(3400 / 762 * 1cqw);
		margin-top: calc(3400 / var(--cq-ref-inner) * 1cqw);
		overflow: visible;
	}

	.training-section__swiper-wrap {
		display: grid !important;
		transform: none !important;
	}

	.training-section__swiper-wrap {
		grid-gap: calc(400 / 762 * 1cqw);
		grid-gap: calc(400 / var(--cq-ref-inner) * 1cqw);
		gap: calc(400 / 762 * 1cqw);
		gap: calc(400 / var(--cq-ref-inner) * 1cqw);
		grid-template-columns: repeat(3, 1fr);
	}

	.training-section__swiper-img {
		aspect-ratio: 195/130;
	}

	.training-section__swiper-pagination.swiper-pagination {
		display: none;
	}

	dialog.training-modal {
		max-width: 762px;
		padding-bottom: 45px;
		padding-left: 47px;
		padding-right: 47px;
		padding-top: 47px;
		width: 95%;
	}

	.training-modal__content {
		--cq-ref-inner: 668;
	}

	.training-modal__header {
		align-items: center;
		display: flex;
		justify-content: space-between;
	}

	.training-modal__title-block {
		gap: 5px;
	}

	.training-modal__title-en {
		font-size: calc(2400 / 762 * 1cqw);
		font-size: calc(2400 / var(--cq-ref-inner) * 1cqw);
	}

	.training-modal__title-ja {
		font-size: calc(4800 / 762 * 1cqw);
		font-size: calc(4800 / var(--cq-ref-inner) * 1cqw);
	}

	.training-modal__title-ja::before {
		bottom: calc(-350 / 762 * 1cqw);
		bottom: calc(-350 / var(--cq-ref-inner) * 1cqw);
		height: 0.1785714286em;
	}

	.training-modal__body {
		height: 43cqh;
		margin-top: calc(4200 / 762 * 1cqw);
		margin-top: calc(4200 / var(--cq-ref-inner) * 1cqw);
		padding: 41px 80px 41px 86px;
	}

	.training-modal__lead {
		font-size: calc(2200 / 762 * 1cqw);
		font-size: calc(2200 / var(--cq-ref-inner) * 1cqw);
	}

	.training-modal__text {
		font-size: calc(1600 / 762 * 1cqw);
		font-size: calc(1600 / var(--cq-ref-inner) * 1cqw);
		margin-top: 1lh;
	}

	.training-modal__close-btn {
		position: absolute;
		right: 12px;
		top: 12px;
		width: 40px;
	}

	.training-modal__close-btn-line {
		width: 20px;
	}

}

@media (min-width: 768px) {

	a[href*="tel:"] {
		-webkit-text-decoration: none;
		cursor: default;
		pointer-events: none;
		text-decoration: none;
	}

}

@media (max-width: 767px) {

	.fv {
		position: relative;
	}

	.fv__text-block {
		margin-left: auto;
		margin-right: auto;
	}

	.fv__swiper {
		left: 50%;
		top: 2%;
		translate: -50% 0;
	}

	.recruitment-cta__inner {
		--cq-ref-mobile-inner: 320;
		padding-left: 35px;
		padding-right: 35px;
	}

	.recruitment-cta__item {
		padding-bottom: calc(1900 / 324 * 1cqw);
		padding-bottom: calc(1900 / var(--cq-ref-mobile-inner) * 1cqw);
		padding-left: calc(2600 / 324 * 1cqw);
		padding-left: calc(2600 / var(--cq-ref-mobile-inner) * 1cqw);
		padding-right: calc(2600 / 324 * 1cqw);
		padding-right: calc(2600 / var(--cq-ref-mobile-inner) * 1cqw);
		padding-top: calc(2900 / 324 * 1cqw);
		padding-top: calc(2900 / var(--cq-ref-mobile-inner) * 1cqw);
	}

	.recruitment-cta__label-ja-inner {
		align-items: center;
	}

	.recruitment-cta__link {
		width: 100%;
	}

	.training-completed__title-block .section-title__ja,
	.training-completed__title-block .section-title__en {
		color: #000;
		color: var(--black);
	}

	.training-completed__title-block .section-title__ja {
		font-size: calc(2800 / 324 * 1cqw);
		font-size: calc(2800 / var(--cq-ref-mobile-inner) * 1cqw);
	}

	.training-completed__title-block .section-title__en {
		font-size: calc(1500 / 324 * 1cqw);
		font-size: calc(1500 / var(--cq-ref-mobile-inner) * 1cqw);
	}

	.training-schedule__content {
		overflow: hidden;
	}

	.training-schedule__item--06 .training-schedule__link {
		gap: calc(2300 / 324 * 1cqw);
		gap: calc(2300 / var(--cq-ref-mobile-inner) * 1cqw);
	}

	.training-schedule__details {
		gap: calc(2200 / 324 * 1cqw);
		gap: calc(2200 / var(--cq-ref-mobile-inner) * 1cqw);
		justify-content: center;
	}

	.training-schedule__detail--left {
		background: url("../images/training-schedule-detail-left-bg_sp.webp") no-repeat center center/contain;
	}

	.training-schedule__detail--left .training-schedule__detail-text {
		padding-left: calc(1500 / 324 * 1cqw);
		padding-left: calc(1500 / var(--cq-ref-mobile-inner) * 1cqw);
		padding-right: calc(2500 / 324 * 1cqw);
		padding-right: calc(2500 / var(--cq-ref-mobile-inner) * 1cqw);
	}

	.training-schedule__detail--right {
		background: url("../images/training-schedule-detail-right-bg_sp.webp") no-repeat center center/contain;
	}

	.training-schedule__detail--right .training-schedule__detail-text {
		padding-left: calc(3300 / 324 * 1cqw);
		padding-left: calc(3300 / var(--cq-ref-mobile-inner) * 1cqw);
		padding-right: calc(900 / 324 * 1cqw);
		padding-right: calc(900 / var(--cq-ref-mobile-inner) * 1cqw);
	}

	.training-schedule__note-bracket {
		letter-spacing: -0.6216666667em;
	}

	.training-system__content {
		--cq-ref-mobile: 473.03;
		left: 47.5%;
		translate: -50% 0;
		width: 146%;
	}

	.training-system__title-block {
		padding-left: 3.5%;
		padding-top: 13.7%;
	}

	.training-system__text {
		padding-left: 2%;
	}

	.bg-deco-text06 {
		display: none;
	}

	.header__nav {
		display: none;
	}

	.section-title.section-title--black .section-title__en {
		font-size: calc(1500 / 324 * 1cqw);
		font-size: calc(1500 / var(--cq-ref-mobile-inner) * 1cqw);
	}

	.section-title.section-title--black .section-title__ja {
		font-size: calc(2800 / 324 * 1cqw);
		font-size: calc(2800 / var(--cq-ref-mobile-inner) * 1cqw);
	}

	.training-section__body {
		display: grid;
		grid-template-areas: "video" "text" "btn" "swiper";
	}

	.training-section__video-wrap {
		display: contents;
		width: 100%;
	}

	.training-section__video {
		grid-area: video;
		margin-top: calc(3200 / 324 * 1cqw);
		margin-top: calc(3200 / var(--cq-ref-mobile-inner) * 1cqw);
	}

	.training-section__modal-btn {
		aspect-ratio: 260/126;
		background: #fff;
		background: var(--white);
		background: url("../images/training-modal-btn-bg.webp") no-repeat center center/contain;
		grid-area: btn;
		margin-top: calc(2700 / 324 * 1cqw);
		margin-top: calc(2700 / var(--cq-ref-mobile-inner) * 1cqw);
		padding-bottom: calc(1300 / 324 * 1cqw);
		padding-bottom: calc(1300 / var(--cq-ref-mobile-inner) * 1cqw);
		padding-left: calc(1300 / 324 * 1cqw);
		padding-left: calc(1300 / var(--cq-ref-mobile-inner) * 1cqw);
		padding-right: calc(1300 / 324 * 1cqw);
		padding-right: calc(1300 / var(--cq-ref-mobile-inner) * 1cqw);
		padding-top: calc(1200 / 324 * 1cqw);
		padding-top: calc(1200 / var(--cq-ref-mobile-inner) * 1cqw);
	}

	.training-section__modal-more-btn {
		padding-bottom: calc(2100 / 324 * 1cqw);
		padding-bottom: calc(2100 / var(--cq-ref-mobile-inner) * 1cqw);
		padding-top: calc(1700 / 324 * 1cqw);
		padding-top: calc(1700 / var(--cq-ref-mobile-inner) * 1cqw);
		width: 100%;
	}

	.training-section__text-box {
		grid-area: text;
	}

	.training-section__swiper {
		grid-area: swiper;
	}

	.training-modal__header::before {
		display: none;
	}

	.training-modal__header::after {
		display: none;
	}

	.training-modal__close-btn {
		left: 87%;
		top: 18%;
		translate: -50% -50%;
	}

	.custom-scrollbar {
		display: none;
	}

	.training-modal__body::-webkit-scrollbar {
		display: block;
	}

}

@media (max-width: 767px) and (max-width: 767px) {

	.training-schedule__detail--left .training-schedule__detail-title {
		padding-right: calc(3000 / 324 * 1cqw);
		padding-right: calc(3000 / var(--cq-ref-mobile-inner) * 1cqw);
	}

	.training-schedule__detail--right .training-schedule__detail-title {
		padding-left: calc(5000 / 324 * 1cqw);
		padding-left: calc(5000 / var(--cq-ref-mobile-inner) * 1cqw);
	}

}