@charset "UTF-8";
/*------------------
	FLEXBOX
------------------*/
/*------------------
	フォント
------------------*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Baskervville:wght@500&display=swap");
/*------------------
	ブレイクポイント
------------------*/
/*--------------
	アニメ
--------------*/
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(50px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes faderight {
  from {
    opacity: 0;
    transform: translateX(30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fadeleft {
  from {
    opacity: 0;
    transform: translateX(-300px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes scaleIn {
  from {
    opacity: 0;
    transform: scale(0.8);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes arrow {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-30px);
  }
}
@keyframes reveal {
  to {
    -webkit-mask-position: 0% 0%;
    mask-position: 0% 0%;
  }
}
@keyframes rev_reveal {
  to {
    -webkit-mask-position: 100% 0%;
    mask-position: 100% 0%;
  }
}
/*--画像の大きさ--*/
/*--VW計算--*/
img {
  max-width: 100%;
}

html {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 18px;
}
@media screen and (max-width: 1200px) {
  html {
    font-size: min(3.7333333333vw, 28px);
  }
}

main {
  width: 100%;
  max-width: 1920px;
  margin: auto;
  background-color: #fffcf1;
  color: #383d3b;
}

.pd {
  padding: 7.8125vw 0;
}
@media screen and (max-width: 1200px) {
  .pd {
    padding: 20vw 0;
  }
}

.greenbg {
  background-color: #e3f7e6;
  border-radius: 5.2083333333vw;
}
@media screen and (max-width: 1200px) {
  .greenbg {
    border-radius: 13.3333333333vw;
  }
}

.forsp {
  display: none;
}
@media screen and (max-width: 1200px) {
  .forsp {
    display: inline-block;
  }
}

.forpc {
  display: inline-block;
}
@media screen and (max-width: 1200px) {
  .forpc {
    display: none;
  }
}

.mainbox {
  width: 1200px;
  margin: auto;
}
@media screen and (max-width: 1200px) {
  .mainbox {
    width: 92vw;
    max-width: 690px;
    margin: auto;
  }
}

/*--------------
    mv
--------------*/
@media screen and (max-width: 1200px) {
  .mv {
    text-align: center;
  }
}
.mv__wrap {
  position: relative;
}
.mv h2 {
  position: absolute;
  width: 35.9375%;
  max-width: 690px;
  bottom: 27.198%;
  left: 14.11%;
  transition: 0.3s all ease;
}
@media (hover: hover) {
  .mv h2:hover {
    filter: brightness(1.2);
  }
}
@media screen and (max-width: 1200px) {
  .mv h2 {
    width: 85.3333333333%;
    max-width: 640px;
    bottom: 10.6%;
    left: 0;
    right: 0;
    margin: auto;
  }
}

/*--------------
    共通パーツ
--------------*/
.sec_titbox {
  margin-bottom: 3.44em;
}
@media screen and (max-width: 1200px) {
  .sec_titbox {
    margin-bottom: 2em;
  }
}

.sec_tit {
  font-weight: bold;
  text-align: center;
  font-size: 2.77em;
  margin-bottom: 0.9em;
}
@media screen and (max-width: 1200px) {
  .sec_tit {
    font-size: 1.78em;
    line-height: 1.5;
  }
}
.sec_tit:before {
  content: "";
  display: inline-block;
  width: 3.5rem;
  height: 2.27rem;
  background: url("../img/homeico.png") no-repeat center/contain;
  vertical-align: middle;
  margin-right: 0.3em;
}
@media screen and (max-width: 1200px) {
  .sec_tit:before {
    width: 2.25rem;
    height: 1.46rem;
  }
}

.sec_sub {
  text-align: center;
  letter-spacing: 0.025em;
}
@media screen and (max-width: 1200px) {
  .sec_sub {
    font-size: 1em;
    line-height: 1.7;
  }
}

/*--------------
    個別
--------------*/
.subsidy .tabbox__tabs {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  cursor: pointer;
}
.subsidy .tabbox__tab {
  background-color: #b6e6d1;
  color: #fff;
  font-size: 1.33em;
  font-weight: bold;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1.3em 0;
  width: 24.3%;
  border-radius: 20px 20px 0 0;
  border-bottom: 5px solid #fffcf1;
  transition: 0.3s ease all;
}
@media (hover: hover) {
  .subsidy .tabbox__tab:hover {
    background-color: #89d3b3;
  }
}
@media screen and (max-width: 1200px) {
  .subsidy .tabbox__tab {
    width: calc(25% - 0.3em);
    text-align: center;
    padding: 0.5em 0;
    font-size: 1em;
    border-radius: 2.6666666667vw 2.6666666667vw 0 0;
  }
}
.subsidy .tabbox__tab.active {
  background-color: #57b38a;
  border-bottom: 5px solid #57b38a;
}
@media screen and (max-width: 1200px) {
  .subsidy .tabbox__items {
    height: auto;
  }
}
.subsidy .tabbox__items li {
  display: none;
}
.subsidy .tabbox__items li.active {
  display: block;
}
.subsidy__att {
  margin-top: 1.5em;
  font-size: 0.8em;
  line-height: 1.8;
  text-indent: -1em;
  padding-left: 1em;
}
@media screen and (max-width: 1200px) {
  .subsidy__att {
    font-size: 0.88em;
  }
}
.subsidy__link {
  color: #269060;
  display: inline-block;
  text-decoration: underline;
}
@media screen and (max-width: 1200px) {
  .subsidy__link {
    margin-left: 1em;
  }
}

.targetchart .sec_titbox {
  margin-bottom: 0.8em;
}
.targetchart__wrap {
  position: relative;
}
.targetchart__btn {
  position: absolute;
  bottom: 7%;
  left: 7%;
  transition: 0.3s ease filter;
}
@media (hover: hover) {
  .targetchart__btn:hover {
    filter: brightness(1.2);
  }
}
@media screen and (max-width: 1200px) {
  .targetchart__btn {
    bottom: 4.8%;
    left: 0;
    right: 0;
    margin: auto;
    width: 94.2028985507%;
    max-width: 650px;
  }
}

.begin__wrap {
  background-color: #57b38a;
  color: #fff;
  padding: 1.5em 1.5em 2em;
  border-radius: 15px;
  display: grid;
  row-gap: 1.5em;
}
@media screen and (max-width: 1200px) {
  .begin__wrap {
    padding: 0.8em 0.8em 2em;
    row-gap: 2.5em;
  }
}
.begin__head {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 1200px) {
  .begin__head {
    flex-flow: row wrap;
    row-gap: 3%;
  }
}
@media screen and (max-width: 1200px) {
  .begin__head > li {
    width: 48.5%;
  }
}
.begin__movie {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 1200px) {
  .begin__movie {
    flex-direction: column;
    justify-content: center;
    row-gap: 1.3em;
  }
}
.begin__movie > li {
  width: 564px;
}
@media screen and (max-width: 1200px) {
  .begin__movie > li {
    width: 100%;
  }
}
.begin__movie > li [data-movie] {
  cursor: pointer;
  transition: 0.3s ease filter;
}
@media (hover: hover) {
  .begin__movie > li [data-movie]:hover {
    filter: brightness(1.2);
  }
}
.begin__movie-tit {
  padding-top: 0.8em;
  line-height: 1.8;
  font-weight: bold;
  font-size: 0.88em;
}
@media screen and (max-width: 1200px) {
  .begin__movie-tit {
    font-size: 1em;
    padding-top: 0.5em;
    line-height: 1.5;
  }
}
.begin .btnsus {
  justify-self: center;
  transition: 0.3s ease filter;
}
@media (hover: hover) {
  .begin .btnsus:hover {
    filter: brightness(1.2);
  }
}
@media screen and (max-width: 1200px) {
  .begin .btnsus {
    margin-top: -0.5em;
  }
}

.faq .sec_titbox {
  margin-bottom: 0;
  position: relative;
  padding-bottom: 1px;
}
@media screen and (max-width: 1200px) {
  .faq .sec_tit {
    text-align: left;
  }
}
.faq .faqimg {
  position: absolute;
  right: 65px;
  bottom: 0;
}
@media screen and (max-width: 1200px) {
  .faq .faqimg {
    width: 25.9420289855%;
    max-width: 179px;
    right: 2vw;
  }
}
.faq .faqwrap {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-direction: column;
  row-gap: 15px;
}
.faq .faqwrap .ques {
  background-color: #fff;
  border-radius: 20px;
  padding: 1.8em 1.5em;
  cursor: pointer;
}
@media screen and (max-width: 1200px) {
  .faq .faqwrap .ques {
    padding: 1em 1em 1em 0.5em;
  }
}
.faq .faqwrap .ques__ico {
  color: #269060;
  font-size: 1.66em;
}
.faq .faqwrap .ques__wrap {
  font-weight: bold;
  display: grid;
  grid-template-columns: 30px 1fr 36px;
  align-items: center;
  -moz-column-gap: 0.8em;
       column-gap: 0.8em;
}
@media screen and (max-width: 1200px) {
  .faq .faqwrap .ques__wrap {
    grid-template-columns: min(30px, 5.0724637681vw) 1fr 1.2em;
    align-items: flex-start;
  }
}
.faq .faqwrap .ques__txt {
  font-size: 1.11em;
}
@media screen and (max-width: 1200px) {
  .faq .faqwrap .ques__txt {
    line-height: 1.5;
  }
}
.faq .faqwrap .ques .check {
  position: relative;
  display: block;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #3a913f;
}
@media screen and (max-width: 1200px) {
  .faq .faqwrap .ques .check {
    width: 1.5em;
    height: 1.5em;
  }
}
.faq .faqwrap .ques .check::before, .faq .faqwrap .ques .check::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 18px;
  height: 3px;
  background: #fdd23c;
  transform: translate(-50%, -50%);
  transition: transform 0.3s ease;
}
@media screen and (max-width: 1200px) {
  .faq .faqwrap .ques .check::before, .faq .faqwrap .ques .check::after {
    width: 0.8em;
    height: 2px;
  }
}
.faq .faqwrap .ques .check::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.faq .faqwrap .ans {
  line-height: 2;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
}
@media screen and (max-width: 1200px) {
  .faq .faqwrap .ans {
    line-height: 1.8;
    font-size: 1em;
  }
}
.faq .faqwrap .ans__inner {
  display: grid;
  grid-template-columns: 30px 1fr 36px;
  -moz-column-gap: 0.8em;
       column-gap: 0.8em;
  padding-top: 0.5em;
}
@media screen and (max-width: 1200px) {
  .faq .faqwrap .ans__inner {
    grid-template-columns: min(36px, 4.8vw) 1fr;
  }
}
.faq .faqwrap .ans__ico {
  color: #57b38a;
  font-weight: bold;
  font-size: 1.66em;
}
.faq .faqwrap .ans__txt {
  font-size: 1rem;
  padding-top: 0.5em;
}
.faq .faqwrap .acd_active .check::after {
  transform: translate(-50%, -50%) rotate(0deg);
}

.end {
  padding: 7.8125vw 0 5.2083333333vw;
}
@media screen and (max-width: 1200px) {
  .end {
    padding: 20vw 0 10.6666666667vw;
  }
}
.end__wrap {
  position: relative;
  background-color: #e3f7e6;
  border-radius: 15px;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 60px 0;
  row-gap: 20px;
}
@media screen and (max-width: 1200px) {
  .end__wrap {
    padding: 8.6956521739vw 0;
    row-gap: 1em;
  }
}
.end__wrap > a {
  transition: 0.3s ease filter;
}
@media (hover: hover) {
  .end__wrap > a:hover {
    filter: brightness(1.2);
  }
}
@media screen and (max-width: 1200px) {
  .end__wrap > a {
    width: 86.6666666667%;
    max-width: 650px;
  }
}
.end__imgbox {
  position: absolute;
  top: -120px;
  left: 0;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  width: 100%;
  padding: 0 60px;
}
@media screen and (max-width: 1200px) {
  .end__imgbox {
    top: -13%;
    padding: 0 0.5em;
  }
}
@media screen and (max-width: 1200px) {
  .end__imgbox-item1 {
    width: 22.5333333333%;
    max-width: 169px;
  }
}
@media screen and (max-width: 1200px) {
  .end__imgbox-item2 {
    width: 23.0666666667%;
    max-width: 173px;
  }
}
.end__title {
  font-size: 2em;
  font-weight: bold;
}
.end__subtxt {
  margin-bottom: 1.5em;
}
@media screen and (max-width: 1200px) {
  .end__subtxt {
    text-align: center;
    line-height: 1.8;
    margin-bottom: 1em;
  }
}

.footer {
  padding-top: 3.3854166667vw;
  padding-bottom: 3.3854166667vw;
}
@media screen and (max-width: 1200px) {
  .footer {
    padding-top: 2em;
    padding-bottom: 2em;
  }
}

.copyright {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #383d3b;
  font-size: 0.88em;
}
@media screen and (max-width: 1200px) {
  .copyright {
    text-align: center;
    font-size: 0.8em;
  }
}

#mask {
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.65);
  align-items: center;
  justify-content: center;
}
#mask .closebtn {
  position: absolute;
  top: -70px;
  right: -70px;
  width: 70px;
  height: 70px;
  cursor: pointer;
}
@media screen and (max-width: 1200px) {
  #mask .closebtn {
    top: -50px;
    right: 0;
    width: 50px;
    height: 50px;
  }
}
#mask .closebtn::before, #mask .closebtn::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 2px;
  background-color: #fff;
  transform: translate(-50%, -50%) rotate(45deg);
}
#mask .closebtn::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

#modalwrap {
  position: relative;
}
#modalwrap iframe {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 560/315;
  border: none;
}

.modalopen {
  position: fixed;
  width: 100%;
}
.modalopen #mask {
  display: flex;
}/*# sourceMappingURL=style.css.map */