@charset "utf-8";
/*各ページ共通
------------------------------------------------------------*/
/*メイン画像エリア*/
#main_area{
    display:flex;
    align-items: center;
  /* 135deg = 左上→右下。好みで角度変更可 */
    background: linear-gradient(135deg,#009a5a 0 45%,#005eae 45% 100% );
    height: 300px;
}
h1{width:95%;max-width: 1280px;margin:auto;color:#FFF;font-size:clamp(1.25rem, 0.606rem + 2.29vw, 2.438rem);/*最大39最小20*/}
/*パンくず*/
#pankuzu {display:flex;justify-content:  flex-end; max-width:1280px;margin:10px auto 30px; list-style: none;}
#pankuzu li:not(:last-child)::after{content:">";padding:0 5px;}

/*このページ単体のCSS------------------------------------------------------------*/
.policy::before{display: block; content:"Corporate Policy";font-size: clamp(1.25rem, 0.369rem + 3.13vw, 2.875rem);}
.inner-box2{width:95%;max-width:1280px;padding:clamp(2.5rem, 0.467rem + 7.23vw, 6.25rem) 0 0; margin:0 auto 50px;}

/*環境方針*/
.inner{position:relative;width:95%;max-width: calc(1280px + (100% - 1280px) / 2); }
.inner::before {
    content: "";
    position: absolute;
    inset: 0;
    width:calc(700px + (100% - 1280px) / 2);
    background: #005eae;
    border-radius: 0 0 clamp(1.25rem, 2.6vw, 3.125rem) 0;
    z-index: -1; /* 背面に配置 */
}
.enviro{display:flex;justify-content: space-between;align-items: flex-start;}
.Lco{width:calc(700px + (100% - 1280px) / 2);position: sticky;top: 0; padding: 80px 10px 80px calc((100vw - 1280px) / 2);margin-left:3vw; color:#FFF;}
.Lco::before{content:"";display: block; background:url("../images/policy/bglogo.webp") no-repeat center /cover;width:clamp(6.25rem, 1.24rem + 7.82vw, 10.625rem); height: clamp(7.25rem, 1.381rem + 9.16vw, 12.375rem); opacity: 0.5;position: absolute;margin:-30px 0 0 -190px;}
.Lco h2{margin-left: auto;}
.Lco h2::before{display: block; content:"Environmental policy";font-size:clamp(1.25rem, 0.583rem + 1.39vw, 2.25rem);}
.Lco img{width:80%;max-width:430px;  height: auto;margin-left: auto;}
.Rco{max-width:40%;margin-left:auto; padding-top:80px;}
.enviro h3{
    font-size: clamp(1.125rem, 0.989rem + 0.48vw, 1.375rem); 
    background-image: linear-gradient(to right, #009a5a 0%, #009a5a 20%, #e6e6e6 20%, #e6e6e6 100%);
    background-size: 100% 3px; /* 下線の太さ */
    background-repeat: no-repeat;
    background-position: left bottom;
    padding-bottom: 3px; /* テキストと下線の距離 */
    margin-bottom:20px;
}
.enviro h3 span {display:block; padding: 0 0 15px 0;}

.numbered-list {
    list-style: none;
    counter-reset: parent;
    padding-left: 0;
}
.numbered-list > li {
    counter-increment: parent;
    position: relative;
    padding-left: 2em;
    margin-bottom: 1em;
}
.numbered-list > li::before {
  content: counter(parent) "）"; 
  position: absolute;
  left: 0;
  font-weight: bold;
  color: #333;
}

/* ①〜⑩まで対応 */
.numbered-list > li:nth-child(1)::before { content: "①"; }
.numbered-list > li:nth-child(2)::before { content: "②"; }
.numbered-list > li:nth-child(3)::before { content: "③"; }
.numbered-list > li:nth-child(4)::before { content: "④"; }
.numbered-list > li:nth-child(5)::before { content: "⑤"; }
.numbered-list > li:nth-child(6)::before { content: "⑥"; }
.numbered-list > li:nth-child(7)::before { content: "⑦"; }
.numbered-list > li:nth-child(8)::before { content: "⑧"; }
.numbered-list > li:nth-child(9)::before { content: "⑨"; }
.numbered-list > li:nth-child(10)::before { content: "⑩"; }

/* 子リスト（（1）（2）） */
.numbered-list ul {
  list-style: none;
  counter-reset: child;
  padding-left: 0;
  margin-top: 0.5em;
}

.numbered-list ul > li {
  counter-increment: child;
  position: relative;
  padding-left: 2.5em;
}

.numbered-list ul > li::before {
  content: "（" counter(child) "）";
  position: absolute;
  left: 0;
  font-weight: bold;
  color: #333;
}
/*環境経営*/
.manage::before{display: block; content:"Sustainability Management";font-size: clamp(1.25rem, 0.369rem + 3.13vw, 2.875rem);}
picture img{display:block;margin:0 auto 20px;}
.r3 {
    max-width: 900px;
    justify-content: center;
    background: #009a5a;
    border-radius: 12px;
}
.r3 li {
    display: flex;
    flex-direction: column;
    width:33.3%;
    padding:clamp(0.8rem, 0.149rem + 2.31vw, 2rem);
}
.r3 li:not(:last-child){border-right: 1px solid #FFF;}
.r3 h3 {
    display: flex;
    flex-direction: column;
    font-size:clamp(1.125rem, 0.888rem + 0.84vw, 1.563rem);
    color:#FFF;
    text-align: center;
    margin-bottom: 20px;
}
.r3 h3 span:first-child {
    font-weight: 700;
    font-size: clamp(1.125rem, 0.176rem + 3.37vw, 2.875rem);
    font-family: "Montserrat", sans-serif;
}
.r3 h3 span:last-child { font-size: clamp(1rem, 0.797rem + 0.72vw, 1.375rem);}
.r3 p {background:#FFF;padding:15px;border-radius: 12px;flex-grow: 1;}

/* レスポンシブ-----------------------------------------------------------------------*/
/* 1500px以下から
------------------------------------------------------------*/
@media screen and (max-width: 1500px) {
    .Lco::before{width:80px; height:93px ;margin:inherit; top:20px;}
}
/* 1025px以下から
------------------------------------------------------------*/
@media screen and (max-width: 1025px) {
    .Lco img{width:75%;}
}
/* 768px以下から
------------------------------------------------------------*/
@media only screen and (max-width:768px){
    /*メイン画像*/
    #main_area{height: 200px !important;}
    .enviro{flex-wrap: wrap;}
    .Lco,.Rco{width:100%;max-width:100%;position: static;}
    .Lco{padding: 40px 20px;margin-left:0;background:#005eae;}
    .Lco::before{top:20px; right:20px;}
    .Lco img{display: none;}
    .inner{margin:auto;}
    .inner::before {display: none;}
}
/* 450px以下から
------------------------------------------------------------*/
@media only screen and (max-width:450px){
    .r3 li {width:100%;}
    .r3 li:not(:last-child){border-bottom: 1px solid #FFF;border-right:0;}
}