@charset "utf-8";

/*********************
 main_top
*********************/
#main_top{
	position:relative;
	width:100%;
	padding:0;
}
#main_top #top_image{
	display: block;
	height: 600px;
	object-fit: cover;
	width:100%;
	object-position: right bottom;
}
#main_top .imgBox{
	position:absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	width:100%;
	max-width:1024px;
	color:#fff;
}
#main_top .imgBox img{
	position:absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto 0;
	width: 60vw;
	max-width: 60%;
}

/*********************
 term_banner
*********************/
#term_banner{
	width:100%;
	max-width:1024px;
	padding:60px 0 0;
	margin:0 auto;
}
#term_banner img{
	width:100%;
}

/*********************
 japan_map
*********************/
#japan_map{
	padding:40px 0 40px;
	margin:0 auto;
	background-image:url(../img/japan_map_bg.jpg);
	background-position:bottom;
	background-repeat: repeat-x;
}
#japan_map h1{
	font-size:1.8em;
	color:#004ea2;
	margin-bottom:30px;
}
#japan_map h1 span{
	display:inline-block;
	font-size:.6em;
	padding-left:20px;
}
#japan_map article{
	margin:0 auto;
	max-width:1024px;
}
#japan_map div{
	padding-bottom:15px;
	width:100%;
}
#japan_map img.japanmap{
	width:55%;
}
#japan_map #office{
	width:45%;
	margin-left:30px;
	border:1px solid #333;
	padding:30px 20px;
	background:#fff;
}
#japan_map h2{
	font-size:1em;
	color:#004ea2;
	border-left:7px solid #004ea2;
	padding-left:5px;
	height: 20px;
	line-height: 20px;
}
#japan_map h2 img{
	vertical-align: baseline;
	width:50px;
}
#japan_map p{
	padding-left:5px;
	font-size:0.8em;
	margin:10px 0 20px;
	line-height: 1.4em;
}
#japan_map p:last-child{
	margin-bottom:0;
}

#japan_map #global_banner{
	width:100%;
}

/*********************
 service
*********************/
#service{
	padding:100px 0 40px;
	margin:0 auto;
}
#service h1{
	font-size:1.8em;
	color:#004ea2;
	margin:0 auto 30px;
	max-width:1024px;
}
#service article.iconBox{
	background: linear-gradient(180deg, #fff 0%, #fff 80%, #81d7ff 80%, #81d7ff 100%);
	padding-bottom:40px;
	max-width:1100px;
	margin:0 auto 30px;
}
#service ul{
	margin:0 auto;
	max-width:1024px;
}
#service li{
	margin-right:20px;
	background:#fff;
}
#service li:nth-child(3n){
	margin-right:0;
}
#service li a{
	position:relative;
	display:block;
	color:#333;
}
#service li img{
	width:100%;
}
#service li div{
	position: absolute;
	bottom:0;
	left:0;
	background:rgba(255,255,255,0.9);
	width:100%;
	font-weight:normal;
	padding:10px;
	letter-spacing: .0em;
}
#service li div h2{
	font-size:1.1em;
	font-weight:bold;
	margin-bottom:3px;
	letter-spacing: .1em;
}
#service li div p{
	display:none;
	line-height:1.4em;
	font-size:0.8em;
/*	padding-right:40px;*/
}
/*
#service li div p::after {
	content: url('../img/arrow01.png');
	display: inline-block;
	position: absolute;
	right:10px;
	bottom:15px;
}
*/

/*********************
 info
*********************/
#info{
	padding:60px 0 20px;
	margin:0 auto;
}
#info h1{
	font-size:1.8em;
	color:#004ea2;
	margin:0 auto 30px;
	max-width:1024px;
}
#info ul{
	width:100%;
	max-width:1024px;
	margin:0 auto 30px;
}
#info a{
	text-align:left;
	display:block;
	text-decoration:none;
	color:#333;
	padding:20px 15px;
	margin-top:-1px;
	border-top:1px solid #999;
	border-bottom:1px solid #999;
}
#info a font{
	display:inline-block;
	margin-right:30px;
	color:#777;
}
#info a p{
	display:inline-block;
}
#info div{
	max-width:1024px;
	text-align:right;
	margin:0 auto;
}
#info a.more_btn{
	text-align:center;
	position:relative;
	display:inline-block;
	text-decoration:none;
	color:#fff;
	background:#004ea2;
	padding:12px 30px;
	width:300px;
}
#info a.more_btn::after {
	content: '';
	display: inline-block;
	width: 16px;
	height: 12px;
	background-image: url('../img/arrow02.png');
	background-size: contain;
	vertical-align: middle;
	display: inline-block;
	position: absolute;
	top: 50%;
	right:10px;
	transform: translate(-50%,-50%);
}

/*********************
 menu
*********************/
#menu{
	padding:50px 0 80px;
	text-align:center;
}
#menu article{
	background: linear-gradient(180deg, #fff 0%, #fff 80%, #81d7ff 80%, #81d7ff 100%);
	padding-bottom:40px;
	margin-bottom:30px;
	max-width:1100px;
	margin:0 auto;
}
#menu h1{
	font-size:1.8em;
	color:#004ea2;
	margin:0 auto 30px;
	max-width:1024px;
	text-align:left;
}
#menu .slideBox{
	width:calc(100% - 50px);
	max-width:1024px;
	margin:0 auto;
}
#menu li{
	display:block;
	width:calc(100%/4);
	margin:10px;
	text-align:center;
	background:#fff;
}
#menu li a{
	color:#333;
	position:relative;
	display:block;
	text-align:left;
}
#menu li img{
	width:100%;
	max-width:400px;
}
#menu li div.textBox{
	position: absolute;
	bottom:0;
	left:0;
	height:95px;
	background:rgba(255,255,255,0.9);
	width:100%;
	font-weight:normal;
	padding:10px;
	letter-spacing: .0em;
	word-break: break-all;
}
#menu li div.textBox h2{
	font-size:1.1em;
	margin-bottom:5px;
	font-weight: normal;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
#menu li div.textBox p{
	font-size:0.8em;
	line-height:1.5em;
	height:39px;
/*	padding-right:40px;*/
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
/*
#menu li div.textBox p::after {
	content: url('../img/arrow01.png');
	display: inline-block;
	position: absolute;
	right:10px;
	bottom:10px;
}
*/
#menu .morebtnBox{
	max-width:1024px;
	margin:20px auto 0;
	text-align:right;
}
#menu a.more_btn{
	position:relative;
	text-align:center;
	display:inline-block;
	text-decoration:none;
	color:#fff;
	background:#004ea2;
	padding:12px 30px;
	width:300px;
}
#menu a.more_btn::after {
	content: '';
	display: inline-block;
	width: 16px;
	height: 12px;
	background-image: url('../img/arrow02.png');
	background-size: contain;
	vertical-align: middle;
	display: inline-block;
	position: absolute;
	top: 50%;
	right:10px;
	transform: translate(-50%,-50%);
}
