body {
  color: #333;
  font-family: 'Avenir', 'Helvetica Neue', 'Helvetica', 'Arial', 'Hiragino Sans', 'ヒラギノ角ゴシック', YuGothic, 'Yu Gothic', 'メイリオ', 'Meiryo', 'ＭＳ Ｐゴシック', 'MS PGothic';
  font-size: 18px;
  height: 100%;
  letter-spacing: 0.05em;
  margin: 0;
}

*,
*:after,
*:before {
  box-sizing: border-box;
}

a:link {
  text-decoration: none;
}

a:visited {
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

a:active {
  text-decoration: none;
}

a {
  cursor: pointer;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
li,
th,
td,
dt,
dd {
  line-height: 1.5;
  margin: 0;
  padding: 0;
}

p {
  margin-bottom: 1em;
}

.content-main .title-primary:first-of-tye {
  margin-bottom: 50px;
}

.container {
  margin: 0 auto;
  width: 1000px;
}

.section-primary {
  margin-bottom: 50px;
  margin-top: 50px;
}

.button-wide {
  margin: calc(50px + 20px) auto;
  width: 780px;
}

.pankuzu {
  align-items: center;
  display: flex;
  font-size: 16px;
  margin: 15px auto;
  width: 1000px;
}

.pankuzu a {
  text-decoration: underline;
}

.pankuzu a:hover {
  opacity: 0.8;
}

.pankuzu p {
  margin: 0;
}

.button-sns-share {
  margin: 50px 0;
}

.sns-item {
  display: flex;
  justify-content: center;
}

.sns-item a {
  margin-right: 20px;
}

.sns-item a:last-of-type {
  margin-right: 0;
}

.sns-item img {
  width: 70px;
}

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

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

.text-blue {
  color: #00238c;
}

.text-red {
  color: red;
}

.position-relative {
  position: relative;
}

.margin-bottom-0 {
  margin-bottom: 0;
}

.margin-top-0 {
  margin-top: 0;
}

.margin-0 {
  margin: 0;
}
