@charset "UTF-8";
html { box-sizing: border-box; overflow-y: scroll; -webkit-text-size-adjust: 100%; }

*, :after, :before { background-repeat: no-repeat; box-sizing: inherit; }

:after, :before { text-decoration: inherit; vertical-align: inherit; }

* { padding: 0; margin: 0; }

audio:not([controls]) { display: none; height: 0; }

hr { overflow: visible; }

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

summary { display: list-item; }

small { font-size: 80%; }

[hidden], template { display: none; }

abbr[title] { border-bottom: 1px dotted; text-decoration: none; }

a { background-color: transparent; -webkit-text-decoration-skip: objects; }

a:active, a:hover { outline-width: 0; }

code, kbd, pre, samp { font-family: monospace,monospace; }

b, strong { font-weight: bolder; }

dfn { font-style: italic; }

mark { background-color: #ff0; color: #000; }

sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }

sub { bottom: -.25em; }

sup { top: -.5em; }

input { border-radius: 0; }

[role=button], [type=button], [type=reset], [type=submit], button { cursor: pointer; }

[disabled] { cursor: default; }

[type=number] { width: auto; }

[type=search] { -webkit-appearance: textfield; }

[type=search]::-webkit-search-cancel-button, [type=search]::-webkit-search-decoration { -webkit-appearance: none; }

textarea { overflow: auto; resize: vertical; }

button, input, optgroup, select, textarea { font: inherit; }

optgroup { font-weight: 700; }

button { overflow: visible; }

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner { border-style: 0; padding: 0; }

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button:-moz-focusring { outline: 1px dotted ButtonText; }

[type=reset], [type=submit], button, html [type=button] { -webkit-appearance: button; }

button, select { text-transform: none; }

button, input, select, textarea { background-color: transparent; border-style: none; color: inherit; }

select { -moz-appearance: none; -webkit-appearance: none; }

select::-ms-expand { display: none; }

select::-ms-value { color: currentColor; }

legend { border: 0; color: inherit; display: table; max-width: 100%; white-space: normal; }

::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }

[type=search] { -webkit-appearance: textfield; outline-offset: -2px; }

img { border-style: none; }

progress { vertical-align: baseline; }

svg:not(:root) { overflow: hidden; }

audio, canvas, progress, video { display: inline-block; }

@media screen { [hidden~=screen] { display: inherit; }
  [hidden~=screen]:not(:active):not(:focus):not(:target) { position: absolute !important; clip: rect(0 0 0 0) !important; } }
[aria-busy=true] { cursor: progress; }

[aria-controls] { cursor: pointer; }

[aria-disabled] { cursor: default; }

::-moz-selection { background-color: #b3d4fc; color: #000; text-shadow: none; }

::selection { background-color: #b3d4fc; color: #000; text-shadow: none; }

*::selection { color: white; background: #00205f; }

* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }

@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 100; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 200; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 300; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 400; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Bold"); font-weight: bold; }
@font-face { font-family: "Helvetica Neue"; src: local("Helvetica Neue Regular"); font-weight: 100; }
@font-face { font-family: "Helvetica Neue"; src: local("Helvetica Neue Regular"); font-weight: 200; }
html { font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif; }

@media all and (-ms-high-contrast: none) { html { font-family: Verdana, Meiryo, sans-serif; } }
@media all and (-ms-high-contrast: active) { html { font-family: Verdana, Meiryo, sans-serif; } }
html { overflow-y: scroll; height: 100%; line-height: 1.6; font-size: 62.5%; letter-spacing: 0.0625em; -webkit-overflow-scrolling: touch; }

body { overflow: hidden; width: 100%; height: 100%; font-size: 1rem; font-weight: normal; color: #000000; -webkit-overflow-scrolling: touch; }

h1 { font-size: 3.8rem; font-family: 'Oswald', sans-serif; text-align: center; line-height: 1.2; margin-bottom: 40px; letter-spacing: 1px; text-indent: 1px; }
h1 span { font-size: 1.3rem; display: block; margin-top: 10px; letter-spacing: 0; }

h2 { font-size: 3.6rem; }

h3 { font-size: 2.6rem; }

p, li, dd, dt, th, td, a, button { box-sizing: border-box; font-size: 1.6rem; }

li { list-style: none; }

a { display: block; text-decoration: none; color: #000000; transition: 0.5s cubic-bezier(0.39, 0.575, 0.565, 1); }

img { display: block; width: 100%; height: auto; }

video { display: block; }

button { outline: none; box-sizing: border-box; display: block; border-radius: 0; cursor: pointer; }

input { box-sizing: border-box; display: block; outline: 0; }

textarea { box-sizing: border-box; display: block; outline: 0; }

select { outline: 0; box-sizing: border-box; border-radius: 0; }

hr { box-sizing: border-box; height: 0; margin: 0; padding: 0; border: 0; }

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

svg { display: block; }
svg:not(:root) { overflow: visible; }

.wrap { height: 100%; position: relative; z-index: 1; }

.inner { width: 92%; margin: 0 auto; }

.flex_row { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; }
.flex_row.flex_cf { display: block; }
.flex_row.col2 > * { width: 100%; }
.flex_row.col3 > * { width: 100%; }

.btn_base a { width: 90%; display: block; text-align: center; color: #FFF; background: #00205f; border-radius: 4px; font-size: 1.5rem; font-weight: 600; line-height: 36px; margin: 0 auto 30px; }
.btn_base._type02 a { color: #000; background: #ae8a66; margin: 30px auto 0; }
.btn_base._type03 a { color: #fff; background: #000; }

.btn_input input, .btn_input a { display: block; text-align: center; width: 100%; font-size: 1.4rem; font-weight: 600; border-radius: 4px; margin-left: auto; margin-right: auto; line-height: 26px; height: 26px; width: 180px; color: #FFF; background: #000000; }

.loading { width: 100%; height: 100%; background: #000; position: relative; z-index: 10010; }

.footer { z-index: 8000; width: 100%; position: fixed; bottom: 0; left: 0; background: #000; color: #FFF; text-align: center; }
.footer h2 { font-size: 1.4rem; font-weight: 600; line-height: 40px; }

.logo img { width: 30%; margin: 0 auto 30px; }

#wrapper { height: 100%; position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; flex-direction: column; align-items: center; justify-content: center; }
#wrapper .container { width: 100%; }
#wrapper .container .inner { padding: 0 0 25px; z-index: 100; }
#wrapper .container .inner dt { font-size: 1.1rem; /*font-weight: 600;*/ margin-bottom: 10px; text-align: center; }
#wrapper .container .inner dd { margin-bottom: 15px; font-size: 1.3rem; }
#wrapper .container .inner .field { width: 100%; background: #FFF; border: #dddddd solid 1px; padding: 8px; font-size: 1.3rem; border-radius: 4px; }
#wrapper .container .inner .field.error { color: #cc0000; border: #cc0000 solid 1px; }
#wrapper .container .inner .caption { text-align: center; font-size: 1rem; margin-bottom: 10px; letter-spacing: -.5px; margin-top: 3px; }
#wrapper .container .inner .caption.em { font-weight: 700; font-size: 1.4rem }
#wrapper .container .inner .block_entry { width: 90%; margin: 0 auto; border-radius: 4px; overflow: hidden; background: #ede9e5; }
#wrapper .container .inner .block_entry h3 { background: #ae8a66; font-size: 1.5rem; line-height: 30px; text-align: center; }
#wrapper .container .inner .block_entry .box_entry { padding: 20px 15px 20px 15px; }
#wrapper .container .inner h2 { font-size: 3.6rem; text-align: center; margin-bottom: 30px; }
#wrapper .container .inner h4 { font-size: 2rem; text-align: center; margin-bottom: 30px; }
/*#wrapper .container .inner .block_pass form { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }*/
#wrapper .container .inner .block_pass .block_pass_inner { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin-bottom: 30px; }
#wrapper .container .inner .block_pass form .pass_code { display: block; text-align: center; border-bottom: 2px solid #ccc; padding: 10px; margin: 0 10px; font-size: 3rem; width: 50px; }
#wrapper .container .inner .mb20 { margin-bottom: 20px; }
#wrapper .container .inner .mb40 { margin-bottom: 40px; }
#wrapper .container .inner .mb60 { margin-bottom: 60px; }
#wrapper .container .inner .mb80 { margin-bottom: 80px; }
#wrapper .container .inner .mb100 { margin-bottom: 100px; }

#mycode { display: none; }

.modaal-container { background: #d3c9bf; width: 100%; height: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; flex-direction: column; align-items: center; justify-content: center; }

.modaal-content-container { padding: 0; margin: 0; }
.modaal-content-container h1 { margin-bottom: 20px; }
.modaal-content-container section { padding: 0; }
.modaal-content-container section .barcode { width: 90%; padding: 5px 15%; margin: 0 auto 5px; background: #FFF; }
.modaal-content-container section .barcode img { width: 225px; height: 100px; }
.modaal-content-container section .caption { text-align: center; font-size: 1rem; margin-bottom: 10px; letter-spacing: -.5px; margin-top: 3px; }
.modaal-content-container section .caption.col_r { font-weight: 700; font-size: 1.2rem; color: #F80004; padding: 5px 5%; }
.modaal-content-container section .block_howto { width: 90%; margin: 0 auto; border-radius: 4px; overflow: hidden; background: #FFF; }
.modaal-content-container section .block_howto h3 { background: #00205f; color: #FFF; font-size: 1.5rem; line-height: 30px; text-align: center; }
.modaal-content-container section .block_howto figure { width: 200px; margin: 0 auto 15px; }
.modaal-content-container section .block_howto ol li { font-size: 1.1rem; text-align: center; margin-bottom: 10px; }
.modaal-content-container section .block_howto .box_howto { padding: 15px; }

.modaal-fullscreen .modaal-close { background: none; display: block; width: 40px; height: 40px; position: absolute; z-index: 1200; }
.modaal-fullscreen .modaal-close::before, .modaal-fullscreen .modaal-close::after { content: ""; display: block; width: 100%; /*バツ線の長さ*/ height: 1px; /*バツ線の太さ*/ background: #000; transform: rotate(45deg); position: absolute; top: 20px; right: 0; left: auto; }
.modaal-fullscreen .modaal-close::after { transform: rotate(-45deg); }

.error-text {font-size: 1rem;margin-bottom: 10px;text-align: center;color: #FF0004;}

.top_body {
    height: auto;
    overflow: hidden;
}
.top_body #wrapper {
    padding: 50px 0 ;
}
.login_body #wrapper {
    padding: 100px 0 0 ;
}
.modaal-wrapper.modaal-fullscreen {
    overflow: auto;
    height: auto;
    min-height: 100%;
}
.modaal-content-container {
    padding: 50px 0 100px;
    
}

