body {
  margin: 0;
  padding-top: 20px;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, Osaka, sans-serif;
}

h1, h2, h3, h4, h5, h6, p {
  margin: 0;
  padding: 0;
}

/* --- リンク --- */
a:link {
	font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, Osaka, sans-serif;
	font-size: 10pt;
	color: #000066;
	text-decoration: underline;
	font-weight: bold;
}

a:visited {
	font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, Osaka, sans-serif;
	font-size: 10pt;
	color: #666666;
	text-decoration: underline;
	font-weight: bold;
}

a:hover {
	font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, Osaka, sans-serif;
	font-size: 10pt;
	color: #FF0000;
	text-decoration: none;
	font-weight: bold;
}


a:active {
	font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, Osaka, sans-serif;
	font-size: 10pt;
}

a {
  overflow-wrap: break-word;
  word-break: break-all;
}

li a {
  overflow-wrap: break-word;
  word-break: break-all;
}

/* --- 画像 --- */
.figure {
  text-align: center;       /* 中央揃え */
  margin-bottom: 20px;      /* 下に余白 */
}

.figure img {
  width: 95%;
  height: auto;
  display: block;
  margin: 0 auto;
}

.caption {
  font-size: 0.9em;         /* 小さめ */
  color: #555;
  margin-top: 5px;
}

/* --- float解除 --- */
DIV.clearleft {
  clear: left;
}

DIV.clearright {
  clear: right;
}

/* --- レイアウト --- */
#container {
	display: flex;
	height: auto;
	width: 100%;  
	padding: 0;
	margin: 5px;   /* 修正 */
	flex-direction: column;
}

#banner {
	height: auto;
	width: 600px;
	color: #FFFFFF;
}

#banner_thin {
	height: auto;
	width: 600px;
	color: #FFFFFF;
}

#content-wrapper {
  display: flex;
  width: 100%;
  box-sizing: border-box;
}

#center {
	width: 100%;
    max-width: 900px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
	border-right: thin solid #000;
}

#right {
  min-width: 170px;
  max-width: 550px; 
  width: 20%;
  height: auto;
  padding: 0 0 0 5px;
  box-sizing: border-box;
  flex:1;
}

p {
    margin-bottom: 1em;
}

#menu {
	margin-left: 100px;
	float: left;
	clear: both;
}

#footer {
	height: 100px;
	width: 600px;
	background-color: #6699FF;
	color: #FFFFFF;
}

/* --- 見出し --- */
h1 {
	font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, Osaka, sans-serif;
	font-size: 24pt;
	font-weight: bolder;
	letter-spacing: 5px;
	border: none;
}

h2 {
	font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, Osaka, sans-serif;
	font-size: 16pt;
	font-weight: normal;
	line-height: normal;
	padding: 0;
	border: none;
}

h3 {
	font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, Osaka, sans-serif;
	font-size: 10pt;
	font-weight: bold;
	margin: 0;
}

h4 {
	font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, Osaka, sans-serif;
	font-size: 15pt;
	font-weight: bold;
	letter-spacing: 1.5px;
	border-bottom: thin solid;
	margin-bottom: 15px;
}

h5 {
	font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, Osaka, sans-serif;
	font-size: 13pt;
	margin-bottom: 10px;
}

h6 {
	font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, Osaka, sans-serif;
	font-size: 11pt;
	margin-bottom: 5px;
}

UL.square {
  list-style-type: square;
}