@charset "UTF-8";
/*============================================================


  csr.css


============================================================*/
/*========================================
  top
========================================*/
/*  header
=====================*/
@media (max-width: 480px) and (orientation: portrait) {
  #csr-top #header-top-category .list-digest > li {
    width: 100%;
  }
}

/*  problem
=====================*/
#csr-top #content-problem .block-feature > dd {
  margin: 12rem 0;
}

@media (max-width: 480px) and (orientation: portrait) {
  #csr-top #content-problem .block-feature > dd {
    margin: 2.4rem 0;
  }
}



/*========================================
  problem
========================================*/
/*  issue pipt
=====================*/
@media (max-width: 480px) and (orientation: portrait) {
  #csr-problem #content-issue-pipe .fig-delivery {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
}




/*========================================
  iso
========================================*/
/*  system
=====================*/
#csr-iso #content-system .fig-disposal {
  width: 100%;
}

#csr-iso #content-system .fig-disposal .head-field {
  width: 100%;
  overflow: hidden;
}

#csr-iso #content-system .fig-disposal .head-field > li {
  display: table;
  width: 25%;
  height: 4rem;
  padding: 0 1rem;
  float: left; 
}

#csr-iso #content-system .fig-disposal .head-field > li > p {
  display: table-cell;
  height: 100%;
  font-size: 1.3rem;
  font-weight: 400;
  letter-spacing: 0.06em;
  text-align: center;
  vertical-align: middle;
  background-color: #f4f4f4;
  border-top-left-radius: 10rem;
  border-bottom-left-radius: 10rem;
  padding: 0.4rem;
}

#csr-iso #content-system .fig-disposal .head-field > li:first-of-type > p {
  border-top-right-radius: 10rem;
  border-bottom-right-radius: 10rem;
}

#csr-iso #content-system .fig-disposal .head-field > li:not(:first-of-type)::after {
  content: "証明書等の要否";
  display: table-cell;
  width: 20%;
  height: 100%;
  font-size: 0.8rem;
  font-weight: 300;
  line-height: 1.2;
  text-align: center;
  vertical-align: middle;
  background-color: #f4f4f4;
  border-top-right-radius: 10rem;
  border-bottom-right-radius: 10rem;
  padding: 0.4rem 1rem;
}

.ie #csr-iso #content-system .fig-disposal .head-field > li:not(:first-of-type)::after {
  width: 24%;
}

#csr-iso #content-system .fig-disposal .body-field {
  width: 100%;
  margin: 1rem 0;
  position: relative;
}

#csr-iso #content-system .fig-disposal .head-category {
  display: block;
  width: 4rem;
  height: 100%;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 4rem;
  text-align: center;
  writing-mode: tb-rl; /* IE独自仕様 */
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
       -o-writing-mode: vertical-rl;
          writing-mode: vertical-rl;
  background-color: #7383d3;
  border-radius: 10rem;
  position: absolute;
  left: 1rem;
  top: 0;
}

#csr-iso #content-system .fig-disposal .gry .head-category {
  background-color: #666;
}

#csr-iso #content-system .fig-disposal .body-category {
  overflow: hidden;
}

#csr-iso #content-system .fig-disposal .body-category + .body-category {
  margin-top: 1rem;
}

#csr-iso #content-system .fig-disposal .head-flow {
  display: table;
  width: 25%;
  height: 6rem;
  padding-left: 6rem;
  padding-right: 1.5rem;
  float: left;
}

#csr-iso #content-system .fig-disposal .head-flow.double {
  height: 13rem;
}

#csr-iso #content-system .fig-disposal .head-flow > span {
  display: table-cell;
  text-align: left;
  vertical-align: middle;
  background-color: #e2e6fb;
  border-radius: 0.4rem;
  padding: 1rem 1.6rem;
}

#csr-iso #content-system .fig-disposal .head-flow > span > em {
  color: #25265a;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.2;
}

#csr-iso #content-system .fig-disposal .head-flow > span > span {
  display: block;
  color: #000;
  font-size: 1rem;
  font-weight: 300;
  letter-spacing: 0.04em;
  line-height: 1.2;
  margin-top: 0.4rem;
}

#csr-iso #content-system .fig-disposal .body-flow {
  display: block;
  width: 75%;
  float: right;
}

#csr-iso #content-system .fig-disposal .body-flow .list-flow {
  width: 100%;
  float: left;
}

#csr-iso #content-system .fig-disposal .body-flow .list-flow + .list-flow {
  margin-top: 1rem;
}

#csr-iso #content-system .fig-disposal .body-flow .list-flow > li {
  display: table;
  width: calc(100% / 3);
  height: 6rem;
  padding: 0 1.5rem;
  float: left;
  position: relative;
}

#csr-iso #content-system .fig-disposal .body-flow .list-flow > li::before {
  content: "";
  display: block;
  width: 3rem;
  height: 1rem;
  background: url(/assets/images/csr/iso/arrow_flow_blu.svg) center center no-repeat;
  background-size: contain;
  margin: auto 0;
  position: absolute;
  left: -1.5rem;
  top: 0;
  bottom: 0;
}

#csr-iso #content-system .fig-disposal .body-flow .list-flow > li::after {
  content: "否";
  display: table-cell;
  width: 16%;
  height: 100%;
  color: #888;
  font-size: 1.1rem;
  font-weight: 500;
  text-align: center;
  vertical-align: middle;
  border: 2px solid #25265a;
  border-left: none;
  border-top-right-radius: 10rem;
  border-bottom-right-radius: 10rem;
  padding: 1rem;
}

#csr-iso #content-system .fig-disposal .body-flow .list-flow > li.need::after {
  content: "要";
  color: #25265a;
}

#csr-iso #content-system .fig-disposal .body-flow .list-flow > li > p {
  display: table-cell;
  width: auto;
  height: 100%;
  color: #25265a;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.4;
  text-align: center;
  vertical-align: middle;
  border: 2px solid #25265a;
  border-right: none;
  border-top-left-radius: 10rem;
  border-bottom-left-radius: 10rem;
  overflow: hidden;
}

#csr-iso #content-system .fig-disposal .body-flow .list-flow > li > p::after {
  content: "";
  display: inline-block;
  width: 1px;
  height: 50%;
  background-color: #25265a;
  margin: auto 0;
  position: absolute;
  right: calc(16% + 1rem);
  top: 0;
  bottom: 0;
}

#csr-iso #content-system .fig-disposal .body-flow .list-flow > li > p > span {
  display: block;
  color: inherit;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.06em;
  line-height: 1.2;
}

#csr-iso #content-system .fig-disposal .gry .head-flow > span {
  background-color: #eee;
}

#csr-iso #content-system .fig-disposal .gry .head-flow > span > em {
  color: #222;
}

#csr-iso #content-system .fig-disposal .gry .body-flow .list-flow > li::before {
  background-image: url(/assets/images/csr/iso/arrow_flow_gry.svg);
}

#csr-iso #content-system .fig-disposal .gry .body-flow .list-flow > li::after {
  border-color: #444;
}

#csr-iso #content-system .fig-disposal .gry .body-flow .list-flow > li > p {
  color: #222;
  border-color: #444;
}

#csr-iso #content-system .text-notes {
  font-size: 1.1rem;
}

#csr-iso #content-system .text-notes.log {
  padding-left: 1rem;
  margin-bottom: 1rem;
}

@media (max-width: 480px) and (orientation: portrait) {
  #csr-iso #content-system .fig-disposal .fig-box {
    width: 100%;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
  }
  
  #csr-iso #content-system .fig-disposal .fig-box .block-content {
    width: 400%;
  }

  #csr-iso #content-system .fig-disposal .head-field > li {
    height: 3rem;
    padding: 0 1rem;
  }

  #csr-iso #content-system .fig-disposal .head-field > li > p {
    font-size: 1.2rem;
    letter-spacing: 0.04em;
    padding: 0.2rem 0.8rem;
  }

  #csr-iso #content-system .fig-disposal .head-field > li::after {
    font-size: 0.8rem;
    padding: 0.2rem 0.8rem;
  }

  #csr-iso #content-system .fig-disposal .head-category {
    width: 3rem;
    font-size: 1.3rem;
    line-height: 3rem;
  }

  #csr-iso #content-system .fig-disposal .head-flow {
    height: 4rem;
    padding-left: 5rem;
    padding-right: 1.5rem;
  }

  #csr-iso #content-system .fig-disposal .head-flow.double {
    height: 9rem;
  }

  #csr-iso #content-system .fig-disposal .head-flow > span {
    padding: 0.8rem;
  }

  #csr-iso #content-system .fig-disposal .head-flow > span > em {
    font-size: 1.3rem;
  }

  #csr-iso #content-system .fig-disposal .head-flow > span > span {
    font-size: 0.88rem;
  }

  #csr-iso #content-system .fig-disposal .body-flow .list-flow > li {
    height: 4rem;
    padding: 0 1.5rem;
  }

  #csr-iso #content-system .fig-disposal .body-flow .list-flow > li::after {
    font-size: 0.8rem;
    padding: 0.8rem;
  }

  #csr-iso #content-system .fig-disposal .body-flow .list-flow > li > p {
    font-size: 1.1rem;
    line-height: 1.2;
  }

  #csr-iso #content-system .fig-disposal .body-flow .list-flow > li > p > span {
    font-size: 0.8rem;
  }
}



/*  system
=====================*/
#csr-iso #content-spirit .fig-logo {
  width: 68rem;
  margin: 6.4rem auto 4.8rem;
}

@media (max-width: 480px) and (orientation: portrait) {
  #csr-iso #content-spirit .fig-logo {
    width: 72%;
    margin: 2.4rem auto 2.4rem;
  }
}


/*  policy
=====================*/
#csr-iso #content-policy .list-policy {
  border-top: 1px solid #eee;
}

#csr-iso #content-policy .list-policy > li {
  border-bottom: 1px solid #eee;
  padding: 2.4rem 0;
  position: relative;
}

#csr-iso #content-policy .list-policy > li > dl > dt {
  position: absolute;
  left: 0;
  top: 2.4rem;
}

#csr-iso #content-policy .list-policy > li  > dl > dt .number-circle {
  font-size: 2rem;
  top: 0.6rem;
}

#csr-iso #content-policy .list-policy > li > dl > dd {
  padding-left: 3.2rem;
}

#csr-iso #content-policy .list-policy > li .list-rule {
  margin-top: 1rem;
}

#csr-iso #content-policy .block-signature * {
  font-size: 1.4rem;
  font-weight: 300;
  letter-spacing: 0.08em;
  line-height: 2;
}

#csr-iso #content-policy .block-signature > dl {
  overflow: hidden;
}
#csr-iso #content-policy .block-signature > dl > dt {
  font-weight: 400;
  margin-right: 2rem;
  float: left;
}

#csr-iso #content-policy .block-signature > dl > dd {
  margin-left: 2rem;
}

#csr-iso #content-policy .block-signature > p {
  margin-top: 0.6rem;
}

@media (max-width: 480px) and (orientation: portrait) {
  #csr-iso #content-policy .list-policy > li {
    padding: 1.6rem 0;
  }

  #csr-iso #content-policy .list-policy > li > dl > dt {
    top: 1.6rem;
  }

  #csr-iso #content-policy .list-policy > li  > dl > dt .number-circle {
    font-size: 1.6rem;
    top: 0.4rem;
  }

  #csr-iso #content-policy .block-signature * {
    font-size: 1.2rem;
    line-height: 1.7;
  }

  #csr-iso #content-policy .block-signature > p {
    margin-top: 0.4rem;
  }
}




/*========================================
  deliverysystem
========================================*/
/*  intro
=====================*/
#csr-deliverysystem #content-point .fig-system {
  border-bottom: 1px solid #ddd;
}

#csr-deliverysystem #content-point .fig-system:last-of-type {
  border-bottom: 1px solid #ddd;
}

#csr-deliverysystem #content-point .fig-system > dt {
  border-top: 1px solid #ddd;
  padding-top: 3.2rem;
  padding-bottom: 2.4rem;
}

#csr-deliverysystem #content-point .fig-system > dd {
  padding-bottom: 6.4rem;
}

@media (max-width: 480px) and (orientation: portrait) {
  #csr-deliverysystem #content-point .fig-system > dt {
    padding-top: 1.6rem;
    padding-bottom: 2.4rem;
  }

  #csr-deliverysystem #content-point .fig-system > dd {
    padding-bottom: 4rem;
  }

  #csr-deliverysystem #content-point .fig-system figure{
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
}



/*  point
=====================*/
#csr-deliverysystem #content-point .list-point > li + li {
  margin-top: 8.8rem;
}

@media (max-width: 480px) and (orientation: portrait) {
  #csr-deliverysystem #content-point .list-point > li + li {
    margin-top: 4.8rem;
  }
}





/*========================================
  ecodrive
========================================*/
/*  point
=====================*/
#csr-ecodrive #content-point .box-tbl {
  border-bottom: none;
}

#csr-ecodrive #content-point .box-tbl .block-image {
  position: relative;
}

#csr-ecodrive #content-point .box-tbl .block-data {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
}

#csr-ecodrive #content-point .box-tbl .data-box {
  display: table;
  width: 100%;
  height: 100%;
}

#csr-ecodrive #content-point .box-tbl .data-box * {
  color: #fff;
}

#csr-ecodrive #content-point .box-tbl .data-box > dl {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}

#csr-ecodrive #content-point .box-tbl .data-box > dl > dt {
  font-size: 2.4rem;
  font-weight: 100;
  letter-spacing: 0.08em;
  margin-bottom: 2rem;
}

#csr-ecodrive #content-point .box-tbl .data-box > dl > dd > strong {
  font-size: 8rem;
  font-weight: 100;
}

#csr-ecodrive #content-point .box-tbl .data-box > dl > dd > span {
  font-size: 2.8rem;
  font-weight: 100;
  letter-spacing: 0.06em;
}

#csr-ecodrive #content-point .box-tbl .data-box > dl > dd .text-notes {
  display: block;
  font-size: 2rem;
  font-weight: 100;
}

@media (max-width: 480px) and (orientation: portrait) {
  #csr-ecodrive #content-point .box-tbl .data-box > dl > dt {
    font-size: 1.6rem;
    margin-bottom: 0.8rem;
  }

  #csr-ecodrive #content-point .box-tbl .data-box > dl > dd > strong {
    font-size: 6.4rem;
  }

  #csr-ecodrive #content-point .box-tbl .data-box > dl > dd > span {
    font-size: 2rem;
  }

  #csr-ecodrive #content-point .box-tbl .data-box > dl > dd .text-notes {
    font-size: 1.4rem;
  }
}




/*========================================
  recycle
========================================*/
/*  intro
=====================*/
#csr-recycle #content-flow > dl {
  border-top: 1px solid #ddd;
}

#csr-recycle #content-flow > dl > dt {
  padding-top: 3.2rem;
  padding-bottom: 4.8rem;
}

#csr-recycle #content-flow .fig-cycle {
  margin-bottom: 6.4rem;
}

#csr-recycle #content-flow .list-scene > li {
  display: inline-table;
}

#csr-recycle #content-flow .list-scene > li > .block-image,
#csr-recycle #content-flow .list-scene > li > .block-letter {
  display: table-cell;
  text-align: left;
  vertical-align: middle;
}

#csr-recycle #content-flow .list-scene > li > .block-image {
  width: 24%;
}

#csr-recycle #content-flow .list-scene > li > .block-letter {
  width: 76%;
  font-size: 1.4rem;
  font-weight: 300;
  letter-spacing: 0.06em;
  line-height: 1.4;
  background-color: #f8f8f8;
  padding: 0.8rem 1.6rem;
}

#csr-recycle #content-flow .list-scene > li:nth-of-type(n+4) .block-letter {
  border-top: 1px solid #eee;
}

#csr-recycle #content-flow .list-scene > li > .block-letter .number-circle {
  font-size: 108%;
}

@media (max-width: 480px) and (orientation: portrait) {
  #csr-recycle #content-flow > dl > dt {
    padding-top: 1.6rem;
    padding-bottom: 2.4rem;
  }

  #csr-recycle #content-flow .fig-cycle {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 4rem;
  }

  #csr-recycle #content-flow .list-scene > li > .block-letter {
    font-size: 1.3rem;
    padding: 0.8rem 1.2rem;
  }

  #csr-recycle #content-flow .list-scene > li:nth-of-type(n+2) .block-letter {
    border-top: 1px solid #eee;
  }
}

