/* Reference: user PNG, 1024px wide. Scoped only to the approved STEP 1 section. */
.bfp > .bfp-section.bfif-basics,
.bfp .bfif-basics {
    --bfif-blue: #0066f5;
    --bfif-navy: #112e4b;
    --bfif-copy: #4a6384;
    --bfif-rule: #c7e9ff;
    --bfif-font: "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
    box-sizing: border-box;
    position: relative;
    width: min(100%, 1024px) !important;
    max-width: 1024px;
    margin: 0 auto;
    padding: 16px 33px 0 0;
    display: grid;
    grid-template-columns: minmax(0,497fr) minmax(0,464fr);
    grid-template-rows: auto minmax(383px,auto);
    column-gap: 30px;
    background: #fff;
    color: var(--bfif-copy);
    font-family: var(--bfif-font);
    font-size: 13px;
    line-height: 1.7;
    letter-spacing: 0;
    isolation: isolate;
}
.bfp .bfif-basics,
.bfp .bfif-basics * { box-sizing: border-box; }
.bfp .bfif-basics::before,
.bfp .bfif-basics::after { content: none !important; display: none !important; }
.bfp .bfif-basics .bfp-head {
    grid-area: 1 / 2;
    width: 100%;
    max-width: none;
    text-align: left;
    align-self: stretch;
    margin: 0;
    padding: 0;
    position: relative;
}
.bfp .bfif-basics .bfp-head h2 {
    display: flex;
    align-items: center;
    width: 100%;
    height: auto;
    min-height: 67px;
    gap: 0;
    margin: 0;
    padding: 0;
    font-family: var(--bfif-font);
    font-size: 30px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -.025em;
    color: var(--bfif-navy);
    overflow: visible;
}
.bfp .bfif-basics .bfp-head h2::after { content: none; }
.bfp .bfif-basics .bfif-title-prefix { display: block; flex: 0 1 auto; min-width: 0; padding-bottom:5px; transform:translateY(1px); }
.bfp .bfif-basics .bfif-handword {
    position: relative;
    display: inline-block;
    width: 135px;
    height: 67px;
    flex: 0 0 135px;
    margin-left: -1.75px;
    top: 0;
}
.bfp .bfif-basics .bfif-handword img { width: 135px; height: 90px; max-width: none; display: block; position:absolute; top:-9px; left:0; }
.bfp .bfif-basics .bfif-handword__text {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0,0,0,0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}
.bfp .bfif-basics .bfp-basic { display: contents; }
.bfp .bfif-basics .bfp-basic__pic {
    grid-area: 1 / 1 / 3 / 2;
    align-self: start;
    width: 100%;
    margin: 0;
    padding: 0;
    aspect-ratio: 497 / 450;
    border-radius: 0;
    overflow: visible;
    position: relative;
    filter: none;
}
.bfp .bfif-basics .bfif-photo {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 497 / 450;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
    overflow: visible;
    filter: none;
    transform: none;
}
.bfp .bfif-basics .bfif-photo::before,
.bfp .bfif-basics .bfif-photo::after { content: none !important; display: none !important; }
.bfp .bfif-basics .bfif-photo-base {
    display: block;
    width: 100%;
    height: auto;
    max-width: none;
    aspect-ratio: 497 / 450;
    object-fit: cover;
    object-position: center;
    border: 0;
    border-radius: 0 16px 0 0;
    box-shadow: none;
    filter: none;
    opacity: 1;
}
.bfp .bfif-basics .bfif-photo-note {
    position: absolute;
    left: 6.23742455%;
    top: 4%;
    width: 55.33199195%;
    height: auto;
    margin: 0;
    padding: 0;
    background: none;
    border: 0;
    transform: none;
}
.bfp .bfif-basics .bfif-photo-note img { width: 100%; height: auto; display: block; max-width: none; border-radius: 0; filter: none; }
.bfp .bfif-basics .bfp-basic__list {
    grid-area: 2 / 2;
    align-self: start;
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    gap: 0;
    list-style: none;
    counter-reset: none;
}
.bfp .bfif-basics .bfp-basic__list > li {
    display: grid;
    grid-template-columns: 43px minmax(0,1fr);
    column-gap: 21px;
    align-items: center;
    min-height: 69.5px;
    height: auto;
    margin: 0;
    padding: 9px 0;
    border: 0;
    position: relative;
}
.bfp .bfif-basics .bfp-basic__list > li:not(:last-child)::after {
    content: "";
    position: absolute;
    height: 1px;
    background: var(--bfif-rule);
    bottom: -2px;
    left: 12px;
    right: 0;
}
.bfp .bfif-basics .bfp-basic__list > li::before { content: none; }
.bfp .bfif-basics .bfp-basic__no {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 43px;
    height: 43px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #e7f7ff;
    color: #0068ff;
    font-family: var(--bfif-font);
    font-weight: 400;
    font-style: italic;
    font-size: 16px;
    line-height: 1;
    letter-spacing: -.04em;
    transform: none;
}
.bfp .bfif-basics .bfp-basic__list > li > div {
    display: grid;
    grid-template-columns: minmax(0,179fr) minmax(0,205fr);
    gap: 15px;
    align-items: center;
    min-width: 0;
}
.bfp .bfif-basics .bfp-basic__list h3 {
    margin: 0;
    padding: 0;
    border: 0;
    font-family: var(--bfif-font);
    font-size: 14.5px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: -.015em;
    color: var(--bfif-blue);
    overflow-wrap: anywhere;
}
.bfp .bfif-basics .bfp-basic__list p {
    margin: 0;
    padding: 0;
    font-family: var(--bfif-font);
    font-size: 12.2px;
    font-weight: 400;
    line-height: 1.65;
    letter-spacing: .015em;
    color: var(--bfif-copy);
    overflow-wrap: anywhere;
}
@media (min-width:768px) and (max-width:1023px) {
    .bfp > .bfp-section.bfif-basics, .bfp .bfif-basics { grid-template-columns:minmax(0,47fr) minmax(0,53fr); padding-right:24px; column-gap:22px; grid-template-rows:82px auto; }
    .bfp .bfif-basics .bfp-head h2 { height:auto; min-height:82px; font-size:26px; }
    .bfp .bfif-basics .bfif-handword { flex-basis:110px; width:110px; height:74px; }
    .bfp .bfif-basics .bfif-handword img { width:110px; height:auto; top:0; }
    .bfp .bfif-basics .bfp-basic__list > li { column-gap:14px; min-height:80px; }
    .bfp .bfif-basics .bfp-basic__list > li > div { display:block; }
    .bfp .bfif-basics .bfp-basic__list p { margin-top:3px; }
}
@media (max-width:767px) {
    .bfp > .bfp-section.bfif-basics, .bfp .bfif-basics {
        padding:0 0 28px;
        display:grid;
        grid-template-columns:minmax(0,1fr);
        grid-template-rows:auto auto auto;
        gap:0;
    }
    .bfp .bfif-basics .bfp-head { grid-area:1/1; padding:12px 20px; }
    .bfp .bfif-basics .bfp-head h2 { font-size:clamp(20px,5.65vw,29px); height:auto; min-height:76px; letter-spacing:-.03em; gap:2px; }
    .bfp .bfif-basics .bfif-title-prefix { flex:1 1 auto; }
    .bfp .bfif-basics .bfif-handword { flex:0 0 92px; width:92px; height:62px; margin:0; }
    .bfp .bfif-basics .bfif-handword img { width:92px; height:auto; position:static; }
    .bfp .bfif-basics .bfp-basic__pic { grid-area:2/1; width:100%; max-width:497px; justify-self:center; }
    .bfp .bfif-basics .bfif-photo-base { border-radius:0; }
    .bfp .bfif-basics .bfp-basic__list { grid-area:3/1; padding:14px 20px 0; }
    .bfp .bfif-basics .bfp-basic__list > li { grid-template-columns:40px minmax(0,1fr); gap:16px; padding:17px 0; min-height:96px; }
    .bfp .bfif-basics .bfp-basic__list > li > div { display:block; }
    .bfp .bfif-basics .bfp-basic__no { width:40px; height:40px; }
    .bfp .bfif-basics .bfp-basic__list h3 { font-size:16px; line-height:1.65; }
    .bfp .bfif-basics .bfp-basic__list p { font-size:14px; line-height:1.85; margin-top:5px; }
    .bfp .bfif-basics .bfp-basic__list > li:not(:last-child)::after { left:0; }
}
@media print, (forced-colors:active) {
    .bfp .bfif-basics .bfif-handword img { display:none; }
    .bfp .bfif-basics .bfif-handword__text { position:static; width:auto; height:auto; margin:0; clip:auto; clip-path:none; white-space:normal; }
    .bfp .bfif-basics .bfif-handword { width:auto; height:auto; flex-basis:auto; margin-left:.25em; }
}

@media(min-width:1024px){.bfp .bfif-basics .bfp-basic__list > li:not(:last-child) p{max-width:187px;}}
