@charset "utf-8";

html {
	height: 100%;
}

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

body {
	background-color: #ffffff;
	height: 100%;
	font-size: 16px;
	color: #333;
	line-height: 1.8;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "ヒラギノ角ゴ Pro W3", 'Hiragino Kaku Gothic Pro' , 'Noto Sans Japanese','メイリオ','Meiryo', sans-serif;
	-webkit-text-size-adjust: 100%;
}

h1 {
	font-size: 2em;
}
h2 {
	font-size: 1.6em;
}
h3 {
	color: #1A3D8D;
	font-weight: bold;
	font-size: 1.4em;
}
h4 {
	font-weight: bold;
	font-size: 1.2em;
	margin: 12px 0;
}
h5 {
	font-size: 16px;
	font-weight: normal;
	text-align: right;
	margin-bottom: 12px;
}
p {
	margin-bottom: 12px;
}

a {
	color: #1A3D8D;
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
	opacity: .7;
}
a:visited {
	color: #4c0099;
}

@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
		color: #333;
  }
	
}
@media screen and (max-width: 767px)  {
	h1,h2,h3 {
		line-height: 1.5em;
	}
	h5 {
		text-align: left;
	}
}

/* コメントCSS */
dl {
  display: flex;
  flex-wrap: wrap;
	padding: 6px 0;
}
dt {
	width: 120px;
	margin-bottom: 9px;
	margin-right: 1em;
	font-weight: bold;
}
dd {
  width: calc( 100% - 120px - 16px ); 
	margin-bottom: 12px;
}

.dl3em {
}
.dl3em dl {
  display: flex;
  flex-wrap: wrap;
	padding: 6px 0;
	margin-bottom: 12px;
}
.dl3em dt {
	width: 48px;
	margin-bottom: 9px;
	margin-right: 1em;
	font-weight: bold;
}
.dl3em dd {
  width: calc( 100% - 48px - 16px ); 
	margin-bottom: 9px;
}

.dl4em dl {
  display: flex;
  flex-wrap: wrap;
	padding: 6px 0;
	margin-bottom: 12px;
}
.dl4em dt {
	width: 64px;
	margin-bottom: 9px;
	margin-right: 1em;
	font-weight: bold;
}
.dl4em dd {
  width: calc( 100% - 64px - 16px ); 
	margin-bottom: 9px;
}

.dl8em dl {
	display: flex;
	flex-wrap: wrap;
	padding: 6px 0;
	margin-bottom: 12px;
}
.dl8em dt {
	width: 128px;
	margin-bottom: 9px;
	margin-right: 1em;
	font-weight: bold;
}
.dl8em dd {
  width: calc( 100% - 128px - 16px ); 
	margin-bottom: 9px;
}

.dl10em {
}
.dl10em dl {
  display: flex;
  flex-wrap: wrap;
	padding: 6px 0;
	margin-bottom: 12px;
}
.dl10em dt {
	width: 160px;
	margin-bottom: 9px;
	margin-right: 1em;
	font-weight: bold;
}
.dl10em dd {
  width: calc( 100% - 160px - 16px ); 
	margin-bottom: 9px;
}

ul {
	margin-bottom: 12px;
}
ul li {
	list-style-position: outside;
	list-style-type: disc;
	margin-left: 1.5em;
}

ol {
	margin-bottom: 12px;
	counter-reset: num;
  list-style: none;
}
ol > li {
  counter-increment: num;
  position: relative;
  margin-bottom: 0.4em;
  padding-left: 1.4em;
}
ol > li::before {
  content: counter(num);
  position: absolute;
  left: 0;
  top: 0.35em;
  width: 1.4em;
  height: 1.4em;
  line-height: 1.4em;
  text-align: center;
  background: #fff;
  color: #333;
  border-radius: 50%;
	border: 1px solid #333;
  font-weight: bold;
  font-size: 0.8em;
}
/* ol li {
	list-style-position: outside;
	list-style-type: decimal;
	margin-left: 1.5em;
} */


strong {
	font-weight: bold;
}
small {
	font-size: 0.9em;
}

@media screen and (max-width: 767px) {/* 767px以下の場合に適用 */
	dl,.dl3em,.dl10em {
		display: block;
	}
	dt,.dl3em dt,.dl10em dt {
		width: 100%;
	}
	dd,.dl3em dd,.dl10em dd {
		width: 100%;
	}
}

.container {
	max-width: 900px;
	margin: auto;
	display: flex;
	flex-direction: column;
	padding: 12px 0;
}
@media screen and (max-width: 900px) {/* タブレット用 */
	.container {
		margin: 0 48px;
	}
}
@media screen and (max-width: 767px) {
	.container {
		margin: 0 12px;
	}
}


img {
	margin: 0 auto;
	/* max-width: 100%; 画像がコンテナからはみ出さないように */
  box-sizing: content-box;
	margin-bottom: 24px;
	display: block;
}

.img-left {
	margin-right: auto;
	display: block;
}

.img-right {
	margin: inherit;
	margin-left: auto;
}

.rightimg-flexbox img.no-auto-margin {
  margin-left: 0;
}

.display-none {
	display: inline!important;
}

/* 画像配置　右よせ */
.rightimg-flexbox {
	display: flex;
	align-items: flex-start; /* アイテムを上に揃える */
}
.rightimg-textwrap {
	margin-right: 18px;
}
.rightimg-flexbox img {
	margin: 0; /* グローバルな中央寄せのスタイルを上書き */
	margin-left: auto; /* 右寄せ */
	display: block; /* ブロック要素 */
}
.rightimg-flexbox a {
	margin-left: auto; /* 右寄せ */
	/* display: block; ブロック要素 */
}
.rightimg-flexbox .caption-img {
	margin-left: auto; /* .caption-imgを右寄せ */
}

/* 画像配置　左よせ */
.leftimg-flexbox {
	display: flex;
	align-items: flex-start; /* アイテムを上に揃える */
}
.leftimg-textwrap {
	margin-left: 18px;
}
.leftimg-flexbox img {
	margin: 0;
}



/* 配置　両端に配置 */
.between-flexbox {
	display: flex;
	justify-content: space-between;
}
/* 配置　横に配置 */
.flexbox {
	display: flex;
	justify-content: center;
	align-items: center;
}
.flexbox img {
	margin: 12px 12px 24px 12px;
}
.flexbox-items-normal {/* 天地中央の解除 */
	align-items:normal
}

/* 配置　縦に配置 */
.flexbox-column {
	display: flex;
  flex-flow: column;
}
.flexbox-column img {
	margin: 12px 12px 24px 12px;
}

@media screen and (max-width: 900px) {
/* @media screen and (max-width: 767px) { */
	.leftimg-flexbox {
		flex-direction: column;
	}
	.leftimg-flexbox img {
		display: block;
		order: 1;
		margin: 0 auto 36px;
	}
	.leftimg-textwrap {
		margin: 0;
	}
	.rightimg-flexbox {
		flex-direction: column;
		/* width: 100%; */
		display: block;/* 要確認 */
		padding: 0;
		margin: 0;
	}
	.rightimg-flexbox img {
		margin: 0 auto 36px;
	}
	.rightimg-flexbox a {
		margin: 0 auto 36px;
	}
	.rightimg-textwrap {
		margin: 0;
	}

	.rightimg-flexbox img.no-auto-margin {
		margin: 0 auto 36px;
	}

	.between-flexbox {
		flex-direction: column;
	}
	.between-flexbox img {
		/* margin: 12px 0; */
		max-width: 100%;
		height: auto;
	}
	.flexbox {
		flex-direction: column;
	}
	.flexbox img {
		margin: auto;
		margin: 12px 0;
	}
	.flexbox-column img {
		padding: 0;
	}
	.img-right-wrap {
		display: block;
	}
	.img-right {
		margin: 0 auto;
	}
	.img-left {
		margin: 0 auto !important;
	}
	.caption-img {
		margin: 0 auto;
	}
}


/* キャプションありの画像 */
.caption-img {
}
.caption-img img {
	margin-bottom: 0;
	margin-top: 6px;
}
.caption-img p {
	font-size: 80%;
	text-align: center;
	margin: 12px 0 24px 0;
}

.img-left {
	margin-left: 0;
}

.img-line {
	border: 1px solid #c6c6c6;
}

@media screen and (max-width: 900px) {/* タブレット用 */
	img {
		width: auto; /* 画像はそのままのサイズ */
		margin: auto;
		box-sizing: content-box;
		max-width: 100%;
		height: auto;
	}
	img.imglarge {
    width: 100%; /* 画像を100% */
		padding: 0;
  }
}

@media screen and (max-width: 767px) {
	img {
		width: auto; /* 画像はそのままのサイズ */
		margin: auto;
		box-sizing: content-box;
		max-width: 100%;
		height: auto;
	}
	img.imglarge {
    width: 100%; /* 画像を100% */
		padding: 0;
  }
}

/* =====================
  ホーム
  ===================== */

.ttl {
	display: flex;
	margin-top: 54px;
}
.ttl-side {
	flex: 1;
	padding: 16px 0;
}
.ttl-side h2 {
	font-size: 3em;
	color: #CCC;
	font-weight: bold;
	text-align: right;
	line-height: 1em;
}
.ttl-side h1 {
	font-size: 1.2em;
	color: #999;
	font-weight: normal;
	text-align: right;
}
.ttl-side address {
	font-size: 0.85em;
	color: #333;
	font-weight: normal;
	font-style: normal;
	text-align: right;
}
.ttl-side p {
	font-size: 0.85em;
	color: #999;
	padding-top: 12px;
	text-align: right;
}
/* 表紙img */
.top-main {
	display: flex;
}
.top-img {
	flex-direction: column;
}
.top-img img {
	margin: 0;
}

.top-caption{
	width: 450px;
}
.top-caption h3 {
	font-size: 93%;
	line-height: 1.5;
	font-weight: normal;
	color: #8A8A8A;
	margin-top: 9px;
}

/* インデックス */
.top-index {
	display: inline-flex;
	flex-direction: column;
	margin-left: auto;
	width: calc(100% - 480px);
}
.top-index p {
	color: #333;
	font-weight: bold;
	background-color: #f5f5fe;
	border-bottom: 1px solid #c6c6c6;
	border-right: 1px solid #c6c6c6;
	padding: 6px 0 4px 16px;
	margin: 0 0 0.5em;
}
.index-list {
	font-size: 100%;
	margin: 16px 0 1.5em 0;
}
.index-list li {
	list-style-type: disc;
	margin-bottom: 0.8em;
	line-height: 1.5;
	list-style-position: outside;
}


@media screen and (max-width: 767px) {
	.ttl {
		flex-direction: column;
	}
	.ttl img {
		width: 250px;
		margin-left: 0;
	}
	.ttl h2 {
		text-align: left;
	}
	.ttl h1 {
		text-align: left;
	}
	.ttl p{
		text-align: left;
	}
	.ttl-side h2 {
		margin-top: 12px;
	}
	.top-main {
		flex-direction: column;
	}
	.top-img {
		order: 2;
	}
	.top-img img {
		padding: 0;
		margin: 0;
	}
	.top-index {
		width: 100%;
		order: 1;
	}
	.top-caption{
		width: auto;
	}
}

/* 説明 */
.top-desc {
	padding: 9px 0;
}
.top-desc h3 {
	color: #1A3D8D;
	font-size: 1.3em;
	font-weight: bold;
	margin: 16px 0 6px;
}
/* 人口・世帯数 */
.population {
	padding: 32px 0;
}
.population h2 {
	background: #1A3D8D;
	color: #fff;
	font-size: 1.2em;
	font-weight: bold;
	line-height: 1.2;
	padding: 6px 16px;
	margin-bottom: 0;
}
.population dl {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	background-color: #FFF;
	border-top: 1px solid #D6D6D6;
	border-left: 1px solid #D6D6D6;
	padding: 0;/* 初期値リセット */
	margin: 0;/* 初期値リセット */
}
.population dt {
	flex-basis: 120px;
	background-color: #EFEFEF;
	font-weight: bold;
	text-align: center;
	margin-bottom: 0;/* 初期値リセット */
	margin-right: 0;
}
.population dd {
	margin-left: 0; /* 初期値リセット */
	flex-basis: calc(100% - 120px);
	margin-bottom: 0;/* 初期値リセット */
}
.population dt,
.population dd {
  padding: 6px;
  box-sizing: border-box;
  border-right:  1px solid #D6D6D6;
  border-bottom: 1px solid #D6D6D6;
}



/* =====================
  グローバルメニュー
  ===================== */

.ttl-global {
	margin-top: 24px;
	border-bottom: solid 3px #f5dcf2;
	position: relative;
}
.ttl-global:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #2B88CF;
  bottom: -3px;
  width: 35%;
}
@media screen and (max-width: 767px) {
	.ttl-global:after {
		width: 100%;
	}
}
.ttl-global p {
	margin: 0;
	font-size: 0.9em;
	font-weight: bold;
}
@media screen and (max-width: 767px) {
	.ttl-global p {
		font-size: 0.8em;
	}
}

.page-navigation {
	display: flex;
	justify-content: center;
	padding: 12px 0;
	background-color: #f5f5fe;
	border-bottom: 1px solid #c6c6c6;
	margin-bottom: 12px;
}
.page-navigation .homePage {
	padding: 0 3em;
}
.page-navigation .previousPage::before {
	content: url(../regular/arrow_l.gif);
	vertical-align: middle;
	padding-right: 6px;
	pointer-events: none;
}
.page-navigation .nextPage::after {
	content: url(../regular/arrow_r.gif);
	vertical-align: middle;
	padding-left: 6px;
	pointer-events: none;
}

/* =====================
  nav footer
  ===================== */

.global-nav_list {
	background-color: #f7f8fd;/* #FAFAFE #f7f7fd */
	padding: 24px;
}
.index-ttl-nav_list {
	color: #1A3D8D;
	font-weight: bold;
}
.index-nav_list {
  margin: 0;
  padding: 0;
  list-style: none;	
}
.index-nav_list li {
	list-style: none;
	margin-left: 18px;
	padding: 9px 0;
}
.index-nav_list li a {
  text-decoration: none;
  color: #333;
}

.index-nav_list li ::before {
	content: url(../regular/arrow_indexnav.png);
	vertical-align: middle;
	padding-right: 6px;
	pointer-events: none;
}


/* ページトップへ */
#page_top {
  width: 60px;
  height: 60px;
	border-radius: 50%;
  line-height: 70px;
  display: none;
  position: fixed;
  right: 30px;
  bottom: 30px;
  color: #fff;
  display: inline-block;
  text-decoration: none;
  text-align: center;
}

#page_top::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: inline-block;
  width: 60px;
  height: 60px;
	border-radius: 50%;
  background-color: #333;
	opacity: .5;
  z-index: -1;
}

/* =====================
  お知らせ
　===================== */

.oshirase-top {
	display: flex;
	align-items: flex-start; /* アイテムを上に揃える */
}
.oshirase-top img {
	margin: 0;
	padding-right: 16px;
	padding-left: 6px;
}

@media screen and (max-width: 767px) {
  .contents-top img {
    margin: 0; /* auto を解除 */
    display: block; /* 必要に応じて適用 */
  }
}

.oshirasemenu-outer {
	/* border-bottom: 1px solid #c6c6c6; */
}
.oshirase-menu {
	text-align: right;
}
.oshirase-menu ul {
	padding: 12px;
}
.oshirase-menu ul li {
	display: inline-block;
	margin: 0;
	padding: 12px 6px 0;
}
.oshirase-heading {
	background-color: #1A3D8D;/* #EFEFEF */
	margin-bottom: 12px;
}
.oshirase-heading img {
	margin-left: 0;
	margin-bottom: 0;
	padding: 3px 0 9px 0;
}
.oshirase-heading h1 {
	font-size: 1em;
	padding: 6px 0 0 9px;
	margin: 6px;
}
.oshirase {
	/* border-bottom: 1px solid #c6c6c6; */
	padding-top: 18px;
}
.oshirase-last {
	padding: 18px 0;
}
.oshirase h2 {
	color: #333;
	position: relative;
	padding: 0 0.9em;
	margin-bottom: 18px;
	font-size: 1.7em;
	line-height: 1.5;
}
.oshirase h2:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
	bottom: -7px;
	width: 7px;
	height: 100%;
	border-radius: 7px;
	background: #1A3D8D;
}
.oshirase h3 {
	color: #333;
	font-weight: bold;
	font-size: 1.2em;
	line-height: 1.5;
	margin-top: 24px;
	margin-bottom: 12px;
	text-indent: -1em;
	padding-left: 1em;
}
.oshirase h3::before {
	content: '●';
	color: #1A3D8D;
	margin-right: 2px;
	opacity: 0.5;
}
.oshirase h4 {
	color: #1A3D8D; /* #7f4448;*/ /* #3b7960 */
	font-weight: bold;
	font-size: 1.2em;
	line-height: 1.5;
	margin-bottom: 12px;
}
.oshirase h5 {
	border-bottom: 1px solid #c6c6c6;
  padding: 1em 0 3em 0;
  margin-bottom: 2em;
}
.oshirase h5:last-child {
	border-bottom: none;
	padding-bottom: 0; 
}



.shisetsu {
	/* border-bottom: 1px solid #c6c6c6; */
	padding-bottom: 1em;
	margin-bottom: 1em;
}
.shisetsu h3 {
	color: #333;
	font-weight: bold;
	font-size: 1.2em;
	line-height: 1.5;
	margin-top: 24px;
	margin-bottom: 12px;
	text-indent: -1em;
	padding-left: 1em;
}
.shisetsu h3::before {
	content: '●';
	color: #1A3D8D;
	margin-right: 2px;
	opacity: 0.5;
}
.shisetsu h4 {
	color: #1A3D8D;
	font-weight: bold;
	font-size: 1.2em;
	line-height: 1.5;
	margin-bottom: 12px;
}
.shisetsu h5 {
	border: none;
	padding: 1em 0 0 0;
}

.shisetsu-ttl {
	border: 1px solid #ccc;
	margin: 12px 0 24px;
}
.shisetsu-ttl h2 {
	background-color: #E1EFF1;/* #fff7cc */
	padding: 0.3em 0.7em;
	margin: 0;
}
.shisetsu-ttl h2:before {
	content: none;
}
.shisetsu-ttl h5 {
	border: none;
	padding: 0;
	margin: 1.2em 0 12px 1.2em;
	text-align: left;
}
.shisetsu-ttl dl {
	margin: 0 1.2em;
	display: flex;
	flex-wrap: wrap;
	padding: 6px 0;
	margin-bottom: 0;
}
.shisetsu-ttl dt {
	width: 48px;
	margin-bottom: 9px;
	margin-right: 1em;
	font-weight: bold;
}
.shisetsu-ttl dd {
	width: calc( 100% - 48px - 16px ); 
	margin-bottom: 9px;
}

.shisetsu .shisetsu-qr {
	padding: 16px;
	margin: 0 0 0 auto;
}

.oshirase-arekore {
	border-bottom: 1px solid #c6c6c6;
	background: url(../regular/warning02.gif) no-repeat top right / 38px auto;
	margin-bottom: 2em;
}
.oshirase-arekore h2 {
	padding-top: 12px;
	padding-bottom: 12px;
	margin-bottom: 24px;
}
.arekore-box {
	border: 1px dashed #A0A0A0;
	padding: 12px 24px;
	margin: 24px 0;
}

.oshirase-johokyoku {
}
.oshirase-johokyoku h2 {
	padding-top: 12px;
	padding-bottom: 12px;
	margin-bottom: 24px;
}
.johokyoku-info {
	background: url(../regular/toyama_jouhoukyoku.gif) no-repeat top left / 90px auto;
	height: 120px;
}
.johokyoku-info dl {
	margin-left: 7em;
}
.johokyoku-theme {
	margin: 12px 0;
}
.johokyoku-theme dt {
	width: 60px;
}

.oshirase-gomi {
	border-bottom: 1px solid #c6c6c6;
	background: url(../regular/gomi.gif) no-repeat top right / 60px auto;
	margin-bottom: 2em;
}

.oshirase-h5-none {
	border-bottom: none !important;
	padding-bottom: 0 !important;
}




@media screen and (max-width: 767px) {/* 767px以下の場合に適用 */
	.shisetsu-ttl dl {
		display: block;
	}
	.shisetsu-ttl dt {
		width: 100%;
	}
	.shisetsu-ttl dd {
		width: 100%;
	}
	.oshirase-menu img {
		width: 101px;
		padding: 0;
	}
	.oshirase-heading img {
		width: 150px;
		display: inline-block;
		padding: 0;
	}
	.johokyoku-info {
		height: 150px;
	}
}



/* =====================
　テーブル
　===================== */

table {
	border-collapse: collapse;
	margin: 12px 0;
}
th, td {
	border: 1px solid #c6c6c6;
	padding: 6px;
}
th {
	background-color: #DEDEDE;
}
td {
	background-color: #fff;
}

.table-scroll {
  overflow:auto;
}
.table-scroll table {
	width: 100%;
}
.table-scroll th, td {
  padding: 6px;
  min-width: 8em;
  border-bottom: 1px solid #c6c6c6;
	vertical-align: middle;
}
.table-scroll th:not(:last-child),
td:not(:last-child){
  border-right: 1px solid #c6c6c6;
}
.table-scroll thead th:first-child {
	position: sticky;
  top: 0;
  z-index: 1;
}
.table-scroll thead th::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  border-bottom:1px solid #c6c6c6;
}
.table-scroll th {
  position: sticky;
  top:0;
  left: 0;
}
.table-scroll th:first-child::before {
  content:'';
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  border-right:1px solid #c6c6c6;
}

/* ホバーしたときに水色をつける 
.table-scroll tr:hover th,
.table-scroll tr:hover td{
  color:#333;
  background-color: #e1eef9;
}
*/
/* いらないかも
.table-scroll th {
  background-color: #D9D9D9;
}
.table-scroll tr:nth-child(even) {
  background-color: #D9D9D9;
} */

.table_layout {
  table-layout: fixed;
  width: 900px;
}

/* 一部の列の外側の枠線を太く */
.border-bold {
  border-right: 3px solid #555 !important;
  border-left: 3px solid #555;
}

/* 最初の行と最後の行は上下も太くする */
tr:first-child .border-bold {
  border-top: 3px solid #555;
}

tr:last-child .border-bold {
  border-bottom: 3px solid #555;
}

/* 隣接する .border-bold の間の線を消す
.border-bold + .border-bold {
  border-left: 1px solid #c6c6c6 !important;
} */

@media screen and (max-width: 767px) {
	.table-scroll {
		/* 一行目thを固定するとき。高さ指定
		height:500px;
		*/
		white-space:nowrap;
	}
	.table-scroll th {
		border-collapse: collapse;
		border-spacing: 0;
		border-top: none;
		border-bottom: none;
	}
	.table-scroll th:before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		border-top: 1px solid #c6c6c6;
		border-bottom: 1px solid #c6c6c6;
		z-index: -1;
		border-spacing: 0;
	}
	.table-auto {
		width: 100%;
	}
	.table_layout {
		table-layout: auto;
		width: auto;
	}
}

.table-auto {
	border-collapse: collapse;
	margin: 12px 0;
}
.table-auto th, td {
	border: 1px solid #c6c6c6;
	padding: 6px;
}
.table-auto th {
	background-color: #DEDEDE;
}

/* テーブルの斜線 */
table td:empty {
	background-image: linear-gradient(to right top, transparent calc(50% - 0.5px), #999 50%, #999 calc(50% + 0.5px), transparent calc(50% + 1px))
}

/* 二重線 上 */
.border-double-top {
	border-top: double 3px #999;
}
/* 二重線 右*/
.border-double-right {
	border-right: double 3px #999 !important;
}
/* 破線 */
.border-dashed-top {
	border-top: 2px dashed #999;
}
/* 太線 上 */
.border-bold-top {
	border-top: 3px solid #555;
}
/* 太線 下 */
.border-bold-bottom {
	border-bottom: 3px solid #555;
}
/* 太線 右 */
.border-bold-right {
	border-right: 3px solid #555 !important;
}
/* 太線 左 */
.border-bold-left {
	border-left: 3px solid #555;
}
/* 上の線をなくす */
.border-no-top {
  border-top: none;
}
/* 下の線をなくす */
.border-no-bottom {
  border-bottom: none;
}
/* 左の線をなくす */
.border-no-left {
  border-left: none;
}

/* 疑似th 縦にthをいれるとスマホ上でうまくスクロールできない */
.table-dummy-th {
	background-color: #DEDEDE;
	font-weight: bold;
	text-align: center;
}


/* 相談日程のタイトル */
.table-ttl {
	background-color: #fffbe6;
	font-weight: bold;
} 


/* =====================
　相談
　===================== */

.sodan-cont {
	margin: 18px 0 30px 0;
}
.sodan-cont-ttl {
	margin: 18px 0;
}
.sodan-cont-ttl h1 {
	color: #1A3D8D;
	font-size: 2em;
	text-align: center;
}
.sodan-cont h2 {
	font-size: 1.4em;
	text-align: center;
	margin-bottom: 6px;
}
.sodan-cont h5 {
	text-align: right;
	margin: 2em 0;
}

/* ハートSOSダイヤル */
.heart-box {
	background-color: #FEF2F2;
	border-radius: 18px;
	padding: 18px 24px;
	margin: 30px 0;
}
.heart-box h3 {
	color: #333;
	font-size: 1.2em;
}


/* 相談窓口案内に変更 */
.sodan-cont02 {
	margin: 18px 0 30px 0;
}
.sodan-cont02-ttl {
	margin: 18px 0;
}
.sodan-cont02-ttl h1 {
	color: #1A3D8D;
	font-size: 2em;
}
.sodan-cont02 h2 {
	font-size: 1.5em;
	line-height: 2em;
	color: #1A3D8D;
	background-color: #EFEFEF;
	margin-bottom: 6px;
	padding: 0.3em 0.7em;
}
.sodan-cont02 span {
	font-size: 0.7em;
	border-radius: 6px;
	border: 2px solid #E6E6E6;
	background-color: #fff;
	padding: 0.3em 0.6em;
}
.sodan-cont02 h2 small {
  font-size: 0.8em;
}
.sodan-cont02 h5 {
	text-align: right;
	margin: 2em 0;
}


.sodan-cont02 li {
  position: relative;
	margin-left: 0;
  padding-left: 15px;
	list-style-type: none;
	font-size: 1.2em;
	font-weight: bold;
	line-height: 2.2;
}
.sodan-cont02 li:before {
  content: "";
  position: absolute;
  top: .8em;
  left: 0;
  width: 10px;
  height: 10px;
  background-color: #1A3D8D;
  border-radius: 50%;
}
.sodan-cont02 li small {
	font-size: 0.9em;
	font-weight: normal;
}

.tokubetsusodan {
	background-color: #ffffff;
	border: 2px solid #e6e6e6;
	border-radius: 12px;
	padding: 12px 24px;
	margin: 12px 0;
}
.tokubetsusodan h2{
	font-size: 1.8em;
	padding: 0.5em 0;
}
.tokubetsusodan h3{
	font-size: 1.5em;
	line-height: 2em;
	color: #1A3D8D;
	background-color: #EFEFEF;
	margin-bottom: 6px;
	padding: 0.3em 0.7em;
}


/* =====================
　親子相談・健康づくり
　===================== */

.kenko-cont {
	margin: 18px 0 30px 0;
}
.kenko-cont-ttl{
	margin: 18px 0;
}
/* .kenko-cont-ttl h1 {
	color: #1A3D8D;
	font-size: 2em;
	text-align: center; */
.kenko-cont-ttl h1 {
  position: relative;
  padding: 1.5rem 2rem;
	background: #E0E8F9;
	color: #1A3D8D;
	font-size: 2em;
	text-align: center;
	margin-bottom: 18px;
}
.kenko-cont-ttl h1:before,
.kenko-cont-ttl h1:after {
  position: absolute;
  left: 0;
  width: 100%;
  content: '';
  border-top: 4px dotted #fff;
}
.kenko-cont-ttl h1:before {
  top: 6px;
}
.kenko-cont-ttl h1:after {
  bottom: 6px;
}
.kenko-cont h2 {
	color: #1A3D8D;
	background: #EFEFEF;
	padding: 12px 18px;
	margin-bottom: 24px;
}
.kenko-cont h5 {
	text-align: right;
	margin: 2em 0;
}

.ikusapo-ttl {
	background: #FFFAE6;
	margin: 24px 0;
	padding: 24px;
}

/* =====================
　診察室からお答えします
　===================== */
.shinsatsu {
	background: #eff6fb;
	border: solid 3px #1A3D8D;
	border-radius: 12px;
	padding: 24px;
	margin-bottom: 24px;
}
.shinsatsu h2 {
	padding-left: 3.3em;
	line-height: 3;
	background: url(../regular/shinsatushitu.png) no-repeat top left / 70px auto;
	margin-bottom: 20px;
}
.shinsatsu h3 {
	background-color: #fff;
	padding: 9px 12px;
	border-radius: 9px;
	font-size: 1.2em;
}
.shinsatsu h4 {
	margin-top: 1em;
	color: #333;
}
/* お知らせページの診察室 */
.oshirase .shinsatsu h2:before {
	content: none;
}
.oshirase .shinsatsu h3 {
	padding-left: 1.6em;
	color: #1A3D8D;
}
.oshirase .shinsatsu h3:before {
	content: none;
}

/* =====================
　広報クイズ
　===================== */
.quiz {
	margin: 18px 0;
}
.quiz h1 {
	color: #1A3D8D;/* #931d35*/
	text-align: center;
}
.question {
	display: flex;
	margin: 24px 0;
}
.quiz h2 {
	font-size: 1.25em;
	font-weight: bold;
	background-color: #f8c8c8;
	margin-right: 3em;
	padding: 6px 24px;
	height: 50px;
	position: relative;
}
.quiz h2::after {
	content:  '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 25px 0 25px 20px;
	border-color: transparent transparent transparent #f8c8c8;
	position:  absolute;
	top: -2%;
	left: 100%;
}
.quiz h3 {
	color: #333;
	font-weight: bold;
	padding-top: 6px;
}
.quiz h4 {
	color: #931d35;/* コメントCSS #ec6d71*/
	font-weight: bold;
	margin-top: 32px;
}
.quiz-answer-box{
	background-color: #fffbe6;/* コメントCSS #fff2e5*/
	padding: 0.5em 1.5em 0 ;
	margin: 24px 0;
	border-radius: 12px;
}

@media screen and (max-width: 767px) {
	.question {
		flex-direction: column;
		margin-right: 0;
	}
	.quiz h3 {
		margin-top: 10px;
	}
}



/* =====================
　特集
　===================== */
.feature {
	margin: 18px 0 30px 0;
}
.feature h1 {
	display: flex;
	align-items: center;
	margin-bottom: 18px;
	color: #FFF;
	font-size: 1.8em;
	line-height: 1.5em;
	padding: 18px;
	height: 130px;
	background: #1A3D8D url(../regular/koho-h1.png) no-repeat right top / auto 100%;
}
.feature h2 {
	color: #1A3D8D;
	background-color: #EFF3F6;/*#EFEFEF #EFF3F6*/
	padding: 12px 18px;
	margin-bottom: 24px;
	margin-top: 48px;
}
.feature h3 {
	color: #333;
	position: relative;
	padding: 0 0.9em;
	margin-bottom: 18px;
	margin-top: 24px;
}
.feature h3:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
	bottom: -7px;
	width: 7px;
	height: 100%;
	border-radius: 7px;
	background: #1A3D8D;
}
.feature h5 {
	margin: 2em 0;
}

/* h1（flex）のテキストにルビが入っているときに使う <span>で囲む*/
.h1-inner {
	display: inline-block;
}

@media screen and (max-width: 767px) {
  .feature h1 {
    height:auto;
  }
}

/* =====================
　その他
　===================== */

/* スマートフォンのときだけ改行 */
.sp_br {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp_br {
    display: block;
  }
}

.text-smaller-toiawase {
	font-size: 0.9em;
}
.text-smaller {
	font-size: 0.7em;
}
.text-smaller-little {
	font-size: 0.87em;
}
.text-bigger {
	font-size: 1.3em;
}
.text-bigger-little {
	font-size: 1.15em;
}
.text-biggest {
	font-size: 1.6em;
}
.text-kome {
	color: #7F92A4;
	font-weight: bold;
}
.text-bold {
	font-weight: bold;
}
.text-normal {
	font-weight: normal;
}
.text-center {
	text-align: center;
}
.text-left {
	display: block;
	text-align: left !important;
}
.text-right {
	text-align: right;
}
.text-brown {
	color: #984455;
}
.text-blue {
	color: #1A3D8D;
}
.text-red {
	color: #d7003a;
}
.text-bk {
	color: #333;
}
.text-white {
	color: #fff;
}
.text-green {
	color: #00533f;
}

.open-large-img {
	text-align: center;
	color: #7F92A4;
	font-weight: bold;
	font-size: 0.8em;
	margin-top: 12px;
}

.text-caption-gray {
	font-size: 93%;
	line-height: 1.5;
	font-weight: normal;
	color: #8A8A8A;
	margin-top: 9px;
}

/* 説明リストのテーブル */
.dlTable {
	margin: 24px 0;
}
.dlTable dl {
	display: flex;
  flex-wrap: wrap;
	width: 100%;
	padding: 0;
	border: 1px solid #D6D6D6;
}
.dlTable dt {
	width: 180px;
	background-color: #EFEFEF;
	display: flex;
	justify-content: center;
	align-items: center;
	border-right: 1px solid #D6D6D6;
}
.dlTable dd {
	width: calc( 100% - 180px - 16px );
}
.dlTable dt ,
.dlTable dd {
	padding: 1em;
	margin: 0;
}
.column {
	flex-direction: column;
}


@media screen and (max-width: 767px) {
	.dlTable dt {
		width: 100%;
		border-bottom: 1px solid #D6D6D6;
	}
	.dlTable dd {
		width: 100%;
	}
}



/* 児童館 */
.jidoukan-box-radius {
	border-radius: 12px;
	padding: 18px 18px 9px;
	margin: 24px 0px;
	background-color: #FBFBF0;
	border: 3px dotted #93C295;
}

.jidoukan-box-radius h3 {
	color: #136055;
}



/* 富山市表彰 */
#cards {
  display: flex;
	flex-flow: row wrap;
	/* justify-content: center; */
}

.card {
  width: 225px;
  height: 520px;
	padding: 20px;
}
#cards h3 {
	text-align: center;
}
#cards h3:before {
	content: none;
}
#cards h4 {
	text-align: center;
	margin: 12px;
}
/* 
.card:nth-child(2) {
  margin-right: 10px;
  margin-left: 10px;
} */
.card2 {
  width: 450px;
  height: 520px;
	padding: 20px 40px;
}
.picture img {
	width: 100%;
	height: auto;
	display: block;
	margin-bottom: 12px;
}
.description {
  width: 100%;
  height: 145px;
	/* padding-right: 12px;
  padding-left: 12px; */
  box-sizing: border-box;
}
.description p {
  /* font-size: 13px; */
}

@media screen and (max-width: 767px) {
	#cards {
		justify-content: center;
	}
}




/* 上付き文字　下付き文字 */
/* 上付き文字 */
sup {
	font-size: 70%;
	vertical-align: top;
	position: relative;
	top: -0.1em; /* 位置 */
}
/* 下付き文字 */
sub {
	font-size: 0.7em;
	vertical-align: bottom;
	position: relative;
	bottom: -0.1em; /* 位置 */
}

/* 上付き文字 */
sup {
	vertical-align: super; /*テキストを上付きに*/
	font-size: 0.7em;
}



/* 余白の調整 */
.margin-top24 {
	margin-top: 24px;
}
.margin-bottom24 {
	margin-bottom: 24px;
}
.margin-bottom12 {
	margin-bottom: 12px;
}
.padding-top24 {
	padding-top: 24px;
}
.padding-top48 {
	padding-top: 48px;
}
.padding-bottom24 {
	padding-bottom: 24px;
}
.padding24 {
	padding: 24px;
}
.padding12 {
	padding: 12px;
}
.padding24-0 {
	padding: 24px 0;
}
.padding0-24 {
	padding: 0 24px;
}
.padding12-0 {
	padding: 12px 0;
}
.padding0-12 {
	padding: 0 12px;
}
.padding-left24 {
	padding-left: 24px;
}
.padding-right24 {
	padding-right: 24px;
}
.margin-inherit {
	margin: inherit !important;
	padding: inherit !important;
}
.margin0 {
	margin: 0 !important;
	padding: 0 !important;
}
.no-margin {
  margin: 0 !important; /* すべての margin をリセット */
}
.align-left {
  margin: 0 !important; /* すべての margin をリセット */
  margin-right: auto !important; /* 左寄せ */
  display: block;
}


/* QRコード */
.QR-link {
	text-decoration: none;
	color: #fff;
	display: block;/* display: inline-block; */
	border-radius: 15%;
	box-shadow: 0px 2px 7px 0px #ccc;
	transition: 0.2s; /* アニメーション指定 */
	position: relative;
	top: 0;
	max-width: none;
	padding: 6px;
}

.QR-link:hover {
	top: 2px;
	box-shadow: 0px 1px 5px 0px #ccc;
}

.QR-comment {
	color: #7F92A4;
	font-weight: bold;
	text-align: right;
	font-size: 0.9em;
}

@media screen and (max-width: 767px) {
	.QR-link {
		margin: auto;
		display: block;
		margin-bottom: 24px;
		/* padding: 0; */
		margin-top: 24px;
	}
	.QR-comment {
		text-align: left;
	}
}


.box-line-dash {
	border: 1px dashed #A0A0A0;
	padding: 12px 24px;
	margin: 12px 0;
}
.box-blue {
	background-color: #F2F9FF;
	border: 2px solid #DDEFFF;
	border-radius: 12px;
	padding: 24px 24px 9px;
	margin: 24px 0px;	
}
.box-grey {
	background-color: #f0f0f0;
	border: 2px solid #d5d5d5;
	padding: 12px 24px;
	border-radius: 12px;
	margin: 12px 0;
}
.box-yellow {
	background-color: #FFFBE6;
	border: 2px solid #fff3b3;
	padding: 12px 24px;
	border-radius: 12px;
	margin: 12px 0;
}
.box-green {
	background-color: #F4F8E4;
	border: 2px solid #eff5dc;
	padding: 12px 24px;
	border-radius: 12px;
	margin: 12px 0;
}
.box-orange {
	background-color: #FFF6F0;
	border: 2px solid #FFE7D7;
	padding: 12px 24px;
	border-radius: 12px;
	margin: 12px 0;
}
.box-red {
	background-color: #FEF0F0;
	border: 2px solid #FAC4C4;
	padding: 12px 24px;
	border-radius: 12px;
	margin: 12px 0;
}
.box-pink {
	background-color: #FFF7FA;
	border: 2px solid #FFEAF2;
	padding: 12px 24px;
	border-radius: 12px;
	margin: 12px 0;
}
.box-white {
	background-color: #FFFFFF;
	padding: 12px 24px;
	border-radius: 12px;
	margin: 12px 0;
}

.box-line {
	background-color: #ffffff;
	border: 2px solid #e6e6e6;
	border-radius: 12px;
	padding: 12px 24px;
	margin: 12px 0;
}
.box-line-brown {
	background-color: #ffffff;
	border: 2px solid #984455;
	border-radius: 12px;
	padding: 12px 24px;
	margin: 12px 0;
}
.box-line-dash h2,.box-blue h2,.box-grey h2,.box-yellow h2,.box-line h2,.box-line-brown h2,.box-green h2,.box-pink h2,.box-red h2,.box-orange h2 {
	margin-top: 24px;
}

.box-line-dash h3,.box-blue h3,.box-grey h3,.box-yellow h3,.box-line h3,.box-line-brown h3,.box-green h3,.box-pink h3,.box-red h3,.box-orange h3 {
	color: #333;
	padding-top: 12px;
	padding-left: 0;
	margin-top: 6px;
}
.box-line-dash h3:before {
	content: none;
}
.box-blue h3:before {
	content: none;
}
.box-grey h3:before {
	content: none;
}
.box-yellow h3:before {
	content: none;
}
.box-line h3:before {
	content: none;
} 
.box-line-brown h3:before {
	content: none;
}
.box-green h3:before {
	content: none;
}
.box-pink h3:before {
	content: none;
}
.box-red h3:before {
	content: none;
}
.box-orange h3:before {
	content: none;
}

/* .oshirase box内h3 */
.oshirase .box-line-dash h3 {
	padding-left: 1em;
}
.oshirase .box-blue h3 {
	padding-left: 1em;
}
.oshirase .box-grey h3 {
	padding-left: 1em;
}
.oshirase .box-yellow h3 {
	padding-left: 1em;
}
.oshirase .box-line h3 {
	padding-left: 1em;
} 
.oshirase .box-line-brown h3 {
	padding-left: 1em;
}
.oshirase .box-green h3 {
	padding-left: 1em;
}
.oshirase .box-pink h3 {
	padding-left: 1em;
}
.oshirase .box-red h3 {
	padding-left: 1em;
}
.oshirase .box-orange h3 {
	padding-left: 1em;
}


.box-line-dash h4,.box-blue h4,.box-grey h4,.box-yellow h4,.box-line h4,.box-line-brown h4,.box-green h4 {
	color: #1A3D8D;
}

.box-line-dash p,.box-blue p,.box-grey p,.box-yellow p,.box-line p,.box-line-brown p,.box-green p {
	padding: 0;
}

.box-inner-standard {
}
.box-inner-standard h3 {
	color: #333;
	position: relative;
	padding: 0 0.9em;
	margin-bottom: 18px;
	margin-top: 18px;
}
.box-inner-standard h3:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
	bottom: -7px;
	width: 7px;
	height: 100%;
	border-radius: 7px;
	background: #1A3D8D;
}

.box-inner-standard-oshirase h3 {
	color: #333;
	font-weight: bold;
	font-size: 1.2em;
	line-height: 1.5;
	margin-top: 24px;
	margin-bottom: 12px;
	text-indent: -1em;
	padding-left: 1em;
}
.box-inner-standard-oshirase h3:before {
	content: '●';
	color: #1A3D8D;
	margin-right: 2px;
	opacity: 0.5;
}

.box-half {
	width: 50%;
}

.box-one_third {
	width: 35%;
}

@media screen and (max-width: 767px) {
	.box-half {
		width: 100%;
	}
	.box-one_third {
		width: 100%;
	}
}



.bar-blue {
	background-color: #1A3D8D;
	color: #ffffff;
	padding: 4px 6px;
}
.bar-grey {
	background-color: #EFEFEF;
	color: #333;
	padding: 4px 6px;
}
.bar-grey-w {
	background-color: #939393;
	color: #FFFFFF;
	padding: 4px 6px;
}
.bar-white {
	background-color: #ffffff;
	padding: 4px 6px;
}
.bar-white-featureH1 {
	background-color: #ffffff;
	color: #1A3D8D;
	font-size: 0.7em;
	padding: 4px 6px;
}
.bar-yellow {
	background-color: #FFFBE6;
	color: #333;
	padding: 4px 6px;
}
.bar-pink {
	background-color: #FFE6EA;
	color: #333;
	padding: 4px 6px;
}

.back-yellow {
	background-color: #fff79a;
}
.back-pink {
	background-color: #FCEDF3;
}
.back-red {
	background-color: #d7003a;
}
.back-brown {
	background-color: #984455;
}

hr {
	border: dashed 1px #c6c6c6;
}

.underline-wavy {
	text-decoration: underline wavy;
	text-underline-offset: 5px;
}

.underline-wavy-red {
	text-decoration: underline wavy #d7003a;
	text-underline-offset: 5px;
}

.underline-highlighter {
	background-image: linear-gradient(120deg, #fcf7a7 0%, #fcf7a7 100%);
	background-repeat: no-repeat;
	background-size: 100% 0.8em; /* ← 太めにする */
	background-position: 0 0.8em; /* ← 下めにラインを移動 */
	padding-bottom: 0.2em; /* 少し余白 */
}

.arrow-down {
	display: inline-block;
	position: relative;
	width: 20px; /* 縦棒の幅 */
	height: 30px; /* 縦棒の高さ */
	background-color: #1A3D8D; /* 縦棒の色 */
}

.arrow-down::after {
	content: '';
	position: absolute;
	left: 50%;
	bottom: -10px; /* 縦棒の下に三角形を配置 */
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-left: 20px solid transparent;
	border-right: 20px solid transparent;
	border-top: 20px solid #1A3D8D; /* 三角形の色 */
}

.arrow-right {
	display: inline-block;
	position: relative;
	width: 24px; /* 横棒の長さ */
	height: 12px; /* 横棒の太さ */
	background-color: #1A3D8D; /* 横棒の色 */
	vertical-align: middle; /* 文字と矢印を揃える */
	margin: 0 18px; /* 左右の余白 */
}

.arrow-right::after {
	content: '';
	position: absolute;
	top: 50%;
	right: -8px; /* 横棒の右端に三角形を配置 */
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-top: 15px solid transparent;
	border-bottom: 15px solid transparent;
	border-left: 15px solid #1A3D8D; /* 三角形の色 */
}

/* テキスト先頭に置く小さなアイコン専用のimgクラス */
.img-icon {
  display: inline;
  margin: 0 9px 0 0; /* テキストとの間に余白 */
  vertical-align: middle;
}

.fukidashi {
  position: relative;
  padding: 0.6em;
  background: -webkit-repeating-linear-gradient(-45deg, #f0f8ff, #f0f8ff 3px,#e9f4ff 3px, #e9f4ff 7px);
  background: repeating-linear-gradient(-45deg, #f0f8ff, #f0f8ff 3px,#e9f4ff 3px, #e9f4ff 7px);
  border-radius: 7px;
}

.fukidashi:after {
  position: absolute;
  content: '';
  top: 100%;
  left: 30px;
  border: 15px solid transparent;
  border-top: 15px solid #f0f8ff;
  width: 0;
  height: 0;
}

/* 特例のbackground-image イメージは都度変更 */
.bg-exception {
  width: 900px;
  height: auto;/* auto＝内容により変わる　変倍注意 */
  display: flex;
  align-items: center;
  justify-content: center;
  background-image: linear-gradient(rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.2)),/* 白の半透明 */
                    url('../images/01-01bg.png');
  background-size: cover;
  background-position: center;
	padding: 2rem;
}
.bg-exception .text-box {
	background-color: rgba(255, 255, 255, 0.7); /* 白＋70%の不透明度 */
  padding: 20px 30px;
  border-radius: 10px;
	position: relative;
	z-index: 2;
	color: #333;
}
.bg-exception .text-box h3 {
	margin: 0 0 10px;
}
.bg-exception .text-box p {
	margin: 5px 0;
	color: black;
}

@media screen and (max-width: 767px) {
	.bg-exception {
		width: 100%;
		height: auto;
		padding: 10px 10px;
	}
	.bg-exception .text-box {
		padding: 15px 15px;
	}
}

@media screen and (max-width: 900px) {
  .bg-exception {
    width: 100%;
    height: auto;
		padding: 10px 10px;
  }
}

/* チェックボックスのリスト */
ul.check-list {
	list-style: none;     /* デフォルトの黒丸を消す */
	margin: 0;
	padding: 0;
}

ul.check-list li {
	position: relative;
	padding-left: 1.5em;  /* 正方形の分だけスペースを確保（これが重要） */
	margin-bottom: 0.5em;
	list-style: none;     /* デフォルトの黒丸を消す */
	margin-left: 0;
}

ul.check-list li::before {
	content: "";
  position: absolute;
  left: 0;
  top: 0.3em;           /* 縦位置の微調整 */
  width: 1em;
  height: 1em;
  background-color: white;
  border: 1px solid #333;
  box-sizing: border-box;
}
