@media screen and (min-width: 1000px) {
  .pc-none {
    display: none !important;
  }
}

@media screen and (max-width: 999px) {
  .sp-none {
    display: none !important;
  }
}

picture {
  display: block;
}

img {
  width: 100%;
  max-width: 100%;
  vertical-align: middle;
}

li {
  list-style: none;
}

* {
  box-sizing: border-box;
}

a {
  transition: opacity 0.4s;
}
a:hover {
  opacity: 0.7;
}

p {
  margin-bottom: inherit;
}

* {
  box-sizing: border-box;
}

h2, h3 {
  border: none;
  padding: 0;
  margin: 0;
}
h2::after, h3::after {
  display: none;
}

body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  overflow-x: clip;
}

.l-header {
  opacity: 0;
  visibility: hidden;
  transform: translateY(-100%);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 20;
  width: 100%;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 5em;
  padding: 2.4vw 0;
  transition: 0.5s;
}
@media screen and (min-width: 1000px) {
  .l-header {
    position: fixed;
    display: flex;
    align-items: center;
    padding: 0 2.4vw;
  }
}
.l-header.is-animate {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
}
.l-header.is-animate-end {
  transform: inherit;
}
.l-header__logo {
  display: block;
  width: 38%;
}
@media screen and (max-width: 999px) {
  .l-header__logo {
    margin: 0 auto;
  }
}
@media screen and (min-width: 1000px) {
  .l-header__logo {
    width: 10.5vw;
  }
}
.l-header__nav {
  flex: 1;
  transition: opacity 0.6s, visibility 0.6s;
  position: relative;
}
@media screen and (max-width: 999px) {
  .l-header__nav {
    opacity: 0;
    visibility: hidden;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: #fff;
    padding: 14vw 4% 9.5vw;
    filter: drop-shadow(0px 3px 5px rgba(0, 0, 0, 0.2));
    max-height: 100vh;
    overflow: auto;
  }
}
@media screen and (min-width: 1000px) {
  .l-header__nav {
    margin-left: 6.2vw;
  }
}
.is-open .l-header__nav {
  opacity: 1;
  visibility: visible;
}
@media screen and (min-width: 1000px) {
  .l-header ul {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (max-width: 999px) {
  .l-header ul li {
    border-bottom: 1px solid #ea5520;
  }
}
.l-header ul a {
  display: flex;
  align-items: center;
  font-size: 4.8vw;
  color: #ea5520;
  text-decoration: none;
  line-height: 1.35;
  padding: 3vw 4.5vw 3vw 3.2vw;
  height: 100%;
  border-radius: 3em;
  transition: color 0.4s;
}
@media screen and (max-width: 999px) {
  .l-header ul a {
    background: url(/policy/energy_environment/shigenjunkan/circular_economy/action/images/icon_arrow.svg) no-repeat right 0.85em top 50%/0.8em auto;
  }
}
@media screen and (min-width: 1000px) {
  .l-header ul a {
    justify-content: center;
    font-size: clamp(1.05rem, 1.0415vw, 1.0415vw);
    text-align: center;
    padding: 1vw 1.6vw;
  }
}
.l-header ul a:hover {
  color: #ea5520;
}
@media screen and (min-width: 1000px) {
  .l-header ul a:hover {
    opacity: 1;
    color: #fff;
  }
}
.l-header ul a.is-window {
  background: none;
}
.l-header ul a.is-window span {
  position: relative;
  margin-left: 1em;
}
@media screen and (max-width: 999px) {
  .l-header ul a.is-window span {
    margin-left: auto;
    top: -0.2em;
    left: 0.1em;
  }
}
.l-header ul a.is-window span::before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  background: url(/policy/energy_environment/shigenjunkan/circular_economy/action/images/icon_window_white.svg) no-repeat 0 0.2em/100% auto;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  transition: 0.4s;
  opacity: 0;
}
@media screen and (min-width: 1000px) {
  .l-header ul a.is-window:hover span::before {
    opacity: 1;
  }
}
.l-header ul a.is-window img {
  width: 0.85em;
}
@media screen and (min-width: 1000px) {
  .l-header ul a.is-window img {
    width: 1.2em;
  }
}
.l-header__stickybar {
  opacity: 0;
  position: absolute;
  display: block;
  bottom: 0;
  left: 0;
  z-index: -1;
  height: 100%;
  background: #ea5520;
  border-radius: 3em;
  transition: 0.4s;
}
@media screen and (min-width: 1000px) {
  .l-header__stickybar.is-active {
    opacity: 1;
  }
}

.c-hamburger {
  opacity: 0;
  visibility: hidden;
  position: fixed;
  top: 0.7vw;
  right: 1vw;
  z-index: 20;
  width: 13vw;
  transform: translateY(-150%);
  transition: 0.5s;
}
@media screen and (min-width: 1000px) {
  .c-hamburger {
    display: none;
  }
}
.c-hamburger.is-animate {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
}

main {
  width: 104%;
  margin: 0 -2%;
}
@media screen and (min-width: 1000px) {
  main {
    width: 102.8%;
    margin: -10% -1.4% 0;
  }
}

.circle-wrap {
  display: flex;
  flex-wrap: wrap;
}

.c-circle {
  width: 16.6666666667%;
  vertical-align: middle;
}
.c-circle img {
  width: 100%;
}

.c-expo-bnr {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  z-index: 10;
}
@media screen and (max-width: 999px) {
  .c-expo-bnr {
    bottom: 0;
    left: 0;
  }
}
@media screen and (min-width: 1000px) {
  .c-expo-bnr {
    top: 24.2vw;
    right: 17.5vw;
    width: 19vw;
  }
}
.c-expo-bnr.is-animate {
  opacity: 1;
  visibility: visible;
  animation: 0.49s linear forwards animateFadeIn;
}
.c-expo-bnr img:last-child {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.c-sticky {
  position: fixed;
  bottom: 0;
  z-index: 10;
  transition: opacity 0.6s, transform 0.6s;
}
@media screen and (max-width: 999px) {
  .c-sticky {
    display: flex;
    width: 100%;
    left: 0;
    transform: translateY(100%);
  }
}
@media screen and (min-width: 1000px) {
  .c-sticky {
    opacity: 0;
    width: 18.5vw;
    transform: translateX(100%);
    bottom: 1.5vw;
    right: 0.5vw;
  }
}
@media screen and (max-width: 999px) {
  .c-sticky.is-sp-active {
    opacity: 1;
    transform: translateY(0);
  }
}
@media screen and (min-width: 1000px) {
  .c-sticky.is-pc-active {
    opacity: 1;
    transform: translateX(0);
  }
}
.c-sticky__expo {
  position: relative;
}
@media screen and (max-width: 999px) {
  .c-sticky__expo {
    width: 86vw;
  }
}
.c-sticky__expo img {
  width: 100%;
}
.c-sticky__expo img:last-child {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.c-sticky__pagetop {
  width: 14.98vw;
  position: relative;
}
@media screen and (min-width: 1000px) {
  .c-sticky__pagetop {
    width: 11vw;
    margin: 0.5vw auto 0;
  }
}

@media screen and (max-width: 999px) {
  .c-btn-pagetop {
    width: 15vw;
  }
}
@media screen and (min-width: 1000px) {
  .c-btn-pagetop {
    width: 11vw;
  }
}

.c-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  font-size: 4.55vw;
  color: #fff;
  width: 80%;
  padding: 1.1em 0.9em;
  border-radius: 3em;
  margin-top: 0.7em;
  margin-left: auto;
  margin-right: auto;
  transition: 0.4s;
}
@media screen and (min-width: 1000px) {
  .c-btn {
    font-size: 1.8vw;
    width: 38.7%;
    padding: 0.9em;
    margin-top: 0.32em;
  }
}
.c-btn.is-green {
  background: #009f5d;
}
.c-btn.is-green::after {
  content: "";
  display: block;
  width: 1.2em;
  height: 1.2em;
  background: red;
  background: url(/policy/energy_environment/shigenjunkan/circular_economy/action/images/icon_window_white.svg) no-repeat 0 0/contain;
  margin-left: 0.4em;
}
@media screen and (min-width: 1000px) {
  .c-btn.is-green::after {
    width: 1.1em;
    height: 1.1em;
  }
}
.c-btn.is-pink {
  background: #ec7aab;
}
@media screen and (max-width: 999px) {
  .c-btn.is-pink {
    margin-top: 1.5em;
  }
}
.c-btn.is-pink span {
  font-size: 5.1vw;
  letter-spacing: 0.05em;
  margin-left: 0.16em;
}
@media screen and (min-width: 1000px) {
  .c-btn.is-pink span {
    font-size: 1.9vw;
  }
}
.c-btn.is-orange {
  background: #ea5520;
  pointer-events: none;
}
.c-btn.is-orange span {
  font-size: 5.1vw;
  letter-spacing: 0.16em;
  margin-left: 0.16em;
}
@media screen and (min-width: 1000px) {
  .c-btn.is-orange span {
    font-size: 1.9vw;
  }
}
.c-btn.is-more {
  font-size: 7vw;
  font-weight: 900;
  color: #000;
  letter-spacing: 0.04em;
  padding: 0.4em 0.9em;
  border: #000 1px solid;
  margin: 6.8vw auto 0;
  width: 84%;
}
.c-btn.is-more:hover {
  color: inherit;
}
.c-btn.is-more span {
  display: inline-block;
  width: 1.1em;
  height: 1.1em;
  background: #000;
  border-radius: 50%;
  position: relative;
  top: 0.08em;
  margin-left: 0.45em;
  position: relative;
}
.c-btn.is-more span::before, .c-btn.is-more span::after {
  content: "";
  display: block;
  width: 2px;
  height: 50%;
  background: #fff;
  border-radius: 3px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: 0.4s;
}
.c-btn.is-more span::before {
  transform: translate(-50%, -50%) rotate(90deg);
}
.is-open .c-btn.is-more span::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.c-btn:hover {
  color: #fff;
}

section {
  position: relative;
}

.row {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
.row.is-align-start {
  align-items: flex-start;
}
.row.is-align-center {
  align-items: center;
}
.row.is-align-end {
  align-items: flex-end;
}
@media screen and (max-width: 999px) {
  .row.is-cando-row01 {
    margin-left: -2%;
  }
}
.row.is-cando-row02 {
  margin-top: 10vw;
}
@media screen and (max-width: 999px) {
  .row.is-cando-row02 {
    margin-left: 5%;
  }
}
@media screen and (min-width: 1000px) {
  .row.is-cando-row02 {
    margin-top: -16.4vw;
  }
}
.row.is-cando-row03 {
  margin-top: -4.8vw;
}
@media screen and (min-width: 1000px) {
  .row.is-cando-row03 {
    margin-top: -16.9vw;
  }
}
.row.is-cando-row04 {
  margin-top: -4vw;
}
@media screen and (max-width: 999px) {
  .row.is-cando-row04 {
    margin-left: 5%;
  }
}
@media screen and (min-width: 1000px) {
  .row.is-cando-row04 {
    margin-top: -16.9vw;
  }
}
@media screen and (max-width: 999px) {
  .row.is-cando-row05 {
    margin-top: 20vw;
  }
}

.col {
  position: relative;
}
.col.is-col12 {
  width: 100%;
}
.col.is-col11 {
  width: 91.6666666667%;
}
.col.is-col10 {
  width: 83.3333333333%;
}
.col.is-col9 {
  width: 75%;
}
.col.is-col8 {
  width: 66.6666666667%;
}
.col.is-col7 {
  width: 58.3333333333%;
}
.col.is-col6 {
  width: 50%;
}
.col.is-col5 {
  width: 41.6666666667%;
}
.col.is-col4 {
  width: 33.3333333333%;
}
.col.is-col3 {
  width: 25%;
}
.col.is-col2 {
  width: 16.6666666667%;
}
.col.is-col1 {
  width: 8.3333333333%;
}
@media screen and (max-width: 999px) {
  .col.is-sp-col12 {
    width: 100%;
  }
  .col.is-sp-col11 {
    width: 91.6666666667%;
  }
  .col.is-sp-col10 {
    width: 83.3333333333%;
  }
  .col.is-sp-col9 {
    width: 75%;
  }
  .col.is-sp-col8 {
    width: 66.6666666667%;
  }
  .col.is-sp-col7 {
    width: 58.3333333333%;
  }
  .col.is-sp-col6 {
    width: 50%;
  }
  .col.is-sp-col5 {
    width: 41.6666666667%;
  }
  .col.is-sp-col4 {
    width: 33.3333333333%;
  }
  .col.is-sp-col3 {
    width: 25%;
  }
  .col.is-sp-col2 {
    width: 16.6666666667%;
  }
  .col.is-sp-col1 {
    width: 8.3333333333%;
  }
}
@media screen and (min-width: 1000px) {
  .col.is-cando-scale01 {
    transform: scale(1.08);
  }
}

.c-heading {
  font-size: 6.4vw;
  font-weight: 900;
  letter-spacing: 0.05em;
  text-align: center;
  line-height: 1.35;
}
@media screen and (min-width: 1000px) {
  .c-heading {
    font-size: 4.3vw;
    line-height: 2;
  }
}
@media screen and (max-width: 999px) {
  .about .c-heading {
    margin-top: -25vw;
  }
}

.c-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.about .c-bg {
  top: 4.6vw;
}

.logo {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 6%;
}
@media screen and (min-width: 1000px) {
  .logo {
    padding: 10%;
  }
}
.logo img {
  width: 91%;
}

.news {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 4.75%;
}
.news-box {
  width: 100%;
}
@media screen and (min-width: 1000px) {
  .news-box {
    display: flex;
    align-items: center;
    min-height: 7.4vw;
    background: #ea5520;
    border-radius: 8em;
    padding: 0.8em 2.5% 0.9em 5%;
  }
}
.news-heading {
  font-family: "Montserrat", sans-serif;
  font-size: 10.65vw;
  line-height: 1;
}
@media screen and (max-width: 999px) {
  .news-heading {
    letter-spacing: 0.02em;
    text-align: center;
  }
}
@media screen and (min-width: 1000px) {
  .news-heading {
    font-size: 2.3vw;
    color: #fff;
  }
}
.news-list {
  padding: 0;
  margin: 0;
}
@media screen and (max-width: 999px) {
  .news-list {
    height: 18vw;
    padding-right: 1em;
    overflow: auto;
  }
}
.news-list-wrap {
  width: 100%;
}
@media screen and (max-width: 999px) {
  .news-list-wrap {
    background: #ea5520;
    padding: 1em 9.5vw 1.1em;
    border-radius: 8em;
    margin-top: 2.8vw;
  }
}
@media screen and (min-width: 1000px) {
  .news-list-wrap {
    margin: 0 0 0 2vw;
  }
}
.news-list li {
  font-size: 3.7vw;
  display: flex;
  align-items: flex-start;
}
@media screen and (min-width: 1000px) {
  .news-list li {
    font-size: 1.04vw;
  }
}
.news-list li:nth-child(n+2) {
  margin-top: 0.3em;
}
.news-list a {
  transition: 0.4s;
}
.news-list a:hover {
  color: #111;
  text-decoration: none;
}
.news-list time {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  line-height: 1.4;
  padding: 0.1em 1em 0.15em;
  border: #000 1px solid;
  border-radius: 1em;
  margin-right: 0.7em;
}
@media screen and (max-width: 999px) {
  .news-list time {
    font-size: 3.47vw;
  }
}
@media screen and (min-width: 1000px) {
  .news-list time {
    padding: 0 1em 0.1em;
    margin-right: 1em;
  }
}

.intro {
  position: relative;
}
@media screen and (min-width: 1000px) {
  .intro {
    padding-top: 3.2vw;
    padding-bottom: 19.05vw;
  }
}
@media screen and (max-width: 999px) {
  .intro {
    padding-top: 0vw;
    margin-top: 4vw;
  }
}
.intro-heading {
  font-size: 6.4vw;
  font-weight: 900;
  letter-spacing: 0.05em;
  text-align: center;
  line-height: 1.5;
  border: none;
}
@media screen and (max-width: 999px) {
  .intro-heading {
    margin-top: 9vw;
  }
}
@media screen and (min-width: 1000px) {
  .intro-heading {
    font-size: 1.975vw;
    line-height: 1.84;
  }
}
.intro-heading::after {
  display: none;
}
.intro-txt {
  font-size: 4.25vw;
  text-align: center;
  line-height: 1.75;
}
@media screen and (max-width: 999px) {
  .intro-txt {
    line-height: 1.77;
  }
}
@media screen and (min-width: 1000px) {
  .intro-txt {
    font-size: 1.35vw;
    line-height: 1.9;
  }
}
.intro-txt:nth-child(n+2) {
  margin-top: 1.3em;
}
@media screen and (min-width: 1000px) {
  .intro-txt:nth-child(n+2) {
    margin-top: 1.4em;
  }
}
@media screen and (max-width: 999px) {
  .intro-img-sp1 {
    margin-top: 8vw;
  }
}

.about {
  margin-top: -5vw;
  padding-bottom: 18.2vw;
  position: relative;
}
@media screen and (max-width: 999px) {
  .about {
    margin-top: -7vw;
  }
}
.about-txt {
  font-size: 4.25vw;
  text-align: center;
  line-height: 1.75;
  padding-top: 1.4em;
}
@media screen and (min-width: 1000px) {
  .about-txt {
    font-size: 1.4vw;
    line-height: 2.47;
    padding-top: 4.8em;
  }
}
.about-img {
  width: 78%;
  margin: -16.5vw auto 0;
  position: relative;
}
@media screen and (min-width: 1000px) {
  .about-img {
    width: 46%;
    margin-top: 4vw;
  }
}
@media screen and (max-width: 999px) {
  .about-img-sp1 {
    margin-top: -33vw;
    margin-bottom: 7vw;
  }
}
@media screen and (max-width: 999px) {
  .about-img-sp3 {
    margin-top: 3vw;
  }
}
.about-more {
  text-align: center;
  margin: 9vw auto 0;
}
@media screen and (max-width: 999px) {
  .about-more {
    margin-bottom: 1.2vw;
  }
}
@media screen and (min-width: 1000px) {
  .about-more {
    width: 38.75%;
    margin-top: 4.8vw;
  }
}
.about-more-desc {
  display: inline-block;
  font-size: 4.27vw;
  color: #009f5d;
  padding: 0 1.2em;
  position: relative;
}
@media screen and (max-width: 999px) {
  .about-more-desc {
    line-height: 1.5;
  }
}
@media screen and (min-width: 1000px) {
  .about-more-desc {
    font-size: 1.6vw;
    padding: 0 0.6em;
  }
}
.about-more-desc::before, .about-more-desc::after {
  content: "";
  display: block;
  width: 0.1em;
  height: 100%;
  background: #009f5d;
  position: absolute;
  top: 0.1em;
  border-radius: 1em;
}
@media screen and (min-width: 1000px) {
  .about-more-desc::before, .about-more-desc::after {
    width: 0.08em;
    height: 90%;
  }
}
.about-more-desc::before {
  left: 0;
  transform: rotate(-30deg);
}
@media screen and (min-width: 1000px) {
  .about-more-desc::before {
    transform: rotate(-45deg);
  }
}
.about-more-desc::after {
  right: 0;
  transform: rotate(30deg);
}
@media screen and (min-width: 1000px) {
  .about-more-desc::after {
    transform: rotate(45deg);
  }
}
.about-feature {
  margin-top: 9.75vw;
}
@media screen and (max-width: 999px) {
  .about-feature {
    margin-top: -20vw;
    margin-left: -4%;
    margin-right: -4%;
  }
}
@media screen and (min-width: 1000px) {
  .about-feature {
    display: flex;
    justify-content: center;
  }
}
.about-feature-item {
  display: flex;
  justify-content: center;
  width: 86vw;
  height: 86vw;
  padding-top: 3.5vw;
  background: #999;
  border-radius: 50%;
}
@media screen and (max-width: 999px) {
  .about-feature-item {
    align-items: center;
  }
}
@media screen and (min-width: 1000px) {
  .about-feature-item {
    width: 27.3vw;
    height: 27.3vw;
  }
}
@media screen and (max-width: 999px) {
  .about-feature-item:nth-child(n+2) {
    margin-top: 3.3vw;
  }
}
.about-feature-item.is-feature1 {
  background: #84cbc8;
}
.about-feature-item.is-feature2 {
  background: #8b9bc8;
}
@media screen and (max-width: 999px) {
  .about-feature-item.is-feature2 {
    margin-left: auto;
  }
}
.about-feature-item.is-feature3 {
  background: #ec7aab;
}
.about-feature-dl {
  width: 55%;
}
@media screen and (min-width: 1000px) {
  .about-feature-dl {
    width: 57.5%;
  }
}
.about-feature-dl dt, .about-feature-dl dd {
  padding: 0;
  margin: 0;
}
.about-feature-dl dt img {
  width: 98%;
}
@media screen and (min-width: 1000px) {
  .about-feature-dl dt img {
    width: 95.5%;
  }
}
.about-feature-dl dd {
  font-size: 3.75vw;
  line-height: 1.42;
  margin-top: 0.8em;
}
@media screen and (min-width: 1000px) {
  .about-feature-dl dd {
    font-size: 1.04vw;
    line-height: 1.85;
    margin-top: 1em;
  }
}

.what {
  text-align: center;
}
.what-heading {
  font-size: 5.4vw;
  text-align: center;
  line-height: 1.45;
  padding-bottom: 0.35em;
  position: relative;
}
@media screen and (min-width: 1000px) {
  .what-heading {
    font-size: 1.9vw;
    padding-bottom: 0.5em;
    border-bottom-width: 0.15em;
  }
}
.what-heading::after {
  content: "";
  display: block;
  background: #000;
  width: 100%;
  height: 0.15em;
  border-radius: 0.5em;
  position: absolute;
  bottom: 0;
  left: 0;
}
.what-heading span {
  margin-left: -0.4em;
}
.what-inner {
  margin-top: 7vw;
}
@media screen and (min-width: 1000px) {
  .what-inner {
    display: flex;
    justify-content: center;
  }
}
@media screen and (max-width: 999px) {
  .what-row {
    padding: 0 4%;
  }
}
@media screen and (min-width: 1000px) {
  .what-row {
    display: flex;
    width: 77.2%;
    flex-wrap: wrap;
    margin: 0 -8%;
  }
}
.what-panel {
  max-height: 0;
  margin-top: 10vw;
  overflow: hidden;
  transition: 1s;
}
@media screen and (min-width: 1000px) {
  .what-panel {
    display: none;
  }
}
.what-panel.is-open {
  overflow: visible;
}
@media screen and (max-width: 999px) {
  .what-col {
    margin-top: 10vw;
  }
}
@media screen and (min-width: 1000px) {
  .what-col {
    width: 50%;
  }
}
.what-col:first-child {
  margin-top: 0;
}
@media screen and (max-width: 999px) {
  .what-col:nth-child(n+2) {
    display: none;
  }
  .what-panel .what-col:nth-child(n+2) {
    display: block;
  }
}
@media screen and (min-width: 1000px) {
  .what-col:nth-child(n+3) {
    margin-top: 8vw;
  }
}
.what-caution {
  font-size: 3.5vw;
  padding: 0 5%;
  margin-top: 4.2em;
}
@media screen and (min-width: 1000px) {
  .what-caution {
    text-align: right;
    width: 77.2%;
    margin: 6vw auto;
    font-size: 1vw;
    color: #333;
  }
}
.what-btn {
  margin-top: 1.2em;
}
@media screen and (min-width: 1000px) {
  .what-btn {
    margin-top: 2vw;
  }
}

.cando {
  margin-top: 20vw;
}
@media screen and (min-width: 1000px) {
  .cando {
    margin-top: 10vw;
  }
}
.cando-unit {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  padding-top: 14vw;
}
@media screen and (min-width: 1000px) {
  .cando-unit {
    padding-top: 3.4vw;
  }
}
@media screen and (max-width: 999px) {
  .is-cando-scale01 .cando-unit {
    padding-top: 10vw;
  }
}
.cando-unit__heading {
  text-align: center;
}
.cando-unit__heading span {
  display: block;
  color: #fff;
  line-height: 1.15;
}
.cando-unit__heading span:first-child {
  font-size: 10.5vw;
  font-weight: 900;
}
@media screen and (min-width: 1000px) {
  .cando-unit__heading span:first-child {
    font-size: 4.4vw;
  }
}
.cando-unit__heading span:last-child {
  font-family: "Montserrat", sans-serif;
  font-size: 4.8vw;
  font-weight: bold;
}
@media screen and (min-width: 1000px) {
  .cando-unit__heading span:last-child {
    font-size: 1.8vw;
  }
}
.cando-unit__box {
  margin-top: 1.9vw;
  position: relative;
}
@media screen and (max-width: 999px) {
  .cando-unit__box {
    width: 56%;
    margin-top: 0.8em;
    margin-left: auto;
    margin-right: auto;
  }
}
.is-cando-scale01 .cando-unit__box {
  margin-top: 1.8vw;
}
@media screen and (max-width: 999px) {
  .is-cando-scale01 .cando-unit__box {
    width: 82%;
    overflow: inherit;
    margin-left: 12%;
  }
}
@media screen and (max-width: 999px) {
  .cando-unit__box::after {
    content: "";
    display: block;
    width: 4vw;
    height: 100%;
    background: url(/policy/energy_environment/shigenjunkan/circular_economy/action/images/scroll_txt.svg) no-repeat 0 0/contain;
    position: absolute;
    top: 0;
    right: 0;
    transform: translateX(160%);
  }
  .is-cando-scale01 .cando-unit__box::after {
    display: none;
  }
}
@media screen and (max-width: 999px) {
  .cando-unit__box-inner {
    height: 46vw;
    padding-right: 1em;
    overflow: auto;
  }
}
.cando-unit__flex {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 90%;
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 999px) {
  .cando-unit__flex {
    margin-left: 0.5em;
  }
}
@media screen and (min-width: 1000px) {
  .cando-unit__flex {
    max-width: 78%;
    left: -0.4vw;
  }
}
.cando-unit__dl {
  margin: 0;
}
@media screen and (min-width: 1000px) {
  .is-cando-row01 .cando-unit__dl {
    margin-left: 13.5vw;
  }
}
@media screen and (min-width: 1000px) {
  .is-cando-row02 .cando-unit__dl {
    margin-left: 13.3vw;
  }
}
@media screen and (min-width: 1000px) {
  .is-cando-row03 .cando-unit__dl {
    margin-left: 13vw;
  }
}
@media screen and (min-width: 1000px) {
  .is-cando-row04 .cando-unit__dl {
    margin-left: 13vw;
  }
}
@media screen and (max-width: 999px) {
  .cando-unit__dl:nth-of-type(n+2) {
    margin-top: 1.6em;
  }
}
@media screen and (min-width: 1000px) {
  .is-cando-row01 .cando-unit__dl:nth-of-type(n+2) {
    margin-top: 1.6vw;
  }
}
@media screen and (min-width: 1000px) {
  .is-cando-row02 .cando-unit__dl:nth-of-type(n+2) {
    margin-top: 1.6vw;
  }
}
@media screen and (min-width: 1000px) {
  .is-cando-row03 .cando-unit__dl:nth-of-type(n+2) {
    margin-top: 2.5vw;
  }
}
@media screen and (min-width: 1000px) {
  .is-cando-row04 .cando-unit__dl:nth-of-type(n+2) {
    margin-top: 1.2vw;
  }
}
@media screen and (min-width: 1000px) {
  .is-cando-row01 .cando-unit__dl.is-right {
    margin-left: 18.1vw;
  }
}
@media screen and (min-width: 1000px) {
  .is-cando-row02 .cando-unit__dl.is-right {
    margin-left: 18.8vw;
  }
}
@media screen and (min-width: 1000px) {
  .is-cando-row03 .cando-unit__dl.is-right {
    margin-left: 18vw;
  }
}
@media screen and (min-width: 1000px) {
  .is-cando-row04 .cando-unit__dl.is-right {
    margin-left: 18vw;
  }
}
.cando-unit__dl dt, .cando-unit__dl dd {
  width: 100%;
  font-weight: normal;
  padding: 0;
  margin: 0;
}
.cando-unit__dl dt {
  font-size: 5.3vw;
  color: #fff;
}
@media screen and (max-width: 999px) {
  .cando-unit__dl dt {
    line-height: 1.4;
  }
}
@media screen and (min-width: 1000px) {
  .cando-unit__dl dt {
    font-size: 1.3vw;
  }
}
.cando-unit__dl dd {
  font-size: 4.268vw;
  letter-spacing: -0.02em;
  line-height: 1.25;
  margin-top: 0.6em;
}
@media screen and (min-width: 1000px) {
  .cando-unit__dl dd {
    font-size: 1.04vw;
    line-height: 1.85;
    margin-top: 0.45em;
  }
}
.cando-unit__dl dd span {
  display: block;
  font-size: 3.2vw;
}
@media screen and (max-width: 999px) {
  .cando-unit__dl dd span {
    margin-top: 0.7vw;
  }
}
@media screen and (min-width: 1000px) {
  .cando-unit__dl dd span {
    font-size: 0.675vw;
  }
}
.cando-unit__txt {
  font-size: 4.4vw;
  letter-spacing: -0.02em;
  line-height: 1.8;
  margin-top: 0.45em;
}
.is-cando-scale01 .cando-unit__txt {
  width: 50%;
}
@media screen and (max-width: 999px) {
  .is-cando-scale01 .cando-unit__txt {
    font-size: 3.25vw;
    line-height: 1.25;
  }
}
@media screen and (min-width: 1000px) {
  .cando-unit__txt {
    font-size: 1.04vw;
  }
}
.cando-unit__txt:nth-of-type(1) {
  width: 64%;
  padding-right: 0.9em;
}
@media screen and (max-width: 999px) {
  .cando-unit__txt:nth-of-type(1) {
    width: 72%;
    margin-left: -6%;
  }
}
@media screen and (min-width: 1000px) {
  .cando-unit__txt:nth-of-type(1) {
    padding-right: 1.3em;
  }
}
.is-cando-scale01 .cando-unit__txt:nth-of-type(2) {
  width: 36%;
}
@media screen and (min-width: 1000px) {
  .is-cando-scale01 .cando-unit__txt:nth-of-type(2) {
    width: 35%;
  }
}
.cando-unit__txt span {
  display: block;
  font-size: 1.5vw;
}
@media screen and (min-width: 1000px) {
  .cando-unit__txt span {
    font-size: 0.675vw;
  }
}
.cando-unit__txt img {
  width: 100%;
  box-shadow: 0.1em 0.1em 0.3em rgba(0, 0, 0, 0.8);
}
.cando-unit a {
  display: inline-block;
  font-size: 3.728vw;
  color: #187fc4;
  text-decoration: none;
  position: relative;
  border-bottom: 1px solid transparent;
  transition: 0.4s;
}
@media screen and (max-width: 999px) {
  .cando-unit a {
    text-align: left;
    padding-right: 2.2em;
    margin-top: 0.7em;
  }
}
@media screen and (min-width: 1000px) {
  .cando-unit a {
    font-size: 0.9vw;
  }
}
@media screen and (min-width: 1000px) {
  .cando-unit a:hover {
    border-color: #187fc4;
  }
}
.cando-unit a img {
  width: 6.4vw;
  vertical-align: middle;
}
@media screen and (max-width: 999px) {
  .cando-unit a img {
    position: absolute;
    top: -0.4em;
    right: 0;
  }
}
@media screen and (min-width: 1000px) {
  .cando-unit a img {
    width: 0.8vw;
    margin-top: -0.2vw;
    margin-left: 0.3vw;
  }
}
@media screen and (max-width: 999px) {
  .cando-unit-reverse {
    display: flex;
    flex-direction: column-reverse;
    margin-top: 0.5em;
  }
}
@media screen and (max-width: 999px) {
  .cando-img-sp1 {
    margin-top: 10vw;
    margin-bottom: -15.4vw;
  }
}
@media screen and (max-width: 999px) {
  .cando-img-sp2 {
    margin-top: -7vw;
    margin-bottom: -23.5vw;
  }
}
@media screen and (max-width: 999px) {
  .cando-img-sp3 {
    margin-top: -8vw;
  }
}
@media screen and (max-width: 999px) {
  .cando-img-sp4 {
    margin-top: -8.5vw;
    margin-bottom: -33.2vw;
  }
}

.expo {
  padding-bottom: 2.5vw;
}
@media screen and (max-width: 999px) {
  .expo {
    margin-top: 38vw;
  }
}
.expo-inner {
  width: 95%;
  margin: 0 auto;
}
@media screen and (min-width: 1000px) {
  .expo-inner {
    width: 45.5%;
  }
}
.expo-txt01 {
  font-size: 4.25vw;
  text-align: center;
  line-height: 1.7;
  position: relative;
  margin-top: 3vw;
}
@media screen and (min-width: 1000px) {
  .expo-txt01 {
    font-size: 2vw;
  }
}
.expo-txt01 span {
  display: inline-block;
  padding: 0.3em 1em 0.5em;
  position: relative;
}
@media screen and (max-width: 999px) {
  .expo-txt01 span {
    line-height: 1.5;
  }
}
@media screen and (min-width: 1000px) {
  .expo-txt01 span {
    padding: 0.3em 1.6em 0.5em;
  }
}
.expo-txt01 span::before, .expo-txt01 span::after {
  content: "";
  display: block;
  width: 0.18em;
  height: 100%;
  background: #000;
  position: absolute;
  top: 0;
  border-radius: 1em;
}
@media screen and (min-width: 1000px) {
  .expo-txt01 span::before, .expo-txt01 span::after {
    width: 0.23em;
  }
}
.expo-txt01 span::before {
  left: 0;
  transform: rotate(-25deg);
}
.expo-txt01 span::after {
  right: 0;
  transform: rotate(25deg);
}
.expo-txt02 {
  font-size: 4.25vw;
  letter-spacing: -0.02em;
  line-height: 1.7;
}
@media screen and (max-width: 999px) {
  .expo-txt02 {
    text-align: center;
  }
}
@media screen and (min-width: 1000px) {
  .expo-txt02 {
    font-size: 1.55vw;
  }
}
.expo-row {
  margin-top: 3.7vw;
}
@media screen and (min-width: 1000px) {
  .expo-row {
    display: flex;
  }
}
@media screen and (min-width: 1000px) {
  .expo-col:first-child {
    flex: 1;
  }
}
.expo-col:last-child {
  width: 60%;
}
@media screen and (max-width: 999px) {
  .expo-col:last-child {
    margin: 4.3vw auto 0;
  }
}
@media screen and (min-width: 1000px) {
  .expo-col:last-child {
    width: 37%;
  }
}
.expo-btn {
  margin-top: 3.6vw;
}
@media screen and (max-width: 999px) {
  .expo-img-sp1 {
    margin-top: 92vw;
  }
}

@media screen and (max-width: 999px) {
  .foot-circle {
    margin-top: 13vw;
  }
}

.sns {
  margin-top: 18vw;
}
@media screen and (min-width: 1000px) {
  .sns {
    margin-top: 9.4vw;
  }
}
.sns-list {
  display: flex;
  justify-content: center;
}
.sns-list li {
  width: 13vw;
  margin: 0 3.3vw;
}
@media screen and (min-width: 1000px) {
  .sns-list li {
    width: 6.55vw;
    margin: 0 1.9vw;
  }
}

.foot-circle-logo {
  padding: 8vw;
}
@media screen and (min-width: 1000px) {
  .foot-circle-logo {
    padding: 0 3.8vw;
  }
}

.l-footer {
  margin: inherit;
  padding-bottom: 12vw;
  margin-top: 7.5vw;
}
@media screen and (max-width: 999px) {
  .l-footer {
    padding-bottom: 23vw;
  }
}
.l-footer__logo {
  width: 57%;
  margin: 0 auto;
}
@media screen and (min-width: 1000px) {
  .l-footer__logo {
    width: 21%;
  }
}
.l-footer__copy {
  display: block;
  font-size: 3.45vw;
  font-weight: normal;
  text-align: center;
  margin-top: 3em;
}
@media screen and (max-width: 999px) {
  .l-footer__copy {
    line-height: 1.23;
  }
}
@media screen and (min-width: 1000px) {
  .l-footer__copy {
    font-size: 1.2vw;
    margin-top: 1.35em;
  }
}

.fv .col {
  transition: 1s;
}
.fv .col.is-logo {
  opacity: 0;
}
.fv .col:not(.is-logo) {
  transform: scale(0) translate3d(0, 0, 0);
}
.fv .col.is-fv-animate {
  animation: 0.49s linear forwards animateScale;
}
.fv .col.is-fv-animate2 {
  animation: 0.49s linear forwards animateFadeIn;
  opacity: 1;
}
.fv .col.is-fv-animate3 {
  animation: 0.49s linear forwards animateFadeOut;
}

@keyframes animateScale {
  0% {
    transform: scale(0) translate3d(0, 0, 0);
  }
  35% {
    transform: scale(1.05) translate3d(0, 0, 0);
  }
  75% {
    transform: scale(0.95) translate3d(0, 0, 0);
  }
  100% {
    transform: scale(1) translate3d(0, 0, 0);
  }
}
@keyframes animateFadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes animateFadeOut {
  0% {
    opacity: 1;
    transform: scale(1);
  }
  100% {
    opacity: 0;
    transform: scale(3);
  }
}
.is-animate-rotate {
  animation: 14s linear infinite animateRotate;
}

@keyframes animateRotate {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
.is-animate-rotate2 {
  animation: 21s linear infinite animateRotate2;
}

@keyframes animateRotate2 {
  0% {
    transform: rotate(0) scale(1.02);
  }
  100% {
    transform: rotate(-360deg) scale(1.02);
  }
}
[class*=is-animate-frame] {
  position: absolute;
  top: 0;
  left: 0;
}

.is-animate-frame2-2 {
  animation: 1.4s linear infinite animateFrame2-2;
}

@keyframes animateFrame2-2 {
  0% {
    visibility: hidden;
  }
  49% {
    visibility: hidden;
  }
  99% {
    visibility: visible;
  }
  100% {
    visibility: visible;
  }
}
.is-animate-frame3-2 {
  animation: 2.8s linear infinite animateFrame3-2;
}

.is-animate-frame3-3 {
  animation: 2.8s linear infinite animateFrame3-3;
}

@keyframes animateFrame3-2 {
  0% {
    visibility: hidden;
  }
  32% {
    visibility: hidden;
  }
  33% {
    visibility: visible;
  }
}
@keyframes animateFrame3-3 {
  0% {
    visibility: hidden;
  }
  65% {
    visibility: hidden;
  }
  66% {
    visibility: visible;
  }
}
.is-animate-frame4-2 {
  animation: 2.8s linear infinite animateFrame4-2;
}

.is-animate-frame4-3 {
  animation: 2.8s linear infinite animateFrame4-3;
}

.is-animate-frame4-4 {
  animation: 2.8s linear infinite animateFrame4-4;
}

@keyframes animateFrame4-2 {
  0% {
    visibility: hidden;
  }
  24% {
    visibility: hidden;
  }
  25% {
    visibility: visible;
  }
}
@keyframes animateFrame4-3 {
  0% {
    visibility: hidden;
  }
  49% {
    visibility: hidden;
  }
  50% {
    visibility: visible;
  }
}
@keyframes animateFrame4-4 {
  0% {
    visibility: hidden;
  }
  74% {
    visibility: hidden;
  }
  75% {
    visibility: visible;
  }
}
.is-animate-frame5-2 {
  animation: 2.8s linear infinite animateFrame5-2;
}

.is-animate-frame5-3 {
  animation: 2.8s linear infinite animateFrame5-3;
}

.is-animate-frame5-4 {
  animation: 2.8s linear infinite animateFrame5-4;
}

.is-animate-frame5-5 {
  animation: 2.8s linear infinite animateFrame5-5;
}

@keyframes animateFrame5-2 {
  0% {
    visibility: hidden;
  }
  19% {
    visibility: hidden;
  }
  20% {
    visibility: visible;
  }
}
@keyframes animateFrame5-3 {
  0% {
    visibility: hidden;
  }
  39% {
    visibility: hidden;
  }
  40% {
    visibility: visible;
  }
}
@keyframes animateFrame5-4 {
  0% {
    visibility: hidden;
  }
  59% {
    visibility: hidden;
  }
  60% {
    visibility: visible;
  }
}
@keyframes animateFrame5-5 {
  0% {
    visibility: hidden;
  }
  79% {
    visibility: hidden;
  }
  80% {
    visibility: visible;
  }
}
.is-animate-frame6-2 {
  animation: 4.2s linear infinite animateFrame6-2;
}

.is-animate-frame6-3 {
  animation: 4.2s linear infinite animateFrame6-3;
}

.is-animate-frame6-4 {
  animation: 4.2s linear infinite animateFrame6-4;
}

.is-animate-frame6-5 {
  animation: 4.2s linear infinite animateFrame6-5;
}

.is-animate-frame6-6 {
  animation: 4.2s linear infinite animateFrame6-6;
}

@keyframes animateFrame6-2 {
  0% {
    visibility: hidden;
  }
  16.6% {
    visibility: hidden;
  }
  16.7% {
    visibility: visible;
  }
}
@keyframes animateFrame6-3 {
  0% {
    visibility: hidden;
  }
  33.2% {
    visibility: hidden;
  }
  33.3% {
    visibility: visible;
  }
}
@keyframes animateFrame6-4 {
  0% {
    visibility: hidden;
  }
  49.8% {
    visibility: hidden;
  }
  49.9% {
    visibility: visible;
  }
}
@keyframes animateFrame6-5 {
  0% {
    visibility: hidden;
  }
  66.4% {
    visibility: hidden;
  }
  66.5% {
    visibility: visible;
  }
}
@keyframes animateFrame6-6 {
  0% {
    visibility: hidden;
  }
  83% {
    visibility: hidden;
  }
  83.1% {
    visibility: visible;
  }
}
.simplebar-track.simplebar-vertical {
  width: 1.5vw !important;
  min-width: 6px;
  background: rgba(255, 255, 255, 0.3);
  border-radius: 5px;
  overflow: hidden;
}
.simplebar-track.simplebar-vertical .simplebar-scrollbar {
  background: #000;
  border-radius: 5px;
}
.simplebar-track.simplebar-vertical .simplebar-scrollbar::before {
  display: none;
}