@charset "UTF-8";

body {
    margin-top: 0;
    font-family: "遊ゴシック", "Hiragino Kaku Gothic Pro W3", "ヒラギノ角ゴ Pro W3";
}

p {
    font-size: 1.042vw;
    display: flex;
    justify-content: center;
    align-items: center;
    /* line-height: 2vw; */
    line-height: 2;
}

.pc {}

.tab {
    display: none;
}

/*base*/

[data-width="full"] {
    width: 100%;
}

[data-width="base"] {
    max-width: 78.125vw;
    padding: 0px;
}

[data-width="table"] {
    max-width: 1200px;
    padding: 0px;
}

[data-width="base_m"] {
    max-width: 71.617vw;
}

[data-width="base_s"] {
    max-width: 54.117vw;
}

[data-width="slim"] {
    max-width: 1000px;
    gap: 2.083vw !important;
}

p[data-width="slim"] {
    max-width: calc(1000px + 100px);
    padding: 0px 00px;
}

[data-width="tight"] {
    max-width: calc(960px + 20px);
    padding: 0px 20px;
}

[data-width="thin"] {
    max-width: calc(715px + 20px);
    padding: 0px 20px;
}

[data-bg="white"] {
    background-color: #E6E5E3;
    color: #000000 !important;
}

[data-bg="blue"] {
    background-color: #ECF5FB;
    padding-top: 5.2083vw;
    padding-bottom: 5.2083vw;
}

[data-bg="sky"] {
    background-color: #019BFD;
    padding-top: 0;
}

[data-bg="sky"].list-arrow {
    padding-top: 0 !important;
}

[data-bg="apricot"] {
    background-color: #FFF6E9;
}

[data-bg="chill"] {
    background-color: #E1F3EE;
}

[data-bg="sun"] {
    background-color: #F98D00;
    color: white;
}

[data-bg="green"] {
    background-color: #01A477;
    color: white;
}

/* base */

.bels_cover {
    padding: clamp(15px, calc(30 / 1920 * 100vw), 30px);
    background-color: white;
}

section {
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: center;
    overflow-x: hidden;
    padding-top: 6.25vw;
    padding-bottom: 6.25vw;
    margin: 0;
}

main section:first-child {
    margin-top: 0px;
}

main section:last-child {
    padding-bottom: 6.25vw;
    margin-bottom: 0;
    padding-top: 6.25vw;
}

.top main section:first-child {
    margin-top: 0px;
    /* padding-top: 120px; */
    /* padding-bottom: 120px; */
}

.sub main section:first-child {
    padding-top: 0;
}

section .wrap {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 4.16vw;
    align-items: center;
}

h3 {
    font-size: 31px;
    font-weight: 900;
}

.half {
    display: flex;
    gap: 50px;
}

.half div {
    width: 50%;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

div {
    position: relative;
    /* width: 100%; */
}

main {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

section {
    /* width:100%; */
    position: relative;
    overflow-y: hidden;
}





/* 単体部品
-------------------*/

.flex {
    display: flex;
    width: 100%;
    /* flex-wrap: wrap; */
    /* gap: 6.77083vw; */
}

.flex.row {
    flex-direction: row;
}

.flex.row.re {
    flex-direction: row-reverse;
}

.flex.col {
    flex-direction: column;
    /* justify-content: center; */
}

.flex.col.re {
    flex-direction: column-reverse;
}

.flex.ct {
    align-items: center;
    justify-content: center;
}

.flex.ct-ai {
    align-items: center;
}

.flex.ct-jc {
    justify-content: center;
}

.flex.re {
    flex-direction: row-reverse;
}


@media (max-width: 768px) {

    .plan {
        /* max-width: unset; */
    }

    .flex {}

    .flex.row {
        /* flex-direction: column; */
    }

    .flex.row.re {
        flex-direction: column;
    }

    .flex.col {}

    .flex.col.re {
        flex-direction: column;
    }

    .flex.ct {}

    .flex.ai-ct {}

    .flex.jc-ct {}

    .gap30.row2 .w50 {
        /* width: 100% !important; */
        /* max-width: 400px; */
    }


}

@media (max-width: 768px) {
    .gap30.row2 {}

}


@media (max-width: 767px) {
    .gap30.row2 .w50 {
        width: calc(50% - 10px) !important;
    }
}


@media (max-width: 500px) {
    .gap30.row2 .w50 {
        width: 100% !important;
    }

    ul.flex.wrap.gap30.row2 {
        flex-direction: column !important;
    }
}

.gap0 {
    gap: 0px !important;
}

.gap5 {
    gap: 5px !important;
}

.gap10 {
    gap: 10px !important;
}

.gap15 {
    gap: 15px !important;
}

.gap20 {
    gap: 20px !important;
}

.gap25 {
    gap: 25px !important;
}

.gap30 {
    gap: 30px !important;
}

@media (max-width: 767px) {
    .gap30 {
        gap: 20px !important;
    }
}

.gap35 {
    gap: 35px !important;
}

.gap40 {
    gap: 40px !important;
}

.gap45 {
    gap: 45px !important;
}

.gap50 {
    gap: 50px !important;
}

.gap55 {
    gap: 55px !important;
}

.gap60 {
    gap: 60px !important;
}

.gap65 {
    gap: 65px !important;
}

.gap70 {
    gap: 70px !important;
}

.gap75 {
    gap: 75px !important;
}

.gap80 {
    gap: 80px !important;
}

.gap85 {
    gap: 85px !important;
}

.gap90 {
    gap: 90px !important;
}

.gap95 {
    gap: 95px !important;
}

.gap100 {
    gap: 100px !important;
}

.flex.wrap {
    flex-wrap: wrap;
}



/* component
-------------------*/

.fs16 {
    font-size: 16px;
}

.border {
    border: solid 1px black;
}

.mg0a {
    margin: 0 auto !important;
}

.mgt0 {
    margin-top: 0px !important;
}

.mgb0 {
    margin-bottom: 0px !important;
}

.pdt0 {
    padding-top: 0px !important;
}

.pdb0 {
    padding-bottom: 0px !important;
}

.pd0 {
    padding: 0px !important;
}

.mgt5 {
    margin-top: 5px !important;
}

.mgb5 {
    margin-bottom: 5px !important;
}

.pdt5 {
    padding-top: 5px !important;
}

.pd5 {
    padding: 5px !important;
}

.mgt10 {
    margin-top: 10px !important;
}

.mgb10 {
    margin-bottom: 10px !important;
}

.pdt10 {
    padding-top: 10px !important;
}

.pd10 {
    padding: 10px !important;
}

.mgt15 {
    margin-top: 15px !important;
}

.mgb15 {
    margin-bottom: 15px !important;
}

.pdt15 {
    padding-top: 15px !important;
}

.pd15 {
    padding: 15px !important;
}

.mgt20 {
    margin-top: 20px !important;
}

.mgb20 {
    margin-bottom: 20px !important;
}

.pdt20 {
    padding-top: 20px !important;
}

.pd20 {
    padding: 20px !important;
}

.mgt25 {
    margin-top: 25px !important;
}

.mgb25 {
    margin-bottom: 25px !important;
}

.pdt25 {
    padding-top: 25px !important;
}

.pd20 {
    padding: 20px !important;
}

.pd25 {
    padding: 25px !important;
}

.mgt30 {
    margin-top: 30px !important;
}

.mgb30 {
    margin-bottom: 30px !important;
}

.pdt30 {
    padding-top: 30px !important;
}

.pd30 {
    padding: 30px !important;
}

.mgt35 {
    margin-top: 35px !important;
}

.mgb35 {
    margin-bottom: 35px !important;
}

.pdt35 {
    padding-top: 35px !important;
}

.pd35 {
    padding: 35px !important;
}

.mgt40 {
    margin-top: 40px !important;
}

.mgb40 {
    margin-bottom: 40px !important;
}

.pdt40 {
    padding-top: 40px !important;
}

.pd40 {
    padding: 40px !important;
}

.mgt45 {
    margin-top: 45px !important;
}

.mgb45 {
    margin-bottom: 45px !important;
}

.pdt45 {
    padding-top: 45px !important;
}

.pd45 {
    padding: 45px !important;
}

.mgt50 {
    margin-top: 50px !important;
}

.mgb50 {
    margin-bottom: 50px !important;
}

.pdt50 {
    padding-top: 50px !important;
}

.pd50 {
    padding: 50px !important;
}

.mgt55 {
    margin-top: 55px !important;
}

.mgb55 {
    margin-bottom: 55px !important;
}

.pdt55 {
    padding-top: 55px !important;
}

.pd55 {
    padding: 55px !important;
}

.mgt60 {
    margin-top: 60px !important;
}

.mgb60 {
    margin-bottom: 60px !important;
}

.pdt60 {
    padding-top: 60px !important;
}

.pd60 {
    padding: 60px !important;
}

.mgt65 {
    margin-top: 65px !important;
}

.mgb65 {
    margin-bottom: 65px !important;
}

.pdt65 {
    padding-top: 65px !important;
}

.pd65 {
    padding: 65px !important;
}

.mgt70 {
    margin-top: 70px !important;
}

.mgb70 {
    margin-bottom: 70px !important;
}

.pdt70 {
    padding-top: 70px !important;
}

.pd70 {
    padding: 70px !important;
}

.mgt75 {
    margin-top: 75px !important;
}

.mgb75 {
    margin-bottom: 75px !important;
}

.pdt75 {
    padding-top: 75px !important;
}

.pd75 {
    padding: 75px !important;
}

.mgt80 {
    margin-top: 80px !important;
}

.mgb80 {
    margin-bottom: 80px !important;
}

.pdt80 {
    padding-top: 80px !important;
}

.pd80 {
    padding: 80px !important;
}

.mgt85 {
    margin-top: 85px !important;
}

.mgb85 {
    margin-bottom: 85px !important;
}

.pdt85 {
    padding-top: 85px !important;
}

.pd85 {
    padding: 85px !important;
}

.mgt90 {
    margin-top: 90px !important;
}

.mgb90 {
    margin-bottom: 90px !important;
}

.pdt90 {
    padding-top: 90px !important;
}

.pd90 {
    padding: 90px !important;
}

.mgt95 {
    margin-top: 95px !important;
}

.mgb95 {
    margin-bottom: 95px !important;
}

.pdt95 {
    padding-top: 95px !important;
}

.pd95 {
    padding: 95px !important;
}

.mgt100 {
    margin-top: 100px !important;
}

.mgb100 {
    margin-bottom: 100px !important;
}

.pdt100 {
    padding-top: 100px !important;
}

.pd100 {
    padding: 100px !important;
}

.w100 {
    width: 100% !important;
}

.w90 {
    width: 90% !important;
}

.w85 {
    width: 85% !important;
}

.w80 {
    width: 80% !important;
}

.w70 {
    width: 70% !important;
}

.w75 {
    width: 75% !important;
}

.w60 {
    width: 60% !important;
}

.w50 {
    width: 50% !important;
}

.w50.row2.gap30 {
    width: calc(50% - 15px) !important;
}

.w40 {
    width: 40% !important;
}

.w33 {
    width: 33.33% !important;
}

.w30 {
    width: 25% !important;
}

.w25 {
    width: 25% !important;
}

.w20 {
    width: 20% !important;
}

.w15 {
    width: 15% !important;
}

.wFit {
    width: fit-content !important;
}

.bg_gray {
    background-color: #f5f5f5;
}

.bg_white {
    background-color: white;
}

@media (max-width: 768px) {
    .pd30 {
        padding: 1.0416666667vw;
    }
}

img.h_ads {
    width: auto;
    max-width: 280px;
    max-height: 250px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
}

.fd--row {
    flex-direction: row;
}

@media (max-width: 600px) {
    .fd--row.col600 {
        flex-direction: column;
    }
}

.fd--col {
    flex-direction: column;
}

.jc--ct {
    justify-content: center;
}

.jc--fs {
    justify-content: flex-start;
}

.jc--sb {
    justify-content: space-between;
}

.ai--ct {
    align-items: center;
}

.ai--fs {
    align-items: flex-start !important;
}

.ai--ed {
    align-items: end;
}

.pc {
    display: flex;
    flex-direction: column;
}

@media (max-width: 767px) {
    .pc {
        display: none !important;
    }
}

.sp {
    display: none;
}

@media (max-width: 768px) {
    .sp {
        display: flex !important;
    }
}

.h1280 {
    display: flex !important;
    flex-direction: column !important;
}

@media (max-width: 1280px) {
    .h1280 {
        display: none !important;
    }
}

.v1280 {
    display: none !important;
}

@media (max-width: 1280px) {
    .v1280 {
        display: flex !important;
        flex-direction: column !important;
    }
}

hr.ver {
    width: 1px;
    display: flex;
    background-color: black;
    height: auto;
}

hr.hor {
    width: 100%;
    display: flex;
    background-color: black;
    height: 1px;
}

a.anchor {
    /* padding-top: 90px; */
    /* margin-top: -90px; */
    display: block;
}


/*pages*/

section.mv {
    padding: 0;
    height: 41.666vw;
    position: relative;
    padding: 0 !important;
    background: rgb(16, 136, 181);
    background: linear-gradient(180deg, rgba(16, 136, 181, 1) 0%, rgba(16, 102, 181, 1) 100%);
}

section.mv img {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: left;
}

section.mv .wrap {

    display: flex;

    flex-direction: row;

    gap: 0;

    width: 100%;

    align-items: unset;

    justify-content: unset;

    height: 100%;
}

.mv-txt {
    width: 30%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: 6.77083vw;
}

.mv-txt hgroup {
    display: flex;
    flex-direction: column;
    width: 100%;
    justify-content: center;
    align-items: center;
    gap: 0.3em;
}

.mv-txt hgroup p {
    font-family: "noto sans jp";
    font-weight: 800;
    color: white;
    font-size: 2.1875vw;
    line-height: 1.3;
    display: block;
}

.mv-txt hgroup span {
    font-size: 1.197916vw;
    color: #00476b;
    font-weight: 800;
    font-family: "Lusitana";
}

.mv-txt hgroup br {}

.mv-txt hgroup i {
    font-family: "Roboto";
    font-size: 1.414583vw;
}

.mv-img {
    width: 70%;
    height: 100%;
}

.mv-img img {}

.intro p {
    font-size: 1.14583vw;
    font-weight: 700;
    text-align: center;
    line-height: 2.5;
}

h2.common {
    font-size: clamp(26px, calc(44 / 1920 * 100vw), 44px);
    color: #019BFD;
    font-weight: 600;
    line-height: 1.6;
    text-align: center;
}

.chart {}

.chart img {
    width: 41.6vw;
}

.table {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.table dl {
    display: flex;
    gap: 2px;
}

.table dl dt {
    display: flex;
    background-color: #019BFD;
    color: white;
    font-family: "Roboto";
    font-size: 1.0416vw;
    align-items: center;
    padding: 0.6vw;
    max-width: 9.74vw;
    width: 100%;
}

.table dl dd {
    display: flex;
    font-size: 0.938vw;
    align-items: center;
    padding: 0.6vw;
    background-color: white;
    width: 100%;
    letter-spacing: 0;
}

.plan {
    /* border: solid 2px #C2BBA5; */
    /* background-color: #F6F3EB; */
    padding: 0;
    flex-direction: column;
    display: flex;
    gap: 2.083vw;
    width: 100%;
    margin-bottom: 4vw;
    margin-top: 1vw;
}

.plan .flex {
    gap: 3.125vw;
}

.plan .flex div {
    z-index: 1;
    display: flex;
    flex-direction: column;
}

.plan .flex dt div {
    z-index: 1;
    display: flex;
    flex-direction: column;
    font-family: "游ゴシック";
    font-size: 0.72916vw;
    font-weight: 700;
    align-items: center;
    line-height: 1;
    color: white;
}

.plan .flex dt div .num {
    font-size: 35px;
    font-family: "Roboto condensed";
    font-weight: 600;
}

.plan .flex div img {}

.plan .flex hgroup {
    display: flex;
    flex-direction: column;
    /* align-items: center; */
    justify-content: center;
    gap: 1.2vw 1vw;
}

.plan h3 {
    font-size: 1.25vw;
    font-weight: 700;
}

.plan .flex h3 span {
    font-size: 1.4583vw;
    color: #8A7733;
}

.plan .flex hgroup p {}

.plan .flex.col {
    gap: 20px;
}

.plan .flex.col.alt {
    gap: 5px;
    justify-content: center;
}

.plan hr {
    width: 100%;
    height: 1px;
    background-color: #C2BBA5;
    border: none;
    padding: 0;
    margin: 0;
}

.plan ul {
    display: flex;
    gap: 0.78125vw;
    margin-top: 35px;
    width: 100%;
}

.plan ul li {
    background-color: white;
    width: 33.33%;
}

.plan dl {
    padding: 1.0416vw 2.5416vw;
    position: relative;
    /* display: flex; */
    /* min-height: 11.302083vw; */
}

.plan.alt dl {
    display: flex;
    padding: 0;
    gap: 15px;
    width: 100%;
    align-items: center;
    min-height: unset;
}

.plan.alt dl dt {
    display: flex;
    top: unset;
    align-items: center;
    width: 5.125vw;
    font-size: 0.677083vw;
    background-color: #DBDAD6;
    border-radius: 30px;
    line-height: 1;
    height: 1.8vw;
    justify-content: center;
}

.plan.alt dl dd {
    display: flex;
    align-items: flex-start;
    width: ali;
    align-items: center;
}

.plan dl dt {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    top: -35px;
}

.plan dl dt img {
    position: absolute;
    z-index: 0;
    transform: translateX(0.3vw);
}

.plan dl dd {
    /* padding: 1.0416vw; */
    font-size: 1.0416vw;
    display: flex;
    justify-content: center;
    line-height: 2;
}

.fw_b {
    font-weight: 600;
}

.two_arrow {
    width: fit-content;
    margin-inline: auto;
}

.list-up {}

.list-up ul {
    display: flex;
    gap: clamp(15px, calc(30 / 1920 * 100vw), 30px);
    width: 100%;
}

.list-up ul li {
    background-color: white;
    border: #D7ECF9 solid 2px;
    padding: 1.563vw 1.567vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.563vw;
    width: stretch;
}

.list-up ul li h4 {
    font-size: 1.25vw;
    font-weight: 600;
    color: #019BFD;
    background-color: rgba(33.203, 255, 0, 0.5);
    background: linear-gradient(transparent 50%, #DAECF8 50%);
    line-height: 1.3;
}

.list-up ul li div {}

.list-up ul li div img {}

.list-up ul li p {
    font-size: 0.938vw;
    line-height: 2;
}

.list-up h3 {
    font-size: 1.458vw;
    font-weight: 500;
}

.list-up h3 span {
    font-size: 1.25vw;
}

.gap_plan {
    gap: 2.083vw;
}

.gap_list {
    gap: 2.604vw !important;
}

.list-arrow {}

.list-arrow img {}

.list-arrow {}

.list-arrow hgroup {
    margin-top: 2.083vw;
}

.list-arrow hgroup h3 {
    font-size: 1.458vw;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.938vw;
}

.list-arrow hgroup h3 img {}

.list-arrow hgroup h3 span {}

.list-arrow p {
    font-size: 1.042vw;
    color: white;
}

.activity {
    display: flex;
    flex-direction: column;
    /* gap: 1.875vw; */
    width: 100%;
}

.activity .inr {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    /* gap: 1.875vw; */
}

.activity .outer {
    gap: 1.875vw;
    display: flex;
    flex-direction: column;
    padding: clamp(15px, calc(30 / 1920 * 100vw), 30px) clamp(15px, calc(30 / 1920 * 100vw), 30px);
    width: 100%;
    position: relative;
    top: -1.9vw;
    z-index: -1;
}

.activity h3 {
    font-size: 1.458vw;
    font-weight: 500;
    text-align: center;
    width: 100%;
    height: 4.167vw;
    line-height: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.activity hgroup {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.activity img.hr {
    width: 43.544vw;
    margin-bottom: 1.042vw;
}

.activity h4 {
    font-size: 1.25vw;
    font-weight: 500;
}

.activity h4 span.large {
    font-size: 1.563vw;
}

.activity p {
    font-size: 1.042vw;
}

.activity ul {
    display: flex;
    gap: clamp(15px, calc(30 / 1920 * 100vw), 30px);
    width: 100%;
    justify-content: center;
}

.activity ul li {
    width: 25%;
    background-color: white;
    padding: 1.25vw 0.65vw;
}

.activity ul li ul {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 0;
    position: relative;
    z-index: 0;
}

.activity ul li ul li {
    width: 100%;
    padding: 0;
}

.activity ul li hgroup {}

.activity ul li hgroup span {
    line-height: 1;
    font-weight: 700;
}

.activity ul li hgroup h4 {
    font-size: 1.146vw;
    font-weight: 700;
}

[data-color="sun"] {
    color: #F98D00;
}

[data-color="green"] {
    color: #01A477;
}

ul[data-color="sun"] h4 {}

ul.apricot {}

ul.apricot li {
    border: solid 1px #F98D00;
    border-bottom: solid 3px #F98D00;
    display: flex;
    flex-direction: column;
    gap: 0.7vw;
}

ul.apricot ul {}

ul.apricot li ul li {
    border: none;
    display: flex;
    position: relative;
    font-size: 0.938vw;
    display: flex;
    flex-direction: row;
    gap: 0;
    align-items: center;
}

ul.apricot li ul li:before {
    content: "・";
    font-size: 0.938vw;
}

ul.chill li {
    border: solid 1px #C3E5DC;
    display: flex;
    flex-direction: column;
    gap: 0.7vw;
    padding: 1.563vw 1.563vw;
    width: calc(32.3% - 1.142vw);
    position: relative;
}

ul.chill.alt li {
    width: 80%;
    flex-direction: row;
}

ul.chill li:nth-child(1) {
    z-index: 5;
}

ul.chill li:nth-child(2) {
    z-index: 4;
    /* position: relative; */
}

ul.chill li:nth-child(3) {
    z-index: 3;
}

ul.chill li:nth-child(4) {
    z-index: 2;
}

ul.chill li:nth-child(5) {
    z-index: 1;
}

.activity ul.chill li hgroup span {
    font-family: "Roboto";
    font-size: 0.729vw;
    background-color: #01a477;
    color: white;
    padding: 0.5vw;
    border-radius: 2.5vw;
}

.activity ul.chill li hgroup h4 {
    line-height: 1.5;
    font-size: 1.042vw;
}

.activity ul.chill li ul li {
    border: none;
    position: relative;
    display: flex;
    flex-direction: row;
    gap: 0;
    font-size: 0.938vw;
    z-index: 0;
}

.activity ul.chill li ul li:before {
    content: "・"
}

.activity ul.chill li hgroup {
    align-items: flex-start;
    gap: 0.8vw;
}

.activity ul.chill.alt li hgroup {
    /* width: 45%; */
}

.activity ul.chill {
    flex-wrap: wrap;
    justify-content: center;
    width: 98%;
    position: relative;
}

ul.chill li img {
    position: absolute;
    top: calc(50% - 1.172vw);
    right: -2.1vw;
    width: 2.083vw;
    z-index: 1;
}

ul.chill.alt li img {
    right: 0;
    left: 0;
    bottom: -1.8vw;
    top: auto;
    transform: rotate(90deg);
    margin-inline: auto;
}

table {}

.scroll-hint-shadow-wrap {
    width: 100%;
}

.js-scrollable {
    width: 100%;
    z-index: 1;
}

div.inr_table {
    padding: 0;
    width: 100%;
}

.tg {
    border-collapse: collapse;
    border-spacing: 0;
    max-width: 1200px;
    font-size: 1.042vw;
    width: 100%;
}

.tg td {
    border-color: black;
    border-style: solid;
    border-width: 1px;
    font-family: Arial, sans-serif;
    font-size: 14px;
    overflow: hidden;
    padding: 10px 5px;
    word-break: normal;
    font-size: 1.042vw;
}

.tg th {
    border-color: black;
    border-style: solid;
    border-width: 1px;
    font-family: Arial, sans-serif;
    font-size: 1.042vw;
    font-weight: normal;
    overflow: hidden;
    padding: 5px 10px;
    word-break: normal;
}

.tg .tg-cuxq {
    background-color: #019bfd;
    border-color: #dadada;
    color: #ffffff;
    text-align: center;
    vertical-align: middle;
    font-size: 0.95vw;
}

.tg .tg-cuxq.ads {
    min-width: 100px;
}

.tg .tg-cuxq span {
    font-size: clamp(12px, calc(15 / 1920 * 100vw), 15px);
    display: flex;
    justify-content: center;
}

.tg .tg-islb,
.tg td {
    border-color: #dadada;
    text-align: center;
    vertical-align: top
}

.tg .tg-8rtx,
.tg th {
    background-color: #ecf5fb;
    border-color: #dadada;
    text-align: center;
    vertical-align: top
}

table span.count {
    font-size: clamp(12px, calc(15 / 1920 * 100vw), 15px);
}

table span.count:after {
    content: "/";
    padding: 5px;
}

td span.rate {
    font-size: clamp(12px, calc(15 / 1920 * 100vw), 15px);
}

.contact {
    position: relative;
    padding: 3.125vw !important;
    /* min-height: 30vw; */
}

.contact .bg {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    overflow: hidden;
}

.contact .bg img {
    /* position: absolute; */
    /* top: 0; */
    /* left: 0; */
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.contact {}

.contact .bg {}

.contact .bg img {}

.contact .wrap {
    gap: 2.083vw;
}

.contact .wrap .common {
    color: white;
    font-size: 1.667vw;
}

.contact .wrap p {
    color: white;
}

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

.contact .wrap .btn span {
    font-size: clamp(12px, calc(13 / 1920 * 100vw), 13px);
}

.contact .wrap .btn img {}

.contact .wrap .btn a {
    background-color: #052E53;
    color: white;
    width: 100%;
    max-width: 522px;
    min-height: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    font-size: clamp(18px, calc(20 / 1920 * 100vw), 20px);
}

footer {
    background-color: #052E53;
    color: white;
}

footer div.wrap {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

footer section {
    padding-top: clamp(30px, calc(50 / 1920 * 100vw), 75px);
    padding-bottom: clamp(30px, calc(50 / 1920 * 100vw), 75px);
}

footer div.wrap div.inr {
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: flex-end;
}

footer div.wrap div.inr img {
    /* width: 300px; */
    height: auto;
    width: clamp(230px, calc(300 / 1920 * 100vw), 300px);
}

footer div.wrap div.inr p {
    /* font-size: 13px; */
    font-size: clamp(12px, calc(14 / 1920 * 100vw), 14px);
}

footer div.wrap div.inr a.corp {
    color: white;
    border: solid 1px;
    padding: 10px 20px;
    font-size: clamp(12px, calc(14 / 1920 * 100vw), 14px);
}

footer div.wrap div.inr ul.footer_link {
    display: flex;
}

footer div.wrap div.inr ul.footer_link li {
    width: 100%;
}

footer div.wrap div.inr ul.footer_link li a {
    color: white;
    padding-right: 20px;
    border-right: solid 1px;
    padding-left: 20px;
    width: 100%;
    display: flex;
    word-break: keep-all;
    font-size: clamp(12px, calc(14 / 1920 * 100vw), 14px);
}

div.chart1.anim {
    position: relative;
    width: 41.667vw;
    height: 29.352vw;
    left: 1vw;
    transform: scale(0.95);
}

div.chart1.anim:after {
    content: "";
    width: 108%;
    height: 118%;
    display: flex;
    position: absolute;
    left: -1.6vw;
    top: -15%;
    background-color: #ecf5fb;
    z-index: 0;
    border-radius: 4px;
}

div.chart1.anim img.base {
    width: 31.558vw;
    z-index: 1;
    position: relative;
    transition: 0.6s;
    opacity: 0;
    transition-timing-function: cubic-bezier(1, 0.01, 0, 0.99);
    clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
}

div.chart1.anim img.txt {
    position: absolute;
    width: 7.013vw;
    height: auto;
    bottom: 4.4vw;
    left: 1.9vw;
    transition: 0.6s;
    opacity: 0;
    transition-timing-function: cubic-bezier(1, 0.01, 0, 0.99);
    transform: scale(2);
}


div.chart1.anim img.txt.active {
    opacity: 1;
    transform: scale(1);
    transition-timing-function: cubic-bezier(1, 0.01, 0, 0.99);
}

div.chart1.anim img.line1 {
    position: absolute;
    width: 31.558vw;
    height: auto;
    bottom: 8.2vw;
    z-index: 2;
    transition: 0.6s;
    opacity: 0;
    clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
    transition-timing-function: cubic-bezier(1, 0.01, 0, 0.99);
}

div.chart1.anim img.line1.active {
    opacity: 1;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    transition-timing-function: cubic-bezier(1, 0.01, 0, 0.99);
}

div.chart1.anim img.txt2 {
    position: absolute;
    opacity: 0;
    bottom: 3vw;
    transform: scale(2);
    transition-timing-function: cubic-bezier(1, 0.01, 0, 0.99);
    transition: 0.6s;
    z-index: 1;
    width: 6.85vw;
}

div.chart1.anim img.txt2.active {
    opacity: 1;
    transform: scale(1);
    transition-timing-function: cubic-bezier(1, 0.01, 0, 0.99);
}

div.chart1.anim img.bar3 {
    position: absolute;
    opacity: 0;
    clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0% 100%);
    transition-timing-function: cubic-bezier(1, 0.01, 0, 0.99);
    transition: 0.6s;
    z-index: 1;
    width: 6.85vw;
}

div.chart1.anim img.bar3.active {
    clip-path: polygon(0 100%, 100% 100%, 100% 0, 0 0);
    opacity: 1;
    transition-timing-function: cubic-bezier(1, 0.01, 0, 0.99);
}

div.chart1.anim img.txt4 {
    position: absolute;
    opacity: 0;
    bottom: 3vw;
    left: 10vw;
    transform: scale(2);
    transition-timing-function: cubic-bezier(1, 0.01, 0, 0.99);
    transition: 0.6s;
    z-index: 1;
    width: 6.85vw;
}

div.chart1.anim img.txt4.active {
    transform: scale(1);
    opacity: 1;
    transition-timing-function: cubic-bezier(1, 0.01, 0, 0.99);
}

div.chart1.anim img.bar5 {
    position: absolute;
    opacity: 0;
    left: 10vw;
    clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0% 100%);
    transition-timing-function: cubic-bezier(1, 0.01, 0, 0.99);
    transition: 0.6s;
    z-index: 1;
    width: 6.85vw;
}

div.chart1.anim img.bar5.active {
    clip-path: polygon(0 100%, 100% 100%, 100% 0, 0 0);
    opacity: 1;
    transition-timing-function: cubic-bezier(1, 0.01, 0, 0.99);
}

div.chart1.anim img.minus1 {
    position: absolute;
    opacity: 0;
    bottom: 4.1vw;
    left: 7.6vw;
    transform: scale(2);
    transition-timing-function: cubic-bezier(1, 0.01, 0, 0.99);
    transition: 0.6s;
    z-index: 1;
    width: 1.7vw;
}

div.chart1.anim img.minus1.active {
    transform: scale(1);
    opacity: 1;
    transition-timing-function: cubic-bezier(1, 0.01, 0, 0.99);
}

div.chart1.anim img.minus2 {
    position: absolute;
    opacity: 0;
    bottom: 4.1vw;
    left: 17.5vw;
    transform: scale(2);
    transition-timing-function: cubic-bezier(1, 0.01, 0, 0.99);
    transition: 0.6s;
    z-index: 1;
    width: 1.8vw;
}

div.chart1.anim img.minus2.active {
    transform: scale(1);
    opacity: 1;
    transition-timing-function: cubic-bezier(1, 0.01, 0, 0.99);
}

div.chart1.anim img.bar6 {
    position: absolute;
    opacity: 0;
    left: 9.93vw;
    top: -3.7vw;
    clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
    transition-timing-function: cubic-bezier(1, 0.01, 0, 0.99);
    transition: 0.6s;
    width: 7vw;
    z-index: 1;
}

div.chart1.anim img.bar6.active {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    opacity: 1;
    transition-timing-function: cubic-bezier(1, 0.01, 0, 0.99);
}

div.chart1.anim img.txt7 {
    position: absolute;
    opacity: 0;
    bottom: 3vw;
    left: 20vw;
    transform: scale(2);
    transition-timing-function: cubic-bezier(1, 0.01, 0, 0.99);
    transition: 0.6s;
    z-index: 1;
    width: 6.85vw;
}

div.chart1.anim img.txt7.active {
    transform: scale(1);
    opacity: 1;
    transition-timing-function: cubic-bezier(1, 0.01, 0, 0.99);
}

div.chart1.anim img.bar8 {
    position: absolute;
    opacity: 0;
    left: 20vw;
    bottom: 8.17vw;
    clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
    transition-timing-function: cubic-bezier(1, 0.01, 0, 0.99);
    transition: 0.6s;
    z-index: 1;
    width: 6.85vw;
}

div.chart1.anim img.bar8.active {
    clip-path: polygon(0 100%, 100% 100%, 100% 0, 0 0);
    opacity: 1;
    transition-timing-function: cubic-bezier(1, 0.01, 0, 0.99);
}

.nearly div.chart1.anim span.txt9,
.ready div.chart1.anim span.txt9 {
    top: 9.5vw;
}

div.chart1.anim span.txt9 {
    position: absolute;
    /* right: 5vw; */
    top: 7vw;
    left: 28.3vw;
    font-family: '游明朝';
    font-weight: 900;
    font-size: 2.3vw;
    line-height: 1.2;
    width: max-content;
    color: #019BFD;
    opacity: 0;
    transform: scale(2);
    transition-timing-function: cubic-bezier(1, 0.01, 0, 0.99);
    transition: 0.6s;
    z-index: 1;
}

div.chart1.anim span.txt9.active {
    transform: scale(1);
    opacity: 1;
    transition-timing-function: cubic-bezier(1, 0.01, 0, 0.99);
}

div.chart1.anim span.txt9 .num {
    line-height: 1;
    font-size: 4vw;
    font-weight: 900;
}

div.chart1.anim span.txt10 {
    position: absolute;
    opacity: 0;
    left: 28.8vw;
    top: 14.7vw;
    font-size: 1.4vw;
    font-weight: 600;
    line-height: 1.4;
    width: max-content;
    color: #019BFD;
    transform: scale(2);
    transition-timing-function: cubic-bezier(1, 0.01, 0, 0.99);
    transition: 0.6s;
    z-index: 1;
}

div.chart1.anim span.txt10.active {
    transform: scale(1);
    opacity: 1;
    text-align: center;
    transition-timing-function: cubic-bezier(1, 0.01, 0, 0.99);
}

div.chart1.anim span.txt2b {
    position: absolute;
    opacity: 0;
    bottom: 0.6vw;
    font-weight: 900;
    left: 1.7vw;
    font-size: 1.1vw;
    color: #2fadfc;
    transition: 0.6s;
    z-index: 1;
}

div.chart1.anim span.txt2b.active {
    opacity: 1;
}

div.chart1.anim span.txt4b {
    position: absolute;
    opacity: 0;
    bottom: 0.6vw;
    font-weight: 900;
    left: 12vw;
    font-size: 1.1vw;
    color: #01a477;
    transition: 0.6s;
    z-index: 1;
}

div.chart1.anim span.txt4b.active {
    opacity: 1;
}

div.chart1.anim span.txt7b {
    position: absolute;
    opacity: 0;
    bottom: 0.6vw;
    font-weight: 900;
    left: 22.2vw;
    font-size: 1.1vw;
    color: #f98d00;
    transition: 0.6s;
    z-index: 1;
}

div.chart1.anim span.txt7b.active {
    opacity: 1;
}

.nearly div.chart1.anim span.txt7b.active {
    left: 21vw;
}

.oriented div.chart1.anim span.txt4b.active {
    left: 10.2vw;
}


div.chart2.anim2 {
    position: relative;
    width: 41.68vw;
    height: 20.177vw;
}

div.chart2.anim2 img.txt {
    width: 24.323vw;
    height: auto;
    position: absolute;
    bottom: 0.5vw;
    left: 1.198vw;
    transition: 1s;
    opacity: 0;
    transition-timing-function: cubic-bezier(1, 0.01, 0, 0.99);
    transform: scale(2);
    z-index: 1;
}

div.chart2.anim2 img.txt.active {
    opacity: 1;
    transform: scale(1);
}

div.chart2.anim2 img.box1 {
    width: 11.458vw;
    height: auto;
    position: absolute;
    left: 1.198vw;
    top: 0.938vw;
    transition: 1s;
    opacity: 0;
    transition-timing-function: cubic-bezier(1, 0.01, 0, 0.99);
    clip-path: polygon(0 0, 0 0, 0 0);
}

div.chart2.anim2 img.box1.active {
    opacity: 1;
    clip-path: polygon(0 0, 200% 0, 0 200%);
}

div.chart2.anim2 img.box2 {
    width: 11.458vw;
    height: auto;
    position: absolute;
    left: 14.115vw;
    top: 0.938vw;
    transition: 1s;
    opacity: 0;
    transition-timing-function: cubic-bezier(1, 0.01, 0, 0.99);
    clip-path: polygon(0 0, 0 0, 0 0);
}

div.chart2.anim2 img.box2.active {
    opacity: 1;
    clip-path: polygon(0 0, 200% 0, 0 200%);
}

div.chart2.anim2 img.feature {
    width: 4.74vw;
    height: auto;
    position: absolute;
    top: 0;
    left: 0;
    transition: 1s;
    opacity: 0;
    transition-timing-function: cubic-bezier(1, 0.01, 0, 0.99);
    transform: scale(2);
}

div.chart2.anim2 img.feature.active {
    opacity: 1;
    transform: scale(1);
}

div.chart2.anim2 img.result {
    width: 25.26vw;
    height: auto;
    position: absolute;
    left: 11.667vw;
    top: 5.781vw;
    transition: 1s;
    opacity: 0;
    transition-timing-function: cubic-bezier(1, 0.01, 0, 0.99);
    clip-path: polygon(0 0, 0 0, 0 0);
}

div.chart2.anim2 img.result.active {
    opacity: 1;
    clip-path: polygon(0 0, 200% 0, 0 200%);
}

div.chart2.anim2 img.last {
    width: 12.865vw;
    height: auto;
    position: absolute;
    left: 28.802vw;
    top: 2.031vw;
    transition: 1s;
    opacity: 0;
    transition-timing-function: cubic-bezier(1, 0.01, 0, 0.99);
    transform: scale(2);
}

div.chart2.anim2 img.last.active {
    opacity: 1;
    transform: scale(1);
}

.anim_list .anim1,
.anim_list .anim2,
.anim_list .anim3,
.anim_list .anim4,
.anim_list .anim5,
.anim_list .anim6 {
    transition: 1s;
    opacity: 0;
    transition-timing-function: cubic-bezier(1, 0.01, 0, 0.99);
    transform: scale(2);
}

.anim_list .anim1.active,
.anim_list .anim2.active,
.anim_list .anim3.active,
.anim_list .anim4.active,
.anim_list .anim5.active,
.anim_list .anim6.active {
    opacity: 1;
    transform: scale(1);
}

p.anim {
    width: 29.688vw;
}

p.anim_p {
    width: 29.688vw;
    font-size: 1.030vw;
}

.is-inview {
    clip-path: polygon(0 0, 0 0, 0 0);
    transform: scale(1.5);
    transition: 1s;
    opacity: 0;
}

.is-inview.active {
    clip-path: polygon(0 0, 200% 0, 0 200%);
    transform: scale(1);
    opacity: 1;
}

div.chart3.anim3 {
    position: relative;
    width: 42.222vw;
    height: 23.534vw;
}

div.chart3.anim3 img.tri1 {
    width: 23.947vw;
    height: auto;
    position: absolute;
    transition: 1s;
    opacity: 0;
    transition-timing-function: cubic-bezier(1, 0.01, 0, 0.99);
    bottom: 0;
    left: 0;
    clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0% 100%);
}

div.chart3.anim3 img.tri1.active {
    clip-path: polygon(0 100%, 100% 100%, 100% 0, 0 0);
    opacity: 1;
}

div.chart3.anim3 img.tri2 {
    width: 16.185vw;
    height: auto;
    position: absolute;
    transition: 1s;
    opacity: 0;
    transition-timing-function: cubic-bezier(1, 0.01, 0, 0.99);
    left: 3.802vw;
    bottom: 7.448vw;
    clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0% 100%);
}

div.chart3.anim3 img.tri2.active {
    clip-path: polygon(0 100%, 100% 100%, 100% 0, 0 0);
    opacity: 1;
}

div.chart3.anim3 img.tri3 {
    width: 8.305vw;
    height: auto;
    position: absolute;
    transition: 1s;
    opacity: 0;
    transition-timing-function: cubic-bezier(1, 0.01, 0, 0.99);
    left: 7.865vw;
    bottom: 15.052vw;
    clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0% 100%);
}

div.chart3.anim3 img.tri3.active {
    clip-path: polygon(0 100%, 100% 100%, 100% 0, 0 0);
    opacity: 1;
}

div.chart3.anim3 img.txt1 {
    width: 2.986vw;
    height: auto;
    position: absolute;
    transition: 1s;
    opacity: 0;
    transition-timing-function: cubic-bezier(1, 0.01, 0, 0.99);
    left: 10.521vw;
    bottom: 6.719vw;
    transform: scale(2);
}

div.chart3.anim3 img.txt1.active {
    opacity: 1;
    transform: scale(1);
}

div.chart3.anim3 img.txt2 {
    width: 2.986vw;
    height: auto;
    position: absolute;
    transition: 1s;
    opacity: 0;
    transition-timing-function: cubic-bezier(1, 0.01, 0, 0.99);
    left: 10.521vw;
    bottom: 19.01vw;
    transform: scale(2);
}

div.chart3.anim3 img.txt2.active {
    opacity: 1;
    transform: scale(1);
}

div.chart3.anim3 img.arrow {
    width: 3.278vw;
    height: auto;
    position: absolute;
    transition: 1s;
    opacity: 0;
    transition-timing-function: cubic-bezier(1, 0.01, 0, 0.99);
    left: 21.25vw;
    bottom: 9.844vw;
    transform: translateX(-1vw);
}

div.chart3.anim3 img.arrow.active {
    transform: translateX(0);
    opacity: 1;
}

div.chart3.anim3 img.box1 {
    width: 14.896vw;
    height: auto;
    position: absolute;
    transition: 1s;
    opacity: 0;
    transition-timing-function: cubic-bezier(1, 0.01, 0, 0.99);
    left: 26.771vw;
    bottom: 15.052vw;
    clip-path: polygon(0 0, 0 0, 0 0);
}

div.chart3.anim3 img.box1.active {
    clip-path: polygon(0 0, 200% 0, 0 200%);
    opacity: 1;
}

div.chart3.anim3 img.box2 {
    width: 14.896vw;
    height: auto;
    position: absolute;
    transition: 1s;
    opacity: 0;
    transition-timing-function: cubic-bezier(1, 0.01, 0, 0.99);
    left: 26.771vw;
    bottom: 7.5vw;
    clip-path: polygon(0 0, 0 0, 0 0);
}

div.chart3.anim3 img.box2.active {
    clip-path: polygon(0 0, 200% 0, 0 200%);
    opacity: 1;
}

div.chart3.anim3 img.box3 {
    width: 14.896vw;
    height: auto;
    position: absolute;
    transition: 1s;
    opacity: 0;
    transition-timing-function: cubic-bezier(1, 0.01, 0, 0.99);
    left: 26.771vw;
    bottom: 0;
    clip-path: polygon(0 0, 0 0, 0 0);
}

div.chart3.anim3 img.box3.active {
    clip-path: polygon(0 0, 200% 0, 0 200%);
    opacity: 1;
    animation: box3anim 1s cubic-bezier(0.33, 1, 0.68, 1) forwards;
    animation-delay: .6s;
}

@keyframes box3anim {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0.3;
    }
}

div.chart3.anim3 img.border {
    width: 16.018vw;
    height: auto;
    position: absolute;
    transition: 1s;
    opacity: 0;
    transition-timing-function: cubic-bezier(1, 0.01, 0, 0.99);
    left: 26.198vw;
    bottom: 6.771vw;
    transform: scale(2);
}

div.chart3.anim3 img.border.active {
    transform: scale(1);
    opacity: 1;
    animation: borderanim 1s cubic-bezier(0.33, 1, 0.68, 1) infinite;
    animation-delay: 1s;
}

@keyframes borderanim {
    0% {
        transform: scale(1);
    }

    25% {
        transform: scale(1.05);
    }

    100% {
        transform: scale(1)
    }
}

.chart_box {
    background-color: white;
    padding: 1.8vw;
    padding-top: 6vw;
    padding-bottom: 2.5vw;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    /* display: none; */
    gap: 30px;
}

.chart_box {
    display: none;
}

.chart_box p {
    width: 23vw;
}

.chart_box h3 {
    color: #2fadfc;
    font-weight: 700;
    font-size: clamp(22px, calc(30 / 1920 * 100vw), 30px);
}

.chart_box.active {
    display: flex;
}

.chart_box .chart1.anim {
    display: none;
}

.chart_box .chart_desc {
    position: relative;
    top: -2.5vw;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.chart_box.active .chart1.anim {
    display: flex;
}

.flex.gap30 {
    gap: 30px !important;
}

.flex.gap0 {
    gap: 0px !important;
}

.chart_tab {
    display: flex;
    width: 100%;
    gap: 0px;
}

.chart_tab li {
    flex: 1 1 auto;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    border-right: solid 1px;
    border-bottom: none;
    font-size: 1.1vw;
    line-height: 1.2;
    border-top: 1px solid;
    position: relative;
    /* top: 3px; */
    background-color: #2fadfc;
    color: white;
    border-top: solid 1px transparent;
    padding: clamp(10px, calc(24 / 1920 * 100vw), 20px);
}

.chart_tab li:last-child {
    border-right: none;
}

.chart_tab li.active {
    background-color: white;
    /* padding: 15px; */
    /* font-size: 1.5vw; */
    border-left: none;
    border-top: none;
    border-right: none;
    position: relative;
    /* top: 2px; */
    color: black;
    border-top: solid 2px #2fadfc;
}

.chart_outer {
    max-width: 100%;
    margin-inline: auto;
}

.chart_wrap {
    border: solid 1px #2fadfc;
    border-radius: 4px;
    overflow: hidden;
}

.bels_wrap {}

.bels_wrap p {
    font-size: clamp(14px, calc(19 / 1920 * 100vw), 19px);
}

.bels_wrap h3 {
    font-size: clamp(18px, calc(30 / 1920 * 100vw), 30px);
    color: #019bfd;
    line-height: 2;
    font-weight: 600;
}

.bels_wrap h4 {
    font-size: clamp(14px, calc(21 / 1920 * 100vw), 21px);
    line-height: 1.6;
    font-weight: 600;
    margin-bottom: 20px;
}

.bels_wrap p.abs {
    position: absolute;
    top: auto;
    z-index: 1;
    color: white;
    line-height: 1.6;
    font-weight: 600;
    left: 1.3vw;
    /* transform: translateY(-0.3vw); */
    font-size: clamp(11px, calc(21 / 1920 * 100vw), 21px);
    left: 0;
    right: 0;
}

table.bels {
    width: 100%;
    max-width: unset;
}

.tg {
    border-collapse: collapse;
    border-spacing: 0;
}

table.bels.tg td,
table.bels.tg th {
    font-size: 1vw;
    line-height: 1.7;
    padding: 15px;
    vertical-align: middle;
}

table.bels.tg tr.main td,
table.bels.tg tr.main th {
    font-size: 1.3vw;
    line-height: 1;
    padding: 15px;
    color: white;
    /* text-align: center; */
    vertical-align: middle;
    font-weight: 600;
}

.tg td {
    /* border-color: black; */
    /* border-style: solid; */
    /* border-width: 1px; */
    font-size: 14px;
    padding: 10px 5px;
    /* word-break: normal; */
}

.tg th {
    /* border-color: black; */
    border-style: solid;
    border-width: 1px;
    font-size: clamp(12px, calc(14 / 1920 * 100vw), 14px);
    font-weight: normal;
    padding: 10px 5px;
    word-break: normal;
    background-color: white;
}

.tg .tg-zlfq {
    background-color: #9f852e;
    border-color: #000000;
    text-align: left;
    vertical-align: top
}

.tg .tg-m8kn {
    background-color: #ecf5fb;
    border-color: #000000;
    text-align: left;
    vertical-align: top
}

.tg .tg-m8kn span {
    color: black;
    display: flex;
    width: fit-content;
    margin-inline: auto;
    line-height: 2;
}

.tg .tg-ilyh {
    background-color: #005984;
    border-color: #000000;
    text-align: left;
    vertical-align: top
}

.tg .tg-s95i {
    background-color: #ecf5fb;
    border-color: #000000;
    text-align: left;
    vertical-align: top
}

.tg .tg-dl58 {
    background-color: #249b84;
    border-color: #000000;
    color: #000000;
    text-align: left;
    vertical-align: top
}

.tg .tg-s01k {
    background-color: #007dc5;
    border-color: #000000;
    text-align: left;
    vertical-align: top
}

.tg .tg-73oq {
    border-color: #000000;
    text-align: left;
    vertical-align: top
}

colgroup {
    width: 100%;
}

colgroup col:nth-child(1) {
    width: 40%;
}

colgroup col:nth-child(2) {
    width: 15%;
}

colgroup col:nth-child(3) {
    width: 15%;
}

colgroup col:nth-child(4) {
    width: 15%;
}

colgroup col:nth-child(5) {
    width: 15%;
}

ul.star {
    display: flex;
    /* margin-inline: auto; */
    width: fit-content;
}

ul.star li {
    display: flex;
}

ul.star li img {
    max-width: clamp(28px, calc(49 / 1920 * 100vw), 49px);
}

tr.main ul.star li img {
    max-width: clamp(28px, calc(49 / 1920 * 100vw), 49px);
}

table.bels .flex {
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}

table.bels dl {
    display: flex;
    max-width: 300px;
    width: 100%;
    margin-inline: auto;
    gap: 5px;
    justify-content: center;
    line-height: 1;
}

table.bels tr.main dl,
table.bels tr.main dl dt,
table.bels tr.main dl dd {
    font-weight: 600;
}

table.bels dl dt {
    /* width: 85px; */
    display: flex;
    gap: 5px;
    align-items: center;
    line-height: 1;
}

table.bels.tg {}

table.bels span.feat {
    display: flex;
    color: #f1ff1f;
    /* background-color: #f1ff1f; */
    border-radius: 6px;
    padding: 0.6vw 1vw;
    /* width: 12vw; */
    font-size: clamp(14px, calc(17 / 1920 * 100vw), 17px);
    justify-content: center;
    border: dashed 1px #f1ff1f;
}

table.bels dl span {
    line-height: 1;
}

table.bels dl dt.none {
    width: 3.6vw;
}

table.bels dl dt.none:after {
    display: none;
}

table.bels dl dt:after {
    content: "＜";
    font-size: 0.6vw;
}

table.bels dl dd:before {
    content: "≦";
    font-size: 0.6vw;
}

table.bels dl dd {
    display: flex;
    gap: 5px;
    align-items: center;
    line-height: 1;
}

.flex.gap20 {
    gap: 20px !important;
}

.bels_arrow {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    height: stretch;
}

.bels_arrow:after {
    content: "";
    width: 1px;
    height: 100%;
    display: flex;
    background-color: #019bfd;
    position: absolute;
    inset: auto;
    z-index: 0;
    display: none !important;
}

.bels_arrow {}

.bels_arrow img {
    width: clamp(100px, calc(213 / 1920 * 100vw), 213px);
}

.bels_inner {
    align-items: center;
    gap: clamp(15px, calc(30 / 1920 * 100vw), 30px) !important;
}

.bels_chart_img {
    width: clamp(250px, calc(315 / 1920 * 100vw), 315px);
}

@media (max-width: 1023px) {

    .bels_inner {
        flex-direction: column !important;
    }

    .bels_arrow:after {
        width: 100%;
        height: 1px;
    }

    .bels_arrow {
        width: 100%;
        justify-content: center;
    }

    .pc {
        display: none;
    }

    .tab {
        display: block;
    }

    .bels_arrow img {
        width: 190px;
    }

    .bels_chart_img {
        width: clamp(300px, calc(365 / 1920 * 100vw), 365px);
    }

    .chart_box .chart_desc {
        margin-top: 7vw;
        gap: 20px;
    }

    div.chart1.anim:after {
        width: 100%;
        height: 115%;
        left: 0;
        right: 0;
        margin-inline: auto;
        /* top: 0; */
        transform: scale(1.075);
    }

    .chart_box p {
        width: 100%;
    }

    .chart_box {
        flex-direction: column;
        width: 100%;
        align-items: center;
    }

    .tg th, .tg td {
        font-size: 14px !important;
    }

    .intro p, p, .plan dl dd, .list-up ul li p, .list-arrow p, .activity p, ul.apricot li ul li, .activity ul.chill li hgroup span, .activity ul.chill li ul li, footer div.wrap div.inr a.corp, .chart_tab li {
        font-size: 14px;
    }

    .list-arrow p br {
        display: none;
    }

    .activity ul.chill li hgroup span {
        border-radius: 14px;
        padding: 5px 10px;
        font-size: 12px;
    }

    section {
        padding-left: 15px;
        padding-right: 15px;
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }

    [data-width="base"], p.anim_p {
        max-width: 100%;
    }

    .flex, .flex.re {
        flex-direction: column;
        align-items: center;
        gap: 30px !important;
    }

    table.bels .flex {
        gap: 15px !important;
    }

    p.anim_p {
        width: 100%;
        font-size: 14px;
    }

    .plan ul {
        flex-direction: column;
        gap: 60px;
    }

    .plan ul li {
        width: 100%;
    }

    .list-up ul {
        flex-direction: column;
        align-items: center;
    }

    .list-up ul li {
        width: 100%;
        gap: 30px;
        padding: 20px;
    }

    .plan h3, .list-arrow hgroup h3 span, .list-up ul li h4, .list-up h3 span, .activity ul li hgroup h4, .activity ul.chill li hgroup h4, .contact .wrap .btn a {
        font-size: 18px;
        line-height: 1.7;
        text-align: left;
    }

    .contact .wrap .btn a {
        max-width: unset;
    }

    .plan .flex h3 span, .list-up h3, .activity h3, .activity h4, .activity h4 span.large {
        font-size: 20px;
        line-height: 1.75;
    }

    h2.common, .contact .wrap .common {
        font-size: 22px;
    }

    .activity h3 {
        height: unset;
        padding-top: 20px;
        padding-bottom: 20px;
    }

    [data-width="base_s"] {
        max-width: 500px;
    }

    .activity ul, .list-up ul li {
        flex-direction: column;
        /* max-width: 500px; */
        width: 100% !important;
    }

    ul.apricot li, ul.chill li, ul.chill.alt li {
        width: 100%;
        padding: 20px;
        gap: 20px;
        flex-direction: column;
    }

    .activity ul.chill.alt li ul li {
        padding: 0;
    }

    ul.chill li {
        padding: 20px;
    }

    ul.chill li img {
        top: auto;
        bottom: -26px;
        transform: rotate(90deg);
        left: 0;
        right: 0;
        margin-left: auto;
        margin-right: auto;
        width: 30px;
    }

    div.chart1.anim {
        margin-top: 14vw;
        transform: scale(1.5);
        margin-bottom: 4vw;
        left: unset;
        /* width: 100%; */
    }

    div.chart2.anim2 {
        transform: scale(1.75);
        margin-top: 6vw;
        margin-bottom: 6vw;
    }

    div.chart3.anim3 {
        transform: scale(1.5);
        margin-top: 9vw;
        margin-bottom: 7vw;
    }

    section .wrap, .contact .wrap {
        gap: 30px !important;
        max-width: 71.617vw;
    }

    section.mv .wrap {
        max-width: unset;
    }

    .table dl dt, .table dl dd {
        font-size: 14px;
        width: 100%;
        max-width: unset;
        padding: 10px 15px;
    }

    .table dl {
        flex-direction: column;
    }

    .table {
        gap: 15px;
    }

    .activity .outer {
        gap: 30px;
    }

    .activity h4 {
        line-height: 1.6;
        /* text-align: center; */
    }

    .activity img.hr {
        margin-top: 15px;
    }

    .activity ul li hgroup {
        gap: 5px;
        gap: 10px !important;
    }

    .plan {
        padding: 0px;
        gap: 30px;
        max-width: 71.617vw;
    }

    .plan dl {
        padding: 20px;
    }

    footer div.wrap {
        flex-direction: column;
        /* justify-content: center; */
    }

    footer section {
        padding: 20px;
        padding-top: 40px;
        padding-bottom: 40px;
    }

    footer div.wrap div.inr {
        align-items: center !important;
    }
}

@media (max-width:768px) {

    .chart_box {
        padding: 15px;
    }

    div.chart3.anim3 {
        transform: scale(2);
        margin-top: 12vw;
        margin-bottom: 12vw;
    }

    div.chart2.anim2 {
        transform: scale(2.25);
        margin-top: 12vw;
        margin-bottom: 12vw;
    }

    .chart_box .chart_desc {
        margin-top: 14vw;
    }

    div.chart1.anim {
        transform: scale(1.95);
        margin-top: 22vw;
    }

    .plan {
        max-width: unset;
    }

    section .wrap, .contact .wrap {
        max-width: unset;
    }

    .activity h4 {
        text-align: center;
    }

    section.mv .wrap {
        flex-direction: column;
        gap: 0 !important;
    }

    section.mv {
        height: 80vw;
    }

    .mv-txt {
        height: 50%;
        width: 100%;
        margin-left: 0;
    }

    .mv-txt hgroup {
        transform: scale(2);
    }

    .mv-img {
        height: 50%;
        width: 100%;
    }

    section.mv img {
        width: 150%;
    }

    .contact .wrap p {
        text-align: center !important;
    }
}

@media (max-width:767px) {

    .scroll-hint-shadow-wrap {}

    .js-scrollable {
        /* width:767px; */
    }

    .plan .flex dt div {
        font-size: 12px;
        left: -2px;
    }

    footer div.wrap div.inr p {
        position: absolute;
        bottom: 0;
    }

    .list-arrow hgroup h3 {
        gap: 15px;
    }

    .plan.alt dl dt {
        font-size: 12px !important;
        word-break: keep-all;
        border-radius: 12px;
        height: auto;
        width: 75px;
        padding: 5px;
    }

    .contact {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }

    [data-width="base"] {
        max-width: 100%;
    }

    .intro p br {
        display: none;
    }

    p {
        text-align: left !important;
    }

    footer div.wrap div.inr ul.footer_link {
        flex-direction: column;
        width: 100%;
        padding-bottom: 90px;
    }

    footer div.wrap div.inr {
        width: 100%;
        position: unset;
    }

    footer div.wrap div.inr ul.footer_link li a {
        border-right: none;
        border-bottom: solid 1px white;
        padding-bottom: 12px;
        padding-top: 12px;
        padding-left: 0;
        font-size: 14px;
    }

    .tg .tg-cuxq {
        word-break: keep-all;
    }

    .activity .outer {}

    div.inr_table {
        padding: 0px;
        width: 767px;
    }

    table.bels {
        width: 767px;
    }
}

@media (max-width:500px) or (max-height:667px) {

    .chart_tab li {
        font-size: 12px;
        width: 25%;
    }

    .plan h3, .list-up h3 {
        text-align: center;
    }

    .mv-txt hgroup {
        transform: scale(2.7);
    }

    div.chart1.anim {
        transform: scale(1.92);
        margin-top: 24vw;
        margin-bottom: 0vw;
    }

    div.chart2.anim2 {
        transform: scale(2.12);
        margin-top: 12vw;
        margin-bottom: 12vw;
    }

    div.chart3.anim3 {
        transform: scale(2.12);
        margin-top: 12vw;
        margin-bottom: 12vw;
    }

    .activity ul li hgroup h4 br {
        display: none;
    }

    .plan.alt dl {
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
        margin-top: 20px;
    }

    .flex.col.alt.anim_list {}

    .activity h3 {
        font-size: 18px;
    }
}