@charset "UTF-8";
.main section.plan .slider .slide .limited .text p::before, .main section.special .inner .text p::before, .main section.story .text::before, .main .entryBlock .flow .list .item .text::before, .main .entryBlock .flow .prepend .text::before, .main .entryBlock .flow .prepend .sttl .ja::before, .main .obi .wrap .item--02 .text--01 .line .small::before, .main .obi .wrap .item--01 .text--01 .line .small::before, .main section.plan .slider .slide .limited .text p::after, .main section.special .inner .text p::after, .main section.story .text::after, .main .entryBlock .flow .list .item .text::after, .main .entryBlock .flow .prepend .text::after, .main .entryBlock .flow .prepend .sttl .ja::after, .main .obi .wrap .item--02 .text--01 .line .small::after, .main .obi .wrap .item--01 .text--01 .line .small::after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}
.main section.plan .slider .slide .limited .text p::before, .main section.special .inner .text p::before, .main section.story .text::before, .main .entryBlock .flow .list .item .text::before, .main .entryBlock .flow .prepend .text::before, .main .entryBlock .flow .prepend .sttl .ja::before, .main .obi .wrap .item--02 .text--01 .line .small::before, .main .obi .wrap .item--01 .text--01 .line .small::before {
  margin-bottom: calc((1em - 1lh) / 2);
}
.main section.plan .slider .slide .limited .text p::after, .main section.special .inner .text p::after, .main section.story .text::after, .main .entryBlock .flow .list .item .text::after, .main .entryBlock .flow .prepend .text::after, .main .entryBlock .flow .prepend .sttl .ja::after, .main .obi .wrap .item--02 .text--01 .line .small::after, .main .obi .wrap .item--01 .text--01 .line .small::after {
  margin-top: calc((1em - 1lh) / 2);
}

.main section.plan .slider .slide .limited .text .legend, .main section.plan .slider .slide .spec, .main section.position .text .ttl,
.main section.location .text .ttl,
.main section.access .text .ttl,
.main section.residence .text .ttl,
.main section.plan .text .ttl,
.main section.landlease .text .ttl, .main section.story .catch .en, .main section.story .ttl, .main section .catch .en, .main .entryBlock .flow .list .item .num, .main .entryBlock .flow .prepend .sttl .en, .main .info .ttl, .main .hero .text .en {
  font-family: "Forum", serif;
  line-height: 0.8;
}

@media (prefers-reduced-motion: no-preference) {
  @keyframes flowPetal {
    0% {
      translate: 0 -0.1rem 0;
    }
    100% {
      translate: 0 0 0;
    }
  }
}

.main .hero {
  display: grid;
  position: relative;
}
.main .hero .image {
  grid-area: 1/1;
}
.main .hero .image picture {
  display: block;
}
.main .hero .image img {
  width: 100%;
  height: 9.9rem;
  max-height: calc(100vh - 1.6rem);
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 750px) {
  .main .hero .image img {
    height: calc(100vh - 1.1rem - 1.2rem);
    height: calc(100svh - 1.1rem - 1.2rem);
  }
}
.main .hero .image figcaption {
  bottom: 0.6rem;
}
@media screen and (max-width: 750px) {
  .main .hero .image figcaption {
    bottom: 0.8rem;
  }
}
.main .hero .text {
  grid-area: 1/1;
  align-self: flex-end;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0 0 0.7rem 0.8rem;
  position: relative;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .main .hero .text {
    align-self: flex-start;
    width: auto;
    padding: 0.8rem 0 0;
    text-shadow: 0 0 0.02rem #78aa9f, 0 0 0.1rem #78aa9f;
  }
}
.main .hero .text .en {
  font-size: 0.56rem;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 750px) {
  .main .hero .text .en {
    font-size: 0.64rem;
  }
}
.main .hero .text .en span {
  font-style: italic;
}
.main .hero .text .ja {
  margin: 0.24rem 0 0;
  font-size: 0.34rem;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .main .hero .text .ja {
    margin: 0.28rem 0 0;
    font-size: 0.4rem;
  }
}
.main .hero .notice {
  width: 7rem;
  position: absolute;
  bottom: 0;
  right: 0;
  background-image: linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.7) 5%);
  color: #fff;
  box-sizing: border-box;
  padding: 0.1rem 0.2rem 0.1rem 0.5rem;
}
@media screen and (max-width: 750px) {
  .main .hero .notice {
    width: 100%;
    background: rgba(0, 0, 0, 0.7);
    padding: 0.1rem 0.2rem;
  }
}
.main .hero .notice-inner {
  display: grid;
  grid-template-columns: 1.8rem auto;
  align-items: center;
}
@media screen and (max-width: 750px) {
  .main .hero .notice-inner {
    grid-template-columns: 2rem auto;
  }
}
.main .hero .notice-title {
  border-right: 1px solid rgba(255, 255, 255, 0.6);
}
@media screen and (max-width: 750px) {
  .main .hero .notice-title {
    font-size: 0.2rem;
  }
}
.main .hero .notice-list {
  overflow: hidden;
  white-space: nowrap;
}
.main .hero .notice-item {
  display: inline-block;
  will-change: transform;
  font-size: 0.2rem;
}
@media screen and (max-width: 750px) {
  .main .hero .notice-item {
    font-size: 0.24rem;
  }
}
.main .obi .head {
  background-image: url(../imgs/bg-obi02.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  background-color: rgba(22, 76, 63, 0.6);
}
@media screen and (min-width: 751px) {
  .main .obi .head {
    height: 1.2rem;
    display: flex;
    align-items: center;
    padding-bottom: 0.05rem;
  }
}
@media screen and (max-width: 750px) {
  .main .obi .head {
    padding: 0.35rem 0;
    background-image: url(../imgs/bg-obi02_sp.jpg);
  }
}
.main .obi .head .body {
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.3rem;
}
@media screen and (max-width: 750px) {
  .main .obi .head .body {
    display: grid;
    justify-self: center;
    gap: 0 0.3rem;
  }
}
.main .obi .head .body .kerning {
  margin-left: -0.3em;
  margin-right: -0.3em;
}
@media screen and (min-width: 751px) {
  .main .obi .head .body > .label {
    font-size: 0.2rem;
    border: 1px solid #fff;
    height: 0.55rem;
    width: 2rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    color: #fff;
  }
  .main .obi .head .body > .label.sp {
    display: none !important;
  }
}
.main .obi .head .body .text {
  font-size: 0.5rem;
  color: #fff;
}
@media screen and (max-width: 750px) {
  .main .obi .head .body .text {
    font-size: 0.4rem;
    letter-spacing: 0.02em;
  }
}
.main .obi .head .body .text .num {
  color: #f7f5bc;
  font-size: 0.9rem;
  line-height: 1;
  font-family: "Forum", serif;
}
.main .obi .head .body .text--01 {
  font-size: 0.4rem;
}
.main .obi .head .body .text--02 {
  position: relative;
  font-size: 0.4rem;
}
.main .obi .head .body .text--02 .num {
  color: #fff;
  font-size: 0.6rem;
}
.main .obi .head .body .text--02 .small {
  font-size: 0.2rem;
}
@media screen and (min-width: 751px) {
  .main .obi .head .body .text--02 .small {
    position: relative;
    top: -0.3rem;
    left: -0.05rem;
  }
}
.main .obi .head .body .text--03 {
  position: relative;
  align-items: center;
  display: flex;
}
@media screen and (max-width: 750px) {
  .main .obi .head .body .text--03 {
    grid-row: 2/3;
    grid-column: 1/3;
    gap: 0.4rem;
    align-items: end;
  }
}
@media screen and (max-width: 750px) {
  .main .obi .head .body .text--03 .num {
    font-size: 0.9rem;
  }
}
@media screen and (max-width: 750px) {
  .main .obi .head .body .text--03 .label {
    font-size: 0.24rem;
    border: 1px solid #fff;
    height: 0.55rem;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    color: #fff;
    margin-bottom: 0.1rem;
  }
  .main .obi .head .body .text--03 .label.pc {
    display: none !important;
  }
}
.main .obi .head .body .text--03 .text_main {
  position: relative;
}
.main .obi .head .body .text--03 .text_main .small {
  font-size: 0.16rem;
  display: inline-block;
  line-height: 1.3;
  position: absolute;
  bottom: -0.1rem;
  right: 0;
}
@media screen and (max-width: 750px) {
  .main .obi .head .body .text--03 .text_main .small {
    font-size: 0.2rem;
    bottom: auto;
    top: 0.7rem;
    right: 0;
  }
}
.main .obi .head .body .text--03 .monthly {
  /*font-size: 0.34rem;*/
  margin-left: 0.15rem;
  position: relative;
  margin-left: 0.5rem;
}
@media screen and (min-width: 751px) {
  .main .obi .head .body .text--03 .monthly {
    display: flex;
    align-items: baseline;
  }
}
@media screen and (max-width: 750px) {
  .main .obi .head .body .text--03 .monthly {
    margin-left: 0;
  }
}
@media screen and (min-width: 751px) {
  .main .obi .head .body .text--03 .monthly::before {
    content: "";
    display: block;
    position: absolute;
    width: 0.5rem;
    height: 1px;
    background-color: #fff;
    transform: translate(0, -50%) rotate(-60deg);
    top: 59%;
    left: -0.5rem;
  }
}
.main .obi .head .body .text--03 .monthly sup {
  font-size: 0.16rem;
  top: -0.35rem;
  right: 0.3rem;
}
.main .obi .head .body .text--05 {
  display: flex;
  align-items: center;
  gap: 0.1rem;
}
@media screen and (max-width: 750px) {
  .main .obi .head .body .text--05 {
    grid-row: 1/2;
    grid-column: 1/3;
    margin-bottom: 0.4rem;
    justify-content: center;
  }
}
.main .obi .middle {
  background: url(../imgs/obi_middle_bg.jpg) no-repeat center;
  background-size: cover;
  text-align: center;
  padding: 0.15rem 0 0.2rem;
}
@media screen and (max-width: 750px) {
  .main .obi .middle {
    background: url(../imgs/obi_middle_bg_sp.jpg) no-repeat center;
    background-size: cover;
  }
}
.main .obi .middle .text {
  font-size: 0.45rem;
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.3rem;
}
@media screen and (max-width: 750px) {
  .main .obi .middle .text {
    font-size: 0.4rem;
    display: grid;
    gap: 0;
    font-weight: 500;
  }
}
@media screen and (max-width: 750px) {
  .main .obi .middle .text .--02 {
    font-size: 0.55rem;
  }
}
.main .obi .middle .text em {
  font-style: normal;
  color: #7a6a55;
  font-size: 0.9rem;
  line-height: 1;
  font-family: "Forum", serif;
}
@media screen and (max-width: 750px) {
  .main .obi .middle .text em {
    font-size: 0.9rem;
  }
}
.main .obi .inner {
  background-image: url(../imgs/bg-obi.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
@media screen and (max-width: 750px) {
  .main .obi .inner {
    background-image: url(../imgs/bg-obi_sp.jpg);
  }
}
.main .obi .wrap {
  display: flex;
  max-width: 17.28rem;
  height: 1.8rem;
}
@media screen and (max-width: 750px) {
  .main .obi .wrap {
    display: block;
    height: auto;
  }
}
.main .obi .wrap .item {
  flex-grow: 1;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 0.27rem;
  font-weight: 500;
  line-height: 0.45rem;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .main .obi .wrap .item {
    display: block;
    width: auto;
    padding: 0.32rem 0;
    font-size: 0.36rem;
    font-weight: 500;
    line-height: 0.48rem;
  }
}
.main .obi .wrap .item strong {
  color: #f7f5bc;
  font-weight: inherit;
}
.main .obi .wrap .item strong.num {
  font-family: "Forum", serif;
  font-weight: 400;
}
.main .obi .wrap .item--01 {
  font-size: 0.27rem;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .main .obi .wrap .item--01 {
    padding: 0.45rem 0 0.25rem 0;
    font-size: 0.36rem;
  }
  .main .obi .wrap .item--01 > div {
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
  }
}
.main .obi .wrap .item--01 .text--01 {
  display: flex;
  align-items: flex-end;
}
@media screen and (max-width: 750px) {
  .main .obi .wrap .item--01 .text--01 {
    display: flex;
    justify-content: center;
    gap: 0.12rem;
  }
}
.main .obi .wrap .item--01 .text--01 .line {
  text-align: left;
}
.main .obi .wrap .item--01 .text--01 .line .small {
  padding-bottom: 0.06rem;
  font-size: 0.12rem;
  line-height: 1.3333333333;
  letter-spacing: 0;
}
@media screen and (max-width: 750px) {
  .main .obi .wrap .item--01 .text--01 .line .small {
    margin-bottom: 0.1rem;
    font-size: 0.2rem;
  }
}
.main .obi .wrap .item--01 .text--01 .line + .line {
  margin-left: 0.04rem;
  padding-left: 0.28rem;
  background: url(../imgs/slash-obi.svg) 0 100%/0.21rem auto no-repeat;
}
@media screen and (max-width: 750px) {
  .main .obi .wrap .item--01 .text--01 .line + .line {
    margin-left: 0;
    padding-left: 0.3rem;
    background-size: 0.22rem auto;
  }
}
.main .obi .wrap .item--01 .text--01 .line strong {
  font-size: 120%;
}
.main .obi .wrap .item--01 .text--02 {
  margin: 0.04rem 0 0;
  letter-spacing: 0.02rem;
}
@media screen and (max-width: 750px) {
  .main .obi .wrap .item--01 .text--02 {
    padding-bottom: 0.06rem;
  }
}
.main .obi .wrap .item--01 .text--02 .num {
  font-size: 0.44rem;
  padding: 0 0.03rem;
}
@media screen and (max-width: 750px) {
  .main .obi .wrap .item--01 .text--02 .num {
    font-size: 0.56rem;
  }
}
.main .obi .wrap .item--02, .main .obi .wrap .item--03, .main .obi .wrap .item--04 {
  background: url(../imgs/line-obi.png) 0 50%/0.01rem auto no-repeat;
}
@media screen and (max-width: 750px) {
  .main .obi .wrap .item--02, .main .obi .wrap .item--03, .main .obi .wrap .item--04 {
    background: repeating-linear-gradient(90deg, #fff, #fff 0.01rem, transparent 0.01rem, transparent 0.05rem) 50% 0/5.9rem 0.01rem no-repeat;
  }
}
.main .obi .wrap .item--02 {
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .main .obi .wrap .item--02 {
    display: flex;
    justify-content: center;
  }
}
.main .obi .wrap .item--02 .text--01 {
  margin-top: -0.2rem;
}
@media screen and (max-width: 750px) {
  .main .obi .wrap .item--02 .text--01 {
    margin: 0 auto;
  }
}
.main .obi .wrap .item--02 .text--01 .line {
  text-align: left;
}
@media screen and (max-width: 750px) {
  .main .obi .wrap .item--02 .text--01 .line {
    margin: 0 auto;
  }
}
.main .obi .wrap .item--02 .text--01 .line .small {
  padding-bottom: 0.06rem;
  font-size: 0.12rem;
  line-height: 1.3333333333;
  letter-spacing: 0;
}
@media screen and (max-width: 750px) {
  .main .obi .wrap .item--02 .text--01 .line .small {
    margin-bottom: 0.1rem;
    font-size: 0.2rem;
  }
}
.main .obi .wrap .item--02 .text--01 .line strong {
  font-size: 120%;
}
.main .obi .wrap .item--02 .text--01 .line strong.num {
  font-size: 0.44rem;
  padding: 0 0.03rem;
}
@media screen and (max-width: 750px) {
  .main .obi .wrap .item--02 .text--01 .line strong.num {
    font-size: 0.56rem;
  }
}
.main .obi .wrap .item--02 .text--01 .line + .line {
  margin-top: 0.1rem;
}
.main .obi .wrap .item--03, .main .obi .wrap .item--04 {
  position: relative;
}
.main .obi .wrap .item--03 .num, .main .obi .wrap .item--04 .num {
  font-size: 0.44rem;
}
@media screen and (max-width: 750px) {
  .main .obi .wrap .item--03 .num, .main .obi .wrap .item--04 .num {
    font-size: 0.52rem;
  }
}
.main .obi .wrap .item--03 sub, .main .obi .wrap .item--04 sub {
  font-size: 0.5em;
}
.main .obi .wrap .item--03 .note, .main .obi .wrap .item--04 .note {
  position: absolute;
  right: 0;
  bottom: 0.18rem;
  left: 0;
  font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
  font-size: 0.14rem;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .main .obi .wrap .item--03 .note, .main .obi .wrap .item--04 .note {
    position: static;
    margin: 0.1rem 0 0;
    font-size: 0.2rem;
  }
}
.main .obi .wrap .item--03 {
  padding: 0.25rem 0 0.45rem 0;
}
.main .info {
  padding: 1.5rem 0;
  overflow: visible;
  background: rgba(134, 184, 160, 0.1);
}
@media screen and (max-width: 750px) {
  .main .info {
    padding: 1.4rem 0;
  }
}
.main .info .ttl {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  background: #333 url(../assets/imgs/bg-txt_227x204.jpg) 60% -1.1rem/2.27rem auto no-repeat;
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
  font-size: 0.3rem;
  font-weight: 400;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .main .info .ttl {
    font-size: 0.4rem;
  }
}
.main .info .text {
  margin: 0.6rem 0 0;
}
.main .info .text.reserveinfo {
  text-align: center;
  line-height: 2;
}
.main .info .text.reserveinfo .sttl {
  font-size: 0.35rem;
}
@media screen and (max-width: 750px) {
  .main .info .text.reserveinfo .sttl {
    font-size: 0.45rem;
  }
}
.main .info .text.reserveinfo p {
  font-size: 130%;
  margin-top: 0.1rem;
}
@media screen and (max-width: 750px) {
  .main .info .text.reserveinfo p {
    font-size: 100%;
  }
}
.main .info .text.entlyinfo {
  font-size: 130%;
  line-height: 2;
}
@media screen and (max-width: 750px) {
  .main .info .text.entlyinfo {
    font-size: 110%;
  }
}
.main .info .btn {
  margin-top: 0.3rem;
}
.main .info .btn a {
  transition: 0.4s;
  transition-property: background-color, color;
  color: #fff;
  display: grid;
  place-items: center;
  height: 0.9rem;
  font-size: 0.2rem;
  width: 4.6rem;
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .main .info .btn a {
    font-size: 0.28rem;
  }
}
.main .info .btn a.entry {
  background: linear-gradient(90deg, #88bfb2, #78aa9f);
  box-shadow: inset 0 0 0 0.01rem #78aa9f;
}
@media screen and (hover: hover) and (pointer: fine) {
  .main .info .btn a.entry:hover {
    background: linear-gradient(90deg, #fff, #fff);
    color: #78aa9f;
  }
}
.main .info .btn a.reserve {
  background: #bc6767;
  box-shadow: inset 0 0 0 0.01rem #bc6767;
  position: relative;
}
@media screen and (hover: hover) and (pointer: fine) {
  .main .info .btn a.reserve:hover {
    background-color: #fff;
    color: #bc6767;
  }
}
.main .info .btn a.reserve {
  /*&::before {
  	content: "NEW";
  	position: absolute;
  	background: #b1332f;
  	color: #fff;
  	font-size: .12rem;
  	width: .75rem;
  	height: .2rem;
  	padding-bottom: 0.01rem;
  	display: flex;
  	align-items: center;
  	justify-content: center;
  	line-height: 1;
  	left: .5rem;
  	top: 50%;
  	border: 1px solid rgba(#FFF, .7);

  	@include pc {
  		transform: translate(0, -50%);
  	}

  	@include sp {
  		width: .6rem;
  		left: .2rem;
  		top: -.2rem;
  		height: .3rem;

  	}
  }*/
}
.main .info .btn a.online {
  background: #475f72;
  box-shadow: inset 0 0 0 0.01rem #475f72;
  position: relative;
  line-height: 1.5;
}
@media screen and (hover: hover) and (pointer: fine) {
  .main .info .btn a.online:hover {
    background-color: #fff;
    color: #475f72;
  }
}
.main .info .btn a.online small {
  font-size: 0.14rem;
}
@media screen and (min-width: 751px) {
  .main .info .btn a.online small {
    display: block;
  }
}
.main .entryBlock .special-movie {
  width: 12rem;
  margin: 1.3rem auto 0;
}
@media screen and (max-width: 750px) {
  .main .entryBlock .special-movie {
    width: auto;
  }
}
.main .entryBlock .special-movie .inner {
  border: 0.18rem solid #f0faf8;
  padding: 0.07rem;
}
@media screen and (max-width: 750px) {
  .main .entryBlock .special-movie .inner {
    padding: 0.02rem;
  }
}
.main .entryBlock .special-movie .inner .items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 0.5rem;
  border: 0.02rem solid #f0faf8;
  padding: 0.4rem;
}
@media screen and (max-width: 750px) {
  .main .entryBlock .special-movie .inner .items {
    grid-template-columns: repeat(1, 1fr);
    padding: 0.2rem 0.2rem 0.6rem;
    grid-gap: 0;
  }
}
@media screen and (max-width: 750px) {
  .main .entryBlock .special-movie .inner .items .body {
    grid-row: 2/3;
    grid-column: 1/2;
  }
}
.main .entryBlock .special-movie .inner .items .body .sttl {
  background-color: #78aa9f;
  color: #FFF;
  position: relative;
  padding: 0.05rem 0.1rem 0.05rem 0.95rem;
}
@media screen and (max-width: 750px) {
  .main .entryBlock .special-movie .inner .items .body .sttl {
    text-align: center;
    line-height: 1.4;
    padding: 0.075rem 0.1rem;
    margin: 0 -0.2rem;
  }
}
.main .entryBlock .special-movie .inner .items .body .sttl .new {
  position: absolute;
  left: 0.2rem;
  margin: 0 auto;
  background: #b1332f;
  color: #fff;
  font-size: 0.12rem;
  width: 0.6rem;
  height: 0.2rem;
  padding-bottom: 0.01rem;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  transform: translate(0, -50%);
  top: 50%;
}
@media screen and (max-width: 750px) {
  .main .entryBlock .special-movie .inner .items .body .sttl .new {
    top: 5%;
    height: 0.3rem;
  }
}
.main .entryBlock .special-movie .inner .items .body dl {
  margin-top: 0.2rem;
}
.main .entryBlock .special-movie .inner .items .body dl dt {
  font-size: 0.25rem;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .main .entryBlock .special-movie .inner .items .body dl dt {
    font-size: 0.26rem;
  }
}
.main .entryBlock .special-movie .inner .items .body dl dd {
  font-size: 0.5rem;
  text-align: center;
  margin-top: 0.1rem;
}
.main .entryBlock .special-movie .inner .items .body dl .movie_grade {
  background: #333 url(../assets/imgs/bg-grade.jpg) -0.4rem -1.6rem/3rem auto no-repeat;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  line-height: 1.1;
  padding-bottom: 0.04rem;
}
.main .entryBlock .special-movie .inner .items .body .text {
  font-size: 0.2rem;
  line-height: 2;
  letter-spacing: 0.06em;
  text-align: center;
  margin-top: 0.3rem;
}
@media screen and (max-width: 750px) {
  .main .entryBlock .special-movie .inner .items .body .text {
    font-size: 0.26rem;
  }
}
.main .entryBlock .special-movie .inner .items .body .btn-ttl {
  text-align: center;
  font-size: 0.25rem;
  display: inline-flex;
  flex-direction: column;
  position: relative;
  line-height: 1.4;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-top: 0.5rem;
}
@media screen and (max-width: 750px) {
  .main .entryBlock .special-movie .inner .items .body .btn-ttl {
    font-size: 0.26rem;
  }
}
.main .entryBlock .special-movie .inner .items .body .btn-ttl::before, .main .entryBlock .special-movie .inner .items .body .btn-ttl::after {
  display: block;
  margin: auto;
  position: absolute;
}
.main .entryBlock .special-movie .inner .items .body .btn-ttl::before {
  content: "＼";
  left: 0.2rem;
}
.main .entryBlock .special-movie .inner .items .body .btn-ttl::after {
  content: "／";
  right: 0.2rem;
}
.main .entryBlock .special-movie .inner .items .body .btn-ttl span {
  font-size: 0.16rem;
}
@media screen and (max-width: 750px) {
  .main .entryBlock .special-movie .inner .items .body .btn-ttl span {
    font-size: 0.2rem;
  }
}
.main .entryBlock .special-movie .inner .items .body .btn {
  margin-top: 0.1rem;
}
@media screen and (max-width: 750px) {
  .main .entryBlock .special-movie .inner .items .body .btn {
    margin-top: 0.2rem;
  }
}
.main .entryBlock .special-movie .inner .items .body .btn a {
  transition: 0.4s;
  transition-property: background-color, color;
  color: #fff;
  display: grid;
  place-items: center;
  height: 0.9rem;
  font-size: 0.2rem;
  width: 4.6rem;
  background: #7a6a55;
  box-shadow: inset 0 0 0 0.01rem #7a6a55;
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .main .entryBlock .special-movie .inner .items .body .btn a {
    font-size: 0.28rem;
  }
}
@media screen and (hover: hover) and (pointer: fine) {
  .main .entryBlock .special-movie .inner .items .body .btn a:hover {
    background-color: #fff;
    color: #7a6a55;
  }
}
@media screen and (max-width: 750px) {
  .main .entryBlock .special-movie .inner .items .image {
    grid-row: 1/2;
    grid-column: 1/2;
    margin: -0.2rem -0.2rem 0;
  }
}
.main .entryBlock .special-movie .inner .items .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.main .entryBlock .flow {
  width: 12rem;
  margin: 1.3rem auto 0;
  padding: 0 0 0.5rem;
  position: relative;
  background: #fff;
  box-shadow: 0 0 0.57rem 0.03rem rgba(224, 241, 237, 0.8);
  overflow: visible;
}
@media screen and (max-width: 750px) {
  .main .entryBlock .flow {
    width: auto;
    margin: 1.4rem 0 0 -0.4rem;
    padding: 0;
  }
}
.main .entryBlock .flow .prepend {
  display: flex;
  align-items: flex-end;
  position: relative;
  padding: 0.6rem 0 0 0.8rem;
  background: linear-gradient(#78aa9f 0.17rem, #e5eceb 0.17rem) 0.5rem 0/0.03rem 0.73rem no-repeat;
}
@media screen and (max-width: 750px) {
  .main .entryBlock .flow .prepend {
    display: block;
    padding: 0.8rem 0.6rem 0 0.8rem;
    background: linear-gradient(#78aa9f 0.3rem, #e5eceb 0.3rem) 0.4rem 0/0.06rem 1rem no-repeat;
  }
}
.main .entryBlock .flow .prepend .sttl {
  width: 4rem;
  font-weight: 400;
}
.main .entryBlock .flow .prepend .sttl .en {
  display: block;
  font-size: 0.2rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .main .entryBlock .flow .prepend .sttl .en {
    font-size: 0.26rem;
  }
}
.main .entryBlock .flow .prepend .sttl .ja {
  display: block;
  padding: 0.3rem 0 0;
  font-size: 0.28rem;
  line-height: 0.46rem;
}
@media screen and (max-width: 750px) {
  .main .entryBlock .flow .prepend .sttl .ja {
    padding: 0.48rem 0 0;
    font-size: 0.31rem;
    line-height: 0.6rem;
  }
}
@media screen and (max-width: 750px) {
  .main .entryBlock .flow .prepend .text {
    padding: 0;
    font-size: 0.26rem;
    line-height: 0.5rem;
  }
}
.main .entryBlock .flow .prepend .image {
  width: 3rem;
  position: absolute;
  top: -0.55rem;
  right: -1.2rem;
}
@media screen and (max-width: 750px) {
  .main .entryBlock .flow .prepend .image {
    width: 2.4rem;
    top: -0.4rem;
    right: -0.4rem;
  }
}
.main .entryBlock .flow .list {
  margin: 0.6rem 0 0;
}
.main .entryBlock .flow .list .inner {
  display: flex;
  background: #f0faf8;
}
@media screen and (max-width: 750px) {
  .main .entryBlock .flow .list .inner {
    flex-direction: column;
    gap: 0.2rem;
    box-sizing: border-box;
    margin-right: -0.4rem;
    padding: 0.4rem;
  }
}
.main .entryBlock .flow .list .item {
  box-sizing: border-box;
  width: 4rem;
  padding: 0.5rem;
  position: relative;
}
@media screen and (max-width: 750px) {
  .main .entryBlock .flow .list .item {
    display: grid;
    grid-template-rows: auto auto 1fr;
    grid-template-columns: 1fr 55%;
    gap: 0.2rem;
    width: auto;
    padding: 0;
  }
}
.main .entryBlock .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 .entryBlock .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 .entryBlock .flow .list .item:first-child {
  border-left: none;
}
@media screen and (max-width: 750px) {
  .main .entryBlock .flow .list .item:first-child {
    grid-template-rows: auto 1fr;
  }
  .main .entryBlock .flow .list .item:first-child .num {
    grid-row: 1/2;
  }
  .main .entryBlock .flow .list .item:first-child .name {
    grid-row: 2/3;
  }
  .main .entryBlock .flow .list .item:first-child .text {
    grid-row: 1/3;
  }
}
.main .entryBlock .flow .list .item:first-child::before {
  content: none;
}
.main .entryBlock .flow .list .item .num {
  color: #78aa9f;
  font-size: 0.26rem;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .main .entryBlock .flow .list .item .num {
    grid-row: 2/3;
    grid-column: 1/2;
    font-size: 0.34rem;
  }
}
.main .entryBlock .flow .list .item .num span {
  font-size: 0.18rem;
}
@media screen and (max-width: 750px) {
  .main .entryBlock .flow .list .item .num span {
    font-size: 0.24rem;
  }
}
.main .entryBlock .flow .list .item .name {
  margin: 0.2rem 0 0;
  font-size: 0.24rem;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .main .entryBlock .flow .list .item .name {
    grid-row: 3/4;
    grid-column: 1/2;
    margin: 0;
    font-size: 0.32rem;
  }
}
.main .entryBlock .flow .list .item .text {
  margin: 0;
  padding: 0.28rem 0 0;
}
@media screen and (max-width: 750px) {
  .main .entryBlock .flow .list .item .text {
    grid-row: 2/4;
    grid-column: 2/3;
    padding: 0;
    font-size: 0.26rem;
    line-height: 0.5rem;
  }
}
.main .entryBlock .flow .list .simplebar-wrapper {
  padding: 0 0 0.48rem;
}
.main .entryBlock .flow .list .simplebar-track.simplebar-horizontal {
  height: 0.04rem;
}
.main .entryBlock .flow .list .simplebar-scrollbar::before {
  inset: 0;
  background: #78aa9f;
  border-radius: 0.02rem;
  opacity: 1;
}
.main .entryBlock .flow::after {
  content: "";
  display: block;
  width: 2.74rem;
  aspect-ratio: 274/281;
  position: absolute;
  bottom: -1.68rem;
  left: -1.5rem;
  background: url(../assets/imgs/leaf_274x281.png) 0 0/contain no-repeat;
}
@media screen and (max-width: 750px) {
  .main .entryBlock .flow::after {
    display: none;
  }
}
.main .entryBlock .cv {
  display: flex;
  justify-content: center;
  gap: 0.2rem;
  margin: 0.7rem 0 0;
}
@media screen and (max-width: 750px) {
  .main .entryBlock .cv {
    flex-direction: column;
    gap: 0.2rem;
    width: 5.9rem;
    margin: 1rem auto 0;
  }
}
.main .entryBlock .cv li {
  width: 4.6rem;
  box-shadow: 0.11rem 0.16rem 0.29rem 0.01rem rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 750px) {
  .main .entryBlock .cv li {
    width: auto;
  }
}
.main .entryBlock .cv a {
  height: 0.9rem;
  font-size: 0.2rem;
}
@media screen and (max-width: 750px) {
  .main .entryBlock .cv a {
    height: 1.1rem;
    font-size: 0.28rem;
  }
}
.main section {
  container-type: inline-size;
  overflow: hidden;
}
.main section .catch .en {
  margin: 0.15rem 0 -0.05rem;
  color: #c2d5d2;
  font-size: 0.15rem;
  line-height: 0.2rem;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 750px) {
  .main section .catch .en {
    margin: 0.3rem 0 -0.05rem;
    font-size: 0.2rem;
    line-height: 0.3rem;
  }
}
.main section .catch .ja {
  white-space: nowrap;
}
.main section .catch .ja sub {
  color: #333;
  font-size: 0.14rem;
  left: -0.2rem;
  bottom: -0.03rem;
}
.main section.story {
  padding: 3.6rem 0 4.08rem;
  background-image: url(../assets/imgs/leaf_144x146.png), url(../assets/imgs/leaf_286x247.png);
  background-position: calc(50% + 0.72rem + 5.98rem) 8.84rem, calc(50% + 1.43rem - 6.52rem) 100%;
  background-size: 1.46rem auto, 2.86rem auto;
  background-repeat: no-repeat;
}
@media screen and (max-width: 750px) {
  .main section.story {
    padding: 0;
    margin: 1.5rem 0;
    background-image: none;
  }
}
.main section.story .wrap {
  position: relative;
}
.main section.story .ttl {
  font-size: 1.2rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .main section.story .ttl {
    font-size: 0.84rem;
  }
}
.main section.story .catch {
  padding: 1.3rem 0 0;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .main section.story .catch {
    padding: 0.6rem 0 0;
  }
}
.main section.story .catch .en {
  margin: 0;
  color: inherit;
  font-size: 0.6rem;
}
.main section.story .catch .en span {
  font-style: italic;
}
.main section.story .catch .ja {
  margin: 0.34rem 0 0;
  font-size: 0.34rem;
  line-height: 1;
}
.main section.story .text {
  padding: 1.3rem 0 0;
  font-size: 0.2rem;
  line-height: 3;
  letter-spacing: 0.06em;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .main section.story .text {
    padding: 1rem 0 0;
    font-size: 0.28rem;
  }
}
.main section.story .image {
  position: absolute;
}
@media screen and (max-width: 750px) {
  .main section.story .image {
    position: relative;
  }
}
.main section.story .image--01 {
  width: 3.9rem;
  top: -2rem;
  right: max(-2.4rem, 7.2rem - 50cqw);
}
@media screen and (max-width: 750px) {
  .main section.story .image--01 {
    width: 6.7rem;
    margin: 0.6rem auto 0;
    position: relative;
    top: 0;
    right: 0;
  }
}
.main section.story .image--02 {
  width: 2.38rem;
  top: 3.02rem;
  right: 0.44rem;
}
@media screen and (max-width: 750px) {
  .main section.story .image--02 {
    width: 2.7rem;
    margin: 0.6rem -0.4rem 0 auto;
    top: 0;
    right: 0;
    z-index: 1;
  }
}
.main section.story .image--03 {
  width: 4.5rem;
  top: 3.16rem;
  left: max(-2.4rem, 7.2rem - 50cqw);
}
@media screen and (max-width: 750px) {
  .main section.story .image--03 {
    width: 4.9rem;
    margin: -1rem 0 0 -0.4rem;
    top: 0;
    left: 0.4rem;
    z-index: 0;
  }
}
.main section.story .image--04 {
  width: 3.4rem;
  top: 6.34rem;
  left: -0.32rem;
}
@media screen and (max-width: 750px) {
  .main section.story .image--04 {
    width: 4rem;
    margin: 0.6rem 0 0 2.6rem;
    top: 0;
    left: 0;
  }
}
.main section.story .image--05 {
  width: 3rem;
  right: -0.1rem;
  bottom: -2.94rem;
}
@media screen and (max-width: 750px) {
  .main section.story .image--05 {
    margin: -0.4rem 3rem 0 auto;
    left: 0;
    bottom: 0;
  }
}
.main section.special .inner {
  display: grid;
  grid-template-rows: auto auto;
  grid-template-columns: 6.3rem 1fr 1.62rem;
  gap: 0.58rem 0.66rem;
  box-sizing: border-box;
  height: 7.64rem;
  padding: 0.67rem 0.62rem 0.89rem 0.7rem;
  background: url(../imgs/bg01.jpg) 0 0/cover no-repeat;
}
@media screen and (max-width: 750px) {
  .main section.special .inner {
    display: block;
    height: auto;
    padding: 0;
    background: none;
    margin-top: 1rem;
  }
}
.main section.special .inner .images {
  display: contents;
}
@media screen and (max-width: 750px) {
  .main section.special .inner .images {
    display: flex;
    justify-content: space-between;
    margin-inline: -0.4rem;
  }
}
.main section.special .inner .images .image--01 {
  grid-row: 2/3;
  grid-column: 1/2;
}
@media screen and (max-width: 750px) {
  .main section.special .inner .images .image--01 {
    width: 77.2%;
  }
}
.main section.special .inner .images .image--02 {
  grid-row: 2/3;
  grid-column: 3/4;
}
@media screen and (max-width: 750px) {
  .main section.special .inner .images .image--02 {
    width: 19.8%;
  }
}
.main section.special .inner .ttl {
  grid-row: 1/2;
  grid-column: 1/4;
  width: 4.13rem;
  justify-self: center;
}
@media screen and (max-width: 750px) {
  .main section.special .inner .ttl {
    width: 6.13rem;
    margin: 0.8rem auto 0;
  }
}
.main section.special .inner .text {
  grid-row: 2/3;
  grid-column: 2/3;
  padding: 0.07rem 0 0;
}
@media screen and (max-width: 750px) {
  .main section.special .inner .text {
    padding: 0.8rem 0 0;
  }
}
.main section.special .inner .text .catch {
  grid-template-rows: auto 1fr;
  grid-template-columns: 1fr 1.4rem;
  gap: 0.18rem 0;
}
@media screen and (max-width: 750px) {
  .main section.special .inner .text .catch {
    gap: 0.2rem;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
  }
}
.main section.special .inner .text .catch .items {
  display: flex;
  justify-content: center;
  align-items: center;
}
.main section.special .inner .text .catch .item--01 {
  border-bottom: 0.1px solid #333;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 0.16rem;
  letter-spacing: 0.0595em;
  line-height: 2;
  margin: 0 0 0 0.1rem;
}
@media screen and (max-width: 750px) {
  .main section.special .inner .text .catch .item--01 {
    border: 0.1px solid #333;
    border-radius: 5px;
    padding: 0.06rem 0.3rem;
    font-size: 0.24rem;
    margin: 0 auto 0.3rem;
  }
}
.main section.special .inner .text .catch .item--02 {
  grid-row: 2/3;
  grid-column: 1/2;
  font-size: 0.48rem;
  padding: 0 0.2rem 0.1rem 0;
  letter-spacing: 0.045em;
  line-height: 1;
  white-space: nowrap;
}
@media screen and (max-width: 750px) {
  .main section.special .inner .text .catch .item--02 {
    font-size: 0.64rem;
  }
}
.main section.special .inner .text .catch .item--03 {
  grid-row: 1/3;
  grid-column: 2/3;
  display: grid;
  place-items: center;
  height: 1rem;
  width: 1rem;
  position: relative;
  border-radius: 50%;
  font-family: "Forum", serif;
  font-size: 0.64rem;
  letter-spacing: 0;
  box-shadow: inset 0 0 0 0.02rem currentColor;
}
@media screen and (max-width: 750px) {
  .main section.special .inner .text .catch .item--03 {
    font-size: 0.74rem;
    height: 1.3rem;
    width: 1.3rem;
  }
}
.main section.special .inner .text .catch .item--03::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0.09rem;
  border-radius: 50%;
  opacity: 0.5;
  box-shadow: inset 0 0 0 0.01rem currentColor;
}
.main section.special .inner .text p {
  padding: 0.66rem 0 0;
  font-size: 0.2rem;
  line-height: 0.43rem;
  white-space: nowrap;
}
@media screen and (max-width: 750px) {
  .main section.special .inner .text p {
    padding: 0.6rem 0 0;
    font-size: inherit;
    line-height: inherit;
    text-align: center;
  }
}
.main section.special .inner .text .btn--detail {
  margin: 0.96rem 0 0;
}
@media screen and (max-width: 750px) {
  .main section.special .inner .text .btn--detail {
    margin: 0.5rem auto 0;
  }
}
.main section.position .text .ttl,
.main section.location .text .ttl,
.main section.access .text .ttl,
.main section.residence .text .ttl,
.main section.plan .text .ttl,
.main section.landlease .text .ttl {
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .main section.position .text .ttl,
  .main section.location .text .ttl,
  .main section.access .text .ttl,
  .main section.residence .text .ttl,
  .main section.plan .text .ttl,
  .main section.landlease .text .ttl {
    font-size: 0.84rem;
  }
}
.main section.position .text .catch,
.main section.location .text .catch,
.main section.access .text .catch,
.main section.residence .text .catch,
.main section.plan .text .catch,
.main section.landlease .text .catch {
  margin: 0.9rem 0 0;
}
@media screen and (max-width: 750px) {
  .main section.position .text .catch,
  .main section.location .text .catch,
  .main section.access .text .catch,
  .main section.residence .text .catch,
  .main section.plan .text .catch,
  .main section.landlease .text .catch {
    margin: 0.6rem 0 0;
  }
}
.main section.position .text .btn--detail,
.main section.location .text .btn--detail,
.main section.access .text .btn--detail,
.main section.residence .text .btn--detail,
.main section.plan .text .btn--detail,
.main section.landlease .text .btn--detail {
  margin: 0.5rem 0 0;
}
.main section.position {
  margin: 1.9rem 0 0;
}
@media screen and (max-width: 750px) {
  .main section.position {
    margin: 1.5rem 0 0;
  }
}
.main section.position .wrap {
  display: grid;
  grid-template-rows: auto;
  grid-template-columns: 1fr 8.2rem;
}
@media screen and (max-width: 750px) {
  .main section.position .wrap {
    display: block;
  }
}
.main section.position .image {
  grid-row: 1/2;
  grid-column: 2/3;
  margin-right: calc(7.2rem - 50cqw);
}
@media screen and (max-width: 750px) {
  .main section.position .image {
    margin-inline: -0.4rem;
  }
}
.main section.position .image img {
  width: 100%;
  height: 7.7rem;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 750px) {
  .main section.position .image img {
    height: auto;
  }
}
.main section.position .text {
  grid-row: 1/2;
  grid-column: 1/2;
  align-self: center;
}
@media screen and (max-width: 750px) {
  .main section.position .text {
    margin: 1rem 0 0;
    padding: 0 0.4rem;
  }
}
.main section.location {
  margin: 1.5rem 0 0;
}
@media screen and (max-width: 750px) {
  .main section.location {
    margin: 1.6rem 0 0;
  }
}
.main section.location .wrap {
  display: grid;
  grid-template-rows: auto auto;
  grid-template-columns: 8.54rem 1fr;
  gap: 1rem 1.3rem;
}
@media screen and (max-width: 750px) {
  .main section.location .wrap {
    display: block;
  }
}
.main section.location .image--01 {
  grid-row: 1/3;
  grid-column: 1/2;
  align-self: flex-start;
  margin-left: -0.78rem;
}
@media screen and (max-width: 750px) {
  .main section.location .image--01 {
    margin-inline: -0.4rem;
  }
}
.main section.location .image--02 {
  grid-row: 2/3;
  grid-column: 2/3;
  width: 3.9rem;
  margin: 0 -0.88rem 0 auto;
}
@media screen and (max-width: 750px) {
  .main section.location .image--02 {
    width: 3rem;
    margin: 0 -0.4rem 0 auto;
  }
}
.main section.location .text {
  grid-row: 1/2;
  grid-column: 2/3;
  padding: 0.7rem 0 0;
  margin-right: -0.88rem;
}
@media screen and (max-width: 750px) {
  .main section.location .text {
    margin: 1rem 0 0;
    padding: 0 0.4rem;
  }
}
.main section.access {
  margin: 1rem 0 0;
}
@media screen and (max-width: 750px) {
  .main section.access {
    margin: 1.5rem 0 0;
  }
}
.main section.access .wrap {
  display: grid;
  grid-template-rows: auto;
  grid-template-columns: 1fr 6.2rem;
}
@media screen and (max-width: 750px) {
  .main section.access .wrap {
    display: block;
    padding-inline: 0.8rem;
  }
}
.main section.access .image {
  grid-row: 1/2;
  grid-column: 2/3;
  width: 7.7rem;
}
@media screen and (max-width: 750px) {
  .main section.access .image {
    width: auto;
    margin-left: -0.8rem;
  }
}
.main section.access .text {
  grid-row: 1/2;
  grid-column: 1/2;
  padding: 0.4rem 0 0;
}
@media screen and (max-width: 750px) {
  .main section.access .text {
    margin: 1rem 0 0;
    padding: 0;
  }
}
.main section.residence {
  margin: 1.54rem 0 0;
}
@media screen and (max-width: 750px) {
  .main section.residence {
    margin: 1.5rem 0 0;
  }
}
.main section.residence .image {
  margin-left: -0.6rem;
  margin-right: max(-2.4rem, 7.2rem - 50cqw);
}
@media screen and (max-width: 750px) {
  .main section.residence .image {
    margin-left: -0.4rem;
    margin-right: -0.4rem;
  }
}
.main section.residence .text {
  display: flex;
  justify-content: space-between;
  padding: 0.8rem 0 0;
}
@media screen and (max-width: 750px) {
  .main section.residence .text {
    display: block;
    margin: 1rem 0 0;
    padding: 0 0.4rem;
  }
}
.main section.residence .text .ttl {
  width: 50%;
  text-align: right;
}
@media screen and (max-width: 750px) {
  .main section.residence .text .ttl {
    width: auto;
    text-align: left;
  }
}
.main section.residence .text .body {
  margin-right: -0.7rem;
}
@media screen and (max-width: 750px) {
  .main section.residence .text .body {
    margin-right: 0;
  }
}
.main section.residence .text .catch {
  margin: 0;
}
@media screen and (max-width: 750px) {
  .main section.residence .text .catch {
    margin: 0.6rem 0 0;
  }
}
.main section.plan {
  display: flex;
  margin: 2rem 0 0;
  position: relative;
  background: #fff;
  overflow: visible;
  box-shadow: 0 0 0.57rem 0.03rem rgba(224, 241, 237, 0.5);
}
@media screen and (max-width: 750px) {
  .main section.plan {
    display: block;
    margin: 1.5rem 0 0;
    padding: 0 0 2rem;
  }
}
.main section.plan::after {
  content: "";
  display: block;
  width: 2.74rem;
  aspect-ratio: 274/239;
  position: absolute;
  top: -0.66rem;
  right: 0.42rem;
  background: url(../assets/imgs/leaf_274x239.png) 0 0/contain no-repeat;
}
@media screen and (max-width: 750px) {
  .main section.plan::after {
    width: 1.37rem;
    top: -0.6rem;
    right: 0;
  }
}
.main section.plan .image {
  width: 7.2rem;
}
@media screen and (max-width: 750px) {
  .main section.plan .image {
    width: auto;
  }
}
.main section.plan .body {
  box-sizing: border-box;
  width: calc(100% - 7.2rem);
  padding: 1rem 0 0 1.2rem;
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .main section.plan .body {
    width: auto;
    padding: 0;
  }
}
.main section.plan .text {
  display: flex;
}
@media screen and (max-width: 750px) {
  .main section.plan .text {
    display: block;
    margin: 1rem 0 0;
    padding: 0 0.8rem;
  }
}
.main section.plan .text .ttl {
  width: 3.7rem;
  margin: 0.5rem 0 0;
}
@media screen and (max-width: 750px) {
  .main section.plan .text .ttl {
    width: auto;
    margin: 0;
  }
}
.main section.plan .text .body {
  width: calc(100% - 3.7rem);
  padding: 0;
}
@media screen and (max-width: 750px) {
  .main section.plan .text .body {
    width: auto;
  }
}
.main section.plan .text .catch {
  margin: 0;
}
@media screen and (max-width: 750px) {
  .main section.plan .text .catch {
    margin: 0.6rem 0 0;
  }
}
.main section.plan .slider {
  margin: 0.5rem 0 0 -0.275rem;
}
@media screen and (max-width: 750px) {
  .main section.plan .slider {
    width: 6.1rem;
    margin: 1.4rem auto 0;
    overflow: visible;
  }
  .main section.plan .slider::after {
    content: "";
    display: block;
    width: 0.8rem;
    aspect-ratio: 47230/57893;
    position: absolute;
    top: -1.1rem;
    right: -0.2rem;
    background: url(../assets/imgs/ico-swipe.svg) 0 0/contain no-repeat;
    pointer-events: none;
  }
}
.main section.plan .slider .swiper-wrapper {
  translate: calc(50cqw + 1.1rem) 0 0;
  transition: translate 1.6s 0.4s;
}
@media screen and (max-width: 750px) {
  .main section.plan .slider .swiper-wrapper {
    translate: 100cqw 0 0;
  }
}
.main section.plan .slider .slide {
  width: 4.25rem;
}
@media screen and (max-width: 750px) {
  .main section.plan .slider .slide {
    width: 6.1rem;
  }
}
.main section.plan .slider .slide .inner {
  position: relative;
  display: grid;
  grid-template-rows: 0.7rem 1fr 1.28rem;
  grid-template-columns: auto;
  width: 3.7rem;
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .main section.plan .slider .slide .inner {
    width: 5.7rem;
    grid-template-rows: 1.1rem 1fr 2rem;
  }
}
.main section.plan .slider .slide .image {
  grid-row: 1/4;
  grid-column: 1/2;
}
.main section.plan .slider .slide .new {
  position: absolute;
  top: 0;
  right: 0;
  background: #b1332f;
  color: #fff;
  font-size: 0.12rem;
  width: 0.5rem;
  height: 0.2rem;
  padding-bottom: 0.01rem;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .main section.plan .slider .slide .new {
    font-size: 0.22rem;
    width: 0.8rem;
    height: 0.4rem;
  }
}
.main section.plan .slider .slide .furniture {
  position: absolute;
  bottom: 0.33rem;
  width: 2.5rem;
  left: 0;
  right: 0;
  margin: 0 auto;
  text-align: center;
  background: #83b9ad;
  color: #fff;
}
@media screen and (max-width: 750px) {
  .main section.plan .slider .slide .furniture {
    bottom: 0.5rem;
    width: 4rem;
    font-size: 0.24rem;
  }
}
.main section.plan .slider .slide .catch {
  grid-row: 1/2;
  grid-column: 1/2;
  display: grid;
  place-items: center;
  color: #78aa9f;
  font-size: 0.2rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .main section.plan .slider .slide .catch {
    font-size: 0.3rem;
  }
}
.main section.plan .slider .slide .spec {
  grid-row: 2/3;
  grid-column: 1/2;
  padding: 0.3rem 0.3rem 0 0.55rem;
  background: linear-gradient(#78aa9f 0.13rem, #d9caca 0.13rem) 0.4rem 0/0.02rem 0.47rem no-repeat;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .main section.plan .slider .slide .spec {
    padding: 0.4rem 0.4rem 0 0.59rem;
    background: linear-gradient(#78aa9f 0.2rem, #d9caca 0.2rem) 0.5rem 0/0.06rem 0.7rem no-repeat;
  }
}
.main section.plan .slider .slide .spec .name {
  color: #78aa9f;
  font-size: 0.26rem;
}
@media screen and (max-width: 750px) {
  .main section.plan .slider .slide .spec .name {
    font-size: 0.42rem;
  }
}
.main section.plan .slider .slide .spec .name span {
  font-size: 0.16rem;
}
@media screen and (max-width: 750px) {
  .main section.plan .slider .slide .spec .name span {
    font-size: 0.26rem;
  }
}
.main section.plan .slider .slide .spec .plan {
  margin: 0.2rem 0 0;
  font-size: 0.44rem;
}
@media screen and (max-width: 750px) {
  .main section.plan .slider .slide .spec .plan {
    margin: 0.28rem 0 0;
    font-size: 0.7rem;
  }
}
.main section.plan .slider .slide .spec .plan span {
  font-size: 0.3rem;
}
@media screen and (max-width: 750px) {
  .main section.plan .slider .slide .spec .plan span {
    font-size: 0.46rem;
  }
}
.main section.plan .slider .slide .spec .size {
  margin: 0.18rem 0 0;
  font-size: 0.38rem;
}
@media screen and (max-width: 750px) {
  .main section.plan .slider .slide .spec .size {
    margin: 0.32rem 0 0;
    font-size: 0.6rem;
  }
}
.main section.plan .slider .slide .spec .size .label {
  margin: 0 0.2rem 0 0;
  font-family: "Shippori Mincho", "Noto Serif JP", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", serif;
  font-size: 0.14rem;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .main section.plan .slider .slide .spec .size .label {
    margin: 0 0.3rem 0 0;
    font-size: 0.26rem;
  }
}
.main section.plan .slider .slide .spec .size .small {
  font-size: 0.3rem;
}
@media screen and (max-width: 750px) {
  .main section.plan .slider .slide .spec .size .small {
    font-size: 0.46rem;
  }
}
.main section.plan .slider .slide .spec .size .small sup {
  font-size: 0.5em;
}
.main section.plan .slider .slide .tag {
  grid-row: 3/4;
  grid-column: 1/2;
  align-self: flex-start;
  display: flex;
  flex-wrap: wrap;
  gap: 0.06rem;
  padding: 0 0.4rem;
}
@media screen and (max-width: 750px) {
  .main section.plan .slider .slide .tag {
    gap: 0.1rem;
    padding: 0 0.5rem;
  }
}
.main section.plan .slider .slide .tag .item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.06rem;
  height: 0.32rem;
  font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
  font-size: 0.13rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .main section.plan .slider .slide .tag .item {
    gap: 0.1rem;
    height: 0.6rem;
    font-size: 0.22rem;
  }
}
.main section.plan .slider .slide .tag .item::before {
  content: "";
  display: block;
  background: 0 0/contain no-repeat;
}
.main section.plan .slider .slide .tag .point {
  width: 1.42rem;
  background: #dbede8;
  color: #78aa9f;
}
@media screen and (max-width: 750px) {
  .main section.plan .slider .slide .tag .point {
    width: 2.3rem;
  }
}
.main section.plan .slider .slide .tag .point::before {
  width: 0.11rem;
  aspect-ratio: 10/16;
  background-image: url(../plan/imgs/ico-point.svg);
}
@media screen and (max-width: 750px) {
  .main section.plan .slider .slide .tag .point::before {
    width: 0.18rem;
  }
}
.main section.plan .slider .slide .tag .price {
  width: 1.42rem;
  background: #edddcf;
  color: #b38b47;
}
@media screen and (max-width: 750px) {
  .main section.plan .slider .slide .tag .price {
    width: 2.3rem;
  }
}
.main section.plan .slider .slide .tag .price::before {
  width: 0.15rem;
  aspect-ratio: 1;
  background-image: url(../plan/imgs/ico-price.svg);
}
@media screen and (max-width: 750px) {
  .main section.plan .slider .slide .tag .price::before {
    width: 0.26rem;
  }
}
.main section.plan .slider .slide .tag .parking {
  width: 2rem;
  background: #e7dddd;
  color: #807777;
}
@media screen and (max-width: 750px) {
  .main section.plan .slider .slide .tag .parking {
    width: 3.44rem;
  }
}
.main section.plan .slider .slide .tag .parking::before {
  width: 0.17rem;
  aspect-ratio: 17/10;
  background-image: url(../plan/imgs/ico-parking.svg);
}
@media screen and (max-width: 750px) {
  .main section.plan .slider .slide .tag .parking::before {
    width: 0.3rem;
  }
}
.main section.plan .slider .slide .limited {
  grid-template-rows: 0.7rem 2.38rem 1fr;
}
@media screen and (max-width: 750px) {
  .main section.plan .slider .slide .limited {
    grid-template-rows: 1.1rem 3.6rem 1fr;
  }
}
.main section.plan .slider .slide .limited .catch {
  color: #fff;
}
.main section.plan .slider .slide .limited .spec {
  background: linear-gradient(#7a6a55 0.13rem, #d8c8b2 0.13rem) 0.4rem 0/0.02rem 0.47rem no-repeat;
}
@media screen and (max-width: 750px) {
  .main section.plan .slider .slide .limited .spec {
    background: linear-gradient(#7a6a55 0.2rem, #d8c8b2 0.2rem) 0.5rem 0/0.06rem 0.7rem no-repeat;
  }
}
.main section.plan .slider .slide .limited .spec .name {
  color: #7a6a55;
}
.main section.plan .slider .slide .limited .spec .plan span {
  font-size: 0.24rem;
}
@media screen and (max-width: 750px) {
  .main section.plan .slider .slide .limited .spec .plan span {
    font-size: 0.36rem;
  }
}
.main section.plan .slider .slide .limited .text {
  grid-row: 3/4;
  grid-column: 1/2;
  display: block;
  text-align: center;
}
.main section.plan .slider .slide .limited .text .legend {
  font-size: 0.35rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .main section.plan .slider .slide .limited .text .legend {
    font-size: 0.44rem;
  }
}
.main section.plan .slider .slide .limited .text p {
  padding: 0.45rem 0 0;
  font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
  font-size: 0.18rem;
  line-height: 0.3rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .main section.plan .slider .slide .limited .text {
    margin: 0;
  }
  .main section.plan .slider .slide .limited .text p {
    padding: 0.6rem 0 0;
    font-size: 0.24rem;
    line-height: 1.6;
  }
}
.main section.plan .slider .nav {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin: 0.4rem 0 0;
  padding: 0 0 0 0.275rem;
}
@media screen and (max-width: 750px) {
  .main section.plan .slider .nav {
    margin: 0.5rem 0 0;
    padding: 0 0.2rem 0 1.2rem;
  }
}
.main section.plan .slider .nav .swiper-pagination {
  display: flex;
  gap: 0.18rem;
  width: auto;
  position: static;
}
@media screen and (max-width: 750px) {
  .main section.plan .slider .nav .swiper-pagination {
    flex-grow: 1;
    justify-content: center;
    gap: 0.2rem;
  }
}
.main section.plan .slider .nav .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.plan .slider .nav .swiper-pagination .swiper-pagination-bullet {
    width: 0.12rem;
    height: 0.12rem;
  }
}
.main section.plan .slider .nav .swiper-pagination .swiper-pagination-bullet-active {
  background: #78aa9f;
}
.main section.plan .slider .nav .swiper-button-prev,
.main section.plan .slider .nav .swiper-button-next {
  position: static;
  width: 0.14rem;
  height: 0.2rem;
  background: url(../assets/imgs/arw02.svg) 50% 50%/contain no-repeat;
}
@media screen and (max-width: 750px) {
  .main section.plan .slider .nav .swiper-button-prev,
  .main section.plan .slider .nav .swiper-button-next {
    width: 0.2rem;
    height: 0.3rem;
  }
}
.main section.plan .slider .nav .swiper-button-prev::after,
.main section.plan .slider .nav .swiper-button-next::after {
  content: none;
}
.main section.plan .slider .nav .swiper-button-prev {
  margin: 0 0 0 0.4rem;
  scale: -1 1;
}
.main section.plan .slider .nav .swiper-button-next {
  margin: 0 0 0 0.26rem;
}
@media screen and (max-width: 750px) {
  .main section.plan .slider .nav .swiper-button-next {
    margin: 0 0 0 0.4rem;
  }
}
.main section.plan .slider.scrollIn .swiper-wrapper {
  translate: 0 0 0;
}
.main section.plan .btn--detail {
  margin: -0.12rem 0 0 7rem;
}
@media screen and (max-width: 750px) {
  .main section.plan .btn--detail {
    margin: 0.7rem 0 0 3rem;
  }
}
.main section.landlease {
  margin: 2rem 0 0;
}
@media screen and (max-width: 750px) {
  .main section.landlease {
    margin: 1.5rem 0 0;
  }
}
.main section.landlease .wrap {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 750px) {
  .main section.landlease .wrap {
    display: block;
  }
}
.main section.landlease .image {
  width: 9.32rem;
  margin-left: -1.4rem;
}
@media screen and (max-width: 750px) {
  .main section.landlease .image {
    width: auto;
    margin-right: -0.4rem;
    margin-left: -0.4rem;
  }
}
.main section.landlease .text {
  width: 5.14rem;
  padding: 0.9rem 0 0;
}
@media screen and (max-width: 750px) {
  .main section.landlease .text {
    width: auto;
    padding: 1rem 0.4rem 0;
  }
}
.main section.landlease .text .btn--detail {
  margin: 0.5rem 0 0;
}

.mvBnr {
  width: 3.75rem;
  position: fixed;
  right: 0.2rem;
  bottom: 0.4rem;
  filter: drop-shadow(0.11rem 0.16rem 0.29rem rgba(0, 0, 0, 0.1));
  translate: 0 2.05rem 0;
  transition: translate 0.8s 0.4s;
}
@media screen and (max-width: 750px) {
  .mvBnr {
    width: 5.73rem;
    right: auto;
    bottom: 1.4rem;
    left: 0.2rem;
    translate: 0 3.53rem 0;
  }
}
.mvBnr .btnClose {
  display: block;
  width: 0.3rem;
  height: 0.3rem;
  position: absolute;
  top: -0.06rem;
  right: -0.13rem;
  background: url(../imgs/mv-bnr-close.svg) 0 0/contain no-repeat;
  cursor: pointer;
}
@media screen and (max-width: 750px) {
  .mvBnr .btnClose {
    width: 0.45rem;
    height: 0.45rem;
    top: -0.135rem;
    right: -0.195rem;
  }
}
.mvBnr.active {
  translate: 0 0 0;
}
.mvBnr:has(.btnClose input:checked) {
  translate: 0 2.05rem 0;
  transition-duration: 0.4s;
  transition-delay: 0s;
}
@media screen and (max-width: 750px) {
  .mvBnr:has(.btnClose input:checked) {
    translate: 0 3.55rem 0;
  }
}

/* ============================
TOPページだけ：mvBnr表示中の pagetop は位置だけ上げる
可視/不可視は .off クラスで制御（IntersectionObserver）
============================ */
body.home:has(.mvBnr.active) .gFooter .pagetop {
  /* 位置を「mvBnrの約1rem上」に（PC） */
  bottom: 2.05rem;
  right: 0.4rem;
  z-index: 4000;
}
@media screen and (max-width: 750px) {
  body.home:has(.mvBnr.active) .gFooter .pagetop {
    width: 0.8rem;
    right: 0.2rem;
    bottom: 1.4rem;
    background-size: auto 0.26rem;
  }
}
body.home:has(.mvBnr.active) .gFooter {
  /* ここで可視/不可視を再定義（前回の常時表示を打ち消す） */
}
body.home:has(.mvBnr.active) .gFooter .pagetop:not(.off) {
  opacity: 1;
  pointer-events: all;
}
body.home:has(.mvBnr.active) .gFooter .pagetop.off {
  opacity: 0;
  pointer-events: none;
}

body.home:has(.mvBnr .btnClose input:checked) .gFooter .pagetop {
  bottom: 0.4rem;
}
@media screen and (max-width: 750px) {
  body.home:has(.mvBnr .btnClose input:checked) .gFooter .pagetop {
    bottom: 1rem;
  }
}

/* バナーを閉じたら（チェック済み）位置は既定のままでもOK。
明示的に元の位置へ戻したい場合は以下を有効化してください
body.home:has(.mvBnr .btnClose input:checked) .gFooter .pagetop {
bottom: .4rem;
@include sp { bottom: 1.4rem; }
}
*/
/*.mvBnr {
	display: block;
	grid-area: 1/1;
	align-self: flex-end;
	justify-self: flex-end;
	width: 3.75rem;
	margin-bottom: .68rem;
	position: relative;
	filter: drop-shadow(.11rem .16rem .29rem rgba(0, 0, 0, 0.1));
	translate: 100% 0 0;
	transition: translate .8s .4s;

	&.active {
		translate: 0 0 0;
	}

	@include sp {
		justify-self: flex-start;
		width: 3.82rem;
		margin: 0 0 .22rem .13rem;
		translate: -3.95rem 0 0;
	}
}*//*# sourceMappingURL=unique.css.map */