/* フォーム全体のスタイル */
.form {
    max-width: 660px;
    margin: 50px auto 0;
    padding: 2rem;
    background: #f9f9f9;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

/* レイアウト合わせのため（のちに修正予定）*/
.contentsBox01 h1 .h2wrap {
    padding: 91px 0;
    width: 960px;
    margin: 0 auto;
}

h1 {
    max-width: 100%;
}

#container h1 .h2Eng {
    font-size: 150%;
    padding-bottom: 20px;
    border-bottom: 1px solid #fff;
    max-height: 43px;
}

#container h1 .h2Jan {
    padding-top: 10px;
    font-weight: normal;
    font-size: 21px;
}

#container h1 .h2Eng,
#container h1 .h2Jan {
    display: block;
    color: #fff;
    text-align: center;
}

@media screen and (max-width: 760px) {

    .blogModuleLoopLayout .contentsBox01 h1,
    .blogSingleLayout .contentsBox01 h2 {
        max-width: 100%;
    }

    .blogModuleLoopLayout .contentsBox01 h1 .h2wrap {
        width: 100%;
        padding: 30px 0;
    }

    #container h1 .h2wrap {
        width: 90%;
        padding: 66px 0;
    }

}

/* グループごとの余白と整列 */
.form_group {
    margin-bottom: 1.5rem;
}

/* グループ中リンク */
div.form_group a {
    text-decoration: underline;
    margin-left: 5px;
    color: #1a73e8;
}

div.form_group a:hover {
    color: #0050b8;
    font-weight: bolder;
}

div.form_group a:active {
    color: #ec6941
}

div.form_group a:visited {
    color: #7116c7
}

/* 共通フォームスタイル */
.form_group label {
    display: block;
    font-weight: bold;
    margin-bottom: 0.3rem;
    color: #333;
    position: relative;
}

/* 必須マーク */
.form_group label.required::after {
    content: " ※必須";
    color: #e60033;
    font-size: 0.9em;
    margin-left: 0.5em;
}

/* 任意マーク */
.form_group label.optional::after {
    content: " （任意）";
    color: #666;
    font-size: 0.85em;
    margin-left: 0.5em;
}

/* 入力フォームのスタイル */
.form_group input[type="text"],
.form_group input[type="email"],
.form_group input[type="tel"],
.form_group input[type="file"],
.form_group textarea {
    width: 100%;
    padding: 0.6em;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 1rem;
    box-sizing: border-box;
}

/* テキストエリア */
.form_group textarea {
    resize: vertical;
    min-height: 120px;
}

/* ラジオボタンの整列 */
.wpcf7-radio {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
    margin-top: 0.3rem;
}

.wpcf7-radio label {
    font-weight: normal;
}

/* 送信ボタン */
.form_btn {
    text-align: center;
}

/* ボタン共通デザイン */
.form_btn input[type="button"],
.form_btn input[type="submit"],
input.confirm_button {
    background-color: #ec6941;
    color: #fff;
    padding: 0.7em 2em;
    border: none;
    border-radius: 5px;
    font-size: 1.1rem;
    cursor: pointer;
    transition: background-color 0.3s;
}

input.confirm_button:hover {
    background-color: #b95232;
}

/* 戻るボタン用 */
input[type="button"].gray_button.back_button {
    background-color: #f5f5f5;
    color: #333;
    padding: 0.7em 2em;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 0.9rem;
    cursor: pointer;
    transition: background-color 0.3s;
    margin-top: 5rem;
}

input[type="button"].gray_button.back_button:hover {
    background-color: #e0e0e0;
    border-color: #bbb;
}

/* 住所グループ全体 */
.address_group {
    background-color: #f9f9f9;
    border: 1px solid #ccc;
    padding: 1.5em;
    margin-bottom: 2em;
    border-radius: 8px;
}

/* セクションタイトル */
.address_group_title {
    font-size: 1.1em;
    font-weight: bold;
    margin-bottom: 1em;
    color: #005bac;
    border-left: 4px solid #005bac;
    padding-left: 0.5em;
}

/* 各住所項目 */
.address_item {
    margin-bottom: 1em;
}

.address_item label {
    display: block;
    font-weight: bold;
    margin-bottom: 0.3rem;
}

/* h1背景 */
.contactLayout .contentsBox01 h1 {
    background-image: url(/common/img/h2.jpg);
}

/*確認画面と完了画面を非表示*/
.confirm_area,
.thanks_area {
    display: none;
}

/*デフォルトのサンクスメッセージを非表示*/
.wpcf7-response-output {
    display: none;
}

/* 確認画面のスタイル */
.confirm_area {
    max-width: 600px;
    margin: 50px auto;
    padding: 2rem;
    background: #f4f4f4;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.08);
}

.confirm_area h3 {
    font-size: 1.4em;
    margin-bottom: 1rem;
    color: #005bac;
    border-left: 4px solid #005bac;
    padding-left: 0.5em;
}

.confirm_area p {
    margin-bottom: 2rem;
    font-size: 1rem;
    color: #333;
}

.confirm_area .form_group label {
    display: block;
    font-weight: bold;
    margin-bottom: 0.2rem;
    color: #333;
}

.confirm_area .form_group span {
    display: block;
    padding: 0.6em;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 1rem;
}

/* 確認画面ボタンエリア */
.confirm_area .form_btn {
    margin-top: 2rem;
    text-align: center;
}

.confirm_area input[type="button"],
.confirm_area input[type="submit"] {
    background-color: #ec6941;
    color: #fff;
    padding: 0.7em 2em;
    border: none;
    border-radius: 5px;
    font-size: 1.1rem;
    cursor: pointer;
    margin: 0 0.5em;
    transition: background-color 0.3s;
}

.confirm_area input[type="button"]:hover,
.confirm_area input[type="submit"]:hover {
    background-color: #b95232;
}

/* 完了画面（サンクスページ） */
.thanks_space {
    max-width: 600px;
    margin: 50px auto;
    padding: 2.5rem;
    background: #f0eaff;
    border: 1px solid #ddd2ff;
    border-radius: 10px;
    text-align: center;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.06);
}

.thanks_space h1 {
    font-size: 1.6em;
    color: #0073aa;
    margin-bottom: 1rem;
}

.thanks_space p {
    font-size: 1rem;
    color: #333;
}


/*0831追加（電話番号など） */
/* --- カセット全体のデザイン --- */
.cassette {
    max-width: 900px;
    margin: 50px auto 0;
    background-color: #f9f9f9;
    border: 1px solid #ccc;
    padding: 40px 20px;
    border-radius: 12px;
}

/* --- セクションの見出し --- */
.cassette h3 {
    font-size: 1.6rem;
    margin-bottom: 20px;
    color: #333;
    border-left: 5px solid #0073aa;
    padding-left: 10px;
}

/* --- listbox各項目 --- */
.listbox01 {
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 20px 25px;
    margin-bottom: 20px;
    text-align: center;
}

.listbox01 h4 {
    font-size: 1.2rem;
    color: #0073aa;
    margin-bottom: 10px;
}

/* --- 電話番号などの情報 --- */
.listbox01 ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.listbox01 li {
    font-size: 1rem;
    color: #444;
    margin-bottom: 6px;
}

.listbox01 span.label {
    font-weight: bold;
    color: #555;
    margin-right: 6px;
}


/* --- PDFリンク部分 --- */
.inner.margin-data {
    text-align: center;
}

.inner.margin-data a {
    display: inline-block;
    background-color: #d9e0e4;
    color: #1a1a1a;
    padding: 10px 20px;
    border-radius: 6px;
    text-decoration: none;
    margin-top: 20px;
    transition: background-color 0.3s;
}

.inner.margin-data a:hover {
    background-color: #b0b7bb;
}

/* --- 採用バナー --- */
#banner {
    margin-top: 40px;
    text-align: center;
}

#banner img {
    max-width: 80%;
    border-radius: 12px;
}

/* --- TEL / FAX 番号の強調スタイル --- */
.contact-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.contact-list li {
    margin-bottom: 10px;
    font-size: 1rem;
    padding: 5px 0;
}

.label {
    font-weight: 600;
    margin-right: 10px;
    color: #333;
}

/* 強調表示 */
.highlight-tel,
.highlight-fax {
    font-size: 2rem;
    color: #212964;
    font-weight: bold;
    letter-spacing: 0.05em;
    display: inline-block;
}

/* --- 資料リンク --- */
.download-link.subtle {
    display: inline-block;
    font-size: 0.9rem;
    color: #555;
    background-color: #f0f0f0;
    border: 1px solid #ccc;
    padding: 8px 16px;
    border-radius: 6px;
    text-decoration: none;
    margin-top: 20px;
    transition: background-color 0.3s ease;
}

.download-link.subtle:hover {
    background-color: #e2e2e2;
    color: #333;
}

/* サンクスページのトップへ戻るボタン */
.thanks_backlink {
    text-align: center;
    margin: 40px 0;
}

.btn-home {
    display: inline-block;
    background-color: #67559f;
    color: white;
    text-decoration: none;
    padding: 12px 24px;
    border-radius: 6px;
    font-size: 1rem;
    font-weight: bold;
    transition: background-color 0.3s ease;
}

.btn-home:hover {
    background-color: #3c2c69;
}