@charset "UTF-8";
@import url(reset.css);
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;800;900&display=swap");
/* break point ------------------------------ */
/* colors ------------------------------ */
/* text ------------------------------ */
/* Hedding ------------------------------ */
/* animation ------------------------------ */
@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
/* Basic ------------------------------ */
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

html {
  scroll-behavior: smooth; }

body {
  font-family: 'Noto Sans JP','游ゴシック体','Yu Gothic', YuGothic,'ヒラギノ角ゴシック Pro','Hiragino Kaku Gothic Pro','メイリオ', Meiryo, Osaka,'ＭＳ Ｐゴシック','MS PGothic', sans-serif;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 16px;
  font-weight: normal;
  color: #595757;
  line-height: 1.5; }

#wrap {
  position: relative;
  width: 100%;
  overflow: clip; }
  @media screen and (max-width: 768px) {
    #wrap {
      padding-bottom: 47px; } }

img {
  max-width: 100%;
  height: auto; }

strong {
  font-weight: 700; }

.serif {
  font-family: '游明朝','Yu Mincho','ヒラギノ明朝 ProN W3','Hiragino Mincho ProN','ヒラギノ明朝 Pro','Hiragino Mincho Pro','Noto Serif JP',HG明朝B,'ＭＳ Ｐ明朝','ＭＳ 明朝',serif; }

.tCenter {
  text-align: center; }

@media screen and (min-width: 769px) {
  .sp, .tb, .mn {
    display: none; } }
 /*
@media screen and (max-width: 959px) {
  .sp, .pc {
    display: none;
  }
}*/
@media screen and (max-width: 768px) {
  .tb, .pc, .mn {
    display: none; } }
@media screen and (max-width: 480px) {
  .mn {
    display: inherit; } }
/* link */
a {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  color: #595757;
  text-decoration: none; }
  a:hover {
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    color: #76C8CD;
    text-decoration: none; }

/* Space ------------------------------ */
.mt0 {
  margin-top: 0px !important; }

.mr0 {
  margin-right: 0px !important; }

.mb0 {
  margin-bottom: 0px !important; }

.ml0 {
  margin-left: 0px !important; }

.pt0 {
  padding-top: 0px !important; }

.pr0 {
  padding-right: 0px !important; }

.pb0 {
  padding-bottom: 0px !important; }

.pl0 {
  padding-left: 0px !important; }

.mt5 {
  margin-top: 5px !important; }

.mr5 {
  margin-right: 5px !important; }

.mb5 {
  margin-bottom: 5px !important; }

.ml5 {
  margin-left: 5px !important; }

.pt5 {
  padding-top: 5px !important; }

.pr5 {
  padding-right: 5px !important; }

.pb5 {
  padding-bottom: 5px !important; }

.pl5 {
  padding-left: 5px !important; }

.mt10 {
  margin-top: 10px !important; }

.mr10 {
  margin-right: 10px !important; }

.mb10 {
  margin-bottom: 10px !important; }

.ml10 {
  margin-left: 10px !important; }

.pt10 {
  padding-top: 10px !important; }

.pr10 {
  padding-right: 10px !important; }

.pb10 {
  padding-bottom: 10px !important; }

.pl10 {
  padding-left: 10px !important; }

.mt15 {
  margin-top: 15px !important; }

.mr15 {
  margin-right: 15px !important; }

.mb15 {
  margin-bottom: 15px !important; }

.ml15 {
  margin-left: 15px !important; }

.pt15 {
  padding-top: 15px !important; }

.pr15 {
  padding-right: 15px !important; }

.pb15 {
  padding-bottom: 15px !important; }

.pl15 {
  padding-left: 15px !important; }

.mt20 {
  margin-top: 20px !important; }

.mr20 {
  margin-right: 20px !important; }

.mb20 {
  margin-bottom: 20px !important; }

.ml20 {
  margin-left: 20px !important; }

.pt20 {
  padding-top: 20px !important; }

.pr20 {
  padding-right: 20px !important; }

.pb20 {
  padding-bottom: 20px !important; }

.pl20 {
  padding-left: 20px !important; }

.mt25 {
  margin-top: 25px !important; }

.mr25 {
  margin-right: 25px !important; }

.mb25 {
  margin-bottom: 25px !important; }

.ml25 {
  margin-left: 25px !important; }

.pt25 {
  padding-top: 25px !important; }

.pr25 {
  padding-right: 25px !important; }

.pb25 {
  padding-bottom: 25px !important; }

.pl25 {
  padding-left: 25px !important; }

.mt30 {
  margin-top: 30px !important; }

.mr30 {
  margin-right: 30px !important; }

.mb30 {
  margin-bottom: 30px !important; }

.ml30 {
  margin-left: 30px !important; }

.pt30 {
  padding-top: 30px !important; }

.pr30 {
  padding-right: 30px !important; }

.pb30 {
  padding-bottom: 30px !important; }

.pl30 {
  padding-left: 30px !important; }

.mt35 {
  margin-top: 35px !important; }

.mr35 {
  margin-right: 35px !important; }

.mb35 {
  margin-bottom: 35px !important; }

.ml35 {
  margin-left: 35px !important; }

.pt35 {
  padding-top: 35px !important; }

.pr35 {
  padding-right: 35px !important; }

.pb35 {
  padding-bottom: 35px !important; }

.pl35 {
  padding-left: 35px !important; }

.mt40 {
  margin-top: 40px !important; }

.mr40 {
  margin-right: 40px !important; }

.mb40 {
  margin-bottom: 40px !important; }

.ml40 {
  margin-left: 40px !important; }

.pt40 {
  padding-top: 40px !important; }

.pr40 {
  padding-right: 40px !important; }

.pb40 {
  padding-bottom: 40px !important; }

.pl40 {
  padding-left: 40px !important; }

.mt45 {
  margin-top: 45px !important; }

.mr45 {
  margin-right: 45px !important; }

.mb45 {
  margin-bottom: 45px !important; }

.ml45 {
  margin-left: 45px !important; }

.pt45 {
  padding-top: 45px !important; }

.pr45 {
  padding-right: 45px !important; }

.pb45 {
  padding-bottom: 45px !important; }

.pl45 {
  padding-left: 45px !important; }

.mt50 {
  margin-top: 50px !important; }

.mr50 {
  margin-right: 50px !important; }

.mb50 {
  margin-bottom: 50px !important; }

.ml50 {
  margin-left: 50px !important; }

.pt50 {
  padding-top: 50px !important; }

.pr50 {
  padding-right: 50px !important; }

.pb50 {
  padding-bottom: 50px !important; }

.pl50 {
  padding-left: 50px !important; }

/* -------------------------------
   header
------------------------------- */
#header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: space-between;
  width: 100%;
  z-index: 10; }
  #header .logo {
    display: flex;
    align-items: center;
    white-space: nowrap; }
    #header .logo img {
      margin-right: 1em; }
    #header .logo span {
      display: inline-block;
      background-color: #FFF;
      color: #B9BCBC;
      letter-spacing: .2em;
      padding: .6666em 1em;
      line-height: 1.2; }
  #header nav ul {
    display: flex; }
    #header nav ul li a {
      display: flex;
      justify-content: center;
      align-items: center;
      background-color: #76C8CD;
      color: #FFF;
      border-radius: 5px;
      font-weight: 500; }
      #header nav ul li a::before {
        display: inline-block;
        vertical-align: middle;
        content: '';
        width: 1.3333em;
        height: 1.3333em;
        margin-right: 10px;
        background-size: contain;
        background-position: center center;
        background-repeat: no-repeat; }
      #header nav ul li a[data-icon="contact"]::before {
        background-image: url("../img/icon_contact.svg"); }
      #header nav ul li a[data-icon="reserve"]::before {
        background-image: url("../img/icon_reserve.svg"); }
  @media screen and (min-width: 769px) {
    #header {
      align-items: center;
      padding: min(40px, 3.3333vw); }
      #header .logo {
        font-size: min(18px, 2vw); }
        #header .logo img {
          width: min(100%, 23vw);
          max-width: 187.6px; }
      #header nav {
        position: fixed;
        top: min(40px, 3.3333vw);
        right: min(40px, 3.3333vw); }
        #header nav ul {
          height: 0; }
          #header nav ul li {
            margin-left: min(20px, 1.6667vw); }
            #header nav ul li:first-child a {
              transition: transform .25s; }
            #header nav ul li:last-child a {
              transition: transform .25s .25s; }
            #header nav ul li a {
              font-size: min(1rem, 2vw);
              line-height: 1.5;
              width: min(210px, 23vw);
              height: min(48px, 6vw);
              transition: background-color .5s; }
              #header nav ul li a:hover {
                background-color: #F0907A; }
        #header nav.small ul li:first-child a {
          transition: transform .25s .25s;
          transform: translate(calc(100% + min(20px,1.6667vw)), calc(-1 * min(20px,1.6667vw))); }
        #header nav.small ul li:last-child a {
          transition: transform .25s;
          transform: translate(0, 100%); } }
  @media screen and (max-width: 768px) {
    #header {
      align-items: center;
      flex-direction: column;
      padding: 20px; }
      #header .logo {
        justify-content: center;
        font-size: min(18px, 4vw);
        margin-bottom: 10px; }
        #header .logo img {
          width: min(100%, 46vw);
          max-width: 210px; }
      #header nav {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%; }
        #header nav ul {
          padding: 1px;
          grid-gap: 1px;
          justify-content: space-between; }
          #header nav ul li {
            width: 50%; }
            #header nav ul li a {
              font-size: min(1rem, 4vw);
              line-height: 1.5;
              width: 100%;
              height: min(48px, 12vw); } }

/* -------------------------------
   footer
------------------------------- */
#footer {
  max-width: 1260px;
  width: 100%;
  margin: 0 auto; }
  #footer address {
    font-style: normal;
    font-size: .75rem; }
    #footer address a {
      display: inline-block;
      font-size: 1.5rem;
      padding-left: 30px;
      background: url("../img/icon_tel.svg") left center no-repeat; }
  #footer #fObi {
    width: 100%;
    position: relative;
    color: #FFF; }
    #footer #fObi::before {
      display: block;
      content: '';
      width: 101vw;
      height: 100%;
      background-color: #595757;
      position: absolute;
      top: 0;
      left: 50%;
      transform: translate(-50%, 0);
      z-index: -1; }
    #footer #fObi a {
      color: #FFF; }
    #footer #fObi #pagetop {
      position: absolute;
      left: 50%;
      top: 0;
      transform: translate(-50%, -50%); }
      #footer #fObi #pagetop a {
        display: block;
        width: 54px;
        height: 54px;
        background: url("../img/icon_arr.svg") center center no-repeat #FFF;
        border-radius: 50%;
        font-size: 0;
        filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.1)); }
    #footer #fObi #fNav {
      display: flex;
      grid-gap: 20px;
      font-size: .75rem; }
    #footer #fObi small {
      font-size: .8125rem; }
  @media screen and (min-width: 769px) {
    #footer {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: center;
      padding: 40px 40px 0; }
      #footer address {
        text-align: right; }
      #footer #fObi {
        display: flex;
        justify-content: space-between;
        margin-top: 40px;
        padding: 30px 0; } }
  @media screen and (max-width: 768px) {
    #footer {
      text-align: center;
      padding: 40px 20px 0; }
      #footer address {
        margin-top: 10px; }
      #footer #fObi {
        padding: 40px 0 20px 0;
        margin-top: 40px; }
        #footer #fObi #fNav {
          flex-wrap: wrap;
          justify-content: center;
          margin-bottom: 20px; } }

/* -------------------------------
   common
------------------------------- */
#mv {
  position: relative;
  width: 100%;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  font-weight: 700;
  color: #FFF; }
  #mv #mvMain {
    line-height: 1.5; }
  #mv #mvCopy {
    line-height: 2; }
  #mv picture img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1; }
  @media screen and (min-width: 769px) {
    #mv {
      height: calc(100vh - 40px);
      min-height: 660px;
      padding: min(80px, 6.6667vw); }
      #mv #mvMain {
        font-size: min(54px, 6.6667vw); }
      #mv #mvCopy {
        margin-top: min(50px, 4.1667vw);
        font-size: min(18px, 2vw); } }
  @media screen and (max-width: 768px) {
    #mv {
      height: 150vw;
      max-height: 100vh;
      min-height: 100vw;
      padding: min(80px, 6.6667vw);
      padding-top: 33.3333vw; }
      #mv #mvMain {
        font-size: min(48px, 9vw); }
      #mv #mvCopy {
        margin-top: min(32px, 6vw);
        font-size: min(16px, 3vw); }
      #mv picture img {
        object-position: 40% bottom; } }

.btn {
  margin: 40px auto 0; }
  .btn a {
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #76C8CD;
    border-radius: 10px;
    color: #76C8CD;
    text-align: center;
    width: 320px;
    max-width: 100%;
    padding: 15px;
    font-size: 1.125rem; }
    .btn a::before {
      display: inline-block;
      content: '';
      width: 27px;
      height: 36px;
      background: center center / contain no-repeat;
      margin-right: 10px;
      vertical-align: middle; }
    .btn a[data-icon="floor"]::before {
      background-image: url("../img/icon_floor.svg"); }
    .btn a[data-icon="price"]::before {
      background-image: url("../img/icon_price.svg"); }
    .btn a[data-icon="shop"]::before {
      background-image: url("../img/icon_shop.svg"); }
    .btn a[data-icon="map"]::before {
      background-image: url("../img/icon_map.svg"); }
  @media screen and (min-width: 769px) {
    .btn a {
      transition: background-color .25s, box-shadow .25s; }
      .btn a:hover {
        background-color: #FFF;
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); } }
  @media screen and (max-width: 768px) {
    .btn {
      margin-top: 20px; } }

.txt-l strong {
  color: #F0907A;
  font-weight: 500; }
@media screen and (min-width: 769px) {
  .txt-l {
    font-size: 1.5rem; } }

.komeList {
  width: 1180px;
  max-width: 100%;
  text-align: right;
  margin: 20px auto 0; }
  .komeList li {
    margin-top: 10px; }
    .komeList li::before {
      display: inline-block;
      content: '※'; }

.tableWrap {
  width: 1180px;
  max-width: 100%;
  margin: 0 auto; }
  @media screen and (max-width: 480px) {
    .tableWrap {
      overflow: scroll; } }

.cta {
  position: relative;
  background: url("../img/cta_bg.jpg") center center/cover no-repeat;
  text-align: center; }
  .cta::before {
    display: block;
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: rgba(255, 255, 255, 0.75); }
  .cta > * {
    position: relative;
    z-index: 1; }
  .cta .ttl {
    font-weight: 700;
    margin: 0 auto; }
    .cta .ttl span {
      display: block;
      width: fit-content;
      padding: .25em 1.5em;
      border-radius: 50px;
      background-color: #76C8CD;
      color: #FFF;
      margin: 0 auto 10px; }
  .cta .btn a {
    width: 500px;
    margin: 0 auto;
    padding: 20px;
    border: none;
    background: linear-gradient(to right, #f9a693 0%, #f0907a 100%);
    filter: drop-shadow(0px 0px 20px rgba(0, 0, 0, 0.25));
    color: #FFF;
    font-weight: 500; }
    .cta .btn a::before {
      background-image: url("../img/icon_reserve.svg");
      width: 40px;
      height: 45px;
      margin-right: 20px; }
  @media screen and (min-width: 769px) {
    .cta {
      padding: 130px 40px; }
      .cta::before {
        border-radius: 110px;
        height: calc(100% - 60px); }
      .cta::before,
      .cta > * {
        width: calc(100% - 60px);
        max-width: 1120px; }
      .cta .ttl {
        font-size: 2.625rem; }
        .cta .ttl span {
          font-size: 1.125rem; }
      .cta .btn a {
        position: relative;
        font-size: 2.5rem;
        overflow: hidden; }
        .cta .btn a::after {
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          width: 0;
          height: 200%;
          display: block;
          content: '';
          background-color: rgba(255, 255, 255, 0.1);
          opacity: 0;
          border-radius: 50%;
          transition: width .25s, opacity .25s; }
        .cta .btn a:hover::after {
          width: 120%;
          opacity: 1; } }
  @media screen and (max-width: 768px) {
    .cta {
      padding: 60px 20px; }
      .cta::before {
        border-radius: 20px;
        width: calc(100% - 20px);
        height: calc(100% - 40px); }
      .cta .ttl {
        font-size: 1.5rem; }
        .cta .ttl span {
          font-size: .75rem; }
      .cta .btn a {
        font-size: 1.5rem; } }

main > section {
  position: relative; }
  main > section[data-bg]::before {
    display: block;
    content: '';
    background-color: #F3F9F9;
    width: 101vw;
    height: 100%;
    z-index: -1;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0); }
  main > section h2 {
    text-align: center;
    font-weight: 500;
    line-height: 1.2; }
    main > section h2 span {
      display: inline-block;
      color: #F0907A;
      font-weight: 400;
      margin-bottom: 10px; }
  @media screen and (min-width: 769px) {
    main > section {
      padding: 150px 40px; }
      main > section h2 {
        font-size: 2.25rem;
        margin-bottom: 50px; }
        main > section h2 span {
          font-size: 1.3125rem; } }
  @media screen and (max-width: 768px) {
    main > section {
      padding: 60px 20px; }
      main > section h2 {
        font-size: 1.5rem;
        margin-bottom: 30px; }
        main > section h2 span {
          font-size: .875rem; } }
  main > section#onayami ul {
    display: flex;
    justify-content: center; }
    main > section#onayami ul li {
      border: 10px solid #F3F9F9;
      border-radius: 20px;
      background-color: #FFF;
      text-align: center;
      padding: 20px; }
      main > section#onayami ul li img {
        display: block;
        aspect-ratio: 4 / 3;
        object-fit: contain;
        padding: 0 10px 20px;
        margin: 0 0 20px;
        border-bottom: 1px solid #ECEAE6; }
      main > section#onayami ul li p {
        border-top: 1px solid #ECEAE6;
        padding-top: 20px;
        margin-top: 20px; }
  @media screen and (min-width: 769px) {
    main > section#onayami ul {
      grid-gap: 20px; }
      main > section#onayami ul li {
        max-width: 236px; } }
  @media screen and (max-width: 1379px) {
    main > section#onayami ul {
      flex-wrap: wrap; }
      main > section#onayami ul li {
        max-width: min(320px, calc((100% - 40px) / 3)); } }
  @media screen and (max-width: 768px) {
    main > section#onayami ul {
      grid-gap: 10px;
      margin: 0 -10px; }
      main > section#onayami ul li {
        max-width: min(320px, calc(50% - 5px)); }
        main > section#onayami ul li:nth-child(3) {
          margin: 0 min(calc((160px - 5px) / 2), calc((50% - 5px) / 2)); } }
  @media screen and (max-width: 480px) {
    main > section#onayami ul li {
      width: 100%;
      max-width: 100%; }
      main > section#onayami ul li:nth-child(3) {
        margin: 0; }
      main > section#onayami ul li img {
        max-width: 240px;
        margin-left: auto;
        margin-right: auto; } }
  main > section#kanaeru {
    counter-reset: num; }
    main > section#kanaeru .caseSec {
      position: relative;
      counter-increment: num;
      background-color: #FFF;
      border-radius: 20px; }
      main > section#kanaeru .caseSec::before {
        position: absolute;
        bottom: 100%;
        display: inline-block;
        content: 'CASE';
        font-weight: 900;
        text-align: center;
        line-height: 1; }
      main > section#kanaeru .caseSec h3 {
        font-weight: 500; }
        main > section#kanaeru .caseSec h3::before {
          position: absolute;
          top: 0;
          display: inline-block;
          content: "0" counter(num);
          color: #76C8CD;
          font-weight: 800;
          text-align: center;
          line-height: 1; }
      main > section#kanaeru .caseSec .before,
      main > section#kanaeru .caseSec .after {
        line-height: 2;
        position: relative;
        padding-left: 100px;
        min-height: 100px; }
        main > section#kanaeru .caseSec .before::before,
        main > section#kanaeru .caseSec .after::before {
          position: absolute;
          top: 0;
          left: 0;
          display: block;
          content: '';
          width: 80px;
          height: 100px;
          background-size: contain;
          background-position: center center;
          background-repeat: no-repeat; }
      main > section#kanaeru .caseSec .before[data-icon="men"]::before {
        background-image: url("../img/troubled_men.png"); }
      main > section#kanaeru .caseSec .before[data-icon="women"]::before {
        background-image: url("../img/troubled_women.png"); }
      main > section#kanaeru .caseSec .before::after {
        position: absolute;
        display: block;
        content: '';
        background-color: #76C8CD;
        width: 15px;
        height: 20px;
        clip-path: polygon(0 0, 100% 50%, 0 100%); }
      main > section#kanaeru .caseSec .after[data-icon="men"]::before {
        background-image: url("../img/happy_men.png"); }
      main > section#kanaeru .caseSec .after[data-icon="women"]::before {
        background-image: url("../img/happy_women.png"); }
      main > section#kanaeru .caseSec .osusume {
        position: relative;
        background-color: #F0907A;
        font-weight: 500;
        border-radius: 10px;
        overflow: hidden;
        width: 100%;
        line-height: 1.2; }
        main > section#kanaeru .caseSec .osusume h4 {
          position: relative;
          font-weight: 500;
          display: flex;
          justify-content: center;
          align-items: center;
          background-color: #F3F9F9;
          min-height: 60px;
          padding: 10px; }
          main > section#kanaeru .caseSec .osusume h4::before {
            display: block;
            content: '';
            width: 40px;
            height: 42px;
            background: url("../img/logo_mark.svg");
            margin-right: 10px; }
          main > section#kanaeru .caseSec .osusume h4::after {
            position: absolute;
            content: '';
            background-color: #F3F9F9;
            clip-path: polygon(0 0, 100% 50%, 0 100%); }
        main > section#kanaeru .caseSec .osusume p {
          font-weight: 500;
          text-align: center;
          color: #FFF;
          min-height: 60px;
          padding: 15px 10px; }
    main > section#kanaeru #choiceSec {
      text-align: center; }
      main > section#kanaeru #choiceSec h3 {
        color: #F0907A;
        font-weight: 700; }
      main > section#kanaeru #choiceSec ul {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        justify-content: center; }
        main > section#kanaeru #choiceSec ul li {
          display: grid;
          place-items: center;
          background-color: #76C8CD;
          color: #FFF;
          border-radius: 10px;
          width: 100%; }
      main > section#kanaeru #choiceSec p {
        line-height: 2; }
    @media screen and (min-width: 769px) {
      main > section#kanaeru .caseSec {
        display: flex;
        flex-wrap: wrap;
        padding: 40px;
        width: 100%;
        max-width: 1260px;
        margin: 0 auto; }
        main > section#kanaeru .caseSec:nth-child(n+2) {
          margin-top: 60px; }
        main > section#kanaeru .caseSec::before {
          left: 40px;
          width: 7.5rem;
          font-size: 2.1875rem; }
        main > section#kanaeru .caseSec h3 {
          width: 100%;
          padding-left: 140px;
          font-size: 1.75rem;
          margin-bottom: 40px; }
          main > section#kanaeru .caseSec h3::before {
            left: 40px;
            width: 7.5rem;
            font-size: 6.25rem; }
        main > section#kanaeru .caseSec .before {
          width: calc(50% - 10px);
          padding-right: 40px;
          border-right: 1px solid #76C8CD; }
          main > section#kanaeru .caseSec .before::after {
            top: 50%;
            right: 0;
            transform: translate(100%, -50%); }
        main > section#kanaeru .caseSec .after {
          width: calc(50% - 10px);
          margin-left: 20px; }
        main > section#kanaeru .caseSec .osusume {
          margin-top: 40px;
          display: grid;
          grid-template-columns: 330px 1fr; }
          main > section#kanaeru .caseSec .osusume h4 {
            font-size: 1.3125rem; }
            main > section#kanaeru .caseSec .osusume h4::after {
              left: 100%;
              top: 0;
              width: 32px;
              height: 100%; }
          main > section#kanaeru .caseSec .osusume p {
            font-size: 1.75rem;
            padding-left: 32px; }
      main > section#kanaeru #choiceSec {
        margin-top: 80px; }
        main > section#kanaeru #choiceSec > *:not(:last-child) {
          margin-bottom: 40px; }
        main > section#kanaeru #choiceSec h3 {
          font-size: 1.5rem; }
        main > section#kanaeru #choiceSec ul {
          grid-gap: 20px;
          max-width: 1180px;
          margin: 0 auto; }
          main > section#kanaeru #choiceSec ul li {
            max-width: 380px;
            padding: 15px;
            font-size: 1.3125rem; } }
    @media screen and (max-width: 959px) {
      main > section#kanaeru .caseSec .osusume {
        display: flex;
        flex-direction: column; }
        main > section#kanaeru .caseSec .osusume h4::after {
          width: 16px;
          height: 32px;
          top: 100%;
          left: 50%;
          transform: rotate(90deg) translate(-50%, 0); }
        main > section#kanaeru .caseSec .osusume p {
          font-size: 1.25rem;
          padding: 16px 10px 10px; } }
    @media screen and (max-width: 768px) {
      main > section#kanaeru .caseSec {
        padding: 20px;
        width: calc(100% + 20px);
        margin: 0 -10px; }
        main > section#kanaeru .caseSec:nth-child(n+2) {
          margin-top: 40px; }
        main > section#kanaeru .caseSec::before {
          left: 20px;
          width: 3.75rem;
          font-size: 1.125rem; }
        main > section#kanaeru .caseSec h3 {
          width: 100%;
          padding-left: 70px;
          font-size: 1.25rem;
          margin-bottom: 20px; }
          main > section#kanaeru .caseSec h3::before {
            left: 20px;
            width: 3.75rem;
            font-size: 3.125rem; }
        main > section#kanaeru .caseSec .before {
          padding-bottom: 20px;
          border-bottom: 1px solid #76C8CD; }
          main > section#kanaeru .caseSec .before::after {
            top: 100%;
            right: 50%;
            transform: rotate(90deg) translate(0, -50%); }
        main > section#kanaeru .caseSec .after {
          margin-top: 20px; }
        main > section#kanaeru .caseSec .osusume {
          margin-top: 20px; }
          main > section#kanaeru .caseSec .osusume h4 {
            font-size: 1.125rem; }
          main > section#kanaeru .caseSec .osusume p {
            font-size: 1rem; }
      main > section#kanaeru #choiceSec {
        margin-top: 40px; }
        main > section#kanaeru #choiceSec > *:not(:last-child) {
          margin-bottom: 20px; }
        main > section#kanaeru #choiceSec h3 {
          font-size: 1.25rem; }
        main > section#kanaeru #choiceSec ul {
          grid-gap: 5px; }
          main > section#kanaeru #choiceSec ul li {
            padding: 10px; } }
    @media screen and (max-width: 480px) {
      main > section#kanaeru #choiceSec p {
        text-align: left; } }
  main > section#point {
    counter-reset: num; }
    main > section#point #pointAnchor {
      counter-reset: numAnchor; }
      main > section#point #pointAnchor li {
        counter-increment: numAnchor;
        position: relative; }
        main > section#point #pointAnchor li::before {
          position: absolute;
          left: 0;
          bottom: 100%;
          display: inline-block;
          content: 'POINT';
          font-weight: 900;
          text-align: center;
          line-height: 1; }
        main > section#point #pointAnchor li::after {
          position: absolute;
          left: 0;
          top: 100%;
          content: '';
          width: 20px;
          height: 15px;
          background-color: #76C8CD;
          clip-path: polygon(0 0, 100% 0, 50% 100%);
          transform: translate(-50%, -1px); }
        main > section#point #pointAnchor li a {
          display: block;
          position: relative;
          border-bottom: 1px solid #ECEAE6;
          height: 100%; }
          main > section#point #pointAnchor li a::before {
            position: absolute;
            top: 0;
            left: 0;
            display: inline-block;
            content: "0" counter(numAnchor);
            color: #76C8CD;
            font-weight: 800;
            text-align: center;
            line-height: 1; }
          main > section#point #pointAnchor li a::after {
            position: absolute;
            left: 0;
            top: 100%;
            content: '';
            height: 1px;
            background-color: #76C8CD; }
    main > section#point .pointSec {
      counter-increment: num;
      position: relative;
      z-index: 1; }
      main > section#point .pointSec:nth-of-type(odd)::after {
        right: 0; }
      main > section#point .pointSec:nth-of-type(even)::after {
        left: 0; }
      main > section#point .pointSec::before {
        position: absolute;
        left: 0;
        bottom: 100%;
        display: inline-block;
        content: 'POINT';
        font-weight: 900;
        text-align: center;
        line-height: 1; }
      main > section#point .pointSec::after {
        display: block;
        content: '';
        position: absolute;
        top: 0;
        width: 100vw;
        height: 100%;
        z-index: -1;
        border-radius: 20px;
        background-color: #F3F9F9; }
      main > section#point .pointSec img {
        background-color: #F3F9F9; }
      main > section#point .pointSec h3 {
        font-weight: 500; }
        main > section#point .pointSec h3::before {
          position: absolute;
          top: 0;
          left: 0;
          display: inline-block;
          content: "0" counter(num);
          color: #76C8CD;
          font-weight: 800;
          text-align: center;
          line-height: 1; }
      main > section#point .pointSec p:not(.btn) {
        line-height: 2; }
      main > section#point .pointSec .btn {
        margin-left: 0; }
    @media screen and (min-width: 769px) {
      main > section#point {
        max-width: 1260px;
        margin: 0 auto; }
        main > section#point #pointAnchor {
          display: grid;
          grid-template-columns: repeat(3, 1fr);
          grid-gap: 50px;
          max-width: 1180px;
          margin: 0 auto; }
          main > section#point #pointAnchor li {
            max-width: 360px; }
            main > section#point #pointAnchor li::before {
              width: 4rem;
              font-size: 1.125rem; }
            main > section#point #pointAnchor li::after {
              left: 2rem; }
            main > section#point #pointAnchor li a {
              padding: 10px 0 20px 5rem; }
              main > section#point #pointAnchor li a::before {
                width: 4rem;
                font-size: 3.5rem; }
              main > section#point #pointAnchor li a::after {
                width: 4rem; }
        main > section#point .pointSec {
          position: relative;
          margin: 100px auto 0 auto;
          padding-bottom: 80px; }
          main > section#point .pointSec::before {
            width: 7.5rem;
            font-size: 2.1875rem; }
          main > section#point .pointSec:nth-of-type(odd) {
            padding-right: calc(50% + 40px); }
            main > section#point .pointSec:nth-of-type(odd)::before {
              left: 0; }
            main > section#point .pointSec:nth-of-type(odd) h3::before {
              left: 0; }
            main > section#point .pointSec:nth-of-type(odd) img {
              left: 50%;
              border-radius: 0 20px 20px 0; }
          main > section#point .pointSec:nth-of-type(even) {
            padding-left: calc(50% + 40px); }
            main > section#point .pointSec:nth-of-type(even)::before {
              left: calc(50% + 40px); }
            main > section#point .pointSec:nth-of-type(even) h3::before {
              left: calc(50% + 40px); }
            main > section#point .pointSec:nth-of-type(even) img {
              right: 50%;
              border-radius: 20px 0 0 20px;
              object-fit: contain; }
          main > section#point .pointSec h3 {
            padding-top: calc(6.25rem + 20px);
            font-size: 1.75rem;
            margin-bottom: 40px; }
            main > section#point .pointSec h3::before {
              width: 7.5rem;
              font-size: 6.25rem; }
          main > section#point .pointSec img {
            position: absolute;
            top: 0;
            width: min(calc(50vw - 40px), calc(50% + 130px));
            height: 100%;
            object-fit: cover; } }
    @media screen and (max-width: 768px) {
      main > section#point #pointAnchor {
        display: none; }
        main > section#point #pointAnchor li::before {
          width: 4rem;
          font-size: 1.125rem; }
        main > section#point #pointAnchor li::after {
          left: 2rem; }
        main > section#point #pointAnchor li a {
          padding: 10px 0 20px 5rem; }
          main > section#point #pointAnchor li a::before {
            width: 4rem;
            font-size: 3.5rem; }
          main > section#point #pointAnchor li a::after {
            width: 4rem; }
      main > section#point .pointSec {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: flex-start;
        position: relative;
        margin: 0 auto;
        padding: calc(3.125rem + 10px) 0 40px; }
        main > section#point .pointSec:nth-child(n+2) {
          margin-top: 50px; }
        main > section#point .pointSec:nth-child(odd) {
          padding-right: 10px; }
          main > section#point .pointSec:nth-child(odd)::after {
            right: -10px; }
        main > section#point .pointSec:nth-child(even) {
          padding-left: 10px; }
          main > section#point .pointSec:nth-child(even)::after {
            left: -10px; }
        main > section#point .pointSec::before {
          width: 100%;
          font-size: 1.125rem; }
        main > section#point .pointSec h3 {
          font-size: 1.25rem;
          margin-bottom: 20px;
          text-align: center;
          width: 100%; }
          main > section#point .pointSec h3::before {
            width: 100%;
            font-size: 3.125rem; }
        main > section#point .pointSec img {
          width: min(280px, calc(50% - 20px)); }
        main > section#point .pointSec p:not(.btn) {
          width: max(calc(100% - 300px), 50%); }
        main > section#point .pointSec .btn {
          width: 100%; }
          main > section#point .pointSec .btn a {
            margin-left: auto;
            margin-right: auto; } }
    @media screen and (max-width: 480px) {
      main > section#point .pointSec {
        display: block; }
        main > section#point .pointSec img, main > section#point .pointSec p {
          width: 100% !important;
          margin-bottom: 20px; } }
  main > section#scene {
    display: grid;
    justify-content: center;
    flex-wrap: wrap;
    grid-template-rows: auto auto auto;
    max-width: 1260px;
    margin: 0 auto; }
    main > section#scene h2 {
      grid-column: 1 / -1;
      display: block; }
    main > section#scene section {
      display: grid;
      grid-template-rows: subgrid;
      grid-row: span 5;
      grid-gap: 0;
      position: relative;
      border: 10px solid #F3F9F9;
      border-radius: 20px;
      background-color: #FFF;
      padding: 0 20px 20px; }
      main > section#scene section h3 {
        display: flex;
        justify-content: center;
        align-items: center;
        transform: translate(0, -50%);
        width: fit-content;
        background-color: #FFF;
        padding: 0 10px;
        color: #76C8CD;
        font-weight: 500;
        line-height: 1.2;
        margin: -5px auto 10px;
        text-align: center; }
      main > section#scene section img {
        display: block;
        width: 100%;
        max-height: 180px;
        object-fit: contain;
        object-position: center center;
        padding-bottom: 30px;
        margin-bottom: 10px;
        border-bottom: 1px solid #ECEAE6; }
      main > section#scene section p {
        margin-top: 20px; }
        main > section#scene section p strong {
          display: block;
          color: #F0907A;
          text-align: left;
          font-size: 1.125rem; }
        main > section#scene section p.example {
          background-color: #F3F9F9;
          padding: 20px;
          text-indent: -2em;
          padding-left: calc(20px + 2em); }
    main > section#scene #sceneSlider {
      grid-column: 1 / -1; }
      main > section#scene #sceneSlider ul li[data-orientation="landscape"] {
        min-width: 375px; }
      main > section#scene #sceneSlider ul li[data-orientation="portrait"] {
        min-width: 200px; }
@keyframes scrollLeftLoop {
  0% {
    transform: translateX(-33.3333%); }
  99.999% {
    transform: translateX(-66.6666%); }
  100% {
    transform: translateX(-33.3333%); } }
    main > section#scene #sceneSlider ul {
      display: flex;
      grid-gap: 10px;
      width: fit-content;
      animation: scrollLeftLoop 20s linear infinite; }
    @media screen and (min-width: 769px) {
      main > section#scene {
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 40px; }
        main > section#scene h2 {
          margin-bottom: 10px; }
        main > section#scene section h3 {
          font-size: 1.5rem; } }
    @media screen and (max-width: 959px) {
      main > section#scene {
        grid-gap: 40px 20px; }
        main > section#scene h2 {
          margin-bottom: 30px; } }
    @media screen and (max-width: 768px) {
      main > section#scene {
        grid-template-columns: repeat(1, 1fr);
        grid-gap: 40px; }
        main > section#scene h2 {
          margin-bottom: 0px; }
        main > section#scene section {
          margin: 0 -10px; }
          main > section#scene section h3 {
            font-size: 1.25rem; } }
    @media screen and (max-width: 480px) {
      main > section#scene #sceneSlider {
        width: calc(10vw - 40px); } }
  main > section#voice {
    display: grid;
    justify-content: center;
    flex-wrap: wrap;
    grid-template-rows: auto auto auto;
    max-width: 1260px;
    margin: 0 auto; }
    main > section#voice h2 {
      grid-column: 1 / -1;
      display: block; }
    main > section#voice section {
      background-color: #FFF;
      position: relative;
      border-radius: 0 20px 20px 20px; }
      main > section#voice section h3 {
        font-weight: 500; }
        main > section#voice section h3 span {
          display: block;
          position: absolute;
          top: 0;
          left: 0;
          color: #FFF;
          background-color: #76C8CD;
          padding: 10px 15px;
          border-radius: 0 0 10px;
          text-align: center; }
      main > section#voice section p {
        line-height: 2; }
    @media screen and (min-width: 769px) {
      main > section#voice {
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 40px; }
        main > section#voice h2 {
          margin-bottom: 10px; }
        main > section#voice section {
          padding: 70px 30px 40px; }
          main > section#voice section h3 {
            font-size: 1.3125rem;
            margin-bottom: 40px; }
            main > section#voice section h3 span {
              font-size: 1.125rem;
              width: 285px; }
          main > section#voice section:nth-of-type(1), main > section#voice section:nth-of-type(2) {
            margin-left: 10px; }
          main > section#voice section:nth-of-type(5), main > section#voice section:nth-of-type(6) {
            margin-left: -10px; }
          main > section#voice section:nth-of-type(even) {
            margin-top: 40px;
            margin-bottom: -40px; }
          main > section#voice section:nth-of-type(2) h3 span, main > section#voice section:nth-of-type(3) h3 span, main > section#voice section:nth-of-type(6) h3 span {
            background-color: #F0907A; } }
    @media screen and (max-width: 959px) {
      main > section#voice {
        grid-gap: 40px 20px; }
        main > section#voice h2 {
          margin-bottom: 30px; } }
    @media screen and (max-width: 768px) {
      main > section#voice {
        grid-template-columns: repeat(1, 1fr);
        grid-gap: 20px; }
        main > section#voice h2 {
          margin-bottom: 0px; }
        main > section#voice section {
          margin-left: -10px;
          margin-right: -10px;
          padding: 60px 20px 30px; }
          main > section#voice section h3 {
            font-size: 1.25rem;
            margin-bottom: 20px; }
            main > section#voice section h3 span {
              font-size: 1rem; }
          main > section#voice section:nth-of-type(even) h3 span {
            background-color: #F0907A; } }
  main > section#price {
    text-align: center; }
    main > section#price #priceTable {
      border-collapse: separate;
      table-layout: fixed;
      margin-top: 100px;
      width: 100%;
      min-width: 480px; }
      main > section#price #priceTable th, main > section#price #priceTable td {
        text-align: center;
        vertical-align: middle;
        border-right: 1px solid #ECEAE6;
        height: 80px; }
        main > section#price #priceTable th:nth-child(2), main > section#price #priceTable td:nth-child(2) {
          border-left: 10px solid #76C8CD;
          border-right: 10px solid #76C8CD;
          color: #F0907A;
          font-weight: 700; }
        main > section#price #priceTable th:last-child, main > section#price #priceTable td:last-child {
          border-right: none; }
      main > section#price #priceTable thead tr th {
        background-color: #FFF;
        width: 18.6667%; }
        main > section#price #priceTable thead tr th:first-child {
          background-color: transparent;
          border: none; }
        main > section#price #priceTable thead tr th:nth-child(1) {
          width: 16%; }
        main > section#price #priceTable thead tr th:nth-child(2) {
          width: 28%;
          position: relative;
          border-radius: 20px 20px 0 0;
          border-top: 10px solid #76C8CD;
          background-color: #76C8CD;
          color: #FFF;
          border-bottom: none;
          font-weight: 500; }
          main > section#price #priceTable thead tr th:nth-child(2)::after {
            display: block;
            content: '';
            width: 72px;
            height: 75px;
            position: absolute;
            bottom: 100%;
            left: 50%;
            transform: translate(-50%, -20px);
            background: url("../img/logo_mark.svg") center center/contain no-repeat; }
      main > section#price #priceTable tbody tr:nth-child(odd) th, main > section#price #priceTable tbody tr:nth-child(odd) td {
        background-color: #F3F9F9; }
      main > section#price #priceTable tbody tr:nth-child(even) th, main > section#price #priceTable tbody tr:nth-child(even) td {
        background-color: #FFF; }
      main > section#price #priceTable tbody tr th {
        width: 190px;
        vertical-align: middle; }
      main > section#price #priceTable tbody tr td {
        vertical-align: middle; }
      main > section#price #priceTable tfoot tr th, main > section#price #priceTable tfoot tr td {
        background-color: #DFDDD8;
        border-bottom: 10px solid #FFF; }
        main > section#price #priceTable tfoot tr th:nth-child(2), main > section#price #priceTable tfoot tr td:nth-child(2) {
          background-color: #F0907A;
          border-bottom: 10px solid #76C8CD;
          border-radius: 0 0 20px 20px;
          color: #FFF; }
    @media screen and (min-width: 769px) {
      main > section#price #priceTable thead tr th {
        padding: 5px;
        width: 18.6667%;
        font-size: 1.5625rem; }
      main > section#price #priceTable tbody tr td {
        font-size: 1.125rem; }
        main > section#price #priceTable tbody tr td:nth-child(2) {
          font-size: 1.3125rem; }
      main > section#price #priceTable tfoot tr td {
        font-size: 1.3125rem; }
        main > section#price #priceTable tfoot tr td:nth-child(2) {
          font-size: 1.5rem; } }
    @media screen and (max-width: 768px) {
      main > section#price .tableWrap {
        margin-left: -20px;
        margin-right: -20px;
        padding: 0 10px;
        max-width: calc(100% + 40px); } }
  main > section#floormap {
    text-align: center; }
    main > section#floormap > ul {
      display: grid;
      justify-content: center;
      max-width: 1180px;
      margin: 0 auto; }
      main > section#floormap > ul > li {
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        border: 10px solid #FFF;
        border-radius: 20px;
        padding: 15px 10px 10px; }
        main > section#floormap > ul > li::before {
          position: absolute;
          top: 0;
          left: 50%;
          content: attr(data-floor);
          transform: translate(0, -50%);
          background-color: #F3F9F9;
          padding: 0 10px;
          color: #76C8CD;
          font-weight: 500;
          line-height: 1.2;
          margin: -5px auto 10px;
          text-align: center;
          transform: translate(-50%, -50%);
          font-size: 1.5rem; }
        main > section#floormap > ul > li img {
          width: 100%;
          mix-blend-mode: multiply; }
        main > section#floormap > ul > li div {
          position: relative; }
        main > section#floormap > ul > li a {
          position: absolute;
          font-size: 0; }
        main > section#floormap > ul > li[data-floor="2F"] a:nth-of-type(1) {
          width: 13.27%;
          height: 17.56%;
          left: 19.13%;
          top: 53.18%; }
        main > section#floormap > ul > li[data-floor="2F"] a:nth-of-type(2) {
          width: 13.27%;
          height: 16.05%;
          left: 19.13%;
          top: 35.95%; }
        main > section#floormap > ul > li[data-floor="2F"] a:nth-of-type(3) {
          width: 6.83%;
          height: 22.74%;
          left: 11.63%;
          top: 48.16%; }
        main > section#floormap > ul > li[data-floor="2F"] a:nth-of-type(4) {
          width: 6.92%;
          height: 20.9%;
          left: 17.88%;
          top: 1.51%; }
        main > section#floormap > ul > li[data-floor="2F"] a:nth-of-type(5) {
          width: 6.92%;
          height: 20.9%;
          left: 25.58%;
          top: 1.51%; }
        main > section#floormap > ul > li[data-floor="2F"] a:nth-of-type(6) {
          width: 6.92%;
          height: 20.9%;
          left: 33.27%;
          top: 1.51%; }
        main > section#floormap > ul > li[data-floor="2F"] a:nth-of-type(7) {
          width: 6.92%;
          height: 20.9%;
          left: 40.87%;
          top: 1.51%; }
        main > section#floormap > ul > li[data-floor="2F"] a:nth-of-type(8) {
          width: 6.92%;
          height: 20.9%;
          left: 48.46%;
          top: 1.51%; }
        main > section#floormap > ul > li[data-floor="2F"] a:nth-of-type(9) {
          width: 6.92%;
          height: 20.9%;
          left: 56.06%;
          top: 1.51%; }
        main > section#floormap > ul > li[data-floor="2F"] a:nth-of-type(10) {
          width: 6.92%;
          height: 20.9%;
          left: 63.65%;
          top: 1.51%; }
        main > section#floormap > ul > li[data-floor="2F"] a:nth-of-type(11) {
          width: 6.92%;
          height: 20.9%;
          left: 71.35%;
          top: 1.51%; }
        main > section#floormap > ul > li[data-floor="2F"] a:nth-of-type(12) {
          width: 6.92%;
          height: 20.9%;
          left: 78.94%;
          top: 1.51%; }
        main > section#floormap > ul > li[data-floor="2F"] a:nth-of-type(13) {
          width: 8.65%;
          height: 33.61%;
          left: 86.54%;
          top: 1.34%; }
        main > section#floormap > ul > li[data-floor="2F"] a:nth-of-type(14) {
          width: 15.19%;
          height: 12.04%;
          left: 80.00%;
          top: 36.12%; }
        main > section#floormap > ul > li[data-floor="2F"] a:nth-of-type(15) {
          width: 7.02%;
          height: 16.05%;
          left: 72.40%;
          top: 36.12%; }
        main > section#floormap > ul > li[data-floor="2F"] a:nth-of-type(16) {
          width: 7.02%;
          height: 16.05%;
          left: 64.81%;
          top: 36.12%; }
        main > section#floormap > ul > li[data-floor="2F"] a:nth-of-type(17) {
          width: 7.02%;
          height: 16.05%;
          left: 57.12%;
          top: 36.12%; }
        main > section#floormap > ul > li[data-floor="2F"] a:nth-of-type(18) {
          width: 7.02%;
          height: 16.05%;
          left: 49.52%;
          top: 36.12%; }
        main > section#floormap > ul > li[data-floor="2F"] a:nth-of-type(19) {
          width: 8.65%;
          height: 16.05%;
          left: 40.19%;
          top: 36.12%; }
        main > section#floormap > ul > li[data-floor="2F"] a:nth-of-type(20) {
          width: 8.65%;
          height: 16.05%;
          left: 40.19%;
          top: 53.01%; }
        main > section#floormap > ul > li[data-floor="2F"] a:nth-of-type(21) {
          width: 7.02%;
          height: 16.05%;
          left: 49.52%;
          top: 53.01%; }
        main > section#floormap > ul > li[data-floor="2F"] a:nth-of-type(22) {
          width: 7.02%;
          height: 16.05%;
          left: 57.12%;
          top: 53.01%; }
        main > section#floormap > ul > li[data-floor="2F"] a:nth-of-type(23) {
          width: 7.02%;
          height: 16.05%;
          left: 64.81%;
          top: 53.01%; }
        main > section#floormap > ul > li[data-floor="2F"] a:nth-of-type(24) {
          width: 7.02%;
          height: 16.05%;
          left: 72.40%;
          top: 53.01%; }
        main > section#floormap > ul > li[data-floor="2F"] a:nth-of-type(25) {
          width: 7.02%;
          height: 19.73%;
          left: 80.00%;
          top: 49.16%; }
        main > section#floormap > ul > li[data-floor="2F"] a:nth-of-type(26) {
          width: 7.40%;
          height: 19.73%;
          left: 87.69%;
          top: 49.33%; }
        main > section#floormap > ul > li[data-floor="2F"] a:nth-of-type(27) {
          width: 5.87%;
          height: 14.88%;
          left: 59.81%;
          top: 82.61%; }
        main > section#floormap > ul > li[data-floor="2F"] a:nth-of-type(28) {
          width: 5.87%;
          height: 14.88%;
          left: 53.27%;
          top: 82.61%; }
        main > section#floormap > ul > li[data-floor="2F"] a:nth-of-type(29) {
          width: 5.96%;
          height: 14.88%;
          left: 46.63%;
          top: 82.61%; }
        main > section#floormap > ul > li[data-floor="3F"] a:nth-of-type(1) {
          width: 13.56%;
          height: 16.22%;
          left: 18.46%;
          top: 53.27%; }
        main > section#floormap > ul > li[data-floor="3F"] a:nth-of-type(2) {
          width: 13.56%;
          height: 14.43%;
          left: 18.46%;
          top: 37.80%; }
        main > section#floormap > ul > li[data-floor="3F"] a:nth-of-type(3) {
          width: 7.21%;
          height: 19.20%;
          left: 17.31%;
          top: 6.40%; }
        main > section#floormap > ul > li[data-floor="3F"] a:nth-of-type(4) {
          width: 7.21%;
          height: 19.20%;
          left: 25.10%;
          top: 6.40%; }
        main > section#floormap > ul > li[data-floor="3F"] a:nth-of-type(5) {
          width: 7.21%;
          height: 19.20%;
          left: 32.88%;
          top: 6.40%; }
        main > section#floormap > ul > li[data-floor="3F"] a:nth-of-type(6) {
          width: 7.21%;
          height: 19.20%;
          left: 40.67%;
          top: 6.40%; }
        main > section#floormap > ul > li[data-floor="3F"] a:nth-of-type(7) {
          width: 7.21%;
          height: 19.20%;
          left: 48.46%;
          top: 6.40%; }
        main > section#floormap > ul > li[data-floor="3F"] a:nth-of-type(8) {
          width: 7.21%;
          height: 19.20%;
          left: 56.25%;
          top: 6.40%; }
        main > section#floormap > ul > li[data-floor="3F"] a:nth-of-type(9) {
          width: 7.21%;
          height: 19.20%;
          left: 64.04%;
          top: 6.40%; }
        main > section#floormap > ul > li[data-floor="3F"] a:nth-of-type(10) {
          width: 7.21%;
          height: 19.20%;
          left: 71.73%;
          top: 6.40%; }
        main > section#floormap > ul > li[data-floor="3F"] a:nth-of-type(11) {
          width: 7.21%;
          height: 19.20%;
          left: 79.62%;
          top: 6.40%; }
        main > section#floormap > ul > li[data-floor="3F"] a:nth-of-type(12) {
          width: 8.85%;
          height: 30.51%;
          left: 87.31%;
          top: 6.40%; }
        main > section#floormap > ul > li[data-floor="3F"] a:nth-of-type(13) {
          width: 15.38%;
          height: 11.01%;
          left: 80.77%;
          top: 37.80%; }
        main > section#floormap > ul > li[data-floor="3F"] a:nth-of-type(14) {
          width: 7.31%;
          height: 13.54%;
          left: 72.88%;
          top: 37.80%; }
        main > section#floormap > ul > li[data-floor="3F"] a:nth-of-type(15) {
          width: 7.31%;
          height: 13.54%;
          left: 65.10%;
          top: 37.80%; }
        main > section#floormap > ul > li[data-floor="3F"] a:nth-of-type(16) {
          width: 7.31%;
          height: 13.54%;
          left: 57.31%;
          top: 37.80%; }
        main > section#floormap > ul > li[data-floor="3F"] a:nth-of-type(17) {
          width: 7.31%;
          height: 13.54%;
          left: 49.52%;
          top: 37.80%; }
        main > section#floormap > ul > li[data-floor="3F"] a:nth-of-type(18) {
          width: 5.10%;
          height: 14.43%;
          left: 43.85%;
          top: 37.80%; }
        main > section#floormap > ul > li[data-floor="3F"] a:nth-of-type(19) {
          width: 5.10%;
          height: 14.43%;
          left: 43.85%;
          top: 53.27%; }
        main > section#floormap > ul > li[data-floor="3F"] a:nth-of-type(20) {
          width: 7.31%;
          height: 13.54%;
          left: 49.52%;
          top: 53.27%; }
        main > section#floormap > ul > li[data-floor="3F"] a:nth-of-type(21) {
          width: 7.31%;
          height: 13.54%;
          left: 57.31%;
          top: 53.27%; }
        main > section#floormap > ul > li[data-floor="3F"] a:nth-of-type(22) {
          width: 7.31%;
          height: 13.54%;
          left: 65.10%;
          top: 53.27%; }
        main > section#floormap > ul > li[data-floor="3F"] a:nth-of-type(23) {
          width: 7.31%;
          height: 13.54%;
          left: 72.88%;
          top: 53.27%; }
        main > section#floormap > ul > li[data-floor="3F"] a:nth-of-type(24) {
          width: 7.31%;
          height: 18.01%;
          left: 80.67%;
          top: 49.70%; }
        main > section#floormap > ul > li[data-floor="3F"] a:nth-of-type(25) {
          width: 7.69%;
          height: 18.01%;
          left: 88.56%;
          top: 49.70%; }
        main > section#floormap > ul > li[data-floor="3F"] a:nth-of-type(26) {
          width: 6.06%;
          height: 13.69%;
          left: 60.00%;
          top: 79.91%; }
        main > section#floormap > ul > li[data-floor="3F"] a:nth-of-type(27) {
          width: 6.06%;
          height: 13.69%;
          left: 53.27%;
          top: 79.91%; }
        main > section#floormap > ul > li[data-floor="3F"] a:nth-of-type(28) {
          width: 6.06%;
          height: 13.69%;
          left: 46.63%;
          top: 79.91%; }
        main > section#floormap > ul > li[data-floor="3F"] a:nth-of-type(29) {
          width: 3.37%;
          height: 9.52%;
          left: 40.00%;
          top: 58.18%; }
        main > section#floormap > ul > li[data-floor="3F"] a:nth-of-type(30) {
          width: 3.37%;
          height: 9.52%;
          left: 40.00%;
          top: 47.77%; }
        main > section#floormap > ul > li[data-floor="3F"] a:nth-of-type(31) {
          width: 3.37%;
          height: 9.08%;
          left: 40.0%;
          top: 37.95%; }
    main > section#floormap #roomSliderWrapper {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.9);
      display: none;
      z-index: 1000;
      padding: 10px 40px;
      overflow: auto; }
      main > section#floormap #roomSliderWrapper #roomSliderPosioner {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        width: 540px;
        max-width: 100%;
        margin: auto; }
        main > section#floormap #roomSliderWrapper #roomSliderPosioner #roomSlider {
          width: 100%;
          background: #76C8CD;
          padding: 20px;
          box-sizing: border-box;
          position: relative;
          border-radius: 20px; }
          main > section#floormap #roomSliderWrapper #roomSliderPosioner #roomSlider table {
            table-layout: fixed;
            width: 100%; }
            main > section#floormap #roomSliderWrapper #roomSliderPosioner #roomSlider table thead th {
              background-color: #76C8CD;
              color: #FFF;
              border-color: #76C8CD!important;
              font-size: 1.5625rem;
              padding-top: 0; }
            main > section#floormap #roomSliderWrapper #roomSliderPosioner #roomSlider table tbody tr:nth-child(odd) th, main > section#floormap #roomSliderWrapper #roomSliderPosioner #roomSlider table tbody tr:nth-child(odd) td {
              background-color: #F3F9F9; }
            main > section#floormap #roomSliderWrapper #roomSliderPosioner #roomSlider table tbody tr:nth-child(even) th, main > section#floormap #roomSliderWrapper #roomSliderPosioner #roomSlider table tbody tr:nth-child(even) td {
              background-color: #FFF; }
            main > section#floormap #roomSliderWrapper #roomSliderPosioner #roomSlider table th,
            main > section#floormap #roomSliderWrapper #roomSliderPosioner #roomSlider table td {
              border: 1px solid #ECEAE6;
              padding: 20px 10px;
              text-align: center;
              font-weight: 700; }
          main > section#floormap #roomSliderWrapper #roomSliderPosioner #roomSlider .prev,
          main > section#floormap #roomSliderWrapper #roomSliderPosioner #roomSlider .next {
            cursor: pointer;
            position: absolute;
            top: 50%;
            transform: translate(0, -50%);
            width: 54px;
            height: 54px;
            background: url("../img/icon_arr.svg") center center no-repeat #FFF;
            border-radius: 50%;
            font-size: 0; }
          main > section#floormap #roomSliderWrapper #roomSliderPosioner #roomSlider .prev {
            left: -40px;
            transform: translate(0, -50%) rotate(-90deg); }
          main > section#floormap #roomSliderWrapper #roomSliderPosioner #roomSlider .next {
            right: -40px;
            transform: translate(0, -50%) rotate(90deg); }
        main > section#floormap #roomSliderWrapper #roomSliderPosioner ul {
          color: #FFF;
          width: 540px;
          max-width: 100%;
          margin: 20px auto; }
          main > section#floormap #roomSliderWrapper #roomSliderPosioner ul > li {
            margin-top: 10px;
            text-indent: -1em;
            padding-left: 1em;
            text-align: left; }
            main > section#floormap #roomSliderWrapper #roomSliderPosioner ul > li::before {
              content: '※';
              text-indent: 0;
              padding-left: 0; }
        main > section#floormap #roomSliderWrapper #roomSliderPosioner .close {
          cursor: pointer;
          text-align: center;
          margin-top: 10px;
          color: #76C8CD;
          border: 1px solid #76C8CD;
          border-radius: 10px;
          color: #76C8CD;
          margin-top: 40px;
          width: 150px; }
          main > section#floormap #roomSliderWrapper #roomSliderPosioner .close::before {
            display: inline-block;
            content: url("../img/icon_close.svg");
            margin-right: 10px;
            padding: 10px;
            vertical-align: middle; }
        main > section#floormap #roomSliderWrapper #roomSliderPosioner a {
          color: #76C8CD;
          text-decoration: underline; }
    @media screen and (min-width: 769px) {
      main > section#floormap > ul {
        margin-top: 50px;
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 40px; }
        main > section#floormap > ul li a:hover {
          background-color: rgba(255, 255, 255, 0.2); } }
    @media screen and (max-width: 768px) {
      main > section#floormap > ul {
        margin: 20px -10px 0;
        grid-gap: 20px; }
      main > section#floormap #roomSliderWrapper {
        padding: 10px 20px; }
        main > section#floormap #roomSliderWrapper #roomSliderPosioner #roomSlider {
          padding: 10px; }
          main > section#floormap #roomSliderWrapper #roomSliderPosioner #roomSlider th, main > section#floormap #roomSliderWrapper #roomSliderPosioner #roomSlider td {
            padding: 10px 5px !important;
            font-size: 1rem; }
          main > section#floormap #roomSliderWrapper #roomSliderPosioner #roomSlider table thead th {
            padding-bottom: 10px; }
          main > section#floormap #roomSliderWrapper #roomSliderPosioner #roomSlider .prev {
            left: -20px; }
          main > section#floormap #roomSliderWrapper #roomSliderPosioner #roomSlider .next {
            right: -20px; }
        main > section#floormap #roomSliderWrapper #roomSliderPosioner ul {
          margin: 20px -20px 0; }
        main > section#floormap #roomSliderWrapper #roomSliderPosioner .close {
          margin-top: 20px; } }
  main > section#step {
    counter-reset: num; }
    main > section#step .stepSec {
      position: relative;
      counter-increment: num;
      background-color: #F3F9F9;
      border-radius: 20px;
      max-width: 900px;
      margin: 0 auto; }
      main > section#step .stepSec:not(:last-child) {
        margin-bottom: 60px; }
        main > section#step .stepSec:not(:last-child)::after {
          position: absolute;
          top: 100%;
          left: 50%;
          transform: translate(-50%, 0);
          display: block;
          content: '';
          background-color: #DFDDD8;
          width: 120px;
          height: 60px; }
      main > section#step .stepSec::before {
        position: absolute;
        bottom: 100%;
        display: inline-block;
        content: 'STEP';
        font-weight: 900;
        text-align: center;
        line-height: 1; }
      main > section#step .stepSec h3 {
        font-weight: 500; }
        main > section#step .stepSec h3::before {
          position: absolute;
          top: 0;
          display: inline-block;
          content: "0" counter(num);
          color: #F0907A;
          font-weight: 800;
          text-align: center;
          line-height: 1; }
      main > section#step .stepSec ul {
        list-style: disc;
        padding-left: 1em; }
        main > section#step .stepSec ul li {
          line-height: 2; }
          main > section#step .stepSec ul li:nth-child(n+2) {
            margin-top: 10px; }
          main > section#step .stepSec ul li a {
            color: #76C8CD;
            text-decoration: underline; }
    @media screen and (min-width: 769px) {
      main > section#step .stepSec {
        padding: 40px;
        width: 100%; }
        main > section#step .stepSec::before {
          left: 40px;
          width: 7.5rem;
          font-size: 2.1875rem; }
        main > section#step .stepSec h3 {
          width: 100%;
          padding-left: 140px;
          font-size: 1.75rem;
          margin-bottom: 40px; }
          main > section#step .stepSec h3::before {
            left: 40px;
            width: 7.5rem;
            font-size: 6.25rem; } }
    @media screen and (max-width: 768px) {
      main > section#step .stepSec {
        padding: 20px;
        width: calc(100% + 20px);
        margin: 0 -10px; }
        main > section#step .stepSec:nth-child(n+2) {
          margin-top: 40px; }
        main > section#step .stepSec::before {
          left: 20px;
          width: 3.75rem;
          font-size: 1.125rem; }
        main > section#step .stepSec h3 {
          width: 100%;
          padding-left: 70px;
          font-size: 1.25rem;
          margin-bottom: 20px; }
          main > section#step .stepSec h3::before {
            left: 20px;
            width: 3.75rem;
            font-size: 3.125rem; } }
  main > section#faq .faqList {
    max-width: 1180px;
    margin: 0 auto; }
    main > section#faq .faqList dt {
      position: relative;
      background-color: #F3F9F9;
      font-weight: 700;
      border-radius: 20px;
      text-indent: -1.5em;
      cursor: pointer; }
      main > section#faq .faqList dt:nth-child(n+2) {
        margin-top: 20px; }
      main > section#faq .faqList dt::before {
        display: inline-block;
        content: 'Q.';
        color: #76C8CD;
        text-indent: 0;
        margin-right: .5em; }
      main > section#faq .faqList dt::after {
        position: absolute;
        top: 50%;
        content: '';
        width: 20px;
        height: 20px;
        background-color: #76C8CD;
        clip-path: polygon(calc(50% - 1px) 0, calc(50% + 1px) 0, calc(50% + 1px) calc(50% - 1px), 100% calc(50% - 1px), 100% calc(50% + 1px), calc(50% + 1px) calc(50% + 1px), calc(50% + 1px) 100%, calc(50% - 1px) 100%, calc(50% - 1px) calc(50% + 1px), 0 calc(50% + 1px), 0 calc(50% - 1px), calc(50% - 1px) calc(50% - 1px));
        margin-top: -10px; }
      main > section#faq .faqList dt.open::after {
        clip-path: polygon(0 calc(50% - 1px), 100% calc(50% - 1px), 100% calc(50% + 1px), 0 calc(50% + 1px)); }
    main > section#faq .faqList dd {
      display: grid;
      grid-template-rows: 0fr;
      transition: grid-template-rows .5s, padding .5s; }
      main > section#faq .faqList dd.open {
        grid-template-rows: 1fr; }
      main > section#faq .faqList dd div {
        overflow: hidden;
        font-size: 1rem;
        line-height: 2; }
  main > section#faq .txt-l {
    margin-top: 40px;
    text-align: center; }
  @media screen and (min-width: 769px) {
    main > section#faq .faqList dt {
      font-size: 1.3125rem;
      padding: 20px 40px 20px calc(20px + 1.5em); }
      main > section#faq .faqList dt::after {
        right: 20px; }
    main > section#faq .faqList dd {
      padding: 0 20px; }
      main > section#faq .faqList dd.open {
        padding: 20px; } }
  @media screen and (max-width: 768px) {
    main > section#faq .faqList {
      margin: 0 -10px; }
      main > section#faq .faqList dt {
        font-size: 1rem;
        padding: 10px 30px 10px calc(10px + 1.5em); }
        main > section#faq .faqList dt::after {
          right: 10px; }
      main > section#faq .faqList dd {
        padding: 0 10px; }
        main > section#faq .faqList dd.open {
          padding: 10px; } }
  main > section#shop {
    max-width: 1260px;
    margin: 0 auto; }
    main > section#shop figure {
      display: grid;
      grid-gap: 5px; }
    main > section#shop .mapWrap {
      position: relative;
      width: 100%;
      height: 445px; }
      main > section#shop .mapWrap iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }
    main > section#shop table {
      display: block;
      width: 100%; }
      main > section#shop table tbody {
        display: grid; }
        main > section#shop table tbody tr {
          display: block; }
          main > section#shop table tbody tr th, main > section#shop table tbody tr td {
            display: block;
            line-height: 2; }
    main > section#shop .btn a {
      justify-content: flex-start;
      background: url("../img/icon_newwin.svg") right 20px center no-repeat;
      padding-right: 35px;
      margin: 0 auto; }
    @media screen and (min-width: 769px) {
      main > section#shop figure {
        grid-template-columns: repeat(3, 1fr);
        margin-bottom: 50px; }
      main > section#shop table {
        margin-top: 30px; }
        main > section#shop table tbody {
          grid-template-columns: repeat(2, 1fr); } }
    @media screen and (max-width: 768px) {
      main > section#shop figure {
        grid-template-columns: repeat(2, 1fr);
        margin: 0 -10px 20px; }
      main > section#shop .mapWrap {
        width: calc(100% + 20px);
        margin: 0 -10px; }
      main > section#shop table {
        margin-top: 20px; }
        main > section#shop table tbody {
          grid-template-columns: repeat(1, 1fr);
          grid-gap: 20px; } }
