@charset "UTF-8";

/* Micro clearfix */

.cf { zoom: 1; }
.cf:before, .cf:after { content: ""; display: table; }
.cf:after { clear: both; }

/* 必要要素の初期設定 */

body {
     width: 100%;
     margin: 0 0 1em;
     padding: 0;
     color: #222;
     background-color: #f0f0f0;
     font-family: sans-serif;
     font-size: 100%;
}
a {
     text-decoration:none;
}
h1,h2,h3,h4,h5,h6 {
     margin: 0 0 0.5em;
line-height: 1.1;
font-family: "Hiragino Mincho Pro","Hiragino Mincho ProN",serif;
letter-spacing:-1px;
}
p {
      margin: 0 0 1em;
      color: #444;
      font-family: 'Asap',sans-serif;
      font-size: 1.2em;
      line-height: 1.3;
      text-align: left;
}
ul {
      margin: 0 0 2em;
      padding: 0;
      list-style-position: inside;
}

/* ベースレイアウト */

#wrapper {
 background-color: #fff;
}
header {
 margin: 0;
 padding: 1% 6%;
 background-color: #152f57;
 color: #c0c0c0;
overflow: hidden;
}
nav {
  margin: 0;
  background-color: #152f57;
}
#common-contents {
  width: 88%;
  margin: 2em auto 1em;
}
article.main {
   width: 100%;
}
section {
   margin: 0 0 2em;
}
aside.side {
    width: 100%;
}
footer {
    width: 100%;
    text-align: center;
}

/* 各要素のデザイン、レイアウト */

header h1 {
     font-family: 'Lora',serif;
     font-weight: 400;
     font-style:italic;
     font-size: 2.7em;
     color: #fff;
     text-align: center;
     margin:  0.5em 0 0 0.2em 0%;
}
p.tagline {
     font-size: 0.9em;
     text-align: center;
     text-transform: uppercase;
     color: #f0f0f0;
}
nav ul {
     list-style: none;
     margin: 0;
     padding: 0;
     background-color: #111;
}
nav ul li {
     display: block;
     width: 100%;
     margin: 0;
     text-align: center;
     font-size: 1.2em;
     line-height: 2.5em;
     color: #fff;
     border-bottom: 1px solid #0f1a33;
}
article {
 margin: 0 0 2em;
 border-bottom: 1px solid #f0f0f0;
}
.main h1 {
    font-size: 2em;
}
article.main h2 {
    font-size: 1.6em;
    margin-top: 1.3em;
}
article.main blockquote {
  margin: 1em;
  padding: 1em;
  color: #555;
  background-color: #fafafa;
  border: 1px solid #f0f0f0;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
article.main blockquote p {
   margin: 0;
   font-size: 1em;
   font-style: italic;
}
aside.side h1 {
     margin-bottom: 0.7em;
     font-size: 1.3em;
     color: #152f57;
     border-bottom: 1px dotted #c0c0c0;
}
aside.side ul {
     margin: 0 0 0 0.3em;
}
aside.side ul li {
     font-size: 1.1em;
    line-height: 1.5;
    color: #555;
}
small {
    text-transform: uppercase;
}

/* Media Queries による切り替え */

@media only screen and (min-width: 481px) {
header h1,p.tagline {
  text-align: left;
}
 nav {
     margin: 0;
     padding: 0 0 0 6%;
     border-bottom: 1px solid #f0f0f0;
}
nav ul {
     width: 408px;
     padding: 1px 0;
     border-top: 1px solid #222;
     background-color: #000;
}
nav ul li {
     float: left;
     width: 100px;
     margin: 0;
     text-align: center;
     font-size: 1em;
     line-height: 2.5em;
     border-left: 1px solid #333;
     border-right: 1px solid #222;
     border-bottom: none;
}
article.main blockquote p {
    margin: 0;
    font-size: 0.9em;
}




#sidebar1 {
     width: 47%;
     padding-right: 3%;
     float: left;
}
#sidebar2 {
     width: 47%;
     padding-left: 3%;
     float: right;
}

}

@media only screen and (min-device-width: 769px) {
article.main {
     width: 64%;
     float: left;
}
aside.side {
     width: 30%
     float: right;
}
aside.side ul li {
     font-size: 1em;
}
#sidebar1,#sidebar2 {
     width: 100%;
     padding: 0;
     float: none;
}

}

@media only screen and (min-width: 961px) {
p {
  line-height: 1.4;
}

#wrapper {
width: 958px;
margin: 0 auto;
padding: 0 0 20px 0;
border: 1px solid #f0f0f0;
border-top: none;
}
header {
padding: 10px 30px;
}
nav {
padding: 0 30px;
}
#common-contents {
width: auto;
margin: 2em 0 1em;
padding: 0 30px;
}
article {
   border-bottom: none;
}
article.main {
float: left;
width: 600px;
padding: 0 30px 0 0;
margin-right: 29px;
border-right: 1px solid #f0f0f0;
}
aside.side {
float: left;
width: 238px;
margin: 0;
padding: 0.5em 0 0 0;
}
#sidebar1,#sidebar2 {
width: 100%;
padding: 0;
float: none;
}
aside.side ul li {
font-size: 1em;
}

}