/* Common CSS */
/* _setting CSS */
*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html,
body {
  background: #fff;
  font-size: 62.5%;
  position: relative;
}

img {
  display: block;
  width: 100%;
  height: auto;
}

/* ___________________Link */
a {
  color: #2e683a;
  text-decoration: none;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
a:hover {
  opacity: 0.7;
}

/* ___________________Font */
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
form,
fieldset,
legend,
input,
textarea,
p,
blockquote,
th,
td {
  color: #251e1c;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  margin: 0;
  padding: 0;
}

.fade_left,
.fade_right,
.fade_btm,
.fade_scale {
  opacity: 0;
}

@media screen and (min-width: 781px) {
  body {
    min-width: 1240px;
  }

  .sp {
    display: none;
  }

  #header {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 100;
    visibility: inherit;
    width: 38px;
    height: 38px;
  }
  #header input#button_menu {
    display: none;
  }
  #header .button_menu {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: absolute;
    right: 58px;
    top: 47px;
    z-index: 102;
    gap: 9px;
  }
  #header .button_menu .line {
    display: block;
    background-color: #2e683a;
    width: 100%;
    height: 3px;
    border-radius: 999px;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
    -webkit-transform-origin: center;
            transform-origin: center;
  }
  #header #gnav {
    width: 362px;
    height: 420px;
    background-color: #145521;
    opacity: 0.9;
    position: absolute;
    z-index: 101;
    top: 0;
    right: 0;
    -webkit-transition: 0.4s ease;
    transition: 0.4s ease;
    -webkit-transform: translateX(370px);
            transform: translateX(370px);
    padding: 120px 30px 0;
  }
  #header #gnav .gnav_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 45px;
  }
  #header #gnav .gnav_list .gnav_item a {
    color: #fff;
    font-weight: 900;
    letter-spacing: 0.08em;
    font-size: 1.8rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 15px;
    line-height: 1.3;
  }
  #header #gnav .gnav_list .gnav_item a::before {
    content: "";
    display: block;
    width: 14px;
    height: 3px;
    margin-top: 12px;
    background-color: #fff;
  }
  #header:has(input#button_menu:checked) .button_menu .line {
    background-color: #fff;
  }
  #header:has(input#button_menu:checked) .button_menu .line:nth-child(1) {
    -webkit-transform: rotate(180deg) translateY(-6px) rotate(45deg);
            transform: rotate(180deg) translateY(-6px) rotate(45deg);
  }
  #header:has(input#button_menu:checked) .button_menu .line:nth-child(2) {
    -webkit-transform: rotate(180deg) translateY(6px) rotate(-45deg);
            transform: rotate(180deg) translateY(6px) rotate(-45deg);
  }
  #header:has(input#button_menu:checked) #gnav {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }

  #footer {
    margin-top: 100px;
    padding: 60px 0;
    background-color: #2e683a;
  }
  #footer p {
    color: #fff;
    text-align: center;
    font-size: 1.8rem;
    letter-spacing: 0.08em;
    font-weight: bold;
  }

  .btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 450px;
    height: 96px;
    border: 4px solid #2e683a;
    border-radius: 999px;
    position: relative;
    font-size: 2.4rem;
    line-height: 1.5;
    font-weight: bold;
    letter-spacing: 0.025em;
    color: #2e683a;
    text-align: center;
    padding: 8px 25px 8px 0;
  }
  .btn span {
    font-size: 1.4rem;
    font-weight: bold;
    letter-spacing: 0;
  }
  .btn svg {
    width: 26px;
    height: auto;
    position: absolute;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    top: 50%;
    right: 25px;
    color: #fff;
  }
  .btn svg .circ {
    color: #2e683a;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
  .btn svg .tri {
    color: #fff;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
  .btn:hover {
    background-color: #2e683a;
    color: #fff;
    opacity: 1;
  }
  .btn:hover svg .circ {
    color: #fff;
  }
  .btn:hover svg .tri {
    color: #2e683a;
  }
  .btn.lgreen {
    border-color: #97b83c;
    background-color: #97b83c;
    color: #fff;
    font-weight: 400;
    display: block;
  }
  .btn.lgreen svg .circ {
    color: #fff;
  }
  .btn.lgreen svg .tri {
    color: #97b83c;
  }
  .btn.lgreen:hover {
    background-color: #fff;
    color: #97b83c;
    opacity: 1;
  }
  .btn.lgreen:hover svg .circ {
    color: #97b83c;
  }
  .btn.lgreen:hover svg .tri {
    color: #fff;
  }
  .btn.lblue {
    border-color: #84c0c5;
    background-color: #84c0c5;
    color: #fff;
    font-weight: 400;
  }
  .btn.lblue svg .circ {
    color: #fff;
  }
  .btn.lblue svg .tri {
    color: #84c0c5;
  }
  .btn.lblue:hover {
    background-color: #fff;
    color: #84c0c5;
    opacity: 1;
  }
  .btn.lblue:hover svg .circ {
    color: #84c0c5;
  }
  .btn.lblue:hover svg .tri {
    color: #fff;
  }
}
@media screen and (max-width: 780px) {
  .pc {
    display: none;
  }

  #header {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 100;
    visibility: inherit;
    width: 8vw;
    height: 3.2vw;
  }
  #header input#button_menu {
    display: none;
  }
  #header .button_menu {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: absolute;
    right: 4vw;
    top: 5.33333vw;
    z-index: 102;
  }
  #header .button_menu .line {
    display: block;
    background-color: #2e683a;
    width: 100%;
    height: 0.8vw;
    border-radius: 999px;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
    -webkit-transform-origin: center;
            transform-origin: center;
  }
  #header #gnav {
    width: 100vw;
    height: 106.66667vw;
    background-color: #145521;
    opacity: 0.9;
    position: absolute;
    z-index: 101;
    top: 0;
    right: 0;
    -webkit-transition: 0.4s ease;
    transition: 0.4s ease;
    -webkit-transform: translateY(-109.33333vw);
            transform: translateY(-109.33333vw);
    padding: 18.66667vw 5.86667vw 0;
  }
  #header #gnav .gnav_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10.66667vw;
  }
  #header #gnav .gnav_list .gnav_item a {
    color: #fff;
    font-weight: 900;
    letter-spacing: 0.08em;
    font-size: 3.73333vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 2.13333vw;
    line-height: 1.3;
  }
  #header #gnav .gnav_list .gnav_item a::before {
    content: "";
    display: block;
    width: 3.2vw;
    height: 0.53333vw;
    margin-top: 2.4vw;
    background-color: #fff;
  }
  #header:has(input#button_menu:checked) .button_menu .line {
    background-color: #fff;
  }
  #header:has(input#button_menu:checked) .button_menu .line:nth-child(1) {
    -webkit-transform: rotate(180deg) translateY(-1.33333vw) rotate(45deg);
            transform: rotate(180deg) translateY(-1.33333vw) rotate(45deg);
  }
  #header:has(input#button_menu:checked) .button_menu .line:nth-child(2) {
    -webkit-transform: rotate(180deg) translateY(1.06667vw) rotate(-45deg);
            transform: rotate(180deg) translateY(1.06667vw) rotate(-45deg);
  }
  #header:has(input#button_menu:checked) #gnav {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }

  #footer {
    margin-top: 6.66667vw;
    padding: 5.86667vw 0;
    background-color: #2e683a;
  }
  #footer p {
    color: #fff;
    text-align: center;
    font-size: 4vw;
    letter-spacing: 0.08em;
    font-weight: bold;
  }

  .btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 78.93333vw;
    height: 16.8vw;
    border: 0.8vw solid #2e683a;
    border-radius: 999px;
    position: relative;
    font-size: 4.8vw;
    font-weight: bold;
    letter-spacing: 0.025em;
    color: #2e683a;
    text-align: center;
    padding: 0.53333vw 5.33333vw 0.53333vw 0;
  }
  .btn span {
    font-size: 2.93333vw;
    font-weight: bold;
    letter-spacing: 0;
  }
  .btn svg {
    width: 5.33333vw;
    height: auto;
    position: absolute;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    top: 50%;
    right: 4.8vw;
    color: #fff;
  }
  .btn svg .circ {
    color: #2e683a;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
  .btn svg .tri {
    color: #fff;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
  .btn:hover {
    background-color: #2e683a;
    color: #fff;
    opacity: 1;
  }
  .btn:hover svg .circ {
    color: #fff;
  }
  .btn:hover svg .tri {
    color: #2e683a;
  }
  .btn.lgreen {
    width: 100%;
    border-color: #97b83c;
    background-color: #97b83c;
    color: #fff;
    font-weight: 500;
    display: block;
  }
  .btn.lgreen svg .circ {
    color: #fff;
  }
  .btn.lgreen svg .tri {
    color: #97b83c;
  }
  .btn.lgreen:hover {
    background-color: #fff;
    color: #97b83c;
    opacity: 1;
  }
  .btn.lgreen:hover svg .circ {
    color: #97b83c;
  }
  .btn.lgreen:hover svg .tri {
    color: #fff;
  }
  .btn.lblue {
    width: 100%;
    border-color: #84c0c5;
    background-color: #84c0c5;
    color: #fff;
    font-weight: 500;
  }
  .btn.lblue svg .circ {
    color: #fff;
  }
  .btn.lblue svg .tri {
    color: #84c0c5;
  }
  .btn.lblue:hover {
    background-color: #fff;
    color: #84c0c5;
    opacity: 1;
  }
  .btn.lblue:hover svg .circ {
    color: #84c0c5;
  }
  .btn.lblue:hover svg .tri {
    color: #fff;
  }
}
