@charset "utf-8";
/* -------------------------------------
     Site CSS
 (c) Copyright 2006 Sketches of Design
     version 2006-09-01
------------------------------------- */
*{
  margin: 0;
  padding: 0;
}
/*  General Rules
--------------------------------------*/
body{
  font-family: 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック','ヒラギノ角ゴ Pro W3', 'Noto Sans', 'Hiragino Kaku Gothic Pro', sans-serif;
  line-height: 1.6;
}
body.en,
body.en h2,
body.en h3,
body.en h4,
body.en h5,
body.en h6{
  font-family: 'Arial','Helvetica',sans-serif !important;
}
/* Defalut Settings */
.box{
  margin: 15px 0 !important;
  padding: 20px 20px 10px 20px;
  background: #f0f3fa;
}
img{
  margin: 0 0 1em 0;
  border: 0;
  vertical-align: bottom;
/*  display:block;*/
}
br{
  letter-spacing: 0;
}
.first{
  margin-left: 0 !important;
}
#content p{
  margin-top: 0;
  margin-bottom: 0.7em;
  letter-spacing:0.06em;
  line-height: 1.7;
}
p.image{
  margin:0;
  text-indent:0;
}
p.copy{
  text-indent:0;
  text-align:center;
}
p.posted{
  margin-top: 2em !important;
  text-indent:0;
  text-align:right;
 /* font-size: 93%;*/
}
p.fLeft{
  float: left;
  display: inline;
  margin: 0 1.5em 0.5em 0;
}
p.fRight{
  float: right;
  display: inline;
  margin: 0 0 0.5em 1.5em;
}
#btt{
  position: fixed;
  right: 0;
  bottom: 0;
  margin: 0;
  z-index: 5000;
  width: 40px;
  height: 40px;
}
#btt a{
	background-image: url("../img/nav-btt.png");
	background-image: -webkit-linear-gradient(transparent, transparent), url("../img/nav-btt.svg");
	background-image:         linear-gradient(transparent, transparent), url("../img/nav-btt.svg");
  background-position: 0 0;
  background-repeat: no-repeat;
	background-size: 40px 40px !important;
	-webkit-background-size: 40px 40px !important;
	-moz-background-size: 40px 40px !important;
	-ms-background-size: 40px 40px !important;
	-o-background-size: 40px 40px !important;
}
#btt a:hover{
  filter: alpha(opacity=60);
  -moz-opacity:0.60;
  opacity:0.60;
}
.external {
    background: url("../img/nav_external.png") right center no-repeat;
    margin-right: 4px;
    padding-right: 14px;
}
a[href$=".pdf"]{   
  background: url("../img/nav-pdf.gif") no-repeat 100% 50%; 
  padding-right: 14px; 
} 
span.arrow{
  font-family: Verdana, sans-serif;
  font-weight: bold;
}
/* Accessibility */
.skip{
  position:absolute;
  left:-10000px;
  width:0;
  /* \*/
  overflow: hidden !important;
  /* */
}
.accesibilty{
  display:none;
}
/* Form */
form{
  margin: 0 0 1em 0;
}
fieldset{
  padding: 0.25em 0.5em;
}
form dl{
  margin: 0 0 0.5em 0;
}
form dl dt{
  font-weight: normal;
}
form dl dd{
  margin-left: 0;
}
/* Defalut Link Design */
a:link,
a:visited,
a:active{
  color: #003f8b;
  text-decoration: none;
}
a:hover{
  color: #003f8b;
  text-decoration: underline;
}
/* list */
ul{
  margin: 0 0 0.5em 0;
  padding-left: 1.5em;
  list-style:disc;
}
ul ul{
  margin:0;
  list-style:circle;
  padding-left:1em;
}
ol{
  margin: 0 0 0.5em 0;
  list-style: decimal;
  padding-left: 2.5em;
}
dl{
  margin: 0 0 0.5em 0;
}
dt{
  font-weight: bold;
}
dd{
  padding-left:1em;
}
#content ul,
#content ol{
  margin: 0 0 0 1em;
  padding: 0;
}
#content ul{
  list-style-type: none;
}
#content ol{
  margin: 0 0 1em 40px;
  list-style-position: outside;
}
#content ol li,
#content ul li{
  margin: 0 0 0.8em 0;
}
#content ul li{
  padding: 0 0 0 10px;
	background-image: url("../img/nav-bullet.png");
	background-image: -webkit-linear-gradient(transparent, transparent), url("../img/nav-bullet.svg");
	background-image:         linear-gradient(transparent, transparent), url("../img/nav-bullet.svg");
  background-position: 0 0.5em;
  background-repeat: no-repeat;
	background-size: 6px 11px;
	-webkit-background-size: 6px 11px;
	-moz-background-size: 6px 11px;
	-ms-background-size: 6px 11px;
	-o-background-size: 6px 11px;
}
ol.bc{
  margin: 0 auto !important;
  padding: 0;
  list-style: none;
  border-bottom: none;
  text-align: right;
/*  margin: 1em 0 2em 0;
  border-bottom: 1px solid #c6c9c6;
  padding: 0 0 0.25em 0;*/
}
ol.bc li span.arrow{
  margin: 0 0 0 0.2em;
}
ol.bc li a{
  color: #4673b8;
}
ol.bc li{
  display: inline;
  color: #717273;
  margin: 0;
  padding: 0;
}
ol.bc li.first{
  background: none;
  padding-left: 0;
}
ol.bc li strong{
  color: #333;
  font-weight: normal;
}
ol.bc span{
  margin: 0 0 0 5px;
}
ul.flat{
  margin: 0 !important;
  list-style: none !important;
}
ul.flat li{
  display: inline;
}
/* table */
table{
  margin: 0 0 10px 0;
  border: none;
  border-top: 1px solid #e0e0e0;
  border-collapse: collapse;
  border-spacing: 0;
  empty-cells: show;
  line-height: 1.25;
  /* \*/
  width: 100%;
  /* */
}
table col.digit{
  text-align: right;
}
table col.centering{
  text-align: center;
}
table tr.odd{
/*  background: #F7F7F7;*/
}
table tr.even{
  background: none;
}
table thead{
}
table thead tr th,
table thead tr td{
  margin: 1px;
  color: #1E1F1E;
  text-align: center;
  font-weight: bold;
  border: none;
}
table thead tr th{
  text-align: center;
}
table tr th,
table tr td{
  border: none;
  border-bottom: 1px solid #e0e0e0;
  padding: 20px 0;
  text-align: left;
}
table tr th{
  color: #303130;
}
caption{
  text-align: left;
}
th, td{
  border: none;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  padding: 0.1em 0.4em;
}
table ul, table ol, table dl{
  margin: 0;
}
table ul{
  padding: 0;
  list-style: none;
}
table caption{
  text-align: center;
}
table p.nav{
  margin-bottom: 0 !important;
}
table tr .left{
  text-align: left;
}
table tr .center{
  text-align: center;
}
table tr .right{
  text-align: right;
}
table tr th p,
table tr td p{
  margin: 0 !important;
  padding: 0 !important;
}
table ul li{
  margin: 0 !important;
}
#content table tr td ol{
  margin: 0 0 0 20px;
}
/* headline */
h1, h2, h3, h4, h5, h6{
  font-size: 100%;
  font-weight: normal;
  text-align: left;
}
h1{
  font-size: 5.0rem;
  color: #fff;
}
#content h2{
  margin: 0 0 30px 0;
  font-size: 3.0rem;
  color: #303130;
  letter-spacing: 0.1em;
}
body.en #content h2{
  letter-spacing: 0.02em;
}
#content h3{
  margin: 50px 0 20px 0;
  color: #7b5999;
  font-size: 2.6rem;
}
#content h4{
  margin: 0 0 15px 0;
  color: #7b5999;
  font-size: 1.8rem;
}
#content h3,
#content h4{
  letter-spacing: 0.05em;
  font-weight: 400;
}
/* decoration */
.banners a:hover,
.banners a:hover img{
  filter: alpha(opacity=75);
  -moz-opacity:0.75;
  opacity:0.75;
}
#content .banners{
  text-align: center;
  margin: 20px 16px 40px 16px;
}
/*.banners img{
  margin: 0;
}
.banners a{
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.banners a:hover, .banners a:focus, .banners a:active {
  -webkit-transform: translateY(8px);
  transform: translateY(8px);
}*/
em{
  color: #000;
  font-weight: bold;
  font-style: normal;
}
strong{
  color: #303130;
  font-size: 108%;
  font-weight: bold;
}
.nav{
  text-align: right;
  font-size: 85%;
}
.nav a{
  padding: 0 0 0 12px;
  background: url("../img/nav-arrow.png") left center no-repeat;
}
.weak{
  font-size: 85%;
  _font-size: small;
/*  color: #999;*/
}
div#content blockquote{
  background-color: #f4f5f5;
  border: 1px solid #d2d2d2;
  color: #677880;
  margin: 1em 0 1.5em 0;
  padding: 0.5em 1em;
}
*:focus {
  outline: none;
}
/*----- clearfix -----*/
/* for modern browsers: Firefox, Safari, Opera */
.CFX:after{
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
/* for win IE7 ,mac IE */
.CFX{
  display: inline-table;
  min-height: 1%;
}
/* for win IE6 */
/* \*/
* html .CFX{height: 1% !important;}
.CFX{display: block;}
/* */

/*----- FIR -----*/
.FIR{
  text-indent: -10000px !important;
  /* \*/
  overflow: hidden !important;
  /* */
  background-repeat: no-repeat;
  background-position: 0 0;
}
.FIR a{
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
  outline: 0;
}
ul.FIR, ol.FIR{
  margin: 0;
  padding: 0;
  list-style: none;
}

/*  Font
--------------------------------------*/
html { font-size: 62.5%; } /* 10px */
body { font-size: 1.6rem; } /* 16px */

#main div#title-area ol.bc li,
#footer p.copy{
  font-size: 1.1rem;
}
div#hdmenu ul li.language ul li{
  font-size: 1.2rem;
}
div#news-area,
div#scroll_down,
div#hdmenu ul li,
#footer div.inner ul,
body#home #content div#pickup ul li,
#content div#contact-area div.inner p,
body#company-idx #content div#lv02-03 div.inner p.link{
  font-size: 1.4rem;
}
body#home #content div#pickup ul li h3,
body#service-idx #content div#lv02-01 ol li h3{
  font-size: 1.8rem;
}
#content div#contact-area div.inner a{
  font-size: 2.0rem;
}
body#service-idx #content div#lv02-01 ol li h3 span.number{
  font-size: 4.0rem;
}
div#scroll_down,
div#news-area p.title,
div#news-area dl dt,
div#hdmenu ul li.language ul li,
#content div#contact-area div.mail{
  font-family: 'Lato', sans-serif;
  font-weight: 400;
}
#footer p.copy,
#content div#contact-area h2,
body#service-idx #content div#lv02-01 ol li h3 span.number{
  font-family: 'Lato', sans-serif;
  font-weight: 700;
}
h1, 
#content .link,
div#hdmenu ul li,
#footer div.inner ul li,
body#company-idx #content div#lead,
#content div#contact-area div.inner p{
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;/* regular */
}
h2, h3, h4, h5, h6,
body#home #content div#pickup ul li h3,
body#service-idx #content div#lv02-01 ol li h3{
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;/* bold */
}


/*  Layout
////////////////////////////////////////// */
/* body */
body{
  background: #fff;
  text-align: center;
  color: #666766;
  word-wrap: break-word;
}

/* wrapper */
#wrapper{
  margin: 0 auto !important;
  width: 100%;
  height: 100%;
  text-align: left;
}

/* header */
#header{
  position: relative;
  margin: 0 auto;
  padding: 0;
  width: auto;
}
#header p#b-logo{
  margin: 0;
  padding: 40px;
}
#header p#b-logo a{
  display: block;
  width: 247px;
  height: 50px;
}
#header p#b-logo img{
  margin: 0;
}

/* hdmenu */
div#hdmenu{
  position: fixed;
  z-index: 10;
  width: 100%;
  transition: .3s;
}
div#hdmenu ul,
div#hdmenu ul li{
  margin: 0;
  background: none;
  padding: 0;
  list-style-type: none;
}
#global-nav{
  position: absolute;
  top: 0;
  right: 0;
  padding: 44px 40px 0 0;
}
div#hdmenu ul.menu{
  float: left;
}
div#hdmenu ul.menu{
  padding: 0;
}
div#hdmenu ul li{
  float: left;
  display: inline;
  margin: 0 0 0 20px;
  line-height: 40px;
}
div#hdmenu ul li a{
  color: #fff;
  background-position: 0 center;
  background-repeat: no-repeat;
  position: relative;
  text-decoration: none;
}
div#hdmenu ul li a::after {
  position: absolute;
  bottom: -5px;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #00b389;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform .3s;
}
div#hdmenu ul li a.active::after{
  background: #fff;
}
div#hdmenu ul li a.active::after,
div#hdmenu ul li a:hover::after {
  transform: scale(1, 1);
}
div#hdmenu ul li.home a{
  	background-image: url("../img/nav-home.png");
	background-image: -webkit-linear-gradient(transparent, transparent), url("../img/nav-home.svg");
	background-image:         linear-gradient(transparent, transparent), url("../img/nav-home.svg");
	background-size: 15px 13px !important;
	-webkit-background-size: 15px 13px !important;
	-moz-background-size: 15px 13px !important;
	-ms-background-size: 15px 13px !important;
	-o-background-size: 15px 13px !important;
  width: 15px;
  height: 38px;
}
div#hdmenu ul li.fb{
  margin: 0 0 0 5px;
}
div#hdmenu ul li.tw a,
div#hdmenu ul li.fb a,
#footer div.inner ul.snsarea li.tw a,
#footer div.inner ul.snsarea li.fb a{
	background-size: 30px 30px !important;
	-webkit-background-size: 30px 30px !important;
	-moz-background-size: 30px 30px !important;
	-ms-background-size: 30px 30px !important;
	-o-background-size: 30px 30px !important;
  width: 30px;
  height: 40px;
}
div#hdmenu ul li.tw a,
#footer div.inner ul.snsarea li.tw a{
  	background-image: url("../img/nav-hdmenu-tw.png");
	background-image: -webkit-linear-gradient(transparent, transparent), url("../img/nav-hdmenu-tw.svg");
	background-image:         linear-gradient(transparent, transparent), url("../img/nav-hdmenu-tw.svg");
}
div#hdmenu ul li.fb a,
#footer div.inner ul.snsarea li.fb a{
  	background-image: url("../img/nav-hdmenu-fb.png");
	background-image: -webkit-linear-gradient(transparent, transparent), url("../img/nav-hdmenu-fb.svg");
	background-image:         linear-gradient(transparent, transparent), url("../img/nav-hdmenu-fb.svg");
}
div#hdmenu ul li.language{
/*  display: none;*/
  position: absolute;
  right: 0;
  top: 0;
  background: #fff;
}
div#hdmenu ul li.language ul{
  padding: 0 5px;
}
div#hdmenu ul li.language ul li{
  margin: 0;
  line-height: 10px;
  padding: 7px 0;
}
div#hdmenu ul li.language ul li span{
  padding: 0 10px;
}
div#hdmenu ul li.language ul li.jp span{
  border-right: 1px solid #b6c0cd;
}
div#hdmenu ul li.language ul li a{
  display: block;
  color: #8596ac;
  padding: 5px 0;
}
div#hdmenu:hover{
  background: #fff;
}
div#hdmenu:hover p#b-logo a,
div#hdmenu.fixed p#b-logo a{
	background-image: url("../img/logo_on.png");
	background-image: -webkit-linear-gradient(transparent, transparent), url("../img/logo_on.svg");
	background-image:         linear-gradient(transparent, transparent), url("../img/logo_on.svg");
  background-position: 0 center;
  background-repeat: no-repeat;
}
body.en div#hdmenu:hover p#b-logo a,
body.en div#hdmenu.fixed p#b-logo a{
	background-image: url("../img/logo_on_en.png");
	background-image: -webkit-linear-gradient(transparent, transparent), url("../img/logo_on_en.svg");
	background-image:         linear-gradient(transparent, transparent), url("../img/logo_on_en.svg");
}
div#hdmenu:hover p#b-logo a{
  margin: 0;
	background-size: 247px 50px !important;
	-webkit-background-size: 247px 50px !important;
	-moz-background-size: 247px 50px !important;
	-ms-background-size: 247px 50px !important;
	-o-background-size: 247px 50px !important;
  padding: 0;
}
div#hdmenu.fixed ul li a,
div#hdmenu:hover ul li a{
  color: #666;
}
body.jp div#hdmenu ul li.language ul li.jp a,
body.en div#hdmenu ul li.language ul li.en a,
div#hdmenu:hover ul li a:hover,
div#hdmenu.fixed ul li.contact a,
div#hdmenu:hover ul li.contact a{
  color: #00b389;
}
div#hdmenu ul li.contact a::after{
  display: none;
}
div#hdmenu ul li.contact{
  border: 1px solid #fff;
  line-height: 50px;
  height: 40px;
}
div#hdmenu ul li.contact a{
  display: block;
  padding: 0 20px;
  text-decoration: none;
  line-height: 40px;
}
div#hdmenu.fixed ul li.contact,
div#hdmenu:hover ul li.contact{
  position: relative;
  overflow: hidden;
  z-index: 2;
  border: 1px solid #00b389;
}
div#hdmenu ul li.contact::before,
div#hdmenu ul li.contact::after{
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
div#hdmenu ul li.contact,
div#hdmenu ul li.contact::before,
div#hdmenu ul li.contact::after{
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}
div#hdmenu ul li.contact::after{
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(.5);
  transform: scale(.5);
}
div#hdmenu ul li.contact:hover::after{
  background: #00b389 !important;
  -webkit-transform: scale(1);
  transform: scale(1);
}
div#hdmenu ul li.contact a,
div#hdmenu ul li.contact a:hover{
  color: #fff;
}
div#hdmenu.fixed ul li.home a,
div#hdmenu:hover ul li.home a{
  	background-image: url("../img/nav-home_02.png");
	background-image: -webkit-linear-gradient(transparent, transparent), url("../img/nav-home_02.svg");
	background-image:         linear-gradient(transparent, transparent), url("../img/nav-home_02.svg");
}
div#hdmenu.fixed ul li.tw a,
div#hdmenu:hover ul li.tw a,
#footer div.inner ul.snsarea li.tw a:hover{
  	background-image: url("../img/nav-hdmenu-tw_on.png");
	background-image: -webkit-linear-gradient(transparent, transparent), url("../img/nav-hdmenu-tw_02.svg");
	background-image:         linear-gradient(transparent, transparent), url("../img/nav-hdmenu-tw_02.svg");
}
div#hdmenu.fixed ul li.fb a,
div#hdmenu:hover ul li.fb a,
#footer div.inner ul.snsarea li.fb a:hover{
  	background-image: url("../img/nav-hdmenu-fb_on.png");
	background-image: -webkit-linear-gradient(transparent, transparent), url("../img/nav-hdmenu-fb_02.svg");
	background-image:         linear-gradient(transparent, transparent), url("../img/nav-hdmenu-fb_02.svg");
}
div#hdmenu:hover ul li.home:hover a{
  	background-image: url("../img/nav-home_on.png");
	background-image: -webkit-linear-gradient(transparent, transparent), url("../img/nav-home_on.svg");
	background-image:         linear-gradient(transparent, transparent), url("../img/nav-home_on.svg");
}
div#hdmenu:hover ul li.tw:hover a{
  	background-image: url("../img/nav-hdmenu-tw_on.png");
	background-image: -webkit-linear-gradient(transparent, transparent), url("../img/nav-hdmenu-tw_on.svg");
	background-image:         linear-gradient(transparent, transparent), url("../img/nav-hdmenu-tw_on.svg");
}
div#hdmenu:hover ul li.fb:hover a{
  	background-image: url("../img/nav-hdmenu-fb_on.png");
	background-image: -webkit-linear-gradient(transparent, transparent), url("../img/nav-hdmenu-fb_on.svg");
	background-image:         linear-gradient(transparent, transparent), url("../img/nav-hdmenu-fb_on.svg");
}

/**/
div#hdmenu.fixed{
  height: 60px;
    background: #fff;
    background: rgba(255,255,255,.7);
    transition: top 0.65s ease-in;
    -webkit-transition: top 0.65s ease-in;
    -moz-transition: top 0.65s ease-in;
}
div#hdmenu.fixed p#b-logo{
  margin: 0 0 0 20px;
  padding: 0;
}
div#hdmenu.fixed p#b-logo a{
	background-size: 200px 40px !important;
	-webkit-background-size: 200px 40px !important;
	-moz-background-size: 200px 40px !important;
	-ms-background-size: 200px 40px !important;
	-o-background-size: 200px 40px !important;
  width: 200px;
  height: 60px;
}
div#hdmenu:hover p#b-logo img,
div#hdmenu.fixed p#b-logo img{
  display: none;
}
div#hdmenu.fixed #global-nav{
  padding: 11px 20px 0 0;
}
div#hdmenu.fixed ul{
  right: 10px;
}
div#hdmenu.fixed ul li.language{
  position: static;
  margin: 0 0 0 10px;
}
div#hdmenu.fixed ul li.language ul li{
  height: 40px;
  line-height: 40px;
}
div#hdmenu.fixed ul li.language ul li,
div#hdmenu.fixed ul li.language ul li a{
  padding: 0;
}
div#hdmenu.fixed ul li.language ul li a::after{
  bottom: 0;
}

/* main */
#main{
  overflow: hidden;
}

/* content */
#content{
  background: url("../img/bg-content.jpg") 0 0 no-repeat;
	background-size: 500px 500px !important;
	-webkit-background-size: 500px 500px !important;
	-moz-background-size: 500px 500px !important;
	-ms-background-size: 500px 500px !important;
	-o-background-size: 500px 500px !important;
  margin: 0 auto;
  padding: 0;
}
#content div.block div.inner{
  padding: 60px 40px;
}
br.sp{
  display: none;
}

/* diagram */
div.diagram a.sp,
div.diagram a.FIR,
div.diagram span{
  display: none;
}
div.diagram p.image{
  margin: 0 !important;
}
div.diagram{
  text-align: center;
}

/* footer */
#footer{
  margin: 0;
  background: #33c2a1;
  text-align: center;
  width: 100%;
  overflow: hidden;
  height: 130px !important;
}
#footer p.copy{
  margin: 0;
  background: #00b389;
  color: #fff;
}
#footer p.copy,
#footer div.inner ul.snsarea li.contact a{
  line-height: 40px;
}
#footer .inner{
  height: 90px;
}
#footer div.inner ul,
#footer div.inner ul li{
  float: left;
  display: inline;
  margin: 0;
  background: none;
  padding: 0;
  list-style-type: none;
  height: 14px;
}
#footer div.inner ul.ftmenu{
  margin: 38px 0 0 40px;
}
#footer div.inner ul.ftmenu li{
  border-right: 1px solid #80d9c4;
  line-height: 14px;
}
#footer div.inner ul.ftmenu li:last-child{
  border-right: none;
}
#footer div.inner ul.ftmenu li a,
#footer div.inner ul.snsarea li.contact a{
  display: block;
  padding: 0 20px;
  color: #fff;
}
#footer div.inner ul.ftmenu li:first-child a{
  padding: 0 20px 0 0;
}
#footer div.inner ul li a:hover{
  text-decoration: none;
}
#footer div.inner ul.ftmenu li a:hover{
  color: #003f8b;
}
#footer div.inner ul.snsarea{
  float: right;
  margin: 25px 40px 0 0;
}
#footer div.inner ul.snsarea li{
  margin: 0 0 0 5px;
}
#footer div.inner ul.snsarea li.tw,
#footer div.inner ul.snsarea li.fb{
  width: 30px;
  height: 40px;
}
#footer div.inner ul.snsarea li.tw a,
#footer div.inner ul.snsarea li.fb a{
  background-position: 0 center;
  background-repeat: no-repeat;
}
#footer div.inner ul.snsarea li.contact{
  position: relative;
  overflow: hidden;
  z-index: 2;
  border: 1px solid #fff;
  line-height: 50px;
  height: 40px;
}
#footer div.inner ul.snsarea li.contact::before,
#footer div.inner ul.snsarea li.contact::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
#footer div.inner ul.snsarea li.contact,
#footer div.inner ul.snsarea li.contact::before,
#footer div.inner ul.snsarea li.contact::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}
#footer div.inner ul.snsarea li.contact:hover{
  color: #fff;
}
#footer div.inner ul.snsarea li.contact::after {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(.5);
  transform: scale(.5);
}
#footer div.inner ul.snsarea li.contact:hover::after{
  background: #fff;
  -webkit-transform: scale(1);
  transform: scale(1);
}
#footer div.inner ul.snsarea li.contact a:hover{
  color: #00b389;
}

/**/
a{
  transition: .3s;
}
/*a:hover{
  opacity: 0.5;
}
*/


/*  content
////////////////////////////////////////// */

#main div#title-area{
 position: relative;
  overflow: hidden;
  background-size: cover !important;
  height: 530px;
}
#main div#title-area div#h1-bg{
  background: url("../img/h1-bg.png") no-repeat scroll center right;
  width: 50%;
  height: 100%;
}
#main div#title-area h1{
  position: absolute;
  top: 0;
  left: 40px;
  display: flex;
  align-items: center;
  z-index: 5;
  height: 100%;
}
#main div#title-area div#bc-bg,
#main div#title-area ol.bc{
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 40px;
  line-height: 38px;
}
#main div#title-area div#bc-bg{
  background: #e5f7f3;
  z-index: 1;
}
#main div#title-area ol.bc{
  width: 100%;
  z-index: 5;
  box-sizing: border-box;
  padding: 0 10px;
}
#main div#title-area ol.bc li{
  position: relative;
  padding: 0 10px;
}
#main div#title-area ol.bc li::before{
    position: absolute;
    top: 0;
    bottom: 0;
    left: -5px;
    margin: auto;
    content: "";
    vertical-align: middle;
    width: 4px;
    height: 4px;
    border-top: 1px solid #717273;
    border-right: 1px solid #717273;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
#main div#title-area ol.bc li.home::before{
  display: none;
}
#main div#title-area div#texture{
  position: absolute;
  top: 0;
  background: url("../img/texture.png") center center repeat;
  opacity: 0.5;
  height: 100%;
  height: 100vh;
  width: 100%;
  z-index: 4;
}
/**/
#content .link a{
  position: relative;
  display: inline-block;
  overflow: hidden;
  text-align: center;
  text-decoration: none;
  outline: none;
  z-index: 2;
  border: 1px solid #003f8b;
  padding: 15px 50px;
}
#content .link a:hover{
  color: #fff;
}
#content .link a::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(.5);
  transform: scale(.5);
}
#content .link a,
#content .link a::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}
#content .link a:hover::after {
  background: #003f8b;
  -webkit-transform: scale(1);
  transform: scale(1);
}
#content .link span{
    position: relative;
    display: inline-block;
    padding: 0 0 0 18px;
    vertical-align: middle;
    text-decoration: none;
}
#content .link span::before{
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    left: 3px;
    width: 6px;
    height: 6px;
    border-top: 1px solid #003f8b;
    border-right: 1px solid #003f8b;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
#content .link a:hover span::before{
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
}
/**/
#content div#contact-area{
  background: url("../img/bg-contact-area.jpg") no-repeat scroll center center;
  background-size: cover;
  background-attachment: fixed;
}
#content div#contact-area div.inner{
  background: url("../img/bg-contact-inner.png") 0 center repeat-x;
  padding: 0;
}
#content div#contact-area div.inner div{
  float: left;
  display: inline;
}
#content div#contact-area div.title-area{
  background: url("../img/bg-contact-title-area.png") right center no-repeat;
  padding: 100px 0;
  width: 40%;
}
#content div#contact-area div.inner div.title-area h2,
#content div#contact-area div.inner div.title-area p{
  margin: 0;
  padding: 20px 0 20px 40px;
}
#content div#contact-area div.inner div.title-area h2{
  color: #fff;
  line-height: 20px;
}
#content div#contact-area div.inner div.title-area p{
  color: #003f8b;
}
#content div#contact-area div.mail{
  position: relative;
  width: 60%;
}
#content div#contact-area div.mail a{
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  padding: 0 60px;
  border: 1px solid #fff;
  color: #fff;
  width: 400px;
  height: 80px;
  line-height: 80px;
  text-align: center;
}
#content div#contact-area div.mail a span{
	display: inline-block;
  padding: 0 0 0 38px;
	background-image: url("../img/nav-mail.png");
	background-image: -webkit-linear-gradient(transparent, transparent), url("../img/nav-mail.svg");
	background-image:         linear-gradient(transparent, transparent), url("../img/nav-mail.svg");
  background-position: 0 0;
  background-repeat: no-repeat;
	background-size: 29px 20px !important;
	-webkit-background-size: 29px 20px !important;
	-moz-background-size: 29px 20px !important;
	-ms-background-size: 29px 20px !important;
	-o-background-size: 29px 20px !important;
  line-height: 20px;
}
#content div#contact-area div.mail a:hover{
  background: #fff;
  color: #003f8b;
}
#content div#contact-area div.mail a:hover span{
	background-image: url("../img/nav-mail_on.png");
	background-image: -webkit-linear-gradient(transparent, transparent), url("../img/nav-mail_on.svg");
	background-image:         linear-gradient(transparent, transparent), url("../img/nav-mail_on.svg");
}
body#home #content div#sns-area div.block{
/*  float: left;
  display: inline;*/
  display: block;
  width: 100%;
}
body#home #content div#sns-area div.tw{
  background: #ccf0e7;
}
body#home #content div#sns-area div.fb div.fb-page,
body#home #content div#sns-area div.tw iframe{
  margin: 0 auto !important;
  width: 100% !important;
  text-align: center;
}
body#home #content div#sns-area div.inner{
  padding: 40px;
  min-height: 600px;
}





/*----- home -----*/
.video-wrapper {
  position: relative;
/*  height: 100%;
  height: 100vh;*/
  width: 100%;
  overflow: hidden;
}
#video {
  background: url('/video_bg.jpg') no-repeat; 
  background-attachment: fixed;
  background-position: center center;
  background-size: cover;
  left: 0;
/*  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
  min-height: 100%;
  min-height: 100vh;*/
  min-width: 100%;
  min-width: 100vw;
  position: absolute;
  top: 0;
  z-index: 1;
}
div#videotexture{
  position: absolute;
  content: " ";
  height: 100vh;
  width: 100%;
  background: url("../img/texture_02.png") center center repeat-x;
  z-index: 2;
}
div#news-area-bg{
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 90px;
  background: #e5f7f3;
  z-index: 3;
}
div#news-area div.CFX{
  position: absolute;
  /*left: 0;*/
  right: 40px;
  bottom: 0;
  z-index: 5;
}
div#news-area p.title,
div#news-area dl{
  float: left;
  display: inline;
  line-height: 90px;
}
div#news-area p.title{
  margin: 0 30px 0 0;
  color: #00b389;
}
div#news-area dl{
  margin: 0;
}
div#news-area dl dt{
  font-weight: normal;
  color: #000;
}
div#news-area dl dd{
  margin: -90px 0 0 6em;
  padding: 0;
}
body#home div#texture{
  position: absolute;
  background: url("../img/texture.png") center center repeat;
  height: 100%;
/*  height: 100vh;*/
  width: 100%;
  z-index: 4;
}
body#home div#text{
  position: absolute;
  background: url("../img/text.png") left center no-repeat;
  height: 100%;
/*  height: 100vh;*/
  width: 100%;
  z-index: 5;
}
body#home div#scroll_down{
  position: absolute;
  padding: 0 0 0 15px;
  line-height: 90px;
  left: 40px;
  bottom: 0;
  z-index: 5;
  letter-spacing: 0.05em;
  color: #fff;
  animation: fluffy1 3s ease infinite;
}
@keyframes fluffy1 {
  0% { transform:translateY(0) }
  5% { transform:translateY(0) }
  10% { transform:translateY(0) }
  20% { transform:translateY(-15px) }
  25% { transform:translateY(0) }
  30% { transform:translateY(-15px) }
  50% { transform:translateY(0) }
  100% { transform:translateY(0) }
}
div#scroll_down::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  margin: -5px 0 0 0;
  left: 0;
  width: 8px;
  height: 8px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: translateX(-50%) rotate(135deg);
}
body#home #content{
  background: url("../img/bg-home-main.jpg") 0 0 no-repeat;
}
body#home #content div#pickup ul,
body#home #content div#pickup ul li{
  margin: 0;
  background: none;
  padding: 0;
  list-style-type: none;
}
body#home #content div#pickup ul{
  display: flex;
}
body#home #content div#pickup ul li{
  background: #78868f  url("../img/bg-pickup.gif") 0 60px repeat-x;
  width: 23%;
  margin: 0 0 0 2.66%;
  cursor: pointer;
    transition: background-color .3s linear;
}
body#home #content div#pickup ul li.pu-01{
  margin: 0;
}
body#home #content div#pickup ul li img{
  max-width: 100%;
  height: auto;
  width /***/:auto;
  transition: transform .3s;
}
body#home #content div#pickup ul li p.text{
  margin: 0 0 50px 0;
  padding: 0 30px;
}
body#home #content div#pickup ul li p.image{
  overflow: hidden;
}
body#home #content div#pickup ul li p.image,
body#home #content div#pickup ul li p.image img{
  margin: 0;
}
body#home #content div#pickup ul li h3 a,
body#home #content div#pickup ul li p.text{
  color: #fff;
  text-decoration: none;
}
body#home #content div#pickup ul li h3{
  margin: 40px 0 20px 0;
	background-image: url("../img/h3-home-pickup.png");
	background-image: -webkit-linear-gradient(transparent, transparent), url("../img/h3-home-pickup.svg");
	background-image:         linear-gradient(transparent, transparent), url("../img/h3-home-pickup.svg");
  background-position: 0 0;
  background-repeat: no-repeat;
	background-size: 15px 40px !important;
	-webkit-background-size: 15px 40px !important;
	-moz-background-size: 15px 40px !important;
	-ms-background-size: 15px 40px !important;
	-o-background-size: 15px 40px !important;
  padding: 5px 30px 0 30px;
}
body#home #content div#pickup ul li:hover{
  background: #00b389;
  transition: background-color .3s linear;
}
body#home #content div#pickup ul li:hover img{
  transform: scale(1.2, 1.2);
}









/*----- company -----*/
body.company #main div#title-area{
  background: url("../img/h1-company.jpg") no-repeat scroll center center;
}
body#company-idx #content div#lead{
  padding: 200px 0 100px 40px;
  color: #1e1f1e;
}
body#service-idx #content div#lv02-03 div.inner,
body#service-idx #content div#lv02-04 div.inner,
body#company-idx #content div#lv02-01 div.inner,
body#company-idx #content div#lv02-02 div.inner{
  width: 50%;
}
body#company-idx #content div#lv02-01{
  background: url("../img/bg-company-idx-01.png") 50px 0 no-repeat;
}
body#service-idx #content div#lv02-03{
  background: url("../img/bg-service-idx-01.png") 50px 0 no-repeat;
}
body#service-idx #content div#lv02-04,
body#company-idx #content div#lv02-02{
  background: url("../img/bg-company-idx-02.png") right 0 no-repeat;
}
body#service-idx #content div#lv02-03 div.inner,
body#company-idx #content div#lv02-01 div.inner{
  margin: 0 0 0 auto;
  padding: 60px 40px 60px 0;
}
body#service-idx #content div#lv02-04 div.inner,
body#company-idx #content div#lv02-02 div.inner{
  padding: 60px 0 60px 40px;
}
body#company-idx #content div#lv02-02 table th{
  width: 4em;
}
body#company-idx #content div#lv02-03 h2{
  text-align: center;
}
body#company-idx #content div#lv02-03 #map-canvas{
  width: 100%;
  height: 400px;
}
body#company-idx #content div#lv02-03 div.inner{
  padding: 50px 40px;
}
body#company-idx #content div#lv02-03 div.inner ul,
body#company-idx #content div#lv02-03 div.inner p.link{
  float: left;
  display: inline;
}
body#company-idx #content div#lv02-03 div.inner p.link{
  float: right;
}
body#company-idx #content div#lv02-03 div.inner ul,
body#company-idx #content div#lv02-04 p.image,
body#company-idx #content div#lv02-04 p.image img{
  margin: 0;
}
body#company-idx #content div#lv02-03 div.inner ul li{
  background: none;
  padding: 0;
}
body#company-idx #content div#lv02-03 div.inner ul li.train{
	background-image: url("../img/nav-train.png");
	background-image: -webkit-linear-gradient(transparent, transparent), url("../img/nav-train.svg");
	background-image:         linear-gradient(transparent, transparent), url("../img/nav-train.svg");
  background-position: 0 0;
  background-repeat: no-repeat;
	background-size: 15px 20px !important;
	-webkit-background-size: 15px 20px !important;
	-moz-background-size: 15px 20px !important;
	-ms-background-size: 15px 20px !important;
	-o-background-size: 15px 20px !important;
  padding: 0 0 0 20px;
}
body#company-idx #content div#lv02-04{
  position: relative;
  background: url("../img/bg-company-idx-04.png") right 0 no-repeat;
}
body#company-idx #content div#lv02-04 p.image{
  position: absolute;
  bottom: 0;
  right: 0;
  width: 510px;
  height: 470px;
}
body#company-idx #content div#lv02-04 p.image img{
  filter: drop-shadow(0 0 5px rgba(0,179,137,0.5));
}
body#company-idx #content div#lv02-04 div.inner{
  padding: 60px 40px 200px 40px;
}





/*----- service -----*/
body.service #main div#title-area{
  background: url("../img/h1-service.jpg") no-repeat scroll center center;
}
body#service-idx #content h2,
body#service-idx #content div#lv02-02 p,
body#service-idx #content div#lv02-05 p{
  text-align: center;
}
body#service-idx #contact-area h2{
  text-align: left;
}
body#service-idx #content div#lv02-01{
  padding: 40px 0 0 0;
}
body#service-idx #content div#lv02-01 div.inner{
  padding: 60px 20px;
}
body#service-idx #content div#lv02-01 ol,
body#service-idx #content div#lv02-01 ol li{
  margin: 0;
  padding: 0;
  list-style-type: none;
}
body#service-idx #content div#lv02-01 ol{
  margin: 80px 0 0 0;
  display: flex;
}
body#service-idx #content div#lv02-01 ol > li{
  background: #e5f7f3;
  width: 30.33%;
  margin: 0 1.5% !important;
}
body#service-idx #content div#lv02-01 ol li h3{
  background: #bfece1;
  text-align: center;
}
body#service-idx #content div#lv02-01 ol li h3{
  position: relative;
  margin: 0;
  color: #1e1f1e;
}
body#service-idx #content div#lv02-01 ol li h3 span{
  display: block;
}
body#service-idx #content div#lv02-01 ol li h3 span.number{
  position: absolute;
  top: -60px;
  right: 0;
  left: 0;
  margin: auto;
	background-image: url("../img/h3-service-idx-01.png");
	background-image: -webkit-linear-gradient(transparent, transparent), url("../img/h3-service-idx-01.svg");
	background-image:         linear-gradient(transparent, transparent), url("../img/h3-service-idx-01.svg");
  background-position: 0 0;
  background-repeat: no-repeat;
	background-size: 120px 120px !important;
	-webkit-background-size: 120px 120px !important;
	-moz-background-size: 120px 120px !important;
	-ms-background-size: 120px 120px !important;
	-o-background-size: 120px 120px !important;
  width: 120px;
  height: 120px;
  line-height: 120px;
  color: #fff;
}
body#service-idx #content div#lv02-01 ol li h3 span.title{
  padding: 70px 15px 25px 15px;
}
body#service-idx #content div#lv02-01 ol li ul{
  margin: 0;
  padding: 30px 30px 10px 30px;
}
body#service-idx #content div#lv02-01 ol li ul li{
  margin: 0 0 20px 0;
  padding: 0 0 0 10px;
}
body#service-idx #content .banners{
  margin: 20px 16px 100px 16px;
}
body#service-idx #content div#lv02-02 p,
body#service-idx #content div#lv02-05 p{
  margin: 0 0 30px 0;
}
body#service-idx #content div#lv02-03 h2,
body#service-idx #content div#lv02-04 h2{
  text-align: left;
}
body#service-idx #content div#lv02-03 div.inner,
body#service-idx #content div#lv02-04 div.inner{
  position: relative;
}
body#service-idx #content div#lv02-03 ul,
body#service-idx #content div#lv02-04 ul{
  margin: 0;
}
body#service-idx #content div#lv02-03 div.inner p.image,
body#service-idx #content div#lv02-04 div.inner p.image{
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  padding: 60px 0 0 0;
  width: 180px;
  height: 180px;
}
body#service-idx #content div#lv02-03 div.inner p.image{
  left: -220px;
}
body#service-idx #content div#lv02-04 div.inner p.image{
  right: -100px;
}





/*  en
////////////////////////////////////////// */

body#home.en div#text{
  background: url("../img/text_en.png") left center no-repeat;
}
body#company-idx.en #content div#lv02-02 table th{
  width: 8em;
}





