@charset "UTF-8";

hr {
    margin-block-start: 0.5em;
    margin-block-end: 0.5em;
}

main.hs--2026__content {
    padding-top: 1em;
    background-color: #fff;
    min-height: 95vh;
}

main.hs--2026__content .mainContents {
    margin-top: 0.5em;
}

div.form-field-label {
    margin-top: 0.25em;
    margin-bottom: 0.25em;
}

/* ラジオ／チェックボックスのラベル（入力要素との間隔を空ける） */
label.form-choice-label {
    padding-left: 0.35em;
    padding-right: 0.75em;
}

/* 戻り先URL（コーナーへ戻る）ボタン */
.form-return {
    margin: 1.5em auto;
    text-align: center;
}

.form-return__button {
    display: inline-block;
    padding: 0.7em 1.4em;
    color: #222;
    background: #fff;
    border: 1px solid #999;
    border-radius: 6px;
    font-weight: bold;
    text-decoration: none;
}

.form-return__button:hover {
    background: #f2f2f2;
}

/* SP では h1 が左端に寄りすぎるため、わずかに左 padding を入れる（フォーム共通） */
main.hs--2026__content h1 {
    padding-left: 0.5em;
}

/** 以下、旧システムからインポート **/
input {
    border: 1px solid #666;
    border-radius: 4px;
    -webkit-box-shadow: -1px -1px 0px #000;
    background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#efefef));
    background: -moz-linear-gradient(top, #ffffff, #efefef);
    box-shadow: 1px 1px 1px #666 inset;
    height: 2em;
    padding-left: 0.5em;
    padding-right: 0.5em;
}
textarea {
    border: 1px solid #666;
    border-radius: 4px;
    -webkit-box-shadow: -1px -1px 0px #000;
    background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#efefef));
    background: -moz-linear-gradient(top, #ffffff, #efefef);
    box-shadow: 1px 1px 1px #666 inset;
    width: 98%;
    padding: 0.3em 0.5em;
    height: 7em;
}

input[type='text'],
input[type='email'] {
    width: 98%;
}

input[readonly],
textarea[readonly] {
    background: #e0e0e0;
}

.threeRadioBtn {
    width: 90%;
    margin: 10px auto 20px;
}
.threeRadioBtn li {
    width: 33.3%;
    position: relative;
    float: left;
}
.threeRadioBtn label {
    display: block;
    padding: 5px 20px;
    background: -webkit-gradient(
        linear,
        left top,
        left bottom,
        color-stop(0, rgba(100, 100, 100, 0.3)),
        color-stop(1, rgba(255, 255, 255, 0))
    );
    background: -webkit-linear-gradient(top, rgba(100, 100, 100, 0.3), rgba(255, 255, 255, 0));
    background: -moz-linear-gradient(top, rgba(100, 100, 100, 0.3), rgba(255, 255, 255, 0));
    background: -o-linear-gradient(top, rgba(100, 100, 100, 0.3), rgba(255, 255, 255, 0));
    background: -ms-linear-gradient(top, rgba(100, 100, 100, 0.3), rgba(255, 255, 255, 0));
    background: linear-gradient(top, rgba(100, 100, 100, 0.3), rgba(255, 255, 255, 0));
    border: 1px #000 solid;
    -webkit-box-shadow: 0 0 5px #fff;
    color: #999;
    font-size: 0.9em;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.5);
    text-decoration: none;
    -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.4);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.4);
    text-align: center;
}
.threeRadioBtn li:first-child label {
    border-right: 0;
    border-radius: 10px 0 0 10px;
}
.threeRadioBtn li:last-child label {
    border-left: 0;
    border-radius: 0 10px 10px 0;
}
.threeRadioBtn input[type='radio']:checked + label {
    text-shadow: 0 -1px #fff;
    background: -webkit-gradient(
        linear,
        left top,
        left bottom,
        color-stop(0, #5d5d5d),
        color-stop(0.5, #575757),
        color-stop(0.5, #4f4f4f),
        color-stop(1, #383838)
    );
    background: -webkit-linear-gradient(top, #5d5d5d 0%, #575757 50%, #4f4f4f 50%, #383838 100%);
    background: -moz-linear-gradient(top, #5d5d5d 0%, #575757 50%, #4f4f4f 50%, #383838 100%);
    background: -o-linear-gradient(top, #5d5d5d 0%, #575757 50%, #4f4f4f 50%, #383838 100%);
    background: -ms-linear-gradient(top, #5d5d5d 0%, #575757 50%, #4f4f4f 50%, #383838 100%);
    background: linear-gradient(top, #5d5d5d 0%, #575757 50%, #4f4f4f 50%, #383838 100%);
    color: #fff;
}
.threeRadioBtn input[type='radio'] {
    opacity: 0;
    position: absolute;
    top: -3px;
    left: -3px;
    width: 100%;
    height: 100%;
    padding: 0;
}

dl.formSample02 {
    margin-top: 10px;
}
dl.formSample02 dd:after {
    content: '';
    isplay: block;
    clear: both;
}
dl.formSample02 dd li {
    position: relative;
    list-style: none;
    float: left;
    width: 30%;
    margin-bottom: 10px;
}
dl.formSample02 dd label {
    display: block;
    padding: 5px 20px;
    background-image: -webkit-gradient(
        linear,
        left top,
        left bottom,
        color-stop(0, rgba(100, 100, 100, 0.3)),
        color-stop(1, rgba(255, 255, 255, 0))
    );
    border: 1px #000 solid;
    -webkit-box-shadow: 0 0 5px #fff;
    color: #999;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.5);
    text-decoration: none;
    -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.4);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.4);
    text-align: center;
}
dl.formSample02 dd li:first-child label {
    border-right: 0;
    border-radius: 10px 0 0 10px;
}
dl.formSample02 dd li:last-child label {
    border-left: 0;
    border-radius: 0 10px 10px 0;
}
dl.formSample02 dd input[type='radio']:checked + label {
    text-shadow: 0 -1px #fff;
    background-image: -webkit-gradient(
        linear,
        left top,
        left bottom,
        color-stop(0, #5d5d5d),
        color-stop(0.5, #575757),
        color-stop(0.5, #4f4f4f),
        color-stop(1, #383838)
    );

    color: #fff;
}
dl.formSample02 dd input[type='radio'] {
    opacity: 0;
    position: absolute;
    top: -3px;
    left: -3px;
    width: 100%;
    height: 100%;
    padding: 0;
}

select {
    width: 90%;
    padding: 5px;
    border: 1px solid #666;
    border-radius: 4px;
    -webkit-box-shadow: -1px -1px 0px #000;
    background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#efefef));
    background: -moz-linear-gradient(top, #ffffff, #efefef);
    box-shadow: 1px 1px 1px #666 inset;
}

option {
    border: 1px solid #666;
    border-radius: 4px;
    -webkit-box-shadow: -1px -1px 0px #000;
    background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#efefef));
    background: -moz-linear-gradient(top, #ffffff, #efefef);
    box-shadow: 1px 1px 1px #666 inset;
}

option[selected] {
    font-weight: bold;
    color: #090;
}

.word {
    height: 30px;
    border: 1px solid #666;
    margin-bottom: 10px;
    border-radius: 4px;
    -webkit-box-shadow: -1px -1px 0px #000;
    background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#efefef));
    background: -moz-linear-gradient(top, #ffffff, #efefef);
    box-shadow: 1px 1px 1px #666 inset;
}

.search {
    width: 25%;
    margin: 0;
    background: -webkit-gradient(linear, left top, left bottom, from(#666), to(#111));
    border: 1px #ccc solid;
    color: #fff;
    -webkit-appearance: none;
    -webkit-border-radius: 10px;
    -webkit-box-shadow: 0 2px 2px #ccc;
    text-shadow: 1px 2px 3px #999;
}

input[type='radio'] {
    -webkit-appearance: none;
    position: relative;
    margin-right: 5px;
    border-radius: 45px;
    border: 2px solid #4c4c4c;
    -webkit-box-sizing: border-box;
    width: 28px;
    height: 28px;
    background: -webkit-gradient(linear, left top, left bottom, from(#fdfdfd), to(#d1d1d1));
    vertical-align: middle;
    margin: 0.5em 0 0.5em;
}

input[type='radio']:checked {
    background: -webkit-gradient(linear, left top, left bottom, from(#353535), to(#8f8f8f));
}

input[type='radio']:checked:before {
    position: absolute;
    left: 7px;
    top: 7px;
    display: block;
    -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 1);
    content: '';
    width: 10px;
    height: 10px;
    background: #fff;
    border-radius: 45px;
}

input[type='checkbox'] {
    -webkit-appearance: none;
    position: relative;
    margin-right: 5px;
    border-radius: 8px;
    border: 2px solid #4c4c4c;
    -webkit-box-sizing: border-box;
    width: 28px;
    height: 28px;
    background: -webkit-gradient(linear, left top, left bottom, from(#fdfdfd), to(#d1d1d1));
    vertical-align: middle;
    margin: 0.5em 0;
}

input[type='checkbox']:checked {
    background: -webkit-gradient(linear, left top, left bottom, from(#353535), to(#8f8f8f));
}

input[type='checkbox']:checked:before {
    position: absolute;
    left: 1px;
    top: 17px;
    display: block;
    -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 1);
    content: '';
    width: 10px;
    height: 4px;
    background: #fff;
    -webkit-transform: rotate(45deg);
    -webkit-transform-origin: right center;
}

input[type='checkbox']:checked:after {
    display: block;
    position: absolute;
    left: 9px;
    top: 17px;
    content: '';
    -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 1);
    width: 19px;
    height: 4px;
    background: #fff;
    -webkit-transform: rotate(-53deg);
    -webkit-transform-origin: left center;
}
label {
    margin: 0px;
    padding: 0px;
}
.subbutton {
    width: 25%;
    margin: 0;
    padding: 10px;
    background: -moz-linear-gradient(top, #666, #111); /* 3.6+ */
    background: -webkit-gradient(
        linear,
        left top,
        left bottom,
        from(0, #666),
        to(1, #111)
    ); /* Chrome 9.0, Safari 4.0  E5.0 */
    background: -webkit-linear-gradient(top, #666, #111); /* Chrome 10+, Safari 5.1+ */
    background: -ms-linear-gradient(top, #666, #111); /* 10+ */
    background: -o-linear-gradient(top, #666, #111); /* 11.1+ */
    background: linear-gradient(to bottom, #666, #111); /* Standard */
    border: 1px #ccc solid;
    color: #fff;
    -webkit-appearance: none;
    -webkit-border-radius: 10px; /* Chrome 5.0+, Safari 5.0+ */
    -webkit-box-shadow: 0 2px 2px #ccc; /* 2.0  E3.6 */
    border-radius: 10px; /* Standard */
    text-shadow: 1px 2px 3px #999;
}

ul.menu_listc li {
    margin-top: 2px;
    display: block;
    padding: 10px 20px 10px 10px;
    overflow: hidden;
}
ul.contc li {
    height: auto;
}

ul.contc li a {
    border: 1px #ccc solid;
    background: -webkit-gradient(linear, left top, left bottom, from(#ccc), to(#999));
    background-image: -moz-linear-gradient(center bottom, #666, #111);
    border-radius: 5px;
    -webkit-border-radius: 5px;
    text-align: center;
    display: inline-block;
    color: #ccffff;
    text-shadow: 1px 1px 3px #000;
    margin: 0px 10px;
    padding: 0px 7px;
}

/*====================================
 * 設定看破
==================================== */
#form2 {
    width: 98%;
    background: -moz-linear-gradient(top, #1fa9d7, #88defa); /* 3.6+ */
    background: -webkit-gradient(
        linear,
        left top,
        left bottom,
        color-stop(0, #1fa9d7),
        color-stop(1, #88defa)
    ); /* Chrome 10+, Safari 5.1+ */
    background: -webkit-linear-gradient(top, #1fa9d7, #88defa); /* Chrome 10+, Safari 5.1+ */
    background: -ms-linear-gradient(top, #1fa9d7, #88defa); /* 10+ */
    background: -o-linear-gradient(top, #1fa9d7, #88defa); /* 11.1+ */
    background: linear-gradient(to bottom, #1fa9d7, #88defa); /* Standard */
    border-bottom: 1px solid #939393;
    border-top: 1px solid #c9c9c9;
    display: block;
    margin-top: 10px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    color: #fff;
    text-shadow: 1px 1px 3px #000;
    overflow: hidden;
}
#form2 a {
    color: #fff;
}
#form2 dl {
}
#form2 dt {
    width: 90%;
    margin: 0px auto;
    text-align: left;
}
#form2 dd {
    width: 90%;
    margin: 0px auto;
}
#form2 span {
    margin-left: 16px;
}

#form3 {
    width: 98%;
    background: -moz-linear-gradient(top, #1fa9d7, #88defa); /* 3.6+ */
    background: -webkit-gradient(
        linear,
        left top,
        left bottom,
        color-stop(0, #1fa9d7),
        color-stop(1, #88defa)
    ); /* Chrome 10+, Safari 5.1+ */
    background: -webkit-linear-gradient(top, #1fa9d7, #88defa); /* Chrome 10+, Safari 5.1+ */
    background: -ms-linear-gradient(top, #1fa9d7, #88defa); /* 10+ */
    background: -o-linear-gradient(top, #1fa9d7, #88defa); /* 11.1+ */
    background: linear-gradient(to bottom, #1fa9d7, #88defa); /* Standard */
    border-bottom: 1px solid #939393;
    border-top: 1px solid #c9c9c9;
    display: block;
    margin-top: 10px;
    margin-left: auto;
    margin-right: auto;
    padding: 0px 5%;
    text-align: center;
    color: #fff;
    text-shadow: 1px 1px 3px #000;
    overflow: hidden;
}
#form3 a {
    color: #fff;
}
#form3 dl {
    float: left;
    width: 30%;
}
#form3 dt {
    width: 90%;
    margin: 0px auto;
    text-align: left;
}
#form3 dd {
    width: 90%;
    margin: 0px auto;
}
#form3 span {
    margin-left: 16px;
}
/** インポートここまで **/

button.login,
input.login,
a.button.login {
    background: #111;
    color: #fff;
    text-decoration: none;
    position: relative;
    cursor: pointer;
    border: 0;
    font-weight: bold;
    line-height: 1;
    padding: 5px 10px 6px;
    font-size: 24px;
    border-bottom: 1px solid transparent\9;
    text-shadow:
        0 -1px 1px rgba(0, 0, 0, 0.25),
        -2px 0 1px rgba(0, 0, 0, 0.25);
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
    -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
    display: -moz-inline-stack;
    display: inline-block;
    vertical-align: middle;
    position: relative;
    zoom: 1;
    -moz-user-select: none;
}

/** 問い合わせ関連 **/
h1.midashi {
    color: #ffffff;
    background-color: #000;
    text-align: center;
    font-weight: bold;
    font-size: 5vw;
    margin-bottom: 3vw;
    padding: 1vw 0;
}

.toiawase {
    margin: 0 2vw;
    font-size: 4vw;
}

.toiawase h2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-bottom: 1%;
    font-size: 4.2667vw;
    font-weight: bold;
    border-bottom: 0.6vw solid #084d8f;
}
.toiawase h2 img {
    width: 7.2%;
    margin: -0.2% 1% 0 0;
}

.kaiyaku a {
    display: block;
    border: solid 0.3vw #000;
    color: #ffffff;
    font-size: 3vw;
    line-height: 2;
    text-align: center;
    width: 42%;
    text-decoration: none;
    margin: 1vw auto;
    font-weight: bold;
    background: #000000;
}

.ac {
    width: 96%;
    margin: 0 auto;
    background-color: white;
    border-radius: 2vw;
    box-sizing: border-box;
}
.ac h1 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-bottom: 1%;
    font-size: 4.2667vw;
    font-weight: bold;
    border-bottom: 0.6vw solid #084d8f;
}
.ac h1 img {
    width: 7.2%;
    margin: -0.2% 1% 0 0;
}
.ac_btn {
    width: 100%;
    margin-top: 3vw;
    padding-left: 2%;
    border: solid 0.3vw #000;
    box-sizing: border-box;
    font-size: 4vw;
    line-height: 3;
    position: relative;
}
.ac_btn::after {
    content: '＞';
    display: block;
    color: #666;
    position: absolute;
    transform: translate(-50%, -50%) rotate(-90deg) scaleY(1.5);
    top: 50%;
    right: 2%;
    transition: 0.3s;
}
.ac_btn.off::after {
    transform: translate(-50%, -50%) rotate(90deg) scaleY(1.5);
}
.ac_content {
    display: none;
    font-size: 4vw;
    line-height: 1.3;
    padding: 0 2%;
    overflow: hidden;
}
.ac_content p {
    margin-top: 2vw;
}

.contact_btn {
    display: block;
    width: 50%;
    margin: 3vw auto 1vw;
    color: #000;
    font-weight: bold;
    line-height: 2;
    text-align: center;
    text-decoration: none;
    border: solid 0.6vw #666;
    border-radius: 1.6vw;
}

/**
 * 問い合わせ関連（h1.midashi 〜 .contact_btn）の PC 対応
 *
 * 上記スタイルは vw 単位（ビューポート幅基準）で、SP 想定の 835px 以下では適切だが、
 * 836px 以上では文字・余白が際限なく拡大してしまう。
 * そこで 836px 以上では各値を「835px 時の px 相当（1vw = 8.35px）」に固定し、
 * %幅の要素は max-width で 835px 相当にキャップ・中央寄せして PC でも破綻しないようにする。
 */
@media screen and (min-width: 836px) {
    h1.midashi {
        max-width: 835px;
        margin: 0 auto 10px;
        padding: 8px 0;
        font-size: 24px;
    }

    .toiawase {
        max-width: 835px;
        margin: 0 auto;
        font-size: 16px;
    }
    .toiawase h2 {
        font-size: 20px;
        border-bottom-width: 5px;
    }

    .ac {
        max-width: 835px;
        font-size: 16px;
    }
    .ac_btn {
        font-size: 16px;
        border: solid 1px #000;
        margin-top: 0.8em;
    }

    .ac_content {
        font-size: 16px;
    }
    .ac_content p {
        margin-top: 16px;
    }
    .ac_content a {
        text-decoration: underline;
    }

    .contact_btn {
        max-width: 417px;
        margin: 25px auto 8px;
        border-width: 5px;
        border-radius: 13px;
    }
}

/* reCAPTCHA（ウィジェット・エラー表示など）をセンタリングするためのコンテナ */
.form-recaptcha {
    text-align: center;
    margin-top: 1em;
}

/* g-recaptcha だけでなく、エラー時に差し込まれる div も中央寄せ対象にする */
.form-recaptcha > div {
    display: inline-block;
}

.form-recaptcha p.error-message {
    color: #ff0000;
    margin-bottom: 0.5em;
}

/* 応募条件未達などの専用エラーページ（FormController::error） */
.form-error {
    max-width: 600px;
    margin: 2em auto;
    padding: 1.5em 1.2em;
    text-align: center;
}

/* info アイコン付きの案内ボックス */
.form-error__notice {
    display: flex;
    align-items: flex-start;
    gap: 0.6em;
    padding: 1em 1.1em;
    margin: 0 0 1.5em;
    background-color: #eef6fb;
    border: 1px solid #cfe6f3;
    border-radius: 6px;
    text-align: left;
}

.form-error__icon {
    flex-shrink: 0;
    margin-top: 0.1em;
    font-size: 1.3em;
    color: #2f8fc4;
}

.form-error__message {
    margin: 0;
    font-size: 1em;
    line-height: 1.7;
    color: #222;
}

/* ボタンは縦並び（上：本命 / 下：トップへ戻る） */
.form-error__actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.8em;
}

.form-error__button {
    display: block;
    width: 100%;
    padding: 0.9em 1em;
    font-weight: bold;
    line-height: 1.3;
    text-align: center;
    text-decoration: none;
    border-radius: 6px;
    box-sizing: border-box;
}

/* 本命：塗りつぶしボタン */
.form-error__button--primary {
    color: #fff;
    background: #111;
    border: 1px solid #111;
}

.form-error__button--primary:hover {
    background: #333;
}

/* トップへ戻る：アウトラインボタン */
.form-error__button--secondary {
    color: #222;
    background: #fff;
    border: 1px solid #999;
}

.form-error__button--secondary:hover {
    background: #f2f2f2;
}
