.article-contact-sidebar { margin: 0 0 24px; border: 1px solid #d9dfe5; background: #f7f9fc; color: #30353a; }
.article-contact-sidebar-heading { padding: 6px 10px; background: #05283f; color: #fff; text-align: center; }
.article-contact-sidebar-heading p { margin: 0 0 2px; font-size: 10px; line-height: 1.3; }
.article-contact-sidebar-heading h2 { margin: 0; font-size: 15px; line-height: 1.4; font-weight: bold; }
.article-contact-sidebar .p-contact__container { margin: 0; padding: 14px 12px; width: auto; }
.article-contact-sidebar form { margin: 0; padding: 0; width: auto; background: transparent; }
.article-contact-sidebar dl { display: block; margin: 0; padding: 0; }
.article-contact-sidebar dt { display: block; float: none; margin: 0 0 3px; padding: 0; width: 100%; font-size: 13px; font-weight: bold; line-height: 1.4; }
.article-contact-sidebar dt::before { content: '必須'; display: inline-block; margin-right: 8px; padding: 1px 6px; background: #a43838; color: white; border-radius: 12px; font-size: 11px; }
.article-contact-sidebar dd { display: block; float: none; margin: 0 0 12px; padding: 0; width: 100%; }
.article-contact-sidebar input[type='text'], .article-contact-sidebar select, .article-contact-sidebar textarea { display: block; width: 100% !important; min-width: 0; height: 44px; min-height: 44px; padding: 6px 8px; box-sizing: border-box; border: 1px solid #d3dbe5; border-radius: 5px; background: #e5ebf3; color: #30353a; font: inherit; font-size: 14px; }
.article-contact-sidebar input::placeholder { color: #8192a8; }
.article-contact-sidebar textarea { min-height: 100px; resize: vertical; }
.article-contact-sidebar .newsletter-consent { font-size: 11px !important; line-height: 1.6 !important; margin: 8px 0 !important; }
.article-contact-sidebar input[type='submit'] { display: block; width: 100%; height: 44px; min-height: 44px; padding: 10px 6px; line-height: 24px; border: 0; border-radius: 5px; background: #f39c12; color: white; font-size: 16px; font-weight: bold; cursor: pointer; box-sizing: border-box; }
.article-contact-sidebar input[type='submit']:hover { background: #d98a0c; }
.article-contact-sidebar .p-pr__form { margin-top: 20px; font-size: 11px; line-height: 1.7; }
.article-contact-sidebar .p-pr__form h3 { font-size: 12px; font-weight: bold; }
.article-contact-sidebar .p-pr__formText { margin-top: 10px; }
.article-contact-sidebar a { text-decoration: underline; }
.article-contact-sidebar .c-form-selectLabel { display: block; width: 100%; }

.article-contact-layout { display: flex; align-items: stretch; justify-content: space-between; }
.article-contact-layout > .l-contentsMain, .article-contact-layout > .l-contentsSub { float: none; flex-shrink: 0; }
.article-contact-sidebar { position: sticky; top: 90px; max-height: calc(100vh - 110px); overflow-y: auto; }

.article-contact-sidebar .article-contact-privacy { margin: 0 0 6px; text-align: center; font-size: 12px; line-height: 1.5; }
.article-contact-sidebar .article-contact-privacy a { color: #185a91; text-decoration: underline; }
