body {
  margin: 0;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium",
    "游ゴシック", "Yu Gothic", sans-serif;
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
h1,
h2 {
  margin: 0;
}
input {
  margin: 0;
  padding: 0;
  border-radius: 0;
  border: 1px solid #bebebe;
  box-sizing: border-box;
}
textarea {
  border: 1px solid #bebebe;
  padding: 0;
  box-sizing: border-box;
  resize: none;
}
input,
textarea {
  padding: 10px;
  font-family: inherit;
}
th,
td {
  padding: 0;
}

body::after {
  content: "";
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  background: url("./img/background.png") no-repeat center / cover;
  z-index: -10;
}
.l-kv {
  position: fixed;
  top: 50px;
  left: 50px;
  background: none;
  width: clamp(1rem, -4.432rem + 27.16vw, 15.938rem);
  z-index: 10;

  @media screen and (max-width: 767px) {
    display: none;
  }
}
.l-wrap {
  position: relative;
  max-width: 375px;
  width: 100%;
  margin: 0 auto;
  @media screen and (max-width: 600px) {
    max-width: 700px;
  }
}

.p-main-list {
  padding-bottom: 18.5px;
  background: #fff;
}

.p-main-compare-inner {
  position: relative;
  padding-bottom: 120px;
  background-color: #fff;
}
.compare-contact {
  position: absolute;
  z-index: 1;
  bottom: 20px;
}
.white-contact {
  background-color: #fff;
}
.gray-contact {
  background-color: #f0f0f0;
}
.p-main-last {
  position: relative;
}
.last-contact {
  position: absolute;
  z-index: 1;
  bottom: 10px;
}

.p-main-contact {
  background-color: #fff;
  padding: 59.3px 22px 93px;
  color: #171717;
}
.p-main-contact-title {
  color: #fff;
  background: url("./img/contact.png") no-repeat center / cover;
  line-height: 54px;
  text-align: center;
  font-weight: 400;
  letter-spacing: 0.05em;
  font-family: "yu-mincho-pr6n", sans-serif;
  font-style: normal;
  font-size: 26px;
}
.p-main-contact-table {
  width: 100%;
  font-size: 14px;
  letter-spacing: 0.05em;
}
.p-main-contact tr {
  display: flex;
  flex-direction: column;
}
.p-main-contact tr:first-child {
  margin-top: 57px;
}
.p-main-contact tr:not(:first-child) {
  margin-top: 26.8px;
}
.p-main-contact th {
  text-align: left;
  font-weight: normal;
}
.p-main-contact label .required {
  color: #c95f5f;
  font-size: 10px;
  margin-left: 8px;
}

.p-main-contact-radio th {
  margin-bottom: 16px;
}
.radio label {
  display: block;
}
.radio label:not(:first-child) {
  margin-top: 10px;
}
.radio label input {
  margin-right: 9px;
}

.p-main-contact-input th,
.p-main-contact-text th {
  margin-bottom: 9.8px;
}
.p-main-contact-input td input {
  width: 100%;
  height: 44.84px;
}
.p-main-contact-text td {
  height: 146.38px;
}
.p-main-contact-text td textarea {
  width: 100%;
  height: inherit;
}
.p-main-contact-submit {
  text-align: center;
  letter-spacing: 0.1em;
  display: block;
  margin: 82.2px auto 0 auto;
  padding: 0;
  background-color: #6e0019;
  color: #fff;
  width: 244.81px;
  height: 38.64px;
  cursor: pointer;
  border: 0;
  font-size: 20px;
}

html {
  scroll-behavior: smooth;
}
.c-to-contact {
  transition: all ease 0.3s;
}
.anime {
  animation: animeContact 2s infinite;
}
@keyframes animeContact {
  0% {
    transform: translate(0px, 2px);
  }
  5% {
    transform: translate(0px, -2px);
  }
  10% {
    transform: translate(0px, 2px);
  }
  15% {
    transform: translate(0px, -2px);
  }
  20% {
    transform: translate(0px, 2px);
  }
  25% {
    transform: translate(0px, -2px);
  }
  30% {
    transform: translate(0px, 0px);
  }
}
.c-to-contact:hover {
  opacity: 0.8;
}
