@charset "utf-8";

.visual_area {
    position: relative;
    display: flex;
    flex-flow: row wrap;
    flex-wrap: wrap;
}

.visual_area .img_area {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40%;
    padding: 4%;
    position: relative;
}

.visual_area .img_area img {
    z-index: 3;
}



#main_area {
    background: transparent linear-gradient(263deg, #F9ADA466 0%, #FFEDBC8D 16%, #B8F3DF69 29%, #A3F6F029 48%, #FFFFFF5C 81%, #FFFFFF7A 100%) 0% 0% no-repeat padding-box;
    width: 100%;
}

.visual_area .txt_area {
    width: 60%;
    padding: 2% 2% 2% 4%;
}


.visual_area h1 {
    font-size: clamp(1.75rem, 1.25rem + 2.5vw, 3.125rem);
    line-height: 1.2;
    margin-bottom: .5em;
}

.visual_area h1 .small {
    font-size: clamp(1rem, 0.682rem + 1.59vw, 1.875rem);
    color: #333;
    line-height: 1.8;
    margin-bottom: .25em;
}

.visual_area h1 .bg_pink {
    font-size: clamp(1.125rem, 0.761rem + 1.82vw, 2.125rem);
    padding: .125em .25em;
    margin: 0 .25em;
}

.visual_area h2 {
    font-size: clamp(0.875rem, 0.852rem + 0.11vw, 0.938rem);
    line-height: 1.8;
    margin-bottom: 2em;
}


#main_area li {
    text-align: center;
    color: #FFF;
    line-height: 1.4;
    padding: .5em;
}

#main_area .list01 li {
    width: 46%;
    max-width: 180px;
    border-radius: 50%;
    background: #f04478;
    padding: .5em .25em;
    font-size: clamp(1rem, 0.909rem + 0.45vw, 1.25rem);
    aspect-ratio: 1 / 1;
    display: flex;
    justify-content: center;
    align-items: center;
}

#main_area .list01 li:first-child {
    margin-right: 4%;
}

#main_area .list02 li {
    width: calc(100% / 4 - 1.5%);
    border-radius: 10px;
    font-size: clamp(1rem, 0.909rem + 0.45vw, 1.25rem);
    background: var(--c_org);
    padding: .5em;
}



#main_area .list02 li:before {
    content: '';
    display: block;
    margin: 0 auto .5em;
}

#main_area .list02 li:nth-of-type(1):before {
    background-image: url(../images/index/icon01.png);
    background-size: cover;
    width: 8vw;
    height: 8vw;
    max-width: 49px;
    max-height: 50px;
}

#main_area .list02 li:nth-of-type(2):before {
    background-image: url(../images/index/icon02.png);
    background-size: cover;
    width: 10vw;
    height: 6vw;
    max-width: 82px;
    max-height: 50px;
}

#main_area .list02 li:nth-of-type(3):before {
    background-image: url(../images/index/icon03.png);
    background-size: cover;
    width: 8vw;
    height: 8vw;
    max-width: 52px;
    max-height: 50px;
}

#main_area .list02 li:nth-of-type(4):before {
    background-image: url(../images/index/icon04.png);
    background-size: cover;
    width: 8vw;
    height: 8vw;
    max-width: 60px;
    max-height: 50px;
}



#main_area .page_link {
    padding: 40px 0;
    background: var(--c_pink);
}

#main_area .page_link li {
    width: calc(100% / 3 - .5em);
    padding: 0;
}

#main_area .page_link li a {
    height: 100%;
    background: #fff;
    padding: 1em .5em;
    color: var(--c_pink);
    font-size: clamp(0.875rem, 0.739rem + 0.68vw, 1.25rem);
    font-weight: bold;
}



section h2 {
    font-size: clamp(1.5rem, 1rem + 2.5vw, 2.875rem);
}

section h2 .eng {
    font-family: 'Helvetica', sans-serif;
    font-size: clamp(0.875rem, 0.784rem + 0.45vw, 1.125rem);
    color: var(--c_pink);
    font-weight: bold;
}

section h3 {
    font-size: clamp(1.125rem, 0.943rem + 0.91vw, 1.625rem);
    margin-bottom: 1.25em;
}

section h4 {
    font-size: clamp(1.125rem, 0.989rem + 0.68vw, 1.5rem);
}



#front_requirements h3 {
    font-size: clamp(1.5rem, 1.273rem + 1.14vw, 2.125rem);
    color: var(--c_org);
}

#front_requirements h3 {
    font-size: clamp(1.5rem, 1.273rem + 1.14vw, 2.125rem);
    color: var(--c_org);
}

#front_requirements .b_btm::after {
    content: "";
    display: block;
    width: 2em;
    height: 4px;
    background: var(--c_org);
    margin: .25em auto 0;
}

.table dl:not(:last-child) {
    margin-bottom: .5em;
}

.table dt,
.table dd {
    padding: 1em 1.5em;
    border-radius: 10px;
    font-size: clamp(1rem, 0.955rem + 0.23vw, 1.125rem);
}

.table dt {
    width: 30%;
    background: var(--c_pink);
    text-align: center;
    font-weight: bold;
    color: #fff;
}

.table dd {
    width: 69%;
    background: #fff;
}



section .flex>.txt_area {
    width: 50%;
}

section .flex>.img_area {
    width: 40%;
    text-align: center;
}

#front_reason h3 {
    font-size: clamp(1.5rem, 1.273rem + 1.14vw, 2.125rem);
    color: var(--c_org);
}

#front_reason h3 .point {
    background: var(--c_org);
    color: #fff;
    width: fit-content;
    margin: auto;
    font-size: clamp(1rem, 0.864rem + 0.68vw, 1.375rem);
    padding: .125em .5em;
}

#front_reason h3 .point .num {
    font-size: 120%;
}

#front_reason .source {
    margin-top: .5em;
    word-wrap: break-word;
}



#front_features h2 {
    margin-bottom: 0;
}

#front_features .box {
    padding: 5em 4em 2em;
    position: relative;
    margin-top: 8em;
}

#front_features .features01 .flex .txt_area {
    width: 44%;
}

#front_features .features01 .flex .img_area {
    width: 50%;
}



#front_features .features03 {
    padding: 6.5em 4em 2em;
}

#front_features .difference {
    background: var(--c_pink);
    color: #fff;
    font-size: clamp(0.875rem, 0.784rem + 0.45vw, 1.125rem);
    border-radius: 50%;
    width: fit-content;
    aspect-ratio: 1 / 1;
    padding: 1em;
    line-height: 1.4;
    transform: rotate(-10deg);
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: -2em;
    left: -1em;
}

#front_features h3 {
    position: absolute;
    top: -3em;
    right: 0;
    left: 0;
    margin: auto;
}

#front_features h3 .features {
    font-size: clamp(1rem, 0.864rem + 0.68vw, 1.375rem);
    color: var(--c_org);
}

#front_features h3 .features .num {
    font-size: 120%;
}

#front_features h3 .txt_bg {
    background: var(--c_org);
    width: 90%;
    max-width: 800px;
    color: #fff;
    padding: .5em;
    margin: auto;
}

#front_features .features02 .img_area {
    width: fit-content;
    margin: auto;
    text-align: center;
}

#front_features .features04 .img_area {
    width: 80%;
    max-width: 700px;
    margin: auto;
}

#front_features picture {
    display: block;
    text-align: center;
    margin: auto;
}






.sec_work .txt_area li {
    border-bottom: 2px dotted #ccc;
    padding-bottom: 1em;
    margin-bottom: 1em;
    font-size: clamp(1rem, 0.955rem + 0.23vw, 1.125rem);
    font-weight: bold;
    padding-left: 2em;
    position: relative;
}

.sec_work .txt_area li::before {
    font-family: "FAsolid";
    font-weight: 900;
    content: "\f058";
    font-size: 120%;
    color: var(--c_pink);
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
}






.sec_day li {
    width: calc(100% / 4 - 2.5%);
    background: #fff;
}

.sec_day .img_area img {
    border-radius: 20px 20px 0 0;
}

.sec_day .txt_area {
    padding: 1.5em 2em;
    border-radius: 0 0 20px 20px;
}

.sec_day .txt_area dt {
    font-size: clamp(1rem, 0.955rem + 0.23vw, 1.125rem);
}








.sec_thing .img_area {
    width: 80%;
    max-width: 640px;
    margin: 0 auto 2em;
    text-align: center;
}

.sec_thing .list li {
    width: calc(100% / 3 - 1%);
    min-height: 64px;
    padding: .5em;
    border-radius: 10px;
    background: var(--c_pink);
    color: #fff;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
    margin-bottom: 1em;
    display: flex;
    justify-content: center;
    align-items: center;
}



.sec_model .example {
    background: #fff;
    padding: 2em 2.5em;
}

.sec_model .example .box01 {
    width: 60%;
    margin: 0 auto 2em;
}

.sec_model .example .box01 li:first-child {
    width: 20%;
    max-width: 80px;
}

.sec_model .example .box01 li:last-child {
    width: 74%;
    padding: .25em;
    background: var(--c_l_org);
}

.sec_model .example li:last-child .small {
    font-size: clamp(1.125rem, 1.08rem + 0.23vw, 1.25rem);
}

.sec_model .example li:last-child .big {
    font-size: clamp(1.5rem, 1.364rem + 0.68vw, 1.875rem);
}

.sec_model .example .box02 dl:not(:last-child) {
    border-bottom: 2px dotted #707070;
    padding-bottom: 1em;
    margin-bottom: 1em;
}

.sec_model .example .box02 dl dt {
    width: 5em;
}

.sec_model .example .box02 dl dd {
    width: calc(100% - 5em);
}

.sec_model .example .box01 dt,
.sec_model .example .box02 p {
    margin-bottom: .5em;
}





.sec_support h4 {
    color: var(--c_pink);
}

.sec_support .list {
    width: 48.5%;
}

.sec_support .list>li {
    background: #fff;
    border: 2px solid var(--c_pink);
    padding: 1.5em 2.5em;
    margin-bottom: 2em;
}

.sec_support .list>li li:not(:last-child) {
    margin-bottom: .75em;
}

.sec_support .box02 {
    position: relative;
}

.sec_support .img02 {
    position: absolute;
    bottom: -4em;
    right: 0;
    width: 40vw;
    max-width: 500px;
}




.sec_schedule h4 {
    color: var(--c_pink);
}

.sec_schedule .box01 {
    border: 2px dotted var(--c_pink);
    padding: 2em 3em;
    margin-top: 4em;
    position: relative;
}

.sec_schedule .box01 h4 {
    position: absolute;
    top: -.75em;
    right: 0;
    left: 0;
    margin: auto;
    width: fit-content;
    padding: 0 .5em;
    background: var(--c_l_yel);
}








.sec_cost .table p {
    background: var(--c_pink);
    color: #fff;
    padding: 1em;
    margin-bottom: .5em;
    font-size: clamp(1.125rem, 1.08rem + 0.23vw, 1.25rem);
}

.sec_cost .table dt {
    width: 49.5%;
    background: var(--c_l_pink);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #333;
}

.sec_cost .table dd {
    width: 49.5%;
    font-size: clamp(1.125rem, 1.08rem + 0.23vw, 1.25rem);
}


.sec_training .table dt,
.sec_training .table dd {
    display: flex;
    align-items: center;
}

.sec_training .table dt {
    width: 30%;
    justify-content: center;
}

.sec_training .table .t_head dt {
    background: var(--c_pink);
    color: #fff;
}

.sec_training .table .t_body dt {
    background: var(--c_l_pink02);
    color: #333;
    text-align: center;
}

.sec_training .table .t_head dt:nth-of-type(2),
.sec_training .table dd:nth-of-type(1) {
    width: 28%;
}

.sec_training .table .t_head dt:nth-of-type(3),
.sec_training .table dd:nth-of-type(2) {
    width: 40%;
}


#front_teacher h3 {
    text-align: left;
}

#front_teacher .btn {
    width: 80%;
    max-width: 320px;
}

#front_teacher .btn a {
    display: block;
    color: #fff;
    text-align: center;
    padding: 1em;
    font-weight: bold;
}

#front_faq li {
    width: 48.5%;
    background: #fff;
    padding: 2em 2em 2em 4.5em;
}

#front_faq li:nth-of-type(-n+6) {
    margin-bottom: 2em;
}


#front_faq dt,
#front_faq dd {
    position: relative;
}

#front_faq dt {
    color: var(--c_pink);
    font-size: clamp(1.125rem, 1.08rem + 0.23vw, 1.25rem);
    margin-bottom: .75em;
}



#front_faq dt:before,
#front_faq dd:before {
    position: absolute;
    top: 0;
    left: -1.5em;
    font-size: clamp(1.25rem, 1.068rem + 0.91vw, 1.75rem);
    line-height: 1;
}

#front_faq dt:before {
    content: "Q";
    color: var(--c_pink);
}

#front_faq dd:before {
    content: "A";
}







.front_contact li {
    width: calc(100% / 3 - 1%);
}


.front_contact li.line img {
    width: 30vw;
    max-width: 70px;
}

.front_contact li a {
    display: block;
    padding: 1em;
}

.front_contact li .tit {
    margin-bottom: 2em;
}

.front_contact li:last-child .tit {
    margin-bottom: 1.5em;
}

.front_contact li .tit {
    color: #fff;
    font-size: clamp(1rem, 0.864rem + 0.68vw, 1.375rem);
}

.front_contact li .btn {
    background: #fff;
    padding: .5em;
    font-size: clamp(1rem, 0.909rem + 0.45vw, 1.25rem);
}





#form .inner-section {
    max-width: 700px;
}

.form_list li {
    margin: 0 0 0.6em;
}

.form_list .name_area {
    justify-content: space-between;
}

.form_list .name_area li {
    width: 48%;
}

.eform .needMark {
    margin: 0 0 0 10px;
    float: right;
}

.needMark:after {
    content: "*";
    color: #FF0000;
}

.form_list dd label input {
    width: 100%;
    padding: 0.6em 0;
}

.form_list .aside {
    font-size: 80%;
    margin-left: 6px;
}

.form_list dd label input[name=privy] {
    width: auto;
}

.form_list dd .plink {
    font-size: 80%;
    text-decoration: underline;
}

.form_list dd .plink span {
    display: inline-block;
    transform: rotate(90deg);
    margin: 0 5px 0 0;
    font-size: 80%;
}

#form .privacy_wrap {
    margin: 1em auto;
    padding: 1em 1.5em;
    border: 1px solid #ccc;
    background: #fff;
}

#form .privacy-policy {
    overflow: auto;
    height: 200px;
}

#form .privacy-policy h2 {
    font-size: 1.125rem;
    color: var(--c_pink);
    text-align: left;
    margin-bottom: .5em;
}

#form .privacy-policy h3 {
    font-size: 1rem;
    text-align: left;
    margin-bottom: .5em;
}

.privacy-policy span.red {
    color: #E60012;
}

.privacy-policy h2:first-child {
    margin-top: 0;
}

.privacy-policy h3 {
    margin: 3rem 0 0.5em;
}


.privacy-policy ol {
    margin: 3em 0;
}

.privacy-policy ol li {
    margin-left: 1.5em;
    padding-left: 0.5em;
    margin-bottom: 1.5em;
}

.privacy-policy ol li ol {
    margin: 0.8em 0;
}

.privacy-policy ol li ol li {
    margin-bottom: 0.8em;
}

.privacy-policy ol li>ol {
    list-style-type: lower-latin;
}

.privacy-policy ol li>ol li>ol {
    list-style-type: lower-roman;
}

.privacy-policy ol li>ol li>ol li>ol li {
    list-style-type: katakana;
}


.privacy-policy dl {
    display: flex;
    flex-wrap: wrap;
    border-top: 1px solid #E3E3E3;
    line-height: 2;
    margin: 1.5em 0;
}

.privacy-policy dl dt,
.privacy-policy dl dd {
    padding: 2rem 3rem;
    border-bottom: 1px solid #E3E3E3;
}

.privacy-policy dl dt {
    width: 10rem;
    padding: 1rem 0;
    font-weight: 700;
    text-align: center;
    background: #F7F7F7;
    display: flex;
    justify-content: center;
    align-items: center;
}

.privacy-policy dl dd {
    width: calc(100% - 10rem);
    display: flex;
    flex-direction: column;
    justify-content: center;
}



#form .form_btn div {
    width: 48%;
}


#form .shiryou {
    background-color: unset;
}

#form .shiryou input[type="submit"],
.setsumeikai a {
    color: #fff;
    width: 100%;
    padding: 1em;
    border-radius: 10px;
    display: block;
    text-align: center;
    font-size: 1rem;
    letter-spacing: .1em;
}

#form .shiryou input[type="submit"] {
    background-color: var(--c_pink);
    border: none;
    margin: 0 auto;
}

.setsumeikai {
    border-radius: 10px;
}


#form .form_list>li>dl>dt {
    font-weight: bold;
}


@media (max-width: 1199px) {}








@media (max-width: 1099px) {

    #main_area .list02 li {
        width: calc(100% / 4 - 1%);
        padding: .5em .125em;
    }

    #front_features .difference {
        padding: .75em;
        top: -5em;
        left: -1em;
    }






}





@media (max-width: 899px) {
    .visual_area {
        padding: 0;
        flex-direction: column-reverse;
        justify-content: center;
        align-items: center;
    }

    .visual_area::after {
        width: 36%;
        height: 23rem;
        top: 3rem;
        right: 1rem;
    }

    .visual_area .txt_area {
        width: 100%;
        background: unset;
        padding: 5% 3%;
        position: relative;
        z-index: 1;
        margin-top: 0;
    }

    #main_area .list01 li {
        width: 48%;
        max-width: 200px;
    }

    .visual_area .img_area {
        width: 100%;
        padding: 4%;
        max-width: 470px;
        text-align: center;
    }



    .sec_day li {
        width: calc(100% / 4 - 2%);
        background: #fff;
    }

    .sec_day .txt_area {
        padding: 1em 1.5em;
    }



    .sec_thing .list li,
    .sec_thing .list li:nth-of-type(odd) {
        width: calc(100% / 2 - 1%);
        background: #fff;
        border: 2px solid var(--c_pink);
        color: var(--c_pink);
    }

    .sec_thing .list li:nth-of-type(1),
    .sec_thing .list li:nth-of-type(4),
    .sec_thing .list li:nth-of-type(5),
    .sec_thing .list li:nth-of-type(8),
    .sec_thing .list li:nth-of-type(9) {
        background: var(--c_pink);
        color: #fff;
    }


}



@media (max-width: 799px) {
    .visual_area h1 {
        width: 75%;
    }


    #main_area {
        margin-top: 117px;
    }

    .visual_area {
        padding: 2rem 0 0;
    }

    .visual_area::after {
        width: 32%;
        height: 62%;
        top: 6rem;
    }

    .table dt,
    .table dd,
    .sec_cost .table dt,
    .sec_cost .table dd {
        width: 100%;
    }





    section .flex>.txt_area,
    #front_features .features01 .flex .txt_area {
        width: 100%;
    }

    section .flex>.img_area,
    #front_features .features01 .flex .img_area {
        width: 80%;
        max-width: 540px;
        margin: auto;
    }


    #front_features .features01 .flex .img_area {
        width: 100%;
    }


    #front_reason .txt_area,
    #front_features .txt_area,
    .sec_work .flex .img_area,
    .sec_thing .img_area,
    .sec_support .box01 .img_area,
    .sec_model .example .box01 ul,
    #front_teacher .txt_area {
        margin-bottom: 6vw;
    }

    #front_teacher .btn {
        margin: auto;
    }

    #front_features .difference {
        display: none;
    }


    #front_features .box,
    #front_features .features03 {
        padding: 1.5em 2em;
        margin-top: 6vw;
    }

    #front_features h3 {
        position: static;
        margin-bottom: 1em;
    }

    #front_features h3 .txt_bg {
        width: 100%;
    }





    .sec_day li {
        width: 100%;
        display: flex;
        justify-content: space-between;
    }

    .sec_day li:not(:last-child) {
        margin-bottom: 6vw;
    }


    .sec_day .img_area {
        width: 30%;
        text-align: center;
    }

    .sec_day .img_area img {
        border-radius: 10px 0 0 10px;
        object-fit: cover;
        height: 100%;
    }

    .sec_day .flex .txt_area {
        width: 70%;
        border-radius: 0 10px 10px 0;
        padding: 1em 1.5em;
    }

    .sec_support .img02 {
        display: none;
    }



    .sec_cost .table dd {
        text-align: center;
    }

    .sec_model .example {
        background: #fff;
        padding: 2em 2.5em;
    }

    .sec_model .example .box01 ul,
    .sec_model .example .box01 dl {
        width: 100%;
    }



    .sec_support .list {
        width: 100%;
    }






    .sec_support .list>li {
        padding: 1.25em 2em;
        margin-bottom: 2em;
    }

    .sec_support .list>li li:not(:last-child) {
        padding-bottom: .75em;
        margin-bottom: .75em;
    }


    .sec_schedule .box02 .list01 ul {
        width: 90%;
        max-width: 500px;
        margin: auto;
    }

    .sec_schedule .box02 .list01 li {
        width: 100%;
    }

    .sec_schedule .box02 .list01 li:not(:last-child) {
        margin-bottom: 8vw;
    }


    .sec_schedule .box02 .list01 li:not(:last-child)::after {
        width: 10px;
        height: 10px;
        top: inherit;
        bottom: -5vw;
        right: 0;
        left: 0;
        transform: inherit;
        margin: auto;
    }


    .sec_schedule .box02 .list02,
    .sec_schedule .box02 .list03 {
        padding: 1.5em .5em;
    }

    .sec_schedule .box02 .list02 ul,
    .sec_schedule .box02 .list03 ul {
        width: 96%;
    }


    .sec_training .table dt,
    .sec_training .table dd:nth-of-type(1),
    .sec_training .table dd:nth-of-type(2) {
        width: 100%;
    }

    .sec_training .table .t_head dt {
        display: none;
    }

    .sec_training .table .t_body dt {
        background: var(--c_pink);
        color: #fff;
    }

    .sec_training .table dd::before {
        display: inline-block;
        color: var(--c_pink);
        font-weight: bold;
    }

    .sec_training .table dd:nth-of-type(1)::before {
        content: "所要時間目安：";
    }

    .sec_training .table dd:nth-of-type(2)::before {
        content: "実施形態：";
    }



    #front_faq li {
        width: 100%;
        padding: 2em 2em 2em 4.5em;
    }


    .front_contact {
        display: none;
    }



}

@media (max-width: 599px) {
    .visual_area h1 {
        width: 100%;
    }

    #main_area {
        background: transparent linear-gradient(235deg, #F9ADA466 0%, #FFEDBC8D 16%, #B8F3DF69 29%, #A3F6F029 48%, #FFFFFF5C 81%, #FFFFFF7A 100%) 0% 0% no-repeat padding-box;
    }

    .visual_area {
    }

    .visual_area::after {
        width: 100%;
        height: 42vw;
        margin: 0 auto;
        left: 50%;
        transform: translateX(-50%);
        top: 1rem;
        right: unset;
    }



    #main_area .list02 li {
        width: calc(100% / 2 - 2%);
        padding: .5em;
    }

    #main_area .list02 li:nth-of-type(-n+2) {
        margin-bottom: 4vw;
    }


    #main_area .page_link {
        padding: 20px 0;
    }

    #main_area .page_link li {
        width: 100%;
    }

    #main_area .page_link li:not(:last-child) {
        margin-bottom: .5em;
    }


    .sec_schedule .box01 {
        padding: 1.5em 2em;
    }

    .sec_schedule .box02 .list02 li,
    .sec_schedule .box02 .list03 li {
        width: 100%;
    }

    .sec_schedule .box02 .list02 li:not(:last-child),
    .sec_schedule .box02 .list03 li:not(:last-child) {
        margin-bottom: 4vw;
    }

    .sec_schedule .box01 h4 {
        position: static;
        margin-bottom: 1em;
        padding: 0;
    }


    .sec_model .example .box01 {
        width: 90%;
    }


    #form .form_btn div {
        width: 100%;
        max-width: 400px;
        margin: auto;
    }

    #form .form_btn .shiryou {
        margin-bottom: 4vw;
    }




}

@media (max-width: 499px) {


    .visual_area {
    }

    .visual_area::after {
        height: 70vw;
    }
}


@media (max-width: 399px) {


    #main_area {
        margin-top: 83px;
    }

    .visual_area .txt_area {
        width: 100%;
    }

    #main_area .list02 li {
        width: 100%;
        text-align: left;
        padding-left: 3em;
        position: relative;
    }

    #main_area .list02 li:nth-of-type(-n+3) {
        margin-bottom: 4vw;
    }

    #main_area .list02 li br {
        display: none;
    }

    #main_area .list02 li:before {
        display: inline-block;
        margin: 0 auto;
        position: absolute;
        top: 50%;
        left: .5em;
        transform: translateY(-50%);
    }

    #main_area .list02 li:nth-of-type(2):before {
        width: 8vw;
        height: 5vw;
    }



    .visual_area h2 br {
        display: none;
    }

    #front_features .box,
    #front_features .features03 {
        padding: 1em 1.25em;
    }

    .sec_day li {
        display: block;
    }

    .sec_day .img_area,
    .sec_day .flex .txt_area {
        width: 100%;
    }

    .sec_day .img_area img {
        border-radius: 10px 10px 0 0;
    }

    .sec_day .flex .txt_area {
        border-radius: 0 0 10px 10px;
        padding: 1em 1.5em;
    }

    .sec_support .list>li {
        padding: 1em 1.25em;
    }


    .sec_thing .list li,
    .sec_thing .list li:nth-of-type(odd),
    .sec_thing .list li:nth-of-type(1),
    .sec_thing .list li:nth-of-type(4),
    .sec_thing .list li:nth-of-type(5),
    .sec_thing .list li:nth-of-type(8),
    .sec_thing .list li:nth-of-type(9) {
        width: 100%;
        background: #fff;
        color: var(--c_pink);
    }

    .sec_thing .list li:nth-of-type(odd) {
        background: var(--c_pink);
        color: #fff;
    }

    .sec_model .example {
        padding: 1em 1.25em;
    }

    .sec_model .example .box01 {
        display: block;
        width: 100%;
    }

    .sec_model .example .box01 li:first-child {
        margin: 0 auto 4vw;
    }

    .sec_model .example .box01 li:last-child {
        width: 100%;
    }









}

/**************/
.sub_tit_box_01 {}

.sub_tit_box_01 .sub_tit {}

.sub_tit_box_01 p {
    font-size: clamp(1.25rem, 0.768rem + 2.41vw, 3.75rem);
}

/**************/
.sub_tit_box_01 {}

.sub_tit_box_01 h2.sub_tit {
    font-size: clamp(1.5rem, 1.066rem + 2.17vw, 3.75rem);
}

.sub_tit_box_01 .text {
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 960px;
    margin: 0 auto;
}

.sub_tit_box_01 p {
    text-align: center;
    font-size: clamp(1.125rem, 0.956rem + 0.84vw, 2rem);
    font-weight: bold;
    padding: 0.4rem 1rem;
    color: #fff;
    background-image: -webkit-gradient(linear, left top, right top, from(#fa709a), to(#f4cf01));
    background-image: -webkit-linear-gradient(left, #fa709a 0%, #f4cf01 100%);
    background-image: linear-gradient(to right, #fa709a 0%, #f4cf01 100%);
    margin: 0;
    width: 100%;
    border-radius: 3rem;
    line-height: 1.3;
}