* {
  -webkit-user-select: none;
  -webkit-touch-callout: none;
  font-family: "Noto Sans JP", sans-serif;
  color: #4D4D4D;
}

html, body {
  scroll-behavior: initial !important;
}

nav h1 {
  font-size: 1.25rem;
  line-height: 1.5rem;
  margin: 1.45rem 0;
  /* white-space: pre-wrap; */
  /* white-space: break-spaces; */
}

nav h1 p {
  margin: 0
}

nav.navbar {
  --bs-navbar-padding-y: 0
}

footer {
  font-size: 0.75rem;
  line-height: 0.90rem;
  padding: 0.8rem
}

main section {
  background: #fff;
  min-height: 500px
}

main .main-content {
  font-size: 20px;
  /* margin: 50px auto 2.5rem; */
  /* max-width: 600px; */
  padding: 2rem 75px;
  white-space: pre-wrap;
  white-space: break-spaces;
}

main .main-content .content img {
  max-width: 100%
}

main .btn {
  font-size: 1.25rem;
  line-height: 1.5rem;
  padding: 1rem 5rem;
  border: none;
}

main .btn:hover {
  opacity: 0.8;
}

main .container {
  max-width: 750px;
  padding-left: 0;
  padding-right: 0;
}

main .question-main {
  max-width: 600px;
  margin: 0 auto;
  padding-top: 30px;
  padding-bottom: 270px;
  line-height: 1.5
}

main .question-main .question-image-1,
main .question-main .question-image-2,
main .question-main .question-number {
  margin-bottom: 2rem;
  text-align: center
}

main .question-main .question-number {
  font-size: 1.12rem
}

main .question-main .question-content {
  margin-bottom: 2rem;
  font-size: 1.3rem;
  white-space: pre-wrap;
  white-space: break-spaces;
}

main .question-main .question-options-choice {
  border-width: 2px;
  border-style: solid;
  border-radius: 5px;
  margin-bottom: 3rem;
  cursor: pointer
}

main .question-main .question-options-choice div {
  font-size: 1.3rem;
}

main .question-main .question-options-choice div:first-child {
  /* background: gray; */
  justify-content: center;
  align-items: center;
  display: flex;
  padding: 1rem 1.8rem
}

main .question-main .question-options-choice div:last-child {
  padding: 0.8rem 1.2rem;
  line-height: 1.1;
  justify-content: center;
  align-items: center;
  display: flex;
  white-space: pre-wrap;
  white-space: break-spaces;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict; 
}

main .result-title {
  padding: 1.9rem 1.9rem;
  /* white-space: pre-wrap; */
  /* white-space: break-spaces; */
}

main .result-title p {
  margin: 0
}

main .result-image {
  text-align: center;
}

main .result-title img,
main .result-content img,
main .result-image img {
  max-width: 100%;
}

main .result-image img {
  width: 100%;
}

main .container .ql-editor.result-content {
  padding: 2rem 75px
}

main .container .ql-editor.result-content .content {
  white-space: pre-wrap;
  white-space: break-spaces;
}

main .container .result-title + div.result-content {
  padding-top: 0
}

main .result-footer .result-border {
  border-top-width: 4px;
  border-top-style: solid;
  width: 93.7%;
  margin: 3.5rem auto 0;
}

main .result-share,
main .result-links {
  margin-top: 3.5rem
}

main .result-share-caption {
  font-size: 1.12rem
}

main .result-share-caption img {
  height: 18px;
  width: 18px;
}

main .result-share-buttons {
  width: 16.5rem;
  margin: 1rem auto
}

main .result-share-buttons a:hover,
main .question-options-choice:hover {
  opacity: 0.8
}

main .result-links {
  padding-bottom: 1.5rem;
}

main .result-links .btn {
  padding: 1rem 2rem;
  min-width: 16.5rem;
  white-space: pre-wrap;
  white-space: break-spaces;
}

main .container .ql-editor .result-links .btn img {
  display: inline;
  vertical-align: bottom;
  margin-right: 0.2rem;
  width: 24px;
  height: 24px;
}

main .result-back-site {
  margin-top: 2.4rem
}

main .outofterm-content {
  text-align: center;
  min-height: 600px;
  line-height: 1.4;
  font-weight: 600;
  padding-top: 7rem;
}

main .outofterm-logo {
  margin-top: 5rem
}

main .personal-title {
  padding: 1.9rem;
  font-weight: 600;
  font-size: 22px
}

main .personal-content {
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 3rem;
  max-width: 600px;
  padding: 0
  font-size: 1.38rem;
  line-height: 1.65rem
}

main .personal-content .personal {
  margin-bottom: 25px
}

main .personal-content label.form-label {
  font-size: 18px;
  line-height: 21.78px;
  color: #667085;
  white-space: pre-wrap;
  white-space: break-spaces;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

main .personal-content .form-control {
  border: 1px solid #667085;
  border-radius: 5px;
  height: 55px;
  color: #4D4D4D
}

main .personal-content .form-control:focus {
  border-color: initial
  outline: 0;
  box-shadow: none;
}

main .personal-content .form-control::placeholder {
  color: #B5B5B5
}

main .personal-content select.form-control {
  color: #B5B5B5;
  scrollbar-width: thin
}

main .personal-content select.form-control:focus {
  /* height: initial */
}

.select2-container--default.select2-container--focus,
.select2-selection.select2-container--focus,
.select2-container--default:focus,
.select2-selection:focus,
.select2-container--default:active,
.select2-selection:active {
  outline:none
}
.select2-container--default .select2-selection--single,
.select2-selection .select2-selection--single {
  border:1px solid #d2d6de;
  border-radius:0;
  padding:6px 12px;
  height:34px
}
.select2-container--default.select2-container--open {
  border-color:#3c8dbc
}
.select2-dropdown {
  border:1px solid #d2d6de;
  border-radius:0
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color:#3c8dbc;
  color:white
}
.select2-results__option {
  padding:6px 12px;
  user-select:none;
  -webkit-user-select:none;
  white-space: pre-wrap;
  white-space: break-spaces;
  overflow-wrap: anywhere; /* 収まらない場合に折り返す */
  word-break: normal; /* 単語の分割はデフォルトに依存 */
  line-break: strict; /* 禁則処理を厳格に適用 */
}
}
.select2-container .select2-selection--single .select2-selection__rendered {
  padding-left:0;
  padding-right:0;
  height:auto;
  margin-top:-4px;
  white-space: pre-wrap;
  white-space: break-spaces;
}
.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered {
  padding-right:6px;
  padding-left:20px
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
  height:28px;
  right:10px
}
.select2-container--default .select2-selection--single .select2-selection__arrow b {
  margin-top:0
}
.select2-dropdown .select2-search__field,
.select2-search--inline .select2-search__field {
  border:1px solid #d2d6de
}
.select2-dropdown .select2-search__field:focus,
.select2-search--inline .select2-search__field:focus {
  outline:none;
  border:1px solid #3c8dbc
}
.select2-container--default .select2-results__option[aria-disabled=true] {
  color:#999
}
.select2-container--default .select2-results__option[aria-selected=true] {
  background-color:#ddd
}
.select2-container--default .select2-results__option[aria-selected=true],
.select2-container--default .select2-results__option[aria-selected=true]:hover {
  color:#444
}
.select2-container--default .select2-selection--multiple {
  border:1px solid #d2d6de;
  border-radius:0
}
.select2-container--default .select2-selection--multiple:focus {
  border-color:#3c8dbc
}
.select2-container--default.select2-container--focus .select2-selection--multiple {
  border-color:#d2d6de
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
  background-color:#3c8dbc;
  border-color:#367fa9;
  padding:1px 10px;
  color:#fff
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  margin-right:5px;
  color:rgba(255,255,255,0.7)
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
  color:#fff
}
.select2-container .select2-selection--single .select2-selection__rendered {
  padding-right:10px
}

.select2-container--default .select2-selection--single, .select2-selection .select2-selection--single {
  height: 52px;
  border: 1px solid #667085;
  border-radius: 5px;
  font-size: 16px
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background: #FFF2DD;
  color: #EF9000
}

.select2-container .select2-selection--single .select2-selection__rendered {
  margin-top: 4px
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  top: 9px
}

.select2-container--default .select2-selection--single .select2-selection__rendered[title="選択してください"] {
  color: #B5B5B5
}

.select2-container--default .select2-results > .select2-results__options {
  scrollbar-width: thin;
}

.error {
  font-size: 14px;
  font-weight: 600;
  color: #FA532F;
  line-height: 20px;
  margin-top: 10px;
  display: none;
}

.personal-content .has-error .error {
  display: block
}

.personal-content .has-error span.select2 .select2-selection,
.personal-content .has-error input.form-control {
  border-color: #FA532F;
  background: #FCEEEB;
}

.error img {
  padding-right: 7px
}

.is_pc {
  display: initial
}

.is_sp {
  display: none
}

.ql-color .ql-picker-options [data-value=color-picker-text]:before,
.ql-background .ql-picker-options [data-value=color-picker-background]:before {
  content: 'Pick Color';
}

.ql-color .ql-picker-options [data-value=color-picker-text],
.ql-background .ql-picker-options [data-value=color-picker-background] {
  background: none !important;
  width: 100% !important;
  height: 25px !important;
  text-align: center;
  color: blue;
  text-decoration: underline;
}

main .container .ql-editor {
  white-space: initial;
  /* white-space: break-spaces; */
  padding: 0;
  font-size: 20px;
  line-height: 1.5
}

main .container .ql-editor h1 {
  font-size: 20px;
}

main .container .ql-editor img {
  max-width: 100%
}

main .container .ql-editor img,
main .container .ql-editor img.ql-align-center {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

main .container .ql-editor img.ql-align-left {
  margin-left: 0;
}

main .container .ql-editor img.ql-align-right {
  margin-right: 0;
}


@media (max-width: 750px) {
  .is_pc {
    display: none
  }

  .is_sp {
    display: initial
  }

  nav h1 {
    font-size: 1rem;
    margin: 1rem 0
  }

  footer {
    font-size: 0.65rem
  }

  main .main-content {
    font-size: 0.88rem;
    padding: 1.5rem 1.5rem 2.5rem;
    margin: 0;
    max-width: initial
  }

  main .question-main {
    font-size: 1.2rem;
    padding: 1.5rem 1.5rem 3rem
  }

  main .question-main .question-number {
    font-size: 0.88rem;
  }

  main .question-main .question-content {
    font-size: 1.12rem;
  }

  main .question-main .question-options-choice {
    margin-bottom: 2rem
  }

  main .question-main .question-options-choice div {
    font-size: 1rem
  }

  main .question-main .question-options-choice div:first-child {
    padding: 0.6rem 1.3rem;
    font-size: 1.13rem
  }

  main .container .ql-editor.result-content {
    padding: 2rem 1.5rem;
  }

  main .result-share-buttons {
    width: 9rem
  }

  main .result-share-buttons img {
    width: 30px
  }

  main .btn {
    font-size: 1rem;
    line-height: 1.25rem;
    padding: 0.6rem 3rem;
  }

  main .result-links {
    padding-bottom: 2.5rem
  }

  main .result-links .btn {
    min-width: 12rem;
    padding: 0.6rem 0;
  }

  main .container .ql-editor .result-links .btn img {
    width: 1rem;
    height: 1rem;
  }

  main .result-share, main .result-links {
    margin-top: 2.5rem
  }

  main .personal-content {
    padding: .75rem 1.5rem 3rem;
  }
}

.ql-snow {
  .ql-picker {
    &.ql-size {
      .ql-picker-label,
      .ql-picker-item {
        &::before {
          content: attr(data-value) !important;
        }
      }
    }
  }
}
