html { overflow: hidden; }
@charset "UTF-8";
.box {
  background: white;
  padding: 2em 1.5em;
  border-radius: 7px;
  box-shadow: 0 8px 16px -2px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.02);
}

.fx *:not(:last-child) {
  margin-right: 1em;
}

.fx_wrap {
  flex-wrap: wrap;
}

.bd-title {
  display: flex;
  align-items: center;
  margin: 1em 0 1.5em;
}
.bd-title:before, .bd-title:after {
  content: "";
  display: block;
  border-top: 1px solid #494241;
  flex-grow: 1;
}
.bd-title:before {
  margin-right: 0.5em;
}
.bd-title:after {
  margin-left: 0.5em;
}

.ip_gr {
  margin-bottom: 1.2em;
}
.ip_gr > p {
  font-size: 0.9em;
  color: #746968;
}
.ip_gr .half {
  display: flex;
  align-items: center;
  width: 50%;
}
.ip_gr .half *:not(:last-child) {
  margin-right: 0.5em;
}
.ip_gr .checkbox_area {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.ip_gr .checkbox_area .cb {
  margin: 0.4em 2em 0.4em 0;
}

.disabled * {
  opacity: 0.7;
  pointer-events: none;
}

.fx_gr {
  display: flex;
  align-items: center;
  margin-bottom: 2em;
}
.fx_gr * {
  font-size: 0.9rem;
}
.fx_gr > p {
  width: 4em;
  color: #746968;
  margin-right: 1.5em;
}
.fx_gr > div {
  flex-grow: 1;
}
.fx_gr.bd {
  padding: 1em 0;
  margin-bottom: 0;
  border-bottom: 1px solid #f2f2f2;
}
.item_num_2 > *{
  width: 50%;
}
.item_num_3 > *{
  width: calc(100% / 3);
}
.item_num_4 > *{
  width: calc(100% / 4);
}
.abreast_btn_area {
  margin-top: 2em;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.abreast_btn_area button {
  width: calc(90% / 2);
  font-size: 0.9em;
}

.err_msg{
  margin-bottom: 2rem;
  padding: 0.8rem;
  border: 1px solid #af0404;
  background: #f0c8c8;
  display: none;
  transition: 0.3s;
  font-size: 0.9em;
  color: #af0404;
}

.err_msg_footer{
  margin-bottom: 2rem;
  padding: 0.8rem;
  border: 1px solid #af0404;
  background: #f0c8c8;
  display: none;
  transition: 0.3s;
  font-size: 0.9em;
  color: #af0404;
}

.conf_msg {
  margin-bottom: 1.5em;
}
.conf_msg h2 {
  color: #494241;
  text-align: center;
}
.conf_msg p {
  font-size: 0.9em;
  text-align: center;
}
.select_date .current_date {
  font-size: 1.2em;
}
.select_date .prev_btn, .select_date .next_btn {
  position: relative;
}
.select_date .prev_btn:before, .select_date .next_btn:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  width: 0.5rem;
  height: 0.5rem;
  border: solid #494241;
}
.select_date .prev_btn {
  padding-left: 1em;
}
.select_date .prev_btn:before {
  left: 0;
  border-width: 0 0 1px 1px;
  transform: rotate(45deg) translateX(-50%);
}
.select_date .next_btn {
  padding-right: 1.2em;
}
.select_date .next_btn:after {
  right: 0;
  border-width: 1px 1px 0 0;
  transform: rotate(45deg) translateX(-50%);
}

#login {
  width: 100%;
  height: 100vh;
  padding: 0;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
#login canvas {
  position: absolute;
  top: 0;
  left: 0;
}
#login form {
  width: 90%;
  position: relative;
  z-index: 2;
  background: white;
}
#login form img {
  width: 70%;
  margin: auto;
}
#login form h1 {
  font-size: 2em;
}

header {
  background: #ed4f8d;
  position: relative;
  padding-bottom: 2em;
}
header #s_info {
  background-size: 100% auto;
  position: relative;
  padding-top: 1.5em;
  margin-top: -2px;
}
header #s_info:after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.6);
}
header #s_info h1 {
  padding: 0 1em 1.6em;
  margin-top: -5px;
  color: white;
  position: relative;
  z-index: 2;
}
header .QR {
  width: 42px;
  margin-bottom: 5px;
}

.childInfo {
  position: relative;
}
.childInfo > img {
  background: white;
  border-radius: 50%;
  width: 60px;
  height: 60px;
}
.childInfo h2 {
  font-size: 1.3rem;
  padding: 1.2rem 0 0;
}
.childInfo h2 ruby {
  margin-left: 1em;
  font-size: 1.3rem;
  font-weight: bold;
  font-family: "Noto Sans JP,sans-serif";
}

#childInfo {
  width: 100%;
  position: absolute;
  bottom: 0.5em;
  z-index: 2;
  padding: 0 1em;
  display: flex;
  align-items: flex-end;
}
#childInfo img, #childInfo .no_image {
  pointer-events: auto;
  filter: drop-shadow(1px 1px 3px rgba(0, 0, 0, 0.5));
  z-index: 2;
}
#childInfo h2 {
  color: white;
  flex-grow: 1;
}
#childInfo h2 * {
  color: white;
}
#childInfo ruby {
  margin-left: 10px;
  font-family: "Noto Sans JP,sans-serif";
}

#sl_child .childInfo:not(:last-child) {
  margin-bottom: 2em;
}
#sl_child .childInfo.disabled img, #sl_child .childInfo.disabled .no_image {
  opacity: 0.5;
}
#sl_child .childInfo.disabled h2 {
  color: #bebbbb;
}
#sl_child .childInfo.disabled h2 * {
  color: #bebbbb;
}

.c_calendar > div {
  padding: 1em 0;
  border-bottom: #f8f2e7 1px solid;
  display: flex;
  align-items: center;
}
.c_calendar > div * {
  font-size: 0.9rem;
}
.c_calendar > div .fx_col {
  margin-right: 1em;
  align-items: center;
}
.c_calendar > div .fx_col span {
  font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", sans-serif;
}
.c_calendar > div .fx_col span.today {
  color: #be1616;
}
.c_calendar > div .fx_col i {
  font-size: 1.4rem;
  margin-top: 0.4rem;
}
.c_calendar > div .c_detail {
  flex-grow: 1;
}
.c_calendar > div .c_detail .g-table .bg_yel {
    background: orange;
}
.c_calendar > div .c_detail .g-table .bg_red {
  background: lightpink;
}
.c_calendar > div .c_detail .g-table {
  grid-template-columns: 9em auto;
}g-table
.c_calendar > div .c_detail . .g-h {
  text-align-last: justify;
}
.c_calendar > div .c_detail .g-table .g-h.event_col {
  background: #beb7b7;
}
.c_calendar > div.holiday span {
  color: #afa6a6;
}
.c_calendar > div.holiday .c_detail {
  background: #e3dede;
  color: #afa6a6;
  padding: 0.4em 0 0.2em;
  text-align: center;
}

#calendar .tabs .tab_items div {
  width: calc(100% / 3);
}
#calendar #c_list .sl_date .select {
  margin-right: 1em;
}
#calendar #c_list .sl_date .rtn_btn {
  background: #e86243;
  padding: 0.6em;
}
#calendar #c_list .sl_date .rtn_btn i {
  font-size: 1.5em;
  color: white;
}
#calendar #e_list .back_month {
  position: relative;
  font-size: 0.8em;
  margin: 0 auto 1em 0;
  color: white;
  background: #a69d9c;
  padding: 0.3em 0.5em 0.3em 1.5rem;
}
#calendar #e_list .back_month:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  width: 0.4rem;
  height: 0.4rem;
  left: 0.8em;
  border: solid white;
  border-width: 0 0 1px 1px;
  transform: rotate(45deg) translateX(-50%);
}
#calendar #e_list .event_contents {
  flex-grow: 1;
  margin-top: 1.5em;
}
#calendar #e_list .event_contents .event.g-table {
  grid-template-columns: 7em auto;
  margin-bottom: 2em;
  background: #b9b2b1;
}
#calendar #e_list .event_contents .event.g-table > div:not(.event_date) {
  padding: 0.7em;
}
#calendar #e_list .event_contents .event.g-table .event_date {
  grid-column: 1/2 span;
  text-align: center;
  font-size: 1.1em;
  background: #eeeded;
}
#calendar #e_list .event_contents .event.g-table .g-h {
  text-align-last: justify;
  margin-right: 1px;
  background: white;
}
#calendar #e_list .add_state_contents {
  margin-top: 3.5em;
}
.add_state_contents .add_state {
  display: flex;
  align-items: flex-start;
  border: 1px solid #d6d2d2;
  padding: 0.7em 0.5em;
  margin-bottom: 1.5em;
}
.add_state_contents .add_state > .fx_b {
  flex-grow: 1;
  margin-right: 1.5em;
}
.add_state_contents .add_state .image {
  width: 45px;
  height: 45px;
  border-radius: 50%;
  background-position: center;
  background-size: cover;
}
.add_state_contents .add_state .image img{
  height: 50px;
}
.add_state_contents .add_state .state_content {
  margin-left: 1em;
  flex-grow: 1;
}
.add_state_contents .add_state .state_content > div:first-child {
  margin-bottom: 0.7em;
}
.add_state_contents .add_state .read_state {
  margin-left: auto;
  color: white;
  font-size: 0.7em;
  background: #746968;
  padding: 0.3em 0.5em;
  white-space: nowrap;
}
.add_state_contents .add_state .read_state.red {
  background: #af0404;
}

#help .fx_col {
  justify-content: center;
  margin-bottom: 2em;
}
#help .help_menu {
  margin-bottom: 2em;
}
#help .help_menu a {
  padding: 1.5em 0;
  border: 1px solid #746968;
  margin-bottom: 1.5em;
  text-align: center;
  display: block;
}
#help .help_menu a:active {
  background: #746968;
  color: white;
}
#help .help_contents *:not(h2):not(h3) {
  font-size: 0.95rem;
}
#help .help_contents section {
  margin-top: 2em;
}
#help .help_contents section:last-of-type {
  margin-bottom: 2em;
}
#help .help_contents section li{
  list-style: auto;
}
#help .help_contents section ol li {
  margin-bottom: 0.7em;
}
#help .help_contents section ul li {
  margin-bottom: 0.5em;
}
#help .help_contents a {
  display: inline-block;
  color: #ed4f8d;
  text-decoration: underline;
}
#help .help_contents a:active {
  text-decoration: none;
}
#help .diagnose {
  margin-bottom: 5em;
}

#contact .fx_gr p {
  width: 8em;
}
#contact .res_msg {
  margin-top: 5em;
}

#account #main_contents {
  padding-bottom: 3em;
}
#account form {
  margin-top: 3em;
}
#account .fx_gr p {
  width: 8em;
}

#book_room {
  background: #fcf9f6;
}
#book_room .tab_items div {
  width: calc(100% / 4);
}
#book_room .tab_contents {
  padding: 1.5em 0 0;
}
#book_room section {
  border-width: 0 1px 1px;
  position: relative;
  padding-top: 0.7em;
}
#book_room .link_list div {
  position: relative;
}
#book_room .link_list div:not(:last-child) {
  border-bottom: 1px solid #ece8e3;
}
#book_room .link_list div:not(:last-child):before {
  content: "";
  display: block;
  position: absolute;
  bottom: -2px;
  width: 100%;
  border-bottom: 1px solid white;
}
#book_room .link_list div:after {
  content: "";
  display: block;
  position: absolute;
  width: 8px;
  height: 8px;
  border: solid #dbdbdb;
  border-width: 1px 1px 0 0;
  transform: rotate(45deg) translateY(-50%);
  right: 1em;
  top: 50%;
}
#book_room .link_list div a {
  padding: 1em;
  color: #3783f3;
}
#book_room .link_list div a:visited {
  color: #844cba;
}
#book_room .link_list div a span {
  font-size: 0.8rem;
  color: gray;
  margin-left: 1em;
}

#message {
  background: #fcf9f6;
}
#message .tab_items div {
  width: calc(100% / 4);
}

.reply-form {z-index: 2; background-color: #d4d7d8; display: inline-flex; width: 100%; padding: 5px; position: fixed; bottom: 55px; display: none; }

.reply-form textarea { width: 80%; height: 30px; padding: 5px; border-radius: 5px; transform: scale(1); line-height: 1; min-height: 0px; border: 1px solid; margin: auto; background-color: #fff; }

.reply-form i { font-size: 40px; transform: rotateZ(45deg); color: #3cce63; }

.reply-form form { width: 100%; display: inline-flex; }

.reply-form form a { margin-right: 10px; }

.btn-group .btn { margin: 15px auto 0px auto; background-color: #085880; color: #fff; padding: 10px; font-size: 20px; border-radius: 5px; }

.btn-group .btn-sm { margin: 5px auto; /*margin: 15px auto 0px auto;*/ background-color: #336b9c; color: #fff; padding: 10px; font-size: 15px; border-radius: 5px; width: 115px; }

.btn-group .btn-lg { margin: 5px auto;/*margin: 15px auto 0px auto;*/ background-color: #336b9c; color: #fff; padding: 5px; font-size: 15px; border-radius: 5px; width: 200px; }

.btn-group .disabled { background-color: #515556; pointer-events: none; }

main .content .card-group { overflow-x: hidden; }

main .content .card-group .title { background-color: #eacfe5; width: 100px; font-size: 15px; font-weight: 570; padding: 10px; }

main .content .card-group .card { padding: 5px 0px; display: flex; width: 100%; border: 1px solid #000; }

main .content .card-group .card .card-img { width: 50px; height: 100%; }

main .content .card-group .card .card-content { padding: 5px; width: 100%; display: inline-flex; /*border: 1px solid #000;*/ }

main .content .card-group .card .card-content .card-message { /*display: inline-flex; */width: 100%; padding-left: 10px; }

main .content .card-group .card .card-content .card-message .row { display: inline-flex; width: 100%; }

main .content .card-group .card .card-content .card-message .col-1 { width: calc(100% - 50px); }

main .content .card-group .card .card-content .card-message .col-2 { width: 50px; text-align: right; /*padding-right: 3px;*/ }

main .content .card-group .card .card-content .card-message .col-2.attack i { transform: rotateZ(136deg); font-size: 15px; margin-left: 35px; margin-bottom: 20px; position: absolute; }

main .content .card-group .card-block { width: 100%; margin: 7px 0px; display: inline-flex; }

main .content .card-group .card-block form { width: 100%; display: inline-flex; }

main .sort-btn-group { position: inherit; top: 115px; display: inline-flex; width: 100%; }
main .sort-btn-group .btn-group { width: 90%; }
main .sort-btn-group .sort-group { margin: 0 25px 0 0; transform: rotateZ(90deg); }
main .sort-btn-group .sort-group i { font-size: 25px; }
#bk_cl.second-modal { z-index: 100; }

#home .tab-panel { width: 100%; display: inline-flex; padding: .7em 0}
#home .tab-panel .calendar-tab { width: 50%; }
#home .tab-panel .tab { border-bottom: 5px transparent solid;}
#home .tab-panel .tab.active, .index .tab-panel .calendar-tab.active { border-color: #3eb5e9; }
.no-display { display: none !important; }

.episode { /*border: 1px solid;*/ /*padding: 10px;*/ border-radius: 3px; margin-top: 10px; }

.episode input { transform: scale(1.08); /*border: none;*/ /*padding: 5px;*/ border: 1px solid; border-radius: 3px; padding: 10px; height: 29px;
    font-size: 14px; }

.episode i { margin: auto 5px; font-size: 20px; }

.episode .search-form i { position: inherit; /*margin-left: -20px;*/ z-index: 1; }

.episode-list { margin-top: 15px; }

.episode-list .episode-block .delivery-info img { width: 50px; height: 45px; }

.episode-list .episode-block .delivery-info span { padding: 10px; }

/*.episode-list .episode-block .img-content { width: 100px; }*/

.episode-list .episode-block { margin: 10px 0; }

.episode-list .episode-block .episode-message { padding: 10px; font-size: 15px; }

.episode-list .episode-block .episode-message .more-read { margin-left: 25%; font-size: 12px; }

.is-full-width { width: 100%; }

.line-flex { display: inline-flex; }

.back-btn {
  position: fixed;
  bottom: 5.5em;
  left: .5em;
  padding: .9em .3em;
  z-index: 22;
  color: #fff;
  background:rgba(73,177,213,.7);
  border-radius: 50%;
}

.back-btn i {
    font-size: 1.2em;
    margin-right: 2px;
    color: #fff;
}

.not-read-flg { color: red; }

.message-content { max-height: 360px; overflow-y: auto; overflow-x: hidden; }

.message-content .img-icon { width: 50px; height: 50px; }

.message-content .img-icon-no-display { width: 50px; height: 50px; opacity: 0; }

.message-content .txt { background-color: #e4b186; border-radius: 10px; padding: 10px; width: 80%; }

.message-content .txt.no-image { width: 80%; }

.message-time { text-align: left; color: #97909a; }

.message-time-L { text-align: right; color: #97909a; }

.message-block { margin: 5px 0px; }

.message-detail .message-content .recieve_message { float: left; width: 90%; }

.message-detail .message-content .sender-content { float: right; width: 90%; }

.message-image { width: 70%; }

.error-message { background-color: red; color: #fff; padding: 5px; margin-top: 5px; font-size: 12px; }

/*アンケート*/
.question { margin: 10px 0; }

.question .title { font-size: 1em; margin: 5px 5px; text-align: left; letter-spacing: 0px; }

.survey-done { background: #e2b5dc; padding: 5px 1px; font-size: 13px; border-radius: 2px; }

.ipGroup .radioBox { position: relative; margin-right: .9rem; padding: .7rem 0; }

.ipGroup .radioBox label { border: 1px solid #5c80b7; padding: .7rem 1rem; color: #5c80b7; }

.ipGroup .radioBox .relationship label { display: inline-block; min-width: 65px; text-align: center; }

.no-border { border: none; }

.mess-red { color: #ec1a1a; font-weight: bold; }

.absent-content .select { width: 175px; }

.help { white-space: pre-line; }

.no-reply-txt { text-align: right; display: inline-block; width: 100%; opacity: 0.6; font-size: 10px; }

.message-txt { background: #ececec; padding: 5px; border-radius: 5px; }

.message-image { width: 70%; }

.textarea { border-radius: 10px; padding: 10px; border: 1px solid; }

/* .select { border: 1px solid; border-radius: 5px; } */

.checkbox .ckb-label, .radioBox .radio-label {position: relative;align-items: flex-end;display: flex;}

/*アンケート*/
.sort-btn-group, .btn-group { width: 100%; }

.arrow-left{
      width: 0px;
    border-color: #e4b186;
    border-style: solid;
    border-width: 5px;
    border-left-color: transparent;
    border-top-color: transparent;
    border-bottom-color: transparent;
    height: 0px;
    transform: scaleX(4.5);
    position: inherit;
    margin-right: 15px;
    margin-top: 10px;
}

.arrow-right{
      width: 0px;
    border-color: #e4b186;
    border-style: solid;
    border-width: 5px;
    border-right-color: transparent;
    border-top-color: transparent;
    border-bottom-color: transparent;
    height: 0px;
    transform: scaleX(4.5);
    position: inherit;
    margin-left: 15px;
    margin-top: 10px;
}

.other .sub_title { background: #f5f5f5; padding: 0.5rem; margin-bottom: 1.5rem; }
.other .tx-c { text-align: center; }
.other .ud { text-decoration: underline; }

.text-align-center { text-align: center; }

.confirm-txt { margin: 30px 0; }

#account_edit_result .complete_msg, #delivery_addr_register_result .complete_msg { text-align: center; width: 100%; }
#account_edit_result .modal_content, #delivery_addr_register_result .modal_content { margin-top: 2rem; min-height: 70px; }

#contact .notice ul { margin-left: 20px; }
#contact .notice ul li { list-style: auto; }
#contact .notice ul li a { text-decoration: underline; }

.enterLeave .subTitle {
    display: flex;
    align-items: center;
    margin-bottom: 1.5rem;
}

.enterLeave .subTitle::before {
    margin-right: 1rem;
}

.enterLeave .subTitle::after {
    margin-left: 1rem;
}

.enterLeave .subTitle::before, .enterLeave .subTitle::after {
    content: '';
    display: block;
    height: 1px;
    background: #333;
    flex-grow: 1;
}

.enterLeave.registerForm .childCheck {
    background: #ed4f8d;
    border-radius: 10px;
    padding: 1rem;
}

.enterLeave.registerForm .childCheck .checkbox {
    margin-bottom: 1rem;
}

.enterLeave.registerForm .childCheck .childInfo .circleImg {
    width: 60px;
    margin: 0;
}

.enterLeave.registerForm .childCheck .checkbox label :not(span) {
    opacity: .7;
}

.enterLeave.registerForm .circleImg img {
    border-radius: 50%;
}

.enterLeave.registerForm .childCheck .childInfo .name {
    flex: 2;
}

.enterLeave.registerForm form {
    width: 85%;
    margin: 0 auto;
}

/*.enterLeave .childInfo::after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 3rem;
    background: #3db5e8;
}*/

.enterLeave.registerForm .childCheck .checkbox input:checked ~ label :not(span) {
    opacity: 1;
}

.enterLeave .currentTime button {
    position: relative;
    margin-top: 7rem;
}

.enterLeave .currentTime button span:first-child {
    font-size: 3rem;
    font-weight: bold;
    background: rgba(245, 221, 147, 0.7);
    padding: 0.7rem 1rem;
    margin-bottom: 1rem;
}

.enterLeave .currentTime button span {
    position: relative;
    z-index: 2;
    display: block;
}

.enterLeave .currentTime button span {
    position: relative;
    z-index: 2;
    display: block;
}

.enterLeave .currentTime button i {
  border-style: solid;
  border-width: 60px;
  border-left-color: transparent;
  border-top-color: transparent;
  border-right-color: transparent;
    position: absolute;
    top: -35%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    font-size: 5rem;
    color: #17d6ff;
}


.jpgsavebutton {
  display       : inline-block;
  border-radius : 3%;          /* 角丸       */
  font-size     : 12pt;        /* 文字サイズ */
  text-align    : center;      /* 文字位置   */
  cursor        : pointer;     /* カーソル   */
  padding       : 6px 11px;   /* 余白       */
  background    : #b30059;     /* 背景色     */
  color         : #ffffff;     /* 文字色     */
  line-height   : 1em;         /* 1行の高さ  */
  transition    : .3s;         /* なめらか変化 */
  border        : 2px solid #999999;    /* 枠の指定 */
}
.jpgsave button:hover {
  box-shadow    : none;        /* カーソル時の影消去 */
  color         : #999999;     /* 背景色     */
  background    : #ffffff;     /* 文字色     */
}

.enterLeave .icon-arrow:after {
    content: "";
    background: #17d6ff;
    position: absolute;
    margin-left: -33px;
    margin-top: 35px;
    height: 190px;
    width: 65px;
}
.enterLeave .btnB {
    border: 1px solid #53ad5b;
    color: #53ad5b;
    padding: 1rem 3rem;
    margin: 50% auto 20% auto;
}

.enterLeave .errMsg {
    margin-bottom: 2rem;
    padding: 1rem;
    border: 1px solid #af0404;
    background: #f0c8c8;
    display: none;
    transition: .3s;
}

#contact-register .contact-book .textarea textarea {
  transform: scale(1);
  border: none;
  width: 100%;
  padding: 0px;
}

/* 個別指導計画 */
#tutoring-plan-list #main_contents > div:not(:last-child) {
  margin-bottom: 3rem;
}
#tutoring-plan-list .link-list {
  border-collapse: collapse;
  width: 100%;
}
#tutoring-plan-list .link-list tr:active {
  background-color: lightgray;
  transition: 0s;
}
#tutoring-plan-list .link-list td {
  border-bottom: 1px #f2f2f2 solid;
  height: 3rem;
}
#tutoring-plan-list .link-list a {
  display: block;
  height: 100%;
  line-height: 3rem;
}

#tutoring-plan-view .back-to-list,
#tutoring-plan-request .back-to-list {
  background-color: lightgray;
  border-radius: 5px;
  display: inline-block;
  padding: 0.2rem 0.5rem;
  margin-bottom: 1rem;
}
#tutoring-plan-view .move-buttons {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: 1rem;
}
#tutoring-plan-view .move-buttons .button.hidden {
  visibility: hidden;
}
#tutoring-plan-view .move-buttons .button {
  border: 1px solid black;
  border-radius: 10px;
  display: block;
  padding: 0.5rem 1rem;
}
#tutoring-plan-view .move-buttons .date {
  flex-grow: 1;
  font-size: medium;
  text-align: center;
}
#tutoring-plan-request .date {
  font-size: medium;
}
#tutoring-plan-view .no-result,
#tutoring-plan-request .no-result {
  background-color: lightgray;
  font-weight: bold;
  height: 100px;
  line-height: 100px;
  text-align: center;
}
#tutoring-plan-view .plan,
#tutoring-plan-request .plan {
  margin: 0 auto;
  width: 90%;
}
#tutoring-plan-request hr {
  margin: 2rem 0;
}
#tutoring-plan-view .plan > div:not(:last-child),
#tutoring-plan-request .plan > div:not(:last-child) {
  margin-bottom: 1rem;
}
#tutoring-plan-view .plan > div:last-child {
  margin-bottom: 3rem;
}
#tutoring-plan-view .text-item,
#tutoring-plan-request .text-item {
  white-space: pre-wrap;
}
#tutoring-plan-request .modal-confirm .confirm-content {
  max-height: 350px;
  overflow-y: scroll;
  margin-bottom: 2rem;
}
#tutoring-plan-request .modal-confirm .confirm-explain {
  margin-bottom: 1rem;
}
#tutoring-plan-request .modal-confirm .confirm-caution {
  color: red;
}
#tutoring-plan-request .modal-confirm .confirm-content > div:not(:last-child) {
  margin-bottom: 1rem;
}

footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid #746968;
  padding-bottom: 1em;
}
footer * {
  color: #746968;
}
footer a {
  padding: 0.7rem 0 0.2rem;
  text-align: center;
  width: calc(100% / 4);
}
footer a > span {
  display: block;
  font-size: 0.7em;
}
footer .f_icon {
  position: relative;
  display: inline-block;
  padding: 0 0.7em;
}
footer .f_icon .fas, footer .f_icon .far {
  font-size: 1.5em;
}
footer .f_icon .notice {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  bottom: 0;
  right: 0;
  color: white;
  background: #cb0b0b;
  font-size: 0.8rem;
  width: 15px;
  height: 15px;
  border-radius: 50%;
}
footer .active {
  pointer-events: none;
}
footer .active * {
  color: #beb7b7;
}

.application-title .c_detail .g-table { width: 70%; margin: auto; text-align: center; }
.application-title .c_detail .spot-num { display: flex; }
.application-title .c_detail .spot-num div { width: 25%; }
.text-right { text-align: right; }
.text-center { text-align: center; }

div.confirm .answer_btn .full-width { width: 100%; }

.bg-absence { background-color: #f66f92 !important; color: #000; }


/*_:lang(x)+_:-webkit-full-screen-document, .question .answer .radioBox input:checked ~ label span::after {
    content: "";
    display: block;
    position: absolute;
    margin: 3px;
    width: 0.4rem;
    height: 0.4rem;
    border: solid #095d7d;
    border-radius: 50%;
    background-color: #095D7A;
}*/

_:lang(x)+_:-webkit-full-screen-document, .radioBox input:checked ~ label span::after {
    margin: 3px !important;
    width: 0.4rem !important;
    height: 0.4rem !important;
}