/* =============================================================
   price-page.cssaaページの骨格・余白・レイアウト・モジュール構造を管理。
   金額テーブルの色・文字装飾は price-tablaae.css へ。
   読み込み順：共通CSS → price-table.css → price-page.css
============================================================= */


/* =============================================================
   Base
============================================================= */
select {
  margin: 0;
  width: auto;
}


/* =============================================================
   Layout — グリッド補足
============================================================= */
.l_grid--hasGutterSm {
  margin: -8px;
}
.l_grid--hasGutterSm > .l_grid__item {
  padding: 8px;
}
.l_grid--center{
  justify-content: center;
}
.l_grid--between {
  justify-content: space-between;
}
.l_grid--plus {
  margin: -32px;
}
.l_grid--plus > .l_grid__item {
  position: relative;
  padding: 32px;
}
.l_grid--plus > .l_grid__item + .l_grid__item::before {
  content: "＋";
  position: absolute;
  top: 50%;
  left: 0;
  font-size: 56px;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 768px) {
  .l_grid--plus > .l_grid__item + .l_grid__item::before {
    top: 0;
    left: 50%;
  }
}


/* =============================================================
   Layout — アンカーナビ
============================================================= */
.l_ankerNav {
  padding: 0 64px;
}
.l_ankerNav__cont {
  margin-top: 42px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
@media screen and (max-width: 768px) {
  .l_ankerNav {
    padding: 0;
  }
}


/* =============================================================
   Layout — ナビ
============================================================= */
.l_nav--local {
  margin: 0 -1px;
  padding: 0 40px;
  border-bottom: 4px solid;
}
.l_nav--price {
  gap: 10px;
}
.l_nav--local > .l_nav__item {
  padding: 0 1px;
}
.l_nav--local .l_nav__target {
  height: 3.9em;
  border-top: 1px solid #707070;
  border-left: 1px solid #707070;
  border-right: 1px solid #707070;
  font-size: 12px;
  font-weight: bold;
  text-align: center;
  padding: 10px 15px;
  letter-spacing: 0;
}
.l_nav--local .l_nav__target:hover {
  opacity: 1;
}
.l_nav--local .l_nav__target--lms:hover {
  background: #1a8192;
  border-color: #1a8192;
  color: #fff;
}
.l_nav--local .l_nav__target--stress:hover {
  background: #b52d61;
  border-color: #b52d61;
  color: #fff;
}
.l_nav--local .l_nav__target--eval:hover {
  background: #4260ad;
  border-color: #4260ad;
  color: #fff;
}
.l_nav--local .l_nav__target--talent:hover {
  background: #102443;
  border-color: #102443;
  color: #fff;
}
.l_nav--selectedLms {
  border-color: #1a8192;
}
.l_nav--selectedLms .l_nav__target--lms {
  background: #1a8192;
  border-color: #1a8192;
  color: #fff;
}
.l_nav--selectedStress {
  border-color: #b52d61;
}
.l_nav--selectedStress .l_nav__target--stress {
  background: #b52d61;
  border-color: #b52d61;
  color: #fff;
}
.l_nav--selectedEval {
  border-color: #4260ad;
}
.l_nav--selectedEval .l_nav__target--eval {
  background: #4260ad;
  border-color: #4260ad;
  color: #fff;
}
.l_nav--selectedtalent {
  border-color: #102443;
}
.l_nav--selectedtalent .l_nav__target--talent {
  background: #102443;
  border-color: #102443;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .l_nav--local {
    padding: 0;
  }
  .l_nav--local .l_nav__target {
    border: none;
    padding: 0 19px 0 48px;
  }
  .l_nav--content {
    display: block;
    padding: 12px 0;
    border: 1px solid #A1001F;
    border-top-width: 6px;
    background: #fff;
  }
  .l_nav--content .l_nav__item + .l_nav__item {
    border-left: none;
  }
  .l_nav--content .l_nav__target {
    justify-content: flex-start;
  }
  .m_contentNav {
    padding: 0 19px 0 48px;
    font-weight: bold;
    font-size: 13px;
    word-break: keep-all;
    white-space: nowrap;
    position: relative;
    height: 2.4em;
  }
  .m_contentNav::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 12px;
    display: block;
    width: 24px;
    height: 1px;
    margin: auto 0;
    background: #A1001F;
  }
  .l_nav--local .l_nav__target--lms:hover,
  .l_nav--local .l_nav__target--stress:hover,
  .l_nav--local .l_nav__target--eval:hover,
  .l_nav--local .l_nav__target--talent:hover {
    background: #fff;
    color: #333;
    opacity: 0.6;
  }
  .l_nav--selectedLms .l_nav__target--lms,
  .l_nav--selectedStress .l_nav__target--stress,
  .l_nav--selectedEval .l_nav__target--eval,
  .l_nav--selectedtalent .l_nav__target--talent {
    background: #fff;
    color: #333;
  }
  .l_nav--selectedLms .l_nav--content {
    border-color: #1a8192 !important;
  }
  .l_nav--selectedLms .m_contentNav::after {
    background: #1a8192 !important;
  }
  .l_nav--selectedStress .l_nav--content {
    border-color: #b52d61 !important;
  }
  .l_nav--selectedStress .m_contentNav::after {
    background: #b52d61 !important;
  }
  .l_nav--selectedEval .l_nav--content {
    border-color: #4260ad !important;
  }
  .l_nav--selectedEval .m_contentNav::after {
    background: #4260ad !important;
  }
  .l_nav--selectedtalent .l_nav--content {
    border-color: #102443 !important;
  }
  .l_nav--selectedtalent .m_contentNav::after {
    background: #102443 !important;
  }
}
@media screen and (max-width: 599px) {
  .l_nav--local .l_nav__target {
    border-width: 1px;
    font-size: 11px;
    letter-spacing: 0;
  }
}


/* =============================================================
   Layout — セクション
============================================================= */
.l_section--primary {
  padding: 40px 0;
  background: #fff;
  box-shadow: 2px 2px 6px #aaa;
}
.l_section--primary > .l_section__item + .l_section__item {
  margin-top: 64px;
}
.l_section--secondary {
  padding: 0 64px;
}
.l_section--secondary > .l_section__item + .l_section__item {
  margin-top: 35px;
  letter-spacing: 0;
  position: relative;
}
.l_section--tertiary > .l_section__item + .l_section__item {
  margin-top: 24px;
}
.l_section__ranking {
  margin-top: 0 !important;
}
.l_list--sm > .l_list__item + .l_list__item {
  margin-top: 8px;
}
.l_list--md > .l_list__item + .l_list__item {
  margin-top: 12px;
}
@media screen and (max-width: 768px) {
  .l_section--primary {
    padding: 0;
    box-shadow: none;
  }
  .l_section--secondary {
    padding: 0;
  }
}


/* =============================================================
   Module — 見出し
============================================================= */
.m_heading--primary {
  margin-bottom: 40px;
}
.m_heading--primary > .m_heading__ttl {
  text-align: center;
  font-size: 28px;
}
.m_heading--primary > .m_heading__sub {
  text-align: center;
  font: 20px/1 'Roboto';
}
.m_heading--primary > .m_heading__ttl + .m_heading__sub {
  margin-top: 16px;
}
.m_heading--secondary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid;
}
.m_heading--secondary > .m_heading__ttl {
  font-size: 28px;
  letter-spacing: 0;
  line-height: 1.4;
}
.m_heading--plan {
  margin-bottom: 14px;
}
.m_heading--plan > .m_heading__ttl {
  font-size: 20px;
  text-align: center;
  letter-spacing: 0;
}
.m_heading--plan > .m_heading__img {
  text-align: center;
}
.m_heading--plan > .m_heading__img--basic {
  width: 120px;
  margin: 0 auto;
}
.m_heading--plan > .m_heading__img--basic > img {
  width: 100%;
}
.m_heading--plan > .m_heading__img > img + img {
  margin-left: 16px;
}
.m_heading--plan > .m_heading__img + .m_heading__ttl {
  margin-top: 15px;
}
.m_heading--ranking {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 40px;
}
.m_heading--ranking > .m_heading__ttl {
  position: relative;
  width: fit-content;
  margin: auto;
  padding: 0 72px;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  line-height: 1.6;
  letter-spacing: 0;
}
.m_heading--ranking > .m_heading__ttl::before {
  content:"＼";
  position: absolute;
  width: 20px;
  height: 20px;
  font-weight: bold;
  left: 0;
  bottom: 8px;
}
.m_heading--ranking > .m_heading__ttl::after {
  content:"／";
  position: absolute;
  width: 20px;
  height: 20px;
  font-weight: bold;
  right: 0;
  bottom: 8px;
}
@media screen and (max-width: 768px) {
  .m_heading--secondary > .m_heading__ttl {
    font-size: 24px;
  }
  .m_heading--ranking > .m_heading__ttl {
    padding: 0;
  }
  .m_heading--ranking > .m_heading__ttl::before,
  .m_heading--ranking > .m_heading__ttl::after{
    content: none;
  }
}
@media screen and (max-width: 599px) {
  .m_heading--secondary > .m_heading__ttl {
    font-size: 16px;
  }
  .m_heading--plan > .m_heading__ttl {
    font-size: 16px;
  }
}


/* =============================================================
   Module — ボタン
============================================================= */
.m_btn--innerLinkEval > .m_btn__target {
  padding: 0 1em;
  border: 1px solid;
  border-radius: 8px;
  color: #4260ad;
}
.m_btn--innerLinkEval > .m_btn__target::before {
  height: 1.5em;
}
.m_btn--innerLinkEval > .m_btn__target:hover {
  color: #fff;
  background: #4260ad;
}
.m_btn--innerLinkStress > .m_btn__target {
  padding: 0 1em;
  border: 1px solid;
  border-radius: 8px;
  color: #4260ad;
}
.m_btn--innerLinkStress > .m_btn__target::before {
  height: 1.5em;
}
.m_btn--innerLinkStress > .m_btn__target:hover {
  color: #fff;
  background: #4260ad;
}
.m_btn--accent > .m_btn__target {
  padding: 0 2em;
  border-radius: 8px;
  background: #1FC5AE;
  color: #fff;
  font-weight: bold;
  font-size: 20px;
  letter-spacing: 0;
}
.m_btn--accent > .m_btn__target::before {
  height: 2.5em;
}
.m_btn--accent > .m_btn__target:hover {
  opacity: .7;
}
.m_btn--ghost::before {
  content: "";
  height: 55px;
}
.m_btn--ghost > .m_btn__target{
  position: relative;
  border: 3px solid #AE0E0E;
  color: #AE0E0E;
  font-size: 18px;
  letter-spacing: 0;
  font-weight: bold;
  border-radius: 10px;
  transition: .2s;
}
.m_btn--ghost > .m_btn__target:hover {
  opacity: .7;
}
.m_btn--ghost > .m_btn__target::before {
  content: "";
  position: absolute;
  width: 27px;
  height: 27px;
  right: 33px;
  background-image: url(../img/leaf/price/ico_btn_red.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
.m_btn--accent_wh .m_btn__target{
  background: #fff !important;
  border: 3px solid;
}
.m_btn--colorEval .m_btn__target{
  background: #fff !important;
  color: #4260ad;
  border: 3px solid #4260ad;
}
#leaf_lms .m_feature .m_btn--accent > .m_btn__target {
  background-color: #00c77f;
}
#lightning .m_btn--accent > .m_btn__target {
  background-color: #DFA300;
}
#inorder .m_btn--accent > .m_btn__target {
  background: #AE0E0E;
}
#stress .m_btn--accent > .m_btn__target {
  background: #FF54AC;
  border-color: #FF54AC;
}
#stress .m_btn--accent_wh .m_btn__target{
  color: #FF54AC;
}
#wellness .m_btn--accent > .m_btn__target {
  background: #DF5B5B;
  border-color: #DF5B5B;
}
#eval .m_btn--accent > .m_btn__target{
  background: #4260ad;
  border-color: #4260ad;
}

@media screen and (max-width: 768px) {
  .m_btn--accent > .m_btn__target {
    font-size: 14px;
  }
  .m_btn--ghost::before {
    height: 46px;
  }
  .m_btn--ghost > .m_btn__target{
    font-size: 12px;
  }
  .m_btn--ghost > .m_btn__target::before {
    right: 0;
  }
}


/* =============================================================
   Module — アイコン
============================================================= */
.m_hasIco--check {
  padding-left: 1.5em;
}
.m_hasIco--check::before {
  content: url(/resource/img/leaf/price/icon_check.svg);
  width: 24px;
}
.m_font__mixed .m_hasIco--check::before {
  top: 7px;
}
@media screen and (max-width: 768px) {
  .m_hasIco--check::before {
    width: 17px;
  }
  .m_font__mixed .m_hasIco--check::before {
    top: 3px;
  }
}


/* =============================================================
   Module — リンク
============================================================= */
.m_link {
  font-weight: bold;
}
.m_link--normal {
  color: #0071bc;
  text-decoration: underline;
}
.m_link--normal:hover {
  color: #bd4b00;
}


/* =============================================================
   Module — m_serviceLink
============================================================= */
.m_serviceLink {
  position: relative;
  font-size: 16px;
  font-weight: bold;
  color: #333;
  letter-spacing: 0;
  transition: .2s;
}
.m_serviceLink:hover {
  opacity: 0.6;
  color: #333;
}
#leaf_lms .m_serviceLink::before,
#lightning .m_serviceLink::before,
#lightningintra .m_serviceLink::before,
#inorder .m_serviceLink::before,
#stress .m_serviceLink::before,
#eval .m_serviceLink::before
{
  content: "";
  position: absolute;
  width: 23px;
  height: 23px;
  top: -2px;
  bottom: 0;
  left: -30px;
  background-repeat: no-repeat;
  background-size: contain;
}
#leaf_lms .m_serviceLink::before {
  background-image: url(/resource/img/leaf/price/ico_link_leaf.svg);
}
#lightning .m_serviceLink::before,
#lightningintra .m_serviceLink::before {
  background-image: url(/resource/img/leaf/price/ico_link_light.svg);
}
#inorder .m_serviceLink::before {
  background-image: url(/resource/img/leaf/price/ico_link_inorder.svg);
}
#stress .m_serviceLink::before{
  background-image: url(/resource/img/leaf/price/ico_link_stc.svg);
}
#wellness .m_serviceLink::before{
  background-image: url(/resource/img/leaf/price/ico_link_wel.svg);
}
#eval .m_serviceLink::before{
  background-image: url(/resource/img/leaf/price/ico_link_hyoka.svg);
}
@media screen and (max-width: 768px) {
  .m_serviceLink {
    font-size: 12px;
  }
  #leaf_lms .m_serviceLink::before,
  #lightning .m_serviceLink::before,
  #lightningintra .m_serviceLink::before,
  #inorder .m_serviceLink::before,
  #stress .m_serviceLink::before,
  #eval .m_serviceLink::before
  {
    width: 18px;
    height: 18px;
    top: -1px;
    left: -22px;
  }
}


/* =============================================================
   Module — m_plan
============================================================= */
.m_plan {
  position: relative;
  border: 1px solid;
  padding: 25px 16px 16px;
}
.m_plan__detailTxt {
  font-size: 16px;
}
.m_plan__lead {
  font-size: 14px;
  letter-spacing: 0;
  text-align: center;
  margin-bottom: 16px;
}
#lightning .m_plan__lead {
  margin-bottom: 25px;
}
.m_plan__ttl {
  position: relative;
  margin-bottom: 8px;
  text-align: center;
}
.m_plan__ttl::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: 50%;
  height: 1px;
  transform: translateX(-50%);
}
.m_plan__item {
  display: flex;
  align-items: center;
  justify-content: space-around;
}
.m_plan__item:nth-child(odd) {
  background: #f2f2f2;
}
#leaf_lms #intra .m_plan__item,
#lightning .m_plan__item {
  justify-content: center;
}
.m_plan__valueTtl {
  font-weight: 400;
  font-size: 16px;
  letter-spacing: 0;
}
#leaf_lms #intra .m_plan__valueTtl,
#lightning .m_plan__valueTtl {
  margin-right: 50px;
}
.m_plan__value {
  padding: 8px 0;
  text-align: right;
  font-size: 20px;
  font-weight: bold;
  line-height: 20px;
  letter-spacing: 0;
}
.m_plan__value--single {
  text-align: center;
  background: #f2f2f2;
}
.m_plan__unit {
  font-size: 14px;
}
.m_plan__unit--before {
  margin-right: 10px;
}
.m_plan__tax {
  font-weight: 400;
  font-size: 14px;
}
.m_plan__body + .m_plan__note {
  margin-top: 10px;
}
.m_plan__note {
  display: flex;
  flex-wrap: wrap;
  width: fit-content;
  margin: auto;
  letter-spacing: 0;
}
.m_plan__note ul{
  display: flex;
}
.m_plan__note li + li::before{
  content: "／";  
}
#inorder .l_grid .m_plan__body {
  width: 350px;
}
#inorder .m_plan__item p {
  width: 100%;
}
#inorder .m_plan__body {
  position: relative;
}
#inorder .m_plan__body:nth-of-type(1)::after {
  content: "＋";
  position: absolute;
  width: 40px;
  height: 52px;
  color: #333;
  font-size: 40px;
  top: 45px;
  line-height: 1;
  left: 360px;
}
#stress .m_plan{
  padding: 25px 16px 50px;
}
#stress .m_plan__btn{
  position: absolute;
  bottom: 16px;
  left: 0;
  display: block;
  width: 100%;
}
#stress .m_plan__btn > a {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 183px;
  height: 34px;
  margin: auto;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  border-radius: 8px;
  background-color: #FF54AC;
}
#stress .m_plan__btn > a:hover {
  opacity: 0.8;
}

@media screen and (max-width: 768px) {
  .m_plan__item {
    flex-wrap: wrap;
    padding: 8px;
  }
  .m_plan__detailTxt {
    font-size: 14px;
    letter-spacing: 0;
  }
  #inorder .m_plan__body:nth-of-type(1)::after {
    left: 0;
    top: 104px;
    right: 0;
    margin: auto;
  }
  #inorder .l_grid .m_plan__body {
    width: 100%;
  }
  #inorder .l_grid .m_plan__body:first-of-type {
    margin-bottom: 35px;
  }
}
@media screen and (max-width: 599px) {
  .m_plan__value {
    font-size: 18px;
  }
  .m_plan__valueTtl {
    font-size: 14px;
  }
  #leaf_lms #intra .m_plan__valueTtl,
  #lightning .m_plan__valueTtl {
    margin-right: 10px;
  }
  .m_plan__tax {
    font-size: 12px !important;
  }
}


/* =============================================================
   Module — m_price（レイアウト・余白のみ。色は price-table.css）
============================================================= */
.m_price__heading {
  margin-bottom: 16px;
}
.m_price__ttl {
  font-size: 18px;
  font-weight: bold;
}
/* page側：margin-top。li の※装飾は m_tableNote（table側）とマルチクラスで担当 */
.m_price__footer {
  margin-top: 16px;
}
.m_price__body {
  display: flex;
  align-items: stretch;
}
.m_price__base {
  width: 66.666%;
}
.m_price__special {
  position: relative;
  width: 33.333%;
  padding-left: 50px;
}
.m_price__special::before,
.m_price__special::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 10px;
  background: #333;
  display: block;
  width: 28px;
  height: 3px;
  margin: auto;
}
.m_price__special::after {
  transform: rotate(90deg);
}
.m_price--narrow .m_price__body {
  display: block;
}
.m_price--narrow .m_price__base {
  width: 100%;
}
.m_price--narrow .m_price__special {
  width: 100%;
  padding: 50px 0 0;
}
.m_price--narrow .m_price__special::before,
.m_price--narrow .m_price__special::after {
  top: 22px;
  bottom: auto;
  left: 0;
  right: 0;
}
@media screen and (max-width: 768px) {
  .m_price__body {
    display: block;
  }
  .m_price__base {
    width: 100%;
  }
  .m_price__special {
    width: 100%;
    padding: 50px 0 0;
  }
  .m_price__special::before,
  .m_price__special::after {
    top: 22px;
    bottom: auto;
    left: 0;
    right: 0;
  }
}


/* =============================================================
   Module — m_priceCont（ボックス構造。中身装飾は price-table.css）
============================================================= */
.m_priceCont {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 30px 18px;
}
.m_priceCont--hasBorder {
  border: 6px solid #D54A00;
}


/* =============================================================
   Module — m_priceCompare（比較ブロック）
============================================================= */
.m_priceCompare {
  display: flex;
  gap: 30px;
}
.m_priceCompare__item {
  width: 100%;
  padding: 30px 20px;
  background-color: #f5f7f8;
}
.m_priceCompare__ttl {
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}
.m_priceCompare__txt {
  margin: 20px 0;
  font-size: 16px;
  line-height: 1.6;
}
.m_priceCompare__img {
  line-height: 0;
}
.m_priceCompare__img img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .m_priceCompare {
    flex-direction: column;
  }
  .m_priceCompare__item {
    padding: 40px 10px;
  }
  .m_priceCompare__txt {
    margin: 20px;
  }
}


/* =============================================================
   Module — m_priceTable（SP補足DLレイアウト。色は price-table.css）
============================================================= */
.m_priceTable {
  display: flex;
  gap: 4px;
}
.m_priceTable--sp {
  display: none;
}
.m_priceTable__item {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.m_priceTable__item:not(:nth-child(2)) {
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .m_priceTable--sp {
    display: flex;
  }
  .m_priceTable {
    flex-direction: column;
  }
}


/* =============================================================
   Module — m_priceOption
============================================================= */
.m_priceOption {
  margin-top: 35px;
  padding: 25px;
  background-color: #f5f7f8;
}
.m_priceOption__ttl {
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.1em;
}
.m_priceOption__txt {
  width: fit-content;
  margin: 20px auto 0;
  font-size: 16px;
  letter-spacing: 0.03em;
}
.m_priceOption__txtInner + .m_priceOption__txtInner{
  margin-top: 5px;
}
#stress .m_priceOption{
  position: relative;
  border: 5px solid #f2f2f2;
  background-color: #fff;
}
#stress .m_priceOption__ttl{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: block;
  width: fit-content;
  margin: auto;
  padding: 0 10px 0 40px;
  font-size: 16px;
  background: #fff;
  transform: translateY(-50%);
}
#stress .m_priceOption__ttl::before{
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  top: 0;
  bottom: 0;
  left: 10px;
  display: block;
  margin: auto;
  background-image: url(../img/leaf/price/ico_wel_op.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
#stress .m_priceOption__txt{
  margin-top: 0;
}
#stress .m_priceOption__txtInner{} 
#stress .m_priceOption__txtInner strong{
  display: block;
  text-align: center;
} 
#stress .m_priceOption__txtInner a{
  color: #0071bc;
  text-decoration: underline;
}
#stress .m_priceOption__txtInner + .m_priceOption__txtInner{
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  .m_priceOption {
    margin-top: 20px;
  }
  .m_priceOption__ttl {
    font-size: 18px;
  }
  .m_priceOption__txt {
    margin: 10px auto 0;
    text-align: left;
  }
}

/* =============================================================
   Module — m_pricePoint
============================================================= */
.m_pricePoint {}
.m_pricePoint strong{
  line-height: 100%;
  font-size: 24px;
}
.m_pricePoint li{
  position: relative;
  padding-left: 1.5em;
}
.m_pricePoint li + li{
  margin-top: 6px;
}
.m_pricePoint li::before{
  content: url(/resource/img/leaf/price/icon_check.svg);
  position: absolute;
  left: 0;
  top: calc((1lh - 1em) / 2);
  display: block;
  width: 24px;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .m_pricePoint strong{
    font-size: 18px;
  }
}



/* =============================================================
   Module — m_txtBox
============================================================= */
.m_txtBox {
  padding: 1em;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0;
  position: relative;
}
.m_txtBox__ttl {
  position: absolute;
  top: 0;
  left: 16px;
  padding: 0 0.5em;
  font-weight: bold;
  font-size: 16px;
  background: #fff;
  transform: translateY(-50%);
}
#leaf_lms .m_txtBox__ttl {
  color: #1A8192;
}
#lightning .m_txtBox__ttl {
  color: #DFA300;
}
#inorder .m_txtBox__ttl {
  color: #AA0000;
}
.m_txtBox--attention{
  background-color: #fff;
  border: 3px solid;
}
.m_txtBox--attentionLms {
  background-color: #fff;
  border: 3px solid #1A8192;
}
#lightning .m_txtBox--attentionLms {
  border-color: #DFA300;
}
.m_txtBox--attentionIdr {
  background-color: #fff;
  border: 3px solid #AA0000;
}
.m_txtBox--attentionLms .l_grid,
.m_txtBox--attentionIdr .l_grid {
  align-items: center;
}
.m_txtBox--sub {
  background: #fff;
  border: 5px solid #f2f2f2;
  text-align: center;
  font-weight: 400;
  font-size: 14px;
  margin-top: 30px;
}
#leaf_lms .m_txtBox--sub {
  position: relative;
}
#leaf_lms .m_txtBox--sub::before {
  content: "";
  position: absolute;
  width: 25px;
  height: 25px;
  top: -15px;
  left: 264px;
  background-image: url(/resource/img/leaf/price/ico_leaf_op.svg);
  background-repeat: no-repeat;
  background-size: contain;
  z-index: 1;
}
#leaf_lms #lightning .m_txtBox--sub::before {
  background-image: url(/resource/img/leaf/price/ico_light_op.svg);
}
#lightning .m_txtBox--sub {
  padding: 25px;
}
.m_txtBox__subTtl {
  position: absolute;
  top: 0;
  left: 250px;
  padding: 0 0.5em 0 3em;
  font-weight: bold;
  font-size: 16px;
  color: #333;
  background: #fff;
  transform: translateY(-50%);
}
.m_txtBox__subTxt {
  font-size: 14px;
  font-weight: 400;
}

#stress .m_txtBox--attention {
  border-color: #B52D61;
}
#stress .m_txtBox--attention .m_txtBox__ttl {
  color: #B52D61;
}
#wellness .m_txtBox--attention {
  border-color: #FF7373;
}
#wellness .m_txtBox--attention .m_txtBox__ttl {
  color: #FF7373;
}
#eval .m_txtBox--attention {
  border-color: #4260ad;
}
#eval .m_txtBox--attention .m_txtBox__ttl {
  color: #4260ad;
}
@media screen and (max-width: 768px) {
  .m_txtBox .l_grid {
    display: block;
  }
  .m_txtBox .l_grid .l_grid__item {
    font-size: 13px;
  }
  .m_txtBox__subTtl {
    left: 24.4vw;
    font-size: 14px;
  }
  #leaf_lms .m_txtBox--sub {
    text-align: left;
  }
  #leaf_lms .m_txtBox--sub::before {
    width: 20px;
    height: 20px;
    top: -12px;
    left: 26.1vw;
  }
  #lightning .m_txtBox--sub {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
}
@media screen and (max-width: 576px) {
  #lightning .m_txtBox__subTtl {
    left: 20.4vw;
  }
  #lightning .m_txtBox--sub::before {
    left: 22.6vw;
  }
}
@media screen and (max-width: 496px) {
  .m_txtBox__subTtl {
    left: 18.4vw;
  }
  #leaf_lms .m_txtBox--sub::before {
    left: 21.1vw;
  }
  #lightning .m_txtBox__subTtl {
    left: 16.2vw;
  }
  #lightning .m_txtBox--sub::before {
    left: 18.8vw;
  }
}
@media screen and (max-width: 424px) {
  .m_txtBox__subTtl {
    left: 9.4vw;
  }
  #leaf_lms .m_txtBox--sub::before {
    left: 13.1vw;
  }
  #lightning .m_txtBox__subTtl {
    left: 3.2vw;
  }
  #lightning .m_txtBox--sub::before {
    left: 6.8vw;
  }
}


/* =============================================================
   Module — m_btnList
============================================================= */
.m_btnList {
  display: flex;
  justify-content: center;
  align-items: stretch;
}
.m_btnList__item + .m_btnList__item {
  margin-left: 16px;
}
@media screen and (max-width: 599px) {
  .m_btnList {
    display: block;
  }
  .m_btnList__item + .m_btnList__item {
    margin: 12px 0 0 0;
  }
}


/* =============================================================
   Module — m_feature
============================================================= */
.m_feature {
  border: 1px solid;
}
.m_feature__heading {
  padding: 16px;
}
.m_feature__ttl {
  line-height: 1;
  text-align: center;
  font-size: 28px;
}
.m_feature__sub {
  text-align: center;
  font-size: 14px;
}
.m_feature__ttl + .m_feature__sub {
  margin-top: 12px;
}
.m_feature__body {
  padding: 16px;
}
.m_feature__item + .m_feature__item {
  margin-top: 24px;
}
.m_feature--colorLms .m_feature__heading {
  background: #1a8192;
}
.m_feature--colorLms .m_feature__ttl,
.m_feature--colorLms .m_feature__sub {
  color: #fff;
}
@media screen and (max-width: 768px) {
  .m_feature__ttl {
    font-size: 24px;
  }
}
@media screen and (max-width: 599px) {
  .m_feature__ttl {
    font-size: 16px;
    line-height: 1.4;
  }
}


/* =============================================================
   Module — m_ranking
============================================================= */
.m_ranking__item {
  display: flex;
  align-items: center;
}
.m_ranking__item + .m_ranking__item {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid;
}
.m_ranking__icon {
  flex: 0 0 104px;
  padding: 0 16px;
  line-height: 0;
  text-align: center;
}
.m_ranking__icon > img {
  max-width: 100%;
  height: auto;
  min-width: 64px;
  margin-top: 5px;
}
.m_ranking__icon::before {
  display: block;
  padding: 2px 0;
  line-height: 1;
  text-align: center;
  color: #fff;
}
.m_ranking__icon--first::before {
  content: "1位";
  background: #c18b1e;
}
.m_ranking__icon--second::before {
  content: "2位";
  background: #96a1aa;
}
.m_ranking__icon--third::before {
  content: "3位";
  background: #8c543b;
}
.m_ranking__body {
  flex: 1 1 auto;
  padding: 0 16px;
  letter-spacing: 0;
}
.m_ranking__ttl {
  font-weight: bold;
  font-size: 16px;
}
.m_ranking__ttl + .m_ranking__msg {
  margin-top: 8px;
}
@media screen and (max-width: 599px) {
  .m_ranking__item {
    flex-direction: column;
  }
  .m_ranking__icon {
    flex: 0 0 auto;
  }
  .m_ranking__body {
    padding: 0;
  }
  .m_ranking__icon + .m_ranking__body {
    margin-top: 8px;
  }
}


/* =============================================================
   Module — m_ankerlink
============================================================= */
.m_ankerlink{}
.m_ankerlink + .m_ankerlink {
  margin-top: 24px;
}
.m_ankerlink__ttl {
  font-size: 18px;
  font-weight: bold;
}
.m_ankerlink__lst {
  display: flex;
  gap: 10px;
  margin-top: 9px;
}
.m_ankerlink__target {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 214px;
  padding: 5px 0 5px 30px;
  border: 1px solid #707070;
  border-radius: 5px;
  color: #333;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: -0.1px;
}
.m_ankerlink__target::before {
  content: "";
  position: absolute;
  width: 16px;
  height: 16px;
  top: 50%;
  left: 8px;
  background-image: url(/resource/img/leaf/price/ico_unkerlink.svg);
  background-repeat: no-repeat;
  background-size: contain;
  transform: translateY(-50%);
}
.m_ankerlink--stress{}
.m_ankerlink--stress .m_ankerlink__lst{
  width: fit-content;
  margin-inline: auto;
}
.m_ankerlink--stress .m_ankerlink__itm{
  width: 380px;
}
.m_ankerlink--stress .m_ankerlink__target{
  padding: 15px 0;
}
.m_ankerlink--eval{}
.m_ankerlink--eval .m_ankerlink__itm{
  width: 100%;
}


@media (any-hover: hover) {
  .m_ankerlink__itm:hover .m_ankerlink__target {
    color: #000;
    opacity: 0.6;
  }
}
@media screen and (max-width: 768px) {
  .m_ankerlink__lst {
    flex-direction: column;
  }
  .m_ankerlink__ttl,
  .m_ankerlink__target {
    font-size: 16px;
  }
  .m_ankerlink--stress .m_ankerlink__lst{
    width: 95%;
  }
  .m_ankerlink--stress .m_ankerlink__itm{
    width: 100%;
  }
}


/* =============================================================
   Module — m_videolst
============================================================= */
.m_videolst__btnSec {
  width: 505px;
  margin: 30px auto 35px;
}
@media screen and (max-width: 768px) {
  .m_videolst__btnSec {
    width: 100%;
    max-width: 95%;
  }
}


/* =============================================================
   Module — m_descriptionList
============================================================= */
.m_descriptionList {
  display: flex;
  align-items: center;
  background-color: #f5f7f8;
}
.m_descriptionList__wrap {
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin-top: 35px;
}
.m_descriptionList__ttl {
  flex-shrink: 0;
  padding: 30px;
  width: 270px;
  color: #fff;
  font-size: 24px;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.67;
  background-color: #70bbdd;
  text-align: center;
}
.m_descriptionList__txt {
  padding: 0 20px;
  font-size: 24px;
  font-weight: bold;
  letter-spacing: 0.05em;
}
.m_descriptionList__txt > span {
  font-size: 20px;
  letter-spacing: 0;
}
.m_descriptionList + .m_descriptionList .m_descriptionList__ttl {
  padding: 10px;
  font-size: 18px;
  letter-spacing: 0;
}
.m_descriptionList + .m_descriptionList .m_descriptionList__txt {
  font-size: 14px;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  .m_descriptionList {
    align-items: stretch;
  }
  .m_descriptionList__wrap {
    gap: 10px;
    margin-top: 20px;
  }
  .m_descriptionList__ttl {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 200px;
    padding: 20px;
    font-size: 20px;
  }
  .m_descriptionList__txt {
    width: 100%;
    padding: 10px;
    font-size: 26px;
  }
  .m_descriptionList__txt > span {
    display: block;
    font-size: 20px;
  }
  .m_descriptionList + .m_descriptionList .m_descriptionList__ttl {
    padding: 10px;
    font-size: 16px;
  }
  .m_descriptionList + .m_descriptionList .m_descriptionList__txt {
    font-size: 14px;
  }
}
@media screen and (max-width: 599px) {
  .m_descriptionList {
    flex-direction: column;
  }
  .m_descriptionList__ttl {
    padding: 10px;
    width: 100%;
    font-size: 20px;
  }
  .m_descriptionList__txt {
    padding: 20px;
    font-size: 26px;
    text-align: center;
  }
}

/* =============================================================
   Module — m_planStress
============================================================= */

.m_planStress {
  margin-top: 25px;
}
.m_planStress__ttl {
  position: relative;
  text-align: center;
}
.m_planStress__ttlInr {
  position: relative;
  display: inline-block;
  padding: 2px 20px;
  color: #707070;
  font-weight: bold;
  border: 2px solid #707070;
  border-radius: 50px;
  background-color: #fff;
  text-align: center;
  z-index: 2;
}
.m_planStress__ttl::before {
  content: '';
  position: absolute;
  display: block;
  width: 100%;
  height: 3px;
  top: 0;
  bottom: 0;
  margin: auto;
  background-color: #707070;
  z-index: 1;
}
.m_planStress__cont {
  margin-top: 20px;
  margin-bottom: 20px;
}
.m_planStress__cont li {
  padding-left: calc(0.8em + 8px);
  text-indent: calc((0.8em + 8px) * -1);
}
.m_planStress__cont li::before {
  content: '●';
  padding-right: 8px;
  color: #B52D61;
  font-size: 0.8em;
}

/* =============================================================
   Module — m_addPrice
============================================================= */

#stress .m_addPrice {
  display: flex;
  border: 1px solid #D95B95;
  overflow: hidden;
}
#stress .m_addPrice__ttl {
  position: relative;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 0 10px;
  font-size: 16px;
  color: #fff;
  font-weight: bold;
  background-color: #D95B95;
}
#stress .m_addPrice__ttl::after {
  content: '';
  position: absolute;
  width: 10px;
  height: 100%;
  right: -10px;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  background-color: #D95B95;
}
#stress .m_addPrice__ttl_icon {
  line-height: 0;
}
#stress .m_addPrice__cont {
  padding: 10px 10px 10px 25px;
}
#stress .m_addPrice__cont ul {
  display: flex;
  flex-wrap: wrap;
}
#stress .m_addPrice__cont li {
  position: relative;
  min-width: 50%;
  padding-left: 12px;
}
#stress .m_addPrice__cont li::before {
  content: '';
  position: absolute;
  display: inline-block;
  width: 6px;
  height: 6px;
  top: 8px;
  left: 0;
  background-color: #D95B95;
  border-radius: 50%;
}

@media (max-width: 768px) {
  #stress .m_addPrice {
    display: block;
  }
  #stress .m_addPrice__ttl {
    justify-content: center;
    padding: 10px;
  }
  #stress .m_addPrice__ttl::after {
    display: block;
    width: 100%;
    height: 10px;
    right: 0;
    bottom: -9.5px;
    clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
  }
  #stress .m_addPrice__ttl_icon {
    line-height: 0;
  }
  #stress .m_addPrice__cont {
    padding: 25px 10px 10px 10px;
  }
  #stress .m_addPrice__cont ul {
    display: block;
  }
}


/* =============================================================
   Module — m_feature
============================================================= */
.m_feature{
  border: 1px solid;
}
.m_feature__heading{
  padding: 16px;
}
.m_feature__ttl{
  line-height: 1;
  text-align: center;
  font-size: 28px;
}
.m_feature__sub{
  text-align: center;
  font-size: 14px;
}
.m_feature__ttl + .m_feature__sub{
  margin-top: 12px;
}
.m_feature__body{
  padding: 16px;
}
.m_feature__item + .m_feature__item{
  margin-top: 24px;
}
.m_feature--colorLms{}
.m_feature--colorLms .m_feature__heading{
  background: #1a8192;
}
.m_feature--colorLms .m_feature__ttl,
.m_feature--colorLms .m_feature__sub{
  color: #fff;
}
.m_feature--colorEval{}
.m_feature--colorEval .m_feature__heading{
  background: #4260ad;
}
.m_feature--colorEval .m_feature__ttl,
.m_feature--colorEval .m_feature__sub{
  color: #fff;
}
.m_feature--colorStress{}
.m_feature--colorStress .m_feature__heading{
  background: #b52d61;
}
.m_feature--colorStress .m_feature__ttl,
.m_feature--colorStress .m_feature__sub{
  color: #fff;
}

.m_feature--simulation{
  padding: 24px;
  /* margin-top: 40px !important; */
}
.m_feature--simulation .m_feature__heading{
  border-bottom: 1px solid;
}
.m_feature--simulation .m_feature__ttl{
  color: #4260ad;
}
@media screen and (max-width: 768px){
  .m_feature__ttl{
    font-size: 24px;
  }
}
@media screen and (max-width: 599px){
  .m_feature__ttl{
    font-size: 16px;
    line-height: 1.4;
  }
  .m_feature--simulation{
    padding: 12px;
  }
  .m_feature--simulation .m_feature__body{
    padding-left: 0;
    padding-right: 0;
  }
}

/* 料金シミュレーションステップ */
.m_simulationStep{}
.m_simulationStep__item{
  display: flex;
  align-items: center;
}
.m_simulationStep__item + .m_simulationStep__item{
  margin-top: 24px;
}
.m_simulationStep__icon{
  position: relative;
  padding-right: 24px;
  margin-right: 24px;
}
.m_simulationStep__icon::after{
  content: "▲";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%) rotate(90deg);
}
.m_simulationStep__num{
  font-size: 24px;
}
.m_simulationStep__body{
  flex: 1 1 auto;
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.m_simulationStep__body::before{
  content: "";
  order: 2;
  flex: 1 1 auto;
  display: block;
  border-bottom: 2px dotted;
  transform: translateY(-50%);
}
.m_simulationStep__ttl{
  order: 1;
  flex: 0 0 auto;
  background: #fff;
  padding-right: 16px;
}
.m_simulationStep__data{
  order: 3;
  flex: 0 0 160px;
  display: flex;
  align-items: center;
  padding-left: 16px;
  background: #fff;
}
.m_simulationStep__select{
  flex: 0 0 80px;
}
.m_simulationStep__unit{
  margin-left: 8px;
}
@media screen and (max-width: 768px){
  .m_simulationStep__item{
    display: block;
  }
  .m_simulationStep__icon{
    display: inline-block;
  }
}
@media screen and (max-width: 599px){
  .m_simulationStep__body{
    display: block;
  }
  .m_simulationStep__body::before{
    content: none;
  }
  .m_simulationStep__data{
    justify-content: flex-end;
  }
  .m_simulationStep__ttl + .m_simulationStep__data{
    margin-top: 12px;
  }
}

/* シミュレーション結果 */
.m_simulationResult{}
.m_simulationResult__summary{
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 8px;
  border-bottom: 1px solid;
  font-weight: bold;
  font-size: 20px;
  line-height: 1;
}
.m_simulationResult__summary::before{
  content: "";
  order: 2;
  flex: 1 1 auto;
  display: block;
  border-bottom: 2px dotted;
  transform: translateY(-50%);
}
.m_simulationResult__summaryTtl{
  order: 1;
  flex: 0 0 auto;
  padding-right: 16px;
  background: #fff;
}
.m_simulationResult__summaryNum{
  order: 3;
  flex: 0 0 auto;
  padding-left: 16px;
  background: #fff;
}
.m_simulationResult__summaryUnit{
  font-size: 16px;
}
.m_simulationResult__detail{
  border: 1px solid #ccc;
  border-radius: 8px;
  overflow: hidden;
}
.m_simulationResult__detailTtl{
  margin-bottom: 16px;
  padding: 8px 0;
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
}
.m_simulationResult__detailNum{
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}
.m_simulationResult__breakDown{
  margin: 0 16px;
  padding: 16px 0;
  border-top: 1px solid #ccc;
}
.m_simulationResult__breakDownBody{
  margin-top: 12px;
}
.m_simulationResult__breakDownItem + .m_simulationResult__breakDownItem{
  margin-top: 12px;
}
.m_simulationResult__breakDownItem{
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.m_simulationResult__breakDownItem--top{
  align-items: flex-start;
}
.m_simulationResult__breakDownTtl{
  position: relative;
  padding-left: 1.2em;
}
.m_simulationResult__breakDownTtl::before{
  content: "■";
  position: absolute;
  left: 0;
}
.m_simulationResult__breakDownNum{
  font-size: 16px;
  font-weight: bold;
}
.m_simulationResult--colorEval{}
.m_simulationResult--colorEval .m_simulationResult__summaryNum{
  color: #4260ad;
}
.m_simulationResult--colorEval .m_simulationResult__detailTtl{
  background: #d7f7ff;
}
.m_simulationResult--colorEval .m_simulationResult__detailNum{
  color: #4260ad;
}
@media screen and (max-width: 768px){
  .m_simulationResult{
    width: 100%;
  }
  .m_simulationResult__summary{
    display: block;
  }
  .m_simulationResult__summary::before{
    content: none;
  }
  .m_simulationResult__summaryTtl{
    display: inline-block;
  }
  .m_simulationResult__summaryTtl + .m_simulationResult__summaryNum{
    margin-top: 16px;
  }
  .m_simulationResult__summaryNum{
    text-align: right;
  }
}

@media screen and (max-width: 599px){
  .m_simulationResult__summaryTtl{
    font-size: 16px;
    line-height: 1.4;
  }
  .m_simulationResult__breakDown{
    padding-left: 0;
    padding-right: 0;
  }
  .m_simulationResult__breakDownItem{
    display: block;
  }
  .m_simulationResult__breakDownNum{
    text-align: right;
  }
}
/* 税込 */
.m_taxIn{
  font-size: 11px;
}


/* =============================================================
   Utility
============================================================= */
.br_sp {
  display: none;
}
.u_mxA{
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .br_sp {
    display: block !important;
  }
  .br_pc {
    display: none !important;
  }
}
.cont_sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .cont_sp {
    display: block;
  }
  .cont_pc {
    display: none;
  }
}
@media screen and (max-width: 599px) {
  #leaf_lms #intra .u_resSmCol4 {
    width: auto;
  }
}