@charset "UTF-8";
@import url("../css/common.css");
@media screen and (min-width: 429px) {
  .br_sp {
    display: none;
  }
}

.br_pc {
  display: none;
}

@media screen and (min-width: 429px) {
  .br_pc {
    display: block;
  }
}

.br_notePc {
  display: none;
}

@media screen and (width: 1366px) and (min-height: 768px) {
  .br_notePc {
    display: block;
  }
}

.ruby {
  padding-top: .6rem;
  font-size: .3rem;
  color: #aaa;
}

section.front {
  text-align: center;
}

section.front .front-wrapper .top-title {
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  left: 72%;
  color: #333;
  height: 30rem;
  font-size: 1.5rem;
  letter-spacing: .9rem;
}

@media screen and (min-width: 429px) {
  section.front .front-wrapper .top-title {
    font-size: 1rem;
  }
}

@media screen and (min-width: 1440px) {
  section.front .front-wrapper .top-title {
    font-size: 1.3rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-wrapper .top-title {
    left: 73%;
    font-size: 1.1rem;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-wrapper .top-title {
    font-size: 1.5rem;
  }
}

section.front .front-wrapper .top-title .space_pc {
  margin-top: 11rem;
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-wrapper .top-title .space_pc {
    margin-top: 8.5rem;
  }
}

section.front .title-sp {
  text-align: center;
  font-size: 1.2rem;
  margin: 1.5rem 0;
  line-height: 1.5;
}

@media screen and (min-width: 429px) {
  section.front .title-sp {
    display: none;
  }
}

section.front .photo {
  display: none;
}

@media screen and (min-width: 429px) {
  section.front .photo {
    display: block;
  }
}

@media screen and (min-width: 429px) {
  section.front .photo-sp {
    display: none;
  }
}

section.front .front-text-1 {
  margin-top: 2rem;
  margin-bottom: 1.5rem;
}

@media screen and (min-width: 429px) {
  section.front .front-text-1 {
    margin-bottom: 4rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-text-1 {
    margin-top: 3rem;
    margin-bottom: 3rem;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-text-1 {
    margin-top: 4rem;
    margin-bottom: 4rem;
  }
}

section.front .front-text-1 .line-icon {
  height: auto;
  width: 30%;
}

@media screen and (min-width: 429px) {
  section.front .front-text-1 .line-icon {
    width: 10%;
  }
}

section.front .front-text-1 .line-icon:hover {
  opacity: .7;
}

section.front .front-text-1 p {
  font-weight: bold;
  margin-bottom: 1rem;
  font-size: 1rem;
}

@media screen and (width: 320px) and (max-height: 568px) {
  section.front .front-text-1 p {
    font-size: .9rem;
  }
}

@media screen and (min-width: 429px) {
  section.front .front-text-1 p {
    margin-bottom: 2rem;
    font-size: 1.2rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-text-1 p {
    margin-bottom: 1.7rem;
    font-size: .9rem;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-text-1 p {
    margin-bottom: 2rem;
    font-size: 1.1rem;
  }
}

section.front .front-text-2 {
  font-weight: bold;
  font-size: 1rem;
  line-height: 2;
}

@media screen and (width: 320px) and (max-height: 568px) {
  section.front .front-text-2 {
    font-size: .8rem;
  }
}

@media screen and (min-width: 429px) {
  section.front .front-text-2 {
    width: 90%;
    margin: 0 auto;
    line-height: normal;
    font-size: 1rem;
  }
}

@media screen and (min-width: 1440px) {
  section.front .front-text-2 {
    font-size: .9rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-text-2 {
    font-size: .9rem;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-text-2 {
    font-size: 1.2rem;
  }
}

section.front .front-text-2 .notes {
  width: 71%;
  font-weight: normal;
  margin: 1rem auto 2.5rem;
  text-align: start;
  line-height: 1.8;
  font-size: 0.7rem;
}

@media screen and (width: 320px) and (max-height: 568px) {
  section.front .front-text-2 .notes {
    width: 82%;
  }
}

@media screen and (min-width: 429px) {
  section.front .front-text-2 .notes {
    margin: 1.5rem auto 3rem;
    width: 48%;
    font-size: .9rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-text-2 .notes {
    width: 38%;
    margin: 1rem auto 2rem;
    font-size: .7rem;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-text-2 .notes {
    width: 35%;
    margin: 1.5rem auto 3rem;
    font-size: .9rem;
  }
}

.contact-form {
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic;
  text-align: center;
  width: 80%;
  margin: 0 auto;
}

@media screen and (min-width: 429px) {
  .contact-form {
    width: 50%;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  .contact-form {
    width: 40%;
  }
}

@media screen and (min-width: 1920px) {
  .contact-form {
    width: 35%;
  }
}

.contact-form .contact-item {
  text-align: start;
}

.contact-form .contact-item .inquiry-type {
  margin-bottom: 2rem;
  line-height: 2;
  font-size: 1rem;
}

@media screen and (min-width: 429px) {
  .contact-form .contact-item .inquiry-type {
    margin-bottom: 3rem;
    font-size: .9rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  .contact-form .contact-item .inquiry-type {
    margin-bottom: 2.5rem;
  }
}

@media screen and (min-width: 1920px) {
  .contact-form .contact-item .inquiry-type {
    margin-bottom: 3rem;
  }
}

.contact-form .contact-item .inquiry-type p {
  font-size: 1.1rem;
  margin-bottom: .5rem;
}

@media screen and (min-width: 429px) {
  .contact-form .contact-item .inquiry-type p {
    margin-bottom: 1rem;
    font-size: 1.2rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  .contact-form .contact-item .inquiry-type p {
    font-size: 1rem;
    margin-bottom: .7rem;
  }
}

@media screen and (min-width: 1920px) {
  .contact-form .contact-item .inquiry-type p {
    font-size: 1.2rem;
    margin-bottom: 1rem;
  }
}

.contact-form .contact-item .inquiry-type label {
  font-size: 1.1rem;
}

@media screen and (min-width: 429px) {
  .contact-form .contact-item .inquiry-type label {
    font-size: .9rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  .contact-form .contact-item .inquiry-type label {
    font-size: .7rem;
  }
}

@media screen and (min-width: 1920px) {
  .contact-form .contact-item .inquiry-type label {
    font-size: .9rem;
  }
}

.contact-form .contact-item .inquiry-type input {
  margin-right: 1rem;
  -webkit-transform: scale(1.3);
          transform: scale(1.3);
}

@media screen and (min-width: 429px) {
  .contact-form .contact-item .inquiry-type input {
    margin-right: .7rem;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

.contact-form .contact-item .name {
  margin-bottom: 2.2rem;
}

@media screen and (min-width: 429px) {
  .contact-form .contact-item .name {
    margin-bottom: 3rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  .contact-form .contact-item .name {
    margin-bottom: 3rem;
  }
}

@media screen and (min-width: 1920px) {
  .contact-form .contact-item .name {
    margin-bottom: 4rem;
  }
}

.contact-form .contact-item .name p {
  margin-bottom: .5rem;
  font-size: 1.1rem;
}

@media screen and (min-width: 429px) {
  .contact-form .contact-item .name p {
    font-size: 1rem;
  }
}

.contact-form .contact-item .name input {
  padding: .5rem .2rem;
  font-size: 1rem;
  height: 2rem;
  width: 14rem;
  border: solid 1px #888;
}

@media screen and (min-width: 429px) {
  .contact-form .contact-item .name input {
    width: auto;
    height: 2rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  .contact-form .contact-item .name input {
    height: 1.7rem;
  }
}

@media screen and (min-width: 1920px) {
  .contact-form .contact-item .name input {
    height: 2rem;
  }
}

.contact-form .contact-item .e-mail {
  margin-bottom: 2.2rem;
}

@media screen and (min-width: 429px) {
  .contact-form .contact-item .e-mail {
    margin-bottom: 3rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  .contact-form .contact-item .e-mail {
    margin-bottom: 3rem;
  }
}

@media screen and (min-width: 1920px) {
  .contact-form .contact-item .e-mail {
    margin-bottom: 4rem;
  }
}

.contact-form .contact-item .e-mail p {
  margin-bottom: .5rem;
  font-size: 1.1rem;
}

@media screen and (min-width: 429px) {
  .contact-form .contact-item .e-mail p {
    font-size: 1rem;
  }
}

.contact-form .contact-item .e-mail input {
  padding: .5rem .2rem;
  font-size: 1rem;
  width: 19rem;
  height: 2rem;
  border: solid 1px #888;
}

@media screen and (width: 414px) and (max-height: 896px) {
  .contact-form .contact-item .e-mail input {
    width: 21rem;
  }
}

@media screen and (width: 320px) and (max-height: 568px) {
  .contact-form .contact-item .e-mail input {
    width: 16rem;
  }
}

@media screen and (min-width: 429px) {
  .contact-form .contact-item .e-mail input {
    width: 300px;
    height: 2rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  .contact-form .contact-item .e-mail input {
    width: 450px;
    height: 1.7rem;
  }
}

@media screen and (min-width: 1920px) {
  .contact-form .contact-item .e-mail input {
    width: 600px;
    height: 2rem;
  }
}

.contact-form .contact-item .other {
  margin-bottom: 2rem;
}

@media screen and (min-width: 429px) {
  .contact-form .contact-item .other {
    margin-bottom: 3rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  .contact-form .contact-item .other {
    margin-bottom: 2.6rem;
  }
}

@media screen and (min-width: 1920px) {
  .contact-form .contact-item .other {
    margin-bottom: 3rem;
  }
}

.contact-form .contact-item .other p {
  margin-bottom: .5rem;
  font-size: 1.1rem;
}

@media screen and (min-width: 429px) {
  .contact-form .contact-item .other p {
    font-size: 1rem;
  }
}

.contact-form .contact-item .other textarea {
  padding: .5rem .2rem;
  font-size: 1rem;
  width: 19rem;
  height: 8rem;
  border: solid 1px #888;
}

@media screen and (width: 414px) and (max-height: 896px) {
  .contact-form .contact-item .other textarea {
    width: 21rem;
  }
}

@media screen and (width: 320px) and (max-height: 568px) {
  .contact-form .contact-item .other textarea {
    width: 16rem;
  }
}

@media screen and (min-width: 429px) {
  .contact-form .contact-item .other textarea {
    width: 400px;
    height: 8rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  .contact-form .contact-item .other textarea {
    width: 450px;
    height: 6.8rem;
  }
}

@media screen and (min-width: 1920px) {
  .contact-form .contact-item .other textarea {
    width: 600px;
    height: 8rem;
  }
}

.contact-form .btn-submit {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: url("../img/contact/btn-submit.png") center center no-repeat;
  background-size: cover;
  margin-bottom: 2.5rem;
  text-align: center;
  width: 50%;
  padding-top: 10%;
}

@media screen and (min-width: 429px) {
  .contact-form .btn-submit {
    width: 30%;
    padding-top: 4.3%;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  .contact-form .btn-submit {
    margin-bottom: 4rem;
    padding-top: 4.4%;
    width: 33.5%;
  }
}

@media screen and (min-width: 1920px) {
  .contact-form .btn-submit {
    margin-bottom: 5rem;
    padding-top: 4.3%;
    width: 30%;
  }
}

.contact-form .btn-submit:hover {
  opacity: .7;
}

section.faq {
  position: relative;
}

section.faq .beige-back {
  padding-top: 1rem;
  padding-bottom: .3rem;
  text-align: center;
}

@media screen and (min-width: 429px) {
  section.faq .beige-back {
    padding-top: 0;
  }
}

section.faq .beige-back .title {
  padding-top: 1rem;
  padding-bottom: 1.5rem;
  font-size: 1.2rem;
  font-weight: bold;
}

@media screen and (min-width: 429px) {
  section.faq .beige-back .title {
    font-size: 1.2rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.faq .beige-back .title {
    padding-top: 1rem;
    font-size: 1rem;
  }
}

@media screen and (min-width: 1920px) {
  section.faq .beige-back .title {
    padding-top: 1.5rem;
    font-size: 1.2rem;
  }
}

section.faq .beige-back .faq-text {
  text-align: start;
  width: 85%;
  margin: 0 auto;
  font-weight: bold;
}

@media screen and (width: 320px) and (max-height: 568px) {
  section.faq .beige-back .faq-text {
    width: 90%;
  }
}

@media screen and (min-width: 429px) {
  section.faq .beige-back .faq-text {
    width: 60%;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.faq .beige-back .faq-text {
    width: 64%;
  }
}

@media screen and (min-width: 1920px) {
  section.faq .beige-back .faq-text {
    width: 60%;
  }
}

section.faq .beige-back .faq-text h3 {
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic;
  color: #734e30;
  font-size: 1.1rem;
}

@media screen and (min-width: 429px) {
  section.faq .beige-back .faq-text h3 {
    font-size: 1.2rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.faq .beige-back .faq-text h3 {
    font-size: 1rem;
  }
}

@media screen and (min-width: 1920px) {
  section.faq .beige-back .faq-text h3 {
    font-size: 1.2rem;
  }
}

section.faq .beige-back .faq-text .question {
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic;
  color: #734e30;
  font-size: 1rem;
  line-height: 1.5;
  margin: 1.8rem 0 0 0;
}

@media screen and (min-width: 429px) {
  section.faq .beige-back .faq-text .question {
    margin: 2rem 0 0 0;
    font-size: 1rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.faq .beige-back .faq-text .question {
    font-size: .8rem;
  }
}

@media screen and (min-width: 1920px) {
  section.faq .beige-back .faq-text .question {
    font-size: 1rem;
  }
}

section.faq .beige-back .faq-text .answer {
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.4;
  margin: 1rem 0 2.5rem .5rem;
}

@media screen and (min-width: 429px) {
  section.faq .beige-back .faq-text .answer {
    margin: 1.5rem 0 4.5rem 2rem;
    font-size: .9rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.faq .beige-back .faq-text .answer {
    font-size: .7rem;
    margin: .6rem 0 3.2rem .7rem;
  }
}

@media screen and (min-width: 1920px) {
  section.faq .beige-back .faq-text .answer {
    font-size: .9rem;
    margin: 1.5rem 0 4.5rem 2rem;
  }
}

section.faq .beige-back .faq-text .answer p {
  margin-bottom: .6rem;
}

@media screen and (min-width: 429px) {
  section.faq .beige-back .faq-text .answer p {
    margin-bottom: 1.2rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.faq .beige-back .faq-text .answer p {
    margin-bottom: .9rem;
  }
}

@media screen and (min-width: 1920px) {
  section.faq .beige-back .faq-text .answer p {
    margin-bottom: 1.2rem;
  }
}

section.faq .white-back {
  padding-top: 3rem;
  padding-bottom: .3rem;
  text-align: center;
  background-color: #fdf7f3;
}

@media screen and (min-width: 429px) {
  section.faq .white-back {
    background-color: #fffd;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.faq .white-back {
    padding-top: 2.5rem;
  }
}

@media screen and (min-width: 1920px) {
  section.faq .white-back {
    padding-top: 3rem;
  }
}

section.faq .white-back .title {
  padding-top: 1rem;
  padding-bottom: 3rem;
  font-size: 1.2rem;
}

section.faq .white-back .experience-text {
  padding-bottom: 0;
  text-align: start;
  width: 85%;
  margin: 0 auto;
  font-weight: bold;
}

@media screen and (width: 320px) and (max-height: 568px) {
  section.faq .white-back .experience-text {
    width: 90%;
  }
}

@media screen and (min-width: 429px) {
  section.faq .white-back .experience-text {
    padding-bottom: 3rem;
    width: 60%;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.faq .white-back .experience-text {
    width: 64%;
  }
}

@media screen and (min-width: 1920px) {
  section.faq .white-back .experience-text {
    width: 60%;
  }
}

section.faq .white-back .experience-text h3 {
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic;
  color: #734e30;
  font-size: 1.1rem;
}

@media screen and (min-width: 429px) {
  section.faq .white-back .experience-text h3 {
    font-size: 1.2rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.faq .white-back .experience-text h3 {
    font-size: 1rem;
  }
}

@media screen and (min-width: 1920px) {
  section.faq .white-back .experience-text h3 {
    font-size: 1.2rem;
  }
}

section.faq .white-back .experience-text .question {
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic;
  color: #734e30;
  line-height: 1.5;
  font-size: 1rem;
  margin: 1.8rem 0 0 0;
}

@media screen and (min-width: 429px) {
  section.faq .white-back .experience-text .question {
    font-size: 1rem;
    margin: 2rem 0 0 0;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.faq .white-back .experience-text .question {
    font-size: .8rem;
  }
}

@media screen and (min-width: 1920px) {
  section.faq .white-back .experience-text .question {
    font-size: 1rem;
  }
}

section.faq .white-back .experience-text .answer {
  font-size: 1rem;
  font-weight: normal;
  margin: 1rem 0 2.5rem .5rem;
}

@media screen and (min-width: 429px) {
  section.faq .white-back .experience-text .answer {
    font-size: .9rem;
    margin: 1.5rem 0 4.5rem 2rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.faq .white-back .experience-text .answer {
    font-size: .7rem;
    margin: .6rem 0 3.2rem .7rem;
  }
}

@media screen and (min-width: 1920px) {
  section.faq .white-back .experience-text .answer {
    font-size: .9rem;
    margin: 1.5rem 0 4.5rem .7rem;
  }
}

section.faq .white-back .experience-text .answer p {
  margin-bottom: 1.2rem;
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.faq .white-back .experience-text .answer p {
    margin-bottom: .9rem;
  }
}

@media screen and (min-width: 1920px) {
  section.faq .white-back .experience-text .answer p {
    margin-bottom: 1.2rem;
  }
}

section.faq .btn-goto-top {
  position: absolute;
  width: 60px;
  height: 30px;
  border-radius: 30px 30px 0 0;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: none;
}

@media screen and (min-width: 429px) {
  section.faq .btn-goto-top {
    display: block;
  }
}

section.faq .txt-goto-top {
  position: absolute;
  text-align: center;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

section.faq .txt-goto-top .arrow {
  margin: 0 auto;
  width: 6px;
  height: 6px;
  border: 1px solid;
  border-color: #666 #666 transparent transparent;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

section.faq .txt-goto-top p {
  font-size: 0.7rem;
}

section.application-sp {
  display: block;
  padding: 4rem 0 6rem;
  position: relative;
  font-size: 1.1rem;
  text-align: center;
}

@media screen and (min-width: 429px) {
  section.application-sp {
    display: none;
  }
}

section.application-sp p {
  margin-bottom: 1.3rem;
}

@media screen and (min-width: 429px) {
  section.application-sp p {
    margin-bottom: 2.5rem;
  }
}

section.application-sp .btn-more {
  margin: 0 auto;
}

section.application-sp .btn-goto-top {
  position: absolute;
  width: 50px;
  height: 30px;
  border-radius: 40px 40px 0 0;
  background: #fdf7f3;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

@media screen and (min-width: 429px) {
  section.application-sp .btn-goto-top {
    background: #f4f4f4;
    width: 60px;
    height: 30px;
    border-radius: 30px 30px 0 0;
  }
}

section.application-sp .txt-goto-top {
  position: absolute;
  text-align: center;
  bottom: -11%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.application-sp .txt-goto-top {
    font-size: .9rem;
  }
}

@media screen and (min-width: 1920px) {
  section.application-sp .txt-goto-top {
    font-size: 1rem;
  }
}

section.application-sp .txt-goto-top .arrow {
  margin: 0 auto .1rem;
  width: 8px;
  height: 8px;
  border: 1px solid;
  border-color: #666 #666 transparent transparent;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

@media screen and (min-width: 429px) {
  section.application-sp .txt-goto-top .arrow {
    margin: 0 auto;
    width: 6px;
    height: 6px;
  }
}

section.application-sp .txt-goto-top p {
  margin-bottom: 0;
  font-size: 0.7rem;
}

@media screen and (min-width: 429px) {
  section.application-sp .txt-goto-top p {
    font-size: .7rem;
  }
}

footer {
  padding: 3rem 0 .5rem;
}

@media screen and (width: 1366px) and (min-height: 768px) {
  footer {
    padding: 2rem 0 .5rem;
  }
}

@media screen and (min-width: 1920px) {
  footer {
    padding: 3rem 0 .5rem;
  }
}

footer p {
  margin-bottom: 1rem;
  text-align: center;
}

@media screen and (min-width: 429px) {
  footer p {
    margin-bottom: .6rem;
    text-align: right;
    margin-right: 1.5rem;
  }
}

footer .copyright.-sp {
  margin-bottom: .8rem;
}

@media screen and (min-width: 429px) {
  .-sp {
    display: none;
  }
}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 