/*---------------------------------------------------
*
* VENUE
*
----------------------------------------------------*/
/*---------------------------------------------------
  共通
----------------------------------------------------*/
.c-venue-ttl{
  background: #534741;
  color: #fff;
  font-size: 19px;
  font-size: 1.9rem;
  font-weight: bold;
  padding: 8px 10px;
}
/*---------------------------------------------------
  貸会場
----------------------------------------------------*/
.venue{
  margin-bottom: 90px;
}
.venue__lead{
  margin-bottom: 20px;
  font-size: 27px;
  font-size: 2.7rem;
  font-weight: bold;
  line-height: 1.5;
}
.venue-head{
  margin-bottom: 30px;
  display: grid;
  grid-template-columns: 58.59375% auto;
  grid-template-rows: 1fr;
  grid-column-gap: 11.5234375%;
  grid-row-gap: 0px;
}
.venue-head__ttl{
  width: 100%;
}
.venue-head__main{
  display: flex;
  align-items: flex-end;
}
.venue-head__main-txt{
  font-size: 19px;
  font-size: 1.9rem;
  line-height: 1.7;
}
.venue-head__main-txt em{
  font-style: normal;
  font-weight: bold;
}


/* カフェ
--------------------------------------------------- */
.venue-cafe{
  margin-bottom: 30px;
  padding: 22px 22px 3px;
  background: #fff;
}
.venue-cafe__infoBox {
  display: grid;
  grid-template-columns: 1fr 42.8571428%;
  grid-template-rows: 1fr;
  grid-column-gap: 35px;
  grid-row-gap: 0px;
}
.venue-cafe__logo {
  font-size: 2.0rem;
  text-align: center;
  margin-bottom: 20px;
}
.venue-cafe__txt-c {
  line-height: 1.4;
  margin-top: 30px;
}
.venue-cafe__main {
  width: 100%;
  padding: 30px 0 0;
}
.venue-cafe__ttl{
  margin-bottom: 10px;
  font-size: 36px;
  font-size: 3.6rem;
}
.venue-cafe__ttl span{
  color: #c8bb9b;
  font-weight: normal;
  padding-left: 10px;
}
.venue-cafe__txt{
  margin-bottom: 40px;
  font-size: 20px;
  font-size: 2.0rem;
}
.venue-cafe__reserve {
  display: grid;
  grid-template-columns: 1fr 40%;
  grid-template-rows: 1fr;
  grid-column-gap: 25px;
  grid-row-gap: 0px;
  margin-bottom: 40px;
}
.venue-cafe__reserve-img {
}
.venue-cafe__reserve-txt {
  width: 361px;
}
.venue-cafe__reserve-list {
  margin-bottom: 20px;
}
.venue-cafe__reserve-list li{
  position: relative;
  padding-left: 1em;
  font-size: 18px;
  line-height: 1.5;
}
.venue-cafe__reserve-list li::before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}
.venue-cafe__reserve-btn img {
  width: 361px;
}
.venue-cafe__TxtBox {
  width: 360px;
  margin: 0 0 50px auto;
}
.venue-cafe__btn{
  margin: 5px 0 0 auto;
  max-width: 256px;
}
.venue-plan__btn{
  margin: 0 0 0 auto;
  max-width: 256px;
}
.bottom .btn{
  margin: 0 0 0 auto;
}
.venue-cafe__map {
  margin-bottom: 60px;
  padding: 70px 0;
  background: #fff;
  text-align: center;
}
.venue-cafe__mapbtn {
  width: 300px;
  display: block;
  margin: 50px auto 0;

}





/* 一覧
--------------------------------------------------- */
.venue-list{
  margin-bottom: 30px;
  padding: 22px;
  background: #fff;
}
.venue-list > .venue-list__item + .venue-list__item{
  margin-top: 25px;
  padding-top: 25px;
  border-top: 1px solid #c69c6d;
}
.venue-list__ttl{
  margin-bottom: 10px;
  font-size: 27px;
  font-size: 2.7rem;
}
.venue-list__ttl::before{
  content: "■";
}
.venue-list__txt{
  margin-bottom: 20px;
  font-size: 20px;
  font-size: 2.0rem;
}
.venue-list__info-wrap{
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em 1em;
  max-width: max-content;
  margin-inline: auto 0;
}
.venue-list__info{
  font-size: 19px;
  font-size: 1.9rem;
  text-align: right;
}

.venue-list__info-btn{
  display: flex;
  gap: 0 0.5em;
  padding: 0.5em 0.7em;
  border: 1px solid #544236;
  color: inherit;
  transition: .1s;
  font-size: 18px;
  font-size: 1.8rem;
}

.venue-list__info-btn::after{
  content: "";
  display: flex;
  align-self: center;
  clip-path: polygon(0 0, 86.6% 50%, 0 100%);
  height: 12px;
  aspect-ratio: 1;
  background-color: #544236;
  align-self: center;
  transition: background-color .1s;
}

@media (any-hover: hover) {
  .venue-list__info-btn:hover{
    background: #544236;
    color: #fff;
  }
  .venue-list__info-btn:hover::after{
    background-color: #fff;
  }
}

/* 大 */
.venue-list__item--l{
  display: grid;
  grid-template-columns: 1fr 42.8571428%;
  grid-template-rows: 1fr;
  grid-column-gap: 35px;
  grid-row-gap: 0px;
}
.venue-list__item--l .venue-list__main{
  grid-area: 1 / 1 / 2 / 2;
}
.venue-list__item--l .venue-list__img{
  grid-area: 1 / 2 / 2 / 3;
}

/* 小 */
.venue-list__item--s{
  display: grid;
  grid-template-columns: 30.6122448% 1fr;
  grid-template-rows: 1fr;
  grid-column-gap: 30px;
  grid-row-gap: 0px;
}

/* プラン
--------------------------------------------------- */
.venue-plan{
  padding: 0 0 45px;
  background: url(/common/img/pattern_line.jpg) center bottom repeat-x;
}
.venue-plan__ttl{
  margin: 0 0 25px;
}
.venue-plan__grid{
  margin-bottom: 20px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: 1fr;
  grid-gap: 24px;
}
.venue-plan__item{
  padding: 12px 20px 15px;
  background: #534741;
  color: #fff;
}
.venue-plan__lead{
  margin: 0 0 10px;
  font-size: 19px;
  font-size: 1.9rem;
}
.venue-plan__link{
  margin: 0 0 12px;
  padding: 15px 17px;
  display: flex;
  gap: 0 8px;
  border: 1px solid #fff;
  font-size: 27px;
  font-size: 2.7rem;
  color: #fff;
  transition: background .1s, color .1s;
  line-height: 1.3;
}
.venue-plan__link::after{
  content: "";
  display: inline-block;
  clip-path: polygon(0 0, 86.6% 50%, 0 100%);
  height: 25px;
  aspect-ratio: 1;
  background-color: #fff;
  align-self: center;
  transition: background-color .1s;
}
a.venue-plan__link:hover{
  background: #fff;
  color: #534741;
}
a.venue-plan__link:hover::after{
  background: #534741;
}
.venue-plan__txt{
  font-size: 20px;
  font-size: 2.0rem;
}
.venue-plan__btn{
  margin: 0 0 0 auto;
  max-width: 256px;
}

/*---------------------------------------------------
  メールフォーム
----------------------------------------------------*/
.formBox{
  padding: 50px 0;
  margin: 0 auto;
  max-width: 800px;
}
.formBox .boxTtl{
  padding: 0 0 30px;
  font-size: 32px;
  letter-spacing: 0.1em;
  text-align: center;
}
.formBox .noteList {
  margin: 0 0 30px;
  padding: 15px 25px;
  line-height: 1.8;
  background: #ebe7de;
  border: 1px solid #b3ad9e;
}
.formBox .noteList .tel{
  margin: 10px 0 0;
  font-weight: bold;
}
.formBox .noteList .tel .call{
  font-size: 20px;
  color: #dc6868;
  cursor: default;
}

.formBox .confirm{
  margin: 0 auto 15px;
  text-align: center;
}

.formBox .confirm .red{
  color: #d64141;
}

.formBox .confirm a{
  color: inherit;
  font-weight: bold;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* mailformpro
--------------------------------------------------- */
#mailformpro{

}
#mailformpro table{
  margin: 0 0 50px;
  width: 100%;
  table-layout: fixed;
}
#mailformpro th,
#mailformpro td{
  padding: 15px 15px;
  border: 1px solid #b3ad9e;
}
#mailformpro td textarea{
  width: 100%;
}
#mailformpro td .note{
  margin: 0.5em 0 0;
  font-size: 13px;
}
#mailformpro td .dateSection{
  display: flex;
  flex-direction: column;
  gap: 15px 0;
  margin: 0 -15px;
}
#mailformpro td .dateSectionItem{
  padding: 0 15px;
}
#mailformpro td .dateSectionItem + .dateSectionItem{
  padding-top: 15px;
  border-top: 1px solid #b3ad9e;
}
#mailformpro th{
  width: 220px;
  padding-right: 20px;
  text-align: left;
  background: #ebe7de;
}
#mailformpro th .note{
  margin: 0.5em 0;
  font-size: 13px;
  font-weight: normal;
}
#mailformpro .size-small{
  width: 150px;
}
#mailformpro .size-medium{
  width: 250px;
}
#mailformpro .size-large{
  width: 100%;
}
#mailformpro .space-s{
  margin-bottom: 0.5em;
}
.mfp_element_all{
  max-width: 100%;
}
.mfp_element_text:disabled{
  opacity: 0.4;
}
.mfp_element_text, .mfp_element_number, .mfp_element_select-one, .mfp_element_email, .mfp_element_tel, .mfp_element_textarea, .mfp_element_date, .mfp_element_password{
  font-size: 14px;
  padding: 6px 10px;
  color:#544236;
  background: #fff;
  border: solid 1px #b3ad9e;
  box-shadow: none;
}
.problem {
  background-color: #ffe0e0;
  border: 1px solid #fdc5c5;
}
.must{
  padding: 5px 8px;
  display: inline-block;
  float: none;
  border: none;
  background-image: none;
  background: #dc6868;
  text-shadow: none;
  line-height: 1;
}
div.mfp_err{
  color: #e04f4f;
  font-size: 13px;
}
.mfp_element_submit, .mfp_element_reset, .mfp_element_button, button.mfp_next, button.mfp_prev{
  padding: 5px 40px 5px 30px;
  background: url(../../common/img/btn_line.jpg) 12px center repeat-y #A38B6F;
  color: #fff;
  text-shadow: none;
  border-radius: 0;
  border:none;
  /* font-size: 18px; */
}
.mfp_element_submit:hover, .mfp_element_reset:hover, .mfp_element_button:hover, button.mfp_next:hover, button.mfp_prev:hover{
  background: url(../../common/img/btn_line.jpg) 12px center repeat-y #544236;
  box-shadow: none;
}
form#mailformpro label{
  margin: 0;
}
form#mailformpro label.mfp_not_checked{
  padding: 0;
  border: none;
  font-weight: bold;
}
form#mailformpro label.mfp_checked{
  padding: 0;
  border: none;
  box-shadow:none;
  background: transparent;
  font-weight: bold;
}

/* ラベルリスト */
form#mailformpro .labelList{
  display: flex;
  gap: 1em 1.5em;
  flex-wrap: wrap;
  align-items: center;
}
form#mailformpro .labelListItem{
  gap: 0.5em;
  display: flex;
  align-items: center;
}
form#mailformpro .txtInput{
  display: flex;
  align-items: center;
  gap: 0.5em;
}

/* テキスト+入力 */
form#mailformpro .txtInputIn{
  white-space:nowrap;
}

/* confirm */
div#mfp_phase_confirm div#mfp_phase_confirm_inner{
  margin: 0 auto;
  max-width: 800px;
}
div#mfp_phase_confirm h4{
  margin: 0 0 20px;
  padding: 10px;
  background: #544236;
  font-size: 20px;
  font-weight: normal;
  color: #fff;
}
table#mfp_confirm_table{
  margin: 0 0 50px;
}
table#mfp_confirm_table tr th,
table#mfp_confirm_table tr td{
  padding: 15px 15px;
  border: 1px solid #ccc6b8;
  font-size: 14px;
}
table#mfp_confirm_table tr th{
  width: 220px;
  padding-right: 20px;
  text-align: left;
  background: #ebe7de;
}
table#mfp_confirm_table tr.mfp_achroma,
table#mfp_confirm_table tr.mfp_colored{
  background: none;
}

/* button */
.btnWrap {
  text-align: center;
}
div.mfp_buttons{
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  justify-content: center;
}
.btnWrap button,
div.mfp_buttons button{
  font-size: 18px;
  width: 200px;
  transition: 0.1s;
  position: relative;
}
.btnWrap button:after,
div.mfp_buttons button:after{
  content: "";
  display: inline-block;
  background: url(../../common/img/btn_arrow.png);
  width: 26px;
  height: 26px;
  position: absolute;
  bottom: 0;
  top: 0;
  right: 10px;
  margin: auto;
}

div#mfp_warning{
  line-height: 1.8;
  text-align: center;
}
/*---------------------------------------------------
*
* 送信完了
*
----------------------------------------------------*/
.thanksBox{
  padding: 100px 0;
}
.thanksBox .boxTtl{
  padding: 0 0 30px;
  font-size: 32px;
  letter-spacing: 0.1em;
  text-align: center;
}
.thanksBox p{
  text-align: center;
}
.thanksBox .btnWrap{
  margin: 50px 0 0;
}
.thanksBox .btnWrap a{
  padding: 10px 60px 10px 30px;
  display: inline-block;
}