@charset "UTF-8";
.subHeader {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 300px;
  margin-bottom: 10px;
}
.subHeader_profile {
  background: url(../images/img_aboutmain.jpg) 50% 100% no-repeat;
  background-size: auto;
}
.subHeader_business {
  background: url(../images/img_businessmain.jpg) 50% 100% no-repeat;
  background-size: auto;
}
.subHeader_products {
  background: url(../images/img_productsmian.jpg) 50% 100% no-repeat;
  background-size: auto;
}
.subHeader_sitemap {
  background: url(../images/img_sitemapmain.jpg) 50% 100% no-repeat;
  background-size: auto;
}
.subHeader_csr {
  background: url(../images/img_csrmain.jpg) 50% 100% no-repeat;
  background-size: auto;
}
.subHeader_topics {
  background: url(../images/img_topicsmain.jpg) 50% 100% no-repeat;
  background-size: auto;
}
.subHeader_inquiry {
  background: url(../images/img_contactmain.jpg) 50% 100% no-repeat;
  background-size: auto;
}
.subHeader_tech {
  background: url(../images/img_techmain.jpg) 50% 100% no-repeat;
  background-size: auto;
}
.subHeader_about {
  background: url(../images/img_aboutmain.jpg) 50% 100% no-repeat;
  background-size: auto;
}
.subHeader .h_style01 {
  text-shadow: 0 1px 8px rgba(255, 255, 255, 0.7), 0 -1px 8px rgba(255, 255, 255, 0.7), 1px 0 8px rgba(255, 255, 255, 0.7), -1px 0 8px rgba(255, 255, 255, 0.7);
}
.subHeader .h_style01 span {
  text-shadow: none;
}

@media screen and (max-width: 767px) {
  .subHeader {
    height: 200px;
    margin-bottom: 20px;
  }
  .subHeader_profile {
    background: url(../images/img_aboutmain@2x.jpg) 0% 100% no-repeat;
    background-size: cover;
  }
  .subHeader_business {
    background: url(../images/img_businessmain@2x.jpg) 0% 100% no-repeat;
    background-size: cover;
  }
  .subHeader_sitemap {
    background: url(../images/img_sitemapmain@2x.jpg) 50% 100% no-repeat;
    background-size: cover;
  }
  .subHeader_products {
    background: url(../images/img_productsmian@2x.jpg) 60% 100% no-repeat;
    background-size: cover;
  }
  .subHeader_topics {
    background: url(../images/img_topicsmain@2x.jpg) 50% 100% no-repeat;
    background-size: cover;
  }
  .subHeader_csr {
    background: url(../images/img_csrmain@2x.jpg) 0% 100% no-repeat;
    background-size: cover;
  }
  .subHeader_inquiry {
    background: url(../images/img_contactmain@2x.jpg) 50% 100% no-repeat;
    background-size: cover;
  }
  .subHeader_tech {
    background: url(../images/img_techmain@2x.jpg) 74% 100% no-repeat;
    background-size: auto;
  }
  .subHeader_about {
    background: url(../images/img_aboutmain@2x.jpg) 50% 100% no-repeat;
    background-size: cover;
  }

}
/*
02 profile 会社概要
*/
.profile_menu {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 45px;
}
.profile_menu a {
  /* width: 300px; */
  max-width: 100%;
  height: 100%;
}

@media screen and (max-width: 767px) {
  .profile_menu {
    margin-bottom: 35px;
    gap:5px;
  }
  .profile_menu > * {
    max-width: calc(25% - 5px);
  }
  .profile_menu > * a span {
    padding: 5px 28px 5px 2px;
    font-size: 0.85rem;
    height: 100%;
    min-height: 4.5em;
    box-sizing: border-box;
  }
}
.bg_gray {
  background: #f2f4f7;
  padding: 30px 0;
}

.profile_flex {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.profile_flex_l {
  padding-right: 30px;
}
.profile_flex_l p {
  margin-bottom: 30px;
  line-height: 1.8;
}
#mold section{
    margin-top: 50px;
    position: relative;
}
#mold .profile_flex_l{
  width: 450px;
  max-width: 45%;

}
.mold_strength2 {
  margin-bottom: 20px;

}
.mold_strength2 img{
  max-width: 100%;height: auto;

}

@media screen and (max-width: 767px) {
.profile_flex {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.profile_flex_l {
    padding-right: 0;
}
.profile_flex_l p {
    margin-bottom: 20px;
    line-height: 1.8;
}
.profile_flex_r figure {
    display: block;
}
.profile_flex_r figure img {
    max-width: 100%;
}
#mold {
    margin-bottom: 0;
}
.profile_flex_l {
  padding-right: 0;
}
.profile_flex_l p {
  margin-bottom: 30px;
  line-height: 1.8;
}
#mold section{
    margin-top: 85px;
    position: relative;
}
#mold .profile_flex_l{
  width: 100%;
  max-width: 100%;

}
}
.message {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      width: 100%;
}
.message .message-box{
    width: 67%;
    padding-right: 25px;
}
.message .img{
    width: 30%;
}
.message .img img{
    width: 100%;
    margin-bottom: 20px;
}
.message .img p{
    text-align: right;
}

@media screen and (max-width: 767px) {
.message {
    display: block;
}
.message .message-box{
    width: 100%;
    padding: 0;
}
.message .img{
    width: 90%;
    text-align: right;
    margin: 0 auto;
}
.message .message-box br {
    display: none;
}
}



.kessan_dl dl {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.kessan_dl dl dt {
  display: block;
  width: 100%;
  font-size: 20px;
  margin-bottom: 20px;
}
.kessan_dl dl dd {
  /* display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; */
  width: 100%;
  margin-bottom: 25px;
  background: #f2f4f7;
  padding: 35px 40px;
}
.kessan_dl dl dd p{
  margin: 15px 0;
}
.kessan_dl dl dd a {
  display: inline-block;
  color: #003789;
  margin-right: 5px;
  padding-bottom: 5px;
  border-bottom: 1px solid #003789;
  text-decoration: none;
}
.kessan_dl dl dd.pdf p:before {
    width: 32px;
    height: 33px;
    background-size: contain !important;
    display: inline-block;
    vertical-align: middle;
    margin-right: 20px;
    content: "";
    background: url(../images/ico_pdf.svg) 0 0 no-repeat;
}
/* .kessan_dl dl dd.pdf:before {
  display: block;
  width: 36px;
  height: 42px;
  margin-right: 20px;
  content: "";
  background: url(../images/ico_pdf.svg) 0 0 no-repeat;
} */

@media screen and (max-width: 767px) {
  .kessan_dl dl dt {
    margin-bottom: 10px;
  }
  .kessan_dl dl dd {
    font-size: 12px;
    padding: 14px 10px;
  }
  .kessan_dl dl dd.pdf:before {
    width: 30px;
    height: 36px;
    margin-right: 10px;
    background-size: cover;
  }
  .kessan_dl dl dd span {
    letter-spacing: -1px;
    white-space: nowrap;
  }
}
.enkaku_style dl {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.enkaku_style dl dt {
  width: 145px;
  max-width: 20%;
  font-weight: 600;
  padding-bottom: 20px;
  color: #003789;
}
.enkaku_style dl dd {
  width: calc(100% - 200px);
  max-width: 80%;
  padding-left: 50px;
  padding-bottom: 30px;
  border-left: 3px solid #003789;
  position: relative;
}
.enkaku_style dl dd:before {
  display: block;
  width: 15px;
  height: 15px;
  content: "";
  background: #003789;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 20px;
  -webkit-transform: translateX(-57%);
          transform: translateX(-57%);
}

@media screen and (max-width: 767px) {
  .enkaku_style dl dt {
    width: 85px;
    max-width: 25%;
  }
  .enkaku_style dl dd {
    width: calc(100% - 110px);
    max-width: 75%;
    padding-left: 20px;
    padding-bottom: 30px;
    border-left: 3px solid #003789;
    position: relative;
  }
  .enkaku_style dl dd:before {
    display: block;
    width: 15px;
    height: 15px;
    content: "";
    background: #003789;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 20px;
    -webkit-transform: translateX(-57%);
            transform: translateX(-57%);
  }
}
/*
04 access アクセス
*/
.acces_box {
  border-bottom: 1px solid #d2d2d2;
}
.acces_box_item {
  padding: 30px 0;
}
.acces_box_item p {
  line-height: 1.8;
}
.acces_box:after {
  display: block;
  content: "";
  clear: both;
}

.division_link > div {
  margin-bottom: 40px;
}
.division_link a, .division_link .division_link_item {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border: 1px solid #003789;
  position: relative;
  height: 200px;
}
.division_link a figure, .division_link .division_link_item figure {
  display: block;
  width: 200px;
  height: 200px;
  overflow: hidden;
}
.division_link a figure img, .division_link .division_link_item figure img {
  -webkit-transition: all 0.8s;
  transition: all 0.8s;
}
.division_link a div, .division_link .division_link_item div {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #003789;
  width: calc(100% - 200px);
  max-width: 70%;
  position: relative;
  text-align: center;
  overflow: hidden;
  -webkit-transition: color 0.4s;
  transition: color 0.4s;
}
.division_link a div:before, .division_link .division_link_item div:before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 100%;
  height: 100%;
  background: #003789;
  right: 100%;
  -webkit-transition: right 0.4s;
  transition: right 0.4s;
  z-index: 0;
}
.division_link a div:after, .division_link .division_link_item div:after {
  display: block;
  content: "";
  width: 0;
  height: 0;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 0;
  border-style: solid;
  border-width: 0 0 55px 55px;
  border-color: transparent transparent #003789 transparent;
}
.division_link a div.nolink, .division_link .division_link_item div.nolink {
  width: 100%;
  color: #000;
  max-width: 100%;
}
.division_link a div.nolink:before, .division_link .division_link_item div.nolink:before {
  display: none;
}
.division_link a div > span, .division_link .division_link_item div > span {
  display: block;
  font-size: 28px;
  position: relative;
  z-index: 2;
}
.division_link a div > span > span, .division_link .division_link_item div > span > span {
  display: block;
  font-size: 20px;
}
.division_link a:hover, .division_link .division_link_item:hover {
  text-decoration: none;
}
.division_link a:hover div, .division_link .division_link_item:hover div {
  color: #fff;
}
.division_link a:hover div:before, .division_link .division_link_item:hover div:before {
  right: 0;
}
.division_link a:hover div.nolink, .division_link .division_link_item:hover div.nolink {
  color: #000;
}
.division_link a:hover figure img, .division_link .division_link_item:hover figure img {
  -webkit-transform: scale(1.15);
          transform: scale(1.15);
}
.division_link a:before, .division_link a:after {
  position: absolute;
  display: block;
  content: "";
  width: 20px;
  height: 1px;
  background: #fff;
  bottom: 14px;
  right: 10px;
  margin: auto;
  z-index: 2;
  -webkit-transition: background 0.4s;
  transition: background 0.4s;
}
.division_link a:after {
  width: 10px;
  bottom: 16px;
  -webkit-transform: rotate(30deg);
          transform: rotate(30deg);
}

/*
05 metallic 金型部門
*/
.division_item {
  margin-bottom: 40px;
  text-align: center;
  font-size: clamp(16px,3vw,20px);
}
.measurement .pic {
    padding: 0 10px;
}
.division_item figcaption {
  padding: 18px 20px;
}
.division_item.division_item2 figcaption {
  padding: 12px 20px;
  margin: auto;
  margin-bottom: 15px;
  font-size: clamp(16px,3vw,20px);
  font-weight: 500;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  justify-content: center;
  align-items:center;
  color: #fff;
  width: 464px;
  max-width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;

  background: #003789;
}

@media screen and (max-width: 767px) {
  .division_item {
    margin-bottom: 20px;
    font-size: 16px;
  }
  .measurement .pic {
    width: 49%;
    padding: 0!important;
    margin-right: 3px;
  }
  .measurement .pic img{
    width: 100%;
  }
  .division_item figcaption {
    padding: 13px 15px;
  }
}

/*
09 製品案内
*/
.products_link > div {
  margin-bottom: 40px;
}
.products_link > div > a, .products_link > div > span {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border: 1px solid #003789;
  position: relative;
}
.products_link > div > a figure, .products_link > div > span figure {
  display: flex;
  width: 200px;
  height: 200px;
  overflow: hidden;
  align-items: center;
  justify-content: center;
}
.products_link > div > a figure img, .products_link > div > span figure img {
  -webkit-transition: all 0.8s;
  transition: all 0.8s;
  max-width: 100%;
}
.products_link > div > a div, .products_link > div > span div {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  width: calc(100% - 200px);
  max-width: 70%;
  background: #003789;
  position: relative;
  text-align: left;
  overflow: hidden;
  -webkit-transition: color 0.4s;
  transition: color 0.4s;
}
.products_link > div > a div:before, .products_link > div > span div:before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 100%;
  height: 100%;
  background: #fff;
  right: 100%;
  -webkit-transition: right 0.4s;
  transition: right 0.4s;
  z-index: 0;
  -webkit-transform-origin: top right;
          transform-origin: top right;
}
.products_link > div > a div:after, .products_link > div > span div:after {
  display: block;
  content: "";
  width: 0;
  height: 0;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 0;
  border-style: solid;
  border-width: 0 0 55px 55px;
  border-color: transparent transparent #fff transparent;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.products_link > div > a div > span, .products_link > div > span div > span {
  display: block;
  font-size: 20px;
  text-align: left;
  padding-left: 20px;
  position: relative;
  z-index: 2;
}
.products_link > div > a:before, .products_link > div > a:after, .products_link > div > span:before, .products_link > div > span:after {
  position: absolute;
  display: block;
  content: "";
  width: 20px;
  height: 1px;
  background: #003789;
  bottom: 14px;
  right: 10px;
  margin: auto;
  z-index: 2;
  -webkit-transition: background 0.4s;
  transition: background 0.4s;
}
.products_link > div > a:after, .products_link > div > span:after {
  width: 10px;
  bottom: 16px;
  -webkit-transform: rotate(30deg);
          transform: rotate(30deg);
}
.products_link > div > a.nolink:before, .products_link > div > a.nolink:after, .products_link > div > span.nolink:before, .products_link > div > span.nolink:after {
  display: none;
}
.products_link > div > a.nolink div:after, .products_link > div > span.nolink div:after {
  display: block;
  content: "";
  width: 0;
  height: 0;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 0;
  border-style: solid;
  border-width: 0 0 55px 55px;
  border-color: transparent transparent #003789 transparent;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.products_link > div > a:hover, .products_link > div > span:hover {
  text-decoration: none;
}
.products_link > div > a:hover div, .products_link > div > span:hover div {
  color: #003789;
}
.products_link > div > a:hover div:before, .products_link > div > span:hover div:before {
  right: 0;
}
.products_link > div > a:hover div:after, .products_link > div > span:hover div:after {
  border-color: transparent transparent #003789 transparent;
}
.products_link > div > a:hover figure img, .products_link > div > span:hover figure img {
  -webkit-transform: scale(1.15);
          transform: scale(1.15);
}
.products_link > div > a:hover:before, .products_link > div > a:hover:after, .products_link > div > span:hover:before, .products_link > div > span:hover:after {
  background: #fff;
}
.products_link > div > a:hover.nolink:before, .products_link > div > span:hover.nolink:before {
  position: absolute;
  display: block;
  content: "";
  width: 20px;
  height: 1px;
  background: #003789;
  bottom: 14px;
  right: 10px;
  margin: auto;
  z-index: 2;
  -webkit-transition: background 0.4s;
  transition: background 0.4s;
}
.products_link > div > a:hover.nolink div, .products_link > div > span:hover.nolink div {
  color: #fff;
}
.products_link > div > a:hover.nolink div:after, .products_link > div > span:hover.nolink div:after {
  display: block;
  content: "";
  width: 0;
  height: 0;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 0;
  border-style: solid;
  border-width: 0 0 55px 55px;
  border-color: transparent transparent #003789 transparent;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.products_link > div > a:hover.nolink div:before, .products_link > div > span:hover.nolink div:before {
  display: none;
}
.products_link > div > a:hover.nolink div:after, .products_link > div > span:hover.nolink div:after {
  border-color: transparent transparent #003789 transparent;
}
.products_link > div > a:hover.nolink figure img, .products_link > div > span:hover.nolink figure img {
  -webkit-transform: scale(1);
          transform: scale(1);
}

@media screen and (max-width: 767px) {
  .products_link > div {
    margin-bottom: 40px;
  }
  .products_link a {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .products_link a figure {
    display: block;
    width: 200px;
    height: 200px;
    margin: auto;
    overflow: hidden;
  }
  .products_link a figure img {
    -webkit-transition: all 0.8s;
    transition: all 0.8s;
  }
  /* .products_link a div {
    width: 100%;
    max-width: 100%;
    padding: 15px 20px 15px 0;
  } */
  .products_link > div > a div > span {
    padding-left: 0;
  }
    .products_link a div > span {
    font-size: 16px;
    margin: 0 5%;
  }
}
@media screen and (max-width: 767px) {
  .products_item figure, .products_item picture {
    display: block;
    max-width: 100%;
  }
  .products_item figure img, .products_item picture img {
    display: block;
    margin: auto;
    width: 100%;
    height: auto;
  }
}
/*
12 一気通貫
*/

.h_strength02{
  font-size: clamp(18px,3vw, 28px);
  text-align: center;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  justify-content: center;
  align-items:center;
  padding: 10px 0;
  width: calc(100% - 30px);
  margin-bottom: 20px;
  height: 60px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;

}

.h_strength02:before{
    position: absolute;
    content: '';
    display: block;
    width: 0;
    height: 0;
    top: 0;
    left: 0;
    border-style: solid;
    border-width: 30px 0 30px 30px;
    border-color: transparent transparent transparent #fff;

  }

.h_strength02:after{
    position: absolute;
    content: '';
    display: block;
    width: 0;
    height: 0;
    top: 0;
    right: -30px;
    border-style: solid;
    border-width: 30px 0 30px 30px;
    border-color: transparent transparent transparent #007bff;

  }

.h_strength02.h_strength02_01{
    background: #eff1f3;
}
.h_strength02.h_strength02_01:before{
      display: none;
  }
.h_strength02.h_strength02_01:after{
      border-color: transparent transparent transparent #eff1f3;
}

.h_strength02.h_strength02_02{
    background: #dfe8ef;
}
.h_strength02.h_strength02_02:after{
      border-color: transparent transparent transparent #dfe8ef;
}


.h_strength02.h_strength02_03{
    background: #b9d1e6;
}
.h_strength02.h_strength02_03:after{
      border-color: transparent transparent transparent #b9d1e6;
}


.h_strength02.h_strength02_04{
    background: #aac6e2;
}
.h_strength02.h_strength02_04:after{
      border-color: transparent transparent transparent #aac6e2;
}

.h_strength02.h_strength02_05{
    background: #94b3df;
}
.h_strength02.h_strength02_05:after{
      border-color: transparent transparent transparent #94b3df;
}


/*
13 人材育成
*/
.strength03_tit{
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  align-items: center;
  color: #fff;
  font-size: 16px;
  padding:10px 15px;
  line-height: 1;
  height: 60px;
  white-space: nowrap;
-webkit-box-sizing: border-box;
box-sizing: border-box;
  background: rgb(5,21,85);
  background: linear-gradient(180deg, rgba(5,21,85,1) 0%, rgba(0,54,135,1) 100%);
}
.strength03_tit>span{
  font-weight: 700;
  font-size: 24px;
  margin-right: 15px;
}
.strength03_table{
  text-align: center;
}

.strength03_table th{
    text-align: center;
}


.strength03_interview{
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  justify-content:space-between;
  gap:calc(100 / 1000  * 100%);
}
.strength03_interview.strength03_interview_margin{
  padding-top: clamp(40px,10vw,75px);
  border-top: 1px solid #003789;
}
.strength03_interview .strength03_interview_img{
    max-width: 40%;
    flex-shrink: 0;
    margin-bottom: 40px;
    order:2;
}
.strength03_interview .strength03_interview_img.order1{
    order:1;
}
.strength03_interview .strength03_interview_img img{
      max-width: 100%;
    }

.strength03_interview .strength03_interview_txt{
    margin-bottom: 40px;
    order:1;
  }
.strength03_interview .strength03_interview_txt dl dt{
        color: #003789;
        font-weight: normal;
        margin-bottom: 2px;
}
.strength03_interview .strength03_interview_txt dl  dd{
        margin-bottom: 20px;
}



.strength03_interview_info{
  padding: 10px 20px;
  margin-bottom: clamp(40px,10vw,75px);
  -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: 1px solid #003789;
    color: #003789;
}
.strength03_interview_info dl{
      display: -webkit-flex;
      display: -ms-flex;
      display: flex;
}
.strength03_interview_info  dl dt{
        flex-shrink: 0;
}
@media screen and (max-width:768px) {
  .strength03_tit{
    font-size: 12px;
    height: auto;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .strength03_tit>span{
    font-size: 19px;
    display: block;
    margin-bottom: 10px;
    margin-left: -0.5em;
  }

  .strength03_interview{
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .strength03_interview .strength03_interview_img{
      max-width: 100%;
      flex-shrink: 0;
      margin: auto auto 20px auto;
      order:1;
  }
  .strength03_interview .strength03_interview_txt{
      margin-bottom: 20px;
      order:2;
    }
}



/*
14 保有設備
*/

.gal_col{
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  /* gap:calc(80 / 1100 * 100%); */
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.gal_col .gal_child{
    width: calc(50% - calc(80 / 1100 * 100% / 2)) ;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-right: calc(80 / 1100 * 100%);
}
.gal_col .gal_child:nth-of-type(2n){
  margin-right: 0;
}
.gal_col .gal_child img{
      max-width: 100%;
}

@media screen and (max-width: 767px) {

  .gal_col{
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap:calc(80 / 1100 * 100%);
  }

  .gal_col .gal_child{
      width: 100%;
      margin-right: 0;
  }

}

/*
15 CSR
*/
.csr_dl-box {
  padding: 20px;
  background: #f2f4f7;
}
.csr_dl {
  /* padding: 20px;
  background: #f2f4f7; */
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.csr_dl div:nth-of-type(1) {
  width: 55px;
  max-width: 15%;
}
.csr_dl div:nth-of-type(2) {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 90%;
  padding-left: 5%;
}
.csr_dl div:nth-of-type(2) a span {
  color: #003789;
  display: inline-block;
  border-bottom: 1px solid #003789;
}
/*
20 技術紹介
*/

.p-tech{
  margin-bottom: 60px;

}

.p-tech .p-tech__item{
    margin-bottom: 20px;
}

.p-tech .p-tech__img{
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
}

.p-tech .p-tech__img figure{
      text-align: center;
      margin-bottom: 20px;
}
.p-tech .p-tech__img figure img{
        display: block;
         margin: auto;
        max-width: 100%;
        height: auto;
}
.p-tech .p-tech__img figure img.w_auto{
          width: auto;
          max-width: inherit;
          max-width: 80vw;
}

.p-tech .p-tech__img figure figcaption{
        display: block;
        padding-top: 15px;
        width: 100%;
        text-align: center;

}

.p-tech .p-tech__img.p-tech__img-col4{
      gap:25px;
      margin-bottom: 60px;
  }
.p-tech .p-tech__img.p-tech__img-col4 figure{
        width: 10%;
  }


.p-tech .p-tech__img.p-tech__img-col3{
      gap:40px;
      margin-bottom: 60px;
  }
.p-tech .p-tech__img.p-tech__img-col6{
      gap:25px;
      margin-bottom: 60px;
  }
.p-tech .p-tech__img.p-tech__img-col6 figure{
        width: 15%;
}
.p-tech .p-tech__img.p-tech__img-col3 figure{
        width: 33%;
  }

  @media screen and (max-width:768px) {
    .p-tech .p-tech__img.p-tech__img-col4,.p-tech .p-tech__img.p-tech__img-col3{
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
          margin-bottom: 40px;
      }
    .p-tech .p-tech__img.p-tech__img-col3 figure{
            width: 100%;
      }
      .p-tech .p-tech__img.p-tech__img-col6 figure{
        width: calc(50% - 12.5px);
      }

    .p-tech .p-tech__img.p-tech__img-col4 figure{
            width: calc(50% - 12.5px);
      }


}


/* news トピックス*/
.new_content p{
  padding-bottom: 2em;

}
.new_content p a{
  text-decoration: underline;
  color: #003789;

}
.new_content h2{
  font-size: 1.6rem;
  font-weight: 600;
  padding-bottom: 1.5em;
}
.new_content h3{
  font-size: 1.4rem;
  font-weight: 600;
  padding-bottom: 1.5em;
}
.new_content h4{
  font-size: 1.2rem;
  font-weight: 600;
  padding-bottom: 1.5em;
}
.new_content .wp-block-image{
  text-align: center;

}

.wp-pagenavi{
  text-align: center;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  justify-content: center;
}

/* about　当サイトについて*/
.p-about_tit{
  font-size: clamp(18px,5vw,28px);
  margin-bottom: 30px;
  padding-left: 30px;
}

/*23 お問い合わせフォーム*/
.inquiry.table_style.table_style2 dt{
  max-width: 50%;
}
@media screen and (max-width:768px) {
  .inquiry.table_style.table_style2 dt{
    max-width: 100%;
    width: 100%;
    position: relative;
  }

}

.hissu {
  position: relative;
}
.hissu:after {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  font-size: 12px;
  padding: 4px 7px;
  line-height: 1;
  content: "必須";
  position: absolute;
  top: 50%;
  right: 15px;
  background: #003789;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.form_type .mwform-radio-field:nth-child(n+3){
  display: none;
}
.form_doui .mwform-checkbox-field:nth-child(n+2){
  display: none;
}

.mw_wp_form input[type=text], .mw_wp_form input[type=email], .mw_wp_form textarea {
  padding: 10px 13px;
  border: 1px solid #d2d2d2;
  border-radius: 2px;
  width:100%;
  }
.mw_wp_form input[type=text].zip{
  width: auto;
}
.mw_wp_form select{
  font-size:1rem;
  font-family:'Noto Sans JP',  "游ゴシック Medium", "Yu Gothic Medium" ,"游ゴシック体", "Yu Gothic", YuGothic , 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  border: 1px solid #d2d2d2;
  min-height:2.5em;
  max-width: 100%;
}
.mw_wp_form .mwform-checkbox-field input, .mw_wp_form .mwform-radio-field input {
  -webkit-transform: scale(1.6) translateY(-1px);
          transform: scale(1.6) translateY(-1px);
  opacity: 0.7;
}
.mw_wp_form .send_btn input[type=submit] {
  display: block;
  padding: 15px 40px 15px 15px;
  font-weight: 500;
  margin: auto;
  color: #000;
  -webkit-transition: color 0.5s, background-color 0.4s, background-image 0.6s;
  transition: color 0.5s, background-color 0.4s, background-image 0.6s;
  position: relative;
  width: 250px;
  text-align: left;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 2px solid #59585d;
  overflow: hidden;
  background: #fff url(../images/img_send.png) calc(100% - 10px) 50% no-repeat;
}
.mw_wp_form .send_btn input[type=submit]:hover {
  text-decoration: none;
}
.mw_wp_form .send_btn input[type=submit]:hover:before {
  right: 0;
}
.mw_wp_form .send_btn input[type=submit]:hover {
  color: #fff;
  background-color: #59585d;
  background-image: url(../images/img_send_w.png);
}
.mw_wp_form .send_btn input[type=submit]:hover span:before,
.mw_wp_form .send_btn input[type=submit]:hover span:after {
  background: #fff;
}
@media screen and (max-width: 768px) {
  .mw_wp_form .send_btn input[type=submit] {
    margin: auto;
  }
}

.privacy_box {
  width: 700px;
  max-width: 100%;
  margin: 40px auto 20px auto;
  border: 1px solid #d2d2d2;
  height: 150px;
  padding: 25px;
  overflow-y: scroll;
}

@media screen and (max-width: 768px) {
  .privacy_box {
    width: auto;
  }
}

.buttun_box {
  width: 600px;
  max-width: 100%;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  justify-content: space-around;
}

@media screen and (max-width: 768px) {
  .buttun_box {
    flex-direction: column;
    justify-content: space-between;
    height: 150px;
  }
}

.file_box {
  width: 700px;
  max-width: 100%;
}
.file_box > div {
  width: 100%;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: 50px;
}
.file_box > div p:nth-of-type(1) {
  padding: 10px 13px;
  border: 1px solid #d2d2d2;
  border-radius: 2px;
  width: 500px;
  max-width: 75%;
}
.file_box > div p:nth-of-type(2) {
  display: block;
  height: 100%;
  width: 115px;
  max-width: 20%;
}
.file_box > div p:nth-of-type(2) label.fileup_label {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #ffffff;
  text-indent: -1em;
  text-align: center;
  border-radius: 3px;
  background-color: #003789;
  cursor: pointer;
}
.file_box > div p:nth-of-type(2) label.fileup_label input[type=file] {
  display: none;
}
.file_box > div p:nth-of-type(2) label.fileup_label b{
  font-weight:normal;
}
.mw_wp_form_preview #fileup_name,
.mw_wp_form_preview #fileup_name + p,
.mw_wp_form_preview .file_box  b{
  display:none;
}


.strength02_page .strength03_tit {
  font-size: 20px;
}
.strength02_page .strength03_tit strong {
  font-size: 30px;
}
@media screen and (max-width: 768px)  {
  .strength02_page .strength03_tit {
    font-size: 14px;
    justify-content: center;
    padding: 16px 15px;
  }
  .strength02_page .strength03_tit strong {
    font-size: 24px;
  }
  .strength02_page .strength03_tit span {
    margin-right: 0;
  }
}
