@charset "UTF-8";
.main .request .wrap .text .catch::before, .main section.plan .body .headline .catch::before, .main .body:is(body.login *) .ttl .ja::before, .main .body:is(body.login *) .text::before,
.main .body:is(body.login *) .error::before, .main .body:is(body.login *) .flow .list .item .text::before, .main .request .wrap .text .catch::after, .main section.plan .body .headline .catch::after, .main .body:is(body.login *) .ttl .ja::after, .main .body:is(body.login *) .text::after,
.main .body:is(body.login *) .error::after, .main .body:is(body.login *) .flow .list .item .text::after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}
.main .request .wrap .text .catch::before, .main section.plan .body .headline .catch::before, .main .body:is(body.login *) .ttl .ja::before, .main .body:is(body.login *) .text::before,
.main .body:is(body.login *) .error::before, .main .body:is(body.login *) .flow .list .item .text::before {
  margin-bottom: calc((1em - 1lh) / 2);
}
.main .request .wrap .text .catch::after, .main section.plan .body .headline .catch::after, .main .body:is(body.login *) .ttl .ja::after, .main .body:is(body.login *) .text::after,
.main .body:is(body.login *) .error::after, .main .body:is(body.login *) .flow .list .item .text::after {
  margin-top: calc((1em - 1lh) / 2);
}

.main .request .wrap .text .ttl, .main .gallery .ttl, .main .download .list .item .name .en, .main section.limited .ttl, .main section.limited .catch .en, .main section.limited--02 .ttl, .main section.limited--02 .catch .en, .main section.plan .ttl, .main section.plan .sttl, .main section.plan .catch .en, .main section.plan .prepend .name, .main section.plan .prepend .spec .plan, .main section.plan .prepend .spec .size .num, .main section.plan .body .point .legend, .main section.plan .body .point .list li .num, .main .body:is(body.login *) .ttl .en, .main .body:is(body.login *) .login .form form .submit, .main .body:is(body.login *) .flow .list .item .num {
  font-family: "Forum", serif;
  line-height: 0.8;
}

@media (prefers-reduced-motion: no-preference) {
  .main .download .list::before, .main section.limited::before, .main section.limited .inner::before, .main section.limited--02 .inner::before, .main section.plan::before, .main section.plan .inner::before, .main .body:is(body.login *)::before, .main .download .list::after, .main section.limited::after, .main section.limited .inner::after, .main section.limited--02 .inner::after, .main section.plan::after, .main section.plan .inner::after, .main .body:is(body.login *)::after {
    animation: flowPetal 4s infinite alternate;
    opacity: 0;
    transform: translate3d(0, -20%, 0);
    transition: 2.4s 0.8s;
    transition-property: opacity transform;
  }
  @keyframes flowPetal {
    0% {
      translate: 0 -0.1rem 0;
    }
    100% {
      translate: 0 0 0;
    }
  }
  .main .download .scrollIn.list::before, .main section.scrollIn.limited::before, .main section.limited .scrollIn.inner::before, .main section.limited--02 .scrollIn.inner::before, .main section.scrollIn.plan::before, .main section.plan .scrollIn.inner::before, .main .scrollIn.body:is(body.login *)::before, .main .download .scrollIn.list::after, .main section.scrollIn.limited::after, .main section.limited .scrollIn.inner::after, .main section.limited--02 .scrollIn.inner::after, .main section.scrollIn.plan::after, .main section.plan .scrollIn.inner::after, .main .scrollIn.body:is(body.login *)::after {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.main .request {
  padding: 2.1rem 0 0;
}
@media screen and (max-width: 750px) {
  .main .request {
    padding: 1.5rem 0 0;
  }
}
.main .request::before {
  content: "";
  display: block;
  width: 3.68rem;
  aspect-ratio: 368/262;
  position: absolute;
  top: -0.45rem;
  right: calc(50% + 3.67rem);
  background: url(../imgs/sakura01.png) 0 0/contain no-repeat;
}
@media screen and (max-width: 750px) {
  .main .request::before {
    width: 1.84rem;
    right: auto;
    top: -0.4rem;
    left: 0;
  }
}
.main .request .wrap {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 750px) {
  .main .request .wrap {
    display: block;
  }
}
.main .request .wrap .text {
  width: 4.6rem;
  padding: 0.75rem 0 0;
}
@media screen and (max-width: 750px) {
  .main .request .wrap .text {
    width: auto;
    padding: 0;
  }
}
.main .request .wrap .text .ttl {
  background: #333 url(../imgs/bg-txt01.png) -1.4rem -1.3rem/2.95rem auto no-repeat;
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
  font-size: 0.7rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1;
}
.main .request .wrap .text .catch {
  padding: 0.65rem 0 0;
  font-size: 0.28rem;
  line-height: 0.44rem;
  letter-spacing: 0.045em;
}
@media screen and (max-width: 750px) {
  .main .request .wrap .text .catch {
    padding: 0.6rem 0 0;
    font-size: 0.36rem;
    line-height: 1.5;
  }
}
.main .request .wrap .text p {
  padding: 0.5rem 0 0;
  line-height: 0.3rem;
  white-space: nowrap;
}
@media screen and (max-width: 750px) {
  .main .request .wrap .text p {
    padding: 0.4rem 0 0;
    line-height: inherit;
    white-space: normal;
  }
}
.main .request .wrap .text .cv {
  margin: 0.6rem 0 0;
}
.main .request .wrap .text .cv a {
  height: 0.9rem;
  font-size: 0.2rem;
}
@media screen and (max-width: 750px) {
  .main .request .wrap .text .cv a {
    height: 1.1rem;
    font-size: 0.28rem;
  }
}
.main .request .wrap .image {
  width: 9rem;
}
@media screen and (max-width: 750px) {
  .main .request .wrap .image {
    width: auto;
    margin: 0.6rem 0 0;
  }
}
.main .gallery {
  margin: 2.5rem 0 0;
}
@media screen and (max-width: 750px) {
  .main .gallery {
    margin: 1.5rem 0 0;
  }
}
.main .gallery .ttl {
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .main .gallery .ttl {
    font-size: 0.8rem;
  }
}
.main .gallery .slider {
  margin: 0.55rem 0 0;
  position: relative;
}
@media screen and (max-width: 750px) {
  .main .gallery .slider {
    margin: 0.6rem 0 0;
  }
}
.main .gallery .slider .swiper-button-prev,
.main .gallery .slider .swiper-button-next {
  width: 0.8rem;
  height: 0.8rem;
  margin: -0.4rem 0 0;
  background: #998f8e 50% 50%/0.2rem auto no-repeat;
  border-radius: 50%;
  opacity: 1;
  box-shadow: 0.11rem 0.16rem 0.29rem 0.01rem rgba(0, 0, 0, 0.1);
}
.main .gallery .slider .swiper-button-prev::after,
.main .gallery .slider .swiper-button-next::after {
  content: none;
}
.main .gallery .slider .swiper-button-prev {
  left: -1.2rem;
  background-image: url(../../assets/imgs/arw01_wr.svg);
}
@media screen and (max-width: 750px) {
  .main .gallery .slider .swiper-button-prev {
    left: -0.2rem;
  }
}
.main .gallery .slider .swiper-button-next {
  right: -1.2rem;
  background-image: url(../../assets/imgs/arw01_w.svg);
}
@media screen and (max-width: 750px) {
  .main .gallery .slider .swiper-button-next {
    right: -0.2rem;
  }
}
.main .gallery .thumnail {
  display: flex;
  gap: 0.3rem;
  margin: 0.3rem 0 0;
}
@media screen and (max-width: 750px) {
  .main .gallery .thumnail {
    flex-wrap: wrap;
    gap: 0.1rem;
    margin: 0.2rem 0 0;
  }
}
.main .gallery .thumnail li {
  display: grid;
  width: calc((100% - 1.5rem) / 6);
}
@media screen and (max-width: 750px) {
  .main .gallery .thumnail li {
    width: calc((100% - 0.2rem) / 3);
  }
}
.main .gallery .thumnail li img {
  grid-area: 1/1;
}
.main .gallery .thumnail li::after {
  content: "";
  display: block;
  grid-area: 1/1;
  width: 100%;
  height: 100%;
  box-shadow: inset 0 0 0 0.05rem #78aa9f;
  opacity: 0;
  transition: opacity 0.4s;
}
@media screen and (max-width: 750px) {
  .main .gallery .thumnail li::after {
    box-shadow: inset 0 0 0 0.1rem #78aa9f;
  }
}
.main .gallery .thumnail li.active::after {
  opacity: 0.9;
}
@media screen and (hover: hover) and (pointer: fine) {
  .main .gallery .thumnail li:hover::after {
    opacity: 0.9;
  }
}
.main .download {
  margin: 1rem 0 0;
}
.main .download .list {
  display: flex;
  max-width: 12.8rem;
  margin-inline: auto;
  padding: 0.8rem 0;
  position: relative;
  background: #fff repeating-linear-gradient(#998f8e, #998f8e 0.02rem, transparent 0.02rem, transparent 0.05rem) 50% 50%/0.01rem calc(100% - 1.6rem) no-repeat;
  box-shadow: 0 0 0.57rem 0.03rem rgba(224, 241, 237, 0.8);
}
@media screen and (max-width: 750px) {
  .main .download .list {
    display: block;
    padding: 0.6rem 0.4rem;
    background-image: none;
  }
}
.main .download .list::before {
  content: "";
  display: block;
  width: 1.09rem;
  aspect-ratio: 1;
  position: absolute;
  top: -0.06rem;
  left: -0.06rem;
  background: url(../imgs/blt01.png) 0 0/contain no-repeat;
}
.main .download .list .item {
  width: 50%;
}
@media screen and (max-width: 750px) {
  .main .download .list .item {
    width: auto;
  }
  .main .download .list .item + .item {
    margin: 0.6rem 0 0;
    border-top: 0.01rem dotted #998f8e;
    padding: 0.6rem 0 0;
  }
}
.main .download .list .item .name .en {
  background: #594847 url(../imgs/bg-txt02.png) 50% -0.9rem/1.92rem auto no-repeat;
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
  font-size: 0.2rem;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .main .download .list .item .name .en {
    font-size: 0.36rem;
  }
}
.main .download .list .item .name .ja {
  margin: 0.3rem 0 0;
  font-size: 0.28rem;
  letter-spacing: 0.045em;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .main .download .list .item .name .ja {
    margin: 0.2rem 0 0;
    font-size: 0.44rem;
  }
}
.main .download .list .item .image {
  width: 3.48rem;
  margin: 0.6rem auto 0;
}
@media screen and (max-width: 750px) {
  .main .download .list .item .image {
    width: auto;
  }
}
.main .download .list .item .pdf {
  display: grid;
  place-items: center;
  width: 4rem;
  height: 0.7rem;
  margin: 0.1rem auto 0;
  background: #998f8e url(../imgs/ico-pdf.svg) calc(100% - 0.23rem) 50%/0.18rem auto no-repeat;
  color: #fff;
  box-shadow: 0.06rem 0.08rem 0.19rem 0.08rem rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 750px) {
  .main .download .list .item .pdf {
    width: auto;
    height: 1.1rem;
  }
}
.main section.limited {
  padding: 0;
  position: relative;
}
@media screen and (max-width: 750px) {
  .main section.limited {
    padding: 0;
    overflow: hidden;
  }
}
.main section.limited::before {
  content: "";
  display: block;
  width: 3.67rem;
  aspect-ratio: 367/310;
  position: absolute;
  top: -2rem;
  right: 1.5rem;
  background: url(../imgs/img-leaf03.png) 0 0/contain no-repeat;
  z-index: 99;
}
@media screen and (max-width: 750px) {
  .main section.limited::before {
    width: 1.84rem;
    right: -0.7rem;
    top: 0.1rem;
  }
}
.main section.limited .ttl {
  font-size: 0.2rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  text-align: center;
  padding-top: 0.6rem;
}
@media screen and (max-width: 750px) {
  .main section.limited .ttl {
    font-size: 0.8rem;
  }
}
.main section.limited .catch {
  margin: 0.3rem 0 0;
  font-size: 0.28rem;
  text-align: center;
}
.main section.limited .inner {
  box-sizing: border-box;
  max-width: 12.8rem;
  margin: 0.6rem auto 0;
  padding: 0 0.8rem 0.8rem;
  background: #fff;
  position: relative;
  box-shadow: 0 0 0.57rem 0.03rem rgba(224, 241, 237, 0.8);
}
@media screen and (max-width: 750px) {
  .main section.limited .inner {
    margin: 0.6rem -0.4rem;
    padding: 0 0.4rem 0.6rem;
  }
}
.main section.limited .inner::before, .main section.limited .inner::after {
  content: "";
  display: block;
}
.main section.limited .inner::before {
  width: 2.4rem;
  aspect-ratio: 240/310;
  position: absolute;
  bottom: -1.38rem;
  left: -0.06rem;
  background: url(../../assets/imgs/leaf_240x310_2.png) 0 0/contain no-repeat;
}
@media screen and (max-width: 750px) {
  .main section.limited .inner::before {
    width: 1.2rem;
    bottom: -0.8rem;
    left: -0.4rem;
  }
}
.main section.limited .inner::after {
  position: absolute;
  width: 0.8rem;
  height: 0.03rem;
  background-color: #78aa9f;
  top: 0;
  transform: translate(-50%, 0);
  left: 50%;
}
.main section.limited .items {
  display: grid;
  margin: 0.8rem 0 0;
  display: grid;
  grid-template-columns: 3.4rem 3.4rem;
  grid-template-rows: 3.4rem;
  grid-gap: 0.1rem;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 750px) {
  .main section.limited .items {
    margin-top: 0.4rem;
    grid-gap: 0.2rem;
    grid-template-columns: repeat(2, 1fr);
  }
}
.main section.limited .item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  height: 100%;
  position: relative;
}
.main section.limited .item a::before {
  content: "";
  display: block;
  position: absolute;
  margin: auto;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  background-image: url(../imgs/img-movie02.jpg);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
@media screen and (hover: hover) and (pointer: fine) {
  .main section.limited .item a:hover {
    opacity: 0.6;
  }
}
.main section.limited .item + * a::before {
  background-image: url(../imgs/img-limited01.png);
}
.main section.limited .item span {
  position: relative;
  color: #FFF;
  font-size: 0.34rem;
}
.main section.limited .item span::after {
  content: "";
  display: block;
  position: absolute;
  margin: auto;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  background-image: url(../imgs/ico-arrow01.png);
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 0.4rem;
  transform: translate(-50%, 0);
  left: 50%;
  bottom: -0.8rem;
}
.main section.limited .catch {
  margin: 0.6rem 0 0;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .main section.limited .catch {
    margin-top: 0.3rem;
  }
}
.main section.limited .catch .ja {
  margin-inline: auto;
}
@media screen and (max-width: 750px) {
  .main section.limited .catch .ja {
    font-size: 0.32rem;
    line-height: 1.5;
    text-align: left;
  }
}
.main section.limited .catch .en {
  margin: 0.24rem 0 0;
  color: #c2d5d2;
  font-size: 0.15rem;
  letter-spacing: 0.02em;
  line-height: 0.2rem;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .main section.limited .catch .en {
    padding: 0.4rem 0 0;
    font-size: 0.28rem;
  }
}
.main section.limited--02 {
  border-top: 0.01rem solid #c2d5d2;
}
.main section.limited--02 .ttl {
  font-size: 0.2rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  text-align: center;
  padding-top: 0.6rem;
}
@media screen and (max-width: 750px) {
  .main section.limited--02 .ttl {
    font-size: 0.8rem;
  }
}
.main section.limited--02 .catch {
  margin: 0.2rem 0 0;
  padding: 0.3rem 0 0;
  font-size: 0.2rem;
  text-align: center;
}
.main section.limited--02 .inner {
  box-sizing: border-box;
  max-width: 12.8rem;
  margin: 0.6rem auto 0;
  padding: 0 0.8rem 0.8rem;
  background: #fff;
  position: relative;
}
@media screen and (max-width: 750px) {
  .main section.limited--02 .inner {
    margin: 0.6rem -0.4rem;
    padding: 0 0.4rem 0.6rem;
  }
}
.main section.limited--02 .inner::before, .main section.limited--02 .inner::after {
  content: "";
  display: block;
}
.main section.limited--02 .items {
  display: grid;
  margin: 0.4rem 0 0;
  display: grid;
  grid-template-columns: 3.4rem 3.4rem;
  grid-template-rows: 3.4rem;
  grid-gap: 0.1rem;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 750px) {
  .main section.limited--02 .items {
    margin-top: 0.4rem;
    grid-gap: 0.2rem;
    grid-template-columns: repeat(2, 1fr);
  }
}
.main section.limited--02 .item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  height: 100%;
  position: relative;
}
.main section.limited--02 .item a::before {
  content: "";
  display: block;
  position: absolute;
  margin: auto;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  background-image: url(../imgs/img-movie02.jpg);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
@media screen and (hover: hover) and (pointer: fine) {
  .main section.limited--02 .item a:hover {
    opacity: 0.6;
  }
}
.main section.limited--02 .item + * a::before {
  background-image: url(../imgs/img-limited01.png);
}
.main section.limited--02 .item a.is-disabled {
  pointer-events: none;
  cursor: default;
}
.main section.limited--02 .item span {
  position: relative;
  color: #FFF;
  font-size: 0.34rem;
}
.main section.limited--02 .catch {
  margin: 0.4rem 0 0;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .main section.limited--02 .catch {
    margin-top: 0.3rem;
  }
}
.main section.limited--02 .catch .ja {
  margin-inline: auto;
}
@media screen and (max-width: 750px) {
  .main section.limited--02 .catch .ja {
    font-size: 0.32rem;
    line-height: 1.5;
    text-align: left;
  }
}
.main section.limited--02 .catch .en {
  margin: 0.24rem 0 0;
  color: #c2d5d2;
  font-size: 0.15rem;
  letter-spacing: 0.02em;
  line-height: 0.2rem;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .main section.limited--02 .catch .en {
    padding: 0.4rem 0 0;
    font-size: 0.28rem;
  }
}
.main div.special-movie {
  position: relative;
}
@media screen and (max-width: 750px) {
  .main div.special-movie {
    overflow: hidden;
  }
}
.main div.special-movie::before {
  content: "";
  display: block;
  width: 3.67rem;
  aspect-ratio: 367/310;
  position: absolute;
  top: -2rem;
  right: 1.5rem;
  background: url(../imgs/img-leaf03.png) 0 0/contain no-repeat;
  z-index: 99;
}
@media screen and (max-width: 750px) {
  .main div.special-movie::before {
    width: 1.84rem;
    right: -1rem;
    top: -0.5rem;
  }
}
.main div.special-movie .inner {
  position: relative;
}
.main div.special-movie .inner::before, .main div.special-movie .inner::after {
  content: "";
  display: block;
}
.main div.special-movie .inner::before {
  width: 2.4rem;
  aspect-ratio: 240/310;
  position: absolute;
  bottom: -1.38rem;
  left: -0.06rem;
  background: url(../../assets/imgs/leaf_240x310_2.png) 0 0/contain no-repeat;
}
@media screen and (max-width: 750px) {
  .main div.special-movie .inner::before {
    width: 1.2rem;
    bottom: -0.8rem;
    left: -0.4rem;
  }
}
.main div.special-movie .inner .image--01 {
  position: relative;
  margin: 0.7rem auto 0;
  width: 12rem;
  height: 6.7rem;
}
@media screen and (max-width: 750px) {
  .main div.special-movie .inner .image--01 {
    margin: 0.3rem 0 0;
    width: auto;
    height: 4rem;
  }
}
.main div.special-movie .inner .image--01 iframe {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.main div.special-movie .inner .image::after {
  display: none;
}
.main div.special-movie .catch {
  margin: 0.6rem 0 0;
  text-align: center;
  margin-inline: auto;
  font-size: 0.28rem;
  line-height: 1.8;
}
@media screen and (max-width: 750px) {
  .main div.special-movie .catch {
    font-size: 0.32rem;
    line-height: 1.5;
    text-align: left;
  }
}
.main section.plan {
  padding: 2rem 0 0;
  position: relative;
}
@media screen and (max-width: 750px) {
  .main section.plan {
    padding: 1.5rem 0 0;
  }
}
.main section.plan::before {
  content: "";
  display: block;
  width: 3.67rem;
  aspect-ratio: 367/310;
  position: absolute;
  top: -0.76rem;
  right: calc(50% + 3.8rem);
  background: url(../../assets/imgs/leaf_367x310.png) 0 0/contain no-repeat;
}
@media screen and (max-width: 750px) {
  .main section.plan::before {
    width: 1.84rem;
    top: 0.45rem;
    right: auto;
    left: 0;
  }
}
.main section.plan .ttl {
  background: #333 url(../../assets/imgs/bg-pageTtl.jpg) 50% -2.16rem/5.95rem auto no-repeat;
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .main section.plan .ttl {
    font-size: 1rem;
    overflow: hidden;
  }
}
.main section.plan .sttl {
  font-size: 0.8rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  text-align: center;
  color: #78aa9f;
  margin-top: 1rem;
}
@media screen and (max-width: 750px) {
  .main section.plan .sttl {
    font-size: 0.8rem;
  }
}
.main section.plan .catch {
  margin: 0.6rem 0 0;
  text-align: center;
}
.main section.plan .catch .ja {
  margin-inline: auto;
}
@media screen and (max-width: 750px) {
  .main section.plan .catch .ja {
    font-size: 0.32rem;
    line-height: 1.5;
    text-align: left;
  }
}
.main section.plan .catch .en {
  margin: 0.24rem 0 0.8rem;
  color: #c2d5d2;
  font-size: 0.15rem;
  letter-spacing: 0.02em;
  line-height: 0.2rem;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .main section.plan .catch .en {
    padding: 0.4rem 0 0;
    font-size: 0.28rem;
  }
}
.main section.plan .inner {
  box-sizing: border-box;
  max-width: 12.8rem;
  margin: 0 auto;
  padding: 0 0.8rem 0.8rem;
  background: #fff;
  position: relative;
  box-shadow: 0 0 0.57rem 0.03rem rgba(224, 241, 237, 0.8);
}
@media screen and (max-width: 750px) {
  .main section.plan .inner {
    margin: 0 -0.4rem 0.6rem;
    padding: 0 0.4rem 0.6rem;
  }
}
.main section.plan .inner::before {
  content: "";
  display: block;
  width: 2.4rem;
  aspect-ratio: 240/310;
  position: absolute;
  bottom: -1.38rem;
  left: -0.06rem;
  background: url(../../assets/imgs/leaf_240x310_2.png) 0 0/contain no-repeat;
}
@media screen and (max-width: 750px) {
  .main section.plan .inner::before {
    width: 1.2rem;
    bottom: -0.4rem;
    left: -0.4rem;
  }
}
.main section.plan .prepend {
  margin: 0 0 0 -0.8rem;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 750px) {
  .main section.plan .prepend {
    margin: 0;
    display: block;
  }
}
.main section.plan .prepend .name {
  padding: 0.76rem 0 0 0.85rem;
  background: linear-gradient(#78aa9f 0.34rem, #e5eceb 0.34rem) 0.6rem 0/0.05rem 1.14rem no-repeat;
  color: #78aa9f;
  font-size: 0.56rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .main section.plan .prepend .name {
    margin: 0 0 0 -0.2rem;
    padding: 0.4rem 0 0 0.2rem;
    background: linear-gradient(#78aa9f 0.2rem, #e5eceb 0.2rem) 0 0/0.06rem 0.7rem no-repeat;
    font-size: 0.42rem;
  }
}
.main section.plan .prepend .name span {
  font-size: 0.36rem;
}
@media screen and (max-width: 750px) {
  .main section.plan .prepend .name span {
    font-size: 0.26rem;
  }
}
.main section.plan .prepend .spec {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 9.3rem;
  padding: 0.8rem 0 0;
}
@media screen and (max-width: 750px) {
  .main section.plan .prepend .spec {
    width: auto;
    padding: 0.4rem 0 0;
  }
}
.main section.plan .prepend .spec .plan {
  padding: 0;
  font-size: 0.64rem;
  letter-spacing: 0.05em;
}
.main section.plan .prepend .spec .plan span {
  font-size: 0.44rem;
}
.main section.plan .prepend .spec .size .label {
  margin: 0 0.24rem 0 0;
  font-size: 0.2rem;
  line-height: 1;
}
.main section.plan .prepend .spec .size .num {
  font-size: 0.56rem;
  letter-spacing: 0.05em;
}
.main section.plan .prepend .spec .size .num span {
  font-size: 0.44rem;
}
.main section.plan .prepend .spec .misc {
  width: 100%;
  margin: 0.14rem 0 0;
  border-top: 0.01rem solid #e6dbda;
  padding: 0.24rem 0 0;
  font-size: 0.17rem;
  letter-spacing: 0.045em;
  line-height: 1;
  text-align: right;
}
@media screen and (max-width: 750px) {
  .main section.plan .prepend .spec .misc {
    font-size: 0.2rem;
    line-height: 1.5;
  }
}
.main section.plan .body {
  display: grid;
  grid-template-rows: auto 1fr;
  grid-template-columns: 5.2rem 1fr;
  gap: 0.7rem 0;
  margin: 0.8rem 0 0;
}
@media screen and (max-width: 750px) {
  .main section.plan .body {
    display: block;
  }
}
.main section.plan .body .headline {
  grid-row: 1/2;
  grid-column: 1/2;
}
.main section.plan .body .headline .map {
  width: 4rem;
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .main section.plan .body .headline .map {
    width: 5rem;
  }
}
.main section.plan .body .headline .catch {
  padding: 0.2rem 0 0;
  font-size: 0.28rem;
  letter-spacing: 0.045em;
  line-height: 0.44rem;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .main section.plan .body .headline .catch {
    padding: 0.2rem 0 0;
    font-size: 0.36rem;
    line-height: 1.5;
  }
}
.main section.plan .body .plan {
  grid-row: 1/3;
  grid-column: 2/3;
  padding: 0;
}
@media screen and (max-width: 750px) {
  .main section.plan .body .plan {
    margin: 0.6rem 0 0;
  }
}
.main section.plan .body .plan .image.typeA {
  max-width: 5.85rem;
  margin: 0 auto;
}
.main section.plan .body .plan .legend {
  margin: 0.4rem 0 0;
  font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
  font-size: 0.12rem;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .main section.plan .body .plan .legend {
    font-size: 0.2rem;
  }
}
.main section.plan .body .plan .legend .line--01 {
  margin: 0.2rem 0 0;
}
.main section.plan .body .plan .legend .line--02 {
  display: flex;
  justify-content: center;
  gap: 0.2rem;
}
.main section.plan .body .plan .legend .line--02 .item {
  background: 0 50% no-repeat;
}
.main section.plan .body .plan .legend .line--02 .item--01 {
  padding-left: 0.34rem;
  background-image: url(../../plan/imgs/legend01.svg);
  background-size: 0.28rem auto;
}
.main section.plan .body .plan .legend .line--02 .item--02 {
  padding-left: 0.32rem;
  background-image: url(../../plan/imgs/legend02.svg);
  background-size: 0.27rem auto;
}
.main section.plan .body .plan .legend .line--02 .item--03 {
  padding-left: 0.33rem;
  background-image: url(../../plan/imgs/legend03.svg);
  background-size: 0.28rem auto;
}
.main section.plan .body .plan .legend .line--02 .item--04 {
  padding-left: 0.33rem;
  background-image: url(../../plan/imgs/legend04.svg);
  background-size: 0.28rem auto;
}
.main section.plan .body .plan .tab-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.2rem;
}
@media screen and (min-width: 751px) {
  .main section.plan .body .plan .tab-list {
    margin: 0 0.3rem;
  }
}
.main section.plan .body .plan .tab-list .tab-item {
  color: #78aa9f;
  border: 1px solid;
  padding: 0.1rem 0;
  text-align: center;
  cursor: pointer;
  transition: 0.3s ease-in-out;
}
@media screen and (max-width: 750px) {
  .main section.plan .body .plan .tab-list .tab-item {
    font-size: 0.24rem;
  }
}
.main section.plan .body .plan .tab-list .tab-item.is-active {
  background: #78aa9f;
  color: #fff;
}
.main section.plan .body .plan .panel-list .panel-item {
  display: none;
  width: 100%;
}
.main section.plan .body .plan .panel-list .panel-item.is-active {
  display: block;
}
.main section.plan .body .plan .panel-list .panel-item.animate {
  animation: panel-show 0.3s ease-in-out forwards;
}
.main section.plan .body .plan .panel-list .panel-item .image {
  margin-top: 0.5rem;
}
@keyframes panel-show {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.main section.plan .body .point {
  grid-row: 2/3;
  grid-column: 1/2;
}
@media screen and (max-width: 750px) {
  .main section.plan .body .point {
    margin: 0.6rem 0 0;
  }
}
.main section.plan .body .point .legend {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.1rem;
  height: 0.5rem;
  background: #f3f9f7;
  color: #78aa9f;
  font-size: 0.24rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .main section.plan .body .point .legend {
    height: 0.8rem;
    font-size: 0.36rem;
  }
}
.main section.plan .body .point .legend::before {
  content: "";
  display: block;
  width: 0.14rem;
  aspect-ratio: 10/16;
  background: url(../../plan/imgs/ico-point.svg) 0 0/contain no-repeat;
}
@media screen and (max-width: 750px) {
  .main section.plan .body .point .legend::before {
    width: 0.24rem;
  }
}
.main section.plan .body .point .list {
  margin: 0.14rem 0 0;
}
.main section.plan .body .point .list li {
  border-bottom: 0.01rem dotted currentColor;
  padding: 0.24rem 0 0.24rem 0.4rem;
  position: relative;
}
@media screen and (max-width: 750px) {
  .main section.plan .body .point .list li {
    padding: 0.24rem 0 0.24rem 0.5rem;
  }
}
.main section.plan .body .point .list li .num {
  position: absolute;
  top: 0.3rem;
  left: 0;
  color: #78aa9f;
  font-size: 0.3rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .main section.plan .body .point .list li .num {
    top: 0.4rem;
  }
}
.main section.plan .casbee {
  width: 2.99rem;
  margin: 0.6rem auto 0;
}
@media screen and (max-width: 750px) {
  .main section.plan .casbee {
    width: 3.6rem;
  }
}
.main .body:is(body.login *) {
  max-width: 12rem;
  margin: 0.7rem auto 2rem;
  background: #fff linear-gradient(#78aa9f, #78aa9f) 50% 0/0.8rem 0.03rem no-repeat;
  position: relative;
  box-shadow: 0 0 0.57rem 0.03rem rgba(224, 241, 237, 0.8);
}
@media screen and (max-width: 750px) {
  .main .body:is(body.login *) {
    margin: 0.8rem 0 1rem;
    background-size: 1rem 0.04rem;
  }
}
.main .body:is(body.login *)::before, .main .body:is(body.login *)::after {
  content: "";
  display: block;
  position: absolute;
  background: 0 0/contain no-repeat;
}
.main .body:is(body.login *)::before {
  width: 3.34rem;
  aspect-ratio: 334/356;
  top: -2.35rem;
  right: -0.31rem;
  background-image: url(../../assets/imgs/leaf_334x356.png);
}
@media screen and (max-width: 750px) {
  .main .body:is(body.login *)::before {
    width: 1.17rem;
    top: -2rem;
    right: 0;
  }
}
.main .body:is(body.login *)::after {
  width: 3.68rem;
  aspect-ratio: 367/310;
  bottom: -1.32rem;
  left: -1.47rem;
  background-image: url(../../assets/imgs/leaf_367x310.png);
}
@media screen and (max-width: 750px) {
  .main .body:is(body.login *)::after {
    width: 1.83rem;
    left: 0;
  }
}
.main .body:is(body.login *) .ttl {
  font-weight: 400;
  text-align: center;
}
.main .body:is(body.login *) .ttl .en {
  display: block;
  font-size: 0.2rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .main .body:is(body.login *) .ttl .en {
    font-size: 0.26rem;
  }
}
.main .body:is(body.login *) .ttl .ja {
  display: block;
  padding: 0.4rem 0 0;
  font-size: 0.28rem;
  line-height: 0.46rem;
}
@media screen and (max-width: 750px) {
  .main .body:is(body.login *) .ttl .ja {
    padding: 0.48rem 0 0;
    font-size: 0.35rem;
    line-height: 0.6rem;
  }
}
.main .body:is(body.login *) .text,
.main .body:is(body.login *) .error {
  padding: 0.3rem 0 0;
  line-height: 0.3rem;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .main .body:is(body.login *) .text,
  .main .body:is(body.login *) .error {
    padding: 0.6rem 0 0;
    font-size: 0.26rem;
    line-height: 0.5rem;
  }
}
.main .body:is(body.login *) .login {
  padding: 0.8rem 0;
}
@media screen and (max-width: 750px) {
  .main .body:is(body.login *) .login {
    padding: 0.8rem 0.4rem;
  }
}
.main .body:is(body.login *) .login .form {
  margin: 0.6rem 0 0;
}
.main .body:is(body.login *) .login .form form {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.main .body:is(body.login *) .login .form form .password {
  box-sizing: border-box;
  width: 6.75rem;
  height: 0.7rem;
  border: none;
  padding: 0 0.4rem;
  background: #f1f3f3;
  border-radius: 0;
}
.main .body:is(body.login *) .login .form form .password::-moz-placeholder {
  color: #999;
}
.main .body:is(body.login *) .login .form form .password::placeholder {
  color: #999;
}
@media screen and (max-width: 750px) {
  .main .body:is(body.login *) .login .form form .password {
    width: calc(100% - 1.8rem);
    font-size: 16px;
    height: 60px;
  }
}
.main .body:is(body.login *) .login .form form .submit {
  box-sizing: border-box;
  width: 1.8rem;
  height: 0.7rem;
  border: none;
  padding: 0;
  background: #999;
  border-radius: 0;
  color: #fff;
  font-size: 0.2rem;
  letter-spacing: 0.05em;
  box-shadow: inset 0 0 0 0.01rem #999;
  transition: 0.4s;
  transition-property: background-color, color;
}
@media screen and (hover: hover) and (pointer: fine) {
  .main .body:is(body.login *) .login .form form .submit:hover {
    background-color: #fff;
    color: #999;
  }
}
@media screen and (max-width: 750px) {
  .main .body:is(body.login *) .login .form form .submit {
    font-size: 16px;
    height: 60px;
  }
}
.main .body:is(body.login *) .login .form form .error {
  width: 100%;
  color: #900;
  display: none;
}
.main .body:is(body.login *) .login .form form .error.active {
  display: block;
}
.main .body:is(body.login *) .flow {
  border-top: 0.01rem solid #c2d5d2;
  padding: 1rem 0 0;
}
@media screen and (max-width: 750px) {
  .main .body:is(body.login *) .flow {
    padding: 0.8rem 0 0;
  }
}
.main .body:is(body.login *) .flow .prepend {
  position: relative;
}
@media screen and (max-width: 750px) {
  .main .body:is(body.login *) .flow .prepend {
    padding: 0.9rem 0.4rem 0;
  }
  .main .body:is(body.login *) .flow .prepend .ttl,
  .main .body:is(body.login *) .flow .prepend .text {
    text-align: left;
  }
}
.main .body:is(body.login *) .flow .prepend .image {
  width: 3rem;
  position: absolute;
  top: -0.4rem;
  right: -0.5rem;
}
@media screen and (max-width: 750px) {
  .main .body:is(body.login *) .flow .prepend .image {
    width: 2.4rem;
    top: 0;
    right: 0;
  }
}
.main .body:is(body.login *) .flow .list {
  margin: 0.6rem 0 0;
}
.main .body:is(body.login *) .flow .list .inner {
  display: flex;
  background: #f0faf8;
}
@media screen and (max-width: 750px) {
  .main .body:is(body.login *) .flow .list .inner {
    flex-direction: column;
    gap: 0.2rem;
    box-sizing: border-box;
    padding: 0.4rem;
  }
}
.main .body:is(body.login *) .flow .list .item {
  box-sizing: border-box;
  width: 4rem;
  padding: 0.5rem;
  position: relative;
}
@media screen and (max-width: 750px) {
  .main .body:is(body.login *) .flow .list .item {
    display: grid;
    grid-template-rows: auto auto 1fr;
    grid-template-columns: 1fr 55%;
    gap: 0.2rem;
    width: auto;
    padding: 0;
  }
}
.main .body:is(body.login *) .flow .list .item::before {
  content: "";
  display: block;
  width: 0.16rem;
  height: 0.32rem;
  background: linear-gradient(90deg, transparent, #78aa9f);
  position: absolute;
  top: calc(50% - 0.16rem);
  left: 0;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
@media screen and (max-width: 750px) {
  .main .body:is(body.login *) .flow .list .item::before {
    grid-row: 1/2;
    grid-column: 1/3;
    width: 0.6rem;
    height: 0.2rem;
    margin: 0.1rem auto;
    position: static;
    background: #78aa9f;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
  }
}
.main .body:is(body.login *) .flow .list .item:first-child {
  border-left: none;
}
@media screen and (max-width: 750px) {
  .main .body:is(body.login *) .flow .list .item:first-child {
    grid-template-rows: auto 1fr;
  }
  .main .body:is(body.login *) .flow .list .item:first-child .num {
    grid-row: 1/2;
  }
  .main .body:is(body.login *) .flow .list .item:first-child .name {
    grid-row: 2/3;
  }
  .main .body:is(body.login *) .flow .list .item:first-child .text {
    grid-row: 1/3;
  }
}
.main .body:is(body.login *) .flow .list .item:first-child::before {
  content: none;
}
.main .body:is(body.login *) .flow .list .item .num {
  color: #78aa9f;
  font-size: 0.26rem;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .main .body:is(body.login *) .flow .list .item .num {
    grid-row: 2/3;
    grid-column: 1/2;
    font-size: 0.34rem;
  }
}
.main .body:is(body.login *) .flow .list .item .num span {
  font-size: 0.18rem;
}
@media screen and (max-width: 750px) {
  .main .body:is(body.login *) .flow .list .item .num span {
    font-size: 0.24rem;
  }
}
.main .body:is(body.login *) .flow .list .item .name {
  margin: 0.2rem 0 0;
  font-size: 0.24rem;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .main .body:is(body.login *) .flow .list .item .name {
    grid-row: 3/4;
    grid-column: 1/2;
    margin: 0;
    font-size: 0.32rem;
  }
}
.main .body:is(body.login *) .flow .list .item .text {
  margin: 0;
  padding: 0.28rem 0 0;
  text-align: left;
}
@media screen and (max-width: 750px) {
  .main .body:is(body.login *) .flow .list .item .text {
    grid-row: 2/4;
    grid-column: 2/3;
    padding: 0;
    font-size: 0.26rem;
    line-height: 0.5rem;
  }
}
.main .body:is(body.login *) .flow .list .simplebar-wrapper {
  padding: 0 0 0.48rem;
}
.main .body:is(body.login *) .flow .list .simplebar-track.simplebar-horizontal {
  height: 0.04rem;
}
.main .body:is(body.login *) .flow .list .simplebar-scrollbar::before {
  inset: 0;
  background: #78aa9f;
  border-radius: 0.02rem;
  opacity: 1;
}
.main .body:is(body.login *) .cv {
  padding: 0.6rem 0;
}
.main .body:is(body.login *) .cv li {
  width: 4.6rem;
  margin-inline: auto;
}
@media screen and (max-width: 750px) {
  .main .body:is(body.login *) .cv li {
    width: 5.9rem;
  }
}
.main .body:is(body.login *) .cv a {
  height: 0.9rem;
  font-size: 0.2rem;
}
@media screen and (max-width: 750px) {
  .main .body:is(body.login *) .cv a {
    height: 1.1rem;
    font-size: 0.28rem;
  }
}/*# sourceMappingURL=unique.css.map */