body {
  color: #323232;
  font-family:
    "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
}

*:where( :not(html, iframe, canvas, img, svg, video, audio, svg *, symbol *)) {
  all: unset;
  display: revert;
}

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

html {
  text-size-adjust: none;
  text-size-adjust: none;
}

a,
button {
  cursor: revert;
}

ol,
ul,
menu,
summary {
  list-style: none;
}

ol {
  counter-reset: revert;
}

img {
  max-block-size: 100%;
  max-inline-size: 100%;
}

table {
  border-collapse: collapse;
}

input,
textarea {
  user-select: auto;
}

textarea {
  white-space: revert;
}

meter {
  appearance: revert;
}

:where(pre) {
  all: revert;
  box-sizing: border-box;
}

::placeholder {
  color: unset;
}

:where([hidden]) {
  display: none;
}

:where([contenteditable]:not([contenteditable='false'])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  user-select: auto;
}

:where([draggable='true']) {
  -webkit-user-drag: element;
}

:where(dialog:modal) {
  all: revert;
  box-sizing: border-box;
}

::-webkit-details-marker {
  display: none;
}

h1 {
  padding-block: 18px;
  background: #2ea339;
  color: #fff;
  font-weight: 700;
  text-align: center;
}

@media (width >=1024px) {
  h1 {
    font-size: 18px;
  }
}

@media (width >=768px) {
  section.reg-main {
    display: flex;
    flex-direction: column;
    gap: 56px;
    margin-bottom: 56px;
  }
}

section.reg-main .registration-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 16px;
  background: #edfbf0;
  gap: 24px;
}

section.reg-main .automatic-debit-description {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
}

@media (width >=1024px) {
  section.reg-main .automatic-debit-description {
    gap: 24px;
  }
}

section.reg-main .automatic-debit-description h2 {
  font-size: 18px;
  font-weight: 700;
}

@media (width >=1024px) {
  section.reg-main .automatic-debit-description h2 {
    font-size: 16px;
  }
}

section.reg-main .automatic-debit-description h3 {
  font-size: 14px;
  font-weight: 700;
}

section.reg-main .automatic-debit-description__item-container {
  display: flex;
  gap: 6px;
  align-items: center;
  justify-content: center;
}

section.reg-main .automatic-debit-description__item {
  display: flex;
  flex-direction: column;
  min-width: 110px;
  padding-block: 12px;
  background: #fff;
  gap: 8px;
}

@media (width >=1024px) {
  section.reg-main .automatic-debit-description__item {
    min-width: 260px;
    padding: 16px;
    gap: 16px;
  }
}

section.reg-main .automatic-debit-description__item-title {
  font-size: 10px;
  font-weight: 700;
  text-align: center;
}

@media (width >=1024px) {
  section.reg-main .automatic-debit-description__item-title {
    font-size: 16px;
    font-weight: 700;
  }
}

section.reg-main .automatic-debit-description__item-body {
  text-align: center;
}

section.reg-main .automatic-debit-description__item-body__icon {
  width: 48px;
  height: 48px;
}

@media (width >=1024px) {
  section.reg-main .automatic-debit-description__item-body__icon {
    width: 84px;
    height: 84px;
  }
}

section.reg-main .outlined-button {
  display: inline-flex;
  justify-content: center;
  width: 100%;
  padding-block: 20px;
  border: 1px solid #259740;
  border-radius: 4px;
  background: #fff;
  color: #259740;
  font-size: 16px;
  font-weight: 700;
  position: relative;
}

section.reg-main .outlined-button::after {
  content: '';
  position: absolute;
  right: 8px;
  width: 24px;
  height: 24px;
  background: url("/user/new/html/images/2025/icon-chevron-right-green.svg") no-repeat center/contain;
}

@media (width >=1024px) {
  section.reg-main .outlined-button {
    max-width: 343px;
  }

  section.reg-main .outlined-button::after {
    right: 20px;
  }

  section.reg-main .outlined-button:hover {
    background: #edfbf0;
    cursor: pointer;
  }
}

section.reg-main .outlined-button .flat-button__text {
  color: #259740;
}

section.reg-main .automatic-debit-description__flat-button-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  gap: 16px;
}

@media (width >=1024px) {
  section.reg-main .automatic-debit-description__flat-button-container {
    flex-direction: row;
    gap: 24px;
  }
}

section.reg-main .flat-button {
  position: relative;
  width: 100%;
  padding-block: 20px;
  border-radius: 4px;
  background: #259740;
  text-align: center;
}

@media (width >=1024px) {
  section.reg-main .flat-button {
    max-width: 343px;
  }

  section.reg-main .flat-button:hover {
    background: #188832;
    cursor: pointer;
  }
}

section.reg-main .flat-button::after {
  content: '';
  position: absolute;
  right: 8px;
  width: 24px;
  height: 24px;
  background: url("/user/new/html/images/2025/icon-chevron-right.svg") no-repeat center/contain;
}

section.reg-main .flat-button__text {
  color: #fff;
  font-size: 18px;
  font-weight: 700;
}

section.reg-main .flat-button__sub-text {
  color: #fff;
  font-size: 14px;
  font-weight: 700;
}

section.reg-main .flat-button--small {
  padding-block: 8px;
  background: #f28b00;
}

section.reg-main .flat-button--small::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 4px;
  transform: translateY(-50%);
  background: url("/user/new/html/images/2025/icon-chevron-right.svg") no-repeat center/contain;
}

section.reg-main .flat-button--small__text {
  color: #fff;
  font-size: 12px;
  font-weight: 700;
}

@media (width >=1024px) {
  section.reg-main .flat-button--small {
    max-width: 100%;
    padding-block: 8px;
  }

  section.reg-main .flat-button--small::after {
    right: 34px;
  }

  section.reg-main .flat-button--small:hover {
    background: #ee6d0b;
    cursor: pointer;
  }

  section.reg-main .flat-button--small__text {
    font-size: 16px;
  }
}

section.reg-main .bank-account-registration-container {
  display: flex;
  flex-direction: column;
  padding: 40px 16px;
  gap: 24px;
}

@media (width >=1024px) {
  section.reg-main .bank-account-registration-container {
    gap: 56px;
    padding-top: 0;
    padding-bottom: 56px;
  }
}

section.reg-main .bank-account-registration-container h2 {
  color: #259740;
  font-size: 24px;
  font-weight: 700;
  text-align: center;
}

section.reg-main .id-verification-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 16px;
  background: #edfbf0;
  gap: 16px;
}

section.reg-main .id-verification-heading {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  justify-content: center;
}

section.reg-main .id-verification-heading__caption {
  min-width: 260px;
  padding-block: 8px;
  border-radius: 70px;
  background: #259740;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
}

section.reg-main .id-verification-heading__text {
  color: #259740;
  font-size: 24px;
  font-weight: 700;
}

section.reg-main .available-payment-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 24px;
  border-radius: 8px;
  background: #fff;
  gap: 16px;
}

@media (width >=1024px) {
  section.reg-main .available-payment-container {
    width: 854px;
  }
}

section.reg-main .available-payment-heading {
  width: 100%;
  font-size: 14px;
  text-align: center;
}

section.reg-main .verification-caution-container {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 24px 16px;
  border: 2px solid #259740;
  border-radius: 8px;
}

@media (width >=1024px) {
  section.reg-main .verification-caution-container {
    width: 854px;
  }
}

section.reg-main .verification-caution-heading-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  justify-content: center;
}

section.reg-main .verification-caution-heading-group__text {
  color: #259740;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
}

section.reg-main .verification-caution-heading-group__icon {
  width: 24px;
  height: 24px;
}

@media (width >=1024px) {
  section.reg-main .verification-caution-heading-group__text {
    font-size: 18px;
  }

  section.reg-main .verification-caution-heading-group__text br {
    display: none;
  }

  section.reg-main .verification-caution-heading-group__icon {
    width: 32px;
    height: 32px;
  }
}

section.reg-main .verification-caution-description-wrapper {
  display: flex;
  flex-direction: column;
}

@media (width >=1024px) {
  section.reg-main .verification-caution-description-wrapper {
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 32px;
  }
}

section.reg-main .verification-caution-description {
  display: flex;
  width: 100%;
  gap: 16px;
}

section.reg-main .verification-caution-description__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-size: 12px;
}

@media (width >=1024px) {
  section.reg-main .verification-caution-description__image-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
  }

  section.reg-main .verification-caution-description__text {
    font-size: 14px;
  }
}

section.reg-main .verification-caution-description__image {
  flex-shrink: 0;
  width: 64px;
  height: 64px;
}

@media (width >=1024px) {
  section.reg-main .verification-caution-description {
    flex-direction: column;
  }
}

section.reg-main .easy-registration {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
}

section.reg-main .easy-registration__bank-link-container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  width: 100%;
  gap: 8px;
}

@media (width >=1024px) {
  section.reg-main .easy-registration__bank-link-container {
    max-width: 854px;
    gap: 16px;
  }
}

section.reg-main .easy-registration__bank-link-item {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  padding: 16px;
  border: 1px solid #e8e8e8;
  border-radius: 4px;
  gap: 12px;
}

@media (width >=1024px) {
  section.reg-main .easy-registration__bank-link-item {
    padding: 24px;
    gap: 16px;
  }
}

section.reg-main .easy-registration__bank-link-image-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 25px;
}

@media (width >=1024px) {
  section.reg-main .easy-registration__bank-link-image-container {
    height: 44px;
  }
}

section.reg-main .easy-registration-heading {
  position: relative;
}

section.reg-main .easy-registration-heading__image {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 64px;
  height: 64px;
  transform: translate(-50%, -50%);
}

@media (width >=1024px) {
  section.reg-main .easy-registration-heading__image {
    top: 15%;
    left: 5%;
  }
}

section.reg-main .easy-registration-heading__image img {
  width: 100%;
  height: auto;
}

section.reg-main .other-bank-registration-container {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

section.reg-main .other-bank-registration {
  display: flex;
  flex-direction: column;
  width: 854px;
  margin-bottom: 32px;
  padding-top: 56px;
  border-top: 1px dashed #c0c0c0;
}

section.reg-main .other-bank-registration hgroup {
  margin-bottom: 16px;
}

@media (width >=1024px) {
  section.reg-main .other-bank-registration hgroup {
    margin-bottom: 48px;
  }
}

section.reg-main .other-bank-registration__caution {
  display: flex;
  gap: 4px;
  align-items: center;
  justify-content: center;
}

section.reg-main .other-bank-registration__caution a {
  color: #515151;
  text-decoration: underline
}

section.reg-main .major-bank-list-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

section.reg-main .major-bank-list-container h3 {
  width: 100%;
  font-size: 16px;
  font-weight: 700;
  text-align: start;
}

@media (width >=1024px) {
  section.reg-main .major-bank-list-container h3 {
    max-width: 854px;
  }
}

section.reg-main .major-bank-list {
  display: grid;
  grid-auto-rows: auto;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
}

@media (width >=1024px) {
  section.reg-main .major-bank-list {
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
  }
}

section.reg-main .major-bank-list li {
  list-style: none;
}

section.reg-main .other-bank-container {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: center;
  justify-content: center;
}

section.reg-main .other-bank-container__heading {
  width: 100%;
  padding-block: 12px;
  border-bottom: 1px solid #f0f0f0;
  font-size: 16px;
  font-weight: 700;
  text-align: start;
}

@media (width >=1024px) {
  section.reg-main .other-bank-container {
    gap: 16px;
  }

  section.reg-main .other-bank-container__heading {
    max-width: 854px;
    padding-block: 12px;
    font-size: 16px;
  }
}

section.reg-main .bank-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 56px;
  border: 1px solid #e8e8e8;
  border-radius: 4px;
}

section.reg-main .bank-item__picture {
  max-height: 100%;
}

@media (width >=1024px) {
  section.reg-main .bank-item {
    width: 158px;
  }

  section.reg-main .bank-item:hover {
    opacity: 0.7;
    cursor: pointer;
  }
}

section.reg-main .bank-item picture {
  max-width: 100%;
  max-height: 100%;
}


section.reg-main .easy-registration hgroup,
section.reg-main .other-bank-registration hgroup {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

section.reg-main .easy-registration hgroup h3,
section.reg-main .other-bank-registration hgroup h3 {
  font-size: 20px;
  font-weight: 700;
  text-align: center;
}

@media (width >=1024px) {

  section.reg-main .easy-registration hgroup h3,
  section.reg-main .other-bank-registration hgroup h3 {
    font-size: 24px;
  }
}

section.reg-main .easy-registration hgroup span,
section.reg-main .other-bank-registration hgroup span {
  font-size: 20px;
  font-weight: 400;
  text-align: center;
}

section.reg-main .hidden-area {
  display: none;
}

section.reg-main .filter-button-list {
  display: grid;
  grid-template-columns: repeat(5, 54px);
  width: 100%;
  text-align: start;
  gap: 8px;
}

@media (width >=1024px) {
  section.reg-main .filter-button-list {
    display: flex;
    max-width: 854px;
    gap: 16px;
  }
}

section.reg-main .filter-radio {
  position: absolute;
  opacity: 0;
}

section.reg-main .filter-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  border: 1px solid #e8e8e8;
  border-radius: 4px;
  background: #fff;
  font-size: 14px;
}

@media (width >=1024px) {
  section.reg-main .filter-button {
    cursor: pointer;
  }
}

section.reg-main .filter-radio:checked+.filter-button {
  background: #259740;
  color: #fff;
  font-weight: 700;
}

section.reg-main .filtered-item-container {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 8px;
}

@media (width >=1024px) {
  section.reg-main .filtered-item-container {
    max-width: 854px;
    gap: 16px;
  }
}

section.reg-main .filtered-item__heading {
  width: 100%;
  padding: 8px 24px;
  border-bottom: 1px solid #f0f0f0;
  background: #edfbf0;
  font-size: 12px;
  font-weight: 400;
}

section.reg-main .filtered-item__box {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  width: 100%;
  gap: 4px;
}

@media (width >=1024px) {
  section.reg-main .filtered-item__box {
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
  }
}

section.reg-main .inquiry-container {
  display: flex;
  flex-direction: column;
  gap: 32px;
  padding: 40px 19px;
  background: #fff;
}

section.reg-main .inquiry-container h2 {
  font-size: 24px;
  font-weight: 700;
  text-align: center;
}

section.reg-main .inquiry-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  gap: 20px;
}

section.reg-main .sub-heading {
  display: flex;
  gap: 4px;
  align-items: center;
  justify-content: start;
}

@media (width >=1024px) {
  section.reg-main .sub-heading {
    justify-content: center;
  }
}

section.reg-main .sub-heading__icon {
  width: 9px;
  height: 9px;
}

section.reg-main .sub-heading__text {
  font-size: 14px;
  font-weight: 700;
}

@media (width >=1024px) {
  section.reg-main .sub-heading__text {
    font-size: 16px;
  }
}

section.reg-main .inquiry-info {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 16px;
}

@media (width >=1024px) {
  section.reg-main .inquiry-info {
    align-items: center;
    justify-content: center;
    max-width: 850px;
    padding: 24px;
    border: 1px solid #e8e8e8;
    border-radius: 8px;
  }
}

section.reg-main .inquiry-info__tel-number-container {
  display: flex;
  padding: 12px;
  border: 1px solid #e8e8e8;
  border-radius: 4px;
}

@media (width >=1024px) {
  section.reg-main .inquiry-info__tel-number-container {
    justify-content: center;
    border: none;
  }
}

section.reg-main .inquiry-info__tel-number {
  font-size: 20px;
  font-weight: 700;
}

section.reg-main .inquiry-info__tel-number__icon {
  width: 24px;
  height: 24px;
}

@media (width >=1024px) {
  section.reg-main .inquiry-info__tel-number {
    font-size: 32px;
  }

  section.reg-main .inquiry-info__tel-number__icon {
    width: 40px;
    height: 40px;
  }
}

section.reg-main .inquiry-info__description {
  padding-bottom: 20px;
  border-bottom: 1px solid #d8d8d8;
  font-size: 14px;
  line-height: 20px;
}

@media (width >=1024px) {
  section.reg-main .inquiry-info__description {
    padding-bottom: 0;
    border: none;
    text-align: center;
  }
}

section.reg-main .for-first-time-user {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 16px;
}

@media (width >=1024px) {
  section.reg-main .for-first-time-user {
    max-width: 850px;
  }

  section.reg-main .for-first-time-user .sub-heading {
    justify-content: start;
  }
}

section.reg-main .help-link-container {
  display: flex;
  gap: 8px;
}

section.reg-main .help-link__item {
  display: flex;
  flex-grow: 1;
  padding: 12px;
  border: 1px solid #e8e8e8;
  border-radius: 4px;
  gap: 2px;
}

@media (width >=1024px) {
  section.reg-main .help-link__item:hover {
    background: #edfbf0;
  }
}

section.reg-main .help-link__item span {
  font-size: 14px;
  font-weight: 700;
  line-height: 24px;
}

.l-aside {
  margin: 0 auto;
}

@media (width >=1024px) {
  .l-aside {
    width: 100%;
    max-width: 1080px;
    margin-top: 60px;
  }
}

.l-aside__wrapper {
  background: rgb(247 247 247);
}

@media (width >=1024px) {
  .l-aside__wrapper {
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
    margin: 20px 0;
    background: none;
  }
}

.l-aside__content {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 20px 10px;
  border-top: 1px solid rgb(255 255 255);
}

@media (width >=1024px) {
  .l-aside__content {
    align-items: center;
    justify-content: flex-start;
    padding: 24px 20px;
  }
}

.l-aside__img {
  flex-shrink: 0;
  width: 50px;
}

.l-aside__text {
  margin-left: 10px;
  font-size: 14px;
}

.l-aside__text span {
  display: block;
  font-weight: 700;
}

.l-footer__link {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px 0;
  background: #5d6e5e;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
}

@media (width >=1024px) {
  .l-footer__link {
    display: none;
  }
}

.l-footer__link::after {
  content: '';
  position: relative;
  top: 2px;
  right: -20px;
  width: 14px;
  height: 14px;
  background: transparent url("/user/new/html/images/2025/icon-chevron-up.svg") no-repeat center;
  background-size: contain;
}

.l-footer__copyright {
  padding: 18px 0;
  background: #29362a;
}

.l-footerCopyright__text {
  color: #ccc;
  font-size: 14px;
  text-align: center;
}

.footer-link-list--sp {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  width: 100%;
  background: #3b4b3c;
}

@media (width >=1024px) {
  .footer-link-list--sp {
    display: none;
  }
}

.footer-link-list--pc {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding-block: 32px;
  background: #f7f7f7;
}

@media (width <=767px) {
  .footer-link-list--pc {
    display: none;
  }
}

.footer-link-list__item--sp {
  display: block;
  box-sizing: border-box;
  padding: 20px 15px;
  border-bottom: 1px solid #4f5d50;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}

.footer-link-list__item--sp:nth-child(odd) {
  border-right: 1px solid #4f5d50;
}

.footer-link-list__item--sp:nth-last-child(-n + 2) {
  border-bottom: none;
}

.footer-link-list__item--pc {
  padding-inline: 18px;
  font-size: 14px;
  font-weight: 700;
}


@media (width <=767px) {
  .footer-link-list--pc {
    display: none;
  }
}

.pc-img {
  display: block;
}

.sp-img {
  display: none;
}

@media (width <=767px) {
  .pc-img {
    display: none;
  }

  .sp-img {
    display: block;
  }
}