@import url("https://fonts.googleapis.com/css2?family=Cormorant:ital,wght@0,300..700;1,300..700&display=swap");
#allWrapper #container .top-yokoku {
  position: absolute;
  top: 50px;
  right: 3rem;
  z-index: 5; }
  #allWrapper #container .top-yokoku ul {
    display: flex;
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 0.3rem;
    align-items: center;
    background: rgba(0, 0, 0, 0.5); }
    #allWrapper #container .top-yokoku ul li {
      color: #fff;
      align-items: center;
      font-size: 1.2rem;
      font-feature-settings: "palt";
      letter-spacing: 0.1rem;
      padding: 0.5rem 1.5rem;
      line-height: 1.6; }
      #allWrapper #container .top-yokoku ul li:nth-child(1) {
        font-size: 2.2rem;
        padding: 0.2rem 2rem; }
      #allWrapper #container .top-yokoku ul li:nth-child(2) {
        font-size: 1.2rem;
        border-left: 1px solid rgba(255, 255, 255, 0.5); }
  @media screen and (max-width: 1200px) {
    #allWrapper #container .top-yokoku ul li {
      font-size: 1vw; }
      #allWrapper #container .top-yokoku ul li:nth-child(1) {
        font-size: 2vw; }
      #allWrapper #container .top-yokoku ul li:nth-child(2) {
        font-size: 1vw; } }
  @media screen and (max-width: 768px) {
    #allWrapper #container .top-yokoku {
      display: none; } }

.slide-main li {
  position: relative;
  overflow: hidden; }
  .slide-main li .note {
    text-align: right;
    box-sizing: border-box;
    padding: 0.5rem 1rem;
    background: rgba(0, 0, 0, 0.5);
    color: #fff;
    font-size: 1.1rem;
    position: absolute;
    z-index: 2;
    bottom: 0;
    right: 0; }
    @media screen and (max-width: 768px) {
      .slide-main li .note {
        font-size: 1.4rem; } }
@media screen and (max-width: 768px) {
  .slide-main li .img {
    display: block; } }

.merit {
  text-align: center !important; }
  .merit img {
    width: 88%;
    height: auto;
    max-width: 800px;
    margin: auto; }

.concept-img01 {
  margin: auto;
  max-width: 46rem;
  width: 80%; }

.conc-midashi {
  text-align: center;
  font-feature-settings: "palt";
  font-size: 4.2rem;
  letter-spacing: 0.7rem;
  margin-top: 9rem;
  line-height: 1.4; }
  .conc-midashi b {
    font-size: 170%;
    font-weight: lighter;
    color: #a8945c;
    transform: translateY(7%);
    display: inline-block; }
    .conc-midashi b.red {
      color: #a70023; }
  @media screen and (max-width: 768px) {
    .conc-midashi {
      font-size: 6vw; } }

.conc-lead {
  font-feature-settings: "palt";
  text-align: center;
  color: #000;
  font-size: 1.9rem;
  letter-spacing: 0.6rem;
  line-height: 2.6;
  margin-top: 5rem; }
  @media screen and (max-width: 500px) {
    .conc-lead {
      font-size: 3.4vw;
      letter-spacing: 0.6vw; } }

.concept-img02 {
  margin: auto;
  max-width: 120rem;
  position: relative; }
  .concept-img02 img {
    display: block; }
  .concept-img02 .img-body {
    position: relative;
    z-index: 1;
    width: 120% !important;
    margin-left: -10% !important;
    margin-right: -10% !important;
    display: block; }
  @media screen and (max-width: 600px) {
    .concept-img02 .img-body {
      display: block;
      width: 150% !important;
      margin-left: -25% !important;
      margin-right: -25% !important;
      position: relative;
      z-index: 2; }
    .concept-img02 .note {
      position: absolute !important;
      bottom: 0 !important;
      z-index: 3 !important; } }

.movie-sec {
  margin: auto;
  max-width: 70rem;
  margin-top: 5rem; }
  .movie-sec .m-ttl01 {
    display: flex;
    align-items: center;
    color: #a8945c;
    font-size: 3rem;
    letter-spacing: 0.3rem;
    margin-bottom: 3rem;
    font-family: "adobe-garamond-pro", serif;
    font-weight: 400;
    font-style: normal; }
    .movie-sec .m-ttl01:before, .movie-sec .m-ttl01:after {
      content: "";
      flex: 1;
      height: 1px;
      background: #a8945c; }
    .movie-sec .m-ttl01:before {
      margin-right: 2.3rem; }
    .movie-sec .m-ttl01:after {
      margin-left: 2rem; }
  .movie-sec .m-ttl02 {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #000;
    font-size: 2rem;
    letter-spacing: 0.3rem;
    margin-top: 3rem;
    font-family: "adobe-garamond-pro", serif;
    font-weight: 400;
    font-style: normal; }
    .movie-sec .m-ttl02:before, .movie-sec .m-ttl02:after {
      content: "";
      height: 1rem;
      width: 1rem;
      background: #000; }
    .movie-sec .m-ttl02:before {
      margin-right: 2.3rem; }
    .movie-sec .m-ttl02:after {
      margin-left: 2rem; }

.concept-img03 {
  margin: auto;
  max-width: 1400px; }

.dai1go-sec {
  background: rgba(113, 104, 92, 0.8);
  padding: 5rem 5%;
  box-sizing: border-box;
  margin: auto;
  max-width: 1000px;
  display: flex;
  flex-wrap: wrap; }
  .dai1go-sec .dai-txt {
    margin-bottom: 2rem;
    width: 57%;
    margin-right: 3%; }
    .dai1go-sec .dai-txt .txt-dai1go {
      max-width: 46rem; }
    .dai1go-sec .dai-txt .lead {
      color: #fff;
      line-height: 1.8;
      margin-top: 2rem; }
  .dai1go-sec .dai-img {
    margin-bottom: 2rem;
    width: 40%; }
  .dai1go-sec .dai-note {
    width: 100%;
    color: #fff; }
  @media screen and (max-width: 600px) {
    .dai1go-sec {
      display: block;
      padding: 5rem 3rem 4rem; }
      .dai1go-sec .dai-txt {
        margin-bottom: 2rem;
        width: 100%;
        margin-right: 0%; }
      .dai1go-sec .dai-img {
        margin-bottom: 3rem;
        width: 100%; } }

.bana-contents a {
  display: block;
  cursor: pointer;
  position: relative;
  overflow: hidden; }
  .bana-contents a:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: #a8945c;
    z-index: 1;
    mix-blend-mode: multiply;
    transition: 1s background;
    opacity: 0.9; }
  .bana-contents a .img {
    z-index: 0;
    position: absolute;
    width: 100%;
    height: 65rem;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }
    .bana-contents a .img img {
      height: 65rem !important;
      width: 100%;
      object-fit: cover;
      object-position: center center;
      transition: 1s transform; }
  .bana-contents a .note {
    color: #fff;
    position: absolute;
    bottom: 1rem;
    right: 1rem;
    text-align: right;
    font-size: 1.1rem;
    z-index: 2; }
    @media screen and (max-width: 768px) {
      .bana-contents a .note {
        font-size: 1.4rem; } }
  .bana-contents a .bana-body {
    position: relative;
    z-index: 4;
    height: 65rem;
    width: 90%;
    max-width: 1000px;
    margin: auto; }
    .bana-contents a .bana-body .txt-bana {
      position: absolute;
      width: 100%;
      top: 43%;
      transform: translateY(-50%);
      left: 0;
      text-align: left; }
      .bana-contents a .bana-body .txt-bana .en-txt {
        display: block;
        border-bottom: 1px solid #fff;
        color: #fff;
        padding-bottom: 1rem;
        margin-bottom: 2rem;
        font-size: 4.2rem;
        line-height: 1.5;
        font-family: "adobe-garamond-pro", serif;
        font-weight: 400;
        font-style: normal;
        letter-spacing: 20%; }
      .bana-contents a .bana-body .txt-bana .jp-txt {
        color: #fff;
        line-height: 1.6;
        font-size: 2.8rem;
        letter-spacing: 20%; }
    .bana-contents a .bana-body .arrow {
      position: absolute;
      bottom: 15%;
      width: 60%;
      right: 0rem;
      text-align: right; }
      .bana-contents a .bana-body .arrow img {
        width: 100%;
        height: auto;
        max-width: 33.5rem; }
  .bana-contents a:hover:before {
    background: #51472d; }
  .bana-contents a:hover .img img {
    transform: scale(1.1); }
@media screen and (max-width: 600px) {
  .bana-contents a .img {
    height: 45rem; }
    .bana-contents a .img img {
      height: 45rem !important; }
  .bana-contents a .bana-body {
    height: 45rem;
    width: 80%; }
    .bana-contents a .bana-body .txt-bana {
      position: absolute;
      width: 100%;
      top: 43%;
      transform: translateY(-50%);
      left: 0;
      text-align: left; }
      .bana-contents a .bana-body .txt-bana .en-txt {
        font-size: 3rem; }
      .bana-contents a .bana-body .txt-bana .jp-txt {
        font-size: 2rem; } }
