 @charset "utf-8";
 :root {
     font-size: 16px;
 }
 * {
     box-sizing: border-box;
     margin: 0;
 }
 html {
     min-height: 100%;
 }
 body {
     color: #000;
     font: 1.1em/1.3em "Times New Roman", serif;
 }
 #wrapper {
     position: relative;
     max-width: 840px;
     margin: 1rem auto;
     border: solid 1px #000;
     background-color: #fff;
     overflow: hidden;
 }
 p {
     padding-bottom: 1rem;
 }
 :is(header, footer) p span {
     font-size: 1.1em;
     font-weight: bold;
 }
 h1 {
     margin: 0 0 1rem;
     font-size: 1.25em;
     line-height: 1.1;
     background: #D8D8D8;
     padding: 0.5rem;
 }
 h2 {
     font-size: 1em;
     line-height: 1.3;
 }
 :is(a:link, a:visited, a:hover, a:active) {
     color: #000;
     text-decoration: none;
 }
 img {
     max-width: 100%;
     height: auto;
 }
 header {
     border-right: 1px solid #575757;
     width: 311px;
 }
 header section {
     background: #DDDDDD;
     border-top: 1px solid #575757;
     padding: 0.5rem 1rem 0;
 }
 header section p:last-of-type, footer p, h1 {
     text-align: center;
 }
 .logo {
     padding: 0.5rem;
 }
 main {
     display: flex;
     justify-content: space-between;
 }
 article {
     padding: 5rem 1rem 0;
     width: 526px;
 }
 footer {
     position: absolute;
     bottom: 2rem;
     left: 28rem;
 }
 @media only screen and (max-width:839px) {
     #wrapper {
         margin: 0 auto;
     }
     main {
         flex-direction: column;
     }
     .logo {
         display: flex;
         justify-content: center;
     }
     #wrapper, header {
         border: none;
     }
     header, article {
         width: auto;
     }
     article {
         padding-top: 1rem;
     }
     footer {
         position: static;
     }
 }