@charset "UTF-8";
#infoContainer {
  padding: 60px 0 0 0; }
#infoContainer.association,
#infoContainer.qa {
  padding: 110px 0 0 0; }
.innerWrapper {
  padding: 10px; }
.mb1em {
  margin-bottom: 1em !important; }
.mb2em {
  margin-bottom: 2em !important; }
a {
  box-sizing: border-box; }

/*h2*/
.pageHeader {
  background: url(../img/pic_sitemap_h2bg_sp.jpg) 10% 50% no-repeat;
  background-size: cover; }
.pageHeader.vote {
  background: url(../img/pic_sitemap_h2bg.jpg) 10% 50% no-repeat;
  background-size: cover; }
.pageHeader.dirtrace {
  background: url(../img/dirtrace/pic_dirtrace_h2bg.jpg) 10% 50% no-repeat;
  background-size: cover; }

/*汎用*/
section.content {
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 5px 0;
  font-size: 13px;
  box-sizing: border-box;
  display: block; }
  section.content.tel {
    padding: 0 5px;  }
h3 {
  width: 100%;
  height: auto;
  margin: 0 auto 13px;
  padding: 0 0 2px;
  box-sizing: border-box;
  display: block; }
h4 {
  width: 100%;
  height: auto;
  margin: 0 auto 5px;
  padding: 0;
  box-sizing: border-box;
  display: block; }
img.nraLogo {
  width: 90%;
  max-width: 250px;
  height: auto;
  margin: 0 auto 20px;
  padding: 0;
  box-sizing: border-box;
  display: block; }
.signature {
  width: 100%;
  height: auto;
  margin: 0 auto 20px;
  padding: 0 10px;
  box-sizing: border-box;
  display: block;
  text-align: right; }
  .signature p {
    width: auto;
    height: auto;
    margin: 0 auto;
    padding: 0;
    text-align: left;
    display: inline-block; }
  .signature span {
    font-size: 13px;
    display: block; }
  .signature span.name {
    font-size: 16px; }
.dataArea {
  width: 100%;
  min-height: 400px;
  height: auto;
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  display: block; }
  .dataArea p {
    padding: 0 23px;
    line-height: 1.45; }
ul li {
  width: 98%;
  height: auto;
  margin: 0 auto;
  padding: 10px 15px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  display: block;
  position: relative; }
  ul li span.title {
    width: 100%;
    height: auto;
    margin: 0 auto;
    padding: 0;
    display: block;
    font-weight: bold; }

/*コンテンツ内ボタン汎用*/
.btnWrapper {
  width: 100%;
  height: auto;
  margin: 0 auto 25px;
  padding: 0 0;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  display: block; }
  .btnWrapper.top {
    width: 100%;
    text-align: right; }
  .btnWrapper a.linkBtn {
    width: 100%;
    height: 35px;
    min-height: 35px;
    margin: 0 auto 5px;
    padding: 0 15px 0 25px;
    display: inline-block;
    background: url(../img/icon_linkbtn_arr_wh.png) 10px 50% no-repeat #333;
    background-size: 8px auto;
    border-radius: 3px;
    color: #fff;
    line-height: 35px;
    font-size: 14px;
    vertical-align: top;
    text-decoration: none;
    text-align: left; }
    a.linkBtn.qa {
      font-size: 12px; }
    .btnWrapper a.linkBtn[href^="#"] {
      font-size: 13px; }
a.txtLink {
  width: auto;
  height: auto;
  margin: 0 5px 0;
  padding: 5px 0 5px 20px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  display: inline-block;
  background: url(../img/icon_arr_right_circle_bl.png) 0 50% no-repeat;
  background-size: 14px 14px;
  font-size: 13px;
  text-decoration: none; }

/*FAQ*/
.dataArea .content > h4 {
  padding: 70px 0 0;
  margin: -70px auto 10px; }
.qaArea {
  margin: 0 auto 2em; }

/*インターネット投票サイト特集*/
.dataArea p.chartText {
  margin: 0 auto 2em;
  padding: 0 5px 5px; }
.chartWrapper table {
  width: 100%; }
  .chartWrapper table tr.thead {
    display: none; }
  .chartWrapper table th {
    width: auto;
    border-right: none;
    display: block; }
  .chartWrapper table td {
    width: auto;
    text-align: left;
    border-right: none;
    padding: 7px 10px;
    display: block; }
  .chartWrapper table td:before {
    display: block;
    text-align: left;
    padding: 0 0 3px;
    margin: 0 auto 5px;
    border-bottom: 1px dotted #9f9f9f;
    font-weight: bold;
    font-size: 14px; }
  .chartWrapper table td:nth-child(2) {
    padding: 10px 10px 5px; }
  .chartWrapper table td:not(:nth-child(1)):before {
    content: attr(data-head); }
  .chartWrapper a.linkBtn {
    width: 100%;
    height: 35px;
    margin: 0 auto 5px;
    padding: 0 15px 0 25px;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    display: inline-block;
    background: url(../img/icon_linkbtn_arr_wh.png) 10px 50% no-repeat #1a74bc;
    background-size: 8px auto;
    border-radius: 3px;
    color: #fff;
    line-height: 35px;
    vertical-align: top;
    text-decoration: none;
    text-align: left;
    font-size: 13px; }
    .chartWrapper a.linkBtn.large {
      height: 35px;
      font-size: 13px;
      padding: 5px 10px 5px 20px;
      background: url(../img/icon_linkbtn_arr_wh.png) 8px 10px no-repeat #1a74bc;
      background-size: 8px auto; }

/*レーティング表組み*/
h5.chartTitle {
  margin: 15px 0 0; }
table.ratingList {
  width: 100%;
  height: auto;
  margin: 0 auto 30px;
  padding: 0;
  display: table;
  border: 1px solid #9f9f9f;
  border-bottom: none;
  font-size: 15px;
  text-align: left; }
  table.ratingList tr:nth-child(2n-1) {
    background: #fff; }
  table.ratingList td:nth-child(2n-1) {
    background: #fff; }
  table.ratingList td:nth-child(2n) {
    background: #f0f0f0; }
  table.ratingList th {
    background: #555;
    color: #fff;
    padding: 7px 0;
    border-right: 1px solid #9f9f9f;
    text-align: center;
    font-size: 12.5px;
    display: none; }
  table.ratingList tr th:last-child {
    border: none; }
  table.ratingList tr:nth-child(2n) {
    background: #fff; }
  table.ratingList tr td {
    padding: 5px;
    text-align: center;
    border-bottom: 1px solid #9f9f9f;
    border-right: none;
    display: block;
    font-size: 13px; }
  table.ratingList tr td:first-child {
    background: #555;
    color: #fff;
    text-align: center; }
    table.ratingList td:not(:nth-child(1)) {
      width: auto;
      position: relative;
      padding: 7px 5px 7px 45%;
      display: block;
      text-align: left; }
    table.ratingList td:nth-child(1) {
      background: #555;
      color: #fff;
      padding: 7px 0;
      text-align: center;
      font-weight: bold; }
    table.ratingList td:not(:nth-child(1)):before {
      content : attr(data-head);
      width: 38%;
      height: calc(100% - 7px);
      position: absolute;
      border-right: 1px solid #9f9f9f;
      padding: 7px 0 0 10px;
      top: 0;
      left: 0; }
    table.ratingList td.line02 {
      min-height: 35px;
      line-height: 35px; }
    table.ratingList td.line02:before {
      white-space: pre;
      line-height: 1.35; }

/*電話*/
.dataArea table.tel a,
.content.tel .telNum a {
  color: #333;
  text-decoration: none; }
.introArea {
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
  display: block; }
.pdfArea {
  width: 100%;
  height: auto;
  margin: 0 auto 10px;
  padding: 10px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  display: block;
  border-radius: 3px;
  text-align: center; }
  .pdfArea.tel {
    padding: 10px 0;  }
.pdfAttention {
  width: 100%;
  height: auto;
  margin: 0 auto 30px;
  padding: 10px;
  border-radius: 3px;
  box-sizing: border-box;
  display: block;
  position: relative;
  background: #f0f0f0; }
a.pdfBanner {
  width: 158px;
  height: 39px;
  margin: auto;
  padding: 0;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  display: block;
  position: static; }
  a.pdfBanner img {
    width: 100%;
    height: auto;
    margin: 0 auto;
    padding: 0;
    display: block; }
a.download {
  width: 100%;
  height: 35px;
  margin: 0 auto;
  padding: 0 15px 0 40px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  display: inline-block;
  background: url(../img/icon_pdf.png) 10px 50% no-repeat #1a74bc;
  background-size: 18px auto;
  border-radius: 3px;
  color: #fff;
  line-height: 35px;
  font-size: 14px;
  vertical-align: top;
  text-decoration: none; }
a.download.line02 {
  width: auto;
  height: auto;
  line-height: normal;
  padding: 8px 15px 8px 40px;
  min-height: 35px;
  margin: 0 0 0 0;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  display: inline-block;
  background: url(../img/icon_pdf.png) 10px 50% no-repeat #1a74bc;
  background-size: auto;
  background-size: 18px auto;
  border-radius: 3px;
  color: #fff;
  font-size: 14px;
  vertical-align: top;
  text-align: left;
  text-decoration: none; }
p.attention {
  width: 100%;
  height: auto;
  margin: 5px auto;
  padding: 0 0 0 1.3em;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  display: block;
  position: relative; }
  p.attention:after {
    content: "※";
    width: auto;
    height: auto;
    padding: 0;
    margin: auto;
    display: block;
    position: absolute;
    top: 0;
    left: 0; }
p.date {
  width: 100%;
  height: auto;
  margin: 0 auto 5px;
  padding: 0;
  box-sizing: border-box;
  display: block;
  text-align: right; }
table.tel {
  width: 100%; }
  table.tel tr th {
    display: none; }
  table.tel tr td {
    display: block;
    padding: 3px 10px;
    font-size: 14px;
    border-right: none; }
  table.tel tr td:nth-child(1) {
    background: #555;
    color: #fff; }
  table.tel tr td:nth-child(2) {
    padding: 6px 5px 3px; }
  table.tel tr td:nth-child(2):before,
  table.tel tr td:nth-child(3):before {
    content: attr(data-head)"："; }
h4 {
  width: 100%;
  height: auto;
  margin: 0 auto 25px;
  padding: 0 0 0 3px;
  border-bottom: 1px dotted #333;
  font-weight: bold;
  font-size: 15.5px; }
table {
  width: 100%;
  height: auto;
  margin: 0 auto 10px;
  padding: 0;
  display: table;
  border: 1px solid #9f9f9f;
  font-size: 15px; }
  table th {
    width: 20%;
    background: #555;
    color: #fff;
    padding: 10px;
    text-align: center;
    border-right: 1px solid #9f9f9f;
    vertical-align: middle; }
    table th img {
      width: 94px;
      height: 35px;
      margin: 0 auto;
      padding: 0;
      box-sizing: border-box;
      display: block;
      box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.3); }
  table tr:nth-child(2n-1) {
    background: #f0f0f0; }
  table tr td {
    padding: 10px;
    border-right: 1px solid #9f9f9f;
    display: table-cell;
    text-align: center; }
  table tr td.head {
    text-align: left;
    font-weight: bold; }
  table a.link {
    width: 100%;
    height: auto;
    margin: 0 10px 0;
    padding: 0 0 0 15px;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    display: block;
    background: url(../img/icon_arr_right_circle_bl.png) 0 50% no-repeat;
    background-size: 10px 10px;
    font-size: 13px;
    text-decoration: none; }
  table tr td a.linkBtn {
    width: 100%;
    height: 30px;
    line-height: 30px;
    font-size: 13px;
    padding: 0 10px 0 20px;
    background: url(../img/icon_linkbtn_arr_wh.png) 8px 50% no-repeat #1a74bc; }
  table a.linkBtn.large {
    width: 100%;
    height: auto;
    line-height: normal;
    padding: 5px 10px 5px 20px;
    background: url(../img/icon_linkbtn_arr_wh.png) 8px 10px no-repeat #1a74bc;
    font-size: 12.5px; }
  table td.txt {
    text-align: left;
    line-height: 1.3; }
    table td.txt p {
      padding: 3px 0; }
  table td.txt.vTop {
    vertical-align: top; }
    table td.txt.vTop p {
      display: inline-block; }
    table td.txt.vTop p span.title {
      width: auto;
      margin: 0 auto;
      padding: 0 0 5px 0;
      box-sizing: border-box;
      display: table-cell;
      font-weight: bold;
      vertical-align: middle; }
  table td span.small {
    font-size: 12px; }

ul.numWrapper {
  width: 100%;
  height: auto;
  margin: 0 auto 20px;
  padding: 0;
  box-sizing: border-box;
  display: block; }
  ul.numWrapper li.num {
    width: 100%;
    height: auto;
    margin: 1em 2% 1em 0;
    padding: 10px;
    box-sizing: border-box;
    display: block;
    background: #f0f0f0;
    border-radius: 3px; }
    ul.numWrapper li.num:last-child {
      margin: 0; }
    ul.numWrapper li.num p.numtitle {
      width: 100%;
      height: auto;
      margin: 0 auto 10px;
      padding: 0;
      box-sizing: border-box;
      display: block;
      font-size: 15px;
      text-align: center; }
    ul.numWrapper li.num p.telNum {
      width: 100%;
      height: auto;
      margin: 0 auto;
      padding: 20px;
      box-sizing: border-box;
      display: block;
      font-size: 15px;
      text-align: center;
      background: #fff; }

/*個人情報*/
article.privacy {
  width: 100%;
  height: auto;
  margin: 0 auto 10px;
  padding: 0 0;
  box-sizing: border-box;
  display: block; }
  article.privacy h4 {
    border: none;
    height: auto;
    margin: 0 5px 5px;
    padding: 0;
    box-sizing: border-box;
    display: block;
    border-bottom: 1px dotted #9f9f9f;
    width: auto; }
  article.privacy h5 {
    font-size: 16px;
    border-bottom: 1px dotted #555;
    margin: 0 0 7px; }
  article.privacy h6 {
    font-size: 15px;
    font-weight: bold;
    margin: 5px 0 10px; }
  article.privacy .pdfArea {
    padding: 0; }
  article.privacy .dataArea p {
    padding: 0; }
    article.privacy .dataArea .innerTxt p {
    padding: 0 5px; }
  article.privacy .dataArea .num {
    padding: 10px 0 0 20px;
    width: 100%; }

/*PDFダウンロード*/
article.privacy .pdfArea {
  width: 100%;
  height: auto;
  margin: 0 auto 10px;
  padding: 0 5px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  text-align: center;
  display: block; }
  article.privacy .pdfArea p.fileName {
    width: 100%;
    height: auto;
    margin: 8px auto 4px;
    padding: 0;
    box-sizing: border-box;
    display: block;
    text-align: left;
    font-size: 13px; }
article.privacy a.download {
  width: 100%;
  height: 35px;
  min-height: 35px;
  margin: 3px auto 10px;
  padding: 0 15px 0 40px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  display: block;
  background: url(../img/icon_pdf.png) 10px 50% no-repeat #1a74bc;
  background-size: 18px auto;
  border-radius: 3px;
  color: #fff;
  line-height: 35px;
  font-size: 14px;
  vertical-align: top;
  text-decoration: none;
  text-align: left }
a.chartLink {
  width: 100%;
  height: 35px;
  min-height: 35px;
  margin: 3px auto 0;
  padding: 0 20px 0 30px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  display: inline-block;
  background: url(../img/icon_linkbtn_arr_wh.png) 15px 50% no-repeat #333;
  background-size: 8px auto;
  border-radius: 3px;
  color: #fff;
  line-height: 35px;
  font-size: 14px;
  vertical-align: top;
  text-decoration: none;
  text-align: left; }

/*お客様へのお願い*/
#infoContainer.illegal {
  padding: 60px 0 0 0; }
.pageHeader.association {
  background: url(../img/association/pic_association_h2bg.jpg) 50% 50% no-repeat;
  background-size: cover; }
.dataArea.illegal h4 {
  width: 99%;
  height: auto;
  margin: 0 auto 10px;
  padding: 0;
  box-sizing: border-box;
  display: block;
  border-bottom: 1px dotted #9f9f9f; }
.dataArea.illegal p {
  padding: 0; }