@charset "utf-8";
/* CSS Document */

article {
  margin: 17vw 0 0;
}

/* ===========================================================
　main
=========================================================== */


.main {
  background: #f6f6f6;
  padding: 8vw 0;
}


.main .wrapper {
  width: 85vw;
  margin: 0 auto;
  position: relative;
}

.main h1 {
  font-size: 7vw;
  font-family: source-han-serif-japanese, serif;
  color: #224263;
  font-weight: 600;
  letter-spacing: 0.2vw;
  line-height: 9vw;
  margin: 0 0 6vw;
}

.main .lead {
  font-size: 3.4vw;
  line-height: 5vw;
  background: #fff;
  padding: 6vw 8vw;
  display: inline-block;
  position: relative;
  z-index: 999;
}

/* 別パターン */

.main figure.small img {
  object-fit: cover;
  width: 100%;
  height: 30vw;
  z-index: 9999999;
}

/* ===========================================================
　merit
=========================================================== */

.merit {
  width: 85vw;
  margin: 0 auto;
  padding: 0 0 8vw;
}

article .merit:first-of-type {
  padding: 8vw 0;
}

.merit h2 {
  margin: 0 0 6vw;
  font-size: 5vw;
  line-height: 7vw;
  font-family: source-han-serif-japanese, serif;
  color: #224263;
  font-weight: 600;
  position: relative;
  padding: 0 0 0 4vw;
  border-left: solid  1.5vw #224263;
}

.merit h2 span {
  font-size: 3.4vw;
  display: block;
  margin: 0 0 0.5vw;
}

.merit .txt {
  font-size: 3.2vw;
  line-height: 5vw;
  padding: 6vw 0 0;
}

.merit .txt span {
  text-decoration: underline;
  text-decoration-thickness: 0.5em;
  text-decoration-color: #f9f091;
  text-underline-offset: -0.2em;
  text-decoration-skip-ink: none;
  font-weight: 700;
}


/* ===========================================================
　price
=========================================================== */

.price {
  width: 85vw;
  margin: 0 auto;
  padding: 8vw 0 0;
  position: relative;
  z-index: 0;
}

article .price:last-of-type {
  padding: 8vw 0 10vw;
}


.price h2 {
  margin: 0 0 5vw;
  font-size: 4.2vw;
  font-family: source-han-serif-japanese, serif;
  color: #224263;
  font-weight: 600;
  position: relative;
  display: inline-block;
  padding: 0 2vw 0 0;
  background: #fff;
}

.price h2:after {
  content: "";
  width: 85vw;
  height: 1px;
  background: #224263;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  z-index: -1;
}

.price .txt {
  font-size: 3.2vw;
  line-height: 5vw;
  padding: 0 0 0 1vw;
}

.price .txt b {
  font-weight: 700;
}

.price table {
  border-top: solid 1px #ccc;
  border-left: solid 1px #ccc;
  display: inline-block;
  margin: 4vw 0 4vw 1vw;
}

.price table td {
  padding: 2vw;
  border-bottom: solid 1px #ccc;
  border-right: solid 1px #ccc;
  font-size: 2.7vw;
  line-height: 4vw;
  vertical-align: middle;
}

.price table tr td:first-of-type {
  white-space: nowrap;
}



/* ===========================================================
　qa
=========================================================== */

.qa {
  width: 85vw;
  margin: 0 auto;
  padding: 8vw 0;
}

.qa h2 {
  margin: 0 0 4vw;
  font-size: 4vw;
  line-height: 5.5vw;
  font-family: source-han-serif-japanese, serif;
  color: #224263;
  font-weight: 600;
  position: relative;
  padding: 0 0 0 4vw;
  border-left: solid  1.5vw #224263;
}

.qa h2 span {
  font-size: 3.2vw;
  display: block;
  line-height: 4.5vw;
  margin: 2vw 0 0;
}

.qa .txt {
  font-size: 3.2vw;
  line-height: 5vw;
  padding: 0 0 8vw
}

.qa .txt span {
  text-decoration: underline;
  text-decoration-thickness: 0.5em;
  text-decoration-color: #f9f091;
  text-underline-offset: -0.2em;
  text-decoration-skip-ink: none;
  font-weight: 700;
}



