@charset "utf-8";

/*
======== context ======================================

Last Updated:20180820
Summary:各ページ共通 基本テンプレートレイアウト設定

- #container
- #headerArea
- #contentsArea
- #footerArea
-
-
=======================================================
*/

/*-----------------------------------------------------
container
-------------------------------------------------------*/
#container {
  background: #fff;
}

#containerInner3 {
  padding-top: 20px;
  border-left: 1px solid #c8c8c8;
  border-right: 1px solid #c8c8c8;
  border-bottom: 1px solid #c8c8c8;
  background-color : #fff;
}

/*-----------------------------------------------------
headerArea
-------------------------------------------------------*/
#headerArea {
  padding-top: 0;
  margin-bottom: 15px;
  background: #fff;
}

/*utilityBlock*/
#utilityBlock {
  background: #004697;
}

#utilityBlockInner {
  margin-left: auto;
  margin-right: auto;
  width: 980px;
}

#utilityNav{
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding: 3px 0;
  width: 100%;
}

#utilityNav ul {
  display: flex;
  padding-top: 7px;
  padding-bottom: 5px;
  text-align: right;
}

#utilityNav ul li {
  display: inline;
  font-size: 0.9em;
  margin-right: 10px;
  padding: 0 0 0 20px;
  position: relative;
}

#utilityNav ul li a {
  color: #fff;
}

#utilityNav ul li a:focus {
  outline: 3px solid rgba(255, 255, 255, .85);
}

#utilityNav ul li img {
  margin-left: 5px;
  vertical-align: baseline;
}

/*headerBlock*/
#headerBlock {
  border-bottom: 2px solid #c8c8c8;
  margin-bottom: 20px;
  padding-top: 3em;
  padding-bottom: 20px;
  position: relative;
}

#headerBlock #ciBlock {
  margin-right: 20px;
}

#headerBlock #ciBlock a {
  display: block;
}

#headerBlockInner {
  margin-top: 20px;
  margin-right: auto;
  margin-left: auto;
  width: 980px;
}

#spCiBlock {
  display: none;
}

/* h30 */
#headerBoxBody {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.tbDisp,
.spDisp {
  display: none;
}

#headerBox .contBtn,
#headerBox .spCloseBtn {
  display: none;
}

#headerBox ul#globalNavList li {
  display: inline;
  font-weight: bold;
  font-size: 1.2em;
  margin-right: 30px;
  padding-top: 7px;
  padding-bottom: 3px;
  position: relative;
}

#headerBox ul#globalNavList li:last-child {
  margin-right: 0;
}

#headerBox ul#globalNavList li a {
  border-bottom: solid 4px #005bac;
  color: #333;
  padding: 3px 5px;
  text-decoration: none;
}

#headerBox ul#globalNavList li a:hover,
#headerBox ul#globalNavList li a:focus {
  border-color: #00264c;
  color: #00264c;
}

#headerBlock #utilityNav {
  margin: 0 auto;
  width: 980px;
}

#searchCont {
  background-color: #004697;
}

/*searchBlock*/
#searchBlockInner {
  display: table;
  margin-right: auto;
  margin-left: auto;
  overflow: hidden;
  padding: 4px;
  text-align: left;
  background-color: #ededed;
}

#searchBlockInner #searchPart p {
  display: table-cell;
  vertical-align: middle;
  padding: 3px 5px 0 0;
}

#searchBlockInner form {
  display: table-cell;
  vertical-align: middle;
}

#searchBlockInner form input,
#searchBlockInner form textarea {
  vertical-align: middle;
    /* for iOS */
  border-radius: 0;
}

#spUtilityNav {
  display: none;
}

#searchBlockInner form input.button {
  background-color: #666;
  background-image: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20id%3D%22search%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20width%3D%2264px%22%20height%3D%2264px%22%20viewBox%3D%220%200%2064%2064%22%20style%3D%22enable-background%3Anew%200%200%2064%2064%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%20.st0%7Bfill%3A%23FFFFFF%3B%7D%3C%2Fstyle%3E%3Cg%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M32%2C29.9l-8-8c1.8-2.3%2C3-5.2%2C3-8.4C27%2C6%2C21%2C0%2C13.5%2C0S0%2C6%2C0%2C13.5C0%2C21%2C6%2C27%2C13.5%2C27c3.2%2C0%2C6.1-1.1%2C8.4-3l8%2C8%20L32%2C29.9z%20M2%2C13.5C2%2C7.2%2C7.2%2C2%2C13.5%2C2S25%2C7.2%2C25%2C13.5S19.8%2C25%2C13.5%2C25S2%2C19.8%2C2%2C13.5z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E');
  background-position: 8px 5px;
  background-repeat: no-repeat;
  background-size: 28px;
  border: none;
  color: #fff;
  cursor: pointer;
  font-size: 1em;
  height: 1.8em;
  width: 5em;
  padding: 1px 6px 0 24px;
}

#searchBlockInner form input.search {
  height: 1.2em;
  border: 1px solid  #ccc;
  padding: 2px 5px;
  width: 220px;
}

#searchBlockInner #searchPart a {
  padding: 0 0 0 20px;
  position: relative;
}

#searchBox img {
  margin-right: 5px;
  vertical-align: middle;
}

/*nopi*/
#closeMessageBlock {
  background: #ededed;
  border-bottom: 1px solid #c8c8c8;
}

#closeMessageBlockInner {
  width: 980px;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
  padding-top: 11px;
  padding-bottom: 11px;
  text-align: left;
}

#closeMessageBlockInner p {
  font-size: 1.1em;
}

/* topicPathBlock */
#topicPathBlock {
  width: 980px;
  margin-right: auto;
  margin-left: auto;
  padding-top: 0;
}

#topicPathBlock p {
  padding: 0;
  font-size: 0.9em;
}


/*-----------------------------------------------------
#contentsArea
-------------------------------------------------------*/
#contentsArea {
  padding: 0;
  margin-left: auto;
  margin-right: auto;
  width: 980px;
  margin-bottom: 20px;
  overflow: hidden;
}

#mainContents {
  padding:0 0 0 15px;
}

#contentsArea #mainContentsBlock {
  clear: both;
}

#contentsArea #mainContentsBlock #ContentsBlock {
  margin-right : 240px;
}

#contentsArea #mainContentsBlock #SideBlock {
  float : right;
  width : 200px;
}

/*-----------------------------------------------------
#footerArea
-------------------------------------------------------*/
#footerArea {
  clear: both;
  background: #ededed;
}

#footerNavBlock {
  text-align: center;
  background: #ededed;
  padding : 15px 0;
}

#footerNavBlock ul {
  display: flex;
  justify-content: center;
  list-style-type: none;
  margin-left: auto;
  margin-right: auto;
  width: 980px;
}

#footerNavBlock ul#list_footerNav li {
  padding-right : 15px;
  padding-left: 20px;
  vertical-align: middle;
}

#footerNavBlock a {
  color : #333;
}

#copyrightBlock {
  background: #004697;
  color: #fff;
  margin : 0;
  padding-top: 35px;
  padding-bottom: 30px;
  position: relative;
  text-align : center;
  width: 100%;
}

#copyrightBlock > div {
  margin-left: auto;
  margin-right: auto;
  width: 980px;
}

#copyrightBlock address {
  display: table;
  font-style: normal;
  margin-right: auto;
  margin-bottom: 15px;
  margin-left: auto;
}

#copyrightBlock address img {
  display: table-cell;
  padding-right: 15px;
  vertical-align: middle;
}

#copyrightBlock address span {
  border-left: solid 1px #ffffff;
  display: table-cell;
  padding-left: 15px;
  text-align: left;
  vertical-align: middle;
}

#copyrightBlock em {
  padding-right : 20px;
}

#copyrightBlock p#txt_copyright {
  padding : 5px 0 10px 0;
  font-size: 0.9em;
}

#footerBannerBlock{
  padding-bottom: 30px;
}

#footerBannerBlock ul {
  margin:0 auto;
  text-align:center;
  width:820px;
}

#footerBannerBlock li {
  margin:0 15px ;
  display: inline;
}

#footerBannerBlock li img {
  margin-bottom:10px;
}

/*-----------------------------------------------------
2Column
-------------------------------------------------------*/

#contentsArea .col2{
  padding:0 15px;
}
.col2 #mainContentsBlock{
  width:100%;
  margin-right:-224px;
  overflow:hidden;
  z-index:1;
  float:left;
  clear:both;
}

.col2 #mainContents{
  margin:0 263px 40px 0;
  clear:both;
}

.col2 #subContentsBlock{
  float:left;
  width:224px;
  z-index:2;
  margin:0 0 0 0;
}