@charset "utf-8";

article,
aside,
dialog,
div,
figure,
footer,
header,
hgroup,
hr,
nav,
section {
  display: block
}

a,
hr {
  border: 0;
  padding: 0
}

em,
mark {
  font-style: italic
}

abbr,
address,
article,
aside,
audio,
b,
blockquote,
body,
caption,
cite,
code,
dd,
del,
dfn,
dialog,
div,
dl,
dt,
em,
fieldset,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
p,
pre,
q,
samp,
section,
small,
span,
strong,
sub,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
ul,
var,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: 0 0
}

mark,
strong {
  font-weight: 700
}

ins,
mark {
  background-color: #ff9;
  color: #000
}

body {
  overflow-y: scroll
}

nav ul {
  list-style: none
}

blockquote,
q {
  quotes: none
}

blockquote:after,
blockquote:before,
q:after,
q:before {
  content: '';
  content: none
}

.chu:before,
.kome:before {
  content: "※"
}

a {
  margin: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: 0 0
}

ins {
  text-decoration: none
}

.red,
b {
  color: red
}

del {
  text-decoration: line-through
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted #000;
  cursor: help
}

table {
  border-collapse: collapse;
  border-spacing: 0
}

hr {
  height: 1px;
  border-top: 1px solid #ccc;
  margin: 1em 0
}

input,
select {
  vertical-align: text-top
}

img {
  vertical-align: bottom
}

b {
  font-size: inherit
}

small {
  font-size: 80%
}

.center {
  text-align: center
}

.border {
  border: 1px solid
}

.blue {
  color: #00f
}

.chu {
  color: red
}

.kome {
  margin-left: 1em;
  font-size: 90%
}

blockquote p,
q {
  quotes: "『" "』" "「" "」"
}

blockquote p:before,
q:before {
  content: open-quote
}

blockquote p:after,
q:after {
  content: close-quote
}

*,
*:before,
*:after {
  box-sizing: border-box;
}

ul li,
ol li {
  list-style: none;
}

a {
  color: #00a6da;
}

address {
  font-style: normal;
}

.att {
  color: red;
  font-weight: bold;
}

.bold {
  font-weight: bold;
}

.indent p {
  text-indent: 1em;
}

.ml3 {
  margin-left: 3em;
  width: 75%
}

.ml4 {
  padding: 3px 2em;
}

.ml5 {
  padding: 2em;
}

.photh {
  float: right;
}

.t_indent {
  text-indent: 1em;
}

.t_indent2 {
  text-indent: 2em !important;
}

.box_o {
  border: solid 2px #F4BA19;
  padding: 20px;
}

.box_r {
  border: solid 2px #FF0000;
  padding: 20px !important;
  margin-bottom: 50px;
}

.box_b {
  border: solid 1px black;
  padding: 20px 20px;
}

.mt20 {
  margin-top: 20px;
}

.mt10 {
  margin-top: 10px;
}

.mt40 {
  margin-top: 40px;
}

.indent_3 {
  text-indent: 3em;
}

.indent_1 {
  text-indent: 1em;
}

.yajirushi {
  text-align: right;
}

.float_f {
  float: left !important;
}

.float_r {
  float: right;
}


.mb30 {
  margin-bottom: 30px;
}

.mb50 {
  margin-bottom: 50px;
}

.mb80 {
  margin-bottom: 80px;
}

del .c_del_1 {
  background-image: linear-gradient(#e70000, #e70000);
  background-position: 0 50%;
  background-size: 100% 1px;
  background-repeat: repeat-x;
  text-decoration: none;
  padding: 0 2px;
}

.res img {
  width: 100%;
  max-width: 100%;
  height: auto;
}


body {
  font-family: "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO";
  font-size: 14px;
  line-height: 1.8;
  color: #333;
}

#bg_img {
  background-image: url(../img/bg_yunizon.jpg);
  background-size: 100% auto;
  background-position: top center;
  background-repeat: no-repeat;
  background-attachment: scroll;
  height: 100%;
  width: 100%;
  margin: 0;
}

h2 {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 20px;
  color: #005898;
}

h3 {
  font-size: 16px;
  font-weight: bold;
  margin: 0 -3% 20px -3%;
  padding: 5px 3%;
  color: #005898;
  border-left: 4px solid #005898;
  border-bottom: 2px solid #005898;
}

h4 {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 20px;
  padding: 5px 1em;
  color: #fff;
  background-color: #005898;
}

/* tableスタイル */
table.normal {
  box-sizing: border-box;
  width: 100%;
  font-size: 95%;
  border-collapse: collapse;
  border-spacing: 0;
  border: 1px solid #ACA7A7;
}

table.normal th,
table.normal td {
  padding: 5px 7px;
  vertical-align: middle;
  border: 1px solid #ACA7A7;
}

table.normal th {
  font-weight: bold;
  text-align: center;
  background: #E5E5E5;
}

table.normal td {
  text-align: center;
}

table.border {
  width: 95%;
  margin: 5px auto;
  border: 1px solid #ccc;
  border-collapse: collapse;
}

table.border th,
table.border td {
  padding: 5px;
  vertical-align: middle;
  border: 1px solid #ccc;
}

table.border th {
  background: #7C7A7B;
  color: #fff;
  text-align: center;
}


@media only screen and (max-width:639px) {
  table.border thead {
    display: none;
  }

  table.border th,
  table.border td {
    display: block;
    width: auto;
    border-bottom: none;
  }

  table.border tr:last-child {
    border-bottom: 1px solid #ccc;
  }

  table.border td {
    position: relative;
    padding: 10px 10px 10px calc(30% + 10px);
  }

  table.border td::before {
    content: attr(aria-label);
    /* aria-label属性をth相当として表示 */
    position: absolute;
    top: 0;
    left: 0;
    box-sizing: border-box;
    width: 30%;
    height: 100%;
    padding: 10px;
    font-size: 12px;
    text-align: center;
    border-right: 1px solid #ccc;
    background-color: #eee;
  }

  #bg_img {
    background-size: auto;
  }

}

/* listスタイル */
.disc>li {
  list-style: inside disc;
  margin-left: 1em;
  text-indent: -1em;
}

.decimal>li {
  list-style: inside decimal;
  margin-left: 1em;
  text-indent: -1em;
}

.list>li {
  list-style: none;
  margin-left: 1em;
  text-indent: -1em;
}

.list>li::before {
  content: "※";
}

.annai>li {
  list-style: none;
  margin-left: 1em;
  text-indent: -1em;
}

.annai>li::before {
  content: "・";
}

.erb {
  color: red;
  font-weight: bold;
}

.no_mark>li {
  list-style: none;
  text-indent: 0;
}

/* dlスタイル */
dl.label>div {
  margin-bottom: 10px;
}

dl.label>div>dt::after {
  content: "：";
}

dl.label>div>dd {
  padding-left: 2em;
}

dl.short>dt {
  clear: both;
  float: left;
  width: 7em;
}

dl.short>dt::after {
  content: "：";
}

dl.short>dd {
  margin-left: 7em;
}


#main_header,
#main_footer {
  clear: both;
  width: 100%;
}

#main_header {
  background-color: #ffffff;
  padding-bottom: 20px;
}

#main_header img {
  width: 90%;
  max-width: 1200px;
  height: auto;
  margin: 5% 0 0 2%;
}

.inner {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}

#nav_sp {
  display: none;
}

.wrap {
  display: flex;
  flex-direction: row-reverse;
  width: 100%;
  max-width: 1200px;
  margin: auto;
  padding: 0;
}

.container-bg {
  background-color: rgba(255, 255, 255, 0.94);
  padding: 20px 10px;
  width: 80%;
  margin: 0 2%;
}

.container {
  width: 80%;
  padding: 0 2%;
}

aside#side_nav {
  width: 21%;
}

section,
#contact,
#banner_sp {
  clear: both;
  margin: 10px 0;
  padding: 20px 2%;
}

.box {
  margin: 10px 0;
  padding: 10px 0;
}

.sbox {
  margin: 10px 0;
}

.border_box {
  margin: 10px 0;
  padding: 10px 5%;
  border: 1px solid;
}

.border_box2 {
  margin: 10px 10px;
  padding: 10px 15px;
  border: 1px solid;
}

.flex_box {
  display: flex;
}

.half_box {
  width: 50%;
  margin: 10px 2% 10px 0;
  padding: 20px 2%;
}

.half_box:nth-of-type(2n) {
  margin-right: 0;
}

@media screen and (max-width: 839px) {
  .flex_box {
    display: block;
  }

  .half_box {
    width: 96%;
    margin: 10px 2%;
  }

  .half_box:nth-of-type(2n) {
    margin-right: 2%;
  }
}

#onrei {
  margin: 10px 0 50px;
  padding: 10px 5%;
  font-size: 130%;
  border: 6px double red;
}



.border {
  border: solid 1px;
}

.border2 {
  border: dotted 1px;
}

.gnav li {
  display: flex;
  align-items: center;
  width: 100%;
  height: 50px;
  font-weight: bold;
  line-height: 1.4;
  list-style: none;
  background: url(../img/bkg_nav.png);
  background-size: cover;
  color: #005898;
  border-left: solid 2em #005898;
  border-bottom: solid 1px rgba(255, 255, 255, 1.00);
}

.gnav li span {
  margin-left: 1em;
}

.gnav2 li {
  width: 100%;
  height: 50px;
  padding: 11px 1em 11px 2em;
  font-weight: bold;
  line-height: 1.4;
  list-style: none;
  background: url(../img/bkg_nav.png);
  background-size: cover;
  color: #005898;
  border-left: solid 2em #005898;
  border-bottom: solid 1px rgba(255, 255, 255, 1.00);
}


.gnavw {
  width: 100%;
  height: 60px !important;
  padding: 11px 1em 11px 2em;
  font-weight: bold;
  line-height: 1.4;
  list-style: none;
  background: url(../img/bkg_nav.png);
  background-size: cover;
  color: #0b3699;
  border-left: solid 2em #0b3699;
  border-bottom: solid 1px rgba(255, 255, 255, 1.00);
}

.gnav li:hover {
  background: rgba(0, 166, 218, 0.5);
}

.gnav li a {
  display: block;
  text-decoration: none;
  color: #0b3699;
}

.bg_img {
  height: 70vh;
  margin-bottom: 40px;
}

#top_img img {
  width: 70%;
  display: block;
  margin-left: auto;
  margin-right: 0;
  margin: 5% 0 auto auto;
}

#top_img {
  background-image: url(../img/bg_yunizon.jpg);
  background-size: 100% auto;
  /* 横幅を画面にフィット、高さは自動 */
  background-position: center;
  /* 中央基準で上に表示 */
  background-repeat: no-repeat;
  /* 繰り返さない */
  background-attachment: scroll;
  /* スクロールについてこない */
  height: 100%;
  width: 100%;
  margin: 0;
}

@media (max-width: 1050px) {
  .bg_img {
    height: 40vh;
  }
}

@media (max-width: 500px) {
  .bg_img {
    height: 30vh;
  }
}



#contents {
  padding: 10px 4%;
}

.btn_area {
  width: 90%;
  padding: 10px 2%;
}

.btn_area3 {
  width: 90%;
  margin: 10px 3% 30px;
  padding: 10px 2%;
}

.btn_area ul {
  display: flex;
  flex-wrap: wrap;
}

.btn_area ul li {
  list-style: none;
  width: 49%;
  margin: 0 0.5% 20px;
  text-align: center;
}

.btn_area ul li img {
  width: 100%;
  max-width: 360px;
  height: auto;
}

.btn_area ul li a:hover {
  opacity: 0.7;
}

.btn_area p {
  margin-bottom: 10px;
}

@media screen and (max-width: 639px) {
  .btn_area ul {
    display: block;
  }

  .btn_area ul li {
    width: 98%;
    margin: 0 auto 20px;
    text-align: center;
  }

  .yajirushi {
    text-align: center;
  }
}


#main_footer {
  padding: 20px 0;
  background: #005898;
  color: white;
  margin-top: 30px;
}

#copy {
  text-align: center;
}

#page_top {
  display: none;
  position: fixed;
  bottom: 40px;
  right: 20px;
  cursor: pointer;
}

@media screen and (min-width: 1200px) {
  #page_top {
    right: calc(50% - 520px);
  }
}


/* トップページ */
#sub_image {
  margin: -20px 2% 0;
}

#sub_image ul {
  display: flex;
  width: 100%;
  margin-left: -2px;
  border-top: solid 1px white;
}

#sub_image figure {
  position: relative;
}

#sub_image figcaption {
  position: absolute;
  bottom: 8px;
  right: 8px;
  font-size: 10px;
  text-shadow: 1px 1px 1px #666;
  color: white;
}

#sub_image img {
  width: 100%;
  height: auto;
  padding: 5px;
  box-shadow: 2px 2px 3px #aaa;
}


#news dl {
  max-height: 260px;
  overflow-y: scroll;
}

#news div {
  padding: 10px 0;
  border-bottom: dotted 1px #ccc;
}

#news dt {
  color: #002060;
}

#news dd {
  margin-left: 1em;
}

@media screen and (min-width: 999px) {
  aside#banner_sp {
    display: none;
  }
}

#side_nav #banner {
  margin: 20px 0;
}

#banner li {
  margin-bottom: 10px;
  text-align: center;
}

#banner li img {
  width: 100%;
  max-width: 216px;
  height: auto;
}

.wavy {
  padding: 10px 0;
  font-size: 160%;
  font-weight: bold;
  line-height: 1.4;
  text-decoration-style: wavy;
  text-decoration-line: underline;
  text-decoration-color: red;
}

.hishi::before,
.hishi::after {
  content: "\0025C6";
  font-size: 80%;
}

#news {
  background-color: #ffffe6;
}

/****** 開催概要、演題募集 ******/
dl.dl_bottomline>div>dt.：none::after {
  content: "";
}

dl.dl_bottomline>div {
  margin-bottom: 10px;
  padding: 10px 0;
  border-bottom: dotted 1px #ccc;
}

dl.dl_bottomline>div>dd {
  margin-left: 2em;
  padding: 10px 0;
}

dl.dl_bottomline>div>dt {
  padding-bottom: 10px;
  color: #0b369c;
  font-weight: bold;
}

dl.dl_bottomline>div:last-child {
  border-bottom: none;
}

div.workshop {
  display: block;
  margin: 1em 1em 2em 1em;
  background-color: #a5c8e16c;
}

div.workshop>dd {
  padding: 1.5em;
}

div.workshop>dt {
  font-weight: 700;
  padding: 1.5em 0 0 1.5em;
}

/****** 大会長あいさつ ******/
#aisatsu #contents {
  line-height: 2.2;
}

#aisatsu #contents p {
  text-indent: 1rem;
}

p.sign {
  float: right;
  width: 22rem;
  text-align: right;
  text-indent: 0 !important;
}

/****** 事前参加登録 ******/
.method {
  font-weight: bold;
}

.method::before {
  content: "■";
}

.method+dd {
  margin-left: 1em;
}

#regi .btn_area img {
  width: 100%;
  max-width: 350px;
  height: auto;
}

#bank_list {
  margin: 10px 0;
  padding: 10px 2%;
  border: 1px solid #222;
}

/****** プログラム ******/
.program li {
  clear: both;
  margin-bottom: 20px;
}

.day {
  margin-bottom: 30px;
}

.program h4 {
  padding: 3px 1em;
  font-size: 18px;
  font-weight: bold;
  border-left: 8px solid #DDD61B;
  color: rgb(63, 86, 153);
  margin-top: 30px;
}

.h4b {
  font-weight: bold;
  font-size: 18px;
  padding: 3px 1em;
}

.program h5 {
  padding: 3px 1em;
  font-size: 16px;
  font-weight: bold;
}

.program h6 {
  font-size: 14px;
  font-weight: normal;
}

.program dl dt {
  clear: both;
  float: left;
  width: 6rem;
  text-align: right;
}

.program dl dt::after {
  content: "：";
}

.program dl dd {
  margin-left: 7rem;
}

.program dl.long dt {
  width: 9rem;
}

.program dl.long dd {
  margin-left: 10rem;
}

dl.dl_bottomline>div>dt::after {
  content: "：";
}

.sp {
  display: none;
}


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

  .program dl dt,
  .program dl.long dt {
    width: 100%;
    text-align: left;
  }

  .sp {
    display: block;
  }

  .program dl dd,
  .program dl.long dd {
    margin-left: 1em;
  }

  .lecture,
  .lecture dl {
    margin-left: 1em;
  }

  .program dl.subject dt {
    width: 3rem;
    text-align: left;
  }

  .program dl.subject dt::before {
    content: "\0025CB";
  }

  .program dl.subject.poster dt::before {
    content: "";
  }

  .program dl.subject dt::after {
    content: "";
  }

  .program dl.subject dd {
    margin-left: 4rem;
  }

  .program dl.subject dd p {
    margin-left: 1rem;
  }

  /****** 座長・演者の方へ ******/
  li#sanka_table {
    margin: 20px 0;
    list-style: none;
  }

  #zacho_coi li {
    margin-bottom: 30px;
  }

  /* coi */
  #coi p {
    margin-bottom: 10px;
  }

  #coi .border_box h3 {
    padding: 0;
    background: none;
  }

  #kaiji_rei div {
    margin-bottom: 30px;
  }

  #kaiji_rei dt {
    font-size: 16px;
    font-weight: bold;
  }

  /* 感染症対策のご案内 */
  #cocoa li {
    display: flex;
    flex: 1;
    justify-content: flex-start;
    padding: 5px 0;
    border-top: solid 1px #ccc;
  }

  #cocoa li div {
    margin-right: 1em;
  }

  #cocoa li div p:first-child {
    font-size: 120%;
    font-weight: 600;
  }

  @media screen and (max-width: 359px) {
    #cocoa li {
      display: block;
      text-align: center;
    }

    #cocoa li div {
      margin-right: 1em;
    }
  }

  /* link */
  #link {
    line-height: 3;
  }

  .fcr {
    color: red;
  }

  .fwb {
    font-weight: bold;
  }



  .container-bg {
    background-color: rgba(255, 255, 255, 0.763);
    padding: 15px 5px;
    width: 95%;
    margin: 0 auto;
  }