body {
  background-image: url('../images/bg.png');
  background-position: center top;
  background-repeat: no-repeat;
  background-size: 100%;
  background-color: #f1f1f1;
  min-width: 1260px;
}

#hero {
  width: 100%;
  padding: 60px 0 60px 0;
  text-align: center;
}

#gnav {
  width: 100%;
  text-align: center;
}

#gnav ul {
  //width: 1100px;
  width: 1050px;
  background-color: var(--site-main-color);
  margin: 0 auto;
  border-radius: 1em;
}

#gnav ul li {
  display: inline-block;
}

#gnav ul li a {
  display: inline-block;
  //padding: 1em 1em;
  padding: 1em 0.5em;
  width: auto;
  vertical-align: top;
  text-align: center;
  font-size: 1em;
  color: var(--site-white-color);
  text-decoration: none;
}

#gnav ul li#gnav-app a {
  color: var(--site-white-color);
  background-color: #e05b26;
}

#gnav ul li:hover a {
  text-decoration: underline;
}

#gnav ul li#gnav-ondemand #gnav-ondemand-new {
  display: inline-block;
  vertical-align: top;
  margin-right: 0.5em;
  padding: 0.2em 0.5em; 
  font-size: 0.8em;
  color: var(--site-white-color);
  border: solid 1px var(--site-white-color);
}

#gnav ul li#gnav-ondemand a:hover {
  text-decoration: none;
}

#gnav ul li#gnav-ondemand a:hover #gnav-ondemand-content {
  text-decoration: underline;
}

#sns {
  margin-top: 40px;
  width: 100%;
  font-size: 0.9em;
  text-align: center;
  list-style-type: none;
  line-height: 1em;
}

#sns li {
  display: inline-block;
}

#sns li a {
  display: inline-block;
  padding: 0.6em 0;
  margin: 0 0.5em;
  text-align: center;
  background-color: var(--site-white-color);
  text-decoration: none;
  width: 16em;
  border-radius: 0.2em;
}

#sns li#sns-facebook a {
  color: #3c46a8;
}

#sns li#sns-twitter a {
  color: #000000;
}

#sns li a:hover {
  opacity: 0.8;
}

#sns li a img {
  vertical-align: -0.8em;;
  height: 36px;
  margin-right: 0.5em;
}

#info-container {
  width: 100%;
  text-align: center;
  margin-top: 40px;
}

#info {
  padding: 30px 60px;
  margin: 0 auto;
  width: calc(900px - 120px);
  background-color: var(--site-white-color);
  text-align: center;
  border-radius: 0.2em;
}

#info table {
  width: 100%;
}

#info table tr th,
#info table tr td {
  padding: 0.2em 0.5em;
  text-align: left;
  line-height: 1.6em;
  font-size: 0.9em;
}

#info table tr td,
#info table tr td a {
  color: #0c0c0c;
}

#info table tr td a {
  text-decoration: underline;
}

.info-date {
  display: inline-block;
  padding: 0.3em 0 0.4em 0;
  width: 7em;
  color: var(--site-white-color);
  line-height: 1em;
  font-weight: normal;
  background-color: #878787;
  border-radius: 2px;
  text-align: center;
}

.info-date.new {
  background-color: var(--site-red-color);
}
 
#ondemand,
#shuryo-hokoku {
  padding: 30px 60px;
  margin: 40px auto 0 auto;
  width: calc(900px - 120px);
  text-align: center;
  font-size: 1.1em;
  line-height: 1.6em;
  background-color: var(--site-white-color);
  border-radius: 0.2em;
}

#ondemand .link-button,
#shuryo-hokoku .link-button {
  margin: 0.5em auto 1em auto;
  font-size: 0.9em;
}

#ondemand .link-button {
  margin-bottom: 0;
}

#kichou-tokubetsu-kouen-container {
  width: 100%;
  text-align: center;
  margin-top: 40px;
}

#kichou-tokubetsu-kouen section {
  padding: 30px;
  margin: 15px auto 0 auto;
  width: calc(900px - 60px);
  background-color: #ebebeb;
  text-align: center;
  border-radius: 0.2em;
}

#kichou-tokubetsu-kouen section:first-of-type {
  margin-top: 0;
}

#kichou-tokubetsu-kouen section:hover {
  opacity: 0.6;
}

#kichou-tokubetsu-kouen section a {
  display: inline-block;
  color: var(--site-black-color);
  width: 100%;
}

#kichou-tokubetsu-kouen section .date-kubun {
  display: inline-block;
  vertical-align: top;
  width: 10%;
}

#kichou-tokubetsu-kouen section .date {
  display: inline-block;
  width: 100%;
  text-align: center;
  background-color: #1659ad;
  color: var(--site-white-color);
  border-radius: 1em 1em 0 0;
  line-height: 1em;
  padding: 1em 0;
  font-size: 1.3em;
}

#kichou-tokubetsu-kouen section .date small {
  font-size: 0.7em;
}

#kichou-tokubetsu-kouen section .kubun {
  display: inline-block;
  width: 100%;
  text-align: center;
  color: #1659ad;
  background-color: var(--site-white-color);
  border-radius: 0 0 1em 1em;
  line-height: 1em;
  padding: 0.7em 0 1em 0;
  font-size: 1.1em;
}

#kichou-tokubetsu-kouen section .kubun-content {
  writing-mode: vertical-rl;
  margin: 0 auto;
}

#kichou-tokubetsu-kouen section .photo {
  display: inline-block;
  vertical-align: top;
  width: 25%;
}

#kichou-tokubetsu-kouen section .photo img {
  width: 150px;
}

#kichou-tokubetsu-kouen section .text {
  display: inline-block;
  vertical-align: top;
  width: calc(65% - 2em);
  text-align: left;
}

#kichou-tokubetsu-kouen section .text h1 {
  padding-top: 0.5em;
  font-size: 1.5em;
  line-height: 1.2em;
}

#kichou-tokubetsu-kouen section .text .lecturer {
  margin-top: 15px;
  font-size: 1.3em;
}

#kichou-tokubetsu-kouen section .text .lecturer-org {
  margin-top: 5px;
  font-size: 0.8em;
}

#arukikata-container {
  margin: 50px 0 40px 0;
  text-align: center;
  width: 100%;
//  padding: 50px 0;
//  background-color: #f5f5f5;
}

#arukikata {
  width: 800px;
  margin: 0 auto;
  text-align: center;
//  outline: solid 1px blue;
}

#arukikata > h1 {
  width: 675px;
  margin: 0 auto 0 auto;
  line-height: 1.7em;
  border-bottom: solid 3px #1659ad;
}

#arukikata > h2 {
  margin-top: 10px;
  font-size: 1.5em;
  color: #111111;
  font-weight: normal;
  line-height: 1.6em;
}

#arukikata > h2 strong {
  font-size: 1.2em;
  letter-spacing: 2px;
  color: #e13f40;
}

#arukikata-table-container  {
  width: 100%;
  text-align left;
}

#arukikata-table-container > table {
  width: 630px;
}

#arukikata-table-container > table tr {
  border-bottom: solid 1px #0950b3;
}

#arukikata-table-container > table tr:last-of-type {
  border-bottom: none;
}

#arukikata-table-container > table tr th,
#arukikata-table-container > table tr td {
  padding: 15px 7px;
  font-size: 1em;
  text-align: left;
  line-height: 1.5em;
  vertical-align: middle;
}

#arukikata-table-container > table tr td.num {
  width: 45px;
  text-align: center;
}

#arukikata-table-container > table tr td.num img {
  height: 45px;
  vertical-align: -7px;
}

#arukikata-table-container > table tr td.desc {
  padding-left: 20px;
  padding-right: 30px;
}

#arukikata-table-container > table tr th {
  width: 3em;
  font-size: 1.1em;
  line-height: 1em;
  font-weight: bold;
  color: #1659ad;
}

#arukikata-llustration {
  margin-top: -340px;
  margin-left: 570px;
  width: 250px;
}

#arukikata-llustration img {
  width: 250px;
}

#arukikata-norikoete {
  width: 100%;
  margin-top: 15px;
  font-size: 1.1em;
  line-height: 1.4em;
  text-align: center;
}
