﻿/*----------------------------------------------------------------------------*/
/* ヘッダーメニュー サブメニュー表示(PC)                                     */
/*----------------------------------------------------------------------------*/
@charset "utf-8";

  #nav_list ul.menu_second-level {
    display: none;
  }
  #nav_list .lower_triangle::after {
    content: '';
    display: inline-block;
    width: 0;
    height: 0;
    border: 3px solid transparent;
    border-top-color: #adb5bd;
    transition: .4s cubic-bezier(.6,0,.41,1);
    transition-property: transform,opacity;
    margin-left:5px;
  }
  #nav_list .lower_triangle::before {
    content: '';
    display: inline-block;
    width: 0;
    height: 0;
    margin-left:6px;
  }
  #nav_list .menu_single {
    position: relative;
    display: inline-block;
    text-decoration: none;
  }
  #nav_list .menu_single::after {
    position: absolute;
    bottom: 15px;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: #333;
    transform: scale(0, 1);
    transform-origin: center top;
    transition: transform .3s;
  }
  #nav_list .menu_single:hover::after {
    transform: scale(1, 1);
  }
  #nav_list .menu_second-level li{
    width: 290px;
    background: #f4f4f4;
    opacity: 1;
    border-bottom : 1.1px solid #dadada;
  }
  #nav_list .menu_second-level li a {
    padding: 10px 15px !important;
  }
  #nav_list .menu_second-level li a:hover {
    background: #dadada;
  }
  #nav_list li.menu_single ul.menu_second-level {
    position: absolute;
    top: 80px;
    width: 100%;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
  }
  #nav_list li.menu_single:hover ul.menu_second-level {
    top: 80px;
    display: block;
    animation-name:fade-in01;
    animation-duration:0.5s;
    animation-fill-mode: forwards;
  }
  @keyframes fade-in01 {
    0% {
      display: none;
      opacity: 0;
      transform: translateY(-10px);
    }
    100%{
      display: block;
      opacity: 1;
      transform: translateY(0);
    }
  }
  header #header_nav #nav_list li a {
    padding: 30px 10px;
  }
  header #header_nav #nav_list li a {
    font-weight: normal;
  }
/*----------------------------------------------------------------------------*/
/* ハンバーガーメニュー サブメニュー表示(スマホ・タブレット)                  */
/*----------------------------------------------------------------------------*/
  #nav_main_sp label {
    display: inline-block;
    width: 60px;
    text-align: center;
    color :#004098;
    cursor :pointer;
    float: right;
    font-size:0px;
    padding: 9.5px 10px;
  }
  #nav_main_sp input {
    display: none;
  }
  #nav_sp #nav_main_sp .sub_menu > ul {
    margin: 0;
    padding: 0;
    background :#f4f4f4;
    list-style: none;
  }
  #nav_sp #nav_main_sp .sub_menu li {
    height: 0;
    overflow: hidden;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -ms-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
    border-bottom: none;
  }
  #nav_sp #nav_main_sp .sub_menu li a{
    line-height: 30px;
    padding: 0 0 0 36px;
  }
  #menu_bar01:checked ~ #links01 li,
  #menu_bar02:checked ~ #links02 li,
  #menu_bar03:checked ~ #links03 li,
  #menu_bar04:checked ~ #links04 li,
  #menu_bar05:checked ~ #links05 li{
    height: 30px;
    opacity: 1;
  }
  #menu_bar02:checked ~ #links02 li.height_adjustment {
    /* 英語版ハンバーガーメニューの「Business」内を２行で表示させるための対応 */
    height: 44px;
  }
  #menu_bar04:checked ~ #links04 li.height_adjustment {
    /* 英語版ハンバーガーメニューの「Sustainability」内を２行で表示させるための対応 */
    height: 44px;
  }
  #menu_bar05:checked ~ #links05 li.height_adjustment {
    /* 英語版ハンバーガーメニューの「Investor relations」内を２行で表示させるための対応 */
    height: 44px;
  }
  input[type="radio"] + label::after {
    content:"+";
    font-size:20px;
  }
  input[type="radio"]:checked + label::after {
    content:"－";
    font-size:20px;
  }
  .drawer-nav {
    overflow: auto !important;
    height:100%;
    margin-bottom:30px;
  }
  .drawer-nav {
    -ms-overflow-style: none;
    /* IE, Edge 対応 */
    scrollbar-width: none;
    /* Firefox 対応 */
  }
  .drawer-nav::-webkit-scrollbar {
    /* Chrome, Safari 対応 */
    display:none;
  }
  @media screen and (max-width: 1024px){
    #nav_sp #nav_main_sp li a {
      display: inline-block;
    }
  }


/*----------------------------------------------------------------------------*/
/* アンカー:ページ移動する際に、指定の位置で表示するためのクラス              */
/*----------------------------------------------------------------------------*/
.anchor{
	display: block;
	padding-top: 70px;
	margin-top: -70px;
}
@media screen and (max-width: 1024px) {
	.anchor{
		padding-top: 0px;
		margin-top: 0px;
	}
}