html {
	font-size: 62.5%;
}

body {
	font-size: 1.7rem;
	font-family: 'Noto Sans JP', sans-serif;
	color:#464646;
}

.h1 {font-size:3.5rem; font-weight:700; color:#009ED0; letter-spacing:0.1em;}
.h2 {font-size:2.8rem; font-weight:600; color:#009ED0; letter-spacing:0.2em;}
.h3 {font-size:1.9rem;}
a {color:#464646; text-decoration: none;}

header {
	padding:35px 0;
	margin-bottom:45px;
	border-bottom: solid 1px #009ED0;
}

a.btn, a.btn-blue {
	font-size: 1.5rem;
	background-color: #009ED0;
	color:#fff;
	border:solid 1px #009ED0;
	border-radius: 1.5em;
	padding:0.5em 1.5em 0.5em 3em;
	text-decoration: none;
}
a.btn::after, a.btn-blue::after {
	font-family: FontAwesome;
    content: "\f144";
	margin-left:1.5em;
}
a.btn {
	background-color: #fff;
	color:#464646;
	border:solid 1px #464646;
}
a.btn:hover {
	background-color: #464646;
	color:#fff;
}
a.btn-blue:hover {
	background-color: #fff;
	color:#009ED0;
}

img.logo {
	max-height: 40px;	
}

/*
#main-photo {margin-bottom:105px;}
*/

#newslist {margin:1em 0 75px 0;}
#newslist div:first-child {border-top:solid 1px #DBDBDB;}
#newslist div {
	border-bottom:solid 1px #DBDBDB;
	padding: 1em 0;
	background-image: url('../images/icon_arrow.png');
	background-size:15px;
	background-repeat: no-repeat;
	background-position: right;
}
#newslist a {display: block;}
#newslist span.date {font-size:1.7rem;}
#newslist span.type {
	display: inline-block;
	text-align: center;
	font-size:1.4rem;
	background-color: #009ED0;
	color:#fff;
	border-radius: 1.5em;
	padding:0.2em 0 0.25em 0;
	margin:0 1em;
	min-width: 108px;
}
#newslist span.title {font-size:1.7rem;}

#newsdetail {margin:1em 0 75px 0;}
#newsdetail h1 {margin-bottom: 0.5em;}
#newsdetail  div:first-child {
	text-align: center;
	border-top:solid 1px #DBDBDB;
	padding: 2em 0;
}
#newsdetail span.date {
	font-size:1.7rem;
}
#newsdetail span.type {
	display: inline-block;
	text-align: center;
	font-size:1.4rem;
	background-color: #009ED0;
	color:#fff;
	border-radius: 1.5em;
	padding:0.2em 0 0.25em 0;
	margin:0 1em;
	min-width: 108px;
}
#newsdetail span.title {
	display: block;
	font-size:1.7rem;
}

#company {
	margin-bottom:80px;
	border:solid 4px #DBDBDB;
	border-radius: 1em;
	padding:50px 45px 40px 45px;
}
#company .h2 {
	border-bottom: solid 1px #DBDBDB;
	padding-bottom: 20px;
	margin-bottom:30px;
	text-align: center;
}
#company th {
	font-size:1.3rem;
	font-weight: 600;
	color:#009ED0;
	padding-right:35px;
	padding-bottom: 10px;
	white-space:nowrap;
}
#company td {
	font-size:1.3rem;
	padding-bottom: 10px;
}

footer {
	background-color: #009ED0;
	font-size: 1.8rem;
	color:#fff;
	text-align: center;
	line-height: 50px;
}



/*------------------------------------------------------------------------------
  visual
------------------------------------------------------------------------------*/

.visual {
  margin: auto auto 105px auto;
  position: relative;
}

.visual .mask {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  color: #fff;
}

.visual .txt {
  font-size: 0;
  line-height: 1;
  white-space:nowrap;
  position: absolute;
    top: 68%;
    left: 50%;
	transform: translate(-50%, -50%) scale(0.89, 1);
    -webkit-transform: translate(-50%, -50%) scale(0.89, 1);
    -ms-transform: translate(-50%, -50%) scale(0.89, 1);
}

.visual .line {
  display: block;
  font-family: 'Roboto Condensed', sans-serif;
  font-weight:800;
  font-size: 82px;
}


.visual .line,
.visual .letter {
  opacity: 0;
}

.visual .letter {
  display: inline-block;
  padding-top: 5px;
}

.visual .large {
  font-size: 100px;
}

.visual.is-visible .line {
  opacity: 1;
}

.visual.is-visible .letter {
  animation: slideIn .8s cubic-bezier(0,1.2,.13,1.5) forwards;
}

@keyframes slideIn {
  0% {
    opacity: 0;
    transform: translate3d(-100px,0,0);
  }
  100% {
    opacity: 1;
    transform: translate3d(0,0,0);
  }
}

/* IEEEdgep */

.ie .visual .mask.normal,
.edge .visual .mask.normal {
  color: #004480;
  opacity: 0.7;
}

.ie .visual .mask.burn,
.edge .visual .mask.burn {
  display: none;
}




@media (max-width: 575.98px) {

	.h1 {font-size:3rem; letter-spacing:0.05em;}
	.h2 {font-size:2.3rem; letter-spacing:0.1em;}
	.h3 {font-size:1.4rem;}

	a.btn, a.btn-blue {
		font-size: 1.5rem;
		padding:0.5em 0.5em 0.5em 2em;
	}

	header {margin-left:0.5em; margin-right:0.5em;}
	#main-photo {margin-bottom:1.5em;}
	#newslist span.title {display:block; margin-top:0.25em;}
	span.date {font-size:1.5rem !important;}
	span.type {font-size:1.2rem !important; min-width:80px !important;}
	#company {
		padding:50px 25px 40px 25px;
	}
	footer {font-size:1.4rem;}

	.visual {
		margin-bottom:1em;
	}
	.visual .line {
		font-size: 56px;
	}

}
