@charset "utf-8";
/* 企業情報 TOP
---------------------------------------------------------------------- */
.company_top .pageTit_box {
  background: url('../img/company/main_tit_bg_pc.png');
  background-size: cover;
  background-position: center bottom;
  position: relative;
}
.company_top .pageTit_box::before {
  display: block;
  content: "";
  width: 440px;
  min-height: 250px;
  height: 100%;
  background: #fff;
  opacity: 0.25;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.company_top .pageTit_inner {
  position: relative;
  z-index: 1;
}
.company_top .pageTit_box .tit_en {
  color: #eee;
}

.company_top .link_list_box {
  max-width: 1100px;
  width: 100%;
  margin: 60px auto 100px;
}
.company_top .link_list_box ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  gap: 40px 40px;
}
.company_top .link_list_box ul li {
  width: 530px;
  height: 360px;
  position: relative;
}

.company_top .link_list_box ul li:nth-child(1) {
  opacity:0;
  animation-duration: 0.8s;
	animation-fill-mode:forwards;
	animation-iteration-count:1;
	animation-timing-function:linear;
  animation-delay: 0.5s;
	animation-name: kv_fade_txt_up;
}
.company_top .link_list_box ul li:nth-child(2) {
  opacity:0;
  animation-duration: 0.8s;
	animation-fill-mode:forwards;
	animation-iteration-count:1;
	animation-timing-function:linear;
  animation-delay: 0.7s;
	animation-name: kv_fade_txt_up;
}


.company_top .link_list_box ul li:nth-child(3).show,
.company_top .link_list_box ul li:nth-child(5).show {
  transition-delay: 0.3s;
}
.company_top .link_list_box ul li:nth-child(4).show,
.company_top .link_list_box ul li:nth-child(6).show {
  transition-delay: 0.5s;
}



.company_top .link_list_box ul li::before {
  display: block;
  content: "";
  width: 54.7170%;
  height: 60px;
  border-radius: 50px;
  background: linear-gradient(to right, #ff9658, #f55b00);
  opacity: 0.8;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.company_top .link_list_box ul li .btn_box {
  width: 54.7170%;
  height: 60px;
  border-radius: 50px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.company_top .link_list_box ul li .btn_box a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  font-size: 18px;
  color: #fff;
  position: relative;
}
.company_top .link_list_box ul li .arrow_img {
  width: 20px;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
}












/* data_wrap */
.philosophy_wrap {
  padding-top: 15px;
}
.philosophy_wrap .data_wrap {
  background: url('../img/company/company_top_bg.jpg') repeat;
}
.philosophy_wrap .data_wrap .data_inner {
  max-width: 1100px;
  width: 100%;
  margin: 0 auto;
  position: relative;
}




.philosophy_wrap .data_cont01 {
  margin-top: 50px;
  margin-bottom: 60px;
}

.philosophy_wrap .data_cont01_tit,
.philosophy_wrap .data_cont01_tit ul,
.philosophy_wrap .data_cont01_tit ul li {
  display: flex;
  align-items: center;
}
.philosophy_wrap .data_cont01_tit {
  padding-left: 110px;
  margin-bottom: 35px;
}
.philosophy_wrap .data_cont01_tit b {
  font-size: 24px;
  font-weight: bold;
  margin-right: 80px;
}
.philosophy_wrap .data_cont01_tit ul li:nth-child(2) {
  margin-left: 30px;
}
.philosophy_wrap .data_cont01 .data_cont01_tit .color {
  width: 40px;
  height: 40px;
  margin-right: 15px;
  border-radius: 50%;
}
.philosophy_wrap .data_cont01 .data_cont01_tit ul li:nth-child(1) .color {
  background: linear-gradient(to right, #fd8a45 0%, #fd8a45 50%, #f55b00 50%, #f55b00 100%);
}
.philosophy_wrap .data_cont01 .data_cont01_tit ul li:nth-child(2) .color {
  background: linear-gradient(to right, #1f71bd 0%, #1f71bd 50%, #003d76 50%, #003d76 100%);
}
.philosophy_wrap .data_cont01 .data_cont01_tit p {
  font-size: 16px;
  font-weight: bold;
}



/* graph */
.data_cont01_main,
.chart-container ul,
.chart-container ul li .graph_box {
  display: flex;
}
.data_cont01_main {
  justify-content: center;
}
.chart-container ul {
  gap: 50px;
}
.chart-container ul li .graph_box {
  gap: 10px;
  padding-bottom: 15px;
}

.progress-bar {
  width: 40px;
  height: 500px;
  border-radius: 5px;
  background: #fff;
  overflow: hidden;
  transform: rotate(-180deg);
}
.progress-bar .progress {
  width: 40px;
  height: 0;
  padding: 0;
  text-align: center;
  background: linear-gradient(to right, #fd8a45 0%, #fd8a45 50%, #f55b00 50%, #f55b00 100%);
  color: #111;
  position: relative;
}

.chart-container ul li .graph_box .progress p {
  color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-180deg);
  font-family: "din-2014", sans-serif;
  font-size: 15px;
  font-weight: bold;
}
.chart-container ul li p.font-din {
  font-size: 30px;
  font-weight: bold;
}

.data_cont01_main .cont2001 {
  position: relative;
  margin-right: 130px;
}
.data_cont01_main .cont2001 .num {
  position: absolute;
}
.data_cont01_main .cont2001 .num1000 {
  width: 71px;
  top: 0;
  left: -104px;
}
.data_cont01_main .cont2001 .num0 {
  width: 45px;
  bottom: 45px;
  left: -80px;
}


.data_cont01_main .cont2020 {
  position: relative;
}
.data_cont01_main .cont2020::before {
  display: block;
  content: "";
  width: 64px;
  height: 36px;
  background: url('../img/company/graph_arrow.png') no-repeat;
  background-size: cover;
  position: absolute;
  top: 250px;
  left: -95px;
}

.data_cont01_main .small_txt {
  font-size: 12px;
  position: absolute;
  bottom: 0;
  right: -100px;
}















.philosophy_wrap .data_wrap .data_cont02 ul {
  display: flex;
  width: 100%;
  border-top: 1px solid #eaeaea;
  border-bottom: 1px solid #eaeaea;
}
.philosophy_wrap .data_wrap .data_cont02 ul li {
  padding-top: 35px;
  padding-bottom: 35px;
  margin-top: 20px;
  margin-bottom: 20px;
  text-align: right;
}
.philosophy_wrap .data_wrap .data_cont02 ul li:nth-child(1) {
  padding-left: 10px;
  padding-right: 25px;
  width: 48%;
}
.philosophy_wrap .data_wrap .data_cont02 ul li:nth-child(2) {
  border-left: 1px solid #eaeaea;
  /* padding-left: 25px; */
  padding-left: 20px;
  width: 52%;
}
.philosophy_wrap .data_wrap .data_cont02 ul li .top_box {
  display: flex;
  align-items: flex-end;
  position: relative;
}

.philosophy_wrap .data_wrap .data_cont02 li:nth-child(1) .icon {
  width: 78px;
  margin-bottom: 20px;
  margin-right: 25px;
}
.philosophy_wrap .data_wrap .data_cont02 li:nth-child(2) .icon {
  /* width: 74px; */
  width: 70px;
  margin-bottom: 25px;
  /* margin-right: 25px;
  margin-right: 10px; */
  margin-right: 0px;
}










.philosophy_wrap .data_wrap dl {
  text-align: left;
}
.philosophy_wrap .data_wrap .data_cont03 dl {
  position: absolute;
  top: 80px;
  left: 110px;
}
.philosophy_wrap .data_wrap dl dt {
  font-size: 24px;
  font-weight: bold;
}
.philosophy_wrap .data_wrap dl dd {
  display: flex;
  align-items: center;
}


.philosophy_wrap .data_wrap dl dd b {
  display: flex;
  position: relative;
}
.philosophy_wrap .data_wrap .data_cont02 li:nth-child(1) b {
  width: 197px;
}
.philosophy_wrap .data_wrap .data_cont02 li:nth-child(2) b {
  /* width: 187px; */
  width: 210px;
}
.philosophy_wrap .data_wrap .data_cont03 dl dd b {
  width: 195px;
}


.philosophy_wrap .data_wrap dl dd b span {
  display: inline-block;
  font-size: 140px;
  font-weight: normal;
  color: #f55b00;
  line-height: 1;
  text-indent: -10px;
  letter-spacing: -0.02em;
}
.philosophy_wrap .data_wrap .data_cont022 dl dd b span:nth-child(1) {
  letter-spacing: -0.15em;
}
.philosophy_wrap .data_wrap .data_cont022 dl dd b span:nth-child(2) {
  letter-spacing: 0;
  text-indent: 15px;
}
.philosophy_wrap .data_wrap .data_cont03 dl dd b span {
  letter-spacing: -0.09em;
}



.philosophy_wrap .data_wrap dl dd small {
  font-size: 21px;
  position: absolute;
}
.philosophy_wrap .data_wrap .data_cont021 dl dd small {
  bottom: 20px;
  right: 40px;
}
.philosophy_wrap .data_wrap .data_cont022 dl dd small {
  bottom: 20px;
  right: 15px;
}
.philosophy_wrap .data_wrap .data_cont03 dl dd small {
  bottom: 20px;
  right: 0;
}
.philosophy_wrap .data_wrap dl dd p {
  padding-top: 20px;
  padding-left: 20px;
  padding-bottom: 20px;
  border-left: 1px solid #e9e9e9;
  /* margin-left: 30px; */
  font-size: 14px;
  line-height: 1.428;
}
.philosophy_wrap .data_wrap .data_cont03 dl dd p {
  margin-left: 30px;
}






.philosophy_wrap .data_wrap .data_cont03 {
  position: relative;
}

.philosophy_wrap .data_wrap ul.station li {
  position: absolute;
}
.philosophy_wrap .data_wrap ul.station li:nth-child(1) {
  width: 155px;
  top: 323px;
  right: 68px;
}
.philosophy_wrap .data_wrap ul.station li:nth-child(2) {
  width: 134px;
  top: 365px;
  right: 95px;
}
.philosophy_wrap .data_wrap ul.station li:nth-child(3) {
  width: 65px;
  top: 404px;
  right: 175px;
}
.philosophy_wrap .data_wrap ul.station li:nth-child(4) {
  width: 88px;
  top: 395px;
  right: 225px;
}
.philosophy_wrap .data_wrap ul.station li:nth-child(5) {
  width: 77px;
  top: 386px;
  right: 365px;
}
.philosophy_wrap .data_wrap ul.station li:nth-child(6) {
  width: 65px;
  top: 404px;
  right: 470px;
}
.philosophy_wrap .data_wrap ul.station li:nth-child(7) {
  width: 103px;
  top: 455px;
  right: 474px;
}

.data_cont03 .line {
  width: 388px;
  position: absolute;
  top: 345px;
  right: 136px;
}
.data_cont03 .show polyline {
  animation: drawLine 5s ease forwards;
  animation-delay: .5s;
}

@keyframes drawLine {
  to {
    stroke-dashoffset: 0;
  }
}




@media (max-width: 1100px) and (min-width: 769px) {
  .company_top .link_list_box {
    width: 93.6364vw;
  }
  .company_top .link_list_box ul {
    gap: 3.6364vw 3.6364vw;
  }
  .company_top .link_list_box ul li {
    width: 45vw;
    height: auto;
  }


  /* data_wrap */


  /* graph */
  .chart-container ul {
    gap: 4.5455vw;
  }
  .chart-container ul li .graph_box {
    gap: 0.9091vw;
    padding-bottom: 1.3636vw;
  }
  .progress-bar {
    width: 3.6364vw;
    height: 45.4545vw;
  }
  .progress-bar .progress {
    width: 3.6364vw;
  }

  .chart-container ul li .graph_box .progress p {
    font-size: 1.3636vw;
  }
  .chart-container ul li p.font-din {
    font-size: 2.7273vw;
  }

  .data_cont01_main .cont2001 {
    margin-right: 11.8182vw;
  }
  .data_cont01_main .cont2001 .num1000 {
    width: 6.4545vw;
    left: -9.4545vw;
  }
  .data_cont01_main .cont2001 .num0 {
    width: 4.0909vw;
    bottom: 4.0909vw;
    left: -7.2727vw;
  }



  .data_cont01_main .cont2020::before {
    width: 5.8182vw;
    height: 3.2727vw;
    top: 22.7273vw;
    left: -8.6364vw;
  }
  .data_cont01_main .small_txt {
    font-size: 1.0909vw;
    right: -9.0909vw;
  }






  

  .philosophy_wrap .data_wrap .data_cont02 ul li {
    width: 49%;
  }

  .philosophy_wrap .data_wrap .data_cont02 li:nth-child(1) .icon {
    width: 7.0909vw;
    margin-bottom: 20px;
    margin-right: 25px;
  }
  .philosophy_wrap .data_wrap .data_cont02 li:nth-child(2) .icon {
    /* width: 6.7273vw;
    margin-bottom: 25px;
    margin-right: 25px;
    margin-right: 10px; */
    width: 6vw;
    margin-right: 10px;
  }

  .philosophy_wrap .data_wrap .data_cont02 li:nth-child(1) b {
    width: 17.9091vw;
  }
  .philosophy_wrap .data_wrap .data_cont02 li:nth-child(2) b {
    width: 17vw;
  }
  .philosophy_wrap .data_wrap .data_cont03 dl dd b {
    width: 17.7273vw;
  }


  .philosophy_wrap .data_wrap dl dt {
    font-size: 2.1818vw;
  }



  .philosophy_wrap .data_wrap dl dd b span {
    font-size: 10vw;
  }

  
  .philosophy_wrap .data_wrap dl dd small {
    font-size: 1.9091vw;
  }
  .philosophy_wrap .data_wrap .data_cont021 dl dd small {
    bottom: 20px;
    right: 40px;
  }
  .philosophy_wrap .data_wrap .data_cont022 dl dd small {
    bottom: 20px;
    right: 15px;
  }
  .philosophy_wrap .data_wrap .data_cont03 dl dd small {
    bottom: 20px;
    right: 0;
  }
  .philosophy_wrap .data_wrap dl dd p {
    padding-left: 1.8182vw;
    font-size: 1.2727vw;
  }
  .philosophy_wrap .data_wrap .data_cont03 dl dd p {
    margin-left: 2.7273vw;
  }






  .philosophy_wrap .data_wrap ul.station li:nth-child(1) {
    width: 14.0909vw;
    top: 29.3636vw;
    right: 6.1818vw;
  }
  .philosophy_wrap .data_wrap ul.station li:nth-child(2) {
    width: 12.1818vw;
    top: 33.1818vw;
    right: 8.6364vw;
  }
  .philosophy_wrap .data_wrap ul.station li:nth-child(3) {
    width: 5.9091vw;
    top: 36.7273vw;
    right: 15.9091vw;
  }
  .philosophy_wrap .data_wrap ul.station li:nth-child(4) {
    width: 8vw;
    top: 35.9091vw;
    right: 20.4545vw;
  }
  .philosophy_wrap .data_wrap ul.station li:nth-child(5) {
    width: 7.0000vw;
    top: 35.0909vw;
    right: 33.1818vw;
  }
  .philosophy_wrap .data_wrap ul.station li:nth-child(6) {
    width: 5.9091vw;
    top: 36.7273vw;
    right: 42.7273vw;
  }
  .philosophy_wrap .data_wrap ul.station li:nth-child(7) {
    width: 9.3636vw;
    top: 41.3636vw;
    right: 43.0909vw;
  }
  
  .data_cont03 .line {
    width: 35.2727vw;
    top: 31.3636vw;
    right: 12.3636vw;
  }

}

@media screen and (max-width: 768px) {
  .company_top .pageTit_box {
    background: url('../img/company/main_tit_bg_sp.png');
    background-size: cover;
    background-position: center;
  }
  .company_top .pageTit_box::before {
    width: 60vw;
    min-height: 100%;
    height: 30.6667vw;
  }

  .company_top .link_list_box {
    max-width: 100%;
    width: 89.3333vw;
    margin: 8vw auto 10.6667vw;
    padding-left: 0;
    padding-right: 0;
  }


  .company_top .link_list_box ul {
    gap: 0;
  }
  .company_top .link_list_box ul li {
    width: 100%;
    height: 60.6667vw;
    margin-bottom: 4vw;
  }
  .company_top .link_list_box ul li::before {
    width: 58.6667vw;
    height: 12.5333vw;
  }
  .company_top .link_list_box ul li .btn_box {
    width: 58.6667vw;
    height: 12.5333vw;
  }
  .company_top .link_list_box ul li .btn_box a {
    font-size: 5.0667vw;
  }
  .company_top .link_list_box ul li .arrow_img {
    width: 4vw;
    height: 4vw;
    right: 4vw;
  }


  /* data_wrap */
  .philosophy_wrap {
    padding-top: 2vw;
  }
  .philosophy_wrap .data_wrap {
    background: url('../img/company/company_top_bg_sp.jpg') repeat;
    background-size: contain;
  }
  .philosophy_wrap .data_cont01 {
    margin-top: 4vw;
    margin-bottom: 13.3333vw;
    margin-left: 10vw;
  }

  .philosophy_wrap .data_cont01_tit {
    flex-direction: column;
  }
  .philosophy_wrap .data_cont01_tit {
    padding-left: 0;
    margin-bottom: 4.6667vw;
  }
  .philosophy_wrap .data_cont01_tit b {
    font-size: 4.2667vw;
    margin-right: 0;
    margin-bottom: 4.6667vw;
  }
  .philosophy_wrap .data_cont01_tit ul li:nth-child(2) {
    margin-left: 6.6667vw;
  }
  .philosophy_wrap .data_cont01 .data_cont01_tit .color {
    width: 8vw;
    height: 8vw;
    margin-right: 2.6667vw;
  }
  .philosophy_wrap .data_cont01 .data_cont01_tit p {
    font-size: 3.2vw;
  }





  /* graph */

  .chart-container ul {
    gap: 2vw;
  }
  .chart-container ul li .graph_box {
    gap: 0.6667vw;
    padding-bottom: 2vw;
  }

  .progress-bar {
    width: 5.3333vw;
    height: 66.6667vw;
  }
  .progress-bar .progress {
    width: 5.3333vw;
  }

  .chart-container ul li .graph_box .progress p {
    font-size: 2vw;
  }
  .chart-container ul li p.font-din {
    font-size: 4vw;
  }

  .data_cont01_main .cont2001 {
    margin-right: 6vw;
  }
  .data_cont01_main .cont2001 .num1000 {
    width: 8.8vw;
    top: 0;
    left: -10vw;
  }
  .data_cont01_main .cont2001 .num0 {
    width: 5.3333vw;
    bottom: 6vw;
    left: -6.6667vw;
  }

  .data_cont01_main .cont2020::before {
    display: block;
    content: "";
    width: 4.1333vw;
    height: 2.2667vw;
    background: url('../img/company/graph_arrow.png') no-repeat;
    background-size: cover;
    position: absolute;
    top: 34.8vw;
    left: -5.0667vw;
  }
  
  .data_cont01_main .small_txt {
    font-size: 2.6667vw;
    bottom: -4vw;
    right: 0;
  }

  

  

  .philosophy_wrap .data_wrap .data_cont02 {
    padding-left: 5.3333vw;
    padding-right: 5.3333vw;
  }
  .philosophy_wrap .data_wrap .data_cont02 ul {
    flex-direction: column;
  }
  .philosophy_wrap .data_wrap .data_cont02 ul li {
    padding-top: 6.6667vw;
    padding-bottom: 6.6667vw;
    margin-top: 0;
    margin-bottom: 0;
    text-align: right;
  }

  .philosophy_wrap .data_wrap .data_cont02 ul li:nth-child(1) {
    padding-left: 0;
    padding-right: 0;
    width: 100%;
  }
  .philosophy_wrap .data_wrap .data_cont02 ul li:nth-child(2) {
    border-top: 1px solid #eaeaea;
    border-left: 0;
    padding-left: 0;
    width: 100%;
  }


  .philosophy_wrap .data_wrap .data_cont02 li:nth-child(1) .icon {
    width: 13.7333vw;
    margin-bottom: 20px;
    margin-right: 4vw;
  }
  .philosophy_wrap .data_wrap .data_cont02 li:nth-child(2) .icon {
    /* width: 12.9333vw; */
    width: 12vw;
    margin-bottom: 25px;
    /* margin-right: 2vw; */
    margin-right: 1.33vw;
  }
  

  .philosophy_wrap .data_wrap dl {
    width: 76vw;
  }
  .philosophy_wrap .data_wrap .data_cont03 dl {
    width: 100%;
    top: 0;
    left: 0;
    padding-left: 5.3333vw;
    padding-right: 5.3333vw;
  }
  .philosophy_wrap .data_wrap dl dt {
    font-size: 4.2667vw;
    padding-left: 21.3333vw;
    margin-bottom: 2vw;
  }
  .philosophy_wrap .data_wrap .data_cont03 dl dt {
    padding-left: 30vw;
    margin-top: 6.6667vw;
  }
  .philosophy_wrap .data_wrap dl dd {
    display: flex;
    align-items: center;
  }



  .philosophy_wrap .data_wrap .data_cont02 li:nth-child(1) b {
    width: 38.6667vw;
  }
  .philosophy_wrap .data_wrap .data_cont02 li:nth-child(2) b {
    /* width: 38.6667vw; */
    width: 44vw;
  }
  .philosophy_wrap .data_wrap .data_cont03 dl dd b {
    width: 40vw;
  }


  .philosophy_wrap .data_wrap dl dd b span {
    font-size: 30.6667vw;
    text-indent: 0;
    letter-spacing: -0.02em;
  }
  .philosophy_wrap .data_wrap .data_cont022 dl dd b span:nth-child(1) {
    letter-spacing: -6vw;
    text-indent: -2vw;
  }
  .philosophy_wrap .data_wrap .data_cont022 dl dd b span:nth-child(2) {
    letter-spacing: 0;
    text-indent: 4vw;
  }
  .philosophy_wrap .data_wrap .data_cont03 dl dd b span {
    letter-spacing: -4vw;
    text-indent: -4vw;
  }


  .philosophy_wrap .data_wrap dl dd small {
    font-size: 4.6667vw;
  }
  .philosophy_wrap .data_wrap .data_cont021 dl dd small {
    bottom: 4vw;
    right: 3.3333vw;
  }
  .philosophy_wrap .data_wrap .data_cont022 dl dd small {
    bottom: 4vw;
    right: 3.3333vw;
  }
  .philosophy_wrap .data_wrap .data_cont03 dl dd small {
    bottom: 4vw;
    right: 0;
  }



  .philosophy_wrap .data_wrap dl dd p {
    /* padding-top: 4vw; */
    padding-top: 0;
    padding-left: 2.6667vw;
    /* padding-bottom: 4vw; */
    padding-bottom: 0;
    font-size: 3.2vw;
    line-height: 1.3334;
  }
  .philosophy_wrap .data_wrap .data_cont021 dl dd p,
  .philosophy_wrap .data_wrap .data_cont022 dl dd p {
    /* width: 35.3333vw; */
    width: 33vw;
  }
  .philosophy_wrap .data_wrap .data_cont03 dl dd p {
    width: 49.3333vw;
    margin-left: 3.3333vw;
  }
  




  .philosophy_wrap .data_wrap ul.station li:nth-child(1) {
    width: 23.2vw;
    top: 72vw;
    right: 8.6667vw;

    top: 71.6vw;
    right: 8.8vw;
  }
  .philosophy_wrap .data_wrap ul.station li:nth-child(2) {
    width: 20.2667vw;
    top: 78.2667vw;
    right: 12.2667vw;
  }
  .philosophy_wrap .data_wrap ul.station li:nth-child(3) {
    width: 9.8667vw;
    top: 84vw;
    right: 24.9333vw;
  }
  .philosophy_wrap .data_wrap ul.station li:nth-child(4) {
    width: 13.3333vw;
    top: 82.9333vw;
    right: 32.4000vw;
  }
  .philosophy_wrap .data_wrap ul.station li:nth-child(5) {
    width: 11.4667vw;
    top: 81.7333vw;
    right: 53.0667vw;
  }
  .philosophy_wrap .data_wrap ul.station li:nth-child(6) {
    width: 9.8667vw;
    top: 84.1333vw;
    right: 68.9333vw;
  }
  .philosophy_wrap .data_wrap ul.station li:nth-child(7) {
    width: 15.4667vw;
    top: 91.7333vw;
    right: 69.8667vw;
  }
  
  .data_cont03 .line {
    width: 58vw;
    position: absolute;
    top: 75.2000vw;
    right: 19.3333vw;
  }




}












/* 企業情報 COMMON
---------------------------------------------------------------------- */


.company_sub .content_inner {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .company_sub .content_inner {
    max-width: 100%;
    width: 77.3333vw;
  }
}









/* 社長メッセージ */
.company_sub .ceo_wrap .content_box_pdf {
  margin: 15px auto 0;
}
.company_sub .ceo_pho_box {
  max-width: 1300px;
  width: 100%;
  margin: 0 auto 60px;
  background: url('../img/company/sub/ceo_pho_pc.png') no-repeat;
  background-size: cover;
  background-position: 0 50%;

  opacity:0;
  animation-duration: 0.8s;
	animation-fill-mode:forwards;
	animation-iteration-count:1;
	animation-timing-function:linear;
  animation-delay: 0.5s;
	animation-name: kv_fade_txt_up;

}
@keyframes kv_fade_txt_up {
  0% {
    opacity:0;
    transform: translate( 0, 20px); 
  }
  100% {
    opacity:1;
    transform: translate( 0, 0); 
  }
}

.company_sub .ceo_pho_box .content_inner {
  position: relative;
  min-height: 450px;
}
.company_sub .ceo_pho_box .m_txt {
  width: 605px;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);

  opacity: 0;
  transition-property: opacity, translate;
  transition-duration: 1s;
  transition-delay: 0.5s;
  transition-timing-function: linear;
}
.company_sub .ceo_pho_box .m_txt.show {
  opacity: 1;
}

.company_sub .content_box .txt {
  font-size: 16px;
  font-weight: normal;
  line-height: 2;
  text-align: left;
}
.company_sub .content_box .txt + .txt {
  margin-top: 40px;
}
.company_sub .content_box .txt.last_txt {
  text-align: right;
  margin-bottom: 80px;
}
@media (max-width: 1300px)  and (min-width: 1001px) {
  .company_sub .ceo_pho_box {
    background-position: 50%;
  }
  .company_sub .content_box {
    padding: 0 2%;
  }
}
@media (max-width: 1000px)  and (min-width: 769px) {
  .company_sub .ceo_pho_box {
    background-position: 50%;
  }
  .company_sub .ceo_pho_box .m_txt {
    width: 60.5000vw;
  }
  .company_sub .content_box {
    padding: 0 2%;
  }
}

@media screen and (max-width: 768px) {
  .company_sub .ceo_wrap .content_box_pdf {
    margin: 2vw auto 0;
  }
  .company_sub .ceo_pho_box {
    max-width: 100%;
    margin: 8vw auto 6.6667vw;
    background: url('../img/company/sub/ceo_pho_sp.png') no-repeat;
    background-size: 74.4vw;
    background-position: 0 50%;
  }
  .company_sub .ceo_pho_box .content_inner {
    width: 100%;
    min-height: 47.0667vw;
  }
  .company_sub .ceo_pho_box .m_txt {
    width: 48vw;
    right: 5.3333vw;
  }


  .company_sub .content_box {
    width: 89.3333vw;
    margin: 0 auto;
  }
  .company_sub .content_box .txt {
    font-size: 3.2vw;
    line-height: 1.5;
  }
  .company_sub .content_box .txt + .txt {
    margin-top: 5.3333vw;
  }
  .company_sub .content_box .txt.last_txt {
    margin-bottom: 10.6667vw;
  }
}







/* 会社概要・沿革 */
.company_wrap .cont_tit {
  width: 320px;
  height: 40px;
  margin: 0 auto;
  background: #000;
  border-radius: 50px;
}
.company_wrap .data_wrap .cont_tit {
  width: 420px;
}
.company_wrap .cont_tit span {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-bottom: 2px;
  font-size: 24px;
  color: #fff;
}

.profile_wrap .cont_tit {
  margin-top: 30px;
  margin-bottom: 30px;
}
.business_wrap .cont_tit {
  margin-top: 75px;
  margin-bottom: 50px;
}


.profile_wrap .profile_table {
  width: 100%;
  text-align: left;

  border-collapse: collapse;
  border-spacing: 0;
}
.profile_wrap .profile_table tr {
  width: 100%;
  border-top: 1px solid #cacaca;
}
.profile_wrap .profile_table tr:last-child {
  border-bottom: 1px solid #cacaca;
}
.profile_wrap .profile_table th {
  width: 28.1818%;
  /* 310 */
  background: #f8f8f8;
  vertical-align: top;
}
.profile_wrap .profile_table td {
  width: calc(100% - 28.1818%);
}
.profile_wrap .profile_table th,
.profile_wrap .profile_table td {
  padding: 20px 0 20px 30px;
  font-size: 16px;
  font-weight: normal;
}

.profile_wrap .profile_table .dl_box li + li {
  margin-top: 1em;
}
.profile_wrap .profile_table dl {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 15px;
}
.profile_wrap .profile_table dl dt {
  width: 115px;
}
.profile_wrap .profile_table dl dd span {
  display: inline-block;
  width: 120px;
}

.profile_wrap .profile_table ol.num {
  padding-left: 15px;
}
.profile_wrap .profile_table p,
.profile_wrap .profile_table ol.num li {
  line-height: 2;
}
.profile_wrap .profile_table ol.num li + li {
  margin-top: 10px;
} 

.profile_wrap .profile_table .map_box {
  width: 710px;
  margin-top: 20px;
}
.profile_wrap .profile_table .map_box01 {
  margin-bottom: 60px;
}

.profile_wrap .profile_table .map_box iframe {
  width: 100%;
  height: 400px;
}

.profile_wrap .history_box {
  margin-top: 60px;
}


.profile_wrap .profile_table td .img_size01 {
  width: 230px;
  margin-top: 10px;
}
.profile_wrap .profile_table td .img_size02 {
  width: 230px;
  margin-top: 10px;
}

@media (max-width: 1100px) and (min-width: 769px) {
  .profile_wrap .profile_table .map_box {
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .company_wrap .data_wrap .cont_tit {
    width: 80vw;
  }
  .company_wrap .cont_tit span {
    font-size: 4.8vw;
  }

  .profile_wrap .cont_tit {
    width: 64vw;
    height: 8vw;
    margin: 5.3333vw auto;
  }
  .business_wrap .cont_tit {
    width: 64vw;
    height: 8vw;
    margin: 8vw auto 6.6667vw;
  }

  .profile_wrap .cont_tit span {
    font-size: 4.8vw;
  }
  .profile_wrap .profile_table th {
    width: 100%;
  }
  .profile_wrap .profile_table td {
    width: 100%;
  }
  .profile_wrap .profile_table th,
  .profile_wrap .profile_table td {
    padding: 2vw 2.6667vw 2.6667vw;
    font-size: 3.2vw;
    display: block;
    box-sizing: border-box;
  }
  .profile_wrap .profile_table dl {
    width: 100%;
    gap: 2vw 4vw;
  }
  .profile_wrap .profile_table dl dt {
    width: 100%;
  }
  .profile_wrap .profile_table dl dd {
    width: 100%;
  }
  .profile_wrap .profile_table .dl_box li:nth-child(1) dt {
    width: 24vw;
  }
  .profile_wrap .profile_table .dl_box li:nth-child(1) dd {
    width: calc(100% - 45vw);
  }
  .profile_wrap .profile_table dl dd span {
    width: 18vw
  }


  .profile_wrap .profile_table ol.num {
    padding-left: 4vw;
  }
  .profile_wrap .profile_table p,
  .profile_wrap .profile_table ol.num li {
    line-height: 1.5;
  }
  .profile_wrap .profile_table ol.num li + li {
    margin-top: 1.3333vw;
  } 


  .profile_wrap .profile_table .map_box {
    width: 100%;
    margin-top: 2.6667vw;
  }
  .profile_wrap .profile_table .map_box01 {
    margin-bottom: 4vw;
  }
  .profile_wrap .profile_table .map_box iframe {
    height: 50.2667vw;
  }

  .profile_wrap .history_box {
    margin-top: 10.6667vw;
  }

  .profile_wrap .profile_table td .img_size01 {
    display: block;
    width: 50vw;
    margin: 2vw auto 0;
  }
  .profile_wrap .profile_table td .img_size02 {
    display: block;
    width: 60vw;
    margin: 2vw auto 0;
  }
}










/* 組織図 */
.company_sub .content_box {
  margin: 15px auto 80px;
}
.company_sub .pdf_icon_box {
  text-align: right;
  margin-bottom: 15px;
}
.company_sub .pdf_icon_box a {
  font-size: 12px;
  line-height: 1.5;
}
.company_sub .pdf_icon_box .pdf_icon {
  width: 16px;
}
.company_sub .group_wrap .img_box {
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  .company_sub .content_box {
    margin: 2vw auto 10.6667vw;
  }
  .company_sub .group_wrap .img_box {
    margin-top: 8vw;
  }
}














/* 事業概要 */
.business_wrap .main_txt {
  font-size: 27px;
  font-weight: normal;
  line-height: 1.85;
}
.business_wrap .company_img01 {
  width: 900px;
  margin: 0 auto 50px;
}

.business_wrap .company_cont01 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 900px;
  margin: 0 auto 50px;
  padding-top: 30px;
  padding-bottom: 57px;
  position: relative;
  background: url('../img/company/sub/guidance_cont01_line_pc.png') no-repeat;
  background-size: cover;

  clip-path: inset(0 100% 0 0);
  transition: clip-path 1s cubic-bezier(0.37, 0, 0.63, 1);
}
.business_wrap .company_cont01.show {
  clip-path: inset(0);
}
.business_wrap .company_cont01 .txt_img {
  width: 200px;
}
.business_wrap .company_cont01 .txt_img + .txt_img {
  margin-left: 100px;
}

.business_wrap .company_cont01 .txt_img01.show {
  transition-delay: 1s;
}
.business_wrap .company_cont01 .txt_img02.show {
  transition-delay: 1.3s;
}
.business_wrap .company_cont01 .txt_img03.show {
  transition-delay: 1.6s;
}


.business_wrap .cont_txt {
  font-size: 21px;
  font-weight: bold;
}
.business_wrap .sp_slider_box {
  display: none;
}
.business_wrap .before_box ul {
  margin-top: 70px;
  /* margin-bottom: 350px; */
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 0 40px;
}
.business_wrap .before_box ul li {
  width: 340px;
}
.business_wrap .before_box ul li:nth-child(1) {
  transition-delay: 0.2s;
}
.business_wrap .before_box ul li:nth-child(2) {
  transition-delay: 0.4s;
}
.business_wrap .before_box ul li:nth-child(3) {
  transition-delay: 0.6s;
}


.business_wrap .before_box ul li .num {
  display: block;
  font-size: 70px;
  font-family: "din-2014", sans-serif;
}
.business_wrap ul li:nth-child(1) .num,
.business_wrap .swiper-slide01 .num {
  color: #ff6000;
}
.business_wrap ul li:nth-child(2) .num,
.business_wrap .swiper-slide02 .num {
  color: #30e083;
}
.business_wrap ul li:nth-child(3) .num,
.business_wrap .swiper-slide03 .num {
  color: #1e3cd4;
}
.business_wrap .before_box ul li .before_tit {
  /* font-size: 24px; */
  font-size: 23px;
  font-weight: bold;
  margin-top: 10px;
  margin-bottom: 15px;
}
.business_wrap .before_box ul li .before_img {
  margin-bottom: 10px;
}
.business_wrap .before_box ul li .before_txt {
  font-size: 14px;
  line-height: 1.92;
  text-align: justify;
}
.business_wrap .before_box ul li .before_txt span {
  font-weight: bold;
}
.business_wrap .before_box ul li .before_txt small {
  font-size: 13px;
  line-height: 1.6;
}


.business_wrap .ft_img {
  width: calc(100% - 150px);
  margin: 0 0 0 auto;
}




.business_wrap .before_box,
.business_wrap .after_box {
  background: url(../img/company/data_bg02.png) repeat-x;
}
.business_wrap .after_box ul {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 50px;
}
.business_wrap .after_box ul li {
  width: 428px;
}
.business_wrap .after_box ul li:nth-child(1) {
  margin-right: -35px;
}
.business_wrap .after_box ul li:nth-child(2) {
  margin-left: -35px;
}


.business_wrap .after_box .txt_con b {
  display: block;
  font-size: 21px;
  font-weight: bold;
}
.business_wrap .after_box .txt_con p {
  margin-top: 20px;
  font-size: 16px;
  line-height: 2;
}


.business_wrap .after_box .img_con {
  width: 100%;
  margin-top: 100px;
  /* margin-bottom: 100px; */
  padding: 40px;
  box-sizing: border-box;
  background: #fff;
  border-radius: 10px;
}
.business_wrap .after_box .img_con b {
  display: block;
  font-size: 21px;
  font-weight: bold;
  text-align: left;
  line-height: 1.52;
}

.business_wrap .orange_btn {
  width: 290px;
  height: 60px;
  margin: 0 auto 100px;
  border-radius: 50px;
  background: linear-gradient(to right, #ff9658, #f55b00);
  position: relative;
}
.business_wrap .orange_btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}
.business_wrap .orange_btn span {
  font-size: 0.875rem;
  color: #fff;
  line-height: 1.5;
}
.business_wrap .orange_btn img {
  width: 22px;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}



@media (max-width: 1100px)  and (min-width: 769px) {
  .business_wrap .main_txt {
    font-size: 2.4545vw;
  }
  .business_wrap .company_img01 {
    width: 81.8182vw;
  }


  .business_wrap .company_cont01 {
    width: 81.8182vw;
    background-size: 81.8182vw;
  }
  .business_wrap .company_cont01 .txt_img {
    width: 18.1818vw;
  }
  .business_wrap .company_cont01 .txt_img + .txt_img {
    margin-left: 9.0909vw;
  }



  .business_wrap .cont_txt {
    font-size: 1.9091vw;
  }
  .business_wrap .before_box ul {
    gap: 0 3.6364vw;
  }
  .business_wrap .before_box ul li {
    width: 30.9091vw;
  }
  .business_wrap .before_box ul li .num {
    font-size: 6.3636vw;
  }

  .business_wrap .before_box ul li .before_tit {
    font-size: 2.0909vw;
  }
  .business_wrap .before_box ul li .before_txt {
    font-size: 1.2727vw;
  }
  .business_wrap .before_box ul li .before_txt small {
    font-size: 1.1818vw;
  }


  .business_wrap .ft_img {
    width: calc(100% - 13.6364vw);
  }


  .business_wrap .after_box ul li {
    width: 38.9091vw;
  }
  .business_wrap .after_box ul li:nth-child(1) {
    margin-right: -3.1818vw;
  }
  .business_wrap .after_box ul li:nth-child(2) {
    margin-left: -3.1818vw;
  }
  

  .business_wrap .after_box .txt_con b {
    font-size: 1.9091vw;
  }
  .business_wrap .after_box .txt_con p {
    font-size: 1.4545vw;
  }

  .business_wrap .after_box .img_con {
    margin-top: 9.0909vw;
    margin-bottom: 9.0909vw;
    padding: 40px;
  }
  .business_wrap .after_box .img_con b {
    font-size: 1.9091vw;
  }

}


@media screen and (max-width: 768px) {
  .company_sub .content_box {
    margin-bottom: 6.6667vw;
  }
  .business_wrap .main_txt {
    font-size: 4.2667vw;
  }
  
  .business_wrap .company_img01 {
    width: 63.2000vw;
    margin: 0 auto 50px;
  }


  .business_wrap .company_cont01 {
    justify-content: flex-start;
    flex-direction: column;
    width: 63.2000vw;
    height: 175.0667vw;
    margin: 0 auto 5.3333vw;
    padding-top: 5.3333vw;
    padding-bottom: 0;
    position: relative;
    background: url('../img/company/sub/guidance_cont01_line_sp.png') no-repeat;
    background-size: 63.2000vw;
    clip-path: inset(0 0 100% 0);
    transition: clip-path 1s cubic-bezier(0.37, 0, 0.63, 1);
  }
  .business_wrap .company_cont01 .txt_img {
    width: 45.3333vw;
  }
  .business_wrap .company_cont01 .txt_img + .txt_img {
    margin-left: 0;
    margin-top: 12.6667vw;
  }

  .business_wrap .company_cont01 .txt_img01.show {
    transition-delay: 0.3s;
  }
  .business_wrap .company_cont01 .txt_img02.show {
    transition-delay: 0.3s;
  }
  .business_wrap .company_cont01 .txt_img03.show {
    transition-delay: 0.3s;
  }



  .business_wrap .cont_txt {
    font-size: 4.8vw;
    line-height: 1.5;
  }
  .business_wrap .before_box ul {
    display: none;
  }
  .business_wrap .sp_slider_box {
    display: block;
    position: relative;
    margin-top: 8vw;
  }
  .business_wrap .swiper-slide {
    background-color: #fff;
    box-sizing: border-box;
    padding-bottom: 6vw;
  }
  .business_wrap .swiper-slide .num {
    display: block;
    font-size: 16vw;
    font-family: "din-2014", sans-serif;
  }
  .business_wrap .swiper-slide .before_tit {
    font-size: 4.8vw;
    font-weight: bold;
    margin-top: 0;
    margin-bottom: 4vw;
  }
  .business_wrap .swiper-slide .before_img {
    margin-bottom: 4vw;
  }
  .business_wrap .swiper-slide p.before_txt {
    font-size: 3.2vw;
    line-height: 1.5;
    text-align: left;
  }
  .business_wrap .swiper-slide p.before_txt span {
    font-weight: bold;
  }
  .business_wrap .swiper-slide p.before_txt  small {
    font-size: 2.8vw;
    line-height: 1.6;
  }

  .business_wrap .swiper-button-next,
  .business_wrap .swiper-button-prev {
    width: 10.6667vw;
    top: 40%;
  }
  .business_wrap .swiper-button-next {
    transform: rotate(-180deg);
    right: -4vw;
  }
  .business_wrap .swiper-button-prev {
    left: -4vw;
  }
  .business_wrap .swiper-button-next:after, 
  .business_wrap .swiper-button-prev:after {
    display: none;
  }

  .swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
    bottom: 0;
  }
  .business_wrap .swiper-pagination-bullet {
    width: 13.3333vw;
    height: 0.5333vw;
    border-radius: 0 !important;
    background: #000;
    opacity: 1;
  }
  .business_wrap .swiper-pagination {
    bottom: 0 !important;
  }
  .business_wrap .swiper-pagination-bullet-active {
    background: #f37022;
  }


  .business_wrap .ft_img {
    width: calc(100% - 2.6667vw);
    margin: 0 0 0 auto;
  }
  

  .business_wrap .after_box ul {
    flex-direction: column;
    margin-bottom: 5.3333vw;
  }
  .business_wrap .after_box ul li {
    width: 88.4vw;
  }
  .business_wrap .after_box ul li:nth-child(1) {
    margin-right: 0;
  }
  .business_wrap .after_box ul li:nth-child(2) {
    margin-left: 0;
    margin-top: -7.3333vw;
  }


  .business_wrap .after_box .txt_con b {
    font-size: 4.8vw;
    line-height: 1.5;
  }
  .business_wrap .after_box .txt_con p {
    margin-top: 4vw;
    font-size: 3.2vw;
    line-height: 1.5;
    text-align: left;
  }
 

  .business_wrap .after_box .img_con {
    width: 100%;
    margin-top: 8vw;
    margin-bottom: 0;
    padding: 8vw 3.3333vw;
    /* background: #ddd; */
  }
  .business_wrap .after_box .img_con b {
    font-size: 4.2667vw;
    line-height: 1.5;
    margin-bottom: 5.3333vw;
  }


  .business_wrap .orange_btn {
    width: 58.6667vw;
    height: 12.5333vw;
    margin: 0 auto 13.333vw;
  }
  .business_wrap .orange_btn span {
    font-size: 3.2vw;
  }
  .business_wrap .orange_btn img {
    width: 4vw;
    right: 4vw;
  }

}



/* 経営理念 */
.philosophy_wrap .content_box {
  margin-top: 80px;
  margin-bottom: 100px;
}
.philosophy_wrap .main_txt {
  font-size: 27px;
  font-weight: normal;
  line-height: 1.85;
  margin-bottom: 80px;
}
.philosophy_wrap .img_box {
  width: 400px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .philosophy_wrap .content_box {
    margin-top: 8vw;
    margin-bottom: 13.3333vw;
  }
  .philosophy_wrap .main_txt {
    font-size: 4.2667vw;
    line-height: 1.56;
    margin-bottom: 6.6667vw;
  }
  .philosophy_wrap .img_box {
    width: 100%;
  }
}