@charset "UTF-8";
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15; /* 1 */
	-webkit-text-size-adjust: 100%; /* 2 */
}

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

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

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

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

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

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

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

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

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

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

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

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

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit; /* 1 */
	font-size: 100%; /* 1 */
	line-height: 1.15; /* 1 */
	margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
	text-transform: none;
}

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

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box; /* 1 */
	color: inherit; /* 2 */
	display: table; /* 1 */
	max-width: 100%; /* 1 */
	padding: 0; /* 3 */
	white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
	box-sizing: border-box; /* 1 */
	padding: 0; /* 2 */
}

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

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

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

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

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

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

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

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

/*
primary: 第1
secondary: 第2
tertiary: 第3
quaternary: 第4
quinary: 第5
senary: 第6
septenary: 第7
octonary: 第8
nonary: 第9
denary: 第10
*/
/*
a要素並列指定
@at-root a{}

@include mq(bp){}
*/
/* =======================================================================
reset
======================================================================= */
img {
	vertical-align: top;
	font-size: 0;
	line-height: 0;
	max-width: 100%;
	height: auto;
}

ul, ol, li, dl, dt, dd, h1, h2, h3, h4, h5, h6, p, figure {
	margin: 0;
	padding: 0;
}

h1, h2, h3, h4, h5, h6 {
	font-weight: 500;
	font-size: 100%;
}

ol, ul {
	list-style: none;
}

i {
	font-style: normal;
}

label {
	cursor: pointer;
}

table {
	border-collapse: collapse;
}

th, td {
	vertical-align: middle;
}

th {
	font-weight: normal;
	text-align: left;
}

em {
	font-weight: bold;
	font-style: normal;
}

figcaption {
	line-height: normal;
}

blockquote {
	margin: 0;
}

button,
input[type=reset],
input[type=submit] {
	display: inline-block;
	appearance: none;
	-webkit-appearance: none;
	border: 0;
	background: none;
	outline: none;
	vertical-align: top;
	margin: 0;
	padding: 0;
}

hr {
	margin: 0;
}

/* dialog */
dialog {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	inset: unset;
	display: block;
	max-width: unset;
	max-height: unset;
	-webkit-appearance: none;
	appearance: none;
}

dialog::backdrop {
	background: transparent;
}

* {
	box-sizing: border-box;
}
*:before, *:after {
	box-sizing: border-box;
}

@media (max-width: 767px) {
	img {
		width: 100%;
		max-width: inherit;
	}
}
/* =======================================================================
root
======================================================================= */
:root {
	interpolate-size: allow-keywords;
}
@media (min-width: 1025px) {
	:root {
		--header_height: 140px;
		--header_height_scroll: 100px;
		--siteMargin_2xs: 16px;
		--siteMargin_xs: 24px;
		--siteMargin_s: 36px;
		--siteMargin: 48px;
		--siteMargin_m: 64px;
		--siteMargin_l: 96px;
		--u_margin_xs: 10px;
		--u_margin_s: 20px;
		--u_margin_m: 30px;
		--u_margin_l: 40px;
		--u_margin_xl: 60px;
		--u_margin_2xl: 80px;
		--u_margin_3xl: 100px;
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	:root {
		--header_height: 100px;
		--siteMargin_2xs: 16px;
		--siteMargin_xs: 20px;
		--siteMargin_s: 30px;
		--siteMargin: 40px;
		--siteMargin_m: 60px;
		--siteMargin_l: 80px;
		--u_margin_xs: 10px;
		--u_margin_s: 20px;
		--u_margin_m: 30px;
		--u_margin_l: 40px;
		--u_margin_xl: 60px;
		--u_margin_2xl: 80px;
		--u_margin_3xl: 100px;
	}
}
@media (max-width: 767px) {
	:root {
		--header_height: 60px;
		--siteMargin_2xs: 8px;
		--siteMargin_xs: 12px;
		--siteMargin_s: 18px;
		--siteMargin: 24px;
		--siteMargin_m: 32px;
		--siteMargin_l: 48px;
		--u_margin_xs: 10px;
		--u_margin_s: 15px;
		--u_margin_m: 20px;
		--u_margin_l: 30px;
		--u_margin_xl: 40px;
		--u_margin_2xl: 60px;
		--u_margin_3xl: 80px;
	}
}
:root {
	--fontsize: 16;
	--font_base: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	--font_en: "Jost", sans-serif;
	--font_sans: "Noto Sans JP", sans-serif;
	--lh: 1.875;
	--lh_s: 1.5;
	--lh_l: 2.25;
	--width_primary: 1440px;
	--width_secondary: 1100px;
	--width_tertiary: 980px;
	--width_quaternary: 880px;
	--color_primary: #2d2d2d;
	--color_secondary: #e91925;
	--color_tertiary: #2c79d8;
	--color_quaternary: #052795;
	--color_alert: var(--color_secondary);
	--color_lightest: #ffffff;
	--color_line: #d4d4d4;
	--color_dark: #717171;
	--color_darker: #333333;
	--color_darkest: #000000;
	--color_bg_light: #eaeaea;
	--color_bg_lighter: #f2f2f2;
	--color_bg_dark: var(--color_primary);
	--transition-time: 0.3s;
	--transition-ease: cubic-bezier(0.25, 0.1, 0.25, 1);
}

/* =======================================================================
main
======================================================================= */
html {
	font-size: calc(var(--fontsize) / 16 * 100%);
}

body {
	font-family: var(--font_base);
	font-weight: 500;
	font-size: calc(16 / (var(--fontsize)) * 1rem);
	font-optical-sizing: auto;
	font-style: normal;
	line-height: 1.231;
	overflow-wrap: anywhere;
	word-break: normal;
	line-break: strict;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	color: var(--color_primary);
}

.l-wrapper {
	position: relative;
	margin-left: auto;
	margin-right: auto;
	overflow: hidden;
	padding-top: var(--header_height);
}
@media (min-width: 1025px) {
	.l-wrapper.is-scroll {
		padding-top: var(--header_height_scroll);
	}
}

.l-inner {
	margin-inline: auto;
	box-sizing: content-box;
	padding-left: var(--siteMargin);
	padding-right: var(--siteMargin);
	max-width: var(--width_secondary);
}
.l-inner--ws {
	max-width: var(--width_tertiary);
}
.l-inner--wxs {
	max-width: var(--width_quaternary);
}
.l-inner--wl {
	max-width: var(--width_primary);
}

.l-page__item {
	padding-block: 80px;
}
@media (min-width: 768px) and (max-width: 1024px) {
	.l-page__item {
		padding-block: 60px;
	}
}
@media (max-width: 767px) {
	.l-page__item {
		padding-block: 40px;
	}
}
.l-page__item:nth-last-of-type(1) {
	padding-block-end: 160px;
}
@media (min-width: 768px) and (max-width: 1024px) {
	.l-page__item:nth-last-of-type(1) {
		padding-block-end: 120px;
	}
}
@media (max-width: 767px) {
	.l-page__item:nth-last-of-type(1) {
		padding-block-end: 80px;
	}
}

/* =======================================================================
header
======================================================================= */
.l-header {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	background-color: var(--color_lightest);
	z-index: 1000;
}

body:has(#wpadminbar) .l-header {
	top: 32px;
}
@media screen and (max-width: 782px) {
	body:has(#wpadminbar) .l-header {
		top: 46px;
	}
}

@media screen and (max-width: 600px) {
	#wpadminbar {
		position: fixed !important;
	}
}

.l-header-col {
	display: grid;
	grid-template-columns: auto 1fr auto;
	justify-content: space-between;
	gap: 40px;
	padding: 10px 10px 10px 40px;
	min-height: var(--header_height);
	transition: var(--transition-time) var(--transition-ease);
}
@media (min-width: 1025px) {
	.l-wrapper.is-scroll .l-header-col {
		min-height: var(--header_height_scroll);
	}
}
@media (max-width: 1024px) {
	.l-header-col {
		grid-template-columns: auto 1fr;
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	.l-header-col {
		gap: 20px;
		padding: 0 20px 0 40px;
	}
}
@media (max-width: 767px) {
	.l-header-col {
		gap: 10px;
		padding: 0 0 0 10px;
	}
}
.l-header-col__main {
	display: flex;
	align-items: center;
}
.l-header-col__nav {
	display: grid;
	justify-content: end;
}
@media (max-width: 1024px) {
	.l-header-col__nav {
		position: fixed;
		display: block;
		right: 0;
		top: 0;
		height: 100vh;
		width: 100%;
		z-index: 1;
		background-color: var(--color_primary);
		overflow: auto;
		pointer-events: none;
		translate: 100% 0;
		opacity: 0;
		filter: blur(4px);
		transition: var(--transition-time) var(--transition-ease);
		-ms-overflow-style: none;
		scrollbar-width: none;
	}
	.l-header-col__nav::-webkit-scrollbar {
		display: none;
	}
	.l-header-col__nav.is-on {
		pointer-events: auto;
		opacity: 1;
		translate: 0 0;
		filter: blur(0);
	}
}
.l-header-col__sub {
	display: grid;
}
@media (min-width: 768px) and (max-width: 1024px) {
	.l-header-col__sub {
		gap: 20px;
	}
}
@media (max-width: 767px) {
	.l-header-col__sub {
		gap: 10px;
	}
}
@media (max-width: 1024px) {
	.l-header-col__sub {
		grid-auto-flow: column;
		align-items: center;
		justify-content: end;
	}
}

.c-header-logo {
	width: 174px;
	transition: var(--transition-time) var(--transition-ease);
}
@media (min-width: 1280px) {
	.c-header-logo {
		width: 232px;
	}
}
@media (max-width: 767px) {
	.c-header-logo {
		width: 30.2083333333vw;
		max-width: 174px;
	}
}
@media (max-width: 1024px) {
	.c-header-logo {
		position: relative;
		z-index: 2;
	}
}
@media (hover: hover) and (pointer: fine) {
	.c-header-logo a {
		transition: opacity 0.3s;
	}
	.c-header-logo a:hover {
		opacity: 0.7;
		text-decoration: none;
	}
}

.c-header-nav {
	display: grid;
	grid-template-columns: 1fr auto;
	grid-template-rows: 1fr auto;
	gap: 10px 40px;
	transition: var(--transition-time) var(--transition-ease);
}
@media (min-width: 768px) and (max-width: 1024px) {
	.c-header-nav {
		gap: 40px;
		padding: calc(var(--header_height) + 40px) 40px 160px;
	}
}
@media (max-width: 767px) {
	.c-header-nav {
		gap: 30px;
		padding: calc(var(--header_height) + 30px) 30px 160px;
	}
}
@media (max-width: 1024px) {
	.c-header-nav {
		grid-template-columns: auto;
		grid-template-rows: auto;
	}
}

.c-header-navGlobal {
	grid-column: 1/3;
	grid-row: 2/3;
}
@media (max-width: 1024px) {
	.c-header-navGlobal {
		grid-column: auto;
		grid-row: auto;
	}
}

.c-header-navSub {
	grid-column: 2/3;
	grid-row: 1/2;
}
@media (max-width: 1024px) {
	.c-header-navSub {
		grid-column: auto;
		grid-row: auto;
	}
}

.c-header-sns {
	grid-column: 1/2;
	grid-row: 1/2;
}
@media (max-width: 1024px) {
	.c-header-sns {
		grid-column: auto;
		grid-row: auto;
	}
}

.c-header-navGlobal {
	display: flex;
	align-items: center;
	justify-content: end;
	gap: 1.25em;
	min-height: 60px;
	transition: var(--transition-time) var(--transition-ease);
}
@media (min-width: 1025px) {
	.l-wrapper.is-scroll .c-header-navGlobal {
		min-height: 40px;
	}
}
@media (min-width: 1280px) {
	.c-header-navGlobal {
		gap: 2em;
	}
}
@media (max-width: 1024px) {
	.c-header-navGlobal {
		display: grid;
		justify-content: unset;
		gap: 2px;
		min-height: unset;
	}
}
.c-header-navGlobal__item {
	font-size: calc(15 / (var(--fontsize)) * 1rem);
	font-weight: 700;
}
@media (min-width: 1280px) {
	.c-header-navGlobal__item {
		font-size: calc(18 / (var(--fontsize)) * 1rem);
	}
}
@media (max-width: 1024px) {
	.c-header-navGlobal__item {
		font-size: calc(16 / (var(--fontsize)) * 1rem);
	}
}
.c-header-navGlobal__item a {
	transition: var(--transition-time) var(--transition-ease);
	background-image: linear-gradient(180deg, var(--color_secondary) 50%, var(--color_primary) 50%);
	background-size: 100% 200%;
	background-position: 0 100%;
	-webkit-background-clip: text;
	background-clip: text;
}
@media (max-width: 1024px) {
	.c-header-navGlobal__item a {
		position: relative;
		display: flex;
		align-items: center;
		min-height: 60px;
		border-radius: 4px;
		padding: 8px 24px;
		background-color: var(--color_lightest);
		background-image: none;
		-webkit-background-clip: unset;
		background-clip: unset;
		background-size: auto;
	}
	.c-header-navGlobal__item a::after {
		content: "";
		width: 16px;
		height: 16px;
		position: absolute;
		right: 20px;
		top: 50%;
		translate: 0 -50%;
		background-size: 100%;
		background-image: url("../images/common/icon/arrow.svg");
	}
}
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
	.c-header-navGlobal__item a {
		color: transparent;
	}
}
.c-header-navGlobal__item a:hover {
	text-decoration: none;
}
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
	.c-header-navGlobal__item a:hover {
		background-position: 0 0;
	}
}

.c-header-navSub {
	display: flex;
	align-items: center;
	justify-content: end;
	gap: 1.5em;
}
@media (min-width: 1280px) {
	.c-header-navSub {
		gap: 3em;
	}
}
@media (max-width: 1024px) {
	.c-header-navSub {
		display: grid;
		justify-content: start;
		gap: 1.5em;
	}
}
.c-header-navSub__item {
	font-size: calc(14 / (var(--fontsize)) * 1rem);
}
@media (min-width: 1280px) {
	.c-header-navSub__item {
		font-size: calc(16 / (var(--fontsize)) * 1rem);
	}
}
@media (max-width: 1024px) {
	.c-header-navSub__item {
		position: relative;
		display: flex;
		align-items: center;
		gap: 8px;
		font-size: calc(16 / (var(--fontsize)) * 1rem);
		color: var(--color_lightest);
		font-weight: 700;
	}
	.c-header-navSub__item::before {
		content: "";
		width: 8px;
		height: 8px;
		border-radius: 100vmax;
		background-color: var(--color_lightest);
	}
}
.c-header-navSub__item a {
	transition: var(--transition-time) var(--transition-ease);
}
@media (max-width: 1024px) {
	.c-header-navSub__item a {
		color: var(--color_lightest);
	}
}
.c-header-navSub__item a:hover {
	text-decoration: none;
}
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
	.c-header-navSub__item a:hover {
		color: var(--color_secondary);
	}
}

.c-header-navContact {
	display: none;
}
@media (max-width: 1024px) {
	.c-header-navContact {
		display: flex;
		align-items: center;
		justify-content: center;
		background-color: var(--color_secondary);
		border-radius: 4px;
		text-align: center;
		height: 60px;
		font-size: calc(16 / (var(--fontsize)) * 1rem);
		font-weight: 700;
		color: var(--color_lightest);
	}
	.c-header-navContact:hover {
		text-decoration: none;
	}
}

.c-header-sns {
	display: flex;
	align-items: center;
	justify-content: end;
	gap: 20px;
}
@media (max-width: 1024px) {
	.c-header-sns {
		justify-content: center;
	}
}
.c-header-sns__item {
	width: 24px;
	height: 24px;
}
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
	.c-header-sns__item svg path {
		transition: fill 0.3s;
	}
	.c-header-sns__item a:hover svg path {
		fill: var(--color_secondary);
	}
}
@media (max-width: 1024px) {
	.c-header-sns__item {
		width: 32px;
		height: 32px;
	}
	.c-header-sns__item svg path {
		fill: var(--color_lightest);
	}
}

.c-header-logoBS {
	align-self: center;
	width: 100%;
	max-width: 148px;
	margin-inline: auto;
	transition: var(--transition-time) var(--transition-ease);
}
@media (min-width: 1025px) {
	.l-wrapper.is-scroll .c-header-logoBS {
		width: 120px;
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	.c-header-logoBS {
		width: 148px;
	}
}
@media (max-width: 767px) {
	.c-header-logoBS {
		width: 19.2708333333vw;
		max-width: 108px;
	}
}

.c-header-contact {
	align-self: end;
	min-width: 147px;
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 8px 16px;
	background-color: var(--color_secondary);
	border-radius: 4px;
	color: var(--color_lightest);
	font-weight: 700;
	font-size: calc(16 / (var(--fontsize)) * 1rem);
	transition: var(--transition-time) var(--transition-ease);
}
@media (min-width: 1025px) {
	.l-wrapper.is-scroll .c-header-contact {
		height: 40px;
	}
}
@media (min-width: 1280px) {
	.c-header-contact {
		min-width: 196px;
	}
}
@media (max-width: 1024px) {
	.c-header-contact {
		align-self: center;
	}
}
@media (max-width: 767px) {
	.c-header-contact {
		width: fit-content;
		min-width: unset;
		max-width: 90px;
		height: 40px;
		padding-inline: 8px;
		font-size: calc(10 / (var(--fontsize)) * 1rem);
	}
}
.c-header-contact:hover {
	text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
	.c-header-contact:hover {
		background-color: var(--color_bg_dark);
	}
}

.c-header-menu {
	position: relative;
	width: 60px;
	height: 60px;
	background-color: var(--color_primary);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
}
@media (min-width: 1025px) {
	.c-header-menu {
		display: none;
	}
}
.c-header-menu .line {
	position: absolute;
	width: 60%;
	height: 1px;
	left: 0;
	right: 0;
	margin: auto;
	background-color: var(--color_lightest);
	transition: var(--transition-time) var(--transition-ease);
}
.c-header-menu .line:nth-of-type(1) {
	top: 50%;
	margin-top: -15%;
}
.c-header-menu .line:nth-of-type(2) {
	top: 50%;
}
.c-header-menu .line:nth-of-type(3) {
	bottom: 50%;
	margin-bottom: calc(-15% - 1px);
}
.c-header-menu.is-on .line:nth-of-type(1) {
	translate: 0 9px;
	rotate: -210deg;
}
.c-header-menu.is-on .line:nth-of-type(2) {
	width: 0;
	rotate: 180deg;
	opacity: 0;
}
.c-header-menu.is-on .line:nth-of-type(3) {
	translate: 0 -9px;
	rotate: 210deg;
}

#btn07.active span:nth-of-type(1) {
	animation: active-btn07-bar01 0.75s forwards;
}

#btn07.active span:nth-of-type(2) {
	opacity: 0;
}

#btn07.active span:nth-of-type(3) {
	animation: active-btn07-bar03 0.75s forwards;
}

/* =======================================================================
common contact
======================================================================= */
.c-contact {
	background-image: url("../images/common/contact_bg.jpg");
	background-size: cover;
	background-position: 0 50%;
	background-color: var(--color__primary);
}
@media (max-width: 767px) {
	.c-contact {
		background-position: 40% 50%;
	}
}
.c-contact__inner {
	padding-block: 40px;
	padding-inline: var(--siteMargin);
}

.c-contact-col {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--siteMargin);
}
@media (max-width: 767px) {
	.c-contact-col {
		grid-template-columns: auto;
	}
}

.c-contact-title {
	color: var(--color_lightest);
	font-weight: 700;
	font-size: calc(20 / (var(--fontsize)) * 1rem);
	line-height: var(--lh_s);
}
@media (max-width: 767px) {
	.c-contact-title {
		text-align: center;
	}
}

.c-contact-block {
	display: grid;
	gap: 30px;
}

.c-contact-block-item {
	display: grid;
	gap: 16px;
}

.c-contact-block-item-title {
	position: relative;
	padding-left: 24px;
	font-weight: 700;
	color: var(--color_secondary);
	font-size: calc(16 / (var(--fontsize)) * 1rem);
}
.c-contact-block-item-title::before {
	content: "";
	width: 12px;
	height: 12px;
	background-color: var(--color_secondary);
	border-radius: 100vmax;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin-block: auto;
}

.c-contact-block-item-content {
	display: grid;
	gap: 16px;
}

.c-contact-tel-num {
	color: var(--color_lightest);
	font-weight: 700;
	font-size: calc(25 / (var(--fontsize)) * 1rem);
}

a[href^="tel:"].c-contact-tel-num {
	cursor: default;
}
a[href^="tel:"].c-contact-tel-num:hover {
	text-decoration: none;
}
@media (max-width: 767px) {
	a[href^="tel:"].c-contact-tel-num {
		cursor: pointer;
		background-color: var(--color_secondary);
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 50px;
		border-radius: 4px;
		font-size: calc(16 / (var(--fontsize)) * 1rem);
	}
}

.c-contact-tel-detail {
	border-left: 4px solid var(--color_secondary);
	padding-block: 4px;
	padding-inline-start: 16px;
}

.c-contact-tel-detail {
	display: grid;
	grid-template-columns: max-content 1fr;
	border-left: 4px solid var(--color_secondary);
	padding-left: 1em;
	line-height: var(--lh_s);
	font-weight: 700;
	font-size: calc(16 / (var(--fontsize)) * 1rem);
	color: var(--color_lightest);
}
@media (max-width: 767px) {
	.c-contact-tel-detail {
		border-left-width: 2px;
		font-size: calc(12 / (var(--fontsize)) * 1rem);
	}
}
.c-contact-tel-detail__title {
	white-space: nowrap;
}
.c-contact-tel-detail__text {
	padding-left: 1em;
	text-indent: -1em;
}
.c-contact-tel-detail__text::before {
	content: "：";
}

.c-contact-btn {
	max-width: 320px;
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 8px 16px;
	background-color: var(--color_secondary);
	border-radius: 4px;
	color: var(--color_lightest);
	font-weight: 700;
	font-size: calc(16 / (var(--fontsize)) * 1rem);
	transition: var(--transition-time) var(--transition-ease);
}
@media (max-width: 767px) {
	.c-contact-btn {
		width: 100%;
		max-width: unset;
		height: 50px;
		font-size: calc(14 / (var(--fontsize)) * 1rem);
	}
}
.c-contact-btn:hover {
	text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
	.c-contact-btn:hover {
		background-color: var(--color_lightest);
		color: var(--color_primary);
	}
}

/* =======================================================================
footer
======================================================================= */
.l-footer {
	background-color: var(--color_bg_light);
}
.l-footer__inner {
	padding-block: 40px;
	padding-inline: var(--siteMargin);
}
@media (max-width: 767px) {
	.l-footer__inner {
		padding-block: 30px;
	}
}

.l-footer-col {
	display: grid;
	gap: var(--siteMargin);
}
@media (min-width: 1025px) {
	.l-footer-col {
		justify-content: space-between;
		grid-auto-flow: column;
	}
}
@media (max-width: 767px) {
	.l-footer-col {
		gap: 30px;
	}
}
.l-footer-col__item {
	display: grid;
}
.l-footer-col__item--logo {
	align-self: start;
}
@media (min-width: 1025px) {
	.l-footer-col__item--logo {
		grid-column: 1/2;
		grid-row: 1/2;
	}
}
.l-footer-col__item--nav {
	justify-content: end;
	gap: 20px;
}
@media (min-width: 1025px) {
	.l-footer-col__item--nav {
		grid-column: 2/3;
		grid-row: 1/2;
	}
}
@media (max-width: 767px) {
	.l-footer-col__item--nav {
		gap: 30px;
		justify-content: center;
	}
}
.l-footer-col__item--foot {
	align-self: end;
	justify-content: end;
	gap: 20px;
}
@media (min-width: 1025px) {
	.l-footer-col__item--foot {
		grid-column: 2/3;
		grid-row: 2/3;
	}
}
@media (max-width: 767px) {
	.l-footer-col__item--foot {
		justify-content: center;
	}
}

.c-footer-logoGroup {
	display: flex;
	align-items: center;
	gap: 12px;
	transition: var(--transition-time) var(--transition-ease);
}
@media (max-width: 767px) {
	.c-footer-logoGroup {
		flex-direction: column;
	}
}
.c-footer-logoGroup:hover {
	text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
	.c-footer-logoGroup:hover {
		opacity: 0.7;
	}
}

.c-footer-logo {
	width: 100px;
}
@media (min-width: 1280px) {
	.c-footer-logo {
		width: 124px;
	}
}
@media (max-width: 767px) {
	.c-footer-logo {
		width: cacl(35.6770833333vw);
		max-width: 138px;
		justify-self: center;
	}
}

.c-footer-logoExceed {
	display: grid;
	justify-content: center;
	text-align: center;
	gap: 0.25em;
}
.c-footer-logoExceed .ja {
	display: flex;
	align-items: baseline;
	gap: 0.15em;
	font-weight: 700;
	font-family: var(--font_sans);
	text-box-trim: trim-both;
	text-box-edge: cap alphabetic;
	text-box-trim: trim-both;
	text-box-edge: cap alphabetic;
	font-size: calc(20 / (var(--fontsize)) * 1rem);
}
@media (min-width: 1280px) {
	.c-footer-logoExceed .ja {
		font-size: calc(24 / (var(--fontsize)) * 1rem);
	}
}
.c-footer-logoExceed .ja .type {
	font-size: calc(14 / (var(--fontsize)) * 1rem);
}
@media (min-width: 1280px) {
	.c-footer-logoExceed .ja .type {
		font-size: calc(16 / (var(--fontsize)) * 1rem);
	}
}
.c-footer-logoExceed .en {
	font-size: calc(12 / (var(--fontsize)) * 1rem);
	font-family: var(--font_en);
	font-style: italic;
	font-weight: 500;
	letter-spacing: 0.01em;
	text-box-trim: trim-both;
	text-box-edge: cap alphabetic;
	font-style: normal;
}
@media (max-width: 767px) {
	.c-footer-logoExceed .en {
		font-size: calc(10 / (var(--fontsize)) * 1rem);
	}
}

.c-footer-nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: end;
	gap: 0.5em 1.5em;
}
@media (min-width: 1280px) {
	.c-footer-nav {
		gap: 0.5em 2em;
	}
}
@media (max-width: 767px) {
	.c-footer-nav {
		flex-wrap: wrap;
		justify-content: center;
	}
}
.c-footer-nav__item {
	font-size: calc(16 / (var(--fontsize)) * 1rem);
	font-weight: 700;
}
@media (min-width: 1280px) {
	.c-footer-nav__item {
		font-size: calc(18 / (var(--fontsize)) * 1rem);
	}
}
@media (max-width: 767px) {
	.c-footer-nav__item {
		font-size: calc(13 / (var(--fontsize)) * 1rem);
	}
}
.c-footer-nav__item a {
	transition: var(--transition-time) var(--transition-ease);
}
.c-footer-nav__item a:hover {
	text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
	.c-footer-nav__item a:hover {
		color: var(--color_secondary);
	}
}

.c-footer-navSub {
	display: flex;
	flex-wrap: wrap;
	justify-content: end;
	gap: 0.5em 1em;
}
@media (min-width: 1280px) {
	.c-footer-navSub {
		gap: 0 1.5em;
	}
}
@media (max-width: 767px) {
	.c-footer-navSub {
		justify-content: center;
	}
}
.c-footer-navSub__item {
	font-size: calc(12 / (var(--fontsize)) * 1rem);
}
@media (min-width: 1280px) {
	.c-footer-navSub__item {
		font-size: calc(14 / (var(--fontsize)) * 1rem);
	}
}
@media (max-width: 767px) {
	.c-footer-navSub__item {
		font-size: calc(11 / (var(--fontsize)) * 1rem);
	}
}
.c-footer-navSub__item a {
	transition: var(--transition-time) var(--transition-ease);
}
.c-footer-navSub__item a:hover {
	text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
	.c-footer-navSub__item a:hover {
		color: var(--color_secondary);
	}
}

.c-footer-sns {
	display: flex;
	justify-content: end;
	gap: 24px;
}
@media (max-width: 767px) {
	.c-footer-sns {
		justify-content: center;
	}
}
.c-footer-sns__item {
	width: 36px;
}
@media (hover: hover) and (pointer: fine) {
	.c-footer-sns__item svg path {
		transition: var(--transition-time) var(--transition-ease);
	}
	.c-footer-sns__item a:hover svg path {
		fill: var(--color_secondary);
	}
}

.c-footer-logoBS {
	justify-self: end;
	width: 188px;
}
@media (max-width: 767px) {
	.c-footer-logoBS {
		width: cacl(35.6770833333vw);
		max-width: 138px;
		justify-self: center;
	}
}

.c-footer-cr {
	text-align: right;
	font-size: calc(13 / (var(--fontsize)) * 1rem);
}
@media (max-width: 767px) {
	.c-footer-cr {
		text-align: center;
		font-size: calc(10 / (var(--fontsize)) * 1rem);
	}
}

.u-align-c {
	text-align: center;
}
@media (max-width: 767px) {
	.u-align-c--pc {
		text-align: unset;
	}
}

.u-align-l {
	text-align: left;
}

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

.u-valign-t {
	vertical-align: top;
}

.u-valign-m {
	vertical-align: middle;
}

.u-valign-b {
	vertical-align: bottom;
}

.u-bg-primary {
	background-color: var(--color_bg_light);
}

.u-bg-secondary {
	background-color: var(--color_bg_dark);
}

.u-bg-tertiary {
	background-color: var(--color_bg_lighter);
}

.u-color-primary {
	color: var(--color_primary);
}
.u-color-primary a {
	color: var(--color_primary);
}

.u-color-secondary {
	color: var(--color_secondary);
}
.u-color-secondary a {
	color: var(--color_secondary);
}

.u-color-tertiary {
	color: var(--color_tertiary);
}
.u-color-tertiary a {
	color: var(--color_tertiary);
}

.u-color-quaternary {
	color: var(--color_quaternary);
}
.u-color-quaternary a {
	color: var(--color_quaternary);
}

.u-color-lightest {
	color: var(--color_lightest);
}
.u-color-lightest a {
	color: var(--color_lightest);
}

.u-color-alert {
	color: var(--color_alert);
}
.u-color-alert a {
	color: var(--color_alert);
}

@media (min-width: 768px) {
	.u-sp-only {
		display: none;
	}
}

@media (max-width: 767px) {
	.u-pc-only {
		display: none;
	}
}

.u-font-base {
	font-family: var(--font_base);
	font-weight: 500;
}

.u-font-en {
	font-family: var(--font_en);
	font-style: italic;
	font-weight: 500;
	letter-spacing: 0.01em;
	text-box-trim: trim-both;
	text-box-edge: cap alphabetic;
}

.u-font-sans {
	font-family: var(--font_sans);
	text-box-trim: trim-both;
	text-box-edge: cap alphabetic;
}

a {
	color: var(--color_primary);
	outline: none;
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
}

.u-uline {
	text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
	.u-uline:hover {
		text-decoration: none;
	}
}

@media (hover: hover) and (pointer: fine) {
	.u-hline {
		text-decoration: none;
	}
}
.u-hline:hover {
	text-decoration: underline;
}

@media (hover: hover) and (pointer: fine) {
	.u-op {
		display: block;
	}
}
@media (hover: hover) and (pointer: fine) and (hover: hover) and (pointer: fine) {
	.u-op {
		transition: opacity 0.3s;
	}
	.u-op:hover {
		opacity: 0.7;
		text-decoration: none;
	}
}

.u-list-dot > * {
	position: relative;
	padding-left: 1em;
}
.u-list-dot > *:before {
	content: "・";
	position: absolute;
	left: 0;
	top: 0;
}

.u-list-circle > * {
	position: relative;
	padding-left: 1.25em;
}
.u-list-circle > *::before {
	content: "●";
	position: absolute;
	left: 0;
	top: 0;
	color: var(--color_secondary);
	font-size: 0.75em;
	translate: 0 0.3em;
}

.u-list-square > * {
	position: relative;
}
.u-list-square > *:before {
	content: "■";
	position: absolute;
	left: 0;
	top: 0;
}

.u-list-decimal {
	list-style: decimal;
	margin-left: 1.5em;
}
.u-list-ar > * {
	position: relative;
	padding-left: 20px;
}
.u-list-ar > *:before {
	content: "";
	width: 10px;
	height: 10px;
	border-top: solid 2px var(--color_secondary);
	border-right: solid 2px var(--color_secondary);
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
}

/* =======================================================================
margin
padding
======================================================================= */
.u-mt-xs {
	margin-top: var(--u_margin_xs);
}

.u-mt-s {
	margin-top: var(--u_margin_s);
}

.u-mt-m {
	margin-top: var(--u_margin_m);
}

.u-mt-l {
	margin-top: var(--u_margin_l);
}

.u-mt-xl {
	margin-top: var(--u_margin_xl);
}

.u-mt-2xl {
	margin-top: var(--u_margin_2xl);
}

.u-mb-xs {
	margin-bottom: var(--u_margin_xs);
}

.u-mb-s {
	margin-bottom: var(--u_margin_s);
}

.u-mb-m {
	margin-bottom: var(--u_margin_m);
}

.u-mb-l {
	margin-bottom: var(--u_margin_l);
}

.u-mb-xl {
	margin-bottom: var(--u_margin_xl);
}

.u-mb-2xl {
	margin-bottom: var(--u_margin_2xl);
}

.u-m-xs {
	margin: var(--u_margin_xs);
}

.u-m-s {
	margin: var(--u_margin_s);
}

.u-m-m {
	margin: var(--u_margin_m);
}

.u-m-l {
	margin: var(--u_margin_l);
}

.u-m-xl {
	margin: var(--u_margin_xl);
}

.u-m-2xl {
	margin: var(--u_margin_2xl);
}

.u-pt-xs {
	padding-top: var(--u_margin_xs);
}

.u-pt-s {
	padding-top: var(--u_margin_s);
}

.u-pt-m {
	padding-top: var(--u_margin_m);
}

.u-pt-l {
	padding-top: var(--u_margin_l);
}

.u-pt-xl {
	padding-top: var(--u_margin_xl);
}

.u-pt-2xl {
	padding-top: var(--u_margin_2xl);
}

.u-pb-xs {
	padding-bottom: var(--u_margin_xs);
}

.u-pb-s {
	padding-bottom: var(--u_margin_s);
}

.u-pb-m {
	padding-bottom: var(--u_margin_m);
}

.u-pb-l {
	padding-bottom: var(--u_margin_l);
}

.u-pb-xl {
	padding-bottom: var(--u_margin_xl);
}

.u-pb-2xl {
	padding-bottom: var(--u_margin_2xl);
}

.u-p-xs {
	padding: var(--u_margin_xs);
}

.u-p-s {
	padding: var(--u_margin_s);
}

.u-p-m {
	padding: var(--u_margin_m);
}

.u-p-l {
	padding: var(--u_margin_l);
}

.u-p-xl {
	padding: var(--u_margin_xl);
}

.u-p-2xl {
	padding: var(--u_margin_2xl);
}

.u-fw-n {
	font-weight: 500;
}

.u-fw-b {
	font-weight: 700;
}

.u-fs-default {
	font-size: calc(16 / (var(--fontsize)) * 1rem);
	line-height: var(--lh);
}

.u-fs-defaultL {
	font-size: calc(18 / (var(--fontsize)) * 1rem);
	line-height: var(--lh);
}

.u-fs-10 {
	font-size: calc(10 / (var(--fontsize)) * 1rem);
	line-height: var(--lh);
}

.u-fs-11 {
	font-size: calc(11 / (var(--fontsize)) * 1rem);
	line-height: var(--lh);
}

.u-fs-12 {
	font-size: calc(12 / (var(--fontsize)) * 1rem);
	line-height: var(--lh);
}

.u-fs-14 {
	font-size: calc(14 / (var(--fontsize)) * 1rem);
	line-height: var(--lh);
}

.u-fs-16 {
	font-size: calc(16 / (var(--fontsize)) * 1rem);
	line-height: var(--lh);
}

.u-fs-18 {
	font-size: calc(18 / (var(--fontsize)) * 1rem);
	line-height: var(--lh_s);
}

.u-fs-20 {
	font-size: calc(20 / (var(--fontsize)) * 1rem);
	line-height: var(--lh_s);
}

.u-fs-24 {
	font-size: calc(24 / (var(--fontsize)) * 1rem);
	line-height: var(--lh_s);
}

.u-fs-26 {
	font-size: calc(26 / (var(--fontsize)) * 1rem);
	line-height: var(--lh_s);
}

.u-fs-30 {
	font-size: calc(30 / (var(--fontsize)) * 1rem);
	line-height: var(--lh_s);
}

.u-fs-32 {
	font-size: calc(32 / (var(--fontsize)) * 1rem);
	line-height: var(--lh_s);
}

@media (max-width: 767px) {
	.u-fs-default {
		font-size: calc(13 / (var(--fontsize)) * 1rem);
		line-height: var(--lh);
	}
	.u-fs-defaultL {
		font-size: calc(14 / (var(--fontsize)) * 1rem);
		line-height: var(--lh);
	}
	.u-fs-10 {
		font-size: calc(10 / (var(--fontsize)) * 1rem);
		line-height: var(--lh);
	}
	.u-fs-11 {
		font-size: calc(10 / (var(--fontsize)) * 1rem);
		line-height: var(--lh);
	}
	.u-fs-12 {
		font-size: calc(11 / (var(--fontsize)) * 1rem);
		line-height: var(--lh);
	}
	.u-fs-14 {
		font-size: calc(12 / (var(--fontsize)) * 1rem);
		line-height: var(--lh);
	}
	.u-fs-16 {
		font-size: calc(13 / (var(--fontsize)) * 1rem);
		line-height: var(--lh);
	}
	.u-fs-18 {
		font-size: calc(14 / (var(--fontsize)) * 1rem);
		line-height: var(--lh_s);
	}
	.u-fs-20 {
		font-size: calc(16 / (var(--fontsize)) * 1rem);
		line-height: var(--lh_s);
	}
	.u-fs-24 {
		font-size: calc(18 / (var(--fontsize)) * 1rem);
		line-height: var(--lh_s);
	}
	.u-fs-26 {
		font-size: calc(20 / (var(--fontsize)) * 1rem);
		line-height: var(--lh_s);
	}
	.u-fs-30 {
		font-size: calc(20 / (var(--fontsize)) * 1rem);
		line-height: var(--lh_s);
	}
	.u-fs-32 {
		font-size: calc(20 / (var(--fontsize)) * 1rem);
		line-height: var(--lh_s);
	}
}
.u-lh-l {
	line-height: var(--lh_l);
}

.u-lh-m {
	line-height: var(--lh);
}

.u-lh-s {
	line-height: var(--lh_s);
}

.u-ls-m {
	letter-spacing: 0.1em;
}

.u-ls-l {
	letter-spacing: 0.2em;
}

.u-ti-1em {
	text-indent: 1em;
}

.c-breadcrumb-wrap {
	position: relative;
	margin-left: auto;
	margin-bottom: 20px;
	z-index: 1;
}

.c-breadcrumb {
	display: flex;
	justify-content: end;
	overflow: hidden;
}
@media (min-width: 768px) {
	.c-breadcrumb {
		font-size: calc(14 / (var(--fontsize)) * 1rem);
	}
}
@media (max-width: 767px) {
	.c-breadcrumb {
		font-size: calc(10 / (var(--fontsize)) * 1rem);
	}
}
.c-breadcrumb__item {
	position: relative;
	padding-right: 2em;
}
.c-breadcrumb__item .text {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.c-breadcrumb__item .text br {
	display: none;
}
.c-breadcrumb__item::before {
	content: "＞";
	position: absolute;
	right: 0.5em;
	top: 0;
}
.c-breadcrumb__item:nth-last-of-type(1) {
	min-width: 0;
	padding-right: 0;
}
.c-breadcrumb__item:nth-last-of-type(1):before {
	display: none;
}

.c-border {
	border: 1px solid var(--color_primary);
}

.c-btn01 {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 64px;
	width: fit-content;
	min-width: 288px;
	padding: 10px 20px;
	margin-inline: auto;
	background-color: var(--color_primary);
	border-radius: 100vmax;
	font-weight: 700;
	font-size: calc(16 / (var(--fontsize)) * 1rem);
	color: var(--color_lightest);
	text-align: center;
	overflow: hidden;
}
@media (max-width: 767px) {
	.c-btn01 {
		min-width: unset;
		max-width: 200px;
		padding: 10px 10px;
		width: 52.0833333333vw;
		height: 50px;
		font-size: calc(13 / (var(--fontsize)) * 1rem);
	}
}
.c-btn01::before {
	content: "";
	opacity: 0;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background-image: linear-gradient(135deg, var(--color_tertiary) 0%, var(--color_secondary) 100%);
	opacity: 0;
	transition: var(--transition-time) var(--transition-ease);
}
.c-btn01 .text {
	position: relative;
	z-index: 1;
	flex-grow: 1;
	text-align: center;
}
.c-btn01 .arrow {
	flex-shrink: 0;
	transition: var(--transition-time) var(--transition-ease);
	z-index: 1;
}
.c-btn01--back {
	flex-direction: row-reverse;
}
.c-btn01--back .arrow {
	transform: scale(-1, 1);
}
.c-btn01--wmax {
	width: 100%;
	min-width: unset;
}
.c-btn01--rd {
	background-color: var(--color_secondary);
}
.c-btn01:hover {
	text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
	.c-btn01:hover::before {
		opacity: 1;
		translate: 0 0;
	}
}

@media (hover: hover) and (pointer: fine) {
	a .c-btn01:hover .arrow,
	a.c-btn01:hover .arrow {
		translate: 4px 0;
	}
}
@media (hover: hover) and (pointer: fine) {
	a .c-btn01--back:hover .arrow,
	a.c-btn01--back:hover .arrow {
		translate: -4px 0;
	}
}

.c-btn02 {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 64px;
	width: fit-content;
	min-width: 288px;
	padding: 10px 20px;
	margin-inline: auto;
	background-color: var(--color_lightest);
	border-radius: 4px;
	box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15);
	font-size: calc(16 / (var(--fontsize)) * 1rem);
	text-align: center;
	transition: var(--transition-time) var(--transition-ease);
}
@media (max-width: 767px) {
	.c-btn02 {
		height: 50px;
		min-width: unset;
		max-width: 250px;
		width: 65.1041666667vw;
		font-size: calc(13 / (var(--fontsize)) * 1rem);
	}
}
.c-btn02:hover {
	text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
	.c-btn02:hover {
		background-color: var(--color_primary);
		color: var(--color_lightest);
	}
}

.c-btn03 {
	cursor: pointer;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 64px;
	width: fit-content;
	min-width: 300px;
	padding: 10px 20px;
	margin-inline: auto;
	background-color: var(--color_secondary);
	border-radius: 4px;
	font-size: calc(16 / (var(--fontsize)) * 1rem);
	font-weight: 700;
	color: var(--color_lightest);
	text-align: center;
	transition: var(--transition-time) var(--transition-ease);
}
.c-btn03--back {
	background-color: var(--color_dark);
}
@media (max-width: 767px) {
	.c-btn03 {
		height: 50px;
		min-width: unset;
		max-width: 250px;
		width: 65.1041666667vw;
		font-size: calc(14 / (var(--fontsize)) * 1rem);
	}
}
.c-btn03:hover {
	text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
	.c-btn03:hover {
		background-color: var(--color_primary);
	}
}

.c-btn04 {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 48px;
	width: fit-content;
	min-width: 140px;
	padding: 10px 16px;
	background-color: var(--color_primary);
	border-radius: 4px;
	font-size: calc(16 / (var(--fontsize)) * 1rem);
	color: var(--color_lightest);
	text-align: center;
	overflow: hidden;
}
@media (max-width: 767px) {
	.c-btn04 {
		min-width: unset;
		max-width: 100px;
		padding: 10px 10px;
		width: 26.0416666667vw;
		height: 40px;
		font-size: calc(13 / (var(--fontsize)) * 1rem);
	}
}
.c-btn04::before {
	content: "";
	opacity: 0;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background-image: linear-gradient(135deg, var(--color_tertiary) 0%, var(--color_secondary) 100%);
	opacity: 0;
	transition: var(--transition-time) var(--transition-ease);
}
.c-btn04 .text {
	position: relative;
	z-index: 1;
	flex-grow: 1;
	text-align: center;
}
.c-btn04 .arrow {
	flex-shrink: 0;
	transition: var(--transition-time) var(--transition-ease);
	z-index: 1;
}
.c-btn04:hover {
	text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
	.c-btn04:hover::before {
		opacity: 1;
		translate: 0 0;
	}
}

@media (hover: hover) and (pointer: fine) {
	a .c-btn04:hover .arrow,
	a.c-btn04:hover .arrow {
		translate: 4px 0;
	}
}

@keyframes kf_blink {
	0% {
		opacity: 1;
	}
	10% {
		opacity: 0;
	}
	20% {
		opacity: 1;
	}
}
.c-iconNew {
	display: inline-flex;
	width: 56px;
	height: 24px;
	background-image: url("../images/common/icon/new.svg");
	background-size: 100%;
	animation-name: kf_blink;
	animation-duration: 5s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
	animation-fill-mode: forwards;
}
@media (max-width: 767px) {
	.c-iconNew {
		width: 42px;
		height: 18px;
	}
}

.c-arrow {
	width: 20px;
	height: 20px;
	background-image: url("../images/common/icon/arrow.svg");
	background-size: 100%;
}
@media (max-width: 767px) {
	.c-arrow {
		width: 16px;
		height: 16px;
	}
}
.c-arrow--large {
	width: 36px;
	height: 36px;
}
@media (max-width: 767px) {
	.c-arrow--large {
		width: 20px;
		height: 20px;
	}
}
.c-arrow--small {
	width: 16px;
	height: 16px;
}
@media (max-width: 767px) {
	.c-arrow--small {
		width: 12px;
		height: 12px;
	}
}
.c-arrow--lightest {
	background-image: url("../images/common/icon/arrow-lightest.svg");
}

input[type=text].c-input-text,
textarea.c-textarea {
	display: flex;
	min-height: 70px;
	transition: var(--transition-time) var(--transition-ease);
	appearance: none;
	-webkit-appearance: none;
	border: solid 1px transparent;
	box-shadow: none;
	padding: 16px 16px;
	border-radius: 4px;
	width: 100%;
	background-color: var(--color_lightest);
	outline: none;
	font-size: calc(18 / (var(--fontsize)) * 1rem);
}
@media (max-width: 767px) {
	input[type=text].c-input-text,
	textarea.c-textarea {
		min-height: 60px;
		font-size: calc(16 / (var(--fontsize)) * 1rem);
	}
}
input[type=text].c-input-text:focus,
textarea.c-textarea:focus {
	border-color: var(--color_secondary);
}
input[type=text].c-input-text--s,
textarea.c-textarea--s {
	width: 50%;
}

textarea.c-textarea {
	resize: none;
	line-height: 1.875;
}

input[type=radio].c-input-radio,
input[type=checkbox].c-input-checkbox {
	position: relative;
	appearance: none;
	-webkit-appearance: none;
	border: solid 1px var(--color_primary);
	box-shadow: none;
	background-color: var(--color_lightest);
	outline: none;
	width: 24px;
	height: 24px;
	vertical-align: middle;
}

input[type=radio].c-input-radio:after {
	content: "";
	width: 50%;
	height: 50%;
	background-color: var(--color_secondary);
	position: absolute;
	inset: 0;
	margin: auto;
	border-radius: 100%;
	display: none;
}
input[type=radio].c-input-radio:checked:after {
	display: block;
}

input[type=checkbox].c-input-checkbox:after {
	content: "";
	width: 33.3%;
	height: 66.6%;
	position: absolute;
	inset: 0;
	margin: auto;
	border-bottom: solid 2px var(--color_secondary);
	border-right: solid 2px var(--color_secondary);
	display: none;
	rotate: 45deg;
	translate: 0 -10%;
}
input[type=checkbox].c-input-checkbox:checked:after {
	display: block;
}

input[type=radio].c-input-radio {
	border-radius: 100%;
}

input[type=checkbox].c-input-checkbox {
	border-radius: 0;
}

select.c-select {
	position: relative;
	width: 100%;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	min-height: 70px;
	padding: 16px 65px 16px 16px;
	border: 0;
	box-shadow: none;
	border-radius: 4px;
	background-color: var(--color_lightest);
	background-repeat: no-repeat;
	background-size: 40px auto;
	background-image: url("../images/common/icon/select.svg");
	background-position: right 10px top 50%;
	cursor: pointer;
	color: var(--color_primary);
	font-size: calc(18 / (var(--fontsize)) * 1rem);
	outline: none;
	line-height: 1.231;
	text-overflow: "";
}
@media (min-width: 1025px) {
	select.c-select {
		max-width: 320px;
	}
}
@media (max-width: 767px) {
	select.c-select {
		font-size: calc(16 / (var(--fontsize)) * 1rem);
	}
}

select.c-select::-ms-expand {
	display: none;
}

.c-page-heading {
	position: relative;
	padding-block: 20px;
	padding-inline: var(--siteMargin);
	min-height: 200px;
}
@media (max-width: 767px) {
	.c-page-heading {
		min-height: 180px;
	}
}
.c-page-heading__inner {
	display: grid;
	align-items: start;
	padding-inline-start: 60px;
}
@media (max-width: 1024px) {
	.c-page-heading__inner {
		padding-inline-start: unset;
	}
}

.c-page-heading-content {
	display: flex;
	align-items: center;
	gap: 20px;
	position: relative;
	padding-block-start: 50px;
}
@media (max-width: 767px) {
	.c-page-heading-content {
		flex-direction: column;
		align-items: start;
		padding-block-start: 40px;
		gap: 16px;
	}
}
.c-page-heading-content::before {
	content: "";
	width: 60px;
	height: 4px;
	background-image: linear-gradient(90deg, var(--color_tertiary) 50%, var(--color_secondary) 50%);
	position: absolute;
	left: 0;
	top: 0;
}

.c-page-heading-title {
	font-family: var(--font_sans);
	text-box-trim: trim-both;
	text-box-edge: cap alphabetic;
	font-size: calc(40 / (var(--fontsize)) * 1rem);
	font-weight: 700;
	font-style: italic;
	letter-spacing: 0.05em;
}
@media (max-width: 767px) {
	.c-page-heading-title {
		font-size: calc(28 / (var(--fontsize)) * 1rem);
	}
}

.c-page-heading-en {
	font-family: var(--font_en);
	font-style: italic;
	font-weight: 500;
	letter-spacing: 0.01em;
	text-box-trim: trim-both;
	text-box-edge: cap alphabetic;
	color: var(--color_secondary);
	font-size: calc(20 / (var(--fontsize)) * 1rem);
	font-weight: 600;
	font-style: italic;
}
@media (max-width: 767px) {
	.c-page-heading-en {
		font-size: calc(16 / (var(--fontsize)) * 1rem);
	}
}

.c-page-nav {
	display: grid;
	align-items: center;
	min-height: 120px;
	background-color: var(--color_primary);
	padding-block: 30px;
	padding-inline: var(--siteMargin);
	overflow: hidden;
}
@media (max-width: 767px) {
	.c-page-nav {
		padding-block: unset;
		padding-inline: unset;
		min-height: unset;
	}
}

.c-page-nav-list {
	display: flex;
	flex-wrap: wrap;
	gap: 30px 3em;
	justify-content: center;
}
@media (max-width: 767px) {
	.c-page-nav-list {
		gap: 0;
		justify-content: start;
	}
}
.c-page-nav-list__item {
	font-size: calc(18 / (var(--fontsize)) * 1rem);
	line-height: var(--lh_s);
	font-weight: 700;
	color: var(--color_lightest);
}
@media (max-width: 767px) {
	.c-page-nav-list__item {
		width: 50%;
		font-size: calc(14 / (var(--fontsize)) * 1rem);
		margin: -1px;
		border: 1px solid var(--color_darker);
	}
}
.c-page-nav-list__item a {
	position: relative;
	display: grid;
	gap: 5px;
	color: var(--color_lightest);
	transition: var(--transition-time) var(--transition-ease);
}
@media (max-width: 767px) {
	.c-page-nav-list__item a {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 20px 30px 20px 20px;
		min-height: 50px;
		height: 100%;
	}
}
.c-page-nav-list__item a.is-on {
	pointer-events: none;
	cursor: text;
	color: var(--color_secondary);
}
.c-page-nav-list__item a:hover {
	text-decoration: none;
	color: var(--color_secondary);
}
@media (hover: hover) and (pointer: fine) {
	.c-page-nav-list__item a:hover::after {
		translate: 0 4px;
	}
}
.c-page-nav-list__item a::after {
	content: "";
	margin-inline: auto;
	width: 12px;
	height: 12px;
	border-right: 1px solid var(--color_secondary);
	border-bottom: 1px solid var(--color_secondary);
	rotate: 45deg;
	transition: var(--transition-time) var(--transition-ease);
}
@media (max-width: 767px) {
	.c-page-nav-list__item a::after {
		position: absolute;
		right: 16px;
		top: 50%;
		margin-inline: unset;
		translate: 0 -75%;
	}
}

.c-page-topics {
	display: grid;
	background-color: #bfbfbf;
	min-height: 80px;
}
.c-page-topics__inner {
	display: grid;
}

.c-page-topics-col {
	display: flex;
	padding-block: 20px;
	padding-inline: var(--siteMargin_xs);
}
@media (max-width: 767px) {
	.c-page-topics-col {
		padding-inline: var(--siteMargin);
	}
}
.c-page-topics-col__title {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 120px;
	text-align: center;
	flex-shrink: 0;
	font-size: calc(20 / (var(--fontsize)) * 1rem);
	font-family: var(--font_en);
	font-style: italic;
	font-weight: 500;
	letter-spacing: 0.01em;
	text-box-trim: trim-both;
	text-box-edge: cap alphabetic;
}
@media (max-width: 767px) {
	.c-page-topics-col__title {
		min-width: 70px;
		font-size: calc(16 / (var(--fontsize)) * 1rem);
		justify-content: start;
	}
}
.c-page-topics-col__content {
	display: flex;
	align-items: center;
	flex-grow: 1;
	border-left: 1px solid var(--color_primary);
	padding-left: 30px;
}
@media (max-width: 767px) {
	.c-page-topics-col__content {
		padding-left: 16px;
	}
}

.c-page-topics-item {
	width: 100%;
	display: grid;
	grid-template-columns: 80px 1fr auto;
	align-items: center;
	gap: 20px;
	min-width: 0;
}
@media (max-width: 767px) {
	.c-page-topics-item {
		grid-template-columns: 1fr auto;
		gap: 10px;
	}
}
.c-page-topics-item .datetime {
	white-space: nowrap;
	font-weight: 700;
	font-size: calc(16 / (var(--fontsize)) * 1rem);
}
@media (max-width: 767px) {
	.c-page-topics-item .datetime {
		grid-column: 1/3;
		grid-row: 1/2;
		align-self: start;
		font-size: calc(12 / (var(--fontsize)) * 1rem);
		translate: 0 0.33em;
	}
}
.c-page-topics-item .title {
	min-width: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	transition: var(--transition-time) var(--transition-ease);
	font-size: calc(18 / (var(--fontsize)) * 1rem);
}
@media (max-width: 767px) {
	.c-page-topics-item .title {
		grid-column: 1/2;
		grid-row: 2/3;
		white-space: unset;
		text-overflow: unset;
		display: -webkit-box;
		box-orient: vertical;
		-webkit-box-orient: vertical;
		line-clamp: 2;
		-webkit-line-clamp: 2;
		overflow: hidden;
		font-size: calc(14 / (var(--fontsize)) * 1rem);
		line-height: var(--lh_s);
	}
}
.c-page-topics-item .arrow {
	justify-self: end;
	transition: var(--transition-time) var(--transition-ease);
}
@media (max-width: 767px) {
	.c-page-topics-item .arrow {
		grid-column: 2/3;
		grid-row: 2/3;
		align-self: end;
	}
}
.c-page-topics-item:hover {
	text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
	.c-page-topics-item:hover .title {
		color: var(--color_secondary);
		text-decoration: underline;
	}
	.c-page-topics-item:hover .arrow {
		translate: 4px 0;
	}
}

.c-h01, body.c-wysiwyg-admin h2,
.c-wysiwyg h2 {
	position: relative;
	padding-bottom: 16px;
	text-align: center;
	font-weight: 700;
	font-size: calc(36 / (var(--fontsize)) * 1rem);
}
@media (max-width: 767px) {
	.c-h01, body.c-wysiwyg-admin h2,
	.c-wysiwyg h2 {
		font-size: calc(24 / (var(--fontsize)) * 1rem);
	}
}
.c-h01::after, body.c-wysiwyg-admin h2::after,
.c-wysiwyg h2::after {
	content: "";
	width: 30px;
	height: 4px;
	background-color: var(--color_secondary);
	position: absolute;
	left: 0;
	right: 0;
	margin-inline: auto;
	bottom: 0;
}

.c-h02, body.c-wysiwyg-admin h3,
.c-wysiwyg h3 {
	border-left: 4px solid var(--color_primary);
	font-weight: 700;
	font-size: calc(32 / (var(--fontsize)) * 1rem);
	padding-left: 20px;
}
@media (max-width: 767px) {
	.c-h02, body.c-wysiwyg-admin h3,
	.c-wysiwyg h3 {
		padding-left: 12px;
		font-size: calc(20 / (var(--fontsize)) * 1rem);
	}
}

.c-tbl-item {
	display: flex;
	border-top: 1px solid var(--color_primary);
	border-bottom: 1px solid var(--color_primary);
}
@media (max-width: 767px) {
	.c-tbl-item {
		flex-direction: column;
	}
}
.c-tbl-item + .c-tbl-item {
	margin-top: -1px;
}
.c-tbl-item__title {
	min-width: 240px;
	flex-shrink: 0;
	padding: 24px;
	background-color: var(--color_bg_light);
}
@media (max-width: 767px) {
	.c-tbl-item__title {
		padding: 16px;
		min-width: unset;
	}
}
.c-tbl-item__content {
	display: grid;
	gap: 24px;
	padding: 24px;
	flex-grow: 1;
}
@media (max-width: 767px) {
	.c-tbl-item__content {
		padding: 16px;
	}
}

.c-article-heading {
	display: grid;
	gap: 16px;
	padding: 50px 24px;
	border-top: 1px solid var(--color_primary);
	border-bottom: 1px solid var(--color_primary);
}
@media (max-width: 767px) {
	.c-article-heading {
		padding: 40px 0;
	}
}

.c-article-heading-datetime {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--color_quaternary);
	font-size: calc(18 / (var(--fontsize)) * 1rem);
	font-weight: 700;
}
@media (max-width: 767px) {
	.c-article-heading-datetime {
		font-size: calc(14 / (var(--fontsize)) * 1rem);
	}
}

.c-article-title {
	font-size: calc(28 / (var(--fontsize)) * 1rem);
	font-weight: 700;
	line-height: var(--lh_s);
}
@media (max-width: 767px) {
	.c-article-title {
		font-size: calc(18 / (var(--fontsize)) * 1rem);
	}
}

.c-article-body {
	padding: 60px 24px 80px;
	border-bottom: 1px solid var(--color_primary);
}
@media (max-width: 767px) {
	.c-article-body {
		padding: 40px 0 60px;
	}
}

.c-article-btns {
	margin-top: 50px;
	display: grid;
	justify-content: space-between;
	gap: 20px;
	grid-template-columns: 180px 240px 180px;
}
@media (max-width: 767px) {
	.c-article-btns {
		gap: 10px;
		grid-template-columns: 1fr 1fr 1fr;
	}
}
.c-article-btns__item--prev {
	grid-column: 1/2;
}
.c-article-btns__item--back {
	grid-column: 2/3;
}
.c-article-btns__item--next {
	grid-column: 3/4;
}

body.c-wysiwyg-admin {
	background-color: var(--color_lightest);
	color: var(--color_primary);
	max-width: var(--width_secondary) !important;
	padding: var(--siteMargin) !important;
}

body.c-wysiwyg-admin,
.c-wysiwyg {
	--wysiwygMargin: 20px;
	--wysiwygMarginL: 40px;
	--wysiwygMarginXL: 80px;
	overflow: hidden;
	font-size: calc(16 / (var(--fontsize)) * 1rem);
	line-height: var(--lh);
}
@media (max-width: 767px) {
	body.c-wysiwyg-admin,
	.c-wysiwyg {
		--wysiwygMargin: 16px;
		--wysiwygMarginL: 30px;
		--wysiwygMarginXL: 60px;
		font-size: calc(13 / (var(--fontsize)) * 1rem);
	}
}
body.c-wysiwyg-admin a,
.c-wysiwyg a {
	text-decoration: underline;
	color: var(--color_secondary);
}
body.c-wysiwyg-admin a:hover,
.c-wysiwyg a:hover {
	text-decoration: none;
}
body.c-wysiwyg-admin > *:not(div),
.c-wysiwyg > *:not(div) {
	*zoom: 1;
}
body.c-wysiwyg-admin > *:not(div):after,
.c-wysiwyg > *:not(div):after {
	content: "";
	display: table;
	clear: both;
}
body.c-wysiwyg-admin > *:not(div),
.c-wysiwyg > *:not(div) {
	clear: both;
}
body.c-wysiwyg-admin > * + *,
.c-wysiwyg > * + * {
	margin-top: var(--wysiwygMarginL);
}
body.c-wysiwyg-admin > * + h1 body.c-wysiwyg-admin > * + h2 body.c-wysiwyg-admin > * + h3, body.c-wysiwyg-admin > * + h4, body.c-wysiwyg-admin > * + h5, body.c-wysiwyg-admin > * + h6,
body.c-wysiwyg-admin > * + h1 body.c-wysiwyg-admin > * + h2 .c-wysiwyg > * + h3,
.c-wysiwyg > * + h4,
.c-wysiwyg > * + h5,
.c-wysiwyg > * + h6,
body.c-wysiwyg-admin > * + h1 .c-wysiwyg > * + h2 body.c-wysiwyg-admin > * + h3,
body.c-wysiwyg-admin > * + h1 .c-wysiwyg > * + h2 .c-wysiwyg > * + h3,
.c-wysiwyg > * + h1 body.c-wysiwyg-admin > * + h2 body.c-wysiwyg-admin > * + h3,
.c-wysiwyg > * + h1 body.c-wysiwyg-admin > * + h2 .c-wysiwyg > * + h3,
.c-wysiwyg > * + h1 .c-wysiwyg > * + h2 body.c-wysiwyg-admin > * + h3,
.c-wysiwyg > * + h1 .c-wysiwyg > * + h2 .c-wysiwyg > * + h3 {
	margin-top: var(--wysiwygMarginXL);
}
body.c-wysiwyg-admin h1, body.c-wysiwyg-admin h2, body.c-wysiwyg-admin h3, body.c-wysiwyg-admin h4, body.c-wysiwyg-admin h5, body.c-wysiwyg-admin h6,
.c-wysiwyg h1,
.c-wysiwyg h2,
.c-wysiwyg h3,
.c-wysiwyg h4,
.c-wysiwyg h5,
.c-wysiwyg h6 {
	line-height: var(--lh_s);
	font-weight: 700;
}
body.c-wysiwyg-admin h1 + *, body.c-wysiwyg-admin h2 + *, body.c-wysiwyg-admin h3 + *, body.c-wysiwyg-admin h4 + *, body.c-wysiwyg-admin h5 + *, body.c-wysiwyg-admin h6 + *,
.c-wysiwyg h1 + *,
.c-wysiwyg h2 + *,
.c-wysiwyg h3 + *,
.c-wysiwyg h4 + *,
.c-wysiwyg h5 + *,
.c-wysiwyg h6 + * {
	margin-top: var(--wysiwygMargin);
}
body.c-wysiwyg-admin h2 + *,
.c-wysiwyg h2 + * {
	margin-top: var(--wysiwygMarginL);
}
body.c-wysiwyg-admin h4,
.c-wysiwyg h4 {
	font-size: calc(28 / (var(--fontsize)) * 1rem);
}
@media (max-width: 767px) {
	body.c-wysiwyg-admin h4,
	.c-wysiwyg h4 {
		font-size: calc(18 / (var(--fontsize)) * 1rem);
	}
}
body.c-wysiwyg-admin h5,
.c-wysiwyg h5 {
	font-size: calc(24 / (var(--fontsize)) * 1rem);
}
@media (max-width: 767px) {
	body.c-wysiwyg-admin h5,
	.c-wysiwyg h5 {
		font-size: calc(16 / (var(--fontsize)) * 1rem);
	}
}
body.c-wysiwyg-admin h6,
.c-wysiwyg h6 {
	font-size: calc(20 / (var(--fontsize)) * 1rem);
}
@media (max-width: 767px) {
	body.c-wysiwyg-admin h6,
	.c-wysiwyg h6 {
		font-size: calc(15 / (var(--fontsize)) * 1rem);
	}
}
body.c-wysiwyg-admin i,
.c-wysiwyg i {
	font-style: italic;
}
body.c-wysiwyg-admin pre,
.c-wysiwyg pre {
	overflow: auto;
	white-space: pre-wrap;
	word-wrap: break-word;
}
body.c-wysiwyg-admin blockquote,
.c-wysiwyg blockquote {
	padding: 24px;
	background-color: var(--color_bg_light);
	font-size: calc(16 / (var(--fontsize)) * 1rem);
	line-height: var(--lh);
}
@media (max-width: 767px) {
	body.c-wysiwyg-admin blockquote,
	.c-wysiwyg blockquote {
		font-size: calc(13 / (var(--fontsize)) * 1rem);
	}
}
body.c-wysiwyg-admin hr,
.c-wysiwyg hr {
	height: 1px;
	background-color: var(--color_line);
	border: 0;
}
body.c-wysiwyg-admin p,
.c-wysiwyg p {
	font-size: calc(18 / (var(--fontsize)) * 1rem);
	line-height: var(--lh_l);
}
@media (max-width: 767px) {
	body.c-wysiwyg-admin p,
	.c-wysiwyg p {
		font-size: calc(14 / (var(--fontsize)) * 1rem);
	}
}
body.c-wysiwyg-admin ol li,
.c-wysiwyg ol li {
	list-style-type: decimal;
	margin-left: 1.5em;
}
body.c-wysiwyg-admin ul li,
.c-wysiwyg ul li {
	list-style-type: disc;
	margin-left: 1.5em;
}
body.c-wysiwyg-admin img,
.c-wysiwyg img {
	max-width: 100%;
	height: auto;
}
body.c-wysiwyg-admin img.alignleft,
.c-wysiwyg img.alignleft {
	float: left;
	margin-right: var(--wysiwygMargin);
	margin-bottom: var(--wysiwygMargin);
}
body.c-wysiwyg-admin img.alignright,
.c-wysiwyg img.alignright {
	float: right;
	margin-left: var(--wysiwygMargin);
	margin-bottom: var(--wysiwygMargin);
}
body.c-wysiwyg-admin img.aligncenter,
.c-wysiwyg img.aligncenter {
	display: block;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}
body.c-wysiwyg-admin table,
.c-wysiwyg table {
	width: 100%;
	background-color: var(--color_lightest);
	table-layout: fixed;
}
body.c-wysiwyg-admin table th, body.c-wysiwyg-admin table td,
.c-wysiwyg table th,
.c-wysiwyg table td {
	padding: 16px 20px;
	border-top: solid 1px var(--color_primary);
	border-bottom: solid 1px var(--color_primary);
	font-size: calc(18 / (var(--fontsize)) * 1rem);
	line-height: var(--lh);
	vertical-align: top;
}
@media (max-width: 767px) {
	body.c-wysiwyg-admin table th, body.c-wysiwyg-admin table td,
	.c-wysiwyg table th,
	.c-wysiwyg table td {
		font-size: calc(12 / (var(--fontsize)) * 1rem);
	}
}
body.c-wysiwyg-admin table th,
.c-wysiwyg table th {
	background-color: var(--color_bg_light);
}
body.c-wysiwyg-admin .wp-caption-text,
.c-wysiwyg .wp-caption-text {
	margin-top: 0.5em;
	font-size: calc(16 / (var(--fontsize)) * 1rem);
	line-height: var(--lh_s);
}
@media (max-width: 767px) {
	body.c-wysiwyg-admin .wp-caption-text,
	.c-wysiwyg .wp-caption-text {
		font-size: calc(13 / (var(--fontsize)) * 1rem);
	}
}
body.c-wysiwyg-admin .wp-caption.alignleft,
.c-wysiwyg .wp-caption.alignleft {
	display: block;
	float: left;
	margin-bottom: 10px;
	width: calc(50% - var(--wysiwygMargin)) !important;
	margin-right: var(--wysiwygMargin);
}
body.c-wysiwyg-admin .wp-caption.alignleft img,
.c-wysiwyg .wp-caption.alignleft img {
	width: 100%;
	height: auto;
}
body.c-wysiwyg-admin .wp-caption.alignright,
.c-wysiwyg .wp-caption.alignright {
	display: block;
	float: right;
	margin-bottom: 10px;
	width: calc(50% - var(--wysiwygMargin)) !important;
	margin-left: var(--wysiwygMargin);
}
body.c-wysiwyg-admin .wp-caption.alignright img,
.c-wysiwyg .wp-caption.alignright img {
	width: 100%;
	height: auto;
}
body.c-wysiwyg-admin .wp-caption.aligncenter, body.c-wysiwyg-admin .wp-caption.alignnone,
.c-wysiwyg .wp-caption.aligncenter,
.c-wysiwyg .wp-caption.alignnone {
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: var(--wysiwygMargin);
}

.wp-pagenavi {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 5px;
	margin-top: 50px;
}
@media (max-width: 767px) {
	.wp-pagenavi {
		margin-top: 40px;
	}
}
.wp-pagenavi > a, .wp-pagenavi > span {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	width: 50px;
	height: 50px;
	border-radius: 100vmax;
	color: var(--color_primary);
	transition: var(--transition-time) var(--transition-ease);
	font-size: calc(20 / (var(--fontsize)) * 1rem);
	font-weight: 700;
}
@media (max-width: 767px) {
	.wp-pagenavi > a, .wp-pagenavi > span {
		width: 36px;
		height: 36px;
		font-size: calc(14 / (var(--fontsize)) * 1rem);
	}
}
.wp-pagenavi > a.previouspostslink, .wp-pagenavi > a.nextpostslink, .wp-pagenavi > span.previouspostslink, .wp-pagenavi > span.nextpostslink {
	position: relative;
	background-color: var(--color_primary);
	text-indent: 9999px;
	color: transparent;
	overflow: hidden;
}
.wp-pagenavi > a.previouspostslink::before, .wp-pagenavi > a.nextpostslink::before, .wp-pagenavi > span.previouspostslink::before, .wp-pagenavi > span.nextpostslink::before {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	width: 20px;
	height: 20px;
	background-image: url("../images/common/icon/arrow-lightest.svg");
	background-size: 100%;
}
@media (max-width: 767px) {
	.wp-pagenavi > a.previouspostslink::before, .wp-pagenavi > a.nextpostslink::before, .wp-pagenavi > span.previouspostslink::before, .wp-pagenavi > span.nextpostslink::before {
		width: 16px;
		height: 16px;
	}
}
.wp-pagenavi > a.previouspostslink, .wp-pagenavi > span.previouspostslink {
	margin-right: 20px;
}
@media (max-width: 767px) {
	.wp-pagenavi > a.previouspostslink, .wp-pagenavi > span.previouspostslink {
		margin-right: 10px;
	}
}
.wp-pagenavi > a.previouspostslink:before, .wp-pagenavi > span.previouspostslink:before {
	transform: scale(-1, 1);
}
.wp-pagenavi > a.nextpostslink, .wp-pagenavi > span.nextpostslink {
	margin-left: 20px;
}
@media (max-width: 767px) {
	.wp-pagenavi > a.nextpostslink, .wp-pagenavi > span.nextpostslink {
		margin-left: 10px;
	}
}
.wp-pagenavi > a.current, .wp-pagenavi > span.current {
	color: var(--color_secondary);
}
.wp-pagenavi > a:hover {
	text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
	.wp-pagenavi > a:hover {
		background-color: var(--color_secondary);
		color: var(--color_lightest);
	}
}

/* =======================================================================
top animations
======================================================================= */
@keyframes kf_top_header {
	0% {
		opacity: 0;
		translate: 0 -20px;
	}
	100% {
		opacity: 1;
		translate: 0 0;
	}
}
.t-top .l-header {
	opacity: 0;
	animation-name: kf_top_header;
	animation-direction: normal;
	animation-duration: 0.3s;
	animation-delay: 0.5s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: 1;
	animation-fill-mode: forwards;
}

@keyframes kf_fadeBlurRight {
	0% {
		opacity: 0;
		filter: blur(4px);
		translate: 20px 0;
	}
	100% {
		opacity: 1;
		filter: blur(0);
	}
}
@keyframes kf_fadeBlurUp {
	0% {
		opacity: 0;
		filter: blur(4px);
		translate: 0 20px;
	}
	100% {
		opacity: 1;
		filter: blur(0);
	}
}
@keyframes kf_fadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@keyframes kf_scaleOut {
	0% {
		transform: scale(1.1);
	}
	100% {
		transform: scale(1);
	}
}
@keyframes kf_top_mv_main_image_l {
	0% {
		opacity: 0;
		translate: -4% 20%;
	}
	100% {
		opacity: 1;
		translate: 0 0;
	}
}
@keyframes kf_top_mv_main_image_r {
	0% {
		opacity: 0;
		translate: 4% -20%;
	}
	100% {
		opacity: 1;
		translate: 0 0;
	}
}
.p-top-mv-main-title span {
	opacity: 0;
	animation-name: kf_fadeBlurRight;
	animation-direction: normal;
	animation-duration: 0.5s;
	animation-delay: 1.25s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: 1;
	animation-fill-mode: forwards;
}
.p-top-mv-main-title span:nth-of-type(2) {
	animation-delay: 1.75s;
}

.p-top-mv-main-en {
	opacity: 0;
	animation-name: kf_fadeBlurRight;
	animation-direction: normal;
	animation-duration: 0.5s;
	animation-delay: 2.75s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: 1;
	animation-fill-mode: forwards;
}

.p-top-mv-main-image--alldrivers {
	opacity: 0;
	animation-name: kf_top_mv_main_image_l;
	animation-direction: normal;
	animation-duration: 0.5s;
	animation-delay: 0.5s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: 1;
	animation-fill-mode: forwards;
}

.p-top-mv-main-image--experts {
	opacity: 0;
	animation-name: kf_top_mv_main_image_r;
	animation-direction: normal;
	animation-duration: 0.5s;
	animation-delay: 0.5s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: 1;
	animation-fill-mode: forwards;
}

.p-top-mv-main-image::after {
	opacity: 0;
	animation-name: kf_fadeIn;
	animation-direction: normal;
	animation-duration: 0.5s;
	animation-delay: 2.5s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: 1;
	animation-fill-mode: forwards;
}
.p-top-mv-main-image > img {
	transform: scale(1.1);
	animation-name: kf_scaleOut;
	animation-direction: normal;
	animation-duration: 1s;
	animation-delay: 2.5s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: 1;
	animation-fill-mode: forwards;
}

.p-top-mv-main-image-caption {
	opacity: 0;
	animation-name: kf_fadeBlurRight;
	animation-direction: normal;
	animation-duration: 0.5s;
	animation-delay: 2.75s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: 1;
	animation-fill-mode: forwards;
}

.p-top-mv-bnrs {
	opacity: 0;
	animation-name: kf_fadeIn;
	animation-direction: normal;
	animation-duration: 0.75s;
	animation-delay: 3s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: 1;
	animation-fill-mode: forwards;
}

.p-top-about-en {
	opacity: 0;
}
.p-top-about-en.is-scroll {
	animation-name: kf_fadeBlurRight;
	animation-direction: normal;
	animation-duration: 0.5s;
	animation-delay: 0s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: 1;
	animation-fill-mode: forwards;
}

.p-top-topics-section-title {
	opacity: 0;
}
.p-top-topics-section-title.is-scroll {
	animation-name: kf_fadeBlurUp;
	animation-direction: normal;
	animation-duration: 0.5s;
	animation-delay: 0s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: 1;
	animation-fill-mode: forwards;
}

.p-top-service-heading-title {
	opacity: 0;
}
.js-scroll.is-scroll .p-top-service-heading-title {
	animation-name: kf_fadeBlurRight;
	animation-direction: normal;
	animation-duration: 0.5s;
	animation-delay: 0.5s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: 1;
	animation-fill-mode: forwards;
}

.p-top-service-heading-text {
	opacity: 0;
}
.js-scroll.is-scroll .p-top-service-heading-text {
	animation-name: kf_fadeBlurRight;
	animation-direction: normal;
	animation-duration: 0.5s;
	animation-delay: 0.75s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: 1;
	animation-fill-mode: forwards;
}

.p-top-service-heading-image {
	opacity: 0;
}
.js-scroll.is-scroll .p-top-service-heading-image {
	opacity: 1;
	translate: 0 0;
}
.p-top-service-heading-image img {
	transform: scale(1.1);
}
.js-scroll.is-scroll .p-top-service-heading-image img {
	animation-name: kf_scaleOut;
	animation-direction: normal;
	animation-duration: 1s;
	animation-delay: 0.25s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: 1;
	animation-fill-mode: forwards;
}

.p-top-bnrs__item__inner {
	opacity: 0;
}
.p-top-bnrs__item__inner.is-scroll {
	animation-name: kf_fadeBlurUp;
	animation-direction: normal;
	animation-duration: 0.5s;
	animation-delay: 0.25s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: 1;
	animation-fill-mode: forwards;
}

.p-top-factory-results__item {
	opacity: 0;
}
.p-top-factory-results__item.is-scroll {
	animation-name: kf_fadeBlurUp;
	animation-direction: normal;
	animation-duration: 0.5s;
	animation-delay: 0s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: 1;
	animation-fill-mode: forwards;
}

.p-top-title {
	opacity: 0;
}
.p-top-title.is-scroll {
	animation-name: kf_fadeBlurUp;
	animation-direction: normal;
	animation-duration: 0.5s;
	animation-delay: 0s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: 1;
	animation-fill-mode: forwards;
}

/* =======================================================================
top
======================================================================= */
/* common */
.p-top-title {
	display: grid;
	justify-content: center;
	text-align: center;
	font-family: var(--font_en);
	font-style: italic;
	font-weight: 500;
	letter-spacing: 0.01em;
	text-box-trim: trim-both;
	text-box-edge: cap alphabetic;
	font-size: calc(50 / (var(--fontsize)) * 1rem);
	color: var(--color_secondary);
	opacity: 0;
}
@media (max-width: 767px) {
	.p-top-title {
		font-size: calc(40 / (var(--fontsize)) * 1rem);
	}
}
.p-top-title--service {
	position: relative;
	padding-bottom: 10px;
	color: var(--color_lightest);
}
.p-top-title--service:after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin-inline: auto;
	width: 144px;
	height: 4px;
	background-image: linear-gradient(90deg, var(--color_tertiary) 0%, var(--color_tertiary) 50%, var(--color_secondary) 50%, var(--color_secondary) 100%);
}
.p-top-title--ig .icon {
	margin-inline: auto;
	width: 32px;
	height: 32px;
	background-image: url("../images/common/icon/sns_ig-rd.svg");
}
@media (max-width: 767px) {
	.p-top-title--ig .icon {
		width: 24px;
		height: 24px;
	}
}

.p-top-heading {
	display: grid;
	gap: 0.75em;
}

.p-top-heading-en {
	color: var(--color_secondary);
	font-family: var(--font_en);
	font-style: italic;
	font-weight: 500;
	letter-spacing: 0.01em;
	text-box-trim: trim-both;
	text-box-edge: cap alphabetic;
	font-size: calc(18 / (var(--fontsize)) * 1rem);
}
@media (max-width: 767px) {
	.p-top-heading-en {
		font-size: calc(12 / (var(--fontsize)) * 1rem);
	}
}

.p-top-heading-ja {
	font-size: calc(30 / (var(--fontsize)) * 1rem);
	font-weight: 700;
}
.p-top-bnrs .p-top-heading-ja {
	color: var(--color_lightest);
}
@media (max-width: 767px) {
	.p-top-heading-ja {
		font-size: calc(20 / (var(--fontsize)) * 1rem);
	}
}

/* main visual */
.p-top-mv {
	position: relative;
}
@media (max-width: 767px) {
	.p-top-mv {
		margin-top: 20px;
	}
}

.p-top-mv-main-copy {
	position: absolute;
	display: grid;
	top: 2.7322404372%;
	left: 8.3333333333%;
	gap: 10px;
}
@media (min-width: 768px) and (max-width: 1024px) {
	.p-top-mv-main-copy {
		left: 4.1666666667%;
	}
}
@media (max-width: 767px) {
	.p-top-mv-main-copy {
		gap: 5px;
		top: 2.6041666667vw;
		left: 5.2083333333vw;
	}
}

.p-top-mv-main-title {
	display: grid;
	font-size: calc(48 / (var(--fontsize)) * 1rem);
	font-family: var(--font_sans);
	text-box-trim: trim-both;
	text-box-edge: cap alphabetic;
	font-weight: 800;
	line-height: 1.25;
	font-style: italic;
	letter-spacing: 0.05em;
}
@media (min-width: 1440px) {
	.p-top-mv-main-title {
		font-size: min(3.3333333333vw, 48 / (var(--fontsize)) * 1rem);
	}
}
@media (max-width: 767px) {
	.p-top-mv-main-title {
		font-size: 5.9895833333vw;
	}
}

.p-top-mv-main-en {
	margin-top: 0.75em;
	line-height: 1;
	color: var(--color_secondary);
	font-size: calc(24 / (var(--fontsize)) * 1rem);
	font-family: var(--font_en);
	font-style: italic;
	font-weight: 500;
	letter-spacing: 0.01em;
	text-box-trim: trim-both;
	text-box-edge: cap alphabetic;
	font-weight: 700;
	letter-spacing: 0em;
}
@media (min-width: 1440px) {
	.p-top-mv-main-en {
		font-size: min(1.6666666667vw, 24 / (var(--fontsize)) * 1rem);
	}
}
@media (max-width: 767px) {
	.p-top-mv-main-en {
		font-size: 2.6041666667vw;
	}
}

.p-top-mv-main-images {
	position: relative;
	display: grid;
	height: 732px;
	max-height: calc(100vh - var(--header_height));
	max-height: calc(100dvh - var(--header_height));
	grid-template-columns: 1fr 1fr;
}
@media (min-width: 1025px) {
	.p-top-mv-main-images {
		min-height: 732px;
	}
}
@media (min-width: 1440px) {
	.p-top-mv-main-images {
		height: 50.8333333333vw;
	}
}
@media (max-width: 767px) {
	.p-top-mv-main-images {
		height: 95.3125vw;
	}
}
.p-top-mv-main-images__item {
	height: 67.2131147541%;
}
.p-top-mv-main-images__item:nth-of-type(odd) {
	align-self: end;
}
.p-top-mv-main-images__item:nth-of-type(odd) .p-top-mv-main-image {
	margin-right: -4%;
	clip-path: polygon(0 0, 100% 0, 85% 100%, 0 100%);
}
.p-top-mv-main-images__item:nth-of-type(even) {
	align-self: start;
}
.p-top-mv-main-images__item:nth-of-type(even) .p-top-mv-main-image {
	margin-left: -4%;
	clip-path: polygon(15% 0, 100% 0, 100% 100%, 0 100%);
}

.p-top-mv-main-image {
	position: relative;
	overflow: hidden;
	display: flex;
	height: 100%;
}
.p-top-mv-main-image img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.p-top-mv-main-image::after {
	content: "";
	width: 43.2432432432%;
	aspect-ratio: 1/1;
	position: absolute;
	bottom: 0;
	right: 0;
	opacity: 0;
}
@media (max-width: 767px) {
	.p-top-mv-main-image::after {
		width: 64.8648648649%;
	}
}
.p-top-mv-main-image--alldrivers::after {
	background-image: linear-gradient(315deg, var(--color_tertiary) 0%, var(--color_tertiary) 25%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 100%);
}
.p-top-mv-main-image--experts::after {
	background-image: linear-gradient(315deg, var(--color_secondary) 0%, var(--color_secondary) 25%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 100%);
}

.p-top-mv-main-image-caption {
	position: absolute;
	display: grid;
	align-items: end;
	right: 36px;
	bottom: 24px;
	gap: 0.1em;
	color: var(--color_lightest);
	font-family: var(--font_en);
	font-style: italic;
	font-weight: 500;
	letter-spacing: 0.01em;
	text-box-trim: trim-both;
	text-box-edge: cap alphabetic;
	font-size: calc(40 / (var(--fontsize)) * 1rem);
	line-height: 1;
	z-index: 1;
}
@media (min-width: 1440px) {
	.p-top-mv-main-image-caption {
		font-size: 2.7777777778vw;
	}
}
@media (max-width: 767px) {
	.p-top-mv-main-image-caption {
		right: 3.125vw;
		bottom: 2.0833333333vw;
		font-size: 5.2083333333vw;
	}
}
.p-top-mv-main-image--alldrivers .p-top-mv-main-image-caption {
	right: 148px;
}
@media (max-width: 767px) {
	.p-top-mv-main-image--alldrivers .p-top-mv-main-image-caption {
		right: 10.9375vw;
	}
}
.p-top-mv-main-image-caption .for {
	font-size: calc(30 / (var(--fontsize)) * 1rem);
}
@media (min-width: 1440px) {
	.p-top-mv-main-image-caption .for {
		font-size: 2.0833333333vw;
	}
}
@media (max-width: 767px) {
	.p-top-mv-main-image-caption .for {
		font-size: 3.90625vw;
	}
}

.p-top-mv-bnrs {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 370px;
	z-index: 1;
	box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5);
}
@media (max-width: 767px) {
	.p-top-mv-bnrs {
		width: 45.5729166667vw;
		bottom: -30px;
	}
}

.p-top-mv-bnrs-list__item {
	position: relative;
	width: 370px;
}
@media (max-width: 767px) {
	.p-top-mv-bnrs-list__item {
		width: 45.5729166667vw;
	}
}
.p-top-mv-bnrs-list__item::after {
	content: "";
	border-bottom: 20px solid var(--color_secondary);
	border-left: 20px solid transparent;
	position: absolute;
	right: 0;
	bottom: 0;
}
@media (max-width: 767px) {
	.p-top-mv-bnrs-list__item::after {
		border-bottom-width: 10px;
		border-left-width: 10px;
	}
}
.p-top-mv-bnrs-list__item:hover {
	text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
	.p-top-mv-bnrs-list__item:hover .p-top-mv-bnrs-image img {
		transform: scale(1.05);
	}
}

@keyframes kf_top_mv_topics_ticker {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-100%);
	}
}
.p-top-mv-bnrs-heading {
	display: flex;
	align-items: center;
	justify-content: start;
	overflow: hidden;
	gap: 1em;
	padding: 8px 12px;
	height: 40px;
	background-color: var(--color_bg_light);
}
@media (max-width: 767px) {
	.p-top-mv-bnrs-heading {
		height: 30px;
	}
}
.p-top-mv-bnrs-heading__text {
	display: flex;
	align-items: center;
	height: 1em;
	font-size: calc(16 / (var(--fontsize)) * 1rem);
	line-height: 1;
	font-weight: 700;
	white-space: nowrap;
}
@media (max-width: 767px) {
	.p-top-mv-bnrs-heading__text {
		font-size: calc(10 / (var(--fontsize)) * 1rem);
	}
}
.p-top-mv-bnrs-heading__text.is-ticker {
	animation-name: kf_top_mv_topics_ticker;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
	animation-fill-mode: none;
	animation-delay: 0.5s;
}

.p-top-mv-bnrs-image {
	aspect-ratio: 370/170;
	overflow: hidden;
}
.p-top-mv-bnrs-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: var(--transition-time) var(--transition-ease);
}

.p-top-mv-bnrs-progress {
	position: relative;
	height: 5px;
	background-image: linear-gradient(180deg, #666 0%, #888 100%);
}
.p-top-mv-bnrs-progress__bar {
	height: 100%;
	background-color: var(--color_secondary);
}

.p-top-mv-bnrs-controls {
	position: absolute;
	left: -10px;
	bottom: 10px;
	translate: -100% 0;
	display: grid;
	gap: 4px;
}
.p-top-mv-bnrs-controls__item {
	border-radius: 100%;
	width: 20px;
	height: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--color_secondary);
	background-size: 100%;
	background-repeat: no-repeat;
	background-position: 50%;
	transition: var(--transition-time) var(--transition-ease);
	cursor: pointer;
}
@media (hover: hover) and (pointer: fine) {
	.p-top-mv-bnrs-controls__item:hover {
		background-color: var(--color_bg_dark);
	}
}
.p-top-mv-bnrs-controls__next {
	background-image: url("../images/common/icon/slide_arrow.svg");
}
.p-top-mv-bnrs-controls__prev {
	transform: scale(-1, 1);
	background-image: url("../images/common/icon/slide_arrow.svg");
}
.p-top-mv-bnrs-controls__toggle {
	position: relative;
}
.p-top-mv-bnrs-controls__toggle__play {
	width: 100%;
	height: 100%;
	background-image: url("../images/common/icon/slide_play.svg");
}
.p-top-mv-bnrs-controls__toggle__pause {
	width: 100%;
	height: 100%;
	background-image: url("../images/common/icon/slide_pause.svg");
}

.p-top-mv + .p-top-about {
	margin-top: -54px;
	padding-top: 54px;
}
@media (max-width: 767px) {
	.p-top-mv + .p-top-about {
		margin-top: 0;
		padding-top: 0;
	}
}

/* about */
.p-top-about__inner {
	padding-block: var(--u_margin_3xl);
}
@media (max-width: 767px) {
	.p-top-about__inner {
		padding-block: var(--u_margin_2xl);
	}
}

.p-top-about-en {
	margin-bottom: var(--siteMargin_m);
	color: var(--color_secondary);
	font-family: var(--font_en);
	font-style: italic;
	font-weight: 500;
	letter-spacing: 0.01em;
	text-box-trim: trim-both;
	text-box-edge: cap alphabetic;
	font-size: calc(18 / (var(--fontsize)) * 1rem);
}
@media (max-width: 767px) {
	.p-top-about-en {
		font-size: calc(12 / (var(--fontsize)) * 1rem);
	}
}

.p-top-about-content {
	display: grid;
	gap: var(--siteMargin_s);
}

.p-top-about-title {
	text-align: center;
	font-weight: 700;
	font-size: calc(34 / (var(--fontsize)) * 1rem);
	line-height: 1.6;
}
@media (max-width: 767px) {
	.p-top-about-title {
		font-size: calc(19 / (var(--fontsize)) * 1rem);
	}
}

.p-top-about-text {
	text-align: center;
	font-size: calc(20 / (var(--fontsize)) * 1rem);
	line-height: 2.4;
}
@media (max-width: 767px) {
	.p-top-about-text {
		font-size: calc(13 / (var(--fontsize)) * 1rem);
	}
}

/* service */
.p-top-service__inner {
	padding-block: var(--u_margin_3xl);
}
@media (max-width: 767px) {
	.p-top-service__inner {
		padding-block: var(--u_margin_2xl);
	}
}

.p-top-service-heading {
	margin-top: 30px;
}

.p-top-service-heading {
	display: grid;
	grid-template-columns: 1fr 1fr;
}
@media (max-width: 1024px) {
	.p-top-service-heading {
		grid-template-columns: auto;
		gap: var(--siteMargin_m);
	}
}
@media (min-width: 1025px) {
	.p-top-service-heading__item:nth-of-type(odd) .p-top-service-heading-image {
		margin-right: -2.6%;
		clip-path: polygon(0 0, 100% 0, 95% 100%, 0 100%);
	}
	.p-top-service-heading__item:nth-of-type(even) .p-top-service-heading-image {
		margin-left: -2.6%;
		clip-path: polygon(5% 0, 100% 0, 100% 100%, 0 100%);
	}
}
.p-top-service-heading__main {
	margin-top: 30px;
}

.p-top-service-heading-image {
	overflow: hidden;
	height: 140px;
	translate: 0 20px;
	transition: var(--transition-time) var(--transition-ease);
}
@media (max-width: 767px) {
	.p-top-service-heading-image {
		height: unset;
		aspect-ratio: 648/200;
	}
}
.p-top-service-heading-image::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	width: 40%;
	height: 100%;
}
.p-top-service-heading-image--alldrivers::after {
	width: calc(27.027027027% + 112px);
	background-image: linear-gradient(315deg, var(--color_tertiary) 0%, var(--color_tertiary) 25%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 100%);
}
.p-top-service-heading-image--experts::after {
	background-image: linear-gradient(315deg, var(--color_secondary) 0%, var(--color_secondary) 25%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 100%);
}
.p-top-service-heading-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.p-top-service-heading-title {
	font-family: var(--font_en);
	font-style: italic;
	font-weight: 500;
	letter-spacing: 0.01em;
	text-box-trim: trim-both;
	text-box-edge: cap alphabetic;
	font-size: calc(40 / (var(--fontsize)) * 1rem);
	color: var(--color_lightest);
}
@media (max-width: 767px) {
	.p-top-service-heading-title {
		font-size: calc(30 / (var(--fontsize)) * 1rem);
	}
}
.p-top-service-heading-title .for {
	display: inline-flex;
	margin-right: 0.25em;
	font-size: calc(30 / (var(--fontsize)) * 1rem);
}
.p-top-service-heading-title .for--all {
	color: var(--color_tertiary);
}
.p-top-service-heading-title .for--experts {
	color: var(--color_secondary);
}
@media (max-width: 767px) {
	.p-top-service-heading-title .for {
		font-size: calc(25 / (var(--fontsize)) * 1rem);
	}
}

.p-top-service-heading-text {
	margin-top: var(--siteMargin_xs);
	font-size: calc(16 / (var(--fontsize)) * 1rem);
	font-weight: 700;
	line-height: var(--lh);
	color: var(--color_lightest);
}
@media (max-width: 767px) {
	.p-top-service-heading-text {
		margin-top: var(--siteMargin_s);
		font-size: calc(13 / (var(--fontsize)) * 1rem);
	}
}

.p-top-service-tab {
	margin-top: var(--siteMargin_m);
}

.p-top-service-tab-list {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 20px;
}
@media (min-width: 768px) and (max-width: 1024px) {
	.p-top-service-tab-list {
		grid-template-columns: repeat(3, 1fr);
	}
}
@media (max-width: 767px) {
	.p-top-service-tab-list {
		grid-template-columns: repeat(2, 1fr);
	}
}
.p-top-service-tab-list__item {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 180px;
	padding: 10px 5px 30px;
	background-color: var(--color_lightest);
	text-align: center;
}
@media (max-width: 767px) {
	.p-top-service-tab-list__item {
		gap: 5px;
		min-height: 44.2708333333vw;
		padding: 5px 5px 20px;
	}
}
@media (min-width: 1025px) {
	.p-top-service-tab-list__item.is-on_pc {
		text-decoration: none;
	}
	.p-top-service-tab-list__item.is-on_pc .title {
		color: var(--color_secondary);
	}
	.p-top-service-tab-list__item.is-on_pc .arrow::before {
		translate: 0 0;
		opacity: 1;
	}
	.p-top-service-tab-list__item.is-on_pc::after {
		transform: scale(1, 1);
	}
}
.p-top-service-tab-list__item:hover {
	text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
	.p-top-service-tab-list__item:hover .title {
		color: var(--color_secondary);
	}
	.p-top-service-tab-list__item:hover .arrow::before {
		translate: 0 0;
		opacity: 1;
	}
	.p-top-service-tab-list__item:hover::after {
		transform: scale(1, 1);
	}
}
.p-top-service-tab-list__item::after {
	content: "";
	width: 1px;
	height: 50px;
	background-image: linear-gradient(180deg, var(--color_lightest) 0%, var(--color_lightest) 100%);
	position: absolute;
	left: 50%;
	bottom: 0;
	translate: 0 100%;
	transition: var(--transition-time) var(--transition-ease);
	transform: scale(1, 0);
	transform-origin: 0 0;
}
@media (max-width: 1024px) {
	.p-top-service-tab-list__item::after {
		display: none;
	}
}
.p-top-service-tab-list__item .icon {
	width: 80px;
	height: 80px;
	margin-inline: auto;
}
@media (max-width: 767px) {
	.p-top-service-tab-list__item .icon {
		width: 72px;
		height: 72px;
	}
}
.p-top-service-tab-list__item .title {
	font-weight: 700;
	font-size: calc(20 / (var(--fontsize)) * 1rem);
	transition: var(--transition-time) var(--transition-ease);
}
@media (max-width: 767px) {
	.p-top-service-tab-list__item .title {
		font-size: calc(16 / (var(--fontsize)) * 1rem);
	}
}
.p-top-service-tab-list__item .arrow {
	position: absolute;
	right: 1px;
	bottom: 1px;
	width: 30px;
	height: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-image: linear-gradient(135deg, #696969 0%, #696969 100%);
	overflow: hidden;
}
.p-top-service-tab-list__item .arrow::before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	inset: 0;
	background-image: linear-gradient(135deg, var(--color_tertiary) 0%, var(--color_secondary) 100%);
	transition: var(--transition-time) var(--transition-ease);
	translate: 100% 100%;
	opacity: 0;
}
.p-top-service-tab-list__item .arrow > * {
	position: relative;
	z-index: 1;
}
.p-top-service-tab-list__item .new {
	position: absolute;
	left: 0;
	top: 0;
	translate: -10px -50%;
}

.p-top-service-tab-panel-container {
	display: grid;
}
@media (max-width: 1024px) {
	.p-top-service-tab-panel-container {
		position: fixed;
		inset: 0;
		display: grid;
		place-items: center;
		width: 100%;
		padding: var(--siteMargin);
		min-height: 100vh;
		min-height: 100dvh;
		z-index: 5010;
		opacity: 0;
		pointer-events: none;
		transition: var(--transition-time) var(--transition-ease);
	}
	.p-top-service-tab-panel-container.is-on_sp {
		opacity: 1;
		pointer-events: auto;
	}
}

@media (max-width: 1024px) {
	.p-top-service-tab-bg {
		position: fixed;
		inset: 0;
		width: 100%;
		min-height: 100vh;
		min-height: 100dvh;
		background-color: rgba(45, 45, 45, 0.9);
		opacity: 0;
		pointer-events: none;
		transition: var(--transition-time) var(--transition-ease);
	}
	.p-top-service-tab-panel-container.is-on_sp .p-top-service-tab-bg {
		opacity: 1;
		pointer-events: auto;
	}
}

.p-top-service-tab-panel {
	grid-row: 1/2;
	grid-column: 1/2;
	opacity: 0;
	translate: 0 40px;
	pointer-events: none;
	transition: var(--transition-time) var(--transition-ease);
}
@media (max-width: 1024px) {
	.p-top-service-tab-panel {
		height: 0;
		max-height: calc(100vh - var(--siteMargin) * 2);
		max-height: calc(100dvh - var(--siteMargin) * 2);
		overflow: auto;
		-ms-overflow-style: none;
		scrollbar-width: none;
	}
	.p-top-service-tab-panel::-webkit-scrollbar {
		display: none;
	}
}
@media (min-width: 1025px) {
	.p-top-service-tab-panel.is-on_pc {
		opacity: 1;
		pointer-events: auto;
		translate: 0 0;
	}
}
@media (max-width: 1024px) {
	.p-top-service-tab-panel.is-on_sp {
		opacity: 1;
		pointer-events: auto;
		translate: 0 0;
		height: auto;
	}
}

@media (max-width: 1024px) {
	.p-top-service-tab-panel-close {
		position: relative;
		display: flex;
		justify-content: end;
		width: 30px;
		height: 30px;
		margin-bottom: 10px;
		margin-left: auto;
	}
	.p-top-service-tab-panel-close::before, .p-top-service-tab-panel-close::after {
		content: "";
		width: 1px;
		height: 100%;
		background-color: var(--color_lightest);
		position: absolute;
		left: 50%;
		top: 50%;
		translate: -50% -50%;
	}
	.p-top-service-tab-panel-close::before {
		rotate: 45deg;
	}
	.p-top-service-tab-panel-close::after {
		rotate: -45deg;
	}
}

.p-top-service-tab-panel-col {
	margin-top: 48px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: start;
	padding: 20px;
	background: linear-gradient(#fff, #fff) top left/8px 1px no-repeat, linear-gradient(#fff, #fff) top left/1px 8px no-repeat, linear-gradient(#fff, #fff) top right/8px 1px no-repeat, linear-gradient(#fff, #fff) top right/1px 8px no-repeat, linear-gradient(#fff, #fff) bottom left/8px 1px no-repeat, linear-gradient(#fff, #fff) bottom left/1px 8px no-repeat, linear-gradient(#fff, #fff) bottom right/8px 1px no-repeat, linear-gradient(#fff, #fff) bottom right/1px 8px no-repeat;
	background-color: #4e4e4e;
}
@media (max-width: 1024px) {
	.p-top-service-tab-panel-col {
		margin-top: 0;
		grid-template-columns: auto;
		gap: 20px;
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	.p-top-service-tab-panel-col {
		padding: 40px;
	}
}
@media (max-width: 767px) {
	.p-top-service-tab-panel-col {
		padding: 20px;
	}
}
.p-top-service-tab-panel-col__main {
	padding: 20px;
}
@media (max-width: 1024px) {
	.p-top-service-tab-panel-col__main {
		padding: 0;
	}
}
.p-top-service-tab-panel-col__image {
	aspect-ratio: 1000/360;
}
.p-top-service-tab-panel-col__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media (min-width: 1025px) {
	.p-top-service-tab-panel-col__btn {
		display: none;
	}
}

.p-top-service-tab-panel-title {
	font-weight: 700;
	font-size: calc(20 / (var(--fontsize)) * 1rem);
	line-height: var(--lh);
	color: var(--color_lightest);
}
@media (max-width: 767px) {
	.p-top-service-tab-panel-title {
		font-size: calc(15 / (var(--fontsize)) * 1rem);
	}
}

.p-top-service-tab-panel-text {
	margin-top: 0.5em;
	font-size: calc(16 / (var(--fontsize)) * 1rem);
	line-height: var(--lh);
	color: var(--color_lightest);
}
@media (max-width: 767px) {
	.p-top-service-tab-panel-text {
		font-size: calc(13 / (var(--fontsize)) * 1rem);
	}
}

/* topics */
.p-top-topics__inner {
	padding-block: var(--u_margin_3xl);
}
@media (max-width: 767px) {
	.p-top-topics__inner {
		padding-block: var(--u_margin_2xl);
	}
}

.p-top-topics-section {
	margin-top: var(--siteMargin_m);
}

.p-top-topics-section-title {
	position: relative;
	font-size: calc(30 / (var(--fontsize)) * 1rem);
	font-weight: 700;
	padding-left: 30px;
}
@media (max-width: 767px) {
	.p-top-topics-section-title {
		padding-left: 20px;
		font-size: calc(20 / (var(--fontsize)) * 1rem);
	}
}
.p-top-topics-section-title::before {
	content: "";
	width: 20px;
	height: 20px;
	border-radius: 100%;
	background-color: var(--color_secondary);
	position: absolute;
	left: 0;
	top: 50%;
	translate: 0 -50%;
}
@media (max-width: 767px) {
	.p-top-topics-section-title::before {
		width: 15px;
		height: 15px;
	}
}

.p-top-topics-btn {
	margin-top: var(--siteMargin_m);
}

.p-top-topics-service-splide {
	position: relative;
	margin-top: var(--siteMargin_xs);
}

.p-top-topics-service-arrow {
	position: absolute;
	top: 50%;
	translate: 0 -50%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	background-color: var(--color_primary);
	border-radius: 100vmax;
	cursor: pointer;
	overflow: hidden;
	z-index: 1;
}
.p-top-topics-service-arrow::before {
	content: "";
	opacity: 0;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background-image: linear-gradient(135deg, var(--color_tertiary) 0%, var(--color_secondary) 100%);
	opacity: 0;
	transition: var(--transition-time) var(--transition-ease);
}
@media (hover: hover) and (pointer: fine) {
	.p-top-topics-service-arrow:hover::before {
		translate: 0 0;
		opacity: 1;
	}
}
.p-top-topics-service-arrow img {
	position: relative;
	width: 20px;
	height: 20px;
	z-index: 1;
}
.p-top-topics-service-arrow--prev {
	left: 0;
	translate: calc(-100% - 20px) -50%;
}
@media (max-width: 767px) {
	.p-top-topics-service-arrow--prev {
		translate: -10px -50%;
	}
}
.p-top-topics-service-arrow--prev img {
	transform: scale(-1, 1);
}
.p-top-topics-service-arrow--next {
	right: 0;
	translate: calc(100% + 20px) -50%;
}
@media (max-width: 767px) {
	.p-top-topics-service-arrow--next {
		translate: 10px -50%;
	}
}

.p-top-topics-service-list {
	display: flex;
}
.p-top-topics-service-list__item {
	display: flex;
	flex-direction: column;
}
@media (max-width: 767px) {
	.p-top-topics-service-list__item {
		width: 72.9166666667vw;
	}
}
.p-top-topics-service-list__item__image {
	aspect-ratio: 696/340;
	overflow: hidden;
}
.p-top-topics-service-list__item__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: var(--transition-time) var(--transition-ease);
}
.p-top-topics-service-list__item__main {
	position: relative;
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	gap: var(--siteMargin_2xs);
	padding: 16px;
	transition: var(--transition-time) var(--transition-ease);
}
.p-top-topics-service-list__item:hover {
	text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
	.p-top-topics-service-list__item:hover .arrow {
		translate: 4px 0;
	}
	.p-top-topics-service-list__item:hover .p-top-topics-service-list__item__main {
		background-color: var(--color_bg_lighter);
	}
	.p-top-topics-service-list__item:hover .p-top-topics-service-list__item__image img {
		transform: scale(1.05);
	}
}
.p-top-topics-service-list__item .datetime {
	flex-shrink: 0;
	font-size: calc(14 / (var(--fontsize)) * 1rem);
	font-weight: 700;
	color: var(--color_quaternary);
}
@media (max-width: 767px) {
	.p-top-topics-service-list__item .datetime {
		font-size: calc(11 / (var(--fontsize)) * 1rem);
	}
}
.p-top-topics-service-list__item .title {
	flex-grow: 1;
	gap: 0.5em;
	overflow: hidden;
	font-size: calc(18 / (var(--fontsize)) * 1rem);
	line-height: var(--lh);
	transition: var(--transition-time) var(--transition-ease);
}
@media (max-width: 767px) {
	.p-top-topics-service-list__item .title {
		font-size: calc(13 / (var(--fontsize)) * 1rem);
	}
}
.p-top-topics-service-list__item .new {
	margin-left: 0.5em;
	vertical-align: middle;
}
.p-top-topics-service-list__item .arrow {
	position: absolute;
	right: 20px;
	bottom: 16px;
	transition: var(--transition-time) var(--transition-ease);
}

.p-top-topics-service-track {
	overflow: visible !important;
}

.p-top-topics-information {
	margin-top: var(--siteMargin_xs);
	border-top: 1px solid var(--color_line);
}
.p-top-topics-information__item {
	position: relative;
	display: flex;
	align-items: center;
	gap: var(--siteMargin_xs);
	border-bottom: 1px solid var(--color_line);
	padding: 20px 40px;
	transition: var(--transition-time) var(--transition-ease);
}
@media (max-width: 767px) {
	.p-top-topics-information__item {
		display: grid;
		gap: 0.5em;
		padding: 10px 40px 10px 10px;
	}
}
.p-top-topics-information__item:hover {
	text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
	.p-top-topics-information__item:hover {
		background-color: var(--color_bg_lighter);
	}
	.p-top-topics-information__item:hover .arrow {
		translate: 4px 0;
	}
}
.p-top-topics-information__item .datetime {
	width: 6rem;
	flex-shrink: 0;
	font-size: calc(14 / (var(--fontsize)) * 1rem);
	font-weight: 700;
	color: var(--color_quaternary);
}
@media (max-width: 767px) {
	.p-top-topics-information__item .datetime {
		width: unset;
		font-size: calc(11 / (var(--fontsize)) * 1rem);
	}
}
.p-top-topics-information__item .title {
	gap: 0.5em;
	flex: 1 1 0;
	overflow: hidden;
	font-size: calc(18 / (var(--fontsize)) * 1rem);
	line-height: var(--lh);
}
@media (max-width: 767px) {
	.p-top-topics-information__item .title {
		font-size: calc(13 / (var(--fontsize)) * 1rem);
	}
}
.p-top-topics-information__item .new {
	margin-left: 0.5em;
	vertical-align: middle;
}
.p-top-topics-information__item .arrow {
	flex-shrink: 0;
	transition: var(--transition-time) var(--transition-ease);
}
@media (max-width: 767px) {
	.p-top-topics-information__item .arrow {
		position: absolute;
		right: 10px;
		bottom: 10px;
	}
}

/* bnrs */
/* ========== 外枠：ウィンドウ基準 ========== */
.p-top-bnrs {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 767px) {
	.p-top-bnrs {
		grid-template-columns: auto;
	}
}
.p-top-bnrs__item {
	position: relative;
	display: grid;
}
@media (hover: hover) and (pointer: fine) {
	.p-top-bnrs__item:hover {
		text-decoration: none;
	}
	.p-top-bnrs__item:hover .p-top-bnrs-arrow {
		translate: 4px 0;
	}
	.p-top-bnrs__item:hover .p-top-bnrs__item__image img {
		opacity: 0.75;
		transform: scale(1.05);
	}
}
.p-top-bnrs__item__inner {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 100%;
	row-gap: var(--siteMargin_xs);
	max-width: calc(var(--width_secondary) / 2 - var(--siteMargin));
	box-sizing: content-box;
	padding: var(--siteMargin);
	grid-column: 1;
	grid-row: 1;
	z-index: 1;
}
@media (max-width: 767px) {
	.p-top-bnrs__item__inner {
		padding-inline: 40px;
	}
}
.p-top-bnrs__item:nth-of-type(odd) .p-top-bnrs__item__inner {
	margin-left: auto;
}
.p-top-bnrs__item__image {
	grid-column: 1;
	grid-row: 1;
	min-height: 350px;
	overflow: hidden;
}
@media (max-width: 767px) {
	.p-top-bnrs__item__image {
		min-height: unset;
		aspect-ratio: 768/454;
	}
}
.p-top-bnrs__item__image img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	transition: var(--transition-time) var(--transition-ease);
}

.p-top-bnrs-text {
	font-size: calc(16 / (var(--fontsize)) * 1rem);
	line-height: var(--lh);
	color: var(--color_lightest);
}
@media (max-width: 767px) {
	.p-top-bnrs-text {
		font-size: calc(13 / (var(--fontsize)) * 1rem);
	}
}

.p-top-bnrs-arrow {
	position: absolute;
	right: var(--siteMargin);
	bottom: var(--siteMargin);
	transition: var(--transition-time) var(--transition-ease);
}
@media (max-width: 767px) {
	.p-top-bnrs-arrow {
		right: 40px;
		bottom: 40px;
	}
}

/* factory */
.p-top-factory__inner {
	padding-block: var(--u_margin_3xl);
}
@media (max-width: 767px) {
	.p-top-factory__inner {
		padding-block: var(--u_margin_2xl);
	}
}

.p-top-factory-col {
	position: relative;
	display: grid;
	grid-template-columns: minmax(320px, 50%) 1fr;
	align-items: start;
	gap: 60px 0;
}
@media (max-width: 767px) {
	.p-top-factory-col {
		gap: 40px 0;
		grid-template-columns: auto;
	}
}
.p-top-factory-col__main {
	display: grid;
	gap: var(--siteMargin_xs);
	padding-right: var(--siteMargin);
}
@media (max-width: 767px) {
	.p-top-factory-col__main {
		padding-right: unset;
	}
}
.p-top-factory-col__image {
	position: relative;
	align-self: stretch;
	min-width: 0;
}
@media (max-width: 767px) {
	.p-top-factory-col__image {
		order: 1;
	}
}
.p-top-factory-col__sub {
	grid-column: 1/3;
}
@media (max-width: 767px) {
	.p-top-factory-col__sub {
		grid-column: auto;
	}
}

.p-top-factory-images-track {
	position: relative;
	width: 100vw;
}

.p-top-factory-images-list__item {
	aspect-ratio: 1100/600;
	width: 550px;
}
@media (max-width: 767px) {
	.p-top-factory-images-list__item {
		width: 71.6145833333vw;
	}
}
.p-top-factory-images-list__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.p-top-factory-images-pagination {
	margin-top: 16px;
}
.p-top-factory-images-pagination .splide__pagination {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 10px;
}
.p-top-factory-images-pagination .splide__pagination > * button {
	width: 12px;
	height: 12px;
	border-radius: 100%;
	background-color: #bbbbbb;
	transition: var(--transition-time) var(--transition-ease);
	cursor: pointer;
}
.p-top-factory-images-pagination .splide__pagination > * button.is-active {
	background-color: var(--color_secondary);
}

.p-top-factory-text {
	font-size: calc(20 / (var(--fontsize)) * 1rem);
	font-weight: 700;
	line-height: var(--lh_s);
}
@media (max-width: 767px) {
	.p-top-factory-text {
		font-size: calc(13 / (var(--fontsize)) * 1rem);
	}
}

.p-top-factory-list {
	display: grid;
	width: fit-content;
	gap: 4px;
}
.p-top-factory-list > * {
	background-color: var(--color_lightest);
	border: 1px solid var(--color_primary);
	padding: 4px 16px;
	font-size: calc(16 / (var(--fontsize)) * 1rem);
	line-height: var(--lh_s);
}
@media (max-width: 767px) {
	.p-top-factory-list > * {
		font-size: calc(12 / (var(--fontsize)) * 1rem);
	}
}

.p-top-factory-results {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 1024px) {
	.p-top-factory-results {
		grid-template-columns: auto;
	}
}
.p-top-factory-results__item {
	padding-block: 10px;
	padding-inline: 10px;
	margin-left: -1px;
	margin-right: -1px;
	border-right: 1px solid var(--color_primary);
}
@media (max-width: 1024px) {
	.p-top-factory-results__item {
		padding-block: 20px;
		border-right: 0;
		border-bottom: 1px solid var(--color_primary);
	}
}
.p-top-factory-results__item:nth-of-type(1) {
	border-left: 1px solid var(--color_primary);
}
@media (max-width: 1024px) {
	.p-top-factory-results__item:nth-of-type(1) {
		border-left: 0;
		border-top: 1px solid var(--color_primary);
	}
}
.p-top-factory-results__item__title {
	font-weight: 700;
	font-size: calc(20 / (var(--fontsize)) * 1rem);
	line-height: var(--lh_s);
	text-align: center;
}
@media (max-width: 767px) {
	.p-top-factory-results__item__title {
		font-size: calc(18 / (var(--fontsize)) * 1rem);
	}
}
.p-top-factory-results__item__text {
	font-size: calc(14 / (var(--fontsize)) * 1rem);
	line-height: var(--lh_s);
	text-align: center;
}
@media (max-width: 767px) {
	.p-top-factory-results__item__text {
		font-size: calc(10 / (var(--fontsize)) * 1rem);
	}
}

.p-top-factory-results-number {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-top: 10px;
}
@media (max-width: 767px) {
	.p-top-factory-results-number {
		gap: 5px;
	}
}
.p-top-factory-results-number__icon {
	width: 60px;
	flex-shrink: 0;
}
@media (min-width: 1280px) {
	.p-top-factory-results-number__icon {
		width: 80px;
	}
}
@media (max-width: 767px) {
	.p-top-factory-results-number__icon {
		width: 50px;
	}
}
.p-top-factory-results-number__main {
	display: flex;
	align-items: center;
	gap: 10px;
}
.p-top-factory-results-number__main .yearly {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 24px;
	min-height: 56px;
	writing-mode: vertical-rl;
	color: var(--color_lightest);
	background-color: var(--color_primary);
	border-radius: 100vmax;
	font-size: calc(14 / (var(--fontsize)) * 1rem);
	font-weight: 700;
	letter-spacing: 0.15em;
}
@media (max-width: 767px) {
	.p-top-factory-results-number__main .yearly {
		min-width: 18px;
		min-height: 42px;
		font-size: calc(10 / (var(--fontsize)) * 1rem);
	}
}
.p-top-factory-results-number__main .num {
	font-family: var(--font_en);
	font-style: italic;
	font-weight: 500;
	letter-spacing: 0.01em;
	text-box-trim: trim-both;
	text-box-edge: cap alphabetic;
	color: var(--color_secondary);
	line-height: 1;
	letter-spacing: -0.05em;
	font-variant-numeric: tabular-nums;
	transition: var(--transition-time) var(--transition-ease);
	font-size: calc(72 / (var(--fontsize)) * 1rem);
}
@media (min-width: 1280px) {
	.p-top-factory-results-number__main .num {
		font-size: calc(90 / (var(--fontsize)) * 1rem);
	}
}
@media (max-width: 767px) {
	.p-top-factory-results-number__main .num {
		font-size: calc(64 / (var(--fontsize)) * 1rem);
	}
}
.p-top-factory-results-number__main .text {
	align-self: end;
	font-weight: 700;
	font-size: calc(20 / (var(--fontsize)) * 1rem);
}
@media (max-width: 767px) {
	.p-top-factory-results-number__main .text {
		font-size: calc(15 / (var(--fontsize)) * 1rem);
	}
}

.p-top-factory-results-review {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: fit-content;
	gap: 4px;
	margin-inline: auto;
	margin-top: 10px;
	padding-bottom: 42px;
}
@media (max-width: 767px) {
	.p-top-factory-results-review {
		padding-bottom: 38px;
	}
}
.p-top-factory-results-review__star {
	position: relative;
	flex: 1 1 0;
	min-width: 32px;
	aspect-ratio: 1;
	background-image: url("../images/common/icon/star.svg");
	background-size: 100%;
}
@media (max-width: 767px) {
	.p-top-factory-results-review__star {
		min-width: 24px;
	}
}
.p-top-factory-results-review__star.disable {
	background-image: url("../images/common/icon/star-dark.svg");
}
.p-top-factory-results-review__text {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 72px;
	min-height: 32px;
	padding: 4px;
	bottom: 0;
	right: 16px;
	border-radius: 100vmax;
	background-color: var(--color_secondary);
	color: var(--color_lightest);
	text-align: center;
}
@media (max-width: 767px) {
	.p-top-factory-results-review__text {
		right: 8px;
		min-width: 64px;
		min-height: 28px;
	}
}
.p-top-factory-results-review__text .num {
	font-family: var(--font_en);
	font-style: italic;
	font-weight: 500;
	letter-spacing: 0.01em;
	text-box-trim: trim-both;
	text-box-edge: cap alphabetic;
	font-size: calc(24 / (var(--fontsize)) * 1rem);
	font-variant-numeric: tabular-nums;
}
@media (max-width: 767px) {
	.p-top-factory-results-review__text .num {
		font-size: calc(20 / (var(--fontsize)) * 1rem);
	}
}
.p-top-factory-results-review__text .unit {
	font-size: calc(14 / (var(--fontsize)) * 1rem);
	font-weight: 700;
	align-self: end;
}
@media (max-width: 767px) {
	.p-top-factory-results-review__text .unit {
		font-size: calc(10 / (var(--fontsize)) * 1rem);
	}
}
.p-top-factory-results-review__text::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 0;
	border-bottom: 8px solid var(--color_secondary);
	border-left: solid 4px transparent;
	border-right: solid 4px transparent;
	translate: -50% -100%;
}

/* access */
.p-top-access__inner {
	padding-block: var(--u_margin_3xl);
}
@media (max-width: 767px) {
	.p-top-access__inner {
		padding-block: var(--u_margin_2xl);
	}
}

.p-top-access-col {
	margin-top: var(--siteMargin_xs);
	display: grid;
	grid-template-columns: 1fr 1fr;
	background-color: var(--color_bg_light);
}
@media (max-width: 767px) {
	.p-top-access-col {
		grid-template-columns: auto;
	}
}
.p-top-access-col__main {
	display: grid;
	gap: var(--siteMargin_xs);
	padding: var(--siteMargin);
}
.p-top-access-col__map {
	position: relative;
	overflow: hidden;
}
@media (max-width: 767px) {
	.p-top-access-col__map {
		aspect-ratio: 690/580;
	}
}
.p-top-access-col__map iframe {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}

.p-top-access-title {
	font-weight: 700;
	line-height: var(--lh_s);
	font-size: calc(20 / (var(--fontsize)) * 1rem);
}
@media (max-width: 767px) {
	.p-top-access-title {
		font-size: calc(15 / (var(--fontsize)) * 1rem);
	}
}

.p-top-access-content {
	display: grid;
}
@media (max-width: 767px) {
	.p-top-access-content {
		gap: 5px;
	}
}

.p-top-access-text {
	font-size: calc(16 / (var(--fontsize)) * 1rem);
	line-height: var(--lh);
}
@media (max-width: 767px) {
	.p-top-access-text {
		font-size: calc(12 / (var(--fontsize)) * 1rem);
	}
}

.p-top-access-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--color_lightest);
	background-color: var(--color_primary);
	border-radius: 100vmax;
	font-size: calc(13 / (var(--fontsize)) * 1rem);
	vertical-align: middle;
	padding: 2px 16px;
	translate: 0 -0.1em;
	transition: var(--transition-time) var(--transition-ease);
}
@media (max-width: 767px) {
	.p-top-access-btn {
		margin-top: 5px;
		padding-block-end: 4px;
		font-size: calc(12 / (var(--fontsize)) * 1rem);
	}
}
.p-top-access-btn:hover {
	text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
	.p-top-access-btn:hover {
		background-color: var(--color_secondary);
	}
}

.p-top-access-num {
	display: flex;
	flex-wrap: wrap;
	gap: 1em;
	font-size: calc(16 / (var(--fontsize)) * 1rem);
	line-height: var(--lh);
}
@media (min-width: 768px) and (max-width: 1024px) {
	.p-top-access-num {
		display: grid;
		gap: 0;
	}
}
@media (max-width: 767px) {
	.p-top-access-num {
		margin-top: 10px;
		display: grid;
		gap: 10px;
	}
}
@media (max-width: 767px) {
	.p-top-access-num {
		font-size: calc(12 / (var(--fontsize)) * 1rem);
	}
}
.p-top-access-num a[href^="tel:"].tel {
	cursor: default;
}
@media (max-width: 767px) {
	.p-top-access-num a[href^="tel:"].tel {
		cursor: pointer;
		display: flex;
		align-items: center;
		justify-content: center;
		border-radius: 4px;
		min-height: 50px;
		background-color: var(--color_secondary);
		font-weight: 700;
		font-size: calc(14 / (var(--fontsize)) * 1rem);
		color: var(--color_lightest);
	}
}
.p-top-access-num a[href^="tel:"].tel:hover {
	text-decoration: none;
}

.p-top-access-info {
	display: grid;
	grid-template-columns: max-content 1fr;
	gap: 0.25em;
	border-left: 4px solid var(--color_secondary);
	padding-left: 1em;
	line-height: var(--lh_s);
	font-weight: 700;
	font-size: calc(16 / (var(--fontsize)) * 1rem);
}
@media (max-width: 767px) {
	.p-top-access-info {
		border-left-width: 2px;
		font-size: calc(12 / (var(--fontsize)) * 1rem);
	}
}
.p-top-access-info__title {
	white-space: nowrap;
}
.p-top-access-info__text {
	padding-left: 1.25em;
	text-indent: -1.25em;
}
.p-top-access-info__text::before {
	content: "：";
	margin-right: 0.25em;
}

/* instagram */
.p-top-ig-splide {
	margin-top: var(--siteMargin_xs);
}

.p-top-ig-list__item {
	width: 280px;
}
@media (max-width: 767px) {
	.p-top-ig-list__item {
		width: 36.4583333333vw;
	}
}
.p-top-ig-list__item a {
	display: flex;
	overflow: hidden;
}
@media (hover: hover) and (pointer: fine) {
	.p-top-ig-list__item a:hover img {
		transform: scale(1.05);
	}
}
.p-top-ig-list img {
	aspect-ratio: 1/1;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: var(--transition-time) var(--transition-ease);
}

/* =======================================================================
animation
======================================================================= */
.c-page-mv-list {
	opacity: 0;
	transition: var(--transition-time) var(--transition-ease);
	translate: 0 -20px;
	transition-property: opacity, transform;
	transition-delay: 0.75s;
}
.p-tire-mv.is-on .c-page-mv-list, .p-maintenance-mv.is-on .c-page-mv-list {
	opacity: 1;
	translate: 0 0;
}

.p-tire-mv {
	opacity: 0;
	transition: 1s;
	transition-property: opacity;
}
.p-tire-mv.is-on {
	opacity: 1;
}

.p-tire-mv-copy {
	opacity: 0;
	transition: 0.5s;
	transition-property: opacity, transform, filter;
	transition-delay: 1s;
	translate: 0 20px;
	filter: blur(20px);
}
.p-tire-mv.is-on .p-tire-mv-copy {
	opacity: 1;
	translate: 0 0;
	filter: blur(0);
}

.p-maintenance-mv {
	opacity: 0;
	transition: 1s;
	transition-property: opacity;
}
.p-maintenance-mv.is-on {
	opacity: 1;
}

.p-maintenance-mv-copy {
	opacity: 0;
	transition: 0.5s;
	transition-property: opacity, transform, filter;
	transition-delay: 1s;
	translate: 0 20px;
	filter: blur(20px);
}
.p-maintenance-mv.is-on .p-maintenance-mv-copy {
	opacity: 1;
	translate: 0 0;
	filter: blur(0);
}

.p-alignment-mv {
	opacity: 0;
	transition: 1s;
	transition-property: opacity;
}
.p-alignment-mv.is-on {
	opacity: 1;
}

.p-alignment-mv-images__item__text {
	opacity: 0;
	transition: 1s;
	transition-property: opacity, filter;
	transition-delay: 0.75s;
	filter: blur(20px);
}
.p-alignment-mv-images__item.is-active .p-alignment-mv-images__item__text {
	opacity: 1;
	filter: blur(0px);
}

.p-alignment-mv-images__item__ph__item {
	opacity: 0;
	transition: 1s;
	transition-property: opacity, filter;
	filter: blur(20px);
}
.p-alignment-mv-images__item__ph__item:nth-of-type(1) {
	transition-delay: 0.25s;
}
.p-alignment-mv-images__item__ph__item:nth-of-type(2) {
	transition-delay: 0.25s;
}
.p-alignment-mv-images__item.is-active .p-alignment-mv-images__item__ph__item {
	opacity: 1;
	filter: blur(0px);
}

.p-alignment-mv-images__item__copy__text {
	opacity: 0;
	transition: 1s;
	transition-property: opacity, filter;
	filter: blur(20px);
}
.p-alignment-mv-images__item__copy__text:nth-of-type(1) {
	transition-delay: 0.75s;
}
.p-alignment-mv-images__item__copy__text:nth-of-type(2) {
	transition-delay: 1s;
}
.p-alignment-mv-images__item.is-active .p-alignment-mv-images__item__copy__text {
	opacity: 1;
	filter: blur(0px);
}

.p-supply-mv {
	opacity: 0;
	transition: 1s;
	transition-property: opacity;
}
.p-supply-mv.is-on {
	opacity: 1;
}

.p-supply-mv-images__item__text,
.p-supply-mv-images__item__menu {
	opacity: 0;
	filter: blur(20px);
	transition: 1s;
	transition-property: opacity, filter;
	transition-delay: 0.75s;
}
.p-supply-mv-images__item.is-active .p-supply-mv-images__item__text,
.p-supply-mv-images__item.is-active .p-supply-mv-images__item__menu {
	opacity: 1;
	filter: blur(0px);
}

.p-coating-mv {
	opacity: 0;
	transition: 1s;
	transition-property: opacity;
}
.p-coating-mv.is-on {
	opacity: 1;
}

.p-coating-mv-images__item__text,
.p-coating-mv-images__item__menu {
	opacity: 0;
	transition: 1s;
	transition-delay: 0.75s;
	transition-property: opacity, filter;
	filter: blur(20px);
}
.p-coating-mv-images__item.is-active .p-coating-mv-images__item__text,
.p-coating-mv-images__item.is-active .p-coating-mv-images__item__menu {
	opacity: 1;
	filter: blur(0px);
}

/* =======================================================================
tire
supply
coating
archives
======================================================================= */
.c-page-archives {
	display: grid;
	gap: 30px;
}
@media (max-width: 767px) {
	.c-page-archives {
		gap: 20px;
	}
}
.c-page-archives + .c-page-archives {
	margin-top: 80px;
}
@media (max-width: 767px) {
	.c-page-archives + .c-page-archives {
		margin-top: 40px;
	}
}

.c-page-archives-heading {
	display: flex;
	align-items: start;
	justify-content: space-between;
	gap: var(--siteMargin);
}

.c-page-archives-description {
	display: flex;
	gap: 20px;
	margin-bottom: 20px;
}
@media (max-width: 767px) {
	.c-page-archives-description {
		flex-direction: column;
	}
}
.c-page-archives-description__image {
	width: 66.6%;
	flex-shrink: 0;
}
@media (max-width: 767px) {
	.c-page-archives-description__image {
		width: 100%;
	}
}
.c-page-archives-description__image img {
	aspect-ratio: 728/415;
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.c-page-archives-description__main {
	box-sizing: border-box;
}
.c-page-archives-description__main__inner {
	padding: 16px 0 0 16px;
}
@media (max-width: 767px) {
	.c-page-archives-description__main__inner {
		padding: 0;
	}
}

.c-page-archives-col {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px 20px;
}
@media (max-width: 767px) {
	.c-page-archives-col {
		grid-template-columns: auto;
	}
}

.c-page-archives-item {
	display: grid;
	grid-template-rows: subgrid;
	gap: 0;
	grid-row: span 4;
}
a.c-page-archives-item:hover {
	text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
	a.c-page-archives-item:hover .c-page-archives-item-main {
		background-color: var(--color_bg_lighter);
	}
	a.c-page-archives-item:hover .c-page-archives-item-image img {
		transform: scale(1.05);
	}
}

.c-page-archives-item-image {
	aspect-ratio: 696/340;
	overflow: hidden;
}
.c-page-archives-item-image img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	transition: var(--transition-time) var(--transition-ease);
}

.c-page-archives-item-main {
	grid-template-rows: inherit;
	grid-row: inherit;
	display: grid;
	gap: 16px;
	padding: 16px;
	transition: var(--transition-time) var(--transition-ease);
}
@media (max-width: 767px) {
	.c-page-archives-item-main {
		gap: 10px;
		padding: 16px 12px;
	}
}

.c-page-archives-item-title {
	align-self: start;
	font-weight: 700;
	font-size: calc(24 / (var(--fontsize)) * 1rem);
	line-height: var(--lh_s);
}
@media (max-width: 767px) {
	.c-page-archives-item-title {
		font-size: calc(18 / (var(--fontsize)) * 1rem);
	}
}

.c-page-archives-item-price {
	align-self: start;
	display: flex;
	flex-wrap: wrap;
	font-weight: 700;
	align-items: end;
	font-size: calc(18 / (var(--fontsize)) * 1rem);
	line-height: var(--lh_s);
}
@media (max-width: 767px) {
	.c-page-archives-item-price {
		font-size: calc(14 / (var(--fontsize)) * 1rem);
	}
}
.c-page-archives-item-price .unit {
	font-size: calc(16 / (var(--fontsize)) * 1rem);
}
@media (max-width: 767px) {
	.c-page-archives-item-price .unit {
		font-size: calc(13 / (var(--fontsize)) * 1rem);
	}
}

.c-page-archives-item-text {
	align-self: start;
	font-size: calc(16 / (var(--fontsize)) * 1rem);
	line-height: var(--lh_s);
}
@media (max-width: 767px) {
	.c-page-archives-item-text {
		font-size: calc(13 / (var(--fontsize)) * 1rem);
	}
}

/* =======================================================================
main visual
======================================================================= */
.c-page-mv {
	padding-inline: var(--siteMargin);
	padding-block-end: var(--siteMargin);
}
@media (min-width: 1025px) {
	.c-page-mv {
		--pageMvWidth: 1360;
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	.c-page-mv {
		--pageMvWidth: 960;
	}
}
@media (max-width: 767px) {
	.c-page-mv {
		padding: 0;
		--pageMvWidth: 800;
	}
}
.c-page-mv__inner {
	position: relative;
	container-type: inline-size;
}

.c-page-mv-images__item {
	width: 100%;
	aspect-ratio: var(--pageMvWidth)/600;
	max-height: 600px;
}
.c-page-mv-images__item > img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.c-page-mv-list {
	position: absolute;
	top: calc(30 / var(--pageMvWidth) * 100cqw);
	right: calc(30 / var(--pageMvWidth) * 100cqw);
	display: grid;
	gap: calc(10 / var(--pageMvWidth) * 100cqw);
}
.c-page-mv-list__item {
	position: relative;
	display: flex;
	align-items: center;
	color: var(--color_lightest);
	font-family: var(--font_sans);
	text-box-trim: trim-both;
	text-box-edge: cap alphabetic;
	font-size: calc(14 / var(--pageMvWidth) * 100cqw);
	gap: 4px;
}
@media (max-width: 1024px) {
	.c-page-mv-list__item {
		font-size: calc(18 / var(--pageMvWidth) * 100cqw);
	}
}
.c-page-mv-list__item::before {
	flex-shrink: 0;
	content: "";
	width: calc(24 / var(--pageMvWidth) * 100cqw);
	height: calc(24 / var(--pageMvWidth) * 100cqw);
	background-image: url("../images/common/icon/mv_list.svg");
	background-size: 100%;
}

.p-tire-mv-copy {
	position: absolute;
	display: grid;
	gap: calc(20 / var(--pageMvWidth) * 100cqw);
	right: calc(50 / var(--pageMvWidth) * 100cqw);
	bottom: calc(50 / var(--pageMvWidth) * 100cqw);
}
@media (max-width: 1024px) {
	.p-tire-mv-copy {
		right: auto;
		left: calc(50 / var(--pageMvWidth) * 100cqw);
	}
}
.p-tire-mv-copy__text {
	width: 53.2cqw;
	max-width: 724px;
}
@media (max-width: 1024px) {
	.p-tire-mv-copy__text {
		width: 79.8cqw;
	}
}

.p-maintenance-mv-copy {
	position: absolute;
	display: grid;
	gap: calc(20 / var(--pageMvWidth) * 100cqw);
	left: calc(50 / var(--pageMvWidth) * 100cqw);
	bottom: calc(50 / var(--pageMvWidth) * 100cqw);
}
.p-maintenance-mv-copy__text {
	width: 71.4cqw;
	max-width: 972px;
}
@media (max-width: 1024px) {
	.p-maintenance-mv-copy__text {
		width: 85.68cqw;
	}
}

.p-alignment-mv-images__item {
	position: relative;
}
.p-alignment-mv-images__item__text {
	position: absolute;
	top: 50%;
	right: calc(50 / var(--pageMvWidth) * 100cqw);
	width: 51.2cqw;
	max-width: 700px;
	translate: 0 -50%;
}
@media (max-width: 1024px) {
	.p-alignment-mv-images__item__text {
		width: 76.8cqw;
	}
}
.p-alignment-mv-images__item__ph {
	position: absolute;
	display: grid;
	justify-content: end;
	top: calc(30 / var(--pageMvWidth) * 100cqw);
	right: 0;
}
.p-alignment-mv-images__item__ph__item {
	display: grid;
	justify-content: end;
	margin-left: auto;
}
.p-alignment-mv-images__item__ph__item:nth-of-type(1) {
	width: 48cqw;
	max-width: 436px;
}
.p-alignment-mv-images__item__ph__item:nth-of-type(2) {
	width: 44.55cqw;
	max-width: 404px;
}
.p-alignment-mv-images__item__copy {
	position: absolute;
	display: grid;
	gap: calc(20 / var(--pageMvWidth) * 100cqw);
	right: calc(50 / var(--pageMvWidth) * 100cqw);
	bottom: calc(50 / var(--pageMvWidth) * 100cqw);
}
.p-alignment-mv-images__item__copy__text {
	width: 58.8cqw;
	max-width: 800px;
}
@media (max-width: 1024px) {
	.p-alignment-mv-images__item__copy__text {
		width: 88.2cqw;
	}
}

.p-supply-mv-images__item {
	position: relative;
}
.p-supply-mv-images__item__text {
	position: absolute;
}
.p-supply-mv-images__item:nth-of-type(1) .p-supply-mv-images__item__text {
	right: calc(50 / var(--pageMvWidth) * 100cqw);
	top: calc(50 / var(--pageMvWidth) * 100cqw);
	width: 71.4cqw;
	max-width: 972px;
}
@media (max-width: 1024px) {
	.p-supply-mv-images__item:nth-of-type(1) .p-supply-mv-images__item__text {
		width: 85.68cqw;
	}
}
.p-supply-mv-images__item:nth-of-type(2) .p-supply-mv-images__item__text {
	left: calc(50 / var(--pageMvWidth) * 100cqw);
	top: calc(50 / var(--pageMvWidth) * 100cqw);
	width: 61.4cqw;
	max-width: 836px;
}
@media (max-width: 1024px) {
	.p-supply-mv-images__item:nth-of-type(2) .p-supply-mv-images__item__text {
		width: 73.68cqw;
	}
}
.p-supply-mv-images__item:nth-of-type(3) .p-supply-mv-images__item__text {
	right: calc(50 / var(--pageMvWidth) * 100cqw);
	bottom: calc(50 / var(--pageMvWidth) * 100cqw);
	width: 44.1cqw;
	max-width: 600px;
}
@media (max-width: 1024px) {
	.p-supply-mv-images__item:nth-of-type(3) .p-supply-mv-images__item__text {
		width: 52.92cqw;
	}
}
.p-supply-mv-images__item__menu {
	position: absolute;
	width: 30.7cqw;
	max-width: 420px;
	top: 50%;
	left: 50%;
	translate: -50% -50%;
}
@media (max-width: 1024px) {
	.p-supply-mv-images__item__menu {
		width: 61.4cqw;
	}
}

.p-coating-mv-images__item {
	position: relative;
}
.p-coating-mv-images__item__text {
	position: absolute;
	width: 25.8cqw;
	max-width: 352px;
}
@media (max-width: 1024px) {
	.p-coating-mv-images__item__text {
		width: 38.7cqw;
	}
}
.p-coating-mv-images__item__text {
	top: 50%;
	translate: 0 -50%;
}
.p-coating-mv-images__item:nth-of-type(1) .p-coating-mv-images__item__text {
	left: calc(50 / var(--pageMvWidth) * 100cqw);
}
.p-coating-mv-images__item:nth-of-type(2) .p-coating-mv-images__item__text {
	right: calc(50 / var(--pageMvWidth) * 100cqw);
}
.p-coating-mv-images__item:nth-of-type(3) .p-coating-mv-images__item__text {
	left: 50%;
	translate: -50% -50%;
}
.p-coating-mv-images__item:nth-of-type(4) .p-coating-mv-images__item__text {
	width: 47.6cqw;
	max-width: 648px;
	left: 50%;
	translate: -50% -50%;
}
@media (max-width: 1024px) {
	.p-coating-mv-images__item:nth-of-type(4) .p-coating-mv-images__item__text {
		width: 71.4cqw;
	}
}
.p-coating-mv-images__item__menu {
	position: absolute;
	width: 30.7cqw;
	max-width: 420px;
	top: 50%;
	left: 50%;
	translate: -50% -50%;
}
@media (max-width: 1024px) {
	.p-coating-mv-images__item__menu {
		width: 61.4cqw;
	}
}

/* =======================================================================
tire
======================================================================= */
.p-tire-guide {
	position: relative;
	display: flex;
	padding: 20px;
	max-width: 500px;
	margin-inline: auto;
	background-color: var(--color_primary);
	color: var(--color_lightest);
}
@media (max-width: 767px) {
	.p-tire-guide {
		padding: 24px;
	}
}
.p-tire-guide:hover {
	text-decoration: none;
}
.p-tire-guide:hover .title {
	color: var(--color_secondary);
}
.p-tire-guide::before {
	content: "";
	border-top: 24px solid var(--color_secondary);
	border-right: 24px solid transparent;
	position: absolute;
	left: 0;
	top: 0;
}
.p-tire-guide__main {
	padding: 20px;
	display: flex;
	align-items: center;
	gap: 20px;
	flex: 1 1 0;
}
@media (max-width: 767px) {
	.p-tire-guide__main {
		padding: 0;
	}
}
.p-tire-guide__main .icon {
	width: 48px;
	flex-shrink: 0;
}
.p-tire-guide__main .title {
	font-weight: 700;
	font-size: calc(20 / (var(--fontsize)) * 1rem);
	line-height: var(--lh_s);
	transition: var(--transition-time) var(--transition-ease);
}
@media (max-width: 767px) {
	.p-tire-guide__main .title {
		font-size: calc(16 / (var(--fontsize)) * 1rem);
	}
}
.p-tire-guide__image {
	width: 120px;
	flex-shrink: 0;
}
@media (max-width: 767px) {
	.p-tire-guide__image {
		display: none;
	}
}

.p-tire-fuction-list {
	display: grid;
	gap: 5px;
	grid-template-columns: repeat(auto-fill, minmax(216px, 1fr));
}
@media (max-width: 767px) {
	.p-tire-fuction-list {
		grid-template-columns: auto;
	}
}

.p-tire-fuction-item {
	position: relative;
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 3;
	gap: 30px;
	border-top: 2px solid var(--color_secondary);
	background-color: var(--color_bg_light);
	padding: 60px 20px 30px;
}
@media (max-width: 767px) {
	.p-tire-fuction-item {
		border-top: 0;
		border-left: 2px solid var(--color_secondary);
		padding: 16px 16px 20px;
		grid-template-columns: auto 1fr 80px;
		gap: 8px 16px;
		grid-template-rows: unset;
		grid-row: unset;
		align-items: start;
	}
}

.p-tire-fuction-item-num {
	position: absolute;
	left: 10px;
	top: 10px;
	font-size: calc(22 / (var(--fontsize)) * 1rem);
	font-family: var(--font_en);
	font-style: italic;
	font-weight: 500;
	letter-spacing: 0.01em;
	text-box-trim: trim-both;
	text-box-edge: cap alphabetic;
	color: var(--color_secondary);
	font-style: italic;
}
@media (max-width: 767px) {
	.p-tire-fuction-item-num {
		position: static;
		left: auto;
		top: auto;
		font-size: calc(20 / (var(--fontsize)) * 1rem);
	}
}

.p-tire-fuction-item-title {
	align-items: center;
	display: grid;
	gap: 10px;
	align-items: center;
	text-align: center;
	font-weight: 700;
	font-size: calc(26 / (var(--fontsize)) * 1rem);
}
@media (max-width: 767px) {
	.p-tire-fuction-item-title {
		grid-column: 2/3;
		grid-row: 1/2;
		gap: 5px;
		text-align: left;
		font-size: calc(20 / (var(--fontsize)) * 1rem);
	}
}
.p-tire-fuction-item-title--s {
	font-size: calc(20 / (var(--fontsize)) * 1rem);
}
@media (max-width: 767px) {
	.p-tire-fuction-item-title--s {
		font-size: calc(16 / (var(--fontsize)) * 1rem);
	}
}
.p-tire-fuction-item-title .s {
	font-size: calc(16 / (var(--fontsize)) * 1rem);
}
@media (max-width: 767px) {
	.p-tire-fuction-item-title .s {
		font-size: calc(13 / (var(--fontsize)) * 1rem);
	}
}

.p-tire-fuction-item-image {
	width: 100%;
	max-width: 150px;
	margin-inline: auto;
}
@media (max-width: 767px) {
	.p-tire-fuction-item-image {
		grid-column: 3/4;
		grid-row: 1/2;
	}
}

@media (max-width: 767px) {
	.p-tire-fuction-item-text {
		grid-column: 2/4;
		grid-row: 2/3;
	}
}

.p-tire-performance-pager {
	margin-top: 40px;
}
@media (max-width: 767px) {
	.p-tire-performance-pager {
		margin-top: 20px;
	}
}
.p-tire-performance-pager .splide__pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
}
.p-tire-performance-pager .splide__pagination button {
	cursor: pointer;
	width: 12px;
	height: 12px;
	border-radius: 100vmax;
	background-color: #bbb;
	transition: var(--transition-time) var(--transition-ease);
}
.p-tire-performance-pager .splide__pagination button.is-active {
	background-color: var(--color_secondary);
}

.p-tire-performance-list-track {
	position: relative;
	height: 440px;
}
@media (max-width: 767px) {
	.p-tire-performance-list-track {
		height: 71.6145833333vw;
	}
}

.p-tire-performance-list-bg {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}

.p-tire-performance-list-bg-image {
	height: 100%;
}
.p-tire-performance-list-bg-image img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.p-tire-performance-list-bg-logo {
	position: absolute;
	width: 160px;
	left: 80px;
	bottom: 50px;
	z-index: 1;
}
@media (max-width: 767px) {
	.p-tire-performance-list-bg-logo {
		left: 32px;
		bottom: 24px;
		width: 26.0416666667vw;
	}
}

.p-tire-performance-item {
	display: grid;
	width: 100%;
}
.p-tire-performance-item__main {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 30px;
	grid-area: 1/1;
	z-index: 1;
	padding: 50px 80px;
}
@media (max-width: 767px) {
	.p-tire-performance-item__main {
		padding: 24px 32px;
		gap: 16px;
	}
}

.p-tire-performance-item-num {
	font-weight: 700;
	@inclde font_en;
	color: var(--color_secondary);
	font-size: calc(60 / (var(--fontsize)) * 1rem);
	font-style: italic;
}
@media (max-width: 767px) {
	.p-tire-performance-item-num {
		font-size: calc(30 / (var(--fontsize)) * 1rem);
	}
}

.p-tire-performance-item-content {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	justify-content: start;
	gap: 10px;
	color: var(--color_lightest);
}

.p-tire-performance-item-title {
	font-size: calc(30 / (var(--fontsize)) * 1rem);
	font-weight: 700;
	line-height: var(--lh_s);
}
@media (max-width: 767px) {
	.p-tire-performance-item-title {
		font-size: calc(22 / (var(--fontsize)) * 1rem);
	}
}

.p-tire-performance-item-text {
	font-size: calc(16 / (var(--fontsize)) * 1rem);
	line-height: var(--lh);
}
@media (max-width: 767px) {
	.p-tire-performance-item-text {
		font-size: calc(13 / (var(--fontsize)) * 1rem);
	}
}

.p-tire-performance-arrow {
	cursor: pointer;
	position: absolute;
	top: 50%;
	width: 50px;
	height: 50px;
	background-color: #777777;
	border-radius: 100vmax;
	z-index: 1;
	display: grid;
	place-items: center;
	transition: var(--transition-time) var(--transition-ease);
}
@media (max-width: 767px) {
	.p-tire-performance-arrow {
		width: 44px;
		height: 44px;
	}
}
.p-tire-performance-arrow img {
	width: 40%;
}
@media (hover: hover) and (pointer: fine) {
	.p-tire-performance-arrow:hover {
		background-color: var(--color_secondary);
	}
}
.p-tire-performance-arrow--prev {
	left: 0;
	translate: -50% -50%;
	transform: scale(-1, 1);
}
.p-tire-performance-arrow--next {
	right: 0;
	translate: 50% -50%;
}

.p-tire-lifespan-check {
	display: flex;
	gap: 20px;
}
@media (max-width: 1024px) {
	.p-tire-lifespan-check {
		flex-direction: column;
	}
}
.p-tire-lifespan-check__item {
	flex: 1 1 0;
}

.p-tire-lifespan-check-item {
	position: relative;
	display: grid;
	background-color: var(--color_bg_light);
}
.p-tire-lifespan-check-item__main {
	padding: 20px;
	background-color: var(--color_bg_light);
	text-align: center;
}
.p-tire-lifespan-check-item__foot {
	padding: 20px;
	background-color: var(--color_primary);
	color: var(--color_lightest);
	font-weight: 700;
	line-height: var(--lh_s);
	font-size: calc(16 / (var(--fontsize)) * 1rem);
	text-align: center;
}
@media (max-width: 767px) {
	.p-tire-lifespan-check-item__foot {
		font-size: calc(13 / (var(--fontsize)) * 1rem);
	}
}

.p-tire-lifespan-check-icon {
	container-type: inline-size;
	position: absolute;
	left: -10px;
	top: 0;
	width: 72px;
	height: 72px;
	border-radius: 100vmax;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6.9444444444%;
	justify-content: center;
	background-color: var(--color_secondary);
	translate: 0 -40%;
}
@media (min-width: 768px) and (max-width: 1024px) {
	.p-tire-lifespan-check-icon {
		translate: 0 -20%;
	}
}
@media (max-width: 767px) {
	.p-tire-lifespan-check-icon {
		width: 64px;
		height: 64px;
		translate: 0 -20%;
	}
}
.p-tire-lifespan-check-icon::before {
	content: "";
	border-top: 20px solid var(--color_secondary);
	border-left: solid 10px transparent;
	border-right: solid 10px transparent;
	position: absolute;
	right: 0;
	bottom: 0;
	rotate: -45deg;
}
.p-tire-lifespan-check-icon > * {
	position: relative;
	z-index: 1;
}
.p-tire-lifespan-check-icon .text {
	color: var(--color_lightest);
	text-align: center;
	font-family: var(--font_en);
	font-style: italic;
	font-weight: 500;
	letter-spacing: 0.01em;
	text-box-trim: trim-both;
	text-box-edge: cap alphabetic;
	font-style: italic;
	font-size: 22.2222222222cqw;
}
.p-tire-lifespan-check-icon .icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40%;
	height: 40%;
	border-radius: 4px;
	background-color: var(--color_lightest);
}
.p-tire-lifespan-check-icon .icon::after {
	content: "";
	width: 35%;
	height: 75%;
	border-bottom: 4px solid var(--color_secondary);
	border-right: 4px solid var(--color_secondary);
	rotate: 45deg;
}

.p-tire-lifespan-check-item-heading {
	display: grid;
	gap: 10px;
}
.p-tire-lifespan-check-item-heading + .p-tire-lifespan-check-item-text {
	margin-top: 20px;
	padding-top: 20px;
	border-top: solid 1px var(--color_primary);
}

.p-tire-lifespan-check-item-text {
	line-height: var(--lh_s);
	font-size: calc(16 / (var(--fontsize)) * 1rem);
	text-align: center;
}
@media (max-width: 767px) {
	.p-tire-lifespan-check-item-text {
		font-size: calc(13 / (var(--fontsize)) * 1rem);
	}
}

.p-tire-lifespan-check-item-title {
	font-weight: 700;
	font-size: calc(20 / (var(--fontsize)) * 1rem);
	text-align: center;
	color: var(--color_secondary);
}
@media (max-width: 767px) {
	.p-tire-lifespan-check-item-title {
		font-size: calc(16 / (var(--fontsize)) * 1rem);
	}
}

.p-tire-lifespan-check-item-copy {
	font-weight: 700;
	font-size: calc(24 / (var(--fontsize)) * 1rem);
	text-align: center;
}
@media (max-width: 767px) {
	.p-tire-lifespan-check-item-copy {
		font-size: calc(18 / (var(--fontsize)) * 1rem);
	}
}

.p-tire-lifespan-cat {
	background-color: var(--color_primary);
	padding: 40px;
}
@media (max-width: 767px) {
	.p-tire-lifespan-cat {
		padding: 32px 24px;
	}
}

.p-tire-lifespan-cat-list {
	display: flex;
	gap: 20px;
}
@media (max-width: 767px) {
	.p-tire-lifespan-cat-list {
		flex-direction: column;
	}
}
.p-tire-lifespan-cat-list__item {
	position: relative;
	display: flex;
	justify-content: space-between;
	aspect-ratio: 326/140;
	flex: 1 1 0;
	max-height: 140px;
	overflow: hidden;
	padding: 20px 30px 0 20px;
	background-color: var(--color_lightest);
}
@media (max-width: 767px) {
	.p-tire-lifespan-cat-list__item {
		flex: 1 0 auto;
		aspect-ratio: 590/250;
		max-height: 32.5520833333vw;
	}
}

.p-tire-lifespan-cat-list-title {
	font-weight: 700;
	font-size: calc(18 / (var(--fontsize)) * 1rem);
}
@media (max-width: 767px) {
	.p-tire-lifespan-cat-list-title {
		font-size: calc(14 / (var(--fontsize)) * 1rem);
	}
}

.p-tire-lifespan-cat-list-image {
	flex-shrink: 0;
	width: 42.9447852761%;
	max-width: 140px;
}
@media (max-width: 767px) {
	.p-tire-lifespan-cat-list-image {
		width: 31.25vw;
		max-width: unset;
	}
}

.p-tire-lineup-block {
	display: grid;
	gap: 80px;
}
@media (max-width: 767px) {
	.p-tire-lineup-block {
		gap: 40px;
	}
}

.p-tire-archives-block {
	display: grid;
	gap: 20px;
}

.p-tire-archive-item {
	display: flex;
	flex-direction: row-reverse;
	background-color: var(--color_bg_light);
}
@media (max-width: 1024px) {
	.p-tire-archive-item {
		flex-direction: column-reverse;
	}
}
a.p-tire-archive-item:hover {
	text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
	a.p-tire-archive-item:hover .p-tire-archive-image img {
		transform: scale(1.05);
	}
	a.p-tire-archive-item:hover .p-tire-archive-title {
		color: var(--color_secondary);
	}
	a.p-tire-archive-item:hover .p-tire-archive-arrow {
		background-color: var(--color_primary);
	}
}

.p-tire-archive-item__main {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 20px;
	flex: 1 1 0;
	padding: 20px 30px 50px;
}
@media (max-width: 767px) {
	.p-tire-archive-item__main {
		padding: 20px 24px 40px;
	}
}
.p-tire-archive-item__image {
	width: 65.4545454545%;
}
@media (max-width: 1024px) {
	.p-tire-archive-item__image {
		width: unset;
	}
}

.p-tire-archive-image {
	aspect-ratio: 720/320;
	background-color: var(--color_primary);
	overflow: hidden;
}
.p-tire-archive-image img {
	object-fit: contain;
	width: 100%;
	height: 100%;
	transition: var(--transition-time) var(--transition-ease);
}

.p-tire-archive-title {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	font-size: calc(20 / (var(--fontsize)) * 1rem);
	line-height: var(--lh);
	transition: var(--transition-time) var(--transition-ease);
}
@media (max-width: 767px) {
	.p-tire-archive-title {
		font-size: calc(16 / (var(--fontsize)) * 1rem);
	}
}

.p-tire-archive-keywords {
	display: flex;
	flex-direction: column;
	justify-content: end;
	flex: 1 1 0;
	justify-self: end;
	gap: 10px;
}

.p-tire-archive-keywords-title {
	font-weight: 700;
	font-family: var(--font_en);
	font-style: italic;
	font-weight: 500;
	letter-spacing: 0.01em;
	text-box-trim: trim-both;
	text-box-edge: cap alphabetic;
	font-style: italic;
	color: var(--color_secondary);
	font-size: calc(16 / (var(--fontsize)) * 1rem);
}
@media (max-width: 767px) {
	.p-tire-archive-keywords-title {
		font-size: calc(13 / (var(--fontsize)) * 1rem);
	}
}

.p-tire-archive-keywords-list {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}
.p-tire-archive-keywords-list > * {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 24px;
	padding: 2px 10px;
	border-radius: 100vmax;
	border: 1px solid var(--color_dark);
	color: var(--color_dark);
	font-size: calc(14 / (var(--fontsize)) * 1rem);
}
@media (max-width: 767px) {
	.p-tire-archive-keywords-list > * {
		font-size: calc(12 / (var(--fontsize)) * 1rem);
	}
}

.p-tire-archive-arrow {
	position: absolute;
	right: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	background-color: var(--color_secondary);
	transition: var(--transition-time) var(--transition-ease);
}

/* =======================================================================
maintenance
======================================================================= */
.p-maintenance-inspection-col {
	display: flex;
	gap: var(--siteMargin);
}
@media (max-width: 767px) {
	.p-maintenance-inspection-col {
		flex-direction: column;
	}
}
.p-maintenance-inspection-col__main {
	flex: 1 1 0;
}
.p-maintenance-inspection-col__image {
	width: 50%;
}
@media (max-width: 767px) {
	.p-maintenance-inspection-col__image {
		width: unset;
	}
}

.p-maintenance-cost-block {
	border: 1px solid var(--color_primary);
	padding: 40px 30px;
}
@media (max-width: 767px) {
	.p-maintenance-cost-block {
		padding: 32px 24px;
	}
}

.p-maintenance-cost-col {
	display: flex;
	gap: 80px;
}
@media (max-width: 1024px) {
	.p-maintenance-cost-col {
		flex-direction: column;
		gap: 60px;
	}
}
.p-maintenance-cost-col__item {
	position: relative;
	flex: 1 1 0;
	display: grid;
	display: flex;
	flex-direction: column;
	gap: 40px;
}
@media (max-width: 767px) {
	.p-maintenance-cost-col__item {
		gap: 20px;
	}
}
.p-maintenance-cost-col__item + .p-maintenance-cost-col__item::before {
	content: "";
	width: 40px;
	height: 40px;
	position: absolute;
	left: -40px;
	top: 50%;
	translate: -50% -50%;
	background: linear-gradient(var(--color_primary), var(--color_primary)) 50%/100% 6px no-repeat, linear-gradient(var(--color_primary), var(--color_primary)) 50%/6px 100% no-repeat; /* 縦線 */
}
@media (max-width: 1024px) {
	.p-maintenance-cost-col__item + .p-maintenance-cost-col__item::before {
		width: 30px;
		height: 30px;
		left: 50%;
		top: -30px;
	}
}

.p-maintenance-cost-title {
	text-align: center;
	font-weight: 700;
	font-size: calc(30 / (var(--fontsize)) * 1rem);
}
@media (max-width: 767px) {
	.p-maintenance-cost-title {
		font-size: calc(20 / (var(--fontsize)) * 1rem);
	}
}

.p-maintenance-cost-mandatory {
	display: grid;
	gap: 5px;
}
.p-maintenance-cost-mandatory__item {
	display: grid;
	align-items: center;
	justify-content: center;
	padding: 20px;
	min-height: 130px;
	background-color: #4e4e4e;
	text-align: center;
	color: var(--color_lightest);
	font-size: calc(30 / (var(--fontsize)) * 1rem);
	font-weight: 700;
}
@media (max-width: 767px) {
	.p-maintenance-cost-mandatory__item {
		gap: 5px;
		padding: 20px 12px;
		min-height: 20.3125vw;
		font-size: calc(18 / (var(--fontsize)) * 1rem);
	}
}
.p-maintenance-cost-mandatory__item .s {
	font-weight: 500;
	font-size: calc(20 / (var(--fontsize)) * 1rem);
}
@media (max-width: 767px) {
	.p-maintenance-cost-mandatory__item .s {
		font-size: calc(14 / (var(--fontsize)) * 1rem);
	}
}

.p-maintenance-cost-definition {
	display: grid;
	gap: 10px;
}

.p-maintenance-cost-definition-item {
	background-color: var(--color_line);
}

.p-maintenance-cost-definition-title {
	padding: 20px;
	text-align: center;
	background-color: #4e4e4e;
	color: var(--color_lightest);
	font-size: calc(22 / (var(--fontsize)) * 1rem);
	font-weight: 700;
}
@media (max-width: 767px) {
	.p-maintenance-cost-definition-title {
		padding: 20px 12px;
		font-size: calc(17 / (var(--fontsize)) * 1rem);
	}
}

.p-maintenance-cost-definition-list {
	display: flex;
	justify-content: center;
	gap: 10px;
}
@media (max-width: 767px) {
	.p-maintenance-cost-definition-list {
		gap: 5px;
	}
}
.p-maintenance-cost-definition-list > * {
	flex: 1 1 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px 16px;
	border-radius: 10px;
	background-color: var(--color_lightest);
	text-align: center;
	font-weight: 700;
	font-size: calc(20 / (var(--fontsize)) * 1rem);
}
@media (max-width: 767px) {
	.p-maintenance-cost-definition-list > * {
		padding: 16px 8px;
		font-size: calc(14 / (var(--fontsize)) * 1rem);
	}
}

.p-maintenance-cost-definition-content {
	padding: 20px;
}
@media (max-width: 767px) {
	.p-maintenance-cost-definition-content {
		padding: 20px 12px;
	}
}

.p-maintenance-pack-block {
	background-color: var(--color_lightest);
	padding: 80px 60px;
}
@media (max-width: 767px) {
	.p-maintenance-pack-block {
		padding: 32px 24px;
	}
}

.p-maintenance-pack-contents {
	display: flex;
	gap: 90px;
}
@media (max-width: 1024px) {
	.p-maintenance-pack-contents {
		flex-direction: column;
		gap: 60px;
	}
}
.p-maintenance-pack-contents__item {
	position: relative;
	flex: 1 1 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	padding: 30px 40px;
	min-height: 140px;
	border-radius: 100vmax;
	background-color: var(--color_secondary);
}
@media (max-width: 767px) {
	.p-maintenance-pack-contents__item {
		gap: 10px;
		min-height: 20.3125vw;
		padding: 24px 24px;
	}
}
.p-maintenance-pack-contents__item + .p-maintenance-pack-contents__item::before {
	content: "";
	width: 40px;
	height: 40px;
	position: absolute;
	left: -45px;
	top: 50%;
	translate: -50% -50%;
	background: linear-gradient(var(--color_primary), var(--color_primary)) 50%/100% 6px no-repeat, linear-gradient(var(--color_primary), var(--color_primary)) 50%/6px 100% no-repeat; /* 縦線 */
}
@media (max-width: 1024px) {
	.p-maintenance-pack-contents__item + .p-maintenance-pack-contents__item::before {
		width: 30px;
		height: 30px;
		left: 50%;
		top: -30px;
	}
}

.p-maintenance-pack-contents-icon {
	width: 70px;
	flex-shrink: 0;
}
@media (max-width: 767px) {
	.p-maintenance-pack-contents-icon {
		width: 48px;
	}
}

.p-maintenance-pack-contents-title {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: calc(26 / (var(--fontsize)) * 1rem);
	color: var(--color_lightest);
	font-weight: 700;
	line-height: var(--lh_s);
	flex-grow: 1;
}
@media (max-width: 767px) {
	.p-maintenance-pack-contents-title {
		font-size: calc(16 / (var(--fontsize)) * 1rem);
	}
}

.p-maintenance-pack-merit {
	display: flex;
}
@media (max-width: 1024px) {
	.p-maintenance-pack-merit {
		flex-direction: column;
		gap: 10px;
	}
}
.p-maintenance-pack-merit__item {
	flex: 1 1 0;
}
@media (max-width: 1024px) {
	.p-maintenance-pack-merit__item {
		flex: 1 0 auto;
	}
}

.p-maintenance-pack-merit-item {
	display: grid;
}
.p-maintenance-pack-merit-item__main {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	gap: 30px;
	text-align: center;
	grid-area: 1/1;
	z-index: 1;
}
@media (max-width: 1024px) {
	.p-maintenance-pack-merit-item__main {
		flex-direction: row;
		gap: 10px;
		padding: 24px;
	}
}
.p-maintenance-pack-merit-item__image {
	grid-area: 1/1;
}
@media (max-width: 1024px) {
	.p-maintenance-pack-merit-item__image {
		aspect-ratio: 560/210;
	}
	.p-maintenance-pack-merit-item__image img {
		object-fit: cover;
		width: 100%;
		height: 100%;
	}
}
@media (min-width: 1025px) {
	.p-maintenance-pack-merit-item__image {
		clip-path: polygon(30px 0, 100% 0, calc(100% - 30px) 100%, 0 100%);
	}
}

.p-maintenance-pack-merit-item-icon {
	width: 112px;
	margin-inline: auto;
}
@media (max-width: 1024px) {
	.p-maintenance-pack-merit-item-icon {
		margin-inline: unset;
		flex-shrink: 0;
	}
}
@media (max-width: 767px) {
	.p-maintenance-pack-merit-item-icon {
		width: 72px;
	}
}

.p-maintenance-pack-merit-item-title {
	font-weight: 700;
	font-style: italic;
	color: var(--color_lightest);
	font-size: calc(24 / (var(--fontsize)) * 1rem);
	line-height: var(--lh_s);
}
@media (max-width: 1024px) {
	.p-maintenance-pack-merit-item-title {
		text-align: left;
	}
}
@media (max-width: 767px) {
	.p-maintenance-pack-merit-item-title {
		font-size: calc(14 / (var(--fontsize)) * 1rem);
	}
}

.p-maintenance-pack-planList {
	display: flex;
	gap: 30px;
}
@media (max-width: 767px) {
	.p-maintenance-pack-planList {
		gap: 10px;
	}
}
.p-maintenance-pack-planList__item {
	cursor: pointer;
	position: relative;
	flex: 1 1 0;
	display: flex;
	flex-direction: column;
	justify-content: start;
	align-items: center;
	gap: 40px;
	padding: 50px 40px;
	background-color: var(--color_lightest);
	border: 4px solid transparent;
	transition: var(--transition-time) var(--transition-ease);
}
@media (max-width: 767px) {
	.p-maintenance-pack-planList__item {
		border-width: 2px;
		gap: 20px;
		padding: 16px 8px;
	}
}
@media (hover: hover) and (pointer: fine) {
	.p-maintenance-pack-planList__item:hover {
		background-color: var(--color_bg_lighter);
	}
}
.p-maintenance-pack-planList__item::after {
	content: "";
	position: absolute;
	bottom: 0;
	margin-inline: auto;
	border-top: 48px solid var(--color_secondary);
	border-left: solid 48px transparent;
	border-right: solid 48px transparent;
	translate: 0 100%;
	opacity: 0;
	transition: var(--transition-time) var(--transition-ease);
}
@media (max-width: 767px) {
	.p-maintenance-pack-planList__item::after {
		border-top: 24px solid var(--color_secondary);
		border-left: solid 24px transparent;
		border-right: solid 24px transparent;
	}
}
.p-maintenance-pack-planList__item.is-on {
	border-color: var(--color_secondary);
}
.p-maintenance-pack-planList__item.is-on::after {
	opacity: 1;
}

.p-maintenance-pack-planList-title {
	text-align: center;
	font-weight: 700;
	color: var(--color_secondary);
	font-size: calc(36 / (var(--fontsize)) * 1rem);
}
@media (max-width: 767px) {
	.p-maintenance-pack-planList-title {
		font-size: calc(20 / (var(--fontsize)) * 1rem);
	}
}
.p-maintenance-pack-planList-title .em {
	font-size: calc(40 / (var(--fontsize)) * 1rem);
}
@media (max-width: 767px) {
	.p-maintenance-pack-planList-title .em {
		font-size: calc(30 / (var(--fontsize)) * 1rem);
	}
}

.p-maintenance-pack-planList-contents {
	display: grid;
	gap: 0.75em;
	font-size: calc(22 / (var(--fontsize)) * 1rem);
}
@media (max-width: 767px) {
	.p-maintenance-pack-planList-contents {
		font-size: calc(11 / (var(--fontsize)) * 1rem);
	}
}

.p-maintenance-pack-planImages {
	margin-top: 100px;
	text-align: center;
}
@media (max-width: 767px) {
	.p-maintenance-pack-planImages {
		margin-top: 50px;
	}
}
.p-maintenance-pack-planImages__item {
	display: grid;
	grid-template-rows: 0;
	min-height: 0;
	transition: var(--transition-time) var(--transition-ease);
	overflow: hidden;
}
.p-maintenance-pack-planImages__item.is-on {
	grid-template-rows: 1fr;
}
.p-maintenance-pack-planImages__item__inner {
	min-height: 0;
}

/* =======================================================================
supply
======================================================================= */
/* =======================================================================
alignment
======================================================================= */
.p-alignment-feature-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
@media (max-width: 767px) {
	.p-alignment-feature-list {
		grid-template-columns: auto;
		gap: 10px;
	}
}
.p-alignment-feature-list__item {
	display: grid;
	gap: 20px;
	border: 1px solid var(--color_primary);
	padding: 40px;
	text-align: center;
}
@media (min-width: 768px) and (max-width: 1024px) {
	.p-alignment-feature-list__item {
		padding: 20px;
	}
}
@media (max-width: 767px) {
	.p-alignment-feature-list__item {
		padding: 20px;
		gap: 0 10px;
		grid-template-columns: 36.4583333333vw auto;
		align-items: center;
		text-align: left;
	}
}

.p-alignment-feature-list-image {
	width: min(100%, 240px);
	margin-inline: auto;
}
@media (max-width: 767px) {
	.p-alignment-feature-list-image {
		width: unset;
	}
}

.p-alignment-feature-list-title {
	font-weight: 700;
	font-size: calc(28 / (var(--fontsize)) * 1rem);
}
@media (max-width: 767px) {
	.p-alignment-feature-list-title {
		font-size: calc(20 / (var(--fontsize)) * 1rem);
	}
}

.p-alignment-feature-list-content {
	display: grid;
	gap: 20px;
}
@media (max-width: 767px) {
	.p-alignment-feature-list-content {
		gap: 10px;
	}
}

.p-alignment-tester-col {
	position: relative;
	display: flex;
	gap: var(--siteMargin);
}
@media (max-width: 767px) {
	.p-alignment-tester-col {
		flex-direction: column;
	}
}
.p-alignment-tester-col__main {
	flex: 1 1 0;
}
.p-alignment-tester-col__image {
	width: 34.5454545455%;
}
@media (max-width: 767px) {
	.p-alignment-tester-col__image {
		width: unset;
	}
}

/* =======================================================================
coating
======================================================================= */
/* =======================================================================
sales
======================================================================= */
.p-sales-copy {
	font-weight: 700;
	font-size: calc(24 / (var(--fontsize)) * 1rem);
	line-height: var(--lh);
	text-align: center;
}
@media (max-width: 767px) {
	.p-sales-copy {
		font-size: calc(18 / (var(--fontsize)) * 1rem);
		line-height: var(--lh_s);
	}
}

.p-sales-feature-block {
	display: grid;
	gap: 40px;
}

.p-sales-feature-list {
	width: 100%;
	margin-inline: auto;
	max-width: 1024px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
}
@media (min-width: 768px) and (max-width: 1024px) {
	.p-sales-feature-list {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 767px) {
	.p-sales-feature-list {
		grid-template-columns: auto;
	}
}
.p-sales-feature-list__item {
	display: flex;
	align-items: center;
	min-height: 140px;
	gap: 20px;
	padding: 20px;
	border: 1px solid var(--color_line);
}
@media (max-width: 767px) {
	.p-sales-feature-list__item {
		width: 100%;
		min-height: 31.25vw;
	}
}

.p-sales-feature-list-icon {
	width: 80px;
	flex-shrink: 0;
}

.p-sales-feature-list-title {
	font-weight: 700;
	font-size: calc(18 / (var(--fontsize)) * 1rem);
	line-height: var(--lh_s);
}
@media (max-width: 767px) {
	.p-sales-feature-list-title {
		font-size: calc(14 / (var(--fontsize)) * 1rem);
	}
}
.p-sales-feature-list-title .s {
	font-size: calc(14 / (var(--fontsize)) * 1rem);
}
@media (max-width: 767px) {
	.p-sales-feature-list-title .s {
		font-size: calc(12 / (var(--fontsize)) * 1rem);
	}
}

.p-sales-lineup-block {
	display: grid;
	gap: 100px;
}
@media (max-width: 767px) {
	.p-sales-lineup-block {
		gap: 60px;
	}
}

.p-sales-lineup-article {
	display: grid;
	gap: 30px;
}
@media (max-width: 767px) {
	.p-sales-lineup-article {
		gap: 20px;
	}
}

.p-sales-lineup-article-images__item {
	position: relative;
	width: 100%;
	aspect-ratio: 1100/480;
	background-color: var(--color_primary);
}
@media (max-width: 767px) {
	.p-sales-lineup-article-images__item {
		aspect-ratio: 4/3;
	}
}
.p-sales-lineup-article-images__item img {
	object-fit: contain;
	width: 100%;
	height: 100%;
}

.p-sales-lineup-article-images-caption {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	padding: 16px 24px;
	background-color: rgba(0, 0, 0, 0.8);
	color: var(--color_lightest);
	font-weight: 700;
	font-size: calc(16 / (var(--fontsize)) * 1rem);
	line-height: var(--lh);
}
@media (max-width: 767px) {
	.p-sales-lineup-article-images-caption {
		padding: 16px;
		font-size: calc(13 / (var(--fontsize)) * 1rem);
		line-height: var(--lh_s);
	}
}

.p-sales-lineup-article-thumbs {
	display: grid !important;
	grid-template-columns: repeat(10, 1fr);
	gap: 10px;
}
@media (max-width: 767px) {
	.p-sales-lineup-article-thumbs {
		grid-template-columns: repeat(5, 1fr);
		gap: 5px;
	}
}
.p-sales-lineup-article-thumbs__item {
	cursor: pointer;
	background-color: var(--color_primary);
	padding: 4px;
	transition: var(--transition-time) var(--transition-ease);
}
@media (max-width: 767px) {
	.p-sales-lineup-article-thumbs__item {
		padding: 2px;
	}
}
.p-sales-lineup-article-thumbs__item.is-active {
	background-color: var(--color_secondary);
}
.p-sales-lineup-article-thumbs__item img {
	aspect-ratio: 1/1;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.p-sales-lineup-article-detail-title {
	cursor: pointer;
	position: relative;
	display: grid;
	place-items: center;
	min-height: 50px;
	padding: 10px;
	background-color: var(--color_line);
	text-align: center;
	font-weight: 700;
	font-size: calc(24 / (var(--fontsize)) * 1rem);
}
@media (max-width: 767px) {
	.p-sales-lineup-article-detail-title {
		font-size: calc(18 / (var(--fontsize)) * 1rem);
	}
}
.p-sales-lineup-article-detail-title .icon {
	position: absolute;
	right: 0;
	top: 0;
	display: grid;
	place-items: center;
	height: 100%;
	aspect-ratio: 1/1;
	background-color: var(--color_secondary);
}
.p-sales-lineup-article-detail-title .icon::before {
	content: "";
	grid-area: 1/1;
	width: 50%;
	height: 50%;
	background: linear-gradient(var(--color_lightest), var(--color_lightest)) 50%/100% 3px no-repeat, linear-gradient(var(--color_lightest), var(--color_lightest)) 50%/3px 100% no-repeat; /* 縦線 */
	transition: var(--transition-time) var(--transition-ease);
}
@media (max-width: 767px) {
	.p-sales-lineup-article-detail-title .icon::before {
		width: 33.3%;
		height: 33.3%;
	}
}
.p-sales-lineup-article-detail-title.is-on .icon::before {
	background-size: 100% 3px, 3px 0%;
}

.p-sales-lineup-article-detail-content {
	position: relative;
	display: grid;
	grid-template-rows: 0fr;
	background-color: var(--color_bg_light);
	transition: var(--transition-time) var(--transition-ease);
}
.p-sales-lineup-article-detail-content::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	width: fit-content;
	margin-inline: auto;
	border-top: 24px solid var(--color_bg_light);
	border-left: 24px solid transparent;
	border-right: 24px solid transparent;
	translate: 0 100%;
	opacity: 0;
	transition: var(--transition-time) var(--transition-ease);
}
.p-sales-lineup-article-detail-content.is-on {
	grid-template-rows: 1fr;
}
.p-sales-lineup-article-detail-content.is-on::after {
	opacity: 1;
}
.p-sales-lineup-article-detail-content__inner {
	min-height: 0;
	overflow: hidden;
}

.p-sales-lineup-article-block {
	display: grid;
	gap: 40px;
	padding: 30px 30px 50px;
}
@media (max-width: 767px) {
	.p-sales-lineup-article-block {
		gap: 30px;
		padding: 24px 24px 32px;
	}
}

.p-sales-lineup-article-spec {
	display: grid;
	gap: 20px;
}
@media (max-width: 767px) {
	.p-sales-lineup-article-spec {
		gap: 16px;
	}
}

.p-sales-lineup-article-spec-title {
	font-weight: 700;
	font-size: calc(18 / (var(--fontsize)) * 1rem);
}
@media (max-width: 767px) {
	.p-sales-lineup-article-spec-title {
		font-size: calc(14 / (var(--fontsize)) * 1rem);
	}
}

.p-sales-lineup-article-basic {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1px 20px;
}
@media (min-width: 768px) and (max-width: 1024px) {
	.p-sales-lineup-article-basic {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 767px) {
	.p-sales-lineup-article-basic {
		grid-template-columns: auto;
	}
}
.p-sales-lineup-article-basic > * {
	display: grid;
	grid-template-columns: max-content 1fr;
	gap: 1px;
	font-size: calc(16 / (var(--fontsize)) * 1rem);
	line-height: var(--lh_s);
}
@media (max-width: 767px) {
	.p-sales-lineup-article-basic > * {
		font-size: calc(13 / (var(--fontsize)) * 1rem);
	}
}
.p-sales-lineup-article-basic > * .title {
	min-width: 120px;
	padding: 10px 20px;
	background-color: var(--color_line);
	font-weight: 700;
}
@media (max-width: 767px) {
	.p-sales-lineup-article-basic > * .title {
		min-width: 100px;
	}
}
.p-sales-lineup-article-basic > * .content {
	flex: 1 1 0;
	padding: 10px 20px;
	background-color: var(--color_lightest);
}

.p-sales-lineup-article-equipment {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0 20px;
}
@media (min-width: 768px) and (max-width: 1024px) {
	.p-sales-lineup-article-equipment {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 767px) {
	.p-sales-lineup-article-equipment {
		grid-template-columns: auto;
	}
}
.p-sales-lineup-article-equipment > * {
	position: relative;
	display: flex;
	gap: 5px;
	padding: 12px 20px;
	border-bottom: 1px solid var(--color_primary);
	font-size: calc(16 / (var(--fontsize)) * 1rem);
	line-height: var(--lh_s);
}
@media (max-width: 767px) {
	.p-sales-lineup-article-equipment > * {
		padding: 12px 0;
		font-size: calc(13 / (var(--fontsize)) * 1rem);
	}
}
.p-sales-lineup-article-equipment > *::before {
	content: "●";
}

.p-sales-lineup-article-opt {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px 20px;
}
@media (min-width: 768px) and (max-width: 1024px) {
	.p-sales-lineup-article-opt {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 767px) {
	.p-sales-lineup-article-opt {
		grid-template-columns: auto;
	}
}
.p-sales-lineup-article-opt__item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 20px;
	background-color: var(--color_lightest);
	font-size: calc(16 / (var(--fontsize)) * 1rem);
	line-height: var(--lh_s);
}
@media (max-width: 767px) {
	.p-sales-lineup-article-opt__item {
		font-size: calc(13 / (var(--fontsize)) * 1rem);
	}
}
.p-sales-lineup-article-opt__item .c-input-checkbox {
	flex-shrink: 0;
}
.p-sales-lineup-article-opt__item .text {
	flex: 1 1 0;
}
.p-sales-lineup-article-opt__item .price {
	flex-shrink: 0;
	justify-self: end;
	align-self: end;
}
.p-sales-lineup-article-opt__item .price .unit {
	font-size: calc(14 / (var(--fontsize)) * 1rem);
}
@media (max-width: 767px) {
	.p-sales-lineup-article-opt__item .price .unit {
		font-size: calc(12 / (var(--fontsize)) * 1rem);
	}
}

.p-sales-lineup-article-price {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 40px;
	padding-block: 30px;
	gap: 40px;
	border-top: 2px solid var(--color_primary);
	border-bottom: 2px solid var(--color_primary);
}
@media (max-width: 1024px) {
	.p-sales-lineup-article-price {
		display: grid;
		grid-template-columns: 1fr 68px auto;
		justify-content: space-between;
		gap: 20px;
		padding-block: 24px;
	}
}
.p-sales-lineup-article-price__breakdown {
	display: flex;
	gap: 60px;
}
@media (max-width: 1024px) {
	.p-sales-lineup-article-price__breakdown {
		grid-column: 1/4;
		grid-row: 1/2;
	}
}
@media (max-width: 767px) {
	.p-sales-lineup-article-price__breakdown {
		gap: 32px;
	}
}
.p-sales-lineup-article-price__breakdown__item {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: start;
}
.p-sales-lineup-article-price__breakdown__item + .p-sales-lineup-article-price__breakdown__item::before {
	content: "";
	position: absolute;
	left: -30px;
	top: 50%;
	width: 30px;
	height: 30px;
	background: linear-gradient(var(--color_primary), var(--color_primary)) 50%/100% 3px no-repeat, linear-gradient(var(--color_primary), var(--color_primary)) 50%/3px 100% no-repeat; /* 縦線 */
	translate: -50% -50%;
}
@media (max-width: 767px) {
	.p-sales-lineup-article-price__breakdown__item + .p-sales-lineup-article-price__breakdown__item::before {
		width: 16px;
		height: 16px;
		left: -16px;
	}
}
.p-sales-lineup-article-price__arrow {
	flex-shrink: 0;
	width: 68px;
}
@media (max-width: 1024px) {
	.p-sales-lineup-article-price__arrow {
		justify-self: end;
		grid-column: 2/3;
		grid-row: 2/3;
		margin-left: auto;
	}
}
.p-sales-lineup-article-price__total {
	width: fit-content;
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: start;
}
@media (max-width: 1024px) {
	.p-sales-lineup-article-price__total {
		justify-self: end;
		grid-column: 3/4;
		grid-row: 2/3;
		padding-inline: 0px;
	}
}

.p-sales-lineup-article-price-title {
	font-weight: 700;
	font-size: calc(18 / (var(--fontsize)) * 1rem);
	text-align: center;
}
@media (max-width: 767px) {
	.p-sales-lineup-article-price-title {
		font-size: calc(14 / (var(--fontsize)) * 1rem);
	}
}

.p-sales-lineup-article-price-breakdown .num {
	font-weight: 700;
	font-size: calc(30 / (var(--fontsize)) * 1rem);
	font-family: var(--font_en);
	font-style: italic;
	font-weight: 500;
	letter-spacing: 0.01em;
	text-box-trim: trim-both;
	text-box-edge: cap alphabetic;
	font-style: italic;
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.05em;
}
@media (max-width: 767px) {
	.p-sales-lineup-article-price-breakdown .num {
		font-size: calc(22 / (var(--fontsize)) * 1rem);
	}
}
.p-sales-lineup-article-price-breakdown .unit {
	margin-left: 0.25em;
	font-weight: 700;
	font-size: calc(18 / (var(--fontsize)) * 1rem);
}
@media (max-width: 767px) {
	.p-sales-lineup-article-price-breakdown .unit {
		font-size: calc(12 / (var(--fontsize)) * 1rem);
	}
}

.p-sales-lineup-article-price-total .num {
	font-weight: 700;
	font-size: calc(50 / (var(--fontsize)) * 1rem);
	font-family: var(--font_en);
	font-style: italic;
	font-weight: 500;
	letter-spacing: 0.01em;
	text-box-trim: trim-both;
	text-box-edge: cap alphabetic;
	font-style: italic;
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.05em;
}
@media (max-width: 767px) {
	.p-sales-lineup-article-price-total .num {
		font-size: calc(50 / (var(--fontsize)) * 1rem);
	}
}
.p-sales-lineup-article-price-total .unit {
	margin-left: 0.25em;
	font-weight: 700;
	font-size: calc(18 / (var(--fontsize)) * 1rem);
}
@media (max-width: 767px) {
	.p-sales-lineup-article-price-total .unit {
		font-size: calc(14 / (var(--fontsize)) * 1rem);
	}
}

/* =======================================================================
price
======================================================================= */
.p-price-motul {
	max-width: 100px;
}
@media (max-width: 767px) {
	.p-price-motul {
		max-width: 80px;
	}
}
thead .p-price-motul {
	margin-inline: auto;
}

@keyframes kf_price_tbl_wrap {
	0% {
		opacity: 0;
		translate: 0 0;
	}
	30% {
		opacity: 1;
	}
	70% {
		opacity: 1;
		translate: 50% 0;
	}
	100% {
		opacity: 0;
		translate: 50% 0;
	}
}
@media (max-width: 1024px) {
	.c-price-tbl-wrap {
		position: relative;
		overflow: auto;
		overflow-scrolling: touch;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x mandatory;
	}
	@supports (scrollbar-width: auto) {
		.c-price-tbl-wrap {
			scrollbar-width: auto;
			scrollbar-color: var(--color_primary) var(--color_bg_lighter);
		}
	}
	@supports selector(::-webkit-scrollbar) {
		.c-price-tbl-wrap::-webkit-scrollbar-track {
			background: var(--color_bg_light);
			border-radius: 100vmax;
		}
		.c-price-tbl-wrap::-webkit-scrollbar-thumb {
			background: var(--color_dark);
			border-radius: 100vmax;
		}
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.c-price-tbl:has(.c-price-colG[data-col=tire]), .c-price-tbl:has(.c-price-colG[data-col=car-inspection]), .c-price-tbl:has(.c-price-colG[data-col=wash]) {
		width: 1100px;
	}
}
@media (max-width: 767px) {
	.c-price-tbl:has(.c-price-colG[data-col=tire]), .c-price-tbl:has(.c-price-colG[data-col=car-inspection]), .c-price-tbl:has(.c-price-colG[data-col=wash]) {
		width: 900px;
	}
}

.c-price-colG[data-col=maintenance-oil] .title {
	width: 240px;
}
@media (max-width: 767px) {
	.c-price-colG[data-col=maintenance-oil] .title {
		width: 80px;
	}
}
.c-price-colG[data-col=tire] .title {
	width: 320px;
}
@media (max-width: 767px) {
	.c-price-colG[data-col=tire] .title {
		width: 240px;
	}
}
.c-price-colG[data-col=tire] .part {
	width: 200px;
}
@media (max-width: 767px) {
	.c-price-colG[data-col=tire] .part {
		width: 120px;
	}
}
.c-price-colG[data-col=tire] col:nth-last-of-type(odd) {
	background-color: var(--color_bg_light);
}
.c-price-colG[data-col=tire] col.title, .c-price-colG[data-col=tire] col.part {
	background-color: transparent;
}
.c-price-colG[data-col=car-inspection] .title {
	width: 180px;
}
@media (max-width: 767px) {
	.c-price-colG[data-col=car-inspection] .title {
		width: 140px;
	}
}
.c-price-colG[data-col=car-inspection] .total {
	width: 180px;
}
@media (max-width: 767px) {
	.c-price-colG[data-col=car-inspection] .total {
		width: 120px;
	}
}
.c-price-colG[data-col=car-inspection] col:nth-of-type(odd) {
	background-color: transparent;
}
.c-price-colG[data-col=car-inspection] col:nth-of-type(even) {
	background-color: var(--color_bg_light);
}
.c-price-colG[data-col=wash] .title {
	width: 200px;
}
@media (max-width: 767px) {
	.c-price-colG[data-col=wash] .title {
		width: 140px;
	}
}
.c-price-colG[data-col=wash] .part {
	width: 240px;
}
@media (max-width: 767px) {
	.c-price-colG[data-col=wash] .part {
		width: 180px;
	}
}
.c-price-colG[data-col=wash] col:nth-last-of-type(even) {
	background-color: var(--color_bg_light);
}
.c-price-colG[data-col=wash] col.title, .c-price-colG[data-col=wash] col.part {
	background-color: transparent;
}

.c-price-tbl {
	width: 100%;
	table-layout: fixed;
}
.c-price-tbl:not(:has(colgroup)) thead th {
	background-color: var(--color_bg_light);
}
.c-price-tbl:has(colgroup[data-col=maintenance-oil]) thead th {
	background-color: var(--color_bg_light);
}
.c-price-tbl--vline th + th,
.c-price-tbl--vline th + td,
.c-price-tbl--vline td + td {
	border-left: 1px solid var(--color_primary);
}
.c-price-tbl thead th {
	padding-block: 24px;
}
.c-price-tbl tbody tr th {
	text-align: left;
}
.c-price-tbl tbody tr:not(:has(th)) td:nth-of-type(1) {
	text-align: left;
}
.c-price-tbl tbody tr:not(:has(th)) td:nth-last-of-type(1) {
	text-align: center;
}
.c-price-tbl th,
.c-price-tbl td {
	border-bottom: 1px solid var(--color_primary);
	padding: 16px 12px;
	font-weight: 700;
	font-size: calc(18 / (var(--fontsize)) * 1rem);
	line-height: var(--lh_s);
	text-align: center;
}
@media (max-width: 767px) {
	.c-price-tbl th,
	.c-price-tbl td {
		padding: 12px 8px;
		font-size: calc(13 / (var(--fontsize)) * 1rem);
	}
}
.c-price-tbl th.total,
.c-price-tbl td.total {
	background-color: #7c7c7c;
	color: var(--color_lightest);
}

.p-price-col2 {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 60px;
}
@media (max-width: 1024px) {
	.p-price-col2 {
		grid-template-columns: auto;
		gap: 30px;
	}
}

.p-price-maintenance-col {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
}
@media (max-width: 1024px) {
	.p-price-maintenance-col {
		grid-template-columns: auto;
		gap: 20px;
	}
}
.p-price-maintenance-col__item {
	background-color: var(--color_lightest);
	padding: 48px 24px 24px;
}
@media (max-width: 767px) {
	.p-price-maintenance-col__item {
		padding: 24px 16px 16px;
	}
}

.p-price-maintenance-title {
	font-weight: 700;
	text-align: center;
	font-size: calc(32 / (var(--fontsize)) * 1rem);
}
@media (max-width: 767px) {
	.p-price-maintenance-title {
		font-size: calc(20 / (var(--fontsize)) * 1rem);
	}
}
.p-price-maintenance-title .plan {
	font-size: calc(42 / (var(--fontsize)) * 1rem);
}
@media (max-width: 767px) {
	.p-price-maintenance-title .plan {
		font-size: calc(28 / (var(--fontsize)) * 1rem);
	}
}

/* =======================================================================
topics
======================================================================= */
.p-topics-archives__item {
	display: flex;
	align-items: center;
	gap: 40px;
	min-height: 170px;
	padding: 10px 30px;
	border-top: 1px solid var(--color_line);
	border-bottom: 1px solid var(--color_line);
	transition: var(--transition-time) var(--transition-ease);
}
@media (max-width: 767px) {
	.p-topics-archives__item {
		position: relative;
		gap: 20px;
		flex-direction: column;
		align-items: start;
		min-height: unset;
		padding: 20px 0;
	}
}
.p-topics-archives__item + .p-topics-archives__item {
	margin-top: -1px;
}
a.p-topics-archives__item:hover {
	text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
	a.p-topics-archives__item:hover {
		background-color: var(--color_bg_lighter);
	}
	a.p-topics-archives__item:hover .arrow {
		translate: 4px 0;
	}
}

.p-topics-archives__item__main {
	display: flex;
	flex-direction: column;
	gap: 16px;
	flex-grow: 1;
}
@media (max-width: 767px) {
	.p-topics-archives__item__main {
		gap: 8px;
	}
}
.p-topics-archives__item__image {
	width: 240px;
	aspect-ratio: 696/340;
	flex-shrink: 0;
	overflow: hidden;
}
@media (max-width: 767px) {
	.p-topics-archives__item__image {
		width: 50%;
	}
}
.p-topics-archives__item__image img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	transition: var(--transition-time) var(--transition-ease);
}
@media (hover: hover) and (pointer: fine) {
	a:hover .p-topics-archives__item__image img {
		transform: scale(1.05);
	}
}
.p-topics-archives__item .arrow {
	flex-shrink: 0;
	transition: var(--transition-time) var(--transition-ease);
}
@media (max-width: 767px) {
	.p-topics-archives__item .arrow {
		position: absolute;
		right: 10px;
		bottom: 20px;
	}
}

.p-topics-archives-datetime {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--color_quaternary);
	font-size: calc(16 / (var(--fontsize)) * 1rem);
	font-weight: 700;
}
@media (max-width: 767px) {
	.p-topics-archives-datetime {
		font-size: calc(13 / (var(--fontsize)) * 1rem);
	}
}

.p-topics-archives-title {
	font-size: calc(20 / (var(--fontsize)) * 1rem);
	line-height: var(--lh);
}
@media (max-width: 767px) {
	.p-topics-archives-title {
		font-size: calc(16 / (var(--fontsize)) * 1rem);
	}
}

/* =======================================================================
company
======================================================================= */
.p-company-mv {
	text-align: center;
}

.p-company-block {
	display: grid;
	gap: 40px;
}

.p-company-map {
	position: relative;
	overflow: hidden;
	aspect-ratio: 600/450;
}
@media (max-width: 767px) {
	.p-company-map {
		aspect-ratio: 600/900;
	}
}
.p-company-map iframe {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* =======================================================================
recruit
======================================================================= */
.p-recruit-block {
	display: grid;
	gap: 40px;
}

/* =======================================================================
contact
======================================================================= */
.p-contact-form-item {
	display: flex;
	padding: 20px;
	border-top: 1px solid var(--color_primary);
	border-bottom: 1px solid var(--color_primary);
}
@media (max-width: 767px) {
	.p-contact-form-item {
		display: grid;
		gap: 16px;
		padding-inline: 0;
	}
}
.p-contact-form-item + .p-contact-form-item {
	margin-top: -1px;
}
.p-contact-form-item__title {
	min-width: 250px;
	font-size: calc(18 / (var(--fontsize)) * 1rem);
	line-height: var(--lh);
}
@media (max-width: 767px) {
	.p-contact-form-item__title {
		font-size: calc(14 / (var(--fontsize)) * 1rem);
	}
}
.p-contact-form-item__content {
	flex-grow: 1;
	font-size: calc(18 / (var(--fontsize)) * 1rem);
	line-height: var(--lh);
}
@media (max-width: 767px) {
	.p-contact-form-item__content {
		font-size: calc(14 / (var(--fontsize)) * 1rem);
	}
}

.p-contact-form-require {
	display: inline-flex;
	padding: 4px 8px;
	line-height: 1;
	background-color: var(--color_secondary);
	color: var(--color_lightest);
	font-size: calc(14 / (var(--fontsize)) * 1rem);
	margin-left: 10px;
}
@media (max-width: 767px) {
	.p-contact-form-require {
		font-size: calc(12 / (var(--fontsize)) * 1rem);
	}
}

.p-contact-form-radios {
	display: flex;
	flex-wrap: wrap;
	gap: 24px 48px;
}
@media (max-width: 767px) {
	.p-contact-form-radios {
		display: grid;
		gap: 16px;
	}
}

.p-contact-form-label {
	display: flex;
	align-items: center;
	gap: 10px;
}
.p-contact-form-agree .p-contact-form-label {
	justify-content: center;
}

.p-contact-form-agree {
	margin-top: 60px;
	display: grid;
	justify-content: center;
	gap: 40px;
	text-align: center;
}
@media (max-width: 767px) {
	.p-contact-form-agree {
		margin-top: 40px;
		gap: 20px;
	}
}

.p-contact-form-btns {
	margin-top: 60px;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 40px;
}
.p-contact-form-btns > * {
	margin-inline: unset;
}
@media (max-width: 767px) {
	.p-contact-form-btns {
		display: grid;
		margin-top: 40px;
		gap: 20px;
	}
}

/* =======================================================================
privacy
======================================================================= */
.p-privacy-block {
	display: grid;
	gap: 80px;
}
@media (min-width: 768px) and (max-width: 1024px) {
	.p-privacy-block {
		gap: 60px;
	}
}
@media (max-width: 767px) {
	.p-privacy-block {
		gap: 40px;
	}
}

.p-privacy-sec {
	display: grid;
	gap: 20px;
}

/* =======================================================================
sitemap
======================================================================= */
.p-sitemap-list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px 60px;
}
@media (min-width: 768px) and (max-width: 1024px) {
	.p-sitemap-list {
		gap: 30px 40px;
	}
}
@media (max-width: 767px) {
	.p-sitemap-list {
		gap: 20px;
		grid-template-columns: auto;
	}
}
@media (max-width: 767px) {
	.p-sitemap-list__item--empty {
		display: none;
	}
}
.p-sitemap-list__item a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 10px 30px 10px 40px;
	min-height: 80px;
	background-color: var(--color_primary);
	border-radius: 100vmax;
	color: var(--color_lightest);
	font-size: calc(18 / (var(--fontsize)) * 1rem);
	font-weight: 700;
	transition: var(--transition-time) var(--transition-ease);
	overflow: hidden;
}
.p-sitemap-list__item a::before {
	content: "";
	opacity: 0;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background-image: linear-gradient(135deg, var(--color_tertiary) 0%, var(--color_secondary) 100%);
	opacity: 0;
	transition: var(--transition-time) var(--transition-ease);
}
@media (max-width: 767px) {
	.p-sitemap-list__item a {
		min-height: 60px;
		font-size: calc(13 / (var(--fontsize)) * 1rem);
	}
}
.p-sitemap-list__item a .text {
	position: relative;
	z-index: 1;
}
.p-sitemap-list__item a .arrow {
	position: relative;
	z-index: 1;
	transition: var(--transition-time) var(--transition-ease);
}
.p-sitemap-list__item a:hover {
	text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
	.p-sitemap-list__item a:hover::before {
		opacity: 1;
		translate: 0 0;
	}
	.p-sitemap-list__item a:hover .arrow {
		translate: 4px 0;
	}
}