@charset "UTF-8";
:root {
  --main:#000;
  --main-sub:#010101;
  --primary:#7c0000;
  --accent: #fef200;
  --gray: #e9e9e9;
  --sub: #deecff;
  --inverse: #fff;
  --red: #c7000a;
  --color-def: #000;
  --color-catch: #f5f5f5;
  --color-link: #0070ff;
  --color-footer: #fff;
  --inverse-def: #fff;
  --bg-blue: #dde2f1;
  --btn-bg: #fef200;
  --btn-color: #000000;
  --btn-border: #fef200;
  --btn-bg-h: #deecff;
  --btn-color-h: #000000;
  --btn-border-h: #deecff;
  --btn-w: calc(320em / 18);
  --btn-h: calc(90em / 18);
  --btn-round: 10px;
  --btn-size: inherit;
  --header-h: 100px;
  --header-bg: #fff;
  --header-bg-scroll: #fff;
  --body-bg: #fff;
  --footer-bg: #005ec1;
  --gnav-bg:#deecff;
  --gnav-bg_hv:#000;
  --gnav-color:#0070ff;
  --gnav-color-h:#0070ff;
  --gnav-h: 60px;
  --gnav-btn-h:30px;
  --gnav-btn-w:clamp(40px, calc(140vmin / 15), 46px);
  --gnav-btn-bg:#000;
  --gnav-btn-active:#0082b4;
  --svg-bg: var(--primary);
  --svg-color: #fff;
  --svg-w: 1em;
  --gra-base: rgba(0,129,155,1) 0%, rgba(0,130,180,1) 23%, rgba(0,74,147,1) 60%, rgba(66,94,164,1) 100%;
  --gra: linear-gradient(var(--gra-agl, 90deg), var(--gra-base));
  --table-head: #aa9986;
  --title-bottom: 1.5em;
  --lineheight: calc(30 / 18);
  --lineheight-title: 1.25;
  --letterspace-def: 0.025em;
  --letterspace: 0.025em;
  --letterspace-narrow: 0.0em;
  --letterspace-wide: 0.17em;
  --size-def: clamp(14px, calc(13vmin / 4), 18px);
  --size-12: clamp(10px, calc(10vmin / 4), 12px);
  --size-14: clamp(12px, calc(10vmin / 4), 14px);
  --size-16: clamp(13px, calc(13vmin / 4), 16px);
  --size-17: clamp(14px, calc(13vmin / 4), 17px);
  --size-18: clamp(14px, calc(13vmin / 4), 18px);
  --size-20: clamp(16px, calc(16vmin / 4), 20px);
  --size-21: clamp(16px, calc(16vmin / 4), 21px);
  --size-22: clamp(16px, calc(16vmin / 4), 22px);
  --size-24: clamp(18px, calc(16vmin / 4), 24px);
  --size-25: clamp(18px, calc(16vmin / 4), 25px);
  --size-26: clamp(18px, calc(18vmin / 4), 26px);
  --size-28: clamp(18px, calc(18vmin / 4), 28px);
  --size-30: clamp(18px, calc(18vmin / 4), 30px);
  --size-32: clamp(18px, calc(18vmin / 4), 32px);
  --size-34: clamp(18px, calc(18vmin / 4), 34px);
  --size-35: clamp(18px, calc(18vmin / 4), 35px);
  --size-36: clamp(20px, calc(20vmin / 4), 36px);
  --size-38: clamp(22px, calc(20vmin / 4), 38px);
  --size-40: clamp(26px, calc(24vmin / 4), 40px);
  --size-42: clamp(26px, calc(24vmin / 4), 42px);
  --size-48: clamp(30px, calc(26vmin / 4), 48px);
  --size-50: clamp(30px, calc(26vmin / 4), 50px);
  --size-56: clamp(30px, calc(28vmin / 4), 56px);
  --size-60: clamp(30px, calc(30vmin / 4), 60px);
  --size-64: clamp(30px, calc(30vmin / 4), 64px);
  --size-68: clamp(30px, calc(34vmin / 4), 68px);
  --size-70: clamp(35px, calc(35vmin / 4), 70px);
  --size-72: clamp(35px, calc(35vmin / 4), 72px);
  --size-80: clamp(40px, calc(40vmin / 4), 80px);
  --size-84: clamp(40px, calc(40vmin / 4), 84px);
  --size-88: clamp(48px, calc(48vmin / 4), 88px);
  --size-110: clamp(40px, calc(40vmin / 4), 110px);
  --size-120: clamp(40px, calc(50vmin / 4), 120px);
  --size-150: clamp(45px, calc(150vw / 16.8), 150px);
  --easing: cubic-bezier(0.37, 0, 0.63, 1);
  --easing-def: cubic-bezier(0.42, 0, 0.58, 1);
  --easing-slide: cubic-bezier(0.77, 0, 0.175, 1);
  --container: 1030px;
  --container-wide: 1430px;
  --container-slim: 1030px;
  --container-pad: min(calc(80% / 14.4), 15px);
  --container-pad_sp: min(calc(100% / 12.8), 15px);
  --sec-top:clamp(3em, calc(100% / 12), 90px);
  --sec-bottom:clamp(3em, calc(100% / 12), 90px);
  --thumb-aspect: 470 / 307;
  --font-gothic:'Zen Kaku Gothic New', 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ヒラギノ角ゴ ProN W3','Hiragino Kaku Gothic ProN','Yu Gothic', sans-serif;
  --font-mincho: 'YuMincho', 'Hiragino Mincho ProN', 'Yu Mincho', 'MS PMincho', serif;
  --font-en: 'Cormorant Garamond','Yu Gothic','ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ ProN W3','Hiragino Kaku Gothic ProN', sans-serif;
  --font-poppins: 'Poppins','Yu Gothic','ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ ProN W3','Hiragino Kaku Gothic ProN', sans-serif;
}

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 100;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 200;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 300;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 400;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold");
  font-weight: bold;
}
.fc-primary {
  color: var(--primary);
}

.size-18 {
  font-size: var(--size-18);
}

.list-indent {
  list-style: none;
  list-style-type: none;
}
.list-indent li {
  list-style: none;
  list-style-type: none;
  padding-left: var(--indent-space, 1em);
  text-indent: calc(var(--indent-space, 1em) * -1);
}

.mt1em {
  margin-top: 1em;
}

.form-title {
  background-color: #6c6c6c;
  color: #fff;
  font-size: 14px;
  padding: 0.5em;
  line-height: 1.1;
  text-align: center;
  font-weight: 400;
}
.form-fields .zip-grp {
  display: flex;
  gap: 0.5em;
  align-items: center;
}
.form-fields .tel-grp {
  display: flex;
  gap: 0.5em;
  align-items: center;
}
.form-fields .tel-grp input {
  width: 70px;
}
.form-fill#zip1, .form-fill.zip-no {
  width: 60px;
}
.form-fill#zip2, .form-fill.zip-no:nth-of-type(2) {
  width: 70px;
}
.form-fill.-fat {
  height: 12em;
  vertical-align: text-top;
}
.form-item {
  display: grid;
  grid-template-columns: 16.25em auto;
  --input-color: #c9c9c9;
  align-items: flex-start;
}
.form-col {
  padding: 1.875em 0;
}
.form-col .-sub-row {
  display: grid;
  grid-template-columns: 9.5em auto;
  margin-top: 1rem;
  align-items: center;
}
.form-col .-sub-row:nth-of-type(n + 2) {
  margin-top: 1.875em;
  padding-top: 1.875em;
  border-top: 1px #bdbdbd solid;
}
.form-btns {
  display: flex;
  justify-content: center;
  gap: 1.5em;
  flex-wrap: wrap;
  margin-top: 3em;
}
.form-btns .wpcf7-spinner {
  position: absolute;
}
.form-grp {
  display: flex;
  align-items: center;
  gap: 0.5em;
  flex-wrap: wrap;
}
.form-submit {
  --btn-w:calc(350em / 18);
  --btn-h:calc(70em / 18);
  --btn-bg: var(--primary);
  --btn-color: #fff;
  --btn-border: var(--primary);
  --btn-bg-h: var(--primary);
  background-image: url(../images/theme/arrow.svg);
  background-position: calc(100% - 10px) 50%;
  background-size: 6px 11px;
}
.form-bottom {
  flex-direction: column;
  align-items: center;
}
.form-group {
  display: flex;
  flex-wrap: wrap;
  gap: 1em 2em;
  --label-w: calc(190em /16);
}
.form-tab-wrapper {
  margin-bottom: clamp(3em, 14.0845070423%, 100px);
  font-size: 0.875rem;
}
.form-tab-ttile {
  background-color: #b50808;
  color: #fff;
  font-size: 14px;
  padding: 0.5em;
  line-height: 1.1;
  text-align: center;
  font-weight: 400;
}
.form-tab-btns {
  background-color: #f5f5f5;
  padding: 10px;
  border: 1px #e1e1e1 solid;
  margin-bottom: clamp(2em, 5.6338028169%, 40px);
}
.form-tab-btns label {
  display: flex;
  gap: 0.5em;
  align-items: flex-start;
}
.form-tab-btns .js-tab-radio {
  flex-shrink: 0;
  width: 1.2em;
  aspect-ratio: 1/1;
  margin-left: 0;
  margin-top: 0.2em;
}
.form-visitor {
  display: flex;
  gap: 0.5em 12px;
  align-items: center;
}
.form-visitor .form-fill {
  width: 359px;
}
.form-relation {
  margin-top: 10px;
  display: flex;
  gap: 0.5em 12px;
  align-items: center;
}
.form-relation .form-fill {
  width: 199px;
}
.form-date {
  max-width: 299px;
  margin-top: 10px;
}
.form-time {
  width: 199px;
  height: 2em;
  max-width: 100%;
}
.form-time-grp {
  margin-top: 10px;
  margin-bottom: 10px;
  display: flex;
  gap: 0.5em 15px;
  align-items: center;
}
.form-example {
  margin-top: clamp(2em, 5.6338028169%, 40px);
  border: 1px #e1e1e1 solid;
  padding: 1em 1.5em;
  line-height: 2;
}
.form-example p {
  line-height: inherit;
}
.form-example .-appointment-flow {
  --indent-space:2em;
}
.form-example .-appointment-flow ul {
  margin-left: -1em;
}
.form-example a {
  text-decoration: underline;
}
.form-example + .form-example {
  margin-top: 20px;
}
.form-agreement {
  margin-top: clamp(2em, 5.6338028169%, 40px);
  background-color: #f5f5f5;
  border: 1px #e1e1e1 solid;
  padding: 10px;
  text-align: center;
}
.form-agreement-head {
  background-color: #e2e2e2;
  padding: 0.5em;
}
.form-agreement-head p {
  margin: 0;
}
.form-agreement-body {
  margin: 0.6em 0 0.2em;
}
.form-agreement.-estimate2 {
  display: flex;
  justify-content: center;
}
.form-agreement.-estimate2 .form-agreement-body {
  flex-basis: 580px;
}
.form-agreement.-estimate2 .form-agreement-body .wpcf7-list-item {
  display: block;
  text-align: left;
}
.form-agreement.-estimate2 .form-agreement-body .wpcf7-list-item label {
  display: flex;
  gap: 10px;
  align-items: flex-start;
}
.form-agreement.-estimate2 .form-agreement-body .wpcf7-list-item label input {
  width: 1.2em;
  aspect-ratio: 1/1;
  flex-shrink: 0;
  margin-top: 0.2em;
}
.form-agreement.-estimate2 .form-agreement-body .-text {
  display: inline-block;
}
.form-box {
  margin-top: clamp(2em, 5.6338028169%, 40px);
  background-color: #f5f5f5;
  border: 1px #e1e1e1 solid;
  padding: 1em;
  text-align: center;
}
.form-box p {
  margin-top: 0;
}
.form-box .btn-book {
  background-color: #b50808;
  color: #fff;
  display: flex;
  min-height: 2.8571428571em;
  justify-content: center;
  align-items: center;
  flex-basis: 13.5714285714em;
  border-radius: 5px;
}
.form-box .btn-book-wrap {
  display: flex;
  justify-content: center;
  margin-bottom: 1.5em;
}
@media print, screen and (max-width: 767px) {
  .form-wrapper {
    border-radius: 0;
  }
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .form-head {
    gap: 0 1em;
  }
  .form-item {
    grid-template-columns: repeat(1, 1fr);
  }
  .form-label {
    padding: 1em 0;
  }
  .form-col {
    padding-top: 0;
  }
  .form-col .-sub-row {
    grid-template-columns: repeat(1, 1fr);
  }
  .form-rows > li {
    padding: 1.5em 0;
  }
  .form-rows > li dl {
    flex-wrap: wrap;
    gap: 0.5em;
  }
  .form-rows > li dl dt, .form-rows > li dl dd {
    width: 100%;
  }
  .form-control.w-150, .form .wpcf7-text.w-150, .form .wpcf7-select.w-150, .form .wpcf7-textarea.w-150 {
    max-width: 80px;
  }
  .form-control.w-100, .form .wpcf7-text.w-100, .form .wpcf7-select.w-100, .form .wpcf7-textarea.w-100 {
    max-width: 60px;
  }
}
@media print, screen and (min-width: 768px) {
  .form .input-m {
    width: 560px;
  }
}

.js-form-screen .js-form-confirm,
.js-form-screen .thanks_area {
  display: none;
}

#cf7-confirm-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9999;
}

/* .is-visible クラスが付いたとき表示 */
#cf7-confirm-modal.is-visible {
  display: block;
}

/* 背景オーバーレイ（半透明の黒） */
#cf7-confirm-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
}

/* モーダルボックス本体 */
#cf7-confirm-box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
  border-radius: 8px;
  padding: 32px 28px;
  width: 90%;
  max-width: 860px;
  max-height: 80vh; /* 画面高さの80%を超えたらスクロール */
  overflow-y: auto;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
}

/* タイトル */
#cf7-confirm-box h2 {
  font-size: 18px;
  margin: 0 0 8px;
  color: #333;
}

/* リード文 */
.cf7-confirm-lead {
  font-size: 14px;
  color: #666;
  margin: 0 0 20px;
  line-height: 1.7;
}

/* 入力内容テーブル（dl要素） */
#cf7-confirm-table {
  margin: 0 0 24px;
  padding: 0;
}

/* 1行分（項目名 + 入力値） */
.cf7-confirm-row {
  display: grid;
  grid-template-columns: 140px 1fr; /* 左：項目名 / 右：入力値 */
  gap: 8px 16px;
  padding: 12px 0;
  border-bottom: 1px solid #eee;
  font-size: 14px;
  line-height: 1.6;
}

.cf7-confirm-row:first-child {
  border-top: 1px solid #eee;
}

/* 項目名 */
.cf7-confirm-row dt {
  font-weight: bold;
  color: #555;
  word-break: break-all;
}

/* 入力値 */
.cf7-confirm-row dd {
  margin: 0;
  color: #333;
  word-break: break-all;
}

/* ボタンエリア */
.cf7-confirm-buttons {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}

/* 「戻って修正する」ボタン */
#cf7-back-btn {
  padding: 10px 24px;
  background: #f0f0f0;
  color: #555;
  border: none;
  border-radius: 4px;
  font-size: 14px;
  cursor: pointer;
  transition: background 0.2s;
}

#cf7-back-btn:hover {
  background: #ddd;
}

/* 「送信する」ボタン */
#cf7-send-btn {
  padding: 10px 24px;
  background: var(--primary);
  color: #fff;
  border: none;
  border-radius: 4px;
  font-size: 14px;
  cursor: pointer;
  transition: background 0.2s;
}

#cf7-send-btn:hover {
  background: #357abd;
}

/* モーダル表示中はページ本体のスクロールを禁止 */
body.cf7-modal-open {
  overflow: hidden;
}

/* ===============
   スマホ対応
=============== */
@media (max-width: 480px) {
  #cf7-confirm-box {
    padding: 24px 16px;
  }
  /* スマホでは項目名と入力値を縦並びに */
  .cf7-confirm-row {
    grid-template-columns: 1fr;
    gap: 4px;
  }
}
.js-tab-panel {
  display: none;
}

.js-tab-panel.active {
  display: block;
}/*# sourceMappingURL=style.css.map */