@charset "UTF-8";
html {
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

main {
  display: block;
}

a {
  background-color: transparent;
}

img {
  border-style: none;
}

*, *:before, *:after {
  box-sizing: border-box;
}

html {
  color: #000;
  font-family: "M PLUS 1p", "Noto Sans JP", "Hiragino Sans", "ヒラギノ角ゴシック", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", "Meiryo", "メイリオ", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
  font-size: 4vw;
  font-weight: 500;
  line-height: 1.5333333333;
  scroll-behavior: smooth;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}
@media screen and (min-width: 750px) {
  html {
    font-size: 30px;
  }
}

body {
  background: #fff linear-gradient(143deg, rgba(172, 212, 234, 0.6) 0%, rgba(129, 164, 98, 0.21) 12.4%, rgba(246, 233, 221, 0.6) 26.9%, rgba(242, 219, 232, 0.6) 44.1%, rgba(233, 215, 231, 0.6) 58%, rgba(253, 252, 230, 0.6) 65.3%, rgba(225, 212, 230, 0.6) 87.5%, rgba(171, 212, 234, 0.6) 100%) 0 0/100% 100% no-repeat;
  background-attachment: fixed;
  height: 100%;
  position: relative;
  width: 100%;
}

main {
  padding-top: 3.9333333333rem;
}

h1, h2, h3, h4, h5, h6, p, figure {
  margin: 0;
}

h1, h2, h3, h4, h5, h6 {
  line-height: 1;
}

a {
  text-decoration: none;
  transition: color 0.15s ease-out;
}

figure,
picture {
  display: block;
}
figure > img,
picture > img {
  display: block;
  height: auto;
  width: 100%;
}

.page__container {
  background-color: #fff;
  margin: 0 auto;
  max-width: 750px;
  width: 100%;
}

.main__gradient-bg {
  background: #fff linear-gradient(172.81deg, rgba(172, 212, 234, 0.09) 0%, rgba(156, 194, 184, 0.13) 3.7%, rgba(142, 178, 138, 0.17) 7.64%, rgba(132, 168, 109, 0.19) 10.68%, rgba(129, 164, 98, 0.21) 12.41%, rgba(175, 191, 147, 0.34) 17.59%, rgba(226, 221, 200, 0.5) 23.86%, rgba(246, 233, 221, 0.59) 26.92%, rgba(242, 219, 232, 0.59) 44.07%, rgba(233, 215, 231, 0.59) 57.97%, rgba(235, 220, 231, 0.59) 58.65%, rgba(248, 243, 230, 0.59) 62.77%, rgba(253, 252, 230, 0.59) 65.33%, rgba(245, 241, 230, 0.59) 70.9%, rgba(225, 212, 230, 0.59) 87.46%, rgba(172, 212, 234, 0.59) 98.58%);
}

.cmn__marginline {
  margin-left: 2rem;
  margin-right: 2rem;
}

dl.cmn__datalist {
  margin: 0;
}
dl.cmn__datalist dt {
  background: #493216 url(../img/summa-dt-orn.svg) 100% 100%/1.6241333333rem auto no-repeat;
  color: #fff;
  font-size: 1rem;
  font-weight: normal;
  line-height: 2.3333333333;
  margin: 1.2666666667rem auto;
  text-align: center;
  width: 17.3333333333rem;
}
dl.cmn__datalist dd {
  margin: 0;
  text-align: center;
}
dl.cmn__datalist dd p.desc {
  font-size: 0.8666666667rem;
  line-height: 1.7692307692;
}
dl.cmn__datalist dd p.note {
  font-size: 0.6666666667rem;
  font-weight: normal;
  line-height: 1.4;
  margin-top: 0.3em;
}

/*--- 臨時ツメ設定 ---*/
span {
  letter-spacing: calc(var(--ls) * 0.01em);
}

.fadein {
  opacity: 0;
  transform: translateY(5vh);
  transition: opacity 1s ease-out, transform 1s ease-out;
}
.fadein.faded {
  opacity: 1;
  transform: translateY(0);
}

.ffs-palt {
  -moz-font-feature-settings: "palt";
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
}

.ffs-kern {
  -moz-font-feature-settings: "kern";
  -webkit-font-feature-settings: "kern";
  font-feature-settings: "kern";
}

.fvea-pw {
  font-variant-east-asian: proportional-width;
}

.opti {
  letter-spacing: -0.045em;
}

.sr-only {
  display: none;
}

@media screen and (min-width: 750px) {
  .sp-only {
    display: none;
  }
}

#pagemenu {
  background-color: #fff;
  height: 100vh;
  height: 100svh;
  left: 0;
  opacity: 0;
  padding-top: 7.3333333333rem;
  position: fixed;
  top: -100vh;
  transition-duration: 0.5s, 0.2s;
  transition-property: opacity, top;
  transition-timing-function: ease-out;
  width: 100vw;
  width: 100svw;
  z-index: 9;
}
#pagemenu.opened {
  top: 0;
  opacity: 1;
}
#pagemenu ul {
  display: flex;
  flex-direction: column;
  font-size: 1.0666666667rem;
  gap: 3.8rem;
  line-height: 1.75;
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: center;
}
#pagemenu ul > li > a {
  color: #98832b;
}

header {
  align-items: center;
  background-color: #fff;
  display: grid;
  grid-template-areas: ". logo btn";
  grid-template-columns: 16.267% 1fr 16.267%;
  height: 3.9333333333rem;
  overflow: hidden;
  position: fixed;
  width: 100%;
  z-index: 10;
}
@media screen and (min-width: 750px) {
  header {
    width: 750px;
  }
}
header .link {
  grid-area: logo;
  height: 100%;
  justify-self: center;
  width: 5.6rem;
}
header .link > a {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  background: url(../img/logo-forestana.svg) 50% 50%/contain no-repeat;
  display: block;
  height: 100%;
  width: 100%;
}
header .menutoggle {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  background: url(../img/menu-btn-open.svg) 0 0/contain no-repeat;
  cursor: pointer;
  grid-area: btn;
  height: 3.2rem;
  width: 3.2rem;
}
header .menutoggle.opened {
  background-image: url(../img/menu-btn-close.svg);
}

.title__sect {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  aspect-ratio: 375/402;
  background: url(../img/title-visual-25.webp) 0 0/cover no-repeat;
}
@media screen and (min-width: 750px) {
  .title__sect {
    background-image: url(../img/title-visual-50.webp);
  }
}

.summa__sect {
  padding-top: 1.0666666667rem;
}
.summa__sect p.lead {
  font-size: 1.0666666667rem;
  line-height: 2.0625;
  text-align: center;
}
.summa__sect picture {
  margin-top: 1.2rem;
}
.summa__sect h3 {
  font-weight: 500;
  text-align: center;
  font-size: 1.2rem;
  line-height: 1.5555555556;
  margin-top: 1.8rem;
}
.summa__sect ol {
  list-style: none;
  margin-bottom: 0;
  margin-top: 1.8rem;
  padding-left: 0;
}
.summa__sect ol li {
  background-color: #fff;
  background-position: 1.3333333333rem 50%;
  background-repeat: no-repeat;
  background-size: 2.1333333333rem auto;
  border-radius: 0.2666666667rem;
  font-size: 0.9333333333rem;
  line-height: 1.4285714286;
  padding: 0.6666666667rem 0 0.6666666667rem 4.2666666667rem;
}
.summa__sect ol li:nth-of-type(1) {
  background-image: url(../img/summa-ol-n1a.svg);
}
.summa__sect ol li:nth-of-type(2) {
  background-image: url(../img/summa-ol-n2a.svg);
}
.summa__sect ol li:nth-of-type(3) {
  background-image: url(../img/summa-ol-n3a.svg);
}
.summa__sect ol li + li {
  margin-top: 0.7333333333rem;
}

h2.arrow {
  background-image: url(../img/heading-line2.svg), url(../img/heading-arrow.svg);
  background-position: 0 0, 0 100%;
  background-repeat: no-repeat;
  background-size: 100% auto;
  color: #98832b;
  font-size: 1.2666666667rem;
  font-weight: 500;
  line-height: 1.3157894737;
  padding: 0.6666666667rem 0 1.6666666667rem;
  text-align: center;
}

.facil__sect {
  padding-top: 4rem;
}
.facil__sect article picture {
  margin: 0 1rem;
}
.facil__sect article .post-head:not(.no-icon) {
  display: grid;
  grid-template-areas: ". title icon";
  grid-template-columns: 2.5333333333rem 1fr 2.5333333333rem;
}
.facil__sect article .post-head h3 {
  display: flex;
  flex-direction: column;
  font-size: 1.2rem;
  font-weight: 500;
  gap: 1.0666666667rem;
  grid-area: title;
  line-height: 1.3333333333;
  padding-top: 1rem;
  text-align: center;
}
.facil__sect article .post-head h3:after {
  background-color: #98832b;
  content: "";
  display: block;
  height: 0.0666666667rem;
  margin: 0 auto;
  width: 7.4666666667rem;
}
.facil__sect article .post-head .icon {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  background-position: 0 0.6666666667rem;
  background-repeat: no-repeat;
  background-size: contain;
  grid-area: icon;
}
.facil__sect article .post-head .icon.uten {
  background-image: url(../img/facil-icon-uten.png);
}
.facil__sect article .post-head .icon.kosa {
  background-image: url(../img/facil-icon-kosame.png);
}
.facil__sect article p.post-desc {
  font-size: 0.9333333333rem;
  font-weight: 400;
  line-break: strict;
  line-height: 1.4285714286;
  margin-top: 1.2rem;
  text-align: justify;
}
.facil__sect article ul.asobi-list {
  display: grid;
  gap: 0.2rem;
  grid-template-columns: repeat(2, 0.5fr);
  list-style: none;
  margin: 1.2rem 0 0;
  padding: 0;
}
.facil__sect article ul.asobi-list > li {
  background-color: #fff;
  border-radius: 1.1363636364em;
  color: #98832b;
  font-size: 0.7333333333rem;
  font-weight: 400;
  letter-spacing: -0.09em;
  line-height: 2.2727272727em;
  text-align: center;
}
.facil__sect article dl {
  display: grid;
  font-weight: 400;
  gap: 0.4333333333rem 0.5333333333rem;
  grid-template-columns: 3.8666666667rem 1fr;
  margin: 1.2rem 0 0;
}
.facil__sect article dl dt {
  background-color: #98832b;
  border-radius: 1.9333333333rem;
  color: #fff;
  font-size: 0.8rem;
  height: max-content;
  line-height: 1.2333333333rem;
  text-align: center;
}
.facil__sect article dl dd {
  font-size: 0.8666666667rem;
  line-height: 1.3846153846;
  margin-left: 0;
}
.facil__sect article dl dd > ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.facil__sect article dl dd > ul li + li {
  margin-top: 0.1333333333rem;
}
.facil__sect article dl dd > ul + ul {
  margin-top: 0.5333333333rem;
}
.facil__sect article dl + p.note {
  font-size: 0.7333333333rem;
  font-weight: 400;
  line-height: 1.4545454545;
  margin-top: 0.5454545455em;
}
.facil__sect article div.post-link {
  margin-left: auto;
  margin-right: auto;
  margin-top: 1.7333333333rem;
  width: max-content;
}
.facil__sect article div.post-link > a {
  align-items: center;
  background-color: #fff;
  border: 0.0666666667rem solid #98832b;
  color: #98832b;
  display: flex;
  font-size: 0.8666666667rem;
  font-weight: 400;
  gap: 0.3846153846em;
  justify-content: center;
  line-height: 2.4rem;
  padding: 0 1.5384615385em;
}
.facil__sect article div.post-link > a::after {
  background: url(../img/facil-linkarrow.svg) 0 50%/contain no-repeat;
  content: "";
  height: 1rem;
  width: 0.5066666667rem;
}
.facil__sect article div.post-link.short > a {
  padding: 0 1.6666666667rem;
}
.facil__sect h2 + article {
  margin-top: 1.4rem;
}
.facil__sect article + article {
  margin-top: 2.8rem;
}

.howto__sect {
  padding-top: 4rem;
  padding-bottom: 1.6rem;
}
.howto__sect div[class*=howto__step] h3 {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  border: 0.0666666667rem solid #98832b;
  border-radius: 50%;
  height: 5.6666666667rem;
  margin: 0 auto;
  width: 5.6666666667rem;
}
.howto__sect div[class*=howto__step] h4 {
  background: linear-gradient(180deg, transparent 58.621%, #fff 58.621%);
  color: #98832b;
  font-size: 1.2666666667rem;
  font-weight: 500;
  letter-spacing: -0.015em;
  margin: 1.2666666667rem auto 0;
  padding: 0.3333333333rem 0;
  text-align: center;
}
.howto__sect div[class*=howto__step] h4 + p {
  margin-top: 1rem;
  text-align: center;
}
.howto__sect div[class*=howto__step] picture.step1-1 {
  margin: 1.2rem 1rem 0;
}
.howto__sect div[class*=howto__step] figure.step1-2,
.howto__sect div[class*=howto__step] figure.step2 {
  width: 17.2rem;
  margin: 1.2rem auto 0;
}
.howto__sect div.howto__step1 {
  margin-top: 1.6rem;
}
.howto__sect div.howto__step1 h3 {
  background-image: url(../img/howto-step1-title.png);
}
.howto__sect div.howto__step1 h4 {
  width: 15.8666666667rem;
}
.howto__sect div.howto__step2 {
  background: url(../img/howto-step2-divider.svg) 50% 0/9.3333333333rem auto no-repeat;
  margin-top: 3rem;
  padding-top: 2.3333333333rem;
}
.howto__sect div.howto__step2 h3 {
  background-image: url(../img/howto-step2-title.png);
}
.howto__sect div.howto__step2 h4 {
  width: 19.2rem;
}
.howto__sect dl.cmn__datalist {
  margin-top: 3.4666666667rem;
}

footer {
  background-color: #fff;
  padding: 1.8666666667rem 0 1.4rem;
}
footer ul {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0.8rem;
  line-height: 1.5;
  font-weight: 400;
  text-align: justify;
}
footer div.copyright {
  font-size: 0.5333333333rem;
  font-weight: 400;
  line-height: 1;
  margin-top: 1.7333333333rem;
  text-align: center;
}
/*# sourceMappingURL=style.css.map */
