.top-page {
  /*! sanitize.css v4.1.0 | CC0 License | github.com/jonathantneal/sanitize.css */
  /* color */
  /* font-size */
  /* icon */
  /* hero */
  /* image */ }
  .top-page article,
  .top-page aside,
  .top-page details,
  .top-page figcaption,
  .top-page figure,
  .top-page footer,
  .top-page header,
  .top-page main,
  .top-page menu,
  .top-page nav,
  .top-page section,
  .top-page summary {
    display: block; }
  .top-page audio,
  .top-page canvas,
  .top-page progress,
  .top-page video {
    display: inline-block; }
  .top-page audio:not([controls]) {
    display: none;
    height: 0; }
  .top-page template,
  .top-page [hidden] {
    display: none; }
  .top-page *,
  .top-page ::before,
  .top-page ::after {
    background-repeat: no-repeat;
    -webkit-box-sizing: inherit;
            box-sizing: inherit; }
  .top-page ::before,
  .top-page ::after {
    text-decoration: inherit;
    vertical-align: inherit; }
  .top-page html {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    cursor: default;
    font-family: sans-serif;
    line-height: 1.5;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%; }
  .top-page body {
    margin: 0; }
  .top-page h1 {
    font-size: 2em;
    margin: .67em 0; }
  .top-page code,
  .top-page kbd,
  .top-page pre,
  .top-page samp {
    font-family: monospace, monospace;
    font-size: 1em; }
  .top-page hr {
    height: 0;
    overflow: visible; }
  .top-page nav ol,
  .top-page nav ul {
    list-style: none; }
  .top-page abbr[title] {
    border-bottom: 1px dotted;
    text-decoration: none; }
  .top-page b,
  .top-page strong {
    font-weight: inherit; }
  .top-page b,
  .top-page strong {
    font-weight: bolder; }
  .top-page dfn {
    font-style: italic; }
  .top-page mark {
    background-color: #ff0;
    color: #000; }
  .top-page progress {
    vertical-align: baseline; }
  .top-page small {
    font-size: 83.3333%; }
  .top-page sub,
  .top-page sup {
    font-size: 83.3333%;
    line-height: 0;
    position: relative;
    vertical-align: baseline; }
  .top-page sub {
    bottom: -.25em; }
  .top-page sup {
    top: -.5em; }
  .top-page ::-moz-selection {
    background-color: #b3d4fc;
    color: #000;
    text-shadow: none; }
  .top-page ::selection {
    background-color: #b3d4fc;
    color: #000;
    text-shadow: none; }
  .top-page audio,
  .top-page canvas,
  .top-page iframe,
  .top-page img,
  .top-page svg,
  .top-page video {
    vertical-align: middle; }
  .top-page img {
    border-style: none; }
  .top-page svg {
    fill: currentColor; }
    .top-page svg:not(:root) {
      overflow: hidden; }
  .top-page a {
    background-color: transparent;
    -webkit-text-decoration-skip: objects; }
    .top-page a:hover {
      outline-width: 0; }
  .top-page table {
    border-collapse: collapse;
    border-spacing: 0; }
  .top-page button,
  .top-page input,
  .top-page select,
  .top-page textarea {
    background-color: transparent;
    border-style: none;
    color: inherit;
    font-size: 1em;
    margin: 0; }
  .top-page button,
  .top-page input {
    overflow: visible; }
  .top-page button,
  .top-page select {
    text-transform: none; }
  .top-page button,
  .top-page html [type='button'],
  .top-page [type='reset'],
  .top-page [type='submit'] {
    -webkit-appearance: button; }
  .top-page ::-moz-focus-inner {
    border-style: none;
    padding: 0; }
  .top-page :-moz-focusring {
    outline: 1px dotted ButtonText; }
  .top-page fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: .35em .625em .75em; }
  .top-page legend {
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal; }
  .top-page textarea {
    overflow: auto;
    resize: vertical; }
  .top-page [type='checkbox'],
  .top-page [type='radio'] {
    padding: 0; }
  .top-page ::-webkit-inner-spin-button,
  .top-page ::-webkit-outer-spin-button {
    height: auto; }
  .top-page [type='search'] {
    -webkit-appearance: textfield;
    outline-offset: -2px; }
  .top-page ::-webkit-search-cancel-button,
  .top-page ::-webkit-search-decoration {
    -webkit-appearance: none; }
  .top-page ::-webkit-input-placeholder {
    color: inherit;
    opacity: .54; }
  .top-page ::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit; }
  .top-page [aria-busy='true'] {
    cursor: progress; }
  .top-page [aria-controls] {
    cursor: pointer; }
  .top-page [aria-disabled] {
    cursor: default; }
  .top-page a,
  .top-page area,
  .top-page button,
  .top-page input,
  .top-page label,
  .top-page select,
  .top-page textarea,
  .top-page [tabindex] {
    -ms-touch-action: manipulation;
    touch-action: manipulation; }
  .top-page [hidden][aria-hidden='false'] {
    clip: rect(0, 0, 0, 0);
    display: inherit;
    position: absolute; }
    .top-page [hidden][aria-hidden='false']:focus {
      clip: auto; }
  .top-page html {
    line-height: 1; }
  .top-page body {
    background: #fff; }
  .top-page h1, .top-page h2, .top-page h3, .top-page h4, .top-page h5, .top-page h6 {
    margin: 0;
    font-weight: normal; }
  .top-page ul {
    margin: 0;
    padding: 0;
    list-style: none; }
  .top-page p {
    margin: 0; }
  .top-page a, .top-page a:visited {
    color: #222;
    text-decoration: none; }
  .top-page #app-top {
    min-width: 960px;
    background: #f9f9f9;
    color: #222; }
  .top-page .section {
    -webkit-box-sizing: content-box;
            box-sizing: content-box; }
    .top-page .section__container {
      width: 960px;
      margin: 0 auto; }
    .top-page .section__container--full {
      width: 100%; }
    .top-page .section__title {
      display: block;
      line-height: 1;
      font-size: 24px;
      font-weight: bolder;
      text-align: center; }
      .top-page .section__title span {
        color: #bf0000; }
      .top-page .section__title--ribon {
        display: block;
        padding: 16px 0;
        background: #bcb8b2;
        color: #fff;
        font-weight: 300; }
    .top-page .section__tag {
      width: 110px;
      padding: 8px 0;
      line-height: 1;
      border-radius: 3px;
      letter-spacing: 0.5px;
      color: #fff;
      font-size: 14px;
      font-weight: 200;
      text-align: center; }
      .top-page .section__tag--orange {
        background: #feb300; }
      .top-page .section__tag--crimson {
        background: #bf0000; }
      .top-page .section__tag--blue {
        background: #00289b; }
      .top-page .section__tag--large {
        padding: 8px 16px; }
    .top-page .section__link {
      position: relative;
      display: block;
      width: 190px;
      margin: 0 auto;
      padding: 16px 0 16px 16px;
      line-height: 1;
      border-radius: 100px;
      border: solid 2px #dedad5;
      background: #fff;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      font-size: 14px;
      font-weight: 300;
      text-align: center; }
      .top-page .section__link:before {
        content: '';
        left: 46px;
        display: inline-block;
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
                transform: translateY(-50%);
        width: 9px;
        height: 9px;
        margin-top: -5px;
        border-top: 2px solid #bcb8b2;
        border-right: 2px solid #bcb8b2;
        -webkit-transform: rotate(45deg);
            -ms-transform: rotate(45deg);
                transform: rotate(45deg); }
      .top-page .section__link:hover {
        background: #f4f2ee; }
    .top-page .section__note {
      font-size: 12px;
      text-align: center; }
    .top-page .section__firm-name {
      width: 100%;
      line-height: 1.8;
      font-size: 12px;
      text-align: center; }
      .top-page .section__firm-name span {
        display: block; }
    .top-page .section--caption {
      padding: 104px 5px 136px;
      background: #fff;
      text-align: center; }
      .top-page .section--caption .section__title {
        margin-bottom: 32px;
        font-size: 36px; }
      .top-page .section--caption .section__description {
        margin-bottom: 66px;
        line-height: 1;
        font-size: 26px; }
      .top-page .section--caption .nav-list__item {
        position: relative;
        display: inline-block;
        width: 19%;
        vertical-align: middle;
        background: url(/assets/pc/img/icon--menu.svg) no-repeat center; }
        .top-page .section--caption .nav-list__item:hover {
          background: url(/assets/pc/img/icon--menu--active.svg) no-repeat center; }
        .top-page .section--caption .nav-list__item__icon {
          position: absolute;
          top: 56%;
          left: 50%;
          -webkit-transform: translate(-50%, -50%);
              -ms-transform: translate(-50%, -50%);
                  transform: translate(-50%, -50%); }
      .top-page .section--caption .nav-list a {
        display: block;
        width: 100%;
        height: 142px;
        padding-top: 32px;
        color: #a5a29e;
        font-size: 16px; }
    .top-page .section--hero {
      position: relative; }
      .top-page .section--hero .swiper-container {
        width: 100%;
        height: 730px; }
      .top-page .section--hero .section__firm-name {
        position: absolute;
        bottom: 24px;
        right: 160px;
        z-index: 100;
        width: 539px;
        padding: 5px 0;
        border-radius: 5px;
        color: #333;
        background: rgba(254, 254, 254, 0.4);
        line-height: 1.8;
        font-size: 12px;
        text-align: center; }
    .top-page .section__card {
      position: absolute;
      top: 124px;
      right: 160px;
      width: 475px;
      height: 420px;
      padding: 24px 32px;
      background: rgba(255, 255, 255, 0.8);
      border-radius: 8px; }
      .top-page .section__card .section__tag {
        margin-bottom: 48px; }
      .top-page .section__card .section__title {
        margin-bottom: 24px;
        line-height: 1.5;
        letter-spacing: 1.5px;
        font-size: 26px;
        font-weight: bolder; }
        .top-page .section__card .section__title small {
          display: block;
          font-size: 16px; }
        .top-page .section__card .section__title span {
          font-size: 32px; }
      .top-page .section__card .section__description {
        margin-bottom: 40px;
        line-height: 1.7;
        letter-spacing: 1.3px;
        font-size: 14px;
        font-weight: 300;
        text-align: center; }
      .top-page .section__card .section__link {
        margin-bottom: 88px; }
        .top-page .section__card .section__link:before {
          width: 8px;
          height: 8px;
          margin-top: -4px; }
    .top-page .section--merits .section__item, .top-page .section--payment .section__item {
      display: inline-block;
      width: 32%;
      margin: 0 auto;
      vertical-align: top; }
      .top-page .section--merits .section__item__title, .top-page .section--payment .section__item__title {
        line-height: 1.5;
        letter-spacing: 1.5px;
        font-size: 26px;
        font-weight: bolder;
        text-align: center; }
        .top-page .section--merits .section__item__title span, .top-page .section--payment .section__item__title span {
          color: #bf0000;
          font-size: 32px; }
      .top-page .section--merits .section__item__image, .top-page .section--payment .section__item__image {
        position: relative;
        height: 170px; }
        .top-page .section--merits .section__item__image svg, .top-page .section--payment .section__item__image svg {
          position: absolute;
          top: 50%;
          left: 50%;
          -webkit-transform: translate(-50%, -50%);
              -ms-transform: translate(-50%, -50%);
                  transform: translate(-50%, -50%); }
      .top-page .section--merits .section__item__description, .top-page .section--payment .section__item__description {
        margin-bottom: 24px;
        font-size: 14px;
        line-height: 1.7;
        letter-spacing: 1.3px;
        font-weight: 300;
        text-align: center; }
    .top-page .section--payment .section__container {
      padding: 64px 0; }
    .top-page .section--payment .section__tag {
      margin: 0 auto 16px; }
    .top-page .section--payment .section__item:nth-child(2) {
      width: 290px;
      height: 290px;
      border-radius: 50%;
      border: solid 10px #dedad5; }
      .top-page .section--payment .section__item:nth-child(2) .section__item__title {
        margin: 48px auto 8px;
        color: #bf0000;
        font-size: 36px; }
      .top-page .section--payment .section__item:nth-child(2) .section__item__description {
        line-height: 1.4;
        letter-spacing: 1.1px;
        font-size: 20px;
        font-weight: bolder; }
    .top-page .section--payment .section__item .section__container--animated {
      position: relative;
      height: 180px;
      margin-bottom: 24px; }
    .top-page .section--payment .section__item__image {
      position: absolute;
      bottom: 0;
      left: 50%;
      display: block;
      width: 240px;
      height: auto;
      margin-left: -120px; }
    .top-page .section--merits .section__container {
      padding: 48px 0; }
    .top-page .section--merits .section__tag {
      margin-bottom: 40px; }
    .top-page .section--merits .section__item__title, .top-page .section--merits .section__item__image {
      margin-bottom: 40px; }
    .top-page .section--merits .section__item__description {
      margin-bottom: 32px; }
    .top-page .section__block {
      display: table;
      table-layout: fixed; }
      .top-page .section__block .section__tag {
        margin: 0 auto 16px; }
      .top-page .section__block .section__link {
        padding: 12px 0 12px 14px; }
      .top-page .section__block__title {
        margin-bottom: 8px;
        line-height: 1.3;
        letter-spacing: 1.5px;
        font-size: 20px;
        font-weight: bolder;
        text-align: center; }
        .top-page .section__block__title span {
          color: #bf0000;
          font-size: 26px; }
      .top-page .section__block__description {
        margin-bottom: 16px;
        font-size: 14px;
        line-height: 1.7;
        letter-spacing: 1.3px;
        font-weight: 300;
        text-align: center; }
      .top-page .section__block__inner {
        display: table-cell;
        width: 25%;
        background-color: #fff; }
        .top-page .section__block__inner:nth-child(2n) {
          padding: 32px 0; }
      .top-page .section__block .background--rpay {
        background: url(/assets/pc/img/image--rpay.png) center no-repeat;
        background-size: cover; }
      .top-page .section__block .background--edy {
        background: url(/assets/pc/img/image--edy.png) center no-repeat;
        background-size: cover; }
  .top-page .slide--interset-rate {
    background: url(/assets/pc/img/hero--interest-rate.jpg) center no-repeat; }
  .top-page .slide--atm-fee {
    background: url(/assets/pc/img/hero--atm-fee.jpg) center no-repeat; }
  .top-page .slide--point {
    background: url(/assets/pc/img/hero--point.jpg) center no-repeat; }
  .top-page .slide--monthly-amount {
    background: url(/assets/pc/img/hero--monthly-amount.jpg) center no-repeat; }
  .top-page .slide--consulting {
    background: url(/assets/pc/img/hero--consulting.jpg) center no-repeat; }
  .top-page .slide--exemption {
    background: url(/assets/pc/img/hero--exemption.jpg) center no-repeat; }
  .top-page .slide--insurance-fee {
    background: url(/assets/pc/img/hero--insurance-fee.jpg) center no-repeat; }
  .top-page .swiper-slide {
    background-size: cover; }
  .top-page #saving .swiper-pagination, .top-page #preparing .swiper-pagination {
    left: auto;
    width: auto; }
  .top-page #saving .swiper-pagination-bullet, .top-page #preparing .swiper-pagination-bullet {
    margin: 0 8px; }
  .top-page #saving .swiper-pagination-bullet-active, .top-page #preparing .swiper-pagination-bullet-active {
    background: #666; }
  .top-page #saving .swiper-button-prev,
  .top-page #saving .swiper-button-next, .top-page #preparing .swiper-button-prev,
  .top-page #preparing .swiper-button-next {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 9px;
    height: 9px;
    margin-top: -5px;
    border-top: 2px solid #bcb8b2;
    border-right: 2px solid #bcb8b2;
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
    left: auto;
    width: 24px;
    height: 24px;
    background: none; }
  .top-page #saving .swiper-button-prev, .top-page #preparing .swiper-button-prev {
    right: 640px;
    -webkit-transform: rotate(225deg);
        -ms-transform: rotate(225deg);
            transform: rotate(225deg); }
  .top-page #saving .swiper-button-next, .top-page #preparing .swiper-button-next {
    right: 200px; }
  .top-page #saving .swiper-pagination {
    bottom: 212px;
    left: auto;
    right: 400px;
    width: auto; }
  .top-page #preparing .swiper-pagination {
    bottom: 212px;
    right: 386px; }
  .top-page #preparing .section__card .section__link {
    margin-bottom: 104px; }
  .top-page #preparing .section__card .section__note {
    line-height: 1.5; }
  .top-page #preparing .slide--monthly-amount .section__link {
    margin-bottom: 72px; }
  .top-page #preparing .slide--exemption .section__link {
    margin-bottom: 64px; }
  .top-page #preparing .slide--exemption > .section__note {
    position: absolute;
    bottom: 32px;
    width: 100%;
    text-align: center; }
  .top-page #increasing .section__container--animated, .top-page #using .section__container--animated {
    opacity: 0; }
  .top-page #increasing .section__list {
    margin-bottom: 80px; }
  .top-page .slide--monthly-amount .section__card small {
    display: inline-block;
    font-size: 12px; }
