@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Caveat&display=swap");
/* 変数
---------------------------------------------------------- */
:root {
  --color-main: #18a12f;
  --color-sub: #E8F7DA;
  --color-point:#00638f;
  --color-link: #077319;
  --color-line: #AFAFAF;
  --font-en: "Caveat", cursive;
  --shadow: 0px 3px 6px rgb(0 0 0 / 65%);
  --radius: 8px;
}

img {
  height: auto;
  display: block;
}

html {
  scroll-behavior: smooth;
}

/* 共通
---------------------------------------------------------- */
.l-inner {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
}
.l-inner-800 {
  width: 90%;
  max-width: 800px;
  margin: 0 auto;
}

.l-table-scroll {
  overflow-x: auto;
}
.l-table-scroll table {
  min-width: var(--min-width);
}
.l-table-scroll table th {
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .l-table-scroll table {
    min-width: 100%;
  }
}

.mt-1 {
  margin-top: calc(1 * 0.5rem);
}

.mt-2 {
  margin-top: calc(2 * 0.5rem);
}

.mt-3 {
  margin-top: calc(3 * 0.5rem);
}

.mt-4 {
  margin-top: calc(4 * 0.5rem);
}

.mt-5 {
  margin-top: calc(5 * 0.5rem);
}

.mt-6 {
  margin-top: calc(6 * 0.5rem);
}

.mt-7 {
  margin-top: calc(7 * 0.5rem);
}

.mt-8 {
  margin-top: calc(8 * 0.5rem);
}

.mt-9 {
  margin-top: calc(9 * 0.5rem);
}

.mt-10 {
  margin-top: calc(10 * 0.5rem);
}

.mt-11 {
  margin-top: calc(11 * 0.5rem);
}

.mt-12 {
  margin-top: calc(12 * 0.5rem);
}

.mt-13 {
  margin-top: calc(13 * 0.5rem);
}

.mt-14 {
  margin-top: calc(14 * 0.5rem);
}

/* コンポーネント
---------------------------------------------------------- */
.c-category {
  color: var(--color-category);
  background-color: var(--color-back-category);
  padding: 0.3em 2em;
  display: inline-block;
  line-height: 1;
  border-radius: 3px;
}

.c-tag {
  padding: 0.4em 1em;
  display: inline-block;
  background-color: #fff;
  border: 1px solid var(--color-sub);
  border-radius: 5em;
  padding: 0.3em 1em;
  line-height: 1;
  font-size: 1.4rem;
}

/*------ リンク -------*/
.c-link {
  color: #077319;
  text-decoration: underline;
}
@media (hover: hover) {
  .c-link:hover, .c-link:focus {
    text-decoration: none;
  }
}
.c-link:visited {
  opacity: 0.9;
}
.c-link[target=_blank]::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-left: 0.5em;
  background-image: url(/kankyo/common/img/icon_blank_gray.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center bottom;
}

/*------ ボタン -------*/
.c-btn_01 {
  padding: 0.4em 2em 0.4em 1em;
  background-color: var(--color-main);
  color: #fff;
  border-radius: 5px;
  position: relative;
}
.c-btn_01::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  position: absolute;
  top: 50%;
  right: 8px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border: 5px solid transparent;
  border-left: 8px solid #fff;
  -webkit-transition: right 0.2s;
  transition: right 0.2s;
}
@media (hover: hover) {
  .c-btn_01:hover::after, .c-btn_01:focus::after {
    right: 3px;
  }
}

.c-btn_02 {
  padding-top: 0.4em;
  padding-bottom: 0.4em;
  background-color: #fff;
  border: 1px solid var(--color-line);
  border-radius: 5px;
  font-weight: 500;
}
.c-btn_02.selected {
  background-color: var(--color-point);
}
@media (hover: hover) {
  .c-btn_02:hover, .c-btn_02:focus {
    background-color: var(--color-point);
  }
}

.c-btn_03 {
  padding: 0.8em 1em;
  border: 1px solid var(--color-sub);
  background-color: #fff;
  border-radius: 5em;
  line-height: 1;
}
.c-btn_03.selected {
  background-color: var(--color-sub);
}
@media (hover: hover) {
  .c-btn_03:hover, .c-btn_03:focus {
    background-color: var(--color-sub);
  }
}

.c-btn_04 {
  padding: 1.5rem 3rem;
  border: 2px solid var(--color-main);
  background-color: #fff;
  border-radius: 5rem;
}
.c-btn_04 .arrow {
  vertical-align: middle;
  padding-left: 0.5rem;
}
.c-btn_04 svg {
  fill: inherit;
}
@media (hover: hover) {
  .c-btn_04:hover, .c-btn_04:focus {
    background-color: var(--color-main);
    color: #fff;
  }
  .c-btn_04:hover svg, .c-btn_04:focus svg {
    fill: #fff;
  }
}

/*------ カード -------*/
.c-card {
  border: 1px solid var(--color-line);
  border-radius: var(--radius);
  overflow: hidden;
}
.c-card .head_card {
  padding: 1rem 2rem;
  background-color: var(--color-head);
}
.c-card .body_card {
  padding: 2rem;
}
@media screen and (min-width: 768px) {
  .c-card .body_card {
    padding: 2.5rem 3rem;
  }
}

@media (hover: hover) {
  .c-hov:hover, .c-hov:focus {
    opacity: 0.8;
  }
}

/*------ テキスト -------*/
.c-color-main {
  color: var(--color-main);
}

.c-font-medium {
  font-weight: 500;
}

.c-font-bold {
  font-weight: bold;
}

.c-text-center {
  text-align: center;
}

.c-text-right {
  text-align: right;
}

.c-text-left {
  text-align: left;
}

.c-leading-wide {
  line-height: 2;
}

.c-leading-medium {
  line-height: 1.8;
}

.c-text-sm {
  font-size: 1.4rem;
}

.c-text-lg {
  font-size: 1.8rem;
}

.c-text-xl {
  font-size: 2rem;
}

/* ニュースリスト
---------------------------------------------------------- */
.l-news-list .news-item {
  display: grid;
  gap: 0.2em;
}
.l-news-list .news-item + .news-item {
  padding-top: 1.2em;
}

/* 記事詳細
---------------------------------------------------------- */
.l-article a {
  color: #077319;
  text-decoration: underline;
}
@media (hover: hover) {
  .l-article a:hover, .l-article a:focus {
    text-decoration: none;
  }
}
.l-article a:visited {
  opacity: 0.8;
}

/* パンくず
---------------------------------------------------------- */
.l-breadcrumb {
  padding: 10px 20px;
  font-size: 1.4rem;
  max-width: 1000px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .l-breadcrumb {
    padding: 20px 20px;
  }
}
.l-breadcrumb .breadcrumb-item {
  padding: 0.2em 0;
  display: inline-block;
}
.l-breadcrumb .breadcrumb-item:not(:last-child)::after {
  content: ">";
  display: inline-block;
  padding: 0 0.5em;
}