@charset 'utf-8';
/*
	・2024-01-17更新
	・2023-11-08更新
	・2023-10-27更新
 */


html {
	min-width: 1024px;
}

body {
	font-family: BlinkMacSystemFont, 'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'BIZ UDPGothic', 'メイリオ', Meiryo, sans-serif;
}

.etext {
	font-family: 'Helvetica Neue', Helvetica, Avenir, san-serif;
}

::selection {
    background: #b20000;
    color: #fff;
}

::-moz-selection {
    background: #b20000;
    color: #fff;
}

a {
	color: #b20000;
}

a:hover,
a.hover {
	color: #f16668;
}



.caution {
	text-align: left;
}

.caution p {
	padding-left: 1em;
	color: #747474;
	line-height: 1.5;
	position: relative;
}

.caution p:before {
	display: inline-block;
	content: '※';
	position: absolute;
	top: 0;
	left: 0;
}

sup {
	color: #747474;
	font-size: .5em;
	font-weight: normal !important;
	vertical-align: top;
}

.sup:after {
	color: #747474;
	content: '※';
	font-size: .5em;
	vertical-align: top;
}

.caution ol {
	counter-reset: number;
	list-style: none;
}

.caution ol li {
	padding-left: 2em;
	color: #747474;
	font-size: 1.2em;
	position: relative;
}

.caution ol li:before {
	counter-increment: number;
	content: '※'counter(number)' ';
	position: absolute;
	top: 0;
	left: 0;
}

.caution p:not(:last-child),
.caution ol li:not(:last-child) {
	margin-bottom: .3em;
}



.btnarea a {
	background: #5e5e5e;
	color: #fff;
}

.btnarea a:hover,
.btnarea a.hover {
	background: #8e8e8e;
}



.blockheader h1 {
	color: #000;
}


body {
	margin: 0 auto;
	background: #fff;
	color: #000;
	-webkit-font-smoothing: antialiased;
}

body:before {
	height: 0;
}

body.fixed:before {
	height: 100px;
}

body.stickytoolbar.fixed:before {
	height: 140px;
}

#upper > .inner,
#contentheader > .inner,
.breadcrumb > ul,
#bottom > .inner {
/* 	max-width: 1600px; */
}

#upper {
	height: 60px;
}

#logo_header {
	height: 100%;
	padding-left: 20px;
}

#navi_global {
	height: 60px;
}

body.fixed #navi_global {
	position: fixed;
	top: 0;
	left: 0;
}

#navi_global > .inner {
/* 	max-width: 1600px; */
	margin: 0 auto;
	padding: 0 20px;
}

#navitab .navilowercontents li a[target="_blank"]:after {
	content: '\e89e';
	display: inline-block;
	width: 14px;
	height: 14px;
	margin-top: -7px;
	font-size: 14px;
	font-family: 'Material Symbols Sharp';
	font-weight: normal !important;
	text-align: center;
	line-height: 1;
	transition: .2s;
	position: absolute;
	top: 50%;
	right: 10px;
}

#navitab .navilowercontents li a:hover[target="_blank"]:after,
#navitab .navilowercontents li a.hover[target="_blank"]:after {
	transform: translate(3px,-3px);
}

#contentheader {
	top: 60px;
}

body.fixed #contentheader {
	position: fixed !important;
	top: 60px;
}

#contentheader > .inner {
	height: 39px;
	padding-right: 0;
	overflow: visible;
}

#contentheader .heading {
	width: auto;
	padding-right: 20px;
/* 	border-right: 1px solid #ccc */
}

#contentheader .userinfo {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	height: 100%;
	margin-left: auto;
	margin-right: 0;
	font-size: 14px;
}

#contentheader .userinfo > span {
	display: flex;
	align-items: center;
	height: 100%;
	padding: 0 1em;
	line-height: 1;
}

#contentheader .userinfo span.name {
	padding: 0 .5em;
	transition: .2s;
}

#contentheader .userinfo .user.hold,
#contentheader .userinfo .user:hover {
	background: #b20000;
	color: #fff;
}

.breadcrumb > ul {
/* 	height: 39px; */
	height: 100%;
	padding: 0 10px;
}

.userinfobox {
	min-width: 280px;
	margin: 0;
	font-size: 1rem;
	text-align: left;
	position: absolute;
	top: 39px;
	right: 0;
}

.userinfobox.hold {
	z-index: 999;
}

.drawerbtn {
	display: inline-flex;
	align-items: center;
	height: 100%;
	line-height: 1;
	cursor: pointer;
}

.drawerbtn .icon.arrow {
	transition: .2s;
}

.drawerbtn.hold .icon.arrow {
	transform: rotate(-180deg);
}

.drawercontentbox {
	display: none;
	width: 100%;
	padding: 1em;
	border: 1px solid #989898;
	background: #f6f6f6;
	font-size: 1em;
}

.drawercontentbox .draweractionbtn {
	list-style: none;
}

.drawercontentbox .draweractionbtn li:not(:last-child) {
	margin-bottom: .3em;
}

.drawercontentbox .draweractionbtn a {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: .5em 1em;
	border: 1px solid;
	background: #fff;
	color: #b20000;
	text-align: center;
	text-decoration: none;
}

.drawercontentbox .draweractionbtn a:hover,
.drawercontentbox .draweractionbtn a.hover {
	background: #f7e4e4;
}

.drawercontentbox .draweractionbtn .logout a {
	background: #b20000;
	border-color: #b20000;
	color: #fff;
}

.drawercontentbox .draweractionbtn .logout a:hover,
.drawercontentbox .draweractionbtn .logout a.hover {
	border-color: #f16668;
	background: #f16668;
}

.drawercontentbox .draweractionbtn a span.label {
	margin-left: .5em;
}

.drawercontentbox .draweractionbtn a span.icon {
	margin-bottom: -.2em;
}

#navielem {
	height: 100%;
}

#navielem .elem {
	height: 100%;
}

#navitab {
	height: 100%;
}


#navitab .navilowercontents,
body.fixed #navitab .navilowercontents {
	top: 59px;
}

#navitab .navilower .tab .label:after {
	margin-left: .5em !important;
	margin-right: 0 !important;
}

#navitab .navilowercontents {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	position: fixed;
	left: 0;
}

#navitab .navilowercontents > li {
	border-top: 1px solid #b20000;
	border-bottom: 1px solid #b20000;
	background: #f7e4e4;
}

#navitab .navilowercontents > li > a {
	display: none;
}

#navitab li .navilowercontents ul {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	flex-wrap: wrap;
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
	padding: 10px;
}

#navitab li .navilowercontents ul li {
	width: 25% !important;
	padding: 5px;
	font-size: 14px;
}

#navitab .navilowercontents ul li a {
	border-bottom: 1px solid #d15358 !important;
}

#navitab .navilowercontents ul li a {
	background: #fff;
}

#navitab .navilowercontents ul li a.current {
	background: #cdc8c8;
	color: #fff;
}

#navitab .navilowercontents ul li a:hover,
#navitab .navilowercontents ul li a.hover {
	background: #ce9e9f;
	color: #fff;
}

@media only screen and (max-width: 1024px) {

	#navitab .navilowercontents {
		margin-left: -20px;
		margin-right: 0;
		left: 0;
	}
}


#navimenu {
	right: 0;
}

#naviicon {
	right: 50px;
}


#upper {
	border-bottom: 1px solid #b20000;
	background: #fff;
}

#navi_global {
	border-bottom: 1px solid #b20000;
	background: #fff;
}

#navitab .exlink .arrow span:before,
#navitab a[target="_blank"] .arrow span:before {
	content: '\f109';
}

#navitab li.exlink:not(.navilower) a:hover .arrow span,
#navitab li.exlink:not(.navilower) a.hover .arrow span,
#navitab li:not(.navilower) a[target="_blank"]:hover .arrow span,
#navitab li:not(.navilower) a[target="_blank"].hover .arrow span {
	transform: translate(3px,-3px);
}

#navitab li a:hover,
#navitab li a.hover {
	color: #e74346;
}

#navitab li.active {
	background: #b20000;
}

#navitab li a.current {
	color: #fff;
}

#navitab li.active a:hover,
#navitab li.active a.hover {
	color: #f7e4e4;
}

#navitab .exlink a .anctitle,
#navitab a[target="_blank"] .anctitle {
	padding: 0 15px;
}



#container {
	background: #fff;
}

#contentheader {
	border-bottom: 1px solid #ccc;
	background: #fff;
}

body.fixed:not(.stickytoolbar) #contentheader {
	border: none;
	box-shadow: 0 1px 2px rgba(0,0,0,.2);
}



.breadcrumb {
/* 	border-bottom: 1px solid #e6e6e6; */
	flex-grow: 1;
}

.breadcrumb li:nth-of-type(1) span {
	display: none;
}

.breadcrumb li:nth-of-type(1) a {
	text-decoration: none;
}

.breadcrumb li:nth-of-type(1) a:before {
	content: '\e88a';
	font-size: 1.2em;
	font-family: 'Material Symbols Sharp';
	font-weight: normal !important;
	vertical-align: middle;
}

.breadcrumb li:not(:last-child) a:after {
	line-height: normal;
}


#bottom {
	padding: 40px;
}



#jump a > span {
	border-radius: 0;
}


#logo_header .logotypeset img {
	position: relative;
	top: auto;
	left: auto;
}

#logo_header .logotypeset .logo_mark {
	width: 200px;
}

#logo_header .logotypeset .appname {
	padding-left: 1em;
	color: #000;
	font-size: 20px;
	font-weight: 900;
}



.pagination ul li > a.number,
.pagination ul li > span {
	font-family: 'Helvetica Neue', Helvetica, Avenir, san-serif;
}

