.flex_center{
  display: flex;
  align-items: center;
}

.main-menus.flex_center {
  display: flex;
  align-items: center;
  gap: 4rem;
  flex-grow: 1;
  justify-content: flex-end;
}

.c_header_pc {
  height: 6rem;
  width: 100%;
  box-sizing: border-box;
  background-color: #FAFAFA;
  position: fixed;
  z-index: 1000000;
  top: 0;
  left: 0;
}

.header-container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  height: 100%;
  padding: 0.5rem 2.5rem;
}

.logo-wrapper {
  width: 6.5rem;
  flex-shrink: 0;
}

.logo-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* .main-menus {
gap: 3rem;
} */

.main-menu {
  position: relative;
  box-sizing: border-box;
}

.main-menu>a {
  display: flex;
  align-items: center;
  font-size: 1.2rem;
  color: #000;
  font-weight: normal;
  height: 100%;
  position: relative;
  transition: text-decoration .2s;
  text-decoration-color: #4E4E76;
}

.main-menu>a:hover {
  text-decoration: underline;
  text-decoration-color: #4E4E76;
  transition: text-decoration .2s;
}

.dropdown-menu>a {
  display: flex;
  align-items: center;
}

.dropdown_menu-wrapper {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, calc(-50% + 6rem));
  width: 50rem;
  background-color: #4E4E76;
  padding: 2rem 4rem;
}

.dropdown-menu-com .dropdown_menu-wrapper {
  width: 24rem;
}

.child-menu {
  display: flex;
}

.dropdown-menu-com .dropdown_menu-wrapper .child-menu {
  display: block;
}

.dropdown-menu-com .dropdown_menu-wrapper .child-menu>a {
  width: 100%;
}


.child-menu>a,
.grand-menu>a {
  font-size: 1.4rem;
  line-height: 160%;
  margin-bottom: 1rem;
  font-weight: 700;
  display: inline-block;
  position: relative;
  color:white;
}

.child-menu>a:last-child {

  margin-bottom: 0;
}

.child-menu>a:after,
.grand-menu>a:after {
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 16rem; /* ②棒が長くなった分、右へ7px移動 */
  width: 1rem;
  height: 1rem;
  border-top: 1px solid white;
  border-right: 1px solid white;
  transform: rotate(45deg);
}

.dropdown_menu-item {
  position: relative;
}

.child-menu>a {
  display: block;
  width: 30%;
}

.grand-menus {
  position: absolute;
  width: 15rem;
}

.grand-menu>a {
  display: block;
  width: 100%
}

.grand-menus-wapper {
  width: 70%;
  position: absolute;
  left: 30%;
  top: 0;
  height:32rem;
  z-index:5;

}

.dropdown_menu-item:nth-child(2) .grand-menus-wapper {
  top: -32px;
}

.dropdown_menu-item:nth-child(3) .grand-menus-wapper {
  top: -64px;
}



/*ホバー表示*/
.grand-menus-wapper {
  display: none;
}

.dropdown_menu-wrapper {
  display: none;
}

/*   .child-menu a:hover + .grand-menus-wapper{
display: block;
}  
.child-menu a:hover + .grand-menus-wapper{
display: block;
}   */
/*     .child-menu a:hover > .grand-menus-wapper{
display: block;
}   */
.child-menu a:hover ~ .grand-menus-wapper{
  display: block;
}  

.grand-menus-wapper:hover {
  display: block;
}
.grand-menus:hover {
  display: block;
}



/*ボタンスタイル*/
.btn-02 {
  font-size: 1.6rem;
  color: white;
  padding: 1.2rem 0;
  border: 2px solid #BE8400;
  width: 16rem;
  display: inline-block;
  text-align: center;
  transition: 0.3s;
  background-color: #BE8400;
  margin-right:1.6rem;
}

.btn-02:hover {
  color: #ffffff;
  background-color: white;
  color: #BE8400;
  transition: 0.3s;
}

.btn-03 {
  font-size: 1.6rem;
  color: #FFF;
  padding: 1.2rem 0;
  background-color: #B00000;
  border: 2px solid #B00000;
  width: 16rem;
  display: inline-block;
  text-align: center;
  transition: 0.3s;
}

.btn-03:hover {
  color: #B00000;
  background-color: #ffffff;
  transition: 0.3s;
}





/* ハンバーガー */
@media (min-width: 900px) {
  .humberger {
    display: none!important;
  }
}
@media (max-width: 900px) {
  .c_header_pc {
    display: none!important;
  }
}
.nav_content li{
  list-style: none;
}

.humberger {
  justify-content: space-between;
  align-items: center;
  padding: 0 0 0 20px;
  background: #fff;
  position: fixed;
  width: 100%;
  display:flex;
  box-sizing: border-box;
  z-index: 100000;
  top: 0;
  left: 0;
}
.humberger .header-logo{
  width: 6.5rem;
}
/* ここから下がハンバーガーメニューに関するCSS */

/* チェックボックスを非表示にする */
.drawer_hidden {
  display: none;
}

/* ハンバーガーアイコンの設置スペース */
.drawer_open {
  display: flex;
  height: 60px;
  width: 60px;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 100;
  /* 重なり順を一番上にする */
  cursor: pointer;
}

/* ハンバーガーメニューのアイコン */
.drawer_open {
  background-color: #4E4E76;
}

.drawer_open span,
.drawer_open span:before,
.drawer_open span:after {
  content: '';
  display: block;
  height: 3px;
  width: 25px;
  border-radius: 3px;
  background: #ffffff;
  transition: 0.5s;
  position: absolute;
}

/* 三本線の一番上の棒の位置調整 */
.drawer_open span:before {
  bottom: 8px;
}

/* 三本線の一番下の棒の位置調整 */
.drawer_open span:after {
  top: 8px;
}

/* アイコンがクリックされたら真ん中の線を透明にする */
#drawer_input:checked~.drawer_open span {
  background: rgba(255, 255, 255, 0);
}

/* アイコンがクリックされたらアイコンが×印になように上下の線を回転 */
#drawer_input:checked~.drawer_open span::before {
  bottom: 0;
  transform: rotate(45deg);
}

#drawer_input:checked~.drawer_open span::after {
  top: 0;
  transform: rotate(-45deg);
}

/* メニューのデザイン*/
.nav_content {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 60px;
  left: 100%;
  /* メニューを画面の外に飛ばす */
  z-index: 99;
  background: #4E4E76;
  transition: .5s;
  overflow-y: scroll;
  box-sizing: border-box;
  overflow-x: hidden
}

#drawer_input:checked~.nav_content {
  left: 0;
}

.nav_content {
  padding: 0 11px;
}


.nav_item a {
  font-size: 16px;
  color: #ffffff;
  line-height: 7rem;
  width: 100%;
  display: flex;
  align-items:center;
  border-bottom: 1px solid #ffffff;
}
.dropdown_menu a {
  color: white;
}

/* ドロップダウンメニューの基本スタイル */
.dropdown_menu {
  display: none;
  width: 100%;
  z-index: 99;
  background: #4E4E76;
  transition: .5s;
  padding-left: 11px;
  box-sizing: border-box;
}

.product-menus {
  width: calc(100vw - 33px);
  z-index: 99;
  background: #B00000;
  transition: .5s;
  padding-left: 11px;
  box-sizing: border-box;
}

/* ナビゲーションアイテムの位置を相対位置に設定 */
.nav_item {
  position: relative;
}

.dropdown_menu {
  display: none;
  transition: .3s;

  /* その他のスタイリング */
}

/* 追加: アクティブなドロップダウンメニュー */
.dropdown_menu.active {
  display: block;
  transition: .3s;
}

.dropdown_toggle {
  position: relative;
}

.dropdown_toggle:after {
  position: absolute;
  transform: translateY(-50%);
  transform: rotate(180deg);
  right: 15px;
  top: 10%;
  content: url(https://40205847.fs1.hubspotusercontent-na1.net/hubfs/40205847/arrow-white.svg);
  transition: .3s;
}

/* トグルアイコンを回転させるためのスタイル */
.dropdown_toggle.rotate:after {
  transform: rotate(0deg);
  /* 180度回転 */
  transition: .3s;
}

.nuv_item-lang a {
  padding-left: 30px;
  box-sizing: border-box;
}

.nuv_item-lang a:before {
  content: url(https://40205847.fs1.hubspotusercontent-na1.net/hubfs/40205847/earth-white.svg);
  position: absolute;
  top: 63%;
  transform: translateY(-50%);
  left: 3px;
}

.humberger-cta {
  display:flex;
  justify-content: space-around;
  margin-top:2.4rem;
}

.humberger-cta .btn-02 {
  font-size: 14px;
  color: #B00000;
  padding: 8px 26px;
  background-color: #fff;
  border-radius: 80px;
  display: inline-block;
  margin-left: 0;
  text-align: center;
  transition: 0.3s;
  width: 30%;

}
iframe > #calendarTitle {
  display:none!important;
}
.ly_topBtnCont {
  padding-top: 3rem;
  text-align: center;
}
.el_topBtn{
  display: inline-flex;
  padding: 0.625rem 1.375rem;
  justify-content: center;
  align-items: center;
  gap: 0.625rem;
  color: white;
  border-radius: 0.5rem;
  background: var(--orange, #E86922);
}
.el_topBtn:hover {
  border: 1px solid  var(--orange, #E86922);
  color:  var(--orange, #E86922);;
  background:white;
  transition: .3s;
}





/* start css */
.header {
  position: fixed;
  width: 100vw;
  z-index: 50000;
}

header ul, header li {
  cursor: pointer;
}

.el_topLogo {
  height: 3rem;
  width:10rem;
  object-fit: cover;
}
.ly_topHeader {
  display:flex;
  padding: 0.5rem 2.5rem;
  justify-content: space-between;
  align-items: center;
  background: var(--beige_transparent, #FAFAFA);
}
.ly_parentUl {
  display: flex;
  gap:2.5rem;
  align-items: center;
}
.ly_topHeader ul li{
  display: flex;
  align-items: center;
}
.ly_middleHeader {
  max-width: 1040px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 0;
  background-color: white;
}
.ly_middleLeftCont {
  display: flex;
  gap: 0.8rem;
  align-items: center;

}
.el_middleLine {
  background: #908F8F;
  width: 0.1rem;
  height: 2.4rem;
}
.el_middleBtn {
  display: inline-flex;
  padding: 1rem 2.2rem;
  justify-content: center;
  align-items: center;
  gap: 0.625rem;

  border-radius: 0.8rem;
  background: var(--orange, #E86922);
  color: var(--white, #FFF);

  text-align: center;
  font-size: 1.4rem;
  font-style: normal;
  font-weight: 700;
}
.el_middleBtn:hover {
  opacity: 0.8;
  transition: .3s;
}
.ly_parentList {
  position: relative;
}
.ly_childList {
  position: absolute;
  visibility: hidden;
  width: 10rem;
  background-color: aquamarine;
  top: 50%;
  flex-direction: column;
  gap: 1rem !important;
  left: 50%;
  transform: translate(-50%, calc(-50% + 50px));
}
.ly_childList.active {
  visibility: visible;
}

{# タグ #}
.ly_bottomHeader {
  display: flex;
  align-items: center;
  background: var(--beige, #FBF5E2);
  border: solid 2px var(--beige, #FBF5E2);
}
.ly_bottomHeader ul {
  width: 100%;
  display: flex;
  align-items: center;
  padding: 0 1.6rem!important;
  gap: 0;
}
.ly_bottomHeader ul li{
  flex-grow: 1;
}
.ly_bottomHeader ul li a:hover{
  border-bottom: solid 2px #E86922;
}
.ly_bottomHeader ul li a{
  color: #000;
  text-align: center;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 700;
  padding: 1rem 0;
  justify-content: center;
  display: flex;
  background: var(--beige, #FBF5E2);
  border: solid 2px var(--beige, #FBF5E2)
}

.ly_topHeaderSP {
  display:none
}
.el_middleTitle{
  color: #000;
  font-size: 1.4rem;
  font-style: normal;
  font-weight: 400;
}
.el_middleLogo {
  width: 77px;
  height: 45px;
  object-fit:cover;
}
.ly_solutionPagerCont {
  width:100vw;
  overflow-x:hidden;
  background-color: #F9FAF7;
}
.ly_solutionPagerInnerCont{
  box-sizing:border-box;
  overflow-x:hidden;
  padding:1rem 0rem;
  max-width:1240px;
  margin: 0 auto;

}

@media (max-width: 1040px) {
  .ly_middleHeader {
    width: 90% ;
    margin: 0 auto;
  }
  .ly_bottomHeader ul {
    flex-direction: row;
  }
}
@media (max-width: 480px) {
  .ly_middleHeader{
    width: 100% ;
    padding: .8rem 4rem;
    background: #fafafa;
  }
  .ly_bottomHeader{
    display: none;
  }
  .el_middleBtn {
    display: none;
  }
}
/* end css */