@charset "UTF-8";
@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Audiowide&family=Zalando+Sans+Expanded:wght@700&family=Barlow:wght@700&display=swap);
/* Reset */
@layer 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;
	}
	:where(ul, ol) {
		list-style-type: "";
	}
	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-prim: #0068B6;
	--color-seco: #F9BE00;
	--color-txt: #222;
	--color-txt-caption: #666;
	--color-txt-link: #004099;
	--color-border: #DDD;
	--color-bg: #F5F5F5;
	--color-red: #E6002D;
	--color-cv: #004099;
	--color-txt-link-hover: #0068B6;
	--color-prim-light-hover: oklch(from #0068B6 calc(l + .1) c h);
	--color-white-light-hover: oklch(from #fff l c h / .7);
	--color-cv-hover: oklch(from #004099 calc(l + .1) c h);
	/* font family */
	--font-sans: 'Noto Sans JP', 'ヒラギノ角ゴシック', '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', Hiragino Sans, 'メイリオ', Meiryo, sans-serif;
	--font-audiowide: "Audiowide", sans-serif;
	--font-zalando: "Zalando Sans Expanded", sans-serif;
	--font-barlow: "Barlow", sans-serif;
	/* グラデーション */
	--grade-prim: linear-gradient(90deg, #007CD9 0%, #0068B6 40%, #0043A2 100%);
	/* 点線　グレー */
	--line-dotted-gr-pc: repeating-linear-gradient(to right,#808080 0 1px,transparent 1px 3px);
	--line-dotted-gr-sp: repeating-linear-gradient(to right,#808080 0 1px,transparent 2px 5px);
	/* 点線　白 */
	--line-dotted-wh-pc: repeating-linear-gradient(to right,#fff 0 1px,transparent 1px 3px);
	--line-dotted-wh-sp: repeating-linear-gradient(to right,#fff 0 1px,transparent 2px 5px);
	/* z-index */
	--z-base: 0;
	--z-back: -1;
	--z-1: 1;
	--z-2: 2;
	--z-3: 3;
	/* 固有管理 */
	--z-pagetop: 10;
	--z-headertoggle: 50;
	--z-header: 100;
	--z-modal: 1000;
	--z-max: calc(infinity);
	/* hover time */
	--hvr: .3s;
	/* trantion */
	--t-opacity: opacity var(--hvr) ease;
	--t-color: color var(--hvr) ease;
	--t-bgColor: background-color var(--hvr) ease;
	--t-scale: scale var(--hvr) cubic-bezier(.30, .93, .6, 1);
	--t-width: width .4s cubic-bezier(.215,.61,.355,1);
	--t-display: opacity .6s, display .6s allow-discrete;
	/* icons path */
	--icon-arrow-right: url("/assets_renew/images/icons/arrow-right.svg");
	--icon-arrow-left: url("/assets_renew/images/icons/arrow-left.svg");
	--icon-arrow-down: url("/assets_renew/images/icons/arrow-down.svg");
	--icon-arrow-up: url("/assets_renew/images/icons/arrow-up.svg");
	--icon-blank: url("/assets_renew/images/icons/blank.svg");
	--icon-chev-cir-right: url("/assets_renew/images/icons/chev-cir-right.svg");
	--icon-chev-cir-right2: url("/assets_renew/images/icons/chev-cir-right2.svg");
	--icon-chev-cir-blank: url("/assets_renew/images/icons/chev-cir-blank.svg");
	--icon-chev-down: url("/assets_renew/images/icons/chev-down.svg");
	--icon-chev-left: url("/assets_renew/images/icons/chev-left.svg");
	--icon-chev-right: url("/assets_renew/images/icons/chev-right.svg");
	--icon-chev-up: url("/assets_renew/images/icons/chev-up.svg");
	--icon-chev-cir2-down: url("/assets_renew/images/icons/chev-cir2-down.svg");
	--icon-chev-cir2-left: url("/assets_renew/images/icons/chev-cir2-left.svg");
	--icon-chev-cir2-right: url("/assets_renew/images/icons/chev-cir2-right.svg");
	--icon-chev-cir2-up: url("/assets_renew/images/icons/chev-cir2-up.svg");
	--icon-close: url("/assets_renew/images/icons/close.svg");
	--icon-download: url("/assets_renew/images/icons/download.svg");
	--icon-first: url("/assets_renew/images/icons/first.svg");
	--icon-global: url("/assets_renew/images/icons/global.svg");
	--icon-last: url("/assets_renew/images/icons/last.svg");
	--icon-mail: url("/assets_renew/images/icons/mail.svg");
	--icon-minus: url("/assets_renew/images/icons/minus.svg");
	--icon-pdf: url("/assets_renew/images/icons/pdf.svg");
	--icon-pinch-in: url("/assets_renew/images/icons/pinch-in.svg");
	--icon-pinch-out: url("/assets_renew/images/icons/pinch-out.svg");
	--icon-play: url("/assets_renew/images/icons/play.svg");
	--icon-plus: url("/assets_renew/images/icons/plus.svg");
	--icon-stop: url("/assets_renew/images/icons/stop.svg");
	--icon-swipe: url("/assets_renew/images/icons/swipe.svg");
	--icon-zoom: url("/assets_renew/images/icons/zoom.svg");
}

/*----------
	base
----------*/
html {
	width: 100%;
	font-size: 62.5%;
	background-color: #fff;
	scrollbar-color: var(--color-prim) #fafafa;
	scrollbar-width: thin;
}
html.is-locked {
	overflow: hidden;
}

body {
	font-size: 1.6rem;
	line-height: 1.8;
	font-family: var(--font-sans);
	letter-spacing: 0;
	color: var(--color-txt);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;
}
@media (width >= 768px), print {
	body {
		letter-spacing: 0.02em;
	}
}
@media print {
	body {
		min-width: 1240px;
		zoom: 0.8;
	}
}

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;
}

button {
	touch-action: manipulation;
}

:where(img) {
	width: 100%;
	max-width: 100%;
	height: auto;
	vertical-align: top;
}

:where(a) {
	text-decoration: none;
	color: var(--color-txt-link);
}
@media (width >= 768px), print {
	:where(a)[href^=tel] {
		color: inherit;
		text-decoration: none;
		pointer-events: none;
	}
	:where(a):hover {
		color: var(--color-prim-light-hover);
		text-decoration: none;
	}
}

*[id^=a-], #sns {
	scroll-margin-top: 80px;
}
@media (width >= 768px), print {
	*[id^=a-], #sns {
		scroll-margin-top: 130px;
	}
}

/*
	アニメーション用 イージング集
	https://cubic-bezier.com/
------------------------------ */
[data-anime~=fadein] {
	opacity: 0;
	translate: 0 40px;
	scale: 0.99;
	transition: opacity 0.8s ease, translate 0.8s ease, scale 0.8s ease;
	will-change: opacity, translate, scale;
}
[data-anime~=fadein].is-active {
	opacity: 1;
	translate: 0;
	scale: 1;
}

/* 別ページからの遷移時はフェードイン無効 */
.is-anchor [data-anime~=fadein] {
	opacity: 1;
	translate: 0;
	scale: 1;
	transform: none;
	transition: none;
	will-change: unset;
}

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

.l-mainheader {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: var(--z-header);
	background-color: transparent;
	transition: transform 0.3s, opacity 0.3s, background-color 0.3s;
}
.l-mainheader.is-hung {
	background-color: #fff;
	position: fixed;
}
.l-mainheader.is-fixed {
	position: fixed;
	background-color: #fff;
}
.l-mainheader.is-scrolldown {
	transform: translateY(-100%);
	opacity: 0;
}
.l-mainheader.is-scrollup {
	transform: translateY(0);
	opacity: 1;
}
@media (width < 768px) {
	.l-mainheader {
		background-color: #fff;
		border-bottom: 1px solid var(--color-border);
	}
	.l-mainheader__inner {
		position: relative;
		width: 100%;
		max-width: 1240px;
		margin-left: auto;
		margin-right: auto;
		padding-left: 20px;
		padding-right: 20px;
		padding-right: 0;
		height: 60px;
	}
}
@media (width < 768px) and (width >= 768px), print and (width < 768px) {
	.l-mainheader__inner {
		padding-left: 20px;
		padding-right: 20px;
	}
}
@media (width < 768px) {
	.l-mainheader__logo {
		width: fit-content;
		padding-top: 13px;
	}
	.l-mainheader__logo > a {
		display: block;
	}
	.l-mainheader__logo > a img {
		width: 13.3rem;
	}
	.l-mainheader__util {
		display: none;
	}
	.l-mainheader__nav {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		z-index: var(--z-1);
	}
	.l-mainheader__nav.is-open {
		display: block;
	}
	.l-mainheader__nav.is-open .l-mainheader__nav-inner {
		background: var(--grade-prim);
	}
	.l-mainheader__navtoggle {
		position: absolute;
		top: 0;
		right: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 60px;
		height: 60px;
	}
	.l-mainheader__navtoggle-inner {
		position: relative;
		display: block;
		width: 20px;
		height: 1px;
		margin: 0 auto;
	}
	:is(.l-mainheader__navtoggle-bartop, .l-mainheader__navtoggle-barmiddle, .l-mainheader__navtoggle-barbottom) {
		position: absolute;
		display: block;
		width: 100%;
		height: 100%;
		background-color: var(--color-txt);
		transition: all 0.15s linear;
	}
	.l-mainheader__navtoggle-bartop {
		transform: translateY(-6px) rotate(0deg);
	}
	.l-mainheader__navtoggle-barbottom {
		transform: translateY(6px) rotate(0deg);
	}
	.l-mainheader__navtoggle.is-open .l-mainheader__navtoggle-bartop {
		opacity: 0;
	}
	.l-mainheader__navtoggle.is-open .l-mainheader__navtoggle-barmiddle {
		transform: translateY(0) rotate(45deg);
	}
	.l-mainheader__navtoggle.is-open .l-mainheader__navtoggle-barbottom {
		transform: translateY(0) rotate(-45deg);
	}
}
@media (width >= 768px), print {
	.l-mainheader {
		width: 100%;
		min-width: 1240px;
		min-width: 100%;
		height: 105px;
	}
	.l-mainheader.is-fixed {
		min-width: 100%;
	}
	.l-mainheader__inner {
		display: flex;
		justify-content: space-between;
		padding-right: 40px;
	}
	.l-mainheader__logo {
		padding: 24px 40px 33px;
		background-color: #fff;
	}
	.l-mainheader__logo > a {
		display: block;
	}
	.l-mainheader__logo > a img {
		width: 205px;
	}
	.l-mainheader__util {
		position: absolute;
		top: 0;
		right: 40px;
		padding-top: 18px;
	}
	.l-mainheader__language {
		position: relative;
		display: flex;
		align-items: center;
		font-size: 1.2rem;
	}
	.l-mainheader__language::before {
		content: "";
		display: block;
		width: 1em;
		height: 1em;
		margin-right: 8px;
		margin-right: 0.8rem;
		background-color: var(--color-txt);
		mask-image: var(--icon-global);
		mask-position: center;
		mask-repeat: no-repeat;
		mask-size: cover;
		transition: var(--t-bgColor);
	}
	.l-mainheader__language-item {
		position: relative;
		font-weight: 500;
		text-decoration: underline;
		text-underline-offset: 0.3em;
		line-height: 1;
	}
	.l-mainheader__language-item:not(:first-child) {
		margin-left: 10px;
		padding-left: 10px;
		border-left: 1px solid #222;
	}
	.l-mainheader__language-item:has(a) {
		text-decoration: none;
	}
	.l-mainheader__language-item a {
		color: inherit;
	}
	.l-mainheader__nav {
		display: block;
		position: static;
		z-index: auto;
		align-self: flex-end;
	}
	.l-mainheader__navtoggle {
		display: none;
	}
}
@media (900px <= width < 1200px) {
	.l-mainheader .l-mainheader__inner {
		padding-right: 20px;
	}
	.l-mainheader .l-mainheader__logo {
		padding-inline: 20px;
	}
	.l-mainheader .l-mainheader__logo > a img {
		width: 160px;
	}
	.l-mainheader .l-mainheader__util {
		right: 20px;
	}
}
@media (768px <= width < 900px) {
	.l-mainheader .l-mainheader__inner {
		padding-right: 10px;
		height: 100%;
	}
	.l-mainheader .l-mainheader__logo {
		padding-inline: 10px;
	}
	.l-mainheader .l-mainheader__logo > a img {
		width: 120px;
	}
}
@media (width >= 768px) and (any-hover: hover) {
	.l-mainheader__language-item a:hover {
		text-decoration: underline;
		text-underline-offset: 0.3em;
	}
}

.l-header__bg {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #424A4D;
	opacity: 0;
	z-index: var(--z-back);
	transition: 0.35s;
}
.l-header__bg.is-show {
	opacity: 0.5;
	z-index: var(--z-header-bg);
}

@media (width >= 768px), print {
	.has-billboard .l-mainheader:not(.is-fixed):not(.is-hung) .l-mainheader__language::before {
		background-color: #fff;
		mask-image: var(--icon-global);
		mask-position: center;
		mask-repeat: no-repeat;
		mask-size: cover;
		transition: var(--t-bgColor);
	}
	.has-billboard .l-mainheader:not(.is-fixed):not(.is-hung) .l-mainheader__language-item {
		color: #fff;
	}
	.has-billboard .l-mainheader:not(.is-fixed):not(.is-hung) .l-mainheader__language-item:not(:first-child) {
		border-left: 1px solid #fff;
	}
	.has-billboard .l-mainheader:not(.is-fixed):not(.is-hung) .l-mainheader__language-item a {
		color: #fff;
	}
}

/*----------
	main navigation
----------*/
@media (width < 768px) {
	.l-mainnav {
		height: 100%;
		max-height: 100vh;
		padding: 0 20px 150px;
		overflow-y: auto;
	}
	.l-mainnav__item {
		position: relative;
		background-image: repeating-linear-gradient(to right, #fff 0 1px, transparent 2px 5px);
		background-position: left bottom;
		background-repeat: repeat-x;
		background-size: 100% 1px;
	}
	.l-mainnav__cattop {
		position: relative;
	}
	.l-mainnav__cattop > a {
		display: block;
		padding-block: 13px 15px;
	}
	.l-mainnav__cattop > a span {
		display: block;
		position: relative;
		padding-top: 0;
		padding-right: 26px;
		color: #fff;
		font-size: 1.4rem;
		font-weight: 700;
		line-height: 1.6;
	}
	.l-mainnav__cattop > a span::before {
		content: "";
		display: inline-block;
		position: absolute;
		top: 8px;
		right: 0;
		width: 12px;
		height: 8px;
		background-color: #fff;
		mask-image: var(--icon-arrow-right);
		mask-position: center;
		mask-repeat: no-repeat;
		mask-size: contain;
		transition: var(--t-bgColor);
		z-index: var(--z-1);
	}
	.l-mainnav__cattop > a > span,
	.l-mainnav__cattop > span {
		display: block;
		font-size: 1.6rem;
	}
	.l-mainnav__sub {
		height: 0;
		position: relative;
		overflow: hidden;
		opacity: 0;
		pointer-events: none;
		transition: all 0.4s linear;
	}
	.l-mainnav__sub-close {
		display: none;
	}
	.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;
	}
	.l-mainnav .is-hierarchical .l-mainnav__cattop > a {
		pointer-events: none;
	}
	.l-mainnav .is-hierarchical .l-mainnav__cattop > a span::before {
		top: 5px;
		width: 16px;
		height: 16px;
		background-color: #fff;
		mask-image: var(--icon-plus);
		mask-position: center;
		mask-repeat: no-repeat;
		mask-size: contain;
		transition: var(--t-bgColor);
	}
	.l-mainnav .is-hierarchical .l-mainnav__cattop button {
		display: none;
	}
	.l-mainnav .is-hierarchical.is-open .l-mainnav__cattop > a span::before {
		background-color: #fff;
		mask-image: var(--icon-minus);
		mask-position: center;
		mask-repeat: no-repeat;
		mask-size: contain;
		transition: var(--t-bgColor);
	}
	.l-mainnav .is-hierarchical.is-open .l-mainnav__sub {
		height: auto;
		opacity: 1;
		pointer-events: all;
	}
	.l-mainnav__util {
		margin: 30px -20px 0;
		padding-top: 20px;
		border-top: 1px solid var(--color-border);
	}
	.l-mainnav__language {
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.l-mainnav__language::before {
		content: "";
		position: absolute;
		top: 0;
		left: 50%;
		translate: -50% 0;
		width: 1px;
		height: 16px;
		background-color: #fff;
	}
	:is(.l-mainnav__language-item, .l-mainnav__language-item a) {
		color: #fff;
		line-height: 1;
	}
	.l-mainnav__language-item {
		padding-inline: 1em;
	}
	.l-mainnav__language-item a {
		text-decoration: underline;
		text-underline-offset: 0.3em;
	}
	.l-mainnav__navclose {
		display: block;
		width: 100%;
		margin-top: 30px;
		padding-inline: 15px;
	}
	.l-mainnav__navclose span {
		position: relative;
		display: block;
		padding: 12px 20px 14px;
		background-color: #fff;
		border-radius: 100vmax;
		color: var(--color-txt);
		font-size: 1.6rem;
		font-weight: 700;
		line-height: 1.5;
	}
}
@media (width >= 768px), print {
	.l-mainnav__main {
		display: flex;
	}
	.l-mainnav__item:not(:last-child) {
		margin-right: 24px;
	}
	.l-mainnav__cattop > button {
		display: none;
	}
	.l-mainnav__cattop > a {
		display: block;
		color: inherit;
	}
	.l-mainnav__cattop > span,
	.l-mainnav__cattop > a > span {
		position: relative;
		display: block;
		padding-block: 10px 29px;
		font-size: 1.5rem;
		font-weight: bold;
	}
	.l-mainnav__cattop span::after {
		content: "";
		display: block;
		position: absolute;
		left: 0;
		bottom: 16px;
		width: 100%;
		height: 2px;
		background-color: var(--color-prim);
		scale: 0 1;
	}
	.l-mainnav__cattop a.is-active span::after {
		scale: 1 1;
	}
	.l-mainnav__cattop.is-show > a {
		color: var(--color-txt-link-hover);
	}
	.l-mainnav__cattop.is-show i[class^=icon-] {
		transform: rotate(180deg) translateY(-2px);
	}
	.is-touch .l-mainnav__cattop i[class^=icon-] {
		display: none;
	}
	.l-mainnav__sub {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		z-index: var(--z-1);
		background: var(--grade-prim);
		box-shadow: 0 12px 6px rgba(0, 0, 0, 0.16);
		opacity: 0;
		transition: opacity 0.35s, display 0.35s allow-discrete;
	}
	.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-show {
		display: block;
		opacity: 1;
	}
	@starting-style {
		.l-mainnav__sub.is-show {
			opacity: 0;
		}
	}
	.l-mainnav__close, .l-mainnav__util, .l-mainnav__navclose {
		display: none;
	}
}
@media (835px <= width < 1090px) {
	.l-mainnav .l-mainnav__item:not(:last-child) {
		margin-right: 10px;
	}
	.l-mainnav .l-mainnav__cattop > span,
	.l-mainnav .l-mainnav__cattop > a > span {
		font-size: 1.3rem;
	}
}
@media (768px <= width < 835px) {
	.l-mainnav .l-mainnav__item:not(:last-child) {
		margin-right: 5px;
	}
	.l-mainnav .l-mainnav__cattop > span,
	.l-mainnav .l-mainnav__cattop > a > span {
		font-size: 1.2rem;
	}
}
@media (width >= 768px) and (any-hover: hover) {
	.l-mainnav__cattop a span::after {
		transition: scale 0.2s;
	}
	.l-mainnav__cattop a:hover span::after {
		scale: 1 1;
	}
	.l-mainnav__cattop a.is-hung > a {
		color: var(--color-txt-link-hover);
	}
	.l-mainnav__cattop a.is-hung i[class^=icon-] {
		transform: rotate(180deg) translateY(-2px);
	}
	.is-touch .l-mainnav__cattop a i[class^=icon-] {
		display: none;
	}
	.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 {
		display: block;
	}
	.l-mainnav__close {
		display: none;
	}
}

@media (width >= 768px), print {
	.has-billboard .l-mainheader:not(.is-fixed):not(.is-hung) .l-mainnav .l-mainnav__cattop a {
		color: #fff;
	}
	.has-billboard .l-mainheader:not(.is-fixed):not(.is-hung) .l-mainnav .l-mainnav__cattop a span::after {
		background-color: #fff;
	}
}

.l-megamenu {
	width: 100%;
	max-width: 1240px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
}
@media (width >= 768px), print {
	.l-megamenu {
		padding-left: 20px;
		padding-right: 20px;
	}
}
@media (width < 768px) {
	.l-megamenu {
		padding-block: 20px 30px;
	}
	.l-megamenu__inner {
		display: flex;
		flex-direction: column;
	}
	.l-megamenu__category + .l-megamenu__category {
		margin-top: 20px;
	}
	.l-megamenu__item + .l-megamenu__item {
		margin-top: 20px;
	}
	.l-megamenu__featured {
		order: 1;
	}
	.l-megamenu__regular {
		order: 2;
		margin-top: 30px;
	}
	.l-megamenu__item > a {
		display: block;
		position: relative;
		padding-left: 25px;
		margin-block: calc((1em - 1lh) / 2);
		word-break: break-all;
		color: #fff;
		font-size: 1.6rem;
		line-height: 1.8;
	}
	.l-megamenu__item > a::before {
		content: "";
		display: inline-block;
		position: absolute;
		top: 0.5em;
		left: 0;
		width: 16px;
		aspect-ratio: 1;
		border-radius: 100%;
		background: transparent;
		border: 1px solid #fff;
	}
	.l-megamenu__item > a::after {
		content: "";
		display: inline-block;
		position: absolute;
		top: 0.75em;
		left: 4px;
		width: 8px;
		aspect-ratio: 1;
		border-radius: 100%;
		background-color: #fff;
		mask-image: var(--icon-chev-right);
		mask-position: center;
		mask-repeat: no-repeat;
		mask-size: contain;
		transition: var(--t-bgColor);
	}
	.l-megamenu__item > a span {
		border-bottom: 1px solid transparent;
	}
	.l-megamenu__item > a .l-megamenu__icon {
		display: inline-block;
		margin-left: 10px;
		width: 16px;
		aspect-ratio: 1;
		vertical-align: middle;
		fill: #fff;
	}
	.l-megamenu__item > a[href^="#"]::after {
		rotate: 90deg;
	}
	.l-megamenu__item > a[href$=".pdf"] .l-mainnav__icon {
		fill: #fff;
	}
	.l-megamenu__link a {
		position: relative;
		display: block;
		padding: 12px 20px 14px;
		background-color: #fff;
		border-radius: 100vmax;
		color: var(--color-txt);
		font-size: 1.6rem;
		font-weight: 700;
		line-height: 1.5;
	}
	.l-megamenu__link a::before {
		content: "";
		position: absolute;
		top: 20px;
		right: 20px;
		width: 12px;
		height: 8px;
		background-color: var(--color-txt);
		mask-image: var(--icon-arrow-right);
		mask-position: center;
		mask-repeat: no-repeat;
		mask-size: contain;
		transition: var(--t-bgColor);
		z-index: var(--z-1);
	}
	.l-megamenu__link a[target^=_blank]::before {
		display: none;
	}
	.l-megamenu__link a[href$=".pdf"] .l-megamenu__link-icon {
		fill: var(--color-txt);
	}
	.l-megamenu__link-icon {
		display: inline-block;
		position: absolute;
		top: 16px;
		right: 20px;
		width: 16px;
		aspect-ratio: 1;
		vertical-align: middle;
		fill: var(--color-txt);
	}
	.l-megamenu__bnr {
		order: 3;
		margin-top: 30px;
		padding-top: 30px;
		border-top: 1px solid #fff;
	}
	.l-megamenu__bnr .l-megamenu__bnr-item + .l-megamenu__bnr-item {
		margin-top: 30px;
	}
	.l-megamenu__bnr-link {
		display: block;
		position: relative;
		padding-left: 25px;
		margin-top: 14px;
		word-break: break-all;
		color: #fff;
		font-size: 1.6rem;
		line-height: 1.8;
	}
	.l-megamenu__bnr-link::before {
		content: "";
		display: inline-block;
		position: absolute;
		top: 0.5em;
		left: 0;
		width: 16px;
		aspect-ratio: 1;
		border-radius: 100%;
		background: transparent;
		border: 1px solid #fff;
	}
	.l-megamenu__bnr-link::after {
		content: "";
		display: inline-block;
		position: absolute;
		top: 0.75em;
		left: 4px;
		width: 8px;
		aspect-ratio: 1;
		border-radius: 100%;
		background-color: #fff;
		mask-image: var(--icon-chev-right);
		mask-position: center;
		mask-repeat: no-repeat;
		mask-size: contain;
		transition: var(--t-bgColor);
	}
	.l-megamenu__bnr-link span {
		border-bottom: 1px solid transparent;
	}
	.l-megamenu__bnr-link[href^="#"]::after {
		rotate: 90deg;
	}
	.l-megamenu__bnr-link[href$=".pdf"] .l-megamenu__bnr-icon {
		fill: #fff;
	}
	.l-megamenu__bnr a[target^=_blank] .l-megamenu__bnr-link::before,
	.l-megamenu__bnr a[target^=_blank] .l-megamenu__bnr-link::after {
		display: none;
	}
	.l-megamenu__bnr a[href$=".pdf"] .l-megamenu__bnr-icon {
		fill: #fff;
	}
	.l-megamenu__bnr-icon {
		display: inline-block;
		position: absolute;
		top: 0.5em;
		left: 0;
		width: 16px;
		aspect-ratio: 1;
		vertical-align: middle;
		fill: #fff;
	}
	.l-megamenu__lower {
		order: 4;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 1px;
		margin-top: 30px;
	}
	.l-megamenu__lower-item a {
		display: flex;
		align-items: center;
		min-height: 48px;
		padding-inline: 10px;
		background-color: #0269B5;
		border-radius: 4px;
		color: #fff;
		font-size: 1.2rem;
		line-height: 1.4;
	}
}
@media (width >= 768px), print {
	.l-megamenu {
		padding-block: 50px;
	}
	.l-megamenu__inner {
		min-width: 1200px;
	}
	.l-megamenu__featured {
		margin-bottom: 50px;
	}
	.l-megamenu__link {
		width: auto;
		min-width: 306px;
		max-width: fit-content;
	}
	.l-megamenu__link a {
		position: relative;
		display: block;
		padding: 12px 40px 14px 20px;
		background-color: #fff;
		border-radius: 100vmax;
		color: var(--color-txt);
		font-size: 1.6rem;
		font-weight: 700;
		line-height: 1.5;
	}
	.l-megamenu__link a::before {
		content: "";
		position: absolute;
		top: 20px;
		right: 20px;
		width: 12px;
		height: 8px;
		background-color: var(--color-txt);
		mask-image: var(--icon-arrow-right);
		mask-position: center;
		mask-repeat: no-repeat;
		mask-size: contain;
		transition: var(--t-bgColor);
		z-index: var(--z-1);
	}
	.l-megamenu__link a[target^=_blank]::before {
		display: none;
	}
	.l-megamenu__link a[href$=".pdf"] .l-megamenu__link-icon {
		fill: var(--color-txt);
	}
	.l-megamenu__link-icon {
		display: inline-block;
		position: absolute;
		top: 16px;
		right: 20px;
		width: 16px;
		aspect-ratio: 1;
		vertical-align: middle;
		fill: var(--color-txt);
	}
	.l-megamenu__category {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 15px 40px;
	}
	.l-megamenu__category + .l-megamenu__category {
		margin-top: 15px;
	}
	.l-megamenu__item a {
		display: block;
		position: relative;
		min-height: 30px;
		padding-bottom: 20px;
		color: #fff;
		font-size: 1.6rem;
		font-weight: 700;
		line-height: 1.44;
		overflow-wrap: anywhere;
		transition: color 0.2s;
	}
	.l-megamenu__item a::before, .l-megamenu__item a::after {
		content: "";
		position: absolute;
		left: 0;
		bottom: 0;
		height: 1px;
		background-color: transparent;
		background-image: var(--line-dotted-wh-pc);
		background-position: left bottom;
		background-repeat: repeat-x;
		background-size: 100% 1px;
	}
	.l-megamenu__item a::before {
		width: 0;
		transition: var(--t-width);
	}
	.l-megamenu__item a::after {
		width: 100%;
	}
	.l-megamenu__item a span {
		display: block;
		position: relative;
		padding-top: 0;
		padding-right: 26px;
		font-size: 1.6rem;
		line-height: 1.6;
	}
	.l-megamenu__item a span::before {
		content: "";
		display: inline-block;
		position: absolute;
		top: 9px;
		right: 0;
		width: 12px;
		height: 8px;
		background-color: #fff;
		mask-image: var(--icon-arrow-right);
		mask-position: center;
		mask-repeat: no-repeat;
		mask-size: contain;
		transition: var(--t-bgColor);
		z-index: var(--z-1);
	}
	.l-megamenu__item a:has(svg) span::before {
		display: none;
	}
	.l-megamenu__item a:has(svg) .l-megamenu__icon {
		position: absolute;
		top: 0;
		right: 0;
		fill: var(--color-txt);
		width: 16px;
	}
	.l-megamenu__item a:has(svg)[href$=".pdf"] .l-megamenu__icon {
		top: 6px;
		fill: #fff;
	}
	.l-megamenu__bnr {
		width: 315px;
	}
	.l-megamenu__bnr figure {
		position: relative;
		aspect-ratio: 315/105;
		overflow: hidden;
	}
	.l-megamenu__bnr figure img {
		position: absolute;
		inset: 0;
		margin: auto;
		width: 100%;
		height: 100%;
	}
	.l-megamenu__bnr-link {
		display: block;
		position: relative;
		padding-left: 25px;
		margin-top: 14px;
	}
	.l-megamenu__bnr-link::before {
		content: "";
		display: inline-block;
		position: absolute;
		top: 0.5em;
		left: 0;
		width: 16px;
		aspect-ratio: 1;
		border-radius: 100%;
		background: transparent;
		border: 1px solid #fff;
	}
	.l-megamenu__bnr-link::after {
		content: "";
		display: inline-block;
		position: absolute;
		top: 0.75em;
		left: 4px;
		width: 8px;
		aspect-ratio: 1;
		border-radius: 100%;
		background-color: #fff;
		mask-image: var(--icon-chev-right);
		mask-position: center;
		mask-repeat: no-repeat;
		mask-size: contain;
		transition: var(--t-bgColor);
	}
	.l-megamenu__bnr-link span {
		border-bottom: 1px solid transparent;
		word-break: break-all;
		color: #fff;
		font-size: 1.6rem;
		font-weight: 700;
		line-height: 1.8;
	}
	.l-megamenu__bnr-icon {
		display: inline-block;
		position: absolute;
		top: 0.5em;
		left: 0;
		width: 16px;
		aspect-ratio: 1;
		vertical-align: middle;
		fill: #fff;
	}
	.l-megamenu__bnr a[target^=_blank] .l-megamenu__bnr-link::before,
	.l-megamenu__bnr a[target^=_blank] .l-megamenu__bnr-link::after {
		display: none;
	}
	.l-megamenu__bnr a[href$=".pdf"] .l-megamenu__bnr-icon {
		fill: #fff;
	}
	.l-megamenu__lower {
		display: flex;
		flex-wrap: wrap;
		margin-top: 35px;
	}
	.l-megamenu__lower-item {
		display: block;
		position: relative;
		padding-left: 25px;
	}
	.l-megamenu__lower-item:not(:last-child) {
		margin-right: 30px;
	}
	.l-megamenu__lower-item::before {
		content: "";
		display: inline-block;
		position: absolute;
		top: 0.5em;
		left: 0;
		width: 16px;
		aspect-ratio: 1;
		border-radius: 100%;
		background: transparent;
		border: 1px solid #fff;
	}
	.l-megamenu__lower-item::after {
		content: "";
		display: inline-block;
		position: absolute;
		top: 0.75em;
		left: 4px;
		width: 8px;
		aspect-ratio: 1;
		border-radius: 100%;
		background-color: #fff;
		mask-image: var(--icon-chev-right);
		mask-position: center;
		mask-repeat: no-repeat;
		mask-size: contain;
		transition: var(--t-bgColor);
	}
	.l-megamenu__lower-item span {
		border-bottom: 1px solid transparent;
		word-break: break-all;
		color: #fff;
		font-size: 1.6rem;
		line-height: 1.8;
	}
	.l-megamenu__lower-item .l-mainnav__icon {
		display: inline-block;
		margin-left: 10px;
		width: 16px;
		aspect-ratio: 1;
		vertical-align: middle;
		fill: #fff;
	}
	.l-megamenu__lower-item[href^="#"]::after {
		rotate: 90deg;
	}
	.l-megamenu__lower-item[href$=".pdf"] .l-mainnav__icon {
		fill: #fff;
	}
	li:not(.l-mainnav--recruit):not(.l-mainnav--about) .l-megamenu .l-megamenu__inner {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: repeat(3, auto);
		grid-column-gap: 55px;
		grid-row-gap: 0px;
	}
	li:not(.l-mainnav--recruit):not(.l-mainnav--about) .l-megamenu .l-megamenu__featured {
		grid-area: 1/1/2/3;
	}
	li:not(.l-mainnav--recruit):not(.l-mainnav--about) .l-megamenu .l-megamenu__regular {
		grid-area: 2/1/3/2;
	}
	li:not(.l-mainnav--recruit):not(.l-mainnav--about) .l-megamenu .l-megamenu__bnr {
		grid-area: 2/2/4/3;
	}
	li:not(.l-mainnav--recruit):not(.l-mainnav--about) .l-megamenu .l-megamenu__lower {
		grid-area: 3/1/4/2;
	}
	li:not(.l-mainnav--recruit):not(.l-mainnav--about) .l-megamenu .l-megamenu__regular {
		width: 830px;
	}
	li:not(.l-mainnav--recruit):not(.l-mainnav--about) .l-megamenu .l-megamenu__bnr-item + .l-megamenu__bnr-item {
		margin-top: 30px;
	}
	.l-mainnav--about .l-megamenu .l-megamenu__regular {
		width: 100%;
	}
	.l-mainnav--about .l-megamenu .l-megamenu__category {
		grid-template-columns: repeat(4, 1fr);
	}
	.l-mainnav--recruit .l-megamenu .l-megamenu__bnr {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 40px;
		width: 100%;
	}
	.is-hung .l-megamenu, .is-locked .l-megamenu {
		overflow-x: auto;
		overscroll-behavior-inline: contain;
	}
}
@media (width >= 768px) and (any-hover: hover) {
	.l-megamenu__bnr-item a img {
		transition: var(--t-scale);
	}
	.l-megamenu__bnr-item a .l-megamenu__bnr-link span {
		border-bottom: 1px solid transparent;
		transition: border var(--hvr);
	}
	.l-megamenu__bnr-item a:hover img {
		scale: 1.1;
	}
	.l-megamenu__bnr-item a:hover .l-megamenu__bnr-link span {
		border-bottom: 1px solid #fff;
	}
	.l-megamenu__item a:hover {
		background-color: transparent;
	}
	.l-megamenu__item a:hover::before {
		width: 100%;
	}
	.l-megamenu__item a:hover::after {
		width: 0;
	}
	.l-megamenu__lower-item a span {
		border-bottom: 1px solid transparent;
		transition: border var(--hvr) linear;
	}
	.l-megamenu__lower-item a:hover span {
		border-color: #fff;
	}
	.l-megamenu__link a {
		transition: var(--t-color);
	}
	.l-megamenu__link a::before {
		transition: var(--t-bgColor);
	}
	.l-megamenu__link a:hover {
		color: var(--color-txt-link-hover);
	}
	.l-megamenu__link a:hover::before {
		background-color: var(--color-txt-link-hover);
	}
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
	.l-megamenu__categories--featured {
		margin-bottom: 40px;
	}
	.l-megamenu__categories--regular {
		flex: 1 0 auto;
		width: 100%;
	}
}

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

.l-mainfooter {
	position: relative;
}
.l-mainfooter::after {
	content: "";
	display: block;
	width: 100%;
	height: 0.8rem;
	background: linear-gradient(90deg, rgb(0, 104, 182) 0%, rgb(0, 140, 182) 40%, rgba(102, 193, 68, 0.8) 50%, rgb(249, 190, 0) 70%, rgb(236, 108, 0) 100%);
}
.l-mainfooter__inner {
	width: 100%;
	max-width: 1240px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
}
@media (width >= 768px), print {
	.l-mainfooter__inner {
		padding-left: 20px;
		padding-right: 20px;
	}
}
.l-mainfooter__inner {
	max-width: 120rem;
	padding-block: 7rem 10rem;
}
.l-mainfooter__backhead {
	display: block;
	position: fixed;
	bottom: 0;
	right: 0;
	width: 6rem;
	height: 6rem;
	clip-path: polygon(100% 1%, 0% 100%, 100% 100%);
	background-color: #0068B6;
	opacity: 0;
	transition: var(--t-opacity), var(--t-bgColor);
	z-index: var(--z-pagetop);
}
.l-mainfooter__backhead.is-visible {
	opacity: 1;
}
.l-mainfooter__backhead.is-stop {
	position: absolute;
	bottom: 100%;
}
.l-mainfooter__backhead svg {
	position: absolute;
	bottom: 1.2rem;
	right: 1rem;
	width: 1.6rem;
	height: 1.6rem;
	fill: #fff;
}
.l-mainfooter__catchcopy {
	margin-block: calc((1em - 1lh) / 2);
	font-weight: 700;
	font-size: 3.6rem;
	letter-spacing: 0.12em;
	line-height: 1.63;
}
.l-mainfooter__logo {
	margin-block: 5rem;
}
.l-mainfooter__logo img {
	display: block;
	width: 21.8rem;
	margin: auto;
}
.l-mainfooter__mainnav-item + .l-mainfooter__mainnav-item {
	margin-top: 2.4rem;
}
.l-mainfooter__mainnav-item a {
	display: block;
	margin-block: calc((1em - 1lh) / 2);
	color: #111;
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1.125;
}
.l-mainfooter__mainnav-icon {
	position: relative;
	top: 2px;
	width: 16px;
	height: 16px;
	margin-left: 5px;
}
.l-mainfooter__legal {
	margin-top: 5rem;
}
.l-mainfooter__subnav-item + .l-mainfooter__subnav-item {
	margin-top: 1.5rem;
}
.l-mainfooter__subnav-item a {
	display: block;
	margin-block: calc((1em - 1lh) / 2);
	color: #111;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.125;
}
.l-mainfooter__copyright {
	margin-top: 5rem;
	color: #111;
	font-size: 1rem;
	text-align: center;
}
.l-mainfooter__layoutcopy {
	position: absolute;
	right: 0;
	bottom: 1.6rem;
	color: rgba(34, 34, 34, 0.06);
	font-family: var(--font-barlow);
	font-size: 4rem;
	line-height: 1;
	text-align: right;
}
.l-mainfooter__layoutcopy span {
	display: block;
}
@media (width >= 768px), print {
	.l-mainfooter {
		min-width: 1240px;
	}
	.l-mainfooter__inner {
		display: flex;
		justify-content: space-between;
		padding-block: 0 11.7rem;
	}
	.l-mainfooter__catchcopy {
		padding-block: 12.6rem 14.45rem;
		font-size: 4.2rem;
	}
	.l-mainfooter__logo {
		margin-block: 0;
	}
	.l-mainfooter__logo img {
		width: 28.3rem;
		margin: 0;
	}
	.l-mainfooter__lower {
		flex: 0 0 auto;
		width: 52rem;
		display: flex;
		justify-content: space-between;
		gap: 0 10rem;
		padding-top: 8rem;
	}
	.l-mainfooter__legal {
		margin-top: 0;
	}
	.l-mainfooter__copyright {
		margin-top: 3rem;
		font-size: 1.4rem;
		text-align: left;
	}
	.l-mainfooter__layoutcopy {
		font-size: 7.5rem;
		letter-spacing: 0.04em;
	}
}
@media (width >= 768px) and (any-hover: hover) {
	.l-mainfooter__logo a img {
		transition: var(--t-opacity);
	}
	.l-mainfooter__logo a:hover img {
		opacity: 0.7;
	}
	.l-mainfooter__mainnav-item {
		margin-block: calc((1em - 1lh) / 2);
	}
	.l-mainfooter__mainnav-item a {
		display: inline-block;
		position: relative;
	}
	.l-mainfooter__mainnav-item a::after {
		content: "";
		display: block;
		position: absolute;
		left: 0;
		bottom: -0.3rem;
		width: 0;
		height: 1px;
		background-color: #222;
		transition: var(--t-width);
	}
	.l-mainfooter__mainnav-item a:hover::after {
		width: 100%;
	}
	.l-mainfooter__subnav-item {
		margin-block: calc((1em - 1lh) / 2);
		text-align: right;
	}
	.l-mainfooter__subnav-item a {
		display: inline-block;
		position: relative;
	}
	.l-mainfooter__subnav-item a::after {
		content: "";
		display: block;
		position: absolute;
		left: 0;
		bottom: -0.3rem;
		width: 0;
		height: 1px;
		background-color: #222;
		transition: var(--t-width);
	}
	.l-mainfooter__subnav-item a:hover::after {
		width: 100%;
	}
	.l-mainfooter__backhead:hover {
		background-color: var(--color-prim-light-hover);
	}
}

/*----------
	main content
----------*/
.l-content {
	width: 100%;
	position: relative;
	overflow: hidden;
	padding-bottom: 70px;
}
@media (width >= 768px), print {
	.l-content {
		min-width: 1240px;
		padding-bottom: 200px;
	}
}

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

.l-breadcrumb {
	padding: 7px 0;
}
.l-breadcrumb__list {
	display: inline-flex;
	flex-wrap: nowrap;
	white-space: nowrap;
	font-size: 1.2rem;
	line-height: 1.2;
	letter-spacing: 0.02em;
}
.l-breadcrumb__list > li {
	display: block;
}
.l-breadcrumb__list > li > a {
	text-decoration: none;
	text-underline-offset: 0.3em;
	color: var(--color-txt-caption);
}
.l-breadcrumb__list > li + li::before {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	background-color: #ccc;
	mask-image: var(--icon-chev-right);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	transition: var(--t-bgColor);
	margin: 0 8px;
}
.l-breadcrumb__list > li:last-child > span {
	pointer-events: none;
	color: var(--color-txt-caption);
	font-weight: 700;
}
@media (width < 768px) {
	.l-breadcrumb {
		margin-top: 60px;
	}
	.l-breadcrumb__inner {
		width: 100%;
		overflow-x: auto;
		scrollbar-color: #999 #fafafa;
		scrollbar-width: thin;
	}
	.l-breadcrumb__list {
		width: auto;
		max-width: none;
		margin-inline: auto;
		padding-inline: 20px;
	}
}
@media (width >= 768px), print {
	.l-breadcrumb {
		width: 1240px;
		margin: 105px auto 0;
		padding: 28px 20px;
	}
	.l-breadcrumb__list {
		display: block;
		white-space: normal;
	}
	.l-breadcrumb__list > li {
		display: inline;
	}
	.l-breadcrumb__list > li > a:hover {
		text-decoration: underline;
	}
}

@media (width >= 768px), print {
	.has-billboard .l-breadcrumb {
		position: absolute;
		top: 105px;
		left: 50%;
		translate: -50% 0;
		margin: 0;
		z-index: var(--z-1);
	}
	.has-billboard .l-breadcrumb__list li a, .has-billboard .l-breadcrumb__list li:last-child > span {
		color: #fff;
	}
}

.l-localnav {
	width: 100%;
	background: rgb(0, 124, 217);
	background: linear-gradient(90deg, rgb(0, 124, 217) 0%, rgb(0, 104, 182) 30%, rgb(0, 67, 162) 100%);
	overflow: hidden;
}
.l-localnav__inner {
	width: 100%;
	max-width: 1240px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
}
@media (width >= 768px), print {
	.l-localnav__inner {
		padding-left: 20px;
		padding-right: 20px;
	}
}
.l-localnav__inner {
	padding-block: 53px 60px;
}
.l-localnav__grid1 {
	padding-top: 3px;
}
.l-localnav__lower {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	gap: 20px;
	border-top: 1px solid #fff;
	padding: 40px calc(50vw - 50%) 0;
	margin: 40px calc(50% - 50vw) 0;
}
.l-localnav__bnr {
	margin-top: 40px;
	padding-inline: 30px;
}
.l-localnav__lv3 li {
	margin-top: 12px;
}
.l-localnav__lv4 {
	display: none;
}
@media (width >= 768px), print {
	.l-localnav {
		min-width: 1240px;
	}
	.l-localnav__inner {
		padding-block: 70px;
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		grid-template-rows: repeat(4, auto);
		gap: 0 40px;
	}
	.l-localnav__lv2 {
		width: fit-content;
		min-width: 280px;
		grid-area: 1/1/2/5;
		margin-bottom: 48px;
	}
	.l-localnav__grid1 {
		grid-area: 2/1/3/2;
	}
	.l-localnav__grid2 {
		grid-area: 2/2/4/3;
	}
	.l-localnav__grid3 {
		grid-area: 2/3/4/4;
	}
	.l-localnav__grid4 {
		grid-area: 2/4/4/5;
	}
	.l-localnav__lower {
		grid-area: 4/1/5/5;
		flex-direction: row;
		gap: 0 30px;
		padding: 20px 0 0;
		margin: 50px 0 0;
	}
	.l-localnav__bnr {
		grid-area: 3/1/4/2;
		padding-inline: 0;
		align-self: end;
		background-color: #fff;
	}
	.l-localnav__lv3 + .l-localnav__lv3 {
		margin-top: 30px;
	}
	.l-localnav__lv3:not(:has(.l-localnav__lv4)) + .l-localnav__lv3 {
		margin-top: 20px;
	}
	.l-localnav__lv3 > li {
		margin-top: 15px;
	}
	.l-localnav__lv4 {
		display: block;
	}
	.l-localnav__lv4 .c-icontext {
		margin-top: 20px;
	}
}
@media (width >= 768px) and (any-hover: hover) {
	.l-localnav__bnr a {
		transition: var(--t-opacity);
	}
	.l-localnav__bnr a:hover {
		opacity: 0.8;
	}
}

/* override */
.l-localnav .c-button__inner::before, .l-localnav .c-button__inner::after {
	background-color: #fff;
}
.l-localnav .c-button__inner span {
	color: #fff;
}
.l-localnav .c-button__inner span::before {
	background-color: var(--color-txt);
	mask-image: var(--icon-arrow-right);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	transition: var(--t-bgColor);
}
.l-localnav .c-button__inner span::after {
	background: #fff;
}
.l-localnav .c-button__inner:has(svg) .c-button__icon {
	fill: var(--color-txt);
}
.l-localnav .c-button--textlink .c-button__inner::before, .l-localnav .c-button--textlink .c-button__inner::after {
	background-image: var(--line-dotted-wh-sp);
}
.l-localnav .c-button--textlink .c-button__inner span::before {
	background-color: #fff;
	mask-image: var(--icon-arrow-right);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	transition: var(--t-bgColor);
}
.l-localnav .c-button--textlink .c-button__inner:has(svg) .c-button__icon {
	fill: #fff;
}
@media (width >= 768px), print {
	.l-localnav .c-button--textlink .c-button__inner::before, .l-localnav .c-button--textlink .c-button__inner::after {
		background-image: var(--line-dotted-wh-pc);
	}
}
@media (width >= 768px) and (any-hover: hover) {
	.l-localnav .c-button .c-button__inner:hover span {
		color: #fff;
	}
	.l-localnav .c-button .c-button__inner:hover span::before {
		background-color: var(--color-txt);
	}
	.l-localnav .c-button .c-button__inner:hover span::after {
		background: #fff;
	}
	.l-localnav .c-button--textlink .c-button__inner:hover span::before {
		background-color: #fff;
	}
	.l-localnav .c-button--textlink .c-button__inner:hover:has(svg) .c-button__icon {
		fill: #fff;
	}
}
.l-localnav .c-icontext > a {
	color: #fff;
}
.l-localnav .c-icontext > a::before {
	border: 1px solid #fff;
}
.l-localnav .c-icontext > a::after {
	background-color: #fff;
	mask-image: var(--icon-chev-right);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	transition: var(--t-bgColor);
}
.l-localnav .c-icontext > a .c-icontext__icon {
	display: inline-block;
	margin-left: 10px;
	width: 16px;
	aspect-ratio: 1;
	vertical-align: middle;
	fill: #fff;
}
.l-localnav .c-icontext > a[href$=".pdf"] .c-icontext__icon {
	fill: #fff;
}
.l-localnav .c-icontext > a[target=_blank]::before, .l-localnav .c-icontext > a[target=_blank]::after {
	display: none;
}
.l-localnav .c-icontext > a[target=_blank] .c-icontext__icon {
	position: absolute;
	top: 0.5em;
	left: 0;
	margin-left: 0;
}
@media (width >= 768px), print {
	.l-localnav .c-icontext > a[target=_blank] .c-icontext__icon {
		position: absolute;
		top: 0.45em;
	}
}
@media (width >= 768px) and (any-hover: hover) {
	.l-localnav .c-icontext > a:hover span {
		border-color: #fff;
	}
}

/*----------
	margin
----------*/
/* 汎用マージン */
.u-mt-xs {
	margin-top: 10px !important;
}

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

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

.u-mt-l {
	margin-top: 30px !important;
}
@media (width >= 768px), print {
	.u-mt-l {
		margin-top: 50px !important;
	}
}

.u-mt-section {
	margin-top: 80px !important;
}
@media (width >= 768px), print {
	.u-mt-section {
		margin-top: 120px !important;
	}
}

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

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

.u-mblock-none {
	margin-block: 0 !important;
}
@media (width >= 768px), print {
	.u-mblock-none {
		margin-block: 0 !important;
	}
}

.u-minline-none {
	margin-inline: 0 !important;
}
@media (width >= 768px), print {
	.u-minline-none {
		margin-inline: 0 !important;
	}
}

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

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

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

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

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

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

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

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

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

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

@media (width < 768px) {
	.u-mt-10 {
		margin-top: 0px !important;
	}
	.u-mt-20 {
		margin-top: 10px !important;
	}
	.u-mt-30 {
		margin-top: 20px !important;
	}
	.u-mt-40 {
		margin-top: 30px !important;
	}
	.u-mt-50 {
		margin-top: 40px !important;
	}
	.u-mt-60 {
		margin-top: 50px !important;
	}
	.u-mt-70 {
		margin-top: 60px !important;
	}
	.u-mt-80 {
		margin-top: 70px !important;
	}
	.u-mt-90 {
		margin-top: 80px !important;
	}
	.u-mt-100 {
		margin-top: 90px !important;
	}
}
/*----------
	display
----------*/
@media (width < 768px) {
	.u-pc-v {
		display: none;
	}
}

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

.u-inline {
	display: inline !important;
}

.u-inlineblk {
	display: inline-block !important;
}

/*----------
	width
----------*/
.u-width-s {
	max-width: 800px !important;
}

.u-width-m {
	max-width: 1000px !important;
}

.u-width-l {
	max-width: 1100px !important;
}

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

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

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

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

@media (width < 768px) {
	.u-txt-sp-center {
		text-align: center !important;
	}
}

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

@media (width >= 768px), print {
	.u-txt-pc-right {
		text-align: right !important;
	}
}

@media (width < 768px) {
	.u-txt-sp-right {
		text-align: right !important;
	}
}

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

@media (width >= 768px), print {
	.u-txt-pc-left {
		text-align: left !important;
	}
}

@media (width < 768px) {
	.u-txt-sp-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-indent {
	text-indent: 1em hanging;
}

.u-block-indent {
	padding-left: 1em;
}

.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-red {
	color: var(--color-red) !important;
}

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

/* flex */
.u-align-start {
	align-items: flex-start !important;
}

.u-align-center {
	align-items: center !important;
}

.u-align-end {
	align-items: flex-end !important;
}

.u-font-audiowide {
	font-family: var(--font-audiowide);
}

.u-font-zalando {
	font-family: var(--font-zalando);
}

.u-font-barlow {
	font-family: var(--font-barlow);
}

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

.u-icon-mask-arrow-right {
	-webkit-mask-image: var(--icon-arrow-right) !important;
	mask-image: var(--icon-arrow-right) !important;
}
.u-icon-mask-arrow-left {
	-webkit-mask-image: var(--icon-arrow-left) !important;
	mask-image: var(--icon-arrow-left) !important;
}
.u-icon-mask-arrow-down {
	-webkit-mask-image: var(--icon-arrow-down) !important;
	mask-image: var(--icon-arrow-down) !important;
}
.u-icon-mask-arrow-up {
	-webkit-mask-image: var(--icon-arrow-up) !important;
	mask-image: var(--icon-arrow-up) !important;
}
.u-icon-mask-blank {
	-webkit-mask-image: var(--icon-blank) !important;
	mask-image: var(--icon-blank) !important;
}
.u-icon-mask-chev-cir-right {
	-webkit-mask-image: var(--icon-chev-cir-right) !important;
	mask-image: var(--icon-chev-cir-right) !important;
}
.u-icon-mask-chev-cir-right2 {
	-webkit-mask-image: var(--icon-chev-cir-right2) !important;
	mask-image: var(--icon-chev-cir-right2) !important;
}
.u-icon-mask-chev-cir-blank {
	-webkit-mask-image: var(--icon-chev-cir-blank) !important;
	mask-image: var(--icon-chev-cir-blank) !important;
}
.u-icon-mask-chev-down {
	-webkit-mask-image: var(--icon-chev-down) !important;
	mask-image: var(--icon-chev-down) !important;
}
.u-icon-mask-chev-left {
	-webkit-mask-image: var(--icon-chev-left) !important;
	mask-image: var(--icon-chev-left) !important;
}
.u-icon-mask-chev-right {
	-webkit-mask-image: var(--icon-chev-right) !important;
	mask-image: var(--icon-chev-right) !important;
}
.u-icon-mask-chev-up {
	-webkit-mask-image: var(--icon-chev-up) !important;
	mask-image: var(--icon-chev-up) !important;
}
.u-icon-mask-chev-cir2-down {
	-webkit-mask-image: var(--icon-chev-cir2-down) !important;
	mask-image: var(--icon-chev-cir2-down) !important;
}
.u-icon-mask-chev-cir2-left {
	-webkit-mask-image: var(--icon-chev-cir2-left) !important;
	mask-image: var(--icon-chev-cir2-left) !important;
}
.u-icon-mask-chev-cir2-right {
	-webkit-mask-image: var(--icon-chev-cir2-right) !important;
	mask-image: var(--icon-chev-cir2-right) !important;
}
.u-icon-mask-chev-cir2-up {
	-webkit-mask-image: var(--icon-chev-cir2-up) !important;
	mask-image: var(--icon-chev-cir2-up) !important;
}
.u-icon-mask-close {
	-webkit-mask-image: var(--icon-close) !important;
	mask-image: var(--icon-close) !important;
}
.u-icon-mask-download {
	-webkit-mask-image: var(--icon-download) !important;
	mask-image: var(--icon-download) !important;
}
.u-icon-mask-first {
	-webkit-mask-image: var(--icon-first) !important;
	mask-image: var(--icon-first) !important;
}
.u-icon-mask-global {
	-webkit-mask-image: var(--icon-global) !important;
	mask-image: var(--icon-global) !important;
}
.u-icon-mask-last {
	-webkit-mask-image: var(--icon-last) !important;
	mask-image: var(--icon-last) !important;
}
.u-icon-mask-mail {
	-webkit-mask-image: var(--icon-mail) !important;
	mask-image: var(--icon-mail) !important;
}
.u-icon-mask-minus {
	-webkit-mask-image: var(--icon-minus) !important;
	mask-image: var(--icon-minus) !important;
}
.u-icon-mask-pdf {
	-webkit-mask-image: var(--icon-pdf) !important;
	mask-image: var(--icon-pdf) !important;
}
.u-icon-mask-pinch-in {
	-webkit-mask-image: var(--icon-pinch-in) !important;
	mask-image: var(--icon-pinch-in) !important;
}
.u-icon-mask-pinch-out {
	-webkit-mask-image: var(--icon-pinch-out) !important;
	mask-image: var(--icon-pinch-out) !important;
}
.u-icon-mask-play {
	-webkit-mask-image: var(--icon-play) !important;
	mask-image: var(--icon-play) !important;
}
.u-icon-mask-plus {
	-webkit-mask-image: var(--icon-plus) !important;
	mask-image: var(--icon-plus) !important;
}
.u-icon-mask-stop {
	-webkit-mask-image: var(--icon-stop) !important;
	mask-image: var(--icon-stop) !important;
}
.u-icon-mask-swipe {
	-webkit-mask-image: var(--icon-swipe) !important;
	mask-image: var(--icon-swipe) !important;
}
.u-icon-mask-zoom {
	-webkit-mask-image: var(--icon-zoom) !important;
	mask-image: var(--icon-zoom) !important;
}

/* 文中リンク */
.u-txt-link {
	color: var(--color-txt-link);
	text-decoration: underline;
	text-underline-offset: 0.3em;
}
.u-txt-link .u-txt-link__icon {
	display: inline-block;
	margin-left: 10px;
	width: 16px;
	aspect-ratio: 1;
	vertical-align: middle;
	fill: var(--color-txt);
}
.u-txt-link[href$=".pdf"] .u-txt-link__icon {
	fill: #c6152d;
}
@media (width >= 768px) and (any-hover: hover) {
	.u-txt-link {
		transition: var(--t-color);
	}
	.u-txt-link:hover {
		color: var(--color-txt-hover);
		text-decoration: none;
	}
}

/* 画像リンク */
@media (width >= 768px) and (any-hover: hover) {
	.u-img-link img {
		transition: var(--t-opacity);
	}
	.u-img-link:hover img {
		opacity: 0.7;
	}
}

/* 代表サイン */
.u-txt-cpnysign {
	display: inline-block;
	width: 177px;
	margin-top: 8px;
}