@charset "euc-jp";
/*
 共通スタイルシート　comn0402.css
	2026-04-14  2025-08-11〜

次の例のようにpxの場合は単位を付けない
[spc="0.5em"] {margin-left:0.5em;}
[w="120"] {width:120px;}
*/

/* webフォントをダウンロード */
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP');
@import url('https://fonts.googleapis.com/css?family=Varela+Round');
@import url('https://fonts.googleapis.com/css?family=PT+Mono');

/* 基準フォント〔'Varela+Round'，'Noto Sans JP' サイズ〕の設定 */
html {font-family:'Varela Round', 'Noto Sans JP', sans-serif;
	font-size:16px; line-height:2;}
 @media (min-width:959px) {html {font-size:20px;}}

/* フォント */
h1 {font-size:1.95em;}	<!-- h4を1emとして1.25倍ずつ 1*1.25^[3]=1.953125 -->
h2 {font-size:1.56em;}
h3 {font-size:1.25em;}
h4 {font-size:1em;}
h5 {font-size:0.8em;}
h6 {font-size:0.65em;}

pre {white-space:pre-wrap; font-family:'PT Mono', 'Noto Sans JP';}
[pre] {white-space:pre-wrap;}
[type] {white-space:pre-wrap; font-family:'PT Mono', 'Noto Sans JP';}
[mono] {font-family:'PT Mono', 'Noto Sans JP';}
[font="normal"] {font-weight:normal;}
[ita] {font-style:italic;}
[jp] {font-family:'Noto Sans JP';}

/* 値をリセット */
html, body, div, span,
h1, h2, h3, h4, h5, h6, p, blockquote, pre, hr,
header, section, main, article, footer, nav, aside,
table, tr, th, td, ol, ul, li {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	vertical-align:baseline;
	background:transparent;}

* {box-sizing:border-box;}	/* CSS-04系でこれに変更 */

html {scroll-padding-top: 4.5rem;} /* ヘッダー部分を除外する */
body {background-color:#efe;} /* 淡緑 efe */
body.pc {background-color:#eef;} /* PC専用 淡青 */
body.print {background-color:#fff;} /* 印刷用 白 */
ul {list-style-type:none;}
small {font-size:0.9em;}
sup {font-size:0.8em; font-weight:bold;}

/* 固定帯 */
header {position:sticky; top:0; background-color:#fb9; z-index:100;}

/* ヘッダー */
.head {max-width:1100px; margin:0 auto;}

/* フッター */
footer {background-color:#fb9;}

/* タイトル用枠とテキストの色 */
.title {padding-top:0.5rem; color:#440;
		text-align:center; white-space:nowrap; line-height:1.5;}

/* 先祖ボタン */
.pan {margin-left:0.5rem;}
 @media (min-width:959px) {.pan {margin-left:1rem;}}

/* 外枠 通常使用 100%/1100px */
.sotowaku {position:relative; height:auto; width:100%;}
 @media (min-width:959px) {.sotowaku {max-width:1100px;
		border:0.05rem solid #888; border-width:0px 0.05rem; margin:0 auto 0;}}
.sotowaku.kanso {background-color:#fff;} /* 簡素ページの地色 */
.sotowaku.kanso-p {background-color:#fff;} /* 簡素 印刷あり */
.sotowaku-pc {position:relative; height:auto; width:1100px; font-size:20px;
		border:1px solid #888; border-width:0px 1px; margin:0 auto 0;}

/* ロゴ用枠 */
.logo {margin:0.5rem; line-height:0;}

/* ロゴ画像 */
[logo] {width:80%;}
 @media (min-width:959px) {[logo] {width:100%;}}
[logo][npub] {width:60%; border-radius:0.5rem;}
 @media (min-width:959px) {[logo][npub] {width:80%;}}


/* 日付 上部からの位置はマージンで決める */
.date {width:8.3rem; height:2.5rem; border:0.1rem solid #f00;
		border-radius:0.5rem; font-size:0.7rem; text-align:center;
		line-height:1.5; padding-top:0.25rem; margin:7rem 0.5rem 1rem auto;}
.date.kanso {margin:auto 0.5rem 0.5rem auto;}
.date.kanso2 {margin:0.5rem 0.5rem 0.5rem auto;}
.date.low {margin-top:2em;} /* スマホで上枠を狭くする */
 @media (min-width:959px) {.date.low {margin-top:7rem;}}

/* 検索窓用フォント */
input {font-family:'Noto Sans JP', sans-serif; font-size:1rem;}

/* ブロック横並び */
[h-block] {display:flex;} /* 左寄せ */
[h-block-r] {display:flex; justify-content:flex-end;} /* 右寄せ */
[h-block-c] {display:flex; justify-content:center;} /* センタリング */
[h-block-w] {display:flex; justify-content:space-between;} /* 両端寄せ */

/* ブロックの横位置 */
[waku-c] {margin:auto;} /* センタリング ★ブロック幅を指定する必要あり */
[waku-r] {margin:auto 0 auto auto;} /* 右寄せ */

/* ブロック枠 細灰線 */
[kakomi] {border:solid 0.1rem #666; border-radius:1rem;
	margin:0 auto; padding:1rem;}

/* テキスト配置（ブロック要素で使用） */
[text-LL] {text-align:left;} /* 左寄せ */
[text-L] {text-align:justify; line-break:strict;} /* 左寄せ右端揃 */
[text-C] {text-align:center;} /* センタリング */
[text-R] {text-align:right;} /* 右寄せ */

/* 文囲み */
[bun] {background-color:#ffa; border:solid 0.1em #888; border-radius:1em;
		padding:0.2em;}
[bun-ruby] {padding-top:0.7em;} /* 最上行にルビがあるとき */

[fumi]::before {content:'\0ff62';}  
[fumi]::after {content:'\0ff63';}  

/* 行高 */
[h-line="0"] {line-height:0;}
[h-line="1"] {line-height:1;}
[h-line="1.2"] {line-height:1.2;}
[h-line="1.4"] {line-height:1.4;}
[h-line="1.6"] {line-height:1.6;}
[h-line="1.8"] {line-height:1.8;}
[h-line="2"] {line-height:2;}

/* 色線　使用例：<hr line="gry1"> */
[line="org2"] {border-top:solid #f80 0.1rem; margin:0 auto;}
[line="org4"] {border-top:solid #f80 0.2rem; margin:0 auto;}
[line="org6"] {border-top:solid #f80 0.3rem; margin:0 auto;}
[line="gry1"] {border-top:solid #888 0.05rem; margin:0 auto;}
[line="gry2"] {border-top:solid #888 0.1rem; margin:0 auto;}
[line="gry4"] {border-top:solid #888 0.2rem; margin:0 auto;}
[line="grn10"] {border-top:solid #080 1rem; margin:0 auto;}

/* 行間スペース（バック）　使用例：<hr h-spc="2"> */
[h-spc="0.01"] {border-top:solid white 0.01px; opacity:0;} /* 特殊境界線 */
[h-spc="0.1em"] {border-top:solid white 0.1rem; opacity:0;}
[h-spc="0.2em"] {border-top:solid white 0.2rem; opacity:0;}
[h-spc="0.5em"] {border-top:solid white 0.5rem; opacity:0;}
[h-spc="1em"] {border-top:solid white 1rem; opacity:0;}
[h-spc="2em"] {border-top:solid white 2rem; opacity:0;}
[h-spc="3em"] {border-top:solid white 3rem; opacity:0;}
[h-spc="4em"] {border-top:solid white 4rem; opacity:0;}
[back="0.5em"] {margin-top:-0.5rem;}
[back="1em"] {margin-top:-1rem;}
[back="1.5em"] {margin-top:-1.5rem;}
[back="2em"] {margin-top:-2rem;}
[back="3em"] {margin-top:-3rem;}
 @media (min-width:959px) {[h-spc-pc="1em"]
	{border-top:solid white 1rem; opacity:0;}}

/* 文字間スペース　使用例：<span spc="0.3em"></span> */
[spc="-1em"] {margin-left:-1em;}
[spc="-0.5em"] {margin-left:-0.5em;}
[spc="-0.3em"] {margin-left:-0.3em;}
[spc="-0.2em"] {margin-left:-0.2em;}
[spc="-0.1em"] {margin-left:-0.1em;}
[spc="0.1em"] {margin-left:0.1em;}
[spc="0.2em"] {margin-left:0.2em;}
[spc="0.3em"] {margin-left:0.3em;}
[spc="0.5em"] {margin-left:0.5em;}
[spc="1em"] {margin-left:1em;}
[spc="2em"] {margin-left:2em;}

/* 文字色 */
[red] {color:#f00;}
[blue] {color:#00f;}
[black] {color:#000;}
[white] {color:#fff;}
[green] {color:#080;}
[brown] {color:#900;}
[orange] {color:#f80;}
[pink] {color:#f66;}
[purple] {color:#90f;}
[grey] {color:#aaa;}
[d-grey] {color:#444;}
[sky] {color:#0cf;}

/* 装飾 */
[u-line] {text-decoration:underline wavy red;} /* 赤波線アンダーライン */

/* 改行禁止 */
[nbr] {white-space:nowrap;}

/* TAB値 */
[tab="4"] {tab-size:4;}

/* リンク色 */
a {text-decoration:none;}
a[bold] {text-decoration:none; font-weight:bold;}
a:link {color:#444;}
a:visited {color:#060;}

/* リンク用ボタン */
[button] {display:inline-block;	padding:0.4em 0.3em 0.2em 0.3em;
	border:0.03em solid #666; border-radius:0.4em; margin-bottom:0.2em;
	background:linear-gradient(#fff 0%, #eee 20%, #aaa 80%, #888 100%);
	text-align:center; line-height:1; text-indent:0;}
[button]:hover {background:linear-gradient(#aaa, #fff);}
[button][narrow] {padding:0.2em 0.3em 0 0.3em;}
[button][broad] {padding:0.8em 0.3em 0.5em 0.3em;}
[button][ruby] {padding:0.8em 0.3em 0 0.3em;}
[button][pan] {padding:0.2em 0.2em 0 0.2em; margin-bottom:0.3em;}
[button][bun] {padding-left:0.3em; padding-right:0.3em;
	 margin:0 0.2em 0 0.2em;}
[button][left] {text-align:left; padding-left:0.5em;}
[button][red] {background:linear-gradient(#fff 0%, #fcc 20%, #f88 80%,
	 #f44 100%);}

[button-dsp] {border:0.03em solid #444; border-radius:0.4em;
	padding:0 0.3rem; background-color:#ddd; line-height:1;}

/* ページ内リンク */
[button][href^="#"] {
	background:linear-gradient(#fff 0%, #dfd 20%, #9b9 80%, #6a6 100%);}
[button][href^="#"]:hover {
	background:linear-gradient(#ada, #fff); transition:1s;}

/* サイト外リンク */
[button][href^="http"] {
	background:linear-gradient(#fff 0%, #cdf 20%, #8ac 80%, #79b 100%);}
[button][href^="http"]:hover {
	background:linear-gradient(#acd, #fff); transition:1s;}

/* 説明を要する語句 */
[term-c] {display:inline-block; position:relative;
	border:0.03em solid #a00; border-radius:0.5em;
	color:#000; background-color:#e4ffcf;
	font-size:1em; padding:0.2em; margin:0 0.2em;
	line-height:1; text-indent:0; cursor:pointer;}
[term-c][rb] {padding-top:0.7em;} /* ルビがある場合 */

[explan-c] {display:none; position:absolute; top:2em; width:10em;
	background-color:#fff8f0;
	border:solid 0.1em #a00; padding:0.8em 0.5em 0.7em; border-radius:0.5em;
	line-height:1.6; color:#000;
	text-align:justify; line-break:strict; z-index:2;}
 @media (min-width:959px) {[explan-c] {width:15em;}}
/* 表示文が短いときに追加 */
[exp_S] {width:auto; white-space:nowrap;}

/* クリックで画像表示 */
[tm-img] {display:inline-block;
	border:0.03em solid #080; border-radius:0.5rem;
	color:#000; background-color:#e4ffcf;
	font-size:1.2rem; padding:0.2rem; margin:0 0.2rem;
	line-height:1; text-indent:0; cursor:pointer;}
 @media (min-width:959px) {[tm-img] {font-size:1rem;}}

[dp-img] {display:none; position:absolute; top:2rem; z-index:1;
		width:12rem; border:0.1rem solid #a00; border-radius:0.5rem;}

/* スマホでは表示せず */
[pc-only] {display:none;}
 @media (min-width:959px) {[pc-only] {display:inline;}}
/* スマホだけ表示 */
[sumaho] {display:inline;}
 @media (min-width:959px) {[sumaho] {display:none;}}


/* 位置を取得 */
[getPos] {position:relative;}
[getPos][grab] {display:inline-block; cursor:grab;}
[getPos][point] {cursor:pointer;}

/* サムネイルクリックで大きい画像表示 */
/* 横長写真用 300px→100% スマホは固定 */
[img300-1000] input {display:none;}
[img300-1000] img {width:20rem;}
 @media (min-width:959px) {
	[img300-1000] input + img {width:300px; cursor:pointer;}
	[img300-1000] input:checked + img {width:100%;}}
/* 縦長写真用 200px→70% スマホは固定 */
[img200-700] input {display:none;}
[img200-700] img {width:13.3rem;}
 @media (min-width:959px) {
[img200-700] input + img {width:200px; cursor:pointer;}
[img200-700] input:checked + img {width:70%;}}

[kanso] {margin-left:-1rem;}
 @media (min-width:959px) {[kanso] {margin-left:0;}}
[pub] {margin-left:-1rem; text-align:center;}
 @media (min-width:959px) {[pub] {text-align:justify;}}
[pc-l] {text-align:center;} /* PCで左寄せ */
 @media (min-width:959px) {[pc-l] {text-align:justify; line-break:strict;}}
[pc-c] {text-align:justify; line-break:strict;} /* PCでセンタリング */
 @media (min-width:959px) {[pc-c] {text-align:center;}}

/* 段組 段数 スマホは段組にしない */
@media (min-width:959px) {[dan-2] {column-count:2;}} /* 2段 */
@media (min-width:959px) {[dan-3] {column-count:3;}} /* 3段 */
[dan-gap2] {column-gap:2em;} /* 段間2 */
[dan-gap3] {column-gap:3em;} /* 段間3 */
[dan-line] {column-rule: 0.05rem solid black;} /* 段間に縦線入 */

/* 縦書き */
[tate] {writing-mode:vertical-rl;}
[tate][nr] {text-orientation:upright;} /* 半角も縦 */

/* 横書き */
[yoko] {writing-mode:horizontal-tb}

/* 右から横書き */
[yokomigi] {direction:rtl; unicode-bidi:bidi-override;}

/* ルビ */
[rb] {position:relative; white-space:nowrap;}
[rb]::before {content:attr(rb);
	position:absolute; top:-1.0em; left:-0.4em; right:-0.2em;
	font-size:0.5em; text-align:center; white-space:nowrap;
	line-height:1; text-indent:0;}

[rb1]::before {left:-0.6em;} /* ルビを0.5字分左に寄せる */
[rb2]::before {left:-1.1em;} /* ルビを1字分左に寄せる */
[rb3]::before {left:-1.6em;} /* ルビを1.5字分左に寄せる */

/* 縦書用ルビ */
	[rbt] {position:relative; white-space:nowrap;}
	[rbt]::before {content:attr(rbt);
		position:absolute; top:0.0em; bottom:0.0em; left:2.4em;
		font-size:0.5em; text-align:center; white-space:nowrap;
		line-height:1; text-indent:0;}
	[rbt1]::before {top:-0.5em;} /* ルビを0.5字分上に寄せる */

/* PCとスマホで別の文字列 */
[click-tap]::before {content:'タップ';}
 @media (min-width:959px) {[click-tap]::before {content:'クリック';}}

/* ▼コンテンツ領域 */
/* 上下左右に1文字の余白 */
[let] {text-align:justify; line-break:strict; padding:1rem;} /* 周囲に余白 */
/* 左右に1文字の余白 */
[let-rl] {padding-left:1rem; padding-right:1rem;}
/* 上下左右に1文字の余白．ただしPCは32文字幅 */
[let-c] {margin:auto; padding:1rem; text-align:justify; line-break:strict;}
 @media (min-width:959px) {[let-c] {width:32rem; padding:1rem 0 1rem 0;}}
/* 上下に1文字の余白．ただしPCは32文字幅 */
[let-cp] {margin:auto; padding:1rem 0; text-align:justify; line-break:strict;}
 @media (min-width:959px) {[let-cp] {width:35rem;}}
/* PCは左に1文字空ける */
@media (min-width:959px) {[pc-sp] {padding-left:1rem;}}

/* 検索窓 */
.find {margin:0.5rem 1rem 0 0; font-size:0.9rem; text-align:right;}
 @media (min-width:959px) {.find {margin:0.5rem 0.5rem 0 auto;}}
.find[button] {cursor:pointer; vertical-align:middle; margin:0; padding:0.3rem;}

/* 説明付メニュー */
@media (min-width:959px) {[h-block-m] {display:flex; justify-content:center;}}
/* リンク先の説明 */
[exp-link] {width:90%; background-color:#fff8f0; /* 公開 */
	margin:0.2rem auto 1.5rem auto;	border:0.1rem solid #a00;
	padding:0.8rem 0.4rem 0.4rem; border-radius:0.5rem;
	text-align:justify; line-break:strict; line-height:1.6;}
 @media (min-width:959px) {[exp-link] {width:25rem; margin:0 0 1.5rem 0.2rem;}}
[exp-linkn] {width:18rem; margin:0.2rem auto 1rem auto; /* 簡素 */
	text-align:justify; line-break:strict; line-height:1.6;}
 @media (min-width:959px) {
	[exp-linkn] {width:25rem; margin:0.2rem 0 1rem 0.5rem;}}

/* コンテンツの下に長い余白 */
[h-long] {border-top:solid white 50rem; opacity:0;}
 @media (min-width:959px) {[h-long] {border-top:solid white 78rem;}}

/* ▼公開デザイン */
/* 上枠 */
.uewaku {min-height:5em; background:linear-gradient(#6ddfef, #ddfaff);}
 @media (min-width:959px) {.uewaku {min-height:8em;}}

/* 下枠 */
.shitawaku {background-color:#dcffbc;}

/* はじめに */
[button][hj] {font-size:0.9rem;letter-spacing:0.2rem;
		background:linear-gradient(#fff 0%, #fdd 20%, #b99 80%, #a66 100%);}
 @media (min-width:959px)
	{[button][hj] {font-size:1rem; padding-left:0.8rem;}}
[button][hj]:hover {background:linear-gradient(#daa, #fff); transition:1s;}
[disk-hajime] {font-size:0.5rem; color:#f80; padding:0.35rem 0.5rem 0 0;}
[exp-hajime] {margin-bottom:0.75rem;}

.hajime {display:none; position:absolute; top:1.8rem; left:-3rem;
	width:18rem; background-color:#fff8f0;
	text-align:justify; line-break:strict;
	border:1.2rem solid;
	border-image:radial-gradient(#f60, #fff) 45%;
	padding:0.5rem; line-height:1.5; z-index:1;}
 @media (min-width:959px) {.hajime {left:-5.5rem; width:24rem;}}


/* 公開コンテンツ地色 淡いクリーム色fcfff8 2023-07-14
	PCは両サイドに1文字分スペース 丸角 */
[main-pub] {background-color:#fcfff8; border-radius:1rem;}
 @media (min-width:959px) {[main-pub] {margin:0 1rem;}}

/* <hr expage>で改ページ */
[expage] {page-break-before:always;}


/* テスト用 */
[akaji] {color:#f00;}
[aowaku] {border:#00f 1px solid;}


/* ここでおしまい */
