@charset "UTF-8";
/*** The new CSS reset - version 1.5.1 (last updated 1.3.2022) ***/
*:where(:not(iframe, canvas, img, svg, video):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}

*, *::before, *::after {
  box-sizing: border-box;
}

a, button {
  cursor: revert;
}

ol, ul, menu {
  list-style: none;
}

img {
  max-width: 100%;
}

table {
  border-collapse: collapse;
}

textarea {
  white-space: revert;
}

meter {
  -webkit-appearance: revert;
  appearance: revert;
}

::placeholder {
  color: unset;
}

:where([hidden]) {
  display: none;
}

:where([contenteditable]) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
}

:where([draggable=true]) {
  -webkit-user-drag: element;
}

html, body, section, main, ul, li, dl, dd, h1, h2, h3, h4, h5, a, p {
  margin: 0;
  padding: 0;
}

html, body {
  width: 100%;
  font-size: 62.5%;
  overflow: auto;
}

body {
  color: #333333;
  font-family: "YakuHanJP_Noto", "Noto Sans", "Noto Sans JP", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1.6rem;
  letter-spacing: 0;
  line-height: 1;
  font-weight: normal;
  letter-spacing: 1px;
  -webkit-font-feature-settings: "palt";
  -moz-font-feature-settings: "palt";
  -ms-font-feature-settings: "palt";
  -o-font-feature-settings: "palt";
  font-feature-settings: "palt";
}

a {
  color: #333333;
  text-decoration: none;
}
a.link__a--green {
  color: #028D48;
}

a:hover {
  text-decoration: underline;
}

img {
  max-width: 100%;
  height: auto;
  pointer-events: none;
  --webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

ul li,
ol li {
  list-style: none;
}

h2 {
  font-size: 28px;
  font-weight: bold;
  color: #028D48;
}

h3 {
  font-weight: bold;
}

p {
  line-height: 2;
  font-weight: 400;
}

table {
  width: 100%;
}
table td {
  padding: 20px;
  line-height: 3.2rem;
  border: 1px solid #CCCCCC;
}

.wrapper {
  margin: auto;
  width: 1120px;
}

.flex {
  display: flex;
}
.flex.ai_center {
  align-items: center;
}
.flex.ai_center.reverse {
  flex-direction: row-reverse;
}
.flex.jc_center {
  justify-content: center;
}
.flex.gap_20 {
  gap: 20px;
}

.col2 {
  flex-wrap: wrap;
  gap: 20px;
  justify-content: space-between;
}
.col2 > * {
  width: calc(50% - 10px);
}

.col3 {
  flex-wrap: wrap;
  justify-content: space-between;
}
.col3 > * {
  width: 33%;
}

.flex__div--liquid {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-content: flex-start;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
}
.flex__div--liquid .main {
  flex: 1;
}
.flex__div--liquid .side-235 {
  flex-basis: 235px;
}
.flex__div--liquid .side-264 {
  flex-basis: 264px;
}
.flex__div--liquid .side-360 {
  flex-basis: 360px;
}
.flex__div--liquid .side-420 {
  flex-basis: 420px;
}

.mb_0 {
  margin-bottom: 0px !important;
}

.mb_10 {
  margin-bottom: 10px !important;
}

.mb_20 {
  margin-bottom: 20px !important;
}

.mb_30 {
  margin-bottom: 30px !important;
}

.mb_40 {
  margin-bottom: 40px !important;
}

.mb_50 {
  margin-bottom: 50px !important;
}

.mb_60 {
  margin-bottom: 60px !important;
}

.mb_80 {
  margin-bottom: 80px !important;
}

.mb_100 {
  margin-bottom: 100px !important;
}

.pl_40 {
  padding-left: 40px !important;
}

.ta_c {
  text-align: center;
}
.ta_c-sp {
  text-align: inherit;
}

.ta_r {
  text-align: right;
}

.fs_14 {
  font-size: 1.4rem;
}

.fs_18 {
  font-size: 1.8rem;
}

.fs_20 {
  font-size: 2rem;
}

.fs_21 {
  font-size: 2.1rem;
}

.lh_15 {
  line-height: 1.5;
}

.bold {
  font-weight: bold;
}

a.line_anime {
  line-height: 18px;
  position: relative;
}
a.line_anime::after {
  content: "";
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 4px;
  bottom: -1px;
  left: 0;
  background-color: #34384A;
  transform-origin: bottom right;
  transition: transform 0.4s cubic-bezier(0.86, 0, 0.07, 1);
}
a.line_anime:hover::after {
  transform: scaleX(1);
  transform-origin: bottom left;
}

.btn {
  position: relative;
  margin: auto;
  padding: 20px 0;
  width: 100%;
  max-width: 300px;
  display: inline-block;
  text-align: center;
  color: #ffffff;
  background: transparent linear-gradient(180deg, #028D48 0%, #016A36 100%) 0% 0% no-repeat padding-box;
  border-radius: 5px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.btn::after {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  position: absolute;
  top: 22px;
  right: 16px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: rotate(45deg);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.btn:hover {
  text-decoration: none;
  box-shadow: 300px 0px 0px 0px rgba(255, 255, 255, 0.16) inset;
}
.btn:hover::after {
  right: 13px;
}
.btn.btn-orange {
  background: transparent linear-gradient(180deg, #F29600 0%, #F27000 100%) 0% 0% no-repeat padding-box;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

header {
  width: 100%;
  background: transparent linear-gradient(180deg, #FFFFFF 0%, #FBFBFB 67%, #F0F0F0 100%) 0% 0% no-repeat padding-box;
  /* #cta_btn {
      li {
          #btn_inquiry{
              background-image: url(../img/common/bt_contact_2.svg);
          }
          #btn_contact{
              background-image: url(../img/common/bt_request.svg);
          }
      }
  } */
}
header .flex {
  justify-content: space-between;
}
header h1 {
  padding: 14px 0;
}
header h1 img {
  width: 312px;
  height: auto;
}
header h1 a {
  display: block;
}
header #h_btn,
header #cta_btn {
  display: flex;
}
header #h_btn li a,
header #cta_btn li a {
  padding: 10px 25px;
  display: block;
  text-align: center;
  color: #ffffff;
  font-size: 15px;
  line-height: 1.2;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
header #h_btn li a:hover,
header #cta_btn li a:hover {
  opacity: 0.8;
  text-decoration: none;
}
header #h_btn li #btn_inquiry {
  margin-right: 4px;
  background: url(../img/common/bt_navi_01@2x.png) no-repeat top center/contain;
}
header #h_btn li #btn_contact {
  background: url(../img/common/bt_navi_02@2x.png) no-repeat top center/contain;
}
header .gnav {
  box-shadow: 0px 2px 6px rgba(200, 200, 200, 0.76);
}
header .gnav ul {
  display: flex;
  justify-content: center;
  align-items: center;
}
header .gnav ul li {
  position: relative;
}
header .gnav ul li a {
  padding: 16px 30px 16px;
  display: block;
  font-size: 15px;
  font-weight: bold;
}
header .gnav ul li a:hover {
  color: #000000;
  text-decoration: none;
}
header .gnav ul li a.current {
  padding-top: 18px;
  color: #028D48;
  border-bottom: 4px solid #028D48;
}
header .gnav ul li a.home {
  padding-bottom: 13px;
}
header .gnav ul li a.home img {
  height: 18px;
}
header .gnav ul li a.home:not(.line_anime) {
  padding-bottom: 11px;
}
header .gnav ul li a.home:not(.current) {
  filter: grayscale(1);
}
header .gnav ul li a span {
  display: none;
}
header .gnav ul li:hover .sub_nav {
  display: block;
}
header .gnav ul li .sub_nav {
  display: none;
  position: absolute;
  top: 52px;
  left: 0;
  z-index: 9999;
  background: #F0F0F0;
  width: 100%;
  border-radius: 0px 0px 5px 5px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
header .gnav ul li .sub_nav li {
  padding: 0 20px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
header .gnav ul li .sub_nav li:hover {
  background: #ffffff;
}
header .gnav ul li .sub_nav li a {
  padding: 16px 0;
  text-align: left;
  border-bottom: 1px solid #CCCCCC;
}

#cont06 {
  padding: 60px 0 80px;
}
#cont06 img {
  margin: auto;
  display: block;
}

footer {
  padding-bottom: 40px;
  background: transparent linear-gradient(180deg, #028D48 0%, #026534 100%) 0% 0% no-repeat padding-box;
}
footer .wrapper {
  position: relative;
}
footer nav ul {
  padding: 40px 0;
  display: flex;
  justify-content: center;
}
footer nav ul li {
  padding-bottom: 3px;
  border-left: 1px solid #ffffff;
}
footer nav ul li a {
  padding: 0 8px;
  font-size: 1.6rem;
  color: #ffffff;
}
footer nav ul li:last-child {
  border-right: 1px solid #ffffff;
}
footer p {
  padding-bottom: 20px;
  text-align: center;
  color: #ffffff;
}
footer .copy {
  font-size: 1.4rem;
}
footer #cta_btn {
  display: flex;
}
footer #cta_btn li a {
  padding: 10px 25px;
  display: block;
  text-align: center;
  color: #ffffff;
  font-size: 15px;
  line-height: 1.2;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
footer #cta_btn li a:hover {
  opacity: 0.8;
  text-decoration: none;
}
footer #cta_btn li #btn_inquiry {
  background-image: url(../img/common/bt_contact_2.svg);
}
footer #cta_btn li #btn_contact {
  background-image: url(../img/common/bt_request.svg);
}

#pageTop {
  padding: 6px 10px;
  position: absolute;
  top: -26px;
  right: 0;
  display: block;
  background-color: #028D48;
  color: #ffffff;
  font-size: 14px;
  font-weight: bold;
  border-radius: 6px 6px 0px 0px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  cursor: pointer;
}
#pageTop:hover {
  text-decoration: none;
  background: #016A36;
}

#cta_btn {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 1;
}
#cta_btn li {
  width: 50%;
}
#cta_btn li a {
  padding: 16px 0 10px;
}
#cta_btn li a#btn_inquiry, #cta_btn li a#btn_contact {
  position: relative;
  margin: 0;
  line-height: 1.4;
  background-size: contain;
  background-repeat: repeat no-repeat;
}
#cta_btn li a#btn_inquiry span, #cta_btn li a#btn_contact span {
  position: relative;
  z-index: 10;
}
#cta_btn li a#btn_inquiry::before, #cta_btn li a#btn_contact::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 35%;
  width: 80px;
  height: 60px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom left;
}
#cta_btn li a#btn_inquiry {
  background-color: #F08B00;
}
#cta_btn li a#btn_inquiry::before {
  background-image: url(../img/common/ic_contact.svg);
}
#cta_btn li a#btn_contact {
  background-color: #028D48;
}
#cta_btn li a#btn_contact::before {
  background-image: url(../img/common/ic_request.svg);
}

.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all 0.4s;
  box-sizing: border-box;
}

.menu-trigger {
  display: none;
  position: relative;
  width: 30px;
  height: 26px;
  background: none;
  border: none;
  appearance: none;
  cursor: pointer;
}
.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: #028D48;
  border-radius: 4px;
}
.menu-trigger span:nth-of-type(1) {
  top: 0;
}
.menu-trigger span:nth-of-type(2) {
  top: 11px;
}
.menu-trigger span:nth-of-type(3) {
  bottom: 0;
}
.menu-trigger.active span:nth-of-type(1) {
  transform: translateY(11px) rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2) {
  left: 50%;
  opacity: 0;
  animation: active-menu05-bar02 0.8s forwards;
}
@keyframes active-menu05-bar02 {
  100% {
    height: 0;
  }
}
.menu-trigger.active span:nth-of-type(3) {
  transform: translateY(-11px) rotate(45deg);
}

@media screen and (max-width: 1119px) {
  .wrapper {
    margin: auto;
    width: 94%;
  }

  header {
    position: fixed;
    z-index: 8888;
  }
  header .flex {
    padding: 0 4%;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    box-shadow: 0px 2px 6px rgba(200, 200, 200, 0.76);
  }
  header #h_btn {
    display: none;
    /* position: fixed;
    bottom: 0; left: 0;
    width: 100%;
    li{
        width: 50%;
        a{
            padding: 16px 0 10px;
            &#btn_inquiry,
            &#btn_contact{
                margin: 0;
                line-height: 1.4;
                background-size: cover;
                background-position-y: 4px;
            }
        }
    } */
  }
  header .menu-trigger {
    display: block;
  }
  header h1 {
    padding: 8px 0 6px;
  }
  header h1 img {
    height: 100%;
    width: 72vw;
    max-width: 290.5px;
  }
  header .gnav {
    opacity: 0;
    height: 0;
    display: none;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    position: relative;
    z-index: 2;
  }
  header .gnav.show {
    height: auto;
    opacity: 1;
    display: block;
  }
  header .gnav.show .sub_nav {
    display: block;
    position: relative;
    top: 0;
  }
  header .gnav.show .sub_nav li {
    border-bottom: none;
  }
  header .gnav ul {
    display: block;
    overflow-scrolling: touch;
    overflow-y: scroll;
    max-height: calc(100vh - 58px);
  }
  header .gnav ul li {
    background-color: #018C47;
    border-bottom: 1px solid #4EAF7F;
  }
  header .gnav ul li a {
    color: #ffffff;
    padding: 20px 14px;
  }
  header .gnav ul li a img {
    display: none;
  }
  header .gnav ul li a span {
    display: block;
  }
  header .gnav ul li a.current {
    color: #ffffff;
  }

  main {
    margin-top: 70px;
  }
}
@media screen and (max-width: 768px) {
  #cta_btn li a#btn_inquiry::before, #cta_btn li a#btn_contact::before {
    left: 10%;
  }

  footer {
    padding: 0 4% 40px;
  }
  footer nav ul {
    padding-bottom: 40px;
    display: block;
  }
  footer nav ul li {
    margin-bottom: 20px;
    border: none;
  }
  footer nav ul li:last-child {
    margin-bottom: 0;
    border: none;
  }
  footer nav ul li a {
    padding: 0;
  }
  footer p {
    padding-bottom: 40px;
    text-align: left;
    line-height: 1.5;
  }

  #pageTop {
    right: -12px;
  }

  .flex.col2, .flex.col3 {
    flex-flow: column wrap;
    gap: 20px;
  }
  .flex.col2 > *, .flex.col3 > * {
    width: 100%;
  }
  .flex__div--liquid {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .flex__div--liquid .main {
    width: 100%;
  }
  .flex__div--liquid .side-235,
.flex__div--liquid .side-264,
.flex__div--liquid .side-360,
.flex__div--liquid .side-420 {
    flex-basis: 100%;
  }

  .pc {
    display: none;
  }

  .sp {
    display: block;
  }

  img.sp {
    width: 100%;
    max-width: fit-content;
    height: auto;
    margin: 0 auto;
  }

  .ta_c-sp {
    text-align: center;
  }
}
#top_slider {
  padding: 40px 0;
}
#top_slider .sp-buttons {
  display: none;
  /* padding-top: 30px; */
}
#top_slider .sp-button {
  margin: 0 15px;
  background: #B2B2B2;
  border: none;
}
#top_slider .sp-fade-arrows {
  opacity: 1;
}
#top_slider .sp-selected-button {
  background: #028D48;
}
#top_slider .sp-arrow {
  opacity: 1;
  width: 50px;
  height: 50px;
}
#top_slider .sp-previous-arrow {
  left: calc(50% - 556px);
  background: url("../img/top/sl_ar_l.svg") no-repeat center/cover;
}
#top_slider .sp-next-arrow {
  right: calc(50% - 556px);
  background: url("../img/top/sl_ar_r.svg") no-repeat center/cover;
  transform: rotate(0);
}
#top_slider .sp-next-arrow:after, #top_slider .sp-next-arrow:before,
#top_slider .sp-previous-arrow:after, #top_slider .sp-previous-arrow:before {
  display: none;
}

#cont01 .wrapper {
  padding-bottom: 60px;
  text-align: center;
}
#cont01 #house_image {
  margin: 0 auto 60px;
}
#cont01 p {
  margin-bottom: 40px;
}

#cont02 .col2 {
  margin-bottom: 110px;
}
#cont02 .col2 > div {
  position: relative;
  padding: 20px 30px;
  border: 4px solid #8BC697;
  border-radius: 10px;
}
#cont02 .col2 > div h2 {
  margin-bottom: 10px;
  padding-bottom: 20px;
  font-size: 24px;
  text-align: center;
  border-bottom: 4px solid #8BC697;
}
#cont02 .col2 > div p {
  margin-top: 20px;
}
#cont02 .col2 .btn {
  position: absolute;
  bottom: -24px;
  right: -4px;
}
#cont02 .col3 {
  padding-top: 20px;
}
#cont02 .col3 div:not(:last-child) {
  border-right: 2px dotted #028D48;
}
#cont02 .col3 div h3 {
  padding: 10px 0;
  text-align: center;
  font-size: 20px;
  color: #028D48;
}

#cont04 {
  padding: 80px 0;
}
#cont04 .flex div {
  padding-top: 30px;
  width: 455px;
}
#cont04 .flex div h3 {
  font-size: 24px;
  color: #028D48;
}
#cont04 .flex div h2 {
  padding: 10px 0 20px;
  color: #333333;
  font-size: 48px;
  line-height: 1.2;
}
#cont04 .flex div ul {
  padding-bottom: 10px;
}
#cont04 .flex div ul li {
  padding: 4px 9px 5px;
  color: #028D48;
  font-weight: 600;
}
#cont04 .flex div ul li:first-child {
  margin-right: 2px;
  border: 1px solid #028D48;
  border-radius: 16px;
}
#cont04 .flex div p {
  margin-bottom: 40px;
}
#cont04 .flex img {
  padding-left: 20px;
  width: 645px;
}

#cont05 {
  padding: 60px 0;
  background-color: #F0F0F0;
}
#cont05 h2 {
  margin-bottom: 40px;
  font-size: 24px;
  text-align: center;
}
#cont05 dl {
  margin: auto;
  width: 100%;
  max-width: 930px;
}
#cont05 dl dt, #cont05 dl dd {
  padding: 20px 0;
  color: #666666;
  border-top: 1px dashed #333333;
  line-height: 2;
}
#cont05 dl dt a, #cont05 dl dd a {
  color: #333333;
}
#cont05 dl dt:last-of-type, #cont05 dl dd:last-of-type {
  border-bottom: 1px dashed #333333;
}
#cont05 dl {
  display: flex;
  flex-flow: row wrap;
  align-items: stretch;
}
#cont05 dl dt {
  width: 150px;
}
#cont05 dl dd {
  width: calc(100% - 150px);
}

@media screen and (max-width: 1119px) {
  #cont03 ul {
    margin-left: 10vw;
  }
}
@media screen and (max-width: 768px) {
  #cont01 h2 {
    line-height: 1.8;
  }
  #cont01 p {
    text-align: left;
  }

  #cont02 .col2 {
    position: relative;
    display: block;
  }
  #cont02 .col2 > div:nth-of-type(1) {
    margin-bottom: 90px;
  }
  #cont02 .col2 > div:nth-of-type(1) .flex {
    display: flex;
  }
  #cont02 .col2 > div:nth-of-type(1) .flex img {
    margin: 20px auto;
    display: block;
  }
  #cont02 .col2 > div:nth-of-type(1) .flex.reverse {
    flex-flow: column-reverse wrap;
  }
  #cont02 .col2 .btn {
    max-width: 300px;
    width: 80vw;
    bottom: -30px;
    right: initial;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
  #cont02 .col3 div {
    padding: 20px 0;
    display: flex;
    align-items: center;
  }
  #cont02 .col3 div:not(:last-child) {
    border-right: none;
    border-bottom: 2px dotted #028D48;
  }
  #cont02 .col3 div img {
    margin: 0 30px 0 0;
  }

  #cont04 > .flex {
    display: block;
  }
  #cont04 > .flex div {
    width: 100%;
  }
  #cont04 > .flex div h3 {
    font-size: 20px;
    text-align: center;
  }
  #cont04 > .flex div h2 {
    font-size: 30px;
    text-align: center;
  }
  #cont04 > .flex div ul {
    margin-bottom: 24px;
    justify-content: center;
  }
  #cont04 > .flex div img {
    margin-bottom: 40px;
    width: 100%;
  }
  #cont04 .btn {
    display: block;
    margin: auto;
  }

  #cont05 dl {
    display: flex;
    flex-flow: column wrap;
    width: 100%;
  }
  #cont05 dl dt, #cont05 dl dd {
    width: 100%;
  }
  #cont05 dl dt {
    padding-bottom: 5px;
  }
  #cont05 dl dt:last-of-type {
    border-bottom: none;
  }
  #cont05 dl dd {
    padding-top: 5px;
    border-top: none;
  }

  #top_slider .sp-next-arrow {
    display: none;
  }
  #top_slider .sp-previous-arrow {
    display: none;
  }
}
@media screen and (max-width: 480px) {
  #top_slider .sp-button {
    width: 10px;
    height: 10px;
  }
}
.tmpl-subpage {
  border-bottom: 1px solid #CCCCCC;
}
.tmpl-subpage header.article-header {
  position: relative;
  width: 100%;
  height: 180px;
  height: max(120px, min(20vh, 180px));
  height: clamp(120px, 20vh, 180px);
  background-image: url("/img/common/tl_down_bk.jpg");
  background-image: image-set(url("/img/common/tl_down_bk.jpg") 1x, url("/img/common/tl_down_bk@2x.jpg") 2x);
  background-image: -webkit-image-set(url("/img/common/tl_down_bk.jpg") 1x, url("/img/common/tl_down_bk@2x.jpg") 2x);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  z-index: 1;
}
.tmpl-subpage header.article-header h1.page-title {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  width: 100%;
  max-width: 1120px;
  padding: 0 16px;
  color: #fff;
  text-align: center;
  font-size: 3.2rem;
  font-size: max(2.4rem, min(3.5vw, 3.2rem));
  font-size: clamp(2.4rem, 3.5vw, 3.2rem);
  font-weight: bold;
  line-height: 3.2rem;
  letter-spacing: 0px;
}
.tmpl-subpage .subpage__inner {
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
}
.tmpl-subpage .breadcrumb {
  padding: 20px 0;
  margin-bottom: 20px;
}
.tmpl-subpage .breadcrumb ul li {
  display: inline-block;
  color: #6C6C6C;
  font-size: 12px;
}
.tmpl-subpage .breadcrumb ul li:not(:first-child):before {
  content: ">";
  margin: 0 10px;
}
.tmpl-subpage section {
  margin-bottom: 60px;
}
.tmpl-subpage section:last-of-type {
  margin-bottom: 110px;
}
.tmpl-subpage section.align-full {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-bottom: 0;
  margin-right: calc(50% - 50vw);
}
.tmpl-subpage section.area__section--link-contact {
  padding: 60px 0;
  background-color: #F1F4D7;
}
.tmpl-subpage section.area__section--link-contact .btn {
  width: 300px;
}
.tmpl-subpage section.bylaw__section--sepalator article {
  border-bottom: 1px dotted #707070;
}
.tmpl-subpage section.bylaw__section--sepalator article:last-of-type {
  border-bottom: none;
}
.tmpl-subpage article {
  margin-bottom: 60px;
}
.tmpl-subpage article:last-of-type {
  margin-bottom: 0;
}
.tmpl-subpage p {
  margin-bottom: 40px;
}
.tmpl-subpage .subpage__div--index {
  padding: 40px;
  background: #F0F0F0 0% 0% no-repeat padding-box;
  border: 1px solid #CCCCCC;
  border-radius: 6px;
  flex-basis: 65%;
}
.tmpl-subpage .subpage__div--index h2 {
  margin-bottom: 20px;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 0;
}
.tmpl-subpage .subpage__div--index ul li {
  list-style-type: disc;
  list-style-position: inside;
  color: #337516;
}
.tmpl-subpage .subpage__div--index ul li:not(last-child) {
  margin-bottom: 20px;
}
.tmpl-subpage .subpage__div--index ul li a {
  color: #337516;
  text-decoration: none;
}
.tmpl-subpage .subpage__div--index ul li a:hover {
  text-decoration: underline;
}

figure img {
  width: 100%;
  height: auto;
}
figure figcaption {
  margin: 10px 0;
  font-size: 1.4rem;
}

h2.subpage__h2--square {
  position: relative;
  margin-bottom: 50px;
  padding: 0 0 0 30px;
  color: #333333;
  font-size: 2.1rem;
  font-weight: bold;
  line-height: 3.2rem;
  border-left: 10px solid;
  border-image: linear-gradient(180deg, #67B015, #0A9044, #00572C);
  border-image-slice: 1;
}
h2.subpage__h2--square::after {
  content: "";
  position: absolute;
  bottom: -10px;
  left: -10px;
  display: block;
  width: calc(100% + 10px);
  border-bottom: 1px solid #00572C;
}

.box__div--card-tab {
  border: 1px solid;
  border-radius: 6px;
}
.box__div--card-tab h3 {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: stretch;
  color: #ffffff;
  border-radius: 6px 6px 0 0;
}
.box__div--card-tab h3 span {
  display: inline-block;
  padding: 15px 20px;
  font-size: 1.6rem;
}
.box__div--card-tab h3 span:first-of-type {
  background: #F0F0F0;
  border-radius: 6px 0 0 0;
}
.box__div--card-tab.green {
  border-color: #67AA25;
}
.box__div--card-tab.green h3 {
  background: #67AA25;
}
.box__div--card-tab.green h3 span:first-of-type {
  color: #67AA25;
}
.box__div--card-tab.orange {
  border-color: #F08B00;
}
.box__div--card-tab.orange h3 {
  background: #F08B00;
}
.box__div--card-tab.orange h3 span:first-of-type {
  color: #F08B00;
}
.box__div--card-tab .box__div--card-inner {
  margin: 20px;
}

.list__ul--check li {
  position: relative;
  padding: 0 0 0 30px;
  line-height: 2;
}
.list__ul--check li::before {
  margin-right: 2px;
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 5px;
  left: 0;
  background: url(../img/top/ic_che_cir.svg) no-repeat center/cover;
}

.list__ul--hyphen li {
  margin-bottom: 20px;
  font-weight: normal;
  border-bottom: none;
}
.list__ul--hyphen li::before {
  content: "ー";
  margin-right: 12px;
  color: #028D48;
}

.list__ol--brackets {
  margin-left: 3rem;
}
.list__ol--brackets li {
  list-style-type: none;
  counter-increment: cnt;
  line-height: 32px;
}
.list__ol--brackets li::before {
  content: "(" counter(cnt) ")";
  display: inline-block;
  width: 3rem;
  margin-left: -3rem;
}

.list__ol--number {
  margin-left: 3rem;
}
.list__ol--number li {
  list-style-type: none;
  counter-increment: cnt;
  line-height: 32px;
}
.list__ol--number li::before {
  content: counter(cnt) ".";
  display: inline-block;
  width: 3rem;
  margin-left: -3rem;
}

.btn__ul--download li a {
  display: block;
  margin-bottom: 10px;
  padding: 10px 20px;
  line-height: 2;
  background: #F0F0F0 0% 0% no-repeat padding-box;
  border: 1px solid #CCCCCC;
  border-radius: 6px;
}
.btn__ul--download li a:hover {
  text-decoration: none !important;
}
.btn__ul--download li a:hover span::after {
  animation: key-dl 0.3s ease infinite alternate;
}
.btn__ul--download li a span {
  position: relative;
}
.btn__ul--download li a[download$=".pdf"] span::after {
  margin-left: 10px;
  content: "";
  display: block;
  width: 12px;
  height: 16px;
  position: absolute;
  right: -20px;
  bottom: 1px;
  background: url(../img/common/ic_file_pdf.svg) no-repeat center/cover;
}
.btn__ul--download li a[download$=".doc"] span::after, .btn__ul--download li a[download$=".docx"] span::after {
  margin-left: 10px;
  content: "";
  display: block;
  width: 12px;
  height: 16px;
  position: absolute;
  right: -20px;
  bottom: 1px;
  background: url(../img/common/ic_word.svg) no-repeat center/cover;
}

@keyframes key-dl {
  0% {
    transform: translateY(0px);
  }
  100% {
    transform: translateY(-5px);
  }
}
.link__a--btn {
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.link__a--btn:hover {
  opacity: 0.8;
  text-decoration: none;
}

.flex__div--flow {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: space-between;
}
.flex__div--flow > * {
  flex: 1;
  position: relative;
  padding: 20px 10px;
  text-align: center;
  border: 2px solid #67AA25;
  border-radius: 6px;
}
.flex__div--flow > * .flow-no {
  position: absolute;
  top: 10px;
  left: 10px;
}
.flex__div--flow p {
  margin-bottom: 0;
}

.flex__div--flow-inner {
  display: flex;
  flex-flow: column nowrap;
}

.planning__div--wrapper {
  width: 100%;
  max-width: 740px;
  margin: 100px auto;
  padding: 30px 30px 40px;
  background: #F1F8FA;
  border: 6px solid #2B92B0;
}
.planning__div--wrapper h2 {
  margin-bottom: 20px;
  font-size: 28px;
  font-weight: 900;
  color: #2B92B0;
}

.planning__div--flex-col2 {
  display: flex;
  flex-flow: row nowrap;
  gap: 20px;
}
.planning__div--flex-col2 > div:first-child {
  position: relative;
  flex-basis: 230px;
  flex-shrink: 0;
}
.planning__div--flex-col2 .planning__img--overflow {
  position: absolute;
  bottom: 0;
  left: 0;
}

a#btn_request {
  display: inline-block;
  position: relative;
  width: 194px;
  height: 50px;
  color: #ffffff;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 50px;
  background: url(../img/home-certification/bt_request.svg) no-repeat top center/contain;
}
a#btn_request::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 70px;
  height: 50px;
  background: url(../img/home-certification/ic_request.svg) no-repeat bottom left/contain;
}

#local_nav ul {
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 0 auto;
  padding: 20px;
  color: #333333;
  font-size: 1.5rem;
  background: #F0F0F0;
}
#local_nav ul li {
  padding: 0 30px;
  font-weight: 500;
}
#local_nav ul li a.select {
  color: #028D48;
}

.bylaw__h3--center {
  margin-bottom: 40px;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
}

.member-list__nav--anchor ul {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  gap: 20px;
}
.member-list__nav--anchor ul li {
  flex: 1;
}
.member-list__nav--anchor ul li a {
  display: block;
  position: relative;
  color: #ffffff;
  font-weight: bold;
  line-height: 70px;
  text-align: center;
  border-radius: 5px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.member-list__nav--anchor ul li a.regular {
  background-color: #028D48;
}
.member-list__nav--anchor ul li a.corporate {
  background-color: #429D00;
}
.member-list__nav--anchor ul li a.individual {
  background-color: #92BC4A;
}
.member-list__nav--anchor ul li a::after {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  position: absolute;
  top: 25px;
  right: 20px;
  border-bottom: solid 2px #ffffff;
  border-right: solid 2px #ffffff;
  transform: rotate(45deg);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.member-list__nav--anchor ul li a:hover {
  text-decoration: none;
  box-shadow: 360px 0px 0px 0px rgba(255, 255, 255, 0.16) inset;
}
.member-list__nav--anchor ul li a:hover::after {
  top: 28px;
}

h2.subpage__h2--member {
  position: relative;
  margin-bottom: 50px;
  padding: 12px 30px;
  font-size: 1.8rem;
  font-weight: bold;
}
h2.subpage__h2--member::after {
  content: "";
  position: absolute;
  bottom: -3px;
  left: 0px;
  display: block;
  width: 100%;
  border-bottom: 1px solid;
}
h2.subpage__h2--member.regular {
  color: #ffffff;
  background-color: #028D48;
}
h2.subpage__h2--member.regular::after {
  border-color: #028D48;
}
h2.subpage__h2--member.corporate {
  color: #ffffff;
  background-color: #429D00;
}
h2.subpage__h2--member.corporate::after {
  border-color: #429D00;
}
h2.subpage__h2--member.individual {
  color: #ffffff;
  background-color: #92BC4A;
}
h2.subpage__h2--member.individual::after {
  border-color: #92BC4A;
}

h2.subpage__h2--underline {
  margin-bottom: 40px;
  padding-bottom: 10px;
  font-size: 2.1rem;
  font-weight: bold;
  line-height: 3.2rem;
  border-bottom: 2px solid;
}
h2.subpage__h2--underline.main-green {
  color: #028D48;
  border-color: #028D48;
}

h3.subpage__h3--underline {
  margin-bottom: 30px;
  padding-bottom: 1px;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 3.2rem;
  border-bottom: 2px solid;
}
h3.subpage__h3--underline.regular {
  color: #028D48;
  border-color: #028D48;
}
h3.subpage__h3--underline.corporate {
  color: #429D00;
  border-color: #429D00;
}
h3.subpage__h3--underline.individual {
  color: #92BC4A;
  border-color: #92BC4A;
}

#member-list .flex__div--liquid {
  gap: 50px;
}

table.member-list__table--noborder {
  margin-bottom: 30px;
}
table.member-list__table--noborder th {
  padding: 10px 30px 10px 0;
  padding-right: 30px;
  color: #028D48;
  font-size: 16px;
  font-weight: bold;
  line-height: 2.8rem;
  text-align: left;
  white-space: nowrap;
}
table.member-list__table--noborder td {
  padding: 10px 0;
  line-height: 2.8rem;
  border: none;
}

p.box__p--bg-pale-green {
  padding: 20px;
  line-height: 2.8rem;
  background-color: #F1F4D7;
  border-radius: 5px;
}

#access .flex.col2 > div {
  flex: 1;
}

/* Google Mapを囲う要素 */
.map {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 68%;
}

.map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 68%;
}

section#news-contents {
  padding-bottom: 40px;
  border-bottom: 2px solid #028D48;
}

#news-contents .news__p--date {
  margin-bottom: 5px;
  color: #666666;
}

section#news__section--prev-next {
  margin-top: 70px;
}

ul.pagination__nav--prev-next {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  gap: 30px;
  margin: 0 auto;
  color: #666666;
  font-weight: 400;
  text-align: center;
  line-height: 1;
}
ul.pagination__nav--prev-next a {
  color: #028D48;
}

section#news-archive {
  margin-top: 80px;
}

dl.archive__dl--horizontal {
  display: flex;
  flex-flow: row wrap;
  align-items: stretch;
  width: 100%;
}
dl.archive__dl--horizontal dt, dl.archive__dl--horizontal dd {
  padding: 30px 0;
  line-height: 2.4rem;
  border-top: 1px dashed #333333;
}
dl.archive__dl--horizontal dt:last-of-type, dl.archive__dl--horizontal dd:last-of-type {
  border-bottom: 1px dashed #333333;
}
dl.archive__dl--horizontal dt {
  width: 200px;
  color: #666666;
}
dl.archive__dl--horizontal dd {
  width: calc(100% - 200px);
}

ul.pagination__nav--square {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  gap: 5px;
  margin: 0 auto;
  text-align: center;
  line-height: 1;
}
ul.pagination__nav--square li {
  width: 40px;
  height: 40px;
  line-height: 40px;
  background-color: #E6E6E6;
}
ul.pagination__nav--square li a {
  display: block;
}
ul.pagination__nav--square li a:hover {
  color: #ffffff;
  background-color: #337516;
  text-decoration: none;
}
ul.pagination__nav--square li a[aria-current=page] {
  color: #ffffff;
  background-color: #028D48;
}

.subpage__h3--normal {
  margin-bottom: 20px;
  color: #028D48;
  font-size: 2rem;
  font-weight: bold;
  line-height: 3.2rem;
}
.subpage__h3--normal.fs_18 {
  font-size: 1.8rem !important;
}

p.box__p--bg-gray1 {
  padding: 20px;
  line-height: 3.2rem;
  background-color: #F0F0F0;
}

#notfound h2 {
  margin-top: 100px;
  margin-bottom: 10px;
  color: #028D48;
  font-size: 3rem;
  font-weight: bold;
  text-align: center;
}
#notfound p {
  color: #6C6C6C;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}

#page_sitemap .flex.col3 {
  gap: 20px;
  justify-content: flex-start;
}
#page_sitemap :not(.breadcrumb) ul {
  width: 32%;
}
#page_sitemap :not(.breadcrumb) ul li {
  margin-bottom: 50px;
}
#page_sitemap :not(.breadcrumb) ul li a {
  padding-bottom: 10px;
  display: block;
  line-height: 1.4;
  font-weight: bold;
  text-decoration: none;
  border-bottom: 1px solid #028D48;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
#page_sitemap :not(.breadcrumb) ul li a:hover {
  opacity: 0.8;
}
#page_sitemap :not(.breadcrumb) ul li.haschild {
  margin-bottom: 20px;
}
#page_sitemap :not(.breadcrumb) ul ul {
  width: 100%;
}
#page_sitemap :not(.breadcrumb) ul ul li {
  display: flex;
  margin-bottom: 20px;
}
#page_sitemap :not(.breadcrumb) ul ul li a {
  margin-left: 30px;
  font-weight: normal;
  text-indent: -30px;
  border-bottom: none;
}
#page_sitemap :not(.breadcrumb) ul ul li a::before {
  content: "ー";
  margin-right: 12px;
  color: #028D48;
}

#page_privacy h3 {
  margin-bottom: 40px;
  font-size: 21px;
  text-align: center;
}
#page_privacy h4, #page_privacy h5 {
  margin: 20px 0;
  font-weight: bold;
}
#page_privacy p {
  margin-bottom: 20px;
}
#page_privacy p span {
  font-weight: bold;
}
#page_privacy li {
  line-height: 2;
}

a.green_link {
  display: block;
  margin-bottom: 40px;
  color: #028D48;
  text-decoration: underline;
}
a.green_link:hover span::after {
  animation: key-dl 0.3s ease infinite alternate;
}
a.green_link span {
  position: relative;
}
a.green_link[download$=".pdf"] span::after {
  margin-left: 10px;
  content: "";
  display: block;
  width: 12px;
  height: 16px;
  position: absolute;
  right: -20px;
  bottom: 1px;
  background: url(../img/common/ic_file_pdf.svg) no-repeat center/cover;
}
a.green_link[download$=".doc"] span::after, a.green_link[download$=".docx"] span::after {
  margin-left: 10px;
  content: "";
  display: block;
  width: 12px;
  height: 16px;
  position: absolute;
  right: -20px;
  bottom: 1px;
  background: url(../img/common/ic_word.svg) no-repeat center/cover;
}

.btn__ul--link-contact {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  gap: 20px;
}
.btn__ul--link-contact li {
  /* flex: 1; */
  width: calc((100% - 20px) / 2);
}
.btn__ul--link-contact li a {
  display: block;
  position: relative;
  min-height: 70px;
  padding: 20px 30px;
  color: #ffffff;
  font-weight: bold;
  line-height: 2.8rem;
  text-align: left;
  background-color: #028D48;
  border-radius: 5px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.btn__ul--link-contact li a::after {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  position: absolute;
  top: 28px;
  right: 20px;
  border-top: solid 2px #ffffff;
  border-right: solid 2px #ffffff;
  transform: rotate(45deg);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.btn__ul--link-contact li a:hover {
  text-decoration: none;
  box-shadow: 600px 0px 0px 0px rgba(255, 255, 255, 0.16) inset;
}
.btn__ul--link-contact li a:hover::after {
  right: 17px;
}

#thanks {
  text-align: center;
}
#thanks img {
  margin: 30px auto;
}
#thanks p {
  color: #028D48;
  font-size: 2rem;
  font-weight: bold;
}

@media screen and (max-width: 1119px) {
  .tmpl-subpage .subpage__inner {
    width: 94%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  .tmpl-subpage header.article-header {
    background-image: url("/img/common/tl_down_bk_sp.jpg");
    background-image: image-set(url("/img/common/tl_down_bk_sp.jpg") 1x, url("/img/common/tl_down_bk_sp@2x.jpg") 2x);
    background-image: -webkit-image-set(url("/img/common/tl_down_bk_sp.jpg") 1x, url("/img/common/tl_down_bk_sp@2x.jpg") 2x);
  }
  .tmpl-subpage section.area__section--link-contact {
    padding: 60px 0;
  }
  .tmpl-subpage section.area__section--link-contact .flex {
    flex-flow: column wrap;
  }

  .flex__div--flow {
    flex-direction: column;
    gap: 10px;
  }
  .flex__div--flow > * .flow-no {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 10px;
    margin: auto;
  }
  .flex__div--flow.mb_20 {
    margin-bottom: 10px !important;
  }

  .flex__div--flow-inner {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    gap: 10px;
    margin-left: 40px;
  }
  .flex__div--flow-inner > * {
    text-align: left;
  }

  .planning__div--wrapper {
    padding: 30px 10px 40px;
  }
  .planning__div--wrapper h2 {
    text-align: center;
  }

  .planning__div--flex-col2 {
    display: flex;
    flex-flow: column wrap;
    gap: 4px;
  }
  .planning__div--flex-col2 > div:first-child {
    position: relative;
    flex-basis: 100px;
    flex-shrink: 0;
    min-height: 100px;
  }
  .planning__div--flex-col2.mb_20 {
    margin-bottom: 0 !important;
  }
  .planning__div--flex-col2 .planning__img--overflow {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
  }

  #local_nav {
    width: 94%;
    margin: 16px auto 0;
  }
  #local_nav ul {
    display: flex;
    justify-content: flex-start;
    flex-flow: row wrap;
    width: 100%;
    margin: 0 auto;
    padding: 0;
    background: #ffffff;
    gap: 4px;
  }
  #local_nav ul li {
    width: calc((100% - 8px) / 3);
    height: 45px;
    padding: 0;
    text-align: center;
    line-height: 45px;
    background: #F0F0F0;
  }

  .member-list__nav--anchor ul {
    flex-flow: column wrap;
  }

  #member-list .flex__div--liquid {
    gap: 40px;
  }

  .map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  #sitemap.subpage__inner .flex.col3 {
    display: block;
    gap: 0px;
  }
  #sitemap.subpage__inner ul {
    width: 100%;
  }

  #page_sitemap ul {
    width: 100% !important;
  }

  .btn__ul--link-contact {
    flex-flow: column wrap;
  }
  .btn__ul--link-contact li {
    flex: 1;
    width: 100%;
  }

  dl.archive__dl--horizontal {
    display: flex;
    flex-flow: column wrap;
    width: 100%;
  }
  dl.archive__dl--horizontal dt, dl.archive__dl--horizontal dd {
    width: 100%;
  }
  dl.archive__dl--horizontal dt {
    padding-bottom: 5px;
  }
  dl.archive__dl--horizontal dt:last-of-type {
    border-bottom: none;
  }
  dl.archive__dl--horizontal dd {
    padding-top: 5px;
    border-top: none;
  }
}
/*# sourceMappingURL=style.css.map */