.fair-area { width: 980px; margin: 2em auto 0;}

.catcharea-waku {background-image: url('https://www.tphd.co.jp/wp-content/themes/template/images/geospatial-fair-2025-kansai/catcharea-image-bg.png'); width:100%; background-size: cover; margin-bottom: 2em;}

.catcharea {width: 100%; margin: 2em;}
.catcharea .icon-area {display: flex; justify-content: right; align-items: center;}
.catcharea img.icon {width: 15%; max-width: 50px; margin: 10px 10px;}
.catcharea img.ttl {width: 90%; max-width: 750px; margin: 0 2em;}
.catcharea img.ttl_sub {width: 45%; max-width: 450px; margin: 0 2em;}

.aisatu {max-width: 980px;}
.aisatu p {font-size: 1.23em; line-height: 1.8; text-align: left;}
img.fukei {width:100%; object-fit:cover; object-position:50% 50%; margin: 1em auto;}
.enter_free {border: 1px solid #5e5e5e; background-color: #e1e1e1; font-size: .6em !important; font-weight: normal !important; white-space: nowrap; border-radius: 4px; padding: 3px 10px; margin: 0 0 0 20px; vertical-align:top;}

.gaiyou {width: 52%; font-size: 1.6em; margin-bottom: .5em;}
dl.smn-info-2 { display:flex; flex-wrap: wrap; margin:1em auto 2em; font-weight: 800; line-height: 1.4em;}
dl.smn-info-2 dt { display:inline-block; width:30%; margin: 0; padding:4px 1em 4px 0; box-sizing: border-box; text-align-last: justify;}
dl.smn-info-2 dd { display:inline-block; width:70%; margin: 0; padding:4px 0 4px 0; box-sizing: border-box;}
dl.smn-info-2 dd::before { content: ":"; padding-right: 1em;}

dl.fair_info { display:flex; flex-wrap: wrap; width:100%; margin:0em auto; font-size: 1.15em; line-height: 1.4em;}
dl.fair_info dt { float: none; display:inline-block; width:100px; margin: 0; padding:3px 0 0px; box-sizing: border-box;}
dl.fair_info dt span {background-color:#000; color:#fff; padding: 5px;}
dl.fair_info dd { display:inline-block; width:calc(100% - 100px); margin: 0; padding:3px 0 0px; box-sizing: border-box;}
dl.fair_info dd:first-of-type {padding:3px 0 25px;}
dl.fair_info dt div, dl.fair_info dd div { display:inline-block; font-size: .9em;}
dl.fair_info dd span { font-family: 'Roboto', 'Noto Sans JP', sans-serif; font-size: 2.2em; font-weight: bold;}
dl.fair_info.ks dt { float: none; display:inline-block; width:120px; margin: 0; padding:3px 0 0px; box-sizing: border-box;}
dl.fair_info.ks dd { display:inline-block; width:calc(100% - 120px); margin: 0; padding:3px 0 15px; box-sizing: border-box;}
dl.fair_info.ks dd:first-of-type {padding:3px 0 15px;}
dl.fair_info.ks dd span { font-family: 'Roboto', 'Noto Sans JP', sans-serif; font-size: 1.8em; font-weight: bold;}
dl.fair_info dd span.access-map { font-family:inherit; font-size: .8em; font-weight: normal;}

.technology_seminar-waku {background-image: url('https://www.tphd.co.jp/wp-content/themes/template/images/geospatial-fair-2025-kansai/seminar-image-bg.jpg');background-color:rgba(255,255,255,0.5); background-blend-mode:lighten; width:100%; background-size: cover; margin-top: 3em; margin-bottom: 3em; justify-content:center;}
.system_exhibition_and_demonstration {background-image: url('https://www.tphd.co.jp/wp-content/themes/template/images/geospatial-fair-2025-kansai/demo-image-bg.png');background-color:rgba(255,255,255,0.5); background-blend-mode:lighten; width:100%; background-size: cover; margin-top: 3em; margin-bottom: 3em; justify-content:center;}
.technology_seminar {margin: 2.5em 10px 1.5em;}
.technology_seminar p {font-size: 2em; line-height: 1.2; color: #000; text-shadow: #fff 1px 0 2px;}
.technology_seminar .picktxt {display: inline-block; padding: 0; font-weight:bolder; text-align: center;}

.proposal_theater {max-width: 1080px; padding: 15px 30px; box-sizing: border-box; margin: 0 auto;}
.proposal_theater .session {display: flex; align-items: flex-start; margin-bottom: 30px;}
.proposal_theater .session-number {font-size: 2em; font-weight: 700; color: #fff; background-color: #f08a00; padding: 10px 15px; border-radius: 5px; margin-right: 20px; display: flex; align-items: center; justify-content: center; min-width: 60px; box-sizing: border-box;}
.proposal_theater .session-number.two {background-color: #e62e6e;}
.proposal_theater .session-number.three {background-color: #f7d200;}
.proposal_theater .session-details {flex-grow: 1;}
.proposal_theater .session-time {font-size: 1.3em; font-weight: 700; margin-bottom: 15px; color: #000; padding-bottom: 10px; border-bottom: 1px solid #ddd;}
.proposal_theater .session-title {font-size: 1.5em; font-weight: 700; margin-bottom: 5px; color: #333;}
.proposal_theater .session-subtitle {font-size: 1.1em; color: #4169e1; margin-bottom: 10px;}
.proposal_theater .session-notes {font-size: 0.95em; color: #666; margin-top: 5px;}

.modal.oversize_pic { max-width:780px;}
.modal.oversize_pic img { width:100%; height:auto;}

@media  screen and (max-width:979px) {
    .fair-area { width: 100%;}
    .catcharea {width: 100%; margin: 1em;}
    .catcharea .icon-area {display: flex; justify-content: right; align-items: center;}
    .aisatu p { font-size: 1em; line-height: 1.8; text-align: left;}
    .aisatu br {display: none;}
    .gaiyou {width: 50%; font-size: 1.7vw;}
    dl.smn-info-2 { font-size: 1.3em;}
    dl.smn-info-2 dt { width:25%;}
    dl.smn-info-2 dd { width:75%;}
    dl.fair_info dd {margin-top: -15px;}
    dl.fair_info dd span {font-size: 4vw; line-height: 1.4;}
    dl.fair_info.ks dd {width:100%; margin:0px 0 0;}
    dl.fair_info.ks dd span {font-size: 4vw; line-height: 1.4;}
    .proposal_theater {padding: 15px 10px;}
    .proposal_theater .session {flex-direction: column; align-items: flex-start;}
    .proposal_theater .session-number {margin-right: 0; margin-bottom: 15px; width: 100%; text-align: center;}
}
@media screen and (max-width: 640px) {
    .catcharea img.icon {width: 10%;}
    .catcharea img.ttl, .catcharea img.ttl_sub {margin: 0 auto;}
    .gaiyou {width: 100%; font-size: 2.8vw;}
    .technology_seminar {font-size: 3vw;}
    #fair_info dt { float:none; width:100% ; padding:3px 0 0 0px;}
    #fair_info dd { margin-left:0px; padding:0px; margin-bottom:2em; font-size:1em;}
}
@media screen and (max-width:376px) {
    .readarea {font-size: 1em; margin-bottom: 0em;}
    .gaiyou {width: 100%; font-size: 3vw;}
    dl.fair_info dd, dl.fair_info.ks dd {margin-top: 10px;}
    dl.fair_info dt, dl.fair_info dd { width:100%;}
    dl.fair_info.ks dd span {font-size: 5vw; line-height: 1.4;}
}