@charset "utf-8";

body {
	max-width: 1100px;
	padding: 1em;
	margin: 1em;
	overflow-wrap: normal;
	word-break: keep-all
	}
	 
img {
	padding: 0;
	margin: 0 1em;
	border: 1px solid #333333;
	}
	
.noborder {
	padding: 0;
	margin: 1em;
	border: none;
}
	
pre {
	max-width: 800px;
	padding: 0 1em 1em 1em;
	margin: 1em;
	border: 1px solid #999;
	white-space: pre-wrap;
	word-break: breakp-all;
	}

.w1000 {
	width: 1000px !important;
}
	
code {
	font-size: 0.9rem;
	line-height: 1.2rem;
	font-family: monospace;
	color: #333;
	}
	
hr {
	border: none;
	border-top: 1px solid #ccc;
	margin: 0 0 2em 0;
	}


/* box */

.intro {
	color: #666;
	font-size: 90%;
	line-height: 1.0em;
	margin: 0 5px;
	padding: 0;
	}

.kakoi
	{
	max-width: 800px;
	padding: 0 1em 1em 1em;
	margin: 1em;
	border: 1px solid #999;
	overflow-wrap: break-word;
	}

.kakomu
	{
	max-width: 800px;
	padding: 1em;
	margin: 1em;
	border: 1px solid #999;
	overflow-wrap: break-word;
	}

.kakomu li {
	margin: 0.5em 1em 0.5em 0;
	padding: 0.5em;
	line-height: 2em;
	}

.kakomu1000
	{
	max-width: 1000px;
	padding: 1em;
	margin: 1em;
	border: 1px solid #999;
	overflow-wrap: break-word;
	}

.kadomarubox {
	font-size: 0.9rem;
	line-height: 1.4rem;
	max-width: 800px;
	margin: 1rem;
	padding: 2rem;
	border: 6px solid #ccc;
	border-radius: 20px/20px;
	overflow-wrap: break-word;
}

.kadomarubox2 {
	color: #666;
	font-size: 1.2rem;
	line-height: 1.5rem;
	max-width: 500px;
	margin: 1rem;
	padding: 2rem;
	border: 18px solid #eee;
	border-radius: 40px/80px;
	overflow-wrap: break-word;
}

.kadomarubox3 {
	color: #333;
	font-size: 0.9rem;
	line-height: 1.4rem;
	max-width: 600px;
	margin: 1rem;
	padding: 2rem 2rem 4rem 2rem;
	border: 8px solid #ccc;
	border-radius: 10% 60% 40% 20%;
	overflow-wrap: break-word;
}


/* font */

.update,
.tuiki {
	color: #aaa;
	font-size: 90%;
	margin: 0 5px;
	padding: 0;
	}
	
.pagelink {
	font-size: 90%;
	}

.font90 {
	font-size: 90%;
}

.font120 {
	font-size: 120%;
}

.font140 {
	font-size: 140%;
	line-height: 1.6em;
}

.font140 li {
	margin: 0.8em 0 0.8em -0.5em;
}

.underline {
	text-decoration: underline;
}


/* fontfamily */

.fontserif {
	font-family: serif;
}

.fontsansserif {
	font-family: sans-serif;
}

.fontcursive {
	font-family: cursive;
}

.fontfantasy {
	font-family: fantasy;
}

.fontmonospace {
	font-family: monospace;
}


/* fontcolor */

.pink {
	color: magenta;
	}
	
.red {
	color: red;
	}


/* align */

.mannaka {
	text-align: center;
	}
	
.migi {
	text-align: right;
	}

.jisage {
	text-indent: 1em;
}

.line05,
.line05 ul li,
.line05 ol li {
	line-height: 0.5em;
}

.line1,
.line1 ul li,
.line1 ol li {
	line-height: 1em;
}

.line2,
.line2 ul li,
.line2 ol li {
	line-height: 2em;
}

.line3,
.line3 ul li,
.line3 ol li {
	line-height: 3em;
}

.line4,
.line4 ul li,
.line4 ol li {
	line-height: 4em;
}


/* table */

table {
	border-collapse: collapse;
	border: 1px solid #999;
	margin: 1rem;;
	padding: 1rem;
}

th,
td {
	border: 1px solid #999;
	padding: 1rem;
}

tr {
}

th {
	font-size: 0.9em;
	text-align: left;
}

td {
	font-size: 0.9em;
}


/* copyright */

.copyright {
	text-align: center;
	font-size: 0.8em;
}

/* ---------- SNS共有ボタン（2026.10 追記） ---------- */

.share-buttons {
  margin: 2em 0 1em;
  text-align: center;
}

.share-buttons .share-title {
  margin: 0 0 0.6em;
  font-size: small;
}

.share-buttons ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.share-buttons li {
  margin: 0;
  padding: 0;
  list-style: none;
}

.share-buttons a,
.share-buttons a:link,
.share-buttons a:visited {
  display: inline-block;
  min-width: 6em;
  padding: 0.5em 1em;
  border: 1px solid transparent;
  border-radius: 999px;
  color: #fff;
  font-size: small;
  font-weight: bold;
  line-height: 1.4;
  text-decoration: none;
}

.share-buttons a:hover,
.share-buttons a:focus-visible {
  color: #fff;
  opacity: 0.8;
}

.share-buttons .share-x { background: #000; border-color: #777; }
.share-buttons .share-fb { background: #1877f2; }
.share-buttons .share-line { background: #06c755; }
.share-buttons .share-hatena { background: #00a4de; }
.share-buttons .share-bsky { background: #1185fe; }

/* ---------- コピーライトのリンク（2026.10 追記） ---------- */

.copyright a,
.copyright a:link,
.copyright a:visited,
.copyright a:hover,
.copyright a:active {
  text-decoration: none;
}

/* ---------- スマホ対応（2026.10 追記） ---------- */

img {
  max-width: calc(100% - 2em - 2px);
  height: auto;
}

@media (max-width: 600px) {
  body {
    margin: 0;
    word-break: normal;
    overflow-wrap: anywhere;
  }

  .w1000 {
    width: auto !important;
  }

  pre {
    margin: 1em 0;
  }
}
