@charset "UTF-8";
/* ===================================

↓ヘッドタイトルcss 

=================================== */
.head_title {
  width: 100%;
  min-width: 1000px;
  height: 500px;
  background: url(../img/company/head_main04.jpg) no-repeat center bottom;
  background-size: cover;
  /*padding-top: 200px;*/
  position: relative;
  margin-bottom: 140px;
  animation: fadeIn 3.0s 0.01s;
  animation-fill-mode: both;
  /*h1*/ }
  @media only screen and (max-width: 768px) {
    .head_title {
      min-width: 100%;
      height: 180px;
      margin-bottom: 100px;
      padding-top: 150px;
      background-position: center; } }
  .head_title:before {
    content: "";
    display: block;
    width: 1px;
    height: 100px;
    background-color: rgba(140, 158, 173, 0.9);
    position: absolute;
    bottom: -50px;
    right: 0;
    left: 0;
    margin: 0 auto; }
  .head_title:after {
    content: "";
    display: block;
    width: 1px;
    height: 30px;
    background-color: #fff;
    position: absolute;
    right: 0;
    left: 0;
    margin: 0 auto;
    animation: borderAnim 1.0s ease-in-out  infinite; }
  .head_title h1 {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-feature-settings: "palt";
    font-size: 25px;
    letter-spacing: 0.3em;
    color: #20334d;
    background-color: #fff;
    line-height: 1.4em;
    width: 35px;
    height: 130px;
    padding: 8px 0;
    position: absolute;
    top: 180px;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto; }
    @media only screen and (max-width: 768px) {
      .head_title h1 {
        font-size: 18px;
        width: 25px;
        padding: 8px 0 0;
        top: 140px;
        height: 100px; } }

/*.head_title*/
/*タイトルコピー　IEの游明朝ズレの対応CSS*/
@media all and (-ms-high-contrast: none) {
  .head_title h1 {
    line-height: 1.7em; } }
/*タイトル縦棒のアニメーション*/
@keyframes borderAnim {
  0% {
    bottom: 20px; }
  100% {
    bottom: -85px; } }
@media only screen and (max-width: 768px) {
  @keyframes borderAnim {
    0% {
      bottom: 20px; }
    100% {
      bottom: -85px; } } }
/* ===================================

↓ごあいさつcss 

=================================== */
.box {
  width: 100%;
  margin-bottom: 20px;
  color: #20334d;
  letter-spacing: 0.1em;
  overflow: hidden;
  position: relative;
  /*p*/ }
  .box .g_inner {
    width: 700px;
    margin: 0 auto 130px; }
    @media only screen and (max-width: 768px) {
      .box .g_inner {
        width: 90%;
        margin: 0 auto 30px; } }
  .box h2 {
    font-size: 22px;
    margin-bottom: 55px;
    letter-spacing: 0.3em;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-feature-settings: "palt";
    width: 24px;
    height: 90px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto; }
    @media only screen and (max-width: 768px) {
      .box h2 {
        font-size: 18px; } }
  .box p {
    font-size: 14px;
    line-height: 2.5em;
    font-feature-settings: "palt";
    margin-top: 130px;
    margin-bottom: 30px; }
    @media only screen and (max-width: 768px) {
      .box p {
        margin-top: 100px;
        margin-bottom: 15px; } }
  .box p + p {
    font-size: 18px;
    width: 200px;
    text-align: right;
    margin-top: 0px;
    float: right; }
    @media only screen and (max-width: 768px) {
      .box p + p {
        width: 100%;
        text-align: right;
        float: none; } }
    .box p + p span {
      font-size: 12px;
      margin-right: 15px;
      vertical-align: 2px; }

/*.box*/
.box .pre_image {
  width: 100%;
  min-width: 1000px;
  height: 480px;
  background: url(../img/company/president.jpg) no-repeat center;
  background-size: cover;
  background-attachment: fixed;
  margin-bottom: 120px; }
  @media only screen and (max-width: 768px) {
    .box .pre_image {
      min-width: 100%;
      height: 250px;
      background-attachment: scroll;
      background-size: 120%;
      background-position: center;
      margin-bottom: 80px; } }

@media screen and (min-device-width: 768px) and (max-device-width: 1024px) {
  .box .pre_image {
    background-attachment: scroll; } }
/*縦組文字　IEの游明朝ズレの対応CSS*/
@media all and (-ms-high-contrast: none) {
  .box .g_inner h2 {
    width: 10px; }

  .box .pre_image {
    background-attachment: scroll; } }
/* ===================================

↓ 会社概要 css 

=================================== */
.box2 {
  width: 1000px;
  margin: 0 auto;
  position: relative;
  padding-top: 180px;
  /*h2*/
  /*table*/
  /*.image_photo*/ }
  @media only screen and (max-width: 768px) {
    .box2 {
      width: 90%;
      min-width: 90%;
      padding-top: 130px; } }
  .box2 h2 {
    font-size: 22px;
    margin-bottom: 55px;
    letter-spacing: 0.3em;
    color: #20334d;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-feature-settings: "palt";
    width: 24px;
    height: 120px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto; }
    @media only screen and (max-width: 768px) {
      .box2 h2 {
        font-size: 18px;
        line-height: 0;
        letter-spacing: 0.3em; } }
  .box2 table {
    width: 100%;
    margin-bottom: 60px;
    font-size: 14px;
    color: #000;
    text-align: left;
    /*tr*/ }
    @media only screen and (max-width: 768px) {
      .box2 table {
        margin-bottom: 30px; } }
    .box2 table tr {
      width: 100%;
      background-color: #e4e9ef;
      line-height: 5em;
      /*th*/
      /*td*/ }
      @media only screen and (max-width: 768px) {
        .box2 table tr {
          display: block;
          line-height: 1.5em;
          padding: 20px 0; } }
      .box2 table tr:nth-child(even) {
        background-color: #fff; }
      .box2 table tr th {
        padding-left: 30px;
        position: relative; }
        @media only screen and (max-width: 768px) {
          .box2 table tr th {
            display: block;
            padding-left: 20px;
            margin-bottom: 5px;
            font-weight: bold; } }
        .box2 table tr th:before {
          content: "";
          display: block;
          width: 15px;
          height: 1px;
          background-color: #bcc1c9;
          position: absolute;
          left: 0;
          top: 35px; }
          @media only screen and (max-width: 768px) {
            .box2 table tr th:before {
              width: 10px;
              top: 10px; } }
      .box2 table tr td {
        padding-left: 50px; }
        @media only screen and (max-width: 768px) {
          .box2 table tr td {
            padding-left: 20px;
            padding-right: 20px; } }
  .box2 .image_photo {
    width: 100%;
    overflow: hidden;
    margin-bottom: 150px; }
    @media only screen and (max-width: 768px) {
      .box2 .image_photo {
        margin: 0 auto 50px; } }
    .box2 .image_photo img {
      width: 244px;
      float: left;
      margin-right: 8px; }
      @media only screen and (max-width: 768px) {
        .box2 .image_photo img {
          width: 50%;
          margin: 0; } }
      .box2 .image_photo img:last-child {
        margin-right: 0; }

/*.box*/
/* ===================================

↓マップcss 

=================================== */
.map {
  width: 100%;
  min-width: 1000px;
  margin-bottom: 170px;
  height: 480px; }
  @media only screen and (max-width: 768px) {
    .map {
      min-width: 100%;
      margin-bottom: 150px;
      height: 400px; } }
  .map h3 {
    font-size: 16px;
    width: 1000px;
    margin: 0 auto;
    letter-spacing: 0.2em;
    color: #20334d;
    position: relative; }
    @media only screen and (max-width: 768px) {
      .map h3 {
        width: 90%;
        margin-bottom: 10px;
        text-align: center; } }
    .map h3 span {
      -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
      font-feature-settings: "palt";
      width: 40px;
      line-height: 2.4em;
      height: 140px;
      position: absolute;
      top: -40px;
      bottom: 0;
      right: 0;
      left: 0;
      margin-left: 960px;
      background-color: #fff; }
      @media only screen and (max-width: 768px) {
        .map h3 span {
          width: 100%;
          margin: 0 auto;
          position: static;
          -webkit-writing-mode: horizontal-tb;
          -ms-writing-mode: lr-tb;
          writing-mode: horizontal-tb; } }
  .map iframe {
    width: 100%;
    min-width: 1000px;
    height: 480px; }
    @media only screen and (max-width: 768px) {
      .map iframe {
        min-width: 100%;
        height: 400px; } }

#map_canvas {
  width: 100%;
  height: 480px;
  background-color: #CBD8E5; }
  @media only screen and (max-width: 768px) {
    #map_canvas {
      height: 300px; } }

/*縦組文字　IEの游明朝ズレの対応CSS*/
@media all and (-ms-high-contrast: none) {
  .map h3 span {
    line-height: 2.8em; } }
/* ===================================

↓沿革css 

=================================== */
.box3 {
  width: 1000px;
  margin: 0 auto;
  position: relative;
  padding-top: 120px;
  /*h2*/
  /*table*/
  /*.image_photo*/ }
  @media only screen and (max-width: 768px) {
    .box3 {
      width: 90%;
      min-width: 90%;
      padding-top: 80px; } }
  .box3 h2 {
    font-size: 22px;
    margin-bottom: 55px;
    letter-spacing: 0.3em;
    color: #20334d;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-feature-settings: "palt";
    width: 24px;
    height: 120px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto; }
    @media only screen and (max-width: 768px) {
      .box3 h2 {
        font-size: 18px;
        line-height: 0;
        letter-spacing: 0.3em; } }
  .box3 table {
    width: 100%;
    margin-bottom: 60px;
    font-size: 14px;
    color: #000;
    text-align: left;
    /*tr*/ }
    @media only screen and (max-width: 768px) {
      .box3 table {
        margin-bottom: 30px; } }
    .box3 table tr {
      width: 100%;
      background-color: #e4e9ef;
      line-height: 5em;
      /*th*/
      /*td*/ }
      @media only screen and (max-width: 768px) {
        .box3 table tr {
          display: block;
          line-height: 1.5em;
          padding: 20px 0; } }
      .box3 table tr:nth-child(even) {
        background-color: #fff; }
      .box3 table tr th {
        padding-left: 20px;
        position: relative; }
        @media only screen and (max-width: 768px) {
          .box3 table tr th {
            display: block;
            padding-left: 20px;
            margin-bottom: 5px;
            font-weight: bold; } }
      .box3 table tr td {
        padding-left: 30px; }
        @media only screen and (max-width: 768px) {
          .box3 table tr td {
            display: block;
            padding-left: 20px;
            padding-right: 20px; } }
  .box3 .image_photo {
    width: 100%;
    overflow: hidden;
    margin-bottom: 150px; }
    @media only screen and (max-width: 768px) {
      .box3 .image_photo {
        margin-bottom: 50px; } }
    .box3 .image_photo figure {
      width: 244px;
      float: left;
      margin-right: 8px; }
      @media only screen and (max-width: 768px) {
        .box3 .image_photo figure {
          width: 100%;
          margin: 0 auto 20px; } }
      .box3 .image_photo figure:last-child {
        margin-right: 0; }
      .box3 .image_photo figure figcaption {
        font-size: 14px;
        margin-top: 10px; }

/*.box*/
/*消えている状態から現れるアニメーション*/
@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
/*じわっと拡大するアニメーション*/
@keyframes scale {
  0% {
    transform: scale(1); }
  100% {
    transform: scale(1.07); } }
/*はじめにブロックを伸ばすアニメーション*/
@keyframes secondaryImageOverlayIn {
  0% {
    width: 0; }
  100% {
    width: 100%; } }
/*のびたブロックを横に追いやるアニメーション*/
@keyframes secondaryImageOverlayOut {
  0% {
    transform: translateX(0); }
  100% {
    transform: translateX(102%); } }
/*のびたブロックを横に追いやるアニメーション（左へ）*/
@keyframes secondaryImageOverlayOut2 {
  0% {
    transform: translateX(0); }
  100% {
    transform: translateX(-102%); } }
/*footer　IEの游明朝ズレの対応CSS*/
@media all and (-ms-high-contrast: none) {
  .area:nth-of-type(2) .copy_box2 .page_link p a {
    line-height: 45px; }

  .area:nth-of-type(3) .copy_box3 .page_link p a {
    line-height: 45px; } }
