/*
1. Prevent padding and border from affecting element width.
2. Allow adding a border to an element by just adding a border-width.
*/

*,
::before,
::after {
	border-color: #e5e7eb;
	border-style: solid;
	border-width: 0;
	box-sizing: border-box;
}

::before,
::after {
	--tw-content: "";
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
*/

html,
:host {
	-webkit-text-size-adjust: 100%;
	-moz-tab-size: 4;
	-o-tab-size: 4;
	font-feature-settings: normal;
	font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif;
	font-variation-settings: normal;
	line-height: 1.5;
	tab-size: 4;
}

/*
Remove the margin in all browsers.
*/

body {
	line-height: inherit;
	margin: 0;
}

/*
Add the correct height in Firefox.
*/

hr {
	border-top-width: 1px;
	color: inherit;
	height: 0;
}

/*
Correct the inheritance of border color in Firefox.
*/

abbr:where([title]) {
	-webkit-text-decoration: underline dotted;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: inherit;
	font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

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

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
	font-weight: bolder;
}

/*
Use the user's configured mono font-family by default.
*/

code,
kbd,
samp,
pre {
	font-family: ui-monospace, monospace;
	font-size: 1em;
}

/*
Add the correct font size in all browsers.
*/

small {
	font-size: 80%;
}

/*
Prevent sub and sup elements from affecting the line height.
*/

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

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/*
Remove text indentation from table contents in Chrome and Safari.
*/

table {
	border-collapse: collapse;
	border-color: inherit;
	text-indent: 0;
}

/*
Reset buttons.
*/

button,
input,
optgroup,
select,
textarea {
	color: inherit;
	font-family: inherit;
	font-size: 100%;
	font-weight: inherit;
	line-height: inherit;
	margin: 0;
	padding: 0;
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
	text-transform: none;
}

/*
Correct the inability to style clickable types in iOS and Safari.
*/

button,
[type=button],
[type=reset],
[type=submit] {
	-webkit-appearance: button;
	background-color: transparent;
	background-image: none;
}

/*
Remove the inner border and padding in Firefox.
*/

::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/*
Restore the focus styles unset by the previous rule.
*/

:-moz-focusring {
	outline: auto;
}

/*
Remove the additional ':invalid' styles in Firefox.
*/

:-moz-ui-invalid {
	box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
	vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
	height: auto;
}

/*
Correct the odd appearance in Chrome and Safari.
*/

[type=search] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/*
Remove the inner padding in Chrome and Safari.
*/

::-webkit-search-decoration {
	-webkit-appearance: none;
}

/*
Correct the inability to style clickable types in iOS and Safari.
*/

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
	display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
	margin: 0;
}

fieldset {
	margin: 0;
	padding: 0;
}

legend {
	padding: 0;
}

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

/*
Reset default styling for dialogs.
*/

dialog {
	padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
	resize: vertical;
}

/*
Ensure consistent appearance for form controls.
*/

input::-moz-placeholder,
textarea::-moz-placeholder {
	color: #9ca3af;
	opacity: 1;
}

input::placeholder,
textarea::placeholder {
	color: #9ca3af;
	opacity: 1;
}

/*
Set default cursor for buttons.
*/

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

/*
Disable pointer events on disabled elements.
*/

:disabled {
	cursor: default;
}

/*
Make images and videos responsive.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
	display: block;
	vertical-align: middle;
}

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

/*
Ensure hidden elements stay hidden.
*/

[hidden] {
	display: none;
}

@font-face {
	font-display: swap;
	font-family: "Oswald";
	font-style: normal;
	font-weight: 700;
	src: url("fonts/Oswald-Bold.woff") format("woff");
}

@font-face {
	font-display: swap;
	font-family: "Oswald";
	font-style: normal;
	font-weight: 300;
	src: url("fonts/Oswald-Light.woff") format("woff");
}

@font-face {
	font-display: swap;
	font-family: "Oswald";
	font-style: normal;
	font-weight: 400;
	src: url("fonts/Oswald-Regular.woff") format("woff");
}

@font-face {
	font-display: swap;
	font-family: "Oswald";
	font-style: normal;
	font-weight: 600;
	src: url("fonts/Oswald-SemiBold.woff") format("woff");
}

* {
	box-sizing: border-box;
}

:root {
	--color-text: #333;
	--color-main: #e83b30;
	--color-bg: #f2f2f2;
	--color-border: #e0e0e0;
	font-size: 14px;
	line-height: 1.8;
}

body {
	color: #333;
	color: var(--color-text);
	font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "YuGothic", "Meiryo", sans-serif;
	font-weight: 400;
	padding-top: 50px;
}

a {
	-webkit-text-decoration: none;
	color: inherit;
	text-decoration: none;
	transition: opacity 0.3s;
}

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

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

button,
input,
optgroup,
select,
textarea {
	border: 1px solid #e5e7eb;
	padding: 8px;
	width: 100%;
}

.grecaptcha-badge {
	visibility: hidden !important;
}

.l-container-wide {
	margin: 0 auto;
	max-width: 1380px;
	padding: 0 20px;
	width: 100%;
}

.l-container {
	margin: 0 auto;
	max-width: 1180px;
	padding: 0 20px;
	width: 100%;
}

.l-header {
	align-items: stretch;
	background-color: #fff;
	display: flex;
	height: 50px;
	justify-content: space-between;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 100;
}

.l-header__logo-wrap {
	align-items: center;
	display: flex;
	padding-left: max(20px, 50vw - 640px);
}

.l-header__logo {
	display: block;
	height: 28px;
}

.l-header__logo img {
	display: block;
	height: 100%;
	width: auto;
}

.l-header__right {
	align-items: stretch;
	display: flex;
}

.l-header__nav-list {
	align-items: center;
	display: flex;
	gap: 40px;
	height: 100%;
}

.l-header__nav-item {
	align-items: center;
	display: flex;
	font-size: 16px;
	position: relative;
}

.l-header__nav-item:nth-child(n+2) {
	display: none;
}

.l-header__nav-link {
	align-items: center;
	border-bottom: 1px solid transparent;
	cursor: pointer;
	display: flex;
	font-size: 14px;
	gap: 8px;
	margin-right: 15px;
	padding-bottom: 0;
	transition: border-color 0.3s;
}

.l-header__nav-link:hover {
	border-bottom-color: #333;
	border-bottom-color: var(--color-text);
}

.l-header__nav-link.--has-sub::after {
	border-bottom: 1px solid #333;
	border-bottom: 1px solid var(--color-text);
	border-right: 1px solid #333;
	border-right: 1px solid var(--color-text);
	content: "";
	display: block;
	height: 8px;
	margin-top: -4px;
	transform: rotate(45deg);
	transition: transform 0.3s;
	width: 8px;
}

.l-header__nav-link.--has-sub:hover::after {
	transform: rotate(45deg) translate(2px, 2px);
}

.l-header__nav-link.is-open::after {
	transform: rotate(225deg) !important;
}

.l-header__nav-link.is-open::after {
	margin-top: 4px;
}

.l-header__sub-menu {
	background-color: #fff;
	cursor: default;
	display: none;
	left: 50%;
	padding: 24px 20px;
	position: absolute;
	top: 50px;
	transform: translateX(-50%);
	z-index: 100;
}

.l-header__sub-menu.is-open {
	display: block;
}

.l-header__sub-menu-list {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.l-header__sub-menu-link {
	-webkit-text-decoration: none;
	align-items: center;
	display: flex;
	font-size: 16px;
	font-weight: 700;
	gap: 16px;
	text-decoration: none;
	white-space: nowrap;
}

.l-header__sub-menu-link::before {
	background-color: #e83b30;
	background-color: var(--color-main);
	content: "";
	display: block;
	flex-shrink: 0;
	height: 2px;
	width: 16px;
}

.l-header__contact {
	display: none;
}

.l-header__hamburger {
	align-items: center;
	background-color: #e83b30;
	background-color: var(--color-main);
	border: none;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	gap: 6px;
	justify-content: center;
	padding: 0;
	width: 70px;
}

.l-header__hamburger span {
	background-color: #fff;
	display: block;
	height: 2px;
	transition: transform 0.3s, opacity 0.3s;
	width: 28px;
}

.l-header__overlay {
	backdrop-filter: blur(5px);
	background: rgba(0, 0, 0, 0.5);
	height: 100vh;
	left: 0;
	opacity: 0;
	position: fixed;
	top: 0;
	transition: opacity 0.3s, visibility 0.3s;
	visibility: hidden;
	width: 100vw;
	z-index: 101;
}

.l-header__overlay.is-active {
	opacity: 1;
	visibility: visible;
}

.l-header__drawer {
	background-color: #fff;
	background-color: #f2f2f2;
	color: #333;
	color: var(--color-text);
	display: flex;
	flex-direction: column;
	height: 100vh;
	overflow-y: auto;
	padding: 20px 24px;
	position: fixed;
	right: 0;
	top: 0;
	transform: translateX(100%);
	transition: transform 0.3s ease;
	width: 348px;
	z-index: 103;
}

.l-header__drawer.is-active {
	transform: translateX(0);
}

.l-header__drawer-header {
	align-items: center;
	display: flex;
	flex-shrink: 0;
	height: 50px;
	justify-content: space-between;
	margin-bottom: 32px;
}

.l-header__drawer-logo {
	display: block;
	padding-left: 0;
}

.l-header__drawer-logo img {
	display: block;
	height: 45px;
	width: auto;
}

.l-header__drawer-close {
	align-items: center;
	background-color: #e83b30;
	background-color: var(--color-main);
	border: none;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	flex-shrink: 0;
	height: 39px;
	justify-content: center;
	padding: 0;
	position: relative;
	width: 39px;
}

.l-header__drawer-close span {
	background-color: #fff;
	height: 1px;
	left: 50%;
	position: absolute;
	top: 50%;
	width: 24px;
}

.l-header__drawer-close span:nth-child(1) {
	transform: translate(-50%, -50%) rotate(45deg);
}

.l-header__drawer-close span:nth-child(2) {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.l-header__drawer-nav {
	margin-bottom: 40px;
}

.l-header__drawer-list {
	display: flex;
	flex-direction: column;
}

.l-header__drawer-item {
	background: #fff;
	border-bottom: 1px solid #e0e0e0;
}

.l-header__drawer-link {
	-webkit-text-decoration: none;
	align-items: center;
	background: none;
	border: none;
	color: #333;
	color: var(--color-text);
	cursor: pointer;
	display: flex;
	font-family: inherit;
	font-size: 16px;
	justify-content: space-between;
	padding: 13px 16px;
	text-align: left;
	text-decoration: none;
	width: 100%;
}

.l-header__drawer-link::after {
	border-bottom: 1.5px solid #333;
	border-bottom: 1.5px solid var(--color-text);
	border-right: 1.5px solid #333;
	border-right: 1.5px solid var(--color-text);
	content: "";
	display: block;
	flex-shrink: 0;
	height: 8px;
	transform: rotate(-45deg);
	width: 8px;
}

.l-header__drawer-link.--toggle::after {
	margin-top: -4px;
	transform: rotate(45deg);
}

.l-header__drawer-link.--toggle.is-open::after {
	margin-top: 4px;
	transform: rotate(225deg);
}

.l-header__drawer-sub-list {
	background-color: #f2f2f2;
	background-color: var(--color-bg);
	display: none;
	flex-direction: column;
	gap: 20px;
	padding: 16px 20px 24px;
}

.l-header__drawer-sub-list.is-open {
	display: flex;
}

.l-header__drawer-sub-link {
	-webkit-text-decoration: none;
	align-items: center;
	color: #333;
	color: var(--color-text);
	display: flex;
	font-size: 14px;
	font-weight: 700;
	gap: 16px;
	text-decoration: none;
}

.l-header__drawer-sub-link::before {
	background-color: #e83b30;
	background-color: var(--color-main);
	content: "";
	display: block;
	flex-shrink: 0;
	height: 2px;
	width: 16px;
}

.l-header__drawer-buttons {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 24px 0 16px;
}

.l-header__drawer-btn {
	-webkit-text-decoration: none;
	align-items: center;
	color: #fff;
	display: flex;
	font-size: 15px;
	font-weight: 500;
	gap: 16px;
	justify-content: center;
	padding: 18px 0;
	text-decoration: none;
}

.l-header__drawer-btn.--dark {
	background-color: #333;
	background-color: var(--color-text);
}

.l-header__drawer-btn.--red {
	background-color: #e83b30;
	background-color: var(--color-main);
}

.l-header__drawer-btn-arrow {
	background: url("../images/common/icon-arrow.svg") no-repeat center/contain;
	display: block;
	height: 10px;
	width: 32px;
}

.l-header__drawer-footer {
	border-top: 1px solid #e0e0e0;
	padding: 16px 20px 24px;
}

.l-header__drawer-privacy {
	-webkit-text-decoration: none;
	color: #333;
	color: var(--color-text);
	font-size: 12px;
	text-decoration: none;
}

.l-header__drawer-privacy:hover {
	-webkit-text-decoration: underline;
	text-decoration: underline;
}

.page-contact .l-header,
.page-thanks .l-header,
.page-entry-thanks .l-header {
	box-shadow: 0 0px 3px rgba(0, 0, 0, 0.3);
}

.l-footer {
	background-color: #D9D9D9;
	padding-top: 0;
}

.l-footer__inner {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding-bottom: 20px;
}

.l-footer__info {
	background-color: #D9D9D9;
	padding: 24px 0 5px;
}

.l-footer__logo {
	display: block;
	margin-bottom: 32px;
	width: 160px;
}

.l-footer__logo img {
	display: block;
	height: auto;
	width: 100%;
}

.l-footer__address,
.l-footer__contact {
	margin-bottom: 15px;
}

.l-footer__nav-box {
	color: #333;
	color: var(--color-text);
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 30px;
	padding: 0;
}

.l-footer__nav-menu {
	display: flex;
	gap: 20px;
}

.l-footer__nav-col {
	flex: 1;
}

.l-footer__nav-list {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.l-footer__nav-list a.is-active {
	color: #e83b30;
	color: var(--color-main);
}

.l-footer__nav-list a:hover {
	color: #e83b30;
	color: var(--color-main);
}

.l-footer__brands-title {
	font-family: "Oswald", sans-serif;
	font-size: 20px;
	font-weight: 600;
	line-height: 1;
	margin-bottom: 20px;
}

.l-footer__brands-list {
	grid-gap: 0;
	display: grid;
	gap: 0;
	grid-auto-flow: column;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: repeat(3, auto);
}

.l-footer__brands-list li a {
	font-family: "Oswald", sans-serif;
	font-size: 16px;
	font-weight: 400;
}

.l-footer__brands-list li a:hover {
	color: #e83b30;
	color: var(--color-main);
}

.l-footer__bottom {
	background-color: #D9D9D9;
	border-top: 1px solid rgba(0, 0, 0, 0.2);
	color: #333;
	color: var(--color-text);
	padding: 15px 0 75px;
}

.l-footer__bottom-inner {
	align-items: center;
	display: flex;
	gap: 16px;
	justify-content: space-between;
}

.l-footer__policy {
	font-size: 12px;
}

.l-footer__policy:hover {
	color: #333;
	color: var(--color-text);
	opacity: 0.8;
}

.l-footer__copyright {
	font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "YuGothic", "Meiryo", sans-serif;
	font-size: 12px;
}

.p-page-header {
	align-items: center;
	aspect-ratio: 375/240;
	background-color: #888;
	background-image: var(--bg-sp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	display: flex;
	justify-content: center;
	position: relative;
}

.p-page-header__inner {
	position: relative;
	text-align: center;
	z-index: 1;
}

.p-page-header__ttl {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 0px;
}

.p-page-header__ttl-en {
	color: #fff;
	display: block;
	font-family: "Oswald", sans-serif;
	font-size: 36px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.2;
	opacity: 0.8;
}

.p-page-header__ttl-ja {
	color: #fff;
	display: block;
	font-size: 14px;
	letter-spacing: 0.1em;
}

.p-page-header__bg {
	bottom: 0;
	display: block;
	height: 100%;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
}

.p-page-header__bg img {
	-o-object-fit: cover;
	display: block;
	height: 100%;
	object-fit: cover;
	transition: opacity 0.3s ease;
	width: 100%;
}

.p-page-header--brand {
	background-color: #fff;
	background-image: none;
}

.p-page-header--brand:hover .p-page-header__bg img {
	opacity: 0.7;
}

.p-breadcrumb {
	background-color: #fff;
}

.p-breadcrumb__list {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 4px 0;
	padding: 12px 0;
}

.p-breadcrumb__item {
	align-items: center;
	color: #333;
	color: var(--color-text);
	display: flex;
	font-size: 12px;
}

.p-breadcrumb__item + .p-breadcrumb__item::before {
	color: #333;
	color: var(--color-text);
	content: "›";
	margin: 0 6px;
}

.p-breadcrumb__item--current {
	color: #e83b30;
	color: var(--color-main);
}

.p-breadcrumb__link {
	color: #333;
	color: var(--color-text);
}

.p-breadcrumb__link:hover {
	-webkit-text-decoration: underline;
	opacity: 1;
	text-decoration: underline;
}

.v-more {
	-webkit-text-decoration: none;
	align-items: center;
	background: #fff;
	border: 1px solid #333;
	border: 1px solid var(--color-text);
	color: #333;
	color: var(--color-text);
	display: inline-flex;
	font-size: 14px;
	font-weight: 400;
	gap: 12px;
	justify-content: center;
	letter-spacing: 0.05em;
	overflow: hidden;
	padding: 12px 15px;
	position: relative;
	text-decoration: none;
	transition: color 0.2s cubic-bezier(0.45, 0, 0.55, 1);
	width: 190px;
	z-index: 1;
}

.v-more::after {
	background: #333;
	background: var(--color-text);
	content: "";
	height: 200%;
	left: 0;
	position: absolute;
	top: -10px;
	transform: skewY(-10deg) scale(1, 0);
	transform-origin: left top;
	transition: transform 0.2s cubic-bezier(0.45, 0, 0.55, 1);
	width: 100%;
	z-index: -1;
}

.v-more::before {
	background: url("../images/common/icon-arrow-bk.svg") no-repeat center center/contain;
	content: "";
	height: 13px;
	order: 2;
	width: 24px;
}

.v-more:hover {
	-webkit-text-decoration: none;
	color: #fff;
	opacity: 1;
	text-decoration: none;
}

.v-more:hover::after {
	transform: skewY(-10deg) scale(1, 1);
}

.v-more:hover::before {
	background-image: url("../images/common/icon-arrow.svg");
}

.v-more.red {
	background: #e83b30;
	background: var(--color-main);
	border-color: #e83b30;
	border-color: var(--color-main);
	color: #fff;
}

.v-more.red::after {
	background: #fff;
	height: 250%;
}

.v-more.red::before {
	background-image: url("../images/common/icon-arrow.svg");
}

.v-more.red:hover {
	color: #e83b30;
	color: var(--color-main);
}

.v-more.red:hover::before {
	background-image: url("../images/common/icon-arrow-red.svg");
}

.v-more.external::before {
	transform: rotate(-18deg);
	width: 38px;
}

.v-more.external:hover::before {
	transform: rotate(-18deg);
}

.v-more.dark {
	background: #333;
	background: var(--color-text);
	border-color: #333;
	border-color: var(--color-text);
	color: #fff;
}

.v-more.dark::after {
	background: #fff;
	height: 250%;
}

.v-more.dark::before {
	background-image: url("../images/common/icon-arrow.svg");
}

.v-more.dark:hover {
	color: #333;
	color: var(--color-text);
}

.v-more.dark:hover::before {
	background-image: url("../images/common/icon-arrow-bk.svg");
}

.c-sec-title__en {
	color: #333;
	color: var(--color-text);
	display: block;
	font-family: "Oswald", sans-serif;
	font-size: 42px;
	font-weight: 600;
	line-height: 1;
	opacity: 0.2;
}

.c-sec-title__ja {
	color: #333;
	color: var(--color-text);
	display: inline-block;
	font-size: 16px;
	font-weight: 400;
	margin-top: 8px;
	padding-left: 30px;
	position: relative;
}

.c-sec-title__ja::before {
	background: #e83b30;
	background: var(--color-main);
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 25px;
}

.c-sec-heading {
	--c-sec-heading-border-color: var(--color-main);
	align-items: flex-end;
	display: flex;
	gap: 16px;
}

.c-sec-heading__en {
	color: #333;
	color: var(--color-text);
	font-family: "Oswald", sans-serif;
	font-size: 42px;
	font-weight: 700;
	line-height: 1;
}

.c-sec-heading__ja {
	align-items: center;
	display: flex;
	font-size: 12px;
	font-weight: 600;
	gap: 10px;
	line-height: 1.2;
}

.c-sec-heading__ja::before {
	background-color: var(--c-sec-heading-border-color);
	content: "";
	display: block;
	height: 1px;
	width: 20px;
}

.c-sec-heading--brand {
	--c-sec-heading-border-color: #E83B30;
}

.c-sec-heading--brand .c-sec-heading__en {
	color: #E83B30;
	font-size: 26px;
}

.c-sec-heading--center {
	align-items: center;
	flex-direction: column;
	text-align: center;
}

.c-sec-heading--center .c-sec-heading__ja {
	align-items: center;
	flex-direction: column;
	gap: 8px;
}

.c-sec-heading--center .c-sec-heading__ja::before {
	display: none;
}

.c-sec-heading--center .c-sec-heading__ja::after {
	background-color: var(--c-sec-heading-border-color);
	content: "";
	display: block;
	height: 1px;
	width: 20px;
}

.c-page-ttl {
	margin-bottom: 40px;
}

.c-page-ttl__en {
	color: #EAEAEA;
	display: block;
	font-family: "Oswald", sans-serif;
	font-size: 48px;
	font-weight: 700;
	line-height: 1;
}

.c-page-ttl__ja {
	color: #6E6964;
	display: inline-block;
	font-size: 16px;
	font-weight: 400;
	margin-top: 4px;
	padding-bottom: 10px;
	position: relative;
}

.c-page-ttl__ja::after {
	background-color: #e83b30;
	background-color: var(--color-main);
	bottom: 0;
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	width: 64px;
}

.c-page-ttl--center {
	text-align: center;
}

.c-page-ttl--center .c-page-ttl__ja::after {
	left: 50%;
	transform: translateX(-50%);
}

.c-brand-card {
	-webkit-text-decoration: none;
	background-color: #fff;
	box-shadow: 3px 3px 0px 0px rgba(0, 0, 0, 0.36);
	color: inherit;
	display: flex;
	flex-direction: column;
	height: 100%;
	text-decoration: none;
}

.c-brand-card:hover {
	opacity: 1;
}

.c-brand-card:hover .c-brand-card__img img {
	transform: scale(1.05);
}

.c-brand-card__img {
	aspect-ratio: 400/220;
	overflow: hidden;
	width: 100%;
}

.c-brand-card__img img {
	-o-object-fit: cover;
	display: block;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
	width: 100%;
}

.c-brand-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 16px 8px;
}

.c-brand-card__text {
	display: none;
	flex: 1;
	line-height: 1.6;
	margin-bottom: 0;
}

.c-brand-card__more {
	align-items: center;
	display: flex;
	font-family: "Oswald", sans-serif;
	font-size: 14px;
	gap: 12px;
	justify-content: flex-end;
	margin-top: 0;
}

.c-brand-card__more-arrow {
	background: url("../images/common/icon-arrow-bk.svg") no-repeat center/contain;
	display: block;
	height: 10px;
	width: 18px;
}

.c-cta {
	background: #fff;
	padding: 0;
}

.c-cta__inner {
	display: flex;
	flex-direction: column;
}

.c-cta__block {
	align-items: center;
	display: flex;
	flex: 1;
	flex-direction: column;
	overflow: hidden;
	padding: 30px 32px;
	position: relative;
	text-align: center;
}

.c-cta__block:first-child {
	border-bottom: 1px solid rgba(0, 0, 0, 0.3);
}

.c-cta__label {
	color: #000;
	font-family: "Oswald", sans-serif;
	font-size: 3.2rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1;
	margin-bottom: 20px;
	opacity: 0.15;
}

.c-cta__block:last-child .c-cta__label {
	color: #e83b30;
	color: var(--color-main);
	opacity: 0.2;
}

.c-cta__heading {
	align-items: center;
	display: flex;
	gap: 12px;
	justify-content: center;
	margin-bottom: 16px;
}

.c-cta__icon {
	-o-object-fit: contain;
	display: block;
	flex-shrink: 0;
	height: 32px;
	object-fit: contain;
	padding: 2px;
	width: 32px;
}

.c-cta__title {
	color: #333;
	color: var(--color-text);
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.4;
	margin: 0;
}

.c-cta__text {
	flex-grow: 1;
	margin-bottom: 40px;
}

.c-cta__bg {
	-webkit-user-select: none;
	-moz-user-select: none;
	bottom: 20px;
	left: 50%;
	pointer-events: none;
	position: absolute;
	transform: translateX(-50%);
	user-select: none;
	width: 90%;
}

.c-cta .v-more {
	gap: 16px;
	max-width: 300px;
	padding: 15px 32px;
	position: relative;
	width: 100%;
	z-index: 1;
}

.c-fixed-cta-wrapper {
	background: #fff;
	bottom: 0;
	display: flex;
	left: 0;
	position: fixed;
	width: 100%;
	z-index: 100;
}

.c-fixed-cta {
	display: flex;
	flex: 1;
}

.c-fixed-cta__item {
	-webkit-text-decoration: none;
	align-items: center;
	border: 1px solid #000;
	color: #000;
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 0px;
	justify-content: center;
	padding: 5px 10px 6px 10px;
	text-decoration: none;
	transition: background-color 0.3s, color 0.3s;
}

.c-fixed-cta__item + .c-fixed-cta__item {
	border-left: none;
}

.c-fixed-cta__item:last-child {
	border-right: none;
}

.c-fixed-cta__item:hover {
	opacity: 0.8;
}

.c-fixed-cta__item--contact {
	background-color: #fff;
	border-color: #e83b30;
	border-color: var(--color-main);
	color: #e83b30;
	color: var(--color-main);
}

.c-fixed-cta__item--contact .c-cta__icon {
	width: 28px;
}

.c-fixed-cta__item--catalog {
	background-color: #fff;
	color: #000;
}

.c-fixed-cta__item--catalog .c-cta__icon {
	width: 22px;
}

.c-fixed-cta__item--ec {
	background-color: #fff;
	color: #000;
}

.c-fixed-cta__item--ec .c-cta__icon {
	width: 24px;
}

.c-fixed-cta__item .c-cta__icon {
	-o-object-fit: contain;
	display: block;
	height: 27px;
	margin-bottom: 2px;
	object-fit: contain;
	transition: filter 0.3s;
	width: 28px;
}

.c-fixed-cta__text {
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.2;
}

.c-fixed-pagetop {
	flex-direction: column;
	gap: 2px;
}

.c-fixed-pagetop__text {
	-webkit-text-decoration: none;
	color: #000;
	font-size: 8px;
	letter-spacing: -0.4px;
	line-height: 1.2;
	text-decoration: none;
}

.c-pagetop {
	-webkit-text-decoration: none;
	align-items: center;
	border: 1px solid #000;
	display: flex;
	flex-shrink: 0;
	justify-content: center;
	text-decoration: none;
	transition: opacity 0.3s;
	width: 50px;
}

.c-pagetop img {
	height: auto;
	width: 18px;
}

.c-pagetop:hover {
	opacity: 0.8;
}

.p-not-found {
	padding: 60px 0;
	text-align: center;
}

.p-not-found__inner {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.p-not-found__num {
	color: #e83b30;
	color: var(--color-main);
	font-family: "Oswald", sans-serif;
	font-size: 100px;
	font-weight: 700;
	line-height: 1;
	margin: 0;
}

.p-not-found__text {
	font-size: 14px;
	line-height: 2;
	margin: 0;
}

.fs-48 {
	font-size: 2rem;
}

.fs-36 {
	font-size: 1.5rem;
}

.fs-24 {
	font-size: 1rem;
}

.fs-18 {
	font-size: 1rem;
}

.u-text-indent {
	text-indent: -0.5em;
}

[data-animate=fade-up] {
	opacity: 0;
	transform: translateY(40px);
	transition: opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1), transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
	will-change: opacity, transform;
}

[data-animate=fade-in] {
	opacity: 0;
	transition: opacity 1.4s ease;
	will-change: opacity;
}

[data-animate=clip-reveal] .c-sec-title__en {
	clip-path: inset(0 100% 0 0);
	transition: clip-path 1s cubic-bezier(0.76, 0, 0.24, 1);
	will-change: clip-path;
}

[data-animate=fade-up].is-animated,
[data-animate=fade-in].is-animated {
	opacity: 1;
	transform: none;
}

[data-animate=clip-reveal].is-animated .c-sec-title__en {
	clip-path: inset(0 0% 0 0);
}

.p-recruit-intro__text[data-animate=clip-reveal] span {
	clip-path: inset(0 100% 0 0);
	transition: clip-path 1s cubic-bezier(0.76, 0, 0.24, 1);
	will-change: clip-path;
}

.p-recruit-intro__text[data-animate=clip-reveal].is-animated span {
	clip-path: inset(0 0% 0 0);
}

.p-recruit-intro__text[data-animate=clip-reveal].is-animated span:nth-child(2) {
	transition-delay: 0.15s;
}

.p-recruit-intro__text[data-animate=clip-reveal].is-animated span:nth-child(3) {
	transition-delay: 0.3s;
}

.p-recruit-intro__text[data-animate=clip-reveal].is-animated span:nth-child(4) {
	transition-delay: 0.45s;
}

[data-delay="100"] {
	animation-delay: 0.1s;
	transition-delay: 0.1s;
}

[data-delay="150"] {
	animation-delay: 0.15s;
	transition-delay: 0.15s;
}

[data-delay="200"] {
	animation-delay: 0.2s;
	transition-delay: 0.2s;
}

[data-delay="250"] {
	animation-delay: 0.25s;
	transition-delay: 0.25s;
}

[data-delay="300"] {
	animation-delay: 0.3s;
	transition-delay: 0.3s;
}

[data-delay="400"] {
	animation-delay: 0.4s;
	transition-delay: 0.4s;
}

[data-delay="450"] {
	animation-delay: 0.45s;
	transition-delay: 0.45s;
}

[data-delay="500"] {
	animation-delay: 0.5s;
	transition-delay: 0.5s;
}

.sm-up {
	display: none;
}

.sm-down {
	display: block;
}

.md-up {
	display: none;
}

.md-down {
	display: block;
}

.lg-up {
	display: none;
}

.lg-down {
	display: block;
}

.xl-up {
	display: none;
}

.xl-down {
	display: block;
}

.xxl-up {
	display: none;
}

.xxl-down {
	display: block;
}

.bg-gray {
	background-color: #f2f2f2;
	background-color: var(--color-bg);
}

@media (prefers-reduced-motion: reduce) {

[data-animate] {
	animation: none !important;
	clip-path: none !important;
	opacity: 1 !important;
	transform: none !important;
	transition: none !important;
}

}

@media screen and (min-width: 640px) {

.sm-up {
	display: block;
}

.sm-down {
	display: none;
}

}

@media screen and (min-width: 768px) {

:root {
	font-size: 16px;
}

.l-footer {
	padding-top: 80px;
}

.l-footer__info {
	padding: 24px 32px;
}

.l-footer__address,
.l-footer__contact {
	margin-bottom: 24px;
}

.l-footer__nav-box {
	gap: 40px;
	padding: 40px 20px;
}

.l-footer__nav-list {
	gap: 24px;
	width: 150px;
}

.l-footer__nav-col {
	border-left: 1px solid rgba(0, 0, 0, 0.2);
	padding-left: 10px;
}

.l-footer__brands-title {
	font-size: 26px;
}

.l-footer__brands-list li a {
	font-size: 20px;
}

.l-footer__bottom {
	padding: 24px 0;
}

.v-more {
	font-size: 16px;
	font-weight: 500;
	gap: 32px;
	padding: 20px 64px;
	width: auto;
}

.v-more::before {
	width: 38px;
}

.c-sec-title__en {
	font-size: 80px;
}

.c-sec-title__ja {
	font-size: 20px;
	margin-left: 10px;
	margin-top: 12px;
	padding-left: 60px;
}

.c-sec-title__ja::before {
	height: 2px;
	width: 50px;
}

.c-brand-card__body {
	padding: 24px;
}

.c-cta {
	padding: 48px 0;
}

.c-cta__inner {
	flex-direction: row;
}

.c-cta__block {
	padding: 48px 32px;
}

.c-cta__block:first-child {
	border-bottom: none;
	border-right: 1px solid rgba(0, 0, 0, 0.3);
}

.c-cta__bg {
	bottom: 16px;
	width: 80%;
}

.fs-48 {
	font-size: 2.5rem;
}

.fs-36 {
	font-size: 1.75rem;
}

.fs-24 {
	font-size: 1.25rem;
}

.fs-18 {
	font-size: 1.125rem;
}

.md-up {
	display: block;
}

.md-down {
	display: none;
}

}

@media (min-width: 768px) {

.p-page-header {
	aspect-ratio: 1440/380;
	background-image: var(--bg-pc);
}

.p-page-header--brand {
	background-image: none;
}

}

@media screen and (min-width: 1024px) {

body {
	padding-top: 80px;
}

.l-header {
	height: 80px;
}

.l-header__logo {
	height: 45px;
}

.l-header__nav {
	align-items: center;
	display: flex;
	margin-right: 48px;
}

.l-header__nav-item:nth-child(n+2) {
	display: flex;
}

.l-header__nav-link {
	font-size: 16px;
	margin-right: 0;
	padding-bottom: 0;
}

.l-header__sub-menu {
	padding: 40px 30px;
	top: 70px;
}

.l-header__sub-menu-list {
	gap: 24px;
}

.l-header__sub-menu-link {
	border-bottom: 1px solid transparent;
	padding-bottom: 8px;
	transition: border-color 0.3s;
}

.l-header__sub-menu-link:hover {
	border-bottom-color: #333;
	border-bottom-color: var(--color-text);
}

.l-header__contact {
	-webkit-text-decoration: none;
	align-items: center;
	background-color: #e83b30;
	background-color: var(--color-main);
	border: 1px solid #e83b30;
	border: 1px solid var(--color-main);
	color: #fff;
	display: flex;
	font-size: 16px;
	font-weight: 500;
	gap: 12px;
	justify-content: center;
	margin: 14px 10px 14px 0;
	overflow: hidden;
	position: relative;
	text-decoration: none;
	transition: color 0.2s cubic-bezier(0.45, 0, 0.55, 1);
	width: 220px;
	z-index: 1;
}

.l-header__contact::after {
	background: #fff;
	content: "";
	height: 200%;
	left: 0;
	position: absolute;
	top: -10px;
	transform: skewY(-10deg) scale(1, 0);
	transform-origin: left top;
	transition: transform 0.2s cubic-bezier(0.45, 0, 0.55, 1);
	width: 100%;
	z-index: -1;
}

.l-header__contact::before {
	background: url("../images/common/icon-arrow.svg") no-repeat center center/contain;
	content: "";
	display: block;
	height: 8px;
	order: 2;
	transition: background-image 0.2s cubic-bezier(0.45, 0, 0.55, 1);
	width: 24px;
}

.l-header__contact:hover {
	color: #e83b30;
	color: var(--color-main);
	opacity: 1;
}

.l-header__contact:hover::after {
	transform: skewY(-10deg) scale(1, 1);
}

.l-header__contact:hover::before {
	background-image: url("../images/common/icon-arrow-red.svg");
}

.l-header__hamburger {
	display: none;
}

.l-header__overlay {
	display: none !important;
}

.l-header__drawer {
	display: none !important;
}

.l-footer__inner {
	align-items: stretch;
	flex-direction: row;
	gap: 120px;
	justify-content: space-between;
	padding-bottom: 60px;
}

.l-footer__info {
	padding: 0 60px 0 0;
}

.l-footer__nav-box {
	align-items: flex-start;
	flex-direction: row;
	gap: 0;
	justify-content: space-between;
	padding: 0;
}

.l-footer__nav-menu {
	flex-shrink: 0;
	gap: 0;
	padding-right: 40px;
}

.l-footer__nav-brands {
	flex: 1;
	padding-left: 40px;
	width: 320px;
}

.p-page-header {
	aspect-ratio: 1440/380;
}

.p-page-header__ttl-en {
	font-size: 62px;
}

.p-page-header__ttl-ja {
	font-size: 18px;
}

.p-breadcrumb__list {
	padding: 16px 0;
}

.p-breadcrumb__item {
	font-size: 13px;
}

.c-sec-heading__en {
	font-size: 42px;
}

.c-sec-heading__ja {
	font-size: 14px;
}

.c-sec-heading--brand .c-sec-heading__en {
	font-size: 32px;
}

.c-page-ttl__en {
	font-size: 64px;
}

.c-page-ttl__ja {
	font-size: 24px;
}

.c-page-ttl--center-lg {
	text-align: center;
}

.c-page-ttl--center-lg .c-page-ttl__ja::after {
	left: 50%;
	transform: translateX(-50%);
}

.c-brand-card__text {
	display: block;
}

.c-brand-card__more {
	font-size: 18px;
	margin-top: 10px;
}

.c-brand-card__more-arrow {
	width: 32px;
}

.c-cta__block {
	padding: 64px 56px;
}

.c-cta__label {
	font-size: 2rem;
}

.c-cta__title {
	font-size: 1.5rem;
}

.p-not-found {
	padding: 120px 0;
}

.p-not-found__inner {
	gap: 40px;
}

.p-not-found__num {
	font-size: 160px;
}

.p-not-found__text {
	font-size: 16px;
}

.lg-up {
	display: block;
}

.lg-down {
	display: none;
}

}

@media screen and (min-width: 1280px) {

.l-container-wide {
	padding: 0 50px;
}

.l-container {
	padding: 0 50px;
}

.l-footer__inner {
	gap: 13%;
}

.c-sec-title__en {
	font-size: 85px;
}

.c-sec-title__ja {
	font-size: 24px;
}

.c-fixed-cta-wrapper {
	align-items: flex-end;
	background: transparent;
	bottom: auto;
	flex-direction: column;
	gap: 8px;
	left: auto;
	right: 0;
	top: calc(50% + 50px);
	transform: translateY(-50%);
	width: auto;
}

.c-fixed-cta-wrapper:not(:has(.c-fixed-cta__item--ec)) {
	height: 100vh;
	justify-content: center;
	pointer-events: none;
	top: 0;
	transform: none;
}

.c-fixed-cta-wrapper:not(:has(.c-fixed-cta__item--ec)) .c-pagetop {
	bottom: 20px;
	margin-right: 0;
	pointer-events: auto;
	position: absolute;
	right: 3px;
}

.c-fixed-cta {
	display: flex;
	flex: initial;
	flex-direction: column;
	height: auto;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s, visibility 0.3s;
	visibility: hidden;
}

.c-fixed-cta:has(.c-fixed-cta__item--ec) {
	height: 69vh;
}

.c-fixed-cta.is-visible {
	opacity: 1;
	pointer-events: auto;
	visibility: visible;
}

.c-fixed-cta__item {
	border: 1px solid #000;
	border-right: none;
	flex: initial;
	height: 23vh;
	padding: 2vh 10px;
}

.c-fixed-cta__item + .c-fixed-cta__item {
	border-left: 1px solid #000;
	border-top: none;
}

.c-fixed-cta__item:hover {
	opacity: 1;
}

.c-fixed-cta__item--contact {
	border-color: #e83b30;
	border-color: var(--color-main);
}

.c-fixed-cta__item--contact:hover {
	background-color: #e83b30;
	background-color: var(--color-main);
	color: #fff;
}

.c-fixed-cta__item--contact:hover .c-cta__icon {
	filter: brightness(0) invert(1);
}

.c-fixed-cta__item--catalog:hover {
	background-color: #333;
	background-color: var(--color-text);
	color: #fff;
}

.c-fixed-cta__item--catalog:hover .c-cta__icon {
	filter: brightness(0) invert(1);
}

.c-fixed-cta__item--ec:hover {
	background-color: #333;
	background-color: var(--color-text);
	color: #fff;
}

.c-fixed-cta__item--ec:hover .c-cta__icon {
	filter: brightness(0) invert(1);
}

.c-fixed-cta__item .c-cta__icon {
	height: 2.5vh;
	margin-bottom: 10px;
}

.c-fixed-cta__text {
	font-size: 1.7vh;
	letter-spacing: 0.125rem;
	line-height: 0;
	margin: 0 auto;
	writing-mode: vertical-rl;
}

.c-fixed-pagetop__text {
	font-size: 8px;
}

.c-pagetop {
	backdrop-filter: blur(3px) saturate(1.2);
	border: 1px solid rgba(0, 0, 0, 0.5);
	border-radius: 100vh;
	cursor: pointer;
	height: 60px;
	margin-right: 3px;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s, visibility 0.3s;
	visibility: hidden;
	width: 60px;
}

.c-pagetop img {
	margin-right: 0;
	width: 18px;
}

.c-pagetop.is-visible {
	opacity: 1;
	pointer-events: auto;
	visibility: visible;
}

.fs-48 {
	font-size: 3rem;
}

.fs-36 {
	font-size: 2.25rem;
}

.fs-24 {
	font-size: 1.5rem;
}

.fs-18 {
	font-size: 1.125rem;
}

.xl-up {
	display: block;
}

.xl-down {
	display: none;
}

}

@media screen and (min-width: 1536px) {

.xxl-up {
	display: block;
}

.xxl-down {
	display: none;
}

}

@media (max-width: 1023px) {

.c-sec-heading--left {
	align-items: flex-start;
	flex-direction: column;
}

}

@media (max-width: 767px) {

.p-page-header--brand .p-page-header__ttl-ja {
	display: none;
}

}


/*# sourceMappingURL=style.css.map */
