
.out-block{
    width: 100%;
    padding: 2% 5%;
    text-align: center;
    display: flex;
    justify-content: center;
}
.block-setting{
    width: 100%;
    max-width: 1080px;
    min-width: 320px;
    box-sizing: border-box;
}
.blockBg {
    width: 320px;
    height: 70px;
    line-height: 70px;
    display: inline-block;
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5);
    justify-content: center;
    align-items: center;
    border-radius: 15px;
    margin:10px;
}

.blockBg.L1 {
    text-align: center;
    color: black;
    background-color: #FFB636;
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 700;
    font-size: 20px;
}

.blockBg.L2_1 {
    text-align: center;
    color: #264E58;
    background-color: #FFDEC7;
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 700;
    font-size: 20px;
    width: calc(calc(100% - 60px) / 3);
    margin: 10px;
}

.blockBg.L2_2 {
    text-align: center;
    color: #264E58;
    background-color: #FFDEC7;
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 700;
    font-size: 20px;
    width: calc(calc(100% - 60px) / 3);
    margin: 10px;
}

.blockBg.L2_3 {
    text-align: center;
    color: #264E58;
    background-color: #FFDEC7;
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 700;
    font-size: 20px;
    width: calc(calc(100% - 60px) / 3);
    margin: 10px;
}

.blockBg.L3 {
    vertical-align: middle;
    text-align: center;
    color: #264E58;
    background-color: #B8E9E6;
    height: 100px;
    line-height: 50px;
    width: calc(calc(100% - 100px) / 5);
    margin: 10px;
    font-size: 20px;
    font-weight: 700;
}

.photo-two{
    position: relative;
    width: calc(calc(100% - 40px) / 2);
    display: inline-block;
    margin: 5px;
}

.video-frame{
    border-radius: 20px;
    width: 520px;
    height: 300px
}

.circle-plan-frame{
    width: 110px;
    height: 110px;
    border-radius: 110px;
    position: absolute;
    top: 25px;
    left: 325px;
    z-index: 3;
    background-color: #F4D240;
    border: solid 2px #FFEa8E;
    color: #2B7A77;
    text-align: center;
    vertical-align: middle;
    display: block;
    justify-content: center;
    align-content: center;
}

.circle-plan-text{
    width: 100%;
    font-size: 16px;
    flex-wrap: wrap;
    margin: 16px 0 0 0;
}

.circle-name{
    height: auto;
    margin: 5px 0;
    width: 100%;
    font-weight: 700;
}

/* 測試用 */
@keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}
.photo_block{
    width: 100%;
    height: 400px;
    position: relative;
    display: inline-block;
    vertical-align: middle;
}

.photo_content{
    display: inline-block;
    width: 570px;
    color: white;
    font-weight: 700;
    text-align: left;
    vertical-align: middle;
    display: inline-block;
    align-content: center;
}
.legendView {
    display: inline-block;
    width: calc(100% - 20px);
    max-width: 700px;
    /*height: 30px;*/
    line-height: 30px;
    padding: 10px 10px 10px 10px;
    border-radius: 30px;
    /*box-shadow: 0 2px 4px 0 rgb(0 0 0 / 50%);*/
    border: solid 1px #ffffff;
    color: black;
    font-size: 15px;
    text-align: center;
    margin: 20px 0px 20px 0px;
    background: white;
}

.legendContent {
    display: inline-block;
    font-size: 16px;
    height: 25px;
    line-height: 25px;
    vertical-align: middle;
    margin: 0px 15px 0 0;
}

.item1Box{
    vertical-align: middle;
    margin: 0 3px;
    width: 20px;
    height: 20px;
    background: #4AC8C1;
    border-radius: 3px;
    display: inline-block;
}

.item2Box{
    vertical-align: middle;
    margin: 0 3px;
    width: 20px;
    height: 20px;
    background: #45D2FF;
    border-radius: 3px;
    display: inline-block;
}

.item3Box{
    vertical-align: middle;
    margin: 0 3px;
    width: 20px;
    height: 20px;
    background: #F4D242;
    border-radius: 3px;
    display: inline-block;
}

.photoS3:hover{
    background-size: 150%;
}
#photo_block01:hover #photo_shadow01{
    display: none;
}
#photo_block02:hover #photo_shadow02{
    display: none;
}
.photo_btn{
    width: 50%;
    height: 40px;
    margin: 20px 25%;
    background-color: #B8E9E6;
    color: #2B7A77;
    text-align: center;
    line-height: 40px;
    border-radius: 20px;
    cursor: pointer;
}
.photo_btn:hover{
    background-color: white;
    color: #3AAFA9;
}

.font-h1-size{
    font-size: 24px;
}
.font-h2-size{
    font-size: 20px;
}

.font-h3-size{
    font-size: 18px;
}

.font-h4-size{
    font-size: 18px;
}

.font-p1-size{
    font-size: 16px;
}

.font-p2-size{
    font-size: 14px;
}

.font-t1-size{
    font-size: 30px;
}

.table-sub-title{
    width: 33%;
    height: 40px;
    padding-left: 30px;
    display: inline-block;
    text-align: left;
}

.sec-title {
    font-weight: 700;
    font-size: 36px;
    line-height: 150%;
    color: #3AAFA9;
    text-align: center;
    margin-top: 30px;
    margin-bottom: 20px;
}

.sub-title {
    font-weight: 700;
    font-size: 28px;
    line-height: 150%;
    color: #2B7A77;
    text-align: center;
    margin: 20px 0 30px 0;
}

.sub-title-light {
    font-weight: 700;
    font-size: 28px;
    line-height: 150%;
    color: #74E7BD;
    text-align: center;
    margin: 50px 0 30px 0;
}

.feedback-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
    margin: 20px 0 30px;
    align-items: start;
    width: 1080px;
}

.feedback-item {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.feedback-bubble {
    position: relative;
    width: 100%;
    min-height: 170px;
    background: #F3E6D8;
    border-radius: 15px;
    box-sizing: border-box;
    padding: 22px 18px 18px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    display: flex;
    align-items: normal;
    justify-content: center;
}

.feedback-bubble::after {
    content: "";
    position: absolute;
    left: 70%;
    bottom: -20px;
    transform: translateX(-50%);
    width: 37px;
    height: 37px;
    background: #F3E6D8;
    clip-path: polygon(50% 100%, 0 0, 100% 0);
}

.feedback-text {
    margin: 0;
    color: #40474A;
    font-size: 20px;
    line-height: 1.5;
    letter-spacing: 0.02em;
    text-align: left;
    width: 100%;
}

.feedback-avatar {
    margin-top: 26px;
    text-align: center;
}

.feedback-avatar img {
    width: 100px;
    height: 100px;
    display: block;
    margin: 0 auto;
    object-fit: contain;
}

.feedback-section {
    width: 100%;
    overflow-x: auto;
    margin-bottom: 10px;
}

@media (max-width: 640px) {
    .feedback-bubble {
        min-height: 140px;
    }

    .feedback-text {
        font-size: 16px;
    }
}

.sec-content{
    width: 100%;
    color: #40474A;
    font-size: 20px;
    letter-spacing: 0.02em;
    line-height: 150%;
    font-weight: 400;
    text-align: justify;
}

.icon-prev-btn{
    background-image: url(../../../img/menu/1/1-2/arrow-left-fill.svg);
    background-size: 50px;
    background-position: center;
    background-repeat: no-repeat;
    background-color: rgba(256,256,256, 0.7);
    width: 30px;
    height: 30px;
    border: 1px solid #ABABAB;
    border-radius: 100px;
    text-align: center;
    vertical-align: middle;
    line-height: 30px;
    position: absolute;
    top:calc(40%);
    left: -1%;
    font-size: 21px;
    cursor: pointer;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
}

.icon-next-btn{
    background-image: url(../../../img/menu/1/1-2/arrow-right-fill.svg);
    background-size: 50px;
    background-position: center;
    background-repeat: no-repeat;
    background-color: rgba(256,256,256, 0.7);
    width: 30px;
    height: 30px;
    border: 1px solid #ABABAB;
    border-radius: 100px;
    text-align: center;
    vertical-align: middle;
    line-height: 30px;
    position: absolute;
    top:calc(40%);
    right: -1%;
    font-size: 21px;
    cursor: pointer;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
}

.dreamBack {
    background-image: url(../../../img/menu/6/6-3/yellow-chevron-left.png);
    background-size: 14px;
    background-position: center;
    background-repeat: no-repeat;
}

.dreamNext {
    background-image: url(../../../img/menu/6/6-3/yellow-chevron-right.png);
    background-size: 14px;
    background-position: center;
    background-repeat: no-repeat;
}


.legendView {
    display: inline-block;
    /*width: 350px;*/
    /*max-width: 650px;*/
    /*height: 30px;*/
    /*line-height: 30px;*/
    padding: 10px 20px;
    border-radius: 20px;
    /*box-shadow: 0 2px 4px 0 rgb(0 0 0 / 50%);*/
    border: solid 1px #ffffff;
    color: black;
    font-size: 15px;
    text-align: center;
    margin: 20px 0px 20px 0px;
    background: white;
}

.legendContent {
    display: inline-block;
    margin-left: 5px;
    font-size: 18px;
    line-height: 22px;
    font-weight: 400;
}

input[type="checkbox"] {
    -webkit-appearance: none;
    vertical-align: middle;
    margin-top:0;
    width: 25px;
    height: 25px;
    background: #fff;
    border: #fff solid 1px;
    border-radius: 3px;
    /*box-shadow: inset 0 1px 3px 0 rgba(0, 0, 0, 0.5);*/
    cursor: pointer;
}

input.employeeCheckBox[type="checkbox"] {
    display: inline-block;
    -webkit-appearance: none;
    vertical-align: middle;
    margin-top:0;
    width: 25px;
    height: 25px;
    background: #fff;
    border: #6fcefa solid 1px;
    border-radius: 3px;
    /*box-shadow: inset 0 1px 3px 0 rgba(0, 0, 0, 0.5);*/
    cursor: pointer;
}

input.donationCheckBox[type="checkbox"] {
    -webkit-appearance: none;
    vertical-align: middle;
    margin-top:0;
    width: 25px;
    height: 25px;
    background: #fff;
    border: #87d2ce solid 1px;
    border-radius: 3px;
    /*box-shadow: inset 0 1px 3px 0 rgba(0, 0, 0, 0.5);*/
    cursor: pointer;
}

input.adoptCheckBox[type="checkbox"] {
    -webkit-appearance: none;
    vertical-align: middle;
    margin-top:0;
    width: 25px;
    height: 25px;
    background: #fff;
    border: #BBB2F6 solid 1px;
    border-radius: 3px;
    /*box-shadow: inset 0 1px 3px 0 rgba(0, 0, 0, 0.5);*/
    cursor: pointer;
}

input.employeeCheckBox[type="checkbox"]:checked {
    background: #87d2ce;
}
input.employeeCheckBox[type=checkbox]:checked::after {
    content: '';
    margin-top: 6px;
    margin-left: 4px;
    display: block;
    background: transparent;
    border: white solid 2px;
    border-top: none;
    border-right: none;
    height: 5px;
    width: 12px;
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

input.donationCheckBox[type="checkbox"]:checked {
    background: #6fcefa;
}
input.donationCheckBox[type=checkbox]:checked::after {
    content: '';
    margin-top: 6px;
    margin-left: 4px;
    display: block;
    background: transparent;
    border: white solid 2px;
    border-top: none;
    border-right: none;
    height: 5px;
    width: 12px;
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

input.adoptCheckBox[type="checkbox"]:checked {
    background: #BBB2F6;
}
input.adoptCheckBox[type=checkbox]:checked::after {
    content: '';
    margin-top: 6px;
    margin-left: 4px;
    display: block;
    background: transparent;
    border: white solid 2px;
    border-top: none;
    border-right: none;
    height: 5px;
    width: 12px;
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.overflow-x-scroll {
    overflow-x: scroll;
}

.sec2-mobile-view {
    display: block;
}

.sec2-web-view {
    display: none;
}

.mobileGraphScrollBtn {
    position: absolute;
    background-image: url(../../../img/menu/5/5-3/icon-next-btn.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-color: transparent;
    width: 35px;
    height: 35px;
    left: 50px;
    margin-top: -14px;
    border-radius: 50%;
    border: 1px solid #ABABAB;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
    background-color: white;
    display: block;
    z-index: 1;
}

.section3-title {
    /*font-family: 'Roboto';*/
    font-style: normal;
    font-weight: 700;
    font-size: 28px;
    line-height: 150%;
    text-align: center;
    letter-spacing: 0.04em;
    color: #2B7A77;
    margin-top: 20px;
}

.s2-outcome-wrap {
    position: relative;
    width: 100%;
    margin: 20px auto 0;
    padding: 26px 28px 30px;
    box-sizing: border-box;
    /*background-image: linear-gradient(rgba(94, 58, 23, 0.12), rgba(94, 58, 23, 0.12)), url(../../../img/menu/6/6-3/6-3-s3-bg.jpg);*/
    /*background-size: cover;*/
    /*background-position: center;*/
    border-radius: 8px;
}

.s2-outcome-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px 20px;
}

.s2-outcome-card {
    position: relative;
    min-height: 175px;
    padding: 34px 28px 18px;
    box-sizing: border-box;
    background: rgba(255, 255, 255, 0.94);
    border-radius: 30px;
    color: #40474A;
    margin: 50px 0 0 0;
}

.s2-outcome-card.is-wide {
    min-height: 175px;
    margin-top: 80px;
}

.s2-outcome-icon {
    position: absolute;
    top: -50px;
    left: 0px;
    width: 150px;
    height: 150px;
    display: flex;
    padding-top: 20px;
    justify-content: center;
    background: #F9F7F4;
    border-radius: 50%;
    clip-path: inset(0 0 40% 0);
}

.s2-outcome-icon img {
    width: 80px;
    height: 80px;
    object-fit: contain;
}

.s2-outcome-label {
    position: absolute;
    top: -30px;
    left: 125px;
    min-width: 116px;
    padding: 0 20px;
    box-sizing: border-box;
    background: #3AAFA9;
    border: 2px solid #C3C77F;
    border-radius: 50px;
    color: #FFFFFF;
    font-size: 20px;
    font-weight: 700;
    width: auto;
    height: 60px;
    text-align: center;
     white-space: nowrap;
    display: flex;
    justify-content: center;
    align-items: center;
    vertical-align: middle;
}

/*.s2-outcome-card.is-wide .s2-outcome-label {*/
/*    left: 94px;*/
/*    min-width: 96px;*/
/*}*/

.s2-outcome-table {
    width: 100%;
}

.s2-outcome-card.is-wide .s2-outcome-table {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 58px;
}

.s2-outcome-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 78px 78px;
    align-items: center;
    min-height: 56px;
    border-top: 1px solid #777777;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.35;
}

.s2-outcome-row.is-head {
    min-height: 46px;
    border-top: 0;
}

.s2-outcome-row div:first-child {
    text-align: left;
}

.s2-outcome-row div:nth-child(2),
.s2-outcome-row div:nth-child(3) {
    text-align: right;
}

.s2-outcome-row.is-head div {
    color: #40474A;
    font-weight: 700;
}

.s2-outcome-row.is-head div:nth-child(3) {
    color: #177D7C;
}

/*******************Mobile*************************/
@media only screen and (max-width: 800px) {

    .item1Box,.item2Box,.item3Box{
        margin: 0 10px;
    }
    .out-block{
        padding: 0 10px;
    }

    .font-h1-size{
        font-size: 18px;
    }

    .font-h2-size{
        font-size: 16px;
    }

    .font-h3-size{
        font-size: 14px;
    }

    .font-h4-size{
        font-size: 16px;
    }

    .font-p1-size{
        font-size: 12px;
    }

    .font-p2-size{
        font-size: 8px;
    }

    .font-t1-size{
        font-size: 20px;
    }

    .table-sub-title{
        width: 33%;
        height: 40px;
        padding-left: 10px;
        line-height: 20px;
        display: inline-block;
        text-align: left;
    }

    .sec-title {
        font-size: 24px;
    }
    .sub-title {
        font-size: 20px;
        margin: 20px 0 0px 0;
    }
    .sec-content{
        font-size: 16px;
    }

    .photo-two{
        position: relative;
        margin-left: calc(50% - 160px);
        width: 320px;
        display: contents;
    }

    .photo_content{
        max-width: 100%;
    }

    /*.photo-two img{*/
    /*    max-width: 320px;*/
    /*}*/

    .video-frame{
        border-radius: 20px;
        width: 300px;
        height: 180px
    }

    .circle-plan-frame{
        width: 80px;
        height: 80px;
        border-radius: 80px;
        top: 15px;
        left: 230px;
        z-index: 3;
    }

    .circle-plan-text{
        font-size: 14px;
    }


    .section3-title {
        font-size: 20px;
    }

    .s2-outcome-wrap {
        padding: 24px 12px 20px;
        margin-top: 16px;
    }

    .s2-outcome-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .s2-outcome-card,
    .s2-outcome-card.is-wide {
        min-height: 0;
        padding: 42px 14px 14px;
        margin-top: 20px;
        border-radius: 24px 8px 24px 8px;
    }

    .s2-outcome-card.is-wide {
        margin-top: 45px;
    }

    .s2-outcome-icon {
        top: -25px;
        width: 100px;
        height: 100px;
    }

    .s2-outcome-icon img {
        width: 60px;
        height: 60px;
    }

    .s2-outcome-label {
        left: 90px;
        min-width: 92px;
        padding: 0 16px;
        font-size: 16px;
        height: 42px;
        top: -21px;
    }

    /*.s2-outcome-card.is-wide .s2-outcome-label {*/
    /*    left: 80px;*/
    /*}*/

    .s2-outcome-card.is-wide .s2-outcome-table {
        display: block;
    }

    .s2-outcome-card.is-wide .s2-outcome-col + .s2-outcome-col {
        margin-top: 8px;
    }

    .s2-outcome-card.is-wide .s2-outcome-col + .s2-outcome-col .s2-outcome-row.is-head {
        display: none;
    }

    .s2-outcome-row {
        grid-template-columns: minmax(0, 1fr) 58px 58px;
        min-height: 52px;
        font-size: 14px;
    }

    .photo_block{
        height: 270px;
    }

    .legendContent {
        display: inline-block;
        font-size: 16px;
        height: 25px;
        line-height: 25px;
        margin-left: 0px;
        margin-right: 0px;
    }

    .item1Box{
        width: 15px;
        height: 15px;
    }
    .item2Box{
        width: 15px;
        height: 15px;
    }
    .item3Box{
        width: 15px;
        height: 15px;
    }

    .sub-title-light {
        font-weight: 700;
        font-size: 20px;
        line-height: 150%;
        color: #74E7BD;
        text-align: center;
        margin: 30px 0 15px 0;
    }
}
