@charset "utf-8";
/* -------------------------------------
     Site CSS
 (c) Copyright 2006 Sketches of Design
     version 2006-09-01
------------------------------------- */


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

img{
  max-width: 100%;
  height: auto;
  width /***/:auto;
}

/* font */
#content h1,
body#service-idx #content div#lv02-01 ol li h3 span.number{
  font-size: 2.6rem;
}
#content h2{
  font-size: 2.0rem;
}
#content h3,
body#service-idx #content div#lv02-01 ol li h3 span.title{
  font-size: 1.6rem;
}
#content ul,
#content ol,
#content p,
#content table,
body#service-idx #content div#lv02-01 ol li h3 span.title{
  font-size: 1.4rem;
}

/**/
#content div#contact-area div.title-area br{
  display: block;
}
#content div#contact-area div.title-area{
  padding: 60px 0;
}
#content div#contact-area div.mail a{
  width: 300px;
}
#content div#contact-area div.mail a span{
  padding: 0 0 0 30px;
	background-size: 20px 14px !important;
	-webkit-background-size: 20px 14px !important;
	-moz-background-size: 20px 14px !important;
	-ms-background-size: 20px 14px !important;
	-o-background-size: 20px 14px !important;
  line-height: 14px;
}
#footer,
#footer .inner,
#footer div.inner ul,
#footer div.inner ul li,
#footer div.inner ul.snsarea li.contact{
  height: auto !important;
}
#footer div.inner ul.ftmenu,
#footer div.inner ul.snsarea{
  margin: 16px;
}
#footer div.inner ul.ftmenu li{
  margin: 8px 0 0 0;
}
#footer div.inner ul.ftmenu li a{
  padding: 0 15px;
}
#footer div.inner ul.snsarea li.contact,
#footer div.inner ul.snsarea li.contact a{
  line-height: 30px;
}
#footer div.inner ul.snsarea li.contact a{
  padding: 0 10px;
}
#footer div.inner ul.snsarea li.tw,
#footer div.inner ul.snsarea li.fb,
#footer div.inner ul.snsarea li.tw a,
#footer div.inner ul.snsarea li.fb a{
  height: 30px;
}

/**/
body#company-idx #content div#lead{
  padding: 60px 0 60px 40px;
}
body#company-idx #content div#lv02-02,
body#service-idx #content div#lv02-04{
  background: #fff url("../img/bg-company-idx-02_sp.png") right 0 no-repeat;
}
body#company-idx #content div#lv02-04 div.inner{
  padding: 60px 40px 100px 40px;
}
body#company-idx #content div#lv02-04 p.image{
  width: 300px;
  height: 276px;
}
body#service-idx #content div#lv02-01 ol{
  margin: 60px 0 0 0;
}
body#service-idx #content div#lv02-01 ol li h3 span.number{
  top: -40px;
	background-size: 80px 80px !important;
	-webkit-background-size: 80px 80px !important;
	-moz-background-size: 80px 80px !important;
	-ms-background-size: 80px 80px !important;
	-o-background-size: 80px 80px !important;
  width: 80px;
  height: 80px;
  line-height: 80px;
}
body#service-idx #content div#lv02-01 ol li h3 span.title{
  padding: 45px 16px 20px 16px;
}
body#service-idx #content div#lv02-01 ol li ul{
  padding: 20px 20px 0 20px;
}
body#service-idx #content div#lv02-04 div.inner p.image{
  right: -200px;
}

}



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

/* diagram */
div.diagram a.sp{
  display: block !important;
}
div.diagram p.image{
  display: none;
}
div.diagram{
  position: relative;
}
div.diagram span{
  display: block;
  position: absolute;
  width: 30px !important;
  height: 30px !important;
  right: 0;
  margin: -10px 0 0 0;
/*  right: 10px;
  margin: -40px 0 0 0;*/
}
div.diagram img{
  max-width: 100%;
  height: auto;
  width /***/:100%;
}

/**/
br.sp{
  display: block;
}
br.pc{
  display: none;
}
body#home #content div#pickup ul li h3{
  font-size: 1.6rem;
}
body#service-idx #content div#lv02-01 ol li h3 span.number{
  font-size: 1.8rem;
}
#main div#title-area{
  height: 300px;
}
#main div#title-area h1{
  font-size: 3.0rem;
}


/* menu */
#hdmenu,
#hdmenu .inner{
  width: 100%;
  padding: 0;
}
#hdmenu {
  top: 0;
  position: fixed;
  margin-top: 0;
}
#hdmenu.fixed {
  padding-top: 0;
  background: transparent;
}
#mobile-head {
  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;
  width: 100%;
  z-index: 999;
  position: relative;
}
#global-nav {
  position: absolute;
  top: -496px;
/*  top: 60px;*/
  background: #fff;
  width: 100%;
  text-align: center;
  padding: 0;
  -webkit-transition: .5s ease-in-out;
  -moz-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
}
div#hdmenu ul.menu,
div#hdmenu ul.menu li{
  position: static;
}
div#hdmenu ul.menu{
  list-style: none;
  right: 0;
  bottom: 0;
  padding: 0;
}
div#hdmenu ul.menu li{
  margin: 0;
  line-height: 10px;
}
div#hdmenu ul.menu li a{
  display: block;
  color: #303130;
  padding: 18px 16px;
  width: auto;
  height: 100%;
}
div#hdmenu ul.sns{
  padding: 10px !important;
}
div#hdmenu ul.sns li a{
  padding: 0;
  line-height: 40px;
}
div#hdmenu ul.sns li.FIR a{
  background-position: center center;
  background-repeat: no-repeat;
  height: 40px;
  width: 40px;
}
div#hdmenu ul.sns li.contact{
  margin: 0 0 0 10px;
  height: 100%;
  border: 1px solid #00b389;
}
div#hdmenu ul.sns li.contact a span{
  padding: 0 16px;
}
div#hdmenu.fixed ul.sns li.contact a,
div#hdmenu ul.sns li.contact a{
  padding: 0;
  line-height: 40px;
  color: #00b389;
}
div#hdmenu ul.sns li.language ul li{
  width: 50%;
  padding: 0;
}
div#hdmenu ul.sns li.language ul li a{
  padding: 10px 0 !important;
}
div#hdmenu ul.sns li.language ul li a,
div#hdmenu ul.sns li.language ul li a span{
  display: block;
  width: 100%;
  height: 100%;
  line-height: 1.5;
}
div#hdmenu ul.sns li.language ul li a span{
  padding: 0;
  width: 40px;
  line-height: 20px;
}
div#hdmenu.fixed ul.sns li.language,
div#hdmenu.fixed ul.menu{
  margin: 0;
  padding: 0;
}
div#hdmenu ul li a::after{
  display: none;
}
div#hdmenu ul li.home{
  text-indent: 0 !important;
}
div#hdmenu ul li.home a{
  width: auto !important;
  background-image: none !important;
}
div#hdmenu ul li.tw a{
  	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 ul li.fb a{
  	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 ul.main-menu li{
  text-align: left;
  border-bottom: 1px solid #ccc;
}
div#hdmenu ul.main-menu li a{
    position: relative;
    vertical-align: middle;
    text-decoration: none;
}
div#hdmenu ul.main-menu li a::before{
    position: absolute;
    top: 0;
    bottom: 0;
    right: 16px;
    margin: auto;
    content: "";
    vertical-align: middle;
    width: 5px;
    height: 5px;
    border-top: 1px solid #00b389;
    border-right: 1px solid #00b389;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
div#hdmenu ul.main-menu li,
div#hdmenu ul.menu{
  float: none;
  display: block;
}
div#hdmenu.fixed #global-nav{
  padding: 0;
}
div#hdmenu.fixed ul li.language ul li{
  height: 100%;
  line-height: 1.5;
}


/**/
#nav-toggle,
#nav-toggle span{
  display: block;
  position: absolute;
}
#nav-toggle{
  right: 12px;
  top: 10px;
  width: 40px;
  height: 40px;
  cursor: pointer;
  z-index: 101;
}
#nav-toggle div{
  position: relative;
}
#nav-toggle span{
  display: block;
  height: 2px;
  width: 20px;
  left: 10px;
  -webkit-transition: .35s ease-in-out;
  -moz-transition: .35s ease-in-out;
  transition: .35s ease-in-out;
}
#nav-toggle span:nth-child(1) {
  top: 13px;
  background: #c94628;
}
#nav-toggle span:nth-child(2) {
  top: 19px;
  background: #0c2e59;
}
#nav-toggle span:nth-child(3) {
  top: 25px;
  background: #2b403b;
}
.open #nav-toggle span:nth-child(1) {
  top: 18px;
  -webkit-transform: rotate(315deg);
  -moz-transform: rotate(315deg);
  transform: rotate(315deg);
}
.open #nav-toggle span:nth-child(2) {
  width: 0;
  left: 50%;
}
.open #nav-toggle span:nth-child(3) {
  top: 18px;
  -webkit-transform: rotate(-315deg);
  -moz-transform: rotate(-315deg);
  transform: rotate(-315deg);
}
.open #global-nav {
  -moz-transform: translateY(556px);
  -webkit-transform: translateY(556px);
  transform: translateY(556px);
}
div#hdmenu p#b-logo{
  margin: 0 0 0 20px;
  padding: 0;
}
div#hdmenu p#b-logo a,
div#hdmenu:hover 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;
	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;
}
body.en div#hdmenu p#b-logo a,
body.en div#hdmenu:hover 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 p#b-logo img{
  display: none;
}
/**/
div#text{
	background-size: 497px 1200px !important;
	-webkit-background-size: 497px 1200px !important;
	-moz-background-size: 497px 1200px !important;
	-ms-background-size: 497px 1200px !important;
	-o-background-size: 497px 1200px !important;
}
div#news-area dl,
div#news-area p.title,
body#service-idx #content div#lv02-01 ol{
  float: none;
  display: block;
  line-height: 30px;
}
div#news-area p.title{
  margin: 0;
}
div#news-area dl{
  margin: 0 0 10px 0;
}
div#news-area dl dd{
  margin: -30px 0 0 6em;
}
body#home div#scroll_down{
  left: 20px;
}
#content div.block div.inner{
  padding: 40px 20px;
}
body#home #content div#pickup ul li{
  background-position: 0 35px;
}
body#home #content div#pickup ul li h3{
  margin: 20px 0 15px 0;
  padding: 0 20px 0 20px;
	background-size: 10px 27px !important;
	-webkit-background-size: 10px 27px !important;
	-moz-background-size: 10px 27px !important;
	-ms-background-size: 10px 27px !important;
	-o-background-size: 10px 27px !important;
}
body#home #content div#pickup ul li p.text{
  margin: 0 0 20px 0;
  padding: 0 20px;
}
body#home #content div#pickup ul{
  flex-wrap: wrap;
}
body#home #content div#pickup ul li{
  width: 48%;
  margin: 2% 0 0 2%;
}
body#home #content div#pickup ul li.pu-01,
body#home #content div#pickup ul li.pu-03{
  margin: 2% 0 0 0;
}
#content div#contact-area div.title-area{
  padding: 40px 0;
}
#content div#contact-area div.mail a{
  width: auto;
  margin: auto 16px auto 0;
  padding: 0;
  height: 60px;
  line-height: 60px;
}
#content div#contact-area div.inner div.title-area h2,
#content div#contact-area div.inner div.title-area p{
  padding: 20px 0 20px 16px;
}
body#company-idx #content div#lead{
  padding: 40px 16px 40px 16px;
}
body#company-idx #content div#lv02-01 div.inner,
body#company-idx #content div#lv02-02 div.inner{
  width: 80%;
}
body#service-idx #content div#lv02-03{
  background: #e5f7f3 url("../img/bg-service-idx-01_sp.png") left 0 no-repeat;
}
body#company-idx #content div#lv02-01{
  background: url("../img/bg-company-idx-01_sp.png") left 0 no-repeat;
}
body#company-idx #content div#lv02-01 div.inner{
  margin: 0 0 0 auto;
  padding: 60px 16px 60px 0;
}
body#company-idx #content div#lv02-02 div.inner{
  padding: 60px 0 60px 16px;
}
body#service-idx #content div#lv02-01 div.inner,
body#company-idx #content div#lv02-03 div.inner{
  padding: 20px 16px;
}
body#company-idx #content div#lv02-04{
  background: url("../img/bg-company-idx-04_sp.png") left 0 no-repeat;
}
body#company-idx #content div#lv02-04 div.inner{
  padding: 40px 16px 10px 16px;
}
body#company-idx #content div#lv02-04 p.image{
  position: static;
  margin: 0 auto; 
}
#content{
	background-size: 300px 300px !important;
	-webkit-background-size: 300px 300px !important;
	-moz-background-size: 300px 300px !important;
	-ms-background-size: 300px 300px !important;
	-o-background-size: 300px 300px !important;
}
body#service-idx #content div#lv02-01 ol{
  margin: 20px 0 0 0;
}
body#service-idx #content div#lv02-01 ol > li{
  margin: 0 0 15px 0 !important;
  width: 100%;
}
body#service-idx #content div#lv02-01 ol li h3{
  text-align: left;
  padding: 5px;
  min-height: 40px;
}
body#service-idx #content div#lv02-01 ol li.service-02 h3,
body#service-idx #content div#lv02-01 ol li.service-03 h3{
  line-height: 1.5;
}
body#service-idx #content div#lv02-01 ol li h3 span.number{
  top: 0;
  margin: 5px;
	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;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
}
body#service-idx #content div#lv02-01 ol li h3 span{
  display: inline-block;
}
body#service-idx #content div#lv02-01 ol li h3 span.title{
  padding: 5px 5px 0 45px;
}
body#service-idx #content div#lv02-01 ol li ul{
  padding: 20px 20px 10px 20px;
}
body#service-idx #content div#lv02-01 ol li ul li{
  margin: 0 0 10px 0;
}


}

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

body#home #content div#pickup ul li p{
  font-size: 1.1rem;
}
body#home #content div#pickup ul li h3{
  font-size: 1.3rem;
}
#content div#contact-area div.mail a{
  font-size: 1.6rem;
}

div#text{
	background-size: 332px 800px !important;
	-webkit-background-size: 332px 800px !important;
	-moz-background-size: 332px 800px !important;
	-ms-background-size: 332px 800px !important;
	-o-background-size: 332px 800px !important;
}
div#news-area div.CFX{
  right: 0;
  left: 0;
  margin: 0 16px;
}
div#news-area p.title,
div#news-area dl{
  line-height: 1.5;
}
div#news-area p.title{
  margin: 0 0 5px 0;
  color: #fff;
}
div#news-area dl dd{
  margin: 0;
}
body#home div#scroll_down,
div#news-area dl{
  font-size: 1.2rem;
}
body#home div#scroll_down{
  bottom: 90px;
  line-height: 30px;
}
body#home div#scroll_down::before{
  width: 4px;
  height: 4px;
}

/**/
#content div.block div.inner{
  padding: 30px 16px;
}
#content h2{
  margin: 0 0 20px 0;
}
body#company-idx #content div#lv02-03 div.inner ul,
body#company-idx #content div#lv02-03 div.inner p.link,
body#home #content div#sns-area div.block,
#content div#contact-area div.inner div,
body#home #content div#pickup ul{
  float: none;
  display: block;
  width: 100%;
}
body#home #content div#pickup ul li{
  position: relative;
  background-position: 0 30px;
  width: 100%;
  margin: 10px 0 0 0 !important;
}
body#home #content div#pickup ul li p.image{
  position: absolute;
  overflow: hidden;
  top: 0;
  width: 90px;
  height: 100%;
}
body#home #content div#pickup ul li p.image img{
  transform: scale(1.6, 1.6);
}
body#home #content div#pickup ul li h3{
  margin: 0 0 10px 90px;
  padding: 0 20px 0 20px;
  line-height: 27px;
}
body#home #content div#pickup ul li p.text{
  margin: 0 0 0 90px;
  padding: 0 10px 10px 10px;
  line-height: 1.5;
}
#content div#contact-area div.mail,
#content div#contact-area div.title-area,
#content div#contact-area div.inner div.title-area h2,
#content div#contact-area div.inner div.title-area p{
  padding: 0;
  width: 100%;
}
#content div#contact-area div.inner div.title-area{
  margin: 0;
  background: none;
  padding: 10px 0;
}
/*body#home #sns-area,*/
body#company-idx.en #content div#lv02-04 p br,
#footer div.inner ul.ftmenu,
#content div#contact-area div.inner div.title-area p br{
  display: none;
}
#content div#contact-area div.inner div.title-area h2,
#content div#contact-area div.inner div.title-area p{
  padding: 5px 0 5px 0;
  color: #fff;
  text-align: center;
}
#content div#contact-area div.mail,
body#company-idx #content div#lv02-03 div.inner p.link{
  text-align: center;
}
#content div#contact-area div.mail a{
  position: static;
  display: inline-block;
  margin: 16px auto;
  padding: 10px 20px;
  line-height: 1.5;
  height: auto;
}
body#home #content div#sns-area div.fb div.fb-page,
body#home #content div#sns-area div.tw iframe{
  height: 200px;
}
body#home #content div#sns-area div.inner{
/*  padding: 420px;*/
  min-height: 600px;
}
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: auto;
}
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{
  padding: 40px 16px;
}
body#company-idx #content div#lv02-01 div.inner{
  margin: 0 0 0 auto;
}
body#company-idx #content div#lv02-03 div.inner p.link{
  margin: 20px 0 0 0;
}
body#service-idx #content .banners{
  margin: 10px 16px 30px 16px;
}
body#service-idx #content div#lv02-03 div.inner p.image,
body#service-idx #content div#lv02-04 div.inner p.image{
  position: static;
}
body#service-idx #content div#lv02-03 div.inner p.image,
body#service-idx #content div#lv02-04 div.inner p.image{
  padding: 0 0 10px 0;
  width: 120px;
  height: 120px;
}
body#service-idx #content div#lv02-03 h2,
body#service-idx #content div#lv02-04 h2{
  margin: 20px 0;
}


}
