@charset "UTF-8";

/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
html {
    line-height: 1.15;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

article,
aside,
footer,
header,
nav,
section {
    display: block
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

figcaption,
figure,
main {
    display: block
}

figure {
    margin: 1em 40px
}

hr {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

pre {
    font-family: monospace, monospace;
    font-size: 1em
}

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

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

b,
strong {
    font-weight: inherit
}

b,
strong {
    font-weight: bolder
}

code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: 1em
}

dfn {
    font-style: italic
}

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

small {
    font-size: 80%
}

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

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

audio,
video {
    display: inline-block
}

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

img {
    border-style: none
}

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

button,
input,
optgroup,
select,
textarea {
    font-family: sans-serif;
    font-size: 100%;
    line-height: 1.15;
    margin: 0
}

button,
input {
    overflow: visible
}

button,
select {
    text-transform: none
}

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

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

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

fieldset {
    padding: .35em .75em .625em
}

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

progress {
    display: inline-block;
    vertical-align: baseline
}

textarea {
    overflow: auto
}

[type=checkbox],
[type=radio] {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

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

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

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

details,
menu {
    display: block
}

summary {
    display: list-item
}

canvas {
    display: inline-block
}

template {
    display: none
}

[hidden] {
    display: none
}

/*!
 * ress.css • v1.2.2
 * MIT License
 * github.com/filipelinhares/ress
 */
html {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow-y: scroll;
    -webkit-text-size-adjust: 100%
}

*,
::after,
::before {
    background-repeat: no-repeat;
    -webkit-box-sizing: inherit;
    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
}

html {
    font-size: 62.5%;
    line-height: 66.66667%;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', '游ゴシック', YuGothic, Meiryo, sans-serif
}

body {
    position: relative;
    width: 100%;
    line-height: 1.5
}

a {
    color: #000;
    text-decoration: none
}

a:hover {
    color: #ea5506;
}

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

figure {
    display: block;
    margin: 0
}

.foot-root {
    min-width: 1000px;
    margin-top: 100px;
    border-top: 2px solid #999;
    font-size: 1.4rem;
    line-height: 1.71429;
    text-align: center
}

.foot-root .links {
    margin: 10px 0
}

.foot-root .links .li {
    display: inline-block
}

.foot-root .links .link {
    padding: 10px
}

.foot-root .links .li+.li:before {
    content: '|'
}

.foot-root .about {
    padding: 12px 0;
    background-color: #333;
    color: #fff
}

.foot-root .cr {
    padding: 18px 0;
    font-style: normal
}

.head-root {
    position: relative;
    width: 100%;
    background: url("main/com_bg.jpg") 0 0 no-repeat;
    background-size: cover
}

.head-root:after,
.head-root:before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0
}

.head-root:before {
    top: 0;
    background: url(main/com_bg_pattern.png) 0 0 repeat
}

.head-root:after {
    height: 225px;
    background-color: rgba(0, 0, 0, .4);
    bottom: 0
}

.head-root .wrap {
    position: relative;
    width: 1000px;
    margin: 0 auto;
    padding-top: 40px;
    z-index: 1
}

.head-root .ttl {
    width: 543px;
    margin: 0 auto
}

.head-root .ttl-sub {
    width: 589px;
    margin: 32px auto 0
}

.head-root .global-menu {
    margin-top: 50px
}

.head-root .global-menu:after {
    content: "";
    display: block;
    clear: both
}

.head-root .global-menu .link {
    width: 200px;
    float: left;
    background-color: rgba(0, 0, 0, .8);
    -webkit-transition: all .15s;
    transition: all .15s;
    color: #fff;
    font-size: 1.6rem;
    line-height: 3.75;
    text-align: center
}

.head-root .global-menu .link:hover {
    background-color: #333
}

.head-root .global-menu .link.on {
    background-color: #ea5506;
}

.ta-r {
    text-align: right
}

.ta-c {
    text-align: center
}

.fz-m {
    font-size: 2rem
}

.fz-l {
    font-size: 2.4rem
}

.fz-ll {
    font-size: 2.4rem
}

.c-red {
    color: red
}

.c-blue {
    color: #33c
}

.c-green {
    color: #ea5506;
}

.fade {
    -webkit-transition: opacity .15s;
    transition: opacity .15s
}

.fade:hover {
    opacity: .6
}

.p-cmn .p+.p {
    margin-top: 1em
}

.p-cmn .mb {
    margin-bottom: 20px
}

.p-cmn.mt {
    margin-top: 20px
}

.p-cmn .bdt {
    padding-top: 1em;
    border-top: 1px dashed #9e9e9e
}

.bttn-wrap {
    margin-top: 30px;
    padding: 30px;
    background-color: #eee;
    text-align: center;
    font-size: 0
}

.bttn-wrap .bttn,
.bttn-wrap input[type=submit] {
    display: inline-block;
    padding: 20px 40px;
    background-color: #ea5506;
    border-radius: 5px;
    -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .3);
    box-shadow: 0 1px 2px rgba(0, 0, 0, .3);
    color: #fff;
    font-size: 2rem;
    line-height: 1;
    text-decoration: none
}

dl.cols .dt {
    position: relative;
    width: 180px;
    padding: 12px 0 10px;
    float: left;
    clear: both;
    font-weight: 700
}

dl.cols .dt:before {
    position: absolute;
    right: .5em;
    top: 12px
}

dl.cols .dd {
    position: relative;
    padding: 12px 0 10px 180px;
    border-bottom: 1px dashed #9e9e9e
}

table.cmn {
    width: 100%;
    margin-top: 30px;
    border-spacing: 0;
    border-collapse: collapse;
    border: 0
}

table.cmn.ta-c td,
table.cmn.ta-c th {
    text-align: center
}

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

table.cmn td.bg-orange,
table.cmn th.bg-orange {
    background-color: #89d07f
}

table.cmn th {
    background-color: #ececec
}

ol.dcml li {
    font-size: 21px;
}

ol.dcml li,
ul.disc li {
    margin-left: 1.5em;
}

ul.ann {
    margin-top: .5em;
    list-style-type: none;
    font-size: 1.4rem;
    line-height: 1.3
}

ul.ann li .mark {
    float: left
}

ul.ann li .body {
    display: block;
    margin-left: 1.25em
}

.regist-form {
    margin-top: 20px;
    line-height: 1.5
}

.regist-form input[type=email],
.regist-form input[type=tel],
.regist-form input[type=text],
.regist-form input[type=url] {
    width: 350px;
    padding: .5em .5em;
    border: 1px solid #999;
    border-radius: 4px;
    background: #fff
}

.regist-form input[type=checkbox],
.regist-form input[type=radio] {
    margin-right: 5px
}

.regist-form select {
    width: 100px;
    padding: .5em .5em;
    border: 1px solid #999;
    border-radius: 4px;
    background: #eee url(main/ico_arrow_10.png) calc(100% - 10px) 50% no-repeat;
    background-size: 8px 6px
}

.regist-form select+input[type=text] {
    margin-left: 1em
}

.regist-form label {
    display: inline-block;
    margin-right: 1em;
    font-size: 1.5rem
}

.regist-form label .wpcf7-form-control-wrap {
    margin-left: .5em
}

.regist-form table {
    width: 100%;
    text-align: left;
    border-spacing: 0
}

.regist-form table tr:nth-child(odd) {
    background-color: #f8f8f8
}

.regist-form table td,
.regist-form table th {
    padding: .8em 1em;
    border: none
}

.regist-form table th {
    width: 250px;
    font-weight: 400
}

.regist-form table td.name input[type=email],
.regist-form table td.name input[type=tel],
.regist-form table td.name input[type=text],
.regist-form table td.name input[type=url] {
    width: 150px
}

.regist-form table td.post input[type=email],
.regist-form table td.post input[type=tel],
.regist-form table td.post input[type=text],
.regist-form table td.post input[type=url] {
    width: 100px
}

.regist-form table td.address input[type=email],
.regist-form table td.address input[type=tel],
.regist-form table td.address input[type=text],
.regist-form table td.address input[type=url] {
    width: 300px
}

.regist-form table td.fax input[type=email],
.regist-form table td.fax input[type=tel],
.regist-form table td.fax input[type=text],
.regist-form table td.fax input[type=url],
.regist-form table td.tel input[type=email],
.regist-form table td.tel input[type=tel],
.regist-form table td.tel input[type=text],
.regist-form table td.tel input[type=url] {
    width: 200px
}

.regist-form table td.time input[type=email],
.regist-form table td.time input[type=tel],
.regist-form table td.time input[type=text],
.regist-form table td.time input[type=url] {
    width: 70px
}

.regist-form span.mt {
    display: inline-block;
    margin-top: 10px
}

.regist-form span.ml,
.regist-form span.ml3 {
    display: inline-block;
    margin-left: 1em
}

.regist-form span.ml3 {
    margin-left: 3em
}

.regist-form .cb-agree {
    font-size: 1.8rem;
    font-weight: 700
}

sup.req {
    color: red
}

.wpcf7-not-valid-tip {
    display: block;
    margin-top: 5px;
    color: red
}

div.wpcf7-mail-sent-ok,
div.wpcf7-validation-errors {
    border: none
}

div.wpcf7-response-output {
    margin: 0;
    margin-top: 15px;
    padding: 20px;
    background-color: #f8f8f8;
    border: none;
    color: red;
    font-weight: 700;
    text-align: center
}

div.wpcf7-response-output ul {
    display: none
}

.columns {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.columns:after {
    content: none
}

.columns.two>.col {
    -ms-flex-preferred-size: 48.4%;
    flex-basis: 48.4%
}

.columns.two>.col:nth-child(even) {
    margin-left: 3.2%
}

.columns.two>.col:nth-child(n+3) {
    margin-top: 40px
}

.columns.two.disorder {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.columns.two.disorder>.col:nth-child(even) {
    margin-left: 0
}

.columns.three>.col {
    -ms-flex-preferred-size: 30.6%;
    flex-basis: 30.6%
}

.columns.three>.col:nth-child(3n+2),
.columns.three>.col:nth-child(3n+3) {
    margin-left: 4.1%
}

.columns.three>.col:nth-child(n+4) {
    margin-top: 30px
}

.columns.five>.col {
    -ms-flex-preferred-size: 17.44%;
    flex-basis: 17.44%
}

.columns.five>.col:nth-child(5n+2),
.columns.five>.col:nth-child(5n+3),
.columns.five>.col:nth-child(5n+4),
.columns.five>.col:nth-child(5n+5) {
    margin-left: 3.2%
}

.columns.five>.col:nth-child(n+6) {
    margin-top: 40px
}

.container {
    width: 1000px;
    margin: 30px auto 0
}

.container:after {
    content: "";
    display: block;
    clear: both
}

.container .ttl-h2 {
    width: 514px;
    margin: 0 auto 40px
}

.side-root {
    width: 229px;
    float: right
}

.side-root .banners .bnnr {
    display: block
}

.side-root .banners .bnnr+.bnnr {
    margin-top: 10px
}

.main {
    width: 743px;
    float: left;
    font-size: 1.6rem;
    line-height: 1.875
}

.main a {
    text-decoration: underline
}

.main .ttl-h3 {
    margin-bottom: 1em;
    padding: 18px 2px;
    border-top: 2px solid #ea5506;
    border-bottom: 1px solid #ccc;
    font-size: 2.4rem;
    line-height: 1.3
}

.main .ttl-h3~.ttl-h3 {
    margin-top: 60px
}

.main .ttl-h3-a {
    margin-bottom: 1em;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.3
}

.main .ttl-h4 {
    margin-top: 30px;
    margin-bottom: 20px;
    padding: 4px .8em;
    background-color: #333;
    color: #fff
}

.main .ttl-cat {
    color: #ea5506;
    font-size: 2rem
}

.main *~.ttl-cat {
    margin-top: 20px
}

.main .company {
    line-height: 1.4
}

.main .company li+li {
    margin-top: .5em
}

.main .company small {
    color: #666
}

.main .foot-misc {
    margin-top: 1em
}

.main .foot-misc:after {
    content: "";
    display: block;
    clear: both
}

.main .foot-misc .p {
    float: right
}

.figs {
    margin-top: 40px
}

.banners .caption {
    margin-top: .8em;
    font-size: 1.5rem;
    line-height: 1.5
}

.figure {
    font-size: 0;
    text-align: center
}

.figure img {
    display: inline-block
}

.mt {
    margin-top: 4em
}

.p-right {
    text-align: right;
}

.banners {
    margin: 50px 0;
}

.dcml_blue {
    color: #1d2088;
}

.dcml_big {
    font-size: 34px;
}

.dcml_orange {
    color: #ed6c00;
}

.mt_l {
    margin-top: 50px;
}


/* ---------- */

/*
    p-top
*/

.p-top .sponser {
    display: flex;
    justify-content: flex-end;
}

.p-top .sponser .gr {
    display: flex;
    margin-bottom: 4rem;
}

.p-top .sponser .gr .fz-l {
    font-size: 2.4rem;
}
.p-top .sponser .gr .text-justify {
    display: flex;
    justify-content: space-between;
}

.p-top .sponser .gr .text-right {
    text-align: end;
}

.p-top .close-area {
    margin: 40px 0 80px;
    text-align: center;
}
.p-top .close {
    text-align: center;
    font-size: 3.2rem;
    line-height: 1.5;
    margin-bottom: 1em;
}

/* ---------- */

/*
    p-exhibitor
*/

.p-exhibitor table {
    margin-bottom: 56px;
}

.p-exhibitor .package_hl {
    font-size: 16px;
    font-weight: 600;
    border-bottom: 1px solid #aaa;
    border-left: 16px solid #ececec;
    padding: 6px 16px;
    margin-bottom: 24px;
}

.p-exhibitor .exh_fig_pannel_01,
.exh_fig_pannel_02,
.exh_fig_pannel_03 {
    max-height: 320px;
    margin-bottom: 32px;
}

/* ---------- */

/*
    p-visitor
*/

.p-visitor .fig.mt {
    margin-top: 1.5em;
}

/* ---------- */

/*
    p-access
*/

.p-access .fig_map {
    margin: 0 auto;
}