@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500");
@import url("https://fonts.googleapis.com/css?family=Roboto:900");
@import url("https://fonts.googleapis.com/css?family=Montserrat:900");
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video, button {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

th, td {
  vertical-align: middle;
}

input, select {
  vertical-align: middle;
  outline: none;
}

img {
  border: 0;
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
}

html {
  box-sizing: border-box;
  overflow-y: scroll;
}

*,
*::before,
*::after {
  box-sizing: inherit;
}

body {
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
  text-align: left;
  font-size: 14px;
  line-height: 1.8em;
  color: #333;
  -webkit-text-size-adjust: 100%;
  overflow: hidden;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
@media screen and (max-width: 599px) {
  body {
    font-size: 13px;
  }
}

input,
textarea {
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

select {
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
}

table {
  width: 100%;
}

a:link,
a:visited {
  color: #3498db;
  text-decoration: underline;
}

a:hover,
a:active {
  color: #3498db;
  text-decoration: none;
}

h1, h2, h3, h4, h5 {
  font-weight: 500;
}

.clearfix {
  content: "";
  display: block;
  clear: both;
}

.l-header {
  text-decoration: none;
  margin: 100px auto 0;
  padding: 0;
  position: relative;
  top: -100px;
  width: 100%;
  z-index: 999;
}
.l-header a {
  color: #333;
  text-decoration: none;
}
.l-header.is-fixed {
  margin-top: 0;
  top: 0;
  position: fixed;
  height: 100px;
  background: #fff;
  -webkit-transition: top 0.65s ease-in;
  -moz-transition: top 0.65s ease-in;
  transition: top 0.65s ease-in;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 1179px) {
  .l-header {
    top: 0;
    position: fixed;
    margin-top: 0;
  }
  .l-header.is-fixed {
    height: 60px;
    padding-top: 0;
    background: transparent;
    box-shadow: 0 19px 3px 0 rgba(0, 0, 0, 0.9);
  }
}

.l-footer {
  background: #f1f1f1;
}

.l-banner-slider, .l-banner-list {
  margin: 0 0 3em 0;
}
@media screen and (max-width: 599px) {
  .l-banner-slider, .l-banner-list {
    margin: 1em 0 2em;
    padding: 0;
    overflow: inherit;
  }
}

.l-container {
  box-sizing: border-box;
  width: 100%;
}
.l-container.is-first {
  margin-top: 100px;
}
@media screen and (max-width: 1179px) {
  .l-container.is-first {
    margin-top: 80px;
  }
}

.l-contents {
  margin: 0 auto;
  max-width: 1200px;
  min-width: 960px;
  width: 94%;
  overflow: hidden;
}
.l-contents::after {
  content: "";
  clear: both;
  display: block;
  visibility: hidden;
}
.l-contents.is-home {
  position: relative;
  top: -70px;
  margin-bottom: -70px;
}
@media screen and (max-width: 959px) {
  .l-contents {
    max-width: 100%;
    min-width: 100%;
  }
  .l-contents.is-home {
    top: 0;
    margin-bottom: 0;
  }
}
.l-contents__inner {
  background: #fff;
  margin: 0 auto 2em;
  padding: 0 0 3em 0;
  overflow: hidden;
  position: relative;
}
.l-contents__inner::before {
  position: absolute;
  content: '';
  width: 100%;
  height: 6px;
  top: 0;
  left: 0;
  background: linear-gradient(-90deg, #5203e4, #03c9e6);
}
.l-contents__inner.is-dashboard::before {
  background: linear-gradient(-90deg, #006ce3, #00ecbc);
}
.l-contents__inner.is-ideabox::before {
  background: linear-gradient(-90deg, #ed5c6f, #ffdc00);
}
.l-contents__inner.is-news::before {
  background: linear-gradient(-90deg, #274046, #d5cfcf);
}
.l-contents__inner.is-other::before {
  background: linear-gradient(-90deg, #274046, #d5cfcf);
}

.l-btn {
  margin: 0 auto 150px;
  width: 100%;
}
@media screen and (max-width: 959px) {
  .l-btn {
    margin-bottom: 50px;
  }
}
@media screen and (max-width: 599px) {
  .l-btn {
    margin-bottom: 30px;
  }
}

.l-page-ttl {
  background: #f1f1f1;
}

.l-main {
  float: right;
  width: 76%;
}
.l-main--news {
  float: left;
}
@media screen and (max-width: 959px) {
  .l-main {
    float: none;
    width: 100%;
  }
}

.l-row {
  margin: 0 auto;
  width: 80%;
}
.l-row--lg {
  width: 90%;
}
.l-row--md {
  width: 60%;
}
@media screen and (max-width: 959px) {
  .l-row {
    float: none;
    width: 90%;
  }
}

.l-side {
  float: left;
  width: 20%;
}
.l-side--news {
  float: right;
}
@media screen and (max-width: 959px) {
  .l-side {
    float: none;
    width: 100%;
  }
}

.c-row {
  display: flex;
  justify-content: center;
}
.c-row--md {
  padding: 0 5vw;
}
@media screen and (max-width: 599px) {
  .c-row {
    flex-wrap: wrap;
    margin: 0;
  }
  .c-row--md {
    padding: 0;
  }
}

.c-col {
  box-sizing: border-box;
  width: 100%;
  margin-left: 3%;
}
@media screen and (max-width: 599px) {
  .c-col {
    margin: 0;
  }
}
@media screen and (max-width: 599px) {
  .c-col.is-pb-sp {
    padding-bottom: 3em;
  }
}

.c-row-2column {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.c-row-2column li {
  width: 49%;
}
@media screen and (max-width: 959px) {
  .c-row-2column {
    display: block;
  }
  .c-row-2column li {
    width: 100%;
  }
  .c-row-2column li :first-child {
    margin-bottom: 2em;
  }
}

input[type="submit"], input[type="text"] {
  -webkit-appearance: none;
  appearance: none;
  border: none;
  cursor: pointer;
  font-size: inherit;
  border-radius: 0;
}

input[type="text"], input[type="email"], input[type="password"], textarea {
  border: 1px solid #ccc;
  box-sizing: border-box;
  border-radius: 0;
  font-size: 108%;
  padding: .5em;
  outline: none;
  -webkit-transition: all .3s;
  transition: all .3s;
}
@media screen and (max-width: 599px) {
  input[type="text"], input[type="email"], input[type="password"], textarea {
    font-size: 124%;
  }
}

.select-wrap {
  -moz-appearance: none;
  background: url(../../img/icon_select_arrow.png) no-repeat right 10px center;
  background-size: 7px 4px;
  border: 1px solid #ccc;
  border-radius: 0;
  padding: .2em;
  position: relative;
}

select {
  outline: none;
  text-overflow: '';
  background: none transparent;
  vertical-align: middle;
  font-size: inherit;
  color: inherit;
  -webkit-appearance: button;
  appearance: button;
  -webkit-appearance: none;
  appearance: none;
  padding: .2em 1em .2em .2em;
  border: none;
  width: 100%;
}
@media screen and (max-width: 599px) {
  select {
    font-size: 124%;
  }
}

select::-ms-expand {
  display: none;
}

select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #828c9a;
}

textarea {
  width: 100%;
}

.form-radio input[type="radio"] {
  display: none;
}
.form-radio input[type="radio"]:checked + label::before {
  background: #fff;
  border: 1px solid #ccc;
}
.form-radio input[type="radio"]:checked + label::after {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1);
}

.form-radio label {
  position: relative;
  display: inline-block;
  padding: 3px 3px 3px 20px;
  cursor: pointer;
}
.form-radio label::before, .form-radio label::after {
  position: absolute;
  content: '';
  top: 50%;
  border-radius: 100%;
  -webkit-transition: all .2s;
  transition: all .2s;
}
.form-radio label::before {
  left: 0;
  width: 14px;
  height: 14px;
  margin-top: -8px;
  background: #f3f3f3;
  border: 1px solid #ccc;
}
.form-radio label:hover::before {
  background: #fff;
}
.form-radio label::after {
  opacity: 0;
  left: 3px;
  width: 8px;
  height: 8px;
  margin-top: -5px;
  background: #006ce3;
  -webkit-transform: scale(2);
  transform: scale(2);
}

.form-check input[type="checkbox"] {
  display: none;
}
.form-check input[type="checkbox"]:checked + label::before {
  background: #fff;
  border: 1px solid #ccc;
}
.form-check input[type="checkbox"]:checked + label::after {
  opacity: 1;
  -webkit-transform: rotate(-45deg) scale(1);
  transform: rotate(-45deg) scale(1);
}

.form-check label {
  position: relative;
  display: inline-block;
  line-height: 1.55;
  padding: 3px 3px 3px 25px;
  cursor: pointer;
  -webkit-transition: all .2s;
  transition: all .2s;
}
.form-check label::before, .form-check label::after {
  position: absolute;
  content: '';
  -webkit-transition: all .2s;
  transition: all .2s;
}
.form-check label::before {
  top: 1em;
  left: 0;
  width: 18px;
  height: 18px;
  margin-top: -8px;
  background: #f4f4f4;
  border: 1px solid #ccc;
  border-radius: 3px;
}
.form-check label::after {
  opacity: 0;
  top: 1.05em;
  left: 4px;
  width: 10px;
  height: 6px;
  margin-top: -4px;
  border-left: 2px solid #006ce3;
  border-bottom: 2px solid #006ce3;
  -webkit-transform: rotate(-45deg) scale(0.5);
  transform: rotate(-45deg) scale(0.5);
}
.form-check label:hover::before {
  background: #fff;
}

.f-tag li {
  display: inline-block;
  font-size: 14px;
  line-height: 1.5em;
  margin: 4px 4px 4px 0;
}
.f-tag li input {
  display: none;
}
.f-tag li label {
  color: #333;
  display: inline-block;
  position: relative;
  cursor: pointer;
  padding: .3em .8em;
  background: #fff;
  border-radius: 35px;
  border: 1px solid #ccc;
}
.f-tag li label:hover {
  background: #CCC;
}
.f-tag li label.is-active {
  background: #333;
  border: 1px solid #333;
  color: #fff;
}
.f-tag li input[type="checkbox"]:checked + label {
  background: #333;
  border: 1px solid #333;
  color: #fff;
}

.form-group {
  margin: 0;
  word-break: break-all;
}
.form-group .fg-list {
  display: table;
  border-bottom: 1px solid #ebebeb;
  line-height: 1.4;
  width: 100%;
}
.form-group .fg-list.is-first {
  border-top: 1px solid #ccc;
}
.form-group .fg-list.is-end {
  border: none;
}
.form-group .fg-list dt {
  background: #fff;
  display: table-cell;
  font-weight: 500;
  padding: 1em;
  vertical-align: top;
  width: 35%;
}
.form-group .fg-list dd {
  display: table-cell;
  padding: 1em 1.5em;
}
.form-group .fg-list.is-login {
  border: none;
}
.form-group .fg-list.is-login dt {
  padding: .5em;
}
.form-group .fg-list.is-login dd {
  padding: .5em;
}
@media screen and (max-width: 599px) {
  .form-group .fg-list {
    border: none;
  }
  .form-group .fg-list dt {
    background: #f8f8f8;
    display: block;
    width: auto;
  }
  .form-group .fg-list dd {
    display: block;
    padding: 1em;
  }
  .form-group .fg-list.is-login dt {
    background: none;
    padding: .5em 0;
  }
  .form-group .fg-list.is-login dd {
    padding: .5em 0;
  }
}
.form-group .w-xs {
  width: 5em;
}
@media screen and (max-width: 599px) {
  .form-group .w-xs {
    width: 100%;
  }
}
.form-group .w-sm {
  width: 8em;
}
@media screen and (max-width: 599px) {
  .form-group .w-sm {
    width: 100%;
  }
}
.form-group .w-md {
  width: 20em;
}
@media screen and (max-width: 599px) {
  .form-group .w-md {
    width: 100%;
  }
}
.form-group .w-lg {
  width: 100%;
}
.form-group .error {
  display: inline-block;
  padding: .3em 0 0;
  color: #ea2e40;
}
.form-group .fg-label {
  background: #ea2e40;
  border-radius: 2px;
  color: white;
  display: inline-block;
  font-weight: normal;
  font-size: 85%;
  letter-spacing: .1em;
  padding: 0.15em 0.5em;
  margin: 0 .5em;
  float: right;
}

.submit-area {
  text-align: center;
}
.submit-area li {
  display: inline-block;
}
.submit-area li:first-of-type {
  margin: 0 1em 0 0;
}
@media screen and (max-width: 599px) {
  .submit-area li {
    display: block;
  }
  .submit-area li:first-of-type {
    margin: 0 0 1em 0;
  }
}

input.i-calendar {
  background: url(../../img/icon_calendar.png) no-repeat 3px;
  background-size: 20px;
  padding: .5em .5em .5em 26px;
}

.c-sec {
  padding: 2em 0;
}
.c-sec.is-line {
  border-top: 1px solid #e5e5e5;
}
.c-sec-md {
  padding: 0 0 3em;
}
.c-sec-sm {
  padding-bottom: 2em;
}
.c-sec-xs {
  padding: 0 0 1em;
}
@media screen and (max-width: 599px) {
  .c-sec {
    padding: 1em 0;
  }
  .c-sec-md {
    padding: 0 0 1em;
  }
}

#questionnaire {
  display: none;
}

.modaal-container {
  border-radius: 1em;
  max-width: 800px;
  height: 80vh;
}
@media screen and (max-width: 599px) {
  .modaal-container {
    height: 70vh;
  }
}

@media screen and (max-width: 599px) {
  .modaal-content-container {
    padding: 30px 20px;
  }
}

.modaal-close:after,
.modaal-close:before {
  background: #ccc;
}

.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before {
  background: #666;
}

.qsa-inner {
  height: 72vh;
  overflow-y: scroll;
}
@media screen and (max-width: 599px) {
  .qsa-inner {
    height: 64vh;
  }
}

.qsa-ttl {
  border-bottom: 2px solid #ccc;
  font-size: 139%;
  font-weight: bold;
  padding: 0 0 .75em;
  margin-bottom: 1em;
  text-align: center;
}
@media screen and (max-width: 599px) {
  .qsa-ttl {
    font-size: 116%;
  }
}

.qsa-list {
  display: flex;
  justify-content: space-between;
  padding: 1em;
  border-bottom: 1px solid #ebebeb;
}
.qsa-list dt {
  width: 35%;
  display: flex;
  justify-content: space-between;
}
.qsa-list dt .__l {
  font-weight: 500;
  width: calc(100% - 60px);
}
.qsa-list dt .__r {
  width: 60px;
}
.qsa-list dd {
  width: calc(100% - 40%);
}
@media screen and (max-width: 959px) {
  .qsa-list {
    flex-direction: column;
  }
  .qsa-list dt, .qsa-list dd {
    width: 100%;
  }
}

.qsa-c-list li {
  padding: .25em 0;
}
@media screen and (max-width: 599px) {
  .qsa-c-list li {
    padding: .5em 0;
  }
}

.qsa-c-list__2col {
  display: flex;
  column-gap: .5em;
  flex-wrap: wrap;
}
.qsa-c-list__2col li {
  padding-bottom: .25em;
  width: calc(50% - 1em);
}
@media screen and (max-width: 599px) {
  .qsa-c-list__2col {
    flex-direction: column;
    gap: 1em 0;
  }
  .qsa-c-list__2col li {
    width: 100%;
  }
}

.p-home-subnav {
  text-align: center;
  position: relative;
  z-index: 2;
  padding: 0 1em;
}

a.qsa-btn {
  background: rgba(255, 255, 255, 0.35);
  border-radius: 2em;
  color: #fff;
  display: inline-block;
  font-size: 116%;
  line-height: 1.55;
  padding: 1em 2em;
  margin-top: 1em;
}
@media screen and (max-width: 599px) {
  a.qsa-btn {
    border-radius: .75em;
    font-size: 108%;
    padding: .65em 0;
    width: 100%;
  }
}

.modaal-close {
  right: 7px;
}

a.c-btn, .c-btn {
  box-sizing: border-box;
  box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.18);
  color: #333;
  cursor: pointer;
  display: inline-block;
  letter-spacing: .1em;
  text-decoration: none;
  text-align: center;
  transition: all .3s ease 0s;
}

.c-btn-default {
  border: 1px solid #ccc;
  background: #f7f7f7;
  color: #333;
}
.c-btn-default:hover, .c-btn-default:focus, .c-btn-default:active {
  color: #fff;
  background: #999;
  border-color: #999;
}

.c-btn-white {
  border: 1px solid #fff;
  background: none;
  color: #fff;
}
.c-btn-white:link, .c-btn-white:visited {
  color: #fff;
}
.c-btn-white:hover, .c-btn-white:focus {
  color: #006ce3;
  background: #fff;
  border-color: #fff;
}

.c-btn-gray {
  border: 1px solid #ccc;
  background: #f1f1f1;
  color: #333;
}
.c-btn-gray:link, .c-btn-gray:visited {
  color: #fff;
}
.c-btn-gray:hover, .c-btn-gray:focus {
  color: #333;
  background: #d9d9d9;
}

a.c-btn-solid, .c-btn-solid {
  border: 1px solid #006ce3;
  background: #006ce3;
  color: #fff;
}
a.c-btn-solid:hover, a.c-btn-solid:focus, a.c-btn-solid:active, .c-btn-solid:hover, .c-btn-solid:focus, .c-btn-solid:active {
  background: #0054b0;
  border-color: #0054b0;
}
a.c-btn-solid:visited, .c-btn-solid:visited {
  color: #fff;
}

.c-btn-sm {
  padding: .5em 1em;
}
@media screen and (max-width: 599px) {
  .c-btn-sm {
    padding: .5em 1em;
    width: 100%;
  }
}

.c-btn-md {
  padding: .5em 5em;
}
@media screen and (max-width: 599px) {
  .c-btn-md {
    padding: .5em 1em;
    width: 100%;
  }
}

.c-btn-lg {
  font-size: 124%;
  margin: 0 auto;
  padding: 1em;
  width: 200px;
}
@media screen and (max-width: 599px) {
  .c-btn-lg {
    padding: 1em;
    width: 100%;
  }
}

.c-btn-xl {
  box-sizing: border-box;
  font-size: 124%;
  margin: 0 auto;
  padding: 1em;
  width: 100%;
}
@media screen and (max-width: 599px) {
  .c-btn-xl {
    padding: .5em 1em;
    width: 100%;
  }
}

.p-header-inner {
  content: "";
  display: block;
  clear: both;
  max-width: 1200px;
  min-width: 960px;
  width: 97%;
  margin: 0 auto;
}
@media screen and (max-width: 1179px) {
  .p-header-inner {
    border-bottom: 1px solid #ccc;
    min-width: inherit;
    max-width: inherit;
    width: 100%;
  }
}

@media screen and (max-width: 1179px) {
  .p-global {
    box-sizing: border-box;
    top: -1770px;
    background: #000;
    width: 100%;
    text-align: center;
    padding: 0 10px 10px;
    -webkit-transition: .5s ease-in-out;
    -moz-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
    z-index: 999;
    position: fixed;
    height: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
  }
  .p-global ul {
    list-style: none;
    position: static;
    right: 0;
    bottom: 0;
  }
  .p-global li {
    position: static;
  }

  .is-open .p-nav-toggle span:nth-child(1) {
    top: 11px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .is-open .p-nav-toggle span:nth-child(2) {
    width: 0;
    left: 50%;
  }
  .is-open .p-nav-toggle span:nth-child(3) {
    top: 11px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  .is-open .p-global {
    -webkit-transform: translateY(1850px);
    -moz-transform: translateY(1850px);
    transform: translateY(1850px);
  }
}
.p-global__nav {
  background: #fff;
  display: block;
  float: right;
  margin: 0;
  width: auto;
}
@media screen and (max-width: 1179px) {
  .p-global__nav {
    background: none;
    width: 100%;
    float: none;
    padding: 0 0 3em;
  }
}
.p-global__nav > li {
  display: inline-block;
  float: left;
  margin: 0 1em 0 0;
}
@media screen and (max-width: 1179px) {
  .p-global__nav > li {
    float: none;
    width: 100%;
  }
}
.p-global__nav > li > a {
  background: #fff;
  box-sizing: border-box;
  display: block;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  height: 100px;
  transition: all 0.3s ease 0s;
  position: relative;
  z-index: 999;
  padding: 2.5em 0 0;
}
.p-global__nav > li > a span {
  padding: .5em;
  transition: all .3s;
}
.p-global__nav > li > a:hover span, .p-global__nav > li > a.is-active span {
  background: #000;
  color: #fff;
}
@media screen and (max-width: 1179px) {
  .p-global__nav > li > a {
    background: none;
    border-left: none;
    border-top: 1px solid #333;
    color: #fff;
    height: auto;
    width: 100%;
    text-align: left;
    padding: 2em 1em;
    position: relative;
  }
  .p-global__nav > li > a:after {
    position: absolute;
    content: '';
    width: 10px;
    height: 10px;
    right: 1em;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
  }
  .p-global__nav > li > a:hover {
    background: none;
  }
}
.p-global__nav li:hover ul {
  display: inline;
  animation-duration: .35s;
  animation-name: slidedown;
  animation-iteration-count: 1;
}
.p-global__nav li li {
  float: none;
}
.p-global__nav li li a {
  display: inline-block;
  color: #fff;
}
.p-global__nav li ul {
  display: none;
}
@media screen and (max-width: 1179px) {
  .p-global__nav li ul {
    display: block;
    text-align: left;
  }
}
.p-global__nav .p-dropdown {
  position: relative;
}
@media screen and (max-width: 1179px) {
  .p-global__nav .p-dropdown {
    position: inherit;
    margin-bottom: 1em;
  }
}
.p-global__nav .p-dropdown ul {
  position: absolute;
  left: 0;
  top: 100%;
  background: #000;
  padding: 0;
  z-index: -1;
}
@media screen and (max-width: 1179px) {
  .p-global__nav .p-dropdown ul {
    background: none;
    position: inherit;
  }
}
.p-global__nav .p-dropdown li {
  border-bottom: 1px solid #222;
  white-space: nowrap;
}
@media screen and (max-width: 1179px) {
  .p-global__nav .p-dropdown li {
    border: none;
  }
}
.p-global__nav .p-dropdown li a {
  display: block;
  font-size: 93%;
  padding: 1em 2em 1em 3em;
  position: relative;
}
.p-global__nav .p-dropdown li a:hover {
  background: #333;
}
.p-global__nav .p-dropdown li a:before {
  content: '';
  margin: auto;
  position: absolute;
  top: 45%;
  left: 1.5em;
  width: 6px;
  height: 6px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
}
@media screen and (max-width: 1179px) {
  .p-global__nav .p-dropdown li a {
    padding: 1em 1em .5em 3em;
  }
  .p-global__nav .p-dropdown li a:hover {
    background: inherit;
  }
  .p-global__nav .p-dropdown li a:before {
    top: 53%;
  }
}

.p-global__nav > li > a.no-arrow:after {
  display: none;
}

@keyframes slidedown {
  0% {
    opacity: 0;
    transform: translateY(-200px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@media screen and (max-width: 1179px) {
  .p-mobile-head {
    background: #fff;
    width: 100%;
    height: 80px;
    z-index: 9999;
    position: relative;
  }

  .p-nav-toggle {
    display: block;
    position: absolute;
    left: 1em;
    top: 49%;
    width: 34px;
    height: 36px;
    cursor: pointer;
    z-index: 101;
  }
  .p-nav-toggle div {
    position: relative;
  }
  .p-nav-toggle span {
    display: block;
    position: absolute;
    height: 2px;
    width: 100%;
    background: #666;
    left: 0;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
  }
  .p-nav-toggle span:nth-child(1) {
    top: 0;
  }
  .p-nav-toggle span:nth-child(2) {
    top: 10px;
  }
  .p-nav-toggle span:nth-child(3) {
    top: 20px;
  }
}
.p-side-count {
  background: linear-gradient(-90deg, #5203e4, #03c9e6);
  color: #fff;
  padding: 2em 1em;
  position: relative;
}
.p-side-count::after {
  position: absolute;
  content: '';
  width: 10px;
  height: 10px;
  right: -10px;
  top: 20%;
  border-top: 10px solid transparent;
  border-left: 10px solid #5203e4;
  border-bottom: 10px solid transparent;
}
.p-side-count.is-dashboard {
  background: linear-gradient(-90deg, #006ce3, #00ecbc);
}
.p-side-count.is-dashboard::after {
  border-left: 10px solid #006ce3;
}
.p-side-count.is-ideabox {
  background: linear-gradient(-90deg, #ed5c6f, #ffdc00);
}
.p-side-count.is-ideabox::after {
  border-left: 10px solid #ffdc00;
}
@media screen and (max-width: 959px) {
  .p-side-count {
    background: linear-gradient(0deg, #03c9e6, #5203e4);
    margin: 2em 0 0;
    padding: 1em;
  }
  .p-side-count::after {
    top: -20px;
    left: 5%;
    right: auto;
    border-left: 10px solid transparent;
    border-bottom: 10px solid #5203e4;
    border-right: 10px solid transparent;
  }
  .p-side-count.is-dashboard {
    background: linear-gradient(0deg, #00ecbc, #006ce3);
  }
  .p-side-count.is-dashboard::after {
    border-left: 10px solid transparent;
    border-bottom: 10px solid #006ce3;
    border-right: 10px solid transparent;
  }
}
.p-side-count dt {
  padding: 0 0 .5em;
  line-height: 1.4;
}
.p-side-count dd {
  font-family: "Roboto", sans-serif;
  font-size: 216%;
  letter-spacing: .03em;
}

.p-accordion-list dt {
  background: #f5f5f5;
  cursor: pointer;
  padding: 1em 1em 1em .7em;
  border-bottom: 1px solid #e0e0e0;
  line-height: 1.3;
  position: relative;
  overflow: hidden;
}
.p-accordion-list li a {
  background: #e6e6e6;
  color: #333;
  display: block;
  font-size: 93%;
  line-height: 1.5;
  padding: .8em 1.6em .8em 1.2em;
  border-bottom: 1px solid #cfcfcf;
  text-decoration: none;
  position: relative;
}
.p-accordion-list li a:hover {
  background: #e0e0e0;
}
.p-accordion-list li a:hover::after {
  position: absolute;
  content: '';
  width: calc(38px / 2 );
  height: calc(38px / 2 );
  background: url(../../img/icon_plus.png) no-repeat;
  background-size: cover;
  top: 28%;
  right: .5em;
}
.p-accordion-list li a.is-active {
  background: #bfbfbf;
}
.p-accordion-list li a.is-active::after {
  position: absolute;
  content: '';
  width: calc(38px / 2 );
  height: calc(38px / 2 );
  background: url(../../img/icon_del.png) no-repeat;
  background-size: cover;
  top: 28%;
  right: .5em;
}

.p-accordion-txt {
  float: left;
  width: calc(100% - 20px);
}

.p-accordion-icon {
  display: block;
  position: absolute;
  width: 30px;
  height: 30px;
  top: 15px;
  right: 0;
}
.p-accordion-icon span {
  position: absolute;
  left: 6px;
  width: 50%;
  height: 2px;
  background: #333;
  display: inline-block;
  box-sizing: border-box;
  transition: all .4s;
}
.p-accordion-icon span:nth-of-type(1) {
  display: none;
}
.p-accordion-icon span:nth-of-type(2) {
  top: 5px;
  transform: rotate(180deg);
}
.p-accordion-icon.is-active span:nth-of-type(1) {
  display: block;
  top: 5px;
  transform: rotate(180deg);
}
.p-accordion-icon.is-active span:nth-of-type(2) {
  top: 5px;
  transform: rotate(90deg);
}

.p-side-resource a {
  background: #f5f5f5;
  border-bottom: 1px solid #e0e0e0;
  display: block;
  font-size: 93%;
  line-height: 1.4;
  padding: .7em 1em;
  text-decoration: none;
}
.p-side-resource a:hover {
  background: rgba(224, 224, 224, 0.5);
}
.p-side-resource a.is-active {
  background: #e0e0e0;
  color: #333;
  text-decoration: none;
}

.p-footer {
  box-sizing: border-box;
  overflow: hidden;
  margin: 0 auto;
  border-top: 1px solid #fff;
  padding: 5em 0;
  width: 100%;
}
@media screen and (max-width: 599px) {
  .p-footer {
    padding: 1.5em 0;
  }
}
.p-footer a {
  text-decoration: none;
}
.p-footer__inner {
  margin: 0 auto;
  max-width: 1200px;
  min-width: 960px;
  width: 94%;
}
.p-footer__inner::after {
  content: "";
  clear: both;
  display: block;
  visibility: hidden;
}
@media screen and (max-width: 959px) {
  .p-footer__inner {
    max-width: 90%;
    min-width: 90%;
  }
}
.p-footer__nav ul {
  overflow: hidden;
  margin: 0 0 3em;
}
@media screen and (max-width: 599px) {
  .p-footer__nav ul {
    margin: 0 0 1.5em;
  }
}
.p-footer__nav li {
  display: inline-block;
  margin-right: .4em;
  padding: 0 0 .5em;
}
.p-footer__nav li a {
  color: #000;
  background: #fff;
  border: 1px solid #000;
  display: inline-block;
  padding: 1em 2em;
  text-align: center;
  position: relative;
  transition: .3s;
  z-index: 1;
}
.p-footer__nav li a::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  content: '';
  background: #000;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform .3s;
}
.p-footer__nav li a:hover {
  color: #fff;
}
.p-footer__nav li a:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
  z-index: -1;
}
@media screen and (max-width: 599px) {
  .p-footer__nav li {
    display: block;
    margin: 0;
  }
  .p-footer__nav li a {
    display: block;
  }
}
.p-footer__subnav--l {
  float: left;
  width: 80%;
}
@media screen and (max-width: 959px) {
  .p-footer__subnav--l {
    float: none;
    width: 100%;
    padding: 0 0 1em;
  }
}
.p-footer__subnav--r {
  float: right;
  width: 20%;
}
.p-footer__subnav--r a, .p-footer__subnav--r span {
  display: block;
  float: right;
  width: 168px;
}
@media screen and (max-width: 959px) {
  .p-footer__subnav--r {
    float: none;
    width: 100%;
  }
  .p-footer__subnav--r a {
    float: none;
  }
}
.p-footer__subnav ul {
  display: block;
  width: 100%;
  position: relative;
  font-size: 116%;
}
.p-footer__subnav ul:before {
  position: absolute;
  background: #bebebe;
  content: '';
  width: 1px;
  height: 1em;
  left: -1.2em;
  top: 23%;
}
@media screen and (max-width: 959px) {
  .p-footer__subnav ul {
    font-size: 108%;
    width: 100%;
    border-top: 1px solid #999;
  }
  .p-footer__subnav ul:before {
    display: none;
  }
}
.p-footer__subnav ul li {
  display: inline-block;
}
.p-footer__subnav ul li a {
  color: #333;
  display: inline-block;
  margin: 0 1.5em 0 0;
  padding: 0 .3em;
  transition: all .3s;
}
.p-footer__subnav ul li a:hover {
  background: #000;
  color: #fff;
}
@media screen and (max-width: 959px) {
  .p-footer__subnav ul li {
    display: block;
  }
  .p-footer__subnav ul li a {
    padding: 1em 0;
    margin: 0;
    display: block;
    border-bottom: 1px solid #ddd;
  }
  .p-footer__subnav ul li a:hover {
    background: none;
    color: inherit;
  }
}
.p-footer__subnav dl {
  overflow: hidden;
  margin-bottom: 1em;
}
.p-footer__subnav dt {
  color: #999;
  float: left;
  width: 10em;
}
.p-footer__subnav dd {
  margin-left: 12em;
}
@media screen and (max-width: 959px) {
  .p-footer__subnav dl {
    margin-bottom: 2em;
  }
  .p-footer__subnav dt {
    font-weight: 500;
    float: none;
    width: auto;
    padding: 0 0 .7em;
  }
  .p-footer__subnav dd {
    margin: 0;
  }
}
.p-footer__copy {
  background: #999;
  color: #fff;
  font-size: 77%;
  letter-spacing: .1em;
  padding: 1em;
}
.p-footer__copy--l {
  display: block;
  float: left;
  width: 50%;
}
.p-footer__copy--l li {
  display: inline-block;
}
.p-footer__copy--l li a {
  color: #fff;
  display: block;
  margin: 0 1em 0 0;
  padding: 0 .3em;
  text-decoration: none;
  transition: all .3s;
}
.p-footer__copy--l li a:hover {
  background: #000;
  color: #fff;
}
.p-footer__copy--r {
  float: right;
  text-align: right;
  width: 50%;
}
@media screen and (max-width: 599px) {
  .p-footer__copy--l, .p-footer__copy--r {
    float: none;
    width: 100%;
  }
  .p-footer__copy--r {
    text-align: left;
  }
}

#p-mainvisual-bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: block;
  z-index: 0;
}

.p-mainvisual {
  position: relative;
}
.p-mainvisual::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.35);
}

.p-home-logo {
  padding: 100px 0 70px;
  position: relative;
}
@media screen and (max-width: 1179px) {
  .p-home-logo {
    padding: 50px 0;
  }
}

.p-home-logo__typo {
  text-align: center;
  margin: 0 auto;
  padding: 16px 0 30px;
  width: 205px;
}
.p-home-logo__typo.is-type2 {
  width: 140px;
}

.p-home-logo__mark {
  margin: 0 auto;
  position: relative;
  height: 178px;
  width: 178px;
}
.p-home-logo__mark.is-type2 {
  height: 120px;
  width: 120px;
}
.p-home-logo__mark span {
  position: absolute;
}
.p-home-logo__mark span:nth-of-type(1) {
  -webkit-animation: spin1 80s linear infinite;
  animation: spin1 80s linear infinite;
}
.p-home-logo__mark span:nth-of-type(2) {
  -webkit-animation: spin2 90s linear infinite;
  animation: spin2 90s linear infinite;
}
.p-home-logo__mark span:nth-of-type(3) {
  -webkit-animation: spin3 70s linear infinite;
  animation: spin3 70s linear infinite;
}
.p-home-logo__mark span:nth-of-type(4) {
  -webkit-animation: spin4 150s linear infinite;
  animation: spin4 150s linear infinite;
}
@media screen and (max-width: 599px) {
  .p-home-logo__mark {
    height: 89px;
    width: 89px;
  }
}

@media all and (-ms-high-contrast: none) {
  .p-home-logo__mark span img {
    width: 120px;
  }
}
@keyframes spin1 {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes spin2 {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(-360deg);
  }
}
@keyframes spin3 {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes spin4 {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(-360deg);
  }
}
.p-home-logo__region {
  text-align: center;
  margin: 0 auto;
}
.p-home-logo__region__wrap {
  color: #fff;
  font-size: 170%;
  font-weight: 500;
  display: inline-block;
  height: 45px;
  letter-spacing: .2em;
  padding: 0em 1.5em;
  position: relative;
}

.p-region-txt {
  display: inline-block;
  padding-top: .4em;
}
.p-region-txt.is-type2 {
  font-size: 170%;
  line-height: 1.6;
}
@media screen and (max-width: 959px) {
  .p-region-txt.is-type2 {
    font-size: 124%;
  }
}
@media screen and (max-width: 599px) {
  .p-region-txt.is-type2 {
    font-size: 85%;
    letter-spacing: .05em;
  }
}

.p-corner {
  position: absolute;
}
.p-corner.p-c-1 {
  left: 0;
  top: 0;
  border-left: 1px solid #fff;
  border-top: 1px solid #fff;
  width: 8px;
  height: 14px;
}
.p-corner.p-c-2 {
  left: 0;
  bottom: 0;
  border-left: 1px solid #fff;
  border-bottom: 1px solid #fff;
  width: 8px;
  height: 14px;
}
.p-corner.p-c-3 {
  right: 0;
  top: 0;
  border-right: 1px solid #fff;
  border-top: 1px solid #fff;
  width: 8px;
  height: 14px;
}
.p-corner.p-c-4 {
  right: 0;
  bottom: 0;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  width: 8px;
  height: 14px;
}

.p-logo {
  float: left;
  padding: 24px 20px 0 0;
  margin: 0;
}
@media screen and (max-width: 1179px) {
  .p-logo {
    float: none;
    margin: 0 auto;
    padding: 34px 0 0;
    width: 140px;
  }
}
.p-logo a {
  display: inline-block;
  float: left;
  width: 200px;
}
@media screen and (max-width: 1179px) {
  .p-logo a {
    width: 140px;
  }
}
.p-logo .p-logo-region {
  font-size: 93%;
  font-weight: normal;
  float: left;
  display: inline-block;
  height: 45px;
  letter-spacing: .2em;
  padding: 0em 1.5em;
  margin-left: 1em;
  margin-top: .3em;
  vertical-align: middle;
  position: relative;
}
@media screen and (max-width: 1179px) {
  .p-logo .p-logo-region {
    display: none;
  }
}
.p-logo .p-region-txt {
  display: inline-block;
  padding-top: .8em;
}
.p-logo .p-corner {
  position: absolute;
}
.p-logo .p-corner.p-c-1 {
  left: 0;
  top: 0;
  border-left: 1px solid #000;
  border-top: 1px solid #000;
  width: 8px;
  height: 14px;
}
.p-logo .p-corner.p-c-2 {
  left: 0;
  bottom: 0;
  border-left: 1px solid #000;
  border-bottom: 1px solid #000;
  width: 8px;
  height: 14px;
}
.p-logo .p-corner.p-c-3 {
  right: 0;
  top: 0;
  border-right: 1px solid #000;
  border-top: 1px solid #000;
  width: 8px;
  height: 14px;
}
.p-logo .p-corner.p-c-4 {
  right: 0;
  bottom: 0;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  width: 8px;
  height: 14px;
}
@media screen and (max-width: 1179px) {
  .p-logo.is-type2 a {
    margin-top: .5em;
    width: 140px;
  }
}
@media screen and (max-width: 1179px) {
  .p-logo.is-type2 a {
    margin: 0;
  }
}
@media screen and (max-width: 1179px) {
  .p-logo.is-type2 .p-logo-region {
    font-size: 77%;
    height: 38px;
    padding: 0 1em;
  }
}
.p-logo.is-type2 .p-region-txt {
  line-height: 1.2;
  padding-top: .5em;
}

.p-head-region {
  display: none;
}
@media screen and (max-width: 1179px) {
  .p-head-region {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background: #4d4d4d;
    color: #fff;
    padding: 0;
    text-align: center;
    font-size: 77%;
    letter-spacing: .2em;
    text-indent: .2em;
    width: 100%;
  }
}

.p-topicpath {
  font-size: 93%;
  margin: 0;
  overflow: hidden;
  padding: .8em 1em .8em 0;
  position: relative;
  letter-spacing: .05em;
}
.p-topicpath li {
  float: left;
  padding: 0 .5em;
}
.p-topicpath a {
  margin-right: 1em;
  position: relative;
}
.p-topicpath a::after {
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  right: -1.4em;
  top: 30%;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  transform: rotate(45deg);
}

@media screen and (min-width: 600px) {
  .p-pagetop {
    position: fixed;
    z-index: 100;
    right: 30px;
    bottom: 30px;
    display: none;
  }
  .p-pagetop a {
    display: block;
    position: relative;
    width: 50px;
    height: 50px;
    background: #006ce3;
    border-radius: 50%;
    text-indent: -9999px;
    overflow: hidden;
    opacity: 0.8;
  }
  .p-pagetop a:hover {
    background: #333;
  }
  .p-pagetop a::before {
    content: "";
    margin: auto;
    position: absolute;
    top: 5px;
    bottom: 0;
    left: 0;
    right: 0;
    width: 11px;
    height: 11px;
    border-top: 3px solid #FFF;
    border-right: 3px solid #FFF;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
}
@media screen and (max-width: 599px) {
  .p-pagetop {
    margin-top: 20px;
  }
  .p-pagetop a {
    display: block;
    background: #006ce3;
    color: #fff;
    padding: 1.8em 0;
    position: relative;
    text-align: center;
    text-decoration: none;
  }
  .p-pagetop a::before {
    content: "";
    margin: auto;
    position: absolute;
    top: 5px;
    bottom: 0;
    left: 0;
    right: 0;
    width: 11px;
    height: 11px;
    border-top: 3px solid #FFF;
    border-right: 3px solid #FFF;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
}
.p-post-pager {
  overflow: hidden;
  padding: 3em 0;
  width: 100%;
}
.p-post-pager li {
  display: block;
  font-size: 108%;
  width: 33%;
  letter-spacing: .1em;
}
.p-post-pager_back {
  float: left;
  text-align: left;
  position: relative;
  padding: 0 0 0 1.5em;
}
.p-post-pager_back::before {
  position: absolute;
  content: "";
  border-left: 2px solid #006ce3;
  border-bottom: 2px solid #006ce3;
  width: 7px;
  height: 7px;
  left: .5em;
  top: 39%;
  transform: rotate(45deg);
}
.p-post-pager_center {
  float: left;
  text-align: center;
}
.p-post-pager_next {
  float: right;
  text-align: right;
  position: relative;
  padding: 0 1.5em 0 0;
}
.p-post-pager_next::after {
  position: absolute;
  content: "";
  border-right: 2px solid #006ce3;
  border-bottom: 2px solid #006ce3;
  width: 7px;
  height: 7px;
  right: .5em;
  top: 39%;
  transform: rotate(-45deg);
}
.p-post-pager a {
  text-decoration: none;
}
.p-post-pager a:hover {
  opacity: .5;
}

.p-pager {
  padding: 5em;
}
.p-pager ul {
  position: relative;
  left: 50%;
  float: left;
}
.p-pager li {
  margin: 0 .3em .3em;
  position: relative;
  left: -50%;
  float: left;
}
.p-pager li span, .p-pager li a {
  display: block;
  padding: 1.4em;
  border-radius: 50px;
  line-height: .65;
}
.p-pager li.is-active span {
  background: #006ce3;
  color: #fff;
}
.p-pager li.is-prev a, .p-pager li.is-prev span, .p-pager li.is-next a, .p-pager li.is-next span {
  background: #ededed;
  text-indent: -9999px;
  overflow: hidden;
  position: relative;
  padding: 1.4em 1.7em;
}
.p-pager li.is-prev a::before, .p-pager li.is-prev span::before, .p-pager li.is-next a::before, .p-pager li.is-next span::before {
  position: absolute;
  content: '';
  width: 10px;
  height: 10px;
  top: 38%;
  left: 40%;
  border-top: 2px solid #333;
  border-left: 2px solid #333;
  transform: rotate(-45deg);
}
.p-pager li.is-next a::before, .p-pager li.is-next span::before {
  transform: rotate(135deg);
}
.p-pager li.is-prev a:hover, .p-pager li.is-next a:hover {
  background: #333;
}
.p-pager li.is-prev a:hover::before, .p-pager li.is-next a:hover::before {
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
}
.p-pager a {
  background: #EEE;
  color: #000;
  text-decoration: none;
}
.p-pager a:hover {
  background: #333;
  color: #FFF;
}

.p-pagenation {
  display: flex;
  justify-content: space-between;
  padding: 2em 2em 3em;
}
.p-pagenation > li {
  height: 3em;
  width: 15%;
}
.p-pagenation > li:nth-of-type(1) {
  display: flex;
}
.p-pagenation > li:nth-of-type(1) .__none, .p-pagenation > li:nth-of-type(1) .__link {
  position: relative;
  line-height: 1;
}
.p-pagenation > li:nth-of-type(1) .__none::before, .p-pagenation > li:nth-of-type(1) .__link::before {
  position: absolute;
  content: '';
  height: 40px;
  width: 40px;
  left: -.5em;
  top: 0;
  background: #f1f1f1;
  border-radius: 3em;
  z-index: 1;
}
.p-pagenation > li:nth-of-type(1) .__none::after, .p-pagenation > li:nth-of-type(1) .__link::after {
  content: '';
  position: absolute;
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
  height: 9px;
  width: 9px;
  left: 10px;
  top: 15px;
  z-index: 10;
  color: #ccc;
  transform: rotate(-45deg);
}
.p-pagenation > li:nth-of-type(1) .__link::before {
  background: #333;
}
.p-pagenation > li:nth-of-type(1) .__link::after {
  border-color: #fff;
}
.p-pagenation > li:nth-of-type(1) .__link:hover::before {
  background: #006ce3;
}
.p-pagenation > li:nth-of-type(2) {
  width: 70%;
  display: flex;
  justify-content: center;
}
.p-pagenation > li:nth-of-type(3) {
  display: flex;
  flex-direction: row-reverse;
}
.p-pagenation > li:nth-of-type(3) .__none, .p-pagenation > li:nth-of-type(3) .__link {
  position: relative;
  line-height: 1;
}
.p-pagenation > li:nth-of-type(3) .__none::before, .p-pagenation > li:nth-of-type(3) .__link::before {
  position: absolute;
  content: '';
  height: 40px;
  width: 40px;
  right: -.5em;
  top: 0;
  background: #fff;
  border-radius: 3em;
  z-index: 1;
}
.p-pagenation > li:nth-of-type(3) .__none::after, .p-pagenation > li:nth-of-type(3) .__link::after {
  content: '';
  position: absolute;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  height: 9px;
  width: 9px;
  right: 10px;
  top: 15px;
  z-index: 10;
  color: #ccc;
  transform: rotate(45deg);
}
.p-pagenation > li:nth-of-type(3) .__link::before {
  background: #333;
}
.p-pagenation > li:nth-of-type(3) .__link::after {
  color: #fff;
}
.p-pagenation > li:nth-of-type(3) .__link:hover::before {
  background: #006ce3;
}
.p-pagenation__number {
  display: flex;
  align-items: center;
}
.p-pagenation__number dt {
  padding: 0 1em 0 0;
}
.p-pagenation__number .__input {
  margin-right: 2em;
  position: relative;
}
.p-pagenation__number .__input input {
  padding: .5em;
  margin: 0;
}
.p-pagenation__number .__input::after {
  content: '/';
  position: absolute;
  right: -1em;
  top: 50%;
  transform: translateY(-50%);
}
.p-pagenation__number .__all {
  font-weight: bold;
  font-size: 124%;
}
@media screen and (max-width: 599px) {
  .p-pagenation {
    padding: 0 0 3em;
  }
  .p-pagenation__number dt {
    display: none;
  }
}

.p-card {
  box-sizing: border-box;
  display: flex;
  overflow: hidden;
  position: relative;
  transition: all 0.3s ease-out;
  text-decoration: none;
  padding: .5em .5em 1.5em;
}
.p-card dl {
  text-align: center;
  margin: 84px auto 0;
  z-index: 100;
  transition: color 0.3s ease-out;
  display: inline-block;
}
.p-card dl dt {
  font-family: "Roboto", sans-serif;
  font-size: 154%;
  padding: 0 0 .2em;
}
.p-card dl dt .p-count-sm {
  font-size: 70%;
}
.p-card dl dt .p-count-fw-no {
  font-size: 70%;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
  font-weight: normal;
  padding: 0 .25em;
}
.p-card dl dd {
  font-size: 93%;
  line-height: 1.2;
}
.p-card .p-circle {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: #fff;
  position: absolute;
  left: 50%;
  top: 1.5em;
  transform: translateX(-50%);
  z-index: 1;
  transition: all 0.3s ease-out;
}
.p-card .p-circle::before {
  position: absolute;
  content: '';
  width: 31px;
  height: 31px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: url(../../img/icon_all.svg) no-repeat;
  background-size: calc( 713 / 31 * 100% );
}
.p-card .p-circle.icon-g-01::before {
  background-position: 0 0;
}
.p-card .p-circle.icon-g-02::before {
  background-position: -31px 0;
}
.p-card .p-circle.icon-g-03::before {
  background-position: -62px 0;
}
.p-card .p-circle.icon-g-04::before {
  background-position: -93px 0;
}
.p-card .p-circle.icon-g-05::before {
  background-position: -124px 0;
}
.p-card .p-circle.icon-g-06::before {
  background-position: -155px 0;
}
.p-card .p-circle.icon-g-07::before {
  background-position: -186px 0;
}
.p-card .p-circle.icon-g-08::before {
  background-position: -217px 0;
}
.p-card .p-circle.icon-g-09::before {
  background-position: -248px 0;
}
.p-card .p-circle.icon-g-10::before {
  background-position: -279px 0;
}
.p-card .p-circle.icon-g-11::before {
  background-position: -310px 0;
}
.p-card .p-circle.icon-g-12::before {
  background-position: -341px 0;
}
.p-card .p-circle.icon-g-13::before {
  background-position: -372px 0;
}
.p-card .p-circle.icon-g-14::before {
  background-position: -403px 0;
}
.p-card .p-circle.icon-g-15::before {
  background-position: -434px 0;
}
.p-card .p-circle.icon-g-16::before {
  background-position: -465px 0;
}
.p-card .p-circle.icon-g-17::before {
  background-position: -496px 0;
}
.p-card .p-circle.icon-g-18::before {
  background-position: -527px 0;
}
.p-card .p-circle.icon-g-19::before {
  background-position: -558px 0;
}
.p-card .p-circle.icon-g-20::before {
  background-position: -589px 0;
}
.p-card .p-circle.icon-g-21::before {
  background-position: -620px 0;
}
.p-card .p-circle.icon-g-22::before {
  background-position: -651px 0;
}
.p-card .p-circle.icon-g-23::before {
  background-position: -682px 0;
}
.p-card .p-overlay {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  position: absolute;
  background: #f1f1f1;
  left: 50%;
  top: 1.6em;
  transform: translateX(-50%);
  z-index: 0;
  transition: transform 0.3s ease-out;
}

.p-card--lg .p-circle {
  width: 100px;
  height: 100px;
  border-radius: 50%;
}
.p-card--lg .p-circle::before {
  width: 55px;
  height: 55px;
  background: url(../../img/icon_g1.png) no-repeat;
  background-size: cover;
}
.p-card--lg .p-circle--dataset::before {
  background-image: url(../../img/icon_dataset.png);
}
.p-card--lg .p-circle--resource::before {
  background-image: url(../../img/icon_resource.png);
}
.p-card--lg .p-circle--tag::before {
  background-image: url(../../img/icon_tag.png);
}
.p-card--lg .p-circle--soshiki::before {
  background-image: url(../../img/icon_soshiki.png);
}
.p-card--lg .p-circle--group::before {
  background-image: url(../../img/icon_group.png);
}
.p-card--lg .p-overlay {
  width: 96px;
  height: 96px;
}
.p-card--lg dl {
  margin: 130px auto 0;
}
.p-card--lg dl dt {
  font-size: 231%;
  padding: 0 0 .3em;
}
@media screen and (max-width: 599px) {
  .p-card--lg dl dt {
    font-size: 170%;
  }
}
.p-card--lg dl dd {
  font-size: 100%;
}

a.p-card {
  color: #333;
  text-decoration: none;
}

.p-card:hover .p-overlay,
.p-card--lg:hover .p-overlay {
  transform: scale(6) translateZ(0);
}

.p-card-wrap {
  background-color: #fff;
  margin-bottom: 1em;
  transition: box-shadow 0.2s ease, transform 0.2s ease, z-index 0s 0.2s ease;
}
@media screen and (max-width: 599px) {
  .p-card-wrap {
    transition: none;
  }
}
.p-card-wrap:hover {
  z-index: 1;
  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.1);
  transform: scale(1.05);
  transition: box-shadow 0.2s ease, transform 0.2s ease, z-index 0s 0s ease;
}
@media screen and (max-width: 599px) {
  .p-card-wrap:hover {
    box-shadow: none;
    transform: none;
    transition: none;
  }
}

.p-card-image {
  min-height: 100px;
}
.p-card-image img {
  width: 100%;
  max-width: 100%;
  display: block;
}

.p-card-content {
  position: relative;
  padding: 1em;
  text-align: left;
  line-height: 1.3;
}
.p-card-content h2 {
  color: #000;
  font-size: 116%;
  font-weight: 500;
  padding: 0 0 1em;
}
@media screen and (max-width: 599px) {
  .p-card-content {
    padding: 1em 0 0;
  }
}

.p-card-soshiki {
  color: #333;
  display: inline-block;
  font-size: 85%;
  padding: .2em .5em;
  border: 1px solid #333;
  margin-bottom: .6em;
}

.p-card-tag {
  padding: 0 0 .8em;
}

.p-card-date {
  color: #333;
  font-size: 77%;
  letter-spacing: .05em;
}

.p-form-flow {
  display: flex;
  justify-content: space-between;
  width: 440px;
  margin: 0 auto 3em auto;
  border-bottom: 1px solid #CCC;
}
@media screen and (max-width: 599px) {
  .p-form-flow {
    width: auto;
    margin: 0 2.5em 2em 2.5em;
  }
}
.p-form-flow li {
  position: relative;
  padding-bottom: 22px;
  color: #ccc;
  font-size: 116%;
  font-weight: 400;
  text-align: center;
  letter-spacing: .1em;
}
.p-form-flow li:first-child {
  left: -9px;
}
.p-form-flow li:last-child {
  right: -9px;
}
.p-form-flow li::before {
  content: "";
  margin: auto;
  position: absolute;
  bottom: -8px;
  left: 0;
  right: 0;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: #006ce3;
  box-sizing: border-box;
}
.p-form-flow li.is-active {
  color: #333;
}
.p-form-flow li.is-active::after {
  content: "";
  margin: auto;
  position: absolute;
  bottom: -15px;
  left: 0;
  right: 0;
  width: 29px;
  height: 29px;
  border-radius: 50%;
  background: #FFF;
  box-sizing: border-box;
  border: 7px solid #006ce3;
}

.p-circle-list {
  padding: 0;
}
.p-circle-list li {
  line-height: 1.4;
  padding: 0 0 .8em 1.4em;
  position: relative;
}
.p-circle-list li::before {
  background: #006ce3;
  border-radius: 6px;
  bottom: 0;
  content: "";
  height: 5px;
  left: 0;
  position: absolute;
  top: 30%;
  width: 5px;
}
.p-circle-list li:last-child {
  padding-bottom: 0;
}
.p-circle-list.is-orange li {
  color: #e65920;
}
.p-circle-list.is-orange li::before {
  background: #ebebeb;
}
.p-circle-list--sm {
  font-size: 85%;
}
.p-circle-list--sm li {
  line-height: 1.3;
  padding: 0 0 .2em 1em;
}

.p-number-list {
  counter-reset: my-counter;
  list-style: none;
  padding: 1em 0 0 .5em;
}
@media screen and (max-width: 599px) {
  .p-number-list {
    padding: 1em 0 0 1em;
  }
}
.p-number-list li {
  margin-bottom: 1em;
  padding-left: 1em;
  position: relative;
}
.p-number-list li:last-child {
  margin: 0;
}
.p-number-list li:before {
  background-color: #999;
  border-radius: 50%;
  content: counter(my-counter);
  counter-increment: my-counter;
  color: #fff;
  display: block;
  float: left;
  font-size: 77%;
  line-height: 1.55;
  margin-left: -24px;
  text-align: center;
  height: 20px;
  width: 20px;
  top: 16%;
  position: absolute;
}

.p-label-box {
  position: relative;
  margin: 40px 0 0;
  padding: 3em;
  border: 1px solid #7acbce;
}
@media screen and (max-width: 599px) {
  .p-label-box {
    padding: 1.5em 1em;
  }
}
.p-label-box-title {
  background: #7acbce;
  box-sizing: border-box;
  color: #fff;
  display: inline-block;
  left: -1px;
  padding: .5em 2em 0;
  height: 40px;
  line-height: 25px;
  position: absolute;
  top: -40px;
  vertical-align: middle;
}

.p-newsline {
  display: block;
  margin: 0;
}
.p-newsline a {
  color: #333;
  background: #fafafa;
  display: block;
  line-height: 1.4;
  padding: 1em 2.5em 1em 1em;
  margin-bottom: 2px;
  position: relative;
  text-decoration: none;
}
.p-newsline a::after {
  position: absolute;
  content: '';
  width: 6px;
  height: 6px;
  right: 1.3em;
  top: 40%;
  border-top: 2px solid #333;
  border-right: 2px solid #333;
  transform: rotate(45deg);
  transition: all .2s;
}
.p-newsline a dl {
  overflow: hidden;
}
.p-newsline a dt {
  float: left;
  letter-spacing: .04em;
  width: 9em;
}
.p-newsline a dd {
  margin-left: 10em;
}
.p-newsline a:hover {
  background: #f7f7f7;
}
.p-newsline a:hover::after {
  right: 1em;
}
@media screen and (max-width: 599px) {
  .p-newsline a dt {
    color: #b3b3b3;
    float: none;
    width: auto;
    padding: 0 0 .5em;
  }
  .p-newsline a dd {
    margin: 0;
  }
}

.p-update-info {
  display: flex;
  justify-content: space-between;
  padding: 1em 0;
}
.p-update-info a {
  text-decoration: none;
}
.p-update-info a:hover dd {
  text-decoration: underline;
}
.p-update-info__l {
  width: 90%;
  display: flex;
  background: #f7f7f7;
  padding: 1em 0;
}
.p-update-info__r {
  width: 10%;
  display: block;
  padding: 1em 1.5em;
  background: #ccc;
  color: #fff;
  text-align: center;
}
.p-update-info__r:hover {
  background: #333;
  color: #fff;
  text-decoration: none;
}
.p-update-info-link {
  text-decoration: none;
}
.p-update-info-link dl {
  display: flex;
  padding: 0 1em;
}
.p-update-info-link dt {
  color: #999;
  letter-spacing: .1em;
  padding-right: 2em;
  width: 13em;
}
.p-update-info-link dd {
  color: #333;
}
.p-update-info-link:hover {
  background: #f7f7f7;
  text-decoration: none;
}
.p-update-info-link:hover::after {
  right: 1em;
}
@media screen and (max-width: 959px) {
  .p-update-info {
    padding: 0 0 1em;
    display: block;
  }
  .p-update-info__l {
    width: 100%;
    background: none;
    display: block;
  }
  .p-update-info__r {
    padding: .35em 0;
    width: 100%;
  }
  .p-update-info-link dl {
    display: inherit;
    padding: 0;
  }
  .p-update-info h2 {
    font-size: 124%;
    padding: 0 0 .5em 0;
  }
  .p-update-info h2::after {
    display: none;
  }
}

a.p-update-info__r {
  color: #fff;
  transition: all .3s;
}

.p-iframe-contents {
  background: url(../img/icon_loader.gif) center center no-repeat;
  line-height: 1;
}

.p-page-ttl {
  position: relative;
}
.p-page-ttl .is-jp {
  position: absolute;
  z-index: 2;
  font-size: 124%;
  font-weight: 500;
  letter-spacing: .1em;
  padding-top: .5em;
}
.p-page-ttl .is-en {
  position: absolute;
  color: #f7f7f7;
  top: .15em;
  left: 0;
  z-index: 1;
  font-size: 500%;
  font-family: "Montserrat", sans-serif;
  letter-spacing: .05em;
}
.p-page-ttl .is-en__pl {
  padding-left: .3em;
}
@media screen and (max-width: 1179px) {
  .p-page-ttl .is-en {
    font-size: 385%;
  }
}
@media screen and (max-width: 959px) {
  .p-page-ttl {
    padding: 1.5em 0;
  }
  .p-page-ttl .is-jp {
    top: 0;
  }
  .p-page-ttl .is-en {
    font-size: 450%;
  }
}

.p-sec-ttl {
  font-size: 154%;
  font-weight: 500;
  letter-spacing: .1em;
  padding: 0 0 1em;
}
@media screen and (max-width: 599px) {
  .p-sec-ttl {
    font-size: 124%;
  }
}

.p-ttl0 {
  font-size: 200%;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .1em;
  padding: 0 0 .5em;
}
@media screen and (max-width: 599px) {
  .p-ttl0 {
    font-size: 139%;
  }
}

.p-ttl1 {
  font-size: 154%;
  font-weight: 500;
  background: #f5f5f5;
  padding: .8em;
  margin-bottom: 1.5em;
}
@media screen and (max-width: 599px) {
  .p-ttl1 {
    font-size: 139%;
  }
}

.p-ttl2 {
  font-size: 124%;
  font-weight: 500;
  padding: 1em 0;
}

.p-ttl3 {
  font-size: 170%;
  font-weight: 500;
  line-height: 1.45;
  padding: 1em 0;
  margin-bottom: 3em;
}
@media screen and (max-width: 599px) {
  .p-ttl3 {
    font-size: 139%;
    margin-bottom: 1.5em;
  }
}

.p-ttl4 {
  font-size: 170%;
  font-weight: 500;
}
@media screen and (max-width: 599px) {
  .p-ttl4 {
    font-size: 139%;
    margin-bottom: 1.5em;
  }
}

.p-ttl5 {
  font-size: 124%;
  font-weight: 500;
  padding: 0 0 .5em;
}

.p-side-ttl {
  font-family: "Roboto", sans-serif;
  font-size: 154%;
  letter-spacing: .1em;
  padding: 0 0 .5em;
}

.p-ttl6 {
  font-size: 154%;
  font-weight: 500;
  padding-bottom: .6em;
}
@media screen and (max-width: 599px) {
  .p-ttl6 {
    font-size: 124%;
  }
}

.p-ttl-ds {
  background: #f5f5f5;
  font-weight: 500;
  position: relative;
  padding: 1em 1em 1em 75px;
}
.p-ttl-ds::before {
  position: absolute;
  content: '';
  width: 55px;
  height: 55px;
  background: url(../../img/icon_dataset.png) no-repeat;
  left: 10px;
  top: 1em;
  background-size: cover;
}
.p-ttl-ds span {
  display: block;
}
.p-ttl-ds__code {
  color: #b2b2b2;
  font-size: 85%;
}
.p-ttl-ds__name {
  font-size: 154%;
}
.p-ttl-ds__name--sm {
  font-size: 124%;
}
@media screen and (max-width: 599px) {
  .p-ttl-ds {
    padding: 1em 1em 1em 60px;
  }
  .p-ttl-ds::before {
    width: 40px;
    height: 40px;
  }
  .p-ttl-ds span {
    line-height: 1.6;
  }
  .p-ttl-ds__name--sm {
    font-size: 108%;
  }
}

.p-ttl-re {
  border-bottom: 1px solid #e4e4e4;
  font-weight: 500;
  position: relative;
  padding: 0 1em 1em 68px;
  margin: 0 0 2em;
}
.p-ttl-re::before {
  position: absolute;
  content: '';
  width: 48px;
  height: 53px;
  background: url(../../img/icon_resource.png) no-repeat;
  left: 5px;
  top: 0;
  background-size: cover;
}
.p-ttl-re span {
  display: block;
}
.p-ttl-re__code {
  color: #b2b2b2;
  font-size: 85%;
}
.p-ttl-re__name {
  font-size: 154%;
}

.p-home-nav {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.p-home-nav li {
  width: 24%;
}
@media screen and (max-width: 1179px) {
  .p-home-nav {
    padding: 0 1em;
  }
  .p-home-nav li {
    width: 49%;
    margin-bottom: .5em;
  }
}
@media screen and (max-width: 599px) {
  .p-home-nav li {
    width: 100%;
    margin-bottom: .35em;
  }
}
.p-home-nav a {
  color: #000;
  display: block;
  font-size: 116%;
  font-weight: 500;
  padding: 1em 2em;
  text-align: center;
  position: relative;
  transition: .3s;
  z-index: 1;
  background: #fff;
  text-decoration: none;
  letter-spacing: .05em;
}
.p-home-nav a::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  content: '';
  background: #000;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform .3s;
}
.p-home-nav a:hover {
  color: #fff;
}
.p-home-nav a:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
  z-index: -1;
}

.p-group-list {
  display: flex;
  flex-wrap: wrap;
  margin-right: -1%;
}
.p-group-list li {
  width: 13.2872%;
  margin: 0 .999% 1% 0;
  background: #ebebeb;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
  border-radius: 6px;
}
@media screen and (max-width: 959px) {
  .p-group-list li {
    width: 18.999%;
  }
}
@media screen and (max-width: 599px) {
  .p-group-list li {
    width: 32.3333%;
  }
}

.p-total-list {
  display: flex;
  flex-wrap: wrap;
  margin-right: -1%;
}
.p-total-list li {
  background: #ebebeb;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
  border-radius: 6px;
  box-sizing: border-box;
  width: 24%;
  margin: 0 1% 1% 0;
}
@media screen and (max-width: 599px) {
  .p-total-list li {
    width: 49%;
  }
  .p-total-list li:nth-of-type(1) dd {
    font-size: 77%;
  }
}

a.p-dataset-all, .p-dataset-all {
  background: #ebebeb;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
  border-radius: 6px;
  box-sizing: border-box;
  display: block;
  text-decoration: none;
}
a.p-dataset-all:hover, .p-dataset-all:hover {
  background: #f1f1f1;
}

.p-da-inner {
  padding: 1.5em 2.5em;
  color: #333;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-da-inner dt {
  background: url(../../img/icon_download.svg) no-repeat;
  width: 45px;
  height: 45px;
  padding-right: 2em;
  margin-right: 1.5em;
}
.p-da-inner dd {
  font-size: 154%;
}
.p-da-inner .link {
  color: #3498db;
  padding: 0 .15em;
}
@media screen and (max-width: 599px) {
  .p-da-inner dd {
    font-size: 116%;
  }
}

.p-ranking {
  overflow: hidden;
}
.p-ranking li {
  display: inline-block;
  margin: 0;
  vertical-align: text-top;
}
.p-ranking li:nth-of-type(1) {
  width: 30%;
  margin-right: 4%;
}
.p-ranking li:nth-of-type(2) {
  width: 65%;
}
@media screen and (max-width: 959px) {
  .p-ranking li {
    display: block;
  }
  .p-ranking li:nth-of-type(1), .p-ranking li:nth-of-type(2) {
    width: 100%;
  }
  .p-ranking li:nth-of-type(1) {
    margin: 0;
  }
  .p-ranking li:nth-of-type(2) {
    margin: 1.5em 0 0;
  }
}

.p-ranking-list dt {
  border-bottom: 1px solid #e5e5e5;
  font-size: 116%;
  font-weight: 500;
  padding: 0 0 .8em;
}
.p-ranking-list dd {
  border-bottom: 1px solid #e5e5e5;
}
.p-ranking-list dd a {
  color: #333;
  display: block;
  line-height: 1.4;
  padding: 1em 1em 1em 2.8em;
  text-decoration: none;
  position: relative;
}
.p-ranking-list dd a::before {
  content: '';
  position: absolute;
  width: 24px;
  height: 24px;
  top: 30%;
  left: 5px;
  color: #fff;
  background: pink;
}
.p-ranking-list dd a::after {
  position: absolute;
  width: 24px;
  height: 24px;
  color: #fff;
  top: 34%;
  left: 14px;
  font-size: 93%;
}
.p-ranking-list dd a:hover {
  background: #f9f9f9;
}
.p-ranking-list dd:nth-of-type(1) a::before {
  background: #bd9e20;
}
.p-ranking-list dd:nth-of-type(1) a::after {
  content: '1';
}
.p-ranking-list dd:nth-of-type(2) a::before {
  background: #848484;
}
.p-ranking-list dd:nth-of-type(2) a::after {
  content: '2';
}
.p-ranking-list dd:nth-of-type(3) a::before {
  background: #b66116;
}
.p-ranking-list dd:nth-of-type(3) a::after {
  content: '3';
}

.p-card-flow {
  margin-bottom: 1em;
  padding: 0;
  margin-right: -2%;
}
@media screen and (max-width: 599px) {
  .p-card-flow {
    margin-right: auto;
  }
}
.p-card-flow li {
  box-sizing: border-box;
  width: 23%;
  float: left;
  margin-right: 2%;
}
@media screen and (max-width: 959px) {
  .p-card-flow li {
    width: 31.3333%;
  }
}
@media screen and (max-width: 599px) {
  .p-card-flow li {
    float: none;
    margin-right: auto;
    width: 100%;
  }
}
.p-card-flow li a {
  text-decoration: none;
}

.p-card-list li {
  border-bottom: 1px solid #f1f1f1;
}
.p-card-list a {
  display: block;
  padding: 1em 0;
  text-decoration: none;
}
.p-card-list a:hover {
  background: #f9f9f9;
}
.p-card-list a:hover .p-card-item__thumb img {
  transform: scale(1.15, 1.15);
}

.p-card-item {
  display: flex;
  justify-content: space-between;
}
.p-card-item__thumb {
  width: 24%;
  overflow: hidden;
}
.p-card-item__thumb img {
  height: auto;
  width: 100%;
  transition: transform .25s ease;
}
.p-card-item__ttl {
  width: 74%;
}
.p-card-item__ttl .__main {
  font-size: 139%;
  padding-bottom: .65em;
  transition: transform ease;
}
.p-card-item__ttl .e-link {
  position: relative;
}
.p-card-item__ttl .e-link::after {
  position: absolute;
  content: '';
  background: url(../../img/icon_external_link.svg) no-repeat;
  background-size: cover;
  width: 1em;
  height: 1em;
  top: 5px;
  left: 0;
}
.p-card-item__ttl .__sub {
  color: #333;
}
@media screen and (max-width: 599px) {
  .p-card-item__thumb {
    width: 30%;
  }
  .p-card-item__ttl {
    width: 65%;
  }
  .p-card-item__ttl .__main {
    font-size: 124%;
  }
  .p-card-item__ttl .__sub {
    line-height: 1.5;
  }
}

.p-contents-bg {
  background: #e4e4e4 url(../../img/bg_dot.png);
  clear: both;
}

.p-page-head {
  border-bottom: 1px solid #d9d9d9;
  overflow: hidden;
  padding: 3em 0 2.5em;
  margin: 0 0 2.5em;
  height: 125px;
}
.p-page-head.is-catalog, .p-page-head.is-about {
  margin: 0;
}
.p-page-head.is-news {
  margin: 0 0 4em;
}
.p-page-head__l {
  float: left;
  width: 75%;
}
.p-page-head__r {
  float: right;
  width: 25%;
}
@media screen and (max-width: 959px) {
  .p-page-head {
    padding: 1.5em 0;
    margin: 0 0 1em;
    height: auto;
  }
  .p-page-head.is-news {
    margin: 0 0 2em;
  }
  .p-page-head__l, .p-page-head__r {
    float: none;
    width: 100%;
  }
}

.p-head-search {
  box-sizing: border-box;
  height: 50px;
  position: relative;
}
.p-head-search dt {
  border: 1px solid #000;
  width: 80%;
}
.p-head-search dt input {
  background: #fafafa;
  border: none;
  border-radius: 0;
  font-size: 100%;
  height: 48px;
  line-height: 2em;
  padding: 0 1em;
  margin: 0;
  width: 100%;
}
@media screen and (max-width: 959px) {
  .p-head-search dt input {
    font-size: 16px;
  }
}
.p-head-search dd {
  position: absolute;
  top: 0;
  right: 0;
  width: 20%;
}
.p-head-search dd button {
  background: #000;
  box-sizing: border-box;
  display: block;
  height: 50px;
  width: 100%;
  position: relative;
}
.p-head-search dd button::before {
  position: absolute;
  content: '';
  width: 20px;
  height: 20px;
  left: 50%;
  top: 50%;
  background: url(../../img/icon_search.png) no-repeat;
  background-size: cover;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 959px) {
  .p-head-search {
    display: none;
  }
}

a.p-head-more {
  color: #333;
  text-align: right;
  float: right;
  position: relative;
  padding: .5em 2em 0 0;
  text-decoration: none;
}
@media screen and (max-width: 959px) {
  a.p-head-more {
    float: none;
  }
}
a.p-head-more::before {
  position: absolute;
  content: '';
  width: 18px;
  height: 18px;
  right: 5px;
  top: 34%;
  background: #006ce3;
  border-radius: 50px;
}
a.p-head-more::after {
  position: absolute;
  content: '';
  width: 6px;
  height: 6px;
  right: 12px;
  top: 51%;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
}
a.p-head-more:hover::before {
  background: #333;
  transition: all .3s;
}

.p-lead {
  padding: 0 0 2em;
}

.p-more-btn {
  content: "";
  display: block;
  clear: both;
  padding: 3em 0;
  text-align: center;
}
@media screen and (max-width: 599px) {
  .p-more-btn {
    padding: 1em 0;
  }
}

.p-post-head {
  border-bottom: 1px solid #d9d9d9;
  margin-bottom: 2em;
}
.p-post-head ul {
  padding: 0 0 1.2em;
  letter-spacing: .1em;
}
.p-post-head ul li {
  display: inline-block;
}
.p-post-head ul li:first-of-type {
  padding-right: 2em;
  position: relative;
}
.p-post-head ul li:first-of-type:after {
  position: absolute;
  content: "";
  background: #d9d9d9;
  height: 1.4em;
  width: 1px;
  right: .9em;
  top: .3em;
}

.p-post-ttl {
  font-weight: 500;
  font-size: 185%;
  padding: 0 0 .5em;
}
@media screen and (max-width: 599px) {
  .p-post-ttl {
    font-size: 139%;
  }
}

.p-wysiwyg h1 {
  font-size: 154%;
  font-weight: 500;
  line-height: 1.5;
}
.p-wysiwyg h2 {
  border-left: 2px solid #ebebeb;
  font-size: 139%;
  font-weight: 500;
  margin: 3em 0 1.2em;
  padding: .5em 0 0.5em 1.2em;
}
.p-wysiwyg h3 {
  font-size: 124%;
  margin: 3em 0 1.2em;
}
.p-wysiwyg p {
  margin: 1.5em 0;
}
.p-wysiwyg ul {
  list-style: disc;
  margin: 1.5em 0;
  padding-left: 2em;
}
.p-wysiwyg ol {
  list-style: decimal;
  margin: 1.5em 0;
  padding-left: 2em;
}
.p-wysiwyg table {
  margin: 2em 0;
}
.p-wysiwyg table th, .p-wysiwyg table td {
  border: 1px solid #d9d9d9;
  padding: 1em;
}
.p-wysiwyg table th {
  background: #f1f1f1;
  text-align: center;
}

.p-post-files {
  border: 1px solid #ebebeb;
  padding: 2em;
}
@media screen and (max-width: 599px) {
  .p-post-files {
    padding: 1em;
  }
}
.p-post-files ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.p-post-files ul li {
  border-bottom: 1px dotted #d9d9d9;
}
.p-post-files ul li a {
  display: inline-block;
  padding: .5em .5em .5em 100px;
  text-indent: -100px;
}
.p-post-files ul li a span {
  display: inline-block;
  width: 85px;
  text-align: center;
  text-indent: 0;
  margin-right: 15px;
  line-height: 1.3;
}

.p-about-ttl {
  font-size: 154%;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (max-width: 599px) {
  .p-about-ttl {
    font-size: 139%;
  }
}

.p-about-lead {
  font-size: 124%;
  font-weight: 500;
}

.p-about dt {
  padding: 3em 20%;
  margin-bottom: 2em;
}
@media screen and (max-width: 599px) {
  .p-about dt {
    padding: 2em 20%;
  }
}
.p-about dd:nth-of-type(1) {
  font-size: 154%;
  font-weight: 500;
  letter-spacing: .1em;
  padding: 0 0 .8em;
}
.p-about a {
  transition: all .3s ease;
}
.p-about a:hover {
  opacity: .6;
}

.p-about-dashboard dt {
  background: linear-gradient(-90deg, #006ce3, #00ecbc);
}

.p-about-catalog dt {
  background: linear-gradient(-90deg, #5203e4, #03c9e6);
}

.p-about-idea dt {
  background: linear-gradient(-90deg, #ed5c6f, #ffdc00);
}

.p-catalog-search {
  background: url(../../img/bg_catalog.jpg);
  background-size: cover;
  padding: 3em 0;
}
.p-catalog-search__inner {
  margin: 0 auto;
  width: 70%;
}
@media screen and (max-width: 959px) {
  .p-catalog-search__inner {
    width: 90%;
  }
}
@media screen and (max-width: 599px) {
  .p-catalog-search {
    padding: 1.5em 0;
  }
}

.p-cs-wrap {
  box-shadow: 0 1px 10px 0 rgba(0, 0, 0, 0.18);
}

.p-cs-lead {
  font-size: 124%;
  font-weight: 500;
  padding: 0 0 1em;
}
@media screen and (max-width: 599px) {
  .p-cs-lead {
    font-size: 108%;
    line-height: 1.35;
  }
}

.p-cs-box {
  background: #fff;
  padding: 2em 4em;
}
.p-cs-box.is-line {
  border-top: 1px solid #e5e5e5;
}
@media screen and (max-width: 959px) {
  .p-cs-box {
    padding: 1em;
  }
}

.p-tag-list li {
  display: inline-block;
}
.p-tag-list a {
  border: 1px solid #ccc;
  border-radius: 35px;
  color: #333;
  display: inline-block;
  padding: .5em 1em;
  margin: 0 .3em .4em 0;
  text-decoration: none;
  transition: all .3s;
}
.p-tag-list a:hover {
  background: #333;
  border: 1px solid #333;
  color: #fff;
}

.p-count-set {
  border-bottom: 1px solid #e6e6e6;
  overflow: hidden;
  padding: 0 0 2em;
}
.p-count-set__l {
  float: left;
  width: 75%;
}
.p-count-set__l span {
  color: #006ce3;
  display: inline-block;
  font-size: 216%;
  font-family: "Roboto", sans-serif;
  padding: .2em .1em 0 0;
}
.p-count-set__r {
  float: right;
  width: 25%;
}
@media screen and (max-width: 959px) {
  .p-count-set__l {
    width: 50%;
  }
  .p-count-set__r {
    width: 40%;
  }
}

.p-dataset-list {
  margin: 0 0 2em;
}
.p-dataset-list li {
  border-bottom: 1px solid #e6e6e6;
}
.p-dataset-list li a {
  display: block;
  color: #333;
  text-decoration: none;
  position: relative;
  padding: 1em 1em 1em 75px;
}
.p-dataset-list li a::before {
  position: absolute;
  content: '';
  width: 55px;
  height: 55px;
  background: url(../../img/icon_dataset.png) no-repeat;
  left: 5px;
  top: 1em;
  background-size: cover;
}
.p-dataset-list li a.is-resource::before {
  background: url(../../img/icon_resource.png) no-repeat;
  background-size: cover;
}
.p-dataset-list li a:hover {
  background: #f9f9f9;
}
.p-dataset-list li a:hover dt {
  text-decoration: none;
}
@media screen and (max-width: 599px) {
  .p-dataset-list li a {
    padding: 1em 1em 1em 50px;
  }
  .p-dataset-list li a::before {
    width: 35px;
    height: 35px;
  }
}

.p-dataset-item dt {
  color: #3498db;
  font-size: 124%;
  padding: 0 0 .4em;
  text-decoration: underline;
}
.p-dataset-item dd:nth-of-type(1) {
  line-height: 1.4;
  padding: 0 0 .4em;
}

.p-label, a.p-label {
  border-radius: 50px;
  color: #fff;
  display: inline-block;
  font-size: 85%;
  letter-spacing: .1em;
  line-height: 1.6;
  padding: .1em 1em;
  margin: 0 .4em .2em 0;
}

.p-label--bk {
  color: #333;
}

a.p-label {
  color: #333;
  text-decoration: none;
}
a.p-label:hover {
  color: #fff;
  background: #888;
}

.p-dataset-wrap {
  border-right: 2px solid #f5f5f5;
  border-bottom: 2px solid #f5f5f5;
  border-left: 2px solid #f5f5f5;
  padding: 2em;
}
@media screen and (max-width: 599px) {
  .p-dataset-wrap {
    padding: 1em;
  }
}

.p-ds-explanation {
  border-bottom: 1px solid #ebebeb;
  padding: 0 0 2em;
  margin-bottom: 1em;
}

.p-ds-tag {
  border-bottom: 1px dashed #e5e5e5;
  padding: 0 0 1em;
  margin-bottom: 1em;
}

.p-count-btn-set {
  border-bottom: 1px dashed #e5e5e5;
  overflow: hidden;
  padding: 0 0 1em;
}
.p-count-btn-set__l {
  float: left;
  width: 50%;
}
.p-count-btn-set__l span {
  color: #006ce3;
  display: inline-block;
  font-size: 216%;
  font-family: "Roboto", sans-serif;
  padding: .2em .1em;
}
.p-count-btn-set__l dl {
  line-height: 1.4;
}
.p-count-btn-set__l dt {
  color: #b2b2b2;
  font-size: 85%;
}
.p-count-btn-set__r {
  float: right;
  width: 50%;
  text-align: right;
}
@media screen and (max-width: 599px) {
  .p-count-btn-set__l {
    float: none;
    width: 100%;
    padding: 0 0 1em;
  }
  .p-count-btn-set__r {
    float: none;
    width: 100%;
  }
}
.p-count-btn-set__btn li {
  float: right;
}
.p-count-btn-set__btn li:first-of-type {
  margin-left: .4em;
}
@media screen and (max-width: 599px) {
  .p-count-btn-set__btn li {
    float: none;
  }
  .p-count-btn-set__btn li:first-of-type {
    margin: 0 0 .8em;
  }
}

.p-cbs-under-txt {
  font-size: 93%;
  line-height: 1.35;
  padding: 1em 0;
}

.p-searchHit {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  border-bottom: 1px dashed #e5e5e5;
  padding: .5em 0 1em;
}
.p-searchHit__count {
  display: flex;
  align-items: center;
  width: auto;
}
.p-searchHit__search {
  width: 200px;
  position: relative;
  border-bottom: 1px solid #333;
  display: block;
}
.p-searchHit__button {
  width: calc(100% - 390px);
  display: flex;
  justify-content: flex-end;
}
.p-searchHit .__count {
  color: #006ce3;
  font-size: 216%;
  font-family: "Roboto", sans-serif;
  padding-right: .1em;
}
.p-searchHit input[type="text"] {
  width: 200px;
  border: none !important;
  height: 46px;
  padding: 10px 0;
  margin: 0;
}
.p-searchHit input[type="submit"] {
  position: absolute;
  bottom: 5px;
  right: 0;
  width: 2em;
  height: 2em;
  background: url(../../img/icon_search_b.png) no-repeat;
  background-size: 24px 24px;
  border: none;
  appearance: none;
  cursor: pointer;
}
@media screen and (max-width: 959px) {
  .p-searchHit {
    flex-direction: column;
    padding-top: 1em;
  }
  .p-searchHit__count, .p-searchHit__search, .p-searchHit__button {
    width: 100%;
  }
  .p-searchHit__search {
    margin-bottom: .85em;
  }
}

.p-tbl {
  width: 100%;
  background: #fff;
}

.p-tbl th, .p-tbl td {
  border: 1px solid #d9d9d9;
  line-height: 1.4;
  padding: .6em;
  word-break: break-all;
}

.p-tbl th {
  background: #f1f1f1;
}
.p-tbl th:nth-child(1) {
  width: 30%;
}

.p-tbl tr:nth-child(odd) {
  background: #f9f9f9;
}

.p-tbl th {
  text-align: left;
}

.p-label-set {
  font-size: 93%;
  padding: 0 0 .5em;
}
.p-label-set a {
  display: inline-block;
  padding: 0 1em 0 0;
}

.p-label-line {
  color: #999;
  background: #fff;
  border: 1px solid #ccc;
  letter-spacing: .1em;
  padding: .1em .5em;
  margin-right: .5em;
}

.p-preview {
  background: yellow;
  padding: 2em 0;
  text-align: center;
}
.p-preview p {
  color: #000;
  position: relative;
  margin: 0 auto;
  width: 340px;
}
.p-preview span {
  font-family: "Montserrat", sans-serif;
  font-size: 208%;
  letter-spacing: .2em;
  animation: flash 2s linear infinite;
}

@keyframes flash {
  0%,100% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
}
.p-region-select-wrap {
  margin: 0 0 2em;
}

.p-region-select__ttl {
  border: 1px solid #006ce3;
  cursor: pointer;
  padding: 1em 1em 1em 3em;
  position: relative;
}
.p-region-select__ttl::before {
  position: absolute;
  content: "";
  width: 20px;
  height: 20px;
  top: 32%;
  left: 14px;
  background: #006ce3;
  border-radius: 50px;
}
.p-region-select__ttl::after {
  content: "";
  margin: auto;
  position: absolute;
  top: 42%;
  left: 21px;
  width: 6px;
  height: 6px;
  border-right: 2px solid #FFF;
  border-bottom: 2px solid #FFF;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.p-region-select__ttl.is-active::after {
  transform: rotate(-135deg);
  top: 46%;
}
.p-region-select__ttl .__area {
  color: #006ce3;
  text-decoration: underline;
}
.p-region-select__ttl .__active {
  font-weight: 500;
  font-size: 116%;
  padding-left: 1.35em;
  margin-left: .6em;
  position: relative;
}
.p-region-select__ttl .__active::before {
  content: ':';
  position: absolute;
  top: 0;
  left: 0;
}

.p-region-select__detail {
  padding: 1.5em;
  background: #f5f5f5;
  border-left: 1px solid #006ce3;
  border-bottom: 1px solid #006ce3;
  border-right: 1px solid #006ce3;
}
@media screen and (max-width: 959px) {
  .p-region-select__detail {
    padding: 1em;
  }
}

.p-region-select {
  display: flex;
  padding-bottom: .5em;
  margin-bottom: .5em;
  border-bottom: 1px solid #ebebeb;
}
.p-region-select dt {
  width: 140px;
}
.p-region-select dt span {
  display: inline-block;
  line-height: 1;
  padding: .55em .8em;
  margin: 0;
}
.p-region-select dd {
  width: 100%;
  position: relative;
}
.p-region-select dd::before {
  content: '';
  position: absolute;
  width: 1px;
  height: 100%;
  top: 0;
  left: -1.5em;
  background: #ccc;
}
.p-region-select button {
  display: inline-block;
  cursor: pointer;
  padding: .55em .8em;
  background: #d9d9d9;
  border-radius: 6px;
  margin: 0;
}
.p-region-select button:hover {
  background: #ccc;
}
.p-region-select button.is-active {
  color: #fff;
  background: #333;
}
.p-region-select__list {
  display: flex;
  flex-wrap: wrap;
}
.p-region-select__list li {
  padding: 0 .5em .25em 0;
}

.p-region-select-close {
  text-align: center;
  padding-top: .65em;
}

.p-search-tbl {
  margin: 0 0 2em;
}
.p-search-tbl__btn {
  border: 1px solid #006ce3;
  cursor: pointer;
  padding: 1em 1em 1em 3em;
  position: relative;
}
.p-search-tbl__btn::before {
  position: absolute;
  content: "";
  width: 20px;
  height: 20px;
  top: 32%;
  left: 14px;
  background: #006ce3;
  border-radius: 50px;
}
.p-search-tbl__btn::after {
  content: "";
  margin: auto;
  position: absolute;
  top: 42%;
  left: 21px;
  width: 6px;
  height: 6px;
  border-right: 2px solid #FFF;
  border-bottom: 2px solid #FFF;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.p-search-tbl__detail {
  padding: 1.5em;
  background: #f5f5f5;
  border-left: 1px solid #006ce3;
  border-bottom: 1px solid #006ce3;
  border-right: 1px solid #006ce3;
}
@media screen and (max-width: 959px) {
  .p-search-tbl__detail {
    padding: 1em;
  }
}

.p-tbl-search {
  width: 100%;
}
.p-tbl-search th, .p-tbl-search td {
  padding: .5em;
}
.p-tbl-search th {
  width: 100px;
  vertical-align: top;
}
@media screen and (max-width: 959px) {
  .p-tbl-search th, .p-tbl-search td {
    width: 100%;
    display: block;
  }
}

.p-search-category li {
  display: inline-block;
}
.p-search-category li input {
  display: none;
}
.p-search-category li label {
  display: inline-block;
  cursor: pointer;
  padding: .3em .8em;
  background: #d9d9d9;
  border-radius: 6px;
  margin: 0 .3em .4em 0;
}
.p-search-category li label:hover {
  background: #ccc;
}
.p-search-category li label.is-active {
  color: #fff;
  background: #333;
}

.p-search-submit {
  border-top: 1px solid #ccc;
  text-align: center;
  margin: 1.5em 0 1em;
  padding: 1.5em 0 0;
}

.p-card-flow--3 {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 1em;
  padding: 0;
  margin-right: -2%;
  overflow: hidden;
}
.p-card-flow--3 li {
  box-sizing: border-box;
  width: 31.333%;
  float: left;
  margin-right: 2%;
  margin-bottom: 1em;
}
.p-card-flow--3 li a {
  text-decoration: none;
}
.p-card-flow--3 .p-card-content {
  border-bottom: 1px solid #ebebeb;
}
.p-card-flow--3 .p-card-content h2 {
  padding: .25em;
}
@media screen and (max-width: 959px) {
  .p-card-flow--3 li {
    width: 48%;
  }
  .p-card-flow--3 .p-card-content h2 {
    font-size: 108%;
    padding: 0 0 1em;
  }
}

.p-dashboard-ttl {
  font-size: 247%;
  padding-bottom: 1em;
}
@media screen and (max-width: 599px) {
  .p-dashboard-ttl {
    font-size: 162%;
    padding-bottom: .75em;
  }
}

.p-dashboard-head {
  padding: 0 0 3em;
}
.p-dashboard-head .p-date {
  padding: 0 0 1em;
}
@media screen and (max-width: 599px) {
  .p-dashboard-head {
    padding: 0 0 1em;
  }
}
.p-dashboard-head--2column {
  padding: 0 0 2em;
}

.p-dashboard-txt {
  font-size: 108%;
  line-height: 1.75;
  padding: 0 0 2em;
  text-align: justify;
}
.p-dashboard-txt--2column {
  font-size: 100%;
  padding-bottom: 3em;
}
@media screen and (max-width: 599px) {
  .p-dashboard-txt--2column {
    padding-bottom: 2em;
  }
}
@media screen and (max-width: 599px) {
  .p-dashboard-txt {
    font-size: 93%;
  }
}

.p-relation-link {
  border: 1px solid #e6e6e6;
  background: #fafafa;
  padding: 1.5em;
  width: 80%;
  margin: 0 auto 3em;
}
.p-relation-link dl {
  font-size: 93%;
  overflow: hidden;
}
.p-relation-link dt {
  float: left;
  font-weight: bold;
  margin-bottom: .5em;
  width: 8em;
}
.p-relation-link dd {
  margin: 0 0 .5em 10em;
  line-height: 1.4;
}
.p-relation-link--2column {
  width: 100%;
}
.p-relation-link--2column dt {
  width: 4em;
}
.p-relation-link--2column dd {
  margin-left: 5em;
}
@media screen and (max-width: 599px) {
  .p-relation-link--2column dt, .p-relation-link--2column dd {
    width: inherit;
    margin-left: inherit;
  }
}
@media screen and (max-width: 959px) {
  .p-relation-link {
    padding: .5em 1em;
    width: 100%;
  }
}
@media screen and (max-width: 599px) {
  .p-relation-link {
    border: none;
  }
  .p-relation-link dt {
    float: none;
    width: 100%;
  }
  .p-relation-link dd {
    margin: 0 0 1em;
  }
}

.p-range {
  display: flex;
}
.p-range--aic {
  align-items: center;
}
.p-range__txt {
  width: 7.5em;
}
.p-range__txt .__ttl, .p-range__txt .__subttl {
  display: block;
  font-weight: 500;
  color: #37679c;
  letter-spacing: .1em;
}
.p-range__txt .__subttl {
  font-size: 70%;
  line-height: 1.1;
}
.p-range__range {
  width: calc(100% - 8em);
}
.p-range .__unit {
  display: flex;
  justify-content: space-between;
  font-size: 85%;
  color: #b5b5b5;
}
.p-range input[type="range"] {
  -webkit-appearance: none;
  appearance: none;
  outline: none;
  /* outline: none を指定 */
  cursor: pointer;
  width: 100%;
  background: #d1dfef;
  height: 4px;
  border-radius: 4px;
}
.p-range input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  height: 20px;
  width: 20px;
  background-color: #006ce3;
  border-radius: 50%;
  border: 2px solid #fff;
}
.p-range input[type="range"]::-moz-range-thumb {
  border: none;
  height: 20px;
  width: 20px;
  background-color: #006ce3;
  border-radius: 50%;
  border: 2px solid #fff;
}
.p-range input[type="range"]::-webkit-slider-thumb:hover {
  box-shadow: 0 0 0 7px rgba(0, 108, 227, 0.1);
}
.p-range input[type="range"]:active::-webkit-slider-thumb {
  box-shadow: 0 0 0 10px rgba(0, 108, 227, 0.2);
}
.p-range input[type="range"]:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 10px rgba(0, 108, 227, 0.2);
}
.p-range input[type="range"]::-moz-range-thumb:hover {
  box-shadow: 0 0 0 7px rgba(0, 108, 227, 0.1);
}
.p-range input[type="range"]:active::-moz-range-thumb {
  box-shadow: 0 0 0 10px rgba(0, 108, 227, 0.2);
}
.p-range input[type="range"]:focus::-moz-range-thumb {
  box-shadow: 0 0 0 10px rgba(0, 108, 227, 0.2);
}

.pie-flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding-bottom: 6em;
}
.pie-flex_l {
  width: 40%;
}
.pie-flex_r {
  width: 55%;
}
.pie-flex ._population {
  display: flex;
  justify-content: flex-end;
  align-items: baseline;
  border-bottom: 3px solid #000;
  padding: .8em .5em .5em;
  margin-bottom: 1em;
}
.pie-flex ._population .txt {
  padding: 0 1em 0 0;
}
.pie-flex ._population .people {
  color: #991de2;
  font-size: 185%;
  font-weight: bold;
}
@media screen and (max-width: 599px) {
  .pie-flex {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    padding-bottom: 2em;
  }
  .pie-flex_l, .pie-flex_r {
    width: 100%;
  }
  .pie-flex ._population .people {
    font-size: 154%;
  }
}

.pie-ttl {
  font-size: 193%;
  padding-bottom: 1em;
}
@media screen and (max-width: 599px) {
  .pie-ttl {
    font-size: 139%;
  }
}

.pie-pd {
  padding: 0 2.5em;
}
@media screen and (max-width: 599px) {
  .pie-pd {
    padding: 0 3em 1em;
  }
}

.pie-year {
  color: #13A695;
}

.pie-date {
  font-size: 77%;
  padding: .35em 0 0;
}

.table > thead > tr > th, .table > thead > tr > td, .table > tbody > tr > th, .table > tbody > tr > td, .table > tfoot > tr > th, .table > tfoot > tr > td {
  padding: 8px;
  line-height: 1.428571429;
  vertical-align: top;
  border-top: 1px solid #ddd;
}

.table > caption + thead > tr:first-child > th, .table > caption + thead > tr:first-child > td, .table > colgroup + thead > tr:first-child > th, .table > colgroup + thead > tr:first-child > td, .table > thead:first-child > tr:first-child > th, .table > thead:first-child > tr:first-child > td {
  border-top: 0;
}

.table > thead > tr > th {
  vertical-align: bottom;
  border-bottom: 2px solid #ddd;
}

.table-striped > tbody > tr:nth-of-type(2n+1) {
  background-color: #f9f9f9;
}

.table-population td {
  width: 20%;
}

.p-pyramid-hanrei {
  display: flex;
}
.p-pyramid-hanrei li {
  font-size: 108%;
  font-weight: 500;
  text-align: center;
  width: 50%;
}

.p-banner-slider {
  position: relative;
  margin: 0 0 0 -5px;
  padding: .2em 0;
}
@media screen and (max-width: 599px) {
  .p-banner-slider {
    margin: 0;
  }
}
.p-banner-slider li {
  padding: 0 5px;
}
@media screen and (max-width: 599px) {
  .p-banner-slider li {
    padding: 0 1.5em;
  }
}
.p-banner-slider li a {
  outline: none;
  display: block;
  border: 1px solid #d9d9d9;
  box-sizing: border-box;
  width: 100%;
}
.p-banner-slider .slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  text-align: center;
}
.p-banner-slider .slick-slide {
  float: left;
  display: block;
  outline: none;
}
.p-banner-slider .slick-arrow {
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  width: 32px;
  height: 32px;
  z-index: 10;
  outline: none;
  cursor: pointer;
  border: none;
  background-color: rgba(0, 0, 0, 0.3);
  border-radius: 50%;
  text-indent: -9999px;
  overflow: hidden;
}
.p-banner-slider .slick-prev {
  left: -2.4em;
}
@media screen and (max-width: 599px) {
  .p-banner-slider .slick-prev {
    left: -.5em;
  }
}
.p-banner-slider .slick-prev::after {
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 14px;
  width: 6px;
  height: 6px;
  border-top: 2px solid #FFF;
  border-right: 2px solid #FFF;
  transform: rotate(-135deg);
}
.p-banner-slider .slick-next {
  right: -2.4em;
}
@media screen and (max-width: 599px) {
  .p-banner-slider .slick-next {
    right: -.5em;
  }
}
.p-banner-slider .slick-next::after {
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 14px;
  width: 6px;
  height: 6px;
  border-top: 2px solid #FFF;
  border-right: 2px solid #FFF;
  transform: rotate(45deg);
}

.p-banner-list {
  display: flex;
  margin-left: -1%;
  flex-wrap: wrap;
}
.p-banner-list li {
  width: 9%;
  margin: 0 0 .8em 1%;
  border: 1px solid #ebebeb;
  box-sizing: border-box;
}
.p-banner-list li a {
  transition: .25s ease;
}
.p-banner-list li a:hover {
  opacity: .7;
}
@media screen and (max-width: 599px) {
  .p-banner-list {
    margin-left: -2%;
  }
  .p-banner-list li {
    border: none;
    width: 14.55%;
    margin: 0 0 .5em 2%;
  }
}

.p-no-link {
  opacity: .3;
}

.p-modal {
  display: none;
  height: 100vh;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 9999;
}
.p-modal__bg {
  background: rgba(0, 0, 0, 0.8);
  height: 100vh;
  position: absolute;
  width: 100%;
}
.p-modal__content {
  background: #fff;
  border: 8px solid #eee;
  left: 50%;
  padding: 40px;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 500px;
}
.p-modal__ttl {
  font-size: 154%;
  text-align: center;
  padding-bottom: 1em;
}
@media screen and (max-width: 599px) {
  .p-modal__content {
    width: 90%;
  }
}

.p-case-sec {
  border-bottom: 1px solid #ccc;
  padding-bottom: 3em;
  margin-bottom: 3em;
}

.p-case-item {
  display: flex;
  justify-content: space-between;
}
.p-case-item__l {
  width: 30%;
}
.p-case-item__r {
  width: 65%;
}

.p-ci-ttl {
  font-size: 139%;
  padding-bottom: 1em;
}
@media screen and (max-width: 599px) {
  .p-ci-ttl {
    font-size: 124%;
  }
}

.p-ci-txt {
  font-size: 108%;
  line-height: 1.55;
  text-align: justify;
  padding-bottom: 2.5em;
}
@media screen and (max-width: 599px) {
  .p-ci-txt {
    font-size: 93%;
    padding-bottom: 2em;
  }
}

.p-ci-bnr {
  display: flex;
  margin-top: 1.5em;
}
.p-ci-bnr li {
  margin-right: .65em;
}
.p-ci-bnr li:first-child {
  width: 143px;
}
.p-ci-bnr li:last-child {
  width: 139px;
}

.p-ci-url {
  background: #f7f7f7;
  display: flex;
  padding: .5em 1em;
  margin: 1.5em 0 1em;
}
.p-ci-url dt {
  width: 3em;
}
.p-ci-url dd {
  width: calc(100% - 4em);
}
@media screen and (max-width: 599px) {
  .p-ci-url li {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
  }
}

.p-post h1 {
  font-size: 139%;
}
.p-post h2 {
  font-size: 131%;
}
.p-post h3 {
  font-size: 124%;
}
.p-post h4 {
  font-size: 116%;
}
.p-post h5 {
  font-size: 108%;
}
.p-post p {
  margin: 0 0 1.5em;
  text-align: justify;
}
.p-post ul {
  list-style: disc;
  margin: 1.5em 0;
  padding-left: 2em;
}
.p-post ol {
  list-style: decimal;
  margin: 1.5em 0;
  padding-left: 2em;
}
.p-post table {
  font-size: 85%;
  margin: 2em 0;
}
.p-post table th, .p-post table td {
  border: 1px solid #d9d9d9;
  padding: .5em 1em;
}
.p-post table th {
  background: #f1f1f1;
  font-weight: normal;
}

@media screen and (max-width: 599px) {
  .p-tbl-sp {
    overflow-x: auto;
  }
  .p-tbl-sp table {
    min-width: 1000px;
  }
}
.p-tbl--api {
  width: 100%;
  background: #fff;
}
.p-tbl--api th, .p-tbl--api td {
  border: 1px solid #d9d9d9;
  line-height: 1.4;
  padding: .6em;
  word-break: break-all;
}
.p-tbl--api th {
  background: #f1f1f1;
  font-weight: normal;
  font-size: 85%;
}
.p-tbl--api th:nth-child(1) {
  width: 40px;
}
.p-tbl--api th:nth-child(5), .p-tbl--api th:nth-child(6) {
  width: 120px;
}
.p-tbl--api th:nth-child(3), .p-tbl--api th:nth-child(8) {
  width: 65px;
}
.p-tbl--api td {
  font-size: 93%;
}
@media screen and (max-width: 599px) {
  .p-tbl--api th, .p-tbl--api td {
    padding: .25em .5em;
  }
}

.u-bgc-csv {
  background: #e59522;
}

.u-bgc-xls {
  background: #46b300;
}

.u-bgc-word {
  background: #5cadf7;
}

.u-bgc-pdf {
  background: #ed5c6f;
}

.u-bgc-html {
  background: #003891;
}

.u-bgc-jpg {
  background: #0ac5ab;
}

.u-bgc-other {
  background: #c8c8c8;
}

.u-bgc-tag {
  background: #efefef;
}

.u-bgc-white {
  background: #fff;
}

.u-tc-red {
  color: #ea2e40;
}

.u-label {
  color: #fff;
  padding: .2em 1em;
}

.u-bold {
  font-weight: 500;
}

.u-fs-sm {
  font-size: 93%;
}

.u-txt-l {
  text-align: left;
}

.u-txt-c {
  text-align: center;
}

.u-txt-r {
  text-align: right;
}

.u-txt-j {
  text-align: justify;
}

@media screen and (max-width: 599px) {
  .u-hidden_sp {
    display: none;
  }
}

.u-hidden_pc {
  display: none;
}
@media screen and (max-width: 599px) {
  .u-hidden_pc {
    display: inline-block;
  }
}

.u-mr-xs {
  margin-right: .4em;
}
@media screen and (max-width: 599px) {
  .u-mr-xs {
    margin: 0 0 .6em;
  }
}

.u-pb-xs {
  padding-bottom: 1.5em;
}

.u-pb-sm {
  padding-bottom: 2em;
}
@media screen and (max-width: 599px) {
  .u-pb-sm {
    padding-bottom: 1.5em;
  }
}

.u-pb-md {
  padding-bottom: 4em;
}
@media screen and (max-width: 599px) {
  .u-pb-md {
    padding-bottom: 2em;
  }
}

.u-pb-lg {
  padding-bottom: 6em;
}
@media screen and (max-width: 599px) {
  .u-pb-lg {
    padding-bottom: 3em;
  }
}

.u-py-sm {
  padding: 1.5em 0;
}

.u-mb-xs {
  margin-bottom: 1em;
}

.u-mb-sm {
  margin-bottom: 2em;
}
@media screen and (max-width: 599px) {
  .u-mb-sm {
    margin-bottom: 1.5em;
  }
}

.u-mb-md {
  margin-bottom: 4em;
}
@media screen and (max-width: 599px) {
  .u-mb-md {
    margin-bottom: 2em;
  }
}

.u-mb-lg {
  margin-bottom: 6em;
}
@media screen and (max-width: 599px) {
  .u-mb-lg {
    margin-bottom: 3em;
  }
}

.u-mt-xxs {
  margin-top: 1em;
}

.u-hr {
  border: none;
  border-top: 1px solid #d9d9d9;
  padding-bottom: 3em;
}

/* =================================================
印刷用
================================================= */
@media print {
  * html body {
    zoom: .7;
  }
}
