@charset "UTF-8";
a:hover{
  cursor: pointer;
}
.border-left{
  border-left: 1px solid #ccc!important;
}
header .row {
  margin-right: 0;
  margin-left: 0;
  position: relative;
}
.fa-chevron-right {
  float: right;
  line-height: 40px;
  padding-right: 10px;
}
.navbar .nav-item .fa-chevron-up,
.navbar .nav-item .fa-chevron-down {
  width: 21px;
  padding-left: 11px;
}
.navbar {
  position: relative;
  z-index: 9999;
	max-width: 1240px;
  margin: auto;
  padding: 0 20px;
}

/*Sub Navigation*/
ul.navbar-nav.sub-nav{
  margin-top:.15px;
  font-size: 12px;
}
ul.navbar-nav.sub-nav li:not(:last-child) {
  margin-top:10px;
  padding: 10px 20px;
  position: relative;
}
ul.navbar-nav.sub-nav li a{
  color: #000;
  font-size: 12px;
}
ul.navbar-nav.sub-nav li a:hover{
  color: #0081cc;
}
ul.navbar-nav.sub-nav li.lang-jp{
  margin-right: 0!important;
}
ul.navbar-nav.sub-nav li.lang-en{
  margin-right: 26px;
}
ul.navbar-nav.sub-nav li.lang-en,
ul.navbar-nav.sub-nav li.lang-jp{
  padding: 10px;
}
ul.navbar-nav.sub-nav li.lang-en::after{
  content: "";
  height: 28px;
  width: 1px;
  display: block;
  background:#ccc;
  position: absolute;
  left: 0;
  top:3px;
}
.lang-jp.active a,
.lang-en.active a{
  color: #999999!important;
}
.navbar .nav-search {
  display: none;
}
.navbar .nav-search form input{
  width: 290px;
  padding-left: 10px;
  line-height: 1.4rem;
  font-size: 12px;
}
@media screen and (max-width: 768px) {
  #navbarNavDropdown {
    max-height: calc(100vh - 70px);
    overflow-y: scroll;
  }
  .navbar .nav-search form input{
    width: 250px;
  }
}
ul.navbar-nav.sub-nav li.js-search-icon{
  margin-top: 18px;
}
ul.navbar-nav.sub-nav li.js-search-icon a{
  color: #0081cc!important;
  width: 21px;
  height: 21px;
  margin-top: .8rem!important;
  padding: 0;
}
ul.navbar-nav.sub-nav li.js-search-icon i.fa-search{
  width: 23px;
  font-size: 21px;
  margin: 0;
  padding: 0;
}
ul.navbar-nav.sub-nav li.js-search-icon i.fa-times{
  width: 23px;
  font-size: 20px;
  margin: 0;
  padding: 0;
  color: #999;
}

ul.navbar-nav.sub-nav li.js-nav-search{
  margin-top: 8px;
  padding: 5px 10px!important;
}
.nav-search-button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
  width: 23px;
  font-size: 20px;
  color: #0081cc !important;
  margin-right: 7px;
}
.nav-search-button:focus {
    outline: none;
}
.nav-search form {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

/*main Navigation*/
.collapse.navbar-collapse.pc{
  margin-bottom: 12px;
}

.navbar-brand {
  margin-top: -55px;
}
.logoText {
  font-size: 16px;
  font-weight: 600;
  margin-top: 10px;
  margin-left: 18px;
}

.navbar .nav-item .nav-link {
  margin: 0 22px;
  color: #000;
  padding-left: 0;
  padding-right: 0;
}

@media (max-width: 991.98px) {
  .navbar .nav-item .nav-link {
    margin: 0 10px;
  }
}

/*main nav color*/
.nav-item.dropdown_multilayer{
 box-sizing: border-box;
}

/* hover color */
.navbar-light .navbar-nav .nav-link:hover {
  color: #0081cc;
}
/* hover border-none */
.navbar .nav-item .nav-link:hover::before {
  border: none;
}

.navbar .nav-item .nav-link::before {
  display: none;
}
.sub-nav .nav-item .nav-link {
  margin-top: 7px;
  font-size: 12px;
}
.sub-nav .nav-item .nav-link::before {
  border: none;
  color: #0081cc;
}
a.nav-link.js-menu-toggle.active {
  color: #0081cc!important;
  border-bottom: 2px solid #0081cc;;
  box-sizing: border-box;
}
/* link location */
a.nav-link.js-menu-toggle.location {
  color: #0081cc!important;
  border-bottom: 2px solid #0081cc;;
  box-sizing: border-box;
}

a.js-menu-toggle.active:after {
  border: none;
  color: #0081cc;
}

.nav-item_sub {
  padding-bottom: 0;
  padding-right: 20px;
}

.navbar-light .nav-item_sub .nav-link::before {
  border: none;
}
.dropdown_multilayer a.dropdown_multilayer_menu {
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  padding-top: 0px;
}
.nav-item.dropdown_multilayer .nav-link{
  margin-bottom: 0px!important;
  padding-bottom: 10px;
}
@media (max-width: 991.98px) {
  .dropdown_multilayer a.dropdown_multilayer_menu {
    margin: 0 24px;
  }
}
.dropdown_multilayer_menu_sub {
  max-width: 1240px;
  margin: 0 auto;
  padding: 30px 20px 30px 20px!important;
  display: none;
}
.nav-arrow_right {
  position: relative;
  display: inline-block;
	color: #000;
  padding: 0.5rem 0;
}
.nav-arrow_right:before {
	font-family: 'Font Awesome 5 Free';
  content: "\f054";
  font-weight: 900;
	font-size: 1em;
  width: 6px;
  height: 6px;
  border: 0px;
  color: #0081cc;
  position: absolute;
  top: 7px;
  left: 0;
}

/**menu内のインデントを調整**/
.dropdown_multilayer_menu_sub.js-menu .nav-arrow_right{
  padding-left: 1rem;
}
.dropdown_multilayer_menu_sub.js-menu .nav-arrow_right span{
  position: absolute;
}
.nav-arrow_right2 {
  position: relative;
  display: inline-block;
	color: #fff;
}
.nav-arrow_right2:before {
	font-family: 'Font Awesome 5 Free';
  content: "\f054";
  font-weight: 900;
	font-size: 1em;
  width: 6px;
  height: 6px;
  border: 0px;
  color: #fff;
  position: absolute;
  top: 0;
  left: 0;
}
.dropdown_multilayer_menu_third_sub {
  position: absolute;
  left: 100%;
  width: 300%;
  max-width: 320px;
  background: #fff;
  margin-top: 14px;
  padding:0 20px;
  z-index: 9999;
  border-left: 1px solid #ccc;
  display: none;
}
.dropdown_multilayer_menu_third_sub.sustainability {
  position: absolute;
  width: 400%;
  max-width: 480px;
  min-height: 440px;
  background: #fff;
  padding-left: 20px;
  z-index: 9999;
  display: none;
}
.dropdown_multilayer_menu_third_sub.report {
  position: absolute;
  width: 600%;
  max-width: 740px;
  background: #fff;
  padding-left: 20px;
  z-index: 9999;
  display: none;
}
.dropdown_multilayer_menu_third {
  position: relative;
  width: 100%;
}
.dropdown_multilayer_menu_third li.nav-item a.nav-link {
  padding-left:18px !important;
}
.dropdown_multilayer_menu_third li.nav-item a.nav-link.active{
  padding-left: 38px !important;
  background-color: #f0f0f0;
  margin-left: -20px;
  color: #000;
}
.dropdown_multilayer_menu_third li.nav-item a.nav-link:hover{
  padding-left: 38px !important;
  background-color: #f0f0f0;
  margin-left: -20px;
  color: #000;
}
.dropdown_multilayer_menu_third li.nav-item a.nav-link::after {
  padding-left: 0.75em;
  font-family: 'Font Awesome 5 Free';
  content: "\f0da";
  font-weight: 900;
  font-size: 1em;
  color:#a2a2a2;
}
.dropdown_multilayer_menu_third:hover
.dropdown_multilayer_menu_third_sub {
  display: none;
}
.dropdown_multilayer_menu_4th_sub {
  position: absolute;
  margin-left: -1px;
  left: 100%;
  width: 180%;
  background: #fff;
  padding-left: 20px;
  display: none;
  z-index: 9999;
  border-left: 1px solid #ccc;
}
.dropdown_multilayer_menu_4th_sub.sustainabilityMenu_sub {
  min-height: 420px;
}

@media (max-width: 991.98px) {
  .dropdown_multilayer_menu_third_sub{
    width: 160%;
    max-width: 220px;
  }
  .dropdown_multilayer_menu_4th_sub {
    width: 160%;;
    max-width: 220px;
  }
  .dropdown_multilayer_menu_third_sub.sustainability{
    max-width: 340px;
  }
}
.dropdown_multilayer_menu_4th {
  position: relative;
  width: 100%;
}
.dropdown_multilayer_menu_4th::after {
  padding-left: 0.75em;
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  font-size: 1em;
  color:#a2a2a2;
}
.menu-container{
  overflow: hidden;
  flex-wrap: nowrap;
}

.menu-container .inner{
  padding: 0 20px;
  max-width: 360px;
}
.menu-container .inner:first-child{
  padding-left: 0px!important;
  max-width: 180px;
  border-right: 1px solid #ccc;
}
.menu-container .nav-img-wrap {
	margin-left: auto;
}
.block-menu-img{
	max-width: 674px;
	min-height: 166px;
	display: flex;
	justify-content: space-between;
	margin-left: auto;
}
.block-menu-img-col1{
	margin-left: 0;
}
.block-menu-img-add{
	justify-content: start;
}
.block-menu-img-add::after {
	content: "";
	width: 218px;
	height: 0;
	display: block;
}
.block-menu-img .box-img{
  width:  calc((100% - 20px) / 3) ;
}
.block-menu-img .box-img .card{
  background: initial;
}
.block-menu-mr10 {
	margin-right: 10px;
}

#collapse-wrapper {
	top: 100%;
	left: 0;
	max-height: 0;
	overflow: hidden;
	background-color: #fff;
	position: absolute;
	width: 100%;
	z-index: 100;
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
	box-sizing: border-box;
}
#collapse-wrapper.nonactive{
  animation: header_hide 1.5s ease both;
  animation-delay: -1s;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  box-sizing: border-box;
	transition: border-top-color ease, border-bottom-color ease;
	transition-delay: .5s;
}
#collapse-wrapper.active{
  animation: header_show 5s ease both;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  box-sizing: border-box;
}

.js-menu-close{
  position: absolute;
  bottom: 10px;
  right: 10px;
  color: #999999;
  font-size: 24px;
  box-shadow: none !important;
  outline: initial !important;
  z-index: 9999;
}
.js-menu-close:active {
  box-shadow: none;
}

@media screen and (max-width: 767.98px) {
  #collapse-wrapper {
    display: none !important;
  }
}

@media (max-width: 991.98px) {
  .navbar .nav-item .nav-link.dropdown_multilayer_menu{
    padding: 0;
  }
}

img.nav-outside-icon {
	width: 12px!important;
}

#collapse04 .dropdown_multilayer_menu_third_sub.irMenu {
	max-width: 340px;
}

/* ====== SP header ====== */
.navbar-collapse.sp{
  position: absolute;
  top: 0;
  width: 100%;
  transition: all .6s ease;
  border-bottom:1px solid #999999;
}
.navbar-collapse.sp .dropdown-menu{
  border: none;
  margin-top: 0;
  padding: 0;
  background-color:#323232;
}

a.nav-link.dropdown-toggle.open{
  background-color: #323232;
}
div.menu-2nd a.nav-link.dropdown-toggle.open{
  background-color: #505050;
}
div.menu-3nd a.nav-link.dropdown-toggle.open{
  background-color: #6B6B6B;
}

/** arrow **/
.navbar-nav.sp .fa-chevron-right,
.navbar-nav.sp .fa-chevron-down{
  color: #999999;
}
.navbar-nav.sp .fa-chevron-right{
  padding-right: 13px;
}
/** arrow right **/
.navbar-nav.sp a.nav-link:after,
.navbar-nav.sp a.dropdown-item:after{
  position: absolute;
  right: 20px;
  content:"\f054";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #999999;
  top: 50%;
  transform: translateY(-50%);
}
/** arrow down **/
.navbar-nav.sp .dropdown a.nav-link::before{
  display: block;
  position: absolute;
  width: initial!important;
  bottom: initial!important;
  left: initial!important;
  right: 20px!important;
  content:"\f078";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #999999;
  top: 50%;
  transform: translateY(-50%);
}
/** arrow up **/
.navbar-nav.sp .dropdown  a.nav-link.open::before{
  position: absolute;
  width: initial!important;
  bottom: initial!important;
  left: initial!important;
  right: 20px!important;
  content:"\f077";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #999999;
}

/** arrow **/
ul.navbar-nav.sp li.nav-item:not(:last-child) {
  border-bottom:1px solid #999999;
  box-sizing: border-box;
}

@media screen and (max-width: 767.98px) {
  .navbar {
    padding: 0;
    max-width: 100vw;
    margin: 0;
  }
  .navbar-brand {
    margin: 15px 0px 10px 20px;
  }
  .navbar-brand .logoText{
    display: none;
  }
  .navbar.navbar-expand-md.navbar-light a + a {
    width: 40px;
    height: 70px;
    position: relative;
  }
  .navbar img {
    width: 68%;
  }
  .navbar img.icon {
    width: 20px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
  }
}

@media screen and (max-width: 320px) {
  .navbar-brand {
    width: 120px;
    overflow: hidden;
  }
}

#navbarNavDropdown .nav-link {
  color: #fff;
  line-height: 40px;
  margin: 0;
  padding-left: 20px;
  padding-right: .5rem;
}
#navbarNavDropdown .nav-link::before {
	border-color: initial !important;
  border-width: 0 !important;
}
#navbarNavDropdown .nav-link .dropdown-menu {
  color: #fff;
  line-height: 40px;
  padding-left: 20px;
  border: none;
}
#navbarNavDropdown .nav-link .dropdown-menu:hover {
	background-color: #eee;
}
#navbarNavDropdown .nav-link .dropdown-menu::before {
  border-color: #fff !important;
  transition: 0;
}
#navbarNavDropdown .nav-link .dropdown-menu_sub  {
  color: #fff;
  line-height: 40px;
  padding-left: 40px;
}
#navbarNavDropdown .dropdown-item {
  color: #fff;
  padding-left: 20px;
  padding-right: 40px;
  padding-top: 1rem;
  padding-bottom: 1rem;
  white-space: initial!important;
  position: relative;
  letter-spacing: .1rem;
}
.navbar-collapse.sp .dropdown-menu.menu-2nd{
  border-top: 1px solid #999999;
  margin-bottom: -1px;
}
.navbar-collapse.sp .dropdown-menu.menu-2nd a{
  padding-left: 36px!important;
  background-color: #323232;
  border-bottom: 1px solid #999999;
}
.navbar-collapse.sp .dropdown-menu.menu-3nd a,
.navbar-collapse.sp .dropdown-menu.menu-3nd span {
  padding-left: 50px!important;
  background-color: #505050;
  border-bottom: 1px solid #999999;
}
.navbar-collapse.sp .dropdown-menu.menu-4nd a{
  padding-left: 70px!important;
  background-color: #6B6B6B;
  border-bottom: 1px solid #999999;
}
#navbarNavDropdown .fa-chevron-down {
  float: right;
  line-height: 40px;
  padding-right: 12px;
}
#navbarNavDropdown .dropdown-toggle::after {
  display: none;
  width: 0;
  height: 0;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
}
.block-menu-img .card-img-top {
    max-width: 100%;
    flex-shrink:0;
    border: 1px solid #ccc;
    box-sizing:border-box;
}
/*Search Form SP*/
.js-search-icon_sp{
  width: 40px;
  font-size: 20px;
  color:#0081cc;
}
.js-search-icon_sp .fa-search{
  display: block;
  position: relative;
  top: 50%;
  text-align: center;
  transform: translateY(-50%);
}
.js-search-icon_sp.active{
  color: #fff;
  background-color: #000;
}
.nav-search_sp{
  width: 100%;
  padding: 20px 0;
  position: absolute;
  top:60px;
  background-color: #000;
  border-bottom: 1px solid #ccc;
  display: none;
}
.nav-search_sp form input{
  width: 100%;
  padding-left: .5rem;
  line-height: 1.8rem;
}
.navbar-toggler {
  color: rgba(0, 0, 0, 1);
  border: none !important;
  padding: 0px;
  width: 60px;
  height: 70px;
  box-sizing: border-box;
  position: relative;
  border-radius: 0;
  outline: initial !important;
}
.navbar-toggler[aria-expanded="true"]{
  color: #fff;
  background-color: #000;
}
.navbar-toggler-icon {
  background-image:none; /* この行で背景画像を無効化 */
  background-color: #0081cc;
  width: 20px;
  height: 2px;
  margin-top: 10px;
  margin-left: 20px;
  padding-right: 0;
  display: block;
  position: absolute;
  transition: ease .5s;
}

/* 3本のバーそれぞれの座標を設定 */
.navbar-toggler-icon:nth-of-type(1) {top:16px;}
.navbar-toggler-icon:nth-of-type(2) {top:25px;}
.navbar-toggler-icon:nth-of-type(3) {top:34px;}

/* メニューが開いている時の3本のバーそれぞれの座標および角度を設定 */
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:nth-of-type(1) {
top:23px;
transform: rotate(45deg);
background-color: #fff;
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:nth-of-type(2) {
opacity: 0;
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:nth-of-type(3) {
top:23px;
transform: rotate(-45deg);
background-color: #fff;
}
.dropdown-toggle::after {
  display: inline-block;
  width: 0;
  height: 0;
  float: right;
  margin-right: 0.255em;
  margin-top: 18px;
  vertical-align: middle;
  content: "";
  border-top: 0.3em solid;
  border-right: 0.3em solid transparent;
  border-bottom: 0;
  border-left: 0.3em solid transparent;
}
.arrow-right2::after {
  display: inline-block;
  width: 0;
  height: 0;
  float: right;
  margin-right: 0.255em;
  margin-top: 18px;
  vertical-align: middle;
  content: "";
  border-top: 0.3em solid;
  border-right: 0.3em solid transparent;
  border-bottom: 0;
  border-left: 0.3em solid transparent;
}

@media all and (-ms-high-contrast: none) {
  .nav-arrow_right:before,
  .nav-arrow_right2:before,
  .dropdown_multilayer_menu_third::after,
  .dropdown_multilayer_menu_4th::after
  {
    font-family: "Font Awesome 5 Free";
  }
}

/* header animation */
@-webkit-keyframes header_show {
  0% {
    max-height: 0;
  }
  100% {
    max-height: 9999px;
  }
}

@keyframes header_show {
  0% {
    max-height: 0;
  }
  100% {
    max-height: 9999px;
  }
}

@-webkit-keyframes header_hide {
  0% {
    max-height: 9999px;
  }
  100% {
    max-height: 0;
  }
}

@keyframes header_hide {
  0% {
    max-height: 9999px;
  }
  100% {
    max-height: 0;
  }
}

/* header fix */

body {
  position: relative;
  padding-top: 100px;
}
#header {
  position: fixed !important;
  top: 0;
  left: 0;
  background: #fff;
  width: 100%;
  z-index: 999999 !important;
  border-bottom: solid 1px #e5e5e5;
}
.is_scroll .navbar.d-md-block {
  display: none !important;
}
.is_scroll .navbar {
  justify-content: space-between;
  width: 100%;
}
.is_scroll header {
  min-height: 50px;
  display: flex;
  align-items: center;
}
.is_scroll .navbar-nav.my-0.ml-auto {
  margin-top: 14px !important;
}
.is_scroll .nav-item.dropdown_multilayer .nav-link {
  padding-bottom: 6px;
}
.is_scroll .navbar-brand {
  margin-top: 0 !important;
  width: 120px;
}
@media screen and (max-width: 768px) {
  body {
    padding-top: 70px;
  }
  .is_scroll .navbar {
    justify-content: space-between;
    width: 100%;
  }
  .is_scroll header {
    min-height: 70px;
    flex-wrap: wrap;
    flex-direction: column;
  }
  .is_scroll .navbar-nav.my-0.ml-auto {
    margin-top: 0 !important;
  }
  .is_scroll .nav-item.dropdown_multilayer .nav-link {
    padding-bottom: 0;
  }
  .is_scroll .navbar-brand {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    width: initial;
    padding-bottom: 0;
  }
  .nav-search_sp_form #nav-search_sp_btn {
    height: 39px !important;
    bottom: 0;
    margin: auto 0;
    right: 10%;
  }
}

html .sug_list {
  z-index: 999999!important;
}


	/* ------------------------- *
	 *  ヘッダー・フッタートピックスリンク
	 * ------------------------- */
.additional-link-wrap {
  padding: 20px 0 0;
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 1240px;
  margin: 0 auto;
}
.additional-link,.additional-link:hover,.additional-link:link,.additional-link:visited  {
  font-size: 14px;
  color: #0081cc;
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 767.99px) {
  .additional-link:hover {
    text-decoration: underline;
  }
}
.additional-link-wrap.r-right {
  justify-content: flex-end;
  padding-right: 20px;
}
.additional-link-wrap + footer {
  margin-top: 20px;
}

