@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap');

/* ---------------------------------------- common ---------------------------------------- */
body {
    font-size: 3vw;
    font-family: YuGothic, 游ゴシック, ＭＳ Ｐゴシック, MS P Gothic, MS-PGothic, ヒラギノ角ゴ Pro W3, Hiragino Kaku Gothic Pro, Osaka, arial, helvetica, clean, sans-serif;
    line-height: 1.75;
    font-feature-settings: "palt";
    letter-spacing: 0.04em;
}

a {
    text-decoration: none;
    /* overflow: hidden; */
    outline: none;
    transition: all  0.3s ease;
}

a:hover {
    opacity: 0.6;
}

img {
    max-width: 100%;
}

sub {
    font-size: 60%;
}

.md {
    display: none;
}

.lg {
    display: none;
}

.xxl {
    display: none;
}

.sm {
    display: block;
}

.wrapper {
    background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/sp/bg.jpg);
    background-size: 100%;
}

.section {
    position: relative;

    .section__inner {
        max-width: 1200px;
        margin: 0 auto;
        padding: 40px 20px 58px;
        position: relative;

        &.section__inner--merit {
            padding-left: 10px;
            padding-right: 10px;
        }

        &.section__inner--lineup {
            padding-top: 16px;
            padding-bottom: 35px;
            padding-left: 10px;
            padding-right: 10px;
        }

        &.section__inner--standard {
            padding: 58px 35px 18px;
        }

        &.section__inner--banner {
            padding: 60px 20px 58px;
        }
    }

    .section__title {
        font-size: 20px;
        position: relative;
        font-weight: bold;
        text-align: center;
        line-height: 1.3;
        font-family: vdl-penletter, sans-serif;

        &.section__title--lineup {
            color: #fff;
            font-size: 8vw;
        }

        &.section__title--worries {
            font-size: 8vw;
        }
    }

    .section__title-sub {
        font-size: 5vw;
    }

    .section__description {
        font-size: 3.1vw;
        margin-top: 20px;
        line-height: 1.8;
        text-align: center;

        &.section__description--white-stroke {
            text-shadow: 2px 2px 0 #f9f9f9, -2px 2px 0 #f9f9f9, -2px -2px 0 #f9f9f9, 2px -2px 0 #f9f9f9;
        }
    }
}

/* fv
---------------------------------------------------- */
.fv {
    background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2026/img/sp/fv_2026.png);
    background-position: top;
    background-repeat: no-repeat;
    background-size: 100%;
    height: 140vw;

    .fv__inner {
        padding: 30px 32px 0;
        max-width: 1600px;
        height: 100%;
        position: relative;
    }

    .fv__body {
        height: 100%;
    }

    .fv__catch-image-wrapper {
        max-width: 190px;
        margin: 0 auto;
        margin-top: 12px;
    }

    .fv__title {
        font-size: 12px;
        font-weight: bold;
        text-align: center;
        margin-top: 26vw;
    }

    .fv__description {
        text-align: center;
        margin-top: 10px;
    }

    .fv__description-text {
        font-weight: bold;
        color: #000000;
        text-shadow: 1px 1px 0 white, -1px -1px 0 white,
                    -1px 1px 0 white, 1px -1px 0 white,
                    1px 0 0 white, -1px 0 0 white,
                    0 1px 0 white, 0 -1px 0 white;
        text-align: center;
        padding: 3px;
        line-height: 2;
        font-size: 0.9rem;
    }

    .fv__image-wrapper {
        max-width: 64vw;
        margin: 0 auto;
    }

    .fv__anchor-list-wrapper {
        position: absolute;
        bottom: 13%;
        left: 50%;
        transform: translateX(-50%);
        width: 80%;
    }

    .fv__anchor-list {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: 10px;
    }

    .fv__anchor-list-item {
        width: calc(50% - 14px / 2);

        &::before {
            position: absolute;
            top: 0;
            left: 0;
            content: "";
            width: 100%;
            height: 100%;
            background-color: var(--hover-light-green);
            transform: translateX(-100%);
            transition: transform .4s cubic-bezier(0.165, 0.84, 0.44, 1);
            z-index: -1;
        }
    }

    .fv__anchor-list-item-link {
        display: flex;
        position: relative;
        align-items: center;
        justify-content: center;
        background-color: #fff;
        padding: 10px 0;
        font-weight: bold;
        border-radius: 20px;
        box-shadow: 2px 2px 4px rgba(166, 166, 166, .4);
        gap: 5px;
        line-height: 1;



        &:hover {
            background-color: #000;
            color: #fff;
            opacity: 1;
        }

        &::before {
            content: "";
            width: 3vw;
            height: 11px;
            background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/sp/anchor01.png);
            background-repeat: no-repeat;
            background-position: center;
            background-size: contain;
        }

        &.fv__anchor-list-item-link--voice {
            &::before {
                width: 15px;
                height: 13px;
                background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/sp/anchor02.png);
            }
        }

        &.fv__anchor-list-item-link--lineup {
            &::before {
                width: 17px;
                height: 13px;
                background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/sp/anchor03.png);
            }
        }

        &.fv__anchor-list-item-link--campaign {
            &::before {
                background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/sp/anchor04.png);
            }
        }
    }
}


.cp_bnr{
        margin: 0 auto 30px;
        text-align: center;

    .cp_bnr__conts{
        margin: 0 20px;
    }

    .cp_bnr__txt{
        font-size: 14px;
        font-weight: bold;
        margin-top: 0 auto 15px;
    }
}


/* merit
---------------------------------------------------- */
.merit {
    .merit__label {
        position: relative;
    }

    .merit__title-wrapper {
        text-align: center;
    }

    .merit__title {
        font-size: 9vw;
        font-family: vdl-penletter, sans-serif;
        font-weight: bold;
        text-align: center;
        line-height: 1.4;
        position: relative;
        display: inline-block;

        &::before {
            content: "";
            display: inline-block;
            position: absolute;
            width: 40vw;
            height: 9vw;
            background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/sp/merit01_label.png);
            background-repeat: no-repeat;
            background-position: center;
            background-size: contain;
            left: 50%;
            top: -10vw;
            transform: translateX(-50%);
        }


        &.merit__title--point02 {
            &::before {
                background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/sp/merit02_label.png);
            }
        }

        &.merit__title--point03 {
            &::before {
                background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/sp/merit03_label.png);
            }
        }

        &.merit__title--point04 {
            &::before {
                background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/sp/merit04_label.png);
            }
        }

        &.merit__title--point05 {
            &::before {
                background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/sp/merit05_label.png);
            }
        }

    }

    .merit__description {
        font-size: 3.1vw;
        text-align: center;
        margin-top: 18px;
        line-height: 2;

        &.merit__description--point05 {
            margin-top: 28px;
        }
    }
}

.merit-point01  {
    .merit-point01__fukidashi {
        position: absolute;
        left: 0;
        top: -28px;
        width: 29vw;

        &.merit-point01__fukidashi--color-variation {
            right: 0;
            left: auto;
            top: 41%;
            width: 19vw;
        }
    }

    .merit-point01__lineup-image-wrapper {
        margin: 40px auto 0;
        position: relative;
        text-align: center;
    }

    .merit-point01__icon-image-wrapper {
        margin-top: 14px;
        text-align: center;
    }

    .merit-point01__icon-image-list {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        margin-top: 16px;
    }

    .merit-point01__icon-image-list-item {
        width: 50%;
    }
}

.merit-point02  {
    padding-top: 75px;

    .merit-point02__check-list-wrapper {
        margin: 0 -10px;
    }

    .merit-point02__check-list-body {
        background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2026/img/sp/merit_point02_check_list_bg_2026.png);
        background-repeat: no-repeat;
        background-size: 100%;
        height: 90vw;
        position: relative;

        &:first-of-type {
            margin-top: 20px;
        }

        &.merit-point02__check-list-body--second {
            background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/sp/merit_point02_check_list_bg02.png);
        }
    }

    .merit-point02__check-list {
        position: absolute;
        right: 20px;
        top: 27px;

        &.merit-point02__check-list--second {
            right: auto;
            left: 20px;
            top: 58px;
        }
    }

    .merit-point02__check-list-item {
        font-family: vdl-penletter, sans-serif;
        font-size: 4vw;
        display: flex;
        align-items: center;
        gap: 8px;
        line-height: 1.4;
       background: #fff;
        padding: 5px 15px;
        border-radius: 100vw;

        & + & {
            margin-top: 10px;
        }

        &::before {
            content: "";
            background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/sp/check_icon.png);
            background-repeat: no-repeat;
            background-size: contain;
            width: 15px;
            height: 16px;
        }
    }

    .merit-point02__check-list-note {
        margin-left: 10px;
        margin-top: 10px;
    }
}

/* esim
---------------------------------------------------- */
.esim {
    border: 1px solid #cdcdcd;
    padding: 8px 6px;
    margin: 23px 8px 0;

    .esim__title {
        display: flex;
        align-items: flex-end;
        justify-content: center;
        align-items: center;
        gap: 34px;
    }

    .esim__title-catch {
        background-color: #000;
        color: #fff;
        border-radius: 50%;
        width: 14.8vw;
        height: 14.8vw;
        text-align: center;
        display: flex;
        justify-content: center;
        align-items: center;
        box-sizing: border-box;
        padding: 2px;
        line-height: 1.4;
        flex-direction: column;
        position: relative;
        flex-shrink: 0;

        &:after {
            content: '';
            position: absolute;
            width: 33px;
            height: 41px;
            background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/sp/esim.png);
            background-size: contain;
            background-repeat: no-repeat;
            right: -27px;
        }
    }

    .esim__title-body {
        font-weight: bold;
        font-size: 4.5vw;
        line-height: 1.4;
    }

    .esim__title-sub {
        display: block;
    }

    .esim__ttile-catch-sub {
        font-size: 80%;
    }

    .esim__point-list {
        display: flex;
        justify-content: center;
        gap: 9px;
        margin-top: 8px;
    }

    .esim__point-list-item {
        background-color: #000;
        color: #fff;
        text-align: center;
        font-size: 2.9vw;
        padding: 2px 6px;
    }

    .esim__note {
        text-align: center;
        margin-top: 8px;
        width: 100%;
        font-size: 2.5vw;
    }
}

/* merit-point03
---------------------------------------------------- */
.merit-point03 {
    margin-top: 80px;

    .merit-point03__body {
        position: relative;
        margin-top: 10px;
        display: flex;
        justify-content: center;
    }

    .merit-point03__image-wrapper {
        flex-shrink: 0;
        width: 55vw;
        transform: translateX(5vw);

        &:nth-of-type(2) {
            position: relative;
            z-index: 2;
            transform: translateX(-5vw);
        }
    }
}

/* merit-point04
---------------------------------------------------- */
.merit-point04 {
    margin-top: 88px;

    .merit-point04__test-title-wrapper {
        text-align: center;
    }

    .merit-point04__test-title {
        font-family: vdl-penletter, sans-serif;
        font-size: 4vw;
        text-align: center;
        margin-top: 22px;
        line-height: 1.2;
        display: inline-block;
        justify-content: center;
        align-items: flex-end;
        position: relative;

        &:before, &:after {
            content: '';
            width: 27px;
            height: 15px;
            background-size: contain;
            background-repeat: no-repeat;
            position: absolute;
        }

        &::before {
            background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/sp/test_title_left.png);
            left: -30%;
            bottom: 5px;
        }

        &::after {
            background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/sp/test_title_right.png);
            right: -30%;
            bottom: 5px;
        }
    }

    .merit-point04__test-note-list {
        margin-top: 22px;
    }

    .merit-point04__test-note-list-item {
        letter-spacing: 0;
    }

    .merit-point04__test-detail-title {
        font-weight: bold;
        font-size: 4vw;
        text-align: center;
        transform: translateY(55vw)
    }


    .merit-point04__test-detail {
        margin-top: 20px;
    }

    .merit-point04__test-detail-body {
        background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2026/img/sp/test_detail_bg_2026.png);
        background-size: 100%;
        background-repeat: no-repeat;
        height: 98vw;
        margin: 0 -10px;
        position: relative;
    }

    .merit-point04__test-link-wrapper {
        position: absolute;
        left: 50%;
        bottom: 0;
        transform: translate(-50%, -50%);
        width: 100%;
        max-width: 265px;
    }

    .merit-point04__test-link {
        border: 1px solid #000;
        display: flex;
        justify-content: center;
        padding: 7px 0;
        text-align: center;
        position: relative;

        &::after {
            content: '';
            width: 4px;
            height: 4px;
            border: 1px solid;
            position: absolute;
            right: 16px;
            top: 50%;
            border-color: #000 #000 transparent transparent;
            transform: translateY(-50%) rotate(45deg);
        }
    }

    .merit-point04__test-note {
        text-align: center;
        margin-top: -6px;
    }
}

/* test-list
---------------------------------------------------- */
.test-list-wrapper {
    white-space:nowrap;
    overflow: scroll;
    margin: 0 -10px 0 5px;

    &::-webkit-scrollbar {
        display: none;
    }
}

.test-list {
    display: flex;
    gap: 15px;
    padding-top: 22px;

    .test-list__item {
        background-color: #f4f4f4;
        padding: 33px 11px;
        width: 70vw;
        flex-shrink: 0;
        box-sizing: border-box;
        position: relative;
        
        &::before {
            content: '';
            display: block;
            width: 20vw;
            height: 15vw;
            background-size: contain;
            background-repeat: no-repeat;
            background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/sp/test_fukidashi01.png);
            position: absolute;
            top: -21px
        }

        &:nth-of-type(2) {
            &::before {
                background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/pc/test_fukidashi02.png);
                left: auto;
                right: 20px;
            }
        }

        &:nth-of-type(3) {
            &::before {
                background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/pc/test_fukidashi03.png);
                left: auto;
                right: 20px;
            }
        }
    }

    .test-list__item-title {
        font-size: 4vw;
        font-weight: bold;
        text-align: center;
    }

    .test-list__item-description {
        font-size: 3.1vw;
        text-align: center;
    }

    .test-list__item-movie-area {
        margin-top: 5px;
        text-align: center;
    }
}

/* merit-point05
---------------------------------------------------- */
.merit-point05 {
    margin-top: 61px;

    .merit-point05__image-area {
        display: flex;
        justify-content: center;
    }

    .merit-point05__image-wrapper {
        width: 50vw;
        flex-shrink: 0;
        transform: translateX(10%);

        &:nth-of-type(2) {
            transform: translate(-5%, 14%);
        }
    }
}

/* guarantee
---------------------------------------------------- */
.merit-point05{
    .inner-container {
        width: 100%;
        max-width: 1200px;
        padding: 0 0;
        margin: 40px auto 0;
    }

    /* 共通パーツ */
    .handwritten-title {
        font-family: vdl-penletter, sans-serif;
        color: #20a964;
        text-align: center;
        font-size: 1.25rem;
        margin: 30px 0 15px;
        font-weight: bold;
    }
    .bg-white{ background-color: #fff!important;}
    .bg-blue{ background-color: #edf8ff;}
    .bg-light-gray{background-color: #f7f7f7;}
    .border-right{border-right: 1px solid #ccc;}
    .red-text { color: #c70557; font-weight: bold; }
    .blue-text { color: #007175; font-weight: bold; }
    .small-note { font-size: 0.8rem;  font-weight: normal; text-align: center; margin: 10px 0 0 0;}

    /* --- 1. 比較表 --- */
    .comparison-title {
        text-align: center;
        font-size: 1.25rem;
        margin-bottom: 20px;
        font-weight: bold;
        font-family: vdl-penletter, sans-serif;
    }

    .support-table {
        width: 100%;
        border-collapse: separate;
        border-spacing: 0;
        table-layout: fixed;
        font-size: 0.7rem;
    }

    .support-table th {
        background-color: #e6e6e6;
        padding: 6px 2px;
        border-bottom: 1px solid #ccc;
        vertical-align: middle;
        text-align: center;
        font-weight: bold;
    }

    .support-table th.col-vaio {
        background-color: #0086df;
        color: #fff;
        border-radius: 8px 8px 0 0;
        border: none;
        font-size: 1rem;
    }

    .support-table td {
        text-align: center;
        padding: 10px 2px;
        border-bottom: 1px solid #ccc;
        vertical-align: middle;
        letter-spacing: -1px;
    }

    .support-table td.vaio-cell {
        border-left: 2px solid #0086df;
        border-right: 2px solid #0086df;
        font-weight: bold;
    }


    .support-table tr:last-child td.vaio-cell {
        border-bottom: 2px solid #0086df;
    }


    .mark {
        font-size: 18px;
        display: block;
        line-height: 1;
        margin-bottom: 3px;
    }
    .mark.double-circle { color: #c70557; }
    .mark.triangle { color: #007175; }

    .table-note {
        font-size: 0.65rem;
        text-align: right;
        margin-top: 8px;
    }

    /* --- 2. 充実保証エリア --- */
    .green-box {
        border: 2px solid #20a964;
        border-radius: 12px;
        padding: 10px 10px 10px 10px;
        background-color: #fff;
        margin: 10px auto 0;
    }

    .guarantee-list {
    }

    .guarantee-item {
        align-items: center;
        gap: 12px;
        background-color: #daf2e5;
        border-radius: 10px;
        padding: 15px;

    }
    .guarantee-conts{
        display: flex;
        margin: 10px 10px;

    }

    .guarantee-last-conts{
        position: relative;
        top: 10px;
        display: block;
        margin: 0 0 10px 0;
    }

    .guarantee-conts img {
        margin: auto 15px auto 0;
        width: 75%;
    }

    .guarantee-text {
        font-size: 0.85rem;
        font-weight: bold;
        margin:  auto 0;
        width: 100%;
    }

    .plus-badge {
        position: relative;
        top: 2px;
        left: 44%;
        justify-content: center;
        height: 0; /* 高さをなくして前後を近づける */
        z-index: 5;
        display: block;
        width: 35px;
    }

    .plus-badge span {
        background-color: #20a964;
        color: #fff;
        width: 35px;
        height: 35px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: bold;
        font-size: 1.4rem;
        transform: translateY(-15px); /* 前後の要素に重なるように配置 */
        border: 4px solid #fff;
    }

    /* 吹き出しパーツ (SP) */
    .balloon-unit {
        background-color: #fff;
        border-radius: 6px;
        padding: 10px;
        margin-top: 25px;
        position: relative;
    }

    .balloon-label {
        font-family: vdl-penletter, sans-serif;
        color: #333;
        font-size: 1.2rem;
        position: absolute;
        top: -20px;
        left: 20px;
        transform: rotate(-5deg);
    }
    .balloon-unit::after {
        content: "";
        position: absolute;
        left: 45%;
        top: 0%;
        transform: translateY(-100%); 
        border-left: 10px solid transparent;
        border-right: 10px solid transparent;
        border-bottom: 12px solid #fff;
    }


    /* --- 3. 引き取り修理エリア (SP) --- */
    .repair-desc {
        font-size: 0.85rem;
        font-weight: bold;
        margin-bottom: 20px;
        line-height: 1.6;
        text-align: center;
    }

    .repair-flow {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin: 10px 0 0 0;
    }

    .flow-step {
        text-align: center;
        flex: 1;
    }

    .flow-step img {
        margin-bottom: 5px;
    }

    .flow-step span {
        display: block;
        font-size: 0.65rem;
        font-weight: bold;
        white-space: nowrap;
    }

    .flow-arrow {
        color: #bae3cf;
        font-size: 0.8rem;
        margin-bottom: 15px;
    }
}

/* lineup
---------------------------------------------------- */
.lineup {
    background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/sp/lineup_bg.png);
    background-size: 100%;
    margin-top: 4px 16px;

    .lineup__name {
        max-width: 70%;
    }

    .lineup__wrapper {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .lineup__body {
        margin: 15px auto 0;
        padding: 14px 16px 23px;
        position: relative;
        width: calc(100% - 20px);
        box-sizing: border-box;
        flex-shrink: 0;
    }

    /* .lineup__spec-accprdion-button,
    .lineup__voice-accprdion-button {
        display: none;
    } */

    .lineup__body-overlay {
        border-radius: 15px;
        box-shadow: 2px 0 2px #a6a6a6;
        background: linear-gradient(#fff, #eaeaea);
        position: absolute;
        height: 100%;
        width: 100%;
        opacity: 0.9;
        top: 0;
        left: 0;
    }

    .lineup__body-main {
        position: relative;
        z-index: 2;
    }

    .lineup__kaiyu-link-wrapper {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-top: 20px;
        gap: 10px;
        max-width: 1200px;
    }

    .lineup__kaiyu-link {
        border: 1px solid #000;
        display: flex;
        justify-content: center;
        padding: 7px 0;
        width: 100%;
        text-align: center;
        position: relative;
        box-sizing: border-box;
        background-color: #fff;

        &::after {
            content: '';
            position: absolute;
            border-top: 1px solid #000;
            border-right: 1px solid #000;
            width: 4px;
            height: 4px;
            top: 50%;
            right: 16px;
            transform: translateY(-50%) rotate(45deg);
        }
    }

    .lineup__namme-sub {
        font-size: 14px;
    }

    .lineup__label {
        color: #fff;
        background-color: #000;
        display: inline-block;
        padding: 3px 3px;
        line-height: 1;
        margin-top: 1vw;
    }

    .lineup__catch {
    }

    .lineup__image-wrapper {
        margin: 6px -9px;
        text-align: center;
        height: 65vw;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .lineup__point-wrapper {
        margin-top: 20px;
        text-align: center;
        margin-bottom: 15px;
    }

    .lineup__point-list {
        display: flex;
        justify-content: center;
        gap: 5px;
        margin: 0 0 10px 0;
    }

    .lineup__point-note {
        margin-top: 5px;
        text-align: right;
        line-height: 1.2;
    }

    .lineup__point-list-item {
        width: calc(100% / 3 - 5px * 2 /3);
        display: inline-block;
        background-color: #fff;
        line-height: 1.2;
        text-align: center;
        border-radius: 5px;
        font-size: 3.1vw;
        padding: 10px 4px;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
    }

    .lineup__point-list-item-small {
        font-size: 10px;
    }

    .lineup__link-wrapper {
        margin-top: 20px;
        padding: 0 16px;
    }

    .lineup__link {
        display: flex;
        position: relative;
        align-items: center;
        border: 1px solid #000;
        justify-content: center;
        padding: 13px 0;
        background-color: #fff;
        line-height: 1;

        & + & {
            margin-top: 15px;
        }

        &:first-of-type {
            border: 1px solid #ed1c86;
            color: #ed1c86;

            &::after {
                border-top: 1px solid #ed1c86;
                border-right: 1px solid #ed1c86;
            }
        }

        &::after {
            content: '';
            position: absolute;
            border-top: 1px solid #000;
            border-right: 1px solid #000;
            width: 4px;
            height: 4px;
            top: 50%;
            right: 10px;
            transform: translateY(-50%) rotate(45deg);
        }
    }

    .lineup__chart {
        position: relative;
        margin-top: 35px;
        background-color: #fff;
        border: 1px solid #dadada;
        border-radius: 5px;
        height: 70vw;

        &::before {
            content: "";
            display: inline-block;
            position: absolute;
            width: 32vw;
            height: 36px;
            background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/sp/chart_label.png);
            background-repeat: no-repeat;
            background-position: center;
            background-size: contain;
            left: 7px;
            top: -10px;
        }
    }

    .lineup__chart-temp-wrapper {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 53vw;
        height: 53vw;
        text-align: center;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .lineup__chart-rader-wrapper {
        position: absolute;
        top: 46%;
        left: 50%;
        transform: translate(-50%, -50%);
        background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/sp/rader_bg.png);
        background-size: 100%;
        background-position: center;
        background-repeat: no-repeat;
        width: 53vw;
        height: 53vw;
    }

    .lineup__chart-note {
        position: absolute;
        left: 6px;
        bottom: 6px;
        font-size: 9px;
        letter-spacing: 0.02em;
        white-space: normal;
    }

    .lineup__spec {
        position: relative;
        margin-top: 24px;
        background-color: #fff;
        border: 1px solid #dadada;
        border-radius: 5px;
        padding: 18px 13px;

        &::before {
            content: "";
            display: inline-block;
            position: absolute;
            width: 32vw;
            height: 36px;
            background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/sp/spec_label.png);
            background-repeat: no-repeat;
            background-position: center;
            background-size: contain;
            left: 7px;
            top: -11px;
        }
    }

    .lineup__spec-title-wrapper {
        display: flex;
        align-items: center;
        gap: 5px;
        transform: translateX(-4px);

        &::before {
            content: "";
            width: 6vw;
            height: 6vw;
            background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/sp/wan.png);
            background-repeat: no-repeat;
            background-position: center;
            background-size: contain;
        }

        &.lineup__spec-title-wrapper--speed {
            &::before {
                background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/sp/speed.png);
            }
        }

        &.lineup__spec-title-wrapper--wide {
            &::before {
                background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/sp/wide.png);
            }
        }

        &.lineup__spec-title-wrapper--standard {
            &::before {
                background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/sp/standard.png);
            }
        }
    }

    .lineup__spec-title {
        font-size: 3.1vw;
        margin-top: 6px;
        white-space: normal;
    }

    .lineup__spec-title-bold {
        font-weight: bold;
    }

    .lineup__spec-support {
        margin-top: 5px;
    }

    .lineup__spec-support-catch {
        background-color: #929292;
        color: #fff;
        text-align: center;
        font-size: 3.1vw;
        padding: 5px 0;
    }

    .lineup__spec-support-body {
        background-color: #f4f4f4;
        text-align: center;
        padding: 4px 0;
        font-size: 3.1vw;
    }

    .lineup__spec-support-list {
        display: inline-block;
    }

    .lineup__spec-support-list-item {
        text-align: left;

        &::before {
            content: '⚫︎';
        }
    }

    .lineup__spec-support-link-wrapper {
        padding: 0 10px;
        margin-top: 22px;
        display: flex;
        justify-content: center;
    }

    .lineup__spec-support-link {
        border: 1px solid #000;
        display: flex;
        justify-content: center;
        padding: 7px 0;
        width: 100%;
        text-align: center;
        position: relative;

        &::after {
            content: '';
            position: absolute;
            border-top: 1px solid #000;
            border-right: 1px solid #000;
            width: 4px;
            height: 4px;
            top: 50%;
            right: 16px;
            transform: translateY(-50%) rotate(45deg);
        }
    }

    .lineup__voice {
        position: relative;
        margin-top: 35px;
        background-color: #fff;
        border: 1px solid #dadada;
        border-radius: 5px;
        padding: 18px 13px;

        &::before {
            content: "";
            display: inline-block;
            position: absolute;
            width: 43vw;
            height: 39px;
            background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/sp/voice_label.png);
            background-repeat: no-repeat;
            background-position: center;
            background-size: contain;
            left: 7px;
            top: -21px;
        }
    }

    .lineup__voice-title {
        font-weight: bold;
        text-align: center;
        font-size: 3.5vw;
        white-space: normal;
    }
    .lineup__voice-title::marker{
          font-size: 0;
    }

    .lineup__voice-description {
        font-size: 3.1vw;
        white-space: normal;
        text-align: left;
        font-weight: normal;
    }

    .lineup__voice-description-bold {
        font-weight: bold;
    }

    .lineup__voice-data {
        text-align: right;
        font-size: 3.1vw;
        margin-top: 2px;
    }

    .lineup__voice-link-wrapper {
        margin-top: auto;
        padding: 0 10px;
        margin: 22px 0 0 0;
        display: flex;
        justify-content: center;
    }

    .lineup__voice-link {
        border: 1px solid #000;
        display: flex;
        justify-content: center;
        padding: 7px 0;
        width: 100%;
        text-align: center;
        position: relative;
        box-sizing: border-box;

        &::after {
            content: '';
            position: absolute;
            border-top: 1px solid #000;
            border-right: 1px solid #000;
            width: 4px;
            height: 4px;
            top: 50%;
            right: 16px;
            transform: translateY(-50%) rotate(45deg);
        }
    }

    .lineup__spec-accordion_wrapper,
    .lineup__voice-accrodion-area {
        display: flex;
        flex-direction: column;
        flex-grow: 1;

    }

    /* SPアコーディオン */
    .accordion-conts {
    }

    .accordion-conts summary .open_icon: {
        justify-content: space-between;
        align-items: center;
        position: relative;
        padding: 1em 2em;
        color: #000000;
        font-weight: 600;
        cursor: pointer;
        list-style: none; /* 標準の矢印を消す */
    }

    .accordion-conts summary::-webkit-details-marker {
        display: none; /* Safari用矢印消し */
    }

    /* アイコン（プラス） */
    .accordion-conts summary .open_icon::before,
    .accordion-conts summary .open_icon::after {
        content: '';
        width: 3px;
        height: .9em;
        border-radius: 5px;
        background-color: #000000b3;
        display: inline-block;
        position: relative;
        right: 1%;
        top: 6.5%;
    }
    .accordion-conts summary .open_icon::before {
        position: absolute;
        /* right: 2em; */
        transform: rotate(90deg);
    }
    .accordion-conts summary .open_icon::after {
        transition: transform .3s;
    }

    /* スマホで開いた時のアイコン変形 */
    .accordion-conts[open] .open_icon::after {
        transform: rotate(90deg);
    }

    /* スマホ：閉じている時は非表示（アニメーション準備） */
    /* .accordion-conts p {
        margin: 0;
        padding: 0 2em;
        color: #000000;
        opacity: 0;
        height: 0;
        overflow: hidden;
        transform: translateY(-10px);
        transition: all .5s;
    } */

}

/* recommended-scene
---------------------------------------------------- */
.recommended-scene {
    text-align: center;
    margin-top: 10px;
    /* border-bottom: 1px solid #363739;
    border-top: none;
    position: relative;
    height: 30vw;
    margin-top: 9px;

    &::before, &::after {
        content: '';
        position: absolute;
        top: 3vw;
        display: inline-block;
        width: 1px;
        height: calc(30vw - 3vw);
        background-color: #363739;
    }

    &::before {
        left:0;
    }

    &::after {
        right: 0;
    } */

    .recommended-scene__title {
        font-size: 12px;
        font-weight: bold;
        text-align: center;
        position: relative;

        &::before, &::after {
            content: '';
            position: absolute;
            top: 50%;
            display: inline-block;
            width: 25%;
            height: 1px;
            background-color: #363739;
        }

        &::before {
            left:0;
        }

        &::after {
            right: 0;
        }
    }

    .recommended-scene__list {
        position: absolute;
        top: 57%;
        left: 50%;
        transform: translate(-50%, -50%);
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        width: 90%;
    }

    .recommended-scene-list__item {
        font-size: 11px;
        width: calc(45% - 10px / 2);
        text-align: left;
        display: flex;
        align-items: center;
        gap: 4px;
        margin-top: 10px;

        &:first-of-type {
            width: 100%;
            margin-top: 0;
            justify-content: center;
            text-align: center;
        }

        &::before {
            content: '';
            background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/sp/recommend_icon01.png);
            background-size: contain;
            background-repeat: no-repeat;
            background-position: center;
            width: 3.5vw;
            height: 3.5vw;
        }

        &:nth-of-type(2) {
            &::before {
                background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/sp/recommend_icon02.png);
            }
        }

        &:nth-of-type(3) {
            &::before {
                background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/sp/recommend_icon03.png);
            }
        }

        &:nth-of-type(4) {
            &::before {
                background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/sp/recommend_icon04.png);
            }
        }

        &:nth-of-type(5) {
            &::before {
                background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/sp/recommend_icon05.png);
            }
        }
    }
}

/* worries
---------------------------------------------------- */
.worries {
    background: linear-gradient(to top, #fff5fa, #fff);

    .worries__image-wrapper {
        margin-top: 10px;
        text-align: center;
    }
}
    .worries{
            .faq-section {
                padding: 40px 20px;
            }

            .container {
                grid-template-columns: 1fr; /* 1列にする */
                gap: 40px; /* 縦の隙間を少し広めに */
                max-width: 500px; /* スマホで広がりすぎないように */
                margin: 0 auto;
                display: flex;
                flex-wrap: wrap;
            }

            /* カード（付箋）スタイル */
            .card {
                background-color: #fff;
                border-radius: 4px;
                box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05); /* ふんわりした影 */
                position: relative;
                padding-top: 20px; /* テープ分の余白 */
                height: fit-content; /* 中身に合わせて高さ調整 */
                 margin-bottom: 10px;
                 width: 100%;
                padding-bottom: 20px;
            }

            /* テープのデザイン */
            .tape {
                position: absolute;
                right: 40%;
                left: auto;
                top: -10px;
                transform: rotate(5deg);
                width: 40px;
                height: 18px;
                opacity: 0.9;
                box-shadow: 0 1px 3px rgba(0,0,0,0.2);
            }

            /* テープの色バリエーション */
            .tape-pink { background-color: #ff80bf; transform: translateX(-50%) rotate(-3deg); }
            .tape-yellow { background-color: #ffeb3b; transform: translateX(-50%) rotate(2deg); }
            .tape-green { background-color: #6bd498; transform: translateX(-50%) rotate(-2deg); }

            /* タイトルエリア */
            .card-title {
                font-size: 1.4rem;
                font-weight: normal;
                margin: 0;
                padding: 20px 20px 15px;
                font-family: vdl-penletter, sans-serif;
            }

            /* 本文エリア */
            .card-body {
                font-size: 0.9rem;
                background-color: #fff; /* 背景色 */
                background-image: linear-gradient(90deg, transparent 0%, transparent 50%, #fff 50%, #fff 100%), /* 点線1の色 */
                                    linear-gradient(180deg, #ccc 1px, transparent 1px); /* 点線2の色と太さ */
                background-size: 8px 100%, /* 点線1のサイズ */
                                100% 3em; /* 点線2のサイズ */
                line-height: 3em; /* 文字の高さ */
                padding-bottom: 1px; /* 最終行の下にも罫線を引く */
            }

            .card-body p {
                margin: 0;
                padding: 0 20px;
                border-bottom: 1px solid #eee; /* ノートの罫線 */
            }

            .card-body p:last-child {
                border-bottom: none; /* 最後の線は消す場合（お好みで） */
            }
     }
/* banner
---------------------------------------------------- */
.banner {
    .banner__wrapper {
        & + & {
            margin-top: 46px;
        }
    }
    .banner__title {
        text-align: center;
        font-weight: bold;
        position: relative;
        z-index: 2;

        /* &.banner__title--questionnaire-banner {
            &::before {
                background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/sp/campaign.png);
                width: 100%;
                max-width: 1000px;
                height: 207px;
                top: -27px;
            }
        } */

        /* &::before {
            content: '';
            display: block;
            position: absolute;
            background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/sp/sale.png);
            background-size: contain;
            background-position: center;
            background-repeat: no-repeat;
            height: 20vw;
            width: 60%;
            z-index: -1;
            left: 50%;
            top: 17px;
            transform: translateX(-50%);
        } */
    }

    .banner__title-sub {
        font-size: 13px;
        letter-spacing: -0.5px;
    }

    .banner__title-main {
        font-size: 25px;
    }

    .banner__image-wrapper {
        margin-top: 15px;
        display: block;
        text-align: center;
        position: relative;
        z-index: 3;
    }
}

.questionnaire-banner {
    background-color: #5e81b0;
    display: block;
    padding: 18px 34px 8px 40px;
    margin: 20px auto 0;
    position: relative;
    z-index: 3;
    max-width: 680px;
    box-sizing: border-box;
    overflow: visible;
    letter-spacing: 0.01em;
    white-space: nowrap;

    &::before {
        content: '＼このページを見た方限定！／';
        font-size: 14px;
        display: block;
        font-weight: bold;
        text-align: center;
        position: absolute;
        top: -20px;
        left: 50%;
        transform: translateX(-50%);
        width: 100%;
    }
    
    .questionnaire-banner__title {
        display: flex;
        justify-content: center;
        font-weight: bold;
        gap: 5px;
        line-height: 1;
        position: relative;
        z-index: 2;
    }

    .questionnaire-banner__title-label {
        background-color: #fff;
        color: #5e81b0;
        display: flex;
        align-items: center;
        padding: 4px 5px;
    }

    .questionnaire-banner__title-main {
        border-bottom: 1px solid  #fff;
        color: #fff;
        font-size: 11px;
        letter-spacing: 0;
    }

    .questionnaire-banner__title-emphasis {
        color: #fff038;
        font-size: 14px;
    }

    .questionnaire-banner__main-wrapper {
        display: flex;
        align-items: flex-end;
        justify-content: center;
        gap: 17px;

        &::after {
            content: '';
            background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/sp/mouce.png);
            background-size: contain;
            background-position: center;
            background-repeat: no-repeat;
            height: 82px;
            width: 50px;
        }
    }

    .questionnaire-banner__main {
        color: #fff;
        font-weight: bold;
        line-height: 1.2;
        margin-top: 14px;
        position: relative;
    }

    .questionnaire-banner__main-emphasis {
        font-size: 43px;
        color: #fff038;
        letter-spacing: 0.05em;
    }

    .questionnaire-banner__main-emphasis-yen {
        font-size: 22px;
        color: #fff038;
    }

    .questionnaire-banner__button {
        border: 1px solid #fff;
        padding: 13px 0;
        text-align: center;
        line-height: 1;
        color: #fff;
        margin-top: 10px;
    }

    .questionnaire-banner__period {
        color: #fff;
        text-align: center;
        margin-top: 5px;
    }
}

@media (min-width: 576px) {
    .merit-point04 {
        .merit-point04__test-link-wrapper {
            max-width: 80%;
        }
    }

    .merit-point05 {
        margin-top: 80px;
    }
}

@media (min-width: 768px) {
    body {
        font-size: 2vw;
    }

    .sm {
        display: none;
    }

    .lg {
        display: none; 
    }

    .xxl {
        display: none;
    }

    .md {
        display: block;
    }

    .fv {
        .fv__title {
            margin-top: 38vw;
        }

        .fv__image-wrapper {
            max-width: 410px;
        }

        .fv__anchor-list-wrapper {
            width: 95%;
        }
    }

    .merit {
        .merit__title {
            font-size: 7vw;

            &::before {
                width: 30vw;
                height: 7vw;
                top: -60px;
            }
        }

        .merit__description {
            font-size: 2vw;
        }

        .merit-point04__test-link {
            font-size: 2vw;
        }
    }

    .esim {
        .esim__title-catch {
            font-size: 2vw;
            width: 9vw;
            height: 9vw;
        }

        .esim__title-body {
            font-size: 3vw;
            line-height: 1.4;
        }

        .esim__point-list-item {
            font-size: 2vw;
        }

        .esim__note {
            font-size: 2vw;
        }
    }

    .test-list {
        .test-list__item {
            &::before {
                width: 15vw;
                height: 10vw;
            }
        }
    }

    .guarantee {
        .guarantee__list-item-text {
            font-size: 2.5vw;
        }
    
        .guarantee__list-emphasis {
            font-size: 3.5vw;
        }
    }

    .lineup {
        .lineup__catch {
            font-size: 2vw;
        }
    
        .lineup__point-list-item {
            font-size: 2.1vw;
        }

        .lineup__link {
            font-size: 2vw;
        }

        .lineup__chart {
            display: flex;
            flex-direction: column;
            height: 54vw;

            &::before {
                width: 16vw;
                left: 7px;
                top: -10px;
            }
        }

        .lineup__spec {
            &::before {
                width: 16vw;
            }
        }

        .lineup__voice {
            &::before {
                width: 21vw;
            }
        }

        .lineup__image-wrapper {
            height: 380px;
        }
    }

    .recommended-scene {
        /* height: 20vw;

        &::before, &::after {
            top: 2vw;
            height: calc(20vw - 2vw);
        }

        .recommended-scene__title {
            font-size: 2vw;
        }

        .recommended-scene-list__item {
            font-size: 2vw; */
        /* } */
    }


}




@media (min-width: 992px) {
    /* ---------------------------------------- common ---------------------------------------- */
    body {
        font-size: 20px;
    }

    .sm {
        display: none;
    }

    .md {
        display: none;
    }

    .xxl {
        display: none;
    }

    .lg {
        display: block; 
    }

    sup {
        font-size: 60%;
    }

    .section {
        .section__inner {
            max-width: 1600px;

            &.section__inner--merit {
                padding-top: 118px;
            }

            &.section__inner--lineup {
                padding-top: 47px;
                padding-bottom: 54px;
            }

            &.section__inner--banner {
                padding-top: 60px;
            }
        }

        .section__title {
            &.section__title--lineup {
                font-size: 60px;
            }

            &.section__title--worries {
                font-size: 60px;
                line-height: 1.5;
            }
        }

        .section__title-sub {
            font-size: 40px;
        }

        .section__description {
            font-size: 18px;
            margin-top: 26px;
        }
    }

    /* float-banner
    ---------------------------------------------------- */
    .float-banner {
        position: fixed;
        right: 20px;
        bottom: 150px;
        z-index: 999;
        text-align: center;
        display: flex;
        flex-direction: column;

        &::before {
            content: '＼このページを見た方限定！／';
            font-size: 14px;
            font-weight: bold;
            text-align: center;
        }

        .float-banner__close {
            position: absolute;
            right: 0;
            top: 0;
            transform: translateY(-10px)
        }
    }

    /* fv
    ---------------------------------------------------- */
    .fv {
        background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2026/img/pc/fv_2026.jpg);
        background-size: contain;
        background-size: 1200px;
        height: 880px;

        .fv__inner {
            padding: 120px 0;
        }

        .fv__description {
            margin-top: 33px;
        }
        .fv__title {
            margin-top: 11vw;
        }
        .fv__image-wrapper {
            max-width: 620px;
        }
        .fv__description-text{
            font-size: 20px;
        }

        .fv__anchor-list-wrapper {
            bottom: 20%;
        }

        .fv__anchor-list {
            gap: 24px;
        }

        .fv__anchor-list-item {
            width: calc(25% - 24px * 4 / 3);
        }

        .fv__anchor-list-item-link {
            padding: 12px 0;
            border-radius: 40px;
            gap: 15px;

            &::before {
                width: 25px;
                height: 22px;
                background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/pc/anchor01.png);
            }

            &.fv__anchor-list-item-link--voice {
                &::before {
                    width: 31px;
                    height: 26px;
                    background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/pc/anchor02.png);
                }
            }

            &.fv__anchor-list-item-link--lineup {
                &::before {
                    width: 35px;
                    height: 27px;
                    background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/pc/anchor03.png);
                }
            }

            &.fv__anchor-list-item-link--campaign {
                &::before {
                    width: 22px;
                    height: 23px;
                    background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/pc/anchor04.png);
                }
            }
        }
    }
    .cp_bnr{
        margin: 40px auto 30px;

        .cp_bnr__txt{
            font-size: 20px;
            margin: 0 auto 15px ;
            font-weight: bold;
        }
    }

    /* merit
    ---------------------------------------------------- */
    .merit {
        .merit__title {
            font-size: 60px;
            line-height: 1.4;

            &::before {
                width: 200px;
                height: 69px;
                left: 5%;
                top: -65%;
            }

            &.merit__title--point02 {
                &::before {
                    background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/pc/merit02_label.png);
                    left: 2%;
                    top: -80%;
                }
            }

            &.merit__title--point03 {
                &::before {
                    background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/pc/merit03_label.png);
                    left: -7%;
                    top: -85%;
                }
            }

            &.merit__title--point04 {
                &::before {
                    background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/pc/merit04_label.png);
                }
            }

            &.merit__title--point05 {
                &::before {
                    background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/pc/merit05_label.png);
                    left: 11%;
                }
            }
        }

        .merit__description {
            font-size: 20px;
            margin-top: 47px;

            &.merit__description--point05 {
                margin-top: 28px;
            }
        }
    }

    .merit-point01  {
        .merit-point01__fukidashi {
            width: 20vw;
            left: 5%;
            top: -22%;

            &.merit-point01__fukidashi--color-variation {
                width: 15vw;
                right: 9%;
                left: auto;
                top: -18%;
            }
        }

        .merit-point01__lineup-image-wrapper {
            margin-top: 70px;
        }

        .merit-point01__icon-image-wrapper {
            margin-top: 8px;
        }
    }

    .merit-point02  {
        padding-top: 120px;

        .merit-point02__check-list-wrapper {
            position: relative;
            margin-top: 41px;
        }

        .merit-point02__check-list-body {
            background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2026/img/pc/merit_point02_check_list_bg_2026.png);
            height: 500px;
        }

        .merit-point02__check-list {
            position: absolute;
            right: auto;
            left: 50%;
            top: 5%;
            transform: translateX(-50%);
        }

        .merit-point02__check-list-item {
            font-size: 2vw;
            gap: 15px;

            & + & {
                margin-top: 22px;
            }

            &::before {
                background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/pc/check_icon.png);
                width: 20px;
                height: 22px;
            }
        }

        .merit-point02__check-list-note {
            font-size: 14px;
            position: absolute;
            left: 50%;
            bottom: 23px;
            transform: translateX(-50%);
            margin: 0;

        }
    }

    /* esim
    ---------------------------------------------------- */
    .esim {
        padding: 31px 35px 31px 35px;
        margin: 70px auto 0;
        max-width: 1200px;
        box-sizing: border-box;

        .esim__inner {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .esim__title {;
            gap: 100px;
        }

        .esim__title-catch {
            width: 88px;
            height: 88px;
            font-size: 18px;

            &:after {
                width: 66px;
                height: 83px;
                background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/pc/esim.png);
                right: -61px;
            }
        }

        .esim__title-body {
            font-size: 40px;
        }

        .esim__title-sub {
            font-size: 24px;
        }

        .esim__ttile-catch-sub {
            font-size: 80%;
        }

        .esim__point {
            width: 51%;
        }

        .esim__point-list {
            flex-wrap: wrap;
            justify-content: flex-start;
            gap: 10px 24px;
            margin-top: 0;
        }

        .esim__point-list-item {
            background-color: #000;
            color: #fff;
            text-align: center;
            font-size: 20px;
            width: 280px;

            &:nth-of-type(2) {
                width: 240px;
            }

            &:nth-of-type(3) {
                width: 390px
            }
        }

        .esim__note {
            font-size: 14px;
            margin-top: 0;
            line-height: 1.2;
            white-space: nowrap;
            width: 25%;
            text-align: left;
        }
    }

    /* merit-point03
    ---------------------------------------------------- */
    .merit-point03 {
        margin-top: 170px;

        .merit-point03__body {
            position: relative;
            margin-top: 10px;
        }

        .merit-point03__image-wrapper {
            width: 50%;

            &:first-of-type {
                transform: translateX(70px);
            }

            &:nth-of-type(2) {
                transform: translate(-10px, 10px);
            }
        }
    }

    /* merit-point04
    ---------------------------------------------------- */
    .merit-point04 {
        margin-top: 88px;

        .merit-point04__test-title {
            font-size: 40px;
            margin-top: 80px;
            letter-spacing: 0.1em;

            &:before, &:after {
                width: 51px;
                height: 32px;
            }

            &::before {
                background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/sp/test_title_left.png);
                left: -22%;
            }

            &::after {
                background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/sp/test_title_right.png);
                right: -20%;
            }
        }

        .merit-point04__test-note-list {
            margin: 42px 0 0 13%;
            font-size: 14px;
        }

        .merit-point04__test-note-list-item {
            letter-spacing: 0;
        }

        .merit-point04__test-detail-title {
            font-size: 3vw;
            transform: translateY(440px);
        }


        .merit-point04__test-detail {
            margin-top: 20px;
        }

        .merit-point04__test-detail-body {
            background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2026/img/pc/test_detail_bg_2026.png);
            height: 660px;
        }


        .merit-point04__test-link {
            padding: 15px 0;
            font-size: 16px;

            &::after {
                right: 28px;
            }
        }

        .merit-point04__test-note {
            font-size: 14px;
            text-align: center;
            margin-top: -6px;
        }
    }

    /* test-list
    ---------------------------------------------------- */
    .test-list-wrapper {
        white-space:nowrap;
        overflow: scroll;
        margin-left: 5px;

        &::-webkit-scrollbar {
            display: none;
        }
    }

    .test-list {
        display: flex;
        gap: 15px;
        padding-top: 81px;

        .test-list__item {
            padding: 33px 11px;
            width: 530px;

            &::before {
                content: "";
                width: 145px;
                height: 109px;
                background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/pc/test_fukidashi01.png);
                top: -80px
            }

            &:nth-of-type(2) {
                &::before {
                    width: 169px;
                    height: 114px;
                    background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/pc/test_fukidashi02.png);
                    top: -58px;
                    left: auto;
                    right: 20px;
                }
            }

            &:nth-of-type(3) {
                &::before {
                    width: 157px;
                    height: 97px;
                    background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/pc/test_fukidashi03.png);
                    top: -54px;
                    left: auto;
                    right: 48px;
                }
            }
        }

        .test-list__item-title {
            font-size: 30px;
        }

        .test-list__item-description {
            font-size: 20px;
        }

        .test-list__item-movie-area {
            margin-top: 20px;
        }
    }

    /* merit-point05
    ---------------------------------------------------- */
    .merit-point05 {
        margin-top: 145px;

        .merit-point05__image-area {
            position: relative;
            margin-top: 10px;
        }

        .merit-point05__image-wrapper {
            width: 50%;
            transform: translate(0, 50px);

            &:nth-of-type(2) {
                transform: translate(-50px, 20px);
            }
        }
    }

    .merit-point05  {
        .inner-container { padding: 0 0; }
        
        .comparison-title { font-size: 2.2rem; margin-bottom: 40px; }
        .handwritten-title { font-size: 2.2rem; margin: 60px 0 30px; }

        /* テーブルPC */
        .support-table { font-size: 1rem; }
        .support-table th.col-vaio {
            font-size: 1.8rem;
            padding: 35px 0;
            box-shadow: 0 -5px 15px rgba(0,0,0,0.08);
        }
        .support-table th, .support-table td { padding: 20px 10px; }
        .support-table td { letter-spacing: 0px; }
        .support-table td.vaio-cell .red-text{font-size: 140%;} 
        .mark { font-size: 2.2rem; }
        .table-note {font-size: 10px;}
        .small-note { font-size: 10px;  font-weight: normal; text-align: left; margin: 0 0;}

        /* 保証ボックスPC */
        .green-box{
            max-width: 1000px;
        }
        .guarantee-list {
            padding: 20px;
        }
        .guarantee-item{
            display: flex;
            justify-content: center;
            padding: 30px 15px;
        }
        .guarantee-conts:nth-child(1){
            margin-right: 10px;
        }
        .guarantee-item img {padding: 5px; }
        .guarantee-text { font-size: 1.1rem; margin-left: 10px;}
        
        .plus-badge { 
            top: -15px;
            left: 48%;
        }
        .plus-badge span { 
            width: 35px; 
            height: 35px; 
            transform: translateY(-5px); 

        }

        .guarantee-item:last-child {
            grid-column: 1 / -1;
            justify-content: center;
            background-color: #daf2e5;
            padding: 15px;
            border-radius: 10px;
            margin-bottom: 10px;
        }
        .balloon-unit {
        margin-top: 0;
        margin-left: 0;
        width: 40%;
        }
        .balloon-label{
            font-size: 18px;
        }
        .balloon-unit::after {
            content: "";
            position: absolute;
            left: -12px;
            top: 50%;
            transform: translateY(-50%);
            border-top: 10px solid transparent;
            border-bottom: 10px solid transparent;
            border-right: 20px solid #fff;
            border-left: 0;
        }

        /* 引き取り修理PC (2カラムレイアウト) */
        .repair-container {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0px;
            padding: 20px;
        }

        .repair-left {
            flex: 0 0 45%;
            text-align: left;
        }

        .repair-right {
            flex: 0 0 55%;
        }

        .repair-desc {
            font-size: 1.1rem;
            margin-bottom: 10px;
            text-align: left;
        }
        .repair-flow{
            margin: 10px 0;
        }
        .flow-step img {  }
        .flow-step span { font-size: 0.95rem; }
        .flow-arrow { font-size: 1.2rem; margin-bottom: 25px; }
    }
    

    /* lineup
    ---------------------------------------------------- */
    .lineup {
        background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/pc/lineup_bg.png);
        background-size: 100%;
        margin-top: 4px 16px;

        .lineup__body {
            max-width: 1200px;
            padding: 48px 50px 53px;
            box-sizing: border-box;
            width: 100%;
        }

        .lineup__body-overlay {
            border-radius: 30px;
            box-shadow: 2px 0 2px #a6a6a6;
            background: linear-gradient(#fff, #eaeaea);
            position: absolute;
            height: 100%;
            width: 100%;
            opacity: 0.9;
            top: 0;
            left: 0;
        }

        .lineup__body-main {
            position: relative;
            z-index: 2;
        }

        .lineup__namme-sub {
            font-size: 14px;
        }

        .lineup__label {
            font-size: 20px;
            padding: 6px 7px;
            margin-top: 0;
        }

        .lineup__catch {
            font-size: 20px;
        }

        .lineup__label-wrapper {
            display: flex;
            align-items: center;
            margin-top: 15px;
            gap: 20px;
            white-space: nowrap;
        }

        .lineup__flex {
            display: flex;
            gap: 20px;
        }

        .lineup__point-flex-item {
            flex-basis: 360px;
        }

        .lineup__image-wrapper {
            margin: 38px 0 0 10px;
        }

        .lineup__point-wrapper {
            margin-top: 0;
        }

        .lineup__point-list {
            display: flex;
            flex-direction: column;
        }

        .lineup__point-list-item {
            display: inline-block;
            background-color: #fff;
            line-height: 1.2;
            text-align: center;
            border-radius: 20px;
            font-size: 16px;
            padding: 10px 6px;
            width: 100%;

            &:not(:first-of-type) {
                margin-top: 15px;
                margin-left: 0;
            }
        }
        .lineup__point-list-item:nth-child(4){

        }

        .lineup__point-list-item-small {
            font-size: 16px;
        }

        .lineup__point-list-item-note {
            font-size: 10px;
            display: inline-block;
        }

        .lineup__point-list-item-annotation {
            font-size: 10px;
            text-align: right;
            margin-bottom: -10px;
        }

        .lineup__link-wrapper {
            display: flex;
            flex-wrap: wrap;
            gap: 18px 30px;
            max-width: 730px;
            margin: 45px auto 0;
            justify-content: center;
        }

        .lineup__link {
            font-size: 16px;
            padding: 13px 0;
            background-color: #fff;
            line-height: 1;
            width: calc(50% - 30px / 2);
            box-sizing: border-box;

            & + & {
                margin-top: 0;
            }

            &:first-of-type {
                width: 100%;
            }
        }

        .lineup__aside-wrapper {
            margin-top: 50px;
            display: flex;
            align-items: stretch;
            justify-content: space-between;
            max-height: 400px;
            min-height: 350px;
        }

        .lineup__chart {
            margin-top: 0;
            border-radius: 10px;
            width: calc(100% / 3);
            max-width: 350px;
            max-height: 100%;
            height: auto;

            &::before {
                width: 168px;
                height: 48px;
                background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/pc/chart_label.png);
                left: 7px;
                top: -25px;
            }
        }

        .lineup__chart-temp-wrapper {
            height: auto;
            width: 80%;
            top: 45%;
        }

        .lineup__chart-rader-wrapper {
            background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/pc/rader_bg.png);
            background-size: contain;
            width: 95%;
            height: 350x;
        }

        .lineup__chart-note {
            font-size: 12px;
            margin-top: auto;
            position: relative;
            bottom: 8px;
            left: 20px;
            line-height: 1.4;
            text-indent: -1em;
            padding-left: 1em;
        }

        .lineup__spec {
            width: calc(100% / 3);
            max-width: 350px;
            border-radius: 10px;
            padding: 38px 12px 15px;
            box-sizing: border-box;
            display: flex;
            flex-direction: column;
            margin-top: 0;

            &::before {
                width: 165px;
                height: 48px;
                left: 22px;
                background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/pc/spec_label.png);
                top: -20px;
            }
        }

        .lineup__spec-title-wrapper {
            display: flex;
            align-items: center;
            gap: 5px;
            transform: translateX(-4px);

            &::before {
                width: 34px;
                height: 34px;
                background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/pc/wan.png);
                flex-shrink: 0;
            }

            &.lineup__spec-title-wrapper--speed {
                &::before {
                    background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/pc/speed.png);
                }
            }

            &.lineup__spec-title-wrapper--wide {
                &::before {
                    background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/pc/wide.png);
                }
            }

            &.lineup__spec-title-wrapper--standard {
                &::before {
                    background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/pc/standard.png);
                }
            }
        }

        .lineup__spec-title {
            font-size: 16px;
            margin-top: 6px;
        }

        .lineup__spec-support {
            display: flex;
            flex-direction: column;
        }

        .lineup__spec-support-catch {
            font-size: 16px;
            padding: 5px 0;
        }

        .lineup__spec-support-body {
            font-size: 15px;
        }

        .lineup__spec-support-link-wrapper {
            margin-top: auto;
        }

        .lineup__spec-support-link {
            font-size: 15px;
            margin-top: auto;
            text-align: center;
            position: relative;
            box-sizing: border-box;
            max-width: 265px;
        }

        .lineup__voice {
            width: calc(100% / 3);
            max-width: 350px;
            box-sizing: border-box;
            border-radius: 10px;
            padding: 30px 12px 15px;
            margin-top: 0;
            display: flex;
            flex-direction: column;

            &::before {
                width: 208px;
                height: 52px;
                background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/pc/voice_label.png);
                left: 37px;
                top: -30px;
            }
        }

        .lineup__voice-title {
            font-size: 18px;
        }

        .lineup__voice-description {
            font-size: 14px;
        }

        .lineup__voice-data {
            text-align: right;
            font-size: 14px;
            margin-top: 2px;
        }

        .lineup__voice-link-wrapper {
            padding: 0 10px;
            display: flex;
            justify-content: center;
        }

        .lineup__voice-link {
            font-size: 15px;
            max-width: 265px;
        }

        .lineup__kaiyu-link-wrapper {
            flex-direction: row;
            justify-content: center;
            margin: 49px auto 0;
            gap: 20px
        }

        .lineup__kaiyu-link {
            max-width: 350px;
            font-size: 16px;
        }

        .lineup__spec-accprdion-button,
        .lineup__voice-accprdion-button {
            display: none;
        }
    }

    /* recommended-scene
    ---------------------------------------------------- */
    .recommended-scene {
        margin-top: 44px;
        /* border-bottom: 1px solid #363739;
        border-top: none;
        position: relative;
        height: 287px;
        margin-top: 36px;

        &::before, &::after {
            top: 17px;
            height: calc(287px - 16px);
        }

        &::before {
            left:0;
        }

        &::after {
            right: 0;
        }

        .recommended-scene__title {
            font-size: 18px;

            &::before, &::after {
                width: 11%;
            }
        }

        .recommended-scene__list {
            left: 50%;
            top: 56%;
        }

        .recommended-scene-list__item {
            font-size: 17px;
            width: 100%;
            text-align: left;
            display: flex;
            gap: 4px;
            margin-top: 15px;

            &:first-of-type {
                width: 100%;
                margin-top: 0;
                justify-content: flex-start;
                text-align: left;
            }

            &::before {
                content: '';
                background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/sp/recommend_icon01.png);
                background-size: contain;
                background-repeat: no-repeat;
                background-position: center;
                width: 25px;
                height: 23px;
            }

            &:nth-of-type(2) {
                &::before {
                    background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/sp/recommend_icon02.png);
                }
            }

            &:nth-of-type(3) {
                &::before {
                    background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/sp/recommend_icon03.png);
                }
            }

            &:nth-of-type(4) {
                &::before {
                    background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/sp/recommend_icon04.png);
                }
            }

            &:nth-of-type(5) {
                &::before {
                    background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/sp/recommend_icon05.png);
                }
            }
        } */
    }

    /* worries
    ---------------------------------------------------- */
    .worries {
        .worries__wrapper {
            display: flex;
            flex-wrap: wrap;
            max-width: 1200px;
            margin: 40px auto 0;
        }

        .worries__image-wrapper {
            width: calc(100% / 3);
        }

        .faq-section {
            padding: 40px 20px;
        }

        .container {
            max-width: 1200px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: repeat(3, 1fr); /* PCは3列 */
            gap: 30px; /* カード間の隙間 */
        }

        /* カード（付箋）スタイル */
        .card {
            background-color: #fff;
            border-radius: 4px;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05); /* ふんわりした影 */
        }

        /* テープのデザイン */
        .tape {
            position: absolute;
            top: -12px;
            left: 50%;
            transform: translateX(-50%) rotate(-3deg);
            width: 40px;
            height: 18px;
            opacity: 0.9;
            box-shadow: 0 1px 3px rgba(0,0,0,0.2);
        }


        /* タイトルエリア */
        .card-title {
            font-size: 1.6rem;

        }

        /* 本文エリア */
        .card-body {
            font-size: 0.9rem;
        }

        .card-body p {
            margin: 0;
            padding: 0 20px;
        }

        .card-body p:last-child {
            border-bottom: none; /* 最後の線は消す場合（お好みで） */
        }

    }
    


    /* banner
    ---------------------------------------------------- */
    .banner {
        .banner__wrapper {
            max-width: 700px;
            margin: 0 auto;
            & + & {
                margin-top: 90px;
            }
        }

        .banner__body {
            display: flex;
            max-width: 1140px;
            margin: 48px auto 0;
            gap: 28px;
        }

        .banner__title {

            /* &.banner__title--questionnaire-banner {
                &::before {
                    background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/pc/campaign.png);
                    width: calc(100% + 40px);
                }
            } */

            /* &::before {
                background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/pc/sale.png);
                height: 100%;
                max-width: 518px;
                height: 164px;
                top: -38px;
            } */
        }

        .banner__title-sub {
            font-size: 20px;
            letter-spacing: 0;
        }

        .banner__title-main {
            font-size: 35px;
        }

        .banner__image-wrapper {
            margin-top: 20px;

            &.banner__image-wrapper--no-margin {
                margin-top: 0;
            }
        }
    }

    .questionnaire-banner {
        padding: 30px 28px 8px;
        margin-top: 0;
        width: 350px;
        flex-shrink: 0;

        &::before {
            font-size: 20px;
            top: -40px;
        }
        
        .questionnaire-banner__title {
            gap: 0;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            gap: 16px;
        }

        .questionnaire-banner__title-label {
            font-size: 16px;
            padding: 5px 8px;
        }

        .questionnaire-banner__title-main {
            font-size: 16px;
            padding-bottom: 10px;
            letter-spacing: 0.08em;
        }

        .questionnaire-banner__title-emphasis {
            color: #fff038;
            font-size: 16px;
        }

        .questionnaire-banner__main-wrapper {
            gap: 0;
            letter-spacing: 0;

            &::after {
                background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2025/img/pc/mouce.png);
                height: 102px;
                width: 63px;
            }
        }

        .questionnaire-banner__main {
            font-size: 18px;
            margin-top: 22px;
        }

        .questionnaire-banner__main-emphasis {
            font-size: 43px;
        }

        .questionnaire-banner__main-emphasis-yen {
            font-size: 22px;
            color: #fff038;
        }

        .questionnaire-banner__main-small {
            font-size: 16px;
        }

        .questionnaire-banner__button {
            padding: 10px 0;
            margin-top: 26px;
        }

        .questionnaire-banner__period {
            font-size: 14px;
        }
    }
}

@media(min-width: 1200px) {

    .sm {
        display: none;
    }

    .md {
        display: none;
    }

    .lg {
        display: none; 
    }

    .xxl {
        display: block;
    }

    .section {
        .section__inner {
            padding-bottom: 105px;
        }
    }
    .fv {
            background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2026/img/pc/fv_2026.jpg);
            background-position: top;
            background-repeat: no-repeat;
            background-size: 100%;
            height: 74vw;
        
        .fv__title {
            margin-top: 11vw;
        }
        .fv__image-wrapper {
            max-width: 750px;
        }
        .fv__anchor-list-wrapper {
            max-width: 1200px;
            width: 100%;
        }
    }

    .merit {
        .merit__title {
            &::before {
                width: 292px;
                top: -85%;
            }
        }
    }

    .merit-point01  {
        .merit-point01__fukidashi {
            width: 277px;

            &.merit-point01__fukidashi--color-variation {
                width: 198px;
                top: -29%;
            }
        }
    }

    .merit-point02 {
        .merit-point02__check-list {
            top: 8%;
        }

        .merit-point02__check-list-body {
            height: 705px;
        }

        .merit-point02__check-list-item {
            font-size: 30px;
            gap: 15px;
            background: #fff;
            padding: 5px 15px;
            border-radius: 100vw;;
        }
    }

    .merit-point03 {
        .merit-point03__image-wrapper {
            &:first-of-type {
                transform: translateX(160px);
            }
        }
    }

    .merit-point04 {
        margin-top: 140px;

        .merit-point04__test-detail-title {
            font-size: 40px;
            transform: translateY(590px);
        }
    
        .merit-point04__test-detail-body {
            height: 850px;
        }

        .merit-point04__test-link-wrapper {
            max-width: 650px;
        }
    }

    .test-list-wrapper {
        overflow: hidden;
        margin: 0 -10px;
    }

    .test-list {
        gap: 5px;
        margin: 0 -10px;

        .test-list__item {
            width: calc(100% / 3 - 5px * 3 / 2);
            box-sizing: border-box;
        }
    }

    .guarantee {
        margin-top: 30px;

        .guarantee__list-item-text {
            font-size: 32px;
        }
    }

    .merit-point05 {
        .merit-point05__image-wrapper {
            width: 50%;
            transform: translate(160px, 50px);

            &:nth-of-type(2) {
                transform: translate(-3%, 19px);
            }
        }
    }

    .lineup {
        .lineup__aside-wrapper {
            height: 350px;
        }

        .lineup__spec-support {
            margin-top: 22px;
        }

        .lineup__spec {
            padding: 30px 20px;
        }

        .lineup__voice {
            padding: 30px 20px;
        }
    }
}
@media(max-width: 576px) {
    /* .lineup {
        lineup__spec-accordion_wrapper {
            display: block;

            &.is-open {
                display: block;
            }
        } */

        .lineup__spec-accprdion-button {
            width: 10px;
            height: 10px;
            position: absolute;
            right: 0;
            transform: translateY(-5px);
            display: block;
        }

        /* .lineup__spec-accordion_wrapper  {
            display: none;

            &.is-open {
                display: block;
            }
        } */

        /* .lineup__voice-accrodion-area {
            overflow: hidden;
            height: 11vw;

            &.is-open {
                height: auto;
            }
        } */

        .lineup__voice-title {
            position: relative;
        }

        .lineup__voice-accprdion-button {
            width: 10px;
            height: 10px;
            position: absolute;
            right: 0;
            top:0;
            transform: translateY(-5px);
            display: block;
        }
}

@media(min-width: 1400px) {
        .fv {
            background-image: url(https://store.vaio.com/ec/img/usr/freepage/student2026/img/pc/fv_2026.jpg);
            background-position: top;
            background-repeat: no-repeat;
            background-size: 1400px;
            height: 1090px;

            .fv__title {
                margin-top: 200px;
            }
            .fv__image-wrapper {
                max-width: 750px;
            }
            .fv__anchor-list-wrapper {
                max-width: 1200px;
                width: 100%;
            }
        }
        

        .cp_bnr {
            margin: 0px auto 30px;
        }

    }
