:root {
  --bg: #FFF9EF;
  --bg-alt: #FDF3E3;
  --white: #FFFFFF;
  --ink: #3E362E;
  --gray: #8A7F73;
  --orange: #F08C3C;
  --orange-deep: #E07424;
  --yellow: #FFD95C;
  --salmon: #F5B89E;
  --blue: #A9CBEF;
  --lavender: #C9B2DC;
  --line-green: #06C755;
  --line-green-deep: #05A847;
  --danger: #B42318;
  --danger-bg: #FFF1F0;
  --s0: 4px;
  --s1: 8px;
  --s2: 16px;
  --s3: 24px;
  --s4: 32px;
  --s5: 40px;
  --s6: 48px;
  --s8: 64px;
  --s12: 96px;
  --gutter: 24px;
  --content: 960px;
  --narrow: 624px;
  --t-caption: 12px;
  --lh-caption: 20px;
  --t-small: 14px;
  --lh-small: 24px;
  --t-body: 16px;
  --lh-body: 28px;
  --t-h3: 18px;
  --lh-h3: 28px;
  --t-lead: 20px;
  --lh-lead: 32px;
  --t-h2: 24px;
  --lh-h2: 36px;
  --t-h1: 24px;
  --lh-h1: 40px;
  --t-num: 40px;
  --lh-num: 48px;
  --radius-lg: 24px;
  --radius-md: 16px;
  --radius-sm: 8px;
  --shadow: 0 6px 20px rgba(62, 54, 46, .10);
  /* 2026-10-19 りこさん指示: 基本は Lexend Deca(英数字)。日本語は Noto Sans JP に落ちる。公式サイト(design/tokens.css)と同じ組み合わせ */
  --font-head: 'Lexend Deca', 'Noto Sans JP', 'Hiragino Sans', sans-serif;
  --font-body: 'Lexend Deca', 'Noto Sans JP', 'Hiragino Sans', sans-serif;
  --font-num: 'Lexend Deca', 'Noto Sans JP', sans-serif;
}

* { box-sizing: border-box; }
html { overflow-x: hidden; color-scheme: light; } /* ダークモードでも入力欄・ボタンを明るい配色に固定 */
body {
  margin: 0;
  min-width: 0;
  color: var(--ink);
  background: var(--bg);
  font-family: var(--font-body);
  font-size: var(--t-body);
  line-height: var(--lh-body);
  overflow-x: hidden;
}
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible {
  outline: 3px solid var(--yellow);
  outline-offset: var(--s0);
}
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--font-head); text-wrap: balance; }
p { text-wrap: pretty; }
a { color: var(--orange-deep); }
[hidden] { display: none !important; }

.site-header {
  display: flex;
  align-items: center;
  min-height: 64px;
  padding: 0 var(--gutter);
  border-bottom: 1px solid var(--salmon);
  background: var(--bg);
}
.brand {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  color: var(--ink);
  font-family: var(--font-head);
  font-size: var(--t-lead);
  font-weight: 700;
  text-decoration: none;
  letter-spacing: .04em;
}
.brand span { margin-left: var(--s1); color: var(--orange-deep); font-size: var(--t-small); }
.booking-shell { width: min(100%, var(--narrow)); margin: 0 auto; padding: var(--s5) var(--gutter) var(--s8); }
.intro { margin-bottom: var(--s4); }
.intro h1 { margin-bottom: var(--s1); font-size: var(--t-h2); line-height: var(--lh-h2); }
.free-note { color: var(--orange-deep); font-weight: 700; margin-right: var(--s1); } /* 2026-10-21: 機能名だけの見出しにして小さく */
.intro > p:last-child { margin-bottom: 0; }
.eyebrow, .step-label {
  margin-bottom: var(--s1);
  color: var(--orange-deep);
  font-size: var(--t-caption);
  font-weight: 700;
  line-height: var(--lh-caption);
  letter-spacing: .08em;
}
.progress {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 0 0 var(--s5);
  padding: 0;
  list-style: none;
}
.progress li {
  position: relative;
  padding-top: var(--s3);
  color: var(--gray);
  font-size: var(--t-small);
  line-height: var(--lh-small);
  text-align: center;
}
.progress li::before {
  content: '';
  position: absolute;
  top: 7px;
  left: 0;
  width: 100%;
  height: 2px;
  background: var(--salmon);
}
.progress li::after {
  content: '';
  position: absolute;
  top: 2px;
  left: calc(50% - 6px);
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--salmon);
}
.progress li.is-current { color: var(--ink); font-weight: 700; }
.progress li.is-current::after, .progress li.is-done::after { background: var(--orange); }
.progress li.is-done::before { background: var(--orange); }
.view { min-width: 0; }
.section-heading { margin-bottom: var(--s4); }
.section-heading h2, .thanks h2 { margin-bottom: var(--s2); font-size: var(--t-h2); line-height: var(--lh-h2); }
.section-heading p:last-child { margin-bottom: 0; }
.message, .conflict {
  margin-bottom: var(--s3);
  padding: var(--s2);
  border-left: 4px solid var(--danger);
  background: var(--danger-bg);
  color: var(--danger);
  font-weight: 700;
}
.change-banner { margin: 0 0 var(--s4); padding: var(--s2); border-left: 4px solid var(--orange); background: var(--white); font-weight: 700; }
.manage-link { display: inline-flex; min-height: 44px; align-items: center; font-weight: 700; }
.manage-card { padding: var(--s3); border: 2px solid var(--salmon); border-radius: var(--radius-lg); background: var(--white); }
.manage-actions { display: grid; gap: var(--s2); margin-top: var(--s4); }
.button-danger { border: 2px solid var(--danger); color: var(--danger); background: var(--white); }
.message p:last-child, .conflict p:last-child { margin-bottom: 0; }
.loading { padding: var(--s4) 0; color: var(--gray); text-align: center; }
.loading::after { content: '…'; animation: pulse 1.4s infinite; }
@keyframes pulse { 50% { opacity: .2; } }
.slots-list { width: 100%; max-width: 624px; }
.slot-toolbar {
  display: flex;
  flex-wrap: wrap; /* 狭い幅では矢印ボタンを次の行へ(凡例の右にはみ出して切れていた。2026-10-29) */
  align-items: center;
  justify-content: space-between;
  gap: var(--s2);
  margin-bottom: var(--s2);
}
.slot-legend {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s0) var(--s2);
  color: var(--gray);
  font-size: var(--t-small);
  line-height: var(--lh-small);
}
.slot-legend-item { display: inline-flex; align-items: baseline; gap: var(--s0); }
.slot-legend-mark { font-family: var(--font-num); font-weight: 400; }
.slot-legend-mark.is-open { color: var(--orange); }
.slot-legend-mark.is-info { color: var(--ink); }
.slot-legend-mark.is-full { color: #C9C2B8; }
.slot-navigation { display: flex; flex: 0 0 auto; gap: var(--s0); margin-left: auto; }
.slot-week-button {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--table-line);
  border-radius: var(--radius-sm);
  color: var(--ink);
  background: var(--white);
  cursor: pointer;
  font-family: var(--font-num);
  font-size: var(--t-body);
}
.slot-week-button:hover { background: var(--bg-alt); }

/* 2026-10-21 りこさん「シンプルに」: ポジウィル型。セルの中に箱を作らず、細い罫線と記号だけ */
/* コースの違い(日時の表の上)。箱は作らず、上の細い線と2列で見せる */
.course-intro {
  display: grid;
  gap: var(--s3);
  margin: 0 0 var(--s3);
}
.course-intro-item {
  padding-top: var(--s2);
  border-top: 2px solid var(--orange);
}
.course-intro-time {
  display: inline-block;
  color: var(--orange-deep);
  font-family: var(--font-num);
  font-size: var(--t-small);
  font-weight: 700;
}
.course-intro-item strong {
  display: block;
  margin: var(--s0) 0 var(--s1);
  font-family: var(--font-head);
  font-size: var(--t-h3);
  line-height: var(--lh-h3);
}
.course-intro-item p { margin: 0 0 var(--s0); font-size: var(--t-small); line-height: var(--lh-small); }
.course-intro-item p:last-child { margin-bottom: 0; }
.course-intro-for { font-weight: 700; color: var(--ink); }
.course-intro-mark { color: var(--gray); }
.mark-open { color: var(--orange); font-family: var(--font-num); }
.mark-info { color: var(--ink); font-family: var(--font-num); }
.course-details { margin: 0 0 var(--s3); }
.course-details summary {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  cursor: pointer;
  color: var(--orange-deep);
  font-size: var(--t-small);
  font-weight: 700;
  list-style: none;
}
.course-details summary::-webkit-details-marker { display: none; }
.course-details summary::before { content: "▸"; margin-right: var(--s0); }
.course-details[open] summary::before { content: "▾"; }
.course-details-lead { margin: var(--s1) 0 var(--s2); font-size: var(--t-small); line-height: var(--lh-small); }
.course-details .course-intro { margin-bottom: var(--s2); }
@media (min-width: 560px) {
  .course-intro { grid-template-columns: 1fr 1fr; gap: var(--s4); }
}

.slots-list { --table-line: #E9E2D8; }
.slot-table-scroll {
  width: 100%;
  overflow-x: auto;
  overflow-y: visible;
  border: 1px solid var(--table-line);
  background: var(--white);
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
}
.slot-calendar {
  width: max-content;
  border-spacing: 0;
  border-collapse: separate;
  table-layout: fixed;
  color: var(--ink);
  background: var(--white);
  font-family: var(--font-num);
}
.slot-calendar th, .slot-calendar td {
  width: 48px;
  min-width: 48px;
  height: 44px;
  padding: 0;
  border-right: 1px solid var(--table-line);
  border-bottom: 1px solid var(--table-line);
  background: var(--white);
  text-align: center;
  vertical-align: middle;
}
.slot-calendar tr:last-child > * { border-bottom: 0; }
.slot-calendar tr > *:last-child { border-right: 0; }
.slot-calendar thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  height: 52px;
  background: var(--bg-alt);
  font-family: var(--font-num);
  font-size: var(--t-small);
  font-weight: 700;
  line-height: 1.2;
}
.slot-date-heading span { display: block; font-family: var(--font-body); font-size: var(--t-caption); font-weight: 500; color: var(--gray); }
.slot-date-heading.is-saturday, .slot-date-heading.is-saturday span { color: var(--blue); }
.slot-date-heading.is-sunday, .slot-date-heading.is-sunday span { color: var(--danger); }
.slot-calendar .slot-time-heading {
  position: sticky;
  left: 0;
  z-index: 1;
  width: 56px;
  min-width: 56px;
  padding: 0;
  background: var(--bg-alt);
  font-size: var(--t-small);
  font-weight: 700;
  line-height: var(--lh-small);
}
.slot-calendar thead .slot-time-heading { z-index: 3; }
.slot-button {
  display: block;
  width: 100%;
  height: 44px;
  min-height: 44px;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: var(--orange);
  background: transparent;
  cursor: pointer;
  font-family: var(--font-num);
  font-size: 20px;
  line-height: 1;
}
.slot-button:hover, .slot-button:focus-visible { background: var(--bg-alt); outline: none; }
.slot-button:focus-visible { box-shadow: inset 0 0 0 2px var(--orange); }
.slot-button.is-info { color: var(--ink); font-size: 18px; }
.slot-unavailable { color: #C9C2B8; font-size: 14px; }
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 52px;
  margin-top: var(--s3);
  padding: var(--s1) var(--s2);
  border: 0;
  border-radius: var(--radius-md);
  cursor: pointer;
  font-family: var(--font-head);
  font-weight: 700;
  text-align: center;
  text-decoration: none;
}
.button-primary { color: var(--white); background: var(--orange); box-shadow: var(--shadow); }
.button-primary:hover { background: var(--orange-deep); }
.button-primary:disabled { cursor: wait; opacity: .6; }
.button-secondary { border: 2px solid var(--orange); color: var(--ink); background: var(--white); }
.button-line { color: var(--white); background: var(--line-green); box-shadow: var(--shadow); }
.button-line:hover { background: var(--line-green-deep); }
.back-button {
  min-height: 44px;
  margin: 0 0 var(--s3);
  padding: 0;
  border: 0;
  color: var(--orange-deep);
  background: transparent;
  cursor: pointer;
  font-weight: 700;
}
.selected-slot {
  margin-bottom: var(--s4);
  padding: var(--s2) 0;
  border-top: 1px solid var(--salmon);
  border-bottom: 1px solid var(--salmon);
  font-family: var(--font-head);
  font-size: var(--t-h3);
  font-weight: 700;
  text-align: center;
}
.course-options { display: grid; gap: var(--s2); }
.course-option {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-height: 140px;
  padding: var(--s3);
  border: 2px solid var(--salmon);
  border-radius: var(--radius-lg);
  overflow: hidden; /* 上端の写真の角を枠に合わせて切る */
  color: var(--ink);
  background: var(--white);
  cursor: pointer;
  text-align: left;
  box-shadow: var(--shadow);
}
.course-option:hover { border-color: var(--orange); }
.course-option:disabled { cursor: not-allowed; opacity: .45; box-shadow: none; }
.course-option strong { margin: var(--s0) 0 var(--s1); font-family: var(--font-head); font-size: var(--t-h3); line-height: var(--lh-h3); }
.course-photo { display: block; width: calc(100% + 2 * var(--s3)); max-width: none; height: auto; aspect-ratio: 16 / 9; object-fit: cover; margin: calc(-1 * var(--s3)) calc(-1 * var(--s3)) var(--s2); border-radius: var(--radius-lg) var(--radius-lg) 0 0; }
.course-for { display: block; margin-bottom: var(--s2); font-size: var(--t-small); line-height: var(--lh-small); color: var(--ink); }
.course-list-label { display: block; margin-bottom: var(--s0); font-size: var(--t-caption); font-weight: 700; letter-spacing: .04em; color: var(--gray); }
.course-list { margin: 0 0 var(--s2); padding: 0; list-style: none; font-size: var(--t-small); line-height: var(--lh-small); }
.course-list li { position: relative; padding-left: 1.5em; margin-bottom: var(--s0); }
.course-list li::before { content: "✓"; position: absolute; left: 0; color: var(--orange); font-weight: 700; }
.course-caution { display: block; margin-top: auto; font-size: var(--t-caption); line-height: var(--lh-caption); color: var(--gray); }
.course-footnote { margin: var(--s2) 0 0; font-size: var(--t-caption); line-height: var(--lh-caption); color: var(--gray); }
.course-option > span:last-of-type { font-size: var(--t-small); line-height: var(--lh-small); }
.course-option small { margin-top: var(--s1); color: var(--danger); font-size: var(--t-small); line-height: var(--lh-small); }
.course-time { color: var(--orange-deep); font-family: var(--font-num); font-size: var(--t-small); font-weight: 700; }
.form-group-label { margin: var(--s4) 0 var(--s2); font-size: var(--t-caption); font-weight: 700; letter-spacing: .04em; color: var(--gray); }
.form-group-label:first-child { margin-top: 0; }
.equipment-field legend { font-weight: 400; }
.check-list { display: grid; gap: var(--s1); }
.field label.check-row { display: flex; align-items: flex-start; gap: var(--s2); min-height: 44px; margin: 0; cursor: pointer; font-size: var(--t-body); font-weight: 400; line-height: var(--lh-body); }
.check-row input { flex: 0 0 24px; width: 24px; min-height: 24px; margin: 2px 0 0; accent-color: var(--orange); }
.form-group-label + .field { margin-top: 0; }
.field-help { margin: var(--s0) 0 0; font-size: var(--t-caption); line-height: var(--lh-caption); color: var(--gray); }
.field-error { margin: var(--s0) 0 0; font-size: var(--t-small); line-height: var(--lh-small); color: var(--danger); font-weight: 700; }
.is-invalid input:not([type="checkbox"]), .is-invalid select { border-color: var(--danger); }
.consent-row.is-invalid { flex-wrap: wrap; }
.consent-row > span { flex: 1 1 0; min-width: 0; }
.consent-row .field-error { flex-basis: 100%; margin-left: calc(24px + var(--s2)); }
.field { margin: 0 0 var(--s3); padding: 0; border: 0; }
.field label, .field legend { display: block; margin-bottom: var(--s1); font-weight: 700; }
input, select {
  width: 100%;
  min-height: 52px;
  padding: var(--s1) var(--s2);
  border: 1px solid var(--gray);
  border-radius: var(--radius-sm);
  color: var(--ink);
  background: var(--white);
  font-size: 16px;
}
.required-mark, .optional-mark { font-size: var(--t-caption); line-height: var(--lh-caption); font-weight: 700; }
.required-mark { color: var(--danger); }
.optional-mark { color: var(--gray); }
.radio-row {
  display: flex !important;
  align-items: center;
  min-height: 52px;
  margin: 0 !important;
  border-bottom: 1px solid var(--salmon);
  cursor: pointer;
}
.radio-row input, .consent-row input { flex: 0 0 24px; width: 24px; min-height: 24px; margin: 0 var(--s2) 0 0; accent-color: var(--orange); }
.consent-row { display: flex; align-items: flex-start; margin: var(--s4) 0; cursor: pointer; }
.consent-row input { margin-top: 2px; }
.confirmation { margin: 0 0 var(--s4); border-top: 1px solid var(--salmon); }
.confirmation div { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: var(--s2); padding: var(--s2) 0; border-bottom: 1px solid var(--salmon); }
.confirmation dt { font-weight: 700; }
.confirmation dd { margin: 0; overflow-wrap: anywhere; }
.submit-note { margin: var(--s1) 0 0; color: var(--gray); font-size: var(--t-small); text-align: center; }
.alternative-slots { display: grid; gap: var(--s1); margin-top: var(--s2); }
.alternative-slots button {
  min-height: 48px;
  padding: var(--s1);
  border: 2px solid var(--danger);
  border-radius: var(--radius-sm);
  color: var(--danger);
  background: var(--white);
  cursor: pointer;
  font-weight: 700;
}
/* 完了ページ(2026-10-23 作り直し): 中央寄せは上部だけ。あとは左寄せで情報を並べる */
.thanks-head { text-align: center; margin-bottom: var(--s4); }
.thanks-mark {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  margin: 0 auto var(--s2);
  border-radius: 50%;
  color: var(--white);
  background: var(--line-green);
  font-size: 28px;
  font-weight: 700;
}
.thanks-head h2 { margin-bottom: var(--s1); }
.thanks-sub { margin: 0; font-size: var(--t-small); line-height: var(--lh-small); color: var(--gray); }
.thanks-card {
  margin-bottom: var(--s4);
  padding: var(--s3);
  border: 2px solid var(--salmon);
  border-radius: var(--radius-lg);
  background: var(--white);
  text-align: center;
}
.thanks-when { margin: 0 0 var(--s0); font-family: var(--font-num); font-size: var(--t-h3); line-height: var(--lh-h3); font-weight: 700; }
.thanks-when span { display: block; }
.thanks-when span + span { font-size: var(--t-h2); line-height: var(--lh-h2); }
.thanks-course { margin: 0 0 var(--s3); font-size: var(--t-body); }
.thanks-card .button { margin: 0 auto; }
.thanks-zoom-url { margin: var(--s1) 0 0; font-size: var(--t-caption); line-height: var(--lh-caption); color: var(--gray); overflow-wrap: anywhere; }
.thanks-note { margin: var(--s1) 0 0; font-size: var(--t-small); line-height: var(--lh-small); color: var(--gray); }
.zoom-rows { margin-top: var(--s4); text-align: left; }
.zoom-head { display: flex; align-items: center; justify-content: space-between; gap: var(--s2); padding-bottom: var(--s0); border-bottom: 1px solid var(--salmon); }
.zoom-head .form-group-label { margin: 0; }
.zoom-row { display: grid; grid-template-columns: 7.5em minmax(0, 1fr); gap: var(--s1); align-items: baseline; padding: var(--s1) 0; border-bottom: 1px solid var(--salmon); font-size: var(--t-small); line-height: var(--lh-small); }
.zoom-row-label { color: var(--gray); }
.zoom-row-value { font-family: var(--font-num); overflow-wrap: anywhere; user-select: all; }
.zoom-note { margin-top: var(--s2); text-align: left; }
.copy-button { min-height: 32px; padding: 0 var(--s2); border: 1px solid var(--orange); border-radius: var(--radius-pill, 999px); color: var(--orange-deep); background: var(--white); font-size: var(--t-caption); font-weight: 700; cursor: pointer; white-space: nowrap; }
.copy-button:hover { background: var(--bg-alt); }
.thanks-block .course-list a { color: var(--orange-deep); text-decoration: underline; }
.thanks-block { margin-bottom: var(--s4); }
.thanks-block .form-group-label { margin-top: 0; }
.thanks-block .course-list { margin-bottom: 0; }
.plain-list { margin: 0; padding: 0; list-style: none; font-size: var(--t-small); line-height: var(--lh-small); }
.plain-list li { display: grid; grid-template-columns: 3em minmax(0, 1fr); gap: var(--s1); margin-bottom: var(--s0); }
.plain-list strong { color: var(--orange-deep); }
.thanks-block .button-line { margin-top: var(--s2); }
.line-block { padding: var(--s3); border-radius: var(--radius-lg); background: var(--white); }
.line-block .form-group-label { color: var(--ink); font-size: var(--t-body); letter-spacing: 0; margin-bottom: var(--s2); }
.line-benefits { margin-bottom: var(--s1); }
.line-benefits li::before { color: var(--line-green); }
.site-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--s2) var(--s3);
  padding: var(--s4) var(--gutter);
  color: var(--bg);
  background: var(--ink);
}
.site-footer a { min-height: 44px; display: inline-flex; align-items: center; color: var(--bg); font-size: var(--t-small); }
.site-footer small { flex-basis: 100%; font-size: var(--t-caption); line-height: var(--lh-caption); text-align: center; }
/* 埋め込みページも背景を明示する(透明だと、埋め込み先や閲覧者のダークモードの地色が透けて黒くなる。2026-10-19) */
.embed-page { background: var(--bg); }
.embed-shell { width: 100%; padding: var(--s2); }
/* 埋め込みは貼られた箱の幅いっぱいに使う(2026-10-29 りこさん「ポジウィルの見た目に寄せたい」)。
   見出し・バー・コースの違いは本体(index.html)の STEP 1 と同じ部品・同じ見た目(同日のりこさん指摘「伝える情報は本体に寄せる」) */
.embed-shell .slots-list { max-width: none; }
.embed-shell .intro { margin-bottom: var(--s3); }
.embed-shell .intro p { margin: 0; }
.slot-scroll-hint { align-self: center; margin-right: var(--s1); color: var(--gray); font-size: var(--t-small); line-height: var(--lh-small); white-space: nowrap; }
@media (max-width: 559px) { .slot-scroll-hint { display: none; } } /* 狭い幅では凡例と矢印ボタンだけ(あふれ防止) */

@supports (hanging-punctuation: first) {
  p { text-wrap: auto; }
}

@media (min-width: 560px) {
  .course-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .br-sp { display: none; }
}

@media (min-width: 768px) {
  :root { --t-h1: 32px; --lh-h1: 48px; --t-h2: 32px; --lh-h2: 48px; }
  .booking-shell { padding-top: var(--s8); padding-bottom: var(--s12); }
  .embed-shell { padding: var(--s4); }
}
