/* リキッドレイアウト対応 */

html {
	font-size: 16px;
}

/* フォントカラーは、使用頻度が多いものを選択する */

body {
	color: #001530;
	font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height: 1;
}

a[href^="tel:"] {
	pointer-events: none;
}

a[href^=tel] {
	-webkit-text-decoration: none;
	text-decoration: none;
}

a {
	-webkit-tap-highlight-color: transparent;
	color: inherit;
}

:where(:link,
button,
[type=button],
[type=reset],
[type=submit],
label[for],
select,
summary,
[role=tab],
[role=button]),
:where(:visited,
button,
[type=button],
[type=reset],
[type=submit],
label[for],
select,
summary,
[role=tab],
[role=button]),
:where(area[href],
button,
[type=button],
[type=reset],
[type=submit],
label[for],
select,
summary,
[role=tab],
[role=button]) {
	cursor: pointer; /*
  - :where() は詳細度（CSSの強さ）が 0 になるので、上書きしやすくするため指定
  - :any-link は a と area のリンクをまとめて指せる
  - label[for] はクリックで入力にフォーカスするので pointer は分かりやすい
  */
}

:where(:-moz-any-link,
button,
[type=button],
[type=reset],
[type=submit],
label[for],
select,
summary,
[role=tab],
[role=button]) {
	cursor: pointer; /*
  - :where() は詳細度（CSSの強さ）が 0 になるので、上書きしやすくするため指定
  - :any-link は a と area のリンクをまとめて指せる
  - label[for] はクリックで入力にフォーカスするので pointer は分かりやすい
  */
}

:where(:any-link,
button,
[type=button],
[type=reset],
[type=submit],
label[for],
select,
summary,
[role=tab],
[role=button]) {
	cursor: pointer; /*
  - :where() は詳細度（CSSの強さ）が 0 になるので、上書きしやすくするため指定
  - :any-link は a と area のリンクをまとめて指せる
  - label[for] はクリックで入力にフォーカスするので pointer は分かりやすい
  */
}

:where(button,
[type=button],
[type=reset],
[type=submit]) {
	touch-action: manipulation;
}

:focus:not(:focus-visible) {
	outline: none;
}

:where(input,
select,
textarea) {
	font-size: 1rem; /* = 16px */
}

/* ~~~~~ コンテンツ量が少なく短いページ（404、サンクスページなど）でもフッターを最下部に表示する ここから ~~~~~  */

/* HTMLの階層構造で適宜クラス名は変更する */

.content-wrap {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

main {
	flex: 1;
}

/* ~~~~~ コンテンツ量が少なく短いページ（404、サンクスページなど）でもフッターを最下部に表示する ここまで ~~~~~ */

iframe {
	border: none;
}

img {
	image-rendering: auto;
}

img,
video {
	display: block;
	height: 100%;
	max-width: 100%;
	width: 100%;
}

/* ---------- ベースファイル | ここまで ---------- */

/* ---------- リセットCSS | ここから ---------- */

html {
	-moz-tab-size: 4;
	-o-tab-size: 4;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	text-size-adjust: 100%;
	box-sizing: border-box;
	tab-size: 4; /* Prevent adjustments of font size after orientation changes in iOS */
	word-break: normal;
}

*,
::before,
::after {
	background-repeat: no-repeat; /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
	box-sizing: inherit;
	box-sizing: border-box;
}

::before,
::after {
	text-decoration: inherit; /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
	vertical-align: inherit;
}

* { /* Reset `padding` and `margin` of all elements */
	margin: 0;
	padding: 0;
}

/* # =================================================================
     # General elements
     # ================================================================= */

hr { /* Add the correct box sizing in Firefox */
	color: inherit; /* Show the overflow in Edge and IE */
	height: 0;
	overflow: visible; /* Correct border color in Firefox. */
}

details,
main {
	display: block; /* Render the `main` element consistently in IE. */
}

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

small {
	font-size: 80%; /* Set font-size to 80% in `small` elements */
}

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

abbr[title] {
	-webkit-text-decoration: underline dotted;
	border-bottom: none; /* Remove the bottom border in Chrome 57 */ /* Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari */
	text-decoration: underline;
	text-decoration: underline;
	text-decoration: underline dotted;
}

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

a:active,
a:hover {
	outline-width: 0; /* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp {
	font-family: monospace, monospace; /* Specify the font family of code elements */
}

pre {
	font-size: 1em; /* Correct the odd `em` font sizing in all browsers */
}

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

/* https://gist.github.com/unruthless/413930 */

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

table {
	border-color: inherit; /* Correct border color in all Chrome, Edge, and Safari. */
	text-indent: 0; /* Remove text indentation in Chrome, Edge, and Safari */
}

iframe {
	border-style: none;
}

/* # =================================================================
     # Forms
     # ================================================================= */

input {
	border-radius: 0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
	height: auto; /* Correct the cursor style of increment and decrement buttons in Chrome */
}

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

[type=search]::-webkit-search-decoration {
	-webkit-appearance: none;
	appearance: none; /* Remove the inner padding in Chrome and Safari on macOS */
}

textarea {
	overflow: auto;
	resize: vertical;
}

button,
input,
optgroup,
select,
textarea {
	font: inherit; /* Specify font inheritance of form elements */
}

optgroup {
	font-weight: bold; /* Restore the font weight unset by the previous rule */
}

button {
	overflow: visible; /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

button,
select {
	text-transform: none; /* Firefox 40+, Internet Explorer 11- */
}

/* Apply cursor pointer to button elements */

button,
[type=button],
[type=reset],
[type=submit],
[role=button] {
	cursor: pointer;
}

/* Remove inner padding and border in Firefox 4+ */

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/* Replace focus style removed in the border reset above */

button:-moz-focusring,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
	outline: 1px dotted ButtonText;
}

button,
html [type=button],
[type=reset],
[type=submit] {
	-webkit-appearance: button;
	-moz-appearance: button;
	appearance: button; /* Correct the inability to style clickable types in iOS */
}

button,
input,
select,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: transparent;
	border-style: none;
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
	outline-width: 0;
}

/* Style select like a standard input */

select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

select::-ms-expand {
	display: none; /* Internet Explorer 11+ */
}

select::-ms-value {
	color: currentcolor; /* Internet Explorer 11+ */
}

legend {
	border: 0; /* Correct `color` not being inherited in IE 8/9/10/11 */
	color: inherit; /* Correct the color inheritance from `fieldset` elements in IE */
	display: table; /* Correct the text wrapping in Edge and IE */ /* Correct the text wrapping in Edge and IE */
	max-width: 100%; /* Correct the text wrapping in Edge and IE */
	white-space: normal; /* Correct the text wrapping in Edge 18- and IE */
}

::-webkit-file-upload-button { /* Correct the inability to style clickable types in iOS and Safari */
	-webkit-appearance: button;
	appearance: button;
	color: inherit;
	font: inherit; /* Change font properties to `inherit` in Chrome and Safari */
}

/* Replace pointer cursor in disabled elements */

[disabled] {
	cursor: default;
}

/* # =================================================================
     # Specify media element style
     # ================================================================= */

img {
	border-style: none; /* Remove border when inside `a` element in IE 8/9/10 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */

progress {
	vertical-align: baseline;
}

/* # =================================================================
     # Accessibility
     # ================================================================= */

/* Specify the progress cursor of updating elements */

[aria-busy=true] {
	cursor: progress;
}

/* Specify the pointer cursor of trigger elements */

[aria-controls] {
	cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */

[aria-disabled=true] {
	cursor: default;
}

/* Remove default margin */

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
	margin: 0;
}

/* Remove default padding */

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

a {
	-webkit-text-decoration: none;
	color: inherit;
	text-decoration: none;
}

/* ---------- リセットCSS | ここまで ---------- */

.l-lower {
	margin-top: 9.375rem;
}

/* ------------------------ */

/* 固有のフォント設定 */

/* 共通パーツで設定すると不便な場合、こちらに設定する */

/* ------------------------ */

/* ---------- フォントカラーの設定 ここから ---------- */

/* 16進数カラーコードも命名する。text-light-blue、text-dark-blueで管理すると、色の判別がしにくいため。 */

/* ---------- フォントカラーの設定 ここまで ---------- */

/* ---------- フォントの大文字・小文字の設定 ここから ---------- */

/* capitalize はspanタグで囲って使用する。「:first-letter」は使用しない。 */

/* 各単語の最初のテキストを大文字に変換 */

.text-capitalize {
	text-transform: capitalize;
}

/* 全てのテキストを大文字に変換 */

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

/* ---------- フォントの大文字・小文字の設定 ここまで ---------- */

/* ---------- フォントウェイトの設定 ここから ---------- */

/* ---------- フォントウェイトの設定 ここまで ---------- */

/* ---------- 2行目から先頭1文字開けて表示される（※、・が先頭に記載されているときに使用） ここから ---------- */

.text-wrap {
	padding-left: 1em;
	text-indent: -1em;
}

/* ---------- 2行目から先頭1文字開けて表示される（※、・が先頭に記載されているときに使用） ここまで ---------- */

/* ------------ */

/* テキストの下線 */

/* ------------ */

.underline-red {
	padding-bottom: 0.125rem;
}

/* ------------------------ */

/* 改行用、SP・PC非表示用の設定 */

/* ------------------------ */

/* ---------- 改行 〜 more：以上、less：以下 | ここから ---------- */

/* 767px以下で改行 */

.br-767-less {
	display: none;
}

/* 768px以上で改行 */

/* 444px以下で改行 */

.br-444-less {
	display: none;
}

/* 767px以下（SP）でのみ改行 */

.br-sp-only {
	display: none;
}

/* ---------- 改行 | ここまで ---------- */

/* ---------- 表示・非表示 | ここから ---------- */

/* PCのとき非表示 */

.pc-none {
	display: none;
}

/* SPのとき非表示 */

/* ---------- 表示・非表示 | ここまで ---------- */

/* ---------- margin-topの設定 | ここから ---------- */

.mt-pc-1 {
	margin-top: 0.0625rem;
}

.mt-pc-2 {
	margin-top: 0.125rem;
}

.mt-pc-3 {
	margin-top: 0.1875rem;
}

.mt-pc-4 {
	margin-top: 0.25rem;
}

.mt-pc-5 {
	margin-top: 0.3125rem;
}

.mt-pc-6 {
	margin-top: 0.375rem;
}

.mt-pc-7 {
	margin-top: 0.4375rem;
}

.mt-pc-8 {
	margin-top: 0.5rem;
}

.mt-pc-9 {
	margin-top: 0.5625rem;
}

.mt-pc-10 {
	margin-top: 0.625rem;
}

.mt-pc-11 {
	margin-top: 0.6875rem;
}

.mt-pc-12 {
	margin-top: 0.75rem;
}

.mt-pc-13 {
	margin-top: 0.8125rem;
}

.mt-pc-14 {
	margin-top: 0.875rem;
}

.mt-pc-15 {
	margin-top: 0.9375rem;
}

.mt-pc-16 {
	margin-top: 1rem;
}

.mt-pc-17 {
	margin-top: 1.0625rem;
}

.mt-pc-18 {
	margin-top: 1.125rem;
}

.mt-pc-19 {
	margin-top: 1.1875rem;
}

.mt-pc-20 {
	margin-top: 1.25rem;
}

.mt-pc-21 {
	margin-top: 1.3125rem;
}

.mt-pc-22 {
	margin-top: 1.375rem;
}

.mt-pc-23 {
	margin-top: 1.4375rem;
}

.mt-pc-24 {
	margin-top: 1.5rem;
}

.mt-pc-25 {
	margin-top: 1.5625rem;
}

.mt-pc-26 {
	margin-top: 1.625rem;
}

.mt-pc-27 {
	margin-top: 1.6875rem;
}

.mt-pc-28 {
	margin-top: 1.75rem;
}

.mt-pc-29 {
	margin-top: 1.8125rem;
}

.mt-pc-30 {
	margin-top: 1.875rem;
}

.mt-pc-31 {
	margin-top: 1.9375rem;
}

.mt-pc-32 {
	margin-top: 2rem;
}

.mt-pc-33 {
	margin-top: 2.0625rem;
}

.mt-pc-34 {
	margin-top: 2.125rem;
}

.mt-pc-35 {
	margin-top: 2.1875rem;
}

.mt-pc-36 {
	margin-top: 2.25rem;
}

.mt-pc-37 {
	margin-top: 2.3125rem;
}

.mt-pc-38 {
	margin-top: 2.375rem;
}

.mt-pc-39 {
	margin-top: 2.4375rem;
}

.mt-pc-40 {
	margin-top: 2.5rem;
}

.mt-pc-41 {
	margin-top: 2.5625rem;
}

.mt-pc-42 {
	margin-top: 2.625rem;
}

.mt-pc-43 {
	margin-top: 2.6875rem;
}

.mt-pc-44 {
	margin-top: 2.75rem;
}

.mt-pc-45 {
	margin-top: 2.8125rem;
}

.mt-pc-46 {
	margin-top: 2.875rem;
}

.mt-pc-47 {
	margin-top: 2.9375rem;
}

.mt-pc-48 {
	margin-top: 3rem;
}

.mt-pc-49 {
	margin-top: 3.0625rem;
}

.mt-pc-50 {
	margin-top: 3.125rem;
}

.mt-pc-51 {
	margin-top: 3.1875rem;
}

.mt-pc-52 {
	margin-top: 3.25rem;
}

.mt-pc-53 {
	margin-top: 3.3125rem;
}

.mt-pc-54 {
	margin-top: 3.375rem;
}

.mt-pc-55 {
	margin-top: 3.4375rem;
}

.mt-pc-56 {
	margin-top: 3.5rem;
}

.mt-pc-57 {
	margin-top: 3.5625rem;
}

.mt-pc-58 {
	margin-top: 3.625rem;
}

.mt-pc-59 {
	margin-top: 3.6875rem;
}

.mt-pc-60 {
	margin-top: 3.75rem;
}

.mt-pc-61 {
	margin-top: 3.8125rem;
}

.mt-pc-62 {
	margin-top: 3.875rem;
}

.mt-pc-63 {
	margin-top: 3.9375rem;
}

.mt-pc-64 {
	margin-top: 4rem;
}

.mt-pc-65 {
	margin-top: 4.0625rem;
}

.mt-pc-66 {
	margin-top: 4.125rem;
}

.mt-pc-67 {
	margin-top: 4.1875rem;
}

.mt-pc-68 {
	margin-top: 4.25rem;
}

.mt-pc-69 {
	margin-top: 4.3125rem;
}

.mt-pc-70 {
	margin-top: 4.375rem;
}

.mt-pc-71 {
	margin-top: 4.4375rem;
}

.mt-pc-72 {
	margin-top: 4.5rem;
}

.mt-pc-73 {
	margin-top: 4.5625rem;
}

.mt-pc-74 {
	margin-top: 4.625rem;
}

.mt-pc-75 {
	margin-top: 4.6875rem;
}

.mt-pc-76 {
	margin-top: 4.75rem;
}

.mt-pc-77 {
	margin-top: 4.8125rem;
}

.mt-pc-78 {
	margin-top: 4.875rem;
}

.mt-pc-79 {
	margin-top: 4.9375rem;
}

.mt-pc-80 {
	margin-top: 5rem;
}

.mt-pc-81 {
	margin-top: 5.0625rem;
}

.mt-pc-82 {
	margin-top: 5.125rem;
}

.mt-pc-83 {
	margin-top: 5.1875rem;
}

.mt-pc-84 {
	margin-top: 5.25rem;
}

.mt-pc-85 {
	margin-top: 5.3125rem;
}

.mt-pc-86 {
	margin-top: 5.375rem;
}

.mt-pc-87 {
	margin-top: 5.4375rem;
}

.mt-pc-88 {
	margin-top: 5.5rem;
}

.mt-pc-89 {
	margin-top: 5.5625rem;
}

.mt-pc-90 {
	margin-top: 5.625rem;
}

.mt-pc-91 {
	margin-top: 5.6875rem;
}

.mt-pc-92 {
	margin-top: 5.75rem;
}

.mt-pc-93 {
	margin-top: 5.8125rem;
}

.mt-pc-94 {
	margin-top: 5.875rem;
}

.mt-pc-95 {
	margin-top: 5.9375rem;
}

.mt-pc-96 {
	margin-top: 6rem;
}

.mt-pc-97 {
	margin-top: 6.0625rem;
}

.mt-pc-98 {
	margin-top: 6.125rem;
}

.mt-pc-99 {
	margin-top: 6.1875rem;
}

.mt-pc-100 {
	margin-top: 6.25rem;
}

.mt-pc-101 {
	margin-top: 6.3125rem;
}

.mt-pc-102 {
	margin-top: 6.375rem;
}

.mt-pc-103 {
	margin-top: 6.4375rem;
}

.mt-pc-104 {
	margin-top: 6.5rem;
}

.mt-pc-105 {
	margin-top: 6.5625rem;
}

.mt-pc-106 {
	margin-top: 6.625rem;
}

.mt-pc-107 {
	margin-top: 6.6875rem;
}

.mt-pc-108 {
	margin-top: 6.75rem;
}

.mt-pc-109 {
	margin-top: 6.8125rem;
}

.mt-pc-110 {
	margin-top: 6.875rem;
}

.mt-pc-111 {
	margin-top: 6.9375rem;
}

.mt-pc-112 {
	margin-top: 7rem;
}

.mt-pc-113 {
	margin-top: 7.0625rem;
}

.mt-pc-114 {
	margin-top: 7.125rem;
}

.mt-pc-115 {
	margin-top: 7.1875rem;
}

.mt-pc-116 {
	margin-top: 7.25rem;
}

.mt-pc-117 {
	margin-top: 7.3125rem;
}

.mt-pc-118 {
	margin-top: 7.375rem;
}

.mt-pc-119 {
	margin-top: 7.4375rem;
}

.mt-pc-120 {
	margin-top: 7.5rem;
}

.mt-pc-121 {
	margin-top: 7.5625rem;
}

.mt-pc-122 {
	margin-top: 7.625rem;
}

.mt-pc-123 {
	margin-top: 7.6875rem;
}

.mt-pc-124 {
	margin-top: 7.75rem;
}

.mt-pc-125 {
	margin-top: 7.8125rem;
}

.mt-pc-126 {
	margin-top: 7.875rem;
}

.mt-pc-127 {
	margin-top: 7.9375rem;
}

.mt-pc-128 {
	margin-top: 8rem;
}

.mt-pc-129 {
	margin-top: 8.0625rem;
}

.mt-pc-130 {
	margin-top: 8.125rem;
}

.mt-pc-131 {
	margin-top: 8.1875rem;
}

.mt-pc-132 {
	margin-top: 8.25rem;
}

.mt-pc-133 {
	margin-top: 8.3125rem;
}

.mt-pc-134 {
	margin-top: 8.375rem;
}

.mt-pc-135 {
	margin-top: 8.4375rem;
}

.mt-pc-136 {
	margin-top: 8.5rem;
}

.mt-pc-137 {
	margin-top: 8.5625rem;
}

.mt-pc-138 {
	margin-top: 8.625rem;
}

.mt-pc-139 {
	margin-top: 8.6875rem;
}

.mt-pc-140 {
	margin-top: 8.75rem;
}

.mt-pc-141 {
	margin-top: 8.8125rem;
}

.mt-pc-142 {
	margin-top: 8.875rem;
}

.mt-pc-143 {
	margin-top: 8.9375rem;
}

.mt-pc-144 {
	margin-top: 9rem;
}

.mt-pc-145 {
	margin-top: 9.0625rem;
}

.mt-pc-146 {
	margin-top: 9.125rem;
}

.mt-pc-147 {
	margin-top: 9.1875rem;
}

.mt-pc-148 {
	margin-top: 9.25rem;
}

.mt-pc-149 {
	margin-top: 9.3125rem;
}

.mt-pc-150 {
	margin-top: 9.375rem;
}

.mt-pc-151 {
	margin-top: 9.4375rem;
}

.mt-pc-152 {
	margin-top: 9.5rem;
}

.mt-pc-153 {
	margin-top: 9.5625rem;
}

.mt-pc-154 {
	margin-top: 9.625rem;
}

.mt-pc-155 {
	margin-top: 9.6875rem;
}

.mt-pc-156 {
	margin-top: 9.75rem;
}

.mt-pc-157 {
	margin-top: 9.8125rem;
}

.mt-pc-158 {
	margin-top: 9.875rem;
}

.mt-pc-159 {
	margin-top: 9.9375rem;
}

.mt-pc-160 {
	margin-top: 10rem;
}

.mt-pc-161 {
	margin-top: 10.0625rem;
}

.mt-pc-162 {
	margin-top: 10.125rem;
}

.mt-pc-163 {
	margin-top: 10.1875rem;
}

.mt-pc-164 {
	margin-top: 10.25rem;
}

.mt-pc-165 {
	margin-top: 10.3125rem;
}

.mt-pc-166 {
	margin-top: 10.375rem;
}

.mt-pc-167 {
	margin-top: 10.4375rem;
}

.mt-pc-168 {
	margin-top: 10.5rem;
}

.mt-pc-169 {
	margin-top: 10.5625rem;
}

.mt-pc-170 {
	margin-top: 10.625rem;
}

.mt-pc-171 {
	margin-top: 10.6875rem;
}

.mt-pc-172 {
	margin-top: 10.75rem;
}

.mt-pc-173 {
	margin-top: 10.8125rem;
}

.mt-pc-174 {
	margin-top: 10.875rem;
}

.mt-pc-175 {
	margin-top: 10.9375rem;
}

.mt-pc-176 {
	margin-top: 11rem;
}

.mt-pc-177 {
	margin-top: 11.0625rem;
}

.mt-pc-178 {
	margin-top: 11.125rem;
}

.mt-pc-179 {
	margin-top: 11.1875rem;
}

.mt-pc-180 {
	margin-top: 11.25rem;
}

.mt-pc-181 {
	margin-top: 11.3125rem;
}

.mt-pc-182 {
	margin-top: 11.375rem;
}

.mt-pc-183 {
	margin-top: 11.4375rem;
}

.mt-pc-184 {
	margin-top: 11.5rem;
}

.mt-pc-185 {
	margin-top: 11.5625rem;
}

.mt-pc-186 {
	margin-top: 11.625rem;
}

.mt-pc-187 {
	margin-top: 11.6875rem;
}

.mt-pc-188 {
	margin-top: 11.75rem;
}

.mt-pc-189 {
	margin-top: 11.8125rem;
}

.mt-pc-190 {
	margin-top: 11.875rem;
}

.mt-pc-191 {
	margin-top: 11.9375rem;
}

.mt-pc-192 {
	margin-top: 12rem;
}

.mt-pc-193 {
	margin-top: 12.0625rem;
}

.mt-pc-194 {
	margin-top: 12.125rem;
}

.mt-pc-195 {
	margin-top: 12.1875rem;
}

.mt-pc-196 {
	margin-top: 12.25rem;
}

.mt-pc-197 {
	margin-top: 12.3125rem;
}

.mt-pc-198 {
	margin-top: 12.375rem;
}

.mt-pc-199 {
	margin-top: 12.4375rem;
}

.mt-pc-200 {
	margin-top: 12.5rem;
}

/* PC・SP共通用 */

.mt-1 {
	margin-top: 0.0625rem;
}

.mt-2 {
	margin-top: 0.125rem;
}

.mt-3 {
	margin-top: 0.1875rem;
}

.mt-4 {
	margin-top: 0.25rem;
}

.mt-5 {
	margin-top: 0.3125rem;
}

.mt-6 {
	margin-top: 0.375rem;
}

.mt-7 {
	margin-top: 0.4375rem;
}

.mt-8 {
	margin-top: 0.5rem;
}

.mt-9 {
	margin-top: 0.5625rem;
}

.mt-10 {
	margin-top: 0.625rem;
}

.mt-11 {
	margin-top: 0.6875rem;
}

.mt-12 {
	margin-top: 0.75rem;
}

.mt-13 {
	margin-top: 0.8125rem;
}

.mt-14 {
	margin-top: 0.875rem;
}

.mt-15 {
	margin-top: 0.9375rem;
}

.mt-16 {
	margin-top: 1rem;
}

.mt-17 {
	margin-top: 1.0625rem;
}

.mt-18 {
	margin-top: 1.125rem;
}

.mt-19 {
	margin-top: 1.1875rem;
}

.mt-20 {
	margin-top: 1.25rem;
}

.mt-21 {
	margin-top: 1.3125rem;
}

.mt-22 {
	margin-top: 1.375rem;
}

.mt-23 {
	margin-top: 1.4375rem;
}

.mt-24 {
	margin-top: 1.5rem;
}

.mt-25 {
	margin-top: 1.5625rem;
}

.mt-26 {
	margin-top: 1.625rem;
}

.mt-27 {
	margin-top: 1.6875rem;
}

.mt-28 {
	margin-top: 1.75rem;
}

.mt-29 {
	margin-top: 1.8125rem;
}

.mt-30 {
	margin-top: 1.875rem;
}

.mt-31 {
	margin-top: 1.9375rem;
}

.mt-32 {
	margin-top: 2rem;
}

.mt-33 {
	margin-top: 2.0625rem;
}

.mt-34 {
	margin-top: 2.125rem;
}

.mt-35 {
	margin-top: 2.1875rem;
}

.mt-36 {
	margin-top: 2.25rem;
}

.mt-37 {
	margin-top: 2.3125rem;
}

.mt-38 {
	margin-top: 2.375rem;
}

.mt-39 {
	margin-top: 2.4375rem;
}

.mt-40 {
	margin-top: 2.5rem;
}

.mt-41 {
	margin-top: 2.5625rem;
}

.mt-42 {
	margin-top: 2.625rem;
}

.mt-43 {
	margin-top: 2.6875rem;
}

.mt-44 {
	margin-top: 2.75rem;
}

.mt-45 {
	margin-top: 2.8125rem;
}

.mt-46 {
	margin-top: 2.875rem;
}

.mt-47 {
	margin-top: 2.9375rem;
}

.mt-48 {
	margin-top: 3rem;
}

.mt-49 {
	margin-top: 3.0625rem;
}

.mt-50 {
	margin-top: 3.125rem;
}

.mt-51 {
	margin-top: 3.1875rem;
}

.mt-52 {
	margin-top: 3.25rem;
}

.mt-53 {
	margin-top: 3.3125rem;
}

.mt-54 {
	margin-top: 3.375rem;
}

.mt-55 {
	margin-top: 3.4375rem;
}

.mt-56 {
	margin-top: 3.5rem;
}

.mt-57 {
	margin-top: 3.5625rem;
}

.mt-58 {
	margin-top: 3.625rem;
}

.mt-59 {
	margin-top: 3.6875rem;
}

.mt-60 {
	margin-top: 3.75rem;
}

.mt-61 {
	margin-top: 3.8125rem;
}

.mt-62 {
	margin-top: 3.875rem;
}

.mt-63 {
	margin-top: 3.9375rem;
}

.mt-64 {
	margin-top: 4rem;
}

.mt-65 {
	margin-top: 4.0625rem;
}

.mt-66 {
	margin-top: 4.125rem;
}

.mt-67 {
	margin-top: 4.1875rem;
}

.mt-68 {
	margin-top: 4.25rem;
}

.mt-69 {
	margin-top: 4.3125rem;
}

.mt-70 {
	margin-top: 4.375rem;
}

.mt-71 {
	margin-top: 4.4375rem;
}

.mt-72 {
	margin-top: 4.5rem;
}

.mt-73 {
	margin-top: 4.5625rem;
}

.mt-74 {
	margin-top: 4.625rem;
}

.mt-75 {
	margin-top: 4.6875rem;
}

.mt-76 {
	margin-top: 4.75rem;
}

.mt-77 {
	margin-top: 4.8125rem;
}

.mt-78 {
	margin-top: 4.875rem;
}

.mt-79 {
	margin-top: 4.9375rem;
}

.mt-80 {
	margin-top: 5rem;
}

.mt-81 {
	margin-top: 5.0625rem;
}

.mt-82 {
	margin-top: 5.125rem;
}

.mt-83 {
	margin-top: 5.1875rem;
}

.mt-84 {
	margin-top: 5.25rem;
}

.mt-85 {
	margin-top: 5.3125rem;
}

.mt-86 {
	margin-top: 5.375rem;
}

.mt-87 {
	margin-top: 5.4375rem;
}

.mt-88 {
	margin-top: 5.5rem;
}

.mt-89 {
	margin-top: 5.5625rem;
}

.mt-90 {
	margin-top: 5.625rem;
}

.mt-91 {
	margin-top: 5.6875rem;
}

.mt-92 {
	margin-top: 5.75rem;
}

.mt-93 {
	margin-top: 5.8125rem;
}

.mt-94 {
	margin-top: 5.875rem;
}

.mt-95 {
	margin-top: 5.9375rem;
}

.mt-96 {
	margin-top: 6rem;
}

.mt-97 {
	margin-top: 6.0625rem;
}

.mt-98 {
	margin-top: 6.125rem;
}

.mt-99 {
	margin-top: 6.1875rem;
}

.mt-100 {
	margin-top: 6.25rem;
}

.mt-101 {
	margin-top: 6.3125rem;
}

.mt-102 {
	margin-top: 6.375rem;
}

.mt-103 {
	margin-top: 6.4375rem;
}

.mt-104 {
	margin-top: 6.5rem;
}

.mt-105 {
	margin-top: 6.5625rem;
}

.mt-106 {
	margin-top: 6.625rem;
}

.mt-107 {
	margin-top: 6.6875rem;
}

.mt-108 {
	margin-top: 6.75rem;
}

.mt-109 {
	margin-top: 6.8125rem;
}

.mt-110 {
	margin-top: 6.875rem;
}

.mt-111 {
	margin-top: 6.9375rem;
}

.mt-112 {
	margin-top: 7rem;
}

.mt-113 {
	margin-top: 7.0625rem;
}

.mt-114 {
	margin-top: 7.125rem;
}

.mt-115 {
	margin-top: 7.1875rem;
}

.mt-116 {
	margin-top: 7.25rem;
}

.mt-117 {
	margin-top: 7.3125rem;
}

.mt-118 {
	margin-top: 7.375rem;
}

.mt-119 {
	margin-top: 7.4375rem;
}

.mt-120 {
	margin-top: 7.5rem;
}

.mt-121 {
	margin-top: 7.5625rem;
}

.mt-122 {
	margin-top: 7.625rem;
}

.mt-123 {
	margin-top: 7.6875rem;
}

.mt-124 {
	margin-top: 7.75rem;
}

.mt-125 {
	margin-top: 7.8125rem;
}

.mt-126 {
	margin-top: 7.875rem;
}

.mt-127 {
	margin-top: 7.9375rem;
}

.mt-128 {
	margin-top: 8rem;
}

.mt-129 {
	margin-top: 8.0625rem;
}

.mt-130 {
	margin-top: 8.125rem;
}

.mt-131 {
	margin-top: 8.1875rem;
}

.mt-132 {
	margin-top: 8.25rem;
}

.mt-133 {
	margin-top: 8.3125rem;
}

.mt-134 {
	margin-top: 8.375rem;
}

.mt-135 {
	margin-top: 8.4375rem;
}

.mt-136 {
	margin-top: 8.5rem;
}

.mt-137 {
	margin-top: 8.5625rem;
}

.mt-138 {
	margin-top: 8.625rem;
}

.mt-139 {
	margin-top: 8.6875rem;
}

.mt-140 {
	margin-top: 8.75rem;
}

.mt-141 {
	margin-top: 8.8125rem;
}

.mt-142 {
	margin-top: 8.875rem;
}

.mt-143 {
	margin-top: 8.9375rem;
}

.mt-144 {
	margin-top: 9rem;
}

.mt-145 {
	margin-top: 9.0625rem;
}

.mt-146 {
	margin-top: 9.125rem;
}

.mt-147 {
	margin-top: 9.1875rem;
}

.mt-148 {
	margin-top: 9.25rem;
}

.mt-149 {
	margin-top: 9.3125rem;
}

.mt-150 {
	margin-top: 9.375rem;
}

.mt-151 {
	margin-top: 9.4375rem;
}

.mt-152 {
	margin-top: 9.5rem;
}

.mt-153 {
	margin-top: 9.5625rem;
}

.mt-154 {
	margin-top: 9.625rem;
}

.mt-155 {
	margin-top: 9.6875rem;
}

.mt-156 {
	margin-top: 9.75rem;
}

.mt-157 {
	margin-top: 9.8125rem;
}

.mt-158 {
	margin-top: 9.875rem;
}

.mt-159 {
	margin-top: 9.9375rem;
}

.mt-160 {
	margin-top: 10rem;
}

.mt-161 {
	margin-top: 10.0625rem;
}

.mt-162 {
	margin-top: 10.125rem;
}

.mt-163 {
	margin-top: 10.1875rem;
}

.mt-164 {
	margin-top: 10.25rem;
}

.mt-165 {
	margin-top: 10.3125rem;
}

.mt-166 {
	margin-top: 10.375rem;
}

.mt-167 {
	margin-top: 10.4375rem;
}

.mt-168 {
	margin-top: 10.5rem;
}

.mt-169 {
	margin-top: 10.5625rem;
}

.mt-170 {
	margin-top: 10.625rem;
}

.mt-171 {
	margin-top: 10.6875rem;
}

.mt-172 {
	margin-top: 10.75rem;
}

.mt-173 {
	margin-top: 10.8125rem;
}

.mt-174 {
	margin-top: 10.875rem;
}

.mt-175 {
	margin-top: 10.9375rem;
}

.mt-176 {
	margin-top: 11rem;
}

.mt-177 {
	margin-top: 11.0625rem;
}

.mt-178 {
	margin-top: 11.125rem;
}

.mt-179 {
	margin-top: 11.1875rem;
}

.mt-180 {
	margin-top: 11.25rem;
}

.mt-181 {
	margin-top: 11.3125rem;
}

.mt-182 {
	margin-top: 11.375rem;
}

.mt-183 {
	margin-top: 11.4375rem;
}

.mt-184 {
	margin-top: 11.5rem;
}

.mt-185 {
	margin-top: 11.5625rem;
}

.mt-186 {
	margin-top: 11.625rem;
}

.mt-187 {
	margin-top: 11.6875rem;
}

.mt-188 {
	margin-top: 11.75rem;
}

.mt-189 {
	margin-top: 11.8125rem;
}

.mt-190 {
	margin-top: 11.875rem;
}

.mt-191 {
	margin-top: 11.9375rem;
}

.mt-192 {
	margin-top: 12rem;
}

.mt-193 {
	margin-top: 12.0625rem;
}

.mt-194 {
	margin-top: 12.125rem;
}

.mt-195 {
	margin-top: 12.1875rem;
}

.mt-196 {
	margin-top: 12.25rem;
}

.mt-197 {
	margin-top: 12.3125rem;
}

.mt-198 {
	margin-top: 12.375rem;
}

.mt-199 {
	margin-top: 12.4375rem;
}

.mt-200 {
	margin-top: 12.5rem;
}

/* ---------- margin-topの設定 | ここまで ---------- */

/* ---------- スクリーンリーダー専用テキスト（視覚的に非表示） | ここから ---------- */

.sr-only {
	clip: rect(0 0 0 0);
	border: 0;
	clip-path: inset(100%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

/* ---------- スクリーンリーダーオンリー用の記述 | ここまで ---------- */

/* ---------- 読み込み時のチラつき防止 ---------- */

.js-fade-op,
.js-fade-ops,
.js-fv-fade-ops,
.js-pop-up {
	opacity: 0;
}

/* ---------- マスクアニメーション (X軸方向) ---------- */

.js-mask,
.js-mask-ops {
	-webkit-mask-image: linear-gradient(90deg, #ffffff 0%,#ffffff 50%, transparent 100%);
	-webkit-mask-image: linear-gradient(90deg, #ffffff 0% 50%, transparent 100%);
	-webkit-mask-size: 200% 100%;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: 200% 0%;
	mask-image: linear-gradient(90deg, #ffffff 0%,#ffffff 50%, transparent 100%);
	mask-image: linear-gradient(90deg, #ffffff 0% 50%, transparent 100%);
	mask-position: 200% 0%;
	mask-repeat: no-repeat;
	mask-size: 200% 100%;
}

/* FV マスクはハードエッジの clip-path ワイプ (mask のグラデ境界が分かりにくいため変更)
   初期値: 右側を全量クリップ = 非表示。左→右ワイプ */

.js-fv-mask {
	clip-path: inset(0 100% 0 0);
}

/* MV loop 左流れ用 逆方向ワイプ (右→左): 左側を全量クリップ */

.mv__loop--first.js-fv-mask {
	clip-path: inset(0 0 0 100%);
}

.js-mask.is-open,
.js-mask-ops.is-open {
	animation: mask 0.3s linear forwards;
}

/* 0% キーフレーム省略 = 各要素の初期 clip-path (方向別) から inset(0) へ補間。1 keyframe で両方向対応 */

.js-fv-mask.is-open {
	animation: clip-open 1s linear forwards;
}

/* ---------- テキストマスク (フェードアップ + 色帯スイープ) ---------- */

.js-text-mask,
.js-fv-text-mask,
.js-text-mask-single {
	--translateX: 0px;
	display: inline-block;
	opacity: 0;
	overflow: hidden;
	position: relative;
	transform: translateY(20px);
	visibility: hidden;
}

.js-text-mask::before,
.js-fv-text-mask::before,
.js-text-mask-single::before {
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transform: translateX(var(--translateX));
	width: 100%;
}

.js-text-mask.js-text-mask-black::before,
.js-fv-text-mask.js-text-mask-black::before,
.js-text-mask-single.js-text-mask-black::before {
	background-color: #001530;
}

.js-text-mask.js-text-mask-white::before,
.js-fv-text-mask.js-text-mask-white::before,
.js-text-mask-single.js-text-mask-white::before {
	background-color: #fff;
}

/* ---------- prefers-reduced-motion ---------- */

.btn {
	cursor: pointer;
	display: inline-block;
	transition: all 0.3s;
}

.btn__text {
	display: inline-block;
	transition: all 0.3s;
}

.btn.btn-01 {
	align-items: center;
	background: linear-gradient(142deg, #e6d7b2 9%, #d4af37 97%);
	border-radius: 100vmax;
	display: grid;
	justify-items: center;
	max-width: 15.625rem;
	padding-bottom: 1.25rem;
	padding-top: 1.25rem;
	place-items: center;
	position: relative;
	text-align: center;
	width: 100%;
}

.btn.btn-01::before {
	-webkit-mask-image: url(../images/common/icon-arrow-02.svg);
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	aspect-ratio: 1/1;
	background-color: #001530;
	content: "";
	mask-image: url(../images/common/icon-arrow-02.svg);
	mask-repeat: no-repeat;
	mask-size: contain;
	position: absolute;
	right: 1.875rem;
	top: 50%;
	transform: translateY(-50%);
	width: 0.9375rem;
}

.btn.btn-01.btn-back::before {
	left: 1.875rem;
	right: auto;
	transform: translateY(-50%) rotate(180deg);
}

.btn__text-01 {
	color: #001530;
	display: inline-block;
	font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(1.25rem, 12px);
	font-weight: 500;
	position: relative;
}

.celebration-modal {
	backdrop-filter: blur(16px);
	background-color: rgba(57, 119, 208, 0.6);
	bottom: 0;
	height: 100dvh;
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	transition: opacity 0.5s;
	width: 100%;
}

.celebration-modal::before {
	background-image: url(../images/top/bg-dot-grid.png);
	background-repeat: repeat;
	background-size: 90rem auto;
	bottom: 0;
	content: "";
	left: 0;
	opacity: 0.1;
	position: absolute;
	right: 0;
	top: 0;
}

.celebration-modal:not([data-active=true]) {
	opacity: 0;
}

.celebration-modal::backdrop {
	background: transparent;
}

.celebration-modal__container {
	background-color: #fff;
	border-radius: 0.5rem;
	bottom: 0;
	height: 33.75rem;
	left: 0;
	margin: auto;
	max-height: calc(100svh - 8rem);
	max-width: 23.875rem;
	position: absolute;
	right: 0;
	top: 0;
	transition: scale 0.5s;
	width: calc(100% - 2rem);
}

.celebration-modal:not([data-active=true]) .celebration-modal__container {
	scale: 0.95;
}

.celebration-modal__persons {
	height: 100%;
}

.celebration-modal__person {
	-ms-overflow-style: none;
	display: none;
	height: 100%;
	overflow-y: scroll;
	overscroll-behavior: contain;
	padding-bottom: 2rem;
	padding-left: 2rem;
	padding-right: 2rem;
	padding-top: 2rem;
	scrollbar-width: none;
}

.celebration-modal__person.is-active {
	display: block;
}

.celebration-modal__person::-webkit-scrollbar {
	display: none;
}

.celebration-modal__photo {
	aspect-ratio: 5/4;
	box-shadow: 0 0 1rem rgba(0, 0, 0, 0.15);
	position: relative;
}

.celebration-modal__photo img {
	-o-object-fit: cover;
	bottom: 0;
	height: 100%;
	left: 0;
	object-fit: cover;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
}

.celebration-modal__name {
	color: #011530;
	font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(1.5rem, 12px);
	font-weight: 700;
	line-height: 1;
	margin-top: 1.5rem;
	text-align: center;
}

.celebration-modal__role {
	align-content: center;
	background-color: #cea33b;
	color: #fff;
	display: grid;
	font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(1.25rem, 12px);
	font-weight: 700;
	height: 2rem;
	justify-content: center;
	line-height: 1;
	margin-top: 0.5rem;
	place-content: center;
	text-align: center;
}

.celebration-modal__scroll {
	margin-top: 1.5rem;
}

.celebration-modal__scroll::-webkit-scrollbar {
	display: none;
}

.celebration-modal__qa + .celebration-modal__qa {
	margin-top: 2rem;
}

.celebration-modal__question {
	color: #011530;
	font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(0.875rem, 12px);
	font-weight: 900;
	line-height: 1.8;
}

.celebration-modal__answer {
	color: #011530;
	font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(0.875rem, 12px);
	font-weight: 500;
	line-height: 1.8;
	margin-top: 0.75rem;
}

.celebration-modal__scene {
	margin-top: 1rem;
}

.celebration-modal__scene img {
	-o-object-fit: contain;
	height: 100%;
	object-fit: contain;
}

.celebration-modal__prev,
.celebration-modal__next {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	aspect-ratio: 1/1;
	background-color: #011530;
	border: none;
	border-radius: 100vmax;
	cursor: pointer;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	transition: filter 0.3s;
	width: 2rem;
	z-index: 10;
}

.celebration-modal__prev {
	left: -1rem;
}

.celebration-modal__next {
	right: -1rem;
}

.celebration-modal__prev::before,
.celebration-modal__next::before {
	-webkit-mask-image: url(../images/common/icon-arrow-02.svg);
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
	background-color: #fff;
	bottom: 0;
	content: "";
	height: 0.9375rem;
	left: 0;
	margin: auto;
	mask-image: url(../images/common/icon-arrow-02.svg);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	position: absolute;
	right: 0;
	top: 0;
	width: 0.9375rem;
}

.celebration-modal__prev::before {
	transform: rotate(180deg);
}

.celebration-modal__close {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	aspect-ratio: 1/1;
	background-color: #fff;
	border: none;
	border-radius: 100vmax;
	cursor: pointer;
	position: absolute;
	right: 1.5625rem;
	top: 1.5rem;
	transition: filter 0.3s;
	width: 2.5rem;
	z-index: 10;
}

.celebration-modal__close::before,
.celebration-modal__close::after {
	background-color: #011530;
	bottom: 0;
	content: "";
	height: 2px;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	top: 0;
	width: 60%;
}

.celebration-modal__close::before {
	rotate: 45deg;
}

.celebration-modal__close::after {
	rotate: 135deg;
}

.celebration-modal__close-label {
	display: none;
}

.celebration {
	background-color: #fff;
	background-image: url(../images/top/bg-celebration.jpg);
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: cover;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 100lvh;
	overflow: hidden;
	padding-bottom: calc(2.5625rem + (100lvh - 100svh) / 2);
	padding-top: calc(2.3125rem + (100lvh - 100svh) / 2);
	position: relative;
	z-index: 0;
}

.celebration::after {
	background-image: linear-gradient(90deg, #d4af37 0%, #f9f4e8 50%, #b8860b 100%);
	bottom: 0;
	content: "";
	height: 0.375rem;
	left: 0;
	position: absolute;
	width: 100%;
	z-index: 30;
}

.celebration__watermark {
	-webkit-background-clip: text;
	background-clip: text;
	background-image: linear-gradient(180deg, #cea33b 0%, rgba(206, 163, 59, 0.1) 100%);
	color: transparent;
	font-family: "Anton", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(4rem, 12px);
	font-weight: 400;
	left: 50%;
	letter-spacing: 0.08em;
	line-height: 1;
	opacity: 0.15;
	position: absolute;
	text-transform: uppercase;
	top: 0;
	transform: translateX(-50%);
	white-space: nowrap;
	z-index: -1;
}

.celebration__head {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	padding-left: 1rem;
	padding-right: 1rem;
	position: relative;
	z-index: 10;
}

.celebration__label {
	background-color: #3977d0;
	color: #fff;
	font-family: "Montserrat", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.16em;
	line-height: 1;
	padding-bottom: 0.25rem;
	padding-left: 0.5rem;
	padding-right: 0.5rem;
	padding-top: 0.25rem;
	text-transform: uppercase;
	width: -moz-fit-content;
	width: fit-content;
}

.celebration__title {
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background: url(../images/top/bg_title_texture_blue.png) no-repeat center/cover #3977d0;
	background-clip: text;
	font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(2.25rem, 12px);
	font-weight: 900;
	letter-spacing: 0.16em;
	line-height: 1;
	margin-top: 0.5rem;
}

.celebration__slider {
	margin-left: 1rem;
	margin-right: 0;
	margin-top: 1.5rem;
	overflow-x: clip;
	overflow-y: visible;
	position: relative;
	z-index: 10;
}

.celebration__cards {
	grid-row-gap: 1.5rem;
	grid-column-gap: 1rem;
	-moz-column-gap: 1rem;
	column-gap: 1rem;
	display: grid;
	grid-auto-flow: column;
	grid-template-rows: repeat(2, auto);
	margin-left: 1rem;
	row-gap: 1.5rem;
	width: -moz-max-content;
	width: max-content;
	will-change: transform;
}

.celebration__card {
	width: 12rem;
}

.celebration__card-btn,
.celebration__card-frame {
	--notch: 0.45rem;
	-webkit-mask-image: radial-gradient(circle at left top, transparent 0.45rem, #000 calc(0.45rem + 0.5px)), radial-gradient(circle at right top, transparent 0.45rem, #000 calc(0.45rem + 0.5px)), radial-gradient(circle at left bottom, transparent 0.45rem, #000 calc(0.45rem + 0.5px)), radial-gradient(circle at right bottom, transparent 0.45rem, #000 calc(0.45rem + 0.5px));
	-webkit-mask-image: radial-gradient(circle at left top, transparent var(--notch), #000 calc(var(--notch) + 0.5px)), radial-gradient(circle at right top, transparent var(--notch), #000 calc(var(--notch) + 0.5px)), radial-gradient(circle at left bottom, transparent var(--notch), #000 calc(var(--notch) + 0.5px)), radial-gradient(circle at right bottom, transparent var(--notch), #000 calc(var(--notch) + 0.5px));
	-webkit-mask-composite: source-in, xor;
	display: block;
	filter: drop-shadow(0 0 1rem rgba(0, 0, 0, 0.1));
	height: 100%;
	mask-composite: intersect;
	mask-image: radial-gradient(circle at left top, transparent 0.45rem, #000 calc(0.45rem + 0.5px)), radial-gradient(circle at right top, transparent 0.45rem, #000 calc(0.45rem + 0.5px)), radial-gradient(circle at left bottom, transparent 0.45rem, #000 calc(0.45rem + 0.5px)), radial-gradient(circle at right bottom, transparent 0.45rem, #000 calc(0.45rem + 0.5px));
	mask-image: radial-gradient(circle at left top, transparent var(--notch), #000 calc(var(--notch) + 0.5px)), radial-gradient(circle at right top, transparent var(--notch), #000 calc(var(--notch) + 0.5px)), radial-gradient(circle at left bottom, transparent var(--notch), #000 calc(var(--notch) + 0.5px)), radial-gradient(circle at right bottom, transparent var(--notch), #000 calc(var(--notch) + 0.5px));
	padding-bottom: 1px;
	padding-left: 1px;
	padding-right: 1px;
	padding-top: 1px;
	position: relative;
	width: 100%;
	z-index: 0;
}

.celebration__card-btn {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	cursor: pointer;
	text-align: left;
	transition: all 0.3s;
}

.celebration__card:nth-child(odd) .celebration__card-btn,
.celebration__card:nth-child(odd) .celebration__card-frame {
	background-color: #3977d0;
}

.celebration__card:nth-child(even) .celebration__card-btn,
.celebration__card:nth-child(even) .celebration__card-frame {
	background-color: #cea33b;
}

.celebration__card-body {
	-webkit-mask-image: radial-gradient(circle at -1px -1px, transparent calc(var(--notch) + 1px), #000 calc(var(--notch) + 1.5px)), radial-gradient(circle at calc(100% + 1px) -1px, transparent calc(var(--notch) + 1px), #000 calc(var(--notch) + 1.5px)), radial-gradient(circle at -1px calc(100% + 1px), transparent calc(var(--notch) + 1px), #000 calc(var(--notch) + 1.5px)), radial-gradient(circle at calc(100% + 1px) calc(100% + 1px), transparent calc(var(--notch) + 1px), #000 calc(var(--notch) + 1.5px));
	-webkit-mask-composite: source-in, xor;
	background-color: #373737;
	display: flow-root;
	height: 100%;
	mask-composite: intersect;
	mask-image: radial-gradient(circle at -1px -1px, transparent calc(var(--notch) + 1px), #000 calc(var(--notch) + 1.5px)), radial-gradient(circle at calc(100% + 1px) -1px, transparent calc(var(--notch) + 1px), #000 calc(var(--notch) + 1.5px)), radial-gradient(circle at -1px calc(100% + 1px), transparent calc(var(--notch) + 1px), #000 calc(var(--notch) + 1.5px)), radial-gradient(circle at calc(100% + 1px) calc(100% + 1px), transparent calc(var(--notch) + 1px), #000 calc(var(--notch) + 1.5px));
	position: relative;
	z-index: 0;
}

.celebration__card-body::before {
	background-image: url(../images/top/bg-dot-grid.png);
	background-repeat: repeat;
	background-size: 90rem auto;
	bottom: 0;
	content: "";
	left: 0;
	opacity: 0.05;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 0;
}

.celebration__card-body::after {
	background-repeat: no-repeat;
	background-size: contain;
	bottom: 0.8125rem;
	content: "";
	height: 5.0625rem;
	position: absolute;
	right: 0.5rem;
	width: 5rem;
	z-index: 0;
}

.celebration__card:nth-child(odd) .celebration__card-body::after {
	background-image: url(../images/top/deco_ball_blue.svg);
}

.celebration__card:nth-child(even) .celebration__card-body::after {
	background-image: url(../images/top/deco_ball_gold.svg);
}

.celebration__card-thumb {
	display: block;
	margin-left: 0.9375rem;
	margin-right: 0.9375rem;
	margin-top: 0.9375rem;
	overflow: hidden;
	position: relative;
	z-index: 10;
}

.celebration__card-thumb img {
	-o-object-fit: cover;
	aspect-ratio: 160/120;
	object-fit: cover;
	transition: all 0.3s;
}

.celebration__card-info {
	display: block;
	padding-bottom: 0.5625rem;
	padding-left: 0.9375rem;
	padding-right: 0.9375rem;
	padding-top: 0.5625rem;
	position: relative;
	z-index: 10;
}

.celebration__card-name {
	color: #fff;
	display: block;
	font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(0.875rem, 12px);
	font-weight: 900;
	line-height: 1;
	text-align: center;
}

.celebration__card-role {
	align-content: center;
	color: #fff;
	display: grid;
	font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(0.75rem, 12px);
	font-weight: 900;
	height: 1.3125rem;
	justify-content: center;
	line-height: 1;
	margin-top: 0.5rem;
	place-content: center;
	text-align: center;
}

.celebration__card:nth-child(odd) .celebration__card-role {
	background-color: #3977d0;
}

.celebration__card:nth-child(even) .celebration__card-role {
	background-color: #cea33b;
}

.celebration__card-text {
	--line-clamp: 2;
	color: #fff;
	font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(0.875rem, 12px);
	font-weight: 500;
	line-height: 1.4;
	margin-top: 0.375rem;
}

.celebration__coming-text {
	color: #fff;
	display: block;
	font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(1.1875rem, 12px);
	font-weight: 900;
	line-height: 1.2;
	margin-top: 1.4375rem;
	position: relative;
	text-align: center;
	text-transform: uppercase;
	z-index: 10;
}

.celebration__pager {
	display: none;
}

.celebration__pager-bar {
	background-color: #3977d0;
	border-radius: 0.5rem;
	height: 100%;
	width: 13.333%;
}

.cta {
	align-items: center;
	border-top: 0.125rem solid #1101f5;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	justify-content: center;
	overflow: hidden;
	padding-bottom: 2.375rem;
	padding-top: 2.375rem;
	position: relative;
}

.cta__bg-manga {
	background-image: url(../images/common/bg_manga.png);
	background-image: -webkit-image-set(url(../images/common/bg_manga.avif) type('image/avif'), url(../images/common/bg_manga.png) type('image/jpeg'));
	background-image: image-set(url(../images/common/bg_manga.avif) type('image/avif'), url(../images/common/bg_manga.png) type('image/jpeg'));
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	bottom: 0;
	left: 0;
	opacity: 0.5;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 0;
}

.cta__inner {
	padding-left: 0.9375rem;
	padding-right: 0.9375rem;
	position: relative;
	z-index: 1;
}

.cta__wrapper {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.cta__info-body {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.cta__info-text {
	color: #000;
	font-size: max(0.875rem, 10px);
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
}

.cta__info-line {
	background-color: #1101f5;
	clip-path: polygon(5% 0, 100% 0, 95% 100%, 0 100%);
	height: 0.25rem;
	width: 5.75rem;
}

.cta__btn-wrapper {
	display: flex;
	justify-content: center;
}

.cta__button-area {
	align-items: center;
	display: flex;
	gap: 0.625rem;
	justify-content: center;
	transition: all 0.3s;
}

.cta__button-title {
	align-items: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.cta__button-title-sub {
	font-feature-settings: "palt";
	color: #000;
	font-family: "Arimo", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(0.8125rem, 10px);
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1;
	text-transform: uppercase;
}

.cta__button-title-main {
	font-feature-settings: "palt";
	color: #000;
	font-family: "Arimo", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(2rem, 10px);
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1;
	text-transform: uppercase;
}

.cta__button-link {
	align-items: center;
	background-color: #2d67b2;
	border: 0.125rem solid #fff;
	border-radius: 100vmax;
	box-shadow: 0 0.05rem 0.1rem rgba(0, 0, 0, 0.3019607843), 0 0.375rem 0.75rem rgba(0, 0, 0, 0.1490196078);
	display: flex;
	height: 2.5rem;
	justify-content: center;
	width: 2.5rem;
}

.cta__button-link::before {
	-webkit-mask-image: url(../images/common/icon_arrow.svg);
	-webkit-mask-size: cover;
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	background-color: #fff;
	content: "";
	display: block;
	height: 0.625rem;
	mask-image: url(../images/common/icon_arrow.svg);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: cover;
	width: 0.75rem;
}

.drawer {
	align-items: center;
	background-color: #fff;
	bottom: 0;
	box-shadow: 0 0 2.5rem rgba(0, 0, 0, 0.0509803922);
	display: flex;
	flex-direction: column;
	left: 0;
	opacity: 0;
	padding-bottom: 2.5rem;
	padding-top: 5rem;
	pointer-events: none;
	position: fixed;
	right: 0;
	top: 0;
	transition: opacity 0.3s ease-out;
	z-index: 100;
}

.drawer[aria-hidden=false] {
	opacity: 1;
	pointer-events: all;
}

.drawer__inner {
	-o-border-image: linear-gradient(180deg, #d4af37, #f9f4e8, #b8860b) 1;
	align-items: center;
	border-image: linear-gradient(180deg, #d4af37, #f9f4e8, #b8860b) 1;
	border-left: 1px solid transparent;
	border-right: 1px solid transparent;
	display: flex;
	flex-direction: column;
	max-width: 25.9375rem;
	overflow: auto;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	width: 100%;
}

.drawer__logo {
	margin-bottom: 1.875rem;
	position: relative;
	width: 10rem;
	z-index: 1;
}

.drawer__logo img {
	height: auto;
	width: 100%;
}

.drawer__body {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
	position: relative;
	z-index: 1;
}

.drawer__nav-items {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	justify-content: center;
}

.drawer__nav-item {
	text-align: center;
	width: 100%;
}

.drawer__nav-item-link {
	color: #001530;
	display: block;
	font-size: max(1.5rem, 10px);
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1.2;
	text-transform: uppercase;
	transition: color 0.3s ease;
}

.drawer__nav-item-link--external {
	align-items: center;
	display: flex;
	gap: 0.625rem;
	justify-content: center;
}

.drawer__nav-item-link--external::after {
	-webkit-mask-image: url(../images/common/icon_blank.svg);
	-webkit-mask-size: cover;
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	background-color: currentColor;
	content: "";
	display: block;
	height: 1.125rem;
	mask-image: url(../images/common/icon_blank.svg);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: cover;
	transition: background-color 0.3s ease;
	width: 1.125rem;
}

.drawer__nav-item-link:focus-visible {
	color: #d4af37;
}

.drawer__legal {
	display: flex;
	gap: 1.5rem;
}

.drawer__legal-link {
	-webkit-text-decoration: none;
	color: rgba(0, 21, 48, 0.6);
	font-size: max(0.75rem, 10px);
	font-weight: 600;
	line-height: 1.5;
	text-decoration: none;
	transition: color 0.3s ease;
}

.drawer__legal-link:focus-visible {
	color: #d4af37;
}

.drawer__sns {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.drawer__sns-title {
	color: #001530;
	font-size: max(1.25rem, 10px);
	font-weight: 800;
	line-height: 1.5;
	text-transform: uppercase;
}

.drawer__sns-list {
	align-items: center;
	display: flex;
	gap: 1.5rem;
	justify-content: center;
}

.drawer__sns-link {
	align-items: center;
	display: flex;
	height: 1.875rem;
	justify-content: center;
	width: 1.875rem;
}

.drawer__sns-link img {
	height: 100%;
	width: 100%;
}

.drawer__copyright {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	padding-bottom: 0.625rem;
	padding-top: 0.625rem;
}

.drawer__copyright small {
	color: rgba(0, 21, 48, 0.6);
	font-size: max(0.625rem, 10px);
	font-weight: 400;
	line-height: 1.5;
}

.footer {
	-o-border-image: linear-gradient(91deg, #d4af37, #f9f4e8, #b8860b) 1;
	background-color: #001530;
	border-image: linear-gradient(91deg, #d4af37, #f9f4e8, #b8860b) 1;
	border-top: 0.375rem solid transparent;
	padding-bottom: 1.25rem;
	padding-top: 2.0625rem;
}

.footer__wrapper {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.footer__logo {
	flex-shrink: 0;
	height: 6rem;
	width: 12.5rem;
}

.footer__logo img {
	height: auto;
	width: 100%;
}

.footer__main {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.footer__nav {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 1.625rem;
}

.footer__nav-list {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	justify-content: center;
}

.footer__nav-item {
	width: 100%;
}

.footer__nav-link {
	-webkit-text-decoration: none;
	color: #fff;
	display: flex;
	font-size: max(1.5rem, 10px);
	font-weight: 800;
	justify-content: center;
	line-height: 1.5;
	text-decoration: none;
	text-transform: uppercase;
	transition: color 0.3s ease-out;
	width: 100%;
}

.footer__nav-link--external {
	align-items: center;
	display: flex;
	gap: 0.625rem;
}

.footer__nav-link--external::after {
	-webkit-mask-image: url(../images/common/icon_blank.svg);
	-webkit-mask-size: cover;
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	background-color: #fff;
	content: "";
	display: block;
	height: 0.875rem;
	mask-image: url(../images/common/icon_blank.svg);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: cover;
	transition: background-color 0.3s ease-out;
	width: 0.875rem;
}

.footer__nav-link--external:focus-visible::after {
	background-color: #d4af37;
	opacity: 1;
}

.footer__nav-link:focus-visible {
	color: #d4af37;
	opacity: 1;
}

.footer__legal {
	display: flex;
	gap: 0.625rem;
	justify-content: center;
}

.footer__legal-link {
	-webkit-text-decoration: none;
	color: #fff;
	font-size: max(0.75rem, 10px);
	font-weight: 600;
	line-height: 1.5;
	text-decoration: none;
	transition: color 0.3s ease-out;
}

.footer__legal-link:focus-visible {
	color: #d4af37;
	opacity: 1;
}

.footer__sns {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 0.9375rem;
}

.footer__sns-title {
	color: #fff;
	font-size: max(1rem, 10px);
	font-weight: 800;
	line-height: 1.5;
	text-transform: uppercase;
}

.footer__sns-list {
	align-items: center;
	display: flex;
	gap: 1.25rem;
	justify-content: center;
}

.footer__sns-link {
	align-items: center;
	display: flex;
	height: 1.5rem;
	justify-content: center;
	transition: all 0.3s;
	width: 1.5rem;
}

.footer__sns-link img {
	filter: brightness(0) invert(1);
	height: 100%;
	width: 100%;
}

.footer__sns-link--line img {
	filter: none;
}

.footer__copyright {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	justify-content: center;
	padding-bottom: 0;
	padding-left: 0.625rem;
	padding-right: 0.625rem;
	padding-top: 1.875rem;
}

.footer__copyright small {
	color: #fff;
	font-size: max(0.625rem, 10px);
	font-weight: 300;
	line-height: 1.5;
}

.friends-modal {
	backdrop-filter: blur(16px);
	background-color: rgba(57, 119, 208, 0.6);
	bottom: 0;
	height: 100dvh;
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	transition: opacity 0.5s;
	width: 100%;
}

.friends-modal::before {
	background-image: url(../images/top/bg-dot-grid.png);
	background-repeat: repeat;
	background-size: 90rem auto;
	bottom: 0;
	content: "";
	left: 0;
	opacity: 0.1;
	position: absolute;
	right: 0;
	top: 0;
}

.friends-modal:not([data-active=true]) {
	opacity: 0;
}

.friends-modal::backdrop {
	background: transparent;
}

.friends-modal__container {
	background-color: #fff;
	border-radius: 0.5rem;
	bottom: 0;
	height: 33.75rem;
	left: 0;
	margin: auto;
	max-height: calc(100svh - 8rem);
	max-width: 23.875rem;
	position: absolute;
	right: 0;
	top: 0;
	transition: scale 0.5s;
	width: calc(100% - 2rem);
}

.friends-modal:not([data-active=true]) .friends-modal__container {
	scale: 0.95;
}

.friends-modal__persons {
	height: 100%;
}

.friends-modal__person {
	-ms-overflow-style: none;
	display: none;
	height: 100%;
	overflow-y: scroll;
	overscroll-behavior: contain;
	padding-bottom: 2rem;
	padding-left: 2rem;
	padding-right: 2rem;
	padding-top: 2rem;
	scrollbar-width: none;
}

.friends-modal__person.is-active {
	display: block;
}

.friends-modal__person::-webkit-scrollbar {
	display: none;
}

.friends-modal__photo {
	aspect-ratio: 5/4;
	box-shadow: 0 0 1rem rgba(0, 0, 0, 0.15);
	position: relative;
}

.friends-modal__photo img {
	-o-object-fit: cover;
	bottom: 0;
	height: 100%;
	left: 0;
	object-fit: cover;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
}

.friends-modal__name {
	color: #011530;
	font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(1.5rem, 12px);
	font-weight: 700;
	line-height: 1;
	margin-top: 1.5rem;
	text-align: center;
}

.friends-modal__role {
	color: #fff;
	display: block;
	font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(1.25rem, 12px);
	font-weight: 700;
	line-height: 1.4;
	margin-top: 0.5rem;
	min-height: 2rem;
	padding-bottom: 0.375rem;
	padding-top: 0.375rem;
	text-align: center;
}

.friends-modal__person:nth-child(odd) .friends-modal__role {
	background-color: #3977d0;
}

.friends-modal__person:nth-child(even) .friends-modal__role {
	background-color: #cea33b;
}

.friends-modal__scroll {
	margin-top: 1.5rem;
}

.friends-modal__scroll::-webkit-scrollbar {
	display: none;
}

.friends-modal__qa + .friends-modal__qa {
	margin-top: 2rem;
}

.friends-modal__question {
	color: #011530;
	font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(0.875rem, 12px);
	font-weight: 900;
	line-height: 1.8;
}

.friends-modal__answer {
	color: #011530;
	font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(0.875rem, 12px);
	font-weight: 500;
	line-height: 1.8;
	margin-top: 0.75rem;
}

.friends-modal__scene {
	margin-top: 1rem;
}

.friends-modal__scene img {
	-o-object-fit: contain;
	height: auto;
	object-fit: contain;
}

.friends-modal__prev,
.friends-modal__next {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	aspect-ratio: 1/1;
	background-color: #011530;
	border: none;
	border-radius: 100vmax;
	cursor: pointer;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	transition: all 0.3s;
	width: 2rem;
	z-index: 10;
}

.friends-modal__prev {
	left: -1rem;
}

.friends-modal__next {
	right: -1rem;
}

.friends-modal__prev::before,
.friends-modal__next::before {
	-webkit-mask-image: url(../images/common/icon-arrow-02.svg);
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
	background-color: #fff;
	bottom: 0;
	content: "";
	height: 0.9375rem;
	left: 0;
	margin: auto;
	mask-image: url(../images/common/icon-arrow-02.svg);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	position: absolute;
	right: 0;
	top: 0;
	width: 0.9375rem;
}

.friends-modal__prev::before {
	transform: rotate(180deg);
}

.friends-modal__close {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	aspect-ratio: 1/1;
	background-color: #fff;
	border: none;
	border-radius: 100vmax;
	cursor: pointer;
	position: absolute;
	right: 1.5625rem;
	top: 1.5rem;
	transition: all 0.3s;
	width: 2.5rem;
	z-index: 10;
}

.friends-modal__close::before,
.friends-modal__close::after {
	background-color: #011530;
	bottom: 0;
	content: "";
	height: 2px;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	top: 0;
	width: 60%;
}

.friends-modal__close::before {
	rotate: 45deg;
}

.friends-modal__close::after {
	rotate: 135deg;
}

.friends-modal__close-label {
	display: none;
}

.friends {
	background-color: #011530;
	background-image: url(../images/top/bg-friends.jpg);
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: cover;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 100lvh;
	overflow: hidden;
	padding-bottom: calc(2.625rem + (100lvh - 100svh) / 2);
	padding-top: calc(2.3125rem + (100lvh - 100svh) / 2);
	position: relative;
	z-index: 0;
}

.friends::after {
	background-image: linear-gradient(90deg, #d4af37 0%, #f9f4e8 50%, #b8860b 100%);
	bottom: 0;
	content: "";
	height: 0.375rem;
	left: 0;
	position: absolute;
	width: 100%;
	z-index: 30;
}

.friends__watermark {
	-webkit-background-clip: text;
	background-clip: text;
	background-image: linear-gradient(180deg, #fff 0%, rgba(255, 255, 255, 0.1) 100%);
	color: transparent;
	font-family: "Anton", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(4rem, 12px);
	font-weight: 400;
	left: 50%;
	letter-spacing: 0.08em;
	line-height: 1;
	opacity: 0.15;
	position: absolute;
	text-transform: uppercase;
	top: 0;
	transform: translateX(-50%);
	white-space: nowrap;
	z-index: -1;
}

.friends__head {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	padding-left: 1rem;
	padding-right: 1rem;
	position: relative;
	z-index: 10;
}

.friends__label {
	background-color: #cea33b;
	color: #fff;
	font-family: "Montserrat", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.16em;
	line-height: 1;
	padding-bottom: 0.25rem;
	padding-left: 0.5rem;
	padding-right: 0.5rem;
	padding-top: 0.25rem;
	text-transform: uppercase;
	width: -moz-fit-content;
	width: fit-content;
}

.friends__title {
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background: url(../images/interview/bg_title_texture.png) no-repeat center/cover, linear-gradient(142deg, #e6d7b2 9%, #d4af37 97%);
	background-clip: text;
	font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(2.25rem, 12px);
	font-weight: 900;
	letter-spacing: 0.16em;
	line-height: 1;
	margin-top: 0.5rem;
}

.friends__slider {
	margin-left: 1rem;
	margin-right: 0;
	margin-top: 1.5rem;
	overflow-x: clip;
	overflow-y: visible;
	position: relative;
	z-index: 10;
}

.friends__cards {
	grid-row-gap: 1.4375rem;
	grid-column-gap: 1rem;
	-moz-column-gap: 1rem;
	column-gap: 1rem;
	display: grid;
	grid-auto-flow: column;
	grid-template-rows: repeat(2, auto);
	margin-left: 1.25rem;
	row-gap: 1.4375rem;
	width: -moz-max-content;
	width: max-content;
	will-change: transform;
}

.friends__card {
	height: 16rem;
	width: 12rem;
}

.friends__card-btn,
.friends__card-frame {
	--notch: 0.45rem;
	-webkit-mask-image: radial-gradient(circle at left top, transparent 0.45rem, #000 calc(0.45rem + 0.5px)), radial-gradient(circle at right top, transparent 0.45rem, #000 calc(0.45rem + 0.5px)), radial-gradient(circle at left bottom, transparent 0.45rem, #000 calc(0.45rem + 0.5px)), radial-gradient(circle at right bottom, transparent 0.45rem, #000 calc(0.45rem + 0.5px));
	-webkit-mask-image: radial-gradient(circle at left top, transparent var(--notch), #000 calc(var(--notch) + 0.5px)), radial-gradient(circle at right top, transparent var(--notch), #000 calc(var(--notch) + 0.5px)), radial-gradient(circle at left bottom, transparent var(--notch), #000 calc(var(--notch) + 0.5px)), radial-gradient(circle at right bottom, transparent var(--notch), #000 calc(var(--notch) + 0.5px));
	-webkit-mask-composite: source-in, xor;
	display: block;
	filter: drop-shadow(0 0 1rem rgba(0, 0, 0, 0.1));
	height: 100%;
	mask-composite: intersect;
	mask-image: radial-gradient(circle at left top, transparent 0.45rem, #000 calc(0.45rem + 0.5px)), radial-gradient(circle at right top, transparent 0.45rem, #000 calc(0.45rem + 0.5px)), radial-gradient(circle at left bottom, transparent 0.45rem, #000 calc(0.45rem + 0.5px)), radial-gradient(circle at right bottom, transparent 0.45rem, #000 calc(0.45rem + 0.5px));
	mask-image: radial-gradient(circle at left top, transparent var(--notch), #000 calc(var(--notch) + 0.5px)), radial-gradient(circle at right top, transparent var(--notch), #000 calc(var(--notch) + 0.5px)), radial-gradient(circle at left bottom, transparent var(--notch), #000 calc(var(--notch) + 0.5px)), radial-gradient(circle at right bottom, transparent var(--notch), #000 calc(var(--notch) + 0.5px));
	padding-bottom: 1px;
	padding-left: 1px;
	padding-right: 1px;
	padding-top: 1px;
	position: relative;
	width: 100%;
	z-index: 0;
}

.friends__card-btn {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	cursor: pointer;
	text-align: left;
	transition: all 0.3s;
}

.friends__card:nth-child(odd) .friends__card-btn,
.friends__card:nth-child(odd) .friends__card-frame {
	background-color: #3977d0;
}

.friends__card:nth-child(even) .friends__card-btn,
.friends__card:nth-child(even) .friends__card-frame {
	background-color: #cea33b;
}

.friends__card-body {
	-webkit-mask-image: radial-gradient(circle at -1px -1px, transparent calc(var(--notch) + 1px), #000 calc(var(--notch) + 1.5px)), radial-gradient(circle at calc(100% + 1px) -1px, transparent calc(var(--notch) + 1px), #000 calc(var(--notch) + 1.5px)), radial-gradient(circle at -1px calc(100% + 1px), transparent calc(var(--notch) + 1px), #000 calc(var(--notch) + 1.5px)), radial-gradient(circle at calc(100% + 1px) calc(100% + 1px), transparent calc(var(--notch) + 1px), #000 calc(var(--notch) + 1.5px));
	-webkit-mask-composite: source-in, xor;
	background-color: #fff;
	display: flow-root;
	height: 100%;
	mask-composite: intersect;
	mask-image: radial-gradient(circle at -1px -1px, transparent calc(var(--notch) + 1px), #000 calc(var(--notch) + 1.5px)), radial-gradient(circle at calc(100% + 1px) -1px, transparent calc(var(--notch) + 1px), #000 calc(var(--notch) + 1.5px)), radial-gradient(circle at -1px calc(100% + 1px), transparent calc(var(--notch) + 1px), #000 calc(var(--notch) + 1.5px)), radial-gradient(circle at calc(100% + 1px) calc(100% + 1px), transparent calc(var(--notch) + 1px), #000 calc(var(--notch) + 1.5px));
	position: relative;
	z-index: 0;
}

.friends__card-body::before {
	background-image: url(../images/top/bg-dot-grid.png);
	background-repeat: repeat;
	background-size: 90rem auto;
	bottom: 0;
	content: "";
	left: 0;
	opacity: 0.05;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 0;
}

.friends__card-body::after {
	background-repeat: no-repeat;
	background-size: contain;
	bottom: 0.875rem;
	content: "";
	height: 5.0625rem;
	position: absolute;
	right: 0.5625rem;
	width: 5rem;
	z-index: 0;
}

.friends__card:nth-child(odd) .friends__card-body::after {
	background-image: url(../images/top/deco_ball_blue.svg);
}

.friends__card:nth-child(even) .friends__card-body::after {
	background-image: url(../images/top/deco_ball_gold.svg);
}

.friends__card:nth-child(9) .friends__card-body::after {
	-webkit-mask-image: url(../images/top/deco_ball_blue.svg);
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	background-color: #fff;
	background-image: none;
	mask-image: url(../images/top/deco_ball_blue.svg);
	mask-repeat: no-repeat;
	mask-size: contain;
	opacity: 0.3;
}

.friends__card-thumb {
	display: block;
	margin-left: 0.9375rem;
	margin-right: 0.9375rem;
	margin-top: 0.9375rem;
	overflow: hidden;
	position: relative;
	z-index: 10;
}

.friends__card-thumb img {
	-o-object-fit: cover;
	aspect-ratio: 160/120;
	object-fit: cover;
	transition: all 0.3s;
}

.friends__card-info {
	display: block;
	margin-left: 0.9375rem;
	margin-right: 0.9375rem;
	margin-top: 0.5625rem;
	position: relative;
	z-index: 10;
}

.friends__card-name {
	color: #414141;
	display: block;
	font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(0.875rem, 12px);
	font-weight: 900;
	line-height: 1;
	text-align: center;
}

.friends__card-role {
	color: #fff;
	display: block;
	font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(0.875rem, 12px);
	font-weight: 900;
	line-height: 1;
	margin-top: 0.625rem;
	overflow: hidden;
	padding-bottom: 0.25rem;
	padding-left: 0.3125rem;
	padding-right: 0.3125rem;
	padding-top: 0.25rem;
	text-align: center;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.friends__card:nth-child(odd) .friends__card-role {
	background-color: #3977d0;
}

.friends__card:nth-child(even) .friends__card-role {
	background-color: #cea33b;
}

.friends__card-text {
	--line-clamp: 2;
	color: #414141;
	font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(0.875rem, 12px);
	font-weight: 500;
	line-height: 1.4;
	margin-top: 0.625rem;
}

.friends__coming-text {
	color: #414141;
	display: block;
	font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(1.1875rem, 12px);
	font-weight: 900;
	line-height: 1.2;
	margin-top: 1.4375rem;
	position: relative;
	text-align: center;
	text-transform: uppercase;
	z-index: 10;
}

.friends__pager {
	display: none;
}

.friends__pager-bar {
	background-color: #cea33b;
	border-radius: 0.5rem;
	height: 100%;
	width: 13.333%;
}

.header {
	background-color: transparent;
	position: fixed;
	right: 1.25rem;
	top: 1.25rem;
	width: -moz-fit-content;
	width: fit-content;
	z-index: 1000;
}

/* トップページのみ MV 通過後に表示（js-header-mv は index.html の header にだけ付与） */

.header.js-header-mv {
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease, visibility 0.3s ease;
	visibility: hidden;
}

.header.js-header-mv.is-visible {
	opacity: 1;
	pointer-events: auto;
	visibility: visible;
}

.header__inner {
	align-items: center;
	display: flex;
	height: 100%;
	justify-content: flex-end;
}

.header__menu-button {
	z-index: 101;
}

.inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 33.75rem;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	width: 100%;
}

.interview-detail {
	background-color: #002209;
	overflow: hidden;
	padding-bottom: 6rem;
	padding-top: 6rem;
	position: relative;
	z-index: 0;
}

.interview-detail::after {
	background-image: linear-gradient(90deg, #d4af37 0%, #f9f4e8 50%, #b8860b 100%);
	bottom: 0;
	content: "";
	height: 0.1875rem;
	left: 0;
	position: absolute;
	width: 100%;
	z-index: 30;
}

.interview-detail__inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 33.25rem;
	padding-left: 1rem;
	padding-right: 1rem;
	width: 100%;
}

.interview-detail__label {
	background-color: #cea33b;
	color: #fff;
	display: block;
	font-family: "Montserrat", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(1rem, 12px);
	font-weight: 800;
	letter-spacing: 0.16em;
	line-height: 1;
	padding-bottom: 0.25rem;
	padding-left: 0.5rem;
	padding-right: 0.5rem;
	padding-top: 0.25rem;
	text-transform: uppercase;
	width: -moz-fit-content;
	width: fit-content;
}

.interview-detail__title {
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background: url(../images/interview/bg_title_texture.png) no-repeat center/cover, linear-gradient(142deg, #e6d7b2 9%, #d4af37 97%);
	background-clip: text;
	font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(2rem, 12px);
	font-weight: 900;
	line-height: 1.4;
	margin-top: 0.5rem;
}

.interview-detail__body {
	margin-left: auto;
	margin-right: auto;
	margin-top: 2.5rem;
	max-width: 60rem;
	width: 100%;
}

.interview-detail__figure {
	margin-top: 2.5rem;
}

.interview-detail__figure:first-child {
	margin-top: 0;
}

.interview-detail__figure img {
	-o-object-fit: cover;
	aspect-ratio: 960/540;
	height: 100%;
	object-fit: cover;
}

.interview-detail__caption {
	color: #c2c2c2;
	font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(0.75rem, 12px);
	font-weight: 500;
	line-height: 1.8;
	margin-top: 0.75rem;
	text-align: center;
}

.interview-detail__profile {
	margin-top: 2.5rem;
}

.interview-detail__profile-label {
	background-color: #cea33b;
	padding-bottom: 0.25rem;
	padding-left: 0.5rem;
	padding-right: 0.5rem;
	padding-top: 0.25rem;
	text-align: center;
}

.interview-detail__profile-name {
	color: #fff;
	font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(2rem, 12px);
	font-weight: 700;
	line-height: 1.2;
}

.interview-detail__profile-role {
	color: #fff;
	font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(1rem, 12px);
	font-weight: 700;
	line-height: 1.2;
}

.interview-detail__profile-text {
	color: #fff;
	font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(0.875rem, 12px);
	font-weight: 500;
	line-height: 1.8;
	margin-top: 0.75rem;
}

.interview-detail__lead {
	color: #fff;
	font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(0.875rem, 12px);
	font-weight: 500;
	line-height: 1.8;
	margin-top: 0.75rem;
}

.interview-detail__qa {
	margin-top: 2.5rem;
}

.interview-detail__question {
	align-items: flex-start;
	display: flex;
	gap: 0.375rem;
}

.interview-detail__question::before {
	background-color: #fff;
	content: "";
	flex-shrink: 0;
	height: 1.8125rem;
	width: 0.1875rem;
}

.interview-detail__question-prefix {
	color: #fff;
	font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(1.5rem, 12px);
	font-weight: 700;
	line-height: 1.2;
}

.interview-detail__question-text {
	color: #fff;
	font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(1.5rem, 12px);
	font-weight: 700;
	line-height: 1.2;
}

.interview-detail__text {
	color: #fff;
	font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(0.875rem, 12px);
	font-weight: 500;
	line-height: 1.8;
	margin-top: 1.5rem;
}

.interview-detail__text--center {
	text-align: center;
}

.interview-detail__text strong {
	font-weight: 900;
}

.interview-detail__highlight {
	-webkit-box-decoration-break: clone;
	background-color: #cea33b;
	box-decoration-break: clone;
	color: #fff;
	font-weight: 700;
	padding-bottom: 2px;
	padding-top: 2px;
}

.interview-detail__note {
	color: #b2bcb5;
	font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(0.75rem, 12px);
	font-weight: 500;
	line-height: 1.8;
	margin-top: 1.5rem;
}

.interview-detail__attention {
	color: #fff600;
	font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(0.75rem, 12px);
	font-weight: 500;
	line-height: 1.8;
	margin-top: 1.5rem;
	padding-left: 1em;
	text-indent: -1em;
}

.interview-detail__divider {
	background: url(../images/interview/deco_topic_change.svg) no-repeat center/1.25rem 1.25rem;
	height: 1.25rem;
	margin-top: 1.5rem;
	position: relative;
	z-index: 0;
}

.interview-detail__divider::before {
	background-color: #fff;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: calc(50% - 1.125rem);
	z-index: 10;
}

.interview-detail__divider::after {
	background-color: #fff;
	content: "";
	height: 1px;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: calc(50% - 1.125rem);
	z-index: 10;
}

.interview-detail__punchline-items {
	align-items: center;
	display: flex;
	flex-direction: column;
	margin-top: 1.5rem;
	row-gap: 1rem;
}

.interview-detail__punchline-item {
	background-color: #3977d0;
	border-bottom: 1px solid #cea33b;
	border-top: 1px solid #cea33b;
	color: #fff;
	font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(0.875rem, 12px);
	font-weight: 900;
	letter-spacing: 0.32em;
	line-height: 1;
	padding-bottom: 0.625rem;
	padding-left: 0.625rem;
	padding-right: 0.625rem;
	padding-top: 0.625rem;
	text-align: center;
	text-shadow: 0 0 0.25rem #000;
	transform: skewX(-16.7deg);
	white-space: nowrap;
	width: -moz-fit-content;
	width: fit-content;
}

.interview-detail__btn-wrapper {
	display: flex;
	justify-content: center;
	margin-top: 3.125rem;
}

.interview {
	background-color: #002209;
	background-image: url(../images/top/interview-bg-sp.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	overflow: hidden;
	padding-bottom: 2.3125rem;
	padding-top: 2.3125rem;
	position: relative;
	z-index: 0;
}

.interview::before {
	background-image: linear-gradient(90deg, #d4af37 0%, #f9f4e8 50%, #b8860b 100%);
	content: "";
	height: 0.375rem;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 30;
}

.interview::after {
	background-image: linear-gradient(90deg, #d4af37 0%, #f9f4e8 50%, #b8860b 100%);
	bottom: 0;
	content: "";
	height: 0.375rem;
	left: 0;
	position: absolute;
	width: 100%;
	z-index: 30;
}

.interview__watermark {
	-webkit-background-clip: text;
	background-clip: text;
	background-image: linear-gradient(180deg, #fff 0%, rgba(255, 255, 255, 0.1) 100%);
	color: transparent;
	font-family: "Anton", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(4rem, 12px);
	font-weight: 400;
	left: 50%;
	letter-spacing: 0.16em;
	line-height: 1;
	opacity: 0.15;
	position: absolute;
	text-transform: uppercase;
	top: 2.3125rem;
	transform: translateX(-50%);
	white-space: nowrap;
	z-index: -1;
}

.interview__inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 33.25rem;
	padding-left: 1rem;
	padding-right: 1rem;
	position: relative;
	width: 100%;
}

.interview__head {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
}

.interview__label {
	background-color: #cea33b;
	color: #fff;
	font-family: "Montserrat", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.16em;
	line-height: 1;
	padding-bottom: 0.25rem;
	padding-left: 0.5rem;
	padding-right: 0.5rem;
	padding-top: 0.25rem;
	text-transform: uppercase;
	width: -moz-fit-content;
	width: fit-content;
}

.interview__title {
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background: url(../images/interview/bg_title_texture.png) no-repeat center/cover, linear-gradient(142deg, #e6d7b2 9%, #d4af37 97%);
	background-clip: text;
	font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(2.25rem, 12px);
	font-weight: 900;
	letter-spacing: 0.16em;
	line-height: 1.1;
	margin-top: 0.3125rem;
}

.interview__card-wrapper {
	margin-left: auto;
	margin-right: auto;
	margin-top: 1.5rem;
	max-width: 27rem;
	width: 100%;
}

.interview__card-link {
	background-color: #fff;
	box-shadow: 0 0 1.5rem rgba(255, 255, 255, 0.5);
	display: block;
	position: relative;
	transition: all 0.3s;
	z-index: 0;
}

.interview__card-link::before {
	background-image: url(../images/top/bg-dot-grid.png);
	background-repeat: repeat;
	background-size: 90rem auto;
	bottom: 0;
	content: "";
	left: 0;
	opacity: 0.05;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 0;
}

.interview__card-band {
	display: none;
}

.interview__card-band-text {
	color: #fff;
	font-family: "Montserrat", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(1rem, 12px);
	font-weight: 900;
	letter-spacing: 0.16em;
	line-height: 1;
	text-transform: uppercase;
	transform: rotate(180deg);
	writing-mode: vertical-rl;
}

.interview__card-thumb {
	overflow: hidden;
	position: relative;
	z-index: 1;
}

.interview__card-thumb img {
	-o-object-fit: cover;
	aspect-ratio: 382/216;
	height: 100%;
	object-fit: cover;
	transition: all 0.3s;
}

.interview__card-body {
	padding-bottom: 2.5rem;
	padding-left: 0.75rem;
	padding-right: 0.75rem;
	padding-top: 0.75rem;
	position: relative;
	z-index: 10;
}

.interview__card-meta {
	-moz-column-gap: 0.75rem;
	align-items: center;
	column-gap: 0.75rem;
	display: flex;
	padding-bottom: 0.375rem;
	position: relative;
	z-index: 0;
}

.interview__card-meta::after {
	background-image: repeating-linear-gradient(90deg, #b9bcbf 0,#b9bcbf 6px, transparent 6px, transparent 10px);
	background-image: repeating-linear-gradient(90deg, #b9bcbf 0 6px, transparent 6px 10px);
	bottom: 0;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	width: 100%;
	z-index: 0;
}

.interview__card-logo {
	flex-shrink: 0;
	width: 3.125rem;
}

.interview__card-logo-text {
	-webkit-background-clip: text;
	background-clip: text;
	background-image: linear-gradient(180deg, #034296 0%, #011530 100%);
	color: transparent;
	font-family: "Montserrat", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: 0.16em;
	line-height: 1;
	text-transform: uppercase;
}

.interview__card-label {
	color: #cea33b;
	font-family: "Montserrat", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: 0.16em;
	line-height: 1;
	margin-top: 0.375rem;
	text-transform: uppercase;
}

.interview__card-title {
	color: #001530;
	font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(1rem, 12px);
	font-weight: 900;
	line-height: 1.3;
	margin-top: 0.5rem;
}

.interview__card-text {
	color: #001530;
	font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(0.875rem, 12px);
	font-weight: 400;
	line-height: 1.4;
	margin-top: 0.5rem;
}

.interview__card-more {
	-moz-column-gap: 0.3125rem;
	align-items: center;
	bottom: 0.5rem;
	color: #cea33b;
	column-gap: 0.3125rem;
	display: flex;
	font-family: "Montserrat", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(0.75rem, 12px);
	font-weight: 700;
	line-height: 1;
	position: absolute;
	right: 0.5rem;
	text-transform: uppercase;
	z-index: 10;
}

.interview__card-more::after {
	aspect-ratio: 1/1;
	background-image: url(../images/common/icon-arrow-02.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 0.375rem auto;
	border: 1px solid #cea33b;
	border-radius: 100vmax;
	content: "";
	width: 1rem;
}

.interview__coming {
	align-items: center;
	backdrop-filter: blur(4px);
	background-color: rgba(255, 255, 255, 0.2);
	border: 1px solid #fff;
	display: flex;
	flex-direction: column;
	height: 6.25rem;
	justify-content: center;
	margin-top: 1rem;
	overflow: hidden;
	position: relative;
	z-index: 0;
}

.interview__coming::before {
	-webkit-mask-image: url(../images/top/deco_nav_line.svg);
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	background-color: #fff;
	content: "";
	height: 5.625rem;
	left: 0.5rem;
	mask-image: url(../images/top/deco_nav_line.svg);
	mask-repeat: no-repeat;
	mask-size: contain;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 3.125rem;
	z-index: -1;
}

.interview__coming::after {
	background-image: url(../images/top/deco_coming_soon.svg);
	background-position: right center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	height: 7.5rem;
	position: absolute;
	right: -1.1875rem;
	top: -0.5625rem;
	width: 9.375rem;
	z-index: -1;
}

.interview__coming-title {
	color: #fff;
	font-family: "Montserrat", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(1rem, 12px);
	font-weight: 900;
	letter-spacing: 0.16em;
	line-height: 1;
	text-transform: uppercase;
}

.interview__coming-text {
	color: #fff;
	font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(0.875rem, 12px);
	font-weight: 500;
	line-height: 1;
	margin-top: 0.75rem;
}

.loop-img {
	overflow: hidden;
}

.loop-img__wrapper {
	align-items: center;
	display: flex;
	gap: 1.875rem;
}

.loop-img__items {
	align-items: center;
	display: flex;
	flex-shrink: 0;
	gap: 1.875rem;
}

.loop-img__items--left {
	animation: loop-scroll-left 50s infinite linear both;
}

.loop-img__items--right {
	animation: loop-scroll-right 50s infinite linear both;
}

.loop-img__item {
	flex-shrink: 0;
	white-space: nowrap;
}

.menu-button {
	align-items: center;
	background: linear-gradient(#001530, #001530) padding-box, linear-gradient(180deg, #d4af37, #f9f4e8, #b8860b) border-box;
	border: 1px solid transparent;
	border-radius: 100vmax;
	box-shadow: 0 0 0.625rem rgba(0, 0, 0, 0.1019607843);
	display: flex;
	height: 2.5rem;
	justify-content: center;
	position: relative;
	transition: opacity 0.2s ease-out;
	width: 2.5rem;
}

.menu-button__line {
	background: linear-gradient(142deg, #e6d7b2 9%, #d4af37 97%) no-repeat;
	background-size: 0.75rem 100%;
	display: block;
	height: 0.125rem;
	position: relative;
	transition: background 0.3s ease-out;
	width: 1rem;
}

.menu-button__line::before,
.menu-button__line::after {
	background: linear-gradient(142deg, #e6d7b2 9%, #d4af37 97%);
	content: "";
	display: block;
	height: 0.125rem;
	position: absolute;
	transition: transform 0.3s ease-out;
	width: 1rem;
}

.menu-button__line::before {
	transform: translateY(-0.3125rem);
}

.menu-button__line::after {
	transform: translateY(0.3125rem);
}

.menu-button[aria-expanded=true] {
	background: linear-gradient(#001530, #001530) padding-box, linear-gradient(180deg, #d4af37, #f9f4e8, #b8860b) border-box;
}

.menu-button[aria-expanded=true] .menu-button__line {
	background: transparent;
}

.menu-button[aria-expanded=true] .menu-button__line::before {
	transform: translateY(0) rotate(30deg);
}

.menu-button[aria-expanded=true] .menu-button__line::after {
	transform: translateY(0) rotate(-30deg);
}

.menu-button:focus-visible {
	opacity: 0.7;
}

:where(dialog) {
	background-color: transparent;
	background-color: initial;
	border: medium none currentColor;
	border: initial;
	color: inherit;
	height: auto;
	height: initial;
	margin: 0;
	margin: initial;
	max-height: none;
	max-height: initial;
	max-width: none;
	max-width: initial;
	overflow: visible;
	overflow: initial;
	padding: 0;
	padding: initial;
	width: auto;
	width: initial;
}

:focus:not(:focus-visible) {
	outline: none;
}

:where(:root[data-mousedown] dialog *) {
	outline: none;
}

[data-modal-open]:where(:root[data-mousedown] *) {
	outline: none;
}

.mv {
	background-image: linear-gradient(180deg, #f4f5fa 0%, #f0f3ff 100%);
	padding-bottom: 3.4375rem;
	padding-top: 6rem;
	position: relative;
	z-index: 0;
}

.mv::before {
	background-image: url(../images/top/bg-dot-grid.png);
	background-repeat: repeat;
	background-size: 90rem auto;
	bottom: 0;
	content: "";
	left: 0;
	opacity: 0.05;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 0;
}

.mv__loop {
	left: 0;
	position: absolute;
	width: 100%;
	z-index: 10;
}

.mv__loop--first {
	top: 9.75rem;
}

.mv__loop--second {
	top: 25.8125rem;
}

.mv__loop .loop-img__item {
	color: #fafafd;
	font-family: "Montserrat", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(15.625rem, 12px);
	font-style: italic;
	font-weight: 900;
	line-height: 0.8;
	text-transform: uppercase;
}

.mv__inner {
	position: relative;
	z-index: 20;
}

.mv__logo {
	margin-left: auto;
	margin-right: auto;
	max-width: 22rem;
	width: 100%;
}

.mv__nav {
	margin-top: 3rem;
}

.mv__nav-items {
	display: flex;
	flex-direction: column;
	margin-left: auto;
	margin-right: auto;
	max-width: 20rem;
	row-gap: 1.25rem;
	width: 100%;
}

.mv__nav-link {
	align-items: center;
	background-color: rgba(255, 255, 255, 0.8);
	background-image: url(../images/top/deco_nav_line.svg);
	background-position: 0.9375rem 0.1875rem;
	background-repeat: no-repeat;
	background-size: 1.9375rem 3.5rem;
	box-shadow: 0 0 1rem rgba(0, 0, 0, 0.15);
	display: flex;
	flex-direction: column;
	height: 3.75rem;
	justify-content: center;
	overflow: hidden;
	position: relative;
	transition: opacity 0.3s;
	z-index: 0;
}

.mv__nav-link::before {
	border-bottom: 0;
	border-left: 0;
	border-right: 1rem solid transparent;
	border-style: solid;
	border-top: 1rem solid #00a0e9;
	content: "";
	height: 0;
	left: 0;
	position: absolute;
	top: 0;
	width: 0;
	z-index: 10;
}

.mv__nav-link::after {
	aspect-ratio: 1/1;
	background-image: url(../images/top/icon_arrow_navy.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 0.625rem auto;
	border: 1px solid #011530;
	border-radius: 100vmax;
	content: "";
	position: absolute;
	right: 1.25rem;
	top: 50%;
	transform: translate(0%, -50%);
	width: 1.25rem;
	z-index: 10;
}

.mv__nav-link-ja {
	border-bottom: 1px solid #00a0e9;
	color: #011530;
	display: block;
	font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(0.875rem, 12px);
	font-weight: 900;
	line-height: 1; /* カンプ lineHeight 100%。body 実効値が 1.5（_reset.scss）のため明示 */
	padding-bottom: 0.25rem;
}

.mv__nav-link-en {
	color: #f8cacf;
	display: block;
	font-family: "Montserrat", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 10px;
	font-weight: 800;
	line-height: 1;
	margin-top: 0.375rem;
	text-transform: uppercase;
}

.page-top {
	display: none;
}

.page-top__button {
	display: none;
}

.page-top__button img {
	-o-object-fit: contain;
	aspect-ratio: 1/1;
	filter: drop-shadow(0 4px 4px rgba(0, 21, 48, 0.25));
	height: auto;
	object-fit: contain;
	width: 100%;
}

.page-top__button:focus-visible {
	transform: translateY(-10px);
}

.page-top__button:hover {
	transform: translateY(-10px);
}

.partners {
	align-items: center;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	padding-bottom: 2.5rem;
	padding-top: 2.5rem;
	position: relative;
}

.partners__bg-dot {
	background-color: #f4f5fa;
	background-image: radial-gradient(circle, #fff 0.046875rem, transparent 0.046875rem);
	background-size: 0.5rem 0.5rem;
	bottom: 0;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	z-index: 0;
}

.partners__inner {
	overflow: hidden;
	position: relative;
	width: 100%;
	z-index: 1;
}

.partners__title-area {
	align-items: center;
	display: flex;
	flex-direction: column;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

.partners__heading-en {
	font-feature-settings: "palt";
	color: #001530;
	font-family: "Arimo", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(2.5rem, 10px);
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1;
	text-transform: uppercase;
}

.partners__heading-ja {
	color: rgba(0, 0, 0, 0.5019607843);
	font-size: max(1rem, 10px);
	font-weight: 800;
	line-height: 1.5;
}

.partners__slide-body {
	overflow: hidden;
	padding-top: 1.25rem;
	width: 100%;
}

.partners__logo-track {
	animation: partners-scroll 40s linear infinite;
	display: flex;
	width: -moz-max-content;
	width: max-content;
}

.partners__logo-track:focus-visible {
	animation-play-state: paused;
}

.partners__logo-list {
	align-items: center;
	display: flex;
	flex-shrink: 0;
}

.partners__logo-item {
	border: 1px solid rgba(0, 0, 0, 0.7);
	flex-shrink: 0;
	height: 3.9375rem;
	margin-right: 0.625rem;
	transition: all 0.3s;
	width: 8.75rem;
}

.partners__logo-item img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.pr {
	-o-border-image: linear-gradient(92deg, #d4af37, #f9f4e8 100%, #b8860b) 1;
	background-color: #fff;
	border-bottom: 1px solid transparent;
	border-image: linear-gradient(92deg, #d4af37, #f9f4e8 100%, #b8860b) 1;
	padding-bottom: 2.5rem;
	padding-top: 0;
	position: relative;
}

.pr__wrapper {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.pr__bg-text {
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background: linear-gradient(142deg, #e6d7b2 9%, #d4af37 97%);
	background-clip: text;
	font-family: "Anton", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: max(1.625rem, 10px);
	font-weight: 400;
	line-height: 1.1;
	text-align: center;
	text-transform: uppercase;
	width: 100%;
}

.pr__main {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	position: relative;
}

.pr__content {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	justify-content: center;
}

.pr__heading {
	color: #001530;
	font-size: max(1.25rem, 10px);
	font-weight: 800;
	line-height: 1.5;
	text-align: center;
}

.pr__key-text {
	text-align: center;
}

.pr__key-text span {
	font-feature-settings: "palt";
	-webkit-box-decoration-break: clone;
	background-color: #001530;
	box-decoration-break: clone;
	color: #fff;
	display: inline;
	font-size: max(1rem, 10px);
	font-weight: 700;
	line-height: 2.7;
	padding-bottom: 0.5rem;
	padding-left: 0.375rem;
	padding-right: 0.375rem;
	padding-top: 0.5rem;
	text-align: center;
	text-shadow: 0 0 0.9375rem rgba(249, 228, 155, 0.5);
}

.pr__key-text span .pr__key-text--red,
.pr__key-text span .pr__key-text--blue {
	display: inline-block;
	font-size: max(1.5rem, 10px);
	line-height: 1;
	padding-left: 0.0625rem;
	padding-right: 0.0625rem;
	transform: translateY(0.0625rem);
}

.pr__key-text--red {
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background: linear-gradient(to bottom, #ffadad, red, #8b0000);
	background-clip: text;
	display: inline;
	text-shadow: none;
}

.pr__key-text--blue {
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background: linear-gradient(to bottom, #e0ffff, #00bfff, #0000cd);
	background-clip: text;
	display: inline;
	text-shadow: none;
}

.pr__character {
	display: none;
}

.pr__character img {
	display: block;
	height: auto;
	width: 100%;
}

.simplebar-scrollbar::before {
	background-color: #3977d0;
	border-radius: 0.625rem;
	width: 0.5rem;
}

.simplebar-track.simplebar-vertical {
	background: transparent;
	width: 0.5rem;
}

.simplebar-scrollbar.simplebar-visible::before {
	opacity: 1;
}

.simplebar-scrollbar:before {
	left: 50%;
	transform: translateX(-50%);
}

.is-ellipsis {
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	-webkit-line-clamp: var(--line-clamp, 2);
	display: -webkit-box;
	overflow: hidden;
	white-space: normal;
}

@media (prefers-reduced-motion: reduce) {

.js-fade-op,
.js-fade-ops,
.js-fv-fade-ops,
.js-mask,
.js-fv-mask,
.js-mask-ops,
.js-text-mask,
.js-fv-text-mask,
.js-text-mask-single,
.js-pop-up {
	-webkit-mask-image: none !important;
	animation: none !important;
	clip-path: none !important;
	mask-image: none !important;
	opacity: 1 !important;
	transform: none !important;
	visibility: visible !important;
}

.js-text-mask::before,
.js-fv-text-mask::before,
.js-text-mask-single::before {
	display: none !important;
}

}

@media (any-hover: hover) {

.btn.btn-01:hover {
	filter: brightness(1.3);
}

.celebration-modal__prev:hover,
.celebration-modal__next:hover {
	filter: brightness(1.3);
}

.celebration-modal__close:hover {
	filter: brightness(1.3);
}

.celebration__card-btn:hover .celebration__card-thumb img {
	transform: scale(1.05);
}

.cta__button-area:hover {
	opacity: 0.6;
}

.drawer__nav-item-link:hover {
	color: #d4af37;
}

.drawer__legal-link:hover {
	color: #d4af37;
}

.footer__nav-link--external:hover::after {
	background-color: #d4af37;
	opacity: 1;
}

.footer__nav-link:hover {
	color: #d4af37;
	opacity: 1;
}

.footer__legal-link:hover {
	color: #d4af37;
	opacity: 1;
}

.footer__sns-link:hover {
	opacity: 0.6;
}

.friends-modal__prev:hover,
.friends-modal__next:hover {
	opacity: 0.6;
}

.friends-modal__close:hover {
	opacity: 0.6;
}

.friends__card-btn:hover .friends__card-thumb img {
	transform: scale(1.05);
}

.interview__card-link:hover .interview__card-thumb img {
	transform: scale(1.05);
}

.menu-button:hover {
	opacity: 0.7;
}

.mv__nav-link:hover {
	opacity: 0.6;
}

.partners__logo-track:hover {
	animation-play-state: paused;
}

.partners__logo-item:hover {
	opacity: 0.6;
}

}

@media screen and (min-width: 414px) {

.interview-detail__punchline-item {
	font-size: max(1rem, 12px);
}

}

@media screen and (min-width: 768px) {

html {
	font-size: 1.3333333333vw;
}

a[href^="tel:"] {
	pointer-events: auto;
}

.l-lower {
	margin-top: 6.25rem;
}

.br-767-less {
	display: block;
}

.br-768-more {
	display: none;
}

.pc-none {
	display: block;
}

.sp-none {
	display: none;
}

.btn.btn-01 {
	max-width: 21.875rem;
}

.btn.btn-01::before {
	right: 2.8125rem;
	width: 1.25rem;
}

.btn__text-01 {
	font-size: max(1.625rem, 12px);
}

.celebration-modal {
	backdrop-filter: blur(24px);
}

.celebration-modal__container {
	height: 42rem;
	max-width: 75rem;
	width: calc(100% - 8rem);
}

.celebration-modal__person {
	-moz-column-gap: 2rem;
	column-gap: 2rem;
	overflow-y: visible;
	padding-bottom: 4rem;
	padding-left: 8.375rem;
	padding-right: 3rem;
	padding-top: 4rem;
}

.celebration-modal__person.is-active {
	display: grid;
	grid-template-columns: 31.25rem 1fr;
}

.celebration-modal__name {
	font-size: max(2rem, 12px);
}

.celebration-modal__role {
	margin-top: 0.75rem;
}

.celebration-modal__scroll {
	-ms-overflow-style: none;
	height: 100%;
	margin-top: 0;
	overflow-y: scroll;
	overscroll-behavior: contain;
	padding-right: 5.375rem;
	scrollbar-width: none;
}

.celebration-modal__question {
	font-size: max(1rem, 12px);
}

.celebration-modal__answer {
	font-size: max(1rem, 12px);
	margin-top: 1rem;
}

.celebration-modal__prev,
.celebration-modal__next {
	width: 4rem;
}

.celebration-modal__prev {
	left: -2rem;
}

.celebration-modal__next {
	right: -2rem;
}

.celebration-modal__prev::before,
.celebration-modal__next::before {
	height: 1.25rem;
	width: 1.25rem;
}

.celebration-modal__close {
	right: 3.4375rem;
	top: 4rem;
	width: 5rem;
}

.celebration {
	padding-bottom: calc(min(11.3125rem, 16.7593svh) + (100lvh - 100svh) / 2);
	padding-top: calc(min(11.3125rem, 16.7593svh) + (100lvh - 100svh) / 2);
}

.celebration::after {
	height: 0.75rem;
}

.celebration__watermark {
	font-size: max(12.5rem, 12px);
}

.celebration__head {
	margin-left: auto;
	margin-right: auto;
	max-width: 75rem;
	padding-left: 0;
	padding-right: 0;
	width: calc(100% - 3.125rem);
}

.celebration__label {
	font-size: max(1.5rem, 12px);
}

.celebration__title {
	font-size: max(6rem, 12px);
	margin-top: 1rem;
}

.celebration__slider {
	margin-left: 0;
	margin-right: 0;
	margin-top: 4rem;
}

.celebration__cards {
	-moz-column-gap: 2.6875rem;
	column-gap: 2.6875rem;
	grid-template-rows: auto;
	margin-left: 9.9375rem;
}

.celebration__card {
	width: 20rem;
}

.celebration__card-btn,
.celebration__card-frame {
	--notch: 0.75rem;
}

.celebration__card-body::after {
	bottom: 0.4375rem;
	height: 11.875rem;
	right: 0.4375rem;
	width: 11.75rem;
}

.celebration__card-thumb img {
	aspect-ratio: 288/240;
}

.celebration__card-info {
	padding-bottom: 1rem;
	padding-top: 1rem;
}

.celebration__card-name {
	font-size: max(1rem, 12px);
}

.celebration__card-role {
	font-size: max(0.875rem, 12px);
	height: 1.375rem;
	margin-top: 0.375rem;
}

.celebration__card-text {
	--line-clamp: 4;
}

.celebration__coming-text {
	font-size: max(2rem, 12px);
	margin-top: 2.4375rem;
}

.celebration__pager {
	background-color: #d9d9d9;
	border-radius: 0.5rem;
	display: block;
	height: 1rem;
	margin-left: auto;
	margin-right: auto;
	margin-top: 4rem;
	max-width: 75rem;
	position: relative;
	width: calc(100% - 3.125rem);
	z-index: 10;
}

.cta {
	padding-bottom: 4.75rem;
	padding-top: 5.125rem;
}

.cta__inner {
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

.cta__wrapper {
	gap: 1.5rem;
}

.cta__info-body {
	gap: 1.375rem;
}

.cta__info-text {
	font-size: max(1.5rem, 10px);
	line-height: 1.5;
}

.cta__info-line {
	height: 0.4375rem;
	width: 11.5rem;
}

.cta__button-area {
	gap: 1.875rem;
}

.cta__button-title-sub {
	font-size: max(2.875rem, 10px);
	line-height: 0.85;
}

.cta__button-title-main {
	font-size: max(7.25rem, 10px);
	line-height: 0.85;
}

.cta__button-link {
	border-radius: 3.75rem;
	border-width: 0.3rem;
	box-shadow: 0 0.25rem 0.25rem rgba(0, 21, 48, 0.2509803922);
	height: 5.625rem;
	width: 5.625rem;
}

.cta__button-link::before {
	height: 1.3125rem;
	width: 1.5rem;
}

.drawer__inner {
	max-width: 31.25rem;
	padding-left: 1.5625rem;
	padding-right: 1.5625rem;
}

.drawer__logo {
	width: 13.6875rem;
}

.drawer__nav-items {
	gap: 2rem;
}

.drawer__nav-item-link {
	font-size: max(2.25rem, 10px);
}

.drawer__legal {
	gap: 2.5rem;
}

.drawer__legal-link {
	font-size: max(0.875rem, 10px);
}

.drawer__sns {
	gap: 1rem;
}

.drawer__sns-title {
	font-size: max(1.875rem, 10px);
}

.drawer__sns-list {
	gap: 2.5rem;
}

.drawer__sns-link {
	height: 2.5rem;
	width: 2.5rem;
}

.drawer__copyright small {
	font-size: max(0.75rem, 10px);
}

.footer {
	border-top-width: 0.75rem;
	padding-bottom: 1.25rem;
	padding-top: 3.1875rem;
}

.footer__wrapper {
	align-items: flex-start;
	flex-direction: row;
	gap: 3.75rem;
	justify-content: space-between;
}

.footer__main {
	align-items: flex-start;
	flex-direction: row;
	gap: 7rem;
}

.footer__nav {
	align-items: flex-start;
	gap: 1.25rem;
}

.footer__nav-list {
	align-items: flex-start;
}

.footer__nav-link {
	font-size: max(2.25rem, 10px);
	justify-content: flex-start;
}

.footer__nav-link--external::after {
	height: 1.125rem;
	width: 1.125rem;
}

.footer__legal {
	gap: 2.5rem;
}

.footer__legal-link {
	font-size: max(0.875rem, 10px);
}

.footer__sns-title {
	font-size: max(1.875rem, 10px);
}

.footer__sns-list {
	gap: 2.5rem;
}

.footer__sns-link {
	height: 1.75rem;
	width: 1.75rem;
}

.footer__top {
	padding-left: 2.5rem;
	padding-right: 2.5rem;
}

.footer__copyright {
	flex-direction: row;
	gap: 1.5rem;
	padding-bottom: 0;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	padding-top: 1.25rem;
}

.footer__copyright small {
	font-size: max(0.75rem, 10px);
}

.friends-modal {
	backdrop-filter: blur(24px);
}

.friends-modal__container {
	height: 42rem;
	max-width: 75rem;
	width: calc(100% - 8rem);
}

.friends-modal__person {
	-moz-column-gap: 2rem;
	column-gap: 2rem;
	overflow-y: visible;
	padding-bottom: 4rem;
	padding-left: 8.375rem;
	padding-right: 3rem;
	padding-top: 4rem;
}

.friends-modal__person.is-active {
	display: grid;
	grid-template-columns: 31.25rem 1fr;
}

.friends-modal__name {
	font-size: max(2rem, 12px);
}

.friends-modal__role {
	margin-top: 0.75rem;
}

.friends-modal__scroll {
	-ms-overflow-style: none;
	height: 100%;
	margin-top: 0;
	overflow-y: scroll;
	overscroll-behavior: contain;
	padding-right: 5.375rem;
	scrollbar-width: none;
}

.friends-modal__question {
	font-size: max(1rem, 12px);
}

.friends-modal__answer {
	font-size: max(1rem, 12px);
	margin-top: 1rem;
}

.friends-modal__prev,
.friends-modal__next {
	width: 4rem;
}

.friends-modal__prev {
	left: -2rem;
}

.friends-modal__next {
	right: -2rem;
}

.friends-modal__prev::before,
.friends-modal__next::before {
	height: 1.25rem;
	width: 1.25rem;
}

.friends-modal__close {
	right: 3.4375rem;
	top: 4rem;
	width: 5rem;
}

.friends {
	padding-bottom: calc(min(10.75rem, 15.9259svh) + (100lvh - 100svh) / 2);
	padding-top: calc(min(10rem, 14.8148svh) + (100lvh - 100svh) / 2);
}

.friends::after {
	height: 0.75rem;
}

.friends__watermark {
	font-size: max(12.5rem, 12px);
}

.friends__head {
	margin-left: auto;
	margin-right: auto;
	max-width: 75rem;
	padding-left: 0;
	padding-right: 0;
	width: calc(100% - 3.125rem);
}

.friends__label {
	font-size: max(1.5rem, 12px);
}

.friends__title {
	font-size: max(6rem, 12px);
	margin-top: 1rem;
}

.friends__slider {
	margin-left: 0;
	margin-right: 0;
	margin-top: 5.875rem;
}

.friends__cards {
	-moz-column-gap: 2.6875rem;
	column-gap: 2.6875rem;
	grid-template-rows: auto;
	margin-left: 10rem;
}

.friends__card {
	height: 26.875rem;
	width: 20rem;
}

.friends__card-btn,
.friends__card-frame {
	--notch: 0.75rem;
}

.friends__card-body::after {
	bottom: 0.5rem;
	height: 11.875rem;
	right: 0.5rem;
	width: 11.75rem;
}

.friends__card-thumb img {
	aspect-ratio: 288/240;
}

.friends__card-info {
	margin-top: 1rem;
}

.friends__card-name {
	font-size: max(1rem, 12px);
}

.friends__card-role {
	line-height: 1.2;
	margin-top: 0.375rem;
}

.friends__card-text {
	--line-clamp: 4;
	margin-top: 0.375rem;
}

.friends__coming-text {
	font-size: max(2rem, 12px);
	margin-top: 2.4375rem;
}

.friends__pager {
	background-color: #d9d9d9;
	border-radius: 0.5rem;
	display: block;
	height: 1rem;
	margin-left: auto;
	margin-right: auto;
	margin-top: 4rem;
	max-width: 75rem;
	position: relative;
	width: calc(100% - 3.125rem);
	z-index: 10;
}

.header {
	right: 2.5rem;
	top: 2.5rem;
}

.inner {
	max-width: 78.125rem;
	padding-left: 1.5625rem;
	padding-right: 1.5625rem;
}

.interview-detail {
	padding-bottom: 10rem;
	padding-top: 10rem;
}

.interview-detail::after {
	height: 0.375rem;
}

.interview-detail__inner {
	max-width: 78.125rem;
	padding-left: 1.5625rem;
	padding-right: 1.5625rem;
}

.interview-detail__label {
	font-size: max(1.5rem, 12px);
}

.interview-detail__title {
	font-size: max(4rem, 12px);
	margin-top: 1rem;
}

.interview-detail__body {
	margin-top: 4rem;
}

.interview-detail__figure {
	margin-top: 4rem;
}

.interview-detail__caption {
	font-size: max(0.875rem, 12px);
	margin-top: 1rem;
}

.interview-detail__profile {
	margin-top: 4rem;
}

.interview-detail__profile-label {
	text-align: left;
	width: -moz-fit-content;
	width: fit-content;
}

.interview-detail__profile-text {
	font-size: max(1rem, 12px);
	margin-top: 1rem;
}

.interview-detail__lead {
	font-size: max(1rem, 12px);
	margin-top: 4rem;
}

.interview-detail__qa {
	margin-top: 4rem;
}

.interview-detail__question {
	gap: 0.75rem;
}

.interview-detail__question::before {
	height: 2.3125rem;
	width: 0.25rem;
}

.interview-detail__question-prefix {
	font-size: max(2rem, 12px);
}

.interview-detail__question-text {
	font-size: max(2rem, 12px);
}

.interview-detail__text {
	font-size: max(1rem, 12px);
}

.interview-detail__note {
	font-size: max(0.875rem, 12px);
}

.interview-detail__attention {
	font-size: max(0.875rem, 12px);
}

.interview-detail__divider {
	margin-top: 4rem;
}

.interview-detail__punchline-items {
	margin-top: 4rem;
	row-gap: 1.5rem;
}

.interview-detail__punchline-item {
	font-size: max(2.5rem, 12px);
	padding-bottom: 0.375rem;
	padding-top: 0.375rem;
}

.interview-detail__btn-wrapper {
	margin-top: 5rem;
}

.interview {
	background-image: url(../images/top/interview-bg-pc.jpg);
	padding-bottom: 10rem;
	padding-top: 10rem;
}

.interview::before {
	height: 0.75rem;
}

.interview::after {
	height: 0.75rem;
}

.interview__watermark {
	font-size: max(12.5rem, 12px);
	top: 10rem;
}

.interview__inner {
	max-width: 78.125rem;
	padding-left: 1.5625rem;
	padding-right: 1.5625rem;
}

.interview__label {
	font-size: max(1.5rem, 12px);
}

.interview__title {
	font-size: max(6rem, 12px);
	margin-top: 1rem;
}

.interview__card-wrapper {
	margin-top: 4rem;
	max-width: none;
}

.interview__card-link {
	display: grid;
	grid-template-columns: 10rem minmax(0, 1fr) max(360px, min(36.67vw, 440px));
}

.interview__card-band {
	-moz-column-gap: 0.25rem;
	align-items: center;
	background-color: #cea33b;
	column-gap: 0.25rem;
	display: flex;
	justify-content: center;
	position: relative;
	z-index: 10;
}

.interview__card-band::before {
	background-image: url(../images/top/bg-dot-grid.png);
	background-repeat: repeat;
	background-size: 90rem auto;
	bottom: 0;
	content: "";
	left: 0;
	opacity: 0.05;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 0;
}

.interview__card-band::after {
	background-image: url(../images/top/text-special-interview.svg);
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	height: 13.6875rem;
	width: 4.5rem;
}

.interview__card-thumb img {
	aspect-ratio: 600/338;
}

.interview__card-body {
	padding-bottom: 2.5rem;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
	padding-top: 1.5rem;
}

.interview__card-meta {
	-moz-column-gap: 1rem;
	column-gap: 1rem;
	padding-bottom: 1.5rem;
}

.interview__card-logo {
	width: 4.125rem;
}

.interview__card-logo-text {
	font-size: max(0.875rem, 12px);
}

.interview__card-label {
	font-size: max(1rem, 12px);
	margin-top: 1.5rem;
}

.interview__card-title {
	font-size: max(1.625rem, 12px);
	margin-top: 0.75rem;
}

.interview__card-text {
	font-size: max(1rem, 12px);
	margin-top: 0.75rem;
}

.interview__card-more {
	bottom: 0.75rem;
	font-size: max(1rem, 12px);
	right: 0.6875rem;
}

.interview__card-more::after {
	background-size: 0.4375rem auto;
	width: 1.0625rem;
}

.interview__coming {
	height: 9.375rem;
	margin-top: 4rem;
}

.interview__coming::before {
	height: 8.125rem;
	left: 20.8125rem;
	width: 4.5rem;
}

.interview__coming::after {
	height: 12.5625rem;
	right: -1.25rem;
	top: -1.625rem;
	width: 15.6875rem;
}

.interview__coming-title {
	font-size: max(1.5rem, 12px);
}

.interview__coming-text {
	font-size: max(1rem, 12px);
	margin-top: 1rem;
}

.menu-button {
	height: 5rem;
	width: 5rem;
}

.menu-button__line {
	background-size: 1.5625rem 100%;
	height: 0.1875rem;
	width: 2rem;
}

.menu-button__line::before,
.menu-button__line::after {
	height: 0.1875rem;
	width: 2rem;
}

.menu-button__line::before {
	transform: translateY(-0.625rem);
}

.menu-button__line::after {
	transform: translateY(0.625rem);
}

.mv {
	padding-bottom: 12.25rem;
	padding-top: 12.25rem;
}

.mv__loop--first {
	top: 13.6875rem;
}

.mv__loop--second {
	top: 37.6875rem;
}

.mv__loop .loop-img__item {
	font-size: max(20rem, 12px);
}

.mv__logo {
	max-width: 62.375rem;
}

.mv__nav {
	margin-top: 5.9375rem;
}

.mv__nav-items {
	grid-column-gap: 2rem;
	-moz-column-gap: 2rem;
	column-gap: 2rem;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	max-width: 49.25rem;
}

.mv__nav-link {
	background-position: 0.8125rem 0;
	background-size: 4.5rem 8.125rem;
	height: 6.8125rem;
}

.mv__nav-link::before {
	border-right-width: 1.5rem;
	border-top-width: 1.5rem;
}

.mv__nav-link::after {
	background-size: 0.8125rem auto;
	right: 1.125rem;
	width: 2.0625rem;
}

.mv__nav-link-ja {
	font-size: max(1.5rem, 12px);
	padding-bottom: 0.375rem;
}

.mv__nav-link-en {
	font-size: max(1rem, 12px);
	margin-top: 0.625rem;
}

.page-top {
	display: flex;
	justify-content: flex-end;
}

.page-top__button {
	display: block;
	height: 3.75rem;
	transition: transform 0.3s ease-out, opacity 0.3s ease-out;
	width: 3.75rem;
}

.partners {
	padding-bottom: 4rem;
	padding-top: 3.25rem;
}

.partners__bg-dot {
	background-image: radial-gradient(circle, #fff 1px, transparent 1px);
	background-size: 0.625rem 0.625rem;
}

.partners__heading-en {
	font-size: max(7.25rem, 10px);
}

.partners__heading-ja {
	font-size: max(2.25rem, 10px);
	line-height: 1;
}

.partners__slide-body {
	padding-top: 3.1875rem;
}

.partners__logo-item {
	height: 6.8125rem;
	margin-right: 1.25rem;
	width: 15.3125rem;
}

.pr {
	padding-bottom: 4rem;
	padding-top: 4rem;
}

.pr__wrapper {
	gap: 2.5rem;
}

.pr__bg-text {
	font-feature-settings: "palt";
	font-size: max(3.75rem, min(6.9444444444vw, 6.25rem));
	left: 0;
	line-height: 1;
	position: absolute;
	top: -0.3125rem;
}

.pr__main {
	align-items: center;
	flex-direction: row;
	gap: 4.2372881356%;
	justify-content: space-between;
	z-index: 2;
}

.pr__content {
	display: block;
	width: 46.6101694915%;
}

.pr__heading {
	font-feature-settings: "palt";
	font-size: max(2.5rem, 10px);
	text-align: left;
}

.pr__key-text {
	transform: rotate(-6deg);
}

.pr__key-text span {
	font-size: max(1.5rem, 10px);
	letter-spacing: -0.05em;
	line-height: 2.5;
	padding-bottom: 0.5625rem;
	padding-left: 0.375rem;
	padding-right: 0.375rem;
	padding-top: 0.5625rem;
	text-align: left;
}

.pr__key-text span .pr__key-text--red,
.pr__key-text span .pr__key-text--blue {
	font-size: max(2.25rem, 10px);
	padding-left: 0.1875rem;
	padding-right: 0.1875rem;
	transform: translateY(0.1875rem);
}

.pr__character {
	display: block;
	position: absolute;
	right: 0;
	top: -5rem;
	width: 22.125rem;
	z-index: 1;
}

.simplebar-scrollbar::before {
	width: 0.75rem;
}

.simplebar-track.simplebar-vertical {
	width: 0.75rem;
}

}

@media (min-width: 1200px) {

html {
	font-size: 16px;
}

}

@media screen and (max-width: 1921px) {

.loop-img__wrapper {
	gap: 1.25rem;
}

.loop-img__items {
	gap: 1.25rem;
}

}

@media screen and (max-width: 768px) {

.mt-sp-1 {
	margin-top: 0.0625rem;
}

.mt-sp-2 {
	margin-top: 0.125rem;
}

.mt-sp-3 {
	margin-top: 0.1875rem;
}

.mt-sp-4 {
	margin-top: 0.25rem;
}

.mt-sp-5 {
	margin-top: 0.3125rem;
}

.mt-sp-6 {
	margin-top: 0.375rem;
}

.mt-sp-7 {
	margin-top: 0.4375rem;
}

.mt-sp-8 {
	margin-top: 0.5rem;
}

.mt-sp-9 {
	margin-top: 0.5625rem;
}

.mt-sp-10 {
	margin-top: 0.625rem;
}

.mt-sp-11 {
	margin-top: 0.6875rem;
}

.mt-sp-12 {
	margin-top: 0.75rem;
}

.mt-sp-13 {
	margin-top: 0.8125rem;
}

.mt-sp-14 {
	margin-top: 0.875rem;
}

.mt-sp-15 {
	margin-top: 0.9375rem;
}

.mt-sp-16 {
	margin-top: 1rem;
}

.mt-sp-17 {
	margin-top: 1.0625rem;
}

.mt-sp-18 {
	margin-top: 1.125rem;
}

.mt-sp-19 {
	margin-top: 1.1875rem;
}

.mt-sp-20 {
	margin-top: 1.25rem;
}

.mt-sp-21 {
	margin-top: 1.3125rem;
}

.mt-sp-22 {
	margin-top: 1.375rem;
}

.mt-sp-23 {
	margin-top: 1.4375rem;
}

.mt-sp-24 {
	margin-top: 1.5rem;
}

.mt-sp-25 {
	margin-top: 1.5625rem;
}

.mt-sp-26 {
	margin-top: 1.625rem;
}

.mt-sp-27 {
	margin-top: 1.6875rem;
}

.mt-sp-28 {
	margin-top: 1.75rem;
}

.mt-sp-29 {
	margin-top: 1.8125rem;
}

.mt-sp-30 {
	margin-top: 1.875rem;
}

.mt-sp-31 {
	margin-top: 1.9375rem;
}

.mt-sp-32 {
	margin-top: 2rem;
}

.mt-sp-33 {
	margin-top: 2.0625rem;
}

.mt-sp-34 {
	margin-top: 2.125rem;
}

.mt-sp-35 {
	margin-top: 2.1875rem;
}

.mt-sp-36 {
	margin-top: 2.25rem;
}

.mt-sp-37 {
	margin-top: 2.3125rem;
}

.mt-sp-38 {
	margin-top: 2.375rem;
}

.mt-sp-39 {
	margin-top: 2.4375rem;
}

.mt-sp-40 {
	margin-top: 2.5rem;
}

.mt-sp-41 {
	margin-top: 2.5625rem;
}

.mt-sp-42 {
	margin-top: 2.625rem;
}

.mt-sp-43 {
	margin-top: 2.6875rem;
}

.mt-sp-44 {
	margin-top: 2.75rem;
}

.mt-sp-45 {
	margin-top: 2.8125rem;
}

.mt-sp-46 {
	margin-top: 2.875rem;
}

.mt-sp-47 {
	margin-top: 2.9375rem;
}

.mt-sp-48 {
	margin-top: 3rem;
}

.mt-sp-49 {
	margin-top: 3.0625rem;
}

.mt-sp-50 {
	margin-top: 3.125rem;
}

.mt-sp-51 {
	margin-top: 3.1875rem;
}

.mt-sp-52 {
	margin-top: 3.25rem;
}

.mt-sp-53 {
	margin-top: 3.3125rem;
}

.mt-sp-54 {
	margin-top: 3.375rem;
}

.mt-sp-55 {
	margin-top: 3.4375rem;
}

.mt-sp-56 {
	margin-top: 3.5rem;
}

.mt-sp-57 {
	margin-top: 3.5625rem;
}

.mt-sp-58 {
	margin-top: 3.625rem;
}

.mt-sp-59 {
	margin-top: 3.6875rem;
}

.mt-sp-60 {
	margin-top: 3.75rem;
}

.mt-sp-61 {
	margin-top: 3.8125rem;
}

.mt-sp-62 {
	margin-top: 3.875rem;
}

.mt-sp-63 {
	margin-top: 3.9375rem;
}

.mt-sp-64 {
	margin-top: 4rem;
}

.mt-sp-65 {
	margin-top: 4.0625rem;
}

.mt-sp-66 {
	margin-top: 4.125rem;
}

.mt-sp-67 {
	margin-top: 4.1875rem;
}

.mt-sp-68 {
	margin-top: 4.25rem;
}

.mt-sp-69 {
	margin-top: 4.3125rem;
}

.mt-sp-70 {
	margin-top: 4.375rem;
}

.mt-sp-71 {
	margin-top: 4.4375rem;
}

.mt-sp-72 {
	margin-top: 4.5rem;
}

.mt-sp-73 {
	margin-top: 4.5625rem;
}

.mt-sp-74 {
	margin-top: 4.625rem;
}

.mt-sp-75 {
	margin-top: 4.6875rem;
}

.mt-sp-76 {
	margin-top: 4.75rem;
}

.mt-sp-77 {
	margin-top: 4.8125rem;
}

.mt-sp-78 {
	margin-top: 4.875rem;
}

.mt-sp-79 {
	margin-top: 4.9375rem;
}

.mt-sp-80 {
	margin-top: 5rem;
}

.mt-sp-81 {
	margin-top: 5.0625rem;
}

.mt-sp-82 {
	margin-top: 5.125rem;
}

.mt-sp-83 {
	margin-top: 5.1875rem;
}

.mt-sp-84 {
	margin-top: 5.25rem;
}

.mt-sp-85 {
	margin-top: 5.3125rem;
}

.mt-sp-86 {
	margin-top: 5.375rem;
}

.mt-sp-87 {
	margin-top: 5.4375rem;
}

.mt-sp-88 {
	margin-top: 5.5rem;
}

.mt-sp-89 {
	margin-top: 5.5625rem;
}

.mt-sp-90 {
	margin-top: 5.625rem;
}

.mt-sp-91 {
	margin-top: 5.6875rem;
}

.mt-sp-92 {
	margin-top: 5.75rem;
}

.mt-sp-93 {
	margin-top: 5.8125rem;
}

.mt-sp-94 {
	margin-top: 5.875rem;
}

.mt-sp-95 {
	margin-top: 5.9375rem;
}

.mt-sp-96 {
	margin-top: 6rem;
}

.mt-sp-97 {
	margin-top: 6.0625rem;
}

.mt-sp-98 {
	margin-top: 6.125rem;
}

.mt-sp-99 {
	margin-top: 6.1875rem;
}

.mt-sp-100 {
	margin-top: 6.25rem;
}

.mt-sp-101 {
	margin-top: 6.3125rem;
}

.mt-sp-102 {
	margin-top: 6.375rem;
}

.mt-sp-103 {
	margin-top: 6.4375rem;
}

.mt-sp-104 {
	margin-top: 6.5rem;
}

.mt-sp-105 {
	margin-top: 6.5625rem;
}

.mt-sp-106 {
	margin-top: 6.625rem;
}

.mt-sp-107 {
	margin-top: 6.6875rem;
}

.mt-sp-108 {
	margin-top: 6.75rem;
}

.mt-sp-109 {
	margin-top: 6.8125rem;
}

.mt-sp-110 {
	margin-top: 6.875rem;
}

.mt-sp-111 {
	margin-top: 6.9375rem;
}

.mt-sp-112 {
	margin-top: 7rem;
}

.mt-sp-113 {
	margin-top: 7.0625rem;
}

.mt-sp-114 {
	margin-top: 7.125rem;
}

.mt-sp-115 {
	margin-top: 7.1875rem;
}

.mt-sp-116 {
	margin-top: 7.25rem;
}

.mt-sp-117 {
	margin-top: 7.3125rem;
}

.mt-sp-118 {
	margin-top: 7.375rem;
}

.mt-sp-119 {
	margin-top: 7.4375rem;
}

.mt-sp-120 {
	margin-top: 7.5rem;
}

.mt-sp-121 {
	margin-top: 7.5625rem;
}

.mt-sp-122 {
	margin-top: 7.625rem;
}

.mt-sp-123 {
	margin-top: 7.6875rem;
}

.mt-sp-124 {
	margin-top: 7.75rem;
}

.mt-sp-125 {
	margin-top: 7.8125rem;
}

.mt-sp-126 {
	margin-top: 7.875rem;
}

.mt-sp-127 {
	margin-top: 7.9375rem;
}

.mt-sp-128 {
	margin-top: 8rem;
}

.mt-sp-129 {
	margin-top: 8.0625rem;
}

.mt-sp-130 {
	margin-top: 8.125rem;
}

.mt-sp-131 {
	margin-top: 8.1875rem;
}

.mt-sp-132 {
	margin-top: 8.25rem;
}

.mt-sp-133 {
	margin-top: 8.3125rem;
}

.mt-sp-134 {
	margin-top: 8.375rem;
}

.mt-sp-135 {
	margin-top: 8.4375rem;
}

.mt-sp-136 {
	margin-top: 8.5rem;
}

.mt-sp-137 {
	margin-top: 8.5625rem;
}

.mt-sp-138 {
	margin-top: 8.625rem;
}

.mt-sp-139 {
	margin-top: 8.6875rem;
}

.mt-sp-140 {
	margin-top: 8.75rem;
}

.mt-sp-141 {
	margin-top: 8.8125rem;
}

.mt-sp-142 {
	margin-top: 8.875rem;
}

.mt-sp-143 {
	margin-top: 8.9375rem;
}

.mt-sp-144 {
	margin-top: 9rem;
}

.mt-sp-145 {
	margin-top: 9.0625rem;
}

.mt-sp-146 {
	margin-top: 9.125rem;
}

.mt-sp-147 {
	margin-top: 9.1875rem;
}

.mt-sp-148 {
	margin-top: 9.25rem;
}

.mt-sp-149 {
	margin-top: 9.3125rem;
}

.mt-sp-150 {
	margin-top: 9.375rem;
}

.mt-sp-151 {
	margin-top: 9.4375rem;
}

.mt-sp-152 {
	margin-top: 9.5rem;
}

.mt-sp-153 {
	margin-top: 9.5625rem;
}

.mt-sp-154 {
	margin-top: 9.625rem;
}

.mt-sp-155 {
	margin-top: 9.6875rem;
}

.mt-sp-156 {
	margin-top: 9.75rem;
}

.mt-sp-157 {
	margin-top: 9.8125rem;
}

.mt-sp-158 {
	margin-top: 9.875rem;
}

.mt-sp-159 {
	margin-top: 9.9375rem;
}

.mt-sp-160 {
	margin-top: 10rem;
}

.mt-sp-161 {
	margin-top: 10.0625rem;
}

.mt-sp-162 {
	margin-top: 10.125rem;
}

.mt-sp-163 {
	margin-top: 10.1875rem;
}

.mt-sp-164 {
	margin-top: 10.25rem;
}

.mt-sp-165 {
	margin-top: 10.3125rem;
}

.mt-sp-166 {
	margin-top: 10.375rem;
}

.mt-sp-167 {
	margin-top: 10.4375rem;
}

.mt-sp-168 {
	margin-top: 10.5rem;
}

.mt-sp-169 {
	margin-top: 10.5625rem;
}

.mt-sp-170 {
	margin-top: 10.625rem;
}

.mt-sp-171 {
	margin-top: 10.6875rem;
}

.mt-sp-172 {
	margin-top: 10.75rem;
}

.mt-sp-173 {
	margin-top: 10.8125rem;
}

.mt-sp-174 {
	margin-top: 10.875rem;
}

.mt-sp-175 {
	margin-top: 10.9375rem;
}

.mt-sp-176 {
	margin-top: 11rem;
}

.mt-sp-177 {
	margin-top: 11.0625rem;
}

.mt-sp-178 {
	margin-top: 11.125rem;
}

.mt-sp-179 {
	margin-top: 11.1875rem;
}

.mt-sp-180 {
	margin-top: 11.25rem;
}

.mt-sp-181 {
	margin-top: 11.3125rem;
}

.mt-sp-182 {
	margin-top: 11.375rem;
}

.mt-sp-183 {
	margin-top: 11.4375rem;
}

.mt-sp-184 {
	margin-top: 11.5rem;
}

.mt-sp-185 {
	margin-top: 11.5625rem;
}

.mt-sp-186 {
	margin-top: 11.625rem;
}

.mt-sp-187 {
	margin-top: 11.6875rem;
}

.mt-sp-188 {
	margin-top: 11.75rem;
}

.mt-sp-189 {
	margin-top: 11.8125rem;
}

.mt-sp-190 {
	margin-top: 11.875rem;
}

.mt-sp-191 {
	margin-top: 11.9375rem;
}

.mt-sp-192 {
	margin-top: 12rem;
}

.mt-sp-193 {
	margin-top: 12.0625rem;
}

.mt-sp-194 {
	margin-top: 12.125rem;
}

.mt-sp-195 {
	margin-top: 12.1875rem;
}

.mt-sp-196 {
	margin-top: 12.25rem;
}

.mt-sp-197 {
	margin-top: 12.3125rem;
}

.mt-sp-198 {
	margin-top: 12.375rem;
}

.mt-sp-199 {
	margin-top: 12.4375rem;
}

.mt-sp-200 {
	margin-top: 12.5rem;
}

}

@media (max-width: 767px) {

.br-sp-only {
	display: inline;
	display: initial;
}

}

@media (max-width: 444px) {

.br-444-less {
	display: inline;
	display: initial;
}

}

@media (max-width: 414px) {

html {
	font-size: 3.8647342995vw;
}

}

@keyframes mask {

0% {
	-webkit-mask-position: 200% 0%;
	mask-position: 200% 0%;
}

100% {
	-webkit-mask-position: 0% 0%;
	mask-position: 0% 0%;
}

}

@keyframes clip-open {

100% {
	clip-path: inset(0 0 0 0);
}

}

@keyframes loop-scroll-left {

from {
	transform: translateX(0);
}

to {
	transform: translateX(-100%);
}

}

@keyframes loop-scroll-right {

from {
	transform: translateX(-100%);
}

to {
	transform: translateX(0);
}

}

@keyframes partners-scroll {

0% {
	transform: translate(0);
}

to {
	transform: translate(-33.3333333333%);
}

}


/*# sourceMappingURL=style.css.map */
