@charset "UTF-8";
.main .pageLead .text p::before, .main .sNav ul .text .catch::before, .main .section .prepend .headline .text .catch::before, .main .section .prepend .lead .catch::before, .main .section .prepend .lead p::before, .main .section--01 .tamapla .text::before, .main .section--01 .azamino .text::before, .main .section--01 .azamino .image--02 p::before, .main .section--01 .azamino .image--03 .item p::before, .main .section--01 .kohoku .text .catch::before, .main .section--01 .kohoku .text p::before, .main .section--01 .kohoku .list--02 .facility figcaption .name::before, .main .section--04 .body .list .facility figcaption .name::before, .main .pageLead .text p::after, .main .sNav ul .text .catch::after, .main .section .prepend .headline .text .catch::after, .main .section .prepend .lead .catch::after, .main .section .prepend .lead p::after, .main .section--01 .tamapla .text::after, .main .section--01 .azamino .text::after, .main .section--01 .azamino .image--02 p::after, .main .section--01 .azamino .image--03 .item p::after, .main .section--01 .kohoku .text .catch::after, .main .section--01 .kohoku .text p::after, .main .section--01 .kohoku .list--02 .facility figcaption .name::after, .main .section--04 .body .list .facility figcaption .name::after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}
.main .pageLead .text p::before, .main .sNav ul .text .catch::before, .main .section .prepend .headline .text .catch::before, .main .section .prepend .lead .catch::before, .main .section .prepend .lead p::before, .main .section--01 .tamapla .text::before, .main .section--01 .azamino .text::before, .main .section--01 .azamino .image--02 p::before, .main .section--01 .azamino .image--03 .item p::before, .main .section--01 .kohoku .text .catch::before, .main .section--01 .kohoku .text p::before, .main .section--01 .kohoku .list--02 .facility figcaption .name::before, .main .section--04 .body .list .facility figcaption .name::before {
  margin-bottom: calc((1em - 1lh) / 2);
}
.main .pageLead .text p::after, .main .sNav ul .text .catch::after, .main .section .prepend .headline .text .catch::after, .main .section .prepend .lead .catch::after, .main .section .prepend .lead p::after, .main .section--01 .tamapla .text::after, .main .section--01 .azamino .text::after, .main .section--01 .azamino .image--02 p::after, .main .section--01 .azamino .image--03 .item p::after, .main .section--01 .kohoku .text .catch::after, .main .section--01 .kohoku .text p::after, .main .section--01 .kohoku .list--02 .facility figcaption .name::after, .main .section--04 .body .list .facility figcaption .name::after {
  margin-top: calc((1em - 1lh) / 2);
}

.main .catch .en, .main .sNav ul .text .num, .main .sNav ul .text .name, .main .sNav ul .text .more, .main .sNavPC ul .item.lifeinfo, .main .sNavPC ul .text .num, .main .sNavPC ul .text .name, .main .bt--sNavSP, .main .sNavSP .bt--sNavSP_close, .main .sNavSP ul .item.lifeinfo, .main .sNavSP ul .text, .main .sNavSP ul .text .num, .main .section .prepend .headline .text .num, .main .section .prepend .headline .text .ttl, .main .section--05 .body .list .panel .text .num, .main section.lifeinfo .ttl, .main section.lifeinfo .panel .map .dataArea .data li:not(.noNum)::before {
  font-family: "Forum", serif;
  line-height: 0.8;
}

@media (prefers-reduced-motion: no-preference) {
  .main .pageHeader .image::before, .main .pageLead::before, .main .pageLead .wrap::before, .main .pageHeader .image::after, .main .pageLead::after, .main .pageLead .wrap::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 .pageHeader .scrollIn.image::before, .main .scrollIn.pageLead::before, .main .pageLead .scrollIn.wrap::before, .main .pageHeader .scrollIn.image::after, .main .scrollIn.pageLead::after, .main .pageLead .scrollIn.wrap::after {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

:target {
  scroll-margin-top: 0.4rem;
}
@media screen and (max-width: 750px) {
  :target {
    scroll-margin-top: 0;
  }
}

@media screen and (max-width: 750px) {
  .main .pageHeader {
    overflow: hidden;
  }
}
.main .pageHeader .image::after {
  width: 5.06rem;
  aspect-ratio: 506/595;
  top: -4.8rem;
  right: 2.26rem;
  background-image: url(../imgs/sakura00.png);
}
@media screen and (max-width: 750px) {
  .main .pageHeader .image::after {
    width: 2.53rem;
    top: -2.4rem;
    right: -0.2rem;
  }
}
.main .catch .en {
  padding: 0.24rem 0 0;
  color: #b3aaaa;
  font-size: 0.15rem;
  letter-spacing: 0.02em;
  line-height: 0.2rem;
}
@media screen and (max-width: 750px) {
  .main .catch .en {
    padding: 0.4rem 0 0;
    font-size: 0.2rem;
  }
}
.main .pageLead {
  position: relative;
  container-type: inline-size;
}
.main .pageLead::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 .pageLead::before {
    width: 1.84rem;
    top: -0.45rem;
    right: auto;
    left: 0;
  }
}
.main .pageLead .wrap {
  height: 9.53rem;
  position: relative;
}
@media screen and (max-width: 750px) {
  .main .pageLead .wrap {
    height: auto;
  }
}
.main .pageLead .wrap::after {
  content: "";
  display: block;
  width: 5.65rem;
  aspect-ratio: 565/464;
  position: absolute;
  bottom: -0.48rem;
  left: calc(50% + 3.32rem);
  background: url(../imgs/sakura02.png) 0 0/contain no-repeat;
}
@media screen and (max-width: 750px) {
  .main .pageLead .wrap::after {
    right: 0;
    bottom: -0.3rem;
    left: auto;
  }
}
.main .pageLead .headline {
  padding: 2.2rem 0 0;
}
@media screen and (max-width: 750px) {
  .main .pageLead .headline {
    padding: 1.8rem 0 0;
  }
}
@media screen and (max-width: 750px) {
  .main .pageLead .headline .catch .ja {
    white-space: nowrap;
  }
}
.main .pageLead .headline .catch .ja + .ja {
  margin: 0.5rem 0 0;
}
@media screen and (max-width: 750px) {
  .main .pageLead .imageGroup {
    position: relative;
  }
  .main .pageLead .imageGroup--01 {
    height: 5.24rem;
    margin: 1rem 0 0;
  }
  .main .pageLead .imageGroup--02 {
    height: 3.94rem;
    margin: 0.3rem 0 0;
  }
}
.main .pageLead .text {
  position: absolute;
  bottom: 0.07rem;
  left: 7.16rem;
  font-size: 0.28rem;
  line-height: 0.54rem;
  letter-spacing: 0.045em;
}
@media screen and (max-width: 750px) {
  .main .pageLead .text {
    padding: 1rem 0 0;
    position: static;
    font-size: 0.38;
  }
}
.main .pageLead .text p {
  font-size: 0.24rem;
  line-height: 0.5rem;
}
@media screen and (max-width: 750px) {
  .main .pageLead .text p {
    font-size: 0.32rem;
    line-height: 0.6rem;
  }
}
.main .pageLead .image {
  position: absolute;
}
.main .pageLead .image--01 {
  width: 4.2rem;
  bottom: 0;
  left: max(-2.4rem, 7.2rem - 50cqw);
}
@media screen and (max-width: 750px) {
  .main .pageLead .image--01 {
    width: 3.36rem;
    left: -0.4rem;
  }
}
.main .pageLead .image--02 {
  width: 2.8rem;
  bottom: 1.44rem;
  left: 3.42rem;
}
@media screen and (max-width: 750px) {
  .main .pageLead .image--02 {
    width: 2.24rem;
    bottom: 0;
    left: 0.4rem;
  }
}
.main .pageLead .image--03 {
  width: 3.6rem;
  bottom: 2.43rem;
  right: 2.78rem;
}
@media screen and (max-width: 750px) {
  .main .pageLead .image--03 {
    width: 2.88rem;
    top: 0.5rem;
    right: 0;
    bottom: auto;
  }
}
.main .pageLead .image--04 {
  width: 1.9rem;
  top: 1.18rem;
  right: -1.4rem;
}
@media screen and (max-width: 750px) {
  .main .pageLead .image--04 {
    width: 1.5rem;
    top: 0;
    right: auto;
    left: -0.4rem;
  }
}
.main .pageLead .image--05 {
  width: 3.8rem;
  bottom: 1.21rem;
  right: max(-2.4rem, 7.2rem - 50cqw);
  z-index: 1;
}
@media screen and (max-width: 750px) {
  .main .pageLead .image--05 {
    width: 3rem;
    top: 0;
    right: -0.4rem;
    bottom: auto;
  }
}
.main .sNav {
  width: 100%;
  margin: 2.5rem auto 0;
}
@media screen and (max-width: 750px) {
  .main .sNav {
    margin: 1.8rem 0 0;
  }
}
.main .sNav ul {
  display: flex;
  justify-content: space-between;
  max-width: 16rem;
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .main .sNav ul {
    display: block;
  }
}
.main .sNav ul li {
  width: 3rem;
}
@media screen and (max-width: 750px) {
  .main .sNav ul li {
    width: auto;
  }
}
.main .sNav ul .item {
  display: grid;
  height: 4.8rem;
}
@media screen and (max-width: 750px) {
  .main .sNav ul .item {
    grid-template-rows: auto;
    grid-template-columns: 2rem 1fr;
    height: auto;
  }
}
.main .sNav ul .item--01 .num,
.main .sNav ul .item--01 .name {
  color: #d57c79;
}
.main .sNav ul .item--01 .more {
  background-color: #d57c79;
}
.main .sNav ul .item--02 .num,
.main .sNav ul .item--02 .name {
  color: #86b8a0;
}
.main .sNav ul .item--02 .more {
  background-color: #86b8a0;
}
.main .sNav ul .item--03 .num,
.main .sNav ul .item--03 .name {
  color: #839fc8;
}
.main .sNav ul .item--03 .more {
  background-color: #839fc8;
}
.main .sNav ul .item--04 .num,
.main .sNav ul .item--04 .name {
  color: #bda08a;
}
.main .sNav ul .item--04 .more {
  background-color: #bda08a;
}
.main .sNav ul .item--05 .num,
.main .sNav ul .item--05 .name {
  color: #e0a16e;
}
.main .sNav ul .item--05 .more {
  background-color: #e0a16e;
}
.main .sNav ul .item--05 .bottomRight {
  bottom: 0.88rem;
}
@media screen and (max-width: 750px) {
  .main .sNav ul .item--05 .bottomRight {
    bottom: 0;
  }
}
.main .sNav ul .image {
  grid-area: 1/1;
  align-self: flex-start;
}
@media screen and (max-width: 750px) {
  .main .sNav ul .image {
    grid-row: 1/2;
    grid-column: 1/2;
  }
  .main .sNav ul .image .normal {
    width: 100%;
    height: 1.9rem;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.main .sNav ul .text {
  grid-area: 1/1;
  align-self: flex-end;
  justify-self: center;
  box-sizing: border-box;
  width: 2.5rem;
  height: 2.9rem;
  padding: 0.3rem 0 0;
  background: #fff;
  text-align: center;
  box-shadow: 0 0 0.57rem 0.03rem rgba(242, 225, 223, 0.8);
  z-index: 2;
}
@media screen and (max-width: 750px) {
  .main .sNav ul .text {
    grid-row: 1/2;
    grid-column: 2/3;
    display: grid;
    grid-template-rows: auto auto;
    grid-template-columns: 0.5rem 1fr 0.5rem;
    width: 100%;
    height: 1.9rem;
    padding: 0 0.4rem 0 0.6rem;
    text-align: left;
  }
}
.main .sNav ul .text .num {
  position: relative;
  font-size: 0.28rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .main .sNav ul .text .num {
    grid-row: 1/2;
    grid-column: 1/2;
    align-self: flex-end;
  }
}
.main .sNav ul .text .num::after {
  content: "";
  display: block;
  width: 0.31rem;
  height: 0.01rem;
  position: absolute;
  bottom: -0.11rem;
  left: 50%;
  background: currentColor;
  transform-origin: 0 100%;
  rotate: -45deg;
}
@media screen and (max-width: 750px) {
  .main .sNav ul .text .num::after {
    width: 0.33rem;
    bottom: -0.06rem;
    left: 0.2rem;
  }
}
.main .sNav ul .text .name {
  margin: 0.16rem 0 0;
  font-size: 0.3rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .main .sNav ul .text .name {
    grid-row: 1/2;
    grid-column: 2/3;
    align-self: flex-end;
    margin: 0;
    font-size: 0.32rem;
  }
}
.main .sNav ul .text .catch {
  padding: 0.28rem 0 0;
  font-size: 0.22rem;
  line-height: 0.35rem;
}
@media screen and (max-width: 750px) {
  .main .sNav ul .text .catch {
    grid-row: 2/3;
    grid-column: 1/3;
    align-self: flex-start;
    padding: 0.24rem 0 0;
    font-size: 0.3rem;
    line-height: 0.45rem;
  }
}
.main .sNav ul .text .more {
  margin: 0.2rem 0.3rem 0;
  background-image: url(../imgs/arw-more.svg);
  background-position: calc(100% - 0.13rem) 50%;
  background-size: 0.09rem auto;
  background-repeat: no-repeat;
  color: #fff;
  font-size: 0.2rem;
  letter-spacing: 0.05em;
  line-height: 0.3rem;
}
@media screen and (max-width: 750px) {
  .main .sNav ul .text .more {
    grid-row: 1/3;
    grid-column: 3/4;
    align-self: center;
    height: 0.5rem;
    margin: 0;
    background-position: 50% 50%;
    background-size: 0.16rem auto;
    color: transparent;
  }
}
.main .sNavPC {
  width: 2.8rem;
  position: fixed;
  top: 2.8rem;
  right: 1.2rem;
  z-index: 2;
  filter: drop-shadow(0 0 0.57rem rgba(242, 225, 223, 0.8));
  transition: opacity 0.4s;
}
@media screen and (max-width: 750px) {
  .main .sNavPC {
    display: none;
  }
}
.main .sNavPC .bt--sNavPC {
  display: block;
  width: 100%;
  height: 0.74rem;
  border: none;
  padding: 0;
  position: relative;
  z-index: 1;
  background: #d57c79;
  border-radius: 0.37rem;
  color: #fff;
  font-family: "Forum", serif;
  font-size: 0.3rem;
  letter-spacing: 0.05em;
}
.main .sNavPC .bt--sNavPC::after {
  content: "";
  display: block;
  width: 0.32rem;
  aspect-ratio: 1;
  position: absolute;
  top: 0.21rem;
  right: 0.16rem;
  background: rgba(255, 255, 255, 0.3) url(../imgs/menu.svg) center/0.09rem auto no-repeat;
  border-radius: 50%;
}
.main .sNavPC ul {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  padding: 0.74rem 0.2rem 0;
  background: #fff;
  border-radius: 0.37rem;
  clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
  transition: clip-path 0.4s;
}
.main .sNavPC ul .item {
  display: block;
  height: 0.74rem;
  padding-left: 0.55rem;
  position: relative;
  transition: background-color 0.4s;
}
.main .sNavPC ul .item--01 .num,
.main .sNavPC ul .item--01 .name {
  color: #d57c79;
}
.main .sNavPC ul .item--01.active {
  background-color: rgba(213, 124, 121, 0.2);
}
.main .sNavPC ul .item--02 .num,
.main .sNavPC ul .item--02 .name {
  color: #86b8a0;
}
.main .sNavPC ul .item--02.active {
  background-color: rgba(134, 184, 160, 0.2);
}
.main .sNavPC ul .item--03 .num,
.main .sNavPC ul .item--03 .name {
  color: #839fc8;
}
.main .sNavPC ul .item--03.active {
  background-color: rgba(131, 159, 200, 0.2);
}
.main .sNavPC ul .item--04 .num,
.main .sNavPC ul .item--04 .name {
  color: #bda08a;
}
.main .sNavPC ul .item--04.active {
  background-color: rgba(189, 160, 138, 0.2);
}
.main .sNavPC ul .item--05 .num,
.main .sNavPC ul .item--05 .name {
  color: #e0a16e;
}
.main .sNavPC ul .item--05.active {
  background-color: rgba(224, 161, 110, 0.2);
}
.main .sNavPC ul .item.lifeinfo {
  display: grid;
  place-items: center;
  padding-left: 0;
  font-size: 0.24rem;
  letter-spacing: 0.05em;
}
.main .sNavPC ul .item.lifeinfo.active {
  background-color: rgba(213, 124, 121, 0.2);
}
.main .sNavPC ul .image {
  grid-area: 1/1;
  align-self: flex-start;
  width: 0.48rem;
  position: absolute;
  top: 0.13rem;
  left: 0.08rem;
}
.main .sNavPC ul .image .small {
  border-radius: 50%;
}
.main .sNavPC ul .text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 0.74rem;
  padding: 0;
  background: transparent;
  text-align: center;
}
.main .sNavPC ul .text .num {
  position: relative;
  font-size: 0.2rem;
  letter-spacing: 0.05em;
}
.main .sNavPC ul .text .name {
  margin: 0.08rem 0 0;
  font-size: 0.24rem;
  letter-spacing: 0.05em;
}
.main .sNavPC.off {
  opacity: 0;
  pointer-events: none;
}
.main .sNavPC.active ul {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
.main .sNavSPBg {
  display: none;
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
}
@media screen and (max-width: 750px) {
  .main:has(.sNavSP.active) .sNavSPBg {
    display: block;
  }
}
.main .bt--sNavSP {
  display: none;
}
@media screen and (max-width: 750px) {
  .main .bt--sNavSP {
    display: block;
    box-sizing: border-box;
    width: 1.4rem;
    height: 0.8rem;
    border: 0.01rem solid #ebdfdf;
    border-right: none;
    padding: 0 0 0 0.58rem;
    position: fixed;
    top: 50%;
    right: 0;
    z-index: 2;
    border-radius: 0.08rem 0 0 0.08rem;
    background: #fff url(../imgs/arw-nenu_r.svg) 0.2rem 50%/0.19rem auto no-repeat;
    font-size: 0.26rem;
    text-align: left;
    box-shadow: 0 0 0.29rem 0.02rem rgba(242, 225, 223, 0.8);
    translate: 0 -50% 0;
  }
}
.main .sNavSP {
  display: none;
}
@media screen and (max-width: 750px) {
  .main .sNavSP {
    display: block;
    box-sizing: border-box;
    width: 3.8rem;
    border: 0.01rem solid #ebdfdf;
    border-right: none;
    position: fixed;
    top: 50%;
    right: 0;
    z-index: 2;
    background: #fff;
    border-radius: 0.08rem 0 0 0.08rem;
    box-shadow: 0 0 0.29rem 0.02rem rgba(242, 225, 223, 0.8);
    translate: 100% -50% 0;
    transition: translate 0.4s;
  }
  .main .sNavSP.active {
    translate: 0 -50% 0;
  }
}
.main .sNavSP .bt--sNavSP_close {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 0.7rem;
  border: none;
  padding: 0 0 0 0.58rem;
  background: transparent url(../imgs/arw-nenu.svg) 0.2rem 50%/0.19rem auto no-repeat;
  font-size: 0.26rem;
  text-align: left;
}
.main .sNavSP ul {
  padding: 0 0.3rem 0.16rem 0.29rem;
}
.main .sNavSP ul li {
  border-bottom: 0.01rem solid #ebdfdf;
}
.main .sNavSP ul li:last-child {
  border-bottom: none;
}
.main .sNavSP ul .item {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  height: 1.1rem;
  width: 100%;
  padding: 0 0 0 0.1rem;
  background: 100% 50%/0.16rem auto no-repeat;
}
.main .sNavSP ul .item--01 {
  background-image: url(../imgs/nav01_arw.svg);
}
.main .sNavSP ul .item--01 .num,
.main .sNavSP ul .item--01 .name {
  color: #d57c79;
}
.main .sNavSP ul .item--02 {
  background-image: url(../imgs/nav02_arw.svg);
}
.main .sNavSP ul .item--02 .num,
.main .sNavSP ul .item--02 .name {
  color: #86b8a0;
}
.main .sNavSP ul .item--03 {
  background-image: url(../imgs/nav03_arw.svg);
}
.main .sNavSP ul .item--03 .num,
.main .sNavSP ul .item--03 .name {
  color: #839fc8;
}
.main .sNavSP ul .item--04 {
  background-image: url(../imgs/nav04_arw.svg);
}
.main .sNavSP ul .item--04 .num,
.main .sNavSP ul .item--04 .name {
  color: #bda08a;
}
.main .sNavSP ul .item--05 {
  background-image: url(../imgs/nav05_arw.svg);
}
.main .sNavSP ul .item--05 .num,
.main .sNavSP ul .item--05 .name {
  color: #e0a16e;
}
.main .sNavSP ul .item.lifeinfo {
  justify-content: center;
  padding: 0;
  background-image: url(../imgs/nav06_arw.svg);
  font-size: 0.26rem;
  letter-spacing: 0.05em;
  text-align: center;
}
.main .sNavSP ul .image {
  width: 0.7rem;
}
.main .sNavSP ul .image img {
  border-radius: 50%;
}
.main .sNavSP ul .text {
  width: calc(100% - 0.96rem);
  letter-spacing: 0.05em;
  text-align: center;
}
.main .sNavSP ul .text .num {
  position: relative;
  font-size: 0.22rem;
}
.main .sNavSP ul .text .name {
  margin: 0.1rem 0 0;
  font-size: 0.26rem;
}
.main .section {
  padding: 2.2rem 0 0;
  position: relative;
  container-type: inline-size;
}
@media screen and (max-width: 750px) {
  .main .section {
    padding: 2rem 0 0;
  }
}
.main .section .sectionHelper {
  position: absolute;
  width: 0.2rem;
  height: 0.2rem;
  top: 50vh;
  left: 0;
  pointer-events: none;
}
.main .section .prepend .headline {
  display: grid;
}
.main .section .prepend .headline .image,
.main .section .prepend .headline .text {
  grid-area: 1/1;
}
@media screen and (max-width: 750px) {
  .main .section .prepend .headline .image {
    align-self: flex-start;
  }
  .main .section .prepend .headline .image figcaption {
    padding: 0.1rem;
    top: 0;
    right: 0;
    bottom: auto;
    left: auto;
    color: #fff;
  }
}
.main .section .prepend .headline .image img {
  width: 100%;
  height: 5.9rem;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-mask: linear-gradient(90deg, #fff 0%, #fff 50%, transparent 100%) 0 0/0 100% no-repeat;
          mask: linear-gradient(90deg, #fff 0%, #fff 50%, transparent 100%) 0 0/0 100% no-repeat;
  mask-mode: alpha;
  transition: -webkit-mask-position 1.6s 0.4s;
  transition: mask-position 1.6s 0.4s;
  transition: mask-position 1.6s 0.4s, -webkit-mask-position 1.6s 0.4s;
  transition-property: -webkit-mask-size;
  transition-property: mask-size;
  transition-property: mask-size, -webkit-mask-size;
}
@media screen and (max-width: 750px) {
  .main .section .prepend .headline .image img {
    height: 5rem;
    -webkit-mask-position: -100vw 0;
            mask-position: -100vw 0;
  }
}
.main .section .prepend .headline .text {
  box-sizing: border-box;
  width: 5.3rem;
  height: 3.5rem;
  padding: 0.66rem 0 0;
  position: relative;
  background: #fff;
  text-align: center;
  opacity: 0;
  transform: translate3d(0, 0.5rem, 0);
  transition: 1.2s 0.4s;
  transition-property: opacity, transform;
}
@media screen and (max-width: 750px) {
  .main .section .prepend .headline .text {
    width: 5.9rem;
    margin: 3.45rem auto 0;
    padding: 0.54rem 0 0;
  }
}
.main .section .prepend .headline .text::before {
  content: "";
  display: block;
  width: 0.2rem;
  aspect-ratio: 1;
  position: absolute;
  top: 0.1rem;
  left: 0.1rem;
  background: currentColor;
  clip-path: polygon(0 0, 100% 0, 0 100%);
}
.main .section .prepend .headline .text .num {
  position: relative;
  font-size: 0.4rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .main .section .prepend .headline .text .num {
    font-size: 0.44rem;
  }
}
.main .section .prepend .headline .text .num::after {
  content: "";
  display: block;
  width: 0.51rem;
  height: 0.01rem;
  position: absolute;
  bottom: -0.16rem;
  left: 50%;
  background: currentColor;
  transform-origin: 0 100%;
  rotate: -45deg;
}
.main .section .prepend .headline .text .ttl {
  margin: 0.36rem 0 0;
  font-size: 0.46rem;
  font-weight: 400;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .main .section .prepend .headline .text .ttl {
    margin: 0.3rem 0 0;
    font-size: 0.5rem;
  }
}
.main .section .prepend .headline .text .catch {
  padding: 0.46rem 0 0;
  color: #594847;
  font-size: 0.3rem;
  line-height: 1.5;
}
@media screen and (max-width: 750px) {
  .main .section .prepend .headline .text .catch {
    padding: 0.44rem 0 0;
    font-size: 0.4rem;
  }
}
.main .section .prepend .headline.scrollIn .image img {
  -webkit-mask-size: 200% 100%;
          mask-size: 200% 100%;
}
.main .section .prepend .headline.scrollIn .text {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
.main .section .prepend .lead {
  padding: 2rem 0 0;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .main .section .prepend .lead {
    padding: 1rem 0 0;
  }
}
.main .section .prepend .lead .catch {
  font-size: 0.3rem;
  line-height: 0.54rem;
  letter-spacing: 0.045em;
}
@media screen and (max-width: 750px) {
  .main .section .prepend .lead .catch {
    margin: 0 -0.4rem;
    font-size: 0.38rem;
    line-height: 0.6rem;
  }
}
.main .section .prepend .lead p {
  font-size: 0.2rem;
  padding: 0.6rem 0 0;
}
@media screen and (max-width: 750px) {
  .main .section .prepend .lead p {
    padding: 0.6rem 0.4rem 0;
    font-size: inherit;
    text-align: left;
  }
}
.main .section .facility figcaption:not(.bottomRight) {
  padding: 0.24rem 0 0;
  line-height: 1;
}
.main .section .facility figcaption:not(.bottomRight)::before, .main .section .facility figcaption:not(.bottomRight)::after {
  content: none;
}
.main .section .facility figcaption:not(.bottomRight) .name {
  font-family: "Shippori Mincho", "Noto Serif JP", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", serif;
  font-size: 0.24rem;
}
@media screen and (max-width: 750px) {
  .main .section .facility figcaption:not(.bottomRight) .name {
    font-size: 0.32rem;
  }
}
.main .section .facility figcaption:not(.bottomRight) .time {
  font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
  font-size: 0.12rem;
  letter-spacing: 0.025em;
}
@media screen and (max-width: 750px) {
  .main .section .facility figcaption:not(.bottomRight) .time {
    font-size: 0.2rem;
  }
}
.main .section .facility figcaption:not(.bottomRight) p + p {
  font-size: 0.15rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  margin-top: 0.15rem;
}
@media screen and (max-width: 750px) {
  .main .section .facility figcaption:not(.bottomRight) p + p {
    font-size: 0.2rem;
    line-height: 2;
    margin-top: 0.08rem;
  }
}
.main .section--01 .prepend .headline .image, .main .section--03 .prepend .headline .image, .main .section--05 .prepend .headline .image {
  margin-right: max(-2.4rem, 7.2rem - 50cqw);
  margin-left: 1.8rem;
}
@media screen and (max-width: 750px) {
  .main .section--01 .prepend .headline .image, .main .section--03 .prepend .headline .image, .main .section--05 .prepend .headline .image {
    margin-right: -0.4rem;
    margin-left: -0.4rem;
  }
}
.main .section--01 .prepend .headline .text, .main .section--03 .prepend .headline .text, .main .section--05 .prepend .headline .text {
  justify-self: flex-start;
  align-self: flex-end;
  translate: -0.8rem 0.8rem;
}
@media screen and (max-width: 750px) {
  .main .section--01 .prepend .headline .text, .main .section--03 .prepend .headline .text, .main .section--05 .prepend .headline .text {
    translate: none;
  }
}
.main .section--02 .prepend .headline .image, .main .section--04 .prepend .headline .image {
  margin-left: max(-2.4rem, 7.2rem - 50cqw);
  margin-right: 1.8rem;
}
@media screen and (max-width: 750px) {
  .main .section--02 .prepend .headline .image, .main .section--04 .prepend .headline .image {
    margin-right: -0.4rem;
    margin-left: -0.4rem;
  }
}
.main .section--02 .prepend .headline .text, .main .section--04 .prepend .headline .text {
  justify-self: flex-end;
  align-self: flex-end;
  translate: 0.8rem 0.8rem;
}
@media screen and (max-width: 750px) {
  .main .section--02 .prepend .headline .text, .main .section--04 .prepend .headline .text {
    translate: none;
  }
}
.main .section--01 {
  background: linear-gradient(rgba(213, 124, 121, 0.1), rgba(213, 124, 121, 0.1)) 0 4.36rem/calc(50cqw - 0.4rem) 12rem no-repeat;
}
@media screen and (max-width: 750px) {
  .main .section--01 {
    background-position: 0 2rem;
    background-size: 6rem 16.7rem;
    overflow: hidden;
  }
}
.main .section--01 .prepend .headline .text {
  color: #d57c79;
  box-shadow: 0 0 0.57rem 0.03rem rgba(242, 225, 223, 0.8);
}
.main .section--01 .tamapla {
  margin: 1.1rem 0 0;
  position: relative;
}
@media screen and (max-width: 750px) {
  .main .section--01 .tamapla {
    margin: 1.7rem 0 0;
  }
}
.main .section--01 .tamapla .sttl {
  width: 4.67rem;
  position: absolute;
  top: -0.8rem;
  left: -0.69rem;
  z-index: 1;
}
@media screen and (max-width: 750px) {
  .main .section--01 .tamapla .sttl {
    top: -0.75rem;
    left: -0.55rem;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .main .section--01 .tamapla .sttl img {
    -webkit-mask: linear-gradient(90deg, #fff 0%, #fff 50%, transparent 100%) 0 0/0 100% no-repeat;
            mask: linear-gradient(90deg, #fff 0%, #fff 50%, transparent 100%) 0 0/0 100% no-repeat;
    transition: -webkit-mask-size 0.8s 0.8s;
    transition: mask-size 0.8s 0.8s;
    transition: mask-size 0.8s 0.8s, -webkit-mask-size 0.8s 0.8s;
  }
  .main .section--01 .tamapla .sttl.scrollIn img {
    -webkit-mask-size: 200% 100%;
            mask-size: 200% 100%;
  }
}
.main .section--01 .tamapla .image--01 {
  width: 7.8rem;
}
@media screen and (max-width: 750px) {
  .main .section--01 .tamapla .image--01 {
    width: auto;
  }
}
.main .section--01 .tamapla .text {
  width: 5rem;
  padding: 0.6rem 0 0;
  position: absolute;
  top: 0;
  right: 0.3rem;
  font-size: 0.16rem;
  line-height: 0.4rem;
}
@media screen and (max-width: 750px) {
  .main .section--01 .tamapla .text {
    width: auto;
    padding: 1rem 0.4rem 0;
    position: static;
    font-size: inherit;
    line-height: inherit;
  }
}
.main .section--01 .tamapla .image--02 {
  width: 2.67rem;
  position: absolute;
  top: -2.38rem;
  right: -0.53rem;
}
@media screen and (max-width: 750px) {
  .main .section--01 .tamapla .image--02 {
    margin: 0.6rem -0.4rem 0 auto;
    position: static;
  }
}
.main .section--01 .tamapla .image--03 {
  width: 3rem;
  position: absolute;
  top: 2.66rem;
  right: 2.1rem;
}
@media screen and (max-width: 750px) {
  .main .section--01 .tamapla .image--03 {
    margin: -1rem 0 0 0.4rem;
    position: static;
  }
}
.main .section--01 .tamapla .list {
  display: flex;
  justify-content: space-between;
  margin: 2.1rem 0 0;
}
@media screen and (max-width: 750px) {
  .main .section--01 .tamapla .list {
    flex-wrap: wrap;
    gap: 0.8rem 0.3rem;
    margin: 1.2rem 0 0;
  }
}
.main .section--01 .tamapla .list .facility {
  width: 4.4rem;
}
@media screen and (max-width: 750px) {
  .main .section--01 .tamapla .list .facility {
    width: 3.2rem;
  }
  .main .section--01 .tamapla .list .facility:first-child {
    width: 100%;
  }
  .main .section--01 .tamapla .list .facility:first-child figcaption {
    padding: 0.3rem 0 0;
  }
}
.main .section--01 .tamapla .list .facility figcaption {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  padding: 0.2rem 0 0;
}
@media screen and (max-width: 750px) {
  .main .section--01 .tamapla .list .facility figcaption {
    gap: 0.2rem;
  }
}
.main .section--01 .tamapla .list .facility figcaption .name {
  font-size: 0.2rem;
}
@media screen and (max-width: 750px) {
  .main .section--01 .tamapla .list .facility figcaption .name {
    font-size: 0.28rem;
    line-height: 0.4rem;
  }
}
.main .section--01 .tamapla .list .facility figcaption p {
  line-height: 1.6;
}
.main .section--01 .tamapla .list .facility figcaption p + p {
  margin-top: 0.05rem;
}
.main .section--01 .azamino {
  margin: 1.9rem 0 0;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 750px) {
  .main .section--01 .azamino {
    margin: 2.2rem 0 0;
  }
}
.main .section--01 .azamino::before {
  content: "";
  display: block;
  width: calc(50cqw + 5.1rem);
  height: 7.2rem;
  position: absolute;
  top: 1.36rem;
  left: 2.1rem;
  background: rgba(213, 124, 121, 0.1);
}
@media screen and (max-width: 750px) {
  .main .section--01 .azamino::before {
    width: auto;
    height: 14.2rem;
    top: 1rem;
    right: -0.4rem;
    left: -0.4rem;
  }
}
.main .section--01 .azamino .sttl {
  width: 4.2rem;
  position: absolute;
  top: -0.78rem;
  right: -0.74rem;
  z-index: 1;
}
@media screen and (max-width: 750px) {
  .main .section--01 .azamino .sttl {
    top: -0.74rem;
    right: -0.65rem;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .main .section--01 .azamino .sttl img {
    -webkit-mask: linear-gradient(90deg, #fff 0%, #fff 50%, transparent 100%) 0 0/0 100% no-repeat;
            mask: linear-gradient(90deg, #fff 0%, #fff 50%, transparent 100%) 0 0/0 100% no-repeat;
    transition: -webkit-mask-size 0.8s 0.8s;
    transition: mask-size 0.8s 0.8s;
    transition: mask-size 0.8s 0.8s, -webkit-mask-size 0.8s 0.8s;
  }
  .main .section--01 .azamino .sttl.scrollIn img {
    -webkit-mask-size: 200% 100%;
            mask-size: 200% 100%;
  }
}
.main .section--01 .azamino .image--01 {
  width: 7.4rem;
  margin: 0 0 0 auto;
}
@media screen and (max-width: 750px) {
  .main .section--01 .azamino .image--01 {
    width: auto;
    margin: 0;
  }
}
.main .section--01 .azamino .text {
  width: 4.28rem;
  padding: 0.88rem 0 0;
  position: absolute;
  top: 0;
  left: 0.8rem;
  line-height: 0.4rem;
}
@media screen and (max-width: 750px) {
  .main .section--01 .azamino .text {
    width: auto;
    padding: 1rem 0.4rem 0;
    position: static;
    line-height: 0.54rem;
  }
}
.main .section--01 .azamino .image--02 {
  width: 6.6rem;
  position: absolute;
  top: 3.42rem;
  left: -0.8rem;
}
@media screen and (max-width: 750px) {
  .main .section--01 .azamino .image--02 {
    width: 5.9rem;
    margin: 1rem auto 0;
    position: static;
  }
  .main .section--01 .azamino .image--02 figcaption {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
  }
}
.main .section--01 .azamino .image--02 p {
  padding: 0.15rem 0 0;
  font-size: 0.15rem;
  line-height: 1.6;
}
@media screen and (max-width: 750px) {
  .main .section--01 .azamino .image--02 p {
    padding: 0.25rem 0 0;
    font-size: 0.2rem;
  }
}
.main .section--01 .azamino .image--03 {
  display: flex;
  flex-flow: row nowrap;
  gap: 0.2rem;
  margin: 1.28rem 0 0 7.9rem;
}
@media screen and (max-width: 750px) {
  .main .section--01 .azamino .image--03 {
    margin: 0.5rem 0 0 auto;
  }
}
.main .section--01 .azamino .image--03 .item {
  width: 4rem;
}
@media screen and (max-width: 750px) {
  .main .section--01 .azamino .image--03 .item {
    width: 3.2rem;
  }
}
.main .section--01 .azamino .image--03 .item figure.temp {
  position: relative;
}
.main .section--01 .azamino .image--03 .item figure.temp::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background-color: #ccc;
  width: 100%;
  aspect-ratio: 400/260;
}
.main .section--01 .azamino .image--03 .item figure figcaption {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}
.main .section--01 .azamino .image--03 .item p {
  padding: 0.15rem 0 0;
  font-size: 0.15rem;
  line-height: 1.6;
}
@media screen and (max-width: 750px) {
  .main .section--01 .azamino .image--03 .item p {
    padding: 0.25rem 0 0;
    font-size: 0.2rem;
  }
}
.main .section--01 .kohoku {
  display: grid;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 6.7rem;
  gap: 0.65rem 0;
  margin: 1.3rem 0 0;
  padding: 0.8rem 0.8rem 0.9rem;
  position: relative;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 0 0.57rem 0.03rem rgba(242, 225, 223, 0.8);
}
@media screen and (max-width: 750px) {
  .main .section--01 .kohoku {
    display: block;
    margin: 1.48rem 0 0;
    padding: 2.48rem 0.5rem 0.8rem;
  }
}
.main .section--01 .kohoku .sttl {
  width: 3.55rem;
  position: absolute;
  top: 0.71rem;
  left: -0.26rem;
}
@media screen and (max-width: 750px) {
  .main .section--01 .kohoku .sttl {
    top: 0.6rem;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .main .section--01 .kohoku .sttl img {
    -webkit-mask: linear-gradient(90deg, #fff 0%, #fff 50%, transparent 100%) 0 0/0 100% no-repeat;
            mask: linear-gradient(90deg, #fff 0%, #fff 50%, transparent 100%) 0 0/0 100% no-repeat;
    transition: -webkit-mask-size 0.8s 0.8s;
    transition: mask-size 0.8s 0.8s;
    transition: mask-size 0.8s 0.8s, -webkit-mask-size 0.8s 0.8s;
  }
  .main .section--01 .kohoku .sttl.scrollIn img {
    -webkit-mask-size: 200% 100%;
            mask-size: 200% 100%;
  }
}
.main .section--01 .kohoku .text {
  grid-row: 1/2;
  grid-column: 1/2;
  padding: 1.6rem 0 0;
}
@media screen and (max-width: 750px) {
  .main .section--01 .kohoku .text {
    padding: 0;
  }
}
.main .section--01 .kohoku .text .catch {
  font-size: 0.28rem;
  line-height: 0.44rem;
  letter-spacing: 0.045em;
}
@media screen and (max-width: 750px) {
  .main .section--01 .kohoku .text .catch {
    padding: 0 0 0 0.16rem;
    font-size: 0.38rem;
    line-height: 0.6rem;
  }
}
.main .section--01 .kohoku .text p {
  padding: 0.5rem 0.3rem 0 0;
  line-height: 0.4rem;
}
@media screen and (max-width: 750px) {
  .main .section--01 .kohoku .text p {
    padding: 0.68rem 0 0;
    line-height: inherit;
  }
}
.main .section--01 .kohoku .list {
  display: flex;
}
@media screen and (max-width: 750px) {
  .main .section--01 .kohoku .list {
    flex-direction: column;
    gap: 0.5rem;
  }
}
.main .section--01 .kohoku .list .facility figcaption .name {
  font-size: 0.18rem;
}
@media screen and (max-width: 750px) {
  .main .section--01 .kohoku .list .facility figcaption .name {
    font-size: 0.28rem;
  }
}
.main .section--01 .kohoku .list .tenant {
  margin: 0.16rem 0 0 0;
  padding: 0.18rem 0.2rem;
  background-color: #f5f3f3;
}
@media screen and (max-width: 750px) {
  .main .section--01 .kohoku .list .tenant {
    padding: 0.3rem;
  }
}
.main .section--01 .kohoku .list .tenant .ttl {
  color: #6a9eaa;
  border-bottom: 0.5px solid #94c6d1;
  margin: 0 0 0.1rem 0;
  line-height: 0.8;
}
@media screen and (max-width: 750px) {
  .main .section--01 .kohoku .list .tenant .ttl {
    margin: 0 0 0.14rem 0;
    font-size: 0.24rem;
  }
}
.main .section--01 .kohoku .list .tenant p {
  font-size: 0.136rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .main .section--01 .kohoku .list .tenant p {
    font-size: 0.24rem;
    line-height: 1.4;
  }
}
.main .section--01 .kohoku .list--01 {
  grid-row: 1/2;
  grid-column: 2/3;
  justify-content: space-between;
}
@media screen and (max-width: 750px) {
  .main .section--01 .kohoku .list--01 {
    margin: 0.8rem 0 0;
  }
}
.main .section--01 .kohoku .list--01 .facility {
  width: 3.2rem;
}
@media screen and (max-width: 750px) {
  .main .section--01 .kohoku .list--01 .facility {
    width: auto;
  }
}
.main .section--01 .kohoku .list--01 .facility figcaption {
  padding: 0.2rem 0 0;
}
@media screen and (max-width: 750px) {
  .main .section--01 .kohoku .list--01 .facility figcaption {
    padding: 0.2rem 0 0;
  }
}
.main .section--01 .kohoku .list--01 .facility:first-child {
  margin: 0.4rem 0 0;
}
@media screen and (max-width: 750px) {
  .main .section--01 .kohoku .list--01 .facility:first-child {
    margin: 0;
  }
}
.main .section--01 .kohoku .list--02 {
  grid-row: 2/3;
  grid-column: 1/3;
  justify-content: space-between;
}
.main .section--01 .kohoku .list--02 .facility {
  width: 2.8rem;
}
.main .section--01 .kohoku .list--02 .facility figcaption {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  padding: 0.2rem 0 0;
}
.main .section--01 .kohoku .list--02 .facility figcaption .name {
  display: block;
  line-height: 0.25rem;
}
.main .section--01 .kohoku .list--03 {
  grid-row: 2/3;
  grid-column: 1/3;
  justify-content: center;
  gap: 0.5rem;
}
@media screen and (max-width: 750px) {
  .main .section--01 .kohoku .list--03 {
    margin: 0.5rem 0 0;
  }
}
.main .section--01 .kohoku .list--03 .facility {
  width: 4.7rem;
}
@media screen and (max-width: 750px) {
  .main .section--01 .kohoku .list--03 .facility {
    width: auto;
  }
}
.main .section--01 .kohoku .list--03 .facility figcaption {
  padding: 0.2rem 0 0;
}
.main .section--02 {
  background-image: linear-gradient(rgba(134, 184, 160, 0.1), rgba(134, 184, 160, 0.1)), linear-gradient(rgba(134, 184, 160, 0.1), rgba(134, 184, 160, 0.1));
  background-position: 100% 4.36rem, 0 calc(100% + 3rem);
  background-size: calc(50cqw - 0.4rem) 12rem, calc(50cqw + 6.1rem) 13.2rem;
  background-repeat: no-repeat;
}
@media screen and (max-width: 750px) {
  .main .section--02 {
    background-position: 100% 2rem, 0 calc(100% - 1.45rem);
    background-size: 6rem 16rem, 100% 19rem;
  }
}
.main .section--02 .prepend .headline .text {
  color: #86b8a0;
  box-shadow: 0 0 0.57rem 0.03rem rgba(134, 184, 160, 0.1);
}
.main .section--02 .body {
  margin: 1.2rem 0 0;
  position: relative;
}
@media screen and (max-width: 750px) {
  .main .section--02 .body {
    margin: 1rem 0 0;
  }
}
.main .section--02 .body .image--01 {
  width: 8.4rem;
  margin: 0 0.2rem 0 auto;
}
@media screen and (max-width: 750px) {
  .main .section--02 .body .image--01 {
    width: 6.7rem;
    margin: 0 -0.4rem 0 auto;
  }
}
.main .section--02 .body .image--01 figcaption {
  padding: 0.16rem 0 0;
}
@media screen and (max-width: 750px) {
  .main .section--02 .body .image--01 figcaption {
    padding: 0.2rem 0 0;
  }
}
.main .section--02 .body .image--02 {
  width: 3.8rem;
  position: absolute;
  top: 1.6rem;
  left: -1.4rem;
}
@media screen and (max-width: 750px) {
  .main .section--02 .body .image--02 {
    width: 3.3rem;
    margin: 0.8rem 0 0 -0.4rem;
    position: relative;
    top: 0;
    left: 0;
  }
}
.main .section--02 .body .image--03 {
  position: relative;
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 1rem 0 5rem 1rem;
}
@media screen and (max-width: 750px) {
  .main .section--02 .body .image--03 {
    width: auto;
    margin: 1.1rem 0 0;
  }
}
.main .section--02 .body .image--03 .facility {
  position: absolute;
  width: 4.4rem;
}
@media screen and (max-width: 750px) {
  .main .section--02 .body .image--03 .facility {
    width: 3.2rem;
  }
}
.main .section--02 .body .image--03 .facility__01 {
  bottom: -50%;
  left: 0;
}
@media screen and (max-width: 750px) {
  .main .section--02 .body .image--03 .facility__01 {
    bottom: 0.88rem;
    right: 0;
    left: auto;
  }
}
.main .section--02 .body .image--03 .facility__02 {
  position: static;
}
@media screen and (min-width: 751px) {
  .main .section--02 .body .image--03 .facility__02 {
    margin-left: 3rem;
  }
}
@media screen and (max-width: 750px) {
  .main .section--02 .body .image--03 .facility__02 {
    position: absolute;
    left: 0;
  }
}
.main .section--02 .body .image--03 .facility__03 {
  bottom: -100%;
  right: 0.5rem;
}
@media screen and (max-width: 750px) {
  .main .section--02 .body .image--03 .facility__03 {
    bottom: auto;
    top: 100%;
    right: 0rem;
  }
}
.main .section--02 .body .image--03 .facility figcaption {
  padding: 0.2rem 0 0;
}
@media screen and (max-width: 750px) {
  .main .section--02 .body .image--03 .facility figcaption {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
  }
}
.main .section--02 .body .image--03 .facility figcaption .name {
  font-size: 0.2rem;
}
@media screen and (max-width: 750px) {
  .main .section--02 .body .image--03 .facility figcaption .name {
    font-size: 0.28rem;
  }
}
.main .section--02 .body .image--04 {
  width: 9.7rem;
  margin: 0 0 0 -1.3rem;
}
@media screen and (max-width: 750px) {
  .main .section--02 .body .image--04 {
    width: auto;
    margin: 5rem -0.4rem 0;
  }
}
.main .section--02 .body .image--04 figcaption {
  padding: 0.2rem 0 0;
}
@media screen and (max-width: 750px) {
  .main .section--02 .body .image--04 figcaption {
    padding: 0.2rem 0.4rem 0;
  }
}
.main .section--02 .body .image--05 {
  width: 2.6rem;
  position: absolute;
  top: 16.14rem;
  right: 0.2rem;
}
@media screen and (max-width: 750px) {
  .main .section--02 .body .image--05 {
    margin: 1rem 0.1rem 0 auto;
    position: relative;
    top: 0;
    right: 0;
  }
}
.main .section--02 .body .image--06 {
  width: 5rem;
  margin: 1.2rem 0 3rem 0.7rem;
}
@media screen and (max-width: 750px) {
  .main .section--02 .body .image--06 {
    position: absolute;
    margin: -0.96rem 0 0 -0.4rem;
  }
}
.main .section--02 .body .image--06 figcaption {
  padding: 0.2rem 0 0;
}
@media screen and (max-width: 750px) {
  .main .section--02 .body .image--06 figcaption {
    padding: 0.2rem 0 0 0.4rem;
  }
}
.main .section--02 .body .image--07 {
  width: 7.4rem;
  position: absolute;
  right: -1rem;
  bottom: -2.1rem;
}
@media screen and (max-width: 750px) {
  .main .section--02 .body .image--07 {
    width: 6.7rem;
    margin: 4rem -0.4rem 0 0.4rem;
    position: relative;
    right: 0;
    bottom: 0;
  }
}
.main .section--02 .body .image--07 figcaption {
  padding: 0.16rem 0 0;
}
@media screen and (max-width: 750px) {
  .main .section--02 .body .image--07 figcaption {
    padding: 0.2rem 0 0;
  }
}
.main .section--02 .body .image--08 {
  width: 3.9rem;
  margin: 1.2rem 0 0 -0.5rem;
}
@media screen and (max-width: 750px) {
  .main .section--02 .body .image--08 {
    width: 4.5rem;
    margin: 1rem 0.4rem 0 auto;
  }
}
.main .section--02 .body .image--08 figcaption {
  padding: 0.2rem 0 0;
}
.main .section--03 {
  background: linear-gradient(rgba(131, 159, 200, 0.1), rgba(131, 159, 200, 0.1)) 0 4.26rem/calc(50cqw - 0.4rem) 12rem no-repeat;
}
@media screen and (min-width: 751px) {
  .main .section--03 {
    padding-top: 5rem;
  }
}
@media screen and (max-width: 750px) {
  .main .section--03 {
    background-position: 0 2rem;
    background-size: 6rem 23rem;
  }
}
.main .section--03 .prepend .headline .text {
  color: #839fc8;
  box-shadow: 0 0 0.57rem 0.03rem rgba(242, 225, 223, 0.8);
}
.main .section--03 .body {
  margin: 1.1rem 0 0;
  position: relative;
}
@media screen and (max-width: 750px) {
  .main .section--03 .body {
    margin: 1rem 0 0;
  }
}
.main .section--03 .body .image--01 {
  width: 3.8rem;
  position: absolute;
  top: -0.6rem;
  right: 1.2rem;
  z-index: 1;
}
@media screen and (max-width: 750px) {
  .main .section--03 .body .image--01 {
    width: 4.3rem;
    margin: 0.9rem auto 0 0.4rem;
    position: relative;
    top: 0;
    right: 0;
  }
}
.main .section--03 .body .image--01 figcaption {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  padding: 0.12rem 0 0;
}
@media screen and (max-width: 750px) {
  .main .section--03 .body .image--01 figcaption {
    gap: 0.2rem;
    padding: 0.2rem 0 0;
  }
}
.main .section--03 .body .image--02 {
  width: 4.2rem;
  position: absolute;
  top: 1.1rem;
  left: -0.8rem;
}
@media screen and (max-width: 750px) {
  .main .section--03 .body .image--02 {
    width: 5rem;
    position: relative;
    top: 0;
    left: 0;
  }
}
.main .section--03 .body .image--02 figcaption {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  padding: 0.2rem 0 0;
}
@media screen and (max-width: 750px) {
  .main .section--03 .body .image--02 figcaption {
    gap: 0.2rem;
  }
}
.main .section--03 .body .image--03 {
  width: 3.4rem;
  margin: 0 0 0 4.3rem;
}
@media screen and (max-width: 750px) {
  .main .section--03 .body .image--03 {
    width: 3rem;
    margin: 0.64rem 0 0 auto;
  }
}
.main .section--03 .body .image--04 {
  width: 2.4rem;
  position: absolute;
  top: 3.4rem;
  right: 4.4rem;
}
@media screen and (max-width: 750px) {
  .main .section--03 .body .image--04 {
    width: 2.5rem;
    margin: -2.06rem 0 0 0.4rem;
    position: relative;
    top: 0;
    right: 0;
  }
}
.main .section--03 .body .image--09 {
  width: 2.8rem;
  position: absolute;
  right: -0.4rem;
  top: 3.2rem;
}
@media screen and (max-width: 750px) {
  .main .section--03 .body .image--09 {
    width: 2.6rem;
    position: absolute;
    right: 0rem;
    top: 13.8rem;
  }
}
.main .section--03 .body .image--05 {
  width: 4.95rem;
  margin: 4.3rem 0 0 1.3rem;
  position: relative;
}
@media screen and (max-width: 750px) {
  .main .section--03 .body .image--05 {
    width: 5rem;
    margin: 2.8rem 0 0;
  }
}
.main .section--03 .body .image--05 .inner {
  position: relative;
}
.main .section--03 .body .image--05 > figcaption {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  padding: 0.2rem 0 0;
}
@media screen and (max-width: 750px) {
  .main .section--03 .body .image--05 > figcaption {
    gap: 0.2rem;
    position: static;
  }
  .main .section--03 .body .image--05 > figcaption .name {
    white-space: nowrap;
  }
}
.main .section--03 .body .image--06 {
  width: 6.2rem;
  margin: -2.18rem 0 0 7.25rem;
  position: relative;
}
@media screen and (max-width: 750px) {
  .main .section--03 .body .image--06 {
    width: 5.8rem;
    margin: 0.8rem -0.4rem 0 auto;
  }
}
.main .section--03 .body .image--06 > figcaption {
  padding: 0.2rem 0 0;
}
@media screen and (max-width: 750px) {
  .main .section--03 .body .image--06 > figcaption {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    position: static;
  }
}
.main .section--03 .body .image--07 {
  width: 8.6rem;
  margin: 1.14rem 0 0 0.35rem;
}
@media screen and (max-width: 750px) {
  .main .section--03 .body .image--07 {
    width: 6.9rem;
    margin: 0.8rem 0 0 -0.4rem;
  }
}
.main .section--03 .body .image--07 figcaption {
  padding: 0.2rem 0 0;
}
@media screen and (max-width: 750px) {
  .main .section--03 .body .image--07 figcaption {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    padding: 0.2rem 0 0 0.4rem;
  }
}
.main .section--03 .body .image--08 {
  width: 3rem;
  position: absolute;
  right: 0.95rem;
  bottom: 1.5rem;
}
@media screen and (max-width: 750px) {
  .main .section--03 .body .image--08 {
    margin: 0.7rem 0.8rem 0 auto;
    position: relative;
    right: 0;
    bottom: 0;
  }
}
.main .section--04 {
  background: linear-gradient(rgba(189, 160, 138, 0.1), rgba(189, 160, 138, 0.1)) 100% 4.36rem/calc(50cqw + 1.9rem) 12rem no-repeat;
}
@media screen and (max-width: 750px) {
  .main .section--04 {
    background-position: 100% 2rem;
    background-size: 6rem 16.7rem;
  }
}
.main .section--04 .prepend .headline .text {
  color: #bda08a;
  box-shadow: 0 0 0.57rem 0.03rem rgba(189, 160, 138, 0.1);
}
.main .section--04 .body {
  margin: 1.96rem 0 0;
  position: relative;
}
@media screen and (max-width: 750px) {
  .main .section--04 .body {
    margin: 1rem 0 0;
  }
}
.main .section--04 .body .image--01 {
  width: 5.8rem;
  margin: 0 0 0 0.8rem;
}
@media screen and (max-width: 750px) {
  .main .section--04 .body .image--01 {
    width: auto;
    margin: 0;
  }
}
.main .section--04 .body .image--01 figcaption {
  padding: 0.2rem 0 0;
}
.main .section--04 .body .image--02 {
  width: 5.2rem;
  position: absolute;
  top: -1rem;
  right: 0.6rem;
}
@media screen and (max-width: 750px) {
  .main .section--04 .body .image--02 {
    margin: 0.8rem -0.4rem 0 auto;
    position: relative;
    top: 0;
    right: 0;
  }
}
.main .section--04 .body .image--02 figcaption {
  padding: 0.16rem 0 0;
}
@media screen and (max-width: 750px) {
  .main .section--04 .body .image--02 figcaption {
    padding: 0.2rem 0 0;
  }
}
.main .section--04 .body .image--03 {
  width: 4.6rem;
  margin: -0.3rem 0 0 7.8rem;
}
@media screen and (max-width: 750px) {
  .main .section--04 .body .image--03 {
    margin: 0.8rem 0 0 -0.4rem;
  }
}
.main .section--04 .body .image--03 figcaption {
  padding: 0.14rem 0 0;
}
@media screen and (max-width: 750px) {
  .main .section--04 .body .image--03 figcaption {
    padding: 0.2rem 0 0 0.4rem;
  }
}
.main .section--04 .body .image--04 {
  width: 3.1rem;
  position: absolute;
  right: max(-2.4rem, 7.2rem - 50cqw);
  bottom: 7.88rem;
}
@media screen and (max-width: 750px) {
  .main .section--04 .body .image--04 {
    width: 2.8rem;
    margin: 0.6rem -0.4rem 0 auto;
    position: relative;
    right: 0;
    bottom: 0;
  }
}
.main .section--04 .body .image--05 {
  width: 6.1rem;
  margin: -0.15rem 0 0;
  position: relative;
}
@media screen and (max-width: 750px) {
  .main .section--04 .body .image--05 {
    width: 5.9rem;
    margin: 1rem auto 0;
  }
}
.main .section--04 .body .image--05 .bottomLeft {
  padding: 0 0 0.1rem 0.1rem;
}
.main .section--04 .body .image--05 figcaption {
  padding: 0.18rem 0 0;
}
@media screen and (max-width: 750px) {
  .main .section--04 .body .image--05 figcaption {
    padding: 0.2rem 0 0;
  }
}
.main .section--04 .body .image--05 figcaption.note {
  display: block;
  padding: 0;
  position: absolute;
  right: 0;
  bottom: 0.22rem;
  font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
  font-size: 0.12rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .main .section--04 .body .image--05 figcaption.note {
    bottom: 0.24rem;
    font-size: 0.18rem;
  }
}
.main .section--04 .body .image--06 {
  width: 3.5rem;
  position: absolute;
  right: 3.5rem;
  bottom: 4.74rem;
}
@media screen and (max-width: 750px) {
  .main .section--04 .body .image--06 {
    width: 3.1rem;
    margin: -0.4rem 0 0;
    position: relative;
    right: 0;
    bottom: 0;
  }
}
.main .section--04 .body .list {
  display: flex;
  justify-content: space-between;
  margin: 2.65rem -0.8rem 0;
}
@media screen and (max-width: 750px) {
  .main .section--04 .body .list {
    flex-wrap: wrap;
    gap: 0.6rem 0.3rem;
    margin: 3rem 0 0;
  }
}
.main .section--04 .body .list .facility {
  width: 3.6rem;
}
@media screen and (max-width: 750px) {
  .main .section--04 .body .list .facility {
    width: 3.2rem;
  }
}
.main .section--04 .body .list .facility figcaption {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  padding: 0.2rem 0 0;
}
@media screen and (max-width: 750px) {
  .main .section--04 .body .list .facility figcaption {
    gap: 0.2rem;
  }
}
.main .section--04 .body .list .facility figcaption .name {
  font-size: 0.2rem;
}
@media screen and (max-width: 750px) {
  .main .section--04 .body .list .facility figcaption .name {
    font-size: 0.28rem;
    line-height: 0.4rem;
    white-space: nowrap;
  }
}
.main .section--05 {
  background: linear-gradient(rgba(224, 161, 110, 0.1), rgba(224, 161, 110, 0.1)) 0 4.28rem/calc(50cqw - 0.4rem) 12rem no-repeat;
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .main .section--05 {
    background-position: 0 2rem;
    background-size: 6rem 13.83rem;
  }
}
.main .section--05 .prepend .headline .text {
  color: #e0a16e;
  box-shadow: 0 0 0.57rem 0.03rem rgba(224, 161, 110, 0.1);
}
.main .section--05 .prepend .lead {
  padding: 2rem 0 0;
}
@media screen and (max-width: 750px) {
  .main .section--05 .prepend .lead {
    margin: 0 -0.4rem;
    padding: 1rem 0 0;
  }
}
.main .section--05 .prepend .lead p {
  font-size: 0.23rem;
  line-height: 0.54rem;
  letter-spacing: 0.045em;
}
@media screen and (max-width: 750px) {
  .main .section--05 .prepend .lead p {
    font-size: 0.3rem;
    line-height: 0.5rem;
    letter-spacing: 0;
    text-align: center;
    white-space: nowrap;
  }
}
.main .section--05 .prepend .lead p:first-child {
  padding: 0;
}
.main .section--05 .prepend .lead p:last-child {
  padding: 0.5rem 0 0;
}
@media screen and (max-width: 750px) {
  .main .section--05 .prepend .lead p:last-child {
    padding: 0.6rem 0 0;
  }
}
.main .section--05 .body {
  margin: 1.5rem 0 0;
}
@media screen and (max-width: 750px) {
  .main .section--05 .body {
    margin: 1rem 0 0;
  }
}
.main .section--05 .body .list {
  width: 8.5rem;
  margin: 0 auto;
  position: relative;
  overflow: visible;
}
@media screen and (max-width: 750px) {
  .main .section--05 .body .list {
    width: 6.4rem;
  }
}
.main .section--05 .body .list::before {
  content: "";
  display: block;
  width: 1.76rem;
  aspect-ratio: 176/197;
  position: absolute;
  top: -0.32rem;
  left: calc(50% + 0.97rem);
  z-index: 2;
  background: url(../imgs/sakura03.png) 0 0/contain no-repeat;
}
@media screen and (max-width: 750px) {
  .main .section--05 .body .list::before {
    top: -0.44rem;
    right: 0.6rem;
    left: auto;
  }
}
.main .section--05 .body .list .panel {
  display: flex;
  width: 8rem;
  margin: 0 auto;
  background: #fff;
  box-shadow: 0 0 0.57rem 0.03rem rgba(242, 225, 223, 0.8);
}
@media screen and (max-width: 750px) {
  .main .section--05 .body .list .panel {
    display: block;
    width: 5.9rem;
    position: relative;
  }
}
.main .section--05 .body .list .panel .image--01 {
  width: 4rem;
}
@media screen and (max-width: 750px) {
  .main .section--05 .body .list .panel .image--01 {
    width: 3.2rem;
  }
}
.main .section--05 .body .list .panel .text {
  box-sizing: border-box;
  width: 4rem;
  padding: 0.3rem 0.4rem 0;
  position: relative;
}
@media screen and (max-width: 750px) {
  .main .section--05 .body .list .panel .text {
    width: auto;
    padding: 0.37rem;
    position: static;
  }
}
.main .section--05 .body .list .panel .text .num {
  color: #e0a16e;
  font-size: 0.4rem;
  text-align: right;
}
@media screen and (max-width: 750px) {
  .main .section--05 .body .list .panel .text .num {
    width: 2rem;
    position: absolute;
    top: 1.3rem;
    right: 0.35rem;
    font-size: 0.42rem;
    text-align: center;
  }
}
.main .section--05 .body .list .panel .text .num span {
  font-size: 0.24rem;
}
@media screen and (max-width: 750px) {
  .main .section--05 .body .list .panel .text .num span {
    font-size: 0.3rem;
  }
}
.main .section--05 .body .list .panel .text .num span span {
  margin: 0 0 0 0.04rem;
  font-size: 0.24rem;
}
@media screen and (max-width: 750px) {
  .main .section--05 .body .list .panel .text .num span span {
    margin: 0 0 0 0.06rem;
    font-size: 0.3rem;
  }
}
.main .section--05 .body .list .panel .text .image {
  margin: 0.2rem 0 0;
}
@media screen and (max-width: 750px) {
  .main .section--05 .body .list .panel .text .image {
    width: 2rem;
    margin: 0;
    position: absolute;
    top: 2.76rem;
    right: 0.35rem;
  }
}
.main .section--05 .body .list .panel .text .tag {
  display: flex;
  gap: 0.18rem;
  margin: 0.5rem 0 0;
  color: #d57c79;
  font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
  font-size: 0.15rem;
  line-height: 0.17rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .main .section--05 .body .list .panel .text .tag {
    gap: 0.24rem;
    margin: 0;
    font-size: 0.22rem;
    line-height: 0.26rem;
  }
}
.main .section--05 .body .list .panel .text .tag span {
  border-bottom: 0.02rem dotted currentColor;
  padding: 0 0 0.06rem 0.2rem;
  background: 0 0/0.12rem auto no-repeat;
}
@media screen and (max-width: 750px) {
  .main .section--05 .body .list .panel .text .tag span {
    padding: 0 0 0.06rem 0.28rem;
    background-size: 0.18rem auto;
  }
}
.main .section--05 .body .list .panel .text .tag span.taberu {
  background-image: url(../imgs/ico-taberu.svg);
}
.main .section--05 .body .list .panel .text .tag span.manabu {
  background-image: url(../imgs/ico-manabu.svg);
}
.main .section--05 .body .list .panel .text .tag span.kurasu {
  background-image: url(../imgs/ico-kurasu.svg);
}
.main .section--05 .body .list .panel .text p {
  font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
  font-size: 0.13rem;
  letter-spacing: 0.025em;
  line-height: 2;
  border-top: 1px dotted #e0a16e;
  padding-top: 0.12rem;
}
@media screen and (max-width: 750px) {
  .main .section--05 .body .list .panel .text p {
    font-size: 0.22rem;
    padding-top: 0.2rem;
  }
}
.main .section--05 .body .list .panel .text .name {
  margin: 0.2rem 0 0.14rem;
  font-size: 0.24rem;
  line-height: 1.4;
}
@media screen and (max-width: 750px) {
  .main .section--05 .body .list .panel .text .name {
    margin: 0 0 0.3rem;
    font-size: 0.38rem;
  }
}
.main .section--05 .body .list .panel .text .name .time {
  font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
  font-size: 0.12rem;
  letter-spacing: 0.025em;
}
@media screen and (max-width: 750px) {
  .main .section--05 .body .list .panel .text .name .time {
    font-size: 0.2rem;
  }
}
.main .section--05 .body .list .panel .text .url {
  margin: 0.2rem 0 0;
  color: #999191;
  font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
  font-size: 0.16rem;
  line-height: 1;
  letter-spacing: 0.02em;
  text-decoration: underline;
}
@media screen and (max-width: 750px) {
  .main .section--05 .body .list .panel .text .url {
    margin: 0.3rem 0 0;
    font-size: 0.22rem;
  }
}
.main .section--05 .body .list .panel .text .sns {
  display: block;
  width: 0.4rem;
  aspect-ratio: 1;
  position: absolute;
  right: 0.4rem;
  bottom: 0.48rem;
  background: 50% 50% no-repeat;
  border-radius: 50%;
  box-shadow: inset 0 0 0 0.01rem #999191;
}
@media screen and (max-width: 750px) {
  .main .section--05 .body .list .panel .text .sns {
    width: 0.6rem;
    right: 0.3rem;
    bottom: 0.5rem;
  }
}
.main .section--05 .body .list .panel .text .sns.instagram {
  background-image: url(../imgs/ico-instagram.svg);
  background-size: 0.19rem auto;
}
@media screen and (max-width: 750px) {
  .main .section--05 .body .list .panel .text .sns.instagram {
    background-size: 0.28rem auto;
  }
}
.main .section--05 .body .list .swiper-pagination {
  display: flex;
  gap: 0.18rem;
  justify-content: center;
  width: auto;
  margin: 0.5rem 0 0;
  position: static;
}
@media screen and (max-width: 750px) {
  .main .section--05 .body .list .swiper-pagination {
    gap: 0.2rem;
    margin: 0.6rem 0 0;
  }
}
.main .section--05 .body .list .swiper-pagination .swiper-pagination-bullet {
  width: 0.08rem;
  height: 0.08rem;
  margin: 0;
  background: #ebe4e4;
  opacity: 1;
}
@media screen and (max-width: 750px) {
  .main .section--05 .body .list .swiper-pagination .swiper-pagination-bullet {
    width: 0.12rem;
    height: 0.12rem;
  }
}
.main .section--05 .body .list .swiper-pagination .swiper-pagination-bullet-active {
  background: #e0a16e;
}
.main .section--05 .body .list .swiper-button-prev,
.main .section--05 .body .list .swiper-button-next {
  width: 0.6rem;
  height: 0.6rem;
  margin: 0;
  top: 2.3rem;
  background: #e5b58f 50% 50%/0.2rem auto no-repeat;
  border-radius: 50%;
  box-shadow: 0.11rem 0.16rem 0.29rem 0.01rem rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 750px) {
  .main .section--05 .body .list .swiper-button-prev,
  .main .section--05 .body .list .swiper-button-next {
    width: 0.7rem;
    height: 0.7rem;
    top: 2.98rem;
    background-size: 0.26rem auto;
  }
}
.main .section--05 .body .list .swiper-button-prev::after,
.main .section--05 .body .list .swiper-button-next::after {
  content: none;
}
.main .section--05 .body .list .swiper-button-prev {
  left: -0.55rem;
  background-image: url(../../assets/imgs/arw01_wr.svg);
}
@media screen and (max-width: 750px) {
  .main .section--05 .body .list .swiper-button-prev {
    left: -0.25rem;
  }
}
.main .section--05 .body .list .swiper-button-next {
  right: -0.55rem;
  background-image: url(../../assets/imgs/arw01_w.svg);
}
@media screen and (max-width: 750px) {
  .main .section--05 .body .list .swiper-button-next {
    right: -0.25rem;
  }
}
.main section.lifeinfo {
  padding: 2.5rem 0 0;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .main section.lifeinfo {
    padding: 2rem 0 0;
  }
}
.main section.lifeinfo .sectionHelper {
  position: absolute;
  width: 0.2rem;
  height: 0.2rem;
  top: 50vh;
  left: 0;
  pointer-events: none;
}
.main section.lifeinfo::before {
  content: "";
  display: block;
  width: 5.24rem;
  aspect-ratio: 524/527;
  position: absolute;
  top: 0.44rem;
  left: calc(50% + 4.37rem);
  background: url(../imgs/sakura04.png) 0 0/contain no-repeat;
  pointer-events: none;
}
@media screen and (max-width: 750px) {
  .main section.lifeinfo::before {
    width: 2.62rem;
    top: 0;
    right: 0;
    left: auto;
  }
}
.main section.lifeinfo .ttl {
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .main section.lifeinfo .ttl {
    font-size: 0.64rem;
  }
}
.main section.lifeinfo .panel {
  margin: 0.6rem 0 0;
  background: #fff;
  box-shadow: 0 0.1rem 0.57rem 0.03rem rgba(242, 225, 223, 0.5);
}
.main section.lifeinfo .panel .navigation {
  display: flex;
}
@media screen and (max-width: 750px) {
  .main section.lifeinfo .panel .navigation {
    flex-wrap: wrap;
  }
}
.main section.lifeinfo .panel .navigation button {
  flex-grow: 1;
  height: 0.6rem;
  border: none;
  padding: 0;
  background: #fff linear-gradient(#ccc2c2, #ccc2c2) 100% 50%/0.01rem 0.2rem no-repeat;
  font-size: 0.18rem;
  transition: 0.4s;
  transition-property: background-color, color;
}
@media screen and (max-width: 750px) {
  .main section.lifeinfo .panel .navigation button {
    width: 33.3333333333%;
    height: 1rem;
    font-size: 0.24rem;
  }
  .main section.lifeinfo .panel .navigation button:nth-child(3) {
    background-image: none;
  }
}
.main section.lifeinfo .panel .navigation button:last-child {
  background-image: none;
}
.main section.lifeinfo .panel .navigation button.active {
  background-color: #b39f7d;
  color: #fff;
}
@media screen and (hover: hover) and (pointer: fine) {
  .main section.lifeinfo .panel .navigation button:hover {
    background-color: #b39f7d;
    color: #fff;
  }
}
.main section.lifeinfo .panel .map {
  display: flex;
  height: 7rem;
}
@media screen and (max-width: 750px) {
  .main section.lifeinfo .panel .map {
    display: block;
    height: auto;
  }
}
.main section.lifeinfo .panel .map .gmaps {
  width: 8.2rem;
}
@media screen and (max-width: 750px) {
  .main section.lifeinfo .panel .map .gmaps {
    width: auto;
    aspect-ratio: 1;
  }
}
.main section.lifeinfo .panel .map .dataArea {
  box-sizing: border-box;
  width: calc(100% - 8.2rem);
  padding: 0 0.4rem;
  overflow-y: scroll;
}
@media screen and (max-width: 750px) {
  .main section.lifeinfo .panel .map .dataArea {
    width: auto;
    max-height: 6rem;
  }
}
.main section.lifeinfo .panel .map .dataArea .data {
  counter-reset: number;
  display: none;
}
.main section.lifeinfo .panel .map .dataArea .data.active {
  display: block;
}
.main section.lifeinfo .panel .map .dataArea .data li {
  display: flex;
  flex-direction: column;
  gap: 0.08rem;
  padding: 0.25rem 0 0.25rem 0.4rem;
  position: relative;
  counter-increment: number;
}
@media screen and (max-width: 750px) {
  .main section.lifeinfo .panel .map .dataArea .data li {
    padding-left: 0.5rem;
  }
}
.main section.lifeinfo .panel .map .dataArea .data li + li {
  border-top: 0.01rem dotted currentColor;
}
.main section.lifeinfo .panel .map .dataArea .data li:not(.noNum)::before {
  content: counter(number);
  display: grid;
  place-items: center;
  width: 0.26rem;
  height: 0.26rem;
  position: absolute;
  top: 0.25rem;
  left: 0;
  background: #baa88a;
  color: #fff;
  font-size: 0.2rem;
}
@media screen and (max-width: 750px) {
  .main section.lifeinfo .panel .map .dataArea .data li:not(.noNum)::before {
    width: 0.36rem;
    height: 0.36rem;
    font-size: 0.24rem;
  }
}
.main section.lifeinfo .panel .map .dataArea .data li .name {
  line-height: 0.26rem;
}
@media screen and (max-width: 750px) {
  .main section.lifeinfo .panel .map .dataArea .data li .name {
    line-height: 1.2;
  }
}
.main section.lifeinfo .panel .map .dataArea .data li .time {
  font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
  font-size: 0.12rem;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .main section.lifeinfo .panel .map .dataArea .data li .time {
    grid-row: 2/3;
    grid-column: 2/3;
  }
}
@media screen and (max-width: 750px) and (max-width: 750px) {
  .main section.lifeinfo .panel .map .dataArea .data li .time {
    font-size: 0.18rem;
  }
}/*# sourceMappingURL=unique.css.map */