
*{
  box-sizing: border-box;
}

body{
  margin: 0;
}

img{
  height: auto;
  max-width: 100%;
}

a{
  color: #000000;
  text-decoration: none;
}

h1,
h2{
  font-size: 32px;
  margin-bottom: 0.25rem;
}

h3{
  font-size: 24px;
}

ul{
  list-style-type: none;
  padding-left: 0;
}

.container{
  max-width: calc( 1200px + 1.5rem + 1.5rem);
  margin: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.flex-container{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

.flex-all-row{
  flex-direction: row;
}

.text-center{
  text-align: center;
}

.section-padding{
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.text-white,
.card .text-white{
  color: #FFFFFF;
}

.text-orange{
  color: #F15A24;
}

.text-green{
  color: #669900;
}

.bg-base{
  background-color: #FFFDE6;
}

a.btn-more{
  display: inline-block;
  background-color: #F15A24;
  margin-top: 1em;
  padding: 0.5em 2em;
  border-radius: 18px;
}

/* ========================== */
/* header/breadcrumb/footer
/* ========================== */
header,
footer{
  color: #FFFFFF;
  background-color: #669900;
}

header a{
  color: #FFFFFF;
}

.header-nav{
  margin-left: auto;
  align-self: center;
}

.header-logo{
  margin-top: 1rem;
  margin-bottom: 0;
}

.header-nav ul.flex-all-row li{
  width: auto;
  margin-top: 0;
  margin-left: 2em;
}

.breadcrumb li:last-child{
  color: #BBBBBB;
}

.breadcrumb li:not(:last-child)::after{
  content: ">";
  padding: 0 0.5em;
}

/* ========================== */
/* カードレイアウト
/* ========================== */
.card-container{
  margin-left: -15px;
  margin-right: -15px;
}

.card{
  margin-top: 2rem;
  width: 25%;
  padding-left: 15px;
  padding-right: 15px;
}

.card-inner{
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background-color: #FFFFFF;
  padding: 10px;
  box-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4);
}

.card a{
  color: #0071BC;
}

.card h2,
.card h3{
  font-size: 24px;
  margin: 0.5rem 0 0 0;
}

.card-description{
  color: #808080;
  font-size: 14px;
}

.card-footer{
  font-size: 12px;
}

.card-author img{
  vertical-align: middle;
}

.card-footer .card-date{
  margin-left: auto;
}

/* ========================== */
/* トップページ
/* ========================== */
/* --- ファーストビュー --- */
.firstview{
  background-image: url('images/top-pc.jpg');
  background-size: cover;
  background-position: 60% center;
  min-height: 706px;
}

.firstview-title{
  font-size: 60px;
  margin-bottom: 0;
}

.firstview-lead{
  width: 420px;
  font-size: 21px;
  margin-left: 150px;
}

.firstview-lead a.btn-more{
  font-size: 21px;
}

/* --- 楽しいイベント --- */
.event{
  background-color: #DBAF23;
}

/* --- ズーロッパとは ---*/
.about-description{
  width: 85%;
  flex: 1;
  padding-left: 3rem;
}

.about-image,
.about-description{
  margin: 1.5rem auto;
}

.about-image{
  max-width: 420px;
}

.about-image img{
  vertical-align: bottom;
}

.about-more{
  display: inline-block;
  padding: 0.75em 1.5em;
  color: #FFFFFF;
  background-color: #669900;
}

/* ========================== */
/* 一覧ページ
/* ========================== */
/* ページネーション */
.pagination{
  padding-bottom: 4rem;
}

.pagination a{
.pagination a{
  margin: 0 1rem;
}

.pagination a.current{
  color: #BBBBBB;
}

/* --- abouts --- */
.abouts .flex-container{
  align-items: flex-start;
}

.abouts .about-image{
  flex: 3;
}

.abouts .about-description{
  flex: 5;
  padding-left: 3rem;
}

.abouts .about-description h2{
  font-size: 24px;
  margin-top: 0;
}

/* ========================== */
/* 詳細ページ
/* ========================== */
.maincolumn{
  flex: 2;
}

.sidebar{
  flex: 1;
  padding-left: 4rem;
}

.timestamp{
  font-size: 14px;
  text-align: right;
}

.maincolumn h1{
  background: url('images/line.png');
  background-size: auto 6px;
  background-position: left bottom;
  background-repeat: repeat-x;
  margin-top: 1em;
  padding-bottom: 0.25em;
}

.post-body{
  margin-top: 2rem;
  margin-bottom: 2rem;
}

/* サイドバー */
.sidebar h2{
  margin: 0;
  font-size: 24px;
}

.sidelist li{
  margin-bottom: 1.5rem;
}

.sidelist-img{
  flex: 2;
}

.sidelist-text{
  flex: 5;
  padding: 0 1rem;
}

.sidelist-text h3{
  font-size: 18px;
  margin: 0;
}

.pagelist{
  max-width: 400px;
  margin: auto;
}

.pagelist li{
  margin: 1.25rem 0;
  padding-left: 1.25rem;
}

.pagelist li a{
  color: #0071BC;
  font-weight: bold;
}