@charset "UTF-8";

/* 変数 */
:root {
  --main-color: #1e51a2;
  --main-back: #fff38b;
  --reddish: #ff2f2f;
  --brown: #64471e;

  --trans: 0.1s linear;
}

.contents_body * {
  box-sizing: border-box;
}
.contents_body img {
  display: block;
  user-select: none;
  pointer-events: none;
}

/* table */
table,
th,
td {
  padding: 0.25rem 2rem;
  border: solid 1px #aaa;
  border-collapse: collapse;
}
table {
  margin-top: 1rem;
}
th {
  background-color: #f4f4f4;
}

/* fv */
@media screen and (min-width: 680px) {
  .fv {
    margin-top: 0.75rem;
  }
}

/* こんな方におすすめ */
.recommend {
  position: relative;
  width: fit-content;
  margin: 0 auto;
  gap: 1.2rem 1rem;
}
.recommend > div {
  position: relative;
  padding: 1rem 1.5rem;
  padding-left: 3.5rem;
  border-radius: 0.5rem;
  font-size: 1.15rem;
  font-weight: bold;
  color: #111;
  background-color: #f4f4f4;
}
.recommend > div::before,
.recommend > div::after {
  position: absolute;
  content: "";
}
.recommend > div::before {
  top: calc(50% - (1.65rem / 2));
  left: 1rem;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 50%;
  background-color: var(--main-color);
}
.recommend > div::after {
  top: calc(50% - (0.8rem / 2));
  left: 1.25rem;
  width: 0.9rem;
  height: 0.45rem;
  border-left: solid 4px #fff;
  border-bottom: solid 4px #fff;
  rotate: -45deg;
}
.recommend p {
  white-space: nowrap;
  margin: 0;
}

/* トップ お問い合わせ */
/* .topTel {
  border: none;
}
.topTel > div {
  width: 30rem;
  padding: 1rem !important;
  flex-grow: 0;
  border: none !important;
  border-radius: 0.5rem;
  background-color: #f6f6f6;
} */

/* コース選択 */
@media screen and (min-width: 680px) {
  .course-select h2 {
    border: none !important;
    margin-bottom: 1rem !important;
  }
}
.course > div {
  flex-grow: 0;
  width: 15rem !important;
  text-align: center;
}
.course > div a {
  position: relative;
  display: block;
  padding: 0.75rem 1rem;
  padding-right: 1.5rem;
  border-radius: 5rem;
  font-size: 1.25rem;
  color: #fff;
  background-color: var(--main-color);
  transition: var(--trans);
}
.course > div a::before,
.course > div a::after {
  position: absolute;
  content: "";
  transition: var(--trans);
}
.course > div a::before {
  top: calc(50% - (1.75rem / 2));
  right: 1rem;
  width: 1.75rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: #fff;
}
.course > div a::after {
  top: calc(50% - (1rem / 2));
  right: 1.5rem;
  width: 0.5rem;
  aspect-ratio: 1;
  border-left: solid 3px var(--main-color);
  border-bottom: solid 3px var(--main-color);
  rotate: -45deg;
}
@media screen and (min-width: 680px) {
  .course > div a:hover {
    background-color: #144088;
  }
  .course > div a:hover::before {
    top: calc(50% - (1.25rem / 2));
  }
  .course > div a:hover::after {
    top: calc(50% - (0.5rem / 2));
  }
}

/* before after */
.beaf h3,
.wata-beaf h3 {
  margin: 0 !important;
  margin-bottom: 0.5rem !important;
  padding: 0 !important;
  border: none !important;
  line-height: 2rem !important;
}
.before-after {
  position: relative;
  flex-grow: 0 !important;
  width: 50% !important;
  margin-bottom: 2rem;
}
.before-after span {
  position: absolute;
  content: "";
  bottom: -2rem;
  left: calc(50% - (16rem / 2));
  display: inline-block;
  text-align: center;
  font-size: 1.2rem;
  font-weight: bold;
}
.wata-beaf .before-after span {
  bottom: -3.5rem;
  left: calc(50% - (13rem / 2));
}

/* 布団 */
.futon-box > div {
  width: 100%;
}
.futon-box .trim {
  width: 100%;
  height: 200px;
}
.futon-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.futon-box b {
  color: var(--main-color);
}
.futon-box .trim.flexBox {
  flex-direction: column;
}

.futonList li:has(+ li) {
  margin-bottom: 0.5rem !important;
}

.info > div:first-of-type {
  width: 40%;
}
.info > div:last-of-type {
  width: 60%;
}
.infoBox img {
  width: 5rem;
  aspect-ratio: 1;
}

/* わた・羊毛 */
.wata-beaf > div:first-of-type {
  width: 45%;
}
.wata-beaf > div:last-of-type {
  width: 55%;
}

/* Q&A */
.qanda-table li {
  list-style: disc;
}
.qanda-a a {
  color: #000fff;
  text-decoration: underline;
}
.qanda-a a:hover {
  color: #4f5bff;
}
.qanda-a a:active {
  color: #ff3300;
}

.dotteline > div:has(+ div) {
  padding-right: 1rem;
  border-right: dashed 1px #aaa;
}

/* SP */
@media screen and (max-width: 679px) {
  /* 全体 */
  .contents_body h3.ml {
    margin-left: 10px !important;
  }
  table,
  th,
  td {
    padding: 0.25rem 0.5rem;
    border: solid 1px #aaa;
    border-collapse: collapse;
  }
  table {
    margin-top: 0.5rem;
  }
  table ul {
    margin: 0;
  }

  /* こんな方におすすめ */
  .recommend {
    width: 100%;
    margin: 0;
  }
  .recommend > div {
    padding: 0.75rem 1.5rem;
    padding-left: 5rem;
    font-size: 1.1rem;
  }
  .recommend > div::before {
    left: 2.25rem;
  }
  .recommend > div::after {
    left: 2.55rem;
  }
  .recommend > div:has(+ div) {
    margin-bottom: 1rem;
  }
  .recommend p {
    white-space: normal;
  }

  /* .topTel {
    padding: 0;
  }
  .topTel > div {
    width: inherit;
  } */

  /* コース選択 */
  .course > div {
    margin: 0 auto;
  }
  .course > div:has(+ div) {
    margin-bottom: 1rem;
  }

  /* before after */
  .before-after {
    width: 100% !important;
    margin-bottom: 3rem;
  }

  /* 布団 */
  .futon-box > div {
    width: 100%;
  }
  .futonList li:has(+ li) {
    margin-bottom: 0.5rem !important;
  }
  .info > div {
    width: 100% !important;
  }
  .infoBox img {
    width: 10rem;
  }

  /* わた・羊毛 */
  .wata-beaf .before-after {
    margin-bottom: 5rem;
  }
  .wata-beaf > div {
    width: 100% !important;
  }

  .dotteline > div:has(+ div) {
    margin-bottom: 1rem;
    padding-bottom: 1.25rem;
    border: none;
    border-bottom: dashed 1px #aaa;
  }
}
