@charset "UTF-8";
/*------------- value color --------------*/
/*-------------- business color -------------------*/
/*-------------- members color -------------------*/
/*-------------- interview color -------------------*/
@-webkit-keyframes hoverBtnArrowAnim {
	0% {
		-webkit-transform: translateX(0);
		        transform: translateX(0);
		opacity: 1;
	}
	50% {
		-webkit-transform: translateX(60%);
		        transform: translateX(60%);
		opacity: 0;
	}
	50.1% {
		-webkit-transform: translateX(-60%);
		        transform: translateX(-60%);
		opacity: 0;
	}
	100% {
		-webkit-transform: translateX(0);
		        transform: translateX(0);
		opacity: 1;
	}
}
@keyframes hoverBtnArrowAnim {
	0% {
		-webkit-transform: translateX(0);
		        transform: translateX(0);
		opacity: 1;
	}
	50% {
		-webkit-transform: translateX(60%);
		        transform: translateX(60%);
		opacity: 0;
	}
	50.1% {
		-webkit-transform: translateX(-60%);
		        transform: translateX(-60%);
		opacity: 0;
	}
	100% {
		-webkit-transform: translateX(0);
		        transform: translateX(0);
		opacity: 1;
	}
}
@-webkit-keyframes elmShow {
	0% {
		clip-path: polygon(0 0, 0% 0, 0% 100%, 0% 100%);
	}
	100% {
		clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
	}
}
@keyframes elmShow {
	0% {
		clip-path: polygon(0 0, 0% 0, 0% 100%, 0% 100%);
	}
	100% {
		clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
	}
}
@-webkit-keyframes spin {
	from {
		-webkit-transform: rotate(0deg);
		        transform: rotate(0deg);
	}
	to {
		-webkit-transform: rotate(360deg);
		        transform: rotate(360deg);
	}
}
@keyframes spin {
	from {
		-webkit-transform: rotate(0deg);
		        transform: rotate(0deg);
	}
	to {
		-webkit-transform: rotate(360deg);
		        transform: rotate(360deg);
	}
}
@-webkit-keyframes imggrad-slide {
	from {
		-webkit-transform: translateX(-110%);
		        transform: translateX(-110%);
		opacity: 1;
	}
	to {
		-webkit-transform: translateX(110%);
		        transform: translateX(110%);
		opacity: 0;
	}
}
@keyframes imggrad-slide {
	from {
		-webkit-transform: translateX(-110%);
		        transform: translateX(-110%);
		opacity: 1;
	}
	to {
		-webkit-transform: translateX(110%);
		        transform: translateX(110%);
		opacity: 0;
	}
}
/* グラデを消す余韻 */
@-webkit-keyframes imggrad-wipe {
	0% {
		-webkit-transform: translateX(101%);
		        transform: translateX(101%);
		opacity: 1;
	}
	40% {
		-webkit-transform: translateX(0%);
		        transform: translateX(0%);
		opacity: 1;
	}
	100% {
		-webkit-transform: translateX(110%);
		        transform: translateX(110%);
		opacity: 0;
	}
}
@keyframes imggrad-wipe {
	0% {
		-webkit-transform: translateX(101%);
		        transform: translateX(101%);
		opacity: 1;
	}
	40% {
		-webkit-transform: translateX(0%);
		        transform: translateX(0%);
		opacity: 1;
	}
	100% {
		-webkit-transform: translateX(110%);
		        transform: translateX(110%);
		opacity: 0;
	}
}
@-webkit-keyframes imgscale {
	0% {
		-webkit-transform: scale(2);
		        transform: scale(2);
	}
	100% {
		-webkit-transform: scale(1);
		        transform: scale(1);
	}
}
@keyframes imgscale {
	0% {
		-webkit-transform: scale(2);
		        transform: scale(2);
	}
	100% {
		-webkit-transform: scale(1);
		        transform: scale(1);
	}
}
@-webkit-keyframes entryAnim {
	0%, 100% {
		-webkit-transform: scale(1);
		        transform: scale(1);
	}
	50% {
		-webkit-transform: scale(0.8);
		        transform: scale(0.8);
	}
}
@keyframes entryAnim {
	0%, 100% {
		-webkit-transform: scale(1);
		        transform: scale(1);
	}
	50% {
		-webkit-transform: scale(0.8);
		        transform: scale(0.8);
	}
}
@-webkit-keyframes textscale {
	0% {
		opacity: 0;
		-webkit-transform: scale(2);
		        transform: scale(2);
	}
	100% {
		opacity: 1;
		-webkit-transform: scale(1);
		        transform: scale(1);
	}
}
@keyframes textscale {
	0% {
		opacity: 0;
		-webkit-transform: scale(2);
		        transform: scale(2);
	}
	100% {
		opacity: 1;
		-webkit-transform: scale(1);
		        transform: scale(1);
	}
}
/*---footer-entry---*/
@-webkit-keyframes entryShake {
	0% {
		-webkit-transform: scale(1);
		        transform: scale(1);
	}
	20% {
		-webkit-transform: scale(1.1);
		        transform: scale(1.1);
	}
	40% {
		-webkit-transform: scale(1);
		        transform: scale(1);
	}
	100% {
		-webkit-transform: scale(1);
		        transform: scale(1);
	}
}
@keyframes entryShake {
	0% {
		-webkit-transform: scale(1);
		        transform: scale(1);
	}
	20% {
		-webkit-transform: scale(1.1);
		        transform: scale(1.1);
	}
	40% {
		-webkit-transform: scale(1);
		        transform: scale(1);
	}
	100% {
		-webkit-transform: scale(1);
		        transform: scale(1);
	}
}
/* Sanitize
 * ========================================================================== */
/**
 * Add border box sizing in all browsers (opinionated).
 */
html {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}

*,
*:before,
*:after {
	-webkit-box-sizing: inherit;
	        box-sizing: inherit;
}

/**
 * 1. Add text decoration inheritance in all browsers (opinionated).
 * 2. Add vertical alignment inheritance in all browsers (opinionated).
 */
::before,
::after {
	text-decoration: inherit; /* 1 */
	vertical-align: inherit; /* 2 */
}

/**
 * 1. Use the default cursor in all browsers (opinionated).
 * 2. Change the line height in all browsers (opinionated).
 * 3. Use a 4-space tab width in all browsers (opinionated).
 * 4. Remove the grey highlight on links in iOS (opinionated).
 * 5. Prevent adjustments of font size after orientation changes in
 *		IE on Windows Phone and in iOS.
 * 6. Breaks words to prevent overflow in all browsers (opinionated).
 */
html {
	cursor: default; /* 1 */
	line-height: 1.5; /* 2 */
	-moz-tab-size: 4; /* 3 */
	-o-tab-size: 4;
	   tab-size: 4; /* 3 */
	-webkit-tap-highlight-color: transparent; /* 4 */
	-ms-text-size-adjust: 100%; /* 5 */
	-webkit-text-size-adjust: 100%; /* 5 */
	word-break: break-word; /* 6 */
}

/* Sections
 * ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
body {
	margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Edge, Firefox, and Safari.
 */
h1, h2, h3, h4, h5, h6 {
	margin: 0;
	font-weight: normal;
}

/* Grouping content
 * ========================================================================== */
/**
 * Remove the margin on nested lists in Chrome, Edge, IE, and Safari.
 */
dl dl,
dl ol,
dl ul,
ol dl,
ul dl {
	margin: 0;
}

/**
 * Remove the margin on nested lists in Edge 18- and IE.
 */
ol ol,
ol ul,
ul ol,
ul ul {
	margin: 0;
}

/**
 * 1. Add the correct sizing in Firefox.
 * 2. Show the overflow in Edge 18- and IE.
 */
hr {
	height: 0; /* 1 */
	overflow: visible; /* 2 */
}

/**
 * Add the correct display in IE.
 */
main {
	display: block;
}

/**
 * Remove the list style on navigation lists in all browsers (opinionated).
 */
nav ol,
nav ul {
	list-style: none;
	padding: 0;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace; /* 1 */
	font-size: 1em; /* 2 */
}

/* Text-level semantics
 * ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * Add the correct text decoration in Edge 18-, IE, and Safari.
 */
abbr[title] {
	text-decoration: underline;
	-webkit-text-decoration: underline dotted;
	        text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace; /* 1 */
	font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/* Embedded content
 * ========================================================================== */
/*
 * Change the alignment on media elements in all browsers (opinionated).
 */
img {
	max-width: 100%;
	height: auto;
}

audio,
canvas,
iframe,
img,
svg,
video {
	vertical-align: top;
}

/**
 * Add the correct display in IE 9-.
 */
audio,
video {
	display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
	display: none;
	height: 0;
}

/**
 * Remove the border on iframes in all browsers (opinionated).
 */
iframe {
	border-style: none;
}

/**
 * Remove the border on images within links in IE 10-.
 */
img {
	border-style: none;
}

/**
 * Change the fill color to match the text color in all browsers (opinionated).
 */
svg:not([fill]) {
	fill: currentColor;
}

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
	overflow: hidden;
}

/* Tabular data
 * ========================================================================== */
/**
 * Collapse border spacing in all browsers (opinionated).
 */
table {
	border-collapse: collapse;
}

/* Forms
 * ========================================================================== */
/**
 * Remove the margin on controls in Safari.
 */
button,
input,
select {
	margin: 0;
}

/**
 * 1. Show the overflow in IE.
 * 2. Remove the inheritance of text transform in Edge 18-, Firefox, and IE.
 */
button {
	overflow: visible; /* 1 */
	text-transform: none; /* 2 */
}

/**
 * Correct the inability to style buttons in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
	-webkit-appearance: button;
}

/**
 * 1. Change the inconsistent appearance in all browsers (opinionated).
 * 2. Correct the padding in Firefox.
 */
fieldset {
	border: 1px solid #a0a0a0; /* 1 */
	padding: 0.35em 0.75em 0.625em; /* 2 */
}

/**
 * Show the overflow in Edge 18- and IE.
 */
input {
	overflow: visible;
}

/**
 * 1. Correct the text wrapping in Edge 18- and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 */
legend {
	display: table; /* 1 */
	max-width: 100%; /* 1 */
	white-space: normal; /* 1 */
	color: inherit; /* 2 */
}

/**
 * 1. Add the correct display in Edge 18- and IE.
 * 2. Add the correct vertical alignment in Chrome, Edge, and Firefox.
 */
progress {
	display: inline-block; /* 1 */
	vertical-align: baseline; /* 2 */
}

/**
 * Remove the inheritance of text transform in Firefox.
 */
select {
	text-transform: none;
}

/**
 * 1. Remove the margin in Firefox and Safari.
 * 2. Remove the default vertical scrollbar in IE.
 * 3. Change the resize direction in all browsers (opinionated).
 */
textarea {
	margin: 0; /* 1 */
	overflow: auto; /* 2 */
	resize: vertical; /* 3 */
}

/**
 * Remove the padding in IE 10-.
 */
[type=checkbox],
[type=radio] {
	padding: 0;
}

/**
 * 1. Correct the odd appearance in Chrome, Edge, and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
	-webkit-appearance: textfield; /* 1 */
	outline-offset: -2px; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Safari.
 */
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
	height: auto;
}

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */
::-webkit-input-placeholder {
	color: inherit;
}

/**
 * Remove the inner padding in Chrome, Edge, and Safari on macOS.
 */
::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style upload buttons in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button; /* 1 */
	font: inherit; /* 2 */
}

/**
 * Remove the inner border and padding of focus outlines in Firefox.
 */
::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus outline styles unset by the previous rule in Firefox.
 */
:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Remove the additional :invalid styles in Firefox.
 */
:-moz-ui-invalid {
	box-shadow: none;
}

/* Interactive
 * ========================================================================== */
/*
 * Add the correct display in Edge 18- and IE.
 */
details {
	display: block;
}

/*
 * Add the correct styles in Edge 18-, IE, and Safari.
 */
dialog {
	background-color: white;
	border: solid;
	color: black;
	display: block;
	height: -moz-fit-content;
	height: -webkit-fit-content;
	height: fit-content;
	left: 0;
	margin: auto;
	padding: 1em;
	position: absolute;
	right: 0;
	width: -moz-fit-content;
	width: -webkit-fit-content;
	width: fit-content;
}

dialog:not([open]) {
	display: none;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Scripting
 * ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
	display: inline-block;
}

/**
 * Add the correct display in IE.
 */
template {
	display: none;
}

/* User interaction
 * ========================================================================== */
/*
 * 1. Remove the tapping delay in IE 10.
 * 2. Remove the tapping delay on clickable elements
			in all browsers (opinionated).
 */
a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
	-ms-touch-action: manipulation; /* 1 */
	touch-action: manipulation; /* 2 */
}

/**
 * Add the correct display in IE 10-.
 */
[hidden] {
	display: none;
}

/* Accessibility
 * ========================================================================== */
/**
 * Change the cursor on busy elements in all browsers (opinionated).
 */
[aria-busy=true] {
	cursor: progress;
}

/*
 * Change the cursor on control elements in all browsers (opinionated).
 */
[aria-controls] {
	cursor: pointer;
}

/*
 * Change the cursor on disabled, not-editable, or otherwise
 * inoperable elements in all browsers (opinionated).
 */
[aria-disabled=true],
[disabled] {
	cursor: not-allowed;
}

/*
 * Change the display on visually hidden accessible elements
 * in all browsers (opinionated).
 */
[aria-hidden=false][hidden] {
	display: initial;
}

[aria-hidden=false][hidden]:not(:focus) {
	clip: rect(0, 0, 0, 0);
	position: absolute;
}

/**
 * Add
 */
dl dd {
	margin-left: 0;
}

figure {
	margin: 0;
}

table {
	table-layout: fixed;
}

menu {
	padding: 0;
}

picture {
	display: block;
}

p {
	margin: 0;
	padding: 0;
}

ul, li {
	margin: 0;
	padding: 0;
	list-style: none;
}

img {
	max-width: 100%;
	height: auto;
}
@media screen and (max-width: 767px) {
	img {
		width: 100%;
	}
}

/*--------------- form reset ------------*/
button {
	-webkit-transition: 0.3s;
	transition: 0.3s;
	cursor: pointer;
	font-family: inherit;
	font-size: 100%;
	display: block;
	padding: 0;
	outline: none;
	margin: 0;
	border: none;
	background-color: transparent;
}
button:hover {
	opacity: 0.7;
	background-color: transparent;
}

input, select, textarea {
	font-family: inherit;
	font-size: 100%;
	color: inherit;
}

input[type=checkbox], input[type=radio] {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

label {
	position: relative;
	display: block;
	word-break: break-all;
}
label input[type=checkbox] + span {
	position: relative;
	padding-left: 15px;
}
label input[type=radio] + span {
	position: relative;
	padding-left: 25px;
}
label input[type=checkbox] + span::before {
	border-color: #1E2777;
}
label input[type=checkbox]:checked + span::before {
	background-color: #1E2777;
}
label input[type=checkbox]:checked + span::before {
	background-color: #fff;
}
label input[type=checkbox]:checked + span::after {
	border: 2px solid #313131;
	border-width: 0 2px 2px 0;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
label input[type=checkbox] {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	width: 1px;
}
label input[type=checkbox] + span::before, label input[type=checkbox] + span::after {
	position: absolute;
	top: 7px;
	left: 0;
	display: inline-block;
	content: "";
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
label input[type=checkbox] + span::before {
	z-index: 0;
	background-color: transparent;
	width: 12px;
	height: 12px;
	border: 0.1rem #313131 solid;
}
label input[type=checkbox] + span::after {
	z-index: 1;
	margin: 2px 4px;
	width: 6px;
	height: 9px;
}
label input[type=radio] + span::before {
	position: absolute;
	display: inline-block;
	content: "";
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border: 1px solid #686868;
	border-radius: 50%;
	z-index: 0;
	top: 50%;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
	left: 0;
	background-color: transparent;
	width: 14px;
	height: 14px;
}
label input[type=radio] {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	width: 1px;
}
label input[type=radio]:checked + span::before {
	border-color: #007acc;
}
label input[type=radio]:checked + span::after {
	position: absolute;
	display: inline-block;
	content: "";
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	background-color: #007acc;
	border-radius: 50%;
	z-index: 0;
	top: 50%;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
	left: 3px;
	width: 8px;
	height: 8px;
}

/*-------- text email tel ---------*/
input[type=text], input[type=email], input[type=tel], input[type=search], input[type=date] {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

textarea, select {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: #fff;
}

input[type=button], input[type=submit] {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: #fff;
}

button[type=submit], input[type=reset], button[type=button] {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: transparent;
}

/*-------- select ------------*/
select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
select::-ms-expand {
	display: none;
}

input[type=text], input[type=email], input[type=tel], input[type=date] {
	max-width: 100%;
}

textarea {
	width: 100%;
	max-width: 100%;
	resize: vertical;
	overflow: auto;
}

input[type=button] {
	color: #fff;
	border-style: none;
}
input[type=submit] {
	color: #fff;
	border-style: none;
}
input[type=submit]:hover {
	opacity: 0.5;
}

@media screen and (max-width: 767px) {
	input[type=text], input[type=email], input[type=tel] {
		width: 100%;
	}
	textarea {
		width: 100%;
	}
}
@media screen and (max-width: 640px) {
	input[type=text], input[type=email], input[type=tel] {
		width: 100%;
	}
	textarea {
		width: 100%;
	}
}
::-webkit-input-placeholder {
	color: rgba(45, 44, 53, 0.5);
}
::-webkit-input-placeholder, ::-moz-placeholder, :-ms-input-placeholder, ::-ms-input-placeholder, ::placeholder {
	color: rgba(45, 44, 53, 0.5);
}

@media screen and (max-width: 767px) {
	html, body {
		overflow-x: hidden;
	}
}

html {
	font-size: 62.5%;
}
@media screen and (max-width: 1439px) {
	html {
		font-size: 0.68vw;
	}
}
@media screen and (max-width: 767px) {
	html {
		font-size: 2.667vw;
	}
}

body {
	line-height: 1.2142857143;
	color: #000;
	font-size: 1.6rem;
	line-break: strict;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
}

dl, ul, ol {
	margin: 0;
	padding: 0;
}

img {
	-webkit-backface-visibility: hidden;
	        backface-visibility: hidden;
}

label {
	cursor: pointer;
}

@media screen and (max-width: 767px) {
	html {
		min-height: 100dvh;
	}
	body {
		line-height: 2;
		min-width: 1%;
		position: relative;
		font-size: 7.4666666667vw;
		max-width: 100%;
	}
}
/* link
--------------------------------------------------*/
a {
	color: inherit;
}
a:link, a:active, a:visited {
	text-decoration: none;
}
a {
	/*&:hover,
	&:focus {
		text-decoration: underline;
	}*/
}

@media print, screen and (min-width: 768px) {
	a[href^="tel:"] {
		display: inline-block;
		pointer-events: none;
	}
	a {
		-webkit-transition: 0.3s;
		transition: 0.3s;
	}
	a:hover {
		opacity: 0.7;
	}
	.js-imgHover a:hover,
	.js-imgHover a:hover img {
		opacity: 1;
	}
	a,
	a * {
		outline: 1px solid transparent;
		outline: none;
	}
}
.m-ggmap {
	position: relative;
	padding-top: 56.25%;
	height: 0;
	overflow: hidden;
}
.m-ggmap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.m-youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.m-youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}

.m-link-close {
	pointer-events: none;
}

.m-blk {
	color: #000;
}

.m-white {
	color: #ffffff;
}

.m-bold {
	font-weight: bold;
}

.m-en {
	font-family: "Figtree", sans-serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-style: normal;
}

.m-itr {
	font-style: italic;
}

.m-relative {
	position: relative;
}

.m-text {
	font-size: 1.6rem;
	line-height: 2.2;
	letter-spacing: 0.05em;
	font-weight: 500;
}
@media screen and (max-width: 767px) {
	.m-text {
		font-size: 3.7333333333vw;
		line-height: 2;
	}
}

.m-upper {
	text-transform: uppercase;
}

@media print, screen and (min-width: 768px) {
	a.m-tellink[href^="tel:"] {
		pointer-events: none;
	}
}
.slick-track {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.slick-slide {
	height: auto;
}

body {
	opacity: 0;
	-webkit-transition: opacity 0.5s ease;
	transition: opacity 0.5s ease;
}
body.is-visible {
	opacity: 1;
}

.c-fadeup {
	opacity: 0;
	-webkit-transform: translateY(3rem);
	        transform: translateY(3rem);
}
.c-fadeup.js-animeOn {
	opacity: 1;
	-webkit-transform: translateY(0);
	        transform: translateY(0);
	-webkit-transition: opacity 0.2s ease, -webkit-transform 0.2s ease;
	transition: opacity 0.2s ease, -webkit-transform 0.2s ease;
	transition: transform 0.2s ease, opacity 0.2s ease;
	transition: transform 0.2s ease, opacity 0.2s ease, -webkit-transform 0.2s ease;
}

.c-faderight {
	opacity: 0;
	-webkit-transform: translateX(-3rem);
	        transform: translateX(-3rem);
}
.c-faderight.js-animeOn {
	opacity: 1;
	-webkit-transform: translateX(0);
	        transform: translateX(0);
	-webkit-transition: opacity 0.2s ease, -webkit-transform 0.2s ease;
	transition: opacity 0.2s ease, -webkit-transform 0.2s ease;
	transition: transform 0.2s ease, opacity 0.2s ease;
	transition: transform 0.2s ease, opacity 0.2s ease, -webkit-transform 0.2s ease;
}

.c-slide-right {
	opacity: 0;
	-webkit-transform: translateX(5rem);
	        transform: translateX(5rem);
}
.c-slide-right.js-animeOn {
	opacity: 1;
	-webkit-transform: translateX(0);
	        transform: translateX(0);
	-webkit-transition: opacity 0.2s ease, -webkit-transform 0.2s ease;
	transition: opacity 0.2s ease, -webkit-transform 0.2s ease;
	transition: transform 0.2s ease, opacity 0.2s ease;
	transition: transform 0.2s ease, opacity 0.2s ease, -webkit-transform 0.2s ease;
}

.js-animeOn.-delay1 {
	-webkit-transition-delay: 0.5s;
	        transition-delay: 0.5s;
}
.js-animeOn.-delay2 {
	-webkit-transition-delay: 1s;
	        transition-delay: 1s;
}
.js-animeOn.-delay3 {
	-webkit-transition-delay: 1.5s;
	        transition-delay: 1.5s;
}

.c-circle {
	width: 50rem;
	height: 50rem;
}
@media screen and (max-width: 767px) {
	.c-circle {
		width: 15rem;
		height: 15rem;
	}
}

.c-circle-trigger {
	opacity: 0;
	visibility: hidden;
	will-change: opacity;
	-webkit-transform: translateZ(0);
	        transform: translateZ(0);
}
.c-circle-trigger.is-show {
	opacity: 1;
	visibility: visible;
}
.c-circle-trigger {
	width: 100%;
	height: 100%;
}

.c-grad-effect {
	position: relative;
	display: inline-block;
	overflow: hidden;
	--delay: 0s;
}
.c-grad-effect-text {
	opacity: 0;
	position: relative;
	z-index: 3;
}
.c-grad-effect-slide {
	position: absolute;
	inset: 0;
	background: -webkit-gradient(linear, left top, right top, color-stop(-1.72%, #00498A), color-stop(6.59%, #BB2AA8), color-stop(14.71%, #E62E8B), color-stop(25.2%, #F00), color-stop(58.51%, #EE7500), color-stop(70.53%, #FCB910), color-stop(82.57%, #8EC43E), color-stop(91.51%, #094), color-stop(102.98%, #00B7FF));
	background: linear-gradient(90deg, #00498A -1.72%, #BB2AA8 6.59%, #E62E8B 14.71%, #F00 25.2%, #EE7500 58.51%, #FCB910 70.53%, #8EC43E 82.57%, #094 91.51%, #00B7FF 102.98%);
	-webkit-transform: translateX(-110%);
	        transform: translateX(-110%);
	z-index: 1;
	pointer-events: none;
	width: 110%;
}
.c-grad-effect-fade {
	position: absolute;
	inset: 0;
	-webkit-transform: translateX(-110%);
	        transform: translateX(-110%);
	opacity: 1;
	z-index: 2;
	pointer-events: none;
}
.c-grad-effect.js-animeOn {
	/* グラデ走行 */
}
.c-grad-effect.js-animeOn .c-grad-effect-slide {
	-webkit-animation: grad-slide 0.55s cubic-bezier(0.4, 0, 0.2, 1) forwards;
	        animation: grad-slide 0.55s cubic-bezier(0.4, 0, 0.2, 1) forwards;
	-webkit-animation-delay: var(--delay);
	        animation-delay: var(--delay);
}
.c-grad-effect.js-animeOn {
	/* ★ 文字は先に出す */
}
.c-grad-effect.js-animeOn .c-grad-effect-text {
	-webkit-animation: text-in 0.3s ease forwards;
	        animation: text-in 0.3s ease forwards;
	-webkit-animation-delay: calc(var(--delay) + 0.25s);
	        animation-delay: calc(var(--delay) + 0.25s);
}
.c-grad-effect.js-animeOn .c-grad-effect-fade {
	-webkit-animation: fade-wipe-opacity 0.9s cubic-bezier(0.4, 0, 0.2, 1) forwards;
	        animation: fade-wipe-opacity 0.9s cubic-bezier(0.4, 0, 0.2, 1) forwards;
	-webkit-animation-delay: calc(var(--delay) + 0.4s);
	        animation-delay: calc(var(--delay) + 0.4s);
}
@-webkit-keyframes grad-slide {
	from {
		-webkit-transform: translateX(-110%);
		        transform: translateX(-110%);
	}
	to {
		-webkit-transform: translateX(110%);
		        transform: translateX(110%);
	}
}
@keyframes grad-slide {
	from {
		-webkit-transform: translateX(-110%);
		        transform: translateX(-110%);
	}
	to {
		-webkit-transform: translateX(110%);
		        transform: translateX(110%);
	}
}
.c-grad-effect {
	/* グラデを消す余韻 */
}
@-webkit-keyframes fade-wipe-opacity {
	0% {
		-webkit-transform: translateX(101%);
		        transform: translateX(101%);
		opacity: 1;
	}
	40% {
		-webkit-transform: translateX(0%);
		        transform: translateX(0%);
		opacity: 1;
	}
	100% {
		-webkit-transform: translateX(110%);
		        transform: translateX(110%);
		opacity: 0;
	}
}
@keyframes fade-wipe-opacity {
	0% {
		-webkit-transform: translateX(101%);
		        transform: translateX(101%);
		opacity: 1;
	}
	40% {
		-webkit-transform: translateX(0%);
		        transform: translateX(0%);
		opacity: 1;
	}
	100% {
		-webkit-transform: translateX(110%);
		        transform: translateX(110%);
		opacity: 0;
	}
}
@-webkit-keyframes text-in {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
@keyframes text-in {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

.c-catch-anim {
	clip-path: polygon(0 0, 0% 0, 0% 100%, 0% 100%);
}
.c-catch-anim.js-animeOn {
	-webkit-animation: elmShow 0.3s linear 0.2s forwards;
	        animation: elmShow 0.3s linear 0.2s forwards;
}

.c-title-typ {
	-webkit-transition: all 0.2s ease 0.3s;
	transition: all 0.2s ease 0.3s;
	clip-path: inset(100% 0 0 0);
}
.c-title-typ.js-animeOn {
	clip-path: inset(0);
}

.c-belt:not(.-spbreak) {
	position: relative;
	display: inline-block;
	padding: 0.3em 0.4em 0.4em;
}
@media screen and (max-width: 767px) {
	.c-belt:not(.-spbreak) {
		padding: 0.3em 0.3em 0.4em;
	}
}
.c-belt:not(.-spbreak)::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background-color: #000;
	position: absolute;
	left: 0;
	top: 0;
	clip-path: polygon(0 0, 0% 0, 0% 100%, 0% 100%);
}
.c-belt:not(.-spbreak) .c-belt__text {
	color: #ffffff;
	display: inline-block;
	position: relative;
	z-index: 1;
	clip-path: polygon(0 0, 0% 0, 0% 100%, 0% 100%);
}
@media screen and (max-width: 767px) {
	.c-belt:not(.-spbreak) .c-belt-sp__text {
		color: #ffffff;
		display: inline-block;
		position: relative;
		z-index: 1;
		clip-path: polygon(0 0, 0% 0, 0% 100%, 0% 100%);
	}
}
.c-belt:not(.-spbreak).js-animeOn .c-belt__text {
	-webkit-animation: elmShow 0.2s 0.5s forwards ease-out;
	        animation: elmShow 0.2s 0.5s forwards ease-out;
}
@media screen and (max-width: 767px) {
	.c-belt:not(.-spbreak).js-animeOn .c-belt-sp__text {
		-webkit-animation: elmShow 0.2s 0.5s forwards ease-out;
		        animation: elmShow 0.2s 0.5s forwards ease-out;
	}
}
.c-belt:not(.-spbreak).js-animeOn::after {
	-webkit-animation: elmShow 0.15s 0.3s forwards ease-out;
	        animation: elmShow 0.15s 0.3s forwards ease-out;
}
@media print, screen and (min-width: 768px) {
	.c-belt.-spbreak {
		position: relative;
		display: inline-block;
		padding: 0.3em 0.4em 0.4em;
	}
}
@media screen and (min-width: 768px) and (max-width: 767px) {
	.c-belt.-spbreak {
		padding: 0.3em 0.3em 0.4em;
	}
}
@media print, screen and (min-width: 768px) {
	.c-belt.-spbreak::after {
		content: "";
		display: block;
		width: 100%;
		height: 100%;
		background-color: #000;
		position: absolute;
		left: 0;
		top: 0;
		clip-path: polygon(0 0, 0% 0, 0% 100%, 0% 100%);
	}
	.c-belt.-spbreak .c-belt__text {
		color: #ffffff;
		display: inline-block;
		position: relative;
		z-index: 1;
		clip-path: polygon(0 0, 0% 0, 0% 100%, 0% 100%);
	}
}
@media screen and (min-width: 768px) and (max-width: 767px) {
	.c-belt.-spbreak .c-belt-sp__text {
		color: #ffffff;
		display: inline-block;
		position: relative;
		z-index: 1;
		clip-path: polygon(0 0, 0% 0, 0% 100%, 0% 100%);
	}
}
@media print, screen and (min-width: 768px) {
	.c-belt.-spbreak.js-animeOn .c-belt__text {
		-webkit-animation: elmShow 0.2s 0.5s forwards ease-out;
		        animation: elmShow 0.2s 0.5s forwards ease-out;
	}
}
@media screen and (min-width: 768px) and (max-width: 767px) {
	.c-belt.-spbreak.js-animeOn .c-belt-sp__text {
		-webkit-animation: elmShow 0.2s 0.5s forwards ease-out;
		        animation: elmShow 0.2s 0.5s forwards ease-out;
	}
}
@media print, screen and (min-width: 768px) {
	.c-belt.-spbreak.js-animeOn::after {
		-webkit-animation: elmShow 0.15s 0.3s forwards ease-out;
		        animation: elmShow 0.15s 0.3s forwards ease-out;
	}
}
.c-belt.-white::after {
	background-color: #ffffff;
}
.c-belt.-white .c-belt__text {
	color: #000;
}

@media screen and (max-width: 767px) {
	.c-belt-sp {
		position: relative;
		display: inline-block;
		padding: 0.3em 0.4em 0.4em;
	}
}
@media screen and (max-width: 767px) and (max-width: 767px) {
	.c-belt-sp {
		padding: 0.3em 0.3em 0.4em;
	}
}
@media screen and (max-width: 767px) {
	.c-belt-sp::after {
		content: "";
		display: block;
		width: 100%;
		height: 100%;
		background-color: #000;
		position: absolute;
		left: 0;
		top: 0;
		clip-path: polygon(0 0, 0% 0, 0% 100%, 0% 100%);
	}
	.c-belt-sp .c-belt__text {
		color: #ffffff;
		display: inline-block;
		position: relative;
		z-index: 1;
		clip-path: polygon(0 0, 0% 0, 0% 100%, 0% 100%);
	}
}
@media screen and (max-width: 767px) and (max-width: 767px) {
	.c-belt-sp .c-belt-sp__text {
		color: #ffffff;
		display: inline-block;
		position: relative;
		z-index: 1;
		clip-path: polygon(0 0, 0% 0, 0% 100%, 0% 100%);
	}
}
@media screen and (max-width: 767px) {
	.c-belt-sp.js-animeOn .c-belt__text {
		-webkit-animation: elmShow 0.2s 0.5s forwards ease-out;
		        animation: elmShow 0.2s 0.5s forwards ease-out;
	}
}
@media screen and (max-width: 767px) and (max-width: 767px) {
	.c-belt-sp.js-animeOn .c-belt-sp__text {
		-webkit-animation: elmShow 0.2s 0.5s forwards ease-out;
		        animation: elmShow 0.2s 0.5s forwards ease-out;
	}
}
@media screen and (max-width: 767px) {
	.c-belt-sp.js-animeOn::after {
		-webkit-animation: elmShow 0.15s 0.3s forwards ease-out;
		        animation: elmShow 0.15s 0.3s forwards ease-out;
	}
}
.c-belt-sp.-white::after {
	background-color: #ffffff;
}
.c-belt-sp.-white .c-belt-sp__text {
	color: #000;
}

.c-section-title .title-jp {
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 100%; /* 1.8rem */
	letter-spacing: 0.144rem;
}
@media screen and (max-width: 767px) {
	.c-section-title .title-jp {
		font-size: 1.3rem;
		letter-spacing: 0.104rem;
		margin-bottom: 0.6rem;
	}
}
.c-section-title .title-jp span {
	display: inline-block;
	position: relative;
	padding-bottom: 1.1rem;
}
@media screen and (max-width: 767px) {
	.c-section-title .title-jp span {
		padding-bottom: 0.6rem;
	}
}
.c-section-title .title-jp span::after {
	content: "";
	width: 100%;
	display: block;
	position: absolute;
	border-bottom: 1px solid #000;
	left: 0;
	bottom: 0;
}
.c-section-title .title-en {
	font-size: 16rem;
	font-style: italic;
	font-weight: 700;
	line-height: 95%; /* 15.2rem */
	letter-spacing: -0.16rem;
}
@media screen and (max-width: 767px) {
	.c-section-title .title-en {
		margin-top: 0.4rem;
		font-size: 5rem;
		letter-spacing: -0.05rem;
	}
}
@media print, screen and (min-width: 768px) {
	.c-section-title .title-en.-small {
		font-size: 11rem;
		margin-top: 0.6rem;
	}
}
.c-section-title.-white {
	color: #ffffff;
}
.c-section-title.-white .title-jp span::after {
	border-color: #ffffff;
}
.c-section-title.-center {
	text-align: center;
}

.c-btn__text {
	position: relative;
	font-size: 2rem;
	font-weight: 700;
	line-height: 100%; /* 2rem */
	letter-spacing: 0.02rem;
}
@media screen and (max-width: 767px) {
	.c-btn__text {
		font-size: 1.3rem;
		letter-spacing: 0.013rem;
	}
}
.c-btn__arrow {
	width: 2.8rem;
	height: 2.8rem;
	position: relative;
	border-radius: 100vh;
	color: #ffffff;
	-ms-flex-negative: 0;
	    flex-shrink: 0;
}
@media screen and (max-width: 767px) {
	.c-btn__arrow {
		width: 1.8rem;
		height: 1.8rem;
	}
}
.c-btn__arrow::before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	border-radius: 100vh;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	background-color: #000;
	-webkit-transition: 0.3s background-color, 0.3s -webkit-transform;
	transition: 0.3s background-color, 0.3s -webkit-transform;
	transition: 0.3s background-color, 0.3s transform;
	transition: 0.3s background-color, 0.3s transform, 0.3s -webkit-transform;
}
.c-btn__arrow .arrow {
	width: 100%;
	height: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	position: relative;
	z-index: 1;
}
.c-btn__arrow .arrow svg {
	width: 1.2rem;
}
.c-btn__inn {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	padding: 2rem 2rem 2.2rem 3rem;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 4rem;
	background-color: #ffffff;
	border-radius: 100vh;
	-webkit-transition: 0.3s background-color, 0.3s color;
	transition: 0.3s background-color, 0.3s color;
	position: relative;
	overflow: hidden;
	border: 1px solid #ffffff;
}
@media screen and (max-width: 767px) {
	.c-btn__inn {
		padding: 1.1rem 1.2rem 1.2rem 1.8rem;
		gap: 1.5rem;
	}
}
.c-btn__inn::before {
	width: 100%;
	height: 100%;
	display: block;
	background-color: #000;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	-webkit-transition: opacity 0.35s cubic-bezier(0.23, 1, 0.58, 1), -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.58, 1);
	transition: opacity 0.35s cubic-bezier(0.23, 1, 0.58, 1), -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.58, 1);
	transition: opacity 0.35s cubic-bezier(0.23, 1, 0.58, 1), transform 0.5s cubic-bezier(0.23, 1, 0.58, 1);
	transition: opacity 0.35s cubic-bezier(0.23, 1, 0.58, 1), transform 0.5s cubic-bezier(0.23, 1, 0.58, 1), -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.58, 1);
	-webkit-transform: scale(0);
	        transform: scale(0);
	opacity: 0;
	border-radius: 100vh;
	border: 2px solid #ffffff;
}
@media (any-hover: hover) {
	.c-btn__inn:hover {
		opacity: 1;
		color: #ffffff;
		background-color: #000;
	}
	.c-btn__inn:hover::before {
		opacity: 1;
		-webkit-transform: scale(1);
		        transform: scale(1);
	}
	.c-btn__inn:hover .c-btn__arrow {
		color: #000;
	}
	.c-btn__inn:hover .c-btn__arrow::before {
		background-color: #ffffff;
		-webkit-transform: scale(1.2);
		        transform: scale(1.2);
	}
}

.c-more {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
}
.c-more__text {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	position: relative;
}
.c-more__text::after {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background-color: #000;
	position: absolute;
	left: 0;
	bottom: -0.5em;
	width: 0;
	-webkit-transition: 0.3s width;
	transition: 0.3s width;
}
@media (any-hover: hover) {
	.c-more a:hover {
		opacity: 1;
	}
}
@media (any-hover: hover) {
	.c-more:hover .c-more__text::after {
		width: 100%;
	}
}

.c-pagettl {
	padding-top: 18rem;
	position: relative;
}
@media screen and (max-width: 767px) {
	.c-pagettl {
		padding-top: 9rem;
	}
}
.c-pagettl .c-section-title {
	position: relative;
}
.c-pagettl .c-section-title .title-jp {
	font-size: 2.2rem;
}
@media screen and (max-width: 767px) {
	.c-pagettl .c-section-title .title-jp {
		font-size: 1.3rem;
	}
}
.c-pagettl__bar {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 7rem;
	background-image: linear-gradient(140deg, #00498A 0%, #BB2AA8 0.36900369%, #E62E8B 0.7380073801%, #F00 1.1070110701%, #EE7500 1.4760147601%, #FCB910 1.8450184502%, #8EC43E 2.2140221402%, #094 2.5830258303%, #00B7FF 2.9520295203%, #094 3.3210332103%, #8EC43E 3.6900369004%, #FCB910 4.0590405904%, #EE7500 4.4280442804%, #F00 4.7970479705%, #E62E8B 5.1660516605%, #BB2AA8 5.5350553506%, #00498A 5.9040590406%, #00498A 6.2730627306%, #BB2AA8 6.6420664207%, #E62E8B 7.0110701107%, #F00 7.3800738007%, #EE7500 7.7490774908%, #FCB910 8.1180811808%, #8EC43E 8.4870848708%, #094 8.8560885609%, #00B7FF 9.2250922509%, #094 9.594095941%, #8EC43E 9.963099631%, #FCB910 10.332103321%, #EE7500 10.7011070111%, #F00 11.0701107011%, #E62E8B 11.4391143911%, #BB2AA8 11.8081180812%, #00498A 12.1771217712%, #00498A 12.5461254613%, #BB2AA8 12.9151291513%, #E62E8B 13.2841328413%, #F00 13.6531365314%, #EE7500 14.0221402214%, #FCB910 14.3911439114%, #8EC43E 14.7601476015%, #094 15.1291512915%, #00B7FF 15.4981549815%, #094 15.8671586716%, #8EC43E 16.2361623616%, #FCB910 16.6051660517%, #EE7500 16.9741697417%, #F00 17.3431734317%, #E62E8B 17.7121771218%, #BB2AA8 18.0811808118%, #00498A 18.4501845018%, #00498A 18.8191881919%, #BB2AA8 19.1881918819%, #E62E8B 19.557195572%, #F00 19.926199262%, #EE7500 20.295202952%, #FCB910 20.6642066421%, #8EC43E 21.0332103321%, #094 21.4022140221%, #00B7FF 21.7712177122%, #094 22.1402214022%, #8EC43E 22.5092250923%, #FCB910 22.8782287823%, #EE7500 23.2472324723%, #F00 23.6162361624%, #E62E8B 23.9852398524%, #BB2AA8 24.3542435424%, #00498A 24.7232472325%, #00498A 25.0922509225%, #BB2AA8 25.4612546125%, #E62E8B 25.8302583026%, #F00 26.1992619926%, #EE7500 26.5682656827%, #FCB910 26.9372693727%, #8EC43E 27.3062730627%, #094 27.6752767528%, #00B7FF 28.0442804428%, #094 28.4132841328%, #8EC43E 28.7822878229%, #FCB910 29.1512915129%, #EE7500 29.520295203%, #F00 29.889298893%, #E62E8B 30.258302583%, #BB2AA8 30.6273062731%, #00498A 30.9963099631%, #00498A 31.3653136531%, #BB2AA8 31.7343173432%, #E62E8B 32.1033210332%, #F00 32.4723247232%, #EE7500 32.8413284133%, #FCB910 33.2103321033%, #8EC43E 33.5793357934%, #094 33.9483394834%, #00B7FF 34.3173431734%, #094 34.6863468635%, #8EC43E 35.0553505535%, #FCB910 35.4243542435%, #EE7500 35.7933579336%, #F00 36.1623616236%, #E62E8B 36.5313653137%, #BB2AA8 36.9003690037%, #00498A 37.2693726937%, #00498A 37.6383763838%, #BB2AA8 38.0073800738%, #E62E8B 38.3763837638%, #F00 38.7453874539%, #EE7500 39.1143911439%, #FCB910 39.4833948339%, #8EC43E 39.852398524%, #094 40.221402214%, #00B7FF 40.5904059041%, #094 40.9594095941%, #8EC43E 41.3284132841%, #FCB910 41.6974169742%, #EE7500 42.0664206642%, #F00 42.4354243542%, #E62E8B 42.8044280443%, #BB2AA8 43.1734317343%, #00498A 43.5424354244%, #00498A 43.9114391144%, #BB2AA8 44.2804428044%, #E62E8B 44.6494464945%, #F00 45.0184501845%, #EE7500 45.3874538745%, #FCB910 45.7564575646%, #8EC43E 46.1254612546%, #094 46.4944649446%, #00B7FF 46.8634686347%, #094 47.2324723247%, #8EC43E 47.6014760148%, #FCB910 47.9704797048%, #EE7500 48.3394833948%, #F00 48.7084870849%, #E62E8B 49.0774907749%, #BB2AA8 49.4464944649%, #00498A 49.815498155%, #00498A 50.184501845%, #BB2AA8 50.5535055351%, #E62E8B 50.9225092251%, #F00 51.2915129151%, #EE7500 51.6605166052%, #FCB910 52.0295202952%, #8EC43E 52.3985239852%, #094 52.7675276753%, #00B7FF 53.1365313653%, #094 53.5055350554%, #8EC43E 53.8745387454%, #FCB910 54.2435424354%, #EE7500 54.6125461255%, #F00 54.9815498155%, #E62E8B 55.3505535055%, #BB2AA8 55.7195571956%, #00498A 56.0885608856%, #00498A 56.4575645756%, #BB2AA8 56.8265682657%, #E62E8B 57.1955719557%, #F00 57.5645756458%, #EE7500 57.9335793358%, #FCB910 58.3025830258%, #8EC43E 58.6715867159%, #094 59.0405904059%, #00B7FF 59.4095940959%, #094 59.778597786%, #8EC43E 60.147601476%, #FCB910 60.5166051661%, #EE7500 60.8856088561%, #F00 61.2546125461%, #E62E8B 61.6236162362%, #BB2AA8 61.9926199262%, #00498A 62.3616236162%, #00498A 62.7306273063%, #BB2AA8 63.0996309963%, #E62E8B 63.4686346863%, #F00 63.8376383764%, #EE7500 64.2066420664%, #FCB910 64.5756457565%, #8EC43E 64.9446494465%, #094 65.3136531365%, #00B7FF 65.6826568266%, #094 66.0516605166%, #8EC43E 66.4206642066%, #FCB910 66.7896678967%, #EE7500 67.1586715867%, #F00 67.5276752768%, #E62E8B 67.8966789668%, #BB2AA8 68.2656826568%, #00498A 68.6346863469%, #00498A 69.0036900369%, #BB2AA8 69.3726937269%, #E62E8B 69.741697417%, #F00 70.110701107%, #EE7500 70.479704797%, #FCB910 70.8487084871%, #8EC43E 71.2177121771%, #094 71.5867158672%, #00B7FF 71.9557195572%, #094 72.3247232472%, #8EC43E 72.6937269373%, #FCB910 73.0627306273%, #EE7500 73.4317343173%, #F00 73.8007380074%, #E62E8B 74.1697416974%, #BB2AA8 74.5387453875%, #00498A 74.9077490775%, #00498A 75.2767527675%, #BB2AA8 75.6457564576%, #E62E8B 76.0147601476%, #F00 76.3837638376%, #EE7500 76.7527675277%, #FCB910 77.1217712177%, #8EC43E 77.4907749077%, #094 77.8597785978%, #00B7FF 78.2287822878%, #094 78.5977859779%, #8EC43E 78.9667896679%, #FCB910 79.3357933579%, #EE7500 79.704797048%, #F00 80.073800738%, #E62E8B 80.442804428%, #BB2AA8 80.8118081181%, #00498A 81.1808118081%, #00498A 81.5498154982%, #BB2AA8 81.9188191882%, #E62E8B 82.2878228782%, #F00 82.6568265683%, #EE7500 83.0258302583%, #FCB910 83.3948339483%, #8EC43E 83.7638376384%, #094 84.1328413284%, #00B7FF 84.5018450185%, #094 84.8708487085%, #8EC43E 85.2398523985%, #FCB910 85.6088560886%, #EE7500 85.9778597786%, #F00 86.3468634686%, #E62E8B 86.7158671587%, #BB2AA8 87.0848708487%, #00498A 87.4538745387%, #00498A 87.8228782288%, #BB2AA8 88.1918819188%, #E62E8B 88.5608856089%, #F00 88.9298892989%, #EE7500 89.2988929889%, #FCB910 89.667896679%, #8EC43E 90.036900369%, #094 90.405904059%, #00B7FF 90.7749077491%, #094 91.1439114391%, #8EC43E 91.5129151292%, #FCB910 91.8819188192%, #EE7500 92.2509225092%, #F00 92.6199261993%, #E62E8B 92.9889298893%, #BB2AA8 93.3579335793%, #00498A 93.7269372694%, #00498A 94.0959409594%, #BB2AA8 94.4649446494%, #E62E8B 94.8339483395%, #F00 95.2029520295%, #EE7500 95.5719557196%, #FCB910 95.9409594096%, #8EC43E 96.3099630996%, #094 96.6789667897%, #00B7FF 97.0479704797%, #094 97.4169741697%, #8EC43E 97.7859778598%, #FCB910 98.1549815498%, #EE7500 98.5239852399%, #F00 98.8929889299%, #E62E8B 99.2619926199%, #BB2AA8 99.63099631%, #00498A 100%);
	background-size: 6400% 100%;
	-webkit-animation: grad-move 90s linear infinite;
	        animation: grad-move 90s linear infinite;
}
@media screen and (max-width: 767px) {
	.c-pagettl__bar {
		background-size: 12800% 100%;
	}
}
@-webkit-keyframes grad-move {
	from {
		background-position: 100% 40%;
	}
	to {
		background-position: 0 60%;
	}
}
@keyframes grad-move {
	from {
		background-position: 100% 40%;
	}
	to {
		background-position: 0 60%;
	}
}
@media screen and (max-width: 767px) {
	.c-pagettl__bar {
		height: 3rem;
	}
}

.c-imggrad-swipe {
	width: 100%;
	position: relative;
	overflow: hidden;
	--delay:0s;
	max-height: 100%;
}
.c-imggrad-swipe.js-animeOn .c-imggrad-slide {
	-webkit-animation-delay: var(--delay);
	        animation-delay: var(--delay);
	-webkit-animation: imggrad-slide 1s cubic-bezier(0.4, 0, 0.2, 1) forwards;
	        animation: imggrad-slide 1s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
.c-imggrad-swipe.js-animeOn .c-imggrad-fade {
	-webkit-animation-delay: calc(var(--delay) + 0.2s);
	        animation-delay: calc(var(--delay) + 0.2s);
	-webkit-animation: imggrad-wipe 0.9s cubic-bezier(0.4, 0, 0.2, 1) forwards;
	        animation: imggrad-wipe 0.9s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
.c-imggrad-swipe .c-imggrad-slide {
	position: absolute;
	inset: 0;
	background: -webkit-gradient(linear, left top, right top, color-stop(-12.11%, #EF1400), color-stop(48.52%, #FCB910), color-stop(81.36%, #1CEE59), color-stop(120.44%, #00B7FF));
	background: linear-gradient(90deg, #EF1400 -12.11%, #FCB910 48.52%, #1CEE59 81.36%, #00B7FF 120.44%);
	z-index: 1001;
	pointer-events: none;
	width: 110%;
	height: 110%;
}
.c-imggrad-swipe .c-imggrad-fade {
	position: absolute;
	inset: 0;
	-webkit-transform: translateX(-110%);
	        transform: translateX(-110%);
	opacity: 1;
	z-index: 1002;
	pointer-events: none;
	height: 100%;
}

.c-imgscale-wrap {
	overflow: hidden;
}
.c-imgscale-wrap .c-imgscale {
	-webkit-transform: scale(2);
	        transform: scale(2);
}
.c-imgscale-wrap.js-animeOn .c-imgscale {
	-webkit-animation: imgscale 0.5s ease forwards;
	        animation: imgscale 0.5s ease forwards;
}

.c-imgscale-wrap-fast {
	overflow: hidden;
}
.c-imgscale-wrap-fast .c-imgscale {
	-webkit-transform: scale(2);
	        transform: scale(2);
}
.c-imgscale-wrap-fast.js-animeOn .c-imgscale {
	-webkit-animation: imgscale 0.2s ease forwards;
	        animation: imgscale 0.2s ease forwards;
}

.c-imgscale-wrap-slow {
	overflow: hidden;
}
.c-imgscale-wrap-slow .c-imgscale {
	-webkit-transform: scale(2);
	        transform: scale(2);
}
.c-imgscale-wrap-slow.js-animeOn .c-imgscale {
	-webkit-animation: imgscale 1s ease forwards;
	        animation: imgscale 1s ease forwards;
}

.c-textscale {
	overflow: hidden;
	display: inline-block;
	-webkit-transform: scale(2);
	        transform: scale(2);
	opacity: 0;
}
.c-textscale.js-animeOn {
	-webkit-animation: textscale 0.2s ease 0.2s forwards;
	        animation: textscale 0.2s ease 0.2s forwards;
}

@media (any-hover: hover) {
	.c-entryShake:hover {
		opacity: 1;
		-webkit-animation: entryShake 0.8s ease forwards;
		        animation: entryShake 0.8s ease forwards;
	}
}

/* --------------------------------------------------
  header
-------------------------------------------------- */
.l-header {
	position: absolute;
	z-index: 100;
	width: 100%;
	left: 0;
	top: 0;
	height: 10rem;
	z-index: 1051;
	padding: 1.9rem 0 0;
}
@media screen and (max-width: 767px) {
	.l-header {
		height: 5rem;
		padding: 1rem 1rem 0;
		position: fixed;
	}
}
.l-header__overlay {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100vh;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, rgba(36, 36, 36, 0.7)), color-stop(94.23%, rgba(0, 0, 0, 0)));
	background: linear-gradient(180deg, rgba(36, 36, 36, 0.7) 50%, rgba(0, 0, 0, 0) 94.23%);
	z-index: 1051;
	opacity: 0;
	visibility: hidden;
}
.l-header__overlay.-drawer {
	background: rgba(0, 0, 0, 0.7);
}
.l-header__overlay.is-show {
	opacity: 1;
	visibility: visible;
}
.l-header__inner {
	width: 138rem;
	height: 7rem;
	margin: auto;
	max-width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	padding: 0 3.2rem;
	border-radius: 0.4rem;
	position: relative;
	z-index: 1051;
}
@media screen and (max-width: 767px) {
	.l-header__inner {
		padding: 0 1.5rem;
		height: 5rem;
		background-color: rgba(255, 255, 255, 0.8);
	}
}
.l-header__logo {
	width: 22.8rem;
	height: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
@media screen and (max-width: 767px) {
	.l-header__logo {
		width: 15.5rem;
	}
}
.l-header__logo a, .l-header__logo img {
	display: block;
}
.l-header__pc-nav {
	margin-left: auto;
	margin-right: 2.5rem;
}
@media screen and (max-width: 767px) {
	.l-header__pc-nav {
		display: none;
	}
}
.l-header__pc-nav__list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 2.8rem;
	-webkit-font-feature-settings: "palt" on;
	        font-feature-settings: "palt" on;
	font-size: 1.3rem;
	font-weight: 700;
	letter-spacing: 0.056rem;
}
.l-header__pc-nav__list .hav-mega {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
.l-header__pc-nav__list .hav-mega .item__inn {
	cursor: pointer;
}
.l-header__pc-nav__list .toggle {
	width: 1rem;
	height: 1rem;
	display: inline-block;
	margin-left: 0.4rem;
	position: relative;
}
.l-header__pc-nav__list .toggle::before, .l-header__pc-nav__list .toggle::after {
	content: "";
	width: 100%;
	height: 0.2rem;
	background-color: #000;
	display: block;
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translateX(-50%) translateY(-50%);
	        transform: translateX(-50%) translateY(-50%);
}
.l-header__pc-nav__list .toggle::after {
	width: 0.2rem;
	height: 100%;
	-webkit-transition: 0.3s cubic-bezier(0.76, 0, 0.24, 1);
	transition: 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}
@media (any-hover: hover) {
	.l-header__pc-nav__list .item__inn {
		display: inline-block;
		position: relative;
	}
	.l-header__pc-nav__list .item__inn::after {
		content: "";
		display: block;
		width: 100%;
		height: 1px;
		background-color: #000;
		position: absolute;
		left: 0;
		bottom: -0.3em;
		width: 0;
		-webkit-transition: 0.3s width;
		transition: 0.3s width;
	}
	.l-header__pc-nav__list .item:hover .item__inn {
		opacity: 1;
	}
	.l-header__pc-nav__list .item:hover .item__inn::after {
		width: 100%;
	}
	.l-header__pc-nav__list .item:hover .toggle::after {
		-webkit-transform: translate(-50%, -50%) rotate(-90deg);
		        transform: translate(-50%, -50%) rotate(-90deg);
	}
}
.l-header__pc-nav .mega-cnt {
	opacity: 0;
	visibility: hidden;
	background-color: #000;
	padding: 4rem 4rem 4rem;
	position: absolute;
	width: 104.5rem;
	max-width: 100%;
	height: 39.4rem;
	top: 8rem;
	right: 5.3rem;
	-webkit-transition: 0.3s opacity;
	transition: 0.3s opacity;
}
.l-header__pc-nav .mega-cnt.is-show {
	opacity: 1;
	visibility: visible;
}
.l-header__pc-nav .mega-cnt {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
.l-header__pc-nav .mega-heading {
	width: calc(100% - 70.9rem);
}
.l-header__pc-nav .mega-title {
	color: #ffffff;
	font-size: 4rem;
	font-style: italic;
	font-weight: 700;
	line-height: 95%; /* 3.8rem */
	letter-spacing: -0.04rem;
}
.l-header__pc-nav .mega-index {
	margin-top: 1.45rem;
	color: #ffffff;
	font-size: 1.3rem;
	font-weight: 700;
	line-height: 100%; /* 1.3rem */
	letter-spacing: 0.013rem;
}
.l-header__pc-nav .mega-index__inn {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 1rem;
}
.l-header__pc-nav .mega-index__inn .text {
	position: relative;
}
.l-header__pc-nav .mega-index__inn .text::after {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	position: absolute;
	left: 0;
	bottom: -0.5em;
	background-color: #ffffff;
	width: 0;
	-webkit-transition: 0.3s width;
	transition: 0.3s width;
}
.l-header__pc-nav .mega-index__inn .arrow {
	width: 2.4rem;
	height: 2.4rem;
}
.l-header__pc-nav .mega-index__inn .arrow svg {
	-webkit-transition: 0.3s -webkit-transform;
	transition: 0.3s -webkit-transform;
	transition: 0.3s transform;
	transition: 0.3s transform, 0.3s -webkit-transform;
}
@media (any-hover: hover) {
	.l-header__pc-nav .mega-index__inn:hover {
		opacity: 1;
	}
	.l-header__pc-nav .mega-index__inn:hover .text::after {
		width: 100%;
	}
	.l-header__pc-nav .mega-index__inn:hover .arrow svg {
		-webkit-transform: scale(1.2);
		        transform: scale(1.2);
	}
}
.l-header__pc-nav .mega-list {
	width: 70.9rem;
	margin: auto auto auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 2rem;
}
.l-header__pc-nav .mega-item {
	width: 22.3rem;
}
.l-header__pc-nav .mega-item a, .l-header__pc-nav .mega-item img {
	display: block;
}
.l-header__pc-nav .mega-item .img {
	position: relative;
}
.l-header__pc-nav .mega-item .img .part {
	position: absolute;
	left: 0;
	bottom: 0.2rem;
}
.l-header__pc-nav .mega-item .img .part .part-en .bg,
.l-header__pc-nav .mega-item .img .part .part-jp .bg {
	display: inline-block;
	background-color: #000;
	color: #ffffff;
	position: relative;
}
.l-header__pc-nav .mega-item .img .part .part-en .bg::before,
.l-header__pc-nav .mega-item .img .part .part-jp .bg::before {
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	background: -webkit-gradient(linear, left top, right top, from(#EF7500), to(#FF1A00));
	background: linear-gradient(90deg, #EF7500 0%, #FF1A00 100%);
}
.l-header__pc-nav .mega-item .img .part .part-en .inn,
.l-header__pc-nav .mega-item .img .part .part-jp .inn {
	position: relative;
}
.l-header__pc-nav .mega-item .img .part .part-en {
	font-size: 1rem;
	font-style: italic;
	font-weight: 500;
	line-height: 100%; /* 1.6rem */
	letter-spacing: -0.01rem;
}
.l-header__pc-nav .mega-item .img .part .part-en .bg {
	padding: 0.2rem 0.2rem 0.2rem;
}
.l-header__pc-nav .mega-item .img .part .part-jp {
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 100%; /* 4.2rem */
	letter-spacing: 0.015rem;
}
.l-header__pc-nav .mega-item .img .part .part-jp .bg {
	padding: 0.2rem 0.3rem 0.2rem;
}
.l-header__pc-nav .mega-item .img .part-member {
	position: absolute;
	left: 0;
	bottom: 0;
}
.l-header__pc-nav .mega-item .img .part-member .bg {
	background-color: #000;
}
.l-header__pc-nav .mega-item .img .part-member img {
	height: 2.7rem;
	width: auto;
	position: relative;
}
.l-header__pc-nav .mega-item .img .part-member::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background-color: #000;
	position: absolute;
	left: 0;
	top: 0;
}
.l-header__pc-nav .mega-item__inn {
	display: block;
}
.l-header__pc-nav .mega-item__inn img {
	display: block;
}
.l-header__pc-nav .mega-item__inn .img {
	overflow: hidden;
}
.l-header__pc-nav .mega-item__inn .img > img {
	-webkit-transition: 0.3s -webkit-transform;
	transition: 0.3s -webkit-transform;
	transition: 0.3s transform;
	transition: 0.3s transform, 0.3s -webkit-transform;
}
@media (any-hover: hover) {
	.l-header__pc-nav .mega-item__inn:hover {
		opacity: 1;
	}
	.l-header__pc-nav .mega-item__inn:hover .img > img {
		-webkit-transform: scale(1.2);
		        transform: scale(1.2);
	}
}
.l-header__pc-nav .mega-item:nth-of-type(1) .mega-item__inn .part .part-en .bg::before,
.l-header__pc-nav .mega-item:nth-of-type(1) .mega-item__inn .part .part-jp .bg::before {
	background: linear-gradient(162deg, #F4D000 14.79%, #F28D12 81%);
}
.l-header__pc-nav .mega-item:nth-of-type(2) .mega-item__inn .part .part-en .bg::before,
.l-header__pc-nav .mega-item:nth-of-type(2) .mega-item__inn .part .part-jp .bg::before {
	background: -webkit-gradient(linear, left top, right top, from(#EF7500), to(#FF1A00));
	background: linear-gradient(90deg, #EF7500 0%, #FF1A00 100%);
}
.l-header__pc-nav .mega-item:nth-of-type(3) .mega-item__inn .part .part-en .bg::before,
.l-header__pc-nav .mega-item:nth-of-type(3) .mega-item__inn .part .part-jp .bg::before {
	background: -webkit-gradient(linear, left top, left bottom, from(#C81D9E), to(#8B27C9));
	background: linear-gradient(180deg, #C81D9E 0%, #8B27C9 100%);
}
.l-header__pc-nav .mega-item:nth-of-type(4) .mega-item__inn .part .part-en .bg::before,
.l-header__pc-nav .mega-item:nth-of-type(4) .mega-item__inn .part .part-jp .bg::before {
	background: -webkit-gradient(linear, left top, left bottom, from(#0E73CE), to(#1E24C2));
	background: linear-gradient(180deg, #0E73CE 0%, #1E24C2 100%);
}
.l-header__pc-nav .mega-item:nth-of-type(5) .mega-item__inn .part .part-en .bg::before,
.l-header__pc-nav .mega-item:nth-of-type(5) .mega-item__inn .part .part-jp .bg::before {
	background: linear-gradient(224deg, #48CAC1 22.44%, #14A8D9 86.08%);
}
.l-header__pc-nav .mega-item:nth-of-type(6) .mega-item__inn .part .part-en .bg::before,
.l-header__pc-nav .mega-item:nth-of-type(6) .mega-item__inn .part .part-jp .bg::before {
	background: -webkit-gradient(linear, left top, left bottom, from(#98CC1D), to(#D7D41B));
	background: linear-gradient(180deg, #98CC1D 0%, #D7D41B 100%);
}
.l-header__pc-nav .mega-item:nth-of-type(1) .mega-item__inn .part-member::before {
	background: linear-gradient(162deg, #F4D000 14.79%, #F28D12 81%);
}
.l-header__pc-nav .mega-item:nth-of-type(2) .mega-item__inn .part-member::before {
	background: -webkit-gradient(linear, left top, right top, from(#FF8B1B), to(#FF2226));
	background: linear-gradient(90deg, #FF8B1B 0%, #FF2226 100%);
}
.l-header__pc-nav .mega-item:nth-of-type(3) .mega-item__inn .part-member::before {
	background: -webkit-gradient(linear, left top, left bottom, from(#C81D9E), to(#8B27C9));
	background: linear-gradient(180deg, #C81D9E 0%, #8B27C9 100%);
}
.l-header__pc-nav .mega-item:nth-of-type(4) .mega-item__inn .part-member::before {
	background: -webkit-gradient(linear, left top, left bottom, from(#0E73CE), to(#1E24C2));
	background: linear-gradient(180deg, #0E73CE 0%, #1E24C2 100%);
}
.l-header__pc-nav .mega-item:nth-of-type(5) .mega-item__inn .part-member::before {
	background: linear-gradient(224deg, #48CAC1 22.44%, #14A8D9 86.08%);
}
.l-header__pc-nav .mega-item:nth-of-type(6) .mega-item__inn .part-member::before {
	background: -webkit-gradient(linear, left top, left bottom, from(#4EBE21), to(#16AB68));
	background: linear-gradient(180deg, #4EBE21 0%, #16AB68 100%);
}
.l-header.-head {
	position: absolute;
}
@media screen and (max-width: 767px) {
	.l-header.-head {
		display: none;
	}
}
@media print, screen and (min-width: 768px) {
	.l-header.-white:not(.is-fixed, .is-open) .l-header__inner {
		background-color: transparent;
	}
	.l-header.-white:not(.is-fixed, .is-open) .l-header__logo img {
		opacity: 0;
	}
	.l-header.-white:not(.is-fixed, .is-open) .l-header__logo a {
		background-image: url(../images/common/logo.svg);
		background-repeat: no-repeat;
		background-position: center center;
		background-size: contain;
	}
	.l-header.-white:not(.is-fixed, .is-open) .l-header__pc-nav__list {
		color: #FFF;
	}
	.l-header.-white:not(.is-fixed, .is-open) .l-header__pc-nav__list .toggle::before, .l-header.-white:not(.is-fixed, .is-open) .l-header__pc-nav__list .toggle::after {
		background-color: #ffffff;
	}
	.l-header.-white:not(.is-fixed, .is-open) .l-header__pc-nav__list .item__inn::after {
		background-color: #ffffff;
	}
	.l-header.-white:not(.is-fixed, .is-open) .drbtn {
		background-color: #ffffff;
	}
	.l-header.-white:not(.is-fixed, .is-open) .drbtn .line {
		background-color: #000;
	}
	.l-header.-white:not(.is-fixed, .is-open) .drbtn .menu {
		color: #000;
	}
}
@media screen and (max-width: 767px) {
	.l-header.-sp-white:not(.is-fixed, .is-open) .l-header__inner {
		background-color: transparent;
	}
	.l-header.-sp-white:not(.is-fixed, .is-open) .l-header__logo img {
		opacity: 0;
	}
	.l-header.-sp-white:not(.is-fixed, .is-open) .l-header__logo a {
		background-image: url(../images/common/logo.svg);
		background-repeat: no-repeat;
		background-position: center center;
		background-size: contain;
	}
	.l-header.-sp-white:not(.is-fixed, .is-open) .l-header__pc-nav__list {
		color: #FFF;
	}
	.l-header.-sp-white:not(.is-fixed, .is-open) .l-header__pc-nav__list .toggle::before, .l-header.-sp-white:not(.is-fixed, .is-open) .l-header__pc-nav__list .toggle::after {
		background-color: #ffffff;
	}
	.l-header.-sp-white:not(.is-fixed, .is-open) .l-header__pc-nav__list .item__inn::after {
		background-color: #ffffff;
	}
	.l-header.-sp-white:not(.is-fixed, .is-open) .drbtn {
		background-color: #ffffff;
	}
	.l-header.-sp-white:not(.is-fixed, .is-open) .drbtn .line {
		background-color: #000;
	}
	.l-header.-sp-white:not(.is-fixed, .is-open) .drbtn .menu {
		color: #000;
	}
}
.l-header.is-open {
	background-color: #F4F4F4;
}
.l-header.is-open .l-header__pc-nav {
	display: none;
}
.l-header.is-fixed, .l-header.is-open {
	position: fixed;
	-webkit-transform: translateY(0);
	        transform: translateY(0);
	top: 0;
	left: 0;
	width: 100%;
	z-index: 2001;
}
.l-header.is-fixed.-head, .l-header.is-open.-head {
	opacity: 0;
	visibility: hidden;
}
@media print, screen and (min-width: 768px) {
	.l-header.is-fixed .l-header__inner {
		background-color: rgba(244, 244, 244, 0.8);
	}
	.l-header {
		-webkit-transform: translateY(0);
		        transform: translateY(0);
		-webkit-transition: 0.5s -webkit-transform;
		transition: 0.5s -webkit-transform;
		transition: 0.5s transform;
		transition: 0.5s transform, 0.5s -webkit-transform;
	}
	.l-header.is-scrolling {
		-webkit-transform: translateY(-120%);
		        transform: translateY(-120%);
		position: fixed;
	}
}

.drbtn {
	z-index: 11;
	width: 10rem;
	height: 3rem;
	padding: 0 1.3rem;
	cursor: pointer;
	background-color: #000;
	border-radius: 0.4rem;
	color: #000;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}
@media screen and (max-width: 767px) {
	.drbtn {
		width: 9rem;
		height: 3.5rem;
		padding: 0 1rem;
	}
}
.drbtn .hamburger {
	position: relative;
	width: 2rem;
	height: 1rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}
@media screen and (max-width: 767px) {
	.drbtn .hamburger {
		height: 1.2rem;
	}
}
.drbtn .line {
	display: block;
	width: 100%;
	height: 1px;
	background-color: #ffffff;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}
.drbtn .menu {
	text-align: center;
	font-size: 1.1rem;
	font-weight: bold;
	line-height: 1;
	color: #ffffff;
	padding-top: 0.1em;
}
.drbtn.is-action .line {
	position: absolute;
}
.drbtn.is-action .line:nth-of-type(1) {
	top: 0.4rem;
	-webkit-transform: rotate(45deg);
	        transform: rotate(45deg);
}
.drbtn.is-action .line:nth-of-type(2) {
	opacity: 0;
}
.drbtn.is-action .line:nth-of-type(3) {
	top: 0.4rem;
	-webkit-transform: rotate(-45deg);
	        transform: rotate(-45deg);
}

.drawer {
	max-height: 100vh;
	height: 51.2rem;
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 2;
	padding: 10rem 0 0;
	opacity: 0;
	visibility: hidden;
	z-index: -1;
	background-color: #F4F4F4;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}
@media screen and (max-width: 767px) {
	.drawer {
		padding-top: 9rem;
	}
}
.drawer.is-action {
	max-width: 100%;
	position: fixed;
	opacity: 1;
	visibility: visible;
	z-index: 2000;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}

.l-header-menu {
	max-height: 100%;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
	-ms-overflow-style: none; /* IE, Edge 対応 */
	scrollbar-width: none; /* Firefox 対応 */
	width: 100%;
	display: block;
}
.l-header-menu::-webkit-scrollbar { /* Chrome, Safari 対応 */
	display: none;
}
@media print, screen and (min-width: 768px) {
	.l-header-menu {
		height: 100%;
	}
}
@media screen and (max-width: 767px) {
	.l-header-menu {
		padding-bottom: 30vw;
	}
}

.l-header-nav {
	padding-top: 4rem;
}
@media print, screen and (min-width: 768px) {
	.l-header-nav {
		height: 100%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
	}
}
@media screen and (max-width: 767px) {
	.l-header-nav {
		padding-top: 0;
	}
}
.l-header-nav__top .l-content-inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 6.5rem;
}
@media screen and (max-width: 767px) {
	.l-header-nav__top .l-content-inner {
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		gap: 4rem;
	}
}
.l-header-nav__list {
	width: 26.5rem;
}
@media screen and (max-width: 767px) {
	.l-header-nav__list {
		width: 100%;
	}
}
.l-header-nav__list .item {
	margin-top: 5.6rem;
}
.l-header-nav__list .item:first-of-type {
	margin-top: 0;
}
.l-header-nav__list .item .c-grad-effect {
	display: block;
}
.l-header-nav__list .item__inn {
	display: block;
	background-color: #000;
	color: #ffffff;
	font-size: 3rem;
	font-style: italic;
	font-weight: 600;
	line-height: 100%; /* 3rem */
	letter-spacing: -0.03rem;
	padding: 0.5rem 1rem;
}
@media screen and (max-width: 767px) {
	.l-header-nav__list .item__inn {
		font-size: 2.2rem;
		letter-spacing: -0.022rem;
		padding: 1rem 1.2rem 0.9rem;
	}
}
.l-header-nav__list .item .child {
	margin-top: 1rem;
}
@media screen and (max-width: 767px) {
	.l-header-nav__list .item .child {
		margin-top: 1.6rem;
		margin-top: 0;
	}
}
.l-header-nav__list .item .child-item {
	font-size: 1.3rem;
	font-weight: 700;
	line-height: 100%;
	margin-top: 1.6rem;
}
@media screen and (max-width: 767px) {
	.l-header-nav__list .item .child-item {
		font-size: 1.3rem;
		font-weight: 700;
		line-height: 100%; /* 1.3rem */
		padding: 1.6rem 0.8rem;
		border-bottom: 1px solid #C2C2C2;
		margin-top: 0;
	}
}
.l-header-nav__list .item .child-item .name {
	font-size: 1.2rem;
	font-weight: 500;
}
.l-header-nav__list .item .child-item:first-of-type {
	margin-top: 0;
}
.l-header-nav__list .item .child-item.-big {
	margin-top: 1.6rem;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 100%; /* 1.8rem */
	letter-spacing: 0.09rem;
}
@media screen and (max-width: 767px) {
	.l-header-nav__list .item .child-item.-big {
		font-size: 1.8rem;
		letter-spacing: 0.054rem;
		margin-top: 1.2rem;
		padding-bottom: 2.4rem;
		margin-top: 0;
		padding-top: 2.4rem;
	}
}
.l-header-nav__list .item .child-item.-big + .child-item {
	margin-top: 2.4rem;
}
@media screen and (max-width: 767px) {
	.l-header-nav__list .item .child-item.-big + .child-item {
		margin-top: 0;
	}
}
.l-header-nav__list .item .child-item.-big .child-item__inn::before {
	content: none;
}
@media (any-hover: hover) {
	.l-header-nav__list .item .child-item.-big .child-item__inn::after {
		left: 0;
	}
	.l-header-nav__list .item .child-item.-big .child-item__inn:hover::after {
		width: 100%;
	}
}
.l-header-nav__list .item .child-item__inn {
	position: relative;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 0.8rem;
}
@media screen and (max-width: 767px) {
	.l-header-nav__list .item .child-item__inn {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		width: 100%;
	}
}
.l-header-nav__list .item .child-item__inn::before {
	content: "";
	width: 0.5rem;
	height: 1px;
	background-color: #000;
	display: block;
}
@media screen and (max-width: 767px) {
	.l-header-nav__list .item .child-item__inn::before {
		content: none;
	}
}
.l-header-nav__list .item .child-item__inn::after {
	content: "";
	display: block;
	position: absolute;
	height: 1px;
	left: 1.3rem;
	bottom: -0.5rem;
	background-color: #000;
	-webkit-transition: 0.3s width;
	transition: 0.3s width;
	width: 0;
}
@media screen and (max-width: 767px) {
	.l-header-nav__list .item .child-item__inn::after {
		width: 1.2rem;
		height: 0.8rem;
		background-image: url(../images/common/arrow-spmenu.svg);
		background-color: transparent;
		background-repeat: no-repeat;
		background-size: contain;
		background-position: center center;
		bottom: auto;
		left: auto;
		right: 0;
		top: 50%;
		-webkit-transform: translateY(-50%);
		        transform: translateY(-50%);
	}
}
@media (any-hover: hover) {
	.l-header-nav__list .item .child-item__inn:hover {
		opacity: 1;
	}
	.l-header-nav__list .item .child-item__inn:hover::after {
		width: calc(100% - 0.5rem - 0.8rem);
	}
}
.l-header-nav__list .btn {
	margin-top: 5.6rem;
	width: 100%;
	height: 8rem;
}
@media screen and (max-width: 767px) {
	.l-header-nav__list .btn {
		margin-top: 2.4rem;
		height: 7rem;
	}
}
.l-header-nav__list .btn__inn {
	width: 100%;
	height: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	gap: 8rem;
	color: #ffffff;
	font-size: 3rem;
	font-style: italic;
	font-weight: 600;
	line-height: 100%; /* 3rem */
	letter-spacing: -0.03rem;
	background: -webkit-gradient(linear, left top, right top, from(#EF7500), to(#FF1A00));
	background: linear-gradient(90deg, #EF7500 0%, #FF1A00 100%);
}
@media screen and (max-width: 767px) {
	.l-header-nav__list .btn__inn {
		font-size: 3.4875rem;
		font-weight: 700;
		letter-spacing: -0.0349rem;
		gap: 0.8rem;
	}
}
.l-header-nav__list .btn__inn .arrow {
	width: 4.6rem;
	height: 1.6rem;
	background-image: url(../images/common/arrow-entry.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}
@media screen and (max-width: 767px) {
	.l-header-nav__list .btn__inn .arrow {
		width: 2.8509rem;
		height: 0.3572rem;
		background-image: url(../images/common/arrow-entry_sp.svg);
	}
}
.l-header-nav__btm {
	margin-top: 7rem;
}
@media screen and (max-width: 767px) {
	.l-header-nav__btm {
		margin: 5.9rem 0 0;
	}
}
.l-header-nav__text .text1 {
	font-size: 15.4rem;
	font-style: italic;
	font-weight: 700;
	line-height: 100%; /* 15.4rem */
	letter-spacing: -0.308rem;
}
@media screen and (max-width: 767px) {
	.l-header-nav__text .text1 {
		font-size: 5.3rem;
		letter-spacing: -0.112rem;
	}
}
.l-header-nav__text .text2 {
	font-size: 3rem;
	font-style: italic;
	font-weight: 700;
	line-height: 100%; /* 3rem */
	letter-spacing: 0.18rem;
}
@media screen and (max-width: 767px) {
	.l-header-nav__text .text2 {
		-webkit-font-feature-settings: "palt" on;
		        font-feature-settings: "palt" on;
		font-size: 1.6rem;
		line-height: 160%; /* 2.56rem */
		letter-spacing: 0.128rem;
	}
}
.l-header-nav__bar {
	margin-top: 5.5rem;
	height: 5.4rem;
	background: -webkit-gradient(linear, left top, right top, color-stop(-1.72%, #00498A), color-stop(6.59%, #BB2AA8), color-stop(14.71%, #E62E8B), color-stop(25.2%, #F00), color-stop(58.51%, #EE7500), color-stop(70.53%, #FCB910), color-stop(82.57%, #8EC43E), color-stop(91.51%, #094), color-stop(102.98%, #00B7FF));
	background: linear-gradient(90deg, #00498A -1.72%, #BB2AA8 6.59%, #E62E8B 14.71%, #F00 25.2%, #EE7500 58.51%, #FCB910 70.53%, #8EC43E 82.57%, #094 91.51%, #00B7FF 102.98%);
}
@media screen and (max-width: 767px) {
	.l-header-nav__bar {
		height: 2.4rem;
		margin-top: 1.2rem;
	}
}

body.is-locked {
	overflow: hidden;
}

.js-pagewrap .is-fixed {
	position: fixed;
	width: 100vw;
	left: 0;
}

/* --------------------------------------------------
  footer
-------------------------------------------------- */
.l-footer__random {
	width: 100%;
	height: 76rem;
	position: relative;
}
@media screen and (max-width: 767px) {
	.l-footer__random {
		height: 60rem;
	}
}
.l-footer__random .c-imgscale-wrap-fast,
.l-footer__random .c-imgscale {
	width: 100%;
	height: 100%;
}
.l-footer__random .bg {
	width: 100%;
	height: 100%;
	background-image: url(../images/common/img_footer01.jpg);
	background-size: cover;
	background-position: center center;
	overflow: hidden;
}
.l-footer__random .bg.is-img01 {
	background-image: url("../images/common/img_footer01.jpg");
}
@media screen and (max-width: 767px) {
	.l-footer__random .bg.is-img01 {
		background-image: url("../images/common/img_footer01_sp.jpg");
	}
}
.l-footer__random .bg.is-img02 {
	background-image: url("../images/common/img_footer02.jpg");
}
@media screen and (max-width: 767px) {
	.l-footer__random .bg.is-img02 {
		background-image: url("../images/common/img_footer02_sp.jpg");
	}
}
.l-footer__random .bg.is-img03 {
	background-image: url("../images/common/img_footer03.jpg");
}
@media screen and (max-width: 767px) {
	.l-footer__random .bg.is-img03 {
		background-image: url("../images/common/img_footer03_sp.jpg");
	}
}
.l-footer__random .bg.is-img04 {
	background-image: url("../images/common/img_footer04.jpg");
}
@media screen and (max-width: 767px) {
	.l-footer__random .bg.is-img04 {
		background-image: url("../images/common/img_footer04_sp.jpg");
	}
}
.l-footer__random .bg.is-img05 {
	background-image: url("../images/common/img_footer05.jpg");
}
@media screen and (max-width: 767px) {
	.l-footer__random .bg.is-img05 {
		background-image: url("../images/common/img_footer05_sp.jpg");
	}
}
.l-footer__random .bg.is-img06 {
	background-image: url("../images/common/img_footer06.jpg");
}
@media screen and (max-width: 767px) {
	.l-footer__random .bg.is-img06 {
		background-image: url("../images/common/img_footer06_sp.jpg");
	}
}
.l-footer__random .bg.is-img07 {
	background-image: url("../images/common/img_footer07.jpg");
}
@media screen and (max-width: 767px) {
	.l-footer__random .bg.is-img07 {
		background-image: url("../images/common/img_footer07_sp.jpg");
	}
}
.l-footer__random .bg.is-img08 {
	background-image: url("../images/common/img_footer08.jpg");
}
@media screen and (max-width: 767px) {
	.l-footer__random .bg.is-img08 {
		background-image: url("../images/common/img_footer08_sp.jpg");
	}
}
.l-footer__random .bg {
	position: relative;
}
.l-footer__random .bg::after {
	content: "";
	display: block;
	width: 100%;
	height: 40.6rem;
	position: absolute;
	left: 0;
	bottom: 0;
	background: -webkit-gradient(linear, left bottom, left top, color-stop(27.46%, rgba(0, 0, 0, 0.7)), color-stop(96.52%, rgba(102, 102, 102, 0)));
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.7) 27.46%, rgba(102, 102, 102, 0) 96.52%);
}
@media screen and (max-width: 767px) {
	.l-footer__random .bg::after {
		height: 19.3rem;
	}
}
.l-footer__random .cnt {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
.l-footer__random .cnt .l-content-inner {
	height: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
	padding-bottom: 7.5rem;
}
@media screen and (max-width: 767px) {
	.l-footer__random .cnt .l-content-inner {
		padding: 0 1.6rem 2.7rem;
	}
}
.l-footer__random .text1 {
	color: #ffffff;
	font-size: 14rem;
	font-style: italic;
	font-weight: 700;
	line-height: 100%; /* 14rem */
	padding-left: 0.05em;
}
@media screen and (max-width: 767px) {
	.l-footer__random .text1 {
		font-size: 5.3rem;
	}
}
.l-footer__random .text2 {
	color: #ffffff;
	font-size: 3.4rem;
	font-weight: 700;
	line-height: 100%; /* 3.4rem */
	letter-spacing: 0.204rem;
	font-style: italic;
}
@media screen and (max-width: 767px) {
	.l-footer__random .text2 {
		margin-top: 0.5rem;
		font-size: 1.6rem;
		letter-spacing: 0.096rem;
	}
}
.l-footer__random .c-imggrad-swipe,
.l-footer__random .c-imgscale-wrap {
	height: 100%;
}
.l-footer__random .c-catch-anim {
	-webkit-animation-delay: 0.3s;
	        animation-delay: 0.3s;
}
.l-footer__random .c-fadeup {
	-webkit-animation-delay: 0.4s;
	        animation-delay: 0.4s;
}
.l-footer__entry {
	height: 65rem;
	background: -webkit-gradient(linear, left top, right top, color-stop(-1.72%, #00498A), color-stop(6.59%, #BB2AA8), color-stop(14.71%, #E62E8B), color-stop(25.2%, #F00), color-stop(58.51%, #EE7500), color-stop(70.53%, #FCB910), color-stop(82.57%, #8EC43E), color-stop(91.51%, #094), color-stop(102.98%, #00B7FF));
	background: linear-gradient(90deg, #00498A -1.72%, #BB2AA8 6.59%, #E62E8B 14.71%, #F00 25.2%, #EE7500 58.51%, #FCB910 70.53%, #8EC43E 82.57%, #094 91.51%, #00B7FF 102.98%);
}
@media screen and (max-width: 767px) {
	.l-footer__entry {
		height: 24rem;
	}
}
.l-footer__entry {
	position: relative;
}
.l-footer__entry::before {
	content: "";
	width: 100%;
	height: 100%;
	background-image: linear-gradient(140deg, #00498A 0%, #BB2AA8 0.36900369%, #E62E8B 0.7380073801%, #F00 1.1070110701%, #EE7500 1.4760147601%, #FCB910 1.8450184502%, #8EC43E 2.2140221402%, #094 2.5830258303%, #00B7FF 2.9520295203%, #094 3.3210332103%, #8EC43E 3.6900369004%, #FCB910 4.0590405904%, #EE7500 4.4280442804%, #F00 4.7970479705%, #E62E8B 5.1660516605%, #BB2AA8 5.5350553506%, #00498A 5.9040590406%, #00498A 6.2730627306%, #BB2AA8 6.6420664207%, #E62E8B 7.0110701107%, #F00 7.3800738007%, #EE7500 7.7490774908%, #FCB910 8.1180811808%, #8EC43E 8.4870848708%, #094 8.8560885609%, #00B7FF 9.2250922509%, #094 9.594095941%, #8EC43E 9.963099631%, #FCB910 10.332103321%, #EE7500 10.7011070111%, #F00 11.0701107011%, #E62E8B 11.4391143911%, #BB2AA8 11.8081180812%, #00498A 12.1771217712%, #00498A 12.5461254613%, #BB2AA8 12.9151291513%, #E62E8B 13.2841328413%, #F00 13.6531365314%, #EE7500 14.0221402214%, #FCB910 14.3911439114%, #8EC43E 14.7601476015%, #094 15.1291512915%, #00B7FF 15.4981549815%, #094 15.8671586716%, #8EC43E 16.2361623616%, #FCB910 16.6051660517%, #EE7500 16.9741697417%, #F00 17.3431734317%, #E62E8B 17.7121771218%, #BB2AA8 18.0811808118%, #00498A 18.4501845018%, #00498A 18.8191881919%, #BB2AA8 19.1881918819%, #E62E8B 19.557195572%, #F00 19.926199262%, #EE7500 20.295202952%, #FCB910 20.6642066421%, #8EC43E 21.0332103321%, #094 21.4022140221%, #00B7FF 21.7712177122%, #094 22.1402214022%, #8EC43E 22.5092250923%, #FCB910 22.8782287823%, #EE7500 23.2472324723%, #F00 23.6162361624%, #E62E8B 23.9852398524%, #BB2AA8 24.3542435424%, #00498A 24.7232472325%, #00498A 25.0922509225%, #BB2AA8 25.4612546125%, #E62E8B 25.8302583026%, #F00 26.1992619926%, #EE7500 26.5682656827%, #FCB910 26.9372693727%, #8EC43E 27.3062730627%, #094 27.6752767528%, #00B7FF 28.0442804428%, #094 28.4132841328%, #8EC43E 28.7822878229%, #FCB910 29.1512915129%, #EE7500 29.520295203%, #F00 29.889298893%, #E62E8B 30.258302583%, #BB2AA8 30.6273062731%, #00498A 30.9963099631%, #00498A 31.3653136531%, #BB2AA8 31.7343173432%, #E62E8B 32.1033210332%, #F00 32.4723247232%, #EE7500 32.8413284133%, #FCB910 33.2103321033%, #8EC43E 33.5793357934%, #094 33.9483394834%, #00B7FF 34.3173431734%, #094 34.6863468635%, #8EC43E 35.0553505535%, #FCB910 35.4243542435%, #EE7500 35.7933579336%, #F00 36.1623616236%, #E62E8B 36.5313653137%, #BB2AA8 36.9003690037%, #00498A 37.2693726937%, #00498A 37.6383763838%, #BB2AA8 38.0073800738%, #E62E8B 38.3763837638%, #F00 38.7453874539%, #EE7500 39.1143911439%, #FCB910 39.4833948339%, #8EC43E 39.852398524%, #094 40.221402214%, #00B7FF 40.5904059041%, #094 40.9594095941%, #8EC43E 41.3284132841%, #FCB910 41.6974169742%, #EE7500 42.0664206642%, #F00 42.4354243542%, #E62E8B 42.8044280443%, #BB2AA8 43.1734317343%, #00498A 43.5424354244%, #00498A 43.9114391144%, #BB2AA8 44.2804428044%, #E62E8B 44.6494464945%, #F00 45.0184501845%, #EE7500 45.3874538745%, #FCB910 45.7564575646%, #8EC43E 46.1254612546%, #094 46.4944649446%, #00B7FF 46.8634686347%, #094 47.2324723247%, #8EC43E 47.6014760148%, #FCB910 47.9704797048%, #EE7500 48.3394833948%, #F00 48.7084870849%, #E62E8B 49.0774907749%, #BB2AA8 49.4464944649%, #00498A 49.815498155%, #00498A 50.184501845%, #BB2AA8 50.5535055351%, #E62E8B 50.9225092251%, #F00 51.2915129151%, #EE7500 51.6605166052%, #FCB910 52.0295202952%, #8EC43E 52.3985239852%, #094 52.7675276753%, #00B7FF 53.1365313653%, #094 53.5055350554%, #8EC43E 53.8745387454%, #FCB910 54.2435424354%, #EE7500 54.6125461255%, #F00 54.9815498155%, #E62E8B 55.3505535055%, #BB2AA8 55.7195571956%, #00498A 56.0885608856%, #00498A 56.4575645756%, #BB2AA8 56.8265682657%, #E62E8B 57.1955719557%, #F00 57.5645756458%, #EE7500 57.9335793358%, #FCB910 58.3025830258%, #8EC43E 58.6715867159%, #094 59.0405904059%, #00B7FF 59.4095940959%, #094 59.778597786%, #8EC43E 60.147601476%, #FCB910 60.5166051661%, #EE7500 60.8856088561%, #F00 61.2546125461%, #E62E8B 61.6236162362%, #BB2AA8 61.9926199262%, #00498A 62.3616236162%, #00498A 62.7306273063%, #BB2AA8 63.0996309963%, #E62E8B 63.4686346863%, #F00 63.8376383764%, #EE7500 64.2066420664%, #FCB910 64.5756457565%, #8EC43E 64.9446494465%, #094 65.3136531365%, #00B7FF 65.6826568266%, #094 66.0516605166%, #8EC43E 66.4206642066%, #FCB910 66.7896678967%, #EE7500 67.1586715867%, #F00 67.5276752768%, #E62E8B 67.8966789668%, #BB2AA8 68.2656826568%, #00498A 68.6346863469%, #00498A 69.0036900369%, #BB2AA8 69.3726937269%, #E62E8B 69.741697417%, #F00 70.110701107%, #EE7500 70.479704797%, #FCB910 70.8487084871%, #8EC43E 71.2177121771%, #094 71.5867158672%, #00B7FF 71.9557195572%, #094 72.3247232472%, #8EC43E 72.6937269373%, #FCB910 73.0627306273%, #EE7500 73.4317343173%, #F00 73.8007380074%, #E62E8B 74.1697416974%, #BB2AA8 74.5387453875%, #00498A 74.9077490775%, #00498A 75.2767527675%, #BB2AA8 75.6457564576%, #E62E8B 76.0147601476%, #F00 76.3837638376%, #EE7500 76.7527675277%, #FCB910 77.1217712177%, #8EC43E 77.4907749077%, #094 77.8597785978%, #00B7FF 78.2287822878%, #094 78.5977859779%, #8EC43E 78.9667896679%, #FCB910 79.3357933579%, #EE7500 79.704797048%, #F00 80.073800738%, #E62E8B 80.442804428%, #BB2AA8 80.8118081181%, #00498A 81.1808118081%, #00498A 81.5498154982%, #BB2AA8 81.9188191882%, #E62E8B 82.2878228782%, #F00 82.6568265683%, #EE7500 83.0258302583%, #FCB910 83.3948339483%, #8EC43E 83.7638376384%, #094 84.1328413284%, #00B7FF 84.5018450185%, #094 84.8708487085%, #8EC43E 85.2398523985%, #FCB910 85.6088560886%, #EE7500 85.9778597786%, #F00 86.3468634686%, #E62E8B 86.7158671587%, #BB2AA8 87.0848708487%, #00498A 87.4538745387%, #00498A 87.8228782288%, #BB2AA8 88.1918819188%, #E62E8B 88.5608856089%, #F00 88.9298892989%, #EE7500 89.2988929889%, #FCB910 89.667896679%, #8EC43E 90.036900369%, #094 90.405904059%, #00B7FF 90.7749077491%, #094 91.1439114391%, #8EC43E 91.5129151292%, #FCB910 91.8819188192%, #EE7500 92.2509225092%, #F00 92.6199261993%, #E62E8B 92.9889298893%, #BB2AA8 93.3579335793%, #00498A 93.7269372694%, #00498A 94.0959409594%, #BB2AA8 94.4649446494%, #E62E8B 94.8339483395%, #F00 95.2029520295%, #EE7500 95.5719557196%, #FCB910 95.9409594096%, #8EC43E 96.3099630996%, #094 96.6789667897%, #00B7FF 97.0479704797%, #094 97.4169741697%, #8EC43E 97.7859778598%, #FCB910 98.1549815498%, #EE7500 98.5239852399%, #F00 98.8929889299%, #E62E8B 99.2619926199%, #BB2AA8 99.63099631%, #00498A 100%);
	background-size: 6400% 100%;
	-webkit-animation: grad-move 90s linear infinite;
	        animation: grad-move 90s linear infinite;
}
@media screen and (max-width: 767px) {
	.l-footer__entry::before {
		background-size: 12800% 100%;
	}
}
@keyframes grad-move {
	from {
		background-position: 100% 40%;
	}
	to {
		background-position: 0 60%;
	}
}
.l-footer__entry::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	-webkit-transition: 0.2s width;
	transition: 0.2s width;
}
.l-footer__entry.js-animeOn::before {
	-webkit-animation: footerEntryBgAnim 0.3s ease;
	        animation: footerEntryBgAnim 0.3s ease;
}
@-webkit-keyframes footerEntryBgAnim {
	0% {
		width: 0;
	}
	100% {
		width: 100%;
	}
}
@keyframes footerEntryBgAnim {
	0% {
		width: 0;
	}
	100% {
		width: 100%;
	}
}
.l-footer__entry-inn {
	display: block;
}
.l-footer__entry .l-content-inner {
	height: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}
.l-footer__entry .text1 {
	color: #ffffff;
	text-align: center;
	font-size: 18.2878rem;
	font-style: italic;
	font-weight: 700;
	line-height: 100%; /* 18.2878rem */
	letter-spacing: -0.1829rem;
	padding-right: 0.1em;
}
@media screen and (max-width: 767px) {
	.l-footer__entry .text1 {
		font-size: 6.2938rem;
		letter-spacing: -0.0629rem;
	}
}
.l-footer__entry .text1.c-catch-anim {
	-webkit-animation-delay: 0.2s;
	        animation-delay: 0.2s;
}
.l-footer__entry .text2 {
	margin-top: 1rem;
	color: #ffffff;
	font-size: 4rem;
	font-style: italic;
	font-weight: 700;
	line-height: 100%; /* 4rem */
	letter-spacing: 0.12rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
@media screen and (max-width: 767px) {
	.l-footer__entry .text2 {
		font-size: 1.3766rem;
		letter-spacing: 0.1652rem;
	}
}
.l-footer__entry .text2::after {
	content: "";
	width: 15.3rem;
	height: 2.3rem;
	display: block;
	background-image: url(../images/common/arrow-footer-entry.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}
@media screen and (max-width: 767px) {
	.l-footer__entry .text2::after {
		width: 5.4rem;
		height: 0.8rem;
	}
}
.l-footer__entry .text2 {
	-webkit-transition-delay: 0.3s;
	        transition-delay: 0.3s;
}
.l-footer-nav {
	padding-top: 12rem;
	padding-bottom: 14.9rem;
	background-color: #F4F4F4;
}
@media screen and (max-width: 767px) {
	.l-footer-nav {
		padding-top: 3.2rem;
		padding-bottom: 7rem;
	}
}
.l-footer-nav .l-content-inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 6rem 6.5rem;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
	.l-footer-nav .l-content-inner {
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		gap: 4rem;
	}
}
.l-footer-nav__logo {
	width: 100%;
}
.l-footer-nav__logo .logo {
	margin: auto;
	width: 39.8rem;
	max-width: 100%;
}
.l-footer-nav__logo .logo img {
	display: block;
	width: 100%;
}
.l-footer-nav__list {
	width: 26.5rem;
}
@media screen and (max-width: 767px) {
	.l-footer-nav__list {
		width: 100%;
	}
}
.l-footer-nav__list .item {
	margin-top: 5.5rem;
}
.l-footer-nav__list .item:first-of-type {
	margin-top: 0;
}
.l-footer-nav__list .item .c-grad-effect {
	display: block;
}
.l-footer-nav__list .item__inn {
	display: block;
	background-color: #000;
	color: #ffffff;
	font-size: 3rem;
	font-style: italic;
	font-weight: 600;
	line-height: 100%; /* 3rem */
	letter-spacing: -0.03rem;
	padding: 0.5rem 1rem;
}
@media screen and (max-width: 767px) {
	.l-footer-nav__list .item__inn {
		font-size: 2.2rem;
		letter-spacing: -0.022rem;
		padding: 1rem 1.2rem 0.9rem;
	}
}
.l-footer-nav__list .item .child {
	margin-top: 1rem;
}
@media screen and (max-width: 767px) {
	.l-footer-nav__list .item .child {
		margin-top: 1.6rem;
		margin-top: 0;
	}
}
.l-footer-nav__list .item .child-item {
	font-size: 1.3rem;
	font-weight: 700;
	line-height: 100%;
	margin-top: 0.7rem;
}
@media screen and (max-width: 767px) {
	.l-footer-nav__list .item .child-item {
		font-size: 1.3rem;
		font-weight: 700;
		line-height: 100%; /* 1.3rem */
		padding: 1.6rem 0.8rem;
		border-bottom: 1px solid #C2C2C2;
		margin-top: 0;
	}
}
.l-footer-nav__list .item .child-item .name {
	font-size: 1.2rem;
	font-weight: 500;
}
.l-footer-nav__list .item .child-item:first-of-type {
	margin-top: 0;
}
.l-footer-nav__list .item .child-item.-big {
	margin-top: 1.6rem;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 100%; /* 1.8rem */
	letter-spacing: 0.09rem;
}
@media screen and (max-width: 767px) {
	.l-footer-nav__list .item .child-item.-big {
		font-size: 1.8rem;
		letter-spacing: 0.054rem;
		margin-top: 1.2rem;
		padding-top: 2.4rem;
		padding-bottom: 2.4rem;
		margin-top: 0;
	}
}
.l-footer-nav__list .item .child-item.-big + .child-item {
	margin-top: 1.8rem;
}
@media screen and (max-width: 767px) {
	.l-footer-nav__list .item .child-item.-big + .child-item {
		margin-top: 0;
	}
}
.l-footer-nav__list .item .child-item.-big .child-item__inn::before {
	content: none;
}
@media (any-hover: hover) {
	.l-footer-nav__list .item .child-item.-big .child-item__inn::after {
		left: 0;
	}
	.l-footer-nav__list .item .child-item.-big .child-item__inn:hover::after {
		width: 100%;
	}
}
.l-footer-nav__list .item .child-item__inn {
	position: relative;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 0.8rem;
	padding-bottom: 0.5rem;
}
@media screen and (max-width: 767px) {
	.l-footer-nav__list .item .child-item__inn {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		width: 100%;
		padding-bottom: 0;
	}
}
.l-footer-nav__list .item .child-item__inn::before {
	content: "";
	width: 0.5rem;
	height: 1px;
	background-color: #000;
	display: block;
}
@media screen and (max-width: 767px) {
	.l-footer-nav__list .item .child-item__inn::before {
		content: none;
	}
}
.l-footer-nav__list .item .child-item__inn::after {
	content: "";
	display: block;
	position: absolute;
	height: 1px;
	left: 1.3rem;
	bottom: 0;
	background-color: #000;
	-webkit-transition: 0.3s width;
	transition: 0.3s width;
	width: 0;
}
@media screen and (max-width: 767px) {
	.l-footer-nav__list .item .child-item__inn::after {
		width: 1.2rem;
		height: 0.8rem;
		background-image: url(../images/common/arrow-spmenu.svg);
		background-repeat: no-repeat;
		background-size: contain;
		background-position: center center;
		background-color: transparent;
		bottom: auto;
		left: auto;
		right: 0;
		top: 50%;
		-webkit-transform: translateY(-50%);
		        transform: translateY(-50%);
	}
}
@media (any-hover: hover) {
	.l-footer-nav__list .item .child-item__inn:hover {
		opacity: 1;
	}
	.l-footer-nav__list .item .child-item__inn:hover::after {
		width: calc(100% - 0.5rem - 0.8rem);
	}
}
.l-footer-nav__list .links {
	margin-top: 3rem;
}
@media screen and (max-width: 767px) {
	.l-footer-nav__list .links {
		margin-top: 3rem;
	}
}
.l-footer-nav__list .links-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
.l-footer-nav__list .links-list__item {
	font-size: 1.6rem;
	font-style: italic;
	font-weight: 600;
	line-height: 100%; /* 1.6rem */
	letter-spacing: 0.016rem;
	margin-left: 1.2rem;
}
@media screen and (max-width: 767px) {
	.l-footer-nav__list .links-list__item {
		font-size: 1.826rem;
		letter-spacing: 0.0183rem;
		margin-left: 1.4rem;
		width: auto;
		height: 2.5rem;
	}
	.l-footer-nav__list .links-list__item a {
		height: 100%;
		display: block;
	}
	.l-footer-nav__list .links-list__item a img {
		display: block;
		max-height: 100%;
		width: auto;
	}
}
.l-footer-nav__list .links-list__item:first-of-type {
	margin-left: 0;
}
.l-footer-nav__list .links-list__item a {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	gap: 0.4rem;
}
.l-footer-nav__list .links-list__item.-site {
	margin-left: 0;
}
@media screen and (max-width: 767px) {
	.l-footer-nav__list .links-list__item.-site {
		margin-left: 0;
	}
}
.l-footer-nav__list .links-list__item.-site a::after {
	content: "";
	width: 1.8rem;
	height: 1.8rem;
	display: block;
	background-image: url(../images/common/arrow-footer-link.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}
.l-footer__cpy {
	background-color: #000;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	padding: 2rem 0;
}
.l-footer__cpy .cpy {
	color: #EAEAEA;
	text-align: center;
	font-size: 1.4rem;
	font-weight: 600;
	line-height: 100%; /* 1.4rem */
	letter-spacing: 0.028rem;
}
@media screen and (max-width: 767px) {
	.l-footer__cpy .cpy {
		font-size: 1.1rem;
		letter-spacing: 0.022rem;
	}
}

.fixed-btn {
	position: fixed;
	z-index: 1040;
	right: 4rem;
	bottom: 4rem;
	width: 15.2rem;
	height: 15.2rem;
}
@media screen and (max-width: 767px) {
	.fixed-btn {
		right: 1rem;
		bottom: 1rem;
		width: 10rem;
		height: 10rem;
		top: auto;
	}
}
.fixed-btn .btn {
	width: 100%;
	height: 100%;
}
.fixed-btn .btn__inn {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	width: 100%;
	height: 100%;
}
.fixed-btn .btn__inn::before {
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	border-radius: 50%;
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	background: -webkit-gradient(linear, left top, right top, from(#FF8B1B), to(#FF2226));
	background: linear-gradient(90deg, #FF8B1B 0%, #FF2226 100%);
	-webkit-transition: 0.3s -webkit-transform;
	transition: 0.3s -webkit-transform;
	transition: 0.3s transform;
	transition: 0.3s transform, 0.3s -webkit-transform;
}
@media (any-hover: hover) {
	.fixed-btn .btn__inn:hover {
		opacity: 1;
		-webkit-animation: entryAnim 0.4s ease forwards;
		        animation: entryAnim 0.4s ease forwards;
	}
}
@media (any-hover: hover) {
	.fixed-btn .btn__inn:hover {
		opacity: 1;
	}
}
.fixed-btn .btn .bg {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	-webkit-animation: spin 15s linear infinite;
	        animation: spin 15s linear infinite;
	width: 14rem;
	height: 14rem;
}
.fixed-btn .btn .bg img {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	width: 100%;
	max-width: 100%;
}
@media screen and (max-width: 767px) {
	.fixed-btn .btn .bg {
		width: 9.2rem;
		height: 9.2rem;
	}
}
.fixed-btn .btn .text {
	position: relative;
	color: #ffffff;
	text-align: center;
	font-size: 2.6rem;
	font-style: italic;
	font-weight: 700;
	line-height: 100%; /* 2.6rem */
	letter-spacing: 0.026rem;
}
@media screen and (max-width: 767px) {
	.fixed-btn .btn .text {
		font-size: 1.7rem;
	}
}

.js-fixed-btn {
	-webkit-transition: opacity 0.3s ease;
	transition: opacity 0.3s ease;
	opacity: 1;
	visibility: visible;
}
.js-fixed-btn.is-hide {
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
}

@media screen and (max-width: 767px) {
	html main > div, html footer > div,
	body main > div,
	body footer > div {
		overflow-x: hidden;
	}
}

body.is-fixed {
	position: fixed;
}

.l-pagewrap .l-header {
	position: sticky;
	top: 0;
	left: 0;
}

.l-main {
	display: block;
}

.l-content-inner {
	width: 126rem;
	margin: 0 auto;
	max-width: 100%;
	padding: 0;
}
@media screen and (max-width: 767px) {
	.l-content-inner {
		width: 100%;
		padding: 0 2.4rem;
	}
}
.l-content-inner.-narrow {
	width: 108rem;
}

.js-pagewrap {
	-webkit-transform-origin: left center;
	        transform-origin: left center;
}

.pagejump {
	opacity: 0;
	-webkit-transform: scaleX(0);
	        transform: scaleX(0);
}

.js-pageblur {
	position: fixed;
	inset: 0;
	backdrop-filter: blur(0px);
	pointer-events: none;
	display: none;
	z-index: 9999;
}

/* --------------------------------------------------
  display
-------------------------------------------------- */
@media screen and (max-width: 767px) {
	.pc {
		display: none;
	}
}
@media print, screen and (min-width: 768px) {
	.sp {
		display: none;
	}
}
/* --------------------------------------------------
  cleafix
-------------------------------------------------- */
.u-clearfix:after {
	display: block;
	clear: both;
	content: "";
}

/* --------------------------------------------------
  align
-------------------------------------------------- */
.u-alignL {
	text-align: left;
}

.u-alignC {
	text-align: center;
}

.u-alignR {
	text-align: right;
}

/* --------------------------------------------------
  preload
-------------------------------------------------- */
.u-preload * {
	-webkit-transition: none !important;
	transition: none !important;
}

/* --------------------------------------------------
  font,text
-------------------------------------------------- */
.u-underline {
	text-decoration: underline !important;
}

.u-bold {
	font-weight: bold;
}

/*----------- shadow ------------*/
.u-boxshadow {
	-webkit-box-shadow: 0 0 10px rgba(24, 99, 175, 0.25);
	        box-shadow: 0 0 10px rgba(24, 99, 175, 0.25);
}
/*# sourceMappingURL=common.css.map */