/* Migration draft: scoped to this child theme and article body only.
   Do not copy KENI global header/footer/body rules into SWELL. */
.sfnet-migration .post_content .b { font-weight: 700; }
.sfnet-migration .post_content .al-c { text-align: center; }
.sfnet-migration .post_content .al-r { text-align: right; }
.sfnet-migration .post_content .al-l { text-align: left; }
.sfnet-migration .post_content .big { font-size: 1.25em; }
.sfnet-migration .post_content :is(.red, .sfnet-text-red) { color: #e00000; }
.sfnet-migration .post_content :is(.blue, .sfnet-text-blue) { color: #0329ce; }
.sfnet-migration .post_content :is(.orange, .sfnet-text-orange) { color: #eca100; }
.sfnet-migration .post_content :is(.green, .sfnet-text-green) { color: #01995e; }
.sfnet-migration .post_content .line-orange { background: linear-gradient(transparent 50%, #f7d999 50%); }
.sfnet-migration .post_content .box_style { --sfnet-box: #888; margin-block: 1.8em; border: 1px solid var(--sfnet-box); border-radius: 4px; }
.sfnet-migration .post_content .box_inner { padding: clamp(1em, 3vw, 1.5em); }
.sfnet-migration .post_content .box_inner > :last-child { margin-bottom: 0; }
.sfnet-migration .post_content .box_style_title { font-size: 1.08em; font-weight: 700; margin-bottom: .8em; color: var(--sfnet-box); }
.sfnet-migration .post_content .box_style06 { border-top-width: 4px; }
.sfnet-migration .post_content .box_style_blue { --sfnet-box: #0baedd; background: #f8fdff; }
.sfnet-migration .post_content .box_style_orange { --sfnet-box: #fca60d; background: #fdf9f1; }
.sfnet-migration .post_content .box_style_green { --sfnet-box: #5bc130; background: #f9fff3; }
.sfnet-migration .post_content .box_style_red { --sfnet-box: #d94b59; background: #fff8f9; }
.sfnet-migration .post_content .box_style_yellow { --sfnet-box: #9b7616; background: #fffbf0; }
.sfnet-migration .post_content .box_style { border-color: #c2dfed; border-radius: 14px; box-shadow: 0 7px 22px rgb(92 159 184 / 6%); }
.sfnet-migration .post_content .outline { border: 1px solid #c2dfed; border-radius: 14px; background: #fff; box-shadow: 0 7px 22px rgb(92 159 184 / 6%); }
.sfnet-migration .post_content .color01 { color: #5c9fb8; }
.sfnet-migration .post_content .small { font-size: .85em; }
.sfnet-migration .post_content .f10em { font-size: 1em; }
.sfnet-migration .post_content .f12em { font-size: 1.2em; }
.sfnet-migration .post_content .f14em { font-size: 1.4em; }
.sfnet-migration .post_content .w90 { width: 100%; max-width: 100%; }
.sfnet-migration .post_content .p30 { padding: clamp(18px, 3vw, 30px); }
.sfnet-migration .post_content .p30:has(> .box_inner) { padding: 0; }
.sfnet-migration .post_content .m0-b { margin-bottom: 0; }
.sfnet-migration .post_content .m20-t { margin-top: 20px; }
.sfnet-migration .post_content .m20-b { margin-bottom: 20px; }
.sfnet-migration .post_content .m30-t { margin-top: 30px; }
.sfnet-migration .post_content .m30-b { margin-bottom: 30px; }
.sfnet-migration .post_content .m40-t { margin-top: clamp(24px, 4vw, 40px); }
.sfnet-migration .post_content .m40-b { margin-bottom: clamp(24px, 4vw, 40px); }
.sfnet-migration .post_content .m60-t { margin-top: clamp(32px, 5vw, 60px); }
.sfnet-migration .post_content .m60-b { margin-bottom: clamp(32px, 5vw, 60px); }
.sfnet-migration .post_content .m80-t { margin-top: clamp(40px, 6vw, 80px); }
.sfnet-migration .post_content .note { color: #505050; font-size: .88em; }
.sfnet-migration .post_content hr.deco { clear: both; height: 1px; border: 0; background: #c2dfed; margin: clamp(35px, 6vw, 65px) 0; }
.sfnet-migration .post_content .col2-wrap { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; margin-block: 24px; }
.sfnet-migration .post_content :is(.col2-wrap, .top-service-3col) > .col { float: none; width: auto; margin-inline: 0; min-width: 0; }
.sfnet-migration .post_content :is(.top-service-3col, .col2-wrap) img { max-width: 100%; height: auto; }
.sfnet-migration .post_content .list_style02 { list-style: decimal; }
.sfnet-migration .post_content .list-conts { margin: .6em 0 1.3em; }
.sfnet-migration .post_content .inline-box { display: flex; flex-wrap: wrap; gap: 10px; padding: 0; list-style: none; }
.sfnet-migration .post_content .inline-box li { margin: 0; padding: 0; }
.sfnet-migration .post_content .inline-box a { display: inline-block; padding: 9px 15px; border: 1px solid #c2dfed; border-radius: 7px; background: #f4fbff; color: #5c9fb8; text-decoration: none; }
.sfnet-migration .post_content .wrap-profilebox { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 28px; margin-block: 32px; padding: clamp(20px, 3vw, 30px); border: 1px solid #c2dfed; border-radius: 14px; }
.sfnet-migration .post_content .profilebox-left { text-align: center; font-size: .85em; }
.sfnet-migration .post_content .profilebox-left img { display: block; max-width: 100%; height: auto; border-radius: 8px; margin-bottom: 10px; }
.sfnet-migration .post_content .profilebox-right { min-width: 0; }
.sfnet-migration .post_content .wrap-bluebox { padding: clamp(18px, 3vw, 30px); border: 1px solid #c2dfed; border-radius: 14px; background: #f4fbff; }
.sfnet-migration .post_content .service-flow { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 0; list-style: none; }
.sfnet-migration .post_content .service-flow > li { display: flex; align-items: center; gap: 12px; padding: 15px; margin: 0; background: #fff; border: 1px solid #c2dfed; border-radius: 9px; min-width: 0; }
.sfnet-migration .post_content .service-flow .num { display: grid; place-items: center; flex: 0 0 32px; height: 32px; border-radius: 50%; background: #5c9fb8; color: #fff; font-weight: 700; }
.sfnet-migration .post_content .top-service-3col { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.sfnet-migration .post_content .top-service-3col > * { min-width: 0; }
.sfnet-migration .post_content .wrap-profilebox-type02 { display: flex; align-items: flex-start; gap: 1.5em; margin-block: 2em; }
.sfnet-migration .post_content .wrap-profilebox-type02-icon { flex: 0 0 140px; }
.sfnet-migration .post_content .wrap-profilebox-type02-icon img { width: 100%; height: auto; }
.sfnet-migration .post_content .wrap-profilebox-type02-body { min-width: 0; flex: 1; }
.sfnet-migration .post_content table { max-width: 100%; }
.sfnet-migration .post_content table :is(th, td) { overflow-wrap: anywhere; }
.sfnet-migration .post_content a[href^="tel:"] { white-space: nowrap; }
.sfnet-migration .post_content .sfnet-linkcard { margin-block: 1.5em; border: 1px solid #d7dfe5; border-radius: 6px; overflow: hidden; }
.sfnet-migration .post_content .sfnet-linkcard__link { display: flex; gap: 1em; padding: 1em; color: inherit; text-decoration: none; }
.sfnet-migration .post_content .sfnet-linkcard__link:is(:hover, :focus-visible) { background: #f2f8fc; }
.sfnet-migration .post_content .sfnet-linkcard__image { width: 150px; max-width: 30%; height: auto; object-fit: contain; align-self: flex-start; }
.sfnet-migration .post_content .sfnet-linkcard__body { display: grid; gap: .5em; min-width: 0; }
.sfnet-migration .post_content .sfnet-linkcard__title { font-weight: 700; text-decoration: underline; overflow-wrap: anywhere; }
.sfnet-migration .post_content .sfnet-linkcard__description { font-size: .88em; color: #555; }
@media (max-width: 767px) {
    .sfnet-migration .post_content :is(.top-service-3col, .col2-wrap, .service-flow, .wrap-profilebox) { grid-template-columns: 1fr; }
    .sfnet-migration .post_content .profilebox-left { max-width: 150px; margin-inline: auto; }
    .sfnet-migration .post_content .wrap-profilebox-type02 { flex-direction: column; }
    .sfnet-migration .post_content .wrap-profilebox-type02-icon { flex-basis: auto; max-width: 140px; }
    .sfnet-migration .post_content .table-block,
    .sfnet-migration .post_content .table-block :is(tbody, tr, th, td) { display: block; width: 100%; }
}

/* === box余白補正（2026-10-22）: box_inner のない枠に内側余白を付与 === */
.sfnet-migration .post_content .box_style:not(.p30):not(:has(> .box_inner)) { padding: clamp(1em, 3vw, 1.5em); }
.sfnet-migration .post_content .box_style:not(.p30):not(:has(> .box_inner)) > :last-child { margin-bottom: 0; }
/* === /box余白補正 === */

/* === dl余白補正（2026-10-22）: dl_style01 の項目間とブログカード下に余白 === */
.sfnet-migration .post_content .dl_style01 dd + dt { margin-top: 1.2em; }
.sfnet-migration .post_content .dl_style01 dd > .p-blogCard:last-child { margin-bottom: 2em !important; }
/* === /dl余白補正 === */
