/* ===== 共通ベース ===== */
:root { color-scheme: light; }

body{
	font-family:Arial, Helvetica, sans-serif;
	background-image: url(/images/background.png);
	background-repeat: repeat;
	font-size:14px;
	margin:0;
	padding:0;
}
h1, h2, h3, h4, h5, h6 {
	color: black;
	background: none;
	font-weight: normal;
	margin:.6em 1em .6em 1em;
	padding-top: 1px;
	padding-bottom: 1px;
	border-bottom: 1px solid #aaa;
}
p { 
	margin:.6em 0em .6em 0em;
	padding:0 0.4em 0 0.4em;
}
h1 { font-size: 188%; }
h1 .editsection { font-size: 53%; }
h2 { font-size: 150%; }
h2 .editsection { font-size: 67%; }
h3, h4, h5, h6 {
	border-bottom: none;
	font-weight: bold;
}
h3 { font-size: 132%; }
h3 .editsection { font-size: 76%; font-weight: normal; }
h4 { font-size: 116%; }
h4 .editsection { font-size: 86%; font-weight: normal; }
h5 { font-size: 100%; }
h5 .editsection { font-weight: normal; }
h6 { font-size: 80%;  }
h6 .editsection { font-size: 125%; font-weight: normal; }


/* ===== 2 カラム（Flex） ===== */
.main {
  display: flex;
  gap: 16px;           /* カラム間の余白 */
  align-items: flex-start;
  padding: 0 12px;     /* 画面左右に少し余白（お好みで） */
}


/* ===== タブ行（#bar） ===== */
.main .contents #bar {
  display: flex;
  gap: 10px;
  align-items: center;
  margin: 0;
  padding: 0;
  font-size: smaller;  /* 以前の見た目に寄せる */
  color: #003399;
}

.tabss, .tab {
  border: 1px solid #666;
  color: inherit; text-decoration: none;
  background: #fff;
  line-height: 1.6;
}


/* サイドメニューのボックス群（ここの見た目は既存踏襲） */
.main .sidemenu dl,
.main .sidemenu ul {
  background: #fff;
  border: 1px solid #666;
  margin: 0 0 8px 0;
  padding: 4px 6px;
}

/* フッターは本文幅に合わせる（.main の外ならそのままでもOK） */
.footer {
  background: #fff;
  border: 1px solid #666;
  padding: 8px 12px;
  margin: 16px 12px;
}
  
/* ===== レスポンシブ：幅が狭い時は縦並び ===== */
@media (max-width: 960px) {
  .main {
    flex-direction: column;
  }
  .main .sidemenu, .main .contents {
    flex-basis: auto;
    width: auto !important;
  }
}
.notice-deprecated{
  background:#fff7cc;
  border:1px solid #e0c86e;
  color:#523;
  padding:.8em 1em;
  margin:0 0 1em 0;
  border-radius:6px;
}
/* ===== 2カラムレイアウトを Flex で ===== */
	
  /* サイドメニュー（左） */
  .main .sidemenu {
	order: 1;
	flex: 0 0 220px;   /* 固定幅 220px。幅を変えたい時はここ */
	min-width: 200px;  /* つぶれ防止（任意） */
  }
  
  
  /* 右カラム（可変） */
  .main .contents{
	order:2;
	flex:1 1 auto;
    min-width:0;                      /* 長文の横スク抑止 */
    margin: 0 !important;
    float:none !important;            /* 旧 float を打ち消す */
	width:auto !important;            /* 旧 calc(100%-220px) を打ち消す */
	padding:0;
  }
 
  /* フッターはページ幅いっぱい。旧 margin-left:240px を廃止 */
  .main .footer{
	clear:both;
	width:100%;
	margin:16px 0 0;
	padding:8px 12px;
	border:1px solid #666;
	background:#fff;
  }
  
  /* レスポンシブ（任意）：狭いとき縦積み */
  @media (max-width: 960px){
	.main{ flex-direction:column; gap:12px; }
	.main .sidemenu{ order:2; flex-basis:auto; width:auto; }
	.main .contents{ order:1; }
  }
 /* フッターは通常フローで最下部へ */
  .footer{
	clear: both;     /* 念のため。floatを消すので実質不要だが保険で */
  }
  
  /* ===== レスポンシブ：幅が狭い時は縦並び ===== */
  @media (max-width: 960px){
	.main{
	  flex-direction: column;  /* 上：本文、下：サイドメニュー */
	}
	.main .sidemenu{
	  order: 1;                /* 下側へ（任意） */
	  flex-basis: auto;        /* 横幅いっぱい */
	  width: auto;
	}
	.main .contents{
	  order: 2;                /* 上側へ */
	}
  }
  
  .reference { 
	font-size:80%; 
}
#firstHeading {
	margin-bottom: .1em;
	/* These two rules hack around bug 2013 (fix for more limited bug 11325).
	   When bug 2013 is fixed properly, they should be removed. */
	line-height: 1.2em;
	padding-bottom: 0;
}
.firstHeading {
	margin-bottom: .1em;
	/* These two rules hack around bug 2013 (fix for more limited bug 11325).
	   When bug 2013 is fixed properly, they should be removed. */
	line-height: 1.2em;
	padding-bottom: 0;
}
#siteSub {
	font-size: 76%;
	padding:0 .3em 0 .3em;
}
#jump-to-nav {
	display: none;
}
.footer h4 {
	color: #003300;
	padding:0 1em 0 1em;
}
.footer address {
	font-family: Arial, Helvetica, sans-serif;
	font-style: italic;
	font-weight: bold;
	color: #0000FF;
	padding:0 1em 0 1em;
}

  /* サイドメニューは固定幅カラム */
 /* 
  .main .sidemenu{
	width: 220px;
	flex: 0 0 220px;
	margin: 0;
	float: none;    
  }
*/  
  /* 本文は残り幅いっぱい */
/* 
   .main .contents{
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;      
	float: none;
  }
*/  
/* 本文カラムの中の #bar */
  
  /* タブボタン */
.main  .sidemenu  dl li {
	font-family: Arial, Helvetica, sans-serif;
	font-size: small;
	font-weight: normal;
	margin: 0px 0px 0px 0px;
}
.main  .sidemenu a {
	color: #0000BB;
	text-decoration: none;
}
.main .sidemenu a:hover {
	color: #0000BB;
	text-decoration: underline;
}
.main .contents iframe{
	margin-bottom:1em;
}
.main  .contents p { 
	padding:.4em 0em .4em 0em;
	margin: 0;
}
.main  .contents blockquote { 
	padding:0 1.5em 0 1.5em;
	margin: 0;
}
.main  .contents a {
	color: #0000BB;
	text-decoration: none;
}
.main .contents a:hover {
	color: #0000BB;
	text-decoration: underline;
}
.header{
  width : auto;
  height : 50px;
}
.main .sidemenu form {
	width: 220px;
	left: 0px;
	clip: rect(auto,auto,auto,0px);
	margin-left: 0px;
}
.main .sidemenu .border {
	width: 220px;
	margin: 0px;
	background-color: #FFFFFF;
	border: 1px solid #666666;
}
.main .sidemenu li {
	margin-left: 0px;
}
/* .main .sidemenu{
	font-family:Arial, Helvetica, sans-serif;
	font-size: smaller;
	float: left;                  
	width: 220px;
	margin: 0;
}  */
/*.main .contents{
	font-family:Arial, Helvetica, sans-serif;
	float: none;                 
	width: auto;               
	margin: 0 0 0 240px;       
} */
.main .contents h1,h2,h3,h4,h5,ul,ol,dl,dd,dt,table,form,pre,address{
	margin-left: 0px;
	padding : 0px;
	width: auto;
}
.main .contents li{
	margin : 0px;
	padding : 2px;
}
.tabss{
	border-top: solid #666666 1px; 
	border-left: solid #666666 1px; 
	border-right: solid #666666 1px; 
	border-bottom: solid #666666 1px; 
	background-color:#FFFFFF; 
	padding: 0px 8px 0px 8px; 
	margin: 0px 10px -1px 10px;
} 
.tab{
	border-top: solid #666666 1px; 
	border-left: solid #666666 1px; 
	border-right: solid #666666 1px; 
	border-bottom: solid #666666 1px; 
	background-color:#FFFFFF; 
	padding: 0px 8px 0px 8px; 
	margin: 0px 10px -1px 10px;
} 
.tab:hover {
	border-top: solid #666666 1px; 
	border-left: solid #666666 1px; 
	border-right: solid #666666 1px; 
	border-bottom: solid #FFFFFF 1px; 
	background-color:#FFFFFF; 
	padding: 0px 8px 1px 8px; 
	margin: 0px 10px -2px 10px;
} 

.main .contents .border .pre {
	background-color: #FFFFDD;
	border: 2px solid #666666;
	padding-left: 32px;
	padding-right: 32px;
}
.main .contents .border .ref ol {
	font-size:small;
	width:auto;
}
.main .contents .border ol {
	width:auto;
	padding-left: 2em;
}
.main .contents .border ul {
	width:auto;
	padding-left: 1.3em;
}
.main .contents .title{
	border-bottom:#000000 solid 1px;
	font-family:Arial, Helvetica, sans-serif;
}
.main .contents .subtitle{
	font-family:Arial, Helvetica, sans-serif;
	margin:0 0 0 0;
	padding:0 0 0 0;
}
.main .contents ul{
	font-family:Arial, Helvetica, sans-serif;
	margin:0 0 0 0;
	padding:0 0 0 2em;
}
.main .contents ol{
	font-family:Arial, Helvetica, sans-serif;
	margin:0 0 0 0;
	padding:0 0 0 2em;
}
.main .contents .ref ol{
	font-family:Arial, Helvetica, sans-serif;
	margin:0 0 0 0;
	padding:0 0 0 2em;
}
.main .contents blockquote {
	margin-left: 32px;
	margin-right: 72px;
}
.main .contents a {
	color: #0000BB;
	text-decoration: none;
}
.main .contents a:hover {
	color: #0000BB;
	text-decoration: underline;
}
.main .sidemenu .index{
	margin-top : 10px;
	margin-bottom : 1px;
	font-size:small;
}
.main .sidemenu dl li{
	margin-left : 16px;
	padding : 1px;
}
.main .sidemenu ul {
	background-color: #FFFFFF;
	border: 1px solid #666666;
	width:auto;
	margin:0px;
	padding:0;
}
.main .sidemenu dl {
	background-color: #FFFFFF;
	border: 1px solid #666666;
	margin: 0px;
	padding:0;
	width:auto;
}
.main .footer{
	border: 1px solid #666666;
	background-color: #FFFFFF;
	clear: both;
	width: auto;                   /* ← 本文幅いっぱい（右は伸びる） */
	margin: 16px 0 0 240px;        /* ← 本文と同じ左位置に */
	padding: 8px 12px;
}
ul,dl {
	list-style-position: outside;
	list-style-image: url(/images/bullet.png);
	list-style-type: disc;
}
#graybox{
	background-color:#F9F9FF;
	border: 1px #666666 solid;
	width: auto;
	padding: 16px;
}
#grayboxpre{
	font-family:"Courier New", Courier, monospace;
	background-color:#F9F9FF;
	border: 1px #666666 solid;
	width: auto;
	padding: 16px;
}
#indexbox{
	background-color:#F9F9FF;
	border: 1px #666666 solid;
	padding: 8px 8px 8px 8px;
	margin: 8px;
	list-style-position: inside;
	list-style-type: none;
	float:left;
	width:auto;
}	
#indexboxhidden{
	background-color:#F9F9FF;
	border: 1px #666666 solid;
	padding: 8px 8px 8px 8px;
	margin: 8px;
	list-style-position: inside;
	list-style-type: none;
	display:none;
	float:left;
	width:auto;
}	
.palette{
	margin:0 10px 0 10px;
	padding:0;
}
.palette:hover{
	margin:0 10px 0 10px;
	padding:0 0 3px 0;
	background-color:#FFFFFF;
}
/*
#bar{
	font-size: smaller;
	color: #003399;
	margin: 0 0 8px 240px;     
}*/
table.wikitable{
	border:1px #666666 solid;
	border-collapse:collapse;
}
table.wikitable th{
	padding:.4em;
	background-color:#E9E9E9;
	border:1px #666666 solid;
}
table.wikitable td{
	padding:.4em;
	background-color:#FFFFFF;
	border:1px #666666 solid;
}

.sns-share{
	display:flex; gap:.5rem; align-items:center;
	margin: .5rem 0 1rem; flex-wrap:wrap;
  }
  .sns-share .sns{
	display:inline-flex; align-items:center; gap:.35rem;
	padding:.35rem .6rem; border:1px solid #ccc; border-radius:6px;
	font-size:13px; text-decoration:none; line-height:1; background:#fff;
  }
  .sns-share .sns:hover{ box-shadow:0 1px 0 rgba(0,0,0,.08); }
  .sns-share .sns.x    { color:#111; border-color:#bbb; }
  .sns-share .sns.fb   { color:#1877F2; border-color:#bcd1ff; }
  .sns-share .sns.line { color:#06C755; border-color:#bdeccf; }
  .sns-share .sns.copy { color:#555; }

/* 本文の白枠 */
.main .contents .border{
  background:#fff;border:1px solid #666;margin:0 0 1em 0;padding:1em;width: auto;
}
/* clearfix（親 .main に付与） */
.main::after{content:"";display:block;clear:both;}