#outline h3 {
  line-height: 1;
  font-weight: bold;
  color: #4f177f;
  font-size: 28px;
  font-size: 2.8rem;
  padding-bottom: 1.2em; }

#basic {
  padding-bottom: 40px; }
  #basic table {
    width: 100%;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold;
    text-align: left; }
    #basic table tr:nth-of-type(2n+1) {
      background-color: #f3f1f4; }
    #basic table th {
      width: 215px;
      padding: 20px 15px; }
    #basic table td {
      padding: 20px 0; }
      #basic table td dl {
        display: flex;
        flex-wrap: wrap;
        padding-bottom: 1em; }
        #basic table td dl dt {
          width: 230px; }
        #basic table td dl dd {
          width: calc(100% - 230px); }

#service {
  padding-bottom: 50px; }
  #service dl {
    display: flex;
    flex-wrap: wrap;
    -webkit-align-items: center;
    align-items: center;
    padding: 20px 0;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 2;
    font-weight: bold; }
    #service dl:nth-of-type(2n+1) {
      background-color: #f3f1f4; }
    #service dl dt {
      width: 395px;
      padding: 25px 20px;
      line-height: 2; }
    #service dl dd {
      border-left: 1px solid #d6d6d9;
      width: calc(100% - 395px);
      padding: 25px 40px;
      line-height: 2; }

#bank p, #bank dl {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 2;
  font-weight: bold; }

#bank {
  padding-bottom: 80px; }
  #bank dt, #bank dd {
    display: inline-block; }
  #bank dt {
    width: 120px; }

#shareholder p, #shareholder dl {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 2;
  font-weight: bold; }

#shareholder {
  padding-bottom: 80px; }
  #shareholder dt, #shareholder dd {
    display: inline-block; }

#torihiki {
  padding-bottom: 145px; }
  #torihiki p {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 2;
    font-weight: bold; }

#access {
  padding-bottom: 40px; }

.access_block {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 80px; }
  .access_block .map {
    width: 660px;
    position: relative;
    padding-bottom: 40px; }
    .access_block .map iframe {
      width: 100%;
      height: 385px; }
    .access_block .map a {
      position: absolute;
      bottom: 0;
      right: 20px;
      width: 260px;
      background: -moz-linear-gradient(-45deg, #00a5de 0%, #4f167f 13%, #4f167f 100%);
      /* FF3.6-15 */
      background: -webkit-linear-gradient(-45deg, #00a5de 0%, #4f167f 13%, #4f167f 100%);
      /* Chrome10-25,Safari5.1-6 */
      background: linear-gradient(135deg, #00a5de 0%, #4f167f 13%, #4f167f 100%);
      /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
      color: #fff;
      font-size: 28px;
      font-size: 2.8rem;
      line-height: 1;
      font-weight: bold;
      display: block;
      transition: all .3s ease-out;
      background-size: 180% auto;
      text-align: left;
      padding: 25px 20px; }
      .access_block .map a:after {
        content: "";
        width: 30px;
        height: 39px;
        background: url(../images/outline/icon_map.png) 0 0 no-repeat;
        background-size: 100% auto;
        position: absolute;
        right: 20px;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        transition: all .3s ease-out; }
      .access_block .map a:hover {
        background-position: right center; }
  .access_block .txt {
    width: 650px;
    margin-left: auto; }
    .access_block .txt h3 {
      color: #4f177f;
      font-size: 25px;
      font-size: 2.5rem;
      font-weight: bold;
      line-height: 1;
      padding-bottom: 28px;
      padding-top: 40px; }
    .access_block .txt .info {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 2;
      font-weight: bold;
      padding-bottom: 60px; }
    .access_block .txt dl {
      display: flex;
      flex-wrap: wrap;
      -webkit-align-items: center;
      align-items: center;
      padding: 20px 0;
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 2;
      font-weight: bold;
      background-color: #f3f1f4; }
      .access_block .txt dl dt {
        width: 170px;
        padding: 15px 30px;
        line-height: 2; }
      .access_block .txt dl dd {
        border-left: 1px solid #d6d6d9;
        width: calc(100% - 170px);
        padding: 15px 40px;
        line-height: 2; }

@media screen and (max-width: 1366px) {
  #outline h3 {
    font-size: calc(28 / 1366 * 100vw); }

  #basic {
    padding-bottom: calc(40 / 1366 * 100vw); }
    #basic table {
      font-size: calc(16/ 1366 * 100vw); }
      #basic table th {
        width: calc(215 / 1366 * 100vw);
        padding: calc(20 / 1366 * 100vw) calc(15 / 1366 * 100vw); }
      #basic table td {
        padding: calc(20 / 1366 * 100vw) 0; }
        #basic table td dl dt {
          width: calc(230 / 1366 * 100vw); }
        #basic table td dl dd {
          width: calc(calc(100% - 230 / 1366 * 100vw)); }

  #service {
    padding-bottom: calc(50 / 1366 * 100vw); }
    #service dl {
      padding: calc(20 / 1366 * 100vw) 0;
      font-size: calc(16/ 1366 * 100vw); }
      #service dl dt {
        width: 28.9vw;
        padding: calc(25 / 1366 * 100vw) calc(20 / 1366 * 100vw); }
      #service dl dd {
        width: calc(100% - 28.9vw);
        padding: calc(25 / 1366 * 100vw) calc(40 / 1366 * 100vw); }

  #bank {
    padding-bottom: calc(80 / 1366 * 100vw); }
    #bank p, #bank dl {
      font-size: calc(16/ 1366 * 100vw); }
    #bank dt, #bank dd {
      display: inline-block; }
    #bank dt {
      width: 120px; }

  #torihiki {
    padding-bottom: calc(145 / 1366 * 100vw); }
    #torihiki p {
      font-size: calc(16/ 1366 * 100vw); }

  #access {
    padding-bottom: calc(40 / 1366 * 100vw); }

  .access_block {
    margin-bottom: calc(80 / 1366 * 100vw); }
    .access_block .map {
      width: calc(660 / 1366 * 100vw);
      padding-bottom: calc(40 / 1366 * 100vw); }
      .access_block .map iframe {
        height: calc(385 / 1366 * 100vw); }
      .access_block .map a {
        right: calc(20 / 1366 * 100vw);
        width: calc(260 / 1366 * 100vw);
        font-size: calc(28 / 1366 * 100vw);
        padding: calc(25 / 1366 * 100vw) calc(20 / 1366 * 100vw); }
        .access_block .map a:after {
          width: calc(30 / 1366 * 100vw);
          height: calc(39 / 1366 * 100vw);
          right: calc(20 / 1366 * 100vw); }
    .access_block .txt {
      width: calc(620 / 1366 * 100vw); }
      .access_block .txt h3 {
        font-size: calc(25 / 1366 * 100vw);
        padding-bottom: calc(28 / 1366 * 100vw);
        padding-top: calc(40 / 1366 * 100vw); }
      .access_block .txt .info {
        font-size: calc(16/ 1366 * 100vw);
        padding-bottom: calc(60 / 1366 * 100vw); }
      .access_block .txt dl {
        padding: calc(20 / 1366 * 100vw) 0;
        font-size: calc(16/ 1366 * 100vw); }
        .access_block .txt dl dt {
          width: 12.4vw;
          padding: calc(15 / 1366 * 100vw) calc(30 / 1366 * 100vw); }
        .access_block .txt dl dd {
          width: calc(100% - 12.4vw);
          padding: calc(15 / 1366 * 100vw) calc(40 / 1366 * 100vw); } }
@media screen and (max-width: 768px) {
  #outline h3 {
    font-size: calc(30 / 768 * 100vw); }

  #basic {
    padding-bottom: calc(60 / 768 * 100vw); }
    #basic table {
      width: 100%;
      font-size: calc(28 / 768 * 100vw); }
      #basic table th {
        display: block;
        width: 100%;
        padding: calc(40 / 768 * 100vw) calc(30 / 768 * 100vw) 0; }
      #basic table td {
        display: block;
        width: 100%;
        padding: calc(40 / 768 * 100vw) calc(30 / 768 * 100vw);
        line-height: 1.6; }
        #basic table td span.br {
          display: block; }
        #basic table td span.ls0 {
          letter-spacing: -0.05rem; }
        #basic table td dl dt {
          width: 30vw;
          line-height: 1.6; }
          #basic table td dl dt span.br {
            display: block; }
        #basic table td dl dd {
          line-height: 1.6;
          width: calc(100% - 30vw); }
          #basic table td dl dd span.br {
            display: block; }

  #service {
    padding-bottom: calc(100 / 768 * 100vw); }
    #service dl {
      padding: calc(20 / 768 * 100vw) calc(30 / 768 * 100vw);
      font-size: calc(28 / 768 * 100vw); }
      #service dl dt {
        width: 100%;
        padding: calc(20 / 768 * 100vw) calc(30 / 768 * 100vw); }
      #service dl dd {
        border-top: 1px solid #d6d6d9;
        border-left: none;
        width: 100%;
        padding: calc(20 / 768 * 100vw) calc(30 / 768 * 100vw); }

  #bank {
    padding-bottom: calc(160 / 768 * 100vw); }
    #bank p, #bank dl {
      font-size: calc(28 / 768 * 100vw); }
    #bank dt {
      width: 35%; }

  #torihiki {
    padding-bottom: calc(290 / 768 * 100vw); }
    #torihiki p {
      font-size: calc(28 / 768 * 100vw); }

  #access {
    padding-bottom: calc(80 / 768 * 100vw); }

  .access_block .map {
    order: 2;
    width: 100%;
    position: relative;
    padding-bottom: calc(80 / 768 * 100vw); }
    .access_block .map iframe {
      width: 100%;
      height: calc(770 / 768 * 100vw); }
    .access_block .map a {
      right: calc(30 / 768 * 100vw);
      width: calc(400 / 768 * 100vw);
      font-size: calc(28 / 768 * 100vw);
      padding: calc(40 / 768 * 100vw) calc(40 / 768 * 100vw); }
      .access_block .map a:after {
        width: calc(30 / 768 * 100vw);
        height: calc(39 / 768 * 100vw);
        right: calc(20 / 768 * 100vw); }
  .access_block .txt {
    order: 1;
    width: 100%;
    margin-left: auto;
    padding-bottom: calc(50 / 768 * 100vw); }
    .access_block .txt h3 {
      font-size: calc(30 / 768 * 100vw);
      padding-bottom: calc(28 / 768 * 100vw);
      padding-top: calc(40 / 768 * 100vw); }
    .access_block .txt .info {
      font-size: calc(28 / 768 * 100vw);
      padding-bottom: calc(60 / 768 * 100vw); }
    .access_block .txt dl {
      padding: calc(20 / 768 * 100vw) calc(30 / 768 * 100vw);
      font-size: calc(28 / 768 * 100vw); }
      .access_block .txt dl dt {
        width: 100%;
        padding: calc(20 / 768 * 100vw) calc(30 / 768 * 100vw); }
      .access_block .txt dl dd {
        border-top: 1px solid #d6d6d9;
        border-left: none;
        width: 100%;
        padding: calc(20 / 768 * 100vw) calc(30 / 768 * 100vw); } }
