@charset "UTF-8";
/*========================== 基本設定 ============================*/
html,
body {
    width: 100%;
    margin: 0;
    padding: 0;
}

body {
    font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', 'HiraKakuPro-W3', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    color: #000000;
    margin: 0px;
    padding: 0px;
    text-align: left;
    font-size: 18px;
    line-height: 1.5;
}

a:link,
a:visited,
a:hover,
a:active {
    color: #CC0003;
}

.pc {
    display: block !important;
}

.sp {
    display: none !important;
}

.w100 {
    width: 100%;
}

.w50 {
    width: 50%;
}

.bdr {
    border: 1px solid #000;
}

.resp_img {
    width: 100% !important;
    height: auto !important;
}

.m60 {
    margin: 60px 0;
}

/*
* clearfix
*/
.clearfix::after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
    font-size: 1px;
    line-height: 0;
}

.clearfix {
    display: block;
}

/* （未使用）#page-top（現HTMLに要素なし） */
#page-top {
    position: fixed;
    opacity: 0;
    z-index: 1000;
    cursor: pointer;
    right: 0px;
    bottom: 50px;
    height: 35px;
    text-decoration: none;
    font-weight: bold;
    font-size: 1em;
    line-height: 1.5rem;
    color: #fff;
    padding: 10px 10px 0 20px;
    display: block;
    background-color: #00af99;
    border-radius: 20px 0px 0px 20px;

    &::before {
        content: "";
        display: block;
        position: absolute;
        top: -1px;
        left: 0px;
        width: 15px;
    }

    &.fade-in {
        color: #fff;
        font-size: auto;
        opacity: 1.0;
        transition: opacity 1s;
    }
}

/*========================== 共通layout styles（.wrap /.container /.flexbox など） ============================*/

.wrap {
    text-align: left;
    width: 100%;
    min-width: 1280px;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.container {
    text-align: left;
    max-width: 1280px;
    width: 100%;
    margin: auto;
    padding: 0 20px;
    box-sizing: border-box;
}

.flexbox {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 0;
    margin-left: auto;
    box-sizing: border-box;

    div {
        width: 50%;
    }

    img {
        width: 100%;
    }
}

section h2 {
    font-size: 48px;
    line-height: 1.3em;
    font-feature-settings: "palt";
    text-align: center;

    span {
        background: linear-gradient(transparent 50%, #FFD200 50%);
    }
}

/*========================== layout styles ============================*/

/* FV: <section class="wrap fv"> */
.fv {
    background: url('https://www.labonetwork.co.jp/sp/lp/evoto202506/images/fv-bg.svg') no-repeat;
    background-size: cover;
    background-position: center bottom;
    font-size: 18px;
    text-align: center;
    padding: 30px 0 90px 0;
}

.fv div.header {
    align-items: center;
    height: 100%;
    margin: 0 0 60px 0 !important;
}

.fv div.header div.menu {
    text-align: right;
    font-weight: bold;
    line-height: 40px;
}

.fv div.header div.menu a {
    display: inline-block;
    width: 240px;
    height: 40px;
    color: #333;
    text-decoration: none;
    margin-left: 10px;
    vertical-align: middle;

}

.fv div.header div.menu a.price {
    text-align: center;
    border: 1px solid #000;
    border-radius: 10px;
    margin-left: 35px;
}

.fv div.header div.menu a.cv {
    color: #fff;
    text-align: center;
    background-color: #000;
    border-radius: 10px;
}

.fv div.fv-area {
    text-align: left;
    max-width: 1280px;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    align-items: center;
    color: #ffffff;
    padding: 0 20px;
    margin: 0 auto !important;

}

.fv div.fv-area div p.catch {
    font-size: 24px;
    font-weight: bold;
    line-height: 1.8em;
    margin-top: 30px;
}

.fv div.fv-area div p.catch strong {
    display: inline;
    border-radius: 5px;
    padding: 10px 10px;
    margin-left: 5px;
    background-color: #000000;
    color: #FFD200;
}

.fv div.fv-area div p.catch strong span {
    font-size: 0.6em;
}

.fv div.fv-area div h2 {
    color: #fff;
    font-size: 52px;
    line-height: 1.2em;
    margin: 20px 0 40px 0;
    text-align: left;
}

.fv div.fv-area div h2 p {
    font-size: 28px;
    font-weight: bold;
    line-height: 1.8em;
    margin: 30px 0 15px 0;
}

.fv div.fv-area div h2 p strong {
    display: inline;
    border-radius: 5px;
    padding: 10px 10px;
    margin-right: 5px;
    background-color: #CC0003;
    font-size: 24px;
    color: #FFFFFF;
}

.fv div.fv-area div.mov-area {
    position: relative;
}

.fv div.fv-area div.mov-area p {
    display: inline;
    position: absolute;
    top: -28px;
    right: 0;
    left: 0;
    margin: 0 auto;
    font-size: 26px;
    font-weight: bold;
    color: #000000;
    text-align: center;
    text-shadow: none;
    width: fit-content;
    padding: 8px 16px;
    border-radius: 12px;
    background-color: #FFD200;
    transform: skewX(-10deg);
}

.fv div.fv-area div.mov-area p span {
    font-size: 26px;
    font-weight: bold;
    color: #CC0003;
    text-align: center;
}


.fv div.fv-area div.mov-area img {
    position: absolute;
    bottom: 20px;
    right: 10px;
    width: 150px;
}

.fv div.fv-area div.mov-area .evotologo {
    display: none;
}

.fv div.fv-area div.mov-area a {
    display: inline;
    position: absolute;
    bottom: -10px;
    right: 0;
    left: 0;
    margin: 0 auto;
    color: #ffffff;
    text-align: center;
    text-decoration: none;
    background: linear-gradient(90deg, rgb(0, 0, 0), rgb(62, 62, 62));
    border-radius: 10px;
    width: 240px;
    padding: 10px 0;
    z-index: 100;
}

.fv div.fv-area div.mov-area video {
    width: 100%;
    height: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 12px;
    box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.2);
    background-color: #cccccc;
}


/* CV: <section class="wrap cv"> */

section.cv {
    background-color: #FFD200;
    margin: 0 0 80px 0;
}

section.cv div.flexbox {
    width: 100%;
    max-width: 1000px;
    padding: 48px 16px;
    justify-content: center;
    align-items: flex-end;
    gap: 48px;
    margin: 0 auto;
}

section.cv div.flexbox div {
    width: auto;
    max-width: 460px;
    padding: 0;
}

section.cv div.flexbox div p {
    position: relative;
    font-size: 18px;
    line-height: 1.4em;
    font-weight: bold;
    padding-left: 90px;
    margin-bottom: 20px;
}

section.cv div.flexbox div p::before {
    position: absolute;
    content: "";
    display: inline-block;
    width: 105px;
    height: 120px;
    top: -35px;
    left: 0;
    background: url('https://www.labonetwork.co.jp/sp/lp/evoto202506/images/sample-pdf.png') no-repeat;
    background-position: center;
    background-size: contain;
}

section.cv div.flexbox div a.cv-contact {
    display: block;
    width: 460px;
    color: #ffffff;
    font-size: 36px;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    background: linear-gradient(90deg, rgb(204, 0, 3), rgb(147, 0, 0));
    border-radius: 7px;
    padding: 20px 0;
}

section.cv div.flexbox div a.cv-plane {
    display: block;
    width: 460px;
    color: #000000;
    font-size: 36px;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    border: 2px solid #000000;
    border-radius: 7px;
    padding: 20px 0;
}


/* Detail: <section class="wrap detail"> */

section.detail {
    margin: 0 0 80px 0;
}

section.detail h2 {

    margin: 0 0 40px 0;
}

section.detail div.container {
    text-align: center;
    padding: 10px 110px !important;
}

section.detail div.container div.flexbox {
    text-align: left;
    align-items: center;
}

section.detail div.container div.flexbox div:nth-child(odd) {
    width: 45% !important;
}

section.detail div.container div.flexbox div:nth-child(even) {
    width: 50% !important;
}


/* Utilize: <section class="wrap utilize"> */

section.utilize {
    background: url('https://www.labonetwork.co.jp/sp/lp/evoto202506/images/section-bg_top.svg') no-repeat;
    background-size: 100% auto;
    background-position: center top;
    text-align: center;
    padding-top: 100px;
}

section.utilize div.utilize-bottom {
    background: url('https://www.labonetwork.co.jp/sp/lp/evoto202506/images/section-bg_bottom.svg') no-repeat;
    background-size: 100% auto;
    background-position: center bottom;
    text-align: center;
    padding-bottom: 150px;
}

section.utilize div.utilize-bottom div.container ul {
    width: 960px;
    margin: 0 auto;
    align-items: center;
    justify-content: center;
    gap: 24px;

    @media (width <=1020px) {
        width: auto;
    }
}

section.utilize div.utilize-bottom div.container ul li {
    width: 450px;
    text-align: left;
    margin-top: 40px;

    @media (width <=1020px) {
        width: calc(50% - 12px);
    }

    @media (width <=767px) {
        width: 100%;
    }
}

section.utilize div.utilize-bottom div.container ul li h3 {
    font-size: 24px;
    margin-bottom: 15px;
    text-align: center;
}

section.utilize div.utilize-bottom div.container ul li h3 span {
    display: inline-block;
    width: auto;
    font-size: 14px;
    color: #ffffff;
    background-color: #CC0003;
    padding: 2px 10px;
    border-radius: 7px;
    vertical-align: middle;
    margin-right: 15px;
}

section.utilize div.utilize-bottom div.container ul li img {
    width: 100%;
    margin-bottom: 10px;
}

section.utilize div.utilize-bottom div.container ul li h4 {
    display: inline-block;
    width: auto;
    color: #ffffff;
    background-color: #CC0003;
    padding: 5px 20px;
    border-radius: 7px 7px 0 0;
}

section.utilize div.utilize-bottom div.container ul li div {
    width: 100%;
    min-height: 185px;
    border: 1px solid #CC0003;
    border-radius: 0px 7px 7px 7px;
    padding: 5px;
    box-sizing: border-box;
}

section.utilize div.utilize-bottom div.container ul li dl {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 0;
    margin: 10px 0;
    box-sizing: border-box;
}



section.utilize div.utilize-bottom div.container ul li dl dt {
    width: 20%;
    font-size: 14px;
    color: #CC0003;
    white-space: nowrap;
    font-weight: bold;
    border-right: 1px solid #CC0003;
    text-align: center;
    padding: 5px 10px;
}

section.utilize div.utilize-bottom div.container ul li dl dd {
    width: 78%;
    font-size: 14px;
    text-align: left;
    padding: 5px 10px;
}

section.utilize div.utilize-bottom div.container ul li dl dd span {
    font-size: 12px;
}

section.utilize div.utilize-bottom div.container ul li div img {
    width: 45%;
    padding: 10px 10px 0 10px;
}

section.utilize div.utilize-bottom div.container ul li p {
    width: 45%;
    font-size: 14px;
    text-align: left;
    padding: 10px;
}



/* Merit: <section class="wrap merit"> */

section.merit {
    margin: 60px 0;
}

section.merit h2 {
    margin: 0 0 60px 0;
}

section.merit div.container {
    text-align: center;
    padding: 10px 110px !important;

    @media (width <=1020px) {
        padding: 10px !important;
    }
}

section.merit div.container div.flow {
    width: 100%;
    text-align: left;
    align-items: top;
    margin: 40px auto 0 auto;
}

section.merit div.container div.flow div {
    width: 30%;
    position: relative;
}

section.merit div.container div.flow div.flow01:after {
    border-left: 16px solid #666666;
    /* 右向きの三角形を作るため左のボーダーに色を付ける */
    border-top: 16px solid transparent;
    /* 上のボーダーを透過に指定 */
    border-bottom: 16px solid transparent;
    /* 下のボーダーを透過に指定 */
    content: "";
    position: absolute;
    right: -30px;
    /* 一旦中央へ寄せる */
    top: 10px;
    margin-left: 50px;
    /* 四角形の幅の半分右へ移動する */
}

section.merit div.container div.flow div.flow02:after {
    border-left: 16px solid #884949;
    /* 右向きの三角形を作るため左のボーダーに色を付ける */
    border-top: 16px solid transparent;
    /* 上のボーダーを透過に指定 */
    border-bottom: 16px solid transparent;
    /* 下のボーダーを透過に指定 */
    content: "";
    position: absolute;
    right: -30px;
    /* 一旦中央へ寄せる */
    top: 10px;
    margin-left: 50px;
    /* 四角形の幅の半分右へ移動する */
}

section.merit div.container div.flow div dt {
    font-size: 32px;
    font-weight: bold;
    color: #ffffff;
    text-align: center;
    padding: 5px 0;
}

section.merit div.container div.flow div.flow01 dt {
    background: linear-gradient(90deg, rgb(203, 203, 203), rgb(102, 102, 102));
}

section.merit div.container div.flow div.flow02 dt {
    background: linear-gradient(90deg, rgb(102, 102, 102), rgb(136, 73, 73));
}

section.merit div.container div.flow div.flow03 dt {
    background: linear-gradient(90deg, rgb(136, 73, 73), rgb(204, 0, 3));
}

section.merit div.container div.flow div dd {
    padding-top: 10px;
}

section.merit div.container div.flow div dd p {
    position: relative;
    background-color: #F4F4F4;
    border-radius: 12px;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.2em;
    padding: 10px 10px 10px 50px;
    margin-top: 10px;
}

section.merit div.container div.flow div dd p::before {
    position: absolute;
    content: "";
    display: inline-block;
    width: 30px;
    height: 25px;
    top: 15px;
    left: 10px;
    background: url('https://www.labonetwork.co.jp/sp/lp/evoto202506/images/merit-icon.png') no-repeat;
    background-position: center;
    background-size: contain;
}

section.merit div.appeal {
    width: 90%;
    margin-top: 60px;
    align-items: center;
}

section.merit div.appeal div {
    text-align: left;
    font-size: 28px;
    font-weight: bold;

}




/* Plan（未使用）: <section class="wrap plan"> */

section.plan {
    margin-bottom: 140px;
}

section.plan h2 {
    margin: 0 auto 80px;
    text-align: center;
}

section.plan div.container {
    text-align: left;
    padding: 10px 110px !important;
}

section.plan div.container div.flexbox {
    position: relative;
    text-align: center;
    align-items: center;
    height: 270px;
    width: 900px;
    margin: 0 auto 50px;
}

section.plan div.container div.flexbox div {
    position: absolute;
    width: 300px;
    border: 3px solid #CC0003;
    border-radius: 5px;
    box-sizing: border-box;
    padding: 25px 0;
}

section.plan div.container div.flexbox div h3 {
    font-size: 20px;
    font-weight: bold;
}

section.plan div.container div.flexbox div.center h3 {
    font-size: 22px;
}

section.plan div.container div.flexbox div p.unit-price {
    font-size: 22px;
    font-weight: bold;
    margin-top: 10px;
}

section.plan div.container div.flexbox div p.unit-price span {
    font-size: 32px;
    font-weight: bold;
}

section.plan div.container div.flexbox div p.coment {
    font-size: 16px;
    font-weight: bold;
    margin: 20px 0;
}

section.plan div.container div.flexbox div.center p.coment {
    color: #CC0003;
}

section.plan div.container div.flexbox div p.price {
    color: #5D5D5D;
    font-weight: bold;
}

section.plan div.container div.flexbox div.center p.price {
    color: #666666;
    font-weight: bold;
}


section.plan div.container div.flexbox div p.eye-catch {
    position: absolute;
    top: -15px;
    left: 0;
    right: 0;
    margin: auto;
}

section.plan div.container div.flexbox div.center p.eye-catch {
    background-color: #CC0003;
    border-radius: 100px;
    font-size: 14px;
    font-weight: bold;
    color: #fff;
    width: 110px;
}

section.plan div.container div.flexbox div.right p.eye-catch {
    background-color: #fff;
    border-radius: 100px;
    font-size: 14px;
    font-weight: bold;
    border: 3px solid #CC0003;
    color: #333;
    width: 140px;
}

section.plan div.container div.flexbox div.left {
    left: 20px;
    z-index: -10;
    height: 240px;
}

section.plan div.container div.flexbox div.center {
    background: #FAE3E3;
    left: 0;
    right: 0;
    margin: auto;
    padding: 40px 0;
}

section.plan div.container div.flexbox div.right {
    right: 20px;
    z-index: -10;
    height: 240px;
}

section.plan div.container div.flexbox div.right p.unit-price {
    margin-top: 20px;
}


section.plan div.container div.recommend {
    width: 680px;
    text-align: center;
    font-size: 18px;
    margin: 0 auto;
}

section.plan div.container div.proposal {
    position: relative;
    width: 630px;
    background-color: #EDEDED;
    border-radius: 20px;
    text-align: center;
    font-size: 24px;
    font-weight: bold;
    padding: 40px 0;
    margin: 40px auto;
}

section.plan div.container div.proposal a {
    position: absolute;
    display: inline-block;
    width: 300px;
    bottom: -30px;
    left: 0;
    right: 0;
    margin: auto;
    background: linear-gradient(90deg, rgb(204, 0, 3), rgb(143, 0, 0));
    border-radius: 10px;
    color: #ffffff;
    text-decoration: none;
    text-align: center;
    padding: 10px 0;

}

/*----- faq ------- */
section.faq {
    background: url('https://www.labonetwork.co.jp/sp/lp/evoto202506/images/section-bg_top.svg') no-repeat;
    background-size: 100% auto;
    background-position: center top;
    transform: scale(-1, 1);
    text-align: center;
    padding-top: 100px;
    margin-bottom: 100px;
}

section.faq div.container {
    transform: scale(-1, 1);
}


section.faq h2 {
    margin: 0 0 60px 0;
}

.faq div.conts-area {
    width: 70%;
    text-align: left;
    margin: 0 auto;
}

.faq div.conts-area h3 {
    position: relative;
    display: block;
    background-color: #E0E0E0;
    border-radius: 10px 10px 0 0;
    margin: 30px 0 0 0;
    padding: 20px 20px 20px 70px;
    text-align: left;
    align-items: baseline;
    font-size: 24px;
    font-weight: Bold;
    color: #000000;
}

.faq div.conts-area h3:before {
    position: absolute;
    content: "Q";
    top: 20px;
    left: 20px;
    width: 36px;
    height: 36px;
    line-height: 35px;
    font-size: 20px;
    font-weight: bold;
    color: #ffffff;
    background-color: #CC0003;
    border-radius: 50%;
    text-align: center;
}

.faq div.conts-area p.answer {
    position: relative;
    background-color: #ffffff;
    border-radius: 0 0 10px 10px;
    border: 3px solid #E0E0E0;
    padding: 20px 20px 20px 70px;
    align-items: baseline;
}

.faq div.conts-area p.answer:before {
    position: absolute;
    content: "A";
    top: 20px;
    left: 16px;
    width: 36px;
    height: 36px;
    line-height: 35px;
    font-size: 20px;
    font-weight: bold;
    color: #fff;
    background-color: #000000;
    border-radius: 50%;
    text-align: center;
}

.faq div.conts-area p.answer span {
    font-weight: bold;
}

/*----- experience ------- */
section.experience {
    margin: 100px 0;
}

section.experience h2 {
    margin: 0 0 60px 0;
}

section.experience ul {
    width: 1000px;
    margin: 0 auto;
}

section.experience ul li {
    position: relative;
    width: 480px;
    height: auto;
    margin: 40px 0;
}

section.experience ul li video {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    border-radius: 12px;
    box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.2);
    background-color: #cccccc;
}

section.experience ul li img {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    border-radius: 12px;
    box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.2);
}

section.experience ul li a {
    position: absolute;
    display: inline-block;
    width: 200px;
    bottom: -15px;
    left: 0;
    right: 0;
    margin: auto;
    background: linear-gradient(90deg, rgb(0, 0, 0), rgb(62, 62, 62));
    border-radius: 10px;
    color: #ffffff;
    text-decoration: none;
    text-align: center;
    padding: 10px 0;
}

section.experience ul li p {
    position: absolute;
    display: inline-block;
    width: 100%;
    top: -40px;
    left: 0;
    right: 0;
    margin: auto;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    padding: 10px 0;
    text-shadow: 1px 2px #fff;
}

section.experience div.utility {
    width: 1000px;
    margin: 30px auto 60px auto;
    border-top: 1px solid #707070;
    text-align: left;
    padding: 60px 0 0 0;
}

section.experience div.utility p {
    width: 460px;
}


section.experience div.utility p a {
    position: relative;
    font-size: 24px;
    font-weight: bold;
    line-height: 1.2em;
    padding: 15px 0 10px 120px;
    margin-top: 10px;
    cursor: pointer
}

section.experience div.utility p a::before {
    position: absolute;
    content: "";
    display: inline-block;
    width: 110px;
    height: 62px;
    top: -5px;
    left: 0;
    background: url('https://www.labonetwork.co.jp/sp/lp/evoto202506/images/202506-move-icon.png') no-repeat;
    background-position: center;
    background-size: contain;
}

section.experience div.utility p span {
    position: relative;
    display: block;
    top: 10px;
    left: 120px;
    font-size: 16px;
    color: #CC0003;
}





/* CV Area: <section class="wrap cv-area"> */

section.cv-area {
    background: url('https://www.labonetwork.co.jp/sp/lp/evoto202506/images/footer-bg.svg') no-repeat;
    background-size: 100% auto;
    background-position: center top;
    text-align: center;
    padding: 60px 0 10px 0;
}

section.cv-area div.flexbox {
    width: 1000px;
    text-align: left;
    align-items: center !important;
    margin: 0 auto 20px auto;

}

section.cv-area div.flexbox div:first-child {
    width: 60%;
}

section.cv-area div.flexbox div:last-child {
    width: 40%;
}

section.cv-area div.flexbox p {
    font-size: 36px;
    font-weight: bold;
    line-height: 1.5em;
    margin: 0 auto;
    text-align: left;
}

section.cv-area div.flexbox a {
    text-align: center;
    width: 100%;
    padding: 20px 0 !important;
    margin: 10px 0 !important;
    box-sizing: border-box;
}

section.cv-area div.flexbox a.cv-btn {
    background-color: #CC0003;
    border-radius: 10px;
    width: 490px;
    display: inline-block;
    margin: 80px auto 0;
    padding: 15px 0;
    font-size: 28px;
    font-weight: bold;
    color: #fff;
    text-decoration: none;
}

section.cv-area div.flexbox a.cv-btn02 {
    border: 2px solid #000000;
    border-radius: 10px;
    width: 490px;
    display: inline-block;
    margin: 20px auto 0;
    padding: 15px 0;
    font-size: 28px;
    font-weight: bold;
    color: #000000;
    text-decoration: none;
}

div.footer {
    text-align: center !important;
    padding: 10px 0 !important;
    border-top: 1px solid #000
}



/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

SP_breakpoint

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ */

@media (width <=767px) {

    body {
        font-size: 14px;
        line-height: 1.4;
    }

    .pc {
        display: none !important;
    }

    .sp {
        display: inline !important;
    }

    #page-top {
        left: none;
        left: -3em;
        right: none;
        bottom: 80px;
    }

    /*========================== 共通layout styles ============================*/

    .wrap {
        width: 100%;
        min-width: 320px;
    }

    .container {
        width: 100%;
        min-width: 320px;
        padding: 0 10px;
    }

    .flexbox div {
        width: 100%;
    }

    section h2 {
        font-size: 24px;
        line-height: 1.5em;
    }


    /*========================== layout styles ============================*/

    /* FV: <section class="wrap fv"> */
    .fv {
        background: url('https://www.labonetwork.co.jp/sp/lp/evoto202506/images/fv-bg.svg') no-repeat;
        background-size: auto 55%;
        background-position: left top;
        overflow: hidden;
        font-size: 14px;
        text-align: left;
        padding: 10px 0 40px 0;

    }

    .fv div.header {
        flex-direction: column;
        align-items: start;
        margin: 0 0 0 0 !important;
    }

    .fv div.header h1 {
        width: 50%;
    }

    .fv div.header div.menu {
        width: 100%;
        display: flex;
        justify-content: space-between;
        text-align: left;
        margin: 15px 0 0 0;
    }

    .fv div.header div.menu a {
        width: 48%;
        height: auto;
        margin-left: 0;
        padding: 5px 0;
    }

    .fv div.header div.menu a.price {
        border-radius: 5px;
        margin-left: 0;
        background-color: #fff;
    }

    .fv div.header div.menu a.cv {
        border-radius: 5px;
    }

    .fv div.fv-area {
        flex-direction: column;
        text-align: left;
        min-width: 320px;
        width: 100%;
        height: 100%;
        box-sizing: border-box;
        align-items: start;
        padding: 0 10px;
    }

    .fv div.fv-area div p.catch {
        font-size: 16px;
        line-height: 1.8em;
        margin-top: 10px;
    }

    .fv div.fv-area div p.catch strong {
        padding: 5px;
        margin-left: 5px;
    }

    .fv div.fv-area div p.catch strong span {
        font-size: 12px;
    }

    .fv div.fv-area div h2 {
        color: #fff;
        font-size: 32px !important;
        line-height: 1.2em;
        margin: 0 0 60px 0;
        text-align: left;
    }

    .fv div.fv-area div h2 p {
        font-size: 18px;
        font-weight: bold;
        line-height: 1.8em;
        margin: 10px 0 5px 0;
    }

    .fv div.fv-area div h2 p strong {
        padding: 5px;
        font-size: 18px;
    }

    .fv div.fv-area div.mov-area p {
        top: -28px;
        font-size: 20px;
    }

    .fv div.fv-area div.mov-area p span {
        font-size: 20px;
    }


    .fv div.fv-area div.mov-area img {
        width: 75px;
    }

    .fv div.fv-area div.mov-area a {
        border-radius: 5px;
        width: 150px;
        padding: 5px 0;
    }


    /* CV: <section class="wrap cv"> */

    section.cv {
        margin: 0 0 30px 0;
    }

    section.cv div.flexbox {
        flex-direction: column;
        width: 100%;
        padding: 30px 0 20px 0;
        align-items: center;
        gap: 24px;
    }

    section.cv div.flexbox div {
        width: 100%;
        padding: 0;
    }

    section.cv div.flexbox div p {
        font-size: 14px;
        line-height: 1.4em;
        padding-left: 80px;
    }

    section.cv div.flexbox div p::before {
        width: 90px;
        height: 105px;
    }

    section.cv div.flexbox div a.cv-contact {
        width: 100%;
        font-size: 26px;
        border-radius: 5px;
        padding: 8px 0;
    }

    section.cv div.flexbox div a.cv-plane {
        width: 100%;
        font-size: 26px;
        border-radius: 5px;
        padding: 8px 0;
    }


    /* Detail: <section class="wrap detail"> */

    section.detail {
        margin: 60px 0 60px 0;
    }

    section.detail h2 {
        margin: 0 0 20px 0;
    }

    section.detail div.container {
        padding: 10px !important;
    }

    section.detail div.container div.flexbox {
        flex-direction: column;
    }

    section.detail div.container div.flexbox div:nth-child(odd) {
        width: 100% !important;
    }

    section.detail div.container div.flexbox div:nth-child(even) {
        width: 100% !important;
    }

    section.detail div.container div.flexbox div {
        margin: 0 0 20px 0;
    }


    /* Utilize: <section class="wrap utilize"> */

    section.utilize {
        padding-top: 60px;
        margin: 0 0 60px 0;
    }

    section.utilize div.utilize-bottom {
        padding-bottom: 100px;
    }

    section.utilize div.utilize-bottom div.container ul {
        width: 100%;
    }

    section.utilize div.utilize-bottom div.container ul li {
        width: 100%;
    }

    section.utilize div.utilize-bottom div.container ul li h3 {
        font-size: 20px;
    }

    section.utilize div.utilize-bottom div.container ul li dl dt {
        width: 25%;
    }

    section.utilize div.utilize-bottom div.container ul li dl dd {
        width: 74%;
    }


    section.utilize div.utilize-bottom div.container ul li.pickup div.flexbox {
        flex-direction: column;
    }


    section.utilize div.utilize-bottom div.container ul li div img {
        width: 100%;
        box-sizing: border-box;
    }

    section.utilize div.utilize-bottom div.container ul li p {
        width: 100%;
        box-sizing: border-box;
    }


    /* Merit: <section class="wrap merit"> */

    section.merit {
        margin: 60px 0 80px 0;
    }

    section.merit h2 {
        margin: 0 0 0 0;
    }

    section.merit div.container {
        padding: 10px !important;
    }

    section.merit div.container div.flexbox {
        flex-direction: column;
    }

    section.merit div.container div.flow div {
        width: 100%;
        position: relative;
        margin-bottom: 50px;
    }

    section.merit div.container div.flow div.flow01:after {
        border-left: 16px solid transparent;
        border-right: 16px solid transparent;
        border-top: 16px solid #666666;
        /* 上向き三角形（下に付ける） */
        content: "";
        position: absolute;
        top: auto;
        bottom: -50px;
        /* 高さ分下にずらす */
        left: 0;
        right: 0;
        margin: auto;
        width: 0;
        height: 0;

    }

    section.merit div.container div.flow div.flow02:after {
        border-left: 16px solid transparent;
        border-right: 16px solid transparent;
        border-top: 16px solid #884949;
        /* 上向き三角形（下に付ける） */
        content: "";
        position: absolute;
        top: auto;
        bottom: -50px;
        /* 高さ分下にずらす */
        left: 0;
        right: 0;
        margin: auto;
        width: 0;
        height: 0;
    }

    section.merit div.container div.flow div dt {
        font-size: 24px;
    }

    section.merit div.container div.flow div dd p {
        font-size: 14px;
    }

    section.merit div.appeal {
        width: 100%;
        margin-top: 0;
    }

    section.merit div.appeal div {
        text-align: center;
        font-size: 20px;

    }


    /* Plan（未使用）: <section class="wrap plan"> */

    section.plan {
        margin: 60px 0 60px 0;
    }

    section.plan h2 {
        font-size: 26px;
        margin: 0 auto 40px;
    }

    section.plan div.container {
        padding: 10px 10px !important;
    }

    section.plan div.container div.flexbox {
        height: auto;
        width: 100%;
        flex-direction: column;
        margin: 0 auto 20px;
    }

    section.plan div.container div.flexbox div {
        position: relative;
        width: 100%;
        padding: 30px 0 10px 0;
    }

    section.plan div.container div.flexbox div p.unit-price span {
        font-size: 38px;
    }

    section.plan div.container div.flexbox div p.eye-catch {
        top: -10px;
    }

    section.plan div.container div.flexbox div.center p.eye-catch {
        padding: 3px 0;
    }

    section.plan div.container div.flexbox div.right p.eye-catch {
        width: 110px;
    }

    section.plan div.container div.flexbox div.left {
        left: 0;
        z-index: 0;
        height: auto;
        margin-bottom: 30px;
    }

    section.plan div.container div.flexbox div.center {
        padding: 45px 0 20px 0;
        margin-bottom: 30px;
    }

    section.plan div.container div.flexbox div.right {
        right: 0;
        z-index: 0;
        height: auto;
    }

    section.plan div.container div.recommend {
        width: 100%;
        font-size: 14px;
    }

    section.plan div.container div.proposal {
        width: 100%;
        border-radius: 10px;
        font-size: 18px;
        padding: 20px 0 30px 0;
    }

    section.plan div.container div.proposal a {
        font-size: 22px;
        width: 250px;
        border-radius: 5px;
        padding: 5px 0;
    }

    /* FAQ: <section class="wrap faq"> */
    section.faq {
        padding: 80px 0 0 0;
        margin-bottom: 60px;
    }

    .faq div.conts-area {
        width: 100%;
    }

    .faq div.conts-area h3 {
        padding: 20px 20px 20px 55px;
        font-size: 16px;
    }

    .faq div.conts-area h3:before {
        width: 25px;
        height: 25px;
        line-height: 25px;
        font-size: 16px;
    }

    .faq div.conts-area p.answer {
        padding: 20px 20px 20px 55px;
    }

    .faq div.conts-area p.answer:before {
        left: 18px;
        width: 25px;
        height: 25px;
        line-height: 25px;
        font-size: 16px;
    }

    .faq div.conts-area p.answer span {
        font-weight: bold;
    }

    /* Experience: <section class="wrap experience"> */
    section.experience {
        margin: 60px 0 0 0;
    }

    section.experience ul.flexbox {
        flex-direction: column;
    }

    section.experience h2 {
        margin: 0 0 0 0;
    }

    section.experience ul {
        width: 100%;
        margin: 0 auto;
    }

    section.experience ul li {
        width: 100%;
        margin: 30px 0;
    }



    section.experience ul li a {
        font-size: 16px;
        font-weight: bold;
        width: 160px;
        border-radius: 5px;
    }

    section.experience ul li p {
        top: -15px;
        font-size: 20px;
        padding: 0 0;
    }

    section.experience div.utility {
        flex-direction: column;
        width: 100%;
    }

    section.experience div.utility p {
        width: 100%;
        margin: 10px 0 30px 0;
    }

    section.experience div.utility p a {
        font-size: 18px;
        padding: 10px 0 10px 70px;
        box-sizing: border-box;
        cursor: pointer
    }

    section.experience div.utility p a::before {
        width: 55px;
        height: 31px;
        top: 5px;
    }

    section.experience div.utility p span {
        position: relative;
        display: block;
        top: 10px;
        left: 70px;
        font-size: 14px;
        color: #CC0003;
    }



    /* CV Area: <section class="wrap cv-area"> */

    section.cv-area {
        background-size: cover;
        padding: 80px 0 10px 0;
    }

    section.cv-area div.flexbox {
        width: 100%;
    }

    section.cv-area div.flexbox div:first-child {
        width: 100%;
    }

    section.cv-area div.flexbox div:last-child {
        width: 100%;
    }

    section.cv-area div.flexbox p {
        font-size: 24px;
    }

    section.cv-area div.flexbox a.cv-btn {
        border-radius: 5px;
        width: 100%;
        padding: 5px 0;
        font-size: 24px;
    }

    section.cv-area div.flexbox a.cv-btn02 {
        border-radius: 5px;
        width: 100%;
        margin: 20px auto 0;
        padding: 5px 0;
        font-size: 24px;
    }

    div.footer {
        text-align: center !important;
        padding: 10px 0 !important;
        border-top: 1px solid #000
    }


}


/* Popup: #popup / #overlay / #window */
input {
    display: none;
}

/* ポップアップwindow部分 */
#overlay {
    visibility: hidden;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1000;
    width: 100%;
    height: 100%;
}

/* オーバーレイの背景部分 */
#bg_gray {
    background: rgba(0, 0, 0, 0.5);
    width: 100%;
    height: 100%;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 80;
}

/* ウィンドウ部分 */
#window {
    width: 50%;
    padding: 20px;
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background: #fff;
    border-radius: 10px;
    box-shadow: 0px 0px 20px -6px rgba(0, 0, 0, 0.6);
    z-index: 90;
    opacity: 0;
}

@media (width <=767px) {

    /* ウィンドウ部分 */
    #window {
        width: 100%;
        padding: 20px;
        position: fixed;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        background: #fff;
        border-radius: 10px;
        box-shadow: 0px 0px 20px -6px rgba(0, 0, 0, 0.6);
        z-index: 90;
        opacity: 0;
    }
}


/* ウィンドウ部分-video */

#window video {
    width: 100%;
    height: 100%;
}

/* 閉じるボタン */
#btn_cloth {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 40px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #000000;
    border-radius: 5px;
    z-index: 100;
    cursor: pointer;
}

#btn_cloth:hover {
    opacity: 0.7;
}

#btn_cloth span,
#btn_cloth span::before {
    display: block;
    height: 3px;
    width: 25px;
    border-radius: 3px;
    background: #fff;
}

#btn_cloth span {
    transform: rotate(45deg);
}

#btn_cloth span::before {
    content: "";
    position: absolute;
    bottom: 0;
    transform: rotate(-90deg);
}


/* クリックで表示 */
#popup:checked~#overlay {
    visibility: visible;
}

#popup:checked~#overlay #window {
    animation: fadein 500ms forwards;
    animation-timing-function: ease-in-out;
}

@keyframes fadein {
    100% {
        opacity: 1;
    }
}



/* Layout override: <main class="main-content"> 内は .wrap の min-width を解除 */
.main-content .wrap {
    min-width: unset;
}

/* FV: `.fv-area`（1140px以下で縦積み） */
.flexbox.fv-area {
    @media (width <=1140px) {
        flex-direction: column;

        div {
            width: 100%;
        }

        p,
        h2 {
            text-align: center !important;
        }
    }
}

/* Utilize: 活用例カード高さ調整（`.sora`） */
section.utilize {
    div.utilize-bottom {
        div.container {
            ul {
                li {
                    div.sora {
                        min-height: 203px;

                        @media (width <=767px) {
                            min-height: unset;
                        }

                        p {
                            width: 100%;
                        }
                    }
                }
            }
        }
    }
}

/* （未使用）旧プラン用: .unit-price */
.unit-price {
    i {
        display: block;
        font-size: 9px;
        margin-bottom: -7px;
        text-decoration: none;
    }
}

/* Floating banner: <div id="floatingBanner" class="floating-banner"> */
@keyframes bob {

    0%,
    20%,
    40%,
    100% {
        transform: translateY(0);
    }

    10%,
    30% {
        transform: translateY(-3px);
    }
}

.floating-banner {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 150px;
    aspect-ratio: 1 / 1;
    z-index: 1000;
    animation: bob 4s ease-in-out infinite;

    .banner-image {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .close-button {
        position: absolute;
        top: 4px;
        right: 4px;
        width: 30px;
        height: 30px;
        cursor: pointer;
        z-index: 10;
    }

    @media (width >=768px) {
        width: 250px;
    }
}

/* Top banner: <div class="fv-top-banner"> */
.fv-top-banner {
    position: fixed;
    top: 0;
    z-index: 100;
    width: 100%;
    background: #B22425;
    padding: 0;

    a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        padding: 0;
        margin: 0;

        img {
            width: 100%;
            max-width: 800px;
        }
    }

    @media (width <=767px) {
        padding: 8px 0;

        a {
            font-size: 16px;
        }
    }
}

.fv.child {
    background: linear-gradient(45deg, black, transparent);
    font-size: 18px;
    text-align: center;
    padding: 30px 0;
    margin: 0 0 90px;

    div.header {
        align-items: center;
        height: 100%;
        margin: 0 !important;
    }
}

.wrap.fv.child {
    @media (width <=767px) {
        .menu {
            display: none;
        }
    }
}

/* （未使用）FV メインキャッチバナー: .fv-main-banner */
.fv-main-banner {
    text-align: center;
    margin-bottom: 40px;

    img {
        max-width: 100%;
        height: auto;
        border-radius: 8px;
    }
}

/* （未使用）キャンペーン共通セクション: .campaign-section / .campaign-detail */
.campaign-section {
    background: #fff;
    padding: 40px 20px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    margin-bottom: 60px;

    .sec-title {
        font-size: 2rem;
        color: #FF650F;
        text-align: center;
        margin-bottom: 8px;
        font-weight: bold;
    }

    .sec-lead {
        font-size: 1.25rem;
        text-align: center;
        margin-bottom: 32px;
    }

    @media (width <=767px) {
        padding: 24px 16px;

        .sec-title {
            font-size: 1.75rem;
        }
    }
}

/* 各詳細ブロック */
.campaign-detail {
    margin-bottom: 32px;

    h3 {
        font-size: 1.5rem;
        color: #333;
        border-bottom: 2px solid #eee;
        padding-bottom: 8px;
        margin-bottom: 16px;

        @media (width <=767px) {
            font-size: 1.25rem;
        }
    }

    p,
    ul {
        font-size: 1rem;
        line-height: 1.8;
        color: #555;
    }

    ul {
        padding-left: 1.25em;

        li {
            margin-bottom: 8px;
            list-style: disc;
        }
    }

    &.notes {
        p {
            color: #777;
            font-size: 0.95rem;
        }
    }
}

/* ボタンラップ＆ボタン */
.button-wrap {
    text-align: center;
    margin-top: 16px;
}

.btn-primary {
    display: inline-block;
    background-color: #FF650F;
    color: #fff !important;
    padding: 12px 28px;
    border-radius: 4px;
    font-size: 1rem;
    font-weight: bold;
    transition: background-color 0.3s;

    &:hover {
        background-color: #E05500;
    }
}

/* Steps: <section class="wrap steps"> */

.steps {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 92px 16px;

    .container {
        max-width: 980px;
        padding: 0px;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        gap: 52px;

        &::before {
            display: none;
        }
    }

    .card-t {
        font-size: 22px;
        line-height: 110%;

        @media (width <=767px) {
            font-size: 18px;
        }
    }

    .steps-wrap {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        gap: 24px;
        width: 100%;
    }

    .steps-card-container {
        display: flex;
        align-items: flex-start;
        justify-content: center;
        gap: 24px;
        flex-wrap: wrap;

    }

    .steps-card {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        gap: 16px;
        width: calc((100% / 3) - ((24px * 2) / 3));
        min-width: 240px;
        max-width: 320px;

        @media (width <=767px) {
            width: 100%;
            min-width: 240px;
            max-width: 350px;
        }

        p {
            font-size: 16px;
            text-align: justify;

            a {
                font-weight: 600;
                text-decoration: underline;
            }
        }

        figure,
        img {
            width: 100%;
        }
    }

    .tutorial-vid {
        display: none;
        align-items: center;
        justify-content: center;
        position: fixed;
        z-index: 100;
        top: 0;
        left: 0;
        width: 100lvw;
        height: 100lvh;
        opacity: 0;
        padding: 8px;
        background-color: rgba(0, 0, 0, 0.5);
        backdrop-filter: blur(100px);
        transition: opacity 0.3s, display 0.3s allow-discrete;
        /* allow-discreteでdisplayがトランジション可能に */

        &.on {
            display: flex;
            opacity: 1;

            @starting-style {
                opacity: 0;
            }
        }

        #vid-close {
            display: flex;
            align-items: center;
            justify-content: center;
            position: absolute;
            right: 20px;
            top: 20px;
            width: 60px;
            height: 60px;
            background-color: rgba(0, 0, 0, 0.8);
            border: 0 none;

            svg#a {
                width: 50px;
                height: 2px;
                background: #fff;
                position: absolute;
                transform: rotate(45deg);
            }

            svg#b {
                width: 50px;
                height: 2px;
                background: #fff;
                transform: rotate(-45deg);
            }
        }

        .frame-vid {
            width: 100%;
            aspect-ratio: 16/9;
            max-width: 1200px;
            display: none;
            opacity: 0;

            &.on {
                display: flex;
                opacity: 1;
            }
        }
    }
}

.vid {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    flex-direction: row;

    &.steps-wrap {
        flex-direction: row;

        @media (width <=767px) {
            flex-direction: column;
        }
    }

    @media (width <=767px) {
        flex-direction: column;
    }
}

button.vid-opener {
    width: calc((100% / 2) - (16px / 2));
    max-width: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    gap: 16px;
    border-radius: 8px;
    border: 2px solid #000;
    background: none;

    @media (width <=767px) {
        flex-direction: column;
        width: 100%;

        * {
            text-align: center;
        }
    }

    &::before {
        content: "";
        width: 44px;
        height: 32px;
        background: url('https://www.labonetwork.co.jp/wp-content/uploads/ico-vid.svg') center center no-repeat;
    }

    .t {
        display: flex;
        align-items: flex-start;
        justify-content: center;
        flex-direction: column;
        gap: 4px;

        @media (width <=767px) {
            align-items: center;
        }

        strong {
            font-size: 16px;
            line-height: 100%;
        }

        span {
            font-size: 14px;
            line-height: 100%;
        }
    }
}


/* Plan Cards: <section class="wrap plan-2"> */
section.plan-2 {
    margin-bottom: 140px;

    div.container {
        padding: 10px 110px;

        @media (width <=767px) {
            padding: 0 10px;
        }
    }
}

.plan-wrap {
    margin: 80px 0 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 40px;

    @media (width <=767px) {
        margin: 40px 0 0;
    }

    p {
        padding: 0;
        margin: 0;
        text-align: center;
    }
}

.plan-card__main {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px;

    @media (width <=767px) {
        flex-wrap: wrap;
    }
}

.plan-card__card {
    width: calc((100% / 3) - ((40px * 2) / 3));
    min-height: 265px;
    padding: 0 16px;
    border-radius: 12px;
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 16px;
    position: relative;

    @media (width <=767px) {
        width: 100%;
        min-height: 220px;
    }

    &.__year {
        box-shadow: 0 0 40px rgba(188, 0, 0, 0.40);
        border: 2px solid #BC0000;
    }
}

.plan-card__tag {
    width: 70px;
    min-height: 25px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 600;
    line-height: 0;
    border-radius: 1000px;
    position: absolute;
    top: calc(-25px / 2);
    background: #ffffff;

    &.__a {
        background: #ffffff;
        color: #BC0000;
        border: 2px solid #BC0000;
    }

    &.__b {
        background: #000000;
        color: #ffffff;
    }
}

.plan-card__catch {
    min-height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
}

.plan-card__title {
    font-size: 22px;
    font-weight: 700;
    line-height: 1;
    color: #BC0000;
}

.plan-card__desc {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.2;
}

.plan-card__cta {
    width: 100%;
    max-width: 180px;
    min-height: 40px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-radius: 6px;

    &.__a {
        border: 2px solid #BC0000;
        color: #BC0000;
    }

    &.__b {
        background: linear-gradient(to right, #CA0000, #8E0000 100%);
        color: #ffffff;
    }
}

.plan-card__sub {
    width: 100%;
    min-height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 16px;
    border-radius: 6px;
    border: 2px solid #777777;
    color: #777 !important;

    * {
        color: #777 !important;
    }
}