/****************************************************
 * MODULE
 */
.m-contents-name {
  margin-bottom: 196px;
  color: #fff; }
  @media screen and (max-width: 768px) {
    .m-contents-name {
      padding-top: 94px;
      margin-bottom: 94px; }
      .m-contents-name:before {
        height: 76px; } }

/****************************************************
 * COMPONENT
 */
/****************************************************
 * STATE
 */
/****************************************************
 * STRUCTURE
 */
/****************************************************
 * STYLE
 */
.intro {
  padding-bottom: 300px; }
  @media screen and (max-width: 768px) {
    .intro {
      padding-bottom: 147px; } }

.prlx {
  height: 33.67496vw;
  position: relative;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    .prlx {
      height: 84vw; } }
  .prlx__inner {
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    -webkit-transform: translateY(-60%);
    -moz-transform: translateY(-60%);
    -ms-transform: translateY(-60%);
    -o-transform: translateY(-60%);
    transform: translateY(-60%); }
    @media screen and (max-width: 768px) {
      .prlx__inner {
        right: -30%;
        left: -30%;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        transform: translateY(-50%); } }
  .prlx img {
    width: 100%; }

.feature {
  padding-bottom: 168px; }
  @media screen and (max-width: 768px) {
    .feature {
      padding-bottom: 112px; } }
  .feature .prlx {
    height: 45.02196vw;
    margin-bottom: 300px; }
    @media screen and (max-width: 768px) {
      .feature .prlx {
        height: 84vw;
        margin-bottom: 150px; } }
  .feature__unit {
    margin-bottom: 132px; }
    @media screen and (max-width: 768px) {
      .feature__unit {
        margin-bottom: 140px; }
        .feature__unit:last-child {
          margin-bottom: 30px; } }
    .feature__unit .m-inner {
      overflow: visible; }
      .feature__unit .m-inner:after {
        display: block;
        clear: both;
        content: ''; }
    .feature__unit:nth-child(2), .feature__unit:nth-child(3) {
      padding-bottom: 54px;
      margin-bottom: 170px; }
      @media screen and (max-width: 768px) {
        .feature__unit:nth-child(2), .feature__unit:nth-child(3) {
          padding-bottom: 0;
          margin-bottom: 140px; } }
    .feature__unit__slide {
      position: relative; }
      @media screen and (max-width: 768px) {
        .feature__unit__slide {
          margin: 0 -13px 57px; } }
      .feature__unit__slide .swiper-group {
        position: relative; }
        @media screen and (max-width: 768px) {
          .feature__unit__slide .swiper-group {
            margin: 0 13px; } }
      .feature__unit__slide .swiper-container {
        width: 630px; }
        @media screen and (max-width: 768px) {
          .feature__unit__slide .swiper-container:nth-child(odd) {
            width: 100%; } }
        @media screen and (max-width: 768px) {
          .feature__unit__slide .swiper-container:nth-child(even) {
            display: none; } }
      .feature__unit__slide .swpr-controller {
        position: absolute;
        top: 100%; }
        @media screen and (max-width: 768px) {
          .feature__unit__slide .swpr-controller {
            top: inherit; } }
    .feature__unit__txt {
      display: inline-block;
      width: 38.78583%;
      margin-top: -100px; }
      @media screen and (max-width: 768px) {
        .feature__unit__txt {
          width: 100%;
          margin-top: 0; } }
      .feature__unit__txt .inner {
        background-color: #002538;
        color: #c18259;
        position: relative;
        z-index: 100; }
      .feature__unit__txt .ttl {
        margin-bottom: 38px;
        font-size: 3em;
        font-size: 3rem;
        letter-spacing: 0.2em;
        line-height: 1; }
        @media screen and (max-width: 768px) {
          .feature__unit__txt .ttl {
            margin-bottom: 43px;
            font-size: 2.375em;
            font-size: 2.375rem; } }
      .feature__unit__txt p {
        letter-spacing: 0.1em; }
      .feature__unit__txt .ja {
        margin-bottom: 14px;
        font-size: 0.875em;
        font-size: 0.875rem;
        line-height: 1.71429;
        text-align: justify;
        text-justify: inter-ideograph; }
        .ie .feature__unit__txt .ja, .edge .feature__unit__txt .ja {
          font-feature-settings: initial; }
      .feature__unit__txt .en {
        font-size: 0.75em;
        font-size: 0.75rem;
        line-height: 1.33333;
        text-align: justify;
        text-justify: inter-ideograph; }
        .ie .feature__unit__txt .en, .edge .feature__unit__txt .en {
          font-feature-settings: initial; }
        @media screen and (max-width: 768px) {
          .feature__unit__txt .en {
            font-size: 0.875em;
            font-size: 0.875rem;
            line-height: 1.57143; } }
      .feature__unit__txt .m-btn {
        margin-top: 94px; }
        @media screen and (max-width: 768px) {
          .feature__unit__txt .m-btn {
            margin-top: 45px; } }
    .feature__unit:nth-child(odd) .feature__unit__slide .swiper-container:nth-child(odd) {
      margin-left: 0;
      position: relative;
      z-index: 10; }
    .feature__unit:nth-child(odd) .feature__unit__slide .swiper-container:nth-child(even) {
      position: absolute;
      top: 170px;
      right: 0; }
    .feature__unit:nth-child(odd) .feature__unit__slide .swpr-controller {
      left: 505px; }
      @media screen and (max-width: 768px) {
        .feature__unit:nth-child(odd) .feature__unit__slide .swpr-controller {
          left: inherit;
          right: 13px;
          bottom: 0; } }
    .feature__unit:nth-child(odd) .feature__unit__txt .inner {
      padding: 32px 40px 0 38px; }
      @media screen and (max-width: 768px) {
        .feature__unit:nth-child(odd) .feature__unit__txt .inner {
          padding: 0 37px; } }
    .feature__unit:nth-child(even) .feature__unit__slide .swiper-container:nth-child(odd) {
      position: absolute;
      top: 170px;
      left: 0; }
      @media screen and (max-width: 768px) {
        .feature__unit:nth-child(even) .feature__unit__slide .swiper-container:nth-child(odd) {
          position: static; } }
    .feature__unit:nth-child(even) .feature__unit__slide .swiper-container:nth-child(even) {
      margin-right: 0;
      position: relative;
      z-index: 10; }
    .feature__unit:nth-child(even) .feature__unit__slide .swpr-controller {
      right: 505px; }
      @media screen and (max-width: 768px) {
        .feature__unit:nth-child(even) .feature__unit__slide .swpr-controller {
          right: 13px;
          left: inherit;
          bottom: 0; } }
    .feature__unit:nth-child(even) .feature__unit__txt {
      float: right; }
      @media screen and (max-width: 768px) {
        .feature__unit:nth-child(even) .feature__unit__txt {
          float: none; } }
      .feature__unit:nth-child(even) .feature__unit__txt .inner {
        padding: 32px 38px 0 75px; }
        @media screen and (max-width: 768px) {
          .feature__unit:nth-child(even) .feature__unit__txt .inner {
            padding: 0 37px; } }

.private-spa-bar {
  background-color: #2d4c5d;
  padding-bottom: 300px; }
  @media screen and (max-width: 768px) {
    .private-spa-bar {
      padding-bottom: 150px; } }
  @media screen and (max-width: 768px) {
    .private-spa-bar .m-row {
      -webkit-flex-direction: column;
      flex-direction: column;
      padding: 0 13px; } }
  .private-spa-bar .row__unit--img {
    width: 736px; }
    @media screen and (max-width: 768px) {
      .private-spa-bar .row__unit--img {
        width: 100%;
        margin-bottom: 52px; } }
    .private-spa-bar .row__unit--img img {
      width: 100%; }
  .private-spa-bar .row__unit .m-cover span {
    background-color: #2d4c5d; }
  .private-spa-bar .row__unit--txt {
    width: 35.83474%; }
    @media screen and (max-width: 768px) {
      .private-spa-bar .row__unit--txt {
        width: 100%; } }
  .private-spa-bar .row__unit .inner {
    background-color: #2d4c5d;
    padding: 21px 100px 75px 72px;
    margin-left: -100px;
    color: #fff;
    position: relative;
    z-index: 100; }
    @media screen and (max-width: 768px) {
      .private-spa-bar .row__unit .inner {
        padding: 0 20px;
        margin-left: 0; } }
  .private-spa-bar .row__unit .ttl {
    margin-bottom: 17px;
    font-size: 3em;
    font-size: 3rem;
    letter-spacing: 0.2em;
    line-height: 1.20833; }
    @media screen and (max-width: 768px) {
      .private-spa-bar .row__unit .ttl {
        margin-bottom: 34px;
        font-size: 2.375em;
        font-size: 2.375rem;
        line-height: 1.31579; } }
  .private-spa-bar .row__unit p {
    letter-spacing: 0.1em; }
  .private-spa-bar .row__unit .ja {
    margin-bottom: 20px;
    font-size: 0.875em;
    font-size: 0.875rem;
    line-height: 1.71429;
    text-align: justify;
    text-justify: inter-ideograph; }
    .ie .private-spa-bar .row__unit .ja, .edge .private-spa-bar .row__unit .ja {
      font-feature-settings: initial; }
    @media screen and (max-width: 768px) {
      .private-spa-bar .row__unit .ja {
        margin-bottom: 14px; } }
  .private-spa-bar .row__unit .en {
    font-size: 0.75em;
    font-size: 0.75rem;
    line-height: 1.33333;
    text-align: justify;
    text-justify: inter-ideograph; }
    .ie .private-spa-bar .row__unit .en, .edge .private-spa-bar .row__unit .en {
      font-feature-settings: initial; }
    @media screen and (max-width: 768px) {
      .private-spa-bar .row__unit .en {
        font-size: 0.875em;
        font-size: 0.875rem;
        line-height: 1.57143; } }
  .private-spa-bar .row__unit .m-btn {
    margin-top: 56px; }
    @media screen and (max-width: 768px) {
      .private-spa-bar .row__unit .m-btn {
        margin-top: 44px; } }
  @media screen and (max-width: 768px) {
    .private-spa-bar .swpr-controller {
      right: 0; } }

.suite {
  background-color: #2d4c5d;
  padding-bottom: 300px; }
  @media screen and (max-width: 768px) {
    .suite {
      padding-bottom: 150px; } }
  .suite .m-contents-name {
    margin-bottom: 280px; }
    @media screen and (max-width: 768px) {
      .suite .m-contents-name {
        margin-bottom: 94px; } }
  .suite .m-row {
    -webkit-flex-direction: row-reverse;
    flex-direction: row-reverse;
    overflow: visible; }
    @media screen and (max-width: 768px) {
      .suite .m-row {
        -webkit-flex-direction: column;
        flex-direction: column;
        padding: 0 13px; } }
  .suite .row__unit--img {
    width: 736px; }
    @media screen and (max-width: 768px) {
      .suite .row__unit--img {
        width: 100%;
        margin-bottom: 52px; } }
    .suite .row__unit--img img {
      width: 100%; }
  .suite .row__unit .m-cover span {
    background-color: #2d4c5d; }
  .suite .row__unit--txt {
    width: 35.83474%; }
    @media screen and (max-width: 768px) {
      .suite .row__unit--txt {
        width: 100%; } }
  .suite .row__unit .inner {
    background-color: #2d4c5d;
    padding: 0 70px 20px 81px;
    margin: -99px -170px 0 0;
    color: #fff;
    position: relative;
    z-index: 100; }
    @media screen and (max-width: 768px) {
      .suite .row__unit .inner {
        padding: 0 20px;
        margin: 0; } }
  .suite .row__unit .ttl {
    margin-bottom: 35px;
    font-size: 3em;
    font-size: 3rem;
    letter-spacing: 0.2em;
    line-height: 1.20833; }
    @media screen and (max-width: 768px) {
      .suite .row__unit .ttl {
        margin-bottom: 34px;
        font-size: 2.375em;
        font-size: 2.375rem;
        line-height: 1.31579; } }
  .suite .row__unit p {
    letter-spacing: 0.1em; }
  .suite .row__unit .ja {
    margin-bottom: 22px;
    font-size: 0.875em;
    font-size: 0.875rem;
    line-height: 1.71429;
    text-align: justify;
    text-justify: inter-ideograph; }
    .ie .suite .row__unit .ja, .edge .suite .row__unit .ja {
      font-feature-settings: initial; }
    @media screen and (max-width: 768px) {
      .suite .row__unit .ja {
        margin-bottom: 14px; } }
  .suite .row__unit .en {
    font-size: 0.75em;
    font-size: 0.75rem;
    line-height: 1.33333;
    text-align: justify;
    text-justify: inter-ideograph; }
    .ie .suite .row__unit .en, .edge .suite .row__unit .en {
      font-feature-settings: initial; }
    @media screen and (max-width: 768px) {
      .suite .row__unit .en {
        font-size: 0.875em;
        font-size: 0.875rem;
        line-height: 1.57143; } }
  .suite .row__unit .m-btn {
    margin-top: 100px; }
    @media screen and (max-width: 768px) {
      .suite .row__unit .m-btn {
        margin-top: 44px; } }
  .suite .m-slider-controller {
    right: 0; }

.bar-other {
  background-color: #2d4c5d;
  padding-bottom: 200px; }
  @media screen and (max-width: 768px) {
    .bar-other {
      padding-bottom: 50px; } }
  .bar-other > .m-inner:after {
    display: none; }
  .bar-other .row__unit {
    width: 568px;
    margin-bottom: 100px; }
    @media screen and (max-width: 768px) {
      .bar-other .row__unit {
        width: 100%;
        margin: 0 19px 50px; } }
    .bar-other .row__unit img {
      width: 100%; }
  .bar-other .image {
    margin-right: 85px; }
    @media screen and (max-width: 768px) {
      .bar-other .image {
        margin-right: 0; } }
  .bar-other .txt {
    background-color: #e6e7e8;
    width: 500px;
    padding: 40px 45px 98px;
    margin: -90px 0 0 auto;
    color: #ab6333;
    letter-spacing: 0.1em;
    border-left: 1px solid #ab6333;
    position: relative; }
    @media screen and (max-width: 768px) {
      .bar-other .txt {
        width: 100%;
        padding: 18px 25px 26px;
        margin: 0; } }
    .bar-other .txt.is-comingsoon {
      padding: 40px 45px; }
      @media screen and (max-width: 768px) {
        .bar-other .txt.is-comingsoon {
          padding: 18px 25px 20px; } }
  .bar-other .ttl {
    margin-bottom: 20px;
    font-size: 1.5em;
    font-size: 1.5rem;
    line-height: 1; }
    @media screen and (max-width: 768px) {
      .bar-other .ttl {
        margin-bottom: 16px;
        font-size: 1.5625em;
        font-size: 1.5625rem; } }
  .bar-other .ja {
    margin-bottom: 14px;
    font-size: 0.875em;
    font-size: 0.875rem;
    line-height: 1.71429;
    text-align: justify;
    text-justify: inter-ideograph; }
    .ie .bar-other .ja, .edge .bar-other .ja {
      font-feature-settings: initial; }
    @media screen and (max-width: 768px) {
      .bar-other .ja {
        margin-bottom: 12px;
        font-size: 0.75em;
        font-size: 0.75rem;
        line-height: 1.83333; } }
  .bar-other .en {
    font-size: 0.75em;
    font-size: 0.75rem;
    line-height: 1.33333;
    text-align: justify;
    text-justify: inter-ideograph; }
    .ie .bar-other .en, .edge .bar-other .en {
      font-feature-settings: initial; }
    @media screen and (max-width: 768px) {
      .bar-other .en {
        margin-bottom: 20px;
        font-size: 0.75em;
        font-size: 0.75rem;
        line-height: 1.58333; } }
  .bar-other .m-btn {
    position: absolute;
    left: 45px;
    bottom: 42px; }
    @media screen and (max-width: 768px) {
      .bar-other .m-btn {
        position: static; } }
    .bar-other .m-btn a {
      color: #ab6333; }

.system {
  background-color: #b4aca4;
  padding-bottom: 196px; }
  @media screen and (max-width: 768px) {
    .system {
      padding-bottom: 96px; } }
  .system .m-contents-name {
    margin-bottom: 90px; }
    @media screen and (max-width: 768px) {
      .system .m-contents-name {
        margin-bottom: 41px; } }
  .system__group {
    max-width: 1008px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      .system__group {
        -webkit-flex-direction: column;
        flex-direction: column; } }
    .system__group__unit {
      width: 100%;
      padding: 0 42px;
      font-size: 0.875em;
      font-size: 0.875rem;
      line-height: 1.71429;
      letter-spacing: 0.1em;
      color: #fff; }
      @media screen and (max-width: 768px) {
        .system__group__unit {
          width: 100%;
          font-size: 0.75em;
          font-size: 0.75rem;
          line-height: 1.83333; }
          .system__group__unit:not(:last-child) {
            margin-bottom: 41px; } }
      .system__group__unit dt {
        margin-bottom: 2em; }
        @media screen and (max-width: 768px) {
          .system__group__unit dt {
            margin-bottom: 22px; } }
      .system__group__unit dd {
        text-align: justify;
        text-justify: inter-ideograph; }
        .ie .system__group__unit dd, .edge .system__group__unit dd {
          font-feature-settings: initial; }
