@charset "UTF-8";
/*==================================================
restaurant
==================================================*/
main{
  width: 100%;
  background: #FAFAFA;
  margin-top: 125px;
}
.main-img{
  width: 100%;
  padding: 0 2.8vw;
}
.concept-sec .flex_box{
  position: relative;
  max-width: 1280px;
  padding: 0 40px;
  margin: 0 auto;
}
.concept-sec .flex_box .col-title{
  position: absolute;
  width: 45%;
}
.concept-sec .flex_box .col-title .tit02{
  padding-left: 0;
}
.col-restaurant .col-txt{
  width: 51.25%;
  margin-left: 48.75%;
}
.col-restaurant .col-title .col-title-logo{
  margin-top: -4.5rem;
}
.col-restaurant .col-title .col-title-logo img{
  width: 100px;
  height: auto;
}
.concept-wrap{
  max-width: 1280px;
  padding: 3vw 40px;
  box-sizing: border-box;
  margin: 0 auto;
}
.col-anchor a{
  position: relative;
  width: 48%;
  transition: all .2s ease;
}
.col-anchor a span{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 2rem;
  letter-spacing: 0.1em;
  color: #fff;
  z-index: 1;
}
.col-anchor a:before{
  content: '';
  display: block;
  background: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transition: all .2s ease;
}
.col-anchor a:after{
  content: '';
  display: inline-block;
  position: absolute;
  bottom: 20px;
  left: 50%;
  background: url(../img/cmn/arrow03.svg) no-repeat;
  background-size: 8px 4px;
  width: 8px;
  height: 4px;
  transform: translate(-50%, 0);
}
@supports (background-image: url("hotelniwa.webp")) {
.col-anchor a:after{
  background: url(../img/cmn/arrow03.webp) no-repeat;
  background-size: 8px 4px;
}
}
.col-anchor a:hover{
  opacity: 1;
}
.col-anchor a:hover:before{
  background: rgba(0, 0, 0, 0);
}
.col-anchor a img{
  vertical-align: bottom;
}
.col-txt-anchor{
  margin-top: 6.5rem;
}
.col-txt-anchor ul li{
  font-size: 1.6rem;
  width: 40%;
  padding-top: 1.8rem;
}
.col-txt-anchor ul li a{
  position: relative;
  color: #999999;
}
.col-txt-anchor ul li a:before{
  content: '';
  display: inline-block;
  width: 1.7rem;
  height: 0.6rem;
  background: url(../img/cmn/arrow04.svg) no-repeat right center;
  background-size: contain;
  transform: translate(0, -50%);
  position: absolute;
  top: 50%;
  left: -25px;
}
@supports (background-image: url("hotelniwa.webp")) {
.col-txt-anchor ul li a:before{
  background: url(../img/cmn/arrow04.webp) no-repeat right center;
  background-size: contain;
}
}
.quality-sec{
  width: 100%;
}
.quality-wrap{
  width: 100%;
  padding-right: 5.6vw;
}
.quality-wrap .flex_box{
  justify-content: space-between;
}
.quality-wrap .flex_box figure{
  width: 44%;
}
.quality-wrap .flex_box figure:first-of-type{
  width: 55%;
}
.quality-txtwrap{
  width: max-content;
  margin: 5.5vw auto 0;
}
.quality-txtwrap h2{
  font-size: 2.8rem;
}
.quality-txtwrap .sub-title{
  font-size: 1.8rem;
  margin-top: 1.5vw;
  margin-bottom: 0;
}
.quality-txtwrap .quality-lead{
  font-size: 1.6rem;
  margin-top: 1.5vw;
}

.garden-sec,
.history-sec,
.attempt-sec,
.collaboration-sec{
  border-top: 1px solid #CCCCCC;
  padding: 12rem 40px;
  max-width: 1280px;
  margin: 0 auto;
}
.history-sec{
  border-top: 0;
}
.garden-wrap h2,
.history-wrap h2,
.attempt-wrap h2,
.picky-wrap h2,
.collaboration-wrap h2{
  font-size: 2.8rem;
  letter-spacing: 0.1em;
}
.garden-wrap h3,
.history-wrap h3,
.attempt-wrap h3{
  font-size: 2rem;
  padding: 0 0 2.2vw 5.4vw;
  border-bottom: 1px solid #CCCCCC;
}
.attempt-wrap h3{
  border: 0;
}
.garden-wrap h3 + p,
.history-wrap h3 + p,
.attempt-wrap h3 + p{
  margin-top: 1.5vw;
  padding: 0 0 2.2vw 5.4vw;
}
.garden-sec .flex_box,
.history-sec .flex_box,
.attempt-sec .flex_box{
  margin-top: 2.9vw;
  padding-left: 3.6rem;
  align-items: center;
}
.attempt-sec .flex_box{
  margin-top: 5vw;
  padding-left: 0;
  align-items: flex-start;
}
.history-sec .flex_box{
  flex-direction: row-reverse;
  padding-right: 0;
  padding-left: 0;
}
.garden-sec .flex_box .col-txt{
  width: 58%;
}
.history-sec .flex_box .col-txt{
  width: 62%;
}
.attempt-sec .flex_box .col-txt{
  width: 65%;
}
.garden-sec .flex_box .col-txt p,
.history-sec .flex_box .col-txt p,
.attempt-sec .flex_box .col-txt p{
  font-size: 1.4rem;
  line-height: 2.2;
  margin-bottom: 0;
  margin-top: 1.5vw;
  padding: 0 10vw 2.2vw 5.4vw;
}
.attempt-sec .flex_box .col-txt p{
  padding-bottom: 0;
  margin-top: 0;
}
.garden-wrap .col-txt a,
.history-wrap .col-txt a,
.attempt-wrap .col-txt a{
  margin-left: 5.4vw;
}
.attempt-wrap .col-txt a{
  margin-top: 0;
}

.garden-sec .flex_box .col-img{
  width: 42%;
}
.history-sec .flex_box .col-img{
  width: 38%;
}
.attempt-sec .flex_box .col-img{
  width: 35%;
}
.slide04-option .number {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.9rem;
  text-align: right;
  margin-top: 1vw;
}
.slide04-option .number .ward {
  font-size: 70%;
  padding: 0 3rem;
}
.slide04-option .number .now-count:before, .slide04-option .number .all-count:before {
  content: "0";
}
.slide04-option .number .all-count {
  color: #ACA4A4;
}

.slide04-wrap .slide04 .slick-prev {
  position: absolute;
  z-index: 3;
  width: 50%;
  height: 100%;
  top: 50%;
  left: 0;
  cursor: pointer;
}
.slide04-wrap .slide04 .slick-next {
  position: absolute;
  z-index: 3;
  width: 50%;
  height: 100%;
  top: 50%;
  right: 0;
  cursor: pointer;
  text-indent: -9999px;
}
.slide04-wrap .slide04:hover .slick-next:before {
  content: "";
  width: 2.6rem;
  height: 1.2rem;
  background: url(../img/cmn/arrow01.svg) no-repeat right center;
  background-size: contain;
  display: block;
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translateY(-50%);
  opacity: 1;
}
@supports (background-image: url("hotelniwa.webp")) {
.slide04-wrap .slide04:hover .slick-next:before {
  background: url(../img/cmn/arrow01.webp) no-repeat right center;
  background-size: contain;
}
}
.slide04-wrap .slide04 .slick-prev {
  position: absolute;
  z-index: 3;
  width: 50%;
  height: 100%;
  top: 50%;
  left: 0;
  cursor: pointer;
  text-indent: -9999px;
}
.slide04-wrap .slide04:hover .slick-prev:before {
  content: "";
  width: 2.6rem;
  height: 1.2rem;
  background: url(../img/cmn/arrow01.svg) no-repeat right center;
  background-size: contain;
  display: block;
  position: absolute;
  top: 50%;
  left: 2rem;
  transform: translateY(-50%);
  transform: rotate(180deg);
  opacity: 1;
}
@supports (background-image: url("hotelniwa.webp")) {
.slide04-wrap .slide04:hover .slick-prev:before {
  background: url(../img/cmn/arrow01.webp) no-repeat right center;
  background-size: contain;
}
}
.picky-sec{
  width: 100%;
}
.picky-wrap{
  max-width: 1280px;
  padding: 0 40px;
  margin: 0 auto;
}
.picky-thumb{
  width: 100%;
  margin-top: 2.9vw;
}
.picky-sec .flex_box{
  margin-top: 5.5vw;
  align-items: flex-end;
  padding: 0 2.9vw;
}
.picky-sec .flex_box .col-title{
  width: 42%;
}
.picky-sec .flex_box .col-title h3{
  font-size: 2.4rem;
  letter-spacing: 0.5em;
  line-height: 1.87;
}
.picky-sec .flex_box .col-title h3 span{
  display: block;
  font-size: 1.4rem;
  color: #A3B5AC;
  letter-spacing: 0.1em;
  margin-bottom: 20px;
  line-height: 1;
}
.picky-sec .flex_box .col-txt{
  width: 58%;
  padding-left: 11vw;
}
.picky-sec .flex_box .col-txt p{
  line-height: 2.15;
  margin-top: 5vw;
}
.slide05-wrap{
  width: 100%;
  margin-top: 10vw;
}
.slide05 .slide{
  position: relative;
  margin-right: 20px;
}
/*.slide05 .slide .mask {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;	
	background-color: rgba(0,0,0,0.6);
	-webkit-transition: all 0.6s ease;
	transition: all 0.6s ease;
  padding: 0 30px 0;
}
.slide05 .slide:hover .mask {
	opacity: 1;
	padding-top: 47px;
}
.slide05 .slide .mask .mask-tit {
  color: #fff;
  font-size: 2.2rem;
  font-weight: bold;
  margin-bottom: 20px;
}
.slide05 .slide .mask .mask-text {
  color: #fff;
  font-size: 1.4rem;
  line-height: 2;
}*/

.collaboration-wrap .flex_box{
  margin: 2.5vw -1.5vw 0;
  justify-content: space-between;
}
.collaboration-wrap .flex_box_list{
  position: relative;
  margin-top: 2.5vw;
  width: calc(100% / 4);
  padding: 1.5vw;
  transition: all ease .2s;
}
.collaboration-wrap .flex_box_list:hover{
  background: #f2f3f4;
}
.collaboration-wrap .flex_box_list a:hover{
  opacity: 1;
}
.collaboration-wrap .flex_box_list:after {
  content: "";
  width: 1px;
  height: calc(100% - 3vw);
  background: #E5E5E5;
  display: block;
  position: absolute;
  top: 1.5vw;
  left: -1px;
}
.collaboration-wrap .flex_box_list:nth-child(1):after,
.collaboration-wrap .flex_box_list:nth-child(5):after,
.collaboration-wrap .flex_box_list:nth-child(9):after,
.collaboration-wrap .flex_box_list:nth-child(13):after {
  display: none;
}
.collaboration-wrap .flex_box_list:hover{
  cursor: pointer;
}
.collaboration-wrap .flex_box_list:nth-child(4n){
  border-right: 0;
}
.collaboration-wrap .flex_box_list:nth-child(n + 5){
  display: none;
}
.collaboration-wrap .flex_box_list figcaption{
  font-size: 1.5rem;
  padding: 2.2vw 0;
}
.collaboration-wrap .view-more:hover{
  cursor: pointer;
}


.modal-gallery-title {
  font-size: 3rem;
}
.modal-gallery-title {
  margin-block-end: 5rem;
}
.modal-gallery-item {
  position: relative;
  z-index: 5000;
}


/*==================================================
SP
==================================================*/
@media screen and (max-width: 1440px){
  .concept-sec .flex_box .col-title{
    padding-left: 8vw;
  }
}
@media screen and (max-width: 767px) {
  main{
    margin-top: 105px;
  }
  .main-img{
    padding: 0 5vw;
  }
  .concept-sec .flex_box .col-title{
    padding-left: 0;
    width: 100%;
    position: static;
  }
  .col-restaurant .col-txt{
    width: 100%;
    padding: 0;
    margin-left: 0;
  }
  .concept-wrap{
    padding: 12vw 5vw 0;
  }
  .col-anchor a{
    width: 100%;
    margin-top: 8vw;
  }
  .col-anchor a:first-of-type{
    margin-top: 0;
  }
  .col-anchor a:after{
    bottom: 10px;
  }
  .col-restaurant .col-title .col-title-logo{
    padding-left: 10vw;
    margin-top: 3rem;
    margin: 3rem 0 4rem;
  }
  .col-txt-anchor{
    margin-top: 10vw;
  }
  .col-txt-anchor ul{
    max-width: 100%;
    padding-left: 20px;
  }
  .col-txt-anchor ul li{
    width: 100%;
  }

  .garden-sec, .history-sec, .attempt-sec, .collaboration-sec{
    max-width: calc(100% - 10vw);
    margin: 7rem auto 0;
    padding: 7rem 0 0;
  }
  .history-sec{
    border-top: 1px solid #CCCCCC;
  }

  .quality-wrap{
    width: 100%;
    padding-right: 0;
  }
  .quality-wrap .flex_box figure{
    width: 100%;
  }
  .quality-wrap .flex_box figure:first-of-type{
    width: 100%;
    padding-right: 5vw;
  }
  .quality-txtwrap{
    width: 100%;
    margin: 12vw auto 0;
    padding: 0 7.5vw;
  }
  .quality-txtwrap .sub-title{
    margin-top: 8.5vw;
  }
  .quality-txtwrap .quality-lead{
    margin-top: 6vw;
  }

  .garden-sec .flex_box, .history-sec .flex_box, .attempt-sec .flex_box{
    margin-top: 10vw;
    flex-direction: column-reverse;
    padding: 0 4.5vw;
  }
  .garden-sec .flex_box .col-txt,
  .garden-sec .flex_box .col-img{
    width: 100%;
  }
  .garden-sec .flex_box .col-txt{
    margin-top: 12vw;
  }
  .garden-wrap h3, .history-wrap h3, .attempt-wrap h3 {
    padding: 0 0 5vw 0;
  }
  .garden-sec .flex_box .col-txt p, .history-sec .flex_box .col-txt p, .attempt-sec .flex_box .col-txt p {
    margin-top: 5vw;
    padding: 0 0 2.2vw 0;
  }

  .picky-wrap{
    padding: 0;
  }
  .picky-sec{
    margin-bottom: 7rem;
  }
  .picky-sec .flex_box .col-title{
    width: 100%;
  }
  .picky-sec .flex_box{
    margin-top: 0;
    padding: 0 9.5vw;
  }
  .picky-wrap h2{
    margin-top: 7.1vw;
    padding: 0 5vw;
  }
  .attempt-wrap h2{
    margin-top: 7.1vw;
  }
  .picky-sec .flex_box .col-title h3 {
    font-size: 2rem;
    letter-spacing: 0.2em;
    margin-top: 7.1vw;
  }
  .picky-sec .flex_box .col-txt{
    width: 100%;
    padding-left: 0;
  }
  .slide05-wrap{
    margin-top: 15vw;
  }
  .history-sec .flex_box{
    padding: 0;
  }
  .history-sec .flex_box .col-img{
    width: 100%;
  }
  .history-sec .flex_box .col-txt{
    width: 100%;
    margin-top: 7vw;
    padding: 0 4.5vw;
  }
  .collaboration-wrap .flex_box{
    margin: 2vw 0 0;
  }
  .collaboration-wrap .flex_box_list {
    margin-top: 7vw;
    width: 46%;
    padding: 0;
    border: 0;
  }
  .attempt-sec{
    padding-bottom: 7rem;
  }
  .attempt-sec .flex_box .col-txt{
    width: 100%;
  }
  .attempt-sec .flex_box .col-img{
    width: 100%;
  }
  .attempt-wrap h3{
    line-height: 1.4;
  }
  .attempt-sec .flex_box .col-txt p{
    margin-top: 0;
  }
  .mfp-auto-cursor .mfp-content{
    padding: 50px 10vw;
  }
}



/*==================================================
modal
==================================================*/
.modal-items .slick-arrow {
  width: 3rem;
  position: absolute;
  top: 50%;
}
.modal-items .slick-next {
  right: -3rem;
}
.modal-items .slick-prev {
  transform: scale(-1, 1);
  left: -6rem;
}
.modal-container,
.modal-container2 {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  background: rgba(0, 0, 0, 0.8);
  padding: 8rem 10rem;
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
  box-sizing: border-box;
  z-index: 1000;
}

.modal-container:before,
.modal-container2:before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  height: 100%;
}

.modal-container.active,
.modal-container2.active {
  opacity: 1;
  visibility: visible;
}

.modal-body,
.modal-body2 {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  max-width: 111rem;
  width: 90%;
  z-index: 100;
}
.modal-container2 .btn02 a span:after {
  background: url(../img/cmn/arrow02.svg) no-repeat 95% center;
}
@supports (background-image: url("hotelniwa.webp")) {
.modal-container2 .btn02 a span:after {
  background: url(../img/cmn/arrow02.webp) no-repeat 95% center;
}
}

.modal-close,
.modal-close2 {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 0;
  right: -10rem;
  width: 5rem;
  height: 5rem;
  font-size: 5rem;
  border: 1px solid #fff;
  color: #fff;
  cursor: pointer;
}
.modal-close:before,
.modal-close2:before {
  transform: translateY(-50%) translateX(50%) rotate(45deg);
  content: "";
  height: 2px;
  background-color: #fff;
  display: block;
  position: absolute;
  top: 50%;
  right: 50%;
  width: 20px;
}
.modal-close:after,
.modal-close2:after {
  transform: translateY(-50%) translateX(50%) rotate(135deg);
  content: "";
  height: 2px;
  background-color: #fff;
  display: block;
  position: absolute;
  top: 50%;
  right: 50%;
  width: 20px;
}

.modal-content,
.modal-content2 {
  background: #fff;
  text-align: left;
  padding: 6.5rem 7.6rem 7.6rem;
  z-index: 100;
  position: relative;
}

.no-animation {
  transition: none;
}
.modal-room-title {
  font-size: 2.8rem;
  font-weight: 700;
  margin-bottom: 4rem;
}
.content01,
.content02,
.content03,
.content04,
.content05 {
  display: none;
}
.content01.active,
.content02.active,
.content03.active,
.content04.active,
.content05.active {
  display: block;
}


/*==================================================
MODAL PC
==================================================*/
@media screen and (min-width: 768px) {
  .modal-container img.slick-prev,
  .modal-container2 img.slick-prev,
  .modal-container img.slick-next,
  .modal-container2 img.slick-next {
    width: 3rem;
    height: 3rem;
  }
  .modal-container .slick-next,
  .modal-container2 .slick-next {
    position: fixed;
    right: 7%;
    /* right: calc(50% - (1100px / 2 + 27px + 60px)); */
    top: unset;
    bottom: 40vh;
  }
  .modal-container .slick-prev,
  .modal-container2 .slick-prev {
    position: fixed;
    left: 7%;
    /* right: calc(50% - (1100px / 2 + 27px + 60px)); */
    top: unset;
    bottom: 40vh;
  }
  .modal-modal-title {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 3rem;
  }
  .modal-slider-images.slick-dotted.slick-slider {
    margin-bottom: 7rem;
  }
}


/*==================================================
MODAL SP
==================================================*/
@media screen and (max-width: 767px) {
  .modal-body,
  .modal-body2 {
    height: calc(100% - 85px);
  }
  .modal-container,
  .modal-container2 {
    padding: 0;
    height: calc(100% - 85px);
    overflow-y: auto;
  }

  .modal-container,
  .modal-container2 {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    left: 0;

    width: 100vw;
    height: 100vh;
    background-color: #fff;
    overflow-x: hidden;
    overflow-y: auto;
    z-index: 9999;
  }

  .modal-content,
  .modal-content2 {
    position: relative;
    top: 0;
    left: 0;
    overflow-x: hidden;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box;
    z-index: 10000;
    padding: 2rem 2rem 10rem;
  }

  .modal-nav {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 8rem;
    color: #fff;
    background-color: rgba(0, 0, 0, 0.8);
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 2rem;
    z-index: 100000;
  }
  .modal-close,
  .modal-close2 {
    position: absolute;
    top: unset;
    bottom: 2rem;
    right: 3rem;
  }
  .arrows {
    position: absolute;
    bottom: 2rem;
    left: 3rem;
    display: flex;
    width: 10rem;
    justify-content: space-between;
  }
  .arrow-left {
    transform: scale(-1, 1);
  }
  .room-sec-container {
    padding: 0;
  }
  .type-tab-wrap.first-tabs {
    margin-bottom: 10rem;
  }
  .modal-container img.slick-prev,
  .modal-container img.slick-next,
  .modal-container2 img.slick-prev,
  .modal-container2 img.slick-next {
    width: 27px;
    height: 19px;
    margin: 1rem;
  }
  .modal-container .slick-next,
  .modal-container2 .slick-next {
    position: absolute;
    left: 10rem;
    top: calc(50% - 1rem);
  }
  .modal-container .slick-prev,
  .modal-container2 .slick-prev {
    position: absolute;
    left: 3rem;
    top: calc(50% - 1rem);
  }
  .modal-modal-title {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 3rem;
  }
  .modal-slider-images.slick-dotted.slick-slider {
    margin-bottom: 7rem;
  }
}


.magazine-sec {
  border-top: 1px solid #CCCCCC;
  padding: 12rem 40px;
  max-width: 1280px;
  margin: 0 auto;
}
.magazine-sec .img-box {
  width: 35%;
}
.magazine-sec .txt-box {
  width: 65%;
}
