﻿#header_fix{
  display: none;
}
#header_scroll{
  display: block;
}

main{
  padding-top: 95px;
  font-size: 14px;
  color: #333333;
  line-height: 24.5px;
}

.flex_col{
  display: flex;
  align-items: flex-start;
  position: relative;
  padding: 0 0 100px;
}

.col_left{
  max-width: 900px;
  width: 100%;
  margin-right: 60px;
  
}

.col_right{
  max-width: 240px;
  flex-basis: 240px;
  flex-shrink: 0;
}

.breadcrumb-list{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 20px 0;
}

.breadcrumb-item{
  font-size: 12px;
  margin-right: 20px;
  position: relative;
}

.breadcrumb-item::after{
  content: ">";
  font-weight: bold;
  position: absolute;
  top: 50%;
  right: -14px;
  transform: translateY(-50%);
}
.breadcrumb-item:last-child::after{
  content: none;
}

section{
  padding: 0;
  margin: 0 0 50px;
}

.page_head{
  font-size: 30px;
  font-weight: bold;
  padding: 0 0 15px;
  border-bottom: solid 8px #E2E2E2;
  margin: 0 0 30px;
}

.txt_head{
  font-size: 14px;
  font-weight: bold;
}

.sec01 p{
  margin: 0 0 30px;
}

.sec01 .txt_head{
  font-size: 16px;
  text-align: center;
}

.problem{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin: 0 0 20px;
}

.problem_item{
  width: calc(100%/3 - 30px);
}
.problem_item img{
  width: 100%;
}
.sec_head{
  color: #999999;
  font-size: 18px;
  border-left: 5px solid #004795;
  padding-left: 6px;
 
}

.sec02 .logo_block{
  display: flex;
  align-items: flex-end;
  margin: 0 0 30px;
}

.sec02 .logo_block img{
  width: 220px;
  margin-right: 15px;
}

.cnt_block{
  margin: 0 0 30px;
}

.link_btn{
  display: block;
  width: fit-content;
  color: #0092D6;
  position: relative;
  padding-left: 15px;
}

.company_list .link_btn{
  padding-left: 20px;
}
.subsidiary .link_btn{
  margin-right: 40px;
}

.address_detail_box .left_box .link_btn{
  margin-right: 0;
}

.subsidiary .link_btn:first-child{
  width: 120px;
}

.link_btn::after{
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 0 8px 12px;
  border-color: transparent transparent transparent #0092D6;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.serv_list_wrap{
  margin: 0;
}

.serv_item{
  display: flex;
  align-items: flex-start;
  padding: 30px 0;
  border-bottom: dashed .25px #333333;
}

.serv_item:last-child{
  border: none;
}

.serv_item .txt_head{
  width: 200px;
  flex-shrink: 0;
}

.cnt_head{
  font-weight: bold;
}

.serv_item .cnt_head{
 font-size:14px;
}

.sec04 .serv_item{
  align-items: stretch;
}

.sec04 .txt_head{
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 146, 214, 0.300);
  color: #004795;
  width: 150px;
  margin-right: 50px;
}

/* .inr_col{
  display: flex;
  justify-content: center;
  color: #004795;
  width: 150px;
} */

.president_img img{
  max-width: 400px;
  width: 100%;
  margin: 0 auto 60px;
}
.recruiter_img img{
  max-width: 500px;
  width: 100%;
  margin: 0 auto 60px;
}

/* <!-- ↓↓ サイドメニュー ↓↓ --> */
.side_menu{
  margin: 0 0 40px;
}
.side_menu li{
  border: solid .25px #999999;
}
.side_menu .item{
  border-top: none;
}

.menu_head{
  font-size: 16px;
  padding: 10px 0 10px 20px;
  background-color: #F2F2F2;
}
.menu_head span{
  display: block;
  color: #999999;
}

.item_inr li{
  border: none;
  border-top: solid .25px #999999;
}
.side_menu a{
  display: block;
  padding: 10px 15px 10px 15px;
  color:#333333;
}
.item_inr li a{
  padding: 15px 15px 15px 30px;
}
.item_inr{
  display: none;
}
.btn_open{
  position: relative;
}
.btn_open::after{
  content: "";
  width: 11px;
  height: 1px;
  background-color: #000;
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
}
.btn_open::before{
  content: "";
  width: 1px;
  height: 11px;
  background-color: #000;
  position: absolute;
  top: 50%;
  right: 17px;
  transform: translateY(-50%);
  transition: .3s;
}

.item .inr_open::before{
  transform:translate(0,-50%) rotate(90deg);
  opacity: 0;
}

.item_inr a{
  position: relative;
}

.item_inr a::after{
  content: ">";
  width: 11px;
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  font-size: 20px;
}

.item .btn_link{
  position: relative;
}

.item .btn_link::after {
  content: ">";
  width: 11px;
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  font-size: 20px;
}

.bnr_item{
  margin: 0 0 15px;
}
/* <!-- ↑↑ サイドメニュー ↑↑ --> */

@media screen and (max-width: 1000px){
  main {
    padding-top: 74px;
  }
  .flex_col{
    display: block;
    padding: 0 0 90px;
  }
  .col_right{
    max-width: 100%;
  }
  main .container{
    margin: 0 10%;
  }
  section{
    margin: 0 0 40px;
  }
    /*
  .sec01 .lead{
    font-size: 16px;
  }
    */
  .problem_item {
    width: calc(100%/3 - 13px);
}
    /*
.sec03 .sec_head,
.sec04 .sec_head{
  margin: 0;
}
    */
.to_top{
  padding: 0;
  left: 70px;
}
.president_img img{
  max-width: 464px;
}
.recruiter_img img{
  max-width: 400px;
}
.bnr_wrap{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}
.bnr_item {
    margin: 0;
    width: 32%;
    }
}
@media screen and (max-width: 1000px){
  .col_left {
    margin: 0 0 20px;
  } 
}

@media screen and (max-width: 750px){
  main {
    padding-top: 64px;
  }
  header .container,
  main .container{
    margin: 0 20px;
  }
  .col_left {
    margin: 0 0 20px;
  } 
  .page_head {
    font-size: 22px;
    text-align: center;
    border: none;
  }
  .problem{
    display: block;
    padding: 0 50px;
  }
  .problem_item{
    width: 100%;
    margin: 0 auto 20px;
  }
  .sec01 p{
    margin: 0 0 30px;
  }
  .sec02 .logo_block{
    display: block;
  }
  .sec02 .logo_block img {
    margin: 0 0 15px;
}
.to_top{
  left: 0;
}
.serv_item{
  display: block;
  border: none;
  padding: 10px 0;
}
.sec04 .txt_head{
  display: block;
  background-color: transparent;
}
.president_img img{
  max-width: 258px;
  margin: 0 auto 60px;
}
.recruiter_img img{
  max-width: 300px;
  margin: 0 auto 60px;
}
.message_txt p{
  margin: 0 0 30px;
}
.bnr_item{
  max-width: fit-content;
    width: 48%;
}
}
@media screen and (max-width: 350px){
  .problem{
    display: block;
    padding: 0;
  }
}

/* お問合せ */
.flex_box {
  display: flex;
  margin-left: 3em;
}
.flex_box.tel {
  align-items: flex-end;
  gap: 70px;
  margin-bottom: 30px;
}
.flex_box.mail {
  gap: 30px 80px;
  margin-top: 30px;
  flex-wrap: wrap;
}
.flex_box.mail:last-of-type {
  margin-bottom: 30px;
}
.flex_box dl {
  width: 40%;
  min-width: 240px;
}
.flex_box dl dt {
    font-weight: bold;
    margin-bottom: 10px;
}
.flex_box dl dt h3 {
    font-size: 14px;
}
.flex_box span {
    font-weight: bold;
}
.flex_box span.icon_tel {
    background-image: url('/cms/corestaff/img/common/TEL.png');
    background-size: 23px 23px;
    background-repeat: no-repeat;
    background-position: left center;
    padding-left: 32px;
    display: inline-block;
    line-height: 2;
	font-size: 16px;
}
.flex_box span.pd-r_5 {
    padding-right: 5px;
}
@media screen and (max-width: 1000px){}
@media screen and (max-width: 750px){
    .flex_box {
        display: block;
        margin-left: 0;
    }
    .flex_box.tel p:first-child {
        margin-bottom: 10px;
    }
    .flex_box.mail dl {
        margin-bottom: 30px;
    }
}

/* 汎用 */
.mg-l_1 {
    margin-left: 1em;
}

ol.decimal {
    padding-left: 1em;
}

ol.decimal > li {
    list-style: decimal;
    margin-bottom: 20px;
}

ol.decimal.mb0 > li {
    margin-bottom: 0;
}

ul.disc {
    padding-left: 1em;
}

ul.disc > li {
    list-style: disc;
}

ul.disc > li.annotation {
    list-style: none;
    font-size: 12px;
}

ul.number {
    counter-reset: number 0;
}

ul.number > li:before {
    counter-increment: number 1;
    content: "(" counter(number) ") ";
}

.sec_sub_head {
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 20px;
}

.sec_sub_head.primary {
    color: #004795;
}

.mgbt0 {
    margin-bottom: 0;
}

.mgbt10 {
    margin-bottom: 10px;
}

.mgbt20 {
  margin-bottom: 20px ;
}

.mgbt30 {
  margin-bottom: 30px ;
}

.mgbt40 {
  margin-bottom: 40px ;
}

.mgbt50 {
  margin-bottom: 50px ;
}

.pd-l_1 {
    padding-left: 1em;
}

.pd-l_2 {
    padding-left: 2em;
}

.ta-r {
    text-align: right;
}

.ta-c {
    text-align: center;
}

.font-bold {
    font-weight: bold;
}

.label {
    font-size: 14px;
    width: fit-content;
    padding: 2px 10px;
    color: #ffffff;
}

.label.primary {
    background-color: #004795;
}

.label.secondary {
    background-color: #CC0000;
}

.label.third {
    background-color: #39B54A;
}

.disc_blue li {
  position: relative;
  padding-left: 1em;
  margin-bottom: 5px;
}

.disc_blue li::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 0;
  width: 5px;
  height: 5px;
  background: #0092D6;
  border-radius: 50%;
}

.color_primary {
    color: #004795;
}
.article_list {
    display: flex;
    width: 100%;
    border-bottom: 1px dotted #333333;
}
.article_list dt {
    font-weight: bold;
    width: 25%;
    padding: 20px 0;
    float: left;
}
.article_list dd {
    width: 75%;
    padding: 20px 0;
    float: right;
}

.article_list dd a {
    display: inline-flex;
}

.article_list dd a span {
    display: inline-block;
    padding-right: 2em;
}

.article_title {
    padding: 20px 0;
    width: 100%;
    border-bottom: 1px dotted #ccc;
    margin-bottom: 2em;
    color:#999;
}
.article_detail {
    margin-bottom:3em;
}

.article_detail img {
   display: inline-block;
}


.pager {
    margin:3em 0;
    clear: both;
}

.btn-prev, .btn-next {
    display: inline-flex;
    padding: 0 20px;
}

.btn-prev a:before {
    content: '';
    display: block;
    position: absolute;
    width: 8px;
    height: 8px;
    border-style: solid;
    border-width: 0 2px 2px 0;
    transform: translate(-220%, 80%) rotate(135deg);
    border-color: #999;
}
.btn-next a:after {
  content: '';
    display: block;
    position: absolute;
    width: 8px;
    height: 8px;
    border-style: solid;
    border-width: 0 2px 2px 0;
    transform: translate(820%, -170%) rotate(-45deg);
    border-color: #999;
}

@media screen and (max-width: 1000px){
    .article_detail img {
        height: auto!important;
    }
}
@media screen and (max-width: 750px){

    .article_list {
        display: block;
    }
    .article_list dt {
        width: 100%;
        float: none;
        padding:20px 0 0;
    }
    .article_list dd {
        width: 100%;
        float: none;
        padding:0 0 20px;
    }
}

/* 環境品質への取組み */
.certification_box {
  display: flex;
  gap: 60px;
}
@media screen and (min-width: 751px){
    .certification_box .iso_logo {
        width: 50%;
    }
}
@media screen and (max-width: 750px){
    .certification_box {
      display: block;
    }
    .certification_box p {
        width: fit-content;
        margin: 0 auto;
    }
    .certification_box .iso_logo {
        width: 80%;
        margin: 0 auto 20px;
    }
}

/* 会社案内・概要 */
.company_list {
    display: flex;
    border-bottom: 1px dotted #333333;
    padding: 20px 0;
}

.company_list.subsidiary {
    border-bottom: 0;
}

.company_list dt {
    font-weight: bold;
    width: 25%;
    flex-shrink: 0;
}

.company_list dd {
    width: 75%;
    flex-shrink: 0;
}

.director_list > li {
    display: flex;
}

.director_list > li span {
    display: block;
}

.director_list > li span.director,
.director_list > li span.name {
    width: 15%;
}
    @media screen and (max-width: 1000px){
      .director_list > li span.director,
.director_list > li span.name {
    width: 18%;
}
    }
.director_list > li span.ruby {
    width: 35%;
}
@media screen and (max-width: 1000px){
      .director_list > li span.ruby {
       width: 38%;
     }
    }


.director_list > li span.supp {
    width: fit-content;
}

.address_box {
    padding-bottom: 20px;
    border-bottom: 1px dotted #333333; 
}

.address_box:nth-child(n + 2) {
    margin-top: 10px;
}

.address_box:last-child {
    border-bottom: none;
}

.address_name {
    display: flex;
    margin-bottom: 10px;
    width: 220px;
}

.address_name.subsidiary {
    width: 100%;
}
.subsidiary .branchname{
 width:fit-content;
}
.branchname {
    color: #61B304;
    font-weight: bold;
    width: 112px;
    margin-right: 17px;
}

.address_detail_box {
    display: flex;
   /* gap: 50px; */
}

.address_detail_box .left_box {
    flex-basis: 120px;
}
 
.address_detail {
    display: none;
}

.address_box.current .address_name .link_btn:nth-of-type(1)::after {
    border-width: 0 8px 12px 8px;
    border-color: transparent transparent #0092D6 transparent;
}

.supplier_list {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 20px;
    gap:0 16px;
}

.supplier_list li {
    width: calc((100% / 2) - 16px);
    padding: 5px 0;
}

.current .address_detail_box > .link_btn {
    display: none;
}

@media screen and (max-width: 1000px){
    .address_detail_maparea iframe {
        width: 100%;
        height: 200px;
    }
}

@media screen and (max-width: 750px){
    .company_list {
       display: block;
       border-bottom: none;
       padding: 10px 0;
    }

    .company_list dt {
        width: 100%;
    }

    .company_list dd {
        width: 100%;
    }
    
    .company_list {
        display: block;
        border-bottom: none;
    }
    
    .director_list > li {
        display: block;
    }
    
    .director_list > li span.director,
    .director_list > li span.name {
        width: 100%;
    }

    .director_list > li span.name {
        text-indent: 1em;
    }

    .director_list > li span.ruby {
        display: none
    }
    
    .director_list > li span.supp {
        text-indent: 2em;
    }
    
    .supplier_list li {
        width: 100%;
    }
    
    .address_box {
        border-bottom: 0;
    }
    
    .address_name,
    .address_detail_box {
        display: block;
    }
    
    .current .address_name.subsidiary > .link_btn:nth-of-type(2) {
        display: none;
    }
    
    .current .address_detail_box > .link_btn {
        display: block;
    }
}

/* 社会貢献 */
.sdgs_img {
    width: fit-content;
    margin: 0 auto;
    margin-bottom: 50px;
}

.sdgs_nav {
    margin: 30px 0 60px;
}

.sdgs_nav ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    gap: 30px;
}

.sdgs_nav li {
    width: 280px;
    height: 180px;
    background-repeat: no-repeat;
    background-size: cover;
}

.sdgs_nav li.environment {
    background-image: url(/cms/corestaff/img/company/sdgs/nav_img1.jpg);
}

.sdgs_nav li.productivity {
    background-image: url(/cms/corestaff/img/company/sdgs/nav_img2.jpg);
}

.sdgs_nav li.sustainable {
    background-image: url(/cms/corestaff/img/company/sdgs/nav_img3.jpg);
}

.sdgs_nav li.work {
    background-image: url(/cms/corestaff/img/company/sdgs/nav_img4.jpg);
}

.sdgs_nav li.society {
    background-image: url(/cms/corestaff/img/company/sdgs/nav_img5.jpg);
}

.sdgs_nav li.attempt {
    background-image: url(/cms/corestaff/img/company/sdgs/nav_img6.jpg);
}

.sdgs_nav li a{
    font-size: 44px;
    color: #ffffff;
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    text-shadow: -1px 0px 20px #717071;
    text-align: center;
    line-height: 1.15;
}

.sdgs_section_box {
    margin-bottom: 120px;
}

.sdgs_section_box .annotation {
    font-size: 12px;
    color: #717071;
}

/*
.sdgs_section_box:last-child {
    margin-bottom: 0px;
}
*/

.sdgs_container {
    display: flex;
    align-items: flex-start;
    gap: 50px;
}

.sdgs_container .sdgs_img_wrap {
    min-width: 400px;
}

.sdgs_container .txt_area h3 {
    font-size: 14px;
    line-height: 1.5;
    margin-bottom: 6px;
}

.sdgs_container .txt_area ol li{
    margin-bottom: 6px;
    margin-left: 1em;
    text-indent: -1em;
}

.sdgs_img_area {
    display: flex;
    justify-content: center;
    gap: 50px;
    margin-top: 20px;
}

.sdgs_link_container {
    margin-top: 50px;
    display: flex;
    justify-content: space-around;
}

.sdgs_link_container.justify-start {
    justify-content: flex-start;
    margin-left: 100px;
    gap: 200px;
    align-items: center;
}

.sdgs_link_container .fund {
    width: 250px;
}

.sdgs_link_container .fund.sp {
    display: none;
}

.sdgs_link_container .annotation {
    display: block;
}

.sdgs_link_container p {
    position: relative;
}

.sdgs_link_container .tomonin,
.sdgs_link_container .kifu {
text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
              -1px 1px 0 #FFF, 1px -1px 0 #FFF,
              0px 1px 0 #FFF,  0-1px 0 #FFF,
              -1px 0 0 #FFF, 1px 0 0 #FFF;
}

.sdgs_link_container .tomonin span {
    position: absolute;
    top: -6px;
    left: 84px;
    width: 100px;
    height: 84px;
    z-index: -1;
}

.sdgs_link_container .kifu span {
    position: absolute;
    top: 50%;
    left: -40px;
    transform: translateY(-50%);
    width: 85px;
    height: 149px;
    z-index: -1;
}


@media screen and (max-width: 1000px){
    .sdgs_nav li {
        width: 100%;
        height: 150px;
    }
    .sdgs_nav li a {
        font-size: 32px;
    }
    .sdgs_container .sdgs_img_wrap {
        min-width: 333px;
    }
    .sdgs_link_container .fund {
        width: 150px;
    }
}

.sdgs_img_wrap img{
 width:100%;
}

@media screen and (max-width: 750px){
    .sdgs_nav {
        margin: 60px 0 80px;
    }
    .sdgs_nav ul {
        display: block;
    }
    .sdgs_nav li {
        height: auto;
        margin-bottom: 20px;
    }
    .sdgs_nav li.environment,
    .sdgs_nav li.productivity,
    .sdgs_nav li.sustainable,
    .sdgs_nav li.work,
    .sdgs_nav li.society,
    .sdgs_nav li.attempt{
        background-image: none;
    }
    .sdgs_nav li a {
        font-size: 18px;
        color: #333333;
        text-shadow: none;
    }
    .sdgs_section_box {
        margin-bottom: 60px;
    }
    .sdgs_container {
        gap: 20px;
        flex-direction: column;
    }
        .sdgs_container .txt_area {
        width:100%;
    }
    .sdgs_img_area {
        gap: 20px;
        margin-top: 20px;
    }
    .sdgs_link_container {
        flex-direction: column;
        align-items: center;
        gap: 20px;
    }
    .sdgs_link_container.justify-start {
        margin-left: 0;
        gap: 20px;
    }
    .sdgs_link_container .tomonin span,
    .sdgs_link_container .kifu span {
        display: none;
    }
    .sdgs_link_container .fund {
        width: auto;
    }
    .sdgs_link_container .fund.pc {
        display: none;
    }
    .sdgs_link_container .fund.sp {
        display: block;
    }
    .sdgs_container .sdgs_img_wrap {
    width: 100%;
    min-width: 0px;
}
}

/* 新卒採用 */
.newsworker_kv {
    width: 100%;
    height: 405px;
    background-image: url('/cms/corestaff/img/recruit/newworker/newtop.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    font-weight: bold;
    color: #ffffff;
    text-align: center;
    text-shadow: 0px 0px 16px #000000;
    margin-bottom: 60px;
}

.newsworker_kv .headline {
    font-size: 36px;
    padding-top: 100px;
}

.newsworker_kv .thought {
    font-size: 18px;
    margin-top: 80px;
}

.newsworker_nav ul {
    display: flex;
    justify-content: center;
    gap: 100px;
}

.newsworker_nav ul a {
    font-size: 18px;
    display: flex;
    border: 1px solid;
    border-radius: 0.75em;
    width: 144px;
    height: 34px;
    align-items: center;
    justify-content: center;
    padding-bottom: 2px;
}

.newsworker_nav {
    margin-bottom: 100px;
}

.newsworker_box {
    display: flex;
    margin-bottom: 40px;
    gap: 60px;
    align-items: center;
}

.newsworker_box h2{
  font-size:18px;
}

.newsworker_box.reverse {
    flex-direction: row-reverse;
}

.newsworker_box .img_section {
    width: 450px;
}

.newsworker_box .txt_section {
    text-align: center;
}

.newsworker_box .txt_section p {
    margin-top: 20px;
}

.newsworker_sec {
    text-align: center;
}

.newsworker_sec h2 {
    font-size: 18px;
    margin-bottom: 20px;
}

.newsworker_sec p {
    margin-bottom: 20px;
}

.newsworker_sec a {
    width: fit-content;
    display: block;
    margin: 0 auto;
    border: 1px solid #333333;
    padding: 20px 40px;
    border-radius: 0.75em;
}

@media screen and (max-width: 1000px){
    .newsworker_box {
        gap: 40px;
    }
    .newsworker_box .img_section {
        width: 375px;
    }
}
@media screen and (max-width: 750px){
    .newsworker_kv {
/*        height: 362px;*/
        height: 442px;
        background-image: url(/cms/corestaff/img/recruit/newworker/newtop_m.jpg);
        line-height: 1.15;
        margin-bottom: 40px;
    }
    .newsworker_kv .headline {
        padding-top: 70px;
    }
    .newsworker_kv .thought {
        line-height: 1.5;
        width: 78%;
        margin: 0 auto;
        margin-top: 40px;
    }
    .newsworker_nav {
        margin-bottom: 60px;
    }
    .newsworker_nav ul {
        gap: 40px;
        flex-wrap: wrap;
    }
    .newsworker_box {
        margin-bottom: 80px;
        gap: 0;
        flex-direction: column-reverse;
    }
    .newsworker_box .img_section {
        width: 100%;
        margin: 0 auto;
    }
    .newsworker_box.reverse {
        flex-direction: column-reverse;
    }
    .newsworker_sec a {
        width: 80%;
        padding: 10px 20px;
    }
    .newsworker_sec h2 {
        margin-bottom: 10px;
    }
    .newsworker_sec {
   	  margin-bottom:80px;
    }
}


@media screen and (max-width: 390px){
    .newsworker_kv .headline {
        padding-top: 20px;
    }
}
@media screen and (max-width: 300px){
.newsworker_kv .headline {
        font-size:32px;
    }
    .newsworker_kv .thought {
    font-size: 16px;
}
}

/* 沿革 */
.history_list {
    display: flex;
    flex-wrap: wrap;
    row-gap: 40px;
}

.history_list dt {
    width: 20%;
}

.history_list dd {
    width: 80%;
}

@media screen and (max-width: 1000px){
    .history_list{
     margin: 0 auto 40px;
    }
}

@media screen and (max-width: 750px){
    .history_list {
        row-gap: 0;
    }
    .history_list dt,
    .history_list dd {
        width: 100%;
    }
    .history_list dd {
        margin-bottom: 20px;
    }
     .history_list{
     margin: 0 auto;
    }
}

/* ITストア */
.maker_list_pc {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(3, 1fr);
    grid-column-gap: 60px;
    grid-row-gap: 40px;
    align-items: center;
    width: 92%;
    margin: 0 auto;
    text-align: center;
}
@media screen and (max-width: 1000px){
      .maker_list_pc{
        grid-row-gap: 0px;
      }
    }

.maker_list_img{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100px;
}

.maker_list_pc li .img_mini {
    width: 30%;
}

.maker_swipe_list {
    display: none !important;
}

@media screen and (max-width: 750px){
    .maker_list_pc {
        display: none;
    }
    .maker_swipe_list {
        display: block !important;
    }
    .maker_list_sp {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(2, 1fr);
        grid-column-gap: 40px;
        grid-row-gap: 20px;
    }
    .maker_list_sp li {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-end;
        height: 100px;
    }
    .maker_list_sp li .img_mini {
        width: 30%;
    }
    .maker_swipe_list .swiper-pagination {
        position: relative;
        margin-top: 20px;
    }
    .maker_swipe_list .swiper-pagination-bullet-active {
        background-color: #333333;
    }
}

/* 試作おまかせ便 */
.omakase_img {
    margin-bottom: 20px;
}

.omakase_img img.sp {
    display: none;
}

.dot_list li {
    text-indent: -1em;
    padding-left: 1em;
}
.dot_list li::before {
    content: '・';
    color: #0092D6;
}

.flex_wrap {
    display: flex;
}

.flex_wrap > * {
    margin-left: 20px;
}

.flex_wrap.align-center {
    align-items: center;
}

.procedure {
    display: flex;
    gap: 20px;
    justify-content: center;
}

.procedure.upper {
    align-items: flex-end;
}

.procedure .procedure_box {
    position: relative;
    counter-increment: heading_cnt;
    width: 180px;
    background-color: #7EC7EF;
    padding: 14px 6px;
}

.procedure .procedure_box:before {
    content: '>';
    display: block;
    position: absolute;
    color: #333333;
    top: 50%;
    right: -14px;
    transform: translateY(-50%);
}

@media screen and (max-width: 750px){
  .procedure .procedure_box:before{
    content: none;
  }
.procedure .procedure_box::after {
    content: "";
    width: 12px;
    height: 12px;
    background-color: transparent;
    border: solid 1px #333333;
    transform: rotate(45deg);
    clip-path: polygon(0 100%, 100% 100%, 100% 0);
    position: absolute;
    bottom: -11px;
    right: 0;
    left: 0;
    margin: auto;
   }
}

.procedure.upper .procedure_box:last-of-type:before,
.procedure.lower .procedure_box:last-of-type:before {
    content: none;
}

.procedure.upper .procedure_box:last-of-type:after,
.procedure.lower .procedure_box:last-of-type:after {
    content: none;
}

.procedure .procedure_box .procedure_box_title {
    position: relative;
    font-size: 18px;
    font-weight: bold;
    color: #ffffff;
    text-align: center;
    border-bottom: 1px solid #ffffff;
    padding-bottom: 4px;
}
@media screen and (max-width: 1000px){
    .procedure .procedure_box .procedure_box_title{
     padding-left: 8px;
    }
}

.procedure .procedure_box .procedure_box_title:before {
    content: counter(heading_cnt);
    position: absolute;
    top: 0;
    left: 0;
}

.procedure.lower {
    margin-top: 20px;
}

.procedure.lower  {
    counter-increment: heading_cnt 2;
}

.speech_bubble {
    position: relative;
    width: 376px;
    background-color: #E6F2FB;
    line-height: 1.15;
    padding: 4px;
}

.speech_bubble:before {
    content: '';
    position:absolute;
    top: 10px;
    left: -10px;
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 10px solid transparent;
    border-left: 10px solid transparent;
    border-bottom: 60px solid #e6f2fb;
    border-top: 0;
    transform: rotate(230deg);
    z-index: -1;
}

.omakase_box {
    width: fit-content;
    border: 1px solid #333333;
    font-size: 18px;
    font-weight: bold;
    line-height: 2;
    padding: 20px 60px;
    margin: 0 auto;
    text-align: center;
}

@media screen and (max-width: 750px){
    .omakase_img img.pc {
        display: none;
    }
    .omakase_img img.sp {
        display: block;
    }
    .procedure {
        flex-direction: column;
    }
    .procedure .procedure_box {
        width: 100%;
        padding: 6px;
    }
    .procedure .procedure_box .procedure_box_title {
        width: 180px;
        margin: 0 auto;
        padding-left: 20px;
    }
    .procedure .procedure_box .procedure_box_txt {
        text-align: center;
    }
    .speech_bubble {
        width: 100%;
    }
    .speech_bubble:before {
        top: -30px;
        left: 40px;
        transform: rotate(50deg);
    }
    .omakase_box {
        padding: 10px;
    }
}

/* 事業紹介 */
.service_container {
    display: flex;
    gap: 60px;
}

.service_img_wrap {
    max-width: 200px;
}

@media screen and (max-width: 750px){
    .service_container {
        flex-direction: column-reverse;
        gap: 10px;
    }
    .service_img_wrap {
        margin: 0 auto;
    }
}

/* 社会貢献活動 */
.csr_nav {
    margin-bottom: 40px;
    display: flex;
    justify-content: space-between;
}

.csr_nav h2 a {
    display: flex;
    justify-content: center;
    align-items: center;
    display: flex;
    width: 400px;
    height: 80px;
    text-align: center;
    background-repeat: no-repeat;
    color: #ffffff;
    text-shadow: 0px 2px 10px #000000;
    font-size: 26px;
    font-weight: bold;
}

.csr_nav h2 a.btn1 {
    background-image: url(/cms/corestaff/img/company/csr/menu_01_pc.png);
}

.csr_nav h2 a.btn2 {
    background-image: url(/cms/corestaff/img/company/csr/menu_02_pc.png);
}

.csr_flex_head {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px;
}

.csr_flex_head p {
    font-size: 35px;
    font-weight: bold;
    color: #009EE2;
    line-height: 1.5;
}

.csr_flex_box {
    display: flex;
    align-items: center;
    margin-top: 40px;
    gap: 40px;
}

.csr_flex_box.reverse {
    flex-direction: row-reverse;
}

.csr_flex_box p.w350 {
    max-width: 350px;
}

.csr_list_pc {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: repeat(4, 1fr);
    grid-column-gap: 20px;
    grid-row-gap: 0px;
    justify-items: center;
    align-items: center;
}

.csr_list_pc li {
    text-align: center;
}

.csr_list_pc a{
   color:#333333;
}

.csr_swipe_list {
    display: none;
}

@media screen and (max-width: 1000px){
    .csr_nav {
        width: 100%;
    }
    .csr_nav h2 {
        width: 46%;
    }
    .csr_nav h2 a {
        width: 100%;
        background-size: cover;
        background-position: center;
        border-radius: 2em;
    }
    .csr_nav h2 a.btn1 {
        background-image: url(/cms/corestaff/img/company/csr/menu_01_sp.png);
    }
    .csr_nav h2 a.btn2 {
        background-image: url(/cms/corestaff/img/company/csr/menu_02_sp.png);
    }
}

@media screen and (max-width: 750px){
    .csr_nav {
        flex-direction: column;
        gap: 20px;
    }
    .csr_nav h2 {
        width: 100%;
    }
    .csr_flex_head {
        flex-direction: column-reverse;
    }
    .csr_flex_head p {
        font-size: 28px;
        text-align: center;
    }
    .csr_flex_box {
        flex-direction: column;
    }
    .csr_flex_box.reverse {
        flex-direction: column;
    }
    .csr_list_pc {
        display: none;
    }
    .csr_swipe_list { 
        display: block;
        margin-bottom: 50px;
    }
    .csr_list_sp {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(2, 1fr);
        grid-column-gap: 40px;
        grid-row-gap: 0px;
        justify-items: center;
        align-items: center;
        text-align: center;
    }
    .csr_list_sp a{
      color:#333333;
    }
}


/* 当社の進む道 */
.vision_list {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.vison_list_box {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    max-width: 275px;
    width: 100%;
}

.vison_list_box h3 {
    background-color: #004795;
    color: white;
    width: fit-content;
    padding: 2px 14px;
    font-size: 14px;
}

.vison_list_box.second_color h3 {
    background-color: #0092D6;
}

.vison_list_box .read {
    text-align: center;
    font-weight: bold;
}

.vison_list_box .link_btn {
    font-size: 12px;
}

.vison_list_box ul {
    width: 100%;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.vison_list_box ul li {
    background-color: #004795;
    color: #ffffff;
    padding: 10px 0;
    line-height: 1.15;
}

.vison_list_box.second_color ul li {
    background-color: #0092D6;
}

.vison_list_box .arrow {
    width: 8%;
}

.vison_list_box .vision_answer {
    width: 100%;
    padding: 4px 0;
    color: #ffffff;
    font-weight: bold;
    background-color: #CC0000;
    text-align: center;
}

.cross_box {
    display: flex;
    gap: 80px;
    margin: 30px 0 10px;
    margin-left: 20px;
    align-items: flex-start;
}

.cross_box ul {
    width: 100%;
}

.cross_box ul li {
    margin-bottom: 14px;
    border-radius: 1em;
    padding: 10px 20px;
}

.cross_box ul li:nth-of-type(1) {
    background-color: #0092D6;
    color: #ffffff;
}

.cross_box ul li:nth-of-type(2) {
    background-color: #B3B3B3;
}

.cross_box ul li:nth-of-type(3) {
    background-color: #E6E6E6;
}

.cross_box ul li h3 {
    font-size: 14px;
}

.challenge {
    background-color: #004795;
    width: fit-content;
    margin: 0 auto;
    font-size: 18px;
    color: #ffffff;
    font-weight: bold;
    padding: 14px 20px;
}

.strategy_box {
    margin-top: 20px;
}

.strategy_box p {
    margin: 10px 0;
}

.strategy_box_flex {
    display: flex;
    gap: 20px;
}

@media screen and (max-width: 1000px){
    .cross_box {
        margin-left: 0;
        gap: 40px;
    }
    .cross_box .cross_img {
        width: 40%;
    }
}

@media screen and (max-width: 750px){
    .vision_list {
        flex-direction: column;
        align-items: center;
        gap: 60px;
    }
    .vison_list_box {
        max-width: initial;
    }
    .cross_box {
        flex-direction: column;
        align-items: center;
    }
    .cross_box .cross_img {
        width: 100%;
    }
    .challenge {
        background-color: #ffffff;
        color: #004795;
        padding: 0;
        text-align: center;
    }
    .strategy_box_flex {
        flex-direction: column;
        gap: 0;
    }
}

.f-size_12 {
    font-size: 12px;
}

.bg_title {
    background-color: #004795;
    color: #ffffff;
    font-weight: bold;
    text-align: center;
    padding: 10px 0;
    font-size: 18px;
}

/* 当社の理念*/
.core_list {
    margin-top: 40px;
    display: flex;
    justify-content: space-between;
}

.core_list li {
    text-align: center;
}

.core_list li h3 {
    font-size: 14px;
    margin-bottom: 20px;
}

@media screen and (max-width: 750px){
    .core_list {
        flex-direction: column;
        align-items: center;
        gap: 80px;
        margin-bottom: 80px;
    }
}

/* 緊急調達/品質検査/生産中止品 */
.suggestion_txt {
    font-size: 18px;
    font-weight: bold;
    text-align: center;
}

.table {
    display: flex;
    align-items: stretch;
}

.table dt {
    display: flex;
    align-items: center;
    border-top: 1px solid #999999;
    border-left: 1px solid #999999;
    border-right: 1px solid #999999;
    width: 80px;
    justify-content: center;
    font-weight: bold;
    min-height: 50px;
    text-align: center;
    line-height: 1.15;
}

.table dd {
    display: flex;
    align-items: center;
    border-top: 1px solid #999999;
    border-right: 1px solid #999999;
    width: calc(100% - 80px);
    padding: 0 10px;
}

.table:last-of-type dt,
.table:last-of-type dd {
    border-bottom: 1px solid #999999;
}

.table.heading dd {
    justify-content: center;
}

.table dt h3 {
    font-size: 14px;
}

.table dt h3.rank_a {
    color: #FF7983;
}

.table dt h3.rank_b {
    color: #28B7E4;
}

.table dt h3.rank_c {
    color: #3ECC72;
}

.urgent_box {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 30px;
}
@media screen and (max-width: 1000px){
 .urgent_box {
    gap: 10px;
}
}

.urgent_box figure {
    width: 48%;
    max-width: 322px;
}

.urgent_box figure img {
    display: inline;
}

.urgent_box figcaption {
    margin-top: 10px;
    text-align: center;
}

.urgent_box p {
    width: 48%;
}

@media screen and (max-width: 750px){
    .table.heading {
        display: none;
    }
    .table {
        flex-direction: column;
    }
    .table dt,
    .table dd {
        width: 100%;
    }
    .table dt {
        min-height: 25px;
    }
    .table dd {
        border-left: 1px solid #999999;
    }
    .table:last-of-type dt {
        border-bottom: none;
    }
    .urgent_box{
        flex-direction: column;
        align-items: center;
        gap: 20px;
    }
    .urgent_box figure {
        width: 100%;
    }
    .urgent_box p {
        width: 100%;
    }
}

/* 余剰在庫削減 */
.stock_img {
    display: flex;
    justify-content: center;
}