@charset "UTF-8";
/* mainvisual - 写真掲載前 */
div#mv {
  background: url("/open/241/img/bg_head.png") repeat-x 0 0/contain;
}

/* mainvisual - 写真掲載後
div#mv {
  background: url("../img/bg_head.jpg") repeat-x 0 0 / contain;
} */
section#intro div#mv dl dt h1 img {
  max-width: 65%;
}

html {
  scroll-behavior: smooth;
}

article {
  color: #303030;
  font-family: "Noto Sans JP", sans-serif;
}

.contents__container {
  width: min(700px, 100% - 48px);
  margin: auto;
  padding: 100px 0 0;
}
.contents__container .catch {
  margin: 0 0 56px;
  padding: 48px 0;
  border-radius: 24px;
  background: #fff5f6;
}
.contents__container .catch h2 {
  position: relative;
  margin: 0;
  text-align: center;
  line-height: 1;
}
.contents__container .catch h2 img {
  width: min(550px, 80%);
}
.contents__container .catch .deco_left {
  position: absolute;
  left: -12px;
  width: clamp(30px, 8vw, 50px);
}
.contents__container .catch .deco_right {
  position: absolute;
  top: 60%;
  right: -18px;
  width: clamp(30px, 8vw, 50px);
}
.contents__container .catch__txt {
  padding: 24px 0;
  color: #5a5a5a;
  font-size: clamp(16px, 4vw, 20px);
  font-weight: 500;
  line-height: 211%;
  letter-spacing: 2.32px;
  text-align: center;
}
.contents__container .catch__comingsoon {
  max-width: 300px;
  margin: 0 auto;
  padding: 8px;
  border-radius: 10px;
  background: url(../img/bg_catch_comingsoon.png) top/contain;
  color: #fff;
  text-align: center;
}
.contents__container h2 {
  margin: 0 0 16px;
  font-family: "Jost", sans-serif;
  font-size: 40px;
  line-height: 1.2;
}
.contents__container h2 span {
  display: block;
  color: #303030;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 50%;
  font-weight: 900;
}
.contents__container .card {
  padding: 0 0 40px;
}
.contents__container .card__image {
  position: relative;
}
.contents__container .card__dammyimage {
  border-radius: 20px;
}
.contents__container .card .comingsoon__txt {
  position: absolute;
  right: 0;
  left: 0;
  bottom: 28%;
  z-index: 1;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
  font-size: clamp(16px, 4vw, 24px);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  letter-spacing: 1.7px;
  color: #fff;
  text-shadow: -1px -1px 0 #303030, -1px 0 0 #303030, -1px 1px 0 #303030, 0 -1px 0 #303030, 0 1px 0 #303030, 1px -1px 0 #303030, 1px 0 0 #303030, 1px 1px 0 #303030;
}
.contents__container .card__comingsoon {
  position: absolute;
  inset: 0;
  bottom: 24px;
  width: 80%;
  margin: auto;
}
.contents__container .card__dammytxt {
  position: absolute;
  right: 16px;
  bottom: 16px;
  color: #fff5f5;
  font-weight: 700;
  text-shadow: -1px -1px 0 #303030, -1px 0 0 #303030, -1px 1px 0 #303030, 0 -1px 0 #303030, 0 1px 0 #303030, 1px -1px 0 #303030, 1px 0 0 #303030, 1px 1px 0 #303030;
}
.contents__container .card__dammytxt small {
  font-size: 14px;
}
.contents__container .card__txt {
  margin: 16px 0 0;
  font-size: clamp(16px, 4vw, 18px);
  font-weight: 700;
}
.contents__container .campaign .card__comingsoon {
  bottom: 0;
  top: 0;
}
.contents__container .opencounter h2 {
  color: #00c3cd;
}
.contents__container .openSpace {
  overflow: hidden;
}
.contents__container .openSpace__container {
  position: relative;
  margin: auto;
  padding-bottom: 80px;
}
@media screen and (min-width: 569px) {
  .contents__container .openSpace__container {
    right: 0;
  }
}
.contents__container .openSpace__ttl {
  position: relative;
  padding: 64px 0 8px;
}
.contents__container .openSpace__ttl .ttl {
  width: 200px;
}
.contents__container .openSpace__ttl .illust {
  position: absolute;
  top: 56px;
  right: 0;
}
.contents__container .openSpace__detail__caption {
  font-size: 15px;
  padding-right: 5%;
}
@media screen and (min-width: 569px) {
  .contents__container .openSpace__detail__caption {
    padding-right: 0;
  }
}
.contents__container .openSpace__detail__summary {
  margin: 16px 0 0;
}
@media screen and (min-width: 569px) {
  .contents__container .openSpace__detail__summary {
    padding-right: 0;
  }
}
.contents__container .openSpace__detail__summary dl {
  display: grid;
  grid-template-columns: 70px 1fr;
  padding: 8px 0;
  border-bottom: 0.6px dashed #000000;
  font-size: 15px;
}
.contents__container .openSpace__detail__summary dl:last-of-type {
  margin-bottom: 8px;
}
.contents__container .openSpace__detail__price a {
  color: #333;
  text-decoration: underline;
}
.contents__container .openSpace__reserve a {
  display: block;
  padding: 20px 0;
  border-radius: 5px;
  background: #e50012;
  color: #fff;
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 569px) {
  .contents__container .openSpace__reserve a {
    margin-right: 0;
  }
}
.contents__container .conceptroom h2 {
  color: #f08c41;
}
.contents__container .conceptRoom {
  padding: 120px 0 40px;
}
.contents__container .conceptRoom p {
  font-size: 16px;
  text-align: left;
}
.contents__container .conceptRoom__container {
  width: min(700px, 90%);
  margin: auto;
}
.contents__container .conceptRoom__ttl p {
  padding: 0 0 40px;
}
.contents__container .conceptRoom__detail {
  margin: 0 0 80px;
}
.contents__container .conceptRoom__detail__image {
  position: relative;
}
.contents__container .conceptRoom__detail__image .comingsoon {
  position: absolute;
  position: absolute;
  inset: 0;
  bottom: 24px;
  width: 80%;
  margin: auto;
}
.contents__container .conceptRoom__detail__image .comingsoon__txt {
  position: absolute;
  right: 0;
  left: 0;
  bottom: 28%;
  z-index: 1;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
  font-size: clamp(16px, 4vw, 24px);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  color: #fff;
  text-shadow: -1px -1px 0 #303030, -1px 0 0 #303030, -1px 1px 0 #303030, 0 -1px 0 #303030, 0 1px 0 #303030, 1px -1px 0 #303030, 1px 0 0 #303030, 1px 1px 0 #303030;
}
.contents__container .conceptRoom__detail__image .comingsoon__image {
  position: absolute;
  bottom: 8px;
  right: 16px;
  z-index: 1;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  color: #fff5f5;
  text-shadow: -1px -1px 0 #303030, -1px 0 0 #303030, -1px 1px 0 #303030, 0 -1px 0 #303030, 0 1px 0 #303030, 1px -1px 0 #303030, 1px 0 0 #303030, 1px 1px 0 #303030;
}
.contents__container .conceptRoom__detail__image img {
  border-radius: 24px;
  overflow: hidden;
}
.contents__container .conceptRoom__detail__name h3 {
  font-size: 18px;
}
.contents__container .conceptRoom__reserveBtn a {
  position: absolute;
  bottom: -16px;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  padding: 20px 0;
  border-radius: 100vw;
  background: #e50012;
  font-weight: bold;
  text-align: center;
  color: #fff;
  z-index: 999;
}
.contents__container .campaign {
  padding: 0 0 80px;
}
.contents__container .campaign h2 {
  color: #1da71d;
}
.contents__container .price h2 {
  font-size: 24px;
  text-align: center;
}
.contents .intro__container {
  margin: auto;
}
.contents .intro__txt {
  width: 100%;
  padding: 80px 0;
  font-weight: bold;
  background: #fff;
}
.contents .intro__txt h2 {
  margin: 0 0 16px;
  font-size: 20px;
  text-align: center;
}
.contents .intro__txt p {
  font-size: clamp(16px, 4vw, 20px);
}
.contents .intro__txt img {
  display: block;
  width: min(100%, 910px);
  margin: 0 auto;
}
.contents .intro__txt span {
  display: block;
  font-size: clamp(20px, 4vw, 40px);
  text-align: center;
}
.contents .intro__txt .intro__comingsoon {
  margin: 0 auto 32px;
  text-align: center;
}
.contents .intro__txt .intro__comingsoon img {
  width: min(500px, 70%);
}
.contents .intro__txt .intro__comingsoon__txt {
  display: flex;
  justify-content: center;
  --x-gradient: linear-gradient(
    90deg,
    #e50012 0 18px,
    transparent 0 calc(100% - 18px),
    #e50012 calc(100% - 18px)
  );
  --y-gradient: linear-gradient(
    #e50012 0 18px,
    transparent 0 calc(100% - 18px),
    #e50012 calc(100% - 18px)
  );
  padding: clamp(32px, 4vw, 48px);
  background-image: var(--x-gradient), var(--y-gradient), var(--x-gradient), var(--y-gradient);
  background-repeat: no-repeat;
  background-size: 100% 4px, 4px 100%, 100% 4px, 4px 100%;
  background-position: top, right, bottom, left;
  background-color: #fff5f6;
}

.notice__wrap {
  width: min(550px, 90%);
  margin: 0 auto 3em;
  background: #fff;
}
.notice__wrap .notice__txt {
  width: min(550px, 100%);
  margin: auto;
  padding: 16px;
  font-weight: bold;
  text-align: center;
  background: rgba(229, 0, 18, 0.1);
  border-radius: 8px;
}
.notice__wrap .notice__txt p {
  font-size: 18px;
}
.notice__wrap .notice__txt span {
  display: block;
  color: #e50012;
}
.notice__wrap .notice__txt small {
  display: block;
  width: 80%;
  margin: 16px auto;
  font-size: 14px;
  text-align: left;
}

.cpnWrap {
  max-width: 100%;
}
.cpnWrap .card {
  overflow: hidden;
  padding: 0;
  border: 3px solid #2DAA2D;
  border-radius: 10px;
  margin-bottom: 48px;
}
.cpnWrap .cpnInner {
  width: 100%;
  margin: 0 auto;
}
.cpnWrap .cpnInner .cpnImage img {
  width: 100%;
}
.cpnWrap .cpnInner .cpnData p {
  font-size: 16px;
  text-align: left;
}
.cpnWrap .cpnInner .cpnData p .marker {
  background: linear-gradient(transparent 60%, #FF929A 60%);
}
.cpnWrap .cpnInner .cpnData .note dt {
  display: flex;
  width: 250px;
  margin: 1em auto 0.3em;
  background: none;
}
.cpnWrap .cpnInner .cpnData .note dt::before, .cpnWrap .cpnInner .cpnData .note dt::after {
  content: "";
  flex-grow: 1;
  border-bottom: 1px dashed #000;
}
.cpnWrap .cpnInner .cpnData .note dt span {
  background: none;
}
.cpnWrap .cpnInner .cpnData .prize ul {
  font-size: 14px;
  line-height: 2;
}
.cpnWrap .cpnInner .cpnData .cpnBtn {
  padding: 0;
}
.cpnWrap .cpnInner .cpnData .cpnBtn a {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  padding: 12px;
  border-radius: 100vw;
  background: #e50012;
  color: #fff;
  font-size: 18px;
  line-height: 1.5;
}
.cpnWrap .cpnInner .cpnData .cpnBtn a.twitter {
  background: #00a9e1;
}
.cpnWrap .cpnInner .cpnData .cpnBtn a .lg_twitter {
  width: 24px;
  margin-right: 0.5em;
}
.cpnWrap .cpnInner .cpnData .cpnBtn small {
  width: 100%;
}
.cpnWrap .cpnInner .cpnData .cpnAttention dt {
  width: 200px;
  border-bottom: none;
}
.cpnWrap .cpnInner .cpnData .cpnAttention dd {
  background: #CCEDCC;
  border-radius: 5px;
  line-height: 2;
}
.cpnWrap .cpnInner .cpnData .cpnAttention dd a {
  color: #000;
  text-decoration: underline;
}
.cpnWrap .cpnPeriod {
  padding: 32px 5%;
}
.cpnWrap .cpnEnd {
  padding: 32px 5%;
}
.cpnWrap .cpnEnd::after {
  background: rgba(55, 55, 55, 0.8);
}

section#campaign {
  display: block;
}/*# sourceMappingURL=style.css.map */