@charset "UTF-8";

/*common*/

header {
  width: 100vw;
  padding: 0 5%;
}

.h-login,
.h-home {
  text-align: center;
  margin-left: 20px;
}

.h-act > li {
  border-right: 1px solid #ebebf2;
}

.h-act > li .act-btn {
  background: url(../img/i-un_arrow.svg) no-repeat right center/ 11px 7px;
  padding-right: 22px;
}

#m-logo {
  margin-right: auto;
}

main {
  padding: 100px 5%;
  width: 100%;
}

.my-icon {
  width: 69px;
  height: 69px;
  display: block;
  margin: 0 auto 10px;
  background: url(../img/my-icon.svg) no-repeat center center / 69px 69px;
}

.my-icon img {
  background: #fff;
  object-fit: contain;
  max-width: 69px;
  height: 69px;
}

.view-plan {
  text-align: center;
  color: #fff;
  line-height: 1;
  font-size: 1.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.view-plan p {
  display: inline-block;
  padding: 5px 15px;
  border-radius: 20px;
  background: #43425d;
  margin: 0 auto;
}

.-back {
  width: 100px;
  margin: 30px auto 0;
}

.-back a {
  border-color: #181412;
  padding: 10px 5%;
}

/*icon*/

.i-mail {
  background: url(../img/i-mail.svg) no-repeat left center / 21px 16px;
  padding-left: 32px;
}

.i-send {
  background: url(../img/i-send.svg) no-repeat left center / 29px 29px;
  padding: 6px 0 6px 42px;
}

.i-user {
  background: url(../img/i-user-r.svg) no-repeat left center / 29px 29px;
  padding: 6px 0 6px 42px;
}

.i-yen {
  background: url(../img/i-yen.svg) no-repeat left center / 17px 23px;
  padding: 4px 0 4px 27px;
}

.i-pass {
  background: url(../img/i-pass.svg) no-repeat left center / 26px 23px;
  padding: 4px 0 4px 36px;
}

/*5-1*/

.-pj-move {
  margin-bottom: 10px;
}

.ac-mail_ch {
  display: grid;
  grid-template-columns: repeat(2, 49%);
  gap: 0 2%;
  text-align: center;
  margin: 10px auto 10px;
}

/*5-2*/

.p-change {
  text-align: center;

  margin: 15px auto 30px;
}

.view-plan_status {
  text-align: center;
}

.view-plan_status dt {
  font-weight: normal;
  margin-bottom: 5px;
}

.view-plan_status dd {
  font-weight: bold;
  margin-bottom: 20px;
}

.account-change_action {
  margin-bottom: 20px;
}

.account-change_action li:not(:last-child) {
  margin-bottom: 10px;
}

.ft-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 30px auto 0;
}

.ft-link a {
  text-decoration: underline;
}

.ft-link li:not(:last-child) {
  margin-right: 20px;
}

/*5-3*/

.paid-info {
  padding: 10px;
  border: 1px solid #e13c4b;
  color: #e13c4b;
  text-align: center;
  font-weight: bold;

  margin-top: 20px;
}

.state-change {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;

  line-height: 1;
  margin: 40px auto 20px;
}

.state-change li {
  width: 100%;
  text-align: center;
}

.state-change a {
  display: block;
  padding: 10px 5%;
  background: #bcbccb;
  color: #fff;
}

.state-change a.-active {
  background: #43425d;
}

.ab-plan {
  text-align: center;

  margin: 40px auto 22px;
}

.ab-contact {
  text-align: center;
}

.three-plan_chk li:not(:last-child) {
  margin-bottom: 5px;
}

.-glay-btn div {
  display: grid;
  width: 100%;
  grid-template-columns: calc(100% - 160px) 140px;
  gap: 0 20px;
  text-align: left;
}

.-glay-btn div p:last-child {
  text-align: right;
  color: #2f2e50;
  font-weight: bold;
}

.-glay-btn div p span {
  font-size: 1.4rem;
  font-weight: normal;
}

/*5-3-A*/
.plan-change {
  text-align: center;
  margin: 0 auto 10px;
}

.plan-change dd {
  font-size: 4rem;
  letter-spacing: 1px;
  color: #e8505d;
}

.plan-change span {
  font-size: 2rem;
}

.plan-change__caution {
  background: #f2f6ff;
  padding: 20px;
  margin: 0 auto 30px;
}

.plan-change-btn {
  display: grid;
  grid-template-columns: repeat(2, 48%);
  gap: 0 4%;
  margin-top: 25px;
}

.plan-change-btn li,
.plan-change-btn li input {
  width: 100%;
}

.plan-change-btn li input {
  padding: 14px 10px;
}

.submit-plan {
  pointer-events: inherit;
  background: #4d4c5a;
  border: 1px solid #4d4c5a;
}

.submit-plan:hover {
  background: #2f2e50;
  border: 1px solid #2f2e50;
}

/*5-3-B*/
.-back_mypage {
  width: 250px;
  margin: 20px auto 0;
}

.plan-change__caution .plan-change {
  margin: 0;
}

/*5-4*/

.option-add {
  margin-top: 40px;
}

.option-add li {
  margin-bottom: 14px;
  display: grid;
  grid-template-columns: 30% auto auto 120px 170px;
  align-items: center;
  gap: 0 10px;
}

.option-add li:first-child {
  border-bottom: 1px solid #43425d;
  padding-bottom: 10px;
}

.option-add p {
  font-size: 1.5rem;
}

.number-times_tit {
  grid-column: 2/3;
}

.use-times_tit {
  grid-column: 3/4;
  text-align: right;
}

.number-times {
  text-align: right;
}

.up-limit {
  text-align: left;
}

.number-times,
.up-limit {
  font-size: 1.4rem !important;
}

.option-add li a {
  display: block;
  width: 100%;
  padding: 10px;
  font-size: 1.4rem;
}

.option-add_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.option-add_act--num {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-right: 20px;
}

.option-add_act h4 {
  font-size: 2.5rem;
  font-weight: normal;
}

.option-add_act--txt {
  margin: 20px 0;
}

.num-key {
  background: #e5e5e5;
  height: 100%;
  padding: 0 16px;
}

.option-add_act--num li:first-child .num-key {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  border: 1px solid #e5e5e5;
  cursor: pointer;
}

.option-add_act--num li:last-child .num-key {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
  border: 1px solid #e5e5e5;
  cursor: pointer;
}

.option-add_act--num input {
  border: 1px solid #e6e6ed;
  padding: 10px;
  width: 80px;
  line-height: 1;
  font-size: 2.4rem;
}

.option-add_act--num input[type="number"]::-webkit-outer-spin-button,
.option-add_act--num input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
}

.option-add_act--num input[type="number"] {
  -moz-appearance: textfield;
}

.op-settlement {
  background: #e5e5e5;
  padding: 20px;
  margin-top: 20px;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}

.op-billing {
  font-weight: bold;
  margin-bottom: 20px;
}

.op-billing--txt {
  margin-bottom: 20px;
}

/*5-6*/

.i-card {
  background: url(../img/i-card.svg) no-repeat left center / 32px 23px;
  padding: 3px 0 3px 45px;
}

.cardlist {
  text-align: center;
  max-width: 270px;
  margin: 0 auto 30px;
}

.card__input {
  border-bottom: 2px solid #bababa;
  width: 100%;
  padding: 10px 0 10px;
}

.s__input dt,
.crd__tit {
  color: #1a1311;
  font-weight: bold;
}

.s__input,
.d__input {
  margin-bottom: 30px;
}

.s__input dd:not(:last-child) {
  margin-bottom: 20px;
}

.card__input:focus,
.m__label:focus-within {
  border-bottom: 2px solid #1a1311;
}

.d__input,
.dline,
.card__nums {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.card__nums {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 45%;
  color: #bababa;
}

.c_dline {
  width: 55%;
}

.security__code {
  width: 40%;
}

.card-puld {
  margin: 40px auto 0;
  max-width: 254px;
}

/*5-7*/

#min-area.-c-success {
  padding-right: 0;
  padding-left: 0;
}

.saved-success {
  background: #e9e9f0;
  padding: 15px;

  line-height: 1;
  color: #43425d;
  text-align: center;
  font-weight: bold;
}

.saved-success span {
  background: url(../img/i-sccess.svg) no-repeat left center / 24px 24px;
  padding: 5px 0 5px 34px;
}

.-c__confirm {
  padding: 40px 20px 30px;
}

.-c__confirm dd,
.-c__inputed dd {
  font-size: 1.8rem;
  margin-top: 10px;
  padding-bottom: 6px;
  border-bottom: 2px solid #bababa;
}

.-c__inputed {
  padding: 20px 0;
}

.change-i {
  text-align: center;

  margin-bottom: 25px;
}

.change-i a {
  color: #5389e9;
  text-decoration: underline;
}

.change-i span {
  background: url(../img/i-change.svg) no-repeat left center / 12px 12px;
  padding-left: 22px;
}

.m-profile--form {
  color: #1a1311;
}

.m-profile--form input {
  width: 100%;
  padding: 6px 10px;
  border: 1px solid #bababa;
  border-radius: 4px;
}

.-p-countrys {
  width: 80%;
  padding: 6px 10px;
  border: 1px solid #bababa;
  border-radius: 4px;
  background: url(../img/i-control.svg) no-repeat 95% 50% / 7px 17px;
}

.m-profile--form li:not(:last-child) {
  margin-bottom: 18px;
}

.m-profile--form p {
  margin-bottom: 10px;
  font-weight: bold;
}

.-need {
  border: 1px solid #e13c4b;
  line-height: 1;
  color: #e13c4b;
  padding: 2px 6px;
  font-weight: bold;
  border-radius: 4px;
  margin-left: 10px;
}

/*5-8*/
.prphotoup {
  margin: 20px 0 40px;
}

/*5-9*/

.payment__table {
  width: 100%;
  border-collapse: collapse;
}

.payment__table th {
  background: #f2f2f2;
}

.th__day {
  width: 20%;
}

.th__content {
  width: 30%;
}

.payment__table th:not(:last-of-type) {
  border-right: 2px solid #fff;
}

.payment__table th,
.payment__table td {
  padding: 10px;
  text-align: center;

  word-break: break-all;
}

.payment__table td {
  border-bottom: 1px solid #ddd;
}

.payment__table ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.payment__table a {
  display: block;
  padding: 8px 10px;
  border-radius: 4px;
  color: #fff;
  background: #e13c4b;
  font-weight: bold;
  line-height: 1;
}

.payment__check {
  background: #f2f2f2 !important;
  color: #afafaf !important;
}

.payment__table li:last-child {
  margin-left: 5%;
}

.lefter {
  text-align: left;
}

/*5-10*/

/*5-10-2*/

/*5-10-3*/

.cancel_step {
  max-width: 310px;
  margin: 0 auto 30px;
}

.cancellation {
  color: #1a1311;
}

.cancellation dt {
  margin-bottom: 6px;
  font-weight: bold;
}

.cancellation dd {
  margin-bottom: 25px;
}

.c-account {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.c-account p:first-child {
  margin-right: 10px;
  padding-right: 10px;
  border-right: 1px solid #bababa;
  width: 30%;
}

.c-account p:last-child {
  font-weight: bold;
  width: 65%;
}

.cancellation textarea {
  border: 1px solid #bababa;
  border-radius: 4px;
  padding: 10px;
  width: 100%;
}

.cancellation dt span {
  color: #e13c4b;
  margin-left: 10px;
}

.cancellation--con {
  cursor: pointer;
  width: 50%;
  margin: 0 auto;
}

.cancel__popup {
  width: 100%;
}

.cancel__popup dt {
  font-weight: bold;

  margin-bottom: 25px;
  text-align: center;
}

.cancel__act {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 30px;
}

.cancel__act li {
  text-align: center;
  width: 46%;
  margin: 0 3%;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.cancel__act li:hover {
  opacity: 0.6;
}

.cancel__act .submit {
  width: 100%;
}

.cancel__popup-grt {
  margin-top: 20px;
}

.cancell--send {
  width: 254px;
  margin: 20px auto 0;
}

.completed__txt {
  margin-bottom: 50px;
  text-align: center;
}

/*5-11*/

.cf-mcp {
  text-align: center;
  margin: 0 auto 60px;
}

.cf-table {
  width: 100%;
  border-collapse: collapse;
}

.cf-table th,
.cf-table td {
  padding: 20px;

  line-height: 1;
  border-bottom: 1px solid #dddbdb;
}

.cf-table th {
  width: 30%;
  background: #43425d;
  color: #fff;
  font-weight: normal;
}

.cf-table th div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.cf-table th span {
  color: #e13c4b;

  background: #fff;
  padding: 3px 10px;
  border: 1px solid #e13c4b;
}

.type-label li:not(:last-child) {
  margin-bottom: 20px;
}

.cf-table input,
.cf-table textarea {
  padding: 10px;
  border: 1px solid #bababa;
  border-radius: 4px;
  background: #fff;
  width: 80%;
}

.cf--send {
  margin-top: 20px;
}

.cf--send input {
  margin: 0 auto;
}

.cf-untxt {
  margin: 20px auto 50px;
}

.cf-submit div {
  text-align: center;
}

.cf-confirm {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.cf-confirm li:first-child {
  margin-right: 20px;
}

.cf-fin {
  padding: 30px 0;
}

.cf-fin .cf--send {
  max-width: 200px;
  margin: 0 auto;
}

/*5-15*/
.icon_print {
  position: absolute;
  top: 5%;
  right: 5%;
  width: 32px;
}

.destination {
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 2.6rem;
  margin: 0 0 20px;
}

.destination span {
  border-bottom: 1px solid #43425d;
  padding-bottom: 8px;
}

.destination__box {
  display: grid;
  grid-template-columns: auto max-content;
  gap: 0 20px;
  margin-bottom: 20px;
}

.destination__cm {
  border: 1px solid #ccc;
  padding: 10px;
  font-size: 1.2rem;
  order: 2;
}

.receipt__txt {
  padding: 3%;
  background: #f7f7f7;
  margin: 0 auto 30px;
  text-align: center;
}

.receipt__table {
  width: 100%;
  border-collapse: collapse;
}

.receipt__table th,
.receipt__table td {
  padding: 10px 15px;
  line-height: 1.8rem;
}

.receipt__table th {
  width: 20%;
  background: #f2f2f2;
  border-bottom: 1px solid #fff;
  font-weight: normal;
}

.receipt__table td {
  border-bottom: 1px solid #f2f2f2;
}

.receipt__table li {
  display: grid;
  grid-template-columns: 80px auto;
  gap: 0 10px;
}

.receipt__table li:not(:last-child) {
  margin-bottom: 8px;
}

@media print {
  header,
  footer,
  #admin-foot,
  .icon_print {
    display: none;
  }

  main {
    padding: 100px 0;
    min-width: 100%;
  }

  #wide-area {
    width: 80%;
    padding: 0;
    -webkit-filter: drop-shadow(0px 0px 0 rgba(0, 0, 0, 0.3));
    filter: drop-shadow(0px 0px 0 rgba(0, 0, 0, 0.3));
  }
}

/*0-1*/
.-front {
  overflow: unset;
}

/*#front-index {
  display: flex;
  padding: 50px 5% 100px;
}

#front-index article {
  width: calc(100% - 400px);
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 5%;
  min-width: 900px;
}

#front-index aside {
  max-width: 400px;
  padding: 20px;
  background: #fff;
  min-width: 240px;
}*/

#front-index {
  padding: 50px 5% 100px;
  max-width: 900px;
  margin: 0 auto;
}

#front-index article {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 5%;
  min-width: 900px;
}

#front-index aside {
  display: none;
}

.sticky {
  position: -webkit-sticky;
  position: sticky;
  top: 50px;
}

.trial-tit {
  text-align: center;
  font-weight: bold;
  margin-bottom: 30px;
  position: relative;
  font-size: 2rem;
}

.trial-tit::before {
  content: "";
  width: 50%;
  height: 6px;
  display: block;
  margin: 0px auto 20px;
  background: rgb(0, 95, 172);
  background: linear-gradient(90deg, rgba(0, 95, 172, 1) 0%, rgba(0, 153, 95, 1) 33%, rgba(252, 164, 0, 1) 66%, rgba(224, 31, 6, 1) 100%);
  border-radius: 3px;
}

.trial-form > li {
  margin-bottom: 30px;
}

.trial-form li input {
  padding: 10px;
  border: 1px solid #cbcbcb;
  width: 100%;
  background: #fff;
  border-radius: 4px;
}

.trial-form li ul {
  display: grid;
  grid-template-columns: repeat(2, 49%);
  gap: 0 2%;
}

.trial-form li p {
  font-weight: bold;
  margin-bottom: 16px;
}

.trial-form li p span {
  background: #fff;
  padding: 6px;
  border: 1px solid #e8505d;
  color: #e8505d;
  margin-right: 20px;
}

.info-gree {
  text-align: center;
  font-weight: bold;
  margin-bottom: 20px;
}

.info-gree a {
  text-decoration: underline;
  color: #2b94e1;
}

.agree-btn {
  width: 100%;
}

.agree-btn .-act_btn {
  width: 100%;
  max-width: 350px;
  margin: 0 auto;
  min-width: 200px;
}

.tool-mv {
  margin: 0 auto 70px;
}

.tool-mv img {
  width: 100%;
  height: auto;
}

.m-cont {
  color: #43425d;
}

.w-limited {
  max-width: 1120px;
  width: 100%;
  margin: 0 auto;
}

.-eng {
  text-align: center;

  color: #c3c3c3;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 10px;
}

.-eng::before,
.-eng::after {
  display: block;
  content: "";
  width: 5px;
  height: 2px;
  background: #4d4c5a;
}

.-eng::before {
  margin-right: 10px;
}

.-eng::after {
  margin-left: 10px;
}

.m-cont h2 {
  text-align: center;
  font-size: 2rem;
  font-weight: bold;
  margin: 0 auto 20px;
}

.m-cont h3 {
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
}

.tool-function {
  display: grid;
  grid-template-columns: repeat(3, 32%);
  gap: 50px 2%;
  margin: 60px auto;
}

.tool-function > li {
  background: #fff;
  padding: 20px;
  position: relative;
}

.tool-function > li img {
  width: 100%;
  height: auto;
}

.tool-function h4 {
  text-align: center;
  font-size: 1.8rem;
  margin-bottom: 20px;
}

.-num {
  font-size: 3.4rem;
  text-align: center;
  position: relative;
  margin: -40px auto 20px;
  z-index: 2;
  color: #c3c3c3;
}

.-num::after {
  content: "";
  display: block;
  width: 40px;
  height: 2px;
  background: #c3c3c3;
  margin: 0 auto;
}

.tool-function > li > ul {
  margin-top: 20px;
}

.tool-function > li > ul li {
  background: url(../img/b-check.svg) no-repeat 0 7px / 10px 7px;
  padding-left: 20px;
}

.tool-function > li > ul li:not(:last-of-type) {
  margin-bottom: 6px;
}

.tool-function > li > ul li span {
  color: #4e91dc;
}

.-titles {
  margin: 0 auto 50px;
}

.func-red,
.func-gray,
.func-green,
.func-gray_2,
.func-yellow,
.func-gray_3 {
  padding: 60px 5%;
  width: 100%;
}

.func-red {
  background: url(../img/-func-01.svg) no-repeat 90% bottom #e01f06;
  color: #fff;
}

.func-gray {
  background: url(../img/-func-02.svg) no-repeat 10% bottom #f8f8f8;
}

.func-green {
  background: url(../img/-func-03.svg) no-repeat 90% bottom #10995f;
  color: #fff;
}

.func-gray_2 {
  background: url(../img/-func-04.svg) no-repeat 10% bottom #f8f8f8;
}

.func-yellow {
  background: url(../img/-func-05.svg) no-repeat 90% bottom #fca400;
  color: #fff;
}

.func-gray_3 {
  background: url(../img/-func-06.svg) no-repeat 10% bottom #f8f8f8;
}

.-reverse {
  flex-direction: row-reverse;
}

.func-info {
  display: flex;
}

.func-info h4 {
  font-size: 2rem;
  margin-bottom: 30px;
}

.func-info__img {
  width: 35%;
  margin-right: 5%;
  filter: drop-shadow(6px 6px 6px rgba(0, 0, 0, 0.2));
}

.-reverse .func-info__img {
  width: 35%;
  margin-right: 0;
  margin-left: 5%;
}

.func-info__txt {
  width: 60%;
}

.c-dod-icon {
  background: url(../img/c-dod-icon.svg) no-repeat left 3px / 20px 20px;
  padding-left: 30px;
  display: block;
}

.full-cont {
  margin: 0 auto 100px;
}

.-tp_lines {
  border-top: 1px solid #e9e9f0;
  padding-top: 80px;
}

.start-plan {
  color: #fff;
  margin: 0 auto 30px;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  display: flex;
  justify-content: center;
}

.start-plan P {
  background: #e01f06;
  padding: 10px 20px;
  border-radius: 3px;
}

.plan-apply {
  background: #fff;
  border: 3px solid #43425d;
  padding: 20px;
  text-align: center;
  max-width: 80%;
  min-width: 500px;
  margin: 0 auto 50px;
}

.apply-logo {
  max-width: 200px;
  margin: 0 auto 20px;
}

.apply-cp {
  font-size: 2.6rem;
  font-weight: bold;
}

.apply-p_btn {
  background: #00a566;
  padding: 10px 5%;
  border-radius: 40px;
  max-width: 420px;
  margin: 10px auto 0;
  display: block;
  width: 100%;
  color: #fff;
  font-size: 1.8rem;
  font-weight: bold;
  transition: 0.3s;
}

.apply-p_btn:hover {
  opacity: 0.6;
}

.apply-p_btn span {
  background: url(../img/d-arrow.svg) no-repeat left center / 18px 11px, url(../img/d-arrow_r.svg) no-repeat right center / 18px 11px;
  padding: 0 30px;
}

.plan-ind {
  max-width: 80%;
  min-width: 500px;
  margin: 12px auto 0;
}

.plan-ind p {
  background: #fff;
  padding: 20px;
  text-align: center;
  font-size: 2rem;
  font-weight: bold;
  border: 2px solid #4d4c5a;
  color: #e13c4b;
}

.-index-tp {
  margin: 0 auto 60px;
}

/*0-2*/

#regist-index {
  max-width: 1400px;
  margin: 0 auto;
}

#regist-index h1,
#regist-index h2 {
  text-align: center;
}

.regist-scp {
  text-align: center;
  font-weight: bold;
  margin: 0 auto 50px;
}

.plans {
  display: grid;
  grid-template-columns: repeat(3, 32%);
  max-width: 1120px;
  column-gap: 2%;
  width: 100%;
  margin: 0 auto 30px;
}

.plan-prc {
  display: grid;
  justify-content: center;
  height: 100%;
  align-items: center;
  grid-template-rows: 50px 76px;
  gap: 10px 0;
}

.plan_it {
  margin-bottom: auto;
}

.-plan_inbt .plan-prc {
  grid-template-rows: 50px 76px;
  margin-bottom: 10px;
}

.price-plan_list-tbl img {
  max-width: 100%;
  height: auto;
  display: block;
}

.plans__in {
  padding: 40px 20px;
  -webkit-box-shadow: 0 0 0 2px inset #e9e9f0;
  box-shadow: 0 0 0 2px inset #e9e9f0;
  border-radius: 6px;
  background: #fff;
}

.plan-name {
  text-align: center;
  margin-bottom: 20px;
  font-weight: bold;
  letter-spacing: 1px;
  font-size: 2.2rem;
}

.radio-input {
  display: none;
}

.radio-input + label {
  width: 100%;
  display: block;
}

.radio-input + label.beginner_plan,
.radio-input + label.non-beginner_plan {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.radio-input + label,
.radio-input:checked + label {
  height: 100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.radio-input + label {
  box-shadow: 0 0 0 1px #ccc inset;
  border-radius: 6px;
}

.radio-input:checked + label {
  background: #f2f6ff;
  border-radius: 6px;
  box-shadow: 0 0 0 0px #ccc inset;
}

.radio-input:checked + label .plans__in {
  background: #fff;
  border-radius: 6px;
}

.plan__price::before,
.radio-input:checked + label .plan__price::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  width: 23px;
  height: 23px;
  border: 1px solid #43425d;
  border-radius: 50%;
  left: 0;
}

.plan__price::before {
  border: 1px solid #43425d;
}

.radio-input:checked + label .plan__price::after {
  background: #fff;
  border: 8px solid #43425d;
}

.method__payment {
  text-align: left;
  margin: 10px 0 0px 30px;
}

.method__payment_index {
  margin-top: 10px;
  text-align: center;
}

.plan_names {
  font-size: 1.8rem;
  font-weight: bold;
}

.plan__price,
.plan__price_index,
.plan__price_regist {
  position: relative;
  font-size: 1.2rem;
  line-height: 1.4;
}

.plan__price {
  padding-left: 30px;
}

.plan__price_index,
.plan__price_regist {
  text-align: center;
}

.plan__price span,
.plan__price_index span,
.plan__price_regist span {
  font-weight: bold;
  font-size: 2.8rem;
  line-height: 1.5;
}

.plan-c .-act_btn {
  margin: 20px auto 0;
  max-width: 300px;
  width: 100%;
}

.plan-feature {
  margin: 20px auto 0;
}

.plan-feature li {
  background: url(../img/i-plan-list.svg) no-repeat left 9px / 6px 6px;
  padding-left: 16px;
  text-align: left;
  font-size: 1.3rem;
  font-weight: normal;
}
.-t-left {
  text-align: left !important;
}

/*0-3*/

.regist-fcp {
  margin-bottom: 40px !important;
}

.regist-step {
  margin: 0 auto 30px;
}

.regist-step__min {
  font-weight: bold;

  margin-bottom: 10px;
}

.regist-step input[type="text"] {
  width: 100%;
  padding: 8px 10px;
  border: 1px solid #bababa;
  border-radius: 4px;
}

.regist-step__bar {
  margin: 0px auto 30px;
}

.regist-step__bar img {
  width: 100%;
  height: auto;
  display: block;
  max-width: 400px;
  margin: 0 auto;
}

.regist-att {
  background: #f2f2f7;
  padding: 10px;
  border-radius: 6px;
  padding: 20px;

  margin: 30px auto 20px;
}

.r-cm {
  margin-bottom: 20px;
}

.price-plan_list-tbl {
  border-collapse: collapse;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto 20px;
}

.price-plan_list-tbl tr:nth-child(even) td {
  background: #f7f7f7;
}

.price-plan_list-tbl th,
.price-plan_list-tbl td {
  padding: 15px;
  border: 1px solid #ccc;
  background: #fff;
  vertical-align: top;
  width: calc(100% / 7);
  font-size: 1.4rem;
}

.price-plan_list-tbl th.plans-th {
  text-align: center;
}

.price-plan_list-tbl td {
  text-align: center;
  vertical-align: middle;
}

.price-plan_list-tbl td.plans-cont {
  text-align: left;
}

.plans-stit {
  background: #2f2e50 !important;
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
}

.-fb {
  font-weight: bold;
  background: #bebebe !important;
}

.price-plan_list-tbl tr td.white {
  background: #fff;
}

.-regist-btn {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 12px 5px;
}

/*0-4*/
.m-send .-act_btn-min {
  margin: 60px auto 0;
  width: 200px;
}

.m-send .-line-btn-min {
  width: 200px;
  margin: 20px auto 0;
}

/*0-5*/
.password-coution {
  display: grid;
  grid-template-columns: 140px auto;
  justify-content: space-between;
  align-items: center;
  gap: 0 10px;
}

.password-coution__scp {
  font-size: 1.2rem;
  line-height: 1.2;
  color: #999;
  font-weight: normal;
}

/*0-6*/

.credit--tit {
  text-align: center;
  font-weight: bold;

  margin-bottom: 10px;
}

.contract-plan__ck {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border: 1px solid #bababa;
  padding: 6%;
  border-radius: 6px;

  margin: 0 auto;
}

.contract-plan__ck p {
  width: 35%;
  font-weight: bold;
}

.contract-plan__ck dl {
  width: 60%;
}

.cardlist--int {
  margin: 20px 0;
}

/*0-7*/

.fin-regist {
  text-align: center;
  font-size: 1.8rem;
  padding: 60px 0 0;
}

/*0-8*/

.i-mail-min {
  background: url(../img/i-mail-min.svg) no-repeat left center / 13px 10px;
  padding-left: 23px;
}

.i-key-min {
  background: url(../img/i-key-min.svg) no-repeat left center / 13px 13px;
  padding-left: 23px;
}

.save-login {
  margin-top: 20px;
}

.-repass {
  text-align: center;
  margin-top: 40px;
}

/*0-8-3*/

.i-pass-min {
  background: url(../img/i-pass-min.svg) no-repeat left center / 9px 12px;
  padding-left: 19px;
}

/*0-8-1*/
.repass-txt {
  margin-bottom: 40px;
}

/*law*/

.front__tit {
  font-size: 2rem;
  font-weight: bold;
  margin: 0 auto 30px;
}

.requirements dt {
  font-weight: bold;
  margin-bottom: 5px;
}

.requirements dd:not(:last-of-type) {
  margin-bottom: 30px;
  padding-bottom: 10px;
  border-bottom: 1px dashed #ccc;
}

.requirements li {
  list-style: circle;
  margin-left: 26px;
}

/*faq*/

.faq__list {
  max-width: 1000px;
  margin: 0 auto 40px;
}

.faq-index {
  font-size: 1.8rem;
  margin-bottom: 20px;
  font-weight: bold;
}

.faq__list dt {
  background: #fff;
  padding: 20px;
  border-radius: 6px;
  font-weight: bold;
  margin-bottom: 10px;
  -webkit-filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.04));
  filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.04));
  cursor: pointer;
}

.faq__list dd {
  padding: 0 2% 30px;
  display: none;
}

.faq__list span {
  background: url(../img/icon_q.svg) no-repeat left center;
  background-size: 20px 20px;
  padding: 5px 0 5px 30px;
}

.faq__list p:not(:last-child) {
  margin-bottom: 20px;
}

.-registcase {
  background: #fff;
  padding: 20px;
}

.-registcase:not(:last-child) {
  margin-bottom: 25px;
}

.plans-qa ol li {
  list-style: decimal;
  margin-left: 20px;
}

.-support-mo ul {
  display: grid;
  grid-template-columns: repeat(2, 49%);
  gap: 0 2%;
  max-width: 900px;
}

.-support-mo ul li {
  background: #fff;
  -webkit-filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.04));
  filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.04));
  padding: 5%;
  display: grid;
  grid-template-columns: auto 48px;
  gap: 20px 10px;
  border-radius: 4px;
}

.-support-mo__num {
  font-weight: bold;
  font-size: 2rem;
}

.-support-mo__num span {
  color: #4e91dc;
}

.support-icon {
  max-width: 48px;
}

.-support-mo__txt {
  grid-column: span 2;
}

/*plan*/

#basic-index {
  max-width: 1000px;
  margin: 0 auto;
}

.-t-center {
  text-align: center;
}

.planmap {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  max-width: 1000px;
  margin: 0 auto 40px;
}

.ticket_num {
  max-width: 1000px;
  margin: -20px auto 40px;
}

.planmap th,
.planmap td {
  padding: 10px 2%;
  text-align: center;
}

.planmap th {
  color: #fff;
  width: 33%;
  background: #f8f8f8;
  font-weight: normal;
}

.plan__free {
  background: #999 !important;
}

.plan__sta {
  background: #43425d !important;
}

.planmap td {
  border: 1px solid #ccc;
  font-weight: bold;
}

.zero {
  font-size: 2.6rem;
}

.c_red {
  color: #d00;
}

.frontbox {
  padding: 5%;
}

.plan-select {
  max-width: 320px;
  margin: 0 auto;
}

/*404*/
.erroe-four {
  padding: 4%;
  text-align: center;
}

.erroe-four__mcp {
  font-size: 5rem;
}

.erroe-four__scp {
  font-size: 2rem;
  margin-bottom: 40px;
}

.erroe-four__scp--btn {
  max-width: 230px;
  margin: 30px auto 0;
}

/*service*/

.service-read dt {
  font-weight: bold;
  margin-bottom: 10px;
}

.service-read__mcp {
  margin-bottom: 40px;
}

.service-read dd:not(:last-of-type) {
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 1px dashed #ccc;
}

.service-read dd p:first-of-type {
  margin-bottom: 20px;
}

.service-read li {
  list-style: decimal;
  margin-left: 26px;
}

.service-read li:not(:last-child) {
  margin-bottom: 15px;
}

.service-read ol {
  margin-left: 20px;
}

.service-read ol ol {
  margin-top: 20px;
}

.service-read li li {
  list-style: lower-alpha;
}

.pserv-enactment {
  text-align: right;
  margin-top: 50px;
}

/**/
.cancel-pv li:not(:last-of-type) {
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 1px dashed #ccc;
}

/*5-16*/
.select_pj-fcp {
  max-width: 660px;
  margin: 0 auto;
}

#projectlist-box {
  max-width: 1000px;
  margin: 30px auto;
}

.projectlist-box__list {
  background: #fff;
  border-radius: 4px;
  -webkit-filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.15));
  filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.15));
  display: grid;
  grid-template-columns: 80px auto;
  gap: 0;
}

.projectlist-box__list:not(:last-child) {
  margin-bottom: 20px;
}

.select-cbox {
  background: #aaa;
  padding: 40px 20px;
  height: 100%;
  width: 80px;
  transition: 0.3s;
}

.select-cbox:hover {
  opacity: 0.6;
}

.project-spc {
  padding: 40px;
}

.projectlist_infor {
  display: grid;
  grid-template-columns: 174px auto;
  gap: 0 40px;
}

.projectlist_infor dt {
  font-weight: bold;
  font-size: 1.8rem;
}

.projectlist_infor img {
  max-width: 174px;
  display: block;
  height: auto;
}

.registration-date {
  color: #999;
  font-size: 1.4rem;
}

.projectlist_infor dl {
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-bottom: 1px dashed #ccc;
}

.confirmation-pj {
  max-width: max-content;
  margin-left: auto;
}

.decision-actbtn {
  max-width: 400px;
  margin: 0 auto;
}

@media (max-width: 1550px) {
  .plan_names {
    font-size: 1.6rem;
  }

  .plan__price span,
  .plan__price_index span,
  .plan__price_regist span {
    font-size: 2.2rem;
  }

  .plan__price,
  .plan__price_index,
  .plan__price_regist {
    font-size: 1rem;
  }
}

@media (max-width: 1400px) {
  .price-plan_list {
    overflow: scroll;
  }
}

@media (max-width: 959px) {
  header {
    padding: 0 20px;
  }

  #m-logo img {
    max-width: 140px;
    height: auto;
    display: block;
  }

  header .-act_btn-min {
    padding: 10px;
    font-size: 1.2rem;
    line-height: 1;
  }

  .h-login,
  .h-home {
    margin-left: 10px;
  }

  main {
    padding: 60px 20px;
    width: 90%;
    min-width: 100%;
  }

  .price-plan_list form {
    overflow: scroll;
    width: calc(100vw - 20px);
  }

  .price-plan_list-tbl {
    width: 1400px;
    margin-right: 20px;
  }

  .option-add li:nth-child(1) dt::before,
  .option-add li:nth-child(2) dt::before {
    display: none;
  }

  #front-index {
    padding: 0;
  }
}

@media (max-width: 767px) {
  #min-area,
  #wide-area {
    padding: 20px;
  }

  /*5-3*/
  .state-change a {
    font-size: 1.4rem;
  }

  /*5-4*/
  .option-add {
    display: block;
  }

  .option-add li p {
    margin-bottom: 10px;
  }

  .option-add li {
    width: 100%;

    margin: 0 0 15px 0;
    display: block;
    border-bottom: 1px dashed#ccc;
    padding-bottom: 15px;
  }

  /*5-6*/
  .c_dline {
    width: 47%;
  }
  .security__code {
    width: 49%;
  }

  /*5-9*/
  .payment__table tr:first-child {
    display: grid;
    grid-template-columns: repeat(2, 50%);
  }

  .payment__table th,
  .payment__table td {
    display: block;
    width: 100%;
  }

  .payment__table tr:not(:first-child) {
    border: 1px solid #ccc;
    margin-top: 10px;
    display: block;
  }

  .payment__table tr:not(:first-child) td {
    padding: 20px;
    width: 90%;
    margin: 0 auto;
  }

  .payment__table tr:not(:first-child) td:last-child {
    border: none;
  }

  /*5-10*/
  .cancellation dd {
    display: block;
  }

  .c-account p:first-child {
    width: 100%;
    border: none;
    margin-bottom: 5px;
  }

  .c-account p:last-child {
    width: 100%;
  }

  .cancellation--con {
    width: 80%;
  }

  /*5-11*/

  .cf-table tr {
    display: block;
    width: 100%;
  }

  .cf-table th,
  .cf-table th div {
    display: flex;
    align-items: center;
    width: 100%;
  }

  .cf-table th,
  .cf-table td {
    padding: 10px;
    width: 100%;
  }

  .cf-table td {
    display: block;
    padding: 5%;
    margin-bottom: 25px;
  }

  .cf-table input,
  .cf-table textarea {
    width: 100%;
  }

  .cf--send .submit {
    width: 100%;
    display: block;
  }

  .cf-confirm {
    display: flex;
    flex-wrap: wrap;
  }

  .cf-confirm li {
    width: 100%;
  }

  .cf-confirm li:first-child {
    margin: 0 auto 20px;
  }

  .cf-confirm .submit {
    width: 100%;
    display: block;
    margin: 0 auto;
  }

  /*qa*/
  .faq__list span {
    display: block;
  }

  .-support-mo ul {
    grid-template-columns: 100%;
    gap: 20px 0;
  }

  .-support-mo__num span {
    display: block;
  }

  /*5-16*/
  .project-spc {
    padding: 20px;
  }

  .projectlist_infor {
    display: grid;
    grid-template-columns: 100%;
    gap: 20px 0;
  }

  /*5-15*/
  .destination__box {
    grid-template-columns: 100%;
    gap: 10px 0;
  }
}

@media (max-width: 519px) {
  /*0-6*/
  .contract-plan__ck p {
    width: 40%;
  }
  .contract-plan__ck dl {
    width: 55%;
  }

  /*0-11*/
  .saved-success {
    font-size: 1.3rem;
  }
}

@media (max-width: 414px) {
  .-act_btn-min,
  .-line-btn-min {
    min-width: auto;
  }

  /*5-2*/
  .p-change {
    font-size: 1.2rem;
  }

  /*0-6*/
  .contract-plan__ck {
    padding: 15px;
  }
}
