@charset "utf-8";
/* CSS Document */

/* スマホ閲覧時のハンバーガーメニュー */

#hanburger {
  display: none; /* チェックボックスを非表示 */
}


.menu_button { /* ボタンのスタイル */
  display: block;
  width: 50px; /* 幅 */
  height: 50px; /* 高さ */
  position: fixed;
  top: 20px;
  right: 20px;
  background: #db7093; /* 背景色 */
  z-index: 10000;
}

.menu_button::before { /* アイコンのスタイル */
  font-family: "Font Awesome 5 Free";
  content: "\f0c9"; /* アイコン「３本線」 */
  font-weight: 900;
  position: absolute;
  color: #fff;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}

#hanburger:checked + .menu_button::before { /* アイコンのスタイル（チェック済み） */
  content: "\f00d"; /* アイコン「×印」 */
}

.global_menu { /* メニュー全体のスタイル */
  visibility: hidden; /* メニューを非表示 */
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  padding: 0%;
  color: #333; /* 文字色 */
  background: #666; /* 背景色 */
  overflow-y:  auto;
  text-align: left;
  opacity:0;
  transition: 0.5s opacity; /* アニメーション設定 */
  z-index: 8000;
}

.global_menu::-webkit-scrollbar {
  display: none; /* Chrome, Safari 対応 */
}

.global_menu ul {
    list-style-type:none;
    margin:0;padding:0;
}

#hanburger:checked ~ .global_menu { /* メニュー全体のスタイル（チェック済） */
  visibility: visible; /* メニューを表示 */
  opacity:1;
}

.global_menu a { /* 各項目のスタイル */
  display: block;
  /*background: #ffb6c1;*/
  color:#333;
  text-decoration: none;
  margin:0;
  padding:5% 3%;
  width: 94%;
  border-bottom:dotted 1px #fff;
}

.global_menu a:hover { /* 各項目のスタイル（ホバー時） */
  /*background: #ffb6c1;*/
}

.menu:not(:last-child) {
  /*margin-bottom: 20px;*/
}

.menu > a { /* 親項目のスタイル */
  font-weight: bold;
  color:#fff;
  text-decoration:none;
  padding: 5%;
}

.menu_over_list a {
  text-decoration:none;
  color:#fff;
}

.child_menu > li > a {
  padding: 10px 30px;
  font-size: 0.8em;
}

.child_menu { /* 下層メニューのスタイル */
    display:none;
}

.lang_select { display:none; }

.global_navi_over{
    display: none;
} 

.global_navi_under{
    justify-content:flex-start;
    margin:50px 0 0 0;
    padding:0;
}

.inner_menu_title_jp, .inner_menu_title_en {
    display: none;
}

.inner_menu_left img {
    display: none; 
}

.menu_border {
    display: none;
    margin-bottom: 0;
}

 .inner_item a {
    width:84%;
    padding:5% 8%;
    background: #ededed;
    color:#333;
    border-bottom:dotted 1px #fff;
 }s

.global_navi_middle {
    display: inline-block;
    width:100%;
    height:150px;
    margin-bottom:65px;
    float:left;clear:both;
}

.global_navi_middle a {
    border-bottom:dotted 0px #fff;
}

.mobile_menu_title {
  display:block;margin:0;padding:0;
  position: relative;
  cursor: pointer;
  transition: .3s;
}

.mobile_menu_title a {
  margin:0;
  width: 90%;
  border-bottom:dotted 1px #fff;
  font-weight: bold;
  color:#fff;
  text-decoration:none;
  padding: 5%;
}

.mobile_menu_title::after {
  border-right: solid 2px #fff;
  border-top: solid 2px #fff;
  content: "";
  display: block;
  height: 8px;
  position: absolute;
  right: 25px;
  top: 38%;
  transform: rotate(135deg);
  transition: transform .3s ease-in-out, top .3s ease-in-out;
  width: 8px;
}

.mobile_menu_title.open::after {
  top: 45%;
  transform: rotate(-45deg);
}

.menu .pc_menu_title {
  display:none;margin:0;padding:0;
}

.global_navi_over_mobile {
    display:flex;
}

.global_navi_over_mobile ul {
    display:flex;
    width:90%;
    padding:5%;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
    font-size:13px;
    margin-bottom:80px;
}

.menu_over_list_mobile li {
    display:flex;
    flex-basis:48%;
    margin:10px 0;
    background:#ececec;
    border-bottom:dotted 0px #fff;
}

.menu_over_list_mobile li a {
    border-bottom:dotted 0px #fff;
    display:flex;width:100%;height:100%;
    height:60px;
    justify-content:center;
    align-items: center;
}

.site_lang a {
    color:#333;
    text-decoration: none;
}
/* アコーディオンSTART */
/* アコーディオンEND */

@media screen and (min-width: 500px) {
    .menu_over_list_mobile li {
        flex-basis:23%;
    }
}


@media screen and (min-width: 1000px) {

  /* PC閲覧時のメガメニュー */

  .menu_button {
    display: none; /* ハンバーガーメニューのボタンを非表示 */
  }

  .global_menu { /* メニュー全体のスタイル */
    display:flex;
    flex-direction: column;
    position: relative;
    height:auto;
    top: 0;
    padding: 0;
    background: none; /* 背景色 */
    visibility: visible;
    overflow-y: visible;
    opacity:1;
}    

.global_menu a { /* 各項目のスタイル */
  background: none;
  width:100%;
  border-bottom:dotted 0px #fff;
}

 .global_menu ul { 
    display:flex;
    flex-direction: row;
    width:100%;padding:0;margin:0;
    justify-content:flex-end;
    overflow-x: hidden;
    overflow-y: hidden;
}

.global_navi {
    display: flex;
    justify-content:flex-end;
    flex-direction:column;
    width: 100%;
}

.global_navi_over{
    display: flex;
    justify-content:flex-end;
    margin-bottom: 20px;
}    

.global_navi_under{
    display: flex;
    justify-content:flex-end;
    margin:0;
}

.global_navi_middle {
    display: none;
}

.global_navi_over ul {
    display: flex;
    list-style-type: none;
    margin-right: 0%;
}

.global_navi_over ul li a {
    color:#333;
    font-size:small;
    font-weight:600;
    text-decoration:none;
    padding:0 15px 0 15px;
    transition: 1s;
}

.global_navi_over ul li a:hover {
    color:#DA4A7B;
}

.site_lang {
    display:flex;
    font-family: "Roboto", serif;
    width:95%;
    padding:0 0 0 5%;
    line-height:250%;
    flex-direction: column;
}

.site_lang a {
    color:#333;
    text-decoration:none;
    transition: 0.5s;
}

.site_lang a:hover {
    color:#DA4A7B;
}

.menu {
    display:flex;
    flex-direction: column;
    padding:0 2% 0 2%;
}

.menu_border {
    display: block;
    margin-bottom: 10px;
    float: none;
    clear: both;
    width: 0;
    height: 3px;
    background-color: #DA4A7B;
    opacity:0;
    transition: 0.5s;
}

 .menu:hover > .menu_border { 
     width:100%;
     opacity:1;
  }    

  .menu:not(:last-child) {
    margin-bottom: 0;
  }

  .menu > a { /* 親項目のスタイル */
    font-weight: 600;
    padding: 0 0 5px 0;
    color:#000;
    text-decoration:none;
    /*border-bottom-style: solid;
    border-bottom-width: 2px;
    border-bottom-color: rgba(218,74,123,0);*/
    transition: 0.5s; /* アニメーション設定 */
  }

  .menu:not(:last-child) {

  }

  .menu:hover > a {
    /*background: #ffb6c1;*/
    /*border-bottom-color: rgba(218,74,123,1.00);*/
  }  

  .child_menu { /* 下層メニューのスタイル */
    display: flex;
    justify-content: flex-start;
    width: 96%;
    max-width: 940px;
    position: absolute;
    top: 100%;
    right: 3%;
    padding: 2%;
    color: #333; /* 文字色 */
    background: #fefefe; /* 背景色 */
    visibility: hidden; /* 下層メニューを非表示 */
    opacity: 0;
    transition: 1s opacity; /* アニメーション設定 */
    -webkit-box-shadow: 2px 2px 2px 2px rgba(232,232,232,1.00);
    border-radius: 4px;
    box-shadow: 2px 2px 2px 2px rgba(232,232,232,1.00);
  }

 .inner_menu_block {
    display: flex;
    justify-content:flex-start;
    width: 90%;padding:3% 5% 3% 5%;
    /*background-color: #DA4A7B;*/
 }

 .inner_menu_left {
    display: flex;
    flex-basis: 30%;margin-right:0%;
    justify-content:flex-start;
    flex-direction: column;
    border-right : solid 2px #DA4A7B;
 }

 .inner_menu_title_jp, .inner_menu_title_en {
    display: flex;
    text-align:left;
    justify-content:flex-start;
    padding:0 0 5px 0;
}

.inner_menu_title_jp {
    font-size:18px;
    font-weight:600;
}

.inner_menu_title_en {
    font-family: "Roboto", serif;
    font-size:12px;
    font-weight:500;
    letter-spacing: 0.5px;
    padding-bottom:10px;
}
    
 .inner_menu_right {
    display: flex;
    flex-basis: 67%;
    padding:0 0 0 3%;
    flex-wrap: wrap;
    border:solid 0px;
    justify-content:space-between;
 }

.inner_menu_left img {
    display: block; 
}

 .inner_item {
    display:flex;
    width: 44%;padding:0 2% 0 2%;
    border-bottom:dotted 1px #999;
    align-items:center;
 }

 .noborder {
    border-bottom:dotted 0px #999;
 }    

 .inner_item a {
    text-align:left;
    text-decoration:none;
    color:#333;
    font-size:100%;
 }

 .inner_item a:hover {
     text-align:left;
     text-decoration:none;
     color:#DA4A7B;
    }

  .menu:hover .child_menu { /* 下層メニューのスタイル（親項目ホバー時） */
      opacity: 1;
      visibility: visible; /* 下層メニューを表示 */
  }

  .child_menu > li {
    display: flex;
  }

  .child_menu > li > a {
    padding: 10px 30px;
  }

  .child_menu > li > a:hover {
      background: unset;
      color: #fff;
  }

  .mobile_menu_title {
      display:none;      
  }

  .menu .pc_menu_title {
      display:flex;
  }

.global_navi_over_mobile {
    display:none;
}


}



@media screen and (max-width:1050px){
    .menu a {
        font-size: 12px;
    }

    .global_navi_over ul li a {;
        font-size:12px;
    }
}

@media screen and (max-width:980px){
    .menu a {
        font-size: 14px;
    }

    .global_navi_over ul li a {;
        font-size:14px;
    }
}
