@charset "UTF-8";
.header {
  display: none; }

.footer {
  margin-top: 10rem; }
  .footer .contact {
    display: none; }

.container {
  padding-top: 0; }
  .container .sitename {
    width: 179px;
    margin-left: 30px;
    margin-top: 10px; }
    .container .sitename img {
      width: 100%;
      height: auto; }
  .container .page-name {
    font-size: 2.1rem;
    font-feature-settings: "palt";
    letter-spacing: 0.1em;
    line-height: 1.4;
    text-align: center;
    width: 90%;
    margin-inline: auto; }
  .container .close-button {
    position: absolute;
    right: 30px;
    top: 30px;
    width: 40px; }
    .container .close-button img {
      width: 100%;
      height: auto; }

form {
  font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', 'Hiragino Kaku Gothic ProN', 'メイリオ', 'Meiryo', sans-serif;
  font-weight: 300;
  -webkit-font-smoothing: antialiased;
  max-width: 640px;
  width: 90%;
  margin-inline: auto;
  font-size: 14px;
  color: #686767; }
  form .title {
    font-weight: bold; }
  form .required {
    color: #ff0000;
    margin-left: 3px; }
  form input[type="text"],
  form input[type="tel"],
  form input[type="email"],
  form select,
  form textarea {
    background-color: #f4f5f5;
    padding: 15px 25px; }

  form select {
    -webkit-appearance: auto;
    appearance: auto;
    background-color: #f4f5f5;
    padding: 15px 25px; }
    form select:focus {
      outline: none; }
    form input[type="text"]::placeholder,
    form input[type="tel"]::placeholder,
    form input[type="email"]::placeholder,
    form textarea::placeholder {
      opacity: 0.7; }
  form .note {
    font-weight: bold;
    margin-top: 5px; }
  form .contact-information {
    margin-top: 7rem; }
    form .contact-information .company-list {
      background-color: #f4f5f5;
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      padding: 15px 10px;
      column-gap: 3rem;
      margin-top: 10px; }
    form .contact-information .company input[type="checkbox"] {
      position: relative;
      width: 12px;
      height: 12px;
      border: 1px solid #000;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none; }
    form .contact-information .company input[type="checkbox"]:checked:before {
      position: absolute;
      top: 1px;
      left: 3px;
      transform: rotate(50deg);
      width: 4px;
      height: 8px;
      border-right: 2px solid #000;
      border-bottom: 2px solid #000;
      content: ''; }

  form .reservation-section table {
    width: 100%;
    margin-top: 10px; }
    form .reservation-section table th {
      padding: 15px 10px;
      border-bottom: 1px solid #f4f5f5;
      vertical-align: middle;
      width: 30%;
      font-weight: bold;
      text-align: left; }
    form .reservation-section table td {
      padding: 15px 0 15px 10px;
      border-bottom: 1px solid #f4f5f5;
      vertical-align: top;
      text-align: left; }
    form .reservation-section .red {
      color: #ff0000;
      font-size: 11px;
      margin-top: 5px; }
    form .reservation-section table th .red {
      white-space: nowrap; }
    form .reservation-section .form_wrap {
      display: grid;
      gap: 15px;
      text-align: left;
      margin: 0;
      padding: 0; }
      form .reservation-section .form_wrap .title {
        text-align: left;
        margin: 0;
        padding: 0;
        font-size: inherit; }
    form .reservation-section .mb15 {
      display: flex;
      flex-wrap: wrap;
      align-items: flex-start;
      justify-content: flex-start;
      gap: 10px;
      text-align: left;
      margin: 0;
      padding: 0; }
      form .reservation-section .mb15 small#error {
        display: none; }
    form .reservation-section .st {
      font-weight: normal;
      font-size: 13px;
      width: 100%; }
    form .reservation-section .plist {
      display: flex;
      gap: 20px; }
    form .reservation-section .plist li {
      display: flex;
      align-items: center;
      gap: 10px; }
      form .reservation-section .plist li select {
        width: 11em; }

  form input[type="radio"] {
    width: auto;
    margin-top: 0;
    margin-right: 5px; }

  form label {
    margin-right: 20px;
    cursor: pointer;
    display: inline-flex;
    align-items: center; }
  form .item label {
    display: block; }

  form .section {
    margin-top: 5rem;
    display: grid;
    grid-template-columns: 1fr;
    gap: 3rem 10px; }
    form .section > .title {
      background-color: #98a8bc;
      padding: 15px;
      color: #ffffff;
      text-align: center; }
    form .section input:not([type="radio"]):not([type="checkbox"]) {
      width: 100%;
      margin-top: 10px; }
    form .reservation-section .mb15 input {
      flex: 0 0 calc((100% - 10px) / 2);
      width: calc((100% - 10px) / 2) !important;
      min-width: 0;
      margin-top: 0 !important;
      padding-left: 10px !important;
      padding-right: 10px !important; }
    form .reservation-section .mb15 select {
      flex: 0 0 calc((100% - 10px) / 2);
      width: calc((100% - 10px) / 2);
      min-width: 0;
      margin-top: 0; }
  form .basic-information-section .item {
    width: 100%; }
  form .item select {
    width: 100%;
    margin-top: 10px; }
  form .basic-information-section .name,
  form .basic-information-section .name-kana {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 10px; }
    form .basic-information-section .name > .title,
    form .basic-information-section .name-kana > .title {
      grid-column: span 2; }
  form .basic-information-section .visitor-info {
    grid-column: span 2; }
  form .checkbox-group {
    background-color: #f4f5f5;
    padding: 14px 16px; }
  form .checkbox-group.chkcheckbox {
    background-color: transparent;
    padding: 0; }
  form .checkbox-group.chkcheckbox > .title {
    font-size: 1em;
    margin: 0; }
    form .checkbox-group p {
      margin-top: 10px; }
    form .checkbox-group .clearfix {
      display: flex;
      flex-wrap: wrap;
      gap: 10px 16px;
      margin-top: 6px; }
      form .checkbox-group .clearfix label {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        width: auto; }
        form .checkbox-group .clearfix label input[type="checkbox"] {
          width: auto;
          margin: 0; }
  form .address-section {
    grid-template-columns: repeat(2, 1fr); }
    form .address-section > .title {
      grid-column: span 2; }
    form .address-section .building,
    form .address-section .inquiry-details {
      grid-column: span 2; }
    form .address-section .inquiry-details textarea {
      width: 100%;
      margin-top: 10px;
      box-sizing: border-box; }
  form .content-section {
    grid-template-columns: 1fr; }
    form .content-section > .title {
      grid-column: span 1; }
    form .content-section .request-item-list {
      background-color: #f4f5f5;
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      padding: 15px 10px;
      column-gap: 5rem;
      margin-top: 10px; }
      form .content-section .request-item-list .request-item {
        display: flex;
        align-items: center; }
        form .content-section .request-item-list .request-item input[type="radio"] {
          width: auto;
          margin-top: 0;
          margin-right: 2px; }
    form .content-section textarea {
      width: 100%;
      margin-top: 2rem; }
  form .about-privacy {
    line-height: 1.4;
    text-align: center;
    margin-top: 4rem; }
    form .about-privacy .title {
      font-weight: bold; }
    form .about-privacy .list li {
      margin-top: 8px; }
    form .about-privacy a {
      color: #686767;
      transition: .2s linear color; }
      form .about-privacy a:hover {
        color: #000000; }
  form .message {
    color: #b31e23;
    font-size: 11px;
    font-weight: bold;
    line-height: 1.6;
    max-width: 400px;
    width: 90%;
    margin-inline: auto;
    text-align: center;
    margin-top: 4rem; }
  form .sent {
    max-width: 400px;
    width: 90%;
    margin-inline: auto; }
    form .sent button {
      margin-top: 10px;
      width: 100%;
      background-color: #b31e23;
      color: #ffffff;
      text-align: center;
      font-weight: bold;
      font-size: 17px;
      padding: 15px;
      transition: .2s linear filter; }
      form .sent button:hover {
        filter: brightness(110%); }

.vsp480 {
  white-space: nowrap;
  display: inline-block;
  margin-right: 0.75em; }

@media (max-width: 960px) {
  .container .page-name {
    margin-top: 6rem; } }
@media (max-width: 520px) {
  .container .sitename {
    width: 105px;
    margin-top: 40px;
    margin-left: 0;
    margin-inline: auto; }
  .container .close-button {
    right: 10px;
    top: 10px;
    width: 20px; }

  form .contact-information .company-list {
    column-gap: 1rem; }
  form .content-section .request-item-list {
    column-gap: 3rem; }
  form .basic-information-section .visitor-info .checkbox-group {
    grid-column: span 1; } }


#thanks {
  border-bottom: 1px solid #ccc;
  padding-bottom: 9rem;
}
.thanks_txt {
  text-align: center;
  font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', 'Hiragino Kaku Gothic ProN', 'メイリオ', 'Meiryo', sans-serif;
  font-weight: 300;
  -webkit-font-smoothing: antialiased;
  font-size: 16px;
  line-height: 2;
  margin: 3rem auto 0;
  width: 90%;
}
.thanks_btn {
  max-width: 380px;
  margin: 4rem auto 0;
  width: 90%;
  font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', 'Hiragino Kaku Gothic ProN', 'メイリオ', 'Meiryo', sans-serif;
  font-weight: 300;
  -webkit-font-smoothing: antialiased;
}
.thanks_btn a {
  display: block;
  width: 100%;
  background: #5d7ca3;
  color: #fff;
  text-align: center;
  font-size: 16px;
  line-height: 1;
  padding: 20px 0;
  border-radius: 5px;
  transition: .3s;
}
.thanks_btn a:hover {
  filter: brightness(120%);
}
@media (max-width: 520px) {
  .thanks_txt {
    font-size: 14px;
  }
}