@charset "UTF-8";
/* --------------------------
	レストランウエディング
--------------------------- */
.ceremony .mainimage {
  -webkit-animation: fadeIn 1.8s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
          animation: fadeIn 1.8s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
  text-align: center;
  margin-bottom: 120px;
}
@media only screen and (max-width:1024px) {
  .ceremony .mainimage {
    margin-bottom: 80px;
  }
}
@media only screen and (max-width:767px) {
  .ceremony .mainimage {
    margin-bottom: 60px;
  }
}
.ceremony .mainimage p {
  line-height: 2.2;
}
@media only screen and (max-width:767px) {
  .ceremony .mainimage p {
    line-height: 1.8;
  }
}
.ceremony .mainimage .image {
  max-width: 1080px;
  overflow: hidden;
  margin-bottom: 75px;
}
@media only screen and (max-width:1024px) {
  .ceremony .mainimage .image {
    margin-bottom: 50px;
  }
}
@media only screen and (max-width:767px) {
  .ceremony .mainimage .image {
    margin-bottom: 30px;
  }
}
.ceremony .mainimage .image img {
  -webkit-animation: zoom 8s 1;
  animation: zoom 8s 1;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.ceremony .preference {
  text-align: center;
  margin-bottom: 120px;
}
@media only screen and (max-width:1024px) {
  .ceremony .preference {
    margin-bottom: 80px;
  }
}
@media only screen and (max-width:767px) {
  .ceremony .preference {
    margin-bottom: 60px;
  }
}
.ceremony .preference .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (max-width:1024px) {
  .ceremony .preference .inner {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
@media only screen and (max-width:767px) {
  .ceremony .preference .inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.ceremony .preference .inner .text {
  text-align: left;
  line-height: 2.2;
  position: relative;
}
@media only screen and (max-width:767px) {
  .ceremony .preference .inner .text {
    line-height: 1.8;
  }
}
@media only screen and (max-width:1024px) {
  .ceremony .preference .inner .text {
    margin-top: 60px;
  }
}
@media only screen and (max-width:767px) {
  .ceremony .preference .inner .text {
    width: 100%;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    margin-top: 0;
    text-align: center;
  }
}
.ceremony .preference .inner .text:before {
  content: "";
  background-color: rgba(255, 255, 255, 0.8);
  width: 470px;
  height: 400px;
  position: absolute;
  left: 0;
  top: -30px;
  z-index: -1;
}
@media only screen and (max-width:1024px) {
  .ceremony .preference .inner .text:before {
    width: 450px;
    height: 400px;
    top: -20px;
  }
}
@media only screen and (max-width:767px) {
  .ceremony .preference .inner .text:before {
    content: none;
  }
}
.ceremony .preference .inner .image {
  max-width: 650px;
  overflow: hidden;
  z-index: -2;
}
@media screen and (min-width: 1025px) and (max-width: 1160px) {
  .ceremony .preference .inner .image {
    max-width: 550px;
  }
}
@media only screen and (max-width:1024px) {
  .ceremony .preference .inner .image {
    max-width: 300px;
  }
}
@media only screen and (max-width:767px) {
  .ceremony .preference .inner .image {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin-bottom: 25px;
    max-width: 100%;
  }
}
.ceremony .cuisine {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  text-align: center;
  background: -webkit-gradient(linear, left top, left bottom, from(#f4f7f9), to(#FFF));
  background: -o-linear-gradient(top, #f4f7f9, #FFF);
  background: linear-gradient(to bottom, #f4f7f9, #FFF);
  padding-top: 75px;
  margin-bottom: 140px;
}
@media only screen and (max-width:1024px) {
  .ceremony .cuisine {
    padding-top: 60px;
    margin-bottom: 80px;
  }
}
@media only screen and (max-width:767px) {
  .ceremony .cuisine {
    padding-top: 40px;
    margin-bottom: 60px;
  }
}
.ceremony .cuisine p {
  line-height: 2.2;
  margin-bottom: 70px;
}
@media only screen and (max-width:767px) {
  .ceremony .cuisine p {
    line-height: 1.8;
  }
}
@media only screen and (max-width:1024px) {
  .ceremony .cuisine p {
    margin-bottom: 50px;
  }
}
@media only screen and (max-width:767px) {
  .ceremony .cuisine p {
    margin-bottom: 40px;
  }
}
.ceremony .cuisine .cuisine-slider {
  margin-bottom: 120px;
}
@media only screen and (max-width:1024px) {
  .ceremony .cuisine .cuisine-slider {
    margin-bottom: 60px;
  }
}
@media only screen and (max-width:767px) {
  .ceremony .cuisine .cuisine-slider {
    margin-bottom: 50px;
  }
}
.ceremony .cuisine .swiper-container-free-mode > .swiper-wrapper {
  -webkit-transition-timing-function: linear !important;
  -o-transition-timing-function: linear !important;
  transition-timing-function: linear !important;
}
.ceremony .cuisine .chef {
  max-width: 1080px;
  margin: auto;
  border: 1px solid #d1d4d7;
  padding: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: left;
}
@media only screen and (max-width:1024px) {
  .ceremony .cuisine .chef {
    max-width: 100%;
  }
}
@media screen and (min-width: 1025px) and (max-width: 1160px) {
  .ceremony .cuisine .chef {
    width: 90%;
    margin: auto;
  }
}
@media only screen and (max-width:1024px) {
  .ceremony .cuisine .chef {
    width: 90%;
    margin: auto;
  }
}
@media only screen and (max-width:767px) {
  .ceremony .cuisine .chef {
    padding: 25px 25px 30px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media only screen and (max-width:360px) {
  .ceremony .cuisine .chef {
    padding: 20px 20px 25px;
  }
}
.ceremony .cuisine .chef .text {
  padding-left: 30px;
}
@media only screen and (max-width:1024px) {
  .ceremony .cuisine .chef .text {
    padding-left: 0;
  }
}
@media only screen and (max-width:767px) {
  .ceremony .cuisine .chef .text {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}
.ceremony .cuisine .chef .text p {
  margin-bottom: 0;
}
@media only screen and (max-width:1024px) {
  .ceremony .cuisine .chef .image {
    width: 300px;
  }
  .ceremony .cuisine .chef .image img {
    width: 100%;
    height: auto;
  }
}
@media only screen and (max-width:767px) {
  .ceremony .cuisine .chef .image {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin-bottom: 20px;
    width: 100%;
  }
}
.ceremony .merit {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  background-color: #f5f5f5;
  text-align: center;
  padding: 75px 0 85px;
  margin-bottom: 120px;
}
@media only screen and (max-width:1024px) {
  .ceremony .merit {
    padding: 65px 35px 70px;
    margin-bottom: 100px;
  }
}
@media only screen and (max-width:767px) {
  .ceremony .merit {
    padding: 40px 20px 45px;
    margin-bottom: 70px;
  }
}
.ceremony .merit ul {
  max-width: 1080px;
  margin: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 70px;
}
@media only screen and (max-width:1024px) {
  .ceremony .merit ul {
    max-width: 100%;
  }
}
@media screen and (min-width: 1025px) and (max-width: 1160px) {
  .ceremony .merit ul {
    width: 90%;
    margin: auto;
  }
}
@media only screen and (max-width:1024px) {
  .ceremony .merit ul {
    margin-bottom: 50px;
  }
}
@media only screen and (max-width:767px) {
  .ceremony .merit ul {
    display: block;
    margin-bottom: 40px;
  }
}
.ceremony .merit ul li {
  width: 29%;
}
@media only screen and (max-width:1024px) {
  .ceremony .merit ul li {
    width: 31%;
  }
}
@media only screen and (max-width:767px) {
  .ceremony .merit ul li {
    width: 100%;
    margin-bottom: 30px;
  }
}
.ceremony .merit ul li img {
  width: 100%;
  margin-bottom: 20px;
}
@media only screen and (max-width:767px) {
  .ceremony .merit ul li img {
    height: 250px;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.ceremony .merit ul li h3 {
  font-size: 16px;
  position: relative;
  margin-bottom: 40px;
}
@media only screen and (max-width:767px) {
  .ceremony .merit ul li h3 {
    font-size: 15px;
  }
}
.ceremony .merit ul li h3:after {
  content: "";
  width: 35px;
  height: 2px;
  background-color: #7db1c6;
  position: absolute;
  bottom: -19px;
  left: 0;
  right: 0;
  margin: auto;
}
.ceremony .merit ul li p {
  text-align: left;
}
.ceremony .merit .button-col {
  max-width: 1080px;
  margin: auto;
  border-top: 1px solid #d1d4d7;
  padding-top: 30px;
}
@media only screen and (max-width:1024px) {
  .ceremony .merit .button-col {
    max-width: 100%;
  }
}
@media only screen and (max-width:767px) {
  .ceremony .merit .button-col {
    padding-top: 20px;
  }
}