
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
    background: #ededed;
    color: #5a126f;
    font-family: Open Sans, Arial, sans-serif;
    font-size: 14px;
    line-height: 1.55;
}
a { color: inherit; text-decoration: none; }
.site { background:#fff; min-height: 633px; }
.topbar {
    height: 29px;
    background:#55106f;
    color:#fff;
    font-size:11px;
    font-weight:bold;
}
.wrap { width: 900px; max-width: calc(100% - 30px); margin: 0 auto; }
.topbar .wrap { text-align:left; padding-left:0; }
.topbar-inner { height:29px; display:flex; align-items:center; gap:14px; }
.header {
    height:86px;
    border-bottom:1px solid #ddd;
    background:#fff;
}
.header .wrap {
    height:86px;
    display:flex;
    align-items:center;
    justify-content:space-between;
}
.logo { width:214px; height:47px; display:block; }
nav { display:flex; gap:30px; align-items:center; font-weight:bold; font-size:13px; }
nav a:hover, nav a.active { color:#55106f; }
.banner {
    width:900px;
    max-width:100%;
    display:block;
    border-bottom:4px solid #55106f;
}
main { padding-top:29px; }
h1 {
    margin:0 0 5px;
    font-size:29px;
    line-height:1.3;
    font-weight:400;
    color:#5a126f;
}
h2 {
    margin:20px 0 3px;
    font-size:16px;
    line-height:1.3;
    color:#5a126f;
}
p { margin:0 0 14px; }
.contact-rule {
    margin-top:70px;
    height:43px;
    border-top:1px solid #55106f;
    position:relative;
}
.contact-button {
    position:absolute;
    right:0;
    top:-25px;
    width:231px;
    height:auto;
}
footer { padding:10px 0 16px; font-size:12px; }
.footer-links { margin-bottom:19px; color:#427f8b; }
.footer-links a:last-child { color:#5a126f; }
.footer-copy { color:#5a126f; }

.form-title { font-size:22px; margin:24px 0 12px; font-weight:400; }
label { display:block; margin:10px 0 4px; }
input[type=text], input[type=email], textarea {
    width:100%;
    border:1px solid #cfcfcf;
    padding:9px 10px;
    font:inherit;
    color:#444;
    background:#fff;
}
textarea { min-height:130px; resize:vertical; }
button {
    margin-top:12px;
    border:0;
    background:#55106f;
    color:#fff;
    padding:10px 18px;
    font-weight:bold;
    cursor:pointer;
}
.hp { position:absolute !important; left:-9999px !important; }
.notice { padding:10px 12px; margin:0 0 15px; background:#f4f4f4; border-left:3px solid #55106f; color:#444; }

.policy h2 { font-size:14px; margin-top:16px; }
.policy ul { margin-top:4px; }
.policy li { margin-bottom:3px; }

@media (max-width: 700px) {
    .site { min-height:100vh; }
    .topbar { height:auto; }
    .topbar-inner { min-height:29px; flex-wrap:wrap; gap:4px 12px; padding:5px 0; }
    .header { height:auto; }
    .header .wrap { height:auto; padding:13px 0; align-items:flex-start; gap:12px; }
    .logo { width:175px; }
    nav { gap:14px; font-size:12px; padding-top:6px; }
    main { padding-top:22px; }
    h1 { font-size:26px; }
}
@media (max-width: 500px) {
    .wrap { max-width:calc(100% - 24px); }
    .header .wrap { display:block; }
    nav { margin-top:12px; justify-content:space-between; }
    .contact-rule { margin-top:38px; height:52px; }
    .contact-button { width:215px; }
}
.form-message {
    display: none;
    margin: 12px 0 18px;
    padding: 12px 15px;
    background: #f5f5f5;
    border-left: 4px solid #55106f;
    color: #55106f;
    font-weight: bold;
}
