@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;
  background-image: url(https://dimio.jp/jami-ni27/img/bg_body.png);
  background-size: 100% auto;         /* 横幅を画面にフィット、高さは自動 */
  background-position: top center;    /* 中央基準で上に表示 */
  background-repeat: no-repeat;       /* 繰り返さない */
  background-attachment: scroll;      /* スクロールについてこない */
  min-height: 100vh; 
}
@media (max-width: 500px) {
  body {
    background-size: 500px auto;      /* 最小横幅を500pxにする */
  background-image: url(https://dimio.jp/jami-ni27/img/bg_body_SP.png);
  background-size: 100% auto;         /* 横幅を画面にフィット、高さは自動 */
}}


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;
  }  
}

/* 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 img{
  width: 97%;
  max-width: 1200px;
  height: auto;
margin: 0 auto;
}

.inner{
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
#nav_sp{ display: none; }

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

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

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

aside#side_nav{
  width: 18%;
}

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{
  width: 100%;
  height: 40px;
  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);}

.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;
}


#main_image,{
  margin: 0 2% ;
  background-size: contain;
  background-position: center;
}
#top_image img{
  display: block;
  margin-left: auto;
  margin-right: 0;
}
#top_image{
  margin: 0 2%;
  background-size: contain;
  background-position: center;
}

#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{ margin-bottom: 10px;  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: rgba(255, 255, 255, 0.763);
}

/* 開催概要、演題募集 */
dl.yoko > div{
  margin-bottom: 10px;
  padding: 10px 0;
  border-bottom: dotted 1px #ccc;
}
dl.yoko > div:last-child{
  border-bottom: none;
}
dl.yoko > div > dt{
  padding-bottom: 10px;
  color: #0b369c;
  font-weight: bold;
}
dl.yoko > div > dt::after{ content: "："; }
dl.yoko2 > div > dt::after{ content: ""; }
dl.yoko > div > dd{
  margin-left: 2em;
  padding: 10px 0;
}

/* 大会長あいさつ */
#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; }

  
  @media screen and (max-width: 479px){
  .program dl dt, .program dl.long dt{
    width: 100%;
    text-align: left;
  }
  .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;
}


