﻿@charset "utf-8";
/*************************************************
 style.css
**************************************************/
*,
*::before,
*::after { box-sizing: border-box;}

body { margin:0; background: #ffffff; color: #333333; font-size:100%; line-height:1.5; font-family:"Hiragino Kaku Gothic ProN", "メイリオ", sans-serif; -webkit-text-size-adjust:100%;}
header ,article ,footer ,section ,h1,h2,h3,hr{clear:both;} /*-clear-*/
article ,section ,nav ,dl,ul,div{padding:0 0 5px;overflow:auto;} /*-hasLayout-*/
input[type="text"],input[type="button"],input[type="submit"]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0;}
input[type="button"],input[type="submit"]{cursor:pointer;} /*-formAppearanceClear-*/

h1,h2,h3,h4,h5,p,dl,ul,ol {margin-top:0;}
ul{list-style:none;}
ul,ol{padding-left:0px;}/* 30px */
textarea{max-width:95%;}
fieldset{margin:0 0 1em;padding:0 0 5px;border:none;}
a{color:#0044cc;text-decoration:underline;}
a:visited{color:#61848B;}
a:hover{color:#14205F;}
a:active{color:#5D0000;}
a:hover img{opacity:.8;}
img{border:none;vertical-align:middle;max-width:100%;height:auto;}

#Map,#Map *,#jump{padding:0;overflow:visible;}
#jump a{position:absolute;width:0;height:0;overflow:auto;text-indent:-1000em;}
#jump a:focus{width:12em;height:1.5em;text-indent:0;background:#FFFFFF;text-align:center;}

body{ min-width:320px;}
#TOP{ min-width:1024px; padding-bottom: 0;}
header .wrap,
header nav ul,
.contents .wrap,
.contents div.locus .wrap,
footer .wrap { width: 1024px; margin:0 auto;}

.contents article { float: left; width: calc(100% - 250px - 30px); margin-right: 30px;}
.no_nav .contents article { width: auto; float: none; margin-left: 0;}
.contents nav{ float: right; width: 250px;}
/* タイトル */
header .wrap{margin:12px auto;}
header {margin:0 auto;}
header h1,
header .title { /*width: 360px; height: 64px;*/ margin: 6px 0; padding: 0; float: left; border: none;}
header h1 a,
header .title a { display: block; height: 100%;}
header h1 img,
header .title img { max-width: 100%; height: auto;}

/* ページコントロール - 切り替えボタン */
header .UD{float:left;margin:0;padding:0;}
header .page_control{float:right;margin:14px 0 0 0;padding:0;}
header .page_control dl,
header .page_control dl dt,
header .page_control dl dd { min-height:34px; margin:0; padding:0;font-size: 0.95em;}
header .page_control dl{ float:left; display: flex; height:34px ; margin:0 0.5em 0 0; padding:0; overflow: hidden;}
header .page_control dl dt{ width:34px;}
header .page_control dl.color_change dt,
header .page_control dl.textsize_change dt { display: flex; justify-content: center; align-items: center;}
header .page_control dl.color_change dt { width: 60px;}
header .page_control dl.textsize_change dt { width: 90px;}
header .page_control dl dd a { display: block; width:30px; height:30px; margin: 2px; border: 2px solid #F0EFEE; border-radius: 50%;}
header .page_control dl.color_change dd a { background-color: #fff;}
header .page_control dl.color_change dd.high a { background-color: #000;}
header .page_control dl.color_change dd.low a { background-color: #ccc;}
/**/
header .page_control dl dd a { background-color: #A6A19F;} /* ボタン色 */
header .page_control dl dd a:hover,
header .page_control dl dd a:focus { border-color: #C00000;} /* ホバー色 */

/* ページコントロール - 翻訳ボタン */
header .page_control .voice { float: left; display: block; height: 34px; margin:0 0.5em 0 0; padding: 0; text-align: center;}
header .page_control .voice a { display: flex; justify-content: center; align-items: center; height: 100%; padding: 0 1em; font-size: 0.8em; text-decoration: none;}
/**/
header .page_control .voice a { color: #fff; background-color: #333333;} /* ボタン色 */
header .page_control .voice a:hover,
header .page_control .voice a:focus { background-color: #C00000;} /* ホバー色 */

/* ページコントロール - 検索 */
header .page_control .search { width:180px; margin: 0; padding: 0; float: right; text-align: center;}
header .page_control .search div { margin:0; padding:0;}
header .page_control .search label.search_txt{ float:left; display:flex; align-items: center; justify-content: center; height: 34px; width: 0px; font-size: 0.9em; overflow: hidden;}
header .page_control .search .search_inner { width: calc(100% - 0px); border: 2px solid #333;}
header .page_control .search input#search_txt {display: block; height: 30px; width:calc(100% - 4em); margin: 0%; padding: 0px 0.5em; line-height: 36px; background-color: #fff; border:none;float:left;}
header .page_control .search input#search_txt:focus {background-color:#FFFFFF;outline:1px solid #CCC;}
header .page_control .search input.search_bt { display: block; width: 4em; height:30px; ;margin: 0; padding:0px 0; font-weight:bold;border:none;float:left;}
/**/
header .page_control .search .search_inner { border-color: #333; background-color: #333333;} /* 検索枠色 */
header .page_control .search input.search_bt { color:#FFF; background-color: #333333;} /* 検索ボタン色 */
header .page_control .search input.search_bt:hover,
header .page_control .search input.search_bt:focus { background-color: #C00000;} /* 検索ボタン ホバー色 */

/* ハンバーガーメニュー */
p.hamburger_text { position: absolute; bottom: 5px; height: 1em; width: 100%; margin: 0px auto; padding: 0px; font-size: 0.65em; text-align: center;}
p.hamburger_text span {display: inline-block; overflow: hidden; width: 0px; height: 0px;}
.hamburger,
.hamburger span { display: inline-block; transition: all 0.4s;}
.hamburger { position: relative; width: 22px; height: 19px; margin: 8px 0px 0px 11px;}
.hamburger span { position: absolute; left: 0; width: 100%; height: 3px; border-radius: 3px;}
.hamburger span:nth-of-type(1) { top: 0;}
.hamburger span:nth-of-type(2) { top: 8px;}
.hamburger span:nth-of-type(3) { bottom: 0;}
.menu_button { display:none; position: fixed; top: 0; right: 0; height: 44px; width: 44px; z-index: 110; border-radius: 0.3em;}
.menu_button a {display:block; height: 44px; width: 44px; transition-duration: 0.2s; overflow: hidden;}
.menu_button.active .hamburger { -webkit-transform: rotate(360deg); transform: rotate(360deg);}
.menu_button.active .hamburger span:nth-of-type(1) { -webkit-transform: translateY(8px) rotate(-45deg); transform: translateY(8px) rotate(-45deg);}
.menu_button.active .hamburger span:nth-of-type(2) { -webkit-transform: translateY(0) rotate(45deg); transform: translateY(0) rotate(45deg);}
.menu_button.active .hamburger span:nth-of-type(3) { opacity: 0;}
/**/
.menu_button a { background: #A6A19F;} /* ボタン色 */
.hamburger span { background-color: #fff;} /* ハンバーガー色 */
p.hamburger_text { color: #fff;} /* 文字色 */
.menu_button a:hover,
.menu_button a:focus { background-color: #c00000;}


/* グローバルメニュー */
header nav{ padding-bottom: 0px;}
#menu { height: 64px; margin: 0 auto; padding: 0; list-style: none;}
#menu li { position: relative; float: left; width: 25%;}
#menu li:before ,
#menu li:first-of-type:after { position: absolute; display: block; content: ""; top: 20%; bottom: 20%; width: 1px; background-color: #333;}
#menu li:before { right: 0px;}
#menu li:first-of-type:after { left: 0px;}
#menu li a { display: flex; align-items: center; justify-content: center; height: 64px; transition-duration: 0.15s;}
/**/
header nav { background-color: #DFF4FC;} /* 帯背景色 */
#menu li a { color: #000; background-color: transparent;text-decoration: none;} /* ボタン色 */
#menu li a:hover,
#menu li a:focus { background-color: rgba(255,255,255,0.75);} /* ホバー色 */


/*---------
 CONTENTS
---------*/
.contents nav { overflow: visible;}
.contents nav ul,
.contents nav dl { padding:0;list-style:none;}
.contents nav dl { border: 1px solid #CCCCCC;}
.contents nav dl dt{ padding: 1em 0.5em; text-align: center; font-size: 1.15em; color:#FFFFFF; font-weight:bold; background:#034DA2;}
.contents nav dl dd{ margin:0;}
.contents nav dl dd:first-of-type a { margin-top: 0.5em;}
.contents nav dl dd:last-of-type a { margin-bottom: 0.5em;}
.contents nav dl dd a { position: relative; display: block; padding: 0.7em 0.7em 0.7em 2.4em;}
.contents nav dl dd a:before {
  position: absolute; display: block; content: ""; left: 1em; top: 0.95em; transition-duration: 0.2s;
  border-top: 0.4em solid transparent;
  border-bottom: 0.4em solid transparent;
  border-left: 0.6em solid #034DA2;
}
.contents nav dl dd a:hover:before { left: 1.3em;}

/* section */
article > div,
article > section{margin-bottom:1em;}
section {}
section h2{ background:#888888;color:#FFFFFF; padding: 0.3em 0.5em;}
article { padding-left: 10px; padding-right: 10px;}

/* footer */
footer { position: relative; padding: 1em 0 0; background:#F0FAFE;}
footer .nav { font-size: 0.9em;}
footer .nav li { float: left;}
footer .nav li a { position: relative; display: block; margin-right: 2em; padding: 0.3em 0em 0.5em 1.3em;}
footer .nav li a:before { position: absolute; content: ""; display: block; top: 0.45em; left: 0em; width: 0.9em; height: 0.9em; background-color: #004c22; border-radius: 50%;}
footer dl{ float: left; margin:1em 0 0 0;padding:0 0 1em 0;}
footer dt{margin:0;padding:0; font-size: 1.3em; margin-bottom: 0.5em;}
footer dd{margin:0;padding:0;}
footer .copyright { clear: both; margin: 0; padding: 0.6em; text-align: right; font-size: 0.8em; color: #ffffff; background-color: #333333;}
footer .copyright span { display: block; width: 1024px; margin: 0 auto;}
footer .reread_link{ width:100px; position:fixed; bottom: 10px; right:0; z-index: 100;}
footer .reread_link a{display:block;height:100px;overflow:hidden;text-indent:-1000em;background:url(../img/reread_link.png);/* rgba(176,214,99,0.8);*/ border-radius: 50%;}
footer .reread_link a:hover{opacity:0.8;}

.menu_bg { display: none; position: fixed; top: 0px; bottom: 0px; left: 0px; right: 0px; background-color: rgba(64,64,64,0.5); z-index: 100;}

.contents h1 {  font-size: 1.8em; position: relative;  padding: 0.5em;  background: #034DA2;  color: #FFFFFF}
.contents h1::before {  position: absolute;  content: '';  top: 100%; left: 0;  border: none;  border-bottom: solid 15px transparent;  border-right: solid 20px #183053;}

/*************************************************
 CMS用テンプレート  .txtbox内部
**************************************************/

/* 見出し */
.txtbox h2{ font-size: 1.6em; margin:0 0 1em 0; padding:.3em .5em; background:#DFF4FC;}
.txtbox h3{ font-size: 1.4em; margin:0 0 1em .1em; padding:.3em .5em; border-left:4px solid #D3D0D0;border-bottom:2px solid #D3D0D0;}
.txtbox h4{ font-size: 1.2em; margin:0 0 1em .2em; padding:.3em .5em; border-bottom:4px double #D3D0D0;}
.txtbox h5{ font-size: 1em;   margin:0 0 1em 0; padding:.3em .5em .3em 1.5em; position:relative;}
.txtbox h5:before { width: .8em; height: .8em; top: 0; bottom:0; left: .3em;margin:auto;  background: #034DA2; content:"";display:block; position:absolute ;} 
.txtbox h6{ font-size: 1em;   margin:0 0 1em .4em; padding:.3em .5em; }
.txtbox p,
.txtbox table,
.txtbox ul,
.txtbox ol{ margin-left:.5em;}

/* list */
.txtbox ul > li:before,
article section.link_section li:before { width: 0.5em; height: 0.5em; top: 0.5em; left: 0.5em; background:#034DA2; border-radius:50%;} /* リストの色・形 */

/* table */
.txtbox table th,
.txtbox table td{border:1px solid #034DA2;} /* テーブル線の色 */
.txtbox table th{background: #DFF4FC;} /* THの色 */

/*************************************************
 レスポンシブ　1024 + 20 
**************************************************/
@media screen and (min-width:0px) and (max-width:1044px) {
header .wrap, header nav ul, .contents .wrap, .contents div.locus .wrap, footer .wrap,
	#TOP,
	textarea ,
	header .wrap,
	footer .wrap,
	header .nav,
	.locus,
	.contents,
	.contents article,
	.no_nav .contents article,
	.contents nav,
	footer .copyright span {position:static;width:auto;min-width:0;max-width:100%;float:none;}

	header .wrap,
	article > section,
	p.locus,
	.acrobat,
	.contents nav,
	.contents article,
	.no_nav .contents article,
	footer .wrap {margin-left:2%;margin-right:2%;} 
	footer .copyright { padding: 20px 0;}

	header { position: relative;}
	header .page_control { display: none; position: fixed; top: 60px; left: 0px; right: 0px; margin-top: 0; z-index: 110;}
	header nav { position:fixed; top:0px; left:0px; right:0; max-height:100%; padding:0; background-color: transparent; box-shadow: 2px 2px 3px 0 rgba(0,0,0,0.4); overflow:visible; z-index:105;}
	.menu_button {display:block; top: 5px; right: 5px; padding-bottom: 0; transition-duration: 0.3s;}
	.menu_button.active { box-shadow: 0px 0px 0px 2px rgba(255,255,255,0.9);}
	#menu { height:auto; width: auto; padding-top: 234px; overflow:visible ;display:none;}
	#menu li,
	#menu.menu1 li,
	#menu.menu2 li,
	#menu.menu3 li,
	#menu.menu4 li,
	#menu.menu5 li { float: none; width: auto;}
	#menu li a { height: auto; padding: 1em;}
	#menu li a:before { top: 0px; bottom: auto; left: 2.5%; right: 2.5%; width: auto; height: 1px;}
	#menu li:first-of-type a:after { display: none;}

	header h1,
	header .title { margin-top: 4px; height: auto;}
	
	/*
	header .title, header h1,
	*/
	header .UD,
	header .page_control .search{position:static;width:auto;min-width:0;max-width:100%;float:none;}
	header .page_control .search,
	header .UD {margin-left:2%;margin-right:2%;}
	header .page_control .voice,
	header .page_control dl.textsize_change,
	header .page_control dl.color_change { float: none; width: 200px;}
	header .page_control .voice { margin: 5px auto 10px;}
	header .page_control dl.textsize_change,
	header .page_control dl.color_change { margin: 5px auto;}
	header .page_control dl dd a { margin-left: 5px; margin-right: 4px;}
	header .page_control dl.textsize_change dt,
	header .page_control dl.color_change dt { width: 84px;}
	
	/**/
	#menu { background-color: #ccc;} /* グローバルメニュー背景色（スマートフォン版） */
	#menu li::before, #menu li:first-of-type::after {display:none;}
}

@media screen and (min-width:0px) and (max-width:1200px) {
  footer .qr { margin-right: 70px;}
}


/*************************************************
 レスポンシブ　640 + 20 
**************************************************/
@media screen and (min-width:0px) and (max-width:660px) {
  header .UD { bottom: 70px;}

	header h1,
	header .title { max-width: calc(320px - 70px);}

  footer { padding-top: 0;}
  footer .nav {}
  footer .nav li { float: none; padding: 0.5em 0; border-bottom: 2px dotted #004c22;}
  footer .nav li a { text-align: center;}
  footer .nav li a:before { display: none;}
  footer .qr { clear: both; float: none; width: 296px; margin-left: auto; margin-right: auto;}
  
  footer .reread_link{ width:60px; bottom:60px;}
  footer .reread_link a { height:60px; background-size: contain;}
  footer .copyright { padding: 40px 0;}
  footer .copyright span { text-align: center;}
  
}

@media screen and (min-width:1045px) {
	html body #menu,
	header .page_control {display:block!important;}
	.menu_bg{display: none!important;}
}

@media screen and (-ms-high-contrast:active){
* {text-indent:0em !important;}
}

@media print{
/* 幅はコンテンツサイズに合わせて修正 */
html,body{width:1024px;margin:0;padding:0;overflow-x:hidden;} 
#TOP{min-width:1024px;width:1024px;margin:0;padding:0;overflow-x:hidden;}
body,body > .wrap{background:none;}
#fb-root{display:none;}
}
.menu_button{overflow:hidden;}
html:lang(en) footer .reread_link a{background:url(../img/reread_link_en.png);}
@media screen and (min-width:0px) and (max-width:660px) {
  html:lang(en) footer .reread_link a{background-size:contain;}
}
html:lang(en) .menu_bg{background:rgba(255,255,255,0.75);}