/* all
-------------------------------------------------------------------*/
:root {
	--hover: background .4s, color .4s, border-color .4s, opacity .4s, text-decoration-color .4s, transform .4s, translate .4s, scale .4s, outline .4s, filter .4s, box-shadow .4s;
	--header: 80px;
	--container: 1100px;
	--inner: 2em;
	--fontcolor: #282828;
	--whitecolor: #fff;
	--bgcolor: #f1f4f8;
	--bgcolor02: #f5f5f5;
	--bg-gra: linear-gradient(00deg,rgba(234, 85, 4, 1) 0%, rgba(248, 180, 6, 1) 100%);
	--keycolor: #1a57b1;
	--subcolor: #1e293d;
	--accent01: #b2924e;
	--accent02: #c10000;
	--reverse: invert(1);
	--white: brightness(0) invert(1);
}
:root img {
	transition: opacity .4s, filter .4s;
}
:root :is(ul, ol, li) {
	margin: 0;
	padding: 0;
	line-height: 1.4;
}
:root :is(h1, h2, h3, h4, h5) {
	margin-block: 0;
}
:root :is(a, button),
:root :is(a, button) :is(span, i),
:root :is(a, button)::before,
:root :is(a, button)::after,
:root :is(a, button) :is(span, i) ::before,
:root :is(a, button) :is(span, i)::after {
	transition: var(--hover);
}
html {
	background: var(--whitecolor);
	color: var(--fontcolor);
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 16px;
	line-height: 1.4;
	scroll-padding: var(--header) !important;
	scroll-behavior: smooth;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 500;
}
html body{
	font-family: "Zen Kaku Gothic New", sans-serif;
}
html .serif {
	font-family: "Zen Old Mincho", serif;
	font-weight:800;
}
html .montserrat,
html [lang="en"],
html time {
	font-family: "Montserrat", sans-serif;
	font-weight:500;
	letter-spacing:0.1em;
}
body {
	width: 100%;
	font-size: 100%;
	text-align: center;
	min-width: var(--container);
	position: relative;
	z-index: 2;
}
main {
	overflow: clip;
	width: 100%;
	padding-top:var(--header)
}
body img,
body svg {
	max-width: 100%;
	height: auto;
}
.sitewrap {
	width: var(--container);
	margin: 0 auto;
	text-align: left;
	box-sizing: border-box;
}
*:has(> .sitewrap) {
	width: 100%;
	overflow-x: clip;
}
*:has(>wbr) {
	word-break: keep-all
}
a[href^="tel:"]{
	pointer-events:none;
}
@media (max-width:1200px) {
	:root {
		--container: 100%;
	}
	body,
	.sitewrap {
		width: 100%;
		min-width: 0;
	}
	:root .sitewrap > * {
		padding-inline: var(--inner);
	}
}
@media screen and (max-width:767px) {
	:root {
		--inner: 1.14rem;
		--header: 60px;
	}
	html {
		font-size: 14px;
	}
	a[href^="tel:"]{
		pointer-events:auto;
	}
}
/* header
-------------------------------------------------------------------*/
header#fix_menu {
	position: fixed;
	z-index: 100;
	top: 0;
	left: 0;
	right: 0;
	height: var(--header);
	display: flex;
	align-items: center;
	transition: top .4s .2s, background .2s;
	background: #ffffff87;
}
header#fix_menu.fixedMenu{
	background:var(--whitecolor);
}
header#fix_menu.fixedMenu::after {
	content: "";
	display: block;
	inset: 0 0 auto;
	height: var(--header);
	background: transparent;
	position: absolute;
	z-index: -1;
	transition: background .2s;
	backdrop-filter: blur(0.25em);
}
header #site_ttl {
	margin-inline: 1.5em;
}
header.fixedMenu #site_ttl a{
	padding-top:0;
}
:is(header #site_ttl, #footer .copy_style) a {
	text-decoration: none;
	position:relative;
	display:block;
	mix-blend-mode: darken;
}
:is(header #site_ttl, #footer .copy_style) a img {
	display: block;
	max-width: inherit;
}
header .drop_menu {
	margin-left: auto;
	max-width: 1100px;
}
header #NavWrap .scroll_wrap {
	position: relative;
	z-index: 2;
	display: flex;
	gap: 1em;
	height: var(--header);
	font-size: 1rem;
	font-weight: bold;
	letter-spacing: 0.05em;
	padding: 0 1em;
	justify-content: flex-end;
	align-items: center;
}
header #NavWrap .scroll_left{
	display:flex;
	justify-content: center;
	align-items: flex-end;
	flex-direction: column;
	gap: 0;
}
header #NavWrap .scroll_top{
	display:flex;
	justify-content: flex-end;
	align-items:center;
	gap:1em;
}
header #NavWrap .scroll_top .mypage-wrap{
	margin-right:0.5em;
}
header #NavWrap .scroll_top .mypage-wrap a{
	border:1px solid #bbbbbb;
	font-size:0.875rem;
	font-weight:600;
	padding: 0.375em 0.832em;
	text-decoration: none;
	display: inline-flex;
	line-height: 1.2;
	flex-wrap: wrap;
	align-content:center;
	justify-content:center;
}
header #NavWrap .scroll_top .tel-wrap{
	display:none;
}
header #NavWrap .scroll_top .tel-wrap .display_tab{
	display:none;
}
header #NavWrap .scroll_top .tel-wrap .montserrat{
	font-size: 1.0rem;
	font-weight:500;
	vertical-align: baseline;
	line-height: 1;
	background:var(--bgcolor);
	padding:0.25em;
	margin-bottom:0.25em;
}
header #NavWrap .scroll_top .tel-wrap .montserrat a{
	color:var(--keycolor);
}	
header #NavWrap .scroll_top .tel-wrap strong{
	font-weight:600;
	color:var(--keycolor);
	display:inline-block;
	margin-left:0.5em;
	line-height: 1;
	padding-top: 0em;
}
header #NavWrap .scroll_top .tel-wrap em{
	font-size:0.811rem;
	font-weight:500;
	color:#686868;
	line-height: 1;
	display: block;
}
header #NavWrap .scroll_top .tel-wrap em i{
	font-size:0.75rem;
	letter-spacing:-0.03em;
}
header #NavWrap ul {
	display: flex;
	justify-content: flex-end;
	gap: 0.5em;
	white-space: nowrap;
}
header #NavWrap ul li {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	z-index: 2;
}
header #NavWrap ul li> :is(p, a) {
	display: flex;
	gap: 0.5em;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	padding: 0.35em 0.75em;
	text-decoration: none;
	font-size: 0.875rem;
	font-weight: 600;
	position: relative;
	z-index: 1;
	transition: var(--hover);
	margin-bottom: 0;
}
header #NavWrap ul li.drop_wrap {
	z-index: 1;
	cursor: pointer;
}
header #NavWrap ul li.drop_wrap li + li{
	border-top: 1px solid #ccc;
}
header #NavWrap .scroll_content{
	display:flex;
	justify-content:flex-end;
	align-items:center;
	gap: 0.375em;
	width: 100%;
}
header #NavWrap .scroll_bottom>li> :is(p, a)::after{
	content:"";
	width:100%;
	height: 2px;
	background: var(--keycolor);
	position:absolute;
	inset:auto 0 0 0;
	margin:auto;
	transform:scale(0,1);
	transform-origin:right top;
	transition:var(--hover);
}
header #switch {
	position: fixed;
	width: 0;
	height: 0;
	opacity: 0;
	z-index: -1;
}
header label[for="switch"] {
	display: none;
}
header .submenu {
	display: flex;
	width:222px;
	justify-content: flex-end;
	align-items: center;
}
header #NavWrap .scroll_content .submenu > *{
	width:111px;
}
header #NavWrap .scroll_content .submenu a{
	display:flex;
	justify-content:center;
	align-items:center;
	text-align:center;
	color:var(--whitecolor);
	background:var(--submenu-color);
	height:80px;
	width:100%;
	line-height: 1.2;
	text-decoration:none;
	border:1px solid var(--submenu-color);
}
header #NavWrap .scroll_content .submenu .individual-btn a{
	--submenu-color:var(--keycolor);
}
header #NavWrap .scroll_content .submenu .organization-btn a{
	--submenu-color:var(--accent01);
}
@media (any-hover: hover) {
	header #NavWrap ul li.drop_wrap ul a:hover{
		background:var(--keycolor);
		color:var(--whitecolor);
	}
	header #NavWrap .scroll_bottom>li> :is(p, a):hover::after{
		transform:scale(1,1);
		transform-origin:left top;
	}
	header #NavWrap .scroll_content .submenu a:hover{
		background:var(--whitecolor);
		color:var(--submenu-color);
	}
	header #NavWrap .scroll_top .mypage-wrap a:hover{
		color:var(--whitecolor);
		background:var(--keycolor);
	}
}
@media (max-width:1200px) {
	header #NavWrap .scroll_top{
		gap:0.5em;
	}
	header #NavWrap .scroll_top .tel-wrap em{
		font-size:0.675rem;
	}
}
@media (max-width:1000px) {
	header .submenu {
		width:160px;
	}
	header #NavWrap .scroll_content .submenu > *{
		flex-grow: 1;
	}
	header #NavWrap .scroll_content .submenu a{
		font-size:0.875rem;
	}
	header #NavWrap .scroll_top .tel-wrap a p{
		font-size:1rem;
	}
	header #NavWrap .scroll_top .mypage-wrap a{
		font-size:0.825rem;
		padding:0.25em 0.5em;
	}
	header #NavWrap ul li> :is(p, a){
		padding-inline:0.5em;
	}
}
@media (max-width:900px) {
	header#fix_menu {
		--slide: 360px;
		padding-right: 6em;
	}
	header #NavWrap {
		position: fixed;
		z-index: 50;
		top: 0;
		bottom: 0;
		right: calc(-1 * var(--slide));
		width: var(--slide);
		background: var(--whitecolor);
		padding: var(--header) 0 1em;
		transition: right .2s;
	}
	header #NavWrap .scroll_wrap {
		width: 100%;
		max-height: 100vh;
		height: 100%;
		font-size: 1rem;
		overflow-x: hidden;
		overflow-y: auto;
		scrollbar-width: thin;
		scrollbar-color: var(--keycolor) var(--accent03);
		overscroll-behavior: contain;
		padding-inline: 0;
		padding-top: 0;
		display: block;
	}
	header #NavWrap .submenu{
		width:100%;
		justify-content:center;
		background:var(--subcolor);
		padding:1em;
		gap:1em;
	}
	header #NavWrap .scroll_content .submenu a{
		height: auto;
		padding: 0.5em;
		border-radius: 0.35em;
	}
	header #NavWrap ul {
		display: block;
		gap: inherit;
		width: 100%;
		margin: 0;
		height: auto;
		order: 2;
	}
	header label[for="switch"] {
		position: fixed;
		z-index: 100;
		top: 1em;
		right: 1.25em;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		width: 5em;
		aspect-ratio: 1 / 1;
		background: transparent;
		border-radius: 0.17857142857em;
		padding: 0.5em;
		transition: right .2s, background .2s, border-color .2s;
		right: 0;
		top: 0;
		border-radius: 0;
		background: var(--whitecolor);
	}
	header label[for="switch"] span,
	header label[for="switch"] span::before,
	header label[for="switch"] span::after {
		position: absolute;
		inset: -10px 0 auto;
		content: "";
		display: block;
		width: 1.858em;
		height: 2px;
		background: var(--subcolor);
		margin: 0 auto;
		transition: transform .2s;
	}
	header label[for="switch"] span {
		position: relative;
		inset: 0;
		display: block;
	}
	header label[for="switch"] span::after {
		top: auto;
		bottom: -10px;
	}
	header:has(#switch:checked) label[for="switch"] {
		background:transparent;
	}
	header:has(#switch:checked) label[for="switch"] span {
		transform: rotate(360deg);
		background: transparent;
	}
	header:has(#switch:checked) label[for="switch"] span::before,
	header:has(#switch:checked) label[for="switch"] span::after {
		transform: rotate(45deg);
		inset: 0;
		background: var(--fontcolor);
	}
	header:has(#switch:checked) label[for="switch"] span::after {
		transform: rotate(-45deg);
	}
	header:has(#switch) #NavWrap {
	}
	header:has(#switch:checked) #NavWrap {
		right: 0;
		padding-top: 80px;
	}
	header #NavWrap .scroll_content{
		flex-direction: column-reverse;
		gap: 0;
	}
	header #NavWrap .scroll_left{
		flex-direction: column;
		width:100%;
	}
	header #NavWrap .scroll_top{
		width: 100%;
		flex-wrap: wrap;
		justify-content: center;
		gap: 2em;
		display:contents;
	}
	header #NavWrap .scroll_top .mypage-wrap{
		order:1;
		padding:0 1em 1em;
		background:var(--subcolor);
		width:100%;
		margin:0;
	}
	header #NavWrap .scroll_top .tel-wrap{
		order:3;
		width:100%;
		padding: 1.5em 1em 1em;
		display:block;
	}
	header #NavWrap .scroll_top .tel-wrap .display_tab{
		display:block;
		font-size:1rem;
		font-weight:600;
		margin-bottom:0.5em;
	}
	header #NavWrap .scroll_top .tel-wrap .montserrat{
		background:none;
		font-size:1.82rem;
		letter-spacing:0.06em;
	}
	header #NavWrap .scroll_top .tel-wrap a{
		font-weight:600;
	}
	header #NavWrap .scroll_top .tel-wrap a p{
		font-size:1.25rem;
		margin-bottom: 0.25em;
	}
	header #NavWrap .scroll_top .tel-wrap a em{
		text-align:center;
		display:block;
	}
	header #NavWrap .scroll_top .mypage-wrap a{
		font-size:1rem;
		padding: 0.75em 1em;
		background:var(--whitecolor);
		display:block;
		border-radius:0.25rem;
		min-height:3.5em;
	}
	header #NavWrap ul li {
		flex: 1;
		width: 100%;
	}
	header #NavWrap ul.scroll_bottom>li {
		display: block;
		border-bottom: solid 1px #e1e1e1;
		position: relative;
	}

	header #NavWrap .scroll_bottom>li> :is(p, a) {
		font-size: 1rem;
		padding-inline: 1em;
		text-shadow: none;
		color: var(--fontcolor);
		min-height: 3.3334em;
	}
	header #NavWrap .scroll_bottom>li> :is(p, a)::after {
		display: none;
	}
	header #NavWrap .scroll_bottom > li > a:before{
		content:"";
		--arrow_wide: 1em;
		height: var(--arrow_wide);
		aspect-ratio: 1 / 1;
		mask: center center / contain repeat-x;
		mask-image: url(../img/common/icon-arrow.svg);
		background-color:var(--fontcolor);
		transition: .3s;
		position:absolute;
		right:1em;
	}
	header #NavWrap ul li> :is(p, a) {
		justify-content: flex-start;
		flex: 1;
	}
	@media (any-hover: hover) {
		header #NavWrap .scroll_bottom li a:hover{
			background:var(--keycolor);
			color:var(--whitecolor);
		}
		header #NavWrap .scroll_bottom > li > a:hover:before{
			background:#fff;
		}
	}
}
@media screen and (max-width:767px) {
	header#fix_menu {
		padding: 0;
		align-items: center;
		height: var(--header);
		--slide: 100%;
		position: absolute;
	}
	header#fix_menu.fixedMenu{
		background:transparent;
	}
	header:has(#switch:checked){
		position:fixed;
	}
	header:has(#switch:checked) #NavWrap {
		padding-top:60px;
	}
	header #site_ttl {
		position: relative;
		z-index: 100;
		text-align: left;
		padding: 0 0.75em;
		margin: 0;
	}
	header label[for="switch"]{
		width:var(--header);
	}
	:is(header #site_ttl, #footer .copy_style) a span{
		font-size: 1rem;
	}
	header #NavWrap {
		justify-content: flex-end;
	}
	header #NavWrap ul {
		padding-inline:1em;
	}
}
/* contents
-------------------------------------------------------------------*/
.section,
section {
	position: relative;
}

/* footer
-------------------------------------------------------------------*/
#footer {
	position: relative;
	z-index: 10;
	padding-block: 3em 1.5em;
	background:#f5f5f5;
}
#footer .sitewrap{
	--container:1000px;
}
#footer .copy_style a + a{
	margin-block: 0.5em 1em;
	padding:0.5em;
}
#footer .copy_style a span{
	font-size: 1.125em;
	font-weight: 900;
	white-space: nowrap;
}
#footer .footer-menu{
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	margin-bottom: 3.5em;
	letter-spacing: 0.05em;
	gap: 2%;
}
#footer .foot_links{
	display:flex;
	justify-content:flex-start;
	align-items:stretch;
	flex-wrap:wrap;
	gap: 0.5em 3em;
	width: 100%;
}
#footer .foot_links .foot_item01{
	border-bottom:1px solid #e1e1e1;
	padding-bottom:1em;
	margin-bottom:1em;
}
#footer .foot_links .foot_item02 + .foot_item02{
	margin-top:0.5em;
}
#footer .foot_links li a{
	position:relative;
	display:inline-block;
	font-weight: 500;
	font-size:0.875rem;
}
#footer .foot_links .foot_item02 a{
	color:#686868;
}
#footer .foot_links a:after{
	content:"";
	width:100%;
	height: 1px;
	background:var(--fontcolor);
	position:absolute;
	inset:auto 0 -2px 0;
	margin:auto;
	transform:scale(0,1);
	transform-origin:right top;
	transition:var(--hover);
}
#footer .foot_links .foot_item02 a:after{
	background:#c0c0c0;
}
#footer .foot_links .foot_links-bottom{
	margin-top:1em;
	padding-top:1em;
	border-top:1px solid #c0c0c0;
}
#footer .foot_links .foot_links-bottom strong{
	display:block;
	margin-bottom:1em;
}
#footer .foot_links .foot_links-bottom ul{
	display:flex;
	flex-wrap:wrap;
	flex-direction:column;
	height: 140px;
	gap: 0.75em 1em;
}
#footer .foot_links .foot_links-bottom ul li{
	width: fit-content;
}
#footer .foot_links .foot_links-bottom ul li:last-child{
	margin-bottom:0;
}
#footer .foot_links .foot_links-bottom ul li a{
	font-size:0.875rem;
	font-weight:400;
}
#footer .foot_left {
	width: 32%;
}
#footer .foot_left .copy_style address{
	font-size:0.875rem;
	font-weight:500;
}
#footer .foot_left .copy_style .txt-link{
	margin-top:1em;
	font-size:0.875rem;
	text-decoration-color:var(--fontcolor);
	text-decoration:underline;
	display: inline-block;
}
#footer .foot_left .copy_style .txt-link span{
	font-weight:500;
}
#footer .foot_left small {
	font-size: 0.75rem;
	margin-top: auto;
}
#footer .foot_right {
	width: 55.2%;
	display:flex;
	justify-content:flex-end;
	align-items:stretch;
	flex-wrap:wrap;
	gap: 3em;
}
#footer .foot_links>ul {
	padding: 0;
	margin: 0;
	flex: 14;
}
#footer .foot_links :is(a, p) {
	font-weight: 600;
	display: block;
	position: relative;
	text-decoration:none;
}
#footer .foot_links a span{
	position:relative;
}
#footer .foot_bottom-col{
	display:flex;
	justify-content:space-between;
	align-items:stretch;
	flex-wrap:wrap;
	border-block: 1px solid #e1e1e1;
	margin-bottom:2em;
}
#footer .foot_bottom .policy-link{
	width: 33.333%;
	text-align:center;
	position:relative;
	padding: 0.5em;
}
#footer .foot_bottom .policy-link + .policy-link:before{
	content:"";
	width:1px;
	height:60px;
	background:#bebebe;
	position:absolute;
	inset:0 auto 0 0;
	margin:auto;
}
#footer .foot_bottom .policy-link a{
	font-size:0.875rem;
	font-weight:500;
	transition:var(--hover);
	min-height: 90px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	text-decoration: none;
}
#footer .foot_bottom .policy-link a:after{
	position: absolute;
	inset: 0 1.25em 0 auto;
	margin: auto;
	right: 2.375em;
	--arrow-color:#bebebe;
}
#footer .foot_bottom small{
	font-size:0.875rem;
	font-weight:500;
	color:#8f8f8f;
	letter-spacing: 0.02em;
	text-align:center;
	display:block;
}
:root aside.pagetop-area{
	position: fixed;
	bottom: 2em;
	right: 2em;
	z-index: 50;
	width: 55px;
}
:root a.pagetop {
	transition: var(--hover);
	background:var(--subcolor);
	aspect-ratio:1 / 1;
	display:block;
	width: 100%;
	border: 1px solid var(--subcolor);
	border-radius: 3px;
	transform: rotate(-90deg);
}
:root a.pagetop::after {
	content: '';
	position: absolute;
	inset: 0;
	margin:auto;
	background: var(--whitecolor);
}
aside.sp-btn-wrap{
	display:none;
}
@media (any-hover: hover) {
	a.pagetop:hover {
		background:var(--whitecolor)
	}
	:root a.pagetop:hover:after{
		background:var(--subcolor);
	}
	#footer .foot_links a:hover:after{
		transform:scale(1,1);
		transform-origin:left top;
	}
	#footer .foot_bottom .policy-link a:hover{
		text-decoration-color:#8f8f8f;
	}
	#footer .foot-other .group-area a:hover{
		opacity:0.7;
	}
	#footer .foot_left .copy_style .txt-link:hover{
		text-decoration-color:transparent;
	}
	#footer .foot_bottom .policy-link a:hover:after{
		mask-position: var(--arrow_wide) center;
		background-color:var(--whitecolor);
	}
	#footer .foot_bottom .policy-link a:hover{
		background:var(--keycolor);
		color:var(--whitecolor);
	}
	 #footer .copy_style a:has(img):hover{
		 opacity:0.7;
	 }
}
@media (max-width: 1100px) {
	:is(header #site_ttl, #footer .copy_style) a img{
		max-width:100%;		
	}
	#footer .footer-menu{
		flex-direction:column;
		align-items:center;
		gap:2em;
	}
	#footer .foot_left {
		width: auto;
		text-align:center;
	}
	#footer .foot_right {
		width: 100%;
		gap: 1em;
	}
	#footer .foot_links{
		gap:1em;
	}
}
@media (max-width:1000px) {
	#footer .foot_bottom .policy-link a:after{
		right:1em;
	}
}
@media screen and (max-width:767px) {
	#footer {
		padding-block: 2.5em 6em;
	}
	#footer .copy_style a img{
		margin:0 auto;
		max-width:100%;
	}
	#footer .copy_style a + a{
		margin:1em 1em;
	}
	#footer .foot_left{
		width:100%;
		text-align:center;
		align-items: center;
	}
	#footer .footer-menu{
		margin-bottom: 2em;
		flex-wrap: wrap;
		gap: 1.5em;
	}
	#footer .foot_right{
		width:100%;
	}
	#footer .foot_bottom-col{
		padding-block:0;
		display: none;
	}
	#footer .foot_left .copy_style address{
		font-size:1rem;
		margin-top: 1.5em;
	}
	#footer .foot_bottom .policy-link{
		width:100%;
		text-align:center;
	}
	#footer .foot_bottom .policy-link + .policy-link{
		border-left:none;
		border-top:1px solid #e1e1e1;
	}
	#footer .foot_bottom .policy-link a{
		font-size:0.86rem;
	}
	#footer .foot_bottom small{
		font-size:0.71rem;
	}
	#footer .foot_right,
	#footer .contact-btn,
	#footer .tel-btn,
	a.pagetop{
		display: none;
	}
	:root aside.pagetop-area{
		right: 1em;
		bottom: auto;
		width: 3em;
		position: absolute;
		top: -1.5em;
	}
	:root a.pagetop {
		border:solid 1px #fff;
	}
	:root a.pagetop::after{
		width: 1em;
	}
	aside.sp-btn-wrap{
		position:fixed;
		inset:auto 0 0 0;
		margin:auto;
		z-index:50;
		display:flex;
		justify-content:space-between;
		align-items:stretch;
	}
	aside.sp-btn-wrap .cta-btn{
	    width:50%;
	}
	aside.sp-btn-wrap .cta-btn a{
		display:flex;
		justify-content:center;
		align-items:center;
		text-align:center;
		color:var(--whitecolor);
		background:var(--submenu-color);
		height:60px;
		width:100%;
		line-height: 1.2;
		text-decoration:none;
		border:1px solid var(--submenu-color);
	}
	aside.sp-btn-wrap .individual-btn a{
		--submenu-color:var(--keycolor);
	}
	aside.sp-btn-wrap .organization-btn a{
		--submenu-color:var(--accent01);
	}
}

thead#route-modal-thead {
    position: sticky;
    top: -1px;
    z-index: 5;
}
thead#route-modal-thead:after{
    content:"";
    display:block;
    position:absolute;
    inset:0 0 1px 0;
    border:solid 1px #e0e0e0;
    box-shadow:0 1px 0 1px #ccc;
}

/* print
-------------------------------------------------------------------*/
@media print{
	html body {
		zoom: 0.7;
	}
	header#fix_menu,
	:root aside.pagetop-area,
	#fixed-requirements_wrap{
		position:absolute;
	}
	@media (max-width: 900px) {
    header label[for="switch"] {
        position: absolute;
	}
}