/*
---------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------
*/
#company-header {
  position: relative;
  margin-top: 80px; }
  @media (min-width: 1024px) {
    #company-header {
      margin-top: 100px; } }
  #company-header .title {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 5%;
    display: flex;
    align-items: center;
    margin: auto; }
    #company-header .title .txt {
      color: #fff; }
      #company-header .title .txt h1 {
        font-family: "Dela Gothic One", sans-serif;
        font-style: normal;
        font-weight: 400;
        font-size: 10.0vw;
        line-height: 1.0em; }
        @media (min-width: 768px) {
          #company-header .title .txt h1 {
            font-size: 8.0vw; } }
        @media (min-width: 1024px) {
          #company-header .title .txt h1 {
            font-size: 6.0vw; } }
      #company-header .title .txt h2 {
        font-size: 1.0em; }
        @media (min-width: 1024px) {
          #company-header .title .txt h2 {
            font-size: 1.25em; } }

.overview {
  max-width: 1000px;
  margin: 40px auto 0;
  width: 90%; }
  @media (min-width: 1024px) {
    .overview {
      display: flex;
      margin: 100px auto 0; } }
  .overview .midashi {
    margin-bottom: 20px; }
    @media (min-width: 1024px) {
      .overview .midashi {
        width: 150px;
        margin: 1.5em 0 0 0; } }
    .overview .midashi h2 {
      font-size: 2.0em; }
      @media (min-width: 1024px) {
        .overview .midashi h2 {
          font-size: 3.0em;
          writing-mode: vertical-rl; } }
  .overview .contents {
    border-bottom: 1px solid #222324; }
    @media (min-width: 1024px) {
      .overview .contents {
        width: calc(100% - 150px); } }
    .overview .contents table {
      border-spacing: 0;
      width: 100%; }
      .overview .contents table tr:last-child th, .overview .contents table tr:last-child td {
        border-bottom: none; }
      .overview .contents table tr th, .overview .contents table tr td {
        display: block; }
        @media (min-width: 768px) {
          .overview .contents table tr th, .overview .contents table tr td {
            display: table-cell; } }
      .overview .contents table tr th {
        font-size: 1.0em;
        line-height: 1.4em;
        font-weight: 700;
        text-align: left;
        vertical-align: top;
        width: 100px;
        padding: 10px 0 0 0; }
        @media (min-width: 768px) {
          .overview .contents table tr th {
            font-size: 1.125em;
            border-bottom: 1px solid #222324;
            width: 160px;
            padding: 20px 0; } }
      .overview .contents table tr td {
        font-size: 0.85em;
        line-height: 1.8em;
        padding: 0 0 15px 0;
        border-bottom: 1px solid #222324;
        color: #000;
        margin-top: 20px; }
        @media (min-width: 768px) {
          .overview .contents table tr td {
            font-size: 1.0em;
            padding: 20px 0;
            margin-top: 0; } }
        .overview .contents table tr td p {
          text-align: justify;
          line-height: 1.6em; }
          @media (min-width: 768px) {
            .overview .contents table tr td p {
              line-height: 1.8em; } }
    .overview .contents .map {
      border-bottom: 1px solid #222324;
      padding-bottom: 40px;
      margin-top: 40px; }
      .overview .contents .map iframe {
        width: 100%;
        height: 400px; }
        @media (min-width: 768px) {
          .overview .contents .map iframe {
            height: 600px; } }
      .overview .contents .map .map-txt {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        margin: 10px 0 0 0; }
        .overview .contents .map .map-txt img {
          width: 12px;
          margin-right: 5px; }
          @media (min-width: 768px) {
            .overview .contents .map .map-txt img {
              width: 15px; } }
        .overview .contents .map .map-txt a {
          position: relative;
          font-size: 0.9em;
          line-height: 1.0em; }
          @media (min-width: 768px) {
            .overview .contents .map .map-txt a {
              font-size: 1.0em; } }
          .overview .contents .map .map-txt a::after {
            position: absolute;
            bottom: -3px;
            left: 0;
            content: '';
            width: 100%;
            height: 1px;
            background: #000;
            transform: scale(0, 1);
            transform-origin: right top;
            transition: transform .3s; }
          .overview .contents .map .map-txt a:hover::after {
            transform-origin: left top;
            transform: scale(1, 1); }
