@charset "utf-8";

header * { box-sizing: border-box;}
header { border-bottom: 1px solid #D2DBD3;}
header .wrap,
header nav ul#menu { width:1024px; margin: 0 auto; padding: 0;}

#UD {}
#UD dl,
#UD dl dt,
header .page_control dl dd { min-height: 44px; margin: 0; padding: 0; float: left; list-style: none;}

header { border-top: 5px solid #004F88;}

/* ロゴ */
header .wrap .title,
header h1 { position: absolute; top: 0px; left: calc((100% - 1024px) / 2); width: 310px; height: auto; margin: 20px 0 0; padding: 0; float: none;}
header .wrap .title a,
header h1 { display: block; margin: 0;}

/* ページコントロール */
header .page_control {position:relative;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: 0; float: left;}
header .page_control form.search label.search_txt { display: block; width: 44px; height: 44px;}
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);}
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;}

#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;}
#UD dl dd a.textresizer-active { background-color: rgba(255,255,255,0.5);}
#UD dl dd a img { width: 100%; height: 44px;}


/* GNAV 親 */
header nav { position: relative; padding: 20px 0px 0px; overflow: visible;}
header nav .menu_button { display: none; padding: 0px;}

header nav ul { padding: 0; list-style: none; overflow: visible;}
header nav ul:after { display: block; content: ""; clear: both;}
header nav ul li{ width: auto; margin: 0; float: left;}
header nav ul li.menu01 { width: calc(((100% - 72px) / 100) * 28);}
header nav ul li.menu02,
header nav ul li.menu03,
header nav ul li.menu04 { width: calc(((100% - 72px) / 100) * 11);}
header nav ul li.menu05,
header nav ul li.menu06,
header nav ul li.menu07 { width: calc(((100% - 72px) / 100) * 13);}
header nav ul li.menu08 { width: 72px;}

header .menu_name { font-weight: 700;}

header nav dt { position: relative;}
header nav dt:before { position: absolute; display: block; content: ""; bottom: 0px; left: 0px; right: 0px; height: 0px; background-color: #004f88; transition-duration: .3s;}
header nav ul#menu > li > a,
header nav dt a {
	display: block; padding: .5em .5rem 1.5rem; text-align: center; transition-duration: .5s;
	background: url(https://www.ncc.go.jp/materials/images/subpage/arrow_center_center_down.png) no-repeat;
	background-position: left 50% bottom .6rem;
	background-size: 1rem auto;
}
header nav ul#menu > li > a:before,
header nav ul#menu > li > a:after,
header nav dt a:hover,
header nav dt a:focus { background-position: left 50% bottom .6rem;}
header nav dl.focus dt:before,
header nav dt:has(a:hover):before,
header nav dt:has(a:focus):before { height: 3px;}
header nav ul#menu > li > a,
header nav dt a{ position: relative; text-decoration: none; color: #000;}
header nav dt a img { max-width: 100%; height: auto;}
header nav ul#menu > li > a:before,
header nav ul#menu > li > a:after,
header nav dt a:before,
header nav dt a:after { position: absolute; content:" "; display:block;}
header nav ul#menu > li > a:before,
header nav ul#menu > li > a:after,
header nav dt a:before,
header nav dt a:after { top: 0em; bottom: .5rem;}
header nav ul#menu > li > a:before,
header nav dt a:before { left: 0px; border-left: 1px dotted #888;}
header nav ul#menu > li > a:after,
header nav dt a:after { right: 0px;}
header nav ul li.menu07 a:after { border-right: 1px dotted #888;}

/* GNAV 部局 */
header nav ul li.menu08 { position: relative; display: flex; justify-content: center; align-items: center; padding: 0;}
header nav ul#menu > li.menu08 > a { display: block; width: 49px; height: 49px; text-indent: -1000em; background: center center #004f88 no-repeat; border-radius: 50%; overflow: hidden;}
header nav ul#menu > li.menu08 > a { background-image: url(https://www.ncc.go.jp/core/img/depmenu_open.png);}
header nav ul#menu > li.menu08 > a.active { background-image: url(https://www.ncc.go.jp/core/img/depmenu_close.png);}
header nav ul#menu > li.menu08 > a:before { background-image: url(https://www.ncc.go.jp/core/img/depmenu_open.png);}
header nav li.menu08 .dep_list { display: none; position: absolute; top: 68px; right: 0px; width: 280px; padding: 0; background-color: #FAFAFA; border: 1px solid #ccc; box-shadow: 0 0 3px 2px rgba(128,128,128,.3); z-index: 2; border-radius: .3rem;}
header .dep_title { display: none;}
header .dep_list ul { display: block;}
header .dep_list li { float: none; border-bottom: 1px solid #ccc;}
header .dep_list li:last-of-type { border-bottom: none}
header .dep_list a { display: block; padding: .75rem; color: #000; font-size: .8em; font-weight: 700; text-decoration: none;}
header .dep_list a:hover,
header .dep_list a:focus { background-color: #eee;}

/* GNAV 子 */
ul#menu dl { height: 100%; margin: 0px; padding: 0px; box-sizing: border-box; overflow: visible;}
ul#menu dt { height: 100%;}
ul#menu dl:hover dd,
ul#menu dl.focus dd{ height: auto; max-height: 600px; margin: 0px;}
ul#menu dl dd {
	position: absolute; top: 100%; left: 0px; right: 0px;	
	width: 100%; padding: 0px; margin: 0px; max-height: 0px;
	background-color: #F3F2F2; transition-duration: 0.4s; overflow: hidden; z-index: 1000;
}

header nav ul li a,
ul#menu dl dt a { transition-duration: 0.2s;}

dd .sub_category { display: flex; width: 100%; max-width: 1024px; margin: 0 auto; padding: 2rem 0 1rem;}
dd .sub_category_image { width: calc((100% / 3) * 1);; padding-right: 3rem;}
dd .heading_text { font-size: 1.7em; font-weight: 600; line-height: 1.2; color: #004f88;}
dd .heading_image {}
dd .heading_image img { max-width: 100%; height: auto;}

dd .sub_category_list { width: calc((100% / 3) * 2); padding-left: 2rem; border-left: 1px solid rgba(128,128,128,.5);}
dd .sub_category_list ul { display: flex; flex-wrap: wrap;}
dd .sub_category_list li { width: calc((100% / 2) - 1rem); margin: 0 .5rem; padding: .3em 0;}
dd .sub_category_list a { position: relative; display: inline-block; padding-left: 1.2em; font-weight: 600; text-decoration: none; color: #000;}
dd .sub_category_list a:before {
	position: absolute; display: block; content: ""; top: .2em; left: 0; width: .9em; height: .9em;
	background: url(https://www.ncc.go.jp/materials/images/subpage/arrow_center_center_down.png) center center no-repeat; background-size: contain; transform: rotate(-90deg);
} 
dd .sub_category_list a:hover,
dd .sub_category_list a:focus { opacity: .4;}

/*------------------------------------------------------------------------------
  レスポンシブ対応
------------------------------------------------------------------------------*/
@media screen and (min-width:0px) and (max-width:1044px) {/* 1024+20 */
	header { height: auto; min-height: 60px;}
	header .wrap { width: auto;}
	header .wrap .title,
	header h1 { position: static; margin:10px;}
	header nav { padding-top: 0;}
	header .page_control,
	header nav ul{display:none;}
	header nav ul#menu,header .page_control { position: fixed; right: 0px; width: 45%;min-width:300px;z-index: 99;}
	
	header nav .menu_button{
		display:block; position: fixed; width: 50px; height: 50px; top: 5px; right: 5px; 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:#005ead url(../img/btn_hamburger.png) no-repeat center center;
	}
	header nav .menu_button.active a {background-image:url(../img/btn_hamburger_close.png);}
	
	header .page_control {
		top: 0px; height: 240px; padding-top:12px; 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: 300px; margin: 0px auto;}
	#UD dl.color_change dt,#UD dl.textsize_change dt { height: 44px; width: 100px;text-align:center;font-weight:bold;}
	#UD dl dt {text-indent:0;color:#333;line-height:44px;}
	#UD dl.textsize_change dt,
	#UD dl.color_change dt{background:none;}
	#UD dl dd { padding-top: 0px; margin: 0px 5px 10px;border:1px solid #ddd}
	#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 nav ul#menu { top: 240px; bottom: 0px; background:rgba(246,247,249,0.95); overflow-y: auto;}

	header nav dt:before,
	header nav ul li a:before,
	header nav ul li.menu03 a::after,
	header nav ul li.menu06 a::after,
	header nav ul li.menu07 a:before,
	header nav ul li.menu07 a:after { display :none!important;}
	header nav ul dt a,
	header nav ul#menu > li > a { background-image: none;}

	header nav ul li.menu01,
	header nav ul li.menu02,
	header nav ul li.menu03,
	header nav ul li.menu04,
	header nav ul li.menu05,
	header nav ul li.menu06,
	header nav ul li.menu07,
	header nav ul li.menu08 { width: auto; float: none; border-bottom: 1px dotted #999;}

	header nav ul dt a,
	header nav ul#menu > li > a  { padding: .8rem .3rem .6rem;}
	
	header .page_control form.search{width:100%;margin:0 auto;}
	header .page_control form.search .input_area{margin: 4px 56px 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 li.menu08 .dep_list { position: static; display: block!important; width: calc(100% - 1rem); margin: .5rem .5rem 0; background-color: transparent; border: none; box-shadow: none; border-radius: 0;}
	header .dep_title { display: block; margin-bottom: 0; padding: .4rem .5rem .3rem; font-weight: 700; text-align: center; color: #fff; background-color: #666; border-radius: .3rem;}
	header nav ul#menu > li.menu08 > a#dep_menu { display: none;}
	header ul#menu dl dd { display: none!important;}
	header .dep_list a { padding: .75rem; text-align: center;}
 
}

@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 */
	header .wrap .title,
	header h1 { max-width: calc(100% - 75px);}

}
@media screen and (min-width:0px) and (max-width:500px) {/* 480+20 MOBILE */
}

@media screen and (min-width:1045px) {
 header .page_control,
 #menu{display:block !important;}
}

/* 法人topロゴ */
.page_top header .header_inner h1 { margin: .5rem auto 0; width: calc(963px / 2); max-width: calc(963px / 2); aspect-ratio: 963 / 124; background-image: url(https://www.ncc.go.jp/materials/images/logo_hojin_J_2c.png);}

@media screen and (max-width: 1080px) {
  .page_top header .header_inner h1 { max-width: calc(963px / 2.5); width: 75%;  margin: 1.5rem auto 0;}
}