@charset "UTF-8";
:root {
	--bp-sp: 767px;
}

:root {
	--bp-portrait: 1024px;
}

:root {
	--bp-pc: 1010px;
}

/******************************************************************
foundation - base
******************************************************************/
:where(html) {
	-webkit-text-size-adjust: 100%;
}

:where(body) {
	margin: 0;
}

:where(button, input, optgroup, select, textarea) {
	font-family: inherit; /* 1 */
	font-size: 15px;
	line-height: 1.8;
}
@media screen and (max-width: 767px) {
	:where(button, input, optgroup, select, textarea) {
		font-size: 14px;
	}
}

:where(html) {
	scroll-behavior: smooth;
}

:where(body) {
	min-width: 375px;
	font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	overflow-wrap: break-word;
	overflow-y: scroll;
	color: #181A24;
	font-size: 15px;
	line-height: 1.8;
}
@media screen and (max-width: 767px) {
	:where(body) {
		font-size: 14px;
	}
}
:where(main) {
	font-weight: 400;
}

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

:where(li) {
	list-style: none;
}

:where(table) {
	border-collapse: collapse;
	border-spacing: 0;
}

:where(iframe) {
	border: 0;
}

:where(button) {
	background-color: transparent;
	border: none;
	cursor: pointer;
	padding: 0;
	appearance: none;
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	:where(button):hover {
		text-decoration: none;
	}
}
:where(button):focus {
	text-decoration: none;
}
:where(button) {
	outline-color: #999999;
}

:where(input, select) {
	outline-color: #999999;
}

:where(em) {
	font-style: normal;
	font-weight: bold;
}

:where(fieldset) {
	border: 0;
	padding: 0;
	margin: 0;
}

:where(address) {
	font-style: normal;
}

:where(a) {
	color: #004098;
	text-decoration: none;
	text-decoration-thickness: 1px !important;
	text-underline-offset: 0.1em;
	outline-color: #999999;
}
@media (any-hover: hover) {
	:where(a):hover {
		text-decoration: underline;
	}
}
:where(a):focus {
	text-decoration: underline;
}

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

:where(svg) {
	vertical-align: middle;
}

:where(hr) {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #B5C1CC;
}

:where(sub),
:where(sup) {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

:where(sub) {
	bottom: -0.25em;
}

:where(sup) {
	top: -0.5em;
}

/******************************************************************
layout - header-sticky
******************************************************************/
html:has(.l26-header-sticky) main * {
	scroll-margin-top: calc(var(--header-height) + 10px);
}

.l26-header-sticky {
	position: sticky;
	top: 0;
	z-index: 100;
}