@media screen and (min-width: 769px) {
  #kv_inside {
    background: url("../img/contact/main.jpg") center center no-repeat;
    background-size: cover; } }
@media screen and (max-width: 768px) {
  #kv_inside {
    background: url("../img/contact/sp/main.jpg") center center no-repeat;
    background-size: cover; } }

/**/
@media screen and (min-width: 769px) {
  #form {
    padding-bottom: 12rem; } }
@media screen and (max-width: 768px) {
  #form {
    padding-bottom: 12rem; } }

@media screen and (min-width: 769px) {
  #form.mgn {
    padding-top: 12rem; } }
@media screen and (max-width: 768px) {
  #form.mgn {
    padding-top: 12rem; } }

.c {
  color: #FF6C3F; }

#form dl {
  position: relative;
  width: 100%;
  margin: 0 auto; }
  @media screen and (min-width: 769px) {
    #form dl {
      display: table;
      border-top: #e5e5e5 1px solid;
      padding: 2rem 0; } }
  @media screen and (max-width: 768px) {
    #form dl {
      display: block;
      border-top: #e5e5e5 1px solid;
      padding: 4rem 0; } }

#form dt {
  position: relative;
  vertical-align: top;
  text-align: left;
  font-weight: 300; }
  @media screen and (min-width: 769px) {
    #form dt {
      display: table-cell;
      width: 22%;
      line-height: 2em;
      font-size: 1.6rem;
      letter-spacing: 0.05em; } }
  @media screen and (max-width: 768px) {
    #form dt {
      display: block;
      width: 100%;
      padding: 0 0 1rem;
      line-height: 1.715em;
      font-size: 2.8rem;
      letter-spacing: 0.05em;
      zoom: 1;
      overflow: hidden; } }

#form dt p {
  position: relative;
  display: inline; }

#form dt span {
  position: relative;
  color: #FF6C3F;
  margin-left: 0.5rem; }

#form dd {
  position: relative;
  zoom: 1;
  overflow: hidden;
  vertical-align: top;
  text-align: left;
  font-weight: 300; }
  @media screen and (min-width: 769px) {
    #form dd {
      display: table-cell;
      width: 78%;
      padding: 0 2rem 0 0;
      line-height: 2em;
      font-size: 1.6rem;
      letter-spacing: 0.05em; } }
  @media screen and (max-width: 768px) {
    #form dd {
      display: block;
      width: 100%;
      line-height: 1.715em;
      font-size: 2.8rem;
      letter-spacing: 0.05em;
      padding: 2rem 0 0; } }

#form dd > div {
  position: relative;
  width: 48%;
  float: left; }

#form dd > div:nth-of-type(2) {
  margin-left: 4%; }

#form dd div.radio_set,
#form dd div.checkbox {
  width: 100% !important;
  margin: 0 !important; }

@media screen and (min-width: 769px) {
  #form dd .checkbox {
    padding: 0 0 0.5rem; } }
@media screen and (max-width: 768px) {
  #form dd .checkbox {
    padding: 0 0 2rem; } }

#form dd .checkbox:last-of-type {
  padding: 0 0 0.1rem !important; }

#form dd p {
  position: relative;
  font-weight: 300; }
  @media screen and (min-width: 769px) {
    #form dd p {
      line-height: 2em;
      font-size: 1.6rem;
      letter-spacing: 0.05em; } }
  @media screen and (max-width: 768px) {
    #form dd p {
      line-height: 1.715em;
      font-size: 2.8rem;
      letter-spacing: 0.05em; } }

#form dd span {
  position: relative;
  display: block;
  font-weight: 300; }
  @media screen and (min-width: 769px) {
    #form dd span {
      line-height: 2em;
      font-size: 1.6rem;
      letter-spacing: 0.05em; } }
  @media screen and (max-width: 768px) {
    #form dd span {
      line-height: 1.715em;
      font-size: 2.8rem;
      letter-spacing: 0.05em; } }

#form dd input[type="text"],
#form dd input[type="mail"] {
  color: #000;
  background-color: #fff;
  border: 1px solid #FFD31C;
  font-weight: 300;
  width: 100%;
  height: 50px;
  line-height: 50px;
  padding: 0 10px; }
  @media screen and (min-width: 769px) {
    #form dd input[type="text"],
    #form dd input[type="mail"] {
      line-height: 2em;
      font-size: 1.6rem;
      letter-spacing: 0.05em; } }
  @media screen and (max-width: 768px) {
    #form dd input[type="text"],
    #form dd input[type="mail"] {
      line-height: 1.715em;
      font-size: 2.8rem;
      letter-spacing: 0.05em; } }

.half_text {
  width: 50% !important; }

#form dd textarea {
  color: #000;
  background-color: #fff;
  border: 1px solid #FFD31C;
  width: 100%;
  padding: 10px 10px;
  font-weight: 300; }
  @media screen and (min-width: 769px) {
    #form dd textarea {
      line-height: 2em;
      font-size: 1.6rem;
      letter-spacing: 0.05em; } }
  @media screen and (max-width: 768px) {
    #form dd textarea {
      line-height: 1.715em;
      font-size: 2.8rem;
      letter-spacing: 0.05em; } }

#form dd input[type="text"]:focus,
#form dd textarea:focus,
#form dd select:focus {
  color: #333;
  border-color: #FF6C3F;
  outline: 0; }

/* Chrome */
::-webkit-input-placeholder {
  color: #A9A9AA; }

/* Firefox */
::-moz-placeholder {
  color: #A9A9AA; }

.placeholder {
  color: #A9A9AA; }

#form dd textarea {
  width: 100% !important;
  height: auto !important; }

input[type=checkbox] {
  display: inline-block;
  margin-right: 6px; }

input[type=checkbox] + label {
  position: relative;
  display: inline-block;
  margin-right: 0;
  font-weight: 300;
  cursor: pointer;
  min-height: 20px; }
  @media screen and (min-width: 769px) {
    input[type=checkbox] + label {
      line-height: 2em;
      font-size: 1.6rem;
      letter-spacing: 0.05em; } }
  @media screen and (max-width: 768px) {
    input[type=checkbox] + label {
      line-height: 1.715em;
      font-size: 2.8rem;
      letter-spacing: 0.05em; } }

input[type=checkbox] {
  display: none;
  margin: 0; }

input[type=checkbox] + label {
  padding: 0 0 0 40px; }

input[type=checkbox] + label.hankaku {
  padding: 0 0 0 50px; }

input[type=checkbox] + label::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  display: block;
  width: 25px;
  height: 25px;
  margin-top: -13px;
  background: #FFF; }

input[type=checkbox] + label::before {
  border: #FFD31C solid 1px; }

input[type=checkbox]:checked + label::after {
  content: "";
  position: absolute;
  top: 50%;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  display: block; }

input[type=checkbox]:checked + label::after {
  left: 3px;
  width: 26px;
  height: 16px;
  margin-top: -15px;
  border-left: 4px solid #FF6C3F;
  border-bottom: 4px solid #FF6C3F;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg); }

input[type=radio] {
  display: inline-block;
  margin-right: 10px; }

input[type=radio] + label {
  position: relative;
  display: inline-block;
  margin-right: 40px;
  font-weight: 300;
  cursor: pointer;
  min-height: 30px; }
  @media screen and (min-width: 769px) {
    input[type=radio] + label {
      line-height: 2em;
      font-size: 1.6rem;
      letter-spacing: 0.05em; } }
  @media screen and (max-width: 768px) {
    input[type=radio] + label {
      line-height: 1.715em;
      font-size: 2.8rem;
      letter-spacing: 0.05em; } }

input[type=radio] {
  display: none;
  margin: 0; }

input[type=radio] + label {
  padding: 0 0 0 40px; }

input[type=radio] + label::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  display: block;
  width: 30px;
  height: 30px;
  margin-top: -15px;
  background: #FFF; }

input[type=radio] + label::before {
  border: #e5e5e5 solid 1px;
  border-radius: 30px; }

input[type=radio] + label::before {
  border: #FFD31C solid 1px; }

input[type=radio]:checked + label::after {
  content: "";
  position: absolute;
  top: 50%;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  display: block; }

input[type=radio]:checked + label::after {
  left: 5px;
  width: 20px;
  height: 20px;
  margin-top: -10px;
  background: #FF6C3F;
  border-radius: 20px; }

#policy {
  position: relative;
  text-align: center;
  width: 100%;
  border-top: #e5e5e5 1px solid;
  border-bottom: #e5e5e5 1px solid; }
  @media screen and (min-width: 769px) {
    #policy {
      margin-top: 4rem;
      padding: 4rem 0; } }
  @media screen and (max-width: 768px) {
    #policy {
      margin-top: 4rem;
      padding: 6rem 0; } }

#policy div {
  position: relative;
  text-align: center;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center; }

#policy .end_text {
  position: relative;
  font-weight: 300;
  padding: 0; }
  @media screen and (min-width: 769px) {
    #policy .end_text {
      line-height: 2em;
      font-size: 1.6rem;
      letter-spacing: 0.05em;
      text-align: center; } }
  @media screen and (max-width: 768px) {
    #policy .end_text {
      line-height: 1.715em;
      font-size: 2.8rem;
      letter-spacing: 0.05em;
      text-align: justify;
      text-justify: inter-ideograph; } }

#policy .end_text a {
  text-decoration: underline; }

.confirmButton {
  position: relative;
  display: block;
  width: 360px;
  height: 50px;
  margin: 60px auto 0;
  background: #fff;
  border: #262626 1px solid;
  transition: .4s ease-out; }

.confirmButton.back::before {
  position: absolute;
  top: 20px;
  content: '';
  left: 15px;
  width: 10px;
  height: 10px;
  border-top: 1px solid #262626;
  border-right: 1px solid #262626;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
  transition: ease 0.8s all; }

.confirmButton input {
  width: 100%;
  height: 100%;
  border: 0;
  background: none;
  text-align: center;
  font-size: 2.0rem;
  letter-spacing: 0;
  line-height: 44px;
  font-weight: 600;
  color: #262626;
  cursor: pointer;
  /***font-family: 'Noto Serif JP', serif !important;***/ }

.confirmButton::before {
  position: absolute;
  top: 17px;
  content: '';
  right: 20px;
  width: 12px;
  height: 12px;
  border-top: 2px solid #262626;
  border-right: 2px solid #262626;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transition: ease 0.4s all; }

.confirmButton:hover::before {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff; }

.confirmButton:hover {
  color: #fff;
  background: #000; }

.confirmButton:hover input {
  color: #fff; }

@media screen and (min-width: 769px) {
  .error {
    padding: 0 0 4rem; } }
@media screen and (max-width: 768px) {
  .error {
    padding: 0 0 4rem; } }

.error_messe {
  color: #cc0000;
  font-weight: 300; }
  @media screen and (min-width: 769px) {
    .error_messe {
      line-height: 2em;
      font-size: 1.6rem;
      letter-spacing: 0.05em; } }
  @media screen and (max-width: 768px) {
    .error_messe {
      line-height: 1.715em;
      font-size: 2.8rem;
      letter-spacing: 0.05em; } }

.btn_set {
  display: flex;
  justify-content: center;
  align-items: center; }
  @media screen and (min-width: 769px) {
    .btn_set {
      padding: 6rem 0 0;
      gap: 4rem; } }
  @media screen and (max-width: 768px) {
    .btn_set {
      flex-wrap: wrap;
      padding: 8rem 0 0;
      gap: 4rem; } }

.submitButton {
  display: block;
  position: relative;
  cursor: pointer;
  transition: .3s;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  background: #FF6C3F;
  border: #FF6C3F 1px solid;
  padding: 0;
  color: #fff;
  cursor: pointer; }
  @media screen and (min-width: 769px) {
    .submitButton {
      width: 24rem;
      height: 4rem;
      border-radius: 2rem;
      font-weight: 300;
      line-height: 1em;
      font-size: 1.6rem;
      letter-spacing: 0.1em;
      font-family: 'Noto Serif JP', serif; } }
  @media screen and (max-width: 768px) {
    .submitButton {
      width: 48rem;
      height: 7rem;
      border-radius: 3.5rem;
      font-weight: 300;
      line-height: 1em;
      font-size: 2.8rem;
      letter-spacing: 0.1em;
      font-family: 'Noto Serif JP', serif;
      order: 1; } }

.submitButton input {
  width: 100%;
  height: 100%;
  border: 0;
  background: none;
  text-align: center;
  color: #fff;
  cursor: pointer;
  /***font-family: 'Noto Serif JP', serif !important;***/ }
  @media screen and (min-width: 769px) {
    .submitButton input {
      font-weight: 300;
      line-height: 1em;
      font-size: 1.6rem;
      letter-spacing: 0.1em;
      font-family: 'Noto Serif JP', serif; } }
  @media screen and (max-width: 768px) {
    .submitButton input {
      font-weight: 300;
      line-height: 1em;
      font-size: 2.8rem;
      letter-spacing: 0.1em;
      font-family: 'Noto Serif JP', serif; } }

.submitButton::after {
  display: block;
  content: "";
  position: absolute;
  top: auto;
  top: 0;
  right: 0;
  height: 100%;
  transition: .4s ease-in-out; }
  @media screen and (min-width: 769px) {
    .submitButton::after {
      width: 4rem;
      background: url("../img/arrow_btn_w.svg") center center no-repeat;
      background-size: 1rem auto; } }
  @media screen and (max-width: 768px) {
    .submitButton::after {
      width: 6rem;
      background: url("../img/arrow_btn_w.svg") center center no-repeat;
      background-size: 1.5rem auto; } }

.submitButton:hover {
  background: #FF6C3F;
  color: #fff; }

.submitButton:hover input {
  color: #fff; }

.submitButton:hover::after {
  transform: translateX(5px); }
  @media screen and (min-width: 769px) {
    .submitButton:hover::after {
      background: url("../img/arrow_btn_w.svg") center center no-repeat;
      background-size: 1rem auto; } }
  @media screen and (max-width: 768px) {
    .submitButton:hover::after {
      background: url("../img/arrow_btn_w.svg") center center no-repeat;
      background-size: 1.5rem auto; } }

.back_btn {
  display: block;
  position: relative;
  cursor: pointer;
  transition: .3s;
  display: block;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  background: none;
  border: #707070 1px solid;
  padding: 0;
  color: #707070;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff; }
  @media screen and (min-width: 769px) {
    .back_btn {
      width: 24rem;
      height: 4rem;
      border-radius: 2rem;
      font-weight: 300;
      line-height: 1em;
      font-size: 1.6rem;
      letter-spacing: 0.1em;
      font-family: 'Noto Serif JP', serif; } }
  @media screen and (max-width: 768px) {
    .back_btn {
      width: 48rem;
      height: 7rem;
      border-radius: 3.5rem;
      font-weight: 300;
      line-height: 1em;
      font-size: 2.8rem;
      letter-spacing: 0.1em;
      font-family: 'Noto Serif JP', serif;
      order: 2; } }

.back_btn::after {
  display: block;
  content: "";
  position: absolute;
  top: auto;
  top: 0;
  left: 0;
  height: 100%;
  transition: .4s ease-in-out;
  transform: translateX(0) rotate(180deg); }
  @media screen and (min-width: 769px) {
    .back_btn::after {
      width: 4rem;
      background: url("../img/arrow_btn_g.svg") center center no-repeat;
      background-size: 1rem auto; } }
  @media screen and (max-width: 768px) {
    .back_btn::after {
      width: 6rem;
      background: url("../img/arrow_btn_g.svg") center center no-repeat;
      background-size: 1rem auto; } }

.back_btn:hover {
  background: #707070;
  color: #fff; }

.back_btn:hover::after {
  transform: translateX(-5px) rotate(180deg); }
  @media screen and (min-width: 769px) {
    .back_btn:hover::after {
      background: url("../img/arrow_btn_w.svg") center center no-repeat;
      background-size: 1rem auto; } }
  @media screen and (max-width: 768px) {
    .back_btn:hover::after {
      background: url("../img/arrow_btn_w.svg") center center no-repeat;
      background-size: 1.5rem auto; } }
