img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom; }

body {
  margin: 0;
  padding: 0;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
  color: #222; }

.hero {
  background: url("../img/hero.jpg") center center/cover no-repeat; }
  @media only screen and (max-width: 767px) {
    .hero {
      height: 300px; } }
  @media only screen and (min-width: 768px) {
    .hero {
      height: 580px; } }
  .hero .layer {
    width: 100%;
    height: 100%;
    background-color: rgba(0, 49, 88, 0.1);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
  @media only screen and (max-width: 767px) {
    .hero .inner {
      margin: 5px 0 0 15px; } }
  .hero h1 {
    padding: 0;
    color: #fff;
    letter-spacing: 3px;
    text-align: center;
    -webkit-filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.4));
    filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.4)); }
    @media only screen and (max-width: 767px) {
      .hero h1 {
        margin: 0;
        font-size: 1.1rem;
        line-height: 1.9rem; } }
    @media only screen and (min-width: 768px) {
      .hero h1 {
        margin: 0 0 5px;
        font-size: 1.4rem;
        line-height: 2.0rem; } }

.local_head {
  position: relative; }
  @media only screen and (max-width: 767px) {
    .local_head {
      margin: 40px 0 0;
      padding: 0 0 10px; } }
  @media only screen and (min-width: 768px) {
    .local_head {
      margin: 50px 0 0;
      padding: 0 0 50px; } }
  .local_head::before {
    display: inline-block;
    content: "";
    background: #f7f7f7;
    width: 100%;
    position: absolute;
    bottom: 0; }
    @media only screen and (max-width: 767px) {
      .local_head::before {
        height: 290px; } }
    @media only screen and (min-width: 768px) {
      .local_head::before {
        height: 150px; } }
  .local_head ul {
    list-style: none;
    display: flex;
    justify-content: space-between;
    margin: 0;
    padding: 0; }
    @media only screen and (max-width: 767px) {
      .local_head ul {
        flex-wrap: wrap; } }
    .local_head ul li {
      position: relative;
      z-index: 10;
      box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
      overflow: hidden;
      cursor: pointer; }
      @media only screen and (max-width: 767px) {
        .local_head ul li {
          width: 48%;
          margin: 0 0 20px; } }
      @media only screen and (min-width: 768px) {
        .local_head ul li {
          width: 24%; } }
      .local_head ul li .image {
        width: 100%;
        background: #000000; }
        .local_head ul li .image img {
          transition: 0.7s all; }
          .local_head ul li .image img:hover {
            -webkit-transform: scale(1.2);
            transform: scale(1.2);
            transition: 0.7s all;
            opacity: 0.7; }
      .local_head ul li h2 {
        text-align: left;
        letter-spacing: 0.05em;
        margin: 0;
        background: #fff;
        font-weight: normal;
        position: relative; }
        @media only screen and (max-width: 767px) {
          .local_head ul li h2 {
            font-size: 0.85rem;
            padding: 10px 13px; } }
        @media only screen and (min-width: 768px) {
          .local_head ul li h2 {
            font-size: 1.0rem;
            padding: 13px 20px; } }
        .local_head ul li h2::before {
          content: '';
          width: 6px;
          height: 6px;
          border-top: solid 2px #203169;
          border-right: solid 2px #203169;
          -ms-transform: rotate(45deg);
          -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
          position: absolute;
          top: 44%;
          right: 7%; }
        .local_head ul li h2 a {
          color: #000;
          text-decoration: none; }

.hero_category {
  color: #444;
  background: #F3F3F3; }

@media only screen and (max-width: 767px) {
  .content {
    margin: 0;
    padding: 0 15px; } }
@media only screen and (min-width: 768px) {
  .content {
    max-width: 1150px;
    width: calc(100% - 40px);
    margin: 0 auto;
    padding: 0; } }

@media only screen and (max-width: 767px) {
  .news_release {
    margin: 0;
    padding: 40px 0 50px; } }
@media only screen and (min-width: 768px) {
  .news_release {
    margin: 0;
    padding: 70px 0 80px; } }
.news_release h3 {
  text-align: center;
  color: #333; }
  @media only screen and (max-width: 767px) {
    .news_release h3 {
      margin: 0 0 20px;
      padding: 0;
      font-size: 1.3rem; } }
  @media only screen and (min-width: 768px) {
    .news_release h3 {
      margin: 0 0 30px;
      padding: 0;
      font-size: 1.5rem; } }
  @media only screen and (max-width: 767px) {
    .news_release h3 span {
      font-size: 0.75rem;
      line-height: 0.75rem; } }
  @media only screen and (min-width: 768px) {
    .news_release h3 span {
      font-size: 0.9rem;
      line-height: 1.1rem;
      margin-left: 10px; } }
.news_release .update {
  padding: 0;
  font-size: 0.8rem;
  text-align: right; }
  @media only screen and (max-width: 767px) {
    .news_release .update {
      margin: 0 0 10px; } }
  @media only screen and (min-width: 768px) {
    .news_release .update {
      margin: 0 0 13px; } }
.news_release .ttl_area {
  display: flex; }
  @media only screen and (max-width: 767px) {
    .news_release .ttl_area {
      flex-direction: column;
      margin: 0 0 5px; } }
  @media only screen and (min-width: 768px) {
    .news_release .ttl_area {
      justify-content: space-between;
      margin: 0 0 15px; } }
.news_release .topics_area .topics {
  margin: 0;
  padding: 0;
  list-style: none;
  border-bottom: #ccc solid 1px; }
  .news_release .topics_area .topics li {
    margin: 0;
    border-top: #ccc solid 1px; }
    @media only screen and (max-width: 767px) {
      .news_release .topics_area .topics li {
        padding: 20px 5px 20px; } }
    @media only screen and (min-width: 768px) {
      .news_release .topics_area .topics li {
        padding: 20px 0 20px 25px;
        display: flex; } }
    .news_release .topics_area .topics li .pdf {
      position: relative;
      color: #6b9bc3;
      text-decoration: none; }
      @media only screen and (max-width: 767px) {
        .news_release .topics_area .topics li .pdf {
          margin: 0;
          display: block;
          font-size: 0.9rem; } }
      @media only screen and (min-width: 768px) {
        .news_release .topics_area .topics li .pdf {
          font-size: 0.95rem; }
          .news_release .topics_area .topics li .pdf:hover {
            text-decoration: underline; } }
      .news_release .topics_area .topics li .pdf::after {
        display: block;
        content: '';
        background-image: url("/dir/company/ir/img/list_pdf.png");
        background-repeat: no-repeat;
        background-size: contain;
        vertical-align: middle;
        position: absolute; }
        @media only screen and (max-width: 767px) {
          .news_release .topics_area .topics li .pdf::after {
            top: 0;
            right: 0;
            width: 25px;
            height: 25px; } }
        @media only screen and (min-width: 768px) {
          .news_release .topics_area .topics li .pdf::after {
            top: 3px;
            right: -25px;
            width: 18px;
            height: 18px; } }
@media only screen and (max-width: 767px) {
  .news_release .topics_area .info {
    display: flex;
    justify-content: space-between;
    margin: 0 0 -10px;
    font-size: 0.8rem; } }
.news_release .topics_area .date {
  display: inline-block; }
  @media only screen and (min-width: 768px) {
    .news_release .topics_area .date {
      margin: 0 20px 0 0;
      width: 135px;
      font-size: 0.95rem; } }
.news_release .topics_area .category {
  display: inline-block;
  background: #999;
  color: #fff;
  text-align: center; }
  @media only screen and (max-width: 767px) {
    .news_release .topics_area .category {
      margin: 0 0 0 auto;
      font-size: 0.6rem;
      width: 125px;
      height: 17px;
      line-height: 17px; } }
  @media only screen and (min-width: 768px) {
    .news_release .topics_area .category {
      margin: 0 40px 0 0;
      font-size: 0.7rem;
      width: 120px;
      height: 20px;
      line-height: 20px; } }
@media only screen and (max-width: 767px) {
  .news_release .topics_area br {
    line-height: initial; } }
.news_release .topics_area p {
  margin: 0;
  padding: 0; }
  @media only screen and (max-width: 767px) {
    .news_release .topics_area p {
      width: 285px; } }
.news_release .more {
  border: #333 solid 2px;
  position: relative;
  text-align: center; }
  @media only screen and (max-width: 767px) {
    .news_release .more {
      margin: 30px auto 0;
      width: 200px;
      height: 38px;
      line-height: 38px; } }
  @media only screen and (min-width: 768px) {
    .news_release .more {
      margin: 40px auto 0;
      width: 280px;
      height: 40px;
      line-height: 40px; }
      .news_release .more:hover {
        border: #203169 solid 2px; } }
  .news_release .more::before {
    content: '';
    width: 6px;
    height: 6px;
    border-top: solid 2px #000;
    border-right: solid 2px #000;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 40%;
    right: 7%; }
    .news_release .more::before:hover {
      border-top: solid 2px #203169;
      border-right: solid 2px #203169; }
  .news_release .more a {
    color: #333;
    text-decoration: none;
    position: relative;
    width: 100%;
    display: block; }
    @media only screen and (max-width: 767px) {
      .news_release .more a {
        font-size: 0.8rem; } }
    @media only screen and (min-width: 768px) {
      .news_release .more a {
        font-size: 0.9rem; }
        .news_release .more a:hover {
          color: #203169; } }
    .news_release .more a::after {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 1;
      pointer-events: auto;
      content: "";
      background-color: transparent; }
.news_release .topics_area.active {
  display: block; }

.other_content {
  background: #333; }
  @media only screen and (max-width: 767px) {
    .other_content {
      margin: 0;
      padding: 50px 0; } }
  @media only screen and (min-width: 768px) {
    .other_content {
      margin: 0 0 50px;
      padding: 50px 0; } }
  .other_content .item_container {
    display: flex; }
    @media only screen and (max-width: 767px) {
      .other_content .item_container {
        flex-direction: column; } }
    @media only screen and (min-width: 768px) {
      .other_content .item_container {
        justify-content: space-between; } }
    .other_content .item_container .item {
      position: relative;
      box-shadow: 0 0 8px rgba(0, 0, 0, 0.2); }
      @media only screen and (max-width: 767px) {
        .other_content .item_container .item {
          width: 100%;
          margin: 0 0 30px; }
          .other_content .item_container .item:last-child {
            margin: 0; } }
      @media only screen and (min-width: 768px) {
        .other_content .item_container .item {
          width: 32%;
          cursor: pointer; }
          .other_content .item_container .item:hover {
            opacity: 0.8; } }
      .other_content .item_container .item::before {
        content: "";
        position: absolute;
        z-index: 10;
        bottom: 10px;
        right: 15px;
        box-sizing: border-box;
        width: 25px;
        height: 25px;
        border: 1px solid #fff;
        -webkit-border-radius: 50%;
        border-radius: 50%; }
      .other_content .item_container .item::after {
        content: "";
        position: absolute;
        z-index: 10;
        bottom: 18px;
        right: 25px;
        width: 7px;
        height: 7px;
        border-top: 1px solid #fff;
        border-right: 1px solid #fff;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg); }
      .other_content .item_container .item .image {
        width: 100%; }
        @media only screen and (max-width: 767px) {
          .other_content .item_container .item .image {
            position: relative;
            overflow: hidden;
            height: 100px; }
            .other_content .item_container .item .image img {
              position: absolute;
              top: 0;
              right: 0;
              left: 0;
              bottom: 0;
              margin: auto;
              width: 100%; } }
        .other_content .item_container .item .image::after {
          content: '';
          background-color: rgba(0, 49, 88, 0.6);
          position: absolute;
          left: 0;
          right: 0;
          top: 0;
          bottom: 0; }
      .other_content .item_container .item p {
        position: absolute;
        bottom: 8px;
        left: 15px;
        margin: auto;
        padding: 0; }
        .other_content .item_container .item p a {
          color: #fff;
          text-decoration: none;
          letter-spacing: 0.05em;
          display: inline-block;
          position: relative; }
          @media only screen and (max-width: 767px) {
            .other_content .item_container .item p a {
              font-size: 1.0rem; } }
          @media only screen and (min-width: 768px) {
            .other_content .item_container .item p a {
              font-size: 1.1rem; } }

@media only screen and (max-width: 767px) {
  .sns {
    margin: 0;
    padding: 0; } }
@media only screen and (min-width: 768px) {
  .sns {
    margin: 0;
    padding: 0 0 70px; } }
@media only screen and (max-width: 767px) {
  .sns .content {
    padding: 0; } }
.sns .sns_conatainer {
  display: flex; }
  @media only screen and (max-width: 767px) {
    .sns .sns_conatainer {
      flex-direction: column; } }
  @media only screen and (min-width: 768px) {
    .sns .sns_conatainer {
      justify-content: space-between; } }
  .sns .sns_conatainer .sns_item {
    background: #fff;
    box-sizing: border-box; }
    @media only screen and (max-width: 767px) {
      .sns .sns_conatainer .sns_item {
        width: 100%;
        margin: 0;
        padding: 15px 20px;
        display: flex;
        align-items: center;
        border-bottom: #ccc solid 1px; } }
    @media only screen and (min-width: 768px) {
      .sns .sns_conatainer .sns_item {
        width: 33.5%;
        margin: 0;
        border-left: #ccc solid 1px;
        text-align: center; } }
    @media only screen and (min-width: 768px) {
      .sns .sns_conatainer .sns_item:first-child {
        border-left: none; } }
    @media only screen and (max-width: 767px) {
      .sns .sns_conatainer .sns_item:last-child {
        border-bottom: none; } }
    @media only screen and (max-width: 767px) {
      .sns .sns_conatainer .sns_item img {
        width: 75%; } }
    .sns .sns_conatainer .sns_item img:hover {
      opacity: 0.8; }
    .sns .sns_conatainer .sns_item p {
      padding: 0; }
      @media only screen and (max-width: 767px) {
        .sns .sns_conatainer .sns_item p {
          margin: 0;
          font-size: 0.7rem;
          line-height: 1.0rem; } }
      @media only screen and (min-width: 768px) {
        .sns .sns_conatainer .sns_item p {
          margin: 10px 0 0;
          font-size: 0.8rem;
          line-height: 1.0rem; } }
    .sns .sns_conatainer .sns_item a {
      color: #3f3f3f;
      text-decoration: none; }
      .sns .sns_conatainer .sns_item a:hover {
        text-decoration: underline; }

@media only screen and (min-width: 768px) {
  .sponly {
    display: none; } }

@media only screen and (max-width: 767px) {
  .pconly {
    display: none; } }

.global_head {
  margin: 0;
  padding: 0; }
