
/* -------------------------------------------
全画面共通
style.css
---------------------------------------------- */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500;700;900&display=swap');
@import url(https://use.fontawesome.com/releases/v5.10.0/css/all.css);

/* --------------------------------------------
html
----------------------------------------------- */
html{
    height: 100%;
}

/* --------------------------------------------
body
----------------------------------------------- */
body{
    font-family:'メイリオ', 'Meiryo', sans-serif;
    min-width: 1000px;
    color: #707070;
    /*
    background-color: #E5E5E5;
    background: url(../../../image/sls/wps/background.png) no-repeat center;
    background-size: cover;
    background-attachment: fixed;
    background-repeat: no-repeat;
    */
  }

body:before{
	content:"";
	display:block;
	position:fixed;
	top:0;
	left:0;
	z-index:-1;
	width:100%;
	height:100vh;
	background-repeat:no-repeat;
	background: url(../../../image/sls/wps/background.png) no-repeat center;
	background-size: cover;
}

/* --------------------------------------------
header
----------------------------------------------- */
header{
    color: #fff;
    text-align: center;
    padding: 10px;
    width: 100%;
    position: fixed;
    z-index: 99;
    height: 55px;
}
.header_title{
    text-align: center;
    vertical-align: middle;
    position: fixed;
    top: 0;
    left: 0;
}
.title_icon{
    display: block;
    width: 150px;
    height: 55px;
    background: linear-gradient(to top, black, rgb(207, 41, 12));
}

.header_title span i{
    font-size: 30px;
    position: fixed;
    top: 13px;
    left: 15px;
}
.title_text{
    font-size: 30px;
    position: fixed;
    top: 13px;
    left: 51px;
    font-family: elephant;
}
.header_title img{
    width: 120px;
    padding-top: 10px;
}
/* --------------------------------------------
footer
----------------------------------------------- */
footer p{
    text-align: center;
    font-size: 12px;
}

/* --------------------------------------------
共通:全体
----------------------------------------------- */
.max1000{
    max-width: 1000px;
    margin: 0 auto;
}
.contents_area{
    width: 80%;
    margin: 0 auto;
    padding: 5% 0;
}
.contents{
    margin-top: 50px;
}
/* 背景のポリゴン調整 */
.fss-output{
    position: fixed !important;
}
/* レスポンシブ */
.pc_only{
    display: block;
}
.sp_only{
    display: none;
}
/* --------------------------------------------
共通:ボタン
----------------------------------------------- */
.btn_area{
    text-align: center;
    margin: 20px 0;
}

.big_btn{
    border-radius: 3px;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    padding: 5px 30px;
    text-shadow: 0 0 5px rgba(0,0,0,.5);
    transition-duration: 0.2s;
  }
.red_btn{
    background-color: #C82854;
}
.blue_btn{
    background-color: #6699FF;
}
.red_btn:hover,.blue_btn:hover{
    opacity: 0.7;
    cursor: pointer;
}
.orange_btn {
    background-color: #df8a0b;
}

.gray_btn {
    background-color: #909090;
}
.orange_btn:hover,.gray_btn:hover{
    opacity: 0.7;
    cursor: pointer;
}
.dis_btn {
    background-color: #909090;
    opacity: 0.8;
}
.btn_right{
    text-align: right;
    padding-right: 20px;
}
.btn_left{
    text-align: left;
    padding-left: 20px;
}
.small_btn{
    border-radius: 3px;
    color: #fff !important;
    padding: 3px 20px;
    font-size: 14px;
    transition-duration: 0.2s;
    margin: 0 5px;
}
.normal_btn{
    border-radius: 3px;
    color: #fff !important;
    font-size: 16px;
    font-weight: bold;
    padding: 7px 30px;
    transition-duration: 0.2s;
    margin: 0 10px;
    display:inline-block;
}

.detail_btn{
    background-color: #6699FF;
    border-radius: 20px;
    color: #fff !important;
    text-align: center;
    padding: 5px 0;
    margin: 20px !important;
}
.detail_btn i{
    margin-right: 5px;
}
.detail_btn:hover{
    opacity: 0.8;
    cursor: pointer;
}
.del_btn i{
    color: #C82854;
}
.add_btn_plus i{
    color: #6699FF;
}
.del_btn i:hover,.add_btn:hover,.add_btn_plus:hover{
    opacity: 0.8;
    cursor: pointer;
}
.add_btn{
    width: 90%;
    background-color: #6699FF;
    padding: 5px 10px;
    border-radius: 20px;
    color: #fff !important;
}
.add_btn a{
	color: #fff !important;
}
.add_btn i{
    margin-right: 3px;
}
input[type="radio"]{
    opacity: 0;
    -webkit-appearance: radio;
    margin-right: 5px !important;
    border-radius: 50%;
}
/* --------------------------------------------
共通:フォーム関連
----------------------------------------------- */
.radio_label{
    position: relative;
    margin: 0 10px;
}
.radio_label input[type="radio"] + span{
    top:0;
    left:0;
    position: absolute;
    content:'';
    width: 12px;
    height: 12px;
    box-shadow: 0 0 0 2px #069B1A;
    border-radius: 50%;
    display: inline-block;
    margin-top: 5px;
}
.radio_label input[type="radio"]:checked + span::after{
    position: absolute;
    top:0;
    left:0;
    content: '';
    display: inline-block;
    border-radius: 50%;
    width: 12px;
    height: 12px;
    background-color: #069B1A;
}
/* datepicker関連 */
.datepicker{
	z-index:100 !important;
}
.datepicker .clear{
	background:#D4D4D4;
	padding-top:7px;
}
.datepicker td, .datepicker th{
	padding:5px;
}
.datepicker .dow:first-child{
	color:red;
}
.datepicker .dow:last-child{
	color:blue;
}
.datepicker_month_label .datepicker_month{
	width:100%!important;
	text-align:left;
	pointer-events:auto;
	cursor:pointer;
}
.datepicker_month_label{
	position:relative;
	width:40% !important;
	min-width:150px;
}
.datepicker_month_label::after {
	content:"\f073";
	font-family:"Font Awesome 5 Free";
	display:inline-block;
	position:absolute;
    top: 50%;
    right: 11px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	pointer-events:none;
	z-index:1;
}
.datepicker_date_label .datepicker_date{
	width:100%!important;
	text-align:left;
	pointer-events:auto;
	cursor:pointer;
}
.datepicker_date_label{
	position:relative;
	width:40% !important;
	min-width:150px;
}
.datepicker_date_label::after {
	content:"\f073";
	font-family:"Font Awesome 5 Free";
	display:inline-block;
	position:absolute;
    top: 50%;
    right: 9px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	pointer-events:none;
	z-index:1;
}
.datepicker_time_label .datepicker_time{
	width:100%!important;
	text-align:left;
	pointer-events:auto;
	cursor:pointer;
}
.datepicker_time_label{
	position:relative;
	width:40% !important;
	max-width:100px;
}
.datepicker_time_label::after {
	content:"\f017";
	font-family:"Font Awesome 5 Free";
	display:inline-block;
	position:absolute;
    top: 50%;
    right: 9px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	pointer-events:none;
	z-index:1;
}

/* .xdsoft_datetimepicker::after{
	content:"クリア";
	width:10px;
	height:10px;
	background:red;
} */
/* .xdsoft_timepicker::after{
	content:"クリア2";
	width:10px;
	height:10px;
	background-color: #D4D4D4;
	border-radius:3px;
} */
 .time_clearbtn{
z-index: 99999;
    background-color: #D4D4D4;
    border-radius: 3px;
    position: absolute;
    bottom: 7px;
    height: 20px;
    width: 60px;
    border: #ddd 1px solid;
    text-align: center;
    font-weight: bold;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    padding-top: 3px !important;
}
}
.xdsoft_datetimepicker{
	padding-bottom:30px;
}

/* --------------------------------------------
共通:ドロワーメニュー
----------------------------------------------- */
.drawer-hamburger-icon, .drawer-hamburger-icon:after,
.drawer-hamburger-icon:before{
    background-color: #fff !important;
}
.drawer-nav{
    text-align: left !important;
    opacity: 0.9 !important;
}
.drawer-menu-item{
    color: #fff !important;
    border-bottom: 1px solid #fff !important;
    padding: 1rem !important;
}

.drawer-menu-name{
    font-size: 0.9rem !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    padding-top: 3rem !important;
}
.drawer-menu-item:hover{
    cursor: pointer;
}
/* --------------------------------------------
共通:モーダルウィンドウ
*画像のみライブラリ(lity)使用
----------------------------------------------- */
/* https://www.tipdip.jp/tips_posts/production/2090/ */
.modal_bg{
    position: fixed;
    width: 100%;
    height: 120%;
    background-color: #000;
    opacity: 0.8;
    top: 0;
    left: 0;
    display: none;
    z-index: 6666;
}

.modal_box {
    position: fixed;
    z-index: 7777;
    display: none;
    width: 80%;
    max-width: 840px;
    margin: 0;
    padding: 60px 2vw;
    border-radius: 5px;
    text-align: center;
    background: #fff;
    box-sizing: border-box;
    margin: 0 auto;
    max-height: 70vh;
    min-height: 50vh;
    overflow-y: scroll;
    overflow-x: hidden;
}
.modal_box p{
    text-align: left;
}
.modal_box p i{
    margin-right: 5px;
}
.modal_box iframe{
    height: 100%;
    min-height: 300px;
    width: 100%;
    border: 1px solid #707070;
    border-radius: 5px;
}
.modal_close{
    position: absolute;
    top: 5px;
    right: 5px;
    color: #707070;
    opacity: 0.8;
    font-size: 30px;
}
.detail_btn_a{
    display: block;
    background-color: #6699FF;
    border-radius: 20px;
    color: #fff !important;
    text-align: center;
    padding: 5px 0;
    margin: 20px;
}
.detail_btn_a i{
    margin-right: 6px;
}
/* 利用規約 */
/* https://gimmicklog.com/jquery/359/ */
.check_txt{
    margin: 5px 0;
    text-align: center !important;
    font-size: 14px;
}
/* 利用規約モーダル */
.kiyaku_bg{
    position: fixed;
    width: 100%;
    height: 120%;
    background-color: #000;
    opacity: 0.8;
    top: 0;
    left: 0;
    display: none;
    z-index: 6666;
}
/* --------------------------------------------
ログイン画面
----------------------------------------------- */
.login{
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    min-height: 100%;
}
.login main{
    padding-top: 30px;
}

.login_table{
    background-color: #707070;
    opacity: 0.8;
    width: 70%;
    margin: 0 auto;
    border-radius: 18px;
}
.login_input{
    padding: 20px 20px 20px 20px;
    width: 80%;
    margin: 0 auto;
    opacity: 1;
}
.login_input table{
    width: 100%;
}
.login_input th, .login_input td{
    vertical-align: middle;
    text-align: left;
}
.login_input input[type="text"],
.login_input input[type="password"],
.login_input input[type="mail"],
.login_input select{
    background-color: #2b2727;
    border-bottom: 1px solid #707070;
    padding: 0.7em 0.3em;
    width: 100% !important;
    margin: 10px 0;
    border-radius: 3px;
    color: #fff;
}
.login_input input[type="password"]:hover,.login_input input[type="password"]:focus,
.login_input input[type="text"]:hover,.login_input input[type="text"]:focus,
.login_input input[type="mail"]:hover,.login_input input[type="mail"]:focus,
.login_input select:focus
{
    background-color: #000;
    border-radius: 3px;
    color: #fff;
    transition-duration: 0.2s;
}
.login_input input::placeholder{
    color: #fff !important;
}
.login_input input:hover::placeholder{
    color: #fff !important;
}
.login_btn{
    font-size: 20px;
    padding: 13px 40px;
  }

.btn_shadow_g{
    -webkit-box-shadow: 0 3px 5px rgba(0, 0, 0, .3);
    box-shadow: 0 3px 5px rgba(0, 0, 0, .3);
}
.login_btn:hover{
    margin-top: 3px;
    color: #fff;
}

.main_logo_area{
    text-align: center;

}
.main_logo_area img{
    width: 170px;
    padding: 50px 0 0 0 ;
}
.main_logo_area p{
    font-size: 40px;
    color: #fff;
    font-weight: bold;
}
.loginError{
	color: #EB4A82!important;
    padding: 5px 10px;
    font-size: 15px;
    background-color: #FFEAF1;
    border: 2px solid #EB4A82;
    margin-bottom: 5px;
    border-radius: 3px;
    text-align: center;
}
/* --------------------------------------------
エラーページ画面
----------------------------------------------- */
.error_area{
    text-align: center;
    font-weight: bold;
    color: red;
}
.error_area p{
    margin: 10px 0;
}
.error_area p span{
    padding-left: 8px;
}

/* --------------------------------------------
共通:バリデーションエラーメッセージ
----------------------------------------------- */
.error_messages_area {
	margin: 10px;
}
.error_messages_area p {
	color: red!important;
    padding: 5px;
    font-size: 15px;
    background-color: #FFE1E1;
    border: 2px solid #E77777;
    margin-bottom: 5px;
    border-radius: 3px;
}
.error_messages_area p:before{
	content: '\f071';
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	margin-right:5px
}
.back_red{
	background-color :#FFE1E1!important;
	border: 2px solid #E77777!important;
}
/* --------------------------------------------
共通:登録成功メッセージ
----------------------------------------------- */
.success_messages_area {
	margin: 10px;
}
.success_messages_area p {
	color: #57A8FF!important;
	padding: 5px;
	font-size: 15px;
	background-color: #D5E9FF;
	border: 2px solid #3A98FF;
	margin-bottom: 5px;
	border-radius: 3px;
}
.success_messages_area p:before{
	content: '\f058';
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	margin-right:5px
}
/* --------------------------------------------
共通:登録成功メッセージ
----------------------------------------------- */
.success_message{
	margin: 10px;
	color: #57A8FF!important;
	padding: 5px;
	font-size: 15px;
	background-color: #D5E9FF;
	border: 2px solid #3A98FF;
	margin-bottom: 5px;
	border-radius: 3px;
}
.success_message:before{
	content: '\f058';
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	margin-right:5px
}
/* --------------------------------------------
TOP画面*要整理↓
----------------------------------------------- */
.contents_parts{
    padding: 0.5em 1em;
    margin: 2em 0;
    background: #fff;
    border-bottom: solid 6px #707070;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.25);
    border-radius: 9px;
}
.parts_title_line{
    position: relative;
}
.parts_title_line::before{
    position: absolute;
    content: '';
    bottom: -3px;
    right: -2px;
    width: 0;
    height: 0;
    border: none;
    border-right: solid 15px transparent;
}
.parts_title_line::after{
    position: absolute;
    content: '';
    bottom: -3px;
    left: 0;
    width: 100%;
}
.parts_title img{
    width: auto;
    height:100px;
    padding: 10px;
}
.parts_title p{
    font-size: 22px;
    padding: 15px 5px 5px 5px;
    font-weight: bold;
}
.parts_title i{
    padding-right:8px;
}
.parts_title_line span{
    font-weight: bold;
    color: #000;
}
.parts_area{
    padding: 15px;
}
.parts_area p{
    color: #000;
}

.matters_area{
    display: flex;
    justify-content: start;
    align-items: center;
}
.matters i{
    color: rgb(153, 21, 21);
}
.matters{
    width: 150px;
    border-color: red;
    padding: 8px 10px 10px 10px;
    margin: 5px;
    border-radius: 3px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.25);
}
.matters_title{
    font-size: 14px;
    color: #707070;
}
.matters_num{
    font-size: 30px;
    text-align: center;
    font-weight: bold;
    padding-right: 6px;
    padding-top: 22px;
}
.matters_num span{
    font-size: 16px;
}

.index table{
    width: 100%;

}
.index th,.index td{
    text-align: center;
    vertical-align: middle;
    padding: 10px 5px;
}
.index th{
    background-color: #069B1A;
    color: #fff;

}
.index th:nth-child(1) {
    border-radius: 10px 0 0 0;
   }
.index th:last-child {
    border-radius: 0 10px  0 0;
   }
.index tr:nth-child(2n){
    background-color: #c6ffce;
}
.table_icon a{
    font-weight: bold;
    color: #6699ff;
}
.table_icon img{
    width: 50px;
    height: 50px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}
.table_icon p{
    margin-left: 15px;
    text-align : left;
}
.icon_red{
    border: 4px solid #E60012;
}
.icon_blue{
    border: 4px solid #1D2088;
}
.icon_orange{
    border: 4px solid #F39800;
}
.icon_purple{
    border: 4px solid #920783;
}
.icon_green{
    border: 4px solid #009944;
}
.icon_lightblue{
    border: 4px solid #0068B7;
}
.icon_yellow{
    border: 4px solid #b1a915;
}
.icon_pink{
    border: 4px solid #dd3fd0;
}
.icon_lightgreen{
    border: 4px solid #6ad141;
}
.icon_gray{
    border: 4px solid #5c5f66;
}

.table_icon img{
    transition:0.5s all;
}
.table_icon img:hover{
    transform: scale(1.5,1.5);
    opacity: 0.8;
}
.table_icon{
    display: flex;
    justify-content: start;
    align-items: center;
}
.table_logo{
    width: 80px;
}
.btn_st_r{
    color: #E60012;
    background-color: #fff;
    border-radius: 20px;
    border: #E60012 3px solid;
    padding: 3px 20px;
}
.btn_st_b{
    color: #1D2088;
    background-color: #fff;
    border-radius: 20px;
    border: #1D2088 3px solid;
    padding: 3px 10px;
}
.btn_st_o{
    color: #F39800;
    background-color: #fff;
    border-radius: 20px;
    border: #F39800 3px solid;
    padding: 3px 30px;
}
.btn_st_pp{
    color: #920783;
    background-color: #fff;
    border-radius: 20px;
    border: #920783 3px solid;
    padding: 3px 30px;
}
.btn_st_gr{
    color: #009944;
    background-color: #fff;
    border-radius: 20px;
    border: #009944 3px solid;
    padding: 3px 30px;
}
.btn_st_lb{
    color: #0068B7;
    background-color: #fff;
    border-radius: 20px;
    border: #0068B7 3px solid;
    padding: 3px 30px;
}
.btn_st_y{
    color: #b1a915;
    background-color: #fff;
    border-radius: 20px;
    border: #b1a915 3px solid;
    padding: 3px 15px;
    font-size:14px;
}
.btn_st_pi{
    color: #dd3fd0;
    background-color: #fff;
    border-radius: 20px;
    border: #dd3fd0 3px solid;
    padding: 3px 30px;
}
.btn_st_lg{
    color: #6ad141;
    background-color: #fff;
    border-radius: 20px;
    border: #6ad141 3px solid;
    padding: 3px 30px;
    font-size: 14px;
    display: block;
}
.btn_st_g{
    color: #5c5f66;
    background-color: #fff;
    border-radius: 20px;
    border: #5c5f66 3px solid;
    padding: 3px 30px;
}


/* --------------------------------------------
お知らせ
http://sozai.akuseru-design.com/category/sozai/new/
----------------------------------------------- */
ol.alert_list{
    counter-reset:list;
    list-style-type:none;
    font: 14px/1.6 'arial narrow', sans-serif;
    padding:0;
  }
  ol.alert_list li{
    position:relative;
    padding: 0 0 0 20px;
    margin: 7px 0 7px 0px;
    font-weight: bold;
    font-size:14px;
    line-height: 30px;
  }
  ol.alert_list li:before{
    counter-increment: list;
    content: "";
    display: block;
    position: absolute;
    left: 0px;
    height: 10px;
    width: 10px;
    border-radius: 50%;
    top: 50%;
    -moz-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .alert_list span{
      margin-right: 15px;
  }
  .alert_list img{
      padding: 10px;
  }
  .alert_list_ct_r{
      color: #fff;
      background-color: #9b0606;
      border-radius: 3px;
      padding: 3px 10px;
  }

.alert_list_ct_y{
    color: #fff;
    background-color: #df8a0b;
    border-radius: 3px;
    padding: 3px 10px;
}
 /* --------------------------------------------
きらりと光るアニメーション
https://www.showdesignlab.com/weblog/2019/05/17/219/
----------------------------------------------- */
  .reflection {
    width: 150px;
    height: 92px;
    position: relative;
    overflow: hidden;
    background-color: #E5E5E5;
  }
  .reflection::after {
    content: "";
    display: block;
    width: 30px;
    height: 100%;
    position: absolute;
    top: -180px;
    left: 0;
    background-color: #FFF;
    opacity: 0;
    transform: rotate(45deg);
    animation: reflect 2s ease-in-out infinite;
    -webkit-transform: rotate(45deg);
    -webkit-animation: reflect 2s ease-in-out infinite;
  }
  @keyframes reflect {
    0% { transform: scale(0) rotate(45deg); opacity: 0; }
    80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { transform: scale(4) rotate(45deg); opacity: 1; }
    100% { transform: scale(50) rotate(45deg); opacity: 0; }
  }
  @-webkit-keyframes reflect {
    0% { transform: scale(0) rotate(45deg); opacity: 0; }
    80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { transform: scale(4) rotate(45deg); opacity: 1; }
    100% { transform: scale(50) rotate(45deg); opacity: 0; }
  }


/* --------------------------------------------
ローディングアニメーション
https://digipress.info/tech/css-spinner-animation-demo/
----------------------------------------------- */
.spinner {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    -webkit-transform-origin: center;
            transform-origin: center;
    width: 120px;
    height: 120px;
}

.spinner.dot-typing {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #E8E8E8;
  color: #E8E8E8;
  box-shadow: -16px 0 0 0 #E8E8E8, 0 0 0 0 #E8E8E8, 16px 0 0 0 #E8E8E8;
  /* ローディング要素のアニメーションを指定 */
  animation: dotTyping 1.5s infinite linear;
}

/* ローディング要素のアニメーション内容 */
@keyframes dotTyping {
  0% {
    box-shadow: -16px 0 0 0 #E8E8E8, 0 0 0 0 #E8E8E8, 16px 0 0 0 #E8E8E8;
  }
  16.667% {
    box-shadow: -16px -10px 0 0 #E8E8E8, 0 0 0 0 #E8E8E8, 16px 0 0 0 #E8E8E8;
  }
  33.333% {
    box-shadow: -16px 0 0 0 #E8E8E8, 0 0 0 0 #E8E8E8, 16px 0 0 0 #E8E8E8;
  }
  50% {
    box-shadow: -16px 0 0 0 #E8E8E8, 0 0 0 0 #E8E8E8, 16px 0 0 0 #E8E8E8;
  }
  66.667% {
    box-shadow: -16px 0 0 0 #E8E8E8, 0 0 0 0 #E8E8E8, 16px 0 0 0 #E8E8E8;
  }
  83.333% {
    box-shadow: -16px 0 0 0 #E8E8E8, 0 0 0 0 #E8E8E8, 16px -10px 0 0 #E8E8E8;
  }
  100% {
    box-shadow: -16px 0 0 0 #E8E8E8, 0 0 0 0 #E8E8E8, 16px 0 0 0 #E8E8E8;
  }
}

.box{
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 9999;
  -webkit-transition: all 1.2s ease; /* 1.2秒でフェードアウト */
           transition: all 1.2s ease;
  color: #fff; /* ローディングアニメーションカラー */
  background-color: #333; /* 背景カラー */
}

.loaded{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}


/* -----------------------------------------------
トグルボタン
-------------------------------------------------- */
.switch .display{
    font-size: 14px;
}
.switch__label {
    width: 50px;
    position: relative;
    display: inline-block;
}
.switch__content {
    display: block;
    cursor: pointer;
    position: relative;
    border-radius: 30px;
    height: 24px;
    overflow: hidden;
}
.switch__content:before {
    content: "";
    display: block;
    position: absolute;
    width: calc(100% - 3px);
    height: calc(100% - 3px);
    top: 0;
    left: 0;
    border: 1.5px solid #E5E5EA;
    border-radius: 30px;
    background-color: #fff;
}
.switch__content:after {
    content: "";
    display: block;
    position: absolute;
    background-color: transparent;
    width: 0;
    height: 0;
    top: 50%;
    left: 50%;
    border-radius: 30px;
    -webkit-transition: all .2s;
       -moz-transition: all .2s;
        -ms-transition: all .2s;
         -o-transition: all .2s;
            transition: all .2s;
}
.switch__input {
    display: none;
}
.switch__circle {
    display: block;
    top: 0;
    left: 2px;
    position: absolute;
    -webkit-box-shadow: 0 2px 6px #999;
            box-shadow: 0 2px 6px #999;
    width: 20px;
    height: 20px;
    -webkit-border-radius: 20px;
            border-radius: 20px;
    background-color: #fff;
    -webkit-transition: all .2s;
       -moz-transition: all .2s;
        -ms-transition: all .2s;
         -o-transition: all .2s;
            transition: all .2s;
}
.switch__input:checked ~ .switch__circle {
    left: 26px;
}
.switch__input:checked ~ .switch__content:after {
    background-color: #069B1A;
    top: 0;
    left: 0;
    width: calc(100% - 3px);
    height: calc(100% - 3px);
}
/* TOPに戻るボタン */
#page_top{
    width: 50px;
    height: 50px;
    position: fixed;
    right: 0;
    bottom: 0;
    background: #3f98ef;
    opacity: 0.6;
    border-radius: 50%;
  }
#page_top a{
    position: relative;
    display: block;
    width: 50px;
    height: 50px;
    text-decoration: none;
}
#page_top a::before{
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f102';
    font-size: 25px;
    color: #fff;
    position: absolute;
    width: 25px;
    height: 25px;
    top: -5px;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
}
/* -----------------------------------------------
利用規約
-------------------------------------------------- */
.terms_parts{
    margin: 20px auto;
    line-height: 1.2;
}
.terms_title{
    font-weight: bold;
    font-size: 18px;
}
.terms_last{
    margin-top: 50px;
}
.terms_content_area iframe {
	width: 100%;
    padding-top: 15px;
}
/* -----------------------------------------------
経歴登録
-------------------------------------------------- */
.history_table th{
    width: 160px !important;
}
.history_table td span{
    margin: 10px;
    display: inline-block;
}

/* -----------------------------------------------
_reboot.scss 上書き部分
-------------------------------------------------- */
body{
	line-height:1;
}
button:focus {
  outline: none;
}
a:hover{
 text-decoration: none;
 opacity:0.8;
}
p{
	margin-bottom:0 !important;
}
button, [type="button"], [type="reset"], [type="submit"]{
	-webkit-appearance:none;
}
label {
	margin-bottom: 0;
}
/* -----------------------------------------------
タブレットサイズ以下
-------------------------------------------------- */
@media screen and (max-width:1024px){
    body{
        min-width: auto;
    }
}
/* --------------------------------------------
共通:全体
----------------------------------------------- */
.contents_area{
    width: 90%;
}
.td_flex{
	display:flex;
	justify-content:flex-start;
	align-items:center;
}
.date_interval_span{
	margin-left:10px !important;
	margin-right:10px !important;
}
.pre_text{
	white-space: pre-wrap;
}
.return_btn_top{
	margin-top:10px;
}
/* -----------------------------------------------
スマホサイズ以下
-------------------------------------------------- */
@media screen and (max-width:767px){
		.td_flex{
			display:block;
		}
        .login_table{
            width: 95%;
        }
        .pc_only{
            display: none;
        }
        .sp_only{
            display: block;
        }
        .required_mark{
            display: inline-block;
        }
        .contents_area{
            width: 95%;
        }
        .parts_area{
            padding: 5px;
        }
        .contents_parts{
            padding: 0.5em 0.6em;
            margin: 1em 0;
        }
        .btn_right{
            padding-right: 0;
        }
        .btn_left{
            padding-left: 0;
        }
        .del_btn i,.add_btn_plus i{
            font-size: 20px;
        }
        /*テーブルレスポンシブ
        https://blog.8bit.co.jp/?p=15136 */
        .index table thead{
            display: none;
        }
        .index table th,.index table td{
            display: block;
            text-align: right;
        }
        .index table td{
            border-bottom: 1px dotted #bbbbbb;
            padding: 15px 5px;
        }
        .index table tr{
            border-bottom: 1px solid #069B1A;
            padding: 12px 5px;
        }
        .index table tr td:last-child{
            border: none;
        }
        .index table td::before{
            content: attr(label);
            float: left;
            clear: both;
            font-weight: bold;
        }
        .table_icon{
            justify-content: flex-end;

        }
        .table_icon img{
            display: none;
            text-align: right;
        }

        .table_logo{
            height: 30px;
            width: auto;
        }

        /* ステータスボタン */
        .btn_st_r,.btn_st_b,.btn_st_o,
        .btn_st_pp,.btn_st_g,.btn_st_lb,
        .btn_st_y,.btn_st_pi,.btn_st_lg,.btn_st_g
        {
            padding: 3px 15px;
            font-size: 14px;
        }

        .btn_st_lg{
        	display: inline;
        }

        /* お知らせ */
        ol.alert_list li{
            padding: 3px;
        }
        ol.alert_list li::before{
            display: none;
        }
        .alert_list_ct_r{
            padding: 3px 6px;
        }
        .alert_list span {
            margin-right: 5px;
        }
        .error_area img{
        	width:100%;
        }
         .radio_label input[type="radio"]{
            margin-right: 5px;
        }
        .history_table td span{
        	margin: 7px;
        }
		.reflection {
			width: 45%;
			height: 80px;
		}
		.matters_area {
			flex-wrap: wrap;
			align-items: center;
		}
		.matters_num {
			padding-top: 10px;
		}
		table.qualification_table td label{
            display: inline-block !important;
            width: 100% !important;
        }
}