@charset "utf-8";

#outline,
#reserve,
#campany,
#footer {
	page-break-before: always;
}
#outline { page-break-after: always; }

.show--sp { display: none; }
.none { opacity: 1!important; }

/* COMMON */
.inner { width: 1100px; }
.col--2 .flexItem { width: 48%; }

/* MAIN VISUAL */
#mainvisual {
    position: relative;
    background: url("../img/top/mainvisual_bg.png") top center no-repeat;
    background-size: auto 100%;
    min-height: 630px;
    width: 1240px;
    margin: auto;
}
#eventLogo {
    width: 786px;
    margin-left: auto;
    margin-right: auto;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}
.talkArea {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 904px;
    display: flex;
    justify-content: space-evenly;
    flex-direction: row-reverse;
}

/* COPY */
.copy { display: flex; align-items: center; justify-content: center; margin-bottom: 32px; }
.line01, .line02 { display: block; }
.line01 { width: 362px; }
.line02 { width: 490px; margin-left: 80px; }
.free { margin-left: 24px; }

.schedule { margin-bottom: 20px; }

/* ---------- 会場 ---------- */
dl.venue { padding: 12px 24px; }
dl.venue dd { width: 80%; }
dl.venue dd > div { width: 64%; }
dl.venue dd > figure { width: 32%; margin-left: 20px; }

/* 参加対象 */
.practicals > div { width: 46%; }
.practicals .ttlStyle01 {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
    margin: auto;
}

/* 概要 */
.outlineArea dl dd > div:first-child { width: 65%; }
.outlineArea dl dd > div:last-child { width: 30%; }
.outlineArea dl dd { padding-top: 40px; }

/* 出展企業 */
#campany { padding-top: 40px; }
dl.campanyBox { width: 47%; }
dl.campanyBox dt { height: 110px; }

/* FLOAT BUTTON */
#btnFloat { right: 32px; top: 0; transition: top 1s; }
#btnFloat.active { top: 0; }

#btnFloat div:first-child a {
    background: url('../img/common/btn_reserve.png') left top no-repeat;
    background-size: contain;
    width: 125px;
    height: 33px;
    text-indent: -999px;
    overflow: hidden;
    transition: all 1s;
}
#btnFloat div:first-child a:hover {
    background: url('../img/common/btn_reserve.png') left top no-repeat;
}
#btnFloat div:last-child a {
    background: url('../img/common/btn_campany.png') left top no-repeat;
    background-size: contain;
    width: 125px;
    height: 33px;
    text-indent: -999px;
    overflow: hidden;
    transition: all 1s;
}
#btnFloat div:last-child a:hover {
    background: url('../img/common/btn_campany.png') left top no-repeat;
}
#btnFloat div:not(:last-child) {
    margin-right: 10px;
}

/* FOOTER */
#footer div.inner > div { float: left; }
#footer div.inner > div:first-child { width: 10%; margin-right: 4%; }
#footer div.inner > div:last-child { width: 80%; }



/* ---------- 参加予約について ---------- */
#reserve { padding-top: 40px; }

#reserve .flexBox > .flexItem { 
    width: 49%; 
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
}
#reserve .flexBox > .flexItem > div.ttl + div { 
    height: 82%;
    margin-bottom: auto;
}

.practicals { width: 100%; margin-left: auto; margin-right: auto; }