@charset "UTF-8";
@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@100..900&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Noto+Sans+JP:wght@100..900&display=swap);
/* Reset */
*,
*::before,
*::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
	background: transparent;
	font-weight: inherit;
	font-size: inherit;
	font-style: inherit;
	-webkit-tap-highlight-color: transparent;
}

article,
aside,
details,
figcaption,
figure,
picture,
main,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
}

ul,
ol {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

blockquote::before,
blockquote::after,
q::before,
q::after {
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
	empty-cells: show;
}

button {
	font-family: inherit;
}

/*----------
	vars
----------*/
:root {
	/* color */
	--color-txt: #222222;
	--color-txt-caption: #888888;
	--color-txt-link: #0031FF;
	--color-txt-hover: #0031FF80;
	--color-border: #ddd;
	--color-bg: #F4F4F4;
	--color-caution: #EF0008;
	/* font family */
	--font-sans: 'Noto Sans JP', 'ヒラギノ角ゴシック', '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', Hiragino Sans, 'メイリオ', Meiryo, sans-serif;
	--font-serif: 'ヒラギノ明朝 Pro', 'Hiragino Mincho Pro', '游明朝', 'Yu Mincho', '游明朝体', 'YuMincho', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
	--font-inter: 'Inter', sans-serif;
	/* line height */
	--line-height-s: 1.4;
	--line-height-m: 1.6;
	--line-height-l: 1.8;
	/* icons path */
	--icon-arrow-down: url("/assets/images/icons/arrow-down.svg");
	--icon-blank: url("/assets/images/icons/blank.svg");
	--icon-chev-right: url("/assets/images/icons/chev-right.svg");
	--icon-chev-left: url("/assets/images/icons/chev-left.svg");
	--icon-chev-squ-down: url("/assets/images/icons/chev-squ-down.svg");
	--icon-download: url("/assets/images/icons/download.svg");
	--icon-humberger: url("/assets/images/icons/humberger.svg");
	--icon-close: url("/assets/images/icons/close.svg");
	--icon-swipe: url("/assets/images/icons/swipe.svg");
	--icon-minus: url("/assets/images/icons/minus.svg");
	--icon-mail: url("/assets/images/icons/mail.svg");
	--icon-pdf: url("/assets/images/icons/pdf.svg");
	--icon-play: url("/assets/images/icons/play.svg");
	--icon-plus: url("/assets/images/icons/plus.svg");
	--icon-stop: url("/assets/images/icons/stop.svg");
	/* svg colorchange */
	--svg-white: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(1%) hue-rotate(34deg) brightness(108%) contrast(102%);
	--svg-gray: brightness(0) saturate(100%) invert(99%) sepia(8%) saturate(687%) hue-rotate(270deg) brightness(119%) contrast(100%);
}

/*----------
	base
----------*/
html {
	width: 100%;
	font-size: 62.5%;
	background-color: #fff;
}
html.is-locked {
	position: absolute;
	overflow: hidden;
}

body {
	font-size: 1.6rem;
	line-height: var(--line-height-l);
	font-family: var(--font-sans);
	color: var(--color-txt);
	-webkit-text-size-adjust: 100%;
	letter-spacing: 1px;
	-webkit-font-feature-settings: "palt" 1;
	font-feature-settings: "palt" 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	overflow-wrap: anywhere;
	word-break: normal;
	line-break: strict;
}
@media (max-width: 767px) {
	body {
		font-size: 1.4rem;
	}
}
@media print {
	body {
		min-width: 1240px;
		zoom: 0.8;
	}
}

a {
	text-decoration: none;
	color: var(--color-txt);
}
@media (min-width: 768px), print {
	a:hover {
		text-decoration: none;
	}
}

img {
	width: 100%;
	height: auto;
	vertical-align: top;
}

sup {
	vertical-align: top;
	font-size: 0.7em;
}

sub {
	vertical-align: baseline;
	font-size: 0.7em;
}

input[type=text],
textarea,
select {
	font-family: inherit;
	font-size: 1.6rem;
}

/*----------
	main header
----------*/
@media print {
	header {
		display: none;
	}
}
header.no-transition > * {
	transition: none !important;
}
header.no-transition .l-mainheader__inner {
	transition: none !important;
}

.is-scroll .l-mainheader__inner:not(.is-open) {
	backdrop-filter: blur(15px) brightness(0.75) !important;
	-webkit-backdrop-filter: blur(15px) brightness(0.75) !important;
	background-color: rgba(247, 247, 247, 0.6) !important;
}
.is-scroll .l-mainheader__inner:not(.is-open) .l-mainheader__content {
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	background-color: transparent !important;
}

.is-transparent:not(.is-scroll) .l-mainheader__inner {
	background-color: transparent;
}
.is-transparent:not(.is-scroll) .l-mainheader__inner:not(.is-open) > .l-mainheader__logo img {
	filter: var(--svg-white);
	will-change: filter;
}
.is-transparent:not(.is-scroll) .l-mainheader__inner:not(.is-open) .l-mainheader__navtoggle {
	background-color: #fff;
	border-color: #fff;
}
.is-transparent:not(.is-scroll) .l-mainheader__inner:not(.is-open) .l-mainheader__navtoggle button {
	background-color: var(--color-txt);
}
.is-transparent:not(.is-scroll) .l-mainheader__inner:not(.is-open) .l-mainheader__content {
	backdrop-filter: blur(15px) brightness(0.75);
	-webkit-backdrop-filter: blur(15px) brightness(0.75);
	background-color: rgba(0, 0, 0, 0.1);
}
.is-transparent:not(.is-scroll) .l-mainheader__inner .l-headnav__button .c-language__inner,
.is-transparent:not(.is-scroll) .l-mainheader__inner .l-headnav__button .c-mail__inner {
	background-color: #fff;
	border: 1px solid var(--color-border);
	color: var(--color-txt);
}
.is-transparent:not(.is-scroll) .l-mainheader__inner .l-headnav__button .c-language__inner i,
.is-transparent:not(.is-scroll) .l-mainheader__inner .l-headnav__button .c-mail__inner i {
	background-color: var(--color-txt);
}
@media (min-width: 768px), print {
	.is-transparent:not(.is-scroll) .l-mainheader__inner .l-headnav__button .c-language__inner:hover,
	.is-transparent:not(.is-scroll) .l-mainheader__inner .l-headnav__button .c-mail__inner:hover {
		background-color: var(--color-txt-caption);
		color: #fff;
	}
	.is-transparent:not(.is-scroll) .l-mainheader__inner .l-headnav__button .c-language__inner:hover i,
	.is-transparent:not(.is-scroll) .l-mainheader__inner .l-headnav__button .c-mail__inner:hover i {
		background-color: #fff;
	}
}
.is-transparent:not(.is-scroll) .l-mainheader__online a {
	background-color: transparent;
	border: 1px solid rgba(255, 255, 255, 0.4392156863);
	color: #fff;
}
.is-transparent:not(.is-scroll) .l-mainheader__online a i {
	background-color: #fff;
}
.is-transparent:not(.is-scroll) .l-mainnav__cattop > a {
	color: #fff;
}
.is-transparent:not(.is-scroll) .l-mainnav__cattop > a i {
	background-color: #fff;
}

.l-mainheader__inner {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	display: flex;
	align-items: center;
	width: 100%;
	width: 100%;
	padding-left: 15px;
	display: flex;
	justify-content: space-between;
}
.l-mainheader__inner.is-open .l-mainheader__nav,
.l-mainheader__inner.is-open .l-mainheader__online,
.l-mainheader__inner.is-open .l-mainheader__language,
.l-mainheader__inner.is-open .l-mainheader__mail {
	display: none;
}
.l-mainheader__inner:not(.is-open) .l-mainheader__content {
	background-color: #fff;
}
.l-mainheader__logo {
	margin-top: 5px;
	width: 104px;
	z-index: 201;
}
.l-mainheader__content {
	display: flex;
	flex-wrap: nowrap;
	padding: 7px 15px;
	z-index: 201;
	border-radius: 0 0 0 5px;
	background-color: transparent;
}
.l-mainheader__navtoggle {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 43px;
	height: 43px;
	line-height: 1;
	cursor: pointer;
	border: 1px solid var(--color-txt);
	background-color: #fff;
	border-radius: 5px;
	margin-left: 8px;
	z-index: 201;
}
.l-mainheader__navtoggle button {
	display: block;
	width: 14px;
	height: 14px;
	mask-image: var(--icon-humberger);
	mask-repeat: no-repeat;
	mask-position: center;
	background-color: var(--color-txt);
	cursor: pointer;
}
.l-mainheader__navtoggle.is-open {
	background-color: var(--color-txt);
	margin-right: var(--scrollbar-width, 0px);
}
.l-mainheader__navtoggle.is-open button {
	mask-image: var(--icon-close);
	background-color: #fff;
}
.l-mainheader__nav {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 10;
}
.l-mainheader__nav.is-open {
	display: block;
}
.l-mainheader__online {
	display: inline-block;
	margin-left: auto;
}
.l-mainheader__online a {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	border: 1px solid rgba(34, 34, 34, 0.3137254902);
	border-radius: 5px;
	font-size: 1.1rem;
	font-weight: 500;
	font-family: var(--font-inter);
	padding: 11px 18px;
	height: 43px;
	letter-spacing: 0;
	background-color: #fff;
}
.l-mainheader__online a i {
	display: inline-block;
	width: 12px;
	height: 8px;
	background: var(--color-txt);
}
@media (max-width: 767px) {
	.l-mainheader__language {
		display: none !important;
	}
	.l-mainheader__mail {
		display: none !important;
	}
}
@media (min-width: 768px), print {
	.l-mainheader__inner {
		align-items: flex-start;
		flex-wrap: wrap;
		padding-top: 0;
		padding-bottom: 0;
		transition: background-color 0.2s;
	}
	.l-mainheader__logo {
		flex: 0 0 130px;
		margin-top: 20px;
		margin-left: 10px;
		width: 130px;
	}
	.l-mainheader__logo img {
		transition: all 0.2s ease-out;
	}
	.l-mainheader__content {
		padding: 0 15px 0 30px;
		transition: background-color 0.2s;
	}
	.l-mainheader__online {
		margin: 13px 0 13px 30px;
		z-index: 0;
	}
	.l-mainheader__online a {
		height: 50px;
		font-size: 1.4rem;
		transition: all 0.2s;
	}
	.l-mainheader__online a i {
		width: 14px;
		height: 10px;
	}
	.l-mainheader__online a:hover {
		border: 1px solid var(--color-txt-caption);
		background-color: var(--color-txt-caption);
		color: #fff;
	}
	.l-mainheader__online a:hover i {
		background-color: #fff;
	}
	.l-mainheader__language {
		margin: 13px 0 13px 10px;
	}
	.l-mainheader__language a {
		border: 1px solid rgba(34, 34, 34, 0.3137254902);
	}
	.l-mainheader__language a:hover {
		border: 1px solid var(--color-txt-caption);
		background-color: var(--color-txt-caption);
	}
	.l-mainheader__mail {
		margin: 13px 0 13px 10px;
	}
	.l-mainheader__mail a {
		border: 1px solid rgba(34, 34, 34, 0.3137254902);
	}
	.l-mainheader__mail a:hover {
		border: 1px solid var(--color-txt-caption);
		background-color: var(--color-txt-caption);
	}
	.l-mainheader__navtoggle {
		width: 50px;
		height: 50px;
		background-color: var(--color-txt);
		border-radius: 5px;
		margin: 13px 0 13px 10px;
		transition: background-color 0.2s ease, border 0.2s ease;
	}
	.l-mainheader__navtoggle button {
		background-color: #fff;
	}
	.l-mainheader__navtoggle:hover {
		border: 1px solid var(--color-txt-caption) !important;
		background-color: var(--color-txt-caption) !important;
	}
	.l-mainheader__navtoggle:hover button {
		background-color: #fff !important;
	}
	.l-mainheader__nav {
		display: inline-block;
		position: static;
		z-index: auto;
		margin-left: auto;
	}
}
@media screen and (min-width: 768px) and (max-width: 1260px) {
	.l-mainheader__nav {
		display: none;
	}
	.l-mainheader__online {
		margin-left: 10px;
	}
}

/*----------
	main navigation
----------*/
@media (max-width: 767px) {
	.l-mainnav {
		background: var(--color-bg);
	}
	.l-mainnav__close {
		display: block;
		padding: 20px;
		width: 100px;
		margin: 10px 0 0 auto;
		text-align: center;
		background: var(--icon-close) no-repeat left 4px center/16px;
	}
}
@media (min-width: 768px), print {
	.l-mainnav__main {
		display: inline-flex;
		position: relative;
	}
	.l-mainnav__inner {
		display: inline-block;
	}
	.l-mainnav__item:not(:last-child) {
		margin-right: 20px;
	}
	.l-mainnav__cattop {
		margin: 10px 0 20px;
	}
	.l-mainnav__cattop > button {
		display: none;
	}
	.l-mainnav__cattop > a {
		display: flex;
		align-items: center;
		color: inherit;
		transition: color 0.2s;
	}
	.l-mainnav__cattop > a i {
		display: inline-block;
		width: 14px;
		height: 9px;
		background-color: var(--color-txt);
		margin-top: 6px;
		margin-left: 7px;
		transition: background-color 0.2s;
	}
	.l-mainnav__cattop > a:hover {
		color: var(--color-txt-caption);
	}
	.l-mainnav__cattop > a:hover i {
		background-color: var(--color-txt-caption);
	}
	.l-mainnav__cattop > span,
	.l-mainnav__cattop > a > span {
		display: block;
		padding: 15px 0 10px;
		font-size: 1.5rem;
		line-height: var(--line-height-s);
		font-weight: 500;
	}
	.l-mainnav__cattop.is-hung > a {
		color: var(--color-txt-caption);
	}
	.l-mainnav__cattop.is-hung i[class^=icon-] {
		transform: rotate(180deg) translateY(-2px);
	}
	.is-touch .l-mainnav__cattop i[class^=icon-] {
		display: none;
	}
	.l-mainnav__sub {
		display: block;
		height: 0;
		position: relative;
		overflow: hidden;
		opacity: 0;
		pointer-events: none;
		z-index: -100;
		position: absolute;
		top: 100%;
		left: 0;
		background: #F2F2F2;
		width: 100%;
		max-width: 700px;
		border-radius: 5px;
		margin-top: -20px;
		transition: visibility 0.6s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
	}
	.l-mainnav__sub-close {
		display: block;
		padding-left: 20px;
		top: 16px;
		right: 20px;
		position: absolute;
		font-size: 1.4rem;
		line-height: 1;
		cursor: pointer;
		background: var(--icon-close) no-repeat left center/1em;
	}
	.l-mainnav__sub.is-hung {
		z-index: 200;
		height: auto;
		opacity: 1;
		pointer-events: all;
	}
	.l-mainnav__close {
		display: none;
	}
}
@media screen and (min-width: 768px) and (max-width: 1260px) {
	.l-mainnav__item:not(:last-child) {
		margin-right: 15px;
	}
}

.l-megamenu {
	width: 100%;
	max-width: 1240px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 15px;
	padding-right: 15px;
}
@media (min-width: 768px), print {
	.l-megamenu {
		padding-left: 20px;
		padding-right: 20px;
	}
}
@media (max-width: 767px) {
	.l-megamenu {
		padding-left: 0;
		padding-right: 0;
		background: #E5E5E5;
	}
	.l-megamenu__categories + .l-megamenu__categories {
		border-top: 1px solid #ddd;
	}
	.l-megamenu__category + .l-megamenu__category {
		border-top: 1px solid #ddd;
	}
	.l-megamenu__item > a {
		display: block;
		color: inherit;
	}
	.l-megamenu__item + .l-megamenu__item {
		border-top: 1px solid #ddd;
	}
	.l-megamenu__thumb {
		display: none;
	}
	.l-megamenu__text {
		padding: 10px 20px;
		font-size: 1.2rem;
	}
}
@media (min-width: 768px), print {
	.l-megamenu {
		display: flex;
		flex-wrap: wrap;
		padding: 34px 50px 50px;
		overflow: hidden;
		z-index: 202;
	}
	.l-megamenu__categories {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		flex-wrap: wrap;
	}
	.l-megamenu__categories--featured {
		padding-bottom: 30px;
		border-bottom: 1px solid #ddd;
		width: 100%;
	}
	.l-megamenu__categories--regular {
		margin-top: 40px;
		flex: 1;
		flex-direction: row;
	}
	.l-megamenu__categories:last-child {
		margin-right: 0;
	}
	.l-megamenu__category {
		width: 100%;
	}
	.l-megamenu__category--regular {
		width: auto;
		max-width: 260px;
		margin-right: 120px;
	}
	.l-megamenu__category--regular:last-child {
		margin-right: 0;
	}
	.l-megamenu__category + .l-megamenu__category {
		margin-top: 0;
	}
	.l-megamenu__item--featured a {
		position: relative;
		display: block;
		width: 100%;
		font-weight: 500;
		font-size: 2.6rem;
		transition: color 0.2s;
	}
	.l-megamenu__item--featured a::before {
		content: "";
		display: inline-block;
		position: absolute;
		right: 0;
		top: 50%;
		width: 50px;
		height: 26px;
		background-color: transparent;
		border: 1px solid var(--color-txt);
		border-radius: 50px;
		transform: translateY(-50%);
	}
	.l-megamenu__item--featured a::after {
		content: "";
		display: inline-block;
		position: absolute;
		right: 0;
		top: 50%;
		width: 50px;
		height: 26px;
		background: var(--icon-chev-right) no-repeat;
		background-position: center;
		background-size: 8px;
		transform: translateY(-50%);
		background-size: 9px;
		transition: 0.3s ease;
	}
	.l-megamenu__item--featured a:hover {
		text-decoration: none !important;
		color: var(--color-txt-caption);
	}
	.l-megamenu__item--featured a:hover::before {
		border: 1px solid var(--color-txt-caption);
		background-color: var(--color-txt-caption);
	}
	.l-megamenu__item--featured a:hover::after {
		filter: var(--svg-gray);
		will-change: filter;
	}
	.l-megamenu__item a:hover {
		text-decoration: underline;
	}
	.l-megamenu__item + .l-megamenu__item {
		margin-top: 12px;
	}
	.l-megamenu__text {
		line-height: var(--line-height-m);
	}
}
.l-headnav {
	position: fixed;
	top: 0;
	left: 0;
	z-index: -100;
	display: block;
	width: 100%;
	height: 100%;
	padding-top: 65px;
	visibility: hidden;
	background: var(--color-bg);
	opacity: 0;
}
.l-headnav.is-open {
	visibility: visible;
	opacity: 1;
	z-index: 200;
}
.l-headnav.is-open .l-headnav__inner {
	opacity: 1;
}
.l-headnav__inner {
	opacity: 0;
	height: 100%;
	overflow: auto;
	transition: opacity 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}
@media (max-width: 767px) {
	.l-headnav__nav {
		margin-top: 40px;
	}
	.l-headnav__nav .l-sitemap-sub {
		display: none;
	}
	.l-headnav__nav .l-sitemap-main__secondary-items.saiyou {
		display: none;
	}
}
.l-headnav__menu {
	width: 100%;
	max-width: 1240px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 15px;
	padding-right: 15px;
}
@media (min-width: 768px), print {
	.l-headnav__menu {
		padding-left: 20px;
		padding-right: 20px;
	}
}
.l-headnav__menu {
	max-width: inherit;
	min-height: 100%;
}
@media (max-width: 767px) {
	.l-headnav__menu {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}
}
.l-headnav__head {
	display: flex;
	flex-direction: column-reverse;
	gap: 50px;
}
@media (max-width: 767px) {
	.l-headnav__head {
		margin-top: 60px;
	}
}
.l-headnav__links {
	padding-inline: 15px;
}
.l-headnav__sns {
	margin-bottom: 40px;
}
@media (max-width: 767px) {
	.l-headnav__contact {
		display: none;
	}
}
.l-headnav__contactinner {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 20px;
}
.l-headnav__button {
	display: flex;
	gap: 10px;
	margin: 0 0 30px;
}
.l-headnav__button .c-button {
	max-width: 248px;
}
.l-headnav__button .c-button__inner {
	gap: 0 10px;
	min-height: 50px;
	padding: 10px 15px;
}
.l-headnav__button .c-button__icon {
	border: none;
	width: 14px;
	height: 9px;
	background-size: 14px;
	border-radius: 0;
}
.l-headnav__button .c-button span {
	font-size: 1.4rem;
}
@media (max-width: 767px) {
	.l-headnav__button .c-button .sp-none {
		display: none;
	}
}
.l-headnav__contact {
	background-color: var(--color-bg);
	border-radius: 5px;
	padding: 20px 20px 22px;
}
.l-headnav__contactbutton {
	flex: 0 0 auto;
	margin-left: auto;
	text-align: right;
}
.l-headnav__contactbutton .c-icontext > a {
	text-decoration: none;
}
@media (max-width: 767px) {
	.l-headnav__contactbutton .c-caption {
		font-size: 1rem;
		margin-top: 20px;
	}
}
.l-headnav__contacttitle {
	flex: 0 1 auto;
	font-size: 1.6rem;
	font-weight: 700;
}
.l-headnav__contactlink a {
	position: relative;
	text-decoration: none;
	font-size: 1.5rem;
	font-weight: 400;
	padding-right: 45px;
}
.l-headnav__contactlink a::before {
	content: "";
	display: inline-block;
	position: absolute;
	right: 0;
	top: 50%;
	width: 40px;
	height: 21px;
	background-color: #fff;
	border: 1px solid var(--color-txt);
	border-radius: 50px;
	transform: translateY(-50%);
}
.l-headnav__contactlink a::after {
	content: "";
	display: inline-block;
	position: absolute;
	right: 0;
	top: 50%;
	width: 40px;
	height: 21px;
	background: var(--icon-chev-right) no-repeat;
	background-position: center;
	background-size: 8px;
	transform: translateY(-50%);
}
@media (min-width: 768px), print {
	.l-headnav {
		background-color: #fff;
		padding-top: 76px;
	}
	.l-headnav__inner {
		padding: 20px 40px 35px 60px;
	}
	.l-headnav__menu {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}
	.l-headnav__head {
		flex-wrap: wrap;
		flex-direction: row;
		justify-content: space-between;
		gap: 50px;
	}
	.l-headnav__links {
		flex: 0 0 30%;
		padding-inline: 0;
	}
	.l-headnav__nav {
		margin-bottom: 35px;
	}
	.l-headnav__contact {
		padding: 30px;
	}
	.l-headnav__contactinner {
		flex-direction: row;
	}
	.l-headnav__contacttitle {
		font-size: 2rem;
	}
	.l-headnav__contact {
		flex: 1 0 60%;
		max-width: 700px;
	}
	.l-headnav__contactbutton .c-caption {
		margin-top: 100px;
	}
	.l-headnav__button .c-mail {
		display: none;
	}
	.l-headnav__link a {
		padding-right: 55px;
		font-size: 2rem;
	}
	.l-headnav__link a::before {
		width: 50px;
		height: 26px;
		transition: 0.3s ease;
	}
	.l-headnav__link a::after {
		width: 50px;
		height: 26px;
		background-size: 9px;
		transition: 0.3s ease;
	}
	.l-headnav__link a:hover::before {
		border: 1px solid var(--color-txt-caption);
		background-color: var(--color-txt-caption);
	}
	.l-headnav__link a:hover::after {
		filter: var(--svg-gray);
		will-change: filter;
	}
}

/*----------
	main footer
----------*/
@media print {
	footer {
		display: none;
	}
}

.l-mainfooter__inner {
	width: 100%;
	background: var(--color-bg);
	border-radius: 5px;
	padding-top: 15px;
	padding-bottom: 15px;
}
.l-mainfooter__backhead {
	position: fixed;
	bottom: 120px;
	left: 0;
	right: 0;
	height: 0;
	padding: 0 20px;
	text-align: right;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s;
	z-index: 10;
}
.l-mainfooter__backhead.is-visible {
	opacity: 1;
	pointer-events: auto;
}
.l-mainfooter__backhead > a {
	position: relative;
	display: inline-flex;
	justify-content: center;
	color: inherit;
	width: 50px;
	height: 50px;
	padding-top: 15px;
	background-color: var(--color-txt);
	border-radius: 9999px;
	text-align: center;
}
.l-mainfooter__backhead > a::before {
	content: "";
	width: 10px;
	height: 1.5px;
	background-color: #fff;
	display: block;
	position: absolute;
	bottom: 16px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}
.l-mainfooter__backhead i {
	display: inline-block;
	width: 12px;
	height: 10px;
	background-color: #fff;
	transform: rotate(-90deg);
}
.l-mainfooter__head {
	display: flex;
	flex-direction: column-reverse;
	gap: 50px;
}
.l-mainfooter__links {
	padding-inline: 30px 15px;
}
.l-mainfooter__logo {
	display: block;
	max-width: 150px;
	margin: 0 0 40px;
}
.l-mainfooter__logo > img {
	display: block;
	max-width: 150px;
}
.l-mainfooter__button {
	display: flex;
	gap: 10px;
	margin: 0 0 30px;
}
.l-mainfooter__button .c-button {
	max-width: 248px;
}
.l-mainfooter__button .c-button__inner {
	gap: 0 10px;
	min-height: 50px;
	padding: 10px 15px;
}
.l-mainfooter__button .c-button__icon {
	border: none;
	width: 14px;
	height: 9px;
	background-size: 14px;
	border-radius: 0;
}
.l-mainfooter__button .c-button span {
	font-size: 1.4rem;
}
.l-mainfooter__sns {
	margin: 0 0 80px;
}
.l-mainfooter__nav {
	margin-bottom: 35px;
}
.l-mainfooter__contact {
	background-color: #fff;
	border-radius: 5px;
	padding: 20px 20px 22px;
	margin-inline: 15px;
}
.l-mainfooter__copyright {
	font-family: var(--font-inter);
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1;
	text-align: right;
	color: var(--color-txt);
	padding: 18px 25px;
	background-color: #fff;
}
@media (min-width: 768px), print {
	.l-mainfooter {
		margin: 0 40px;
	}
	.l-mainfooter__inner {
		padding: 20px 20px 65px 60px;
	}
	.l-mainfooter__backhead {
		bottom: 140px;
		right: 40px;
		padding: 0 20px;
	}
	.l-mainfooter__backhead > a {
		width: 70px;
		height: 70px;
		padding-top: 22px;
		transition: background-color 0.2s ease-out;
	}
	.l-mainfooter__backhead > a::before {
		content: "";
		width: 14px;
		height: 2px;
		bottom: 25px;
	}
	.l-mainfooter__backhead > a:hover {
		background-color: var(--color-txt-caption);
	}
	.l-mainfooter__backhead i {
		width: 16px;
		height: 14px;
	}
	.l-mainfooter__head {
		flex-wrap: wrap;
		flex-direction: row;
		gap: 50px;
		margin-bottom: 120px;
	}
	.l-mainfooter__links {
		flex: 0 0 30%;
		padding-inline: 0;
	}
	.l-mainfooter__logo {
		margin: 20px 0 80px;
		max-width: 180px;
	}
	.l-mainfooter__logo > img {
		max-width: 180px;
	}
	.l-mainfooter__sns {
		margin: 0;
	}
	.l-mainfooter__nav {
		margin-bottom: 35px;
	}
	.l-mainfooter__contact {
		flex: 1 0 60%;
		padding: 30px 30px 20px 40px;
	}
	.l-mainfooter__contact .c-icontext a {
		transition: all 0.2s;
	}
	.l-mainfooter__contact .c-icontext a:hover .c-icontext__icon {
		filter: var(--svg-gray);
		will-change: filter;
	}
	.l-mainfooter__copyright {
		margin-top: 22px;
		padding: 0 12px 22px;
		font-size: 1.4rem;
	}
}

.l-fcontact {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 30px;
}
.l-fcontact__title {
	flex: 0 1 auto;
	font-size: 1.6rem;
	font-weight: 700;
}
.l-fcontact__content {
	flex: 0 0 auto;
	margin-left: auto;
	text-align: right;
}
@media (max-width: 767px) {
	.l-fcontact__content {
		margin-left: 0;
		text-align: left;
	}
	.l-fcontact__content .c-caption {
		font-size: 1rem;
		margin-top: 20px;
	}
}
.l-fcontact__link a {
	position: relative;
	text-decoration: none;
	font-size: 1.5rem;
	font-weight: 400;
	padding-right: 45px;
}
.l-fcontact__link a::before {
	content: "";
	display: inline-block;
	position: absolute;
	right: 0;
	top: 50%;
	width: 40px;
	height: 21px;
	background-color: #fff;
	border: 1px solid var(--color-txt);
	border-radius: 50px;
	transform: translateY(-50%);
}
.l-fcontact__link a::after {
	content: "";
	display: inline-block;
	position: absolute;
	right: 0;
	top: 50%;
	width: 40px;
	height: 21px;
	background: var(--icon-chev-right) no-repeat;
	background-position: center;
	background-size: 8px;
	transform: translateY(-50%);
}
.l-fcontact__link a[target=_blank]::after {
	background: var(--icon-blank) no-repeat;
	background-position: center;
	background-size: 10px;
	transform: translateY(-50%);
}
@media (min-width: 768px), print {
	.l-fcontact {
		flex-direction: row;
		gap: 20px;
	}
	.l-fcontact__title {
		font-size: 2rem;
	}
	.l-fcontact__content .c-caption {
		margin-top: 100px;
	}
	.l-fcontact__link a {
		padding-right: 55px;
		font-size: 2rem;
	}
	.l-fcontact__link a::before {
		width: 50px;
		height: 26px;
		transition: 0.3s ease;
	}
	.l-fcontact__link a::after {
		width: 50px;
		height: 26px;
		background-size: 10px;
		transition: 0.3s ease;
	}
	.l-fcontact__link a[target=_blank]::after {
		background-size: 14px;
	}
	.l-fcontact__link a:hover::before {
		border: 1px solid var(--color-txt-caption);
		background-color: var(--color-txt-caption);
	}
	.l-fcontact__link a:hover::after {
		filter: var(--svg-gray);
		will-change: filter;
	}
}

/*----------
	main content
----------*/
.l-content {
	width: 100%;
	position: relative;
	overflow-x: hidden;
	padding-bottom: 40px;
	padding-top: 57px;
}
@media (min-width: 768px), print {
	.l-content {
		padding-bottom: 150px;
		padding-top: 76px;
		min-width: 1240px;
	}
}

.l-structure--double {
	width: 100%;
	max-width: 1240px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 15px;
	padding-right: 15px;
}
@media (min-width: 768px), print {
	.l-structure--double {
		padding-left: 20px;
		padding-right: 20px;
	}
}
.l-structure--double .l-structure__side {
	margin-top: 40px;
}
@media (min-width: 768px), print {
	.l-structure--double {
		display: flex;
	}
	.l-structure--double .l-structure__main {
		flex: 1;
	}
	.l-structure--double .l-structure__side {
		width: 25%;
		margin-left: 8.3333333333%;
		margin-top: 0;
		padding: 0;
	}
}

.l-section {
	width: 100%;
	max-width: 1240px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 15px;
	padding-right: 15px;
}
@media (min-width: 768px), print {
	.l-section {
		padding-left: 20px;
		padding-right: 20px;
	}
}
.l-section--gapless {
	padding-left: 0;
	padding-right: 0;
}

.l-sidenav {
	padding: 24px 0 40px;
}

.l-breadcrumb {
	padding: 22px 0 0;
}
.l-breadcrumb__list {
	display: inline-flex;
	flex-wrap: nowrap;
	white-space: nowrap;
	font-size: 1.3rem;
	font-weight: 500;
	line-height: 1.2;
}
.l-breadcrumb__list > li {
	display: block;
}
.l-breadcrumb__list > li > a {
	text-decoration: underline;
	color: var(--color-txt-caption);
}
.l-breadcrumb__list > li + li::before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 10px;
	mask-image: var(--icon-chev-right);
	mask-repeat: no-repeat;
	mask-position: center;
	background-color: var(--color-txt);
	margin: 0 8px;
}
.l-breadcrumb__list > li:last-child > a {
	pointer-events: none;
	font-weight: bold;
	color: var(--color-txt);
}
@media (max-width: 767px) {
	.l-breadcrumb__inner {
		width: 100%;
		overflow-x: auto;
	}
	.l-breadcrumb__list {
		width: 100%;
		max-width: 1240px;
		margin-left: auto;
		margin-right: auto;
		padding-left: 15px;
		padding-right: 15px;
		width: auto;
		max-width: none;
	}
}
@media (max-width: 767px) and (min-width: 768px), print and (max-width: 767px) {
	.l-breadcrumb__list {
		padding-left: 20px;
		padding-right: 20px;
	}
}
@media (min-width: 768px), print {
	.l-breadcrumb {
		padding: 28px 0 0;
	}
	.l-breadcrumb__inner {
		width: 100%;
		max-width: 1240px;
		margin-left: auto;
		margin-right: auto;
		padding-left: 15px;
		padding-right: 15px;
	}
}
@media (min-width: 768px) and (min-width: 768px), print and (min-width: 768px), print and (min-width: 768px), print {
	.l-breadcrumb__inner {
		padding-left: 20px;
		padding-right: 20px;
	}
}
@media (min-width: 768px), print {
	.l-breadcrumb__list {
		display: block;
		white-space: normal;
	}
	.l-breadcrumb__list > li {
		display: inline;
	}
	.l-breadcrumb__list > li > a:hover {
		text-decoration: underline;
	}
}

.l-localnav {
	border: 1px solid var(--color-txt);
	border-radius: 5px;
	overflow: hidden;
	margin-top: 70px;
}
.l-localnav__inner {
	width: 100%;
	max-width: 1240px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 15px;
	padding-right: 15px;
}
@media (min-width: 768px), print {
	.l-localnav__inner {
		padding-left: 20px;
		padding-right: 20px;
	}
}
.l-localnav__inner {
	padding-top: 30px;
	padding-bottom: 30px;
}
.l-localnav__cattop {
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.2;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--color-border);
}
.l-localnav__cattop a {
	position: relative;
	display: inline-flex;
	align-items: center;
}
.l-localnav__cattop a span {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 21px;
	border: 1px solid var(--color-txt);
	border-radius: 50px;
	margin-left: 15px;
}
.l-localnav__cattop a .u-icon-mask-chev-right {
	display: inline-block;
	width: 7px;
	height: 6px;
	background: var(--color-txt);
}
.l-localnav__category {
	margin-top: 30px;
}
.l-localnav__primary-item {
	font-size: 1.5rem;
	font-weight: 500;
}
.l-localnav__primary-item:not(:last-child) {
	margin-bottom: 15px;
}
.l-localnav__primary-item.is-current a span {
	background-color: var(--color-txt);
	padding: 2px 8px 4px;
	border-radius: 5px;
	color: #fff;
}
@media (max-width: 767px) {
	.l-localnav__primary-item.is-current a span + br + span {
		padding: 0 8px 0 0;
		margin-left: -8px;
	}
}
@media (min-width: 768px), print {
	.l-localnav {
		margin-top: 140px;
	}
	.l-localnav__inner {
		padding: 50px 40px;
		overflow: hidden;
	}
	.l-localnav__category {
		width: 100%;
		max-width: 744px;
		margin-left: auto;
		display: flex;
		align-items: flex-start;
		flex-wrap: wrap;
	}
	.l-localnav__cattop {
		font-size: 2.8rem;
		padding-bottom: 30px;
	}
	.l-localnav__cattop a {
		position: relative;
		transition: all 0.2s ease;
	}
	.l-localnav__cattop a span {
		margin-top: 2px;
		width: 50px;
		height: 27px;
		transition: all 0.2s ease;
	}
	.l-localnav__cattop a .u-icon-mask-chev-right {
		width: 9px;
		height: 8px;
		transition: all 0.2s ease;
	}
	.l-localnav__cattop a:hover {
		color: var(--color-txt-caption);
	}
	.l-localnav__cattop a:hover span {
		background: var(--color-txt-caption);
		border: var(--color-txt-caption);
	}
	.l-localnav__cattop a:hover .u-icon-mask-chev-right {
		background-color: #fff;
	}
	.l-localnav__primary-item {
		width: 100%;
		max-width: 248px;
		padding-right: 20px;
		font-size: 1.8rem;
	}
	.l-localnav__primary-item:not(.is-current) a {
		transition: text-decoration-color 0.2s ease;
		text-decoration-color: transparent;
	}
	.l-localnav__primary-item:not(.is-current) a:hover {
		text-decoration: underline;
		text-decoration-color: currentColor;
	}
}

.l-default-margin > [class^=p-],
.l-default-margin > [class^=c-],
.l-default-margin > [class^=g-] {
	margin-top: 30px;
}
.l-default-margin > .c-heading-primary {
	margin-top: 60px;
	margin-bottom: 60px;
}
.l-default-margin > .c-heading-secondary {
	margin-top: 100px;
	margin-bottom: 60px;
}
.l-default-margin > .c-heading-tertiary {
	margin-top: 60px;
	margin-bottom: 30px;
}
.l-default-margin .c-icontext + .c-icontext {
	margin-top: 20px;
}
@media (min-width: 768px), print {
	.l-default-margin > [class^=p-],
	.l-default-margin > [class^=c-],
	.l-default-margin > [class^=g-] {
		margin-top: 50px;
	}
	.l-default-margin > .c-heading-primary {
		margin-top: 70px;
		margin-bottom: 80px;
	}
	.l-default-margin > .c-heading-secondary {
		margin-top: 140px;
		margin-bottom: 100px;
	}
	.l-default-margin > .c-heading-tertiary {
		margin-top: 100px;
		margin-bottom: 50px;
	}
	.l-default-margin > .c-heading-quaternary {
		margin-top: 60px;
	}
	.l-default-margin > .c-heading-point {
		margin-top: 50px;
	}
}

/*----------
	main sitemap
----------*/
.l-sitemap-main__secondary-items {
	width: auto;
}
.l-sitemap-main__secondary-items.sub-item {
	height: auto;
	opacity: 1;
	pointer-events: all;
}
.l-sitemap-main__secondary-items.sub-item .l-sitemap-main__secondary-item > a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 1.3rem;
	font-weight: 700;
	color: var(--color-txt);
}
.l-sitemap-main__secondary-items.sub-item .l-sitemap-main__secondary-item > a > span {
	display: block;
	padding: 9px 0;
}
.l-sitemap-main__secondary-items.sub-item .l-sitemap-main__secondary-item > a[target=_blank]::after {
	content: "";
	display: inline-block;
	width: 14px;
	height: 9px;
	background: var(--icon-blank) no-repeat;
	background-size: contain;
}
.l-sitemap-main__secondary-item {
	color: var(--color-txt-caption);
}
.l-sitemap-main__secondary-item a {
	position: relative;
	display: inline-block;
}
.l-sitemap-main__secondary-item a span {
	padding-right: 10px;
}
.l-sitemap-main__secondary-item a[target=_blank]::after {
	content: "";
	display: inline-block;
	width: 14px;
	height: 9px;
	mask-image: var(--icon-blank);
	mask-repeat: no-repeat;
	mask-position: center;
	background-color: var(--color-txt);
}
.l-sitemap-main__secondary-link {
	margin-top: 15px;
	color: var(--color-txt-caption);
}
.l-sitemap-main__secondary-link a {
	position: relative;
	display: inline-block;
}
.l-sitemap-main__secondary-link a span {
	padding-right: 10px;
}
.l-sitemap-main__secondary-link a[target=_blank]::after {
	content: "";
	display: inline-block;
	width: 14px;
	height: 9px;
	mask-image: var(--icon-blank);
	mask-repeat: no-repeat;
	mask-position: center;
	background-color: #888;
}
@media (max-width: 767px) {
	.l-sitemap-main__primary-items {
		padding-inline: 15px;
	}
	.l-sitemap-main__cattop {
		position: relative;
		display: flex;
	}
	.l-sitemap-main__cattop > a,
	.l-sitemap-main__cattop > p {
		display: flex;
		justify-content: center;
		align-items: center;
		color: inherit;
		order: 1;
	}
	.l-sitemap-main__cattop > a > span,
	.l-sitemap-main__cattop > p > span {
		display: block;
		font-size: 1.8rem;
		font-weight: 700;
		padding: 9px 10px 9px 0;
	}
	.l-sitemap-main__cattop > a[target=_blank]::after,
	.l-sitemap-main__cattop > p[target=_blank]::after {
		content: "";
		display: inline-block;
		width: 14px;
		height: 9px;
		background: var(--icon-blank) no-repeat;
		background-size: contain;
	}
	.l-sitemap-main__cattop > button {
		display: none;
		text-align: center;
		cursor: pointer;
		order: 2;
	}
	.l-sitemap-main__cattop--s > a > span {
		font-size: 1.3rem;
	}
	.l-sitemap-main__secondary-items {
		height: 0;
		position: relative;
		overflow: hidden;
		opacity: 0;
		pointer-events: none;
		transition: all 0.4s linear;
	}
	.l-sitemap-main__secondary-item {
		font-size: 1.3rem;
	}
	.l-sitemap-main__secondary-item > a {
		color: var(--color-txt);
	}
	.l-sitemap-main__secondary-item > a > span {
		display: inline-block;
	}
	.l-sitemap-main__secondary-link {
		font-size: 1.3rem;
	}
	.l-sitemap-main__secondary-link > a {
		color: var(--color-txt);
	}
	.l-sitemap-main__secondary-link > a > span {
		display: inline-block;
	}
	.l-sitemap-main__primary-item.is-hierarichical .l-sitemap-main__cattop > button {
		display: inline-block;
		color: var(--color-txt);
	}
	.l-sitemap-main__primary-item.is-hierarichical .l-sitemap-main__cattop > button::before {
		content: "";
		display: block;
		width: 14px;
		height: 50px;
		mask-image: url("/assets/images/icons/arrow-down.svg") !important;
		mask-repeat: no-repeat;
		mask-position: center;
		background-color: #888;
	}
	.l-sitemap-main__primary-item.is-hierarichical.is-open .l-sitemap-main__cattop > button::before {
		transform: rotateX(180deg);
	}
	.l-sitemap-main__primary-item.is-hierarichical.is-open .l-sitemap-main__secondary-items {
		height: auto;
		opacity: 1;
		pointer-events: all;
		margin-bottom: 30px;
	}
}
@media (min-width: 768px), print {
	.l-sitemap-main__primary-items {
		display: grid;
		grid-template-columns: repeat(5, auto);
		grid-template-rows: repeat(2, auto);
		gap: 60px 50px;
	}
	.l-sitemap-main__cattop {
		font-size: 2.1rem;
	}
	.l-sitemap-main__cattop > button {
		display: none;
	}
	.l-sitemap-main__cattop > a {
		color: inherit;
		transition: text-decoration-color 0.2s ease;
	}
	.l-sitemap-main__cattop > a:hover {
		text-decoration: underline;
		text-decoration-color: currentColor;
	}
	.l-sitemap-main__cattop > a > span {
		font-weight: bold;
	}
	.l-sitemap-main__cattop p > span {
		font-weight: bold;
	}
	.l-sitemap-main__primary-item {
		flex: 1;
	}
	.l-sitemap-main__primary-item:nth-of-type(1) {
		grid-area: 1/1/2/2;
	}
	.l-sitemap-main__primary-item:nth-of-type(2) {
		grid-area: 2/1/3/2;
	}
	.l-sitemap-main__primary-item:nth-of-type(3) {
		grid-area: 1/2/3/3;
	}
	.l-sitemap-main__primary-item:nth-of-type(4) {
		grid-area: 1/3/3/4;
	}
	.l-sitemap-main__primary-item:nth-of-type(5) {
		grid-area: 1/4/2/5;
	}
	.l-sitemap-main__primary-item:nth-of-type(6) {
		grid-area: 2/4/3/5;
	}
	.l-sitemap-main__primary-item:nth-of-type(7) {
		grid-area: 1/5/2/6;
	}
	.l-sitemap-main__secondary-items {
		display: inline-block;
		margin-top: 7px;
	}
	.l-sitemap-main__secondary-items.sub-item .l-sitemap-main__secondary-item > a {
		font-size: 1.5rem;
	}
	.l-sitemap-main__secondary-items.sub-item .l-sitemap-main__secondary-item > a > span {
		padding: 0;
	}
	.l-sitemap-main__secondary-item {
		font-size: 1.4rem;
		margin-top: 8px;
	}
	.l-sitemap-main__secondary-item > a {
		color: inherit;
		transition: color 0.2s ease;
	}
	.l-sitemap-main__secondary-item > a:hover {
		text-decoration: underline;
		color: var(--color-txt);
	}
	.l-sitemap-main__secondary-link {
		font-size: 1.4rem;
		margin-top: 8px;
	}
	.l-sitemap-main__secondary-link > a {
		color: inherit;
		transition: color 0.2s ease;
	}
	.l-sitemap-main__secondary-link > a[target=_blank]::after {
		background-color: var(--color-txt);
	}
	.l-sitemap-main__secondary-link > a:hover {
		text-decoration: underline;
		color: var(--color-txt);
	}
}

.l-sitemap-sub__items {
	margin-top: 60px;
}
.l-sitemap-sub__item {
	margin-bottom: 20px;
	font-size: 1.2rem;
	line-height: 1;
	color: var(--color-txt-caption);
}
.l-sitemap-sub__item > a {
	display: inline-flex;
	align-items: center;
	color: inherit;
}
.l-sitemap-sub__item > a > span {
	display: block;
	padding-right: 10px;
}
.l-sitemap-sub__item > a[target=_blank]::after {
	content: "";
	display: inline-block;
	width: 14px;
	height: 9px;
	mask-image: var(--icon-blank);
	mask-repeat: no-repeat;
	mask-position: center;
	background-color: #888;
}
@media (min-width: 768px), print {
	.l-sitemap-sub {
		grid-area: 2/5/3/6;
	}
	.l-sitemap-sub__items {
		margin-top: 10px;
		padding-inline: 0 15px;
	}
	.l-sitemap-sub__item > a {
		transition: color 0.2s;
	}
	.l-sitemap-sub__item > a:hover {
		text-decoration: underline;
		color: var(--color-txt);
	}
}

/*----------
	common navigation
----------*/
.l-common-nav__item {
	overflow: hidden;
}
.l-common-nav__item.online .l-common-nav__inner {
	border: 1px solid var(--color-bg);
	background-color: var(--color-bg);
}
.l-common-nav__item.showroom .l-common-nav__inner {
	background-color: var(--color-txt);
}
.l-common-nav__item.showroom a,
.l-common-nav__item.showroom span {
	color: #fff;
}
.l-common-nav__item.showroom .c-icontext img {
	filter: var(--svg-white);
	will-change: filter;
}
.l-common-nav__inner {
	display: block;
	padding: 40px 30px 20px;
	border-radius: 5px;
}
.l-common-nav__contents {
	display: grid;
	margin-bottom: 50px;
}
.l-common-nav__title p {
	font-family: var(--font-inter);
	font-size: 3.2rem;
	font-weight: 500;
	line-height: 1.2;
}
.l-common-nav__title img {
	max-width: 230px;
}
.l-common-nav__image {
	width: 100%;
	max-width: 100px;
}
.l-common-nav__text {
	font-size: 1.3rem;
}
.l-common-nav__button.c-icontext > span {
	text-decoration: none !important;
}
@media (max-width: 767px) {
	.l-common-nav__contents {
		gap: 30px 25px;
		grid-template-columns: 1fr auto;
		grid-template-rows: auto 1fr;
	}
	.l-common-nav__title {
		grid-column: span 2;
	}
	.l-common-nav__image {
		grid-row-start: 2;
	}
	.l-common-nav__text {
		grid-row-start: 2;
	}
}
@media (min-width: 768px), print {
	.l-common-nav__inner {
		padding: 15px 15px 30px 40px;
		transition: background-color 0.2s ease-in;
	}
	.l-common-nav__item.online .l-common-nav__inner:hover {
		border-color: var(--color-border);
		background-color: #fff;
	}
	.l-common-nav__item.showroom .l-common-nav__inner:hover {
		background-color: var(--color-txt-caption);
	}
	.l-common-nav__contents {
		display: grid;
		gap: 30px 50px;
		grid-template-columns: 1fr auto;
		grid-template-rows: repeat(2, auto);
		margin-bottom: 55px;
	}
	.l-common-nav__title {
		grid-area: 1/1/2/2;
		margin-top: 30px;
	}
	.l-common-nav__title p {
		font-size: 4rem;
	}
	.l-common-nav__title img {
		max-width: 320px;
	}
	.l-common-nav__image {
		grid-area: 1/2/3/3;
		grid-row-start: 1;
		max-width: 150px;
	}
	.l-common-nav__text {
		grid-area: 2/1/3/2;
		font-size: 1.5rem;
	}
}

/*----------
	margin
----------*/
/* 汎用マージン */
.u-mt-xs {
	margin-top: 10px !important;
}
@media (min-width: 768px), print {
	.u-mt-xs {
		margin-top: 20px !important;
	}
}

.u-mt-s {
	margin-top: 20px !important;
}
@media (min-width: 768px), print {
	.u-mt-s {
		margin-top: 30px !important;
	}
}

.u-mt-m {
	margin-top: 40px !important;
}
@media (min-width: 768px), print {
	.u-mt-m {
		margin-top: 50px !important;
	}
}

.u-mt-l {
	margin-top: 60px !important;
}
@media (min-width: 768px), print {
	.u-mt-l {
		margin-top: 80px !important;
	}
}

.u-mt-xl {
	margin-top: 80px !important;
}
@media (min-width: 768px), print {
	.u-mt-xl {
		margin-top: 100px !important;
	}
}

.u-mt-xxl {
	margin-top: 100px !important;
}
@media (min-width: 768px), print {
	.u-mt-xxl {
		margin-top: 140px !important;
	}
}

.u-mt-none {
	margin-top: 0 !important;
}
@media (min-width: 768px), print {
	.u-mt-none {
		margin-top: 0 !important;
	}
}

.u-mb-none {
	margin-bottom: 0 !important;
}
@media (min-width: 768px), print {
	.u-mb-none {
		margin-bottom: 0 !important;
	}
}

@media (min-width: 768px), print {
	.u-pc-mt-none {
		margin-top: 0 !important;
	}
}

@media (max-width: 767px) {
	.u-sp-mt-none {
		margin-top: 0 !important;
	}
}

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

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

/*----------
	text
----------*/
@media (max-width: 767px) {
	br.u-pcbr {
		display: none;
	}
}

@media (min-width: 768px), print {
	br.u-spbr {
		display: none;
	}
}

.u-txt-center {
	text-align: center !important;
}

@media (min-width: 768px), print {
	.u-txt-pccenter {
		text-align: center !important;
	}
}

.u-txt-right {
	text-align: right !important;
}

.u-txt-left {
	text-align: left !important;
}

.u-txt-normal {
	font-weight: normal !important;
}

.u-txt-medium {
	font-weight: 500 !important;
}

.u-txt-bold {
	font-weight: bold !important;
}

.u-txt-strike {
	text-decoration: line-through !important;
}

.u-txt-cn {
	font-family: "Noto Sans SC", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
}

.u-text-indent {
	text-indent: -3em;
	padding-left: 3em;
}

.u-txt-marker {
	font-weight: bold;
	background-image: linear-gradient(transparent 80%, #FFF7A6 80%);
}

.u-txt-prim {
	color: var(--color-prim) !important;
}

.u-txt-seco {
	color: var(--color-seco) !important;
}

.u-txt-default {
	color: var(--color-txt) !important;
}

.u-txt-white {
	color: #fff !important;
}

.u-txt-caution {
	color: var(--color-caution) !important;
}

/* 文中リンク */
.u-txt-link {
	text-decoration: underline;
	color: var(--color-txt-link);
}
@media (min-width: 768px), print {
	.u-txt-link {
		transition: color 0.2s;
	}
	.u-txt-link:hover {
		color: var(--color-txt-hover);
	}
}

/* 文字サイズ */
@media (min-width: 768px), print {
	.u-pc-fz-10 {
		font-size: 1rem !important;
	}
}
@media (max-width: 767px) {
	.u-sp-fz-10 {
		font-size: 1rem !important;
	}
}
@media (min-width: 768px), print {
	.u-pc-fz-11 {
		font-size: 1.1rem !important;
	}
}
@media (max-width: 767px) {
	.u-sp-fz-11 {
		font-size: 1.1rem !important;
	}
}
@media (min-width: 768px), print {
	.u-pc-fz-12 {
		font-size: 1.2rem !important;
	}
}
@media (max-width: 767px) {
	.u-sp-fz-12 {
		font-size: 1.2rem !important;
	}
}
@media (min-width: 768px), print {
	.u-pc-fz-13 {
		font-size: 1.3rem !important;
	}
}
@media (max-width: 767px) {
	.u-sp-fz-13 {
		font-size: 1.3rem !important;
	}
}
@media (min-width: 768px), print {
	.u-pc-fz-14 {
		font-size: 1.4rem !important;
	}
}
@media (max-width: 767px) {
	.u-sp-fz-14 {
		font-size: 1.4rem !important;
	}
}
@media (min-width: 768px), print {
	.u-pc-fz-15 {
		font-size: 1.5rem !important;
	}
}
@media (max-width: 767px) {
	.u-sp-fz-15 {
		font-size: 1.5rem !important;
	}
}
@media (min-width: 768px), print {
	.u-pc-fz-16 {
		font-size: 1.6rem !important;
	}
}
@media (max-width: 767px) {
	.u-sp-fz-16 {
		font-size: 1.6rem !important;
	}
}
@media (min-width: 768px), print {
	.u-pc-fz-17 {
		font-size: 1.7rem !important;
	}
}
@media (max-width: 767px) {
	.u-sp-fz-17 {
		font-size: 1.7rem !important;
	}
}
@media (min-width: 768px), print {
	.u-pc-fz-18 {
		font-size: 1.8rem !important;
	}
}
@media (max-width: 767px) {
	.u-sp-fz-18 {
		font-size: 1.8rem !important;
	}
}
@media (min-width: 768px), print {
	.u-pc-fz-19 {
		font-size: 1.9rem !important;
	}
}
@media (max-width: 767px) {
	.u-sp-fz-19 {
		font-size: 1.9rem !important;
	}
}
@media (min-width: 768px), print {
	.u-pc-fz-20 {
		font-size: 2rem !important;
	}
}
@media (max-width: 767px) {
	.u-sp-fz-20 {
		font-size: 2rem !important;
	}
}
@media (min-width: 768px), print {
	.u-pc-fz-21 {
		font-size: 2.1rem !important;
	}
}
@media (max-width: 767px) {
	.u-sp-fz-21 {
		font-size: 2.1rem !important;
	}
}
@media (min-width: 768px), print {
	.u-pc-fz-22 {
		font-size: 2.2rem !important;
	}
}
@media (max-width: 767px) {
	.u-sp-fz-22 {
		font-size: 2.2rem !important;
	}
}
@media (min-width: 768px), print {
	.u-pc-fz-23 {
		font-size: 2.3rem !important;
	}
}
@media (max-width: 767px) {
	.u-sp-fz-23 {
		font-size: 2.3rem !important;
	}
}
@media (min-width: 768px), print {
	.u-pc-fz-24 {
		font-size: 2.4rem !important;
	}
}
@media (max-width: 767px) {
	.u-sp-fz-24 {
		font-size: 2.4rem !important;
	}
}
@media (min-width: 768px), print {
	.u-pc-fz-25 {
		font-size: 2.5rem !important;
	}
}
@media (max-width: 767px) {
	.u-sp-fz-25 {
		font-size: 2.5rem !important;
	}
}
@media (min-width: 768px), print {
	.u-pc-fz-26 {
		font-size: 2.6rem !important;
	}
}
@media (max-width: 767px) {
	.u-sp-fz-26 {
		font-size: 2.6rem !important;
	}
}
@media (min-width: 768px), print {
	.u-pc-fz-27 {
		font-size: 2.7rem !important;
	}
}
@media (max-width: 767px) {
	.u-sp-fz-27 {
		font-size: 2.7rem !important;
	}
}
@media (min-width: 768px), print {
	.u-pc-fz-28 {
		font-size: 2.8rem !important;
	}
}
@media (max-width: 767px) {
	.u-sp-fz-28 {
		font-size: 2.8rem !important;
	}
}
@media (min-width: 768px), print {
	.u-pc-fz-29 {
		font-size: 2.9rem !important;
	}
}
@media (max-width: 767px) {
	.u-sp-fz-29 {
		font-size: 2.9rem !important;
	}
}
@media (min-width: 768px), print {
	.u-pc-fz-30 {
		font-size: 3rem !important;
	}
}
@media (max-width: 767px) {
	.u-sp-fz-30 {
		font-size: 3rem !important;
	}
}
@media (min-width: 768px), print {
	.u-pc-fz-31 {
		font-size: 3.1rem !important;
	}
}
@media (max-width: 767px) {
	.u-sp-fz-31 {
		font-size: 3.1rem !important;
	}
}
@media (min-width: 768px), print {
	.u-pc-fz-32 {
		font-size: 3.2rem !important;
	}
}
@media (max-width: 767px) {
	.u-sp-fz-32 {
		font-size: 3.2rem !important;
	}
}
/* アイコン背景画像 */
.u-icon-arrow-down {
	background-image: var(--icon-arrow-down) !important;
	background-repeat: no-repeat;
}
.u-icon-blank {
	background-image: var(--icon-blank) !important;
	background-repeat: no-repeat;
}
.u-icon-chev-right {
	background-image: var(--icon-chev-right) !important;
	background-repeat: no-repeat;
}
.u-icon-chev-left {
	background-image: var(--icon-chev-left) !important;
	background-repeat: no-repeat;
}
.u-icon-chev-squ-down {
	background-image: var(--icon-chev-squ-down) !important;
	background-repeat: no-repeat;
}
.u-icon-download {
	background-image: var(--icon-download) !important;
	background-repeat: no-repeat;
}
.u-icon-humberger {
	background-image: var(--icon-humberger) !important;
	background-repeat: no-repeat;
}
.u-icon-close {
	background-image: var(--icon-close) !important;
	background-repeat: no-repeat;
}
.u-icon-swipe {
	background-image: var(--icon-swipe) !important;
	background-repeat: no-repeat;
}
.u-icon-minus {
	background-image: var(--icon-minus) !important;
	background-repeat: no-repeat;
}
.u-icon-mail {
	background-image: var(--icon-mail) !important;
	background-repeat: no-repeat;
}
.u-icon-pdf {
	background-image: var(--icon-pdf) !important;
	background-repeat: no-repeat;
}
.u-icon-play {
	background-image: var(--icon-play) !important;
	background-repeat: no-repeat;
}
.u-icon-plus {
	background-image: var(--icon-plus) !important;
	background-repeat: no-repeat;
}
.u-icon-stop {
	background-image: var(--icon-stop) !important;
	background-repeat: no-repeat;
}

.u-icon-mask-arrow-down {
	-webkit-mask-image: var(--icon-arrow-down) !important;
	mask-image: var(--icon-arrow-down) !important;
	mask-repeat: no-repeat;
}
.u-icon-mask-blank {
	-webkit-mask-image: var(--icon-blank) !important;
	mask-image: var(--icon-blank) !important;
	mask-repeat: no-repeat;
}
.u-icon-mask-chev-right {
	-webkit-mask-image: var(--icon-chev-right) !important;
	mask-image: var(--icon-chev-right) !important;
	mask-repeat: no-repeat;
}
.u-icon-mask-chev-left {
	-webkit-mask-image: var(--icon-chev-left) !important;
	mask-image: var(--icon-chev-left) !important;
	mask-repeat: no-repeat;
}
.u-icon-mask-chev-squ-down {
	-webkit-mask-image: var(--icon-chev-squ-down) !important;
	mask-image: var(--icon-chev-squ-down) !important;
	mask-repeat: no-repeat;
}
.u-icon-mask-download {
	-webkit-mask-image: var(--icon-download) !important;
	mask-image: var(--icon-download) !important;
	mask-repeat: no-repeat;
}
.u-icon-mask-humberger {
	-webkit-mask-image: var(--icon-humberger) !important;
	mask-image: var(--icon-humberger) !important;
	mask-repeat: no-repeat;
}
.u-icon-mask-close {
	-webkit-mask-image: var(--icon-close) !important;
	mask-image: var(--icon-close) !important;
	mask-repeat: no-repeat;
}
.u-icon-mask-swipe {
	-webkit-mask-image: var(--icon-swipe) !important;
	mask-image: var(--icon-swipe) !important;
	mask-repeat: no-repeat;
}
.u-icon-mask-minus {
	-webkit-mask-image: var(--icon-minus) !important;
	mask-image: var(--icon-minus) !important;
	mask-repeat: no-repeat;
}
.u-icon-mask-mail {
	-webkit-mask-image: var(--icon-mail) !important;
	mask-image: var(--icon-mail) !important;
	mask-repeat: no-repeat;
}
.u-icon-mask-pdf {
	-webkit-mask-image: var(--icon-pdf) !important;
	mask-image: var(--icon-pdf) !important;
	mask-repeat: no-repeat;
}
.u-icon-mask-play {
	-webkit-mask-image: var(--icon-play) !important;
	mask-image: var(--icon-play) !important;
	mask-repeat: no-repeat;
}
.u-icon-mask-plus {
	-webkit-mask-image: var(--icon-plus) !important;
	mask-image: var(--icon-plus) !important;
	mask-repeat: no-repeat;
}
.u-icon-mask-stop {
	-webkit-mask-image: var(--icon-stop) !important;
	mask-image: var(--icon-stop) !important;
	mask-repeat: no-repeat;
}

/* 10px倍数 */
.u-mt-10 {
	margin-top: 10px !important;
}

.u-mb-10 {
	margin-bottom: 10px !important;
}

.u-mt-20 {
	margin-top: 20px !important;
}

.u-mb-20 {
	margin-bottom: 20px !important;
}

.u-mt-30 {
	margin-top: 30px !important;
}

.u-mb-30 {
	margin-bottom: 30px !important;
}

.u-mt-40 {
	margin-top: 40px !important;
}

.u-mb-40 {
	margin-bottom: 40px !important;
}

.u-mt-50 {
	margin-top: 50px !important;
}

.u-mb-50 {
	margin-bottom: 50px !important;
}

.u-mt-60 {
	margin-top: 60px !important;
}

.u-mb-60 {
	margin-bottom: 60px !important;
}

.u-mt-70 {
	margin-top: 70px !important;
}

.u-mb-70 {
	margin-bottom: 70px !important;
}

.u-mt-80 {
	margin-top: 80px !important;
}

.u-mb-80 {
	margin-bottom: 80px !important;
}

.u-mt-90 {
	margin-top: 90px !important;
}

.u-mb-90 {
	margin-bottom: 90px !important;
}

.u-mt-100 {
	margin-top: 100px !important;
}

.u-mb-100 {
	margin-bottom: 100px !important;
}

@media (min-width: 768px), print {
	.u-pc-mt-10 {
		margin-top: 10px !important;
	}
}
@media (max-width: 767px) {
	.u-sp-mt-10 {
		margin-top: 10px !important;
	}
}
@media (min-width: 768px), print {
	.u-pc-mt-20 {
		margin-top: 20px !important;
	}
}
@media (max-width: 767px) {
	.u-sp-mt-20 {
		margin-top: 20px !important;
	}
}
@media (min-width: 768px), print {
	.u-pc-mt-30 {
		margin-top: 30px !important;
	}
}
@media (max-width: 767px) {
	.u-sp-mt-30 {
		margin-top: 30px !important;
	}
}
@media (min-width: 768px), print {
	.u-pc-mt-40 {
		margin-top: 40px !important;
	}
}
@media (max-width: 767px) {
	.u-sp-mt-40 {
		margin-top: 40px !important;
	}
}
@media (min-width: 768px), print {
	.u-pc-mt-50 {
		margin-top: 50px !important;
	}
}
@media (max-width: 767px) {
	.u-sp-mt-50 {
		margin-top: 50px !important;
	}
}
@media (min-width: 768px), print {
	.u-pc-mt-60 {
		margin-top: 60px !important;
	}
}
@media (max-width: 767px) {
	.u-sp-mt-60 {
		margin-top: 60px !important;
	}
}
@media (min-width: 768px), print {
	.u-pc-mt-70 {
		margin-top: 70px !important;
	}
}
@media (max-width: 767px) {
	.u-sp-mt-70 {
		margin-top: 70px !important;
	}
}
@media (min-width: 768px), print {
	.u-pc-mt-80 {
		margin-top: 80px !important;
	}
}
@media (max-width: 767px) {
	.u-sp-mt-80 {
		margin-top: 80px !important;
	}
}
@media (min-width: 768px), print {
	.u-pc-mt-90 {
		margin-top: 90px !important;
	}
}
@media (max-width: 767px) {
	.u-sp-mt-90 {
		margin-top: 90px !important;
	}
}
@media (min-width: 768px), print {
	.u-pc-mt-100 {
		margin-top: 100px !important;
	}
}
@media (max-width: 767px) {
	.u-sp-mt-100 {
		margin-top: 100px !important;
	}
}
@media (min-width: 768px), print {
	.u-pc-mt-110 {
		margin-top: 110px !important;
	}
}
@media (max-width: 767px) {
	.u-sp-mt-110 {
		margin-top: 110px !important;
	}
}
@media (min-width: 768px), print {
	.u-pc-mt-120 {
		margin-top: 120px !important;
	}
}
@media (max-width: 767px) {
	.u-sp-mt-120 {
		margin-top: 120px !important;
	}
}
@media (min-width: 768px), print {
	.u-pc-mt-130 {
		margin-top: 130px !important;
	}
}
@media (max-width: 767px) {
	.u-sp-mt-130 {
		margin-top: 130px !important;
	}
}
@media (min-width: 768px), print {
	.u-pc-mt-140 {
		margin-top: 140px !important;
	}
}
@media (max-width: 767px) {
	.u-sp-mt-140 {
		margin-top: 140px !important;
	}
}
.u-border {
	border: 1px solid var(--color-border);
}
/*# sourceMappingURL=common.css.map */
