/* ===========================
   Reset
   =========================== */

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

/* HTML・body */
html {
  margin: 0;
  padding: 0;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  padding: 0;
  min-height: 100vh;
  font-family: "Noto Serif JP", serif;
  line-height: 1.8;
  color: var(--color-primary);
  word-wrap: break-word;
  overflow-wrap: break-word;
}

/* 見出し・文章 */
h1, h2, h3, h4, h5, h6, p {
  margin: 0;
  padding: 0;
  overflow-wrap: break-word;
  line-height: 1.4;
}

/* 通常文章の下余白 */
p:not(:last-child) {
  margin-bottom: var(--space-text);
}

/* リスト */
ul,
ol {
  margin: 0;
  padding: 0;
	list-style: none;
}

/* 画像・動画 */
img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}

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

/* リンク */
a {
  color: inherit;
  text-decoration: none;
}

/* フォーム部品 */
button,
input,
select,
textarea {
  margin: 0;
  font: inherit;
  color: inherit;
}

button {
  padding: 0;
  border: none;
  background: none;
}

button,
select {
  cursor: pointer;
}

textarea {
  resize: vertical;
}

/* テーブル */
table {
  border-spacing: 0;
  border-collapse: collapse;
}

/* 引用・図 */
blockquote,
figure {
  margin: 0;
}

/* iframe */
iframe {
  display: block;
  max-width: 100%;
  border: 0;
}
/* コンテナ */
.container {
  width: min(var(--container-width), 90%);
  margin: 0 auto;
}

/* Clearfix (modern minimal) */
.clearfix::after {
  content: "";
  display: block;
  clear: both;
}

/* Content & Sidebar layout (あなたのテーマ構造に合わせて残す) */
#container {
  display: flex;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 10px;
}

@media (max-width: 960px) {
  #container {
    flex-direction: column;
  }
}

@media (min-width: 961px) {
  #content {
    width: 70%;
    padding-right: 30px;
  }
  #side {
    width: 30%;
  }
}

@media (min-width: 1200px) {
  .inner {
    width: 1200px;
    margin: 0 auto;
  }
}

/* Content & Sidebar layout (あなたのテーマ構造に合わせて残す) */
.content {
  padding-bottom: var(--space-block);
}

#content {
  padding-bottom: var(--space-block);
}

/* -----------トップページと一覧ページに表示する過去記事-------------- */
/*記事のヘッダー分のスペース*/
.space {
	padding-top: 72px;
}	
/*記事の概要*/
.gaiyou a {
	display: block;
	padding: 20px 0;
	border-bottom: dotted 2px #ddd;
	color: #222;
	text-decoration: none;
}

.gaiyou a:hover {
	background-color: #ddd;
}

.gaiyou a img {
	transition: opacity 0.5s ease-out;
}

.gaiyou a:hover img {
	opacity: 0.5;
}

.gaiyou h2 {
	font-size: 1.2em;
	margin-top: 0;
	margin-bottom: 10px;
	color: #222;
}

.gaiyou p {
	font-size: 1em;
	margin: 0;
}

.gaiyou img {
	float: left;
	width: 200px;
}

.gaiyou .text {
	float: none;
	width: auto;
	margin-left: 230px;
}

@media (max-width: 599px) {
	.gaiyou img {
		width: 100px;
	}

	.gaiyou .text {
		margin-left: 110px;
	}

	.gaiyou h2 {
		font-size: 1em;
	}

	.gaiyou p {
		visibility: hidden;
		height: 0;
	}
}
