/* ver.1.0.5 */
/*layout*/
/*------------------------------------------------------------------------------*/
.text-center	{
	text-align: center;
}
.sponly	{
	display: none;
}
/*header*/
/*------------------------------------------------------------------------------*/
header{
	width: 100%;
	margin: 0 auto 20px;
	text-align: left;
	position: fixed;
	top: 0;
	left: 0;
	height: 60px;
	z-index: 500;
}
header.hover	{
	background-image:linear-gradient(rgba(255,255,255,.94) 80%,rgba(255,255,255,0))
}
header:after{
	content: "";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
#header_left{
	float: left;
	width: 50%;
	height: 60px;
}
#header_right{
	float: right;
	width: 50%;
	height: 60px;
}
#header_right.hover{
	background-image: linear-gradient(20deg,rgba(235,246,255,0.88) 30%,rgba(200,223,244,0.88),rgba(228,238,245,0.88),rgba(246,249,252,0.90));
}
#header_left.hover{
	background-image: linear-gradient(20deg,rgba(255,255,255,0) 20%,rgba(255,255,255,.7),rgba(235,246,255,0.88) 70%);
}
header h1{
	font-size: 77%;
	line-height: 1;
	color: #666;
	margin-bottom: 20px;
	margin-top: 3px;
}
#logo{
	display: inline-block;
	position: absolute;
	left: 50px;
	top: 15%;
}
#logo a{
	display: block;
}
#logo img{
	width: 200px;
	height: auto;
}
#headnav{
	float: right;
	margin-bottom: 30px;
}
#headnav li{
	display:inline-block;
	text-align:center;
	vertical-align: middle;
}
#headnav li a{
	display:block;
	font-size: 98%;
	line-height:1;
	padding:7px 15px 7px 35px;
	text-decoration: none;
}
#headnav li.mail a{
	background: url(../image/common/icon_mail.png) no-repeat 10px center #222;
	background-size: 14px 9px;
}

.megamenu	{
	display: table;
	position: absolute;
	top: 40px;
	padding-top:20px;
	left: 0;
	width: 100%;
	table-layout: fixed;
	display: none;
}
.megamenu div.imgarea,.megamenu div.textarea	{
	display: table-cell;
	vertical-align:middle;
}

.megamenu div.imgarea	{
	position:relative;
	width: 40%;
	background-size: cover;
	opacity: .97;
}
.megamenu div.imgarea p{
	font-size: calc(10px + 1vw);
	color:rgba(255,255,255,1);text-shadow: 3px 2px 0px rgba(0,0,0,.5);
	position: absolute;
	top:10px;
	right:5%;
}
.globalnav01 .imgarea{
	background:url("../image/megamenu_img11.jpg") no-repeat 40%;
}
.globalnav02 .imgarea{
	background:url("../image/megamenu_img2.jpg") no-repeat 40%;
}
.globalnav03 .imgarea{
	background:url("../image/megamenu_img3.jpg") no-repeat;
}
.globalnav04 .imgarea{
	background:url("../image/megamenu_img4.jpg") no-repeat;
}
.globalnav05 .imgarea{
	background:url("../image/megamenu_img8.jpg") no-repeat 50%;/* opto190301 */
}
.globalnav06 .imgarea{
	background:url("../image/megamenu_img6.jpg") no-repeat;
}
.megamenu div.textarea{
	background-color: rgba(246,249,252,0.95);
	height:270px;
}
.megamenu div.textarea ul{
	display:flex;
	flex-wrap:wrap;
	align-items: center;
}
.megamenu div.textarea ul li{
	width:25%;
	padding:0 2%;
	margin:5px 0 5px;
}
.megamenu div.textarea ul li{
	list-style-type: none;
	font-size:15px;
	font-weight:bold;

}

.megamenu div.textarea ul li img {
	max-width:100%;
	height:auto;
}


/*globalnav*/
/*------------------------------------------------------------------------------*/
#globalnav{
	float:right;
	clear: both;
}

#gnav_btn{display:none;}
#globalnav ul	{
	position: absolute;
	top: 50%;
	right: 70px;
	transform: translateY(-50%);
	display: table;
	height: 100%;
	width: auto;
	border-collapse: separate;
	border-spacing: calc(2vw - 5px) 0;
}
#globalnav li{
	display:table-cell;
	white-space: nowrap;
	vertical-align: middle;
	text-align:center;
	margin:0;
	cursor: pointer;
	box-sizing: border-box;
	position: relative;
	font-weight: bold;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic" ,sans-serif;
}

#globalnav li:hover:after,#globalnav li.main_current:after,
#globalnav li.mega:after {
	content: '';
	height: 4px;
	width: 100%;
	background-color: #0068b7;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index:10;
}
#globalnav li:first-child{
	margin: 0;
}
#globalnav li a{
	font-size: calc(7px + .6vw);
    line-height: 1;
    display: flex;
    height: 100%;
    align-items: center;
}

.megamenu div.textarea ul li .bor{
	padding-left: 20px;
	position: relative;
	display: inline-block;
	line-height: 17px;
}
.megamenu div.textarea ul li .bor::before{
	content: "";
width: 10px;
height: 2px;
background: #999999;
position: absolute;
top: 50%;
margin-top: -1px;
left: 1px;
}

@media only screen and (max-width:690px) {
header.hover #globalnav li a	{
	color: #555;
}
}



#globalnav li a:hover,#globalnav li.main_current a{
	border-bottom: 0;
}

a.search	{
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 90px;
	height: 60px;
}
a.search:hover	{
	background-color: white;
	color: #3c3c3c;
}
a.search:hover img	{
	opacity: 1;
}
a.search img	{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

.search_form	{
	display: inline-block;
	position: fixed;
	right: 0;
	top: 60px;
	background-color: rgba(0,0,0,.45);
	padding: 18px 20px;
	display: none;
}
.search_form input	{
	width: 20.5vw;
	border: none;
	font-size: 17px;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	-ms-border-radius: 20px;
	-o-border-radius: 20px;
	border-radius: 20px;
	padding: 7px 14px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.search_form .searchsubmitbutton	{
	height: 20px;
	width: auto;
	position: absolute;
	top: 0;
	right: 30px;
	bottom: 0;
	margin: auto;
	display: inline-block;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	-ms-border-radius: 0;
	-o-border-radius: 0;
	border-radius: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding: 0;
}

.gnav_btn	{display: none;}
#main	{
	background-color: white;
}

#locator_in a:hover	{
	text-decoration: underline;
}
/*footer*/
/*------------------------------------------------------------------------------*/
footer{
	background-color: white;
	padding: 80px 0 10px;
}
#footer_top {
	width: 1120px;
	margin: 0 auto;
	padding-bottom: 50px;
	border-bottom: #E6E6E6 1px solid;
	text-align:left;
	display: flex;
}


.footnav {
	width: 20%;
	margin: 0 auto;
}
.footnav li {
	margin-bottom: 5px;
	list-style-type: none;
	font-size: 17px;
}

.footnav li:nth-child(n+2) {
	margin-top:25px;
}

.footnav li a{
	color: #333;
	font-weight:bold;
}
.footnav li ul{
	margin-top: 10px;
}

.footnav li li {
	margin-bottom:3px;
}
.footnav li li:nth-child(n+2) {
	margin-top:0;
}


.footnav li li a {
	background: none;
	padding-left: 20px;
	font-size:14px;
	color:#999999;
	font-weight:normal;
	position:relative;
}
.footnav li li a::before {
	content:"";
	width:10px;
	height:2px;
	background: #999999;
	position:absolute;
	top:50%;
	margin-top:-1px;
	left:1px;
}


.footnav li a:hover	{
	color: #0068b7;
	text-decoration: underline;
}

#footer_bottom{
	width: 1120px;
	margin: 0 auto;
	padding: 25px 0;
	border-top: #000 1px solid;
	text-align:left;
}
.footnav_b{
	float: left;
}
.footnav_b li{
	display: inline;
	padding-right: 20px;
	margin-right: 20px;
	border-right: 1px solid #ccc;
	line-height: 1;
	font-size: 13px;
}
.footnav_b li:last-child{
	padding-right: 0;
	margin-right: 0;
	border-right: none;
}


.footnav_b li a:hover	{
	color: #0068b7;
	text-decoration: underline;
}
small{
	display: block;
	float: right;
}

#copyright	{
	font-size: 13px;
}

/* pagetop */
/*------------------------------------------------------------------------------*/
#topcontrol{
	z-index:150;
}
a.pagetop {
	width: 50px;
	height: 50px;
	background: url(../image/pagetop.gif) no-repeat 0 0;
	border-radius: 50%;
	opacity:.8;
	overflow: hidden;
	display:block;
	border:3px solid #F7F7F7;
}

.mb30	{
	margin-bottom: 30px!important;
}
.mb50 {
	margin-bottom: 50px!important;
}
/* add */
/*------------------------------------------------------------------------------*/
h3 {
font-size: calc(12px + .35vw);
font-weight: bold;
}
.NormalList li {
list-style-type: none
}
input::-ms-clear {
    visibility:hidden
}
.link-blue{
	color:#1284D4
}
.link-blue:hover{
	color:#0068B7
}