@charset "utf-8";
/* ======================

  reserve

====================== */

img{width: 100%;}
/* figure{position: relative;} */


.content_Wrap {

}

section.reserve-box {
	max-width:1000px;
	width: 94%;
	 margin: 100px auto 100px; 
/*	margin: 50px auto 100px;*/
}

#content_Wrap h3 {
    text-align: center;
    font-weight: bold;
    font-size: 20px;
    margin: 20px auto 40px;
    letter-spacing: 2px;
    line-height: 1.4;
}
.main_ttl {
padding: 3em 0;
background: linear-gradient(to right,  #273f62 0%,#5b78a6 50%,#273f62 100%);
}
#content_Wrap .main_ttl h3 {
  color: #fff;
  font-size: clamp(20px,1.857142857142857vw,26px);
  letter-spacing: 0.14em;
  margin: 0;
  font-weight: normal;
  line-height:inherit;
}

/*--------------------------
	form
--------------------------*/
section.reserve-box .topTxt,
#mfp_confirm_table {
	font-size: 80%;
	line-height: 1.6;
}
section.reserve-box .text_sumai {
	font-size:90%;
	font-weight:bold;
	color:#FF0004;
	margin:0 0 20px;
}
section.reserve-box h4 {
    text-align: left;
    font-size: 17px;
    line-height: 1.7;
    margin: 0px auto 20px;
    text-align: center;
    /* font-weight: bold; */
}
section.reserve-box p.hissu {
    text-align: left;
    font-size: 12px;
    line-height: 1.7;
    margin: 0px auto 10px;
    text-align: left;
    font-weight: normal;
}
section.reserve-box p span {
    color: #B30000;
}
section.reserve-box p.att-privacy {
    text-align: center;
    font-size: 13px;
    line-height: 1.8;
    margin: 0 auto 40px;
    padding: 20px 10px;
    border: 1px solid #D2D2D2;
}
section.reserve-box p.att-privacy a {
		color: #666;
		text-decoration: underline;
}
section.reserve-box .req_txt {
    text-align: center;
    font-size: 13px;
    line-height: 1.8;
    margin: 0 auto 40px;
    padding: 20px 10px;
    border: 1px solid #B30000;
}
section.reserve-box .req_txt p { color: #B30000;}
section.reserve-box .req_txt p:first-of-type { margin: 0 0 10px;}

/*休暇のお知らせ*/
.holiday_top {
    max-width: 1000px;
    width: 94%;
    margin: 100px auto 0;
    align-items: center;
    box-sizing: border-box;
    background: #af1c3b;
    font-size: 16px;
}
.holiday_top dt {
    color: #FFF;
    text-align: center;
    padding: 10px;
    line-height: 1.5;
    width: 30%;
    margin: 0 auto;
}
.holiday_top dd {
    border: 2px solid #af1c3b;
    background: #FFF;
    color: #000;
    width: 70%;
    padding: 20px 16px;
    font-feature-settings: "palt";
    line-height: 1.5;
    font-size: 15px;
    letter-spacing: 0.08em;
}
.holiday_top dd span{
    color: #af1c3b;
    font-feature-settings: "palt";
    line-height: 1.5;
    font-size: 13px;
    letter-spacing: 0.04em;
}


/*-----------------------------------------
     フォーム装飾
-----------------------------------------*/
section.reserve-box .mailform {
	width: 100%;
	font-size: 14px;
    line-height: 2;
	margin-bottom: 40px;
}
section.reserve-box .mailform td a {
	text-decoration: underline;
}
section.reserve-box .mailform th {
    border-bottom: 1px solid #FFFFFF;
    line-height: 1.5;
}
section.reserve-box .mailform th span {
	color: #B30000;
	line-height: 1.5;
}
section.reserve-box .mailform td h4 {
    width:98%;
    padding: 5px 0 5px 10px;
    margin: 7px 0 0;
    font-weight: bold;
    background: #EFEFEF;
}
section.reserve-box .mailform td p.hissu {
    width:98%;
    padding: 5px 0 5px 10px;
    margin: 7px 0 0;
    font-weight: bold;
    background: #EFEFEF;
}
input[type="number"] { text-align: left !important;}


.policy {
    font-size: 0.7rem;
    letter-spacing: 0.03rem;
    line-height: 1.5;
    margin: 0 auto 50px;
}
footer .copyright {
    font-size: 11px;
    text-align: center;
    padding: 10px;
    color: #a0a0a0;
}

/*カレンダー*/
/* .ui-datepicker {
  margin-top: -100px;
  z-index: 1000;
} */
.ui-datepicker .ui-datepicker-title,
.ui-datepicker .ui-datepicker-title span { color: #FFF;}
.ui-widget-header {
    border: 1px solid #333;
    background: #333;
}
.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default {
    color: #928243;
}
.ui-state-disabled,
.ui-widget-content .ui-state-disabled,
.ui-widget-header .ui-state-disabled {
    opacity: .1;
    filter: Alpha(Opacity=15);
}

/*-----------------------------------------
     thanksページ
-----------------------------------------*/
.thanks {
    text-align: center;
}


/*-----------------------------------------
     for PC (769px以上)
-----------------------------------------*/
@media screen and (min-width: 769px) {
    .pc {
        display: block;
    }
    .sp {
        display:none;
    }

    header {
        /* padding: 13.5px 0; */
    }
    header h1 {
        margin: 0 0 0 3%;
    }


section.reserve-box .mailform .pc { display: block;}
section.reserve-box .mailform .sp { display: none;}

#contentsLower {
	max-width: 840px;
	width: 100%;
	margin: 50px auto 0;
	padding: 2%;
	background-color: #FFF;
}
.pageInner {
	width: 100%;
	text-align: left;
}
section.reserve-box .mailform .form_box input,
section.reserve-box .mailform .form_box select {
	margin-bottom: 5px;
    border-radius: 3px;
}
section.reserve-box .mailform .form_box input {
    font-size: 16px;
    padding: 4px 0 4px 5px;
    border: 1px solid #C4C4C4;
}
section.reserve-box .mailform .form_box select {
    font-size: 14px;
}
section.reserve-box .mailform .form_box span {
	display:inline-block;
}
section.reserve-box .mailform th,
#mfp_confirm_table th {
	width: 28%;
	padding-left: 2%;
	vertical-align: middle;
	border-bottom: solid 1px #084f5f;
}
section.reserve-box .mailform td.form_box,
#mfp_confirm_table td {
	width: 66%;
	padding: 20px 0 15px 4%;
	border-bottom: dotted 1px #CCC;
	vertical-align: middle;
}
section.reserve-box .mailform td .formTtl { margin-top: 6px;}
section.reserve-box .mailform td .floatL { margin-right: 15px;}



div.mfp_buttons,
div.mfp_buttons2 {
	width:280px;
	height:60px;
	margin:0 auto;
	padding: 0px;
	text-align: center;
}
div.mfp_buttons button,
div.mfp_buttons2 button {
	width:280px;
	height:60px;
	display:block;
	border: none;
	border-style: none;
	cursor: pointer;
	font-size:0;
	text-indent:-9999px;
}
div.mfp_buttons {
    width:80%;
    display: flex;
    justify-content: space-evenly;
    margin: 30px auto;
    }

div.mfp_buttons button#mfp_button_confirm {
    width:280px;
    margin: 0 auto;
    color: #FFF;
	background: url(../img/btn_confirm.png) 0 0;
}
div.mfp_buttons button#mfp_button_confirm:hover {
	background-position:0 -60px;
}

div.mfp_buttons button#mfp_button_send {
    width:280px;
	background:url(../img/mfp_send.png) 0 0;
}
div.mfp_buttons button#mfp_button_send:hover {
	background-position:0 -60px;
}
div.mfp_buttons button#mfp_button_cancel {
	margin-bottom: 10px;
    width:280px;
	background:url(../img/mfp_cancel.gif) 0 0;
}
div.mfp_buttons button#mfp_button_cancel:hover {
	background-position:0 -60px;
}

.txtconfirm { text-align: center;}

#mfp_confirm_table {
	width: 730px;
	margin: 0 auto 50px;
}
section.reserve-box .mailform td textarea {
    width:85% !important;
    font-size: 15px;
}



}


/*-----------------------------
tab・sp
-----------------------------*/
@media only screen and (max-width: 769px) {

	#content_Wrap{ padding-top: 85px;}

	#reserve .main_area {
	    height: 100px;
	    margin: 0 auto 30px;
	}
	#reserve .main_area h2 { font-size: 20px; }

h3 { font-size: 15px;}

section.reserve-box { margin: 0 auto 50px;}
    /*休暇のお知らせ*/
    .holiday_top {
        flex-direction: column;
        margin: 30px auto 20px;
				width:94%;
    }
    .holiday_top dt {
        width: 100%;
        font-size: 14px;
        padding: 5px;
    }
    .holiday_top dd {
        width: 100%;
        font-size: 13px;
        padding: 5px 10px;
        border-top: none;
        text-align: justify;
    }
    .holiday_top dd span{
        font-size: 11px;
        line-height: 1.2;
        letter-spacing: 0.04em;
    }
}



/*=========================================================================================================
sp
=========================================================================================================*/
@media screen and (min-width: 0px) and (max-width: 768px) {

  .pc {
          display: none;
      }
      .sp {
          display: block;
      }

      .lowerConBoxInner {
          width:90%;
          margin: 0 auto;
      }
      #mailformpro {
      margin: 0px auto 0;
  }
  section.reserve-box {
  margin-top: 0;
  margin-bottom: 50px;
  }
  section.reserve-box .mailform .pc { display: none;}
  section.reserve-box .mailform .sp { display: block;}

  header{
      padding: 15px 0 5px;
      text-align: center;
  }
  /*
  header h1{
      margin: 0 auto;
  }
  */
  header img {
      margin: 0 auto;
      text-align: center;
  }
  #contentsLower {
  	width: 100%;
  	background-color: #FFF;
  }
  section.reserve-box {
  margin-top: 0;
  	margin-bottom: 50px;
  }
  section.reserve-box h3 {
      font-size: 18px;
  }
  .pageInner {
  	width: 96%;
  	font-size: 16px;
  	margin: 20px auto 0px;
  	padding: 5% 0;
  }
  section.reserve-box .mailform,
  #mfp_confirm_table {
  	font-size: 15px;
  	width: 100%;
  	text-align:left;
      margin: 0 auto 20px;
  }
  section.reserve-box .mailform .form_box input,
  section.reserve-box .mailform .form_box select {
  	height: 34px;
  	margin-bottom: 5px;
      font-size: 16px;
      border: 1px solid #C4C4C4;
      border-radius: 5px;
  }
  section.reserve-box .mailform .form_box input.w45p {
  	width:45%;
  }

  section.reserve-box .mailform th.form_th,
  #mfp_confirm_table th {
  	display: block;
  	width: 98%;
  	margin-bottom: 0px;
  	padding: 8px 0 8px 2%;
  	/* font-weight: bold; */
  	background-color: #E4E4E4;
  	border-radius: 2px;
  	-webkit-border-radius: 2px;
  	-moz-border-radius: 2px;
  }
  section.reserve-box .mailform td.form_box,
  #mfp_confirm_table td {
  	display: block;
  	border: none;
  	padding: 13px 5px;
  	vertical-align: top;
  	line-height: 1.5;
  	width: 100%;
  }
  section.reserve-box .mailform .name_box .floatL {
  	display: block;
  	margin-bottom: 10px;
  }
  section.reserve-box .mailform td .formTtl { margin-top: 6px;}
  section.reserve-box .mailform .q_list .floatL {
  	display: block;
  	width: 80%;
  	margin: 0 10%;
  }

  div.mfp_buttons,
  div.mfp_buttons2 {
  	width:280px;
  	/* height:60px; */
  	margin:0 auto;
  	padding: 0px;
  	text-align: center;
  }
  div.mfp_buttons button,
  div.mfp_buttons2 button {
  	width:280px;
  	height:60px;
  	display:block;
  	border: none;
  	border-style: none;
  	cursor: pointer;
  	font-size:0;
  	text-indent:-9999px;
  }
  div.mfp_buttons {
      width:80%;
      display: block;
      margin: 0px auto 50px;
      }

  div.mfp_buttons button#mfp_button_confirm {
      width:280px;
      margin: 0 auto;
  	background: url(../img/btn_confirm.png) 0 0;
  }
  div.mfp_buttons button#mfp_button_confirm:hover {
  	background-position:0 -60px;
  }

  div.mfp_buttons button#mfp_button_send {
      width:280px;
  	background:url(../img/mfp_send.png) 0 0;
  }
  div.mfp_buttons button#mfp_button_send:hover {
  	background-position:0 -60px;
  }
  div.mfp_buttons button#mfp_button_cancel {
  	margin-bottom: 10px;
      width:280px;
  	background:url(../img/mfp_cancel.png) 0 0;
  }
  div.mfp_buttons button#mfp_button_cancel:hover {
  	background-position:0 -60px;
  }


  .form_box.checkBox { text-align: left;}
  .form_box.checkBox.line1 label,
  .form_box.checkBox span{ display:inline-block;}

  section.reserve-box .mailform td textarea {
      width:94% !important;
      font-size: 16px;
      border: 1px solid #C4C4C4;
  }
  div.mfp_err {
      font-size: 12px !important;
      padding: 0px 0px 5px 17px !important;
      margin: 0 !important;
  }


  section.reserve-box .req_txt {
      text-align: left;
      max-width: 96%;
      box-sizing: border-box;
  }

  /*カレンダー*/
  #ui-datepicker-div { width: 94% !important;}
  .ui-datepicker td span, .ui-datepicker td a { padding: .4em;}

}


/*TAB送信確認画面　mailformpro.css上書き*/
@media screen and (max-width: 800px) and ( min-width: 640px){
    table#mfp_confirm_table tr th { width: auto !important;}
}
