/* ===== 基本レイアウト ===== */
body {
    font-family: "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    background: #90c5f0;
    margin: 0;
    padding: 0.75em;
    font-size: 14pt;
}
form {
    max-width: 400px;
    margin: 0 auto;
    background: #fff;
    border-radius: 10px;
    padding: 1em;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
/* ===== 見出し ===== */
h1 {
    border-top: 2px solid #005BAC;
    border-bottom: 2px solid #005BAC;
    text-align: center;
    font-size: 130%;
    font-weight: bold;
    margin-bottom: 25px;
    padding: 0.25em 0;
}
/* ===== ラベルと入力欄の横並び ===== */
.form-row {
    display: flex;
    align-items: center;
    margin-bottom: 0.5em;
}
.form-row > label {
    width: 35%;
    font-size: 85%;
    margin-right: 1em;
}
.form-row > div {
    flex: 1;
    align-self: flex-start;
}
.form-row > div > span > input {
    font-size: 80%;
    width: 100%;
    border: 1px solid #8f8f9d;
    border-radius: 2px;
}
.wpcf7-list-item {
    display: inline-block;
    margin: 0 1em 0 0;
}
/* ===== 注意文章 ===== */
.wpcf7-not-valid-tip {
    font-size: 90%;
}
/* ===== 画像 ===== */
.img-bt-m {
    margin-bottom: 10px;
}
/* ===== バス開閉 ===== */
.bus-area {
    background-color: #fffdd3;
    padding: 10px;
    font-size: 85%;
}
.bus-area > span > input {
    width: 45px;
}
.bus-area > p {
    margin: 5px 0
}
.bus-area > p .red {
    color: red
}
/* ===== 当日のコース ===== */
.course-area {
    border: 1px solid #81c4ff;
    padding: 10px;
    margin: 15px 0
}
.course-area h2 {
    text-align: center;
    font-size: 130%;
    font-weight: bold;
    margin-bottom: 5px;
}
.course-list {
    list-style: none; /* デフォルトのマーカーを消す */
}
.course-list li {
    position: relative;
    padding-left: 1.2em; /* 三角分のスペース */
    margin-bottom: 0.5em;
    font-size: 90%;
}
.course-list li::before {
    content: "▶"; /* 三角形の文字 */
    position: absolute;
    left: 0;
    top: 0;
    color: #656565; /* お好みの色 */
    font-size: 1em;
    line-height: 1.5;
}
/* ===== 当日のコース-ボタン ===== */
/* ラジオボタン自体は非表示 */
input[value="行程表の入力"], input[value="コース相談希望"] {
    display: none
}
/* 各選択肢ごとの背景画像を設定 */
input[value="行程表の入力"] + .wpcf7-list-item-label, input[value="コース相談希望"] + .wpcf7-list-item-label {
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    display: block;
    width: 139px; /* 適宜調整 */
    height: 100px; /* 適宜調整 */
    background-size: contain;
    background-image: url('/wp-content/uploads/common/line_bt_kouteihyou.jpg'); /* 差し替え画像1 */
    border: 3px solid #005bac;
    transition: all 0.3s ease;
    border-radius: 10px;
}
input[value="コース相談希望"] + .wpcf7-list-item-label {
    background-image: url('/wp-content/uploads/common/line_bt_course.jpg'); /* 差し替え画像1 */
}
/* チェックされたら枠線を変える */
input[type="radio"]:checked + .wpcf7-list-item-label {
    border: 3px solid #f39800;
    box-shadow: 0 0 5px rgba(243, 152, 0, 0.5);
}
/* ===== 当日のコース-開き-コース相談希望 ===== */
.plan-entry h3 {
    background-color: #005bac;
    color: white;
    padding: 0.25em;
    font-size: 100%;
}
.plan-entry-naiyou {
    background-color: #e4f2ff;
    padding: 0.35em;
}
.plan-entry-naiyou .form-row > label {
    width: 40%;
    font-size: 75%;
    margin-right: 0.25em;
    text-align: center;
}
.plan-entry-naiyou .form-row > div, .plan-entry-naiyou > span > textarea {
    font-size: 80%;
}
.plan-entry-naiyou .form-row > div > span > input.wpcf7-validates-as-number {
    width: 45px;
}
/* ===== テキストエリア ===== */
textarea {
    width: 100%;
    height: 8em;
    padding: 0.5em;
    font-size: 80%;
    border-radius: 5px;
    border: 1px solid #ccc;
}
/* ===== 送信ボタン ===== */
input[type="submit"] {
    display: block;
    margin: 0 auto;
    width: 80%;
    padding: 0.25em 0;
    font-size: 1.2em;
    background: #0078d7;
    color: white;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    margin-top: 1.5em;
}
input[type="submit"]:hover {
    background: #005bb5;
}
.wpcf7 form .wpcf7-response-output {
    margin: 0.5em 0.5em 1em;
    background-color: #398f14;
    color: #fff;
}
.wpcf7 form .wpcf7-mail-sent-ng {
    border: 2px solid #ff0000;
}
.wpcf7 form .wpcf7-spam-blocked {
    border: 2px solid #ffa500;
}
.wpcf7 form .wpcf7-validation-errors {
    border: 2px solid #f7e700;
}
.wpcf7-spinner, .wpcf7-spinner:before {
    display: none
}