@charset "utf-8";

body {
	/* フォントレンダリング設定: 1x解像度ではsubpixel、2x以上の解像度ではgrayscale */
	-webkit-font-smoothing: subpixel-antialiased;
	-moz-osx-font-smoothing: unset;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
	body {
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}
}
.fa-3x{font-size:2.5em}
h1 { font-size: 1.8rem;}
h2 { font-size: 1.6rem;}
h3 { font-size: 1.4rem;}
h4 { font-size: 1.2rem;}
h5 { font-size: 1.0rem; font-weight: normal;}
h2, h3, h4, dt, strong, em {		/* -------- h1 は対応しない！ */
	font-weight: bold;
}
h1, h2, h3 {		/* -------- h4 は対応しない！ */
	font-family: 'M PLUS Rounded 1c', sans-serif;
}
a {
	text-decoration: none;
	color: #33f;
	color: #039;
}
a:link, a:visited, a:active, a:focus {
	text-decoration: none;
}
td a:hover, div a:hover, p a:hover, li a:hover, dd a:hover {
	opacity: .5;
}
.form-control::placeholder {
	color: #0c3;
}
.text-white-shadow {
	text-shadow:
		1px 0 0 #fff, 0 1px 0 #fff, -1px 0 0 #fff, 0 -1px 0 #fff,
		1px 1px 2px rgba(255,255,255,0.8), -1px -1px 2px rgba(255,255,255,0.8);
}
.warning { color: red; }
.btn-block { margin-top: 2.4em;}
p,
section ul {
	padding-bottom: 0.75em;
}
p strong,
dd strong,
li strong,
td strong {
	color: #000;
	}
section {
	margin-bottom: 30px;
}
article,
aside {
	margin-bottom: 20px;
}
section:after {
	content: "";
	display: block;
	clear: both;
}
section h2 + article {
	margin-top: 20px;
}
article p:last-child,
section p:last-child,
aside p:last-child {
	padding-bottom: 0;
}
dl dt {
	color: #000;
}
dl dd {
	padding-left: 2.0em;
	margin-bottom: 0.6em;
}
dl.dl_press {
	line-height: 1.2em;
}
h2 + p, h3 + p, h4 + p {
	margin-top: 0.25em;
}
section > h2, article > h2,
section > h3, article > h3,
.force_under_bar {
	color: #333399;
	color: #063;
	background: linear-gradient(transparent 60%, #ffff66 60%);
	display: inline;
}
section > h2 + p,
section > h3 + p {
	margin-top: 0.4em;
}
.h_strong {
	color: #000;
	background: linear-gradient(transparent 60%, #ccffcc 60%);
}
.strong_name {
	font-weight: bold;
	margin-left: .5em;
	margin-right: .5em;
}
.warning_area {
	color: red;
	text-align: center;
	font-weight: bold;
	min-height: 1.4em;
}
.hidden-xs-sp { display: none;}
@media (min-width: 768px) { .hidden-xs-sp { display: inline;} }
/* ------------------
------------------ */
body {
	background-color: #5F9292;
	color: #333;
}
.body_contents {
	background-color: #fff;
	color: #000;
	overflow: hidden;
}
.body_contents .frow-container {
	margin-top: 40px;
	padding-bottom: 10px;
}
header + .body_contents .frow-container,
.body_contents .frow-container + .frow-container,
.body_contents.body_cont_spectal .frow-container {
	margin-top: 0;
}
.body_contents.body_cont_spectal {
	background-color: #ffffcc;
}

/* ------------------
------------------ */
header {
	padding: 1.0em 0;
	background-color: #ddffcc;	
}
header .frow-container {
	padding-bottom: 0;
}
header nav div {
	text-align: center;
	margin-bottom: 10px;
}
@media (min-width: 768px) {
	header nav div:first-child { float: left;}
	header nav div:last-child { float: right;}
}
header nav div span > * { display: inline-block; vertical-align: middle;}
header nav div span+span { margin-left: 10px;}
@media (min-width: 992px) {
	header nav div span+span { margin-left: 18px;}
}
header span.nav_title,
header span.cur_p a {
	color: #c30;
	}
.head_contents .ope_btnctl .is_current {		/* ------------- 追記 2025-04-12 */
	background-color: #c30;
}
header span a {
	color: #2288ee;					/* --------------- 3399ff ボタンの色より少し暗い */
}

.head_contents {
	background-color: #ffffcc;
	padding: 20px 0;
}
.head_contents + .body_contents .frow-container {
	margin-top: 0;
}
.person_inf {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
}
.person_infbtn {
	display: inline-block;
	width: 3em;
	text-align: left;
}
.person_infbtn > span {
	display: inline-block;
	color: #039;
	cursor: pointer;
}
.person_infbtn > span a { color: #039;}
.person_infbtn > span:not( [class] ) {
	color: #aaa;
	cursor: default;
}
.person_infbtn > span:hover { opacity: .5;}
.person_infbtn > span:last-child { margin-top: 30px;}
.person_inftxt {
	display: inline-block;
	margin-left: 20px;
	color: black;
	max-width: calc( 100% - 3em - 24px );	/* 20px ではテキスト改行分でズレが発生 */
}
.person_inftxt p {padding-bottom: 0;}

.fa-stack {
  position: relative;
  display: inline-block;
  /*
  width: 2em;
  height: 2em;
  line-height: 2em;
  */
  vertical-align: middle;
}
.fa-stack-sub {
	position : absolute;
	top: 0.5rem;
	left: 0.57rem;
	font-size: 1.3rem;
}
.fa-stack-sub2 {
	position : absolute;
	top: 0.5rem;
	left: 0.57rem;
	font-size: 0.9rem;
}
.span_telno, .span_madrs { display: inline-block; min-width: 10rem; margin-right: 1rem;}

/* 過去対象者ポップアップ */
#psel_popbox {
	display: none;
	width: 300px;
	z-index: 9999;
	position: absolute;
	top: -30px;
	left: 0;
	background-color: #fff;
	border: 1px solid #999;
}
.psel_poplin, .psel_close {
	display: block;
	width: 100%;
	padding: .25em .5em;
	font-weight: bold;
	font-size: 1.2em;
	cursor: pointer;
}
.psel_close { text-align: center; font-size: 1.0em; font-weight: normal;}
.psel_poplin + .psel_poplin, .psel_close { border-top: 1px solid #999;}
.psel_poplin:hover, .psel_close:hover { background-color: yellow;}

/* ------------------
------------------ */
footer {
	padding: 20px 0 10px 0;
	color: #e3e3e3;
	text-align: center;
}
footer .areaQrCode {
	display: none;
}
address {
	font-style: normal;
	margin-bottom: 0.6em;
	padding-top: 35px;
}
.footer_CopyRight {
	padding: 10px 0;
}
.footer_CopyRight a {
	color: white;
}
@media (min-width: 768px) {
	footer { text-align: left;}
	footer .areaQrCode {
		display: block;
		float: right;
	}
	footer .areaQrCode img {
		border-radius: 4px;
	}
	address {
		padding-top: 0;
		padding-left: 50px;
	}
	.footer_CopyRight img { vertical-align: middle;}
}

#GoTop {
	position: fixed;
	right: 20px;
	bottom: 20px;
	width: 80px;
	height: 80px;
	line-height: 84px;
	text-align: center;
	border-radius: 40px;
	background-color: rgba(102,102,102,0.5);
	color: #fff;
	transition: .3s;
}
#GoTop:hover {
	background-color: #44aeea;
}

/* --------------
個人情報
-------------- */
.person_data, .person_dat0 {
	margin-top: .5em;
}
@media (min-width: 768px) {
	.person_data, .person_dat0 { margin-left: 60px;}
	.dsp_onof .person_data { margin-left: 44px }
}
.person_data::after {
	content: "";
	display: block;
	clear: both;
}
.person_data div:first-child {
	float: left;
	width: 3em;
	height: 3.5em;
	line-height: 3.5em;
}
.person_data a { color: #039;}
.person_shimei { color: #000; font-weight: bold;}
.person_data .person_shimei::after,
.person_search .person_shimei::after {
	content: "\A";
	white-space: pre;
}
.person_data_tag {
	position: absolute;
	top: 0px;
	right: 0;
	line-height: 1.2em;
	text-align: center;
	border: 1px solid #06c;
	border-radius: .5em;
	color: #06c;
	color: #063;
	border-color: #063;
	padding: .2em .4em;
	font-weight: bold;
	background: rgba(255,255,255,0.75);
	/* transform: rotate(10deg); */
}
@media (min-width: 768px) {
	.person_data_tag {
		right: 10%;
	}
}
/* --------------
操作メニュー
-------------- */
.domenu_list {
	list-style-type: none;
	padding-left: 0;
	margin-top: 20px;
	margin-bottom: 30px;
}
.domenu_list li {
	display: block;
	border: solid 1px #97C0C0;
	border-bottom-width: 0;
	font-weight: bold;
	color: gray;
	position: relative;
	z-index: 1;
}
.domenu_list li:last-child {
	border-bottom-width: 1px;
}
.domenu_list li:before {
	position: absolute;
	top: 50%;
	right: 1em;
	transform: translate(-50%, -50%);
	content: "\f054";
	color: blue;
	font-size: 12px;
	font-family: FontAwesome;
	z-index: -1;
}
.domenu_list li a,
.domenu_list li span.clickable {
	color: #333399;
	transition: 0s;
}
.domenu_list li span.disclick {
	color: #999999;
	font-weight: normal;
}
.domenu_list li.kugiri {
	height: 30px;
	border-width: 1px 0 0 0;
}
.domenu_list li.kugiri:before {
	content: none;
}
.domenu_list li a,
.domenu_list li span {
	display: block;
	width: 100%;
	padding: .8em 1.4em .8em .8em;
}
.domenu_list li a:hover,
.domenu_list li span.clickable:hover {
	background-color: #E7F7F7;
	cursor: pointer;
}
/* --------------
テーブルメニュー
-------------- */
.table_menu {
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
	border-bottom: solid 1px #97C0C0;
}
.table_menu th {
	line-height: 1.2em;
}
.table_menu td {
	border: solid 1px #97C0C0;
	border-bottom-width: 0;
	padding: .8em;
}
@media (max-width:399px) {	/* 旧スマホ */
	.table_menu td { padding: .6em .3em; }
}
.tr_clickable,
.td_clickable {
	cursor: pointer;
}
.tr_clickable:hover,
.td_clickable:hover {
	box-shadow: 0 0 0 6px #ffff00 inset;
}
.bg_color_white { background-color: #eeeeee; }
.bg_color_red { background-color: #ff6600; color: white}
.bg_color_blue { background-color: #33aaff; color: white}
.bg_color_yellow { background-color: #00aa66; color: white}
.bg_color_gray { background-color: #e8e8e8; color: black}
.bg_color_pink { background-color: #fff9dd; color: black}
.mcolor_bokashi { color: #999; }
.mcolor_red { color: #f00; }
.mcolor_blue { color: #00f; }

.table_menu th br { display: none;}
.td_assyuku {
	line-height: 1em;
	padding: 0;
	font-size: 80%;
}
@media (min-width: 768px) {
	.table_menu th br { display: inline;}
	.table_menu .td_assyuku { font-size: 95%; }
}
/* --------------
項目入力（フォーム）
-------------- */
input[type="checkbox"] {
	/* transform-origin: center center; */
	transform: scale( 2.2 );
	vertical-align: middle;
	margin: 0 20px .2em 6px;
	border-width: 1px;
}
.input_chktxt_box {
	margin-bottom: 0.8em;
}
.input_chktxt_box input[type="checkbox"] {
	margin-right: 0;
}
/* ------------------
確認用リストボックス
------------------ */
.list_box {
	display: flex;
	flex-flow: row nowrap;
}
.list_box h3 {
	width: 15%;
	width: 4em;
	color: #5F9292;
}
.list_box_inn {
	width: 85%;
	width: calc( 100% - 4em);
}
.list_box_item,
.list_box_item2 {
	display: inline-block;
	margin-right: 1em;
	min-width: 12em;
	color: #333;
	font-weight: bold;
	line-height: 1.2em;
	margin-bottom: 10px;
}
.list_box_item2 {
	display: block;
	margin-right: 0;
}
/* ------------------
アイコン横並び
------------------ */
.icon_horizons {
	margin-bottom: 30px;
}
.icon_horizons > div {
	width: 120px;
	padding-left: 15px;
	padding-right: 15px;
	text-align: center;
}
.icon_hor_child {
	background-color: #CEEEEE;
	color: black;
	margin-bottom: 20px;
	border: 3px solid #9BB3B3;
	padding: 10px 0 5px 0;
	border-radius: 10px;
	cursor: pointer;
}
.icon_hor_child.is_ipan {
	background-color: #ccffcc;
}
.icon_hor_child.is_juyo {
	background-color: #ffff99;
}
.icon_hor_child.is_nini {
	background-color: #369;
	color: white;
}
.icon_hor_child.is_nodata {
	background-color: #fff;
	color: black;
}
.icon_hor_child.is_current,
.icon_hor_child:hover {
	border-color: red;
}
.icon_hor_child span {
	display: none;
}
@media (min-width: 768px) {
	.icon_horizons > div { width: 180px;}
	.icon_hor_child span { display: inline;}
}


/* ------------------
開閉記事
------------------ */
.dsp_onof, .dsp_onof_dummy {
	border: 1px solid #ccc;
	border-radius: 6px;
	padding: 10px;
	margin-bottom: 40px;
}
.dsp_onof_dummy h3 {
	color: #33f;
}
.dsp_onof_control {
	cursor: pointer;
	color: #33f;
	color: #039;
	transition: .3s;
	position: relative;
}
.dsp_onof_control::after {
	position: absolute;
	top: 0;
	right: 0.1em;
	font-family: 'FontAwesome';
	content: "\f196";
}
.dsp_onof_control.is_open::after {
	position: absolute;
	top: 0;
	right: 0.1em;
	font-family: 'FontAwesome';
	content: "\f147";
}
.dsp_onof_control:hover {
	color: #f63;
}
.dsp_onof_body {
	display: none;
	margin-top: 20px;
}
.is_open + .dsp_onof_body {
	display: block;
}
/* ------------------
操作ボタン
------------------ */
.ope_button {
	display: inline-block;
	text-align: center;
	width: 80px;
	height: 80px;
	color: white;
	background-color: #aaa;
	border-radius: 40px;
	line-height: 80px;
	margin: 0;
	cursor: pointer;
	border: 0;
	font-weight: normal;
}
.ope_button.ope_small {
	height: 40px;
	line-height: 40px;
	border-radius: 20px;
}
a.ope_button {
	color: white;
	transition: 0s;
}
.ope_button.is_2w {
	line-height: 25px;
	padding: 15px 0;
}
@media (max-width:399px) {	/* 旧スマホ */
	.ope_button {
		width: 60px;
		height: 60px;
		color: white;
		border-radius: 30px;
		line-height: 60px;
	}
	.ope_button.is_2w {
		line-height: 20px;
		padding: 10px 0;
	}
}

.ope_button.is_unclick,
.ope_button.is_current {
	cursor: default;
}
.ope_button.is_unclick {background-color: #aaaaaa; color: white;}
/* .ope_button.is_current {background-color: #ff0066; color: white;} */
.ope_button.is_current {background-color: #0D2640; color: white; font-weight: bold;}
.ope_button.is_ok {		background-color: #3399ff; color: white;}
.ope_button.is_define {	background-color: #ff0033; color: white;}
.ope_button.is_cancel {	background-color: #993300; color: white;}
.ope_button.is_back {	background-color: #5F9292; color: white;}
.ope_button.is_print {	background-color: #6666cc; color: white;}
.ope_button.is_ok:hover,
.ope_button.is_define:hover,
.ope_button.is_cancel:hover,
.ope_button.is_back:hover,
.ope_button.is_print:hover { opacity: 50%;}

.ope_btnctl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	}
.ope_btnctl > * {
	max-width: 100%;
}
.ope_btnctl > div { text-align: center; }
.ope_btnctl.ctl_margin { margin-top: 30px; margin-bottom: 30px;}

.ope_btnctl.ope_btnRight,						/* 右に１列のボタン配置 */
.ope_btnctl.ope_btnRight2,						/* 右に２つのボタン配置 */
.ope_btnctl.ope_btnLeft,						/* 左に１列のボタン配置 */
.ope_btnctl.ope_btnFlat {						/* 横幅全体に３つ配置 */
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
		-ms-flex-direction: row;
			flex-direction: row;
	-webkit-box-align: start;
		-ms-flex-align: start;
			align-items: flex-start;
	-webkit-box-pack: start;
		-ms-flex-pack: start;
			justify-content: flex-start;
}
.ope_btnctl.ope_btnRight > *:first-child { text-align: left; width: calc( 100% - 80px ); padding-right: 20px;}
.ope_btnctl.ope_btnRight > *:last-child { width: 80px;}
.ope_btnctl.ope_btnRight > *:last-child .ope_button+.ope_button { margin-top: 15px;}

.ope_btnctl.ope_btnRight2 > *:first-child { text-align: left; width: calc( 100% - 180px ); padding-right: 20px;}
.ope_btnctl.ope_btnRight2 > *:nth-child(2) { width: 100px; padding-right: 20px}

.ope_btnctl.ope_btnLeft > *:first-child { width: 80px;}
.ope_btnctl.ope_btnLeft > *:last-child { text-align: left; width: calc( 100% - 80px ); padding-left: 20px;}
.ope_btnctl.ope_btnLeft > *:last-child .ope_button+.ope_button { margin-top: 15px;}

.ope_btnctl.ope_btnFlat > * { width: calc( 100% - 160px );}
.ope_btnctl.ope_btnFlat > *:first-child,
.ope_btnctl.ope_btnFlat > *:last-child { width: 80px;}
.ope_btnctl.ope_btnFlat > *:nth-child(2) { text-align: center; padding:0 20px;}

.ope_btnctl.ope_btnCenter .ope_button { margin: 0 20px;}

.ope_btnctl.ope_btnMulti > * { margin: 10px 10px;}

.ope_btnctl button {
	background: inherit;
	border: none;
}

/* --------------
ヘルプテキスト
-------------- */
.nav_board {
	border: 1px solid #cccc33;
	border-radius: 6px;
	background-color: #ffffee;
	padding-bottom: .4em;
}
.nav_board.is_center {
	margin-left: auto;
	margin-right: auto;
}
.nav_board.is_right {
	float: right;
}
.nav_board h4 {
	font-size: 1em;
	padding: 8px 0;
	text-align: center;
	border-radius: 6px 6px 0 0;
	border-bottom: 1px solid #cccc33;
	background-color: #ffffbb;
	color: black;
}
.nav_board p {
	margin-left: .6em;
	margin-right: .4em;
	color: black;
	text-align: left;
}
.nav_board p:last-child {
	padding-bottom: 0;
}
@media (min-width: 768px) {		.nav_board { width: 80%;}}
@media (min-width: 992px) {		.nav_board { width: 75%;}}
@media (min-width: 1200px) {	.nav_board { width: 70%;}}

/* -----------------
 モーダルウインドゥ
 ----------------- */
#modal-content {
	display: none;
	width: 85%;
	max-width: 1100px;
	max-height: 85%;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	overflow-x: hidden;
	position: fixed;
	top: 60px;
	left: calc( ( 100% - width ) / 2 );
	padding: 25px 16px 25px 25px;
	border-radius: 6px;
	background: #fffff0;
	color: black;
	z-index: 3;
}
#modal-overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 120%;
	background-color: rgba(0,0,0, 0.5);
	z-index: 2;
}



