@charset "UTF-8";
section {
    padding: 6rem 0;
    font-size: 16px;
}
@media screen and (max-width: 768px) {
    section {
        padding: 4rem 0;
    }
}
.inner {
    width: min(90%, 1100px);
    line-height: 1.8;
    margin: 0 auto;
    text-align: center;
    letter-spacing: .1rem;
}
h2 {
    margin-bottom: 2rem;
    padding-top: 2.5rem;
    color: #1d409a;
    font-weight: bold;
    font-size: 37px;
}
@media screen and (max-width: 768px) {
    h2 {
        font-size: 6vw;
    }
}
h3 {
    line-height: 1.3;
    font-weight: bold;
    font-size: 34px;
}
.lg-page .note {
    display: block;
    line-height: 1.6;
    font-size: 70%;
    padding-left: 1.5em;
    text-indent: -1.5em;
    text-align: left;
}
@media screen and (max-width: 599px) {
    .lg-page .note {
        text-align: left !important;
    }
}
.p-bottom0 {
    padding-bottom: 0 !important;
}
.number {
    font-family: "Noto Sans JP", serif;
    font-optical-sizing: auto;
    font-style: normal;
}
@media screen and (min-width: 769px) {
    .sp {
        display: none;
    }
    .tb {
        display: none;
    }
}
@media screen and (max-width: 599px) {
    p {
        text-align: left;
    }
    .pc {
        display: none;
    }
    .tb {
        display: none;
    }
}
@media screen and (min-width: 599px) and (max-width: 840px) {
    .tb {
        display: block!important;
    }
}
/* .topMv
-------------------------------------- */
.topMv {
    background: #4BA5F5;
    color: #fff;
}
.topMv .wrap {
    position: relative;
}
.topMv .wrap::after {
    display: inline-block;
    position: absolute;
    bottom: -13rem;
    width: 100%;
    height: 17rem;
    background: url(../images/bg_topMv@2x.png) no-repeat center / 100% auto;
    content: "";
}
.topMv .inner {
    max-width: 1000px;
    text-align: left;
}
.topMv-txtArea {
    position: relative;
    z-index: 99;
}
.topMv-txtArea h1 {
    padding-bottom: 1rem;
    font-weight: bold;
}
.topMv-txtArea h1 span {
    display: block;
    padding-bottom: .5rem;
}
.topMv-txtArea h1 img {
	background:#FFF;
	padding: 2px;
}
.topMv-txtArea_txt {
    padding-bottom: 2rem;
    font-size: 14px;
}
.topMv-txtArea_list {
    display: flex;
    padding-left: .5rem;
    font-weight: bold;
    font-size: 13px;
    list-style-type: none;
}
.topMv-txtArea_list li {
    margin: 0 0 .5rem 0;
    padding: 0 .5rem;
    background: #fff;
    color: #4BA5F5;
}
.topMv-txtArea_list li:first-of-type {
    margin-right: 1rem;
}
.topMv-img {
    position: relative;
    z-index: 99;
    margin-top: -2rem;
}
.topMv-img img {
    position: absolute;
    top: -23rem;
    right: 0;
    z-index: 99;
    margin-top: -2rem;
}
@media screen and (max-width: 999px) {
    .topMv-img img {
        top: -19rem;
        width: 38vw;
    }
}
@media screen and (max-width: 768px) {
    .topMv {
        padding: 3rem 0 5rem;
    }
    .topMv-img img {
        width: 34vw;
    }
    .topMv .wrap::after {
        bottom: -9rem;
    }
}
@media screen and (max-width: 599px) {
    .topMv .inner {
        text-align: center;
    }
    .topMv .wrap::after {
        bottom: -12rem;
    }
    .topMv-txtArea h1 span {
        text-align: center;
        font-size: 3.5vw;
    }
    .topMv-txtArea h1 img {
        width: 90vw;
    }
    .topMv-txtArea img {
        width: 85vw;
    }
    .topMv-txtArea_txt {
        padding-bottom: 15rem;
    }
    .topMv-txtArea_list {
        justify-content: center;
        padding-left: 0;
    }
    .topMv-txtArea_list li {
        padding: 0 .3rem;
        white-space: nowrap;
    }
    .topMv-img {
        z-index: 0;
    }
    .topMv-img img {
        top: -21rem;
        right: 17%;
        width: 60vw;
    }
}

/* .topLead
-------------------------------------- */
.topLead {
    padding: 7rem 0 12rem 0;
}
.topLead-ttl {
    position: relative;
    z-index: 99;
    padding: 3rem 0;
    font-weight: bold;
    font-size: 37px;
    background: url(../images/ico_topLead@2x.png) no-repeat 44% 0 / 27px auto;
    text-align: center;
}
.topLead-ttl span {
    color: #4BA5F5;
}
.topLead-list {
    display: flex;
    justify-content: space-evenly;
    padding-bottom: 4rem;
}
.topLead-list dl {
    width: 18rem;
    padding: 19.5rem 0 0;
    background: url(../images/bg_topLead-list01@2x.png) no-repeat 44% 14% / 85% auto;
}
.topLead-list dl:nth-of-type(2) {
    background: url(../images/bg_topLead-list02@2x.png) no-repeat 44% 0 / 90% auto;
}
.topLead-list dl:nth-of-type(3) {
    background: url(../images/bg_topLead-list03@2x.png) no-repeat 44% 14% / 85% auto;
}
.topLead-list dl dt {
    color: #0f58bc;
    font-weight: bold;
    font-size: 21px;
}
.topLead-list dl dd {
    text-align: left;
}
.topLead-txt {
    line-height: 1.5;
    padding-bottom: 1rem;
    font-weight: bold;
    font-size: 30px;
}
.topLead-txt span {
    display: block;
    font-size: 59px;
}
.topLead p:last-of-type span {
    margin-right: .1rem;
    padding: .2rem;
    background: #0f58bc;
    color: #fff;
    font-weight: bold;
    white-space: nowrap;
}
@media screen and (max-width: 999px) {
    .topLead-list dl:nth-of-type(2) {
        background-position: 44% 10%;
    }
    .topLead-txt {
        font-size: 3vw;
    }
    .topLead-txt span {
        font-size: 6vw;
    }
}
@media screen and (max-width: 768px) {
    .topLead-list {
        display: inline-block;
        padding-bottom: 1.5rem;
    }
    .topLead-ttl {
        font-size: 7vw;
        line-height: 1.6;
        background-position: 70% 0;
    }
    .topLead-list dl {
        margin-bottom: 2rem;
        padding: 17rem 0 0;
    }
    .topLead-list dl,
    .topLead-list dl:nth-of-type(2),
    .topLead-list dl:nth-of-type(3) {
        background-size: 80% auto;
    }
}
@media screen and (max-width: 599px) {
    .topLead {
        padding-bottom: 9rem;
    }
    .topLead-txt {
        font-size: 4vw;
        text-align: center;
    }
    .topLead-txt span {
        padding-top: .3rem;
        font-size: 9vw;
    }
}

/* .about
-------------------------------------- */
.about {
    position: relative;
    padding-bottom: 1rem;
    background: #4BA5F5;
    color: #fff;
}
.about::before {
    content: "";
    display: inline-block;
    position: absolute;
    top: -10rem;
    width: 100%;
    height: 14rem;
    background: url(../images/bg_about@2x.png) no-repeat center / 100% auto;
}
.about h2 {
    background: url(../images/bg_about-h2@2x.png) no-repeat center 0 / 290px auto;
    color: #fff;
}
.about p {
    padding-bottom: 7rem;
}
.about p span {
    background: #fff;
    margin: 0 .1rem;
    padding: .2rem;
    color: #4BA5F5;
    font-weight: bold;
}
.about-list {
    display: flex;
    justify-content: space-evenly;
    flex-wrap: wrap;
    font-weight: bold;
}
.about-list dl {
    margin-bottom: 1rem;
}
.about-list dl dt {
    position: relative;
    width: 12rem;
    margin: 0 auto 2rem;
    padding: .5rem 1rem;
    background: #ff2e47;
    border-radius: 8px;
}
.about-list dl:nth-of-type(2) dt {
    background: #0f58bc;
}
.about-list dl dt .digicolle {
    display: block;
    position: absolute;
    top: -95%;
    left: -7%;
    width: 16rem;
    font-size: 20px;
    white-space: nowrap;
}
.about-list dl dt .digicolle::before,
.about-list dl dt .digicolle::after {
    display: block;
    position: absolute;
    top: 48%;
    width: 29px;
    height: 3px;
    background-color: #fff;
    content: "";
}
.about-list .digicolle::before {
    transform: rotate(50deg);
    left: -24px;
}
.about-list .digicolle::after {
    transform: rotate(-50deg);
    right: -24px;
}
.about-list dl dt .radial {
    background-image: radial-gradient(circle at center, #fff 20%, transparent 20%);
    background-position: top right;
    background-repeat: repeat-x;
    background-size: 1em 0.3em;
    padding-top: .4em;
}
.about-list dl dd {
    padding: 12rem 1.3rem 1.5rem 1.3rem;
    border-radius: 30px;
    color: #010334;
}
.about-list dl:nth-of-type(1) dd {
    float: left;
    background: #fff url(../images/bg_about-list01@2x.png) no-repeat 50% 20% / 140px auto;
}
.about-list dl:nth-of-type(1) dd:nth-of-type(2) {
    float: left;
    margin-left: 2.5rem;
    background: #fff url(../images/bg_about-list02@2x.png) no-repeat 50% 25% / 145px auto;
}
.about-list dl:nth-of-type(2) dd {
    background: rgba(255, 255, 255, 0.55) url(../images/bg_about-list03@2x.png) no-repeat 64% 23% / 113px auto;
}
.about-list dl:nth-of-type(2) {
    width: 14rem;
    clear: both;
    content: "";
}
@media screen and (max-width: 999px) {
    .about-list dl {
        margin-bottom: .1rem;
    }
    .about-list dl:nth-of-type(2) {
        width: 14rem;
    }
    .about-list dl dd {
        padding: 12rem .3vw 1.5rem .3vw;
    }
    .about-list dl:nth-of-type(1) dd:nth-of-type(2) {
        margin-left: .5rem;
    }
}
@media screen and (max-width: 768px) {
    .about::before {
        top: -9rem;
    }
    .about h2 {
        background-size: contain;
    }
    .about-list dl {
        margin-bottom: 3rem;
    }
    .about-list dl dd {
        margin-bottom: 2rem;
    }
}
@media screen and (max-width: 599px) {
    .about {
        padding-bottom: 0;
    }
    .about::before {
        top: -4rem;
        height: 5rem;
    }
    .about-list dl:nth-of-type(1) dd,
    .about-list dl:nth-of-type(1) dd:nth-of-type(2) {
        float: none;
    }
    .about-list dl:nth-of-type(1) dd:nth-of-type(2) {
        margin-left: 0;
    }
    .about-list dl dt {
        margin: 0 auto 1.5rem;
    }
    .about-list dl dd {
        padding: 12rem 1.3rem 1.5rem 1.3rem;
    }
}

/* .features
-------------------------------------- */
.features {
    padding: 10rem 0;
}
.features h2 {
    position: relative;
    background: url(../images/bg_features-h2@2x.png) no-repeat center 0 / 387px auto;
}
.features h2::after {
    content: "";
    display: inline-block;
    width: 52px;
    height: 35px;
    position: absolute;
    top: 8rem;
    right: 48%;
    background: url(../images/ico_features@2x.png) no-repeat center / contain;
}
.features h3 {
    font-size: 32px;
    line-height: 1.3;
}
.features h3 span {
    display: block;
    padding-bottom: .5rem;
    color: #0f58bc;
    font-size: 17px;
}
.features-list {
    padding: 4rem 3rem 0 3rem;
    list-style: none;
}
.features-list li {
    position: relative;
    text-align: left;
}
.features-list li p {
    padding-top: 1rem;
}
.features-list_in {
    position: absolute;
    top: 5rem;
    right: 0;
    width: 50%;
    float: right;
}
.features-list_speed,
.features-list_flexible {
    display: block;
    clear: both;
    content: "";
}
.features-list_service {
    padding: 5rem 0;
    background: url(../images/bg_features-service@2x.png) no-repeat center right 2rem / 38% auto
}
.features-list_cost {
    padding: 15rem 0;
    background: url(../images/bg_features-cost@2x.png) no-repeat center left 0 / 46% auto;
}
.features-list_speed {
    padding: 5rem 0;
    background: url(../images/bg_features-speed@2x.png) no-repeat center right 0 / 47% auto;
}
.features-list_risk {
    padding: 14rem 0;
    background: url(../images/bg_features-risk@2x.png) no-repeat center left 0 / 42% auto;
}
.features-list_flexible {
    padding: 5rem 0;
    background: url(../images/bg_features-flexible@2x.png) no-repeat center right 0 / 48% auto;
}
@media screen and (min-width: 1500px) {
    .features {
        padding: 15rem 0;
    }
}
@media screen and (max-width: 999px) {
    .features-list {
        padding: 4rem 0;
    }
    .features-list li {
        background-size: 36vw;
    }
    .features-list_speed p {
        max-width: 60%;
    }
}
@media screen and (max-width: 768px) {
    .features  {
        padding-bottom: 0;
    }
    .features h2::after {
        width: 42px;
        height: 30px;
        position: absolute;
        top: 7rem;
        right: 46%;
    }
    .features h2 {
        background-size: contain;
    }
    .features-list li {
        margin-bottom: 3rem;
        padding: 2rem 0 16.5rem 0;
        background-position: center bottom;
        background-size: 32vw;
        text-align: center;
    }
    .features-list_cost .features-list_in,
    .features-list_risk .features-list_in {
        display: inline-block;
        position: static;
        float: none;
        text-align: center;
        width: 100%;
    }
    .features-list_cost,
    .features-list_speed,
    .features-list_flexible {
        background-position: center bottom 1rem !important;
        background-size: 37vw !important;
    }
    .features-list_risk {
        padding-bottom: 16rem !important;
        margin-bottom: 1rem !important;
    }
    .features-list_speed p {
        max-width: 100%;
    }
}
@media screen and (max-width: 599px) {
    .features-list li {
        padding: 2rem 0 16rem 0;
        background-size: 61vw;
    }
    .features-list_cost,
    .features-list_speed,
    .features-list_flexible {
        background-position: center bottom 1rem !important;
        background-size: 65vw !important;
    }
    .features-list_risk {
        padding-bottom: 17rem !important;
        margin-bottom: 4rem !important;
    }
}

/* .services
-------------------------------------- */
.services {
    position: relative;
    padding-bottom: 10rem;
    background: #f6f6f6;
}
.services::before {
    content: "";
    display: inline-block;
    position: absolute;
    top: -12rem;
    width: 100%;
    height: 17rem;
    background: url(../images/bg_services@2x.png) no-repeat center / 100% auto;
}
.services h2 {
    background: url(../images/bg_services-h2@2x.png) no-repeat center 0 / 375px auto;
    margin-bottom: 4rem;
}
.services-list {
    position: relative;
    justify-content: center;
    display: grid;
    padding-bottom: 2rem;
    grid-template-columns: repeat(auto-fit, 18%);
    grid-gap: 2%;
}
.services-list dl {
    padding: 0 0 3rem 0;
    background-color: #fff;
    border-radius: 17px;
}
.services-list dl dt {
    padding: 0 0 9rem 0;
    color: #1d409a;
    font-weight: bold;
    font-size: 21px;
}
.services-list dl dt span {
    display: block;
    margin: 0 0 1rem 0;
    padding: .1rem;
    background: #1d409a;
    border-top-left-radius: 17px;
    border-top-right-radius: 17px;
    color: #fff;
    font-size: 16px;
}
.services-list_account {
    background: url(../images/bg_services-account@2x.png) no-repeat center 110px / 85px auto;
}
.services-list_finance {
    background: url(../images/bg_services-finance@2x.png) no-repeat center 104px / 96px auto;
}
.services-list_labor {
    background: url(../images/bg_services-labor@2x.png) no-repeat center 75px / 90px auto;
}
.services-list_admin {
    background: url(../images/bg_services-admin@2x.png) no-repeat center 78px / 84px auto;
}
.services-list_affairs {
    background: url(../images/bg_services-affairs@2x.png) no-repeat center 80px / 105px auto;
}
.services-list_labor,
.services-list_admin,
.services-list_affairs {
    margin: 2rem 0 0 0;
}
.services-list_labor dt,
.services-list_admin dt,
.services-list_affairs dt {
    padding-top: 1rem !important;
}
.services-list ul {
    padding-left: 1.6rem;
    text-align: left;
}
.services-list ul li::marker {
    color: #4BA5F5;
}
.services-list ul li:last-of-type{
    list-style-type: none;
}
.services-list ul li {
    letter-spacing: .05em;
}
.services-arrow {
    position: absolute;
    bottom: -1rem;
    left: 2rem;
}
@media screen and (max-width: 599px) {
    .services-arrow .pc-only {
        display: none;
    }
}
@media screen and (min-width: 600px) {
    .services-arrow .sp-only {
        display: none;
    }
}
@media screen and (max-width: 1250px) {
    .services-arrow {
        width: 90%;
    }
    .services-list {
        grid-template-columns: repeat(auto-fit, 19%);
        grid-gap: 1%;
    }
}
@media screen and (max-width: 999px) {
    .services-list {
        grid-template-columns: repeat(auto-fit, 13rem);
        column-gap: 1rem;
        row-gap: 0;
    }
    .services::before {
        top: -11rem;
    }
    .services-arrow p {
        background-position: center 107px;
        background-size: 630px auto;
        font-size: 18px;
    }
}
@media screen and (max-width: 768px) {
    .services h2 {
        background-size: contain;
    }
    .services::before {
        top: -5rem;
        width: 100%;
        height: 6rem;
    }
    .services-list_account {
        margin-bottom: 2rem;
    }
    .services-list dl {
        height: 520px;
    }
    .services-arrow p {
        background-position: -10px 120px;
        background-size: 492px auto;
        font-size: 16px;
    }
}
@media screen and (max-width: 599px) {
    .services-list {
        padding-bottom: 0;
        grid-template-columns: repeat(auto-fit, 80%);
    }
    .services::before {
        top: -3rem;
        width: 100%;
        height: 4rem;
    }
    .services-list dl {
        padding: 0 0 1rem 0;
    }
    .services-list dd {
        padding: 0 2rem;
    }
    .services-arrow {
        top: 3.5rem;
        left: -.5rem;
    }
}

/* .introducing
-------------------------------------- */
.introducing  {
    padding: 12rem 0 10rem 0;
}
.introducing h2 {
    background: url(../images/bg_introducing-h2@2x.png) no-repeat center 0 / 590px auto;
}
.introducing h3 {
    font-size: 22px;
    margin-bottom: 2rem;
}
.introducing-list {
    display: flex;
    justify-content: space-between;
    padding-top: 2rem;
    list-style-type: none;
    text-align: left;
}
.introducing-list li {
    width: 31%;
    padding-top: 16rem;
}
.introducing-list li {
    background: url(../images/bg_introducing-list01@2x.png) no-repeat center top / 225px auto;
}
.introducing-list li:nth-of-type(2) {
    background: url(../images/bg_introducing-list02@2x.png) no-repeat center top / 225px auto;
}
.introducing-list li:nth-of-type(3) {
    background: url(../images/bg_introducing-list03@2x.png) no-repeat center top / 225px auto;
}
.introducing-list dt {
    display: inline-block;
    margin-bottom: 1rem;
    padding: 0 2rem;
    background: #4BA5F5;
    border-radius: 15px;
    color: #fff;
    font-weight: bold;
    font-size: 15px;
}
.introducing-list dd {
    padding-bottom: 2rem;
}
@media screen and (min-width: 1500px) {
    .introducing {
        padding: 14rem 0 10rem 0;
    }
}
@media screen and (max-width: 999px) {
    .introducing-list li,
    .introducing-list li:nth-of-type(2),
    .introducing-list li:nth-of-type(3) {
        background-size: 210px auto;
    }
}
@media screen and (max-width: 768px) {
    .introducing {
        padding: 7rem 0 4rem 0;
    }
    .introducing h3 {
        text-align: center;
    }
    .introducing-list {
        display: block;
        width: 95%;
        margin: 0 auto;
    }
    .introducing-list li {
        padding: 14rem 0 1rem 0;
    }
    .introducing-list li,
    .introducing-list li:nth-of-type(2),
    .introducing-list li:nth-of-type(3) {
        width: 100%;
    }
}
@media screen and (max-width: 599px) {
    .introducing h2 {
        padding-top: 1.5rem;
        background-size: contain;
    }
    .introducing h3 {
        margin-bottom: 1rem;
    }
    .introducing-list {
        text-align: center;
    }
    .introducing-list dl {
        padding-bottom: 2rem;
    }
    .introducing-list dd {
        padding-bottom: 0;
        text-align: left;
    }
}

/* .examples
-------------------------------------- */
.examples {
    position: relative;
    background: #f6f6f6;
}
.examples::before {
    content: "";
    display: inline-block;
    position: absolute;
    top: -8rem;
    width: 100%;
    height: 12rem;
    background: url(../images/bg_examples@2x.png) no-repeat center / 100% auto;
}
.examples h2 {
    margin-bottom: 0;
    background: url(../images/bg_examples-h2@2x.png) no-repeat center 0 / 420px auto;
}
.lg-page .examples .note {
    padding-bottom: 6rem;
    text-align: center;
}
.examples-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    text-align: left
}
.examples-list dl {
    width: 31%;
}
.examples-list dl dt {
    margin-bottom: 1.5rem;
    border-bottom: 2px solid #1d409a;
    font-weight: bold;
}
.examples-list dl h3 {
    padding-bottom: 1.5rem;
    color: #1d409a;
    font-size: 20px;
}
.examples-list dl ul {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    margin-bottom: 1rem;
    list-style-type: none;
}
.examples-list dl ul li {
    display: inline-block;
    width: 8.5rem;
    padding: 2px 0;
    background: #4BA5F5;
    border-radius: 15px;
    color: #FFF;
    font-weight: bold;
    font-size: 14px;
    text-align: center;
    letter-spacing: .05em;
}
@media screen and (max-width: 999px) {
    .examples-list dl h3 {
        padding-bottom: .8rem;
    }
    .examples-list dl ul {
        justify-content: space-between;
        margin-bottom: 0;
    }
    .examples-list dl ul li {
        width: 8rem;
        margin-bottom: .5rem;
        font-size: 13px;
    }
}
@media screen and (max-width: 768px) {
    .examples {
        padding-bottom: 0;
    }
    .examples-list {
        display: block;
        width: 95%;
        margin: 0 auto;
    }
    .examples h2 {
        background-size: contain;
    }
    .lg-page .examples .note {
        padding-bottom: 4rem;
    }
    .examples-list dl {
        width: 100%;
        padding-bottom: 4rem;
    }
    .examples-list dl ul {
        justify-content: flex-start;

    }
    .examples-list dl ul li {
        margin-right: .5rem;
    }
}
@media screen and (max-width: 599px) {
    .examples::before {
        top: -2.5rem;
        height: 4rem;
    }
}

/* .industry
-------------------------------------- */
.industry {
    position: relative;
    background: #f6f6f6;
}
.industry::after {
    display: inline-block;
    position: absolute;
    bottom: -13rem;
    z-index: -99;
    width: 100%;
    height: 20rem;
    background: url(../images/bg_industry@2x.png) no-repeat center / 100% auto;
    content: "";
}
.industry h2 {
    margin-bottom: 0;
    background: url(../images/bg_industry-h2@2x.png) no-repeat center 0 / 415px auto;
}
.lg-page .industry .note {
    padding-bottom: 6rem;
    text-align: center;
}
.industry-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, 10rem);
    justify-content: center;
    grid-gap: 1rem;
    list-style-type: none;
}
.industry-list li {
    padding: 1.5rem 0;
    background: #4BA5F5;
    border-radius: 8px;
    color: #FFF;
    font-weight: bold;
    font-size: 14px;
}
@media screen and (max-width: 768px) {
    .industry h2 {
        background-size: contain;
    }
    .lg-page .industry .note {
        padding-bottom: 3rem;
    }
}
@media screen and (max-width: 599px) {
    .industry::after {
        bottom: -6rem;
        z-index: -99;
        height: 7rem;
    }
}

/* .plan
-------------------------------------- */
.plan {
    padding: 15rem 0 10rem 0;
}
.plan h2 {
    background: url(../images/bg_plan-h2@2x.png) no-repeat center 0 / 220px auto;
}
.plan p {
    padding-bottom: 4rem;
}
.plan-list {
    display: flex;
    justify-content: space-between;
    padding-bottom: 1rem;
    font-weight: bold;
}
.plan-list dl {
    width: 32%;
    background: #f6f6f6;
    border-radius: 8px;
}
.plan-list dl dt {
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    padding: 1rem 0;
    color: #fff;
    font-size: clamp(20px, 3vw, 30px);
}
.plan-list_30h dt {
    background: #4BA5F5;
}
.plan-list_50h dt {
    background: #057ad1;
}
.plan-list_70h dt {
    background: #1d409a;
}
.plan-list dl dd {
    margin: 0 1.5rem;
    padding-top: 1rem;
    color: #1d409a;
    font-size: 46px;
    line-height: 1.5;
    white-space: nowrap;
}
.plan-list dl dd.includ {
    padding: 0 0 2rem 0;
    font-size: 18px;
}
.plan-list dl dd .tax {
    padding: .2rem .8rem .1rem;
    margin-right: .4rem;
    border-radius: 15px;
    background: #1d409a;
    color: #fff;
    font-size: 35%;
}
.plan-list dl dd .yen {
    font-size: 60%;
    vertical-align: -10%;
}
.plan-list dl dd:first-of-type .number {
    vertical-align: bottom;
}
.lg-page .plan .note {
    text-align: right;
}
@media screen and (max-width: 1200px) {
    .plan-list dl dd {
        font-size: 3.3vw;
    }
}
@media screen and (max-width: 999px) {
    .plan-list dl {
        width: 33%;
    }
}
@media screen and (max-width: 768px) {
    .plan h2 {
        background-size: contain;
    }
    .plan-list dl dd.includ {
        font-size: 16px;
    }
}
@media screen and (max-width: 599px) {
    .plan {
        padding: 8rem 0 6rem;
    }
    .plan-list {
        display: block;
        display: block;
        width: 80%;
        margin: 0 auto;
    }
    .plan p {
        padding-bottom: 2rem;
    }
    .plan-list dl {
        width: 100%;
        margin-bottom: 2rem;
    }
    .plan-list .plan-list_70h {
        margin-bottom: 0;
    }
    .plan-list dl dt {
        padding: .5rem 0;
        font-size: 28px;
    }
    .plan-list dl dd {
        font-size: 35px;
    }
    .lg-page .plan .note {
        width: 90%;
        margin: 0 auto;
    }
}

/* .flow
-------------------------------------- */
.flow {
    position: relative;
    background: #4BA5F5;
}
.flow::before {
    display: inline-block;
    position: absolute;
    top: -11rem;
    width: 100%;
    height: 17rem;
    background: url(../images/bg_flow-before@2x.png) no-repeat center top / 100% auto;
    content: "";
}
.flow::after {
    display: inline-block;
    position: absolute;
    bottom: -11rem;
    width: 100%;
    height: 12rem;
    background: url(../images/bg_flow-after@2x.png) no-repeat center bottom / 100% auto;
    content: "";
}
.flow h2 {
    background: url(../images/bg_flow-h2@2x.png) no-repeat center 0 / 235px auto;
    color: #fff;
}
.flow-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, 19%);
    justify-content: space-between;
    column-gap: 1%;
    padding-top: 3rem;
    list-style-type: none;
}
.flow-list li {
    padding: 2rem 0 .5rem;
    background-color: #fff;
    border-radius: 8px;
}
.flow-list_01 {
    background: url(../images/bg_flow-list01@2x.png) no-repeat center 43% / 10vw auto
}
.flow-list_02 {
    background: url(../images/bg_flow-list02@2x.png) no-repeat center 45% / 11.5vw auto
}
.flow-list_03 {
    background: url(../images/bg_flow-list03@2x.png) no-repeat center 43% / 5.4vw auto
}
.flow-list_04 {
    background: url(../images/bg_flow-list04@2x.png) no-repeat 3.4rem 46% / 9vw auto
}
.flow-list_05 {
    background: url(../images/bg_flow-list05@2x.png) no-repeat center 45% / 8.5vw auto
}
.flow-list li h3 {
    position: relative;
    color: #1d409a;
    font-size: 18px;
}
.flow-list li h3 span{
    position: absolute;
    top: -3.5rem;
    right: 40%;
    width: 40px;
    height: 40px;
    padding-top: 8px;
    background: #057ad1;
    border-radius: 50%;
    color: #fff;
    text-align: center;
    box-sizing: border-box;
}
.flow-list li p {
    padding: 10.5rem 1rem 0 1rem;
    line-height: 1.5;
    text-align: left;
}
.flow-list li p span {
    display: block;
    font-size: 65%;
}
.flow-list_01 p {
    position: relative;
}
.lg-page .flow-list_01 .note {
    position: absolute;
    bottom: -4rem;
    left: -0;
    width: 120%;
    color: #fff;
}
@media screen and (min-width: 1400px) {
    .flow-list_01 {
        background-size: 140px auto;
    }
    .flow-list_02 {
        background-size: 161px auto;
    }
    .flow-list_03 {
        background-size: 76px auto;
    }
    .flow-list_04 {
        background-size: 126px auto;
    }
    .flow-list_05 {
        background-size: 119px auto;
    }
}
@media screen and (max-width: 1250px) {
    .flow::before  {
        top: -8rem;
        height: 11rem;
    }
    .flow::after {
        bottom: -8rem;
        height: 10rem;
    }
}
@media screen and (max-width: 999px) {
    .flow::before  {
        top: -6rem;
        height: 8rem;
    }
    .flow::after {
        bottom: -6rem;
        height: 8rem;
    }
    .flow-list {
        grid-template-columns: repeat(auto-fit, 13rem);
        justify-content: center;
        row-gap: 5rem;
    }
    .lg-page .flow-list_01 .note {
        bottom: -3rem;
    }
    .flow-list_01 {
        background-size: 8rem auto;
    }
    .flow-list_02 {
        background-size: 9rem auto;
    }
    .flow-list_03 {
        background-size: 4.5rem auto;
    }
    .flow-list_04 {
        background-size: 7.5rem auto;
    }
    .flow-list_05 {
        background-size: 7rem auto;
    }
}
@media screen and (max-width: 768px) {
    .flow::before  {
        top: -4.5rem;
        height: 6rem;
    }
    .flow::after {
        bottom: -5rem;
        height: 6rem;
    }
    .flow h2 {
        background-size: contain;
    }
}
@media screen and (max-width: 599px) {
    .flow::before {
        top: -3rem;
        height: 3.5rem;
    }
    .flow::after {
        bottom: -3rem;
        height: 4rem;
    }
    .flow-list {
        grid-template-columns: repeat(auto-fit, 15rem);
        row-gap: 3rem;
    }
    .flow-list li {
        padding: 2rem 0;
    }
    .flow-list li h3 {
        font-size: 20px;
    }
    .flow-list li h3 span {
        right: 43%;
    }
    .lg-page .flow-list_01 .note {
        left: -2rem;
        bottom: -3.5rem;
        text-align: center;
        white-space: nowrap;
    }
}

/* .faq
-------------------------------------- */
.faq {
    padding: 13rem 0;
}
.faq h2 {
    background: url(../images/bg_faq-h2@2x.png) no-repeat center 0 / 170px auto;
}
.faq-list {
    font-weight: bold;
    text-align: left;
}
.faq-list:not([open]) {
    margin-bottom: 1rem;
}
.faq-list summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: .8em 2em .8rem 3rem;
    background: #4ba5f5;
    color: #fff;
    font-size: clamp(16px, 2vw, 20px);
    text-indent: -1.4em;
    cursor: pointer;
}
.faq-list summary::-webkit-details-marker {
    display: none;
}
.faq-list summary::before,
.faq-list summary::after {
    content: '';
    width: 3px;
    height: .9em;
    background-color: #fff;
    border-radius: 5px;
}
.faq-list summary::before {
    position: absolute;
    right: 2em;
    rotate: 90deg;
}
.faq-list summary::after {
    transition: rotate .3s;
}
.faq-list[open] summary::after {
    rotate: 90deg;
}
.faq-list .faq-list_txt {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    color: #333333;
    transition: transform .5s, opacity .5s;
    padding: 1rem 3rem 3rem 5rem;
    text-indent: -2rem;
}
.faq-list[open] .faq-list_txt {
    transform: none;
    opacity: 1;
}
@media screen and (max-width: 999px) {
}
@media screen and (max-width: 768px) {
    .faq h2 {
        background-size: contain;
    }
}
@media screen and (max-width: 599px) {
    .faq {
        padding: 6rem 0;
    }
    .faq-list .faq-list_txt {
        padding: 1rem 2rem 3rem 3rem;
    }
}

/* .contactArea
-------------------------------------- */
.contactArea {
    position: relative;
    color: #fff;
    font-weight: bold;
    font-size: 22px;
    letter-spacing: .1rem;
}
.contactArea .wrap {
    position: relative;
    z-index: 99999;
    padding: 4rem 0;
    background: #4BA5F5;
}
.contactArea .inner {
    background: url(../images/bg_contactArea01@2x.png) no-repeat center / contain;
}
.contactArea p {
    padding-bottom: 20px;
    line-height: 1.5;
    text-align: center;
}
.contactArea .inner a {
    position: relative;
    display: inline-block;
    padding: .9rem 5rem .9rem 10rem;
    background: #ff2e47;
    border-radius: 40px;
    color: #fff;
    text-decoration: none;
    transition: .2s;
}
.contactArea .inner a:hover {
    background: #e7031d;
    transition: .2s;
}
.contactArea .inner a::before {
    content: "";
    display: inline-block;
    width: 151px;
    height: 171px;
    position: absolute;
    bottom: -9px;
    left: 26px;
    background: url(../images/bg_contactArea02@2x.png) no-repeat center / contain;
    transition: .3s;
}
.contactArea .inner a:hover::before {
    width: 154px;
    bottom: -7px;
    transition: .3s;
}
.contactArea .inner a::after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 40%;
    right: 11%;
    width: 10px;
    height: calc(tan(60deg)* 18px / 2);
    background: #fff;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.contactArea .btn_txt {
	margin-top: 80px;
	font-size:20px;
}
.contactArea .btn_txt a{
	color:#FFF;
}
@media screen and (max-width: 599px) {
.contactArea .btn_txt {
	font-size:17px;
}
}
@media screen and (max-width: 599px) {
    .contactArea .inner {
        background-position: center top;
    }
    .contactArea {
        font-size: 20px;
    }
    .contactArea .wrap {
        padding: 2rem 0;
    }
    .contactArea .inner a {
        padding: 1rem .9rem 1rem 6.5rem;
        background: #ff2e47;
    }
    .contactArea .inner a::before {
        width: 90px;
        height: 84px;
        position: absolute;
        bottom: 0;
        left: 18px;
    }
    .contactArea .inner a:hover::before {
        width: 90px;
        bottom: 0;
    }
    .contactArea .inner a::after {
        content: none;
    }
}

/* .contact01 */
.contact01::after {
    content: "";
    display: inline-block;
    position: absolute;
    bottom: -11rem;
    width: 100%;
    height: 15rem;
    background: url(../images/bg_contact01@2x.png) no-repeat center / 100% auto;
}
@media screen and (max-width: 768px) {
    .contact01 {
        padding-bottom: 3rem;
        background: #4BA5F5;
    }
    .contact01::after {
        bottom: -6rem;
        width: 100%;
        height: 9rem;
    }
}

/* .contact02 */
.contact02::before {
    content: "";
    display: inline-block;
    position: absolute;
    top: -7rem;
    width: 100%;
    height: 17rem;
    background: url(../images/bg_contact02-before@2x.png) no-repeat center top / 100% auto;
}
.contact02::after {
    content: "";
    display: inline-block;
    position: absolute;
    bottom: -13rem;
    width: 100%;
    height: 14rem;
    background: url(../images/bg_contact02-after@2x.png) no-repeat center top / 100% auto;
}
@media screen and (max-width: 999px) {
    .contact02::before {
        top: -5rem;
        height: 6rem;
    }
}
@media screen and (max-width: 768px) {
    .contact02::before {
        top: -4rem;
    }

}
@media screen and (max-width: 599px) {
    .contact02::before {
        top: -2rem;
        height: 3rem;
    }
    .contact02::after {
        bottom: -3rem;
        height: 3rem;
    }

}

/* .contact03 */
.contact03 {
    padding-bottom: 11rem;
    background: #f7f8fb;
}
.contact03::before {
    content: "";
    display: inline-block;
    position: absolute;
    top: -8rem;
    width: 100%;
    height: 11rem;
    background: url(../images/bg_contact03-before@2x.png) no-repeat center top / 100% auto;
}
.contact03::after {
    content: "";
    display: inline-block;
    position: absolute;
    bottom: 0rem;
    width: 100%;
    height: 16rem;
    background: url(../images/bg_contact03-after@2x.png) no-repeat center bottom / 100% auto;
}



@media screen and (min-width: 1500px) {
    .topMv .wrap::after {
        bottom: -15rem;
        height: 21rem;
    }
    .about::before {
        top: -14rem;
        height: 19rem;
    }
    .contact01::after {
        bottom: -16rem;
        height: 20rem;
    }
    .services::before {
        top: -14rem;
    }
    .contact02::before {
        top: -10rem;
    }
    .contact02::after {
        bottom: -14rem;
        height: 15rem;
    }
    .examples::before  {
        top: -11rem;
        height: 16rem;
    }
    .industry::after {
        bottom: -15rem;
        height: 26rem;
    }
    .flow::before {
        top: -13rem;
    }

    .flow::after {
        bottom: -13rem;
        height: 15rem;
    }
    .contact03::before {
        top: -9rem;
    }
    .contact03::after {
        z-index: 9999;
        bottom: -2rem;
        height: 19rem;
    }
}
@media screen and (max-width: 1250px) {
    .contact03::before {
        top: -6rem;
        height: 11rem;
    }
    .contact03::after {
        bottom: 3rem;
        height: 11rem;
    }
}
@media screen and (max-width: 999px) {
    .contact03::before {
        top: -5rem;
        height: 7rem;
    }
    .contact03::after {
        bottom: 4.5rem;
        height: 9rem;
    }
}
@media screen and (max-width: 768px) {
    .contact03::before {
        top: -4rem;
        height: 5rem;
    }
    .contact03::after {
        bottom: 6rem;
        height: 6rem;
    }
}
@media screen and (max-width: 599px) {
    .contact03 {
        padding-bottom: 4rem;
    }
    .contact03::before {
        top: -2rem;
        height: 3rem;
    }
    .contact03::after {
        bottom: 1rem;
        height: 4rem;
    }
}

/* .inquiry-btn
-------------------------------------- */
.inquiry {
    position: fixed;
    bottom: 7.8rem;
    right: 1rem;
    z-index: 999999;
    width: 100vw;
}
.inquiry-btn {
    position: relative;
    text-align: right;
}
.inquiry-btn a {
    display: inline-block;
    padding: 1.5rem 4.5rem 1.5rem 3.5rem;
    background: #ff2e47;
    border-radius: 55px;
    color: #fff;
    font-weight: bold;
    font-size: 21px;
    box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
    text-decoration: none;
    transition: .2s;
}
.inquiry-btn a::after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 40%;
    right: 3%;
    width: 10px;
    height: calc(tan(60deg)* 18px / 2);
    background: #fff;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.inquiry-btn::before {
    content: "";
    display: inline-block;
    position: absolute;
    top: -3.5rem;
    right: 13rem;
    width: 10rem;
    height: 8rem;
    background: url(../images/bg_inquiry-btn@2x.png) no-repeat center top / contain;
}
.inquiry-btn a:hover {
    margin-bottom: .1rem;
    background: #e7031d;
    transition: .2s;
}
.hidden {
    animation: fade .2s ease-in-out forwards;
    pointer-events: none;
}
@keyframes fade {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}
.visible {
    animation: fadeOut .2s ease-in-out forwards;
    pointer-events: all;
}
@keyframes fadeOut {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
@media screen and (max-width: 999px) {
    .inquiry {
        bottom: 5.4rem;
    }
}
@media screen and (max-width: 599px) {
    .inquiry-btn::before {
        top: -3rem;
        right: 8.4rem;
        width: 8rem;
        height: 8rem;
    }
    .inquiry-btn a {
        padding: 1rem 3.5rem 1rem 2.5rem;
        font-size: 14px;
    }
    .inquiry-btn a::after {
        top: 35%;
        right: 5%;
    }
}
