@charset "UTF-8";

/* ===================================================================
画像
=================================================================== */
img {
    max-width: 100%;
    height: auto;
    width
    /***/
    : auto;
    vertical-align: bottom;
}

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

/* ===================================================================
ボタン
=================================================================== */

/* ===================================================================
form
=================================================================== */
input,
select {
    outline: none;
}

input,
textarea {}

input[type=text],
textarea {
    border: solid 1px #ccc;
    font-size: 16px;
    line-height: 1.5em;
    padding: 0.4em;
}

input[type=submit] {
    border: none;
}

/* ===================================================================
マージン
=================================================================== */
.mb10 {
    margin-bottom: 10px;
}

.mb20 {
    margin-bottom: 20px;
}

.mb30 {
    margin-bottom: 30px;
}

.mb40 {
    margin-bottom: 40px;
}

.mb50 {
    margin-bottom: 50px;
}

.mb60 {
    margin-bottom: 60px;
}

.mb70 {
    margin-bottom: 70px;
}

.mb80 {
    margin-bottom: 80px;
}

.mb90 {
    margin-bottom: 90px;
}

.mb100 {
    margin-bottom: 100px;
}

/* ===================================================================
クリアフィックス
=================================================================== */

/* \*/

/* */
/* ================共通================== */


:root {
    --main-color: #15195f;
    --sub-color: #697ead;
}


body {
    /*font-family: verdana,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;*/
    font-family: "Noto Sans JP", sans-serif;
    font-feature-settings: "palt";
    background: #fff;
    color: #000000;
    line-height: 170%;
    font-size: 15px;
}

a,
a:hover {
    color: #666;
    text-decoration: none;
}

.btn-contact {
    background-color: #f39800;
    border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    color: #fff !important;
    font-weight: bold;
    font-size: 18px;
}

.red {
    color: #e60012;
}




/* ================ヘッダー================== */
header {
    /*  border-bottom: solid 3px #ea5350;
  background: #ffffff url(../img/bg_header.jpg) center top repeat-x;*/
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1;
}

@media screen and (max-width: 1020px) {
    header {
        background: none;
        border-bottom: solid 0px #ea5350;
    }

    .header-inner {
        /* background: #ffffff url(../img/bg_header.jpg) center top repeat-x; */
        background-color: #fff;
    }

    #dropmenu {
        border-bottom: solid 3px #ea5350;
    }
}

@media screen and (min-width: 1020px) {
    header {
        /* background: #ffffff url(../img/bg_header.jpg) center top repeat-x; */
        background-color: #fff;
        border-bottom: solid 3px #ea5350;
    }
}

/* ================フッター================== */

footer {
    background-color: #ea5350;
    color: #fff;
}

#page-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    font-size: 77%;
}

#page-top a {
    background: #666;
    text-decoration: none;
    color: #fff;
    width: 50px;
    height: 50px;
    text-align: center;
    display: block;
    border-radius: 50%;
    line-height: 50px;
    font-size: 16px;
}

/* ================MV================== */

.mv-container {
    border-bottom: solid 3px #15195f;
    /*background: url(../img/bg_mv_sp.jpg) center center repeat-x;*/
    background-size: contain;
    margin-top: 171px;
}

.pc_slide {
    display: block;
}

.sp_slide {
    display: none;
}

@media only screen and (max-width: 768px) {
    .mv-container {
        background: none;
    }

    .pc_slide {
        display: block;
    }

    .sp_slide {
        display: block;
    }
}

/* ================TOPページ================== */

.unit-news {
    border: solid 1px #ccc;
    border-top: solid 3px var(--main-color);
    font-size: 14px;
}

.unit-news h3 {
    font-size: 20px;
    margin-bottom: 15px;
}

.unit-news dl {
    border-bottom: solid 1px #ccc;
    font-weight: bold;
    padding: 0 0 15px;
    margin-bottom: 15px;
}

.unit-news dl:last-child {
    margin-bottom: 0;
}

.unit-news dl dt span {
    display: inline-block;
    background-color: #ea5350;
    padding: 0.4em;
    color: #fff;
    font-size: 10px;
    border-radius: 2px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    line-height: 1em;
    margin-left: 1em;
}

.unit-news dl dd {
    font-weight: normal;
    line-height: 150%;
}

.unit-news dl dd a {
    text-decoration: underline;
}


/* ===================================================================
スマホ
=================================================================== */
@media only screen and (max-width: 768px) {

    /* ================共通================== */

    .container {
        padding: 0px 2px 10px;
    }

    .container_top {
        padding-top: 70px;
    }

    body.top .container {
        padding-top: 40px;
    }

    /* ================バナー================== */

    /* ================ヘッダー================== */
    header {
        /* height: 70px; */
    }

    header h1 {
        /* width: 260px; */
    }

    header h1 img {
        max-height: 40px;
    }

    header .header-inner {
        padding: 15px;
    }

    .header-info,
    .header-pre-entry {
        display: none;
    }

    #menu {
        display: none;
    }

    .js .slicknav_menu {
        display: block;
    }

    /* ================フッター================== */
    footer {
        padding: 20px 10px;
    }

    #page-top {
        display: none !important;
    }

    /* ================MV================== */
    .mv-container {
        border-bottom: solid 3px var(--main-color);
        position: relative;
        margin-top: 65px;
        margin-top: 70px;
    }

    /* ================トップページ================== */
    .unit-news {
        margin-bottom: 10px;
        padding: 10px;
    }
}

/* ===================================================================
PC
=================================================================== */
@media print,
screen and (min-width: 769px) {

    /* ================共通================== */

    .container {
        padding: 0px 0 40px;
        margin: 0 auto 0;
        /* width: 1000px; */
    }

    .container_top {
        padding-top: 117px;
    }

    body.top .container {
        padding-top: 40px;
    }

    /* ================ヘッダー================== */
    .header-inner {
        width: 1000px;
        height: 75px;
        margin: 0 auto;
        overflow: hidden;
        display: flex;
        justify-content: space-between;


        .headerlogo_wrap {
            display: flex;
        }
    }

    .header-inner h1 {
        /* float: left; */
        /* margin-top: 10px; */
        display: flex;
        align-items: center;
        
        
        
        
        

        a {
            display: block;
        }
    }

    .header-inner h1 img {
        max-width: 300px;
        /* max-height: 90px; */
    }

    .header-info {
        /* float: right; */
        display: flex;
        /* gap: 20px; */
        font-size: 12px;
        position: relative;
        margin-top: 15px;
        margin-top: 3px;
        /* align-items: flex-end; */
        gap: 10px;
        flex-wrap: wrap;
        /* justify-content: flex-end; */
        row-gap: 5px;
        /* margin-top: 22px;
		margin-left: 75px;
		margin-right: 15px; */
        /*	margin-left: 20px;*/
        /* flex-direction: column; */
        max-width: 360px;
    }

    .header-info ul {
        position: absolute;
        right: 0;
        top: 30px;
        overflow: hidden;
    }

    .header-info ul li {
        float: left;
        margin-left: 10px;
    }

    .btn-header a {
        display: block;
        padding: 2px 15px;
        color: #fff;
        border-radius: 2px;
        -webkit-border-radius: 2px;
        -moz-border-radius: 2px;
    }

    .header-info .btn-access a {
        background-color: #37ced3;
    }

    .header-info .btn-entry a {
        background-color: #ea5350;
    }

    .header-info dl {
        /*	overflow: hidden;*/
        line-height: 180%;
    }

    .header-info dl dt {
        float: left;
        background-color: #727171;
        padding: 4px 0;
        text-align: center;
        color: #fff;
        border-radius: 2px;
        -webkit-border-radius: 2px;
        -moz-border-radius: 2px;
        width: 80px;
        line-height: 1em;
    }

    .header-info dl dd {
        /* margin-left: 90px; */
        font-weight: bold;
        line-height: 1.1;
    }

    .header-info dl dd span {
        font-size: 24px;
        font-weight: bold;
    }

    .header-pre-entry {
        /* float: right; */
        margin-top: 3px;
        /* width: 450px; */
        display: flex;
        justify-content: end;
        /*	margin-top: 25px;*/
        /*margin-left: 30px;*/
    }

    .header-pre-entry a {
        /*	width: 330px;*/
        width: 185px;
        display: block;
    }

    .header-pre-entry a img {
        max-width: 100%;
        image-rendering: -webkit-optimize-contrast;
    }

    .header-pre-entry a:hover {
        opacity: 0.7;
    }

    /* お問い合わせボタン */

    .head_contact {
        float: left;
        width: 235px;
        background: #72cc49;
        overflow: hidden;
        margin-bottom: 12px;
    }

    .head_contact ul {
        text-align: center;
        color: #f3ffff;
    }

    .head_contact ul li {
        display: inline-block;
        height: 50px;
        line-height: 50px;
    }

    .head_contact ul li.contact_icon {
        padding-right: 12px;
    }

    .head_contact ul li.contact_icon img {
        width: 27px;
        vertical-align: middle;
    }

    .head_contact ul li.contact_arrow {
        padding-left: 15px;
    }

    .head_contact ul li.contact_arrow img {
        width: 8px;
        vertical-align: middle;
    }

    a>.head_contact:hover {
        background: rgba(114, 204, 73, 0.8);
    }

    /* ================ナビゲーション================== */
    .gnavi {
        border-top: solid 1px #ccc;
        background-color: #fcebea;
    }

    .gnavi ul {
        width: 1000px;
        margin: 0 auto;
    }

    .gnavi ul li {
        width: calc(100% / 5);
        min-width: 147px;
        width: auto;
    }

    .gnavi ul li.nav-wide {
        width: 200px;
    }

    .gnavi ul li.nav-first {
        /* width: calc(100% / 7); */
        /*166px*/
        float: left;
        /* border-right: solid 1px #ccc; */
        text-align: center;
        height: 60px;
        position: relative;
        font-size: 13px;
        font-weight: bold;
    }

    .gnavi ul li.nav-first:first-child {
        border-left: solid 1px #ccc;
        /*width: 170px; */
    }

    .gnavi ul li.nav-first>a, .gnavi ul li.nav-first>span {
        display: block;
        height: 100%;
        width: 100%;
        line-height: 120%;
        position: relative;
        color: #666;
    }

    .gnavi ul li.nav-first span {
        display: block;
        position: relative;
        top: 50%;
        -webkit-transform: translateY(-50%);
        /* Safari用 */
        transform: translateY(-50%);
    }

    .gnavi ul li.nav-nomal a.current,
    .gnavi ul li.nav-nomal a:hover {
        background-color: #ea5350;
        color: #fff !important;
    }

    .gnavi ul li i {
        font-size: 10px;
        color: #fff;
        position: absolute;
        right: 0;
        top: 6px;
        transform: rotate(45deg);
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        z-index: 5;
        font-style: normal;
    }

    .slicknav_menu {
        display: none;
    }

    /* ================プルダウン================== */

    .dropmenu {
        *zoom: 1;
    }

    .dropmenu:before,
    .dropmenu:after {
        content: "";
        display: table;
    }

    .dropmenu:after {
        clear: both;
    }

    .dropmenu li {
        /* background-color: #fff; */
        position: relative;
        width: 165px;
        float: left;
        text-align: center;
    }

    .dropmenu li a {
        display: block;
        margin: 0;
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        right: 0;
    }

    .dropmenu li ul {
        position: absolute;
        z-index: 9999;
        top: 100%;
        left: 0;
    }

    .dropmenu li.nav-first {
        /* border-bottom: solid 1px #ccc; */
    }

    .dropmenu li:hover ul li {
        /* border-top: solid 1px #ccc; */
    }

    #dropmenu li ul li {
        clear: both;
        overflow: hidden;
        height: 0;
        transition: 0.2s;
    }

    #dropmenu li:hover ul li {
        overflow: visible;
        height: 40px;
    }

    #dropmenu li:hover ul li a {
        line-height: 40px;
    }

    #dropmenu li ul li a:hover {
        color: #ea5350;
    }

    /* ================バナー================== */

    /* ================フッター================== */

    /* ================トップページ================== */

    .unit-news {
        padding: 25px;
        max-width: 1000px;
        margin: 0 auto 50px;

        dl {
            .info_date {
                margin-bottom: 5px;
            }

            img {
                margin-right: 10px;
            }
        }

        .info_list_btn {

            /* background-color: #aaa; */
            .archive {
                max-width: 50px;
                background-color: #aaa;
            }

            .archivebtn {
                max-width: 50px;
            }
        }
    }

    .unit-news .news {
        height: 200px;
        overflow: auto;
    }
}

.footer-menu {
    display: none;
}

@media only screen and (max-width: 769px) {
    .footer-menu ul {
        text-align: center;
        min-height: 55px;
        line-height: 55px;
    }

    .footer-menu ul li {
        display: inline-block;
        vertical-align: middle;
        color: #ffffff;
        font-size: 13px;
        font-weight: bold;
        padding: 0;
        line-height: 1.5;
    }

    .mail_btn {
        display: inline-block;
        width: calc(100% * 260 / 640);
        vertical-align: middle;
        border-right: 1px solid rgba(0, 0, 64, 0.2);
    }

    .mail_btn img {
        width: 85%;
    }

    .tel_btn {
        display: inline-block;
        width: calc(100% * 260 / 640);
        vertical-align: middle;
        border-right: 1px solid rgba(0, 0, 64, 0.2);
    }

    .tel_btn img {
        width: 85%;
    }

    .top_btn {
        display: inline-block;
        width: calc(100% * 100 / 640);
        vertical-align: middle;
    }

    .top_btn img {
        width: 60px;
    }

    .footer-menu {
        width: 100%;
        display: block;
        position: fixed;
        bottom: 0;
        left: 0;
        background: #009e41;
        background: -moz-linear-gradient(top, #009e41 0%, #147e34 100%);
        background: -webkit-linear-gradient(top, #009e41 0%, #147e34 100%);
        background: linear-gradient(to bottom, #009e41 0%, #147e34 100%);
        box-shadow: 1px -5px 6px 3px rgba(0, 0, 0, 0.2);
        -moz-box-shadow: 1px -5px 6px 3px rgba(0, 0, 0, 0.2);
        -webkit-box-shadow: 1px -5px 6px 3px rgba(0, 0, 0, 0.2);
        z-index: 1;
    }

    .footer-menu {
        left: 0px;
    }
}

.pc_none {
    display: none;
}

@media only screen and (max-width: 769px) {
    .sp_none {
        display: none;
    }

    .pc_none {
        display: block;
    }
}

.mb2 {
    margin-bottom: 2em;
}

/* 印刷用指定
----------------------------------------------------*/
@page {
    size: A4;
    margin: 10mm;
}

@media print {
    body {
        font-family: "游ゴシック", Yu Gothic, "ヒラギノ角ゴ Pro",
            "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
        min-width: 1000px;
        /* 値はデザインに準拠 */
        width: 190mm;
        /* needed for Chrome */
        zoom: 0.75;
        -webkit-print-color-adjust: exact;
        /* Chrome 背景まで印刷する指定 */
        overflow-y: visible;
        overflow-x: visible;
    }

    header {
        border-bottom: solid 3px #ea5350;
        background: #ffffff url(../img/bg_header.jpg) center top repeat-x;
        position: static;
    }

    #page-top {
        /* ページ上部へ戻るを消す */
        display: none !important;
    }

    .show {
        page-break-inside: avoid;
        /* 途中改ページを防ぐ */
    }
}

@media print and (-ms-high-contrast: none) {

    /* IE10以降ハック */
    body {
        zoom: 92%;
    }
}

/* -------------------------------
追加:20220105
------------------------------- */

/* -------------------------------
20220930
------------------------------- */

/* -------------------------------
20230220
------------------------------- */
#page-top a, #page-top div.scroll_to_top {
    background: #b3b3b3;
    text-decoration: none;
    color: #fff;
    width: 100px;
    padding: 30px 0;
    text-align: center;
    height: auto;
    display: block;
    border-radius: 0;
    line-height: initial;
    display: none;
}

#page-top {
    position: fixed;
    bottom: -80px;
    right: 20px;
    transition: 0.3s;
}


/* ------------ A Style */
a:link,
a:visited,
a:visited,
a:active {
    text-decoration: none;
    color: #777777;
}



.mb_only, .mb_only_inline {
    display: none;
}

.note {
    font-size: 12px;
    padding-left: 1em;
    text-indent: -1em;
    line-height: 130%;
}

.head_access_link {
    color: #22a73c;
    font-weight: bold;
}

.head_access_link span {
    text-decoration: underline;
    font-size: 100% !important;
}

img {
    -webkit-backface-visibility: hidden;
}


/* ================開催概要================== */

.outline {
    background: url(../img/bg_paper.jpg) center center repeat;
}

.outline h4 {
    background-color: #ea5350;
    color: #fff;
    padding: 15px;
    text-align: center;
}

.outline .date dl dt {
    background-color: #ea5350;
    display: inline-block;
    padding: 2px 15px;
    border-radius: 20px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    color: #fff;
    font-size: 14px;
}

/* .special_area.mod2021 > div:nth-child(2) {
    text-align: center;
    margin-bottom: 35px;
    font-size: 140%;
    font-weight: bold;
} */

/* ================出展のメリット================== */


/* -------------------------------
show merit2021
------------------------------- */

.schedule {
    border: solid 1px #e60044;
    margin-bottom: 30px;
}

.show .date dl dt {
    background-color: #e50044;
    display: inline-block;
    padding: 2px 15px;
    border-radius: 20px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    color: #fff;
    font-size: 14px;
}

.show .date dl dt {
    background-color: #e50044;
    display: inline-block;
    padding: 2px 15px;
    border-radius: 20px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    color: #fff;
    font-size: 14px;
    margin-bottom: 10px;
}


/* SDGsマーク */



/* -------------------------------
achievement
------------------------------- */
#achievement table {
    width: 80%;
    margin: 0 auto 60px;
}

#achievement table th {
    background-color: #e95383;
    color: white;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
}

#achievement table td {
    text-align: center;
    border-right: 1px solid #e95383;
    border-bottom: 1px solid #e95383;
    font-weight: bold;
}

#achievement table th, #achievement table td {
    padding: 10px;
    line-height: 1.2;
    vertical-align: middle;
}



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

    .mb_only_inline {
        display: inline;
    }

    /* ================開催概要================== */

    /* 2019 */

    .outline {
        margin-bottom: 20px;
    }

    .outline dl {
        margin-bottom: 10px;
    }

    .outline dl dt {
        font-size: 12px;
        margin-bottom: 5px;
    }

    /*.outline .place dd{ width: 50vw;}*/
    /*.outline .host dd{ width: 60vw;}*/

    /* 2019 */

    ul.ol_period li {
        font-weight: 700;
        font-size: 18px;
    }

    ul.ol_period li:last-child {
        font-weight: 700;
        font-size: 14px;
    }

    span.ol_day {
        font-size: 24px;
    }

    span.ol_week {
        font-size: 12px;
        background-color: #e84a66;
        color: #ffffff;
        display: inline-block;
        width: 22px;
        height: 22px;
        border-radius: 50%;
        text-align: center;
        line-height: 22px;
        vertical-align: top;
        margin: 0 5px;
    }

    /* ================ご出店のご案内================== */

    .show dl {
        margin-bottom: 10px;
    }

    .show dl dt {
        font-size: 12px;
        margin-bottom: 5px;
    }

    /* 2019 */

    /* SDGsマーク */

    #achievement table {
        width: 100%;
        margin-bottom: 20px;
    }
}

/* ===================================================================
PC
=================================================================== */
@media print, screen and (min-width: 769px) {

    /* ================PC開催概要================== */

    /* 2019 */

    .outline {
        font-size: 14px;
        line-height: 140%;
        margin-bottom: 30px;
    }

    .outline h4 {
        font-size: 20px;
    }

    .outline .date dl {
        float: left;
    }

    .outline .date dl dt {
        margin-bottom: 20px;
    }

    .outline .date dl {
        margin-bottom: 30px;
    }

    .outline .date .host {
        clear: left;
        margin-right: 40px;
    }

    .outline .date .backup dd.note {
        margin-top: 10px;
    }

    /* 2019 */

    ul.ol_period li {
        /* font-weight: 700; */
        font-size: 20px;
        margin-bottom: 5px;
    }

    ul.ol_period li:last-of-type {
        /* font-weight: 700; */
        font-size: 20px;
        line-height: 1.5;
    }

    span.ol_day {
        /* font-size: 36px; */
    }

    span.ol_week {
        font-size: 20px;
        /* background-color: #e84a66; */
        /* color: #ffffff; */
        display: inline-block;
        /* width: 24px; */
        /* height: 24px; */
        /* border-radius: 50%; */
        text-align: center;
        /* line-height: 24px; */
        vertical-align: middle;
        /* margin: 0 5px 13px; */
    }

    /* ================出展のご案内================== */

    .show dl dd {
        margin-bottom: 10px;
    }

    /* 2019 */

    /* 2019 */
}

/* ===================================================================
バナーダウンロード
=================================================================== */

@media print, screen and (min-width: 769px) {

    /*PC*/
}

/* ===================================================================
出展者一覧
=================================================================== */
#seminar {}

dl.seminar_content {
    display: inline-block;
    width: 100%;
    margin-top: 20px;
}

dl.seminar_content dt {
    display: block;
    cursor: pointer;
    background-color: #fbb03b;
    border-radius: 10px;
    color: #ffffff;
    font-size: 14px;
    text-align: center;
    padding: 12px 0 10px;
    line-height: 1;
    margin-bottom: 10px;
}

dl.seminar_content dd {
    display: none;
}

dl.seminar_content dd {
    padding: 10px;
}

/* 2020/09 */

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

    /*SP*/

    .sp_photo_block {
        display: flex;
        flex-direction: column-reverse;
    }
}

/*
.item-exhibtor .product ul li:first-letter{
	color: #ea5350;
}*/

/*画像長辺フィット*/
/*
.item-exhibtor .product .photo img{
	object-fit: contain;
	width: 100%;
	height: 253px;
	background-color: #fff;
	border: 1px solid #ccc;
}*/

@media print, screen and (min-width: 769px) {

    /*PC*/
}

@media only screen and (max-width: 768px) {
    /*SP*/
}

/* ===================================================================
来場トピックス（セミナー情報）
=================================================================== */

@media print, screen and (min-width: 769px) {

    /*PC*/


    /*
	.cont-visitor .item-seminar .unit-seminar .body .article {
		margin-right: 280px;
	}
	*/
}

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

    /*SP*/
}

/* ===================================================================
来場トピックス2（セミナー情報）
=================================================================== */

@media print, screen and (min-width: 769px) {

    /*PC*/
}

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

    /*SP*/
}

/* ===================================================================
来場トピックス3（セミナー情報）
=================================================================== */

@media print, screen and (min-width: 769px) {

    /*PC*/
}

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

    /*SP*/
}

/* ===================================================================
来場トピックス4（セミナー情報）orange
=================================================================== */

@media print, screen and (min-width: 769px) {

    /*PC*/

    /*
	.cont-visitor4 .item-seminar .unit-seminar .body .article {
		margin-right: 280px;
	}
	*/
}

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

    /*SP*/
}

/* add */

.center {
    text-align: center;
}

/* attendance */

/* big-button */

/* -------------------------------
	イベントページ：授賞式
------------------------------- */





/* -------------------------------
202110 セミナー追加
------------------------------- */

.host .article>p {
    font-weight: bold;
    font-size: 20px;
    margin-bottom: 0.5em;
}




/* -------------------------------
出展カテゴリ　#show07
------------------------------- */

.layer {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.2);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 99;
    opacity: 0;
    transition: 0.5s;
}

.layer .view_data {
    z-index: 100;
    max-width: 600px;
    min-height: 120px;
    width: 80%;
    transition: all 1s;
    box-shadow: 0 0 10px #ffffff;
    padding: 15px;
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 10px;
    z-index: 200;
}

.layer .view_data>div {

    border: 5px solid #333;
    background-color: white;
    border-radius: 5px;

    padding: 15px 20px;

}

.layer .view_data .cate_title {
    font-weight: bold;
    font-size: 145%;
    border-bottom: 2px dashed #333;
    padding-bottom: 10px;
    margin-bottom: 10px;
    letter-spacing: 2px;
    text-align: center;
    /* text-decoration: underline; */
}

.layer .view_data .cate_text {
    font-family: "ヒラギノ角ゴ ProN W3",
        "Hiragino Kaku Gothic ProN", "游ゴシック Medium", "Yu Gothic Medium",
        "游ゴシック体", YuGothic, "メイリオ", Meiryo, sans-serif;
}

.view_data_close {
    display: flex;
    justify-content: flex-end;
    cursor: pointer;
    padding-top: 10px;
}

.view_data_close>div {
    display: inline-block;
    border-radius: 3px;
    background-color: #eee;
    padding: 6px;

}

/* -------------------------------
フッター
------------------------------- */


#footer {
    clear: both;
    margin: 0 auto;
    background: #e6e6e6;
}

#footer a:link {
    text-decoration: none;
}

#footer a:hover {
    text-decoration: underline;
}

#footer #footerbox {
    width: 1000px;
    margin: 0 auto;
    overflow: hidden;
    padding: 40px 0 0;
}

@media only screen and (max-width: 640px) {
    #footer #footerbox {
        width: auto;
        margin: 0 auto;
        overflow: hidden;
        padding: 20px 0 0;
    }
}


.fo_sitemap {
    display: block;
    padding: 50px 0 40px;
    border-bottom: 2px solid #dcdcdd;
}

.fo_sitemap_box {
    width: 1000px;
    margin: 0 auto;
    overflow: hidden;
    display: -webkit-flex;
    display: flex;
}

.fo_sitemap .sitemap_ttl {
    font-size: 16px;
    font-weight: 700;
}

.fo_sitemap_block01 {
    width: 270px;
}

.fo_sitemap_block01 ul li {
    margin-bottom: 10px;
}

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

    .fo_sitemap {
        display: none;
    }
}

#footer #fo_logo {
    padding: 0 0 20px;
    margin: 0;
    text-align: center;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.3;
}

#footer #fo_logo p {
    font-size: 14px;
    padding: 0;
}

#footer #fo_logo img.logo {
    width: 36px;
    margin-right: 20px;
    vertical-align: middle;
}

#footer .fo_box {
    padding-bottom: 25px;
}

#footer .fo_box ul {
    text-align: center;
    margin-top: 0;
}

#footer .fo_address {
    text-align: center;
}

#footer .fo_address p {
    text-align: center;
    font-size: 30px;
    font-weight: 700;
}

#footer .fo_address p span {
    font-size: 20px;
}

#footer .copy {
    clear: both;
    margin: 0 auto;
    overflow: hidden;
}

#footer .copy p {
    text-align: center;
    padding: 10px 0;
    font-size: 11px;
    font-size: 0.78571rem;
}

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

    #footer #fo_logo {
        padding: 0 5px 10px;
        margin: 0;
        text-align: center;
        font-size: 16px;
        font-weight: 700;
    }

    #footer #fo_logo p {
        font-size: 14px;
        padding: 0;
        line-height: 1;
    }

    #footer #fo_logo img.logo {
        width: 28px;
        margin-right: 7px;
    }

    #footer .fo_box {
        padding-bottom: 70px;
    }

    #footer .fo_box ul {
        text-align: center;
        margin-top: 1em;
    }

    #footer .fo_box ul li {
        white-space: nowrap;
        line-height: 1.4;
        font-size: 14px;
        margin-bottom: 5px;
    }

    #footer .fo_box ul li.note {
        font-size: 10px;
    }

    #footer .fo_address {
        text-align: center;
    }

    #footer .fo_address p {
        text-align: center;
        font-size: 14px;
        font-weight: 700;
    }

    #footer .fo_address p span {
        font-size: 20px;
    }

    #footer .copy {
        display: none;
    }

    .footer-menu ul {
        text-align: center;
        min-height: 55px;
        line-height: 55px;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .footer-menu ul li {
        display: inline-block;
        vertical-align: middle;
        color: #ffffff;
        font-size: 14px;
        font-weight: bold;
        padding: 0;
        line-height: 1.5;
    }

    .footer-menu ul li.f_wrap {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .footer-menu ul li img.icon {
        width: 20px;
        margin-right: 5px;
    }


    .footer-menu {
        width: 100%;
        display: block;
        position: fixed;
        bottom: 0;
        left: 0;
        background: #2D9249;
        background: -moz-linear-gradient(top, var(--sub-color) 0%, var(--main-color) 100%);
        background: -webkit-linear-gradient(top, var(--sub-color) 0%, var(--main-color) 100%);
        background: linear-gradient(to bottom, var(--sub-color) 0%, var(--main-color) 100%);
        box-shadow: 1px -5px 6px 3px rgba(0, 0, 0, 0.2);
        -moz-box-shadow: 1px -5px 6px 3px rgba(0, 0, 0, 0.2);
        -webkit-box-shadow: 1px -5px 6px 3px rgba(0, 0, 0, 0.2);
        z-index: 1;
    }

    .footer-menu {
        left: 0px;
        display: flex;
        justify-content: space-around;
    }

    .footer-menu>a {
        width: 40%;
    }

    #fixed_footer {
        display: none !important;
    }

    header h1 img {
        max-height: 55px;
        max-width: 70%;
    }

    header .header-inner {
        padding: 10px;
    }
}

/* -------------------------------
20220825
------------------------------- */
header {
    border-bottom: none;
}


.head_access_sp {
    display: none;
}


.gnavi {
    background-color: var(--main-color);
    /* background-color: white; */
    /* border-bottom: 1px solid var(--main-color); */
    /* border-top: 1px solid var(--main-color); */
    background: linear-gradient(135deg, 
    #0070C0 0%, 
    #00afcc 60%, 
    #ffe109 100%
  );
}

.gnavi ul {
    height: 56px;
    display: flex;
}

.gnavi ul li a, .gnavi ul li span {
    font-size: 16px;
}

.gnavi ul li.nav-home {
    width: 66px;
    background-color: #15195f;
    border-left: 1px solid var(--sub-color);
    border-right: 1px solid var(--sub-color);
    min-width: 66px;
}

.gnavi ul li.nav-home a {
    display: block;
    position: relative;
    line-height: 1;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.gnavi ul li.nav-home a:hover {
    background-color: #585b91;
}

.gnavi ul li.nav-first:first-child {
    border-left: 1px solid #7b1c22;
}

.gnavi ul li.nav-first {

    /* border-bottom: 1px solid var(--sub-color); */
    height: auto;
    position: relative;
}

.gnavi ul li.nav-first::after {
    border-right: 1px solid #666;
    content: "";
    position: absolute;
    width: 1px;
    height: 70%;
    right: -1px;
    top: 15%;
}

.gnavi ul li.nav-first.new a {
    position: relative;
    border-right: 1px solid var(--sub-color);
}

.gnavi ul li.nav-first.new a::after {
    content: "New";
    position: absolute;
    width: 40px;
    line-height: 1;
    padding: 5px 0 5px;
    height: 14px;
    background-color: red;
    color: white;
    top: -5px;
    left: -15px;
    z-index: 9999;
    border-radius: 5px;
}

.gnavi ul li.nav-first span {
    display: block;
    /* height: 100%; */
    width: 100%;
    line-height: 120%;
    position: relative;
    top: auto;
    transform: none;
    display: flex;
    align-items: center;
    justify-content: center;
}

.gnavi ul li.nav-first span.cs {
    font-size: 12px;
    font-weight: normal;
    margin-top: 4px;
}

.gnavi ul li.nav-first>a, .gnavi ul li.nav-first>span {
    /* background-color: #585b91; */
    /* color: white; */
    font-size: 15px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    /* background-color: white; */
    /* color: #000; */
    color: white;
    transition: 0.3s;
}

.gnavi ul li.nav-first>a:hover {
    color: var(--main-color) !important;
    background-color: white;
}

.gnavi ul li.nav-first>span:hover {
    color: var(--main-color);
    background-color: white;
}

.gnavi ul li.nav-first>span:hover::after {
    content: "Coming Soon";
    display: block;
    position: absolute;
    bottom: 0;
    color: #999;
    font-size: 75%;
}

.gnavi ul li.nav-nomal a:hover {
    color: var(--main-color);
}


.gnavi {
    li {
        font-size: 14px;

        a {
            padding: 0 10px;


            span {
                line-height: 1.1 !important;
                font-size: 15px !important;

                .target_icon {
                    width: 15px;
                    display: inline;
                    margin-left: 5px;
                }
            }
        }

        .stitle {
            display: block;
            font-size: 12px !important;
            margin-bottom: 3px;
            font-weight: normal;
        }

    }
}



.slicknav_menu .slicknav_nav {
    background-color: #f7f7f7;
    color: #000;
}

.slicknav_nav ul.dropmenu {
    padding: 0;
}

.slicknav_nav ul.dropmenu li a {
    padding: 15px;
    padding-left: 20px;
    font-size: 16px;
    color: rgb(29, 33, 41);
    border-top: 1px solid #ccc;
}

.slicknav_nav ul.dropmenu li>span {
    padding: 15px;
    display: block;
    background-color: #aaa;
    color: white;
    font-size: 16px;
}

.slicknav_nav ul.dropmenu li>span::after {
    content: "　Coming Soon";
    color: white;
    font-size: 14px;
}



/* attendance */


/* footer */
.fo_sitemap_block01 {
    border-right: 1px solid #d9d9d9;
    padding-left: 20px;
    padding-right: 20px;
    line-height: 1.5;
}

.fo_sitemap .sitemap_ttl span {
    color: #aaa;
}

.fo_sitemap_block01 .footerblocktitle {
    font-weight: bold;
    margin-bottom: 10px;
    font-family: roboto;
    font-size: 16px;
    border-bottom: 1px solid var(--main-color);
    margin-bottom: 10px;
}


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

    /* header */
    .head_access_sp {
        display: block;
    }

    .head_access_sp ul {
        background: var(--sub-color);
        padding: 0 5px;
        font-size: 10px;
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;

        background: linear-gradient(135deg, 
        #0070C0 0%, 
        #00afcc 60%, 
        #ffe109 100%
    );
    }

    .head_access_sp ul li {
        padding: 5px 0 5px 5px;
        line-height: 1.2;
        font-weight: 700;
        color: #fff;

    }

    .head_access_sp ul li p {
        font-size: 14px;
        line-height: 1.4;
        font-weight: normal;
    }

    .head_access_sp ul li img {
        width: 90px;
    }

    .mv-container {
        margin-top: 131px;
    }

    .container_top {
        padding-top: 39vw;
    }

    header .header-inner {
        border-bottom: 1px solid #aaa;
        height: 70px;
        display: flex;
        align-items: center;
    }

    #page-top {
        bottom: 10vh !important;
        right: 2vw;
        width: 15vw;
        height: 15vw;
        opacity: 0.5;
    }

    .top_btn img {
        width: 90%;
    }


    .footermenu .footer-menu {
        display: flex;
    }

    .footer-menu>a {
        display: block;
        width: 40%;
    }

    .footer-menu>a:first-child {
        width: 42%;
        border-right: 1px solid #fff;
    }

    .footer-menu>a:nth-child(2) {
        width: 42%;
    }

    .footer-menu>a:nth-child(3) {
        width: 15%;
    }

    .footer-menu>div {
        display: block;
        width: 20%;
    }

    .tel_btn, .mail_btn {
        display: block;
        width: auto;
    }


    .footer-menu .border_both_side {
        border-right: 1px solid #fff;
        /* border-left: 1px solid #fff; */
    }



}


/* -------------------------------
banner
------------------------------- */


/* -------------------------------
banner 20220728
------------------------------- */

.banner h3 {
    margin: 20px 0 10px;
    border-bottom: #aaa 1px solid;
    font-size: 100%;
}

/* -------------------------------
20220907
------------------------------- */


/* -------------------------------
20221102
------------------------------- */


@media only screen and (max-width: 640px) {
    .pc_only {
        display: none;
    }
}




/* -------------------------------
20230213
------------------------------- */

.schedule {
    padding: 20px;
    border: 1px solid #000;
}

/* .show_page .btn-area a {
    font-size: 28px;
}
.show_page .btn-area a.btn {
    padding: 10px 0;
    max-width: 588px;
    width: 100%;
    background-color: #EA5550; 
}
.show_page .second-container .btn-area {
    max-width: 588px;
    width: 100%;
} */
#schedule {
    margin-top: -200px;
    padding-top: 200px;
}

.composition_layer {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.2);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 99;
    opacity: 0;
    transition: 0.5s;
}

.composition_layer .view_data {
    z-index: 100;
    max-width: 900px;
    min-height: 120px;
    width: 80%;
    transition: all 1s;
    box-shadow: 0 0 10px #ffffff;
    padding: 30px 50px;
    background-color: rgba(255, 255, 255, 1);
    border-radius: 0;
    z-index: 200;
    display: flex;
    gap: 4%;
    align-items: stretch;
}

.composition_layer .view_data h3 {
    background-color: #EA5550;
    color: white;
    border-radius: 20px;
    display: inline-block;
    line-height: 1;
    padding: 6px 10px;

}

.composition_layer.layer2 .view_data h3 {
    background-color: #22AC38;
}

.composition_layer.layer3 .view_data h3 {
    background-color: #F39800;
}

.composition_layer .view_data>div {
    flex-basis: 48%;
    overflow: hidden;
}

.composition_layer .view_data>div>div {
    border-left: 2px solid #EA5550;
    padding-left: 20px;
    padding-top: 10px;
    padding-bottom: 10px;
    margin-top: 20px;
    height: 100%;
}

.composition_layer.layer2 .view_data>div>div {
    border-left: 2px solid #22AC38;
}

.composition_layer.layer3 .view_data>div>div {
    border-left: 2px solid #F39800;
}

.composition_layer .view_data>div>div>div:nth-child(2) {
    color: #EA5550;
    margin-top: 20px;
}

.composition_layer.layer2 .view_data>div>div>div:nth-child(2) {
    color: #22AC38;
}

.composition_layer.layer3 .view_data>div>div>div:nth-child(2) {
    color: #F39800;
}

#dropmenu {
    border-bottom: none;
}

.outline h4 {
    font-size: 28px;
}



.nav-sns_fb {
    background: #325095;
}

.nav-sns_fb span {
    color: white !important;
}

.nav-sns_ig {
    background: #eb0f8d;
}

.nav-sns_ig span {
    color: white !important;
}

@media only screen and (min-width: 641px) {
    .sp {
        display: none;
    }
}

@media only screen and (min-width: 769px) {
    .gnavi ul li.nav-mobile {
        display: none;
    }
}

@media only screen and (max-width: 1000px) {
    .header-inner {
        max-width: 100%;
        height: auto;
    }

    .gnavi ul {
        max-width: 100%;
    }

    #dropmenu {
        border-bottom: none;
    }

    .container {
        max-width: 100%;
    }

    .fo_sitemap_box {
        max-width: 100%;
    }

    #footer #footerbox {
        max-width: 100%;
    }


}

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


    #header .headerlogo_wrap {
        display: flex;
    }

}

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

    .container_top {
        padding-top: 120px;
    }

    #schedule {
        margin-top: -150px;
        padding-top: 150px;
        margin-bottom: 0;
    }

    .outline dl.ramen dd {
        font-size: 18px;
    }

    .schedule {
        padding: 10px;
    }

    .composition_layer .view_data {
        padding: 16px 16px 0 16px;
        flex-direction: column;
        width: 90%;
    }

    .composition_layer .view_data>div>div {
        border-left: 2px solid #EA5550;
        padding-left: 10px;
        padding-top: 5px;
        padding-bottom: 5px;
        margin-top: 15px;
        height: 100%;
        margin-bottom: 15px;
    }

    .layer .view_data {
        width: 95%;
        padding: 5px;
    }

    .outline h4 {
        font-size: 18px;
        padding: 7px 0px;
    }


}


/* -------------------------------
20230220
------------------------------- */

@media only screen and (max-width: 1000px) {
    .container_top {
        padding-top: 141px;
    }

    .mv-container {
        margin-top: 208px;
    }

     #schedule {
        margin-top: -5px;
        padding-top: 5px;
    }

    .unit-news .news>dl:nth-child(n + 5) {
        display: none;
    }

    .unit-news .news .info_list_btn {
        text-align: center;
        background: #c7b299;
        width: 240px;
        height: 30px;
        line-height: 20px;
        border-radius: 8px;
        margin: 30px auto 15px;
    }

    .unit-news .news .info_list_btn img {
        width: 30px;
    }

    .unit-news .news .info_list_btn.open_news img {
        transform: scale(1, -1);
    }
}

@media only screen and (max-width: 768px) {
    header {
        position: relative;
    }

    .mv-container {
        margin-top: 0;
    }

    .container_top {
        padding-top: 0;
    }

    .mv-container {
        margin-top: 0;
    }
}


/* -------------------------------
20230821
------------------------------- */



header#header .header-pre-entry {
    height: 55px;
}

header#header .header-pre-entry {
    padding-top: 5px;
    margin-top: 0;
}

header#header .header-pre-entry>a {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 3px;
    height: 45px;
    text-decoration: none;
    color: white;
    border-radius: 4px;
    position: relative;
    padding-top: 2px;
}

header#header .header-pre-entry>a {
    /* background-image: url(../images/icon_arrow.png); */
    background-position: 96% center;
    background-repeat: no-repeat;
    background-size: 10px;
}

header#header .header-pre-entry>a span {
    color: yellow;
    font-weight: normal;
}

header#header .header-pre-entry>a.left_btn {
    background-color: #e55b52;
    box-shadow: 0 4px 0px #ac2b27;
    z-index: 9;
}

header#header .header-pre-entry>a.left_btn:hover {
    background-color: #ac2b27;
    opacity: 1;
}

header#header .header-pre-entry>a.right_btn {
    background-color: #ff3b20;
    box-shadow: 0 4px 0px #ac2613;
}

header#header .header-pre-entry>a.right_btn:hover {
    background-color: #ac2613;
    opacity: 1;
}

header#header .header-pre-entry>a:hover {
    box-shadow: none;
    margin-top: 4px;
    transition: 0.3s;
}

header#header .header-pre-entry>a::before {
    content: '';
    position: absolute;
    top: 0;
    left: -33%;
    width: 30%;
    height: 100%;
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .3) 100%);
    transform: skewX(-25deg);
}

header#header .header-pre-entry>a:hover::before {
    animation: shine2 0.7s;
}



.header-info dl dd {
    font-size: 15px;
}

.header-info dl dd span {
    font-size: 30px;
    line-height: 1;
}

.header-info dl dd span.small {
    font-size: 18px;
}

.header-info {
    /* text-align: right; */
}

.header-info .header-info_place span {
    font-size: 15.3px;
    font-weight: normal;
}

.header-info .header-info_place dd {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}

.header-info .header-info_place dd img {
    height: 16px;
}

.header-info .header-info_place dd a {
    line-height: 1;
}



/* .attendance .attendance_box > div:first-child.green {
    background-color: #009f44;
} */



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

------------------------------- */
.btn-area2 {
    padding: 0 0 5px;
    width: 90%;
    max-width: 500px;
    margin: 20px auto 30px;
}

.btn-area2:hover {
    padding: 5px 0 0;
    transition: 0.2s;
}

.btn-area2 .btn-contact {
    display: block;
    /* width: 500px; */
    /* max-width: 90%; */
    border-radius: 100px;
    color: white;
    background-color: #f39800;
    font-size: 19px;
    text-align: center;
    text-decoration: none;
    line-height: 1;
    letter-spacing: 3px;
    box-shadow: 0 5px 0px #cb6d1e;
    font-weight: bold;
    transition: 0;
    position: relative;
}

.btn-area2:hover .btn-contact {
    box-shadow: none;
    background-color: #cb6d1e;
    opacity: 1;
}

.btn-area2 .btn-contact:link {
    color: white;
}

.btn-area2 .btn-contact.press {
    background-color: #f92610;
    box-shadow: 0 5px 0px #9e210e;
    color: white !important;
}

.btn-area2 .btn-contact.press:hover {
    box-shadow: none;
    background-color: #9e210e;
}

.btn-area2 .btn-contact::before {
    content: '';
    position: absolute;
    top: 0;
    left: -75%;
    width: 50%;
    height: 100%;
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .3) 100%);
    transform: skewX(-25deg);
}

.btn-area2 .btn-contact:hover::before {
    animation: shine 1.2s;
}

@keyframes shine {
    100% {
        left: 125%;
    }
}

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

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

.show .container .btn-area2 .btn-contact.press {
    background-color: #00a047;
    box-shadow: 0 5px 0px #015026;
    color: white !important;
}

.show .container .btn-area2 .btn-contact.press:hover {
    box-shadow: none;
    background-color: #015026;
}

.show .header-info dl dd {
    margin-bottom: 0;
}



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

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

.gnavi ul li.nav-home a span {
    display: none;
}

.outline h4 {
    background-color: var(--main-color);
}

.outline .date dl dt {
    background-color: var(--main-color);
}

span.ol_week {
    /* background-color: #bf1f26;  */
}

.gnavi ul li.nav-first>span:hover {
    color: var(--main-color);
}



@media only screen and (max-width: 1000px) {}

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

    #page-top {
        display: block !important;
        right: 2vw;
        bottom: 8vh !important;
    }

    #page-top a {
        width: 50px;
        text-align: center;
        height: 50px;
        display: flex;
        border-radius: 50px;
        justify-content: center;
        align-items: center;
        padding: 0;
    }

    #page-top a img {
        width: 20px;
    }

    .footer-menu .top_btn ul li img, .footer-menu .tel_btn ul li img, .footer-menu .pagetop_btn ul li img {
        width: 30px;
    }

    .slicknav_nav ul li.nav-home a img {
        display: none;
    }

    .footer-menu>a.tel_btn {
        width: 20%;
    }

    .footer-menu>.pagetop_btn {
        width: 16%;
    }

    #page-top.top_btn_pc {
        display: none !important;
    }
}



/* -------------------------------
2024
------------------------------- */

body.show .fss {
    font-size: 12px;
}





/* -------------------------------
セミナーページ
------------------------------- */

/* -------------------------------
バナー
------------------------------- */
.banner .container_top {
    padding-top: 180px;
}

@media only screen and (max-width: 768px) {
    .banner .container_top {
        padding-top: 10px;
    }
}





/* -------------------------------
特別企画
------------------------------- */

.event a.btn-contact, a:visited.btn-contact, a:link.btn-contact {
    width: 100%;
    max-width: 100%;
    padding: 19px 0;
}

.event .btn-area2 .btn-contact.press {
    background-color: #ea5550;
    box-shadow: 0 5px 0px #ac2b27;
}

.event .btn-area2 .btn-contact.press:hover {
    box-shadow: none;
    background-color: #ac2b27;
}

.event .btn-area2 .btn-contact::before {
    content: '';
    position: absolute;
    top: 0;
    left: -75%;
    width: 50%;
    height: 100%;
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .3) 100%);
    transform: skewX(-25deg);
}

.event .btn-area2 .btn-contact:hover::before {
    animation: shine2 1.2s;
}

@keyframes shine2 {
    100% {
        left: 100%;
        opacity: 0;
    }
}


@media only screen and (max-width: 768px) {}



/* -------------------------------
農業展
------------------------------- */


.mv-container .slick-slide img {
    max-width: 100vw;
    width: 1000px;
}

@media only screen and (max-width: 768px) {
    .mv-container .slick-slide img {
        max-width: 100vw;
    }
}


/* -------------------------------
20240320
------------------------------- */


/* -------------------------------
20250429
------------------------------- */
#fixed_sns {
    position: fixed;
    right: 0;
    top: 20%;
    background-color: white;
    z-index: 999;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    padding: 0px 10px;
    box-shadow: 0 0 6px #2d924930;





    a {
        display: block;
        margin: 12px 0;


        img {
            width: 30px;
            height: auto;
        }
    }
}

#footerbox {
    position: relative;

    .footer_bnr {
        position: absolute;
        left: calc(100% / 2 + 200px);
        top: 100px;

        img {
            width: 240px;
        }
    }
}



@media only screen and (max-width: 768px) {
    #fixed_sns {
        position: fixed;
        bottom: 70px;
        top: auto;
        display: flex;
        gap: 16px;
        padding: 0px 20px;
        background-color: #ffffff80;

        a {
            img {
                width: 50px;
            }
        }
    }
}

@media only screen and (max-width: 768px) {
    .slicknav_nav ul.dropmenu li>span br {
        display: none;
    }
}



#fixed_footer {
    display: none;
    position: fixed;
    bottom: 0;
    height: 50px;
    background-color: var(--main-color);
    justify-content: center;
    width: 100vw;
    z-index: 1000;

    /* background: linear-gradient(135deg, 
        #0070C0 0%, 
        #00afcc 60%, 
        #ffe109 100%
    ); */
}


#fixed_footer>div {
    width: 1080px;
    /* margin: 0 auto; */
    /* display: flex;
    justify-content: flex-end;*/
}

#fixed_footer a.fixed_footer_wrap {
    display: flex;
    justify-content: center;
}

#fixed_footer a.fixed_footer_wrap {
    width: 470px;
    color: white;
    height: 100%;
    text-align: center;
    /* padding-top: 5px; */
    padding-top: 10px;
}

#fixed_footer>a:first-child {
    background-color: #ff3b20;
}

#fixed_footer>a:nth-child(2), #fixed_footer>a:nth-child(3) {
    background-color: #d8aa03;
}

#fixed_footer div#back_to_top {
    width: 60px;
    background-color: #15195f;
    text-align: center;
    padding-top: 10px;
    cursor: pointer;
}

#fixed_footer a {
    color: white;
    text-decoration: none;
    font-size: 18px;
    line-height: 18px;
    padding-top: 7px;
    padding-left: 7px;
}

#fixed_footer a .text {
    padding-top: 7px;
}

#fixed_footer a .img {
    padding-right: 7px;
}

#fixed_footer a .text span {
    /* display: block; */
}

#fixed_footer a .text span:first-child {
    font-size: 20px;
    letter-spacing: 2px;
    font-weight: bold;
    margin-bottom: 6px;
    margin-right: 12px;
}

#fixed_footer a .text span:last-child {
    /* font-size: 14px; */
}



#header {
    .header-right {
        display: flex;
        flex-direction: row-reverse;
        align-items: center;
        flex-wrap: wrap;
        margin-bottom: 5px;
    }

    .headerinfo_title {
        background-color: var(--main-color);
        font-size: 13px;
        color: white;
        padding: 2px 10px 3px;
        border-radius: 5px;
        margin-right: 5px;
        font-weight: normal;
        line-height: 1;
        height: 20px;
        display: flex;
        align-items: center;
    }

    .header-info dl dd {
        display: flex;
        align-items: flex-end;
    }
}


#footer {
    .note {
        font-size: 12px;
        margin-top: 20px;
        white-space: wrap !important;
        padding: 0 10px;
    }
}





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

    .slicknav_nav ul.dropmenu li a {
        br {
            display: none;
        }

        .stitle {
            margin-right: 10px;
        }

        .target_icon {
            width: 15px;
        }
    }

    .gnavi ul li.nav-first.new a::after {
        content: "New";
        position: absolute;
        width: 40px;
        line-height: 1;
        padding: 5px 0 5px;
        height: 23px;
        background-color: red;
        color: white;
        top: -5px;
        left: -15px;
        z-index: 9999;
        border-radius: 5px;
    }
}



@charset "UTF-8";

:root {
    --main-color: #0070C0;
    --sub-color: #257fbf;
}

.expo_foodlogi {
    section {
        padding: 0 0;
        margin-bottom: 60px;

        h2 {
            font-size: 30px;
            background-color: var(--main-color);
            color: white;
            padding: 7px 0 10px;
            text-align: center;
            margin-bottom: 30px;
            letter-spacing: 2px;
            line-height: 1.5;
        }
    }


    .btn-area2 {
        padding: 0 0 5px;
        width: 90%;
        max-width: 500px;
        margin: 20px auto 30px;
    }

    .btn-area2:hover {
        padding: 5px 0 0;
        transition: 0.2s;
    }

    .btn-area2 .btn-contact {
        display: block;
        /* width: 500px; */
        /* max-width: 90%; */
        border-radius: 100px;
        color: white;
        background-color: #f39800;
        font-size: 19px;
        text-align: center;
        text-decoration: none;
        line-height: 1;
        letter-spacing: 3px;
        box-shadow: 0 5px 0px #cb6d1e;
        font-weight: bold;
        transition: 0;
        position: relative;
    }

    .btn-area2:hover .btn-contact {
        box-shadow: none;
        background-color: #cb6d1e;
        opacity: 1;
    }

    .btn-area2 .btn-contact:link {
        color: white;
    }

    .btn-area2 .btn-contact.press {
        background-color: #f92610;
        box-shadow: 0 5px 0px #9e210e;
        color: white !important;
    }

    .btn-area2 .btn-contact.press:hover {
        box-shadow: none;
        background-color: #9e210e;
    }

    .btn-area2 .btn-contact::before {
        content: '';
        position: absolute;
        top: 0;
        left: -75%;
        width: 50%;
        height: 100%;
        background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .3) 100%);
        transform: skewX(-25deg);
    }

    .btn-area2 .btn-contact:hover::before {
        animation: shine 1.2s;
    }

    @keyframes shine {
        100% {
            left: 125%;
        }
    }

    .exhibitor-info {
        max-width: 1000px;
        margin: 0 auto;

        .header-group {
            img {
                max-width: 90%;
                width: 700px;
                display: block;
                margin: 0 auto;
            }

            .catch-copy {
                text-align: center;
                font-size: 30px;
                font-weight: bold;
                margin: 20px 0 40px;
                letter-spacing: 1px;
                line-height: 1.4;
            }
        }

        .exhibit-target-wrap {
            background-color: #bdbdbd0a;
            padding: 30px;
            border: 1px solid #acacac36;
            margin-bottom: 50px;
        }

        .exhibit-target {
            h3.category-title {
                font-size: 20px;
                /* text-decoration: underline; */
                text-align: center;
                margin-bottom: 15px;
                min-height: 50px;
                line-height: 1.3;
                display: flex;
                justify-content: center;
                align-items: center;
            }

            .category-image {
                margin: 10px 0;

                img {
                    width: 100%;
                    height: auto;
                    display: block;
                    border-radius: 5px;
                    max-height: 140px;
                    width: 100%;
                    object-fit: cover;
                }

                img.ofb {
                    object-position: bottom;
                }
            }

            .category-list {
                margin-top: 10px;
                font-size: 15px;
                display: flex;
                flex-wrap: wrap;
                gap: 20px;
                row-gap: 2px;

                li {}
            }

            .layout-inner {
                display: flex;
                /* background-color: #697ead0a; */
                

                .side-label {
                    writing-mode: vertical-rl;
                    -ms-writing-mode: tb-rl;
                    /* IE用 */
                    font-size: 26px;
                    font-weight: bold;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    padding: 10px;
                    background-color: #142B9B;
                    letter-spacing: 15px;
                    margin-right: 20px;
                    line-height: 1;
                    color: white;
                    padding-right: 15px;
                }

                .category-grid {
                    display: flex;
                    flex-wrap: wrap;
                    justify-content: space-between;
                    gap: 1%;
                    row-gap: 10px;

                    .category-box {
                        flex: 0 0 32.5%;
                        border: 2px solid #142B9B;
                        border-radius: 10px;
                        padding: 15px;
                        background-color: white;
                    }
                }

                .category-grid-2col {
                    .category-box {
                        flex: 0 0 49%;
                    }
                }
            }
        }

        .business-meeting {
            text-align: center;
            margin: 40px 0;

            h3 {
                font-size: 24px;
                font-weight: bold;
                margin-bottom: 20px;
                letter-spacing: 3px;
            }

            .biz-wrapper {
                display: flex;
                justify-content: center;
                align-items: center;
                font-size: 20px;
                line-height: 1.5;
                gap: 20px;

                ul {
                    flex: 0 0 30%;
                }

                ul.left {
                    /* color: #142B9B; */
                }

                ul.right {
                    /* color: #4fb700; */
                }

                img {
                    max-width: 160px;
                    /* filter: brightness(0) saturate(100%) invert(58%) sepia(88%) saturate(644%) hue-rotate(47deg) brightness(96%) contrast(101%); */
                }
            }
        }

        .visitor-target {
            .side-label {
                writing-mode: vertical-rl;
                -ms-writing-mode: tb-rl;
                /* IE用 */
                font-size: 26px;
                font-weight: bold;
                display: flex;
                align-items: center;
                justify-content: center;
                padding: 10px;
                background-color: #4fb700;
                letter-spacing: 15px;
                margin-right: 20px;
                line-height: 1;
                color: white;
                padding-right: 15px;
            }

            .layout {
                display: flex;
                /* align-items: center; */


                .audience-box {
                    border: 2px solid #4fb700;
                    border-radius: 10px;
                    padding: 15px;

                    h3 {
                        font-size: 20px;
                        text-align: center;
                        margin-bottom: 15px;
                    }
                }

                .audience-grid {
                    display: flex;
                    flex-wrap: wrap;
                    row-gap: 20px;
                    width: 100%;






                    .audience-grid_child {
                        display: flex;
                        justify-content: space-between;
                        flex-wrap: wrap;
                        row-gap: 15px;












                        .audience-box {
                            flex: 0 0 49%;
                            background-color: white;
                        }
                    }
                }
            }
        }



    }

    .exhibit-benefits {

        .benefits-title {
            margin: 0;
            /* font-size: 1.6rem; */
            font-weight: 700;
        }

        .benefits-body {
            /* border-top: 6px solid #3a8d94; */
            padding: 40px 0 0;
        }

    }


    .exhibitor-support {
        .support-header {}

        .support-title {
            margin: 0;
            /* font-size: 1.6rem; */
            font-weight: 700;
            font-size: 32px;
            background-color: white;
            margin-bottom: 40px !important;
            max-width: 1000px;
            margin: 0 auto;
            border: 1px solid var(--main-color);
        }

        .support-items {
            display: flex;
            /* flex-direction: column; */
            gap: 2rem;
            padding: 2rem 0;
            justify-content: space-between;
            flex-wrap: wrap;

            img {
                border: 1px solid #ddd;
            }
        }

        .support-box {
            display: flex;
            flex-direction: column;
            gap: 1rem;
            flex: 0 0 48%;

            h3 {
                border-bottom: 1px dashed #333;
                padding-bottom: 10px;
            }
        }

        .support-box.bordered {
            /* border-top: 2px dashed #999; */
            padding-top: 2rem;
            flex: 0 0 100%;

            img {
                max-width: 350px;
            }
        }

        .support-name {
            margin: 0;
            font-size: 22px;
            font-weight: 700;
        }

        .support-text {
            margin: 0;
            line-height: 1.6;
        }

        .support-images {
            display: flex;
            flex-wrap: wrap;
            gap: 1rem;
            align-items: flex-start;
        }

        .support-images img {
            /* width: 180px; */
            flex: 0 0 48%;
            height: auto;
            display: block;
            max-width: 48%;
        }
    }


    .event-schedule {
        max-width: 1000px;
        margin: 0 auto 60px;

        .schedule-title {

            margin: 0;

            font-size: 1.6rem;

            font-weight: 700;
        }

        .schedule-flow {
            display: flex;
            flex-wrap: nowrap;
            /* overflow-x: auto; */
            gap: 20px;
            padding: 2rem 0;
            justify-content: flex-start;
            align-items: self-start;
            height: auto;
            /* margin-bottom: 70px; */
        }

        .step-box {

            flex: 0 0 11.1%;

            /* border: 2px solid #003b82; */

            display: flex;

            flex-direction: column;

            justify-content: flex-start;

            align-items: center;

            /* padding: 1rem 0.5rem; */

            text-align: center;

            /* min-height: 150px; */

            height: 120px;

            position: relative;

        }

        .step-box::after {
            border: 5px solid transparent;
            content: "";
            display: block;
            position: absolute;
            top: 50%;
            right: -13px;

            width: 0;

            -webkit-transform: rotate(-90deg);

            -ms-transform: rotate(-90deg);

            transform: rotate(-90deg);

            border-top-color: var(--main-color);

            border-bottom-width: 0;
        }


        .step-box.final {

            background: #15195f;

            color: #fff;

            .step-label {

                color: white;
            }
        }

        .step-box.final::after {
            display: none;
        }

        .step-label {

            margin: 0 0 0.5rem;

            font-weight: 700;

            font-size: 0.95rem;

            border: 2px solid #003b82;

            width: 100%;

            min-height: 100%;

            display: flex;

            justify-content: center;

            align-items: center;

            color: #15195f;
        }

        .step-date {

            margin: 0;

            font-size: 0.9rem;

            line-height: 1.4;

            font-weight: bold;

            color: black;

            .fss {
                font-size: 12px;
                font-weight: normal;
            }
        }

        .step-date.red {
            color: #ff3b20;
        }


        padding-top: 50px;

    }
}

body.expo_foodlogi {
    section {
        h2 {
            background-color: #008dd7;
        }
    }
}

body.expo_foodlogi {
    section {
        h2 {
            background-color: var(--main-color);
        }
    }

    .about-expo {
        max-width: 1000px;
        margin: 0 auto 60px;

        p {
            font-size: 18px;
            /* font-weight: bold; */
            line-height: 2;
            margin-bottom: 10px;

            strong {
                color: #4fb700;
            }
        }
    }

    .expo-info {
        width: 100%;
        /* margin-left: calc(50% - 50vw); */
        background-color: var(--main-color);
        padding: 30px 0 80px;

        background: linear-gradient(135deg, 
            #0070C0 0%, 
            #00afcc 60%, 
            #ffe109 100%
        );






        .expo-info_inner {
            /* background-color: var(--main-color); */
            max-width: 1000px;
            margin: 0 auto;
        }

        table {
            /* max-width: 700px; */
            margin: 50px 0 0 20px;
            width: 100%;

            th {
                /* --tri: 20px; */
                font-size: 18px;
                font-weight: bold;
                /* background-color: #473e80; */
                color: white;
                display: flex;
                justify-content: flex-start;
                align-items: center;
                height: 50px;
                /* margin-bottom: 20px; */
                padding: 10px;
                /* margin-right: 20px; */
                min-width: 170px;
                border-bottom: 1px solid white;
                /* clip-path: polygon(
                        0 0,
                        calc(100% - var(--tri)) 0,
                        100% 50%,
                        calc(100% - var(--tri)) 100%,
                        0 100%
                    );
                    box-shadow: 0 10px 10px #aaa; */
            }

            td {
                font-size: 18px;
                font-weight: bold;
                display: flex;
                justify-content: flex-start;
                align-items: center;
                height: 50px;
                color: white;
                border-bottom: 1px solid white;
                font-weight: normal;
                /* padding: 30px 0 10px; */
                width: 100%;
                text-align: left;
                

                a {
                    color: white;
                    
                }
            }

            tr {
                display: flex;
                align-items: flex-end;
            }
        }
    }

    .exhibit-benefits {
        padding: 0;
        margin-bottom: 0;
    }

    .mv {
        width: 100%;
        margin-left: calc(50% - 50vw);
        background-image: url(../img/mv_bg.jpg);
        background-position: center;
        background-size: contain;
        background-repeat: no-repeat;
        text-align: center;
        /* padding: 50px 0; */
        max-height: calc(100vh - 160px);
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        height: 48vw;

        .mv-main {
            img {
                width: 100%;
                max-width: 800px;
                margin: 0 auto;
            }
        }

        .mv-banner {
            margin-top: 30px;
            position: absolute;
            bottom: 10px;

            img {
                width: 100%;
                max-width: 1000px;
                margin: 0 auto;
            }
        }
    }

    .concurrent-exhibition {
        width: 100%;
        background-color: #f8f9fa;
        padding: 60px 0 80px;
        margin-bottom: 0;

        .concurrent-header {
            .concurrent-title {
                margin: 0;
                font-weight: 700;
                font-size: 32px;
                background-color: white;
                margin-bottom: 40px !important;
                max-width: 1000px;
                margin: 0 auto 40px;
                border: 1px solid var(--main-color);
                background-color: var(--main-color);
                color: white;
                padding: 7px 0 10px;
                text-align: center;
                letter-spacing: 2px;
                line-height: 1.5;

                span {
                    display: block;
                    font-size: 16px;
                    font-weight: normal;
                }
            }
        }

        .concurrent-gallery {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 20px;
            max-width: 1000px;
            margin: 0 auto;
            padding: 0 20px;

            .concurrent-photo {
                img {
                    width: 100%;
                    height: 280px;
                    display: block;
                    border: 2px solid #ddd;
                    object-fit: cover;
                }
            }
        }
    }

    .areaimage {
        width: 100%;
        background-color: white;
        padding: 60px 0 60px;
        margin-bottom: 0;
        .areaimage_inner {
            max-width: 1000px;
            margin: 0 auto;
        }
    }

    .exhibition-scene {
        width: 100%;
        /* margin-left: calc(50% - 50vw); */
        background-color: var(--main-color);
        background-position: center;
        padding: 60px 0 80px;
        margin-bottom: 0;

        background: linear-gradient(135deg, 
            #0070C0 0%, 
            #00afcc 60%, 
            #ffe109 100%
        );

        h2 {
            background-color: white;
            /* border: 1px solid #fff; */
            max-width: 1000px;
            margin: 0 auto 15px;
            color: var(--main-color);
        }

        .features-body {
            width: 1000px;
            margin: 0 auto;
            background-color: white;
            padding: 30px 30px;






            .feature-item {
                /* border: 2px solid #4fb700; */
                padding: 40px 30px 20px;
            }

            .feature-item:not(:last-child) {
                margin-bottom: 25px;
                /* padding-bottom: 30px; */
                /* border-bottom: 1px solid #ddd; */
                box-shadow: 0 0 10px #eee;
            }

            .feature-number {
                font-size: 22px;
                margin-bottom: 30px;
                letter-spacing: 1px;
                color: #333;





                span {
                    font-size: 24px;
                    background-color: var(--main-color);
                    color: white;
                    padding: 3px 15px;
                    margin-right: 15px;
                    border-radius: 3px;
                }
            }

            .feature-text {
                background-color: #f3f3f9;
                padding: 15px;
                font-size: 16px;
                line-height: 1.8;
            }

            .feature-image {
                margin-top: 20px;
                text-align: center;
            }

            .feature-image img {
                width: 100%;
                max-width: 700px;
                height: auto;
                border-radius: 5px;
            }

            .feature-icons {
                display: flex;
                justify-content: center;
                gap: 20px;
                margin-top: 20px;
                flex-wrap: wrap;
                align-items: center;
            }

            .feature-icons img:nth-child(2) {
                max-width: 150px;
                height: auto;
                border-radius: 5px;
            }

            .feature-icons2 {
                display: flex;
                justify-content: center;
                gap: 20px;
                margin-top: 20px;
                flex-wrap: wrap;
                align-items: center;
            }

            .feature-icons2 img {
                max-width: 250px;
                height: auto;
                border-radius: 5px;
            }
        }
    }


    .exhibit-benefits {
        width: 100%;
        /* margin-left: calc(50% - 50vw); */
        background-color: #cdd4e3;
        padding: 80px 0;


        .benefits-body {
            background-color: white;
            width: 1000px;
            margin: 0 auto;
            padding: 50px 40px;
            border: 1px solid var(--main-color);
        }

        h2 {
            background-color: #e9eaec;
            color: var(--main-color);
            margin-bottom: 20px !important;
        }

        .benefits-header {
            .benefits-title {
                margin: 0;
                /* font-size: 1.6rem; */
                font-weight: 700;
                font-size: 32px;
                background-color: white;
                margin-bottom: 15px !important;
                max-width: 1000px;
                margin: 0 auto;
                border: 1px solid var(--main-color);
            }
        }

        .benefits-body {
            .benefit-item {
                .benefit-title {
                    font-size: 24px;
                    margin-bottom: 40px;
                    line-height: 1.5;
                    display: flex;
                    align-items: center;
                    gap: 15px;




                    .icon {
                        width: 60px;
                        height: 60px;
                        flex-shrink: 0;
                        background-size: contain;
                        background-repeat: no-repeat;
                        background-position: center;
                        margin-right: 20px;
                    }
                }

                &:nth-child(1) .icon {
                    /* background-image: url('/img/icons/icon1.png'); */
                }

                &:nth-child(2) .icon {
                    /* background-image: url('/img/icons/icon2.png'); */
                }

                &:nth-child(3) .icon {
                    /* background-image: url('/img/icons/icon3.png'); */
                }

                &:nth-child(4) .icon {
                    /* background-image: url('/img/icons/icon4.png'); */
                }

                &:nth-child(5) .icon {
                    /* background-image: url('/img/icons/icon5.png'); */
                }
            }

        }


    }


    .exhibitor-support {
        width: 100%;
        margin-left: calc(50% - 50vw);
        background-color: #cdd4e3;
        padding: 80px 0;

        .support-items {
            background-color: white;
            width: 1000px;
            margin: 0 auto;
            padding: 50px 40px;
            border: 1px solid var(--main-color);
        }

        h2 {
            background-color: #e9eaec;
            color: var(--main-color);
            margin-bottom: 20px !important;
        }
    }





}









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



    body.expo_foodlogi {
        .unit-news dl dd {
            img {
                margin-right: 10px;
            }
        }

        .mv {
            /* background-size: 600px; */
            background-repeat: no-repeat;
            /* min-height: 300px; */
            padding: 0 10px;

        }

        .container {
            padding: 0;

            section {
                margin-bottom: 10px;
                padding-bottom: 0px;

                h2 {
                    font-size: 20px !important;
                    padding: 8px;
                    margin-bottom: 10px !important;
                    line-height: 1.3;
                }
            }
        }

        .exhibitor-info {
            padding: 0 10px;

            .header-group {
                .catch-copy {
                    font-size: 18px;
                    padding: 10px;
                    margin: 10px 0;
                }

                img {
                    max-width: 100%;
                }
            }

            .exhibit-target-wrap {
                padding: 10px;

                .layout-inner {
                    flex-direction: column;

                    .side-label {
                        font-size: 22px;
                        margin-right: 0;
                        padding: 5px;
                        padding-right: 10px;
                        writing-mode: horizontal-tb;
                        padding: 10px;
                        margin-bottom: 10px;
                    }

                    .category-grid {
                        /* flex-direction: column; */
                        flex-wrap: wrap;
                        width: 100%;
                        row-gap: 5px;









                        .category-box {
                            flex: 0 0 100%;
                        }

                        .category-box:nth-child(3) {
                            img {
                                object-position: top;
                            }
                        }

                    }
                }

                .exhibit-target {
                    h3.category-title {
                        min-height: auto;
                        font-size: 18px;
                    }

                    img {
                        /* max-width: 80%; */
                        margin: 0 auto;
                        display: block;
                        max-width: 100%;
                        object-position: center;
                    }
                }


            }



            .business-meeting {
                .biz-wrapper {
                    flex-direction: column;
                    font-size: 18px;

                    img {
                        max-width: 100px;
                    }
                }
            }

            .visitor-target {
                .layout {
                    flex-direction: column;

                    .side-label {
                        font-size: 22px;
                        margin-right: 0;
                        padding: 5px;
                        padding-right: 10px;
                        writing-mode: horizontal-tb;
                        padding: 10px;
                        margin-bottom: 10px;
                    }

                    .audience-grid {
                        row-gap: 7px;

                        .audience-grid_child {
                            row-gap: 5px;

                            .audience-box {
                                flex: 0 0 100%;
                            }
                        }
                    }
                }
            }
        }

        .container {
            .exhibition-scene {
                padding: 20px 10px !important;
                margin-bottom: 0
            }
        }





        .exhibit-benefits {
            .benefits-title {
                font-size: 22px;
                padding: 10px;
            }
        }





        .exhibitor-support {
            padding: 40px 10px !important;

            .support-items {
                .support-box {
                    flex: 0 0 100%;
                }
            }

            .support-items {
                max-width: 100%;
                padding: 20px;

                h3.support-name {
                    font-size: 20px;
                }
            }
        }

        .exhibitor-support {
            h2.support-title {
                font-size: 22px;
                margin-bottom: 10px !important;
            }

            .support-images {
                justify-content: space-around;

                img {
                    max-width: 47%;
                }
            }

            .support-box.bordered {
                img {
                    max-width: 47%;
                }
            }
        }

        .event-schedule {
            padding: 0 10px;

            .schedule-flow {
                flex-wrap: wrap;

                .step-box {
                    flex: 0 0 45%;
                    height: auto;
                }

                .step-box.final {
                    background-color: white;

                    .step-label {
                        background-color: var(--main-color);
                    }
                }

            }

            .step-box::after {
                top: 30%;
                right: -11px;
            }

            .step-label {
                min-height: 90px;
            }
        }


        .concurrent-exhibition {
            padding: 10px 0;

            .concurrent-header {
                .concurrent-title {
                    margin-bottom: 10px !important;
                }
            }

            .concurrent-gallery {
                gap: 3px;
                padding: 0;

                .concurrent-photo {
                    img {
                        height: 120px;
                    }
                }
            }
        }
    }

    body.expo_foodlogi {
        .expo-info {
            padding: 20px 10px !important;

            table {
                margin-left: 0;
                margin-top: 0;

                tr {
                    flex-wrap: wrap;
                    margin-top: 10px;
                }

                th {
                    /* min-width: 120px; */
                    font-size: 16px;
                    padding-left: 10px;
                    margin-right: 10px;
                    height: 36px;
                    width: 30%;
                    min-width: auto;
                }

                td {
                    padding: 6px 0 0 10px;
                    border-bottom: none;
                    height: auto;
                    font-size: 16px;
                    display: inline;
                }

                .ol_time {
                    display: block;
                }
            }
        }

        .about-expo {
            padding: 0 10px;

            p {
                font-size: 16px;
                line-height: 1.8;
            }
        }


        .exhibition-scene {
            .features-body {
                width: 100%;
                margin: 0 auto;
                background-color: white;
                padding: 10px 10px;


                .feature-number {
                    line-height: 1.4;
                    margin-bottom: 10px;

                    span {
                        padding: 0 10px;
                        margin-right: 5px;
                    }
                }

                .feature-item {
                    padding: 20px 10px;
                }

                .feature-item:not(:last-child) {
                    margin-bottom: 5px;
                }
            }
        }

        .exhibit-benefits {
            padding: 20px 10px;
            padding-bottom: 20px !important;

            .benefits-body {

                width: 100%;
                padding: 20px 10px;

                .benefit-item {
                    .benefit-title {
                        font-size: 18px;
                        flex-direction: column;
                    }
                }
            }

            .benefits-title {
                margin-bottom: 20px !important;
            }
        }


    }



}


/* ========================================
   ハンバーガーメニュー（モバイル用）
   ======================================== */

/* ハンバーガーボタン - PC時は非表示 */
.hamburger-btn {
    display: none;
}

/* モバイルメニューオーバーレイ - 初期状態は非表示 */
.mobile-menu-overlay {
    display: none;
}

/* モバイル用スタイル */
@media only screen and (max-width: 768px) {

    /* ハンバーガーボタン */
    .hamburger-btn {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        position: fixed;
        top: 10px;
        right: 10px;
        width: 50px;
        height: 50px;
        padding: 10px;
        background-color: #aaabab;
        border: none;
        border-radius: 8px;
        cursor: pointer;
        z-index: 1001;
        /* box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); */
        transition: background-color 0.3s ease;
    }

    .hamburger-btn:hover {
        background-color: #aaabab;
    }

    .hamburger-line {
        display: block;
        width: 24px;
        height: 3px;
        background-color: white;
        border-radius: 2px;
        transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
    }

    .hamburger-line:nth-child(1) {
        top: 14px;
    }

    .hamburger-line:nth-child(2) {
        top: 50%;
        transform: translate(-50%, -50%);
    }

    .hamburger-line:nth-child(3) {
        bottom: 14px;
    }

    /* ハンバーガーボタン - アクティブ状態（X印） */
    .hamburger-btn.active .hamburger-line:nth-child(1) {
        top: 50%;
        transform: translate(-50%, -50%) rotate(45deg);
    }

    .hamburger-btn.active .hamburger-line:nth-child(2) {
        opacity: 0;
        transform: translate(-50%, -50%) scaleX(0);
    }

    .hamburger-btn.active .hamburger-line:nth-child(3) {
        top: 50%;
        bottom: auto;
        transform: translate(-50%, -50%) rotate(-45deg);
    }

    /* モバイルメニューオーバーレイ */
    .mobile-menu-overlay {
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.6);
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s ease, visibility 0.3s ease;
        z-index: 999;
    }

    .mobile-menu-overlay.active {
        opacity: 1;
        visibility: visible;
    }

    /* モバイル用ナビゲーションメニュー */
    #menu.gnavi {
        display: block !important;
        position: fixed !important;
        top: 0;
        right: -100%;
        width: 90%;
        max-width: 330px;
        height: 100vh;
        background: white !important;
        z-index: 1000;
        overflow-y: auto;
        transition: right 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        box-shadow: -5px 0 20px rgba(0, 0, 0, 0.15);
        padding-top: 70px;
    }

    .gnavi.active {
        right: 0 !important;
    }

    .gnavi ul#dropmenu {
        display: flex !important;
        flex-direction: column;
        padding: 0;
        margin: 0;
        background: white !important;
        border: none;
        height: auto !important;
    }

    .gnavi ul#dropmenu li {
        width: 100%;
        border-bottom: 1px solid #e5e5e5;
        opacity: 0;
        transform: translateX(30px);
        transition: opacity 0.3s ease, transform 0.3s ease;
        background: white !important;
    }

    .gnavi.active ul#dropmenu li {
        opacity: 1;
        transform: translateX(0);
    }

    /* メニューアイテムのスタガードアニメーション */
    .gnavi.active ul#dropmenu li:nth-child(1) { transition-delay: 0.05s; }
    .gnavi.active ul#dropmenu li:nth-child(2) { transition-delay: 0.1s; }
    .gnavi.active ul#dropmenu li:nth-child(3) { transition-delay: 0.15s; }
    .gnavi.active ul#dropmenu li:nth-child(4) { transition-delay: 0.2s; }
    .gnavi.active ul#dropmenu li:nth-child(5) { transition-delay: 0.25s; }
    .gnavi.active ul#dropmenu li:nth-child(6) { transition-delay: 0.3s; }
    .gnavi.active ul#dropmenu li:nth-child(7) { transition-delay: 0.35s; }
    .gnavi.active ul#dropmenu li:nth-child(8) { transition-delay: 0.4s; }

    .gnavi ul#dropmenu li a,
    .gnavi ul#dropmenu li span {
        display: flex;
        align-items: center;
        padding: 10px 10px !important;
        color: #333;
        text-decoration: none;
        font-size: 15px;
        font-weight: 500;
        line-height: 1.4;
        transition: background-color 0.2s ease, padding-left 0.2s ease;
    }
    .gnavi ul#dropmenu li.nav-home span {
        color: #fff;
    }

    .gnavi ul#dropmenu li a:hover,
    .gnavi ul#dropmenu li a:active {
        background-color: #f5f5f5;
        padding-left: 25px !important;
    }

    .gnavi ul#dropmenu li.nav-home a {
        background-color: var(--main-color);
        color: white;
    }

    .gnavi ul#dropmenu li.nav-home a:hover {
        background-color: #003366;
    }

    .gnavi ul#dropmenu li.nav-home a img {
        width: 20px;
        height: auto;
        margin-right: 10px;
        filter: brightness(10);
    }

    .gnavi ul#dropmenu li.nav-first span.stitle {
        display: inline-block;
        background-color: #EA5550;
        color: white;
        font-size: 11px;
        padding: 2px 6px;
        border-radius: 3px;
        /* margin-right: 8px; */
        flex-shrink: 0;
    }

    .gnavi ul#dropmenu li.nav-mobile {
        display: block !important;
    }

    .gnavi ul#dropmenu li.nav-sns_ig a::before,
    .gnavi ul#dropmenu li.nav-sns_fb a::before {
        content: '';
        display: inline-block;
        width: 20px;
        height: 20px;
        margin-right: 10px;
        background-size: contain;
        background-repeat: no-repeat;
    }

    .gnavi ul#dropmenu li.nav-sns_ig a::before {
        background-image: url('/img/ic_instagram.svg');
    }

    .gnavi ul#dropmenu li.nav-sns_fb a::before {
        background-image: url('/img/ic_facebook.svg');
    }

    /* 外部リンクアイコン */
    .gnavi ul#dropmenu li a .target_icon {
        width: 12px;
        height: auto;
        margin-left: 5px;
        display: none;
    }

    /* body固定（メニュー開いた時のスクロール防止） */
    body.menu-open {
        overflow: hidden;
        position: fixed;
        width: 100%;
    }
}

/* 2列画像表示 */
.feature-image-2col {
    display: flex;
    gap: 20px;
    justify-content: center;
    flex-wrap: wrap;
}

.feature-image-2col img {
    width: calc(50% - 10px);
    max-width: 450px;
}

@media screen and (max-width: 768px) {
    .feature-image-2col img {
        width: 100%;
        max-width: none;
    }
}

/* スマホ用アンカーリンク位置調整（固定ヘッダー対応） */
@media screen and (max-width: 768px) {
    #about-expo,
    #exhibitor-info {
        scroll-margin-top: 100px;
    }
}