:root {
    --base-green-color: rgb(75, 190, 191) !important;
    --base-pink-color: rgb(231, 100, 150) !important;
    --base-navy-color: rgb(30, 84, 122) !important;
    --base-white-color: rgb(255, 255, 255) !important;
    --base-gray-color: rgb(237, 237, 237) !important;
    --base-light-blue-color: rgb(75, 190, 191, 0.1) !important;
}
* {
    margin: 0;
    padding: 0;
    line-height: 1.5;
    font-size: 1.6rem;
    color: var(--base-navy-color);
}

body {
    font-family: "Noto Sans JP", sans-serif;
}
img {
    display: block;
    vertical-align: middle;
}
header {
    background-color: var(--base-green-color);
}
main > section > div,
header > section > div,
header > div {
    max-width: 1200px;
    margin: 0 auto;
}
header > div {
    height: 90px;
    display: flex;
    justify-content: center;
    align-items: center;
}
header > div > div > div {
    text-align: center;
}
header > div > div > div > img {
    width: clamp(80px, 21vw, 152px);
}
header > section {
    background: repeating-linear-gradient(-45deg, var(--base-green-color), rgba(255, 255, 255, 0.1) 5px, var(--base-green-color) 5px, var(--base-green-color) 10px);
    padding: 60px 0 0 0;
}

header > section > div > div:first-of-type {
    display: flex;
    justify-content: center;
    position: relative;
    letter-spacing: 3px;
    white-space: nowrap;
    margin: 0 auto;
}
header > section > div > div:first-of-type > div:first-of-type::before {
    content: "";
    display: block;
    position: absolute;
    bottom: 52%;
    left: -15%;
    width: clamp(17px, 3vw, 23px);
    height: 2px;
    background-color: #fff;
    transform: rotate(70deg);
}
header > section > div > div:first-of-type > div:last-of-type::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 52%;
    right: -10%;
    width: clamp(17px, 3vw, 23px);
    height: 2px;
    background-color: #fff;
    transform: rotate(-70deg);
}
header > section > div > div:first-of-type > div {
    font-weight: 600;
    color: #fff;
    margin: 0 0 4px 0;
    font-size: clamp(1rem, 2.5vw, 1.6rem);
    letter-spacing: 0;
    position: relative;
}
header > section > div > div:first-of-type > div:first-of-type {
    padding: 0 14px 0 0;
}
header > section > div > h1 {
    width: clamp(291px, 45vw, 540px);
    margin: 4px auto 4px;
}
header > section > div > h1 > img {
    width: 100%;
}
header > section > div > div:last-of-type {
    padding: 0 0 100px 0;
}

header > section > div > div:last-of-type > div {
    box-sizing: border-box;
    padding: 36px 0;
    border-radius: 10px;
    background-color: #fff;
    width: 60%;
    min-width: 450px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
}

header > section > div > div:last-of-type > div::before {
    content: "";
    position: absolute;
    bottom: 12px;
    right: -160px;
    width: clamp(169px, 20vw, 209px);
    height: clamp(206px, 20vw, 246px);
    background-image: url("../images/lp-introduce/mv_right-min.png");
    background-repeat: no-repeat;
    background-size: contain;
}
header > section > div > div:last-of-type > div::after {
    content: "";
    position: absolute;
    bottom: 12px;
    left: -160px;
    width: clamp(169px, 20vw, 209px);
    height: clamp(206px, 20vw, 246px);
    background-image: url(../images/lp-introduce/mv_left-min.png);
    background-repeat: no-repeat;
    background-size: contain;
}

header > section > div > div:last-of-type > div > div:nth-child(1) {
    font-weight: 800;
    margin: 0 0 2px 0;
}
header > section > div > div:last-of-type > div > div:nth-child(2) {
    font-weight: 800;
}
header > section > div > div:last-of-type > div > div:nth-child(3) {
    font-weight: 800;
    display: flex;
    margin: 22px 0 18px 0;
}
header > section > div > div:last-of-type > div > div:nth-child(3) > div:first-of-type,
header > section > div > div:last-of-type > div > div:nth-child(3) > div:last-of-type {
    font-weight: 800;
    position: relative;
}
header > section > div > div:last-of-type > div > div:nth-child(3) > div:first-of-type::after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 3px solid transparent;
    border-left: 10px solid transparent;
    border-bottom: 20px solid #e76396;
    border-top: 0;
    transform: rotate(130deg);
    position: absolute;
    z-index: 0;
    bottom: -11px;
    right: 11px;
}
header > section > div > div:last-of-type > div > div:nth-child(3) > div:last-of-type::before {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 2px solid transparent;
    border-left: 22px solid transparent;
    border-bottom: 30px solid #e76396;
    border-top: 0;
    transform: rotate(-147deg);
    position: absolute;
    z-index: 0;
    bottom: -17px;
    left: 9px;
}

header > section > div > div:last-of-type > div > div:nth-child(3) > div {
    font-size: 2rem;
    color: #fff;
    background-color: #e76396;
    padding: 4px 0;
    border-radius: 6px;
    width: 210px;
    box-sizing: border-box;
    text-align: center;
}

header > section > div > div:last-of-type > div > div:nth-child(3) > div:first-of-type {
    margin: 0 16px 0 0;
}
header > section > div > div:last-of-type > div > div:nth-child(3) > div:last-of-type {
    margin: 0 0 0 16px;
}
header > section > div > div:last-of-type > div > div:nth-child(3) > div > span {
    display: inline-block;
    color: #fff;
    font-size: 1.6rem;
}

header > section > div > div:last-of-type > div > div:nth-child(4) {
    font-weight: 800;
    display: flex;
    align-items: end;
    justify-content: center;
    position: relative;
    left: 4px;
}

header > section > div > div:last-of-type > div > div:nth-child(4) > img {
    width: clamp(280px, 29.688vw, 330px);
}
header > section > div > div:last-of-type > div > div:nth-child(4) > div {
    font-weight: 800;
    font-size: 3.4rem;
    letter-spacing: -2px;
    margin: 0 0 6px 20px;
}

main > section.flow-area {
    background-color: var(--base-light-blue-color);
    padding: 90px 0;
}
main > section.flow-area > div .flow {
    box-sizing: border-box;
    padding: 0 60px;
    display: grid;
    grid-template-columns: 1fr 214px 1fr;
    grid-template-rows: 50px 473px 473px 473px;
    gap: 30px 0;
    grid-template-areas:
        "member_title . new_member_title"
        "member_1 step1 new_member_1"
        "member_2 step2 new_member_2"
        "member_3 step3 new_member_3";
    align-self: center;
    justify-self: center;
}

main > section > div > .introduce-btn {
    font-size: 2.8rem;
    font-weight: 800;
    color: #fff;
    background-color: var(--base-pink-color);
    width: 500px;
    height: 100px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 70px auto 0;
    position: relative;
}

main > section > div > .introduce-btn::before {
    content: "";
    display: block;
    position: absolute;
    width: 16px;
    bottom: 52px;
    right: 16px;
    border-radius: 0 0 10px 0;
    height: 3px;
    z-index: 121;
    background-color: #fff;
    transform: rotate(38deg);
}
main > section > div > .introduce-btn::after {
    content: "";
    display: block;
    position: absolute;
    width: 16px;
    border-radius: 0 10px 0 0;
    bottom: 44px;
    right: 16px;
    height: 3px;
    z-index: 121;
    background-color: #fff;
    transform: rotate(-38deg);
}
main > section.flow-area > div .flow > div:not(:nth-child(1)):not(:nth-child(2)) {
    margin: 0 0 30px 0;
}
main > section.flow-area > div .flow > div > img {
    object-fit: contain;
    width: 100%;
}
main > section.flow-area > div .flow > div:nth-child(6) > img {
    width: 76%;
    position: relative;
    left: 32px;
    padding: 0 0 10px 0;
}
main > section.flow-area > div .flow > div:nth-child(8) > img {
    width: 100%;
}
main > section.flow-area > div .flow > div:nth-child(3) > img:first-of-type,
main > section.flow-area > div .flow > div:nth-child(5) > img:first-of-type {
    width: 100%;
    height: 70%;
}

main > section.flow-area > div .flow > div:nth-child(3) > img:first-of-type {
    padding: 0 0 16px 0;
}
main > section.flow-area > div .flow > div:nth-child(5) > img:first-of-type {
    padding: 0 0 44px 0;
}
main > section.flow-area > div .flow > div:nth-child(9) > img:first-of-type {
    width: 100%;
    height: 59%;
    padding: 0 0 10px 0;
}
main > section.flow-area > div .flow > div:nth-child(11) > img:first-of-type {
    width: 100%;
    height: 55%;
    padding: 0 0 20px 0;
}
main > section.flow-area > div .flow > div:nth-child(1) {
    grid-area: member_title;
}
main > section.flow-area > div .flow > div:nth-child(2) {
    grid-area: new_member_title;
}
main > section.flow-area > div .flow > div:nth-child(1),
main > section.flow-area > div .flow > div:nth-child(2) {
    background-color: var(--base-navy-color);
    color: #fff;
    font-size: 3rem;
    font-weight: 800;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 60px;
}
main > section.flow-area > div .flow > div:nth-child(3) {
    grid-area: member_1;
    position: relative;
}
main > section.flow-area > div .flow > div:nth-child(4) {
    grid-area: step1;
}
main > section.flow-area > div .flow > div:nth-child(5) {
    grid-area: new_member_1;
    position: relative;
}
main > section.flow-area > div .flow > div:nth-child(6) {
    grid-area: member_2;
    position: relative;
}
main > section.flow-area > div .flow > div:nth-child(7) {
    grid-area: step2;
}
main > section.flow-area > div .flow > div:nth-child(8) {
    grid-area: new_member_2;
    position: relative;
}
main > section.flow-area > div .flow > div:nth-child(9) {
    grid-area: member_3;
}
main > section.flow-area > div .flow > div:nth-child(10) {
    grid-area: step3;
}
main > section.flow-area > div .flow > div:nth-child(11) {
    grid-area: new_member_3;
}

main > section.flow-area > div .flow > div:nth-child(3)::after,
main > section.flow-area > div .flow > div:nth-child(5)::after,
main > section.flow-area > div .flow > div:nth-child(6)::after,
main > section.flow-area > div .flow > div:nth-child(8)::after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 10px solid transparent;
    border-left: 10px solid transparent;
    border-top: 17px solid var(--base-green-color);
    border-bottom: 0;
    transform: rotate(0deg);
    position: absolute;
    z-index: 0;
    bottom: -42px;
    right: 50%;
}

main > section.flow-area > div .flow > div:nth-child(3),
main > section.flow-area > div .flow > div:nth-child(5),
main > section.flow-area > div .flow > div:nth-child(6),
main > section.flow-area > div .flow > div:nth-child(8),
main > section.flow-area > div .flow > div:nth-child(9),
main > section.flow-area > div .flow > div:nth-child(11) {
    width: 100%;
    max-width: 473px;
    max-height: 473px;
    border: solid 3px var(--base-green-color);
    border-radius: 10px;
    box-sizing: border-box;
    background-color: #fff;
    padding: clamp(6px, 1.083vw, 40px);
}

main > section.flow-area > div .flow > div:nth-child(6),
main > section.flow-area > div .flow > div:nth-child(8) {
    display: grid;
    place-content: center;

    /* display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center; */
}

main > section.flow-area > div .flow > div:nth-child(3) > div:first-of-type,
main > section.flow-area > div .flow > div:nth-child(5) > div:first-of-type,
main > section.flow-area > div .flow > div:nth-child(6) > div:first-of-type,
main > section.flow-area > div .flow > div:nth-child(8) > div:first-of-type,
main > section.flow-area > div .flow > div:nth-child(9) > div:first-of-type,
main > section.flow-area > div .flow > div:nth-child(11) > div:first-of-type {
    font-weight: 600;
    text-align: center;
}
main > section.flow-area > div .flow > div:nth-child(3) > div:first-of-type,
main > section.flow-area > div .flow > div:nth-child(5) > div:first-of-type,
main > section.flow-area > div .flow > div:nth-child(6) > div:first-of-type,
main > section.flow-area > div .flow > div:nth-child(8) > div:first-of-type,
main > section.flow-area > div .flow > div:nth-child(11) > div:first-of-type {
    font-size: clamp(1.6rem, 1.9vw, 2.5rem);
}

main > section.flow-area > div .flow > div:nth-child(9) > div:first-of-type {
    font-size: clamp(1.4rem, 1.7vw, 2.4rem);
}

main > section.flow-area > div .flow > div:nth-child(9) > div:first-of-type,
main > section.flow-area > div .flow > div:nth-child(11) > div:first-of-type {
    padding: 0 0 5px 0;
}

main > section.flow-area > div .flow > div:nth-child(3) > div:last-of-type {
    font-size: clamp(1.4rem, 1.7vw, 2rem);
    text-align: center;
    letter-spacing: 1px;
}

main > section.flow-area > div .flow > div:nth-child(4),
main > section.flow-area > div .flow > div:nth-child(7),
main > section.flow-area > div .flow > div:nth-child(10) {
    border-radius: 50%;
    background-color: var(--base-green-color);
    height: 150px;
    width: 150px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    align-self: center;
    justify-self: center;
    font-weight: 800;
    line-height: 1;
    position: relative;
}

main > section.flow-area > div .flow > div:nth-child(4)::after {
    content: "";
    position: absolute;
    width: 5px;
    height: 374px;
    background-color: var(--base-green-color);
    top: 141px;
}
main > section.flow-area > div .flow > div:nth-child(7)::after {
    content: "";
    position: absolute;
    width: 5px;
    height: 374px;
    background-color: var(--base-green-color);
    top: 141px;
}

main > section.flow-area > div .flow > div:nth-child(4) > div,
main > section.flow-area > div .flow > div:nth-child(7) > div,
main > section.flow-area > div .flow > div:nth-child(10) > div {
    color: #fff;
}
main > section.flow-area > div .flow > div:nth-child(4) > div:first-of-type,
main > section.flow-area > div .flow > div:nth-child(7) > div:first-of-type,
main > section.flow-area > div .flow > div:nth-child(10) > div:first-of-type {
    font-size: 2.8rem;
    height: 30px;
    letter-spacing: 2px;
}
main > section.flow-area > div .flow > div:nth-child(4) > div:last-of-type,
main > section.flow-area > div .flow > div:nth-child(7) > div:last-of-type,
main > section.flow-area > div .flow > div:nth-child(10) > div:last-of-type {
    font-size: 4rem;
}

main > section.flow-area > div > div:first-of-type h2 {
    background: #edf8f8;
}
main > section.application-guidelines > div > dl {
    width: 100%;
}
main > section.application-guidelines > div > dl > div {
    display: flex;
}

main > section.application-guidelines > div > dl > div dt {
    width: 20%;
    background-color: var(--base-green-color);
    border-bottom: solid 1px #fff;
    border-right: solid 1px #fff;
    color: #fff;
    font-size: 2rem;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    letter-spacing: 1px;
    box-sizing: border-box;
    padding: 50px;
}

main > section.application-guidelines > div > dl > div dd {
    width: 80%;
    border-bottom: solid 1px #fff;
    box-sizing: border-box;
    padding: 50px;
}

main > section.application-guidelines > div > dl > div dd > div {
    font-size: 1.8rem;
    font-weight: 800;
    padding: 0 0 10px 0;
}

main > section.application-guidelines > div > dl > div dd > div:last-of-type {
    padding: 20px 0 10px 0;
}
main > section.application-guidelines > div > dl > div dd > ul li {
    display: flex;
    align-items: baseline;
}
main > section.application-guidelines > div > dl > div dd > ul li.precaution {
    margin: 0 0 0 14px;
}
main > section.application-guidelines > div > dl > div dd > ul li span {
    display: inline-block;
}

main > section.application-guidelines > div > dl > div dd > ul li span:first-of-type {
    width: 16px;
}

main > section.application-guidelines > div > dl > div:nth-child(1) dd,
main > section.application-guidelines > div > dl > div:nth-child(3) dd {
    background-color: rgb(237, 237, 237);
}
main > section > div > div:first-of-type {
    position: relative;
    text-align: center;
    padding: 0 0 40px 0;
}

main > section > div > div:first-of-type h2 {
    text-align: center;
    display: inline-block;
    font-size: clamp(2.6rem, 5vw, 5rem);
    font-weight: 800;
    position: relative;
    z-index: 2;
    padding: 0 23px;
}
main > section.application-guidelines > div > div:first-of-type h2 {
    background: #fff;
}

main > section > div > div:first-of-type::before {
    content: "";
    width: calc(100% - 120px);
    height: 8px;
    display: block;
    position: absolute;
    top: 39px;
    left: 60px;
    z-index: 1;
    background: repeating-linear-gradient(-45deg, var(--base-green-color), var(--base-green-color) 4px, #fff 4px, #fff 8px);
}

main > section:last-of-type {
    background-color: #fff;
    padding: 100px 0;
}

main > section.application-guidelines > div .guidelines {
    box-sizing: border-box;
    padding: 0 60px;
}

footer {
    background-color: var(--base-navy-color);
    color: #fff;
    text-align: center;
}
footer small {
    font-weight: 600;
    font-size: 1.2rem;
    display: grid;
    place-content: center;
    height: 50px;
    color: #fff;
}

main > section.flow-area > div .flow > div:nth-child(9) > div:first-of-type > div,
main > section.flow-area > div .flow > div:nth-child(11) > div:first-of-type > div {
    display: none;
}
/* under 900px */
@media screen and (max-width: 900px) {
    header > div {
        height: 45px;
    }
    header > section {
        padding: 30px 0 0 0;
    }
    main > section > div > div:first-of-type::before {
        content: "";
        width: calc(100% - 120px);
        height: 6px;
        display: block;
        position: absolute;
        top: 39px;
        left: 60px;
        z-index: 1;
        background: repeating-linear-gradient(-45deg, var(--base-green-color), var(--base-green-color) 2px, #fff 2px, #fff 4px);
    }
    main > section > div > div:first-of-type h2 {
        padding: 0 8px;
    }
    header > section > div > div:last-of-type > div {
        width: calc(100% - 40px);
        min-width: initial;
        max-width: 750px;
    }
    header > section > div > div:last-of-type > div > div:nth-child(4) {
        flex-direction: column;
        align-items: center;
    }
    header > section > div > div:last-of-type > div::before {
        width: clamp(72px, 17vw, 210px);
        height: clamp(87px, 20vw, 210px);
        right: 2px;
        bottom: 3px;
        z-index: 1;
    }
    header > section > div > div:last-of-type > div::after {
        width: clamp(74px, 17vw, 210px);
        height: clamp(87px, 20vw, 210px);
        left: 4px;
        bottom: 3px;
    }
    header > section > div > div:last-of-type > div > div:nth-child(1),
    header > section > div > div:last-of-type > div > div:nth-child(2) {
        font-size: 1rem;
    }
    header > section > div > div:last-of-type > div > div:nth-child(3) > div {
        font-size: clamp(1.1rem, 2.6vw, 2rem);
    }
    header > section > div > div:last-of-type > div > div:nth-child(3) > div > span {
        font-size: clamp(1rem, 2.6vw, 1.6rem);
    }

    header > section > div > div:last-of-type > div > div:nth-child(3) > div {
        display: flex;
        white-space: nowrap;
        padding: 2px 11px;
        width: clamp(108px, 27vw, 210px);
    }
    header > section > div > div:last-of-type > div > div:nth-child(4) > img {
        width: clamp(160px, 35vw, 280px);
    }
    header > section > div > div:last-of-type > div > div:nth-child(4) > div {
        font-size: clamp(1.8rem, 4vw, 3.4rem);
    }
    header > section > div > div:last-of-type > div {
        padding: 16px 8px;
    }
    header > section > div > div:last-of-type > div > div:nth-child(3) {
        margin: 10px 0 9px 0;
    }
    header > section > div > div:last-of-type > div > div:nth-child(4) > div {
        margin: 0;
    }
    header > section > div > div:last-of-type > div > div:nth-child(3) > div {
        border-radius: 3px;
    }
    header > section > div > div:last-of-type > div > div:nth-child(3) > div:first-of-type::after {
        border-right: 3px solid transparent;
        border-left: 5px solid transparent;
        border-bottom: 14px solid #e76396;
        bottom: -8px;
        right: 4px;
    }
    header > section > div > div:last-of-type > div > div:nth-child(3) > div:last-of-type::before {
        border-right: 3px solid transparent;
        border-left: 7px solid transparent;
        border-bottom: 14px solid #e76396;
        bottom: -8px;
        left: 4px;
    }
    header > section > div > div:last-of-type > div > div:nth-child(3) > div:last-of-type {
        margin: 0 0 0 3px;
    }
    header > section > div > div:last-of-type > div > div:nth-child(3) > div:first-of-type {
        margin: 0 3px 0 0;
    }
    header > section > div > div:last-of-type > div > div:nth-child(3) > div:first-of-type,
    header > section > div > div:last-of-type > div > div:nth-child(3) > div:last-of-type {
        justify-content: center;
        align-items: center;
    }
    header > section > div > div:last-of-type > div > div:nth-child(1) {
        margin: 0;
    }
    header > section > div > div:last-of-type {
        padding: 0 0 60px 0;
    }
    main > section.flow-area {
        padding: 50px 0 60px 0;
    }

    main > section.flow-area > div .flow > div:nth-child(6),
    main > section.flow-area > div .flow > div:nth-child(8) {
        /* display: grid;
    place-content: center; */

        display: flex;
        align-items: center;
        flex-direction: column;
        justify-content: center;
    }

    main > section.application-guidelines > div .guidelines,
    main > section.flow-area > div .flow {
        padding: 0;
    }

    main > section > div > div:first-of-type::before {
        width: 100%;
        left: 0;
        top: 30px;
    }
    main > section.application-guidelines > div > div:first-of-type::before {
        display: none !important;
    }
    main > section.flow-area > div .flow > div:nth-child(3) > div:last-of-type,
    main > section.flow-area > div .flow > div > div + img,
    main > section.flow-area > div .flow > div:nth-child(4),
    main > section.flow-area > div .flow > div:nth-child(7),
    main > section.flow-area > div .flow > div:nth-child(10),
    main > section.flow-area > div .flow > div:nth-child(4)::after,
    main > section.flow-area > div .flow > div:nth-child(7)::after {
        display: none;
    }
    main > section.flow-area > div .flow > div:not(:nth-child(1)):not(:nth-child(2)):not(:nth-child(9)):not(:nth-child(11)) {
        margin: 0;
        margin: 0 0 16px 0;
    }
    main > section.flow-area > div .flow {
        width: 70%;
        margin: 0 auto;
        grid-template-columns: 1fr;
        grid-template-rows: 40px 220px 240px 275px 40px 220px 240px 275px;
        gap: 20px 0;
        justify-items: center;
        grid-template-areas:
            "member_title"
            "member_1"
            "member_2"
            "member_3"
            "new_member_title"
            "new_member_1"
            "new_member_2"
            "new_member_3";
    }

    main > section.flow-area > div .flow > div:nth-child(9),
    main > section.flow-area > div .flow > div:nth-child(11) {
        margin: 0 0 40px 0 !important;
    }
    main > section.flow-area > div .flow > div:nth-child(6) > img,
    main > section.flow-area > div .flow > div:nth-child(8) > img {
        width: 100%;
        left: 4px;
        height: 100%;
        max-height: 300px;
        object-fit: contain;
        position: relative;
        top: 0;
    }
    main > section.flow-area > div .flow > div:nth-child(6) > img {
        max-width: 150px;
        /* padding: 0 0 18px 0; */
        padding: 0;
    }
    main > section.flow-area > div .flow > div:nth-child(8) > img {
        max-width: 209px;
    }

    main > section.flow-area > div .flow > div > div + img {
        max-width: 346px;
    }
    main > section.flow-area > div .flow > div:nth-child(5) > img:first-of-type {
        padding: 0 0 15px 0;
        min-height: 142px;
    }
    main > section.flow-area > div .flow > div:nth-child(3) > img:first-of-type {
        padding: 0 0 14px 0;
        min-height: 142px;
    }
    main > section.flow-area > div .flow > div:nth-child(9) > img:first-of-type {
        padding: 0;
        min-height: 142px;
        padding: 0 0 13px 0;
    }
    main > section.flow-area > div .flow > div:nth-child(9) > div:first-of-type {
        font-size: clamp(1.5rem, 1.7vw, 2.4rem);
    }
    main > section.flow-area > div .flow > div:nth-child(11) > img:first-of-type {
        padding: 0 0 13px 0;
        min-height: 142px;
    }
    main > section.flow-area > div .flow > div:nth-child(1),
    main > section.flow-area > div .flow > div:nth-child(2) {
        font-size: 1.7rem;
        width: 100%;
        max-width: 473px;
        height: 36px;
        border-radius: 4px;
    }
    main > section.flow-area > div .flow > div:nth-child(3) > div:first-of-type,
    main > section.flow-area > div .flow > div:nth-child(5) > div:first-of-type,
    main > section.flow-area > div .flow > div:nth-child(6) > div:first-of-type,
    main > section.flow-area > div .flow > div:nth-child(8) > div:first-of-type,
    main > section.flow-area > div .flow > div:nth-child(9) > div:first-of-type,
    main > section.flow-area > div .flow > div:nth-child(11) > div:first-of-type {
        line-height: 1.2;
        font-size: clamp(1.4rem, 1.9vw, 2.5rem);
    }
    main > section.flow-area > div .flow > div:nth-child(9) > div:first-of-type > div,
    main > section.flow-area > div .flow > div:nth-child(11) > div:first-of-type > div {
        display: block;
        font-size: 1.5rem;
    }
    main > section.application-guidelines > div > a,
    main > section.flow-area > div > a {
        width: 80%;
        max-width: 500px;
        height: 64px;
        border-radius: 4px;
        font-size: 2rem;
    }

    main > section.flow-area > div > a {
        margin: 0 auto;
    }
    main > section.application-guidelines > div > a {
        margin: 60px auto 0;
    }
    main > section:last-of-type {
        padding: 40px 0 60px 0;
    }
    main > section > div > div:first-of-type {
        padding: 0 0 20px 0;
    }
    main > section.application-guidelines > div > dl > div {
        flex-direction: column;
    }
    main > section.application-guidelines > div > dl > div dt {
        width: calc(100% - 40px);
        margin: 0 auto;
        font-size: 1.6rem;
        padding: 16px;
    }
    main > section.application-guidelines > div > dl > div dd {
        width: calc(100% - 40px);
        margin: 0 auto;
        padding: 16px;
    }
    main > section.application-guidelines > div > dl > div dd > ul li,
    main > section.application-guidelines > div > dl > div dd > ul li span a,
    main > section.application-guidelines > div > dl > div dd > ul li span:last-of-type {
        font-size: 1.2rem;
    }
    main > section.application-guidelines > div > dl > div dd > ul li span a{
        text-decoration: underline;
    }
    main > section.application-guidelines > div > dl > div dd > ul li span:first-of-type {
        position: relative;
        top: 2px;
        line-height: 1;
    }
    main > section.application-guidelines > div > dl > div dd > div {
        font-size: 1.4rem;
        padding: 0 0 2px 0;
    }
    main > section.application-guidelines > div > dl > div dd > div:last-of-type {
        padding: 20px 0 2px 0;
    }
    main > section > div > .introduce-btn::before,
    main > section > div > .introduce-btn::after {
        width: 13px;
        height: 2px;
    }
    main > section > div > .introduce-btn::before {
        bottom: 32px;
    }
    main > section > div > .introduce-btn::after {
        bottom: 25px;
    }

    header > section > div > div:first-of-type > div:last-of-type::after,
    header > section > div > div:first-of-type > div:first-of-type::before {
        bottom: 50%;
        width: clamp(14px, 3vw, 23px);
        height: 1px;
    }

    main > section.flow-area > div .flow > div:nth-child(3),
    main > section.flow-area > div .flow > div:nth-child(5),
    main > section.flow-area > div .flow > div:nth-child(6),
    main > section.flow-area > div .flow > div:nth-child(8),
    main > section.flow-area > div .flow > div:nth-child(9),
    main > section.flow-area > div .flow > div:nth-child(11) {
        position: relative;
        padding: 10px 10px 10px 10px;
    }

    main > section.flow-area > div .flow > div:nth-child(9) {
        padding: 10px 10px 0px 10px;
    }

    main > section.flow-area > div .flow > div:nth-child(3) > span,
    main > section.flow-area > div .flow > div:nth-child(5) > span,
    main > section.flow-area > div .flow > div:nth-child(6) > span,
    main > section.flow-area > div .flow > div:nth-child(8) > span,
    main > section.flow-area > div .flow > div:nth-child(9) > span,
    main > section.flow-area > div .flow > div:nth-child(11) > span {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        top: -15px;
        left: -15px;
        color: #fff;
        background-color: var(--base-green-color);
        width: 58px;
        height: 58px;
        border-radius: 50%;
    }

    main > section.flow-area > div .flow > div:nth-child(3) > span::before,
    main > section.flow-area > div .flow > div:nth-child(5) > span::before,
    main > section.flow-area > div .flow > div:nth-child(6) > span::before,
    main > section.flow-area > div .flow > div:nth-child(8) > span::before,
    main > section.flow-area > div .flow > div:nth-child(9) > span::before,
    main > section.flow-area > div .flow > div:nth-child(11) > span::before {
        content: "step";
        position: absolute;
        color: #fff;
        top: 10px;
        left: 15px;
        z-index: 4;
        font-size: 1.4rem;
    }
    main > section.flow-area > div .flow > div:nth-child(3) > span::after,
    main > section.flow-area > div .flow > div:nth-child(5) > span::after,
    main > section.flow-area > div .flow > div:nth-child(6) > span::after,
    main > section.flow-area > div .flow > div:nth-child(8) > span::after,
    main > section.flow-area > div .flow > div:nth-child(9) > span::after,
    main > section.flow-area > div .flow > div:nth-child(11) > span::after {
        font-size: 1.5rem;
        top: 25px;
        left: -79px;
        color: #fff;
        border-style: none;
        border-right: 0 solid transparent;
        border-left: 100px solid transparent;
        border-top: 0 solid var(--base-green-color);
        border-bottom: 0;
        transform: rotate(0deg);
        position: absolute;
        z-index: 0;
        bottom: -42px;
        right: 50%;
    }

    main > section.flow-area > div .flow > div:nth-child(3) > span::after {
        content: "01";
    }
    main > section.flow-area > div .flow > div:nth-child(5) > span::after {
        content: "01";
    }
    main > section.flow-area > div .flow > div:nth-child(6) > span::after {
        content: "02";
    }
    main > section.flow-area > div .flow > div:nth-child(8) > span::after {
        content: "02";
    }
    main > section.flow-area > div .flow > div:nth-child(9) > span::after {
        content: "03";
    }
    main > section.flow-area > div .flow > div:nth-child(11) > span::after {
        content: "03";
    }

    main > section.flow-area > div .flow > div:nth-child(3)::after,
    main > section.flow-area > div .flow > div:nth-child(5)::after,
    main > section.flow-area > div .flow > div:nth-child(6)::after,
    main > section.flow-area > div .flow > div:nth-child(8)::after {
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-right: 6px solid transparent;
        border-left: 6px solid transparent;
        border-top: 9px solid var(--base-green-color);
        border-bottom: 0;
        transform: rotate(0deg);
        position: absolute;
        z-index: 0;
        bottom: -28px;
        right: 50%;
    }

    @media screen and (max-width: 680px) {
        main > section > div > div:first-of-type::before {
            width: 100%;
            left: 0;
            top: 20px;
        }
    }
}
