:root {
    /*主色輔色 改色*/
    --main-color: #f8b616;
    --sub-color: #ea5214;
    --sub2-color: #F0EFEE;
    --sub3-color: #ffeb27;

    /*勿動*/
    --white-color: #fff;
    --black-color: #1e1e1e;

    --left: 5px;
}

.oswald{
    font-family: "Oswald", sans-serif;
}

.owl-theme .owl-nav [class*=owl-]:hover {
    background-color: var(--sub-color);
}
.owl-carousel .owl-nav button.owl-next,
.owl-carousel .owl-nav button.owl-prev,
.owl-carousel button.owl-dot {
    background-color: #1E1E1E;
    color: #eff4fe;
    width: 30px;
    height: 30px;
    margin: 0;
    border-radius: 0;
    font-size: 1.25rem;
    align-content: center;
}

.unit-title h2 {
    font-size: 2.5rem;
}

.forpc {
    display: block;
}
.forphone {
    display: none !important;
}

@media (max-width: 768px) {
    .unit-title h2 {
        font-size: 1.7rem;
    }

    .forpc {
        display: none !important;
    }

    .forphone {
        display: block !important;
    }
}

/* nav ---------- */
.navbar {
    background-color: #414141;
}
.nav-item a {
    color: var(--white-color);
    font-size: 1rem;
    line-height: 1rem;
    letter-spacing: 1px;
}
.nav-item a:hover {
    color: var(--sub2-color);
}
.btn-ticket {
    background-color: var(--sub-color);
    border: solid 2px var(--sub-color);
    border-radius: 2rem;
    padding: 0.75rem 1rem !important;
}
.btn-ticket:hover, nav .btn-ticket:focus {
    background-color: var(--main-color);
    border: solid 2px var(--main-color);
}
nav .nav-link {
    margin-top: 0;
    margin-bottom: 0;
}
nav .mainlogo {
    display: flex;
    align-items: center;
}
nav .mainlogo img {
    max-width: 160px;
    text-align: left;
    padding-right: 5px;
}
nav .mainlogo img.school {
    max-width: 180px;
}

@media (max-width: 768px) {
    nav .navbar-collapse {
        display: flex;
    }
    nav .navbar-collapse .navbar-nav {
        width: 100%;
    }
    nav .nav-item {
        justify-content: center;
    }
    .nav-item a {
        font-size: 1rem;
        line-height: 1rem;
        padding: 1.25rem 0;
    }
    .nav-item a .sm-txt, .nav-item p .sm-txt {
        font-size: 13px;
    }
    .navbar-toggler,
    .navbar-toggler:focus,
    .navbar-toggler:active {
        padding: 2px;
        border: 0px;
    }
    .navbar img {
        width: 130px;
    }
    nav .mainlogo img.school {
        max-width: 130px;
    }
    nav .mainlogo img {
        max-width: 90px;
        height: auto;
    }
}

.background-fixed {
    position: relative;
    background-attachment: fixed;
    background-image: url(../../images/bg-main.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    background-color: var(--sub2-color);
}

/* main ---------- */
#main {
    position: relative;
    background: linear-gradient(180deg, #f0efeed6 80%, #f0efee);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
/*    border-bottom: var(--main-color) 12px solid;*/
    padding-top: 2rem;
    padding-bottom: 4rem;
    overflow: hidden;
}
#main h6 {
    color: var(--black-color);
    line-height: 2rem;
    letter-spacing: 1px;
    font-weight: 400;
}
.main_box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 1;
    background-image: url(../../images/main-title_3.svg);
    background-position: center left;
    background-repeat: no-repeat;
}
.main_title {
    display: flex;
    flex-direction: column;
    flex-basis: 65%;
}
.main_info {
    flex-basis: 35%;
}
.main_info h2 {
    line-height: 1.25;
}

#main .main_pic1 {
    width: 200%;
    max-width: 600px;
    min-width: 260px;
    margin: auto;
}
#main .main_pic2 {
    max-width: 360px;
    min-width: 260px;
}
#main .main_pic3 {
    position: absolute;
    top: 3rem;
    left: 0;
    width: 200%;
    z-index: -1;
    max-width: 740px;
    min-width: 260px;
}

#main2 {
    position: absolute;
    top: 6px;
    left: -110px;
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    perspective: 900px;
    perspective-origin: 50% calc(50% - 172px);
    transform: rotate(-45deg);
}
.scene {
    position: relative;
    transform-style: preserve-3d;
}
.banner {
    display: flex;
    transform-style: preserve-3d;
    -webkit-animation: rotate 36s infinite linear;
    animation: rotate 36s infinite linear;
}
@keyframes rotate {
    0% {
        transform: rotateY(0);
    }
    100% {
        transform: rotateY(360deg);
    }
}

.panel {
    position: absolute;
    transform: translate(-50%, -50%) rotateY(var(--angle)) translateZ(292px);
    width: 50px;
    height: 50px;
    overflow: hidden;
}
.panel::before {
    position: absolute;
    left: calc(var(--left) * 1.05);
    content: "PERFORMANCE - DRIVEN METHOD・PERFORMANCE - DRIVEN METHOD・PERFORMANCE - DRIVEN METHOD・PERFORMANCE - DRIVEN METHOD・";
    font-size: 2.2rem;
    font-weight: 700;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    color: #231815;
}
/*
.masked {
    mask: url(../../images/main-title_mask_top.svg) no-repeat;
    mask-mode: luminance;
    width: 100%;
    height: 100%;
    position: absolute;
}
*/
@keyframes rotate {
    to {
        transform: rotateY(-360deg);
    }
}
@for $i from 0 to 36 {
    .panel:nth-child(#{$i + 1}) {
        --left: #{$width * $i * -1};
        --hue: #{360 / 36 * $i};
        : #{360deg / 36 * $i};
    }
}

.screen {
    position: absolute;
    width: 900px;
    height: 900px;
    transform: translate(-50%, -50%);
}

/* Now we have 36 panels */
.panel:nth-child(1) {
    --left: -50px;
    --hue: 0;
    --angle: 0deg;
}
.panel:nth-child(2) {
    --left: -100px;
    --hue: 10;
    --angle: 10deg;
}
.panel:nth-child(3) {
    --left: -150px;
    --hue: 20;
    --angle: 20deg;
}
.panel:nth-child(4) {
    --left: -200px;
    --hue: 30;
    --angle: 30deg;
}
.panel:nth-child(5) {
    --left: -250px;
    --hue: 40;
    --angle: 40deg;
}
.panel:nth-child(6) {
    --left: -300px;
    --hue: 50;
    --angle: 50deg;
}
.panel:nth-child(7) {
    --left: -350px;
    --hue: 60;
    --angle: 60deg;
}
.panel:nth-child(8) {
    --left: -400px;
    --hue: 70;
    --angle: 70deg;
}

.panel:nth-child(9) {
    --left: -450px;
    --hue: 80;
    --angle: 80deg;
}
.panel:nth-child(10) {
    --left: -500px;
    --hue: 90;
    --angle: 90deg;
}
.panel:nth-child(11) {
    --left: -550px;
    --hue: 100;
    --angle: 100deg;
}
.panel:nth-child(12) {
    --left: -600px;
    --hue: 110;
    --angle: 110deg;
}
.panel:nth-child(13) {
    --left: -650px;
    --hue: 120;
    --angle: 120deg;
}
.panel:nth-child(14) {
    --left: -700px;
    --hue: 130;
    --angle: 130deg;
}
.panel:nth-child(15) {
    --left: -750px;
    --hue: 140;
    --angle: 140deg;
}
.panel:nth-child(16) {
    --left: -800px;
    --hue: 150;
    --angle: 150deg;
}

.panel:nth-child(17) {
    --left: -850px;
    --hue: 160;
    --angle: 160deg;
}
.panel:nth-child(18) {
    --left: -900px;
    --hue: 170;
    --angle: 170deg;
}
.panel:nth-child(19) {
    --left: -950px;
    --hue: 180;
    --angle: 180deg;
}
.panel:nth-child(20) {
    --left: -1000px;
    --hue: 190;
    --angle: 190deg;
}
.panel:nth-child(21) {
    --left: -1050px;
    --hue: 200;
    --angle: 200deg;
}
.panel:nth-child(22) {
    --left: -1100px;
    --hue: 210;
    --angle: 210deg;
}
.panel:nth-child(23) {
    --left: -1150px;
    --hue: 220;
    --angle: 220deg;
}
.panel:nth-child(24) {
    --left: -1200px;
    --hue: 230;
    --angle: 230deg;
}
.panel:nth-child(25) {
    --left: -1250px;
    --hue: 240;
    --angle: 240deg;
}
.panel:nth-child(26) {
    --left: -1300px;
    --hue: 250;
    --angle: 250deg;
}
.panel:nth-child(27) {
    --left: -1350px;
    --hue: 260;
    --angle: 260deg;
}
.panel:nth-child(28) {
    --left: -1400px;
    --hue: 270;
    --angle: 270deg;
}
.panel:nth-child(29) {
    --left: -1450px;
    --hue: 280;
    --angle: 280deg;
}
.panel:nth-child(30) {
    --left: -1500px;
    --hue: 290;
    --angle: 290deg;
}
.panel:nth-child(31) {
    --left: -1550px;
    --hue: 300;
    --angle: 300deg;
}
.panel:nth-child(32) {
    --left: -1600px;
    --hue: 310;
    --angle: 310deg;
}
.panel:nth-child(33) {
    --left: -1650px;
    --hue: 320;
    --angle: 320deg;
}
.panel:nth-child(34) {
    --left: -1700px;
    --hue: 330;
    --angle: 330deg;
}
.panel:nth-child(35) {
    --left: -1750px;
    --hue: 340;
    --angle: 340deg;
}
.panel:nth-child(36) {
    --left: -1800px;
    --hue: 350;
    --angle: 350deg;
}

@media (max-width: 1200px) {
    #main2 {
        top: 10px;
        left: -110px;
    }
    .panel {
        transform: translate(-50%, -50%) rotateY(var(--angle)) translateZ(288px);
    }
}

@media (max-width: 960px) {
    .main_box {
        display: block;
    }
    .main_info {
        text-align: center;
    }
    #main .main_pic1 {
        max-width: 520px;
    }
    .panel {
        transform: translate(-50%, -50%) rotateY(var(--angle)) translateZ(252px);
    }
    .panel::before {
        left: calc(var(--left) * 0.95);
        font-size: 2rem;
    }
}

@media (max-width: 768px) {
    .background-fixed {
        background-image: url(../../images/bg-main-s.png);
        background-position: -99999px -99999px;
    }
    .background-fixed:before {
        content: "";
        position: fixed;
        z-index: -1;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        height: 100vh;
        background-image: url(../../images/bg-main-s.png);
        -webkit-background-size: cover !important;
        -o-background-size: cover;
        background-size: cover !important;
        background-position: center top;
    }
    #main {
        padding-top: 1rem;
    }
    #main .main_title {
        padding: 0 1rem 2rem;
    }
    #main .main_pic1 {
        width: 100%;
    }
    #main .main_pic3 {
        width: 110%;
    }
    #main h6 {
        line-height: 1.5rem;
    }
    #main2 {
        top: -4px;
        left: -80px;
        perspective: 600px;
        perspective-origin: 50% calc(50% - 112px);
    }
    .panel {
        position: absolute;
        transform: translate(-50%, -50%) rotateY(var(--angle)) translateZ(216px);
        overflow: hidden;
    }
    .panel::before {
        left: calc(var(--left) * 0.75);
        font-size: 2rem;
    }
}
@media (max-width: 414px) {
    #main2 {
        top: 0px;
        left: -50px;
        perspective: 900px;
        perspective-origin: 50% calc(50% - 180px);
    }
    .panel {
        transform: translate(-50%, -50%) rotateY(var(--angle)) translateZ(160px);
    }
    .panel::before {
        content: "PERFORMANCE - DRIVEN METHOD・PERFORMANCE - DRIVEN METHOD・";
        left: calc(var(--left) * 0.5);
        letter-spacing: 0.35rem;
        font-size: 1.8rem;
    }
}

#slogan {
    background-color: var(--main-color);
    padding: 8px 0;
}
#slogan h3 {
    display: flex;
    gap: 10px;
    flex-direction: row;
    align-content: center;
    justify-content: center;
    align-items: center;
}
#slogan h3 br {
    display: none;
}
.date-en.h2 {
    font-size: 3.5rem;
    font-family: 'Oswald', sans-serif;
}

@media (max-width: 768px) {
    #slogan h3 {
        display: inline-block;
        padding: 1rem 0;
        font-size: 1.15rem;
    }
    #slogan {
        padding: 0 1rem;
    }
    #slogan h3 br {
        display: inline-block;
    }
}


#hlight2 {
    background: linear-gradient(180deg, #efefeed6, #fffbd1b7);
}
#hlight2 h3 {
    color: var(--main-color);
}
#hlight2 h2 {
    font-size: 4rem;
}
#hlight2 .takeaway .item > div{
    background: #ffffff9d;
    padding: 1.5rem 0.5rem;
    height: 100%;
    align-content: start;
    border-left: 6px solid var(--main-color);
}


#hlight {
    background: linear-gradient(0deg, #f0efeed6, #f0efee 90%);
}
#hlight .unit-title h2 span {
    color: var(--sub-color);
}


#agenda {
    background-color: #222222b0;
    color: var(--white-color);
}
#agenda h3 {
    color: var(--main-color);
}
#agenda h3 span{
    font-weight: 300;
}
.ag-num {
    color: var(--white-color);
    font-size: 4rem;
}

@media (max-width: 768px) {
    #hlight2 .takeaway .item > div{
        padding: 0.75rem 0.5rem;
    }
    #hlight2 .fs-5 {
        font-size: 1rem !important;
    }
}

/* 滿意度推薦-輪播 */
#feedback2 {
    background: url(../../images/slide-bg.png), linear-gradient(0deg, #BDBDBD, #f0efee);
    color: var(--black-color);
}
#feedback2 .item {
    overflow: hidden;
}
#feedback2 .info-area {
    top: 10%;
    left: 2%;
    z-index: 10;
}
#feedback2 .info-area ul {
    margin: 12px 6px;
    color: var(--white-color);
}
#feedback2 .info-area ul li {
    font-size: 24px;
    line-height: 2rem;
    letter-spacing: 1px;
    list-style-image: url(../../images/Rectangle.svg);
}
#feedback2 .referrer_box {
    margin: 20px auto;
}
#feedback {
    color: var(--black-color);
}
#feedback h4,
#feedback h6 {
    margin-bottom: 0.5rem;
}
#feedback .owl-theme .owl-nav {
    position: absolute;
    right: 0%;
    width: 100%;
    justify-content: end;
    display: flex;
}
#feedback .owl-carousel .owl-nav button.owl-next,
#feedback .owl-carousel .owl-nav button.owl-prev {
    background-color: var(--main-color);
}
#feedback .quote-box {
    display: flex;
    flex-wrap: wrap;
    min-height: 120px;
    align-items: start;
    justify-content: center;
    position: relative;
    text-align: center;
}

@media (max-width: 768px) {
    #feedback .owl-theme .owl-nav {
        bottom: calc(-20%);
        justify-content: center;
    }
    #feedback2 .info-area {
        top: unset;
        bottom: 14%;
        left: 4%;
    }
    #feedback2 .info-area ul {
        margin: 12px 12px 12px 0px;
    }
    #feedback2 .info-area ul li {
        font-size: 18px;
        line-height: 1.5rem;
    }
    #feedback2 .referrer_box {
        margin: 40px auto;
    }
}

#speaker2{
    background: url(../../images/slide-bg.png),#bdc3c9;
    color: var(--black-color);
    padding-top: 7rem;
    padding-bottom: 2rem;
    position: relative;
}
#speaker2 .talk{
    position: absolute;
    top: 0;
    left: 0;
    font-size: 4rem;
    color: #fff;
    opacity: 0.8;
    font-weight: 700;
    font-family: "Noto Serif TC", serif;
    letter-spacing: -2px;
    line-height: 1.1;
    filter: blur(0.1rem);
}
#speaker2 .sp0{
    position: absolute;
    bottom:0;
    right: 0;
    width: 390px;
}
#speaker2 h6{
    font-weight: 400;
}
#speaker2 .speaker-info {
    color: var(--sub-color);
}
#speaker2 h5.fw-bold img{
    width: 18px;
    margin-right: 4px;
}

@media (max-width: 768px) {
    #speaker2 {
        padding-top: 5rem;
        padding-bottom: 1rem;
        overflow: hidden;
    }
    #speaker2 .talk{
        font-size: 3rem;
    }
    #speaker2 .talk br{
        display: none;
    }
    #speaker2 .sp0{
        right: -3rem;
        width: 350px;
    }
    #speaker2 h6,#speaker2 ul li{
        text-shadow: #fff 1px 1px 3px;
    }
}
@media (max-width: 414px) {
    #speaker2 .sp0{
        right: -5rem;
        width: 320px;
    }
}

#recommend3 {
    padding-top: 0rem;
    background: #f0efeed6;
}
#recommend3 .d-flex {
    justify-content: space-between;
}
#recommend3 .d-flex .box {
    flex-basis: 32%;
    background-color: var(--white-color);
    text-align: center;
    color: #000;
    flex-direction: column;
    justify-content: space-between;
}
#recommend3 .box .recommend-body h6 {
    margin-top: -5px;
}
#recommend3 .box .recommend-body h3 span {
    color: var(--sub-color);
}
#recommend3 .box .recommend-body .py-2 h5 span {
    color: var(--main-color);
}
#recommend3 .area-box a.box:hover {
    border: 5px solid var(--main-color);
}
#recommend3 .tag {
    background: var(--main-color);
    color: #fff;
    text-align: center;
    padding: 4px;
    font-size: .9rem;
}
#recommend3 .event-cta {
    background-color: var(--main-color);
    color: var(--black-color);
    padding: 0.5rem;
    font-size: 1.1rem;
}
#recommend3 .btn-a {
    background-color: var(--sub-color);
    color: var(--white-color);
    font-weight: 700;
    padding: .5rem 1.25rem;
    border-radius: 50px;
    font-size: 24px;
    margin-top: 1.5rem;
    display: inline-block;
}
#recommend3 .btn-a:hover,
#recommend3 .btn-a:focus {
    background-color: var(--main-color);
    color: var(--black-color);
}
@media (max-width: 768px) {
    #recommend3 .d-flex .box {
        flex-basis: 100%;
        margin: 10px;
    }
}


#picbox {
    position: relative;
    background-image: url(../../images/bg2.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top center;
    overflow: hidden;
    min-height: 530px;
    color: #E7D0B7;
}
.pic-en {
    font-size: 6rem;
    color: #ffa987;
    opacity: 0.8;
    font-weight: 700;
    font-family: "Noto Serif TC", serif;
    mix-blend-mode: difference;
    letter-spacing: -2px;
    position: absolute;
    top: 50%;
    right: 10%;
    text-align: right;
    line-height: 1.1;
    display: flex;
    width: 100%;
    filter: blur(0.15rem);
    writing-mode: tb;
}
.pic-en2 {
    font-size: 10rem;
    color: #ffa987;
    opacity: 0.8;
    font-weight: 700;
    font-family: "Noto Serif TC", serif;
    mix-blend-mode: difference;
    letter-spacing: -2px;
    position: absolute;
    top: 50%;
    right: 15%;
    text-align: right;
    line-height: 1.1;
    display: flex;
    width: 100%;
    filter: blur(0.3rem);
    writing-mode: tb;
}

.marquee-content,
.marquee-content2,
.marquee-content3 {
    font-family: "Noto Serif TC", serif;
    display: inline-block;
    white-space: nowrap;
    animation: marquee 15s linear infinite;
}
.marquee-content2-1,
.marquee-content2-2,
.marquee-content2-3 {
    font-family: "Noto Serif TC", serif;
    display: inline-block;
    white-space: nowrap;
    animation: marquee2 30s linear infinite;
}
#picbox .cta-group {
    background: #e88a64;
    color: var(--white-color);
    font-weight: 700;
    padding: .5rem 1.25rem;
    border-radius: 50px;
    font-size: 24px;
    margin-top: 1rem;
    display: inline-block;
}
#picbox .cta-group:hover {
    background: #985135;
    color: var(--white-color);
    transition: .2s all linear;
}

@keyframes marquee2 {
    0% {
        transform: translateY(-15%);
    }

    100% {
        transform: translateY(-115%);
    }
}
@keyframes marquee {
    0% {
        transform: translateY(-10%);
    }

    100% {
        transform: translateY(-110%);
    }
}

@media (max-width: 768px) {
    #picbox {
        min-height: 770px;
    }
    #picbox h3 {
        font-size: 21px;
        line-height: 2rem;
    }
    #picbox h5 {
        font-size: 16px;
        font-weight: 400;
        line-height: 2rem;
    }
    .pic-en {
        font-size: 6rem;
        writing-mode: unset;
        top: 84%;
        filter: blur(0.25rem);
    }
    .pic-en2 {
        font-size: 3rem;
        writing-mode: unset;
        top: 81%;
        filter: blur(0.05rem);
    }
    @keyframes marquee2 {
        0% {
            transform: translateX(-15%);
        }
        100% {
            transform: translateX(-115%);
        }
    }
    @keyframes marquee {
        0% {
            transform: translateX(0%);
        }
        100% {
            transform: translateX(-100%);
        }
    }
}

/* 課程資訊－特刊加購 */
#infomation5 {
    background: url(../../images/slide-bg.png), #ffeb27d1;
    color: var(--black-color);
    background-position: center center;
}
#infomation5 .btn-sold .sold01 {
    background: linear-gradient(to right bottom, #9fc6ff, #0c2d82 80%);
    padding: 1.5rem;
    border-radius: 1rem;
    color: #fcec5b;
    text-shadow: 0px 4px 4px #14111e;
    box-shadow: 0px 0px 20px #9fc6ff;
}
#infomation5 .btn-sold .hotsold {
    background: radial-gradient(ellipse at top left, #FF9800, #000000 50%);
    padding: 1.5rem;
    border-radius: 1rem;
    color: var(--white-color);
}
#infomation5 .btn-sold .sold-normal {
    background: radial-gradient(ellipse at top left , #e8ff00, #000000 50%);
    padding: 1.5rem;
    border-radius: 1rem;
    color: var(--white-color);
}
#infomation5 .btn-sold .sold-normal:hover,
#infomation5 .btn-sold .sold-normal:focus,
#infomation5 .btn-sold .hotsold:hover,
#infomation5 .btn-sold .hotsold:focus,
#infomation5 .btn-sold .sold01:hover,
#infomation5 .btn-sold .sold01:focus {
    background: linear-gradient(to right bottom, #ffffff, #ee793f);
    transition: .5s;
    color: black;
    text-shadow: 0px 4px 4px #ffffff00;
    margin-top: -4px;
    box-shadow: 2px 2px 20px #fff;
}

.co-qa {
    color: #fff;
    background-color: var(--sub-color);
    padding: 0 2px;
}
.co-qa:hover {
    background-color: #0c2d82;
}

/* photos ---------- */
#photos{
    background: #ffeb2754;
    padding: 0rem;
}

/* Q&A ---------- */
#qna {
    background: #1e1e1e;
    color: var(--white-color);
}
#qna li p a {
    color: var(--main-color);
}
#qna li p {
    color: #fff;
    font-size: 1.05rem;
}
#qna h4 {
    font-size: 1.35rem;
    color: var(--main-color);
    padding-bottom: 12px;
}
#qna li h4:first-child:first-letter,
#qna li p:first-child:first-letter {
    float: left;
    font-size: 2rem;
    padding-right: 4px;
    line-height: 1;
    font-weight: 600;
    color: var(--main-color);
}

.adbtn {
    position: fixed;
    bottom: 0;
    z-index: 99;
    width: 100%;
}
.adbtn .btn {
    background-color: var(--sub-color);
    color: var(--white-color);
    border-radius: 0rem;
    padding: 0.6rem;
    font-size: 18px;
}
.adbtn .btn:hover,
.adbtn .btn:focus {
    background-color: #b23b0b;
}

/*footer改色 ---------- */
#footer {
    position: absolute;
    width: 100%;
    background-color: var(--main-color);
}
#footer .scrolltop {
    background: var(--main-color);
    color: var(--white-color);
    opacity: .9;
}