@charset "utf-8";

section#mv > div > h2 {
  background: url(../../img/cmpny/cap_cmpny.png) no-repeat /*96%*/right center;
  background-size: auto 36%;
}
.en section#mv > div > h2 {
  background: none;
}

#prfl > div > h3,
section > div > h3 {
  margin: 0 auto 60px;
  text-align: left;
}
section > div > dl.flx,
#ofcr > dl.flx {
  border-top: 1px solid #CCC;
}
.en section > div > dl.flx,
.en #prfl > div > div {
  margin: 0 auto 96px;
}
section > div > dl.flx > *,
#ofcr > dl.flx > * {
  width: 270px;
  margin: 0;
  padding: 16px 0;
  border-bottom: 1px solid #CCC;
  text-align: left;
}

#prfl > div > dl > dd,
#hstry > div > dl > dd {
  width: calc(100% - 270px);
}
#ofcr > div > dl,
#ofcr > dl {
  border-left: 1px solid #CCC;
  border-right: 1px solid #CCC;
}
#prfl > div > dl > dd.flx {
  align-items: flex-end;
  gap: 0 2%;
  justify-content: flex-start;
}
#prfl > div > dl > dd img {
  max-width: 400px;
}
#prfl > div > dl > dd > ol.km.ttl {
  margin: 0 auto 3px 2rem;
}
#prfl > div > dl > dd > ol.km.ttl li:before {
  content: '■ ';
}

section#ofcr > div > ul.flx > *,
#ofcr > ul > * {
  width: 22%;
}
section#ofcr > div > ul.flx > * img,
.en #ofcr > ul.flx > * img {
  margin: 0 auto 9px;
}
section#ofcr > div > ul.flx > li p,
#ofcr > ul.flx > li > p {
  font-weight: bold;
  text-align: center;
}
section#ofcr > div > ul.flx > * p:before {
  content: '代表取締役社長';
  display: block;
  font-size: .8rem;
}
.en #ofcr > ul.flx > li > p:before {
  color: #4d4d4d;
  content: 'President';
  display: block;
  font-size: .8rem;
  font-weight: normal;
}
section#ofcr > div > ul.flx > li:nth-child(2) p:before {
  content: '代表取締役副社長';
}
.en #ofcr > ul.flx > li:nth-child(2) > p:before {
  content: 'Senior Executive Vice President';
}
section#ofcr > div > ul.flx > li:nth-child(3) p:before {
  content: '取締役副社長';
}
.en #ofcr > ul.flx > li:nth-child(3) > p:before {
  content: 'Senior Executive Vice President';
}
section#ofcr > div > ul.flx > li:nth-child(4) p:before {
  content: '常務取締役';
}
.en #ofcr > ul.flx > li:nth-child(4) > p:before {
  content: 'Executive Vice President';
}
section#ofcr > div > dl.flx > *,
#ofcr > dl.flx > * {
  padding: 16px 1.6%;
}
#ofcr > div > dl > dt {
  width: 220px;
}
.en #ofcr > dl.flx > dt {
  width: 320px;
  color: #4d4d4d;
}
#ofcr > div > dl > dd:nth-child(2),
#ofcr > div > dl > dd:nth-child(3n + 2),
#ofcr > dl > dd:nth-child(2),
#ofcr > dl > dd:nth-child(3n + 2),
.en #ofcr > dl > dd:nth-child(2n) {
  width: 140px;
  border-left: 1px solid #CCC;
  border-right: 1px solid #CCC;
}
.en #ofcr > dl > dd:nth-child(2),
.en #ofcr > dl > dd:nth-child(2n) {
  width: calc(100% - 320px);
}
#ofcr > div > dl > dd:nth-child(3n),
#ofcr > dl > dd:nth-child(3n) {
  width: calc(100% - 360px);
}
section#ofcr > div > dl.flx > *.r_nn,
#ofcr > div > dl.flx > *.r_nn,
#ofcr > dl.flx > *.r_nn,
.en #ofcr > dl > dd.r_nn {
  border-right: none;
}
section > div > dl.flx > *.b_nn,
.en #ofcr > dl > *.b_nn {
  border-bottom: none;
}

.en section div#orgnztn > p span {
  display: block;
  padding: 6px 0 0;
}


main section#mssg > div > h4 {
  padding: 9px 0;
  background: none;
  color: #021d4b;
  font-size: min(4.8vw, 1.4rem);
  line-height: 1.3;
}

section#opn > div > dl.flx > * {
  width: 280px;
}
#opn > div > dl.flx > dd {
  width: calc(100% - 280px);
}
#opn > div > dl.flx > dd:before {
  width: 30px;
  height: 1.2rem;
  margin: 3px auto -3px;
  background: transparent url(../../img/ico_pdf.png) no-repeat right center;
  background-size: contain;
  content: ' ';
  display: inline-block;
}
#opn > div > dl:last-child > dd:nth-child(3n + 2):before {
  width: 0;
  background: none;
}
#opn > div > dl:last-child > dt {width: 120px;}
#opn > div > dl:last-child > dd {width: 280px;}
#opn > div > dl:last-child > dd:nth-child(3n) {
  width: calc(100% - 400px);
}

#prfl > div > dl > dd table{
  width: 100%;
  margin: 6px auto 0;
}
#prfl > div > dl > dd table tr > *{
  padding: 6px 1vw;
  background: #fff;
  border: 1px solid #999;
  text-align: center;
}
#prfl > div > dl > dd table tr > th {
  background: #e6e6e6;
}

#prfl > div > dl > dd ol > li {
  margin: 0 auto 9px;
}

#hstry > div > dl > dd {
  font-weight: bold;
}
#hstry > div > dl > dd span {
  padding: 9px 0 0;
  display: inline-block;
  font-size: .9rem;
  font-weight: normal;
}

main p {
  margin: 0 auto 30px;
  text-align: left;
}

section#opn > div > dl {
  margin: 0 auto 66px;
}

#envnt > div> p.mb50a img {
  margin: 0 auto 66px;
}

#be_plcy {
  counter-reset: number 0;
  text-align: left;
}
#be_plcy > li {
  margin: 0 auto 33px;
}
#be_plcy > li > h5 {
  margin: 0 auto 9px;
  font-size: 1.1rem;
}
#be_plcy > li > h5:before {
  counter-increment: number 1;
  content: counter(number) " "; 
}
#be_plcy > li > p {
  padding: 0 0 0 1.2rem;
}

#bx_tb li a {
  height: 100%;
  padding: 6px 1%;
  display: flex;
  flex-direction: column-reverse;
  line-height: 1.4;
}
#bx_tb li * {
  justify-content: center;
}

#qlfctn > div > table {
  width: 100%;
  margin: 0 auto 16px;
}
#qlfctn > div > table caption {
  padding: 9px 0 0;
  caption-side:bottom;
}
#qlfctn table th {
  padding: 6px 1%;
  background: #666;
  color: #fff;
  text-align: center;
}
#qlfctn table th:first-child {
  width: 212px;
  background: #006699/* ffdddd */ url(../../img/cmpny/bg_qlfctn0.jpg) no-repeat center 0;
  background-size: 100% auto;
  border: 1px solid #ccc;
  color: #fff/* 111 */;
  font-weight: bold;
  text-align: left;
}
/* #qlfctn table#elctrc th:first-child {
  background-color: #ffee99;
  background-image: url(../../img/cmpny/bg_qlfctn2.jpg);
}
#qlfctn table#archi_t th:first-child {
  background-color: #ccddee;
  background-image: url(../../img/cmpny/bg_qlfctn3.jpg);
}
#qlfctn table#wrlss th:first-child {
  background-color: #cceedd;
  background-image: url(../../img/cmpny/bg_qlfctn4.jpg);
}
#qlfctn table#p_cld th:first-child {
  background-color: #ffff99;
  background-image: url(../../img/cmpny/bg_qlfctn6.jpg);
}
#qlfctn table#pb_cld th:first-child {
  background-color: #ccddff;
  background-image: url(../../img/cmpny/bg_qlfctn7.jpg);
}
#qlfctn table#dx th:first-child {
  background-color: #cceecc;
  background-image: url(../../img/cmpny/bg_qlfctn8.jpg);
}
#qlfctn table#scrty th:first-child {
  background-color: #ffeeff;
  background-image: url(../../img/cmpny/bg_qlfctn10.jpg);
}
#qlfctn table#othr th:first-child {
  background-color: #e6e6e6;
  background-image: url(../../img/cmpny/bg_qlfctn11.jpg);
}
/* 20241210 Add 
#qlfctn table#iot th:first-child {
  background-color: #CCFFFF;
  background-image: url(../../img/cmpny/bg_qlfctn5.jpg);
}
#qlfctn table#prmgt th:first-child {
  background-color: #FBE2D5;
  background-image: url(../../img/cmpny/bg_qlfctn9.jpg);
} */
/* #qlfctn table thead {display: none;} */
#qlfctn table th:last-child {
  width: 220px;
  border-left: 1px solid #ccc;
}
#qlfctn table td {
  padding: 6px 1%;
  background: #fff;
  border: 1px solid #ccc;
  text-align: left;
}
#qlfctn table td:nth-child(2) {
  text-align: center;
}
#qlfctn table tr:last-child td,
#qlfctn table tr:last-child td:nth-last-child(2) {
  background: #e6e6e6;
}
#qlfctn table tr:last-child td:nth-last-child(2) {
  text-align: right;
}

#qlfctn ol,
#qlfctn ul#lst {
  margin: 0 auto 60px;
  justify-content: flex-start;
  gap: 6px 2%;
}

#qlfctn ol > li a {
  padding: 6px 16px;
  background: #fff;
  border: 1px solid;
  border-radius: 2rem;
  color: #021d4b;
  display: block;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

#qlfctn ul#lst > li{
  width: 30%;
}
#qlfctn ul#lst > li > div {
  margin: 0 auto 16px;
  padding: 3%;
  background: #fff;
}
#qlfctn ul#lst > li > div h4 {
  width: 100%;
  min-height: 80px;
  padding: 16px 1%;
  background: #006699 url(../../img/cmpny/bg_qlf1.jpg) no-repeat center;
  background-size: 100% auto;
  border: 1px solid #ccc;
  color: #fff;
  font-size: min(3.2vw, 1.4rem);
  font-weight: normal;

  display: flex;
  flex-wrap: wrap;
  align-content: center;
  vertical-align: middle;
  justify-content: center;
}
#qlfctn ul#lst > li > div h4 span {
  width: 100%;
  padding: 6px 0 0;
  display: block;
  font-size: min(2.2vw, 1rem);
}
#qlfctn ul#lst > li > div h4 span.f_en {
  font-size: min(1.8vw, .8rem);
}
#qlfctn ul#lst > li > div h4 + p {
  margin: 0 auto;
  padding: 6px 0;
  color: #998866;
  font-size: min(9vw, 4rem);
  font-weight: 300;
  text-align: center;
}
#qlfctn ul#lst > li > div h4 + p:after {
  color: #021d4b;
  content: '名';
  font-size: min(4vw, 2rem);
}
#qlfctn ul#lst ol > li a {
  font-size: min(2vw, .8rem);
  pointer-events: none;
}

@media (max-width: 1100px) {
  #srvc ul dl.flx > dt {
    width: 50%;
    overflow: hidden;
    position: relative;
    background: url(../../img/top/srvc1.jpg) no-repeat center 0;
    z-index: 3;
    background-size: cover;
  }
  #srvc ul li:nth-child(2) dl.flx > dt {
    background-image: url(../../img/top/srvc2.jpg);
  }
  #srvc ul li:nth-child(3) dl.flx > dt {
    background-image: url(../../img/top/srvc3.jpg);
  }
  #srvc ul dl.flx > dt > img {
    position: fixed;
    z-index: -5;
  }
}


@media (max-width: 770px) {
  section#mv > ul#mvbg + ul > li:nth-child(2) {background-size: auto 55%;}
  section#mv > ul#mvbg + ul > li:nth-child(3) {background-size: auto 47%;}
  section#mv > ul#mvbg + ul > li:nth-child(4) {background-size: auto 46%;}

  section#mv > ul#mvbg + ul > li:nth-child(2) div,
  section#mv > ul#mvbg + ul > li:nth-child(3) div,
  section#mv > ul#mvbg + ul > li:nth-child(4) div {
    align-items: self-start;
  }
  section#mv > ul#mvbg + ul > li p {font-size: min(6vw, 3.6rem);}
  section#mv > ul#mvbg + ul > li:nth-child(2) p {
    margin: 23vh 0 0;
    padding: 0 56% 0 0;
  }
  section#mv > ul#mvbg + ul > li:nth-child(3) p {
    margin: 23vh 0 0;
    padding: 0 0 0 42%;
  }
  section#mv > ul#mvbg + ul > li:nth-child(4) p {
    margin: 21vh 0 0;
    padding: 0 42% 0 0;
  }

}


@media (max-width: 640px) {
  section#mv > div > h2 {
    background: none;
    background-position: right 23%;
  }

  #prfl > div > h3,
  main > section > div > h3 {
    margin: 0 auto 39px;
    font-size: min(6vw, 1.8rem);
    line-height: 1.2;
    text-align: left;
  }

  #bx_tb ul {
    flex-wrap: wrap;
    gap: 3px 0;
  }
  #bx_tb li {
    width: 23.4vw;
    display: flex;
  }
  #bx_tb li a {
    width: 100%;
    line-height: 1.2;
  }
  #bx_tb li:nth-child(2) a,
  #bx_tb li:last-child a {
    width: 100%;
/*     padding: 3% 0 0; */
  }

  section > div > dl.flx {
    display: block;
  }
  section > div > dl.flx > *,
  #prfl > div > dl > dd,
  #hstry > div > dl > dd {
    width: 100%;
  }
  section > div > dl.flx > dt {
    padding: 16px 0 0;
    border: none;
  }
  #ofcr > div > dl.flx > dt:not(.b_nn) {
    border-bottom: 1px solid #ccc;
  }
  #prfl > div > dl > dd.flx {
    display: block;
  }
/*   #prfl > div > dl > dd a {pointer-events: none; } */
  #prfl > div > dl > dd img {
    max-width: 100%;
    width: 100%;
  }
  #prfl > div.nst,
  #mssg > div.nst {width: 92%;}

  #mssg > div > p.pht {
    overflow: hidden;
  }
  #mssg > div > p.pht img {
    width: 120%;
    max-width: unset;
    margin: 0 auto 0 -10%;
  }

  section#ofcr > div > ul.flx > *,
  .en #ofcr > ul > * {
      width: 100%;
      text-align: left;
      display: flex;
      justify-content: space-around;
      margin: 0 auto 28px;
  }
  section#ofcr > div > ul.flx > * img,
  .en #ofcr > ul.flx > * img {
    width: 40%;
    margin: 0;
  }
  .en #ofcr > ul.flx > * img {width: 33%;}
  section#ofcr > div > ul.flx > li p,
  .en #ofcr > ul.flx > li > p {
    text-align: left;
    margin: 0;
    width: 48%;
  }
  .en #ofcr > ul.flx > li > p {width: 57%;}
  section#ofcr > div > ul.flx > * p:before {
    margin: 0 auto 6px;
  }

  #ofcr > div > dl {display: flex;}
  #ofcr > div > dl > dt {
    width: 160px;
  }
  .en #ofcr > dl.flx {font-size: .8rem;}
  .en #ofcr > dl.flx > dt {width: calc(100% - 180px);}
  .en #ofcr > dl > dd:nth-child(2),
  .en #ofcr > dl > dd:nth-child(2n) {
    width: 180px
  }
  #ofcr > div > dl > dd:nth-child(2),
  #ofcr > div > dl > dd:nth-child(3n + 2) {
    width: calc(100% - 160px);
  }
  #ofcr > div > dl > dd span {font-weight: normal;}

  #hstry > div > dl > dd {padding: 3px 0 16px;}

  section#opn > div > dl {
    margin: 0 auto 60px;
    display: flex;
  }
  section#opn > div > dl.flx > * {
    border-bottom: 1px solid #ccc;
  }
  #opn > div > dl:nth-child(5) > dt {
    width: 100%;
    border: none;
  }
  #opn > div > dl:nth-child(5) > dd {
    padding: 3px 0 16px;
  }
  #opn > div > dl:nth-child(5) > dd:nth-child(3n) {
    width: calc(100% - 280px);
  }
  #opn > div > dl:nth-child(5) > dd {
    padding: 3px 0 16px;
  }

  #envnt > div> p.mb50a img {margin: 0 auto;}

/*   #qlfctn table thead {display: revert;} */
  #qlfctn table > thead th {background-position: center -99px!important;}
  #qlfctn table th {vertical-align: middle;}
  #qlfctn table th:last-child {width: 116px;}
  #qlfctn table tbody th,
  #qlfctn table td,
  #qlfctn > div > table caption {
    font-size: .8rem;
    vertical-align: middle;
  }

/* Cohaku Creative Co.2025/02/26 */
  #qlfctn ul#lst > li {width: 49%;}
  #qlfctn ul#lst > li > div {margin: 0 auto 9px;}
  #qlfctn ul#lst > li > div h4 {min-height: 62px;}

}
