@charset "utf-8";
/* COMMON */
/* COMPANY */
.company .maintitle {
 text-align: center;
 letter-spacing: 0.1em;
 font-weight: 700;
 line-height: 1.2;
}
.company #companyinfo .textset a {
 color: #1e87ff;
}
.company #companyinfo .mapbox {
 position: relative;
}
.company #companyinfo .mapbox a.point {
 display: block;
 width: 3.5%;
 height: 6%;
 position: absolute;
 cursor: pointer;
}
.company #companyinfo .mapbox a.point.point01 {
 top: 25.5%;
 left: 24.2%;
}
.company #companyinfo .mapbox a.point.point02 {
 top: 41.8%;
 left: 48%;
}
.company #companyinfo .mapbox a.point.point03 {
 top: 47.2%;
 left: 57.4%;
}
.company #companyinfo .mapbox a.point.point04 {
 top: 55.2%;
 left: 24%;
}
.company #companyinfo .mapbox a.point.point05 {
 top: 55.2%;
 left: 29.5%;
}
.company #companyinfo .mapbox a.point.point06 {
 top: 63.7%;
 left: 14.6%;
}
.company #companyinfo .mapbox a.point.point07 {
 top: 75%;
 left: 14.8%;
}
.company #companyinfo .roombg {
 background: #000;
 color: #fff;
 position: absolute;
 display: none;
}
.company #companyinfo .roombg .label {
 margin: 0 0 3% 0;
}
.company #companyinfo .roombg .roomclose {
 position: absolute;
 cursor: pointer;
}
.company #companyinfo .roombg .companypic {
 display: none;
}
/* PC */
@media screen and (min-width:768px) {
 #maincontents.company {
  padding: 120px 0 0 0;
 }
 .company .maintitle {
  font-size: 72px;
  margin: 0 0 70px 0;
 }
 .company .titlewrap {
  text-align: left;
 }
 .company .title {
  font-size: 36px;
  font-weight: 800;
  letter-spacing: 0.05em;
  line-height: 1.2;
  margin: 0 0 5px 0;
 }
 .company .subtitle {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.2;
 }
 .company #message {
  background: #000;
  color: #fff;
 }
 .company #message .sectioninner {
  max-width: 1200px;
  padding: 90px 55px 60px 55px;
  margin: 0 auto;
 }
 .company #message .contentswrap {
  display: flex;
  justify-content: space-between;
 }
 .company #message .titlewrap {
  width: 26%;
 }
 .company #message .contentsbody {
  width: 69%;
  display: flex;
  justify-content: space-between;
 }
 .company #message .textbox {
  width: 72%;
 }
 .company #message .picbox {
  width: 25%;
 }
 .company #message .textbox .text {
  font-size: 16px;
  line-height: 2;
 }
 .company #message .picbox .pic {
  margin: 5px 0 15px 0;
 }
 .company #message .picbox .name {
  font-size: 20px;
  line-height: 1.5;
  font-weight: 600;
 }
 .company #message .picbox .name .label {
  font-size: 16px;
  line-height: 1.8;
  font-weight: 400;
 }
 .company #companyinfo {
  max-width: 1200px;
  padding: 120px 55px 200px 55px;
  margin: 0 auto;
 }
 .company #companyinfo .contentswrap {
  display: flex;
  justify-content: space-between;
 }
 .company #companyinfo .titlewrap {
  width: 26%;
 }
 .company #companyinfo .contentsbody {
  width: 69%;
 }
 .company #companyinfo .textset {
  width: 100%;
  display: flex;
  justify-content: space-between;
  font-size: 16px;
  line-height: 1.8;
  margin: 0 0 30px 0;
 }
 .company #companyinfo .textset dt {
  width: 18%;
 }
 .company #companyinfo .textset dd {
  width: 80%;
 }
 .company #companyinfo .textset dd .label {
  display: inline-block;
  width: 9em;
 }
 .company #companyinfo .textset dd .body {
  display: inline-block;
  width: 10em;
 }
 .company #companyinfo .textset dd .pic01 {
  display: inline-block;
  width: 60px;
 }
 .company #companyinfo .textset dd .pic02 {
  display: inline-block;
  width: 60px;
 }
 .company #companyinfo .textlabel {
  font-size: 16px;
  font-weight: 500;
  margin: 0 0 10px 0;
 }
 .company #companyinfo .map {
  margin: 120px 0 0 0;
 }
 .company #companyinfo .roombg {
  width: 60%;
  padding: 3% 5%;
  top: 15%;
  left: 20%;
 }
 .company #companyinfo .roombg .label {
  font-size: 14px;
 }
 .company #companyinfo .roombg .roomclose {
  top: 5px;
  right: 5px;
  width: 40px;
  height: 40px;
  padding: 10px;
 }
 .company #mvv {
  max-width: 1200px;
  padding: 120px 55px 200px 55px;
  margin: 0 auto;
 }
 .company #mvv .contentswrap {
  display: flex;
  justify-content: space-between;
 }
 .company #mvv .titlewrap {
  width: 26%;
 }
 .company #mvv .contentsbody {
  width: 69%;
 }
 .company #mvv .text {
  font-size: 16px;
  line-height: 1.8;
 }
 .company #mvv .btnwrap {
  max-width: 1200px;
  padding: 0 55px;
  margin: 50px auto 0 auto;
  text-align: right;
 }
 .company #communication {
  max-width: 1200px;
  padding: 120px 55px 200px 55px;
  margin: 0 auto;
 }
 .company #communication .contentsbody {
  margin: 100px 0 0 0;
 }
 .company #communication .pic {
  max-width: 620px;
  margin: 0 auto 30px auto;
 }
 .company #communication .text {
  font-size: 12px;
  line-height: 1.8;
 }
 .company #communication .box02 {
  margin: 100px 0 0 0;
 }
 .company #business {
  max-width: 1200px;
  padding: 120px 55px 200px 55px;
  margin: 0 auto;
 }
 .company #business .contentswrap {
  display: flex;
  justify-content: space-between;
 }
 .company #business .titlewrap {
  width: 26%;
 }
 .company #business .contentsbody {
  width: 69%;
 }
 .company #client {
  max-width: 1200px;
  padding: 120px 55px 200px 55px;
  margin: 0 auto;
 }
 .company #client .contentswrap {
  display: flex;
  justify-content: space-between;
 }
 .company #client .titlewrap {
  width: 26%;
 }
 .company #client .contentsbody {
  width: 69%;
 }
 .company #client .textlist {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
 }
 .company #client .textlist li {
  font-size: 16px;
  margin: 0 0 5% 0;
 }
 .company #office {
  max-width: 1200px;
  padding: 120px 55px 200px 55px;
  margin: 0 auto;
 }
 .company .roomslide {
  background: #000;
  width: 700px;
  padding: 30px;
  margin: 30px auto 0 auto;
  color: #fff;
 }
 .company .roomslide .label {
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0.1em;
  margin: 0 0 10px 0;
 }
 .company .roomslide .caption {
  font-size: 16px;
  line-height: 1.5;
  margin: 10px 0 0 0;
 }
 .company .slick-dots {
  bottom: -40px;
 }
 .company .slick-dots li {
  width: 12px;
  margin: 0 10px;
 }
 .company .slick-dots li button {
  padding: 0;
  width: 12px;
  height: 12px;
  background: #dedede;
  border-radius: 6px;
  transition: 0.3s;
 }
 .company .slick-dots li.slick-active button {
  padding: 0;
  background: #333;
 }
}
/* SP */
@media screen and (max-width:767px) {
 #maincontents.company {
  padding: 4% 0 0 0;
 }
 .company .maintitle {
  font-size: 6.5vw;
  margin: 0 0 8% 0;
 }
 .company .titlewrap {
  text-align: center;
  margin: 0 0 8% 0;
 }
 .company .title {
  font-size: 6.5vw;
  font-weight: 800;
  letter-spacing: 0.05em;
  line-height: 1.2;
  margin: 0 0 1% 0;
 }
 .company .subtitle {
  font-size: 4vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.2;
 }
 .company #message {
  background: #000;
  color: #fff;
  padding: 10% 5%;
 }
 .company #message .textbox .text {
  font-size: 3.5vw;
  line-height: 2;
 }
 .company #message .picbox {
  margin: 8% 0 0 40%;
 }
 .company #message .picbox .pic {
  margin: 0 0 5% 0;
 }
 .company #message .picbox .name {
  font-size: 4vw;
  line-height: 1.5;
  font-weight: 600;
 }
 .company #message .picbox .name .label {
  font-size: 3.5vw;
  line-height: 1.8;
  font-weight: 400;
 }
 .company #companyinfo {
  padding: 10% 5%;
 }
 .company #companyinfo .textset {
  width: 100%;
  display: flex;
  justify-content: space-between;
  font-size: 3.5vw;
  line-height: 1.8;
  margin: 0 0 5% 0;
 }
 .company #companyinfo .textset dt {
  width: 18%;
 }
 .company #companyinfo .textset dd {
  width: 80%;
 }
 .company #companyinfo .textset dd .label {
  display: inline-block;
  width: 9em;
 }
 .company #companyinfo .textset dd .body {
  display: inline-block;
  width: 10em;
 }
 .company #companyinfo .textset dd .pic01 {
  display: inline-block;
  width: 40px;
 }
 .company #companyinfo .textset dd .pic02 {
  display: inline-block;
  width: 40px;
 }
 .company #companyinfo .textlabel {
  font-size: 3.5vw;
  font-weight: 500;
  margin: 0 0 2% 0;
 }
 .company #companyinfo .map {
  margin: 10% 0 0 0;
 }
 .company #companyinfo .roombg {
  width: 90%;
  padding: 3% 5%;
  top: -5%;
  left: 5%;
 }
 .company #companyinfo .roombg .label {
  font-size: 3vw;
 }
 .company #companyinfo .roombg .roomclose {
  top: 0;
  right: 5px;
  width: 20px;
  height: 20px;
  padding: 5px;
 }
 .company #mvv {
  padding: 10% 5%;
 }
 .company #mvv .text {
  font-size: 3.5vw;
  line-height: 1.8;
  text-align: center;
 }
 .company #mvv .btnwrap {
  width: 60%;
  margin: 8% auto 0 auto;
 }
 .company #communication {
  padding: 10% 5%;
 }
 .company #communication .subtitle {
  text-align: left;
 }
 .company #communication .pic {
  margin: 0 0 5% 0;
 }
 .company #communication .text {
  font-size: 3vw;
  line-height: 1.8;
 }
 .company #communication .box02 {
  margin: 10% 0 0 0;
 }
 .company #business {
  padding: 10% 5%;
 }
 .company #client {
  padding: 10% 5%;
 }
 .company #client .textlist li {
  font-size: 3.5vw;
  margin: 0 0 5% 0;
  text-align: center;
 }
 .company #office {
  padding: 10% 5%;
 }
 .company #office .subtitle {
  text-align: left;
 }
 .company .roomslide {
  background: #000;
  width: 100%;
  padding: 5%;
  margin: 8% auto 0 auto;
  color: #fff;
 }
 .company .roomslide .label {
  font-size: 5vw;
  font-weight: 600;
  margin: 0 0 10px 0;
 }
 .company .roomslide .caption {
  font-size: 3.5vw;
  line-height: 1.5;
  margin: 10px 0 0 0;
 }
 .company .slick-dots {
  bottom: -40px;
 }
 .company .slick-dots li {
  width: 16px;
  margin: 0 8px;
 }
 .company .slick-dots li button {
  padding: 0;
  width: 16px;
  height: 16px;
  background: #dedede;
  border-radius: 8px;
  transition: 0.3s;
 }
 .company .slick-dots li.slick-active button {
  padding: 0;
  background: #333;
 }
}
/* MIDDLE */
@media screen and (min-width:768px) and (max-width:1000px) {}