@charset "utf-8";
header{}
header .wrap{margin:0px auto;padding: 20px 0px;}
header .wrap .title,header h1 {width: 462px;margin: 0 auto;padding: 0 0;}
header .wrap .title a,header h1 {display:block;}
header .page_control{position:absolute;top: 33px;right: 60px;margin:10px 0px 16px;padding:0px 10px;float:right;background:#DDDDDD;border-radius:22px;z-index:15;}
header .page_control .header_bt,
header .page_control ul,
#UD,
header .page_control form.search{padding:0px;float:left;}
header .page_control ul{margin:0;padding:0;}
header .page_control ul li{float:left;}
header .page_control ul li a{display:block;width:44px;min-height:44px;padding:0px;background:no-repeat left center;text-indent:-100em;}
header .page_control ul li a.bt_access{background-image:url(../img/ncc_bt_access.png);}
header .page_control ul li a.bt_language{background-image:url(../img/ncc_bt_language_en.png);}
header .page_control ul li a.bt_language_en{background-image:url(../img/ncc_bt_language_en.png);}
header .page_control ul li a.bt_language_zh{background-image:url(../img/ncc_bt_language_zh.png);}
header .page_control ul li a.bt_nccicon {background-image:url(../img/bt_nccicon2.png);}
#UD {}
#UD dl,
#UD dl dt,
header .page_control dl dd {min-height:44px;margin:0px;padding:0px;float:left;list-style:none;}
header .page_control form.search label.search_txt{display:block;width:44px;height:44px;}
#UD dl{min-width:44px;min-height:44px;margin:0px 4px;padding:0px;float:right;color:#ffffff;}
#UD dl dd{background: #005ead;color: #ffffff;}
#UD dl dt{width:44px;padding:0px;color:#000000;background:no-repeat center center;text-indent:-100em;}
#UD dl.color_change dt {background-image:url(../img/ncc_control_color_title.png);}
#UD dl.textsize_change dt {background-image:url(../img/ncc_control_font_title.png);}
#UD dl dd a{display:block;width:0px;height:44px;transition-duration:0.5s;}
#UD dl dd a:focus,
#UD dl.active dd a{width:44px;}
header #UD dl dd a img{width:100%;height:44px;}
#UD dl dd a.textresizer-active{background-color:rgba(255,255,255,0.5);}

header .page_control form.search {width:auto;margin:0px;text-align:center;}
header .page_control form.search div{padding:0px;}
header .page_control form.search label.search_txt{display:block;width:44px;float:left;background-image:url(../img/ncc_control_search_title.png);text-indent:-100em;}
header .page_control form.search .input_area{width:0px;box-sizing:border-box;max-height:36px;margin:4px 0px;padding:3px 0px;background-color:#ffffff;transition-delay:0.5s;transition-duration:0.5s;}
header .page_control form.search .input_area.active{width:12em;padding:3px;transition-delay:0.1s;}
header .page_control form.search input#search_txt {display:block;width:75%;padding:6px 0px;margin:0px;border:none;float:left;}
header .page_control form.search input#search_txt:focus {background-color:#ffffff;outline:none;}
header .page_control form.search input.search_bt {width:25%;padding:4px 0px;margin:0px;font-weight:bold;color:#ffffff;background-color:#005ead;border:none;float:left;font-family:"Hiragino Kaku Gothic ProN","繝。繧、繝ェ繧ェ",sans-serif;-webkit-appearance:none;}
header nav{padding:0px;color: #fff;}
header nav .menu_button{display:none;padding:0px;}
header nav ul {
  justify-content: center;
  align-items: center;
  background-image: linear-gradient( to right, #4a96d2, #0052a9, #0556ab, #4a96d2);
  padding:0px;list-style:none;font-weight: 500;font-size: 18px;line-height: 24px;letter-spacing: 0.015em;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.4);
  position: relative;
  margin: 0;
  padding: 0 0px;
}
header nav ul li { position: relative; }
header nav ul li+li:not(:last-child):before{
  content: '';  
  width: 0;
  height: 24px;
  position: absolute;
  top: calc(50% - 12px);
  left: 0;
  border-left: 1px solid #fff;
}
header nav ul li a{display:block;padding: 28px 25px;text-align:center;transition-duration:0.5s;color: inherit;text-decoration: none;}
header nav ul li a:hover{background:rgba(255,255,255,0.5);}
header nav ul li a:visited{color: inherit;}
header nav ul li.menu08 {
  position: absolute;
  top: 0;
  right: 0;
}
header nav ul li.menu08 a {
  width: 306px;
  background-color: #fff23f;
  color: #0052a9;
  box-sizing: border-box;
}
header nav ul li.menu08 a:hover {background:rgba(255,255,255,0.5);}


/* センターについて
header nav ul li.menu03{margin-right:24%;}
header nav ul li.menu01{width:18.66666666666%;}
header nav ul li.menu02,
header nav ul li.menu03,
header nav ul li.menu04{width:9.6666666666%;}
header nav ul li.menu05,
header nav ul li.menu06{width:14.1666666666%;}
header nav ul li.menu03 a:after,
header nav ul li.menu06 a:after{border-right:1px dotted #555555;}
*/

/*------------------------------------------------------------------------------
  レスポンシブ対応
------------------------------------------------------------------------------*/
@media screen and (max-width:1919px) {
  header #menu {
    padding-right: 306px;
  }
}
@media screen and (max-width:1600px) {
  header nav ul li a {
    padding: 28px 15px;
  }
}
@media screen and (max-width:1440px) {
  header #menu {
    padding-right: 250px;
  }
  header nav ul {
    font-size: 14px;
  }
  header nav ul li a {
    padding: 28px 15px;
  }
  header nav ul li.menu08 a {
    width: 250px;
  }
  header .page_control {
    right: 10px;
  }
}
@media screen and (max-width:1199px) {
header {height: 64px;}
header .wrap{padding: 11px 2.5%;position: fixed;top:0;left: 0;background-color: #fff;z-index: 99;}
header .wrap .title, header h1{
  width: 210px;
  margin: 0;
}
header .page_control,
header nav ul{display:none;}
header nav ul#menu,header .page_control{position: fixed; right: 0px; width: 100%;min-width:300px;z-index: 99;}

header nav .menu_button{
  background-image: linear-gradient( 225deg, #2980c4, #0052a9);
 display:block; position: fixed; width: 64px; height: 64px; top: 0; right: 0; padding: 0px; margin: 0px;
 text-indent: -100em; z-index: 100; overflow: visible; transition-duration: 0.4s;
}
header nav .menu_button a {
  position: relative; display: block;width:100%;height:100%;
  padding:0;color:#ffffff;transition-duration: 0.4s; overflow: visible;
  background: url(../img/btn_hamburger.png) no-repeat center center / 28px auto;
}
header nav .menu_button.active {
  background-image: linear-gradient( 225deg, #808080, #4d4d4d);
}
header nav .menu_button.active a {background-image:url(../img/btn_hamburger_close.png);}

header .page_control {
  top: 64px; height: 240px; padding:12px 20px; box-sizing: border-box; overflow: hidden;
  margin:auto;float:none;border-radius:0;
}
header .page_control .header_bt,
header .page_control .UD,
header .page_control form.search{padding:0px;float:none;}

#UD { float:none;clear:both;overflow: hidden;}
#UD dl.color_change,
#UD dl.textsize_change { float: none; width: 100%; margin: 0px auto;}
#UD dl.color_change dt,#UD dl.textsize_change dt { }
#UD dl dt {}
#UD dl.textsize_change dt,
#UD dl.color_change dt{}
#UD dl dd { padding-top: 0px; margin: 0px 0px 10px;}
#UD dl dd a { height: 44px; width: 44px;}
  
header .page_control .header_bt{margin-left:42px}
header .page_control .link_bt { padding-top: 0px; margin: 0px 5px 10px;border:1px solid #ddd}
header .page_control ul {display: flex;justify-content: space-between;width: 100%; float:none;border-top: 1px solid;padding-top: 10px;}
header .page_control ul li {float: none;}

header nav ul {font-size: 16px;}
header nav ul#menu { top: 304px; bottom: 0px; padding:20px 20px 40px; box-sizing: border-box;background: #004487;}
header nav ul li {padding: 0 30px;}
header nav ul li a {padding: 14px 0; text-align: left;}
header nav ul li.menu08 {position: static;padding: 14px 0 0;}
header nav ul li.menu08 a { width: 100%; text-align: center; border-radius: 50px; padding: 14px; font-weight: bold; }
header nav ul li+li:not(:last-child):before {display: none;}
header nav ul li:has(.sub-menu):after {
  content: '';  
  width: 18px;
  height: 18px;
  background: url('../../images/menu-arrow.png') no-repeat center top / cover;
  position: absolute;
  top: 17px;
  left: 0;
}
header nav ul li .sub-menu {display: none;padding: 0;}
header nav ul li.is-active:after {background-image: url('../../images/menu-arrow-on.png');}

header .page_control form.search{width:100%;margin:0 auto;}
header .page_control form.search .input_area{margin: 4px 0px 8px 0px;}
header .page_control form.search .input_area,
header .page_control form.search .input_area.active{width:auto;padding:3px;transition-delay:0.1s;}
}

header nav .btn-donation {padding: 0;position: fixed;top: 0;right: 64px; z-index: 100;}
header nav .btn-donation a { display: flex;justify-content: center;align-items: center;background-color: #fff23f;color: #0052a9;width: 83px;height: 64px;text-align: center;font-weight: bold;font-size: 10px;line-height: 12px;letter-spacing: 0.015em;text-decoration: none;}

@media screen and (min-width:0px) and (max-width:788px) {/* 768+20 */
}

@media screen and (min-width:0px) and (max-width:660px) {/* 640+20 TABLET */

}
@media screen and (min-width:0px) and (max-width:500px) {/* 480+20 MOBILE */
}

@media screen and (min-width:1200px) {
  header #menu, header nav {
    overflow: visible;
  }
  header .page_control {display: block !important;}
  header #menu{ display:flex !important;}
  header #menu .sub-menu {background: #0556ab;width: 100%;min-width: max-content;position: absolute;top: 100%;left: 50%;opacity: 0;visibility: hidden;transition: all 0.3s;padding: 0;transform: translateX(-50%);z-index: 1;}
  header #menu .sub-menu a:not(:last-child) {border-bottom: 1px solid #fff;}
  header #menu li:hover .sub-menu { opacity: 1;visibility: visible; }
  header nav .btn-donation {display: none;}
}