﻿@charset "UTF-8";
/* ============================================================

  RGFスタイル指定
  date: 2024.01.15

*/
/* ============================================================

  HIDE

*/
.--hide {
  display: none !important; }

/* ============================================================

  VISIBLE

*/
.form-text-error {
    color:red;
}

@media only screen and (max-width: 767px) {
  .rgf-visible-pc {
    display: none; } }

@media only screen and (min-width: 768px) {
  .rgf-visible-sp {
    display: none; } }

/* ============================================================

  HEADER

*/
.rgf-register-header {
  background-color: #ebebec; }
  .rgf-register-header__inner {
    display: flex;
    align-items: center;
    max-width: 1120px;
    min-height: 100px;
    margin: 0 auto;
    padding: 0 10px;
    box-sizing: border-box; }
    @media only screen and (max-width: 767px) {
      .rgf-register-header__inner {
        display: block;
        padding: 20px;
        width: auto; } }
  .rgf-register-header__logo {
    width: 180px; }
    @media only screen and (max-width: 767px) {
      .rgf-register-header__logo {
        width: 140px; } }
    .rgf-register-header__logo a {
      display: block; }
    .rgf-register-header__logo img {
      display: block;
      width: 100%;
      height: auto; }
    .has-header-image h1 {
  font-family: neo-sans, sans-serif;
}
  .rgf-register-header__heading {
    flex: 1;
    margin: 0;
    padding: 0 180px 0 0;
    text-align: center;
    font-weight: 700;
    font-size: 26px;
    line-height: 1.5;
    color: #0065bd; 


  }
  .has-header-image h1 {
  font-family: neo-sans, sans-serif;
}
    @media only screen and (max-width: 767px) {
      .rgf-register-header__heading {
        margin-top: 15px;
        padding: 0;
        font-size: 20px; } }

/* ============================================================

  FORM ALERT

*/
.rgf-form-alert {
  display: none;
  margin-top: 8px;
  line-height: inherit;
  font-size: 14px;
  line-height: 1.7;
  color: #cb0000; }
  .rgf-form-alert.--invalid {
    display: block; }

/* ============================================================

  FORM BADGE

*/
.rgf-form-badge {
  padding: 4px 5px 3px 5px;
  border-radius: 2px;
  background-color: #cb0000;
  font-weight: 700;
  font-size: 11px;
  line-height: 1.5;
  color: #fff; }

/* ============================================================

  FORM INPUT

*/
.rgf-form-input-text {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-sizing: border-box;
  display: block;
  margin: 0;
  padding: 0.6em 0.6em;
  width: 100%;
  min-height: 40px;
  border: 1px solid #a4aeb5;
  border-radius: 3px;
  font-size: 14px;
  line-height: normal;
  color: #000; }
  .rgf-form-input-text:disabled {
    opacity: 0.5; }
  .rgf-form-input-text:focus {
    outline: 0;
    box-shadow: -2px -2px 0 #add2ef, 2px -2px 0 #add2ef, -2px 2px 0 #add2ef, 2px 2px 0 #add2ef; }
  .rgf-form-input-text::placeholder {
    color: #999; }
  .rgf-form-input-text.--invalid {
    border-color: #cb0000; }

.rgf-form-input-radio {
  display: table;
  position: relative; }
  .rgf-form-input-radio input[type=radio] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-sizing: border-box;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    padding: 0;
    width: 20px;
    height: 20px;
    border-radius: 50%; }
    .rgf-form-input-radio input[type=radio] + [class*="__marker"] {
      cursor: pointer;
      box-sizing: border-box;
      position: absolute;
      top: 0;
      left: 0;
      width: 20px;
      height: 20px; }
      .rgf-form-input-radio input[type=radio] + [class*="__marker"]::before {
        content: '';
        box-sizing: border-box;
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: #fff;
        border: 1px solid #bbb;
        border-radius: 50%; }
      .rgf-form-input-radio input[type=radio] + [class*="__marker"]::after {
        content: '';
        box-sizing: border-box;
        display: block;
        position: absolute;
        top: 50%;
        left: 50%;
        margin: -4px 0 0 -4px;
        width: 8px;
        height: 8px;
        background-color: #bbb;
        border-radius: 50%; }
    .rgf-form-input-radio input[type=radio]:checked + [class*="__marker"]::before {
      border-color: #0065bd;
      background-color: #0065bd; }
    .rgf-form-input-radio input[type=radio]:checked + [class*="__marker"]::after {
      background-color: #fff; }
    .rgf-form-input-radio input[type=radio]:disabled {
      opacity: 0.5; }
  .rgf-form-input-radio__text {
    display: block;
    margin-top: -0.14em;
    padding-left: 30px;
    line-height: 1.7;
    color: #000; }
  .rgf-form-input-radio__text {
    display: block; }

.rgf-form-input-checkbox {
  display: table;
  position: relative; }
  .rgf-form-input-checkbox input[type=checkbox] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-sizing: border-box;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    margin: 0;
    padding: 0;
    width: 20px;
    height: 20px;
    border-radius: 4px; }
    .rgf-form-input-checkbox input[type=checkbox] ~ [class*="__marker"] {
      cursor: pointer;
      box-sizing: border-box;
      position: absolute;
      top: 0;
      left: 0;
      width: 20px;
      height: 20px; }
      .rgf-form-input-checkbox input[type=checkbox] ~ [class*="__marker"]::before {
        content: '';
        box-sizing: border-box;
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-image: url("../images/form-checkbox.png");
        background-size: cover; }
      .rgf-form-input-checkbox input[type=checkbox] ~ [class*="__marker"]::after {
        content: none;
        box-sizing: border-box;
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-image: url("../images/form-checkbox-on.png");
        background-size: cover; }
    .rgf-form-input-checkbox input[type=checkbox]:checked ~ [class*="__marker"]::after {
      content: ''; }
    .rgf-form-input-checkbox input[type=checkbox]:disabled {
      opacity: 0.5; }
  .rgf-form-input-checkbox__text {
    display: block;
    margin-top: -0.14em;
    padding-left: 30px;
    line-height: 1.7;
    color: #000; }
  .rgf-form-input-checkbox__text {
    display: block; }

/* ============================================================

  FORM TEXTAREA

*/
.rgf-form-textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-sizing: border-box;
  display: block;
  margin: 0;
  padding: 0.6em 0.6em;
  width: 100%;
  border: 1px solid #a4aeb5;
  border-radius: 3px;
  resize: none;
  font-size: 14px;
  line-height: normal;
  height: 184px; }
  .rgf-form-textarea:disabled {
    opacity: 0.5; }
  .rgf-form-textarea:focus {
    outline: 0;
    box-shadow: -2px -2px 0 #add2ef, 2px -2px 0 #add2ef, -2px 2px 0 #add2ef, 2px 2px 0 #add2ef; }
  .rgf-form-textarea::placeholder {
    color: #999; }
  .rgf-form-textarea.--invalid {
    border-color: #cb0000; }

/* ============================================================

  FORM SELECT

*/
.rgf-form-select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-sizing: border-box;
  display: block;
  margin: 0;
  padding: 0.6em 30px 0.6em 0.6em;
  min-height: 40px;
  border: 1px solid #a4aeb5;
  border-radius: 3px;
  background-repeat: no-repeat;
  background-color: #f6f6f9;
  background-image: url("../images/form-select.svg");
  background-position: 100% 50%;
  background-size: 24px auto;
  font-size: 14px;
  line-height: normal;
  color: #000;
  width: 100%; }
  .rgf-form-select:disabled {
    opacity: 0.5; }
  .rgf-form-select:focus {
    outline: 0;
    box-shadow: -2px -2px 0 #add2ef, 2px -2px 0 #add2ef, -2px 2px 0 #add2ef, 2px 2px 0 #add2ef; }
  .rgf-form-select.--invalid {
    border-color: #cb0000; }

/* ============================================================

  FORM TABLE

*/
.rgf-form-table {
  width: 100%;
  border-bottom: 1px solid #ebebec; }
  @media only screen and (max-width: 767px) {
    .rgf-form-table {
      display: block; }
      .rgf-form-table tbody {
        display: block; }
      .rgf-form-table tr {
        display: block;
        padding: 20px 0;
        border-top: 1px solid #ebebec; } }
  .rgf-form-table th {
    padding: 20px 20px 20px 0;
    width: 200px;
    vertical-align: top;
    border-top: 1px solid #ebebec;
    text-align: left;
    font-size: 14px;
    line-height: 1.7;
    color: inherit; }
    @media only screen and (max-width: 767px) {
      .rgf-form-table th {
        display: block;
        padding: 0 0 15px 0;
        width: 100%;
        border-top: 0; } }
  .rgf-form-table td {
    padding: 20px 0;
    vertical-align: top;
    border-top: 1px solid #ebebec;
    text-align: left;
    font-size: 14px;
    line-height: 1.7;
    color: inherit; }
    @media only screen and (max-width: 767px) {
      .rgf-form-table td {
        display: block;
        padding: 0;
        border-top: 0; } }
  @media only screen and (max-width: 767px) {
    .rgf-form-table__combined {
      padding-top: 0 !important;
      border-top: 0 !important; }
      .rgf-form-table__combined tr {
        padding-top: 0;
        border-top: 0; } }
  .rgf-form-table__combined th,
  .rgf-form-table__combined td {
    padding-top: 0;
    border-top: 0; }
  .rgf-form-table__header {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 40px; }
    @media only screen and (max-width: 767px) {
      .rgf-form-table__header {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        min-height: initial; } }
  .rgf-form-table__title {
    font-weight: 700;
    font-size: 14px;
    line-height: normal; }
    @media only screen and (max-width: 767px) {
      .rgf-form-table__title {
        margin-right: 10px; } }
  .rgf-form-table__badge {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%); }
    @media only screen and (max-width: 767px) {
      .rgf-form-table__badge {
        position: static;
        transform: translateY(0%); } }
  .rgf-form-table__body {
    display: flex;
    margin: 0 -10px;
    padding-top: 20px; }
    @media only screen and (max-width: 767px) {
      .rgf-form-table__body {
        display: block;
        margin: 10px 0 0 0;
        padding-top: 0; }
        .rgf-form-table__body--expand {
          padding-top: 15px;
          padding-bottom: 15px; } }
    .rgf-form-table__body:first-child {
      padding-top: 0; }
      @media only screen and (max-width: 767px) {
        .rgf-form-table__body:first-child {
          margin: 0; } }
    .rgf-form-table__body.--hide + .rgf-form-table__body {
      padding-top: 0; }
  .rgf-form-table__box {
    padding: 0 10px;
    width: 100%; }
    @media only screen and (max-width: 767px) {
      .rgf-form-table__box {
        margin: 0 0 10px 0;
        padding: 0; }
        .rgf-form-table__box:last-child {
          margin: 0; } }
    .rgf-form-table__box--half {
      padding: 0 10px;
      width: 50%; }
      @media only screen and (max-width: 767px) {
        .rgf-form-table__box--half {
          margin: 0 0 10px 0;
          padding: 0;
          width: 100%; }
          .rgf-form-table__box--half:last-child {
            margin: 0; } }
  .rgf-form-table-list-vertical {
    margin: 0;
    padding: 10px 0 0 0;
    list-style: none; }
  .rgf-form-table__group {
    padding-top: 20px;
}
    @media only screen and (max-width: 767px) {
      .rgf-form-table-list-vertical {
        padding: 0; } }
    .rgf-form-table-list-vertical__item {
      margin-bottom: 10px;
      line-height: inherit; }
      .rgf-form-table-list-vertical__item:last-child {
        margin-bottom: 0; }
  .rgf-form-table-postcode {
    display: flex;
    margin: 0 -10px; }
    .rgf-form-table-postcode__mark {
      display: block;
      margin-right: 10px;
      font-weight: 700;
      font-size: 16px; }
    .rgf-form-table-postcode__number {
      display: flex;
      align-items: center;
      padding: 0 10px;
      width: 50%; }
      @media only screen and (max-width: 767px) {
        .rgf-form-table-postcode__number {
          width: auto;
          flex: 1; } }
    .rgf-form-table-postcode__search {
      display: flex;
      padding: 0 10px; }
    .rgf-form-table-postcode__search-button {
      margin: 0;
      padding: 0;
      -webkit-appearance: none;
      appearance: none;
      box-sizing: border-box;
      text-decoration: none;
      cursor: pointer;
      transition: 0.3s;
      display: flex;
      justify-content: center;
      align-items: center;
      padding: 0 1em;
      height: 40px;
      border: 0;
      border-radius: 3px;
      background-color: #0065bd;
      text-align: center;
      font-size: 14px;
      color: #fff; }
      .rgf-form-table-postcode__search-button:disabled {
        cursor: default; }
      @media only screen and (min-width: 768px) {
        .rgf-form-table-postcode__search-button:hover {
          background-color: #004c8e; } }
  .rgf-form-table-gender {
    display: flex;
    padding-top: 10px; }
    @media only screen and (max-width: 767px) {
      .rgf-form-table-gender {
        padding-top: 0; } }
    .rgf-form-table-gender__item {
      margin-right: 50px;
      line-height: inherit; }
      .rgf-form-table-gender__item:last-child {
        margin-right: 0; }
  .rgf-form-table-authcode {
    display: flex; }
    @media only screen and (max-width: 767px) {
      .rgf-form-table-authcode {
        display: block; } }
    .rgf-form-table-authcode__email {
      flex: 1;
      padding-right: 20px; }
      @media only screen and (max-width: 767px) {
        .rgf-form-table-authcode__email {
          margin-bottom: 20px;
          padding-right: 0; } }
    .rgf-form-table-authcode__post {
      display: flex; }
    .rgf-form-table-authcode__post-button {
      margin: 0;
      padding: 0;
      -webkit-appearance: none;
      appearance: none;
      box-sizing: border-box;
      text-decoration: none;
      cursor: pointer;
      transition: 0.3s;
      display: flex;
      justify-content: center;
      align-items: center;
      padding: 0 1em;
      height: 40px;
      border: 0;
      border-radius: 3px;
      background-color: #0065bd;
      text-align: center;
      font-size: 14px;
      color: #fff; }
      .rgf-form-table-authcode__post-button:disabled {
                    background-color: #cccccc;
            cursor: not-allowed;
            color: #666666; }
      @media only screen and (min-width: 768px) {
        .rgf-form-table-authcode__post-button:hover {
          background-color: #004c8e; } }
    .rgf-form-table-authcode-note {
      color: #cb0000; }
  .rgf-form-table-newsmail-checkbox {
    display: table;
    position: relative; }
    .rgf-form-table-newsmail-checkbox input[type=checkbox] {
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      box-sizing: border-box;
      position: absolute;
      top: 0;
      left: 0;
      display: block;
      margin: 0;
      padding: 0;
      width: 20px;
      height: 20px;
      border-radius: 4px; }
      .rgf-form-table-newsmail-checkbox input[type=checkbox] ~ [class*="__marker"] {
        cursor: pointer;
        box-sizing: border-box;
        position: absolute;
        top: 0;
        left: 0;
        width: 20px;
        height: 20px; }
        .rgf-form-table-newsmail-checkbox input[type=checkbox] ~ [class*="__marker"]::before {
          content: '';
          box-sizing: border-box;
          display: block;
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          bottom: 0;
          background-image: url("../images/form-checkbox.png");
          background-size: cover; }
        .rgf-form-table-newsmail-checkbox input[type=checkbox] ~ [class*="__marker"]::after {
          content: none;
          box-sizing: border-box;
          display: block;
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          bottom: 0;
          background-image: url("../images/form-checkbox-on.png");
          background-size: cover; }
      .rgf-form-table-newsmail-checkbox input[type=checkbox]:checked ~ [class*="__marker"]::after {
        content: ''; }
      .rgf-form-table-newsmail-checkbox input[type=checkbox]:disabled {
        opacity: 0.5; }
    .rgf-form-table-newsmail-checkbox__text {
      display: block;
      margin-top: -0.14em;
      padding-left: 30px;
      line-height: 1.7;
      color: #000; }
    .rgf-form-table-newsmail-checkbox__text {
      font-weight: 700; }
  .rgf-form-table-newsmail__note {
    margin: 12px 0 0 0;
    padding: 0;
    list-style: none; }
    .rgf-form-table-newsmail__note li {
      position: relative;
      margin-bottom: 10px;
      padding-left: 30px;
      font-size: 14px;
      line-height: 1.7; }
      .rgf-form-table-newsmail__note li:last-child {
        margin-bottom: 0; }
      .rgf-form-table-newsmail__note li i {
        position: absolute;
        top: 0;
        left: 0;
        font-style: normal; }
      .rgf-form-table__required {
    display: inline;
    padding-left: 0.3em;
    font-weight: 700;
    font-size: 14px;
    line-height: normal;
    color: #cb0000;
}

/* ============================================================

  FORM CONTROLLER

*/
.rgf-form-controller {
  margin-bottom: -20px; }
  @media only screen and (max-width: 767px) {
    .rgf-form-controller {
      margin-bottom: -10px; } }

/* ============================================================

  FORM APPEND

*/
.rgf-form-append-button {
  display: flex;
  align-items: center;
  margin-bottom: 20px; }
  @media only screen and (max-width: 767px) {
    .rgf-form-append-button {
      margin-bottom: 10px; } }
  .rgf-form-append-button__marker {
    margin: 0;
    padding: 0;
    -webkit-appearance: none;
    appearance: none;
    box-sizing: border-box;
    text-decoration: none;
    cursor: pointer;
    transition: 0.3s;
    flex-shrink: 0;
    position: relative;
    width: 40px;
    height: 40px;
    background-color: #0065bd;
    border-radius: 3px;
    cursor: pointer; }
    .rgf-form-append-button__marker:disabled {
      cursor: default; }
    @media only screen and (min-width: 768px) {
      .rgf-form-append-button__marker:hover {
        background-color: #004c8e; } }
    .rgf-form-append-button__marker::before, .rgf-form-append-button__marker::after {
      content: '';
      display: block;
      position: absolute;
      top: 50%;
      left: 50%;
      background-color: #fff; }
    .rgf-form-append-button__marker::before {
      margin: -1px 0 0 -10px;
      width: 20px;
      height: 2px; }
    .rgf-form-append-button__marker::after {
      margin: -10px 0 0 -1px;
      width: 2px;
      height: 20px; }
  .rgf-form-append-button__text {
    margin-left: 20px;
    font-size: 14px;
    line-height: 1.5;
    color: inherit; }

/* ============================================================

  FORM REMOVE

*/
.rgf-form-remove-button {
  display: flex;
  align-items: center;
  margin-bottom: 20px; }
  @media only screen and (max-width: 767px) {
    .rgf-form-remove-button {
      margin-bottom: 10px; } }
  .rgf-form-remove-button__marker {
    margin: 0;
    padding: 0;
    -webkit-appearance: none;
    appearance: none;
    box-sizing: border-box;
    text-decoration: none;
    cursor: pointer;
    transition: 0.3s;
    flex-shrink: 0;
    position: relative;
    width: 40px;
    height: 40px;
    background-color: #cb0000;
    border-radius: 3px;
    cursor: pointer; }
    .rgf-form-remove-button__marker:disabled {
      cursor: default; }
    @media only screen and (min-width: 768px) {
      .rgf-form-remove-button__marker:hover {
        background-color: #aa0000; } }
    .rgf-form-remove-button__marker::before {
      content: '';
      display: block;
      position: absolute;
      top: 50%;
      left: 50%;
      background-color: #fff; }
    .rgf-form-remove-button__marker::before {
      margin: -1px 0 0 -10px;
      width: 20px;
      height: 2px; }
  .rgf-form-remove-button__text {
    margin-left: 20px;
    font-size: 14px;
    line-height: 1.5;
    color: inherit; }

/* ============================================================

  REGISTER

*/
.rgf-register {
  margin: 0 auto;
  padding: 50px 50px 100px 50px;
  max-width: 946px;
  color: #384c57;
  box-sizing: border-box; }
  @media only screen and (max-width: 767px) {
    .rgf-register {
      padding: 50px 20px; } }

/*

  REGISTER: BEGINING

*/
.rgf-register-begining {
  margin-bottom: 20px; }
  .rgf-register-begining__text {
    text-align: center; }
    @media only screen and (max-width: 767px) {
      .rgf-register-begining__text {
        text-align: left; } }
    .rgf-register-begining__text p {
      font-weight: 700;
      font-size: 16px;
      line-height: 1.7;
      color: inherit; }
      @media only screen and (max-width: 767px) {
        .rgf-register-begining__text p br {
          display: none; } }

/*

  REGISTER: CONTENT

*/
.rgf-register-content__section {
  margin: 50px 0 20px 0; }
  .rgf-register-content__section:first-child {
    margin: 0 0 20px 0; }

.rgf-register-content__header {
  padding: 20px 0; }

.rgf-register-content__heading {
  position: relative;
  margin: 0;
  padding: 0;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.7;
  color: #0065bd; }

.rgf-register-content__heading-number {
  display: block;
  position: absolute;
  top: 0;
  left: 0; }

.rgf-register-content__heading-text {
  display: block;
  padding-left: 1.5em; }

/*

  REGISTER: ACTION

*/
.rgf-register-action {
  margin-top: 80px;
  padding: 50px;
  border-radius: 10px;
  background-color: #f6f6f9;
  font-size: 14px; }
  @media only screen and (max-width: 767px) {
    .rgf-register-action {
      margin-top: 50px;
      padding: 30px 20px; } }
  .rgf-register-action__item {
    margin-bottom: 25px; }
    .rgf-register-action__item a {
      color: #0065bd; }
      @media only screen and (min-width: 768px) {
        .rgf-register-action__item a:hover {
          text-decoration: underline; } }
  .rgf-register-action__text {
    margin-bottom: 25px;
    font-size: 16px;
    line-height: 1.7;
    color: inherit; }
  .rgf-register-action-checkbox {
    display: table;
    position: relative; }
    .rgf-register-action-checkbox input[type=checkbox] {
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      box-sizing: border-box;
      position: absolute;
      top: 0;
      left: 0;
      display: block;
      margin: 0;
      padding: 0;
      width: 20px;
      height: 20px;
      border-radius: 4px; }
      .rgf-register-action-checkbox input[type=checkbox] + [class*="__marker"] {
        cursor: pointer;
        box-sizing: border-box;
        position: absolute;
        top: 0;
        left: 0;
        width: 20px;
        height: 20px; }
        .rgf-register-action-checkbox input[type=checkbox] + [class*="__marker"]::before {
          content: '';
          box-sizing: border-box;
          display: block;
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          bottom: 0;
          background-image: url("../images/form-checkbox.png");
          background-size: cover; }
        .rgf-register-action-checkbox input[type=checkbox] + [class*="__marker"]::after {
          content: none;
          box-sizing: border-box;
          display: block;
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          bottom: 0;
          background-image: url("../images/form-checkbox-on.png");
          background-size: cover; }
      .rgf-register-action-checkbox input[type=checkbox]:checked + [class*="__marker"]::after {
        content: ''; }
      .rgf-register-action-checkbox input[type=checkbox]:disabled {
        opacity: 0.5; }
    .rgf-register-action-checkbox__text {
      display: block;
      margin-top: -0.14em;
      padding-left: 30px;
      line-height: 1.7;
      color: #000; }
    .rgf-register-action-checkbox__text {
      font-size: 16px;
      color: inherit; }
  .rgf-register-action__foot {
    margin-top: 50px; }
    @media only screen and (max-width: 767px) {
      .rgf-register-action__foot {
        margin-top: 40px; } }
  .rgf-register-action__button {
    margin: 0;
    padding: 0;
    -webkit-appearance: none;
    appearance: none;
    box-sizing: border-box;
    text-decoration: none;
    cursor: pointer;
    transition: 0.3s;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 60px;
    border: 0;
    border-radius: 6px;
    font-weight: 700;
    font-size: 18px;
    line-height: 1.5;
    color: #fff;
    margin: 0 auto;
    width: 100%;
    max-width: 414px;
    background-color: #e23000; }
    .rgf-register-action__button:disabled {
      cursor: default; }
    @media only screen and (min-width: 768px) {
      .rgf-register-action__button:hover {
        background-color: #b52600; } }
    .rgf-register-action__button:disabled {
      background-color: #a4aeb5; }

/* ============================================================

  RESUME

*/
/* ============================================================

  RESUME INDEX

*/
.rgf-resume-index {
  margin: 0 auto;
  padding: 50px 50px 100px 50px;
  max-width: 946px;
  color: #384c57;
  box-sizing: border-box; }
  @media only screen and (max-width: 767px) {
    .rgf-resume-index {
      padding: 50px 20px; } }

/*

  RESUME INDEX: WELCOME

*/
.rgf-resume-index-welcome__heading {
  margin: 0 0 25px 0;
  padding: 0;
  text-align: center;
  font-weight: 700;
  font-size: 22px;
  color: #0065bd; }

.rgf-resume-index-welcome__text {
  text-align: center;
  font-weight: 700; }
  @media only screen and (max-width: 767px) {
    .rgf-resume-index-welcome__text {
      text-align: left; } }
  .rgf-resume-index-welcome__text p {
    margin: 0 0 25px 0;
    font-size: 16px;
    line-height: 1.7; }

.rgf-resume-index-welcome__note {
  padding: 0; }

.rgf-resume-index-welcome__note-item {
  margin-bottom: 0.5em;
  padding-left: 1em;
  text-indent: -1em;
  font-size: 14px;
  line-height: 1.7;
  list-style: none;
  color: #cb0000; }
  .rgf-resume-index-welcome__note-item:last-child {
    margin-bottom: 0; }

/*

  RESUME INDEX: UPLOAD

*/
.rgf-resume-index-upload {
  margin: 30px 0; }
  .rgf-resume-index-upload__list {
    display: flex;
    margin: 0 -10px; }
    @media only screen and (max-width: 767px) {
      .rgf-resume-index-upload__list {
        display: block;
        margin: 0; } }
  .rgf-resume-index-upload__item {
    padding: 0 10px;
    width: 100%;
    box-sizing: border-box; }
    @media only screen and (max-width: 767px) {
      .rgf-resume-index-upload__item {
        margin-bottom: 20px;
        padding: 0; } }
  .rgf-resume-index-upload__button {
    margin: 0;
    padding: 0;
    -webkit-appearance: none;
    appearance: none;
    box-sizing: border-box;
    text-decoration: none;
    cursor: pointer;
    transition: 0.3s;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    min-height: 60px;
    border: 1px solid #0065bd;
    border-radius: 6px;
    background-color: #fff;
    font-weight: 700;
    font-size: 18px;
    line-height: 1.5;
    color: #0065bd; }
    .rgf-resume-index-upload__button:disabled {
      cursor: default; }
    @media only screen and (min-width: 768px) {
      .rgf-resume-index-upload__button:hover {
        background-color: #f6f6f9; } }
    @media only screen and (max-width: 767px) {
      .rgf-resume-index-upload__button {
        padding-right: 26px; } }
    .rgf-resume-index-upload__button::after {
      content: '';
      display: block;
      position: absolute;
      top: 50%;
      right: 15px;
      margin-top: -8px;
      width: 16px;
      height: 16px;
      background-position: center;
      background-repeat: no-repeat;
      background-image: url(../images/resume-upload-icon.svg);
      background-size: contain; }
  .rgf-resume-index-upload__button-text--document1, .rgf-resume-index-upload__button-text--document2 {
    display: flex;
    align-items: center; }
    @media only screen and (max-width: 767px) {
      .rgf-resume-index-upload__button-text--document1, .rgf-resume-index-upload__button-text--document2 {
        width: 266px; } }
    .rgf-resume-index-upload__button-text--document1::before, .rgf-resume-index-upload__button-text--document2::before {
      content: '';
      display: block;
      flex-shrink: 0;
      margin-right: 5px;
      width: 40px;
      height: 40px;
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain; }
  .rgf-resume-index-upload__button-text--document1::before {
    background-image: url(../images/resume-upload-document1.svg); }
  .rgf-resume-index-upload__button-text--document2::before {
    background-image: url(../images/resume-upload-document2.svg); }

/*

  RESUME INDEX: STEP

*/
.rgf-resume-index-step {
  margin: 40px 0;
  padding: 40px;
  border-radius: 6px;
  background-color: #f6f6f9; }
  @media only screen and (max-width: 767px) {
    .rgf-resume-index-step {
      padding: 40px 20px; } }
  .rgf-resume-index-step__text {
    margin-bottom: 35px;
    text-align: center; }
    @media only screen and (max-width: 767px) {
      .rgf-resume-index-step__text {
        text-align: left; } }
    .rgf-resume-index-step__text p {
      margin: 0;
      font-weight: 700;
      font-size: 16px;
      line-height: 1.7; }
  @media only screen and (max-width: 767px) {
    .rgf-resume-index-step__list {
      margin: 0 -15px; } }
  .rgf-resume-index-step-list {
    display: flex;
    justify-content: center;
    margin: 0 auto;
    padding: 0;
    width: 100%;
    max-width: 690px;
    list-style: none;
    box-sizing: border-box; }
    .rgf-resume-index-step-list__item {
      position: relative;
      overflow: hidden;
      margin: 0;
      padding: 0;
      width: 100%; }
      .rgf-resume-index-step-list__item::before, .rgf-resume-index-step-list__item::after {
        content: '';
        display: block;
        position: absolute;
        top: 45px;
        width: 100px;
        height: 1px;
        background-color: #0065bd; }
      .rgf-resume-index-step-list__item::before {
        right: 50%;
        margin-right: 55px; }
        @media only screen and (max-width: 767px) {
          .rgf-resume-index-step-list__item::before {
            margin-right: 50px; } }
      .rgf-resume-index-step-list__item::after {
        left: 50%;
        margin-left: 55px; }
        @media only screen and (max-width: 767px) {
          .rgf-resume-index-step-list__item::after {
            margin-left: 50px; } }
      .rgf-resume-index-step-list__item:first-child::before, .rgf-resume-index-step-list__item:last-child::after {
        content: none; }
    .rgf-resume-index-step-list__number {
      margin: 0 auto;
      padding-top: 10px;
      width: 90px;
      height: 90px;
      border: 1px solid #0065bd;
      border-radius: 50%;
      background-color: #fff;
      text-align: center;
      font-weight: 700;
      font-size: 16px;
      line-height: 1.5;
      color: #0065bd;
      box-sizing: border-box; }
      .rgf-resume-index-step-list__number::before {
        content: '';
        display: block;
        margin: 0 auto 6px auto;
        width: 30px;
        height: 30px;
        background-position: center;
        background-repeat: no-repeat;
        background-image: url(../images/resume-step-icon.svg);
        background-size: contain; }
    .rgf-resume-index-step-list__caption {
      margin-top: 8px;
      text-align: center;
      font-size: 14px;
      line-height: 1.7;
      color: inherit; }
    @media only screen and (max-width: 767px) {
      .rgf-resume-index-step-list__item::before, .rgf-resume-index-step-list__item::after {
        top: 41px; }
      .rgf-resume-index-step-list__item::before {
        margin-right: 44px; }
      .rgf-resume-index-step-list__item::after {
        margin-left: 44px; }
      .rgf-resume-index-step-list__number {
        width: 82px;
        height: 82px;
        font-size: 14px; }
        .rgf-resume-index-step-list__number::before {
          margin: 0 auto 4px auto;
          width: 28px;
          height: 28px; } }

/*

  RESUME INDEX: START

*/
.rgf-resume-index-start__button {
  margin: 0;
  padding: 0;
  -webkit-appearance: none;
  appearance: none;
  box-sizing: border-box;
  text-decoration: none;
  cursor: pointer;
  transition: 0.3s;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  width: 100%;
  max-width: 558px;
  min-height: 70px;
  border-radius: 6px;
  background-color: #e23000;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.5;
  color: #fff; }
  .rgf-resume-index-start__button:disabled {
    cursor: default; }
  @media only screen and (min-width: 768px) {
    .rgf-resume-index-start__button:hover {
      background-color: #b52600; } }
  @media only screen and (max-width: 767px) {
    .rgf-resume-index-start__button {
      max-width: 100%;
      font-size: 16px; } }

.rgf-resume-index-start__button-text {
  display: flex;
  align-items: center; }
  .rgf-resume-index-start__button-text::before {
    content: '';
    display: block;
    margin-right: 10px;
    width: 40px;
    height: 40px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url(../images/resume-start-icon.svg); }

.rgf-resume-index-start__note {
  margin-top: 30px;
  padding: 0;
  list-style: none; }
  .rgf-resume-index-start__note li {
    padding-left: 1em;
    text-indent: -1em;
    font-size: 14px;
    line-height: 1.7;
    color: inherit; }

/*

  RESUME INDEX: ADVISE

*/
.rgf-resume-index-advise {
  margin: 70px 0 40px 0; }
  .rgf-resume-index-advise__heading {
    text-align: center;
    font-weight: 700;
    font-size: 22px;
    line-height: 1.7;
    color: #0065bd; }
    .rgf-resume-index-advise__heading span {
      display: inline-block; }
  .rgf-resume-index-advise__text {
    margin: 30px 0;
    text-align: center; }
    @media only screen and (max-width: 767px) {
      .rgf-resume-index-advise__text {
        text-align: left; } }
    .rgf-resume-index-advise__text p {
      font-size: 16px;
      font-size: 1.7; }
      @media only screen and (max-width: 767px) {
        .rgf-resume-index-advise__text p br {
          display: none; } }
  .rgf-resume-index-advise__list {
    display: table;
    margin: 0 auto;
    padding: 0;
    list-style: none; }
    .rgf-resume-index-advise__list li {
      position: relative;
      margin-bottom: 20px;
      padding-left: 28px;
      font-weight: 700;
      font-size: 16px;
      line-height: 1.7; }
      .rgf-resume-index-advise__list li:last-child {
        margin-bottom: 0; }
      .rgf-resume-index-advise__list li::before {
        content: '';
        display: block;
        position: absolute;
        top: 0.3em;
        left: 0;
        width: 16px;
        height: 16px;
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
        background-image: url(../images/resume-advise-check.svg); }

/*

  RESUME INDEX: ACTION

*/
.rgf-resume-index-action {
  margin-top: 80px; }
  @media only screen and (max-width: 767px) {
    .rgf-resume-index-action {
      margin-top: 50px; } }
  .rgf-resume-index-action__list {
    display: flex;
    margin: 0 -10px; }
    @media only screen and (max-width: 767px) {
      .rgf-resume-index-action__list {
        display: block;
        margin: 0; } }
  .rgf-resume-index-action__item {
    padding: 0 10px;
    width: 100%; }
    @media only screen and (max-width: 767px) {
      .rgf-resume-index-action__item {
        padding: 0;
        margin: 0 0 20px 0; } }
  .rgf-resume-index-action__button--mypage, .rgf-resume-index-action__button--top {
    margin: 0;
    padding: 0;
    -webkit-appearance: none;
    appearance: none;
    box-sizing: border-box;
    text-decoration: none;
    cursor: pointer;
    transition: 0.3s;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 60px;
    border: 0;
    border-radius: 6px;
    font-weight: 700;
    font-size: 18px;
    line-height: 1.5;
    color: #fff; }
    .rgf-resume-index-action__button--mypage:disabled, .rgf-resume-index-action__button--top:disabled {
      cursor: default; }
  .rgf-resume-index-action__button--mypage {
    background-color: #0065bd; }
    @media only screen and (min-width: 768px) {
      .rgf-resume-index-action__button--mypage:hover {
        background-color: #004c8e; } }
  .rgf-resume-index-action__button--top {
    background-color: #384c57; }
    @media only screen and (min-width: 768px) {
      .rgf-resume-index-action__button--top:hover {
        background-color: #1c262b; } }

/* ============================================================

  RESUME INPUT

*/
.rgf-resume-input {
  margin: 0 auto;
  padding: 50px 50px 100px 50px;
  max-width: 946px;
  color: #384c57;
  box-sizing: border-box; }
  @media only screen and (max-width: 767px) {
    .rgf-resume-input {
      padding: 50px 20px; } }

/*

  RESUME INPUT: STEP

*/
.rgf-resume-input-step {
  margin-bottom: 20px; }
  .rgf-resume-input-step-list {
    display: flex;
    justify-content: center;
    margin: 0 auto;
    padding: 0;
    width: 100%;
    max-width: 690px;
    list-style: none;
    box-sizing: border-box; }
    .rgf-resume-input-step-list__item {
      position: relative;
      overflow: hidden;
      margin: 0;
      padding: 0;
      width: 100%; }
      .rgf-resume-input-step-list__item::before, .rgf-resume-input-step-list__item::after {
        content: '';
        display: block;
        position: absolute;
        top: 45px;
        width: 100px;
        height: 1px;
        background-color: #0065bd; }
      .rgf-resume-input-step-list__item::before {
        right: 50%;
        margin-right: 55px; }
        @media only screen and (max-width: 767px) {
          .rgf-resume-input-step-list__item::before {
            margin-right: 50px; } }
      .rgf-resume-input-step-list__item::after {
        left: 50%;
        margin-left: 55px; }
        @media only screen and (max-width: 767px) {
          .rgf-resume-input-step-list__item::after {
            margin-left: 50px; } }
      .rgf-resume-input-step-list__item:first-child::before, .rgf-resume-input-step-list__item:last-child::after {
        content: none; }
    .rgf-resume-input-step-list__number {
      margin: 0 auto;
      padding-top: 10px;
      width: 90px;
      height: 90px;
      border: 1px solid #0065bd;
      border-radius: 50%;
      background-color: #fff;
      text-align: center;
      font-weight: 700;
      font-size: 16px;
      line-height: 1.5;
      color: #0065bd;
      box-sizing: border-box; }
      .rgf-resume-input-step-list__number::before {
        content: '';
        display: block;
        margin: 0 auto 6px auto;
        width: 30px;
        height: 30px;
        background-position: center;
        background-repeat: no-repeat;
        background-image: url(../images/resume-step-icon.svg);
        background-size: contain; }
    .rgf-resume-input-step-list__caption {
      margin-top: 8px;
      text-align: center;
      font-size: 14px;
      line-height: 1.7;
      color: inherit; }
    .rgf-resume-input-step-list__item--current .rgf-resume-input-step-list__number {
      background-color: #0065bd;
      color: #fff; }
    .rgf-resume-input-step-list__item--current .rgf-resume-input-step-list__number::before {
      background-image: url(../images/resume-step-icon-current.svg); }
    .rgf-resume-input-step-list__item--current .rgf-resume-input-step-list__caption {
      font-weight: 700;
      color: #0065bd; }
  .rgf-resume-input-step__list {
    margin-bottom: 30px; }
    @media only screen and (max-width: 767px) {
      .rgf-resume-input-step__list {
        margin: 0 -20px 30px -20px; } }
  .rgf-resume-input-step__text {
    margin-bottom: 20px;
    text-align: center; }
    @media only screen and (max-width: 767px) {
      .rgf-resume-input-step__text {
        text-align: left; } }
    .rgf-resume-input-step__text:last-child {
      margin-bottom: 0; }
    .rgf-resume-input-step__text p {
      margin: 0;
      font-weight: 700;
      font-size: 16px;
      line-height: 1.7;
      color: inherit; }
      @media only screen and (max-width: 767px) {
        .rgf-resume-input-step__text p {
          display: inline; } }
  .rgf-resume-input-step__note {
    padding: 0;
    list-style: none;
    text-align: center; }
    @media only screen and (max-width: 767px) {
      .rgf-resume-input-step__note {
        text-align: left; } }
    .rgf-resume-input-step__note li {
      position: relative;
      padding-left: 1em;
      text-indent: -1em;
      font-size: 14px;
      line-height: 1.7;
      color: inherit; }

/*

  RESUME INPUT: CONTENT

*/
.rgf-resume-input-content__section {
  margin: 50px 0 20px 0; }
  .rgf-resume-input-content__section:first-child {
    margin: 0 0 20px 0; }
  .rgf-resume-input-content__section:last-child {
    margin-bottom: 0; }
  .rgf-resume-input-content__section--sub {
    margin: 20px 0; }
    .rgf-resume-input-content__section--sub:last-child {
      margin-bottom: 0; }

.rgf-resume-input-content__header {
  padding: 20px 0; }

.rgf-resume-input-content__heading {
  position: relative;
  margin: 0;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.3;
  color: #0065bd; }

.rgf-resume-input-content__subhead {
  position: relative;
  margin: 0;
  padding: 20px 0;
  font-size: 16px;
  font-weight: 700;
  color: #0065bd; }

/*

  RESUME INPUT: PRIVACY

*/
.rgf-resume-input-privacy {
  margin: 80px 0;
  padding: 50px;
  border-radius: 10px;
  background-color: #f6f6f9; }
  @media only screen and (max-width: 767px) {
    .rgf-resume-input-privacy {
      margin: 50px 0;
      padding: 40px 20px; } }
  .rgf-resume-input-privacy__heading {
    text-align: center;
    font-weight: 700;
    font-size: 16px;
    line-height: 1.7; }
    .rgf-resume-input-privacy__heading span {
      display: inline-block; }
  .rgf-resume-input-privacy__text {
    margin: 30px 0 15px 0; }
    .rgf-resume-input-privacy__text p {
      font-size: 16px;
      line-height: 1.7;
      color: inherit; }
    .rgf-resume-input-privacy__text a {
      color: #0065bd; }
      @media only screen and (min-width: 768px) {
        .rgf-resume-input-privacy__text a:hover {
          text-decoration: underline; } }
  .rgf-resume-input-privacy__note {
    margin: 0;
    padding: 0;
    list-style: none; }
    .rgf-resume-input-privacy__note li {
      padding-left: 1em;
      text-indent: -1em;
      font-size: 14px;
      line-height: 1.7;
      color: #cb0000; }
  .rgf-resume-input-privacy__foot {
    margin-top: 30px;
    font-size: 16px;
    line-height: 1.7; }

/*

  RESUME INPUT: ACTION STEP1

*/
.rgf-resume-input-action-step1 {
  margin-top: 80px; }
  @media only screen and (max-width: 767px) {
    .rgf-resume-input-action-step1 {
      margin-top: 50px; } }
  .rgf-resume-input-action-step1__list {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 -10px; }
  .rgf-resume-input-action-step1__next {
    padding: 0 10px;
    width: 62%;
    box-sizing: border-box; }
    @media only screen and (max-width: 767px) {
      .rgf-resume-input-action-step1__next {
        width: 100%; } }
  .rgf-resume-input-action-step1__save {
    margin-top: 40px;
    padding: 0 10px;
    width: 38%;
    box-sizing: border-box; }
    @media only screen and (max-width: 767px) {
      .rgf-resume-input-action-step1__save {
        margin-top: 20px;
        width: 56%; } }

/*

  RESUME INPUT: ACTION STEP2

*/
.rgf-resume-input-action-step2 {
  margin-top: 80px; }
  @media only screen and (max-width: 767px) {
    .rgf-resume-input-action-step2 {
      margin-top: 50px; } }
  .rgf-resume-input-action-step2__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 -10px; }
  .rgf-resume-input-action-step2__prev {
    padding: 0 10px;
    width: 38%;
    box-sizing: border-box; }
    @media only screen and (max-width: 767px) {
      .rgf-resume-input-action-step2__prev {
        width: 44%; } }
  .rgf-resume-input-action-step2__next {
    padding: 0 10px;
    width: 62%;
    box-sizing: border-box; }
    @media only screen and (max-width: 767px) {
      .rgf-resume-input-action-step2__next {
        width: 56%; } }
  .rgf-resume-input-action-step2__save {
    margin-top: 20px;
    padding: 0 10px;
    width: 38%;
    box-sizing: border-box; }
    @media only screen and (max-width: 767px) {
      .rgf-resume-input-action-step2__save {
        width: 56%; } }

/*

  RESUME INPUT: ACTION STEP3

*/
.rgf-resume-input-action-step3 {
  margin-top: 80px; }
  @media only screen and (max-width: 767px) {
    .rgf-resume-input-action-step3 {
      margin-top: 50px; } }
  .rgf-resume-input-action-step3__list {
    display: flex;
    margin: 0 -10px; }
  .rgf-resume-input-action-step3__prev {
    padding: 0 10px;
    width: 38%;
    box-sizing: border-box; }
    @media only screen and (max-width: 767px) {
      .rgf-resume-input-action-step3__prev {
        width: 44%; } }
  .rgf-resume-input-action-step3__finish {
    padding: 0 10px;
    width: 62%;
    box-sizing: border-box; }
    @media only screen and (max-width: 767px) {
      .rgf-resume-input-action-step3__finish {
        width: 56%; } }

/*

  RESUME INPUT: ACTION BUTTON

*/
.rgf-resume-input-action-button--prev, .rgf-resume-input-action-button--next, .rgf-resume-input-action-button--save, .rgf-resume-input-action-button--finish {
  margin: 0;
  padding: 0;
  -webkit-appearance: none;
  appearance: none;
  box-sizing: border-box;
  text-decoration: none;
  cursor: pointer;
  transition: 0.3s;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 60px;
  border: 0;
  border-radius: 6px;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.5;
  color: #fff;
  width: 100%; }
  .rgf-resume-input-action-button--prev:disabled, .rgf-resume-input-action-button--next:disabled, .rgf-resume-input-action-button--save:disabled, .rgf-resume-input-action-button--finish:disabled {
    cursor: default; }

.rgf-resume-input-action-button--prev {
  background-color: #add2ef;
  color: #384c57; }
  @media only screen and (min-width: 768px) {
    .rgf-resume-input-action-button--prev:hover {
      background-color: #87bfdc;
      color: #234c57; } }
  @media only screen and (max-width: 767px) {
    .rgf-resume-input-action-button--prev {
      font-size: 16px; } }

.rgf-resume-input-action-button--next {
  background-color: #0065bd; }
  @media only screen and (min-width: 768px) {
    .rgf-resume-input-action-button--next:hover {
      background-color: #004c8e; } }
  @media only screen and (max-width: 767px) {
    .rgf-resume-input-action-button--next {
      font-size: 16px; } }
  .rgf-resume-input-action-button--next:disabled {
    background-color: #ebebec;
    color: #a4aeb5; }

.rgf-resume-input-action-button--save {
  background-color: #384c57; }
  @media only screen and (min-width: 768px) {
    .rgf-resume-input-action-button--save:hover {
      background-color: #1c262b; } }

.rgf-resume-input-action-button--finish {
  background-color: #0065bd; }
  @media only screen and (min-width: 768px) {
    .rgf-resume-input-action-button--finish:hover {
      background-color: #004c8e; } }
  .rgf-resume-input-action-button--finish:disabled {
    background-color: #ebebec;
    color: #a4aeb5; }

/*

  RESUME INPUT: ACTION NOTE

*/
.rgf-resume-input-action-note {
  margin: 30px 0 0 0;
  padding: 0;
  list-style: none; }
  .rgf-resume-input-action-note li {
    padding-left: 1em;
    text-indent: -1em;
    font-size: 14px;
    line-height: 1.7;
    color: inherit; }
