@charset "UTF-8";
/*----------
	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");
}

/* 
リニューアルのスタイルから、フォントサイズ・位置をpxに変更したもの
reset
Utility
main header
main navigation
main footer
 */
/*----------
	reset
----------*/
.l-mainheader,
.l-mainfooter,
.c-billboard-v2 {
	font-size: 16px;
	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 {
	.l-mainheader,
	.l-mainfooter,
	.c-billboard-v2 {
		letter-spacing: 0.02em;
	}
}
@media print {
	.l-mainheader,
	.l-mainfooter,
	.c-billboard-v2 {
		min-width: 1240px;
		zoom: 0.8;
	}
}
.l-mainheader button,
.l-mainfooter button,
.c-billboard-v2 button {
	appearance: none;
	border: none;
	background-color: transparent;
}

.l-mainheader li,
.l-mainheader span {
	font-size: inherit;
}

/*----------
	Utility
----------*/
@media (width < 768px) {
	.u-pc-v {
		display: none;
	}
}

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

/*----------
	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 {
	/* 追従固定 */
}

.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: 133px;
	}
	.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: 12px;
	}
	.l-mainheader__language::before {
		content: "";
		display: block;
		width: 1em;
		height: 1em;
		margin-right: 8px;
		margin-right: 8px;
		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: 14px;
		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: 16px;
	}
	.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: 16px;
		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: 15px;
		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: 14px;
		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: 13px;
	}
}
@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: 12px;
	}
}
@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: 14px;
		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: 16px;
		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: 12.5px;
		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: 16px;
		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: 16px;
		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: 12px;
		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: 16px;
		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: 16px;
		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: 16px;
		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.4em;
		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: 16px;
		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: 12.5px;
		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: 16px;
		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: 8px;
	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: 1200px;
	padding-block: 70px 100px;
}

.l-mainfooter__backhead {
	display: block;
	position: fixed;
	bottom: 0;
	right: 0;
	width: 60px;
	height: 60px;
	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: 12px;
	right: 10px;
	width: 16px;
	height: 16px;
	fill: #fff;
}

.l-mainfooter__catchcopy {
	margin-block: calc((1em - 1lh) / 2);
	font-weight: 700;
	font-size: 36px;
	letter-spacing: 0.12em;
	line-height: 1.63;
}

.l-mainfooter__logo {
	margin-block: 50px;
}

.l-mainfooter__logo img {
	display: block;
	width: 218px;
	margin: auto;
}

.l-mainfooter__mainnav-item + .l-mainfooter__mainnav-item {
	margin-top: 24px;
}

.l-mainfooter__mainnav-item a {
	display: block;
	margin-block: calc((1em - 1lh) / 2);
	color: #111;
	font-size: 16px;
	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: 50px;
}

.l-mainfooter__subnav-item + .l-mainfooter__subnav-item {
	margin-top: 15px;
}

.l-mainfooter__subnav-item a {
	display: block;
	margin-block: calc((1em - 1lh) / 2);
	color: #111;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.125;
}

.l-mainfooter__copyright {
	margin-top: 50px;
	color: #111;
	font-size: 10px;
	text-align: center;
}

.l-mainfooter__layoutcopy {
	position: absolute;
	right: 0;
	bottom: 16px;
	color: rgba(34, 34, 34, 0.06);
	font-family: var(--font-barlow);
	font-size: 40px;
	line-height: 1;
	text-align: right;
}

.l-mainfooter__layoutcopy span {
	display: block;
	font-size: inherit;
}

@media (width >= 768px), print {
	.l-mainfooter {
		min-width: 1240px;
	}
	.l-mainfooter__inner {
		display: flex;
		justify-content: space-between;
		padding-block: 0 117px;
	}
	.l-mainfooter__catchcopy {
		padding-block: 126px 144.5px;
		font-size: 42px;
	}
	.l-mainfooter__logo {
		margin-block: 0;
	}
	.l-mainfooter__logo img {
		width: 283px;
		margin: 0;
	}
	.l-mainfooter__lower {
		flex: 0 0 auto;
		width: 520px;
		display: flex;
		justify-content: space-between;
		gap: 0 100px;
		padding-top: 80px;
	}
	.l-mainfooter__legal {
		margin-top: 0;
	}
	.l-mainfooter__copyright {
		margin-top: 30px;
		font-size: 14px;
		text-align: left;
	}
	.l-mainfooter__layoutcopy {
		font-size: 75px;
		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: -3px;
		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: -3px;
		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);
	}
}
/*----------
	billboard-v2
----------*/
.c-billboard-v2 {
	position: relative;
	display: flex;
	align-items: flex-end;
	width: 100%;
	min-height: 150px;
	margin-bottom: 60px;
	background-color: #fff;
	border-bottom: 1px solid #ccc;
	font-family: "Noto Sans JP", "ヒラギノ角ゴシック", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", Hiragino Sans, "メイリオ", Meiryo, sans-serif;
}

.c-billboard-v2__inner {
	width: 100%;
	max-width: 1240px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
}

@media (width >= 768px), print {
	.c-billboard-v2__inner {
		padding-left: 20px;
		padding-right: 20px;
	}
}
.c-billboard-v2__inner {
	padding-top: 20px;
}

.c-billboard-v2__date {
	font-size: 12px;
}

.c-billboard-v2__title {
	position: relative;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.33;
}

.c-billboard-v2__title::after {
	content: "";
	display: block;
	width: 100px;
	height: 2px;
	background-color: var(--color-prim);
	margin-top: 30px;
}

@media (width >= 768px), print {
	.c-billboard-v2 {
		min-height: 240px;
		margin-bottom: 70px;
	}
	.c-billboard-v2__date {
		font-size: 14px;
	}
	.c-billboard-v2__title {
		font-size: 40px;
		line-height: 1.75;
	}
	.c-billboard-v2__title::after {
		width: 160px;
		height: 3px;
		margin-top: 57px;
	}
}
/*# sourceMappingURL=common.css.map */
