@import url("https://fonts.googleapis.com/css2?family=Caveat&display=swap");
img {
  height: auto;
  display: block;
}

html {
  scroll-behavior: smooth;
}

:root {
  --color-main: #0D9250;
  --color-sub: #84C142;
  --color-sub2: #B8E1F5;
  --color-sub3: #B8E366;
  --color-point: #EE8925;
  --color-back: #FCF1E2;
  --size-intro: 52%;
}
@media screen and (min-width: 1024px) {
  :root {
    --size-intro: 60%;
  }
}

@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(-360deg);
  }
}
body {
  font-size: 1.5rem;
}
@media screen and (min-width: 768px) {
  body {
    font-size: 1.6rem;
  }
}

.p-cn__body {
  border-top: 5px solid var(--color-main);
  border-bottom: 5px solid var(--color-main);
  overflow: hidden;
}
.p-cn__img_main {
  transform: translate(26%, -52%);
}
@media screen and (min-width: 768px) {
  .p-cn__img_main {
    position: absolute;
    top: 0;
    right: 0;
    transform: translate(30%, -47%);
    width: 70%;
    max-width: 800px;
  }
}
@media screen and (min-width: 1024px) {
  .p-cn__img_main {
    transform: translate(50%, -40%);
  }
}
.p-cn__img_main img {
  animation: rotate 120s linear infinite;
  position: relative;
  z-index: -1;
}
.p-cn__ttl_main {
  padding-top: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-cn__ttl_main {
    padding-top: 1.5rem;
    width: var(--size-intro);
  }
}
.p-cn__ttl_sub {
  padding-top: 1px;
  margin-top: -60%;
}
@media screen and (min-width: 768px) {
  .p-cn__ttl_sub {
    margin: 0 calc(50% - 50vw);
    padding: 0.5rem 6%;
    width: 100vw;
  }
}
.p-cn__intro {
  margin-top: 6%;
}
@media screen and (min-width: 768px) {
  .p-cn__intro {
    margin-top: 2.5rem;
    width: var(--size-intro);
  }
}
.p-cn__intro .ttl_intro {
  font-size: 1.8rem;
  color: var(--color-point);
  font-weight: bold;
}
@media screen and (min-width: 1024px) {
  .p-cn__intro .ttl_intro {
    font-size: 2rem;
  }
}
.p-cn__intro .txt_intro {
  margin-top: 1.2rem;
  line-height: 1.8;
  font-weight: 500;
}
.p-cn__txt-block {
  padding: 1.4rem 2.4rem;
  margin-top: 2rem;
  background-color: var(--color-back);
  border-radius: var(--radius);
  font-size: 1.3rem;
  line-height: 1.8;
}
.p-cn__news {
  margin-top: 2rem;
}
.p-cn__news .ttl {
  font-size: 1.6rem;
}
.p-cn__news .list_news .item_news {
  display: grid;
  padding-bottom: 1rem;
  border-bottom: 1px solid #DBDBDB;
  font-size: 1.5rem;
}
.p-cn__news .list_news .item_news + .item_news {
  padding-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-cn__news .list_news .item_news {
    grid-template-columns: auto 1fr;
    gap: 2em;
  }
}
.p-cn__news .list_news .link_news {
  display: inline-block;
}
.p-cn_area_top {
  position: relative;
}
.p-cn__area_list {
  position: relative;
  padding: 4rem 0;
  margin-top: 4rem;
  background: var(--color-sub2) url(/kankyo/cn/img/img_back.svg) repeat;
}
@media screen and (min-width: 768px) {
  .p-cn__area_list {
    padding: 6rem 0;
  }
}
.p-cn__block_search {
  padding: 3rem 0;
  background-color: #fff;
  border-radius: var(--radius);
}
.p-cn__block_search .block_filter + .block_filter {
  margin-top: 3.5rem;
}
.p-cn__block_search .ttl_filter {
  font-size: 2rem;
}
.p-cn__block_search .list_order {
  margin-top: 2rem;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(4em, 1fr));
  gap: 0.5em;
}
@media screen and (min-width: 768px) {
  .p-cn__block_search .list_order {
    grid-template-columns: repeat(5, 1fr);
  }
}
.p-cn__block_search .list_category {
  margin-top: 2rem;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(7em, 1fr));
  gap: 0.5em;
}
@media screen and (min-width: 768px) {
  .p-cn__block_search .list_category {
    grid-template-columns: repeat(5, 1fr);
  }
}
.p-cn__block_search button {
  width: 100%;
  height: 100%;
  white-space: nowrap;
}
.p-cn__block_search .area_reset {
  margin-top: 3.5rem;
  display: flex;
  justify-content: center;
}
.p-cn__block_search .area_reset .btn_reset {
  padding: 0.8em 1.4em;
  background-color: #D1D1D1;
  border: none;
  border-radius: 5px;
  max-width: -moz-max-content;
  max-width: max-content;
}
@media (hover: hover) {
  .p-cn__block_search .area_reset .btn_reset:hover, .p-cn__block_search .area_reset .btn_reset:focus {
    background-color: #b4b2b2;
  }
}
.p-cn__block_search .area_reset .btn_reset .icon {
  margin-left: 0.3em;
  vertical-align: -0.1em;
}
.p-cn__block_result {
  margin-top: 5rem;
}
.p-cn__block_result .ttl_result {
  padding: 0.5em 1em;
  font-size: 2.2rem;
  border: 2px solid var(--color-main);
  border-radius: var(--radius);
  background-color: #fff;
}
.p-cn__table {
  background-color: #fff;
  font-size: 1.5rem;
  border-radius: var(--radius);
  overflow: hidden;
}
.p-cn__table .col1 {
  min-width: 12em;
}
.p-cn__table .col2 {
  min-width: 10em;
}
.p-cn__table .col3 {
  min-width: calc(100% - 27em);
}
.p-cn__table .col4 {
  min-width: 5em;
}
.p-cn__table thead th {
  background-color: var(--color-sub);
  color: #fff;
  font-weight: 500;
}
.p-cn__table tr + tr {
  border-top: 1px solid #539809;
}
.p-cn__table th, .p-cn__table td {
  padding: 0.8em;
}
.p-cn__table th + th {
  border-left: 1px solid #539809;
}
.p-cn__table td + td {
  border-left: 1px solid #539809;
}
.p-cn__table .link_list {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 4rem;
  height: 4rem;
  border: 1px solid var(--color-point);
  border-radius: 50%;
}
.p-cn__table .link_list svg {
  fill: var(--color-point);
}
@media (hover: hover) {
  .p-cn__table .link_list:hover, .p-cn__table .link_list:focus {
    background-color: var(--color-point);
  }
  .p-cn__table .link_list:hover svg, .p-cn__table .link_list:focus svg {
    fill: #fff;
  }
}
.p-cn__table .tag {
  margin: 0.3em 0;
  min-width: 4em;
}
.p-cn__link_float {
  padding: 0.8em;
  display: block;
  width: 100%;
  background-color: var(--color-main);
  color: #fff;
  text-align: center;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 10;
  transition: opacity 0.2s ease, visibility 0.2s ease;
}
.p-cn__link_float.hidden {
  opacity: 0;
  visibility: hidden;
}
.p-cn__link_float .arrow {
  fill: #fff;
  vertical-align: middle;
  padding-left: 0.5rem;
}
@media (hover: hover) {
  .p-cn__link_float:hover, .p-cn__link_float:focus {
    background-color: #047940;
  }
}

a.no_blank_icon::after {
  display: none !important;
}
a > div.cn_image {
  transition: all 0.25s;
}
a > div.cn_image:hover {
  opacity: 0.7;
}

div.cn_image img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
  margin: 0.8em auto 0;
}/*# sourceMappingURL=cn.css.map */