@charset "utf-8";
/* ========== components ========== */
a:link {
  color: #03c;
}
a:visited {
  color: #03c;
}
a:hover,
a:active {
  color: #2c5ef4;
  text-decoration: none;
}
p.contents {
  width: 100%;
  font-size: 100%;
  line-height: normal;
  margin: 0 0 0.5em 0;
  padding: 0;
}
div.list {
  padding-left: 1em;
  text-indent: -1em;
  display: block;
  margin: 0;
}
div.list:before {
  content: "■ ";
}
span.wbr {
  display: inline-block;
  white-space: nowrap;
}
.justify {
  text-align: justify;
  text-justify: inter-ideograph;
}
.bg_white {
  background-color: white;
}
.bg_whitea {
  background-color: rgba(255, 255, 255, 0.9);
}
.bold {
  font-weight: bold;
}
.center {
  text-align: center;
}
.left {
  text-align: left;
}
.right {
  text-align: right;
}
.justify {
  text-align: justify;
  text-justify: auto;
}
div.block {
  margin: 0.5em 0 0 0;
  height: auto;
  overflow: hidden;
}
div.vstack {
  width: 100%;
  clear: both;
  display: block;
  height: auto;
  overflow: hidden;
}
div.vstack h4 {
  font-weight: bold;
  text-decoration: underline;
  border-top: 0.2em groove gray;
  color: red;
  /* PC */
  /* smartPhone */
}
@media screen and (min-width: 641px) {
  div.vstack h4 {
    font-size: 14pt;
  }
}
@media screen and (max-width: 640px) {
  div.vstack h4 {
    font-size: 5vw;
  }
}
div.hstack {
  vertical-align: middle;
  /* PC */
  /* smartPhone */
}
@media screen and (min-width: 641px) {
  div.hstack {
    margin: 0 0.5em;
    text-align: center;
    width: 45%;
    float: left;
    display: block;
  }
}
@media only screen and (max-width: 640px) {
  div.hstack {
    margin: 0.5em;
    text-align: center;
    width: 100%;
    clear: both;
    display: block;
  }
}
div.hstack img {
  max-width: 100%;
}
/* ===== 各要素の枠 ===== */
.box {
  position: relative;
  text-align: center;
  display: inline-block;
  border-style: solid ridge ridge solid;
  border-width: 1px 0.2em 0.2em 1px;
  box-shadow: 0.5em 0.5em 0.5em #494949;
}
.box .content {
  display: block;
  margin: 0.5em auto;
  box-sizing: border-box;
  width: 90%;
}
.box_edge {
  position: absolute;
  display: inline-block;
  z-index: 10;
  box-sizing: content-box;
  border-width: 0;
}
.box_inner {
  width: 2em;
  height: 1em;
}
.box_outer {
  width: 0.5em;
  height: 0.5em;
}
.pos_u_inner {
  top: 0;
}
.pos_l_inner {
  left: 0;
}
.pos_r_inner {
  right: 0;
}
.pos_b_inner {
  bottom: 0;
}
.pos_u_outer {
  bottom: -0.5em;
}
.pos_l_outer {
  right: -0.5em;
}
.pos_r_outer {
  left: -0.5em;
}
.pos_b_outer {
  top: -0.5em;
}
.bd-u-w {
  border-top-width: 0.4em;
}
.bd-l-w {
  border-left-width: 0.4em;
}
.bd-r-w {
  border-right-width: 0.4em;
}
.bd-b-w {
  border-bottom-width: 0.4em;
}
.bd-c_lime {
  border-color: lime;
}
.bd-c_blue {
  border-color: blue;
}
.bd-c_magenta {
  border-color: magenta;
}
.bd-c_orange {
  border-color: orange;
}
.bd-s_solid {
  border-style: solid;
}
.box_border_lime {
  border-color: gray lime lime gray;
}
.box_border_blue {
  border-color: gray blue blue gray;
}
.box_border_magenta {
  border-color: gray magenta magenta gray;
}
.box_border_orange {
  border-color: gray orange orange gray;
}
/* ===== Page ===== */
div.wrapper {
  width: 100%;
  color: black;
  font-family: Arial, "Yu Gothic", "Hiragino Kaku Gothic ProN", 'メイリオ', Meiryo, "ＭＳ Ｐゴシック", "MS P Gothic", Verdana, Helvetica, sans-serif;
  background: linear-gradient(to right, #00384F, #0082B6);
  background-image: url("/common/img-event/researchcup2018/img_main/bg.jpg");
  background-repeat: repeat-y;
  background-size: 100% auto;
  text-align: center;
  line-height: 1.6;
  display: block;
  border: solid 1px black;
  /* PC */
  /* smartPhone */
}
@media screen and (min-width: 641px) {
  div.wrapper {
    font-size: 12pt;
  }
}
@media only screen and (max-width: 640px) {
  div.wrapper {
    font-size: 4vw;
  }
}
div.wrapper div.header {
  display: block;
  width: 90%;
  margin: 0 auto 1.5em auto;
  text-align: center;
}
div.wrapper div.header img {
  width: 90%;
  margin-top: 2em;
  margin-bottom: 2em;
  text-align: center;
  border-top: solid 0.1em black;
  border-left: solid 0.1em black;
  border-bottom: groove 0.2em black;
  border-right: groove 0.2em black;
  box-shadow: 0.5em 0.5em 0.5em #494949;
}
div.wrapper div.header div.theme {
  text-align: left;
  background-color: rgba(255, 255, 255, 0.8);
  display: block;
  padding: 1em;
  font-weight: bold;
  border-radius: 1em;
  border-style: solid ridge ridge solid;
  border-width: 1px 0.2em 0.2em 1px;
  border-color: gray blue blue gray;
  overflow: hidden;
  margin: 0 auto 1.5em auto;
  box-shadow: 0.5em 0.5em 0.5em #494949;
  /* PC */
  font-size: 16pt;
  /* smartPhone */
}
div.wrapper div.header div.theme p {
  font-weight: bold;
  text-align: justify;
  text-justify: auto;
}
@media screen and (max-width: 640px) {
  div.wrapper div.header div.theme {
    font-size: 4.5vw;
  }
}
div.wrapper div.information {
  width: 90%;
  margin: 0 auto 1.5em auto;
  display: block;
  text-align: center;
}
div.wrapper div.information div.content table#program {
  width: 100%;
  display: block;
  margin: 1em auto;
  /* PC */
  /* smartPhone */
}
@media screen and (min-width: 641px) {
  div.wrapper div.information div.content table#program {
    border-collapse: collapse;
  }
}
@media only screen and (max-width: 640px) {
  div.wrapper div.information div.content table#program {
    border-collapse: separate;
    border-spacing: 0.6em 0.6em;
  }
}
div.wrapper div.information div.content table#program tr {
  border-top: solid black 0.1em;
  border-bottom: solid black 0.1em;
}
div.wrapper div.information div.content table#program tr th {
  padding: 0.2em;
  box-sizing: border-box;
  text-align: center;
  vertical-align: middle;
  font-weight: bold;
  font-size: larger;
  /* PC */
  /* smartPhone */
}
@media screen and (min-width: 641px) {
  div.wrapper div.information div.content table#program tr th {
    width: 15%;
    margin-right: 5%;
  }
}
@media only screen and (max-width: 640px) {
  div.wrapper div.information div.content table#program tr th {
    width: 95%;
    display: block;
    border-bottom: groove 0.1em;
    border-top: solid black 0.1em;
    border-right: solid black 0.1em;
    border-left: solid black 0.1em;
    background-color: #00098F;
    color: yellow;
  }
}
div.wrapper div.information div.content table#program tr td {
  padding: 0.2em;
  box-sizing: border-box;
  vertical-align: middle;
  /* PC */
  /* smartPhone */
}
@media screen and (min-width: 641px) {
  div.wrapper div.information div.content table#program tr td {
    width: 80%;
  }
}
@media only screen and (max-width: 640px) {
  div.wrapper div.information div.content table#program tr td {
    width: 95%;
    display: block;
    border-right: solid black 0.1em;
    border-left: solid black 0.1em;
    border-bottom: solid black 0.1em;
  }
}
div.wrapper div.information div.content table#program tr td img#map {
  max-width: 100%;
}
div.wrapper div.report {
  width: 90%;
  margin: 0 auto 1.5em auto;
  text-align: center;
  border-color: gray orange orange gray;
}
div.wrapper div.report div.small_header {
  box-sizing: content-box;
  margin-bottom: 1em;
}
div.wrapper div.report div.small_header div.title_marker {
  display: block;
  width: 100%;
  height: 3em;
  background-color: #FFEEB2;
  border-bottom-style: ridge;
  border-bottom-width: 0.2em;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
div.wrapper div.report div.small_header h3 {
  display: block;
  position: relative;
  height: 2em;
  width: 100%;
  padding: 0;
  margin: 0;
  z-index: 10;
  font-weight: bold;
  font-size: larger;
  /* PC */
  /* smartPhone */
}
@media screen and (min-width: 641px) {
  div.wrapper div.report div.small_header h3 {
    font-size: 18px;
  }
}
@media screen and (max-width: 640px) {
  div.wrapper div.report div.small_header h3 {
    font-size: 4.5vw;
  }
}
div.wrapper div.report div.report_content {
  width: 100%;
  display: block;
  height: auto;
  overflow: hidden;
  padding: 0.5em;
  margin: 0 auto 1em auto;
  box-sizing: border-box;
}
div.wrapper div.organize {
  width: 90%;
  margin: 0 auto 1.5em auto;
}
div.wrapper div.organize div.box.bg_white div.content {
  display: block;
  font-weight: bold;
}
div.wrapper div.organize div.box.bg_white div.content img {
  vertical-align: middle;
  height: 2em;
  max-width: 100%;
  margin-right: 1em;
}
/* ===== Page (form) ===== */
table#form {
  width: 100%;
  border-collapse: collapse;
}
table#form tbody tr.team {
  background-color: #FFFFE6;
}
table#form tbody tr.member {
  background-color: #E6FFF9;
}
table#form tbody tr.guardian {
  background-color: #E6E6FF;
}
table#form tbody tr.lunch {
  background-color: #FFF1E6;
}
table#form tbody tr.other {
  background-color: #FCE6FF;
}
table#form tbody tr th {
  border: solid black 1px;
  text-align: center;
  vertical-align: middle;
  font-weight: bold;
  padding: 0 0.5em;
}
table#form tbody tr th a {
  text-decoration: none;
}
table#form tbody tr th a:link {
  color: #03c;
}
table#form tbody tr th a:visited {
  color: #03c;
}
table#form tbody tr th a:hover,
table#form tbody tr th a:active {
  color: #2c5ef4;
}
table#form tbody tr td {
  border: solid black 1px;
  vertical-align: middle;
}
table#form tbody tr td input[type="number"] {
  text-align: right;
}
