/* more-field本文用。本文の用途別classと、表示に必要な部品をサイト側で定義する。 */
/* ページ送り等の読み上げ用ラベル。フォーカスできる要素は操作時に表示する。 */
.screen-reader-text:not(:focus) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  border: 0 !important;
  overflow: hidden !important;
  clip-path: inset(50%);
  white-space: nowrap !important;
}
/* sizes=autoの遅延画像が未読込でも、表型figureの幅を既定の300pxへ縮めない。 */
img[sizes="auto" i], img[sizes^="auto," i] { contain-intrinsic-size: 3000px 1500px; }
.mf-group { box-sizing: border-box; }
:where(.mf-image) { margin: 0 0 1em; }
.mf-image img { max-width: 100%; height: auto; vertical-align: bottom; box-sizing: border-box; }
.mf-image.mf-is-style-rounded img { border-radius: 9999px; }
.mf-image.mf-aligncenter { display: table; text-align: center; }
.mf-image.alignleft { float: left; margin-right: 1em; }
.mf-image.alignright { float: right; margin-left: 1em; }
.mf-image figcaption { margin-block: .5em 1em; }
p.mf-has-background { padding: 1.25em 2.375em; }
.mf-code { box-sizing: border-box; }
.mf-code code { display: block; font-family: inherit; white-space: pre-wrap; overflow-wrap: break-word; }
.mf-quote { box-sizing: border-box; overflow-wrap: break-word; }
.mf-quote > blockquote { margin: 0; }
.mf-quote cite { display: block; }
.mf-table { overflow-x: auto; }
.mf-table table { border-collapse: collapse; width: 100%; }
.mf-table .mf-has-fixed-layout { table-layout: fixed; width: 100%; }
.mf-table .mf-has-fixed-layout :is(td, th) { overflow-wrap: break-word; }
.mf-table :is(td, th) { padding: .5em; border: 1px solid; }
.mf-table thead { border-bottom: 3px solid; }
.mf-table tfoot { border-top: 3px solid; }
.mf-table .mf-has-border-color :is(td, th) { border-color: inherit; }
.mf-table.mf-is-style-stripes { border-collapse: inherit; border-spacing: 0; border-bottom: 1px solid #f0f0f0; }
.mf-table.mf-is-style-stripes tbody tr:nth-child(odd) { background-color: #f0f0f0; }
.mf-table.mf-is-style-stripes :is(td, th) { border-color: transparent; }
.mf-table.mf-is-style-stripes thead { border-bottom: 0; }
.mf-columns { display: flex; flex-wrap: wrap !important; align-items: normal !important; box-sizing: border-box; }
.mf-column { flex-grow: 1; min-width: 0; overflow-wrap: break-word; }
@media (min-width: 782px) {
  .mf-columns { flex-wrap: nowrap !important; }
  .mf-column { flex-basis: 0; }
  .mf-column[style*="flex-basis"] { flex-grow: 0; }
}
@media (max-width: 781px) { .mf-columns:not(.is-not-stacked-on-mobile) > .mf-column { flex-basis: 100% !important; } }
.mf-buttons { box-sizing: border-box; }
.mf-buttons > .mf-button { display: inline-block; margin: 0; }
.mf-button { display: inline-block; box-sizing: border-box; text-align: center; overflow-wrap: break-word; cursor: pointer; border-radius: 9999px; }
.mf-media { display: grid; grid-template-columns: 50% 1fr; grid-template-rows: auto; box-sizing: border-box; }
.mf-media.mf-has-media-on-the-right { grid-template-columns: 1fr 50%; }
.mf-media > .mf-media-image { grid-column: 1; grid-row: 1; margin: 0; align-self: center; }
.mf-media > .mf-media-body { grid-column: 2; grid-row: 1; padding: 0 8%; align-self: center; overflow-wrap: break-word; }
.mf-media.mf-has-media-on-the-right > .mf-media-image { grid-column: 2; }
.mf-media.mf-has-media-on-the-right > .mf-media-body { grid-column: 1; }
.mf-media-image :is(img, video) { width: 100%; height: auto; vertical-align: middle; }
@media (max-width: 600px) {
  .mf-media.mf-is-stacked-on-mobile { grid-template-columns: 100% !important; }
  .mf-media.mf-is-stacked-on-mobile > .mf-media-image { grid-column: 1; grid-row: 1; }
  .mf-media.mf-is-stacked-on-mobile > .mf-media-body { grid-column: 1; grid-row: 2; }
}
.mf-embed { overflow-wrap: break-word; }
.mf-embed-frame { position: relative; }
.mf-embed iframe { max-width: 100%; }
.mf-has-text-align-center { text-align: center; }
.mf-has-text-align-left { text-align: left; }
.has-text-align-right { text-align: right; }
.mf-has-very-light-gray-background-color { background-color: #eee; }
.mf-has-border-color { border-style: solid; }
.mf-table-scroll { display: block; }
.mf-table-scroll > table { width: 100%; max-width: 100%; border-collapse: collapse; }
.mf-table-scroll :is(th, td) { padding: .5em; border: 1px solid #000; text-align: left; vertical-align: middle; }
.mf-table-scroll th { background-color: #f0f0f1; }
.mf-table-scroll td { background-color: #fff; }
.mf-table-scroll.mf-is-style-stripes tbody tr:nth-child(odd) :is(th, td) { background-color: #f0f0f1; }
.mf-table-scroll.mf-is-style-stripes tbody tr:nth-child(even) :is(th, td) { background-color: #fff; }
.mf-table-scroll .mf-has-fixed-layout { table-layout: fixed; }
.mf-table-scroll .mf-has-fixed-layout :is(th, td) { overflow-wrap: break-word; }
.mf-table-scroll figcaption { margin-block: .5em 1em; text-align: center; }
@media (min-width: 769px) {
  .mf-table-scroll.is-scroll-on-pc { overflow-x: auto; }
  .mf-table-scroll.is-scroll-on-pc table { max-width: none; align-self: flex-start; }
}
@media (max-width: 768px) {
  .mf-table-scroll.mf-is-scroll-on-mobile { overflow-x: auto; }
  .mf-table-scroll.mf-is-scroll-on-mobile table { max-width: none; align-self: flex-start; }
  .mf-table-scroll table.mf-is-stacked-on-mobile :is(th, td) { display: block; width: 100% !important; }
}
/* 吹き出し、注記、手順、ディレクトリ図。色と寸法は現行サイトの表示に合わせる。 */
.mf-balloon { display: flex; align-items: center; padding: 20px; background: #f5f5f5; font-size: 14px; }
.mf-person { flex-shrink: 0; width: 80px; margin-right: 10px; text-align: center; }
.mf-avatar { overflow: hidden; border-radius: 50%; }
.mf-callout { padding: 20px !important; background: #eee; }
.mf-highlight { border-bottom: 3px solid #e1e1e1; }
.mf-steps { counter-reset: item; }
.mf-step { position: relative; padding-left: 3.27174rem; }
.mf-step::before { content: ""; position: absolute; display: block; inset: 0 auto 0 20px; border-left: 1px dotted #ccc; }
.mf-step:not(:first-child) { padding-top: 30px; }
.mf-step-title { display: flex; flex-flow: row nowrap; align-items: center; margin: 0 0 .93478rem -3.27174rem; font-weight: 700; }
.mf-step-title > .mf-step-number { flex: 0 0 40px; margin-right: .93478rem; }
.mf-step-title > span { flex: 1 1 auto; }
.mf-step-number { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; overflow: hidden; width: 40px; height: 40px; border-radius: 50%; background: #333; color: #fff; font-weight: 400; line-height: 1; }
.mf-step-number::before { counter-increment: item; content: counter(item); }
.mf-step[data-image-position] .mf-step-number::before { display: none; }
.mf-step-body > * { margin-block: 0; }
.mf-step-body > :not(h1,h2,h3,h4,h5,h6) + :not(h1,h2,h3,h4,h5,h6) { margin-top: 2.33696rem; }
.mf-step-body > h1 { margin-bottom: 2.33696rem; }
.mf-step-body > h2 { margin-block: 4.67391rem 2.9212rem; }
.mf-step-body > h3 { margin-block: 4.08967rem 1.75272rem; }
.mf-step-body > h4 { margin-block: 2.9212rem 1.16848rem; }
.mf-step-body > :is(h5,h6) { margin-block: 2.33696rem 1.16848rem; }
.mf-step-body > :first-child { margin-top: 0; }
.mf-step-body :is(ol,ul) :is(ol,ul) { margin-bottom: 0; }
.mf-tree { padding: 1.40217rem 1.86957rem; background: #f7f7f7; }
.mf-tree > :not(:first-child), .mf-tree-children > * { margin-top: .46739rem; }
.mf-tree-item p { display: flex; flex-flow: row nowrap; align-items: flex-start; }
.mf-tree .fa-fw { width: auto; }
.mf-tree-name { margin-left: .5rem; }
.mf-tree-children { margin-left: 1.5rem; }

.mf-button.mf-has-custom-width { max-width: none; width: 100%; }
.mf-button.mf-button--wide { width: 100%; }
