/*-----------------------------------------------------
 要素系
 ------------------------------------------------------*/

/* 全要素 */
* {
  margin: 0;
  padding: 0;
}

/* ボディ */
body {
  font-weight: 400;
  font-size: 1.0rem;
  letter-spacing: 0.05rem;
  line-height: 1.8rem;
  font-family: 'Roboto', 'Noto Sans JP', sans-serif;
}

/* ヘッダー */
h1, h2, h3 {
  font-weight: 900;
  font-size: 1.4rem;
  line-height: 1.4rem;
  text-align: center;
  font-family: 'Roboto', 'Noto Serif JP', serif;
}

h2 {
  font-size: 1.3rem;
  line-height: 1.3rem;
}

h3 {
  font-size: 1.1rem;
  line-height: 1.1rem;
}

/* アンカー要素 */
a {
  color: inherit;
  text-decoration: none;
}

/* リスト要素 */
ol, ul {
  list-style-type: none;
}

/* イメージ要素 */
img {
  width: 100%;
  vertical-align: bottom;
}

/*-----------------------------------------------------
 フレックスボックス
 ------------------------------------------------------*/

/* フレックスコンテナ */
.flex-container {
  display: flex;
}

/* フレックススタック */
.flex-stack {
  display: flex;
  flex-flow: column;
}

/* フレックスアイテム（等幅） */
.flex-item-evenly {
  justify-content: space-around;
}

.flex-container.row-reverse {
  flex-direction: row-reverse;
}

/*-----------------------------------------------------
 幅指定
 ------------------------------------------------------*/

/* 全幅 */
.full-width {
  width: 100%;
}

/* 狭い幅 */
.narrow-width {
  width: 95%;
  margin: 0 auto;
  max-width: 1070px;
}

/*-----------------------------------------------------
 色指定
 ------------------------------------------------------*/

/* 背景色：グレー */
.text-color-gray {
  color: #484848;
}

/* 背景色：グレー */
.text-color-light-gray {
  color: #666666;
}

/* 文字色：白 */
.text-color-white {
  color: white;
}

/*  */
dt {
	font-weight: bold;
	padding: 10px 0 5px 0; 
}

/*  */
dd {
	padding: 0 0 5px 25px;
}

/*-----------------------------------------------------
 文字寄せ
 ------------------------------------------------------*/

/* テキストの中央寄せ */
.text-align-center {
  text-align: center;
}

/* テキストの右寄せ */
.text-align-right {
  text-align: right;
}

/* テキストの左寄せ */
.text-align-left {
  text-align: left;
}

/* 自動改行しない */
.no-wrap {
  white-space: nowrap;
}

.inline-block {
  display: inline-block;
}

/*-----------------------------------------------------
 ポジション
 ------------------------------------------------------*/

.relative {

  /* 親要素のプロパティとしてよく使うので */
  position: relative;
}
