@charset "utf-8";
/* =========================================================
   導入事例・メディア系の共通部品 SP（767px 以下・SP基準 430）
   Figma に SP 版が無いため PC の構成から推論：横並び→縦積み、本文幅 3.70rem
   ========================================================= */
.mc-tri { width: 1.60rem; height: 1.30rem; }

/* パンくず */
.mc-crumb { width: 3.70rem; padding-top: .24rem; }
.mc-crumb ol { gap: .08rem; height: .22rem; font-size: .12rem; letter-spacing: .012rem; overflow: hidden; }
.mc-crumb li { gap: .08rem; }
.mc-crumb li { flex: none; }
.mc-crumb li:last-child { flex: 0 1 auto; overflow: hidden; }
.mc-crumb li + li::before { width: .16rem; height: .16rem; }

/* 一覧ヒーロー */
.mc-hero { height: auto; padding-bottom: .40rem; }
.mc-hero__in { gap: .32rem; padding-top: .64rem; }
.mc-hero .mc-crumb { width: 3.70rem; }
.mc-ttl { width: 3.70rem; gap: .06rem; }
.mc-ttl__en { height: .70rem; font-size: .48rem; line-height: .70rem; letter-spacing: .06rem; }
.mc-ttl__ja { height: .28rem; font-size: .18rem; line-height: .28rem; letter-spacing: .0126rem; }

/* 見出し */
.mc-sh { width: 3.70rem; gap: .12rem; }
.mc-sh::before { width: .07rem; }
.mc-sh > span { height: auto; font-size: .24rem; line-height: .40rem; letter-spacing: .0168rem; white-space: normal; }
.mc-h2 { height: auto; font-size: .26rem; line-height: .40rem; letter-spacing: .0182rem; white-space: normal; }

/* カード一覧 */
.mc-cards.ncards { gap: .30rem; }
.mc-cards .ncards__row { gap: .30rem; }
.mc-sec { gap: .32rem; padding: .56rem 0; }
.mc-empty { width: 3.70rem; font-size: .14rem; line-height: .26rem; }

/* タブ・ページ送り */
.mc-tabs { gap: .08rem; }
.mc-tab { height: .34rem; padding: 0 .14rem; font-size: .14rem; line-height: .22rem; letter-spacing: .0098rem; }
.mc-pager { gap: .22rem; }
.mc-pager__nums { gap: .18rem; }
.mc-pager__nums a, .mc-pager__nums span { font-size: .16rem; line-height: .26rem; }
.mc-pager__nums [aria-current] { height: .44rem; min-width: .44rem; padding: 0 .12rem; }
.mc-pager__arw { width: .24rem; height: .24rem; }

/* サービス案内 */
.mc-svc { width: 3.70rem; align-items: stretch; gap: .16rem; padding: calc(.22rem + .03rem) calc(.18rem + .03rem); box-shadow: inset 0 0 0 .03rem #fd6a05; }
.mc-svc::after { right: 0; top: 0; width: .32rem; height: .32rem; }
.mc-svc__row { flex-direction: column-reverse; gap: .18rem; }
.mc-svc__l { align-items: stretch; gap: .18rem; }
.mc-svc__ttl { flex-wrap: wrap; gap: .06rem .08rem; white-space: normal; }
.mc-svc__ttl > span { font-size: .15rem; line-height: .28rem; letter-spacing: .015rem; }
.mc-svc__ttl > b { font-size: .17rem; line-height: .30rem; letter-spacing: .0187rem; }
.mc-dots { gap: .06rem; font-size: .13rem; line-height: .24rem; letter-spacing: .013rem; }
.mc-dots > span { width: auto; }
.mc-more { gap: .10rem; font-size: .14rem; line-height: .22rem; letter-spacing: .014rem; white-space: normal; }
.mc-more::after { width: .22rem; height: .22rem; }
.mc-svc__ph { width: 100%; height: 1.60rem; }

/* 相談フォーム */
.mc-form { padding: .56rem 0 .48rem; }
.mc-form__card { width: 3.90rem; border-radius: .18rem; }
.mc-form__in { flex-direction: column; gap: .30rem; padding: .32rem .20rem; }
.mc-form__l { gap: .24rem; }
.mc-form__head { gap: .14rem; }
.mc-form__ttls { gap: .12rem; }
.mc-form__ttl { margin-left: 0; text-indent: -.165rem; font-size: .28rem; line-height: .42rem; letter-spacing: .0196rem; }
.mc-form__lead { font-size: .13rem; line-height: .24rem; letter-spacing: .013rem; white-space: normal; }
.mc-form__lead br { display: none; }
.mc-form__badges { flex-wrap: wrap; gap: .08rem; }
.mc-form__badges li { padding: .04rem .12rem; font-size: .13rem; line-height: .22rem; letter-spacing: .013rem; }
.mc-form__stat { gap: .14rem; }
.mc-form__circle { width: .84rem; height: .84rem; padding: 0 0 .015rem .013rem; font-size: .13rem; line-height: .22rem; letter-spacing: .013rem; }
.mc-form__num b { height: .46rem; font-size: .56rem; line-height: 1rem; }
.mc-form__num span { height: .32rem; font-size: .26rem; line-height: .38rem; }
.mc-form__r { width: 100%; gap: .24rem; }
.mc-form__fields { gap: .20rem; }
.mc-form__grp { gap: .12rem; }
.mc-form__lb { font-size: .15rem; line-height: .24rem; letter-spacing: .0105rem; white-space: normal; }
.mc-form__lb::after { width: 3.50rem; height: .02rem; }
.mc-form__ta { height: 1.20rem; font-size: .16rem; } /* iOS のズーム防止に 16px 相当以上 */
.mc-form__chips { grid-template-columns: 1fr; grid-auto-flow: row; grid-template-rows: none; }
.mc-form__chips button { height: .36rem; padding: 0 .14rem; font-size: .12rem; line-height: .36rem; letter-spacing: .012rem; }
.mc-form__chips button::after { width: .12rem; height: .12rem; }
.mc-form__btn { gap: .14rem; padding: .14rem .28rem; font-size: .14rem; line-height: .18rem; letter-spacing: .021rem; }
.mc-form__btn .btn__arw { width: .44rem; height: .04rem; }

/* 記事・事例詳細 */
.mc-art { width: 3.70rem; padding-top: .40rem; }
.mc-ahead { gap: .16rem; }
.mc-ahead__t { gap: .12rem; }
.mc-ahead__meta { flex-wrap: wrap; gap: .02rem .10rem; height: auto; font-size: .13rem; line-height: .22rem; letter-spacing: .0091rem; }
.mc-ahead__meta > span { gap: .08rem; }
.mc-ahead__h1 { width: 3.70rem; font-size: .24rem; line-height: .38rem; letter-spacing: .0168rem; }
.mc-pills { flex-wrap: wrap; gap: .08rem; }
.mc-pill { height: .30rem; padding: 0 .14rem; font-size: .13rem; line-height: .22rem; letter-spacing: .0143rem; }
.mc-author { gap: .14rem; margin-top: .24rem; padding: 0; }
.mc-author__ph { width: .64rem; height: .64rem; }
.mc-author__t { gap: .02rem; padding: 0; }
.mc-author__t small { font-size: .12rem; line-height: .20rem; letter-spacing: .012rem; white-space: normal; }
.mc-author__t b { height: auto; font-size: .15rem; line-height: .24rem; letter-spacing: .0105rem; white-space: normal; }
.mc-eye { width: 3.70rem; height: 2.0789rem; margin-top: .32rem; }
.mc-points { width: 3.70rem; margin-top: .32rem; padding: .14rem .16rem; gap: .06rem; }
.mc-points__h { gap: .08rem; font-size: .18rem; line-height: .32rem; letter-spacing: .0126rem; }
.mc-points__h::before { width: .20rem; height: .20rem; }
.mc-dot-li li { gap: .10rem; font-size: .14rem; line-height: .26rem; letter-spacing: .014rem; }
.mc-dot-li li::before { margin-top: .105rem; }
.mc-toc, .mc-toc--dark { width: 3.70rem; margin-top: .32rem; padding: calc(.28rem + .05rem) .18rem .32rem; gap: .24rem; box-shadow: inset 0 .05rem 0 #fd6a05; }
.mc-toc.is-closed { padding-bottom: .28rem; }
.mc-toc__ttl { font-size: .24rem; line-height: .32rem; letter-spacing: .036rem; }
.mc-toc__btn { padding: 0 .08rem; font-size: .13rem; line-height: .28rem; letter-spacing: .013rem; }
.mc-toc__list { width: auto; gap: .18rem; }
.mc-toc__h2 { gap: .10rem; font-size: .14rem; line-height: .26rem; letter-spacing: .014rem; }
.mc-toc__h2 > b { width: .28rem; font-size: .18rem; line-height: .30rem; }
.mc-toc__h2 > i { height: .26rem; }
.mc-toc__sub { margin-top: .06rem; padding-left: .20rem; }
.mc-toc__sub li { font-size: .13rem; line-height: .24rem; }
.mc-chap { gap: .10rem; }
.mc-chap a { gap: .12rem; height: auto; min-height: .30rem; }
.mc-chap time { width: auto; height: .22rem; padding: 0 .05rem; font-size: .13rem; line-height: .22rem; letter-spacing: .013rem; }
.mc-chap span { flex: 1; width: auto; font-size: .14rem; line-height: .24rem; letter-spacing: .014rem; }
.mc-chap a::after { width: .16rem; height: .16rem; }

/* 記事本文 */
.post-body { margin-top: .40rem; font-size: .15rem; line-height: .30rem; letter-spacing: .015rem; }
.post-body > * { width: 3.70rem; }
.post-body > * + * { margin-top: .30rem; }
.post-body > figure + *, .post-body > p + figure { margin-top: .30rem; }
.post-body > * + h2, .post-body > * + h3, .post-body > * + .cta, .post-body > .cta + * { margin-top: .64rem; }
.post-body > h2 + *, .post-body > h4 + * { margin-top: .24rem; }
.post-body > h3 + * { margin-top: .26rem; }
.post-body > h2 { min-height: .56rem; font-size: .20rem; line-height: .34rem; letter-spacing: .02rem; }
.post-body > h2::before {
  width: calc(.40rem + .12rem * 2 + .02rem); padding-right: calc(.12rem * 2 + .02rem);
  background-position: calc(.40rem + .12rem) 50%; background-size: .02rem .44rem;
  font-size: .26rem; line-height: .40rem; letter-spacing: .018rem;
}
.post-body > h3, .post-body--case > h2 { min-height: .56rem; padding: .10rem .14rem; font-size: .19rem; line-height: .30rem; letter-spacing: .0133rem; }
.post-body > h4 { font-size: .17rem; line-height: .28rem; }
.post-body--case > h2 + *, .post-body--case > h2 + h3 { margin-top: .26rem; }
.post-body--case > h3 { padding: 0; font-size: .17rem; line-height: .28rem; letter-spacing: .0204rem; }
.post-body--case > h3 + * { margin-top: .12rem; }
.post-body--case > * + h3 { margin-top: .40rem; }
.post-body > .is-speaker { min-height: 0; font-size: .15rem; line-height: .30rem; letter-spacing: .0225rem; }
.post-body > .is-speaker + * { margin-top: .06rem; }
.post-body > blockquote { padding: .16rem .18rem; }
.post-body table { font-size: .13rem; line-height: .22rem; }
.post-body th, .post-body td { min-width: .80rem; padding: .08rem .10rem; }
.post-body .ph { height: 2.0789rem; }

/* 記事末の案内 */
.mc-next { width: 3.70rem; margin-top: .56rem; gap: .24rem; }
.mc-nbox, .mc-nbox--s { width: 3.70rem; }
.mc-nbox__h, .mc-nbox--s .mc-nbox__h, .mc-nbox--s .mc-nbox__h.s { height: auto; padding: .08rem .12rem; font-size: .15rem; line-height: .24rem; letter-spacing: .015rem; white-space: normal; text-align: center; }
.mc-nbox__b, .mc-nbox--s .mc-nbox__b { flex-direction: column-reverse; align-items: stretch; gap: .16rem; padding: .20rem .18rem; }
.mc-nbox__l, .mc-nbox--s .mc-nbox__l { width: auto; align-items: stretch; gap: .16rem; }
.mc-nbox__t, .mc-nbox--s .mc-nbox__t { gap: .12rem; }
.mc-nbox__pill, .mc-nbox--s .mc-nbox__pill { align-self: flex-start; padding: .04rem .20rem; font-size: .17rem; line-height: .28rem; letter-spacing: .017rem; white-space: normal; }
.mc-nbox--s .mc-nbox__pill.w { width: auto; }
.mc-nbox--s .mc-dots > span, .mc-nbox__l .mc-dots > span { width: auto; font-size: inherit; letter-spacing: inherit; }
.mc-nbox--s .mc-more { gap: .10rem; font-size: .14rem; line-height: .22rem; }
.mc-nbox__img { width: 100%; height: 1.60rem; }
.mc-next__row { flex-direction: column; gap: .24rem; }
.post-body .ppk-btn a:not(.cta *) { min-width: 0; width: 100%; padding: .14rem .2rem; font-size: .16rem; }
.post-body .ppk-box { padding: .2rem .16rem; }
.post-body > .wp-caption { max-width: 3.70rem; }
/* 吹き出し */
.post-body .pb-bln { gap: .12rem; }
.post-body .pb-bln__face { width: .56rem; font-size: .10rem; }
.post-body .pb-bln__face img { width: .56rem; height: .56rem; }
.post-body .pb-bln__txt { padding: .12rem .14rem; }
.post-body .pb-bln__txt::before { top: .20rem; }
