@charset "UTF-8";
#reserve div.lead {
  padding: 3em 0; }
  #reserve div.lead p {
    width: 90%;
    max-width: 848px;
    letter-spacing: .04em;
    font-size: 16px;
    line-height: 35px !important;
    margin: 0 auto; }
#reserve h2 {
  padding-top: 0; }
#reserve div.reserve_list {
  max-width: 980px;
  width: 100%;
  margin: 0 auto;
  padding: 0; }
  #reserve div.reserve_list ul {
    margin: 0;
    padding: 0;
    font-size: 0;
    letter-spacing: .4em; }
    #reserve div.reserve_list ul li {
      box-sizing: border-box;
      width: 300px;
      height: 337px;
      border: 1px solid #ddd;
      overflow-x: hidden;
      display: inline-block;
      font-size: 16px;
      margin: 0;
      padding: 0;
      margin: 0 40px 40px 0; }
      #reserve div.reserve_list ul li:nth-of-type(3n) {
        margin-right: 0; }
      #reserve div.reserve_list ul li .reserve_list_img {
        width: 100%;
        height: 174px;
        background: url("../img/pc_bg.png") center center/220px 210px no-repeat #f4f1ed; }
        #reserve div.reserve_list ul li .reserve_list_img img {
          object-fit: cover;
          width: 100%;
          height: 100%; }
        #reserve div.reserve_list ul li .reserve_list_img p {
          padding: 100px 2em 0;
          margin: 0;
          text-align: center;
          font-size: 12px;
          font-weight: 500;
          opacity: .5; }
      #reserve div.reserve_list ul li .reserve_list_info {
        padding: 1em;
        height: calc(100% - 174px - 2em); }
        #reserve div.reserve_list ul li .reserve_list_info h4 {
          padding: 0 0 16px;
          margin: 0;
          font-size: 16px;
          line-height: 24px;
          letter-spacing: 0; }
        #reserve div.reserve_list ul li .reserve_list_info p {
          padding: 0;
          margin: 0;
          font-size: 15px;
          line-height: 22px;
          letter-spacing: 0; }
      #reserve div.reserve_list ul li label {
        cursor: pointer; }
        #reserve div.reserve_list ul li label:hover {
          opacity: .8; }
#reserve input.reinfo {
  display: none; }
#reserve .reserve_details_wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  visibility: hidden;
  opacity: 0;
  transition: all .3s;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 20000;
  background-color: rgba(0, 0, 0, 0.7); }
  #reserve .reserve_details_wrap .black {
    position: relative;
    width: 100vw;
    height: 100vh;
    z-index: 1030; }
  #reserve .reserve_details_wrap .close {
    position: absolute; }
  #reserve .reserve_details_wrap .reserve_details_box {
    position: absolute;
    background-color: #fff;
    z-index: 2000;
    margin: auto;
    padding: 48px;
    width: calc(90% - 96px);
    max-width: calc(980px - 96px);
    font-size: 0;
    letter-spacing: -.4em; }
    #reserve .reserve_details_wrap .reserve_details_box .reserve_left_box, #reserve .reserve_details_wrap .reserve_details_box .reserve_right_box {
      width: 50%;
      display: inline-block;
      padding: 0;
      vertical-align: top; }
    #reserve .reserve_details_wrap .reserve_details_box .reserve_left_box .reserve_img {
      width: 386px;
      max-width: 90%;
      height: 386px;
      max-height: 30vw;
      background: url("../img/pc_bg.png") center center/220px 210px no-repeat #f4f1ed; }
      #reserve .reserve_details_wrap .reserve_details_box .reserve_left_box .reserve_img img {
        object-fit: cover;
        width: 100%;
        height: 100%; }
    #reserve .reserve_details_wrap .reserve_details_box .reserve_right_box {
      padding: 0;
      margin: 0; }
      #reserve .reserve_details_wrap .reserve_details_box .reserve_right_box .close {
        position: absolute;
        top: 0;
        right: 0;
        background: #EB5C02;
        width: 48px;
        height: 48px;
        color: #fff;
        font-size: 22px;
        line-height: 48px;
        text-align: center; }
      #reserve .reserve_details_wrap .reserve_details_box .reserve_right_box h4 {
        padding: 0;
        margin: 0;
        font-size: 22px;
        line-height: 31px;
        letter-spacing: 0;
        padding-left: .9em;
        margin-bottom: 20px;
        position: relative; }
        #reserve .reserve_details_wrap .reserve_details_box .reserve_right_box h4::before {
          content: "";
          position: absolute;
          top: 6px;
          left: 0;
          height: 22px;
          border-left: 6px solid #EB5C02; }
      #reserve .reserve_details_wrap .reserve_details_box .reserve_right_box p {
        padding: 0;
        margin: 0;
        font-size: 16px;
        line-height: 30px; }
        #reserve .reserve_details_wrap .reserve_details_box .reserve_right_box p.reserve_price {
          line-height: 57px;
          font-size: 16px;
          font-weight: 700;
          display: inline-block;
          padding: 0 1em;
          margin-bottom: 1em;
          background: #F4F1ED; }
          #reserve .reserve_details_wrap .reserve_details_box .reserve_right_box p.reserve_price span {
            font-size: 20px; }
        #reserve .reserve_details_wrap .reserve_details_box .reserve_right_box p.reserve_detail_title {
          font-size: 14px;
          line-height: 22px;
          display: block;
          border-bottom: 1px solid #ddd;
          padding-bottom: .3em;
          margin-bottom: .3em; }
        #reserve .reserve_details_wrap .reserve_details_box .reserve_right_box p.reserve_detail {
          padding-bottom: 1em; }
      #reserve .reserve_details_wrap .reserve_details_box .reserve_right_box dl {
        clear: left; }
      #reserve .reserve_details_wrap .reserve_details_box .reserve_right_box dt {
        float: left; }
      #reserve .reserve_details_wrap .reserve_details_box .reserve_right_box dt, #reserve .reserve_details_wrap .reserve_details_box .reserve_right_box dd, #reserve .reserve_details_wrap .reserve_details_box .reserve_right_box .reserve_cooking {
        font-size: 15px;
        line-height: 28px; }
#reserve .reinfo:checked ~ .reserve_details_wrap {
  visibility: visible;
  opacity: 1; }

@media screen and (max-width: 1090px) and (min-width: 481px) {
  #reserve div.reserve_list {
    max-width: 700px;
    width: 100%;
    margin: 0 auto;
    padding: 0; }
    #reserve div.reserve_list ul {
      margin: 0;
      padding: 0;
      font-size: 0;
      letter-spacing: .4em; }
      #reserve div.reserve_list ul li {
        box-sizing: border-box;
        width: calc(50% - 15px);
        height: auto;
        vertical-align: top;
        border: 1px solid #ddd;
        overflow-x: hidden;
        display: inline-block;
        font-size: 16px;
        margin: 0;
        padding: 0;
        margin: 0 30px 30px 0; }
        #reserve div.reserve_list ul li:nth-of-type(3n) {
          margin-right: 30px; }
        #reserve div.reserve_list ul li:nth-of-type(even) {
          margin-right: 0; }
        #reserve div.reserve_list ul li .reserve_list_img {
          width: 100%;
          height: 30vw;
          max-height: 174px;
          background: url("../img/pc_bg.png") center center/200px 200px no-repeat #f4f1ed; }
          #reserve div.reserve_list ul li .reserve_list_img img {
            object-fit: cover;
            width: 100%;
            height: 100%; }
          #reserve div.reserve_list ul li .reserve_list_img p {
            padding: 100px 1em 0;
            margin: 0;
            text-align: center;
            font-size: 12px;
            font-weight: 500;
            opacity: .5; }
        #reserve div.reserve_list ul li .reserve_list_info {
          height: 90px;
          padding: .6em; }
          #reserve div.reserve_list ul li .reserve_list_info h4 {
            padding: 0 0 0.9em;
            margin: 0;
            font-size: 15px;
            line-height: 20px;
            height: 2em;
            letter-spacing: 0;
            overflow: hidden;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2; }
          #reserve div.reserve_list ul li .reserve_list_info p {
            padding: 0;
            margin: 0;
            font-size: 13px;
            line-height: 20px;
            letter-spacing: 0; } }
@media screen and (max-width: 800px) {
  #reserve .reserve_details_wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    visibility: hidden;
    opacity: 0;
    transition: all .3s;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.7); }
    #reserve .reserve_details_wrap .black {
      position: relative;
      width: 100vw;
      height: 100vh;
      z-index: 1030; }
    #reserve .reserve_details_wrap .close {
      position: absolute; }
    #reserve .reserve_details_wrap .reserve_details_box {
      position: absolute;
      background-color: #fff;
      z-index: 2000;
      margin: auto;
      padding: 24px;
      width: calc(90% - 48px);
      max-width: calc(980px - 48px);
      font-size: 0;
      letter-spacing: -.4em;
      max-height: calc(90vh - 48px);
      overflow-y: scroll; }
      #reserve .reserve_details_wrap .reserve_details_box .reserve_left_box, #reserve .reserve_details_wrap .reserve_details_box .reserve_right_box {
        width: 100%;
        display: block;
        padding: 0;
        vertical-align: top; }
      #reserve .reserve_details_wrap .reserve_details_box .reserve_left_box .reserve_img {
        width: 100%;
        max-width: 100%;
        height: 300px;
        max-height: 70vw;
        background: url("../img/pc_bg.png") center center/220px 210px no-repeat #f4f1ed;
        margin: 0 auto 20px; }
        #reserve .reserve_details_wrap .reserve_details_box .reserve_left_box .reserve_img img {
          object-fit: cover;
          width: 100%;
          height: 100%; }
      #reserve .reserve_details_wrap .reserve_details_box .reserve_right_box {
        padding: 0;
        margin: 0; }
        #reserve .reserve_details_wrap .reserve_details_box .reserve_right_box .close {
          position: absolute;
          top: 0;
          right: 0;
          background: #EB5C02;
          width: 48px;
          height: 48px;
          color: #fff;
          font-size: 22px;
          line-height: 48px;
          text-align: center; }
        #reserve .reserve_details_wrap .reserve_details_box .reserve_right_box h4 {
          padding: 0;
          margin: 0;
          font-size: 22px;
          line-height: 31px;
          letter-spacing: 0;
          padding-left: .9em;
          margin-bottom: 1em;
          position: relative; }
          #reserve .reserve_details_wrap .reserve_details_box .reserve_right_box h4::before {
            content: "";
            position: absolute;
            top: 6px;
            left: 0;
            height: 22px;
            border-left: 6px solid #EB5C02; }
        #reserve .reserve_details_wrap .reserve_details_box .reserve_right_box p {
          padding: 0;
          margin: 0;
          font-size: 16px;
          line-height: 30px; }
          #reserve .reserve_details_wrap .reserve_details_box .reserve_right_box p.reserve_price {
            line-height: 57px;
            font-size: 16px;
            font-weight: 700;
            display: inline-block;
            padding: 0 1em;
            margin-bottom: 1em;
            background: #F4F1ED; }
            #reserve .reserve_details_wrap .reserve_details_box .reserve_right_box p.reserve_price span {
              font-size: 20px; }
          #reserve .reserve_details_wrap .reserve_details_box .reserve_right_box p.reserve_detail_title {
            font-size: 14px;
            line-height: 22px;
            display: block;
            border-bottom: 1px solid #ddd;
            padding-bottom: .3em;
            margin-bottom: .3em; }
          #reserve .reserve_details_wrap .reserve_details_box .reserve_right_box p.reserve_detail {
            padding-bottom: 1em; }
        #reserve .reserve_details_wrap .reserve_details_box .reserve_right_box dl {
          clear: left; }
        #reserve .reserve_details_wrap .reserve_details_box .reserve_right_box dt {
          float: left; }
        #reserve .reserve_details_wrap .reserve_details_box .reserve_right_box dt, #reserve .reserve_details_wrap .reserve_details_box .reserve_right_box dd, #reserve .reserve_details_wrap .reserve_details_box .reserve_right_box .reserve_cooking {
          font-size: 15px;
          line-height: 28px; } }
@media screen and (max-width: 480px) {
  #reserve div.lead {
    padding: 3em 0; }
    #reserve div.lead p {
      width: 90%;
      max-width: 848px;
      letter-spacing: .04em;
      font-size: 16px;
      line-height: 35px !important;
      margin: 0 auto; }
  #reserve h2 {
    padding-top: 0; }
  #reserve div.reserve_list {
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
    padding: 0; }
    #reserve div.reserve_list ul {
      margin: 0;
      padding: 0;
      font-size: 0;
      letter-spacing: .4em; }
      #reserve div.reserve_list ul li {
        box-sizing: border-box;
        width: calc(50% - 7px);
        height: auto;
        vertical-align: top;
        border: 1px solid #ddd;
        overflow-x: hidden;
        display: inline-block;
        font-size: 16px;
        margin: 0;
        padding: 0;
        margin: 0 14px 14px 0; }
        #reserve div.reserve_list ul li:nth-of-type(3n) {
          margin-right: 14px; }
        #reserve div.reserve_list ul li:nth-of-type(even) {
          margin-right: 0; }
        #reserve div.reserve_list ul li .reserve_list_img {
          width: 100%;
          height: 92px;
          background: url("../img/pc_bg.png") center center/110px 105px no-repeat #f4f1ed; }
          #reserve div.reserve_list ul li .reserve_list_img img {
            object-fit: cover;
            width: 100%;
            height: 100%; }
          #reserve div.reserve_list ul li .reserve_list_img p {
            padding: 54px 1em 0;
            margin: 0;
            text-align: center;
            font-size: 12px;
            font-weight: 500;
            opacity: .5; }
        #reserve div.reserve_list ul li .reserve_list_info {
          height: 90px;
          padding: .6em; }
          #reserve div.reserve_list ul li .reserve_list_info h4 {
            padding: 0 0 0.9em;
            margin: 0;
            font-size: 15px;
            line-height: 20px;
            height: 2em;
            letter-spacing: 0;
            overflow: hidden;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2; }
          #reserve div.reserve_list ul li .reserve_list_info p {
            padding: 0;
            margin: 0;
            font-size: 13px;
            line-height: 20px;
            letter-spacing: 0;
            display: inline; }
            #reserve div.reserve_list ul li .reserve_list_info p p:nth-of-type(1) ::after {
              content: " "; }
            #reserve div.reserve_list ul li .reserve_list_info p p:nth-of-type(2) {
              display: inline-block; }
            #reserve div.reserve_list ul li .reserve_list_info p span {
              display: none; }
  #reserve input.reinfo {
    display: none; }
  #reserve .reinfo:checked ~ .reserve_details_wrap {
    visibility: visible;
    opacity: 1; } }
#reserveOder {
  background: #F4F1ED;
  padding: 95px 0 180px; }
  #reserveOder .centerTitle ul {
    text-align: center;
    font-size: 0;
    letter-spacing: -.4em;
    padding: 20px 0 64px; }
    #reserveOder .centerTitle ul li {
      border: 2px solid #EB5C02;
      text-align: center;
      background: #fff;
      display: inline-block;
      margin: 0 20px; }
      #reserveOder .centerTitle ul li a {
        display: block;
        width: 345px;
        height: 70px;
        color: #EB5C02;
        line-height: 70px;
        font-size: 16px;
        letter-spacing: .08em;
        font-weight: 500; }
      #reserveOder .centerTitle ul li:hover {
        background: #EB5C02; }
        #reserveOder .centerTitle ul li:hover a {
          color: #fff; }

@media screen and (max-width: 480px) {
  #reserveOder {
    background: #F4F1ED;
    padding: 32px 0 32px; }
    #reserveOder .centerTitle ul {
      text-align: center;
      font-size: 0;
      letter-spacing: -.4em;
      padding: 1em 0 32px; }
      #reserveOder .centerTitle ul li {
        border: 2px solid #EB5C02;
        width: 80%;
        text-align: center;
        background: #fff;
        display: block;
        margin: 0 auto 20px; }
        #reserveOder .centerTitle ul li a {
          display: block;
          width: 100%;
          height: 56px;
          color: #EB5C02;
          line-height: 56px;
          font-size: 15px;
          letter-spacing: .08em;
          font-weight: 500; }
        #reserveOder .centerTitle ul li:hover {
          opacity: .8; } }
.reserveBox {
  background: #fff;
  display: block;
  margin: 0 auto;
  width: 1020px;
  max-width: 100%;
  border-radius: 10px; }

@media screen and (max-width: 480px) {
  .reserveBox {
    background: #fff;
    display: block;
    margin: 0 auto;
    width: 90%;
    border-radius: 10px; }

  /**/ }
div.reserveForm {
  font-size: 0;
  letter-spacing: -.4em;
  padding: 56px 60px;
  width: 900px;
  max-width: calc(100% - 120px);
  margin: 0 auto; }
  div.reserveForm h2 {
    font-size: 26px;
    letter-spacing: 0.16em; }
  div.reserveForm p {
    display: block;
    font-size: 16px;
    letter-spacing: .08em; }
    div.reserveForm p.title {
      margin: 0;
      height: 48px;
      line-height: 48px;
      font-weight: 700; }
      div.reserveForm p.title.ltitle2 {
        height: 24px !important;
        line-height: 24px !important; }
        div.reserveForm p.title.ltitle2 span {
          font-size: 13px; }
    div.reserveForm p.ltitle {
      width: 140px; }
    div.reserveForm p.ks {
      padding: 0 1em;
      height: 48px;
      line-height: 48px; }
    div.reserveForm p.time {
      margin: 0;
      padding: 0 1em;
      height: 48px;
      line-height: 48px;
      font-weight: 700; }
    div.reserveForm p.textareadown {
      padding-left: 140px;
      clear: both;
      margin-top: 2px;
      padding-bottom: 1em; }
  div.reserveForm input, div.reserveForm select, div.reserveForm textarea {
    border: #bbb solid 1px;
    border-radius: 3px;
    display: block;
    margin: 0;
    box-sizing: border-box;
    height: 48px;
    vertical-align: middle;
    font-size: 16px;
    font-weight: 400;
    line-height: 30px;
    letter-spacing: .08em;
    padding: .4em; }
    div.reserveForm input option, div.reserveForm select option, div.reserveForm textarea option {
      font-size: 16px;
      box-sizing: border-box;
      border: 0;
      padding: 0;
      margin: 0;
      line-height: 30px; }
    div.reserveForm input.ks, div.reserveForm select.ks, div.reserveForm textarea.ks {
      width: calc( 93px - .8em ); }
    div.reserveForm input.select, div.reserveForm select.select, div.reserveForm textarea.select {
      width: calc( 612px - .8em );
      max-width: calc( 100% - .8em - 280px ); }
    div.reserveForm input.textarea, div.reserveForm select.textarea, div.reserveForm textarea.textarea {
      width: calc( 100% -  140px );
      height: 15em; }
  div.reserveForm br.clear {
    clear: both;
    height: 0; }
  div.reserveForm div#flow {
    width: 460px;
    max-width: 100%;
    margin: 48px auto;
    position: relative;
    height: 100px; }
    div.reserveForm div#flow div {
      position: absolute;
      text-align: center;
      width: 70px;
      z-index: 10; }
      div.reserveForm div#flow div:nth-of-type(1) {
        left: 0; }
      div.reserveForm div#flow div:nth-of-type(2) {
        left: calc(50% - 35px); }
      div.reserveForm div#flow div:nth-of-type(3) {
        right: 0; }
      div.reserveForm div#flow div p {
        font-size: 20px;
        text-align: center;
        border-radius: 50%;
        font-weight: 700;
        line-height: 48px;
        height: 48px;
        width: 48px;
        margin: 0 auto;
        display: block;
        background: #EBE8E4; }
      div.reserveForm div#flow div span.cap {
        font-weight: 700;
        font-size: 16px;
        padding: .9em 0;
        line-height: 1em;
        width: 4.6em;
        display: block;
        margin: 0 auto; }
      div.reserveForm div#flow div.now p {
        background: #EB5C02;
        color: #fff;
        position: relative; }
      div.reserveForm div#flow div.now span.cap {
        color: #EB5C02; }
    div.reserveForm div#flow::after {
      content: "";
      position: absolute;
      z-index: 1;
      top: 24px;
      left: 5%;
      width: 90%;
      border-bottom: 4px solid #EBE8E4; }
  div.reserveForm .shohin {
    margin-bottom: 14px;
    clear: both; }
    div.reserveForm .shohin .order {
      height: 50px; }
      div.reserveForm .shohin .order p, div.reserveForm .shohin .order input, div.reserveForm .shohin .order select {
        float: left; }
      div.reserveForm .shohin .order label:nth-of-type(2) {
        float: right; }
  div.reserveForm p.tsuikaBut {
    margin-left: 140px;
    width: calc( 100% - 140px );
    background-color: #EBE8E4;
    text-align: center;
    line-height: 1em;
    padding: 1em 0;
    border-radius: 4px;
    cursor: pointer; }
    div.reserveForm p.tsuikaBut:hover {
      opacity: .8; }
  div.reserveForm .check {
    display: none; }
  div.reserveForm #tsuikaBox2 .hidden, div.reserveForm #tsuikaBox3 .hidden, div.reserveForm #tsuikaBox4 .hidden, div.reserveForm #tsuikaBox5 .hidden {
    height: 0;
    overflow-y: hidden;
    transition: all .3s; }
  div.reserveForm #checkbox2:checked ~ #tsuikaBox2 .hidden {
    height: 50px; }
  div.reserveForm #checkbox2:checked ~ #tsuikaBox2 .for {
    display: none; }
  div.reserveForm #checkbox3:checked ~ #tsuikaBox3 .hidden {
    height: 50px; }
  div.reserveForm #checkbox3:checked ~ #tsuikaBox3 .for {
    display: none; }
  div.reserveForm #checkbox4:checked ~ #tsuikaBox4 .hidden {
    height: 50px; }
  div.reserveForm #checkbox4:checked ~ #tsuikaBox4 .for {
    display: none; }
  div.reserveForm #checkbox5:checked ~ #tsuikaBox5 .hidden {
    height: 50px; }
  div.reserveForm #checkbox5:checked ~ #tsuikaBox5 .for {
    display: none; }
  div.reserveForm #tsuikaBox3.bhidden, div.reserveForm #tsuikaBox4.bhidden, div.reserveForm #tsuikaBox5.bhidden {
    display: none; }
  div.reserveForm #checkbox2:checked ~ #tsuikaBox3.bhidden {
    display: block; }
  div.reserveForm #checkbox3:checked ~ #tsuikaBox4.bhidden {
    display: block; }
  div.reserveForm #checkbox4:checked ~ #tsuikaBox5.bhidden {
    display: block; }
  div.reserveForm .receipt p, div.reserveForm .receipt input, div.reserveForm .receipt select {
    float: left;
    margin-bottom: 12px; }
  div.reserveForm .receipt input {
    width: calc(310px - 2em);
    padding: 0 1em;
    margin-right: 16px; }
  div.reserveForm .receipt select {
    width: calc(93px - 0em);
    padding: 0 1em; }
  div.reserveForm .receipt p.info {
    margin: 0 0 16px calc(140px - 1em + 16px); }
  div.reserveForm .customer p {
    float: left;
    margin-bottom: 15px; }
  div.reserveForm .customer input {
    width: calc( 100% - 140px );
    float: left;
    margin-bottom: 16px; }
  div.reserveForm .submit {
    display: block;
    text-align: center; }
  div.reserveForm .button {
    display: inline-block;
    border-radius: 0;
    font-size: 15px;
    line-height: 1em;
    letter-spacing: .08em;
    text-align: center;
    cursor: pointer;
    padding: 21px 0;
    width: 230px;
    margin: 33px 20px;
    height: auto;
    background: #EB5C02;
    color: #fff;
    opacity: 1;
    transition: .3s; }
    div.reserveForm .button:first-child {
      background: #EBE8E4;
      border: none;
      color: #432700; }
    div.reserveForm .button:hover {
      opacity: 0.8; }
  div.reserveForm div.wpcf7 .wpcf7-spinner {
    display: none !important; }
  div.reserveForm .wpcf7-not-valid-tip, div.reserveForm .wpcf7-response-output, div.reserveForm .wpcf7-response-output.wpcf7-validation-errors {
    font-size: 14px;
    　color: #cc0000; }
    div.reserveForm .wpcf7-not-valid-tip .wpcf7-not-valid-tip, div.reserveForm .wpcf7-response-output .wpcf7-not-valid-tip, div.reserveForm .wpcf7-response-output.wpcf7-validation-errors .wpcf7-not-valid-tip {
      clear: both;
      position: absolute;
      z-index: 10;
      top: 50px;
      margin-left: 20px;
      min-width: 130px;
      display: block;
      color: #fff;
      background: #EB5C02;
      padding: .5em; }
      div.reserveForm .wpcf7-not-valid-tip .wpcf7-not-valid-tip::after, div.reserveForm .wpcf7-response-output .wpcf7-not-valid-tip::after, div.reserveForm .wpcf7-response-output.wpcf7-validation-errors .wpcf7-not-valid-tip::after {
        content: "";
        font-size: 14px;
        background: #EB5C02;
        height: calc(tan(60deg) * 10px / 2);
        width: 10px;
        clip-path: polygon(50% 0, 100% 100%, 0 100%);
        position: absolute;
        top: calc(tan(60deg) * 10px / 2 * -1);
        right: 16px; }

@media screen and (max-width: 480px) {
  div.reserveForm {
    font-size: 0;
    letter-spacing: -.4em;
    padding: 56px 1em 56px;
    width: 90%;
    max-width: 90%; }
    div.reserveForm h2 {
      font-size: 24px;
      letter-spacing: 0.16em; }
    div.reserveForm p {
      display: block;
      font-size: 15px;
      letter-spacing: .08em; }
      div.reserveForm p.title {
        margin: 0;
        height: 48px;
        line-height: 48px;
        font-weight: 700; }
        div.reserveForm p.title.ltitle2 {
          height: 24px !important;
          line-height: 24px !important; }
          div.reserveForm p.title.ltitle2 span {
            font-size: 13px; }
      div.reserveForm p.ltitle {
        width: 100%; }
      div.reserveForm p.ks {
        padding: 0 1em;
        padding-left: calc(100% - (3em + 1em + 93px));
        height: 48px;
        line-height: 48px;
        width: 3em;
        display: inline-block; }
      div.reserveForm p.time {
        margin: 0;
        padding: 0 1em;
        height: 48px;
        line-height: 48px;
        font-weight: 700; }
    div.reserveForm input, div.reserveForm select, div.reserveForm textarea {
      border: #bbb solid 1px;
      border-radius: 3px;
      display: block;
      margin: 0;
      box-sizing: border-box;
      height: 48px;
      vertical-align: middle;
      font-size: 16px;
      font-weight: 400;
      line-height: 30px;
      letter-spacing: .08em;
      padding: .4em; }
      div.reserveForm input option, div.reserveForm select option, div.reserveForm textarea option {
        font-size: 16px;
        box-sizing: border-box;
        border: 0;
        padding: 0;
        margin: 0;
        line-height: 30px; }
      div.reserveForm input.ks, div.reserveForm select.ks, div.reserveForm textarea.ks {
        width: 93px;
        display: inline-block; }
      div.reserveForm input.select, div.reserveForm select.select, div.reserveForm textarea.select {
        width: 100%;
        max-width: 100%; }
      div.reserveForm input.textarea, div.reserveForm select.textarea, div.reserveForm textarea.textarea {
        width: 100%;
        height: 15em; }
    div.reserveForm br.clear {
      clear: both;
      height: 0; }
    div.reserveForm div#flow {
      width: 90%;
      margin: 24px auto;
      position: relative;
      height: 100px; }
      div.reserveForm div#flow div {
        position: absolute;
        text-align: center;
        width: 70px;
        z-index: 10; }
        div.reserveForm div#flow div:nth-of-type(1) {
          left: 0; }
        div.reserveForm div#flow div:nth-of-type(2) {
          left: calc(50% - 35px); }
        div.reserveForm div#flow div:nth-of-type(3) {
          right: 0; }
        div.reserveForm div#flow div p {
          font-size: 20px;
          text-align: center;
          border-radius: 50%;
          font-weight: 700;
          line-height: 48px;
          height: 48px;
          width: 48px;
          margin: 0 auto;
          display: block;
          background: #EBE8E4; }
        div.reserveForm div#flow div span.cap {
          font-weight: 700;
          font-size: 16px;
          padding: .9em 0;
          line-height: 1em;
          width: 4.6em;
          display: block;
          margin: 0 auto; }
        div.reserveForm div#flow div.now p {
          background: #EB5C02;
          color: #fff;
          position: relative; }
        div.reserveForm div#flow div.now span.cap {
          color: #EB5C02; }
      div.reserveForm div#flow::after {
        content: "";
        position: absolute;
        z-index: 1;
        top: 24px;
        left: 5%;
        width: 90%;
        border-bottom: 4px solid #EBE8E4; }
    div.reserveForm .shohin {
      margin-bottom: 14px;
      clear: both; }
      div.reserveForm .shohin .order {
        height: 150px; }
        div.reserveForm .shohin .order p, div.reserveForm .shohin .order input, div.reserveForm .shohin .order select {
          float: inherit; }
        div.reserveForm .shohin .order label:nth-of-type(2) {
          float: inherit; }
    div.reserveForm p.tsuikaBut {
      margin-left: 0;
      width: 100%;
      background-color: #EBE8E4;
      text-align: center;
      line-height: 1em;
      padding: 1em 0;
      border-radius: 4px; }
    div.reserveForm .check {
      display: none; }
    div.reserveForm #tsuikaBox2 .hidden, div.reserveForm #tsuikaBox3 .hidden, div.reserveForm #tsuikaBox4 .hidden, div.reserveForm #tsuikaBox5 .hidden {
      height: 0;
      overflow-y: hidden;
      transition: all .3s; }
    div.reserveForm #checkbox2:checked ~ #tsuikaBox2 .hidden {
      height: 150px; }
    div.reserveForm #checkbox2:checked ~ #tsuikaBox2 .for {
      display: none; }
    div.reserveForm #checkbox3:checked ~ #tsuikaBox3 .hidden {
      height: 150px; }
    div.reserveForm #checkbox3:checked ~ #tsuikaBox3 .for {
      display: none; }
    div.reserveForm #checkbox4:checked ~ #tsuikaBox4 .hidden {
      height: 150px; }
    div.reserveForm #checkbox4:checked ~ #tsuikaBox4 .for {
      display: none; }
    div.reserveForm #checkbox5:checked ~ #tsuikaBox5 .hidden {
      height: 150px; }
    div.reserveForm #checkbox5:checked ~ #tsuikaBox5 .for {
      display: none; }
    div.reserveForm #tsuikaBox3.bhidden, div.reserveForm #tsuikaBox4.bhidden, div.reserveForm #tsuikaBox5.bhidden {
      display: none; }
    div.reserveForm #checkbox2:checked ~ #tsuikaBox3.bhidden {
      display: block; }
    div.reserveForm #checkbox3:checked ~ #tsuikaBox4.bhidden {
      display: block; }
    div.reserveForm #checkbox4:checked ~ #tsuikaBox5.bhidden {
      display: block; }
    div.reserveForm .receipt p, div.reserveForm .receipt input, div.reserveForm .receipt select {
      float: inherit;
      margin-bottom: 12px;
      display: inline-block; }
    div.reserveForm .receipt input {
      width: calc(310px - 2em);
      padding: 0 1em;
      margin-right: 16px; }
    div.reserveForm .receipt select {
      width: calc(93px - 0em);
      padding: 0 1em; }
    div.reserveForm .receipt p.info {
      margin: 0 0 16px 0; }
    div.reserveForm .customer {
      width: 100%;
      margin: 0 auto 32px; }
      div.reserveForm .customer p {
        float: inherit;
        margin: 1em 0 .5em; }
      div.reserveForm .customer input {
        width: 100%;
        float: inherit;
        margin-bottom: .5em; }
    div.reserveForm .submit {
      display: block;
      text-align: center; }
    div.reserveForm .button {
      display: inline-block;
      border-radius: 0;
      font-size: 15px;
      line-height: 1em;
      letter-spacing: .08em;
      text-align: center;
      cursor: pointer;
      padding: 21px 0;
      width: 230px;
      margin: 1em 0 0;
      height: auto;
      background: #EB5C02;
      color: #fff;
      opacity: 1;
      transition: .3s; }
      div.reserveForm .button:first-child {
        background: #EBE8E4;
        border: none;
        color: #432700;
        margin-top: 2em; }
      div.reserveForm .button:hover {
        opacity: 0.8; }
    div.reserveForm div.wpcf7 .wpcf7-spinner {
      display: none !important; }
    div.reserveForm .wpcf7-not-valid-tip, div.reserveForm .wpcf7-response-output, div.reserveForm .wpcf7-response-output.wpcf7-validation-errors {
      font-size: 14px;
      　color: #cc0000; }
      div.reserveForm .wpcf7-not-valid-tip .wpcf7-not-valid-tip, div.reserveForm .wpcf7-response-output .wpcf7-not-valid-tip, div.reserveForm .wpcf7-response-output.wpcf7-validation-errors .wpcf7-not-valid-tip {
        clear: both;
        position: absolute;
        z-index: 10;
        top: 50px;
        margin-left: 20px;
        min-width: 130px;
        display: block;
        color: #fff;
        background: #EB5C02;
        padding: .5em; }
        div.reserveForm .wpcf7-not-valid-tip .wpcf7-not-valid-tip::after, div.reserveForm .wpcf7-response-output .wpcf7-not-valid-tip::after, div.reserveForm .wpcf7-response-output.wpcf7-validation-errors .wpcf7-not-valid-tip::after {
          content: "";
          font-size: 14px;
          background: #EB5C02;
          height: calc(tan(60deg) * 10px / 2);
          width: 10px;
          clip-path: polygon(50% 0, 100% 100%, 0 100%);
          position: absolute;
          top: calc(tan(60deg) * 10px / 2 * -1);
          right: 16px; } }
div.reserveFax {
  font-size: 0;
  letter-spacing: -.4em;
  padding: 56px 0;
  width: 980px;
  margin: 80px auto 0; }
  div.reserveFax div {
    display: inline-block;
    width: calc(50% - 60px);
    padding: 0 30px;
    vertical-align: top; }
    div.reserveFax div h2 {
      font-size: 22px;
      letter-spacing: .16em;
      margin: 0; }
    div.reserveFax div p {
      font-size: 16px;
      letter-spacing: .04em;
      padding: 1em 0;
      margin: 0;
      font-weight: 400; }
      div.reserveFax div p.pdf {
        display: inline-block;
        padding: 0 1em;
        height: 57px;
        border: 1px solid #EB5C02;
        color: #EB5C02;
        font-size: 15px;
        line-height: 57px;
        margin-top: 16px;
        margin-bottom: 3em;
        font-weight: 500; }
        div.reserveFax div p.pdf:hover {
          background: #EB5C02;
          color: #fff; }
          div.reserveFax div p.pdf:hover a {
            color: #fff; }
        div.reserveFax div p.pdf a {
          color: #EB5C02; }
    div.reserveFax div h4 {
      font-size: 24px;
      letter-spacing: .06em;
      margin: 0; }
    div.reserveFax div dl {
      font-size: 16px; }
      div.reserveFax div dl dt {
        display: inline-block;
        vertical-align: top; }
      div.reserveFax div dl dd {
        display: inline-block;
        margin: 0;
        line-height: 22px; }

@media screen and (max-width: 480px) {
  div.reserveFax {
    font-size: 0;
    letter-spacing: -.4em;
    padding: 34px 0;
    width: 100%;
    margin: 80px auto 0; }
    div.reserveFax div {
      font-size: 15px;
      display: block;
      width: calc(100% - 2em);
      padding: 0 1em;
      vertical-align: top; }
      div.reserveFax div h2 {
        font-size: 24px;
        letter-spacing: .16em;
        margin: 0; }
      div.reserveFax div p {
        font-size: 15px;
        line-height: 25px;
        letter-spacing: .018em;
        padding: 1em 0;
        margin: 0;
        font-weight: 400; }
        div.reserveFax div p.pdf {
          display: block;
          box-sizing: border-box;
          padding: 0;
          text-align: center;
          height: 56px;
          line-height: 56px;
          border: 2px solid #EB5C02;
          color: #EB5C02;
          font-size: 15px;
          line-height: 57px;
          margin-top: 16px;
          font-weight: 500; }
      div.reserveFax div h4 {
        font-size: 21px;
        letter-spacing: .06em;
        line-height: 20px;
        margin: 0; }
      div.reserveFax div dl {
        font-size: 16px; }
        div.reserveFax div dl dt {
          display: inline;
          vertical-align: top;
          line-height: 25px; }
        div.reserveFax div dl dd {
          display: inline;
          margin: 0;
          line-height: 25px; } }
