.plan {
  background-color: #f7f7f7;
  min-height: 100%;
}

/********************
ヘッダー部
********************/
.plan .plan_head {
  width: 100%;
  height: 70px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.5em 1em;
  position: relative;
  border-bottom: 1px solid #d9d9d9;
}

.plan .plan_head .selectionContentsData {
  position: absolute;
  left: 0;
  padding: 0 1.5vw;
  font-size: 1.0vw;
}

.plan .plan_head .plan_date {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.plan .plan_head .plan_date .day_prev img {
  width: 2.3vw;
  margin-right: 1.0em;
}

.plan .plan_head .plan_date .weather_icon img {
  width: 2.3vw;
  margin-right: 1.0em;
}

.plan .plan_head .plan_date .day_next img {
  width: 2.3vw;
}

.plan .plan_head .plan_date .date {
  font-size: 2.3vw;
  color: #515d62;
  font-family: monospace, serif;
}

.plan .plan_head .plan_date .date span {
  font-size: 0.8em;
  margin-left: 0.7em;
}

.plan .plan_head .plan_date .calender {
  width: 4.5vw;
  position: relative;
}

.plan .plan_head .plan_date .calender label {
  position: relative;
}

.plan .plan_head .plan_date .calender label::after {
  position: absolute;
  top: calc(50% - 1.0vw);
  right: calc(50% - 2.0vw);
  content: "";
  display: block;
  width: 2.0vw;
  height: 2.0vw;
  background-image: url(../img/ic/calender.svg);
  background-repeat: no-repeat;
}

.plan .plan_head .plan_date .calender label::before {
  position: absolute;
  top: calc(50% - 1.3vw);
  right: calc(50% - 2.35vw);
  content: "";
  display: block;
  width: 2.7vw;
  height: 2.7vw;
  background-image: -moz-linear-gradient(90deg, rgb(245, 243, 243) 0%, rgb(255, 255, 255) 74%, rgb(246, 245, 245) 100%);
  background-image: -webkit-linear-gradient(90deg, rgb(245, 243, 243) 0%, rgb(255, 255, 255) 74%, rgb(246, 245, 245) 100%);
  background-image: -ms-linear-gradient(90deg, rgb(245, 243, 243) 0%, rgb(255, 255, 255) 74%, rgb(246, 245, 245) 100%);
  border-radius: 5px;
  border: solid 1px rgb(234, 234, 234);
}

.plan .plan_head .plan_date .calender label input[type="date"] {
  opacity: 0;
  width: 2.8vw;
  height: 2.8vw;
  z-index: 9999;
  position: relative;
  left: 1.0vw;
}

.plan .plan_head .plan_date .calender input[type="date"]::-webkit-calendar-picker-indicator {
  position: absolute;
  right: 0px;
  top: calc(50% - 1.75vw);
  padding: 0;
  width: 3.5vw;
  height: 3.5vw;
  background: transparent;
  color: transparent;
  cursor: pointer;
}

.plan .plan_head .btn_area {
  position: absolute;
  right: 1.5em;
}

.plan .plan_head .btn_area ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.plan .plan_head .btn_area ul li:first-child {
  margin-right: 2em;
}

.plan .plan_head .btn_area button {
  color: #fff;
  font-size: 1.2vw;
  padding: 0.2em 1.0em;
  border-radius: 20px;
}

.plan .plan_head .btn_area button.btn_today {
  background-color: #686f82;

}

.plan .plan_head .btn_area button.btn_print {
  padding: 0.2em 1.0em 0.2em 3.0em;
  background-color: #30c40c;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .plan .plan_head .btn_area button.btn_print {
    padding: 0.4em 1.0em 0.4em 3.0em;
    background-color: #30c40c;
    position: relative;
  }
}
.plan .plan_head .btn_area button.btn_print::before {
  content: "";
  background-image: url(../img/ic/print.svg);
  width: 1.5em;
  height: 1.5em;
  position: absolute;
  top: 0.2em;
  left: 1.0em;
  transform: translate(0, 0);
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}

/********************
コンテンツ部
********************/
.plan .plan_contents {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 1.5vw 1.5vw 1.5vw;
}

.plan .plan_contents .contents_block h2 {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 5px 0;
  height: 6.0vh;
  margin-bottom: 3.0vh;
  border-bottom: 3px solid #515d62;
}

.plan .plan_contents .contents_block h2 .contents_heading {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.plan .plan_contents .contents_block h2 .contents_heading img {
  width: 2.3vw;
}

.plan .plan_contents .contents_block h2 .contents_name {
  font-size: 1.5vw;
  color: #4c556e;
  padding: 0 0.5em;
}

.plan .plan_contents .contents_block h2 .contents_message {
  font-size: 1.2vw;
  color: #4c556e;
  padding: 0 2em;
}

.plan .plan_contents .contents_block h2 .contents_edit {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.plan .plan_contents .contents_block h2 .contents_edit img {
  width: 1.5vw;
  margin-right: 10px;
}

.plan .plan_contents .contents_block h2 .contents_edit .edit_time,
.plan .plan_contents .contents_block h2 .contents_edit .edit_user {
  font-size: 1.2vw;
  color: #c8c8c8;
}

.plan .plan_contents .contents_block h2 .contents_edit .edit_time {
  margin-right: 10px;
}

.plan .plan_contents .contents_block .plan_data {
  width: 100%;
  font-size: 1.2vw;
  color: #515d62;
  line-height: 1.4em;
}

.plan .plan_contents .contents_block .plan_row {
  width: 100%;
  background-color: #fff;
  border-radius: 8px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 0.5em;
  box-shadow: 0px 3px 5px 1px #d9d9d9;
}

.plan .plan_contents .contents_block .plan_row .row_tit {
  width: 18%;
  background-color: #fbfbfb;
  padding:0 1.2em;
  border-radius: 8px;
}

.plan .plan_contents .contents_block .plan_row .row_edit {

  width: 9%;
  text-align: center;
}

.plan .plan_contents .contents_block .plan_row .row_tx {
  padding: 1.5em;
  border-right: solid 1px #e9e9e9;
  word-break: break-all;
}

.plan .plan_contents .contents_block .plan_col_tit {
  width: 100%;
  margin: auto;
  text-align: center;
}

.plan .plan_contents .contents_block .plan_col_tit ul li {
  position: relative;
  padding-bottom: 2.0em;
}

.plan .plan_contents .contents_block .plan_col_tit ul li::before {
  content: "";
  position: absolute;
  top: 2.0em;
  left: 50%;
  border-top: 1.2vw solid #cccccc;
  border-right: 1.0vw solid transparent;
  border-left: 1.0vw solid transparent;
  transform: translate(-50%, -50%)
}

/* display:flex */
.plan .plan_contents .contents_block .block_row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 1.0vw 0;
}

/* 中央揃え */
.plan .plan_contents .contents_block .block_row_center {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

/* 要素を右から並べる */
.plan .plan_contents .contents_block .block_row_reverse {
  flex-direction: row-reverse;
}

/* 要素を縦に並べる */
.plan .plan_contents .contents_block .block_row_column {
  flex-direction: column;
}


/* 左右の端を空けずに均等に間隔をあける */
.plan .plan_contents .contents_block .block_row_space_between {
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

/* 左右の端を空けて均等に間隔をあける */
.plan .plan_contents .contents_block .block_row_space_around {
  -webkit-justify-content: space-around;
  -ms-flex-pack: distribute;
  justify-content: space-around;
}

/* 改行させる */
.plan .plan_contents .contents_block .block_row_wrap {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

/* display:table */
.plan .plan_contents .contents_block .row_table {
  display: table;
}

.plan .plan_contents .contents_block .row_table ul{
  display: table;
  width: 100%;
  table-layout: fixed;
}

.plan .plan_contents .contents_block .row_table ul li {
  display: table-cell;
  vertical-align: middle;
}

/* width */
.plan .plan_contents .w100 {
  width: 100%;
}

.plan .plan_contents .w50 {
  width: 50%;
}

.plan .plan_contents .w45 {
  width: 45%;
}

.plan .plan_contents .w33 {
  width: 33%;
}

/*text テキストボックス*/
.plan .plan_contents .textbox input[type="text"] {
  border: 1px solid #30c40c;
  border-radius: 3px;
  padding: 1.0em;
  font-size: 1.2vw;
  background-color: #f9fcf8;
  width: 100%;
}

/*テキストエリア*/
.plan .plan_contents textarea {
  border: 1px solid #30c40c;
  border-radius: 3px;
  padding: 0.5em;
  background-color: #f9fcf8;
  width: 100%;
  height: 8.8vw;
  font-size: 1.3vw;
}

/*********************
項目別スタイル
**********************/
/* 指導計画 */
.plan .plan_contents .contents_block.plan_teaching{
  width: 100%;
}

.plan .plan_contents .contents_block.plan_teaching .plan_row .row_tx {
/*
  width: 60.8vw;
  max-width: 78%;
*/
  width: 78%;
  height: 5em;
	word-break: break-word;
}

/* 養護 */
.plan .plan_contents .contents_block.plan_nursing{
  width: 100%;
}

.plan .plan_contents .contents_block.plan_nursing .plan_row .row_tx,
.plan .plan_contents .contents_block.plan_nursing .plan_col_tit .row_tx {
/*
  width: 16.0vw;
  max-width: 19.5%;
*/
  width: 19.5%;
}

.plan .plan_contents .contents_block.plan_nursing .plan_row .row_tx {
  height: 5em;
	word-break: break-word;
}

.plan .plan_contents .contents_block.plan_nursing .plan_col_tit {
  width: 78%;
  margin: 0 9% 0 13%;
}

/* 教育 */
.plan .plan_contents .contents_block.plan_education{
  width: 100%;
}

.plan .plan_contents .contents_block.plan_education .row_table ul{
  display: table;
  table-layout: fixed;
  width: 100%;
}

.plan .plan_contents .contents_block.plan_education .row_table ul li {
  vertical-align: top;
}

.plan .plan_contents .contents_block.plan_education .block_row {
  align-items: stretch;
}

.plan .plan_contents .contents_block.plan_education .row_tit {
  width: 12%;
  background-color: #fbfbfb;
  padding: 1.5em 0 1.5em 1.5em;
  margin: 5.0em 1% 0.5em 0;
  box-shadow: 0px 3px 5px 1px #d9d9d9;
  border-radius: 8px;
}

.plan .plan_contents .contents_block.plan_education .row_tit p {
  line-height: 1.5em;
}

.plan .plan_contents .contents_block.plan_education .plan_row {
/*
  width: 67.0vw;
  max-width: 87%;
*/
  width: 87%;
}

.plan .plan_contents .contents_block.plan_education .plan_row .row_tx {
  padding: 0;
  width: 25%;
}

.plan .plan_contents .contents_block.plan_education .plan_row > ul > .row_tx {
/*
  max-width: 25%;
  width: 16.7vw;
*/
  width: 25%;
}

.plan .plan_contents .contents_block.plan_education .plan_row > ul > .row_tx:last-child{
  border-right: none;
}

.plan .plan_contents .contents_block.plan_education .plan_col_tit {
  background-color: #f1f1f1;
  width: 100%;
  /* CHANGE SMO - START====================================== */
  /*padding: 0 1.0vw 0 1.5vw;*/
  padding: 0 0.5vw 0 0.5vw;
  /* CHANGE SMO - END======================================== */
}

.plan .plan_contents .contents_block.plan_education .plan_col_tit .row_tx {
  border: none;
  align-self: center;
  width: auto;
}

.plan .plan_contents .contents_block.plan_education .plan_col_tit ul li::before {
  display: none;
}

.plan .plan_contents .contents_block.plan_education .plan_row .row_tx .tx {
  padding: 1.0em 1.5em;
  min-height: 16em;
	word-break: break-word;
}

/* 食育 */
.plan .plan_contents .contents_block.plan_food-education{
  width: 100%;
}

.plan .plan_contents .contents_block.plan_food-education .plan_row .row_tx {
/*
  width: 17.6vw;
  max-width: 22.75%;
*/
  width: 22.75%;
  height: 5em;
	word-break: break-word;
}

.plan .plan_contents .contents_block.plan_food-education .plan_col_tit .row_tx {
  width: 17%;
}

.plan .plan_contents .contents_block.plan_food-education .plan_col_tit {
  width: 91%;
  margin: 0 9% 0 0;
}

/* 健康・安全 */
.plan .plan_contents .contents_block.plan_health{
  width: 100%;
}

.plan .plan_contents .contents_block.plan_health .plan_row .row_tx {
/*
  width: 17.6vw;
  max-width: 22.75%;
*/
  width: 22.75%;
  height: 5em;
	word-break: break-word;
}

.plan .plan_contents .contents_block.plan_health .plan_col_tit .row_tx {
  width: 17%;
}

.plan .plan_contents .contents_block.plan_health .plan_col_tit {
  width: 91%;
  margin: 0 9% 0 0;
}

/* 評価・反省 */
.plan .plan_contents .contents_block.plan_evaluation{
  width: 100%;
}

.plan .plan_contents .contents_block.plan_evaluation .plan_row .row_tx {
/*
  width: 71.0vw;
  max-width: 91%;
*/
  width: 91%;
  height: 5em;
	word-break: break-word;
}
