@charset "UTF-8";

/*=================================
 LAYOUT
================================ */

/*--------------------------------
　HEADER
--------------------------------*/
body.noScroll {
  position: fixed;
  width: 100%;
  height: 100%;
}
#header {
  position: fixed;
  top: 0;
  z-index: 2000;
  width: 100%;
  background: var(--white);
  box-shadow: var(--shadow);
}
.headerWrapper {
  height: 60px;
  max-width: 1104px;
  margin: 0 auto;
}
.headerLogo {
  float: left;
  padding-left: 0;
  height: 100%;
  align-items: center;
  display: flex;
}
.headerLogo img {
  height: 35px;
}

@media screen and (max-width: 1150px) {
  .headerWrapper {
    padding-left: 15px;
    padding-right: 15px;
  }
}

/* for landscape
--------------------------------*/
@media screen and (orientation: landscape) {
  .headerMainMenu {
    border-top: 1px solid var(--gray);
    overflow-y: scroll;
  }
  .headerMainMenu__search {
    border-top: none;
  }
  .headerMainMenu__forNew .headerMainMenu__menuBox,
  .headerMainMenu__forUser .headerMainMenu__menuBox {
    height: auto;
    overflow-y: visible;
  }
  .headerMainMenu__btns {
    margin-top: 12px;
  }
}

/*--------------------------------
　FOOTER
--------------------------------*/
.footer__inner {
  padding: 0 15px 24px;
  background: var(--white);
}

#footer .copyright {
  margin: 8px 0 0;
  font-size: 10px;
}

/*=================================
  CONTENTS
================================ */

/*--------------------------------
　BLOCK
--------------------------------*/
.colPC {
  display: flex;
}
.blockMain {
  padding: 32px 0;
  background: var(--white);
}
.blockSub {
  clear: both;
  margin: 0 15px;
  padding: 32px 48px;
  background: var(--white);
  border-radius: 4px;
  box-sizing: border-box;
}
.blockSub--flat {
  padding: 0 !important;
  background: transparent;
  border-radius: 0;
}
.blockNarrow {
  margin: 0 auto;
  width: 100%;
  max-width: 768px;
}
.blockMain__inner {
  padding: 0;
}
.blockNarrow--S {
  max-width: 528px;
}

@media screen and (min-width: 1201px) {
  .blockMain__inner {
    max-width: 1104px;
    margin: 0 auto;
  }
  .blockSub {
    width: 100%;
    max-width: 1104px;
    margin: 0 auto;
  }
}
@media screen and (max-width: 1200px) {
  .blockNarrow > .blockSub {
    margin: 0;
  }
}

/*--------------------------------
　COLUMNS
--------------------------------*/
.col {
  width: 100%;
  display: flex;
}
.col > .col__2 {
  width: 47%;
  width: calc(50% - 16px);
  width: -webkit-calc(50% - 16px);
  margin-left: 32px;
}
.col > .col__2:nth-child(2n-1) {
  margin-left: 0;
  margin-right: 8px;
}
.col > .col__3 {
  width: 31%;
  width: calc(33.3333% - 21.3333px);
  width: -webkit-calc(33.3333% - 21.3333px);
  margin-left: 32px;
}
.col > .col__3:first-child {
  margin-left: 0;
}
.col > .col__4 {
  width: 22%;
  width: calc(25% - 24px);
  width: -webkit-calc(25% - 24px);
  margin-left: 32px;
}
.col > .col__4:first-child {
  margin-left: 0;
}
.col > .col__2-1 {
  width: 31%;
  width: calc(33.3333% - 21.3333px);
  width: -webkit-calc(33.3333% - 21.3333px);
  margin-left: 32px;
}
.col > .col__2-1:first-child {
  margin-left: 0;
}
.col > .col__2-2 {
  width: 62%;
  width: calc(66.6666% - 10.6666px);
  width: -webkit-calc(66.6666% - 10.6666px);
  margin-left: 32px;
}
.col > .col__2-2:first-child {
  margin-left: 0;
}

.col,
.col > .col__2,
.col > .col__2-1,
.col > .col__2-2,
.col > .col__3,
.col > .col__4 {
  width: 100%;
  margin-left: 0;
}

.col > .col__2:first-child,
.col > .col__2-1:first-child,
.col > .col__2-2:first-child,
.col > .col__3:first-child,
.col > .col__4:first-child {
  margin-left: 0;
}

/*--------------------------------
　CARD
--------------------------------*/
.card {
  padding: 32px 48px;
  background: var(--white);
  border: 1px solid var(--gray);
  border-radius: 8px;
}
.card--attention {
  padding: 24px 48px;
}

/*--------------------------------
　TITLE
--------------------------------*/
.ttlH1,
.ttlH2,
.ttlH3,
.ttlH4,
.ttlH5 {
  text-align: center;
  font-weight: bold;
}
.blockMain__inner > .ttlH1:first-child,
.blockSub > .ttlH1:first-child,
.blockMain__inner > .ttlH2:first-child,
.blockSub > .ttlH2:first-child {
  margin-top: 0;
}
.ttlH1 {
  color: var(--blue);
  margin: 32px 0;
  line-height: 1.2;
  font-size: 32px;
}
.ttlH2 {
  color: var(--blue);
  margin: 32px 0;
  line-height: 1.3;
  font-size: 28px;
  text-align: center;
}
.ttlH3 {
  color: var(--blue);
  margin: 32px 0;
  line-height: 1.3;
  font-size: 24px;
  text-align: center;
}

/* 左側にアイコン付与 */
.ttlH3--iconLeft {
  position: relative;
  padding-left: 40px;
  text-align: left;
}
.ttlH3--iconLeft::before {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  width: 32px;
  height: 32px;
  margin-right: 8px;
  background: url(/app/img/_icon_dammy.png);
  vertical-align: middle;
  content: '';
}
.ttlH4 {
  line-height: 1.5;
  margin: 16px 0;
  font-size: 22px;
  text-align: center;
}
.ttlH5 {
  line-height: 1.5;
  margin: 12px 0;
  font-size: 20px;
  text-align: center;
}

/*--------------------------------
　ICON
--------------------------------*/
.icon--attention,
.icon--pdf {
  position: relative;
  padding-left: 24px;
  line-height: 1.5;
}
span.icon--attention,
span.icon--pdf {
  display: inline-block;
}
.icon--pdf {
  padding-left: 37px;
}
.icon--pdf > a.link {
  vertical-align: top;
}
.icon--attention::before,
.icon--pdf::before {
  width: 16px;
  height: 16px;
  background: url(/app/img/icon_question.png) no-repeat;
  display: inline-block;
  position: absolute;
  top: 0.25em;
  left: 0;
  background-size: contain;
  content: ' ';
  overflow: hidden;
  background-repeat: no-repeat;
}
.fs5XL.icon--attention::before,
.fs5XL .icon--attention::before,
.fs5XL.icon--pdf::before,
.fs5XL .icon--pdf::before {
  top: 0.6em;
}
.fs4XL.icon--attention::before,
.fs4XL .icon--attention::before,
.fs4XL.icon--pdf::before,
.fs4XL .icon--pdf::before {
  top: 0.5em;
}
.fs3XL.icon--attention::before,
.fs3XL .icon--attention::before,
.fs3XL.icon--pdf::before,
.fs3XL .icon--pdf::before {
  top: 0.45em;
}
.fs2XL.icon--attention::before,
.fs2XL .icon--attention::before,
.fs2XL.icon--pdf::before,
.fs2XL .icon--pdf::before {
  top: 0.4em;
}
.fsXL.icon--attention::before,
.fsXL .icon--attention::before,
.fsXL.icon--pdf::before,
.fsXL .icon--pdf::before {
  top: 0.37em;
}
.fsL.icon--attention::before,
.fsL .icon--attention::before,
.fsL.icon--pdf::before,
.fsL .icon--pdf::before {
  top: 0.3em;
}
.fsS.icon--attention::before,
.fsS .icon--attention::before,
.fsS.icon--pdf::before,
.fsS .icon--pdf::before {
  top: 0.2em;
}
.fsXS.icon--attention::before,
.fsXS .icon--attention::before,
.fsXS.icon--pdf::before,
.fsXS .icon--pdf::before {
  top: 0.1em;
}
.fs2XS.icon--attention::before,
.fs2XS .icon--attention::before,
.fs2XS.icon--pdf::before,
.fs2XS .icon--pdf::before {
  top: 2px;
}
.fs3XS.icon--attention::before,
.fs3XS .icon--attention::before,
.fs3XS.icon--pdf::before,
.fs3XS .icon--pdf::before {
  top: 0;
}
.icon--attention::before {
  background-image: url(/app/img/icon_attention.png);
}
.icon--pdf::before {
  width: 29px;
  height: 14px;
  margin-top: -0.1px;
  top: 0.1em;
  background-image: url(/app/img/icon_pdf-small.png);
}
.icon--pdf2 {
  position: relative;
  padding-left: 37px;
  top: -0.1em;
}
.icon--pdf2::before {
  display: inline-block;
  position: absolute;
  top: 0.35em;
  left: 0;
  width: 29px;
  height: 14px;
  background-image: url(/app/img/icon_pdf-small.png);
  background-size: contain;
  content: ' ';
  overflow: hidden;
  background-repeat: no-repeat;
}

 /* 角丸ありNoteテキスト */
 .textNote {
    padding: 14px;
    border: 1px solid #092987;
    background-color: #edf8ff;
  }

  .textNote_text {
    margin: 0px;
    padding-left: 24px;
    font-size: 14px;
    font-weight: bold;
    background: url(/app/img/icon_circle_check.svg) no-repeat 0 0;
    background-size: auto 21px;
  }

/*--------------------------------
　TEXT
--------------------------------*/
.label {
  font-weight: bold;
  font-size: 16px;
}
.label.fsS,
.label.fsXS {
  margin: 8px 0;
}
@media screen and (min-width: 768px) {
  .label {
    font-size: 16px;
  }
  .label.fsL {
    margin: 16px 0;
  }
}

/* 文末にローディングアニメーション */
.textLoading__text,
.textLoading__img {
  display: inline-block;
  vertical-align: middle;
}

/* 左アイコンテキスト */
.textIconLeft {
  position: relative;
}
.textIconLeft__icon {
  position: absolute;
  top: 0.35em;
  left: 0;
}
.textIconLeft__icon__img {
  display: block;
  left: 0;
}
.textIconLeft__text {
  margin-left: 24px;
}

/* 四角ナンバーアイコンテキスト */
.textIconNam__icon {
  top: 0.05em;
}
.textIconNam__text {
  margin-left: 40px;
}
.icon__label {
  top: -0.2em;
}

/* チェックアイコンテキスト */
.textIconCheck__Sub {
  padding: 0px 0 0 24px;
}

@media screen and (min-width: 768px) {
  .textIconNam__Sub {
    padding: 0px 0 0 40px;
  }
}

/* 右側に任意フラグ付きテキスト */
.textFlagRight__label {
  margin-left: 8px;
  padding: 2px 4px 2px;
  border-radius: 4px;
  background-color: var(--subBlack);
  color: var(--white);
  font-size: 13px;
  font-weight: bold;
  white-space: nowrap;
  vertical-align: middle;
}

/*--------------------------------
　TAG
--------------------------------*/
.tag {
  display: inline-block;
  padding: 3px 4px 2px;
  color: var(--white);
  background: var(--subBlue);
  font-size: 10px;
  font-weight: bold;
  border-radius: 5px;
  vertical-align: 2px;
  min-height: 19px;
}
.tag--important {
  padding: 0 8px;
  background: var(--white);
  border-radius: 100px;
  border: 1px solid var(--accent);
  color: var(--accent);
  font-size: 12px;
  top: -0.2em;
}
.tag--optional {
  padding: 0 8px;
  background: var(--white);
  border-radius: 100px;
  border: 1px solid var(--subBlack);
  color: var(--subBlack);
  font-size: 12px;
  top: -0.2em;
}

/*--------------------------------
　LIST
--------------------------------*/
.listNote__item {
  position: relative;
  padding-left: 15px;
  font-size: 12px;
  line-height: 1.5;
}
.listNote__item::before {
  position: absolute;
  left: 0;
  display: block;
  content: '※';
}
.listHyphen__item {
  position: relative;
  padding-left: 15px;
  font-size: 12px;
  line-height: 1.5;
}
.listHyphen__item::before {
  position: absolute;
  left: 0;
  display: block;
  font-weight: bold;
  content: '-';
}
.listNoteNum {
  counter-reset: num;
  padding-left: 0;
}
.listNoteNum__item {
  position: relative;
  padding-left: 27px;
  font-size: 12px;
  line-height: 1.5;
}
.listNoteNum__item::before {
  position: absolute;
  left: 0;
  display: block;
  counter-increment: num;
  content: '※' counter(num);
}
.list,
.listNum {
  padding-left: 20px;
}
.list__item,
.listNum__item {
  list-style: disc;
  line-height: 1.5;
}

.list__item:empty {
  list-style: none;
}

.listNum__item {
  list-style: decimal;
}

/*--------------------------------
　LINK
--------------------------------*/

/* テキストリンク
--------------------------------*/
.link {
  font-size: 14px;
  cursor: pointer;
  vertical-align: middle;
  max-width: 94%;
}
.linkArrowRight {
  position: relative;
  display: inline-block;
  line-height: 1.2;
}
.aR .linkArrowRight {
  right: 20px;
}
.linkArrowRight::after {
  position: absolute;
  top: 50%;
  right: -24px;
  transform: translate(0%, -40%);
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-left: 8px;
  background: url(/app/img/icon_arrowright_gr.svg);
  background-size: contain;
  content: '';
  vertical-align: -3px;
  background-repeat: no-repeat;
}
.linkArrowLeft {
  display: inline-block;
  line-height: 1.2;
}
.linkArrowLeft::before {
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-right: 8px;
  background: url(/app/img/icon_arrowright_gr.svg);
  background-size: contain;
  content: '';
  vertical-align: -2px;
  background-repeat: no-repeat;
}
.linkModal {
  background: none;
  color: var(--blue);
  font-weight: bold;
  text-decoration: underline;
}
.linkModal:hover {
  text-decoration: none;
}
.linkWindow::after {
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-left: 8px;
  background: url(/app/img/icon_window-gr.png);
  background-size: contain;
  content: '';
  vertical-align: -2px;
}
.linkQuestion {
  position: relative;
  padding-left: 22px;
}
.linkQuestion::before {
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  background: url(/app/img/icon_question.png);
  background-size: contain;
  vertical-align: middle;
  content: '';
  position: absolute;
  top: 3px;
  left: 0;
}

/* リンクリスト
--------------------------------*/
.linkList,
.linkList--QA {
  border-top: 1px solid var(--gray);
}
.linkList__item,
.linkList--QA > li {
  margin-bottom: 0;
}
.linkList__item__link,
.linkList--QA > li a {
  display: block;
  position: relative;
  padding: 11px 45px 11px 16px;
  border-bottom: 1px solid var(--gray);
  text-decoration: none;
  font-weight: normal;
  color: var(--black);
}
.linkList__item__link::after,
.linkList--QA > li a::after {
  position: absolute;
  display: block;
  width: 12px;
  height: 12px;
  right: 24px;
  background: url(/app/img/icon_arrowright.svg);
  top: calc(50% - 5px);
  background-size: contain;
  content: '';
  background-repeat: no-repeat;
}
.linkList__item__link:hover,
.linkList--QA > li a:hover {
  background: var(--paleBlue);
}
.linkList__item__icon {
  margin-right: 5px;
  vertical-align: -1px;
}

/* リンクリスト（日付付き）
--------------------------------*/
.linkList--date__item__date time {
  font-size: 14px;
}
.linkList--date__item__date {
  display: flex;
  align-items: center;
  margin-right: 15px;
  font-size: 15px;
  min-width: 120px;
}
.linkList--date__item__label {
  width: auto;
  margin: 0 0 0 20px;
  padding: 1px 4px 0;
  border-radius: 4px;
  background: var(--accent);
  color: var(--white);
  font-size: 12px;
  text-align: left;
}
.linkList--date__item__ttl {
  margin: 0;
}
.linkList--date .linkList__item__link {
  display: flex;
}

/* アンカーリンク
--------------------------------*/
.linkList--anchor .linkList__item__link::after {
  transform: none;
  width: 12px;
  height: 12px;
  background: url('/app/img/icon_anchor.svg') no-repeat;
  background-size: contain;
  border: none;
}

/* Ripple Effect
--------------------------------*/
.btn {
  overflow: hidden;
  position: relative;
  -webkit-appearance: none;
  appearance: none;
}
.rippleEffect {
  position: absolute;
  border-radius: 50%;
  animation: ripple-animation 2.1s;
}
.rippleEffect--acd {
  position: absolute;
  border-radius: 50%;
  animation: ripple-animation 1.1s;
}
.btn--cv .rippleEffect {
  background: var(--white) !important;
}
@keyframes ripple-animation {
  0% {
    transform: scale(1);
    opacity: 0.2;
  }
  100% {
    transform: scale(50);
    opacity: 0;
  }
}

/*--------------------------------
　MODAL
--------------------------------*/
.modal {
  display: none;
}
.modaal-outer-wrapper {
  table-layout: fixed;
  word-break: break-all;
  word-wrap: break-word;
}
.modal__inner {
  max-height: 432px;
  overflow-y: scroll;
  padding: 0 32px;
}
.modal__inner::-webkit-scrollbar {
  width: 3px;
  border-radius: 3px;
}
.modal__inner::-webkit-scrollbar-track {
  background-color: var(--basicBG);
}
.modal__inner::-webkit-scrollbar-thumb {
  height: 100px;
  border-radius: 3px;
  background: var(--subBlack);
}
.modaal-inner-wrapper {
  padding: 80px 32px;
}
.modaal-inner-wrapper > *:last-child {
  margin-bottom: 0;
}
.modaal-content-container {
  max-width: 1024px;
  padding: 47px 15px 32px;
}
.modaal-close {
  position: absolute;
  top: 10px;
  right: 8px;
  width: 30px;
  height: 30px;
}
.modaal-onclickclose {
  position: absolute;
  top: 10px;
  right: 8px;
  width: 30px;
  height: 30px;
}
@media screen and (min-width: 1201px) {
  .modaal-onclickclose {
    right: 205px;
  }
}
.modaal-close:after,
.modaal-close:before {
  top: 7px;
  left: 14px;
  width: 2px;
  height: 16px;
  background: var(--black);
}
.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before {
  background: var(--black);
}
.modaal-container {
  border-radius: 8px;
  color: var(--black);
  box-shadow: var(--shadow);
  background-color: var(--white);
}
.modaal-overlay {
  opacity: 0.5 !important;
}

/*--------------------------------
　BUTTON
--------------------------------*/

/* 通常ボタン
--------------------------------*/
.btnBox {
  margin-top: 16px;
  text-align: center;
}
.btn {
  display: inline-block;
  padding: 8px 40px;
  width: 528px;
  max-width: 100%;
  min-height: 47px;
  box-shadow: var(--shadow);
  border: 1px solid var(--gray);
  border-radius: 8px;
  background: var(--white);
  color: var(--black);
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
  transition: 0.35s;
  text-decoration: none;
}
.btn:hover {
  background-color: var(--paleBlue);
}
.c-button-01.c-button-inactive a {
  opacity: 0.5;
}
.c-button-01.c-button-inactive a:hover {
  opacity: 0.5;
}

.btn--arrowRight,
.btn--downarrow,
.btn--iconRight {
  padding-left: 15px;
  padding-right: 40px;
  text-align: left;
}
.btn--arrowLeft {
  padding-left: 40px;
  padding-right: 15px;
  text-align: right;
}

.btn--arrowLeft,
.btn--arrowRight,
.btn--downarrow,
.btn--round,
.btn--downarrow,
.btn--window--gr,
.btn--iconLeft,
.btn--iconRight {
  position: relative;
}

.btn--arrowLeft::after,
.btn--arrowRight::after,
.btn--downarrow::after,
.btn--round::after {
  position: absolute;
  display: block;
  width: 12px;
  height: 12px;
  right: 16px;
  background: url(/app/img/icon_arrowright_wh.svg);
  top: calc(50% - 5px);
  background-size: contain;
  content: '';
  background-repeat: no-repeat;
}
.btn--arrowLeft::after {
  right: auto;
  left: 20px;
  background: url(/app/img/icon_arrowleft.svg);
  background-repeat: no-repeat;
}
.btn--downarrow::after {
  right: 18px;
}
.btn--window--gr::after {
  display: block;
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background: url(/app/img/icon_window-gr.png);
  background-size: contain;
  content: '';
  border: none;
}
.btn--iconLeft__inner {
  display: flex;
  align-items: center;
  justify-content: center;
}
.btn--iconLeft .btn--icon__icon {
  display: flex;
  align-items: center;
  margin-top: 2px;
  margin-right: 8px;
}
.btn--iconLeft .btn--icon__img {
  max-width: none;
}
.btn--iconLeft .btn--icon__text {
  text-align: left;
}
.btn--iconRight .btn--icon__icon {
  display: block;
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  content: '';
}
.btn--icon__img {
  vertical-align: top;
}
.btn--iconRightLarge {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 7px 100px !important;
}
.btn--iconRightLarge .btn--icon__icon {
  right: 48px;
  width: 40px;
  height: 40px;
  padding: 4px;
  background: var(--white);
  border-radius: 20px;
}
.btn--iconRightLarge .btn--icon__icon--noCircle {
  padding: 0;
  background: transparent;
  border-radius: 0;
}

/* CVボタン
--------------------------------*/
.btn--cv {
  padding-top: 13px;
  padding-bottom: 13px;
  min-height: 57px;
  border: 1px solid var(--blue);
  background: var(--blue);
  color: var(--white);
}
.btn--cv:hover {
  background: var(--blue);
  opacity: 0.75;
}
.btn--cv.btn--arrowLeft::after,
.btn--cv.btn--arrowRight::after,
.btn--cv.btn--downarrow::after {
  border-top-color: var(--white);
  border-right-color: var(--white);
}

.btn--cvRed {
  background-color: var(--accent);
  border-color: var(--accent);
}
.btn--cvRed:hover {
  background-color: var(--accent);
}

/* No Thanksボタン
--------------------------------*/
.btn--text {
  padding: 14px 40px;
  border-color: var(--white);
  box-shadow: none;
  font-size: 16px;
  color: var(--blue);
  text-decoration: underline;
}

/* 丸ボタン
--------------------------------*/
.btn--round {
  min-height: 42px;
  padding: 5px 40px 6px;
  border: 2px solid var(--blue);
  font-size: 16px;
  color: var(--blue);
  justify-content: center;
  border-radius: 50px;
}
.btn--round::after {
  background: url(/app/img/icon_arrowright_gr.svg);
  background-repeat: no-repeat;
}
.btn--round-window::after {
  background: url(/app/img/icon_window-gr.png);
  background-repeat: no-repeat;
  background-size: 12px;
  top: 50%;
  transform: translate(0%, -50%);
}

/* ×ボタン
--------------------------------*/
.batsu {
  background: var(--white);
}
.batsu::before,
.batsu::after {
  content: '';
  position: absolute;
  left: 14px;
  width: 2px;
  height: 16px;
  background: var(--black);
}
.batsu::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.batsu::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* 非活性ボタン
--------------------------------*/
.btn--inactive {
  cursor: default;
  pointer-events: none;
  color: var(--gray);
  background-color: var(--white);
}
.btn--cv.btn--inactive {
  color: var(--white);
  background: var(--gray);
  border-color: var(--gray);
}
.btn--round.btn--inactive {
  border-color: var(--gray);
}
.btn--round.btn--inactive::after {
  border-color: var(--gray) !important;
}

/* 小ボタン
--------------------------------*/
.btn--small {
  display: inline-block;
  position: relative;
  padding: 4px 18px;
  width: auto;
  max-width: 100%;
  border-radius: 8px;
  box-shadow: var(--shadow);
  color: var(--blue);
  background: var(--basicBG);
  font-weight: bold;
  text-align: center;
  transition: 0.35s;
  text-decoration: none;
  cursor: pointer;
}
.btn--small:hover {
  opacity: 0.75;
}
.col .btn--small {
  margin-top: 10px;
}

/* 検索ボタン
--------------------------------*/
.btn--small.searchBtn {
  border-radius: 8px;
  padding-left: 28px !important;
}

/* アイコン付きボタン
--------------------------------*/
.iconBtn {
  display: flex;
  flex-wrap: wrap;
  justify-content: left;
  align-items: flex-start;
  margin-left: -16px;
}
.iconBtn__item {
  margin-top: 16px;
  margin-left: 16px;
  text-align: center;
  width: 16.6666%;
  width: -webkit-calc(16.6666% - 16px);
  width: calc(16.6666% - 16px);
}
.iconBtn__item__link {
  display: block;
  width: 100%;
  height: 100%;
  transition: 0.35s;
  cursor: pointer;
  text-decoration: none;
  color: var(--black);
  background: var(--white);
  border: none;
}
.iconBtn__item__link:hover {
  opacity: 0.5;
}
.iconBtn__item__icon {
  display: inline-block;
}
.iconBtn__item__text {
  font-size: 16px;
  margin: 8px 0 0;
}

/* 2colボタン
--------------------------------*/
.colPC,
.colPC > .col__2,
.colPC > .col__2-1,
.colPC > .col__2-2,
.colPC > .col__3,
.colPC > .col__4 {
  width: 100%;
  margin-left: 0;
}
.colPC > .col__2 {
  width: 47%;
  width: calc(50% - 16px);
  width: -webkit-calc(50% - 16px);
  margin-left: 32px;
}
.colPC > .col__2:first-child,
.colPC > .col__2-1:first-child,
.colPC > .col__2-2:first-child,
.colPC > .col__3:first-child,
.colPC > .col__4:first-child {
  margin-left: 0;
}
/*--------------------------------
　BALOON
--------------------------------*/
.baloonBox {
  position: relative;
  padding-right: 40px;
}
.baloonBox__icon {
  display: block;
  position: absolute;
  top: 50%;
  right: 16px;
  width: 16px;
  height: 16px;
  transform: translateY(-50%);
  cursor: pointer;
}
.baloonBox__icon:hover::before {
  content: '';
  position: absolute;
  bottom: -8px;
  left: 3px;
  border: 5px solid transparent;
  border-bottom: 5px solid var(--white);
  z-index: 15;
}
.baloonBox__icon:hover::after {
  content: '';
  display: block;
  position: absolute;
  bottom: -7px;
  left: 3px;
  border: 5px solid transparent;
  border-bottom: 5px solid var(--subBlue);
  z-index: 10;
}
.openModal .baloonBox__icon:hover::before,
.openModal .baloonBox__icon:hover::after {
  display: none;
}

.baloonBox__icon img {
  position: relative;
  z-index: 5;
  vertical-align: top;
  width: 16px;
}
.baloonBox__icon:hover + .baloonBox__text,
.baloonBox--inline .baloonBox__icon:hover .baloonBox__text {
  display: block;
}
.baloonBox__text {
  display: none;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(15px);
  padding: 14px 24px;
  border: 1px solid var(--subBlue);
  background: var(--white);
  border-radius: 8px;
  font-size: 14px;
  font-weight: normal;
  z-index: 10;
}
.baloonBox__text::after {
  content: '';
  display: block;
  position: absolute;
  top: -1px;
  right: 19px;
  width: 8px;
  height: 1px;
  background: var(--white);
}
.table__th.baloonBox {
  padding-right: 6%;
}
.baloonBox--input {
  width: 330px;
}
.baloonBox--input .form__selctList__item,
.baloonBox--input .form__selctList__box .form__selctList__item {
  max-width: 216px !important;
}
.baloonBox--inline {
  padding-right: 4px;
}
.baloonBox--inline .baloonBox__icon {
  display: inline-block;
  position: relative;
  right: auto;
  transform: none;
  vertical-align: -5px;
}
.baloonBox--inline .baloonBox__text::after {
  display: none;
}

/*--------------------------------
　TABLE
--------------------------------*/
.table {
  width: 100%;
  border-top: 1px solid var(--gray);
  border-collapse: collapse;
  table-layout: fixed;
}
.modaal-table {
  max-width: 100%;
  border-top: 1px solid var(--gray);
  border-collapse: collapse;
  table-layout: fixed;
}
.table__caption {
  width: 100%;
  padding: 7px 13px 8px;
  border-top: 1px solid var(--gray);
  text-align: left;
  line-height: 1.5;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.table.ios {
  position: relative;
}
.ios .table__caption {
  position: absolute;
  border-bottom: 1px solid var(--gray);
  z-index: 10;
}

.table__th,
.table__td {
  position: relative;
  display: table-cell;
  padding: 7px 13px 8px;
  border-left: 1px solid var(--gray);
  border-bottom: 1px solid var(--gray);
  text-align: left;
  word-break: break-all;
  vertical-align: baseline;
  line-height: 1.5;
}
tr .table__th:first-child,
tr .table__td:first-child {
  border-left: none;
  background-clip: padding-box;
}
.table__caption,
.table__th {
  background: var(--paleBlue);
  font-weight: bold;
  background-clip: padding-box;
}
.table__td-second {
  border-left: 1px solid var(--gray) !important;
}

/*--------------------------------
　FORM
--------------------------------*/

input[readonly] {
  border: none;
}

/* input[readonly]をpタグと同じ見た目にしたい時に使用 */
.readonly-text {
  width: 100%;
  display: block;
  margin: 12px 0;
  line-height: 1.5;
  font-size: 16px;
  height: 24px;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

/* トグルボタン
--------------------------------*/
fieldset {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  border: none;
  padding: 0;
  margin: 0;
  text-align: center;
}

.radio-inline__input {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
}

.radio-inline__input + .radio-inline__label {
  background: var(--basicBG);
  color: var(--subBlack);
  border: 1px solid var(--subBG);
  width: calc(50% - 7.5px);
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.radio-inline__input:disabled + .radio-inline__label {
  color: var(--white);
  background: var(--placeHolder);
  border-color: var(--placeHolder);
}

.radio-inline__input:checked + .radio-inline__label {
  background: var(--blue);
  color: var(--white);
}

/* ラジオボタン
--------------------------------*/
.form__radioList > ul > li {
  margin-top: 16px;
  padding-left: 8px;
  font-size: 16px;
}
.form__radioList > ul > li:first-child {
  margin-top: 0;
}
.form__radioList__input {
  display: none;
  opacity: 0;
  position: absolute;
  width: 0;
  height: 0;
}
.form__radioList__label {
  display: inline-block;
  position: relative;
  padding: 0 0 0 34px;
  cursor: pointer;
  word-break: break-all;
}
.form__radioList__label::before {
  display: block;
  position: absolute;
  top: 2px;
  left: 0;
  width: 24px;
  height: 24px;
  border: 1px solid var(--black);
  border-radius: 50%;
  box-sizing: border-box;
  content: '';
}
.form__radioList__input:checked + .form__radioList__label::after {
  display: block;
  position: absolute;
  top: 8px;
  left: 6px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--black);
  content: '';
}
.form__radioList__input.radioToggle__input + .form__radioList__label + .radioToggle__content {
  display: none;
}
.form__radioList__input.radioToggle__input:checked + .form__radioList__label + .radioToggle__content {
  display: block;
  margin-top: 4px;
  animation: toggle-content-fadein 1.5s;
}
@keyframes toggle-content-fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.form__radioList__input:disabled + .form__radioList__label {
  cursor: default;
}
.form__radioList__input:disabled + .form__radioList__label::before {
  border-color: var(--placeHolder);
}
.form__radioList__input:disabled + .form__radioList__label::after {
  display: none;
}
.form__radioList__input:checked:disabled + .form__radioList__label {
  color: var(--black);
}
.form__radioList__input:checked:disabled + .form__radioList__label::after {
  display: block;
  background: var(--placeHolder);
}

/* チェックボックス
--------------------------------*/
.form__checkboxList > ul > li {
  margin-top: 16px;
  padding-left: 8px;
  font-size: 16px;
}
.form__checkboxList > ul > li:first-child {
  margin-top: 0;
}
.form__checkboxList__input {
  display: none;
  opacity: 0;
  position: absolute;
  width: 0;
  height: 0;
}
.form__checkboxList__label {
  display: inline-block;
  position: relative;
  padding: 0 0 0 34px;
  cursor: pointer;
  word-break: break-all;
}
.form__checkboxList__label::before {
  display: block;
  position: absolute;
  top: 2px;
  left: 0;
  width: 24px;
  height: 24px;
  border: 1px solid var(--black);
  border-radius: 4px;
  box-sizing: border-box;
  content: '';
}
.form__checkboxList__input:checked + .form__checkboxList__label::after {
  display: block;
  position: absolute;
  top: 5px;
  left: 8px;
  transform: rotate(45deg);
  width: 6px;
  height: 12px;
  border: solid var(--black);
  border-width: 0 2px 2px 0;
  content: '';
}
.form__checkboxList__input:disabled + .form__checkboxList__label {
  cursor: default;
  color: #ababab;
}
.form__checkboxList__input:disabled + .form__checkboxList__label::before {
  border: 1px solid var(--placeHolder);
}
.form__checkboxList__input:disabled + .form__checkboxList__label::after {
  display: none;
}
.form__checkboxList__input:checked:disabled + .form__checkboxList__label::before {
  border: 1px solid var(--placeHolder);
}
.form__checkboxList__input:checked:disabled + .form__checkboxList__label::after {
  display: block;
  border: solid var(--placeHolder);
  border-width: 0 2px 2px 0;
}

/* プレイスホルダー
--------------------------------*/
.form__inputBox__bk_yu-cho {
  width: 315px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.form__inputBox__outer {
  position: relative;
  display: inline-block;
  max-width: 100%;
}
.form__inputBox__placeholder {
  display: flex;
  position: absolute;
  top: 0;
  left: 17px;
  margin: 15px 0;
  color: var(--placeHolder);
  background: var(--white);
  align-items: center;
  font-size: 16px;
  transition: all 0.2s;
  transform-origin: 0% 0%;
  pointer-events: none;
}
.form__selctList__item .form__inputBox__placeholder {
  width: 75%;
  background: var(--white);
}

.form__inputBox__outer--valid .form__inputBox__placeholder,
.form__inputBox__outer input:focus + .form__inputBox__placeholder,
.form__inputBox__outer textarea:focus + .form__inputBox__placeholder,
.form__inputBox__outer select:focus + .form__inputBox__placeholder {
  width: auto;
  transform: translateY(-25px) translateX(-6px);
  font-size: 12px;
  padding: 0 5px;
  background: var(--white);
}
.form__inputBox__outer--valid .form__inputBox__placeholder,
.form__inputBox__outer input:focus + .form__inputBox__placeholder {
  color: var(--black);
}
/* テキスト
--------------------------------*/
.form__inputBox input[type='text'],
.form__inputBox input[type='number'] {
  width: 464px;
  max-width: 100%;
  height: 56px;
  padding: 15px;
  border: 1px solid var(--gray);
  border-radius: 4px;
  box-sizing: border-box;
  font-size: 16px;
  color: var(--black);
}
.form__inputBox.c-input-auto-address input[type='text'],
.form__inputBox.c-input-auto-address input[type='number'] {
  width: 110px;
  margin-right: 8px;
  vertical-align: middle;
}
.form__inputBox.c-input-any-text input[type='text'],
.form__inputBox.c-input-any-text input[type='number'] {
  margin-right: 16px;
  max-width: 216px;
  text-align: right;
  vertical-align: middle;
}
.form__inputBox.c-input-any-text .text-any {
  line-height: 1.8;
  vertical-align: middle;
}
.form__inputBox > span.word-count {
  display: block;
  width: 100%;
  margin-top: 6px;
  font-size: 12px;
  line-height: 1.2;
  word-break: break-all;
}
.form__inputBox input[type='password'] {
  width: 464px;
  max-width: 100%;
  height: 56px;
  padding: 15px 35px 15px 15px;
  border: 1px solid var(--gray);
  border-radius: 4px;
  box-sizing: border-box;
}

.form__inputBox--tel input[type='tel'] {
  width: 84px;
  max-width: 100%;
  height: 56px;
  padding: 15px;
  border: 1px solid var(--gray);
  border-radius: 4px;
  box-sizing: border-box;
  font-size: 16px;
  vertical-align: middle;
}
.form__inputBox--tel input[type='tel']:first-child {
  width: 88px;
}
.form__inputBox--tel .text-any {
  vertical-align: middle;
}
/* ゆうちょ口座
--------------------------------*/
.form__inputBox__bk_yu-cho input {
  max-width: 100%;
  height: 56px;
  padding: 15px;
  border: 1px solid var(--gray);
  border-radius: 4px;
  box-sizing: border-box;
  font-size: 16px;
  vertical-align: middle;
}
.bk_yu-cho_fm01 {
  width: 80px;
}
.bk_yu-cho_fm02 {
  width: 45px;
}
.bk_yu-cho_fm03 {
  width: 105px;
}
.form__inputBox__bk_yu-cho .text-any {
  vertical-align: middle;
}

/* 画像+テキスト センター揃え
--------------------------------*/
.col-cnt {
  display: flex;
  align-items: center;
}

/* テキストエリア
--------------------------------*/
.form__inputBox--textarea textarea {
  width: 464px;
  max-width: 100%;
  min-height: 56px;
  padding: 15px;
  border: 1px solid var(--gray);
  border-radius: 4px;
  font-size: 16px;
  line-height: 1.5;
}
.form__inputBox--textarea > span.word-count {
  display: block;
  width: 100%;
  margin-top: 8px;
  font-size: 12px;
  line-height: 1.2;
  word-break: break-all;
}

/* パスワード表示／非表示
--------------------------------*/
.form__pwBtn {
  position: absolute;
  display: block;
  top: 21px;
  right: 7px;
  width: 16px;
  height: 16px;
  background: url(/app/img/icon_visible.png);
  background-size: contain;
  text-indent: -9999px;
  cursor: pointer;
}
.form__pwBtn.form__pwBtn--active {
  background-image: url(/app/img/icon_invisible.png);
}

/* トグルボタン
--------------------------------*/
.toggleBtn--label {
  width: 37px;
  position: relative;
  display: inline-block;
  padding-top: 3px;
}
.toggleBtn--content {
  display: block;
  cursor: pointer;
  position: relative;
  border-radius: 7px;
  height: 14px;
  background: var(--gray);
  transition: all 0.1s 0.3s;
  overflow: hidden;
}
.toggleBtn--content:after {
  content: '';
  display: block;
  position: absolute;
  width: 0;
  height: 100%;
  top: 0;
  left: 0;
  border-radius: 7px;
  transition: all 0.3s;
}
.toggleBtn--input {
  display: none;
}
.toggleBtn--circle {
  display: block;
  top: 0px;
  left: 0px;
  position: absolute;
  width: 20px;
  height: 20px;
  border-radius: 10px;
  background-color: var(--white);
  transition: all 0.3s;
  box-shadow: 0 2px 2px var(--gray);
  cursor: pointer;
}
.toggleBtn--input:checked ~ .toggleBtn--circle {
  left: 18px;
  background-color: var(--blue);
}
.toggleBtn--input:checked ~ .toggleBtn--content {
  border-color: transparent;
  transition: all 0s;
}
.toggleBtn--input:checked ~ .toggleBtn--content:after {
  background-color: var(--subBlue);
  width: 100%;
}

/* セレクト
--------------------------------*/
.form__selctList {
  max-width: 100%;
}
.form__selctList .form__selctList__box {
  width: 464px;
  display: flex;
}
.form__selctList .form__selctList__box .form__selctList__item,
.form__selctList .form__selctList__item {
  display: inline-block;
  position: relative;
  width: 464px;
  max-width: 100%;
  font-size: 16px;
}
.form__selctList select {
  position: relative;
  width: 100%;
  max-width: 100%;
  height: 56px;
  padding: 15px 40px 15px 15px;
  background: var(--white);
  border: 1px solid var(--gray);
  border-radius: 4px;
  box-sizing: border-box;
  font-size: 16px;
  color: var(--black);
}
.form__selctList select::-ms-expand {
  display: none;
}
.form__selctList .form__selctList__item::after,
.form__selctList .form__selctList__box .form__selctList__item::after {
  position: absolute;
  top: 25px;
  right: 16px;
  width: 0;
  height: 0;
  border-top: 8px solid var(--subBlack);
  border-right: 6px solid transparent;
  border-left: 6px solid transparent;
  content: '';
}
.form__selctList--date .form__selctList__box .form__selctList__item:not(:last-child) {
  margin-right: 24px;
}

/* 生年月日の表示
form__selctList__item の width 指定で壊れている箇所の補正
--------------------------------*/
.form__selctList .form__selctList--year {
  width: 50% !important;
}
.form__selctList .form__selctList--month {
  width: 25% !important;
}
.form__selctList .form__selctList--date {
  width: 25% !important;
}

/* エラー表示
--------------------------------*/
.error-input--noBd {
  border: none;
  padding: 0;
}
.error-text {
  display: none;
}
.error-input .error-text {
  display: block;
  margin: 0 -7px 10px;
  padding: 14px 16px 18px;
  background: var(--paleRed);
  font-size: 12px;
}
.error-input .icon--attention::before {
  top: 2px;
}
.error-input .form__inputBox__placeholder,
.error-input .form__inputBox__outer--valid .form__inputBox__placeholder,
.error-input input:focus + .form__inputBox__placeholder,
.error-input .form__radioList__label,
.error-input .form__checkboxList__label {
  color: var(--red);
}
.error-input .form__radioList__label::before,
.error-input .form__checkboxList__label::before {
  border: 2px solid var(--red);
}
.error-input .form__radioList__input:checked + .form__radioList__label::after {
  background: var(--red);
}
.error-input .form__radioList__input:checked + .form__radioList__label::before {
  border: 2px solid var(--red);
}
.error-input .form__checkboxList__input:checked + .form__checkboxList__label::before {
  border: 2px solid var(--red);
  background-color: var(--red);
}
.form__checkboxList.error-input .form__checkboxList__input:checked + .form__checkboxList__label::after {
  border-color: var(--white);
}
.error-input .form__inputBox input[type='text'],
.error-input .form__inputBox input[type='number'],
.error-input .form__inputBox input[type='date'],
.error-input .form__inputBox--tel input[type='tel'],
.error-input .form__inputBox--textarea textarea,
.error-input .form__inputBox input[type='password'],
.error-input .form__selctList select {
  color: var(--red);
  border: 1px solid var(--red);
}
.error-comment {
  display: none;
  margin-top: 8px !important;
  padding-left: 15px;
  font-size: 12px;
  color: var(--red);
}
.error-comment {
  display: none;
}
.error-input .error-comment {
  display: block;
  margin-top: 8px !important;
  padding-left: 15px;
  font-size: 12px;
  color: var(--red);
}
.error-input .form__inputBox--tel .form__inputBox__placeholder {
  left: 13px;
}
.error-input .form__selctList select {
  padding: 15px 30px 15px 13px;
}
.error-input .form__selctList .form__inputBox__placeholder {
  left: 13px;
}

/*--------------------------------
　ACCORDION
--------------------------------*/
.accordionList {
  border-top: 1px solid var(--gray);
}
.accordionList__link,
.accordionList__item > .accordionList__item__ttl {
  position: relative;
  display: block;
  padding: 10px 40px 10px 16px;
  border-bottom: 1px solid var(--gray);
  text-decoration: none;
  font-weight: normal;
  color: var(--black);
  cursor: pointer;
  overflow: hidden;
}
.accordionList__item {
  margin-top: 0;
  border-color: var(--gray);
  transition: 0.1s;
}
.accordionList__link::after {
  display: block;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  width: 7px;
  height: 10px;
  content: '';
  background-image: url(/app/img/icon_arrowright.svg);
  background-repeat: no-repeat;
}
.accordionList__item__ttl::after {
  position: absolute;
  top: 50%;
  right: 24px;
  width: 12px;
  height: 12px;
  transform: translateY(-50%);
  content: '';
  background-image: url(/app/img/icon_plus.svg);
  background-repeat: no-repeat;
}
.accordionList__item__ttl + div {
  display: none;
  padding: 16px 16px 30px 16px;
  border-bottom: 1px solid var(--gray);
  overflow: hidden;
}

.accordionList__item--open {
  margin-top: 16px;
  padding-bottom: 16px;
  border-top: 1px solid var(--gray);
  border-bottom: 1px solid var(--gray);
}
.accordionList__item--open + .accordionList__item--open {
  margin-top: 0;
  border-top: none;
}
.accordionList > .accordionList__item--open:first-child {
  margin-top: 0;
  border-top: none;
}
.accordionList > .accordionList__item--open:last-child {
  padding-bottom: 0;
  border-bottom: none;
}
.accordionList__item--open > .accordionList__item__ttl {
  color: var(--blue);
  font-weight: bold;
  border-bottom: none;
}
.accordionList__item--open > .accordionList__item__ttl::after {
  content: '';
  background-image: url(/app/img/icon_minus.svg);
  height: 2px;
  right: 24px;
  background-repeat: no-repeat;
}

/* アコーディオンの中がリンクリスト */
.accordionList--link .accordionList__item__ttl + div {
  padding-top: 0;
  padding-bottom: 0;
}
.accordionList--link div .accordionList__link:first-child {
  border-top: 1px solid var(--gray);
}
.accordionList--link div .accordionList__link:last-child {
  border-bottom: none;
}

/* 赤枠アコーディオン */
.accordionList--attention {
  border: 1px solid var(--accent);
  border-radius: 8px;
  background-color: var(--white);
}

.accordionList--attention .accordionList__item {
  margin-top: 0;
  border-color: var(--white);
  transition: 0.1s;
}

.accordionList--attention .accordionList__link,
.accordionList--attention .accordionList__item > .accordionList__item__ttl {
  padding: 24px 48px;
}

.accordionList--attention .accordionList__item__ttl + div {
  padding: 0 48px 24px;
}

.accordionList--attention .accordionList__item--open {
  margin-top: 0;
  padding-bottom: 0;
  border-top: none;
  border-bottom: none;
}
.accordionList--attention .accordionList__item--open > .accordionList__item__ttl {
  color: var(--black);
  font-weight: bold;
  border-bottom: none;
}

/* react置き換え後 */
.accordionList__item .MuiAccordion-root:before {
  top: 0;
  opacity: 0;
}
.accordionList__item.MuiAccordion-root.Mui-expanded {
  margin: 0;
}
.accordionList__item .MuiAccordion-rounded:first-child {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.accordionList__item .MuiAccordionSummary-root.Mui-expanded {
  min-height: auto;
}
.accordionList__item .MuiAccordionSummary-content {
  display: block;
  margin: 0;
  font-weight: bold;
}
.accordionList__item .MuiAccordionSummary-content.Mui-expanded {
  margin: 0;
}
.accordionList__item .MuiAccordionDetails-root {
  display: block;
  padding: 0;
}
.accordionList__item .MuiCollapse-root.MuiCollapse-hidden {
  padding: 0;
}

/*--------------------------------
　WIZARD
--------------------------------*/
.wizard {
  position: relative;
  margin: 32px 0;
}
.wizard__list {
  display: flex;
  justify-content: center;
  position: relative;
  width: 100%;
  background: rgba(255, 255, 255, 0);
}
.wizard__list li {
  position: relative;
  z-index: 1;
  width: 66px;
  height: 30px;
  margin-bottom: 0;
  box-sizing: content-box;
  text-align: center;
  word-break: break-all;
}
.wizard__list li:first-child {
  margin-left: -10px;
}
.wizard__list li:last-child {
  margin-right: -10px;
}
.wizard__list li::before {
  display: block;
  position: absolute;
  top: 7px;
  left: 50%;
  z-index: 2;
  width: 16px;
  height: 16px;
  margin-left: -8px;
  border-radius: 15px;
  background: var(--gray);
  line-height: 31px;
  text-align: center;
  content: '';
}
.wizard__list li::after {
  display: block;
  position: absolute;
  top: 12px;
  left: 0;
  width: 66px;
  height: 6px;
  background: var(--gray);
  z-index: 1;
  content: '';
}
.wizard__list li:first-child::after {
  left: 20px;
  width: 50px;
}
.wizard__list li:last-child::after {
  width: 40px;
}
.wizard__list .wizard__list__current {
  color: var(--placeHolder);
}
.wizard__list .wizard__list__current::before {
  top: 0;
  width: 30px;
  height: 30px;
  margin-left: -15px;
  box-sizing: border-box;
  background: var(--white);
  border: 7px solid var(--blue);
}
.wizard__list .wizard__list__current::after {
  background: linear-gradient(90deg, var(--subBlue) 0%, var(--subBlue) 50%, var(--gray) 50%, var(--gray) 100%);
}
.wizard__list .wizard__list__done::before {
  top: 0;
  width: 30px;
  height: 30px;
  margin-left: -15px;
  background: var(--subBlue);
}
.wizard__list .wizard__list__done::after {
  background: var(--subBlue);
}
.wizard__list__done__icon::after {
  display: block;
  position: absolute;
  top: 5px;
  left: 50%;
  z-index: 3;
  transform: rotate(45deg);
  width: 6px;
  height: 12px;
  margin-left: -5px;
  border: solid var(--white);
  border-width: 0 4px 4px 0;
  content: '';
}

/*--------------------------------
　STEP
--------------------------------*/
.stepList__item {
  margin-bottom: 0;
  background: var(--basicBG);
  border-radius: 8px;
  align-items: center;
  overflow: visible;
  padding: 15px 48px 14px;
  font-size: 18px;
}
.stepList__item:not(:last-child) {
  position: relative;
  margin-bottom: 63px;
}
.stepList__item:not(:last-child)::after {
  content: '';
  display: block;
  position: absolute;
  left: 50%;
  width: 0;
  height: 0;
  border: 7px solid transparent;
  border-top: 8px solid var(--blue);
  bottom: -55px;
  margin-left: -8px;
  border-width: 14px;
  border-top-width: 16px;
}
.stepList__item--active {
  padding: 12px 48px 13px;
  background: var(--white);
  border: 2px solid var(--blue);
}
.stepList__item .col__2 {
  font-weight: bold;
}
.stepList__item .col__2:last-child {
  font-size: 20px;
}
.stepList__item--active .col__2:last-child {
  font-size: 24px;
}

/*--------------------------------
　TAB
--------------------------------*/
.tab {
  margin-top: 16px;
}
.tab__list {
  padding: 0;
  display: flex;
}
.tab__item {
  display: flex;
  justify-content: center;
  align-items: center;
  float: left;
  width: calc(100% / 2);
  margin: 0;
  padding: 6px 16px 8px;
  border: 1px solid var(--blue);
  border-left: none;
  font-size: 18px;
  text-align: center;
  transition: all 0.2s ease;
  cursor: pointer;
  white-space: normal;
  position: relative;
  z-index: 1;
  flex-direction: column;
}
.tab__item:first-child {
  border-left: 1px solid var(--blue);
  border-radius: 4px 0 0 0;
}
.tab__item:last-child {
  border-radius: 0 4px 0 0;
}
.tab__item:hover {
  opacity: 0.75;
}
.tab__item > button {
  position: relative;
  background-color: transparent;
  margin: 0;
  padding: 0;
  font-weight: bold;
  color: var(--blue);
  border: none;
  cursor: pointer;
}
.tab__item > .tab__notificationBadge::after {
  content: '●';
  color: var(--accent);
  position: absolute;
  top: 0px;
  right: 0px;
  transform: translate(90%, -60%);
  font-size: 16px;
  text-shadow: 0px 0px 2px var(--accent);
}
.tab__item--active {
  background: var(--blue);
  color: var(--white);
}
.tab__item--active::after {
  display: block;
  position: absolute;
  bottom: -8px;
  left: 50%;
  margin-left: -7px;
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7px 7px 0 7px;
  border-color: var(--blue) transparent transparent transparent;
}
.tab__item--active > button {
  color: var(--white);
}
.tab__contents {
  border-bottom: 1px solid var(--blue);
  border-radius: 1px;
}
.tab__contents > div {
  display: none;
  padding: 24px 0 32px;
}
.tab__contents > div.react-tabs__tab-panel--selected {
  display: block;
}

/*--------------------------------
　IMAGE LAYOUTS
--------------------------------*/
.imgBox--center {
  text-align: center;
  align-items: flex-start;
  height: auto;
}
.imgBox--center .imgBox__img {
  display: inline;
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}
.imgBox--center a .imgBox__img {
  display: inline;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
.imgBox--right,
.imgBox--left {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}
.imgBox--right .imgBox__img,
.imgBox--left .imgBox__img {
  max-width: 100%;
  text-align: center;
}
.imgBox--right .imgBox__img {
  float: right;
  max-width: 70%;
  margin-left: 16px;
}
.imgBox--left .imgBox__img {
  float: left;
  max-width: 70%;
  margin-right: 16px;
}
.imgBox--right .imgBox__content,
.imgBox--left .imgBox__content {
  overflow: hidden;
  word-wrap: break-word;
  margin-top: 0;
}

.imgBox--center .tell__img__link {
  line-height: 1;
  display: inline-block;
  text-decoration: underline;
}
.bn_top_announce {
  width: 468px;
  height: auto;
}

/*--------------------------------
　QUESTIONNAIRE
--------------------------------*/
.questionnaire .label {
  text-align: left;
}
.questionnaireList {
  display: flex;
  justify-content: center;
}
.questionnaireList__item {
  margin: 0 7px;
  text-align: center;
  font-weight: bold;
  width: 97px;
  font-size: 12px;
  line-height: 1.5;
}
.questionnaireList__input {
  display: none;
}
.questionnaireList__label {
  display: block;
  margin: 0 auto 20px;
  box-shadow: 0 2px 0 var(--gray);
  border: 1px solid var(--gray);
  border-radius: 8px;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  cursor: pointer;
  width: 60px;
  height: 60px;
  background-size: 48px auto;
}
.questionnaireList__item:first-child .questionnaireList__label {
  margin-bottom: 28px;
}
.questionnaire_mb24 {
  margin-bottom: 24px;
}
.questionnaire .form__inputBox__outer,
.questionnaire .form__inputBox--textarea textarea {
  width: 100%;
}
.lp_simulation_body {
  padding-top: 0%;
}

/*--------------------------------
　QA
--------------------------------*/
.QA dt,
.QA dd {
  position: relative;
  margin: 0;
  padding: 0px 8px 24px 32px;
  color: var(--black);
}
.QA dd + dt {
  margin-top: 8px;
}
.QA dt::before,
.QA dd::before {
  display: inline-block;
  position: absolute;
  width: 24px;
  height: 24px;
  left: 0;
  border-radius: 50%;
  color: var(--white);
  font-weight: 600;
  font-size: 12px;
  text-align: center;
  padding-top: 1px;
}
.QA dt::before {
  background-color: var(--blue);
  content: 'Q';
}
.QA dd::before {
  background-color: var(--subBlue);
  content: 'A';
}
.QA dd p:first-child {
  margin-top: 0;
}
.QA dt p:first-child {
  margin-top: 0;
}
.QA p {
  margin-bottom: 0;
}
.QA dd:last-child {
  padding-bottom: 0;
}

/*--------------------------------
  UPLOAD IMAGES
--------------------------------*/
.uploadList__itemBox {
  display: flex;
  align-items: flex-end;
}

.uploadList__item {
  display: flex;
  justify-content: space-between;
  width: 315px;
  margin: 0 auto;
}
.uploadList__item__imgbox {
  position: relative;
  overflow: hidden;
  width: 225px;
  height: 76px;
  background: var(--white) url('/app/img/bg_uploadList__item__imgbox.png') no-repeat 50% 50%;
  background-size: 38px auto;
  border: 1px solid var(--gray);
}
.uploadList__item__imgbox.selected {
  background-image: none;
}
.uploadList__item__imgbox > input {
  display: none;
}
.uploadList__item__imgbox__inner {
  position: relative;
  display: flex;
  justify-content: center;
}
.uploadList__item__imgbox__img {
  display: block;
  height: 76px;
  max-width: 215px;
}
.uploadList__item__close {
  display: block;
  position: absolute;
  top: 6px;
  right: 6px;
  margin: 0;
  padding: 0;
  width: 16px;
  height: 16px;
  background-color: transparent;
  border: none;
  cursor: pointer;
}
.uploadList__item__close::before,
.uploadList__item__close::after {
  display: block;
  content: ' ';
  position: absolute;
  top: 2px;
  left: 7px;
  width: 2px;
  height: 12px;
  background: var(--accent);
  border-radius: 4px;
  transition: 0.35s;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.uploadList__item__close::after {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
.uploadList__item__close > span {
  display: none;
}

.uploadList__item__btnbox {
  width: 75px;
}
.uploadList__item__btnbox .btn--small {
  width: 100%;
  margin-top: 21px;
}
.uploadList__item__btnbox .btn--small img {
  width: 21px;
  height: auto;
  vertical-align: -3px;
}
@media screen and (max-width: 375px) {
  .uploadList__item {
    width: 260px;
  }
  .uploadList__item__imgbox {
    width: 170px;
  }
}
@media screen and (min-width: 768px) {
  .uploadList {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    margin: 0 auto;
  }
  .uploadList__item {
    margin: 0;
  }
}
@media screen and (min-width: 852px) {
  .uploadList {
    width: 726px;
  }
}
@media screen and (min-width: 768px) and (max-width: 851px) {
  .uploadList__item {
    width: 305px;
  }
  .uploadList__item__imgbox {
    width: 215px;
  }
}

/* 金融機関・支店の検索
--------------------------------*/
#bankBranchSearch .search_shortcut {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#bankBranchSearch .search_shortcut_item {
  width: calc(50% - 8px);
  margin-bottom: 16px;
}
#bankBranchSearch #defaultDisplayBankLabelList .btn,
#bankBranchSearch #js_search_btn .btn {
  width: 100%;
  background-color: var(--basicBG);
  color: var(--subBlack);
}
#bankBranchSearch #defaultDisplayBankLabelList .btn:hover,
#bankBranchSearch #js_search_btn .btn:hover {
  background-color: var(--blue);
  color: var(--white);
}
#bankBranchSearch #defaultDisplayBankLabelList .btn.active,
#bankBranchSearch #js_search_btn .btn.active {
  background-color: var(--blue);
  color: var(--white);
}
#bankBranchSearch #js_search_ttl {
  display: none;
}
#bankBranchSearch #js_search_result {
  display: none;
}
#js_search_result_02 {
  display: none;
}

#bankBranchSearch .bank_branch_search_result {
  display: block;
  position: absolute;
  z-index: 999;
  overflow-y: auto;
  max-height: 200px;
  width: 100%;
  background: var(--white);
  border-radius: 6px;
  box-shadow: 0 6px 10px var(--transparentBlack);
}

#bankBranchSearch .bank_branch_search_result li {
  font-size: 16px;
  padding: 15px;
}

#bankBranchSearch .bank_branch_search_result li:hover {
  background-color: var(--basicBG);
}

@media screen and (max-width: 767px) {
  #bankBranchSearch #defaultDisplayBankList .btn,
  #bankBranchSearch #js_search_btn .btn {
    padding: 8px 8px;
  }
}

/* 要素のafterに全角コロンを追加する。
--------------------------------*/
.full-width-colon-after::after {
  content: '：';
}

/* 金融機関名・支店名
--------------------------------*/
#bankNameArea,
#branchNameArea {
  display: flex;
}

#bankNameArea .full-width-colon-after {
  width: 96px;
}

#bankNameArea #bankName {
  line-height: 100%;
  height: 24px;
  width: calc(100% - 96px);
}

#branchNameArea .full-width-colon-after {
  width: 64px;
}

#branchNameArea #branchName {
  line-height: 100%;
  height: 24px;
  width: calc(100% - 64px);
}

/* 非表示のinput
--------------------------------*/
.hidden-input-box {
  position: relative;
}

.hidden-input-box__input {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
}

/* 非表示のimg
--------------------------------*/
img[src^="https://tr.c-tag.net/s2/"]
{
  display: none;
}

/* 審査案内文 初期化非表示
 --------------------------------*/
#generally {
  display: none;
}

/* 大型連休注意文言 初期化非表示
--------------------------------*/
#holidays_season {
  display: none;
}
