/* ====== 完全パステル ゆるふわテーマ ====== */
:root {
  --bg: #fffafc;            /* ほんのりピンク白 */
  --panel: #ffffff;
  
  --fg: #4a4a4a;            /* パステルに合う濃いめグレー */
  --muted: #8d8d8d;

  /* 完全パステルカラー */
  --p-pink:   #ffb6e6;      /* やさしいピンク */
  --p-mint:   #b4f2e1;      /* パステルミント */
  --p-purple: #d8c8ff;      /* ラベンダー */
  --p-yellow: #ffe8a3;      /* バナナクリーム */
  --p-blue:   #b9e0ff;      /* パステルライトブルー */

  --border: #e8e3f2;
  --radius: 16px;
  --transition: 0.25s ease;
}

body {
  background: var(--bg);
  color: var(--fg);
  font-family: "Hiragino Sans", "Rounded Mplus 1c", "Segoe UI", sans-serif;
  padding: 40px;
}

/* ====== ラベル ====== */
.form-group {
  margin-bottom: 20px;
}

.form-group label {
  display: block;
  font-weight: 700;
  margin-bottom: 6px;
  color: var(--fg);
  font-size: 15px;
}

/* ====== テキストインプット ====== */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
textarea,
select {
  width: 100%;
  padding: 12px 14px;
  border-radius: var(--radius);
  border: 2px solid var(--p-purple);
  background: #ffffff;
  color: var(--fg);
  font-size: 16px;
  transition: var(--transition);
  box-sizing: border-box;
}

input:hover,
textarea:hover,
select:hover {
  border-color: var(--p-blue);
}

input:focus,
textarea:focus,
select:focus {
  border-color: var(--p-pink);
  box-shadow: 0 0 10px rgba(255, 182, 230, 0.45);
  outline: none;
}

/* ====== チェックボックス・ラジオ（ゆるパステル） ====== */

.checkbox-container,
.radio-container {
  display: flex;
  align-items: center;
  cursor: pointer;
  gap: 10px;
  margin: 8px 0;
  font-size: 15px;
  color: var(--fg);
}

input[type="checkbox"],
input[type="radio"] {
  appearance: none;
  width: 24px;
  height: 24px;
  border: 2px solid var(--p-purple);
  background: #fff;
  border-radius: 10px;
  position: relative;
  transition: var(--transition);
  box-shadow: 0 3px 6px rgba(180, 180, 200, 0.12);
}

/* ホバー */
input[type="checkbox"]:hover,
input[type="radio"]:hover {
  border-color: var(--p-blue);
}

/* チェックボックス */
input[type="checkbox"] {
  border-radius: 8px;
}

input[type="checkbox"]:checked {
  background: var(--p-mint);
  border-color: var(--p-mint);
  box-shadow: 0 4px 10px rgba(180, 242, 225, 0.45);
}

input[type="checkbox"]:checked::after {
  content: "";
  width: 6px;
  height: 12px;
  border: solid #fff;
  border-width: 0 3px 3px 0;
  position: absolute;
  top: 2px;
  left: 7px;
  transform: rotate(45deg);
}

/* ラジオ */
input[type="radio"] {
  border-radius: 50%;
}

input[type="radio"]:checked {
  background: var(--p-pink);
  border-color: var(--p-pink);
  box-shadow: 0 4px 10px rgba(255, 182, 230, 0.45);
}

input[type="radio"]:checked::after {
  content: "";
  width: 11px;
  height: 11px;
  background: #fff;
  border-radius: 50%;
  position: absolute;
  top: 5px;
  left: 5px;
}

/* ====== セレクトの矢印もパステル仕様 ====== */
select {
  appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--p-purple) 50%),
    linear-gradient(135deg, var(--p-purple) 50%, transparent 50%);
  background-position: calc(100% - 18px) calc(50% - 4px),
                      calc(100% - 12px) calc(50% + 3px);
  background-size: 6px 6px;
  background-repeat: no-repeat;
}

/* ====== ボタン（パステルグミ・ゆるふわ） ====== */
button {
  background: linear-gradient(120deg, var(--p-pink), var(--p-blue), var(--p-mint));
  color: #fff;
  border: none;
  padding: 14px 26px;
  border-radius: 24px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  transition: var(--transition);
  box-shadow:
    0 5px 12px rgba(255, 182, 230, 0.35),
    0 5px 12px rgba(185, 224, 255, 0.35),
    0 5px 12px rgba(180, 242, 225, 0.35);
}

/* ホバーでふわっとふくらむ */
button:hover {
  transform: translateY(-3px) scale(1.04);
  box-shadow:
    0 7px 16px rgba(255, 182, 230, 0.5),
    0 7px 16px rgba(185, 224, 255, 0.5),
    0 7px 16px rgba(180, 242, 225, 0.5);
}

/* 押したときの“ぷにっ”感 */
button:active {
  transform: scale(0.96);
}


/* !ヘッダー部分
---------------------------------------------------------- */
.container h3 {
	font-size: 20px;
	color: #e98ac8;
	font-weight: bold;
}
.container #head {
	text-align: right;
	color: #031d44;
}
.container #head a {
	color: #031d44;
	text-decoration: none;
}
.container #contact h2 {
	color: #f38815;
	font-size: 13px;
}


/* !Table
---------------------------------------------------------- */
table{
	border-collapse: collapse;
}
th{
	/*width: 10%;*/
	padding: 6px;
	text-align: center;
	vertical-align: top;
	color: #333;
	background-color: #ffe0f4;
	border: 1px solid #ffb6e6;
}
td{
	padding: 6px;
	border: 1px solid #ffb6e6;
}
