@charset "utf-8";

.contents_wrap{
  background-image: url("../img/quality/ecology/bg_pc.webp");
  background-position: top right;
  background-size: cover;
  background-repeat: no-repeat;
}

@media all and (max-width: 768px) {
  .contents_wrap{
    background-image: url("../img/quality/ecology/bg_sp.webp");
    background-position: top right;
    background-size: cover;
    background-repeat: no-repeat;
  }  
}

.ecology_wrap{
  width:100%;
}
.ecology_blk_wrap{
  width:100%;
  display:flex;
  align-items: flex-start;
  flex-wrap: wrap;
}
.blk_col.col1{
  width:51.172%;/* 655px */
  margin-right:3.125%;
  display:flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap:2.29%;
}
.blk_col.col2{
  width:45.703%;/* 585px */
}
.blk_col.col3{
  width:100%;
}
.blk_col.col4{
  width:40.078%;/* 513px */
  margin-right:3.125%;
}
.blk_col.col5{
  width:56.797%;/* 727px */
}
.blk_col.col6{
  width:31.25%;/* 400px */
  margin-right:2.8515%;
}
.blk_col.col7{
  width:35.703%;/* 457px */
  margin-right:2.8515%;
}
.blk_col.col8{
  width:27.344%;/* 350px */
}
.blk_col:nth-child(n+3){
  margin-top:75px;
}
.blk_col:nth-child(n+4){
  margin-top:100px;
}
.blk_col:nth-child(n+6){
  margin-top:50px;
}
h4{
  margin-bottom: 11px;
  letter-spacing: 0.1em;
}
.blk_col.col3 h4{
  margin-bottom: 20px;
}
h4 .sml{
  font-size:19px;
  letter-spacing: 0.1em;
}
h5{
  width:100%;
  font-size:21px;
  line-height: 1;
  color:#76829f;
  padding-bottom:9px;
  margin-bottom:8px;
  border-bottom:1px solid #76829f;
  letter-spacing: 0.1em;
}
.e_ttl{
  font-size: 21px;
  line-height: 1;
  color:#5c6885;
  letter-spacing: 0.1em;
  margin-bottom: 11px;
}
.e_txt{
  font-size: 15px;
  line-height: 1.667;
  letter-spacing: 0.08em;
}
.e_txt sup{
  font-size: 60%;
  position: relative;
  top: -5px;
}
.e_cap{
  font-size: 12px;
  line-height: 1.667;
  letter-spacing: 0.1em;
  margin-top:11px;
}
.img{
  position: relative;
}
.img .cap{
  position: absolute;
  right:0;
  bottom:0;
  font-size:12px;
}
.blk_col.col1 .e_txt_wrap{
  width:39.542%;
}
.blk_col.col1 .img{
  width:58.168%;
  margin-top:6px;
}
.blk_col.col1 .img .cap{
  bottom: -22px;
  right: 33px;
}
.b_ttl{
  font-size: 20px;
  color:#fff;
  background-color:#5c6885;
  box-sizing: border-box;
  padding:14px 0;
  text-align: center;
  letter-spacing: 0.1em;
}
.b_wrap{
  padding:30px 30px 30px 25px;
  box-sizing: border-box;
  display:flex;
  flex-wrap: wrap;
  width:100%;
  background-color:#fff;
  gap:0.944%;
}
.b_wrap .e_txt{
  width:62.075%;
}
.b_wrap .img{
  width:36.981%;
}
.b_wrap .e_cap{
  width:100%;
}
.inner_blk_col{
  width:100%;
  display: flex;
  align-items: flex-start;
}
.blk_col.col3 .inner_blk_col{
  gap:3.047%;
}
.blk_col.col3 .inner_blk_col .blk_l{
  width:41.875%;
}
.blk_col.col3 .inner_blk_col .blk_l .e_txt_wrap{
  margin-bottom:42px;
}
.blk_col.col3 .inner_blk_col .blk_l .merit_wrap .e_ttl{
  margin-bottom:15px;
}
.blk_col.col3 .inner_blk_col .blk_r{
  width:55.078%;/* 705px */
  background-color:rgba(85,99,124,.1);
  box-sizing: border-box;
  padding:38px 40px;
  position: relative;
}
.blk_col.col3 .inner_blk_col .blk_r > .cap{
  position: absolute;
  bottom:-22px;
  right:0;
  font-size:12px;
}
.time_wrap{
  width:100%;
  margin-top:20px;
}
.time_wrap .time_line{
  width:100%;
  display:flex;
  align-items: flex-start;
  box-sizing: border-box;
  padding-bottom:13px;
  border-bottom:1px solid #76829f;
}
.time_wrap .time_line:nth-child(n+2){
  margin-top:13px;
}
.time_wrap .time_line:last-child{
  border-bottom:none;
  padding-bottom: 0;
}
.time_wrap .time_line .year{
  width:80px;
  flex-shrink: 0;
  font-size:19px;
  line-height: 1.714;
  color:#5c6885;
}
.time_wrap .time_line .y_txt{
  width:87.2%;
  font-size:14px;
  line-height: 1.714;
  padding-top:4px;
  letter-spacing: 0.1em;
}
.time_wrap .time_line .y_txt .color{
  font-size:inherit;
  color:#5c6885;
  letter-spacing: 0.1em;
}
.time_wrap .time_line .y_txt .color.inline{
  display:inline-block;
}
.blk_col.col4 .inner_blk_col{
  margin-top:11px;
  gap:3.899%;
}
.blk_col.col4 .inner_blk_col .img{
  width:48.733%;
}
.blk_col.col4 .inner_blk_col .img .cap{
  bottom: 8px;
  right: 64px;
}
.blk_col.col4 .inner_blk_col .img:last-child{
  width:47.368%;
}
.blk_col.col5 .inner_blk_col{
  gap:4.952%;
}
.blk_col.col5 .inner_blk_col .blk_l{
  width:40.165%;
}
.blk_col.col5 .inner_blk_col .blk_l .logo_wrap{
  width:100%;
  display:flex;
  align-items: flex-end;
  gap:6.507%;
  margin-top:15px;
}
.blk_col.col5 .inner_blk_col .blk_l .logo_wrap .img{
  width:47.603%;
}
.blk_col.col5 .inner_blk_col .blk_l .logo_wrap .img:last-child{
  width:45.89%;
}
.blk_col.col5 .inner_blk_col .blk_r{
  width:54.883%;
}
.plan_box{
  width:100%;
  margin-top:6px;
}
.plan_box .img_wrap{
  box-sizing: border-box;
  padding:15px 14px 14px 13px;
  background-color:#fff;
}
.point_wrap{
  width:100%;
  background-color:#5c6885;
  text-align: center;
  box-sizing: border-box;
  padding:15px 0;
}
.point_wrap .p_txt{
  font-size:17px;
  line-height:1;
  color:#fff;
  letter-spacing: 0.1em;
}
.point_wrap .p_txt .sml{
  font-size:12px;
  letter-spacing: 0.1em;
}
.point_wrap .p_txt sup{
  font-size: 60%;
  position: relative;
  top: -12px;
}
.point_wrap .p_txt.mid{
  font-size:19px;
}
.point_wrap .p_txt.mid strong{
  font-weight: normal;
  color:#f0d076;
  font-size:1.7em;
  position: relative;
  bottom:-2px;
}
.point_wrap .p_txt.mid span{
  color:#f0d076;
  font-size:1.3em;
}
.point_wrap .p_txt.mid span.pc{
  color:inherit;
  font-size:inherit;
}
.blk_col.col6 .inner_blk_col{
  position: relative;
  background-color:#fff;
  align-items: center;
  margin:12px 0 20px;
}
.blk_col.col6 .inner_blk_col .img{
  font-size: 0;
}
.blk_col.col6 .inner_blk_col .wap{
  position: absolute;
  width:92px;
  top:-29px;
  right:-25px;
  z-index: 1;
}
.blk_col.col6 .inner_blk_col .blk_l{
  width:50%;
  text-align: center;
  
}
.blk_col.col6 .inner_blk_col .blk_l .es_ttl{
  width:80%;
  font-size:15px;
  color:#fff;
  background-color:#108ccf;
  margin:0 auto 9px;
  padding:5px 0 4px;
}
.blk_col.col6 .inner_blk_col .blk_l .es_txt{
  font-size:12px;
  line-height: 1.667;
}
.blk_col.col6 .inner_blk_col .blk_r{
  width:50%;
}
.blk_col.col7 .inner_blk_col{
  gap:3.939%;
  margin-bottom:17px;
}
.blk_col.col7 .inner_blk_col .e_txt{
  width:50.328%;
}
.blk_col.col7 .inner_blk_col .img{
  width:45.733%;
  margin-top:9px;
}
.blk_col.col8 .inner_blk_col{
  gap:3.714%;
  margin-bottom:14px;
}
.blk_col.col8 .inner_blk_col .blk_l{
  width:50.857%;
}
.blk_col.col8 .inner_blk_col .blk_l .img{
  margin-top:20px;
}
.blk_col.col8 .inner_blk_col > .img{
  width:45.429%;
  margin-top:9px;
}
.ecology_wrap > .caption{
  font-size:12px;
  line-height: 1.667;
  margin-top:54px;
  letter-spacing: -0.02em;
}

@media all and (max-width: 768px) {
  .ecology_blk_wrap{
    display:block;
  }
  .blk_col.col1{
    width:100%;
    margin-right:0;
    display:block;
    gap:0;
  }
  .blk_col.col2{
    width:100%;
  }
  .blk_col.col4{
    width:100%;
    margin-right:0;
  }
  .blk_col.col5{
    width:100%;
  }
  .blk_col.col6{
    width:100%;
    margin-right:0;
  }
  .blk_col.col7{
    width:100%;
    margin-right:0;
  }
  .blk_col.col8{
    width:100%;
  }
  .blk_col:nth-child(n+2){
    margin-top: calc(80 / var(--media_sp) * 100vw);
  }
  .blk_col:nth-child(n+3){
    margin-top: calc(80 / var(--media_sp) * 100vw);
  }
  .blk_col:nth-child(n+4){
    margin-top: calc(110 / var(--media_sp) * 100vw);
  }
  .blk_col:nth-child(n+5){
    margin-top: calc(60 / var(--media_sp) * 100vw);
  }
  .blk_col:nth-child(n+6){
    margin-top: calc(60 / var(--media_sp) * 100vw);
  }
  h4{
    padding-bottom: calc(11 / var(--media_sp) * 100vw);
    margin-bottom: calc(8 / var(--media_sp) * 100vw);
  }
  .blk_col.col3 h4{
    margin-bottom: calc(28 / var(--media_sp) * 100vw);
  }
  h4 .sml{
    font-size: calc(28 / var(--media_sp) * 100vw);
    display:block;
    letter-spacing: 0.07em;
    white-space: nowrap;
    margin-bottom: calc(12 / var(--media_sp) * 100vw);;
  }
  h5{
    font-size: calc(30 / var(--media_sp) * 100vw);
    padding-bottom: calc(17 / var(--media_sp) * 100vw);
    margin-bottom: calc(11 / var(--media_sp) * 100vw);
  }
  .e_ttl{
    font-size: calc(30 / var(--media_sp) * 100vw);
    margin-bottom: calc(10 / var(--media_sp) * 100vw);
  }
  .e_txt{
    font-size: calc(24 / var(--media_sp) * 100vw);
  }
  .e_txt sup{
    top: calc(-8 / var(--media_sp) * 100vw);
  }
  .e_cap{
    font-size: calc(20 / var(--media_sp) * 100vw);
    line-height: 1.5;
    margin-top: calc(10 / var(--media_sp) * 100vw);
  }
  .img .cap{
    font-size: calc(20 / var(--media_sp) * 100vw);
    letter-spacing: 0.08em;
  }
  .blk_col.col1 .e_txt_wrap{
    width:100%;
  }
  .blk_col.col1 .img{
    width:88.06%;
    margin: calc(32 / var(--media_sp) * 100vw) auto 0 8.955%;
  }
  .blk_col.col1 .img .cap{
    bottom: calc(-28 / var(--media_sp) * 100vw);
    right: 0;
  }
  .b_ttl{
    font-size: calc(30 / var(--media_sp) * 100vw);
    line-height: 1.333;
    padding: calc(11 / var(--media_sp) * 100vw) 4.478%;
    text-align: left;
  }
  .b_wrap{
    padding: calc(25 / var(--media_sp) * 100vw) 4.478%;
    display:block;
    gap:0;
  }
  .b_wrap .e_txt{
    width:100%;
  }
  .b_wrap .img{
    width:100%;
    margin-top: calc(20 / var(--media_sp) * 100vw);
  }
  .b_wrap .e_cap{
    margin-top: calc(20 / var(--media_sp) * 100vw);
  }
  .blk_col.col3 .inner_blk_col{
    display:block;
    gap:0;
  }
  .blk_col.col3 .inner_blk_col .blk_l{
    width:100%;
  }
  .blk_col.col3 .inner_blk_col .blk_l .e_txt_wrap{
    margin-bottom: calc(50 / var(--media_sp) * 100vw);
  }
  .blk_col.col3 .inner_blk_col .blk_l .merit_wrap .e_ttl{
    margin-bottom: calc(15 / var(--media_sp) * 100vw);
  }
  .blk_col.col3 .inner_blk_col .blk_r{
    width:100%;
    padding: calc(40 / var(--media_sp) * 100vw) 5.97% calc(30 / var(--media_sp) * 100vw);
    margin-top: calc(50 / var(--media_sp) * 100vw);
  }
  .blk_col.col3 .inner_blk_col .blk_r > .cap{
    bottom: calc(-29 / var(--media_sp) * 100vw);
    font-size: calc(20 / var(--media_sp) * 100vw)
  }
  .time_wrap{
    width:100%;
    margin-top: calc(25 / var(--media_sp) * 100vw);
  }
  .time_wrap .time_line{
    padding-bottom: calc(13 / var(--media_sp) * 100vw);
  }
  .time_wrap .time_line:nth-child(n+2){
    margin-top: calc(14 / var(--media_sp) * 100vw);
  }
  .time_wrap .time_line:last-child{
    border-bottom:none;
    padding-bottom: 0;
  }
  .time_wrap .time_line .year{
    width:23.39%;
    font-size: calc(28 / var(--media_sp) * 100vw);
    line-height: 1.714;
  }
  .time_wrap .time_line .y_txt{
    width:76.61%;
    font-size: calc(22 / var(--media_sp) * 100vw);
    line-height: 1.727;
    padding-top: calc(4 / var(--media_sp) * 100vw);
  }
  .blk_col.col4 .inner_blk_col{
    display:block;
    margin-top: calc(30 / var(--media_sp) * 100vw);
    gap:0;
  }
  .blk_col.col4 .inner_blk_col .img{
    width:59.104%;
    margin:0 auto;
  }
  .blk_col.col4 .inner_blk_col .img .cap{
    bottom: calc(12 / var(--media_sp) * 100vw);
    right: calc(100 / var(--media_sp) * 100vw);
  }
  .blk_col.col4 .inner_blk_col .img:last-child{
    width:100%;
    margin-top: calc(35 / var(--media_sp) * 100vw);
  }
  .blk_col.col5 .inner_blk_col{
    display:block;
    gap:0;
  }
  .blk_col.col5 .inner_blk_col .blk_l{
    width:100%;
  }
  .blk_col.col5 .inner_blk_col .blk_l .logo_wrap{
    width:100%;
    justify-content: center;
    gap:5.224%;
    margin-top: calc(30 / var(--media_sp) * 100vw);
  }
  .blk_col.col5 .inner_blk_col .blk_l .logo_wrap .img{
    width:42.239%;
  }
  .blk_col.col5 .inner_blk_col .blk_l .logo_wrap .img:last-child{
    width:40.746%;
  }
  .blk_col.col5 .inner_blk_col .blk_r{
    width:100%;
    margin-top: calc(30 / var(--media_sp) * 100vw);
  }
  .plan_box{
    margin-top:0;
  }
  .plan_box .img_wrap{
    padding: calc(32 / var(--media_sp) * 100vw) 4.627% calc(30 / var(--media_sp) * 100vw);
  }
  .point_wrap{
    padding: calc(20 / var(--media_sp) * 100vw) 0 calc(16 / var(--media_sp) * 100vw);
  }
  .point_wrap .p_txt{
    font-size: calc(26 / var(--media_sp) * 100vw);
  }
  .point_wrap .p_txt .sml{
    font-size: calc(18 / var(--media_sp) * 100vw);
  }
  .point_wrap .p_txt sup{
    font-size:50%;
    top: calc(-25 / var(--media_sp) * 100vw);
  }
  .blk_col.col7 .point_wrap .p_txt sup{
    margin-right: calc(-22 / var(--media_sp) * 100vw);
  }
  .point_wrap .p_txt.mid{
    font-size: calc(34 / var(--media_sp) * 100vw);
  }
  .point_wrap .p_txt.mid strong{
    bottom: calc(-2 / var(--media_sp) * 100vw);
  }
  .blk_col.col6 .inner_blk_col{
    margin: calc(35 / var(--media_sp) * 100vw) 0 calc(20 / var(--media_sp) * 100vw);
  }
  .blk_col.col6 .inner_blk_col .wap{
    width:20.746%;
    top: calc(-31 / var(--media_sp) * 100vw);
    right: calc(-20 / var(--media_sp) * 100vw);
  }
  .blk_col.col6 .inner_blk_col .blk_l .es_ttl{
    width:88.358%;
    font-size: calc(28 / var(--media_sp) * 100vw);
    margin:0 auto calc(15 / var(--media_sp) * 100vw);
    padding:calc(12 / var(--media_sp) * 100vw) 0;
  }
  .blk_col.col6 .inner_blk_col .blk_l .es_txt{
    font-size: calc(22 / var(--media_sp) * 100vw);
    line-height: 1.636;
  }
  .blk_col.col7 .inner_blk_col{
    gap:3.283%;
    margin-bottom: calc(20 / var(--media_sp) * 100vw);
  }
  .blk_col.col7 .inner_blk_col .e_txt{
    width:56.866%;
  }
  .blk_col.col7 .inner_blk_col .img{
    width:39.851%;
    margin-top: calc(8 / var(--media_sp) * 100vw);
  }
  .blk_col.col8 .inner_blk_col{
    gap:2.985%;
    margin-bottom: calc(20 / var(--media_sp) * 100vw);
  }
  .blk_col.col8 .inner_blk_col .blk_l{
    width:57.164%;
  }
  .blk_col.col8 .inner_blk_col .blk_l .img{
    margin-top: calc(20 / var(--media_sp) * 100vw);
  }
  .blk_col.col8 .inner_blk_col > .img{
    width:39.851%;
    margin-top: calc(8 / var(--media_sp) * 100vw);
  }
  .ecology_wrap > .caption{
    font-size: calc(20 / var(--media_sp) * 100vw);
    line-height: 1.5;
    margin-top: calc(55 / var(--media_sp) * 100vw);
  }
}