@charset "utf-8";
@import "reset.css";

/*-----------------------------------------
	Global Settings
------------------------------------------*/
.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

.clearfix {
	_display: inline-block;
	clear: both;
}

* html .clearfix {
	height: 1%;
}

.clearfix { _display: block; }

a {
	text-decoration: underline;
	color: #282930;
}

h1,h2,h2.footer{
	font-family: 'Montserrat';
	font-weight: 700;
}

h2.footer{
	font-size: 110%;
	margin: 0 0 20px 0;
}

span.title-red{
	color: #c90c15;
}

/*-----------------------------------------
	btn
------------------------------------------*/
a.btn{
	position: relative;
	display: inline-block;
	padding: 13px 0;
	text-align: center;
	text-decoration: none;
	line-height: 1;
	-webkit-transition: .3s;
	transition: .3s;
	border-radius: 30px;
	font-family: 'Montserrat';
	font-weight: 400;
	font-size: 80%;
}

a.red{
	position: relative;
	font-size: 88%;
	width: 180px;
	background: #d0111b;
	color: #ffffff;
	margin: 0;
	font-weight: bold;
}

a.white{
	font-size: 88%;
	width: 180px;
	border: 1px solid #dbdbdb;
	background: #ffffff;
	color: #282930;
	margin: 0;
	font-weight: bold;
}

a.white220{
	font-size: 88%;
	width: 220px;
	border: 1px solid #dbdbdb;
	background: #ffffff;
	color: #282930;
	margin: 0;
	font-weight: bold;
}


a.white-icon{
	width: 260px;
	border: 1px solid #dbdbdb;
	background: #ffffff;
	color: #282930;
	margin: 0 0 10px 0;
	font-weight: bold;
}

a.white-arr{
	width: 260px;
	border: 1px solid #dbdbdb;
	background: #ffffff;
	color: #282930;
	margin: 0 0 10px 0;
	font-weight: bold;
}

a.white-100{
	width: 100%;
	border: 1px solid #dbdbdb;
	background: #ffffff;
	color: #282930;
	margin: 20px auto 0px;
	font-weight: bold;
}

a.btn-blk{
	border: 1px solid #42444d;
	background: #33343d;
	color: #ffffff;
	margin: 20px auto 0px;
	padding-left: 32px;
	padding-right: 48px;
	font-weight: bold;
	font-size: 90%;
}

a.btn.btn-blk:hover{
	border: 1px solid #42444d;
	background: #1e1f27;
}

a.red:after{
	display: block;
	content: url(/img/corp/icon_bg_ar_white.png);
	position: absolute;
	top: 12px;
	right: 10px;
}

a.white:after, a.white220:after, a.white-arr:after, a.white-100:after{
	display: block;
	content: url(/img/corp/icon_bg_ar.png);
	position: absolute;
	top: 12px;
	right: 10px;
}

a.white-icon:after, a.btn-blk:after{
	display: block;
	content: url(/img/corp/icon_bg.png);
	position: absolute;
	top: 10px;
	right: 17px;
}

a.navy{
	width: 180px;
	border: 1px solid #42444d;
	background: #33343d;
	color: #ffffff;
	font-size: 88%;
	margin: 0 10px;
}

a.gray{
	width: 180px;
	border: 1px solid #dbdbdb;
	background: #f8f8f8;
	color: #282930;
	font-size: 88%;
}

a.navy:after, a.gray:after{
	display: block;
	content: url(/img/corp/icon_bg_ar.png);
	position: absolute;
	top: 12px;
	right: 10px;
}

a.btn:hover {
	border: 1px solid #dbdbdb;
	background: #f8f8f8;
}

a.navy:hover{
	border: 1px solid #42444d;
	background: #66676f;
}

a.red:hover{
	border: none;
	background: #d0111b;
}

/*-----------------------------------------
	category-box
------------------------------------------*/
span.category-box-news{
	display: block;
	float: right;
	font-weight: bold;
	color: #ffffff;
	padding: 5px 5px;
	text-align: center;
	font-size: 63%;
	width: 80px;
}

span.category-box{
	position: absolute;
	top: 5px;
	right: 0;
	display: block;
	font-weight: bold;
	color: #ffffff;
	padding: 0 8px;
	text-align: center;
	font-size: 60%;
	letter-spacing: 0.1em;
}

span.press   { background: #ae7eca; }
span.news    { background: #5ac575; }
span.info    { background: #5ac575; }
span.portal  { background: #8ac1de; }
span.system  { background: #a49be6; }
span.service { background: #e0abc9; }
span.product { background: #91d1b1; }
span.media { background: #f0be72; }

/*-----------------------------------------
	header
------------------------------------------*/
header {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	position: relative;
	border-bottom: 1px solid #dbdbdb;
	background: #ffffff;
	z-index: 5000;
}

#logo{
	padding: 16px 0;
}

/*-----------------------------------------
	nav
------------------------------------------*/
nav{
	z-index: 9999;
	margin-left: auto;
}

#toggle {
	display: none;
}

.html-fix{
	overflow: auto;
	height: 100%;
}

.body-fix{
	overflow: hidden;
	height: 100%;
}

ul#globalnavi {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
}

ul#globalnavi li {
	z-index: 9999;
	border-left: 1px solid #dbdbdb;
	font-family: 'Montserrat';
	font-weight: 700;
	text-align: center;
	background: #ffffff;
	margin: 0;
}

ul#globalnavi li a{
	display: block;
	font-size: 88%;
	color: #282930;
	text-decoration: none;
}

ul#globalnavi li#nav-language a{color: #999999;}

ul#globalnavi li.selected{
	background: #f8f8f8;
}

li.text a{
	padding: 33px 30px;
}

li.icon a{
	width: 30px;
	padding: 30px 30px;
}

li.text a:hover, li.icon a:hover{
	background: #f8f8f8;
}

ul.snslist{
	position: absolute;
	margin: 1px 0 0 0;
}

ul.snslist li a{
	border-bottom: 1px solid #dbdbdb;
}

.header-fixed {
	width: 100%;
	position: fixed;
	top: 0;
	margin: 0 auto;
	z-index: 5000;
	background: #ffffff;
}

/*-----------------------------------------
	contents
------------------------------------------*/
#wrapper{
	width: 100%;
}

.container{
	width: 1024px;
	margin: 0 auto;
}

/*-----------------------------------------
	footer
------------------------------------------*/
footer{
	clear: both;
	background: #ffffff;
	border-top: 1px solid #dbdbdb;
}

h2.footer{
	font-size: 88%;
}

#footer-nav{
	padding: 50px 20px;
}
.footer-nav-box{
	float: left;
	width: 20%;
}

.footer-nav-box a{
	text-decoration: none;
}

.footer-nav-box a:hover{
	text-decoration: underline;
}

.footer-nav-box ul{
	font-size: 75%;
	margin: 0 0 30px 0;
}

.footer-nav-box ul li{
	margin: 0 0 10px 0;
}

#footer-bnr{
	padding: 50px 20px 40px;
	border-top: 1px solid #dbdbdb;
}

ul.websitelist{
	width: 100%;
	margin: 0 auto;
	text-align: center;
}

ul.websitelist li{
	float: left;
	width: 91px;
	height: 35px;
	background: #ffffff;
	margin: 0 -1px 0 0;
	border: 1px solid #dbdbdb;
}

ul.websitelist li a{
	display: block;
	text-align: center;
	position: relative;
	height: 100%;
}

ul.websitelist li a img{
	display: inline-block;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}


ul.BannerBox{width: 100%;margin: 0 auto;text-align: center;}
ul.BannerBox li{float: left;background: #ffffff;margin: 0 3px 1px 0;}
ul.BannerBox li a{display: block;text-align: center;position: relative;height: 100%;}
ul.BannerBox li span{display:none;}


#footer-arr{
	clear: both;
	padding: 20px 0 0 0;
}

#footer-arr-btn a{
	width: 80px;
	height: 39px;
	background: url(../images/footer-arr_off.png);
	margin: 0 auto;
	display: block;
}
#footer-arr-btn a:hover{
	background: url(../images/footer-arr_on.png);
}

#footer-copy{
	border-top: 1px solid #dbdbdb;
	padding: 40px 0;
	text-align: center;
	font-family: 'Montserrat';
	font-weight: 700;
	font-size: 88%;
}
#page-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    font-size: 77%;
}
#page-top a,
#page-top a:visited{
    background: #FFF;
    text-decoration: none;
    color: #fff;
    padding: 15px;
    text-align: center;
    display: block;
    border-radius: 50%;
	border:1px solid #CFCFCF;
}
#page-top a:hover {
    text-decoration: none;
    background:#F0F0F0;
}
#page-top a:before{
	content: "";
	display:block;
width: 9px;
height: 9px;
border-top: 4px solid #9d9d9d;
border-right: 4px solid #9d9d9d;
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
}

@media screen and (min-width:999px) and ( max-width:1110px)
{
  li.text a, li.icon a { padding-left: 24px; padding-right:24px; }
}

/*-----------------------------------------
	999
------------------------------------------*/
@media only screen and ( max-width: 999px ) {
	#logo{
		padding: 4px 0;
		margin: 0 0 0 -10px;
		float: left;
	}

	#logo img{
		height: auto;
		width: 150px;
	}

	nav{
		display: none;
		top: 45px;
		width: 100%;
		position: absolute;
		clear: both;
	}

	ul#globalnavi {
		display: block;
		clear: both;
	}

	ul#globalnavi li{
		width: 100%;
		border-top: 1px solid #dbdbdb;
	}

	li.text a{
		padding: 20px 0;
	}

	li.icon a{
		width: 100%;
		padding: 18px 0;
	}

	ul.snslist{
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		position: static;
		margin: -1px 0 0 -1px;
	}

		#globalnavi ul.snslist li {
		width: 49.5%;
	}

	#globalnavi ul.snslist li:nth-child(3) {
		border-top: none;
		border-bottom: none;
		border-right: 1px solid #dbdbdb;
	}

	#globalnavi ul.snslist li:nth-child(3) a {
		border-bottom: none;
	}

	#globalnavi a.sp-hide{
		display: none;
	}

	#toggle{
		display: block;
		position: relative;
		margin-left: auto;
		padding: 7px;
		border-left: 1px solid #dbdbdb;
		font-family: 'Montserrat';
		font-weight: 700;
		font-size: 69%;
		vertical-align: center;
	}

	#toggle-menu{
		float: left;
		margin: 10px 10px 10px 0;
	}

	#toggle-btn{
		float: right;
		height: 30px;
		width: 30px;
		display: block;
		position: relative;
	}

	#toggle-btn{
		display: inline-block;
		position: relative;
		width: 30px;
		height: 30px;
	}

	#toggle-btn-icon{
		display: block;
		position: absolute;
		top: 50%;
		left: 25%;
		width: 25px;
		height: 3px;
		margin: -1px 0 0 -7px;
		background: #999999;
		-webkit-transition: .2s;
		transition: .2s;
	}

	#toggle-btn-icon:before, #toggle-btn-icon:after{
		display: block;
		content: "";
		position: absolute;
		top: 35%;
		left: 0;
		width: 25px;
		height: 3px;
		background: #999999;
		-webkit-transition: .3s;
		transition: .3s;
	}

	#toggle-btn-icon:before{
		margin-top: -7px;
	}
	#toggle-btn-icon:after{
		margin-top: 5px;
	}

	#toggle-btn .close{
		background: transparent;
		top: 13px;
	}
	#toggle-btn .close:before, #toggle-btn .close:after{
		margin-top: 0;
	}
	#toggle-btn .close:before{
		transform: rotate(-45deg);
		-webkit-transform: rotate(-45deg);
	}
	#toggle-btn .close:after{
		transform: rotate(-135deg);
		-webkit-transform: rotate(-135deg);
	}

	#footer-nav{
		display: none;
	}

	#footer-bnr{
		display: none;
	}


}

/*-----------------------------------------
	768
------------------------------------------*/
@media only screen and ( max-width: 768px ) {
	span.category-box-news{
		display: inline;
		width: auto;
		float: left;
		font-weight: bold;
		color: #ffffff;
		padding: 3px 5px 2px 5px;
		text-align: center;
		font-size: 50%;
		margin: 0 0 0 10px;
	}
}

/*-----------------------------------------
	480
------------------------------------------*/
@media only screen and ( max-width: 480px ) {

	h2.section-title{ font-size: 125%; }

	#wrapper{ clear: both; }

	/*-- ボタンサイズ  --*/
	a.white, a.white220, a.white-icon, a.white-arr{
		width: 100%;
		padding: 17px 0;
	}

	.white:after,.white220:after,.white-icon:after, a.white-arr:after{ top: 15px !important; }

	.box-1column-btn-area:last-child > a.btn-blk{
		margin:-29px auto 16px;
	}

	.container{
		width: auto;
		padding: 30px;
	}

	#footer-copy{
		font-size: 62%;
		padding: 20px;
	}
}
