:root {
  --stroke: 4%;
  --inner: 15%;
}

/* ==========================================================================
   Foundation
   ========================================================================== */
/* Color
   ========================================================================== */
/* Weight
   ========================================================================== */
/* header
   ========================================================================== */
/* Font Size
   ========================================================================== */
/* Media Queries
   ========================================================================== */
/**
   * Breakpoints2
   */
:root {
  --is-tablet: false;
  --is-mobile: false;
}
@media (max-width: 960px) {
  :root {
    --is-tablet: true;
  }
}
@media (max-width: 640px) {
  :root {
    --is-mobile: true;
  }
}

/* Project
   ----------------------------------------------------------------- */
.accordion dt {
  padding: 1rem 1rem 1rem 1rem;
  border-radius: 4px;
  background-color: rgba(39, 43, 47, 0.1);
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: auto;
  -ms-grid-columns: -webkit-max-content 1rem auto 1rem 1fr 1rem -webkit-max-content;
  -ms-grid-columns: max-content 1rem auto 1rem 1fr 1rem max-content;
      grid-template: "day icon title plus" auto/max-content auto 1fr -webkit-max-content;
      grid-template: "day icon title plus" auto/max-content auto 1fr max-content;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  cursor: pointer;
}
@media print, screen and (min-width: 641px) and (max-width: 960px) {
  .accordion dt {
    -ms-grid-rows: auto auto;
    -ms-grid-columns: auto 1fr -webkit-max-content;
    -ms-grid-columns: auto 1fr max-content;
        grid-template: "day icon plus" auto "title title title" auto/auto 1fr -webkit-max-content;
        grid-template: "day icon plus" auto "title title title" auto/auto 1fr max-content;
  }
}
@media screen and (max-width: 640px) {
  .accordion dt {
    -ms-grid-rows: auto auto;
    -ms-grid-columns: auto 1fr -webkit-max-content;
    -ms-grid-columns: auto 1fr max-content;
        grid-template: "day icon plus" auto "title title title" auto/auto 1fr -webkit-max-content;
        grid-template: "day icon plus" auto "title title title" auto/auto 1fr max-content;
  }
}
.accordion dt .day {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: day;
}
.accordion dt .icon {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  grid-area: icon;
}
.accordion dt .title {
  -ms-grid-row: 1;
  -ms-grid-column: 5;
  grid-area: title;
}
.accordion dt::after {
  -ms-grid-row: 1;
  -ms-grid-column: 7;
  grid-area: plus;
  content: "";
  display: block;
  width: 2rem;
  height: 2rem;
  background: #8ab027;
  clip-path: polygon(calc(50% - var(--stroke)) var(--inner), calc(50% + var(--stroke)) var(--inner), calc(50% + var(--stroke)) calc(50% - var(--stroke)), calc(100% - var(--inner)) calc(50% - var(--stroke)), calc(100% - var(--inner)) calc(50% + var(--stroke)), calc(50% + var(--stroke)) calc(50% + var(--stroke)), calc(50% + var(--stroke)) calc(100% - var(--inner)), calc(50% - var(--stroke)) calc(100% - var(--inner)), calc(50% - var(--stroke)) calc(50% + var(--stroke)), var(--inner) calc(50% + var(--stroke)), var(--inner) calc(50% - var(--stroke)), calc(50% - var(--stroke)) calc(50% - var(--stroke)));
  -webkit-transition: -webkit-transform 0.3s ease-in;
  transition: -webkit-transform 0.3s ease-in;
  transition: transform 0.3s ease-in;
  transition: transform 0.3s ease-in, -webkit-transform 0.3s ease-in;
}
@media print, screen and (min-width: 641px) and (max-width: 960px) {
  .accordion dt .day {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .accordion dt .icon {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .accordion dt .title {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
  .accordion dt::after {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
}
@media screen and (max-width: 640px) {
  .accordion dt .day {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .accordion dt .icon {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .accordion dt .title {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
  .accordion dt::after {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
}
.accordion dt.active::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.accordion dd {
  border-top: rgba(39, 43, 47, 0.3);
  background-color: rgba(39, 43, 47, 0.05);
  max-height: 0;
  overflow: hidden;
  margin: 0;
  padding: 0 3rem;
  -webkit-transition: max-height 0.3s ease;
  transition: max-height 0.3s ease;
}
.accordion dd + dt {
  margin-top: 1rem;
}
.accordion dd.open {
  padding: 2rem 3rem 4rem;
}
.accordion .icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.4rem;
}

.link {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: -webkit-max-content 0.4rem -webkit-max-content;
  -ms-grid-columns: max-content 0.4rem max-content;
  grid-template-columns: -webkit-max-content -webkit-max-content;
  grid-template-columns: max-content max-content;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 0.4rem;
  margin-top: 1rem;
  color: #628211;
}
.link::after {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  background: #628211;
  --stroke: calc(4% / 1.4);
  --inner: 16%;
  clip-path: polygon(calc(25% + var(--inner) / 2 + var(--stroke)) calc(0% + var(--inner) - var(--stroke)), calc(75% - var(--inner) / 2 + var(--stroke) * 2) 50%, calc(25% + var(--inner) / 2 + var(--stroke)) calc(100% - var(--inner) + var(--stroke)), calc(25% + var(--inner) / 2 - var(--stroke)) calc(100% - var(--inner) - var(--stroke)), calc(75% - var(--inner) / 2 - var(--stroke) * 2) 50%, calc(25% + var(--inner) / 2 - var(--stroke)) calc(0% + var(--inner) + var(--stroke)));
}

.contents .right {
  text-align: right;
}
.contents p + p {
  margin-top: 1rem;
}
.contents h6 {
  background-color: rgba(138, 176, 39, 0.3);
  margin: 1rem 0 0.5rem;
  padding: 0.6rem 1rem;
  font-size: larger;
}
.contents .appendBox {
  margin: 1rem 0;
  padding: 1rem;
  background: #fff;
  border: 1px solid #ccc;
  height: 150px;
  overflow-y: scroll;
}

.l-contents-wrap {
  margin-top: 80px;
  margin-bottom: 80px;
}

table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #fff;
}
table th {
  text-align: left;
  background: #9bbe47;
  color: #fff;
  padding: 1em;
  border: 2px solid #fff;
  font-weight: bold;
}
@media screen and (max-width: 640px) {
  table th {
    border-width: 0 0 1px;
    vertical-align: top;
  }
}
table td {
  text-align: left;
  padding: 1em;
  border-bottom: 2px solid #fff;
  background: #f5f6f2;
}
@media screen and (max-width: 640px) {
  table th, table td {
    display: block;
    width: 100%;
    font-size: clamp(0.75rem, 0.6590909091rem + 0.4545454545vw, 1rem);
  }
}
table th a, table td a {
  -webkit-transition: color 0.3s ease-in-out;
  transition: color 0.3s ease-in-out;
}
table th a::after, table td a::after {
  -webkit-transition: color 0.3s ease-in-out;
  transition: color 0.3s ease-in-out;
}
@media (any-hover: hover) {
  table th a:hover, table td a:hover {
    color: #8ab027;
  }
  table th a:hover::after, table td a:hover::after {
    color: #8ab027;
  }
}
table strong {
  font-weight: 700;
  color: rgb(82.8, 105.6, 23.4);
}

.announceContact {
  background-color: rgba(136, 183, 97, 0.1);
  margin-top: 4rem;
  padding: 2rem;
}
.announceContact .hedding {
  margin-bottom: 1rem;
  font-weight: bold;
  color: #628211;
  line-height: 1;
}
.announceContact .contact {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
}
@media print, screen and (min-width: 641px) and (max-width: 960px) {
  .announceContact .contact {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
.announceContact .suptel span {
  font-size: small;
}
.announceContact .tel {
  display: block;
  font-size: 2rem;
  font-style: normal;
  color: #8ab027;
}
.announceContact .btn {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1rem -webkit-max-content;
  -ms-grid-columns: 1fr 1rem max-content;
  grid-template-columns: 1fr -webkit-max-content;
  grid-template-columns: 1fr max-content;
  gap: 1rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 320px;
  max-width: 100%;
  padding: 1rem;
  border-radius: 100vmax;
  background: -webkit-gradient(linear, left top, right top, from(rgb(170.4790697674, 212.1906976744, 61.8093023256)), to(#8ab027));
  background: linear-gradient(90deg, rgb(170.4790697674, 212.1906976744, 61.8093023256), #8ab027);
  font-weight: 700;
  text-align: center;
  color: #fff;
  -webkit-filter: brightness(100%);
          filter: brightness(100%);
  -webkit-transition: -webkit-filter 0.3s ease-in;
  transition: -webkit-filter 0.3s ease-in;
  transition: filter 0.3s ease-in;
  transition: filter 0.3s ease-in, -webkit-filter 0.3s ease-in;
}
.announceContact .btn .icon {
  display: block;
  width: 1rem;
  height: 1rem;
  background: white;
  --stroke: calc(4% / 1.4);
  --inner: 16%;
  clip-path: polygon(calc(25% + var(--inner) / 2 + var(--stroke)) calc(0% + var(--inner) - var(--stroke)), calc(75% - var(--inner) / 2 + var(--stroke) * 2) 50%, calc(25% + var(--inner) / 2 + var(--stroke)) calc(100% - var(--inner) + var(--stroke)), calc(25% + var(--inner) / 2 - var(--stroke)) calc(100% - var(--inner) - var(--stroke)), calc(75% - var(--inner) / 2 - var(--stroke) * 2) 50%, calc(25% + var(--inner) / 2 - var(--stroke)) calc(0% + var(--inner) + var(--stroke)));
}
.announceContact .btn + p {
  color: rgba(51, 51, 51, 0.6);
  text-indent: 1rem;
  line-height: 2;
}
.announceContact .btn:hover {
  -webkit-filter: brightness(110%);
          filter: brightness(110%);
}