
body {
  background: radial-gradient(circle, transparent 20%, #f3f3f3 20%, #f3f3f3 80%, transparent 80%, transparent), radial-gradient(circle, transparent 20%, #f3f3f3 20%, #f3f3f3 80%, transparent 80%, transparent) 20px 20px, linear-gradient(#ebd8d8 1.6px, transparent 1.6px) 0 -0.8px, linear-gradient(90deg, #ebd8d8 1.6px, #f3f3f3 1.6px) -0.8px 0;
  background-size: 40px 40px, 40px 40px, 20px 20px, 20px 20px;
}
.container {
  padding-top: 90px;
  /* max-width: 970px; */
  max-width: 740px;
  margin: 0 auto;
  box-shadow: 3px 3px 10px 0px #d1d1d1;
  position: relative;
  /* zoom: 0.8; */
}
.header {
  left: auto;
  /* max-width: 970px; */
  max-width: 740px;
  margin: 0 auto;
}
@media screen and (min-width: 850px) {
  #scrollUp {
    width: 70px;
    height: 70px;
    bottom: 40px;
    /* right: calc((100% - 970px) / 2  - 110px); */
    right: calc((100% - 740px) / 2  - 110px);
  }
}

.midashi--chu--a {
  margin-bottom: 0;
}
.yellow {
  background: #fbf490;
}

li .cp-rank-section {
  /* max-width: 970px; */
  max-width: 740px;
  margin: 0 auto;
}
.cp-rank-section {
  margin: 30px auto;
}
.cp-rank-voices.swiper {
  margin-bottom: 30px;
}
/* .cp-rank-section.--accordion .cp-rank-voices-title::after {
  font-family: 'Font Awesome 6 Free';
  content: "\f4ad";
  font-size: 26px;
  font-weight: normal;
  color: #1e1e1e;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 25px;
} */

.is-recom-close .recom_block .accordion_01 .ac-content {
  display: none;
}
.is-recom-close .recom_block .accordion_01 .ac-label .icon-wrap .icon:before {
  transform: translate(-50%, -50%) rotate(90deg);
}
.is-recom-close .recom_block .accordion_01 .ac-label .icon-wrap .icon.open:before {
  transform: translate(-50%, -50%) rotate(0deg);
}

/* .cell_client {
  height: 240px; みずほ銀行など2行表示用
} */
.cell_client img.hikaku15_img {
  display: block;
  width: 140px !important;
  margin: 0 auto 10px !important;
}
.hikaku15_vert_data .cell {
  font-weight: bold;
}

a.modal-open {
  cursor: pointer;
  color: -webkit-link;
}
a.btn_fukidashi {
  text-decoration: none !important;
}

.dialog--c.recom dd ul li::before {
  display: block;
  height: 30px;
  width: 30px;
  position: absolute;
  top: 0;
  left: 0;
  background: none;
  font-family: 'Font Awesome 6 Free';
  content: "\f14a";
  font-weight: bold;
  color: #329546;
  font-size: 24px;
}

.list--ninkicolumn i {
  left: 10px;
}

/* PCページ用レイアウト調整
========================================================================== */
.flex_wrapper .pc_menu {
  display: none;
}
@media screen and (min-width: 1080px) {
  .flex_wrapper {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: stretch;
  }
  .flex_wrapper .container {
    padding-top: 0;
    margin: 0;
    box-shadow: none;
    position: relative;
  }
  .flex_wrapper .container .header {
    display: none;
  }
  .flex_wrapper .pc_menu {
    display: block;
    width: 300px;
    position: relative;
    top: 0;
    margin: 0;
    background: #FFF;
    border: 1px solid #ddd;
    box-sizing: border-box;
    padding: 10px;
  }
  .flex_wrapper .pc_menu * {
    box-sizing: border-box;
  }
  .flex_wrapper .pc_menu .header_logo {
    display: flex;
    width: 100%;
    padding: 10px;
    text-align: center;
    align-content: center;
    justify-content: center;
    align-items: center;
  }
  .flex_wrapper .pc_menu .header_logo img {
    display: block;
    width: 200px;
    margin: 0 auto;
  }
  .flex_wrapper .pc_menu .pc_menu_inner {
    width: 100%;
    padding: 10px;
  }
  .flex_wrapper .pc_menu .pc_menu_inner .pc_menu_list {
    width: 100%;
    padding: 0;
    font-size: 24px;
  }
  .flex_wrapper .pc_menu .pc_menu_inner .pc_menu_list .menu_random_banner {
    display: block;
    width: 100%;
    margin: 20px 0;
  }
  .flex_wrapper .pc_menu .pc_menu_inner .pc_menu_list .menu_random_banner a,
  .flex_wrapper .pc_menu .pc_menu_inner .pc_menu_list .menu_random_banner a img {
    display: block;
    width: 100%;
  }
  .flex_wrapper .pc_menu .pc_menu_inner .pc_menu_list .menu_random_banner:has(+ .menu_title) {
    margin: 20px 0 40px 0;
  }
  .flex_wrapper .pc_menu .pc_menu_inner .pc_menu_list .menu_title {
    background: #757575;
    color: #FFF;
    margin: 20px auto 10px;
    padding: 10px 15px;
    border-radius: 10px;
    font-size: 16px;
    font-weight: bold;
  }
  .flex_wrapper .pc_menu .pc_menu_inner .pc_menu_list .menu_link {
    padding: 12px 10px 12px 36px;
    display: block;
    position: relative;
    text-decoration: none;
    color: #1e1e1e;
    border-bottom: 2px solid #ddd;
    font-size: 16px;
  }
  .flex_wrapper .pc_menu .pc_menu_inner .pc_menu_list .menu_link::before {
    display: block;
    content: "";
    background-color: #757575;
    background: #757575;
    -webkit-mask-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" fill="%2332CD32" viewBox="0 0 24 24"><path d="M3 5v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2H5c-1.103 0-2 .897-2 2zm6.293 2.707 1.414-1.414L16.414 12l-5.707 5.707-1.414-1.414L13.586 12 9.293 7.707z"/></svg>');
    mask-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" fill="%2332CD32" viewBox="0 0 24 24"><path d="M3 5v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2H5c-1.103 0-2 .897-2 2zm6.293 2.707 1.414-1.414L16.414 12l-5.707 5.707-1.414-1.414L13.586 12 9.293 7.707z"/></svg>');
    -webkit-mask-size: contain;
    mask-size: contain;
    height: 20px;
    width: 20px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 8px;
  }
  .flex_wrapper .pc_menu .pc_menu_inner .pc_menu_list .menu_link:hover {
    background: #ebebeb;
  }
  .flex_wrapper .pc_menu .pc_menu_inner .pc_menu_list .menu_link_icon {
    padding: 12px 10px 12px 40px;
    display: block;
    position: relative;
    text-decoration: none;
    color: #1e1e1e;
    border-bottom: 2px solid #ddd;
    font-size: 16px;
  }
  .flex_wrapper .pc_menu .pc_menu_inner .pc_menu_list .menu_link_icon:hover {
    background: #ebebeb;
  }
  .flex_wrapper .pc_menu .pc_menu_inner .pc_menu_list .menu_link_icon.home::before {
    font-family: 'FontAwesome';
    content: "\f015";
    display: block;
    color: #757575;
    font-size: 20px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 8px;
  }
  .flex_wrapper .pc_menu .pc_menu_inner .pc_menu_list .menu_link_icon.magnify::before {
    font-family: 'FontAwesome';
    content: "\f002";
    display: block;
    color: #757575;
    font-size: 20px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 10px;
  }
  .flex_wrapper .pc_menu .pc_menu_inner .pc_menu_list .menu_link_icon.calculator::before {
    font-family: 'FontAwesome';
    content: "\f1ec";
    display: block;
    color: #757575;
    font-size: 20px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 13px;
  }
  .flex_wrapper .pc_menu .pc_menu_inner .pc_menu_list .menu_link_icon.question::before {
    font-family: 'FontAwesome';
    content: "\3f";
    display: block;
    color: #757575;
    font-size: 20px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 15px;
  }
  .flex_wrapper .pc_menu .pc_menu_inner .pc_menu_list .menu_link_icon::after {
    font-family: 'FontAwesome';
    content: "\f054";
    display: block;
    color: #757575;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 10px;
  }

  .flex_wrapper .pc_menu .pc_menu_qr {
    display: block;
    padding: 0;
    margin: 20px 10px;
    background: #e1edf9;
    text-align: center;
  }
  .flex_wrapper .pc_menu .pc_menu_qr .pc_menu_qr_title {
    background: #3d74a7;
    border-bottom: 2px solid #102941;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    padding: 10px;
  }
  .flex_wrapper .pc_menu .pc_menu_qr img {
    width: auto;
    display: block;
    padding: 10px;
    background: #FFF;
    border: 1px gray solid;
    margin: 10px auto;
  }
  .flex_wrapper .pc_menu .pc_menu_qr p {
    margin: auto 20px;
    padding-bottom: 10px;
    text-align: left;
    font-size: 14px;
    color: #333333;
  }

  /* サイトセットのバナーサイズ変更 */
  .flex_wrapper .container .specbox .specbox--info .bnr,
  .flex_wrapper .container .specbox .specbox--info .bnr a img {
    width: 300px;
  }
  .flex_wrapper .container .item .col2 .img img {
    width: 260px;
  }
}
/* ========================================================================== */

/* body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td {
  font-family: "Open Sans", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, 游ゴシック体, メイリオ, sans-serif !important;
} */