* {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: #231815;
  font-family: 'Noto Sans JP', sans-serif;
  text-decoration: none;
  list-style: none;
}

.sp {
  display: block;
}

.pc {
  display: none;
}

body {
  font-size: 62.5%;
}

.header__logo {
  width: 23%;
  margin: 4.7% 4.7% 15%;
}

.header__logo img {
  width: 100%;
  vertical-align: bottom;
}

.contactTtl {
  text-align: center;
}

.contactTtl .contactTtl__img {
  text-align: center;
  margin-bottom: 3%;
}

.contactTtl .contactTtl__img img {
  width: 45%;
  vertical-align: bottom;
}

.contactTtl .contactTtl__txt {
  font-size: 5.34vw;
  font-family: serif, 'Noto Sans JP', sans-serif;
  font-weight: bold;
  letter-spacing: 3px;
  margin-bottom: 19%;
}

.contactTtl .contactTtl__txt span {
  color: #d41916;
  font-family: serif, 'Noto Sans JP', sans-serif;
}

.contact__lead {
  text-align: center;
  font-size: 3.74vw;
  font-weight: 400;
  margin-bottom: 13%;
  line-height: 1.8;
}

.contact__lead span {
  color: #d41916;
}

.contactContainer {
  padding: 8% 8% 14%;
  background-color: #f4f6f8;
}

.contactItems:not(:last-of-type) {
  margin-bottom: 14%;
}

.contactItems--margin {
  margin-bottom: 25% !important;
}

.contactItems__ttl {
  font-size: 3.47vw;
  font-weight: 500;
  margin-bottom: 2%;
}

.contactItems__ttl span {
  color: #d41916;
}

.contactItems__checkbox {
  font-size: 3.47vw;
  position: relative;
}

.contactItems__checkbox input[type="checkbox"] {
  display: none;
}

.contactItems__checkbox input + span::before {
  content: "";
  display: block;
  position: absolute;
  top: 22%;
  left: -24%;
  width: 1.75em;
  height: 1.75em;
  background: #fff;
  background-size: contain;
  border: 2px solid #a9acba;
  border-radius: 5px;
}

.contactItems__checkbox input:checked + span::after {
  content: "";
  background-image: url(../img/check.svg);
  display: block;
  position: absolute;
  top: 22%;
  left: -24%;
  width: 1.75em;
  height: 1.75em;
  background-size: 70%;
  background-position: center center;
  background-repeat: no-repeat;
  border: 2px solid #a9acba;
  border-radius: 5px;
}

.contactItems__checkbox span {
  position: absolute;
  top: -30%;
  left: 13%;
  font-weight: 500;
  line-height: 1.6;
  margin-top: -25%;
}

.contactItems__field {
  width: 100%;
}

.contactItems__input {
  font-size: 3.47vw;
  padding: 2.5% 4% 3%;
  margin-bottom: 2%;
  width: 100%;
  border: solid 2px #a9acba;
  border-radius: 5px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
}

.contactItems__input:focus {
  outline: none;
  border: solid 2px #a9acba;
}

.contactItems__input--width {
  width: 45%;
}

.contactItems__input::placeholder {
  font-size: 3.47vw;
  color: #a9acba;
}

.contactItems__select {
  font-size: 3.47vw;
  padding: 2.5% 4% 3%;
  margin-bottom: 2%;
  width: 45%;
  border: solid 2px #a9acba;
  border-radius: 5px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #fff;
  background-image: url(../img/pull-down.svg);
  background-repeat: no-repeat;
  background-size: 10%;
  background-position: calc(100% - 5%) center;
}

.contactItems__select:focus {
  outline: none;
  border: solid 2px #a9acba;
}

.contactItems__select--error {
  background: #f4dcdc;
  background-image: url(../img/pull-down.svg);
  background-repeat: no-repeat;
  background-size: 10%;
  background-position: calc(100% - 5%) center;
}

.contactItems__address {
  font-size: 3.47vw;
  margin-bottom: 2%;
}

.contactItems__address span {
  color: #d41916;
}

.contactItems__note {
  font-size: 3.2vw;
}

.contactItems__textarea {
  width: 100%;
  font-size: 3.47vw;
  border: solid 2px #a9acba;
  border-radius: 5px;
  padding: 3% 4%;
  text-align: justify;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  resize: none;
}

.contactItems__textarea:focus {
  outline: none;
  border: solid 2px #a9acba;
}

.contactItems--last {
  margin-bottom: 0;
  text-align: center;
}

.contactAdress {
  font-size: 3.47vw;
  font-weight: 500;
  margin-bottom: 8%;
}

.contactPrivacy__inner {
  padding: 0 8% 5%;
  background: #f4f6f8;
}

.contactPrivacy__outer {
  background: #fff;
  padding: 4%;
  border: solid 2px #a9acba;
  border-radius: 5px;
  height: 25vh;
  overflow-y: scroll;
}

.contactPrivacy__outer::-webkit-scrollbar {
  width: 5px;
}

.contactPrivacy__outer::-webkit-scrollbar-track {
  border-radius: 5px;
  background: #f2f2f2;
}

.contactPrivacy__outer::-webkit-scrollbar-thumb {
  border-radius: 10px;
  background: #a9acba;
}

.contactPrivacy__ttl {
  font-size: 3.47vw;
  margin-bottom: 2%;
  font-weight: 500;
}

.contactPrivacy__ttl span {
  color: #d41916;
}

.contactPrivacy__txt {
  font-size: 3.47vw;
}

.contactPrivacy__txt dl {
  margin-bottom: 8%;
}

.contactPrivacy__txt dt {
  font-weight: bold;
  color: #66687a;
  margin-bottom: 1%;
}

.contactPrivacy__txt dd {
  color: #66687a;
  text-align: justify;
}

.contactPrivacy__txt .contactInfo__txt {
  color: #66687a;
}

.contactPrivacy__txt a {
  color: #66687a;
  pointer-events: none;
}

.contactPrivacyCheck {
  background: #dfe4ea;
  text-align: center;
  padding: 8.5% 0;
  margin-bottom: 12%;
}

.contactPrivacyCheck__btn {
  font-size: 3.47vw;
  font-weight: 500;
  position: relative;
}

.contactPrivacyCheck__btn input[type="checkbox"] {
  display: none;
}

.contactPrivacyCheck__btn input + span::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  position: absolute;
  top: -10%;
  left: 11%;
  width: 1.75em;
  height: 1.75em;
  background: #fff;
  background-size: contain;
  border: 2px solid #a9acba;
  border-radius: 5px;
  margin-right: 3%;
}

.contactPrivacyCheck__btn input:checked + span::after {
  content: "";
  background-image: url(../img/check.svg);
  display: inline-block;
  vertical-align: middle;
  position: absolute;
  top: -10%;
  left: 11%;
  width: 1.75em;
  height: 1.75em;
  background-size: 70%;
  background-position: center center;
  background-repeat: no-repeat;
  border: 2px solid #a9acba;
  border-radius: 5px;
}

.contactPrivacyCheck__btn input + .contactItems__txt--error::before {
  background: #f4dcdc;
}

.contactBtn {
  text-align: center;
  margin-bottom: 12%;
}

.contactBtn button {
  position: relative;
  border: none;
  outline: none;
  font-size: 3.74vw;
  font-weight: 500;
  padding: 6.8% 26%;
  color: #fff;
  background: #a9acba;
  border-radius: 100px;
  transition: .3s ease;
  -webkit-transition: .3s ease;
  -ms-transition: .3s ease;
  -moz-transition: .3s ease;
  -o-transition: .3s ease;
  letter-spacing: 3px;
}

.contactBtn button:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 4%;
  width: 10%;
  height: 15%;
  background: url(../img/link_arrow.svg);
  background-repeat: no-repeat;
  transform: translateY(-50%);
}

.footer {
  text-align: center;
  margin-bottom: 8%;
}

.footer__copy {
  font-size: 2.94vw;
}

.error {
  font-size: 3.47vw;
  display: block;
}

.mrer {
  display: block;
  font-size: 3.47vw;
  letter-spacing: -.5px;
  text-indent: -1em;
  padding-left: 1em;
}

.errorWrap {
  font-size: 3.47vw;
  font-weight: 500;
  background: #ffebea;
  width: 84%;
  margin: 9% auto;
  padding: 3% 4%;
  line-height: 1.8;
}

.errorWrap li {
  color: #d41916;
}

@media screen and (min-width: 768px) {
  .sp {
    display: none;
  }
  .pc {
    display: block;
  }
  .header__logo {
    width: 13%;
    margin: 3% 3.5% 9.2%;
  }
  .contactTtl {
    text-align: center;
  }
  .contactTtl .contactTtl__img {
    margin-bottom: 2%;
  }
  .contactTtl .contactTtl__img img {
    width: 18.5%;
  }
  .contactTtl .contactTtl__txt {
    font-size: 4.8vw;
    margin-bottom: 6.5%;
  }
  .contact__lead {
    font-size: 1.87vw;
    margin-bottom: 6.5%;
  }
  .contactContainer {
    padding: 4.5% 0 4%;
  }
  .contactContainer__inner {
    width: 80%;
    margin: 0 auto;
  }
  .contactItems:not(:last-of-type) {
    margin-bottom: 3%;
  }
  .contactItems--margin {
    margin-bottom: 7.5% !important;
  }
  .contactItems__ttl {
    font-size: 2vw;
    margin-bottom: 1%;
  }
  .contactItems__checkbox {
    font-size: 2vw;
  }
  .contactItems__checkbox input + span::before {
    top: 10%;
    left: 0;
    width: 1.2em;
    height: 1.2em;
    border: 1px solid #a9acba;
    border-radius: 3px;
  }
  .contactItems__checkbox input:checked + span::after {
    top: 10%;
    left: 0;
    width: 1.2em;
    height: 1.2em;
    border: 1px solid #a9acba;
    border-radius: 3px;
  }
  .contactItems__checkbox span {
    position: static;
    padding-left: 6%;
  }
  .contactItems__input {
    font-size: 1.74vw;
    padding: .8% 1.5% 1.1%;
    margin-bottom: 2%;
    border: solid 1px #a9acba;
    border-radius: 3px;
  }
  .contactItems__input:focus {
    border: solid 2px #a9acba;
  }
  .contactItems__input--width {
    width: 23%;
  }
  .contactItems__input::placeholder {
    font-size: 1.74vw;
  }
  .contactItems__select {
    font-size: 1.74vw;
    padding: .8% 1.5% 1.1%;
    margin-bottom: 2%;
    width: 23%;
    border: solid 1px #a9acba;
    border-radius: 3px;
    background-size: 7%;
  }
  .contactItems__select:focus {
    border: solid 2px #a9acba;
  }
  .contactItems__address {
    font-size: 2vw;
    margin-bottom: 1%;
  }
  .contactItems__note {
    font-size: 1.74vw;
    margin-top: -1%;
    margin-bottom: 6%;
  }
  .contactItems__textarea {
    font-size: 1.74vw;
    border: solid 1px #a9acba !important;
    border-radius: 3px;
    padding: .8% 1.5% 1.1%;
  }
  .contactItems__textarea:focus {
    border: solid 2px #a9acba !important;
  }
  .contactAdress {
    font-size: 2vw;
    margin-bottom: 4%;
  }
  .contactPrivacy__inner {
    padding: 0 0 5%;
  }
  .contactPrivacy__inner--width {
    width: 80%;
    margin: 0 auto;
  }
  .contactPrivacy__outer {
    padding: 3%;
    border: solid 1px #a9acba;
    border-radius: 3px;
    height: 25vh;
  }
  .contactPrivacy__ttl {
    font-size: 2vw;
    margin-bottom: 1%;
  }
  .contactPrivacy__txt {
    font-size: 1.74vw;
  }
  .contactPrivacy__txt dl {
    margin-bottom: 4.5%;
  }
  .contactPrivacy__txt dt {
    margin-bottom: .3%;
  }
  .contactPrivacyCheck {
    padding: 4.3% 0;
    margin-bottom: 11.5%;
  }
  .contactPrivacyCheck__btn {
    font-size: 2vw;
  }
  .contactPrivacyCheck__btn input + span::before {
    vertical-align: middle;
    top: 7%;
    left: 29%;
    width: 1.2em;
    height: 1.2em;
    border: 1px solid #a9acba;
    border-radius: 3px;
    margin-right: 2%;
  }
  .contactPrivacyCheck__btn input:checked + span::after {
    background-image: url(../img/check.svg);
    vertical-align: middle;
    position: absolute;
    top: 7%;
    left: 29%;
    width: 1.2em;
    height: 1.2em;
    background-size: 70%;
    border: 1px solid #a9acba;
    border-radius: 3px;
  }
  .contactBtn {
    margin-bottom: 11.5%;
  }
  .contactBtn button {
    font-size: 2.14vw;
    padding: 3.5% 20%;
  }
  .contactBtn button:before {
    content: "";
    top: 50%;
    right: 4%;
    width: 10%;
    height: 15%;
  }
  .footer {
    margin-bottom: 8%;
  }
  .footer__copy {
    font-size: 1.6vw;
  }
  .error {
    font-size: 2vw;
  }
  .mrer {
    font-size: 2vw;
  }
  .errorWrap {
    font-size: 1.87vw;
    width: 80%;
    margin: 3.5% auto;
    padding: 1% 2%;
  }
}

@media screen and (min-width: 1000px) {
  .header {
    max-width: 1000px;
    margin: 0 auto;
  }
  .header__logo {
    width: 100px;
    margin: 23px 38px 72px;
  }
  .contactTtl .contactTtl__img {
    margin-bottom: 32px;
  }
  .contactTtl .contactTtl__img img {
    width: 141px;
  }
  .contactTtl .contactTtl__txt {
    font-size: 36px;
    margin-bottom: 55px;
  }
  .contact__lead {
    font-size: 14px;
    margin-bottom: 44px;
  }
  .contactContainer {
    padding: 35px 0 30px;
  }
  .contactContainer__inner {
    width: 600px;
  }
  .contactItems:not(:last-of-type) {
    margin-bottom: 28px;
  }
  .contactItems--margin {
    margin-bottom: 39px !important;
  }
  .contactItems__ttl {
    font-size: 15px;
    margin-bottom: 7px;
  }
  .contactItems__checkbox {
    font-size: 15px;
  }
  .contactItems__checkbox input + span::before {
    top: 10%;
    left: 0;
    width: 18px;
    height: 18px;
  }
  .contactItems__checkbox input:checked + span::after {
    top: 10%;
    left: 0;
    width: 18px;
    height: 18px;
  }
  .contactItems__checkbox span {
    position: static;
    padding-left: 6%;
    cursor: pointer;
  }
  .contactItems__input {
    font-size: 13px;
    padding-top: 8px;
    padding-bottom: 8px;
    margin-bottom: 6px;
    cursor: pointer;
  }
  .contactItems__input--width {
    width: 142px;
  }
  .contactItems__input::placeholder {
    font-size: 13px;
  }
  .contactItems__select {
    font-size: 13px;
    padding-top: 8px;
    padding-bottom: 8px;
    margin-bottom: 0;
    width: 142px;
    background-size: 14px;
    cursor: pointer;
  }
  .contactItems__address {
    font-size: 15px;
    margin-bottom: 7px;
  }
  .contactItems__note {
    font-size: 13px;
    margin-top: -4px;
    margin-bottom: 40px;
  }
  .contactItems__textarea {
    font-size: 13px;
    padding: 1.5% 1.5% 2%;
    cursor: pointer;
  }
  .contactItems__txt {
    position: relative;
  }
  .contactAdress {
    font-size: 15px;
    margin-bottom: 28px;
  }
  .contactPrivacy__inner {
    padding: 0 0 30px;
  }
  .contactPrivacy__inner--width {
    width: 600px;
  }
  .contactPrivacy__outer {
    padding: 17px 14px;
    height: 220px;
  }
  .contactPrivacy__ttl {
    font-size: 15px;
    margin-bottom: 7px;
  }
  .contactPrivacy__txt {
    font-size: 13px;
  }
  .contactPrivacy__txt dl {
    margin-bottom: 26px;
  }
  .contactPrivacy__txt dt {
    margin-bottom: 2px;
  }
  .contactPrivacyCheck {
    padding: 32px 0;
    margin-bottom: 91px;
  }
  .contactPrivacyCheck__btn {
    font-size: 15px;
  }
  .contactPrivacyCheck__btn input + span::before {
    vertical-align: middle;
    top: 10%;
    left: -11%;
    width: 18px;
    height: 18px;
    margin-right: 15px;
  }
  .contactPrivacyCheck__btn input:checked + span::after {
    background-image: url(../img/check.svg);
    vertical-align: middle;
    top: 10%;
    left: -11%;
    width: 18px;
    height: 18px;
    background-size: 70%;
  }
  .contactPrivacyCheck span {
    cursor: pointer;
  }
  .contactBtn {
    margin-bottom: 91px;
  }
  .contactBtn button {
    font-size: 15px;
    padding: 28px 154px;
    cursor: pointer;
    box-sizing: unset;
    transition: all .3s ease;
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -ms-transition: all .3s ease;
  }
  .contactBtn button:hover {
    opacity: .4;
    transform: scale(1.02);
  }
  .footer {
    margin-bottom: 30px;
  }
  .footer__copy {
    font-size: 12px;
  }
  .error {
    font-size: 14px;
  }
  .mrer {
    font-size: 14px;
  }
  .errorWrap {
    font-size: 14px;
    width: 600px;
    margin: 28px auto 30px;
    padding: 14px 15px;
  }
}

.confirm .contactContainer {
  padding: 5.5% 12% 8%;
  margin-bottom: 12%;
}

.confirm .contactItems__ttl {
  margin-bottom: 3%;
}

.confirm .contactItems__input {
  padding: 0;
  margin-bottom: 0;
  border: none;
  background: #f4f6f8;
  color: #66687a;
}

.confirm .contactItems__select {
  padding: 0;
  margin-bottom: 0;
  width: 100%;
  border: none;
  background-color: #f4f6f8;
  background-image: none;
  color: #66687a;
}

.confirm .contactItems__textarea {
  border: none;
  padding: 0;
  color: #66687a;
}

.confirm .contactBtn {
  margin-bottom: 12%;
}

.confirm .contactBtn button {
  padding: 6.8% 0;
  width: 80%;
}

.confirm .contactBtn button:first-child {
  margin-bottom: 6%;
}

.confirm .contactBtn button:last-child {
  background: #bfcad5;
}

.confirm .contactBtn button.btn_back:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 4%;
  width: 10%;
  height: 15%;
  background: url(../img/link_arrow2.svg);
  background-repeat: no-repeat;
  transform: translateY(-50%);
}

@media screen and (min-width: 768px) {
  .confirm .contactItems__ttl {
    margin-bottom: 7px;
  }
  .confirm .contactItems__textarea {
    border: none !important;
  }
  .confirm .contactBtn {
    margin-bottom: 12%;
    display: flex;
    justify-content: center;
  }
  .confirm .contactBtn button {
    padding: 3.2% 0;
    width: 43%;
  }
  .confirm .contactBtn button:first-child {
    margin-bottom: 0;
    margin-left: 3%;
    order: 2;
  }
}

@media screen and (min-width: 1000px) {
  .confirm .contactContainer {
    padding: 68px 0 81px;
    margin-bottom: 90px;
  }
  .confirm .contactContainer__inner {
    width: 565px;
  }
  .confirm .contactBtn {
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
    margin-bottom: 169px;
  }
  .confirm .contactBtn button {
    padding: 28px 0;
    width: 450px;
  }
  .confirm .contactBtn button:first-child {
    margin-left: 30px;
    position: absolute;
    right: 135px;
  }
  .confirm .contactBtn button:last-child {
    position: absolute;
    left: 135px;
  }
}

.thanks .contact__lead {
  margin-bottom: 44%;
}

.thanks .linkBox {
  margin-bottom: 13%;
  text-align: center;
}

.thanks .linkBox__btn {
  display: inline-block;
  font-size: 3.74vw;
  color: #fff;
  background: #a9acba;
  padding: 7.6% 36.3%;
  border-radius: 100px;
}

@media screen and (min-width: 768px) {
  .thanks .contact__lead {
    margin-bottom: 49.5%;
  }
  .thanks .linkBox {
    margin-bottom: 10%;
  }
  .thanks .linkBox__btn {
    font-size: 2.14vw;
    padding: 3.2% 0;
    width: 58%;
  }
}

@media screen and (min-width: 1000px) {
  .thanks .contact__lead {
    margin-bottom: 385px;
  }
  .thanks .linkBox {
    margin-bottom: 80px;
  }
  .thanks .linkBox__btn {
    box-sizing: unset;
    font-size: 16px;
    padding: 28px 0;
    width: 450px;
    transition: .3s ease;
    -webkit-transition: .3s ease;
    -moz-transition: .3s ease;
    -ms-transition: .3s ease;
  }
  .thanks .linkBox__btn:hover {
    opacity: .4;
    transform: scale(1.02);
  }
}
