@charset "UTF-8";
/*
	media settings
**************************************************/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

html {
  font-size: 2.6666666667vw;
}
@media screen and (min-width: 769px) {
  html {
    font-size: 62.5%;
  }
}

* {
  box-sizing: border-box;
}

a * {
  pointer-events: none;
  text-decoration: none;
}

body {
  color: #000;
  line-height: 1.6;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans W3", "メイリオ", Meiryo, sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  position: relative;
}

.noto-sans {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.roboto {
  font-weight: 400;
  font-family: "Roboto", sans-serif;
}

.italic {
  font-style: italic;
}

.fsp50 {
  font-size: 50% !important;
}

.fsp60 {
  font-size: 60% !important;
}

.fsp65 {
  font-size: 65% !important;
}

.fsp70 {
  font-size: 70% !important;
}

.fsp80 {
  font-size: 80% !important;
}

.fsp90 {
  font-size: 90% !important;
}

.fsp110 {
  font-size: 110% !important;
}

.fsp120 {
  font-size: 120% !important;
}

.fsp130 {
  font-size: 130% !important;
}

.fsp140 {
  font-size: 140% !important;
}

.fsp150 {
  font-size: 150% !important;
}

.fsp160 {
  font-size: 160% !important;
}

.fsp170 {
  font-size: 170% !important;
}

.fsp180 {
  font-size: 180% !important;
}

.fw-300 {
  font-weight: 300 !important;
}

.fw-400 {
  font-weight: 400 !important;
}

.fw-500 {
  font-weight: 500 !important;
}

.fw-600 {
  font-weight: 600 !important;
}

.fw-700 {
  font-weight: 700 !important;
}

.fw-800 {
  font-weight: 800 !important;
}

.fw-900 {
  font-weight: 900 !important;
}

.lineheight10 {
  line-height: 1;
}

.lineheight11 {
  line-height: 1.1;
}

.lineheight12 {
  line-height: 1.2;
}

.lineheight13 {
  line-height: 1.3;
}

.lineheight14 {
  line-height: 1.4;
}

.lineheight15 {
  line-height: 1.5;
}

.lineheight16 {
  line-height: 1.6;
}

.lineheight17 {
  line-height: 1.7;
}

.lineheight18 {
  line-height: 1.8;
}

.lineheight19 {
  line-height: 1.9;
}

.lineheight20 {
  line-height: 2;
}

.lettersp01 {
  letter-spacing: 0.1rem;
}

.lettersp02 {
  letter-spacing: 0.2rem;
}

.lettersp03 {
  letter-spacing: 0.3rem;
}

.lettersp04 {
  letter-spacing: 0.4rem;
}

.lettersp05 {
  letter-spacing: 0.5rem;
}

.lettersp06 {
  letter-spacing: 0.6rem;
}

.c-red {
  color: #AE0000 !important;
}

.c-blk {
  color: #000 !important;
}

.c-bblk {
  color: #333 !important;
}

.c-wht {
  color: #fff !important;
}

.c-nblu {
  color: #2B395B !important;
}

.c-lblu {
  color: #F1F6FF !important;
}

.c-beg {
  color: #DBB065 !important;
}

.c-lbeg {
  color: #f0dec0 !important;
}

.c-gry {
  color: #888888 !important;
}

.t-center {
  text-align: center !important;
}

.t-left {
  text-align: left !important;
}

.t-right {
  text-align: right !important;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

ul {
  list-style: none;
}

ruby rt {
  font-size: 35%;
}

.mark-text {
  font-style: normal;
  background: linear-gradient(transparent 70%, #f0dec0 30%);
}

.block {
  display: block !important;
}

.inline-block {
  display: inline-block !important;
}

.inline {
  display: inline !important;
}

.spnone {
  display: none !important;
}
@media screen and (min-width: 769px) {
  .spnone {
    display: block !important;
  }
}

.pcnone {
  display: block !important;
}
@media screen and (min-width: 769px) {
  .pcnone {
    display: none !important;
  }
}

.spnone-flex {
  display: none !important;
}
@media screen and (min-width: 769px) {
  .spnone-flex {
    display: flex !important;
  }
}

.pcnone-flex {
  display: flex !important;
}
@media screen and (min-width: 769px) {
  .pcnone-flex {
    display: none !important;
  }
}

.top .topnone {
  display: none !important;
}

.form_body .formnone {
  display: none !important;
}

.section {
  padding: 4rem 0;
}

.section-padTop {
  padding: 4rem 0 0;
}

.section-padBottom {
  padding: 0 0 4rem;
}

.section-top {
  padding: 8rem 0 4rem;
}

.section-bottom {
  padding: 4rem 0 8rem;
}

i,
em {
  font-style: normal;
}

a {
  display: block;
  text-decoration: none;
  transition: opacity 0.3s;
  -webkit-tap-highlight-color: transparent;
}
a.break-url {
  word-break: break-all;
  overflow-wrap: break-word;
}

button {
  -webkit-tap-highlight-color: transparent;
}

sup {
  font-size: 70%;
  display: inline-block;
  transform: translatey(0.2rem);
}

@media screen and (min-width: 769px) {
  a:hover {
    opacity: 0.8;
  }
  .section {
    padding: 4rem 0;
  }
  .section-padTop {
    padding: 4rem 0 0;
  }
  .section-padBottom {
    padding: 0 0 4rem;
  }
  .section-top {
    padding: 8rem 0 4rem;
  }
  .section-bottom {
    padding: 4rem 0 8rem;
  }
}
/* common */
.container {
  padding: 0 2rem;
  box-sizing: content-box;
}

.container-narrow {
  padding: 0 2rem;
  box-sizing: content-box;
}

.container-S {
  padding: 0 2rem;
  box-sizing: content-box;
}

.container-SS {
  padding: 0 2rem;
  box-sizing: content-box;
}

@media screen and (min-width: 769px) {
  /* common */
  .container {
    margin: auto;
    padding: 0 3rem;
    max-width: 700px;
  }
  .container.pcnopad {
    padding: 0;
  }
  .container-narrow {
    margin: auto;
    padding: 0 3rem;
    max-width: 700px;
  }
  .container-S {
    margin: auto;
    padding: 0 3rem;
    max-width: 520px;
  }
  .container-SS {
    margin: auto;
    padding: 0 3rem;
    max-width: 420px;
  }
  .common-banner {
    margin: auto;
    max-width: 3.2rem;
  }
  .container-pcLayout {
    margin: auto;
    padding: 0 3rem;
    max-width: 700px;
    box-sizing: content-box;
  }
  .container-pcLayout-S {
    margin: auto;
    padding: 0 3rem;
    max-width: 520px;
    box-sizing: content-box;
  }
}
.header {
  width: 100%;
  background: #fff;
  position: relative;
  z-index: 2;
}
.header-license {
  max-width: 70rem;
  box-sizing: content-box;
  margin: 0 auto;
  padding: 1rem 1.5rem;
}
.header-license-wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header-license-item img {
  width: 12.6rem;
  height: 1.9rem;
}
.header-license-note {
  width: 55%;
  line-height: 1.2;
  font-size: 1rem;
  color: #333;
  text-align: right;
}
@media screen and (min-width: 769px) {
  .header-license-note {
    width: 40%;
  }
}

.section-line {
  width: 0.1rem;
  height: 3.6rem;
  margin: 0 auto 2rem;
  background: #dbb065;
}

.section-title {
  margin-bottom: 2rem;
  text-align: center;
}
.section-title > span {
  display: block;
  margin-bottom: 1.2rem;
  color: #000;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.4;
}
.section-title > strong {
  display: block;
  color: #2b395b;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.08rem;
}

.simple-title {
  color: #2b395b;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  letter-spacing: 0.12rem;
}

.fv {
  background: #2B395B;
  padding: 2.5rem 0 4.5rem;
  position: relative;
  z-index: 1;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .fv {
    padding: 5rem 0 5rem;
  }
}
.fv::before {
  content: "";
  background: url(../img/grade-right.svg) no-repeat center center/cover;
  width: 22rem;
  height: 22rem;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
}
@media screen and (min-width: 769px) {
  .fv::before {
    width: 34.5rem;
    height: 34.5rem;
  }
}
.fv::after {
  content: "";
  background: url(../img/grade-left.svg) no-repeat center center/cover;
  width: 24rem;
  height: 24rem;
  position: absolute;
  top: 0;
  left: -4rem;
  z-index: -1;
}
@media screen and (min-width: 769px) {
  .fv::after {
    width: 34.5rem;
    height: 34.5rem;
    top: auto;
    bottom: -16rem;
    left: 0;
  }
}
.fv-container {
  width: 100%;
  position: relative;
}
@media screen and (min-width: 769px) {
  .fv-container {
    max-width: 70rem;
    margin: auto;
    height: 100%;
  }
}
.fv-title {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.fv-title > span {
  color: #fff;
  font-size: 1.8rem;
  letter-spacing: 0.2rem;
}
.fv-title strong {
  color: #DBB065;
  font-size: 3.5rem;
  letter-spacing: 0.4rem;
}

.form-top {
  padding-bottom: 3rem;
  background: #2B395B;
  margin-top: -2.5rem;
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 769px) {
  .form-top {
    background: transparent;
    padding-top: 4rem;
    margin-top: 0;
    width: 100%;
    padding-bottom: 0;
  }
}
.form-top#form-top-foot {
  margin-top: 3rem;
}
@media screen and (min-width: 769px) {
  .form-top#form-top-foot {
    margin-top: 0;
  }
}
.form-top-inner {
  background: #fff;
  border-radius: 1rem;
}
@media screen and (min-width: 769px) {
  .form-top-inner {
    border-radius: 0;
    padding: 4rem 3rem;
    background: #2B395B;
  }
}
@media screen and (min-width: 769px) {
  #form-top-foot .form-top-inner {
    padding: 0 3rem;
  }
}
.form-top-wrap {
  padding: 2rem;
  border-radius: 1rem;
}
@media screen and (min-width: 769px) {
  .form-top-wrap {
    background: #fff;
  }
}
.form-top .form-flow-list {
  display: none;
}
.form-top .note-text {
  display: none;
}

/* iOSでのデフォルトスタイルをリセット */
input[type=submit],
input[type=button] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: none;
  appearance: none;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}

input[type=submit]::focus,
input[type=button]::focus {
  outline-offset: -0.2rem;
}

input:focus,
select:focus,
textarea:focus {
  outline: none;
}

.form_body {
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.form_body .form {
  background: #B0B8CA;
  padding: 0 2rem 4rem 2rem;
}
.form-fv {
  position: relative;
  z-index: 1;
  background: #2B395B;
  width: 100%;
  height: 10rem;
}
.form-fv-title {
  font-size: 2rem;
  line-height: 1;
  white-space: nowrap;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}
.form-fv::before {
  content: "";
  background: #2B395B;
  width: 130vw;
  height: 120vw;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
@media screen and (min-width: 769px) {
  .form-fv::before {
    width: 565rem;
    height: 300rem;
    top: -270rem;
    transform: translate(-50%, 0);
  }
}
.form-flow {
  width: fit-content;
  margin: auto;
  position: relative;
  z-index: 1;
}
.sector-top .form-flow {
  display: none !important;
}
.form-flow-list {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 4.5rem;
}
@media screen and (min-width: 769px) {
  .form-flow-list {
    gap: 5.5rem;
  }
}
.form-flow-item {
  width: 3.6rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 1;
}
.form-flow-number {
  display: block;
  font-size: 1.4rem;
  font-weight: 700;
  width: 2.4rem;
  height: 2.4rem;
  line-height: 2.4rem;
  text-align: center;
  color: #fff;
  background: #888888;
  border-radius: 50%;
  margin: auto;
}
.active .form-flow-number {
  background: #2B395B;
}
.form-flow-text {
  display: block;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  margin-top: 0.2rem;
  white-space: nowrap;
  color: #888888;
}
.active .form-flow-text {
  color: #000;
}
.form-flow-line {
  width: 4.5rem;
  height: 0.1rem;
  background: #ccc;
  position: absolute;
  top: 1.2rem;
  right: -4.5rem;
  z-index: -1;
}
@media screen and (min-width: 769px) {
  .form-flow-line {
    width: 5rem;
    right: -5.25rem;
  }
}
.form #sfm-form {
  margin-top: 2rem;
}
.form_body .form #sfm-form {
  background: #fff;
}
@media screen and (min-width: 769px) {
  .form_body .form #sfm-form {
    width: 52rem;
    margin: 3rem auto 2rem;
  }
}
.form .form-row {
  margin-bottom: 5rem;
}
.form_head {
  padding: 1.2rem 0;
  background: #F2F2F2;
}
@media screen and (min-width: 769px) {
  .form_head {
    padding: 4rem 0 3rem;
  }
}
.form_section {
  max-width: 700px;
  margin: 0 auto;
  padding: 6rem 3rem;
}
.form_body .form_section {
  padding: 3rem 2rem 1rem;
  background: #fff;
  border-radius: 1rem;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 769px) {
  .form_body .form_section {
    padding: 4rem 2rem 3rem;
  }
}
.top .form_section {
  padding: 0;
}
@media screen and (min-width: 769px) {
  .form_section {
    padding: 8rem 3rem;
  }
}
.form_section.noPadding {
  padding: 3rem 3rem 0;
}
@media screen and (min-width: 769px) {
  .form_section.noPadding {
    padding: 3rem 0 0;
  }
}
.form_section_ttle {
  font-size: 2rem;
  line-height: 1.4;
  font-weight: 700;
  text-align: center;
  margin-bottom: 1rem;
}
@media screen and (min-width: 769px) {
  .form_section_ttle {
    font-size: 2.4rem;
  }
}
.top .form_section_ttle {
  display: none !important;
}
.form_section_text {
  font-size: 1.2rem;
  line-height: 1.6;
  text-align: center;
}
.form_section_label {
  font-size: 1.4rem;
  margin-bottom: 1rem;
  padding-bottom: 1.5rem;
  border-bottom: 0.1rem solid #b0b0b0;
  color: #b0b0b0;
}
.apply_confirm .form_section_label {
  margin-bottom: 1rem;
}
.form .input-area {
  margin-top: 1.5rem;
}
@media screen and (min-width: 769px) {
  .form .input-area {
    margin-top: 2rem;
  }
}
.form_body .form .input-area {
  background: #fff;
  margin-top: 4rem;
  margin-bottom: 2.5rem;
}
@media screen and (min-width: 769px) {
  .form_body .form .input-area {
    margin-bottom: 2.5rem;
  }
}
.form .label_txt {
  font-size: 1.5rem;
}
.form-area {
  display: flex;
}
.form-table {
  width: 100%;
  margin: auto;
  border-collapse: collapse;
  border-spacing: 0;
}
.form-table.form-tableCol {
  width: 50%;
  margin: 0;
}
.form-table.form-tableCol:nth-child(1) {
  margin: 0 1rem 0 0;
}
.form-table tr th {
  display: block;
  width: 100%;
  font-weight: 500;
  box-sizing: border-box;
  text-align: left;
  font-size: 1.3rem;
}
@media screen and (min-width: 769px) {
  .form-table tr th {
    font-size: 1.4rem;
  }
}
.top .form-table tr th {
  color: #000;
}
@media screen and (min-width: 769px) {
  .top .form-table tr th {
    font-size: 1.4rem;
  }
}
.form-table tr td {
  display: block;
  width: 100%;
  text-align: left;
  padding: 0.8rem 0 1.3rem;
  position: relative;
}
.form-table tr td .instruction {
  font-size: 1rem;
  line-height: 1.2;
  display: block;
  margin-top: 1rem;
}
.form-table tr td .ERR {
  margin: 0.3rem 0 0;
  padding: 0;
  color: #AE0000;
  font-size: 1.2rem;
}
.form-table tr td input[type=tel],
.form-table tr td input[type=email],
.form-table tr td input[type=text],
.form-table tr td textarea {
  width: 100%;
  height: 5rem;
  display: block;
  padding: 0 0.8rem;
  box-sizing: border-box;
  border: 0.1rem solid #DBB065;
  border-radius: 0.4rem;
  font-size: 1.4rem;
}
.form-table tr td input[type=tel].required-focus,
.form-table tr td input[type=email].required-focus,
.form-table tr td input[type=text].required-focus,
.form-table tr td textarea.required-focus {
  background: #fce2e2;
  border-color: #e75b5b;
}
.form-table tr td textarea {
  padding: 0.8rem;
  height: 12rem;
  resize: vertical;
}
@media screen and (max-width: 768px) {
  .form-table tr td input[type=text]#history {
    width: 20rem;
  }
}
.form-table tr td select {
  width: 100%;
  height: 5.4rem;
  display: block;
  padding: 0 0.8rem;
  box-sizing: border-box;
  border: 0.1rem solid #888;
  border-radius: 0.4rem;
  background-color: #eee;
  font-size: 1.4rem;
  color: #222;
}
@media screen and (max-width: 768px) {
  .form-table tr td select {
    max-width: 100%;
  }
}
.form-table tr td input[type=tel]:focus,
.form-table tr td input[type=email]:focus,
.form-table tr td input[type=text]:focus,
.form-table tr td textarea:focus {
  background: #edf4ff;
  border-width: 0.2rem;
}
.form-table tr td .required-focus {
  background: #fce2e2;
  border-color: #e75b5b;
}
.form-table tr td .input-group {
  display: flex;
}
.form-table tr td input[type=radio],
.form-table tr td input[type=checkbox] {
  display: none;
  margin: 0;
}
.form-table tr td input[type=radio] + label,
.form-table tr td input[type=checkbox] + label {
  width: calc(50% - 0.5rem);
  position: relative;
  display: inline-block;
  margin: 0.6rem 0;
  padding: 1.5rem 1rem 1.5rem 1rem;
  border-style: solid;
  border-width: 0.1rem;
  border-color: #DBB065;
  border-radius: 0.6rem;
  cursor: pointer;
  font-size: 1.4rem;
  line-height: 1;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .form-table tr td .input-group label:nth-of-type(-n + 2) {
    margin-top: 0;
  }
  .form-table tr td .input-group label:nth-of-type(odd) {
    margin-right: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .form-table tr td .input-group label:nth-of-type(-n + 2) {
    margin-top: 0;
  }
  .form-table tr td .input-group label:nth-of-type(odd) {
    margin-right: 1rem;
  }
}
.form-table tr td .radio_icon {
  vertical-align: middle;
  margin-right: 0.7rem;
}
.form-table ::placeholder {
  font-size: 1.4rem;
  color: #aaa;
  line-height: 1.3;
}
.form-table .optional,
.form-table .required,
.form-table .any,
.form-table .form_step {
  display: inline-block;
  padding: 0.2rem 0.6rem 0.2rem 0.6rem;
  font-size: 1rem;
  font-weight: 400;
  color: #ffffff;
  vertical-align: text-top;
  margin-right: 1rem;
  margin-bottom: 0.1rem;
  vertical-align: baseline;
}
@media screen and (min-width: 769px) {
  .form-table .optional,
  .form-table .required,
  .form-table .any,
  .form-table .form_step {
    font-size: 1.1rem;
  }
}
.form-table .required {
  background-color: #AE0000;
  color: #fff;
}
.top .form-table .required {
  color: #fff;
}
.form-table .any {
  background-color: #999;
  color: #fff;
}
.form-table .note-text {
  font-size: 1.2rem;
  line-height: 1.4;
  display: inline-block;
  font-weight: 400;
  margin-top: 0;
}
.form-table-confirm {
  width: 100%;
}
.form-table-confirm tr th {
  width: 40%;
  text-align: left;
  position: relative;
  padding: 1rem 0;
  line-height: 1;
  font-size: 1.4rem;
}
@media screen and (min-width: 769px) {
  .form-table-confirm tr th {
    font-size: 1.4rem;
  }
}
.form-table-confirm tr td {
  width: 60%;
  text-align: left;
  font-size: 1.4rem;
  position: relative;
  padding: 1rem 0;
}
.form-table-confirm tr + tr {
  margin-top: 2rem;
}
.form-table-confirm .optional,
.form-table-confirm .required,
.form-table-confirm .any,
.form-table-confirm .form_step {
  border-radius: 0.4rem;
  font-size: 1.2rem;
  font-weight: 700;
  color: #ffffff;
  vertical-align: text-top;
  margin-right: 0.2rem;
  margin-bottom: 0.2rem;
}
@media screen and (min-width: 769px) {
  .form-table-confirm .optional,
  .form-table-confirm .required,
  .form-table-confirm .any,
  .form-table-confirm .form_step {
    font-size: 1.2rem;
    margin-right: 1rem;
  }
}
.form-table-confirm .required {
  color: #AE0000;
}
.form-table-confirm .any {
  color: #888;
}
.form-table-complete {
  width: 100%;
}
.form-table-complete + .form_section_label {
  margin-top: 4rem;
}
.form-table-complete tr:nth-child(1) th {
  border-top: 1px solid #ccc;
}
@media screen and (min-width: 769px) {
  .form-table-complete tr:nth-child(1) td {
    border-top: 1px solid #ccc;
  }
}
.form-table-complete tr th {
  display: block;
  text-align: left;
  font-size: 1.4rem;
  position: relative;
  padding: 20px 0 1rem;
  line-height: 1;
}
@media screen and (min-width: 769px) {
  .form-table-complete tr th {
    font-size: 1.4rem;
    width: 35%;
    display: table-cell;
    border-bottom: 0.1rem solid #ccc;
    padding: 15px 0;
  }
}
.form-table-complete tr td {
  display: block;
  border-bottom: 0.1rem solid #ccc;
  text-align: left;
  position: relative;
  padding: 0 0 1.6rem;
  font-size: 1.4rem;
}
@media screen and (min-width: 769px) {
  .form-table-complete tr td {
    width: 65%;
    display: table-cell;
    padding: 1.5rem 2rem;
  }
}
.form-table-complete tr + tr {
  margin-top: 2rem;
}
.form-complete-wrap {
  padding: 2rem 1.5rem;
  background: #fff;
  margin-top: 2rem;
  border-radius: 1rem;
}
@media screen and (min-width: 769px) {
  .form-complete-wrap {
    width: 52rem;
    margin: 2rem auto;
    padding: 3rem 4rem;
  }
}
.form-complete-image {
  text-align: center;
  margin-bottom: 1.5rem;
}
.form-complete-image img {
  width: 17.1rem;
  height: auto;
}
@media screen and (min-width: 769px) {
  .form-complete-image img {
    width: 22rem;
  }
}
.form-complete-ttl {
  font-size: 2rem;
  margin-bottom: 1rem;
}
@media screen and (min-width: 769px) {
  .form-complete-ttl {
    font-size: 2.4rem;
  }
}
.form-complete-text {
  margin-top: 1.5rem;
}
.form-complete-text01 {
  font-size: 1.4rem;
}
@media screen and (min-width: 769px) {
  .form-complete-text01 {
    font-size: 1.4rem;
  }
}
.form-complete-text02 {
  font-size: 1.2rem;
  text-align: left;
}
.form-complete-tel-wrap {
  text-align: center;
  background: #f0dec0;
  width: 100%;
  margin: auto;
  padding: 1.5rem 1rem;
  margin-top: 1.5rem;
}
@media screen and (min-width: 769px) {
  .form-complete-tel-wrap {
    width: fit-content;
    margin: 1.5rem auto 0;
    padding: 1.5rem 5rem;
  }
}
.form-complete-tel-span {
  display: block;
  font-size: 1.4rem;
  margin-bottom: 0.5rem;
}
@media screen and (min-width: 769px) {
  .form-complete-tel-span {
    font-size: 1.7rem;
  }
}
.form-complete-tel-number {
  display: flex;
  align-items: center;
  justify-content: center;
}
.form-complete-tel-number i {
  margin-right: 0.5rem;
}
@media screen and (min-width: 769px) {
  .form-complete-tel-number i {
    margin-right: 1rem;
  }
}
.form-complete-tel-number i img {
  width: 2.3rem;
  height: 2.2rem;
}
@media screen and (min-width: 769px) {
  .form-complete-tel-number i img {
    width: 2.8rem;
    height: 2.7rem;
  }
}
.form-complete-tel-number > span a {
  font-size: 2.8rem;
  line-height: 1;
}
@media screen and (min-width: 769px) {
  .form-complete-tel-number > span a {
    font-size: 3.4rem;
  }
}
.form-complete-tel-time {
  font-size: 1.2rem;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .form-complete-tel-time {
    font-size: 1.6rem;
  }
}
.form-complete-dl {
  margin-top: 2rem;
}
.form-complete-dl:first-of-type {
  margin-top: 3rem;
}
.form-complete-dl dt {
  padding-bottom: 0.5rem;
  margin-bottom: 0.5rem;
  border-bottom: 0.1rem solid #ccc;
  font-size: 1.2rem;
}
.form-complete-dl dd {
  font-size: 1rem;
}
.form-complete-note {
  margin-top: 3rem;
}
.form-complete-note p {
  font-size: 1.3rem;
}
.form_tel {
  text-align: center;
}
.form_tel_label {
  font-size: 1.6rem;
  margin-bottom: 1.7rem;
}
.form_tel_body {
  margin: 4rem auto 0;
}
@media screen and (min-width: 769px) {
  .form_tel_body {
    width: 38.2rem;
  }
}
.form_tel_detail {
  text-align: center;
  font-size: 1.4rem;
  font-weight: 600;
  margin-bottom: 1rem;
}
.form_tel_number {
  font-weight: 800;
  margin-bottom: 1rem;
  display: block;
}
.form_tel_number img {
  margin-right: 0.5rem;
  position: relative;
  top: -0.5rem;
  width: auto;
  vertical-align: middle;
  height: 4.25rem;
  display: inline-block;
}
.form_tel_number a {
  display: inline;
  font-size: 3.2rem;
  letter-spacing: -0.1rem;
}
.form_tel_time {
  text-align: center;
  font-size: 1.2rem;
}
.form_tel_note {
  font-size: 1.2rem;
  margin-top: 1rem;
}
.form_bottom_submit {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 2rem auto 1.5rem;
  position: relative;
  z-index: 1;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .form_bottom_submit {
    width: fit-content;
  }
}
.apply_confirm .form_bottom_submit {
  margin: 4rem 0 1.5rem;
}
.form_bottom_submit .button {
  display: inline-block;
  position: relative;
  width: 100%;
  height: 7rem;
  font-size: 1.8rem;
  line-height: 6rem;
  padding: 0;
  border-radius: 0.4rem;
  box-shadow: 0.4rem 0.4rem 0.5rem 0 rgba(0, 0, 0, 0.2);
  border: none;
  text-decoration: none;
  text-align: center;
  font-weight: bold;
  cursor: pointer;
  transition: 0.2s all ease;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (min-width: 769px) {
  .form_bottom_submit .button {
    width: 30rem;
  }
}
.form_bottom_submit .button::after {
  content: "";
  background: url(../img/arrow-wht-right.svg) no-repeat center center/cover;
  position: absolute;
  width: 0.5rem;
  height: 1rem;
  top: 52%;
  right: 2.5rem;
  transform: translateY(-50%);
  z-index: 1;
}
.form_body .form_bottom_submit .button::after {
  background: url(../img/arrow-wht-right.svg) no-repeat center center/cover;
}
.form_bottom_submit .button.submit,
.form_bottom_submit .button.confirm {
  background: #DBB065;
  color: #fff;
}
.form_body .form_bottom_submit .button.submit,
.form_body .form_bottom_submit .button.confirm {
  background: #2B395B;
  color: #fff;
}
.form_bottom_submit .button.submit:hover,
.form_bottom_submit .button.confirm:hover {
  opacity: 0.75;
}
.form_bottom_submit .button.back {
  background: #888;
}
.form_bottom_submit .button.back:hover {
  background: #999;
}
.form_bottom_back {
  order: 1;
  margin: 2rem auto 1.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 1;
  width: fit-content;
}
@media screen and (min-width: 769px) {
  .form_bottom_back {
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
  }
}
.form_bottom_back .back {
  text-align: center;
  background: #888888;
  border: 0;
  border-radius: 5rem;
  display: block;
  font-size: 1.2rem;
  font-weight: 500;
  color: #fff;
  padding: 0.8rem 2rem 1rem;
}
.form_ssl {
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 769px) {
  .form_ssl {
    width: 450px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 40px;
    margin-bottom: 0;
  }
}
.form_ssl_img {
  width: 11rem;
}
.form_ssl_img img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
.form_ssl_text {
  width: calc(100% - 13rem);
  margin-left: 2rem;
  font-size: 1rem;
  line-height: 1.4;
}
.form_note {
  font-size: 1.6rem;
  margin-top: 1rem;
  margin-bottom: 2rem;
}
@media screen and (min-width: 769px) {
  .form_note {
    text-align: left;
  }
}
@media screen and (max-width: 768px) {
  .form_note p {
    margin-top: 0.5rem;
  }
}
.form_note a {
  display: inline;
  color: #0b5bce;
  text-decoration: underline;
}
.form .placeholder_text {
  font-size: 1.2rem;
  margin-top: 0.5rem;
}
.form_img {
  max-width: 56rem;
  margin: auto;
}
.form_tel_box {
  padding: 3rem 1.5rem;
  background: #FFF9E2;
}
.form_tel_box_ttl {
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 0.5rem;
}
.form_tel_box_text {
  font-size: 1.3rem;
  text-align: center;
  margin-bottom: 1rem;
}
.form_flex {
  display: flex;
  display: -webkit-flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  width: 100%;
}
.form_flex._sp-column {
  flex-direction: column;
}
.form_flex._flex-start {
  justify-content: flex-start;
}
.form_radio {
  display: none;
}
.form_radio:checked + .form_radio_label {
  background: #fff;
  border-color: #f0dec0;
  border-width: 0.3rem;
}
.form_radio:checked + .form_radio_label._def {
  background: #fff;
  border-color: #f0dec0;
  border-width: 0.3rem;
}
.form_check {
  display: none;
}
.form_check:checked + .form_check_label {
  background: #fff;
  border-color: #f0dec0;
  border-width: 0.3rem;
}
.form_check:checked + .form_check_label._def {
  background: #fff;
  border-color: #f0dec0;
  border-width: 0.3rem;
}

.reruiredAllBtn {
  display: none;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}
.reruiredAllBtn.active {
  display: block;
}

.back-text-btn {
  display: block;
  width: fit-content;
  margin: 2rem auto 1.5rem;
  text-align: center;
  background: #888888;
  border: 0;
  border-radius: 5rem;
  font-size: 1.2rem;
  font-weight: 500;
  color: #fff;
  padding: 0.8rem 2rem 1rem;
  text-decoration: none;
}

/* cta */
.cta {
  margin-top: 0;
}
@media screen and (min-width: 769px) {
  .cta-list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 700px;
    margin: 0 auto;
    padding: 0 3rem;
  }
  .cta-s .cta-list {
    padding: 0;
  }
}
.cta-list.cta-list-center {
  justify-content: flex-start;
}
.modal-area .cta-list {
  justify-content: center;
}
.cta-list.form_tel_box_cta li {
  width: 100%;
}
@media screen and (min-width: 769px) {
  .cta-list.form_tel_box_cta li {
    width: 38rem;
  }
}
.cta-list.form_tel_box_cta li a {
  text-decoration: none;
  transition: 0.3s all;
}
.cta-list.form_tel_box_cta li a.common-cta-tel .Oswald {
  font-size: 3rem;
}
@media screen and (max-width: 768px) {
  .cta-list.form_tel_box_cta li a.common-cta-tel {
    padding-right: 4rem;
  }
}
.cta-list.form_tel_box_cta li a:hover {
  opacity: 0.8;
}
.cta-list.form_tel_box_cta li a span > span {
  margin-bottom: 0.5rem;
}
.cta-list.form_tel_box_cta li a span > span.telText {
  font-size: 1.8rem;
}
.cta-list.form_tel_box_cta li a .cta-icon {
  margin-right: 1rem;
}
.cta-list.form_tel_box_cta li a::after {
  right: 2rem;
}
@media screen and (min-width: 769px) {
  .cta-list.form_tel_box_cta li a::after {
    right: 4rem;
  }
}
.cta-list li {
  width: 100%;
  border-radius: 1rem;
  margin: auto;
  margin-bottom: 1.5rem;
}
.cta-list li.first-list {
  padding: 0;
}
@media screen and (max-width: 768px) {
  .cta-list li.noTopMargin {
    margin-top: 0;
  }
}
@media screen and (max-width: 768px) {
  .cta-list li.topMargin {
    margin-top: 1.5rem;
  }
}
@media screen and (min-width: 769px) {
  .modal-area .cta-list li {
    width: 34.2rem;
    height: auto;
  }
}
@media screen and (max-width: 768px) {
  .modal-area .cta-list li {
    width: 100%;
  }
}
@media screen and (min-width: 769px) {
  .cta-s .cta-list li {
    width: 31.5rem;
    height: 7rem;
  }
}
@media screen and (max-width: 768px) {
  .cta-s .cta-list li {
    height: 7rem;
  }
}
.cta-list li a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: calc(100% - 4rem);
  height: 9rem;
  margin: auto;
  position: relative;
  z-index: 1;
  font-size: 1.8rem;
  line-height: 1;
  font-weight: bold;
  border-radius: 0.4rem;
  background: #2B395B;
  box-shadow: 0.4rem 0.4rem 0.5rem 0 rgba(0, 0, 0, 0.2);
  color: #fff;
  padding-right: 2rem;
  padding-left: 2rem;
  transition: opacity 0.3s;
}
@media screen and (min-width: 769px) {
  .cta-list li a {
    width: 30rem;
    padding-right: 2rem;
    padding-left: 0;
  }
}
.cta-list li a.common-cta-web {
  background: linear-gradient(90deg, #FF8C00 0%, #FFBC50 100%);
}
.cta-list li a.common-cta-web .cta-icon {
  width: 3.6rem;
  height: 2.4rem;
  margin-right: 1.8rem;
}
.cta-list li a.common-cta-web::after {
  content: "";
  background: url(../img/arrow-right-white.webp) no-repeat center center/cover;
  position: absolute;
  width: 2.4rem;
  height: 2.4rem;
  top: 50%;
  right: 2.5rem;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .modal-area .cta-list li a.common-cta-web::after {
    right: 2.5rem;
  }
}
.modal-area.first-modal .cta-list li a.common-cta-web::after {
  background: url(../img/arrow-right-white.webp) no-repeat center center/cover;
}
.cta-list li a.common-cta-tel {
  background: #2B395B;
}
@media screen and (min-width: 769px) {
  .cta-list li a.common-cta-tel {
    pointer-events: none;
  }
}
.cta-s .cta-list li a.common-cta-tel {
  padding-right: 1.5rem;
  padding-left: 1.5rem;
}
@media screen and (min-width: 769px) {
  .cta-s .cta-list li a.common-cta-tel {
    padding-left: 3.2rem;
  }
}
@media screen and (min-width: 769px) {
  .modal-area .cta-list li a.common-cta-tel {
    pointer-events: none;
  }
}
.modal-area .cta-list li a.common-cta-tel .cta-icon {
  margin-right: 2.5rem;
}
.cta-list li a.common-cta-tel .cta-icon {
  width: 4.2rem;
  height: 4.2rem;
  margin-right: 1.5rem;
}
.cta-list li a.common-cta-tel::after {
  content: "";
  background: url(../img/arrow-wht-right.svg) no-repeat center center/cover;
  position: absolute;
  width: 0.5rem;
  height: 1rem;
  top: 50%;
  right: 2.5rem;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .modal-area .cta-list li a.common-cta-tel::after {
    right: 2.5rem;
  }
}
.modal-area.first-modal .cta-list li a.common-cta-tel::after {
  background: url(../img/arrow-wht-right.svg) no-repeat center center/cover;
}
#form-top-foot .cta-list li a.common-cta-tel {
  width: 100%;
  height: 7rem;
}
@media screen and (min-width: 769px) {
  #form-top-foot .cta-list li a.common-cta-tel {
    width: 30rem;
  }
}
.cta-list li a.common-cta-cancel {
  background: linear-gradient(90deg, #0183F9 0%, #02AFDD 100%);
}
.cta-list li a.common-cta-cancel::after {
  content: "";
  background: url(../img/arrow-right-white.webp) no-repeat center center/cover;
  position: absolute;
  width: 2.4rem;
  height: 2.4rem;
  top: 50%;
  right: 2.5rem;
  transform: translateY(-50%);
}
.cta-list li a.common-cta-cancel .cta-icon {
  width: 3.9rem;
  height: 2.6rem;
  margin-right: 0.4rem;
}
.modal-area .cta-list li a {
  height: 8rem;
}
.cta-list li a .btn-wrap {
  display: flex;
  align-items: center;
}
@media screen and (min-width: 769px) {
  .cta-list li a .btn-wrap {
    justify-content: center;
  }
}
@media screen and (min-width: 769px) {
  .modal-area .cta-list li a .btn-wrap {
    justify-content: flex-start;
  }
}
.cta-list li a .btn-text-wrap {
  line-height: 1;
  display: block;
  margin-top: 0.5rem;
}
.cta-list li a .btn-text-wrap > span {
  display: block;
  font-size: 1.8rem;
  margin-bottom: 0.6rem;
  position: relative;
}
@media screen and (min-width: 769px) {
  .cta-list li a .btn-text-wrap > span {
    font-size: 1.8rem;
  }
}
.cta-list li a .btn-text-wrap > span.tel-text {
  font-size: 2.1rem;
}
@media screen and (min-width: 769px) {
  .cta-list li a .btn-text-wrap > span.tel-text {
    font-size: 2.6rem;
  }
}
.cta-list li a .btn-text-wrap > span.tel_modal_text01 {
  font-size: 1.4rem;
  margin-bottom: 0.5rem;
}
@media screen and (min-width: 769px) {
  .cta-list li a .btn-text-wrap > span.tel_modal_text01 {
    font-size: 1.6rem;
  }
}
.cta-list li a .btn-text-wrap > span.tel_modal_text02 {
  font-size: 2.1rem;
  margin-bottom: 0;
}
@media screen and (min-width: 769px) {
  .cta-list li a .btn-text-wrap > span.tel_modal_text02 {
    font-size: 2.1rem;
  }
}
.cta-list li a .btn-text-wrap > span.cancel-modal-text {
  font-size: 1.4rem;
  line-height: 1.4;
  margin-bottom: 0;
}
@media screen and (min-width: 769px) {
  .cta-list li a .btn-text-wrap > span.cancel-modal-text {
    font-size: 1.4rem;
  }
}
.cta-list li a .btn-text-wrap > span.timeText {
  font-size: 1.2rem;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .modal-area .cta-list li a .btn-text-wrap > span.timeText {
    font-size: 1.6rem;
  }
}
.cta-list li a .btn-text-wrap > span.notetext {
  font-size: 1.1rem;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .cta-list li a .btn-text-wrap > span.notetext {
    font-size: 1.2rem;
  }
}
.modal-area .cta-list li a .btn-text-wrap > span.notetext {
  font-size: 1.1rem !important;
}
@media screen and (min-width: 769px) {
  .modal-area .cta-list li a .btn-text-wrap > span.notetext {
    font-size: 1.2rem !important;
  }
}
.cta-list li a .btn-text-wrap > span b {
  font-size: 2rem;
}
.cta-list li a .btn-text-wrap > span.open-times {
  font-size: 1.2rem;
  margin-top: 0.8rem;
  font-weight: 600;
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .modal-area .cta-list li a .btn-text-wrap > span.open-times {
    font-size: 1.1rem;
  }
}
.cta-list li:last-child {
  margin-bottom: 0;
}
.cta-list li .list-text {
  font-size: 1.4rem;
  margin-bottom: 0.8rem;
}
.modal-area .cta-list li .list-text {
  margin-bottom: 0;
}
.cta-area .cta-list {
  margin-top: 0;
}
.cta-area .cta-list li {
  margin: 0 auto;
}
.cta-head {
  margin-bottom: 2rem;
}
@media screen and (min-width: 769px) {
  .cta-head {
    padding: 0 3rem;
  }
}
.cta-head-text {
  width: fit-content;
  margin: auto;
  font-size: 2rem;
  line-height: 1;
  margin-bottom: 2rem;
  position: relative;
}
.cta-head-text::before {
  content: "";
  background: #000;
  width: 0.1rem;
  height: 2.5rem;
  position: absolute;
  top: 50%;
  left: -1.5rem;
  transform: translatey(-50%) rotate(-40deg);
}
.cta-head-text::after {
  content: "";
  background: #000;
  width: 0.1rem;
  height: 2.5rem;
  position: absolute;
  top: 50%;
  right: -1.5rem;
  transform: translatey(-50%) rotate(40deg);
}
.cta-head-text01 {
  font-size: 1.8rem;
  margin-bottom: 0.3rem;
}
.cta-head-text02 {
  font-size: 1.4rem;
  line-height: 1.3;
}
.cta-head-image {
  margin-bottom: 2rem;
}
.cta-head-image img {
  width: 20.3rem;
  height: 4rem;
}