@charset "UTF-8";
/* 赤　＝　#e50012　rgb(229,0,18) */
/* 背景　＝　#fbfaf8 */
/* ベージュ　＝　#fbe6d4　rgb(251,230,212) */
/* 黒　＝　#4d4545 */
div#mfp_overlay_background, div#mfp_loading_screen, div#mfp_loading, div#mfp_overlay, #mfp_hidden { display: none; }

/*===================================================================
　↓　#form
===================================================================*/
#form, #thanks { max-width: 900px !important; }

#form span.red { color: #e50012; }

#form span.red i { padding-right: 3px; }

#form form span.red i { padding-right: 0; padding-left: 3px; }

/*----------------------------------------------
　　#note
----------------------------------------------*/
#form #note { margin-bottom: 50px; }

#form #note ul { margin-left: 20px; }

#form #note ul li { list-style-type: disc; line-height: 1.8em; margin-bottom: 10px; }

#form #note ul li:last-child { margin-bottom: 0; }

@media screen and (max-width: 640px) { #form #note { margin-bottom: 30px; } }
/*----------------------------------------------
　　form
----------------------------------------------*/
#form table { width: 100%; }

#form table tr { display: table; width: 100%; margin-bottom: 10px; }

#form table th { width: 180px; text-align: left; box-sizing: border-box; border-right: 3px solid #fbfaf8; vertical-align: middle; background-color: rgba(229, 0, 18, 0.1); border-top-left-radius: 5px; border-bottom-left-radius: 5px; }

#form table th p { position: relative; z-index: 2; padding-left: 15px; box-sizing: border-box; }

#form table td { vertical-align: middle; }

#form table td input.normal { width: 100%; margin: 0 auto .5rem; padding: 20px 15px; box-sizing: border-box; font-size: 1.4rem; background-color: #fff; color: #4d4545; border: none; border-top-right-radius: 5px; border-bottom-right-radius: 5px; font-family: YakuHanJP, 'Lato', 'Noto Sans JP', sans-serif !important; }

#form table td input.normal.middle { width: 250px; margin-right: 2px; }

#form table td input.normal.small { width: 125px; margin-right: 2px; }

#form table td input.normal.min { width: 50px; margin-right: 2px; }

#form table td select { border: none; background-color: #fff; width: 250px; box-sizing: border-box; color: #4d4545; padding: 20px 0 20px 20px; margin-right: 2px; appearance: none; font-size: 1em; font-family: YakuHanJP, 'Lato', 'Noto Sans JP', sans-serif !important; /*for firefox*/ -moz-appearance: none; text-indent: 0.01px; text-overflow: ""; background-image: url(../img/base/select-down.png); background-repeat: no-repeat; background-size: 10px 6px; background-position: center right 15px; /*for Chrome*/ border-radius: 0px; -webkit-appearance: none; border-top-right-radius: 5px; border-bottom-right-radius: 5px; }

#form table td ul { padding: 20px; box-sizing: border-box; }

#form table td ul li { float: left; margin-right: 10px; }

#form table td ul li input { margin-right: 5px; }

#form table td textarea { width: 100% !important; height: 200px !important; border: none; box-sizing: border-box; appearance: none; padding: 15px; font-size: 1em; line-height: 1.6em; color: #4d4545; font-family: YakuHanJP, 'Lato', 'Noto Sans JP', sans-serif !important; border-top-right-radius: 5px; border-bottom-right-radius: 5px; }

#form table td textarea.sml { height: 100px !important; }

/*エラー表示*/
.mfp_err { color: #e50012; font-size: 1.2rem; line-height: 2em; }

/*送信確認tr*/
#form table tr:last-child td { padding: 15px 0 15px 20px; box-sizing: border-box; font-size: 1.2rem; }

@media screen and (max-width: 768px) { #form table td select { width: 200px; } }
@media screen and (max-width: 640px) { #form table tr, #form table th, #form table td { display: block; width: 100%; }
  #form table tr { margin-bottom: 15px; }
  #form table th { padding: 10px 0; border-right: none; border-top-left-radius: 5px; border-top-right-radius: 5px; border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
  #form table td input.normal, #form table td select, #form table td textarea { border-top-left-radius: 0; border-bottom-left-radius: 5px; border-top-right-radius: 0; border-bottom-right-radius: 5px; font-size: 1.6rem; padding: 12px 15px; width: 100%; }
  #form table td input.normal.middle { width: 50%; }
  #form table td input.normal.small { width: 25%; }
  #form table td input.normal.min { width: 15%; }
  #form table td select:first-child { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
  #form table tr:last-child td { padding: 10px 0 10px 0; }
  #form table td ul { padding: 15px; } }
/* #privac
-------------------------------------*/
#form #privacy p.h-title { background-color: rgba(229, 0, 18, 0.2); padding: 20px 0; text-align: center; border-top-right-radius: 5px; border-top-left-radius: 5px; }

#form #privacy .privacy-inn { background-color: #fff; box-sizing: border-box; padding: 25px; line-height: 1.8em; border-bottom-right-radius: 5px; border-bottom-left-radius: 5px; }

@media screen and (max-width: 640px) { #form #privacy p.h-title { padding: 15px 0; }
  #form #privacy .privacy-inn { padding: 15px; }
  #form #privacy .privacy-inn p { font-size: 1.2rem; } }
/*===================================================================
　↓　ボタン関係
===================================================================*/
#confirmation { text-align: center; margin-top: 30px; }

button { display: inline-block; max-width: 220px; width: 100%; line-height: 50px; height: 50px; font-size: 1.4rem; text-align: center; color: #fff; background-color: #e50012; /*赤*/ border: 1px solid #e50012; /*赤*/ border-radius: 5px; box-sizing: border-box; -webkit-transition: 0.4s; -moz-transition: 0.4s; -ms-transition: 0.4s; transition: 0.4s; background-image: url(../img/yajirushi-w.png); background-repeat: no-repeat; background-size: 17px 10px; background-position: center right 10px; margin: auto 5px; }

button:hover { background-position: center right 0; background-color: #faccd0; color: #e50012; /*赤*/ border: 1px solid #faccd0; background-image: url(../img/yajirushi-r.png); }

/* リセットボタン特別仕様 */
button:last-of-type { background-color: #fbfaf8; border: 1px solid #e50012; /*赤*/ color: #e50012; /*赤*/ background-image: none; }

button:last-of-type:hover { background-image: none; background-color: #faccd0; border: 1px solid #faccd0; /*赤*/ }

@media screen and (max-width: 640px) { #confirmation { margin-top: 20px; }
  button { margin-bottom: 10px; width: 150px; } }
/*===================================================================
　↓　確認画面（#mfp_phase_confirm_inner）
===================================================================*/
#mfp_phase_confirm_inner h4 { text-align: center; font-size: 1.7rem; font-weight: 500; color: #e50012; /*赤*/ margin-bottom: 30px; }

#mfp_phase_confirm_inner table th { padding-left: 20px; width: 200px; }

#mfp_phase_confirm_inner table td { padding: 20px; box-sizing: border-box; background-color: #fff; }

#mfp_phase_confirm_inner table tr:last-child td { padding: 20px; box-sizing: border-box; font-size: 1.4rem; }

#mfp_phase_confirm_inner div.mfp_buttons { text-align: center; margin-top: 30px; }

@media screen and (max-width: 640px) { #mfp_phase_confirm_inner table th { padding: 15px; width: 100%; }
  #mfp_phase_confirm_inner table td { border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; } }
/*===================================================================
　↓　#thanks
===================================================================*/
#thanks p { line-height: 2.2em; vertical-align: middle; }

#thanks p:first-of-type { font-size: 1.8rem; color: #e50012; margin-bottom: 20px; text-align: center; font-weight: 500; line-height: 1.8em; }

#thanks .call img { height: 20px; padding: 0 0.3em; vertical-align: middle; }

#thanks ul { margin: 20px 0; padding: 30px 30px 30px 50px; box-sizing: border-box; background-color: rgba(229, 0, 18, 0.1); border-radius: 10px; }

#thanks ul li { list-style-type: disc; margin-bottom: 10px; }

#thanks ul li:last-child { margin-bottom: 0; }

/* TOPボタン特別仕様 */
#btn-wrap { text-align: center; margin-top: 40px; }

@media screen and (max-width: 640px) { #thanks p:first-of-type { font-size: 1.6rem; margin-bottom: 10px; }
  #thanks ul { padding: 15px 15px 15px 35px; border-radius: 5px; } }
.reservationDate-txt { padding: 20px; text-align: center; border: 1px solid #e50012; border-radius: 5px; }

@media screen and (max-width: 640px) { .reservationDate-txt { padding: 15px; } }
.width7em { display: inline-block; width: 7em; }

#info ul li a { display: inline-block; line-height: 40px; padding: 0 30px; border-radius: 30px; background-color: #fce5e7; font-size: 1.4rem; font-weight: 700; color: #e50012; letter-spacing: 0.05em; margin-top: 5px; }
