@charset "UTF-8";

/* -------------------------------------
index
------------------------------------- */
#mainimg {
  position: relative;
}

#mainimg.movie {
  height: 55.5vw;
}
#mainimg .video {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  overflow: hidden;
}

#mainimg .video video {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  object-fit: cover;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
}

main {
  margin-bottom: 0;
  overflow: hidden;
}

.ttleng {
  font-size: 32px;
  text-align: center;
  line-height: 1;
  letter-spacing: 0.2em;
}
.ttleng.vertical {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -o-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
}
section h2 {
  font-size: 14px;
  font-weight: 500;
  color: #999;
  text-align: center;
}
section h2.left {
  text-align: left;
  margin-bottom: 40px;
}

#concept {
  font-size: 0;
  text-align: center;
  padding: 140px 0;
}
#concept .ttleng,
#concept .photo,
#concept .text {
  display: inline-block;
}
#concept .ttleng {
  vertical-align: top;
  padding-top: 30px;
}
#concept .photo,
#concept .text {
  text-align: left;
  vertical-align: middle;
}
#concept .photo {
  width: 22.6%;
  margin: 0 80px 0 60px;
}
#concept .text h3 {
  font-size: 18px;
  margin-bottom: 30px;
}
#concept .text p {
  font-size: 14px;
}
#concept .text p:not(:last-child) {
  margin-bottom: 25px;
}

.midimg {
  margin-bottom: 45px;
}

.box {
  padding: 110px 0;
}
.box .left {
  float: left;
}
.box .right {
  float: right;
}
.box .photo,
.box .text {
  width: 50%;
}
.box .text {
  padding: 0 30px;
}
.box .text .in {
  font-size: 0;
  max-width: 465px;
  margin: 0 auto;
}
.box .text .in .ttleng,
.box .text .in div {
  display: inline-block;
  vertical-align: top;
}
.box .text .in .ttleng {
  margin-right: 105px;
}
.box h2.left {
  float: none;
}
.box .text .in div {
  width: calc(100% - 140px);
  padding-top: 65px;
}
.box .text .in div p {
  font-size: 14px;
  margin-bottom: 10em;
}

#movie {
  background-image: url(../imgs/index/bdr.png);
  background-position: center bottom;
  background-repeat: no-repeat;
  padding-top: 70px;
  padding-bottom: 100px;
}

.movie__list {
  display: flex;
  justify-content: space-between;
  margin-top: 45px;
}

.movie__list li {
  width: 32%;
}

#news {
  padding: 105px 0;
}
#news .flex {
  max-width: 1070px;
  margin: 0 auto;
}
#news h2 {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -o-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  padding: 40px 0 0 5px;
}
#news .right {
  flex: 1;
  padding-left: 100px;
}
#news ul {
  margin: 45px 0 70px 0;
}
#news ul li:not(:last-child) {
  margin-bottom: 15px;
}
#news ul li p.date {
  width: 170px;
}
#news ul li p.cap {
  width: calc(100% - 170px);
}
#news ul li p a {
  display: inline;
}
#news ul li p a:hover {
  text-decoration: underline;
  opacity: 1;
}
#news .link.right {
  padding-left: 5px;
}

#gallery .ttleng,
#access .ttleng {
  margin-bottom: 25px;
}
#gallery h2,
#access h2 {
  margin-bottom: 35px;
}
#gallery {
  padding: 80px 0;
  background: url(../imgs/index/bdr.png) no-repeat center bottom;
}
#gallery .slide {
  margin-bottom: 10px;
}
#gallery .thum {
  letter-spacing: 0;
  flex-wrap: nowrap;
}
#gallery .thum li {
  width: auto;
  cursor: pointer;
  opacity: 0.5;
  transition: opacity 0.3s;
}
#gallery .thum li:hover,
#gallery .thum li.current {
  opacity: 1;
}

#access {
  padding: 80px 0 100px 0;
}
#access .frame {
  width: 100%;
  height: 390px;
  margin-bottom: 60px;
  position: relative;
  overflow: hidden;
}
#access .frame iframe {
  width: 100%;
  height: 100%;
  border: none;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
#access .text {
  text-align: center;
  margin-right: 80px;
}
#access p.name {
  font-size: 21px;
  margin-bottom: 8px;
}
#access p.address {
  font-size: 16px;
}

#reservation {
  margin: 80px 0;
}

@media screen and (max-width: 1400px) {
  #concept {
    padding: 130px 0;
  }
  #concept .text p .spbr {
    display: none;
  }

  .box {
    padding: 105px 0;
  }
  .box .text .in .ttleng {
    margin-right: 90px;
  }
  .box .text .in div {
    width: calc(100% - 125px);
    padding-top: 55px;
  }
  .box .text .in div p {
    margin-bottom: 8.5em;
  }

  #news {
    padding: 100px 0;
  }
  #news .right {
    padding-left: 85px;
  }
  #news ul {
    margin: 40px 0 65px 0;
  }

  #access .frame {
    margin-bottom: 55px;
  }
  #access .text {
    margin-right: 75px;
  }
}
@media screen and (max-width: 1240px) {
  #concept {
    padding: 120px 0;
  }

  .box {
    padding: 100px 0;
  }
  .box .text .in .ttleng {
    margin-right: 70px;
  }
  .box .text .in div {
    width: calc(100% - 105px);
    padding-top: 45px;
  }
  .box .text .in div p {
    margin-bottom: 7em;
  }

  #news {
    padding: 90px 0;
  }
  #news .right {
    padding-left: 70px;
  }
  #news ul {
    margin: 35px 0 60px 0;
  }

  #access .frame {
    margin-bottom: 50px;
  }
  #access .text {
    margin-right: 70px;
  }
}
@media screen and (max-width: 1060px) {
  .ttleng {
    font-size: 30px;
  }

  #concept {
    padding: 110px 0;
  }
  #concept .photo {
    margin: 0 45px;
  }
  #concept .text h3 {
    margin-bottom: 28px;
  }
  #concept .text p:not(:last-child) {
    margin-bottom: 23px;
  }

  .box {
    padding: 90px 0;
  }
  .box .text .in .ttleng {
    margin-right: 40px;
  }
  .box .text .in div {
    width: calc(100% - 75px);
    padding-top: 35px;
  }
  .box .text .in div p {
    margin-bottom: 5.5em;
  }

  #news {
    padding: 80px 0;
  }
  #news .right {
    padding-left: 55px;
  }
  #news ul {
    margin: 30px 0 55px 0;
  }
  #news ul li p.date {
    width: 150px;
  }
  #news ul li p.cap {
    width: calc(100% - 150px);
  }

  #gallery .ttleng,
  #access .ttleng {
    margin-bottom: 23px;
  }
  #gallery h2,
  #access h2 {
    margin-bottom: 33px;
  }

  #access .frame {
    height: 370px;
    margin-bottom: 45px;
  }
  #access .text {
    margin-right: 60px;
  }
  #access p.name {
    font-size: 20px;
  }
}
@media screen and (max-width: 880px) {
  section h2.left {
    margin-bottom: 30px;
  }

  .box .text .in .ttleng {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    -o-writing-mode: horizontal-tb;
    writing-mode: horizontal-tb;
    margin-bottom: 30px;
    margin-right: 0;
  }
  .box .text .in div {
    width: 100%;
    padding-top: 0;
  }
  .box .text .in div p {
    margin-bottom: 40px;
  }
  .box .link.right {
    display: block;
    margin: 0 auto;
  }

  #news .left {
    width: 100%;
    margin-bottom: 40px;
  }
  #news .ttleng.vertical {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    -o-writing-mode: horizontal-tb;
    writing-mode: horizontal-tb;
    margin-bottom: 30px;
  }
  #news h2 {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    -o-writing-mode: horizontal-tb;
    writing-mode: horizontal-tb;
    padding: 0;
  }
  #news .right {
    padding-left: 0;
  }
  #news ul {
    margin: 0 0 50px 0;
  }

  .movie__list {
    flex-direction: column;
  }

  .movie__list li {
    width: 100%;
  }

  .movie__list li iframe {
    height: 56vw;
  }

  .movie__list li:not(:last-child) {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 768px) {
  #mainimg {
    position: relative;
    overflow: hidden;
  }
  #mainimg.movie {
    height: 100%;
  }
  #mainimg img {
    /**		width:751px;
		position:relative;
		left:50%;
		z-index:1;
		transform:translateX(-50%);
		**/
  }

  .play {
    position: relative;
  }

  .play__btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    max-width: 84px;
    cursor: pointer;
  }

  .ttleng {
    font-size: 28px;
  }
  .ttleng.vertical {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    -o-writing-mode: horizontal-tb;
    writing-mode: horizontal-tb;
    margin-bottom: 30px;
  }

  #concept {
    padding: 100px 0;
  }
  #concept .ttleng {
    display: block;
    padding: 0;
  }
  #concept .photo {
    margin: 0 40px;
  }
  #concept .text h3 {
    font-size: 17px;
    margin-bottom: 25px;
  }
  #concept .text p:not(:last-child) {
    margin-bottom: 20px;
  }

  .box {
    padding: 80px 0;
  }

  #news ul li p.date {
    width: 130px;
  }
  #news ul li p.cap {
    width: calc(100% - 130px);
  }

  #gallery .ttleng,
  #access .ttleng {
    margin-bottom: 20px;
  }
  #gallery h2,
  #access h2 {
    margin-bottom: 30px;
  }
  #gallery .thum {
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  #gallery .thum li {
    width: calc(99.9% / 6);
  }

  #access .frame {
    height: 350px;
    margin-bottom: 40px;
  }
  #access .text {
    width: 100%;
    margin-right: 0;
    margin-bottom: 40px;
  }
  #access p.name {
    font-size: 19px;
  }
  #access p.address {
    font-size: 15px;
  }
}
@media screen and (max-width: 700px) {
  section h2.left {
    text-align: center;
  }

  #concept .photo,
  #concept .text {
    display: block;
  }
  #concept .photo {
    width: 150px;
    margin: 0 auto 30px auto;
  }
  #concept .text {
    text-align: center;
  }

  .box .left {
    float: none;
  }
  .box .right {
    float: none;
  }
  .box .photo,
  .box .text {
    width: 100%;
  }
  .box .photo {
    margin-bottom: 50px;
  }
  .box .text {
    padding: 0;
  }
  .box .text .in {
    max-width: initial;
    max-width: auto;
  }
  .box .text .in .ttleng,
  .box .text .in div {
    display: block;
  }
  .box .text .in div p {
    text-align: center;
    font-size: 12.5px;
  }
}
@media screen and (max-width: 640px) {
  #concept {
    padding: 90px 0;
  }

  .float .box#about {
    padding-bottom: 100px;
    background: url(../imgs/index/bdr.png) no-repeat center bottom;
  }
  .float .box .text p {
    text-align: center;
    margin-bottom: 23px;
  }

  #news ul li p.date {
    width: 115px;
  }
  #news ul li p.cap {
    width: calc(100% - 115px);
  }

  #access .frame {
    height: 340px;
  }
}
@media screen and (max-width: 500px) {
  #concept {
    padding: 80px 0;
  }
  #concept .text p .spbr {
    display: block;
  }

  .float .box .text p {
    margin-bottom: 20px;
  }

  #news ul li p.date {
    width: 100%;
  }
  #news ul li p.cap {
    width: 100%;
  }

  #access .frame {
    height: 320px;
  }
  #access p.name {
    font-size: 18px;
  }
  #access p.name span {
    display: block;
  }
  #access p.address span {
    display: block;
  }
}
@media screen and (max-width: 320px) {
}
@media screen and (min-width: 769px) {
}
