@charset "UTF-8";

/*************************/
/* 保護者サイトcss          */
/*************************/

/********** ↓共通↓ **********/
html {
	overflow-y: scroll;
}

*, body {
	font-family: -apple-system, "メイリオ", monospace !important;
	margin: 0px;
}
body {
	background-color: #f7f6f5;
}

input, select, textarea {
	font-size: 16px;
	padding: 5px;
	border: solid 1px #ccc;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	background: -webkit-gradient(linear, 0 0, 0 100%, from(#fff), to(#fff));
}

input, select {
	height: 45px;
}

select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding-right: 26px;
	background: url('../img/down_icon.svg') no-repeat, -webkit-gradient(linear, 0 0, 0 100%, from(#fff), to(#fff));
	background: #fff url('../img/down_icon.svg') no-repeat;
	background-size: 10px 10px !important;
	background-position:  right 10px center !important;
}

select::-ms-expand {
  display: none;
}

/* テキスト入力時のIMEの状態 */
.ime_disabled {
	/* 変更不可：英数字 */
	ime-mode: disabled;
}

.date_input, .date_disp {
	vertical-align: middle;
	border: none;
	background: none;
	background-color: transparent;
	color: #4abaae;
	font-weight: bold;
	font-size: 18px;
	padding: 0;
}

input, textarea {
	box-sizing: border-box;
}

.mark_val {
	text-align: center;
}

.right_val {
	text-align: right;
}

.wide_form {
	width: 100%;
	margin-bottom: 3px;
}

.menu_box {
	display: flex;
	flex-flow: row wrap;
	align-items: center;
}

.menu_box > div {
	width: calc(100% / 3);
	height: calc(100vw / 3);
	box-sizing: border-box;
	border-right: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	display: flex;
	flex-flow: column nowrap;
	align-items: center;
	justify-content: center;
	background-color: #fff;
	position: relative;
}

.menu_box > div.menu_notify {
	background-color: #ff000021;
}

.menu_title {
	font-size:12px;
	padding-top:12px;
}

*::-ms-backdrop, .menu_box > div {
  width: 33.33%; /* IE11 */
}

@media (min-width:786px) {
	.menu_box > div {
		height: 200px;
	}
}

.menu_box div:hover {
	background-color: #e6f1f4;
	cursor: pointer;
}

.menu_icon {
	height: 45px;
}

.disp_new {
	position: absolute;
	top: 10%;
	right: 10%;
	color: #fff;
	font-size: 0.8em;
	background-color: #ff0000;
	padding: 0.3em;
	height: 1em;
	border-radius: 0.8em;
	font-weight: bold;
	line-height: 1em;
}

.mikaitou {
	font-size: 12px;
	font-weight: bold;
	color: red;
}

.disp_new_list {
	margin-left: 10px;
	color: #fff;
	font-size: 0.8em;
	background-color: #ff0000;
	padding: 0.3em;
	height: 1em;
	border-radius: 0.8em;
	font-weight: bold;
	line-height: 1em;
}

.yajirushi_icon {
	height: 16px;
	width: 16px;
	float: right;
	margin-top: 14px;
	margin-right: 10px;
}

.selected_child {
	cursor: pointer;
	padding: 5px 45px 5px 50px;
	border-bottom: 1px solid #dbdbdb;
	font-size: 20px;
	height: 45px;
	line-height: 45px;
	background: #fff url('../img/person_silver.svg') no-repeat;
	background-position: bottom 16px left 15px;
	background-size: 26px 26px;
	position: relative;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
}

.selected_school {
	cursor: pointer;
	padding: 5px 45px 5px 50px;
	border-bottom: 1px solid #dbdbdb;
	font-size: 20px;
	height: 45px;
	line-height: 45px;
	background: #fff url('../img/school_silver.svg') no-repeat;
	background-position: bottom 16px left 15px;
	background-size: 26px 26px;
	position: relative;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
}

.selected_child::after,
.selected_school::after {
	content: '';
	right: 18px;
	bottom: 20px;
	height: 16px;
	width: 16px;
	background: url('../img/up_icon.svg') no-repeat;
	background-position: center center;
	background-size: 16px 16px;
	position: absolute;
}

.selected_child.close::after,
.selected_school.close::after {
	bottom: 16px;
	background: url('../img/down_icon.svg') no-repeat;
}

.selected_child.one,
.selected_school.one {
	cursor: default;
}

.selected_child.one::after,
.selected_school.one::after {
	background: none;
}

.child_touch,
.school_touch {
	color: #fff;
	text-align: left;
	height: 45px;
	line-height: 45px;
	padding-left: 40px;
	padding-top: 2px;
	background-color: #9e9e9e;
	cursor: pointer;
	border-bottom: 1px solid #f1f1f1;
	font-size: 20px;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
}

.child_touch:hover,
.school_touch:hover {
	background-color: #cccccc;
}

.child_touch.selected
.school_touch.selected {
	display: none;
}

.house_icon {
	height: 16px;
	width: 16px;
	margin-left: 5px;
}

.date_select_area {
	text-align: center;
	background-color: #fff;
	margin-bottom: 5px;
}

.sukima_top {
	margin-top: 10px;
}

#busyTable img {
	margin: 20px;
}

.message {
	display: none;
}

input.ymd_width {
	width: 143px;
}

input.ym_width {
	width: 100px;
}

/********** ↑共通↑ **********/

/********** ↓ヘッダ↓ **********/
#topHeader {
	background-color: #4abaae;
	width: 100%;
	color: white;
	height: 180px;
}

#header {
	background-color: #4abaae;
	width: 100%;
	color: white;
	height: 50px;
	line-height: 50px;
	text-align: center;
}

#topHeader div:first-child {
	font-size: 24px;
	text-align: left;
	float: left;
}

#header div:first-child {
	font-size: 24px;
}

#topHeader .header_logout {
	background-color: #808080;
	border-radius: 4px;
	font-size: 12px;
	float: right;
	color: white;
	margin-top: 20px;
	margin-right: 15px;
	padding: 5px;
	cursor: pointer;
}

#header div:not(:first-child):not(:nth-child(2)),
#topHeader div:not(:first-child):not(:nth-child(2)) {
	text-align: center;
}

#header span,
#topHeader span {
	margin-left: 5px;
}

.header_schoolName {
	padding-left: 20px;
}

/* 小画面用（スマホ） */
@media screen and (max-width:619px) {
	.header_schoolName_ellipsis {
		text-overflow: ellipsis;
		overflow: hidden;
		white-space: nowrap;
		width: 55%;
	}
}

/* 大画面用（タブレット・PC） */
@media screen and (min-width:620px) {
	.header_schoolName_ellipsis {
		text-overflow: ellipsis;
		overflow: hidden;
		white-space: nowrap;
		width: 75%;
	}
}

.header_icon {
	width: 30px;
	height: 30px;
	vertical-align: -3px;
}

.back_icon {
	float: left;
	height: 30px;
	width: 30px;
	padding: 10px;
	vertical-align: -3px;
}

.home_icon, .faq_icon {
	float: right;
	height: 30px;
	width: 30px;
	padding: 10px;
	vertical-align: -3px;
}

.menu_button {
	background-color: #808080;
	border-radius: 4px;
	font-size: 12px;
	float: right;
	color: white;
	height: 30px;
	margin-top: 10px;
	margin-right: 10px;
	padding: 5px;
	cursor: pointer;
}

.header_ymd {
	font-size: 20px;
}

.header_name {
	font-size: 24px;
}

.header_san {
	font-size: 16px;
	color: white
}

#back_button_header, #menuButton, .faq_icon {
	cursor: pointer;
}

/********** ↑ヘッダ↑ **********/

/********** ↓ログイン画面↓ ***************/
.login_error_msg {
	padding: 8px;
	color: red;
}

.easy_msg {
	color: #4abaae;
}

.strict_msg { /* easy_msgより下 */
	color: red;
}

.renraku_msg {
	text-align: center;
	color: #223a70;
	font-weight: bold;
}

.version_no {
	position: fixed;
	bottom: 10px;
	right: 10px;
}

a.password_link:hover {
	color: #ffa400;
}

a.password_link:visited {
	color: #9720c9;
}

/********** ↑ログイン画面↑ ***************/

.obi {
	background-color: #4abaae;
	text-align: center;
	font-size: 20px;
	height: 45px;
	line-height: 45px;
}

.oshirase_child {
	background-color: white;
	text-align: left;
	padding: 5px 5px 5px 10px ;
	border-bottom: 2px solid #dbdbdb;
	font-weight: bold;
}

#dateInput {
	cursor: pointer;
}
.brand {
	text-align: center;
	margin-top:15px;
	margin-bottom:10px;
}

.login_content {
	width: 90vw;
	text-align: center;
	margin: auto;
}

.login_input dd {
	margin-left: 0;
}

.login_button, .save_button {
	height: 44px;
	line-height: 44px;
	background-color: #5ea6d1;
	color: white;
	padding: 5px 5px 5px 5px;
	cursor: pointer;
	text-align: center;
	font-size: 18px;
	font-weight: normal;
	margin: 20px;
}

.login_button:hover {
	opacity: 0.8;
}

.info_disp_area {
	margin: 0 0 20px 0;
}

.info_disp_area > div {
	margin: auto;
	width:80vw;
}

.back_button {
	height: 30px;
	line-height: 30px;
	background-color: gray;
	color: white;
	padding: 5px;
	cursor: pointer;
	text-align: center;
	font-size: 18px;
	font-weight: normal;
	margin: 20px;
	margin-bottom: 50px;
}

#qrScanButtonArea {
	height: 70px;
	padding-top: 5px;
	background-color: #4abaae;
}

#qrScanButton {
	height: 50px;
}

#topHeader.top_header_qr {
	height: 160px;
}

.menu_list {
	width: 100%;
	margin-top: 30px;
}

.oshirase_list > div,
.menu_list > div {
	font-size: 18px;
}

.menu_list div dd {
	margin: 0;
}

.menu_list_item {
	background-color: #fbb03b;
	height: 44px;
	line-height: 44px;
	color: white;
	padding: 5px 5px 5px 15px;
	cursor: pointer;
	text-align: left;
	border-bottom: 1px solid white;
}

.renraku {
	height: 100px;
	resize: none;
}

.kakunin_detail {
	padding-left: 20px;
}

#linkButton {
	margin-bottom: 50px;
}

/********** ↓登園予約↓ ***************/

.touen_parts {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	align-items: center;
}

.touen_parts > div {
	border: 1px solid #ddd;
	width: 45%;
	height: 9em;
	padding: 3px;
	margin: 3px;
	text-align: center;
	cursor: pointer;
	background-color: #fff;
}

.touen_parts > div:hover {
	background-color: #f9f9f9;
}

.grid_label {
	font-size: 18px;
}

.grid_sub_label {
	font-size: 14px;
	padding: 0px 5px;
	word-wrap: break-word;
}

/********** ↓毎日の連絡↓ ***************/
.calendar_arrow_icon {
	vertical-align: middle;
	height: 14px;
	width: 14px;
	padding: 16px;
	cursor: pointer;
}

.title_label {
	border-top: solid 1px #ccc;
	margin: 10px 5px 5px 5px;
	padding-top: 5px;
	color: #4abaae;
	font-weight:bold;
	font-size:18px;
	cursor: pointer;
}

.title_label .arrow {
	height: 20px;
	width: 20px;
	margin-left: 5px;
	margin-bottom: -3px;
}

.title_label.close img {
	transform: rotate(-180deg);
}

.same_post {
	margin-left: 9vw;
	margin-right: 10vw;
}

.save_chui_msg {
	font-size: 11px;
}

.item_div {
	margin: 5px auto !important;
	width: 80vw;
}

.item_div select, .item_div input, .item_div textarea {
	width: 100%;
	margin-bottom: 3px;
}

.input_button {
	height: 20px;
	line-height: 22px;
	background-color: #fbb03b;
	color: white;
	padding: 5px;
	cursor: pointer;
	text-align: center;
	font-size: 15px;
	font-weight: normal;
	margin: 5px 10px;
	width: 100px;
	border-radius: 3px;
	display: inline-block;
}

/********** ↓連絡共通↓ ***************/
.renraku_select,
.select_oyasumi,
.select_yoyaku {
	border: none;
	background: url('../img/down_icon.svg') no-repeat, -webkit-gradient(linear, 0 0, 0 100%, from(#d7f7f1), to(#d7f7f1));/*safari対応*/
	background-color: #d7f7f1; /*IEで色をつけるために必要*/
	background-size: 10px 10px;
	background-position:  right 10px center;
}

.renraku_input {
	border: none;
	background: -webkit-gradient(linear, 0 0, 0 100%, from(#d7f7f1), to(#d7f7f1));/*safari対応*/
	background-color: #d7f7f1; /*IEで色をつけるために必要*/
}

/********** ↓ダイアログ保護者サイト共通↓ ***************/
.ui-widget-overlay {
	background-color: gray;
	opacity: 0.6;
}

.ui-dialog {
	padding: 0;
	border-radius: 0;
}

.ui-widget.ui-widget-content {
	border: none;
}

.ui-dialog-buttonset button {
	background-color: #d7f7f1;
	border: none;
}

.ui-dialog .ui-dialog-titlebar {
	background-color: #4abaae;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
	border: none;
}

.ui-dialog .ui-dialog-title {
	height: 40px;
	line-height: 42px;
	font-size: 1.2em;
}

.ui-dialog .ui-dialog-buttonpane {
	border: none;
	padding: 0;
}

.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
	float: none;
}

.ui-dialog .ui-dialog-buttonpane button {
	margin: 0;
	height: 60px;
	width: 50%;
	border-radius: 0;
}

#confirmYes {
	border-right: 0.5px solid white;
}

#confirmNo {
	border-left: 0.5px solid white;
}

#dialogSaveButton {
	width: 70%;
	border-right: 0.5px solid white;
}

#dialogDeleteButton {
	width: 30%;
	border-right: 0.5px solid white;
	float: right;
	background-color: #EAEAEA;
}

#editAreaDialog select, #editAreaDialog input, #editAreaDialog textarea {
	border: none;
	opacity: 1;
}

.info_disp_area select, .info_disp_area input, .info_disp_area textarea,
#touenInput select, #touenInput input, #touenInput textarea {
	opacity: 1;
	width:80vw;
}

#editAreaDialog select:disabled, #editAreaDialog input:disabled, #editAreaDialog textarea[readonly],
.info_disp_area select:disabled, .info_disp_area input:disabled, .info_disp_area textarea:disabled,
#touenInput select:disabled, #touenInput input:disabled, #touenInput textarea:disabled {
	color: rgb(84, 84, 84) !important;
}

.ui-dialog .ui-dialog-titlebar-close {
	width: 37px;
	height: 37px;
	border-radius: 18px;
	line-height: 30px;
	top: 30%;
	right: .4em;
	padding-left: 10px;

	background: url('../img/batsu_icon.svg') no-repeat;
	background-color: #fcfcfc;
	background-size: 17px 17px;
	background-position: center center;
	border: none;
}

.ui-button .ui-icon-closethick,
.ui-button .ui-icon-closethick:hover {
	width: 0;
	height: 0;
}

.batsu_icon {
	height: 16px;
	width: 16px;
}

.ui-button-icon-only .ui-icon {
	margin: 0;
	top: 0;
	left: 0;
}

/********** ↓お知らせ・アンケート一覧・行事予定↓ ***************/
#oshiraseArea,
#enqueteArea,
#scheduleArea {
	background-color: #fff;
	margin-top: 30px;
	border-top: 1px solid #dbdbdb;
	border-bottom: 1px solid #dbdbdb;
}

#oshiraseArea,
.enquete_area {
	word-break: break-all;
}

.oshirase_disp,
.enquete_disp {
	padding: 10px;
	cursor: pointer;
	border-bottom: 1px solid #dbdbdb;
	position: relative;
}

.oshirase_disp.nothing,
.enquete_disp.nothing {
	cursor: default;
}

.oshirase_disp:last-child,
.enquete_disp:last-child {
	border-bottom: none;
}

.oshirase_detail,
.schedule_detail {
	font-size: 16px;
	padding: 15px;
}

.clip {
	background: url('../img/clip.svg') no-repeat;
	background-size: 20px;
	position: absolute;
	right: 20px;
	top: 10px;
	width: 20px;
	height: 20px;
}

.clip_icon {
	height: 16px;
	width: 16px;
	margin-left: 5px;
	margin-right: 5px;
	vertical-align: middle;
}

#fileNameArea {
	padding-bottom: 10px;
	word-wrap: break-word;
	margin-top: 10px;
}

.oshirase_naiyo_parents {
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
}

.fileName {
	padding-bottom: 30px;
}

.free_input {
	border: none;
	background: -webkit-gradient(linear, 0 0, 0 100%, from(#d7f7f1), to(#d7f7f1));/*safari対応*/
	background-color: #d7f7f1; /*IEで色をつけるために必要*/
}

/********** ↓延長保育予約, お休み予約↓ ***************/

.main_area {
	margin: 15px 20px;
}

.disp_button {
	height: 30px;
	line-height: 30px;
	background-color: #4abaae;
	color: white;
	padding: 9px 10px 9px 10px;
	cursor: pointer;
	text-align: center;
	font-size: 18px;
	margin: 5px 0 30px 0;
	max-width: 380px;
}

div.disp_margin_bottom {
	margin-bottom: 3px;
}

.disp_button_small {
	height: 30px;
	line-height: 30px;
	background-color: #4abaae;
	color: white;
	padding: 6px;
	cursor: pointer;
	text-align: center;
	font-size: 18px;
	margin: 5px 0 30px 0;
	max-width: 80px;
}

.cancel_button_small {
	position: relative;
	left: 10px;
	top: 0;
	bottom: 0;
	margin: auto;
	height: 23px;
	background-color: #fbb03b;
	color: white;
	padding: 3px;
	cursor: pointer;
	text-align: center;
	font-size: 15px;
	margin-right: 5px;
	max-width: 80px;
}

.yoyaku_time {
	position: relative;
	width: 300px;
}

.yoyaku_data dl {
	margin-bottom: 10px;
}

.yoyaku_data dt,
.yoyaku_data dd {
	display: table-cell;
}

.select_yoyaku {
	width: auto;
	margin-left: 10px;
}

.disp_sunday {
	color: #FB2626;
}

.disp_saturday {
	color: #2B32FA;
}

.before_oyasumi_data dd select {
	width: calc(90% / 2);
	margin-left: 10px;
}

.before_late_data dd input,
.before_hayagaeri_data dd input {
	width: 150px;
	margin-left: 10px;
}

.before_oyasumi_data dd > label,
.yoyaku_data  dd > label,
.before_late_data dd > label,
.before_hayagaeri_data dd > label {
	margin-left: 10px;
}

#msgArea {
	margin-bottom: 10px;
}

#samePost {
	margin-top: 10px;
}

.before_oyasumi_renraku,
.before_late_renraku,
.before_hayagaeri_renraku {
	height: 60px;
	width: 90%;
	resize: none;
	margin-left: 10px;
	margin-top: 10px;
}

.date_info {
	display: inline-block;
}

/********** ↓デイリーチェック↓ ***************/
.daily_detail {
	background-color: #fff;
	margin-bottom: 1px;
	display: flex;
	flex-flow: row nowrap;
	align-items: stretch;
}

.daily_detail_icon {
	width: 45px;
	margin: auto;
	padding: 5px;
}

.daily_detail > .icon {
	color: #fff;
	width: 20vw;
	max-width: 80px;
	display: flex;
	flex-flow: column nowrap;
	align-items: center;
	min-height: 80px;
}

.daily_detail .content {
	width: 70%;
	margin: auto 10px;
}

#taion.daily_detail > .icon,
.title_taion.daily_detail > .icon {
	background-color: #e4007f;
}

#chushoku.daily_detail > .icon,
.title_chushoku.daily_detail > .icon {
	background-color: #ea5514;
}

#oyatsu.daily_detail > .icon,
.title_oyatsu.daily_detail > .icon {
	background-color: #f5c51d;
}

#haiben.daily_detail > .icon,
.title_haiben.daily_detail > .icon {
	background-color: #6a3906;
}

#suimin.daily_detail > .icon,
.title_suimin.daily_detail > .icon {
	background-color: #004ea2;
}

#milk.daily_detail > .icon,
.title_milk.daily_detail > .icon {
	background-color: #898989;
}

#kigen.daily_detail > .icon,
.title_kigen.daily_detail > .icon {
	background-color: #b0cc54;
}

#kaoiro.daily_detail > .icon,
.title_kaoiro.daily_detail > .icon {
	background-color: #f7bd8f;
}

#gaikan.daily_detail > .icon,
.title_gaikan.daily_detail > .icon {
	background-color: #89c3eb;
}

#renraku.daily_detail > dd,
#katsudou.daily_detail > dd,
.title_renraku.daily_detail > dd,
.title_katsudou.daily_detail > dd {
	padding: 5px 10px;
}

#renraku.daily_detail .comment,
#katsudou.daily_detail .comment,
.title_renraku.daily_detail > .comment,
.title_katsudou.daily_detail > .comment {
	white-space: pre-wrap;
}

.daily_item_label {
	font-weight: bold;
}

#dateYoubi {
	vertical-align: middle;
	color: #4abaae;
	font-weight: bold;
	font-size: 18px;
}

.term_kirikae_button {
	position: fixed;
	margin-right: auto;
	bottom: 5px;
	right: 8px;
	border-radius: 40px;
	background-color: #FFA500;
	opacity: 0.6;
}

.disp_daily {
	padding: 3px 6px 3px 6px;
}

.date_disp {
	margin-top: 3px;
	padding: 5px;
}

/********** ↓アンケート ↓ **********/
.enquete_disp p.enquete_title {
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
	font-size: 18px;
}

.enquete_disp div.enquete_sub_info {
	font-size: 14px;
}

.enquete_disp div.mikaitou {
	color: blue;
}
.enquete_disp_sub_parts {
    margin-bottom: 20px;
    padding-left: 20px;
}

.info_disp_area div.enquete_disp_parts {
	margin-top: 20px;
}

.question_title {
	font-weight: bold;
}

.target_child_name {
	background-size: 20px;
	position: absolute;
	right: 20px;
	top: 10px;
	width: 200px;
	height: 20px;
}

/*必須マーク*/
.required {
	width: 35px;
	vertical-align: middle;
	margin-left: 5px;
}

.enquete_area textarea {
	opacity: 1;
	width:70vw;
	height: 100px;
	resize: none;
}

/********** ↓ 健康診断履歴 ↓ **********/
.no_caution {
	display: none;
}

.table_container {
	margin-top: 10px;
}

/********** ↓ 予防接種、健康記録共通 ↓ **********/
.under_line {
	border-bottom: solid 1px #ccc;
	padding-bottom: 10px;
}

.kenshin_select,
.sesshu_select {
	border: none;
	background: url('../img/down_icon.svg') no-repeat, -webkit-gradient(linear, 0 0, 0 100%, from(#d7f7f1), to(#d7f7f1));/*safari対応*/
	background-color: #d7f7f1; /*IEで色をつけるために必要*/
	background-size: 10px 10px;
	background-position:  right 10px center;
}

#kenkouKirokuArea .year,
.sesshu_data .year {
	width: 85px;
	margin-bottom: 3px;
}

#kenkouKirokuArea .month,
.sesshu_data .month {
	width: 60px;
	margin-bottom: 3px;
	margin-left: 5px;
}

/********** ↓ 健康記録 ↓ **********/
#kenkouKirokuArea dd {
	margin-top: 10px;
	margin-left: 15px;
}

#kenkouKirokuArea .text_right {
	text-align: right;
}

#kenkouKirokuArea #editButton {
	width: 70px;
	text-align: center;
	white-space: nowrap;
}

.shitsumon {
	margin: 3px 5px 5px 5px;
	padding-top: 5px;
	font-weight:bold;
	font-size:18px;
}

.middle_shitsumon {
	color: #4abaae;
}

#kenkouKirokuArea textarea,
#kenkouKirokuArea input {
	border: none;
	background: -webkit-gradient(linear, 0 0, 0 100%, from(#d7f7f1), to(#d7f7f1));/*safari対応*/
	background-color: #d7f7f1; /*IEで色をつけるために必要*/
	height: 45px;
	width: 40px;
}

#kenkouKirokuArea .ssize {
	width: 60px;
}

#kenkouKirokuArea .msize {
	width: 90%;
	resize: none;
	margin-left: 0px;
}

#kenkouKirokuArea .lsize {
	height: 70px;
	width: 90%;
	resize: none;
	margin-left: 0px;
}

#kenkouKirokuArea .saiji {
	width: 60px;
}

#kenkouKirokuArea .remove_br br {
	display: none;
}

.add_button {
	margin: 5px;
	padding: 5px;
	width: 60px;
	border-radius: 3px;
	vertical-align: middle;
	font-size: 15px;
	background-color: #4b88ac;
	color: white;
	cursor: pointer;
}

.not_click {
	background-color: gray;
	cursor: default;
}

/* disabledのときの背景色を統一させる。iPadでinputがdisabledのときの文字が薄すぎるのを回避する。 */
#kenkouKirokuArea input:not([type="checkbox"]):disabled,
#kenkouKirokuArea select:disabled,
#kenkouKirokuArea textarea:disabled {
	background: -webkit-gradient(linear, 0 0, 0 100%, from(#ebebeb), to(#ebebeb));/*safari対応*/
	background-color: #ebebeb;
	color: #424242 !important;
	opacity: 1 !important;
	cursor: default !important;
}

/********** ↓ 予防接種 ↓ **********/
.insert_area {
	margin: 15px 10px;
}

.sesshu_data dt,
.sesshu_data dd {
	display: table-cell;
}

.sesshu_data dl {
	margin-bottom: 10px;
}

.sesshu_data dl.kongou_midashi {
	margin-bottom: 0;
}

.sesshu_data .title {
	padding: 0 15px;
	width: 70px;
}

.sesshu_data .yobi_title {
	padding-right: 5px;
}

.sesshu_title_label {
	margin: 3px 5px 5px 5px;
	padding-top: 5px;
	color: #4abaae;
	font-weight:bold;
	font-size:18px;
}

.sesshu_input {
	border: none;
	background: -webkit-gradient(linear, 0 0, 0 100%, from(#d7f7f1), to(#d7f7f1));/*safari対応*/
	background-color: #d7f7f1; /*IEで色をつけるために必要*/
	width: 130px;
	margin-right: 10px;
}


/********** ↓ 身体測定履歴 ↓ **********/
table.sokuteiRireki {
	width: 100%;
}

table.sokuteiRireki td:last-child {
	word-break: break-all;
}

/********** ↓ 登降園履歴, 行事予定 ↓ **********/
#toukouenYm,
.taisho_ym {
	vertical-align: middle;
	color: #4abaae;
	font-weight: bold;
	font-size: 18px;
}

#returnButton {
	vertical-align: middle;
	font-size: 15px;
	padding: 5px;
	margin-left: 5px;
	cursor: pointer;
	color: #ffffff;
	background-color: #4abaae;
}

#returnButton:hover {
	opacity: 0.8;
}

#toukouenTable,
#scheduleTable {
	width: 100%;
}

.toukouen_day,
.calendar_day {
	text-align: center;
}

.toukouen_day_sat,
.day_sat {
	color: blue;
}

.toukouen_day_sun,
.day_sun {
	color: red;
}

.toukouen_time {
	text-align: center;
}

.toukouen_oyasumi_yotei,
.schedule_yasumi {
	background-color: #ffe6f7 !important;
}

tr.toukouen_today_row,
tr.schedule_today_row {
	border: solid 5px #fbb03b !important;
}

tr.schedule_today_first_row {
	border-top: solid 5px #fbb03b !important;
	border-left: solid 5px #fbb03b !important;
	border-right: solid 5px #fbb03b !important;
}

tr.schedule_today_middle_row {
	border-left: solid 5px #fbb03b !important;
	border-right: solid 5px #fbb03b !important;
}

tr.schedule_today_last_row {
	border-left: solid 5px #fbb03b !important;
	border-right: solid 5px #fbb03b !important;
	border-bottom: solid 5px #fbb03b !important;
}

tr.toukouen_not_zaien_row td.toukouen_time,
tr.toukouen_not_zaien_row td.toukouen_oyasumi {
	background-color: #cccccc;
}

.schedule_koumoku {
	margin-top: 10px;
}

.schedule_title {
	padding-bottom: 8px;
	font-weight: bold;
	word-break: break-all;
}

.schedule_naiyo {
	padding-left: 14px;
	padding-bottom: 5px;
	word-break: break-all;
}


/********** ↓ QR登降園 ↓ **********/
input[type='checkbox'].qr_child_checkbox {
	opacity: 0;
	position: fixed;
}

input[type='checkbox'].qr_child_checkbox + label {
	height: 50px;
	margin: 5px;
	color: #61432d;
	border-radius: 5px;
	border: 1px solid #61432d;
	cursor: pointer;
}

input[type='checkbox'].qr_child_checkbox + label:not(.error_field) {
	background-color: #fff;
}

input[type='checkbox'].qr_child_checkbox + label.ios {
	padding: 11px 10px 12px 40px;
}

input[type='checkbox'].qr_child_checkbox + label:not(.ios) {
	padding: 15px 10px 7px 40px;
}

input[type='checkbox'].qr_child_checkbox:checked + label {
	background-color: #c6eaff;
	border: 1px solid #5fa4cc;
	position: relative;
}

input[type='checkbox'].qr_child_checkbox:checked + label::before {
	content: '';
	border-left: 3px solid #5fa4cc;
	border-bottom: 3px solid #5fa4cc;
	transform: rotate(-45deg);
	height: 6px;
	width: 13px;
	position: absolute;
	top: 13px;
	left: 12px;
}

input[type='checkbox'].qr_child_checkbox.qr_yasumi:not(:checked) + label {
	position: relative;
}

input[type='checkbox'].qr_child_checkbox.qr_yasumi:not(:checked) + label::before {
	content: '休';
	font-size: 25px;
	color: #e62e49;
	opacity: 50%;
	position: absolute;
	top: 7px;
	left: 9px;
}

.qr_toukouen #childListMsgArea {
	margin-top: 10px;
	text-align: center;
}

.qr_toukouen .child_list_msg {
	height: 23px;
	width: calc( 70vw + 100px );
	max-width: 100%;
	text-align: left;
}

.qr_toukouen .dakoku_msg {
	height: 0px;
	margin-top: 50px;
	width: calc( 70vw + 100px );
	max-width: 100%;
	text-align: left;
}

#childList .child_name {
	display: inline-block;
	width: 70vw;
	text-align: left;
}

.qr_toukouen .ellipsis {
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
}

.qr_toukouen_buttons {
	display: flex;
	justify-content: center;
	flex-flow: row wrap;
	padding: 8px;
	position: relative;
}

.qr_toukouen_buttons input[type='radio'] {
	position: absolute;
	top: 0;
	opacity: 0;
}

.qr_toukouen_buttons input[type='radio'] + label {
	border: 3px solid lightpink;
	background-color: white;
	color: #332317;
	font-size: 28px;
	width: calc(65vw / 2);
	max-width: 120px;
	display: inline-block;
	text-align: center;
	padding: 10px 5px;
	cursor: pointer;
	margin: 5px;
	-webkit-tap-highlight-color: transparent;
}

.qr_toukouen_buttons input[type='radio']:checked + label {
	background-color: lightpink;
}

.qr_toukouen_buttons input[type='radio'].toukouen_kbn:checked + label {
	position: relative;
}

.qr_toukouen_buttons input[type='radio']:checked + label::before {
	content: '';
	border-left: 3px solid #e65c70;
	border-bottom: 3px solid #e65c70;
	transform: rotate(-45deg);
	height: 8px;
	width: 19px;
	position: absolute;
	top: 19px;
	left: 8px;
}

.un_supported_qr,
._old_qr,
._supported_qr {
	display: none;
}

.save_button._supported_qr {
	height: 60px;
	line-height: 60px;
	margin-top: 50px;
	margin-bottom: 30px;
}

/********** ↓FAQ ↓ **********/
.qa_list dl {
	position: relative;
	margin: 0;
	padding: 28px 50px 28px 10px;
	cursor: pointer;
	border-bottom: 1px solid #000;
	background-color: white;
}

.qa_list dl:first-child {
	border-top: 1px solid #000;
}

.qa_list dl::before {
	position: absolute;
	top: 35px;
	right: 35px;
	display: block;
	width: 7px;
	height: 7px;
	margin: auto;
	content: '';
	transform: rotate(135deg);
	border-top: 2px solid #000;
	border-right: 2px solid #000;
}

.qa_list .open::before {
	transform: rotate(-45deg);
}

.qa_list dl dt {
	position: relative;
	margin: 0;
	padding-left: 30px;
	font-weight: bold;
	font-size: 20px;
}

.qa_list dl dt::before {
	font-size: 22px;
	line-height: 1;
	position: absolute;
	top: 3px;
	left: 0;
	display: block;
	content: 'Q.';
	color: #3285bf;
}

.qa_list dl dd::before {
	font-size: 22px;
	line-height: 1;
	position: absolute;
	top: 3px;
	left: 2px;
	display: block;
	content: 'A.';
	font-weight: bold;
	color: #3285bf;
}

.qa_list dl dd {
	position: relative;
	display: none;
	height: auto;
	margin-top: 20px;
	padding-left: 40px;
}

.qa_list dl dd p {
	margin-top: 30px;
}

.qa_list dl dd p, .qa_list dl dt {
	white-space: pre-wrap;
}

.qa_list dl dd p:first-child{
	margin-top: 0;
}

.category_name {
	padding: 10px;
	border-bottom: 1px solid #000;
	position: relative;
	background-color: #eaf4ff;
	font-size: 25px;
	font-weight: bold;
}

/********** ↓休日保育予約 ↓ **********/
.kyujitsu_hoiku_data dd input {
	width: 100px;
}

/********** ↓グリッド ↓ **********/
table.grid {
	border-collapse: collapse;
	border-spacing: 0;
	font-size: 12px;
	border: solid 1px #d4d4d4;
}

table.grid tr td {
	height: 17px;
	padding: 5px 5px;
	border: solid 1px #d4d4d4;
}

table.grid tr.title td {
	text-align: center;
	color: #ffffff;
	background-color: #4abaae;
}

table.grid tr {
	border-bottom: solid 1px #d4d4d4;
}

tr.even {
	background-color: #d7f7f1;
}

tr.uneven {
	background-color: white;
}

tr.even_border td {
	background-color: #f2f2f2;
	border: solid 1px #d4d4d4;
}

tr.uneven_border td {
	background-color: white;
	border: solid 1px #d4d4d4;
}

table.medical_table tbody {
	background-color: white;
}

/********** ↓設定↓ ***************/
.password_detail {
	width: 80vw;
	margin: auto;
}
.addressTitle, .contact_title {
	background-color: #fbb03b;
	color:white;
}

.address_detail, .contact_detail {
	width: 80vw;
	font-size: 18px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 10px;
	margin-bottom: 10px;
}

.menu_list .small {
	font-size: 14px;
	margin-top: 15px;
	background-color: #a9a9a9;
	line-height: 20px;
	height: 20px;
}

#appVersionArea {
	font-size: 16px;
}

/********** ↓プライバシーポリシー↓ ***************/
.privacy_policy {
	width: 85vw;
	margin: 0 auto;
}

.privacy_policy h3 {
	margin-top: 30px;
}

.privacy_policy p {
	margin: 10px 0 15px 0;
}

.privacy_policy ol {
	padding-inline-start: 20px;
	list-style: none;
	margin-top: 10px;
}

.privacy_policy li > p {
	padding-left: 20px;
}

.privacy_policy h3 + p {
	padding-left: 10px;
}

.privacy_policy p.indent {
	text-indent: -1em;
	padding-left: 1em;
}

.privacy_policy .right {
	text-align: right;
	margin: 30px 0;
}

/********** ↓画面切り替え対象↓ ***************/
/* 幅414pxまでの場合 */
@media screen and (max-width:414px) {
	#dispConditions {
		width: 210px;
		text-align: left;
	}
}

/* 幅768px以上の場合 */
@media screen and (min-width:768px) {

	.before_oyasumi_data dl,
	.before_late_data dl,
	.before_hayagaeri_data dl,
	.kyujitsu_hoiku_data dl {
		margin-bottom: 10px;
	}

	.before_oyasumi_data dt,
	.before_late_data dt,
	.before_hayagaeri_data dt,
	.kyujitsu_hoiku_data dt {
		display: table-cell;
		width: 160px;
	}

	.before_oyasumi_data dd,
	.before_late_data dd,
	.before_hayagaeri_data dd,
	.kyujitsu_hoiku_data dd {
		display: table-cell;
	}

	.before_oyasumi_data dd select,
	.before_late_data dd input,
	.before_hayagaeri_data dd input {
		width: 150px;
	}

	.before_oyasumi_renraku,
	.before_late_renraku,
	.before_hayagaeri_renraku {
		width: 310px;
	}

	.disp_new {
		top: 25%;
		right: 30%;
	}

	.qa_list dl {
	position: relative;
	padding: 15px 40px 15px 10px;
	}

	.qa_list dl::before {
		top: 20px;
		right: 20px;
		width: 7px;
		height: 7px;
	}

	.qa_list dl dt {
		padding-left: 30px;
		font-size: 14px;
	}

	.qa_list dl dt::before {
		font-size: 14px;
		top: 3px;
		left: 5px;
		content: 'Q.';
	}

	.qa_list dl dd::before {
		font-size: 14px;
		top: 5px;
		left: 5px;
		content: 'A.';
	}

	.qa_list dl dd {
		margin: 10px 0 0;
		padding-left: 30px;
		font-size: 14px;
	}

	.qa_list dl dd p {
		margin-top: 30px;
	}

	.qa_list dl dd p:first-child{
		margin-top: 0;
	}
}

.numeric_val {
	text-align: right;
}

#buttonArea {
	display: flex;
}

#buttonArea label{
	display: block;
	cursor: pointer;
	width: 50px;
	margin: 0;
	padding: 12px 5px;
	border-right: 1px solid #abb2b7;
	background: #9e9e9e;
	color: #fff;
	font-size: 14px;
	text-align: center;
	line-height: 1;
	transition: .2s;
}
#buttonArea label:first-of-type{
	border-radius: 3px 0 0 3px;
}
#buttonArea label:last-of-type{
	border-right: 0px;
	border-radius: 0 3px 3px 0;
}
#buttonArea .checked {
	background-color: #4abaae;
	color: #fff;
}

.graph_button:hover, .table_radio:hover {
	opacity: 0.8;
}

#graph {
	margin-bottom: 30px;
}

#graph .uncheckedGraph, .unselected_table {
	display: none;
}

.background_caution {
	background: #ffb3b3;
}

.background_caution_center {
	text-align: center;
	background: #ffb3b3;
}


