@charset "shift_jis";
@import url(reset.css);

@media screen {

  /*　画面サイズが767.9pxまではここを読み込む　*/
  html {
    font-size: 62.5%;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  html ::-webkit-scrollbar {
    display: none;
  }

  html.is-fixed {
    height: 100%;
    overflow: hidden;
  }

  body {
    color: #333;
    font: 1.5rem / 1.75 sans-serif;
    -webkit-font-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    font-weight: normal;
  }

  img {
    max-width: 100%;
    image-rendering: auto;
    vertical-align: bottom;
  }
}

@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: 0.001dpcm) {
  img {
    image-rendering: -webkit-optimize-contrast;
  }
}

@media screen {

  th,
  td {
    word-break: break-all;
  }

  input,
  button,
  select,
  textarea {
    font-family: sans-serif;
    -webkit-appearance: none;
    appearance: none;
  }

  input:focus,
  button:focus,
  select:focus,
  textarea:focus {
    outline: none;
  }

  ::placeholder {
    color: #8d8d8d;
  }

  .ly-container {
    padding-bottom: 5rem;
  }

  .ly-container-single {
    padding-bottom: 5rem;
  }

  .ly-main {
    display: block;
    margin: 4rem 2rem 0;
  }

  .ly-main--smp-full {
    display: block;
    margin: 4rem 0 0;
  }

  .ly-main--wide {
    display: block;
    margin: 4rem 0 0;
  }

  .ly-main-top {
    display: block;
    margin: 0;
  }

  .ly-side {
    margin: 8rem 0 0;
  }

  .ly-side__contents {
    margin: 2rem 2rem 0;
  }

  .ly-contents {
    margin: 4rem 0 5rem;
  }

  .ly-container-single .ly-main>.ly-contents,
  .ly-main--smp-full>.ly-smp-full>.ly-contents {
    margin: 4rem 2rem 5rem;
  }

  .ly-container-single .ly-main>.ly-contents:last-child,
  .ly-main--smp-full>.ly-smp-full>.ly-contents:last-child {
    margin-bottom: 0;
  }

  .ly-contents:first-child {
    margin-top: 0;
  }

  .ly-contents:last-child {
    margin-bottom: 0;
  }

  .ly-contents__block {
    margin: 4rem 0 0;
  }

  .ly-contents__block:first-child {
    margin-top: 0;
  }

  .ly-contents__block-border {
    margin: 4rem 0 0;
    padding-top: 2rem;
    border-top: 1px solid #ddd;
  }

  .ly-contents__block-border:first-child {
    margin-top: 0;
  }

  .ly-contents__box {
    margin: 2rem 0 0;
  }

  .ly-contents__box:first-child {
    margin-top: 0;
  }

  .ly-smp-full {
    margin: 4rem 0 5rem;
  }

  .ly-smp-full:first-child {
    margin-top: 0;
  }

  .ly-smp-full:last-child {
    margin-bottom: 0;
  }

  .ly-smp-full__block {
    margin: 4rem 0 0;
  }

  .ly-smp-full__block:first-child {
    margin-top: 0;
  }

  .ly-smp-full__box {
    margin: 2rem 0 0;
  }

  .ly-smp-full__box:first-child {
    margin-top: 0;
  }

  .ly-smp-full__block-border {
    margin: 4rem 0 0;
    padding-top: 2rem;
    border-top: 1px solid #ddd;
  }

  .ly-smp-full__block-border:first-child {
    margin-top: 0;
  }

  .ly-smp-full__narrow {
    margin-right: 2rem;
    margin-left: 2rem;
  }

  .ly-full {
    width: 100%;
  }

  .box-border {
    padding: 2.5rem 2rem;
    border: 2px solid #ddd;
    background-color: #fff;
  }

  .box-border__heading {
    margin-bottom: 1.5rem;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.5;
  }

  .box-border__heading:last-child {
    margin-bottom: 0;
  }

  .box-border__heading--caution {
    position: relative;
    padding-left: 1.5em;
  }

  .box-border__heading--caution::before {
    content: "";
    display: inline-block;
    position: absolute;
    top: 0.2em;
    left: 0;
    width: 2rem;
    height: 2rem;
    margin-right: 0;
    background: url("/common/img/ci/ico_caution.svg") no-repeat left top/2rem;
    vertical-align: -0.2rem;
  }

  .box-border__tag {
    margin-right: 1.2rem;
    padding: 0.4rem 1rem;
    background-color: #333;
    color: #fff;
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1;
    vertical-align: 0.2rem;
  }

  .box {
    padding: 2.5rem 2rem;
    background-color: #f7f7f7;
  }

  .box__heading {
    margin-bottom: 1.5rem;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.5;
  }

  .box-balloon, .box-balloon-gray {
    position: relative;
    display: inline-block;
    margin-top: 2.2rem;
    padding: 2.5rem 2rem;
    width: 100%;
    background: #f5edde;
    box-sizing: border-box;
  }
  .box-balloon-gray {
    background: #ddd;
  }
  .box-balloon:before, .box-balloon-gray:before {
    content: "";
    position: absolute;
    top: -3.6rem;
    left: 50%;
    margin-left: -1.5rem;
    border: 1.4rem solid transparent;
    border-bottom: 2.2rem solid #f5edde;
  }
  .box-balloon-gray:before {
    border-bottom: 2.2rem solid #ddd;
  }

  .box-shadow {
    box-shadow: 0 0.2rem 1rem rgba(0, 0, 0, 0.08);
  }

  .box-shadow__heading {
    display: flex;
    align-items: center;
    padding: 2rem;
    border-bottom: 0.2rem solid #876528;
    background-color: #faf6ef;
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1.25;
  }

  .box-shadow__heading-icon {
    margin-right: 1rem;
  }

  .box-shadow__link-heading {
    border-bottom: 0.2rem solid #876528;
    background-color: #faf6ef;
  }

  .box-shadow__link {
    display: block;
    position: relative;
    padding: 2rem 4rem 2rem 2rem;
    color: #333;
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1.25;
    text-decoration: none;
  }

  .box-shadow__link:hover {
    color: #876528;
  }

  .box-shadow__link::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 2.3rem;
    width: 1.3rem;
    height: 1.3rem;
    margin-top: -0.9rem;
    transform: rotate(45deg);
    border-width: 1px 1px 0 0;
    border-style: solid;
    border-color: #333;
  }

  .box-shadow__link--smp-small {
    font-size: 2rem;
  }

  .box-shadow__link-label {
    display: inline-block;
    padding: 0.8rem 0.5rem;
    background: #333;
    color: #fff;
    font-size: 1.2rem;
    font-weight: normal;
    line-height: 1;
  }

  .box-shadow__inner {
    padding: 3rem 2rem;
  }

  .box-image {
    text-align: center;
  }

  .box-image img {
    max-width: 100%;
    vertical-align: bottom;
  }

  .box-2column,
  .box-3column {
    display: flex;
    flex-direction: column;
    margin-bottom: 2rem;
  }

  .box-2column:last-child,
  .box-3column:last-child {
    margin-bottom: 0;
  }

  .box-2column__zoom,
  .box-3column__zoom {
    margin-right: 1.2rem;
    text-decoration: none;
  }

  .box-2column__image,
  .box-3column__image {
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    align-items: center;
    margin-bottom: 2.5rem;
    text-align: center;
  }

  .box-2column__image:last-child,
  .box-3column__image:last-child {
    margin-bottom: 0;
  }

  .box-2column__image img,
  .box-3column__image img {
    flex-shrink: 0;
    max-width: 100%;
    vertical-align: bottom;
  }

  .box-2column__heading,
  .box-3column__heading {
    display: flex;
    align-items: center;
    margin-bottom: 1rem;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.7;
  }

  .flow .box-2column__heading,
  .flow .box-3column__heading {
    font-size: 1.5rem;
  }

  .box-2column__heading.u-center,
  .box-3column__heading.u-center {
    justify-content: center;
    text-align: center;
  }

  .box-2column__heading-icon,
  .box-3column__heading-icon {
    flex-shrink: 0;
    width: 4.4rem;
    margin-right: 1.2rem;
  }

  .flow .box-2column__heading-icon,
  .flow .box-3column__heading-icon {
    width: 3rem;
    margin-right: 0.8rem;
  }

  .box-2column__heading-icon img,
  .box-3column__heading-icon img {
    display: block;
    max-width: 100%;
  }

  .box-3column.box-shadow:not(:first-child) {
    margin-top: 4rem;
  }

  .box-thumbnail__text {
    margin-bottom: 1rem;
  }

  .box-thumbnail__button {
    display: block;
    width: 12rem;
    margin: 0 auto;
    text-decoration: none;
  }

  .box-thumbnail__button img {
    display: block;
  }

  .box-caution {
    padding: 2.5rem 2rem;
    border: 0.2rem solid rgba(230, 0, 0, 0.2);
    background: rgba(253, 230, 230, 0.2);
  }

  .box-caution--link {
    display: block;
    position: relative;
    margin-bottom: 3rem;
    padding-right: 4rem;
    color: #333;
    text-decoration: none;
  }

  .box-caution--link:last-child {
    margin-bottom: 0;
  }

  .box-caution--link::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 20px;
    width: 17px;
    height: 17px;
    margin-top: -9px;
    transform: rotate(45deg);
    border-width: 1px 1px 0 0;
    border-style: solid;
    border-color: #e60000;
  }

  .box-caution__heading {
    position: relative;
    margin-bottom: 1.5rem;
    padding-left: 2.5rem;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.5;
  }

  .box-caution__heading:last-child,
  .box-caution__heading--zero {
    margin-bottom: 0;
  }

  .box-caution__heading::before {
    content: "";
    display: block;
    position: absolute;
    top: 0.3rem;
    left: 0;
    width: 2rem;
    height: 2rem;
    margin-right: 0.5rem;
    background: url("/common/img/ci/ico_caution.svg") no-repeat left top/2rem;
    vertical-align: -0.2rem;
  }

  .box-warning {
    padding: 2.5rem 2rem;
    border: 1px solid #e60000;
  }

  .box-warning__heading {
    margin-bottom: 1rem;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.2;
    text-align: center;
  }

  .box-warning__sub-head {
    margin-bottom: 2.5rem;
    color: #e60000;
    font-weight: bold;
    text-align: center;
  }

  .box-calc {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: -1.6rem;
  }

  .box-calc__item {
    display: flex;
    box-sizing: border-box;
    flex-direction: column;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    min-width: 6rem;
    min-height: 4.5rem;
    margin: 0 0.4rem 1.6rem 0;
    padding: 0.4rem 0.6rem;
    background: #f7f7f7;
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1.3;
    text-align: center;
  }

  .box-calc__item:last-child {
    margin-right: 0;
  }

  .box-calc__sub {
    margin-top: 0.3rem;
    font-size: 1.1rem;
    font-weight: normal;
  }

  .box-calc__symbol {
    align-self: center;
    margin: 0 0.4rem 1.6rem 0;
    font-size: 2rem;
  }

  .box-calc__symbol:last-child {
    margin-right: 0;
  }

  .box-calc__result {
    display: flex;
    box-sizing: border-box;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 8.4rem;
    min-height: 4.5rem;
    margin: 0 0 1.6rem 0;
    padding: 0.4rem 0.6rem;
    background: #faf6ef;
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1.3;
    text-align: center;
  }

  .box-login-entrance {
    padding: 3.5rem 2rem;
    background: #f7f7f7;
  }

  .box-login-entrance__box:nth-child(n + 2) {
    margin-top: 2.5rem;
  }

  .box-login-entrance__text {
    margin-top: 1.5rem;
    font-size: 1.5rem;
    text-align: left;
  }

  .box-news {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }

  .box-news__image {
    width: 12rem;
    margin-right: 2rem;
    margin-bottom: auto;
  }

  .box-news__image img {
    display: block;
    max-width: 100%;
    margin: 0 auto;
  }

  .box-news__title {
    width: calc(100% - 14rem);
    font-size: 1.8rem;
    font-weight: bold;
  }

  .box-news__text {
    width: 100%;
    margin-top: 2rem;
  }

  .box-news__link {
    width: 100%;
    margin-top: 1rem;
    text-align: right;
  }

  .box-news__page {
    margin-right: 2rem;
  }

  .box-agree {
    text-align: center;
  }

  .box-agree__check {
    margin-bottom: 4rem;
  }

  /* 動画関連 */
  .box-movie {
    padding-top: 56.25%;
    position: relative;
    width: 100%;
  }
  .box-movie iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
  }

  .box-pickup {
    display: block;
    margin-bottom: 3rem;
    padding-bottom: 0.1px;
    color: #333;
    text-align: center;
    text-decoration: none;
  }

  .box-pickup:last-child {
    margin-bottom: 0;
  }

  .box-pickup__catch {
    padding: 10px;
    background: #333;
    color: #fff;
    font-size: 15px;
    letter-spacing: 0.05em;
    line-height: 1;
  }

  .box-pickup__image {
    margin-bottom: 3rem;
  }

  .box-pickup__image img {
    display: block;
    width: 100%;
  }

  .box-pickup__heading {
    margin: 2.5rem 2rem;
    font-size: 2rem;
    font-weight: bold;
  }

  .box-pickup__heading span {
    display: block;
    font-size: 1.6rem;
  }

  .box-pickup:hover .box-pickup__heading {
    color: #876528;
  }

  .box-pickup__text {
    margin: 2.5rem 2rem;
    text-align: left;
  }

  .box-learn {
    padding: 3rem 0;
    background: linear-gradient(to bottom, rgba(135, 101, 40, 0.5), rgba(135, 101, 40, 0)) no-repeat left top, url("/common/img/bg_learn.jpg") no-repeat left -20rem top/cover;
  }

  .box-learn__heading {
    margin: 0 0 1.5rem;
    color: #fff;
    font-size: 3rem;
    line-height: 1.5;
    text-align: center;
  }

  .box-learn__heading span {
    display: block;
    font-size: 1.6rem;
  }

  .box-learn__link-pickup {
    display: block;
    box-sizing: border-box;
    margin: 0 2rem;
    padding: 3rem;
    border: 1px solid #876528;
    border-radius: 0.3rem;
    background: rgba(255, 255, 255, 0.77);
    color: #333;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
  }

  .box-learn__link-pickup::before {
    content: "";
    display: inline-block;
    width: 7rem;
    height: 6.1rem;
    margin-right: 3rem;
    background: url("/common/img/img_life100.svg") no-repeat left top/contain;
    vertical-align: -2rem;
  }

  .box-learn__link {
    display: block;
    box-sizing: border-box;
    margin: 2rem 2rem 0;
    padding: 2rem 0;
    border: 1px solid #876528;
    border-radius: 0.3rem;
    background: rgba(255, 255, 255, 0.77);
    color: #333;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
  }

  .box-detail__item:nth-child(n + 2) {
    margin-top: 3rem;
  }

  .box-detail__image {
    width: 100%;
  }

  .box-detail__image img {
    max-width: 100%;
  }

  .box-detail__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 3rem 2rem;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.08);
  }

  .box-detail__heading {
    margin-bottom: 2.5rem;
    font-size: 2rem;
    font-weight: bold;
    text-align: center;
  }

  .box-detail__desc {
    max-width: 100%;
    margin-bottom: 3rem;
  }

  .box-detail__button {
    display: inline-flex;
    position: relative;
    box-sizing: border-box;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 4.9rem;
    margin: 0 0 2rem;
    padding: 1rem 3rem 1rem 2rem;
    border: 1px solid #876528;
    border-radius: 0.3rem;
    background: #fff;
    color: #876528;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
  }

  .box-detail__button::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 2rem;
    margin-top: -0.5rem;
    transition: 0.2s ease-out;
    border-width: 0.5rem 0 0.5rem 0.6rem;
    border-style: solid;
    border-color: transparent #876528;
  }

  .box-search-button {
    display: flex;
    flex-direction: row-reverse;
    gap: 0.8rem;
    margin-top: 15px;
  }

  .button {
    display: inline-flex;
    position: relative;
    box-sizing: border-box;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 4.9rem;
    margin: 0 0 2rem;
    padding: 1rem 3rem 1rem 2rem;
    border: 1px solid #876528;
    border-radius: 0.3rem;
    background: #fff;
    color: #876528;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
  }

  .button-box .button {
    margin-bottom: 1rem;
  }

  .button-anchor-box .button {
    align-items: flex-start;
    font-size: 1.5rem;
    line-height: 1;
    margin-bottom: 1rem;
    min-height: 100%;
    padding: 0.8rem 3.5rem 0.8rem 1.5rem;
  }

  .button::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 2rem;
    margin-top: -0.5rem;
    transition: 0.2s ease-out;
    border-width: 0.5rem 0 0.5rem 0.6rem;
    border-style: solid;
    border-color: transparent #876528;
  }

  .button-anchor-box .button::before {
    right: 1.6rem;
  }

  .button:last-child {
    margin-bottom: 0;
  }

  .button--more::before {
    transform: rotate(90deg);
  }

  .button--more.is-open::before {
    transform: rotate(-90deg);
  }

  .button__text {
    max-width: 100%;
    font-size: 1.5rem;
    font-weight: normal;
    line-height: 1;
  }

  .button--back {
    padding: 1rem 2rem 1rem 3rem;
  }

  .button--back::before {
    right: auto;
    left: 2rem;
    border-width: 0.5rem 0.6rem 0.5rem 0;
  }

  .button--block {
    flex-direction: row;
    cursor: auto;
  }

  .button--block::before {
    display: none;
  }

  .button--label {
    flex-direction: row;
  }

  .button.is-disabled {
    border-color: #ddd;
    background-color: #ddd;
    color: #8d8d8d;
    pointer-events: none;
  }

  .button.is-disabled::before {
    border-color: transparent #8d8d8d;
  }

  .button-caption {
    margin-bottom: 1rem;
    color: #333;
    font-size: 1.3rem;
    font-weight: bold;
    text-align: center;
    cursor: pointer;
  }

  .button-primary {
    display: inline-flex;
    position: relative;
    box-sizing: border-box;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 5rem;
    padding: 1rem 3rem 1rem 2rem;
    border: 1px solid #876528;
    border-radius: 0.3rem;
    background: #876528;
    color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
  }

  .button-primary::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 2rem;
    margin-top: -0.5rem;
    border-width: 0.5rem 0 0.5rem 0.6rem;
    border-style: solid;
    border-color: transparent #fff;
  }

  .button-primary__text {
    font-size: 1.5rem;
    font-weight: normal;
    line-height: 1;
  }
  .button-primary.is-disabled {
    border-color: #ddd;
    background-color: #ddd;
    color: #8d8d8d;
    pointer-events: none;
  }

  .button-primary.is-disabled::before {
    border-color: transparent #8d8d8d;
  }
  .button-primary .link-pdf {
    color: inherit;
  }
  .button-primary .link-pdf .link-pdf__icon {
    background: #fff;
    color: #876528;
  }

  .button-primary-caption {
    margin-bottom: 1rem;
    color: #876528;
    font-size: 1.3rem;
    font-weight: bold;
    text-align: center;
    cursor: pointer;
  }

  .button-account {
    display: inline-flex;
    position: relative;
    box-sizing: border-box;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 4.9rem;
    padding: 1rem 3rem 1rem 2rem;
    border: 1px solid #333;
    border-radius: 0.3rem;
    background: #fff;
    color: #333;
    font-size: 1.6rem;
    font-weight: bold;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
  }

  .button-account::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 2rem;
    margin-top: -0.5rem;
    border-width: 0.5rem 0 0.5rem 0.6rem;
    border-style: solid;
    border-color: transparent #333;
  }

  .button-account-caption {
    margin-bottom: 1rem;
    color: #333;
    font-size: 1.3rem;
    font-weight: bold;
    text-align: center;
    cursor: pointer;
  }

  .button-action {
    display: inline-flex;
    position: relative;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 5rem;
    padding: 1rem 2rem;
    border: 0;
    border-radius: 0.3rem;
    background: #8d8d8d;
    color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
  }

  .button-action--cancel::before {
    content: "";
    display: inline-block;
    width: 1.6rem;
    height: 1.6rem;
    margin-right: 0.5rem;
    background: url("/common/img/white/ico_cancel.svg") no-repeat left top/1.6rem;
  }

  .button-small,
  .button-small-label,
  .button-small-arrow {
    display: inline-block;
    position: relative;
    box-sizing: border-box;
    height: 3.6rem;
    margin: 0 0.2rem;
    padding: 0 1.8rem;
    border: 1px solid #876528;
    border-radius: 3px;
    background: #fff;
    color: #876528;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 3.4rem;
    text-decoration: none;
    vertical-align: middle;
    white-space: nowrap;
  }

  .button-small:first-child {
    margin-left: 0;
  }

  .button-small:last-child {
    margin-right: 0;
  }

  .button-small-arrow {
    padding-right: 2.6rem;
  }
  .button-small-arrow::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 1rem;
    margin-top: -0.5rem;
    border-width: 0.4rem 0 0.4rem 0.5rem;
    border-style: solid;
    border-color: transparent #876528;
  }
  .button-anchor {
    display: flex;
    position: relative;
    box-sizing: border-box;
    width: 100%;
    margin-bottom: 1rem;
    padding: 0.8rem 3.5rem 0.8rem 1.5rem;
    border: 1px solid #876528;
    border-radius: 0.3rem;
    background: #fff;
    color: #876528;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1;
    text-align: left;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
  }
  
  .button-anchor.button-primary {
    background: #876528;
    color: #fff;
  }

  .button-anchor:last-child {
    margin-bottom: 0;
  }

  .button-anchor::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 1.5rem;
    margin-top: -0.2rem;
    border-width: 0.6rem 0.5rem 0;
    border-style: solid;
    border-color: #876528 transparent;
  }
  
  .button-anchor.button-primary::before {
    border-color: #fff transparent;
  }

  .button-anchor.is-active::before {
    border-width: 0 5px 6px;
  }

  .button-anchor__text {
    align-self: center;
    margin-right: 0.8rem;
    padding: 0.2rem 0.5rem 0;
    background: #faf6ef;
    color: #876528;
    font-size: 11px;
    font-weight: normal;
    line-height: 1;
  }

  .button-zoom {
    display: block;
    width: 6rem;
    height: 3.6rem;
    margin: 0.8rem auto 0;
    border-radius: 0.3rem;
    background: #333 url("/common/img/white/ico_zoom.svg") no-repeat center center/2rem;
    color: transparent;
  }

  .button-close {
    display: inline-flex;
    position: relative;
    box-sizing: border-box;
    padding: 0.8rem 1.8rem;
    border: 0;
    border-radius: 0.3rem;
    background: #fff;
    color: #333;
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
  }

  .button-close::before {
    content: "";
    display: inline-block;
    width: 1.2rem;
    height: 1.2rem;
    margin-right: 0.6rem;
    background: url("/common/img/black/ico_cancel.svg") no-repeat left top/contain;
  }

  .button-start {
    display: flex;
    position: relative;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    height: 6.5rem;
    padding: 1.5rem 3rem 1.5rem 2rem;
    overflow: hidden;
    transition: 0.2s all;
    border: 1px solid #876528;
    border-radius: 3px;
    text-decoration: none;
  }

  .button-start::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 6.8rem;
    height: 7.4rem;
    transform: translateY(-50%);
    background: url("/common/img/accent/ico_flag.svg") no-repeat center center/contain;
  }

  .button-start::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 2rem;
    margin-top: -0.5rem;
    transition: 0.2s ease-out;
    border-width: 0.5rem 0 0.5rem 0.6rem;
    border-style: solid;
    border-color: transparent #876528;
  }

  .button-start__text {
    display: flex;
    z-index: 1;
    flex-direction: column;
    align-items: center;
    padding-left: 1.7rem;
    color: #876528;
    font-weight: bold;
    line-height: 1;
    text-shadow: #fff 2px 0 0, #fff -2px 0 0, #fff 0 -2px 0, #fff 0 2px 0, #fff 2px 2px 0, #fff -2px 2px 0, #fff 2px -2px 0, #fff -2px -2px 0, #fff 1px 2px 0, #fff -1px 2px 0, #fff 1px -2px 0, #fff -1px -2px 0, #fff 2px 1px 0, #fff -2px 1px 0, #fff 2px -1px 0, #fff -2px -1px 0, #fff 1px 1px 0, #fff -1px 1px 0, #fff 1px -1px 0, #fff -1px -1px 0;
  }

  .button-start__sub {
    display: flex;
    margin-bottom: 0.4rem;
    font-size: 1rem;
    font-weight: normal;
  }

  .button-start__sub::before {
    content: "";
    width: 1px;
    height: 1.5rem;
    margin-right: 0.5rem;
    transform: rotate(-25deg);
    background: #876528;
    box-shadow: 0 0 0 2px #fff;
  }

  .button-start__sub::after {
    content: "";
    width: 1px;
    height: 1.5rem;
    margin-left: 0.5rem;
    transform: rotate(25deg);
    background: #876528;
    box-shadow: 0 0 0 2px #fff;
  }

  .button-next {
    display: inline-flex;
    position: relative;
    box-sizing: border-box;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 3.6rem;
    padding: 1rem 3rem 1rem 2rem;
    border: 1px solid #876528;
    border-radius: 0.3rem;
    background: #fff;
    color: #876528;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    text-align: center;
    margin-left: 0.5rem;
  }

  .button-next::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 1.5rem;
    margin-top: -0.5rem;
    transition: 0.2s ease-out;
    border-width: 0.5rem 0 0.5rem 0.6rem;
    border-style: solid;
    border-color: transparent #876528;
  }

  .button-next.is-disabled {
    border-color: #ddd;
    background-color: #ddd;
    color: #8d8d8d;
    pointer-events: none;
  }

  .button-next.is-disabled::before {
    border-color: transparent #8d8d8d;
  }

  .button-back {
    display: inline-flex;
    position: relative;
    box-sizing: border-box;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 3.6rem;
    padding: 1rem 2rem 1rem 3rem;
    border: 1px solid #876528;
    border-radius: 0.3rem;
    background: #fff;
    color: #876528;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    text-align: center;
  }

  .button-back::before {
    content: "";
    position: absolute;
    top: 50%;
    right: auto;
    left: 1.5rem;
    margin-top: -0.5rem;
    transition: 0.2s ease-out;
    border-width: 0.5rem 0.6rem 0.5rem 0;
    border-style: solid;
    border-color: transparent #876528;
  }

  .button-back.is-disabled {
    border-color: #ddd;
    background-color: #ddd;
    color: #8d8d8d;
    pointer-events: none;
  }

  .button-back.is-disabled::before {
    border-color: transparent #8d8d8d;
  }

  .button-search {
    display: inline-flex;
    position: relative;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    width: 100%;
    min-height: 5rem;
    padding: 1rem 3rem 1rem 2rem;
    border: 1px solid #876528;
    border-radius: 0.3rem;
    background: #876528;
    color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
  }

  .button-search::before {
    content: "";
    width: 16px;
    height: 16px;
    background-color: #fff;
    mask: url("/common/img/white/ico_search.svg") no-repeat center / contain;
  }

  .button-clear {
    width: 12.6rem;
    white-space: nowrap;
  }

  .contact {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 3.5rem 2rem 4rem;
    border: 0.3rem solid #ddd;
  }

  .contact__heading {
    width: 100%;
    margin-bottom: 2.5rem;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.38;
    text-align: center;
  }

  .contact__caption {
    margin-bottom: 1rem;
    font-size: 1.6rem;
    font-weight: bold;
  }

  .contact__caption img {
    display: inline-block;
    width: 4rem;
    margin-right: 1.2rem;
    vertical-align: middle;
  }

  .contact__tel {
    color: #333;
    font-size: 3.4rem;
    font-weight: bold;
    line-height: 1;
    text-decoration: none;
  }

  .contact__time {
    margin-top: 1.5rem;
  }

  .contact__note {
    max-width: 100%;
  }

  .contact-tel img {
    display: inline-block;
    align-self: flex-start;
    width: 3.2rem;
    margin-right: 0.5rem;
    vertical-align: -0.6rem;
  }

  .contact-tel--large img {
    width: 4rem;
    margin-right: 1.5rem;
    vertical-align: -5px;
  }

  .contact-tel__tel {
    color: #333;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1;
    text-decoration: none;
  }

  .contact-tel--large .contact-tel__tel {
    font-size: 2.6rem;
  }

  .contact-now {
    box-sizing: border-box;
    padding: 3rem 2rem;
    border-top: 0.5rem solid #876528;
    background: #faf6ef;
  }

  .contact-now__head {
    margin-bottom: 2rem;
  }

  .contact-now__heading {
    margin-bottom: 2rem;
    color: #876528;
    font-size: 2.2rem;
    line-height: 1;
    text-align: center;
  }

  .contact-now__note {
    margin: 2rem 0 3rem;
  }

  .contact-now__button {
    margin-top: 2.5rem;
  }

  .contact-now__account-open {
    width: calc(100% - 4rem);
    margin: 0 2rem;
  }

  .contact-question {
    margin-top: 5rem;
  }

  .contact-question__text {
    margin-bottom: 3rem;
  }

  .contact-question__tel {
    display: flex;
    justify-content: center;
    margin-bottom: 1.5rem;
  }

  .contact-question__time {
    margin-bottom: 2.5rem;
    text-align: center;
  }

  .contact-question__note .note-text {
    margin-bottom: -rem(5);
  }

  .contact-question__message {
    margin: 25px 0;
    text-align: center;
  }

  .flow__step {
    position: relative;
    margin-bottom: 4.5rem;
    padding: 2.5rem 2rem;
    border: 0.3rem solid #ddd;
    border-radius: 0.2rem;
    background: #fff;
  }

  .flow__step:not(:last-child)::after {
    content: "";
    display: block;
    position: absolute;
    bottom: -1.5rem;
    left: 50%;
    margin-left: -1.2rem;
    border-width: 1.5rem 1.2rem 0;
    border-style: solid;
    border-color: #ddd transparent;
  }

  .flow__step:last-child {
    margin-bottom: 0;
  }

  .flow__step--em {
    background: #faf6ef;
  }

  .flow__step--simple {
    padding: 2.5rem 0 2rem;
    border: 0;
  }

  .flow__heading {
    margin-bottom: 3rem;
    font-size: 1.8rem;
    font-weight: bold;
  }

  .flow__heading--zero {
    margin-bottom: 0;
  }

  .flow__tag {
    margin-right: 1.2rem;
    padding: 0.4rem 1rem;
    background-color: #333;
    color: #fff;
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1;
    vertical-align: 0.2rem;
  }

  .flow-column__step {
    position: relative;
    box-sizing: border-box;
    margin-bottom: 4.5rem;
    padding: 3rem 2rem 2.5rem;
    border: 0.3rem solid #ddd;
    background: #fff;
  }

  .flow-column__step:not(:last-child)::after {
    content: "";
    display: block;
    position: absolute;
    z-index: -1;
    bottom: -1.5rem;
    left: 50%;
    margin-left: -1.2rem;
    border-width: 1.5rem 1.2rem 0;
    border-style: solid;
    border-color: #ddd transparent;
  }

  .flow-column__step:last-child {
    margin-bottom: 0;
  }

  .flow-column--simple .flow-column__step {
    padding: 2.5rem 2rem;
    border: 1px solid #8d8d8d;
  }

  .flow-column__heading {
    margin-bottom: 2rem;
    font-size: 1.8rem;
    font-weight: bold;
  }

  .flow-column__sub-head {
    font-size: 1.5rem;
    font-weight: bold;
  }

  .flow-column__heading+.flow-column__sub-head {
    margin-top: -2rem;
  }

  .flow-column__image {
    display: block;
    margin-bottom: 1.5rem;
  }

  .flow-column__image img {
    display: block;
    max-width: 100%;
    margin: 0 auto;
  }

  .flow-small--link {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: -1.5rem;
  }

  .flow-small__step,
  .flow-small__link {
    display: block;
    position: relative;
    box-sizing: border-box;
    margin-bottom: 3.5rem;
    padding: 0.5rem 1rem;
    border: 1px solid #333;
    background: #fff;
    color: #333;
    text-align: center;
    text-decoration: none;
  }

  .flow-small__step:not(:last-child)::after,
  .flow-small__link:not(:last-child)::after {
    content: "";
    display: block;
    position: absolute;
    bottom: -2.6rem;
    left: 50%;
    margin-left: -1.2rem;
    border-width: 1.5rem 1.2rem 0;
    border-style: solid;
    border-color: #ddd transparent;
  }

  .flow-small__step--em,
  .flow-small__link--em {
    border-color: #876528;
    background-color: #faf6ef;
    color: #876528;
  }

  .flow-small--link .flow-small__step,
  .flow-small--link .flow-small__link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc((100% - 6rem) / 3);
    min-height: 5rem;
    margin: 0 2rem 1.5rem 0;
    color: #333;
    line-height: 1.25;
    text-decoration: none;
  }

  .flow-small--link .flow-small__step:not(:last-child)::after,
  .flow-small--link .flow-small__link:not(:last-child)::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: -1.5rem;
    bottom: auto;
    left: auto;
    transform: translateY(-50%);
    border-width: 6px 0 6px 7.5px;
    border-style: solid;
    border-color: transparent #8d8d8d;
  }

  .flow-small--link .flow-small__step.is-current,
  .flow-small--link .flow-small__link.is-current {
    border-color: #5a5a5a;
    background-color: #5a5a5a;
    color: #fff;
  }

  .flow-small__step {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .flow-small__heading {
    font-size: 1.8rem;
    font-weight: bold;
  }

  .flow-small__text {
    max-width: 100%;
    font-weight: bold;
    text-align: center;
  }

  .flow-small__sub {
    font-size: 1.2rem;
  }

  .headline01 {
    margin: 0 2rem 4rem;
    font-size: 3rem;
    font-weight: bold;
    text-align: center;
  }

  .heading01 {
    margin-bottom: 3.5rem;
    font-size: 3rem;
    font-weight: bold;
    line-height: 1.25;
  }

  .heading01::before {
    content: "";
    display: block;
    width: 8rem;
    height: 1px;
    margin-bottom: 2rem;
    background-color: #876528;
  }

  .heading01__label-box {
    display: flex;
    align-items: flex-start;
    padding-top: 1.5rem;
  }

  .heading01__box {
    display: flex;
    flex-direction: column;
  }

  .heading01__icon-box {
    display: flex;
    margin-top: 1.5rem;
  }

  .heading01__icon:nth-child(n + 2) {
    margin-left: 0.8rem;
  }

  .heading01__image-icon {
    flex-shrink: 0;
    margin-right: 1.2rem;
  }

  .heading01__image-icon.ico-risk {
    width: 2.3rem;
    height: 3rem;
    vertical-align: -0.2rem;
  }

  .heading02 {
    position: relative;
    margin-bottom: 2.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #ddd;
    font-size: 2.6rem;
    font-weight: bold;
    line-height: 1.25;
  }

  .heading02::after {
    content: "";
    display: block;
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 4.8rem;
    height: 1px;
    background-color: #876528;
  }

  .heading02--step,
  .heading02--point {
    display: flex;
    align-items: flex-start;
    width: 100%;
    padding-top: 1.5rem;
  }

  .heading03 {
    display: flex;
    margin-bottom: 2rem;
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1.5;
  }

  .heading03--step,
  .heading03--point {
    align-items: flex-start;
    width: 100%;
    padding-top: 1.5rem;
  }

  .heading03__image-icon {
    flex-shrink: 0;
    width: 4rem;
    height: 4rem;
    margin-right: 1.2rem;
  }

  .heading03__image-icon img {
    display: block;
    max-width: 100%;
    max-height: 100%;
  }

  .heading04 {
    margin-bottom: 1.5rem;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.5;
  }

  .heading04--step,
  .heading04--point {
    display: flex;
    align-items: flex-start;
    width: 100%;
    padding-top: 1.5rem;
  }

  .heading05 {
    display: flex;
    align-items: center;
    margin-bottom: 1.5rem;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.5;
  }

  .heading05__image-icon {
    flex-shrink: 0;
    width: 4rem;
    height: 4rem;
    margin-right: 1.2rem;
  }

  .heading05__image-icon img {
    display: block;
    max-width: 100%;
    max-height: 100%;
  }

  .heading-sub {
    display: block;
    margin-bottom: 0.8rem;
    font-size: 1.5rem;
    font-weight: normal;
  }

  .heading-sub2 {
    display: block;
    margin-top: 0.8rem;
    font-size: 1.5rem;
    font-weight: normal;
  }

  .heading-link {
    display: inline-block;
    position: relative;
    padding-right: 4rem;
    color: #333;
    text-decoration: none;
  }

  .heading-link:hover {
    color: #876528;
  }

  .heading-link::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 2rem;
    width: 1.7rem;
    height: 1.7rem;
    margin-top: -0.9rem;
    transform: rotate(45deg);
    border-width: 1px 1px 0 0;
    border-style: solid;
    border-color: #333;
  }

  .heading-label {
    display: flex;
    position: relative;
    flex-direction: column;
    align-items: center;
    margin-right: 1.5rem;
  }

  .heading-label__text {
    position: absolute;
    top: -1.5rem;
    left: 50%;
    transform: translateX(-50%);
    font-size: 1.1rem;
    font-weight: normal;
    white-space: nowrap;
  }

  .heading-label__number {
    display: inline-block;
    width: 3.5rem;
    height: 3.3rem;
    background-color: #333;
    color: #fff;
    font-size: 1.5rem;
    font-weight: normal;
    line-height: 3.3rem;
    text-align: center;
  }

  .heading-label--primary .heading-label__number,
  .heading02--point .heading-label__number,
  .heading03--point .heading-label__number,
  .heading04--point .heading04-label__number {
    background: #876528;
    color: #fff;
  }

  .heading04-label {
    display: flex;
    position: relative;
    flex-direction: column;
    align-items: center;
    margin-right: 1.2rem;
  }

  .heading04-label__text {
    position: absolute;
    top: -1.5rem;
    left: 50%;
    transform: translateX(-50%);
    color: #5a5a5a;
    font-size: 1rem;
    font-weight: normal;
    white-space: nowrap;
  }

  .heading04-label__number {
    display: inline-block;
    width: 3.5rem;
    height: 3rem;
    background-color: #f7f7f7;
    color: #5a5a5a;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 3rem;
    text-align: center;
  }

  .heading-single03 {
    margin: 0 0 3rem;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.375;
    text-align: center;
  }

  .heading-single03__em {
    color: #876528;
  }

  .sub-head {
    margin-bottom: 3rem;
    padding-bottom: 1rem;
    border-bottom: 0.1rem solid #876528;
    font-size: 2rem;
    font-weight: bold;
    text-align: center;
  }

  .heading-small-text {
    font-size: 0.58em;
    font-weight: normal;
  }

  .heading-accent {
    color: #876528;
  }

  .ico-risk {
    display: inline-block;
    width: 1.3rem;
    height: 1.6rem;
    background: url("/common/img/ci/ico_risk.svg") no-repeat center top/100% auto;
    vertical-align: -0.2rem;
  }

  .header .ico-risk {
    margin-right: 1rem;
  }

  .ico-beginner {
    display: inline-block;
    width: 1.5rem;
    height: 2.5rem;
    background: url("/common/img/accent/ico_beginner.svg") no-repeat left top/100% auto;
    vertical-align: -0.5rem;
  }

  .input-label {
    display: inline-block;
    position: relative;
  }

  .input-label input {
    position: absolute;
    opacity: 0;
  }

  .input-text {
    box-sizing: border-box;
    width: 100%;
    padding: 0.8rem 1.5rem;
    border: 1px solid #5a5a5a;
    border-radius: 0.3rem;
    background-color: #fff;
    font-size: 16px;
  }

  .input-text:focus {
    outline: none;
  }

  .input-checkbox {
    display: inline-block;
    position: relative;
    padding-left: 2.8rem;
    line-height: 1.2;
  }

  .input-checkbox::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 1.8rem;
    height: 1.8rem;
    border: 1px solid #8d8d8d;
    border-radius: 0.3rem;
    background: #fff;
  }

  input:checked+.input-checkbox {
    color: #876528;
  }

  input:checked+.input-checkbox::before {
    border-color: #876528;
    background: #876528 url("/common/img/white/ico_check.svg") no-repeat center center / 1.2rem auto;
  }

  .input-select {
    display: inline-block;
    position: relative;
    border: 1px solid #5a5a5a;
    border-radius: 0.3rem;
    background-color: #fff;
  }

  .input-select::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 15px;
    margin-top: -2px;
    border-width: 0.5rem 0.4rem 0;
    border-style: solid;
    border-color: #333 transparent;
    pointer-events: none;
  }

  .input-select select {
    display: block;
    width: 100%;
    padding: 0.5rem 2.5rem 0.5rem 1.5rem;
    border: 0;
    background-color: transparent;
    color: #333;
    font-size: 16px;
    line-height: 2.6rem;
    cursor: pointer;
  }

  .input-select select:focus {
    outline: none;
  }

  .input-select select::-ms-expand {
    display: none;
  }

  .input-search {
    display: flex;
  }

  .input-search__text {
    box-sizing: border-box;
    width: calc(100% - 8.3rem);
    padding: 0.5rem 0.8rem;
    border: 1px solid #ddd;
    border-radius: 0.3rem 0 0 0.3rem;
    font-size: 16px;
  }

  .input-search__button {
    box-sizing: border-box;
    width: 8.3rem;
    transition: background-color 0.2s ease-out;
    border: 0;
    border-radius: 0 0.3rem 0.3rem 0;
    background: #333 center/18px;
    color: #fff;
    font-size: 1.5rem;
    text-align: center;
    cursor: pointer;
  }

  .header-search .input-search__button {
    background-color: #876528;
  }

  .input-radio {
    display: block;
    margin-right: 0.5rem;
  }

  .input-radio input {
    position: absolute;
    opacity: 0;
  }

  .input-radio__name {
    display: flex;
    position: relative;
    box-sizing: content-box;
    flex-wrap: wrap;
    align-items: center;
    margin: 0 auto;
    transition: 0.2s linear;
    font-size: 1.4rem;
    line-height: 1.2;
    cursor: pointer;
  }

  .input-radio__name::before {
    content: "";
    display: block;
    width: 2rem;
    height: 2rem;
    margin-right: 0.5rem;
    background: url("/common/img/ico_radio_off.svg") 50% 50%/100% 100% no-repeat;
  }

  input:checked+.input-radio__name::before {
    background-image: url("/common/img/ico_radio_on.svg");
  }

  input:checked+.input-radio__name {
    color: #876528;
  }

  .text-label {
    background: #876528;
    color: #fff;
    font-size: 0.8rem;
    margin-right: 8px;
    padding: 0.3rem 0.5rem 0.2rem;
  }
  .text-label--black {
    background: #000;
    color: #fff;
    font-size: 0.8rem;
    margin-right: 8px;
    padding: 0.3rem 0.5rem 0.2rem;
  }
  .text-label--gray {
    background: #ddd;
    color: #333;
    font-size: 0.8rem;
    margin-right: 8px;
    padding: 0.3rem 0.5rem 0.2rem;
  }
  

  .label-list {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: -0.8rem;
  }

  .label-list__item {
    margin: 0 0.8rem 0.8rem 0;
    padding: 0.8rem 1rem;
    background-color: #f7f7f7;
    font-size: 15px;
    line-height: 1;
  }

  .label-products-category {
    box-sizing: border-box;
    flex-shrink: 0;
    width: 10rem;
    height: 3rem;
    border: 1px solid #e60000;
    color: #e60000;
    font-size: 1.5rem;
    line-height: 2.8rem;
    text-align: center;
  }

  .top-news-list .label-products-category {
    margin-right: 1.5rem;
  }

  .label-limited {
    display: inline-block;
    width: 14rem;
    padding: 0.8rem 0;
    background-color: #876528;
    color: #fff;
    font-size: 1.5rem;
    line-height: 1;
    text-align: center;
  }

  .label-step {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 0.8rem;
    padding: 0.5rem 0.5rem;
    background: #faf6ef;
    color: #876528;
    font-size: 11px;
    font-weight: normal;
  }

  .label-internet {
    display: inline-block;
    margin-top: 0.5rem;
    padding: 0.8rem 1.2rem;
    background: #333;
    color: #fff;
    font-size: 15px;
    line-height: 1;
  }

  .link-arrow {
    display: inline-block;
    position: relative;
    align-self: flex-start;
    padding-left: 1.3rem;
    color: #876528;
    text-decoration: underline;
    vertical-align: middle;
  }

  .link-arrow::before {
    content: "";
    position: absolute;
    top: 1rem;
    left: 0;
    border-width: 0.4rem 0 0.4rem 0.5rem;
    border-style: solid;
    border-color: transparent #333;
  }

  .link-anchor {
    display: inline-block;
    position: relative;
    align-self: flex-start;
    padding-left: 1.3rem;
    color: #876528;
    text-decoration: underline;
    vertical-align: middle;
  }

  .link-anchor::before {
    content: "";
    position: absolute;
    top: 1rem;
    left: 0;
    border-width: 0.5rem 0.4rem 0 0.4rem;
    border-style: solid;
    border-color: #333 transparent;
  }

  .link-anchor-right {
    display: inline-block;
    position: relative;
    align-self: flex-start;
    padding-right: 1.3rem;
    color: #876528;
    text-decoration: underline;
    vertical-align: middle;
  }

  .link-anchor-right::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    border-width: 0.5rem 0.4rem 0 0.4rem;
    border-style: solid;
    border-color: #333 transparent;
    transform: translateY(-50%);
  }

  .link-text {
    color: #876528;
    text-decoration: underline;
  }

  .link-pdf {
    display: inline-flex;
    align-items: center;
    color: #876528;
    font-weight: normal;
    text-decoration: none;
    vertical-align: middle;
  }

  .link-pdf::before {
    content: "[";
    margin-right: 0.5rem;
  }

  .link-pdf::after {
    content: "]";
    margin-left: 0.5rem;
  }

  .note-order .link-pdf {
    font-size: 13px;
  }

  .link-pdf__icon {
    display: block;
    box-sizing: border-box;
    width: 4.2rem;
    height: 1.8rem;
    margin-right: 0.4rem;
    padding-top: 0.1rem;
    background-color: #876528;
    color: #fff;
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1.6rem;
    text-align: center;
  }

  .link-adobe__banner img {
    display: block;
    width: 15.8rem;
    margin: 0 auto 1.5rem;
  }

  .link-adobe__text {
    text-align: center;
  }

  .link-list__list,
  .link-column-list__list,
  .link-column-list__list-2,
  .link-column-list__list-4 {
    margin-bottom: 2rem;
  }

  .link-list__list:last-child,
  .link-column-list__list:last-child,
  .link-column-list__list-2:last-child,
  .link-column-list__list-4:last-child {
    margin-bottom: 0;
  }

  .link-list__link,
  .link-column-list__link {
    display: inline-block;
    position: relative;
    padding-left: 1.3rem;
    color: #333;
    font-size: 1.6rem;
    text-decoration: none;
  }

  .link-list__link::before,
  .link-column-list__link::before {
    content: "";
    display: block;
    position: absolute;
    top: 1rem;
    left: 0;
    border-width: 0.4rem 0 0.4rem 0.5rem;
    border-style: solid;
    border-color: transparent #876528;
  }

  .link-box-list__list {
    margin: 0 0 2rem;
  }

  .link-box-list__list:last-child {
    margin-bottom: 0;
  }

  .link-box-list__link {
    display: flex;
    position: relative;
    box-sizing: border-box;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    padding: 1.2rem 3.5rem 1.2rem 2rem;
    border: 1px solid #333;
    color: #333;
    text-align: center;
    text-decoration: none;
  }

  .link-box-list__link::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 2rem;
    margin-top: -0.7rem;
    border-width: 0.7rem 0 0.7rem 0.8rem;
    border-style: solid;
    border-color: transparent #333;
  }

  .link-box-list__title {
    font-size: 1.8rem;
    font-weight: bold;
  }

  .list-dot {
    margin: 2rem 0;
  }

  .list-dot:first-of-type {
    margin-top: 0;
  }

  .list-dot:last-child {
    margin-bottom: 0;
  }

  .list-dot__list {
    position: relative;
    margin-bottom: 12px;
    padding-left: 1em;
  }

  .list-dot__list:last-child {
    margin-bottom: 0;
  }

  .list-dot__list::before {
    content: "";
    position: absolute;
    top: 0.5em;
    left: 0;
    width: 6px;
    height: 6px;
    margin-right: 0.3em;
    border-radius: 50%;
    background: #333;
    vertical-align: middle;
  }
  .list-dot__list .list-dot {
    font-size: 0.9em;
    margin: 0.3em;
  }
  .list-dot__list .list-dot .list-dot__list {
    margin-bottom: 7px;
    padding-left: 0.6em;
  }
  .list-dot__list .list-dot .list-dot__list::before {
    width: 4px;
    height: 4px;
  }

  .list-dot-inline {
    margin: 2rem 0 0;
  }

  .list-dot-inline:first-child {
    margin-top: 0;
  }

  .list-dot-inline:last-child {
    margin-bottom: -1.2rem;
  }

  .list-dot-inline__list {
    display: inline-block;
    position: relative;
    margin: 0 1.5rem 1.2rem 0;
    padding-left: 1em;
  }

  .list-dot-inline__list::before {
    content: "";
    position: absolute;
    top: 0.5em;
    left: 0;
    width: 6px;
    height: 6px;
    margin-right: 0.3em;
    border-radius: 50%;
    background: #333;
    vertical-align: middle;
  }

  .list-order {
    margin: 2rem 0;
    counter-reset: item;
  }

  .list-order:first-child {
    margin-top: 0;
  }

  .list-order:last-child {
    margin-bottom: 0;
  }

  .list-order__list {
    position: relative;
    margin-bottom: 1.2rem;
    padding-left: 1.8rem;
  }

  .list-order__list::before {
    content: counter(item) ".";
    position: absolute;
    top: 0;
    left: 0;
    color: #876528;
    font-weight: bold;
    counter-increment: item;
  }

  .list-text {
    margin: 2rem 0;
  }

  .list-text:first-child {
    margin-top: 0;
  }

  .list-text:last-child {
    margin-bottom: 0;
  }

  .list-text__list {
    margin-bottom: 1.2rem;
  }

  .list-text__list:last-child {
    margin-bottom: 0;
  }

  .list-text-inline {
    margin: 2rem 0;
  }

  .list-text-inline:first-child {
    margin-top: 0;
  }

  .list-text-inline:last-child {
    margin-bottom: -2rem;
  }

  .list-text-inline__list {
    display: inline-block;
    position: relative;
    margin: 0 1.5rem 1.2rem 0;
  }

  .list-text-inline__list:last-child {
    margin-right: 0;
  }

  .list-report {
    border-top: 1px solid #ddd;
  }

  .list-report__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 2rem 0;
    border-bottom: 1px solid #ddd;
  }

  .list-report__title {
    width: 100%;
    margin-bottom: 1rem;
  }

  .list-report__link {
    margin-right: 1.5rem;
  }

  .list-news {
    border-top: 1px solid #ddd;
  }

  .list-news__list {
    padding: 2rem 0 1.5rem;
    border-bottom: 1px solid #ddd;
  }

  .list-news__date {
    width: 9.4rem;
    height: 2.1rem;
    margin-bottom: 0.5rem;
    background-color: #faf6ef;
    color: #876528;
    font-size: 1.2rem;
    line-height: 2.1rem;
    text-align: center;
  }

  .list-qa {
    border-bottom: 1px solid #ddd;
  }

  .list-qa__q {
    position: relative;
    padding: 2rem 8.5rem 2rem 5rem;
    border-top: 1px solid #ddd;
  }

  .list-qa__number {
    position: absolute;
    top: 1.5rem;
    left: 0;
    width: 4.5rem;
    font-size: 2rem;
    text-align: right;
  }

  .list-qa__new {
    display: inline-block;
    margin-left: 1rem;
    padding: 0.3rem 1.2rem;
    background-color: #faf6ef;
    color: #876528;
    font-size: 1.5rem;
    line-height: 1;
  }

  .list-qa__button {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
  }

  .list-qa__a {
    padding: 0.5rem 0 2rem 5rem;
  }

  .list-box {
    display: flex;
    flex-wrap: wrap;
  }

  .list-box__list {
    box-sizing: border-box;
    width: 100%;
    padding: 0.8rem 2rem;
    border: 1px solid #333;
    text-align: center;
  }

  .list-box__list:nth-child(n + 2) {
    margin-top: 0.8rem;
  }

  .list-box__title {
    font-size: 1.3rem;
    font-weight: bold;
  }

  .list-box__text {
    font-size: 1.1rem;
    line-height: 1.25;
  }

  .list-icon {
    font-size: 1.1rem;
    line-height: 1.25;
    text-align: center;
  }

  .list-icon__list {
    margin-top: 1rem;
  }

  .list-icon__list:first-child {
    margin-top: 0;
  }

  .list-icon__image {
    width: 4rem;
    margin: 0 auto 0.4rem;
  }

  .list-icon__image img {
    display: block;
    width: 100%;
  }

  .list-utility {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    margin: 3rem 0;
  }

  .list-utility:first-child {
    margin-top: 0;
  }

  .list-utility:last-child {
    margin-bottom: 0;
  }

  .list-utility-page {
    order: 2;
    width: 100%;
    margin-top: 2rem;
  }

  .list-utility-page__all {
    margin-bottom: 1rem;
    font-size: 1.6rem;
  }

  .list-utility-view {
    display: flex;
    align-items: center;
    order: 1;
    width: 100%;
  }

  .list-utility-view__box {
    width: calc(50% - 0.7rem);
  }

  .list-utility-view__box:nth-child(n + 2) {
    margin-left: 1.5rem;
  }

  .list-utility-view__box .input-select {
    width: 100%;
  }

  .list-utility-view__label {
    margin: 0 0 5px;
    font-size: 15px;
  }

  .list-side {
    margin-bottom: 2rem;
  }

  .list-side:last-child {
    margin-bottom: 0;
  }

  .list-side__list {
    margin-bottom: 1.5rem;
  }

  .list-side__list:last-child {
    margin-bottom: 0;
  }

  .list-side img {
    display: block;
    max-width: 100%;
    margin: 0 auto;
  }

  .list-banner__item {
    text-align: center;
  }

  .list-banner__item:nth-child(n + 2) {
    margin-top: 3rem;
  }

  .list-banner-inline {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: -20px;
  }

  .list-banner-inline__item {
    margin: 0 20px 20px 0;
  }

  .list-banner-inline__link {
    display: block;
  }

  sup {
    font-size: 1.2rem;
    font-weight: normal;
    vertical-align: top;
    white-space: nowrap;
  }
  .note-pin {
    color: #e60000;
    font-size: 1.2rem;
    font-weight: normal;
    vertical-align: top;
    white-space: nowrap;
  }

  .note-text {
    position: relative;
    box-sizing: border-box;
    max-width: 100%;
    margin: 1rem 0;
    padding-left: 1.8rem;
    color: #333;
    font-size: 1.3rem;
    font-weight: normal;
  }
  .note-text.u-center {
    padding-left: 0;
  }

  .note-text:first-child {
    margin-top: 0;
  }

  .note-text:last-child {
    margin-bottom: 0;
  }

  .note-text::before {
    content: "※";
    position: absolute;
    top: 0;
    left: 0;
    color: #e60000;
  }

  .note-text.u-center::before {
    position: inherit;
  }

  .note-order {
    margin: 1rem 0;
  }

  .note-order:first-child {
    margin-top: 0;
  }

  .note-order:last-child {
    margin-bottom: 0;
  }

  .note-order__list {
    position: relative;
    margin-bottom: 1rem;
    padding-left: 3rem;
    color: #333;
    font-size: 1.3rem;
  }

  .note-order__num {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 2.8rem;
    color: #e60000;
    font-size: 1.2rem;
    text-align: right;
  }

  .note-order.u-center .note-order__list .note-order__num {
    display: inline;
    position: inherit;
    vertical-align: top;
  }

  .note-pinch {
    margin-top: 1.5rem;
    font-size: 1.4rem;
    text-align: right;
  }

  .note-pinch::before {
    content: "";
    display: inline-block;
    width: 2rem;
    height: 2rem;
    margin-right: 0.5rem;
    background: url("/common/img/black/ico_pinch.svg") no-repeat left top/contain;
    vertical-align: -0.2rem;
  }

  .box-2column .note-pinch,
  .box-3column .note-pinch {
    align-self: flex-end;
  }

  .note-scroll {
    margin-bottom: 0.5rem;
    font-size: 1.4rem;
  }

  .note-scroll::before {
    content: "";
    display: inline-block;
    width: 2rem;
    height: 2rem;
    margin-right: 0.5rem;
    background: url("/common/img/black/ico_scroll.svg") no-repeat left top/contain;
    vertical-align: -0.2rem;
  }

  .pagination {
    display: flex;
    align-items: center;
    width: 100%;
  }

  .pagination__link {
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: 3.5rem;
    margin-right: 1rem;
    padding: 0;
    border: 1px solid #876528;
    border-radius: 0.3rem;
    background: #fff;
    color: #876528;
    font-size: 1.5rem;
    line-height: 3.3rem;
    text-align: center;
    text-decoration: none;
  }

  .pagination__link:last-child {
    margin-right: 0;
  }

  .pagination__link.is-current {
    background-color: #876528;
    color: #fff;
  }

  .pagination__prev,
  .pagination__next {
    flex-shrink: 0;
    width: 5rem;
  }

  .pagination__dot {
    margin-right: 1rem;
  }

  .pkz {
    display: flex;
    width: 100%;
    padding: 1rem 0;
    overflow: auto;
    background-color: #f7f7f7;
  }

  .pkz::before,
  .pkz::after {
    content: "";
    flex-shrink: 0;
    width: 1.5rem;
  }

  .pkz__list {
    font-size: 1.2rem;
    white-space: nowrap;
  }

  .pkz__list:not(:last-child) {
    position: relative;
    margin-right: 0.8rem;
    padding-right: 1.6rem;
  }

  .pkz__list:not(:last-child)::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    width: 0.5rem;
    height: 0.5rem;
    margin-top: -0.3rem;
    transform: rotate(45deg);
    border-width: 1px 1px 0 0;
    border-style: solid;
    border-color: #333;
  }

  .pkz__link {
    color: #876528;
    text-decoration: underline;
  }

  .search-brand {
    padding: 3rem 2rem;
    background-color: #f7f7f7;
  }

  .search-brand__heading {
    margin-bottom: 1rem;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1;
  }

  .tab {
    display: flex;
    justify-content: center;
    padding: 0 0.5rem;
    border-bottom: 1px solid #333;
  }

  .tab__list {
    width: 100%;
    margin-right: 0.2rem;
  }

  .tab__list:last-child {
    margin-right: 0;
  }

  .tab__link {
    display: flex;
    position: relative;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 0.6rem 0.8rem;
    border: 1px solid #333;
    border-bottom: 0;
    background-color: #333;
    color: #fff;
    font-size: 1.3rem;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
  }

  .tab__link.is-active {
    background-color: #fff;
    color: #333;
  }

  .tab__link.is-active::after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 1px;
    background-color: #fff;
  }

  .tab-small {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin: 0 -1.2rem -1.2rem 0;
  }

  .tab-small__list {
    margin: 0 1.2rem 1.2rem 0;
  }

  .tab-small__list:last-child {
    margin-right: 0;
  }

  .tab-small__link {
    display: flex;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    padding: 0.5rem 1rem;
    border: 1px solid #333;
    background-color: #333;
    color: #fff;
    font-size: 1.2rem;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
  }

  .tab-small__link:link,
  .tab-small__link:visited {
    color: #fff;
    text-decoration: none;
  }

  .tab-small__link.is-active {
    background-color: #fff;
    color: #333;
  }

  .table-scroll {
    display: flex;
    width: auto;
    overflow: auto;
  }

  .list-dot__list .table-scroll {
    width: calc(100vw - 3.6rem);
  }

  .table {
    width: 100%;
    border-bottom: 1px solid #ddd;
    font-size: 1.4rem;
  }

  .table--1column {
    border: 1px solid #ddd;
    border-bottom: 0;
  }

  .table__head {
    padding: 0.8rem 1.5rem;
    border-top: 1px solid #ddd;
    border-left: 1px solid #ddd;
    background-color: #f7f7f7;
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1.25;
    text-align: left;
    vertical-align: middle;
  }

  .table__head:last-child {
    border-right: 1px solid #ddd;
  }

  .table__head--sticky {
    position: sticky;
    z-index: 1;
    left: 0;
    border-right: 1px solid #ddd;
  }

  .table__head--sticky+th,
  .table__head--sticky+td {
    border-left: 0;
  }

  .table--1column .table__head {
    display: block;
    box-sizing: border-box;
    width: 100%;
    padding: 1.5rem;
    border: 0;
    border-bottom: 1px solid #ddd;
  }

  .table--search .table__head {
    position: relative;
    display: block;
    border-left: 0;
    padding: 1rem 2rem;
  }

  .table__data {
    padding: 0.8rem 1rem;
    border-top: 1px solid #ddd;
    border-left: 1px solid #ddd;
    background-color: #fff;
    font-size: 1.4rem;
    text-align: left;
  }

  .table__data:last-child {
    border-right: 1px solid #ddd;
  }

  .table--1column .table__data {
    display: block;
    box-sizing: border-box;
    width: 100%;
    padding: 1.5rem;
    border: 0;
    border-bottom: 1px solid #ddd;
  }

  .table--search .table__data {
    display: block;
    border-left: 0;
    border-right: 0;
    padding: 1.5rem 2rem;
  }

  .table__em {
    border-left-color: #876528;
    background-color: #faf6ef;
  }

  tr:first-child .table__em {
    border-top-color: #876528;
  }

  tr:last-child .table__em {
    border-bottom: 1px solid #876528;
  }

  .table__em+.table__data,
  .table__em+.table__head {
    border-left: 1px solid #876528;
  }

  .table__bg {
    background: #faf6ef;
  }

  .table--scroll {
    width: auto;
    table-layout: fixed;
    border-collapse: separate;
  }

  .table__image-box {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .table__image {
    display: inline-block;
    width: 5rem;
    vertical-align: bottom;
  }

  .table__image:nth-child(n + 2) {
    margin-top: 0.8rem;
  }

  .table__image img {
    display: block;
    max-width: 100%;
  }

  .table__small-text {
    font-size: 1.2rem;
  }

  .table__open-button {
    display: block;
    position: absolute;
    top: 0;
    right: -2rem;
    width: 4rem;
    height: 100%;
    padding: 0;
    transform: translate(-50%);
    border: initial;
    background: initial;
  }

  .table__open-button::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 2rem;
    width: 1.6rem;
    height: 0.2rem;
    transform: translateY(-50%);
    background: #333;
  }

  .table__open-button::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 2.7rem;
    width: 0.2rem;
    height: 1.6rem;
    transform: translateY(-50%);
    transition: 0.2s;
    background: #333;
  }

  .table__open-button.is-active::after {
    transform: translateY(-50%) rotate(90deg);
  }

  .table p:not([class]) {
    margin: 10px 0;
  }

  .table p:not([class]):first-child {
    margin-top: 0;
  }

  .table p:not([class]):last-child {
    margin-bottom: 0;
  }

  .table__text {
    font-size: px;
  }
  .table__status-label {
    display: inline-block;
    box-sizing: border-box;
    min-width: 8rem;
    padding: 0.4rem 1rem;
    background: #faf6ef;
    color: #876528;
    font-size: 1.5rem;
    line-height: 1.3;
    text-align: center;
  }
  .table__status-label--tentative {
    background: #f7f7f7;
    color: #333;
  }
  .table__status-label--free {
    padding: 0;
    background: #fff;
  }
  .table__status {
    display: inline-block;
    margin-top: 0.5rem;
    padding: 0.8rem 1.2rem;
    background: #333;
    color: #fff;
    font-size: 15px;
    line-height: 1;
  }

  .table-toggle-panel {
    padding: 0.8rem 1.5rem;
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    border-left: 1px solid #ddd;
  }

  .table-toggle-panel+.table tr:first-child th,
  .table-toggle-panel+.table tr:first-child td {
    border-top: 0;
  }

  .table-update {
    margin-bottom: 1.5rem;
    text-align: right;
  }

  .table-column {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
  }

  .table-column__item {
    display: flex;
    align-items: center;
    gap: 0.8rem 2rem;
  }

  .table-column__unit {
    white-space: nowrap;
  }

  .terms-index {
    margin-bottom: 4rem;
  }

  .terms-index:last-child {
    margin-bottom: 0;
  }

  .terms-index__initial {
    box-sizing: border-box;
    flex-shrink: 0;
    width: 5.6rem;
    height: 3.4rem;
    margin-bottom: 2rem;
    padding-bottom: 0.2rem;
    background-color: #333;
    color: #fff;
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 3.4rem;
    text-align: center;
  }

  .terms-words__list {
    margin-bottom: 2rem;
  }

  .terms-words__list:last-child {
    margin-bottom: 0;
  }

  .text {
    margin: 1.5rem 0;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }

  .text:first-child {
    margin-top: 0;
  }

  .text:last-child {
    margin-bottom: 0;
  }

  .text__free-call {
    display: inline-block;
    width: 2.5rem;
    height: 1.9rem;
    margin: 0 0.2em;
    background: url("/common/img/ico_freecall.png") no-repeat left top/100% auto;
    vertical-align: -0.4rem;
  }

  .text-flow {
    position: relative;
    margin: 4rem 0;
    padding-bottom: 4rem;
    text-align: center;
  }

  .text-flow::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 50%;
    margin-left: -1.2rem;
    border-width: 1.5rem 1.2rem 0;
    border-style: solid;
    border-color: #ddd transparent;
  }

  .text-flow:first-child {
    margin-top: 0;
  }

  .text-flow:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
  }

  .text-flow:last-child::after {
    display: none;
  }

  .text-flow--small {
    margin-bottom: 2rem;
    padding-bottom: 3.5rem;
    text-align: left;
  }

  .text-toggle-button {
    margin: 2.5rem 0 1.5rem;
    font-size: 1.8rem;
    font-weight: bold;
    cursor: pointer;
  }

  .text-toggle-button::after {
    content: "";
    display: inline-block;
    margin-left: 1rem;
    border-width: 0.5rem 0.4rem 0;
    border-style: solid;
    border-color: #333 transparent;
    vertical-align: 0.4rem;
  }

  .text-toggle-button.is-active::after {
    border-width: 0 0.4rem 0.5rem;
  }

  .text-message {
    font-size: 2rem;
    font-weight: bold;
    text-align: center;
  }

  .text-check {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 2.5rem;
    border: 3px solid #ddd;
  }

  .text-check__inner {
    max-width: 100%;
    text-align: left;
  }

  .text-check__message {
    position: relative;
    padding-left: 1.4em;
    font-size: 2rem;
    font-weight: bold;
    text-align: left;
  }

  .text-check__message::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 2rem;
    height: 1.5rem;
    margin-right: 0.8rem;
    padding-top: 2rem;
    border-color: #876528;
    background: url("/common/img/accent/ico_check.svg") no-repeat center center;
  }

  .text-check__message:nth-child(n+2) {
    margin-top: 0.5rem;
  }

  .text-check__em {
    color: #876528;
  }

  .text-message-error {
    color: #e60000;
    font-size: 2rem;
    font-weight: bold;
    text-align: center;
  }

  .slider-banner {
    min-width: 0;
    min-height: 0;
  }

  .slider-banner__item {
    padding: 1rem;
  }

  .slider-banner__link {
    display: block;
    box-shadow: 0 0.2rem 1rem rgba(0, 0, 0, 0.08);
  }

  .slider-banner .slick-list {
    width: calc(78.6% + 4rem);
    margin: -1rem auto;
  }

  .slider-banner .slick-dotted.slick-slider {
    margin: 0;
  }

  .slider-banner .slick-dots {
    display: flex;
    position: relative;
    bottom: 0;
    justify-content: center;
    margin-top: 2rem;
  }

  .slider-banner .slick-dots li {
    width: 0.5rem;
    height: 0.5rem;
    margin: 0 0.9rem;
  }

  .slider-banner .slick-dots li button {
    width: 0.5rem;
    height: 0.5rem;
    padding: 0;
    transition: 0.2s all;
    border-radius: 50%;
    background: #ddd;
  }

  .slider-banner .slick-dots li button:hover {
    background: #5a5a5a;
  }

  .slider-banner .slick-dots li.slick-active button {
    background: #5a5a5a;
  }

  .slider-banner .slick-dots li button::before {
    display: none;
  }

  .slider-banner .slick-prev,
  .slider-banner .slick-next {
    z-index: 1;
    overflow: visible;
  }

  .slider-banner .slick-prev::before,
  .slider-banner .slick-next::before {
    content: "";
    display: block;
    position: absolute;
    top: calc((50% - 0.7rem));
    width: 1.4rem;
    height: 1.4rem;
    transform: translateY(-50%) rotate(-135deg);
    transform-origin: center center;
    border-width: 0.2rem 0.2rem 0 0;
    border-style: solid;
    color: #333;
  }

  .slider-banner .slick-prev {
    left: 0;
  }

  .slider-banner .slick-next {
    right: 0;
  }

  .slider-banner .slick-next::before {
    transform: translateY(-50%) rotate(45deg);
  }

  .slider-banner img {
    width: 100%;
  }

  .u-pc-only {
    display: none;
  }

  .u-w60 {
    min-width: 60px;
  }

  .u-w80 {
    min-width: 80px;
  }

  .u-w100 {
    min-width: 100px;
  }

  .u-w150 {
    min-width: 150px;
  }

  .u-w200 {
    min-width: 200px;
  }

  .u-w250 {
    min-width: 250px;
  }
  
  .u-w400 {
    min-width: 400px;
  }

  .u-red {
    color: #e60000;
  }

  .u-blue {
    color: #00429d;
  }

  .u-gray {
    color: #8d8d8d;
  }

  .u-gold {
    color: #876528;
  }

  .u-bold {
    font-weight: bold;
  }

  .u-marker {
    display: inline-block;
    margin-right: 8px;
    padding: 0.3rem 0.4rem 0.3rem;
    border: 1px solid #ddd;
    background-color: #f7f7f7;
  }

  .u-center {
    text-align: center;
  }

  .u-right {
    text-align: right;
  }

  .u-left {
    text-align: left;
  }

  .u-middle {
    vertical-align: middle;
  }

  .u-top {
    vertical-align: top;
  }

  .u-nowrap {
    white-space: nowrap;
  }

  .u-blank::after {
    content: "";
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
    margin-left: 0.8rem;
    background: url("/common/img/accent/ico_blank.svg") no-repeat left top/1.5rem;
    vertical-align: -0.2rem;
  }
  .u-blank.button:hover::after {
    background: url("/common/img/accent/ico_blank_white.svg") no-repeat left top/1.5rem;
  }
}