@charset "UTF-8";

/* ========================================
Page - Message
======================================== */

/* ### ===== Form - Reset ===== ### */
.form-wrap {
  box-sizing: border-box;
}

.form-wrap *,
.form-wrap *::after,
.form-wrap *::before {
  box-sizing: inherit;
}

.form-wrap input,
.form-wrap button,
.form-wrap textarea,
.form-wrap select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.form-wrap input,
.form-wrap button,
.form-wrap textarea,
.form-wrap select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.form-wrap select::-ms-expand {
  display: none;
}

.form-wrap dl,
.form-wrap dt,
.form-wrap dd,
.form-wrap ol,
.form-wrap ul,
.form-wrap li,
.form-wrap form,
.form-wrap label {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
}

.form-wrap ol,
.form-wrap ul {
  list-style: none;
}

.form-wrap i,
.form-wrap b,
.form-wrap em,
.form-wrap strong {
  font-style: normal;
  font-weight: inherit;
}

/*
|
|
|
*/

/* ### ===== Form - Custom ===== ### */
.form-wrap {
  /* form-areea */
  --form-fz: 16px;
  --form-txtcolor: #0c121c;
  --form-txtcolor-link: #f00;
  --form-txtcolor-link-hover: #ff007b;
  --form-txtcolor-link-attention: #f70;
  /* input */
  --input-txtcolor: #000;
  --input-bgcolor: #fff;
  --input-bgcolor-wrote: #f5f5f5;
  --input-border: 1px solid #666;
  --input-border-radius: 6px;
  --input-boxshadow: 0 0 0 rgba(0, 0, 0, 0) inset;
  --input-boxshadow-focus: 0 2px 6px rgba(0, 0, 0, 0.3) inset;
  --input-transition: box-shadow 0.4s ease-out 0s, background-color 0.4s ease-out 0s;
  --input-fz: 16px;
  --input-letter-spacing: 0.08em;
  --input-line-height: 1.5;
  --input-padding: 2px 12px;
  /* select */
  --select-padding: 4px 10px 4px 10px;
  /* label */
  --label-fz: 15px;
  --label-fw: inherit;
  --label-line-height: 1.3;
  /* button */
  --btn-height: 48px;
  --btn-txtcolor: #fff;
  --btn-bgcolor: #000;
  --btn-bgcolor-hover: #505050;
  --btn-border: 1px solid #000;
  --btn-border-radius: 8px;
  --btn-fz: 18px;
  --btn-fw: bold;
  --btn-letter-spacing: 0.15em;
  --btn-line-height: 1.2;
  --btn-transition: all 0.4s ease-out 0s;
  /* button - submit */
  --submit-txtcolor: #000;
  --submit-bgcolor: #fff155;
  --submit-txtcolor-hover: var(--submit-txtcolor);
  --submit-bgcolor-hover: #ffc655;
  --submit-border: var(--btn-border);
  /* radio button / check button */
  --checked-bgcolor: #000;
}

/* === input === */
.form-wrap {
  /* === Placeholder Text Color === */
  /*
  ::-webkit-input-placeholder,
  :-moz-placeholder,
  ::-moz-placeholder,
  :-ms-input-placeholder,
  :placeholder-shown {
  color: rgba(0,0,0,0.6);
  font-size: 1.4rem;
  letter-spacing: 0;
  }
  */
}

.form-wrap input[type="text"],
.form-wrap input[type="password"],
.form-wrap input[type="email"],
.form-wrap input[type="tel"],
.form-wrap textarea {
  width: 100%;
  color: var(--input-txtcolor);
  background-color: var(--input-bgcolor);
  border: var(--input-border);
  border-radius: var(--input-border-radius);
  box-shadow: var(--input-boxshadow);
  transition: var(--input-transition);
  font-size: var(--input-fz);
  letter-spacing: var(--input-letter-spacing);
  line-height: var(--input-line-height);
  padding: var(--input-padding);
}

.form-wrap input[type="text"]:focus,
.form-wrap input[type="password"]:focus,
.form-wrap input[type="email"]:focus,
.form-wrap input[type="tel"]:focus,
.form-wrap textarea:focus {
  box-shadow: var(--input-boxshadow-focus);
}

.form-wrap input.wrote,
.form-wrap textarea.wrote {
  background-color: var(--input-bgcolor-wrote);
  background-color: var(--clrLGr);
}

.form-wrap input {
  width: 100%;
}

.form-wrap textarea.size-large,
.form-wrap input.size-large {
  max-width: 800px;
}

.form-wrap input.size-medium {
  max-width: 320px;
}

.form-wrap input.size-small {
  max-width: 240px;
}

.form-wrap input.size-xsmall {
  width: 60px;
  text-align: center;
}

@media (width <=900px) {
  .form-wrap textarea.size-large,
  .form-wrap input.size-large {
  }

  .form-wrap input.size-medium {
  }

  .form-wrap input.size-small {
    max-width: 100%;
  }

  .form-wrap input.size-xsmall {
  }
}
/*
|
|
|
*/

/* === select === */
.form-wrap select {
  text-align: left;
  width: min(100%, 240px);
  color: var(--input-txtcolor);
  background-color: var(--input-bgcolor);
  border: var(--input-border);
  border-radius: var(--input-border-radius);
  box-shadow: var(--input-boxshadow);
  transition: var(--input-transition);
  font-size: var(--input-fz);
  letter-spacing: var(--input-letter-spacing);
  line-height: var(--input-line-height);
  padding: var(--select-padding);
}

.form-wrap select.size-fixed {
  max-width: 560px;
  width: 100%;
}

.form-wrap select:focus {
  box-shadow: var(--input-boxshadow-focus);
}

.form-wrap select.selected {
  background-color: var(--input-bgcolor-wrote);
  background-color: var(--clrLGr);
}

@media (width <=900px) {
  .form-wrap select {
    width: 100%;
  }
}
/*
|
|
|
*/

/* === label === */
.form-wrap label {
  position: relative;
  display: inline-block;
  margin: 0;
  font-size: var(--input-fz);
  line-height: var(--label-line-height);
}

/*
|
|
|
*/

/* === button === */
.form-wrap button {
  cursor: pointer;
  position: relative;
  display: block;
  width: 100%;
  height: var(--btn-height);
  margin: 0 auto;
  padding: 0 3%;
  color: var(--btn-txtcolor);
  background-color: var(--btn-bgcolor);
  border: var(--btn-border);
  border-radius: var(--btn-border-radius);
  font-size: var(--btn-fz);
  font-weight: var(--btn-fw);
  letter-spacing: var(--btn-letter-spacing);
  line-height: var(--btn-line-height);
  transition: var(--btn-transition);
}
.form-wrap button {
  background: var(--clrWh);
  color: var(--clrBk);
  border-radius: 0;
}

.form-wrap button em {
  font-weight: inherit;
  display: inline-block;
}

.form-wrap button:hover {
  background-color: var(--btn-bgcolor-hover);
  filter: var(--hover-filter-shadow);
}

.form-wrap button[type="submit"] {
  color: var(--submit-txtcolor);
  background-color: var(--submit-bgcolor);
  border: var(--submit-border);
}

.form-wrap button[type="submit"]:hover {
  color: var(--submit-txtcolor-hover);
  background-color: var(--submit-bgcolor-hover);
}
.form-wrap button {
  background: var(--clrBk1);
  color: var(--clrWh);
  border: 1px solid;
  border-radius: 100px;
  font-weight: 300;
}
.form-wrap button:hover {
  background-color: var(--clrLGr);
  filter: none;
  color: var(--clrBk);
  border-color: var(--clrWh);
}

.form-wrap button[type="submit"] {
  background: var(--clrBl1);
  color: var(--clrWh);
  font-weight: 300;
}
.form-wrap button[type="submit"]:hover {
  background: var(--clrBl);
  border-color: var(--clrBl1);
  color: var(--clrBk);
}

/*
|
|
|
*/

/* === radio button === */
.form-wrap input[type="radio"] {
  display: none;
}

.form-wrap label.type-radio {
  cursor: pointer;
  position: relative;
  display: inline-block;
  height: 32px;
  padding: 7px 0 0 40px;
}

.form-wrap label.type-radio::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: var(--input-border);
  background: var(--input-bgcolor);
}

.form-wrap input[type="radio"]:checked + label.type-radio::before {
  background-color: var(--input-bgcolor-wrote);
  background-color: var(--clrLGr);
}

.form-wrap input[type="radio"]:checked + label.type-radio::after {
  content: "";
  position: absolute;
  top: 8px;
  left: 8px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background-color: var(--checked-bgcolor);
}

@media (width <=900px) {
  .form-wrap label.type-radio {
    height: 28px;
    padding: 3px 0px 0 40px;
  }

  .form-wrap label.type-radio::before {
    width: 28px;
    height: 28px;
  }

  .form-wrap input[type="radio"]:checked + label.type-radio::before {
  }

  .form-wrap input[type="radio"]:checked + label.type-radio::after {
    width: 14px;
    height: 14px;
    left: 7px;
    top: 7px;
  }
}
/*
|
|
|
*/

/* === check button === */
.form-wrap {
  /* === Input Error - Alert Text === */
  /*
  .error-alert {
    display: inline-block;
    animation: txtFlashing 1.4s ease-out 0s 5;
    color: rgba(255,80,20,1);
  }

  @keyframes txt-flashing {
    0% {
      color: rgba(255,80,20,1);
    }
    30% {
      color: rgba(255,80,20,0);
    }
    to {
      color: rgba(255,80,20,1);
    }
  }
  */
}

.form-wrap input[type="checkbox"] {
  display: none;
}

.form-wrap label.type-check {
  cursor: pointer;
  position: relative;
  display: inline-block;
  height: 32px;
  padding: 6px 0 0 45px;
}

.form-wrap label.type-check::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 32px;
  height: 32px;
  background: var(--input-bgcolor);
  border: var(--input-border);
  border-radius: var(--input-border-radius);
}

.form-wrap input[type="checkbox"]:checked + label.type-check::before {
  background-color: var(--input-bgcolor-wrote);
}

.form-wrap input[type="checkbox"]:checked + label.type-check::after {
  content: "";
  position: absolute;
  top: 8px;
  left: 12px;
  width: 10px;
  height: 14px;
  border-right: 4px solid var(--checked-bgcolor);
  border-bottom: 4px solid var(--checked-bgcolor);
  transform: rotate(45deg);
}

/* ### ===== Form - Custom Layout ===== ### */
.form-wrap {
  position: relative;
  width: min(94%, 800px);
  margin-inline: auto;
  font-size: var(--form-fz);
  background: var(--clrBk1);
  padding: 32px 24px 48px;
  margin: 0 auto 120px;
}

@media (width <=900px) {
  .form-wrap {
    width: clamp(320px, 94%, 640px);
    width: min(100%, 640px);
    overflow: hidden;
    padding: 32px 16px 48px;
    margin: 0 auto 80px;
  }
}

/*
|
|
|
*/

/* ------------------------------
.form-head
------------------------------ */
.form-head {
  margin-bottom: 1em;
  border-bottom: 1px solid var(--clrGr);
  padding-bottom: 18px;
}

.form-head .form-notice {
  text-align: center;
  margin-bottom: 2em;
  font-size: 86%;
  color: var(--clrLGr);
}

.form-head dl {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  flex-direction: row;
  margin-bottom: 0.8em;
}

.form-head dl dt {
  width: 160px;
  text-align: right;
  padding-top: 7px;
  margin-bottom: 5px;
}

.form-head dl dd {
  width: calc(100% - 180px);
  text-align: left;
}

@media (width <=900px) {
  .form-head dl {
    justify-content: flex-start;
  }

  .form-head dl dt {
    width: 100%;
    text-align: left;
  }

  .form-head dl dd {
    width: 100%;
    text-align: left;
  }
}

/*
|
|
|
*/

/* ------------------------------
jme-member & jme-visitor
------------------------------ */
.form-section {
  margin-bottom: 1em;
  border-bottom: 1px solid var(--clrGr);
  padding: 1em 1em 2em;
}

.form-section .section-title {
  font-size: 120%;
  font-weight: bold;
  margin-bottom: 2em;
  text-align: center;
}

.form-section dl {
  margin-bottom: 0.8em;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  flex-direction: row;
}

.form-section dl dt {
  text-align: right;
  width: 160px;
  margin-bottom: 5px;
  padding-top: 7px;
  font-size: var(--label-fz);
  font-weight: var(--label-fw);
  line-height: var(--label-line-height);
}

.form-section dl dt > span {
  font-size: 80%;
  letter-spacing: 0;
  margin-left: 0.1em;
}

.form-section dl dd {
  width: calc(100% - 180px);
  text-align: left;
}

.form-section dl dd > span {
  display: inline-block;
  vertical-align: middle;
}

.form-section dl dd input + span {
  margin-left: 12px;
}

.form-section dl .radio-set {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
  flex-direction: row;
}

.form-section dl .radio-set .list {
  margin-right: 1.5em;
  margin-bottom: 1em;
}

.form-section dl .radio-set .list:not(:first-child) {
  /*margin-left: 30px;*/
}

.form-section .forget {
  /*width: calc(100% - 260px);
  margin: 20px 0 0 auto;
  text-align: left;*/
  text-align: right;
  margin: 1em 0 1.5em;
  font-size: 86%;
}

.form-section .forget a {
  color: var(--form-txtcolor-link);
  color: var(--clrLGr);
  padding: 0 0 0.3em;
  border-bottom: 1px solid;
}

.form-section .forget a:hover {
  color: var(--form-txtcolor-link-hover);
  color: var(--clrBl);
}

.form-section .member-links {
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: nowrap;
  flex-direction: row;
}
.form-section .member-links li {
  position: relative;
  padding: 0 0 0 1.5em;
  width: auto;
  display: inline-block;
  margin: 0 24px;
}
.form-section .member-links li::before {
  content: "";
  background: url(../img/svg/trigger.svg);
  background-size: cover;
  width: 0.6em;
  height: 1em;
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
}

.form-section .member-links li a {
  color: var(--form-txtcolor-link);
  color: var(--clrLGr);
}

.form-section .member-links li a:hover {
  color: var(--form-txtcolor-link-hover);
  color: var(--clrBl);
}

@media (width <=900px) {
  .form-section dl .radio-set .list {
    margin-right: 1em;
  }
  .form-section {
    padding: 1em 0 2em;
  }
  .form-section dl {
    justify-content: flex-start;
    margin-bottom: 16px;
  }

  .form-section dl dt {
    width: 100%;
    text-align: left;
    margin-bottom: 4px;
    padding-top: 0;
  }

  .form-section dl dd {
    width: 100%;
    text-align: left;
  }

  .form-section .forget {
    width: 100%;
    text-align: right;
  }

  .form-section .member-links {
    display: block;
    margin-top: 2em;
  }

  .form-section .member-links li:not(:first-child) {
    margin-top: 1em;
  }

  .form-section dl.no-wrap {
    flex-wrap: wrap;
  }

  .form-section dl.no-wrap dt {
    width: 60px;
    margin-bottom: 0;
    padding-top: 5px;
  }

  .form-section dl.no-wrap dd {
    width: calc(100% - 60px);
    flex-wrap: wrap;
  }

  .form-section dl.margin-plus {
    margin-top: 2em;
  }
}

/*
|
|
|
*/

/* ------------------------------
.form-foot
------------------------------ */
.form-foot .form-attention {
  text-align: left;
  border-radius: var(--input-border-radius);
  margin-inline: auto;
  margin-block: 3em;
  padding: 1em;
  /* border: 1px solid #ccc; */
  background: var(--clrWh);
  color: #0c121c;
}

.form-foot .form-attention p {
  font-size: var(--fz-15);
}

.form-foot .form-attention p a {
  color: var(--form-txtcolor-link-attention);
  color: var(--clrPnk);
  text-decoration: underline;
  transition: none;
}

.form-foot .form-attention p a:hover {
  text-decoration: none;
  color: var(--clrBl1);
}

.form-foot .form-button {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  flex-direction: row;
}
.form-foot .form-button li:nth-child(1) {
  width: 30%;
}
.form-foot .form-button li:nth-child(2) {
  width: 67%;
}
.form-foot .form-button li {
  width: calc(50% - 15px);
}

.form-foot .form-button li button {
  overflow: hidden;
}

@media (width <=900px) {
  .form-foot .form-button li {
    width: 100%;
  }

  .form-foot .form-button li:not(:first-child) {
    margin-top: 0;
  }
}

/*
|
|
|
*/

/* ========================================
Page - Thanks
======================================== */
.thanks-wrap {
  background: var(--clrBk1);
  width: min(100%, 800px);
  margin: 0 auto 120px;
  height: 500px;
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
}

.thanks-wrap p {
  letter-spacing: 0.2em;
}
.thanks-wrap p + p {
  margin: 2em 0 0;
  letter-spacing: 0.06em;
}
@media (width <=900px) {
  .thanks-wrap {
    min-height: 40vh;
    height: auto;
    margin: 0 auto 80px;
  }
}
