html {
  -webkit-overflow-scrolling: touch;
}

/*=================================
    Wedding - TOP
==================================*/

.wed-style{
  background: #f9f7f6;
}
#wrapAll{
  background: #f9f7f6;
}
@media screen and (min-width:768px) {
  a.btn-style-01 {
      cursor: pointer;
      position: relative;
      text-decoration: none;
  }

  a.btn-style-01::after {
      content: "";
      display: block;
      position: absolute;
      top: calc(50% - 5px);
      right: 20px;
      width: 6px;
      height: 6px;
      border: 1px solid;
      border-color: transparent transparent #b59500 #b59500;
      transform: rotate(-135deg);
      transition: .3s;
  }

  a.btn-style-01:hover::after {
      right: 10px;
  }

  #wedding-access {
      padding: 100px 0;
  }

  .wed-top-access {
      display: flex;
      justify-content: space-between;
      border-bottom: 1px solid #ccc;
      padding: 10px 0 30px;
      margin-bottom: 30px;
  }

}

@media screen and (max-width:767px) {

  .page-parent h2.sec_ttl,
  .hero-title-wed h2 {
      font-size: 1.2em !important;
  }

  .page-parent #wed_plan .cont_bg {
      padding-top: 60px;
  }

  .page-parent #wed_plan ul {
      margin: 15px;
  }

  .page-parent #wed_plan ul li {
      background-color: #fff;
      padding: 15px;
      margin-top: 100px;
  }

  .page-parent #wed_plan ul li>dl>dt {
      margin-top: -60px;
      margin-bottom: 15px !important;
  }

  .page-parent #wed_plan ul li h4 {
      color: #b0a394;
  }

  .page-parent .mnc-b {
      letter-spacing: .1em;
  }

  .page-parent #wed_dtl h4 {
      font-size: 1.3em !important;
  }

  #wedding-access {
      padding: 80px 0;
  }

  .wed-top-access {
      border-bottom: 1px solid #ccc;
      padding: 0px 20px 10px;
      margin-bottom: 20px;
  }

  .wed-top-access iframe {
      margin-bottom: 20px;
  }
}

.wed-top-access iframe {
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  filter: grayscale(100%);
}

/** youtube **/
.iframe-wrap-movie-top {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  /*padding-top: 42.55%;*/
  pointer-events: none;
}

.iframe-wrap-movie-top iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*=================================
    Wedding - History
==================================*/

main.history {
  position: relative;
}

main.history:after {
  content: '';
  height: 100%;
  display: block;
  width: 40px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  background: #fefefe;
  background: -moz-linear-gradient(top, #fefefe 0%, #aca090 35%, #aca090 43%, #ffffff 91%, #ffffff 100%);
  background: -webkit-linear-gradient(top, #fefefe 0%, #aca090 35%, #aca090 43%, #ffffff 91%, #ffffff 100%);
  background: linear-gradient(to bottom, #fefefe 0%, #aca090 35%, #aca090 43%, #ffffff 91%, #ffffff 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fefefe', endColorstr='#ffffff', GradientType=0);
}

section[class^="history-block-0"],
section[class*=" history-block-0"] {
  width: 80%;
  margin: 0 auto;
  position: relative;
  max-width: 1000px;
  padding: 10% 0 15% 0;
}

section[class^="history-block-0"] .wrap,
section[class*=" history-block-0"].wrap {
  width: 100%;
}

section.history-block h3,
section[class^="history-block-0"] h3,
section[class*=" history-block-0"] h3 {
  font-size: 1.3em;
  margin-bottom: 8%;
  letter-spacing: 0.1em;
  /*    color: #ada090;*/
  z-index: 200;
  position: relative;
  padding: 2% 0;
}

section.history-block h3:before,
section[class^="history-block-0"] h3:before,
section[class*=" history-block-0"] h3:before {
  content: '';
  display: inline-block;
  width: 1px;
  height: 100%;
  background-color: #ada090;
  position: absolute;
  left: -15px;
  top: 0;
}

section.history-block-01 {
  background: url(/wpweb/wp-content/themes/xeory_extension/common/img/wedding/history/photo_01.jpg) left 50% no-repeat;
  background-size: 60%;
  text-align: right;
}

section.history-block-02 {
  background: url(/wpweb/wp-content/themes/xeory_extension/common/img/wedding/history/photo_02.jpg) right 50% no-repeat;
  background-size: 60%;
}

section.history-block-03 {
  background: url(/wpweb/wp-content/themes/xeory_extension/common/img/wedding/history/photo_03.jpg) left 50% no-repeat;
  background-size: 60%;
  text-align: right;
}

section.history-block-01 h3,
section.history-block-01 p,
section.history-block-03 h3,
section.history-block-03 p {
  text-align: left;
}

section[class^="history-block-0"] div.txt,
section[class*=" history-block-0"] div.txt {
  background: rgba(255, 255, 255, 0.9);
  width: 70%;
  padding: 4%;
  display: inline-block;
}

@media only screen and (max-width: 767px) {
  p.pagetop {
      margin: 80px auto 0;
  }

  section.history-block:not(.bestrate) h3 {
      font-size: 1.8em;
      letter-spacing: .175em;
      white-space: nowrap;
  }

  main.history:after {
      display: none;
  }

  section.history-block:not(bestrate) {
      margin: 0 auto 20%;
      width: 100%;
  }
}


/*=================================
  Wedding - party style
===================================*/

.wed_boxes_3 .piclist ul li {
  background-color: #fff;
}

.cont_bg.bg-paper {
  width: 100%;
  /* position: relative; */
  background-image: url(/wpweb/wp-content/themes/xeory_extension/common/img/wedding/top/bgimg.jpg);
  background-size: cover;
  background-position: right center;
  /* max-height: 700px;*/
}

.page-template-page-wedding-style .full_cover>div {
  padding: 8% 0;
}

.page-template-page-wedding-style ul.piclist {
  overflow: visible !important;
}

/*
.page-template-page-wedding-style .hero-title-wed {
  top: 20px !important;
}
*/

@media screen and (min-width: 681px) {
  .page-template-page-wedding-style ul.piclist li {
      width: calc(100% / 3 - 20px);
      padding: 0;
      background-color: #fff;
      margin: 10px;
  }
}

.gr6 dl,
.venue_dtl dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.gr6 dl dt,
.venue_dtl dl dt {
  width: 30%;
}

.gr6 dl dd,
.venue_dtl dl dd {
  width: 70%;
}

.hp_limited {
  padding: 15px 50px;
  border: 1px solid #af8c00;
  border-radius: 20px;
}


/*
.swiper-container {
width: 100%;
height: 100%;
margin-left: auto;
margin-right: auto;
}

.swiper-slide {
text-align: center;
font-size: 18px;
background: #fff;
height: calc((100% - 30px) / 2);
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
-webkit-justify-content: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
-webkit-align-items: center;
align-items: center;
}
*/
.gallery h3 {
  font-size: 1.6em;
}

.venue_dtl {
  background: #ecdfe4;
  /* Old browsers */
  background: -moz-linear-gradient(top, #ecdfe4 0%, #ffffff 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #ecdfe4 0%, #ffffff 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #ecdfe4 0%, #ffffff 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ecdfe4', endColorstr='#ffffff', GradientType=0);
  /* IE6-9 */
}

.venue_dtl:before {
  content: '';
  background: url(/wpweb/wp-content/themes/xeory_extension/common/img/wedding/style/venue_dtl_bg.png);
  background-size: 100% auto;
  padding-top: calc(178/2400*100%);
  display: block;
}

.venue_dtl h2 {
  font-size: 1em;
}

.venue_dtl ul li {
  background-color: #fff;
  padding: 15px;
}

.venue_dtl ul li p,
.venue_dtl ul li dl dt,
.venue_dtl ul li dl dd {
  font-size: .9em;
}

.venue_dtl ul li h3 {
  font-size: 1.3em;
  margin-bottom: 8%;
  letter-spacing: 0.1em;
  z-index: 200;
  position: relative;
  padding: 2% 0 2% 15px;
}

.venue_dtl ul li h3:before {
  content: '';
  display: inline-block;
  width: 1px;
  height: 100%;
  background-color: #ada090;
  position: absolute;
  left: 0;
  top: 0;
}

.venue_dtl ul li img {
  margin-bottom: 40px;
}

@media screen and (min-width:768px) {
  .venue_dtl ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
  }

  .venue_dtl ul li {
      width: 48%;
  }
}

@media screen and (max-width:767px) {
  .venue_dtl {
      background: url(/wpweb/wp-content/themes/xeory_extension/common/img/wedding/bgimg.jpg) top 120px center/cover no-repeat;

  }

  .venue_dtl ul {
      margin: 15px;
  }

  [id^="link_"] .gr10 {
      width: 84%;
      float: none;
      margin: auto;
  }

  [id^="link_"] .gr10 h4:before,
  [id^="link_"] .gr10 h4:after {
      display: none;
  }

  [id^="link_"] .gr10 h4 {
      color: #b0a394;
      font-size: 1.2em !important;
      font-weight: bold;
      letter-spacing: .1em;
      background-image: none !important;
      padding-bottom: 0 !important;
  }

  .venue_dtl ul li {
      margin-top: 140px;
  }

  .venue_dtl ul li img {
      margin-top: -60px;
      margin-bottom: 15px !important;
  }

  .venue_dtl ul li h3 {
      color: #b0a394;
      font-size: 1.2em !important;
      padding-left: 0 !important;
      margin-bottom: 15px !important;
  }

  .venue_dtl ul li h3:before {
      display: none !important;
  }

  .page-template-page-wedding-style .gr6 p {
      color: #9c9594;
      line-height: 1.8;
  }

  .page-template-page-wedding-style .gr6 dl dt,
  .page-template-page-wedding-style .gr6 dl dd {
      color: #9c9594;
  }

  .venue_dtl h2.sec_ttl {
      color: #b0a394;
      margin-bottom: 80px;
  }

  .venue_dtl h2.sec_ttl:after {
      display: none;
  }

  .venue_dtl .sec_ttl br {
      display: none;
  }

  .page-template-page-wedding-style .bg-paper {
      background-image: none !important;
  }

  .page-template-page-wedding-style .gallery h3 {
      color: #b0a394;
      text-align: center;
      font-size: 1.2em;
  }
}

/*===============================
  Wedding - ceremony style
================================*/
.wed-style #meal_dtl .meal_box:not(.txt),
.wed-style #wed_dtl .meal_box:not(.txt) {
  display: block;
  float: left;
}

.wed-style #wed_dtl .thumblist {
  width: 100% !important;
}

.wed-style #wed_dtl .thumblist img {
  width: 100% !important;
}

.wed-style #wed_dtl .thumblist-item {
  z-index: 99;
  position: relative;
}

.wed-style .cont_bg {
  width: 100%;
  /* position: relative; */
  background-image: url(/wpweb/wp-content/themes/xeory_extension/common/img/wedding/wed-style/ennai_bg.jpg);
  background-size: cover;
  background-position: center;
  /* max-height: 700px;*/
  margin-bottom: 16%;
}

section.intro {
  margin-top: 80px;
}

/*==== moda-video ====*/

.bnr-movie {
  text-align: center;
  margin-bottom: 40px;
}

.bnr-movie .detail_2nd {
  text-align: center;
  max-width: 1100px;
  letter-spacing: -.4em;
  margin: 0 auto;
  display: inline-block;
  vertical-align: top;
  width: 100%;
  height: 258px;
  position: relative;
  overflow: hidden;
}

.bnr-movie .detail_2nd a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 20;
}

.bnr-movie .detail_2nd p {
  padding: 0 22px 0 27px !important;
  display: inline-block;
  white-space: nowrap;
  font-size: 2.4em;
  line-height: 75px;
  letter-spacing: .1em;
  padding: 0 35px;
  /*    border: solid 1px rgba(255, 255, 255, 0.6);*/
  background-color: rgba(0, 0, 0, 0.2);
  color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 10;
  cursor: pointer;
}

.bnr-movie .detail_2nd p span {
  display: block;
  /*  padding: 25px 80px;*/
}

.bnr-movie .detail_2nd p::before,
.bnr-movie .detail_2nd p::after {
  content: "";
  width: 0;
  height: 1px;
  position: absolute;
  transition: all 0.2s linear;
  background: #fff;
}

.bnr-movie .detail_2nd p span::before,
.bnr-movie .detail_2nd p span::after {
  content: "";
  width: 1px;
  height: 0;
  position: absolute;
  transition: all 0.2s linear;
  background: #fff;
}

.bnr-movie .detail_2nd:hover p::before,
.bnr-movie .detail_2nd:hover p::after {
  width: 100%;
}

.bnr-movie .detail_2nd:hover p span::before,
.bnr-movie .detail_2nd:hover p span::after {
  height: 100%;
}

/*----- button 1 -----*/
.bnr-movie .detail_2nd p::before,
.bnr-movie .detail_2nd p::after {
  transition-delay: 0.2s;
}

.bnr-movie .detail_2nd p span::before,
.bnr-movie .detail_2nd p span::after {
  transition-delay: 0s;
}

.bnr-movie .detail_2nd p::before {
  right: 0;
  top: 0;
}

.bnr-movie .detail_2nd p::after {
  left: 0;
  bottom: 0;
}

.bnr-movie .detail_2nd p span::before {
  left: 0;
  top: 0;
}

.bnr-movie .detail_2nd p span::after {
  right: 0;
  bottom: 0;
}

.bnr-movie .detail_2nd:hover p::before,
.bnr-movie .detail_2nd:hover p::after {
  transition-delay: 0s;
}

.bnr-movie .detail_2nd:hover p span::before,
.bnr-movie .detail_2nd:hover p span::after {
  transition-delay: 0.2s;
}

.bnr-movie .detail_2nd .img {
  -webkit-transition: all 3s;
  transition: all 3s;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  -webkit-transform: scale(1);
  transform: scale(1);
}

.tit-style {
  border-bottom: 1px solid #ada090;
  padding-bottom: 8px;
}

/** ceremony style 荳句ｱ､繝壹�繧ｸ **/
.sec-cere-style {
  padding: 80px 0;
}

#main-visual-2.main-visual-wed-cere-style {
  height: 300px !important;
}

.main-visual-wed-cere-style h1 {
  color: #fff;
  font-size: 1.28em;
  text-align: center;
  padding: 150px 0 0;
}

.outline-cere-style {
  text-align: center;
}

.outline-cere-style h2 {
  font-size: 1.5em;
  color: #c89b50;
}

/* wrap-cere-style:common */
.wrap-cere-style {
  display: flex;
  justify-content: center;
  position: relative;
}

.wrap-cere-style img {
  margin-bottom: 20px;
}

.box-cere-style-l {
  width: 60%;
  margin-left: 40%;
  padding-right: 30px;
  position: relative;
  z-index: 2;
}

.box-cere-style-r {
  width: 60%;
  margin-right: 40%;
  padding-left: 30px;
  position: relative;
  z-index: 2;
}

/* wrap-cere-style:01 */
.cere-style-01 .box-cere-style-l {
  padding-top: 40px;
}

.cere-style-01 .box-cere-style-r {
  padding-top: 160px;
}

.cere-style-01:before {
  content: "";
  background: #E6D2B1;
  position: absolute;
  z-index: 1;
  width: 30%;
  height: 220px;
  top: 0;
  left: 0;
}

.cere-style-01:after {
  content: "";
  background: #E9E8E6;
  position: absolute;
  z-index: 1;
  width: 45%;
  height: 520px;
  top: 100px;
  right: 0;
}

/* wrap-cere-style:02 */
.cere-style-02 .box-cere-style-l {
  padding-top: 140px;
}

.cere-style-02:after {
  content: "";
  background: #E6D2B1;
  position: absolute;
  z-index: 1;
  width: 41%;
  height: 320px;
  top: -80px;
  right: 0;
}

/* wrap-cere-style:03 */
.cere-style-03 .box-cere-style-l {
  padding-top: 40px;
}

.cere-style-03 .box-cere-style-r {
  padding-top: 160px;
}

.cere-style-03:before {
  content: "";
  background: #E9E8E6;
  position: absolute;
  z-index: 1;
  width: 40%;
  height: 520px;
  top: 0;
  left: 0;
}

.cere-style-03:after {
  content: "";
  background: #E6D2B1;
  position: absolute;
  z-index: 1;
  width: 40%;
  height: 260px;
  top: 300px;
  right: 0;
}

/* style way */
.sec-cere-style-way {
  padding: 80px 0;
}

.style-way {
  background: #f5f5f5;
  padding: 25px;
  width: 50%;
  margin: 0 auto 40px;
}

.style-way dl {
  margin: 0;
  display: flex;
}

.style-way dl dt {
  width: 170px;
}

@media screen and (max-width:768px) {
  .bnr-movie {
      /*        padding: 0 0 130px !important;*/
      width: 100%;
      margin-bottom: 0 !important;
  }

  .bnr-movie .detail_2nd {
      height: 180px !important;
  }

  .bnr-movie .detail_2nd p {
      font-size: 1.8em;
      line-height: 50px;
      padding: 0 12px 0 18px;
  }

  /** ceremony style 荳句ｱ､繝壹�繧ｸ **/
  #main-visual-2.main-visual-wed-cere-style {
      height: 130px !important;
  }

  .main-visual-wed-cere-style h1 {
      padding: 90px 0 0;
  }

  .outline-cere-style p {
      text-align: left;
  }

  /* wrap-cere-style:common */
  .wrap-cere-style {
      flex-direction: column;
      margin: 0 3%;
  }

  .box-cere-style-l,
  .box-cere-style-r {
      width: 100%;
      margin: 0;
      padding: 0;
  }

  .wrap-cere-style p {
      margin-bottom: 50px;
  }

  .cere-style-01 .box-cere-style-l,
  .cere-style-01 .box-cere-style-r,
  .cere-style-02 .box-cere-style-l,
  .cere-style-03 .box-cere-style-l,
  .cere-style-03 .box-cere-style-r {
      padding: 0;
  }

  /* wrap-cere-style:01 */
  .cere-style-01:before {
      width: 20%;
      height: 400px;
      top: -50px;
      left: -3%;
  }

  .cere-style-01:after {
      width: 30%;
      height: 400px;
      bottom: 0px;
      right: -3%;
  }

  /* wrap-cere-style:02 */
  .cere-style-02:after {
      width: 30%;
      height: 400px;
      top: -180px;
      right: -3%;
  }

  /* wrap-cere-style:03*/
  .cere-style-03:before {
      width: 20%;
      height: 400px;
      top: -50px;
      left: -3%;
  }

  .cere-style-03:after {
      width: 35%;
      height: 300px;
      top: 400px;
      right: -3%;
  }

  /* style way */
  .sec-cere-style-way {
      padding: 0 0 100px;
  }

  .style-way {
      padding: 15px;
      width: 100%;
  }

  .style-way dl {
      font-size: 12px;
  }

  .style-way dl dt {
      width: 90px;
  }

}

@media screen and (max-width:640px) {
  .bnr-movie .detail_2nd {
      height: 120px !important;
      width: 60% !important;
  }
}


/*===============================
  Wedding - Cuisine
================================*/
/*
#wedding.cuisine .hero-title-wed {
  top: 30px !important;
}
*/
#wedding.cuisine .tit-cuisine {
  text-align: center;
  font-size: 1.2em;
  margin-bottom: 30px;
}

#wedding.cuisine .subtit-cuisine {
  margin-bottom: 30px;
  padding-bottom: 8px;
  border-bottom: 2px solid #b0a394;
}

#wedding.cuisine .four-points .gr3 {
  padding: 0 15px;
}

.grand-chef {
  width: 100%;
  padding: 75px 7%;
  background-image: url(/wpweb/wp-content/themes/xeory_extension/common/img/wedding/bgimg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  box-sizing: border-box;
}

#wedding.cuisine .grand-chef div.intro h3 {
  display: inline-block;
  letter-spacing: .1em;
  line-height: 1em;
  padding: 0 0 12px;
  border-bottom: solid 1px #000;
  margin: .5em auto 40px;
  font-size: 1.2em;
}

#wedding.cuisine section.grand-chef div.intro {
  letter-spacing: -.4em;
  text-align: left;
  margin: 0 0 90px 0;
  *zoom: 1;
  max-width: 770px;
}

#wedding.cuisine .grand-chef section.hope {
  width: 100%;
  height: 440px;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}

#wedding.cuisine .grand-chef section.hope h4 {
  display: inline-block;
  font-size: 1em;
  letter-spacing: .2em;
  padding: 0 0 .5em;
  border-left: solid 1px #000;
  margin: 0 0 0 15px;
  color: #000;
}

#wedding.cuisine section.grand-chef div.intro .pht {
  float: left;
  width: 295px;
  margin: 0 60px 20px 0;
}

#wedding.cuisine .grand-chef div.intro p.name {
  font-size: 2.0em;
  line-height: 1.4em;
  letter-spacing: .25em;
  margin: 0 auto 35px;
}

#wedding.cuisine .grand-chef div.intro p.name span {
  font-size: .666em;
  letter-spacing: 0em;
  margin: 0 0 0 .6em;
  font-style: italic;
}

#wedding.cuisine .grand-chef div.intro p {
  letter-spacing: .15em;
  line-height: 1.92em;
}

#wedding.cuisine .grand-chef section.hope p.copy {
  font-size: 1.6em;
  letter-spacing: .2em;
  line-height: 1.666em;
  margin: 0 0 0 30px;
  color: #000;
}

#wedding.cuisine .grand-chef section.hope p {
  /* font-size: 1.3em; */
  line-height: 2.38em;
  letter-spacing: .1em;
  height: 430px;
  color: #000;
  font-family: serif !important;
}

@media screen and (max-width:767px) {
  section.grand-chef section.hope {
      height: auto !important;
      text-align: center;
      -webkit-writing-mode: horizontal-tb !important;
      -ms-writing-mode: lr-td !important;
      writing-mode: horizontal-tb !important;
  }

  section.grand-chef div.intro h3 {
      font-size: 1.2em !important;
      padding: 0 0 6px !important;
      margin: 10% auto 15px !important;
  }

  section.grand-chef div.intro p.name {
      font-size: 1.8em;
      margin: 0 auto 17%;
      padding: 0;
  }

  section.grand-chef div.intro .pht {
      width: 46.8%;
      margin: 0 11.8% 0 0 !important;
  }

  section.grand-chef section.hope h4 {
      font-size: 1.2em !important;
      letter-spacing: .1em !important;
      padding: 0 0 .5em;
      border-left: none !important;
      border-bottom: solid 1px #000;
      margin: 0 auto 8px !important;
  }

  section.grand-chef section.hope p.copy {
      font-size: 1.8em;
      letter-spacing: .15em;
      text-align: center;
      margin: 0 auto 20px !important;
      padding: 0;
  }

  section.grand-chef section.hope p {
      text-align: left;
      letter-spacing: .05em;
      line-height: 1.84em;
      padding: 0 4%;
      height: auto !important;
  }

  #wedding.cuisine .tit-cuisine {
      color: #b0a394;
      margin-bottom: 60px;
      letter-spacing: .1em;
  }

  .tit-cuisine {
      color: #b0a394;
  }

  #wedding.cuisine .subtit-cuisine {
      color: #b0a394;
      border-bottom: none !important;
  }

  .four-points .box-shadow {
      box-shadow: none !important;
      -webkit-box-shadow: none !important;
      -moz-box-shadow: none !important;
      -ms-box-shadow: none !important;
  }

  #wedding.cuisine .four-points .gr3 {
      width: 86%;
      margin: auto;
      float: none;
      margin-bottom: 100px;
  }

  #wedding.cuisine .four-points .gr3 p {
      color: #7c6d68;
      line-height: 1.8;
  }
}

/*===============================
  Wedding - Flow
================================*/
.txt-vl {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-family: serif !important;
}

.sec_ttl.txt-vl {
  display: flex;
  align-items: center;
  width: 100%;
}

.text-combine {
  text-combine-upright: all;
  -webkit-text-combine: horizontal;
  -ms-text-combine-horizontal: all;
}

.flow_box .full_cover {
  margin-bottom: 18%;
}

.flow_box .gr2 h2 {
  background-color: #666;
  color: #fff;
  text-align: center;
  display: inline-block;
  border-radius: 50%;
  font-size: 1.2em;
}

.flow_box p {
  margin-bottom: 60px;
}

.flow_box ul li {
  padding-left: 24px;
  position: relative;
}

.flow_box ul li:before {
  content: '';
  height: 1px;
  display: block;
  width: 10px;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  background-color: #000;
}

@media screen and (min-width: 768px) {
  .flow_box .gr9 {
      background-image: url(/wpweb/wp-content/themes/xeory_extension/common/img/wedding/flow/box_bgimg.jpg);
      background-repeat: no-repeat;
      background-position: right 60px;
      background-size: 70%;
  }

  .flow_box .gr9 img {
      width: 60%;
      max-width: 460px;
      margin-bottom: 30px;
  }

  .flow_box h3 {
      font-size: 1.4em;
      line-height: 2;
      margin-bottom: 60px;
  }

  .flow_box h3 span {
      border-bottom: 2px solid #e0d39a;
  }

  .flow_box .gr2 h2 {
      padding: 34px;
  }
}

@media screen and (max-width: 767px) {
  .flow_box .row {
      background-repeat: no-repeat;
      background-position: right 100px;
      background-size: 82%;
  }

  .flow_box .row:first-child {
      background-image: url(/wpweb/wp-content/themes/xeory_extension/common/img/wedding/flow/img_01_sp.jpg);
  }

  .flow_box .row:nth-child(2) {
      background-image: url(/wpweb/wp-content/themes/xeory_extension/common/img/wedding/flow/img_02_sp.jpg);
  }

  .flow_box .row:nth-child(3) {
      background-image: url(/wpweb/wp-content/themes/xeory_extension/common/img/wedding/flow/img_03_sp.jpg);
  }

  div:not(.modaal-content-container) .flow_box {
      padding-left: 30px;
  }

  div.modaal-content-container .flow_box {
      padding-left: 0px;
  }

  .flow_box h3 {
      font-size: 1.4em;
      line-height: 1.8;
      padding-bottom: 30px;
      font-weight: bold;
      color: #ada08f;
  }

  .flow_box .full_cover {
      position: relative;
  }

  .flow_box .gr2 h2 {
      position: absolute;
      right: 4%;
      font-size: .8em;
      padding: 16px;
  }

  .flow_box p {
      background: rgba(255, 255, 255, .9);
      padding: 30px 8px 30px 0;
      width: 82%;
  }

  .sec_ttl.txt-vl {
      margin-bottom: 200px;
  }

  .flow_box .gr2 h2 {
      padding: 16px;
  }
}

/*===============================
  Wedding - Shinzen
================================*/
.s-flow dl {
  margin-bottom: 10%;
}

.s-flow dl dt h3 {
  font-size: 1.1em;
  border-bottom: 1px solid #666;
  width: 80%;
}

.s-flow dl dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.s-flow dl dd p:first-child {
  width: 32%;
}

.s-flow dl dd p:last-child {
  width: 68%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.s-flow dl dd p+p {
  padding-left: 4%;
  box-sizing: border-box;
}

.s-flow dl dd p span {
  display: block;
}

main.shinzen .hero-title-wed {
  top: 34px !important;
}

@media screen and (min-width: 768px) {
  main.shinzen {
      background: #ffffff;
      /* Old browsers */
      background: -moz-linear-gradient(top, #ffffff 0%, #ffffff 16%, #ede1e6 50%, #ffffff 84%, #ffffff 100%);
      /* FF3.6-15 */
      background: -webkit-linear-gradient(top, #ffffff 0%, #ffffff 16%, #ede1e6 50%, #ffffff 84%, #ffffff 100%);
      /* Chrome10-25,Safari5.1-6 */
      background: linear-gradient(to bottom, #ffffff 0%, #ffffff 16%, #ede1e6 50%, #ffffff 84%, #ffffff 100%);
      /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
      filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#ffffff', GradientType=0);
      /* IE6-9 */
  }

  main.shinzen .section_innerwrap {
      background-color: #fff;
  }
}

@media screen and (max-width: 767px) {
  main.shinzen {
      background: #ffffff;
      /* Old browsers */
      background: -moz-linear-gradient(top, #ffffff 0%, #ede1e6 99%);
      /* FF3.6-15 */
      background: -webkit-linear-gradient(top, #ffffff 0%, #ede1e6 99%);
      /* Chrome10-25,Safari5.1-6 */
      background: linear-gradient(to bottom, #ffffff 0%, #ede1e6 99%);
      /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
      filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#ede1e6', GradientType=0);
      /* IE6-9 */
  }
}

/*====================
  Wedding common
=====================*/
#main-visual-2 {
  padding: 0 0 200px !important;
  margin-top: 0 !important;
  background-size: cover;
  height: 320px !important;
  background-position: center top;
}

.hero-title-wed {
  width: 200px;
  position: relative;
  left: 0;
  right: 0;
  margin: auto;
  top: -55px;
  border-radius: 0 0 4px 4px;
  height: 280px;
  background-color: rgba(255, 255, 255, .7);
}

.hero-title-wed h1 {
  font-size: 1.28em;
  background-color: transparent;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
}

.page-child .cont_bg .gr10 {
  padding: 10% 0;
}

.box-shadow {
  -moz-box-shadow: 6px 7px 16px 4px rgba(0, 0, 0, 0.14);
  -webkit-box-shadow: 6px 7px 16px 4px rgba(0, 0, 0, 0.14);
  -ms-box-shadow: 6px 7px 16px 4px rgba(0, 0, 0, 0.14);
  box-shadow: 6px 7px 16px 4px rgba(0, 0, 0, 0.14);
}

.intro h2 {
  font-size: 1.2em;
}

body.page-parent h2.sec_ttl:not(.nospan):after {
  height: 52px !important;
  bottom: -54px !important;
}

body.page-child h2.sec_ttl:not(.nospan):after {
  height: 52px !important;
  bottom: -120px !important;
}

.wed_ttl {
  font-size: 1.5em;
  position: relative;
  text-align: center
}

.ume_border {
  position: relative;
  /*    background-image: url(/wpweb/wp-content/themes/xeory_extension/common/img/exp_ico.svg);*/
  background-size: 20px;
  background-position: center bottom 14px;
  background-repeat: no-repeat;
  padding-bottom: 50px;
}

.ume_border:before {
  content: '';
  position: absolute;
  height: 1px;
  width: 30%;
  max-width: 50px;
  background-color: #666;
  bottom: 21px;
  margin: auto;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  z-index: -1;
}

/*
.ume_border:after {
  content: '';
  position: absolute;
  height: 1px;
  width: 30%;
  max-width: 150px;
  background-color: #666;
  bottom: 21px;
  margin: auto;
  right: 50%;
  transform: translate(114%, -50%);
  -webkit-transform: translate(114%, -50%);
  -ms-transform: translate(114%, -50%);
  z-index: -1;
}
*/
.page-child .intro h2,
.page-child h2.sec_ttl,
.sec_ttl.txt-vl {
  margin-bottom: 200px !important;
  font-size: 1.4em;
}

@media screen and (min-width: 768px) {

  .gr6+.gr6 {
      padding-left: 40px;
  }

  a.btn-style-01 {
      display: block;
      line-height: 54px;
      text-align: center;
      background-color: #fff;
      border: solid 1px #ada090;
      color: #000;
      position: relative;
      padding: 0 3rem 0 2rem;
      width: 400px;
      font-size: .85em;
      margin: 20px auto;
  }

  a.btn-style-02 {
      display: block;
      line-height: 54px;
      text-align: center;
      background-color: #fff;
      border: solid 1px #155948;
      color: #000;
      position: relative;
      padding: 0 1rem;
      width: 360px;
      font-size: .9em;
      margin: 20px auto;
  }
}

@media screen and (max-width: 767px) {
  .gr6+.gr6 {
      padding: 0;
  }

  #main-visual-2 {
      height: 100vh !important;
  }

  a.btn-style-01 {
      display: block;
      line-height: 54px;
      text-align: center;
      background-color: #fff;
      border: solid 1px #ada090;
      color: #000;
      position: relative;
      padding: 0 2rem 0 1rem;
      width: 280px;
      font-size: .85em;
      margin: 20px auto;
  }

  a.btn-style-01::after {
      content: "";
      display: block;
      position: absolute;
      top: calc(50% - 5px);
      right: 20px;
      width: 6px;
      height: 6px;
      border: 1px solid;
      border-color: transparent transparent #b59500 #b59500;
      transform: rotate(-135deg);
      transition: .3s;
  }

  a.btn-style-01:hover::after {
      right: 10px;
  }

  /*a.btn-style-01 {
      display: block;
      line-height: 54px;
      text-align: center;
      background-color: #ada090;
      border: solid 1px #ada090;
      outline: 1px solid #fff;
      outline-offset: -3px;
      color: #fff;
      position: relative;
      padding: 0 2rem 0 1rem;
      width: 300px;
      font-size: .85em;
      margin: 20px auto;
  }*/
  a.btn-style-02 {
      display: block;
      line-height: 54px;
      text-align: center;
      background-color: #155948;
      border: solid 1px #155948;
      outline: 1px solid #fff;
      outline-offset: -3px;
      color: #fff;
      position: relative;
      padding: 0 2rem 0 1rem;
      width: 260px;
      font-size: .9em;
      margin: 20px auto;
  }

  /*a.btn-style-01:after,*/
  a.btn-style-02:after {
      content: '';
      display: inline-block;
      width: 30px;
      height: 1em;
      background-image: url(/wpweb/wp-content/themes/xeory_extension/common/img/wedding/arrow-right-white.svg);
      background-repeat: no-repeat;
      background-size: 80%;
      background-position: center;
      transform: translate(10px, 0);
      position: absolute;
      top: 0;
      bottom: 0;
      margin: auto;
      right: 16px;
  }
}

/*=================================
    Wedding - common
==================================*/
.txt-wed {
  line-height: 2;
  letter-spacing: 1px;
}

/*=================================
    Wedding - Facility
==================================*/
/* tit-section-faci */
.tit-section-faci {
  position: relative;
  text-align: center;
  font-size: 1.4em;
  letter-spacing: 1px;
}

.tit-section-faci:before {
  content: '';
  background-image: url(/wpweb/wp-content/themes/xeory_extension/common/img/exp_ico.svg);
  width: 20px;
  height: 20px;
  background-size: contain;
  margin: 0 auto 14px;
  display: block;
  background-repeat: no-repeat;
}

.tit-section-faci:after {
  content: '';
  background-color: #666;
  width: 1px;
  height: 23px;
  display: block;
  position: absolute;
  right: 0;
  left: 0;
  margin: auto;
  bottom: -31px;
}

/* box-facility */
.box-facility-01,
.box-facility-02 {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 80px;
}

.box-facility-01 .photo,
.box-facility-02 .photo {
  width: 45%;
  margin-bottom: 30px;
}

.box-facility-01 .txt,
.box-facility-02 .txt {
  width: 50%;
}

.box-facility-01 h3,
.box-facility-02 h3,
.tit-fair {
  font-size: 1.4em;
  letter-spacing: 1px;
}

/* suctit-faci */
.subtit-faci {
  font-size: 1.5em;
  position: relative;
  /*    background-image: url(/wpweb/wp-content/themes/xeory_extension/common/img/exp_ico.svg);*/
  background-size: 20px;
  background-position: center bottom 14px;
  background-repeat: no-repeat;
  padding-bottom: 50px;
  text-align: center;
  padding: 0 0 50px 0 !important;
}

.subtit-faci:before {
  content: '';
  position: absolute;
  height: 1px;
  width: 30%;
  max-width: 50px;
  background-color: #666;
  bottom: 21px;
  margin: auto;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  z-index: -1;
}

/*
.subtit-faci:after {
  content: '';
  position: absolute;
  height: 1px;
  width: 30%;
  max-width: 150px;
  background-color: #666;
  bottom: 21px;
  margin: auto;
  right: 50%;
  transform: translate(114%, -50%);
  -webkit-transform: translate(114%, -50%);
  -ms-transform: translate(114%, -50%);
  z-index: -1;
}
*/

/* subtit-faci-02 */
.subtit-faci-02 {
  text-align: center;
  font-size: 1.4em;
}

/* swiper-facility thumblist */
.swiper-facility .thumblist {
  display: flex;
  display: -ms-flexbox;
  width: 80%;
  min-width: 300px;
  margin: 30px auto 0;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: center;
}

.swiper-facility .thumblist-item img {
  opacity: .5;
  width: 120px;
  height: auto;
  object-fit: cover;
  font-family: 'object-fit: contain;';
  margin: 0 10px;
}

.swiper-facility .thumblist-item.current img {
  opacity: 1;
}


@media screen and (max-width: 767px) {

  .box-facility-01,
  .box-facility-02 {
      flex-direction: column;
  }

  .box-facility-01 .photo,
  .box-facility-01 .txt,
  .box-facility-02 .txt {
      width: 100%;
  }

  .box-facility-02 .photo {
      display: none;
  }

  .subtit-faci {
      font-size: 1.3em;
  }

  .swiper-facility .thumblist {
      width: 100%;
  }

  .swiper-facility .thumblist-item img {
      width: 50px;
  }

}


/*=================================
    Wedding - Fair
==================================*/
.line-fair {
  border-top: 1px solid #666;
  border-bottom: 1px solid #fff;
}

.box-plan {
  padding: 30px;
  position: relative;
  z-index: 1;
  display: table;
  /*    width: 100%;*/
  margin-bottom: 60px;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
}

.box-plan::before,
.box-plan::after {
  content: "";
  height: 100%;
  position: absolute;
  width: 100%;
  border: 1px solid #dbdbdb;
}

.box-plan::before {
  left: 0;
  top: 0;
  z-index: -1;
}

.box-plan::after {
  top: 7px;
  left: 7px;
  z-index: -2;
}

.box-plan h3 {
  font-size: 1.2em;
  font-weight: bold;
}

.box-plan a.btn-style-01 {
  display: inline-block;
  line-height: 40px;
  margin: 0;
  width: auto;
}

.bnr_documentrequest {
  position: relative;
}

.bnr_documentrequest a {
  position: absolute;
  display: inline-block;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

.table-rwd-plan dl dd {
  margin-left: 1em;
}

.table-rwd-plan dl dd ul li {
  padding-left: .7em;
  position: relative;
}

.table-rwd-plan dl dd ul li::before {
  content: '';
  width: 2px;
  height: 2px;
  background-color: rgb(24, 24, 24);
  display: block;
  position: absolute;
  left: 0;
  top: .7em;
}

.page-template-page-wedding-plan-detail {
  font-feature-settings: "palt";
}

.page-template-page-wedding-plan-detail .title-lined span,
.single-wedding-plan .title-lined span {
  font-size: .8em;
}

@media screen and (min-width: 1098px) {
  .bnr_documentrequest a {
      top: 226px;
      right: 165px;
      font-size: 1.4em;
  }
}

@media screen and (max-width: 1097px) {
  .bnr_documentrequest a {
      top: 63%;
      right: 9%;
      font-size: calc(.8em + .8vw);
  }
}


@media screen and (min-width: 768px) {
  .box-plan>div:first-of-type {
      padding-right: 30px;
  }

  .box-plan div.gr4 {
      width: 33.33% !important;
  }

  .box-plan div.gr8 {
      width: 66.66% !important;
  }
}

@media screen and (max-width: 767px) {
  .box-plan>div:first-of-type {
      margin-bottom: 20px;
  }

  .box-plan::before {
      content: "";
      height: 100%;
      position: absolute;
      width: 100%;
      border: 1px solid #dbdbdb;
  }

  .box-plan::after {
      content: "";
      height: 100%;
      position: absolute;
      width: 100%;
  }

  .wrap.box-plan {
      overflow: visible;
  }
}


.fair-extra h3.request {
  padding: 1em;
  position: relative;
}

.fair-extra h3.request::before,
.fair-extra h3.request::after {
  content: '';
  background-image: url(../img/wedding/fair/line.png);
  background-size: 80% auto;
  background-repeat: no-repeat;
  background-position: center;
  display: block;
  width: 100%;
  height: 6px;
  padding: 14px;
}

.fair-extra .wfes-box .gr6 {
  padding: 15px;
  border-top: 1px dashed #af9859;
  border-left: 1px solid #af9859;
  border-right: 1px solid #af9859;
  border-bottom: 1px solid #af9859;
  position: relative;
  z-index: 1;
}

.fair-extra .wfes-box .gr5:first-child::after {
  content: '';
  position: absolute;
  z-index: -1;
  width: 83px;
  height: 88px;
  display: block;
  left: -30px;
  bottom: -15px;
  background-image: url(../img/wedding/fair/bg_01.jpg);
  background-repeat: no-repeat;
  background-size: contain;
}

.fair-extra .wfes-box .gr6:last-child::after {
  content: '';
  position: absolute;
  z-index: -1;
  width: 109px;
  height: 104px;
  display: block;
  right: -30px;
  bottom: -15px;
  background-image: url(../img/wedding/fair/bg_03.jpg);
  background-repeat: no-repeat;
  background-size: contain;
}

.fair-extra .wfes-box .gr6 img {
  max-width: 80%;
  display: block;
  margin: auto;
}

.fair-extra h4.retrofes span {
  transform: rotate(-2deg);
  display: block;
}

.fair-extra h4.reservation {
  background-image: url(../img/wedding/fair/bg_02.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  padding: 15px;
  font-size: 2.5em;
  text-align: center;
}

.fair-extra h3.recommend span {
  position: relative;
}

.fair-extra h3.recommend {
  background-image: url(../img/wedding/fair/bg_06.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  padding: 15px;
  text-align: center;
}

.box-wrap-02 {
  display: flex;
  flex-wrap: wrap;
}

.fair-extra .gr6:first-of-type ._02 {
  background-image: url(../img/wedding/fair/bg_04.jpg);
  background-size: 180px auto;
  background-repeat: no-repeat;
  background-position: left top;
  margin-bottom: 0;
}

.fair-extra .gr6:last-of-type ._02 {
  background-image: url(../img/wedding/fair/bg_04.jpg);
  background-size: 180px auto;
  background-repeat: no-repeat;
  background-position: right bottom;
  height: 100%;
}

.box-plan._02::before,
.box-plan._02::after {
  content: "";
  height: 96%;
  position: absolute;
  width: 96%;
  border: 1px solid #af9859;
}

.fair-extra ._02 a.btn {
  background-color: #af9859;
  border-color: #af9859;
  color: #fff;
}

.fair-extra ._02 a.btn:hover {
  color: #af9859;
  background-color: #fff;
  border-color: #af9859;
}

.box-wrap-02 .tel {
  font-size: 30px;
}

.box-wrap-02 .tel span {
  font-size: 22px;
}

/*=================================
    Wedding - FAQ
==================================*/
dl.wed-faq {
  border-bottom: 1px solid #b0a394;
  line-height: 2;
  padding: 30px 0;
}

dl.wed-faq span {
  display: inline-block;
  margin-right: 5px;
  font-weight: bold;
}

dl.wed-faq dt span {
  color: #666;
}


@media screen and (max-width: 767px) {

  dl.wed-faq {
      padding: 20px 0;
  }

}

/*====================================
wedding
======================================*/
#main-visual-wed {
  background-size: cover;
  /*    padding-bottom: calc(1490/2500*100%);*/
  background-position: center top;
  position: relative;
}

#wedding #wed_intro,
#wed_plan,
#wed_facility,
#wed_hospi,
#wed_faq {
  margin-top: 80px !important;
  margin-bottom: 10%;
}

#wedding [id^="ccpt_"]:not(#ccpt_cont) {
  margin-top: 3%;
  margin-bottom: 10%;
}

.bestoffer {
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  text-align: center;
  margin-bottom: 0;
}

.bestoffer img {
  width: 180px;
}

@media screen and (max-width: 767px) {
  .bestoffer img {
      width: 120px !important;
  }
}

[id^="wed_"] .gr12 {
  margin-top: 0;
}

[id^="wed_"] div.cp_txt {
  position: relative;
}

[id^="wed_"] div.cp_txt h2 {
  z-index: -1;
}

[id^="wed_"] div.cp_txt h3 {
  font-size: 1.4em;
  line-height: 1.5;
  margin-bottom: 30px;
  margin-top: 10px;
}

[id^="wed_"] div.cp_txt p {
  line-height: 1.6;
  text-align: justify;
  text-justify: inter-ideograph;
}

[id^="wed_"] div.cp_txt p span {
  font-size: .9em;
  margin-top: 1em;
  display: block;
}

[id^="wed_"] .gr12 {
  /*
  display: flex;

  display:-ms-flexbox;
  flex-wrap: wrap;
*/
}

/* #wed_intro .cont_bg {
  width: 100%;
 position: relative;
  background-image: url(/wpweb/wp-content/themes/xeory_extension/common/img/wedding/top/concept_bg.jpg);
  background-size: cover;
  background-position: 70% center;
 max-height: 700px;
} */
#wed_plan .cont_bg {
  width: 100%;
  /*    position: relative;*/
  background-image: url(/wpweb/wp-content/themes/xeory_extension/common/img/wedding/top/plan_bg.jpg);
  background-size: cover;
  background-position: right center;
  /*    max-height: 700px;*/
}

#wed_facility .cont_bg {
  width: 100%;
  background-image: url(/wpweb/wp-content/themes/xeory_extension/common/img/wedding/top/facility_bg.jpg);
  background-size: cover;
  background-position: right center;
}

#wed_hospi .cont_bg {
  width: 100%;
  background-image: url(/wpweb/wp-content/themes/xeory_extension/common/img/wedding/top/hospi_bg.jpg);
  background-size: cover;
  background-position: right center;
}

#wed_faq .cont_bg {
  width: 100%;
  background-image: url(/wpweb/wp-content/themes/xeory_extension/common/img/wedding/top/faq_bg.jpg);
  background-size: cover;
  background-position: right center;
}

#wed_faq .cont_bg>img {
  width: 100%;
}

#wed_intro .cont_txt {
  /*    height: 380px;*/
  /*
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
*/
  margin: auto;
}

/*
#wed_intro .cont_txt,
#wed_intro .cont_txt h3,
#wed_intro .cont_txt p {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  -webkit-font-feature-settings: 'pkna';
  font-feature-settings: 'pkna';
}
*/
#wed_intro .cont_txt .mnc-b {
  letter-spacing: 0;
  margin-bottom: 0;
}

#wed_intro .cont_txt p {
  letter-spacing: 0;
  letter-spacing: 2px;
  text-align: justify;
  text-justify: inter-ideograph;
}

#wed_facility .cont_txt p,
#wed_hospi .cont_txt p {
  line-height: 2;
}

#wed_dtl h4 {
  font-size: 1.5em;
  position: relative;
  /*background-image: url(/wpweb/wp-content/themes/xeory_extension/common/img/exp_ico.svg);*/
  background-size: 20px;
  background-position: center bottom 14px;
  background-repeat: no-repeat;
  padding-bottom: 50px;
}

/*#wed_dtl h4:before {
  content: '';
  position: absolute;
  height: 1px;
  width: 30%;
  max-width: 100px;
  background-color: #666;
  bottom: 21px;
  margin: auto;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  z-index: -1;
}*/
#dining_intro h2 {
  font-size: 2.1em;
  margin-bottom: 60px;
}

/* RWD table */
#wedding .table-rwd {
  max-width: 700px;
  margin: 0 auto;
}

#wedding .table-rwd dl {
  margin-bottom: 20px;
  padding-left: 20px;
  padding-right: 20px;
}

#wedding .table-rwd dl:nth-of-type(1) {
  border-top: 1px solid #bf3971 !important;
  border-bottom: none !important;
  padding-top: 20px;
}

#wedding .table-rwd dl:last-of-type {
  border-top: 1px solid #a2a2a2 !important;
  border-bottom: 1px solid #bf3971 !important;
  padding-top: 20px;
}

#wedding .table-rwd dl dt {
  width: 100%;
  text-align: center;
  font-size: 1.3em;
}


#wedding .table-rwd dl dd {
  /*	margin:0 0 0 25%;*/
  flex: 1;
  margin-bottom: 20px;
}

#wedding #wed_plan .gr10 {
  margin: 0 auto 40px;
  display: block;
  float: none;
}

#wedding #wed_plan dl dd dl {
  display: flex;
  flex-wrap: wrap;
  border-top: none;
  text-align: left;
}

#wedding #wed_plan dl dd dt {
  width: 20%;
  padding: 0px 10px 10px;
  box-sizing: border-box;
  margin-bottom: 0 !important;
}

#wedding #wed_plan dl dd dd {
  padding: 0 10px;
  margin: 0;
  width: 70%;
  box-sizing: border-box;
  margin-bottom: 0;
}

h2.sec_ttl,
.hero-title h2 {
  display: block;
  margin-bottom: 2em;
  position: relative;
  z-index: 5;
  text-align: center;
  position: relative;
  font-size: 2.2em;
  letter-spacing: 2px;
  line-height: 1.8;
}

.en {
  font-family: 'Didot', serif;
}

#dining_intro h2 span {
  font-size: .6em;
  display: block;
}

h2.sec_ttl span,
.hero-title h2 span {
  font-size: .5em;
  display: block;
  color: #9e9e9e;
  /* padding: 1em 0 5px; */
}

h2.sec_ttl:not(.nospan):after,
.hero-title h2:not(.nospan):after {
  content: '';
  background-color: #155948;
  width: 1px;
  height: 23px;
  display: block;
  position: absolute;
  right: 0;
  left: 0;
  margin: auto;
  bottom: -31px;
}


@media screen and (max-width: 320px) {
  #wedding #wed_plan dl dd dl {
      flex-flow: column nowrap;
  }

  #wedding #wed_plan dl dd dt,
  #wedding #wed_plan dl dd dd {
      width: 100%;
  }

  #wedding #wed_plan dl dd dd {
      border-left: none;
  }
}

@media screen and (min-width:768px) {
  #wedding .table-rwd dl dd {
      display: flex;
  }

  #wedding .table-rwd dl {
      display: block;
  }

  .page-template-page-wedding-plan-detail .photo-plan-detail,
  .single-wedding-plan .photo-plan-detail {
      padding-left: 0;
      padding-right: 40px;
  }
}


@media screen and (min-width:769px) {
  [id^="wed_"] div.cp_txt h3 {
      text-align: left;
      margin: 0 auto;
      min-height: 288px;
      margin-bottom: 30px;
      position: relative;
      padding-top: 40px;
      line-height: 2;
  }

  [id^="wed_"] div.cp_txt h3:before {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
  }

  #wed_intro .cont_bg,
  #wed_facility .cont_bg,
  #wed_hospi .cont_bg,
  #wed_faq .cont_bg {
      padding: 10% 0;
  }

  #wed_plan .cont_bg {
      padding: 6% 0 0;
  }

  #wed_intro .cont_txt .mnc-b,
  #wed_plan .cont_txt .mnc-b {
      /*        margin-left: 2em;*/
      line-height: 2;
  }

  #wed_intro .cont_txt p {
      line-height: 2;
      /*        margin-bottom: 87px;*/
  }

  [id^="wed_"] div.cp_txt {
      display: flex;
      display: -ms-flexbox;
      padding: 0;
  }

  [id^="wed_"] div.cp_txt_txt>span {
      margin: -20px auto 10px;
  }

  #wedding .table-rwd dl dd iframe,
  #wedding .table-rwd dl dd .ph-fair {
      width: 50%;
      /*	float:left;*/
      margin-right: 40px;
      margin-bottom: 40px;
  }
}

@media screen and (max-width:768px) {
  #wedding #wed_intro .section_innerwrap {
      padding: 0;
  }

  #wed_intro .cont_bg,
  #wed_facility .cont_bg,
  #wed_hospi .cont_bg,
  #wed_faq .cont_bg {
      padding: 80px 0;
  }

  #wed_intro .cont_txt .mnc-b {
      /*        margin-left: 1em;*/
      line-height: 2;
  }

  #wed_intro .cont_txt p {
      line-height: 2;
      margin-bottom: 0;
      padding: 0 15px;
  }

  #wed_dtl h3 {
      padding: 0 15px;
  }

  [id^="wed_"] div.cp_txt_txt:before {
      margin: 0 auto 15px;
  }

  .page-parent h2.sec_ttl,
  .hero-title h2 {
      font-size: 1.2em !important;
  }
}

#wed_dtl .gr12 {
  margin-top: 0;
  margin-bottom: 60px;
}

#wed_dtl div.cp_txt {
  padding: 0 60px 0 0;
  position: relative;
}

#wed_dtl div.cp_txt h2 {
  position: absolute;
  top: 0;
  padding-top: 20px;
  padding-left: 15px;
  padding-bottom: 5px;
  margin-left: -15px;
  border-left: 1px solid #929292;
}

#wed_dtl div.cp_txt h3 {
  font-size: 1.3em;
  line-height: 1.5;
  margin-bottom: 30px;
  margin-top: 10px;
  font-weight: bold;
  letter-spacing: 2px;
}

#wed_dtl div.cp_txt h3:after {
  content: '';
  display: block;
  /*    background-image: url(/wpweb/wp-content/themes/xeory_extension/common/img/dining/h3_after.png);*/
  /*
  background-repeat: no-repeat;
  background-size: contain;
*/
  width: 50px;
  height: 20px;
  margin-top: 20px;
}

#wed_dtl div.cp_txt p {
  line-height: 1.8;
}

#wed_dtl div.cp_txt p span {
  font-size: .9em;
  margin-top: 1em;
  display: block;
}

#wed_dtl .btn_l:hover {
  background-color: #717171;
}

#wed_dtl .thumbmeal_dtllist {
  display: flex;
  flex-wrap: wrap;
  margin-top: 10px;
}

#wed_dtl .thumblist-item img {
  opacity: .5;
  width: 90%;
  height: auto;
  object-fit: cover;
  font-family: 'object-fit: contain;'
}

#meal_dtl .thumblist-item.current img,
#wed_dtl .thumblist-item.current img {
  opacity: 1;
}

#meal_dtl .thumblist {
  display: flex;
  display: -ms-flexbox;
  width: 40%;
  min-width: 300px;
  margin: 30px auto 0;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

#wed_dtl .thumblist {
  display: flex;
  display: -ms-flexbox;
  width: 80%;
  min-width: 300px;
  margin: 30px auto 0;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

#wed_dtl .ume_ttl {
  font-size: 1.5em;
}

#wed_dtl .meal_box p {
  line-height: 2;
}

#footer-wed {
  /* background-image: url(../img/wedding/flow/box_bgimg.jpg);
  background-size: cover;
  background-repeat: no-repeat; */
  background-color: #f8f7f2;
}

#footer-wed .wrap {
  /* background-color: #f8f7f2; */
  padding: 5% 2%;
}

#footer-wed h5,
#footer-wed ul li a,
#parallax_contact h4,
#parallax_contact p {
  color: #241913;
}

#footer-wed h5,
#parallax_contact h4 {
  font-size: 1.2em;
}

.nav_footer li {
  padding: 6px;
}

.nav_footer li a {
  padding: inherit;
}

#online:not(.online-wed) {
  background: #000;
  opacity: .85;
  /*    padding: 20px 30px;*/
  position: fixed;
  /*    margin-top: -120px;*/
  /*    height: 240px;*/
  color: #FFF;
  text-align: center;
  z-index: 998;
  transition-duration: .5s;
}

#online.online-wed {
  /*    padding: 20px 30px;*/
  position: fixed;
  /*    margin-top: -120px;*/
  /*    height: 240px;*/
  color: #2d2d2d;
  text-align: center;
  z-index: 998;
  transition-duration: .5s;
}

#online.online-wed .button-1,
#online.online-wed .button-2 {
  background: #fff;
  opacity: .85;
}

#online.online-wed .button-2 {
  margin-top: 20px;
}

#online.online-wed .button-1 a,
#online.online-wed .button-2 a {
  display: block;
  color: #2d2d2d;
}

#online.online-wed .button-1:hover,
#online.online-wed .button-2:hover {
  opacity: 1;
}

#online.online-wed a:first-of-type {
  line-height: 1.3;
  color: #b31056;
}

#online.online-wed .button-1 a:first-of-type {
  padding-bottom: 12px;
}

#online.online-wed .button-1 a:last-of-type {
  padding-top: 12px;
  border-top: 1px solid #969696;
}

ul.piclist {
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

ul.piclist li {
  width: calc(100% / 3 - 20px);
  margin: 10px;
  background-color: rgba(255, 255, 255, .8);
}

ul.piclist li dl {
  transition: 0.3s ease 0s;
  margin-bottom: 0;
}

ul.piclist li dl:hover {
  opacity: .7;
}

@media only screen and (max-width: 1080px) {
  ul.piclist li {
      width: calc(100% / 3 - 20px)
  }
}

@media only screen and (max-width: 680px) {
  ul.piclist li {
      width: 100%;
      margin-bottom: 16px
  }
}

ul.piclist li.col4 {
  width: calc(100% / 4)
}

@media only screen and (max-width: 1080px) {
  ul.piclist li.col4 {
      width: calc(100% / 2)
  }
}

@media only screen and (max-width: 680px) {
  ul.piclist li.col4 {
      width: 100%;
      float: none;
      margin-bottom: 16px
  }
}

ul.piclist li#link {
  width: calc((100% / 3)*2);
  box-sizing: border-box;
  padding: 0 36px;
  position: relative
}

@media only screen and (max-width: 1080px) {
  ul.piclist li#link {
      width: calc(100% / 2);
      padding: 0 20px
  }
}

@media only screen and (max-width: 680px) {
  ul.piclist li#link {
      width: 100%;
      padding: 0
  }
}

ul.piclist li#link div.link {
  background-color: #fff;
  padding: 20px
}

@media only screen and (max-width: 1080px) {
  ul.piclist li#link div.link {
      padding: 20px
  }
}

ul.piclist li#link div.link_wrap {
  width: 100%;
  display: table;
  position: relative;
  z-index: 1
}

@media only screen and (max-width: 1080px) {
  ul.piclist li#link div.link_wrap {
      display: block
  }
}

ul.piclist li#link div.link_wrap div.link_innerwrap {
  display: table-cell;
  width: 50%;
  vertical-align: middle;
  text-align: center
}

@media only screen and (max-width: 1080px) {
  ul.piclist li#link div.link_wrap div.link_innerwrap {
      display: block;
      width: 100%
  }
}

@media only screen and (max-width: 1080px) {
  ul.piclist li#link div.link_wrap div.link_innerwrap.pdnT {
      padding-top: 16px
  }
}

ul.piclist li#link div.link_wrap div.link_innerwrap p.link_text {
  display: block;
  margin-bottom: 4px
}

@media only screen and (max-width: 1080px) {
  ul.piclist li#link div.link_wrap div.link_innerwrap p.link_text {
      margin-bottom: 0
  }
}

ul.piclist li#link div.link_wrap div.link_innerwrap p.link_text span {
  font-size: 1rem;
  letter-spacing: 0.1em;
  line-height: 2
}

ul.piclist li#link div.link_wrap div.link_innerwrap a {
  width: 90%;
  display: block;
  margin-left: auto;
  margin-right: auto;
  border: 1px solid #888;
  background-color: #2d2d2d;
  transition: background-color 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -webkit-transition: background-color 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -moz-transition: background-color 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -o-transition: background-color 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -ms-transition: background-color 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms
}

@media only screen and (min-width: 1080px) {
  ul.piclist li#link div.link_wrap div.link_innerwrap a:hover {
      background-color: #fff
  }

  ul.piclist li#link div.link_wrap div.link_innerwrap a:hover span {
      color: #2d2d2d
  }

  #concept #ccpt_cont .section_innerwrap {
      width: 816px;
  }
}

@media only screen and (max-width: 680px) {
  ul.piclist li#link div.link_wrap div.link_innerwrap a {
      width: 100%
  }
}

ul.piclist li#link div.link_wrap div.link_innerwrap a span {
  color: #ffffff;
  line-height: 46px;
  letter-spacing: 0.1em;
  transition: color 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -webkit-transition: color 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -moz-transition: color 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -o-transition: color 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -ms-transition: color 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms
}

@media only screen and (max-width: 680px) {
  ul.piclist li#link div.link_wrap div.link_innerwrap a span {
      line-height: 40px
  }
}

ul.piclist li a {
  display: block;
  overflow: hidden;
  position: relative
}

@media only screen and (min-width: 1080px) {
  ul.piclist li a:hover dl dt:before {
      opacity: 0.8
  }

  ul.piclist li a:hover dl dt:after {
      opacity: 1
  }
}

ul.piclist li a dl {
  position: relative;
  z-index: 0
}

ul.piclist li a dl dd {
  position: relative
}

ul.piclist li a dl dd span.plus {
  position: absolute;
  width: 7px;
  height: 7px;
  border: 1px solid #888;
  right: 0;
  top: 52%;
  margin-top: -4px;
  display: none
}

@media only screen and (max-width: 680px) {
  ul.piclist li a dl dd span.plus {
      display: block
  }
}

ul.piclist li a dl dd span.plus:before {
  content: "";
  width: 5px;
  height: 1px;
  top: 3px;
  position: absolute;
  background-color: #888;
  left: 1px
}

ul.piclist li a dl dd span.plus:after {
  content: "";
  width: 1px;
  height: 5px;
  top: 1px;
  position: absolute;
  background-color: #888;
  left: 3px
}

ul.piclist li a dl dt {
  overflow: hidden;
  position: relative
}

ul.piclist li a dl dt:before,
ul.piclist li a dl dt:after {
  transform: translate3d(0px, 0px, 0px);
  -webkit-transform: translate3d(0px, 0px, 0px);
  -moz-transform: translate3d(0px, 0px, 0px);
  -ms-transform: translate3d(0px, 0px, 0px);
  -o-transform: translate3d(0px, 0px, 0px);
  transition: opacity 400ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -webkit-transition: opacity 400ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -moz-transition: opacity 400ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -o-transition: opacity 400ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -ms-transition: opacity 400ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms
}

ul.piclist li a dl dt:before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0
}

ul.piclist li a dl dt:after {
  content: "View Detail";
  color: #ffffff;
  font-size: 1rem;
  letter-spacing: 0.1em;
  line-height: 36px;
  position: absolute;
  z-index: 2;
  width: 100%;
  display: block;
  text-align: center;
  margin-top: -18px;
  top: 50%;
  left: 0;
  opacity: 0
}

ul.piclist li a dl dt div.sa_pic {
  z-index: 0;
  position: relative
}

ul.piclist li dl dt img {
  /*    height: 100%;*/
  /*    width: auto;*/
  width: 100%;
}

@media only screen and (max-width: 680px) {
  ul.piclist li dl dt {
      margin-bottom: 6px
  }
}

ul.piclist li>dl>dd {
  text-align: center;
  padding: 15px 10px;
}

ul.piclist li>dl>dd p {
  margin-bottom: 0;
}

@media only screen and (max-width: 680px) {
  ul.piclist li dl dd:not(.txtC, .alignC) {
      text-align: left
  }
}

ul.piclist li dl dd span.plus {
  display: none
}

ul.piclist li dl dd span.wrap span.name {
  line-height: 24px
}

ul.piclist li dl dd span.wrap span.name span {
  display: inline-block;
  vertical-align: middle
}

ul.piclist li dl dd span.wrap span.name span.name_en {
  font-family: "Crimson Text", TimesNewRoman, "Times New Roman", Times, Georgia, serif;
  font-size: 1.2rem;
  letter-spacing: 0.06em;
  position: relative
}

ul.piclist li dl dd span.wrap span.name span.name_jp {
  font-family: "貂ｸ譏取悃", YuMincho, "繝偵Λ繧ｮ繝取�譛� ProN W3", "Hiragino Mincho ProN", "Sawarabi Mincho", serif;
  font-size: 0.9rem;
  letter-spacing: 0.1em;
  position: relative;
  padding-left: 16px;
  margin-left: 16px
}

@media only screen and (max-width: 680px) {
  ul.piclist li dl dd span.wrap span.name span.name_jp {
      padding-left: 10px;
      margin-left: 10px
  }
}

@media only screen and (max-width: 360px) {
  ul.piclist li dl dd span.wrap span.name span.name_jp {
      padding-left: 6px;
      margin-left: 6px
  }
}

ul.piclist li dl dd span.wrap span.name span.name_jp:after {
  content: "";
  width: 1px;
  height: 10px;
  position: absolute;
  display: block;
  top: 50%;
  margin-top: -5px;
  left: 0;
  background-color: #cccccc
}

@media screen and (min-width: 769px) {
  #wed_dtl .meal_box:not(.txt) {
      /*        display: flex;*/

      /*  	display:-ms-flexbox;*/
      margin: 0 auto 60px;
      float: none;
      max-width: 900px;
  }

  #wed_dtl .meal_box.txt {
      float: none;
      max-width: 676px;
      margin: 40px auto 100px;
  }

  #online.online-wed {
      width: 60px !important;
  }

  #online.online-wed .button-1,
  #online.online-wed .button-2 {
      width: 60px;
  }
}

@media screen and (max-width: 768px) {
  #wed_dtl div.cp_txt h2 {
      left: 40px;
  }

  #wed_dtl div.cp_txt {
      padding: 60px 30px 40px !important;
  }

  #wed_dtl div.cp_img {
      padding: 0 30px 40px !important;
  }

  #meal_dtl .meal_box,
  #wed_dtl .meal_box {
      padding: 0 20px;
  }

  #wed_dtl .thumblist {
      margin: 30px auto;
  }

  #footer-wed .row {
      padding-left: 15px;
      padding-right: 15px;
  }
}

/*====================================
wedding - event
======================================*/
.wedding-event h2,
.wedding-event h3,
.wedding-event h4,
.wedding-event p,
.wedding-event a.btn-style-01 {
  font-family: "Rounded Mplus 1c", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
}

.wedding-event h2 {
  font-size: 31px;
}

.wedding-event h3 {
  font-size: 22px;
}

.wedding-event h4 {
  font-size: 20px;
}

.wedding-event p {
  font-size: 18px;
}

.wedding-event a.btn-style-01 {
  font-size: 16px;
}

.ico-best {
  text-align: right;
}

ul.bnr-list-fes {
  display: flex;
  justify-content: space-between;
}

ul.bnr-list-fes li {
  widows: calc(100 / 3 - 20px);
  margin: 10px;
}

.box-fes-recommend {
  padding: 40px 30px 30px;
  background: #f5f5f5;
  text-align: center;
}

.event-schedule {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #eee;
  padding: 30px 0;
}

.event-schedule div:nth-child(1) {
  width: 10%;
}

.event-schedule div:nth-child(2) {
  width: 40%;
}

.event-schedule div:nth-child(3) {
  width: 40%;
}

@media screen and (max-width: 768px) {

  .wedding-event h2 {
      font-size: 18px;
  }

  .wedding-event h3,
  .wedding-event h4 {
      font-size: 15px;
  }

  .wedding-event p {
      font-size: 14px;
  }

  .wedding-event a.btn-style-01 {
      font-size: .85em;
  }

  .ico-best img {
      width: 25%;
      margin-bottom: 10px;
  }

  .box-fes-recommend {
      padding: 40px 20px 30px;
      text-align: left;
  }

  .event-schedule div:nth-child(1) {
      width: 20%;
  }

  .event-schedule div:nth-child(2) {
      width: 80%;
  }

  .event-schedule div:nth-child(3) {
      width: 100%;
  }


}

/* bestrate
------------------------------------------*/
/* top */
.page-template-page-wedding-bestrate .table-rwd {
  padding: 20px 30px;
  border-top: 1px solid #a2a2a2 !important;
  border-bottom: 1px solid #bf3971 !important;
}

@media screen and (min-width:768px) {
  .page-template-page-wedding-bestrate .table-rwd>div+div {
      padding-left: 30px;
  }
}

/* 繝舌リ繝ｼ */
.wedding_bnr {
  position: absolute;
  top: 120px;
  left: 30px;
  z-index: 10;
  display: flex;
  align-items: flex-start;
}

@media (max-width:768px) {
  .wedding_bnr {
      top: 60px;
      left: 0;
  }
}

.ranking-bnr02 {
  width: 110px;
}

.ranking-bnr03 {
  width: 118px;
}

@media (max-width:768px) {
  .ranking-bnr02 {
      width: 85px;
  }

  .ranking-bnr03 {
      width: 90px;
  }
}

.wedding_line {
  display: none;
}

@media (max-width:768px) {
  .wedding_line {
      position: fixed;
      display: inline-block;
      width: 90px;
      bottom: 120px;
      right: 0;
      z-index: 10;
      opacity: 0;
      transition: opacity 0.5s ease-in-out;
  }
}

.concept__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  width: 60%;
  margin-inline: auto;
}

.concept__btn a {
  margin: initial;
}

@media (max-width:768px) {
  .concept__btn {
      display: grid;
  }
}

.concept__img {
  display: block;
  width: 70%;
  margin-inline: auto;
}

/* 繝医ャ繝励�繝ｼ繧ｸ縲√せ繝ｩ繧､繝繝ｼ縺ｨ蜍慕判蛻�ｊ譖ｿ縺� */
@media (max-width:768px) {
  #movie {
      display: none;
  }
}

.owl-carousel.owl-theme.top-slider-sp {
  display: none;
}

@media (max-width:768px) {
  .owl-carousel.owl-theme.top-slider-sp {
      display: block;
  }

  .owl-carousel.owl-theme.top-slider-sp img {
      aspect-ratio: 3/4;
      width: 100%;
      height: 80vh;
      object-fit: cover;
      object-position: center;
  }

  .owl-carousel.owl-theme.top-slider-sp img.top-slider-sp-img-03 {
      object-position: 29% 100%;
  }

  .top-slider-sp::after {
      content: "";
      display: block;
      position: absolute;
      width: 120px;
      height: 120px;
      background-image: url("/wpweb/wp-content/themes/xeory_extension/common/img/wedding/swr_logo_white.png");
      background-repeat: no-repeat;
      background-size: contain;
      top: 44%;
      left: 50%;
      transform: translateX(-50%);
      z-index: 1;
  }
}