@charset "utf-8";
*,
article,
aside,
canvas,
details,
figcaption,
figure,
header,
footer,
hgroup,
nav,
section,
summary {
    margin: 0;
    padding: 0;
}

html,
body {
    height: 100%;
}


/* 背景 */

body {
    line-height: 1.7;
    color: #333333;
    /* font-family: 'Noto Sans Japanese', 'sans-serif'!important; */
    /* font-family: Arial, Roboto, "Droid Sans", "メイリオ", Meiryo, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif; */
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;
    font-size: 90%;
    background-color: #f9ecee;
}


/* 画像全体 */

img {
    border: 0;
    vertical-align: top;
}


/* 見出し */

h1,
h2,
h3,
h4,
h5,
h6,
h7 {
    font-size: 100%;
    font-weight: normal;
}


/* リスト */

ol,
ul,
li {
    list-style-image: none;
    list-style-position: outside;
    list-style-type: none;
}

ol>li>ul>li {
    list-style: disc;
}


/* テーブル */

table {
    border-collapse: collapse;
}


/* HTML5 */

article,
aside,
canvas,
details,
figcaption,
figure,
header,
footer,
hgroup,
nav,
section,
summary,
main {
    display: block;
}


/* コンテンツ全体 */


/* ヘッダー */

header {
    margin: 0 auto;
}

#header_title {
    margin: 0 auto;
    width: 100%;
    height: 80px;
    display: flex;
    justify-content: start;
    /*align-items: flex-top;*/
    background-color: #005bad;
}

.header_title {
    width: 1100px;
    margin: 0 auto;
}

.header_title p {
    color: #fff;
    margin-top: 20px;
    padding-left: 20px;
    line-height: 80%;
    font-size: 25px;
    /* font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif"; */
}

span.h_title {
    font-size: 15px;
}


/* コンテンツ */

#contents {
    margin: 0 auto;
    width: 1100px;
    display: flex;
    justify-content: start;
    /*align-items: flex-top;*/
    background-color: #ffffff;
    min-height: 100%;
}


/* クリアフィクス */

.clearfix:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
}


/* 左コンテンツ */

#contents_l {
    width: 300px;
    background-color: #005bad;
}


/* メニュー */

nav {
    margin: 0;
}

ul.menu {
    width: 300px;
}

ul.menu>li {
    margin-bottom: 2px;
}

ul.menu>li>a {
    display: block;
    padding-left: 15px;
    padding-top: 1px;
    height: 60px;
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
    border-left: 9px solid #f29c9f;
    background-color: #fdeeef;
    font-weight: bold;
    box-sizing: border-box;
    color: #222222;
}

ul.menu>li>a:hover,
ul.menu>li a.on {
    border-left: 9px solid #ef5871;
    background-color: #f29c9f;
    text-decoration: none;
    font-weight: bold;
}


/* ここからmain部分 */


/* 右コンテンツ */

#contents_r {
    width: 800px;
}


/* 開催終了の御礼 */

.top_aisatsu {
    border: 3px double #f00;
    padding: 0 1em 1em 1.5em;
    margin: 20px auto;
    width: 85%;
    font-weight: bold;
    border-radius: 8px;
}

.top_aisatsu p {
    margin-top: 1em;
}


/* 特設視聴サイト */

#news div.view_site {
    background-color: #3c6;
    top: -445px;
    left: -10px;
    position: absolute;
    display: block;
    text-align: center;
    font-size: 110%;
    font-weight: bold;
    width: 160px;
    border-radius: 8px;
    border: 4px double #fff;
}

#news div.view_site>a {
    color: #fff;
    display: block;
    width: 160px;
    padding: 8px 0 6px;
    text-decoration: none;
}

#news div.view_site>a:hover {
    background-color: #aceac0;
    display: block;
    width: 160px;
    padding: 8px 0 6px;
    border-radius: 8px;
}


/* 会期当日の連絡先 */

.top_tel {
    background-color: #cc376b;
    display: block;
    text-align: center;
    font-weight: bold;
    width: 360px;
    border-radius: 8px;
    color: #fff;
    margin: -15px auto 0;
    padding: 0.5em;
}


/* Zoom 操作マニュアル */

.top_zoom {
    text-align: center;
    margin: 10px auto;
}


/* 新着情報 */

#news {
    margin: 20px auto 30px;
    width: 700px;
    position: relative;
}

#news h2 {
    width: 700px;
    font-size: 25px;
    padding: 0.1em 0.5em;
    /*上下 左右の余白*/
    color: #494949;
    /*文字色*/
    background: transparent;
    /*背景透明に*/
    border-left: solid 5px #005bad;
    /*左線*/
    line-height: 80%;
}

#news h2 span {
    font-size: 15px;
    padding-left: 0em;
    color: #a2a2a2;
}

#news_flame {
    margin: 15px 0px;
    width: 680px;
    height: 180px;
    overflow: auto;
    font-size: 97.2%;
    border: thick double #bdbdbd;
    padding: 10px 15px;
}

#news_flame dt {
    display: block;
    content: "";
    clear: both;
    float: left;
    padding-bottom: 0.3em;
}

#news_flame dd {
    padding-left: 9em;
    padding-right: 1em;
    padding-bottom: 0.3em;
    margin-bottom: 0.4em;
    border-bottom: 1px dotted #717171;
}


/* サイドメニュー下インフォメーション */

#info {
    margin: 30px auto;
    width: 260px;
    font-size: 13px;
    line-height: 1.2;
    color: #ffffff;
}

#info address {
    font-style: normal;
    margin: 0 auto;
}

#info h2 {
    border-bottom: 1px solid #ffffff;
    margin-bottom: 10px;
    font-size: 15px;
    font-weight: bold;
    padding: 5px 3px 3px;
}

#info p {
    margin-bottom: 2em;
    font-size: 12px;
    line-height: 1.5;
}

#info span.space {
    letter-spacing: -0.5px;
}

#info a {
    color: inherit;
}


/* フッター */

footer {
    margin: 0 auto;
    width: 100%;
    background-color: #4a4545;
}

footer p {
    padding: 10px 0;
    font-size: 12px;
    text-align: center;
    color: #ffffff;
}


/* サブページ内 */

#contents_r.page h2 {
    padding: 0.5em;
    /*文字周りの余白*/
    color: #010101;
    /*文字色*/
    background: #f9ecee;
    /*背景色*/
    border-bottom: solid 3px #005bad;
    /*下線*/
    font-size: 25px;
    width: 700px;
    margin: 30px auto 30px;
    text-align: center;
}

main {
    width: 700px;
    margin: 40px auto 40px;
    min-height: 500px;
}


/* サブページ大見出し */

main h3 {
    margin: 3em 0 2em;
    font-size: 120%;
    font-weight: bold;
    color: #fff;
    padding: 0.8em 0.75em;
    background-color: #005bad;
    border-left: 6px solid #79b8f0;
}


/* 一番最初にくる時はアキなしにする場合はここに書き足す */

main h3:first-child,
main h4:first-child,
main h5:first-child,
main p:first-child,
main table tr td p:first-child,
main blockquote p:first-child {
    margin-top: 0;
}


/* 組み合わせでアキなしする場合はここに書き足す */

main h3+h4,
main h4+h5,
main h3+p,
main h4+p,
main h5+p {
    margin-top: 0;
}


/* サブページ中見出し */

main h4 {
    font-size: 18px;
    font-weight: bold;
    padding: 10px;
    position: relative;
    border: 2px solid #a9a9a9;
    text-align: left;
    margin-bottom: 1em;
}

main h4::before {
    font-size: 13px;
    font-weight: normal;
    position: absolute;
    top: -26px;
    left: -2px;
    line-height: 24px;
    padding: 0 25px;
    content: "TITLE";
    color: #fff;
    background-color: #a9a9a9;
    letter-spacing: 2px;
}


/* サブページ小見出し */

main h5 {
    margin: 1em 0 0.2em;
    font-weight: bold;
}


/* サブページ段落 */

main p {
    margin-top: 1em;
}

main p.zero {
    margin-top: 0;
}

main p.han {
    margin-top: 0.5em;
}


/* サブページリスト */

main ul {
    margin-left: 1em;
}

main ul li {
    list-style: disc;
}

main ul.half li {
    margin-bottom: 0.5em;
}

main ol {
    margin-left: 1.5em;
}

main ol li {
    list-style: decimal;
}


/* 只今準備中です。。 */

p.jyunbi {
    text-align: center;
    padding-top: 100px;
}


/* 挨拶 */

main.greet p {
    line-height: 1.8;
    text-indent: 1em;
    margin-top: 0;
}

div.greet_name {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    margin: 0 auto 40px;
    text-align: right;
}

div.greet_name div.name {
    flex: auto;
}

div.greet_name div.name p {
    text-indent: 0;
    line-height: 1.5;
}

div.greet_name div.photo {
    flex: 0 0 150px;
    padding: 0 0 0 30px;
}


/* 開催概要 */

table.hyou_info {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0px 15px;
}

table.hyou_info th,
table.hyou_info td {
    border: 1px solid #f9ecee;
    padding: 10px 30px 10px 15px;
}

table.hyou_info th {
    background-color: #f9ecee;
    text-align: left;
    white-space: nowrap;
    font-weight: normal;
    vertical-align: middle;
    overflow: visible;
    position: relative;
}

table.hyou_info th:after {
    left: 100%;
    top: 50%;
    border: solid transparent;
    content: " ";
    position: absolute;
    pointer-events: none;
    border-color: rgba(136, 183, 213, 0);
    border-left-color: #f9ecee;
    border-width: 10px;
    margin-top: -10px;
}

table.hyou_info p.kaijyo {
    float: left;
}

table.hyou_info img {
    float: right;
}

table.hyou_info td div {
    border-bottom: dashed 1px #f8dade;
}


/* プログラム */

.prg_hyou {
    margin-bottom: 4em;
    width: 100%;
    border-collapse: collapse;
    border-color: #4a4545;
}

.prg_hyou th {
    width: 6em;
    border: 1px solid #000000;
    vertical-align: nowrap;
    font-weight: normal;
    background-color: #efefef;
}

.prg_hyou td {
    border: 1px solid #000000;
    padding: 0.3em;
    vertical-align: middle;
}

.prg_hyou td.name {
    width: 10em;
    white-space: nowrap;
    padding-left: 1em;
    /*  padding-bottom: 1em; */
    vertical-align: middle;
}

.prg_hyou td.name2 {
    width: 10em;
    white-space: nowrap;
    padding-left: 1em;
    /*  padding-bottom: 1em; */
    vertical-align: middle;
}

.prg_hyou td.zoku {
    /*  padding-bottom: 1em; */
    padding-left: 1em;
    text-indent: -1em;
}

.prg_hyou td.endai {
    font-weight: bold;
    padding: 0.8em 0 0.5em 0.5em;
}


/******************************/

.junbi_area {
    width: 100%;
    margin: auto;
    text-align: center;
}

.junbi {
    position: relative;
    display: inline-block;
    padding: 0 65px;
    font-size: 18px;
    font-weight: bold;
}

.junbi::before {
    left: 0;
}

.junbi::after {
    right: 0;
}

.junbi::before,
.junbi::after {
    position: absolute;
    top: 50%;
    content: "";
    display: inline-block;
    width: 60px;
    height: 1px;
    background: #000;
}


/******************************/

main h4.prg {
    font-size: 18px;
    font-weight: bold;
    padding: 10px;
    position: relative;
    border: 2px solid #a9a9a9;
    text-align: left;
    margin-bottom: 1em;
}

main h4.prg::before {
    font-size: 13px;
    font-weight: normal;
    position: absolute;
    top: -26px;
    left: -2px;
    line-height: 24px;
    padding: 0 25px;
    content: "PROGRAM";
    color: #fff;
    background-color: #a9a9a9;
    letter-spacing: 2px;
}


/* 略歴 */

main .ryakureki {
    background-color: #06c;
    color: #fff;
    padding: 5px 8px 5px 2px;
    font-size: 90%;
}

main .ryakureki:after {
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    background: url(../images/icon_pdf-15.png) no-repeat right center;
    /*  background-size: contain;*/
    padding-left: 2px;
}

main .ryakureki>a {
    color: #fff;
    text-decoration: none;
    padding: 3px 4px;
}


/* 参加者へのお知らせ */

.num dt {
    width: 1.5em;
    float: left;
}

.num dd {
    margin-left: 1.5em;
    margin-bottom: 0.5em;
}

.sanka_hyou {
    margin-top: 2em;
    margin-bottom: 1em;
}

.sanka_hyou td {
    width: 200px;
    border: 1px solid #000000;
    padding: 0.5em;
    text-align: center;
    vertical-align: middle;
}

.sanka_hyou td.haikei {
    font-weight: bold;
    background-color: #efefef;
}

h5.sanka {
    font-size: 23px;
    padding: 0.2em;
    margin-bottom: 0.5em;
    border-bottom: 6px double #000;
}


/* 一般演題募集 */

main h7.endai {
    position: relative;
    overflow: hidden;
    padding: 1.5rem 2rem 1.5rem 130px;
    border-top: 3px solid #000;
}

main h7.endai:before {
    position: absolute;
    top: -150%;
    left: -100px;
    width: 200px;
    height: 300%;
    content: "";
    -webkit-transform: rotate(25deg);
    transform: rotate(25deg);
    background: #000;
}

main h7.endai span {
    font-size: 40px;
    font-size: 4rem;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    display: block;
    padding-top: 3px;
    padding-left: 16px;
    color: #fff;
}


/* accsess*/


/* 別ページで開く------------------- */


/* 別ページで開くここまで------------------- */


/* 関連リンク */

p.link:before {
    content: url(../images/icon_link.png);
    padding-right: 6px;
    vertical-align: middle;
}

p.link a:link,
p.link a:visited {
    color: #333333;
    text-decoration: none;
}

p.link a:hover,
p.link a:active {
    color: #666666;
    text-decoration: underline;
}


/* 文章中の関連リンク */

a:link,
a:visited {
    color: #798df0;
    text-decoration: none;
}

a:hover,
a:active {
    color: #52c4e7;
    text-decoration: underline;
}

a#endai-sys-link {
    font-weight: bold;
    font-size: large;
}


/* pagetop */

.pagetop {
    display: none;
    position: fixed;
    bottom: 30px;
    right: 30px;
}

.pagetop a {
    display: block;
    width: 86px;
    height: 84px;
}


/* 外部関連リンク */

a.external {
    background: url(../images/external.png) no-repeat right center;
    padding-right: 20px;
}


/* テンプレート */

table.hyou_aaa {
    width: 100%;
    margin-bottom: 1em;
}

table.hyou_aaa td {
    border: 1px solid #bbbbbb;
    background-color: #ffffff;
    padding: 0.5em;
    vertical-align: top;
    text-align: left;
}

table.hyou_aaa th {
    border: 1px solid #bbbbbb;
    background-color: #efefef;
    padding: 0.5em;
    vertical-align: top;
    text-align: left;
    font-weight: normal;
    width: 20%;
}

table.hyou_aaa tr {
    padding: 0.5em;
    vertical-align: top;
    text-align: left;
}


/* table line_none */

table.non {
    border: none;
}

table.non td {
    text-align: left;
    vertical-align: top;
}

table.non th {
    text-align: left;
    vertical-align: top;
    white-space: nowrap;
    font-weight: normal;
}


/* ※一字下げ */

.kome {
    padding-left: 1em;
    text-indent: -1em;
}

.mbm1 {
    margin-bottom: -1em;
}

.mb1 {
    margin-bottom: 1em;
}

.mb2 {
    margin-bottom: 2em;
}

.mb03 {
    margin-bottom: 0.3em;
}

.mb05 {
    margin-bottom: 0.5em;
}

.mb15 {
    margin-bottom: 1.5em;
}

.mt2 {
    margin-top: 2em;
}

.mt3 {
    margin-top: 3em;
}

.pl05 {
    padding-left: 0.5em;
}

.ml1 {
    margin-left: 1em;
}

.f85 {
    font-size: 85%;
}

.f90 {
    font-size: 90%;
}

.f95 {
    font-size: 95%;
}

.f100 {
    font-size: 100%;
}

.f105 {
    font-size: 105%;
}

.f110 {
    font-size: 110%;
}

.f115 {
    font-size: 115%;
}

.f120 {
    font-size: 120%;
}

.uchikeshi {
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAABGdBTUEAAK/INwWK6QAAAANQTFRFAAAAp3o92gAAAApJREFUCB1jYAAAAAIAAc/INeUAAAAASUVORK5CYII=) 0 center repeat-x;
}

.uchikeshi.red {
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAABGdBTUEAAK/INwWK6QAAAANQTFRF/wAAGeIJNwAAAApJREFUCB1jYAAAAAIAAc/INeUAAAAASUVORK5CYII=) 0 center repeat-x;
}

.underline {
    text-decoration: underline;
}

.red {
    color: #ff0000;
}

.blue {
    color: #1d2777;
}


/* 太字 */

.bold {
    font-style: normal;
    font-weight: bold;
}

.text_r {
    text-align: right;
}

.text_c {
    text-align: center;
}


/*ポスターリンク*/

.poster_link {
    cursor: pointer;
}

.button003 a {
    background: #79b8f0;
    border-radius: 50px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    max-width: 260px;
    padding: 10px 25px;
    color: #313131;
    transition: 0.3s ease-in-out;
    font-weight: 500;
    text-decoration: none;
}

.button003 a:hover {
    background: #a6c8f8;
    color: #fff;
}

.gg-software-download {
    box-sizing: border-box;
    position: relative;
    display: block;
    transform: scale(var(--ggs, 1));
    width: 16px;
    height: 6px;
    border: 2px solid;
    border-top: 0;
    border-bottom-left-radius: 2px;
    border-bottom-right-radius: 2px;
    margin-top: 8px;
    margin-left: 10px;
}

.gg-software-download::after {
    content: "";
    display: block;
    box-sizing: border-box;
    position: absolute;
    width: 8px;
    height: 8px;
    border-left: 2px solid;
    border-bottom: 2px solid;
    transform: rotate(-45deg);
    left: 2px;
    bottom: 4px;
}

.gg-software-download::before {
    content: "";
    display: block;
    box-sizing: border-box;
    position: absolute;
    border-radius: 3px;
    width: 2px;
    height: 10px;
    background: currentColor;
    left: 5px;
    bottom: 5px;
}

.button004 a {
    background: #ca5130;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    max-width: 260px;
    padding: 10px 25px;
    color: #313131;
    transition: 0.3s ease-in-out;
    font-weight: 500;
    text-decoration: none;
}

.button004 a:before {
    content: "";
    width: 8px;
    height: 8px;
    border: 0;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    left: 90%;
    margin-top: -6px;
}

.button004 a:hover {
    background: #d07d4b;
    color: #fff;
}

.button005 a {
    background: #3cad43;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    max-width: 260px;
    padding: 10px 25px;
    color: #313131;
    transition: 0.3s ease-in-out;
    font-weight: 500;
    text-decoration: none;
    height: 20px;
}

.button005 a:before {
    content: "";
    width: 8px;
    height: 8px;
    border: 0;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    left: 90%;
    margin-top: -6px;
}

@keyframes blink {
    0% {
        opacity: 0.5;
    }
    100% {
        opacity: 1;
        font-size: 1.02em;
    }
}

.blinking {
    animation: blink 0.4s ease-in-out infinite alternate;
}