@charset "utf-8";
body.no-scroll {
  overflow: hidden;
  height: 100%;
}
#company article {
  padding-top: clamp(50px, 10.42vw, 92px);
  overflow-x: clip;
}
#company .article__nav {
  margin-bottom: clamp(80px, 10.94vw, 210px);
}
.bg_gr {
  background: #f0f0f0;
}
.ic_ttl {
  display: flex;
  flex-direction: row;
  align-items: center;
  position: relative;
}
.ic_ttl::before {
  position: absolute;
  right: calc(100% + 1.2em);
  top: 50%;
  transform: translateY(-68%);
}
.ic_ttl .trago {
  margin-bottom: 0;
}
.ic_ttl .fgo {
  padding-bottom: 0.4em;
}
.content__inner {
  padding-left: 90px;
  padding-right: 27px;
}
.content__inner .ic_ttl {
  margin-bottom: clamp(30px, 7.16vw, 55px);
}

.content__inner .subttl {
  font-size: clamp(18px, 2.86vw, 22px);
  font-weight: 600;
  letter-spacing: 0.2em;
  margin-bottom: 0.8em;
}
.content__inner .subttl + p {
  font-size: clamp(15px, 2.34vw, 18px);
  line-height: 1.88;
  letter-spacing: 0.08em;
  font-feature-settings: "palt";
  max-width: 1005px;
  margin-bottom: 37px;
}
.tablewrp {
  overflow-x: auto;
  overflow-y: clip;
  padding-bottom: 20px;
}

.table1,
.table2 {
  width: 100%;
  min-width: 690px;
  border-top: 1px solid #011955;
}

.table1 th,
.table2 th {
  font-size: clamp(15px, 1.94vw, 19px);
  font-weight: 500;
  font-feature-settings: "palt";
  background: #dddddd;
}
.table1 td,
.table2 td {
  font-size: clamp(12px, 1.63vw, 16px);
  line-height: 2.31;
  letter-spacing: 0.04em;
  font-feature-settings: "palt";
}
.table1 th,
.table1 td,
.table2 th,
.table2 td {
  border-bottom: 1px solid #011955;
}
.table2 th:not(:last-child),
.table2 td:not(:last-child) {
  border-right: 1px solid #011955;
}
.table1 td span,
.table2 td span {
  display: inline-block;
}
/*===================
greeting
===================*/
#greeting {
  padding-bottom: min(22.14vw, 170px);
}
#greeting .greeting__head {
  margin-bottom: clamp(30px, 7.03vw, 54px);
}
#greeting .head-inner {
  max-width: 1300px;
}
#greeting .head__txtbk {
  max-width: 460px;
  padding: 21px 0 min(2.99vw, 43px);
}
#greeting .head__txtbk .ic_ttl {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 20px;
}
#greeting .head__txtbk .ic_ttl::before {
  margin-bottom: 30px;
  position: static;
  transform: initial;
}

#greeting .head__txtbk .ic_ttl .trago {
  font-size: clamp(26px, 4.17vw, 32px);
  font-weight: 600;
  letter-spacing: 0.2em;
  font-feature-settings: "palt";
  margin-bottom: 0.3em;
}
#greeting .head__txtbk .ic_ttl .fgo {
  font-size: clamp(15px, 1.8vw, 17px);
  font-weight: 600;
  letter-spacing: 0.2em;
}
#greeting .head__txtbk-catch {
  font-size: 46px;
  font-weight: 600;
  line-height: 1.73;
  max-width: 460px;
  margin-bottom: 116px;
}
#greeting .head__txtbk-nameBk {
  /* position: absolute;
  bottom: 43px;
  left: 0; */
  padding-left: 12px;
}

#greeting .head__txtbk-nameBk dt {
  font-size: clamp(16px, 2.6vw, 20px);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.08em;
  font-feature-settings: "palt";
  margin-bottom: 5px;
}
#greeting .head__txtbk-nameBk dd {
  font-size: clamp(15px, 2.34vw, 18px);
  font-weight: 400;
  letter-spacing: 0.08em;
  font-feature-settings: "palt";
  display: flex;
  align-items: baseline;
}
#greeting .head__txtbk-nameBk dd .name {
  font-size: 144%;
  font-weight: 500;
  margin: 0 0.5em;
}
#greeting .head__txtbk-nameBk dd .trago {
  font-size: 72.2%;
  font-weight: 300;
  line-height: 1.8;
}
#greeting .head__imgbk {
  width: 1018px;
  border-radius: 51px;
  overflow: hidden;
  position: absolute;
  bottom: 0;
  right: 0;
  transform: translateX(31%);
}
#greeting .greeting-txt {
  font-size: clamp(14px, 2.34vw, 18px);
  line-height: 2.44;
  letter-spacing: 0.08em;
  font-feature-settings: "palt";
  max-width: 1267px;
  margin: 0 auto;
}
/*===================
company_prof
===================*/
#company_prof {
  padding: min(22.14vw, 170px) 0 min(14.32vw, 110px);
}

#company_prof .table1 th {
  width: 7.9em;
}
#company_prof .table1 td {
  padding: 8px 0 8px 3.4%;
}
#company_prof .table1 td ul > li {
  display: inline-block;
  margin-right: 0.5em;
}
#company_prof .table1 td ul > li::before {
  content: "●";
  font-size: 10px;
  line-height: 3.7;
  margin-right: 0.5em;
}
/*===================
orders
===================*/

#orders {
  padding: min(23.05vw, 177px) 0 min(21.22vw, 163px);
}
#orders .orders__item {
  border-top: 1px solid #011955;
  padding: 29px 2% 29px 3%;
  cursor: pointer;
}
#orders .orders__item:last-child {
  border-bottom: 1px solid #011955;
}
#orders .orders__item .orders__year {
  font-size: clamp(18px, 2.86vw, 22px);
  font-weight: 500;
  line-height: 2.59;
  font-feature-settings: "palt";
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-right: 4.2%;
}
#orders .orders__item .orders__year .txt::before {
  content: "■";
}
#orders .orders__item .orders__year .tgl_btn {
  width: 7.81vw;
  max-width: 60px;
  min-width: 30px;
  height: 7.81vw;
  max-height: 60px;
  min-height: 30px;
  background: #c8c8c8;
  border-radius: 50%;
  position: relative;
  transition: 0.3s;
}
#orders .orders__item:hover .orders__year .tgl_btn,
#orders .orders__item.show .orders__year .tgl_btn {
  background: #011955;
}
#orders .orders__item .orders__year .tgl_btn::before,
#orders .orders__item .orders__year .tgl_btn::after {
  content: "";
  width: 30%;
  height: 2px;
  border-radius: 4px;
  background: #011955;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: transform 0.3s;
}

#orders .orders__item:hover .tgl_btn::before,
#orders .orders__item:hover .orders__year .tgl_btn::after {
  background: #fff;
}
#orders .orders__item .orders__year .tgl_btn::after {
  transform: translate(-50%, -50%) rotate(90deg);
  transition: transform 0.3s;
}
#orders .orders__item.show .orders__year .tgl_btn::before {
  opacity: 0;
}

#orders .orders__item.show .orders__year .tgl_btn::after {
  transform: translate(-50%, -50%) rotate(180deg);
  background: #fff;
}

#orders .orders__item .tablewrp {
  padding: 8px 0 24px;
  display: none;
}

#orders .orders__item .table1 th {
  vertical-align: text-top;
  text-align: center;
}
#orders .orders__item .table1 th.odr {
  width: 4.8em;
  padding: 10px 0 0 0.8em;
  background: transparent;
}
#orders .orders__item .table1 .area {
  font-size: clamp(15px, 1.84vw, 18px);
  vertical-align: middle;
  width: 22%;
  padding: 5px;
}
#orders .orders__item .table1 .area span {
  display: inline-block;
}
#orders .orders__item .table1 td {
  padding-left: 5px;
}
#orders .orders__item .table1 td ul li {
  padding: 8px 0 8px 1.4em;
}
#orders .orders__item .table1 td ul li:not(:last-child) {
  border-bottom: 1px solid #011955;
}
/*===================
licence
===================*/
#licence {
  padding: min(21.88vw, 168px) 0 min(19.53vw, 150px);
}
#licence .table2 {
  max-width: 1185px;
}
#licence .table2 th,
#licence .table2 td {
  padding: 10px 3%;
}
#licence .table2 .name,
#licence .table2 .dept {
  text-align: left;
}
#licence .table2 .name {
  width: 27.3%;
}

#licence .table2 .ppl,
#licence .table2 td:last-child {
  text-align: center;
  width: 16.3%;
}
/*===================
award
===================*/
#award {
  padding: min(17.71vw, 136px) 0 min(16.41vw, 126px);
}
#award .table2 th,
#award .table2 td {
  text-align: left;
  padding: 10px 0.5em;
}
#award .date {
  width: 8.6em;
}
#award .name {
  width: 6.2em;
}
#award .year {
  width: 5.4em;
}
#award td:first-child {
  font-weight: 500;
}
#award td:first-child > span {
  text-align: right;
  display: flex;
  justify-content: flex-end;
}

#award td:first-child > span span {
  width: 4.6em;
}
#award td:last-child {
  text-align: right;
}

/*===================
sustainable
===================*/
#sustainable {
  padding: min(14.58vw, 112px) 0 min(25.65vw, 197px);
}
#sustainable .content__inner .subttl + p {
  margin-bottom: 0;
}
#sustainable .sustainable__head {
  margin-bottom: min(12.76vw, 98px);
}
#sustainable .sustainable__head .subttl + p {
  margin-bottom: 17px;
}
#sustainable .table2 th,
#sustainable .table2 td {
  text-align: left;
  padding: 10px 0.5em;
}
#sustainable .table2 th.item {
  padding-left: 16px;
}
#sustainable .table2 th.num {
  width: 6.2em;
}
#sustainable .table2 th.date {
  width: 6.6em;
}
#sustainable td:first-child {
  font-weight: 500;
  padding-left: 16px;
}
.inner_1158 {
  max-width: 1158px;
  margin: 0 auto;
}

/* -----------
sdgs__attempt
------------- */
.sdgs__attempt {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.sdgs__ttlbk {
  display: flex;
  gap: 19px;
  max-width: 906px;
  margin-bottom: 28px;
}
.sdgs__ttlwrap {
  max-width: 796px;
}
.sdgs__ttlbk::before {
  content: "";
  width: 12.11vw;
  max-width: 93px;
  min-width: 59px;
  height: 12.11vw;
  max-height: 93px;
  min-height: 59px;
  background: url(../imgs/company/sdgs_ic.svg) no-repeat center/contain;
  flex-shrink: 0;
}
.sdgs__ttlwrap .subttl {
  margin-bottom: 2px;
}
.sdgs__attempt {
  gap: clamp(20px, 8.85vw, 68px) 0;
  margin-bottom: min(16.28vw, 125px);
}
.sdgs__attempt > div {
  width: 48%;
  max-width: 552px;
  position: relative;
  padding-bottom: clamp(70px, 7.46vw, 100px);
}
.sdgs__attempt dt {
  font-size: clamp(18px, 2.73vw, 21px);
  font-weight: 500;
  font-feature-settings: "palt";
  padding: 6px 14px;
  margin-bottom: 8px;
  background: #003461;
}
.sdgs__attempt dt::before {
  content: "■";
}
.sdgs__attempt dd {
  padding: 0 10px;
}
.sdgs__attempt dd ul {
  margin-bottom: 13px;
  min-height: 7.16em;
}
.sdgs__attempt dd ul > li {
  line-height: 1.79;
  text-indent: -1em;
  padding-left: 1em;
}
.sdgs__attempt dd ul > li::before {
  content: "●";
  font-size: 75%;
}
.sdgs__attempt dd ol {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  width: 100%;
  position: absolute;
  bottom: 0;
}
.sdgs__attempt dd ol > li {
  width: calc((100% - 20px) / 5);
  max-width: 100px;
  min-width: 70px;
}
/* -----------
sdgs__detail
------------- */
.inner_1212 {
  max-width: 1212px;
  margin: 0 auto;
}
.sdgs__detail .list > li {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  border-bottom: 1px solid #011955;
  padding: clamp(30px, 5.1vw, 80px) 3.14% 58px 3.8%;
}
.sdgs__detail .list > li:first-child {
  border-top: 1px solid #011955;
}
.sdgs__detail .list > li .item-lft {
  width: 80%;
}
.sdgs__detail .list > li .txtbk {
  /* width: 85%; */
  max-width: 1317px;
  padding-top: 7px;
  padding-left: 12.2%;
}
.sdgs__detail .list > li .item-lft .txtbk__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2%;
  padding: 0 0 14px 6px;
  border-bottom: 1px solid #011955;
}
.sdgs__detail .list > li .item-lft .txtbk__head .icbk {
  width: 13%;
  min-width: 50px;
  max-width: 113px;
  aspect-ratio: 113/192;
  position: absolute;
  top: 0;
  left: 0;
}
.sdgs__detail .list > li .item-lft .txtbk__head .icbk img {
  object-position: top center;
}
.sdgs__detail .list > li .item-lft .txtbk__head .detail-ttl {
  font-size: clamp(18px, 2.86vw, 22px);
  font-weight: 600;
  margin-bottom: 12px;
}
.sdgs__detail .list > li .item-lft .txtbk__head .detail-date {
  font-size: clamp(14px, 1.8vw, 17px);
}
.sdgs__detail .list > li .item-lft .txtbk__head .detail-date::before {
  content: "■";
}
.sdgs__detail .list > li .item-lft .txtbk__head .file_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  padding: 17px 1.5em;
  background: #c8c8c8;
  border-radius: 25px;
  transition: 0.2s;
}
.sdgs__detail .list > li .item-lft .txtbk__head .file_btn span {
  font-size: clamp(12px, 1.22vw, 17px);
  font-weight: 600;
  letter-spacing: 0.2em;
  font-feature-settings: "palt";
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}
.sdgs__detail .list > li .item-lft .txtbk__head .file_btn span::after {
  content: "";
  width: 18px;
  height: 13px;
  background: url(../imgs/company/arrow_nv.svg) no-repeat center/contain;
  transition: 0.2s;
}

.sdgs__detail .list > li .item-lft .txtbk__head .file_btn:hover {
  color: #fff;
  background: #003461;
}
.sdgs__detail .list > li .item-lft .txtbk__head .file_btn:hover span::after {
  background: url(../imgs/company/arrow_wh.svg) no-repeat center/contain;
}
.sdgs__detail .list > li .item-lft .txtbk__bottm {
  padding: 10px 0 0 7px;
}
.sdgs__detail .list > li .item-lft .txtbk__bottm .detail-txt {
  line-height: 1.81;
}
.sdgs__detail .filebk {
  width: 16%;
  max-width: 180px;
  aspect-ratio: 180/255;
}
.mfp-zoom-out-cur,
.mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: pointer;
}
.mfp-figure:after {
  content: none;
}
img.mfp-img {
  padding: 50px 0 140px;
}
.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  font-size: 0;
  top: auto !important;
  right: auto !important;
  width: 34vw;
  max-width: 163px;
  height: 12.5vw;
  max-height: 60px;
  padding: 0;
  background: url(../imgs/company/popup_close.svg) no-repeat center / contain !important;
  text-indent: -9999px;
  left: 50%;
  bottom: 50px;
  transform: translateX(-50%);
  opacity: 1;
  transition: 0.2s;
}
.mfp-image-holder .mfp-close:hover,
.mfp-iframe-holder .mfp-close:hover {
  background: url(../imgs/company/popup_close_hv.svg) no-repeat center / contain !important;
}
#company #contact_bk {
  border-top: none;
}
@media screen and (max-width: 1920px) {
  #greeting .head__imgbk {
    border-radius: 51px 0 0 51px;
  }
}
@media screen and (max-width: 1440px) {
  /*===================
	greeting
	===================*/
  #greeting .head__txtbk-catch {
    font-size: max(34px, 3.19vw);
  }
  #greeting .head__imgbk {
    width: 70.69vw;
  }
}
@media screen and (max-width: 1260px) {
  .content__inner {
    padding: 0;
  }
  .ic_ttl::before {
    position: static;
    transform: translateY(-20%);
    margin-right: 1.2em;
  }
}
@media screen and (max-width: 980px) {
  /*===================
	greeting
	===================*/
  #greeting .head-inner {
    padding-bottom: 100px;
  }
  #greeting .head__txtbk {
    max-width: 100%;
    height: auto;
  }
  #greeting .head__txtbk .ic_ttl {
    flex-direction: row;
    align-items: center;
  }
  #greeting .head__txtbk .ic_ttl::before {
    transform: translateY(-20%);
    margin-right: 1.2em;
    margin-bottom: 0;
  }
  #greeting .head__txtbk .ic_ttl .trago {
    margin-bottom: 0;
  }

  #greeting .head__txtbk-catch {
    max-width: initial;
    margin-bottom: 0;
  }

  #greeting .head__txtbk-nameBk {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    padding-left: 0;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
  }
  #greeting .head__imgbk {
    max-width: 690px;
    width: 100%;
    margin: 0 auto;
    border-radius: clamp(25px, 6.64vw, 51px);
    position: static;
    transform: initial;
  }
  /*===================
	sustainable
	===================*/
  /* -----------
	sdgs__detail
	------------- */
  .sdgs__detail .list > li {
    flex-direction: column;
    align-items: center;
    gap: 30px;
    padding-bottom: 100px;
    position: relative;
  }

  .sdgs__detail .list > li .item-lft {
    width: 100%;
    padding-left: 0;
    position: static;
  }
  .sdgs__detail .list > li .item-lft .txtbk__head {
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    padding-left: 0;
  }
  .sdgs__detail .list > li .item-lft .txtbk__head .icbk {
    position: static;
    aspect-ratio: initial;
  }
  .sdgs__detail .list > li .item-lft .txtbk__head .file_btn {
    width: 100%;
    max-width: 207px;
    position: absolute;
    left: 50%;
    bottom: 30px;
    transform: translateX(-50%);
  }
  .sdgs__detail .filebk {
    width: 50%;
    aspect-ratio: initial;
  }
}
@media screen and (max-width: 860px) {
  /*===================
	sustainable
	===================*/
  /* -----------
	sdgs__attempt
	------------- */
  .sdgs__attempt {
    flex-direction: column;
    align-items: center;
  }
  .sdgs__attempt > div {
    width: 100%;
    position: static;
    padding-bottom: 0;
  }
  .sdgs__attempt dd ul {
    min-height: auto;
  }
  .sdgs__attempt dd ol {
    position: static;
  }
}
@media screen and (max-width: 768px) {
  /*===================
	greeting
	===================*/
  #greeting .head__txtbk-catch {
    font-size: clamp(26px, 4.43vw, 34px);
  }
}
@media screen and (max-width: 640px) {
  .content__inner .ic_ttl,
  #greeting .head__txtbk .ic_ttl {
    flex-direction: column;
    align-items: center;
  }
  .ic_ttl::before,
  #greeting .head__txtbk .ic_ttl::before {
    margin-right: 0;
  }
  /*===================
	sustainable
	===================*/
  .sdgs__ttlbk,
  .sdgs__ttlwrap {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .sdgs__ttlwrap .subttl {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 500px) {
  #greeting .head-inner {
    padding-bottom: 120px;
  }
  #greeting .head__txtbk-nameBk dd {
    flex-direction: column;
    align-items: center;
  }
}
