body {
    font-family: 'Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
    color: #333;
}

.container-max-width {
    max-width: 1140px;
}

.container-fluid-width {
    max-width: 1500px;
}

/**
 * 開発環境
 */
.env-mode {
    padding: 5px;
    text-align: center;
}

.env-mode.development {
    background: #ccc;
    color: #333;
}

.env-mode.testing {
    background: #FFE440;
    color: #333;
}

/**
 * 言語切替
 */
.lang-area {
    position: relative;
}

.btn-lang {
    position: absolute;
    top: .4rem;
    right: 1rem;
}

/**
 * 表示・非表示
 */
.hide{
    display: none;
}

.show{
    /*display: block;*/
}

/**
 * 動画アイコン
 */
.video-overlay {
    position: relative;
    display: inline-block;
    overflow: hidden;
}

.video-overlay .video-image {
    transition-duration: 0.3s;
}

.video-overlay:hover .video-image {
    opacity: 0.6;
    transform: scale(1.1,1.1);
    transition-duration: 0.3s;
}

/** for IE11 */
#video-modal {
    transition-duration: 0s;
}

.video-image {
    max-width: 100%;
    height: auto;
}

.video-icon {
    position: absolute;
    right: 10px;
    bottom: 0;
}

/**
 * iOSで文字数が多い場合に必要
 */
select {
    overflow: hidden;
}

/**
 * Datetime Picker
 */
.bootstrap-datetimepicker-widget {
    font-family: -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";
}

.admin {
    right: 10px;
    left: auto;
    background: rgba(255,0,0,0.2);
    border-radius: 0 0 5px 5px;
    color: #000;
    font-size: .9rem;
    padding: 2px 10px;
    text-align: center;
}

.bg-admin {
    background: #fef8c9 !important;
}

.icon-border {
    font-size: 1.2rem;
}

@media screen and (max-width: 992px) {
    .icon-border {
        font-size: 1rem;
    }
}

/**
 * PCカバー画像用（製品・サービスを探す・セミナー）
 */
.full-width {
    width: 100%;
    height: 400px;
    object-fit: cover;
}

.full-width-text {
    margin-top: -420px;
    width: 600px;
}

.modal-body{
    max-height: calc(100vh - 180px);
    overflow-y: auto;
}

/**
 * IEでモーダルの縦幅を適正にする
 */
.modal-body {
    position: relative;
    overflow-y: auto;
}

/**
 * 動画用のiframe
 */
#video-modal .modal-body {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    -webkit-overflow-scrolling:touch;
}

#video-modal .modal-body iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/**
 * ロゴ
 */
@media screen and (max-width: 992px) {
    .logo {
        height: 56px;
    }
}

/**
 * フッター
 */
footer.bg-dark a {
    color: #fff;
    margin-right: 1.25rem;
}

footer.bg-dark a:hover {
    color: #fff;
}

.fixed-bottom {
    /*background-color: #343A40 !important;*/
    /*background-color: #6c757d !important;*/
    /*background-color: #eee !important;*/
    background: rgba(238, 238, 238, 0.9);
}

@media screen and (max-width: 992px) {
    footer .list-inline-item {
        display: block;
    }
}


/**
 * 見出し
 */
.fs-large {
    font-size: 5rem !important;
    word-wrap : break-word;
    overflow-wrap : break-word;
    line-height: 5.5rem;
}

.fs-1 {
    font-size: 1.8rem !important;
    word-wrap : break-word;
    overflow-wrap : break-word;
    line-height: 2.5rem;
}

.fs-2 {
    font-size: 1.3rem !important;
    word-wrap : break-word;
    overflow-wrap : break-word;
}

.fs-3 {
    font-size: 1rem !important;
    word-wrap : break-word;
    overflow-wrap : break-word;
}

.fs-4 {
    font-size: .8rem !important;
    word-wrap : break-word;
    overflow-wrap : break-word;
}

.fs-5 {
    font-size: .6rem !important;
    word-wrap : break-word;
    overflow-wrap : break-word;
}

.section-title {
    border-left: 5px solid #333;
    padding-left: 16px;
    word-wrap : break-word;
    overflow-wrap : break-word;
}

.section-table {
    text-align: center;
    margin-top: 3rem;
    margin-bottom: 1rem;
}

.section-block {
    background: #343a40;
    color: #fff;
    font-size: 1.4rem;
    padding: .6rem 1.6rem;
    margin-bottom: 1rem;
    margin-left: -55px;
    display: inline-block;
}

.header-block {
    background: #eee;
    color: #333;
    font-size: 1.4rem;
    font-weight: bold;
    padding: .8rem 1rem;
    display: block;
}

@media screen and (max-width: 992px) {

    .fs-1 {
        font-size: 1.4rem !important;
    }

    .fs-2 {
        font-size: 1.2rem !important;
    }

    .section-title {
        font-size: 1.4rem;
        padding-left: 10px;
    }

    .section-table {
        font-size: 1.4rem;
    }

    .section-block {
        margin-left: -25px;
    }

    .fs-sm {
        font-size: .8rem !important;
    }
}

/**
 * フォームエディタ
 */
.editor-area-caution {
    color: red;
    display: flex;
    font-size: 1.13rem;
    font-weight: 700;
}

.editor-color-code {
    width: 125px !important;
}

/**
 * BootStrap
 * テーブル
 */
.table-xs {
    font-size: 0.8rem;
}

.table-xs th,
.table-xs td {
    padding: 5px 10px;
}

.vertical-align-middle {
    vertical-align: middle !important;
}

/**
 * BootStrap
 * ハンバーガーメニュー
 */
.navbar {
    padding: 0;
    border: 0;
}

.navber-align-items {
    align-items: center!important;
}

.bg-brand {
    padding: 15px 40px;
}

.navbar .nav-item {
    padding-left: 14px;
    padding-right: 14px;
}

.navbar-light {
    background: #fff !important;
}

.navbar-light .navbar-nav .active>.nav-link,
.navbar-light .navbar-nav .nav-link.active {
    border-bottom: 2px solid #D50000;
}

.navbar-light .navbar-toggler {
    color: rgba(0, 0, 0, 0.5);
    border-color: rgba(0,0,0,0);
    padding: 0px;
    width: 40px;
    height: 40px;
    box-sizing: border-box;
    position: relative;
    margin-right: 15px;
}

.navbar-light .navbar-toggler-icon {
    background-image: none;
    background-color: #999;
    width: 30px;
    height: 2px;
    display: block;
    position: absolute;
    transition: ease .5s;
}

.navbar-toggler-icon:nth-of-type(1) {top:11px;left:4px;}
.navbar-toggler-icon:nth-of-type(2) {top:18px;left:4px;}
.navbar-toggler-icon:nth-of-type(3) {top:25px;left:4px;}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:nth-of-type(1) {
    top:18px;
    transform: rotate(45deg);
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:nth-of-type(2) {
    opacity: 0;
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:nth-of-type(3) {
    top:18px;
    transform: rotate(-45deg);
}

.navbar-toggler:focus,
.navbar-toggler:active,
.navbar-toggler-icon:focus {
    outline: none;
    box-shadow: none;
}

.dropdown-menu {
    margin-top: -.5rem;
    z-index: 1040;
}

.dropdown-item {
    padding: .5rem 1.5rem;
}

.navbar-brand {
    font-size: 1.5rem;
    margin: 0;
    padding: 0;
}

.navbar-brand img {
    max-width: 350px;
    max-height: 85px;
}

.bland-short-name {
    font-size: 0.8rem;
}

.dropdown-item:focus, .dropdown-item:hover {
    text-decoration: none;
    background-color: #ccc;
}

.manual-banner {
    max-width: 350px;
    max-height: 85px;
}

@media screen and (max-width: 992px) {

    .navbar {
        height: auto;
        overflow: auto;
        max-height: 85vh;
    }

    .navber-align-items {
        align-items: normal!important;
    }
    
    .bg-brand,
    .navbar .nav-item {
        padding: 10px 20px;
    }

    .dropdown-menu {
        margin-top: 0;
        border: 0;
        margin-left: 0;
        max-height: 30rem;
        overflow-y: auto;
    }

    .navbar-brand img {
        max-width: 180px;
        max-height: 56px;
    }

    .navbar .dropdown-item {
        white-space: inherit;
    }
    
    .manual-banner {
        max-width: 250px;
        max-height: 75px;
    }

}

/**
 * オフキャンバス
*/
.offcanvas {
    transition: .5s;
}

.offcanvas.smaller:not(.active) {
    top: -100px;
}

.sidebar-offcanvas {
    display: flex!important;
    flex-grow: 1;
}

@media screen and (max-width: 992px) {

    .offcanvas {
        /*position: relative;*/
        min-height: 100%;
        -webkit-transition: all .25s ease-out;
        -o-transition: all .25s ease-out;
        transition: all .25s ease-out;
    }

    .offcanvas-right {
        right: 0;
    }

    .offcanvas-right.active {
        right: 300px;
    }

    .offcanvas-right .sidebar-offcanvas {
        right: -100%;
        -webkit-transition: all .25s ease-out;
        -o-transition: all .25s ease-out;
        transition: all .25s ease-out;
    }

    .offcanvas-right.active .sidebar-offcanvas {
        right: 0;
        border-left: 1px solid #e7e7e7;
    }

    .sidebar-offcanvas {
        display: block !important;
        position: fixed;
        top: 0;
        bottom: 0;
        width: 300px;
        padding: 60px 15px 15px;
        background-color: #f8f8f8;
        border-radius: 0;
        overflow-y: auto;
        z-index: 1050;
    }

    .sidebar-offcanvas .dropdown-menu {
        border: medium none;
        background: none;
        border-radius: 0;
        box-shadow: none;
        float: none;
        margin: 0;
        padding-top: 0;
        position: static;
    }

    .navbar-toggler {
        z-index: 1060;
    }

    .fixed-bottom {
        z-index: 1010;
    }
}

/**
 * BootStrap
 * ナビゲーション
 */
.nav-pills .nav-link {
    color: #333;
}

.nav-pills .nav-link:hover {
    background-color: rgba(0,0,0,.1);
}

.nav-pills .nav-link.active, .nav-pills .show>.nav-link {
    color: #333;
    background-color: rgba(0,0,0,.03);
    border-radius: 0;
}

.nav-text {
    display: block;
    padding: .5rem 1rem;
}

/**
 * BootStrap
 * ボタン
 */
.btn {
    border-radius: 23px;
    padding-left: 1.2rem;
    padding-right: 1.2rem;
    max-width: 100% !important;
}

.btn-group .btn {
    border-radius: 3px;
    padding-left: .75rem;
    padding-right: .75rem;
}

.input-group-append .btn {
    border-radius: 3px;
}

.search-button {
    border-radius: 3px;
    padding-left: .5rem;
    padding-right: .5rem;
}

@media screen and (max-width: 992px) {

    .btn-block-sm {
        display: block;
        font-size: 1rem;
        width: 100%;
    }
}

/**
 * BootStrap
 * アラート
 */
.alert {
    margin-bottom: 2rem;
}

.alert-success {
    color: #fff;
    border-color: #7CB342;
    background-color: #7CB342;
}

.alert-danger {
    color: #fff;
    border-color: #D50000;
    background-color: #D50000;
}

.alert-warning {
    color: #333;
    border: 2px solid #FB8C00;
    background-color: #fff;
}

.alert-warning .alert-heading {
    text-align: center;
    color: #fff;
    background-color: #FB8C00;
    padding: 10px;
}

.alert-danger .alert-heading {
    text-align: center;
    color: #fff;
    background-color: #D50000;
    padding: 10px;
}

.close:hover {
    color: inherit;
    text-decoration: none;
}

/**
 * BootStrap
 * パンくずリスト
 */
.breadcrumb {
    border-radius: 0;
    padding-bottom: .4rem;
    padding-top: .4rem;
}

.breadcrumb-item {
    padding-bottom: .2rem;
    padding-top: .2rem;
    font-size: 0.8rem;
}

.breadcrumb-item a {
    color: #fff;
}

.breadcrumb-item.active {
    color: #ccc;
}

/**
 * BootStrap
 * アコーディオン
 */
.info {
    max-height: 300px;
    overflow: auto;
}

@media screen and (max-width: 992px) {
    .info {
        max-height: 180px;
    }
}

#accordion .card-header a {
    color: #333;
}

#accordion .card {
    border: 0;
    border-radius: 0;
}

#accordion .card-header {
    border-top: 1px solid #fff !important;
    border-left: 1px solid #fff !important;
    border-bottom: 1px solid #eee !important;
    border-right: 1px solid #eee !important;
    cursor: pointer;
}

#accordion .card-header:after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f068";
    float: right;
}
#accordion .card-header.collapsed:after {
    content: "\f067";
}


/**
 * BootStrap
 * ツールチップ
 */
.tooltip-inner {
    text-align: left;
}


/**
 * BootStrap
 * チェックボックス・ラジオボタン
 */
input[type="checkbox"],
input[type="checkbox"]+label,
input[type="radio"],
input[type="radio"]+label{
    cursor:pointer;
}

.custom-radio .custom-control-input:checked~.custom-control-label::after {
    background-image: none;
}

.custom-checkbox .custom-control-input:checked~.custom-control-label::after {
    background-image: none;
    color: #fff;
    content: "\f00c" !important;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: .6rem;
    margin-top: 1px;
    margin-left: 3px;
}

/**
 * BootStrap
 * ページネーション
 */
.page-item .page-link {
    color: #343a40;
}

.page-item.active .page-link {
    z-index: 1;
    color: #fff;
    background-color: #343a40;
    border-color: #343a40;
}


/**
 * BootStrap
 * モーダル
 */
.modal-header {
    border-bottom: 0;
}

.modal-header .close{
    padding: 0;
    margin: 0;
    justify-content: flex-end;
}

.modal-footer{
    border-top: 0;
    justify-content: center;
}

.modal.fade .modal-dialog {
    transform: scale(0.9);
    opacity: 0;
    transition: all 0.1ms linear;
    display: block !important;
}

.modal.fade.show .modal-dialog {
    opacity: 1;
    transform: scale(1);
}

li {
    word-wrap : break-word;
    overflow-wrap : break-word;
}

.form-check,
.custom-control-inline {
    max-width: 100%;
}

.form-check-label,
.custom-control-label {
    display: inline;
    word-wrap : break-word;
    overflow-wrap : break-word;
    width: 100%;
}

/**
 * テーブル
 * 文字が折り返さない対策
 */
.table-responsive table,
.table-break-word table {
    table-layout: fixed;
}

.table-responsive th,
.table-responsive td,
.table-break-word th,
.table-break-word td {
    word-wrap : break-word;
    overflow-wrap : break-word;
}

/**
 * BootStrap
 * テーブル
 */
.table-form {
    border-collapse: separate;
    table-layout: fixed;
}

.table-form>tbody>tr>th {
    padding: 0.5rem .75rem;
}

.table-form>tbody>tr>td {
    padding: 0.5rem 0 0.5rem .75rem;
}

.table-form>tbody>tr>th {
    background: #f8f8f8;
    display: table-cell;
    vertical-align: middle;
}

.table-form>tbody>tr>th>label {
    margin-bottom: 0 !important;
}

.table-program td, .table-program th {
    padding: .2rem .6rem;
}

/**
 * 検索条件
 */
@media screen and (max-width: 992px) {

    .table-responsive table {
        width: 1000px;
    }

    .table-form {
        table-layout : fixed;
    }

    .table-form>tbody>tr>th,
    .table-form>tbody>tr>td {
        display: block;
        padding: 0.25rem 0;
    }

    .table-form>tbody>tr>th {
        background: transparent;
        padding: 0 0 0 .5rem;
        border-left: 5px solid #ccc;
        margin-top: .8rem;
        margin-bottom: .4rem;
    }

    .table-form>tbody>tr>td {
        margin-bottom: 1rem;
    }

}

/**
 * 一覧画面用
 */
.table-list th {
    padding: .5rem 1rem;
}

.table-list td {
    background: #fff;
    border-bottom: 1px solid #eee;
    padding: 1rem;
}

.table-list-sm th {
    padding: .3rem .6rem;
}

.table-list-sm td {
    background: #fff;
    border-bottom: 1px solid #eee;
    padding: .3rem .6rem;
}

/**
 * 提出状況
 */
.table-deadline {
    margin-bottom: 0;
}

.table-deadline>thead>tr>th,
.table-deadline>tbody>tr>td {
    background: #fff;
    border: 1px solid #ccc;
    font-size: .8rem;
    padding: 5px 10px;
}
.table-deadline>thead>tr>th {
    background: #f8f8f8;
}

.item-overlay {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    background: #fff;
    opacity: 0.3;
}

.item-overlay-address {
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    background: #fff;
    opacity: 0.3;
}

/**
 * BootStrap
 * フォーム
 */
.form-inline.form-inline-force .form-control,
.form-inline.form-inline-force label {
    display: inline-block !important;
    width: auto!important
}

.form-control.is-invalid, .was-validated .form-control:invalid {
    background-image: none;
    padding-right: 1rem;
}

.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
    background-image: none;
    padding-right: 1rem;
}

.invalid-feedback {
    font-size: 1em;
    font-weight: bold;
}

.date {
    width: 15rem !important;
}

.datetime {
    width: 17rem !important;
}

@media screen and (max-width: 1024px) {
    .datetime {
        width: 14.5rem !important;
    }
}

@media screen and (max-width: 992px) {
    .date, .datetime {
        width: auto !important;
    }
}

/**
 * BootStrap
 * グリッド
 */
.no-gutters {
    margin: 0;
    padding: 0;
}

.no-gutters>.col,
.no-gutters>[class*="col-"] {
    margin: 0;
    padding: 0 3px 0 3px;
}


/**
 * BootStrap
 * バッジ
 */
.badge {
    font-weight: normal;
    padding: .4em .8em;
    white-space: normal;
    word-wrap : break-word;
    overflow-wrap : break-word;
    max-width: 20rem;
}

.badge-warning {
    color: #fff;
}

.badge-exhibit-field {
    font-size: 100%;
}

/**
 * BootStrap
 * インプットグループ
 */
.input-group-text {
    color: #333;
    background-color: #fff;
    border: 1px solid #ced4da;
}

/**
 * BootStrap
 */
.custom-file-input,
.custom-file-label {
    overflow: hidden;
}


/**
 * トップへ戻るボタン
 */
#page-top {
    position: fixed;
    bottom: 0;
    right: 20px;
    z-index: 2000;
    display: none;
}

#page-top i {
    padding-top: 6px
}

#page-top a {
    font-size: 2.5rem;
    display: block;
    padding: 0;
    border-radius: 35px;
    width: 60px;
    height: 60px;
    background-color: #666;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    text-align: center;
    opacity: 0.8;
}

#page-top a:hover {
    text-decoration: none;
    opacity: 0.6;
}

@media screen and (max-width: 992px) {
    #page-top {
        bottom: 2.2rem;
        right: 1rem;
    }
}

/**
 * バナー
 */
.img-banner {
    position: relative;
}

.img-banner:hover {
    opacity: 0.6;
}

.img-banner p {
    position: absolute;
    top: -60px;
    left: 20px;
    margin: 0;
    padding: 0;
    font-weight: bold;
    font-size: 1em;
    width: 100%;
}

.card-img-top {
    height: 160px;
    object-fit: cover;
    object-position: center center;
    font-family: 'object-fit: cover; object-position: center center;'
}

.card-text {
    font-size: 0.9rem;
}

/**
 * モーダル（画像表示）
 */
.js-modal {
    display: none;
    position: fixed;
    top: 0;
    width: 100%;
}

.js-modal-open:hover {
    cursor: pointer;
}

.js-modal-bg {
    background: rgba(0,0,0,0.8);
    position: absolute;
    width: 100%;
    height: 100%;
}

.js-modal-content {
    background: #fff;
    left: 50%;
    top: 50%;
    padding: 40px;
    position: absolute;
    transform: translate(-50%,-50%);
    width: 60%;
    max-height: 90%;
    overflow-y: auto;
}

.js-modal-img {
    margin: 0 auto;
}

@media screen and (max-width: 992px) {

    .js-modal-content{
        left: 50%;
        width: 100%;
    }

}


/**
 * セミナーの枠線
 */
.bg-lightgray {
    background: #eee;
}

.border-lightgray {
    border-color: #eee;
}

/**
 * 50音インデックス
 */
.table-index td {
    vertical-align: middle;
    padding: 0px;
    height: 40px;
}

.index-link {
    background: #fff;
    display: block;
    padding-top: 10px;
    padding-bottom: 10px;
}

.index-link:hover {
    background: #ccc;
}


/**
 * 幅
 */
.w-1 {
    width: 2rem !important;
}

.w-2 {
    width: 2.5rem !important;
}

.w-3 {
    width: 3rem !important;
}

.w-4 {
    width: 4rem !important;
}

.w-5 {
    width: 5rem !important;
}

.w-6 {
    width: 6rem !important;
}

.w-7 {
    width: 7rem !important;
}

.w-10 {
    width: 10rem !important;
}

.w-15 {
    width: 15rem !important;
}

.w-20 {
    width: 20rem !important;
}

.w-25 {
    width: 25rem !important;
}

.w-30 {
    width: 30rem !important;
}

.w-photo {
    max-width: 200px !important;
}

.wf-2 {
    width: 2rem !important;
}

.wf-3 {
    width: 3rem !important;
}

.wf-4 {
    width: 4rem !important;
}

.wf-5 {
    width: 5rem !important;
}

.wf-6 {
    width: 6rem !important;
}

.wf-7 {
    width: 7rem !important;
}

.wf-8 {
    width: 8rem !important;
}

.wf-10 {
    width: 10rem !important;
}

.wf-11 {
    width: 11rem !important;
}

.wf-12 {
    width: 12rem !important;
}

.wf-13 {
    width: 13rem !important;
}

.wf-14 {
    width: 14rem !important;
}

.wf-15 {
    width: 15rem !important;
}

.wf-16 {
    width: 16rem !important;
}

.wf-17 {
    width: 17rem !important;
}

.wf-18 {
    width: 18rem !important;
}

.wf-20 {
    width: 20rem !important;
}

.wf-25 {
    width: 25rem !important;
}

.wf-30 {
    width: 30rem !important;
}

.wf-32 {
    width: 32rem !important;
}

.wf-35 {
    width: 35rem !important;
}

.wf-40 {
    width: 40rem !important;
}

.wf-45 {
    width: 45rem !important;
}

.w-auto {
    max-width: 100% !important;
}

.mw-10 {
    max-width: 10rem !important;
}

.minw-100 {
    min-width: 100% !important;
}

@media screen and (max-width: 992px) {

    .w-10, .w-15, .w-20, .w-25, .w-30 {
        width: 100% !important;
        max-width: none !important;
    }
}


/**
 * 高さ
 */
.pm-0 td {
    padding: 0;
    margin: 0;
}

.h-5 {
    height: 5rem !important;
}

.h-8 {
    height: 8rem !important;
}

.h-10 {
    height: 10rem !important;
}

.h-15 {
    height: 15rem !important;
}

.h-20 {
    height: 20rem !important;
}

.h-25 {
    height: 25rem !important;
}

.h-lg-20 {
    height: 20rem !important;
}

.h-remark-scroll {
    max-height: 48px !important;
    overflow: auto;
}

.h-booth-remark-scroll {
    max-height: 72px !important;
    overflow: auto;
}

.h-20-scroll {
    max-height: 20rem !important;
    overflow: auto;
}

@media screen and (max-width: 992px) {

    .h-lg-20 {
        height: 10rem !important;
    }
}

/**
 * 行間
 */
.line-height-1 {
    line-height: 1rem;
}

.line-height-15 {
    line-height: 1.5rem;
}

.line-height-2 {
    line-height: 2rem;
}

.line-height-3 {
    line-height: 3rem;
}

@media screen and (max-width: 992px) {

    .line-height-3 {
        line-height: 2rem;
    }
}

/**
 * リンクリスト
 */
.link-list a {
    padding-bottom: 0;
    padding-top: 0;
}

.link-list li+ li {
    border-left: 1px solid #ccc;
}

.d-flex-center {
    justify-content: center;
    align-items: center;
}

@media screen and (max-width: 992px) {

    .link-list a {
        padding: 0;
        margin-right: 1rem;
        margin-bottom: 1rem;
    }

    .link-list li+ li {
        border-left: 0;
    }
}


.privacy {
    background: #fff;
    border: 1px solid #eee;
    padding: 2rem;
    height: 300px;
    overflow: auto;
}

.agree-button {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    justify-content: center;
}

@media screen and (max-width: 992px) {
    .privacy {
        padding: 1rem;
    }

}


.btn-login {
    border-radius: 5px;
}

/**
 * 締切日
 */
.deadline {
    position: absolute;
    top: 1.25rem;
    left: 1.25rem;
    border: 3px solid #D50000;
    border-radius: 3px;
    text-align: center;
    width: 8rem;
}

.deadline-header {
    background: #D50000;
    color: #fff;
    padding: .2rem 1rem;
}

.deadline-body {
    background: #fff;
    font-size: 2rem;
    font-weight: bold;
    padding: 1.5rem 1rem 1rem 1rem;
}

.deadline-body small {
    font-size: 1.4rem;
    font-weight: bold;
    vertical-align: top;
}

.deadline.submitted {
    border: 3px solid #7CB342;
}

.deadline.submitted .deadline-header {
    background: #7CB342;
}

.deadline.temporarily {
    border: 3px solid #FB8C00;
}

.deadline.temporarily .deadline-header {
    background: #FB8C00;
}

.stretched {
    position: relative;
}

.stretched-link,
.stretched-link:hover {
    color: #333;
    text-decoration: none;
}

.stretched-link:hover:after {
    background-color: rgba(150,150,150,0.1);
}

.card-document {
    padding-left: 8.75rem;
    min-height: 7.5rem;
}


/**
 * メール送信
 */
.toggle-check {
    cursor: pointer;
}

.bg-select {
    background: #D3DEF1 !important;
}

.bg-unselect {
    background-color: #fff;
}

/**
 * 動画
 */
video {
    border: 1px solid #ccc;
}

/**
 * 来場受付
 */
.counter {
    font-size: 5rem;
}

/**
 * 来場者マイページ おすすめ
 */
.recommend-area {
    background: #fff;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
}

/**
 * プログレスバー
 */
.wp-1 {width: 1%;}
.wp-2 {width: 2%;}
.wp-3 {width: 3%;}
.wp-4 {width: 4%;}
.wp-5 {width: 5%;}
.wp-6 {width: 6%;}
.wp-7 {width: 7%;}
.wp-8 {width: 8%;}
.wp-9 {width: 9%;}
.wp-10 {width: 10%;}
.wp-11 {width: 11%;}
.wp-12 {width: 12%;}
.wp-13 {width: 13%;}
.wp-14 {width: 14%;}
.wp-15 {width: 15%;}
.wp-16 {width: 16%;}
.wp-17 {width: 17%;}
.wp-18 {width: 18%;}
.wp-19 {width: 19%;}
.wp-20 {width: 20%;}
.wp-21 {width: 21%;}
.wp-22 {width: 22%;}
.wp-23 {width: 23%;}
.wp-24 {width: 24%;}
.wp-25 {width: 25%;}
.wp-26 {width: 26%;}
.wp-27 {width: 27%;}
.wp-28 {width: 28%;}
.wp-29 {width: 29%;}
.wp-30 {width: 30%;}
.wp-31 {width: 31%;}
.wp-32 {width: 32%;}
.wp-33 {width: 33%;}
.wp-34 {width: 34%;}
.wp-35 {width: 35%;}
.wp-36 {width: 36%;}
.wp-37 {width: 37%;}
.wp-38 {width: 38%;}
.wp-39 {width: 39%;}
.wp-40 {width: 40%;}
.wp-41 {width: 41%;}
.wp-42 {width: 42%;}
.wp-43 {width: 43%;}
.wp-44 {width: 44%;}
.wp-45 {width: 45%;}
.wp-46 {width: 46%;}
.wp-47 {width: 47%;}
.wp-48 {width: 48%;}
.wp-49 {width: 49%;}
.wp-50 {width: 50%;}
.wp-51 {width: 51%;}
.wp-52 {width: 52%;}
.wp-53 {width: 53%;}
.wp-54 {width: 54%;}
.wp-55 {width: 55%;}
.wp-56 {width: 56%;}
.wp-57 {width: 57%;}
.wp-58 {width: 58%;}
.wp-59 {width: 59%;}
.wp-60 {width: 60%;}
.wp-61 {width: 61%;}
.wp-62 {width: 62%;}
.wp-63 {width: 63%;}
.wp-64 {width: 64%;}
.wp-65 {width: 65%;}
.wp-66 {width: 66%;}
.wp-67 {width: 67%;}
.wp-68 {width: 68%;}
.wp-69 {width: 69%;}
.wp-70 {width: 70%;}
.wp-71 {width: 71%;}
.wp-72 {width: 72%;}
.wp-73 {width: 73%;}
.wp-74 {width: 74%;}
.wp-75 {width: 75%;}
.wp-76 {width: 76%;}
.wp-77 {width: 77%;}
.wp-78 {width: 78%;}
.wp-79 {width: 79%;}
.wp-80 {width: 80%;}
.wp-81 {width: 81%;}
.wp-82 {width: 82%;}
.wp-83 {width: 83%;}
.wp-84 {width: 84%;}
.wp-85 {width: 85%;}
.wp-86 {width: 86%;}
.wp-87 {width: 87%;}
.wp-88 {width: 88%;}
.wp-89 {width: 89%;}
.wp-90 {width: 90%;}
.wp-91 {width: 91%;}
.wp-92 {width: 92%;}
.wp-93 {width: 93%;}
.wp-94 {width: 94%;}
.wp-95 {width: 95%;}
.wp-96 {width: 96%;}
.wp-97 {width: 97%;}
.wp-98 {width: 98%;}
.wp-99 {width: 99%;}
.wp-100 {width: 100%;}


/**
 * 製品・サービスを探す
 * 製品・サービス情報中央寄せ
 */
.img-product {
    padding: 3px;
    height: 300px;
}

.img-product img {
    max-height: 100%;
    margin: 0 auto;
}

@media screen and (max-width: 992px) {
    .img-product {
        height: auto;
    }
}

/**
 * ブランド画像
 */
.img-brand {
    padding: 0;
    height: 250px;
}

.img-brand img {
    height: 250px;
    width: 100%;
    object-fit: cover;
    object-position: center center;
    font-family: 'object-fit: cover; object-position: center center;'
}

@media screen and (max-width: 992px) {
    .img-brand,
    .img-brand img {
        height: 140px !important;
    }
}

/**
 * 見どころ
 */
.highlight {
    line-height: 1.8rem;
}

.readmore {
    display: none;
}

/**
 * バッジカラー
 */
span[class*="badge-exhi-"] {
    color: #343a40;
    background-color: #fff;
    border: 1px solid #343a40;
}

.video-width {
    max-width: 100%;
}

/**
 * カラーパレット
 */
.text-white{color:white} .bg-white{background:white}
.text-silver{color:silver} .bg-silver{background:silver}
.text-gray{color:gray} .bg-gray{background:gray}
.text-black{color:black} .bg-black{background:black}
.text-red{color:red} .bg-red{background:red}
.text-maroon{color:maroon} .bg-maroon{background:maroon}
.text-yellow{color:yellow} .bg-yellow{background:yellow}
.text-olive{color:olive} .bg-olive{background:olive}
.text-lime{color:lime} .bg-lime{background:lime}
.text-green{color:green} .bg-green{background:green}
.text-cyan{color:aqua} .bg-cyan{background:aqua}
.text-teal{color:teal} .bg-teal{background:teal}
.text-blue{color:blue} .bg-blue{background:blue}
.text-navy{color:navy} .bg-navy{background:navy}
.text-magenta{color:fuchsia} .bg-magenta{background:fuchsia}
.text-purple{color:purple} .bg-purple{background:purple}
.text-pink{color:pink} .bg-pink{background:pink}
.text-deeppink{color:deeppink} .bg-deeppink{background:deeppink}
.text-mediumvioletred{color:mediumvioletred} .bg-mediumvioletred{background:mediumvioletred}
.text-lightsalmon{color:lightsalmon} .bg-lightsalmon{background:lightsalmon}
.text-indianred{color:indianred} .bg-indianred{background:indianred}
.text-tomato{color:tomato} .bg-tomato{background:tomato}
.text-darkgreen{color:darkgreen} .bg-darkgreen{background:darkgreen}
.text-lavender{color:lavender} .bg-lavender{background:lavender}
.text-mediumpurple{color:mediumpurple} .bg-mediumpurple{background:mediumpurple}
.text-moccasin{color:moccasin} .bg-moccasin{background:moccasin}
.text-gold{color:gold} .bg-gold{background:gold}
.text-blanchedalmond{color:blanchedalmond} .bg-blanchedalmond{background:blanchedalmond}
.text-sandybrown{color:sandybrown} .bg-sandybrown{background:sandybrown}
.text-saddlebrown{color:saddlebrown} .bg-saddlebrown{background:saddlebrown}
.text-lightblue{color:lightblue} .bg-lightblue{background:lightblue}
.text-steelblue{color:steelblue} .bg-steelblue{background:steelblue}
.text-ivory{color:ivory} .bg-ivory{background:ivory}
.text-orange{color:orange} .bg-orange{background:orange}
.text-main{color:#0b1c2c} .bg-main{background:#0b1c2c}

.text-important {
    font-size: 1.2rem;
    font-weight: bold;
    text-decoration: underline;
}

.autocomplete-suggestions { border: 1px solid #999; background: #FFF; overflow: auto; }
.autocomplete-suggestion { padding: 2px 5px; white-space: nowrap; overflow: hidden; }
.autocomplete-selected { background: #F0F0F0; }
.autocomplete-suggestions strong { font-weight: normal; color: #3399FF; }
.autocomplete-group { padding: 2px 5px; }
.autocomplete-group strong { display: block; border-bottom: 1px solid #000; }

/**
 * セミナー上部のバナー
 */
.card.active {
    border-width: 1px;
    border-color: #07479e;
}

/**
 * アイキャッチ画像
 */
.icatch {
    height: 400px;
    object-fit: cover;
    object-position: center center;
    font-family: 'object-fit: cover; object-position: center center;'
}

@media screen and (max-width: 992px) {
    .icatch {
        height: 140px;
    }
}

/**
 * 出展社マイページのバナー
 */
.banner-option {
    position: relative;
}

.banner-option p {
    position: absolute;
    bottom: 0;
    margin: 0;
    padding: .5rem 0;
    color: #fff;
    background: #D50000;
    font-weight: bold;
    font-size: .8em;
    text-align: center;
    width: 100%;
    filter: opacity(95%);
}

.banner-option img {
    filter: grayscale(85%);
    width: 100%;
}

/**
 * マイページの広告
 */
.mypage-ad {
    background: #eee;
    color: #ccc;
    font-weight: bold;
    font-size: 3rem;
    display: table;
    padding: 1rem;
    width: 100%;
    height: 300px;
    text-align: center;
}

.mypage-ad p {
    display: table-cell;
    vertical-align: middle;
}

/**
 * 検索条件の開閉
 */
.accordion-open,
.accordion-close{
    cursor: pointer;
}

.display-none {
    display: none;
}

/**
 * スライダー
 */
.slider-area {
    margin: 0 auto;
    padding: 0 auto;
    max-width: 1900px;
}

.slick-slide img {
    max-width: 100%;
}

.slick-slide {
    margin: 0 5px 0;
}

/**
 * Quill
 */
.ql-editor {
    font-family: inherit;
    font-size: 1rem;
    font-weight: 400;
    color: #495057;
    line-height: 1.4;
    height: 20rem;
}

.ql-tooltip {
    font-size: 13px;
}

.ql-toolbar.ql-snow {
    /*padding: 8px 8px 0 8px;*/
}

.ql-view {
    line-height: 1.8rem;
}

.ql-view p {
    margin: 0;
}

.ql-color-\#000000 { color: #000000 !important; }
.ql-color-\#ffffff { color: #ffffff !important; }
.ql-color-\#bbbbbb { color: #bbbbbb !important; }
.ql-color-\#888888 { color: #888888 !important; }
.ql-color-\#444444 { color: #444444 !important; }

.ql-color-\#e60000 { color: #e60000 !important; }
.ql-color-\#facccc { color: #facccc !important; }
.ql-color-\#f06666 { color: #f06666 !important; }
.ql-color-\#a10000 { color: #a10000 !important; }
.ql-color-\#5c0000 { color: #5c0000 !important; }

.ql-color-\#ff9900 { color: #ff9900 !important; }
.ql-color-\#ffebcc { color: #ffebcc !important; }
.ql-color-\#ffc266 { color: #ffc266 !important; }
.ql-color-\#b26b00 { color: #b26b00 !important; }
.ql-color-\#663d00 { color: #663d00 !important; }

.ql-color-\#ffff00 { color: #ffff00 !important; }
.ql-color-\#ffffcc { color: #ffffcc !important; }
.ql-color-\#ffff66 { color: #ffff66 !important; }
.ql-color-\#b2b200 { color: #b2b200 !important; }
.ql-color-\#666600 { color: #666600 !important; }

.ql-color-\#008a00 { color: #008a00 !important; }
.ql-color-\#cce8cc { color: #cce8cc !important; }
.ql-color-\#66b966 { color: #66b966 !important; }
.ql-color-\#006100 { color: #006100 !important; }
.ql-color-\#003700 { color: #003700 !important; }

.ql-color-\#0066cc { color: #0066cc !important; }
.ql-color-\#cce0f5 { color: #cce0f5 !important; }
.ql-color-\#66a3e0 { color: #66a3e0 !important; }
.ql-color-\#0047b2 { color: #0047b2 !important; }
.ql-color-\#002966 { color: #002966 !important; }

.ql-color-\#9933ff { color: #9933ff !important; }
.ql-color-\#ebd6ff { color: #ebd6ff !important; }
.ql-color-\#c285ff { color: #c285ff !important; }
.ql-color-\#6b24b2 { color: #6b24b2 !important; }
.ql-color-\#3d1466 { color: #3d1466 !important; }

.ql-bg-\#000000 { background: #000000 !important; }
.ql-bg-\#ffffff { background: #ffffff !important; }
.ql-bg-\#bbbbbb { background: #bbbbbb !important; }
.ql-bg-\#888888 { background: #888888 !important; }
.ql-bg-\#444444 { background: #444444 !important; }

.ql-bg-\#e60000 { background: #e60000 !important; }
.ql-bg-\#facccc { background: #facccc !important; }
.ql-bg-\#f06666 { background: #f06666 !important; }
.ql-bg-\#a10000 { background: #a10000 !important; }
.ql-bg-\#5c0000 { background: #5c0000 !important; }

.ql-bg-\#ff9900 { background: #ff9900 !important; }
.ql-bg-\#ffebcc { background: #ffebcc !important; }
.ql-bg-\#ffc266 { background: #ffc266 !important; }
.ql-bg-\#b26b00 { background: #b26b00 !important; }
.ql-bg-\#663d00 { background: #663d00 !important; }

.ql-bg-\#ffff00 { background: #ffff00 !important; }
.ql-bg-\#ffffcc { background: #ffffcc !important; }
.ql-bg-\#ffff66 { background: #ffff66 !important; }
.ql-bg-\#b2b200 { background: #b2b200 !important; }
.ql-bg-\#666600 { background: #666600 !important; }

.ql-bg-\#008a00 { background: #008a00 !important; }
.ql-bg-\#cce8cc { background: #cce8cc !important; }
.ql-bg-\#66b966 { background: #66b966 !important; }
.ql-bg-\#006100 { background: #006100 !important; }
.ql-bg-\#003700 { background: #003700 !important; }

.ql-bg-\#0066cc { background: #0066cc !important; }
.ql-bg-\#cce0f5 { background: #cce0f5 !important; }
.ql-bg-\#66a3e0 { background: #66a3e0 !important; }
.ql-bg-\#0047b2 { background: #0047b2 !important; }
.ql-bg-\#002966 { background: #002966 !important; }

.ql-bg-\#9933ff { background: #9933ff !important; }
.ql-bg-\#ebd6ff { background: #ebd6ff !important; }
.ql-bg-\#c285ff { background: #c285ff !important; }
.ql-bg-\#6b24b2 { background: #6b24b2 !important; }
.ql-bg-\#3d1466 { background: #3d1466 !important; }

.ql-editor .ql-size-small,
.ql-view .ql-size-small {
    font-size: 0.8em;
}

.ql-editor .ql-size-normal,
.ql-view .ql-size-normal {
    font-size: 1em;
}

.ql-editor .ql-size-large,
.ql-view .ql-size-large {
    font-size: 1.4em;
}

.ql-editor .ql-size-huge,
.ql-view .ql-size-huge {
    font-size: 1.6em;
}

.ql-editor .ql-align-center,
.ql-view .ql-align-center {
    text-align: center;
}

.ql-editor .ql-align-right,
.ql-view .ql-align-right {
    text-align: right;
}

/**
 * フォームエディタ
 */
.section .section-menu {
    position: absolute;
    right: 0;
    top: 0;
}

.section .custom-file-input,
.section .custom-file-label,
.section .custom-file-label::after {
    z-index: auto;
}

#form-group-description .ql-editor {
    height: 5rem !important;
}

#add-modal {
    line-height: 0.8rem;
}

#add-modal a {
    color: #333;
    font-size: 0.7rem;
    text-decoration: none;
}

.btn-menu {
    font-size: .7rem;
    width: 35px;
    height: 35px;
    padding: 0;
    margin-left: 10px;
    line-height: 0;
    opacity: 0.6;
}

.btn-menu:hover {
    opacity: 1;
}

.table-order{
    margin-bottom: 0;
}

.table-order th,
.table-order td {
    padding: 4px 8px;
}

.table-order td {
    border-top: 1px solid #dee2e6;
}

th.star {
    background-image: url(../images/star.png) !important;
    background-repeat: no-repeat !important;
}

/**
 * 検索条件
 */
.card-header a:after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content:"\f106";
    float: right;
    color: inherit;
}

.card-header a.collapsed:after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content:"\f107";
    float: right;
    color: inherit;
}

/**
 * ステップバー
 */
.step-bar {
    background: #eee;
    display: table;
    height: 100%;
    width: 100%;
    text-align: center;
    margin-bottom: 20px;
}

.step-bar-item {
    display: table-cell;
    vertical-align: middle;
    width: 33.3%;
    height: 100%;
}

.step-bar-text {
    background: #eee;
    color: #333;
    padding: 20px;
}

.step-bar-text.active {
    background: #343a40;
    color: #fff;
}

@media screen and (max-width: 992px) {

    .step-bar-text {
        font-size: 0.8rem;
        padding: 20px 5px;
    }

}

/**
 * AMCHARTS
 */
#chart, .chart {
    width: 100%;
    height: 500px;
}

.chart-area {
    width: 100%;
    height: 500px;
}

.h-250 {
    height: 250px !important;
}

.number-total {
    margin-bottom: 2rem;
    padding: .5rem 1rem;
}

.number-total.dark {
    border-bottom: 2px solid #343a40;
}

.number-total.success {
    border-bottom: 2px solid #7cb342;
}

.number-total.danger {
    border-bottom: 2px solid #d50000;
}

.number-total.primary {
    border-bottom: 2px solid #1e88e5;
}

.text-ellipsis {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
}

/**
 * Quill
 */
.ql-editor .ql-size-small {
    font-size: 10px;
}

.ql-editor .ql-size-large {
    font-size: 24px;
}

.ql-editor .ql-size-huge {
    font-size: 32px;
}

.ql-snow .ql-picker.ql-size .ql-picker-label::before,
.ql-snow .ql-picker.ql-size .ql-picker-item::before {
    content: '12px';
}

.ql-snow .ql-picker.ql-size .ql-picker-label[data-value='10px']::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='10px']::before {
    content: '10px';
}

.ql-snow .ql-picker.ql-size .ql-picker-label[data-value='24px']::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='24px']::before {
    content: '24px';
}

.ql-snow .ql-picker.ql-size .ql-picker-label[data-value='32px']::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='32px']::before {
    content: '32px';
}

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='10px']::before {
    font-size: 10px;
}

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='24px']::before {
    font-size: 24px;
}

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='32px']::before {
    font-size: 32px;
}

/**
 * オンラインマニュアル リンクバナー
*/
.floating-banner {
    position: fixed;
    z-index: 99999;
    bottom: 125px;
    right: 18px;
}

.floating-banner .banner {
    width: 180px;
    padding: 10px;
    background: #daebc1;
    border: 3px solid #a5cd53;
    color: #000;
    text-align: center;
    border-radius: 10px;
}

.floating-banner .banner-close {
    font-weight: bold;
    position: absolute;
    top: -15px;
    right: -15px;
    z-index: 99999;
    padding: 4px 8px;
    border: none;
    background-color: #f8f8f8;
    border-radius: 25px;
    cursor: pointer;
    -webkit-box-shadow: 0 0 7px rgb(0 0 0 / 40%);
    box-shadow: 0 0 7px rgb(0 0 0 / 40%);
}

.floating-banner .banner-close:hover {
    background: #000000;
    color: #FFFFFF;
}

.floating-banner .copy {
    font-size: 16px;
    margin: 0 auto 10px;
    line-height: 1.6;
}

.floating-banner .cta {
    display: inline-block;
    width: 150px;
    height: 45px;
    line-height: 45px;
    font-size: 16px;
    background: #FFFFFF;
    box-shadow: 0px 0px 15px #7CA130;
    border-radius: 25px;
    color: #000000;
    margin: 0
}

.floating-banner .cta:hover {
    background: #000000;
    color: #FFFFFF;
}

.floating-banner .cta a {
    text-decoration: none;
}

