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

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

ul,
ol {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

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

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

button {
	font-family: inherit;
}

/*----------
	vars
----------*/
:root,
::before, ::after {
	/* color */
	--color-key-grad: linear-gradient(135deg, #0082CA 0%, #1DACDB 50%, #79BD36 100%);
	--color-key-grad-p: linear-gradient(135deg, #E6F7FF 0%, #E6FFF2 50%, #EEFFE6 100%);
	--color-prim: #0082CA;
	--color-seco: #79BD36;
	--color-border: #EBEBEB;
	--color-bg: #222;
	--color-bg-gray: #F7F7F7;
	--color-bg-caution: #FDE5E9;
	--color-text: #222;
	--color-text-caption: #666;
	--color-text-link: #007CBF;
	--color-text-visited: #681da8;
	--color-text-caution: #E6002D;
	--color-pdf: #D81E1E;
	--color-blue: #0082CA;
	--color-green: #79BD36;
	--color-yellow: #FFD900;
	--color-orange: #EB6100;
	--color-pink: #E61673;
	--color-red: #C81432;
	--color-purple: #6B1685;
	--color-navy: #0A2D88;
	--color-sky: #2EA7E0;
	--color-turquoise: #00A9AD;
	--color-lime: #CFDB00;
	--color-gold: #FFA40C;
	--color-blue-p: #F0FAFF;
	--color-green-p: #F7FFF0;
	--color-yellow-p: #FFFDF0;
	--color-orange-p: #FFF6F0;
	--color-pink-p: #FFF0F7;
	--color-red-p: #FFF0F2;
	--color-purple-p: #FBF0FF;
	--color-navy-p: #F0F4FF;
	--color-sky-p: #F0FAFF;
	--color-turquoise-p: #F0FFFF;
	--color-lime-p: #FEFFF0;
	--color-gold-p: #FFF9F0;
	--color-form-border: #CCCCCC;
	--color-form-bg: #EBEBEB;
	--color-form-placeholder: #999999;
	--color-form-error: #D81E1E;
	--color-form-error-bg: #FFF0F0;
	/* font family */
	--font-sans: YakuHanJP_Noto, "Noto Sans JP", "ヒラギノ角ゴシック", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", Hiragino Sans, "メイリオ", Meiryo, sans-serif;
	--font-serif: "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	/* line height */
	--line-height-s: 1.4;
	--line-height-m: 1.6;
	--line-height-l: 1.8;
	/* icons */
	--icon-arrow-cir-down: "";
	--icon-arrow-cir-left: "";
	--icon-arrow-cir-right: "";
	--icon-arrow-cir-up: "";
	--icon-arrow-down: "";
	--icon-arrow-left: "";
	--icon-arrow-right: "";
	--icon-arrow-up: "";
	--icon-blank: "";
	--icon-chev-down: "";
	--icon-chev-left: "";
	--icon-chev-right: "";
	--icon-chev-up: "";
	--icon-close: "";
	--icon-download: "";
	--icon-global: "";
	--icon-minus: "";
	--icon-pause: "";
	--icon-pdf: "";
	--icon-play: "";
	--icon-plus-cir: "";
	--icon-plus: "";
	--icon-search: "";
	--icon-sns-fb: "";
	--icon-sns-insta: "";
	--icon-sns-line: "";
	--icon-sns-tiktok: "";
	--icon-sns-tw: "";
	--icon-sns-youtube: "";
}

/*! Yaku Han JP v3.4.1 (OFL-1.1 AND MIT) by Qrac */ /*! Type: YakuHanJP_Noto - Based on Noto Sans CJK JP */
@font-face {
	font-family: "YakuHanJP_Noto";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("/assets/fonts/YakuHanJP/YakuHanJP-Regular.woff2") format("woff2"), url("/assets/fonts/YakuHanJP/YakuHanJP-Regular.woff") format("woff");
	unicode-range: U+3001, U+3002, U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f, U+3010, U+3011, U+3014, U+3015, U+30fb, U+ff01, U+ff08, U+ff09, U+ff1a, U+ff1b, U+ff1f, U+ff3b, U+ff3d, U+ff5b, U+ff5d;
}
@font-face {
	font-family: "YakuHanJP_Noto";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("/assets/fonts/YakuHanJP/YakuHanJP-Medium.woff2") format("woff2"), url("/assets/fonts/YakuHanJP/YakuHanJP-Medium.woff") format("woff");
	unicode-range: U+3001, U+3002, U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f, U+3010, U+3011, U+3014, U+3015, U+30fb, U+ff01, U+ff08, U+ff09, U+ff1a, U+ff1b, U+ff1f, U+ff3b, U+ff3d, U+ff5b, U+ff5d;
}
@font-face {
	font-family: "YakuHanJP_Noto";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("/assets/fonts/YakuHanJP/YakuHanJP-Bold.woff2") format("woff2"), url("/assets/fonts/YakuHanJP/YakuHanJP-Bold.woff") format("woff");
	unicode-range: U+3001, U+3002, U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f, U+3010, U+3011, U+3014, U+3015, U+30fb, U+ff01, U+ff08, U+ff09, U+ff1a, U+ff1b, U+ff1f, U+ff3b, U+ff3d, U+ff5b, U+ff5d;
}
/*----------
	base
----------*/
html {
	width: 100%;
	font-size: 62.5%;
	background-color: #fff;
}
html.locked {
	position: fixed;
	overflow: hidden;
}

body {
	font-size: 1.6rem;
	line-height: var(--line-height-l);
	font-family: var(--font-sans);
	letter-spacing: 0;
	color: var(--color-text);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;
}

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

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

/*----------
	main header
----------*/
.l-mainheader {
	height: 70px;
	position: relative;
}
.l-mainheader__inner {
	width: 100%;
	height: 70px;
	padding: 0 20px;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	background-color: #fff;
	transition: height 0.2s ease-out;
}
.l-mainheader__logo {
	width: 130px;
	position: absolute;
	top: 50%;
	left: 20px;
	z-index: 15;
	transform: translateY(-50%);
	transition: width 0.2s ease-out;
}
.l-mainheader__logo > a {
	display: block;
}
.l-mainheader__logo > a > img {
	display: block;
}
.l-mainheader__navtoggle {
	display: block;
	width: 50px;
	height: 50px;
	border: 2px solid #222;
	border-radius: 50%;
	position: absolute;
	top: 10px;
	right: 20px;
	background-color: #222;
	cursor: pointer;
}
.l-mainheader__navtoggle > span::before, .l-mainheader__navtoggle > span::after {
	content: "";
	display: block;
	width: 20px;
	height: 3px;
	position: absolute;
	background-color: #fff;
	top: calc(50% - 1.5px);
	left: 50%;
	transform-origin: center;
	transition: transform 0.2s ease-out;
}
.l-mainheader__navtoggle > span::before {
	transform: translate(-50%, -5px) rotate(0);
}
.l-mainheader__navtoggle > span::after {
	transform: translate(-50%, 5px) rotate(0);
}
.l-mainheader__searchtoggle {
	display: block;
	width: 50px;
	height: 50px;
	padding: 13px;
	position: absolute;
	top: 10px;
	right: 80px;
	cursor: pointer;
}
.l-mainheader__searchtoggle > span::before {
	font-family: iconfont !important; /* stylelint-disable-line declaration-no-important,font-family-no-missing-generic-family-keyword */
	speak: none;
	font-style: normal;
	font-weight: normal;
	line-height: 1;
	content: "\ea17";
	display: block;
	width: 24px;
	height: 24px;
	font-size: 24px;
	color: var(--color-text);
	transition: transform 0.2s ease-out;
}
@media (max-width: 1023px) {
	.l-mainheader__nav {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		z-index: 10;
		height: 0;
		overflow: hidden;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity 0.4s, visibility 0.4s;
	}
	.l-mainheader__search {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		z-index: 9;
		height: 0;
		overflow: hidden;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity 0.4s, visibility 0.4s;
	}
	.l-mainheader.sp-nav-active .l-mainheader__navtoggle > span:before {
		transform: translate(-50%, 0) rotate(-45deg);
	}
	.l-mainheader.sp-nav-active .l-mainheader__navtoggle > span:after {
		transform: translate(-50%, 0) rotate(45deg);
	}
	.l-mainheader.sp-nav-active .l-mainheader__nav {
		height: auto;
		opacity: 1;
		visibility: visible;
		pointer-events: all;
	}
	.l-mainheader.sp-search-active .l-mainheader__searchtoggle > span:before {
		content: "\ea0e";
		transform: rotate(-90deg);
	}
	.l-mainheader.sp-search-active .l-mainheader__search {
		height: auto;
		opacity: 1;
		visibility: visible;
		pointer-events: all;
	}
}
@media (min-width: 1024px) {
	.l-mainheader {
		height: 100px;
	}
	.l-mainheader__inner {
		width: 100%;
		height: 100px;
		padding: 0 40px;
	}
	.l-mainheader__logo {
		width: 230px;
		top: 50%;
		left: 40px;
		transform: translateY(-50%);
	}
	.l-mainheader__navtoggle {
		display: none;
	}
	.l-mainheader__searchtoggle {
		display: none;
	}
	.l-mainheader__nav {
		display: block;
		width: 100%;
		position: absolute;
		bottom: 0;
		left: 0;
	}
	.l-mainheader__search {
		position: absolute;
		top: 9px;
		right: 160px;
	}
	.l-mainheader.compact .l-mainheader__inner {
		height: 70px;
	}
	.l-mainheader.compact .l-mainheader__logo {
		width: 180px;
	}
	.l-mainheader.compact .l-mainnav__lang {
		display: none;
	}
	.l-mainheader.compact .l-mainheader__search {
		display: none;
	}
}
@media (min-width: 1024px) and (max-width: 1169px) {
	.l-mainheader__logo {
		width: 180px;
		top: 20px;
		transform: translateY(0);
	}
	.l-mainheader.compact .l-mainheader__logo {
		width: 90px;
		top: 30px;
	}
}

/*----------
	main navigation SP
----------*/
/* 背景レイヤー */
.l-mainnav__closelayer {
	width: 100vw;
	position: fixed;
	z-index: -1;
	background-color: rgba(0, 0, 0, 0.5);
	height: 0;
	overflow: hidden;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.4s, visibility 0.4s;
}
.l-mainnav__closelayer.active {
	height: 100vh;
	opacity: 1;
	visibility: visible;
	pointer-events: all;
}

.l-mainnav__lang {
	padding-left: 30px;
	position: relative;
	background-color: #fff;
	line-height: 1;
}
.l-mainnav__lang::before {
	font-family: iconfont !important; /* stylelint-disable-line declaration-no-important,font-family-no-missing-generic-family-keyword */
	speak: none;
	font-style: normal;
	font-weight: normal;
	line-height: 1;
	content: "\ea10";
	display: inline-block;
	width: 24px;
	height: 24px;
	font-size: 24px;
}
.l-mainnav__lang > span {
	display: none;
	margin-left: 8px;
	font-weight: 500;
	font-size: 1.6rem;
	transform: translateY(-0.3em);
}
.l-mainnav__lang > span.active {
	display: inline-block;
}

@media (max-width: 1023px) {
	.l-mainnav {
		width: 100vw;
		height: calc(100vh - 70px);
		height: calc(100svh - 70px);
		position: fixed;
		top: 70px;
		left: 0;
		z-index: 100;
		overflow-y: auto;
		scroll-behavior: smooth;
	}
	.l-mainnav a, .l-mainnav span {
		font-weight: 500;
		line-height: var(--line-height-s);
		color: var(--color-text);
	}
	.l-mainnav__inner {
		padding: 20px 0 120px;
		position: relative;
		z-index: 1;
		background-color: #fff;
	}
	.l-mainnav__items {
		border-top: 1px solid var(--color-border);
		position: relative;
	}
	.l-mainnav__items::before {
		content: "";
		width: 6px;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1;
		background-color: var(--color-prim);
		background-image: linear-gradient(180deg, #0082CA 0%, #1DACDB 50%, #79BD36 100%);
	}
	.l-mainnav__item {
		border-bottom: 1px solid var(--color-border);
	}
	.l-mainnav__gnav > a,
	.l-mainnav__gnav > span {
		display: block;
		padding: 15px 48px 15px 30px;
		position: relative;
		font-size: 1.8rem;
		background-color: #fff;
	}
	.l-mainnav__item--hassub .l-mainnav__gnav > a::after {
		font-family: iconfont !important; /* stylelint-disable-line declaration-no-important,font-family-no-missing-generic-family-keyword */
		speak: none;
		font-style: normal;
		font-weight: normal;
		line-height: 1;
		content: "\ea16";
		display: block;
		width: 16px;
		height: 16px;
		position: absolute;
		top: 50%;
		right: 20px;
		font-size: 16px;
		transform: translateY(-50%) rotate(-90deg);
		transition: transform 0.2s;
	}
	.l-mainnav__lv2 {
		height: 0;
		overflow: hidden;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		position: relative;
		transition: opacity 0.6s, visibility 0.6s;
	}
	.l-mainnav__lv2__inner {
		padding: 10px 0;
	}
	.l-mainnav__lv2__cattop > a {
		display: block;
		padding: 10px 36px 10px 50px;
		font-size: 1.6rem;
	}
	.l-mainnav__lv2__cattop > a::after {
		content: " トップ";
	}
	.l-mainnav__lv2__close {
		display: none;
	}
	.l-mainnav__lv3__item > li > a {
		display: block;
		padding: 10px 36px 10px 50px;
		font-size: 1.6rem;
	}
	.l-mainnav__lv3__item > li > a[target=_blank]::after {
		font-family: iconfont !important; /* stylelint-disable-line declaration-no-important,font-family-no-missing-generic-family-keyword */
		speak: none;
		font-style: normal;
		font-weight: normal;
		line-height: 1;
		display: inline-block;
		content: "\ea09";
		margin-left: 0.5em;
		font-size: 0.7em;
	}
	.l-mainnav__lv3__cattop > a::after {
		font-family: iconfont !important; /* stylelint-disable-line declaration-no-important,font-family-no-missing-generic-family-keyword */
		speak: none;
		font-style: normal;
		font-weight: normal;
		line-height: 1;
		content: "\ea16";
		display: inline-block;
		margin-left: 5px;
		transform: rotate(-90deg);
		transition: transform 0.2s;
		font-size: 12px;
		color: #808080;
	}
	.l-mainnav__lv4 {
		height: 0;
		margin: 0;
		padding: 0;
		overflow: hidden;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		position: relative;
		transition: opacity 0.6s, visibility 0.6s;
		background-color: var(--color-bg-gray);
	}
	.l-mainnav__lv4 > li > a {
		display: block;
		padding: 10px 50px;
	}
	.l-mainnav__lv4 > li > a > span {
		font-weight: normal;
	}
	.l-mainnav__item.sp-lv2-active .l-mainnav__lv2 {
		height: auto;
		opacity: 1;
		visibility: visible;
		pointer-events: all;
	}
	.l-mainnav__item.sp-lv2-active .l-mainnav__gnav > a::after,
	.l-mainnav__item.sp-lv2-active .l-mainnav__gnav > span::after {
		content: "\ea11";
		transform: translateY(-50%) rotate(0deg);
	}
	.l-mainnav__lv3__cattop.sp-lv3-active .l-mainnav__lv4 {
		height: auto;
		margin: 10px 0;
		padding: 10px 0;
		opacity: 1;
		visibility: visible;
		pointer-events: all;
	}
	.l-mainnav__lv3__cattop.sp-lv3-active > a::after {
		content: "\ea11";
		transform: rotate(0deg);
	}
	.l-mainnav__lang {
		padding: 28px 30px;
	}
}

@media (max-width: 1023px) {
	html[lang=en] .l-mainnav__lv2__cattop > a::after {
		content: " TOP";
	}
}

/*----------
	main navigation PC
----------*/
@media (min-width: 1024px) {
	.l-mainnav {
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
	.l-mainnav a, .l-mainnav span {
		font-weight: 500;
		line-height: var(--line-height-s);
		color: var(--color-text);
	}
	.l-mainnav__closelayer {
		width: 100vw;
		height: 100vh;
		position: fixed;
		z-index: -1;
		background-color: rgba(0, 0, 0, 0.5);
	}
	.l-mainnav__items {
		width: 100%;
		height: 45px;
		padding: 0 25px 0 310px;
		display: flex;
		justify-content: flex-end;
		align-items: flex-end;
		position: absolute;
		bottom: 0;
		right: 0;
	}
	.l-mainnav__item {
		flex: 0 0 auto;
	}
	.l-mainnav__item.current .l-mainnav__gnav > a::after,
	.l-mainnav__item.current .l-mainnav__gnav > span::after {
		transform: translateX(-50%) scaleX(1);
	}
	.l-mainnav__gnav > a,
	.l-mainnav__gnav > span {
		display: block;
		padding: 0 15px 18px;
		position: relative;
		cursor: pointer;
	}
	.l-mainnav__gnav > a::after,
	.l-mainnav__gnav > span::after {
		content: "";
		display: block;
		width: calc(100% - 60px);
		height: 6px;
		border-radius: 6px 6px 0 0;
		position: absolute;
		bottom: 0;
		left: 50%;
		background-color: var(--color-prim);
		background-image: var(--color-key-grad);
		transform: translateX(-50%) scaleX(0);
		transition: transform 0.2s ease-out;
	}
}
@media (min-width: 1024px) and (hover: hover) {
	.l-mainnav__gnav > a:hover::after {
		transform: translateX(-50%) scaleX(1);
	}
}
@media (min-width: 1024px) {
	.l-mainnav__item--hassub.pc-lv2-active .l-mainnav__lv2 {
		opacity: 1;
		visibility: visible;
		pointer-events: all;
	}
}
@media (min-width: 1024px) {
	.l-mainnav__lv2 {
		width: 100%;
		max-height: calc(100vh - 100px);
		border-top: 1px solid var(--color-border);
		position: absolute;
		top: 45px;
		left: 0;
		overflow-y: auto;
		background: #fff url(/assets/images/mainnav-bg.png) no-repeat right center/contain;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity 0.4s, visibility 0.4s;
	}
	.l-mainnav__lv2::after {
		content: "";
		display: block;
		width: 100%;
		height: 10px;
		position: sticky;
		bottom: 0;
		left: 0;
		background-color: var(--color-prim);
		background-image: var(--color-key-grad);
	}
	.l-mainnav__lv2__inner {
		width: 100%;
		max-width: 1360px;
		margin: 0 auto;
		margin-top: -100px;
		padding: 50px 40px 90px;
		position: relative;
	}
	.l-mainnav__lv2__inner::before {
		content: "";
		display: block;
		width: 1px;
		height: 100%;
		position: absolute;
		top: 0;
		left: 40px;
		background-color: var(--color-border);
	}
	.l-mainnav__lv2__cattop > a {
		display: inline-block;
		padding-left: 40px;
		position: relative;
		font-size: 3.2rem;
	}
	.l-mainnav__lv2__cattop > a::before {
		content: "";
		display: block;
		width: 7px;
		height: 60px;
		border-radius: 0 7px 7px 0;
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
		background-color: var(--color-prim);
		background-image: var(--color-key-grad);
	}
	.l-mainnav__lv2__cattop > a::after {
		font-family: iconfont !important; /* stylelint-disable-line declaration-no-important,font-family-no-missing-generic-family-keyword */
		speak: none;
		font-style: normal;
		font-weight: normal;
		line-height: 1;
		content: "\ea03";
		display: inline-block;
		width: 20px;
		height: 20px;
		margin-left: 5px;
		font-size: 20px;
	}
}
@media (min-width: 1024px) and (hover: hover) {
	.l-mainnav__lv2__cattop > a {
		background: linear-gradient(#222, #222) no-repeat calc(100% - 24px) 100%/0 1px;
		transition: background-size 0.4s cubic-bezier(0.65, 0, 0.35, 1);
	}
	.l-mainnav__lv2__cattop > a:hover {
		background-position: 40px 100%;
		background-size: calc(100% - 64px) 1px;
	}
}
@media (min-width: 1024px) {
	.l-mainnav__lv2__close {
		display: block;
		width: 60px;
		height: 60px;
		border: 2px solid #222;
		border-radius: 50%;
		position: sticky;
		margin: 40px 40px 0 auto;
		top: 40px;
		z-index: 1;
		background-color: #fff;
		cursor: pointer;
		transition: opacity 0.2s;
	}
	.l-mainnav__lv2__close::before {
		display: block;
		width: 14px;
		height: 14px;
		font-size: 14px;
		color: #fff;
	}
	.l-mainnav__lv2__close:hover {
		opacity: 0.6;
	}
}
@media (min-width: 1024px) {
	.l-mainnav__lv3 {
		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
		gap: 0 40px;
		margin-top: 48px;
		padding-left: 40px;
	}
	.l-mainnav__lv3__item {
		min-width: 200px;
		max-width: 360px;
		flex: 1 0 30%;
	}
	.l-mainnav__lv3__item > li + li {
		margin-top: 20px;
	}
	.l-mainnav__lv3__item > li > a {
		display: block;
		padding-left: 24px;
		position: relative;
		font-size: 1.8rem;
	}
	.l-mainnav__lv3__item > li > a::before {
		font-family: iconfont !important; /* stylelint-disable-line declaration-no-important,font-family-no-missing-generic-family-keyword */
		speak: none;
		font-style: normal;
		font-weight: normal;
		line-height: 1;
		content: "\ea03";
		display: block;
		width: 16px;
		height: 16px;
		position: absolute;
		top: 0.25em;
		left: 0;
		transform: translateY(0.05em);
		font-size: 1.6rem;
	}
	.l-mainnav__lv3__item > li > a[target=_blank]::before {
		content: "\ea09";
	}
}
@media (min-width: 1024px) and (hover: hover) {
	.l-mainnav__lv3__item > li > a > span {
		background: linear-gradient(#222, #222) 100% 100%/0 1px no-repeat;
		transition: background-size 0.4s cubic-bezier(0.65, 0, 0.35, 1);
	}
	.l-mainnav__lv3__item > li > a:hover > span {
		background-position: 0 100%;
		background-size: 100% 1px;
	}
}
@media (min-width: 1024px) {
	.l-mainnav__lv4 {
		margin-top: 20px;
		padding-left: 24px;
	}
	.l-mainnav__lv4 > li:first-child {
		display: none;
	}
	.l-mainnav__lv4 > li + li {
		margin-top: 10px;
	}
	.l-mainnav__lv4 > li > a {
		display: block;
		padding-left: 22px;
		position: relative;
		font-size: 1.6rem;
	}
	.l-mainnav__lv4 > li > a > span {
		font-weight: normal;
	}
	.l-mainnav__lv4 > li > a::before {
		font-family: iconfont !important; /* stylelint-disable-line declaration-no-important,font-family-no-missing-generic-family-keyword */
		speak: none;
		font-style: normal;
		font-weight: normal;
		line-height: 1;
		content: "\ea07";
		display: inline-block;
		width: 14px;
		height: 14px;
		position: absolute;
		top: 0.25em;
		left: 0;
		transform: translateY(0.1em);
		font-size: 1.4rem;
	}
	.l-mainnav__lv4 > li > a[target=_blank]::before {
		content: "\ea09";
	}
}
@media (min-width: 1024px) and (hover: hover) {
	.l-mainnav__lv4 > li > a > span {
		background: linear-gradient(#222, #222) 100% 100%/0 1px no-repeat;
		transition: background-size 0.4s cubic-bezier(0.65, 0, 0.35, 1);
	}
	.l-mainnav__lv4 > li > a:hover > span {
		background-position: 0 100%;
		background-size: 100% 1px;
	}
}
@media (min-width: 1024px) {
	.l-mainnav__lang {
		padding: 0;
		position: absolute;
		top: -85px;
		right: 40px;
		cursor: pointer;
	}
}

/*----------
	local nav
----------*/
.l-localnav {
	width: 100%;
}
.l-localnav__inner {
	padding: 25px 20px 40px;
	position: relative;
	background-color: var(--color-bg-gray);
	line-height: var(--line-height-s);
}
.l-localnav__inner::before {
	content: "";
	display: block;
	width: calc(100% - 40px);
	height: 1px;
	position: absolute;
	top: 0;
	left: 20px;
	background-color: #222;
}
.l-localnav__inner > ul > li {
	display: inline-block;
	margin: 4px 24px 8px 0;
	padding-bottom: 5px;
	position: relative;
}
.l-localnav__inner > ul > li > a {
	font-weight: normal;
	font-size: 1.4rem;
	color: var(--color-text);
}
.l-localnav__inner > ul > li.current::after {
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: var(--color-prim);
	background-image: var(--color-key-grad);
}
.l-localnav__inner > ul > li.current > a {
	font-weight: bold;
}
.l-localnav__title {
	margin-bottom: 20px;
}
.l-localnav__title > a {
	font-weight: bold;
	font-size: 1.8rem;
	color: var(--color-text);
}
.l-localnav__title > a::after {
	font-family: iconfont !important; /* stylelint-disable-line declaration-no-important,font-family-no-missing-generic-family-keyword */
	speak: none;
	font-style: normal;
	font-weight: normal;
	line-height: 1;
	content: "\ea03";
	display: inline-block;
	width: 14px;
	height: 14px;
	margin-left: 8px;
	font-size: 14px;
}
@media (min-width: 768px) {
	.l-localnav__inner {
		padding: 40px;
	}
	.l-localnav__inner::before {
		width: calc(100% - 80px);
		left: 40px;
	}
	.l-localnav__inner > ul > li {
		margin-top: 8px;
	}
	.l-localnav__inner > ul > li > a {
		font-size: 1.6rem;
	}
}
@media (min-width: 768px) and (hover: hover) {
	.l-localnav__inner > ul > li > a > span {
		background: linear-gradient(#222, #222) 100% 100%/0 1px no-repeat;
		transition: background-size 0.4s cubic-bezier(0.65, 0, 0.35, 1);
	}
	.l-localnav__inner > ul > li > a:hover > span {
		background-position: 0 100%;
		background-size: 100% 1px;
	}
}
@media (min-width: 768px) {
	.l-localnav__inner > ul > li.current > a > span {
		background: none;
	}
}
@media (min-width: 768px) {
	.l-localnav__title > a {
		font-size: 2rem;
	}
}
@media (min-width: 768px) and (hover: hover) {
	.l-localnav__title > a > span {
		background: linear-gradient(#222, #222) 100% 100%/0 1px no-repeat;
		transition: background-size 0.4s cubic-bezier(0.65, 0, 0.35, 1);
	}
	.l-localnav__title > a:hover > span {
		background-position: 0 100%;
		background-size: 100% 1px;
	}
}

/* ヘッダーローカルナビ 上書き */
.l-subnav .l-localnav {
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.09);
}
@media (min-width: 768px) {
	.l-subnav .l-localnav__inner {
		padding: 20px 40px;
	}
}

/*----------
	main subnav
----------*/
.l-subnav {
	display: none;
}
@media (min-width: 1025px) {
	.l-subnav {
		display: block;
		width: 100%;
		min-height: 48px;
	}
	.l-subnav__inner {
		width: 100%;
		min-height: 48px;
		padding: 8px 26px 8px;
		background-color: #5B5E62;
		position: relative;
		left: 0;
		z-index: 98;
		font-weight: 500;
		font-size: 1.6rem;
		line-height: var(--line-height-s);
	}
	.l-subnav__inner > ul > li {
		display: inline-block;
		margin: 2px;
	}
	.l-subnav__inner > ul > li > a {
		display: block;
		padding: 3px 10px;
		border-radius: 4px;
		color: #fff;
	}
}
@media (min-width: 1025px) and (hover: hover) {
	.l-subnav__inner > ul > li > a {
		transition: background-color 0.2s, color 0.2s;
	}
	.l-subnav__inner > ul > li > a:hover {
		background-color: #e6e6e6;
		color: #5B5E62;
	}
}
@media (min-width: 1025px) {
	.l-subnav__inner > ul > li.current > a {
		background-color: #e6e6e6;
		color: #5B5E62;
	}
}
@media (min-width: 1025px) {
	.l-subnav__lv4 {
		height: 0;
		overflow: hidden;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity 0.6s, visibility 0.6s;
		position: absolute;
		bottom: 0;
		left: 0;
		z-index: 98;
		transform: translateY(100%);
	}
	.l-subnav__lv4 .l-localnav__inner::before {
		content: none;
		display: none;
	}
	.l-subnav__lv4.active {
		height: auto;
		opacity: 1;
		visibility: visible;
		pointer-events: all;
	}
}
@media (min-width: 1025px) {
	.l-subnav.compact .l-subnav__inner {
		position: fixed;
		top: 70px;
	}
}
@media (min-width: 1025px) {
	.l-subnav.ready .l-subnav__inner {
		transition: transform 0.2s ease-out;
		transform: translateY(-150px);
	}
	.l-subnav.ready.active .l-subnav__inner {
		transform: translateY(0);
	}
}

/*----------
	main footer
----------*/
.l-mainfooter {
	padding: 40px 0 80px;
	background-color: #5B5E62;
	color: #fff;
}
.l-mainfooter__inner {
	width: 100%;
	max-width: 1360px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
}
@media (min-width: 768px) {
	.l-mainfooter__inner {
		padding-left: 40px;
		padding-right: 40px;
	}
}
.l-mainfooter__utility {
	margin-top: 20px;
}
.l-mainfooter__utility__list > li > a {
	display: inline-block;
	padding: 8px 0;
	font-weight: 500;
	font-size: 1.6rem;
	line-height: var(--line-height-s);
	color: #fff;
}
.l-mainfooter__utility__button {
	margin-top: 20px;
}
.l-mainfooter__utility__button > li + li {
	margin-top: 20px;
}
.l-mainfooter__utility__button > li > a {
	border-color: #fff;
	background-color: transparent;
}
.l-mainfooter__copyright {
	margin-top: 30px;
	text-align: center;
	font-size: 1.1rem;
	line-height: 1.1;
	color: #fff;
}
@media (max-width: 1023px) {
	.l-mainfooter__nav {
		font-weight: 500;
		line-height: var(--line-height-s);
	}
	.l-mainfooter__nav__item {
		border-bottom: 1px solid #707070;
	}
	.l-mainfooter__nav__item > a {
		display: block;
		padding: 15px 30px 15px 0;
		position: relative;
		font-size: 1.8rem;
		color: #fff;
	}
	.l-mainfooter__nav__item > a::after {
		font-family: iconfont !important; /* stylelint-disable-line declaration-no-important,font-family-no-missing-generic-family-keyword */
		speak: none;
		font-style: normal;
		font-weight: normal;
		line-height: 1;
		content: "\ea03";
		display: block;
		width: 16px;
		height: 16px;
		position: absolute;
		top: 50%;
		right: 0;
		font-size: 16px;
		transform: translateY(-50%);
	}
	.l-mainfooter__nav__item--hassub > a::after {
		content: "\ea16";
		transform: translateY(-50%) rotate(-90deg);
		transition: transform 0.2s;
	}
	.l-mainfooter__nav__lv3 {
		height: 0;
		padding-bottom: 0;
		overflow: hidden;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		position: relative;
		transition: opacity 0.6s, visibility 0.6s;
	}
	.l-mainfooter__nav__lv3 > li > a {
		display: block;
		padding: 8px 0 8px 30px;
		font-size: 1.6rem;
		color: #fff;
	}
	.l-mainfooter__nav__lv3 > li > a[target=_blank]::after {
		font-family: iconfont !important; /* stylelint-disable-line declaration-no-important,font-family-no-missing-generic-family-keyword */
		speak: none;
		font-style: normal;
		font-weight: normal;
		line-height: 1;
		display: inline-block;
		content: "\ea09";
		margin-left: 0.5em;
		font-size: 0.7em;
	}
	.l-mainfooter__nav__item.active .l-mainfooter__nav__lv3 {
		height: auto;
		padding-bottom: 10px;
		opacity: 1;
		visibility: visible;
		pointer-events: all;
	}
	.l-mainfooter__nav__item.active > a::after {
		content: "\ea11";
		transform: translateY(-50%) rotate(0deg);
	}
}
@media (min-width: 1024px) {
	.l-mainfooter {
		padding: 120px 0 50px;
	}
	.l-mainfooter__nav {
		font-weight: 500;
		line-height: var(--line-height-s);
	}
	.l-mainfooter__nav > ul {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 100px 40px;
	}
	.l-mainfooter__nav__item > a {
		display: block;
		padding: 0 30px 15px 0;
		border-bottom: 1px solid #707070;
		position: relative;
		font-size: 1.8rem;
		color: #fff;
	}
	.l-mainfooter__nav__item > a::after {
		font-family: iconfont !important; /* stylelint-disable-line declaration-no-important,font-family-no-missing-generic-family-keyword */
		speak: none;
		font-style: normal;
		font-weight: normal;
		line-height: 1;
		content: "\ea03";
		display: block;
		width: 16px;
		height: 16px;
		position: absolute;
		top: 0;
		right: 0;
		transform: translateY(0.4em);
		font-size: 16px;
	}
}
@media (min-width: 1024px) and (hover: hover) {
	.l-mainfooter__nav__item > a::before {
		content: "";
		display: block;
		height: 1px;
		width: 100%;
		position: absolute;
		bottom: 0;
		left: 0;
		transform-origin: top right;
		transform: scaleX(0);
		background-color: #fff;
		transition: transform 0.4s cubic-bezier(0.65, 0, 0.35, 1);
	}
	.l-mainfooter__nav__item > a:hover::before {
		transform-origin: top left;
		transform: scaleX(1);
	}
}
@media (min-width: 1024px) {
	.l-mainfooter__nav__lv3 {
		margin-top: 30px;
	}
	.l-mainfooter__nav__lv3 > li + li {
		margin-top: 15px;
	}
	.l-mainfooter__nav__lv3 > li:first-child {
		display: none;
	}
	.l-mainfooter__nav__lv3 > li > a {
		display: block;
		padding-left: 24px;
		position: relative;
		font-size: 1.6rem;
		color: #fff;
	}
	.l-mainfooter__nav__lv3 > li > a::before {
		font-family: iconfont !important; /* stylelint-disable-line declaration-no-important,font-family-no-missing-generic-family-keyword */
		speak: none;
		font-style: normal;
		font-weight: normal;
		line-height: 1;
		content: "\ea03";
		display: inline-block;
		width: 14px;
		height: 14px;
		position: absolute;
		left: 0;
		top: 0.35em;
		transform: translateY(0.05em);
		font-size: 1.4rem;
	}
	.l-mainfooter__nav__lv3 > li > a[target=_blank]::before {
		content: "\ea09";
	}
}
@media (min-width: 1024px) and (hover: hover) {
	.l-mainfooter__nav__lv3 > li > a > span {
		background: linear-gradient(#fff, #fff) 100% 100%/0 1px no-repeat;
		transition: background-size 0.4s cubic-bezier(0.65, 0, 0.35, 1);
	}
	.l-mainfooter__nav__lv3 > li > a:hover > span {
		background-position: 0 100%;
		background-size: 100% 1px;
	}
}
@media (min-width: 1024px) {
	.l-mainfooter__utility {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 0 40px;
		margin-top: 100px;
	}
}
@media (min-width: 1024px) and (hover: hover) {
	.l-mainfooter__utility__list > li > a > span {
		background: linear-gradient(#fff, #fff) 100% 100%/0 1px no-repeat;
		transition: background-size 0.4s cubic-bezier(0.65, 0, 0.35, 1);
	}
	.l-mainfooter__utility__list > li > a:hover > span {
		background-position: 0 100%;
		background-size: 100% 1px;
	}
}
@media (min-width: 1024px) {
	.l-mainfooter__utility__button {
		margin-top: 0;
	}
}
@media (min-width: 1024px) and (hover: hover) {
	.l-mainfooter__utility__button > li > a:hover {
		color: #707070;
	}
}
@media (min-width: 1024px) {
	.l-mainfooter__copyright {
		margin-top: 130px;
		font-size: 1.6rem;
	}
}
@media (min-width: 1360px) {
	.l-mainfooter__inner {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}
	.l-mainfooter__nav {
		flex: 0 0 calc(75% - 40px);
	}
	.l-mainfooter__utility {
		flex: 0 0 calc(25% - 40px);
		display: block;
		margin-top: 0;
	}
	.l-mainfooter__utility__button {
		margin-top: 60px;
	}
}

.l-backhead {
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 50;
}
.l-backhead > button {
	display: block;
	width: 40px;
	height: 40px;
	background: url(/assets/images/backhead.svg) no-repeat center/contain;
}
@media (min-width: 768px) {
	.l-backhead {
		bottom: 30px;
		right: 30px;
	}
	.l-backhead > button {
		width: 50px;
		height: 50px;
		cursor: pointer;
	}
}
@media (min-width: 768px) and (hover: hover) {
	.l-backhead > button {
		opacity: 1;
		transition: opacity 0.2s;
	}
	.l-backhead > button:hover {
		opacity: 0.6;
	}
}

/*----------
	main content
----------*/
.l-content {
	width: 100%;
}

.l-main {
	width: 100%;
	padding-bottom: 80px;
	position: relative;
	overflow-x: hidden;
}
@media (min-width: 768px) {
	.l-main {
		padding-bottom: 100px;
	}
}

.l-section {
	width: 100%;
	max-width: 1360px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
}
@media (min-width: 768px) {
	.l-section {
		padding-left: 40px;
		padding-right: 40px;
	}
}

/*----------
	breadcrumb
	パンくずリスト
----------*/
.l-breadcrumb {
	padding: 14px 0;
	overflow-x: auto;
}
.l-breadcrumb__list {
	display: flex;
	flex-wrap: nowrap;
	padding: 0 20px;
	white-space: nowrap;
	word-break: keep-all;
	font-size: 1.2rem;
	line-height: 1;
}
.l-breadcrumb__list > li > a {
	display: inline-block;
	text-decoration: none;
	color: var(--color-text);
}
.l-breadcrumb__list > li + li::before {
	font-family: iconfont !important; /* stylelint-disable-line declaration-no-important,font-family-no-missing-generic-family-keyword */
	speak: none;
	font-style: normal;
	font-weight: normal;
	line-height: 1;
	content: "\ea0c";
	display: inline-block;
	width: 10px;
	height: 10px;
	margin: 0 8px;
	font-size: 1rem;
	color: var(--color-prim);
}
.l-breadcrumb__list > li:last-child {
	padding-right: 20px;
}
.l-breadcrumb__list > li:last-child > a {
	pointer-events: none;
}
@media (min-width: 768px) {
	.l-breadcrumb {
		padding: 20px 0;
	}
	.l-breadcrumb__list {
		padding: 0 40px;
		font-size: 1.4rem;
	}
}
@media (min-width: 768px) and (hover: hover) {
	.l-breadcrumb__list > li > a > span {
		background: linear-gradient(#222, #222) 100% 100%/0 1px no-repeat;
		transition: background-size 0.4s cubic-bezier(0.65, 0, 0.35, 1);
	}
	.l-breadcrumb__list > li > a:hover > span {
		background-position: 0 100%;
		background-size: 100% 1px;
	}
}
@media (min-width: 768px) {
	.l-breadcrumb__list > li:last-child {
		padding-right: 40px;
	}
}

/*----------
	components default margin
	コンポーネント間デフォルトマージン設定
----------*/
.l-stracture > [class^=c-],
.l-stracture > [class^=g-],
.l-flexfield__item > [class^=c-],
.l-flexfield__item > [class^=g-] {
	margin-bottom: 40px;
}
@media (min-width: 768px) {
	.l-stracture > [class^=c-],
	.l-stracture > [class^=g-],
	.l-flexfield__item > [class^=c-],
	.l-flexfield__item > [class^=g-] {
		margin-bottom: 60px;
	}
}
.l-stracture > .c-separator,
.l-flexfield__item > .c-separator {
	margin-top: 40px;
	margin-bottom: 40px;
}
@media (min-width: 768px) {
	.l-stracture > .c-separator,
	.l-flexfield__item > .c-separator {
		margin-top: 60px;
		margin-bottom: 60px;
	}
}
.l-stracture > .c-qalist,
.l-stracture > .c-remarks,
.l-stracture > .c-orderlist,
.l-stracture > .c-list,
.l-stracture > .c-list-wrapper,
.l-stracture > .c-caption,
.l-stracture > .c-text,
.l-stracture > .c-text-wrapper,
.l-flexfield__item > .c-qalist,
.l-flexfield__item > .c-remarks,
.l-flexfield__item > .c-orderlist,
.l-flexfield__item > .c-list,
.l-flexfield__item > .c-list-wrapper,
.l-flexfield__item > .c-caption,
.l-flexfield__item > .c-text,
.l-flexfield__item > .c-text-wrapper {
	margin-bottom: 30px;
}
@media (min-width: 768px) {
	.l-stracture > .c-qalist,
	.l-stracture > .c-remarks,
	.l-stracture > .c-orderlist,
	.l-stracture > .c-list,
	.l-stracture > .c-list-wrapper,
	.l-stracture > .c-caption,
	.l-stracture > .c-text,
	.l-stracture > .c-text-wrapper,
	.l-flexfield__item > .c-qalist,
	.l-flexfield__item > .c-remarks,
	.l-flexfield__item > .c-orderlist,
	.l-flexfield__item > .c-list,
	.l-flexfield__item > .c-list-wrapper,
	.l-flexfield__item > .c-caption,
	.l-flexfield__item > .c-text,
	.l-flexfield__item > .c-text-wrapper {
		margin-bottom: 40px;
	}
}
.l-stracture > .c-heading-primary,
.l-flexfield__item > .c-heading-primary {
	margin-top: 80px;
	margin-bottom: 40px;
}
@media (min-width: 768px) {
	.l-stracture > .c-heading-primary,
	.l-flexfield__item > .c-heading-primary {
		margin-top: 100px;
		margin-bottom: 60px;
	}
}
.l-stracture > .c-heading-secondary,
.l-flexfield__item > .c-heading-secondary {
	margin-top: 80px;
	margin-bottom: 30px;
}
@media (min-width: 768px) {
	.l-stracture > .c-heading-secondary,
	.l-flexfield__item > .c-heading-secondary {
		margin-top: 100px;
		margin-bottom: 40px;
	}
}
.l-stracture > .c-heading-tertiary,
.l-stracture > .c-heading-quaternary,
.l-flexfield__item > .c-heading-tertiary,
.l-flexfield__item > .c-heading-quaternary {
	margin-top: 60px;
	margin-bottom: 20px;
}
@media (min-width: 768px) {
	.l-stracture > .c-heading-tertiary,
	.l-stracture > .c-heading-quaternary,
	.l-flexfield__item > .c-heading-tertiary,
	.l-flexfield__item > .c-heading-quaternary {
		margin-top: 80px;
		margin-bottom: 30px;
	}
}
.l-stracture > .c-heading-quinary,
.l-flexfield__item > .c-heading-quinary {
	margin-top: 40px;
	margin-bottom: 20px;
}
.l-stracture > .g-news-container > .c-news,
.l-flexfield__item > .g-news-container > .c-news {
	margin-bottom: 30px;
}
@media (min-width: 768px) {
	.l-stracture > .g-news-container > .c-news,
	.l-flexfield__item > .g-news-container > .c-news {
		margin-bottom: 40px;
	}
}
.l-stracture > .c-image-separate,
.l-stracture > .c-anchor,
.l-flexfield__item > .c-image-separate,
.l-flexfield__item > .c-anchor {
	margin-bottom: 60px;
}
@media (min-width: 768px) {
	.l-stracture > .c-image-separate,
	.l-stracture > .c-anchor,
	.l-flexfield__item > .c-image-separate,
	.l-flexfield__item > .c-anchor {
		margin-bottom: 80px;
	}
}
.l-stracture > .c-slider,
.l-stracture > .c-kv,
.l-flexfield__item > .c-slider,
.l-flexfield__item > .c-kv {
	margin-bottom: 60px;
}
@media (min-width: 768px) {
	.l-stracture > .c-slider,
	.l-stracture > .c-kv,
	.l-flexfield__item > .c-slider,
	.l-flexfield__item > .c-kv {
		margin-bottom: 120px;
	}
}

.c-contentbox__inner > [class^=c-],
.c-contentbox__inner > [class^=g-] {
	margin-bottom: 40px;
}
@media (min-width: 768px) {
	.c-contentbox__inner > [class^=c-],
	.c-contentbox__inner > [class^=g-] {
		margin-bottom: 60px;
	}
}

.l-flexfield > [class^=c-],
.l-flexfield > [class^=g-] {
	margin-bottom: 40px;
}
@media (min-width: 768px) {
	.l-flexfield > [class^=c-],
	.l-flexfield > [class^=g-] {
		margin-bottom: 60px;
	}
}
.l-flexfield > .c-billboard {
	margin-bottom: 60px;
}
.l-flexfield > .c-slider,
.l-flexfield > .c-kv {
	margin-bottom: 60px;
}
@media (min-width: 768px) {
	.l-flexfield > .c-slider,
	.l-flexfield > .c-kv {
		margin-bottom: 120px;
	}
}

.l-flexfield > *:first-child {
	margin-top: 0 !important;
}
.l-flexfield > *:last-child {
	margin-bottom: 0 !important;
}
.l-flexfield__item {
	width: 100%;
	max-width: 1360px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
}
@media (min-width: 768px) {
	.l-flexfield__item {
		padding-left: 40px;
		padding-right: 40px;
	}
}
.l-flexfield__item:first-child > * {
	margin-top: 0 !important;
}
.l-flexfield__item:last-child > * {
	margin-bottom: 0 !important;
}

.l-main > *:first-child {
	margin-top: 0 !important;
}
.l-main > *:last-child {
	margin-bottom: 0 !important;
}
.l-main .l-stracture:first-child > *:first-child {
	margin-top: 0 !important;
}
.l-main .l-stracture:last-child > *:last-child {
	margin-bottom: 0 !important;
}

.l-main > .c-billboard {
	margin-bottom: 60px;
}

/*----------
	search
----------*/
/* 検索窓common */
.mf_finder_logo {
	display: none;
}

.mf_finder_searchBox {
	margin: 0;
	padding: 0;
}
.mf_finder_searchBox_form {
	display: block;
	position: relative;
}
.mf_finder_searchBox_items {
	height: 36px;
	padding: 0;
	border: 1px solid #DDD;
	border-radius: 10px;
	position: relative;
	background-color: var(--color-bg-gray);
}
.mf_finder_searchBox_query_input {
	display: block;
	width: calc(100% - 124px);
	margin-left: 86px !important;
	margin-right: 38px !important;
	padding: 0 10px;
	border: none;
	font-size: 1.6rem;
	line-height: 1;
}
.mf_finder_searchBox_submit {
	height: 100%;
	width: 38px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 8px;
	position: absolute;
	top: 0;
	right: 0;
	background-color: transparent;
}
.mf_finder_searchBox_submit::before {
	font-family: iconfont !important; /* stylelint-disable-line declaration-no-important,font-family-no-missing-generic-family-keyword */
	speak: none;
	font-style: normal;
	font-weight: normal;
	line-height: 1;
	content: "\ea17";
	display: block;
	width: 16px;
	height: 16px;
	font-size: 16px;
	color: var(--color-text) !important;
}

/* ヘッダー検索窓 */
.l-mainheader__search .mf_finder_searchBox_doctype, .l-mainheader__search .mf_finder_searchBox_sort, .l-mainheader__search .mf_finder_searchBox_pagemax, .l-mainheader__search .mf_finder_searchBox_imgsize {
	display: none;
}
.l-mainheader__search .mf_finder_searchBox_items {
	border-radius: 18px;
}
.l-mainheader__search .mf_finder_searchBox_query_input {
	width: calc(100% - 178px);
	margin-left: 140px !important;
}
.l-mainheader__search .mf_finder_searchBox_category {
	height: 100%;
	margin: 0;
	padding: 0;
	border: none;
	position: absolute;
	top: 1px;
	left: 1px;
}
.l-mainheader__search .mf_finder_searchBox_category_links {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	margin: 0;
	padding: 0;
	height: calc(100% - 2px);
	border-radius: 18px 0 0 18px;
	position: relative;
	overflow: hidden;
}
.l-mainheader__search .mf_finder_searchBox_category_links::before, .l-mainheader__search .mf_finder_searchBox_category_links::after {
	display: none;
	content: none;
}
.l-mainheader__search .mf_finder_searchBox_category_links > div {
	padding: 0;
	margin: 0;
}
.l-mainheader__search .mf_finder_searchBox_category_links > div > a {
	display: block;
	min-width: 40px;
	height: 100%;
	margin: 0;
	padding: 0 5px 0 36px;
	border-radius: 0;
	position: relative;
	background-color: #fff !important;
	text-align: center;
	font-weight: 500;
	font-size: 1.2rem;
	line-height: 34px;
	color: var(--text-color) !important;
}
.l-mainheader__search .mf_finder_searchBox_category_links > div > a::before {
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	position: absolute;
	top: 50%;
	left: 13px;
	transform: translateY(-50%);
	background: url(/assets/images/marker-radio.svg) no-repeat center/contain;
}
.l-mainheader__search .mf_finder_searchBox_category_links > div > a.mf_finder_searchBox_link_current {
	background-color: #fff;
}
.l-mainheader__search .mf_finder_searchBox_category_links > div > a.mf_finder_searchBox_link_current::before {
	background-image: url(/assets/images/marker-radio-on.svg);
}
.l-mainheader__search .mf_finder_searchBox_category_links > div:last-child > a {
	padding-right: 15px;
}

@media (max-width: 1023px) {
	.l-mainheader__search__inner {
		width: 100vw;
		position: fixed;
		top: 70px;
		left: 0;
		z-index: 99;
	}
	.l-mainheader__search__closelayer {
		width: 100vw;
		position: fixed;
		z-index: -1;
		background-color: rgba(0, 0, 0, 0.5);
		height: 0;
		overflow: hidden;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity 0.4s, visibility 0.4s;
	}
	.l-mainheader__search__closelayer.active {
		height: 100vh;
		opacity: 1;
		visibility: visible;
		pointer-events: all;
	}
	.l-mainheader__search__body {
		padding: 20px;
		background-color: #fff;
	}
	.l-mainheader__search__title {
		margin-bottom: 20px;
	}
}
@media (min-width: 1024px) {
	.l-mainheader__search {
		width: 340px;
	}
	.l-mainheader__search__closelayer {
		display: none;
	}
	.l-mainheader__search__title {
		display: none;
	}
}

/*----------
	margin
----------*/
/* 規定マージン（SP/PCでマージン幅が変わる） regular */
.u-mt-xs {
	margin-top: 10px !important;
}

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 768px) {
	.u-mt-xs {
		margin-top: 20px !important;
	}
	.u-mt-s {
		margin-top: 40px !important;
	}
	.u-mt-m {
		margin-top: 60px !important;
	}
	.u-mt-l {
		margin-top: 80px !important;
	}
	.u-mt-xl {
		margin-top: 120px !important;
	}
	.u-mt-xxl {
		margin-top: 160px !important;
	}
	.u-mb-xs {
		margin-bottom: 20px !important;
	}
	.u-mb-s {
		margin-bottom: 40px !important;
	}
	.u-mb-m {
		margin-bottom: 60px !important;
	}
	.u-mb-l {
		margin-bottom: 80px !important;
	}
	.u-mb-xl {
		margin-bottom: 120px !important;
	}
	.u-mb-xxl {
		margin-bottom: 160px !important;
	}
}
/* 固定マージン */
.u-mt-none {
	margin-top: 0 !important;
}

.u-mb-none {
	margin-bottom: 0 !important;
}

/* 10px倍数 */
.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;
}

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

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

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

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

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

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

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

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

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

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

/*----------
	display
----------*/
@media (max-width: 767px) {
	.u-sp-none {
		display: none !important;
	}
}

@media (min-width: 768px) {
	.u-pc-none {
		display: none !important;
	}
}

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

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

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

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

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

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

/* 文字装飾 */
.u-text-bold {
	font-weight: bold !important;
}

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

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

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

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

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

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