@charset "utf-8";
/* CSS Document */
nav.fanctions_navi {
    max-width: 1000px;
    margin: 50px auto;
    display: flex;
    justify-content: center;
    align-items: center;
}
nav.fanctions_navi a {
    height: 110px;
    width: 110px;
    display: flex;
    justify-content: flex-start;
    /* flex-wrap: wrap; */
    align-items: center;
    margin: 0 2%;
    border-radius: 110px;
    background: #ccc;
    color: #fff;
    transition: all 0.4s ease-out;
    background-image: none;
    background-position: bottom right -50%;
    overflow: hidden;
    position: relative;
}
nav.fanctions_navi a.link1 {
    background-color: #6d9bcc;
}
nav.fanctions_navi a::before {
    content: '';
    display: block;
    width: 50px;
    height: 50px;
    background-image: url(/ocans/images/top/top_section04_btnum1.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    margin-left: 0;
    position: absolute;
    left: 30px;
}
nav.fanctions_navi a.link2 {
    background-color: #b06caa;
}
nav.fanctions_navi a.link2::before {
    background-image: url(/ocans/images/top/top_section04_btnum2.svg);
}
nav.fanctions_navi a.link3 {
    background-color: #42bdd8;
}
nav.fanctions_navi a.link3::before {
    background-image: url(/ocans/images/top/top_section04_btnum3.svg);
}
nav.fanctions_navi a span {
    font-size: 22px;
    width: 500px;
    font-weight: 700;
    opacity: 0;
    transition: all 0.2s ease;
    transition-delay: 0.2s;
    position: absolute;
    left: 90px;
    line-height: 1.4;
}
nav.fanctions_navi a.active {
    width: 50%;
    justify-content: flex-start;
}
nav.fanctions_navi a.link1.active {
    background-image: url(/ocans/images/top/top_section04_btillust01.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: bottom right -30%;
}
nav.fanctions_navi a.link2.active {
    background-image: url(/ocans/images/top/top_section04_btillust02.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: bottom -2% right -30%;
}
nav.fanctions_navi a.link3.active {
    background-image: url(/ocans/images/top/top_section04_btillust03.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: bottom right -30%;
}
nav.fanctions_navi a.active span {
    opacity: 1;
}
section article {
    width: 100%;
    max-width: 1000px;
    margin: auto;
    padding: 100px 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#function01 #main {
    background: #6d9bcc;
    padding: 0 20px;
}
#function01 #main article {
    background-image: url(/ocans/images/functions/A_illust.svg);
    background-repeat: no-repeat;
    background-position: bottom right 15%;
    background-size: 30%
}
#main h1 {
    color: #fff;
    font-size: 50px;
    font-weight: 500;
    width: 100%;
    text-align: center;
    margin-bottom: 0.5em;
    line-height: 1.4;
}
#main p {
    color: #fff;
    font-size: 18px;
    text-align: center;
    letter-spacing: 0.1em;
    width: 100%;
}
#main div.mainphoto {
    width: 50%;
    position: relative;
    padding-top: 20px;
    margin-top: 30px;
}
#main div.mainphoto h4 {
    color: #fff;
    border: solid 2px #fff;
    width: 200px;
    height: 200px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    border-radius: 50%;
    font-size: 16px;
    position: absolute;
}
#function01 #main div.mainphoto h4 {
    z-index: 0;
    top: 0;
    left: 0;
}
#function01 #main div.mainphoto img {
    position: relative;
    display: block;
    margin-top: 80px;
}
#main div.mainphoto span {
    color: #fff;
    font-size: 12px;
    position: absolute;
}
#function01 #main div.mainphoto span.L1 {
    bottom: 6%;
    left: 34%;
}
#function01 #main div.mainphoto span.L2 {
    bottom: 18%;
    left: 74%;
}
#main ul {
    width: 45%;
    margin-top: 100px;
    position: relative;
    z-index: 5;
}
#main ul li {
    background: #fff;
    border-radius: 100px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    padding: 10px 40px;
    height: 100px;
    margin-bottom: 30px;
    font-size: 22px;
    font-weight: 700;
    text-align: center;
}
section.content {
    padding: 0 20px;
}
section.content article {
    padding: 100px 0 0;
}
section.content h3 {
    color: #6d9bcc;
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 0.2em;
    width: 100%;
    line-height: 1.4;
}
section.content p {
    width: 100%;
    margin-bottom: 30px;
    font-size: 14px;
    font-weight: 500;
    text-align: justify;
    line-height: 1.8;
}
section.content .imageflex {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 50px;
    position: relative;
}
section.content .imageflex figure {
    width: 45%;
    max-width: 405px;
    position: relative;
}
section.content .imageflex figure img {
    width: 100%;
    box-shadow: 5px 5px 5px rgb(0 0 0 / 15%)
}
#function01 section.content .imageflex {
    width: 100%;
    margin: 0 auto 30px;
    padding: 0 5%;
}
#function01 section.content .imageflex.set01 .vector {
    width: 16%;
    position: absolute;
    left: 42%;
    top: 30%;
    z-index: 2;
}
#function01 section.content .imageflex figcaption.mark {
    width: 110px;
    height: 110px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    background: #fbdce8;
    border-radius: 50%;
    font-size: 24px;
    font-weight: 700;
    position: absolute;
    left: -11%;
    bottom: 3%;
}
#function01 section.content .imageflex figure:last-child figcaption.mark {
    left: unset;
    right: -11%;
}
#function01 section.content .imageflex figure figcaption:not(.mark) {
    font-size: 12px;
    text-align: center;
    margin-top: 10px;
}
#function01 section.content .imageflex.set02 img.sign {
    box-shadow: none;
    width: 18%;
    position: absolute;
    top: 15.5%;
    right: -7.5%;
    display: none;
}
#function01 section.content .imageflex.set02 div.text {
    width: 48%;
    background: #6d9bcc;
    border-radius: 10px;
    padding: 20px;
    position: relative;
}
#function01 section.content .imageflex.set02 div.text::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 20px solid transparent;
    border-bottom: 20px solid transparent;
    border-right: 60px solid #6d9bcc;
    border-left: 0;
    position: absolute;
    left: -10%;
    top: 36%;
}
#function01 section.content .imageflex.set02 div.text h4 {
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 0.5em;
}
#function01 section.content .imageflex.set02 div.text p {
    font-size: 12px;
    color: #fff;
    margin: 0;
}
#function01 section.content .imageflex.set02 {
    padding-right: 0
}
#function01 section.content .imageflex.set02 div.text img {
    position: absolute;
    top: 4%;
    right: 0;
    width: 24%;
}
#function01 article#point02 div {
    width: 48%;
    position: relative;
    margin-bottom: 50px;
}
#function01 article#point02 div h4 {
    font-weight: 700;
    font-size: 22px;
    display: flex;
    align-items: center;
    margin-bottom: 20px;
    line-height: 1;
}
#function01 article#point02 div.p_01 h4 {
    position: absolute;
    top: 0;
    left: 0;
    width: 1000px;
}
#function01 article#point02 div.p_01::after {
    content: '';
    clip-path: polygon(0 35%, 76% 35%, 76% 25%, 100% 50%, 76% 75%, 76% 65%, 0 65%);
    height: 151px;
    aspect-ratio: 1;
    background-color: #e9528e;
    display: block;
    position: absolute;
    right: -9.5%;
    top: 15%;
    z-index: 10
}
#function01 article#point02 div.p_01, #function01 article#point02 div.p_02 {
    padding-top: 40px;
}
#function01 article#point02 div h4 mark {
    background: #e9528e;
    color: #fff;
    font-family: 'Oswald';
    font-size: 22px;
    line-height: 1;
    border-radius: 50%;
    margin-right: 0.2em;
    width: 22px;
    height: 22px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    bottom: -2px;
}
#function01 article#point02 div img {
    width: 80%;
    box-shadow: 3px 3px 8px rgb(0 0 0 / 30%);
}
#function01 article#point02 div p {
    width: 140px;
    height: 140px;
    background: rgb(109 155 204);
    position: absolute;
    bottom: -4%;
    right: 0;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #fff;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
    margin-bottom: 0;
}
/*function02*/
#function02 #main {
    background: #b06caa;
    padding: 0 20px;
}
#function02 #main article {
    background-image: url(/ocans/images/functions/B_illust.svg);
    background-repeat: no-repeat;
    background-position: bottom right 37%;
    background-size: 56%;
    padding-bottom: 300px;
}
#function02 #main div.mainphoto img {
    position: absolute;
    display: block;
    top: 6%;
    left: 1%;
    width: 138%;
    max-width: unset;
}
#function02 #main div.mainphoto span.L1 {
    bottom: -18%;
    left: 36%;
}
#function02 section.content h3 {
    color: #b06caa;
}
#function02 #point01 > img {
    margin: auto;
}
#function02 article#point02 {
    max-width: 1000px;
    margin: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#function02 article#point02 > div {
    width: 47%;
    margin: 0 0 30px;
}
#function02 article#point02 .flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 0;
}
#function02 article#point02 div figure img {
    width: 100%;
    filter: drop-shadow(3px 3px 3px rgb(0 0 0 / 20%));
}
#function02 article#point02 div figure img.noshadow {
    filter: none;
}
#function02 article#point02 figcaption {
    font-size: 11px;
    text-align: center;
    margin-top: 0.5em;
}
#function02 article#point02 div.p_01 .flex figure {
    width: 40%;
}
#function02 article#point02 div.p_01 .flex figure img {
    width: 100%;
}
#function02 article#point02 div.p_01 .features {
    background: #f7f0f6;
    padding: 20px;
    width: 55%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
#function02 article#point02 div.p_01 .features p {
    margin: 0 0 20px;
}
#function02 article#point02 div.p_02 figure {
    width: auto;
}
#function02 article#point02 div.p_02 figure img {
    width: auto;
    height: 234px;
}
#function02 article#point02 div.p_02 figure.vector {
    width: 30%;
    position: relative;
    margin-right: 2%;
}
#function02 article#point02 div.p_02 figure.vector::before {
    content: '';
    background-color: #e9528e;
    width: 16px;
    height: 20px;
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    display: block;
    position: absolute;
    right: -22px;
    top: calc(50% - 20px);
}
#function02 article#point02 div.p_02 figure.third {
    width: 31.5%;
}
#function02 article#point02 div.featpoint1 {
    width: 100%;
    background: #efe2ee;
    padding: 50px 30px 30px;
    margin: 50px 0;
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}
#function02 article#point02 div.featpoint1 h4 {
    position: absolute;
    left: -0px;
    top: -28px;
    background: #51318f;
    color: #fff;
    padding: 10px 40px;
    padding-left: 75px;
    border-radius: 50px;
    font-size: 23px;
    font-weight: 700;
}
#function02 article#point02 div.featpoint1 h4::before {
    content: '';
    width: 80px;
    height: 80px;
    display: block;
    position: absolute;
    top: -10px;
    left: -18px;
    background-image: url(/ocans/images/functions/B_sec3_pointicon.svg);
    background-repeat: no-repeat;
    background-size: contain;
}
#function02 article#point02 div.featpoint1 p, #function02 article#point02 div.featpoint1 img {
    width: 48%;
    margin: 0;
}
#function02 article#point02 div.p_05 figure {
    width: 46%;
}
#function02 article#point02 div.p_05 figure:nth-child(1) {
    width: 47.5%;
}
#function02 article#point02 div.p_06 span {
    display: block;
    font-weight: 500;
}
#function02 article#point02 div.p_06 span i {
    font-style: normal;
    color: #b06caa;
    font-weight: 500;
}
#function02 article#point02 div.featpoint2 {
    width: 100%;
    background: #efe2ee;
    padding: 50px 30px 30px;
    margin: 50px 0;
    position: relative;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
#function02 article#point02 div.featpoint2 h4 {
    position: absolute;
    left: -0px;
    top: -28px;
    background: #51318f;
    color: #fff;
    padding: 10px 40px;
    padding-left: 75px;
    border-radius: 50px;
    font-size: 23px;
    font-weight: 700;
}
#function02 article#point02 div.featpoint2 h4::before {
    content: '';
    width: 80px;
    height: 80px;
    display: block;
    position: absolute;
    top: -10px;
    left: -18px;
    background-image: url(/ocans/images/functions/B_sec3_pointicon.svg);
    background-repeat: no-repeat;
    background-size: contain;
}
#function02 article#point02 div.featpoint2 div.left {
    width: 42%;
}
#function02 article#point02 div.featpoint2 div.left img {
    filter: drop-shadow(3px 3px 3px rgb(0 0 0 / 20%));
}
#function02 article#point02 div.featpoint2 div.right {
    width: 52%;
    background: #fff;
    padding: 30px;
}
#function02 article#point02 div.featpoint2 h5 {
    font-weight: 700;
    font-size: 20px;
}
#function02 article#point02 div.featpoint2 div.right div.text01 {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-end;
    position: relative;
    margin-bottom: 40px;
}
#function02 article#point02 div.featpoint2 div.right div.text01 figure.screen {
    position: relative;
    width: 34%;
}
#function02 article#point02 div.featpoint2 div.right div.text01 figure.screen img {
    width: 100%;
}
#function02 article#point02 div.featpoint2 div.right div.text01 figure.screen img.sign {
    position: absolute;
    left: 5.3%;
    bottom: 5.3%;
    width: 116%;
    max-width: unset;
    z-index: 10;
}
#function02 article#point02 div.featpoint2 div.right div.text01 figure.yn {
    width: 60%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
}
#function02 article#point02 div.featpoint2 div.right div.text01 figure.yn figcaption {
    font-size: 12px;
    text-align: justify;
    margin: 0px 0 22px;
    font-weight: 500;
}
#function02 article#point02 div.featpoint2 div.right div.text01 figure.yn img {
    width: 48%;
}
#function02 article#point02 div.featpoint2 div.right div.text02 p {
    margin-bottom: 0.5em;
    font-size: 12px;
    text-align: justify;
}
#function02 article#point02 div.featpoint2 div.right div.text02 img {
    width: 100%;
    filter: drop-shadow(3px 3px 3px rgb(0 0 0 / 20%));
}
/*function03*/
#function03 #main {
    background: #42bdd8;
    padding: 0 20px;
}
#function03 #main article {
    background-image: url(/ocans/images/functions/C_illust.svg);
    background-repeat: no-repeat;
    background-position: bottom right 0%;
    background-size: 50%;
    padding-bottom: 470px;
}
#function03 #main div.mainphoto img {
    position: absolute;
    display: block;
    top: 37%;
    left: -27%;
    width: 120%;
    max-width: unset;
}
#function03 #main div.mainphoto span.L1 {
    bottom: -88%;
    left: 37%;
}
#function03 section.content h3 {
    color: #42bdd8;
}
#function03 article#point01 img {
    display: block;
    margin: auto;
}
#function03 article .onethird {
    width: 28%;
}
#function03 article .onethird p {
    margin-bottom: 0;
}
#function03 article#point02 div:last-child {
    width: 34%;
}
#function03 article#point03 div.featpoint1 {
    background: #d3f0f6;
    padding: 40px 50px;
    margin-bottom: 100px;
}
#function03 article#point03 div.featpoint1 h5 {
    font-size: 23px;
    font-weight: 700;
}
#function03 article#point03 div.featpoint1 img {
    display: block;
    margin: auto;
}
#function03 article#point03 div.featpoint1 div.accountimage {
    background: #fff;
    position: relative;
    padding: 60px 40px 40px;
    margin-top: 50px;
}
#function03 article#point03 div.featpoint1 div.accountimage h6 {
    background: #42bdd8;
    position: absolute;
    left: 0;
    top: -5%;
    color: #fff;
    padding: 0.5em 2em 0.5em 1em;
    font-size: 20px;
    font-weight: 700;
    border-top-right-radius: 30px;
    border-bottom-right-radius: 30px;
}
#function03 article#point03 div.featpoint1 div.accountimage img {
    width: 100%;
}
#function03 article#point03 div.featpoint1 div.accountimage p {
    width: 30%;
    font-size: 14px;
    position: absolute;
    bottom: 40px;
    right: 40px;
    margin-bottom: 0;
}
#function03 article#point03 .p_05 .flex {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
}
#function03 article#point03 .p_05 {
    width: 100%;
    margin-bottom: 50px;
}
#function03 article#point03 .p_05 .flex figure {
    width: 46%;
}
#function03 article#point03 .p_05 .flex figure img {
    width: 100%;
}
#function03 article#point03 .p_05 .flex figure figcaption {
    font-size: 11px;
    text-align: center;
    margin-top: 0.5em;
}
#function03 article#point03 .p_05 .flex img.sign {
    position: absolute;
    width: 40%;
    left: 30%;
    top: 30%;
}
@media only screen and (min-width: 640px) {}
@media only screen and (max-width: 1000px) {
    nav.fanctions_navi {
        margin: 5vw auto;
    }
    nav.fanctions_navi a {
        height: 11vw;
        width: 11vw;
    }
    nav.fanctions_navi a::before {
        width: 5vw;
        height: 5vw;
        left: 3vw;
    }
    nav.fanctions_navi a span {
        font-size: 2.2vw;
        width: 50vw;
        left: 9vw;
    }
    nav.fanctions_navi a.active {
        width: 50%;
        justify-content: flex-start;
    }
    nav.fanctions_navi a.active span {
        opacity: 1;
    }
    section article {
        padding: 10vw 0;
    }
    #function01 #main {
        padding: 0 2vw;
    }
    #main h1 {
        font-size: 5vw;
    }
    #main p {
        font-size: 1.8vw;
    }
    #main div.mainphoto {
        padding-top: 2vw;
        margin-top: 3vw;
    }
    #main div.mainphoto h4 {
        width: 20vw;
        height: 20vw;
        font-size: 1.6vw;
    }
    #function01 #main div.mainphoto img {
        margin-top: 8vw;
    }
    #function01 #main div.mainphoto span {
        font-size: 1.2vw;
    }
    #main ul {
        margin-top: 10vw
    }
    #main ul li {
        border-radius: 10vw;
        padding: 1vw 4vw;
        height: 10vw;
        margin-bottom: 3vw;
        font-size: 2vw;
    }
    section.content {
        padding: 0 2vw;
    }
    section.content article {
        padding: 10vw 0 0;
    }
    section.content h3 {
        font-size: 2.8vw;
    }
    section.content p {
        margin-bottom: 3vw;
        font-size: 1.55vw;
        text-align: justify;
    }
    section.content .imageflex {
        margin-bottom: 5vw;
    }
    #function01 section.content .imageflex {
        margin: 0 auto 3vw;
    }
    #function01 section.content .imageflex figcaption.mark {
        width: 11vw;
        height: 11vw;
        font-size: 2.4vw;
    }
    #function01 section.content .imageflex figure figcaption:not(.mark) {
        font-size: 1.2vw;
    }
    #function01 section.content .imageflex.set02 div.text {
        border-radius: 1vw;
        padding: 2vw;
    }
    #function01 section.content .imageflex.set02 div.text::after {
        border-top: 2vw solid transparent;
        border-bottom: 2vw solid transparent;
        border-right: 6vw solid #6d9bcc;
        left: -10%;
        top: 40%;
    }
    #function01 section.content .imageflex.set02 div.text h4 {
        font-size: 2.2vw;
    }
    #function01 section.content .imageflex.set02 div.text p {
        font-size: 1.2vw;
    }
    #function01 section.content .imageflex.set02 {
        padding-right: 0
    }
    #function01 article#point02 div {
        margin-bottom: 5vw;
    }
    #function01 article#point02 div.p_01, #function01 article#point02 div.p_02 {
        padding-top: 4vw
    }
    #function01 article#point02 div h4 {
        font-size: 2.2vw;
        margin-bottom: 2vw;
    }
    #function01 article#point02 div.p_01 h4 {
        position: absolute;
        top: 0;
        left: 0;
        width: 1000px;
    }
    #function01 article#point02 div.p_01::after {
        content: '';
        clip-path: polygon(0 35%, 76% 35%, 76% 25%, 100% 50%, 76% 75%, 76% 65%, 0 65%);
        height: 14vw;
        right: -9.5%;
        top: 15%;
        z-index: 10
    }
    #function01 article#point02 div h4 mark {
        font-size: 2.8vw;
        width: 2.2vw;
        height: 2.2vw;
    }
    #function01 article#point02 div img {
        width: 80%;
    }
    #function01 article#point02 div p {
        width: 14vw;
        height: 14vw;
        font-size: 1.5vw;
    }
    /*function02*/
    #function02 #main {
        padding: 0 2vw;
    }
    #function02 #main article {
        padding-bottom: 30vw;
    }
    #function02 article#point02 > div {
        margin: 0 0 3vw;
    }
    #function02 article#point02 figcaption {
        font-size: 1.1vw;
    }
    #function02 article#point02 div.p_01 .features {
        padding: 2vw;
    }
    #function02 article#point02 div.p_01 .features p {
        margin: 0 0 2vw;
    }
    #function02 article#point02 div.p_02 figure.vector::before {
        width: 1.6vw;
        height: 2vw;
        right: -2vw;
        top: calc(50% - 2vw);
    }
    #function02 article#point02 div.p_02 figure img {
        height: 23.4vw;
    }
    #function02 article#point02 div.featpoint1 {
        padding: 5vw 3vw 3vw;
        margin: 5vw 0;
    }
    #function02 article#point02 div.featpoint1 h4 {
        top: -2.8vw;
        padding: 1vw 4vw;
        padding-left: 7.5vw;
        border-radius: 5vw;
        font-size: 2.3vw;
    }
    #function02 article#point02 div.featpoint1 h4::before {
        width: 8vw;
        height: 8vw;
        top: -1vw;
        left: -1.8vw;
    }
    #function02 article#point02 div.featpoint2 {
        padding: 5vw 3vw 3vw;
        margin: 5vw 0;
    }
    #function02 article#point02 div.featpoint2 h4 {
        top: -2.8vw;
        padding: 1vw 4vw;
        padding-left: 7.5vw;
        border-radius: 5vw;
        font-size: 2.3vw;
    }
    #function02 article#point02 div.featpoint2 h4::before {
        width: 8vw;
        height: 8vw;
        top: -1vw;
        left: -1.8vw;
    }
    #function02 article#point02 div.featpoint2 div.right {
        padding: 3vw;
    }
    #function02 article#point02 div.featpoint2 h5 {
        ;
        font-size: 2vw;
    }
    #function02 article#point02 div.featpoint2 div.right div.text01 {
        margin-bottom: 4vw;
    }
    #function02 article#point02 div.featpoint2 div.right div.text01 figure.yn figcaption {
        font-size: 1.2vw;
        margin: 0 0 1.6vw;
    }
    #function02 article#point02 div.featpoint2 div.right div.text01 figure.yn img {
        width: 48%;
    }
    #function02 article#point02 div.featpoint2 div.right div.text02 p {
        margin-bottom: 0.5em;
        font-size: 1.2vw;
        text-align: justify;
    }
    /*function03*/
    #function03 #main {
        padding: 0 2vw;
    }
    #function03 #main article {
        padding-bottom: 47vw;
    }
    #function03 article .onethird {
        width: 28%;
    }
    #function03 article .onethird p {
        margin-bottom: 0;
    }
    #function03 article#point02 div:last-child {
        width: 34%;
    }
    #function03 article#point03 div.featpoint1 {
        padding: 4vw 5vw;
        margin-bottom: 10vw;
    }
    #function03 article#point03 div.featpoint1 h5 {
        font-size: 2.3vw;
    }
    #function03 article#point03 div.featpoint1 img {
        display: block;
        margin: auto;
    }
    #function03 article#point03 div.featpoint1 div.accountimage {
        padding: 6vw 4vw 4vw;
        margin-top: 5vw;
    }
    #function03 article#point03 div.featpoint1 div.accountimage h6 {
        font-size: 2vw;
    }
    #function03 article#point03 div.featpoint1 div.accountimage p {
        font-size: 1.3vw;
        bottom: 4vw;
        right: 4vw;
    }
    #function03 article#point03 .p_05 .flex {
        width: 100%;
        /* padding-top: 15vw; */
    }
    #function03 article#point03 .p_05 .flex figure figcaption {
        font-size: 1.1vw;
    }
}
@media only screen and (max-width: 767px) {
    nav.fanctions_navi {
        margin: 0vw auto 9vw;
    }
    nav.fanctions_navi.bottom {
        padding-top: 0vw;
        margin-bottom: 12vw;
    }
    nav.fanctions_navi a {
        height: 11vw;
        width: 11vw;
        margin: 0 1vw
    }
    nav.fanctions_navi a::before {
        width: 5vw;
        height: 5vw;
        left: 3vw;
    }
    nav.fanctions_navi a span {
        font-size: 3.2vw;
        width: 55vw;
        left: 9vw;
        line-height: 1.4;
    }
    nav.fanctions_navi a.active {
        width: 65%;
    }
    nav.fanctions_navi a.link1.active {
        background-position: bottom right -15%;
    }
    nav.fanctions_navi a.link2.active {
        background-position: bottom -2% right -15%;
    }
    nav.fanctions_navi a.link3.active {
        background-position: bottom right -15%;
    }
    section article {
        padding: 13vw 0;
    }
    #function01 #main {
        padding: 0 3vw;
    }
    #function01 #main article {
        background-position: bottom right 10%;
        background-size: 37%;
    }
    #main h1 {
        font-size: 7vw;
        margin-bottom: 5vw;
    }
    #main p {
        font-size: 3.2vw;
        letter-spacing: 0
    }
    #main div.mainphoto {
        width: 50%;
        position: relative;
        padding-top: 0;
        margin-top: 7vw;
    }
    #main div.mainphoto h4 {
        width: 32vw;
        height: 32vw;
        font-size: 2.4vw;
    }
    #function01 #main div.mainphoto h4 {
        z-index: 0;
        top: 0;
        left: 0;
    }
    #function01 #main div.mainphoto img {
        /* position: absolute; */
        /* top: 25%; */
        left: -5%;
        width: 51vw;
        max-width: unset;
        height: auto;
        margin-top: 22vw;
    }
    #function01 #main div.mainphoto span {
        color: #fff;
        font-size: 2.4vw;
        position: absolute;
    }
    #function01 #main div.mainphoto span.L1 {
        bottom: 3%;
        left: 0%;
    }
    #function01 #main div.mainphoto span.L2 {
        width: 20vw;
        bottom: 14%;
        left: 58%;
    }
    #main ul {
        width: 50%;
        margin-top: 7vw;
    }
    #main ul li {
        padding: 2vw 2vw;
        height: unset;
        margin-bottom: 4vw;
        font-size: 2.9vw;
    }
    section.content {
        padding: 0 4vw;
    }
    section.content article {
        padding: 13vw 0 0;
    }
    section.content h3 {
        font-size: 5vw;
    }
    section.content p {
        width: 100%;
        margin-bottom: 6vw;
        font-size: 3.2vw;
    }
    section.content .imageflex {
        display: flex;
        width: 100%;
        flex-wrap: wrap;
        justify-content: space-between;
        margin-bottom: 50px;
        position: relative;
    }
    section.content .imageflex figure {
        width: 45%;
        max-width: unset;
    }
    #function01 section.content .imageflex figure figcaption:not(.mark), #function01 section.content figure figcaption:not(.mark) {
        font-size: 2.8vw;
        text-align: center;
        margin-top: 2vw;
    }
    #function01 section.content .imageflex {
        width: 100%;
        margin: 0 auto 3vw;
        padding: 0 5%;
    }
    #function01 section.content .imageflex.set01.pc {
        display: none;
    }
    #changescreen {
        flex-wrap: wrap;
        margin-bottom: 12vw;
    }
    #changescreen .btns {
        width: 100%;
        display: flex;
        justify-content: space-between;
        margin: 4vw 0 0;
    }
    #changescreen .btns a {
        display: block;
        width: 49%;
        background: #ccc;
        display: flex;
        align-items: center;
        padding: 1vw;
        border-radius: 8vw;
        color: #000;
    }
    #changescreen .btns a.on {
        background: #6d9bcc;
        color: #fff;
    }
    #changescreen .btns a mark {
        display: flex;
        align-items: center;
        justify-content: center;
        background: #fbdce8;
        width: 8vw;
        height: 8vw;
        border-radius: 50%;
        font-size: 2.8vw;
        font-weight: 700;
        margin-right: 2vw;
        line-height: 1;
    }
    #changescreen .btns a span {
        font-size: 3.2vw;
        font-weight: 500;
    }
    #function01 section.content .imageflex figcaption.mark {
        width: 110px;
        height: 110px;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        background: #fbdce8;
        border-radius: 50%;
        font-size: 24px;
        font-weight: 700;
        position: absolute;
        left: -11%;
        bottom: 3%;
    }
    #function01 section.content .imageflex.set02 {
        padding-right: 0;
        padding-left: 0;
        margin-bottom: 0;
    }
    #function01 section.content .imageflex.set02 figure {
        width: 100%;
        margin-bottom: 6vw;
    }
    #function01 section.content .imageflex.set02 div.text {
        width: 100%;
        padding: 3vw;
        position: relative;
    }
    #function01 section.content .imageflex.set02 div.text::after {
        border-top: 3vw solid transparent;
        border-bottom: 3vw solid transparent;
        border-right: 8vw solid #6d9bcc;
        border-left: 0;
        left: calc(50% - 3vw);
        top: -12%;
        transform: rotate(90deg)
    }
    #function01 section.content .imageflex.set02 img.sign {
        box-shadow: none;
        width: 12%;
        position: absolute;
        top: 9%;
        right: -0.5%;
    }
    #function01 section.content .imageflex.set02 div.text h4 {
        font-size: 4.6vw;
    }
    #function01 section.content .imageflex.set02 div.text p {
        font-size: 3vw;
    }
    #function01 section.content .imageflex.set02 div.text img {
        width: 22%;
    }
    #function01 article#point02 div {
        width: 100%;
        margin-top: 0;
        margin-bottom: 10vw;
    }
    #function01 article#point02 div h4 {
        font-size: 4.5vw;
        margin-bottom: 2vw;
        display: block;
        text-indent: -5vw;
        padding-left: 5vw;
    }
    #function01 article#point02 div h4 mark {
        font-size: 6vw;
        width: 4.5vw;
        height: 4.5vw;
        display: inline-block;
        margin-right: 0.5vw;
    }
   #function01 article#point02 div.p_01, #function01 article#point02 div.p_02 {
        padding-top:0
    }
    #function01 article#point02 div.p_01{
       margin-bottom: 16vw;
    }

    #function01 article#point02 div.p_01 h4 {
        position: static;
        width: 100%;
        line-height:1.4;
    }
    #function01 article#point02 div.p_01::after {
        content: '';
        transform:rotate(90deg);
        clip-path: polygon(50% 20%, 60% 20%, 60% 0%, 75% 50%, 60% 100%, 60% 80%, 50% 80%);
        height: 45vw;
        right: 33%;
        top:unset;
        bottom: -37%;
        z-index: 10
    }
    
    #function01 article#point02 div img {
        width: 90%;
    }
    #function01 article#point02 div p {
        width: 26vw;
        height: 26vw;
        font-size: 3vw;
        bottom: -8%;
    }
    /*function02*/
    #function02 #main {
        background: #b06caa;
        padding: 0 4vw;
    }
    #function02 #main div.mainphoto {
        /* margin-top: 0; */
    }
    #function02 #main article {
        background-size: 74%;
        padding-bottom: 40vw;
        background-position: bottom -2% right -20%;
    }
    #function02 #main div.mainphoto h4 {
        width: 32vw;
        height: 32vw;
        font-size: 2.4vw;
        position: relative;
        left: -2vw;
        top: 0vw;
    }
    #function02 #main div.mainphoto img {
        position: absolute;
        display: block;
        top: 34%;
        left: -4%;
        width: 145%;
        max-width: unset;
    }
    #function02 #main div.mainphoto span.L1 {
        bottom: -30%;
        left: 22%;
        font-size: 2.6vw;
    }
    #function02 article#point02 {
        padding-top: 10vw;
    }
    #function02 section.content p {
        margin-bottom: 4vw;
    }
    #function02 article#point02 > div {
        width: 100%;
        margin: 0 0 12vw;
    }
    #function02 article#point02 .flex {
        width: 100%;
        margin-bottom: 0;
    }
    #function02 article#point02 div figure img {
        width: 100%;
    }
    #function02 article#point02 figcaption {
        font-size: 2.6vw;
        margin-top: 0.5em;
    }
    #function02 article#point02 div.p_01 .flex figure {
        width: 40%;
    }
    #function02 article#point02 div.p_01 .flex figure img {
        width: 100%;
    }
    #function02 article#point02 div.p_01 .features {
        padding: 3vw;
    }
    #function02 article#point02 div.p_01 .features p {
        margin: 0 0 2vw;
        font-size: 3vw;
    }
    #function02 article#point02 div.p_02 figure {
        width: 29%;
    }
    #function02 article#point02 div.p_02 figure img {
        height: 45vw;
    }
    #function02 article#point02 div.p_02 figure.vector {
        width: auto;
        position: relative;
    }
    #function02 article#point02 div.p_02 figure.vector::before {
        width: 3vw;
        height: 4vw;
        right: -4vw;
        top: calc(50% - 8vw);
        z-index: 5
    }
    #function02 article#point02 div.p_02 figure.third {
        width: 31.5%;
    }
    #function02 article#point02 > div.p_04 p {
        margin-bottom: 12vw;
    }
    #function02 article#point02 > div.p_04 p:nth-child(6) {
        margin-bottom: 0;
    }
    #function02 article#point02 div.featpoint1 {
        padding: 10vw 3vw 3vw;
        margin: -4vw 0 12vw;
    }
    #function02 article#point02 div.featpoint1 h4 {
        position: absolute;
        left: -0px;
        top: -4.5vw;
        padding: 2vw 4vw;
        padding-left: 10vw;
        font-size: 4vw;
    }
    #function02 article#point02 div.featpoint1 h4::before {
        width: 12vw;
        height: 12vw;
        top: -1vw;
        left: -3vw;
    }
    #function02 article#point02 div.featpoint1 p, #function02 article#point02 div.featpoint1 img {
        width: 100%;
        margin: 0;
    }
    #function02 article#point02 div.p_05 figure {
        width: 46%;
    }
    #function02 article#point02 div.p_05 figure:nth-child(1) {
        width: 47.5%;
    }
    #function02 article#point02 div.p_06 span {
        display: block;
        font-weight: 500;
    }
    #function02 article#point02 div.p_06 span i {
        font-style: normal;
        color: #b06caa;
        font-weight: 500;
    }
    #function02 article#point02 div.featpoint2 {
        padding: 10vw 3vw 3vw;
        margin: 8vw 0;
    }
    #function02 article#point02 div.featpoint2 h4 {
        position: absolute;
        left: -0px;
        top: -4.5vw;
        padding: 2vw 4vw;
        padding-left: 10vw;
        font-size: 4vw;
    }
    #function02 article#point02 div.featpoint2 h4::before {
        width: 12vw;
        height: 12vw;
        top: -1vw;
        left: -3vw;
    }
    #function02 article#point02 div.featpoint2 div.left {
        width: 100%;
        margin-bottom: 8vw
    }
    #function02 article#point02 div.featpoint2 div.left img {
        width: 80%;
        display: block;
        margin: auto;
    }
    #function02 article#point02 div.featpoint2 div.right {
        width: 100%;
        padding: 3vw;
    }
    #function02 article#point02 div.featpoint2 h5 {
        font-size: 3.6vw;
    }
    #function02 article#point02 div.featpoint2 div.right div.text01 {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: flex-end;
        position: relative;
        margin-bottom: 6vw;
    }
    #function02 article#point02 div.featpoint2 div.right div.text01 figure.screen {
        position: relative;
        width: 37%;
    }
    #function02 article#point02 div.featpoint2 div.right div.text01 figure.screen img {
        width: 100%;
    }
    #function02 article#point02 div.featpoint2 div.right div.text01 figure.screen img.sign {
        /* position: absolute; */
        left: 6%;
        bottom: 5%;
        /* width: 110%; */
    }
    #function02 article#point02 div.featpoint2 div.right div.text01 figure.yn {
        width: 56%;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: flex-start;
    }
    #function02 article#point02 div.featpoint2 div.right div.text01 figure.yn figcaption {
        font-size: 2.6vw;
        text-align: justify;
        margin: 0 0 4.2vw;
        font-weight: 500;
    }
    #function02 article#point02 div.featpoint2 div.right div.text01 figure.yn img {
        width: 48%;
    }
    #function02 article#point02 div.featpoint2 div.right div.text02 p {
        margin-bottom: 0.5em;
        font-size: 12px;
        text-align: justify;
    }
    #function02 article#point02 div.featpoint2 div.right div.text02 img {
        width: 100%;
        filter: drop-shadow(3px 3px 3px rgb(0 0 0 / 20%));
    }
    /*function03*/
    #function03 #main {
        padding: 0 4vw;
    }
    #function03 #main article {
        padding-bottom: 60vw;
        background-image: url(/ocans/images/functions/C_illust_sp.svg);
        background-position: bottom 8% right 7%;
        background-size: 50%;
    }
    #function03 section.content p {
        margin-bottom: 4vw;
    }
    #function03 #main div.mainphoto {
        width: 44%;
    }
    #function03 #main div.mainphoto img {
        position: absolute;
        display: block;
        top: 46%;
        left: -51%;
        width: 160%;
        max-width: unset;
    }
    #function03 #main ul {
        width: 56%;
        margin-top: 6vw;
    }
    #function03 #main div.mainphoto span.L1 {
        bottom: -98%;
        left: 16%;
        font-size: 2.6vw;
    }
    #function03 section.content h3 br {
        /* display: none; */
    }
    #function03 article#point01 img {
        display: block;
        margin: auto;
    }
    #function03 article .onethird {
        width: 100%;
        margin-bottom: 12vw;
    }
    #function03 article .onethird p {
        margin-bottom: 0;
    }
    #function03 article#point02 div:last-child {
        width: 100%;
        margin-bottom: 0;
    }
    #function03 article#point03 div.featpoint1 {
        padding: 4vw;
        margin-bottom: 12vw;
    }
    #function03 article#point03 div.featpoint1 h5 {
        font-size: 4vw;
    }
    #function03 article#point03 div.featpoint1 div.accountimage {
        padding: 10vw 2vw 2vw;
        margin-top: 8vw;
    }
    #function03 article#point03 div.featpoint1 div.accountimage h6 {
        background: #42bdd8;
        position: absolute;
        left: 0;
        top: -7.5%;
        padding: 0.5em 2em 0.5em 1em;
        font-size: 3.6vw;
    }
    #function03 article#point03 div.featpoint1 div.accountimage p {
        width: 100%;
        font-size: 2.8vw;
        position: static;
        margin-top: 2vw
    }
    #function03 article#point03 .p_05 {
        margin-bottom: 8vw;
    }
    #function03 article#point03 .p_05 .flex figure {
        width: 46%;
    }
    #function03 article#point03 .p_05 .flex figure img {
        width: 100%;
    }
    #function03 article#point03 .p_05 .flex figure figcaption {
        font-size: 2.6vw;
    }
    #function03 article#point03 .p_05 .flex img.sign {
        position: absolute;
        /* width: 70%; */
        /* left: 15%; */
        top: 22%;
    }
}