@charset "UTF-8";
body{
	font-size: 95%;
	overflow-x: hidden;
}

header{
  height: auto;
  padding-top: 20px;
}
header.bg_w{
  background: none;
  box-shadow: none;
}

header#clear #logo,
header #logo{
	width:80%;
}
header.bg_w h1 a,
header.bg_w #logo a{
	opacity: 0;
  pointer-events: none;
}
header#clear #logo .icon-logo-mark::before,
header #logo .icon-logo-mark::before{
	font-size: 26px;
}

.btn_link{
  display: block;
}
.btn_link a{
  width: 100%;
  min-width:auto;
  display: block;
}

#page_navi{
  padding-bottom: 50px ;
}
#page_navi h1 em{
  font-size: 5em;
}

/*-----------------------------------------------
__Design
-----------------------------------------------*/
table th{
  min-width: none;
  width: 30%;
}

#outline td .fl_box figure{
	max-width: 60%;
  margin: 10px 0 0 0;
}
#outline th{
  width: 31%;
}

#box_facility{
	margin-top: 0px;
}
#box_facility article dl{
	flex-direction: column;
  justify-content: flex-start;
}
#box_facility article dt,#box_facility article dd{
  width: 100%;
}
#box_facility article dt{
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: flex-start;
  padding-bottom: 20px;
}
#box_facility article dt span{
  margin-left: 2em;
}
#box_facility article dt::after{
  display: none;
}

#box_business .img_box{
  width: 100% !important;
}
#box_business .img_box > figure,
    #box_business .img_box > section{
        width: 100%;
    }
    #box_business .img_box > figure{
        padding-top: 62%;
        margin-bottom: 30px;
    }
    #box_business .img_box > figure figcaption{
      font-size: 70%;
      left: 5px;
      bottom: auto;
      top: 10px;
    }
    #box_business .img_box > section{
        padding:0;
        width: 90%;
        margin: 0 auto;
    }

    #box_business .bg_bl{
      margin-bottom: -36px;
    }
    #box_business .bg_bl .img_box{
      flex-direction: column-reverse !important;
      padding-top: 0;
      margin-bottom: 0;
    }

    #concept .box_concept{
      width: 100%;
      padding-top: 20px;
    }
    #concept dl{
      right: 3%;
    }
    #concept .box_concept dd{
      font-size: 2.6em;
    }
    #concept figure{
      height: 400px;
    }
    #concept figure img.img-top{
      object-position: left top;
	    font-family: 'object-fit: cover; object-position: left top;'
    }

    #concept .box_business{
      width: 90%;
    }
    #concept .box_business ul.fl_box{
      justify-content: space-between !important;
    }
    #concept ul.fl_box > li{
      width: 45%;
    }
    #concept ul.fl_box > li::before{
      left: -15px;
    }

    #concept.business dd{
      font-size: 1.2em;
      text-align: left;
    }
    #box_business .img_box#metal_parts .fl_box{
      width: 90%;
    }
    #box_business .parts {
      width: 90%;
      padding: 0 15px 20px 15px;
      margin-bottom: 10px;
    }
    #box_business .parts .fl_box div{
      width: 32%;
    }
    #box_business .parts .fl_box{
      width: 100%;
    }

    #box_business .business_img{
      flex-wrap: wrap;
      margin-bottom: 0;
    }
    #box_business .business_img > div{
      width: 49.9%;
      margin-bottom: 1px;
    }

    .box_strength.bg_bl{
      padding: 60px 0;
    }
    .box_strength{
      margin: 60px auto;
    }

    #strength .intro div.fl_box > div{
      width: 100%;
      margin-bottom: 30px;
    }
    #strength .intro div.fl_box > figure{
      width: 100%;
      
    }
    
    .box_strength #strength_01 dl{
      width: 100%;
    }
    .box_strength #strength_01 dt,.box_strength #strength_01 dd{
      width: 100%;
    }
    .box_strength #strength_01 dt{
      margin-bottom: 15px;
      aspect-ratio: 16 / 9;
      overflow: hidden;
      width: 100%;
    }
    .box_strength #strength_01 dt img{
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .box_strength.fl_box > section{
      width: 100%;
    }
    .box_strength.fl_box > section:nth-of-type(2){
      margin-top: 35px;
    }
    .box_strength.fl_box .ta_center.f_min br{
      display: block;
    }
    .box_strength.fl_box strong {
      display: table-cell;
    }

    #sdgs dl.action dt span{
      top: 25px;
    }
    #sdgs dl.action dd{
      flex-direction: column;
    }
    #sdgs dl.action div{
      flex-direction: row;
      justify-content: space-between;
      width: 100%;
      padding: 0;
    }
    #sdgs dl.action div:not(:first-of-type){
      margin-top: 10px;
    }
    #sdgs dl.action p{
      width: 55%;
    }
    #sdgs dl.action figure{
      width: 40%;
      margin: 0;
    }

    #sdgs div#action{
      flex-direction: column;
    }
    #sdgs div#action > div{
      width: 100% !important;
    }
    #sdgs div#action > div figure{
      width: 80%;
      margin: 0 auto;
    }
    #sdgs div#action{
      margin-bottom: 15px;
    }
    #sdgs div#action figcaption br{
      display: none;
    }

    #sdgs section > ul.list{
      margin: 30px auto 15px auto;
    }
    #sdgs .present{
      flex-wrap: wrap;
    }
    #sdgs .present figure{
      width: 49% !important;
      margin-bottom: 15px !important;
    }



/*-----------------------------------------------
__Footer
-----------------------------------------------*/
footer address,
footer #foot_nav > ul,
footer #contact > .fl_box > div, footer #contact dl{
  width: 100%;
}
footer #contact dl{
  margin-bottom: 15px;
}
footer address{
  margin-bottom: 56px;
}
footer aside a{
  margin-bottom: 1em;
}
footer #foot_nav > ul{
  flex-wrap: wrap;
}
footer #foot_nav > ul > li{
  width: 48%;
}
footer #foot_nav > ul > li:last-of-type{
  width: 100%;
  margin-top: 10px;
  display: flex;
  justify-content: space-between;
  border-top: 1px solid rgba(255,255,255,.2);
}
footer #foot_nav > ul > li:last-of-type > a,footer #foot_nav > ul > li:last-of-type ul{
  width: 48%;
  border-top:none
}
footer #foot_nav > ul > li ul{
  margin-top: 0;
}

/*-----------------------------------------------
__Common
-----------------------------------------------*/
.grid div {
	width: 33%;
}
.grid div:nth-of-type(n+3){
  display: none;
}

ul.list > li{
	padding-left: 13px;
}
ul.list > li::before{
	width: 4px;
	height: 4px;
}


iframe{
	width:100%;
	border:none;
}

.fl_box.sm_bl{
	flex-direction:column;
}

.pc_no{
	display:block;
}
