@charset "UTF-8";

/* ==============================
PC
============================== */
.sp_only {
  display: none;
}

.pc_only {
  display: block;
}

.fa {
  font-family: FontAwesome;
}
#contet_warp {
  position: relative;
  background-color: #f5f9ff;
  padding: 20px;
}

.content-inner {
  width: 100%;
  background: rgb(255 255 255 / 80%);
  max-width: 1280px;
  margin: auto;
  text-align: left;
  padding: 20px;
  color: #003399;
  font-size: 18px;
  line-height: 1.2em;
  height: calc(100vh - 200px);
}

.ttl_ehef {
  border-left: 14px solid #003399;
  font-size: 34px;
  font-weight: bold;
  min-height: 45px;
  margin: 30px 0;
  padding-left: 0.5em;
  line-height: 1.2em;
  font-family: 'Josefin Sans', sans-serif;
}

.ttl_ehef span.jp {
  font-size: 17px;
  font-weight: normal;
  padding-left: 1em;
}

.bs_regist {
  width: 100%;
  background: rgb(255 255 255 / 80%);
  max-width: 1280px;
  margin: auto;
  text-align: left;
  padding: 20px 20px 0 20px;
  color: #003399;
  line-height: 1.5em;
}

div#mw_wp_form_mw-wp-form-113 {
  text-align: left;
  color: #003399;
  padding: 0px 15px 15px 15px;
  font-size: 18px;
}

.booth-staff-registration h1 {
  font-size: 44px;
  font-weight: bold;
}

.booth-staff-registration a {
  color: #003399;
  text-decoration: underline;
}

.booth-staff-registration a:hover {
  color: #597abd;
}

.booth-staff_inner {
  margin-top: 30px;
}

.boothstaff_box {
  margin-bottom: 30px;
}

.boothstaff_box dt {
  font-weight: bold;
}

.boothstaff_box dd {
  padding: 10px 0;
}

.boothstaff_box dd input,
.boothstaff_box dd select {
  padding: 10px;
  font-size: 18px;
  box-sizing: border-box;
  max-width: 100%;
}

dd.c_f_interest {
  display: flex;
  flex-wrap: wrap;
  padding: 5px 20px;
}

.user_qr_info {
  display: flex;
  width: 100%;
  padding-bottom: 0.1em;
}
.user_qr_info dt {
  width: 40%;
  background: #e9f8ff;
  padding: 0.3em;
}
.user_qr_info dd {
  width: 60%;
  padding: 0.3em;
}
.qr_code_box {
  padding: 1em;
  text-align: center;
}
.qr_code_box img {
  width: 100%;
  max-width: 250px;
  aspect-ratio: 1/1;
}

.c_f_interest span.mwform-checkbox-field.horizontal-item {
  width: 25%;
  display: block;
  margin-left: 0;
}

.privacy_statement h2 {
  font-weight: bold;
  font-size: 20px;
  padding: 15px 0;
}

.privacy_statement a {
  text-decoration: underline;
  color: #003399;
}

.pstatement_innner {
  font-size: 16px;
  padding: 15px 15px 0;
}

.pstatement_check {
  font-size: 16px;
  padding: 15px 25px 0;
}

input[type=checkbox] {
  transform: scale(1.5);
  margin: 0 6px 0 0;
}

.bytton {
  padding: 10px 0;
  text-align: center;
}

.bytton span.en {
  font-size: 0.6em;
  font-weight: normal;
  display: block;
}

.bytton .confirm {
  padding: 10px 20px;
  background-color: #003399;
  color: #FFF;
  border: none;
  border-radius: 28px;
  font-size: 18px;
  font-weight: bold;
  display: inline-block;
  line-height: 1em;
}

.bytton i {
  padding-left: 1em;
}

.bytton .confirm .jptxt {
  display: block;
  font-size: 12px;
  padding-top: 3px;
}

.bytton .confirm:hover {
  background-color: #597abd;
}

.bytton .notice {
  font-size: 14px;
  display: block;
  color: #ff6060;
}

a.confirm.eventregist {
  background-color: #ff6060;
}

.mw_wp_form .error {
  margin-top: 10px;
}

.mw_wp_form_confirm .pstatement_check,
.error_message {
  font-weight: bold;
  color: #ff6060;
  padding: 0.5em;
}
.mw_wp_form_confirm .boothstaff_box dd {
  border: 1px #003796;
  margin: 10px;
  padding: 10px;
  background: #fffceb;
}

.complete_message {
  padding: 60px 0 100px 0;
}

.error_msg,
.icon_required,
.warning .fa-exclamation-triangle {
  color: #B70000;
}

.visitors_footer {
  height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #003796;
  color: #FFF;
  font-weight: normal;
}

.visitors_search table {
  border: solid 1px #003796;
  background: #fff;
  width: 100%;
}

.visitors_search table th {
  background: #e9f8ff;
}

.visitors_search table th,
.visitors_search table td {
  border: solid 1px #003796;
  padding: 5px 10px;
}

.visitors_jp {
  display: block;
  font-size: 13px;
}

.visitors_check {
  margin: 30px 0;
  border: dotted 1px;
  padding: 15px;
}

.visitors_check_txt p {
  font-size: 14px;
}

.text-xs {
  font-size: 0.6em;
  font-weight: normal;
  margin-left: 1em;
}
.text-english_xs {
  font-size: 0.7em;
  font-weight: normal;
}

.pagination_box {
  padding: 50px 0;
}

.pagination {
  display: flex;
  justify-content: center;
}

.pagination li {
  padding: 5px 10px;
}

.pagination li a {
  text-decoration: underline;
  color: #ff0068;
}

.notice {
  max-height: 300px;
  overflow-y: scroll;
  border: solid 1px #003399;
  padding: 0.5em;
  margin-bottom: 1em;
}
.notice_noborder {
  padding: 0.5em;
  font-weight: normal;
}
.notice_admin {
  margin: 0.5em;
}
.userinfo_01 {
  font-weight: bold;
  font-size: 18px;
}

.userinfo_02 {
  font-weight: normal;
  font-size: 14px;
  padding-left: 1em;
}

.disagreement {
  font-size: 14px;
}

.userinfo_box dl,
.userinfo_box dt,
.userinfo_box dd {
  line-height: 1em;
}

.userinfo_box dl {
  display: flex;
  padding-bottom: 0.5em;
}

.userinfo_box dt {
  font-weight: bold;
  min-width: 250px;
}

.userinfo_box dd {
  font-weight: normal;
  padding-left: 1em;
  min-width: 250px;
}

.toggle {
  display: none;
}

.Label {
  padding: 1em;
  display: block;
  color: #003399;
  background: #fff;
  border: solid 1px #003399;
}

.Label::before {
  content: "";
  width: 6px;
  height: 6px;
  border-top: 2px solid #003399;
  border-right: 2px solid #003399;
  -webkit-transform: rotate(45deg);
  position: absolute;
  top: calc(50% - 3px);
  right: 20px;
  transform: rotate(135deg);
}

.Label,
.content {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: all 0.3s;
}

.content {
  height: 0;
  margin-bottom: 10px;
  padding: 0 20px;
  overflow: hidden;
}

.toggle:checked+.Label+.content {
  height: auto;
  padding: 20px;
  transition: all .3s;
}

.toggle:checked+.Label::before {
  transform: rotate(-45deg) !important;
}

.csv_download_box {
  text-align: center;
}

.btn_make_csv {
  margin-bottom: 1em;
  padding: 10px 20px;
  background-color: #003399;
  color: #FFF;
  border: none;
  border-radius: 28px;
  font-size: 18px;
  font-weight: bold;
  display: inline-block;
  line-height: 1em;
}

.btn_make_csv:hover {
  background-color: #597abd;
}

.btn_csv {
  border-radius: 100px;
  background-color: #ededed;
  color: #003399;
  padding: 0.1em 1em;
  display: inline-block;
  margin: 0.5em 0;
}

.visitors_search {
  margin-bottom: 2em;
}

/* 管理画面admin */
#contet_warp.admin_warp {
  background-color: #194795;
}
#contet_warp.admin_warp .visitors_search table th {
  background-color: #ededed;
}

#contet_warp.admin_warp .form-group .form-control {
  padding: 0.5em;
  border: solid 1px;
  margin: 0.5em 0;
}
#contet_warp.admin_warp .content-inner{
  background-color: #fff;
}

#contet_warp.admin_warp a {
  color: #003796;
}

#contet_warp.admin_warp a:hover {
  text-decoration: underline;
}

#contet_warp.admin_warp .content-inner {
  color: #313131;
}

#contet_warp.admin_warp .visitors_search table th,
#contet_warp.admin_warp .visitors_search table td {
  border: solid 1px #313131;
}

#contet_warp.admin_warp .ttl_ehef {
  border-left: 14px solid #313131;
}

#contet_warp.admin_warp .bytton .confirm,
#contet_warp.admin_warp input.btn {
  background-color: #313131;
  color: #ffffff;
  text-decoration: none;
  padding: 10px 20px;
  border: none;
  border-radius: 28px;
  font-size: 18px;
  font-weight: bold;
  display: inline-block;
  line-height: 1em;
}

.add_event {
  display: inline-block;
  position: relative;
}

.add_event::before {
  position: absolute;
  left: 12px;
  top: 6px;
  font: var(--fa-font-solid);
  content: "\2b";
}

#contet_warp.admin_warp .btn_small {
  background: #313131;
  border-radius: 100px;
  padding: 0.3em 1em 0.3em 2em;
  color: #fff;
  margin: 0.3em 0;
  border: none;
}

#contet_warp.admin_warp .submit-br {
  background: #313131;
  border-radius: 100px;
  padding: 0.3em 1em;
  color: #fff;
  margin: 0.3em 0;
  border: none;
}

#contet_warp.admin_warp .btn_small:hover,
#contet_warp.admin_warp .bytton .confirm:hover,
#contet_warp.admin_warp input.btn:hover,
#contet_warp.admin_warp .submit-br:hover {
  background: #003796;
  color: #fff;
}
#contet_warp.admin_warp ul.nav.navbar-nav.side-nav li {
  padding: 0.3em;

}
ul.nav-second-level {
  padding-left: 1em;
}
.admin_menu_ttl {
  padding: 0.5em;
  font-weight: bold;
  background: #ededed;
}
#contet_warp.admin_warp input#title {
  padding: 0.5em;
}
#contet_warp.admin_warp textarea#note {
  padding: 0.5em;
  width: calc(100% - 20px);
  height: 200px;
  overflow-y: auto;
}
.Form-table th {
  vertical-align: middle;
}

ul#user_entry_menu {
  display: flex;
}
ul#user_entry_menu li {
  width: 50%;
  padding: 1em;
  text-align: center;
}

ul#user_entry_menu li a {
  text-align: center;
  margin: auto;
  font-size: 20px;
  font-weight: bold;
  padding: 1em;
  border: #003399 solid 1px;
  border-radius: 100px;
  display: block;
  width: 100%;
  color: #003399;
}
ul#user_entry_menu li a:hover {
  background-color: #e9f8ff;
}

.precautions {
  list-style: disc;
  font-size: 14px;
  font-weight: normal;
  margin: 1em 0;
}
ul#user_entry_menu .precautions li,
.precautions li {
  padding: 0;
  width: calc(100% - 2em);
  text-align: left;
  margin-left: 2em;
}
.user_entry_type {
  display: block;
  font-size: 16px;
  margin-bottom: 0.5em;
}
.alert.alert-success {
  padding: 0.5em;
    background: #e9f8ff;
}


/* ==============================
SP
============================== */
@media screen and (max-width: 768px) {
  .sp_only {
    display: block;
  }

  .pc_only {
    display: none;
  }

  .ttl_ehef {
    font-size: 25px;
  }

  .boothstaff span {
    display: block;
    line-height: 1.2em;
  }

  .visitors_search table th,
  .visitors_search table td {
    font-size: 0.5em;
    line-height: 1.2em;
  }

  .Check-in-time {
    font-size: 0.5em;
  }
  ul#user_entry_menu {
    display: block;
  }
  ul#user_entry_menu li {
    width: 100%;
    padding: 1em;
    text-align: center;
  }
  .user_qr_info {
    display: block;
  }
  .user_qr_info dt {
    width: 100%;
    background: #e9f8ff;
    padding: 0.3em;
  }
  .user_qr_info dd {
    width: 100%;
    padding: 0.2em 0.3em 0.8em 0.3em;
  }
}

/* ==============================
リセット
============================== */

table {
  width: 100%;
  table-layout: fixed;
  word-break: break-all;
  word-wrap: break-all;
}

a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  box-sizing: border-box;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block
}

body {
  line-height: 1
}

ol,
ul {
  list-style: none
}

blockquote,
q {
  quotes: none
}

blockquote:after,
blockquote:before,
q:after,
q:before {
  content: '';
  content: none
}

table {
  border-collapse: collapse;
  border-spacing: 0
}

body {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
  font-size: 1.4rem;
  color: #000;
  background: #ffffff;
  word-wrap: break-word;
  overflow-wrap: break-word;
  text-align: center;
}

a {
  text-decoration: none;
}


.layer {
  background: rgba(0, 0, 0, .2);
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0;
  visibility: hidden;
  transition: opacity 1s linear, visibility 1s linear, z-index 1s linear;
}

.layer.is-open {
  z-index: 999;
  opacity: 1;
  visibility: visible;
}

.layer.is-open .modal {
  opacity: 1;
  visibility: visible;
}

.modal__button-wrap {
  position: absolute;
  right: 10px;
  top: -28px;
  display: inline-flex;
}


.close-button {
  position: relative;
  width: 39px;
  height: 39px;
  background: #003399;
  border-radius: 50%;
  padding: 0;
  border: transparent;
  cursor: pointer;
}

.close-button:hover {
  background-color: #597abd;
}

.close-button span {
  width: 25px;
  height: 2px;
  background: #fff;
  display: inline-block;
  position: absolute;
  left: calc(50% - 12px);
  top: 50%;
  border-radius: 20px;
}

.close-button span:nth-child(1) {
  transform: rotate(45deg) translate(-1px, -1px);
}

.close-button span:nth-child(2) {
  transform: rotate(-45deg) translate(1px, -1px);
}

.modal {
  position: relative;
  margin-right: auto;
  margin-left: auto;
  opacity: 0;
  visibility: hidden;
  transition: visibility .7s linear, opacity .7s linear;
}

.modal__inner {
  margin-top: 25px;
  margin-bottom: 25px;
  position: relative;
  margin-left: auto;
  margin-right: auto;
  background: #fff;
  box-shadow: 3px 4px 4px rgba(0, 0, 0, 0.25);
  border-radius: 13px;
  display: block;
  padding: 21px 8px 21px;
  height: auto;
}

.modal__content {
  padding-top: 15px;
  padding-bottom: 23px;
}


.modal__button-area {
  max-width: 843px;
  margin-right: auto;
  margin-left: auto;
  margin-top: 17px;
  padding-top: 15px;
}

.button {
  padding: 10px 20px;
  background-color: #003399;
  color: #FFF;
  border: none;
  border-radius: 28px;
  font-size: 18px;
  font-weight: bold;
  display: inline-block;
  line-height: 1em;
}

.button:hover {
  background-color: #597abd;
}

#wrapper {
  position: relative;
}

#video {
  top: 0px;
  left: 0px;
  visibility: hidden;
}

#camera-canvas {
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 50;
}

#rect-canvas {
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 100;
}

#qr-msg {
  position: absolute;
  top: 500px;
  left: 0px;
}