@charset "utf-8";
/* default PC */

#contents .vision-area {
  margin:0 auto 50px;
  max-width:900px;
}

#contents #company .table-01 th {
  width:190px;
}

#contents #philosophy .ttl {
  font-size:23px;
  font-weight:bold;
  text-align:center;
}

#contents #philosophy .orange-box {
  background-image:url(../image/contents/about/about_img_02.jpg);
  background-position:center;
  background-repeat:no-repeat;
  background-size:cover;
  margin:0 auto;
  max-width:900px;
  padding:40px 70px;
  position:relative;
}

#contents #philosophy .orange-box .main-txt {
  align-items:center;
  bottom:0;
  color:#FFF;
  display:flex;
  font-size:32px;
  font-weight:bold;
  justify-content:center;
  left:0;
  line-height:1.8em;
  margin:auto;
  position:absolute;
  right:0;
  top:0;
}

#contents #philosophy .orange-box ul {
  margin:0 auto;
  max-width:900px;
}

#contents #philosophy .orange-box ul li {
  align-items:center;
  background-color:#FFF;
  border-radius:50%;
  color:#EA5700;
  display:flex;
  font-size:18px;
  height:150px;
  justify-content:center;
  padding:10px;
  text-align:center;
  width:150px;
}

#contents #philosophy .orange-box ul.box02 {
  margin:2px auto;
}

#contents #philosophy .orange-box ul.box01 {
  max-width:570px;
}

#contents #history .movie-box {
  margin:0 auto;
  max-width:700px;
}

#contents #works .link-bnr {
  background-color:#F3F3F3;
}

#contents #works .service-box .main-txt {
  font-size:25px;
  font-weight:bold;
}

.company-gallery .txt-3box {
  margin-bottom:30px;
}

#contents .board-member-name {
  font-size:130%;
  letter-spacing:1px;
  line-height:1.6;
  text-align:center;
}

#contents .board-member-name span {
  display:block;
  font-size:16px;
  margin:0;
  padding:0;
  text-align:center;
}

#contents .profile .img-2box {
  width:24%;
}

#contents .profile .img-2box-txt {
  margin-left:40px;
  width:calc(76% - 40px);
}

#contents .profile h4 {
  border-left:none;
  color:#333;
  font-size:115%;
  font-weight:500;
  letter-spacing:2px;
  margin:15px 0;
  padding:0;
}

#contents .profile h4 .name {
  display:block;
  font-size:175%;
  font-weight:bold;
  letter-spacing:5px;
  padding:12px 0;
}

#contents .profile .img-2box-txt p {
  background-color:#FFE6D5;
  border-left:4px solid #EB600D;
  display:block;
  float:left;
  margin:0 20px 0 0;
  padding:5px 15px;
  width:10em;
}

#contents .profile h4 .en {
    color:#EA5700;
    display:block;
    font-family:"Roboto";
    letter-spacing:1px;
    margin:10px 0 25px 0;
  }
  
  #contents .link-btn.arrow-beside::after {
    transform:rotate(135deg);
  }

/* view-1140 notePC,Tablet */
@media screen and (max-width: 1140px) {
}

/* view-959 Mobile,Tablet */
@media screen and (max-width: 959px) {
  #contents ul.no-mt.style-none.flex.start .txt-3box {
    margin-right:15px;
    width:calc(100% / 2 - 15px);
  }

  #contents #greeting .img-2box {
    width:30%;
  }

  #contents #greeting .img-2box-txt {
    margin-left:20px;
    width:calc(70% - 20px);
  }

  #contents #company .table-01 th {
    width:100%;
  }

  #contents #company li.no-mt br {
    display:none;
  }

  #contents .vision-box {
    margin-right:4%;
    width:48%;
  }

  #contents .vision-box.end {
    margin-right:0;
  }

  #contents #philosophy .ttl {
    font-size:19px;
  }

  #contents #philosophy .ttl br {
    display:none;
  }

  #contents #philosophy .orange-box ul li {
    font-size:16px;
    height:120px;
    width:120px;
  }

  #contents #philosophy .orange-box ul.box01 {
    max-width:75%;
  }

  #contents #philosophy .orange-box .main-txt {
    font-size:26px;
  }

  #contents #works .txt-3box.bnr-box {
    margin:0 15px 15px 0;
    width:calc(100% / 2 - 15px);
  }

  .table-01 tr:last-child td br {
    display:none;
  }

  #contents .link-bnr .txt-box {
    padding:5px 15px 20px;
  }

  .flex.board-member .txt-5box {
    margin:0 3% 20px 0;
    width:30%;
  }

  .flex.board-member {
    justify-content:flex-start;
  }

  .flex.board-member .txt-5box:nth-child(3n) {
    margin:0;
  }
}

@media screen and (max-width: 768px) {
  .company-gallery .txt-3box {
    width:calc(100% / 2 - 10px);
    margin-bottom: 20px;
  }
}

@media screen and (max-width: 720px) {
  #contents .vision-area {
    margin:0;
  }

  #contents .vision-box {
    margin-bottom:50px;
    margin-right:0;
    width:100%;
  }
}

@media screen and (max-width: 640px) {
  #contents #philosophy .orange-box {
    padding:40px 30px;
  }

  #contents #philosophy .orange-box .main-txt {
    font-size:23px;
  }
}

/* view-559 Mobile */
@media screen and (max-width: 559px) {
  #contents .board-member-name {
    font-size:min(5vw, 22px);
  }

  #contents .board-member-name span {
    font-size:min(3.7vw, 15px);
  }

  #contents .vision-box h2 {
    margin-bottom:min(4vw, 20px);
    padding-top:0;
  }

  #contents .vision-box {
    margin-bottom:min(10vw, 50px);
  }

  #contents ul.no-mt.style-none.flex.start .txt-3box {
    margin-right:2%;
    width:48%;
  }

  #contents #greeting .img-2box,
  #contents #greeting .img-2box-txt {
    margin-left:0;
    width:100%;
  }

  #contents #greeting .table-02 th,
  #contents #greeting .table-02 td {
    font-size:min(3.7vw, 15px);
  }

  #contents #company .table-01 th,
  #contents #company .table-01 td {
    font-size:min(3.7vw, 15px);
    padding:4%;
  }

  #contents #philosophy .ttl {
    font-size:min(4vw, 16px);
  }

  #contents #philosophy .orange-box ul li {
    font-size:3.5vw;
    height:28vw;
    line-height:7vw;
    width:28vw;
  }

  #contents ul.no-mt.style-none.flex.start .txt-3box a {
    padding:5% 3%;
  }

  #contents #philosophy .orange-box {
    padding:40px 10px;
  }

  #contents #philosophy .orange-box .main-txt {
    font-size:min(4vw, 16px);
  }

  #contents .timeline ul li .date {
    padding:0 15px 30px 0;
    width:80px;
  }

  #contents .timeline ul li p.txt {
    padding:0 0 30px 25px;
  }

  #contents .timeline ul li p.txt::before {
    height:15px;
    left:-9px;
    top:5px;
    width:15px;
  }

  #contents .movie-box {
    height:60vw;
  }

  #contents #works .service-box br {
    display:none;
  }

  #contents #works .txt-3box.bnr-box {
    margin-right:0;
    width:100%;
  }

  #contents .link-bnr .ttl {
    font-size:min(4.5vw, 18px);
  }

  .flex.board-member .txt-5box,
  .flex.board-member .txt-5box:nth-child(3n) {
    margin:0 5% 20px 0;
    width:45%;
  }

  .flex.board-member {
    justify-content:flex-start;
  }

  .flex.board-member .txt-5box:nth-child(2n) {
    margin-right:0;
  }
}

@media screen and (max-width: 450px) {
  #contents ul.no-mt.style-none.flex.start .txt-3box {
    margin-right:0;
    width:100%;
  }

  #contents ul.no-mt.style-none.flex.start .txt-3box a {
    max-width:100%;
    padding:min(4vw, 15px);
  }
}

/* 559以下はRWD時に崩れがあれば任意で作成 */

/* view-320 Mobile */
@media screen and (max-width: 320px) {
  .company-gallery .txt-3box {
    margin-bottom:15px;
    width:100%;
  }
}

/*IE*/
@media all and (-ms-high-contrast: none) {
}
