body {
  color: black;
  height: 100vh;
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
  font-style: normal;
} 

a {
  color: black;
  text-decoration: none;
  display: block;
}

p {
  margin: 0;
  padding: 0;
}

li {
  list-style: none;
}

button {
  cursor: pointer;
  color: black;
  border: none;
  background-color: white;
}

img {
  max-width: 100%;
  vertical-align: bottom;
  object-fit: cover;
}

.img>img {
  width: 100%;
  height: 100%;
}

input {
  padding: 0;
}

dl {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

.sp {
  display: none !important;
}

@media (max-width: 768px) {
  .sp {
      display: block !important;
  }
}

@media (max-width: 768px) {
  .pc {
      display: none;
  }
}

.flex-center {
  display: flex;
  justify-content: center;
  align-items: center;
}

.posi-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* 行間 */
.l-20 {
  line-height: 2em;
}

.l-15 {
  line-height: 1.5em;
}

/* 文字間隔 */
.space-5{
  letter-spacing: 0.05em;
}

.space-10{
  letter-spacing: 0.1em;
}

.space-20{
  letter-spacing: 0.2em;
}

/* テキストの配置 */
.t-ctr {
  text-align: center;
}


/* 幅の指定 */
.w-100 {
  width: 100%;
}

.h-32 {
  height: calc(320/1400*100vw);
}

/* topコンテナ */
.top-wrap {
  width: 100%;
  height: calc(282/1400*100vw);
  position: relative;
}

.top-wrap img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.subtitle {
  color: #BB191D;
}

.fb{
  font-weight: 600;
}

/* お問い合わせフォーム */
.contact__dl-wrapper {
  width:65%;
  margin: 0 auto;
}

.contact__content-wrapper {
  width: calc((1000 / 1400) * 100vw);
  margin: 0 auto;
}

.contact__content {
  padding: calc((50 / 1400) * 100vw) calc((40 / 1400) * 100vw);
}

.contact__content.blue {
  border: 5px solid #BB191D;
}
.contact__content.yellow {
  border: 5px solid #E3CC00;
}

.contact__content > p {
  line-height: 2;
}

.contact__content-two {
  display: flex;
}

.contact__content-two > a {
  width: 50%;
  height: calc((70 / 1400) * 100vw);
  line-height: 1.5;
}
.contact__content-two > a.blue {
  background-color: #BB191D;
  color: white;
}
.contact__content-two > a.yellow {
  background-color: #E3CC00;
  color: black;
}
.contact__content-two > a.opacity {
  opacity: 0.5;
}


.contact__dt {
  width: calc(35% - ((20 / 1400) * 100vw));
  margin-right: calc((20 / 1400) * 100vw);
  display: flex;
  align-items: center;
}

.contact__dt::before {
  content: "必須";
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc((50 / 1400) * 100vw);
  height: calc((25 / 1400) * 100vw);
  background-color: #FF5050;
  color: white;
  margin-right: calc((12 / 1400) * 100vw);
}
.contact__dt.not-must::before {
  opacity: 0;
}

select{
  width: 60%;
  height: 3em;
}

.contact__dd {
  width: 65%;
}

.title{
  display: flex;
  align-items: center;
  width: 100%;
}

h3{
  background-color: #BB191D;
  color: white;
  width: 100%;
  padding: 1em;
}

.block{
  display: block;
}

/* ddフォームパターン */
.contact__dd.dd-input > p > span > input {
  padding: calc((10 / 1400) * 100vw) calc((20 / 1400) * 100vw);
  width: calc(100% - calc((40 / 1400) * 100vw));
  background-color: #ECECEC;
  border: none;
}
.contact__dd.dd-input > p > span > input::placeholder {
  color: #D3D3D3;
  font-weight: 700;
}

/* ddテキストエリアパターン */
.contact__dd.dd-txtara > p > span > textarea {
  padding: calc((10 / 1400) * 100vw) calc((20 / 1400) * 100vw);
  width: calc(100% - calc((40 / 1400) * 100vw));
  background-color: #ECECEC;
  border: none;
  height: calc((210 / 1400) * 100vw)
}
.contact__dd.dd-txtara > p > span > textarea::placeholder {
  color: #D3D3D3;
  font-weight: 700;
}

/* 送信ボタン */
.contact__btn > p > input, .contact__btn-t {
  border: 0;
  background-color: #BB191D;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc((300 / 1400) * 100vw);
  height: calc((80 / 1400) * 100vw);
  color: white;
  margin: calc((50 / 1400) * 100vw) auto 0;
  font-size: 20px;
  letter-spacing: 0.15em;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
}

.contact__thanks {
    text-align: center;
    line-height: 1.5;
}

input::placeholder {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 600;
}
input:-moz-placeholder {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 600;
}
input::-moz-placeholder {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 600;
}
input:-ms-input-placeholder {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 600;
}


@media (max-width: 768px) {
	.dd-input textarea {
		width: 100%;
	}
  .contact__dl-wrapper {
    width: 95%;
  }

  .contact__content-wrapper {
      width: 100%;
  }
  
  .contact__content {
      padding: 20px;
  }
  
  .contact__content.blue {
      border: 3px solid #BB191D;
  }
  .contact__content.yellow {
      border: 3px solid #E3CC00;
  }
  
  .contact__content > p {
      line-height: 1.5;
  }
  
  .contact__content-two > a {
      height: auto;
      font-size: 10px !important;
      padding: 12px;
  }

  .contact__dl {
      flex-direction: column;
      margin-bottom: 30px !important;
  }
  
  .contact__dt {
      width: 100%;
      margin-right: 0;
      margin-bottom: 10px;
  }
  .contact__dt.not-must {
      position: relative;
      left: -49px;
  }
  
  .contact__dt::before {
      width: 40px;
      height: 20px;
      margin-right: 10px;
  }
  
  .contact__dd {
      width: 100%;
  }
  
  /* ddフォームパターン */
  .contact__dd.dd-input > p > span > input {
      padding: 10px;
      width: calc(100% - 20px);
  }
  
  /* ddテキストエリアパターン */
  .contact__dd.dd-txtara > p > span > textarea {
      padding: 10px;
      width: calc(100% - 20px);
      height: calc((600 / 1400) * 100vw)
  }
  
  /* 送信ボタン */
  .contact__btn > p > input,  .contact__btn-t {
      width: 250px;
      height: 40px;
      margin: 50px auto 0;
      font-size: 16px;
  }
  .f-16 {
    font-size: 15px;
}
.pc{
  display: none;
}
}

@media (max-width: 480px) {
  .f-16 {
    font-size: 13px;
}
}