@charset "UTF-8";
/*レスポンシブ*/
/*フォントサイズ*/
/*Webフォント*/
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Zen+Kaku+Gothic+New&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Shippori+Mincho&family=Zen+Old+Mincho&display=swap");
/*タイトル*/
.tit3 {
  text-align: center;
  margin-bottom: 65px; }
  @media all and (max-width: 1024px) {
    .tit3 {
      margin-bottom: 40px; } }
  .tit3 .en {
    font-family: "Bebas Neue", sans-serif;
    font-size: clamp(36px, 3.6vw, 50px);
    line-height: 1.3;
    display: block; }
  .tit3 .ja {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: clamp(14px, 1.4vw, 14px);
    letter-spacing: 0.5px;
    display: block;
    font-weight: 400; }

/**ボタン**/
.floatBnr {
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column-reverse;
  gap: 16px;
  z-index: 2000; }
  @media all and (max-width: 1024px) {
    .floatBnr {
      left: 50%;
      right: auto;
      bottom: 12px;
      top: auto;
      transform: translateX(-50%);
      flex-direction: row;
      align-items: center;
      gap: 10px; } }
  .floatBnr .bnrBtn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #E52D2D;
    border-radius: 5px;
    color: #FFF;
    text-decoration: none;
    overflow: hidden;
    width: 50px;
    height: 180px;
    padding: 6px;
    transition: 0.8s; }
    @media all and (max-width: 1024px) {
      .floatBnr .bnrBtn {
        width: 160px;
        height: 50px; } }
    .floatBnr .bnrBtn::after {
      content: "";
      position: absolute;
      inset: 3px;
      border: 1px solid #FFF;
      border-radius: 4px;
      pointer-events: none; }
      @media all and (max-width: 1024px) {
        .floatBnr .bnrBtn::after {
          inset: 4px; } }
    .floatBnr .bnrBtn .bnrTxt {
      position: relative;
      color: #FFF;
      letter-spacing: .04em;
      line-height: normal;
      white-space: nowrap;
      transform: rotate(-90deg); }
      @media all and (max-width: 1024px) {
        .floatBnr .bnrBtn .bnrTxt {
          transform: none; } }
    .floatBnr .bnrBtn.bnrFair .bnrTxt {
      font-family: "Bebas Neue",sans-serif;
      font-size: clamp(22px, 2.2vw, 25px); }
    .floatBnr .bnrBtn.bnrConsult .bnrTxt {
      font-family: "Noto Sans JP","Zen Kaku Gothic New",sans-serif;
      font-size: clamp(14px, 1.4vw, 14px);
      font-weight: 500; }
    .floatBnr .bnrBtn:hover {
      background-color: #a62b28; }

.reservation {
  background: #FFF;
  padding: clamp(75px, 15vw, 180px) 0;
  overflow: hidden; }
  .reservation .innerL {
    margin-bottom: 80px; }
    @media all and (max-width: 1024px) {
      .reservation .innerL {
        margin-bottom: 40px; } }
  .reservation .otherVenueSlide {
    margin: 0 3% 160px; }
    @media all and (max-width: 1024px) {
      .reservation .otherVenueSlide {
        margin: 0 3% 100px; } }
    .reservation .otherVenueSlide .venueBtn {
      border-radius: 10px;
      aspect-ratio: 3 / 4;
      position: relative;
      overflow: hidden;
      display: flex;
      align-items: flex-end;
      justify-content: flex-start;
      padding: 20px;
      transition: 0.8s;
      box-sizing: border-box; }
      .reservation .otherVenueSlide .venueBtn::before {
        content: "";
        position: absolute;
        inset: 0;
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        transition: 0.8s;
        transform: scale(1);
        z-index: 0; }
      .reservation .otherVenueSlide .venueBtn.venueBtn1::before {
        background-image: url("../img/venuImg1.webp"); }
      .reservation .otherVenueSlide .venueBtn.venueBtn2::before {
        background-image: url("../img/venuImg2.webp"); }
      .reservation .otherVenueSlide .venueBtn.venueBtn3::before {
        background-image: url("../img/venuImg3.webp"); }
      .reservation .otherVenueSlide .venueBtn.venueBtn4::before {
        background-image: url("../img/venuImg4.webp"); }
      .reservation .otherVenueSlide .venueBtn.venueBtn5::before {
        background-image: url("../img/venuImg5.webp"); }
      .reservation .otherVenueSlide .venueBtn:hover::before {
        transform: scale(1.1); }
      .reservation .otherVenueSlide .venueBtn span {
        position: relative;
        z-index: 1;
        font-family: "acumin-pro",sans-serif;
        font-size: clamp(18px, 3vw, 20px);
        font-weight: bold;
        color: #fff;
        display: flex;
        align-items: center;
        gap: 8px;
        transition: 0.8s; }
        .reservation .otherVenueSlide .venueBtn span::after {
          content: "";
          background-image: url("../img/iconRoundArrow.svg");
          background-repeat: no-repeat;
          width: 18px;
          height: 18px;
          display: inline-block;
          transition: 0.8s; }
      .reservation .otherVenueSlide .venueBtn:hover span::after {
        background-image: url("../img/iconRoundArrowW.svg");
        transition: 0.8s; }
  .reservation .innerS .wrap {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border: 2px solid #000;
    border-radius: 10px;
    width: 100%;
    box-sizing: border-box;
    padding: 0 60px 60px;
    margin-bottom: 100px; }
    @media all and (max-width: 1024px) {
      .reservation .innerS .wrap {
        padding: 0 20px 30px;
        margin-bottom: 30px; } }
    .reservation .innerS .wrap h2 {
      font-family: "Bebas Neue",sans-serif;
      font-size: clamp(54px, 4.2vw, 80px);
      background: #FFF;
      transform: translateY(-50%);
      line-height: 1;
      padding: 0 20px;
      box-sizing: border-box; }
    .reservation .innerS .wrap .btnWrap {
      display: flex;
      justify-content: center;
      gap: 40px; }
      @media all and (max-width: 1024px) {
        .reservation .innerS .wrap .btnWrap {
          flex-direction: column;
          gap: 0; } }
      .reservation .innerS .wrap .btnWrap .box {
        text-align: center; }
        @media all and (max-width: 1024px) {
          .reservation .innerS .wrap .btnWrap .box:nth-child(1) {
            margin-bottom: 30px; } }
        .reservation .innerS .wrap .btnWrap .box p {
          font-family: 'Noto Sans JP',sans-serif;
          font-size: clamp(14px, 1.4vw, 14px);
          margin-bottom: 16px;
          font-weight: 400; }
        .reservation .innerS .wrap .btnWrap .box .btnR {
          width: 330px;
          height: 80px;
          display: inline-block;
          background-color: #E52D2D;
          border-radius: 6px;
          padding: 5px;
          text-decoration: none; }
          @media all and (max-width: 1024px) {
            .reservation .innerS .wrap .btnWrap .box .btnR {
              width: 260px; } }
          .reservation .innerS .wrap .btnWrap .box .btnR .btnR__frame {
            height: 50px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 5px;
            border: 1px solid #FFF;
            border-radius: 4px;
            padding: 14px 28px;
            line-height: 1; }
            .reservation .innerS .wrap .btnWrap .box .btnR .btnR__frame.frame2 {
              padding: 16px 28px 12px; }
          .reservation .innerS .wrap .btnWrap .box .btnR .btnR__line {
            font-size: clamp(20px, 2.2vw, 24px);
            font-weight: bold;
            color: #FFF;
            font-family: 'Noto Sans JP', sans-serif; }
            .reservation .innerS .wrap .btnWrap .box .btnR .btnR__line.en {
              font-family: "Bebas Neue",sans-serif;
              font-size: clamp(36px, 2.2vw, 40px);
              font-weight: normal;
              line-height: 0.7; }
          .reservation .innerS .wrap .btnWrap .box .btnR .btnR__sub {
            font-size: clamp(12px, 1.2vw, 12px);
            opacity: .95;
            color: #FFF;
            font-weight: 400;
            font-family: 'Noto Sans JP', sans-serif; }
          .reservation .innerS .wrap .btnWrap .box .btnR:hover {
            background-color: #a62b28; }
  .reservation .form {
    padding-top: 80px;
    /*フォーム関連*/ }
    @media all and (max-width: 1024px) {
      .reservation .form {
        padding-top: 40px; } }
    .reservation .form input[type=password],
    .reservation .form input[type=text],
    .reservation .form input[type=date],
    .reservation .form input[type=email],
    .reservation .form input[type=number],
    .reservation .form input[type=url],
    .reservation .form input[type=tel],
    .reservation .form textarea,
    .reservation .form select {
      border: 0;
      background: #F7F8F9;
      border-radius: 5px;
      color: #3F484C;
      padding: 18px 18px 18px;
      width: 100%;
      box-sizing: border-box;
      -webkit-appearance: none;
      font-size: 16px; }
    .reservation .form .wpcf7-checkbox {
      display: flex;
      flex-direction: column; }
      .reservation .form .wpcf7-checkbox span {
        margin-left: 0;
        margin-bottom: 10px; }
      .reservation .form .wpcf7-checkbox label {
        margin-left: 0; }
    .reservation .form textarea {
      min-height: 100%; }
    .reservation .form input, .reservation .form select, .reservation .form textarea {
      outline: none; }
    .reservation .form input:disabled {
      background: none;
      font-weight: bold; }
    .reservation .form input[type="checkbox"] {
      width: 26px;
      height: 26px;
      -webkit-appearance: none;
      -moz-appearance: none;
      -ms-appearance: none;
      -o-appearance: none;
      appearance: none;
      position: relative;
      transition: all .15s ease-out 0s;
      color: #46ADDF;
      cursor: pointer;
      display: inline-block;
      outline: none;
      border-radius: 0;
      vertical-align: -0.5rem;
      margin: 0 10px 0 0; }
    .reservation .form input[type=checkbox]:before,
    .reservation .form input[type=checkbox]:after {
      position: absolute;
      content: "";
      background: #fff;
      transition: all .2s ease-in-out; }
    .reservation .form input[type=checkbox]:before {
      left: 2px;
      top: 6px;
      width: 0;
      height: 2px;
      transform: rotate(45deg);
      -webkit-transform: rotate(45deg);
      -moz-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      -o-transform: rotate(45deg); }
    .reservation .form input[type=checkbox]:after {
      right: 9px;
      bottom: 3px;
      width: 2px;
      height: 0;
      transform: rotate(40deg);
      -webkit-transform: rotate(40deg);
      -moz-transform: rotate(40deg);
      -ms-transform: rotate(40deg);
      -o-transform: rotate(40deg);
      transition-delay: .2s; }
    .reservation .form input[type=checkbox]:checked:before {
      left: 1px;
      top: 12px;
      width: 11px;
      height: 3px; }
    .reservation .form input[type=checkbox]:checked:after {
      right: 6px;
      bottom: 2px;
      width: 3px;
      height: 17px; }
    .reservation .form input[type=checkbox]:indeterminate:before,
    .reservation .form input[type=checkbox]:indeterminate:after {
      width: 10px;
      height: 2px;
      transform: rotate(0);
      -webkit-transform: rotate(0);
      -moz-transform: rotate(0);
      -ms-transform: rotate(0);
      -o-transform: rotate(0); }
    .reservation .form input[type=checkbox]:indeterminate:before {
      left: 1px;
      top: 7px; }
    .reservation .form input[type=checkbox]:indeterminate:after {
      right: 1px;
      bottom: 7px; }
    .reservation .form input[type=checkbox] {
      border: 2px solid #ABABAB; }
    .reservation .form input[type=checkbox]:checked,
    .reservation .form input[type=checkbox]:checked {
      border: 2px solid #E52D2D; }
    .reservation .form input[type=checkbox]:checked:after,
    .reservation .form input[type=checkbox]:checked:before,
    .reservation .form input[type=checkbox]:indeterminate:after,
    .reservation .form input[type=checkbox]:indeterminate:before {
      background: #E52D2D; }
    .reservation .form .wpcf7-radio {
      display: flex;
      flex-direction: column;
      gap: 5px; }
      .reservation .form .wpcf7-radio .wpcf7-list-item {
        margin: 0; }
        .reservation .form .wpcf7-radio .wpcf7-list-item .wpcf7-list-item-label {
          font-weight: 400; }
    .reservation .form .radio input[type="radio"] {
      appearance: none;
      -webkit-appearance: none;
      width: 18px;
      height: 18px;
      border: 2px solid #666666;
      border-radius: 50%;
      position: relative;
      margin-right: 8px; }
    .reservation .form .radio input[type="radio"]:checked {
      border-color: #E52D2D; }
    .reservation .form .radio input[type="radio"]:checked::before {
      content: "";
      position: absolute;
      top: 50%;
      left: 50%;
      width: 10px;
      height: 10px;
      background: #E52D2D;
      border-radius: 50%;
      transform: translate(-50%, -50%); }
    .reservation .form .radio label {
      display: inline-flex;
      align-items: center;
      cursor: pointer; }
    .reservation .form .mailform {
      max-width: 700px;
      width: 90%;
      margin: 0 auto; }
      .reservation .form .mailform * {
        font-family: 'Noto Sans JP', sans-serif;
        font-size: 16px; }
        .reservation .form .mailform * * {
          font-family: 'Noto Sans JP', sans-serif;
          font-size: 16px; }
          .reservation .form .mailform * * * {
            font-family: 'Noto Sans JP', sans-serif;
            font-size: 16px; }
      .reservation .form .mailform dl {
        display: flex;
        flex-direction: column;
        padding-top: 10px;
        padding-bottom: 10px; }
        .reservation .form .mailform dl dt {
          width: 100%;
          display: flex;
          margin-bottom: 10px; }
        .reservation .form .mailform dl > dt p span {
          font-size: 16px;
          font-weight: bold; }
        .reservation .form .mailform dl dd {
          width: 100%;
          box-sizing: border-box;
          display: flex;
          justify-content: space-between; }
          .reservation .form .mailform dl dd p {
            width: 100%; }
          .reservation .form .mailform dl dd .wrap {
            width: calc( ( 100% - 20px ) / 2 ); }
            @media all and (max-width: 1024px) {
              .reservation .form .mailform dl dd .wrap {
                width: calc( ( 100% - 10px ) / 2 ); } }
            .reservation .form .mailform dl dd .wrap span {
              width: 100%;
              padding-bottom: 5px;
              display: block; }
            .reservation .form .mailform dl dd .wrap > div {
              display: flex;
              margin-bottom: 5px;
              flex-wrap: wrap; }
              .reservation .form .mailform dl dd .wrap > div p {
                display: inline-block;
                width: auto;
                font-weight: 400; }
      .reservation .form .mailform input[type="submit"] {
        border: 0;
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        -webkit-appearance: none;
        background: #E52D2D;
        padding: 15px 30px;
        border-radius: 100px;
        margin-top: 40px;
        color: #FFF;
        cursor: pointer; }
      .reservation .form .mailform input[type="submit"][disabled] {
        background-color: #ccc;
        cursor: not-allowed;
        opacity: 0.6; }
      .reservation .form .mailform .wpcf7-not-valid-tip {
        margin-top: 10px; }
        .reservation .form .mailform .wpcf7-not-valid-tip span {
          color: #E91C24;
          font-size: 14px;
          display: block; }
      .reservation .form .mailform .naiyo + p {
        display: flex;
        justify-content: center; }
      .reservation .form .mailform .wpcf7-acceptance {
        text-align: center; }
        .reservation .form .mailform .wpcf7-acceptance .wpcf7-list-item {
          margin: 0; }
          .reservation .form .mailform .wpcf7-acceptance .wpcf7-list-item span {
            width: calc( 100% - 36px );
            display: inline-block;
            margin-left: 0;
            font-size: 14px;
            font-weight: bold;
            text-align: left; }
          .reservation .form .mailform .wpcf7-acceptance .wpcf7-list-item label {
            margin-left: 0;
            display: flex;
            align-items: center;
            justify-content: center; }
          .reservation .form .mailform .wpcf7-acceptance .wpcf7-list-item input[type=checkbox] {
            margin-right: 10px; }
      .reservation .form .mailform .naiyo {
        margin-bottom: 40px; }
      .reservation .form .mailform .textarea dt {
        align-items: flex-start;
        margin-top: 10px; }
      .reservation .form .mailform .hissu p {
        color: #eb3e41; }
      .reservation .form .mailform .cf7-hidden {
        position: absolute !important;
        left: -10000px !important;
        width: 1px !important;
        height: 1px !important;
        opacity: 0 !important;
        pointer-events: none !important; }
      .reservation .form .mailform .alert {
        font-size: 13px;
        margin-bottom: 20px;
        display: flex; }
      .reservation .form .mailform .select-wrap {
        position: relative;
        display: inline-block;
        width: 100%; }
        .reservation .form .mailform .select-wrap:after {
          content: "";
          position: absolute;
          right: 15px;
          top: 50%;
          width: 7px;
          height: 7px;
          border-right: 1px solid #959595;
          border-bottom: 1px solid #959595;
          transform: translateY(-50%) rotate(45deg);
          transition: transform 0.3s ease;
          pointer-events: none; }
        .reservation .form .mailform .select-wrap p {
          width: 100% !important; }
      .reservation .form .mailform input::placeholder {
        color: #959595; }

/*# sourceMappingURL=form.css.map */
