.bcm-contact-page,
.bcm-contact-page * { box-sizing: border-box; }
.bcm-contact-page { background: #fff; color: #17385d; font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif; }
.bcm-contact-wrap { border: 0; margin: 0 auto; max-width: 1040px; padding: 0 30px; }
.bcm-contact-form-wrap { margin: 0 auto; max-width: 820px; padding: 0 30px; }
.bcm-contact-hero { background: #f1f6f9; border: 0; padding: 44px 0 40px; text-align: center; }
.bcm-contact-hero::before,
.bcm-contact-hero::after,
.bcm-contact-hero .bcm-contact-wrap::before,
.bcm-contact-hero .bcm-contact-wrap::after { content: none !important; display: none !important; }
.bcm-contact-kicker { color: #1680c3; font-size: 9px; font-weight: 400; letter-spacing: .22em; line-height: 1.5; margin: 0 0 18px; }
.bcm-contact-hero h1 { color: #17385d; font-size: 36px; font-weight: 500; letter-spacing: .02em; line-height: 1.42; margin: 0; }
.bcm-contact-heading-rule { background: #2388c6; display: block; height: 2px; margin: 17px auto 18px; width: 40px; }
.bcm-contact-intro { color: #536b80; font-size: 14px; font-weight: 400; line-height: 1.95; margin: 0 auto; max-width: 760px; }
.bcm-contact-assurances { align-items: center; display: flex; flex-wrap: wrap; gap: 0; justify-content: center; list-style: none; margin: 25px 0 0; padding: 0; }
.bcm-contact-assurances li { color: #17385d; font-size: 14px; font-weight: 600; line-height: 1.7; padding: 0 24px; position: relative; }
.bcm-contact-assurances li + li::before { background: #aabcc8; content: ""; height: 14px; left: 0; position: absolute; top: 5px; width: 1px; }
.bcm-contact-form-section { padding: 42px 0 86px; }
.bcm-contact-form-heading { text-align: center; }
.bcm-contact-form-heading h2 { color: #17385d; font-size: 28px; font-weight: 500; letter-spacing: .05em; line-height: 1.5; margin: 0; }
.bcm-contact-form-heading > p:last-child { color: #667b8e; font-size: 13px; margin: 16px 0 0; }
.bcm-contact-form-heading > p:last-child span { background: #197dbb; border-radius: 2px; color: #fff; display: inline-block; font-size: 10px; font-weight: 600; line-height: 1; margin-right: 7px; padding: 5px 7px; vertical-align: 1px; }
.bcm-contact-form-shell { background: #fff; border: 1px solid #dce4e9; border-radius: 4px; margin-top: 0; padding: 38px 46px 48px; }
.bcm-contact-required-note { color: #667b8e; font-size: 14px; line-height: 1.7; margin: 0 0 46px; text-align: center; }
.bcm-contact-required-note span { background: #197dbb; border-radius: 2px; color: #fff; display: inline-block; font-size: 10px; font-weight: 600; line-height: 10px; margin-right: 7px; padding: 5px 7px; vertical-align: middle; }
.bcm-contact-form-shell .wpcf7,
.bcm-contact-form-shell .wpcf7-form { background: transparent !important; border: 0 !important; box-shadow: none !important; margin: 0 !important; padding: 0 !important; }
.bcm-contact-form-fields { display: grid; gap: 31px 28px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bcm-contact-field { margin: 0; min-width: 0; }
.bcm-contact-field > p:not(.bcm-contact-help) { margin: 0; }
.bcm-contact-field > p:not(.bcm-contact-help) > br { display: none; }
.bcm-contact-field .wpcf7-form-control-wrap { display: block; }
.bcm-contact-field-full { grid-column: 1 / -1; }
.bcm-contact-label { border: 0; color: #17385d; display: block !important; font-size: 15px; font-weight: 600; line-height: 24px; margin: 0 0 11px; padding: 0; }
legend.bcm-contact-label { float: none !important; width: 100% !important; }
.bcm-contact-label-row { align-items: center; display: inline-flex; flex-wrap: nowrap; gap: 8px; line-height: 24px; vertical-align: top; }
.bcm-contact-required,
.bcm-contact-optional { border-radius: 2px; display: inline-flex !important; flex: 0 0 auto; font-size: 10px; font-weight: 600; line-height: 10px; margin: 0 !important; padding: 5px 7px; position: static; vertical-align: middle; }
.bcm-contact-required { background: #197dbb; color: #fff; }
.bcm-contact-optional { background: #e7edf1; color: #667985; }
.bcm-contact-form-shell input[type="text"],
.bcm-contact-form-shell input[type="email"],
.bcm-contact-form-shell input[type="tel"],
.bcm-contact-form-shell textarea { appearance: none; background: #fff; border: 1px solid #cbd8df; border-radius: 2px; box-shadow: none; color: #17385d; font-family: inherit; font-size: 15px; line-height: 1.7; outline: none; padding: 14px 16px; transition: border-color .2s ease, box-shadow .2s ease; width: 100%; }
.bcm-contact-form-shell input[type="text"],
.bcm-contact-form-shell input[type="email"],
.bcm-contact-form-shell input[type="tel"] { height: 54px; }
.bcm-contact-form-shell textarea { line-height: 1.5 !important; min-height: 190px; resize: vertical; }
.bcm-contact-form-shell input:focus,
.bcm-contact-form-shell textarea:focus { border-color: #1680c3; box-shadow: 0 0 0 3px rgba(22, 128, 195, .1); }
.bcm-contact-form-shell ::placeholder { color: #9aa8b2; opacity: 1; }
.bcm-contact-form-shell textarea::placeholder { line-height: 1.5 !important; }
.bcm-contact-form-shell .bcm-contact-help { color: #758895; font-size: 14px !important; font-weight: 400; line-height: 1.5 !important; margin: 8px 0 0; }
.bcm-contact-choice-list .wpcf7-form-control { display: grid; gap: 10px; }
.bcm-contact-method-list .wpcf7-form-control { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bcm-contact-choice-list .wpcf7-list-item { display: block; margin: 0; }
.bcm-contact-choice-list .wpcf7-list-item > label { cursor: pointer; display: block; margin: 0; position: relative; }
.bcm-contact-choice-list input[type="radio"] { height: 1px; opacity: 0; position: absolute; width: 1px; }
.bcm-contact-choice-list .wpcf7-list-item-label { align-items: center; background: #fff; border: 1px solid #cbd8df; border-radius: 2px; color: #294963; display: flex; font-size: 14px; line-height: 1.6; min-height: 58px; padding: 13px 16px 13px 49px; position: relative; transition: background-color .2s ease, border-color .2s ease; }
.bcm-contact-choice-list .wpcf7-list-item-label::before { background: #fff; border: 1px solid #8fa4b2; border-radius: 50%; content: ""; height: 18px; left: 18px; position: absolute; top: 19px; width: 18px; }
.bcm-contact-choice-list .wpcf7-list-item-label::after { background: #1680c3; border-radius: 50%; content: ""; height: 8px; left: 24px; opacity: 0; position: absolute; top: 25px; transform: scale(.3); transition: opacity .2s ease, transform .2s ease; width: 8px; }
.bcm-contact-choice-list input[type="radio"]:checked + .wpcf7-list-item-label { background: #eef7fc; border-color: #1680c3; color: #17385d; }
.bcm-contact-choice-list input[type="radio"]:checked + .wpcf7-list-item-label::before { border-color: #1680c3; }
.bcm-contact-choice-list input[type="radio"]:checked + .wpcf7-list-item-label::after { opacity: 1; transform: scale(1); }
.bcm-contact-choice-list input[type="radio"]:focus-visible + .wpcf7-list-item-label { box-shadow: 0 0 0 3px rgba(22, 128, 195, .14); }
.bcm-contact-phone-fields { display: contents; }
.bcm-contact-phone-fields[hidden] { display: none; }
.bcm-contact-privacy { border-top: 1px solid #dbe4e9; color: #667b8e; font-size: 15px; line-height: 1.7; margin-top: 39px; padding-top: 31px; text-align: center; }
.bcm-contact-privacy p { margin: 0; }
.bcm-contact-privacy a { color: #1676ae; text-decoration: underline; text-underline-offset: 3px; }
.bcm-contact-privacy .wpcf7-form-control-wrap { display: block; margin-top: 18px; }
.bcm-contact-privacy .wpcf7-acceptance .wpcf7-list-item { margin: 0; }
.bcm-contact-privacy .wpcf7-list-item > label { align-items: center; color: #294963; cursor: pointer; display: inline-flex; font-size: 14px; gap: 11px; line-height: 1.6; text-align: left; }
.bcm-contact-privacy input[type="checkbox"] { accent-color: #1680c3; flex: 0 0 20px; height: 20px; margin: 0; position: static; width: 20px; }
.bcm-contact-privacy .wpcf7-list-item-label { display: block; line-height: 1.6; }
.bcm-contact-submit { margin-top: 30px; text-align: center; }
.bcm-contact-form-shell .bcm-contact-submit input.wpcf7-submit { appearance: none; background: #1676b8; border: 0; border-radius: 999px; box-shadow: none; color: #fff; cursor: pointer; display: block; font-family: inherit; font-size: 15px; font-weight: 600; height: 56px; letter-spacing: .08em; line-height: 56px; margin: 0 auto; max-width: 100% !important; min-width: 0 !important; padding: 0 30px; text-align: center; transition: background-color .2s ease, opacity .2s ease; width: 620px !important; }
.bcm-contact-submit .wpcf7-submit:not(:disabled):hover { background: #105f95; }
.bcm-contact-form-shell .bcm-contact-submit input.wpcf7-submit:disabled,
.bcm-contact-form-shell .bcm-contact-submit input.wpcf7-submit[disabled] { background: #d6dde2 !important; color: #fff !important; cursor: not-allowed !important; opacity: 1 !important; }
.bcm-contact-form-shell .wpcf7-spinner { display: block; margin: 14px auto 0; }
.bcm-contact-form-shell .wpcf7-not-valid-tip { color: #b5483f; font-size: 14px; line-height: 1.7; margin-top: 6px; }
.bcm-contact-form-shell .wpcf7-response-output { border: 0; border-radius: 2px; font-size: 14px; line-height: 1.8; margin: 24px 0 0; padding: 14px 16px; text-align: center; }
.bcm-contact-form-shell .wpcf7 form.sent .wpcf7-response-output { background: #edf7f1; color: #276044; }
.bcm-contact-form-shell .wpcf7 form.invalid .wpcf7-response-output,
.bcm-contact-form-shell .wpcf7 form.failed .wpcf7-response-output,
.bcm-contact-form-shell .wpcf7 form.unaccepted .wpcf7-response-output { background: #fff1ef; color: #934239; }
.bcm-contact-no-reply { background: #fff; border: 1px solid #dce4e9; border-left: 3px solid #82b4d2; color: #586f80; font-size: 14px; line-height: 1.9; margin-top: 27px; padding: 19px 22px; }
.bcm-contact-no-reply p { margin: 0; }
.bcm-contact-no-reply a { color: #1676ae; font-weight: 600; text-decoration: none; }
@media screen and (max-width: 1024px) {
.bcm-contact-hero { padding: 40px 0 36px; }
.bcm-contact-form-section { padding: 38px 0 78px; }
}
@media screen and (min-width: 1025px) {
.bcm-contact-form-wrap { max-width: 820px; }
}
@media screen and (max-width: 750px) {
.bcm-contact-wrap,
.bcm-contact-form-wrap { padding-left: 18px; padding-right: 18px; }
.bcm-contact-hero { padding: 34px 0 31px; }
.bcm-contact-hero h1 { font-size: 27px; }
.bcm-contact-heading-rule { margin: 14px auto 16px; width: 36px; }
.bcm-contact-intro { font-size: 14px; line-height: 1.85; }
.bcm-contact-pc-only { display: none; }
.bcm-contact-assurances { margin-top: 22px; }
.bcm-contact-assurances li { font-size: 13px; padding: 0 11px; }
.bcm-contact-assurances li + li::before { top: 3px; }
.bcm-contact-form-section { padding: 32px 0 64px; }
.bcm-contact-form-heading h2 { font-size: 23px; }
.bcm-contact-form-shell { margin-top: 0; padding: 25px 18px 34px; }
.bcm-contact-required-note { margin-bottom: 42px; text-align: center; }
.bcm-contact-form-fields { gap: 26px; grid-template-columns: 1fr; }
.bcm-contact-field-full { grid-column: auto; }
.bcm-contact-label { font-size: 14px; }
.bcm-contact-form-shell .bcm-contact-help { font-size: 14px !important; line-height: 1.5 !important; }
.bcm-contact-method-list .wpcf7-form-control { grid-template-columns: 1fr; }
.bcm-contact-choice-list .wpcf7-list-item-label { font-size: 13px; min-height: 54px; }
.bcm-contact-choice-list .wpcf7-list-item-label::before { top: 17px; }
.bcm-contact-choice-list .wpcf7-list-item-label::after { top: 23px; }
.bcm-contact-form-shell input[type="text"],
.bcm-contact-form-shell input[type="email"],
.bcm-contact-form-shell input[type="tel"],
.bcm-contact-form-shell textarea { font-size: 16px; }
.bcm-contact-form-shell textarea { min-height: 210px; }
.bcm-contact-privacy { text-align: left; }
.bcm-contact-no-reply { font-size: 14px; padding: 17px 16px; }
}
@media screen and (max-width: 390px) {
.bcm-contact-assurances li { padding: 0 8px; }
.bcm-contact-form-shell { padding-left: 15px; padding-right: 15px; }
} .bcm-contact-page{color:#4e5d6b}
.bcm-contact-kicker{color:#1666a5}
.bcm-contact-hero h1,
.bcm-contact-form-heading h2,
.bcm-contact-assurances li,
.bcm-contact-label,
.bcm-contact-field label{color:#17385d}
.bcm-contact-intro,
.bcm-contact-form-heading>p:last-child,
.bcm-contact-required-note,
.bcm-contact-help,
.bcm-contact-no-reply{color:#526779}
.bcm-contact-choice-list .wpcf7-list-item-label,
.bcm-contact-privacy .wpcf7-list-item>label{color:#4e5d6b}
.bcm-contact-heading-rule{width:46px;height:2px;background:#1666a5}
.bcm-contact-choice-list .wpcf7-list-item-label::after{background:#1666a5}
.bcm-contact-choice-list input[type="radio"]:checked+.wpcf7-list-item-label{border-color:#1666a5}
.bcm-contact-privacy input[type="checkbox"]{accent-color:#1666a5}
.bcm-contact-form-shell .bcm-contact-submit input.wpcf7-submit{background:#1666a5}
.bcm-contact-submit .wpcf7-submit:not(:disabled):hover{background:#0b4a82}