@charset "UTF-8";

/* ---------------------------------------------------------
MEDIA QUERY FORMAT
----------------------------------------------------------*/
@media screen and (max-width: 980px) {
}

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

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

@media screen and (max-width: 320px) {
}

/* ---------------------------------------------------------
mainVisual
----------------------------------------------------------*/
#mainVisual {
}

#mainVisual .ph {
}

#mainVisual .ttl {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 100%;
  text-align: center;
}

#mainVisual .ttl img {
  width: 100%;
  max-width: 1185px;
}

/* ---------------------------------------------------------
news
----------------------------------------------------------*/
#news {
  background: #f3f3f3;
  padding: 50px 0;
}

#news .sttl {
  float: left;
  width: 32.5%;
  padding: 2.5% 7.4% 2.5% 2.5%;
}

#news .box {
  float: right;
  border-left: 1px solid rgba(0,0,0,.2);
  width: 67.5%;
  padding: 0.8% 0 1.5% 2.9%;
}

#news .box dl {
  width: 100%;
  padding: 10px 0 5px 0;
  border-bottom: 1px dotted rgba(0,0,0,.2);
}

#news .box dl dt {
  float: left;
  margin: 0 -130px 0 0;
}

#news .box dl dt p {
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 20px;
  line-height: 2rem;
  letter-spacing: 0.05em;
  font-weight: bold;
  padding: 0 0 0 0.5em;
}

#news .box dl dd {
  float: right;
  width: 100%;
  margin: 0 0 0 -130px;
  padding: 0 0 0 130px;
}

#news .box dl dd p {
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 20px;
  line-height: 2rem;
  letter-spacing: 0.05em;
}

/* ---------------------------------------------------------
business
----------------------------------------------------------*/
#business {
  background: #082143;
  color: #fff;
}

#business .sttl {
  max-width: 232px;
  margin: 0 auto;
  padding: 5% 0;
}

#business ul {
  text-align: center;
  font-size: 0;
  line-height: 1;
  letter-spacing: 0;
}

#business ul li {
  display: inline-block;
  vertical-align: top;
  background: #051325;
  width: 25%;
}

#business ul li .ph img {
  opacity: 0.4;
}

#business ul li:hover a .ph img {
  opacity: 1;
}

#business ul li .pos {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 100%;
}

#business ul li .ttl {
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 23px;
  line-height: 2.3rem;
  letter-spacing: 0.05em;
  font-weight: bold;
  padding: 5px;
}

#business ul li .text {
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 18px;
  line-height: 1.8rem;
  letter-spacing: 0.05em;
  padding: 5px;
}

#business ul li .text2 {
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 18px;
  line-height: 1.8rem;
  letter-spacing: 0;
  padding: 5px;
}

/* ---------------------------------------------------------
solution
----------------------------------------------------------*/
#solution {
}

#solution .pos {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 100%;
}

#solution .sttl {
  text-align: center;
  padding: 0 0 50px 0;
}

#solution .sttl img {
  max-width: 115px;
}

#solution .ttl {
  text-align: center;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 24px;
  line-height: 2.4rem;
  font-weight: bold;
  padding: 0 0 2% 0;
}

#solution .box {
  text-align: center;
  font-size: 0;
  line-height: 1;
  letter-spacing: 0;
}

#solution .left {
  width: 32%;
}

#solution .right {
  width: 61%;
}

#solution .cont {
  display: inline-block;
  vertical-align: top;
  text-align: justify;
  margin: 1.5%;
}

#solution .cont ul {
  background: rgba(255,255,255,.6);
  border: 1px solid rgba(0,0,0,.2);
  padding: 20px;
}

#solution .left ul li {
  width: 100%;
}

#solution .right ul li {
  width: 47%;
}

#solution .right ul li.border {
  width: 6%;
}

#solution .right ul li.border::before {
  display: block;
  content: "";
  width: 1px;
  height: 100%;
  background: rgba(0,0,0,.2);
  margin: 0 0 0 50%;
}

#solution .cont ul li {
  display: inline-block;
  vertical-align: top;
}

#solution .cont .title {
  color: #082143;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 25px;
  line-height: 2.5rem;
  font-weight: bold;
  padding: 0 0 20px 0;
}

#solution .cont .title::before {
  display: inline-block;
  vertical-align: top;
  content: "";
  width: 46px;
  height: 25px;
  background: url(../imgs/ico-solution.png) center center no-repeat;
  background-size: contain;
  margin: 0 10px 0 0;
}

#solution .cont .problem {
  color: #3e587c;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 26px;
  line-height: 2.6rem;
  padding: 0 0 10px 0;
}

#solution .cont .detail {
  color: #3e587c;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 23px;
  line-height: 2.3rem;
}

#solution .cont .detail::after {
  display: block;
  content: "";
  background: url(../imgs/ico-arrow-down.png) center center no-repeat;
  background-size: cover;
  width: 33px;
  height: 33px;
  margin: 10px auto;
}

#solution .cont .leading {
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 23px;
  line-height: 2.3rem;
  font-weight: bold;
}

#solution .cap {
  max-width: 960px;
  margin: auto;
}

/* ---------------------------------------------------------
company
----------------------------------------------------------*/
#company {
  background: #082143;
  color: #d2d2d2;
  padding: 50px 0;
}

#company .sttl {
  float: left;
  width: 32.5%;
  padding: 2.5% 2.5% 2.5% 2%;
}

#company .box {
  float: right;
  border-left: 1px solid rgba(255,255,255,.2);
  width: 67.5%;
  padding: 0.8% 0 1.5% 2.9%;
}

#company .box dl {
  width: 100%;
  padding: 10px 0 5px 0;
  border-bottom: 1px dotted rgba(255,255,255,.2);
}

#company .box dl dt {
  float: left;
  margin: 0 -130px 0 0;
}

#company .box dl dt p {
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 20px;
  line-height: 2rem;
  letter-spacing: 0.05em;
  font-weight: bold;
  padding: 0 0 0 0.5em;
}

#company .box dl dd {
  float: right;
  width: 100%;
  margin: 0 0 0 -130px;
  padding: 0 0 0 130px;
}

#company .box dl dd p {
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 20px;
  line-height: 2rem;
  letter-spacing: 0.05em;
}

/* ---------------------------------------------------------
partner
----------------------------------------------------------*/
#partner {
  background: #f3f3f3;
  padding: 50px 0;
}

#partner .sttl {
  float: left;
  width: 32.5%;
  padding: 2.5% 11.9% 2.5% 2.5%;
}

#partner .box {
  float: right;
  border-left: 1px solid rgba(0,0,0,.2);
  width: 67.5%;
  padding: 0.8% 0 1.5% 2.9%;
}

#partner .box ul {
  text-align: left;
  font-size: 0;
  line-height: 1;
  letter-spacing: 0;
}

#partner .box ul li {
  display: inline-block;
  padding: 11px;
}

#partner .box ul li a {
  display: block;
}

#partner .box ul li a img {
  max-height: 60px;
}
