@charset "utf-8";
/* ==================================================
		
		navの共通 PC・SP

================================================== */

/* --------------------------------------------------
		header
-------------------------------------------------- */
header {
 border-top: none;
 min-width: auto;
}
header:before {
 background-color: none;
}

/*	#header
-------------------------------------------------- */ 
#header {
	position: fixed;
	width: 100%;
	z-index: 10;
}
#header .headerInner {
	position: relative;
	height: 90px;
}
#header .logoShimadzu {
	display: block;
	position: absolute;
	top: 22px;
	left: 30px;
	z-index: 99;
}
#header .logoShimadzu a svg {
	width: 172px;
	height: 37px;
	transition: 0.2s;
} 

/*----------------------------------------
	globalMenu
-----------------------------------------*/
#gNav {
	top: 0;
	right: -50%;
	position: fixed;
	height: 100%;
	width: 50%;
	z-index: 98;
	transition: all .5s;
	background: #999999;
	/*border: 10px solid #FFf;*/
 overflow: hidden scroll ;
  -ms-overflow-style: none;
 scrollbar-width: none;
}
#gNav::-webkit-scrollbar{
  display: none;
}
.gNav__wrap {
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translate(-50%, -50%);
 -webkit-transform: translate(-50%, -50%);
 -ms-transform: translate(-50%, -50%);
 text-align: left;
}
#gNav ul {
 margin-top: 8px;
}
#gNav ul li {
 font-size: 21px;
 line-height: 2.35;
 letter-spacing: 0.6px;
 position: relative;
 padding-top: 11px;
}
#gNav ul li a {
 display: inline;
}
#gNav ul li:first-of-type {
 padding-top: 0;
}
#gNav ul.list-nav01 li a::after {
 content: "";
 background: url(../images/arrow_img01.png) no-repeat right center / 100%;
 width: 31px;
 height: 7px;
 margin-left: 19px;
 position: absolute;
 bottom: 15px;
}
#gNav ul.list-nav02 {
 margin: 19px 0 0 -6px;
}
#gNav ul.list-nav02 li {
 font-size: 14px;
 letter-spacing: 0.4px;
 line-height: 1.8;
}
#gNav ul.list-nav02 li::before {
 content: "・";
 color: #ffffff;
}

/* 開閉時の挙動 */
.open #gNav {
	right: 0;
}
/* cp_arrow */
.cp_arrow_right {
	position: relative;
	display: inline-block;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	vertical-align: middle;
	color: #fff;
	top: 0;
	width: 9px;
	height: 10px;
	margin: 0.8em;
	border-width: 1px 1px 0 0;
	border-style: solid;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.cp_arrow_right:before, .cp_arrow_right:after {
	position: absolute;
	border-radius: 1px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	content: '';
}
.cp_arrow_right:before {
	top: -1px;
	right: 0;
	width: 15px;
	height: 1px;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-transform-origin: right top;
	transform-origin: right top;
	-webkit-box-shadow: inset 0 0 0 32px;
	box-shadow: inset 0 0 0 24px;
}
.cp_arrow_right:after {
	top: -2px;
	left: -1px;
	width: 1px;
	height: 1px;
}
/* siteTtl */
.siteTtl {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
	margin: auto;
	line-height: 1;
	width: 220px;
}
.siteTtl img {
	width: 100%;
	height: auto;
}

/* メニューボタン */
.btn_wrap {
	position: absolute;
	z-index: 100;
	top: 0;
	right: 0;
	margin: auto;
	width: 88px;
	height: 90px;
	cursor: pointer;
	background: #999999;
}
.open .btn_wrap {
	background: #fff;
}
.btn_menu {
	height: 24px;
	width: 30px;
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	margin: auto;
	transform: translateY(-50%) translateX(-50%);
 -webkit- transform: translateY(-50%) translateX(-50%);
	z-index: 99;
	cursor: pointer;
}
.menu__line {
	background: #fff;
	display: block;
	height: 1px;
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	transition: transform .2s;
	width: 100%;
	width: 30px;
}
.menu__line--center {
	top: 11px;
}
.menu__line--bottom {
	bottom: 0;
}
.active .menu__line--top {
	top: 11px;
	transform: rotate(45deg);
	background: #999999;
}
.active .menu__line--center {
	transform: scaleX(0);
}
.active .menu__line--bottom {
	bottom: 12px;
	transform: rotate(135deg);
	background: #999999;
}

/* menu-bg */
.menu-bg {
	position: fixed;
	left: 0;
	top: 0;
	width: 100vw;
	height: 100vh;
	z-index: 95;
	background: #333;
	opacity: 0;
	visibility: hidden;
	transition: all 0.6s;
	cursor: pointer;
}
.open .menu-bg {
	opacity: 0.6;
	visibility: visible;
}

/* Safari用のハックは、Chromeに適用されないようにする */
@supports (-webkit-touch-callout: none) {
.menu-bg {
 
    /* Safari用のハック */
    height: -webkit-fill-available;
}
 
}
 

/* ==================================================
		
		nav PC

================================================== */
@media screen and (min-width:741px) {
 
/* --------------------------------------------------
		#header
-------------------------------------------------- */
#header {
	position: fixed;
	width: 100%;
	z-index: 10;
}
#header .headerInner {
	position: relative;
	height: 90px;
}
#header .logoShimadzu {
	display: block;
	position: absolute;
	top: 22px;
	left: 30px;
	z-index: 95;
}
#header .logoShimadzu a svg {
	width: 172px;
	height: 37px;
	transition: 0.2s;
} 
#header .logotxt {
 font-size: 25px;
 letter-spacing: 0;
 width: 280px;
 margin: 0 auto;
 position: relative;
 z-index: 96;
} 
 
/*----------------------------------------
	globalMenu
-----------------------------------------*/ 
/* OPEN時 背景固定*/
.scroll-prevent {
	position: fixed;
	z-index: -1;
	width: 100%;
	height: 100%;
}
 
}


/* ==================================================
		
		nav SP

================================================== */
@media screen and (max-width:740px) {
 
/* --------------------------------------------------
		#header
-------------------------------------------------- */
#header .headerInner {
	height:60px;
}
#header .logoShimadzu {
	top: 14px;
	left: 9px;
}
.open #header .logoShimadzu {
	background: #999999;
	padding-right: 66%;
 width: 80%;
	height: 60px;
	top: 0;
 left: 0;
 padding: 14px 0 0 9px;
}
#header .logoShimadzu a svg {
	width: 140px;
	height: 30px;
}
.open #header .logoShimadzu a svg {
	fill: #ffffff;
}
#header .logotxt {
 font-size: 12px;
 letter-spacing: 0;
 width: 125px;
 margin: 0 auto;
 position: relative;
 top: 22px;
 left: 8%;
 z-index: 99;
 box-sizing: content-box;
} 
.open #header .logotxt {
	color: #ffffff;
}

/*----------------------------------------
	globalMenu
-----------------------------------------*/
#gNav {
	width: 100%;
 height: 100%;
	right: -100%;/*border:5px solid #fff;*/
 overflow-y: scroll;
}
.gNav__wrap {
 padding: 0 30px 0 65px;
 width: 100%;
}
#gNav ul {
 font-size: 14px;
 line-height: 1.2;
}
#gNav ul li {
 font-size: 18px;
 padding-top: 11px;
 line-height: 1.8;
}
#gNav ul.list-nav01 li a::after {
 width: 26px;
 height: 6px;
 margin-left: 11px;
 bottom: 13px;
}
#gNav ul.list-nav02 {
 margin: 20px 0 0 -5px;
}
#gNav ul.list-nav02 li {
 font-size: 13px;
 line-height: 1.3;
}
 
/* メニューボタン */
.btn_wrap {
	margin: auto;
	width: 60px;
	height: 60px;
} 
.btn_menu {
	height: 20px;
	width: 30px;
}
.menu__line {
	width: 28px;
}
.menu__line--center {
	top: 9px;
}
.active .menu__line--top {
	top: 9px;
}
.active .menu__line--bottom {
	bottom: 9px;
}

}
