@charset "utf-8";

/* ==================================================================================
parenting
================================================================================== */

/* -------------------------------------------------------------
common
------------------------------------------------------------- */
* {
  box-sizing: border-box;
}

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

.inner {
  padding: 25px 20px;
}

.font-red {
  color: #e91840;
}

.font-orange,
a.font-orange {
  color: #f97f27;
}

.font-white,
a.font-white {
  color: #fff;
}

.note-tiny {
  color: #999;
  font-size: 12px;
}

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

/* btn */
a.btn {
  display: block;
  border-radius: 5px;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.2);
  padding: 16px 10px;
  text-align: center;
  text-decoration: none;
  width: 90%;
  margin: 0 auto;
  position: relative;
}

a.btn-orange {
  background: #f97f27;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
}

a.btn-orange-border {
  background: #fff;
  border: 3px solid #f97f27;
  color: #f97f27;
  font-size: 16px;
  font-weight: bold;
}

a.btn-regist {
  font-size: 19px;
  padding: 14px 10px;
  line-height: 1.3;
}

a.btn-regist .sub {
  font-size: 12px;
  font-weight: normal;
}

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

@media screen and (min-width: 641px) {
  a:hover {
    text-decoration: none;
  }

  a.btn {
    max-width: 400px;
  }

  a.btn:hover {
    opacity: 0.8;
  }
}

/* -------------------------------------------------------------
ttl
------------------------------------------------------------- */
.ttl-bg-blue {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  background: #46a2f6;
  color: #fff;
  font-size: 18px;
  padding: 10px 20px;
  margin: 0 0 20px -20px;
  min-height: 84px;
  position: relative;
}

.ttl-bg-blue::after {
  content: "";
  border-style: solid;
  border-width: 0 0 86px 30px;
  border-color: transparent transparent #fff transparent;
  position: absolute;
  bottom: -1px;
  right: -1px;
}

.ttl-left-border {
  border-left: 8px solid #46a2f6;
  color: #1a87eb;
  font-size: 18px;
  font-weight: bold;
  padding-left: 10px;
  margin-bottom: 18px;
}

@media screen and (max-width: 360px) {
  .ttl-bg-blue {
    font-size: 16px;
    min-height: 76px;
  }

  .ttl-bg-blue::after {
    border-width: 0 0 78px 30px;
  }
}

@media screen and (max-width: 320px) {
  .ttl-bg-blue {
    font-size: 15px;
    min-height: 74px;
  }

  .ttl-bg-blue::after {
    border-width: 0 0 76px 30px;
  }
}

/* -------------------------------------------------------------
mv-area
------------------------------------------------------------- */
.mv-area {
  background: url("../../images/lp/category/parenting/bg-mv.jpg") no-repeat;
  background-position: center;
  background-size: cover;
  margin-bottom: 10px;
}

.mv-area .inner {
  padding: 20px 20px 30px;
}

.ttl-mv {
  text-align: left;
}

.mv-area .btn-wrap {
  margin-top: 30px;
}

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

@media screen and (max-width: 320px) {
  .ttl-mv img {
    width: 240px;
    height: 180px;
  }
}

@media screen and (min-width: 641px) {
  .mv-area {
    background-position: center -30px;
  }

  .mv-area .inner {
    padding: 20px 20px 35px;
  }

  .ttl-mv img {
    width: 400px;
    height: 301px;
  }
}

/* -------------------------------------------------------------
about-area
------------------------------------------------------------- */
.about-area .inner {
  padding: 15px 20px;
}

.box-pink {
  background: #fff4f6;
  border-radius: 10px;
  padding: 15px;
}

.training-example {
  margin-top: 25px;
}

.training-example .row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  background: #ebf6ff;
  border-radius: 999em;
}

.training-example .row + .row {
  margin-top: 18px;
}

.training-example .row .img {
  display: block;
  width: 82px;
  height: 82px;
}

.training-example .row .img img {
  width: 82px;
  height: 82px;
}

.training-example .row .text {
  font-size: 12px;
  font-weight: bold;
  width: calc(100% - 82px);
  padding: 8px;
}

.training-example .row .text .sub {
  font-size: 11px;
}

@media screen and (max-width: 320px) {
  .training-example .row .text {
    font-size: 10px;
    padding: 8px 7px;
  }

  .training-example .row .text .sub {
    font-size: 10px;
  }
}

/* -------------------------------------------------------------
counselor-area
------------------------------------------------------------- */
.counselor-list-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.counselor-list-wrap > li {
  width: 48%;
}

.counselor-list-wrap > li:nth-child(n + 3) {
  margin-top: 17px;
}

a.counselor-inner-link {
  display: block;
  color: #333;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
  border-radius: 5px;
  padding: 12px 10px;
  text-decoration: none;
  height: 100%;
  position: relative;
  overflow: hidden;
}

.status {
  display: inline-block;
  line-height: 1;
  position: absolute;
  top: -12px;
  left: -10px;
}

.status > span {
  background: none;
}

.status > span::before {
  content: "";
  border: 30px solid transparent;
  border-top: 30px solid #f4781f;
  border-left: 30px solid #f4781f;
  position: absolute;
  top: 0;
  left: 0;
}

.status > span .text {
  transform: rotate(-45deg);
  background: none;
  border: none;
  color: #fff;
  position: absolute;
  top: 11px;
  left: -22px;
}

.status span.staStd,
.status span.staOut {
  border: none;
  color: #fff;
}

.status > span.staStd::before {
  border-top-color: #f4781f;
  border-left-color: #f4781f;
}

.status > span.staOn .text {
  color: #f4781f;
}

.status > span.staOn::before {
  border-top-color: #ffe9da;
  border-left-color: #ffe9da;
}

.status > span.staOut::before {
  border-top-color: #afafaf;
  border-left-color: #afafaf;
}

a.counselor-inner-link .counselor-photo {
  border: 1px solid #d5dceb;
  border-radius: 999em;
  width: 75px;
  height: 75px;
  margin: 0 auto 5px;
  overflow: hidden;
}

a.counselor-inner-link .area-star-list {
  justify-content: center;
  margin: 3px 0;
}

a.counselor-inner-link .area-star-list .star-rating-ready {
  margin: 0;
}

a.counselor-inner-link .area-star-list .star-rating img {
  max-width: initial;
}

a.counselor-inner-link .count-consult {
  font-size: 11px;
}

a.counselor-inner-link .name {
  font-size: 13px;
}

a.counselor-inner-link .comment {
  color: #666;
  font-size: 12px;
  margin-top: 7px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

.counselor-area .btn-wrap {
  margin-top: 30px;
}

/* -------------------------------------------------------------
flow-area
------------------------------------------------------------- */
.flow-area {
  background: #f3faff;
}

.flow-area .ttl-flow {
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 10px;
}

.step-flow {
  padding-left: 20px;
}

.step-flow > li {
  position: relative;
}

.step-flow > li:not(:last-child)::before {
  content: "";
  width: 1px;
  height: calc(100% + 25px);
  background: #1a87eb;
  position: absolute;
  top: 9px;
  left: -16px;
}

.step-flow > li + li {
  margin-top: 25px;
}

.step-flow .step-label {
  display: inline-block;
  background: #1a87eb;
  border-radius: 999em;
  color: #fff;
  padding: 1px 10px 0;
  margin-bottom: 10px;
  position: relative;
}

.step-flow .step-label::before {
  content: "";
  width: 8px;
  height: 8px;
  background: #1a87eb;
  border-radius: 999em;
  position: absolute;
  left: -20px;
  top: 50%;
  transform: translateY(-50%);
}

.step-flow .step-ttl {
  color: #1a87eb;
  font-weight: bold;
  margin-bottom: 5px;
}

.step-flow .sub-content {
  font-size: 13px;
  margin: 15px 0 0 40px;
}

.step-flow .sub-content .step-ttl {
  position: relative;
}

.step-flow .sub-content .step-ttl::before {
  content: "";
  width: 8px;
  height: 8px;
  background: #1a87eb;
  border-radius: 999em;
  position: absolute;
  left: -15px;
  top: 50%;
  transform: translateY(-50%);
}

.step-flow .sub-content .step-ttl::after {
  content: "";
  width: 40px;
  height: 1px;
  background: #1a87eb;
  position: absolute;
  left: -55px;
  top: 50%;
  transform: translateY(-50%);
}

/* -------------------------------------------------------------
pay-area
------------------------------------------------------------- */
.box-payment {
  border: 1px solid #000;
  border-radius: 10px;
  font-size: 13px;
  padding: 0 13px 10px;
}

.box-payment + .box-payment {
  margin-top: 25px;
}

.box-payment > .head {
  display: inline-block;
  background: #fff;
  font-weight: bold;
  padding: 1px 5px;
  position: relative;
  top: -10px;
}

.box-payment > .content {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}

.box-payment > .content .icon {
  width: 60px;
  text-align: center;
}

.box-payment > .content .text {
  width: calc(100% - 75px);
}

.link-btn {
  padding: 0;
}

.about-coin {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.pay-area .btn-wrap {
  margin-top: 30px;
}

.pay-area img {
  width: 80%;
}

@media screen and (min-width: 641px) {
  button.link-btn {
    cursor: pointer;
  }

  button.link-btn:hover {
    text-decoration: none;
  }

  .modal_content {
    max-width: 650px;
  }
}

/* -------------------------------------------------------------
end-area
------------------------------------------------------------- */
.end-area {
  background: url("../../images/lp/category/parenting/bg-end.jpg") no-repeat;
  background-position: center;
  background-size: cover;
  color: #fff;
}

.end-area .lead-text {
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 15px;
  line-height: 1.5;
}

@media screen and (min-width: 641px) {
  .end-area {
    background-position: center top -20px;
  }

  .end-area .inner {
    padding: 30px 20px;
  }

  .end-area .lead-text {
    font-size: 26px;
    margin-bottom: 20px;
  }
}

/* -------------------------------------------------------------
faq-area
------------------------------------------------------------- */
.faq-area {
  background: #ebf6ff;
}

.faq-area .ttl-bg-blue::after {
  border-color: transparent transparent #ebf6ff transparent;
}

.faq-area .ac-btn {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  background: #fff;
  border-radius: 0;
  color: #333;
  font-weight: bold;
  padding: 13px 20px 13px 8px;
  line-height: 1.5;
  cursor: pointer;
}

.faq-area .ac-btn .icon {
  width: 20px;
}

.faq-area .ac-btn .text {
  width: calc(100% - 20px);
}

.faq-area .ac-btn::after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-left: 2px solid #333;
  border-bottom: 2px solid #333;
  position: absolute;
  right: 10px;
  top: calc(50% - 2px);
  transform: translateY(-50%) rotate(-45deg);
}

.faq-area .ac-btn.active::after {
  top: calc(50% - 2px);
  transform: translateY(-50%) rotate(135deg);
}

.faq-area .ac-content {
  background: #fff;
  padding: 0 8px 13px;
}

.faq-area .ac-content .wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.faq-area .ac-content .wrap .icon {
  width: 20px;
}

.faq-area .ac-content .wrap .text {
  width: calc(100% - 20px);
}

/* -------------------------------------------------------------
counselor-detail-area
------------------------------------------------------------- */

/* counselor-prof-area */
.counselor-prof-area .inner {
  padding: 20px 20px 25px;
}

.counselor-prof-area .ttl-bg-blue {
  width: 76%;
  min-height: 52px;
  padding-left: 65px;
}

.btn-back-page a {
  display: inline-block;
  width: 51px;
  height: 100%;
  background: #46a2f6;
  border-right: 1px solid #fff;
  text-indent: -9999px;
  position: absolute;
  top: 0;
  left: 0;
}

.btn-back-page a::before {
  content: "";
  width: 11px;
  height: 11px;
  border-top: 5px solid #fff;
  border-left: 5px solid #fff;
  position: absolute;
  top: 50%;
  left: calc(50% - 5px);
  transform: translateY(-50%) rotate(-45deg);
}

.counselor-prof-area .ttl-bg-blue::after {
  border-width: 0 0 54px 30px;
}

.counselor-prof-area .prof-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 90%;
  margin: 0 auto 30px;
}

.counselor-prof-area .prof-wrap > .photo {
  width: 100px;
  height: 100px;
  border-radius: 999em;
  overflow: hidden;
}

.counselor-prof-area .prof-wrap > .content {
  width: calc(100% - 120px);
}

.counselor-prof-area .prof-wrap .name-yomi {
  font-size: 13px;
  line-height: 1.3;
}

.counselor-prof-area .prof-wrap .name {
  font-size: 22px;
  line-height: 1.4;
}

.counselor-prof-area .prof-wrap .area-star-list {
  margin: 5px 0 3px;
}

.counselor-prof-area .prof-wrap .prof-sub {
  font-size: 13px;
}

.counselor-prof-area .prof-wrap .prof-sub .gender {
  margin-right: 10px;
}

.counselor-prof-area .prof-wrap .price {
  display: inline-block;
  background: #edf4fa;
  border-radius: 999em;
  padding: 3px 15px 1px;
  margin-top: 5px;
}

.counselor-prof-area .btn-wrap {
  margin-top: 10px;
}

/* counselor-summary-area */
.counselor-summary-area {
  background: #ebf6ff;
}

.box-summary {
  background: #fff;
  border-top: 2px solid #46a2f6;
  padding: 25px 18px 20px;
}

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

.box-summary > .head {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 18px;
  text-align: center;
  line-height: 1.6;
}

.step-day {
  padding-top: 30px;
  margin: 22px 0;
  position: relative;
}

.step-day::before {
  content: "";
  width: 89px;
  height: 2px;
  background: #303030;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

.step-day > li {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}

.step-day > li + li {
  margin-top: 25px;
}

.step-day > li .day {
  width: 58px;
  color: #fff;
  background: #add7ff;
  font-weight: bold;
  padding: 3px 0 0;
  line-height: 1.3;
  text-align: center;
  position: relative;
}

.step-day > li .day::after {
  content: "";
  border: 29px solid transparent;
  border-top: 7px solid #add7ff;
  position: absolute;
  bottom: -36px;
  left: 0;
}

.step-day > li:nth-child(2) .day {
  background: #80bfff;
}

.step-day > li:nth-child(2) .day::after {
  border-top-color: #80bfff;
}

.step-day > li:nth-child(3) .day {
  background: #5af;
}

.step-day > li:nth-child(3) .day::after {
  border-top-color: #5af;
}

.step-day > li:nth-child(4) .day {
  background: #2b95ff;
}

.step-day > li:nth-child(4) .day::after {
  border-top-color: #2b95ff;
}

.step-day > li:nth-child(5) .day {
  background: #0080ff;
}

.step-day > li:nth-child(5) .day::after {
  border-top-color: #0080ff;
}

.step-day > li:nth-child(6) .day {
  background: #006ad5;
}

.step-day > li:nth-child(6) .day::after {
  border-top-color: #006ad5;
}

.step-day > li:nth-child(7) .day {
  background: #012aad;
}

.step-day > li:nth-child(7) .day::after {
  border-top-color: #012aad;
}

.step-day > li .text {
  width: calc(100% - 68px);
  color: #2479c7;
  font-weight: bold;
}

.counselor-summary-area .btn-wrap {
  margin-top: 30px;
}

@media screen and (max-width: 320px) {
  /* counselor-prof-area */
  .counselor-prof-area .prof-wrap {
    width: 100%;
  }

  .counselor-prof-area .prof-wrap > .photo {
    width: 90px;
    height: 90px;
  }

  .counselor-prof-area .prof-wrap > .content {
    width: calc(100% - 110px);
  }

  .counselor-prof-area .prof-wrap .name-yomi {
    font-size: 12px;
  }

  .counselor-prof-area .prof-wrap .name {
    font-size: 20px;
  }
}
