
.p-generation__top-img {
    margin-bottom: var(--space-md);
    display: block;
}
.p-page-subtitle {
    text-align: center;
    font-size: 1.4rem;
    font-weight: 500;
}
.p-generation__content {
    background-color: var(--color-gray3);
    position: relative;
    padding: 2.5em 0;
    margin-bottom: 2.5em;
}
.p-generation__content::before {
    content: "";
    display: block;
    width: 100vw;
    height: 100%;
    background-color: var(--color-gray3);
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
}
.p-generation__lead1,
.p-generation__lead2,
.p-generation__lead3 {
    text-align: center;
    font-weight: 500;
}
.p-generation__lead1,
.p-generation__lead2 {
    font-size: 1.25em;
}
.p-generation__lead2 span {
    font-size: 1.375em
}
.p-generation__lead2 {
    margin-bottom: 3.2rem;
}
.p-generation__block {
    display: grid;
    gap: 1em;
    margin: 2em 0;
}
.p-generation__box {
    background-color: white;
    padding: 2.5em 1.4rem;
}
.p-generation__box .p-generation__box-ttl {
    font-size: 1.5rem;
    line-height: 1.6;
    text-align: center;
    font-weight: 500;
}
.p-generation__box figure {
    display: block;
    margin: 1em auto 0 0;
}
.p-aiservice__block {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5em;
    margin: 2em 0;
}
.p-aiservice__block img.img-plus {
    width: 2.5em;
}
.p-aiservice .c-button {
    margin: 2.5em auto 0 auto;
    display: block;
}
.p-aiservice__box {
    background-color: white;
    padding: .5em;
    text-align: center;
    padding: 2.5em 1.4rem;
}
.p-aiservice__box-ttl {
    background-color: #40AE9880;
    padding: .5em;
    font-size: 0.75em;
    text-align: center;
    margin: 1em 1em 0 1em;
}
.p-aiservice__point {
    display: flex;
    flex-direction: column;
    gap: 2.1rem;
    margin-top: 1.5em;
}
.p-aiservice__point li {
    display: block;
    text-align: center;
    background-color: #40AE9833;
    padding: 2em 1em;
}
.p-aiservice__point li p {
    font-size: 1.375em;
}
.p-aiservice__point li p strong {
    font-size: 3.2rem;
}
.p-point__content {
    display: flex;
    flex-direction: column;
    gap: 1.5em;
    margin-bottom: var(--space-md);
}
.p-point__block {
    background-color: #40AE9833;
    padding: 1.5em 1em;
}
.p-point__block .p-point__block-ttl {
    color: var(--color-green1);
    font-size: 2rem;
    display: flex;
    align-items: center;
    gap: 1.6rem;
}
.p-point__block .p-point__block-ttl span {
    display: inline-block;
    background-color: var(--color-green1);
    color: #fff;
    letter-spacing: 0;
    font-size: 2.4rem;
    width: 3.6rem;
    height: 3.6rem;
    line-height: 3.4rem;
    border-radius: 50%;
    text-align: center;
}
.p-point__txt {
    margin: 1em 0;
}
.p-point__txt .p-point__txt-ttl {
    font-size: 1.8rem;
    font-weight: 500;
}
.p-point__txt dd {
    margin-top: 1em;
}
.p-point__txt dd p {
    font-size: 1.5rem;
}
.p-risking {
    display: grid;
    gap: 1.5em;
}
.p-risking figure {
    display: block;
    margin: 1.5em auto;
}
.p-risking p {
    text-align: left;
    margin-top: 1em;
}
.p-risking dd ul {
    display: flex;
    flex-direction: column;
    gap: 1em;
}
.p-sv__content {
    display: grid;
    gap: 1.5em;
    margin-top: 2.5em;
}
.p-sv__box .p-sv__box-ttl {
    background-color: #40AE9880;
    padding: .5em;
    text-align: center;
}
.p-sv__box .p-sv__box-ttl span {
    font-size: 1.25em;
    font-weight: 500;
    display: block;
}
.p-sv__box dd {
    background-color: #ECEBEB;
    padding: 1.5em;
}
.p-cost__content {
    margin-top: var(--space-md);
}
.p-cost__lead {
    text-align: center;
    font-size: 1.375em;
    font-weight: 500;
}
.p-cost__block1 {
    position: relative;
    margin-top: 2.5em;
    margin-bottom: 6em;
}
.p-cost__block1::before {
    content: "";
    border-left: 3em solid transparent;
    border-right: 3em solid transparent;
    border-top: 3em solid var(--color-green1);
    position: absolute;
    bottom: -4.5em;
    left: 50%;
    transform: translateX(-50%);
}
.p-cost__block1 .p-cost__box:nth-child(1) {
    margin-bottom: 5em;
    position: relative;
}
.p-cost__block1 .p-cost__box:nth-child(1)::before {
    content: "";
    background-color: var(--color-green1);
    display: block;
    width: .5em;
    height: 2.5em;
    position: absolute;
    bottom: -3.75em;
    left: 50%;
    transform: translateX(-50%);
}
.p-cost__box dt {
    text-align: center;
    background-color: #40AE9880;
    font-size: 1.125em;
    font-weight: 500;
    padding: .25em;
}
.p-cost__box dd {
    font-size: 1.125em;
    background-color: #40AE981A;
    text-align: center;
    padding: 1.5em 1em;
}
.p-cost__box dd strong {
    font-weight: 500;
}
.p-cost__box .big {
    font-size: 4.6rem;
    line-height: 1.2;
}
.p-support-msg {
    display: block;
    border: 1px solid var(--color-gray1);
    padding: 2.5em 1em;
    text-align: center;
    margin: var(--space-md) 0;
}
.p-support-msg dt {
    font-weight: 500;
    font-size: 1.25em
}
.p-support-msg dd {
    margin-top: 1em;
}
.p-contact-block {
    background-color: #40AE981A;
    padding: 2.5em 1em;
}
.p-contact-block__ttl {
    font-size: 2.8rem;
    text-align: center;
}
.p-contact-block__lead {
    font-size: 1.5rem;
    margin: 2em 0;
}
.p-contact-block__btn {
    display: flex;
    flex-direction: column;
    gap: 1em;
}
.p-access {
    display: grid;
    gap: 1.5em;
}
.p-access .logo-digirise {
    margin: 0 1em;
    text-align: center;
}
.p-access .logo-digirise figure {
    width: 12em;
    margin: 1.5em auto 0 auto;
}
.p-access .c-button.--tel {
    margin-top: 1.5em;
}
.c-button.--tel {
    padding: 1rem 1.5em;
}
.c-button.--tel .telno {
    font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
    .c-page-title span {
        font-size: 1.375em;
    }
    .p-generation__top-img {
        width: 100vw;
        transform: translateX(-1em);
    }
    .p-contact-block__btn .c-button {
        width: 100%;
    }
    .p-access {
        width: 100vw;
        transform: translateX(-1em);
    }
    .u-map-wrap {
        width: 100%;
        margin: 0;
        transform: translateX(0);
    }
    .u-map-wrap iframe{
        height: 20rem;
    }
    .p-access .p-access__addr {
        text-align: center;
    }
    .p-risking p {
        font-size: 1.5rem;
    }
}
@media screen and (min-width: 768px) {
    .p-page-subtitle {
        font-size: 2.2rem;
    }
    .p-generation__content {
        padding: 7.5em 0  5em 0;
        margin-bottom: 7.5em;
    }
    .p-generation__lead1 {
        font-size: 1.75em;
    }
    .p-generation__lead1 span,
    .p-generation__lead2 span {
        font-size: 3.2rem;
    }
    .p-generation__lead2 {
        margin-bottom: 4rem;
    }
    .p-generation__lead3 {
        font-size: 1.125em;
    }
    .p-generation__lead2,
    .p-generation__lead3 span {
        font-size: 2.2rem;
    }
    .p-generation__block {
        grid-template-columns: repeat(4, 1fr);
        margin: 2.5em 0 5em 0;
    }
    .p-generation__box {
        padding: 2.5em .4rem;
    }
    .p-aiservice {
        background: white;
        padding: 2.5em 9.5rem;
        margin-top: 2.5em;
    }
    .p-aiservice__block {
        flex-direction: row;
        justify-content: space-between;
        margin: 0 0 2.5em 0;
    }
    .p-aiservice__box {
        width: 40rem;
        padding: 0;
    }
    .p-aiservice__box-ttl {
        font-size: 1.125em;
    }
    .p-aiservice__point {
        flex-direction: row;
    }
    .p-aiservice__point > * {
        flex: 1;
    }
    .p-point__content {
        gap: 2.5em;
    }
    .p-point__block {
        padding: 7.3rem 9rem;
        display: flex;
        align-items: center;
        gap: 2.5em;
    }
    .p-point__block:nth-child(even) {
        flex-direction: row-reverse;
    }
    .p-point__block picture {
        width: 36rem;
        flex-shrink: 0;
    }
    .p-point__block .p-point__block-ttl {
        font-size: 2.8rem;
        gap: 2.5rem;
    }
    .p-point__block .p-point__block-ttl span {
        font-size: 3.2rem;
        width: 5rem;
        height: 5rem;
        line-height: 4.8rem;
    }
    .p-point__txt {
        flex: 1;
        margin: 2em 0 0 0;
    }
    .p-point__txt .p-point__txt-ttl {
        font-size: 2.2rem;
    }
    .p-point__txt dd p {
        font-size: 1.8rem;
    }
    .p-risking {
        grid-template-columns: repeat(2, 1fr);
        gap: 1em;
    }
    .p-risking dd ul {
        flex-direction: row;
        gap: 2.25em;
        align-items: center;
        justify-content: center;
        margin-bottom: 3.25em;
    }
    .p-sv__content {
        grid-template-columns: repeat(3, 1fr);
        gap: 1em;
    }
    .p-cost__lead {
        font-size: 1.75em;
    }
    .p-cost__block1 .p-cost__box:nth-child(1) {
        margin-bottom: 0;
    }
    .p-cost__block1 .p-cost__box:nth-child(1)::before {
        bottom: auto;
        left: auto;
        width: 2.5em;
        height: .5em;
        top: 50%;
        right: -5.5em;
        transform: translate(-50%, 0);
    }
    .p-cost__block1 {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 2.5em;
        margin-bottom: 8.5em;
    }
    .p-cost__block1::before {
        bottom: -6.5em;
    }
    .p-cost__block1 .p-cost__box {
        width: 51.2rem;
    }
    .p-cost__box dd {
        padding: 2.5em;
    }
    .p-support-msg {
        padding: 2.5em 6em;
    }
    .p-contact-block {
        padding: 5em 9.4rem;
        margin: 5em 0 7.5em 0;
    }
    .p-contact-block__lead {
        font-size: 1.8rem;
        text-align: center;
    }
    .p-contact-block__btn {
        flex-direction: row;
        justify-content: center;
        gap: 2em;
    }
    .p-access {
        display: grid;
        grid-template-columns: 1fr min(56.4rem, 100%);
        grid-template-rows: auto auto;
        gap: 0 11rem;
    }
    .p-access .logo-digirise {
        grid-column: 1;
        grid-row: 1;
        margin: 0;
        text-align: left;
    }
    .p-access .logo-digirise figure {
        margin: 0;
    }
    .p-access .p-access__map {
        grid-column: 2;
        grid-row: 1 / 3;
    }
    .u-map-wrap iframe {
        height: 32rem;
    }
    .p-access .p-access__addr {
        grid-column: 1;
        grid-row: 2;
    }
}
