@charset "UTF-8";
#contact {
 background: #ececec;
 padding: 5vw;
 color: #23232f;
 height: auto;
 text-align: center;
}
form {
 position: relative;
 width: 100%;
 max-width: 88rem;
 margin: 2.5em auto 0;
}
form .red {
 color: #9D1215;
}
form .asterisk {
 font-weight: 400;
 color: #9D1215;
 font-family: 'Oswald', sans-serif;
 vertical-align: super;
 font-size: 1.2rem;
}
form .error {
 color: #9D1215;
 display: block;
 font-weight: 400;
 font-size: 1.4rem;
 padding-top: 0.5rem;
}
form dl.announce {
 display: flex;
 align-items: center;
 font-weight: 500;
 margin-bottom: 1.5rem;
 font-size: 1.3rem;
}
form dl.announce dd {
 position: relative;
 font-weight: 500;
}
form table {
 font-size: 1.6rem;
 width: 100%;
}
form table th, form table .formDt {
 font-weight: 400;
 text-align: left;
 padding: 1rem 0 1rem;
 line-height: 2.2;
}
form table th {
 width: 20rem;
 vertical-align: top;
}
form table td {
 line-height: 1.4;
 font-weight: 400;
 text-align: left;
 padding: 1rem 0 1rem 3rem;
}
form input, form textarea {
 line-height: 1.4;
 outline: none;
 background: #e1e1e1;
 padding: 0.65rem 1.5rem;
 border: 1px solid rgba(220, 218, 205, 0.5);
 resize: none;
 width: 100%;
 max-width: 40rem;
 color: #333;
 box-sizing: border-box;
 font-size: 1.5rem;
 border-radius: 20rem;
}
form textarea {
 max-width: 100%;
 border-radius: 0.9rem;
}
form input:focus, form textarea:focus {
 border: 1px solid rgba(220, 218, 205, 0.85);
 background: rgba(0, 0, 0, 0.15);
}
form .name input, form .kana input {
 max-width: 25rem;
}
@keyframes ripple {
 0% {
  box-shadow: 0px 0px 0px 1px rgba(255, 255, 255, 0);
 }
 50% {
  box-shadow: 0px 0px 0px 15px rgba(255, 255, 255, 0.1);
 }
 100% {
  box-shadow: 0px 0px 0px 15px rgba(255, 255, 255, 0);
 }
}
form .radioArea .label {
 margin: 1.6rem 0;
 display: flex;
 align-items: center;
}
form .radioArea .label input[type=radio] {
 display: none;
}
form .radioArea .label input[type=radio]:checked + label:before {
 border-color: rgba(220, 218, 205, 0.85);
 animation: ripple 0.2s linear forwards;
}
form .radioArea .label input[type=radio]:checked + label:after {
 transform: scale(1);
}
form .radioArea .label label {
 display: inline-block;
 min-height: 2rem;
 position: relative;
 padding: 0 3rem;
 margin-bottom: 0;
 cursor: pointer;
 vertical-align: bottom;
 line-height: 1.4;
}
form .radioArea .label label:before, form .radioArea .label label:after {
 position: absolute;
 content: "";
 border-radius: 50%;
 transition: all 0.3s ease;
 transition-property: transform, border-color;
}
form .radioArea .label label:before {
 left: 0;
 top: 0;
 width: 2rem;
 height: 2rem;
 border: 2px solid rgba(220, 218, 205, 0.5);
}
form .radioArea .label label:after {
 top: 0.5rem;
 left: 0.5rem;
 width: 1rem;
 height: 1rem;
 transform: scale(0);
 background: #F2C813;
}
form table td p {
 padding-top: 1rem;
 font-size: 1.4rem;
}
form .btnArea {
 display: block;
 padding: 5rem 0 0;
 font-size: 0;
 letter-spacing: -0.4rem;
}
form .btnArea .btn, .message .btn {
 display: inline-block;
 vertical-align: top;
 margin-right: 2.5rem;
}
form .btnArea .btn:last-of-type {
 margin-right: 0;
}
form .btnArea .btn button, form .btnArea .btn a, .message .btn a {
 outline: 0;
 padding: 1.5em 7.5rem;
 color: #5c5c5c;
 border: none;
 line-height: 1.2;
 font-size: 1.8rem;
 letter-spacing: 0.05em;
 font-weight: 400;
 background: #cecece;
 cursor: pointer;
 transition: .2s;
 display: block;
 border-radius: 20rem;
}
form .btnArea .btn button:hover, form .btnArea .btn a:hover {
 color: #333;
 background: #acacac;
}
form .btnArea .btn .submit, .message .btn a {
 background: #1e1e1e;
 color: #fcfcfc;
}
form .btnArea .btn .submit:hover, .message .btn a:hover {
 background: #022B56;
 color: #fcfcfc;
}
@media screen and (max-width: 999px) {
 #contact {
  padding: 4rem 2rem;
 }
 form .error {
  font-size: 1.3rem;
 }
 form table {
  font-size: 1.6rem;
 }
 form table tr {
  display: block;
 }
 form table th, form table .formDt {
  display: block;
  padding: 1rem 0 0.5em;
 }
 form table th {
  width: 100%;
  line-height: 1.4;
 }
 form table td {
  display: block;
  padding: 0 0 1rem 0;
 }
 form input, form textarea {
  width: 100%;
  border-radius: 0.4rem;
 }
 form textarea {
  border-radius: 0.4rem;
 }
 form .radioArea .label {
  margin: 1.4rem 0;
 }
 form table td p {
  font-size: 1.3rem;
 }
 form .btnArea {
  padding: 2.5rem 0 0;
 }
 form .btnArea .btn, .message .btn {
  margin-right: 1.5rem;
 }
 form .btnArea .btn button, form .btnArea .btn a, .message .btn a {
  padding: 1.25em 4.5rem;
  font-size: 1.7rem;
 }
}