body{
	background: #fff url(../images/seigaiha.png) fixed;
}
#wrapper{
	width: 70%;
	max-width: 1000px;
	margin: 0 auto;
}
.button{
	text-align: center;
}
.button a{
	position: relative;
	box-shadow: inset 0px 1px 0px 0px #e85f5d;
	background: linear-gradient(to bottom, #e87b79 5%, #ed302a 100%);
	background-color: #e87b79;
	border-radius: 3px;
	border: 1px solid #ed302a;
	display: inline-block;
	cursor: pointer;
	color: #ffffff;
	padding: 6px 24px;
	text-decoration: none;
	text-shadow: 0px 1px 0px #b8201e;
}
.button a: hover {
	top: 1px;
	background: linear-gradient(to bottom, #ed302a 5%, #e87b79 100%);
	background-color: #ed302a;
}
.button a: active {
	top: 3px;
}
strong{
font-weight: bold;
text-decoration: underline;
}

.text-content p{
margin-bottom: 1em;
text-indent: 1.5em;
text-align: justify;
}

table.timetable{
width: 100%;
}
th,
td{
	padding: 2px 1em;
	border: solid 1px #ccc;
}
table.timetable td:first-child{
white-space: nowrap;
width: 20%;
}
.timetable ul{
margin-left: 3em;
list-style-type: "– ";
}
.timetable ol{
margin-left: 3em;
}

#wrapper section{
	margin: 0 0 20px;
	padding: 30px 50px;
	background: rgba(255,255,255,0.9);
	border-radius: 3px;
}
#wrapper section::after {
	content: "";
	display: block;
	clear: both;
}

section h2{
margin : 0 0 30px;
padding: 0;
color: #00213c;
font-size: 240%;
font-weight: bold;
}
section h3{
margin : 0 0 1em;
padding: 0;
font-size: 160%;

    position: relative;
    overflow: hidden;

}
section h3:before,
section h3:after {
    position: absolute;
    width: 100%;
    bottom: 0;
    content: '';
}

section h3:before {
    border-bottom: 5px solid #ed302a;
}

section h3:after {
    border-bottom: 5px solid #92acbd;
}

section h4{
	margin-top: 1em;
	font-weight: bold;
}
#Schedule summary h4{
color: #4a7094;
font-size: 140%;
}


.kokoro{
font-weight: bold;
color: red;
}
/* slogan */
#Slogan #date p{
margin-bottom: 1em;
}
#Slogan #date p a{
text-decoration: underline dashed;
}


/* details */
details{
	margin-bottom: 10px;
	padding: 10px 30px;
	border: 1px solid #aaa;
	border-radius:3px;
	transition: background-color 0.3s ease;
}
details:hover{
background: #dbe6f0;
}
details[open]{
background: none;
}
zsummary::marker,
summary::-webkit-details-marker {
  font-size: 1.5em;
}

.member{
  display: grid;
  /* 2列のグリッドを作り、それぞれの列の中でdtとddを縦に並べる（1つの塊にする） */
  grid-template-columns: repeat(3, 1fr); 
  gap: 20px; /* アイテム間の隙間 */
}

/* dtとddの余白をリセット */
.member dt,
.member dd {
  margin: 0;
}

.member dt {
  font-weight: bold;
}

.member dd {
  margin-bottom: 10px; /* 次のセット（下の行）との隙間 */
	border-bottom: dashed 1px #ccc;
	font-size: 90%;
}

#ScientificTopics ul{
}
#ScientificTopics li{
margin-bottom: 10px;
}
#ScientificTopics li img{
width: auto;
margin-right: 10px;
vertical-align: middle;
}

#ScientificTopics ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* 均等に2分割（2列） */
  gap: 15px;       /* 項目同士の隙間（上下左右） */
  padding: 0;      /* デフォルトの余白をリセット */
  list-style: none;/* デフォルトの中黒（・）を消す場合 */
}

#ScientificTopics ul li {
  padding: 10px;
}


.col2 {
  display: flex;
  flex-wrap: wrap; /* 子要素がはみ出したら次の行に折り返す */
  gap: 20px;       /* アイテム同士の隙間（上下左右に20px） */
}

/* col2の直下にあるdiv（各アイテム）への指定 */
.col2 > div {
  /* 50% の幅から、隙間（gap）の半分（20px ÷ 2 = 10px）を引く */
  width: calc(50% - 10px); 
  box-sizing: border-box;
}
/* アイテムの中のテキスト */
.col2 > div p {
  flex-grow: 1;
}
}




em{
font-weight: bold;
}

.venue p{
margin-bottom: 1em;
}
#Notice dl{
	display: flex;
	flex-wrap: wrap;
  }

#Notice dt {
	width: 8em;
	margin: 0;
	border-bottom: 1px solid #ccc;
}

#Notice dd{
	width: calc(100% - 8em);
	margin: 0;
	padding: 0;
	border-bottom: 1px solid #ccc;
}

#Slogan{
min-height: 400px;
padding-top: 250px;
background: #f5ebe4 url(../images/Slogan.png) left calc(50% - 65px) / auto 300px no-repeat ;
text-align: center;
}
#Slogan #date{
padding-bottom: 50px;
text-align: center;
}

/* ScientificTopics */
#ScientificTopics dl{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin: 0 20px;
	font-size: 90%;
}

#ScientificTopics dt {
	width: 80px;
	margin: 0;
}

#ScientificTopics dd{
	width: calc(100% - 100px);
	margin: 0;
	padding: 0 0 0 20px;
}
/* topphoto */
#topphoto {
background: #f5ebe4;
text-align: center;
}
#topphoto img:first-child{
width: 100%;
}

#topphoto img{
width: 70%;

}

section ol,
section ul{
	margin: revert;
	padding: revert;
}
ul.org{
	margin: revert;
	padding: revert;
	list-style: square;
}
ul.org li{
}
#Loc ul{
	display: flex;
	flex-wrap: wrap;
}
#Loc li{
margin-right: 1em;
}
#Loc li:not(:last-child)::after {
	content: ", ";
}


/* footer */
footer{
padding: 0;
color: #fff;
background-color: #00213c;
  background-image: linear-gradient(0deg, rgba(245, 235, 228, 1) 50%, rgba(0, 33, 60, 1));
	}
footer address{
}
footer div{
margin: 0;
padding: 0;
padding-bottom: 50px;
background: transparent url(../images/topimg_mt.png) right bottom / auto 100px no-repeat ;

}
#banner{
margin-top: 10px;
}
#banner li{
display: inline-block;
margin: 0 20px;
}
#banner img{
width: auto;
height: 50px;
}

#Flyer{
text-align: center;
}
#Contact p{
text-align: center;
}
#Access ul{
list-style: square;
}
#Access ul li{
margin-bottom: 1em;
}