@charset "utf-8";

.contents * {
  font-family: "Noto Sans Japanese-r",
  '游ゴシック Medium',
  '游ゴシック体',
  'Yu Gothic Medium',
  YuGothic,
  'ヒラギノ角ゴ ProN',
  'Hiragino Kaku Gothic ProN',
  'メイリオ',
  Meiryo,
  'ＭＳ Ｐゴシック',
  'MS PGothic',
  sans-serif;
}
.w-25 {
  width: 25% !important
}

.w-50 {
  width: 50% !important
}

.w-75 {
  width: 75% !important
}

.w-100 {
  width: 100% !important
}

@media all and (max-width: 767px) {
  .w-sm-25 {
    width: 25% !important
  }

  .w-sm-50 {
    width: 50% !important
  }

  .w-sm-75 {
    width: 75% !important
  }

  .w-sm-100 {
    width: 100% !important
  }
}

@media all and (min-width: 768px) {
  .w-md-25 {
    width: 25% !important
  }

  .w-md-50 {
    width: 50% !important
  }

  .w-md-75 {
    width: 75% !important
  }

  .w-md-100 {
    width: 100% !important
  }
}
.text-large {
  font-size: 1.25rem;
}
.text-warning {
  color: orangered;
}

.text-danger {
  color: #EA0006 !important;
}

.font-weight-bold {
  font-weight: bold !important;
}

.text-center {
  text-align: center !important;
}

.text-left {
  text-align: left !important;
}

.text-right {
  text-align: right !important;
}

.text-underline {
  text-decoration: underline !important;
}

.required-mark {
  display: inline-block;
  margin-right: auto;
}

.kome {
  font-size: .75rem;
  color: #666;
  vertical-align: baseline;
}

.required-badge:before {
  content: "*";
  color: #EA0006;
  vertical-align: baseline;
}

/* form component */

.table__row {}

.table__head,
.table__body {
  padding: .5rem;
  border-bottom: 1px solid #fff;
}

.table__head {
  background: #F4E9DA;
  color: #333;
  font-size: .9rem;
}

.table__body {
  display: flex;
  justify-content: center;
  flex-direction: column;
}


.form-control {
  display: inline-block;
  font-weight: 400;
  color: #495057;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #aaa;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.4;
  border-radius: 0.2rem;
  outline: none;
  resize: vertical;
  cursor: pointer;
}

textarea.form-control {
  font-size: 1.1rem;
}

.attention {
  overflow-y: scroll;
  max-height: 50vh;
  padding: .75rem;
  border: 1px solid #dcdcdc;
  background-color: #fafafa;
}

.attention__item {
  margin-bottom: .5rem;
  font-size: .9rem;
  border-bottom: 1px dotted #eee;
}

.accept__box {
  text-align: center;
}

.validation-error {
  color: red;
  font-size: .75rem;
}

@media all and (min-width: 768px) {
  .table__row {
    display: flex;
    flex-wrap: nowrap;
  }

  .table__head {
    width: 30%;
  }

  .table__body {
    display: inline-flex;
    justify-content: center;
    flex-direction: column;
    width: 70%;
    border-bottom: 1px solid #eee;
  }
}

.input-label {
  display: block;
  font-weight: bold;
}

.submit__button {
  display: block;
  padding: .5rem;
  width: 75%;
  font-size: 1.2rem;
  cursor: pointer;
  text-align: center;
  line-height: 1;
}

@media all and (min-width: 768px) {
  .submit__button {
    width: 40%;
  }
}

.crosstrust {
  text-align: center;
  font-size: .75rem;
}
.consent__link, .consent__link:link, .consent__link:visited {
  vertical-align: baseline;
    color: #007bff;
}
.consent__link:hover {
  color: #0056b3;
}
