@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Cormorant:ital,wght@0,300..700;1,300..700&display=swap");
.info-area {
  background: url("../images/top/info-bg.jpg") center center;
  background-size: cover; }
  .info-area .inner {
    padding: 9rem 0;
    display: flex;
    justify-content: space-between;
    align-items: flex-start; }
    .info-area .inner .left {
      width: 58%; }
    .info-area .inner .right {
      width: 37%; }
    .info-area .inner .info-en {
      font-family: "linotype-didot", serif;
      font-weight: 400;
      font-style: normal;
      font-size: 2.2rem;
      letter-spacing: 0.1rem;
      color: #cbb98a; }
    .info-area .inner .midashi {
      font-size: 2.6rem;
      color: #fff;
      font-family: "a-otf-ryumin-pr6n", serif;
      font-weight: 300;
      font-style: normal;
      font-feature-settings: "palt";
      letter-spacing: 0.3rem;
      margin-top: 2rem; }
    @media screen and (max-width: 600px) {
      .info-area .inner {
        flex-wrap: wrap;
        display: block; }
        .info-area .inner .left {
          width: 100%;
          text-align: center; }
        .info-area .inner .right {
          width: 100%;
          margin-top: 5rem; }
          .info-area .inner .right .request-bana {
            max-width: 450px;
            margin: auto; } }

.request-bana a {
  display: block;
  position: relative;
  overflow: hidden;
  background: linear-gradient(to right, #ae944f, #594e2f);
  height: 8rem;
  box-shadow: 0 0 2rem rgba(0, 0, 0, 0.5);
  transition: 0.5s; }
  .request-bana a .text {
    position: absolute;
    color: #fff;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    font-size: 2.6rem;
    white-space: nowrap; }
    .request-bana a .text b {
      display: block;
      opacity: 0.5;
      font-family: "linotype-didot", serif;
      font-weight: 400;
      font-style: normal;
      margin-top: 0.5rem;
      font-size: 1.1rem; }
  .request-bana a:before {
    content: "";
    border: 1px solid rgba(255, 255, 255, 0.3);
    position: absolute;
    top: 4px;
    left: 4px;
    bottom: 4px;
    right: 4px; }
  .request-bana a:hover {
    filter: brightness(1.2); }

.message-area {
  background: url("../images/top/concept-bg.jpg") center bottom;
  background-size: cover;
  padding-top: 5%;
  padding-bottom: 10%; }
  .message-area .inner {
    text-align: center;
    padding: 7rem 0;
    color: #fff; }
    .message-area .inner .logo-img {
      text-align: center; }
      .message-area .inner .logo-img img {
        width: 80%;
        height: auto;
        max-width: 30rem; }
    .message-area .inner .midashi {
      font-size: 3.7rem;
      line-height: 1.5;
      letter-spacing: 1rem;
      margin-top: 6rem; }
    .message-area .inner .lead {
      font-family: "Zen Old Mincho",'游明朝', 'Yu Mincho', 'YuMincho', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝','Noto Serif JP',  serif;
      font-weight: 400;
      font-style: normal;
      line-height: 2.5;
      margin-top: 5rem;
      letter-spacing: 0.2rem; }
  @media screen and (max-width: 600px) {
    .message-area {
      padding-bottom: 15%; } }
  @media screen and (max-width: 500px) {
    .message-area {
      padding-bottom: 15%; } }

.main-slide {
  margin-bottom: 0 !important;
  font-size: 0; }
  .main-slide .slick-dots {
    position: absolute;
    bottom: 1.5%; }
    .main-slide .slick-dots li {
      background: rgba(0, 0, 0, 0.5);
      border: 1px solid rgba(255, 255, 255, 0.4);
      width: 1.6rem;
      height: 1.6rem;
      border-radius: 50%;
      margin: 0.8rem; }
      .main-slide .slick-dots li button {
        text-indent: -9999px; }
        .main-slide .slick-dots li button::before {
          display: none; }
        .main-slide .slick-dots li button::after {
          font-size: 6px;
          line-height: 20px;
          position: absolute;
          top: 0px;
          left: 0px;
          width: 20px;
          height: 20px;
          content: "•";
          text-align: center;
          opacity: 0.25;
          color: black; }
      .main-slide .slick-dots li.slick-active {
        background: #fff; }

.main-container {
  width: 100%;
  position: relative;
  overflow: hidden;
  background-color: #000; }
  .main-container.movie-mode {
    width: 100%; }
    .main-container.movie-mode .main-video {
      z-index: 1; }
  .main-container .main-video-btn-cls {
    position: absolute;
    top: 5px;
    right: 5px;
    width: 80px;
    padding: 10px 0;
    text-align: center;
    background-color: #fff;
    box-shadow: 0 0 2px rgba(0, 0, 0, 0.2) inset;
    color: #777;
    font-size: 12px;
    pointer-events: none;
    opacity: 0;
    z-index: 2; }
    .main-container .main-video-btn-cls.active {
      opacity: 1;
      cursor: pointer;
      pointer-events: auto; }
    @media screen and (max-width: 600px) {
      .main-container .main-video-btn-cls {
        width: 70px;
        padding: 8px 0;
        font-size: 10px; } }
  .main-container .main-video {
    background-color: #000;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: 0.3s ease 0s opacity; }
    .main-container .main-video .main-video-inner {
      width: 100%;
      height: 100%; }
    .main-container .main-video #main-video-tag {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center center;
      pointer-events: none; }
    .main-container .main-video.fadeOut {
      opacity: 0;
      pointer-events: none;
      transition-duration: 1s; }
  .main-container .main-loading {
    background-color: #000;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: 0.3s ease 0s opacity;
    z-index: 2;
    display: flex;
    justify-content: center;
    align-items: center; }
    .main-container .main-loading ul {
      width: 50px;
      display: flex;
      justify-content: center;
      position: relative; }
@keyframes mvloadingMotion {
  0% {
    opacity: 0.2; }
  20% {
    opacity: 1; }
  50% {
    opacity: 0.2; }
  100% {
    opacity: 0.2; } }
      .main-container .main-loading ul li {
        width: 4px;
        height: 4px;
        background-color: #FFF;
        display: block;
        border-radius: 50%;
        margin: 0 2px;
        opacity: 0.3;
        animation: 1s linear 0s mvloadingMotion infinite forwards; }
        .main-container .main-loading ul li:nth-child(2) {
          animation-delay: 0.2s; }
        .main-container .main-loading ul li:nth-child(3) {
          animation-delay: 0.4s; }
    .main-container .main-loading.fadeOut {
      opacity: 0;
      pointer-events: none; }

.midashi {
  margin-bottom: 3rem; }

.position-sec .inner {
  padding: 7rem 0;
  display: flex;
  align-items: flex-start; }
  .position-sec .inner .copy {
    width: 58%;
    margin-right: 2%; }
  .position-sec .inner .img {
    width: 40%; }
@media screen and (max-width: 600px) {
  .position-sec .position-main img {
    width: 125%;
    margin-left: -20%;
    margin-right: -5%; } }
@media screen and (max-width: 900px) {
  .position-sec .inner {
    display: block; }
    .position-sec .inner .copy {
      width: 100%;
      margin-right: 0%; }
    .position-sec .inner .img {
      margin: auto;
      margin-top: 4rem;
      width: 100%;
      max-width: 600px; } }
@media screen and (max-width: 600px) {
  .position-sec .inner .img img {
    width: 116%;
    margin-left: -8%;
    margin-right: -8%; } }

.contents-sec {
  margin: auto;
  max-width: 1400px;
  padding: 3rem 0 10rem; }

.contents-bana {
  display: flex;
  padding: 5rem 0;
  position: relative;
  align-items: center;
  margin-top: 6rem; }
  .contents-bana .copy {
    box-sizing: border-box;
    padding: 0rem 8rem;
    position: relative;
    z-index: 1;
    width: 54rem; }
    .contents-bana .copy .en-ttl {
      margin-bottom: 0;
      font-size: 4.5rem; }
    .contents-bana .copy .kana-ttl {
      font-size: 1rem;
      margin-top: 0.5rem; }
    .contents-bana .copy .midashi {
      margin-top: 2rem; }
  .contents-bana .photo {
    flex: 1;
    box-sizing: border-box;
    position: relative;
    z-index: 2; }
    .contents-bana .photo .img {
      box-shadow: 0 0 2rem rgba(0, 0, 0, 0.2);
      position: relative;
      overflow: hidden; }
      .contents-bana .photo .img img {
        transition: 1s; }
  .contents-bana:after {
    content: "";
    position: absolute;
    z-index: 0;
    top: 0;
    bottom: 0; }
  .contents-bana .con-btn {
    display: block;
    position: relative;
    overflow: hidden;
    background: linear-gradient(to right, #574c30, #221e15);
    transition: 0.5s;
    width: 100%;
    height: 50px;
    max-width: 27rem; }
    .contents-bana .con-btn .text {
      position: absolute;
      color: #fff;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      text-align: center;
      font-size: 1.6rem;
      white-space: nowrap;
      font-family: "linotype-didot", serif;
      font-weight: 400;
      font-style: normal; }
    .contents-bana .con-btn:before {
      content: "";
      border: 1px solid rgba(255, 255, 255, 0.3);
      position: absolute;
      top: 4px;
      left: 4px;
      bottom: 4px;
      right: 4px; }
  .contents-bana:hover .con-btn {
    filter: brightness(1.5); }
  .contents-bana:hover .photo .img img {
    transform: scale(1.1); }
  @media screen and (max-width: 1000px) {
    .contents-bana .copy {
      padding: 0rem 4rem;
      width: 40rem; }
      .contents-bana .copy .en-ttl {
        font-size: 4rem; }
      .contents-bana .copy .midashi {
        font-size: 2.4rem; }
    .contents-bana .photo {
      box-sizing: border-box; }
      .contents-bana .photo .img {
        position: relative;
        overflow: hidden; }
        .contents-bana .photo .img img {
          width: 130%;
          margin-left: -15%;
          margin-right: -15%; } }
  @media screen and (max-width: 600px) {
    .contents-bana {
      display: block;
      width: 86%;
      margin: auto;
      margin-top: 5rem;
      padding: 0; }
      .contents-bana .copy {
        padding: 3rem 4rem;
        width: 100%;
        text-align: center; }
        .contents-bana .copy .en-ttl {
          font-size: 4rem; }
        .contents-bana .copy .midashi {
          font-size: 2.4rem; }
        .contents-bana .copy .con-btn {
          margin: auto;
          margin-top: 1.5rem;
          max-width: 36rem;
          width: 90%; }
      .contents-bana .photo {
        width: 100%; }
        .contents-bana .photo .img img {
          width: 110%;
          margin-left: -5%;
          margin-right: -5%; } }

.contents-bana.right .copy {
  order: 2;
  color: #fff; }
  .contents-bana.right .copy .en-ttl {
    color: #fff; }
.contents-bana.right .photo {
  order: 1;
  padding-left: 5%; }
.contents-bana.right:after {
  background: rgba(79, 85, 88, 0.7);
  right: 0;
  left: 30%;
  transition: 0.5s; }
.contents-bana.right:hover:after {
  background: rgba(79, 85, 88, 0.9); }
.contents-bana.left .copy {
  order: 1;
  color: #574c30; }
  .contents-bana.left .copy .en-ttl {
    color: #574c30; }
.contents-bana.left .photo {
  order: 2;
  padding-right: 5%; }
.contents-bana.left:after {
  background: rgba(255, 255, 255, 0.75);
  left: 0;
  right: 30%;
  transition: 0.5s; }
.contents-bana.left:hover:after {
  background: white; }
@media screen and (max-width: 600px) {
  .contents-bana.right .photo {
    padding-left: 0%; }
  .contents-bana.right:after {
    right: 0;
    left: 0%; }
  .contents-bana.left .photo {
    padding-right: 0%; }
  .contents-bana.left:after {
    right: 0;
    left: 0%; } }

.bg-b .contents-bana.left .copy .midashi {
  color: #000; }
