@charset "UTF-8";/* 変数定義 *//* リセット & 基本設定 */* {  box-sizing: border-box;  margin: 0;  padding: 0;}body {  font-family: "Noto Sans JP", sans-serif;  background-color: #FFF8E0;  color: #303030;  padding-top: 60px;  padding-bottom: 40px;  letter-spacing: 0.08em;}/* ヘッダー */.header {  position: fixed;  top: 0;  left: 0;  width: 100%;  background: #d89722;  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);  z-index: 100;}.header .header-inner {  padding: 8px 20px;  max-width: 600px;  margin: 0 auto;}.header .logo {  font-size: 1.2rem;  color: #8d6e63;  width: 70px;}.header .logo img {  width: 100%;}.header .step-indicator {  text-align: right;  font-size: 0.8rem;  position: relative;  margin-top: 8px;}.header .step-indicator .step-text {  color: #303030;  font-weight: 500;  position: absolute;  width: auto;  top: -2px;  left: 10px;}.header .step-indicator .progress-bar {  width: 100%;  height: 16px;  background: #fff;  border-radius: 80px;  margin-top: 0;  overflow: hidden;}.header .step-indicator .progress-bar .progress-fill {  height: 100%;  background: #f0e0aa;  width: 0%; /* JSで制御 */  transition: width 0.3s ease;}/* チャットエリア */.chat-container {  max-width: 600px;  margin: 0 auto;  padding: 0 20px 20px 20px;  display: flex;  flex-direction: column;  gap: 24px;}.chat-row {  display: flex;  width: 100%;  opacity: 0;  transform: translateY(20px);  animation: fadeInUp 0.5s forwards;}.chat-row.bot {  justify-content: flex-start;}.chat-row.user {  justify-content: flex-end;}.bot-message-wrapper {  display: flex;  align-items: flex-end;  gap: 10px;  width: 100%;  /* 遅延表示用クラス */}.bot-message-wrapper .bot-avatar {  width: 60px;  height: 60px;  -o-object-fit: cover;     object-fit: cover;  border-radius: 50%;  flex-shrink: 0;}.bot-message-wrapper .chat-bubble {  flex: 1;  max-width: 300px;}.bot-message-wrapper.delay-1 {  animation-delay: 0.5s;}.bot-message-wrapper.delay-2 {  animation-delay: 1s;}@keyframes fadeInUp {  to {    opacity: 1;    transform: translateY(0);  }}@keyframes cursorBounce {  0%, 100% {    transform: translateY(0);  }  50% {    transform: translateY(-10px);  }}/* 吹き出しスタイル */.chat-bubble {  max-width: 100%;  border-radius: 0;  overflow: hidden;  position: relative;  /* ユーザーの回答 */}.chat-bubble.image-bubble {  border-radius: 0;  margin: 0 auto 30px;  max-width: 560px;  position: relative;  overflow: visible;}.chat-bubble.image-bubble .image-banner {  width: 100%;  display: block;  border-radius: 0;  margin-top: -10px;}.chat-bubble.image-bubble .cursor-icon {  width: 44px;  height: auto;  position: absolute;  bottom: 230px;  right: 10px;  z-index: 10;  animation: cursorBounce 1.6s ease-in-out infinite;}@media screen and (max-width: 767px) {  .chat-bubble.image-bubble .cursor-icon {    bottom: -40px;  }}.chat-bubble.text-bubble {  background: #fff;  padding: 16px;  font-size: 15px;  border-radius: 12px 12px 12px 0;  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);}.chat-bubble.form-bubble {  width: 100%;  border-radius: 0;}.chat-bubble.form-bubble.has-box {  background: #fff;  padding: 16px;  width: 100%;  border-radius: 8px;  box-shadow: 0 8px 8px rgba(0, 0, 0, 0.05);}.chat-bubble .user-answer {  background: #d89722;  color: #fff;  padding: 10px 20px;  border-radius: 20px 20px 0 20px;  font-weight: 500;}/* フォーム要素 */.input-label {  display: block;  font-weight: 500;  margin-bottom: 10px;  font-size: 0.9rem;}.input-label.center {  text-align: center;}.input-label .required {  color: #303030;  font-size: 0.7rem;  margin-left: 0;}/* カレンダー */.calendar-wrapper {  text-align: center;  background: #fff;  padding: 0;  border-radius: 0;  border: 2px solid #303030;  border-top: none;}.calendar-wrapper .calendar-header {  display: flex;  align-items: center;  justify-content: space-between;  margin-bottom: 0;  position: relative;  background: #303030;  padding: 10px 15px;  border-radius: 0;}.calendar-wrapper .month-title {  font-weight: 500;  flex: 1;  text-align: center;  color: #fff;}.calendar-wrapper .calendar-nav-buttons {  display: flex;  gap: 2px;  position: absolute;  right: 10px;  top: 50%;  transform: translateY(-50%);}.calendar-wrapper .calendar-nav-btn {  background: none;  border: none;  cursor: pointer;  padding: 4px 6px;  color: #fff;  display: flex;  align-items: center;  justify-content: center;  border-radius: 4px;  transition: background-color 0.2s;  width: 30px;  height: 26px;}.calendar-wrapper .calendar-nav-btn:hover {  background-color: rgba(255, 255, 255, 0.2);}.calendar-wrapper .calendar-nav-btn:active {  background-color: rgba(255, 255, 255, 0.3);}.calendar-wrapper .calendar-nav-btn svg {  display: block;}.calendar-wrapper .calendar-grid {  display: grid;  grid-template-columns: repeat(7, 1fr);  gap: 5px;  padding: 10px;}.calendar-wrapper .calendar-grid .day-name {  font-size: 1rem;  color: #303030;  padding-bottom: 5px;  font-weight: 700;}.calendar-wrapper .calendar-grid .day {  aspect-ratio: 1;  border-bottom: 3px solid #cccccc;  background: #ddd4cb;  display: flex;  align-items: center;  justify-content: center;  border-radius: 4px;  font-size: 0.9rem;  color: #303030;}.calendar-wrapper .calendar-grid .day.disable {  color: #999;  background: #ececec;  pointer-events: none;  cursor: default;}.calendar-wrapper .calendar-grid .day.active {  cursor: pointer;  background: #f0e0aa;  /* 選択したところが茶色になる */}.calendar-wrapper .calendar-grid .day.active:hover {  background: rgba(208, 157, 1, 0.1);  border-color: #f0e0aa;}.calendar-wrapper .calendar-grid .day.active.selected {  background: #d09d01;  color: #fff;  border-color: #d09d01;}/* 時間帯選択・ボタン */.options-grid {  display: grid;  grid-template-columns: 1fr 1fr;  gap: 10px;}.options-grid.column {  grid-template-columns: 1fr;}.btn-option {  width: 100%;  padding: 8px;  background: #fff;  border: 2px solid #303030;  color: #303030;  border-radius: 0;  cursor: pointer;  font-weight: bold;  transition: all 0.2s;}.btn-option:hover, .btn-option.selected {  background: #303030;  color: #fff;}.btn-option.full {  background: #eee;  border-color: #ddd;  color: #aaa;  pointer-events: none;}/* テキスト入力 */.input-text {  width: 100%;  padding: 9px;  border: 2px solid #929292;  border-radius: 0;  font-size: 1rem;  margin-bottom: 10px;  color: #303030;}.input-text:focus:not(:disabled) {  outline: none;  border-color: #d09d01;}.input-text:disabled {  background-color: #FFF8E0 !important;  cursor: not-allowed;  border-color: #434343;}.input-text:disabled:focus {  outline: none;  border-color: #434343;}.input-text:-webkit-autofill {  -webkit-box-shadow: 0 0 0 1000px #FFF8E0 inset !important;  -webkit-text-fill-color: #303030 !important;}.input-text:disabled:-webkit-autofill {  -webkit-box-shadow: 0 0 0 1000px #FFF8E0 inset !important;  -webkit-text-fill-color: #303030 !important;}.name-group {  display: flex;  gap: 10px;}.name-group input {  width: 50%;}.btn-next {  width: 100%;  padding: 8px;  background: #32b16c;  color: #fff;  border: none;  border-radius: 6px;  font-weight: bold;  font-size: 1rem;  cursor: pointer;  margin-top: 6px;}.btn-next:disabled {  opacity: 0.5;  cursor: not-allowed;}.btn-submit {  width: 100%;  padding: 14px 24px;  background: #32b16c;  color: #fff;  border: 2px solid #fff;  border-radius: 40px;  font-weight: bold;  font-size: 1rem;  cursor: pointer;  margin: 20px auto 0;  display: block;  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);  transition: all 0.2s ease;}.btn-submit:hover {  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2);  transform: translateY(-1px);}.btn-submit:active {  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);  transform: translateY(0);}.btn-submit:disabled {  opacity: 0.5;  cursor: not-allowed;  transform: none;}.btn-back {  width: 100%;  padding: 8px;  background: transparent;  color: #303030;  border: 2px solid #303030;  border-radius: 6px;  font-weight: bold;  font-size: 0.9rem;  cursor: pointer;  margin-top: 10px;  transition: all 0.2s;}.btn-back:hover {  background: #303030;  color: #fff;}.btn-back:active {  background: #4a3432;  border-color: #4a3432;}.btn-back:disabled {  display: none;}/* 確認画面テーブル */.confirm-wrapper {  background: #fff;  padding: 16px 24px;  border-radius: 8px;  border: 2px solid #5e403e;}.confirm-form {  overflow: visible;}.confirm-table {  width: 100%;  border-collapse: collapse;  margin-bottom: 15px;}.confirm-table th,.confirm-table td {  padding: 10px;  text-align: left;  font-size: 0.9rem;  display: block;}.confirm-table th {  width: 100%;  color: #fff;  background: #d09d01;  font-weight: bold;}.confirm-table td {  font-weight: 500;  color: #303030;  background: #FFF8E0;}.checkbox-wrapper {  font-size: 0.85rem;  display: flex;  align-items: center;  gap: 5px;  margin-bottom: 15px;}/*# sourceMappingURL=style.css.map */.thanks-container{    margin: 40px auto;    padding: 0 20px;    max-width: 600px;    line-height: 1.6;    height: 100vh;}.thanks-message p{    margin-bottom: 20px;}