@charset "UTF-8";
.mt0 {
  margin-top: 0px !important; }

.mr0 {
  margin-right: 0px !important; }

.mb0 {
  margin-bottom: 0px !important; }

.ml0 {
  margin-left: 0px !important; }

.pt0 {
  padding-top: 0px !important; }

.pr0 {
  padding-right: 0px !important; }

.pb0 {
  padding-bottom: 0px !important; }

.pl0 {
  padding-left: 0px !important; }

.mt5 {
  margin-top: 5px !important; }

.mr5 {
  margin-right: 5px !important; }

.mb5 {
  margin-bottom: 5px !important; }

.ml5 {
  margin-left: 5px !important; }

.pt5 {
  padding-top: 5px !important; }

.pr5 {
  padding-right: 5px !important; }

.pb5 {
  padding-bottom: 5px !important; }

.pl5 {
  padding-left: 5px !important; }

.mt10 {
  margin-top: 10px !important; }

.mr10 {
  margin-right: 10px !important; }

.mb10 {
  margin-bottom: 10px !important; }

.ml10 {
  margin-left: 10px !important; }

.pt10 {
  padding-top: 10px !important; }

.pr10 {
  padding-right: 10px !important; }

.pb10 {
  padding-bottom: 10px !important; }

.pl10 {
  padding-left: 10px !important; }

.mt15 {
  margin-top: 15px !important; }

.mr15 {
  margin-right: 15px !important; }

.mb15 {
  margin-bottom: 15px !important; }

.ml15 {
  margin-left: 15px !important; }

.pt15 {
  padding-top: 15px !important; }

.pr15 {
  padding-right: 15px !important; }

.pb15 {
  padding-bottom: 15px !important; }

.pl15 {
  padding-left: 15px !important; }

.mt20 {
  margin-top: 20px !important; }

.mr20 {
  margin-right: 20px !important; }

.mb20 {
  margin-bottom: 20px !important; }

.ml20 {
  margin-left: 20px !important; }

.pt20 {
  padding-top: 20px !important; }

.pr20 {
  padding-right: 20px !important; }

.pb20 {
  padding-bottom: 20px !important; }

.pl20 {
  padding-left: 20px !important; }

.mt25 {
  margin-top: 25px !important; }

.mr25 {
  margin-right: 25px !important; }

.mb25 {
  margin-bottom: 25px !important; }

.ml25 {
  margin-left: 25px !important; }

.pt25 {
  padding-top: 25px !important; }

.pr25 {
  padding-right: 25px !important; }

.pb25 {
  padding-bottom: 25px !important; }

.pl25 {
  padding-left: 25px !important; }

.mt30 {
  margin-top: 30px !important; }

.mr30 {
  margin-right: 30px !important; }

.mb30 {
  margin-bottom: 30px !important; }

.ml30 {
  margin-left: 30px !important; }

.pt30 {
  padding-top: 30px !important; }

.pr30 {
  padding-right: 30px !important; }

.pb30 {
  padding-bottom: 30px !important; }

.pl30 {
  padding-left: 30px !important; }

.mt35 {
  margin-top: 35px !important; }

.mr35 {
  margin-right: 35px !important; }

.mb35 {
  margin-bottom: 35px !important; }

.ml35 {
  margin-left: 35px !important; }

.pt35 {
  padding-top: 35px !important; }

.pr35 {
  padding-right: 35px !important; }

.pb35 {
  padding-bottom: 35px !important; }

.pl35 {
  padding-left: 35px !important; }

.mt40 {
  margin-top: 40px !important; }

.mr40 {
  margin-right: 40px !important; }

.mb40 {
  margin-bottom: 40px !important; }

.ml40 {
  margin-left: 40px !important; }

.pt40 {
  padding-top: 40px !important; }

.pr40 {
  padding-right: 40px !important; }

.pb40 {
  padding-bottom: 40px !important; }

.pl40 {
  padding-left: 40px !important; }

.mt45 {
  margin-top: 45px !important; }

.mr45 {
  margin-right: 45px !important; }

.mb45 {
  margin-bottom: 45px !important; }

.ml45 {
  margin-left: 45px !important; }

.pt45 {
  padding-top: 45px !important; }

.pr45 {
  padding-right: 45px !important; }

.pb45 {
  padding-bottom: 45px !important; }

.pl45 {
  padding-left: 45px !important; }

.mt50 {
  margin-top: 50px !important; }

.mr50 {
  margin-right: 50px !important; }

.mb50 {
  margin-bottom: 50px !important; }

.ml50 {
  margin-left: 50px !important; }

.pt50 {
  padding-top: 50px !important; }

.pr50 {
  padding-right: 50px !important; }

.pb50 {
  padding-bottom: 50px !important; }

.pl50 {
  padding-left: 50px !important; }

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center, hr,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, figure, figcaption,
footer, header, hgroup, menu, nav, output, ruby, section, summary, main,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

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

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after {
  content: "";
  content: none; }

q:before, q:after {
  content: "";
  content: none; }

abbr {
  text-decoration: none; }

mark {
  background: none; }

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

caption, th {
  text-align: left; }

img {
  vertical-align: top; }

hr {
  height: 0; }

html {
  font-size: 62.5%;
  box-sizing: border-box; }

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

body {
  min-width: 1080px;
  background: #e9eef3;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 25.9px;
  line-height: 2.59rem;
  font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Verdana, sans-serif;
  color: #555;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  word-break: break-all; }

/* Anchors
---------------------------------------- */
a:not(.btn) {
  color: #555;
  text-decoration: underline; }
  a:not(.btn):visited {
    color: #555;
    text-decoration: underline; }
  a:not(.btn):hover {
    color: #555;
    text-decoration: none; }
  a:not(.btn):active {
    color: #555;
    text-decoration: none; }

@media screen and (min-width: 46.0625em) {
  .pc-hide {
    display: none !important; } }
button, input, optgroup, select, textarea {
  font: inherit;
  margin: 0;
  color: inherit; }

textarea,
select,
input,
button {
  font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Verdana, sans-serif; }

button {
  overflow: visible;
  border: none;
  padding: 0; }

button, select {
  text-transform: none; }

button, html input[type='button'],
input[type='reset'], input[type='submit'] {
  cursor: pointer;
  -webkit-appearance: button; }

button[disabled], html input[disabled] {
  cursor: default; }

hr {
  border-top: 1px solid #cccccc; }

@media screen and (max-width: 46em) {
  body {
    min-width: 0;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 19px;
    line-height: 1.9rem;
    min-height: 100vh; }

  .sp-hide {
    display: none !important; }

  textarea,
  select,
  input {
    font-size: 14px; } }
.align-left {
  text-align: left; }

.align-center {
  text-align: center; }

.align-right {
  text-align: right; }

.Valign-middle {
  vertical-align: middle !important; }

.link-noBorder, .noBorder {
  text-decoration: none !important;
  display: block; }
  .link-noBorder:hover .mod-articlTitle, .noBorder:hover .mod-articlTitle {
    text-decoration: none; }

strong, .strong {
  font-weight: bold !important; }

.text-bold {
  font-weight: bold; }

.fontSize-l {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 28px;
  line-height: 2.8rem; }

.fontSize-m {
  font-size: 14px !important;
  line-height: 24px !important; }

.fontSize-s {
  font-size: 12px !important;
  line-height: 26px !important; }

.noticeSmall {
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 18px;
  line-height: 1.8rem; }

.border-bottom {
  border-bottom: 1px solid #d2dce7; }

.border-top {
  border-top: 1px solid #d2dce7; }

.border-none {
  border: none !important; }

.border {
  border: 1px solid #d2dce7; }

.border-exceptTop {
  border: 1px solid #d2dce7;
  border-top: none !important; }

.inset-img-full img {
  width: 100%;
  height: auto; }
.inset-img-full .point-img {
  text-align: center;
  max-width: 730px;
  margin: 0 auto;
  padding: 24px 0 20px !important;
  padding: 24px 0 20px !important; }
  .inset-img-full .point-img img {
    max-width: 730px; }
  .inset-img-full .point-img p {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 20px;
    line-height: 2rem;
    padding-top: 20px;
    text-align: left; }

.font-accent {
  color: #e2356e !important; }

.font-primary {
  color: #004a83 !important; }

.font-primary-light {
  color: #568fcc !important; }

.font-large {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 30px;
  line-height: 3rem; }

.mod-attentionText {
  padding-left: 30px; }
  .mod-attentionText span {
    position: relative; }
    .mod-attentionText span:before {
      content: "";
      width: 20px;
      height: 20px;
      display: inline-block;
      background: url(/common/img/icon-attention.svg) no-repeat;
      background-size: 20px;
      position: absolute;
      left: -30px;
      top: 3px; }

.none {
  display: none; }

.pb-0 {
  padding-bottom: 0 !important; }

.pt05 {
  padding-top: 5px !important; }

.font-nomal {
  font-weight: normal; }

.bg-white {
  background: #fff; }

.bg-beige {
  background: #f0f0e8; }

.bg-smokyBlue {
  background: #b9d0e9; }

.w-full {
  width: 100%; }

.h-full {
  height: 100%; }

.whiteSpace-nowrap {
  white-space: nowrap; }

.pd-TB {
  padding-top: 0 !important;
  padding-bottom: 0 !important; }

.pd-large {
  padding: 40px; }

.pd-small {
  padding: 10px; }

.img-orig {
  width: auto;
  max-width: 100%; }

.img-mw100 {
  max-width: 100%; }

.mod-inset-blind {
  position: relative;
  height: 400px;
  overflow: hidden; }
  .mod-inset-blind .blind {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: calc(100% - 62px);
    z-index: 3;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 30px;
    flex-flow: column nowrap;
    background: -moz-linear-gradient(top, rgba(255, 255, 255, 0) 0%, white 28%, white 100%);
    background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, white 28%, white 100%);
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, white 28%, white 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=0 ); }

.link-arrow {
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 22.2px;
  line-height: 2.22rem; }
  .link-arrow::before {
    content: "";
    width: 0;
    height: 0;
    display: inline-block;
    border: 3.99px solid transparent;
    border-left: 7px solid #568fcc; }
  .link-arrow.font-large {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 25.9px;
    line-height: 2.59rem; }
  .link-arrow.font-primary:before {
    border-left-color: #004a83 !important; }
  .link-arrow.font-primary-light {
    color: #568fcc !important; }

.link-arrow-down {
  position: relative; }
  .link-arrow-down::before {
    content: "";
    width: 0;
    height: 0;
    display: inline-block;
    border: 4.2px solid transparent;
    border-top: 7px solid #568fcc;
    margin: 0px 7px -4px 0; }

.link-white {
  color: #fff !important; }
  .link-white:hover {
    color: #fff !important; }

.link-blockAfter {
  text-align: right;
  margin-top: -10px;
  margin-bottom: 20px;
  letter-spacing: 0.5px; }

.link-elementAfter {
  margin-top: 20px; }

.link-delete {
  position: relative;
  cursor: pointer;
  z-index: 1103;
  color: #fff; }
  .link-delete:before, .link-delete:after {
    display: block;
    content: '';
    width: 2px;
    height: 12px;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    background-color: #e2356e;
    border-radius: 10px;
    position: absolute;
    top: 5px;
    left: 9px;
    z-index: 3; }
  .link-delete:after {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg); }
  .link-delete span {
    padding-left: 22px;
    font-weight: bold;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 10px;
    line-height: 1rem; }

.link-external {
  display: inline-block;
  align-items: center; }
  .link-external::after {
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    background: url(/common/img/icon-external.svg) no-repeat;
    background-size: 15px;
    margin-left: 10px;
    position: relative;
    top: 3px; }
  .link-external.white::after {
    background: url(/common/img/icon-external-w.svg) no-repeat; }

.headline--lv1 {
  background: #004a83;
  color: #fff;
  font-weight: bold;
  font-size: 20px;
  font-size: 2rem;
  line-height: 22px;
  line-height: 2.2rem;
  padding: 19px 21px; }
  .headline--lv1 span {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 18px;
    line-height: 1.8rem;
    font-weight: normal;
    margin-left: 20px; }
  .headline--lv1 .link {
    bottom: 18px;
    right: 20px; }
  .headline--lv1 a {
    color: #fff !important; }
    .headline--lv1 a:hover {
      color: #fff; }

.inset-searchBox {
  position: relative;
  display: flex;
  align-items: center;
  background: #004a83; }
  .inset-searchBox .headline--lv1 {
    padding-right: 45%; }
  .inset-searchBox .mod-searchBox {
    width: 44%;
    position: absolute;
    top: 12px;
    right: 20px; }
    .inset-searchBox .mod-searchBox::after {
      background-color: #568fcc; }
  .inset-searchBox.height-fifteen {
    height: 50px; }
    .inset-searchBox.height-fifteen .headline--lv2 {
      padding: 0 0 0 21px;
      flex: 0 0 260px; }
    .inset-searchBox.height-fifteen .mod-searchBox {
      right: 230px;
      top: 0;
      right: 0;
      position: relative; }
  .inset-searchBox .link {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 22px;
    line-height: 2.2rem;
    font-weight: normal;
    flex: 0 0 200px;
    text-align: right;
    margin: 0 20px 0 0; }
    .inset-searchBox .link::before {
      content: "";
      width: 0;
      height: 0;
      display: inline-block;
      border: 3.99px solid transparent;
      border-left: 7px solid #568fcc; }
    .inset-searchBox .link a {
      color: #fff; }

.inset-btn {
  position: relative; }
  .inset-btn .btn-right {
    position: absolute !important;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 12px;
    line-height: 1.2rem;
    right: 20px;
    top: 20px;
    min-width: 150px !important;
    height: 34px;
    top: 50%;
    margin-top: -17px; }

.inset-visual img {
  width: 100%; }

.headline--lv2 {
  background: #004a83;
  color: #fff;
  font-weight: bold;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 22px;
  line-height: 2.2rem;
  padding: 9px 21px; }
  .headline--lv2 span {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 18px;
    line-height: 1.8rem;
    font-weight: normal;
    margin-left: 20px; }
  .headline--lv2 .link {
    bottom: 8px;
    right: 20px; }
  .headline--lv2.inset-btn .btn {
    padding-top: 7px;
    padding-bottom: 5px;
    height: 26px;
    margin-top: -13px; }
  .headline--lv2.size-l {
    padding: 17px 21px 13px; }

@media screen and (max-width: 46em) {
  .component-templateSearch {
    padding: 15px; }
    .component-templateSearch .component-tagList {
      padding: 10px 0 0; }
      .component-templateSearch .component-tagList .tagList__title {
        padding-bottom: 3px; }
    .component-templateSearch.with-input .mod-searchBox {
      width: 100%; }
    .component-templateSearch.qaSearch .searchBox-wrap {
      position: relative; }
      .component-templateSearch.qaSearch .searchBox-wrap .mod-searchBox {
        margin-right: 0; }
      .component-templateSearch.qaSearch .searchBox-wrap .icon-plus {
        width: 100%;
        min-width: auto;
        padding: 11px 0 10px 0;
        position: relative;
        right: 0;
        top: 0;
        margin-top: 15px; }
        .component-templateSearch.qaSearch .searchBox-wrap .icon-plus:after {
          top: 17px; }
    .component-templateSearch.qaSearch .component-inputList {
      padding: 0 20px;
      background: #fff;
      margin-bottom: 20px; }
      .component-templateSearch.qaSearch .component-inputList .mod-inputBox {
        margin-left: 80px; }
    .component-templateSearch.estimateSearch {
      padding: 0; } }
.component-side-ranking li:not(:first-child),
.component-side-ranking--user li:not(:first-child) {
  border-top: 1px solid #d2dce7; }
.component-side-ranking li a,
.component-side-ranking--user li a {
  display: block;
  padding: 15px 9px; }
  .component-side-ranking li a .thumb img,
  .component-side-ranking--user li a .thumb img {
    border: 1px solid #d2dce7; }
.component-side-ranking.inset-reviewCount li,
.component-side-ranking--user.inset-reviewCount li {
  position: relative;
  padding-bottom: 5px; }
  .component-side-ranking.inset-reviewCount li a img,
  .component-side-ranking--user.inset-reviewCount li a img {
    position: absolute; }
  .component-side-ranking.inset-reviewCount li .reviewCount,
  .component-side-ranking--user.inset-reviewCount li .reviewCount {
    display: block;
    background: #668ab1;
    color: #fff;
    text-align: center;
    width: 100px;
    height: 20px;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 20px;
    line-height: 2rem;
    position: relative;
    left: 56px;
    bottom: 12px; }
.component-side-ranking.img-rectangle li a .thumb,
.component-side-ranking--user.img-rectangle li a .thumb {
  width: 60px; }
.component-side-ranking.img-rectangle li a p,
.component-side-ranking--user.img-rectangle li a p {
  margin: -4px 0 0 75px; }

.component-side-ranking li a {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  background-size: 30px 30px !important;
  background-position: 10px 12px !important;
  padding-left: 56px; }
.component-side-ranking li.firstPlace a {
  background: url(/common/img/icon-ranking-num-1.png) no-repeat; }
.component-side-ranking li.secondPlace a {
  background: url(/common/img/icon-ranking-num-2.png) no-repeat; }
.component-side-ranking li.thirdPlace a {
  background: url(/common/img/icon-ranking-num-3.png) no-repeat; }
.component-side-ranking li.forthPlace a {
  background: url(/common/img/icon-ranking-num-4.png) no-repeat; }
.component-side-ranking li.fifthPlace a {
  background: url(/common/img/icon-ranking-num-5.png) no-repeat; }
.component-side-ranking.inset-reviewCount li a {
  padding-left: 56px;
  padding-right: 20px; }
.component-side-ranking.inset-reviewCount li a {
  white-space: normal;
  overflow: auto;
  text-overflow: inherit; }
.component-side-ranking .textOnly {
  display: block;
  padding: 0px 0px 14px 20px; }
  .component-side-ranking .textOnly:first-child {
    padding-top: 14px; }
.component-side-ranking .headline--lv5 {
  padding: 14px 0px 8px 20px; }
.component-side-ranking.ellipsis-plural li a {
  background-position: 12px 14px !important; }
  .component-side-ranking.ellipsis-plural li a p {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; }
    .component-side-ranking.ellipsis-plural li a p.multipleLine {
      white-space: normal; }
.component-side-ranking.ranking-simple li {
  position: relative; }
  .component-side-ranking.ranking-simple li .rank {
    position: absolute;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 33.3px;
    line-height: 3.33rem;
    color: #004a83;
    top: 10px;
    left: 15px;
    font-weight: bold; }
    .component-side-ranking.ranking-simple li .rank span {
      font-size: 13px;
      font-size: 1.3rem;
      line-height: 24.05px;
      line-height: 2.405rem; }
    .component-side-ranking.ranking-simple li .rank:after {
      content: "";
      display: block;
      height: 6px;
      width: 26px;
      background: #f3dc1e;
      position: absolute;
      bottom: 0px; }
  .component-side-ranking.ranking-simple li a p {
    white-space: normal; }

.component-side-ranking--user li a:after {
  content: "";
  clear: both;
  display: block; }
.component-side-ranking--user li a .thumb {
  position: relative;
  float: left;
  width: 38px; }
  .component-side-ranking--user li a .thumb::before {
    content: "";
    display: block;
    width: 16px;
    height: 16px;
    position: absolute;
    left: -5px;
    top: -5px;
    z-index: 3; }
  .component-side-ranking--user li a .thumb img {
    width: 100%;
    height: auto; }
.component-side-ranking--user li a p {
  line-height: 1.6;
  margin: -4px 0 0 50px; }
.component-side-ranking--user li.firstPlace a .thumb::before {
  background: url(/common/img/icon-ranking-num-1.png) no-repeat;
  background-size: 16px 16px; }
.component-side-ranking--user li.secondPlace a .thumb::before {
  background: url(/common/img/icon-ranking-num-2.png) no-repeat;
  background-size: 16px 16px; }
.component-side-ranking--user li.thirdPlace a .thumb::before {
  background: url(/common/img/icon-ranking-num-3.png) no-repeat;
  background-size: 16px 16px; }
.component-side-ranking--user li.forthPlace a .thumb::before {
  background: url(/common/img/icon-ranking-num-4.png) no-repeat;
  background-size: 16px 16px; }
.component-side-ranking--user li.fifthPlace a .thumb::before {
  background: url(/common/img/icon-ranking-num-5.png) no-repeat;
  background-size: 16px 16px; }
.component-side-ranking--user.inset-reviewCount li a {
  padding-right: 20px; }
