@charset "UTF-8";

/*-----------------------------------------------------
    PC
-----------------------------------------------------*/
/* common
-----------------------------------------------------*/
/* system */
:is(#aga,#lp_aga) .forPC {
    display: block;
}

:is(#aga,#lp_aga) .forSP {
    display: none;
}
/* reset */
:is(#aga,#lp_aga) .main a {
    text-decoration: none;
}

:is(#aga,#lp_aga) .main p,
:is(#aga,#lp_aga) .main p:first-child,
:is(#aga,#lp_aga) .main p:last-child {
    margin: 0;
    text-align: inherit;
    color: #002348;
}

:is(#aga,#lp_aga) .main img {
    max-width: 100%;
}

:is(#aga,#lp_aga) .main .card {
    position: static;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    min-width: auto;
    word-wrap: normal;
    background-color: transparent;
    background-clip: border-box;
    border: none;
    border-radius: 0;
}

/* layout */
:is(#aga,#lp_aga) .main {
    font-family: 'Noto Serif JP';
}

:is(#aga,#lp_aga) .inner {
    max-width: 1080px;
    margin: 0 auto;
    padding: 64px 0;
}
:is(#aga,#lp_aga) .section {
    /* padding: 48px 0; */
}

/* parts */
/* ボタン*/
:is(#aga,#lp_aga) .button {
    display: block;
    border-radius: 64px;
    padding: 12px 0;
    text-align: center;
    width: 248px;
    margin: 0 auto;

    font-family: "Noto Sans JP";
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 160%; /* 32px */
    
    position: relative;
    transition: 0.2s ease;
}
:is(#aga,#lp_aga) .button::after {
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    background-position: center;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%);
}
:is(#aga,#lp_aga) .button:hover {
    opacity: 0.4;
    transition: 0.2s ease;
}
/* ボタン セクションConcept　調整*/
:is(#aga,#lp_aga) .button.concept {
    background: #002348;
    color: #ffffff;
}
:is(#aga,#lp_aga) .button.concept::after {
    background-image: url(../img/arrow_w.svg);
}
/* ボタン セクションCTA　調整*/
:is(#aga,#lp_aga) .button.cta {
    background: #FFF;
    color: #000000;
}
:is(#aga,#lp_aga) .button.cta::after {
    background-image: url(../img/arrow.svg);
}

/* mainvisual
-----------------------------------------------------*/
:is(#aga,#lp_aga) #mainvisual {
    height: 640px;
    background-image: url(../img/mv_bg_pc.jpg);
    background-position: top center;
    background-size: cover;
    padding: 0;
    position: relative;
    z-index: 1;
}
:is(#aga,#lp_aga) #mainvisual .inner {
    max-width: 1280px;
    padding: 40px 64px 10px;
    display: flex;
    flex-direction: column;
    gap: 30px;
}
:is(#aga,#lp_aga) #mainvisual .top,
:is(#aga,#lp_aga) #mainvisual .bottom {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
}
:is(#aga,#lp_aga) #mainvisual .bottom {
    align-items: center;
}
:is(#aga,#lp_aga) #mainvisual .top .left {
    width: 60%;
}
:is(#aga,#lp_aga) #mainvisual .top .right {
    width: 38%;
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
}
:is(#aga,#lp_aga) #mainvisual .bottom .left {
    width: 42%;
}
:is(#aga,#lp_aga) #mainvisual .bottom .right {
    width: 56%;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row-reverse;
    gap: 22px;
}
:is(#aga,#lp_aga) #mainvisual .top .right img {
    padding-top: 16px;
}
:is(#aga,#lp_aga) #mainvisual .label {
    width: fit-content;
    background: #002348;
    padding: 8px 24px;
    margin-bottom: 26px;
    color: #ffffff;
    font-size: 24px;
    text-align: center;
    font-weight: 700;
    line-height: 160%;
}
:is(#aga,#lp_aga) #mainvisual .catchcopy {
    /* display: flex; */
    max-width: 764px;
    width: 100%;
}
:is(#aga,#lp_aga) #mainvisual .overlap {
    position: relative;
    text-align: right;
    /* width: 480px; */
    /* height: auto; */
}
:is(#aga,#lp_aga) #mainvisual .overlap p {
    display: inline-block;
    position: relative;
    font-size: 88px;
    font-weight: 900;
    line-height: 160%;
    letter-spacing: -9px;
    white-space: nowrap;
}
:is(#aga,#lp_aga) #mainvisual .overlap p::after {
    position: absolute;
    z-index: 5;
    left: 5px;
    top: 14px;
    content: "生え続ける。";
    mix-blend-mode: overlay;
    color: #6F6F6F;
}
:is(#aga,#lp_aga) #mainvisual .sub-catchcopy {
    color: #ffffff;
    font-size: 32px;
    font-weight: 700;
    line-height: 160%;
}
:is(#aga,#lp_aga) #mainvisual {

}
/* system */
:is(#aga,#lp_aga) #mainvisual .mvPC {
    display: inherit;
}
:is(#aga,#lp_aga) #mainvisual .mvTablet {
    display: none;
}
:is(#aga,#lp_aga) #mainvisual .mvSP {
    display: none;
}

/* sec-concept
-----------------------------------------------------*/
:is(#aga,#lp_aga) #sec-concept {
    background: url(../img/concept_bg.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    color: #fff;
}
:is(#aga,#lp_aga) #sec-concept .flex {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 38px;
    max-width: 1080px;
    width: 100%;
    margin: 0 auto;
    padding: 48px 0;
}
:is(#aga,#lp_aga) #sec-concept .sub-heading {
    border: 2px solid #002348;
    color: #002348;
    font-size: 24px;
    font-weight: 900;
    padding: 4px 20px;
    width: 287px;
    text-align: center;
}
:is(#aga,#lp_aga) #sec-concept .heading {
    font-size: 32px;
    font-weight: 600;
    line-height: 140%;
    color: #002348;
    margin: 0;
}
:is(#aga,#lp_aga) #sec-concept .heading .large {
    font-size: 48px;
    font-weight: 600;
    line-height: 140%;
    color: #002348;
}
:is(#aga,#lp_aga) #sec-concept .heading .marker {
    background: linear-gradient(transparent 90%, #88D1D1 10%);
    display: inline;
}
:is(#aga,#lp_aga) #sec-concept .list {
    text-align: center;
}

/* sec-about
-----------------------------------------------------*/
:is(#aga,#lp_aga) #sec-about {
    text-align: center;
    background: #ffffff;
}
:is(#aga,#lp_aga) #sec-about .inner {
    max-width: 880px;
}
:is(#aga,#lp_aga) #sec-about .sec-title {
    margin-bottom: 56px;
}
:is(#aga,#lp_aga) #sec-about .sec-desc {
    color: #002348;
    font-size: 20px;
    font-weight: 500;
    line-height: 220%;
}

/* sec-technology
-----------------------------------------------------*/
:is(#aga,#lp_aga) #sec-technology {
    position: relative;
    background-image: url(../img/technology_bg.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    color: #fff;
    overflow: hidden;
}
:is(#aga,#lp_aga) #sec-technology .inner {
    max-width: 930px;
    padding: 78px 0 114px;
}
:is(#aga,#lp_aga) #sec-technology .sec-title {
    margin-bottom: 92px;
    position: relative;
}
:is(#aga,#lp_aga) #sec-technology .sec-title::before,
:is(#aga,#lp_aga) #sec-technology .sec-title::after {
    content: "";
    position: absolute;
    width: 790px;
    height: 57px;
    background-repeat: no-repeat;
    background-size: 790px auto;
}
:is(#aga,#lp_aga) #sec-technology .sec-title::before {
    top: -46px;
    right: -170px;
    background-image: url(../img/technology_line_02.png);
}
:is(#aga,#lp_aga) #sec-technology .sec-title::after {
    bottom: -44px;
    left: -170px;
    background-image: url(../img/technology_line_01.png);
}
:is(#aga,#lp_aga) #sec-technology .sec-lead {
    color: #fff;
    text-align: center;
    font-size: 20px;
    font-weight: 700;
    line-height: 220%;
}
:is(#aga,#lp_aga) #sec-technology .sec-lead span {
    font-size: 24px;
}

/* sec-method
-----------------------------------------------------*/
:is(#aga,#lp_aga) #sec-method .sec-title {
    color: #002348;
    text-align: center;
    font-size: 40px;
    font-weight: 700;
    line-height: 140%; /* 56px */
    margin-bottom: 32px;
}
:is(#aga,#lp_aga) #sec-method .sec-lead {
    text-align: center;
    margin-bottom: 48px;
}
:is(#aga,#lp_aga) #sec-method .cards {
    display: flex;
    flex-direction: column;
    gap: 48px;
}
:is(#aga,#lp_aga) #sec-method .card {
    display: flex;
    flex-direction: row;
    gap: 32px;
}
:is(#aga,#lp_aga) #sec-method .card-content {
    width: 544px;
}
:is(#aga,#lp_aga) #sec-method .card-img {
    flex: 1;
}
:is(#aga,#lp_aga) #sec-method .card-content h3 {
    color: #002348;
    font-size: 32px;
    font-weight: 700;
    line-height: 180%;
    margin-bottom: 16px;
}
:is(#aga,#lp_aga) #sec-method .card-content p {
    color: #002348;
    font-size: 16px;
    font-weight: 400;
    line-height: 180%; /* 28.8px */   
}

/* sec-cta
-----------------------------------------------------*/
:is(#aga,#lp_aga) #sec-cta {
    background-image: url(../img/cta_bg.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
:is(#aga,#lp_aga) #sec-cta .inner {
    padding: 48px 0 ;
}
:is(#aga,#lp_aga) #sec-cta .inner img {
    /* margin-bottom: 26px; */
    margin-bottom: 100px;
}

/* customers-voice
-----------------------------------------------------*/
:is(#aga,#lp_aga) #sec-customers-voice {
    /* font-family: 'Noto Sans JP',sans-serif; */
    font-family: "Inter", sans-serif;

}
:is(#aga,#lp_aga) #sec-customers-voice .sec-title {
    text-align: center;
    font-size: 32px;
    font-weight: 700;
    line-height: 140%;
}
:is(#aga,#lp_aga) #sec-customers-voice .cards {
    display: flex;
    gap: 80px;
    flex-direction: column;
}
:is(#aga,#lp_aga) #sec-customers-voice .card {
    width: 100%;
    padding: 64px 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.10);
    gap: 40px;
}
:is(#aga,#lp_aga) #sec-customers-voice .card ul.label {
    display: flex;
    align-items: flex-start;
    gap: 32px;
    align-self: stretch;
    margin: 0;
}
:is(#aga,#lp_aga) #sec-customers-voice .card ul.label li {
    display: flex;
    padding: 8px 40px;
    justify-content: center;
    align-items: center;
    list-style: none;
    border-radius: 100px;
    border: 2px solid #032149;
    color: #032149;
    font-size: 16px;
    font-weight: 600;
    line-height: 160%;
    margin: 0;
}
:is(#aga,#lp_aga) #sec-customers-voice .card .title {
    color: #032149;
    font-size: 24px;
    font-weight: 600;
    line-height: 160%;
    padding-bottom: 10px;
    border-bottom: 2px solid #032149;
}
:is(#aga,#lp_aga) #sec-customers-voice .card .lead p {
    padding-bottom: 16px;
    color: #000;
    /* font-family: Inter; */
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 160%;
}
:is(#aga,#lp_aga) #sec-customers-voice .card table {
    width: 100%;
}
:is(#aga,#lp_aga) #sec-customers-voice .card table th {
    width: 200px;
    text-align: center;
    padding: 30px 0;
    color: #333;
    font-size: 24px;
    font-weight: 600;
    line-height: 160%;
}
:is(#aga,#lp_aga) #sec-customers-voice .card table td {
    font-size: 24px;
    font-weight: 500;
    line-height: 160%;
    padding-left: 40px;
}

/* cautions
-----------------------------------------------------*/
:is(#aga,#lp_aga) #sec-cautions .flex {
    display: flex;
    flex-direction: column;
    gap: 64px;
}
:is(#aga,#lp_aga)  #sec-cautions .block {
    display: flex;
    flex-direction: column;
    gap: 40px;
}
:is(#aga,#lp_aga)  #sec-cautions .title {
    color: #111111;
    text-align: center;
    font-family: Inter;
    font-size: 24px;
    font-weight: 400;
    line-height: 160%;
}
:is(#aga,#lp_aga) #sec-cautions table {
    width: 100%;
}
:is(#aga,#lp_aga) #sec-cautions th {
    background-color: #FCFCFC;
    text-align: center;
}
:is(#aga,#lp_aga) #sec-cautions th,
:is(#aga,#lp_aga) #sec-cautions td {
    padding: 24px;
    border: 1px solid #C7C7C7;
}
:is(#aga,#lp_aga) #sec-cautions .card {
    width: 100%;
    flex-direction: column;
    gap: 16px;
    padding: 24px;
    border: 1px solid #C7C7C7;
    word-break: break-word;
}
:is(#aga,#lp_aga) #sec-cautions .card p {
    font-size: 16px;
    color: #111111;
}
:is(#aga,#lp_aga) #sec-cautions .card a,
:is(#aga,#lp_aga) #sec-cautions .card a:visited {
    color: #0078CA;
    text-decoration: underline;
}

/*-----------------------------------------------------
    TB
-----------------------------------------------------*/
@media screen and (max-width: 1080px) {
    /* mainvisual
    -----------------------------------------------------*/
    :is(#aga,#lp_aga) #mainvisual .inner {
        max-width: 768px;
        padding: 32px 40px 24px;
        gap: 58px;
    }
    :is(#aga,#lp_aga) #mainvisual .top .left {
        width: 100%;
    }
    :is(#aga,#lp_aga) #mainvisual .top .right {
        display: none;
    }
    :is(#aga,#lp_aga) #mainvisual .bottom .left {
        width: 29%;
    }
    :is(#aga,#lp_aga) #mainvisual .bottom .right {
        width: 67%;
    }
    :is(#aga,#lp_aga) #mainvisual .bottom .right .mvTablet {
        display: flex;
        flex-direction: column;
        align-items: end;
        gap: 24px;
    }
    :is(#aga,#lp_aga) #mainvisual .label {
        margin-bottom: 16px;
    }
    :is(#aga,#lp_aga) #mainvisual .overlap p {
        line-height: 140%;
    }
    :is(#aga,#lp_aga) #mainvisual .sub-catchcopy {
        font-size: 20px;
    }
    :is(#aga,#lp_aga) #mainvisual .price {
        max-width: 440px;
    }
    :is(#aga,#lp_aga) #mainvisual .mvPC {
        display: none;
    }
    :is(#aga,#lp_aga) #mainvisual .mvTablet {
        display: inherit;
    }
    :is(#aga,#lp_aga) #mainvisual .mvSP {
        display: none;
    }

}

/*-----------------------------------------------------
    SP
-----------------------------------------------------*/
@media screen and (max-width: 767px) {
    /* system */
    :is(#aga,#lp_aga) .forPC {
        display: none;
    }
    :is(#aga,#lp_aga) .forSP {
        display: block;
    }
    /* layout */
    :is(#aga,#lp_aga) .inner {
        padding: 0 24px;
    }
    :is(#aga,#lp_aga) .section {
        /* padding: 48px 0; */
    }

    /* mainvisual
    -----------------------------------------------------*/
    :is(#aga,#lp_aga) #mainvisual {
        background-image: url(../img/mv_bg_tab.jpg);
        /* height: 622px; */
        overflow: hidden;
        background-position: bottom left;
    }
    :is(#aga,#lp_aga) #mainvisual .inner {
        max-width: 390px;
        padding: 24px;
        gap: 123px;
    }
    :is(#aga,#lp_aga) #mainvisual .bottom .left {
        display: none;
    }
    :is(#aga,#lp_aga) #mainvisual .bottom .right {
        width: 100%;
    }
    :is(#aga,#lp_aga) #mainvisual .label {
        font-size: 20px;
    }
    :is(#aga,#lp_aga) #mainvisual .overlap p {
        line-height: 140%;
        font-size: 70px;
        letter-spacing: -9px;
    }
    :is(#aga,#lp_aga) #mainvisual .overlap p::after {
        left: 3px;
        top: 10px;
    }
    :is(#aga,#lp_aga) #mainvisual .bottom .right .mvTablet {
        display: none;
    }
    :is(#aga,#lp_aga) #mainvisual .bottom .right .mvSP {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    :is(#aga,#lp_aga) #mainvisual .sub-catchcopy {
        font-size: 16px;
    }
    :is(#aga,#lp_aga) #mainvisual .bottom .right p.lead {
        font-size: 20px;
        line-height: 160%;
        font-weight: bold;
        color: #ffffff;
    }
    :is(#aga,#lp_aga) #mainvisual .bottom .right .exosome-mesogun {
        margin-top: 16px;
    }
    :is(#aga,#lp_aga) #mainvisual .price {
        max-width: 342px;
        width: 100%;
    }
    :is(#aga,#lp_aga) #mainvisual .mvPC {
        display: none;
    }
    :is(#aga,#lp_aga) #mainvisual .mvTablet {
        display: none;
    }
    :is(#aga,#lp_aga) #mainvisual .mvSP {
        display: inherit;
    }
    
    /* sec-concept
    -----------------------------------------------------*/
    :is(#aga,#lp_aga) #sec-concept {
        background: url(../img/concept_bg_sp.jpg);
        background-position: top center;
        background-repeat: no-repeat;
        background-size: cover;
    }
    :is(#aga,#lp_aga) #sec-concept .heading {
        font-size: 18px;
        text-align: center;
    }
    :is(#aga,#lp_aga) #sec-concept .heading .large {
        font-size: 24px;
    }
    :is(#aga,#lp_aga) #sec-concept .flex {
        padding: 56px 24px;
    }
    :is(#aga,#lp_aga) #sec-concept .list {
        max-width: 268px;
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        gap: 13px;
    }

    /* sec-about
    -----------------------------------------------------*/
    :is(#aga,#lp_aga) #sec-about .inner {
        padding: 56px 24px;
    }
    :is(#aga,#lp_aga) #sec-about .sec-title {
        margin-bottom: 32px;
    }
    :is(#aga,#lp_aga) #sec-about .sec-desc {
        font-size: 16px;
        text-align: left;
    }

    /* sec-technology
    -----------------------------------------------------*/
    :is(#aga,#lp_aga) #sec-technology {
    }
    :is(#aga,#lp_aga) #sec-technology .inner {
        padding: 80px 0 40px;
    }
    :is(#aga,#lp_aga) #sec-technology .sec-title {
        max-width: 472px;
        width: 100%;
        margin: 0 auto 80px;
    }
    :is(#aga,#lp_aga) #sec-technology .sec-title::before,
    :is(#aga,#lp_aga) #sec-technology .sec-title::after {
        width: 486px;
        background-size: 486px auto;
    }
    :is(#aga,#lp_aga) #sec-technology .sec-title::before {
        background-image: url(../img/technology_line_02_sp.png);
    }
    :is(#aga,#lp_aga) #sec-technology .sec-title::after {
        background-image: url(../img/technology_line_01_sp.png);
    }
    :is(#aga,#lp_aga) #sec-technology .sec-lead {
        max-width: 390px;
        width: 100%;
        font-size: 16px;
        padding: 0 24px;
        margin: 0 auto;        
    }
    :is(#aga,#lp_aga) #sec-technology .sec-lead span {
        font-size: 20px;
    }

    /* sec-method
    -----------------------------------------------------*/
    :is(#aga,#lp_aga) #sec-method {
        padding: 48px 0;
    }
    :is(#aga,#lp_aga) #sec-method .sec-title {
        font-size: 32px;
    }
    :is(#aga,#lp_aga) #sec-method .sec-lead {
        margin-bottom: 32px;
    }
    :is(#aga,#lp_aga) #sec-method .cards {
        padding: 0 16px;
    }
    :is(#aga,#lp_aga) #sec-method .card {
        flex-direction: column;
        gap: 16px;
    }
    :is(#aga,#lp_aga) #sec-method .card-content {
        width: 100%;
    }
    :is(#aga,#lp_aga) #sec-method .card-content h3 {
        font-size: 18px;
    }
    
    /* cta
    -----------------------------------------------------*/
    :is(#aga,#lp_aga) #sec-cta {
        background-image: url(../img/cta_bg_sp.jpg);
        text-align: center;
    }
    :is(#aga,#lp_aga) #sec-cta .inner {
        padding: 48px 24px;
    }

    /* customers-voice
    -----------------------------------------------------*/
    :is(#aga,#lp_aga) #sec-customers-voice .inner {
        padding: 48px 24px;

    }
    :is(#aga,#lp_aga) #sec-customers-voice .cards {
        gap: 24px;
    }
    :is(#aga,#lp_aga) #sec-customers-voice .card {
        padding: 64px 24px;
        gap: 24px;
    }
    :is(#aga,#lp_aga) #sec-customers-voice .card ul.label {
        gap: 10px;
        flex-wrap: wrap;
    }
    :is(#aga,#lp_aga) #sec-customers-voice .card ul.label li {
        padding: 8px 24px;
        font-size: 14px;
    }
    :is(#aga,#lp_aga) #sec-customers-voice .card .title {
        font-size: 20px;
    }
    :is(#aga,#lp_aga) #sec-customers-voice .card table th {
        width: 100px;
        padding: 16px 0;
        font-size: 18px;
    }
    :is(#aga,#lp_aga) #sec-customers-voice .card table td {
        font-size: 18px;
        padding: 16px;
    }


    /* cautions
    -----------------------------------------------------*/
    :is(#aga,#lp_aga) #sec-cautions .inner {
        padding: 56px 24px;
    }
    :is(#aga,#lp_aga) #sec-cautions .flex {
        gap: 56px;
    }
    :is(#aga,#lp_aga)  #sec-cautions .block {
        gap: 24px;
    }
    :is(#aga,#lp_aga) #sec-cautions th {
        padding: 10px;
    }
    :is(#aga,#lp_aga) #sec-cautions .card a,
    :is(#aga,#lp_aga) #sec-cautions .card a:visited {
        color: #0078CA;
        text-decoration: underline;
    }

}


/* 画面幅425px以下 MV調整 */
@media screen and (max-width: 425px) {
    /* mainvisual
    -----------------------------------------------------*/
    :is(#aga,#lp_aga) #mainvisual {
        background-image: url(../img/mv_bg_sp.jpg);
    }

}