@CHARSET "UTF-8";

@import url(https://fonts.googleapis.com/css?family=Lato:400,700);
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);

/* フォント設定 */
@font-face {
  	font-family: 'KozGo';
  	src: url(../fonts/KozGoPr6N-Regular.otf);
}
@font-face {
  	font-family: 'KozGoBold';
  	src: url(../fonts/KozGoPro-Bold.otf);
}
@font-face {
  	font-family: 'KozGoReg';
  	src: url(../fonts/KozGoPro-Regular.otf);
}
@font-face {
  	font-family: 'KakuGoW3';
  	src: url(../fonts/HiraginoKakugoW3.ttc);
}
@font-face {
  	font-family: 'KakuGoW6';
  	src: url(../fonts/HiraginoKakugoW6.ttc);
}

/* 全体 */
html {
    overflow: auto;
}

body {
    font-family: Lato, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    overflow-x: hidden;
    width: 100%;
}

a {
    word-break: break-all;
}

.wrap {
    position: relative;
    width: 92%;
    margin: auto;
}

img.underline {
    display: block;
    margin-top: 5px;
}

p.indent {
    margin: 0;
    text-indent: -1em;
    margin-left: 1em;
}

.red {
    color: #ff0000;
}

a.disabled {
    cursor: initial;
    pointer-events: none;
}
a.disabled img {
    opacity: 0.6;
}

right {
    display: block;
    text-align: right;
}

/* ヘッダー関連 */
.header {
    position: relative;
}
.header .header-image {
    width: 100%;
}
.header h1 {
    margin: 0;
    padding: 0 15px;
    position: relative;
}
.header h1 .logo {
    width: 7vw;
    float: left;
}
.header h1 p.site-title {
    font-family: KakuGoW6;
    margin: 0;
    font-size: 2.5vw;
    padding: 0.7vw 0 0.5vw 8.5vw;
}
.header h1 a {
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    clear: left;
}
.header h1 p.site-title:after {
    content: "";
    display: block;
    clear: both;
}
.header .poster-lists div {
    padding: 0;
    margin: 0;
}

.web-movie-button-wrap {
    position: absolute;
    bottom: 24vw;
    right: 10px;
    width: 48%;
}
.web-movie-button-wrap .row {
    margin-bottom: 10px;
    margin-right: -5px;
    margin-left: -5px;
}
.web-movie-button-wrap .row .col-xs-12,
.web-movie-button-wrap .row .col-xs-6 {
    padding-right: 5px;
    padding-left: 5px;
}

/* グローバルメニュー関連 */
ul.global-menu {
    list-style: none;
    padding: 0;
    margin: 20px 0 0;
}
ul.global-menu li {
    border: 1px solid #0867AD;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -o-border-radius: 5px;
    margin-bottom: 5px;
}
ul.global-menu li a {
    display: block;
    width: 100%;
    height: 100%;
    padding: 10px;
    text-decoration: none;
    position: relative;
    color: #000;
    font-family: KozGoBold;
    padding-left: 30px;
}
ul.global-menu li a:before {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border: 5px solid transparent;
    border-left: 8px solid #0867AD;
    top: 50%;
    left: 15px;
    margin-top: -5.5px;
}
ul.global-menu li a:hover {
    background: #b2dfff;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -o-border-radius: 5px;
}
ul.global-menu li.active a {
    background: #0867AD;
    color: #fff;
}
ul.global-menu li.active a:hover {
    border-radius: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -o-border-radius: 0;
}
ul.global-menu li.active a:before {
    border-left-color: #fff;
}
ul.global-menu li.disabled {
    border-color: #C9CACA;
}
ul.global-menu li.disabled a {
    color: #C9CACA;
    cursor: default;
}
ul.global-menu li.disabled a:before {
    border-left-color: #C9CACA;
}
ul.global-menu li.disabled a:hover {
    background: #fff;
}

/* ドロワーメニュー関連 */
.overlay {
    content: "";
    display: block;
    width: 0;
    height: 0;
    background-color: rgba(255, 255, 255, 0.8);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 101;
    opacity: 0;
    transition: opacity .5s;
}
.overlay.open {
    width: 100%;
    height: 100%;
    opacity: 1;
}
main {
    height: 100%;
    min-height: 100vh;
    padding: 0 50px;
    background-color: #eee;
    transition: all .5s;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
main.open {
    transform: translateX(-250px);
}
main h1 {
    text-align: center;
    font-weight: 500;
}
main p {
    text-align: center;
}
.menu-trigger {
    display: inline-block;
    width: 34px;
    height: 22px;
    vertical-align: middle;
    cursor: pointer;
    position: absolute;
    top: 15px;
    left: 10px;
    z-index: 103;
}
.menu-trigger.active {
    position: fixed;
}
.menu-trigger span {
    display: inline-block;
    box-sizing: border-box;
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #0867AD;
    transition: all .5s;
}
.menu-trigger p {
    position: absolute;
    bottom: -16px;
    left: 0;
    margin: 0;
    font-size: 8px;
    font-family: KozGo;
    color: #0867AD;
    letter-spacing: 2.1px;
}
.menu-trigger p.active {
    display: none;
}
.menu-trigger span:nth-of-type(1) {
    top: 0;
}
.menu-trigger.active span:nth-of-type(1) {
    transform: translateY(12px) rotate(-45deg);
    top: -4px;
}
.menu-trigger span:nth-of-type(2) {
    top: 10px;
}
.menu-trigger.active span:nth-of-type(2) {
    opacity: 0;
}
.menu-trigger span:nth-of-type(3) {
    bottom: 0;
}
.menu-trigger.active span:nth-of-type(3) {
    transform: translateY(-12px) rotate(45deg);
}

nav {
    width: 100%;
    height: 100%;
    padding-top: 80px;
    background-color: rgb(255, 255, 255, 0.8);
    position: fixed;
    top: 0;
    right: 0;
    z-index: 102;
    transform: translate(-100%);
    transition: all .5s;
}
nav.open {
    transform: translateZ(0);
}
nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    width: 96%;
    margin: auto;
    border-bottom: 1px solid #0867AD;
}
nav li {
    position: relative;
    padding: 8px 0 8px 36px;
    color: #000;
    vertical-align: middle;
    position: relative;
    border-top: 1px solid #0867AD;
}
nav li.spacing {
    letter-spacing: 5px;
}
nav li a {
    color: #0867AD;
    font-family: KozGoBold;
    font-size: 18px;
    display: block;
    text-decoration: none;
}
nav li .icon {
    width: 20px;
    height: 20px;
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -10px;
    left: 8px;
    border: 2px solid #0867AD;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -o-border-radius: 50%;
}
nav li .icon:before, nav li .icon:after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}
nav li .icon:before {
    left: 8px;
    box-sizing: border-box;
    width: 5px;
    height: 5px;
    border: 5px solid transparent;
    border-left: 5px solid #0867AD;
}
nav li .icon:after {
    left: 4px;
    width: 6px;
    height: 4px;
    border-left: 4px solid #0867AD;
}
nav li:hover > a {
    color: #718CC7;
    text-decoration: none;
}
nav li:hover .icon {
    border-color: #718CC7;
}
nav li:hover .icon:before {
    border-left-color: #718CC7;
}
nav li:hover .icon:after {
    border-left-color: #718CC7;
}
nav li.disabled span {
    border-color: #C9CACA;
}
nav li.disabled span:before, nav li.disabled span:after {
    border-left-color: #CACACA;
}
nav li.disabled a {
    color: #CACACA;
}
nav li.disabled:hover .icon {
    border-color: #CACACA;
}
nav li.disabled:hover .icon:before, nav li.disabled:hover .icon:after {
    border-left-color: #CACACA;
}

/* トップページ関連 */
.contents {
    margin-top: 30px;
}
.contents h2.news-title {
    font-family: KozGoPro;
    font-size: 20px;
    margin: 0;
}
.contents .fixed-message-wrap {
    border: 2px solid #0666ad;
    margin: 20px 0;
    padding: 10px;
}
.contents .fixed-message-wrap p {
    margin: 0;
    font-family: KozGoPro;
    font-size: 16px;
}
.contents .news-wrap {
    margin: 20px 0;
    min-height: 270px;
}
.contents .news-wrap ul {
    padding: 0;
    list-style: none;
    margin: 0;
}
.contents .news-wrap ul li {
    margin-bottom: 10px;
}
.contents .news-wrap ul li a,
.contents .news-wrap ul li dl {
    color: #000;
    font-family: KozGoReg;
}
.contents .news-wrap ul li a span,
.contents .news-wrap ul li dl span {
    color: #0867AD;
    font-family: KozGoBold;
    display: inline-block;
    margin-right: 20px;
}

/* 下層ページ関連 */
.marker {
    background-color: Yellow;
}

.news-contents-wrap {
    margin: 20px auto 50px;
    min-height: 440px;
    line-height: 1;
    font-size: 16px;
}
.news-contents-wrap a {
    font-size: 16px;
    text-decoration: underline;
}

.contents h2.news-title span {
    font-family: KozGoBold;
    font-size: 16px;
    font-weight: bold;
    color: #0667AD;
    display: inline-block;
    margin-right: 10px;
}

.poster-lists.subpage {
    position: absolute;
    top: 1.5vw;
    right: 4vw;
    width: 50%;
}
.poster-lists.subpage .row {
    margin-right: -2px;
    margin-left: -2px;
}
.poster-lists.subpage .row div[class^=col-] {
    padding-right: 2px;
    padding-left: 2px;
}

.events-wrap {
    margin: 20px 0 30px;
}
.events-wrap table {
    width: 100%;
    table-layout: fixed;
}
.events-wrap th, .events-wrap td {
    padding: 10px 0;
}
.events-wrap th {
    font-family: KozGoBold;
    font-size: 16px;
    width: 200px;
}
.events-wrap td {
    font-family: KozGoReg;
    font-size: 16px;
}

.dt-line {
    position: relative;
    height: 1px;
    margin-top: 10px;
}
.dt-line:before {
    content: "";
    background-image: linear-gradient(to right, #000, #000 1px, transparent 1px, transparent 4px);
    background-size: 4px 1px;
    background-repeat: repeat-x;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
.events-wrap td .dt-line:before {
    background-image: linear-gradient(to right, transparent, transparent 3px, #000 3px, #000 4px);
    left: -3px;
    width: calc(100% + 3px);
}

p.page-contents {
    margin: 20px 0 30px;
    font-family: KozGoReg;
    line-height: 1.8;
    font-size: 16px;
}

p.page-alert-wrap {
    font-family: KozGoReg;
    padding: 15px 30px;
    margin: 20px 0 30px;
    border: 1px solid #E60012;
    line-height: 1.8;
}

.header.area {
    position: relative;
}
.header.area h1 {
    position: absolute;
    top: 50%;
    left: 0;
}
.header.area .area-poster {
    position: absolute;
    top: 1.8vw;
    right: 4%;
    width: 11vw;
}
.header.area h1 p.site-title span.top {
    font-size: 1.8vw;
}
.header.area h1 p.site-title span.bottom {
    font-size: 2vw;
}
.header.area .area-description-wrap {
    position: absolute;
    bottom: 1.8vw;
    left: 50%;
}
.header.area .area-description-wrap table {
    table-layout: fixed;
}
.header.area .area-description-wrap th, .area-description-wrap td {
    padding: 3px 5px;
    font-size: 0.9vw;
}
.header.area .area-description-wrap th {
    color: #fff;
    font-family: KozGoBold;
    font-weight: normal;
}
.header.area .area-description-wrap th div {
    padding: 2px 8px;
}
.header.area._hokkaido_tohoku .area-description-wrap th div {
    background: #0068B7;
}
.header.area._kanto_tokyo .area-description-wrap th div {
    background: #00A0E9;
}
.header.area._tokai_hokuriku .area-description-wrap th div {
    background: #45B035;
}
.header.area._kansai .area-description-wrap th div {
    background: #009E96;
}
.header.area._chugoku_shikoku .area-description-wrap th div {
    background: #FABE00;
}
.header.area._kyusyu .area-description-wrap th div {
    background: #EC6D65;
}
.header.area .area-description-wrap td {
    font-family: KozGoBold;
}

.greeting-contents-wrap {
    position: relative;
    margin-bottom: 60px;
}
.greeting-contents-wrap p.signing {
    text-align: right;
    margin: 30px 0 30px;
    font-size: 16px;
    font-family: KozGoReg;
}
.greeting-contents-wrap .return-link {
    position: absolute;
    top: 0;
    left: 0;
}
.greeting-contents-wrap .return-link a {
    font-size: 16px;
    color: #aaa;
    text-decoration: none;
    display: block;
    position: relative;
    padding-left: 22px;
}
.greeting-contents-wrap .return-link a span {
    position: absolute;
    top: -1px;
}
@media all and (-ms-high-contrast: none) {
    .greeting-contents-wrap .return-link a span {
        top: -4px;
    }
}
.greeting-contents-wrap .return-link a span.arrow1 {
    left: -6px;
}
.greeting-contents-wrap .return-link a span.arrow2 {
    left: 2px;
}
.greeting-contents-wrap .master-greeting .master-image {
    width: 200px;
    margin: 0 20px 10px 0;
    float: left;
    padding-top: 5px;
}
.greeting-contents-wrap .master-greeting p.master-contents {
    line-height: 1.8;
    font-family: KozGoReg;
    font-size: 16px;
}

.greeting-wrap {
    margin-top: 20px;
    margin-bottom: 60px;
}
.greeting-wrap .greeting-box {
    margin-bottom: 40px;
}
.greeting-wrap .greeting-box h4.area-title {
    margin-top: 0;
    background: #EFEFEF;
    color: #0667AD;
    font-family: KozGoBold;
    font-size: 16px;
    border-left: 4px solid #38A1DB;
    padding: 10px;
    margin-bottom: 15px;
}
.greeting-wrap .greeting-box .meeting-title {
    color: #0667AD;
    font-family: KozGoBold;
    font-size: 14px;
    padding-left: 4px;
    margin-bottom: 5px;
}
.greeting-wrap .greeting-box .dt-line {
    margin-top: 5px;
}
.greeting-wrap .greeting-box .greeting {
    margin-bottom: 10px;
    margin-top: 15px;
    padding-left: 5px;
}
.greeting-wrap .greeting-box .greeting p.master-name {
    margin: 0;
    font-family: KozGoReg;
}
.greeting-wrap .greeting-box .greeting a.greeting-link {
    color: #fff;
    font-family: KozGoBold;
    padding: 8px 10px 8px 20px;
    font-size: 14px;
    position: relative;
    text-decoration: none;
}
.greeting-wrap .greeting-box .greeting a.greeting-link._hokkaido_tohoku {
    background: #0068B7;
}
.greeting-wrap .greeting-box .greeting a.greeting-link._kanto_tokyo {
    background: #00A0E9;
}
.greeting-wrap .greeting-box .greeting a.greeting-link._tokai_hokuriku {
    background: #45B035;
}
.greeting-wrap .greeting-box .greeting a.greeting-link._kansai {
    background: #009E96;
}
.greeting-wrap .greeting-box .greeting a.greeting-link._chugoku_shikoku {
    background: #FABE00;
}
.greeting-wrap .greeting-box .greeting a.greeting-link._kyusyu {
    background: #EC6D65;
}
.greeting-wrap .greeting-box .greeting a.greeting-link:before {
    content: "";
    width: 8px;
    height: calc(100% - 10px);
    background: #fff;
    position: absolute;
    top: 5px;
    left: 5px;
}
.greeting-wrap .greeting-box .greeting a.greeting-link:after {
    content: "";
    width: 0;
    height: 0;
    border: 4px solid transparent;
    border-left: 4px solid #0667AD;
    position: absolute;
    left: 7px;
    top: 10px;
}
.greeting-wrap .greeting-box .greeting a.greeting-link._hokkaido_tohoku:after {
    border-left-color: #0667AD;
}
.greeting-wrap .greeting-box .greeting a.greeting-link._kanto_tokyo:after {
    border-left-color: #00A0E9;
}
.greeting-wrap .greeting-box .greeting a.greeting-link._tokai_hokuriku:after {
    border-left-color: #45B035;
}
.greeting-wrap .greeting-box .greeting a.greeting-link._kansai:after {
    border-left-color: #009E96;
}
.greeting-wrap .greeting-box .greeting a.greeting-link._chugoku_shikoku:after {
    border-left-color: #FABE00;
}
.greeting-wrap .greeting-box .greeting a.greeting-link._kyusyu:after {
    border-left-color: #EC6D65;
}

.greeting-wrap .greeting-box .about-wrap {
    padding-left: 4px;
}
.greeting-wrap .greeting-box .about-wrap table {
    width: 100%;
    table-layout: fixed;
}
.greeting-wrap .greeting-box .about-wrap th,
.greeting-wrap .greeting-box .about-wrap td {
    padding-top: 10px;
}
.greeting-wrap .greeting-box .about-wrap th {
    font-family: KozGoBold;
    width: 6em;
}
.greeting-wrap .greeting-box .about-wrap td {
    font-family: KozGoReg;
}
.greeting-wrap .greeting-box .about-wrap td a {
    color: #0666ad;
    font-family: KozGoBold;
    position: relative;
}
.greeting-wrap .greeting-box .about-wrap td a span {
    font-size: 20px;
    position: absolute;
    top: -3px;
    right: -22px;
}

.important-message-wrap {
    margin: 20px 0 30px;
    border: 2px solid #ff0000;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -o-border-radius: 4px;
}
.important-message-wrap p {
    margin-bottom: 0;
}
.important-message-wrap p.important-title {
    background: #ff0000;
    color: #fff;
    font-size: 18px;
    padding: 10px 20px;
}
.important-message-wrap p.important-message {
    padding: 10px 20px;
    background: #fff;
    text-indent: -0.8em;
    margin-left: 0.8em;
}
.important-message-wrap p.important-message a {
    color: #000;
    font-size: 18px;
}
.important-message-wrap p.important-message a:before {
    content: "●";
    display: inline-block;
    margin-right: 5px;
    top: 1px;
    color: #ff0000;
}

p.signing {
    text-align: right;
}

.greeting-box.about.hybrid p.meeting-title {
    font-size: 18px;
}
.greeting-box.about.hybrid table {
    margin-bottom: 20px;
}
.greeting-box.about.hybrid th, .greeting-box.about.hybrid td {
    font-size: 16px;
}
.greeting-box.about.hybrid th {
    width: 26em;
    padding-left: 1em;
    font-family: KozGoReg;
    font-weight: normal;
}
.greeting-box.about.hybrid th span {
    font-family: KozGoBold;
}
.greeting-box.about.hybrid p.meeting-title span {
    font-family: KozGo;
    display: inline-block;
    margin-left: 3px;
}

/* 企業・団体の皆様へ */
.prospectus {
    padding-left: 4px;
    margin-top: 10px;
}
.prospectus p.requirement,
.prospectus p.application {
    margin-bottom: 10px;
}
.prospectus p.requirement a,
.prospectus p.application a {
    color: #00A0E9;
}
.prospectus p.requirement a:before,
.prospectus p.application a:before {
    content: "・";
}
.prospectus p.requirement.disabled a,
.prospectus p.application.disabled a {
    color: #898989;
    text-decoration: none;
    cursor: initial;
}

/* 一般演題募集要項 */
.greeting-wrap.abstracts .greeting-box {
    margin-bottom: 20px;
}
.greeting-wrap.abstracts .page-contents {
    font-size: 16px;
    line-height: 1.8;
    padding-left: 10px;
    margin-bottom: 30px;
}
.greeting-wrap.abstracts .page-contents a.btn {
    margin-bottom: 10px;
}

ul.number {
    line-height: 2;
}
ul > li > ul.number {
    padding-left: 1.6em;
}
ul.number > li {
    list-style-type: none;
    counter-increment: cnt;
    position: relative;
}
ul.number > li:before {
    content: counter(cnt) "）";
    display: inline-block;
    margin-left: -1.5em;
    width: 1.5em;
}
ul.number.circle > li {
    margin-top: 5px;
}
ul.number.circle > li:before {
    content: counter(cnt);
    text-align: center;
    display: inline-block;
    margin-right: 10px;
}
ul.number.circle > li::after {
    content: "";
    border: 1px solid #000;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -o-border-radius: 50%;
    width: 26px;
    height: 26px;
    position: absolute;
    top: 3px;
    left: -1.55em;
}
ul.number.double > li:before {
    content: "（" counter(cnt) "）";
    width: 2.5em;
    margin-left: -1.8em;
}

/* 発表者・座長 */
h5.sub-title {
    font-size: 18px;
    color: #0b67ad;
    margin: 0;
    margin-bottom: 10px;
    border-bottom: 1px dotted #0b67ad;
    padding-bottom: 5px;
}
.sub-contents {
    font-size: 15px;
    line-height: 1.8;
    margin-bottom: 15px;
}

ul.dot li {
    padding: 5px 0;
}

.send-alert-wrap {
    margin-top: 15px;
}
.send-alert-wrap table {
    width: 100%;
    box-sizing: border-box;
}
.send-alert-wrap table th,
.send-alert-wrap table td {
    vertical-align: top;
    padding-bottom: 10px;
    color: #ff0000;
}
.send-alert-wrap table th {
    width: 13em;
}

.tech-support-wrap {
    border: 2px solid #000;
    margin-bottom: 50px;
    padding: 15px 10px;
    width: 420px;
    margin-left: auto;
    margin-right: auto;
}
.tech-support-wrap p.title {
    font-size: 16px;
    margin-bottom: 20px;
    text-align: center;
}
.tech-support-wrap p.body {
    margin-bottom: 0;
    font-size: 16px;
    text-align: center;
    line-height: 1.6;
}

/* バナー関連 */
.sponsor-wrap {
}
.sponsor-wrap.in-page {
    margin-bottom: 30px;
}
.sponsor-wrap .sponsor-banner a {
    display: block;
    padding-top: 5px;
    padding-bottom: 5px;
    text-decoration: none;
}
.sponsor-wrap .sponsor-banner span {
    text-decoration: none;
    display: block;
    text-align: center;
    color: #000;
    margin-bottom: 2px;
}
.sponsor-wrap .sponsor-banner .row {
    margin-right: -10px;
    margin-left: -10px;
}
.sponsor-wrap .sponsor-banner [class^=col-] {
    padding-right: 10px;
    padding-left: 10px;
}
.sponsor-wrap .sponsor-banner a {
    display: block;
    -webkit-box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.2);
    box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.2);
    -webkit-transition: all 0.25s ease-in-out;
    transition: all 0.25s ease-in-out;
}
.sponsor-wrap .sponsor-banner a:hover {
    -webkit-box-shadow: 0 14px 20px rgba(0,0,0,0.3), 0 10px 12px rgba(0,0,0,0.22);
    box-shadow: 0 14px 20px rgba(0,0,0,0.3), 0 10px 12px rgba(0,0,0,0.22);
}
.sponsor-banner.in-page {
    margin-bottom: 30px;
}
.sponsor-banner.in-page .sponsor-banner-box {
    margin-bottom: 15px;
}
.sponsor-banner.in-page .sponsor-banner-box.blue a {
    background: #024b88;
}

/* 参加者へのご案内 */
.in-page-menu-wrap {
    margin-bottom: 20px;
}
.in-page-menu-wrap .main-menu {
    margin-bottom: 5px;
}
.in-page-menu-wrap .main-menu a {
    color: #036EB8;
    /*border: 1px solid #036EB8;*/
    padding: 4px;
    font-size: 16px;
    display: inline-block;
    margin-bottom: 0;
    text-decoration: none;
}
.in-page-menu-wrap .main-menu a:before {
    content: "▶︎";
    display: inline-block;
    font-size: 11px;
    position: relative;
    top: -2px;
    margin-right: 5px;
}
.in-page-menu-wrap .main-menu .sub-menu {
    margin-left: 22px;
}
.in-page-menu-wrap .main-menu .sub-menu a {
    color: #2EA7E0;
    border-color: #2EA7E0;
    display: inline-block;
    margin-right: 5px;
}
.in-page-menu-wrap .main-menu > a:hover {
    background: #036EB8;
    color: #fff;
}
.in-page-menu-wrap .main-menu .sub-menu a:hover {
    background: #2EA7E0;
    color: #fff;
}

.sub-contents-table {
    margin: 15px 0;
}
.sub-contents-table table {
    border-top: 1px solid #0667AD;
    border-left: 1px solid #0667AD;
}
.sub-contents-table table td {
    border-bottom: 1px solid #0667AD;
    border-right: 1px solid #0667AD;
    text-align: center;
    padding: 5px 15px;
}

p.sanka-title {
    border: 2px solid #036EB8;
    display: inline-block;
    padding: 6px 12px;
    font-size: 16px;
    color: #036EB8;
    font-weight: bold;
    margin-top: 20px;
}

/* タイムテーブル */
.timetable-menu-wrap {
    margin-bottom: 10px;
}
.timetable-menu-wrap .col-sm-4 {
    margin-bottom: 15px;
}
.timetable-menu-wrap a.timetable-menu {
    display: block;
    border: 1px solid #2EA7E0;
    text-align: center;
    padding: 8px;
    color: #000;
    text-decoration: none;
    border-radius: 2vw;
    -webkit-border-radius: 2vw;
    -moz-border-radius: 2vw;
    -o-border-radius: 2vw;
    position: relative;
}
.timetable-menu-wrap a.timetable-menu:before {
    content: "";
    width: 26px;
    height: 26px;
    background: #2EA7E0;
    position: absolute;
    top: 50%;
    left: 8px;
    margin-top: -13px;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -o-border-radius: 50%;
}
.timetable-menu-wrap a.timetable-menu:after {
    content: "";
    width: 8px;
    height: 8px;
    top: 50%;
    left: 17px;
    border-left: 1px solid #fff;
    border-bottom: 1px solid #fff;
    position: absolute;
    transform: rotate(-45deg);
    margin-top: -5px;
}
.timetable-menu-wrap a.timetable-menu:hover {
    background-color: rgba(46, 167, 224, 0.2);
}
.timetable-menu-wrap a.timetable-menu.active {
    background-color: #2EA7E0;
    color: #fff;
}
.timetable-menu-wrap a.timetable-menu.active:before {
    background: #fff;
}
.timetable-menu-wrap a.timetable-menu.active:after {
    border-left-color: #2EA7E0;
    border-bottom-color: #2EA7E0;
}

.timetable-menu-wrap a.timetable-menu._kanto_tokyo {
    border-color: #00A4BD;
}
.timetable-menu-wrap a.timetable-menu._kanto_tokyo:before {
    background-color: #00A4BD;
}
.timetable-menu-wrap a.timetable-menu._kanto_tokyo:hover {
    background-color: rgba(0, 164, 189, 0.2);
}
.timetable-menu-wrap a.timetable-menu._kanto_tokyo.active {
    background-color: #00A4BD;
    color: #fff;
}
.timetable-menu-wrap a.timetable-menu._kanto_tokyo.active:before {
    background: #fff;
}
.timetable-menu-wrap a.timetable-menu._kanto_tokyo.active:after {
    border-left-color: #00A4BD;
    border-bottom-color: #00A4BD;
}

.timetable-menu-wrap a.timetable-menu._tokai_hokuriku {
    border-color: #8FC31F;
}
.timetable-menu-wrap a.timetable-menu._tokai_hokuriku:before {
    background-color: #8FC31F;
}
.timetable-menu-wrap a.timetable-menu._tokai_hokuriku:hover {
    background-color: rgba(143, 195, 31, 0.2);
}
.timetable-menu-wrap a.timetable-menu._tokai_hokuriku.active {
    background-color: #8FC31F;
    color: #fff;
}
.timetable-menu-wrap a.timetable-menu._tokai_hokuriku.active:before {
    background: #fff;
}
.timetable-menu-wrap a.timetable-menu._tokai_hokuriku.active:after {
    border-left-color: #8FC31F;
    border-bottom-color: #8FC31F;
}

.timetable-menu-wrap a.timetable-menu._kansai {
    border-color: #F08441;
}
.timetable-menu-wrap a.timetable-menu._kansai:before {
    background-color: #F08441;
}
.timetable-menu-wrap a.timetable-menu._kansai:hover {
    background-color: rgba(240, 132, 65, 0.2);
}
.timetable-menu-wrap a.timetable-menu._kansai.active {
    background-color: #F08441;
    color: #fff;
}
.timetable-menu-wrap a.timetable-menu._kansai.active:before {
    background: #fff;
}
.timetable-menu-wrap a.timetable-menu._kansai.active:after {
    border-left-color: #F08441;
    border-bottom-color: #F08441;
}

.timetable-menu-wrap a.timetable-menu._chugoku_shikoku {
    border-color: #EB6D9A;
}
.timetable-menu-wrap a.timetable-menu._chugoku_shikoku:before {
    background-color: #EB6D9A;
}
.timetable-menu-wrap a.timetable-menu._chugoku_shikoku:hover {
    background-color: rgba(235, 109, 154, 0.2);
}
.timetable-menu-wrap a.timetable-menu._chugoku_shikoku.active {
    background-color: #EB6D9A;
    color: #fff;
}
.timetable-menu-wrap a.timetable-menu._chugoku_shikoku.active:before {
    background: #fff;
}
.timetable-menu-wrap a.timetable-menu._chugoku_shikoku.active:after {
    border-left-color: #EB6D9A;
    border-bottom-color: #EB6D9A;
}

.timetable-menu-wrap a.timetable-menu._kyusyu {
    border-color: #915DA3;
}
.timetable-menu-wrap a.timetable-menu._kyusyu:before {
    background-color: #915DA3;
}
.timetable-menu-wrap a.timetable-menu._kyusyu:hover {
    background-color: rgba(145, 93, 163, 0.2);
}
.timetable-menu-wrap a.timetable-menu._kyusyu.active {
    background-color: #915DA3;
    color: #fff;
}
.timetable-menu-wrap a.timetable-menu._kyusyu.active:before {
    background: #fff;
}
.timetable-menu-wrap a.timetable-menu._kyusyu.active:after {
    border-left-color: #915DA3;
    border-bottom-color: #915DA3;
}

.time-table-wrap {
    overflow-x: scroll;
}
.time-table-wrap table {
    width: 100%;
    border-top: 1px solid #000;
    border-left: 1px solid #000;
    min-width: 1200px;
}
.time-table-wrap table th,
.time-table-wrap table td {
    border-right: 1px solid #000;
    border-bottom: 1px solid #000;
    padding: 6px 10px;
}
.time-table-wrap table th {
    background-color: #BAE3F9;
    text-align: center;
    font-size: 12px;
}
.time-table-wrap table th.pink {
    background-color: #F7C9DD;
}
.time-table-wrap table th.yellow {
    background-color: #FFE893;
}

.time-table-wrap.nomination table th:nth-child(1) {
    width: 110px;
}
.time-table-wrap.nomination table th:nth-child(2) {
    width: 120px;
}
.time-table-wrap.nomination table th:nth-child(4) {
    width: 60px;
}
.time-table-wrap.nomination table th:nth-child(5) {
    width: 120px;
}

.time-table-wrap.seminar table th:nth-child(1) {
    width: 100px;
}
.time-table-wrap.seminar table th:nth-child(3) {
    width: 120px;
}
.time-table-wrap.seminar table th:nth-child(5) {
    width: 60px;
}
.time-table-wrap.seminar table th:nth-child(6) {
    width: 120px;
}

.time-table-wrap.special table {
    min-width: 1400px;
}


/* フッター関連 */
.footer {
    padding-top: 20px;
    padding-bottom: 20px;
    margin-top: 10px;
}
.footer h4 {
    font-family: KozGoReg;
    font-size: 16px;
    margin: 0;
}
.footer p {
    font-family: KozGoReg;
    margin-bottom: 0;
    margin-top: 15px;
}

p.security {
    width: 100%;
    margin: 0;
    text-align: right;
    padding: 15px 30px;
    background: #0867AD;
    color: #fff;
    font-family: KozGo;
    letter-spacing: 2px;
}
p.security a {
    color: #fff;
}

/* 2021.07.26 追加CSS */
.in-page-menu-wrap.company .main-menu a {
    color: red;
}
.in-page-menu-wrap.company .main-menu > a:hover {
    background: red;
    color: #fff;
}

/* 2021.08.11 追加CSS */
ul.square {
    font-size: 15px;
    list-style: none;
    padding-left: 21px;
}
ul.square li {
    position: relative;
    padding: 5px 0;
}
ul.square li:before {
    content: "";
    width: 13px;
    height: 13px;
    background: #000;
    position: absolute;
    top: 9px;
    left: -20px;
}

.sub-contents.sub-alert {
    border: 3px solid #ff0000;
    margin-bottom: 0;
    padding: 10px;
    font-size: 16px;
}

/* 2021.09.02 追加CSS */
ul.global-menu li.faq {
    border-color: #F39800;
}
ul.global-menu li.faq a:before {
    border-left-color: #F39800;
}
ul.global-menu li.faq a:hover {
    background: #ffdfab;
}
ul.global-menu li.faq.active a {
    background: #F39800;
}
ul.global-menu li.faq.active a:before {
    border-left-color: #fff;
}

.faq-title {
    border-bottom: 1px solid #2EA7E0;
    margin-bottom: 12px;
}
.faq-title p {
    margin-bottom: 5px;
    border-bottom: 3px solid #2EA7E0;
    padding-bottom: 5px;
    font-size: 18px;
    padding-left: 36px;
    position: relative;
}
.faq-title p:before {
    content: "";
    width: 26px;
    height: 16px;
    background: #2EA7E0;
    position: absolute;
    top: 2px;
    left: 0;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -o-border-radius: 3px;
}
.faq-title p:after {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 6px 0 0;
    border-color: #2ea7e0 transparent transparent transparent;
    content: "";
    position: absolute;
    top: 16px;
    left: 10px;
}

p.faq-main {
    font-size: 16px;
    color: #0667AD;
    padding-left: 15px;
    line-height: 1.6;
}
p.faq-main a {
    text-decoration: underline;
}

p.faq-sub {
    font-size: 16px;
    padding-left: 15px;
    line-height: 1.6;
}

.contents h2.news-title table {
    width: 100%;
    box-sizing: border-box;
}
.contents h2.news-title table th {
    font-weight: normal;
    width: 12.5em;
    vertical-align: middle;
}
.contents h2.news-title table td {
    font-size: 65%;
    line-height: 1.4;
    vertical-align: middle;
}

/* 2021.09.30 追加CSS */
.howto-check-webid {
    margin: 20px;
}

/* メンテナンスページ用CSS */
.maintenance-wrap {
}
.maintenance-wrap .mt-logo {
    width: 200px;
    margin: 20px auto;
}
.maintenance-wrap h3 {
    text-align: center;
    font-size: 2.2em;
    margin: 50px 0;
    color: #232555;
}
.maintenance-wrap p {
    text-align: center;
    line-height: 2;
    font-size: 1.1em;
}
.maintenance-wrap p span {
    font-size: 1.4em;
    font-weight: bold;
}
