@charset "utf-8";

/* ==================================================================================
health
================================================================================== */

/* 色変数
--------------------------------------------------------- */
:root {
  --color-lp-health-blue: #04b1c9;
  --color-lp-health-blue-text: #079fb3;
  --color-lp-health-cv-blue: #448fd6;
  --color-lp-health-bg-blue: #f2feff;
  --color-lp-health-orange: #f27047;
}

/* -------------------------------------------------------------
common
------------------------------------------------------------- */
img {
  max-width: 100%;
  height: auto;
}

#page-top a {
  box-sizing: content-box;
}

/* btn */
a.btn {
  background: var(--color-lp-health-cv-blue);
  border: 1px solid var(--color-lp-health-cv-blue);
  border-radius: 999em;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.2);
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  padding: 15px 10px;
  text-align: center;
  width: 95%;
  max-width: 400px;
  margin: 0 auto;
}

.text-btn-beginner {
  color: var(--color-lp-health-orange);
  font-size: 14px;
  font-weight: bold;
  text-align: center;
}

a.btn-border {
  background: #fff;
  color: var(--color-lp-health-cv-blue);
}

.lp-section {
  padding: 30px 20px;
}

@media screen and (max-width: 320px) {
  a.btn {
    font-size: 16px;
    width: 100%;
  }

  .text-btn-beginner {
    font-size: 12px;
  }
}

/* -------------------------------------------------------------
ttl
------------------------------------------------------------- */
.ttl-sec {
  color: #333;
  font-size: 20px;
  margin-bottom: 25px;
}

.ttl-sec > span {
  border-bottom: 1px dashed #333;
  padding-bottom: 5px;
}

@media screen and (max-width: 320px) {
  .ttl-sec {
    font-size: 18px;
    letter-spacing: 0.02em;
  }
}

/* -------------------------------------------------------------
top-area
------------------------------------------------------------- */
.top-area {
  background: url("../../images/lp/category/health/bg-kv-health_02.png") no-repeat top 9.5em left / contain, url("../../images/lp/category/health/bg-kv-health_01.png") no-repeat top center / cover;
  padding: 25px 20px 30px;
  position: relative;
}

.top-area::before {
  content: "";
  width: 100%;
  height: 40%;
  background: linear-gradient(to top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 90%);
  position: absolute;
  top: 0;
  left: 0;
}

.top-area::after {
  content: "";
  width: 100%;
  height: 40%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, var(--color-lp-health-bg-blue) 70%);
  position: absolute;
  bottom: 0;
  left: 0;
}

.ttl-text-lead img {
  width: 95%;
}

.ttl-health {
  margin-top: -5px;
}

.top-wrap {
  position: relative;
  z-index: 1;
}

.box-top-wrap {
  background: rgba(255, 255, 255, 0.8);
  border-radius: 12px;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
  font-size: 12px;
  padding: 20px 10px;
  margin-top: 65%;
  text-align: center;
}

.box-top-wrap .btn-wrap {
  margin-top: 15px;
}

.box-top-wrap a.btn {
  width: 90%;
}

a.link-login {
  color: #333;
  font-size: 14px;
}

a.link-login::after {
  content: "";
  display: inline-block;
  width: 7px;
  height: 11px;
  background: url("../../images/icon/icon-link-arr-right-black.svg") no-repeat;
  margin-left: 6px;
  vertical-align: middle;
}

.text-note {
  color: #ee3255;
}

/* 未ログインのKV調整 */
.top-area.no-login::after {
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, var(--color-lp-health-bg-blue) 40%);
}

@media screen and (max-width: 320px) {
  .box-top-wrap {
    font-size: 12px;
  }

  .top-area.no-login::after {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, var(--color-lp-health-bg-blue) 20%);
  }
}

@media screen and (min-width: 540px) {
  .ttl-text-lead img {
    width: 350px;
  }

  .ttl-health img {
    width: 400px;
  }

  .box-top-wrap {
    width: 90%;
    margin: 65% auto 0;
  }
}

/* -------------------------------------------------------------
lp-section-standby
------------------------------------------------------------- */
.lp-section-standby {
  padding: 0 20px 30px;
}

.head-standby {
  background: var(--color-lp-health-orange);
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  padding: 11px 5px 3px;
  margin: 0 -20px 30px;
  text-align: center;
  letter-spacing: 1px;
  position: relative;
}

.head-standby::after {
  content: "";
  background: var(--color-lp-health-orange);
  height: calc(16px / 2 * tan(60deg));
  width: 29px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
  bottom: -12px;
  left: 50%;
  transform: translateX(-50%);
}

.head-standby > span {
  display: inline-block;
  position: relative;
}

.head-standby > span::before {
  content: "";
  width: 4px;
  height: 4px;
  background: #fff;
  border-radius: 999em;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

.standby-nurse-wrap .prof-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 10px 0 15px;
}

.standby-nurse-wrap .prof-item > .photo {
  width: 83px;
  height: 83px;
  border: 1px solid #e2eced;
  border-radius: 999em;
  overflow: hidden;
}

.standby-nurse-wrap .prof-item > .content {
  width: calc(100% - 98px);
}

.standby-nurse-wrap .prof-item .name a {
  font-size: 18px;
  font-weight: bold;
  color: #333;
}

.standby-nurse-wrap .prof-item .price {
  margin-top: 5px;
}

.standby-nurse-wrap .prof-item .price img {
  margin-right: 4px;
}

.standby-nurse-wrap .prof-item .area-star-list {
  display: flex;
  align-items: center;
}

.standby-nurse-wrap .prof-item .area-star-list a {
  font-size: 14px;
  margin-left: 10px;
}

/* -------------------------------------------------------------
lp-section-01
------------------------------------------------------------- */
.lp-section-01 {
  background: var(--color-lp-health-bg-blue);
}

.img-logo img {
  width: 200px;
}

.list-merit > li {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
  padding: 20px;
}

.list-merit > li + li {
  margin-top: 20px;
}

.list-merit .head {
  display: flex;
  align-items: center;
  color: var(--color-lp-health-blue-text);
  font-size: 17px;
  font-weight: bold;
  margin-bottom: 15px;
  line-height: 1.5;
}

.list-merit .head .icon {
  width: 52px;
  margin-right: 12px;
}

.list-merit .head .icon img {
  display: block;
}

.list-merit .content .point {
  font-weight: bold;
  border-bottom: 1px dashed #333;
  padding-bottom: 3px;
}

/* -------------------------------------------------------------
lp-section-02
------------------------------------------------------------- */
.problem-wrap + .problem-wrap {
  margin-top: 35px;
}

.ttl-problem {
  background: var(--color-lp-health-blue);
  border-radius: 999em 999em 999em 0;
  color: #fff;
  font-size: 18px;
  padding: 7px 20px;
  margin-bottom: 25px;
  text-align: center;
  position: relative;
}

.ttl-problem::before {
  content: "";
  background: var(--color-lp-health-blue);
  height: calc(50px / 3);
  width: 15px;
  clip-path: polygon(0 0, 100% 0, 0 100%);
  position: absolute;
  bottom: -15px;
  left: 0;
}

.list-problem-check > li {
  padding-left: 28px;
  position: relative;
}

.list-problem-check > li::before {
  content: "";
  width: 22px;
  height: 22px;
  background: url("../../images/lp/category/health/icon-check.svg") no-repeat center / cover;
  position: absolute;
  top: 0.2em;
  left: 0;
}

.list-problem-check > li + li {
  margin-top: 10px;
}

.problem-recommend-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #fff2e8;
  border: 2px solid #fff2e8;
  border-radius: 12px;
  padding: 0 0 0 18px;
  margin-top: 25px;
  position: relative;
}

.problem-recommend-wrap > .content {
  width: calc(100% - 124px);
  font-weight: bold;
  line-height: 1.6;
}

.problem-recommend-wrap > .content .head {
  color: var(--color-lp-health-orange);
  font-weight: bold;
  margin-bottom: 5px;
}

.problem-recommend-wrap > .img-problem {
  width: 114px;
}

.problem-recommend-wrap > .img-problem img {
  display: block;
}

.problem-item-wrap > .head {
  color: var(--color-lp-health-blue-text);
  border-bottom: 1px dashed var(--color-lp-health-blue-text);
  font-weight: bold;
  margin-bottom: 10px;
}

.problem-item-wrap + .problem-item-wrap {
  margin-top: 20px;
}

@media screen and (max-width: 320px) {
  .ttl-problem {
    font-size: 17px;
  }

  .ttl-problem .img-problem {
    width: 100px;
    bottom: -10px;
  }

  .list-problem-check > li::before {
    width: 20px;
    height: 20px;
  }
}

/* -------------------------------------------------------------
lp-section-03
------------------------------------------------------------- */
.lp-section-03 {
  background: var(--color-lp-health-bg-blue);
}

.reception-wrap + .reception-wrap {
  margin-top: 30px;
}

.box-table {
  display: flex;
  background: #fff;
  border: 1px solid var(--color-lp-health-blue);
  border-radius: 12px;
  line-height: 1.6;
}

.box-table > .head {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-lp-health-blue);
  border-radius: 11px 0 0 11px;
  color: #fff;
  font-weight: bold;
  padding: 10px;
  width: 40%;
  text-align: center;
}

.box-table > .content {
  padding: 10px;
  width: 60%;
  text-align: center;
}

.reception-item-head {
  border-bottom: 1px dashed #333;
  font-size: 16px;
  font-weight: bold;
  margin-top: 25px;
}

.reception-item-wrap {
  font-size: 14px;
  margin-top: 20px;
  line-height: 1.6;
}

.reception-item-wrap > .head {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 5px;
}

.reception-item-wrap > .head::before {
  content: "";
  display: inline-block;
  width: 22px;
  height: 22px;
  margin-right: 6px;
  vertical-align: -0.3em;
}

.reception-item-wrap > .head.icon-tel::before {
  background: url("../../images/lp/category/health/icon-tel.svg") no-repeat;
}

.reception-item-wrap > .head.icon-calendar::before {
  background: url("../../images/lp/category/health/icon-calendar.svg") no-repeat;
}

.reception-item-wrap > .head.icon-time-15::before {
  background: url("../../images/lp/category/health/icon-time-15.svg") no-repeat;
}

.reception-item-wrap > .head.icon-time-30::before {
  background: url("../../images/lp/category/health/icon-time-30.svg") no-repeat;
}

.reception-item-wrap .text-price {
  font-size: 18px;
  margin-top: 10px;
}

.reception-item-wrap .text-price .time {
  background: #fff;
  border: 1px solid var(--color-lp-health-blue-text);
  border-radius: 3px;
  color: var(--color-lp-health-blue-text);
  font-weight: bold;
  padding: 5px;
}

.reception-item-wrap .text-price .sr {
  font-size: 12px;
}

/* -------------------------------------------------------------
lp-section-04
------------------------------------------------------------- */
.img-nurse {
  margin-bottom: 20px;
}

.nurse-summary-wrap + .nurse-summary-wrap {
  margin-top: 25px;
}

.nurse-summary-wrap > .head {
  color: var(--color-lp-health-orange);
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 5px;
}

.nurse-summary-wrap > .head::before {
  content: "";
  display: inline-block;
  width: 19px;
  height: 24px;
  background: url("../../images/lp/category/health/icon-point.svg") no-repeat center / cover;
  margin-right: 6px;
  vertical-align: -0.3em;
}

.nurse-note-wrap {
  margin-top: 30px;
}

.nurse-note-wrap > .head {
  border-bottom: 1px dashed #333;
  font-weight: bold;
  margin-bottom: 15px;
}

.nurse-note-wrap .list-note > li {
  font-size: 12px;
  line-height: 1.6;
}

.nurse-note-wrap .list-note > li + li {
  margin-top: 8px;
}

@media screen and (min-width: 540px) {
  .img-nurse img {
    width: 80%;
  }
}

/* -------------------------------------------------------------
lp-section-05
------------------------------------------------------------- */
.lp-section-05 .text-lead {
  margin-bottom: 20px;
  text-align: center;
}

.status-standby-lead {
  margin: 0 -20px;
}

.status-standby-lead .head-standby {
  margin: 0 auto;
}

.status-standby-lead .head-standby::after {
  display: none;
}

.list-nurse-wrap {
  margin: 0 -20px;
}

.list-nurse-wrap > li {
  border-top: 3px solid #e2eced;
  padding: 20px 20px 25px;
}

.list-nurse-wrap > li:last-child {
  border-bottom: 4px solid #e2eced;
}

.list-nurse-wrap > li.staStd-wrap {
  border: 8px solid var(--color-lp-health-orange);
  border-top: none;
  position: relative;
}

.list-nurse-wrap > li.staStd-wrap + li.staStd-wrap::before {
  content: "";
  width: 100%;
  height: 8px;
  background: #fff;
  border-bottom: 3px solid #e2eced;
  position: absolute;
  top: -8px;
  left: 0;
}

.list-nurse-wrap .status span {
  display: inline-block;
  font-size: 12px;
  font-weight: bold;
  border: 1px solid #666;
  background: #fff;
  border-radius: 3px;
  color: #666;
  min-width: 50px;
  width: auto;
  height: auto;
  line-height: 24px;
  padding: 0 6px;
  text-align: center;
  position: static;
}

/* 相談受付中 */
.list-nurse-wrap .status span.staStd {
  background: var(--color-lp-health-blue);
  border-color: var(--color-lp-health-blue);
  color: #fff;
}

/* 予約受付中 */
.list-nurse-wrap .status span.staRe {
  border-color: var(--color-lp-health-blue);
  color: var(--color-lp-health-blue);
}

/* 相談中 */
.list-nurse-wrap .status span.staOn {
  background: #ee3255;
  border-color: #ee3255;
  color: #fff;
}

.list-nurse-wrap .prof-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 10px 0 15px;
}

.list-nurse-wrap .prof-item > .photo {
  width: 83px;
  height: 83px;
  border: 1px solid #e2eced;
  border-radius: 999em;
  overflow: hidden;
}

.list-nurse-wrap .prof-item > .content {
  width: calc(100% - 98px);
}

.list-nurse-wrap .prof-item .name a {
  font-size: 18px;
  font-weight: bold;
  color: #333;
}

.list-nurse-wrap .prof-item .price {
  margin-top: 5px;
}

.list-nurse-wrap .prof-item .price img {
  margin-right: 4px;
}

.list-nurse-wrap .prof-item .area-star-list {
  display: flex;
  align-items: center;
}

.list-nurse-wrap .prof-item .area-star-list a {
  font-size: 14px;
  margin-left: 10px;
}

.bnr-area {
  margin-top: 30px;
}

.bnr-area .text-lead {
  margin-bottom: 15px;
  text-align: center;
}

.bnr-area .text-lead .point {
  font-weight: bold;
  border-bottom: 1px dashed #333;
  padding-bottom: 3px;
}

.img-bnr img {
  display: block;
  border-radius: 12px;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.2);
  width: 335px;
  margin: 0 auto;
}

/* -------------------------------------------------------------
lp-section-06
------------------------------------------------------------- */
.list-flow > li {
  border: 2px solid var(--color-lp-health-blue);
  border-radius: 12px;
  padding: 35px 20px 25px;
  margin-top: 40px;
  line-height: 1.6;
  position: relative;
}

.list-flow > li + li {
  margin-top: 50px;
}

.list-flow .step {
  background: var(--color-lp-health-blue);
  border-radius: 999em;
  color: #fff;
  font-weight: bold;
  padding: 6px 15px;
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
}

.list-flow .head {
  font-size: 18px;
  font-weight: bold;
  margin: 15px 0;
  text-align: center;
}

.list-flow .flow-tel-use {
  font-size: 14px;
  margin-top: 20px;
}

.list-flow .flow-tel-use .item {
  display: inline-block;
  background: #ebfdff;
  border-radius: 999em;
  color: var(--color-lp-health-blue-text);
  padding: 5px 12px;
  margin-bottom: 10px;
}

/* -------------------------------------------------------------
lp-section-07
------------------------------------------------------------- */
.list-payment > li + li {
  margin-top: 20px;
}

.list-payment .head {
  display: flex;
  align-items: center;
  font-weight: bold;
  margin-bottom: 10px;
}

.list-payment .head img {
  display: block;
  width: 55px;
  margin-right: 10px;
}

/* -------------------------------------------------------------
.lp-section-cv
------------------------------------------------------------- */
.lp-section-cv {
  background: var(--color-lp-health-bg-blue);
}

.lp-section-cv .text-lead {
  font-weight: bold;
  text-align: center;
}

/* -------------------------------------------------------------
.lp-section-08
------------------------------------------------------------- */
.list-faq > li + li {
  margin-top: 25px;
}

.list-faq [class^="text-"] {
  padding-left: 22px;
  position: relative;
}

.list-faq .text-q {
  font-weight: bold;
  margin-bottom: 5px;
}

.list-faq [class^="text-"] > .icon {
  display: inline-block;
  font-weight: bold;
  position: absolute;
  top: 0;
  left: 0;
}

.list-faq .text-a > .icon {
  color: var(--color-lp-health-orange);
}
