@charset "UTF-8";
html {
  touch-action: manipulation;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow-y: scroll;
  /* All browsers without overlaying scrollbars */
  -webkit-text-size-adjust: 100%;
  /* iOS 8+ */
}

*,
::before,
::after {
  background-repeat: no-repeat;
  /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

::before,
::after {
  text-decoration: inherit;
  /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit;
}

* {
  padding: 0;
  /* Reset `padding` and `margin` of all elements */
  margin: 0;
}

[v-cloak] {
  display: none;
}

.invalid-feedback {
    display: none;
    width: 100%;
    margin-top: 0.25rem;
    font-size: 80%;
    color: #e3342f;
}

ul, dl {
  list-style: none;
}

a {
  text-decoration: none;
  color: #59A2B9;
}

a:hover,button:hover {
  opacity: 0.85;
}

a:focus,a:active {
  outline: 0;
}

textarea:focus,input:focus,button:focus,select:focus{
  outline: 0;
}


button{
  border: none;
  background-color: inherit;
  cursor: pointer;
}

html {
 touch-action: manipulation;
}

label{
  display: inline-block;
}

th{
  text-align: start;
}

h1{
  line-height: 1.2;
}

img {
    vertical-align: middle;
    border-style: none;
}

html, body {
  height: 100%;
  width: 100%;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif !important;
  color: #222222;
  font-size: 0.9rem;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
}

body{
  background: #EEEDED;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
  html, body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #222222;
  }
}


/*inputなどのブラウザdefaultのスタイルとる*/
/*
  input,textarea {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -webkit-appearance: none;
    max-width: 100%;
  }
*/
/*
select::-ms-expand {
    display: none;
}
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
*/




/*テキスト周り*/
.font_bold {
  font-weight: bold;
}
.text_red {
  color: #E94E2E;
}


/*注意書きのスタイル*/
.cooperation_memo {
  box-sizing: border-box; /* 線を内側に */
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
.cooperation_memo i {
  margin-right: 4px;
}
.cooperation_memo .storeIdentityNumber {
  font-weight: bold;
}
.cooperation_memo .storeIdentityNumber::before {
  content: "：";
  font-weight: normal;
}
.cooperation_memo.white {
  display: block;
  background: #FFFFFF;
  color: #222222;
  font-size: 12px;
  font-weight: normal;
  text-align: center;
  line-height: 1;
  border-radius: 4px;
  margin: 4px 0 8px 0;
  padding: 8px;
}
.cooperation_memo.red {
  display: block;
  background: #fff0f0;
  color: #E94E2E;
  font-size: 12px;
  font-weight: bold;
  word-break: break-all;
  border-radius: 4px;
  margin: 8px 0 0 0;
  padding: 8px;
}
.cooperation_memo.orange {
  display: flex;
  align-items: center;
  color: #D59300;
  font-size: 12px;
  font-weight: bold;
  background: #FDF6CA;
  border: 1px solid #FAB301;
  border-radius: 4px;
  padding: 8px;
  margin: 8px 0 0 0;
}
/*fontawesomeのスタイル*/


/*main周り*/
.main {
  background: #EEEDED;
  padding: 50px 0 0 0;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
  overflow: scroll;
}

/* main_inner_wide */
.main_inner_wide{
  padding: 0 0 24px;
  margin: 24px auto 0;
  max-width: 700px;
  word-break: break-all;
}

/* 767px~930px と 700px以下 余白調整*/
@media screen and (min-width:767px) and ( max-width:930px) {
  .main_inner_wide{
    margin-top: 0;
  }
}

@media screen and (max-width: 700px){
  .main_inner_wide{
    margin-top: 0;
  }
}
/* /767px~930px と 700px以下 余白調整*/

.main .main_inner_wide .form_wrap{
  background: #fff;
  margin-bottom: 0;
  padding: 24px 16px;
  margin: 0 0 24px;
  border-radius: 4px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
}

.main .main_inner_wide .form_block {
  max-width: initial;
  padding: 0;
}

.main .main_inner_wide .form_contents_select.form_contents_harf{
  max-width: 50%;
}

.main .main_inner_wide .form_guide{
  padding: 0 0 20px 0;
}
/* /main_inner_wide */

/*ページネーション*/
.pagination_list {
  display: flex;
  justify-content: center;
  padding: 16px 4px;
}
.pagination_list .pagination_list_item {
  background: #F9F9F9;
  border: 1px solid #E0E0E0;
  border-radius: 4px;
  text-align: center;
  font-weight: bold;
  width: 40px;
  height: 40px;
  line-height: 40px;
  margin: 0 2px;
}
.pagination_list .pagination_list_item.disabled {
  background: none;
  border: none;
  width: auto;
}
.pagination_list .pagination_list_item.active {
  background: #59A2B9;
  color: #FFFFFF;
}
.pagination_list .pagination_list_item.back,
.pagination_list .pagination_list_item.next {
  width: 40px;
  height: 40px;
  line-height: 40px;
  background: #DCDCDC;
  border: 1px solid #E0E0E0;
  color: #AAAAAA;
}

.pagination_list a{
  width: 40px;

  display: block;
}


/*input系*/
.form-control {
  display: block;
  width: 100%;
  font-size: 0.9rem;
  font-weight: 400;
  color: #222222;
  border: 1px solid #E0E0E0;
  border-radius: 4px;
}
textarea{
  resize: vertical;
  height: auto;
  padding: 8px 8px;
  line-height: 20px;
}

input,select{
  color: #222222;
  font-size: 16px;
  border: 1px solid #E0E0E0;
  background: #fff;
  border-radius: 4px ;
  padding: 10px 4px;
  text-align: left;
}
input{
  -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: relative;
}


table select{
  height: 32px ;
  padding: 0 8px ;
}
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: relative;
  cursor: pointer;
}

.input_default {
  width: 60px;
  padding: 8px;
}
.input_default input {
  padding: 8px;
  text-align: center;
}

.input_file_btn{
  padding: 10px 0;
  background: #F9F9F9;
  border: 1px solid #E0E0E0;
  font-weight: bold;
  font-size: 12px;
  border-radius: 4px;
  width: 150px;
  display: inline-block;
  text-align: center;
  cursor: pointer;
}
.input_file_filename{
  font-size: 12px;
  color: #999999;
  margin: 0 0 10px 0;
  line-height: 16px;
  word-wrap: break-word;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.input_have_addon{
  display: flex;
}
.input_have_addon input{
  width: 55px;
  height: 40px;
  border-radius: 4px 0px 0px 4px ;
}
.input_have_addon input.is-invalid,
.input_have_addon input.is-valid{
  width: 75px;
}

.input_have_addon.disable {
  cursor: not-allowed;
  opacity: .4;
}

@media screen and (min-width:767px){
.input_have_addon input.is-invalid,
.input_have_addon input.is-valid{
  width: 90px;
}
}

.input_have_addon .input_addon{
  border-top: 1px solid #E0E0E0;
  border-right: 1px solid #E0E0E0;
  border-bottom: 1px solid #E0E0E0;
  display: inline-block;
  font-size: 16px;
  border-radius: 0px 4px 4px 0px;
  background: #F9F9F9;
  flex-shrink: 0;
  padding: 0 10px;
  font-weight: normal;
  line-height: 36px;
}
option.select_option_default{
  color: #999999;
}

/* input_addon_lが表示されている時( $ 等) */
/* 金額表記の左側 */
.input_have_addon .input_addon.input_addon_l{
  border-right: none;
  border-left: 1px solid #E0E0E0;
  border-radius: 4px 0 0 4px;
}
/* 金額表記のinput */
.input_have_addon .input_addon.input_addon_l + input{
  border-radius: 0 4px 4px 0;
  width: 70px;
}
/* /input_addon_lが表示されている時( $ 等) */

/*ソートのフォーム*/
.sort_wrap{
  width: 40px;
}
.sort_wrap input{
height: 32px !important;
line-height: 32px !important;
padding: 0 8px !important;
  -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  text-align: center;
  width: 40px;
}



/*-----------フラッシュメッセージ--------------*/
.flash_message,
.flash_error {
  position:  fixed;
  bottom: 32px;
  right: 16px;
  min-width: 320px;
  display: flex;
  align-items: center;
  z-index: 1000;
  box-shadow: 0 1px 10px 0 rgba(0,0,0,0.1);
  border-radius: 8px;
  padding: 24px 16px 24px 24px;
}

.flash_message_wrap {
  width: 100%;
  display: flex;
  gap: 32px;
  justify-content: space-between;
}

.flash_message_content {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: bold;
  line-height: 22px;
}

/* flashメッセージ（成功・完了等） */
.flash_message.status_success {
  color: #59A2B9;
  background-color: #EBFAFF;
  border: 1px solid #59A2B9;
}

/* flashメッセージ（失敗・エラー等） */
.flash_message.status_error {
  color: #E94E2E;
  background-color: #FFEBE6;
  border: 1px solid #E94E2E;
}

/* flashメッセージの閉じるボタン */
.flash_close_btn {
  font-size: 16px;
}
.flash_message.status_success .flash_close_btn {
  color: #59A2B9;
}
.flash_message.status_error .flash_close_btn {
  color: #E94E2E;
}


#flash_close_btn_input,
#flash_close_btn_input_dynamic{
  display: none;
}

#flash_close_btn_input:checked ~ .flash_message,
#flash_close_btn_input:checked ~ .flash_error,
#flash_close_btn_input:checked ~ .flash_close_btn,
#flash_close_btn_input_dynamic:checked ~ .flash_message,
#flash_close_btn_input_dynamic:checked ~ .flash_error,
#flash_close_btn_input_dynamic:checked ~ .flash_close_btn{
  display: none;
}

/*スマホ表示（600px以下）*/
@media screen and (max-width:600px) {
  .flash_message,
  .flash_error {
    bottom: 16px;
    width: calc(100% - 32px);
  }

}

/*
.trial_label ~ .flash_message,
.trial_label ~ .flash_error{
  margin-top: 125px;
}
*/

/*
.flash_message ~ .main .main_inner::before,
.flash_message ~ .mainColumn .main .main_inner::before,
.flash_message ~ form .main .main_inner::before,
.flash_message ~ div form .main .main_inner::before,
.flash_message ~ .main .common_list_table_wrap::before,
.flash_message ~ .mainColumn .main .common_list_table_wrap::before,
.flash_message ~ form .main .common_list_table_wrap::before,
.flash_message ~ div form .main .common_list_table_wrap::before,
.flash_error ~ .main .main_inner::before,
.flash_error ~ .mainColumn .main .main_inner::before,
.flash_error ~ form .main .main_inner::before,
.flash_error ~ div form .main .main_inner::before,
.flash_error ~ .main .common_list_table_wrap::before,
.flash_error ~ .mainColumn .main .common_list_table_wrap::before,
.flash_error ~ form .main .common_list_table_wrap::before,
.flash_error ~ div form .main .common_list_table_wrap::before{
  content:'';
  display: block;
  padding-top: 40px;
}
*/








/*カレンダー*/
.input_calendar{
  position: relative;
}
.input_calendar::after {
  content: '\f0d7';
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  display: block;
  position: absolute;
  line-height: 38px;
  text-align: center;
  z-index: 1;
  right: 1px;
  top: 1px;
  height: calc(100% - 2px);
  width: 30px;
  background-color: #F9F9F9;
  border-left: 1px solid #E0E0E0;
  border-radius: 0 4px 4px 0;
  pointer-events: none;
}
.input_calendar input{
  width: 100%;
  height: 38px;
  line-height: 38px;
  font-size: 12px;
  padding: 8px 32px 8px 16px;
}

.input_calendar input::-webkit-inner-spin-button{
  -webkit-appearance: none;
}
.input_calendar input::-webkit-clear-button{
  -webkit-appearance: none;
}
.input_calendar input::-webkit-calendar-picker-indicator{
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  padding: 0;
  background: transparent;
  color: transparent;
  cursor: pointer;
  width: 30px;
  height: 38px;
}




/* 横に矢印がついてるセレクトボックス */
.form_contents_select{
  position: relative;
}

.form_contents_select::before{
  content: "";
  display: block;
  width: 7px;
  height: 12px;
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAYCAYAAADKx8xXAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAEeSURBVHgB7ZS9kcIwEIVX4gqQO7AdXajrALJLKYEOoAKgAkqAlIgUIhOSQQdWSGYTkti8ZQwI/8hOyHgzGktefaN91q6JHArDcMyjLiaaIB+SUsaYplmWDYwxJzsuHVBULJUQYoNXqhUENGX+mZYQPsbS3tMrQ/A0w6PiC+Cv53mXJEkO93UpRY3TjuRQ4XcvqOrLd4F5nhuMwTNVpBFxOtQi7OGPpH/o5UtTRwHu01cf0L0AcB0LqimzVpAVBEHU9X5QOSdpLUZ4mA4Ql9ywXOR9qw9rhSL/46Z+a6s0TQ23Dqb/DdAM0JrnlX7kflNK6ZqCX8VxPHksZIOPN7/sC6fN7T2un5Uu/CpAAVI0drzXBMLvGX6vgLZgduX4DUCBdVXe6wZQAAAAAElFTkSuQmCC) 0 0 no-repeat;
  background-size: 7px 12px;
  position: absolute;
  z-index: 2;
  top: 0;
  bottom: 0;
  right: 17px;
  margin: auto;
  pointer-events: none;
}
.form_contents_select::after{
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  right: 1px;
  top: 1px;
  height: calc(100% - 2px);
  width: 40px;
  background-color: #F9F9F9;
  border-left: 1px solid #E0E0E0;
  border-radius: 0 4px 4px 0;
  pointer-events: none;
}

.form_contents_select select{
  width: 100%;
  min-height: 40px;
  padding-right: 1.5em;
}

.form_contents_select select:disabled {
  cursor: not-allowed;
  opacity: .4;
}

/* 幅をテキストに合わせるセレクトボックス */
.form_contents_select_fit {
  width: fit-content;
  display: inline-block;
}

.form_contents_select_fit .form-control {
  padding-right: 50px;
}

/* inputフォーム下の注釈 */
.form_imput_attention {
  color: #888888;
  font-size: 11px;
  line-height: 14px;
  margin: 4px 0 0 0;
}

/* 追加ボタン */
.form_contents_add {
  display: block;
  width: 100%;
  height: 46px;
  text-align: center;
  color: #59A2B9;
  font-size: 15px;
  font-weight: bold;
  background: #D1E8EF;
  border-radius: 4px;
}

/*ラジオボタン*/
label.radio input{
  display: none;
}
label.radio .radio_label{
  font-size: 13px;
  vertical-align: text-top;
  cursor: pointer;
}
.radio_label::before{
  content: '';
  display: inline-block;
  background-color: #fff;
  border: solid 4px #fff;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  box-shadow: 0 0 0 1px #BFBFBF;
  -webkit-box-shadow: 0 0 0 1px #BFBFBF;
  -moz-box-shadow: 0 0 0 1px #BFBFBF;
  margin: 0 5px 0 0;
  transition: .1s;
}

.radio input:checked + .radio_label::before{
  background-color: #59A2B9;
}


/*チェックボックス*/
label.checkbox input{
  display: none;
}
label.checkbox{
  position: relative;
  cursor: pointer;
}
.checkbox_content{
  display: inline-block;
  background-color: #fff;
  border: 1px solid #bfbfbf;
  width: 18px;
  min-width: 18px;
  height: 18px;
  min-height: 18px;
  border-radius: 2px;
  margin: 0 3px 0 0;
  transition: .1s;
  position: relative;
  vertical-align: middle;
}
.checkbox_label{
  font-size: 13px;
  line-height: 20px;
  vertical-align: middle;
}
.checkbox input:checked + .checkbox_content{
  background-color: #59A2B9;
  border: 1px solid #59A2B9;
}
.checkbox input:checked + .checkbox_content::before{
  content: "";
  display: block;
  position: absolute;
  top: 1.5px;
  left: 6px;
  width: 5px;
  height: 10px;
  transform: rotate(40deg);
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
}

.checkbox_list {}
.checkbox_list_item {
  margin-bottom: 4px;
}
.checkbox_list_item:last-child {
  margin-bottom: 0;
}

.input_time input{
  width: 86px;
  height: 37px;
  line-height: 37px;
  padding: 6px 0px;
}










/*罫線*/
.line_solid_gray{
  border-top: 1px solid #E0E0E0;
  width: 100%;
}

.line_dashed_gray{
  border-top: 1px dotted #E0E0E0;
  width: 100%;
}


/*ボタン系*/
.btn_round{
  display: table;
  border-radius: 100px;
  text-align: center;
  padding: 0 10px;
  font-size: 14px;
  font-weight: bold;
  height: 48px;
}
.btn_round_large {
  width: 100%;
}
.btn_round_line_white{
  background: rgba(255, 255, 255, 0.1);
  border: 2px solid #FFFFFF;
  color: #fff;
}
.btn_round_red{
  background: #E94E2E;
  color: #fff;
}
.btn_round_blue{
  background: #59A2B9;
  color: #fff;
}
.btn_round_green{
  background: #00c300;
  color: #fff;
}
.btn_round_white{
  background: #fff;
  color: #1A3F4A;
}
.btn_round_gray{
  background: #E8E8E8;
  color: #222222;
  font-weight: normal;
}
.btn_round_gray2{
  background: #888;
  color: #fff;
}

.btn_round_white_border_gray {
  background: #ffffff;
  border: 1px solid #e0dfdb;
  color: #222222;
  font-weight: normal;
}
.btn_round_white_border_blue {
  background: #ffffff;
  border: 2px solid #59A2B9;
  color: #59A2B9;
  font-weight: bold;
}

.form_unit_btn_gray {
  display: inline-block;
  color: #222;
  font-size: 13px;
  line-height: 1;
  font-weight: bold;
  border: 1px solid #DEDEDE;
  background-color: #F8F8F8;
  border-radius: 4px;
  padding: 10px 24px;
  cursor: pointer;
}

.form_unit_btn_gray .fa {
  margin: 0 4px 0 0;
}

.btn_round.invalid{
  pointer-events: none;
  opacity: 0.4;
}
.btn_round[disabled]{
  cursor: not-allowed;
  opacity: 0.4;
}

button:disabled,
button:hover:disabled {
  cursor: not-allowed;
  opacity: .5;
}

.btn_square {
  display: table;
  border-radius: 4px;
  text-align: center;
  padding: 0 10px;
  font-size: 15px;
  font-weight: bold;
  height: 48px;
}
.btn_square_blue{
  background: #59A2B9;
  color: #fff;
}

.btn_delete, .btn_disable{
  color: #DE412B;
  font-weight: bold;
  font-size: 12px;
  display: inline-block;
  border-bottom: 1px solid #DE412B;
}
.btn_delete::before{
  font-family: "Font Awesome 5 Free";
  content: '\f2ed';
  font-weight: 400;
  margin: 0 3px 0 0;
}

.btn_back{
  width: 90px;
  color: #391813;
  font-weight: bold;
  font-size: 13px;
}
.btn_back::before{
  font-family: "Font Awesome 5 Free";
  content: '\f053';
  font-weight: 900;
  margin: 0 5px 0 0;
}
.btn_square_gray{
  width: 32px;
  height: 32px;
  background: #A1A1A1;
  color: #fff;
  border-radius: 4px;
  display: block;
  line-height: 32px;
  text-align: center;
  font-size: 15px;
}
.btn_square_gray:disabled {
  opacity: 0.4;
  cursor: auto;
}

.btn_square_red{
  width: 32px;
  height: 32px;
  background: #e66450;
  color: #fff;
  border-radius: 4px;
  display: block;
  line-height: 32px;
  text-align: center;
  font-size: 15px;
}
.btn_square_red:disabled {
  cursor: not-allowed;
  opacity: .5;
}

.btn_square_lightred{
  width: 32px;
  height: 32px;
  background: #f3b7ae;
  color: #fff;
  border-radius: 4px;
  display: block;
  line-height: 32px;
  text-align: center;
  font-size: 15px;
}

.btn_link_white {
  color: #FFFFFF;
  font-weight: bold;
  font-size: 13px;
}
.btn_link_blue {
  color: #59A2B9;
  font-weight: bold;
  font-size: 13px;
}
.btn_link_red {
  color: #e66450;
  font-weight: bold;
  font-size: 13px;
}

/* btn_roundのdisplay変更 */
#admin .btn_round.btn_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-line-pack: center;
  align-content: center;
}

.btn_flex .fas{
  margin-right: 4px;
}

/* btnの注意書き */
.btn_attention {
  color: #888888;
  font-size: 13px;
  text-align: center;
}


/*サービスヘッダー(ログイン、利用規約などのページ)の共通スタイル*/
.service_header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 50px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #FFFFFF;
  box-shadow: 0px 1px 0px #DDDCD9;
  padding: 0 16px;
  z-index: 300;
}
.service_header .service_header_left {}
.service_header .service_header_left .logo {
  width: 34px;
  height: 34px;
  margin: 0;
  padding: 0;
  font-size: 13px;
}
.service_header .service_header_left .logo img {
  width: 34px;
  height: auto;
}
.service_header .service_header_right {
  font-size: 12px;
  font-weight: bold;
  color: #222222;
}
.service_header .service_header_right span {
  border-bottom: 2px solid #222222;
  padding: 0 2px 0 1px;
}
.service_header .service_header_right a {
  color: #AAAAAA;
}

/* サービスコピーライト表記 */
.service_copyright {
  text-align: center;
  font-size: 10px;
}






/*サブヘッダー(背景がベージュのところ)のスタイル*/
.sub_header ~ .main{
  padding: 90px 0 0 0;
}
.sub_header{
  background: #F4F2E9;
  box-shadow: 0px 1px 0px #DDDCD9;
  position: fixed;
  top: 50px;
  left: 0;
  right: 0;
  padding: 0 8px;
  height: 40px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 700;
}
.sub_header .btn_block{
  width: 100%;
  display: flex;
  gap: 2px;
  justify-content: flex-end;
  align-items: center;
}
.sub_header .btn_search {
  cursor: pointer;
  min-width: 60px;
  font-weight: bold;
}
.sub_header .btn_search .fa-search {
  margin: 0 4px 0 0;
}

.sub_header .input_have_addon.search {
  max-width: 160px;
}
.sub_header .input_have_addon input {
  padding: 8px;
}
.sub_header .input_have_addon input,
.sub_header .input_addon {
  height: 38px;
  line-height: 34px;
}

.sub_header .btn_round{
  cursor: pointer;
  height: 30px;
  line-height: 30px;
  font-size: 12px;
  min-width: 65px;
  padding: 0 10px;
  display: block;
}
.sub_header .btn_add{}
.sub_header .btn_save{}
.sub_header .disable {
  cursor: not-allowed;
  opacity: .5;
}

/* 設定画面 / 連携中の機能一覧 */
.settings_header {
  margin: 24px 0;
}
.settings_header_inner {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.settings_header_block {}
.settings_header_title {
  display: flex;
  gap: 8px;
  align-items: center;
  font-size: 13px;
  font-weight: bold;
  margin: 0 0 4px 0;
}
.settings_header_item {
  background: #FFFFFF;
  border-radius: 4px;
  padding: 12px 16px;
}
.integrated_features_list {}
.settings_header_item_table_block {}
.settings_header_item_table {
  width: 100%;
  border: 1px solid #E8E8E8;
  border-collapse: collapse;
  border-spacing: 0;
}
.settings_header_item_table_tr {
  font-size: 13px;
  border-bottom: 1px solid #e8e8e8;
}
.settings_header_item_table_tr:last-child {
  border-bottom: none;
}
.settings_header_item_table_td_head {
  width: 110px;
  min-width: 110px;
  font-weight: bold;
  background: #F8F8F8;
  border-right: 1px solid #E8E8E8;
  padding: 8px;
}
.settings_header_item_table_td_content {
  padding: 8px;
}
.settings_header_item_table_td_content .no_data {
  color: #888888;
}

/* 600px以下 */
@media screen and (max-width: 600px) {
  .settings_header_block {
    width: calc(100% - 32px);
    margin: 0 auto;
  }
}



/*共通見出し*/
.common_title_h2 {
  font-size: 13px;
  font-weight: bold;
  line-height: 18px;
  border-left: 4px solid #6EB2C8;
  padding: 0 0 0 4px;
  position: relative
}
a.common_title_h2_link {
  position: absolute;
  right: 0;
}




/*共通リストブロック*/
.common_list_large {
  background: #ffffff;
  box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.1);
  border-radius: 4px;
}
.common_list_large li {
  border-bottom: 1px solid #EFEFEF;
  padding: 16px;
}
.common_list_large li:nth-child(2n) {
  background: #F9F9F9;
}
.common_list_large li:last-child {
  border-bottom: none;
  border-radius: 0 0 4px 4px;
}
.common_list_large li a {
  display: block;
  display: flex;
  position: relative;
  color: #59A2B9;
  font-size: 12px;
  font-weight: bold;
  padding: 0 24px 0 0;
}
.common_list_large li a:after {
    font-family: "Font Awesome 5 Free";
    content: '\f054';
    font-size: 14px;
    font-weight: 900;
    position: absolute;
    right: 0;
    color: #D9D9D9;
}

.common_list_panel {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.common_list_panel li {
  width: calc(50% - 4px);
  background: #FFFFFF;
  box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  text-align: center;
}
.common_list_panel li a {
  display: block;
  font-size: 12px;
  font-weight: bold;
  line-height: 18px;
  padding: 20px;
}


.list_table_title_wrap{
  max-width: 65%;
}



/*-------------------------------
 * 検索のモーダル表示
-------------------------------*/
.overlay_window {
  font-weight: bold;
  padding: 24px 0;
  color: #FFFFFF;
}
.overlay_window h2 {
  font-size: 16px;
  letter-spacing: 1px;
  text-align: center;
  margin: 0 0 24px 0;
}

.searchform_wrap {
  max-width: 580px;
  background: #021014;
  margin: 0 auto 24px auto;
  padding: 24px;
}

input[type="date"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
}
input[type="date"]::-webkit-clear-button {
  -webkit-appearance: none;
}
input[type="date"]{
  position: relative;
}
input[type=date]::-webkit-calendar-picker-indicator {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
}

.form_unit {
  margin: 0 0 24px 0;
}
.form_unit:last-child {
  margin: 0;
}
.form_unit .form_headline {
  font-size: 11px;
  margin: 0 0 4px 0;
}
.form_unit.invalid .form_headline{
  opacity: .4;
  cursor: not-allowed;
}
.form_unit .form_unit_title {
  font-size: 16px;
  font-weight: bold;
}
.form_unit .form_unit_description {
  font-size: 13px;
  line-height: 1.4;
  margin: 0 0 8px 0;
}

.form_unit .form_contents.bg_gray {
  line-height: 1.4;
  background-color: #F9F9F9;
  border-radius: 4px;
  padding: 8px;
} 

.form_unit.close_block {
  position: relative;
}
.form_unit.close_block .btn_close {
  position: absolute;
  top: -10px;
  right: 20px;
  color: #FFFFFF;
  font-size: 24px;
}

/* sub_form_unit(背景がグレーの設定) */
.sub_form_unit {
  max-width: 100%;
  background-color: #F9F9F9;
  border-radius: 4px;
  padding: 16px;
  line-height: 1.4;
}
.sub_form_unit .form_headline {
  font-size: 11px;
  font-weight: bold;
  margin-bottom: 4px;
}
.sub_form_unit.invalid,
.sub_form_unit.invalid .form_headline {
  opacity: .4;
  cursor: not-allowed;
}


.overlay_window .btn_round {
  max-width: calc(320px - 16px);
  margin: 0 auto 16px auto;
}
.overlay_window .btn_link_blue {
  display: inline-block;
  width: 100%;
  font-size: 12px;
  text-align: center;
}



/*-------------------------------
 * テーブルスタイル（注文詳細のテーブル）
 -------------------------------*/
.orders_headline{
  background: #1A3F4A;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 8px;
}

.orders_headline_name{
  font-weight: bold;
  font-size: 15px;
  color: #fff;
}

.orders_headline .btn_round{
  height: 26px;
  font-size: 12px;
  line-height: 26px;
  min-width: 100px;
}

.orders_headline .btn_round i{
  margin: 0 7px 0 0;
}

.orders_table{
  width: 100%;
  background: #fff;
  border-collapse: collapse;
  table-layout: fixed;
}

.orders_table_name input{
  width: 100%;
}

.orders_table_description{
  overflow-wrap: anywhere;
  font-size: 13px;
  font-weight: bold;
  border-bottom: 1px solid #EFEFEF;
}

.orders_table_description:nth-child(2n){
  background: #F9F9F9;
}

.orders_table_description:last-child{
  border-bottom: none;
}

.orders_table_description td{
  padding: 10px 7px;
  border-right: 1px solid #EFEFEF;
}

.orders_table_description td:last-child{
  border-right: none;
}

.orders_table_description td.orders_table_number{
  width: 65px;
  text-align: center;
}

.orders_table_description td.orders_table_servedBtn{
  width: 95px;
  text-align: center;
}

.orders_table_description td.orders_table_price{
  width: 80px;
  text-align: right;
  color: #666666;
}

.orders_table_description td.orders_table_price_edit{
  width: 110px;
}
.orders_table_description td.orders_table_price_edit .input_have_addon input{
  height: 32px;
  line-height: 32px;
}
.orders_table_description td.orders_table_price_edit .input_have_addon .input_addon{
  padding: 0 6px;
  line-height: 30px;
  font-size: 13px;
}
.orders_table_description td.orders_table_price_edit input{
  padding: 8px 4px;
}

.orders_table_description td.orders_table_cancel{
  width: 40px;
  text-align: center;
}
.orders_table_description td.orders_table_cancel button{
  color: #DE412B;
  font-size: 15px;
}
.orders_new_item .orders_table_description{
  background: #ECF7FB;
}
.orders_new_item select{
  max-width: 100%;
}


/*-------------------------------
 * テーブルスタイル（一覧系のテーブル）
 -------------------------------*/

/*--- 背景が濃い見出し ---*/
.common_table_headline{
  background: #435F67;
  width: 100%;
  color: #fff;
  font-weight: bold;
  font-size: 10px;
  height: 24px;
  line-height: 24px;
  padding: 0 8px;
}

/*--- _table.blade.php 内のラッパー ---*/
.common_list_table_wrap {
  margin: 50px 0 0;
  width: 100%;
  overflow-y: scroll;
}
.common_list_table_wrap_title {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 8px;
  padding: 0 8px;
}

/*--- ここからテーブル ---*/
.common_list_table{
  width: 100%;
  background: #fff;
  border-collapse: collapse;
}

/*--- thead部分 ---*/
.common_list_table_headline{
  background: #435F67;
  width: 100%;
  color: #fff;
  font-weight: bold;
  font-size: 11px;
  padding: 10px 8px;
}

.common_list_table th {
  padding: 8px 4px;
  line-height: 1;
}
.common_list_table td {
  font-size: 13px;
  padding: 8px;
  border-bottom: 1px solid #efefef;
}
.common_list_table tr:nth-child(2n) {
  background: #F9F9F9;
}

.common_list_table tr.inside_bag {
  background-color: #ECF7FB;
}

.hidden_ghost {
  display: none;
}

.common_label_red {
  display: inline-block;
  font-size: 10px;
  font-weight: bold;
  text-align: center;
  background: #DE412B;
  padding: 0 2px;
  color: #fff;
  height: 15px;
  line-height: 15px;
}

.common_label_blue {
  display: inline-block;
  font-size: 10px;
  font-weight: bold;
  text-align: center;
  background: #9ACAD9;
  padding: 0 2px;
  color: #35778C;
  height: 15px;
  line-height: 15px;
}

.common_label_orange {
  display: inline-block;
  font-size: 10px;
  font-weight: bold;
  text-align: center;
  background: #F8D696;
  padding: 0 2px;
  color: #AB7815;
  height: 15px;
  line-height: 15px;
}

/*準備中、非表示など*/
.common_label_lightGray {
  display: inline-block;
  font-size: 10px;
  font-weight: bold;
  text-align: center;
  background: #E8E8E8;
  padding: 0 2px;
  color: #222222;
}
/*スタッフのみ*/
.common_label_black {
  display: inline-block;
  font-size: 10px;
  font-weight: bold;
  text-align: center;
  line-height: 1;
  background: #222222;
  padding: 3px 6px;
  color: #FFFFFF;
}

/* 線ラベル */
.common_label_border_red {
  display: inline-block;
  font-size: 10px;
  font-weight: bold;
  text-align: center;
  background: #FFFFFF;
  border: 1px solid #DE412B;
  padding: 0 2px;
  color: #DE412B;
}
.common_label_border_black {
  display: inline-block;
  font-size: 10px;
  font-weight: bold;
  text-align: center;
  background: #FFFFFF;
  border: 1px solid #222222;
  padding: 0 2px;
  color: #222222;
}

/*--- ソート矢印 ---*/
.sort_item{
  cursor: pointer;
}

.sort_item span{
  position: relative;
}

.sort_item span:before{
  font-family: "Font Awesome 5 Free";
  content: '\f054';
  font-size: 12.5px;
  font-weight: 900;
  position: absolute;
  right: -13px;
  color: #fff;
  transition: .2s;
  transform: rotate(90deg);
}

.sort_item.top span:before{
  transform: rotate(-90deg);
}


/*--- リストの背景色 ---*/
.rowSelected,
.rowSoldout.rowSelected {
  background: #ECF7FB !important;
}
.rowSoldout {
  background: #FFE7E3;
}


/*--- チェックボックススタイル ---*/
.common_list_table_checkbox_cell {
  text-align: center;
  width: 52px;
}
.common_list_table_checkbox_cell label{
  cursor: pointer;
}

.common_checkbox {
  display: none;
}

.common_checkbox_parts {
  background-color: #fff;
  border: 1px solid #bfbfbf;
  border-radius: 4px;
  display: block;
  height: 20px;
  position: relative;
  width: 20px;
}

.common_checkbox:checked + .common_checkbox_parts{
  background-color: #59A2B9;
  border: 1px solid #59A2B9;
}

.common_checkbox:checked + .common_checkbox_parts:after{
  content: "";
  display: block;
  position: absolute;
  top: 1px;
  left: 6px;
  width: 6px;
  height: 12px;
  transform: rotate(40deg);
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
}

/*--- サムネイル挿入時 ---*/
.common_table_tmb_wrap {
  border-radius: 4px;
  display: inline-block;
  margin: 0 8px 0 0;
  overflow: hidden;
  vertical-align: middle;
}

/*--- フッターコントローラー ---*/
.common_list_footer_controller {
  background-color: #0D242A;
  border-radius: 8px 8px 0 0;
  color: #fff;
  padding: 24px 16px;
  position: fixed;
  bottom: 0;
  left: 0;
  text-align: center;
  width: 100%;
}

.common_list_footer_controller_text {
  margin: 0 0 20px;
}

.common_list_footer_controller_btn {
  display: -webkit-box;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  margin: 0 0 20px;
}

.common_list_footer_controller_btn_item {
  margin: 0 4px;
  width: 120px;
}

.common_list_footer_controller_btn_item .btn_round {
  display: block;
  height: auto;
  padding: 8px 0;
  width: 100%;
}

.common_list_footer_controller_delete_link,
a.common_list_footer_controller_delete_link:hover {
  color: #DE412B;
}

/*--- フッターコントローラー表示時の対応 ---*/
.table_selected {
  margin: 0 0 200px;
}

/*--- EMPTY時のスタイル ---*/
.common_empty {
  background: #fff;
  color: #ababab;
  font-size: 13px;
  padding: 36px 0;
  text-align: center;
}
.common_empty.common_empty_small{
  padding: 20px 0;
}
.common_empty_text {
  margin: 0 0 20px;
}

.common_empty .btn_round_blue {
  font-size: 13px;
  height: auto;
  padding: 10px 20px;
  margin: 0 auto;
}






/*画面下部のウィンドウ*/
.bottom_window{
  position: fixed;
  width:  100%;
  left: 0px;
  bottom:  0px;
  background: #0D242B;
  box-shadow: 0px -2px 20px rgba(0, 0, 0, 0.15);
  border-radius: 8px 8px 0px 0px;
  z-index: 600;
  padding-bottom: 16px;
}

.bottom_window > div{
  max-width: 520px;
  padding: 0 16px;
  margin: 0 auto;
}

.bottom_window .btn_round{
  cursor: pointer;
  height: 42px;
  margin-right: 8px;
}

.bottom_window .btn_round:last-child{
  margin-right: 0px;
}


.bottom_window .bottom_window_btn_l1{
display: -webkit-box;
display: -ms-flexbox;
display: flex;
  width: 100%;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
  box-sizing: border-box;
}

.bottom_window .bottom_window_btn_l1 .btn_round {
  width: 80%;
  line-height: 48px;
}

/* btn_flexのline-height変更 */
.bottom_window .bottom_window_btn_sl2 .btn_round.btn_flex,
.bottom_window .bottom_window_btn_l1 .btn_round.btn_flex{
  line-height: 1.2;
}

.bottom_window .bottom_window_btn_sl2{
  display: flex;
  width: 100%;
}
.bottom_window .bottom_window_btn_sl2.payment .btn_round_red {
  width: 100%;
  margin: 0 0 0 0;
  line-height: 48px;
}

.bottom_window .bottom_window_btn_sl2 .btn_round_red {
  width: 62%;
  line-height: 48px;
}
.bottom_window .bottom_window_btn_sl2 .btn_round_blue {
  width: 62%;
  line-height: 48px;
}

.bottom_window .bottom_window_btn_sl2.payment .btn_round_red {
  width: 50%;
  line-height: 48px;
}
.bottom_window .bottom_window_btn_sl2.payment .btn_round_blue {
  width: 50%;
  line-height: 48px;
}
/*
.bottom_window .bottom_window_btn_sl2.payment .btn_round_blue::before{
  font-family: "Font Awesome 5 Free";
  content: '\f09d';
  font-weight: 400;
  margin: 0 3px 0 0;
}
*/

.bottom_window .bottom_window_btn_sl2 .bottom_window_btn_small{
  width: 35%;
  line-height: 42px;
}

.bottom_window .bottom_window_btn_sl2 .bottom_window_btn_small.btn_flex {
  width: 30%;
}

.bottom_window .bottom_window_btn_sl2 .bottom_window_btn_large{
  width: 62%;
  line-height: 42px;
}
.bottom_window .bottom_window_btn_sl2.tables .bottom_window_btn_large{
  width: 63%;
  line-height: 42px;
}

.bottom_window .bottom_window_btn_sl2.orders .bottom_window_btn_large{
  width: 50%;
  line-height: 42px;
}



.bottom_window table.bottom_window_tables_info{
  width: 100%;
  color: #fff;
  border-collapse: collapse;
  margin: 0 0 8px 0;
}

.bottom_window table.bottom_window_tables_info tr.bottom_window_table_description{
  background: #021014;
}

.bottom_window table.bottom_window_tables_info tr{
}

.bottom_window table.bottom_window_tables_info tr th,
.bottom_window table.bottom_window_tables_info tr td{
  width: calc(100% / 3);
}

.bottom_window table.bottom_window_tables_info tr th{
  font-size: 11px;
  font-weight: bold;
  text-align: center;
  color: #FFFFFF;
  padding: 4px 8px;
}

.bottom_window table.bottom_window_tables_info tr td{
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  color: #FFFFFF;
  padding: 4px;
}
.bottom_window table.bottom_window_tables_info tr td:first-child{
  padding-left: 8px;
}

ul.bottom_window_check_list{
  background: #021014;
  color: #fff;
  margin: 10px 0;
  padding: 16px;
  border-radius: 6px;
}

ul.bottom_window_check_list li{
  max-width: 400px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

ul.bottom_window_check_list li span.bottom_window_check_list_headline{
  text-align: left;
  font-size: 11px;
  flex-shrink: 0;
}

ul.bottom_window_check_list li span.bottom_window_check_list_description{
  text-align: right;
  font-size: 14px;
  display: block;
}

ul.bottom_window_check_list .bottom_window_check_list_tablename{
  padding-bottom: 16px;
  border-bottom: 1px dotted #909495;
  margin-bottom: 5px;
}


ul.bottom_window_check_list li.bottom_window_check_list_tablename span.bottom_window_check_list_description{
  font-weight: bold;
}

ul.bottom_window_check_list .bottom_window_check_list_total{
  padding-top: 16px;
  border-top: 1px solid #909495;
  margin-top: 10px;
  font-weight: bold;
}

ul.bottom_window_check_list li.bottom_window_check_list_total span.bottom_window_check_list_description{
  font-size: 16px;
}

/*下から出てくるポップアップ*/
.edit_delete{
  position: fixed;
  z-index: 650;
  bottom:24px;
  width: 100%;
  text-align: center;
}

.edit_delete ~ form .bottom_window{
  padding-bottom: 66px;
}


/*全面オーバーレイ*/
.overlay_window {
  z-index: 9999;
  width: 100%;
  height: 100%;
  background: #0D242A;
  position: fixed;
  top: 0;
}


/*アラート*/
/*
.alert ~ #vue-app .main{
  padding: 100px 0 0 0;
}
*/
.alert {
  width: 100%;
  color: inherit;
  background-color: #EEEDED;
  border: none;
  padding: 16px;
}
.alert_list {
  display: flex;
  flex-direction: column;
  gap: 4px;
  border-radius: 4px;
  margin: 0 auto;
  padding: 8px 16px;
}
.alert_danger .alert_list {
  color: #E94E2E;
  background-color: #FFEBE6;
  border: 1px solid #E94E2E;
}
.alert_success .alert_list {
  color: #16657E;
  background-color: #b1d8e4;
}
.alert_list_item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  font-weight: bold;
  line-height: 20px;
}

.alert-dismissible .close {
  position: absolute;
  right: 16px;
  color: #E94E2E;
  font-size: 13px;
  line-height: 1;
}

/* フォームの即時表示エラーメッセージ */
.form_block_invalid_msg {
  color: #E94E2E;
  font-size: 12px;
  font-weight: bold;
  background: #fff0f0;
  padding: 8px 12px;
  margin: 0 0 8px 0;
}

.form_block_invalid_msg .fas {
  margin-right: 4px;
}
/* /フォームの即時表示エラーメッセージ */

/* フォームメッセージ */
.setting_msg{
  padding: 8px;
  margin: 8px;
  font-size: 11px;
  font-weight: bold;
  line-height: 1.5;
}

.setting_msg_normal {
  color: #888;
}

.setting_msg_success{
  color: #59a2b9;
  background: #eafaff;
  text-indent: -7px;
  padding-left: 24px;
}

.setting_msg_attention{
  color: #E94E2E;
  background: #fff0f0;
  text-indent: -7px;
  padding-left: 24px;
}

.setting_msg .fa {
  margin-right: 3px;
}
/* /フォームメッセージ */

/* 日時を指定するときの入力注意 (_datetimes.blade.php) */
.form_block.schedule .form_unit.timezone .timezone_block .timezone_block_invalid_balloon {
  display: none;
  color: #E94E2E;
  font-size: 12px;
  font-weight: bold;
  background: #fff0f0;
  padding: 5px 6px 5px 24px;
  padding-left: 24px;
  text-indent: -8px;
  width: 100%;
  position: absolute;
  left: 0;
  top: 40px;
  z-index: 2;
  border-radius: 4px;
  -webkit-filter:drop-shadow(0px 1px 6px rgba(0, 0, 0, 0.15));
  -moz-filter:drop-shadow(0px 1px 6px rgba(0, 0, 0, 0.15));
  -ms-filter:drop-shadow(0px 1px 6px rgba(0, 0, 0, 0.15));
  filter:drop-shadow(0px 1px 6px rgba(0, 0, 0, 0.15));
}

.form_block.schedule .form_unit.timezone .timezone_block .timezone_block_invalid_balloon::after {
  content: "";
  position: absolute;
  top: -26px;
  left: 50%;
  width: 0;
  height: 0;
  margin-left: -15px;
  border: 15px solid transparent;
  border-bottom-color: #fff0f0;
}

.timezone_block_invalid_balloon .fa-exclamation-circle{
  margin-right: 4px;
}

/* 日時を指定するときの入力注意 - 空欄なら[.timezone_block_empty]が追加され表示 */
.form_block.schedule .form_unit.timezone .timezone_block .input_calendar.timezone_block_empty .timezone_block_invalid_balloon {
  display: block;
}

.form_block.schedule .form_unit.timezone .timezone_block .input_calendar.timezone_block_empty .start_time,
.form_block.schedule .form_unit.timezone .timezone_block .input_calendar.timezone_block_empty .end_time{
  border: 1px solid #E94E2E;
}


/*  */
.was-validated .form-control:invalid, .is-invalid {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #DE412B;
  font-weight: bold;
  border: 2px solid #DE412B;
  background: #FFF1EF;
  border-radius: 4px;
  padding: 8px;
}
.was-validated .form-control:invalid, .is-invalid a {
  text-decoration: underline;
}
.was-validated .form-control:invalid, .is-invalid a:hover {
  text-decoration: none;
}
.was-validated .form-control:invalid, .is-invalid .attention {
  margin: 0 0 0 8px;
}

.was-validated .form-control:valid, .is-valid {
    border-color: #38c172;
    padding-right: calc(1.6em + 0.75rem);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2338c172' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(0.4em + 0.1875rem) center;
    background-size: calc(0.8em + 0.375rem) calc(0.8em + 0.375rem);
}


/*--- EMPTY時のスタイル ---*/
.common_empty {
  background: #fff;
  color: #ababab;
  font-size: 13px;
  padding: 36px 0;
  text-align: center;
}

.common_empty_text {
  margin: 0 0 20px;
}

.common_empty .btn_round_blue {
  font-size: 13px;
  height: auto;
  padding: 10px 20px;
  margin: 0 auto;
}





/*ローディング画面*/
.loading{
  position: fixed;
  z-index: 9999;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0,0,0,.7);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 15px;
  
}


.loading{
  color: #fff;
  font-size: 15px;
  font-weight: bold;
  text-align: center;
  letter-spacing: 1px;
}


.loader,
.loader:before,
.loader:after {
  border-radius: 50%;
  width: 2.5em;
  height: 2.5em;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation: load7 1.8s infinite ease-in-out;
  animation: load7 1.8s infinite ease-in-out;
}
.loader {
  color: #ffffff;
  font-size: 10px;
  margin: -30px auto 60px;
  position: relative;
  text-indent: -9999em;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}
.loader:before,
.loader:after {
  content: '';
  position: absolute;
  top: 0;
}
.loader:before {
  left: -3.5em;
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}
.loader:after {
  left: 3.5em;
}
@-webkit-keyframes load7 {
  0%,
  80%,
  100% {
    box-shadow: 0 2.5em 0 -1.3em;
  }
  40% {
    box-shadow: 0 2.5em 0 0;
  }
}
@keyframes load7 {
  0%,
  80%,
  100% {
    box-shadow: 0 2.5em 0 -1.3em;
  }
  40% {
    box-shadow: 0 2.5em 0 0;
  }
}


/*PCとタブレットのとき*/
@media screen and (min-width:767px){
  .bottom_window{
    width: calc(100% - 230px);
    margin-left: 230px;
  }
  .edit_delete{
    width: calc(100% - 230px);
    margin-left: 230px;
  }
}

/* ツールチップ風モーダル */
.common_tooltip_content {}
.common_tooltip_content .content_title {
  font-weight: bold;
  margin: 0 0 8px 0;
}
.modal .modal_content {
  font-size: 13px;
  border-bottom: 1px solid #E0E0E0;
  margin: 0 0 16px 0;
  padding: 0 0 16px 0;
}
.modal .modal_content:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.modal .modal_content .modal_head {
  font-weight: bold;
  margin-bottom: 4px;
}
.modal .modal_content .modal_text a {
  text-decoration: underline;
}

/* placeholder */
::-webkit-input-placeholder {
  color: #B2B2B2;
}
::-moz-placeholder {
  color: #B2B2B2;
}
:-ms-input-placeholder {
  color: #B2B2B2;
}
::-ms-input-placeholder {
  color: #B2B2B2;
}
::placeholder {
  color: #B2B2B2;
}


 /* ラベル（Lavels）  ===================================================================*/
 /* ラベル共通 */
 .contents_label {
  display: inline-flex;
  flex-wrap: nowrap;
  flex-direction:row;
  justify-content: flex-start;
  align-items:center;
  align-content:center;
  gap: 2px;
  flex: 0 1 auto;
  border-radius: 2px;
  font-size: 11px;
  line-height: 1.3;
  padding: 1px 4px;
 }

 /* 警告ラベル */
 .contents_label_warning {
  background:#FDF6CA;
  border: 1px solid #FAB301;
  color: #D59300;
}

/* 有効ラベル */
.contents_label_valid {
  background:#028AF9;
  border: 1px solid #028AF9;
  color: #ffffff;
}

/* 販売中ラベル */
.contents_label_sold {
  background:#59A2B9;
  border: 1px solid #59A2B9;
  color: #ffffff;
}

/* 売り切れラベル */
.contents_label_sold_out {
  background:#E94E2E;
  border: 1px solid #E94E2E;
  color: #ffffff;
}

/* 非表示ラベル */
.contents_label_hidden {
  background:#E8E8E8;
  border: 1px solid #E8E8E8;
  color: #222222;
}

/* 非表示ラベル */
.contents_label_staff {
  background:#222222;
  border: 1px solid #222222;
  color: #ffffff;
}
 /* /ラベル（Lavels）  ===================================================================*/

 
/* プログレスバー */
.progress_bar {
  width: 100%;
  max-width: 530px;
  margin: 24px auto;
}

.progress_bar:last-child {
  margin-bottom: 0;
}

.progress_bar .progress_bar_box {
  margin: 0 0 16px;
  height: 20px;
  background:#eee;
  border-radius: 4px;
}

.progress_bar .progress_bar_progress {
  height:100%;
  border-radius:5px;
  background: #59a2b9;
  background: linear-gradient(-45deg, #59a2b9 50%, #a1cad7 60%, #59a2b9 70%);
  background-size: 500% 100%;
  animation: progress_shine 20s infinite;
  animation-delay: 0s;
  animation-timing-function: linear;
}

@keyframes progress_shine {
  0% {
    background-position-x: 500%;
  }
  50% {
    background-position-x: 0%;
  }
  100% {
    background-position-x: -500%;
  }
}

.progress_bar .progress_bar_num {
  width: fit-content;
  font-weight: bold;
  font-size: 14px;
  color: #5d5d5d;
  margin: 0 auto;
}
/* /プログレスバー */


/* サジェスト検索 */
.suggest_contents_search {
  display: flex;
  align-items: center;
  position: relative;
}

.suggest_contents_search .suggest_contents_search_input{
  padding-left: 25px;
  width: 100%;
  border-radius: 4px;
  font-size: 13px;
}

.suggest_contents_list {
  max-height: 280px;
  overflow-y: scroll;
  border-right: 1px solid #E0E0E0;
  border-bottom: 1px solid #E0E0E0;
  border-left: 1px solid #E0E0E0;
  border-radius: 0 0 4px 4px;
  margin: -2px 0 16px;
}

.suggest_contents_list .suggest_contents_item {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  align-content: stretch;

  padding: 8px 16px 7px 25px;
  border-bottom: 1px dotted #E0E0E0;
  word-break: break-word;
  line-height: 1.35;
}

.suggest_contents_list .suggest_contents_item:first-child {
  padding-top: 10px;
}

.suggest_contents_list .suggest_contents_item:last-child {
  border-bottom: none
}

.suggest_contents_list .suggest_contents_info{
  flex: 1 1 100%;
  padding: 0 8px 0 0;
}

.suggest_contents_list .suggest_contents_name {
  font-size: 13px;
  font-weight: bold;
}

.suggest_contents_list .suggest_contents_price {
  font-size: 13px;
}

.suggest_contents_list .suggest_contents_action {
  flex: 1 0 auto;
}
/* /サジェスト検索 */

/* 管理画面モーダル  ===================================================================*/
/* フッターコントローラーより上にするため29999に指定 */
.admin_modal_content_box,
.admin_modal_content_close_btn{
  z-index: 29999;
}

.admin_modal_content {
  z-index: 29990;
}

.admin_modal_content_bg {
  z-index: 29980;
}

.admin_modal_content {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  display:flex;
  flex-wrap: nowrap;
  flex-direction:row;
  justify-content: center;
  align-items:center;
  align-content:center;
  padding: 16px;
}

.admin_modal_content_bg {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0,0,0,.65);
  display:flex;
  flex-wrap: nowrap;
  flex-direction:row;
  justify-content: center;
  align-items:center;
  align-content:center;
  padding: 16px;
  box-sizing: border-box;
}

.admin_modal_content_box {
  position: relative;
  flex: 0 1 580px;
  background-color: #fff;
  border-radius: 8px;
  padding: 24px;
}

.admin_modal_content_header {
  margin: 0 0 16px;
}

.admin_modal_content_title {
  font-size: 16px;
  line-height: 24px;
  text-align: center;
}

.admin_modal_content_body {
  text-align: center;
  font-size: 16px;
  line-height: 1.5;
}

.admin_modal_content_body_section {
  background-color: #F9F9F9;
  border-radius: 4px;
  padding: 16px;
}

.admin_modal_content_body_section + .admin_modal_content_body_section{
  margin: 8px 0 0;
}

.admin_modal_content_body_section_title {
  font-size: 13px;
  font-weight: bold;
  margin: 0 0 8px;
}

.admin_modal_content_body_section_sup {
  font-size: 11px;
  color: #888888;
  text-align: left;
}

/* #11893 -> 11496追加 */
.admin_modal_content_body_section .btn_round_blue:disabled {
  background-color: #DDDDDD;
  color: #fff;
  opacity: 1;
}

.admin_modal_content_body_attentione {
  color: #DB9F03;
  font-size: 11px;
  font-weight: bold;
  margin: 0 0 16px;
}

.admin_modal_content_body_attentione .fa {
  margin: 0 4px 0 0;
}

.admin_modal_content_body_note {
  font-size: 11px;
  text-align: left;
  margin: 8px 0 0;
}

.admin_modal_content_body_note_em {
  font-weight: bold;
}
/* /#11893 -> 11496追加 */

.admin_modal_content_body + .admin_modal_content_footer{
  margin: 32px 0 0;
}

.admin_modal_content_footer {
  display:flex;
  flex-wrap: nowrap;
  flex-direction:row;
  justify-content: center;
  align-items:center;
  align-content:center;
  text-align: center;
  gap: 16px;
}

.admin_modal_content_close_btn {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 24px;
  height: 24px;
  cursor: pointer;
  color: #fff;
  font-size: 24px;
  text-align: center;
  line-height: 1;
}

@media screen and (max-width: 400px) {
  .admin_modal_content_body {
    font-size: 14px;
  }
}

/* 管理画面モーダル  ===================================================================*/


.special_message_success {
  padding: 0 8px;
}
.special_message_success_inner {
  max-width: 880px;
  margin: 16px auto;
  color: #59A2B9;
  background: #D2EDF6;
  border: 1px solid #DBDBE4;
  border-radius: 4px;
}
.special_message_success .message_text {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  padding: 16px;
}