.summary {
 padding: 20px;
 margin: 30px 0px; 
 background-color: #95E1D3; 
 border-radius: 10px;
 min-width: 560px;
}
.summary .inner {
  padding: 20px; 
  border: white dashed 6px;
  text-align: left;
  font-size: 115%;
}
.summary h2 { text-align: center; font-weight: bold; margin-bottom: 1em; }
.summary h3 { font-size: 95%; }
.summary dl {
  display: grid;
  grid: auto-flow / 1fr 3fr;
  grid-column-start: 1;
  grid-column-end: 3;
}
.summary dl>dt {
  display: inline-block;
  font-weight: bold;
  text-align: right;
  letter-spacing: .25em;
}
.summary dl>dt::after {
  padding-left: .25em; padding-right: .5em;
  content: ":";
}
.summary dl>dd { display: inline-block; }
.box {
  padding: 20px; 
  margin: 1em 0;
  border: 2px solid #dcdcdc;
  border-radius: 10px;
}

h3 { font-weight: bold; font-size: 115%; }
h3::before { content: "【"; }
h3::after  { content: "】"; }

h4 { font-weight: bold; font-size: 105%; margin-top: 1em; }
h4::before { content: "〈"; }
h4::after  { content: "〉"; }

ul { list-style: disc; }
ul>li { margin-left: 0; margin-bottom: .75em; }
ul>li::marker { font-size: x-large; line-height: 1rem; }
ul>li>ul { list-style: square; }
ul>li>ul>li::marker { color: #808080; font-size: large; }
li > p { text-indent: 0; }

.box ul { margin-bottom: 0; }

.timetable th {
  font-weight: bold;
  text-align: center;
  background-color: white;
  border: thin solid gray;
  font-size: 95%;
}

.timetable td {
  background-color: white;
  border: thin solid gray;
  font-size: 95%;
  vertical-align: middle;
}

.timetable a { color: inherit; }
.timetable a:hover { text-decoration: underline; }


.email { font-family: "Noto Sans Mono", "Courier", monospace; font-size: 110%; }
strong { font-weight: bold; text-decoration: underline; }
small { font-size: 95%; color: #333; }
del { color: #aaaaaa; }
ins { font-weight: bold; text-decoration: underline; }

button.apply {
     display: block; 
     width:240px;
     height:60px; 
     margin: 24px auto;
     border:solid 4px #cf6006; 
     border-radius:10px; 
     text-align: center;
     font-weight: 600;
     font-size: 120%;
     color: #cf6006;
     background-color: #ffffff;
}

button.apply:hover {
    color:#ffffff;
    background-color: #cf6006;
}

button.apply.disable {
    border-color: grey;
    color: white;
    background-color: grey;
}


.card {
    display: flex;
    align-content: center;
    border-radius: 8px;
    border: thin solid #bfbfbf;
    padding: 16px 16px;
}

.card h3 {
    width: 100%;
    font-size: 110%;
    border-radius: 8px;
    padding: 8px 2em;
    color: white;
    background-color: #a0a0a0;
    text-align: left;
}
.card h3::before, .card h3::after { content: none; }

.card h4 {
    font-size: 110%;
    font-weight: bold;
    text-align: center;
}
.card h4::before, .card h4::after { content: none; }

.card.beh h3 { background-color: #d06a80; }
.card.soc h3 { background-color: #df8800; }
.card.edu h3 { background-color: #4d907a; }
.card.sym h3 { background-color: #7d4787; }
.card.booth h3 { background-color: #80d0c0; }

.card ul.speaker {
    list-style: none;
    text-align: right;
    margin-right: 2em;
}

.card ul.speaker > li {
    display: inline-block;
}
.card ul.speaker > li::before { content: "・"; }
.card ul.speaker > li:first-child::before { content: none; }

.card p {
    margin: .1em 1em;
    line-height: 1.6;
    text-align: justify;
}

.card img {
    display: block;
    margin: 1em auto .5em;
    max-width: 60%;
    padding: auto;
    text-align: center;
}

.card .notice {
    text-align: center;
    font-size: 75%;
    color: #666;
    padding: 0;
    margin: 0;
}

.note h5 {
    font-size: 105%;
}
.note h5::before { content: "〈"; }
.note h5::after  { content: "〉"; }
.note ul {
    font-size: 95%;
}
.note ul>li::marker {
    font-size: 100%;
}
.note strong {
    text-decoration: none;
}
