/* Split from stylesheet.css for page-scoped delivery. Do not @import the old monolith. */
/*#region pg_top*/
.top_fv {
    position: relative;
}
.tpfv_layer0 {
    position: absolute;
    background-color: #F1FBFC;
    top: 0;
    right: 450px;
    bottom: 80px;
    left: 0;
    /* before ani */
    /* scale: 2;
    transform-origin: top left;
    transition: all .9s;
    transition-timing-function: cubic-bezier(.17,.67,.83,.67); */
}
.run_ani .tpfv_layer0 {
    /* scale: 1; */
}
.tpfv_layer1 {
    position: absolute;
    top: var(--headerH);
    right: 0;
    bottom: 0;
    left: 11%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    border-top-left-radius: 100px;
    /* before ani */
    transition: all .9s;
    transition-delay: .5s;
    transition-timing-function: cubic-bezier(.89,.05,.72,.99);
    clip-path: polygon(60% 0, 60% 0, 40% 100%, 40% 100%);
}
.run_ani .tpfv_layer1 {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
.tpfv_img {
    /* before ani */
    transition: all .9s;
    transition-delay: .5s;
    transition-timing-function: cubic-bezier(.89,.05,.72,.99);
    clip-path: polygon(0 60%, 100% 40%, 100% 40%, 0 60%);

}
@media (min-width: 768px) {
    .tpfv_hero_sp {
        display: none !important;
    }
}
.run_ani .tpfv_img {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
.tpfv_front {
    position: relative;
    z-index: 1;
}
.tpfv_marks {
    /* height: 50vh; */
    height: 41vh;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 5vw;
}
.tpfv_marks img {
    max-width: 220px;
}
.tpfv_mark1 {
    /* before ani */
    scale: 0;
    opacity: 0;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transition-delay: 1.5s;
}
.run_ani .tpfv_mark1 {
    scale: 1;
    opacity: 1;
}
.tpfv_mark2 {
    /* before ani */
    scale: 0;
    opacity: 0;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transition-delay: 1.7s;
}
.run_ani .tpfv_mark2 {
    scale: 1;
    opacity: 1;
}
.tpfv_text {
    height: 50vh;
    padding-top: 20px;
    padding-left: 5%;
    /* before ani */
    transition: all .7s;
    transform: translateX(-50px);
    opacity: 0;
}
.run_ani .tpfv_text {
    transform: translateX(0);
    opacity: 1;
}
.tpfv_h1 {
    font-family: var(--fontT);
    color: #01ABAB;
    line-height: 1.2;
}
.tpfv_h1 .span1 {
    font-size: 30px;
    line-height: 48px;
}
.tpfv_h1 .span_man {
    color: #007bbb;
}
.tpfv_h1 .span_wman {
    color: #e9546b;
}
.tpfv_h1 .span2 {
    font-size: 60px;
}
.tpfv_h1 .span2 span {
    font-size: 50px;
}
.tpfv_h1 .span3 {
    font-size: 40px;
}
.tpfv_desc {
    display: flex;
    font-size: 40px;
    font-family: var(--fontT);
    margin-bottom: 30px;
}
.tpfv_desc1 {
    padding: 4px 20px;
    background-color: #01ABAB;
    color: #fff;
}
.tpfv_desc2 {
    padding: 4px 10px;
    border: solid 1px #01ABAB;
    color: #01ABAB;
}
.tpfv_tlayer {
    position: absolute;
    z-index: 10;
    bottom: 6vh;
    right: 30px;
    /* before ani */
    transition: all .7s;
    transition-delay: 2s;
    transform: translateY(50px);
    opacity: 0;
}
    
.run_ani .tpfv_tlayer {
    transform: translateX(0);
    opacity: 1;
}
.benefit-svg {
    max-width: 800px;
    width: 100%;
    margin: 0 auto;
}
.benefit-svg picture,
.benefit-svg img {
    width: 100%;
    display: block;
}
.benefit-svg picture img {
    width: 100%;
    height: auto;
}
.tpfv_text {
    position: relative;
}
.tpfv_txt_bg {
    position: absolute;
    background: rgba(255, 255, 255, .7);
    padding: 20px;
    border-radius: 20px;
}
@media (min-width: 992px) {
    .tpfv_layer1 {
        background-image: url(../images/top_fv.webp);
    }
}
@media (max-width:991px) {
    .tpfv_layer1 {
        background-image: url(../images/sp_top_fv.webp);
    }
}
@media (max-width:767px) {
    .tpfv_layer1 {
        background-image: none;
    }
    .tpfv_txt_bg {
        position: relative;
        background: none;
        padding: 0;
        border-radius: 0;
    }
    .benefit-svg {
        width: 90%;
    }
    .tpfv_layer0 {
        top: var(--headerH);
        right: 0;
        left: 0;
        bottom: 30vh;
    }
    .tpfv_front {
        display: flex;
        flex-direction: column;
        padding-top: var(--headerH);
        height: 100vh;
    }
    .tpfv_marks {
        position: absolute;
        bottom: 40vh;
        height: 0;
        left: 0;
        right: 0;
        z-index: 1;
    }
    .tpfv_marks img {
        max-width: 200px;
    }
    .tpfv_mark1 {
        position: absolute;
        bottom: -40vw;
        left: 20px;
        width: 45vw;
    }
    .tpfv_mark2 {
        position: absolute;
        bottom: 0;
        right: 10px;
        width: 45vw;
    }
    .tpfv_text {
        padding: 2vh 15px 16px;
        height: auto;
    }
    .tpfv_h1 h1 {
        text-align: center;
    }
    .tpfv_h1 .span1 {
        font-size: 4.5vw;
        line-height: 1;
        white-space: nowrap;
    }
    .tpfv_h1 .span2 {
        font-size: 9.5vw;
    }
    .tpfv_h1 .span2 span {
        font-size: 7.5vw;
    }
    .tpfv_h1 .span3 {
        font-size: 6.3vw;
    }
    .tpfv_desc {
        font-size: 6vw;
        margin-bottom: 10px;
    }
    .tpfv_desc1 {
        width: 40%;
        text-align: center;
        padding: 4px 0;
    }
    .tpfv_desc2 {
        width: 60%;
        text-align: center;
        padding: 4px 0;
    }
    .tpfv_img {
        flex: 1;
        min-height: 40vh;
        overflow: hidden;
        border-top-left-radius: 50px;
        margin-left: 15px;
        background-image: none;
    }
    .tpfv_img picture {
        display: block;
        width: 100%;
        height: 100%;
    }
    .tpfv_hero_sp {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }
    .tpfv_tlayer {
        right: 15px;
        bottom: 15px;
    }
    .tpfv_tlayer img {
        width: 40vw;
        max-width: 200px;
    }
}
@media (max-height:740px) {
    .tpfv_marks {
        bottom: 50vh;
    }
    .tpfv_mark1 {
        width: 20vh;
    }
    .tpfv_mark2 {
        width: 20vh;
    }
    .tpfv_tlayer img {
        width: 20vh;
    }
}

.tpsubmenu {

}
.tpsubmenu_row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}
.tpsubmenu_btn {
    position: relative;
    flex: 1;
    min-width: 0;
    width: auto;
    display: flex;
    color: #707070;
}
.tpsubmenu_btn:hover {
    color: #707070;
}
.tpsubmenu_no {
    position: absolute;
    top: -24px;
    left: calc(50% - 24px);
    width: 48px;
    height: 48px;
    border-radius: 100%;
    font-family: var(--fontN);
    color: #fff;
    background-color: #01ABAB;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    font-size: 22px;
    z-index: 1;
}
.tpsubmenu_no span {
    font-size: 14px;
    position: absolute;
    top: 5px;
}
.tpsubmenu_overh {
    background-color: #fff;
    border: solid 2px #01ABAB;
    border-radius: 8px;
    padding: 38px 15px;
    position: relative;
    flex: 1;
    -webkit-box-shadow: 1px 1px 5px 0px rgba(1,171,171,0.65);
    -moz-box-shadow: 1px 1px 5px 0px rgba(1,171,171,0.65);
    box-shadow: 1px 1px 5px 0px rgba(1,171,171,0.65);
}
.tpsubmenu_text {
    text-align: center;
    font-size: 24px;
    line-height: 30px;
}
.tpsubmenu_text .span1 {
    color: #01ABAB;
}
.tpsubmenu_arrow {
    position: absolute;
    left: 0;
    bottom: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}
.tpprop-add {
    max-width: 800px;
    margin: 0 auto;
    display: flex;
    gap: 40px;
}
.tad-photo {
    flex: 0 0 auto;
}
.tad-photo img {
    max-width: none;
    height: auto;
}
.pc.tpabout-director {
    padding-top: calc(var(--pxunit) * 10);
    padding-bottom: calc(var(--pxunit) * 10);
}
.tad-title {
    font-size: 16px;
    line-height: 24px;
    color: #01ABAB;
    padding-bottom: 10px;
}
.tad-content p {
    font-size: 16px;
    line-height: 24px;
    color: #707070;
}
.tad-name {
    font-size: 24px;
    line-height: 30px;
    color: #01ABAB;
    padding-top: 10px;
    padding-bottom: 40px;
}
.tad-content  .tad-con {
    font-size: 18px;
    line-height: 36px;
    color: #707070;
}
@media (max-width: 767px) {
    .tpsubmenu_row {
        display: block;
    }
    .tpsubmenu_no {
        top: -20px;
        left: calc(50% - 20px);
        width: 40px;
        height: 40px;
        font-size: 18px;
    }
    .tpsubmenu_no span {
        font-size: 11px;
        position: absolute;
        top: 5px;
    }
    .tpsubmenu_btn {
        width: 100%;
        margin-bottom: 30px;
    }
    .tp-feature-content {
        font-size: 14px;
        line-height: 24px;
        padding-top: 15px;
    }
    .tpfeature-after_text {
        font-size: 14px;
        line-height: 24px;
    }
    .tpsubmenu_overh {
        padding: 18px 5px 13px 5px;
        display: flex;
        gap: 10px;
        justify-content: space-between;
        align-items: center;
        height: 80px;
        flex-direction: column;
    }
    .tpsubmenu_overh br {
        display: none;
    }
    .tpsubmenu_text {
        font-size: 18px;
    }
    .tpsubmenu_arrow {
        left: auto;
        bottom: auto;
        position: relative;
        width: auto;
        display: flex;
        justify-content: center;
        align-items: center;
    }
}

.tptrouble_row {
    background-color: #F1FBFC;
    border-top-left-radius: 100px;
    display: flex;
}
.tptrouble_left {
    width: 50%;
    padding-left: 8%;
    padding-top: 40px;
}
.tptrouble_right {
    width: 50%;
    padding: 30px 15px 30px 15px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.tptitle1 h2 {
    font-size: 36px;
    font-family: var(--fontT);
    color: #01ABAB;
    line-height: 1.5;
}
.tptrouble_text {
    line-height: 2;
    letter-spacing: 8px;
}
.tptrouble_text .span1{
    color: #01ABAB;
}
@media (max-width: 767px) {
    .tptrouble_row {
        flex-direction: column-reverse;
        border-top-left-radius: 50px;
    }
    .tptrouble_left {
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 0;
    }
    .tptrouble_left img {
        width: 50vw;
        max-width: 200px;
    }
    .tptrouble_right {
        width: 100%;
        padding: 20px 5vw;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .tptitle1 {
        display: flex;
        justify-content: center;
    }
    .tptitle1 h2 {
        font-size: 20px;
    }
    .tptrouble_text {
        font-size: 14px;
        letter-spacing: 3px;
    }
}
.tptitle2 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.tptitle2>p {
    font-family: var(--fontEN);
    color: #E74B21;
    letter-spacing: 4px;
}
.tptitle2 h2 {
    font-family: var(--fontT);
    font-size: 36px;
    color: #01ABAB;
    text-align: center;
    line-height: 1.5;
}
.tptitle2 > p.tptitle2_sub {
    font-family: var(--fontT);
    font-size: 28px;
    color: #01ABAB;
    letter-spacing: 0;
    text-align: center;
    line-height: 1.5;
    margin: 0;
}
@media (max-width: 767px) {
    .tptitle2>p {
        font-size: 12px;
    }
    .tptitle2 h2 {
    }
}

.tpabout_text p {
    line-height: 2;
    text-align: center;
}
.tppoint_row {
    display: flex;
    justify-content: space-evenly;
}
.tppoint_row img {
    height: auto;
}
.tpabout_imgrow {
    display: flex;
    justify-content: space-between;
}
.tpabout_imgcol {
    width: 100%;
}
.tpabout_imgcol img {
    width: 100%;
    height: auto;
}
.tpprop_row {
    display: flex;
    justify-content: space-between;
}
.tpprop_col {
    width: 48%;
}
.tpprop_border {
    border: solid 1px #EBEBEB;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 30px 15px 20px;
}
.tpprop_top {

}
.tpprop_cap {
    background-image: url(../images/tpprop_capbg.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 130px;
    height: 130px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.tpprop_cap h3 {
    font-size: 20px;
    color: #01ABAB;
    text-align: center;
}
.tpprop_text p {
    text-align: center;
}
.tpabout_btnrow {
    display: flex;
    justify-content: space-between;
}
.tpabout_btncol {
    width: 48%;
}
.tpprop_btn {
    display: flex;
    justify-content: center;
    align-items: center
}
@media (max-width: 767px) {
    .tptitle2 h2 {
        font-size: 5.6vw;
        margin: 0 -15px;
    }
    .tptitle2 > p.tptitle2_sub {
        font-size: 4.4vw;
        margin: 0 -15px;
    }
    .tpabout_text p {
        font-size: 14px;
    }
    .tppoint_row .img1 {
        width: 40%;
    }
    .tppoint_row .img2 {
        width: 15%;
    }
    .tpprop_border {
        padding: 20px 2vw 15px;
    }
    .tpprop_cap {
        width: 120px;
        height: 120px;
    }
    .tpprop_text p {
        font-size: 3.5vw;
    }
    .tpabout_btnrow {
        flex-direction: column;
        gap: 40px;
        margin-top: 12px;
    }
    .tpabout_btncol {
        width: 100%;
    }
}

.tpfeature {
    position: relative;
}
.tpfeature_layer0 {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
.tpfeature_shape0 {
    position: absolute;
    top: 4.5vw;
    right: 0;
    bottom: 2.5vw;
    left: 0;
    background-color: #F1FBFC;
}
.tpfeature_shape1 {
    position: absolute;
    left: calc(50vw - 20px);
    top: 0;
    bottom: 4.5vw;
    right: 0;
    background-repeat: no-repeat;
    background-size: auto 115%;
    background-position: left center;
    overflow: hidden;
    border-top-left-radius: 100px;
    padding: 40px 60px;
}
.tpfeature.is-near .tpfeature_shape1 {
    background-image: url(../images/tpfeature.webp);
}
.tpfeature_logo {
    width: 12vw;
}
.tpfeature_logo img {
    width: 100%;
}
.tpfeature_layer1 {
    position: relative;
}
.tpfeature_content {
    width: 39%;
    padding: 9vw 0;
}
@media (max-width: 767px) {
    .tpfeature_shape0 {
        top: 30vw;
        right: 5vw;
    }
    .tpfeature_shape1 {
        left: 5vw;
        top: 0;
        bottom: 150px;
        right: 0;
        padding: 40px;
        border-top-left-radius: 50px;
        background-position: right center;
    }
    .tpfeature_logo {
        width: 20vw;
    }
    .tpfeature_content {
        display: flex;
        flex-direction: column;
        padding: 220px 10px 0 0;
        width: 100%;
    }
    .tpfeature_content .tptitle2 {
        min-height: 150px;
        justify-content: center;
    }
}

.tptitle_radius {

}
.tptitle_radno {
    display: flex;
    justify-content: center;
    align-items: center;
}
.tptitle_radno1 span {
    font-size: 23px;
    position: absolute;
    top: 10px;
    font-weight: 700;
}
.tptitle_radno1 {
    width: 100px;
    height: 100px;
    border-radius: 100%;
    background-color: #01ABAB;
    color: #fff;
    font-family: var(--fontEN);
    font-size: 56px;
    font-weight: 500;
    display: flex;
    justify-content: center;
    align-items: flex-end;
}
.tptitle_radmargin1 {
    content: "";
    height: 22px;
}
.tptitle_radframe {

}
.tptitle_enjp {
    position: relative;
}
.tptitle_enjp h2 {
    font-size: 28px;
    line-height: 1.4;
    text-align: center;
    color: #01ABAB;
    font-family: var(--fontT);
    position: relative;
    z-index: 1;
}
.tptitle_enjp h2 span {
    color: #707070;
}
.tptitle_enjp h2 .span1 {
    color: #01ABAB;
}
.tptitle_en {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    color: #F5F5F5;
    font-family: var(--fontEN);
    font-size: 75px;
    text-align: center;
    white-space: nowrap;
}
.tp3-new p {
    font-size: 18px;
    line-height: 2;
}
.tp3-new p span {
    color: #01ABAB;
}
.tp3-new_img {
    text-align: center;
}
.tp3-new_img img {
    max-width: 100%;
    height: auto;
    vertical-align: top;
}
@media (min-width: 768px) {
    .tp3-new_img {
        max-width: 600px;
        margin-left: auto;
        margin-right: auto;
    }
}
.tp3-new_female {
    display: flex;
    flex-direction: column;
    gap: calc(var(--pxunit) * 4);
}
.tp3-new_female_text {
    flex: 1;
    min-width: 0;
}
.tp3-new_text p + p,
.tp3-new_female_text p + p {
    margin-top: 1em;
}
.tp3-new_female_img {
    text-align: center;
}
.tp3-new_female_img img {
    max-width: 100%;
    height: auto;
    vertical-align: top;
}
@media (min-width: 768px) {
    .tp3-new_female {
        flex-direction: row;
        align-items: stretch;
        gap: 36px;
    }
    .tp3-new_female_text {
        flex: 1 1 50%;
        min-width: 0;
    }
    .tp3-new_female_img {
        flex: 0 0 50%;
        max-width: none;
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 0;
    }
    .tp3-new_female_img img {
        width: 100%;
        height: 100%;
        max-height: 100%;
        object-fit: contain;
        object-position: center;
    }
}
.tp3-manifest {
    display: flex;
    border: 1px solid #01ABAB;
    border-radius: 8px;
    overflow: hidden;
}
.tp3-manifest_col {
    flex: 1;
    display: flex;
    flex-direction: column;
}
.tp3-manifest_col:not(:last-child) .tp3-manifest_cell--head {
    border-right: 1px solid rgba(255, 255, 255, 0.55);
}
.tp3-manifest_col:not(:last-child) .tp3-manifest_cell--body {
    border-right: 1px solid #01ABAB;
}
.tp3-manifest_cell {
    padding: 16px 12px;
    text-align: center;
    font-size: 16px;
    line-height: 1.6;
}
.tp3-manifest_cell--head {
    background-color: #01ABAB;
    color: #fff;
    font-weight: 600;
}
.tp3-manifest_cell--body {
    background-color: #F1FBFC;
    color: #333;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}
.tp3-approach {
    display: flex;
    align-items: stretch;
}
.tp3-approach_item {
    flex: 1;
    background-color: #F1FBFC;
    border: 1px solid #01ABAB;
    border-radius: 12px;
    padding: 24px 16px;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}
.tp3-approach_step {
    font-family: var(--fontEN);
    color: #01ABAB;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.2;
}
.tp3-approach_title {
    font-weight: bold;
    font-size: 18px;
    line-height: 1.5;
    margin: 12px 0 8px;
    color: #333;
}
.tp3-approach_desc {
    font-size: 15px;
    line-height: 1.8;
    color: #707070;
}
.tp3-approach_arrow {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    width: 32px;
}
.tp3-approach_arrow img {
    width: 24px;
    height: auto;
    transform: rotate(-90deg);
}

@media (max-width: 767px) {
    .tp3-new p {
        font-size: 14px;
        line-height: 2;
    }
    .tp3-manifest {
        flex-direction: column;
        border: none;
        border-radius: 0;
        overflow: visible;
        gap: 12px;
    }
    .tp3-manifest_col {
        border: 1px solid #01ABAB;
        border-radius: 8px;
        overflow: hidden;
    }
    .tp3-manifest_col:not(:last-child) .tp3-manifest_cell--head,
    .tp3-manifest_col:not(:last-child) .tp3-manifest_cell--body {
        border-right: none;
    }
    .tp3-manifest_cell {
        font-size: 14px;
        padding: 12px 10px;
    }
    .tp3-approach {
        flex-direction: column;
        gap: 0;
    }
    .tp3-approach_item {
        padding: 20px 16px;
    }
    .tp3-approach_step {
        font-size: 18px;
    }
    .tp3-approach_title {
        font-size: 16px;
        margin: 10px 0 6px;
    }
    .tp3-approach_desc {
        font-size: 14px;
    }
    .tp3-approach_arrow {
        width: 100%;
        height: 40px;
    }
    .tp3-approach_arrow img {
        transform: none;
    }
    .tptitle_radno1 {
        width: 40px;
        height: 40px;
        font-size: 20px;
    }
    .tptitle_radno1 span {
        font-size: 12px;
        position: absolute;
        top: 4px;
        font-weight: 700;
    }
    .tptitle_radmargin1 {
        display: none;
    }
    .tptitle_radframe {
        border: solid 2px #01ABAB;
        border-radius: 8px;
        padding: 30px 8px 18px;
        overflow: hidden;
        margin-top: -20px;
        -webkit-box-shadow: 1px 1px 5px 0px rgba(1,171,171,0.65);
        -moz-box-shadow: 1px 1px 5px 0px rgba(1,171,171,0.65);
        box-shadow: 1px 1px 5px 0px rgba(1,171,171,0.65);
    }
    .tptitle2>p {
        font-size: 12px;
    }
    .tptitle_enjp h2 {
        font-size: 5.6vw;
    }
    .tptitle_en {
        /* font-size: 12vw;
        color: #F1FBFC; */
        font-size: 10vw;
        color: #f1fbfc;
        font-weight: 700;
        top: 10%;
    }
    .tpfeature .tptitle2 {
        height: auto;
        justify-content: center;
        align-items: center;
    }
    .tpfeature .tpfeature_shape1 {
        bottom: 150px;
        right: 0;
        background-size: cover;
        background-position: right center;
        border-top-left-radius: 50px;
        overflow: hidden;
    }
    .tpfeature .tpfeature_shape1.panil3,
    .tpfeature .tpfeature_shape1.panil3.on {
        clip-path: none;
    }
    .tpfeature .tpfeature_content {
        display: flex;
        flex-direction: column;
        padding: 220px 10px 0 0;
        width: 100%;
    }
    .tpfeature .tpfeature_content .tptitle2 {
        min-height: 150px;
        justify-content: center;
    }
    .tpfv_h1 h1 br {
        display: none;
    }
    .tpfv_h1 h1>span {
        display: block;
    }
    .tpfv_h1 .span2 {
        padding-top: 10px;
        padding-bottom: 5px;
    }
}
.tpeffect_hx2 {
    content: "";
    height: 80px;
}
.tpeffect_p p {
    text-align: center;
}
.tpeffect_p p span {
    color: #01ABAB;
}
.tpeffect_h3 h3 {
    font-size: 26px;
    text-align: center;
}
.tpeffect_chart {

}
.tpeffect_chartcap {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: calc(var(--pxunit) * 4);
}
.tpeffect_chartcap1 {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    background-color: #F1FBFC;
    padding: 8px 20px;
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
}
.tpeffect_chartcap2 {

}
.tpeffect_chartcap3 {
    color: #01ABAB;
    font-size: 26px;
}
.tpeffect_chartcap3 span {
    font-size: 48px;
    font-family: var(--fontN);
    font-weight: 500;
}
.tpeffect_chartsvg {
    display: flex;
    justify-content: center;
    align-items: center;
}
.tpeffect_chartsvg img {
    max-width: 100%;
}
.tpeffect_chartxy {
    display: flex;
    justify-content: center;
    align-items: center;
}
.tpeffect_chartx {
    position: relative;
    padding-left: 30px;
    font-size: 14px;
}
.tpeffect_chartx::before {
    position: absolute;
    content: "";
    top: 8px;
    left: 0;
    width: 24px;
    height: 8px;
    background-color: #01ABAB;
}
.tpeffect_charty {
    position: relative;
    padding-left: 30px;
    font-size: 14px;
}
.tpeffect_charty::before {
    position: absolute;
    content: "";
    top: 8px;
    left: 0;
    width: 24px;
    height: 8px;
    background-color: #EBEBEB;
}
.tpeffect_chartdesc {
    text-align: center;
    font-size: 14px;
}
@media (max-width: 767px) {
    .tpeffect_hx2 {
        height: 20px;
    }
    .tpeffect_h3 h3 {
        font-size: 16px;
    }
    .tpeffect_chart {
        position: relative;
    }
    .tpeffect_chartcap {
        margin-bottom: 0;
    }
    .tpeffect_chartcap1 {
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-40%);
        background-color: #01ABAB;
        color: #fff;
        display: block;
        padding: 12px 7px;
        text-align: center;
        z-index: 2;
    }
    .tpeffect_chartcap2 {
        font-size: 12px;
    }
    .tpeffect_chartcap3 {
        color: #fff;
        text-align: center;
        font-size: 20px;
        line-height: 1;
        margin-top: 7px;
    }
    .tpeffect_chartcap3 span {
        font-size: 40px;
    }
    .tpeffect_chartsvg img {
        width: 100%;
    }
    .tphcr_btn {
        width: 100%;
    }
    .tpeffect_chartdesc {
        font-size: 10px;
    }
    .tpeffect_p p {
        font-size: 14px;
    }
    .tpeffect_chartx {
        font-size: 12px;
    }
    .tpeffect_charty {
        font-size: 12px;
    }
    
}
.tphcr_sample {
    display: flex;
    justify-content: center;
    align-items: center;
}
.tphcr_sample1 {
    background-color: #F1FBFC;
    border-top-left-radius: 100px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 40px 60px;
}
.tphcr_h3 h3 {
    font-size: 28px;
    color: #01ABAB;
}
.tphcr_row {
    display: flex;
    gap: 30px;
    margin-bottom: calc(var(--pxunit) * 4);
}
.tphcr_item {
    position: relative;
}
.tphcr_img {

}
.tphcr_text {
    position: absolute;
    bottom: 0;
    width: 100px;
    background-color: #fff;
    font-size: 18px;
    text-align: center;
    left: 50%;
    transform: translate(-50%, 50%);
}
.tphcr_btn {
    display: flex;
    justify-content: center;
    align-items: center;
}
@media (max-width: 767px) {
    .tphcr_sample {
        display: block;
    }
    .tphcr_sample1 {
        padding: 40px 15px 26px;
        border-top-left-radius: 50px;
    }
    .tphcr_h3 h3 {
        font-size: 16px;
    }
    .tphcr_row {
        width: 100%;
        gap: unset;
        justify-content: space-between;
        margin-bottom: calc(var(--pxunit) * 4);
    }
    .tphcr_item {
        width: 32%;
    }
    .tphcr_img img {
        width: 100%;
    }
    .tphcr_text {
        width: 46px;
        font-size: 12px;
    }
}

.tpaga_row {
    display: flex;
    justify-content: space-between;
}
.tpaga_left {
    flex: 1;
    padding-right: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 338px;
}
.tpaga_left p {
    line-height: 2;
}
.tpaga_left p span {
    color: #01ABAB;
}
.tpaga_right {
    width: 50%;
    color: #353535;
    font-size: 28px;
    line-height: 2;
    text-align: center;
    padding: 100px 15px;
    border-top-left-radius: 100px;
    background-image: url(../images/tpaga_right.webp);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}
.tpaga_right span {
    font-size: 38px;
    font-weight: 500;
}
@media (max-width: 767px) {
    .tptitle_en.X_nodrug {
        font-size: 10.5vw;
    }
    .tpaga_row {
        border-top-left-radius: 50px;
        background-image: url(../images/tpaga_right.webp);
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        flex-direction: column-reverse;
    }
    .tpaga_right {
        background-image: none;
        width: 100%;
        padding: 100px 0 30px;
        font-size: 20px;
    }
    .tpaga_right span {
        font-size: 30px;
    }
    .tpaga_left {
        width: 100%;
        padding: 15px;
        max-width: 100%;
    }
    .tpaga_left p {
        font-size: 14px;
    }
}
.tpaga_task {
    position: relative;
}
.tpaga_task1 {
    background-color: #F5F5F5;
    padding: 26px 46px 14px;
    position: relative;
    border-radius: 8px;
}
.tpagatask_h3 h3 {
    font-size: 28px;
    text-align: center;
}
.tpagatask_row {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    row-gap: 20px;
    column-gap: 20px;
}
.tpagatask_col {
    width: 48%;
    background-color: #fff;
    text-align: center;
    font-size: 20px;
    padding: 8px 4px;
}
.tpagatask_text1 {
    text-align: right;
    font-size: 14px;
}
.tpaga_vs {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 1;
    margin-top: -20px;
    margin-bottom: -20px;
}
.tpaga_vs1 {
    width: 100px;
    height: 100px;
    border-radius: 100%;
    font-size: 42px;
    font-family: var(--fontN);
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #fff;
    -webkit-box-shadow: 1px 1px 10px 0px rgba(112,112,112,0.25);
    -moz-box-shadow: 1px 1px 10px 0px rgba(112,112,112,0.25);
    box-shadow: 1px 1px 10px 0px rgba(112,112,112,0.25);
}
.tpaga_task2 {
    background-color: #F5F5F5;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    padding: 30px 15px 30px;
    border-radius: 8px;
}
.tpagatask2_img {

}
.tpagatask2_img img {
    max-width: 100%;
}
.tpagatask2_img picture,
.tpfail_svg picture,
.tpreason_right picture {
    display: block;
    width: 100%;
}
.tpfail_svg picture img {
    width: 100%;
    display: block;
}
.tpagatask_text2 {
    font-size: 14px;
}
.tpaga_btn {
    display: flex;
    justify-content: center;
    align-items: center;
}
.tpaga_btn .capbtn {
    width: 430px;
}
@media (max-width: 767px) {
    .tpagatask_h3 h3 {
        font-size: 16px;
    }
    .tpaga_task1 {
        padding: 20px 15px;
    }
    .tpagatask_row {
        gap: 8px;
    }
    .tpagatask_col {
        width: 100%;
        font-size: 14px;
    }
    .tpagatask_text1 {
        text-align: center;
        font-size: 12px;
    }
    .tpaga_vs {
        margin-top: -8px;
        margin-bottom: -8px;
    }
    .tpaga_vs1 {
        width: 60px;
        height: 60px;
        font-size: 26px;
    }
    .tpagatask2_img {
        width: 100%;
    }
    .tpagatask2_img img {
        width: 100%;
    }
    .tpaga_btn .capbtn {
        width: 100%;
    }
    .tpaga_btn .capbtn_body {
        height: 72px;
    }
    .tpagatask_text2 {
        font-size: 10px;
    }
}

.tpfail_desc {
    padding: 0 100px;
}
.tpfail_desc p span {
    color: #01ABAB;
    line-height: 1.8;
}
.tpfail_row {
    display: flex;
    padding-left: 100px;
    gap: 10px;
    justify-content: center;
    align-items: center;
}
.tpfail_left {
    flex: 1;
    position: relative;
    background-color: #F5F5F5;
    border-top-left-radius: 100px;
    padding-top: 36px;
}
.tpfail_left.X_2 {
    background-color: #F1FBFC;
    padding-top: 0;
}
.tpfail_h3 h3 {
    font-size: 28px;
    text-align: center;
}
.tpfail_img {
    width: 100%;
    margin-top: 116px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 1;
}
.tpfail_svg {
    position: absolute;
    top: 90px;
    left: 3%;
    right: 3%;
    bottom: 0;
}
.tpfail_svg img {
    width: 100%;
}
.tpfail_arrow {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100px;
}
.tpfail_right {
    width: 240px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.pie {
    scale: 1.1;
}
.pie-percent-1,
.pie-percent-2 {
    font-family: var(--fontN);
    font-size: 28px;
    font-weight: 500;
    fill: #707070;
}
.pie-unit-1,
.pie-unit-2 {
    font-family: var(--fontN);
    font-size: 16px;
    fill: #707070;
}
.tpfail_r1 {
    text-align: center;
}
.tpfail_r2 {
    font-size: 20px;
    text-align: center;
}

.tpfail_up {
    width: 400px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 70px 15px 50px;
}
.tpfailup_text {
    font-size: 22px;
    font-family: var(--fontT);
    color: #01ABAB;
    text-align: center;
}
.tpfail_img1 {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: calc(100% - 400px);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.tpfail_img1.is-near {
    background-image: url(../images/tpfail_img1.webp);
}
@media (max-width: 1230px) {
    .tpfail_desc {
        padding: 0;
    }
    .tpfail_row {
        padding: 0;
    }
}
@media (max-width: 991px) {
    .tpfail_h3 h3 {
        font-size: 3vw;
    }
    .tpfail_left.X_2 {
        display: flex;
    }
    .tpfail_up {
        width: auto;
    }
    .tpfail_img1 {
        position: relative;
        content: "";
        flex: 1;
        left: auto;
    }
}
@media (max-width: 767px) {
    .tpfail_row {
        flex-direction: column;
        background-color: #F5F5F5;
        border-top-left-radius: 50px;
        gap: 16px;
        padding-bottom: 10px;
    }
    .tpfail_row.X_2 {
        background-color: #F1FBFC;
    }
    .tpfail_left {
        border-bottom: dashed 1px #CCCCCC;
    }
    .tpfail_h3 h3 {
        font-size: 14px;
        line-height: 1.5;
    }
    .tpfail_img {
        width: 50%;
        margin-left: auto;
        margin-right: auto;
        margin-top: 35vw;
    }
    .tpfail_img img {
        width: 100%;
    }
    .tpfail_svg {
        top: 20vw;
    }
    .tpfail_r1 {
        font-size: 12px;
    }
    .tpfail_r2 {
        font-size: 14px;
    }
    .tpfail_arrow {
        height: 60px;
    }
    .tpfail_arrow img {
        height: 30px;
    }
    .pie {
        scale: 1;
    }
    .tpfail_left.X_2 {
        display: flex;
        width: 100%;
        background-color: transparent;
        border-bottom: dashed 1px #7FD5D5;
    }
    .tpfail_up {
        width: 55%;
        padding: 40px 4px 20px;
    }
    .tpfail_img1 {
        width: 45%;
        position: relative;
        left: auto;
    }
    .tpfail_logo {
        width: 60%;
    }
    .tpfail_logo img {
        width: 100%;
    }
    .tpfailup_text {
        font-size: 3.6vw;
    }
    .tpfail_desc p {
        font-size: 14px;
        line-height: 2;
    }
}
.tpfail_hx1 {
    content: "";
    height: 80px;
}
.tpfailr_hx1 {
    content: "";
    height: 0px;
}
.tpfail_lastwrap {
    width: 600px;
    margin: auto;
}
.tpfail_round {
    background: none;
    /* background-image: url(../images/round_bubble.svg); */
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    height: auto;
    /* height: 112px; */
    display: flex;
    justify-content: center;
    align-items: center;
    padding-bottom: 10px;
    font-size: 18px;
    text-align: center;
    color: #01ABAB;
}
.tpfail_last {
    /* background-color: #01ABAB; */
    background-color: transparent;
    /* color: #fff;
    height: 70px; */
    color: #707070;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 18px;
}
.tpfail_last1 {
    height: 70px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
    border: solid 1px #01ABAB;
    gap: 20px;
}
.tpfail_last1 .span1 {
    font-size: 18px;
}
.tpfail_last1 .span2 {
    font-size: 36px;
    font-weight: 500;
    font-family: var(--fontN);
    color: #01ABAB;
}
.tpfail_last1 .span2 span {
    font-size: 24px;
}
.tpfail_hx2 {
    height: 100px;
}
@media (max-width: 767px) {
    .tpfail_hx1 {
        height: 40px;
    }
    .tpfail_hx2 {
        height: 50px;
    }
    .tpfail_lastwrap {
        width: 100%;
    }
    .tpfail_round {
        font-size: 14px;
        /* height: 90px;
        background-image: url(../images/sp_round_bubble.svg); */
    }
    .tpfail_last {
        font-size: 16px;
        /* height: 50px; */
    }
    .tpfail_last1 {
        flex-direction: column;
        height: auto;
        padding: 10px 15px 4px;
        gap: 4px;
    }
    .tpfail_last1 .span1 {
        text-align: center;
        font-size: 12px;
    }
    .tpfail_last1 .span2 {
        font-size: 30px;
    }
}

.tpreason {
    background-color: #F1FBFC;
    border-top-left-radius: 100px;
    justify-content: flex-end;
    padding-right: 1.5%;
    padding-left: 15px;
    display: flex;
    justify-content: flex-end;
}
.tpreason_left {
    padding-top: 60px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}
.tpreason_title {
    position: relative;
    margin-right: 26px;
}
.tpreason_titleb {
    height: 4px;
    background-image: url(../images/tpreason_title.svg);
    background-repeat: repeat-x;
    background-position: center;
    position: relative;
    z-index: 1;
}
.tpreason_title h2 {
    font-size: 36px;
    font-family: var(--fontT);
    color: #01ABAB;
    position: relative;
    z-index: 1;
    text-align: center;
}
.tpreason_titlen {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    font-family: var(--fontEN);
    font-size: 75px;
    text-align: center;
    white-space: nowrap;
}
.tpreason_item {
    border-radius: 50px;
    background-image: url(../images/tpreason_check.svg);
    background-position: center left 16px;
    background-repeat: no-repeat;
    background-color: #fff;
    padding: 10px 20px 10px 46px;
    margin-bottom: 12px;
    background-size: 18px;
    -webkit-box-shadow: 1px 1px 5px 0px rgba(1,171,171,0.65);
    -moz-box-shadow: 1px 1px 5px 0px rgba(1,171,171,0.65);
    box-shadow: 1px 1px 5px 0px rgba(1,171,171,0.65);
}
.tpreason_right {
    margin-top: 12px;
    margin-bottom: -8px;
}
.tpreason_btn {
    display: flex;
    justify-content: center;
    align-items: center;
}
.tpreason_hx1 {content: "";height: 50px;}
.tpreason_hx2 {content: "";height: 40px;}
@media (max-width: 1400px) {
    .tpreason_left {
        align-items: center;
    }
    .tpreason_title h2 {
        font-size: 2.5vw;
    }
}
@media (max-width: 991px) {
    .tpreason_title h2 {
        font-size: 3.5vw;
    }
}
@media (max-width: 767px) {
    .tpreason {
        flex-direction: column;
        padding: 15px;
        border-top-left-radius: 60px;
    }
    .tpreason_left {
        width: 100%;
        display: block;
        padding-top: 15px;
    }
    .tpreason_title {
        margin-right: 0;
    }
    .tpreason_title h2 {
        font-size: 5.6vw;
        line-height: 1.5;
    }
    .tpreason_titlen {
        font-size: 10vw;
    }
    .tpreason_item {
        padding: 12px 20px 13px 54px;
        background-position: center left 24px
    }
    .tpreason_hx1 {
        content: "";
        height: 20px;
    }
    .tpreason_right {
        margin-bottom: -21px;
        margin-right: -15px;
        margin-left: -15px;
    }
    .tpreason_right img {
        width: 100%;
    }
}

.tpvoice {
    background-color: #F1FBFC;
    padding: 50px 15px 40px;
}
.tptitle_en.X_2 {
    color: #fff;
}
.tpvoice_img {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 15px;
}
.tpvoice_img img {
    max-width: 100%;
    height: auto;
    display: block;
    -webkit-box-shadow: 1px 1px 25px 0px rgba(1,171,171,0.08);
    -moz-box-shadow: 1px 1px 25px 0px rgba(1,171,171,0.08);
    box-shadow: 1px 1px 25px 0px rgba(1,171,171,0.08);
}
.tpvoice_btn {
    display: flex;
    justify-content: center;
    align-items: center;
}
@media (max-width: 767px) {
    .tpvoice {
        margin: 0 -15px;
        padding: 20px 15px;
    }
    .tpvoice_img {
        padding: 0;
    }
    .tpvoice_img img {
        width: 100%;
        height: auto;
    }
}
.tpcounsel {
    position: relative;
    padding: 60px 0;
}
.tpcounsel_layer0 {
    position: absolute;
    top: 0;
    left: 16%;
    right: 16%;
    bottom: 0;
    background-color: #F1FBFC;
    border-top-left-radius: 100px;
}
.tpcounsel_layer1 {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.tpcounsel1 img {
    max-width: 100%;
    border-top-left-radius: 100px;
}
.tpcounsel2 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 0 15px;
}
.tpcounsel_p {
    width: 400px;
}
.tpcounsel_p p {
    text-align: left;
    line-height: 1.9;
}
.tpcounsel_btn {
    width: 320px;
}
.tpcounsel_btn .capbtn {
    width: 100%;
}
.tpcounsel3 img {
    max-width: 100%;
    border-top-left-radius: 100px;
}
@media (max-width: 767px) {
    .tpcounsel {
        padding: 0;
    }
    .tpcounsel_layer0 {
        left: 0;
        right: 0;
        border-top-left-radius: 60px;
    }
    .tpcounsel_layer1 {
        flex-direction: column;
    }
    .tpcounsel_p {
        width: 100%;
    }
    .tpcounsel2 {
        width: 100%;
    }
    .tpcounsel1 {
        display: flex;
        justify-content: flex-start;
        width: 90vw;
        margin-top: -26px;
        margin-bottom: 26px;
    }
    .tpcounsel3 {
        display: flex;
        justify-content: flex-end;
        width: 90vw;
        margin-top: 26px;
        margin-bottom: -26px;
    }
    .tpcounsel1 img {
        max-width: 100%;
        border-top-left-radius: 50px;
        margin-left: -5vw;
    }
    .tpcounsel3 img {
        max-width: 100%;
        border-top-left-radius: 60px;
        margin-right: -5vw;
    }
    .tpcounsel_btn {
        width: calc(100vw - 60px);
    }
    .tpcounsel_btn .capbtn_body {
        height: 72px;
    }
}
.tplocation {

}
.tplocation_row {
    display: flex;
}
.tplocation_col {
    width: 50%;
}
.tplocation_col:first-child {
    border-right: dashed 1px #CCCCCC;
}
.tplocation_col:last-child {
    padding-left: 10%;
}
.tplocation1 {
    display: inline-block;
    padding: 0 4px;
    border: solid 1px #01ABAB;
    color: #01ABAB;
    font-size: 18px;
}
.tplocation2 {
    color: #01ABAB;
    font-size: 18px;
    font-weight: 500;
}
.tplocation_p {
    line-height: 2;
}
@media (max-width: 767px) {
    .tplocation_col:last-child {
        padding-left: 15px;
    }
    .tplocation1 {
        font-size: 16px;
    }
    .tplocation2 {
        font-size: 15px;
    }
    .tplocation_p {
        font-size: 12px;
    }
    
}

.tpstore_p p {
    text-align: left;
    line-height: 1.8;
}
/*#endregion pg_top*/
.tp3-new {
    max-width: 1000px;
    margin: 0 auto;
}
.tp3-row {
    display: flex;
    gap: 30px;
}
.tp3-col {
    width: 50%;
    /* background: url(../images/tp3-left.png); */
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    padding: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
}
.tp3-col+.tp3-col {
    /* background: url(../images/tp3-right.png); */
}
.tp3-col img {
    width: 300px;
    height: 200px;
    object-fit: contain;
}
.tp3-title {
    font-size: 25px;
    font-weight: bold;
    line-height: 40px;
    padding-bottom: 18px;
    padding-top: 18px;
    text-align: center;
    color: #01ABAB;
}
.tp3-content {
    font-size: 23px;
    font-weight: 43px;
    text-align: center;
}
.tp3bg-op1 {
    position: absolute;
    width: 100%;
    height: 420px;
    background: #F1FBFC;
    z-index: -1;
    bottom: 0;
    border: 2px solid #01ABAB;
    border-radius: 20px;
}
.tp3-content p {
    margin-top: 20px;
}
.tp3-new .tpeffect_h3 {
    margin: 0;
}
.tp3-content .tp3-c {
    font-size: 20px;
    background: #01ABAB;
    color: #fff;
    font-weight: 400;
    padding: 8px;
}
.tp3-content .f1 {
    font-family: var(--fontEN);
    font-size: 40px;
    font-weight: 900;
    color: #01ABAB;
}
.info-title {
    text-align: right;
    padding-top: 0;
    font-family: 20px;
}
.tpfeature.customer-header .tpfeature_content {
    padding-top: 20vw;
}
.tpfeature.counsel.is-near .tpfeature_shape1{
    background-image: url(../images/tpcounsel3.webp) ;
}
.tpfeature.store.is-near .tpfeature_shape1{
    background-image: url(../images/tpstore-bg.webp) ;
}
.tpfeature.about-pre.is-near .tpfeature_shape1{
    background-image: url(../images/tabout-bg.webp) ;
}
.tpfeature.tp-concept.is-near  .tpfeature_shape1{
    background-image: url(../images/tconcept-bg.webp) ;
}
.tpfeature.honored.is-near .tpfeature_shape1 {
    background-image: url(../images/honored.webp);
}
@media (min-width: 768px) {
    /* 基準: ABOUT（880x608 @ 131.26%）の見え幅に揃える */
    .tpfeature.about-pre .tpfeature_shape1 {
        background-size: auto 131.26%;
        background-position: left center;
    }
    .tpfeature.tp-concept .tpfeature_shape1 {
        background-size: auto 148%;
        background-position: left center;
    }
    .tpfeature.store .tpfeature_shape1,
    .tpfeature.loca .tpfeature_shape1 {
        background-size: auto 131.26%;
        background-position: left center;
    }
    .tpfeature.counsel .tpfeature_shape1 {
        background-size: auto 123.7%;
        background-position: left center;
    }
    .tpfeature.honored .tpfeature_shape1 {
        background-size: auto 124%;
        background-position: left center;
    }
}
.pc {
    display: block;
}
.sp {
    display: none;
}
@media screen and (max-width: 767px) {
    .pc {
        display: none!important;
    }
    .sp {
        display: block!important;
    }
    .tpfeature.customer-header .tpfeature_content {
        padding-top: 70vw;
    }
    .tpfeature.customer-header .tptitle2 {
        height: 200px;
    }
    .tp3-row {
        display: flex;
        flex-direction: column;
    }
    .tp3-col  {
        width: 100%;
        padding: 20px;
    }
    .tp3-col img {
        width: 100%;
        height: auto;
        aspect-ratio: 3 / 2;
    }
    .info-title {
        text-align: left;
        padding-top: 0;
        font-size: 12px;
    }
    .tpprop-add {
        max-width: 800px;
        margin: 0 auto;
        display: flex;
        gap: 20px;
        padding-bottom: 20px;
        align-items: center;
    }
    .tad-photo {
        flex: 0 0 auto;
    }
    .tad-photo img {
        width: 140px;
        height: auto;
        max-width: none;
    }
    .tad-title {
        font-size: 14px;
        line-height: 24px;
        color: #01ABAB;
        padding-bottom: 0px;
    }
    .tad-content p {
        font-size: 14px;
        line-height: 24px;
        color: #707070;
    }
    .tad-con {
        font-size: 14px;
        line-height: 24px;
    }
    .tad-name {
        font-size: 20px;
        line-height: 30px;
        color: #01ABAB;
        padding-top: 0px;
        padding-bottom: 0px;
    }
    .about_point .aboutpoint_layer0.X_2 {
        top: 130px;
    }
    .tpfail_last1.tpfail_iccc::before {
        bottom: -28px;
    }
    .tpcustomer-row{
        display: flex;
        flex-direction: column;
        gap: 20px;
    }
    .tpcustomer-row .tpcustomer-col {
        width: 90%;
        margin: 0 auto;
    }
    .tpcustomer-row .tpcustomer-col img{
        width: 100%;
    }
    .tpcustomer-row .tpcustomer-col h4 {
        font-size: 18px;
        line-height: 36px;
        color: #01ABAB;
    }
    .tpcustomer-row .tpcustomer-col  p {
        font-size: 14px;
        line-height: 20px;
    }
    .customer-voice .tphcr_btn {
        width: 90%;
        margin: 0 auto;
    }
    .photo-card {
        width: 90%;
        flex-direction: row;
        justify-content: flex-start;
        align-items: center;
        text-align: left;
        gap: 16px;
    }
    .photo-card .pcard-img {
        flex: 0 0 auto;
        width: 140px;
        max-width: 140px;
        height: auto;
    }
    .photo-card .pcard-col {
        flex: 1 1 auto;
        min-width: 0;
        padding: 0;
        text-align: left;
    }
    .photo-card .pcard-col .pre-t {
        margin-left: 0;
    }
    .photo-card .pcard-title {
        font-size: 14px;
        line-height: 1.4;
        color: #01ABAB;
    }
    .photo-card .pcard-content {
        font-size: 14px;
        line-height: 21px;
        color: #707070;
        padding-top: 5px;
        padding-bottom: 10px;
    }
    .photo-card .pcard-name {
        font-size: 20px;
        line-height: 30px;
        color: #01ABAB;
    }
    .photo-card .pcard-name img {
        margin: 0;
        display: block;
        max-width: 100%;
        height: auto;
    }
    .chart-text {
        font-size: 12px;
        line-height: 19px;
        color: #01ABAB;
    }
    .chart-text br {
        /* display: none; */
    }
    .tp3-title {
        font-size: 20px;
        font-weight: bold;
        line-height: 36px;
        padding-bottom: 10px;
        text-align: center;
    }
    .tp3-content p {
        margin-top: 20px;
        line-height: 33px;
        font-size: 16px;
    }
    .tp3-content {
        font-size: 18px;
        line-height: 31px;
        text-align: center;
    }
    .tp3bg-op1 {
        height: 380px;
    }
    .tp3-content .f1 {
        font-family: var(--fontEN);
        font-size: 30px;
        font-weight: 900;
    }
    .tp3-content span {
        font-family: var(--fontEN);
        font-size: 25px;
        font-weight: 900;
    }
    .counsel .tpcounsel_p p {
        text-align: left;
    }
    .store .tpstore_p p {
        text-align: left;
    }
    .tpfeature-after--counsel .tpcounsel_p p {
        text-align: left;
    }
    .tpfeature-after--store .tpstore_p p {
        text-align: left;
    }
    .tpfeature-after .tpcounsel_btn {
        width: calc(100vw - 60px);
    }
}
.tpfail_iccc {
    position: relative;
}
.tpfail_iccc::before {
    content: '';
    position: absolute;
    width: 56px;
    height: 40px;
    background: url(../images/tb-ic.webp);
    bottom: -30px;
    left: calc(50% - 25px);
}
.customer-voice {
    max-width: 1000px;
    margin: 0 auto;
}
.tpcustomer-row{
    display: flex;
    gap: 50px;
}
.tpcustomer-col {
    width: 33%;
}
.tpcustomer-col img{
    width: 100%;
}
.tpcustomer-col h4 {
    font-size: 18px;
    line-height: 36px;
    color: #01ABAB;
}
.tpcustomer-col  p {
    font-size: 14px;
    line-height: 20px;
}

.photo-card {
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 16px;
}
.pcard-img {
    max-width: 170px;
    width: 100%;
}
.pcard-col .pre-t{
    margin-left: -12px;
}
.pcard-title {
    font-size: 20px;
    line-height: 30px;
    color: #707070;
    font-weight: 700;
}
.pcard-content {
    font-size: 16px;
    line-height: 24px;
    color: #707070;
    padding-top: 10px;
    padding-bottom: 20px;
}
.pcard-name {
    font-size: 40px;
    line-height: 30px;
    color: #01ABAB;
}
.page-width-1000 {
    max-width: 1000px;
    margin: 0 auto;
}
.tpfv_tlayer .detail {
    text-align: center;
    padding-top: 10px;
}
@media (max-width: 345px) {
    .tpsubmenu_text {
        font-size: 16px;
    }
}
@media screen and (max-width: 1024px) {
    /* .tpfv_tlayer {
        right: 15px;
        bottom: 15px;
    } */
    .tpsubmenu_text {
        font-size: 18px;
    }
}
.temppc {
    display: none;
}
@media screen and (max-width: 1024px) and (min-width: 768px) {
/* .tpfv_marks img,.tpfv_tlayer img {
    width: 220px;
} */
.temppc {
    display: block;
}
.tp3-col {
    padding: 0 0 20px 0;
}
}
@media screen and (max-width: 1024px) and (min-width: 1023px) and (min-height: 1366px) {
    .tpfv_marks {
        /* height: 50vh; */
        /* height: 22vh; */
    }
    .tpfv_text {
        height: 25vh;
    }
    /* .tpfv_tlayer {
        position: absolute;
        z-index: 10;
        bottom: 4vh;
        right: 54px;
        transition: all .7s;
        transition-delay: 2s;
        transform: translateY(50px);
        opacity: 0;
    } */
}
@media screen and (width: 540px) and  (height: 720px) {
    .tpfv_front {
        display: flex;
        flex-direction: column;
        padding-top: var(--headerH);
        height: 150vh;
    }
    .tpfv_marks {
        bottom: 67vh;
    }
    /* .tpfv_mark1 {
        position: absolute;
        bottom: 0;
        right: 20px;
    } */
}
@media screen and (width: 402px) and  (max-height: 690px)  {
    .tpfv_front {
        height: 120vh;
    }
    /* .tpfv_marks {
        bottom: 70vh;
    } */
}
@media screen and (max-height: 690px)  {
    .tpfv_front {
        height: 120vh;
    }
    /* .tpfv_marks {
        bottom: 70vh;
    } */
}
@media screen and (min-width: 1025px) {
    .tpfv_marks {
        /* height: 50vh; */
        /* height: 41vh;
        display: flex;
        justify-content: center;
        align-items: flex-end;
        gap: 5vw; */
    }
    .tpfv_text {
        height: 40vh;
        padding-top: 20px;
        padding-left: 5%;
        transition: all .7s;
        transform: translateX(-50px);
        opacity: 0;
    }
    /* .tpfv_tlayer {
        position: absolute;
        z-index: 10;
        bottom: 41vh;
        right: 5vw;
        transition: all .7s;
        transition-delay: 2s;
        transform: translateY(50px);
        opacity: 0;
    } */

}
@media screen and (max-width: 375px) {
    .pg_title1 h2 span {
        font-size: 19px;
    }
}
@media screen and (max-width: 345px) {
    .tad-name {
        font-size: 18px;
        line-height: 28px;
        color: #01ABAB;
        padding-top: 0px;
        padding-bottom: 0px;
    }
    .tad-content p {
        font-size: 12px;
        line-height: 20px;
        color: #707070;
    }
    .tad-title {
        font-size: 12px;
        line-height: 20px;
        color: #01ABAB;
        padding-bottom: 0px;
    }
    .tp3-content .tp3-c {
        font-size: 18px;
        background: #01ABAB;
        color: #fff;
        font-weight: 400;
        padding: 8px;
    }
    .tp3-title {
        font-size: 19px;
        font-weight: bold;
        line-height: 36px;
        padding-bottom: 10px;
        text-align: center;
    }
    .tp3-content p {
        margin-top: 17px;
        line-height: 27px;
        font-size: 15px;
    }
    .tp3bg-op1 {
        position: absolute;
        width: 100%;
        height: 345px;
        background: #F1FBFC;
        z-index: -1;
        bottom: 0;
        border: 2px solid #01ABAB;
        border-radius: 20px;
    }
}
@media screen and (width:360px) and (height: 740px) {
    .tpfv_marks {
        bottom: 39vh;
    }
}
@media screen and (width:768px) and (height: 1024px){
    .tpfv_tlayer {
        bottom: 5vh;
        right: 15px;
    }
}
@media screen and (width:430px) and (height: 744px) {
    .tpfv_mark2 {
        bottom: -10vw;
    }
}
