@charset "utf-8";
@-webkit-keyframes opacity {
  50% {
    opacity: .5;
  }
}

@-moz-keyframes opacity {
  50% {
    opacity: .5;
  }
}

@keyframes opacity {
  50% {
    opacity: .5;
  }
}

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p,
a, address,
em, img,
small, strong,
b, u, i, center,
dl, dt, dd, ol, ul, li,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, embed,
figure, figcaption, footer, header,
main, nav, section,
time, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-style: normal;
  font-weight: normal;
  font-size: 100%;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, figcaption, figure,
footer, header, main, nav, section {
  display: block;
}

body {
  position: relative;
  color: #333;
  line-height: 1;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
  font-size: 81.3%;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  line-height: 1.692em;
  width: 100%;
  border-spacing: 0;
  margin-bottom: 29px;
}
table th, table td {
  padding: 8px 15px;
  border: 1px solid #dfdfdf;
}
table th {
  background-color: #eee;
  font-weight: bold;
  text-align: left;
  width: 128px;
}

a {
  color: #333;
  text-decoration: none;
}
a:hover {
  color: #b01a3c;
}

/* normalize.css v2.1.3 | MIT License | git.io/normalize */
/* ==========================================================================
   Base
   ========================================================================== */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/* ==========================================================================
   Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background: transparent;
}

/**
 * Address `outline` inconsistency between Chrome and other browsers.
 */
a:focus {
  outline: thin dotted;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0;
}

/* ==========================================================================
   Typography
   ========================================================================== */
/**
 * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
 */
b,
strong {
  font-weight: bold;
}

.btn-sprite, .btn-about, .btn-active-about, .btn-active-activity, .btn-active-committee, .btn-active-company, .btn-active-top, .btn-activity, .btn-committee, .btn-company, .btn-recruit, .btn-top {
  background: url('/reimages/btn.png') no-repeat;
}

.btn-about {
  background-position: 0 -420px;
  height: 60px;
  width: 160px;
}
.btn-about:hover, .btn-about.about_hover, .btn-about.about-hover {
  background-position: 0 -180px;
}

.btn-active-about {
  background-position: 0 -300px;
  height: 60px;
  width: 160px;
}

.btn-active-activity {
  background-position: 0 -480px;
  height: 60px;
  width: 160px;
}

.btn-active-committee {
  background-position: 0 -60px;
  height: 60px;
  width: 160px;
}

.btn-active-company {
  background-position: 0 -720px;
  height: 60px;
  width: 160px;
}

.btn-active-top {
  background-position: 0 -840px;
  height: 60px;
  width: 160px;
}

.btn-activity {
  background-position: 0 -600px;
  height: 60px;
  width: 160px;
}
.btn-activity:hover, .btn-activity.activity_hover, .btn-activity.activity-hover {
  background-position: 0 -240px;
}

.btn-committee {
  background-position: 0 -120px;
  height: 60px;
  width: 160px;
}
.btn-committee:hover, .btn-committee.committee_hover, .btn-committee.committee-hover {
  background-position: 0 0;
}

.btn-company {
  background-position: 0 -780px;
  height: 60px;
  width: 160px;
}
.btn-company:hover, .btn-company.company_hover, .btn-company.company-hover {
  background-position: 0 -540px;
}

.btn-recruit {
  background-position: 0 -660px;
  height: 60px;
  width: 160px;
}
.btn-recruit:hover, .btn-recruit.recruit_hover, .btn-recruit.recruit-hover {
  background-position: 0 -360px;
}

.btn-top {
  background-position: 0 -960px;
  height: 60px;
  width: 160px;
}
.btn-top:hover, .btn-top.top_hover, .btn-top.top-hover {
  background-position: 0 -900px;
}

.btn-sprite, .btn-about, .btn-active-about, .btn-active-activity, .btn-active-committee, .btn-active-company, .btn-active-top, .btn-activity, .btn-committee, .btn-company, .btn-recruit, .btn-top {
  display: block;
  text-indent: -9999px;
}

.arrow {
  font-size: 0.923em;
}
.arrow:before {
  position: relative;
  display: inline-block;
  background: url(/reimages/ico-arrow.png) no-repeat;
  width: 6px;
  height: 7px;
  margin-right: 5px;
  bottom: 2px;
  content: "";
}

.btn {
  display: block;
  color: #000;
  background-color: #f7f7f7;
  line-height: 28px;
  font-size: 1em;
  text-align: center;
  border: 1px solid #dbdbdb;
  -webkit-transition: color 0.2s;
  -moz-transition: color 0.2s;
  transition: color 0.2s;
}

.anchor-nav {
  line-height: 2.692em;
  padding: 13px 14px 16px;
  border-top: 5px solid #e3e3e3;
  border-bottom: 1px solid #e3e3e3;
  margin: -6px 0 29px;
}
.anchor-nav:after {
  clear: both;
  display: block;
  content: "";
}
.anchor-nav li {
  float: left;
  margin-right: 18px;
}
.anchor-nav a:before {
  position: relative;
  display: inline-block;
  background: url(/reimages/ico-anchor.png) no-repeat;
  width: 9px;
  height: 6px;
  margin-right: 7px;
  bottom: 2px;
  content: "";
}

.anchor-head {
  padding-top: 12px;
  margin-top: -12px;
}

.text-right {
  text-align: right;
}

.table tr:nth-of-type(even) {
  background-color: #f7f7f7;
}
.table.col-2 td {
  width: 50%;
}
.table.col-3 td {
  width: 33.33333333333333%;
}
.table.col-4 td {
  width: 25%;
}
.table.col-5 td {
  width: 20%;
}

.company.roster h4 {
  margin-bottom: 16px;
}
.company.roster table a {
  text-decoration: underline;
}
.company.roster table a:hover {
  text-decoration: none;
}
table.table.roster tr th { width: auto; text-align: center;}
table.table.roster tr td { text-align: center;}
table.table.roster tr th:nth-child(1) { width: 20%;}
table.table.roster tr td:nth-child(3) { width: 40%;}

.tab {
  padding-top: 6px;
}
.tab:after {
  clear: both;
  display: block;
  content: "";
}
.tab li {
  float: left;
  line-height: 48px;
  text-align: center;
  width: 113px;
}
.tab li:first-child {
  width: 115px;
}
.tab li:first-child a {
  border-left: 1px solid #dfdfdf;
}
.tab li.active {
  position: relative;
  background-color: #f9f9f9;
}
.tab li.active:before {
  position: absolute;
  display: block;
  background-color: #b01a3c;
  width: 100%;
  height: 5px;
  border: 1px solid #dfdfdf;
  border-bottom: none;
  left: -1px;
  top: -6px;
  content: "";
}
.tab li.active a {
  color: #b01a3c;
}
.tab a {
  display: block;
  font-weight: bold;
  border: 1px solid #dfdfdf;
  border-left: none;
  -webkit-transition: color 0.2s, background-color 0.2s;
  -moz-transition: color 0.2s, background-color 0.2s;
  transition: color 0.2s, background-color 0.2s;
}
.tab a:hover {
  background-color: #f9f9f9;
}
.tab + div {
  position: relative;
  padding: 12px 14px;
  border: 1px solid #dfdfdf;
  border-top: none;
  margin-bottom: 30px;
}
.tab + div div {
  position: absolute;
  background-color: #fff;
}
.tab + div div:first-of-type {
  z-index: 4;
}
.tab + div div:nth-of-type(2) {
  z-index: 3;
}
.tab + div div:nth-of-type(3) {
  z-index: 2;
}
.tab + div div:nth-of-type(4) {
  z-index: 1;
}
.tab + div div table {
  margin-bottom: 0;
}
.tab + div iframe {
  margin-bottom: 14px;
}

.blank {
  color: #333;
}
.blank:after {
  position: relative;
  display: inline-block;
  background: url(/reimages/ico-blank.png) no-repeat;
  width: 10px;
  height: 9px;
  margin-left: 5px;
  bottom: 1px;
  content: "";
}

.arrow-large:before {
  position: relative;
  display: inline-block;
  background: url(/reimages/ico-arrow-large.gif) no-repeat;
  width: 12px;
  height: 12px;
  margin-right: 6px;
  content: "";
}

header {
  width: 960px;
  margin: 24px auto 15px;
}
header:after {
  clear: both;
  display: block;
  content: "";
}
header h1 {
  float: left;
}
header img {
  display: block;
}
header div {
  float: right;
  line-height: 17px;
  margin-top: 14px;
}
header div > ul:first-of-type {
  float: left;
  font-size: 0;
  padding-right: 3px;
  border-right: 1px dotted #ccc;
  margin-right: 13px;
}
header div > ul:first-of-type li {
  display: inline;
  margin-right: 11px;
}
header div > ul:first-of-type a {
  font-size: 11px;
  -webkit-transition: color 0.2s;
  -moz-transition: color 0.2s;
  transition: color 0.2s;
}
header div > ul:first-of-type a:before {
  bottom: 1px;
}
header div > ul:last-of-type {
  float: left;
  font-size: 0;
  padding-right: 14px;
  border-right: 1px dotted #ccc;
  margin-right: 13px;
}
header div > ul:last-of-type li {
  display: inline;
  font-size: 11px;
}
header div > ul:last-of-type li:first-child {
  padding-right: 10px;
  border-right: 1px solid #ddd;
  margin-right: 9px;
}
header div > ul:last-of-type a {
  -webkit-transition: color 0.2s;
  -moz-transition: color 0.2s;
  transition: color 0.2s;
}
header div > ul:last-of-type a.active {
  color: #b01a3c;
  font-weight: bold;
}
header div > ul:last-of-type a:hover {
  text-decoration: underline;
}
header div dl {
  float: left;
  font-size: 11px;
}
header div dl dt {
  float: left;
  margin-right: 10px;
}
header div dl dd {
  float: left;
  margin-top: -2px;
}
header div dl li {
  float: left;
}
header div dl li:first-child {
  margin-right: 7px;
}
header div dl a {
  display: block;
  background-color: #e6e6e6;
  line-height: 20px;
  padding: 0 5px;
  border: 1px solid #dbdbdb;
}
header div dl a.active {
  color: #b01a3c;
  background-color: #ffe2e2;
  font-weight: bold;
}

nav {
  background: url(/reimages/bg-nav.jpg) repeat-x bottom;
  margin-bottom: 26px;
}
nav ul {
  width: 960px;
  margin: 0 auto;
}
nav ul:after {
  clear: both;
  display: block;
  content: "";
}
nav li {
  float: left;
}

main.normal {
  font-size: 1em;
}
main.large {
  font-size: 1.154em;
}
main > p {
  font-size: 0.769em;
  text-align: right;
}
main > p a {
  background: url(/reimages/ico-prev-top.gif) no-repeat;
  padding-left: 16px;
  -webkit-transition: color 0.2s;
  -moz-transition: color 0.2s;
  transition: color 0.2s;
}
main.top > p {
  width: 960px;
  margin: 0 auto 12px;
}

main:not(.top) {
  width: 960px;
  margin: 0 auto;
}
main:not(.top) > ol {
  font-size: 0.769em;
  padding-bottom: 12px;
  width: 960px;
  border-bottom: 1px solid #e3e3e3;
  margin: 0 auto 45px;
}
main:not(.top) > ol li {
  display: inline;
  margin-right: 9px;
}
main:not(.top) > ol li:after {
  margin-left: 9px;
  content: ">";
}
main:not(.top) > ol li:last-child:after {
  content: "";
}
main:not(.top) h2 {
  font-weight: bold;
  font-size: 2em;
  letter-spacing: .2em;
  margin-bottom: 31px;
}
main:not(.top) h3 {
  position: relative;
  font-weight: bold;
  font-size: 1.538em;
  padding-bottom: 12px;
  border-bottom: 2px solid #e3e3e3;
  margin-bottom: 16px;
}
main:not(.top) h3:after {
  position: absolute;
  background-color: #840e29;
  width: 1em;
  height: 2px;
  left: 0;
  bottom: -2px;
  content: "";
}
main:not(.top) h4 {
  color: #b01a3c;
  background-color: #f2f2f2;
  line-height: 30px;
  font-weight: bold;
  font-size: 1.154em;
  padding-left: 8px;
  border-left: 5px solid #b01a3c;
  margin-bottom: 10px;
}
main:not(.top) h5 {
  font-weight: bold;
  margin-bottom: 10px;
}
main:not(.top) h6 {
  color: #b01a3c;
  line-height: 66px;
  font-weight: bold;
  font-size: 1.385em;
  padding-left: 8px;
  border-top: 3px solid #b01a3c;
  border-bottom: 1px solid #ebebeb;
}
main:not(.top) > p {
  clear: both;
  padding-top: 67px;
  margin-bottom: 12px;
}

.content {
  float: left;
  width: 680px;
  margin-top: 18px;
}
.content p, .content ul, .content ol, .content address {
  line-height: 2em;
  margin-bottom: 28px;
}

.sidebar {
  float: right;
  width: 240px;
}
.sidebar dt {
  color: #000;
  background-color: #f9f9f9;
  line-height: 40px;
  font-weight: bold;
  padding-left: 9px;
  border-bottom: 1px solid #e3e3e3;
}
.sidebar dd {
  line-height: 2.308em;
  padding: 9px 23px 14px;
  border-bottom: 1px solid #e3e3e3;
}
.sidebar dl a {
  font-size: inherit;
}
.sidebar > ul a {
  display: block;
  color: #000;
  line-height: 50px;
  font-size: 1em;
  padding-left: 12px;
  border-bottom: 1px solid #e3e3e3;
}
.sidebar > ul a:hover {
  color: #b01a3c;
}
.sidebar div {
  background-color: #f2f2f2;
  padding: 10px;
  margin-top: 24px;
}
.sidebar div p:first-of-type {
  padding-bottom: 10px;
  border-bottom: 1px solid #dbdbdb;
}
.sidebar div p:first-of-type img {
  margin: 0 auto;
}
.sidebar div p:last-of-type {
  padding-top: 8px;
  border-top: 1px solid #fff;
  margin-bottom: 13px;
}
.sidebar div p:last-of-type:hover {
  -webkit-animation: opacity .5s ease-in-out;
  -moz-animation: opacity .5s ease-in-out;
  animation: opacity .5s ease-in-out;
}
.sidebar div li {
  margin-bottom: 12px;
}
.sidebar div img {
  display: block;
}

footer > div {
  background-color: #e7e7e7;
  padding: 13px 0 34px;
  border-top: 1px solid #c6c6c6;
}
footer > div > div {
  width: 960px;
  margin: 0 auto;
}
footer > div > div:after {
  clear: both;
  display: block;
  content: "";
}
footer > div > div > div:first-of-type {
  float: left;
  font-size: 0;
  margin-top: 10px;
}
/*
footer > div > div > div:last-of-type {
  float: right;
}
*/
footer > div ul {
  margin-bottom: 17px;
}
footer > div ul a {
  -webkit-transition: color 0.2s;
  -moz-transition: color 0.2s;
  transition: color 0.2s;
}
footer > div li {
  display: inline;
  font-size: 11px;
  margin-right: 12px;
}
footer > div li .arrow {
  font-size: 11px;
}
footer > div li .arrow:before {
  bottom: 1px;
}
footer > div p {
  display: inline;
  font-size: 11px;
}

form {
  margin: 0;
}

.gallery {
  position: relative;
  height: 380px;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  margin: 4px auto 40px;
  overflow: hidden;
}

.gallery ul li {
  background-repeat: no-repeat;
  float: left;
  display: inline;
  width: 960px;
  height: 380px;
}
.gallery ul li:first-child {
  background-image: url(/reimages/top/bg-gallery1.jpg);
}
.gallery ul li:nth-child(2) {
  background-image: url(/reimages/top/bg-gallery2.jpg);
}
.gallery ul li:last-child {
  background-image: url(/reimages/top/bg-gallery3.jpg);
}

.gallery ul:after {
  clear: both;
  display: block;
  content: "";
}

.gallery ul {
  display: inline-block;
}

.top .top-head {
  width: 960px;
  margin: 0 auto 38px;
}
.top .top-head:after {
  clear: both;
  display: block;
  content: "";
}
.top .top-head section {
  float: left;
  width: 470px;
}
.top .top-head section h2 {
  margin-bottom: 18px;
}
.top .top-head section h2:after {
  width: 4em;
}
.top .top-head section section {
  float: left;
}
.top .top-head section section:first-of-type {
  position: relative;
  width: 235px;
  height: 154px;
}
.top .top-head section section:first-of-type:after {
  position: absolute;
  width: 219px;
  border-top: 1px dotted #ccc;
  left: 0;
  bottom: 1px;
  content: "";
}
.top .top-head section section:nth-of-type(2) {
  position: relative;
  padding-left: 15px;
  width: 219px;
  height: 154px;
  border-left: 1px dotted #ccc;
}
.top .top-head section section:nth-of-type(2):after {
  position: absolute;
  width: 219px;
  border-top: 1px dotted #ccc;
  right: 0;
  bottom: 1px;
  content: "";
}
.top .top-head section section:nth-of-type(3) {
  padding-top: 15px;
  width: 235px;
}
.top .top-head section section:last-of-type {
  padding: 15px 0 0 15px;
  padding-left: 15px;
  width: 219px;
  border-left: 1px dotted #ccc;
}
.top .top-head section h5 {
  line-height: 1.286em;
  font-weight: bold;
  font-size: 1.077em;
  padding-left: 7px;
  border-left: 4px solid #b21b3e;
  margin-bottom: 11px;
}
.top .top-head section h5 + img {
  float: left;
  margin-right: 9px;
}
.top .top-head > article {
  float: right;
  position: relative;
  width: 470px;
}
.top .top-head > article h2 {
  margin-bottom: 15px;
}
.top .top-head > article h2:after {
  width: 4em;
}
.top .top-head > article p {
  position: absolute;
  right: 0;
  top: 2px;
}
.top .top-head > article p a {
  color: #000;
}
.top .top-head > article p a:hover {
  color: #b01a3c;
}
.top .top-head > article article {
  line-height: 1.692em;
  padding: 11px 13px;
  border-top: 1px dotted #ccc;
}
.top .top-head > article article:nth-of-type(even) {
  background-color: #f7f7f7;
}
.top .top-head > article article:last-of-type {
  border-bottom: 1px dotted #ccc;
}
.top .top-head > article article:after {
  clear: both;
  display: block;
  content: "";
}
.top .top-head > article article a {
  font-size: inherit;
  margin-left: -11px;
}
.top .top-head > article h5 {
  float: left;
  width: 340px;
}
.top .top-head ul {
  line-height: 1.692em;
}
.top .top-head time {
  float: left;
  margin-right: 23px;
}
.top .top-foot {
  width: 960px;
  margin: 0 auto 33px;
}
.top .top-foot:after {
  clear: both;
  display: block;
  content: "";
}
.top .top-foot section {
  float: left;
  width: 700px;
}
.top .top-foot section h2 {
  margin-bottom: 14px;
}
.top .top-foot section h2:after {
  width: 7em;
}
.top .top-foot section h2 + img {
  float: left;
}
.top .top-foot section p:first-of-type {
  line-height: 1.846em;
  margin-bottom: 16px;
}
.top .top-foot aside {
  float: right;
  width: 240px;
  margin-top: 27px;
}
.top .top-foot aside > p {
  background-color: #fff;
  margin-bottom: 14px;
  -webkit-transition: opacity 0.2s;
  -moz-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
.top .top-foot aside > p:hover {
  opacity: .8;
}
.top .top-foot aside > p img {
  display: block;
}
.top .top-foot aside ul {
  border: 1px solid #dbdbdb;
  border-top: none;
}
.top .top-foot aside ul img {
  float: left;
  margin-right: 7px;
}
.top .top-foot aside ul p {
  font-size: 0.923em;
}
.top .top-foot aside ul a {
  display: block;
  color: #333;
  background: url(/reimages/top/ico-arrow.png) no-repeat 222px;
  padding: 10px 0 10px 8px;
  border-bottom: 1px dotted #ccc;
  -webkit-transition: background-color 0.2s;
  -moz-transition: background-color 0.2s;
  transition: background-color 0.2s;
}
.top .top-foot aside ul a:hover {
  background-color: #f7f7f7;
}
.top .top-foot aside li:last-child a {
  border-bottom: none;
}
.top .top-foot h4 {
  font-weight: bold;
  font-size: 1.231em;
  margin-bottom: 6px;
}
.top .top-foot div {
  float: right;
  padding-top: 5px;
  width: 538px;
}
.top .top-foot h6 {
  position: relative;
  color: #000;
  background-color: #f7f7f7;
  line-height: 24px;
  font-weight: bold;
  font-size: 0.923em;
  padding-left: 10px;
  border: 1px solid #dbdbdb;
}
.top .top-foot h6:before {
  position: absolute;
  background-color: #b01a3c;
  width: 4px;
  height: 26px;
  left: -1px;
  top: -1px;
  content: "";
}
.top .top-foot span {
  display: block;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 0.875em;
  margin-top: 3px;
}
.top .top-activity {
  background-color: #f5f5f5;
  text-align: center;
  padding: 26px 0 9px;
  border-top: 1px solid #dbdbdb;
  border-bottom: 1px solid #dbdbdb;
  margin-bottom: 38px;
}
.top .top-activity section {
  width: 960px;
  margin: 0 auto;
}
.top .top-activity ul {
  clear: both;
}
.top .top-activity ul:after {
  clear: both;
  display: block;
  content: "";
}
.top .top-activity ul a:hover {
  color: #333;
}
.top .top-activity li {
  float: left;
  background-color: #fff;
  border: 1px solid #ccc;
  margin: 0 21px 30px 0;
}
.top .top-activity li:hover img {
  -webkit-animation: opacity .5s ease-in-out;
  -moz-animation: opacity .5s ease-in-out;
  animation: opacity .5s ease-in-out;
}
.top .top-activity li:nth-child(4n) {
  margin-right: 0;
}
.top .top-activity img {
  display: block;
  border-bottom: 1px solid #ccc;
}
.top .top-activity span {
  display: block;
  background-color: #f5f5f5;
  line-height: 39px;
}
.top > aside {
  color: #000;
  padding-bottom: 27px;
  width: 960px;
  border-bottom: 1px dotted #ccc;
  margin: 0 auto 38px;
}
.top > aside:after {
  clear: both;
  display: block;
  content: "";
}
.top > aside h2 {
  margin-bottom: 19px;
}
.top > aside h2:after {
  width: 9em;
}
.top > aside ul {
  float: left;
  font-size: 0.823em;
  padding-left: 8px;
  width: 124px;
  border-left: 1px dotted #ccc;
}
.top > aside ul:last-of-type {
  width: auto;
}
.top > aside li {
  margin-bottom: 12px;
}
.top > aside li:last-child {
  margin-bottom: 0;
}
.top > aside a {
  color: #000;
}
.top > aside a:hover {
  color: #b01a3c;
  text-decoration: underline;
}
.top h2 {
  position: relative;
  color: #000;
  font-weight: bold;
  font-size: 1.385em;
  background: url(/reimages/top/bg-head-light.gif) repeat-x bottom;
  padding-bottom: 14px;
}
.top h2:after {
  position: absolute;
  background: url(/reimages/top/bg-head-dark.gif) repeat-x bottom;
  height: 4px;
  left: 0;
  bottom: 0;
  content: "";
}
.top h3 {
  float: left;
  color: #000;
  font-weight: bold;
  font-size: 18px;
  margin-bottom: 16px;
}
.top h3 + p {
  float: right;
  margin-top: 6px;
}
.top h3 + p a {
  color: #000;
}
.top h3 + p a:hover {
  color: #b01a3c;
}
.top.large > div:nth-of-type(2) > section:first-of-type section:first-of-type,
.top.large > div:nth-of-type(2) > section:first-of-type section:nth-of-type(2) {
  height: 144px;
}
.top.large > div:nth-of-type(2) > section:first-of-type section:nth-of-type(2) ul,
.top.large > div:nth-of-type(2) > section:first-of-type section:last-of-type ul {
  width: 120px;
}
.top.large > div:nth-of-type(2) > article h5 {
  width: 330px;
}
.top.large > aside:last-of-type ul:not(:last-of-type) {
  width: 121px;
}

.about #section1 div {
  float: left;
  width: 460px;
}
.about #section1 div + img {
  float: right;
}
.about #section1 div + img + p {
  clear: both;
}
.about #section1 p {
  line-height: 2.154em;
  margin-bottom: 17px;
}
.about #section1 p:last-of-type {
  margin-bottom: 31px;
}
.about #section3 section:first-of-type,
.about #section3 section:nth-of-type(2) {
  float: left;
  width: 330px;
}
.about #section3 section:first-of-type:first-of-type,
.about #section3 section:nth-of-type(2):first-of-type {
  margin-right: 20px;
}
.about #section3 section:nth-of-type(3) {
  clear: both;
}
.about .content h4 {
  font-size: 1.077em;
  margin-bottom: 14px;
}
.about #section3 p {
  line-height: inherit;
}
.about #section3 p:first-of-type {
  margin-bottom: 14px;
}

.company.index section section {
  float: left;
  width: 328px;
  border: 1px solid #e3e3e3;
  margin-bottom: 25px;
}
.company.index section section:nth-of-type(odd) {
  margin-right: 20px;
}
.company.index section section:before {
  position: relative;
  display: block;
  background-color: #b01a3c;
  width: 330px;
  height: 3px;
  right: 1px;
  bottom: 1px;
  content: "";
}
.company.index h2 + p {
  margin-bottom: 44px;
}
.company.index h3 {
  position: static;
  background-color: #f2f2f2;
  line-height: 38px;
  font-size: 1.154em;
  padding: 0 0 0 14px;
  border-bottom: 1px solid #e3e3e3;
  margin-bottom: 14px;
}
.company.index h3:after {
  display: none;
}
.company.index .content img {
  float: left;
  margin: 0 23px 15px 14px;
}
.company.index .content ul {
  float: left;
  /*line-height: 1.846em;*/
  line-height: 1.2;
  margin-bottom: 10px;
}
.company.index .content ul li {
  padding-bottom: .75em;
  margin-left: 0.8em;
  text-indent: -0.8em;
}
.company.index .content a {
  font-size: inherit;
}

.company.info .content img {
  display: block;
}
.company.info .content div {
  background-color: #fafafa;
  padding: 19px 18px 24px;
  border: 1px solid #e3e3e3;
  border-top: none;
  margin-bottom: 39px;
}
.company.info .content p {
  line-height: 1.692em;
  margin-bottom: 0;
}
.company.info h4 {
  line-height: inherit;
  background: none;
  padding-left: 0;
  border-left: none;
  margin-bottom: 10px;
}

.company.history th {
  vertical-align: top;
  padding: 12px 12px 14px;
  width: 114px;
}
.company.history span {
  display: block;
  color: #777;
}
.company.history td {
  padding: 12px 16px 14px;
}
.company.history td div {
  float: left;
  width: 360px;
}
.company.history td div.img-large {
  clear: both;
  width: 300px;
}
.company.history td div.img-large + figure + div,
.company.history td div.img-large + figure + div + figure {
  margin-top: 8px;
}
.company.history figure {
  float: right;
}
.company.history figure img {
  display: block;
  margin-bottom: 6px;
}
.company.history figcaption {
  line-height: 1.273em;
  font-size: 0.846em;
  text-align: center;
}

.company.members h4 {
  margin-bottom: 16px;
}
.company.members table a {
  text-decoration: underline;
}
.company.members table a:hover {
  text-decoration: none;
}

.company.group h3:after {
  display: none;
}
.company.group .content p a {
  font-size: inherit;
}

.company.network h4 + ul {
  margin-bottom: 0;
}
.company.network h4 + ul + div {
  height: 461px;
}

.company.education-center section > div:after {
  clear: both;
  display: block;
  content: "";
}
.company.education-center section > div div {
  float: left;
  width: 455px;
}
.company.education-center section > div img {
  float: right;
}
.company.education-center section > div img:after {
  clear: both;
  display: block;
  content: "";
}
.company.education-center figure figcaption {
  float: left;
  line-height: 2.154em;
  width: 455px;
}
.company.education-center figure img {
  float: right;
  display: block;
}

.activity > section {
  padding-top: 18px;
}
.activity > section > section {
  float: left;
  width: 298px;
  height: 330px;
  border: 1px solid #e3e3e3;
  margin: 0 30px 35px 0;
}
.activity > section > section:nth-of-type(3n) {
  margin-right: 0;
}
.activity > section > section:before {
  position: relative;
  display: block;
  background-color: #b01a3c;
  width: 300px;
  height: 3px;
  right: 1px;
  bottom: 1px;
  content: "";
}
.activity section h3 {
  position: static;
  color: #b01a3c;
  background-color: #f9f9f9;
  line-height: 1.571em;
  font-size: 1.077em;
  text-align: center;
  padding: 11px 10px;
  border-bottom: 1px solid #e3e3e3;
  margin-bottom: 15px;
}
.activity section h3:after {
  display: none;
}
.activity figure {
  background-color: #fff;
  margin: 0 15px 18px;
}
.activity figure:hover {
  -webkit-animation: opacity .5s ease-in-out;
  -moz-animation: opacity .5s ease-in-out;
  animation: opacity .5s ease-in-out;
}
.activity img {
  display: block;
}
.activity section h4 {
  background: none;
  font-size: inherit;
  line-height: inherit;
  padding-left: 0;
  border-left: none;
  margin: 0 15px 7px;
}
.activity section p {
  color: #555;
  line-height: 1.692em;
  margin: 0 15px 23px;
}
.activity.large section section {
  height: 346px;
}
.activity.large section section:nth-of-type(4) h3, .activity.large section section:nth-of-type(6) h3, .activity.large section section:nth-of-type(8) h3, .activity.large section section:nth-of-type(9) h3, .activity.large section section:nth-of-type(11) h3, .activity.large section section:nth-of-type(12) h3, .activity.large section section:nth-of-type(14) h3 {
  line-height: 3.143em;
}

.committee.index article article article:first-of-type h3 {
  margin-bottom: 28px;
}
.committee.index article article article:first-of-type h3 + p {
  line-height: 2em;
  margin-bottom: 26px;
}
.committee.index article article article:first-of-type h3 + p + p a {
  font-size: inherit;
}
.committee.index article article article:last-of-type article {
  margin-bottom: 13px;
}
.committee.index article article article:last-of-type article:after {
  clear: both;
  display: block;
  content: "";
}
.committee.index article article article:last-of-type h3 {
  margin-bottom: 25px;
}
.committee.index article article article:last-of-type p:first-of-type {
  line-height: 1.846em;
  margin-bottom: 13px;
}
.committee.index h4 {
  margin-bottom: 7px;
}
.committee.index time {
  display: block;
  color: #666;
  font-size: 0.923em;
  margin-bottom: 19px;
}
.committee.index .content div {
  float: left;
  width: 440px;
}
.committee.index .content img {
  float: right;
  display: block;
  border: 1px solid #e3e3e3;
}
.committee.index .content p {
  line-height: 2em;
}

.committee.member {
  margin-bottom: 23px;
}
.committee.member .content img {
  clear: both;
  float: left;
  display: block;
  margin: 0 15px 20px 0;
}
.committee.member .content img:last-of-type {
  margin-bottom: 39px;
}
.committee.member .content div {
  float: left;
  width: 510px;
  margin: 13px 0 10px;
}
.committee.member .content div:last-of-type {
  margin-bottom: 39px;
}
.committee.member .content div p:first-of-type {
  line-height: inherit;
  font-weight: bold;
  font-size: 0.923em;
  margin-bottom: 11px;
}
.committee.member .content div p:last-of-type {
  line-height: 2em;
  font-size: 0.923em;
}
.committee.member h3 {
  clear: both;
  margin-bottom: 25px;
}
.committee.member h4 {
  color: #333;
  background: none;
  line-height: inherit;
  font-size: 1.231em;
  padding-left: 0;
  border-left: none;
  margin-bottom: 11px;
}

.committee.detail {
  margin-bottom: 23px;
}
.committee.detail .content > article > h2 {
  line-height: 1.346em;
  margin-bottom: 7px;
}
.committee.detail time {
  display: block;
  color: #666;
  font-size: 0.923em;
  margin-bottom: 32px;
}
.committee.detail article article {
  line-height: 1.846em;
}
.committee.detail article article h2 {
  clear: both;
  position: relative;
  line-height: 1.75em;
  font-size: 1.538em;
  padding-bottom: 5px;
  border-bottom: 2px solid #e3e3e3;
  margin-bottom: 25px;
}
.committee.detail article article h2:after {
  position: absolute;
  background-color: #840e29;
  width: 20px;
  height: 2px;
  left: 0;
  bottom: -2px;
  content: "";
}
.committee.detail article article h3 {
  position: static;
  color: #b01a3c;
  background-color: #f2f2f2;
  line-height: 1.6em;
  font-size: 1.154em;
  padding: 4px 13px 4px 8px;
  border-bottom: none;
  border-left: 5px solid #b01a3c;
  margin-bottom: 20px;
}
.committee.detail article article h3:after {
  display: none;
}
.committee.detail article article p {
  line-height: 1.846em;
  margin-bottom: 24px;
}
.committee.detail article article a {
  color: #b01a3c;
  text-decoration: underline;
}
.committee.detail article article a:hover {
  text-decoration: none;
}
.committee.detail th {
  background-color: #ececec;
  line-height: 1.6em;
  font-size: 1.154em;
  padding: 4px 13px;
  border-color: #ececec;
}
.committee.detail td {
  line-height: 1.846em;
  padding: 9px 14px;
  border-top: none;
  border-color: #e3e3e3;
}
.committee.detail #photo200 {
  float: left;
  width: 200px;
  margin-right: 20px;
}
.committee.detail #photo200 img {
  display: block;
}
.committee.detail #photo200 p {
  clear: both;
  position: relative;
  background-color: #ececec;
  line-height: 1.636em;
  font-size: 0.846em;
  padding: 6px 9px 14px;
  bottom: 20px;
}
.committee.detail [src="/committee/shoho_btn.gif"] {
  clear: both;
  display: block;
  margin-bottom: 11px;
}
.committee.detail #photo_left p,
.committee.detail #photo_right p {
  font-weight: bold;
}

.access h3 + ul {
  margin-bottom: 0;
}
.access h3 + ul + div {
  height: 567px;
}
.access address {
  line-height: 1.846em;
}

.sitemap .content div {
  float: left;
  width: 330px;
}
.sitemap .content div + div {
  float: right;
}
.sitemap .content h3 {
  clear: both;
  position: static;
  font-size: 1.154em;
  padding-bottom: 13px;
  border-bottom: 1px solid #dfdfdf;
  margin-bottom: 38px;
}
.sitemap .content h3:after {
  display: none;
}
.sitemap .content h4 {
  color: #333;
  background: none;
  border-left: none;
  font-size: inherit;
  line-height: inherit;
  padding-left: 0;
  margin: -18px 0 10px 17px;
}
.sitemap .content h5 {
  margin-bottom: 6px;
}
.sitemap .content ul {
  line-height: 2.308em;
  margin: 0 0 32px 18px;
}
.sitemap .content ul a {
  font-size: inherit;
}
.sitemap .content h4 + ul {
  margin-left: 31px;
}
.sitemap .content h3 + ul {
  margin-top: -27px;
}
.sitemap .content .sitemap-head {
  margin: 0 0 22px 17px;
}
.sitemap .content .sitemap-head a {
  font-weight: bold;
}

.contact address {
  line-height: 1.846em;
  margin-bottom: 17px;
}
.contact .content p {
  line-height: 1.846em;
  margin-bottom: 33px;
}

.copyright .content a {
  font-size: inherit;
}
.copyright .content th {
  padding-right: 0;
  width: 193px;
}
.copyright ol {
  list-style: decimal inside;
}

.news.index article article {
  line-height: 1.692em;
  border-top: 1px dotted #ccc;
}
.news.index article article:nth-of-type(even) {
  background-color: #f7f7f7;
}
.news.index article article:last-of-type {
  border-bottom: 1px dotted #ccc;
}
.news.index article article:after {
  clear: both;
  display: block;
  content: "";
}
.news.index article article a {
  font-size: inherit;
}
.news.index time {
  float: left;
  text-align: center;
  padding: 11px 0;
  width: 117px;
}
.news.index h3 {
  float: left;
  position: static;
  font-size: inherit;
  font-weight: inherit;
  padding: 11px 17px 11px 28px;
  width: 515px;
  border-bottom: none;
  border-left: 1px dotted #ccc;
  margin-bottom: 0;
}
.news.index .content a {
  margin-left: -11px;
}

.news.detail h2 {
  position: relative;
  font-size: 1.385em;
  letter-spacing: inherit;
  padding-bottom: 10px;
  border-bottom: 2px solid #e3e3e3;
  margin-bottom: 12px;
}
.news.detail h2:after {
  position: absolute;
  background-color: #840e29;
  width: 20px;
  height: 2px;
  left: 0;
  bottom: -2px;
  content: "";
}
.news.detail time {
  display: block;
  font-size: 0.923em;
  margin-bottom: 17px;
}
.news.detail .content div {
  padding-bottom: 178px;
  border-bottom: 1px solid #e3e3e3;
  margin-bottom: 14px;
}
.news.detail .content div p {
  line-height: 1.846em;
}
.news.detail .content div + p {
  float: left;
  line-height: inherit;
  font-size: 0.923em;
}
.news.detail .content div a {
  color: #b01a3c;
  text-decoration: underline;
}
.news.detail .content div a:hover {
  text-decoration: none;
}
.news.detail .content ul {
  float: right;
  line-height: inherit;
  width: 170px;
}
.news.detail .prev {
  float: left;
  font-size: 0.923em;
}
.news.detail .prev:before {
  position: relative;
  display: inline-block;
  background: url/reimages/news/ico-prev.gif) no-repeat;
  width: 6px;
  height: 9px;
  margin-right: 8px;
  bottom: 1px;
  content: "";
}
.news.detail .next {
  float: right;
  font-size: 0.923em;
}
.news.detail .next:after {
  position: relative;
  display: inline-block;
  background: url(/reimages/news/ico-next.gif) no-repeat;
  width: 6px;
  height: 9px;
  margin-left: 8px;
  bottom: 1px;
  content: "";
}


/* load to tokyo*/
#logo_rtt2020 {
  float: left;
  margin: -8px 0 0 20px;
}
#logo_rtt2020 img {
  width: 220px;
}