@charset "utf-8";
/*header whitestyle*/
header:not(.fixed):not(.active){
 border-bottom: none;
 background: none;
}
header:not(.fixed):not(.active) > div{
 border-bottom: 1px rgba(255,255,255,.2) solid;
}
header:not(.fixed):not(.active) #logo{
 background: url("../images/logo_wh.svg") no-repeat left top /100% auto;
}
header:not(.fixed):not(.active) #logo img{
 opacity: 0;
}

@media screen and (min-width: 769px) {/*PC white header */
header:not(.fixed) #gnaviList > li > a{
  color: #fff;
 }
}/*-PC only-*/
@media screen and (max-width: 768px) {/*SP white header */
header:not(.fixed):not(.active) .menu span{
  background: #fff;
 }
}/*-SP only-*/

/**/
.mainTitle{
background: url("../images/company_mv.jpg") no-repeat left top/cover;
 padding-bottom: 96px;
 margin-bottom: 0;
}
.mainTitle h1 .en,
.mainTitle h1 .ja{
 color: #fff;
}
@media screen and (max-width: 768px) {/* SP mainTitle*/
.mainTitle{
background: url("../images/company_mv_sp.jpg") no-repeat left top/cover;
 padding-top: 211px;
 padding-bottom: 183px;
}

}/*-SP only-*/

/*--------------------
    company
----------------------*/
#company main section{
 padding: 0;
}
#company main section .inner{
 padding-top:60px;
 padding-bottom: 142px;
}
#company main section + section{
 border-top: 1px var(--Lgray) solid;
}
@media screen and (min-width: 769px) {/*PC*/
#company main section .inner.pcFlex{
 position: relative;
 align-items: flex-start;
 }
#company main section .inner::before{
  content: "";
  display: block;
  width: 0;
  height: 100%;
  border-left: 1px var(--Lgray) solid;
  position: absolute;
  top: 0;
  left: 260px;
  z-index: 2;
 }
#company main section .inner.pcFlex h2{
  width: 260px;
 }
#company main section .inner.pcFlex >*:not(h2){
  width: calc(100% - 260px);
  padding-left: 60px;
 }
}/*-PC only-*/
@media screen and (max-width: 768px) {/* SP */
#company main section .inner{
 padding-top:80px;
 padding-bottom: 80px;
}

}/*-SP only-*/


#companyProfile{}
.basicTable{
 display: flex;
 flex-flow: row wrap;
 gap:12px 0;
}
.basicTable dt{
 width: 133px;
}
.basicTable dd{
 width: calc(100% - 133px);
 line-height: 2.2;
}
@media screen and (max-width: 768px) {/* SP */
.basicTable{
 gap:16px 0;
}
.basicTable dt{
 width: 95px;
}
.basicTable dd{
 width: calc(100% - 95px);
 line-height: 2;
}

}/*-SP only-*/


#companyLocation{}
#companyLocation .basicTable{
 gap:50px 0;
}
#companyLocation .map{
 margin-top: 25px;
 line-height: 0;
}
#companyLocation .map iframe{
 width: 100%;
 height: 390px;
}
@media screen and (max-width: 768px) {/* SP #companyLocation*/
 #companyLocation .inner{
  padding-bottom: 30px;
 }
#companyLocation .basicTable{
 gap:0 0;
}
#companyLocation .basicTable dt,
 #companyLocation .basicTable dd{
  width: 100%;
  line-height: 1.85;
 }
 #companyLocation .basicTable dt{
  margin-bottom: 8px;
 }
 #companyLocation .basicTable dd{
  padding-bottom: 50px;
 }
#companyLocation .map{
 margin-top: 30px;
}
}/*-SP only-*/


#companyHistory{}
#companyHistory .basicTable{
 gap:16px 0;
}
#companyHistory .basicTable dt{
 position: relative;
 width: 98px;
 color: var(--gray);
 font-family: "Karla", sans-serif;
 font-size: 16px;
 line-height: 1.28;
}
#companyHistory .basicTable dt::before{
 content: "";
 display: block;
 border-radius: 50%;
 width: 11px;
 height: 11px;
 background: var(--green);
 position: absolute;
 top: 0.4em;
 right: calc(100% + 54px);
}
#companyHistory .basicTable dt::after{
 content: "";
 display: block;
 background: #eeeeee;
 width: 13px;
 height: 1px;
 position: absolute;
 right: 10px;
 top: 50%; 
}
#companyHistory .basicTable dd{
 width: calc(100% - 98px);
 line-height: 1.28;
}

@media screen and (max-width: 768px) {/*SP  #companyHistory*/
 #companyHistory .inner{
  border-left: 1px var(--Lgray) solid;
  padding-left: 21px;
 }
#companyHistory .basicTable{
 gap:26px 0;
 align-items: flex-start;
}
#companyHistory .basicTable dt::before{
 top: 0.35em;
 right: calc(100% + 16px);
}
#companyHistory .basicTable dt::after{
 content: "";
 display: block;
 background: #eeeeee;
 width: 13px;
 height: 1px;
 position: absolute;
 right: 10px;
 top: 50%; 
}
}/*-SP only-*/

#companyMessage{}
#companyMessage .txts p{
 color: #6E6E6E;line-height: 2.5;
}
#companyMessage .txts p + p{
 margin-top: 2.5em;
}
#companyMessage .txts .right span{
 margin-left: 1em;
 font-size: 20px;
}
 #companyMessage figure{
  max-width: 460px;
 }
@media screen and (min-width: 769px) {
 #companyMessage .inner{
  position: relative;
 }
 #company main #companyMessage .inner::before{
  z-index: -1;
 }
 #companyMessage .pcFlex{
  flex-flow: row-reverse;
 }
 #companyMessage figure{
  width: 37.1%;
  padding: 0;
  margin: 0;
 }
 #companyMessage .txts{
  width: 54.1%;
  max-width: 670px;
 }
}/*-PC only-*/
@media screen and (max-width: 768px) {/* SP */
 #companyMessage figure{
  margin-top: 30px;
 }
}/*-SP only-*/

/*--------------------
    sdgs
----------------------*/
#sdgs::before {
    content: "";
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100dvh;
    z-index: 0;
    background-image: url(../images/sdgs_mv.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    will-change: transform;
}
#sdgs .mainTitle{
    position: relative;
    background: none;
 padding-bottom: 0;
 margin-bottom: 0;
}
@media screen and (max-width: 768px) {/* SP mainTitle*/
#sdgs .mainTitle{
 padding-top: 211px;
 padding-bottom: 0;
}
}/*SP end*/
#sdgs02{
    background-color: var(--wh);
}

#sdgsLead{
 padding-top: 103px;
 padding-bottom: 390px;
}
#sdgsLead *{
 color: #fff;
}
#sdgsLead::before{
 content: "";
 display: block;
 background: url("../images/sdgs_lead_map.svg") no-repeat left top/100% auto;
 width: 100vw;
 height: 100.7vw;
 position: absolute;
 bottom: 0;
 right: 0;
}
@media screen and (min-width: 769px) {
 #sdgsLead .map{
  position: absolute;
  right:21.78vw;
  bottom: 31.3vw;
  width: min(7.64vw,107px);
  text-align: center;
 }
 #sdgsLead .map img{
  height: 117px;
 }
}/*-PC only-*/
#sdgs #sdgsLead h2{
 margin-bottom: 50px;
}
@media screen and (max-width: 768px) {/* SP #sdgsLead*/
#sdgsLead{
 padding-top: 15.75vw;
 padding-bottom: 390px;
}
#sdgsLead::before{
 background: url("../images/sdgs_lead_map_sp.svg") no-repeat left top/100% auto;
 width: 100vw;
 height: 100.9vw;
 bottom: auto;
 top: -12.32vw;
}
 #sdgsLead .map{
  position: relative;
  display: inline-block;
  margin-left: 56.0vw;
  margin-bottom: 9.34vw;
  z-index: 1;
 }
 #sdgsLead .map img{
  width:min(16.8vw,107px) ;
  margin: 0 auto;
 }
#sdgs #sdgsLead h2{
 margin-bottom: 25.1vw;
}
}/*-SP only-*/

#sdgs01{}
#sdgs main section h2{
 margin-bottom: 30px;
}
.sdgsIcons{
 margin-top: 30px;
 gap:10px 20px;
}
@media screen and (min-width: 769px) {
 .sdgsIcons img{
  width: 120px;
 }
#sdgs main section ul.pcFlex{
 gap:80px 0;
 }
#sdgs main section ul.pcFlex>li{
 width: 47.5%;
 }
}/*-PC only-*/
#sdgs main section ul.pcFlex{
 border-top: 1px var(--Lgray) solid;
 margin-top: 40px;
 padding-top: 60px;
}
#sdgs main section ul.pcFlex>li{
 position: relative;
 padding-left: 39px;
}
#sdgs main section ul.pcFlex>li figure{
 margin: 0 0 35px;
}
#sdgs main section ul.pcFlex>li figcaption{
 position: absolute;
 left: 0;
 top: 0;
 -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
 color: var(--gray);
 line-height: 1;
}
#sdgs main section ul.pcFlex>li h3{
 margin-bottom: 20px;
 line-height: 1.75;
}
#sdgs main section ul.pcFlex>li p{
 line-height: 2.3;
}

@media screen and (max-width: 768px) {/* SP */
.sdgsIcons{
 margin-top: 48px;
 flex-flow: row wrap;
 gap:10px 12px;
}
 
.sdgsIcons img{
 width: calc((100% - 12px)/2);
}
#sdgs main section ul.pcFlex{
 margin-top: 40px;
 padding-top: 47px;
}
#sdgs main section ul.pcFlex>li{
 padding-left: 27px;
}
 #sdgs main section ul.pcFlex>li + li{
  margin-top: 55px;
 }

}/*-SP only-*/


#sdgs02 h2{
 text-transform: uppercase;
}


/*--------------------
    group
----------------------*/
#group .mainTitle{
background: url("../images/group_mv.jpg") no-repeat center top/cover ;
}
@media screen and (max-width: 768px) {/* SP */
#group .mainTitle{
background: url("../images/group_mv_sp.jpg") no-repeat center top/cover ;
}

}/*-SP only-*/


#groupMain{
 padding-top: 96px;
}
#groupMain .leadTxt{
 border-bottom: 1px var(--Lgray) solid;
 padding-bottom: 46px;
}
#groupMain  > .inner{
 padding-top: 100px;
}
#groupMain  > .inner > .pcFlex + .pcFlex{
 border-top: 1px var(--Lgray) solid;
 padding-top: 60px;
 margin-top: 60px;
}
#groupMain p.gray{
 font-size: 12px;
}
#groupMain p + p{
 margin-top: 12px;
}
#groupMain p a{
 color: var(--green);
 font-size: 12px;
 text-decoration: underline;
}
#groupMain  > .inner > .pcFlex ul li{
 border-left: 2px var(--green) solid;
 margin-top: 20px;
 padding: 0 0 0 15px;
 font-size: 12px;
 line-height: 1.8;
}
#groupMain > .inner > .pcFlex ul li.noline{
 border-left:none;
}
#groupMain  > .inner > .pcFlex ul li h3{
 font-size: 12px;
 line-height: 1.8;
}
@media screen and (min-width: 769px) {
 #groupMain  > .inner > .pcFlex figure{
  width: 32.5%;
  max-width: 400px;
 }
 #groupMain  > .inner > .pcFlex .txts{
  width: 62.5%;
  max-width: 771px;
 }
 #groupMain  > .inner > .pcFlex > li{
  width:44.5% ;
  max-width: 550px;
 }
 #groupMain  > .inner > .pcFlex ul li{
  width:50%;
 }
 /* 住所が1件のみの場合は半幅で折り返さず全幅で流し込む 2026-06-27 */
 #groupMain  > .inner > .pcFlex ul li:only-child{
  width:100%;
 }
  
 /* #groupMain > .inner > .pcFlex.group05 figure{
    width:72%;
    margin-bottom: 20px
  }*/
  
}/*-PC only-*/
@media screen and (max-width: 768px) {/* SP group*/
#groupMain{
 padding-top: 60px;
}
#groupMain .leadTxt{
 padding-bottom: 80px;
}
#groupMain  > .inner{
 padding-top: 80px;
}
 #groupMain  > .inner > .pcFlex figure{
  margin: 0 0 30px;
 }
#groupMain  > .inner > .pcFlex + .pcFlex{
 border-top: 1px var(--Lgray) solid;
 padding-top: 70px;
 margin-top: 85px;
}
 #groupMain h2{
  line-height: 1.77;
 }
#groupMain  > .inner > .pcFlex ul li{
 margin-top: 25px;
}
 #groupMain  > .inner > ul.pcFlex > li + li{
  border-top: 1px var(--Lgray) solid;
  padding-top: 70px;
  margin-top: 60px;
 }
}/*-SP only-*/

/*--------------------
    strength
----------------------*/


@media screen and (min-width: 769px) {

}/*-PC only-*/
@media screen and (max-width: 768px) {/* SP */

}/*-SP only-*/
/*--------------------
    manufacturing
----------------------*/




@media screen and (min-width: 769px) {

}/*-PC only-*/
@media screen and (max-width: 768px) {/* SP */

}/*-SP only-*/

/* ============================================================
   【流し込み化】代表メッセージ本文を全幅で流し込み表示にする  2026-06-27
   BudouX(JS)の word-break:keep-all(フレーズ改行)を解除し、文字途中でも
   自然に折り返して右端を揃える。※戻す場合はこの囲みを削除すればOK。
   ============================================================ */
#companyMessage p{
 word-break: normal !important;
}
#companyMessage p br{
 display: none;
}
/* ============ 流し込み化ここまで ============ */

/* 代表メッセージ：本文を写真の下端に揃える（PC） */
#companyMessage .pcFlex{
  align-items: flex-end;
}
