@-webkit-keyframes glow {
  0% {
    opacity: 0;
    -webkit-transform: translate(-50%, -50%) scale(1);
    transform: translate(-50%, -50%) scale(1)
  }
  33% {
    opacity: 1;
    -webkit-transform: translate(-50%, -50%) scale(1.5);
    transform: translate(-50%, -50%) scale(1.5)
  }
  67% {
    opacity: 0;
    -webkit-transform: translate(-50%, -50%) scale(2);
    transform: translate(-50%, -50%) scale(2)
  }
  100% {
    opacity: 0;
    -webkit-transform: translate(-50%, -50%) scale(2);
    transform: translate(-50%, -50%) scale(2)
  }
}

@keyframes glow {
  0% {
    opacity: 0;
    -webkit-transform: translate(-50%, -50%) scale(1);
    transform: translate(-50%, -50%) scale(1)
  }
  33% {
    opacity: 1;
    -webkit-transform: translate(-50%, -50%) scale(1.5);
    transform: translate(-50%, -50%) scale(1.5)
  }
  67% {
    opacity: 0;
    -webkit-transform: translate(-50%, -50%) scale(2);
    transform: translate(-50%, -50%) scale(2)
  }
  100% {
    opacity: 0;
    -webkit-transform: translate(-50%, -50%) scale(2);
    transform: translate(-50%, -50%) scale(2)
  }
}

h2.page-title::before {
  background-image: url(../images/company/h2.jpg);
}

.corporate.corporate-index h2::before {
  background-image: url(/assets/img/corporate/h2-index.png)
}

.corporate.message h2::before {
  background-image: url(/assets/img/corporate/h2-message.png)
}

.corporateh2::before {
  background-image: url(/assets/img/corporate/h2-outline.png)
}

.corporate.business h2::before {
  background-image: url(/assets/img/corporate/h2-business.png)
}

.corporate.access h2::before {
  background-image: url(/assets/img/corporate/h2-access.png)
}

.message h2 {
  height: 700px
}

.message h2::before {
  height: 500px
}

.message article p {
  letter-spacing: 1px
}

.message .signature {
  display: block;
  float: right;
  margin-top: 50px
}

.message .signature span, .message .signature img {
  display: block;
  float: right;
  clear: both
}

.message .signature span {
  margin-bottom: 20px;
  letter-spacing: 1px
}

@media only screen and (max-width: 1100px) {
  .message h2 {
    height: 235px
  }
  .message h2::before {
    height: 150px
  }
  .message .signature img {
    height: 29px;
    width: 80px
  }
}

table {
  table-layout: fixed;
  width: 100%
}

table a {
  border-bottom: 1px solid #080808;
  -webkit-transition: 300ms color, 300ms border;
  transition: 300ms color, 300ms border
}

table a:hover {
  color: #0074af;
  border-bottom: 1px solid #0074af
}

.company-profile table, .company-executive table {
  border: 1px solid #ccc;
  border-left: 0
}

.company-profile th, .company-profile td, .company-executive th, .company-executive td {
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  vertical-align: top;
  padding: 30px 40px;
  line-height: 1.5rem;
  letter-spacing: 1px
}

.company-profile th, .company-executive th {
  width: 170px;
  background: #f1f1f1
}

.company-profile {
  padding: 0 100px
}

.company-executive {
  padding: 0 200px
}

.company-executive th {
  text-align: center
}

.company-milestone table {
  border-top: 1px dotted #ccc;
  border-bottom: 1px dotted #ccc
}

.company-milestone th, .company-milestone td {
  border-top: 1px dotted #ccc;
  border-bottom: 1px dotted #ccc;
  vertical-align: top;
  padding: 25px 30px;
  line-height: 1.5rem;
  letter-spacing: 1px
}

.company-milestone .year, .company-milestone .month {
  color: #aaa
}

.company-milestone .year {
  width: 90px;
  padding-right: 0
}

.company-milestone .month {
  width: 80px;
  padding-left: 10px;
  text-align: right
}

.company-milestone td {
  padding-left: 15px
}

@media only screen and (max-width: 1100px) {
  article {
    padding: 0 20px !important
  }
  table, table tr, table th, table td {
    display: block;
    float: left;
    width: 100%
  }
  .company-profile table, .company-executive table, .company-milestone table {
    border: 0
  }
  .company-profile tr, .company-executive tr, .company-milestone tr {
    padding: 10px 0;
    border-bottom: 1px dotted #ccc
  }
  .company-profile tr:first-child, .company-executive tr:first-child, .company-milestone tr:first-child {
    border-top: 1px dotted #ccc
  }
  .company-profile th, .company-profile td, .company-executive th, .company-executive td, .company-milestone th, .company-milestone td {
    padding: 5px 0;
    border: 0
  }
  .company-profile th, .company-executive th, .company-milestone th {
    width: 100%;
    font-weight: bold;
    background: none
  }
  .company-profile td, .company-executive td, .company-milestone td {
    font-size: 13px
  }
  .company-executive th {
    width: 90px
  }
  .company-executive td {
    width: -webkit-calc(100% - 90px);
    width: calc(100% - 90px);
    padding-left: 15px
  }
  .company-organigram img {
    height: auto;
    width: 550px;
    max-width: 100%
  }
  .company-milestone th {
    width: auto !important
  }
  .company-milestone .month {
    padding-left: 0.5em
  }
}

.business .business-mission h3 {
  text-align: center;
  margin-bottom: 65px
}

.business .business-mission h3 img {
  display: inline-block
}

.business .business-mission h3::before {
  content: attr(title);
  display: inline-block;
  width: 240px;
  letter-spacing: 5px;
  font-size: 16px;
  color: #0074af;
  border-top: 1px solid #0074af;
  border-bottom: 1px solid #0074af;
  padding: 20px 0 20px 5px;
  margin-bottom: 65px
}

.business .business-mission p {
  padding: 0 100px
}

.business .business-alliances dl {
  margin-top: 45px
}

.business .business-alliances dl, .business .business-alliances dl dt, .business .business-alliances dl dd {
  display: block;
  float: left;
  width: 100%
}

.business .business-alliances dt {
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 1px
}

.business .business-alliances dt+dd {
  margin-top: 20px
}

.business .business-alliances dd {
  line-height: 1.8em;
  letter-spacing: 1px
}

.business .business-alliances dd+dt {
  margin-top: 30px
}

@media only screen and (max-width: 1100px) {
  .business .business-mission h3 {
    margin-bottom: 35px
  }
  .business .business-mission h3::before {
    width: 100%;
    padding: 10px 0 10px 3px;
    letter-spacing: 3px;
    font-size: 14px;
    margin-bottom: 35px
  }
  .business .business-mission img {
    display: inline-block !important;
    height: auto;
    width: 309px;
    max-width: 100%
  }
  .business .business-mission img.only-pc {
    display: none !important
  }
  .business .business-mission p {
    padding: 0
  }
  .business .business-01 {
    height: auto;
    width: 550px;
    max-width: 100%
  }
  .business .business-02 {
    height: auto;
    width: 315px;
    max-width: 100%
  }
  .business .business-03 {
    height: auto;
    width: 550px;
    max-width: 100%
  }
  .business .business-alliances figure+small {
    margin-top: 10px
  }
  .business .business-alliances dl {
    margin-top: 20px
  }
  .business .business-alliances dt {
    font-size: 14px
  }
  .business .business-alliances dt+dd {
    font-size: 12px;
    margin-top: 10px
  }
  .business .business-alliances dd+dt {
    margin-top: 20px
  }
}

.access .access-point {
  display: block;
  float: left;
  width: 100%;
  margin-bottom: 100px
}

.access .access-location {
  display: block;
  float: left;
  height: 500px;
  width: 510px;
  position: relative;
  background: url(/assets/img/corporate/access/img-access-location.png) center top no-repeat
}

.access .access-location li {
  display: block;
  position: absolute;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none
}

.access .access-location li span {
  display: block;
  position: relative;
  height: 40px;
  line-height: 40px;
  padding: 0 24px 0 25px;
  font-size: 13px;
  letter-spacing: 1px;
  background: #ccc;
  color: #fff;
  z-index: 1;
  cursor: pointer;
  -webkit-transition: 300ms background;
  transition: 300ms background
}

.access .access-location li i {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  height: 9px;
  width: 9px;
  background: #0074af;
  z-index: 0;
  -webkit-transform: translate(-50%, -50%) scale(0);
  transform: translate(-50%, -50%) scale(0);
  -webkit-transition: 300ms left, 300ms top, 300ms -webkit-transform cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: 300ms left, 300ms top, 300ms -webkit-transform cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: 300ms transform cubic-bezier(0.39, 0.575, 0.565, 1), 300ms left, 300ms top;
  transition: 300ms transform cubic-bezier(0.39, 0.575, 0.565, 1), 300ms left, 300ms top, 300ms -webkit-transform cubic-bezier(0.39, 0.575, 0.565, 1)
}

.access .access-location li i::before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  height: 100%;
  width: 100%;
  background: #0074af;
  opacity: 0;
  -webkit-transform: translate(-50%, -50%) scale(1);
  transform: translate(-50%, -50%) scale(1)
}

.access .access-location li i::after {
  content: '';
  display: block;
  position: absolute;
  top: 4px;
  left: 4px;
  width: 1px;
  height: 0;
  background: #0074af;
  -webkit-transform-origin: center top;
  transform-origin: center top;
  -webkit-transition: 300ms height;
  transition: 300ms height
}

.access .access-location li.active span {
  background: #0074af
}

.access .access-location li.active i {
  -webkit-transform: translate(0, 0) scale(1);
  transform: translate(0, 0) scale(1)
}

.access .access-location li.active i::before {
  opacity: 1;
  -webkit-animation: glow 900ms linear 300ms infinite forwards;
  animation: glow 900ms linear 300ms infinite forwards
}

.access .access-location [data-point="tokyo"] {
  left: 352px;
  top: 273px
}

.access .access-location [data-point="tokyo"] i::after {
  -webkit-transform: rotate(-105deg);
  transform: rotate(-105deg)
}

.access .access-location [data-point="tokyo"].active i {
  left: -57px;
  top: 30px
}

.access .access-location [data-point="tokyo"].active i::after {
  height: 60px
}

.access .access-location [data-point="nagoya"] {
  left: 296px;
  top: 367px
}

.access .access-location [data-point="nagoya"] i::after {
  -webkit-transform: rotate(-38deg);
  transform: rotate(-38deg)
}

.access .access-location [data-point="nagoya"].active i {
  left: -33px;
  top: -40px
}

.access .access-location [data-point="nagoya"].active i::after {
  height: 55px
}

.access .access-location [data-point="osaka"] {
  left: 75px;
  top: 237px
}

.access .access-location [data-point="osaka"] i::after {
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg)
}

.access .access-location [data-point="osaka"].active i {
  left: 115px;
  top: 101px
}

.access .access-location [data-point="osaka"].active i::after {
  height: 115px
}

.access .access-location [data-point="fukuoka"] {
  left: 0;
  top: 306px
}

.access .access-location [data-point="fukuoka"] i::after {
  -webkit-transform: rotate(146deg);
  transform: rotate(146deg)
}

.access .access-location [data-point="fukuoka"].active i {
  left: 87px;
  top: 67px
}

.access .access-location [data-point="fukuoka"].active i::after {
  height: 45px
}

.access .access-location [data-point="shikoku"] {
  left: 141px;
  top: 427px
}

.access .access-location [data-point="shikoku"] i::after {
  -webkit-transform: rotate(-35deg);
  transform: rotate(-35deg)
}

.access .access-location [data-point="shikoku"].active i {
  left: 10px;
  top: -46px
}

.access .access-location [data-point="shikoku"].active i::after {
  height: 60px
}

.access .access-location [data-point="kanazawa"] {
  left: 148px;
  top: 169px
}

.access .access-location [data-point="kanazawa"] i::after {
  -webkit-transform: rotate(-203deg);
  transform: rotate(-203deg)
}

.access .access-location [data-point="kanazawa"].active i {
  left: 82px;
  top: 117px
}

.access .access-location [data-point="kanazawa"].active i::after {
  height: 110px
}

.access .access-details {
  display: block;
  float: right;
  height: 500px;
  width: 550px
}

.access .access-details ul {
  display: block;
  float: left;
  position: relative;
  height: 400px;
  width: 100%;
  margin-top: 30px
}

.access .access-details li {
  display: none;
  position: absolute;
  top: 0;
  left: 0
}

.access .access-details strong, .access .access-details p {
  display: block;
  float: left;
  width: 100%
}

.access .access-details strong {
  font-size: 18px;
  margin-bottom: 20px;
  letter-spacing: 2px
}

.access .access-details p {
  margin-bottom: 25px;
  letter-spacing: 1px
}

.access .access-details div {
  display: block;
  float: left;
  background: url(/assets/img/ico-hourglass.png) center center no-repeat #f1f1f1
}

.access .access-details div iframe {
  height: 300px;
  width: 550px
}

.access .access-list {
  width: 100%;
  border-top: 1px dotted #ccc;
  border-bottom: 1px dotted #ccc
}

.access .access-list th, .access .access-list td {
  padding: 30px;
  border-top: 1px dotted #ccc;
  border-bottom: 1px dotted #ccc;
  line-height: 1.5rem
}

.access .access-list th {
  color: #0074af;
  font-size: 18px;
  letter-spacing: 2px;
  white-space: nowrap
}

.access .access-list th.stay-top {
  vertical-align: top
}

.access .access-list td {
  letter-spacing: 1px
}

.access .access-list strong {
  color: #0074af;
  font-size: 16px;
  margin-right: 10px
}

.access .access-list em {
  font-size: 12px
}

.access .access-list span {
  display: inline-block;
  width: 100%;
  margin-top: 5px
}

.access .access-list a {
  white-space: nowrap
}

.access .access-list a span {
  width: auto;
  margin-top: 0;
  border-bottom: 1px solid rgba(8, 8, 8, 0);
  margin-right: 7px;
  -webkit-transition: 300ms border;
  transition: 300ms border
}

.access .access-list a i {
  display: inline-block;
  position: relative;
  vertical-align: middle;
  height: 8px;
  width: 8px;
  top: -1px
}

.access .access-list a i::before, .access .access-list a i::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  right: 0
}

.access .access-list a i::before {
  height: 2px;
  width: 8px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background: currentColor
}

.access .access-list a i::after {
  height: 7px;
  width: 7px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg)
}

.access .access-list a:hover span {
  border-bottom: 1px solid #080808
}

@media only screen and (max-width: 1100px) {
  .access .access-point {
    display: none
  }
  .access .access-list {
    border: 0
  }
  .access .access-list, .access .access-list tr, .access .access-list th, .access .access-list td {
    display: block;
    float: left;
    width: 100%
  }
  .access .access-list tr {
    padding: 10px 0;
    border-bottom: 1px dotted #ccc
  }
  .access .access-list tr:first-child {
    border-top: 1px dotted #ccc
  }
  .access .access-list th, .access .access-list td {
    padding: 5px 0;
    border: 0
  }
  .access .access-list th {
    width: 100%;
    font-size: 16px;
    font-weight: bold;
    background: none
  }
  .access .access-list td {
    font-size: 13px
  }
  .access .access-list td strong {
    font-size: 14px
  }
  .access .access-list td em {
    display: inline-block;
    font-size: 10px;
    letter-spacing: 0
  }
  .access .access-list a:hover span {
    border-bottom: 0
  }
}

s.only-mobile {
  display: inline !important
}


/*# sourceMappingURL=corporate.css.map */