/* iPhoneで見てbutton,selectがあまりにも小さすぎる */
button,select {
	font-size: 1.2em;
}
/* 要素内をセンタリング */
.center {
	text-align: center; /* 要素内のインラインを中央揃えに */
}
.center>* {
	margin: 0 auto; /* 直下のブロックを中央揃えに */
}
/* 要素内を右寄せ */
.right {
	text-align: right;
}
.right>* {
	margin-right:0;
}

/* 他の項目と押し間違いを防止するため、余白を開ける。 */
button {
	margin:0.3em;
}

/* labelの中のSpanは、入力項目と隣接していることが多いため、余白を開ける。 */
label span {
	margin:0.3em;
}

/* アコーディオン */
details{
	border: 1px solid #ccc;
	padding:3px;
}
/* アコーディオン 見出し */
details summary {
	list-style: none;
	cursor: pointer;
	padding: 3px;
	background: #eee;
	font-weight: bold;
}
details summary::-webkit-details-marker { /*Chrome用 デフォルトマーク削除 */
	display: none;
}
details>summary::before {
	content: "\ff0b"; /* ＋ */
	margin-right: 0.5rem;
}
details[open]>summary::before {
	content: "\ff0d"; /* － */
}

/* 横並びで表示するリスト */
ul.line {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
}
ul.line>li {
	margin-right: 0.2em;
}
ul.line>li:not(:last-child)::after { /*スラッシュ区切り*/
	content: "/";
	margin-left: 0.2em;
}

/* ラインマーカーのようなハイライト */
.highlight {
    text-decoration: underline;
    background-color: #ff9;
}

/* ページに固定された丸いボタン（ページトップへもどるボタンなど） */
.tadpole {
	display: inline-block;
	padding: 8px 15px; /* ボタンの内側の余白 */
	background-color: #eee; /* ボタンの背景色 */
	color: #444; /* ボタンのテキスト色 */
	text-align: center; /* テキストを中央揃え */
	text-decoration: none; /* 下線なし */
	border: 1px solid #444;
	border-radius: 10px; /* 角を丸くする */
	position:fixed;
	right:0;
	cursor: pointer; /* カーソルをポインターに変更 */
}

/* ポインター */
.pointer{
	cursor: pointer; /* カーソルをポインターに変更 */
}

/* インラインブロック */
.inline-block {
	display: inline-block;
}
/* flex */
.flex {
	display: flex;
}

/* small */
.small {
	font-size: 0.8em;
}

/* 境界線付き */
.border {
	border: 1px solid #444;
}

/* DIVタグを使ったテーブル表現 */
div.table {
    display: table;
    width: 100%;
    border-collapse: collapse;
}
div.table>.row {
    display: table-row;
}
div.table .cell {
    display: table-cell;
    border: 1px solid #ddd;
}

/* ULタグを使ったテーブル表現 */
ul.table {
    list-style: none;
    padding: 0;
    width: 100%;
}
ul.table li {
    display: table-row;
}
ul.table li .cell {
	display: table-cell;
    padding: 5px 10px; /* セルの余白 */
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
}
ul.table li .cell:last-child { /* 最終列には右側の枠線を付与 */
    border-right: 1px solid #ccc;
}
ul.table li:last-child .cell { /* 最終行には下側の枠線を付与 */
    border-bottom: 1px solid #ccc;
}

/* DLタグを使ったテーブル表現 */
dl.table {
    display: table;
    width: 100%;
    border-collapse: collapse;
}
dl.table>dt, dl.table>dd {
    display: table-cell;
    padding: 8px;
    border: 1px solid #ddd;
}
dl.table>dt {
    font-weight: bold;
}

/* アイコンフォント */
.icon {
	font-size: 1.2em;
	padding : 0.2em;
	cursor: pointer;
}

