*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

@media screen and (min-width: 1025px) {
  .pc {
    display: block !important; } }
@media screen and (max-width: 1024px) {
  .pc {
    display: none !important; } }
@media screen and (max-width: 599px) {
  .pc {
    display: none !important; } }

@media screen and (min-width: 1025px) {
  .tab {
    display: none !important; } }
@media screen and (max-width: 1024px) {
  .tab {
    display: block !important; } }
@media screen and (max-width: 599px) {
  .tab {
    display: none !important; } }

@media screen and (min-width: 1025px) {
  .sp {
    display: none !important; } }
@media screen and (max-width: 1024px) {
  .sp {
    display: none !important; } }
@media screen and (max-width: 599px) {
  .sp {
    display: block !important; } }

#wrap {
  overflow: hidden; }
  #wrap .fade-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
    opacity: 1;
    transition: opacity 1s ease-in-out;
    z-index: 9999;
    pointer-events: none; }
    #wrap .fade-overlay.hide {
      opacity: 0; }
  #wrap .deco {
    display: none !important;
    background-color: #EA9C33; }
  #wrap #mainVisual {
    height: calc(100vh - 70px);
    background: url("../img/mainVisual-bg.webp") no-repeat left center/cover;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative; }
    @media screen and (max-width: 599px) {
      #wrap #mainVisual {
        height: calc(100svh - 72px);
        background: url("../img/mainVisual-bg_x2.webp") no-repeat center top/cover; } }
    #wrap #mainVisual #logo {
      width: 100%;
      max-width: 560px;
      opacity: 0;
      transition: opacity 1s 1s ease-in-out; }
      @media screen and (max-width: 599px) {
        #wrap #mainVisual #logo {
          max-width: 300px; } }
      #wrap #mainVisual #logo img {
        width: 100%;
        vertical-align: bottom; }
    #wrap #mainVisual .arrow__down {
      height: 20px;
      width: 20px;
      position: absolute;
      text-align: center;
      left: 50%;
      transform: translateX(-50%);
      bottom: 40px;
      opacity: 0;
      transition: opacity 1s 1s ease-in-out;
      z-index: 2; }
      #wrap #mainVisual .arrow__down .arrow__down__inner {
        animation: arrow-down 1.5s infinite;
        border-bottom: 4px solid #fff;
        border-left: 4px solid #fff;
        box-sizing: border-box;
        height: 100%;
        transform: rotateZ(-45deg);
        width: 100%; }
    #wrap #mainVisual.show #logo {
      opacity: 1; }
    #wrap #mainVisual.show .arrow__down {
      opacity: 1; }
  #wrap section#firstWrap .textBlock {
    position: relative;
    max-width: 1600px;
    margin: 0 auto; }
    @media screen and (max-width: 1024px) {
      #wrap section#firstWrap .textBlock {
        padding: 75px 10px 60px; } }
    #wrap section#firstWrap .textBlock::before {
      content: '';
      display: inline-block;
      position: absolute;
      background: url("../img/bg-ico.svg") no-repeat left center/cover;
      transform: rotate(-40deg);
      z-index: -1; }
      @media screen and (min-width: 1025px) {
        #wrap section#firstWrap .textBlock::before {
          top: -30px;
          right: 265px;
          width: 300px;
          height: 290px; } }
      @media screen and (max-width: 1024px) {
        #wrap section#firstWrap .textBlock::before {
          top: -40px;
          right: -20px;
          width: 220px;
          height: 210px; } }
    @media screen and (min-width: 1025px) {
      #wrap section#firstWrap .textBlock .wrap {
        padding: 120px 0; } }
    #wrap section#firstWrap .textBlock .wrap div {
      opacity: 0;
      transition: opacity 1s; }
      #wrap section#firstWrap .textBlock .wrap div p {
        margin: 0;
        padding: 0;
        font-size: 28px;
        text-align: center; }
        @media screen and (max-width: 599px) {
          #wrap section#firstWrap .textBlock .wrap div p {
            font-size: 18px; } }
      #wrap section#firstWrap .textBlock .wrap div.is-show {
        opacity: 1; }
  #wrap section#location {
    position: relative;
    opacity: 0;
    transform: translateY(50px);
    transition: opacity 1.5s, transform 1.5s; }
    #wrap section#location.is-show {
      opacity: 1;
      transform: translateY(0); }
    @media screen and (min-width: 1025px) {
      #wrap section#location {
        height: calc(100vh - 70px);
        background: url("../img/location-bg.webp") no-repeat left bottom/cover; } }
    #wrap section#location .wrap {
      position: absolute;
      right: 140px;
      bottom: 100px; }
      @media screen and (max-width: 1024px) {
        #wrap section#location .wrap {
          position: static; } }
      #wrap section#location .wrap .textBlock .headingBlock {
        display: grid;
        align-items: center;
        grid-template-columns: 75px auto;
        gap: 0 20px;
        margin: 0 0 50px; }
        @media screen and (max-width: 1024px) {
          #wrap section#location .wrap .textBlock .headingBlock {
            grid-template-columns: 1fr;
            text-align: center;
            margin: 0 0 20px; } }
        #wrap section#location .wrap .textBlock .headingBlock::before {
          content: '';
          display: block;
          width: 75px;
          height: 72px;
          background: url("../img/head-ico.svg") no-repeat left center/cover; }
          @media screen and (max-width: 1024px) {
            #wrap section#location .wrap .textBlock .headingBlock::before {
              display: none; } }
        #wrap section#location .wrap .textBlock .headingBlock h2 {
          font-size: 60px;
          font-weight: 500;
          color: #fff; }
          @media screen and (max-width: 1024px) {
            #wrap section#location .wrap .textBlock .headingBlock h2 {
              font-size: 40px;
              color: #B89361 !important; } }
          @media screen and (max-width: 599px) {
            #wrap section#location .wrap .textBlock .headingBlock h2 {
              font-size: 30px; } }
      #wrap section#location .wrap .textBlock .imgBlock {
        display: none; }
        @media screen and (max-width: 1024px) {
          #wrap section#location .wrap .textBlock .imgBlock {
            display: block; } }
        #wrap section#location .wrap .textBlock .imgBlock img {
          width: 100%;
          vertical-align: bottom; }
      @media screen and (max-width: 1024px) {
        #wrap section#location .wrap .textBlock .textWrap {
          padding: 40px 30px 60px; } }
      @media screen and (max-width: 599px) {
        #wrap section#location .wrap .textBlock .textWrap {
          padding: 30px 10px 60px; } }
      #wrap section#location .wrap .textBlock .textWrap p {
        margin: 0;
        padding: 0;
        font-weight: 500;
        color: #fff; }
        @media screen and (max-width: 1024px) {
          #wrap section#location .wrap .textBlock .textWrap p {
            color: #000; } }
  #wrap section#design .imgBlock {
    opacity: 0;
    transform: translateY(50px);
    transition: opacity 1.5s, transform 1.5s; }
    #wrap section#design .imgBlock.is-show {
      opacity: 1;
      transform: translateY(0); }
    @media screen and (min-width: 1025px) {
      #wrap section#design .imgBlock {
        height: calc(100vh - 70px);
        background: url("../img/design-img-01.webp") no-repeat center bottom/cover; } }
  #wrap section#design .column {
    display: grid;
    grid-template-columns: 50% 50%;
    align-items: center; }
    @media screen and (max-width: 1024px) {
      #wrap section#design .column {
        grid-template-columns: 1fr; } }
    #wrap section#design .column .detail {
      text-align: center;
      position: relative; }
      #wrap section#design .column .detail::before {
        content: '';
        display: inline-block;
        position: absolute;
        background: url("../img/bg-ico.svg") no-repeat left center/cover;
        z-index: -1; }
        @media screen and (min-width: 1025px) {
          #wrap section#design .column .detail::before {
            top: 50%;
            right: 77px;
            width: 300px;
            height: 290px;
            transform: translateY(-50%) rotate(-90deg); } }
      #wrap section#design .column .detail .textBlock {
        display: inline-block;
        text-align: left; }
        #wrap section#design .column .detail .textBlock .headingBlock {
          display: inline-grid;
          align-items: flex-start;
          grid-template-columns: 75px auto;
          gap: 0 20px;
          margin: 0 0 50px; }
          @media screen and (max-width: 1024px) {
            #wrap section#design .column .detail .textBlock .headingBlock {
              display: grid;
              grid-template-columns: 1fr;
              text-align: center;
              margin: 0 0 20px; } }
          #wrap section#design .column .detail .textBlock .headingBlock::before {
            content: '';
            display: block;
            width: 75px;
            height: 72px;
            background: url("../img/head-ico.svg") no-repeat left center/cover;
            margin: 10px 0 0;
            transform: translateY(205%); }
            @media screen and (max-width: 1024px) {
              #wrap section#design .column .detail .textBlock .headingBlock::before {
                display: none; } }
          #wrap section#design .column .detail .textBlock .headingBlock h2 {
            font-size: 60px;
            font-weight: 500;
            line-height: normal;
            color: #000; }
            @media screen and (max-width: 1024px) {
              #wrap section#design .column .detail .textBlock .headingBlock h2 {
                font-size: 40px;
                color: #B89361 !important; } }
            @media screen and (max-width: 599px) {
              #wrap section#design .column .detail .textBlock .headingBlock h2 {
                font-size: 30px; } }
        @media screen and (min-width: 1025px) {
          #wrap section#design .column .detail .textBlock .mainVisual {
            display: none; } }
        #wrap section#design .column .detail .textBlock .mainVisual img {
          width: 100%;
          vertical-align: bottom; }
        @media screen and (max-width: 1024px) {
          #wrap section#design .column .detail .textBlock .textWrap {
            padding: 40px 30px; } }
        @media screen and (max-width: 599px) {
          #wrap section#design .column .detail .textBlock .textWrap {
            padding: 30px 10px; } }
        #wrap section#design .column .detail .textBlock .textWrap p {
          padding: 0; }
          #wrap section#design .column .detail .textBlock .textWrap p:not(:first-child) {
            margin: 1em 0 0; }
    #wrap section#design .column .img {
      background: none;
      opacity: 0;
      transform: translateY(50px);
      transition: opacity 1.5s, transform 1.5s; }
      #wrap section#design .column .img.is-show {
        opacity: 1;
        transform: translateY(0); }
      @media screen and (min-width: 1025px) {
        #wrap section#design .column .img {
          aspect-ratio: 16 / 13;
          background: url("../img/design-img-02.webp") no-repeat center bottom/cover; } }
      @media screen and (max-width: 1024px) {
        #wrap section#design .column .img {
          padding: 0 30px; } }
      @media screen and (max-width: 599px) {
        #wrap section#design .column .img {
          padding: 0 10px; } }
      #wrap section#design .column .img img {
        width: 100%;
        vertical-align: bottom; }
        @media screen and (min-width: 1025px) {
          #wrap section#design .column .img img {
            display: none; } }
  @media screen and (max-width: 1024px) {
    #wrap section#experience {
      margin: 60px 0 0; } }
  #wrap section#experience .imgBlock {
    opacity: 0;
    transform: translateY(50px);
    transition: opacity 1.5s, transform 1.5s; }
    #wrap section#experience .imgBlock.is-show {
      opacity: 1;
      transform: translateY(0); }
    @media screen and (min-width: 1025px) {
      #wrap section#experience .imgBlock {
        height: calc(100vh - 70px);
        background: url("../img/experience-img-01.webp") no-repeat center bottom/cover; } }
  #wrap section#experience .column {
    display: grid;
    grid-template-columns: 50% 50%;
    align-items: center; }
    @media screen and (max-width: 1024px) {
      #wrap section#experience .column {
        grid-template-columns: 1fr; } }
    #wrap section#experience .column .detail {
      text-align: center;
      position: relative; }
      @media screen and (min-width: 1025px) {
        #wrap section#experience .column .detail {
          order: 2; } }
      #wrap section#experience .column .detail::before {
        content: '';
        display: inline-block;
        position: absolute;
        background: url("../img/bg-ico.svg") no-repeat left center/cover;
        z-index: -1; }
        @media screen and (min-width: 1025px) {
          #wrap section#experience .column .detail::before {
            top: 50%;
            left: -125px;
            width: 620px;
            height: 580px; } }
      #wrap section#experience .column .detail .textBlock {
        display: inline-block;
        text-align: left; }
        #wrap section#experience .column .detail .textBlock .headingBlock {
          display: inline-grid;
          align-items: flex-start;
          grid-template-columns: 75px auto;
          gap: 0 20px;
          margin: 0 0 50px; }
          @media screen and (max-width: 1024px) {
            #wrap section#experience .column .detail .textBlock .headingBlock {
              display: grid;
              grid-template-columns: 1fr;
              text-align: center;
              margin: 0 0 20px; } }
          #wrap section#experience .column .detail .textBlock .headingBlock::before {
            content: '';
            display: block;
            width: 75px;
            height: 72px;
            background: url("../img/head-ico.svg") no-repeat left center/cover;
            margin: 10px 0 0; }
            @media screen and (max-width: 1024px) {
              #wrap section#experience .column .detail .textBlock .headingBlock::before {
                display: none; } }
          #wrap section#experience .column .detail .textBlock .headingBlock h2 {
            font-size: 60px;
            font-weight: 500;
            line-height: normal;
            color: #000; }
            @media screen and (max-width: 1024px) {
              #wrap section#experience .column .detail .textBlock .headingBlock h2 {
                font-size: 40px;
                color: #B89361 !important; } }
            @media screen and (max-width: 599px) {
              #wrap section#experience .column .detail .textBlock .headingBlock h2 {
                font-size: 30px; } }
        @media screen and (min-width: 1025px) {
          #wrap section#experience .column .detail .textBlock .mainVisual {
            display: none; } }
        #wrap section#experience .column .detail .textBlock .mainVisual img {
          width: 100%;
          vertical-align: bottom; }
        @media screen and (max-width: 1024px) {
          #wrap section#experience .column .detail .textBlock .textWrap {
            padding: 40px 30px; } }
        @media screen and (max-width: 599px) {
          #wrap section#experience .column .detail .textBlock .textWrap {
            padding: 30px 10px; } }
        #wrap section#experience .column .detail .textBlock .textWrap p {
          padding: 0; }
          #wrap section#experience .column .detail .textBlock .textWrap p:not(:first-child) {
            margin: 1em 0 0; }
    #wrap section#experience .column .img {
      background: none;
      opacity: 0;
      transform: translateY(50px);
      transition: opacity 1.5s, transform 1.5s; }
      #wrap section#experience .column .img.is-show {
        opacity: 1;
        transform: translateY(0); }
      @media screen and (min-width: 1025px) {
        #wrap section#experience .column .img {
          aspect-ratio: 16 / 13;
          background: url("../img/experience-img-02.webp") no-repeat center bottom/cover; } }
      @media screen and (max-width: 1024px) {
        #wrap section#experience .column .img {
          padding: 0 30px; } }
      @media screen and (max-width: 599px) {
        #wrap section#experience .column .img {
          padding: 0 10px; } }
      #wrap section#experience .column .img img {
        width: 100%;
        vertical-align: bottom; }
        @media screen and (min-width: 1025px) {
          #wrap section#experience .column .img img {
            display: none; } }
  #wrap section.residence_spec {
    padding: 0 0 1rem;
    margin-top: 160px;
    z-index: 2;
    opacity: 0;
    transition: opacity 1s; }
    @media screen and (max-width: 1024px) {
      #wrap section.residence_spec {
        margin-top: 80px; } }
    #wrap section.residence_spec.is-show {
      opacity: 1; }
  #wrap section .wrap .textBlock .headingBlock {
    overflow: hidden; }
    #wrap section .wrap .textBlock .headingBlock::before {
      transform: translateY(105%);
      transition: transform 1s; }
    #wrap section .wrap .textBlock .headingBlock h2 {
      transform: translateY(105%);
      transition: transform 1s; }
  #wrap section .wrap .textBlock .mainVisual {
    opacity: 0;
    transition: opacity 1s; }
    #wrap section .wrap .textBlock .mainVisual.is-show {
      opacity: 1; }
  #wrap section .wrap .textBlock .textWrap div {
    overflow: hidden; }
    #wrap section .wrap .textBlock .textWrap div p {
      transition: transform 1s; }
      @media screen and (min-width: 1025px) {
        #wrap section .wrap .textBlock .textWrap div p {
          transform: translateY(105%); } }
      @media screen and (max-width: 1024px) {
        #wrap section .wrap .textBlock .textWrap div p {
          transform: translateY(230%); } }
  #wrap section .wrap .textBlock.is-show .headingBlock::before {
    transform: translateY(0) !important; }
  #wrap section .wrap .textBlock.is-show .headingBlock h2 {
    transform: translateY(0); }
  @media screen and (min-width: 1025px) {
    #wrap section .wrap .textBlock.is-show div p {
      transform: translateY(0); } }
  @media screen and (max-width: 1024px) {
    #wrap section .wrap .textBlock.is-show div.is-show p {
      transform: translateY(0); } }
  #wrap footer #top_contents-footer .top_contents-footer-inner #information {
    display: none; }

@keyframes arrow-down {
  0% {
    opacity: 0;
    transform: rotateY(0) rotateZ(-45deg) translate(0, 0) scale(1); }
  50% {
    opacity: 1; }
  100% {
    opacity: 0;
    transform: rotateY(0) rotateZ(-45deg) translate(0, 0) scale(1); } }
@keyframes arrow-down {
  0% {
    opacity: 0;
    transform: rotateY(0) rotateZ(-45deg) translate(0, 0) scale(1); }
  50% {
    opacity: 1; }
  100% {
    opacity: 0;
    transform: rotateY(0) rotateZ(-45deg) translate(0, 0) scale(1); } }
