@charset "UTF-8";

/* ============================================================
   リセット
   ============================================================ */
article, aside, details, figcaption, figure, footer, header,
hgroup, nav, section {
  display: block;
}

audio[controls], canvas, video {
  display: inline-block;
  *display: inline;
  zoom: 1;
}

html {
  overflow-y: scroll;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

body, div, dl, dt, dd, h1, h2, h3, h4, h5, h6, pre, form,
fieldset, input, textarea, p, blockquote, th, td, ul {
  margin: 0;
  padding: 0;
}

body, button, input, select, textarea {
  font-size: 100%;
}

abbr[title] { border-bottom: 1px dotted; }
b, strong { font-weight: bold; }
blockquote { margin: 1em 40px; }
dfn { font-style: italic; }
mark { background: #ff0; color: #000; }

pre, code, kbd, samp {
  font-family: monospace, monospace;
  _font-family: 'courier new', monospace;
  font-size: 1em;
}
pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
}

q { quotes: none; }
q:before, q:after { content: ""; content: none; }

small { font-size: 75%; }

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup { top: -0.5em; }
sub { bottom: -0.25em; }

ul, ol { margin: 0; padding: 0; }
dd { margin: 0; }
nav ul, nav ol { list-style: none; }

img {
  border: 0;
  -ms-interpolation-mode: bicubic;
}
svg:not(:root) { overflow: hidden; }

figure, form { margin: 0; }

fieldset {
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}
legend { border: 0; *margin-left: -7px; }

button, input, select, textarea {
  font-size: 100%;
  margin: 0;
  vertical-align: baseline;
  *vertical-align: middle;
}
button, input {
  line-height: normal;
  *overflow: visible;
}
button {
  cursor: pointer;
  -webkit-appearance: button;
}
input[type=button], input[type=reset], input[type=submit] {
  cursor: pointer;
  -webkit-appearance: button;
}
input[type=checkbox], input[type=radio] {
  box-sizing: border-box;
}
input[type=search] {
  -webkit-appearance: textfield;
  box-sizing: content-box;
}
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}
button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
textarea {
  overflow: auto;
  vertical-align: top;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
}
h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
  font-size: 100%;
}
img, abbr, acronym, fieldset { border: 0; }
li { list-style: none; }

img {
  vertical-align: top;
  font-size: 0;
  line-height: 0;
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
*:before, *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}


/* ============================================================
   ユーティリティ
   ============================================================ */
.flt { float: left; }
.flr { float: right; }

.txt_l, td.txt_l, .txt_l td { text-align: left; }
.txt_r, td.txt_r, .txt_r td { text-align: right; }
.txt_c, td.txt_c, .txt_c td { text-align: center; }

.valign_t, td.valign_t, .valign_t td { vertical-align: top; }
.valign_m, td.valign_m, .valign_m td { vertical-align: middle; }
.valign_b, td.valign_b, .valign_b td { vertical-align: bottom; }

.clear { clear: both; }

.clearfix { zoom: 1; }
.clearfix:before { content: ""; display: block; }
.clearfix:after  { content: ""; display: block; clear: both; }

.img_bd { border: solid 1px #E8E8E8; }
.c_red  { color: #FF3425; }
.center { text-align: center; }

.bg_gray   { background: #ccc; }
.bg_white  { background: #fff; }
.bg_black  { background: #000; }

.txt_clr_gray  { color: #ccc; }
.txt_clr_white { color: #fff; }
.txt_clr_black { color: #000; }

.marker {
  background: linear-gradient(rgba(255,255,255,0) 65%, #ffee00 65%);
}

.opacity { transition: 0.3s; }
.opacity:hover { opacity: 0.5; }


/* ============================================================
   ベース
   ============================================================ */
html {
  width: 100%;
}

body {
  color: #1c0000;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
  text-align: left;
  letter-spacing: 1px;
  font-family: 'Noto Sans JP', sans-serif;
}
@media screen and (max-width: 750px) {
  body {
    font-size: 15px;
  }
}

a {
  text-decoration: none;
  color: #1c0000;
  transition: 0.3s;
}
a:link, a:active, a:visited {
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
}
img[src$=".svg"] {
  max-width: 100%;
  width: 100%;
  height: auto;
}

/* PC / SP 出し分け */
.pc {
  display: inherit;
}
@media screen and (max-width: 750px) {
  .pc { display: none; }
}

.sp {
  display: none;
}
@media screen and (max-width: 750px) {
  .sp { display: inherit; }
}


/* ============================================================
   レイアウト
   ============================================================ */
#container_wrap {
  overflow: hidden;
  max-width: 750px;
  margin: 0 auto;
  min-width: auto;
}
@media screen and (max-width: 750px) {
  #container_wrap {
    min-width: 1px;
  }
}

/* 750px フレキシブル inner */
.inner {
  max-width: 750px;
  width: 100%;
  margin: 0 auto;
  padding: 0 15px;
}
.inner::after {
  content: "";
  display: block;
  clear: both;
}

.section_wrap {
  padding: 0;
  overflow: hidden;
}
.section {
  overflow: hidden;
}


/* ============================================================
   FV
   ============================================================ */
.fv {
  width: 100%;
}
.fv__inner {
  width: 100%;
  max-width: 750px;
  margin: 0 auto;
}
.fv img {
  display: block;
  width: 100%;
  height: auto;
}
.fv__main img {
  display: block;
  width: 100%;
  height: auto;
}


/* ============================================================
   人気車種8選 タイトル（赤帯）
   ============================================================ */
.carttl {
  width: 100%;
}
.carttl__inner {
  max-width: 750px;
  margin: 0 auto;
  background: #e60012;
  color: #fff;
  text-align: center;
  padding: 12% 4% 12%;
}

/* 上段：お好きなカラーが選べます！ */
.carttl__lead {
  font-size: 44px;
  font-weight: 700;
  line-height: 1.4;
  margin: 0 0 3%;
  letter-spacing: 0.02em;
}

/* 中段：＼TOPICのおすすめ／ */
.carttl__sub {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  font-size: 44px;
  font-weight: 700;
  margin: 0 0 2%;
}
.carttl__slash {
  display: inline-block;
  width: 4px;
  height: 1em;
  background: #fff;
}
.carttl__slash--l {
  transform: rotate(-20deg);
}
.carttl__slash--r {
  transform: rotate(20deg);
}

/* 下段：人気車種8選 */
.carttl__main {
  font-size: 84px;
  font-weight: 700;
  line-height: 1.1;
  margin: -6% 0 0;
  letter-spacing: 0.04em;
}
.carttl__num {
  color: #ffe800;
  font-size: 1.5em;
  font-weight: 700;
  margin: -3% 0.05em;
  vertical-align: -0.04em;
}

@media (max-width: 749px) {
.carttl__slash {
  display: inline-block;
  width: 3px;
  height: 1em;
  background: #fff;
}
  .carttl__inner {
    padding: 12% 4% 12%;
  }
  .carttl__lead {
    font-size: 6vw;
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 5%;
  }
  .carttl__sub {
    font-size: 1.6em;
    font-weight: 700;
    line-height: 1.2;
    gap: 14px;
    margin: 0;
  }
  .carttl__main {
    font-size: 12vw;
    font-weight: 700;
    line-height: 1.1;
    margin: -3% 0 0;
  }
}


/* ============================================================
   人気車種リスト
   ============================================================ */
.carlist {
  width: 100%;
  background: #fff;
}
.carlist__inner {
  max-width: 750px;
  margin: 0 auto;
  background: #ececec;
  padding: 15% 6% 10%;   /* 上の余白を拡大 */
}

/* カード */
.carcard {
  background: #fff;
  border-radius: 22px;
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.16), 0 4px 10px rgba(0, 0, 0, 0.08);
  padding: 10% 7% 11%;
  margin: 0 0 8%;
}
.carcard:last-child {
  margin-bottom: 0;
}

/* 上段：画像＋車種名（画像左・車名は上付き配置） */
.carcard__top {
  display: flex;
  align-items: flex-start;
  gap: 2%;
  margin: 0 0 7%;
}
.carcard__img {
  width: 50%;           /* ← 車名が1行に収まるように50%に */
  flex: 0 0 50%;
}
.carcard__img img {
  display: block;
  width: 100%;
  height: auto;
}
.carcard__name {
  width: 50%;
  flex: 0 0 50%;
  text-align: left;
  padding-left: 2%;
  padding-top: 4%;
}
.carcard__maker {
  font-size: 22px;
  font-weight: 700;
  color: #3e3a39;
  line-height: 1.2;
  margin: 0 0 6px;
  letter-spacing: 0.04em;
}
.carcard__model {
  font-size: 34px;
  font-weight: 900;
  color: #3e3a39;
  line-height: 1.25;
  margin: 0;
  letter-spacing: 0.02em;
}
.carcard__sub {
  font-size: 22px;
  font-weight: 700;
  color: #3e3a39;
  line-height: 1.3;
  margin: 6px 0 0;
  letter-spacing: 0.02em;
}

/* 中段：価格 */
.carcard__price {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2%;
  margin: 0 0 7%;
}
.carcard__priceLabel {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.1;
  color: #3e3a39;
  writing-mode: vertical-rl;
  letter-spacing: 0.1em;
  align-self: stretch;
	padding-top:3%;
}
.carcard__priceNum {
  font-size: 84px;
  font-weight: 700;
  color: #e60012;
  line-height: 1;
  letter-spacing: 0.01em;
  font-family: 'Noto Sans JP', sans-serif;
}
.carcard__priceUnit {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1.2;
}
.carcard__priceTimes {
  font-size: 22px;
  font-weight: 700;
  color: #3e3a39;
}
.carcard__priceYen {
  font-size: 30px;
  font-weight: 700;
  color: #3e3a39;
}

/* 下段：詳細 */
.carcard__detail {
  text-align: center;
}
.carcard__detail p {
  font-size: 22px;
  font-weight: 500;
  line-height: 1.9;
  color: #3e3a39;
  margin: 0;
  letter-spacing: 0.02em;
}

@media (max-width: 749px) {
  .carlist__inner {
    padding: 15% 6% 10%;
  }
  .carcard {
    border-radius: 18px;
    padding: 9% 6% 10%;
    margin-bottom: 7%;
  }
  .carcard__top {
    gap: 2%;
    margin-bottom: 6%;
  }
  .carcard__img {
    width: 45%;
    flex: 0 0 45%;
  }
  .carcard__name {
    width: 55%;
    flex: 0 0 55%;
  }
  .carcard__maker {
    font-size: 3.5vw;
  }
  .carcard__model {
    font-size: 5vw;
  }
  .carcard__sub {
    font-size: 3.5vw;
    margin-top: 4px;
  }
  .carcard__price {
    margin-bottom: 6%;
  }
  .carcard__priceLabel {
    font-size: 4vw;
  }
  .carcard__priceNum {
    font-size: 12vw;
  }
  .carcard__priceTimes {
    font-size: 3vw;
    font-weight: 700;
  }
  .carcard__priceYen {
    font-size: 4.5vw;
  }
  .carcard__detail p {
    font-size: 3.5vw;
    line-height: 1.9;
  }
}


/* ============================================================
   来店予約CTA
   ============================================================ */
.visitcta {
  width: 100%;
}
.visitcta__inner {
  max-width: 750px;
  margin: 0 auto;
  padding: 0;
}

/* 画像＋ボタンの重ね合わせ用ラッパー */
.visitcta__box {
  position: relative;
  width: 100%;
  line-height: 0;
}
.visitcta__bg {
  display: block;
  width: 100%;
  height: auto;
}

/* ボタン（画像）：背景画像内の位置に配置 */
.visitcta__btn {
  position: absolute;
  left: 50%;
  bottom: 6%;
  transform: translateX(-50%);
  display: block;
  width: 75%;
  line-height: 0;
  transition: opacity 0.2s;
}
.visitcta__btn img {
  display: block;
  width: 100%;
  height: auto;
}
.visitcta__btn:hover {
  opacity: 0.88;
}

@media (max-width: 749px) {
  .visitcta__inner {
    padding: 0;
  }
}


/* ============================================================
   お客様の声
   ============================================================ */
.voice {
  width: 100%;
  background: #fff;
}
.voice__inner {
  max-width: 750px;
  margin: 0 auto;
  padding: 20% 8% 10%;
}

/* タイトル */
.voice__ttl {
  color: #e60012;
  font-size: 66px;
  font-weight: 700;
  text-align: center;
  line-height: 1.2;
  letter-spacing: 0.06em;
  margin: 0 0 7%;
}

/* カード */
.voicecard {
  position: relative;
  background: #fff;
  border: 4px solid #ff6670;
  border-radius: 60px 0 0 0; /* 左上だけ角丸 */
  padding: 9% 7% 11% 7%;
  margin: 0 0 8%;
}
.voicecard:last-child {
  margin-bottom: 0;
}

/* 写真（既に角丸済み） */
.voicecard__img {
  width: 100%;
  text-align: center;
  margin: 0 0 9%;
  line-height: 0;
}
.voicecard__img img {
  display: inline-block;
  width: 100%;
  max-width: 100%;
  height: auto;
}

/* 本文 */
.voicecard__body {
  color: #3e3a39;
}
.voicecard__text {
  font-size: 24px;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: 0.04em;
  margin: 0;
  white-space: pre-wrap;
}
.voicecard__profile {
  font-size: 24px;
  font-weight: 500;
  line-height: 1.5;
  margin: 8% 0 0;
  letter-spacing: 0.02em;
}

@media (max-width: 749px) {
  .voice__inner {
    padding: 20% 8% 10%;
  }
  .voice__ttl {
    font-size: 9vw;
    margin-bottom: 7%;
  }
  .voicecard {
    border-width: 4px;
    border-radius: 48px 0 0 0;
    padding: 8% 6% 10% 6%;
  }
  .voicecard__text {
    font-size: 4vw;
  }
  .voicecard__profile {
    font-size: 4vw;
  }
}


/* ============================================================
   選ばれる理由
   ============================================================ */
.reason {
  width: 100%;
  background: #fff;
}
.reason__inner {
  max-width: 750px;
  margin: 0 auto;
  padding: 10% 5%;
}

/* タイトル */
.reason__ttl {
  color: #e60012;
  font-size: 66px;
  font-weight: 700;
  text-align: center;
  line-height: 1.25;
  letter-spacing: 0.04em;
  margin: 0 0 10%;
}

/* 各項目 */
.reason__item {
  text-align: center;
  margin: 0 0 10%;
}

/* 見出し行（REASON バッジ + 見出し）：左寄せ */
.reason__head {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 5%;
  margin: 0 0 5%;
  padding-left: 3%;
}

/* REASONバッジ（水色円） */
.reason__badge {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 90px;
  height: 90px;
  background: #65baf1;
  color: #fff;
  border-radius: 50%;
  line-height: 1;
}
.reason__badgeLabel {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin-bottom: 4px;
  color: #fff;
}
.reason__badgeNum {
  font-size: 36px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #fff;
}

/* 見出し */
.reason__headline {
  font-size: 52px;
  font-weight: 700;
  color: #3e3a39;
  line-height: 1.3;
  letter-spacing: 0.02em;
  margin: 0;
  text-align: left;
}
/* REASON 01専用（レタースペース+拡大装飾あるので少し小さく） */
.reason__headline--r01 {
  font-size: 36px;
}
.reason__headline1 {
  letter-spacing: 0.5em;
  padding-left: 0.5em;
}
.reason__big {
  font-size: 1.5em;
  font-weight: 700;
  letter-spacing: 0.01em;
}
.reason__strong {
  font-size: 1.5em;
  font-weight: 700;
}

@media (min-width: 750px) {
  .reason__big {
    font-size: 1.7em;
  }
  .reason__strong {
    font-size: 1.7em;
  }
}

/* 本文 */
.reason__lead {
  font-size: 28px;
  font-weight: 500;
  color: #3e3a39;
  line-height: 1.6;
  margin: 0 0 1%;
  letter-spacing: 0.02em;
}
.reason__note {
  font-size: 20px;
  font-weight: 500;
  color: #3e3a39;
  line-height: 1.6;
  margin: 0 0 5%;
  letter-spacing: 0.02em;
}

/* メダル画像 */
.reason__img {
  width: 80%;
  margin: 0 auto;
  line-height: 0;
}
.reason__img img {
  display: block;
  width: 100%;
  height: auto;
}

/* 写真（角丸済み画像を中央配置） */
.reason__photo {
  width: 100%;
  margin: 5% auto 0;
  line-height: 0;
}
.reason__photo img {
  display: block;
  width: 100%;
  height: auto;
}

/* 本文 中央寄せ */
.reason__lead--center {
  text-align: center;
}

/* キャプション（他社比較表など） */
.reason__caption {
  font-size: 28px;
  font-weight: 500;
  color: #3e3a39;
  line-height: 1.6;
  margin: 0 0 3%;
  letter-spacing: 0.02em;
  text-align: center;
}

/* 比較表 */
.reason__table {
  width: 100%;
  margin: 0 auto;
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
  font-size: 36px;
  font-weight: 700;
  color: #3e3a39;
  line-height: 1.2;
  border: 4px solid #c6c6c6;
  border-radius: 27px;
  overflow: hidden;
  table-layout: fixed;
}
.reason__table th,
.reason__table td {
  border: 1px solid #c6c6c6;
  padding: 4% 2%;
  text-align: center;
  vertical-align: middle;
  color: #3e3a39;
  white-space: nowrap;
}
.reason__table th {
  background: #fff;
  font-weight: 700;
  font-size: 1.2em;  /* 行ラベル(TOPIC/A社等)を少し大きく */
}
.reason__table td {
  background: #fff;
  text-align: center;
  padding-left: 3%;
}

/* 外枠側のボーダーは内側と重ねないように削除 */
.reason__table tr:first-child th,
.reason__table tr:first-child td {
  border-top: 0;
}
.reason__table tr:last-child th,
.reason__table tr:last-child td {
  border-bottom: 0;
}
.reason__table th:first-child,
.reason__table td:first-child {
  border-left: 0;
}
.reason__table th:last-child,
.reason__table td:last-child {
  border-right: 0;
}

/* 1行目（ヘッダー） */
.reason__table tr:first-child th {
  font-weight: 700;
}

/* TOPIC行 */
.reason__tableRow--topic th,
.reason__tableRow--topic td {
  background: #d5edfa;
}
.reason__tableRow--topic th {
  color: #ec1d25;
}
.reason__tableRow--topic td {
  color: #ec1d25;
}
.reason__tableRow--topic .reason__tablePrice {
  color: #ec1d25;
}

/* 数字(大きめ) */
.reason__tablePrice {
  font-size: 2em;
  font-weight: 700;
  letter-spacing: 0.02em;
}

/* 左寄せ注釈 */
.reason__note--left {
  text-align: left;
  width: 100%;
  margin: 4% auto 0;
  padding: 0 4% 0 calc(3% + 1em);
  text-indent: -1em;
}

@media (max-width: 749px) {
  .reason__inner {
    padding: 10% 4%;
  }
  .reason__ttl {
    font-size: 9vw;
  }
  .reason__badge {
    width: 18vw;
    height: 18vw;
  }
  .reason__badgeLabel {
    font-size: 2.25vw;
  }
  .reason__badgeNum {
    font-size: 7.5vw;
    font-weight: 700;
  }
  .reason__headline {
    font-size: 8vw;
  }
  .reason__headline--r01 {
    font-size: 6vw;
  }
  .reason__lead {
    font-size: 4.5vw;
  }
  .reason__lead--center {
    font-size: 4.5vw;
  }
  .reason__note {
    font-size: 3.5vw;
  }
  .reason__img {
    width: 80%;
  }
  .reason__caption {
    font-size: 4.5vw;
  }
  .reason__table {
    font-size: 5.4vw;
  }
  .reason__table th,
  .reason__table td {
    border-width: 1px;
  }
}


/* ============================================================
   支払い方法の比較
   ============================================================ */
.paycompare {
  width: 100%;
  background: #fff;
}
.paycompare__inner {
  max-width: 750px;
  margin: 0 auto;
  padding: 5% 5% 10%;
}

/* タイトル */
.paycompare__ttl {
  color: #ec1d25;
  font-size: 66px;
  font-weight: 700;
  text-align: center;
  line-height: 1.25;
  letter-spacing: 0.06em;
  margin: 0 0 6%;
}

/* 画像バージョン */
.paycompare__img {
  width: 100%;
  line-height: 0;
}
.paycompare__img img {
  display: block;
  width: 100%;
  height: auto;
}

/* テーブル */
.paycompare__table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
  color: #383433;
  font-size: 22px;
  font-weight: 400;
  line-height: 1.4;
  border: 4px solid #d4d4d4;
  border-radius: 14px;
  overflow: hidden;
  table-layout: fixed;
}

.paycompare__table th,
.paycompare__table td {
  border: 1px solid #d4d4d4;
  padding: 5% 2%;
  text-align: center;
  vertical-align: middle;
  color: #383433;
}

/* 外枠ボーダーのダブり防止 */
.paycompare__table tr:first-child th,
.paycompare__table tr:first-child td {
  border-top: 0;
}
.paycompare__table tr:last-child th,
.paycompare__table tr:last-child td {
  border-bottom: 0;
}
.paycompare__table th:first-child,
.paycompare__table td:first-child {
  border-left: 0;
}
.paycompare__table th:last-child,
.paycompare__table td:last-child {
  border-right: 0;
}

/* 左上の空セル */
.paycompare__cellEmpty {
  background: #fff;
  border: 0;
}

/* ヘッダーセル（グレー） */
.paycompare__cellGrayHead {
  background: #808080;
  color: #fff !important;
  font-weight: 400;
  padding: 5% 2%;
}

/* TOPICセル（赤背景）※列全体を太字に */
.paycompare__cellRed {
  background: #fad2d3;
  color: #383433;
  font-weight: 900;
  font-family: 'Noto Sans JP', sans-serif;
}
.paycompare__cellRed--bold {
  font-weight: 900;
  font-family: 'Noto Sans JP', sans-serif;
}

/* 赤ヘッダー（TOPIC）も同じく */
.paycompare__cellRedHead {
  background: #ec1d25;
  color: #fff !important;
  font-weight: 900;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.15em;
  padding: 5% 2%;
}

/* 左側の行ラベルセル（thは中央寄せ） */
.paycompare__label {
  background: #fff;
  text-align: center;
  padding: 5% 0;
}

/* 実際の縦書きテキスト（writing-modeを使わず、文字を縦に並べる） */
.paycompare__labelInner {
  display: inline-block;
  color: #383433;
  font-weight: 400;
  font-size: 20px;
  line-height: 1.5;
  letter-spacing: 0;
  white-space: normal;
  word-break: break-all;
  width: 1em;
  text-align: center;
}
.paycompare__label::before,
.paycompare__label::after {
  content: none;
}

/* 通常セル（グレー背景） */
.paycompare__cellGray {
  background: #e2e2e2;
}

/* 小さい注釈 */
.paycompare__small {
  font-size: 0.65em;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0;
}

/* 注釈ブロック（「必要」の下、行間狭め） */
.paycompare__noteBlock {
  display: block;
  font-size: 0.85em;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0;
  margin-top: 4px;
}

/* 「必要」など：セルの標準太さに揃える */
.paycompare__bold {
  display: block;
  font-weight: 400;
  font-size: 1em;
}

@media (max-width: 749px) {
  .paycompare__inner {
    padding: 5% 4% 10%;
  }
  .paycompare__ttl {
    font-size: 9vw;
  }
  .paycompare__table {
    font-size: 3.4vw;
  }
  .paycompare__table th,
  .paycompare__table td {
    border-width: 1px;
  }
}


/* ============================================================
   ご注文までの流れ
   ============================================================ */
.flow {
  width: 100%;
  background: #fff;
}
.flow__inner {
  max-width: 750px;
  margin: 0 auto;
  padding: 10% 5% 20%;
}

/* タイトル */
.flow__ttl {
  color: #ec1d25;
  font-size: 66px;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  letter-spacing: 0.06em;
  margin: 0 0 8%;
}

/* ステップ */
.flowstep {
  text-align: center;
  margin: 0;
}
.flowstep__img {
  width: 95%;
  margin: 0 auto 5%;
  line-height: 0;
}
.flowstep__img img {
  display: block;
  width: 100%;
  height: auto;
}
.flowstep__ttl {
  color:#ec1d25;
  font-size: 52px;
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 3%;
  letter-spacing: 0.04em;
}
.flowstep__subttl {
  font-size: 28px;
  font-weight: 700;
  color: #383433;
  line-height: 1.5;
  margin: 0;
  letter-spacing: 0.02em;
}
.flowstep__text {
  font-size: 24px;
  font-weight: 500;
  color: #383433;
  line-height: 1.7;
  margin: 0;
  letter-spacing: 0.02em;
}

/* 矢印（CSS三角） */
.flow__arrow {
  width: 0;
  height: 0;
  border-left: 22px solid transparent;
  border-right: 22px solid transparent;
  border-top: 32px solid #ec1d25;
  margin: 5% auto;
}

@media (max-width: 749px) {
  .flow__inner {
    padding: 10% 4% 20%;
  }
  .flow__ttl {
    font-size: 9vw;
  }
  .flowstep__ttl {
    font-size: 8vw;
  }
  .flowstep__subttl {
    font-size: 4.5vw;
  }
  .flowstep__text {
    font-size: 4vw;
  }
  .flow__arrow {
    border-left-width: 16px;
    border-right-width: 16px;
    border-top-width: 24px;
    margin: 6% auto;
  }
}


/* ============================================================
   よくあるご質問
   ============================================================ */
.faq {
  width: 100%;
  background: #fff;
}
.faq__inner {
  max-width: 750px;
  margin: 0 auto;
  padding: 20% 5% 10%;
}

/* タイトル */
.faq__ttl {
  color: #ec1d25;
  font-size: 66px;
  font-weight: 700;
  text-align: center;
  line-height: 1.25;
  letter-spacing: 0.06em;
  margin: 0 0 6%;
}

/* リスト */
.faq__list {
  width: 100%;
}

/* 各項目 */
.faqitem {
  border-bottom: 1px solid #3e3a39;
}
.faqitem:last-child {
  border-bottom: 1px solid #3e3a39;
}

/* 質問行 */
.faqitem__q {
  display: flex;
  align-items: flex-start;
  width: 100%;
  background: transparent;
  border: 0;
  padding: 7% 2%;
  cursor: pointer;
  text-align: left;
  gap: 3%;
}

/* Qアイコン */
.faqitem__qIcon {
  flex: 0 0 auto;
  width: 48px;
  line-height: 0;
}
.faqitem__qIcon img {
  display: block;
  width: 100%;
  height: auto;
}

/* 質問テキスト */
.faqitem__qText {
  flex: 1 1 auto;
  color: #3e3a39;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.02em;
  padding-top: 0;
  white-space: pre-line;
	font-family: 'Noto Sans JP', sans-serif;
}

/* +/- トグルアイコン */
.faqitem__toggle {
  flex: 0 0 auto;
  position: relative;
  width: 32px;
  height: 32px;
  margin-top: 6px;
}
.faqitem__toggle::before,
.faqitem__toggle::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  background: #3e3a39;
  transform: translate(-50%, -50%);
}
.faqitem__toggle::before {
  width: 32px;
  height: 3px;
}
.faqitem__toggle::after {
  width: 3px;
  height: 32px;
  transition: transform 0.25s ease;
}
/* 開いたとき：縦線を消す（-になる） */
.faqitem.is-open .faqitem__toggle::after {
  transform: translate(-50%, -50%) rotate(90deg);
  opacity: 0;
}

/* 回答ブロック（初期非表示） */
.faqitem__a {
  display: none;
  padding: 0 2% 7%;
  gap: 3%;
}
.faqitem.is-open .faqitem__a {
  display: flex;
  align-items: flex-start;
}

/* Aアイコン */
.faqitem__aIcon {
  flex: 0 0 auto;
  width: 48px;
  line-height: 0;
}
.faqitem__aIcon img {
  display: block;
  width: 100%;
  height: auto;
}

/* 回答本文 */
.faqitem__aBody {
  flex: 1 1 auto;
  padding-top: 0;
  padding-right: 8%;
}
.faqitem__aTtl {
  color: #3e3a39;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.5;
  margin: 0 0 3%;
  letter-spacing: 0.02em;
  white-space: pre-line;
}
.faqitem__aText {
  color: #3e3a39;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.02em;
  white-space: pre-line;
}
.faqitem__aText p {
  margin: 0 0 1em;
}
.faqitem__aText p:last-child {
  margin-bottom: 0;
}

@media (max-width: 749px) {
  .faq__inner {
    padding: 20% 4% 10%;
  }
  .faq__ttl {
    font-size: 9vw;
  }
  .faqitem__qIcon,
  .faqitem__aIcon {
    width: 8vw;
  }
  .faqitem__qText {
    font-size: 4.5vw;
  }
  .faqitem__toggle {
    width: 5vw;
    height: 5vw;
  }
  .faqitem__toggle::before {
    width: 5vw;
    height: 3px;
  }
  .faqitem__toggle::after {
    width: 3px;
    height: 5vw;
  }
  .faqitem__aTtl {
    font-size: 4.5vw;
  }
  .faqitem__aText {
    font-size: 4vw;
  }
}


/* ============================================================
   会社概要
   ============================================================ */
.company {
  width: 100%;
  background: #fff;
}
.company__inner {
  max-width: 750px;
  margin: 0 auto;
  padding: 10% 5%;
}

/* タイトル */
.company__ttl {
  color: #ec1d25;
  font-size: 66px;
  font-weight: 700;
  text-align: center;
  line-height: 1.25;
  letter-spacing: 0.06em;
  margin: 0 0 7%;
}

/* リスト */
.company__list {
  margin: 0 0 8%;
}
.company__row {
  display: flex;
  align-items: flex-start;
  gap: 4%;
  padding: 2.5% 2%;
}
.company__dt {
  flex: 0 0 25%;
  font-size: 24px;
  font-weight: 700;
  color: #3e3a39;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
.company__dd {
  flex: 1 1 auto;
  font-size: 24px;
  font-weight: 500;
  color: #3e3a39;
  line-height: 1.5;
  letter-spacing: 0.02em;
  margin: 0;
}
.company__dd a {
  color: #3e3a39;
  text-decoration: none;
}

/* 営業時間の定休日（小さく） */
.company__note {
  display: block;
  font-size: 16px;
  font-weight: 500;
  margin-top: 4px;
  line-height: 1.5;
}

@media (max-width: 749px) {
  .company__note {
    font-size: 3vw;
  }
}

/* MAP */
.company__map {
  width: 100%;
  line-height: 0;
}
.company__map iframe {
  width: 100%;
  height: 400px;
  border: 0;
  display: block;
}

@media (max-width: 749px) {
  .company__inner {
    padding: 10% 4%;
  }
  .company__ttl {
    font-size: 9vw;
  }
  .company__dt {
    font-size: 4vw;
  }
  .company__dd {
    font-size: 4vw;
  }
  .company__map iframe {
    height: 230px;
  }
}


/* ============================================================
   来店予約フォーム
   ============================================================ */
.reserveform {
  width: 100%;
  background: #fff;
  scroll-margin-top: 0;
}
.reserveform__inner {
  max-width: 750px;
  margin: 0 auto;
  padding: 10% 0 0;
}

/* タイトルバー（赤帯 + 下向き吹き出し）：フル幅 */
.reserveform__titleBox {
  position: relative;
  background: #ec1d25;
  padding: 8% 4%;
  text-align: center;
  margin: 0 0 6%;
  width: 100%;
}
.reserveform__titleBox::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -31px; /* 1pxオーバーラップで白い筋を防ぐ */
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 32px solid transparent;
  border-right: 32px solid transparent;
  border-top: 32px solid #ec1d25;
}
.reserveform__title {
  color: #fff;
  font-size: 66px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
  margin: 0;
}

/* リード文 */
.reserveform__lead {
  text-align: center;
  color: #3e3a39;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.6;
  margin: 0 5% 0;
  letter-spacing: 0.02em;
  padding: 0 0 4%;
  border-bottom: 1px solid #c6c6c6;
}

/* フォーム本体 */
.reserveform__body {
  border-top: 0;
  padding: 3% 5% 0;
}

/* 各行（項目間のライン削除） */
.rfrow {
  padding: 3% 0;
  border-bottom: 0;
}

/* プライバシーポリシー上のラインだけは残す */
.rfrow--policy {
  border-top: 1px solid #c6c6c6;
  padding-top: 5%;
  margin-top: 3%;
}

/* ラベル */
.rfrow__label {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 3%;
}

/* 番号アイコン（管理画面でフォームショートコード前に <span class="rfrow__num">1</span> を入れる） */
.rfrow__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background: #65baf1;
  color: #3e3a39;
  font-size: 24px;
  font-weight: 700;
  border-radius: 4px;
  line-height: 1;
  flex: 0 0 auto;
}
.rfrow__labelText {
  color: #3e3a39;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.02em;
}
.rfrow__req {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #d61518;
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  padding: 4px 6px;
  border-radius: 3px;
  letter-spacing: 0.04em;
}

/* フィールド */
.rfrow__field {
  width: 100%;
}

/* MW WP FORMラッパー（input/tel/email等をspanで包む）の対応 */
.rfrow__field .mwform-tel-field,
.rfrow__field .mwform-zip-field,
.rfrow__field .mwform-datepicker,
.rfrow__field > span {
  display: block;
  width: 100%;
}

/* 入力フィールド */
.rfinput,
.rfrow__field input[type="text"],
.rfrow__field input[type="tel"],
.rfrow__field input[type="email"],
.rfrow__field input[type="number"],
.rfrow__field input[type="date"] {
  width: 100%;
  height: 56px;
  padding: 0 16px;
  border: 1px solid #c6c6c6;
  background: #fff;
  font-size: 24px;
  color: #3e3a39;
  box-sizing: border-box;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
  font-family: inherit;
}
.rfinput::placeholder,
.rfrow__field input::placeholder {
  color: #c6c6c6;
}

.rftextarea {
  width: 100%;
  min-height: 120px;
  padding: 12px 16px;
  border: 1px solid #c6c6c6;
  background: #fff;
  font-size: 24px;
  color: #3e3a39;
  line-height: 1.6;
  box-sizing: border-box;
  resize: vertical;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
  font-family: inherit;
}
/* 来店時間：時・分セレクト */
.rftime {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
}

.rftime__select,
.rfrow__field select.rftime__select {
  width: 28%;
  height: 56px;
  padding: 0 12px;
  border: 1px solid #c6c6c6;
  background: #fff;
  font-size: 24px;
  color: #3e3a39;
  box-sizing: border-box;
  border-radius: 0;
  font-family: inherit;
}

.rftime__unit {
  font-size: 24px;
  font-weight: 500;
  color: #3e3a39;
  line-height: 1;
  white-space: nowrap;
}

@media (max-width: 749px) {
  .rftime {
    gap: 6px;
  }
.reserveform__titleBox {
  margin: 0 0 8%;
}
  .rftime__select,
  .rfrow__field select.rftime__select {
    width: 34%;
    height: 12vw;
    font-size: 3.5vw;
    padding: 0 8px;
  }

  .rftime__unit {
    font-size: 4vw;
  }
}
/* 注釈（赤文字） */
.rfrow__note {
  color: #ec1d25;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.6;
  margin: 10px 0 0;
  letter-spacing: 0.02em;
}
.rfrow__note--black {
  color: #3e3a39;
  margin-top: 0;
}

/* プライバシーポリシー枠 */
.rfpolicy {
  width: 100%;
  height: 270px;
  padding: 16px 20px;
  border: 1px solid #c6c6c6;
  background: #fff;
  overflow-y: auto;
  font-size: 20px;
  color: #3e3a39;
  line-height: 1.5;
}
.rfpolicy p {
  margin: 0 0 1em;
}
.rfpolicy p:last-child {
  margin-bottom: 0;
}

/* 同意チェック */
.rfagree {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 12px;
  padding: 6% 0;
}
.rfagree__label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  font-size: 24px;
  font-weight: 500;
  color: #3e3a39;
}
.rfagree__checkbox {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  cursor: pointer;
  vertical-align: middle;
  margin: 0;
}
.rfagree .rfrow__req {
  flex: 0 0 auto;
  white-space: nowrap;
}
/* MW WP FORM出力のチェックボックス対応 */
.rfagree .mwform-checkbox-field {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.rfagree .mwform-checkbox-field input[type="checkbox"] {
  width: 24px;
  height: 24px;
  cursor: pointer;
  vertical-align: middle;
  margin: 0;
  position: relative;
  top: -4px;
}
.rfagree .mwform-checkbox-field-text {
  font-size: 24px;
  font-weight: 500;
  color: #3e3a39;
}
.rfagree {
  font-size: 24px;
}
/* 送信ボタン */
.reserveform__submit {
  text-align: center;
  margin: 4% 0 15%;
}
.rfsubmit {
  display: inline-block;
  background: transparent;
  border: 0;
  padding: 0;
  cursor: pointer;
  line-height: 0;
  width: 80%;
  max-width: 500px;
  transition: opacity 0.2s;
}
.rfsubmit:hover {
  opacity: 0.85;
}
.rfsubmit img {
  display: block;
  width: 100%;
  height: auto;
}

/* [mwform_submitButton]用：画像を背景にしたボタン（クラス有無問わず効くように） */
.reserveform__submit input[type="submit"],
.reserveform__submit button[type="submit"] {
  display: inline-block;
  width: 80%;
  max-width: 500px;
  aspect-ratio: 500 / 120; /* 画像の縦横比に合わせて調整 */
  background: url('/wp-content/uploads/2026/04/38ce1efdb6c7321b7078e76728e6cdc4.png') center center/contain no-repeat;
  text-indent: -9999px;
  overflow: hidden;
  border: 0;
  padding: 0;
  cursor: pointer;
  font-size: 0;
  line-height: 0;
  color: transparent;
  transition: opacity 0.2s;
}
.reserveform__submit input[type="submit"]:hover,
.reserveform__submit button[type="submit"]:hover {
  opacity: 0.85;
}

@media (max-width: 749px) {
	.rfagree {
  font-size: 4vw;
}
	.rfagree .mwform-checkbox-field input[type="checkbox"] {
  top: -2px;
}
  .reserveform__title {
    font-size: 9vw;
  }
  .reserveform__titleBox::after {
    bottom: -25px;
    border-left-width: 24px;
    border-right-width: 24px;
    border-top-width: 26px;
  }
  .reserveform__lead {
    font-size: 4vw;
  }
  .rfrow__num {
    width: 4vw;
    height: 4vw;
    font-size: 2.6vw;
  }
  .rfrow__labelText {
    font-size: 4vw;
  }
  .rfrow__req {
    font-size: 3vw;
    padding: 3px 5px;
  }
  .rfinput,
  .rfrow__field input[type="text"],
  .rfrow__field input[type="tel"],
  .rfrow__field input[type="email"],
  .rfrow__field input[type="number"],
  .rfrow__field input[type="date"],
  .rftextarea {
    font-size: 4.2vw;
  }
  .rfinput,
  .rfrow__field input[type="text"],
  .rfrow__field input[type="tel"],
  .rfrow__field input[type="email"],
  .rfrow__field input[type="number"],
  .rfrow__field input[type="date"] {
    height: 12vw;
  }
  .rfrow__note {
    font-size: 3.5vw;
  }
  .rfpolicy {
    font-size: 2.6vw;
  }
  .rfagree__label {
    font-size: 4vw;
  }
  .rfagree .mwform-checkbox-field-text {
    font-size: 4vw;
  }
  .rfsubmit {
    width: 90%;
  }
.rfpolicy {
  width: 100%;
  height: 140px;
  padding: 9px 9px;
  border: 1px solid #c6c6c6;
  background: #fff;
  overflow-y: auto;
  font-size: 3.5vw;
  color: #3e3a39;
  line-height: 1.1;
}
}
/* ============================================================
   確認画面（MW WP FORM）
   ============================================================ */
.mw_wp_form_confirm {
  padding: 4% 0;
}

/* 確認画面用：各行 */
.mw_wp_form_confirm .rfrow {
  padding: 4% 0;
  border-bottom: 1px solid #c6c6c6;
}
.mw_wp_form_confirm .rfrow__label {
  margin: 0 0 2%;
}
.mw_wp_form_confirm .rfrow__field {
  font-size: 24px;
  color: #3e3a39;
  line-height: 1.6;
  padding: 0 8px;
  word-wrap: break-word;
}

/* 確認画面では必須バッジを非表示にするかはお好みで */
.mw_wp_form_confirm .rfrow__req {
  /* 非表示にする場合は display: none; */
}

/* 送信/戻るボタン */
.mw_wp_form_confirm .reserveform__submit {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  margin: 6% 0 15%;
}
.mw_wp_form_confirm input[type="submit"],
.mw_wp_form_confirm button[type="submit"] {
  display: inline-block;
  min-width: 280px;
  padding: 16px 40px;
  background: #ec1d25;
  color: #fff;
  font-size: 24px;
  font-weight: 900;
  border: 0;
  border-radius: 8px;
  cursor: pointer;
  transition: opacity 0.2s;
}
.mw_wp_form_confirm input[type="submit"]:hover,
.mw_wp_form_confirm button[type="submit"]:hover {
  opacity: 0.85;
}

/* 戻るボタン（name=back） */
.mw_wp_form_confirm input[name="submitBack"],
.mw_wp_form_confirm button[name="submitBack"] {
  background: #808080;
}

body.is-confirm .rfrow--policy {
  border-top: 0 !important;
  margin-top: 0 !important;
}

body.is-confirm .reserveform__lead {
  margin: 0 5% -7%;
}

@media (max-width: 749px) {
  .mw_wp_form_confirm .rfrow__field {
    font-size: 4.2vw;
  }
  .mw_wp_form_confirm input[type="submit"],
  .mw_wp_form_confirm button[type="submit"] {
    font-size: 4.2vw;
    min-width: 60vw;
  }
}


/* ============================================================
   確認画面（body.is-confirm スコープ専用）
   page-confirm.php が <body> に is-confirm クラスを付与するため、
   入力画面への影響を防ぎつつ確認画面だけ整形する
   ============================================================ */

/* 確認画面：上部余白削除（タイトル直前の余白を取る） */
body.is-confirm .reserveform .reserveform__inner,
body.is-confirm section.reserveform .reserveform__inner,
body.is-confirm .reserveform__inner {
  padding-top: 0 !important;
}

/* 確認画面：フォーム入力値を左寄せに（PC側 TOPの.rfinputと同等の文字サイズ） */
body.is-confirm .reserveform .rfrow__field,
body.is-confirm .rfrow__field {
  text-align: left !important;
  padding-left: 0 !important;
  font-size: 24px !important;
  line-height: 1.6 !important;
  color: #3e3a39 !important;
  word-break: break-all !important;
}

/* 確認画面：ラベル部分の余白調整 */
body.is-confirm .reserveform .rfrow,
body.is-confirm .rfrow {
  padding: 4% 0 !important;
}

/* 確認画面：ラベルテキストもTOPと同じサイズに */
body.is-confirm .reserveform .rfrow__labelText,
body.is-confirm .rfrow__labelText {
  font-size: 24px !important;
}

/* 確認画面：必須バッジは PC 16px固定、SPはフォームと同じ3vw */
body.is-confirm .rfrow__req {
  font-size: 16px !important;
  padding: 4px 6px !important;
}
@media (max-width: 749px) {
  body.is-confirm .rfrow__req {
    font-size: 3vw !important;
    padding: 3px 5px !important;
  }
}


/* MW WP FORM 直接アクセスエラー */
.mw_wp_form_direct_access_error {
  padding: 10% 6%;
  text-align: center;
  color: #3e3a39;
  font-size: 24px;
  line-height: 1.8;
}

@media (max-width: 749px) {
  body.is-confirm .reserveform .rfrow__field,
  body.is-confirm .rfrow__field {
    font-size: 4vw !important;
  }
body.is-confirm .reserveform .rfrow__labelText,
  body.is-confirm .rfrow__labelText {
    font-size: 4vw !important;
    font-weight: 700 !important;
    color: #3e3a39 !important;
    line-height: 1.3 !important;
    letter-spacing: 0.02em !important;
  }
  .mw_wp_form_direct_access_error {
    font-size: 4.2vw;
  }
}

/* 確認画面（body.is-confirm）ではトップページ用の画像ボタンCSSを完全打ち消し
   ─ .rfsubmit クラスが付いていても画像を出さず、テキスト赤ボタンにする */
body.is-confirm .reserveform__submit input[type="submit"],
body.is-confirm .reserveform__submit button[type="submit"],
body.is-confirm input[type="submit"].rfsubmit,
body.is-confirm button[type="submit"].rfsubmit,
body.is-confirm input.rfsubmit,
body.is-confirm button.rfsubmit {
  display: inline-block !important;
  width: auto !important;
  min-width: 220px !important;
  max-width: 340px !important;
  padding: 16px 40px !important;
  margin: 0 !important;
  background: #ec1d25 !important;
  background-image: none !important;
  color: #fff !important;
  font-size: 26px !important;
  font-weight: 900 !important;
  border: 0 !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  transition: opacity 0.2s !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  font-family: inherit !important;
  text-indent: 0 !important;
  aspect-ratio: auto !important;
  line-height: 1.4 !important;
  overflow: visible !important;
  height: auto !important;
  flex: 0 0 auto !important;
}
body.is-confirm .reserveform__submit input[type="submit"]:hover,
body.is-confirm .reserveform__submit button[type="submit"]:hover,
body.is-confirm input[type="submit"].rfsubmit:hover,
body.is-confirm button[type="submit"].rfsubmit:hover {
  opacity: 0.85 !important;
}

/* 確認画面の送信ボタンラッパー：横並び中央寄せ */
body.is-confirm .reserveform__submit {
  display: flex !important;
  flex-direction: row !important;
  justify-content: center !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 40px !important;
  margin: 8% 0 15% !important;
}

/* 確認画面の戻るボタン（グレー） - 詳細度を上げて赤指定を上書き */
body.is-confirm .reserveform__submit input[name="submitBack"],
body.is-confirm .reserveform__submit button[name="submitBack"],
body.is-confirm input[type="submit"][name="submitBack"],
body.is-confirm button[type="submit"][name="submitBack"],
body.is-confirm input.rfsubmit[name="submitBack"],
body.is-confirm button.rfsubmit[name="submitBack"] {
  background: #808080 !important;
  background-image: none !important;
}

/* 確認画面：スマホでは赤い送信ボタンを上、灰色の戻るボタンを下にする */
@media (max-width: 749px) {
  body.is-confirm .reserveform__submit {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }

  body.is-confirm .reserveform__submit input[type="submit"]:not([name="submitBack"]),
  body.is-confirm .reserveform__submit button[type="submit"]:not([name="submitBack"]) {
    order: 1 !important;
  }

  body.is-confirm .reserveform__submit input[name="submitBack"],
  body.is-confirm .reserveform__submit button[name="submitBack"] {
    order: 2 !important;
  }
}

@media (max-width: 749px) {
  .mw_wp_form_direct_access_error {
    font-size: 4.2vw;
  }
  body.is-confirm .reserveform__submit {
    gap: 24px !important;
  }
}


/* ============================================================
   コピーライト
   ============================================================ */
.copyright {
  text-align: center;
  font-size: 18px;
  font-weight: 500;
  color: #3e3a39;
  padding: 20px 0;
  margin: 0;
}

@media (max-width: 749px) {
  .copyright {
    font-size: 3vw;
  }
}


/* ============================================================
   完了・エラー（フォーム共通）
   ============================================================ */
.comp {
  font-size: 115%;
  text-align: center;
  margin: 5%;
}
.backtop {
  text-align: center;
  text-decoration: underline;
}
span.error {
  color: #E54869;
}
