.ippo {
    --color-01: #001e6f;
    font-weight: 500
}

.ippo [class*="js-anm"] {
    opacity: 0
}

.ippo a {
    transition: opacity .2s
}

.ippo a:hover {
    opacity: .7 !important
}

.ippo img {
    width: 100%;
    height: auto;
    display: block
}

.ippo sup {
    vertical-align: baseline;
    position: relative;
    top: -0.75em;
    line-height: 0
}

.ippo-kv {
    position: relative
}

.ippo-inner {
    max-width: 1200px;
    padding: 0 10px;
    margin: 0 auto
}

.ippo-inner--02 {
    max-width: 1136px;
    padding: 0 10px;
    margin: 0 auto
}

.ippo-kv__box {
    position: relative;
    overflow: hidden;
    height: 0;
    padding: 0 0 42.7%;
    opacity: 0
}

.ippo-kv__tl {
    z-index: 1;
    width: 37.0%;
    margin: 14.8% 0 0 31.5%
}

.ippo-kv__tl-text {
    position: relative;
    z-index: 2
}

.ippo .ippo-kv__tl-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    mix-blend-mode: overlay;
    z-index: 1
}

.ippo-kv__copy {
    position: relative;
    z-index: 1;
    width: 35.5%;
    margin: 1.1% 0 0 32.25%
}

.ippo-kv__img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.ippo-kv__img-wrap-01 {
    position: absolute;
    top: 0;
    left: -0.45%;
    width: 73.9%;
    clip-path: polygon(0 0,42.3% 0,100% 100%,0% 100%);
    height: 100%
}

.ippo .ippo-kv__img-01 {
    width: auto;
    height: 100%
}

.ippo-kv__img-wrap-02 {
    position: absolute;
    top: 0;
    right: 0;
    overflow: hidden;
    height: 100%;
    width: 64.8%;
    clip-path: polygon(0 0,100% 0,100% 100%,65.6% 100%)
}

.ippo .ippo-kv__img-02 {
    width: auto;
    height: 100%
}

.ippo-kv__office {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: -32px
}

.ippo-kv__office img {
    width: 266px
}

.ippo-kv__office p {
    font-weight: 400;
    font-size: 24px;
    line-height: 140%;
    text-align: center;
    color: #333
}

.ippo-nav {
    background: #f0f3f6;
    padding-block:32px;margin-block-end:90px}

.ippo-nav__ctn {
    display: flex;
    justify-content: center;
    gap: 24px;
    flex-wrap: wrap
}

.ippo-nav__item {
    width: 488px
}

.ippo-nav__link {
    display: flex
}

.ippo .ippo-nav__link-img {
    width: 258px;
    object-fit: cover
}

.ippo-nav__link-text {
    background: #001e6f;
    color: #fff;
    display: block;
    font-size: 18px;
    line-height: 140%;
    font-weight: 700;
    flex-grow: 1;
    position: relative;
    display: flex;
    align-items: center;
    padding-left: 24px
}

.ippo-nav__link-text::after {
    content: "";
    background: url(//p2-nec.static.pub/resource/NEC_Public_Resource/shop/pc/student/assets/images/arrow.png) no-repeat 0 0/ 100% auto;
    width: 28px;
    height: 28px;
    position: absolute;
    right: 0;
    bottom: 0;
    margin: 13px
}

.ippo-always-safe {
    max-width: 1000px;
    line-height: 1;
    font-feature-settings: "palt";
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    align-items: center;
    padding: 0 10px;
    margin-bottom: -22px
}

.ippo-always-safe__text-item {
    margin-left: min(3.958333333vw,76px);
    box-sizing: border-box
}

.ippo-always-safe__tl {
    color: var(--color-01);
    font-size: 2.5rem;
    line-height: 2;
    letter-spacing: .16em;
    padding: 36px 0 0
}

.ippo-always-safe__points {
    color: var(--color-01);
    font-weight: bold;
    margin: 2.1em -2% 0 1.6%;
    letter-spacing: .3em
}

.ippo-always-safe__point {
    font-size: 1.834rem;
    display: flex;
    margin: 0 0 1.35em
}

.ippo-always-safe__point::before {
    content: "";
    background: url(//p4-nec.static.pub/resource/NEC_Public_Resource/shop/pc/student/assets/images/sec01_icon.png) no-repeat 0 .1em/100% auto;
    display: inline-block;
    width: .77em;
    margin: 0 .4em 0 0
}

.ippo-always-safe__img {
    width: 50%
}

.ippo-lineup {
    margin-bottom: 120px
}

.ippo-lineup div.isotope.pc-lineup .ippo-lineup__ttl {
    font-weight: 700;
    font-size: 38px;
    line-height: 140%;
    text-align: center;
    color: var(--color-01);
    margin-block:112px 40px}

.container {
    width: auto;
    max-width: none
}

.ippo-365 {
    background: #ede6d1;
    padding-block:112px}

.ippo-365 a {
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
    text-decoration: underline !important
}

.br-sp{
    display: none;
}

@media(any-hover: hover) {
    .ippo-365 a:hover {
        text-decoration:none
    }
}

.ippo-365__head-tl-area {
    display: grid;
    grid-template-rows: auto auto;
    grid-template-columns: auto auto;
    align-items: center;
    row-gap: 12px
}

.ippo-365__head-tl {
    grid-row: 2/3;
    grid-column: 1/2;
    padding-inline:32px;font-weight: 700;
    font-size: 44px;
    line-height: 140%;
    color: #000
}

.ippo-365__head-tl small {
    font-size: 36px
}

.ippo-365__head-logo {
    grid-row: 1/2;
    grid-column: 1/2;
    max-width: 320px
}

.ippo-365__head-pc {
    grid-row: 1/3;
    grid-column: 2/3;
    max-width: 440px
}

.ippo-360__point {
    margin-block:32px}

.ippo-360__point li {
    font-weight: 700;
    font-size: 24px;
    line-height: 140%;
    color: #000
}

.ippo-365-appeal {
    margin-block-start:112px}

.ippo-365-appeal__tl {
    font-weight: 700;
    font-size: 38px;
    line-height: 140%;
    color: #000;
    margin-block-end:8px}

.ippo-365-appeal__description {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap
}

.ippo-365-appeal__copilot {
    display: flex;
    align-items: center;
    justify-content: center
}

.ippo .ippo-365-appeal__copilot-icon {
    width: 120px
}

.ippo-365-appeal__copilot-text {
    font-weight: 700;
    font-size: 20px;
    line-height: 140%;
    color: #000
}

.ippo-365-appeal__qr {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-inline:auto 32px}

.ippo-365-appeal__qr-text {
    font-weight: 400;
    font-size: 16px;
    line-height: 140%;
    text-align: right;
    color: #000
}

.ippo .ippo-365-appeal__qr-img {
    width: 90px
}

.ippo-365-products {
    margin-block:32px;display: flex;
    gap: 24px
}

.ippo-365-products__item {
    width: calc(100% / 3)
}

.ippo-365-products__item-name {
    margin-block:16px 4px;font-weight: 700;
    font-size: 28px;
    line-height: 140%;
    color: #000
}

.ippo-365-products__item-description {
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    color: #000
}

.ippo-365-service {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap
}

.ippo-365-service__item {
    width: 50%;
    min-height: 215px;
    padding-block:30px;display: flex;
    align-items: center;
    gap: 24px;
    box-sizing: border-box
}

.ippo-365-service__item:nth-child(-n+2) {
    border-bottom: solid 2px #fff
}

.ippo-365-service__item:nth-child(2n) {
    border-left: solid 2px #fff
}

.ippo .ippo-365-service__item-icon {
    width: 100px;
    margin-inline-start:32px}

.ippo-365-service__item>dl {
    margin-inline-end:30px}

.ippo-365-service__item-name {
    font-weight: 700;
    font-size: 26px;
    line-height: 140%;
    color: #000
}

.ippo-365-service__item-name>span {
    font-size: inherit;
    font-weight: inherit;
    color: inherit
}

.ippo-365-service__item-description {
    margin-block-start:4px;font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    color: #000
}

.ippo-365-appeal__annotation {
    margin-block:16px}

.ippo-365-appeal__annotation li {
    font-weight: 400;
    font-size: 14px;
    line-height: 140%;
    color: #000
}

@media(min-width: 769px) {
    .ippo-for-sp {
        display:none !important
    }

    .ss-for-sp {
        display: none !important
    }

   
}

@media screen and (max-width: 768px) {
    .ippo {
        --font-s:3.467vw;
        -webkit-text-size-adjust: 100%
    }

     .br-sp{
    display: block;
}

    .ippo-for-pc {
        display: none !important
    }

    .ss-for-sp {
        display: block
    }

    .ippo-inner,.ippo-inner--02 {
        width: 83.58974359vw;
        padding: 0
    }

    .ippo-kv__box {
        padding-bottom: 120%
    }

    .ippo-kv__tl {
        width: 48.267%;
        margin: 10.8% 0 0 6.9%
    }

    .ippo .ippo-kv__tl-bg {
        display: none
    }

    .ippo-kv__copy {
        position: absolute;
        bottom: 0;
        right: 0;
        margin: 0 0 -7.2% 0;
        width: 46.3%
    }

    .ippo-kv__img-wrap-01 {
        width: 100%;
        clip-path: polygon(0 16.78%,100% 100%,0% 100%)
    }

    .ippo .ippo-kv__img-01 {
        width: 100%;
        height: 83%;
        margin: 20.2% 0 0 0;
        object-fit: cover
    }

    .ippo-kv__img-wrap-02 {
        width: 100%;
        clip-path: polygon(0 0,100% 0,100% 95.2%,0% 12.1%)
    }

    .ippo .ippo-kv__img-02 {
        width: 100%;
        height: 96%;
        margin: 0% 0 0 0;
        object-fit: cover
    }

    .ippo-kv__office {
        width: 100%;
        padding: 1.538461538vw 0 8.205128205vw;
        flex-direction: column;
        margin-inline:auto}

    .ippo-kv__office img {
        width: 52.05128205vw
    }

    .ippo-kv__office p {
        font-weight: 400;
        font-size: 4.615384615vw;
        line-height: 140%;
        text-align: center;
        color: #333
    }

    .ippo-nav {
        padding: 8.205128205vw;
        margin-block-end:0}

    .ippo-nav__ctn {
        flex-direction: column;
        gap: 3.58974359vw
    }

    .ippo-nav__item {
        width: 100%
    }

    .ippo .ippo-nav__link-img {
        width: 42.56410256vw
    }

    .ippo-nav__link-text {
        font-size: 3.076923077vw;
        padding-left: 4.615384615vw
    }

    .ippo-nav__link-text::after {
        width: 4.615384615vw;
        height: 4.615384615vw;
        margin: 2.051282048vw
    }

    .ippo-always-safe {
        flex-direction: column-reverse;
        padding: 0;
        margin-block:8.205128205vw 20.51282051vw}

    .ippo-always-safe__text-item {
        width: 100%;
        padding: 0px 9.4% 0;
        margin: 0
    }

    .ippo-always-safe__tl {
        font-size: 1.731em;
        font-size: calc(var(--font-s) * 1.731);
        padding: 12.4% 0 0
    }

    .ippo-always-safe__points {
        margin: 1.6em 0 0 1.6%;
        letter-spacing: .14em
    }

    .ippo-always-safe__point {
        font-size: 1.27em;
        font-size: calc(var(--font-s) * 1.27);
        margin-right: -9%
    }

    .ippo-always-safe__img {
        width: 100%
    }

    .ippo-lineup {
        margin-bottom: 5.641025641vw
    }

    .ippo-lineup div.isotope.pc-lineup .ippo-lineup__ttl {
        font-size: 7.179487179vw;
        margin-block:18.46153846vw 6.153846154vw}

    .ippo-lineup__sec+.ippo-lineup__sec {
        margin-block-start:25.64102564vw}

    .ippo-lineup .container {
        margin-bottom: 0
    }

    .ippo-365 {
        ;padding-block:10.25641026vw 18.46153846vw}

    .ippo-365__head-tl-area {
        grid-template-rows: auto auto auto;
        grid-template-columns: auto;
        row-gap: 0;
        place-items: center;
        text-align: center
    }

    .ippo-365__head-tl {
        grid-row: 2/3;
        grid-column: 1/2;
        padding: 0 0 3.076923077vw;
        font-size: 7.179487179vw
    }

    .ippo-365__head-tl small {
        font-size: 6.153846154vw
    }

    .ippo-365__head-logo {
        grid-row: 1/2;
        grid-column: 1/2;
        max-width: 71.79487179vw;
        width: 100%
    }

    .ippo-365__head-pc {
        grid-row: 3/4;
        grid-column: 1/2;
        max-width: 100%
    }

    .ippo-360__point {
        margin-block:8.205128205vw}

    .ippo-360__point li {
        font-size: 4.615384615vw
    }

    .ippo-365-appeal {
        margin-block-start:18.46153846vw}

    .ippo-365-appeal__tl {
        font-size: 7.179487179vw;
        margin-block-end:5.641025641vw}

    .ippo-365-appeal__description {
        flex-direction: column;
        gap: 4.102564096vw
    }

    .ippo .ippo-365-appeal__copilot-icon {
        width: 30.76923077vw;
        margin-left: -8.205128205vw
    }

    .ippo-365-appeal__copilot-text {
        font-size: 4.615384615vw
    }

    .ippo-365-appeal__qr {
        gap: 2.564102564vw;
        margin-inline:auto 0}

    .ippo-365-appeal__qr-text {
        font-size: 3.58974359vw
    }

    .ippo .ippo-365-appeal__qr-img {
        width: 23.07692308vw
    }

    .ippo-365-products {
        margin-block:8.205128205vw;flex-direction: column;
        gap: 6.153846154vw
    }

    .ippo-365-products__item {
        width: 100%
    }

    .ippo-365-products__item-name {
        margin-block:2.051282048vw 1.025641026vw;font-size: 7.179487179vw
    }

    .ippo-365-products__item-description {
        font-size: 4.615384615vw
    }

    .ippo-365-service {
        max-width: 83.58974359vw;
        flex-direction: column
    }

    .ippo-365-service__item {
        width: 100%;
        min-height: 0;
        padding-block:7.692307692vw;gap: 4.102564096vw;
        border-left: 0;
        border-bottom: 0
    }

    .ippo-365-service__item:nth-child(2n),.ippo-365-service__item:nth-child(-n+2) {
        border: 0
    }

    .ippo-365-service__item:not(:last-of-type) {
        border-bottom: solid .512820513vw #fff
    }

    .ippo .ippo-365-service__item-icon {
        width: 23.07692308vw;
        margin: 0
    }

    .ippo-365-service__item>dl {
        margin: 0
    }

    .ippo-365-service__item-name {
        font-size: 5.128205128vw
    }

    .ippo-365-service__item-description {
        margin-block-start:1.025641026vw;font-size: 4.102564096vw
    }

    .ippo-365-appeal__annotation {
        margin-block:4.102564096vw}

    .ippo-365-appeal__annotation li {
        font-size: 3.076923077vw
    }
