@charset "UTF-8";

#cont {
  font-size: 16px;
  letter-spacing: normal;
}
@media (max-width: 768px){
  #cont {
    font-size: 15px;
  }
}

/*============================================================================================
      Utility
=============================================================================================*/
/*-- Images --*/
.u_img {
  display: block;
  line-height: 0;
}
.u_img img {
  display: block;
  width: 100%;
  margin: 0 auto;
}

/*-- Icon --*/
.u_ic {
  position: relative;
}
.u_ic::before,
.u_ic::after {
  content: "";
  margin: auto;
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 100% auto;
  position: absolute;
  pointer-events: none;
}

/*-- Text Indent --*/
.u_indent {
  text-indent: -1em;
  padding-left: 1em;
}

/*-- Text Align --*/
.u_alignC {
  text-align: center;
}
.u_alignL {
  text-align: left;
}
.u_alignR {
  text-align: right;
}

@media (max-width: 768px) {
  .u_alignC_md {
    text-align: center;
  }
  .u_alignL_md {
    text-align: left;
  }
  .u_alignR_md {
    text-align: right;
  }
}


/*-- Font Size --*/
.u_fz40 {
  font-size: calc(4rem * 0.625);
}
.u_fz38 {
  font-size: calc(3.8rem * 0.625);
}
.u_fz36 {
  font-size: calc(3.6rem * 0.625);
}
.u_fz34 {
  font-size: calc(3.4rem * 0.625);
}
.u_fz32 {
  font-size: calc(3.2rem * 0.625);
}
.u_fz30 {
  font-size: calc(3rem * 0.625);
}
.u_fz28 {
  font-size: calc(2.8rem * 0.625);
}
.u_fz26 {
  font-size: calc(2.6rem * 0.625);
}
.u_fz24 {
  font-size: calc(2.4rem * 0.625);
}
.u_fz22 {
  font-size: calc(2.2rem * 0.625);
}
.u_fz20 {
  font-size: calc(2rem * 0.625);
}
.u_fz18 {
  font-size: calc(1.8rem * 0.625);
}
.u_fz16 {
  font-size: calc(1.6rem * 0.625);
}
.u_fz15 {
  font-size: calc(1.5rem * 0.625);
}
.u_fz14 {
  font-size: calc(1.4rem * 0.625);
}
.u_fz13 {
  font-size: calc(1.3rem * 0.625);
}
.u_fz12 {
  font-size: calc(1.2rem * 0.625);
}
.u_fz11 {
  font-size: calc(1.1rem * 0.625);
}
.u_fz10 {
  font-size: calc(1rem * 0.625);
}

@media (max-width: 896px) {
  .u_fz30_md {
    font-size: calc(3rem * 0.625);
  }
  .u_fz28_md {
    font-size: calc(2.8rem * 0.625);
  }
  .u_fz26_md {
    font-size: calc(2.6rem * 0.625);
  }
  .u_fz24_md {
    font-size: calc(2.4rem * 0.625);
  }
  .u_fz22_md {
    font-size: calc(2.2rem * 0.625);
  }
  .u_fz20_md {
    font-size: calc(2rem * 0.625);
  }
  .u_fz18_md {
    font-size: calc(1.8rem * 0.625);
  }
  .u_fz16_md {
    font-size: calc(1.6rem * 0.625);
  }
  .u_fz15_md {
    font-size: calc(1.5rem * 0.625);
  }
  .u_fz14_md {
    font-size: calc(1.4rem * 0.625);
  }
  .u_fz13_md {
    font-size: calc(1.3rem * 0.625);
  }
  .u_fz12_md {
    font-size: calc(1.2rem * 0.625);
  }
  .u_fz11_md {
    font-size: calc(1.1rem * 0.625);
  }
  .u_fz10_md {
    font-size: calc(1rem * 0.625);
  }
}


/*    Margin
=====================================================*/
/*-- Horizontal / Vertical --*/
.mx_auto {
  margin-left: auto !important;
  margin-right: auto !important;
}
.mx_0 {
  margin-left: auto !important;
  margin-right: auto !important;
}
.my_auto {
  margin-top: auto !important;
  margin-bottom: auto !important;
}
.my_0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.ml_auto {
  margin-left: auto !important;
}

/*-- top --*/
.mt_0 {
  margin-top: 0 !important;
}
.mt_5 {
  margin-top: 5px !important;
}
.mt_10 {
  margin-top: 10px !important;
}
.mt_15 {
  margin-top: 15px !important;
}
.mt_20 {
  margin-top: 20px !important;
}
.mt_25 {
  margin-top: 25px !important;
}
.mt_30 {
  margin-top: 30px !important;
}
.mt_35 {
  margin-top: 35px !important;
}
.mt_40 {
  margin-top: 40px !important;
}
.mt_45 {
  margin-top: 45px !important;
}
.mt_50 {
  margin-top: 50px !important;
}
.mt_60 {
  margin-top: 60px !important;
}
.mt_70 {
  margin-top: 70px !important;
}
.mt_80 {
  margin-top: 80px !important;
}
.mt_90 {
  margin-top: 90px !important;
}
.mt_100 {
  margin-top: 100px !important;
}

/*-- bottom --*/
.mb_0 {
  margin-bottom: 0 !important;
}
.mb_5 {
  margin-bottom: 5px !important;
}
.mb_10 {
  margin-bottom: 10px !important;
}
.mb_15 {
  margin-bottom: 15px !important;
}
.mb_20 {
  margin-bottom: 20px !important;
}
.mb_25 {
  margin-bottom: 25px !important;
}
.mb_30 {
  margin-bottom: 30px !important;
}
.mb_35 {
  margin-bottom: 35px !important;
}
.mb_40 {
  margin-bottom: 40px !important;
}
.mb_45 {
  margin-bottom: 45px !important;
}
.mb_50 {
  margin-bottom: 50px !important;
}
.mb_60 {
  margin-bottom: 60px !important;
}
.mb_70 {
  margin-bottom: 70px !important;
}
.mb_80 {
  margin-bottom: 80px !important;
}
.mb_90 {
  margin-bottom: 90px !important;
}
.mb_100 {
  margin-bottom: 100px !important;
}

/* ----------
layout
---------- */
.l_wrapper {
  flex-direction: row-reverse;
}

.l_wrap_inr {
  width: 930px;
}

/* 節 */
.l_section--primary{}
.l_section--primary > .l_section__item + .l_section__item{
  margin-top: 48px;
}

/* グリッド */
.l_grid--subFunc{
  margin: -8px;
}
.l_grid--subFunc > .l_grid__item{
  padding: 8px;
}
.l_grid--apply{
  margin: -10px;
}
.l_grid--apply > .l_grid__item{
  padding: 10px;
}
.l_grid--others{
  margin: -20px;
}
.l_grid--others > .l_grid__item{
  padding: 20px;
}

@media (max-width: 768px){
  .l_sideWrap {
    display: none;
  }

  .l_wrap_inr {
    width: 95%;
    padding: 0;
    margin: auto;
  }
}

/* ----------
module
---------- */
.m_underLayer {
  padding: 80px 0 100px;
}
/* 複数ボタン */
.m_btns{
  display: flex;
  align-items: stretch;
  justify-content: center;
  margin: 0 -12px;
}
.m_btns__item{
  display: block;
  width: 50%;
  padding: 0 12px;
}
@media screen and (max-width: 768px){
  .m_btns{
    display: block;
  }
  .m_btns__item{
    width: 100%;
  }
  .m_btns__item + .m_btns__item{
    margin-top: 24px;
  }
}
/* ボタン */
.m_btn--contMain::before{
  content: "";
  width: 0;
  height: 3em;
  display: block;
}
.m_btn--contMain .m_btn__target{
  width: 100%;
  border: 2px solid #0071bb;
  border-radius: 8px;
  background: #0071bb;
  font-weight: bold;
  color: #fff;
  transition: .3s background, .3s color;
}
.m_btn--contMain .m_btn__target:hover{
  color: #0071bb;
  background: #fff;
  text-decoration: none;
}
.m_btn--contMain .m_btn__inner{
  position: relative;
  display: block;
  padding-right: 40px;
}
.m_btn--contMain .m_btn__inner::before{
  content: url("../img/leaf/eval_case/ico_btn_on.svg");
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  display: block;
  margin: auto 0;
  width: 20px;
  height: 20px;
}
.m_btn--contMain .m_btn__target:hover .m_btn__inner::before{
  content: url("../img/leaf/eval_case/ico_btn_off.svg");
}
.m_btn--contSub::before{
  content: "";
  width: 0;
  height: 3em;
  display: block;
}
.m_btn--contSub .m_btn__target{
  width: 100%;
  border: 2px solid #0071bb;
  border-radius: 8px;
  background: #fff;
  font-weight: bold;
  color: #0071bb;
  transition: .3s opacity;
}
.m_btn--contSub .m_btn__target:hover{
  opacity: .7;
  text-decoration: none;
}
.m_btn--contSub .m_btn__target{
  width: 100%;
  border: 2px solid #0071bb;
  border-radius: 8px;
  background: #fff;
  font-weight: bold;
  color: #0071bb;
}
.m_btn--contSub .m_btn__inner{
  position: relative;
  display: block;
  padding-right: 40px;
}
.m_btn--contSub .m_btn__inner::before{
  content: url("../img/leaf/eval_case/ico_btn_off.svg");
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  display: block;
  margin: auto 0;
  width: 20px;
  height: 20px;
}
@media screen and (max-width: 768px){
  .m_btn--contMain .m_btn__inner{
    padding-right: 28px;
    font-size: 14px;
  }
  .m_btn--contSub .m_btn__inner{
    padding-right: 28px;
    font-size: 14px;
  }
}
/* アイコン */
.m_hasIco--resolve{
  display: flex;
  align-items: center;
  min-height: 72px;
  padding-left: 90px;
}
.m_hasIco--resolve::before{
  content: url("../img/leaf/eval_case/ico_ttl_evaluation.png");
  top: 0;
  bottom: 0;
  height: 72px;
  margin: auto 0;
}
/* 見出し */
.m_heading__subTtl{
  font-weight: bold;
  line-height: 1.3;
}
.m_heading--primary{}
.m_heading--primary .m_heading__subTtl{
  font-size: 24px;
}
.m_heading--primary .m_heading__subTtl + .m_heading__ttl{
  margin-top: 8px;
}
.m_heading--primary .m_heading__ttl{
  line-height: 1.3;
  font-size: 36px;
}
.m_heading--secondary{
  margin-bottom: 24px;
}
.m_heading--secondary .m_heading__ttl{
  display: flex;
  justify-content: center;
  font-weight: bold;
  line-height: 1.3;
  font-size: 20px;
}
@media screen and (max-width: 768px){
  .m_heading--primary .m_heading__subTtl{
    font-size: 16px;
  }
  .m_heading--primary .m_heading__ttl{
    font-size: 22px;
  }
}
@media screen and (max-width: 599px){
  .m_heading--primary .m_heading__subTtl{
    font-size: 12px;
  }
  .m_heading--primary .m_heading__subTtl + .m_heading__ttl{
    margin-top: 4px;
  }
  .m_heading--primary .m_heading__ttl{
    font-size: 16px;
  }
}
/* ヒーローズエリア */
.m_herosArea{
  margin-bottom: 24px;
}
.m_herosArea__body{}
.m_herosArea__heading{
  position: relative;
  padding: 30px 200px 16px 130px;
  border-top: 6px solid #0071bb; 
}
.m_herosArea__heading::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 89px;
  height: 90px;
  background: url("../img/leaf/eval_case/ico_ttl_evaluation.png") no-repeat center top / contain;
}
.m_herosArea__imgWrap{
  position: absolute;
  right: 0;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 190px;
  height: 100%;
}
.m_herosArea__img{
  line-height: 0;
  text-align: center;
}
.m_herosArea__img img{
  max-width: 100%;
  height: auto;
}
.m_herosArea__body + .m_herosArea__lead{
  margin-top: 40px;
}
.m_herosArea__lead{
  padding: 15px 20px;
  border: 2px solid  #DDECF8;
}

@media screen and (max-width: 768px){
  .m_herosArea__heading{
    padding: 16px 0 16px 82px;
  }
  .m_herosArea__heading::before{
    width: 64px;
    height: 58px;
  }
  .m_herosArea__imgWrap{
    display: none;
  }
  .m_herosArea__body + .m_herosArea__lead{
    margin-top: 24px;
  }
}
@media screen and (max-width: 599px){
  .m_herosArea__heading{
    padding: 8px 0 8px 50px;
  }
  .m_herosArea__heading::before{
    width: 40px;
    height: 36px;
  }
  .m_herosArea__body + .m_herosArea__lead{
    margin-top: 16px;
  }
}
/* お悩み解決のラッパー */
.m_resolveWrap{}
.m_resolveWrap__body{}
.m_resolveWrap__summary{}
.m_resolveWrap__summary + .m_resolveWrap__detail{
  margin-top: 30px;
}

.m_resolveWrap__list{
  display: flex;
  align-items: stretch;
}
.m_resolveWrap__item{
  width: 33.333%;
}
@media screen and (max-width: 768px){
  .m_resolveWrap__list{
    display: block;
  }
  .m_resolveWrap__item{
    width: 100%;
  }
  .m_resolveWrap__item + .m_resolveWrap__item{
    margin-top: 16px;
  }
}
/* お悩み解決 */
.m_resolve{}
.m_resolve__problem{
  padding: 0 8px;
}
.m_resolve__benefit{}
.m_resolve__problem + .m_resolve__benefit{
  position: relative;
  margin-top: 22px;
  padding-top: 22px;
}
.m_resolve__problem + .m_resolve__benefit::before{
  content: url("../img/leaf/option_pack/bottom/arrow.png");
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: block;
  margin: 0 auto;
  width: 25px;
  transform: translateY(-50%);
}
/* 問題 */
.m_problem{
  padding: 20px 16px;
  border-top: 6px solid #B9B9B9;
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
}
.m_problem__ttl{
  font-weight: bold;
  text-align: center;
  font-size: 18px;
  margin-bottom: 16px;
}
@media screen and (max-width: 768px){
  .m_problem__ttl{
    font-size: 16px;
    margin-bottom: 12px;
  }
}
/* ベネフィット */
.m_benefit{
  padding: 16px;
  background: #DDECF8;
}
.m_benefit__inner{
  padding: 24px 20px;
  background: url("../img/leaf/option_pack/bottom/ico_update.png") no-repeat center center / 50%, #fff;
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
}
.m_benefit__ttl{
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: calc(2em * 1.4);
  margin-bottom: 16px;
  line-height: 1.4;
  text-align: center;
  font-weight: bold;
  font-size: 18px;
}
@media screen and (max-width: 768px){
  .m_benefit__inner{
    background-size: contain;
  }
  .m_benefit__ttl{
    font-size: 16px;
  }
}
/* プラン詳細 */
.m_detail{
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
}
.m_detail__ttl{
  padding: 12px 0; 
  background: #0071bb;
  color: #fff;
  text-align: center;
  font-weight: bold;
  font-size: 20px;
}
.m_detail__body{
  padding: 24px;
}
.m_detail__item + .m_detail__item{
  margin-top: 20px
}
@media screen and (max-width: 768px){
  .m_detail__ttl{
    font-size: 16px;
  }
  .m_detail__item + .m_detail__item{
    margin-top: 40px
  }
  .m_detail__body{
    padding: 16px;
  }
}

/* プランの主機能 */
.m_mainFunc{
  display: flex;
  align-items: stretch;
}
.m_mainFunc__leaf{
  flex: 0 0 380px;
  padding: 0 40px;
}
.m_mainFunc__option{
  flex: 1 1 auto;
  padding: 0 40px;
}
.m_mainFunc__leaf + .m_mainFunc__option{
  position: relative;
}
.m_mainFunc__leaf + .m_mainFunc__option::before{
  content: "＋";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  font-size: 56px;
  display: block;
  width: 1em;
  height: 1em;
  margin: auto;
  line-height: 1;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px){
  .m_mainFunc{
    display: block;
  }
  .m_mainFunc__leaf{
    padding: 0;
  }
  .m_mainFunc__option{
    padding: 0;
  }
  .m_mainFunc__leaf + .m_mainFunc__option{
    margin-top: 36px;
    padding-top: 36px;
  }
  .m_mainFunc__leaf + .m_mainFunc__option::before{
    top: 0;
    bottom: auto;
    left: 0;
    right: 0;
    transform: translateY(-50%);
  }
}
/* leafの基本機能 */
.m_leaf{}
.m_leaf__ttl{
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: calc(2em * 1.4);
  margin-bottom: 20px;
  line-height: 1.4;
  font-weight: bold;
  text-align: center;
  font-size: 20px;
}
.m_leaf__body{}
.m_leaf__img{
  text-align: center;
  line-height: 0;
}
.m_leaf__img img{
  max-width: 100%;
  height: auto;
}
@media screen and (max-width: 768px){
  .m_leaf__ttl{
    font-size: 16px;
    min-height: 0;
  }
}
/* オプション機能のラッパー */
.m_optionWrap{}
.m_optionWrap__ttl{
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: calc(2em * 1.4);
  margin-bottom: 20px;
  line-height: 1.4;
  font-weight: bold;
  text-align: center;
  font-size: 20px;
}
.m_optionWrap__list{}
.m_optionWrap__item + .m_optionWrap__item{
  margin-top: 20px;
}
.m_optionWrap__inner{}
@media screen and (max-width: 768px){
  .m_optionWrap__ttl{
    min-height: 0;
    font-size: 16px;
  }
}

/* オプション機能 */
.m_option{
  position: relative;
  display: block;
  border: 1px solid #707070;
  color: inherit;
  overflow: hidden;
}
.m_option::before{
  content: "機能を詳しくみる →";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  color: #fff;
  font-size: 18px;
  opacity: 0;
  background: rgba(0, 0, 0, 0.8);
  transition: .3s opacity;
}
.m_option::after{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 16px;
  background: #0071bb;
  transform: translateX(-100%);
  transition: .5s transform;
}
.m_option:hover{
  color: inherit;
  text-decoration: none;
}
.m_option:hover::before{
  opacity: 1;
}
.m_option:hover::after{
  transform: translateX(0%);
}
.m_option__heading{
  position: relative;
  
  padding: 0 12px 0 62px;
}
.m_option__heading::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 50px;
  height: 50px;
  background: #0071bb;
}
.m_option__heading::after{
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 50px;
  height: 50px;
  background: url("../img/leaf/option_pack/bottom/ico_function.png") no-repeat center center;
}
.m_option__ttl{
  min-height: 50px;
  display: flex;
  align-items: center;
  padding: 0 12px;
  border-bottom : 1px solid #707070;
  font-weight: bold;
  line-height: 1.4;
  font-size: 16px;
}
.m_option__body{
  padding: 16px;
}
.m_option__msg{}
.m_option--noLink::before,
.m_option--noLink::after{
  content: none;
}
@media screen and (max-width: 768px){
  .m_option__ttl{
    font-size: 14px;
  }
}
/* 付随機能 */
.m_subFunc{}
.m_subFunc__ttl{
  margin-bottom: 36px;
  font-weight: bold;
  text-align: center;
  font-size: 18px;
}
.m_subFunc__body{}
@media screen and (max-width: 768px){
  .m_subFunc__ttl{
    margin-bottom: 16px;
    font-size: 16px;
  }
}

/* 付随機能のリンクカード */
.m_subFuncCard{
  display: block;
  padding: 20px 16px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
  color: inherit;
}
.m_subFuncCard__ttl{
  margin-bottom: 14px;
  font-weight: bold;
  font-size: 16px;
}
.m_subFuncCard__body{}
.m_subFuncCard__msg{}
.m_subFuncCard__footer{
  display: flex;
  align-items: center;
  margin-top: 16px;
}
.m_subFuncCard__footerTtl{
  position: relative;
  display: inline-block;
  margin-right: 20px;
  padding: 4px 4px 4px 8px;
  border: 1px solid;
  border-right: none;
  line-height: 1;
  color: #0071bb;
  font-weight: bold;
  font-size: 12px;
  white-space: nowrap;
  word-break: keep-all;
}
.m_subFuncCard__footerTtl::before{
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: -1;
  display: block;
  width: calc(20px / 1.414);
  height: calc(20px / 1.414);
  margin: auto 0;
  border-top: 1px solid;
  border-right: 1px solid;
  background: #fff;
  transform: translateX(50%) rotate(45deg);
}
.m_subFuncCard__footerMsg{
  line-height: 1;
  font-size: 14px;
}
.m_subFuncCard--link{
  transition: .3s opacity;
}
.m_subFuncCard--link:hover{
  color: inherit;
  text-decoration: none;
  opacity: .7;
}
.m_subFuncCard--link .m_subFuncCard__footer::after{
  content: url("../img/leaf/option_pack/bottom/ico_cardLink.png");
  display: block;
  margin-left: 12px;
  line-height: 0;
}

@media screen and (max-width: 768px){
  .m_subFuncCard--link .m_subFuncCard__ttl{
    position: relative;
    padding-left: 26px;
  }
  .m_subFuncCard--link .m_subFuncCard__ttl::before{
    content: url("../img/leaf/option_pack/bottom/ico_cardLink.png");
    position: absolute;
    top: 1px;
    left: 0;
    display: block;
    line-height: 0;
  }
  .m_subFuncCard--link .m_subFuncCard__footer::after{
    content: none;
  }
}


@media screen and (max-width: 599px){
  .m_subFuncCard__footer{
    display: block;
  }
  .m_subFuncCard__footerTtl{
    margin-bottom: 8px;
  }
  .m_subFuncCard__footerMsg{
    line-height: 1.4;
  }
}

/* 導入後のさらなる効果のラッパー */
.m_plusBenefitWrap{}
.m_plusBenefitWrap__body{
  padding: 16px;
  background: #DDECF8;
}
.m_plusBenefitWrap__item + .m_plusBenefitWrap__item{
  margin-top: 16px;
}

/* 導入後のさらなる効果 */
.m_plusBenefit{
  padding: 20px 32px;
  background: #fff;
}
.m_plusBenefit__ttl{
  margin-bottom: 12px;
  padding-left: 12px;
  border-left: 6px solid #0071bb;
  font-weight: bold;
  font-size: 16px;
}
@media screen and (max-width: 768px){
  .m_plusBenefit{
    padding: 16px;
  }
  .m_plusBenefit__ttl{
    line-height: 1.4;
  }
}

/* 活用シーンカード */
.m_applyCard{
  position: relative;
  display: block;
  padding: 36px 18px;
  color: inherit;
  background: #fff;
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
  /* transition: .3s opacity; */
}
.m_applyCard::before{
  content: ""; 
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  border-left: 52px solid #0071bb;
  border-bottom: 52px solid rgba(255, 255, 255, 0);
}
/* .m_applyCard:hover{
  color: inherit;
  text-decoration: none;
  opacity: .7;
} */
.m_applyCard__ttl{
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: calc(2em * 1.4);
  margin-bottom: 20px;
  text-align: center;
  list-height: 1.4;
  font-weight: bold;
  font-size: 18px;
}
@media screen and (max-width: 768px){
  .m_applyCard__ttl{
    min-height: 0;
    font-size: 16px;
  }
}
/* プランの主機能 */
.m_priceWrap{}
.m_priceWrap__wrap{
  padding: 46px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
}
.m_priceWrap__ttl{
  margin-bottom: 24px;
  font-weight: bold;
  text-align: center;
  font-size: 16px;
}
.m_priceWrap__body{
  display: flex;
  align-items: stretch;
}
.m_priceWrap__datail{

}
.m_priceWrap__base{
  width: 50%;
  padding-right: 40px;
}
.m_priceWrap__option{
  width: 50%;
  padding-left: 40px;
}
.m_priceWrap__base + .m_priceWrap__option{
  position: relative;
}
.m_priceWrap__base + .m_priceWrap__option::before{
  content: "＋";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  font-size: 56px;
  display: block;
  width: 1em;
  height: 1em;
  margin: auto;
  line-height: 1;
  transform: translateX(-50%);
}
.m_priceWrap__footer{
  margin-top: 30px
}
@media screen and (max-width: 768px){
  .m_priceWrap__wrap{
    padding: 20px 16px;
  }
  .m_priceWrap__body{
    display: block;
  }
  .m_priceWrap__base{
    width: 100%;
    padding-right: 0px;
  }
  .m_priceWrap__option{
    width: 100%;
    padding-left: 0px;
  }
  .m_priceWrap__base + .m_priceWrap__option{
    margin-top: 36px;
    padding-top: 36px;
  }
  .m_priceWrap__base + .m_priceWrap__option::before{
    top: 0;
    bottom: auto;
    left: 0;
    right: 0;
    transform: translateY(-50%);
  }
}
@media screen and (max-width: 768px){
  .m_priceWrap__wrap{
    padding: 16px 8px;
  }
}
/* 価格のラッパー */
.m_priceWrap__list{}
.m_priceWrap__listItem{}
.m_priceWrap__listItem:nth-child(odd){
  background: #f2f2f2;
}
.m_priceWrap__list + .m_priceWrap__detail{
  margin-top: 24px;
}
/* 価格 */
.m_price{
  display: flex;
  align-items: center;
  justify-content: space-around;
  padding: 12px 0;
}
.m_price__ttl{
  width: 50%;
  padding: 0 16px 0 32px;
  text-align: right;
}
.m_price__body{
  width: 50%;
  padding: 0 32px 0 16px;
  text-align: right;
}
.m_price__body--single{
  width: 100%;
  text-align: center;
}
.m_price__num{
  display: inline-block;
  font-size: 20px;
  line-height: 100%;
}
@media screen and (max-width: 768px){
  .m_price__ttl{
    width: 45%;
    padding: 0 16px 0 16px;
  }
  .m_price__body{
    width: 55%;
    padding: 0 16px 0 16px;
  }
}
@media screen and (max-width: 599px){
  .m_price__ttl{
    padding: 0 8px 0 8px;
  }
  .m_price__body{
    padding: 0 8px 0 8px;
  }
}

/* 価格に含まれるもの */
.m_priceDetail{
  padding: 16px;
  border: 4px solid #f2f2f2;
}
.m_priceDetail__ttl{
  margin-bottom: 8px;
  font-weight: bold;
}
.m_priceDetail__body{}

/* 脚注リスト */
.m_footnotes{}
.m_footnotes__item + .m_footnotes__item{
  margin-top: 6px;
}

/* 脚注 */
.m_footnote{
  position: relative;
  padding-left: 1em;
  font-size: 12px;
  color: #474747;
}
.m_footnote::before{
  content: "※";
  position: absolute;
  left: 0;
  display: block;
}

/* その他パッケージプランのカード（一部修正） */
.m_lineup_pack_list {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  margin-top: -40px;
}

.m_lineup_pack_listItem {
  position: relative;
  padding-left: 10px;
  width: 100%;
  max-width: 445px;
  margin-top: 40px;
}

.m_lineup_pack_listItem:nth-child(n + 3) {
  margin-top: 60px;
}

.m_lineup_pack_card {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  padding: 75px 45px 30px;
  color: #333333;
  background: #fff;
  transition: opacity 0.3s;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}

.m_lineup_pack_card:hover {
  color: #333333;
  opacity: 0.6;
  text-decoration: none;
}

.m_lineup_pack_card_heading {
  text-align: center;
}

.m_lineup_pack_card_heading_ttl {
  color: #0071bb;
  font-size: 16px;
  font-weight: bold;
  line-height: 26px;
}

.m_lineup_pack_card_heading_ttl span {
  display: block;
  margin-top: 5px;
  color: #333333;
  font-size: 20px;
}

.m_lineup_pack_card_img {
  width: 100%;
  margin: 25px auto 0;
  text-align: center;
  line-height: 0;
}

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

.m_lineup_pack_card_txt {
  margin-top: 20px;
  font-size: 16px;
}

.m_lineup_pack_card_tag_wrap {
  margin-top: auto;
}

.m_lineup_pack_card_label {
  position: absolute;
  display: inline-block;
  width: auto;
  top: 20px;
  left: -10px;
  padding: 5px 20px 5px 25px;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  background-color: #0071bb;
  line-height: 1.625;
}
.m_lineup_pack_card_label::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -10px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 10px 10px 0;
  border-color: transparent #003654 transparent transparent;
}

@media screen and (max-width: 768px) {
  .m_lineup_pack {
    width: 100%;
  }

  .m_lineup_pack_list {
    flex-direction: column;
    margin-top: -20px;
  }

  .m_lineup_pack_listItem {
    max-width: none;
  }

  .m_lineup_pack_listItem::after {
    border-width: 50px;
  }

  .m_lineup_pack_listItem:nth-child(n + 1) {
    margin-top: 20px;
  }

  .m_lineup_pack_listItem:last-child {
    margin-bottom: 10px;
  }

  .m_lineup_pack_card {
    max-width: none;
    padding: 60px 30px 30px;
  }

  .m_lineup_pack_card_heading_ttl {
    font-size: 14px;
  }

  .m_lineup_pack_card_heading_ttl span {
    font-size: 17px;
  }

  .m_lineup_pack_card_img {
    margin-top: 15px;
  }

  .m_lineup_pack_card_txt {
    margin-top: 15px;
    font-size: 14px;
  }

  .m_lineup_pack_card_label {
    padding: 3px 15px 3px 20px;
    font-size: 0.825rem;
  }
}


.m_detailBox {
  margin-top: 25px;
  padding: 20px;
  background-color: #F2F8FC;
}
.m_detailBox__ttl {
  display: flex;
  align-items: center;
  gap: 15px;
  font-size: 18px;
  font-weight: 700;
}
.m_detailBox__ico {
  display: inline-block;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  line-height: 0;
}
.m_detailBox__ico img {
  width: 100%;
}
.m_detailBox__cont + .m_detailBox__ttl {
  margin-top: 15px;
}
.m_detailBox__cont {
  margin-top: 10px;
  padding: 10px 15px;
  background-color: #fff;
}
@media (max-width: 768px){
  .m_detailBox {
    padding: 15px;
  }
  .m_detailBox__ttl {
    gap: 10px;
    font-size: 16px;
  }
  .m_detailBox__ico img {
    width: 100%;
  }
  .m_detailBox__cont + .m_detailBox__ttl {
    margin-top: 15px;
  }
  .m_detailBox__cont {
    font-size: 14px;
  }
}