@charset "utf-8";

#mobile_gnaviTabs {
  display:none;
}

#panel-btn {
  display:none;
  position: absolute;
  width: 40px;
  height: 40px;
  margin: 8px 10px 0 0;
  border-radius: 50%;
  background: #fff;
  top: 0px;
  right: 0px;
  z-index: 10;
}

#panel-btn:hover {
  /*background: #fafafa;*/
}

#panel-btn-icon {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 2px;
  margin: -1px 0 0 -7px;
  background: #19274c;
  transition: .2s;
}

#panel-btn-icon:before, #panel-btn-icon:after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 14px;
  height: 2px;
  background: #19274c;
  transition: .3s;
}

#panel-btn-icon:before {
  margin-top: -6px;
}

#panel-btn-icon:after {
  margin-top: 4px;
}

#panel-btn .close {
  background: transparent;
}

#panel-btn .close:before, #panel-btn .close:after {
  margin-top: 0;
}

#panel-btn .close:before {
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}

#panel-btn .close:after {
  transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
}

.sidr {
  display: block;
  position: fixed;
  top: 0;
  height: 100%;
  z-index: 999999;
  width: 260px;
  overflow-x: hidden;
  overflow-y: auto;
  background: #fff;
  text-align: left;
}

.sidr .sidr-inner {
  padding: 0 0 15px;
}

.sidr .sidr-inner > p {
  margin-left: 15px;
  margin-right: 15px;
}

.sidr.right {
  left: auto;
  right: -260px;
}

.sidr.left {
  left: -260px;
  right: auto;
}

.sidr ul {
  display: block;
  margin: 0 0 15px;
  padding: 0;
}

.sidr ul li {
  display: block;
  margin: 0;
  line-height: 52px;
  border-top: 1px rgba(255, 255, 255, 0.8);
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.sidr ul li:hover, .sidr ul li.active, .sidr ul li.sidr-class-active {
  border-top: 0;
}

.sidr ul li:hover > a,
.sidr ul li:hover > span, .sidr ul li.active > a,
.sidr ul li.active > span, .sidr ul li.sidr-class-active > a,
.sidr ul li.sidr-class-active > span {
  background:rgba(255,255,255,0.6);
}

.sidr ul li a,
.sidr ul li span {
  padding: 0 15px;
  display: block;
  text-decoration: none;
  color: #ffffff;
}

.sidr ul li ul {
  border-bottom: 0;
  margin: 0;
}

.sidr ul li ul li {
  line-height: 40px;
  font-size: 13px;
}

.sidr ul li ul li:last-child {
  border-bottom: 0;
}

.sidr ul li ul li:hover, .sidr ul li ul li.active, .sidr ul li ul li.sidr-class-active {
}

.sidr ul li ul li:hover > a,
.sidr ul li ul li:hover > span, .sidr ul li ul li.active > a,
.sidr ul li ul li.active > span, .sidr ul li ul li.sidr-class-active > a,
.sidr ul li ul li.sidr-class-active > span {
}

.sidr ul li ul li a,
.sidr ul li ul li span {
  color: #ffffff;
  padding-left: 30px;
}

.sidr form {
  margin: 0 15px;
}

.sidr label {
  font-size: 13px;
}

.sidr ul li ul li {
  border: none;
}

.sidr .sub-nav_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0;
}

.sidr .sub-nav_item {
  width: calc(100% / 3);
  height: 60px;
  border: none;
  line-height: normal;
}

.sidr .sub-nav_anchor {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 100%;
  padding: 0;
}

.sidr .sub-nav_icon {
  margin-bottom: 5px;
}

.sidr .global-nav {
  width: 100%;
  height: auto;
  padding: 0 20px 90px 20px;
}

.sidr .global-nav_list {
  display: block;
  margin: 0;
  border-top: 1px solid #004987;
}

.sidr .global-nav_item {
  width: 100%;
  border-bottom: 1px solid #004987;
}

.sidr .global-nav_anchor {
  padding: 0 0 0 10px;
  color: #17284C;
  font-size: 16px;
  font-family: 'Hiragino Kaku Gothic Pro';
}

.sidr .global-nav_parent::before {
  right: 10px;
  left: auto;
}

.sidr .global-nav_parent.-open::before {
  border-top-color: #17284c;
  top: calc(50% - 9px);
  transform: rotate(180deg);
  transition: .1s;
}

.sidr .global-nav_parent:hover {
  color: #19274f;
  background: inherit;
}

.sidr .global-nav_parent:hover::after {
  display: none;
}

.sidr .child-nav {
  display: none;
  width: 100%;
  padding: 13px 0;
  background: #fff;
  position: static;
  border-top: 1px solid #004987;
}

.sidr .child-nav_item {
  font-size: 14px;
  line-height: normal;
}

.sidr .child-nav_item:not(:first-child) {
  margin-top: 10px;
}

.sidr .child-nav_anchor {
  font-family: 'Hiragino Kaku Gothic Pro';
  padding: 0 0 0 30px;
  font-size: 16px;
  line-height: 2.73;
  color: #17284C;
}

.sidr .child-nav_anchor::before {
  border-left-color: #ffffff;
  top: calc(50% - 5px);
}

@media screen and (min-width: 769px) {
  .view_sp {
    display: none
  }
}

/*768：iPad縦 / iPhone 7/6 Plus横*/
@media screen and (max-width: 768px) {
  img {
    image-rendering: -webkit-optimize-contrast;
  }

  .-sp {
    display: block;
  }

  .-pc {
    display: none;
  }

  body {
    padding-top: 60px;
  }

  #mobile_gnaviTabs {
    display:block;
  }

  #panel-btn {
    display:inline-block;
  }

  .view_pc {
    display: none;
  }

  div.inner {
    width: 100%;
    max-width: 768px;
    box-sizing: border-box;
    padding: 0 15px;
  }

  /*#index div.inner {
    padding: 15px;
}
*/
  .thumbnail img {
    width:100%;
    max-width: 100%;
    height: auto;
  }

  .width_w300 {
  }

  .width_w240 {
  }

  #header {
    width: 100%;
    height: auto;
    margin: 0px auto;
    text-align: center;
    position: static;
    border-bottom: 2px solid #19274c;
  }

  #header.fixed {
    position: fixed;
  }

  #header .logo {
    position: absolute;
    top: 10px;
    left: 15px;
  }

  #header .logo img {
    width:auto;
    max-width: auto;
    height: 33px;
    max-height: 33px;
  }

  #header .logo a {
    /*display: block;*/
  }

  #header .global_header {
    display: none;
  }

  #main #mainvisual .inner img {
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: 0 auto;
  }

  .site-header {
    height: 63px;
  }

  .site-header .site-logo {
    width: 208px;
    margin-left: 16px;
  }
  .site-header .site-logo_anchor {
    display: inline-block;
    width: 100%;
  }

  .site-header .nav-trigger {
    display: block;
    width: 40px;
    height: 40px;
    margin: 0 10px 0 auto;
    position: relative;
  }

  .site-header .nav-trigger .btn-line {
    display: block;
    width: 14px;
    height: 2px;
    background: #19274f;
    position: absolute;
    left: 13px;
  }

  .site-header .nav-trigger .btn-line:first-child {
    top: 13px;
  }

  .site-header .nav-trigger .btn-line:nth-child(2) {
    top: calc(50% - 1px);
  }

  .site-header .nav-trigger .btn-line:last-child {
    bottom: 13px;
  }

  .site-header .nav-trigger.-close .btn-line:first-child {
    top: 19px;
    transform: rotate(45deg);
  }

  .site-header .nav-trigger.-close .btn-line:nth-child(2) {
    display: none;
  }

  .site-header .nav-trigger.-close .btn-line:last-child {
    bottom: 19px;
    transform: rotate(-45deg);
  }

  /*2019年6月25日追記*/
  .spContents {
    display: none;
  }

  .pcContents {
    display: inherit;
  }

  #contents .finance_list {
    width: auto;
  }

  #contents .finance_a {
    width: auto;
  }

  #contents .finance_result {
    padding: 15px;
  }

  #contents .finance_result_h3 {
    margin-bottom:10px;
    padding-left: 0;
  }

  #contents .finance_result dl {
    margin:0 0 25px;
    font-size: 90%;
    line-height: 140%;
  }

  #contents .finance_result dt {
    display: block;
    margin-right: 0;
  }

  #contents .finance_result dd {
    display: block;
  }

  #contents .report {
    width: 100%;
    float: none;
  }

  #contents .report:nth-of-type(even) {
    float: none;
  }

  /*2018年12月20日追記*/
  #contents .c_info {
    width: auto;
  }

  #contents .entry_area {
    /*padding: 90px 0;
	font-size: 16px;
	line-height: 1.8;*/
  }

  body#page #contents .entry_area div.format {
    display: block;
  }

  body#page #contents .entry_area div.format > * {
    display: block;
    width: auto;
  }

  #contents .entry_area.news {
  }

  #contents .entry_area.news .inner {
    display: block;
  }

  #contents .entry_area.news .headline {
    display: block;
    vertical-align: auto;
    width: auto;
    text-align: center;
    padding-left: 0px;
  }

  #contents .entry_area.news ul {
    display: block;
    vertical-align: auto;
    font-size: 12px;
  }

  #contents .entry_area.news ul li {
    display: block;
    border-left: 1px solid #c9caca;
    width: 100%;
    /*min-width: 25%;*/
    padding: 0px 15px;
    margin: 15px 0px;
  }

  #contents .entry_area.vision ul {
    display: block;
    margin: 0px auto;
  }

  #contents .entry_area.vision ul li {
    display: block;
    /*width: 33%;*/
    /*min-width: 33%;*/
    padding: 35px;
    text-align: center;
    margin: 30px 0px;
  }

  #contents .entry_area.purpose {
    background-position: 15% center;
  }

  #contents .entry_area.purpose .inner {
    padding-left: 30px;
    padding-right: 30px;
  }

  #contents .entry_area.values ul {
    width: 300px;
  }

  body#page.about.leadership #contents .entry_area.management ul li {
    width: 50%;
    float: left;
  }

  body#page.about.leadership #contents .entry_area.management ul li .thumb {
    height: 100%;
    width: 100%;
    overflow: hidden;
    border-radius: 100%;
    text-align: center;
    margin: 0px auto;
    background-color: #ccc;
    padding: 0;
  }

  body#page.about.leadership #contents .entry_area.investment ul {
    width: 300px;
  }

  body#page.about.leadership #contents .entry_area.management2 .imglist {
    display: block;
  }

  body#page.about.leadership #contents .entry_area.management2 .imglist > * {
    display: block;
    width: auto;
  }

  body#page.about.leadership #contents .entry_area.management2 .imglist > * + * {
    padding-top: 25px;
    padding-left: 0px;
    padding-right: 0px;
  }

  body#page.about.leadership #contents .entry_area.management2 .imglist > .thumb {
    text-align: center;
    margin: 0px auto;
  }

  .article_heading {
    height: 100px;
    font-size: 28px;
    text-align: center;
    line-height: 1.2;
  }

  .section_heading{
    margin-top: 90px;
    margin-bottom: 35px;
  }
  .subsection_heading {
    margin-top: 50px;
    margin-bottom: 25px;
  }

  .main_text {
    font-size: 16px;
  }

  .site-footer_inner {
  padding: 21px 4% 23px;
  }
  
  .footer-nav_list {
  display: block;
    border-top: 1px solid#17284c;
  }
  .footer-nav_item {
  max-width: 100%;
  }

  .footer-nav_parent {
  pointer-events: all;
  }
  .footer-nav_parent,
  .footer-nav_anchor {
  margin: 0;
  padding: 11px 10px;
  font-size: 13px;
  line-height: 2.31;
  position: relative;
  font-family: 'Hiragino Kaku Gothic Pro';
  }
  .footer-nav_parent::before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-top: 4px solid #005998;
    border-right: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 4px solid transparent;
    top: calc(50% - 3px);
    right: 10px;
    transition: .3s;
    position: absolute;
  }
  .footer-nav_parent.-open::before {

    border-top-color: #17284c;
    top: calc(50% - 9px);
    transform: rotate(180deg);
    transition: .1s;
  }
  .footer-nav_item .nav-child_wrap {
  display: none;
  padding: 13px 0 13px 32px;
  border-bottom: 1px solid #19274f;
  }
  .footer-nav_item .nav-child_anchor {
  font-size: 11px;
  line-height: 2.73;
  }
  .footer-sub-nav_list {
  display: block;
  margin-top: 24px;
  }
  .footer-sub-nav_anchor[href] {
    font-size: 11px;
    line-height: 2.73;
    padding-left: 10px;
  }

  .copyright_list {
    display: block;
    padding: 10px 0;
    font-size: 12px;
    line-height: 1.4;
  }

  .copyright_item:not(:first-child)::before {
    display: none;
  }

  .page-top_btn:hover::before {
    border-bottom-color: #ffffff;
  }

  .page-top_btn:hover::after {
    display: none;
  }

  /* provisional page parts */
  .page-section {
    padding-bottom: 90px;
  }

  .page-read_text {
    font-size: 16px;
    line-height: calc(28.3 / 16);
  }

 /* 2023 */

  body.fixed {
    width: 100%;
    height: 100%;
    position: fixed;
  }
  .sidr.right {
  display: block;
  top: 63px;
  position: fixed;
  width: 100%;
  right: -100%;
  }
  .global-nav {
    display: none;
  }
  .sidr.-sp .global-nav  {
    display: block;
  }
  .site-header_inner {
  justify-content: space-between;
  padding-right: 55px;
  }
  .site-header .header-nav .sub-nav {
  width: auto;
  }
  .site-header .sub-nav_list {
  padding: 0 0 0 0;
  }
  .search-input_btn.-close {
    display: none;
  }
  .site-header .header-nav {
  width: 40px;
  min-width: 40px;
  }
  .nav-trigger.-close + .header-nav {
    display: none;
  }
  .global-nav_parent {
    position: relative;
  }
  .global-nav_parent::before {
      display: block;
      content: "";
      width: 0;
      height: 0;
      border-top: 4px solid #005998;
      border-right: 4px solid transparent;
      border-bottom: 4px solid transparent;
      border-left: 5px solid transparent;
      top: calc(50% - 3px);
      left: -20px;
      position: absolute;
  }
  .global-nav .lang-select_list {
    display: flex;
    justify-content: flex-end;
    width: 100%;
    margin-top: 24px;
  }
  .global-nav .lang-select_item {
  display: flex;
  width: auto;
  height: auto;
  list-style: none;
  letter-spacing: 0.05em;
  font-size: 16px;
  line-height: 24px;
  border: none;
  }
  .lang-select_anchor[href] {
  padding: 0;
  }
  .search-input {
  width: 100vw;
  left: auto;
  right: -55px;
  border-radius: 0;
  top: 51px;
  }
  .mt-site-search-form {
  width: calc(100vw - 90px);
  }
  .mt-site-search-form__query {
  height: 50px;
  font-size: 16px;
  }
  .mt-site-search-form__button {
  height: 50px;
  }
  .search-close-btn {
  margin-left: 8px;
  width: 42px;
  }
  .search-input::before {
    right: 64px;
  }
}

/*667：iPhone 7/6横*/
@media screen and (max-width: 667px) {
}

/*568：iPhone 5/SE横*/
@media screen and (max-width: 568px) {
}

/*480：iPhone 7/6 Plus縦*/
@media screen and (max-width: 480px) {
}

/*375：iPhone 7/6縦*/
@media screen and (max-width: 375px) {
}

/*320：iPhone 5/SE/4以下縦*/
@media screen and (max-width: 320px) {
}
