#header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	display: grid;
	grid-template-columns: 1fr 330px;
	display: -ms-grid;
	-ms-grid-rows: 1fr;
	-ms-grid-columns: 1fr 300px;
	background: #fff;
	border-top: 6px solid;
	z-index: 1000;
	border-bottom: 1px solid #E2E2E2!important;
}

/* logo */
#header .nav-tgl-btn {
    position: absolute;
    left: 20px;
    display: none;
    width: 25px;
    height: 25px;
    cursor: pointer;
    margin-right: 15px;
    z-index: 10;
}

#header.public, #header.medical {
    border-color: #005082;
    color: #005082;
}

#header .nav-tgl-btn::before {
    transform: translateY(-8px);
}
#header .nav-tgl-btn span, .nav-tgl-btn::before, .nav-tgl-btn::after {
    content: '';
    position: absolute;
    top: 50%;
    display: block;
    background: #1e2c39;
    width: 22px;
    height: 2px;
    transition: .3s;
}
#header .nav-tgl-btn::after {
    transform: translateY(8px);
}
#header .nav-tgl-btn span, .nav-tgl-btn::before, .nav-tgl-btn::after {
    content: '';
    position: absolute;
    top: 50%;
    display: block;
    background: #1e2c39;
    width: 22px;
    height: 2px;
    transition: .3s;
}
/**/

#header .mpCenter {
    margin: -18px auto -18px; /* navi高さ調整 */
    padding: 0;
}

/*#header-top {
	grid-column: 1;
	grid-row: 1;
	-ms-grid-column: 1;
	-ms-grid-row: 1;
	display: flex;
	align-items: center;
	border-bottom: 1px solid #ddd;
	padding: 20px 30px;
}*/

#header-top {
    grid-column: 1;
    grid-row: 1;
    -ms-grid-column: 1;
    -ms-grid-row: 1;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #ddd;
    padding: 17px 30px;
}

#header-top h1 {
	font-size: 1em;
	max-width: 140px;
	margin: 0;
}

#header-top p {
	font-size: 1.2em;
	font-weight: 600;
	margin: 0 0 -3px 30px;
}

#header-nav {
	grid-column: 1;
	grid-row: 2;
	-ms-grid-column: 1;
	-ms-grid-row: 2;
	/*border-bottom: 1px solid #ddd;*/
	min-height: 40px;
	/* padding: 0 15px;  20230426更新*/
}



#header-nav ul .pc_navtxt,
#header-nav ul .acordion-btn,
#header-nav ul .pc_navtxt2 {
    list-style: none;
    margin: 0;
    width: 110px;
}

/* sp -20230517*/
#header-nav-sp {
	grid-column: 1;
	grid-row: 2;
	-ms-grid-column: 1;
	-ms-grid-row: 2;
	border-bottom: 1px solid #ddd;
	min-height: 56px;
	/* padding: 0 15px;  20230426更新*/
}
/**/

#header-nav .nav-list {
	display: flex;
	color: #666;
}

#header-nav .nav-list > li {
	position: relative;
	margin: 0 0 -2px; /*20230706 幅調整 */
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans",Meiryo,sans-serif;
    font-size: 15px;　/*会社概要サイズ*/
    line-height: 1.6;
}

#header-nav .nav-list a,
#header-nav .nav-list div.pc_navtxt {
	position: relative;
	display: block;
	padding: 8px 7px 6px; /* accordion位置調整 遠隔診療-PoHR */
	width: 200px; /* navi 20230705 幅調整 */
	cursor: pointer;
}

/**/
#header-nav .nav-list > li::after {
    position: absolute; /*--positionを追加--*/
    top: 0;
    left: 100%;
    margin: 0 1rem;
    content: "";
    width: 1px; /*--縦線の太さ(幅)--*/
    height: 100%;
    /*background-color: #ababab; /*--縦線の色--*/
}
/**/

#header-nav .nav-list .sp-nav {
	display: none;
}

/* sp -20230517*/
#header-nav-sp .nav-list .sp-nav {
	display: none;
}
/**/

/* -20230517
#header-nav .nav-list .sp-nav.medical a,
#header-btn a.medical {
	background: #005082;
}

#header-nav .nav-list .sp-nav.general a,
#header-btn a.general {
	background: #16a5b0;
}

#header-nav .nav-list .sp-nav.medical,
#header-nav .nav-list .sp-nav.general {
	border-bottom: 0;
	color: #fff;
}
*/


/* アコーディオン */
.acordion {
	position: relative;
}

#header-nav .nav-list .acordion-btn {
	padding-right: 20px;
}

.acordion-btn::after {
	content: '';
	position: absolute;
	right: 0px;
	top: calc(50% - 6px);
	display: inline-block;
	border: solid #888;
	border-width: 0 2px 2px 0;
	width: 7px;
	height: 7px;
	transform: rotate(45deg);
	transition: .3s;
}

.acordion:hover .acordion-btn::after {
	top: calc(50% - 2px);
	transform: rotate(-135deg);
}

#header-nav .nav-list .sp-nav .acordion-btn::after {
	top: calc(50% - 3px);
	transform: rotate(-45deg);
}

.acordion-menu {
	position: absolute;
	display: none;
	background: #fff;
	box-shadow: 0px 2px 4px -2px rgba(0, 0, 0, 0.4);
	min-width: 200px;
	z-index: 100;
	margin-top: -2px; /* accordion位置調整 pp */
}

.acordion-menu-pp {
	position: absolute;
	display: none;
	background: #fff;
	box-shadow: 0px 2px 4px -2px rgba(0, 0, 0, 0.4);
	min-width: 200px;
	z-index: 100;
	margin-top: -2px; /* accordion位置調整 pp */
}

.acordion:hover > .acordion-menu {
	display: block;
}

.acordion:hover > .acordion-menu-pp {
	display: block;
}


#header-nav .acordion-menu > li {
	border-top: 1px solid #ddd;
	margin: 0;
}

#header-nav .acordion-menu-pp > li {
	border-top: 1px solid #ddd;
	margin: 0;
}

 #header-nav .acordion-menu a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 8px 10px;
}

 #header-nav .acordion-menu-pp a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 8px 10px;
}

.acordion-menu li a:hover {
	background: #3a58df;
	color: #fff;
	opacity: 1;
}

.acordion-menu-pp li a:hover {
	background: #cf1225;
	color: #fff;
	opacity: 1;
}

#header-nav .acordion-menu-pp a span,
#header-nav .acordion-menu a span,
#header.medical #header-nav .nav-list span,
#header.general #header-nav .nav-list span {
	display: block;
	color: #000;
	font-size: 11px; /* accordion sub txt */
	line-height: 16px;
}


#header-nav .acordion-menu a:hover span {
	color: #fff;
}

#header-nav .acordion-menu-pp a:hover span {
	color: #fff;
}


#header-nav .acordion-menu li.pacsplus,
#header-nav .acordion-menu li.pacsplus a:hover,
#header.medical .acordion.pacsplus .acordion-menu,
#header.medical .acordion.pacsplus .acordion-menu a:hover {
	background: #cf1225;
	color: #fff;
}


#header-nav .acordion-menu-pp li.pacsplus span {
	color: #fff;
}


#header-nav .nav-list .pc-nav .gNavi_stxt {
    color: #000;
    font-size: .9em;
    padding-top: 0;
    margin-bottom: 2px; /* accordion位置に影響　*/
    width: 180px; /* navi横幅調整teleR */
}


/* nav txt hover */

#header-nav .nav-list li .pc_navtxt {
	position: relative;
	/* background: #fff;    navi枠 */
	min-width: 180px;/* navi文字枠ブルブル修正　横幅 */
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans",Meiryo,sans-serif;
    font-size: 15px; /*会社概要以外のサイズ*/
}

#header-nav .nav-list li .pc_navtxt span:nth-child(2) {
	display: none;
}

#header-nav .nav-list li .pc_navtxt:hover span:nth-child(1) {
	display: none;
}
#header-nav .nav-list li .pc_navtxt:hover span:nth-child(2) {
	display: block;
}



/* 通常時はホバー時の文字を非表示にする 
#header-nav span .hover_txt{
display: none;
}

/* ホバー時は通常時の文字を非表示にする 
#header-nav span:hover .nomal_txt{
display: none;
}

/* ホバー時に、ホバー時の文字を表示する /
#header-nav a:hover .hover_txt{
display: inline;
}*/

/* sp */
#header-nav-sp a .hover_txt{
display: none;
}

#header-nav-sp a:hover .nomal_txt{
display: none;
}

#header-nav-sp a:hover .hover_txt{
display: inline;
}
/**/



/* Header ボタン */
#header-btn {
	grid-column: 2;
	grid-row: 1 / 3;
	-ms-grid-column: 2;
	-ms-grid-row: 1;
	-ms-grid-row-span: 2;
	display: flex;
	margin: 0;
	padding: 0;
}

#header-btn > li {
	width: 100%;
	height: 100%;
}

#header-btn a {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	background: #005082;
	color: #fff;
	font-size: .8em;
	width: 100%;
	height: 100%;
	padding-bottom: 10px;
}

#header-btn a::before {
	display: block;
	width: 20px;
	height: 24px;
	margin: 10px;
}

#header-btn .download::before {
	content: url('/img/icon/icon-download_w.svg');
}

#header-btn .contact::before {
	content: url('/img/icon/icon-contact_w.svg');
}

#header-btn .news::before {
	content: url('/img/icon/icon-news.svg');
}

#header-btn .medical::before {
	content: url('/img/icon/icon-med.svg');
}

#header-btn .general::before {
	content: url('/img/icon/icon-gen.svg');
	width: 30px;
	height: 30px;
	margin-bottom: 2px;
}



/* スマホ用メニュー */
.scrollPrevent {
  position: fixed;
  z-index: -1;
  width: 100%;
  height: 100%;
}

#nav-toggle {
	display: none;
}

/**/
.nav-tgl-btn {
	position: absolute;
	left: 20px;
	display: none;
	width: 25px;
	height: 25px;
	cursor: pointer;
	margin-right: 15px;
	z-index: 10;
}

.nav-tgl-btn span,
.nav-tgl-btn::before,
.nav-tgl-btn::after {
	content: '';
	position: absolute;
	top: 50%;
	display: block;
	background: #1e2c39;
	width: 22px;
	height: 2px;
	transition: .3s;
}

.nav-tgl-btn::before {
	transform: translateY(-8px);
}

.nav-tgl-btn::after {
	transform: translateY(8px);
}

#nav-toggle:checked ~ .nav-tgl-btn {
	position: fixed;
	top: 15px;
	transform: translateX(86vw);
}

#nav-toggle:checked ~ .nav-tgl-btn span {
	transform: scaleX(0);
}

#nav-toggle:checked ~ .nav-tgl-btn::before {
	background: #fff;
	transform: rotate(45deg);
}

#nav-toggle:checked ~ .nav-tgl-btn::after {
	background: #fff;
	transform: rotate(-45deg);
}

.nav-active-bg {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	transition: .6s;
	z-index: 1;
}

#nav-toggle:checked ~ .nav-active-bg {
	background: rgba(0, 0, 0, .7);
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
	pointer-events: auto;
}

@media (max-width: 1200px) {
	#header .nav-tgl-btn {
		display: block;
	}
	
	#header {
		grid-template-columns: 1fr 280px;
	}

	#header-top p {
		font-size: 1em;
	}

	#header-nav {
		font-size: .9em;
		min-height: initial;
	}

	#header-btn a {
		font-size: .7em;
	}
}

@media (max-width: 1200px) {
	#header {
		display: flex;
		align-items: center;
		justify-content: center;
		border-bottom: 1px solid;
		padding: 0 0 4px;
		height: 55px;
	}

	#header-top {
		border-width: 0;
		padding: 10px;
	}

	#header-top h1 {
		max-width: 100px;
	}

	#header-nav-sp {
		position: fixed;
		top: 0;
		left: 0;
		background: #fff;
		border: none;
		font-size: 1em;
		width: 88vw;
		height: 100%;
		min-width: 265px;
		max-width: calc(100vw - 50px);
		padding: 0;
		overflow: auto;
		transform: translateX(-100%);
		transition: .5s;
		z-index: 1000;
	}

	#header-nav .nav-list {
		display: block;
	}


	#header-nav .nav-list .pc-nav,
	#header-btn {
		display: none;
	}

	#header-nav .nav-list .sp-nav,
	.nav-tgl-btn {
		display: block;
	}

	/* sp-20230517 */
	#header-navsp .sp-nav {
		display: block;
	} 

	#header #nav-toggle:checked ~ #header-nav {
		transform: none;
	}

/* sp-20230517 */
	#header #nav-toggle:checked ~ #header-nav-sp {
		transform: none;
	}

	#header-top p {
		display: none;
	}
}

/*===============================
  Public / Medical
================================*/
#header.public,
#header.medical {
	border-color: #005082;
	color: #005082;
}

#header.public #header-btn .download,
#header.medical #header-btn .download {
	background: #4982a6;
}

#header.public #header-btn .contact,
#header.medical #header-btn .contact {
	background: #266a95;
}

/* Public */
@media (max-width: 1200px) {
	#header.public #header-nav .nav-list > li > a,
	#header.public #header-nav .nav-list > li > .acordion-btn {
		font-weight: 600;
	}

	#header.public #header-nav .acordion-menu li.pacsplus {
		background: #fafafa;
		color: #666;
	}

	#header.public #header-nav .acordion-menu li.pacsplus span {
		color: #000;
	}

	#header.public #header-nav li.pacsplus + li.sp-nav a {
		padding-left: 50px;
	}
}

/* Medical */
#header.medical #header-nav .nav-list span {
	display: none;
}

@media (max-width: 1500px) {
	#header.medical #header-nav .nav-list > li {
		font-size: .9em;
		margin-right: 10px;
	}
}

@media (max-width: 1300px) {
	#header.medical #header-nav .nav-list > li {
		margin: 0 2px;
	}
}

@media (max-width: 1100px) {
	#header.medical #header-nav .nav-list > li {
		font-size: 1em;
		margin: 0;
	}

	#header.medical #header-nav .nav-list .sp-nav.header {
		background: #005082;
		color: #fff;
		margin: 0;
	}

	#header.medical #header-nav .nav-list span {
		display: block;
	}

	#header.medical #header-nav .acordion.pacsplus .acordion-btn,
	#header.medical #header-nav .acordion.pacsplus .acordion-menu {
		background: #fff;
		color: #666;
	}

	#header.medical #header-nav .acordion.pacsplus li:first-child {
		border-top: 1px solid #ddd;
	}
}

/*===============================
  General
================================*/
#header.general {
	border-color: #16a5b0;
	color: #16a5b0;
}

#header.general #header-btn .download {
	background: #55b2b9;
}

#header.general #header-btn .contact {
	background: #16a5b0;
}

#header.general #header-nav .nav-list span {
	display: none;
}

@media (max-width: 1020px) {
	#header.general #header-nav .nav-list span {
		display: block;
	}

	#header.general #header-nav .nav-list .sp-nav.header {
		background: #16a5b0;
		color: #fff;
	}
}