@charset "UTF-8";
.article-contact {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0 auto;
  background-color: var(--bg-color-content);
}

.article-main.contact-top-txt .textarea {
  margin-top: -5px;
}

.article-contact.article-thanks {
  margin-top: -5px;
}

@media screen and (max-width: 680px) {
  .article-contact {
    width: 100%;
  }
  .article-contact.article-thanks {
    padding: 0 10%;
  }
  .thanks-mailto {
    margin-bottom: 28px;
  }
}
#contactform .textarea {
  width: 704px;
}

#contactform .textarea.moushikomi {
  width: 680px;
}

#contactform .textarea > p:not(:last-child) {
  margin-bottom: 1rem;
}

@media screen and (max-width: 680px) {
  #contactform .textarea {
    width: 100%;
    padding: 0 1rem;
  }
  #contactform .textarea.moushikomi {
    width: 100%;
    padding: 0 1rem;
  }
}
/* メールフォーム */
#contactform .page-title {
  position: relative;
}

@media screen and (max-width: 680px) {
  #contactform .page-title {
    background-image: none;
  }
}
.article-contact dl.form-box:first-of-type {
  border-top: 1px dashed var(--ruledline-color);
  margin-top: 6px;
}
.form-box.bt{
  border-top: 1px dashed var(--ruledline-color);
}

.article-contact dl.form-box.form-box-border-top-none:first-of-type {
  border-top: none;
  margin-top: 0;
}

.article-contact dl.form-box.form-box-border-top-none {
  border-top: none;
  margin-top: 0;
}

.form-box {
  width: 100%;
  display: -ms-grid;
  display: grid;
  grid: -webkit-max-content/190px 1fr;
  grid: max-content/190px 1fr;
  place-content: start, start;
  border-bottom: 1px dashed var(--ruledline-color);
  padding: 30px 0 31px;
  /* padding: 27px 0 22px; */
  min-height: 26px;
}

.form-box.tenpo{
  padding: 19px 0 25px;
}

.form-box.txtarea{
  padding: 30px 0 32px;
}

.form-box.bt{
  border-top: 1px dashed var(--ruledline-color);
}

.form-box.long {
  grid: max-content/280px 1fr;
}

.form-box.confirm {
  grid: -webkit-max-content/190px 1fr;
  grid: max-content/190px 1fr;
}

.form-box.one-cell {
  display: block;
}

.form-box.touki-tokubetu {
  padding: 0;
  padding-top: 15px;
  border-bottom: none;
}

.form-box.shinsa {
  border-top: 1px dashed var(--ruledline-color);
  margin-top: 21px;
}

.form-box-border-top {
  border-top: 1px dashed var(--ruledline-color) !important;
}

.form-box-border-bottom {
  border-bottom: 1px dashed var(--ruledline-color) !important;
}

.form-box-border-none {
  border-bottom: none;
}

.form-sub-box {
  width: 100%;
  width: 100%;
  display: -ms-grid;
  display: grid;
  row-gap: 15px;
}

.form-sub-box2 {
  width: 100%;
  width: 100%;
  display: -ms-grid;
  display: grid;
  row-gap: 10px;
}

.form-sub-title {
  width: 100%;
  font-weight: 700;
  color: var(--text-color-pink);
}

.form-sub-box-line {
  width: 100%;
  display: -ms-grid;
  display: grid;
  grid: -webkit-max-content/100px 1fr;
  grid: max-content/100px 1fr;
  place-content: start, start;
  row-gap: 10px;
}

.form-sub-box-line.long {
  grid: -webkit-max-content/130px 1fr;
  grid: max-content/130px 1fr;
}

.form-box .disabled {
  opacity: 0.7;
  font-weight: normal;
}

@media screen and (max-width: 680px) {
  .form-box {
    grid: auto-flow/1fr;
    padding: 14px 0 28px 0;
  }
  .form-box.long {
    grid: auto-flow/1fr;
  }
  .form-box.confirm {
    grid: auto-flow/1fr;
  }
  .form-sub-box-line {
    grid: max-content/70px 1fr;
  }
  .form-box-check-title > :not(:first-child) {
    width: 94%;
    margin-left: 22px;
    margin-right: 22px;
  }
  .form-sub-box-line.long {
    grid: auto-flow/1fr;
    row-gap: 0;
  }
  .form-sub-box-line.long input {
    max-width: calc(100vw - 13vw - 22px);
  }
  .form-box dd > input[type=text][class*=form-item-s] {
    max-width: calc(100vw - 13vw - 22px);
  }
  .form-sub-box.list-check {
    margin-top: 10px;
    margin-left: 24px;
    width: calc(87vw - 24px);
  }
  .form-sub-box.list-check > * {
    max-width: calc(87vw - 24px);
  }
  .form-sub-box2 {
    row-gap: unset;
  }
  .form-box.txtarea{
    padding: 14px 0 28px 0;
    /* padding: 30px 0 32px; */
  }
}
.form-box.last-row {
  padding-bottom: 0;
  border-bottom: none;
}

.form-box dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  min-height: 26px;
  line-height: 2;
  margin-top: 4px;
  font-weight: bold;
}

.form-box.tenpo dt{
  margin-top: 6px;
}

.form-box dt.text-top {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.form-box dd {
  /* display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; */
  line-height: 2;
  /* -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; */
  margin-top: 1px;
}
.form-box.tenpo dd{
  margin-top: 3px;
}
.form-box dd.gap10 {
  gap: 10px;
}
.form-box dd.gap35 {
  gap: 35px;
}

.form-box-row dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  line-height: 2;
}

.form-box dd > input {
  -webkit-box-flex: 1fr;
  -ms-flex: 1fr;
  flex: 1fr;
  padding: 4px 10px 0;
}

.form-box dd > input[type=text] {
  font-size: 16px;
  max-width: 100%;
}

.form-box dd .label-radio {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  top: 0;
}

.form-box.dubble dt {
  position: relative;
  top: 0px;
  font-weight: normal;
}

.form-box.dubble dt.check-txt{
  margin-top: 9px;
}

.form-box.dubble.fwb dt{
  font-weight: bold;
}

.form-box.dubble .label-checkbox {
  /* -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start; */
  position: relative;
  top: 3px;
}

.form-box.dubble .label-checkbox input[type=checkbox].checkbox-solid + .radio-span::before,
.form-box.dubble .label-checkbox input[type=checkbox].checkbox-solid + input + .radio-span::before {
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  top: calc(50% - 2px);
}

.form-box.dubble .dubble-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.req-text {
  color: var(--require-color);
  font-size: 16px;
  margin-top: 40px;
  margin-bottom: 15px;
}

.form-box-note {
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%;
  display: block;
  margin: 10px 0 0 0;
  font-size: 16px;
}

@media screen and (max-width: 680px) {
  .form-box dt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    min-height: 26px;
    line-height: 2;
  }
  .form-box dd:not(.form-box-item-file) > * {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    margin-left: 0;
  }
  .req-text {
    font-size: 14px;
    padding-left: 20px;
    padding-right: 20px;
    margin-top: 10px;
    margin-left: 10px;
    /* margin-bottom: -7px; */
  }
}
@media screen and (max-width: 680px) {
  .req-text {
    padding-left: 0;
    padding-right: 0;
    margin-left: 0;
    /* margin-top: -15px; */
  }
}
.req {
  display: inline-block;
  color: var(--require-color);
  margin-right: 11px;
  font-size: 14px;
  font-weight: normal;
}

.form-box input,
.form-box textarea {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: solid 1px #888;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  min-height: 24px;
  width: 100%;
  font-size: 16px;
}

.form-box input.file{
    font-size: 15px;
  padding: 12px 16px 11px;
}

.form-box [type=file] {
  margin-right: 10px;
}

input.form-item,
textarea.form-item {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: solid 1px #888;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  min-height: 24px;
  width: 100%;
  font-size: 12px;
}

input.form-item-s,
textarea.form-item-s {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: solid 1px #888;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  min-height: 24px;
  width: 100%;
  font-size: 16px;
}

/* input[type=date]:not(:focus):not(:valid) {
  color: #bfbfbf;
} */

input.form-item-ss,
textarea.form-item-ss {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* border: solid 1px var(--line-color); */
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  min-height: 24px;
  width: 100%;
  font-size: 12px;
  max-width: 150px;
}

input.form-item-sh,
textarea.form-item-sh {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
          border: solid 1px #888;  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  min-height: 24px;
  width: 100%;
  max-width: 544px;
  font-size: 12px;
}

input.form-item-sl,
textarea.form-item-s {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: solid 1px var(--line-color);
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  min-height: 24px;
  width: 100%;
  font-size: 12px;
  max-width: 285px;
  max-width: 120%;
}

input.form-item-sm,
textarea.form-item-s {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: solid 1px var(--line-color);
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  min-height: 24px;
  width: 100%;
  font-size: 12px;
  max-width: 285px;
  margin-left: 30px;
}

[type="date"]::before {
  content: attr(placeholder);
  width: 100%;
  }

  input[type=date]::-webkit-datetime-edit-fields-wrapper {
    display: none;
}

input[type="date"]{
  position: relative;
}

input[type="date"]::-webkit-calendar-picker-indicator {
  width: 100%;
  height: 100%;
  position: absolute;
  opacity: 0;
  top: 0;
  left: 0;
}

input[type="date"]::after {
  content: "";
  width: 20px;
  height: 20px;
  background: url(../img/calender.png) no-repeat center center / contain;
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  pointer-events: none;
}




input.form-item-num,
textarea.form-item-num {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: solid 1px var(--line-color);
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  min-height: 24px;
  width: 100%;
  font-size: 12px;
  max-width: 80px;
}

.form-box input::-webkit-input-placeholder,
.form-box textarea::-webkit-input-placeholder {
  color: #bfbfbf;
}

.form-box input::-moz-placeholder,
.form-box textarea::-moz-placeholder {
  color: #bfbfbf;
}

.form-box input:-ms-input-placeholder,
.form-box textarea:-ms-input-placeholder {
  color: #bfbfbf;
}

.form-box input::-ms-input-placeholder,
.form-box textarea::-ms-input-placeholder {
  color: #bfbfbf;
}

.form-box input::-webkit-input-placeholder, .form-box textarea::-webkit-input-placeholder {
  color: #bfbfbf;
}

.form-box input::-moz-placeholder, .form-box textarea::-moz-placeholder {
  color: #bfbfbf;
}

.form-box input:-ms-input-placeholder, .form-box textarea:-ms-input-placeholder {
  color: #bfbfbf;
}

.form-box input::-ms-input-placeholder, .form-box textarea::-ms-input-placeholder {
  color: #bfbfbf;
}

.form-box input::placeholder,
.form-box textarea::placeholder {
  color: #bfbfbf;
}

@media screen and (max-width: 680px) {
  .req {
    margin-left: 10px;
  }
}
.form-box textarea {
  min-height: 60px !important;
  padding-left: 10px;
}
.form-box textarea.row2 {
  min-height: auto !important;
  height: 3.6em;
}
.form-box textarea.row3 {
  min-height: auto !important;
  height: 5.4em;
}
.form-box textarea.row5 {
  min-height: auto !important;
  height: 9em;
}
.form-box textarea.row8 {
  min-height: auto !important;
  height: 14.4em;
}
.form-box textarea.row10 {
  min-height: auto !important;
  height: 18em;
}

/* フォーム複数行 */
.form-sub-box-rows {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  width: 100%;
}
.form-sub-box-rows-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.form-sub-box-rows-item + .form-sub-box-rows-item {
  margin-top: 5px;
}
.form-sub-box-rows-item.rows {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
/* 文字付フォーム */
.label-txt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.label-txt + .label-txt {
  margin-left: 20px;
}
.label-txt-before {
  display: inline-block;
  margin-right: 8px;
}
.label-txt-after {
  display: inline-block;
  margin-left: 8px;
}

@media screen and (max-width: 680px) {
  .label-txt + .label-txt {
    margin-top: 8px;
    margin-left: 0;
  }
}
/* タイトル＋入力フォーム */
/* チェックボックス */
.label-checkbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.label-checkbox.ali-t{
  align-items: start;
  margin-top: 8px;
}

/* チェックボックス */
input[type=checkbox].checkbox-solid {
  position: absolute;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  content: "";
  top: 0;
  left: 0;
}

/* チェックボックス */
input[type=checkbox].checkbox-solid + .radio-span,
input[type=checkbox].checkbox-solid + input + .radio-span {
  display: inline-block;
  cursor: pointer;
  white-space: nowrap;
  position: relative;
  padding-left: 24px;
}
input[type=checkbox].checkbox-solid + .radio-span{
  margin-right: 8px;
}

/* チェックボックスの枠 */
input[type=checkbox].checkbox-solid + .radio-span::before,
input[type=checkbox].checkbox-solid + input + .radio-span::before {
  position: absolute;
  content: "";
  top: 17px!important;
  left: 0;
  width: 13px;
  height: 13px;
  border: solid 1px #888;
  background-color: #fff;
  border-radius: 1px;
  border-color: #666;
}
input[type=checkbox].checkbox-solid + .radio-span.fax::before{
  top: 16px!important;
}
@media (max-width: 768px){
  .form-box.dubble .label-checkbox input[type="checkbox"].checkbox-solid + .radio-span.fax::before{
    position: absolute;
    content: "";
    top: 15px!important;
    left: 0;
    width: 13px;
    height: 13px;
    border: solid 1px #888;
    background-color: #fff;
    border-radius: 1px;
    border-color: #666;
  }

}
.tenpo-check{
  position: relative;
  padding-left: 20px;
}
.tenpo-check::before{
  position: absolute;
  top: 4px;
  left: 0;
  content: "";
  width: 13px;
  height: 13px;
  border: solid 1px #888;
  background-color: #fff;
  border-radius: 1px;
  border-color: #666;

}

/* チェックマーク */
input[type=checkbox].checkbox-solid:checked + .radio-span::after,
input[type=checkbox].checkbox-solid:checked + input + .radio-span::after {
  position: absolute;
  content: "";
  top: calc(50% - 4px);
  left: 5px;
  width: 8px;
  height: 4px;
  border-left: 2px solid var(--text-color-b);
  border-bottom: 2px solid var(--text-color-b);
  -webkit-transform: rotate(-45deg) translateY(-50%);
  transform: rotate(-45deg) translateY(-50%);
}

.tenpo-check::after{
  position: absolute;
  content: "";
  top: 6px;
  left: 5px;
  width: 8px;
  height: 4px;
  border-left: 2px solid var(--text-color-b);
  border-bottom: 2px solid var(--text-color-b);
  -webkit-transform: rotate(-45deg) translateY(-50%);
  transform: rotate(-45deg) translateY(-50%);

}

/* .label-checkbox + .label-checkbox {
  margin-left: 14px;
} */

.label-checkbox.item-top {
  margin-left: 0;
}

@media screen and (max-width: 680px) {
  /* チェックボックスの枠 */
  input[type=checkbox].checkbox-solid + .radio-span::before,
  input[type=checkbox].checkbox-solid + input + .radio-span::before {
    width: 12px;
    height: 12px;
  }
  .form-box.dubble .label-checkbox input[type=checkbox].checkbox-solid + .radio-span::before{
    top: 14px;
  }
  .tenpo .form-box.dubble .label-checkbox input[type=checkbox].checkbox-solid + .radio-span::before{
    top: 14px!important;
  }
  /* チェックマーク */
  input[type=checkbox].checkbox-solid:checked + .radio-span::after,
  input[type=checkbox].checkbox-solid:checked + input + .radio-span::after {
    position: absolute;
    content: "";
    top: 11px;
    left: 4px;
    width: 8px;
    height: 0.3rem;
  }
  .label-checkbox {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
  }
  .radio-span {
    max-width: calc(87vw - 24px);
  }
  /* チェックボックスの枠 */
  .label-checkbox + .label-checkbox {
    margin-left: 0;
  }
}
/* チェックボックス一覧 */
.list-checkbox {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.list-checkbox .label-checkbox {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
}

.list-checkbox .label-checkbox + .label-checkbox {
  margin-left: unset;
  margin-top: 3px;
}

input[type=checkbox].checkbox-solid + .radio-span,
input[type=checkbox].checkbox-solid + input + .radio-span {
  display: inline-block;
  cursor: pointer;
  white-space: nowrap;
  font-weight: bold;
}

input[type=checkbox].checkbox-solid + .radio-span.fax{
  font-weight: normal;
  
}

.form-box.tenpo input[type=checkbox].checkbox-solid + .radio-span{
  font-weight: normal;
}

input[type=checkbox].checkbox-solid + .radio-span.boxt{
  position: relative;
}
input[type=checkbox].checkbox-solid + .radio-span.boxt::before{
  position: absolute;
  top: 9px!important;
  content: "";
  transform: translateY(0px)!important;
}
@media (max-width: 768px){
  .dubble input[type=checkbox].checkbox-solid + .radio-span.boxt::before{
    top: 7px!important;
}
}
.form-box.bb-none{
  display: block;
  border-bottom: none;
  padding: 0;
}

.radio-span{
  margin-bottom: 3px;
}

input[type=checkbox].checkbox-solid:disabled + .radio-span,
input[type=checkbox].checkbox-solid:disabled + input + .radio-span {
  opacity: 0.7;
  cursor: default;
}

@media screen and (max-width: 680px) {
  .list-checkbox .label-checkbox + .label-checkbox {
    margin-top: 8px;
  }
}
/* ラジオボタン */
.label-radio {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  white-space: nowrap;
  line-height: 2.292;
  margin-top: 4px;
}

.label-radio .radio-span::before{
  margin-top: -2px;
}

.label-radio .radio-span::after{
  margin-top: -2px;
}

input[type=radio].radio-solid {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 10px;
  height: 10px;
}

input[type=radio].radio-solid + .radio-span,
input[type=radio].radio-solid + input + .radio-span {
  display: inline-block;
  cursor: pointer;
  white-space: nowrap;
  padding-top: 0.5px;
}

input[type=radio].radio-solid:disabled + .radio-span,
input[type=radio].radio-solid:disabled + input + .radio-span {
  opacity: 0.7;
  cursor: default;
}

/* ラジオボタンの枠 */
input[type=radio].radio-solid + .radio-span::before,
input[type=radio].radio-solid + input + .radio-span::before {
  position: absolute;
  content: "";
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  top: 48%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: solid 1px var(--line-color);
  background-color: #fff;
  border-color: #333;
}

/* ラジオボタン チェックマーク */
input[type=radio].radio-solid:checked + .radio-span::after,
input[type=radio].radio-solid:checked + input + .radio-span::after {
  position: absolute;
  content: "";
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  top: 48%;
  left: 4px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--text-color-pink);
  -webkit-transform: scale(1) translateY(-50%);
  transform: scale(1) translateY(-50%);
  -webkit-transform-origin: center center;
  transform-origin: center center;
}

/* ラジオボタン デフォルト */
.radio-default {
  display: none;
}

input[type=radio] + .radio-span {
  margin-left: 12px;
}

.label-radio.item-top {
  margin-left: 0;
}

@media screen and (max-width: 680px) {
  /* ラジオボタンの枠 */
  input[type=radio].radio-solid + .radio-span::before,
  input[type=radio].radio-solid + input + .radio-span::before {
    top: 20px;
    left: 0;
    width: 12px;
    height: 12px;
  }
  input[type=radio].radio-solid + .radio-span::before{
    top: 18px;
  }
  /* ラジオボタン チェックマーク */
  input[type=radio].radio-solid:checked + .radio-span::after,
  input[type=radio].radio-solid:checked + input + .radio-span::after {
    top: 20px;
    left: 2px;
    width: 8px;
    height: 8px;
  }
  .label-radio {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
  }
  .label-radio + .label-radio {
    margin-left: 0;
  }
}
/* ファイル選択 */
.form-file-btn dt,
.form-file-btn dd {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.file-btn input[type=file] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: none;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  min-height: 24px;
  width: 100%;
  padding-left: 0;
  font-size: 12px;
}

.file-btn input[type=file] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: none;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  min-height: 24px;
  width: 100%;
  padding-left: 0;
  font-size: 12px;
}

.file-btn-label {
  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;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  min-width: 128px;
  min-height: 25px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content !important;
  padding: 0 10px;
  color: var(--button-text-color);
  background-color: var(--button-color);
  line-height: 1;
  cursor: pointer;
}

.file-btn {
  display: none;
}

.file-btn-txt {
  margin: 0 0 0 10px;
}

@media screen and (max-width: 680px) {
  .form-file-btn dd {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
/* 現在の状況 */
.form-box dd.form-box-status {
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
}
.form-box dd.form-box-checkboxs{
  margin-top: 4px;
}
.form-box.checklist{
  grid: max-content / 26px 1fr;
}
.form-box dd.form-box-status .label-radio {
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
}

.form-box-status .label-radio + .label-radio {
  margin-left: 14px;
}

/* 折り返しについて */
.form-box-check-txt {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: stretch;
  -ms-flex-pack: stretch;
  justify-content: stretch;
  margin-left: 14px;
}

.form-box-check-txt .label-radio {
  -webkit-box-flex: 0;
  -ms-flex-positive: 0;
  flex-grow: 0;
}

.form-box-check-txt input {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  margin-left: 10px;
}

@media screen and (max-width: 680px) {
  .form-box-check-txt {
    margin-left: 0;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
  }
  .form-box-checkboxs > .label-radio {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
  }
  .form-box-checkboxs .form-box-check-txt .label-radio {
    -ms-flex-preferred-size: unset;
    flex-basis: unset;
  }
}
/* フォームの間の文字 */
.form-box-text {
  display: block;
  padding-top: 15px;
  margin-bottom: -15px;
}

/* 個人情報の取り扱いについて */
.box-privacy {
  margin-top: 50px;
  margin-bottom: 35px;
}

.box-privacy.moushikomi {
  background-color: var(--topicpath-color);
}

.privacy-text {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-right: auto;
  margin-left: auto;
  line-height: 18px !important;
  margin-bottom: 10px !important;
  text-align: left;
}

.privacy-text a {
  display: inline-block;
  color: var(--caution-color);
  text-decoration: underline;
  margin-right: 10px;
}

.form-btn {
  margin-top: 50px;
  margin-bottom: 110px;
  text-align: center;
}

.form-btn input[type=submit].bnt-form {
  padding: 5px 55px;
}

.ssl {
  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;
  margin-top: 5px;
  margin-bottom: 24px;
}

.ssl img {
  vertical-align: middle;
  margin-right: 10px;
}

.ssl span {
  display: inline-block;
  color: var(--text-color-pink);
  font-weight: 700;
  line-height: 18px;
  font-size: 17px;
  /* padding-bottom: 6px; */
}

.ssl + .form-btn {
  margin-top: 10px;
}

.check-group span {
  display: block;
  text-align: center;
}

@media screen and (max-width: 680px) {
  .box-privacy {
    padding: 20px 0px 50px;
    margin-bottom: 0;
    margin-top: 0px;
  }
  p + .box-privacy {
    margin-top: 23px;
  }
  .form-btn.confirm input[type=submit].bnt-form {
    padding: 5px 10px;
  }
  .form-btn {
    margin: 0px 0 10px 0;
  }
  .privacy-text {
    margin: 0;
    margin-bottom: 10px !important;
  }
  .label-checkbox {
    margin: 0;
  }
  .ssl {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin: 10px 0 0px;
  }
  .ssl img {
    margin-right: 5px;
  }
  .ssl span {
    font-size: 14px;
    padding-bottom: 8px;
  }
  .ssl + .form-btn {
    margin: 4px 0;
  }
}
.form-note {
  font-size: 10px;
}

.note-gap {
  display: block;
  margin-top: -2px;
}

/* 冒頭文 */
.text {
  margin-right: 15px;
}

@media screen and (max-width: 680px) {
  .text {
    margin: 0 20px;
  }
}
@media screen and (max-width: 680px) {
  .content-wrapper {
    margin-bottom: 0;
  }
}
.contactform-btn {
  font-size: 10px;
}

@media screen and (min-width: 681px) {
  .contactform-btn {
    margin-left: auto;
  }
}
@media screen and (max-width: 680px) {
  .contactform-btn {
    display: none;
  }
}
#contactform .address-text {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  width: 980px;
}

@media screen and (max-width: 680px) {
  #contactform .address-text {
    width: 100%;
  }
}
#contactform .copyright {
  margin-left: auto;
  margin-right: auto;
  -webkit-transform-origin: center center;
  transform-origin: center center;
}

/* 資料請求 */
.contact-doc {
  margin-top: -29px;
}

@media screen and (max-width: 680px) {
  .contact-doc {
    margin-top: -6px;
  }
}
/* お問合せ */
.contact-top-txt {
  padding-left: 138px;
}

@media screen and (max-width: 680px) {
  .contact-top-txt {
    padding-left: 0;
  }
  .contact-top-txt .contactform-btn {
    margin-top: 14px;
  }
  .contact-top-txt :last-child {
    margin-bottom: 0;
  }
}
/* 確認ページ */
.form-btn.confirm {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.form-btn.confirm .bnt-form {
  width: 30%;
  padding: 10px;
}

.form-btn.confirm .bnt-form:first-child {
  margin-right: 35px;
}

@media(max-width: 680px){
  .sp-bb-none {
    border-bottom: none !important;
}
/* サンクスページ */
.thanks-area {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}

.request .btn a {
  min-width: 168px;
  margin: 22px auto 35px;
}

.article-thanks.request .btn-area-article-bottom {
  margin-top: 82px;
}

@media screen and (max-width: 680px) {
  .thanks-area {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
  }
  .article-thanks.request {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 100%;
  }
  .article-thanks.request .btn-area-article-bottom {
    margin-top: 0;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    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;
  }
}
/* 仮申し込みトップ */
.article-contact-top {
  max-width: 880px;
  margin-left: auto;
  margin-right: auto;
}

.article-contact-top .article-title-no-line.top {
  margin-top: 9px;
  margin-bottom: 26px;
  text-align: center;
}

.contact-list {
  display: -ms-grid;
  display: grid;
  grid: 230px/repeat(auto-fill, 280px);
  gap: 20px;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

.contact-list:not(:first-child) {
  margin-top: 19px;
}

.contact-list-item {
  display: -ms-grid;
  display: grid;
  grid: auto 1fr auto/1fr;
  padding: 23px 25px 33px 25px;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  border: 14px solid #e4e4e4;
}

.contact-list-item.pink1 {
  border: 14px solid #ff3366;
}

.contact-list-item.pink2 {
  border: 14px solid #ff799c;
}

.contact-list-item.pink3 {
  border: 14px solid #fe56b6;
}

.contact-list-item .item-title {
  display: block;
  width: 100%;
  margin: 0 auto 13px;
  padding: 0 0 9px;
  border-bottom: 2px solid #ff0d92;
  font-weight: 700;
  color: #ff0d92;
  text-align: center;
}

.contact-list-item .item-text {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 12px;
  text-align: left;
}

.contact-list-item .item-link {
  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;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  min-width: 128px;
  min-height: 25px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  padding: 0 10px;
  color: var(--button-text-color);
  background-color: var(--button-color);
  font-size: 10px;
  line-height: 1;
}

.contact-list-note {
  margin-top: 12px;
  margin-bottom: 0 !important;
  color: var(--text-color-pink);
}

@media screen and (max-width: 680px) {
  .article-contact-top {
    padding: 0 6.5%;
  }
  .contact-list:not(:first-child) {
    margin-top: 17px;
  }
  .contact-list-item {
    grid: auto 1fr auto/1fr;
    padding: 16px 20px 20px;
    border-width: 11px !important;
    height: 142px;
  }
  .contact-list2 .contact-list-item {
    max-width: 440px;
    height: unset;
  }
  .contact-list-item .item-title {
    width: 100%;
    padding: 5px 5px 11px;
    font-size: 13px;
  }
  .contact-list {
    max-width: 440px;
    margin-left: auto;
    margin-right: auto;
    display: -ms-grid;
    display: grid;
    grid: auto-flow/1fr;
    gap: 17px;
  }
}
@media screen and (min-width: 681px) {
  .view-680-580 {
    display: none !important;
  }
}
@media screen and (max-width: 579px) {
  .view-680-580 {
    display: none !important;
  }
}
.article-contact-top-caution {
  border: 1px solid var(--underline-color);
  padding: 15px 20px 13px;
  margin-top: 45px;
}

.article-contact-top-caution + .article-contact-top-caution {
  margin-top: 15px;
}

.article-contact-top-caution :last-child {
  margin-bottom: 0;
}

.article-contact-top .list-number-dot {
  margin-left: 20px;
}

.btn-area-article-bottom {
  margin-bottom: 41px;
  margin-top: 30px;
}

.contact-note-list {
  margin-bottom: 24px;
}

.contact-note {
  margin-top: 24px;
}

.radio-input {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.odenwa-aim {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.odenwa-aim .label-checkbox {
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%;
}

.odenwa-aim .label-checkbox + .label-checkbox {
  margin-left: unset;
  margin-top: 3px;
}

@media screen and (max-width: 680px) {
  .btn-area-article-bottom {
    margin-bottom: 0;
  }
  .odenwa-aim .label-checkbox + .label-checkbox {
    margin-top: 8px;
  }
}
#myReCaptcha {
  margin-bottom: 10px !important;
}

@media screen and (max-width: 680px) {
  #myReCaptcha {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
  }
}
/* ログインフォーム */
.login-box {
  display: -ms-grid;
  display: grid;
  grid: -webkit-max-content/auto 320px;
  grid: max-content/auto 320px;
  place-content: start, center;
  min-height: 26px;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  margin-bottom: 10px;
}
.login-box-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (max-width: 680px) {
  .login-box {
    grid: auto-flow/1fr;
    width: 100%;
    max-width: 285px;
    margin: 0 auto;
    margin-bottom: 5px;
  }
}
.mypage-btn-sub {
  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;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  min-width: 128px;
  min-height: 25px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content !important;
  margin-left: auto;
  margin-right: auto;
  padding: 0 10px;
  color: var(--button-text-color);
  background-color: var(--button-color);
  line-height: 1;
}

.radio-check-rows {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.radio-check-rows .label-radio + .label-radio {
  margin-left: 0;
}

@media screen and (max-width: 680px) {
  .lh-s-sp {
    line-height: 1.3 !important;
  }
}
.list-cols-title-plan {
  padding: 13px 20px 13px 32px;
  display: block;
  color: var(--text-color);
  font-size: 16px;
}

.list-cols-item-plan {
  padding: 13px 15px 13px 32px;
  color: var(--text-color);
}
}
/* .submit-btn {
  font-size: 19px;
  font-weight: 700;
  line-height: 1.5;
  display: inline-block;
  padding: 1.1rem 5.2rem 0.9rem 5.4rem;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  border: none;
  letter-spacing: 0.1em;
  border-radius: 0.5rem;
}
.submit-btn.btn--orange {
  color: #fff;
  background-color: #fb1a4d;
  border-bottom: 5px solid #c0143b;
}
.submit-btn.btn--orange:hover {
  margin-top: 3px;
  color: #fff;
  background: #fb1a4d;
  border-bottom: 2px solid #c0143b;
}
.submit-btn.btn--shadow {
  -webkit-box-shadow: 0 3px 5px rgba(0, 0, 0, 0.3);
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.3);
} */
.submit-btn {
  box-sizing: border-box;
  display: inline-block;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 9px 2px 5px;
  /* padding: 9px 2px 3px; */
  text-decoration: none;
  color: #fff;
  border-radius: 5px;
  font-size: 22px;
  font-weight: bold;
  width: 80%;
  text-align: left;
  margin: 0 auto;
  background: #ff0d92;
  border-bottom: solid 4px #ff0055;
  line-height: 2.292;
  border-top: 0px;
  border-left: 0px;
  border-right: 0px;
}
.submit-btn:hover{
  opacity: 0.7;
  transition: all 0.5s ease;
}
/* .submit-btn.btn--orange {
  color: #fff;
  background-color: #fb1a4d;
  border-bottom: 5px solid #c0143b;
}
.submit-btn.btn--orange:hover {
  margin-top: 3px;
  color: #fff;
  background: #fb1a4d;
  border-bottom: 2px solid #c0143b;
}
.submit-btn.btn--shadow {
  -webkit-box-shadow: 0 3px 5px rgba(0, 0, 0, 0.3);
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.3);
} */
@media (max-width: 680px){
  .submit-btn{
    width: 100%;
    font-size: 17px;
    padding: 5px 2px 2px;
  }
}

input[type="file"]:focus {
  outline: 0;
}
.file-upload_area {
  margin-bottom: 20px;
  position: relative;
}
input[type="file"]::-webkit-file-upload-button {
  font-size: 15px;
  padding: 4px 12px 6px;
  margin: 0 20px 0 0;
}