html,body {
	width: 100%;
	height: 100%;
	margin: 0 auto;
}
#firstCol #news .wrapper #detail #tab1 .listbox iframe {
    width: 980px;
    height: 194px;
    border: none;
}
#container {
    position: absolute;
    top: 0;
    left: 0;
    width: 980px;
    height: 100%;
}

body {
    color: #fff;
    font-size: medium;
    line-height: 1.4em;
    font-family: 'Lucida Grande', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
}


h1, h2, h3, h4, h5, h6 {
	margin: 0;
}

 h2 {
	font-size: 70px;
	font-family: Helvetica;
 }

 h3 {
	 font-size: 30px; letter-spacing: 0.1em;
	 margin: 0 0 35px;
 }
 h4 {
	 font-size: 20px; letter-spacing: 0.1em;
	 margin: 0 0 35px;
 }
 h5 {
	 font-size: 15px; letter-spacing: 0.1em;
	 margin: 0 0 35px;
 }
 
ul,  li, dl, dt, dd  {
	margin: 0;
	list-style-position: outside;
	padding: 0;
}

a img {
    border-style:none;
}

.wrapper {
	position: relative;
	width: 980px;
	margin-top: 0;
	margin-right: auto;
	margin-bottom: 0;
	margin-left: auto;
	padding-top: 0;
	padding-right: 10px;
	padding-bottom: 0;
	padding-left: 10px;
	/* border: 1px solid #000; */
}

.orange {
	color: #ec7000;
}
.navy {
  color: #23688f;
}
.fade {
	opacity: 0;
}

.clear {
	clear: both;
}

.bold{
	font-weight:bold;
	}

.p10{
	padding:10px;
	}
.p15{
	padding:15px;
	}
.p20{
	padding:20px;
	}
.pl10{
	padding-left:10px;
	}
.pl15{
	padding-left:15px;
	}
.pl20{
	padding-left:20px;
	}
.pr10{
	padding-right:10px;
	}
.pr15{
	padding-right:15px;
	}
.pr20{
	padding-right:20px;
	}
.dis_block{
	display:block;
	}

.txt_center{
text-align: center !important;
}
.txt_left{
text-align:left !important;
}
.txt_right{
text-align:right !important;
}

.txt_floatR{
float: right;
}
.txt_floatL{
float: left;
}

.bg_gray{
background: #444;
}

.bg_yellow{
	background-color: #ffffcc;
}

.red{
	color: #ff0000;
}

.fontsize130 {
  font-size: 130% !important;
}

.pc-only {
  display: block;
}
/* firstCol -------------------------------------------------------------------------*/

#firstCol {
    position: relative;
    top: 0;
    z-index: 9;
    width: 100%;
    margin-top: 750px;
}



/* header -------------------------------------------------------------------------*/

#header {
	position: fixed; z-index: 0; top: 0; left: 0;
	height: 640px; width: 100%; margin: 0;
	text-align: center;
}

#header {
    position: fixed;
    z-index: 0;
    top: 120px;
    left: 0;
    height: 750px;
    width: 100%;
    margin: 0;
    text-align: center;
}

#header h2,
#header h3 {
    display: none;
    position: absolute;
    width: 100%;
    letter-spacing: 0.2em;
    text-align: center;
    margin: 0 auto;
}

#header h2 {
    top: 75px;
}

#header h3 {
    top: 145px;
}
#header h2 img {
    width: 892px;
    height: 49px;
}

#header h3 img {
    width: 306px;
    height: 29px;
}

#header h1 {
    display: none;
    position: absolute;
    top: 235px;
    left: 50%;
    width: 122px;
    margin-left: -61px;
}

#header .navi-container {
    width: 100%;
    text-align: center;
    top: 250px;
    position: absolute;
    color:#333;
}
#header .navi-bn {
    width: 100%;
    text-align: center;
}
#header .navi-bn-txt01{
    margin: 0 auto 8px auto;
    font-size:28px;
    font-weight: bold;
}
#header .navi-bn-txt02{
    margin: 5px auto;
    font-size: 10px;
    line-height: 11px;
    color: #9C9C9C;
    width:400px;
}
#header .navi-info {
    margin: 20px auto ;
    width: 750px;
}
#header .navi-left {
    width:49%;
    float: left;
}
#header .navi-right {
    width:49%;
    float: right;
}
.video-top{
  position:relative;
  width:100%;
  padding-top:56.25%;
}
.video-top iframe{
  position:absolute;
  top:160px;
  right:0;
  width:100%;
}
.video-top .navi-title{
  position:absolute;
  top:0;
  right:0;
  width:100%;
}
.video-top .navi-title-sub {
  margin: 5px auto;
  font-size: 10px;
  line-height: 11px;
  color: #9C9C9C;
}
/* old navi -------*/
#header ul.navi  {
	display: none;
	position: absolute;
	top: 430px;
	left: 50%;
	width: 1015px;
	margin-left: -536px;
	overflow: hidden;
}
@media screen and (max-width:767px){
	#header ul.navi {
		display: none;
		margin: 0 auto;
		width: 80%;
		padding: 10px;
		overflow: hidden;
		text-align: center;
	}
}
#header .navi li {
    list-style-type: none;
    width: 18%;
    display: inline-block;
    text-align: center;
    padding: 5px;
}

#header .navi li img {
    width: 158px;
    height: 179px;
}

#header .navi li.nav-contact {
    width: 146px;
}

/* naviBar -------------------------------------------------------------------------*/

#naviBar {
	position: fixed; top: 0; left: 0; z-index: 1000;
	height: 132px; width: 100%;
	border-top: 5px solid #f4880d;
	overflow: hidden;
}

#naviBar .bar {
	position: absolute; top: 0; left: 0;
	width: 100%; height: 112px;
	background-color: #fff;
	/* box-shadow */
box-shadow:rgba(0, 0, 0, 0.247059) 0px 0px 5px 0px;
-webkit-box-shadow:rgba(0, 0, 0, 0.247059) 0px 0px 5px 0px;
-moz-box-shadow:rgba(0, 0, 0, 0.247059) 0px 0px 5px 0px;
}

#naviBar .pagetop {
	float: left;
}

#naviBar ul.navi  {
	position: relative;
	float: left;
	border-left: 1px solid #cccccc;
	margin-top: 30px;
	margin-right: 0;
	margin-bottom: 30px;
	margin-left: 34px;
}

#naviBar .navi li {
	float: left; list-style-type: none;
	height: 52px;
	border-right: 1px solid #cccccc;
}

.fixedBtn {
	position: fixed; bottom: 80px; right: 40px;
	z-index: 1000;
}

.contactBtn {
	position: fixed; z-index: 1000;
	top: 300px; right: 0;
}
.contactBtn2 {
	position: fixed;
	z-index: 1000;
	top: 510px;
	right: 0;
}




/* news -------------------------------------------------------------------------*/

#news {
    position: relative;
    z-index: 20;
    top: 380px;
    padding: 80px 0 0;
    background: url(../images/bg_news.jpg) no-repeat center 40px;
    background-size: cover;
    overflow: hidden;
}

#news .t-news {
    margin: 0 0 20px 4px;
}

#news #tab {
    zoom: 1;
    list-style: none;
    margin: 0 auto;
    padding: 0;
}

#news #tab:after {
    content: ".";
    display: block;
    height: 0px;
    clear: both;
    line-height: 0;
    visibility: hidden;
}

#news #tab li {
    float: left;
    margin: 0 4px 0 0;
}

#news #tab li:last-child {
    background: none;
}

#news #tab li a {
    display: block;
    width: 130px;
    height: 30px;
}

#news #tab li a span {
    display: none;
}

#news #tab li .press {
    background: url(../images/tab_press_off.gif) no-repeat 0 0;
}

#news #tab li .press:active,
#news #tab li .press:hover,
#news #tab li.active .press {
    background: url(../images/tab_press_on.gif) no-repeat 0 0;
}

#news #tab li .info {
    background: url(../images/tab_info_off.gif) no-repeat 0 0;
}

#news #tab li .info:active,
#news #tab li .info:hover,
#news #tab li.active .info {
    background: url(../images/tab_info_on.gif) no-repeat 0 0;
}

#news #tab li .media {
    background: url(../images/tab_media_off.gif) no-repeat 0 0;
}

#news #tab li .media:active,
#news #tab li .media:hover,
#news #tab li.active .media {
    background: url(../images/tab_media_on.gif) no-repeat 0 0;
}

#detail {
    clear: both;
    overflow: hidden;
    width: 980px;
    height: 230px;
    background: url(../images/bg_tab.png) repeat 0 0;
    margin-top: 0px;
    margin-right: auto;
    margin-bottom: 25px;
    margin-left: auto;
}

#news .entries {
    display: none;
    height: 230px;
    overflow: auto;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 10px;
    margin-left: 0px;
    overflow-y: hidden;
}

#news dl {
    font-size: small;
}

#news dt {
    float: left;
}

#news dd {
    margin-left: 8em;
    margin-bottom: 15px;
}

#news .tab-all {
    float: right;
    margin: 0 0 1px;
}

.listbox {
    float: left;
    width: 980px;
    height: 194px;
}

.btnlist {
    width: 980px;
    height: 36px;
    text-align: right;
    overflow: hidden;
    position: relative;
}

.news_tab_wrap {
    width: 100%;
}

.news_tab {
    width: 980px;
    margin: 0 auto 25px;
}

.bnr-area {
	 text-align: center;
}

.table_timetabls .col-left {
	width: 50%;
	float: left;
}
.table_timetabls .col-right {
	width: 50%;
	float: right;
}
.table_timetabls .col-left2 {
	width: 30%;
	float: left;
	margin-right: 3%;
}
.table_timetabls .col-right2 {
	width: 33%;
	float: right;
}
.table_timetabls .title {
	margin: 5px 0 !important;  
}
.table_timetabls strong {
	 margin-bottom: 0 !important;
	 padding-top: 0 !important;
	 border-bottom: none !important;
}
.table_timetabls .person {
	 margin-bottom: 10px !important;
	 border-left: solid 2px #0078C9 !important;
	 padding-left: 10px !important;
}


/* whats -------------------------------------------------------------------------*/

#whats {
    position: relative;
    z-index: 40;
    height: 1320px;
    padding: 0;
    text-align: center;
    background: #f7c177 url(../images/bg_whats.jpg) no-repeat center top;
    background-size: cover;
    overflow: hidden;
}

#whats .icons {
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 42;
    width: 1184px;
    height: 1000px;
}

#whats .icon1,
#whats .icon2,
#whats .icon3,
#whats .icon4,
#whats .icon5 {
    position: relative;
    top: 0;
    left: 0;
    margin: 20px;
}

.icon-desktop {
    position: absolute;
    top: 142px;
    left: -556px;
}

.icon-network {
    position: absolute;
    top: -8px;
    left: -170px;
}

.icon-server {
    position: absolute;
    top: 94px;
    left: 256px;
}

.icon-smartphone {
    position: absolute;
    top: 536px;
    left: -652px;
}

.icon-mobile {
    position: absolute;
    top: 780px;
    left: -326px;
}

.icon-tablet {
    position: absolute;
    top: 784px;
    left: 186px;
}

.icon-database {
    position: absolute;
    top: 432px;
    left: 388px;
}

.icon-cloud {
    position: absolute;
    top: 174px;
    left: -480px;
}

#whats h2 {
    display: block;
    position: relative;
    z-index: 44;
    margin: 225px 0 65px;
}

#whats h3 {
    display: block;
    position: relative;
    z-index: 45;
}

#whats .txts {
    position: relative;
    z-index: 46;
    width: 700px;
    margin: 0 auto;
    font-size: 14px;
    text-align: center;
}

#whats ul {
    position: relative;
    z-index: 43;
	width: 550px;
    margin: 95px auto 0;
    overflow: hidden;
}

#whats li {
    float: left;
	margin-bottom: 20px;
    list-style-type: none;
    width: 180px;
    text-align: center;
}

#mov {
    position: relative;
    top: 0;
    left: 0;
    height: 1px;
    width: 100%;
    padding: 0;
}


/* movie -------------------------------------------------------------------------*/

#movie {
	position: relative; top: 0; left: 0; z-index: 47;
	height: 320px; width: 100%;
	padding: 0;
	text-align: center;
	background-color: #000;
	overflow: hidden;
}

#movie .clip {
	position: absolute; z-index: 200;
	height: 320px; width: 570px;
	margin: 0; padding: 0;
	top: 0; left: 0; right: 0; bottom: 0;
	margin: auto;
	background: url(../images/movie_off.jpg) 50% 50% no-repeat fixed;
}
#movie .clip:hover {
	background: url(../images/movie_on.jpg) 50% 50% no-repeat fixed;
}

/* secondCol -------------------------------------------------------------------------*/

#secondCol {
    position: relative;
    top: -320px;
    z-index: 30;
    height: 110%;
    width: 100%;
}

/* slider -------------------------------------------------------------------------*/

#slider {
    position: absolute;
    top: 0;
    z-index: 39;
    height: 100%;
    width: 100%;
}

.slidePos {
    width: 100%;
    height: 50px;
    margin-bottom: 100px;
}

.bl {
    width: 100%;
    height: 50px;
    margin-bottom: 50px;
}


/* business -------------------------------------------------------------------------*/

#business {
    position: relative;
    top: 0;
    left: 0;
    z-index: 30;
    height: 100%;
    width: 100%;
    padding: 0;
    text-align: center;
    background: url(../images/bg_business.jpg) no-repeat center top;
    background-size: cover;
    overflow: hidden;
    -webkit-transform: translate3d(0, 0, 0);
}

#business .wrapper {
    overflow: hidden;
}

#business h2 {
    display: block;
    margin: 195px 0 50px;
}

#business h2,
#business h3 {
    position: relative;
    z-index: 37;
    opacity: 0;
}

#business .txts {
    position: relative;
    z-index: 37;
    width: 560px;
    margin: 0 auto;
    font-size: 14px;
    text-align: center;
    opacity: 0;
}

#buildings {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

#building01,
#building02,
#building03,
#building04,
#building05,
#building06,
#building07,
#building08 {
    position: absolute;
    bottom: -605px;
    left: 0;
    width: 100%;
    height: 605px;
}

#building01 {
    z-index: 31;
    background: url(../images/buiding01.gif) no-repeat center top;
}

#building02 {
    z-index: 32;
    background: url(../images/buiding02.gif) no-repeat center top;
}

#building03 {
    z-index: 33;
    background: url(../images/buiding03.gif) no-repeat center top;
}

#building04 {
    z-index: 34;
    background: url(../images/buiding04.gif) no-repeat center top;
}

#building05 {
    z-index: 35;
    background: url(../images/buiding05.gif) no-repeat center top;
}

#business .wrapper-nav {
    position: fixed;
    bottom: -240px;
    left: 0;
    z-index: 36;
    width: 100%;
    height: 240px;
    background-color: #2A597D;
    overflow: hidden;
}

#business ul {
    position: relative;
    width: 720px;
    margin: 45px auto;
    overflow: hidden;
}

#business li {
    float: left;
    list-style-type: none;
    width: 180px;
    text-align: center;
}

/* thirdCol -------------------------------------------------------------------------*/

#thirdCol {
    position: relative;
    top: 150%;
    z-index: 59;
    background-color: #444444;
    -webkit-transform: translate3d(0, 0, 0);
}

#thirdCol.base {
    top: 40px !important;
}



/* messege -------------------------------------------------------------------------*/

#messege {
    position: relative;
    top: 0;
    z-index: 70;
    padding: 0;
    height: 880px;
    text-align: center;
    color: #000;
    overflow: hidden;
}

#messege .bg {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 71;
    height: 880px;
    width: 100%;
    background: url(../images/bg_messege.jpg) no-repeat center top;
    background-size: cover;
}

#messege .wrapper {
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 79;
    width: 980px;
    margin-left: -490px;
}

#messege h2 {
    display: block;
    position: relative;
    z-index: 78;
    margin: 185px 0 50px;
}

#messege h3 {
    position: relative;
    z-index: 78;
    letter-spacing: 0;
}

#messege .txts {
    position: relative;
    top: 60px;
    left: 442px;
    z-index: 78;
    width: 518px;
    font-size: 12px;
    text-align: center;
    background: url(../images/bg_messege.png) repeat 0 0;
    opacity: 0;
}

#messege .txts p {
    display: block;
    padding: 45px;
}

#messege .txts img {
    margin-bottom: 45px;
}

#messege #imgicon {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 72;
    width: 100%;
    height: 880px;
}

#img01,
#img02,
#img03,
#img04,
#img05 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 880px;
    opacity: 0;
}

#img01 {
    z-index: 73;
    background: url(../images/messege_01.png) no-repeat center 400px;
    opacity: 1;
}

#img02 {
    z-index: 74;
    background: url(../images/messege_02.png) no-repeat center 400px;
}

#img03 {
    z-index: 75;
    background: url(../images/messege_03.png) no-repeat center 400px;
}

#img04 {
    z-index: 76;
    background: url(../images/messege_04.png) no-repeat center 400px;
}

#img05 {
    z-index: 77;
    background: url(../images/messege_05.png) no-repeat center 400px;
}


/* IR -------------------------------------------------------------------------*/

#IR {
    position: relative;
    z-index: 67;
    height: 800px;
    padding: 0;
    text-align: center;
    background: #a8e4e5 url(../images/bg_ir.jpg) no-repeat center top;
    background-size: cover;
    overflow: hidden;
}

#IR .icons {
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 68;
    width: 1500px;
    height: 800px;
}

#IR .icon1,
#IR .icon2,
#IR .icon3,
#IR .icon4,
#IR .icon5 {
    position: relative;
    top: 0;
    left: 0;
    margin: 20px;
}

.icon-a {
    position: absolute;
    top: 48px;
    left: -810px;
}

.icon-b {
    position: absolute;
    top: 420px;
    left: -628px;
}

.icon-c {
    position: absolute;
    top: 10px;
    left: -254px;
}

.icon-d {
    position: absolute;
    top: 174px;
    left: 150px;
}

.icon-e {
    position: absolute;
    top: 28px;
    left: 328px;
}

.icon-f {
    position: absolute;
    top: 338px;
    left: 476px;
}

.icon-g {
    position: absolute;
    top: 122px;
    left: 590px;
}

.icon-paper1 {
    position: absolute;
    top: 112px;
    left: -564px;
}

.icon-paper2 {
    position: absolute;
    top: 236px;
    left: -156px;
}

#IR h2 {
    display: block;
    position: relative;
    z-index: 69;
    margin: 190px 0 40px;
    color: #272727;
}

#IR h3 {
    display: block;
    position: relative;
    z-index: 69;
    color: #272727;
}

#IR .txts {
    position: relative;
    z-index: 69;
    width: 700px;
    margin: 400px auto 0;
    font-size: 14px;
    text-align: center;
}

#mov2 {
    position: relative;
    top: 0;
    left: 0;
    height: 1px;
    width: 100%;
    padding: 0;
}


/* recruiting -------------------------------------------------------------------------*/

#recruiting {
    position: relative;
    top: -40px;
    z-index: 60;
    padding: 0;
    height: 1070px;
    text-align: center;
    background: url(../images/bg_recruiting.jpg) no-repeat center top;
    background-size: cover;
}

#recruiting .wrapper {
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 66;
    margin-left: -490px;
}

#recruiting .wrapper2 {
    position: absolute;
    top: 120px;
    left: 0;
    width: 960px;
    text-align: center;
}

#recruiting h2 {
    display: block;
    margin: 70px 0 40px;
}

#recruiting .txts {
    position: absolute;
    top: 200px;
    left: 10px;
    width: 960px;
    padding: 20px 0;
    margin: 0 auto;
    text-align: center;
}

#recruiting .txt-inner {
    opacity: 0;
}

#recruiting h4 {
    margin-bottom: 15px;
    font-size: 30px;
    color: #f97dbc;
}

#recruiting h5 {
    font-size: 20px;
}

#recruiting table {
    /*margin: 0 10px;*/
    margin: 0 auto;
}

#recruiting .movie2 {}

#recruiting ul {
    position: absolute;
    top: 640px;
    left: 50%;
    width: 530px;
    margin: 45px 0 0;
    margin-left: -265px;
    overflow: hidden;
}

#recruiting li {
    float: left;
    list-style-type: none;
    width: 150px;
    margin-right: 40px;
}

#recruiting li.lastchild {
    margin-right: 0;
}

#recruiting .flowers {
    position: absolute;
    top: 70px;
    left: 0;
    z-index: 61;
    width: 100%;
    height: 1000px;
    background: url(../images/flower_04.png) no-repeat center top;
}

#flower01,
#flower02,
#flower03,
#flower04 {
    position: absolute;
    top: 610px;
    left: 0;
    width: 100%;
    height: 460px;
    opacity: 0;
}

#flower01 {
    z-index: 62;
    background: url(../images/flower_01.png) no-repeat center top;
    opacity: 1;
}

#flower02 {
    z-index: 63;
    background: url(../images/flower_02.png) no-repeat center top;
}

#flower03 {
    z-index: 64;
    background: url(../images/flower_03.png) no-repeat center top;
}

#flower04 {
    z-index: 65;
    background: url(../images/flower_04.png) no-repeat center top;
}


/* footer -------------------------------------------------------------------------*/

#footer {
    position: relative;
    top: -40px;
    z-index: 80;
    padding: 40px 0 0;
    text-align: center;
    color: #fff;
}

#footer.base {
    top: 0px;
}

#footer ul {
    width: 960px;
    margin: 0 auto 60px;
    overflow: hidden;
}

#footer li {
    float: left;
    list-style-type: none;
    width: 145px;
    margin-right: 18px;
    font-size: small;
    text-align: left;
}

#footer li.lastchild {
    margin-right: 0;
}

#footer dt {
    width: 145px;
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid #666666;
}

#footer dd {
    width: 145px;
    color: #ccc;
}

#footer a:link,
#footer a:visited {
    color: #ccc;
    text-decoration: none;
}

#footer a:active,
#footer a:hover {
    color: #ccc;
    text-decoration: underline;
}

#footer .links {
    width: 960px;
    padding: 10px 0;
    margin: 0 auto 40px;
    font-size: small;
    text-align: center;
    border-top: 1px solid #666666;
    border-bottom: 1px solid #666666;
    overflow: hidden;
}

#footer .links.toplinks {
    margin: 0 auto;
}

#footer .links a {
    margin: 20px 10px;
}

#footer .gptw {
	text-align: right;
	margin: 0 70px 0 0;
}
#footer .gptw img {
	width: 190px;
}

#copyright {
    position: relative;
    z-index: 85;
    padding: 10px 0;
    text-align: center;
    color: #fff;
    font-size: x-small;
    background-color: #000;
}


/*　下層ページ用スタイル　*/


/* テキスト装飾 */

.t-larger {
    font-size: larger !important;
}


/* テキスト位置 */

.t-aR {
    text-align: right;
}

.t-aC {
    text-align: center;
}

.t-aL {
    text-align: left;
}

.img_right {
    float: right;
    margin: 0 0 15px 15px;
}

.img_left {
    float: left;
    margin: 0 15px 15px 0;
}


/* マージン設定 */

.mbSS {
    margin-bottom: 0.5em !important;
}

.mbS {
    margin-bottom: 1em !important;
}

.mbM {
    margin-bottom: 2em !important;
}

.mbL {
    margin-bottom: 3em !important;
}

.mbLL {
    margin-bottom: 4em !important;
}

.mtLL {
    margin-top: 4em !important;
}

.mtSS {
    margin-top: 0.5em !important;
}

.mt5 {
    font-size: 11px;
    border-top: 1px solid #eee;
    padding: 10px 0 0 0;
    background: none;
    color: #444;
}

#cate_name {
    margin-top: 118px;
    height: 95px;
}

#cate_name p {
    width: 980px;
    padding-top: 38px;
    margin-top: 0px;
    margin-right: auto;
    margin-bottom: 0px;
    margin-left: auto;
}

#cate_name.company {
    background: url(../images/cate_company_bg.png) no-repeat center top;
}

#cate_name.contact {
    background: url(../images/cate_contact_bg.png) no-repeat center top;
}

#cate_name.recruit {
    background: url(../images/cate_recruit_bg.png) no-repeat center top;
}

#cate_name.news {
    background: url(../images/cate_news_bg.png) no-repeat center top;
}

#cate_name.service {
    background: url(../images/cate_service_bg.png) no-repeat center top;
}

#cate_name.message {
    background: url(../images/cate_message_bg.png) no-repeat center top;
}

#cate_base {
    margin-top: 100px;
    height: 25px;
    background: url(../images/bg_cate.png) repeat-x center top;
}


/* breadcrumb */

#breadcrumb {
    width: 980px;
    margin: 0px auto;
    padding: 20px 0;
}

#breadcrumb li {
    margin: 0;
    padding: 0 5px 0 0;
    display: inline;
    color: #333333;
    font-size: 10px;
    line-height: 1.0;
}

#breadcrumb li a {
    margin: 0 5px 0 0;
    color: #333333;
    text-decoration: none;
}


/* contact */
#contact .contact_box {
	text-align: center;
	background-color: #FCDDB5;
	padding: 30px 30px 10px;
	margin: 0 auto 30px;
	width: 75%;
}
#contact .contact_box span{
	font-size: 80%;
}
#contact .contact_box p{
	margin-bottom: 20px;
	font-size: 120%;
}
#contact .contact_box a{
	font-size: 190%;
}


/* contents */

#contents {
    width: 980px;
    margin: 0px auto;
    padding: 5px 0 20px 0;
    overflow: hidden;
    color: #333333;
    font-size: 12px;
    text-align: left;
}


/* sub */

#sub {
    width: 200px;
    margin: 0;
    padding: 0;
    float: left;
}

#local_nav {
    margin: 0 0 30px;
    padding: 0;
}

#local_nav li {
    margin: 0 0 1px;
    padding: 0;
}

#local_nav li a {
    display: block;
    margin: 0;
    padding: 9px 15px;
    color: #333333;
    text-decoration: none;
    background: url(../images/bg_nav.png) repeat-y left top;
}

#local_nav li a:hover,
#local_nav li a.current,
#local_nav li a.parentsLink {
    color: #FFF;
    background: url(../images/bg_nav_on.png) repeat-y left top;
}

#local_nav li.current a {
    color: #FFF;
    background: url(../images/bg_nav_on.png) repeat-y left top;
}

#sub dl {
    margin-bottom: 15px;
}

#sub dt {
    margin-bottom: 5px;
}

#sub dd {
    margin-bottom: 5px;
}
#sub .sub_banner a {
  position: relative;
  display: block;
  border: 4px solid #ddd;
  box-sizing: border-box;
  padding: 10px 8px 15px;
  width: 190px;
  height: 164px;
  text-decoration: none;
  transition: .2s;
}
#sub .sub_banner a:hover {
  opacity: .7;
}

#sub .sub_banner img {
  display: block;
  margin: 0 auto;
  width: 150px;
  height: 47px;
}
#sub .sub_banner h2 {
  text-align: center;
  color: #333;
  font-size: 13px;
  line-height: 1.2;
  margin: 7px 0;
}
#sub .sub_banner h2 em{
  color: #007bc7;
  font-style: normal;
  font-weight: bold;
}
#sub .sub_banner p {
  color: #333;
  line-height: 1.2;
  font-size: 11px;
  margin: 0;
  text-align: center;
}
/* main */

#main {
    width: 750px;
    margin: 0;
    padding: 0;
    float: right;
}

#main a {
    color: #23688f;
    text-decoration: none;
}

#main a:hover {
    color: #ffc600;
    text-decoration: none;
}

#main iframe {
    width: 700px;
}

/*-- 2015.4.7 add --*/
.exlink a{
	padding-right:14px;
	background:url(../images/ico_external_link.gif) no-repeat right center;
}
.exlink a:hover{
	padding-right:14px;
	background:url(../images/ico_external_link_o.gif) no-repeat right center;
}
/*-- 2015.4.7 add end --*/


#contents h1 {
    margin: 0;
    padding: 5px 0 15px;
    font-size: 24px;
    color: #666;
    line-height: 1.6;
}

#contents h1.line {
    margin-bottom: 30px;
    border-bottom: 5px #EEEEEE solid;
}

.publicnotice_h2{
    margin-bottom: 30px;
    margin-top: 50px;
    border-bottom: 5px #EEEEEE solid;
    font-size: 19px;
    padding-bottom: 10px;
    text-align: left;
    font-weight: bold;
    color: #666;
}

#main h2 {
    margin: 0;
    padding: 8px 0 8px 20px;
    color: #FFF;
    background: #888 url(../images/mark01.png) no-repeat left center;
    font-size: 17px;
    line-height: 1.5;
    font-weight: bold !important;
    letter-spacing: 1px;
}

#main #lead h2 {
    margin: 0 0 20px;
    background: none;
    padding: 0;
}

#main.recruit h2 {
    margin: 0 0 25px;
    padding: 10px 20px;
    font-size: 18px;
    background: url(../images/img_recruit04.png) no-repeat left center;
}

.rec_flow_txt {
    /*	width:45%;*/
}

.rec_flow_txt span {
    background: #f0f0f0;
    padding: 2px 5px;
    margin: 5px 0;
    display: inline-block;
    border-radius: 3px;
}

#main h2.lead {
    margin: 0 0 20px;
    padding: 0 0 10px;
    color: #F68500;
    font-size: 18px;
    font-weight: bold;
    background: none;
    border-bottom: 3px #E4E4E4 solid;
}

#main h3 {
    color: #FE8800;
    font-size: 14px;
    border-left: 5px #FE8800 solid;
    margin-top: 10px;
    margin-right: 0;
    margin-bottom: 10px;
    margin-left: 0;
    padding-top: 0;
    padding-right: 0;
    padding-bottom: 0;
    padding-left: 10px;
}

#main.recruit h3 {
    margin: 0 0 20px;
    padding: 5px 10px;
    color: #1A1A1A;
    font-size: 16px;
    border-left: 5px #FF6398 solid;
    background-color: #EEEEEE;
}

.rec_table {
    font-size: 13px;
}

#main p {
    margin: 0 0 40px;
    padding: 0;
    font-size: 13px;
}
#main .ir_message_txt p {
    margin: 0 0 20px;
    padding: 0;
    font-size: 13px;
}
#main ul,
#main ol {
    padding: 0;
    margin-top: 0;
    margin-right: 0;
    margin-bottom: 30px;
    margin-left: 25px;
}

#main ul.col2 {
    width: 800px;
    margin: 0 -50px 0 0;
    padding: 0;
    overflow: hidden;
}

#main ul.col2 li {
    margin: 0 50px 35px 0;
    padding: 0;
    float: left;
    list-style: none;
}


/* --- add 2015.3.10 --- */

#main ul.press {
    font-size: 13px;
}

#main ul.press li {
    margin-bottom: 10px;
}

#main ul.press li span {
    background-color: #FFFFCC;
}

#main dl.news_dlsec dt {
    font-size: 14px;
    font-weight: bold;
    color: #666;
}

#main dl.news_dlsec dd {
    padding: 0 0 0 40px;
}


/* --- add 2019.9.17 --- */

#main .linewrap {
	display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 25px;
}

#main .linewrap .linewrap-txt {
  margin: 0;
  width: 380px;
}

#main .linewrap .linewrap-img {
	margin-right: 20px;
  width: 600px;
  height: auto;
}
#main .linewrap .linewrap-img img {
  width: 100%;
}

#main .opa:hover {
  opacity: 0.8;
}

/* --------------------- */

#main table {
    width: 100%;
    margin: 0 0 30px;
    padding: 0;
    border-collapse: collapse;
    border-spacing: 0;
    border-top-width: 1px;
    border-top-style: solid;
    border-right-style: none;
    border-left-style: none;
    border-top-color: #EEEEEE;
    font-size: 14px;
}

#main th {
    white-space: nowrap;
    background-color: #F2FAFD;
    vertical-align: top;
    font-weight: normal;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-left-style: none;
    border-bottom-color: #EEEEEE;
    border-right-style: none;
    padding-top: 10px;
    padding-right: 20px;
    padding-bottom: 10px;
    padding-left: 20px;
}

#main td {
    vertical-align: top;
    border-bottom-width: 1px;
    border-right-style: none;
    border-bottom-style: solid;
    border-bottom-color: #EEEEEE;
    border-left-style: none;
    padding-top: 10px;
    padding-right: 0;
    padding-bottom: 10px;
    padding-left: 20px;
    text-align: left;
}

#main td img {
    margin-left: 10px;
    vertical-align: middle;
}

#main td strong {
    margin-bottom: 10px;
    padding-top: 15px;
    display: block;
    border-bottom: 1px #EEEEEE solid;
}

#main td li {
    margin: 15px 0;
    padding-left: 13px;
    list-style: none;
    background: url(../images/mark02.png) no-repeat 0px 5px;
}


/*採用情報の箇条書き*/
.recruit td ul {
	margin-bottom:0 !important;
}
.recruit td li {
	margin:0 0 0.8em 0 !important;
	padding:0 !important;
	list-style: disc !important;
	background: none !important;
}
.recruit td li:last-child {
	margin-bottom:0 !important;
}
/*--------------------*/

#main th.noline,
#main td.noline{
	border: none;
	padding-bottom: 0;
}


#main table.taA{
	border-left: 1px #EEEEEE solid;
}
#main table.taA th,
#main table.taA td{
	border-right: 1px #EEEEEE solid;
}

#main table.taB{
	width: 100%;
	border: none;
}
#main table.taB th{
	color: #FFFFFF;
	letter-spacing: 0.5em;
	background: url(../images/img_recruit05.png) no-repeat left top;
	border: none;
	vertical-align: top;
	padding-top: 5px;
	padding-right: 40px;
	padding-bottom: 5px;
	padding-left: 10px;
	text-align:left;
}
#main table.taB td{
	padding: 0 0 20px;
	border: none;
	vertical-align: top;
}
#main .flexstyle20,
#main .flexstyle35 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
}
#main .flexstyle20 img {
  width: 20%;
}
#main .flexstyle20 p {
  width: 75%;
}
#main .flexstyle35 img {
  width: 35%;
}
#main .flexstyle35 p {
  width: 60%;
}

/* index_nav */

#index_nav{
	width: 780px;
	margin: 0 -30px 0 0;
	padding: 0;
	overflow: hidden;
}

#index_nav li{
	width: 360px;
	margin: 0 30px 20px 0;
	padding: 0;
	float: left;
	font-size: 16px;
	font-weight: bold;
	border-radius: 2px;
	list-style: none;
}
#index_nav li a{
	display: block;
	color: #FFF;
	text-decoration: none;
	padding: 20px 0 20px 60px;
	background: #F68800 url(../images/mark03.png) no-repeat 30px center;
}



/* other */

#main #principles{
	text-align: center;
}
#main #principles h2{
	background: none;
	margin: 45px 0;
}


#main .executive{
	width: 750px;
	margin: 15px 0 0;
	padding: 15px 0;
	border-top: 2px #FA8800 solid;
	overflow: hidden;
}
#main .executive.list{
	margin: 0;
	padding: 15px 0 0;
	border-top: 1px #FA8800 solid;
}
#main .executive h3{
	margin: 0;
	padding: 0 0 15px 10px;
	color: #333;
	font-size: 20px;
	border: none;
}
#main .executive h3 em{
	margin: 0 0 5px;
	display: block;
	font-style: normal;
	font-size: 12px;
	font-weight: normal;
}
#main .executive h3 span{
	display: block;
	font-style: normal;
	font-size: 11px;
	font-weight: normal;
	display: inline-block;
	margin: 0 0 0 20px;
}
#main .executive table{
	margin: 0;
	border-top: 1px #FA8800 solid;
	width: 100%;
}
#main .executive td{
	padding: 10px;
}
#main .executive td.month{
	text-align: right;
	padding-right: 30px;
}
#main .executive tr:last-child th,
#main .executive tr:last-child td{
	border: none;
}
#main .executive p{
	margin: 0;
	padding: 0 0 0 10px;
}




#main .mapBox{
	margin: 0px 0 70px;
	padding: 24px;
	border: 1px #DDDDDD solid;
}
#main .mapBox table{
	margin: 10px 0 0;
}
#main .mapBox th{
	border-top: 1px #EEEEEE solid;
	border-bottom: none;
}
#main .mapBox td{
	border-top: 1px #EEEEEE solid;
	border-bottom: none;
}

#main ul#page_nav{
	clear: both;
	margin: 20px 0 30px;
	padding: 10px 0;
	text-align: center;
	overflow: hidden;
	background-color: #EEEEEE;
}
#main ul#page_nav li{
	margin: 0;
	padding: 0 10px;
	display: inline;
	border-left: 1px #5F84F2 solid;
}
#main ul#page_nav li:last-child{
	color: #5F84F2;
}
#main ul#page_nav li a{
	color: #5F84F2;
}

#main p b.emphasis{
	border-bottom: 1px solid #000;
}



#page_link{
	width: 760px;
	margin: 0 -10px 15px 0;
	padding: 0;
	overflow: hidden;
}
#page_link li{
	width: 370px;
	margin: 0 10px 0 0;
	padding: 0;
	float: left;
	list-style: none;
	background: #FA8800;
}
#page_link li a{
	padding: 10px 15px;
	display: block;
	color: #FFFFFF;
	text-decoration: none;
	font-size: 14px;
	font-weight: bold;
}
#page_link li span{
	padding-top: 10px;
	color: #B2B2B2;
	display: block;
	background: #FFF;
}



#message{
	height: 890px;
	background: url(../images/bg_message.png) no-repeat center top;
}

#message p{
	padding: 440px 80px 0;
	line-height: 2.0;
}


#main #news_list p{
	margin: 0 0 15px;
	cursor: pointer;
	display: block;
	color: #FFFFFF;
	font-size: 14px;
	font-weight: bold;
}

#main #news_list p span{
	padding: 10px 15px;
	display: block;
	background:#AAAAAA url(../images/mark05.png) no-repeat 98% center;
}
#main #news_list p span.nowOpen{
	background:#AAAAAA url(../images/mark04.png) no-repeat 98% center;
}

#main .switchDetail {
	margin: 0 0 20px;
	padding: 0 0 0 20px;
	border-top: 1px #EEEEEE solid;
}


#main #news_list dl{
	padding: 10px 15px;
	overflow: hidden;
	border-bottom: 1px #EEEEEE solid;
  display: flex;
  flex-wrap: wrap;
}

#main #news_list dt{
	width: 20%;
	float: left;
	letter-spacing: 0.3em;
}

#main #news_list dd{
	width: 80%;
	float: right;
}

#main #news_list dd a{
	color: #333;
}
#main #news_list dd.new a{
	padding-right: 60px;
	background: url(../images/icon_new.png) no-repeat right 0;
}
#main #news_list dd a:hover{
	color: #999;
	text-decoration:underline;
}

/* business */

#main .service_column{
	margin: 0 0 35px;
	padding: 14px;
	background-color: #F6F6F6;
	border-top: 5px #1F4D78 solid;	
}

#main.business h2{
	margin: 0;
	padding: 15px 0 0;
	color: #204C77;
	font-size: 30px;
	font-weight: bold;
	background: none;
	text-align: center;
}
#main.business h3{
	margin: 20px 0 10px;
	padding: 10px 0;
	color: #FFFFFF;
	font-size: 18px;
	font-weight: bold;
	border: none;
	background-color: #F88600;
	text-align: center;
}

#main .service_column { clear: both;}
#main .forte{ 
	clear: both;
	overflow: hidden;
}

#main .service_column .heightLineParent{
	width: 732px;
	margin: 0 -8px 0 0;
	overflow: hidden;
}

#main .service_column dl {
    width: 189px;
    margin: 0 8px 8px 0;
    padding: 15px 20px;
    float: left;
    background-color: #FFFFFF;
    border: 3px #DDDDDD solid;
}
#main .service_column dt{
	margin: 0 0 10px;
	padding: 0 0 10px;
	color: #F88500;
	font-size: 18px;
	font-weight: bold;
	border-bottom: 3px #DDDDDD solid;
}

#main .service_column .col {
    margin: 20px 0 0;
    padding: 15px 15px 0;
    background-color: #FFFFFF;
    border: 3px #DDDDDD solid;
    overflow: hidden;
		position: relative;
}
#main .service_column .col h3{
	margin: 0;
	padding: 0 0 10px;
	color: #F88500;
	font-size: 18px;
	font-weight: bold;
	background-color: inherit;
	text-align: left;
}
#main .service_column .col p{
	margin: 0;
	padding: 0 0 5px;
	line-height: 1.5;
}
#main .service_column .col p a{
	color: #33ACE3;
}
#main .service_column .col a{
	display: block;
}
#main #service-column-mobile{
	display: none;
}

#main #case_list{
	overflow: hidden;
}

#main #case_list .col{
	width: 146px;
	margin: 0 20px 35px;
	float: left;
}
#main #case_list .col h3{
	margin: 5px;
	padding: 0 0 0 20px;
	font-weight: bold;
	font-size: 12px;
	color: #333333;
	background: url(../images/mark06.png) no-repeat 0 center;
	border: none;
}
#main #case_list .col h3 a{
	color: #333333;
}
#main #case_list .col p{
	margin: 0;
	padding: 0;
}


#main .rental_list{
	margin: 0 0 50px;
	padding: 10px 0 0;
	border-top: 5px #E4E4E4 solid;
	overflow: hidden;
}
#main .rental_list h2{
	margin: 0 18px 23px;
	padding: 10px 0 0;
	background: none;
	overflow: hidden;
}
#main .rental_list h2 span{
	margin-top: -10px;
	float: right;
}
#main .rental_list ul{
	width: 450px;
	margin: 0;
	padding: 0;
	float: left;
	border-top: 1px #CCCCCC solid;
	border-bottom: 1px #CCCCCC solid;
}
#main .rental_list li{
	margin: 0;
	padding: 10px 10px 10px 30px;
	color: #00688C;
	font-size: 14px;
	background: url(../images/mark06.png) no-repeat 10px center;
	border-bottom: 1px #CCCCCC dotted;
}
#main .rental_list li:last-child{
	border: none;
}
#main .rental_list p{
	width: 230px;
	margin: 0 23px 0 0;
	padding: 0;
	float: right;
}




#recruit01 {
    margin-top:-100px;
    padding-top:100px;
}
#recruit02 {
    margin-top:-100px;
    padding-top:100px;
}




#main table.service{
	width: 100%;
	margin: 0 0 30px;
	padding: 0;
	border-collapse: collapse;
	border-spacing: 0;
	border-top-width: 1px;
	border-top-style: solid;
	border-right-style: none;
	border-left-style: none;
	border-top-color: #EEEEEE;
}
#main table.service th{
	white-space: nowrap;
	background-color: #F2FAFD;
	vertical-align: top;
	font-weight: normal;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-left-style: none;
	border-bottom-color: #EEEEEE;
	border-right-style: none;
	padding-top: 10px;
	padding-right: 20px;
	padding-bottom: 10px;
	padding-left: 20px;
	width: 50%;
}
#main table.service td{
	vertical-align: top;
	border-bottom-width: 1px;
	border-right-style: none;
	border-bottom-style: solid;
	border-bottom-color: #EEEEEE;
	border-left-style: none;
	width: 50%;
	padding-top: 10px;
	padding-right: 0;
	padding-bottom: 10px;
	padding-left: 35px;
}

#main table.map {
    width: 700px;
    padding: 0;
    border-collapse: collapse;
    border-spacing: 0;
    border-top-width: 1px;
    border-top-style: solid;
    border-right-style: none;
    border-left-style: none;
    border-top-color: #EEEEEE;
    margin-top: 0;
    margin-right: 0;
    margin-bottom: 30px;
    margin-left: 0;
}

#main table.map th {
    white-space: nowrap;
    background-color: #F2FAFD;
    vertical-align: top;
    font-weight: normal;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-left-style: none;
    border-bottom-color: #EEEEEE;
    border-right-style: none;
    padding-top: 10px;
    padding-right: 20px;
    padding-bottom: 10px;
    padding-left: 20px;
    width: 130px;
}

#main table.map td {
    vertical-align: top;
    border-bottom-width: 1px;
    border-right-style: none;
    border-bottom-style: solid;
    border-bottom-color: #EEEEEE;
    border-left-style: none;
    padding-top: 10px;
    padding-right: 0;
    padding-bottom: 10px;
    padding-left: 35px;
}

#pagetop {
    margin-top: -100px;
    padding-top: 100px;
}

#nv_contact {
    margin-top: 0px;
    padding-top: 0px;
}

#main table.news {
    width: 100%;
    margin: 0 0 30px;
    padding: 0;
    border-collapse: collapse;
    border-spacing: 0;
    border-top-width: 1px;
    border-top-style: solid;
    border-right-style: none;
    border-left-style: none;
    border-top-color: #EEEEEE;
}

#main table.news th {
    white-space: nowrap;
    background-color: #F2FAFD;
    vertical-align: top;
    font-weight: normal;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-left-style: none;
    border-bottom-color: #EEEEEE;
    border-right-style: none;
    padding-top: 10px;
    padding-right: 20px;
    padding-bottom: 10px;
    padding-left: 20px;
    width: 20%;
}

#main table.news th.ttl {
    white-space: nowrap;
    background-color: #F2FAFD;
    vertical-align: top;
    font-weight: normal;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-left-style: none;
    border-bottom-color: #EEEEEE;
    border-right-style: none;
    padding-top: 10px;
    padding-right: 20px;
    padding-bottom: 10px;
    padding-left: 20px;
    text-align: left;
}

#main table.news td {
    vertical-align: top;
    border-bottom-width: 1px;
    border-right-style: none;
    border-bottom-style: solid;
    border-bottom-color: #EEEEEE;
    border-left-style: none;
    padding-top: 10px;
    padding-right: 0;
    padding-bottom: 10px;
    padding-left: 35px;
    width: 80%;
}

.revision td{
	width: auto !important;
	text-align: center !important;
}

#versionof {
    border: 1px solid #ccc;
    padding: 20px;
    margin: 30px 0 0 0;
    background: #f6f6f6;
}

#privacy {
    border: 1px solid #ccc;
    padding: 10px 5px;
    background: none;
    border-radius: 3px;
    width: 180px;
    margin: 10px 0;
    text-align: center;
}

#privacy a {
    opacity: 1;
}

#privacy p {
    margin: 5px 10px;
    text-align: justify;
}


/*　下層ページ用スタイル　*/

.wrapper-mobile {
    display: none !important;
}


/*　下層ページ用スタイル　*/

.pagetopmobile,
.local-nav,
.ir-message-mobile,
#menu-container,
nav.wrapper {
    display: none;
}

.mbs {
    border: 1px solid #ccc;
    padding: 20px;
    margin: 30px 0 0 0;
    background: #f6f6f6;
}

li,
img {
    -moz-transition: width 0.5s ease-in-out, left 1.0s ease-in-out;
    -webkit-transition: width 0.5s ease-in-out, left 1.0s ease-in-out;
    -moz-transition: width 0.5s ease-in-out, left 1.0s ease-in-out;
    -o-transition: width 0.5s ease-in-out, left 1.0s ease-in-out;
    transition: width 0.5s ease-in-out, left 1.0s ease-in-out;
}

iframe {
    width: 980px;
    height: 194px;
    border: none;
}


/* 全体用　追加 */
.spView{ display: none !important;}

/* リーダーシッププリンシプル */
.leadership #main {
	width: 650px;
    margin: 0 0 0 30px;
    padding: 0;
    float: left;
}


/* 20180514 start */
/* common
================================================== */
.clearfix:after{
	content:"."; 
	display:block; 
	height:0; 
	font-size:0;	
	clear:both; 
	visibility:hidden;
}
/* 20180514 end */

