/* CSS Document */

/*==【基本設定】==*/
body {
    font: 20px/1.331 Verdana, 'Noto Sans TC', '微軟正黑體', sans-serif;
    overflow-x: hidden;
    font-display: swap;
    font-weight: 400;
    letter-spacing: 0.03em;
    color: #333333;
}

p {
    line-height: 1.6;
}

* {
    box-sizing: border-box;
}

.title,
b {
    margin: 0;
    padding: 0;
    font-size: var(--font-size25);
    line-height: 1.2;
    font-weight: 500;
}

ul.ulli,
.ulli>ul,
.ulli>ul>li {
    margin: 0;
    padding: 0;
    list-style: none;
}

::-webkit-input-placeholder {
    color: #ccc;
}

::-moz-placeholder {
    color: #ccc;
}

:-ms-input-placeholder {
    color: #ccc;
}

option:disabled {
    color: #ccc;
}

:focus,
button:focus,
select:focus {
    outline: none;
}

.xxx {
    -webkit-transition: none;
    -moz-transition: none;
    -o-transition: none;
    -ms-transition: none;
    transition: none;
}

.mnav>ul>li.on,
.search,
.search input,
.serach button,
.search.on,
.search.on input,
.serach.on button,
.listtype li,
.listtype li.on,
.tabcont li a,
.tabcont li a:hover,
.tabcont li a:hover i,
.tabcont li a i,
.back,
.on .back,
.cover,
.on .cover,
.mnav .subnav ul,
.mnav .on .subnav ul,
.mnav .subnav a:hover::after,
.mnav .subnav a::after,
.linkbox,
.linkbox.open,
.gotop,
.linkbox.open .gotop,
.subnav li span,
.subnav li.on span,
.phone_nav,
.phone_nav.open,
.listtype li .bd,
.listtype li.on .bd {
    -webkit-transition: all .35s ease-in-out;
    -moz-transition: all .35s ease-in-out;
    -o-transition: all .35s ease-in-out;
    -ms-transition: all .35s ease-in-out;
    transition: all .35s ease-in-out;
}

:root {
    --font-size130: 130px;
    --font-size42: 42px;
    --font-size40: 40px;
    --font-size35: 35px;
    --font-size30: 30px;
    --font-size25: 25px;
    --font-size23: 23px;
    --font-size22: 22px;
    --font-size21: 21px;
    --font-size20: 20px;
    --font-size18: 18px;
    --font-size16: 17px;
    --font-size17: 16px;
    --font-size15: 15px;
    --font-size14: 14px;
    --font-size13: 13px;
    --font-size12: 12px;
    --background-red: #D7092F;
}

#wrap {
    overflow-x: hidden;
}

#header {
    z-index: 20;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    flex-direction: column;
}

#header .hd {
    background: #D7092F;
}

#header .bd {
    display: flex;
}

#header .bd .h_logo {
    position: absolute;
    left: 0;
    top: 0;
    padding: 26px 0 0 35px;
}

.h_logo a {
    display: block;
}

.h_logo i mg {
    width: 85%;
}

.toplinks {
    display: block;
}

.mnav {
    display: block;
}

.toplinks>ul {
    display: flex;
    background: #A6102C;
    padding: 0 20px 0 0;
}

.toplinks li {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    position: relative;
}

.toplinks li>a {
    display: flex;
    align-items: center;
    padding: 7px 20px;
    color: #fff;
    font-size: var(--font-size14);
    height: 100%;
    width: 100%;
}

.toplinks li.on>a {
    background: #881027;
}

.toplinks .subnav {
    position: absolute;
    top: 100%;
    left: 50%;
    width: 100%;
    transform: translate(-50%, 0);
    display: none;
}

.toplinks li.on .subnav {
    display: block;
}

.toplinks li.bg_black.on>a {
    background-color: #1C1C1C;
}

.toplinks li .subnav li {
    display: block;
    position: relative;
}

.toplinks li .subnav li ul {
    display: none;
    position: absolute;
    right: 100%;
    top: 0;
    width: 150px;
}

.toplinks li .subnav li.on ul {
    display: block;
}

.toplinks li .subnav li a {
    position: relative;
}

.toplinks li .subnav li span {
    position: absolute;
    right: 10px;
    top: 11px;
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 8px 5px 0 5px;
    border-color: #fff transparent transparent transparent;
}

.toplinks li .subnav li.on span {
    transform: rotate(90deg);
    transform-origin: center;
    border-color: #fff transparent transparent transparent;
}

.toplinks li .subnav ul {
    background: rgba(169, 5, 36, .8);
    border-radius: 0 0 0 15px;
}

.toplinks li .subnav ul li:last-child a {
    border-radius: 0 0 0 15px;
}

.toplinks li .subnav ul ul li a {
    padding: 6px 10px;
}

.toplinks .bg_mb .subnav {
    width: calc(100% + 20px);
    position: absolute;
    left: 0;
    transform: none;
}

.bg_black {
    background-color: #333333;
}

.bg_mb {
    background-color: #881027;
    position: relative;
}

.bg_mb>a {
    position: relative;
}

.bg_mb>a:after {
    content: "";
    background-color: #881027;
    position: absolute;
    width: 20px;
    height: 100%;
    left: 100%;
    top: 0;
}

/* manu */
.mnav>ul {
    display: flex;
    align-items: flex-end;
    padding: 0 15px;
    background: rgba(255, 255, 255, 0.8);
    border-radius: 20px 0 0 20px;
    box-shadow: -6px 8px 25px -14px #b8b8b8;
}

.mnav>ul>li>a {
    display: block;
    padding: 14px 21px;
    color: #333;
    font-size: var(--font-size20);
    font-weight: 500;
}

.mnav>ul>li.on>a {
    color: #D7092F;
}

.mnav>ul>li.on {
    position: relative;
}

.mnav>ul>li.on:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 0);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 8px 8px 8px;
    border-color: transparent transparent #d7092f transparent;
}

.mnav .subnav {
    position: absolute;
    top: 100%;
    left: 50%;
    width: 200px;
    transform: translate(-50%, 0);
    padding: 7px 0 0 0;
    display: none;
    font-size: var(--font-size18);
}

.mnav .subnav ul {
    display: flex;
    position: relative;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    border-radius: 20px 20px 20px 20px;
    background: #fff;
    padding: 8px 11px;
    height: 0px;
    transition: all 0.5s ease-in-out;
}

.mnav .subnav ul {
    box-shadow: 3px 3px 0 #d7092f;
}

.mnav .subnav ul li {
    position: relative;
}

.mnav .subnav ul ul {
    position: absolute;
    left: 98%;
    top: 0;
    width: 220px;
    z-index: 2;
    border: 1px solid #ddd;
}

.mnav .subnav ul ul li a {
    padding: 6px 5px 6px 10px;
    font-size: var(--font-size15);
}

.mnav .subnav ul ul {
    display: none;
}

.mnav .subnav .on>ul {
    display: block;
}

.mnav .on .subnav ul {
    height: auto;
}

.mnav .on .subnav {
    display: block;
}

.mnav .subnav ul li {
    width: 100%;
}

/*.mnav .subnav ul:after{content:"";position:absolute;width:100%;height:100%;background:#d7092f;z-index:-1;border-radius:20px;left:-8px;top:8px;}*/
.mnav .subnav ul:after {
    display: none;
}

.mnav .subnav a {
    display: block;
    color: #333;
    padding: 7px 10px;
    position: relative;
    overflow: hidden;
    width: 100%;
}

.mnav .subnav a::after {
    content: "";
    position: absolute;
    left: 0;
    top: 5px;
    width: 5px;
    border-radius: 20px;
    background: #d7092f;
    transform: translateX(-10px);
    bottom: 5px;
    height: auto;
}

.mnav .subnav a:hover {
    color: #d7092f;
}

.mnav .subnav a:hover::after,
.mnav .subnav .on>a::after {
    transform: translateX(0px);
}

.mnav li:nth-last-child(1) .subnav ul ul,
.mnav li:nth-last-child(2) .subnav ul ul {
    left: auto;
    right: 100%;
    top: -5px;
    width: 220px;
    z-index: 2;
}

.mnav li:nth-last-child(1) .subnav a::after,
.mnav li:nth-last-child(2) .subnav a::after {
    left: 96%;
    transform: translateX(10px);
}

.mnav li:nth-last-child(1) .subnav a:hover::after,
.mnav li:nth-last-child(2) .subnav a:hover::after,
.mnav li:nth-last-child(1) .subnav .on>a::after,
.mnav li:nth-last-child(2) .subnav .on>a::after {
    transform: translateX(0);
}

/* Phone Menu */
.phone_menu {
    display: none;
    float: right;
    z-index: 1;
}

.i_menu {
    width: 60px;
    height: 60px;
    background: #333;
    position: relative;
    display: block;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    cursor: pointer;
    -webkit-transition: .5s ease-in-out;
    -moz-transition: .5s ease-in-out;
    -o-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
}

.i_menu span {
    display: block;
    position: absolute;
    height: 3px;
    width: 30px;
    background: #fff;
    -webkit-border-radius: 9px;
    -moz-border-radius: 9px;
    border-radius: 9px;
    opacity: 1;
    left: 15px;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .25s ease-in-out;
    -moz-transition: .25s ease-in-out;
    -o-transition: .25s ease-in-out;
    transition: .25s ease-in-out;
}

.i_menu span:nth-child(1) {
    top: 13px;
}

.i_menu span:nth-child(2),
.i_menu span:nth-child(3) {
    top: 23px;
}

.i_menu span:nth-child(4) {
    top: 33px;
}

.i_menu.open span:nth-child(1) {
    top: 18px;
    width: 0%;
    left: 50%;
}

.i_menu.open span:nth-child(2) {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 40px;
    left: 5px;
    top: 18px;
    background: #d7092f;
}

.i_menu.open span:nth-child(3) {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
    width: 40px;
    left: 5px;
    top: 18px;
    background: #d7092f;
}

.i_menu.open span:nth-child(4) {
    top: 18px;
    width: 0%;
    left: 50%;
}

.phone_nav {
    display: none;
}

.phone_nav::after {
    content: "";
    left: 0;
    position: fixed;
    background: rgb(0, 0, 0, 0.5);
    right: 0;
    top: 0;
    bottom: 0;
    opacity: 0;
    transition: opacity .15s ease-in-out;
}

.phone_nav.open::after {
    opacity: 1;
    transition: opacity .2s .15s ease-in-out;
    left: -530px;
}

.phone_nav .mnav {
    display: none;
}

.phone_nav .mnav {
    display: flex;
    overflow-x: hidden;
    overflow-y: auto;
    width: 100%;
    border-radius: 50px 0 0 50px;
    z-index: 2;
    background: #fff;
    padding: 60px 0 0;
    align-content: stretch;
    box-shadow: -9px 0px 0px 0px rgba(0, 0, 0, 0.2);
}

.phone_nav .mnav ul li {
    width: 100%;
}

.phone_nav .mnav ul li a {
    display: block;
    width: 100%;
    padding: 14px 35px 14px 30px;
    position: relative;
    color: #333;
    font-size: var(--font-size25);
}

.phone_nav .mnav ul li a span {
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 8px 0 8px;
    border-color: #d5d0d0 transparent transparent transparent;
    right: 20px;
    top: 50%;
    transform: translate(0, -50%);
}

.phone_nav .mnav>ul>li.on>a span,
.phone_nav .mnav li.on>a span {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0px 8px 10px 8px;
    border-color: transparent transparent #d5d0d0 transparent;
}

.phone_nav .mnav .subnav ul {
    padding: 0;
    box-shadow: none;
}

.phone_nav>.mnav>ul {
    flex-direction: column;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 0 0px 20px;
    box-shadow: none;
    width: 100%;
    overflow: auto;
    border-radius: 0;
}

.phone_nav .mnav .subnav {
    position: inherit;
    padding: 0;
    top: 0;
    left: 0;
    transform: inherit;
    width: 100%;
}

.phone_nav .mnav .subnav ul ul {
    position: static;
    background: #333;
    width: 100%;
}

.phone_nav .mnav .subnav ul ul ul {
    background: #111;
}

.phone_nav .mnav .subnav ul ul li a {
    padding: 10px 10px 10px 40px;
    font-size: var(--font-size23);
}

.phone_nav .mnav .subnav ul li a {
    color: #fff;
}

.phone_nav .mnav .subnav ul ul li a:hover {
    width: 100%;
}

.phone_nav.open {
    transform: translateX(0px);
    padding: 0 0 0 70px;
    display: flex;
    align-items: stretch;
}

.phone_nav .mnav .subnav ul ul {
    border: 0;
}


/* icon  */
.icon {
    display: inline-block;
    text-indent: -9999px;
    width: 23px;
    height: 23px;
    background: no-repeat scroll center/100% auto;
    margin: 0 6px 0 0;
}

.i_login {
    background-image: url("../images/header/i_login.svg");
}

.i_arrow {
    background-image: url("../images/content/i_arrow.svg");
    margin: 0 0 0 10px;
}

.i_arrow2 {
    background-image: url("../images/content/i_arrow2.svg");
    position: absolute;
    right: 0px;
    top: 50%;
    transform: translate(0, -50%);
}

.i_icon01,
.i_icon02,
.i_icon03,
.i_icon04 {
    position: absolute;
    left: 0;
    top: 6px;
}

.i_icon01 {
    background-image: url("../images/footer/i_iconft01.svg");
    width: 22px;
    height: 22px;
}

.i_icon02 {
    background-image: url("../images/footer/i_iconft02.svg");
    width: 22px;
    height: 22px;
}

.i_icon03 {
    background-image: url("../images/footer/i_iconft03.svg");
    width: 22px;
    height: 22px;
}

.i_icon04 {
    background-image: url("../images/footer/i_iconft04.svg");
    width: 22px;
    height: 22px;
}

.i_member {
    background-image: url("../images/header/i_member.svg");
    width: 22px;
}

.i_pathome {
    background-image: url(../images/content/i_pathome.svg);
    width: 26px;
}

.i_thumb {
    background-image: url("../images/content/i_thumb.svg");
    width: 150px;
    height: 150px;
}

.i_donate {
    background-image: url("../images/content/i_donate.svg");
}

.i_download {
    background-image: url("../images/content/i_download.svg");
}

.i_search {
    background-image: url("../images/content/i_search.svg");
    width: 25px;
    height: 25px;
    position: absolute;
    left: 10px;
    top: 20px;
    transform: translate(0, -50%);
}

.i_eye {
    background-image: url(../images/content/icon_eye_show.svg);
    cursor: pointer;
    position: absolute;
    top: 10px;
    right: 10px;
}

.i_eye.show {
    background-image: url(../images/content/icon_eye_hide.svg);
    cursor: pointer;
    position: absolute;
    top: 10px;
    right: 10px;
}

.i_user {
    background-image: url(../images/content/icon_user.svg);
}

.i_psw {
    background-image: url(../images/content/icon_psw.svg);
}

.i_minus2 {
    background-image: url(../images/content/i_minus2.svg);
    position: absolute;
    top: 50%;
    right: 153px;
    transform: translate(0, -50%);
}

.i_plus2 {
    background-image: url(../images/content/i_plus2.svg);
}

.btn .icon {
    width: 40px;
    height: 40px;
}

.i_del {
    background-image: url(../images/content/icon_del.svg);
}

.i_tel {
    background-image: url(../images/content/icon_tel.svg);
}

.i_mail {
    background-image: url(../images/content/icon_mail2.svg);
}

#content {
    z-index: 20;
    padding: 0;
    overflow: hidden;
}

/* banner */
.banner {
    padding-top: 38px;
}

.bnrbox {
    display: flex;
    align-items: flex-start;
    align-items: flex-end;
    position: relative;
}

.bnimg:after {
    content: "";
    position: absolute;
    height: 100%;
    width: 30%;
    top: 0px;
    left: 0px;
    background: linear-gradient(to right, rgba(0, 0, 0, 0.6) 0%, rgba(229, 229, 229, 0) 100%);
    z-index: 1;
}

.bnimg {
    max-height: 740px;
    overflow: hidden;
    border-radius: 100px 0 0 100px;
    position: relative;
    flex: 7;
    margin: 0 0 0 50px;
    box-shadow: 7px 11px 0px rgba(255, 194, 56, 0.7);
}

.bnimg li img {}

.brntitle {
    flex: 2
}

/*bg_red*/
.bg_red {
    background: #D7092F;
    position: relative;
}

.bg_red:after {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: calc(100vh + -40vh);
    background: #D7092F;
    z-index: -1;
    border-radius: 0 0 50px 50px;
}

/* title */
.b_title {
    position: relative;
    z-index: 2;
    height: 325px;
}

.s01 {
    position: absolute;
    top: 0;
    left: 98px;
}

.s02 {
    position: absolute;
    bottom: 107px;
    left: 50px;
}

.s03 {
    position: absolute;
    top: -48px;
    left: 0;
}

.s_title {
    position: relative;
    text-align: left;
    margin: 0 0 0 20%;
}

.s_title p {
    color: #fff;
    line-height: 1.7;
}

/* btn */
.bnrbox {
    z-index: 3;
}

.btnbox .btn {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    padding: 15px 0 15px 0;
    max-width: 260px;
    width: auto;
    text-align: center;
    position: relative;
    margin: 30px 0 0 0;
}

.btnbox a {
    width: 100%;
    transition-duration: 0.5s;
    transition-property: transform;
    transform: translateZ(0);
    display: inline-block;
}

.btnbox a:hover {
    animation-name: wobble-vertical;
    animation-duration: 1s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: 1;
}

.btnbox .btn03:after {
    border: 2px solid #FFC238;
    color: #FFFFFF;
}

.btnbox .btn04:after {
    border: 2px solid #FFC238;
    background-color: #FFC238;
}

.btn {
    border: 0;
    padding: 8px 20px;
    color: #fff;
    margin: 3px 0;
    letter-spacing: 0.2em;
    text-align: center;
    line-height: 1.6;
}

.btnbox a.btn03 {
    color: #333333;
}

.btn01 {
    background: var(--background-red);
    border-radius: 50px;
    width: 300px;
    position: relative;
}

.btn01:after {
    content: '';
    position: absolute;
    left: 3px;
    top: 3px;
    width: 100%;
    height: 100%;
    border: 1px solid var(--background-red);
    border-radius: 50px;
}

.btn01_2 {
    background: #333;
    font-size: var(--font-size18);
}

.btn01_2:after {
    border: 1px solid #333;
    border-radius: 50px;
}

.btn01_3 {
    background: #fff;
    position: relative;
    border: 1px solid #FFC238;
    border-radius: 50px;
    box-shadow: 4px 4px 0px 1px #FFC238;
}

.btn01_4 {
    background: #FFC238;
}

.btn01_4:after {
    border: 1px solid #FFC238;
}

/*.btn01{background:#D7092F;color:#fff;border-radius:50px;}*/
.btn02 {
    background: #D7092F;
    color: #fff;
    border-radius: 80px 0 80px 0;
}

.btn03 {
    border: 2px solid #FFC238;
    border-radius: 50px;
    position: relative;
    padding: 20px 0;
    background-color: #FFC238;
}

.btn04 {
    background-color: #FFF;
    color: #333;
    border: 2px solid #FFC238;
    border-radius: 50px;
    position: relative;
}

.btnbox .f_btn {
    border-radius: 50px;
    padding: 13px;
    width: 45%;
}

.btn05 {
    background: #D7092F;
    color: #fff;
    border: 2px solid #D7092F;
}

.btn05:hover {
    background: #ca062b;
    border: 2px solid #ca062b;
}

.btnbox .btn06 {
    background: #fff;
    color: #D7092F;
    border: 2px solid #D7092F;
}

.btn06:hover {
    background: #efefef;
    color: #D7092F;
    border: 2px solid #D7092F;
}

.btn07 {
    padding: 19px 20px;
    border-radius: 50px;
    background: #fff;
    border: 3px solid #4867AA;
    color: #4867AA;
    font-weight: bolder;
}

.btn08 {
    padding: 19px 20px;
    border-radius: 50px;
    background: #fff;
    border: 3px solid #00B900;
    color: #00B900;
    font-weight: bolder;
}

.sbtn1 {
    background: #FFC238;
    border-radius: 50px;
    font-size: var(--font-size14);
    width: auto;
    display: inline-block;
}

.sbtn1:hover {
    background: #e6aa22;
}

.sbtn2 {
    background: #D7092F;
    border-radius: 50px;
    font-size: var(--font-size14);
    width: auto;
    display: inline-block;
    border: 2px solid #D7092F;
}

.sbtn2:hover {
    background: #ca062b;
}

.sbtn3 {
    background: #fff;
    border-radius: 50px;
    font-size: var(--font-size14);
    width: auto;
    display: inline-block;
    border: 2px solid #D7092F;
    color: #D7092F;
}

.sbtn3:hover {
    background: #efefef;
}

/* box */
.whitebox {
    border-radius: 0 0 50px 50px;
    padding: 0 0 50px 0;
    position: relative;
    box-shadow: 3px 20px 144px -105px #c0c0c0;
}

.whitebox .tabbox {
    padding: 50px 0 0 0;
}

.lrbox {
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
    padding: 85px 5% 85px;
    position: relative;
}

.lrbox .lbox {
    flex: 6;
    display: flex;
    justify-content: center;
    padding-right: 2%;
}

.lrbox .rbox {
    flex: 4;
}

.txtbox {
    padding: 0;
}

.txtbox p {
    font-size: var(--font-size20);
}

/*calendar*/
#calendar.cal01 {
    border: 5px solid var(--background-red);
    width: 100%;
    border-radius: 20px;
    padding: 20px;
    background: #fff;
}

#calendar.cal01 thead th {
    background: var(--background-red);
    border: none;
}

#calendar.cal01 .fc-theme-standard td {
    border: none;
}

#calendar.cal01 thead th .fc-col-header-cell-cushion {
    color: #fff;
}

#calendar.cal01 tbody td {
    border: none;
    padding: 2px;
}

#calendar.cal01 tbody td .fc-scrollgrid-sync-inner {
    border: 1px solid #ddd;
}

#calendar.cal01 .fc-scrollgrid,
#calendar.cal01.fc-theme-standard td {
    border: none !important;
}

#calendar.cal01 .fc-button-primary {
    background: var(--background-red);
    border-color: var(--background-red);
}

#calendar.cal01 .fc-daygrid-block-event .fc-event-title {
    font-size: var(--font-size14);
}

#calendar.cal01 .fc-daygrid-day-number {
    font-size: var(--font-size14);
}

#calendar.cal01 .fc-daygrid-event {
    font-size: var(--font-size14);
}

@-moz-document url-prefix() {
    #calendar .fc-daygrid-day {
        position: relative;
    }

    #calendar .fc-daygrid-day-frame {
        position: absolute;
        left: 2px;
        right: 2px;
        top: 2px;
        bottom: 2px;
        min-height: auto;
    }

    .fc-theme-standard th {
        border: 0 !important;
    }
}

/* box01 */
.inbox {
    max-width: 1440px;
    margin: 0 auto;
}

.box01 {
    position: relative;
    padding: 55px 0px 60px;
}

.box01 .hd {
    text-align: center;
    padding: 110px 0 40px 0;
}

.box01 .hd.hd2 {
    padding: 40px 0 40px 0;
    background: #d7092f;
}

.box01 .hd2 {
    position: relative;
}

.box01 .hd2:after {
    content: "";
    position: absolute;
    bottom: 100%;
    left: 50%;
    width: 1px;
    height: 55px;
    background: #d7092f;
}

.box01 h2.title em {
    display: block;
    color: #FFC238;
    font-size: var(--font-size25);
    padding: 5px 0 5px 0;
    letter-spacing: normal;
}

.box01 h2.title mark {
    background: none;
    -webkit-text-stroke: 0.9px #fff;
    color: transparent;
    font-weight: bolder;
    font-style: normal;
}

.box01 .hd>h2.title {
    color: #fff;
    position: relative;
    font-size: var(--font-size40);
    letter-spacing: 0.1em;
    font-weight: bolder;
    padding: 10px 0 0;
}

.box01 .come-in>h2.title {
    animation: tracking-in-expand 0.7s .5s cubic-bezier(0.215, 0.610, 0.355, 1.000) both;
}

.box01 .bd .btnbox {
    margin-top: 30px;
    text-align: center;
}

.box01 .hd h2.title:after {
    content: "";
    position: absolute;
    bottom: 100%;
    left: 50%;
    width: 1px;
    height: 115px;
    background: #fff;
}

.box01 .btnbox .btn {
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* box02 */
.box02 {
    padding: 0 0 0 3%;
}

.box02 .bd .btnbox {
    text-align: left;
}

.box02 .btnbox .btn {
    margin: 0;
}

.box02 .hd {
    background: none;
    padding: 0 0 25px 0;
}

.box02 .hd h2.title {
    text-align: left;
    position: relative;
    padding: 20px 0 0;
    font-size: var(--font-size40);
    color: #333;
}

.box02 .hd h2.title:before {
    content: "";
    position: absolute;
    background: url("../images/content/in_bg00.svg") no-repeat scroll center;
    width: 203px;
    height: 24px;
    left: 264px;
    bottom: 0;
}

.box02 .hd h2.title:after {
    content: "";
    position: absolute;
    bottom: 140px;
    left: 0;
    width: 1px;
    height: 100%;
    background: #D7092F;
}

.box02 h2.title em {
    display: block;
    color: #D7092F;
    font-size: var(--font-size25);
    padding: 0 0 5px 0;
}

.box02 h2.title mark {
    background: none;
    -webkit-text-stroke: 0.9px #333;
    color: transparent;
    font-weight: border;
    font-style: normal;
}

.box02 .txtbox h2.title {
    color: #C88F10;
    font-size: var(--font-size30);
    padding: 0 0 12px;
}

/* img */
.imgtype {
    position: relative;
    margin-bottom: 50px;
}

.imgtype:before {
    content: "";
    position: absolute;
    height: 100%;
    width: 100%;
    background: #D7092F;
    top: 19px;
    right: -17px;
    border-radius: 50px;
    z-index: -1;
}

.imgtype img {
    width: 100%;
    border-radius: 50px;
}

/* listbox */
.listbox,
.listbox02 {
    padding: 0 0 50px 0;
}

.listbox ul {
    min-height: 500px;
}

.listbox ul,
.listbox02 ul {
    display: flex;
    ;
    justify-content: space-between;
    align-items: stretch;
}

.listbox li,
.listbox02 li {
    position: relative;
    text-align: center;
    width: 90%;
    margin: 20px auto;
}

/*.listbox li:last-child{margin:0;}*/
.listbox li:after {
    content: "";
    display: none;
    position: absolute;
    border: 10px solid #E3E3E3;
    border-radius: 50px;
    top: 6px;
    bottom: 6px;
    left: 6px;
    right: 6px;
    z-index: -1;
}

.listtxt {
    text-align: center;
    padding: 20px 40px 40px;
    flex: 1;
}

.listtxt h3.title {
    font-weight: bold;
    padding: 15px 0;
    line-height: 1.4;
    font-size: var(--font-size25);
}

.listtxt em {
    color: #989898;
    font-size: var(--font-size22);
}

.listimg {
    width: 100%;
    overflow: hidden;
    border-radius: 50px;
    display: flex;
    align-items: center;
    background: #f5f5f5;
    height: 390px;
}

.listimg img {
    width: 100%;
}

.listtxt h4.title {
    font-weight: bold;
    padding: 10px 0 0;
    line-height: 1.4;
    font-size: var(--font-size18);
    color: #D7092F;
}

.listtxt ul {
    flex-direction: column;
    font-size: var(--font-size18);
    justify-content: flex-start;
    list-style: none;
    padding: 15px 0 10px;
    margin: 0;
    letter-spacing: normal;
}

.listtxt li {
    text-align: left;
    padding: 3px 0 3px 30px;
    position: relative;
    width: 100% !important;
}

.listtxt li .icon {
    position: absolute;
    left: 0;
    top: 2px;
}

.listtxt li a {
    color: #333;
}

.listtxt li a:hover {
    color: #D7092F;
}

.back {
    padding: 30px 28px;
    position: absolute;
    z-index: 1px;
    background: #D7092F;
    width: 100%;
    height: 100%;
    border: 10px solid #fff;
    border-radius: 50px;
    top: 0px;
    left: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: space-between;
    box-shadow: 0 0 20px rgba(0, 0, 0, .2);
}

.back .listinfo {
    color: #fff;
    text-align: left;
    font-size: var(--font-size23);
    overflow: auto;
    flex-grow: 1;
    margin-bottom: 25px;
}

.back .listinfo p {
    padding: 5px 0;
}

.back .listbtn a {
    color: #D7092F;
    font-size: var(--font-size23);
    font-weight: bold;
    display: block;
    padding: 20px 12px;
    background: #fff;
    border-radius: 10px;
}

.back .listbtn a:hover {
    background: #E0E0E0;
}

.cover {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.cover:hover {
    color: #D7092F;
}

.cover:after {
    content: "";
    position: absolute;
    border: 10px solid #E3E3E3;
    border-radius: 50px;
    top: 6px;
    bottom: 6px;
    left: 6px;
    right: 6px;
    z-index: -1;
    background: #fff;
}

.cover {
    position: relative;
    z-index: 2;
}

.back {
    z-index: 1;
    opacity: 0;
    transform: rotateY(-180deg);
}

.on .cover {
    z-index: 1;
    opacity: 0;
}

.on .back {
    z-index: 2;
    opacity: 1;
}

.off .back,
.on .cover {
    -webkit-animation: flip-vertical-left 0.35s cubic-bezier(0.455, 0.030, 0.515, 0.955) both;
    animation: flip-vertical-left 0.35s cubic-bezier(0.455, 0.030, 0.515, 0.955) both;
}

.on .back,
.off .cover {
    -webkit-animation: flip-vertical-right 0.35s cubic-bezier(0.455, 0.030, 0.515, 0.955) both;
    animation: flip-vertical-right 0.35s cubic-bezier(0.455, 0.030, 0.515, 0.955) both;
}

.listbox li.on {
    -webkit-animation: flip-vertical-left 0.35s cubic-bezier(0.455, 0.030, 0.515, 0.955) both;
    animation: flip-vertical-left 0.35s cubic-bezier(0.455, 0.030, 0.515, 0.955) both;
}

.listbox li.off {
    -webkit-animation: flip-vertical-right 0.35s cubic-bezier(0.455, 0.030, 0.515, 0.955) both;
    animation: flip-vertical-right 0.35s cubic-bezier(0.455, 0.030, 0.515, 0.955) both;
}

/* tabbox */
.tab_hd {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 0 40px;
}

.tab_hd ul {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.tab_hd a {
    color: #989898;
    background: #fff;
    border: 1px solid #E4E4E4;
    font-size: var(--font-size23);
    display: block;
    border-radius: 50px;
    padding: 9px 17px;
    margin: 0 15px 0 0;
    min-width: 130px;
    text-align: center;
}

.tab_hd a:hover {
    color: #D7092F;
}

.tab_hd li.on a {
    background: #D7092F;
    color: #fff;
}

.tabcont span {
    display: inline-block;
    border: 1px solid #3DC5FF;
    color: #3DC5FF;
    border-radius: 50px;
    padding: 2px 10px;
    font-size: var(--font-size15);
    position: absolute;
    left: 165px;
    top: 50%;
    transform: translate(0, -50%);
    min-width: 140px;
    text-align: center;
}

.tabcont em {
    color: #989898;
    font-size: var(--font-size21);
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(0, -50%);
}

.tabcont li {
    font-size: var(--font-size23);
    font-weight: bold;
    border-top: 1px solid #C6C6C6;
    position: relative;
    background: #fff;
}

.tabcont li a {
    color: #333;
    padding: 40px 52px 40px 321px;
    display: block;
    transform: translateX(0%);
}

.tabcont li a:hover {
    transform: translateX(1%);
    color: #D7092F;
}

.tabcont li a i {
    transform: translate(0, -50%);
}

.tabcont li a:hover i {
    transform: translate(-1%, -50%);
}

.tabcont li:first-child {
    border: none;
}

/*linkbox*/
.linkbox {
    position: fixed;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    right: 7px;
    padding-bottom: 0;
    z-index: 5;
    bottom: 103px;
}

.linkbox a {
    padding: 5px 0 0;
}

.linkbox.open {
    padding-bottom: 195px;
}

.linkbox.open a {
    display: block;
}

.linkbox a img {
    width: 100%;
}

.gotop {
    transform: rotate(270deg) translateY(200%);
    font-weight: bold;
    font-size: var(--font-size14);
    position: absolute;
    right: 0;
    bottom: 0;
    cursor: pointer;
    color: #000;
}

.gotop:before {
    content: "";
    position: absolute;
    bottom: -56px;
    right: -82px;
    height: 130px;
    width: 2px;
    background: #C6C6C6;
    transform: rotate(270deg);
}

.gotop:after {
    content: "";
    position: absolute;
    height: 60px;
    bottom: -21px;
    right: -48px;
    width: 2px;
    background: #333;
    transform: rotate(270deg);
}

.linkbox.open .gotop {
    margin-top: 180px;
    display: block;
    transform: rotate(270deg) translateY(0);
}

.linkbox_noopen.open {
    padding-bottom: 0 !important;
}

/*otbox*/
.otbox {
    position: fixed;
    right: 5px;
    bottom: 5px;
    height: 500px;
    transform: translateX(150%);
    z-index: 10;
    box-shadow: -5px 5px 10px rgba(0, 0, 0, .2);
}

.otbox.on {
    transform: translateX(0);
}

.otbox_fb.on {
    transform: translateY(-335px);
}

.open .otbox_fb.on {
    transform: translateY(-140px);
}

.otbox_fb.on:after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    background: url("../images/content/link_close.svg") no-repeat scroll center;
    background-size: 100% auto;
}

.open .otbox_fb.on {
    transform: translateY(-140px);
}

/*內頁*/
/*關於我們*/

/*bg_white*/
.bg_white .brntitle h2.title {
    font-size: var(--font-size42);
    font-weight: 700;
    position: absolute;
    top: 210px;
    left: 5%;
    z-index: 2;
    line-height: 1.3;
}

.bg_white .brntitle h2.title:after {
    content: "";
    position: absolute;
    height: calc(100vh - 70vh);
    width: 1px;
    background: #D7092F;
    top: 110%;
    left: 0;
    z-index: 5;
}

.bg_white .brntitle em {
    display: block;
    font-size: var(--font-size130);
    color: #D7092F;
    font-weight: bolder;
    text-shadow: 4px 0px 0 #fff;
    letter-spacing: -0.05em;
}

.bg_white .brntitle h2.title mark {
    background: none;
    -webkit-text-stroke: 1.5px #D7092F;
    ;
    color: transparent;
    font-weight: bolder;
    font-style: normal;
}

.bg_white .bnimg:after {
    background: linear-gradient(to right, rgb(235 235 235) 0%, rgba(100, 100, 100, 0) 100%);
}

.bg_white .bnrbox:before {
    content: "";
    position: absolute;
    width: 200px;
    height: 24px;
    background: url("../images/content/a_bg01.svg") no-repeat scroll;
    bottom: -70px;
    left: 25%;
}

.bg_white .listbox02 {
    padding: 127px 0 0;
}

.bg_white .bnimg {
    box-shadow: none;
}

/*有在上方.listbox區新增.listbox02*/
.listbox02 {
    padding: 0 50px 0 50px;
}

.listbox02 li {
    margin: 0 auto;
    position: relative;
    width: 90%;
}

.listbox02 .listimg {
    border-radius: 50%;
    width: 250px;
    height: 250px;
    margin: 0 auto;
    position: absolute;
    top: -130px;
    left: 50%;
    transform: translate(-50%, 0);
    border: 9px solid #FAC13C;
}

.listbox02 .listtxt h3.title small {
    display: block;
    color: #D7092F;
    font-size: var(--font-size20);
}

.listbox02 .listtxt {
    padding: 130px 40px 30px;
    margin-top: 135px;
    border: 4px solid #D7092F;
    border-radius: 85px 0 85px 0;
    background: #fff;
}

/*gopath*/
.gopath {
    padding: 40px 0 40px;
}

.gopath .inbox {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    max-width: 94%;
    flex-wrap: wrap;
}

.gopath span {
    display: inline;
    float: left;
    background: url("../images/content/icon_arrow_lr1.svg") no-repeat scroll 5px center;
    background-size: 10px auto;
    padding: 0 0 0 20px;
}

.gopath span:first-child {
    background: none;
    padding: 0;
}

.gopath span,
.gopath span a {
    color: #777;
}

.gopath span a:hover {
    text-decoration: underline;
}

.gopath .i_icon {
    width: 20px;
    height: 20px;
}

.i_pathome {
    text-indent: -9999px;
}

/*whitebox02*/
.whitebox02 {
    border-radius: 50px 50px 0 0;
    box-shadow: 7px -22px 36px -5px #f1f1f1;
    position: relative;
    padding: 80px 0 60px;
}

.whitebox02 .box01 .hd {
    background: none;
    padding: 115px 0 70px;
}

.whitebox02 .box01 h2.title {
    color: #333;
    position: relative;
    font-size: var(--font-size40);
    letter-spacing: 1.2px;
    font-weight: bolder;
    padding: 35px 0 0;
    text-align: center;
}

.whitebox02 .box01 h2.title mark {
    -webkit-text-stroke: 0.9px #333;
}

.whitebox02 .box01 h2.title em {
    color: #D7092F;
}

.whitebox02 .box01 .hd h2.title:after {
    background: #D7092F;
}

.whitebox02 .lrbox {
    padding: 0;
    position: relative;
    margin: -100px 0 0 0;
}

.whitebox02 .rbox {
    flex: 1;
    z-index: 2;
}

.whitebox02 .imgtxt {
    background: rgba(255, 255, 255, 0.8);
    border-radius: 65px;
    padding: 50px 60px;
    position: absolute;
    bottom: 0;
    right: 3%;
    width: 600px;
    z-index: 2;
}

.whitebox02 .imgtxt h2.title {
    color: #D7092F;
    font-size: var(--font-size20);
    font-size: var(--font-size42);
    font-weight: bold;
    position: relative;
}

.whitebox02 .imgtxt h2.title:before {
    content: "";
    position: absolute;
    width: 200px;
    height: 24px;
    background: url("../images/content/a_bg01.svg") no-repeat scroll;
    top: 50%;
    left: 200px;
}

.whitebox02 .imgtxt h3.title {
    font-size: var(--font-size25);
    padding: 30px 0 20px 0;
}

.whitebox02 .imgtxt h3.title i {
    font-size: var(--font-size15);
    color: #D7092F;
    padding: 0 0 0 12px;
    display: inline-block;
}

.whitebox02 .imgtxt p {
    line-height: 1.6;
    font-size: var(--font-size16);
}

.whitebox02 .box01 {
    position: relative;
}

.whitebox02 .box01:after {
    content: "";
    width: 100%;
    height: 30%;
    background: #D7092F;
    left: 0;
    position: absolute;
    bottom: 15px;
    z-index: -1;
    border-radius: 0 0 50px 50px;
}

.whitebox02 .bnimg {
    border-radius: 0 65px 65px 0;
    margin: 0px;
    box-shadow: 17px 15px 0px rgb(215 12 50);
    max-height: inherit;
    height: auto;
    flex: 5;
}

.whitebox02 .bnimg img {
    width: 100%;
}

.whitebox02 .bnimg:after {
    right: 0;
    left: inherit;
    background: linear-gradient(to left, rgb(235 235 235) 0%, rgba(100, 100, 100, 0) 100%);
}

.whitebox02 .box01_2 {
    padding: 0px 0px 30px !important;
}

.whitebox02 .box01_2:after {
    bottom: auto;
    top: 70%;
    height: 50% !important;
    border-radius: 0;
}

.whitebox02 .box01_2 .tab_hd {
    padding: 0 0 60px;
}

.listbox02 .owl-carousel .owl-stage,
.listbox02 .owl-carousel .owl-item,
.listbox02 .owl-carousel .owl-item .item {
    display: flex;
    align-items: stretch;
}

.listbox02 .owl-carousel .owl-item .item>a {
    display: flex;
    align-items: stretch;
    flex: 1;
    color: #333;
}

.listbox02 .listimg {
    top: 0;
}

.listbox02 .listtxt {
    flex: 1;
}

/*sp_box*/
.sp_box {
    padding: 65px 0 0;
}

.sp_box .btnbox .btn {
    margin: 60px 1% 0;
    width: 47%;
    color: #333;
    max-width: inherit;
    padding: 20px 0px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.sp_box .lbox:after {
    border: 0;
}

.sp_box .lbox {
    padding: 0 100px 0 0;
}

.sp_box .rbox {
    flex: initial;
}

.sp_box .inbox {
    border: 2px solid #D7092F;
    border-radius: 50px;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 75px 100px;
}

.sp_box .txtbox h2.title {
    color: #D7092F;
    padding: 0 0 20px;
    font-weight: bolder;
}

.sp_box .btnbox {
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: center;
}

/*bg_box*/
.bg_box .bg_02,
.bg_box .bg_03,
.bg_box .bg_03_1,
.in_bg01,
.in_bg02,
.in_bg03,
.in_bg04,
.in_bg05,
.in_bg06,
.in_bg07,
.in_bg08,
.in_bg09,
.in_bg10,
.in_bg11 {
    position: absolute;
}

.bg_box .bg_02 {
    right: 50px;
    top: 40px;
}

.bg_box .bg_03 {
    top: 660px;
    left: 0;
    z-index: -1;
    transform: rotate(-270deg);
}

.bg_box .bg_03_1 {
    top: 660px;
    right: 0px;
    z-index: -1;
    transform: rotate(-270deg);
}

.in_bg01 {
    top: 272px;
    z-index: -1;
    left: 0;
}

.in_bg02 {
    right: 0;
    top: 402px;
    z-index: -1;
}

.in_bg03 {
    left: 0;
    top: 892px;
    transform: rotate(-270deg);
    z-index: -1;
}

.in_bg04 {
    right: 0;
    top: 924px;
    transform: rotate(-270deg);
    z-index: -1;
}

.in_bg05 {
    left: 22px;
    top: 1860px;
    z-index: -1;
    transform: rotate(-270deg);
}

.in_bg06 {
    top: 225px;
    left: 122px;
}

.in_bg07 {
    top: 115px;
    right: 22px;
}

.in_bg08 {
    bottom: 0;
    z-index: -1;
    left: -40px;
}

.in_bg09 {
    top: 370px;
    left: 22px;
}

.in_bg11 {
    right: 0;
    top: 0;
    z-index: -1;
}

.bg_box02 .bg_03 {
    top: 220px;
}

.bg_box02 .bg_03_1 {
    top: 300px;
}

/*問與答*/
.qabox ul {
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
    align-items: flex-start;
}

.qabox ul li {
    margin: 50px 0 50px 0;
    position: relative;
    width: 100%;
    border: 4px solid #D7092F;
    color: #333;
    border-radius: 35px;
    background: #fff;
    cursor: pointer;
    padding: 0 120px 0 50px;
}

.qabox ul li:before {
    content: "";
    position: absolute;
    background: #FFC238;
    top: 12px;
    left: 12px;
    width: 100%;
    height: 100%;
    z-index: -1;
    border-radius: 35px;
}

.qabox ul li>p {
    position: absolute;
    top: -54px;
    left: -3px;
    color: #fff;
    display: block;
    background: #D7092F;
    padding: 14px 50px 82px;
    border-radius: 34px;
    z-index: -1;
}

.qabox ul li h3.title {
    color: #D7092F;
    padding: 40px 0px;
}

.answer {
    display: none;
}

.qabox h3.title i {
    background: url("../images/content/I_plus.svg") no-repeat scroll;
    background-size: cover;
    width: 40px;
    height: 40px;
    position: absolute;
    right: 50px;
    top: 30px;
}

.qabox ul li.open h3.title {
    padding: 40px 0px;
}

.qabox ul li.open .answer {
    display: block;
    padding: 35px 0 40px 0;
    border-top: 2px solid #D7092F;
    width: 100%;
}

.qabox ul li.open h3.title i {
    background-image: url("../images/content/i_minus.svg")
}

/*聯絡我們*/
.formbox .btnbox {
    display: flex;
    justify-content: flex-start;
    align-content: center;
}

.formbox .btnbox button {
    margin: 15px 20px 0 0;
    font-size: var(--font-size20);
}

.formbox .btnbox02 {
    display: flex;
    justify-content: center;
    align-content: center;
}

.formbox .btnbox02 button {
    margin: 15px 15px 0 15px;
}

.errtxt {
    color: #D7092F;
    margin: 6px 0 0 0;
    font-size: var(--font-size16);
}

.linkbox2 {
    background: #D7092F;
    border-radius: 50px 50px 0 0;
    margin: 82px 0 0;
    color: #fff;
}

.linkbox2 .inbox {
    padding: 115px 0px 152px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.linkbox2 h3.title em {
    display: block;
    font-size: var(--font-size20);
    font-weight: bolder;
    color: #FFC238;
    padding: 0 0 9px;
}

.linkbox2 h3.title {
    position: relative;
    font-size: var(--font-size35);
}

.linkbox2 h3.title:after {
    content: "";
    position: absolute;
    left: 0;
    top: 120px;
    background: url("../images/content/a_bg05.svg") no-repeat scroll;
    width: 203px;
    height: 24px;
}

.linkbox2 .lbox {
    flex: 1;
    position: relative;
}

.linkbox2 .lbox:after {
    content: "";
    position: absolute;
    background: #d7092f;
    top: -175px;
    left: 0%;
    width: 1px;
    height: 60px;
}

.linkbox2 .lbox:before {
    content: "";
    position: absolute;
    top: -115px;
    left: 0;
    width: 1px;
    height: 60px;
    background: #fff;
}

.l_btnbox {
    align-items: center;
    display: flex;
    justify-content: space-around;
    text-align: center;
    flex: 4;
}

.l_btnbox a {
    width: 100%;
    display: block;
}

.l_btnbox em {
    padding: 0 10px;
}

.linkbox3 {
    text-align: center;
    padding: 20px 0px 0;
}

.linkbox3 a {
    display: inline-block;
    margin: 0 5px;
}

.linkbox3 a:hover {
    opacity: 0.5;
}

/*最新消息*/
.search {
    position: relative;
    border: 2px solid #D7092F;
    border-radius: 50px;
    padding: 6px 110px 6px 40px;
    width: 350px;
    background: #fff;
}

.search input {
    border: none;
    font-size: var(--font-size20);
    padding: 3px;
    width: 100%;
}

.search button {
    font-size: var(--font-size18);
    background: #D7092F;
    border-radius: 50px;
    padding: 9px 10px;
    min-width: 100px;
    color: #fff;
    border: none;
    position: absolute;
    right: -1px;
    top: -1px;
    bottom: -1px;
    line-height: 1;
}

.redbox .search {
    background: #fff;
    border: none;
}

.redbox .search button {
    background: #333;
}

/*最新消息＿內容*/
.txtbox02 {
    padding-bottom: 50px;
}

.txtbox02 .hd {
    justify-content: space-between;
    align-items: flex-end;
    display: flex;
    padding: 0 0 55px;
    border-bottom: 2px solid #C1C1C1;
}

.txtbox02 .bd {
    padding: 65px 0 0 0;
}

.txtbox02 .img {
    padding: 0 0 55px;
}

.txtbox02 .img img {
    width: 100%;
}

.txtbox02 .btnbox .btn {
    margin: 70px auto 0;
    color: #333;
    padding: 15px 0;
}

.t_box {
    position: relative;
}

.t_box:after {
    content: "";
    background: url("../images/content/a_bg06.svg") no-repeat scroll;
    position: absolute;
    right: 107%;
    top: 5px;
    width: 182px;
    height: 24px;
}

.t_box h3 {
    font-size: var(--font-size35);
    padding: 13px 0 0 0;
    margin: 0;
}

.t_box span {
    color: #3DC5FF;
    display: inline-block;
    font-size: var(--font-size13);
    border: none;
    border-radius: 0;
    margin: 0;
    padding: 0 5px 0 0;
}

.t_box em {
    display: inline-block;
    padding: 0 20px 0 0;
    color: #989898;
    font-size: var(--font-size20);
}

.t_box span a {
    color: #3DC5FF;
    display: inline-block;
    border: 1px solid #3DC5FF;
    min-width: 85px;
    padding: 5px 15px;
    border-radius: 50px;
    font-size: var(--font-size13);
    text-align: center;
}

.t_box span a:hover {
    border-color: #D7092F;
    color: #D7092F;
}

.t_box2 h3 {
    padding: 0 0 5px;
    color: #D7092F;
    font-size: var(--font-size40);
}

.t_box2+.clogo img {
    height: 100px;
    max-width: 300px;
}

.txtbox02 .Txt p {
    padding: 10px 0;
}

.txtrow2 {
    display: flex;
    justify-content: space-between;
    padding: 25px 0 30px;
    position: relative;
}

.txtrow2:after {
    content: '';
    position: absolute;
    left: 102%;
    top: 0;
    background: url('../images/content/a_bg03.svg') no-repeat scroll left top;
    width: 240px;
    height: 250px;
}

.txtrow2 .intxt {
    width: 48%;
}

.txtrow2 .intxt h4.title {
    padding: 15px 0 5px;
    color: #D7092F;
}

.txtimg {
    text-align: center;
    padding: 30px 20px 30px;
    background: linear-gradient(#fff, #efefef);
    ;
    border-radius: 30px 30px 0 0;
    position: relative;
    margin: 50px 0 0
}

.txtimg:before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 100%;
    background: url('../images/content/a_bg01.svg') no-repeat scroll left top;
    width: 200px;
    height: 50px;
}

.txtcopy {
    background: #D7092F;
    padding: 25px 40px;
    display: flex;
    justify-content: space-between;
    color: #fff;
    border-radius: 0 0 30px 30px;
    position: relative;
}

.txtcopy ul {
    max-width: 48%;
    padding: 0 !important;
    margin: 0 !important;
}

.txtcopy:before {
    content: '';
    position: absolute;
    right: 102%;
    bottom: 150%;
    background: url('../images/content/a_bg03.svg') no-repeat scroll left top;
    width: 240px;
    height: 250px;
}

/*新創課程*/
.redbox {
    background: var(--background-red);
    border-radius: 50px 50px 0 0;
    box-shadow: 0px -30px 50px rgba(0, 0, 0, 0.05);
    position: relative;
    padding: 70px 0;
}

.redbox .hdbox {
    margin: 0 auto;
    max-width: 1440px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.threetypebox {
    display: flex;
    align-items: stretch;
    justify-content: center;
    color: #fff;
}

.threetype_hd {
    flex: 1;
    padding: 0 2% 0 0;
}

.threetype_hd .typetitle {
    background: #fff;
    color: #333;
}

.threetype_hd .s_arr {
    margin-left: 0;
}

.threetype_bd {
    flex: 4;
    display: flex;
    align-items: stretch;
    justify-content: center;
}

.col2 {
    flex: 2;
    padding: 0 1% 0 0;
    display: flex;
    flex-direction: column;
}

.col2 ul {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
}

.col2 li {
    flex: 1;
}

.col1 {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.s_arr {
    height: 70px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    color: #333;
    margin: 0 20px 20px;
    border-radius: 5px 0 0 5px;
    padding-left: 25px;
}

.s_arr i {
    width: 52px;
    height: 52px;
    border-radius: 5px;
    overflow: hidden;
    transform: rotate(-45deg);
    position: absolute;
}

.s_arr i:before,
.s_arr i:after {
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    width: 52px;
    height: 52px;
    border-radius: 5px;
    background: #fff;
}

.s_arr i:after {
    top: 50%;
    left: 0%;
}

.s_arr i:first-child {
    left: -26px;
}

.s_arr i:first-child::before,
.s_arr i:first-child::after {
    background: var(--background-red) !important;
}

.s_arr i:last-child {
    right: -25px;
    transform: rotate(-45deg);
}

.type1 .s_arr {
    background: #C3C62A;
    color: #fff;
    transform: translateX(-20px);
}

.type1 .s_arr i:before,
.type1 .s_arr i:after {
    background: #C3C62A;
}

.type2 .s_arr {
    background: #E07A5E;
    color: #fff;
    transform: translateX(-15px);
}

.type2 .s_arr i:before,
.type2 .s_arr i:after {
    background: #E07A5E;
}

.type3 .s_arr {
    background: #6984C2;
    color: #fff;
    transform: translateX(-20px);
}

.type3 .s_arr i:before,
.type3 .s_arr i:after {
    background: #6984C2;
}

.typetitle {
    background: #333;
    color: #fff;
    padding: 10px;
    text-align: center;
    border-radius: 5px;
    margin-bottom: 10px;
}

.typeitems span {
    display: flex;
    align-items: center;
    background: #333;
    margin: 15px 0 0;
    border-radius: 5px;
    padding: 10px 15px 10px 80px;
    min-height: 70px;
    width: 285px;
    position: relative;
}

.typeitems span:after {
    content: '';
    position: absolute;
    left: 100%;
    top: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 0 10px 15px;
    border-color: transparent transparent transparent #333;
    transform: translateY(-50%);
}

.typeitems span em {
    position: absolute;
    left: 0;
    top: 50%;
    width: 80px;
    text-align: center;
    transform: translateY(-50%);
    color: #FFC238;
    font-size: var(--font-size30);
}

.typeitems span a {
    color: #fff;
}

.typeitems span a:hover {
    color: #FFC238;
}

.typeitems span p {
    line-height: 1.3;
}

/*typeinfo*/
.typeinfo {
    flex-grow: 1;
    display: flex;
}

.typeinfo li {
    padding: 15px;
    background: #fff;
    margin: 5px 2% 0 0;
    border: 5px solid #fff;
    border-radius: 30px;
    text-align: center;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.typeinfo li:last-child {
    margin-right: 0;
}

.typeinfo>li>a {
    color: #fff;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: stretch;
}

.typeinfo .typeimg img {
    max-width: 100%;
}

.typeinfo h3.title {
    flex-grow: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    margin: 50px 0 0;
    position: relative;
    padding: 15px;
    font-size: var(--font-size30);
}

.typeinfo li h3.title:before {
    content: '';
    position: absolute;
    left: 50%;
    top: -30px;
    width: 1px;
    height: 30px;
}

.typeinfo li h3.title:after {
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    width: 1px;
    height: 30px;
    background: #fff;
}

.typeinfo .type1 {
    border-color: #C3C62A;
}

.typeinfo .type1 h3.title,
.typeinfo .type1 h3.title:before {
    background: #C3C62A;
}

.typeinfo .type2 {
    border-color: #E07A5E;
}

.typeinfo .type2 h3.title,
.typeinfo .type2 h3.title:before {
    background: #E07A5E;
}

.typeinfo .type3 {
    border-color: #6984C2;
}

.typeinfo .type3 h3.title,
.typeinfo .type3 h3.title:before {
    background: #6984C2;
}

.typeinfo h3.title span a {
    font-size: var(--font-size20);
}

/*listtype*/
.listtype ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
}

.listtype ul li {
    margin: 50px .5% 50px;
    width: 32.3%;
    position: relative;
    display: flex;
    align-items: stretch;
    justify-content: stretch;
}

.listtype ul li a {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: stretch;
}

.listtype .typeinfo {
    display: flex;
    flex-direction: column;
}

.listtype .bd {
    background: #fff;
    border: 5px solid #fff;
    border-radius: 20px;
    text-align: center;
    margin: 34px 0 0;
    position: relative;
    flex-grow: 1;
    display: flex;
    justify-content: stretch;
    flex-direction: column;
    padding: 30px 0 0;
    align-items: stretch;
}

.listtype .bd:after {
    content: "";
    position: absolute;
    top: -40px;
    left: 37px;
    width: 1px;
    height: 35px;
    background: #fff;
}

.listtype .bd:before {
    content: "";
    position: absolute;
    top: -5px;
    left: 37px;
    width: 1px;
    height: 35px;
    background: var(--background-red);
    z-index: 2;
}

.listtype .typeinfo h3.title {
    flex-direction: column;
    justify-content: flex-start;
    font-size: var(--font-size25);
    padding: 30px;
    color: #fff;
    margin: 0 9px 9px 9px;
}

.listtype .typeinfo h3.title p {
    font-size: var(--font-size25);
    text-align: left;
    line-height: 1.5;
}

.listtype .typeitems {
    width: 100%;
    padding: 0 32px;
    display: flex;
    align-items: flex-start;
    flex-direction: column-reverse;
}

.listtype .typeinfo .typeitems h3.title {
    background: none;
    padding: 0;
    text-align: left;
    align-content: flex-start;
    display: flex;
    margin: 0;
}

.listtype .typeitems span {
    width: 100%;
    color: #FFF;
    border-radius: 20px;
    font-size: var(--font-size20);
    padding: 10px 15px 10px 70px;
    margin: 8px 0;
}

.listtype .typeitems span:after {
    display: none;
}

.listtype .typeitems span p {
    font-size: var(--font-size20);
    line-height: 1.4;
}

.listtype .typeitems span em {
    font-size: var(--font-size25);
}

.listtype>h3.title {
    color: #fff;
    margin: 0;
    position: relative;
    padding: 0 0 0 19px;
}

.listtype>h3.title:before {
    content: "";
    width: 3px;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    background: #fff;
}

.listtype li {
    transform: rotateY(0px);
}

.listtype li.on {
    transform: translateY(-3%);
}

.listtype li.on .bd {
    box-shadow: 7px 8px 0px -1px #FFC238;
    transform: translate(-5px, 0px);
}

/* othertypebox */
.othertypebox {
    color: #fff;
}

.othertypebox li {
    display: flex;
    align-items: stretch;
    justify-content: center;
}

.othertypebox li .typeitems {
    flex: 1;
    padding: 0 2% 0 0;
    display: flex;
}

.othertypebox li .typeinfo {
    flex: 4;
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
}

.othertypebox .typeinfo {
    padding: 15px;
    background: #fff;
    margin: 10px 0 0 0;
    border: 5px solid #fff;
    border-radius: 30px;
    text-align: center;
}

.othertypebox .typeinfo h3.title {
    margin: 0;
    flex-direction: column;
}

.othertypebox .typeinfo .btn {
    background: #fff;
    color: #333;
    border-radius: 5px;
    padding: 10px;
    display: inline-block;
    margin: 15px 5px 0;
    min-width: 80px;
}

.othertypebox .typeinfo .btn:hover {
    opacity: 0.7;
}

.typeinfo.type4 {
    border-color: #948bc2;
}

.typeinfo.type4 h3.title {
    background: #948bc2;
}

.typeinfo.type5 {
    border-color: #a9987f;
}

.typeinfo.type5 h3.title {
    background: #a9987f;
}

.typeinfo.type1 h3.title {
    background: #C3C62A;
}

.typeinfo.type2 h3.title {
    background: #E07A5E;
}

.typeinfo.type3 h3.title {
    background: #6984C2;
}

/* schedulebox */
.schedulebox {
    border-radius: 0 0 40px 40px;
    overflow: hidden;
}

.sc_hd {
    display: flex;
    justify-content: space-between;
    padding: 20px 25px 15px;
    background: #fafafa;
    border-radius: 40px 40px 0 0;
    overflow: hidden;
}

.sc_hd .l {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.sc_hd .l .btn {
    display: flex;
    align-items: center;
    padding: 10px 15px;
    background: #fff;
    border: 1px solid #d3d3d3;
    color: #333;
    font-size: var(--font-size16);
    border-radius: 10px;
    margin: 0 5px 10px 0;
}

.sc_hd .l .btn i {
    display: block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin: 0 5px 0 0;
    border: 1px solid #fff;
}

.sc_hd .l .btn.on {
    background: #D7092F;
    color: #fff;
    border-color: #D7092F;
}

.sc_hd .r {
    display: flex;
    align-items: center;
}

.sc_hd .r h2.title {
    font-weight: bold;
}

.yearbtns {
    display: flex;
    padding: 0 0 0 10px;
}

.yearbtns .btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: #fff;
    color: #BDBDBD;
    border: 3px solid #BDBDBD;
    border-radius: 50%;
    margin: 0 2px;
    padding: 0;
}

.yearbtns .btn span {
    font-weight: bold;
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 8px 13px 8px 0;
    border-color: transparent #BDBDBD transparent transparent;
    text-indent: -9999px;
    margin-left: -5px;
}

.yearbtns .btn_next span {
    transform: rotate(180deg);
    margin-right: -8px;
}

.yearbtns .btn:hover {
    border-color: #D7092F;
}

.yearbtns .btn:hover span {
    border-color: transparent #D7092F transparent transparent;
}

#mytimeline-1 {
    background: #fafafa;
}

.bar01 {
    background: #D7092F !important;
}

.bar02 {
    background: #7D5DBF !important;
}

.bar03 {
    background: #E07A5E !important;
}

.timeline-event.bar01,
.timeline-event.bar02,
.timeline-event.bar03 {
    background: none !important;
    border: none !important;
}

.sc_points {
    position: absolute;
    left: 0;
    top: 2px;
    bottom: 4px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: #fff;
    border: 1px solid #333;
    padding: 1px;
    border-radius: 3px;
}

.sc_points i {
    display: block;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    margin: 1px 0;
}

.sc_teacher {
    background: #F9BB40;
}

.sc_student {
    background: #C3C629;
}

.sc_other {
    background: #6984C1;
}

.timeline-event.off {
    opacity: 0.2;
    -webkit-filter: grayscale(1);
}

.context {
    cursor: pointer;
}

.timeline-event.on.bar01 .context {
    color: #D7092F;
}

.timeline-event.on.bar02 .context {
    color: #7D5DBF;
}

.timeline-event.on.bar03 .context {
    color: #E07A5E;
}

/* 新創活動報名 */
/* infobox */
.info b {
    font-size: var(--font-size20);
    margin: 0 20px 0 0;
    flex: 1;
    line-height: 1.6;
}

.info p {
    flex: 1;
    flex-grow: 1;
}

.info_box {
    border-radius: 35px;
    border: 2px solid #D7092F;
    display: flex;
    justify-content: space-around;
    align-items: flex-start;
    padding: 48px 60px;
    position: relative;
    background: #fff;
    margin: 52px 0 12px;
    flex-direction: column;
}

.info_box:before {
    content: "";
    position: absolute;
    background: #FFC238;
    top: 12px;
    left: 12px;
    width: 100%;
    height: 100%;
    z-index: -1;
    border-radius: 35px;
}

.info_box p {
    flex: 2;
    color: #D7092F;
    font-size: var(--font-size20);
    line-height: 1.8;
}

.info_box .btnbox {
    width: 260px;
    margin: 15px 0 0 0;
}

.info_box .btnbox .btn {
    margin: 0;
}

/* 會員註冊 */
/* whitebox03 */
.whitebox03 {
    margin: 150px 0 0 0;
    padding: 70px 0 60px;
}

.whitebox03 .hd {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.whitebox03 .hd h3.title {
    color: #333;
    position: relative;
    font-size: var(--font-size35);
    letter-spacing: 1.2px;
    font-weight: bolder;
}

.whitebox03 .hd h3.title:after {
    content: "";
    position: absolute;
    height: 1px;
    width: 200px;
    background: #D7092F;
    z-index: 5;
    top: 100%;
    left: -250px;
}

.whitebox03 .hd h3 em {
    display: block;
    font-size: var(--font-size20);
    color: #D7092F;
    padding: 0 0 5px;
}

.whitebox03 .hd h3.title span {
    color: #D7092F;
}

.loginbox .hd {
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.loginbox .formbox {
    padding: 23px 0 0;
}

.idbox {
    display: none;
}

/*進駐團隊管理*/
/* contbox */
.contbox {
    background: #fff;
    margin: 30px 0 10px;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 0 10px rgb(0 0 0 / 10%);
    font-size: var(--font-size18);
}

.tablewrap {
    overflow-x: auto;
    width: 100%;
}

.tablewrap th {
    background: #D7092F;
    color: #FFFFFF;
    padding: 13px 0;
    font-weight: 500;
}

.tablewrap td {
    padding: 20px 10px;
    color: #333;
}

.tablewrap tbody tr:nth-child(even) td {
    background: #F5F5F5;
}

.t_btnbox {
    margin: 28px 0 0;
}

.t_btnbox a {
    margin: 0 1px;
    font-size: var(--font-size18);
}

/*會員登入*/
.loginbox {
    background: #fff;
    max-width: 530px;
    min-height: 490px;
    margin: 0 auto;
    border-radius: 15px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    padding: 35px;
    position: relative;
    box-shadow: 8px 8px 0px 1px #ffc238;
}

.loginbox .hd p {
    font-weight: 500;
    padding: 9px 0;
    color: #d70a2e;
}

.loginbox span.or {
    display: block;
    text-align: center;
    position: relative;
    font-size: var(--font-size16);
    color: #cbcbcb;
}

.loginbox span.or:after {
    content: "";
    position: absolute;
    left: 0;
    top: 10px;
    width: 40%;
    height: 1px;
    background: #cbcbcb;
}

.loginbox span.or:before {
    content: "";
    position: absolute;
    right: 0;
    top: 10px;
    width: 40%;
    height: 1px;
    background: #cbcbcb;
}

.loginbox h2.title {
    padding: 14px 0;
    font-weight: bolder;
    color: #9c9c9c;
    ext-align: center;
    margin: 0 auto;
}

.loginbox .psw {
    text-align: center;
    font-size: var(--font-size16);
    margin: 22px 0;
}

.loginbox .psw a {
    display: inline-block;
    font-size: var(--font-size16);
    color: #ffc238;
}

.loginbox .formbox .btnbox02 button {
    width: 100%;
    max-width: 100%;
    margin: 0;
}

/* 表單 */
.formbox .tbar>label {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 9px 0;
}

.formbox .tbar b {
    width: 220px;
    padding: 10px 0 0;
    font-size: var(--font-size20);
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.formbox .tbar b small {
    color: #999;
    line-height: 1;
    padding: 0 0 0 3px;
}

.formbox .tbar b em {
    font-size: var(--font-size12);
    border-radius: 30px;
    padding: 5px;
    color: #fff;
    margin: 0 3px 0 0;
    text-align: center;
    width: 40px;
}

.formbox .tbar b em.imp {
    background: #D7092F;
}

.formbox .tbar .tf_cont {
    flex: 1;
    flex-grow: 1;
    position: relative;
    text-align: left;
}

.formbox .tbar .tf_cont>p {
    padding: 7px 0 4px;
}

.formbox .tbar .tf_flex {
    display: flex;
}

.formbox .tbar .tf_flex .tf {
    flex: 1;
}

.formbox .tbar a:hover {
    text-decoration: underline;
}

.formbox .tbar a.btn {
    border-radius: 10px;
    display: inline-block;
    padding: 5px 15px;
    color: #333;
    margin: 15px 0 10px;
    text-decoration: none;
}

.formbox .tbar a.btn img {
    height: 30px;
}

.formbox .tbar a.btn05 {
    color: #fff;
}

.formbox .btnbox {
    padding: 50px 0 0;
}

.formbox .tbar:hover {
    background: #f9f9f9;
}

.tf {
    border: 2px solid #E0E0E0;
    font-size: var(--font-size20);
    padding: 10px;
    border-radius: 10px;
    width: 100%;
    background: #fff;
}

.tf[readonly],
.tf:focus[readonly] {
    border-color: #eee;
    color: #999;
}

.tf[type=date] {
    padding: 7px 10px;
}

.tf_s {
    width: 300px;
}

.tf_s+.tf_s {
    margin: 0 0 0 10px;
}

.tf:focus {
    border-color: #D7092F;
}

.imgcode {
    height: 45px;
    margin: 0 5px 0 0;
}

.formborder {
    border-top: 2px solid #dfdfdf;
    margin: 50px 0 0;
    padding: 60px 0 0;
    position: relative;
}

.formborder:before {
    content: "";
    position: absolute;
    top: -2px;
    left: 0;
    width: 15%;
    height: 2px;
    z-index: 2;
    background: #d7092f;
}

.tf_psw+.icon {
    position: absolute;
    right: 10px;
    top: 12px;
}

.otbar {
    border-bottom: 1px dashed #ccc;
    padding: 10px 0 10px;
    margin: 0 0 20px;
}

.otbar .caption {
    color: #999;
    font-size: var(--font-size16);
    position: relative;
    display: flex;
    align-items: center;
    padding: 0 0 5px;
}

.otbar .caption:after {
    content: '';
    display: block;
    flex-grow: 1;
    height: 1px;
    border-bottom: 1px dashed #ccc;
    margin: 0 0 0 20px;
}

.otbar h3.caption {
    font-size: var(--font-size40);
    color: #d7092f;
    margin-bottom: 20px;
}

.formbox.forminfo {
    padding: 0;
}

.formbox.forminfo .tbar>label {
    padding: 5px 0;
    cursor: default;
}

.formbox.forminfo .tbar b {
    padding: 4px 0 0;
    font-weight: bold;
}

.formbox.forminfo .tbar .tf_cont>p {
    padding: 0;
}

.formbox.forminfo.forminfo_c {
    max-width: 900px;
    margin: 0 auto 20px;
    border: 2px solid #eee;
    padding: 20px;
    border-radius: 20px;
}

.formbox.forminfo.forminfo_c .tbar {
    border-bottom: 1px dashed #eee;
}

.formlogin .tbar b {
    width: 50px;
}

.formlogin .tf_s {
    width: 45%;
}

.formlogin .btnbox {
    padding: 10px 0 0;
    display: block;
    text-align: center;
}

.swal2-popup .formbox {
    padding: 0;
}

.swal2-popup .formbox .tbar>label {
    padding: 5px 0;
}

.swal2-popup .formbox .tbar b {
    font-size: var(--font-size16);
    width: 160px;
    font-weight: bold;
}

.swal2-popup .formbox .tbar .tf {
    font-size: var(--font-size16);
    line-height: 1.2;
}

.swal2-popup .formbox .tbar select.seltype {
    width: 100%;
}

.swal2-popup .tf_s {
    width: 70%;
    margin: 0;
}

.formhd {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 0 0 50px;
}

.formhd h3.title {
    font-size: var(--font-size40);
    border-bottom: 4px solid #d7092f;
}

.imgbox {
    padding: 30px 0 20px;
}

.imgbox img {
    border-radius: 10px;
    overflow: hidden;
    max-height: 200px;
}

.plus {
    width: 100%;
    position: relative;
    margin: 20px 0 0;
}

.plus a {
    padding: 8px;
    width: 100%;
    background: #333;
    border-radius: 50px;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1.2;
}

.plus a .icon {
    margin: 0 0 0 10px;
}

.plus a:hover {
    background: #111;
}

.filtermore {
    padding: 15px 0 0;
    display: none;
}

.tf_cont .plus {
    margin: 2px 0 0;
}

.tf_cont .plus a {
    border-radius: 10px;
}

.addarea {
    padding: 3px 0 0;
}

.addarea span {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 0 3px;
}

.addarea span .tf {
    flex: 1;
}

.addarea span .icon {
    margin: 0 5px;
}

.tf_ss {
    width: 47%;
}

.ckratype.ckratype2 {
    position: relative;
    padding: 0 0 0 0;
    margin: 0 2px 2px 0;
}

.ckratype.ckratype2 span {
    border-radius: 0;
    width: 52px;
    height: 30px;
    margin: 0;
    top: 0;
    border-radius: 3px;
}

.ckratype.ckratype2 i {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: var(--font-size15);
    line-height: 1;
}

.ckratype.ckratype2 span:after {
    top: 1px;
    right: 1px;
    bottom: 1px;
    left: 1px;
}

.ckratype.ckratype2 input:checked+span:after {
    border-radius: 3px;
    background: #b81d23;
}

.ckratype.ckratype2 input:checked+span+i {
    color: #fff;
}

.data_cont {
    display: none;
}

.redbox02 {
    border-radius: 0;
    padding-top: 150px;
}

.mvlist {
    padding: 20px 0 0;
}

.mvlist ul {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
}

.mvlist li {
    width: 32%;
}

.mvimg img {
    max-width: 100%;
    border-radius: 20px;
    overflow: hidden;
}

.mvtxt {
    padding: 15px 5px 30px;
}

.mvtxt h3.title {
    font-size: var(--font-size22);
}

.mvtxt p {
    font-size: var(--font-size18);
    padding: 8px 0 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    text-overflow: ellipsis;
}

.bigpop {
    width: 50em !important;
}

.bigpop .rwdbox {
    padding-bottom: 50.25% !important;
}

.myul div a {
    word-break: break-all;
}

.listbox03 {
    max-width: 1200px;
    margin: 70px auto 20px;
}

.listbox03 ul {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.listbox03 li {
    flex: 1;
}

.listbox03 li a {
    color: #333;
    border: 1px solid #ddd;
    display: block;
    padding: 30px 20px 10px;
    border-radius: 50px;
    position: relative;
}

.listbox03 li a:after {
    display: none;
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    border: 5px solid #D7092F;
    border-radius: 50px;
}

.listbox03 .listimg {
    max-width: 180px;
    max-height: 180px;
    background: none;
    overflow: visible;
    margin: 0 auto;
}

.listbox03 .listtxt {
    padding: 20px 0 0;
}

.listbox03 li a:hover {
    border-color: transparent;
}

.listbox03 li:not(.disable) a:hover::after {
    display: block;
}

.listbox03 li.disable {
    opacity: .4;
}

.listbox03 li.disable a {
    cursor: not-allowed;
}

.score_btns {
    display: flex;
    gap: 10px;
    justify-content: space-between;
    padding: 0 0 5px;
}

.score_btns .btn {
    max-width: 150px;
}

.scorewrap {
    font-size: 16px;
}

.scorewrap * {
    font-size: initial;
}

.scorewrap header {
    background: #A6102C;
    border-radius: 0 0 30px 30px;
    padding: 15px 30px 15px;
    color: #fff;
    position: relative;
}

.scorewrap header a {
    color: #fff;
    text-decoration: underline;
}

.scorewrap header:after {
    content: '';
    position: absolute;
    right: 20px;
    bottom: 20px;
    background: url('../images/content/in_bg00.svg') no-repeat scroll left center;
    width: 203px;
    height: 24px;
}

.score_info ul {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.score_info li {
    display: flex;
    gap: 5px;
}

.scorewrap p {
    line-height: inherit;
    flex: 1;
}

.scorewrap #content {
    padding: 20px;
}

.score_list ul {
    display: flex;
    flex-direction: column;
}

.score_list li {
    border-bottom: 1px solid #ccc;
}

.score_list li label {
    display: block;
    position: relative;
    margin-right: 40px;
    padding: 6px 0 6px 10px;
}

.score_list li .ckratype {
    position: absolute;
    left: 100%;
    top: 7px;
    margin: 0 0 0 10px;
}

.score_list li:last-child {
    border: none;
}

.score_list li:hover {
    background: #eee;
}

.score_list li label.on {
    background: #A6102C;
    color: #fff;
}

.scorewrap .tablewrap {
    border-radius: 10px 10px 0 0;
}

.scorewrap .tablewrap th,
.scorewrap .tablewrap td {
    padding: 10px;
    border-left: 1px solid #fff;
    border-top: 1px solid #fff;
}

.scorewrap .tablewrap tr:first-child th:first-child {
    border-left-color: #D7092F;
}

.scorewrap .tablewrap td {
    border: 1px solid #ccc;
}

.scorewrap .tablewrap tr:first-child td {
    border-top-color: #fff;
}

.scorewrap .tablewrap td.td_list {
    padding: 0;
}

.scorewrap .tablewrap td b {
    font-weight: 700;
}

.freeze-table tr:nth-of-type(2) th {
    font-size: 12px
}

.freeze-table td.nowrap {
    white-space: nowrap;
}

.scorewrap .btnbox {
    display: flex;
    justify-content: flex-end;
    background: #333;
    padding: 20px;
    border-radius: 0 0 10px 10px;
    color: #fff;
}

.scorewrap .btnbox .btn {
    width: 250px;
    font-size: 25px;
    margin: 0;
}

.scorewrap .btnbox .btn:hover {
    animation-name: wobble-vertical;
    animation-duration: 1s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: 1;
}

input[type="radio"]:disabled {
    cursor: default;
}

.chartbox {
    max-width: 800px;
    margin: 0 auto;
    position: relative;
    min-height: 480px;
}

.chartbox canvas {
    min-width: 800px;
    height: auto !important;
}

.chartbox:before,
.chartbox:after {
    content: '';
    position: absolute;
    background: url('../images/content/in_bg03.svg') no-repeat scroll left top;
    width: 187px;
    height: 416px;
}

.chartbox:before {
    right: 100%;
    bottom: 0;
    transform: translateX(-60%);
}

.chartbox:after {
    left: 100%;
    top: 0;
    transform: translateX(60%);
}

.scorewrap .tabbox .tab_hd {
    padding: 0 0 10px;
}

.scorewrap .tabbox .tabcont {
    display: none;
}

.scorewrap .tabbox .tabcont.on {
    display: block;
}

#footer {
    background: #F9F9F9;
    position: relative;
}

#footer .hd {
    background: #333;
    color: #fff;
    padding: 36px 12px;
}

#footer .inbox {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

#footer .bd {
    background: #D7092F;
    text-align: center;
    color: #fff;
    font-size: var(--font-size15);
    padding: 12px 0;
}

#footer .bd em {
    display: block;
    padding: 4px 0;
}

#footer .btnbox {
    margin: 0;
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
    align-items: flex-end;
    text-align: center;
}

#footer .btnbox a {
    padding: 7px 20px;
    color: #fff;
    background: #D7092F;
    border-radius: 50px;
    margin: 5px 0;
    font-size: var(--font-size14);
}

#footer .btnbox a:hover {
    animation: inherit;
    background: #ca062b;
}

.f_logo {
    text-align: left;
}

.f_info {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-wrap: wrap;
    width: 810px;
    margin: 0 0 0 2%;
}

.f_info .p_box {
    margin: 0 10px 0 0;
}

.f_info .p_box p {
    width: 100%;
}

.f_info p {
    padding: 6px 12px 6px 30px;
    width: 54%;
    font-size: var(--font-size17);
    position: relative;
}

.f_info p em {
    font-size: 14px;
    display: block;
}

.f_info p a {
    color: #fff;
}

/* animation */
/*按鈕跳動*/
@keyframes wobble-vertical {
    16.65% {
        transform: translateY(8px);
    }

    33.3% {
        transform: translateY(-6px);
    }

    49.95% {
        transform: translateY(4px);
    }

    66.6% {
        transform: translateY(-2px);
    }

    83.25% {
        transform: translateY(1px);
    }

    100% {
        transform: translateY(0);
    }
}

/*翻轉*/
@keyframes flip-vertical-left {
    0% {
        -webkit-transform: rotateY(0);
        transform: rotateY(0);
    }

    100% {
        -webkit-transform: rotateY(-180deg);
        transform: rotateY(-180deg);
    }
}

@keyframes flip-vertical-right {
    0% {
        -webkit-transform: rotateY(-180deg);
        transform: rotateY(-180deg);
    }

    100% {
        -webkit-transform: rotateY(0deg);
        transform: rotateY(0deg);
    }
}

/*gotop進場*/
@keyframes slide-in-right {
    0% {
        -webkit-transform: translateY(1000px);
        transform: translateY(1000px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: 1;
    }
}

/*title*/
@keyframes tracking-in-expand {
    0% {
        letter-spacing: -0.5em;
        opacity: 0;
    }

    40% {
        opacity: 0.6;
    }

    100% {
        opacity: 1;
    }
}

/* owl */
.owl-carousel .owl-nav button {
    border-radius: 50%;
    width: 45px;
    height: 45px;
    background: #fff !important;
    border: 3px solid #BDBDBD !important;
    margin: 0 0 0 10px;
}

.owl-carousel .owl-nav button span {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 8px 15px 8px 0;
    border-color: transparent #BDBDBD transparent transparent;
    text-indent: -9999px;
    margin: 0 auto;
    transform: translateX(-3px);
}

.owl-carousel .owl-nav button:hover span {
    border-color: transparent #ffffff transparent transparent;
}

.owl-carousel .owl-nav button.owl-next {
    transform: scaleX(-1);
}

.owl-carousel .owl-nav button:hover {
    background: #D7092F !important;
    border: 3px solid #fff !important;
}

.owl-carousel .owl-dot {
    background: #fff !important;
    border: none;
    padding: 0px 0 !important;
    height: 14px;
    width: 14px;
    border-radius: 50%;
    color: #fff;
    margin: 0 5px;
}

.owl-carousel .owl-dots button.owl-dot.active {
    background: #D7092F !important;
}

.owl01 .owl-carousel {
    display: block !important;
}

.owl01 .owl-carousel .owl-item img {
    max-width: none !important;
    width: auto;
}

.owl01 .owl-carousel .owl-nav {
    position: absolute;
    right: 100px;
    bottom: 10px;
    text-align: center;
    z-index: 3;
}

.owl01 .owl-carousel .owl-dots {
    position: absolute;
    left: 0;
    bottom: 25px;
    width: 100%;
    text-align: center;
    background-color: inherit;
}

.owl02 .owl-carousel .owl-stage {
    padding: 0;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
}

.owl02 .owl-carousel .owl-stage,
.owl02 .owl-carousel .owl-item,
.owl02 .owl-carousel .item {
    display: flex;
    align-items: stretch;
}

.owl02 .owl-dots {
    text-align: center;
}

.owl02 .owl-carousel button.owl-dot {
    background: #C4C4C4 !important;
}

.owl03 .owl-carousel .owl-nav button.owl-next {
    position: absolute;
    bottom: 150px;
    right: -50px;
}

.owl03 .owl-carousel .owl-nav button.owl-prev {
    left: -50px;
    bottom: 150px;
    position: absolute;
    margin: 0;
}

.owl03 .owl-dots {
    text-align: center;
    padding: 10px 0 0;
}

.owl03 .owl-carousel .owl-dots button.owl-dot.active {
    background: #FFC238 !important;
}

/* swal */
.swal2-container.swal2-shown {
    background: rgba(0, 0, 0, .8) !important;
}

.swal2-popup.popout {
    box-shadow: 11px 11px 0px -1px #FFC238;
    border-radius: 20px;
    padding: 1.25em 2em;
}

.swal2-popup.popout .swal2-title {
    color: #D7092F;
    font-size: var(--font-size30);
    font-weight: 500;
    border-bottom: 4px solid #D7092F;
    padding: 0 0 5px;
}

.swal2-popup.popout #swal2-content {
    padding: 20px 0 40px;
}

.swal2-popup.popout .swal2-styled.swal2-confirm {
    background-color: #D7092F;
    border-radius: 50px;
    padding: 10px;
    font-size: var(--font-size20);
    width: 47%;
    flex: 1;
}

.swal2-popup.popout .swal2-styled:focus {
    box-shadow: none;
}

.swal2-popup.popout .swal2-actions {
    margin: 0;
}

.swal2-popup.popout .swal2-styled.swal2-cancel {
    border-radius: 50px;
    ;
    padding: 10px;
    font-size: var(--font-size20);
    width: 47%;
    flex: 1;
}

.swal2-popup.popout .Txt {
    font-size: var(--font-size20);
}

.swal2-popup.popout .Txt p {
    text-align: center;
}

.swal2-popup.popout .swal2-title {
    display: -webkit-box !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

/* 頁數 */
.pagerlist {
    text-align: center;
    padding: 65px 0 35px;
}

.page-item.first,
.page-item.last {
    display: none;
}

.page-item.next .page-link,
.page-item.prev .page-link {
    background: url("../images/content/i_pagearrow.svg") no-repeat scroll center;
    width: 50px;
    height: 50px;
    color: #fff;
    text-indent: -9999px;
}

.page-item.prev .page-link {
    -moz-transform: scaleX(-1);
    -webkit-transform: scaleX(-1);
    -o-transform: scaleX(-1);
    transform: scaleX(-1);
}

.page-item {
    display: inline-block;
}

.page-item.active .page-link,
.page-item.active .page-link:focus,
.page-item.active .page-link:hover {
    z-index: 2;
    background: #D7092F;
    color: #fff;
    border: 2px solid #D7092F;
}

.page-item.disabled .page-link,
.page-item.disabled .page-link:focus,
.page-item.disabled .page-link:hover {
    pointer-events: none;
    cursor: not-allowed;
    opacity: 0.3;
}

.page-link {
    position: relative;
    float: left;
    color: #BCBCBC;
    width: 50px;
    height: 50px;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    border-radius: 50px;
    border: 2px solid #BCBCBC;
    margin: 0 5px;
}

.page-link:hover {
    background: #D7092F;
    color: #fff;
    border: 2px solid #D7092F;
}

.prev .page-link:hover,
.next .page-link:hover {
    background: url("../images/content/i_pagearrow2.svg") no-repeat scroll center;
    width: 50px;
    height: 50px;
    text-indent: -9999px;
    z-index: 2;
}

.prev .page-link:hover {
    transform: scaleX(-1);
}

/*radio&checkbar樣式*/
select.seltype {
    background-color: #fff;
    border: 2px solid #ddd;
    border-radius: 10px;
    display: inline-block;
    font-size: var(--font-size15);
    line-height: 1.5em;
    padding: 0.5em 3.5em 0.5em .5em;
    margin: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-appearance: none;
    -moz-appearance: none;
}

select.seltype {
    background-image: linear-gradient(45deg, transparent 50%, gray 50%), linear-gradient(135deg, gray 50%, transparent 50%), linear-gradient(to right, #ccc, #ccc);
    background-position: calc(100% - 20px) calc(1em + 2px), calc(100% - 15px) calc(1em + 2px), calc(100% - 2.5em) 0.5em;
    background-size: 5px 5px, 5px 5px, 1px 1.5em;
    background-repeat: no-repeat;
}

select.seltype:focus {
    background-image: linear-gradient(45deg, green 50%, transparent 50%), linear-gradient(135deg, transparent 50%, green 50%), linear-gradient(to right, #ccc, #ccc);
    background-position: calc(100% - 15px) 0.9em, calc(100% - 20px) 0.9em, calc(100% - 2.5em) 0.5em;
    background-size: 5px 5px, 5px 5px, 1px 1.5em;
    background-repeat: no-repeat;
    border-color: #13A09C;
}

select:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #000;
}

.ckratype {
    font-weight: 300;
    position: relative;
    cursor: pointer;
    display: inline-block;
    vertical-align: middle;
}

.ckratype input,
.ckratype input:disabled {
    position: absolute;
    opacity: 0;
}

.ckratype span {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    background: none;
    border: 1px solid #65737f;
    vertical-align: middle;
    top: -2px;
    margin: 0 3px 0 0;
}

.ckratype span:hover {
    background: rgba(250, 250, 250, .15)
}

.ckratype span:after {
    content: "";
    position: absolute;
    top: 3px;
    right: 3px;
    bottom: 3px;
    left: 3px;
    background-color: #fff;
    opacity: 0;
    -webkit-transition: all .15s ease-out;
    transition: all .15s ease-out;
    -webkit-transform: scale(.5);
    transform: scale(.5);
}

.ckratype input:checked+span:after {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
    background-color: #eee;
}

.ckratype-default input:checked+span:after {
    background-color: #00FFFF;
}

.ratype span {
    webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
}

.ratype input:checked+span:after {
    background-color: #D7092F;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
}

.ckratype-danger input:checked+span:after {
    background-color: #de815c;
}

.ckratype-info input:checked+span:after {
    background-color: #5ccdde;
}

.ckratype-success input:checked+span:after {
    background-color: #afde5c;
}

.cktype input:checked+span:after {
    background-color: #D7092F;
}

.ckratype {
    margin: 7px 5px 7px 0;
}

.ckratype i {
    font-style: normal;
}

.ckratype .tf {
    opacity: 1;
    position: static;
    margin: 0 0 0 10px;
}

input:invalid,
textarea:invalid {
    background: #fff;
}

.redbox .listtype select.seltype {
    border: none;
    border-radius: 50px;
    padding: 0.5em 3.5em 0.5em 1em;
    font-size: var(--font-size18);
}

/* RWD iframe */
.rwdbox {
    position: relative;
    padding-bottom: 40.25%;
    padding-top: 25px;
    height: 0;
    width: 100%;
}

.rwdbox iframe,
.rwdbox object,
.rwdbox embed,
.rwdbox video,
.rwdbox audio {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.map {
    margin-bottom: -60px;
}

/* 動畫進場 */
.anibox {
    opacity: 0;
}

.come-in {
    opacity: 1;
    transform: translateY(50px);
    transform: translateY(0px)\9;
    animation: come-in 1.3s ease forwards;
}

.come-in:nth-child(odd) {
    animation-duration: 1.5s;
}

.already-visible {
    transform: translateY(0);
    animation: none;
}

@keyframes come-in {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@-webkit-keyframes fadeInRight {
    0% {
        opacity: 0;
        left: 20%;
    }

    100% {
        opacity: 1;
        left: 0;
    }
}

@keyframes fadeInRight {
    0% {
        opacity: 0;
        left: 20%;
    }

    100% {
        opacity: 1;
        left: 0;
    }
}

@media(max-width:1800px) {
    .gopath .inbox {
        max-width: 95%;
    }

}

@media(max-width:1700px) {
    .in_bg11 {
        overflow: hidden;
        right: -42px;
    }

    .inbox,
    .redbox .hdbox {
        max-width: 90%;
    }

    .bg_white .brntitle h2.title {
        left: 65px;
    }

    .whitebox03 .bg_box .bg_03 img {
        width: 100%;
    }

    .whitebox03 .bg_box02 .bg_03_1 img {
        width: 100%;
    }
}

@media(max-width:1500px) {
    .tabcont span {
        left: 140px;
    }

    .tabcont li a {
        padding: 40px 52px 40px 290px;
    }

    .txtbox02 .hd {
        padding: 0 0 35px;
    }

    .txtbox02 .bd {
        padding: 45px 0 0 0;
    }

    .txtbox02 .img {
        padding: 0 0 35px;
    }

    .txtbox02 .info_box .btnbox .btn {
        margin: 0 auto 0;
    }

    .box02 {
        padding: 0 0 0 1%;
    }

    .btn .icon.i_arrow {
        width: 10%;
    }

    .in_bg04 {
        right: -90px;
        top: 924px;
        overflow: hidden;
    }

    .sp_box .btnbox .btn {
        padding: 13px 0px;
    }

    .gopath span:first-child {
        margin: -2px -6px 0px 0;
    }

    .qabox ul li.open h3.title {
        padding: 30px 0;
    }

    .qabox ul li.open .answer {
        padding: 25px 0;
    }

    .t_box:after {
        display: none;
    }

    .whitebox03 .hd h3.title:after {
        display: none;
    }
}

@media(max-width:1440px) {
    .inbox {
        max-width: 87%;
    }

    .redbox .hdbox {
        width: 92%;
    }

    .bg_white .brntitle h2.title:after {
        height: 340px;
    }

    .whitebox03 .bg_box .bg_03 {
        width: 250px;
    }

    .whitebox03 .bg_box02 .bg_03_1 {
        width: 350px;
        right: -70px;
    }
}

@media(max-width:1440px) and (max-height:700px) {
    .bg_white .brntitle h2.title:after {
        height: 240px;
    }
}

@media(max-width:1360px) {
    .b_title {
        height: 320px;
        transform: scale(.9);
        transform-origin: left bottom;
    }

    .s_title {
        margin: 0 0 0 10%;
    }

    .bnimg {
        margin: 0 0 0 2%;
    }

    .listbox li,
    .listbox02 li {
        width: 95%;
    }

    .listtxt {
        padding: 20px 30px 40px;
    }

    .btn {
        letter-spacing: normal;
    }

    .back {
        padding: 25px 24px;
    }

    .tabcont li a {
        padding: 30px 52px 30px 290px;
    }

    .tabcont span {
        left: 155px;
        min-width: 115px;
    }

    .listtype .typeitems {
        padding: 0;
    }
}

@media(max-width:1250px) {
    .listimg {
        height: 350px;
    }

    .f_info p {
        width: 100%;
    }

    .f_info .p_box {
        width: 100%;
    }
}

@media(max-width:1200px) {
    :root {
        --font-size130: 120px;
        --font-size42: 39px;
        --font-size30: 26px;
        --font-size25: 22px;
        --font-size23: 20px;
        --font-size22: 19px;
        --font-size20: 18px;
        --font-size18: 16px;
        --font-size17: 15px;
        --font-size15: 13px;
    }

    .b_title {
        transform: scale(0.9);
        transform-origin: left bottom;
    }

    #footer .inbox {
        justify-content: center;
    }

    #footer .hd {
        padding: 30px 0 20px;
    }

    .listbox li {
        width: 95%;
    }

    .in_bg04 {
        right: -90px;
        top: 924px;
        overflow: hidden;
    }

    .f_logo img {
        width: 100%;
    }

    .f_info {
        margin: 0 3%;
    }

    .f_info p {
        padding: 6px 12px 6px 35px;
    }

    .f_info .icon {
        width: 25px;
        height: 25px;
    }

    .linkbox2 h3.title:after {
        top: 90px;
    }

    .linkbox2 .inbox {
        padding: 65px 0px 80px;
    }

    .linkbox2 .lbox:after {
        top: -125px;
    }

    .linkbox2 .lbox:before {
        top: -75px;
    }

    .sp_box .lbox {
        padding: 0 2% 0 0;
    }

    .toplinks li>a {
        padding: 7px 15px;
    }

    .mnav>ul>li>a {
        padding: 14px 15px;
    }

    .bnimg {
        height: 620px;
    }

    .owl01 .owl-carousel .owl-item img {
        width: 1250px;
    }

    .s_title p {
        font-size: var(--font-size18);
    }

    .btnbox .btn {
        font-size: var(--font-size18);
    }

    .f_info {
        flex: 1;
        width: auto;
    }

    .tab_hd {
        padding: 0 0 20px;
    }

    .imgtype:before {
        top: 10px;
        right: -10px;
    }

    /*threetypebox*/
    .linkbox a {
        width: 60px
    }

    .otbox_fb.on {
        transform: translateY(-345px);
    }

    .open .otbox_fb.on {
        transform: translateY(-150px);
    }

    .threetypebox,
    .othertypebox {
        font-size: var(--font-size18);
    }

    .typeitems span {
        padding: 5px 15px 5px 80px;
        min-height: 60px;
        margin: 5px 0 0;
    }

    .typeinfo li {
        padding: 10px;
        margin: 0 2% 0 0;
    }

    .typeinfo h3.title {
        border-radius: 20px;
    }

    .typeinfo h3.title {
        font-size: var(--font-size25);
    }

    .othertypebox .typeinfo {
        margin: 5px 0 0;
    }

    .othertypebox li .typeinfo .typeimg {
        width: 35%;
    }
}

@media(max-width:1100px) {
    .listtype .typeimg {
        width: 65%;
        margin: 0 auto;
    }

    .bg_white .bnrbox:before {
        bottom: -64px;
        left: 260px;
    }

    .mnav>ul>li>a {
        padding: 14px 12px;
    }

    .toplinks li>a {
        padding: 7px 12px;
    }

    .lrbox {
        padding: 85px 2% 85px;
    }

    #footer .inbox {
        flex-direction: column;
    }

    #footer .btnbox {
        width: 100%;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        padding: 20px 0 0;
    }

    #footer .btnbox a {
        width: auto;
        margin: 5px;
    }

    #calendar.cal01 {
        padding: 10px;
    }

    #calendar.cal01.fc .fc-button {
        padding: .2em .55em;
        line-height: 1;
    }

    /*threetypebox*/
    .threetypebox,
    .othertypebox {
        font-size: var(--font-size17);
    }

    .typeitems span {
        width: 215px;
        padding: 3px 10px 3px 60px;
        min-height: 50px;
    }

    .typeitems span em {
        width: 60px;
    }

    .typeinfo h3.title {
        margin: 30px 0 0;
    }

    .listimg {
        height: 320px;
    }

    .listtype .typeitems span {
        border-radius: 10px;
    }
}

@media(max-width:970px) {
    :root {
        --font-size130: 90px;
        --font-size42: 35px;
        --font-size30: 23px;
        --font-size25: 26px;
    }

    #header {
        position: fixed;
        background: #d7092f;
    }

    #header .bd .h_logo {
        border-radius: 0 0 50px 0;
        background-color: #d70a2e;
        padding: 7px 0 0 3%;
    }

    #header .h_logo a {
        display: block;
        width: 237px;
        height: 60px;
        background: url("../images/header/logo.svg") no-repeat scroll center;
        background-size: 100% auto;
    }

    #header .h_logo a img {
        display: none;
    }

    .owl01 .owl-carousel,
    .bnimg {
        height: auto;
    }

    .owl01 .owl-carousel .owl-item img {
        max-width: none !important;
        width: 100%;
    }

    .owl01 ul.owl-carousel {
        position: relative;
    }

    .owl01 ul.owl-carousel:after {
        content: "";
        position: absolute;
        background: linear-gradient(to top, rgba(0, 0, 0, 0.5) 70%, rgba(229, 229, 229, 0) 100%);
        width: 100%;
        height: 30%;
        top: auto;
        bottom: 0;
        border-radius: 50px 0 0 0px;
    }

    .owl01 .owl-carousel .owl-dots {
        z-index: 2;
        width: auto;
        left: auto;
        right: 150px;
    }

    .owl01 .owl-carousel .owl-nav {
        right: 3%;
    }

    .banner {
        padding-top: 75px;
    }

    .i_menu {
        width: 75px;
        height: 75px;
        background: none;
    }

    .i_menu span {
        width: 45px;
    }

    .i_menu span:nth-child(1) {
        top: 23px;
        left: 17px;
    }

    .i_menu span:nth-child(2),
    .i_menu span:nth-child(3) {
        top: 36px;
        left: 17px;
    }

    .i_menu span:nth-child(4) {
        top: 49px;
        left: 17px;
    }

    .toplinks {
        display: none;
    }

    .h_logo {
        width: 130px;
    }

    .h_logo img {
        width: 100%;
    }

    .bnrbox {
        flex-direction: column-reverse;
        align-items: stretch;
    }

    .brntitle {
        display: flex;
        justify-content: flex-end;
        position: relative;
        z-index: 2;
    }

    .b_title {
        transform: scale(0.70);
        height: 270px;
        width: 400px;
        transform-origin: left top;
        position: absolute;
        left: 0;
        top: -101px;
    }

    .s_title {
        margin: 25px 3% 0 340px;
        display: flex;
        align-items: center;
    }

    .s_title .btnbox .btn {
        margin: 0 0 0 10px;
        width: 150px;
        padding: 10px 0;
    }

    .s_title .btnbox .btn .icon {
        height: 20px;
    }

    .box02 .txtbox h2.title {
        font-size: var(--font-size25);
    }

    .box02 .hd h2.title:before {
        display: none;
    }

    .box02 .hd h2.title:after {
        bottom: 90px;
    }

    .s01 {
        left: 0;
    }

    .s02 {
        bottom: 0;
        left: -30px;
    }

    .bg_white .bnimg,
    .bnimg {
        flex: 1;
        width: 100%;
        border-radius: 0 0 0 50px;
        margin: 0;
    }

    .bnimg:after {
        width: 60%;
        height: 70px;
        top: auto;
        bottom: 0;
    }

    .bg_white .bnimg:after {
        height: 180px;
        width: 100%;
    }

    .in_bg01 img,
    .in_bg02 img,
    .in_bg03 img,
    .in_bg04 img,
    .in_bg05 img,
    .in_bg06 img,
    .in_bg07 img,
    .in_bg08 img,
    .in_bg09 img,
    .in_bg10 img,
    .in_bg11 img,
    .in_bg12 img {
        width: 100%;
    }

    .in_bg03 {
        width: 130px;
    }

    .in_bg04 {
        width: 150px;
        right: 0;
    }

    .in_bg06 {
        top: 215px;
    }

    .in_bg09 {
        display: none;
    }

    .in_bg11 {
        right: 0px;
        top: -238px;
        width: 130px;
    }

    .in_bg05 {
        left: 92px;
        top: 1690px;
    }

    .in_bg08 {
        width: 270px;
    }

    .imgtype {
        margin-bottom: 30px;
    }

    .imgtype:before {
        top: 7px;
        right: -7px;
    }

    .lrbox {
        padding: 45px 2% 85px;
    }

    .mnav {
        display: none;
    }

    /* 手機選單 */
    .phone_menu {
        display: block;
    }

    .phone_nav .hassub .subnav {
        background: #d7092f;
    }

    .phone_nav .mnav .subnav {
        display: none;
        overflow: hidden;
    }

    .phone_nav .mnav .subnav ul {
        border-radius: 0;
        background: transparent;
        height: auto;
        overflow: hidden;
        transition: none;
    }

    .phone_nav .mnav .subnav ul ul {
        display: none;
    }

    .i_menu.open span:nth-child(2) {
        width: 49px;
        left: 15px;
        top: 34px;
    }

    .i_menu.open span:nth-child(3) {
        width: 49px;
        left: 15px;
        top: 33px;
    }

    .mnav>ul>li.on:after,
    .mnav .subnav ul:after {
        display: none;
    }

    .mnav>ul>li.on {
        width: 100%;
    }

    .mnav .subnav a {
        color: #fff;
        padding: 8px 15px 8px 23px;
    }

    .mnav .subnav a:hover {
        color: #ffffff;
        background: #c2082a;
        width: 100%;
    }

    .mnav>ul>li.on:after {
        display: none;
    }

    .mnav .subnav a:hover::after {
        display: none;
    }

    .mnav .subnav>ul {
        padding: 8px 0;
    }

    .tab_hd a {
        width: 100%;
        text-align: center;
        margin: 0 22px 0 0;
    }

    .tabcont em {
        top: 24px;
        transform: none;
        font-size: var(--font-size18);
    }

    .tabcont span {
        padding: 2px 5px;
        left: 120px;
        top: 34px;
        min-width: 95px;
        text-align: center;
    }

    .tab_hd {
        padding: 0 0 10px;
    }

    .tab_hd ul {
        flex-grow: 1;
    }

    .tab_hd li {
        padding: 0 1% 0 0;
    }

    .tabcont li a {
        padding: 55px 52px 25px 0;
    }

    .tab_hd a {
        display: block;
        margin: 0;
        padding: 9px 20px;
        min-width: 100px;
    }

    .tabbox .tab_hd ul li {
        margin: 0 1% 0 0;
        flex: 1;
    }

    .tab_hd {
        padding: 0 0 15px;
    }

    .linkbox2 .inbox {
        flex-direction: column;
        padding: 65px 0px 40px;
        align-items: inherit;
    }

    .linkbox2 h3.title:after {
        top: 90px;
    }

    /*關於我們*/
    .bnimg li img {
        width: 100%;
        height: auto;
    }

    .bg_white .bnrbox {
        padding-bottom: 0;
    }

    .whitebox02 .lrbox {
        margin: -40px 0 0 0;
    }

    .whitebox02 .bnimg {
        flex: 6;
        box-shadow: 9px 9px 0px rgb(215 12 50);
    }

    .whitebox02 .imgtxt {
        bottom: 0;
        right: 5%;
        padding: 40px 50px;
    }

    .whitebox02 .imgtxt h2.title {
        font-size: var(--font-size35);
    }

    .whitebox02 .imgtxt h2.title:before {
        top: 42%;
        left: 100px;
        transform: scale(.75);
    }

    .whitebox02 .box01 h2.title {
        padding: 10px 0 0;
    }

    .whitebox02 .imgtxt h3.title {
        padding: 17px 0 20px 0;
    }

    .whitebox02 .box01 .hd {
        padding: 165px 0 70px;
    }

    .i_pathome {
        width: 20px;
    }

    .gopath {
        padding: 30px 0;
    }

    .gopath span {
        background-size: 8px auto;
        font-size: var(--font-size18);
    }

    .gopath .inbox {
        align-items: center;
    }

    .gopath span a {
        display: block;
    }

    .bg_white .bnrbox:before {
        bottom: -50px;
        left: 70px;
    }

    .bg_box .bg_03 {
        top: 400px;
    }

    .sp_box .btnbox {
        flex-direction: column;
    }

    .sp_box .btnbox .btn {
        width: 100%;
        margin: 20px 1% 0;
    }

    .sp_box .inbox {
        padding: 45px 70px;
    }

    .i_thumb {
        width: 140px;
        height: 140px;
    }

    .listbox02 .listimg {
        width: 200px;
        height: 200px;
    }

    .listbox02 .listtxt {
        padding: 108px 30px 30px;
        margin-top: 95px;
        border-radius: 55px 0 55px 0;
    }

    .listbox02 li {
        width: 82%;
    }

    .listtype .bd {
        border-radius: 30px;
    }

    .listtype ul {
        justify-content: space-between;
    }

    .listtype ul li {
        width: 49%;
        margin: 50px 0 0;
    }

    .listtype>h3.title {
        padding: 0 0 0 20px;
        font-size: var(--font-size25);
    }

    .l_btnbox {
        margin: 72px 0 0;
    }

    .fc .fc-toolbar-title {
        font-size: var(--font-size25) !important;
    }

    .bg_white .brntitle h2.title {
        left: 35px;
        top: auto;
        bottom: 25px;
        line-height: 1.2;
    }

    .bg_white .brntitle h2.title:after {
        height: 70px;
    }

    .formbox:not(.formlogin) .tbar>label {
        flex-direction: column;
    }

    .formbox:not(.formlogin) .tbar b {
        flex-direction: row-reverse;
        justify-content: flex-end;
    }

    .formbox:not(.formlogin) .tbar .tf_cont {
        margin: 8px 0 0 0;
        width: 100%;
    }

    .formbox .btnbox {
        padding: 35px 0 0;
    }

    .formbox .tbar b em {
        margin: 0 0 0 4px;
    }

    .formbox .tbar b small {
        position: absolute;
        left: 120px;
        display: block;
    }

    .formbox .btnbox button {
        margin: 15px 5px 0;
    }

    .formbox.forminfo .tbar>label {
        flex-direction: row
    }

    .formbox.forminfo .tbar .tf_cont {
        padding: 0;
        font-size: var(--font-size20);
    }

    .swal2-popup.popout {
        padding: 1.25em 1.4em;
        box-shadow: 7px 7px 0px -1px #ffc238;
    }

    .formborder {
        padding: 40px 0 0;
        margin: 20px 0 0;
    }

    .whitebox02 {
        padding: 40px 0 60px;
    }

    .whitebox03 {
        margin: 70px 0 0 0;
    }

    .whitebox03 .hd h3.title:after {
        display: none;
    }

    .whitebox03 .bg_box .bg_03 {
        top: 220px;
        width: 200px;
    }

    .whitebox03 .bg_box02 .bg_03_1 {
        width: 300px;
        right: -60px;
    }

    .info_box {
        padding: 30px 30px;
    }

    .tf_s {
        width: 100
    }

    .tablewrap table {
        width: 900px;
    }

    .tablewrap:before {
        content: "表格請往右滑 >";
        font-size: var(--font-size13);
        padding: 12px 20px;
        display: block;
        color: #aaa;
    }

    .listbox02 .listtxt {
        flex: 1;
    }

    .txtbox p {
        font-size: var(--font-size18);
    }

    .btn01:after {
        left: 1px;
        top: 1px;
    }

    .linkbox {
        right: -6px;
    }

    #footer .inbox {
        flex-direction: column;
    }

    .f_info {
        margin: 25px auto 0;
        justify-content: flex-start;
    }

    .f_info p {
        width: 100%;
        margin: 0 5px;
    }

    .btnbox .btn {
        padding: 10px 0 10px 0;
    }

    .qabox ul li {
        margin: 50px 0 30px 0;
        padding: 0 90px 0 20px;
    }

    .qabox h3.title i {
        right: 20px;
        top: 20px;
    }

    .qabox ul li h3.title {
        padding: 30px 0;
    }

    .redbox {
        padding: 55px 0;
    }

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

    .linkbox03 {
        width: 200px;
        text-align: right;
    }

    .txtbox02 .hd {
        align-items: flex-start;
    }

    .t_box h3 {
        flex-grow: 1;
    }

    .formbox.forminfo .tbar .tf_cont>p {
        word-break: break-all;
    }

    .phone_nav {
        position: fixed;
        display: flex;
        align-items: stretch;
        right: 0;
        top: 0px;
        bottom: 0;
        width: 440px;
        transform: translateX(450px);
        border-radius: 50px 0 0 50px;
    }

    .f_info p {
        padding: 6px 0 6px 45px;
    }

    .f_info p:nth-of-type(even) {
        width: 100%;
    }
}

@media(max-width:910px) {
    .sp_box {
        padding: 25px 0 0;
    }

    .whitebox {
        padding: 0 0 15px 0;
    }

    .in_bg05 {
        top: 1750px;
    }

    .whitebox02 .box01 {
        padding: 105px 0px 60px;
    }

    .whitebox02 .box01 .hd {
        padding: 115px 0 35px;
    }

    .bg_box .bg_03_1 {
        top: 590px;
        right: -110px;
    }

    .whitebox03 .bg_box .bg_03_1 {
        width: 300px;
        right: -60px;
        top: 280px;
    }

    .owl03 .owl-carousel .owl-nav button.owl-prev {
        left: -30px;
    }

    .owl03 .owl-carousel .owl-nav button.owl-next {
        right: -30px;
    }

    .box02 .hd h2.title:after {
        bottom: 100px;
        height: 67%;
    }

    .threetypebox {
        flex-direction: column;
    }

    .threetype_hd {
        padding: 0 0 5px 55px;
        position: relative;
    }

    .s_arr {
        position: absolute;
        left: 1px;
        top: 0;
        height: 90%;
        width: 42px;
        padding: 17px 12px 0;
        border-radius: 5px;
        margin: 0;
    }

    .s_arr i {
        transform: rotate(45deg) scale(0.6) !important;
        left: 21px !important;
        right: auto;
        transform-origin: left top;
    }

    .s_arr i:first-child {
        top: -22px;
    }

    .s_arr i:last-child {
        bottom: -26px;
    }

    .typeitems {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .typeitems span {
        width: 33%;
        margin: 0 0 5px;
    }

    .typeitems span:after {
        display: none;
    }

    .threetype_bd {
        flex-direction: column;
    }

    .threetype_bd .typeinfo {
        flex-direction: column;
    }

    .threetype_bd .typeinfo>li>a {
        flex-direction: row;
    }

    .threetype_bd .typeinfo .typeimg {
        width: 35%;
    }

    .threetype_bd .typeinfo h3.title {
        font-size: var(--font-size30);
    }

    .col2,
    .col1 {
        padding: 0 0 0 55px;
        position: relative;
    }

    .col2 li {
        position: relative;
    }

    .col2>ul:first-child {
        position: absolute;
        left: 0;
        top: 0;
        height: 100%;
        width: 40px;
        flex-direction: column;
        margin: 0;
    }

    .col2 .s_arr,
    .col1 .s_arr {
        transform: translateX(0px);
    }

    .type1 .s_arr {
        height: 100%;
    }

    .type2 .s_arr {
        height: 81%;
        top: 9%;
    }

    .type3 .s_arr {
        height: 90%;
    }

    .typeinfo li {
        margin: 0 0 10px;
    }

    .typeinfo h3.title {
        margin: 0;
    }

    .typeinfo li h3.title:before,
    .typeinfo li h3.title:after {
        display: none;
    }

    .othertypebox li {
        flex-direction: column;
        padding: 0 0 10px;
    }

    .othertypebox li .typeitems {
        padding: 0;
    }

    .othertypebox .typeitems span {
        width: 100%;
    }

    .typetitle {
        font-size: var(--font-size20);
    }

    .sc_hd {
        flex-direction: column-reverse;
        justify-content: center;
        align-items: flex-start;
    }

    .sc_hd .r {
        padding: 0 0 15px;
        justify-content: space-between;
        width: 100%;
    }

    .sc_hd .r h2.title {
        font-size: var(--font-size30);
    }

    .context {
        white-space: normal !important;
        font-size: 13px;
        overflow: visible !important;
    }

    .context em {
        display: block !important;
    }

    div.timeline-groups-text {
        width: 85px !important;
    }

    div.timeline-event-content {
        overflow: visible !important;
    }

    .listbox03 .listimg {
        max-width: 120px;
        max-height: 120px;
    }
}

@media(max-width:850px) {
    :root {
        --font-size130: 70px;
        --font-size42: 40px;
    }

    .box02 {
        padding: 0 0 0 1%;
    }

    .box02 .hd h2.title {
        padding: 0;
    }

    .box02 .hd h2.title:before {
        bottom: -3px;
    }

    .in_bg08 {
        bottom: -130px;
        z-index: -1;
        left: 519px
    }

    .in_bg03 {
        left: -40px;
        top: 780px;
    }

    .in_bg06 {
        left: 22px;
    }

    .bg_white .bnrbox:before {
        transform: scale(.7);
        transform-origin: left center;
    }

    .bg_white .bnimg:after {
        height: 160px;
    }

    .whitebox02 .imgtxt {
        bottom: -110px;
        padding: 38px 43px;
    }

    .bg_box .bg_02 {
        width: 20px;
        top: 10px;
    }

    .bg_box .bg_03 {
        width: 200px;
        top: 400px;
        left: -30px;
    }

    .bg_box .bg_03_1 {
        width: 300px;
        top: 500px;
    }

    .bg_02 img,
    .bg_03 img,
    .bg_03_1 img {
        width: 100%;
    }

    .owl01 .owl-carousel .owl-dots {
        display: none;
    }

    .search {
        width: 250px;
    }
}


@media(max-width:750px) {
    :root {
        --font-size25: 21px;
    }

    .formbox .btnbox {
        padding: 15px 0 0 0;
        justify-content: center;
    }

    .listtype>h3.title {
        font-size: var(--font-size30);
    }

    .listtype .typeinfo h3.title {
        font-size: var(--font-size23);
    }

    .lrbox {
        padding: 25px 4% 55px;
        flex-direction: column;
    }

    .lrbox .lbox {
        padding: 0;
        flex: 1;
    }

    .lrbox .rbox {
        flex: 1;
        padding: 20px 0 0;
    }

    .box02 {
        padding: 0;
    }

    .box02 .hd h2.title:after {
        display: none;
    }

    .box02 .btnbox .btn {
        margin: 0 auto;
    }

    .imgtype:before {
        display: none;
    }

    .listbox02 .listimg {
        width: 180px;
        height: 180px;
    }

    .listbox02 .listtxt {
        margin-top: 85px;
    }

    .f_info {
        flex-direction: column;
    }

    .tab_hd a {
        padding: 12px 15px;
    }

    .hdbox,
    .tab_hd {
        position: relative;
    }

    .search {
        right: 0;
        width: 115px;
        padding: 6px 0 6px 50px;
        overflow: hidden;
    }

    .search label {
        display: block;
    }

    .search .i_search {
        left: 12px;
        width: 26px;
        height: 26px;
    }

    .search input {
        width: 0px;
    }

    .search button {
        min-width: 70px;
    }

    .search.on {
        width: 300px;
        padding-right: 80px;
        box-shadow: 2px 2px 5px rgba(0, 0, 0, .2);
    }

    .search.on input {
        width: 100%;
    }

    .tab_hd .search {
        top: -1px;
    }

    .whitebox02 .bnimg:after {
        display: none;
    }

    .mvlist li {
        width: 48%;
    }
}

@media(max-width:650px) {
    :root {
        --font-size35: 30px;
    }

    .info_box {
        flex-direction: column;
    }

    .info_box .btnbox {
        margin: 30px 0 0;
        width: 100%;
    }

    .txtbox02 .info_box .btnbox .btn {
        max-width: 100%;
    }

    .b_title {
        transform: scale(0.55);
        top: -135px;
    }

    .s_title {
        flex-direction: row;
        ustify-content: space-around;
        width: 92%;
        margin: 25px auto 0;
    }

    .in_bg01 {
        top: 342px;
        width: 20%;
    }

    .in_bg02 {
        width: 35%;
    }

    .in_bg03 {
        top: 740px;
        width: 104px;
        z-index: -1;
    }

    .in_bg04 {
        width: 140px;
        top: 735px;
        right: -40px;
    }

    .in_bg05 {
        top: 1735px;
        width: 18px;
    }

    .in_bg06 {
        left: 22px;
        top: 163px;
        transform: scale(.8);
    }

    .in_bg07 {
        top: 25px;
        right: 14px;
        transform: scale(.8);
    }

    .in_bg11 {
        top: -158px;
        width: 96px;
    }

    .sp_box {
        padding: 30px 0 0;
    }

    .sp_box .inbox {
        flex-direction: column;
        padding: 15px 40px 35px;
        align-items: center;
    }

    .sp_box .txtbox h2.title {
        text-align: center;
    }

    .whitebox02 .box01 {
        padding: 15px 0px 40px;
    }

    .whitebox02 .imgtxt h3.title {
        padding: 13px 0;
    }

    .whitebox02 .bnimg {
        height: auto;
        box-shadow: 9px 9px 0px rgb(215 12 50);
        border-radius: 0 30px 30px 0;
    }

    .whitebox02 .bnimg:after {
        display: none;
    }

    .whitebox02 .imgtxt {
        position: static;
        border-radius: 0;
        bottom: 0;
        right: 110px;
        width: 100%;
        background: none;
        margin: 0;
        padding: 18px 20px 0;
    }

    .bg_box .bg_02 {
        right: 27px;
    }

    .bg_box .bg_03 {
        width: 190px;
        top: 460px;
        left: -110px;
    }

    .bg_box .bg_03_1 {
        right: -60px;
        width: 280px;
        top: 650px;
    }

    .whitebox03 .bg_box .bg_03_1 {
        width: 230px;
    }

    .txtbox02 .hd {
        flex-direction: column;
        padding: 0 0 5px;
    }

    .linkbox03 {
        width: 100%;
        padding: 23px 0 0 0;
        text-align: left;
    }

    .whitebox02 .bg_box .bg_02 {
        right: 10px;
        top: 240px;
    }

    .formborder {
        margin: 20px 0 0;
    }

    .typeinfo h3.title {
        font-size: var(--font-size23);
    }

    .threetype_bd .typeinfo h3.title {
        font-size: var(--font-size25);
    }

    .typeitems span {
        width: 49%;
    }

    .othertypebox .typeitems span {
        font-size: var(--font-size22);
    }

    .othertypebox .typeinfo .btn {
        min-width: 60px;
        padding: 5px;
        margin: 10px 2px 0;
    }

    .typeinfo h3.title span a {
        font-size: var(--font-size17);
    }

    .listtype .typeinfo h3.title {
        padding: 15px;
    }

    .whitebox03 .hd h3.title {
        font-size: var(--font-size40);
    }

    .loginbox {
        margin: 0 5%;
        max-width: 90%;
        padding: 15px;
    }

    .txtrow2,
    .txtcopy {
        flex-direction: column;
    }

    .txtrow2 .intxt {
        width: auto;
    }

    .txtcopy {
        padding: 15px 25px;
    }

    .txtcopy ul {
        max-width: none;
        padding: 10px 0 !important;
    }

    .listimg {
        height: 280px;
    }

    .listbox03 ul {
        flex-direction: column;
    }
}

@media(max-width:590px) {
    .listimg {
        height: 515px;
    }
}

@media(max-width:550px) {
    :root {
        --font-size20: 17px;
        --font-size25: 22px;
    }

    .gopath {
        padding: 15px 0;
    }

    .bg_white .brntitle h2.title:after {
        height: 47px;
    }

    .box01 .hd {
        padding: 110px 0 0px 0;
    }

    .box02 .hd {
        padding: 0 0 25px 0;
    }

    .in_bg05 {
        top: 1805px;
    }

    .in_bg06 {
        left: -5px;
        top: 44px;
        transform: scale(0.6);
    }

    .bg_box .bg_02 {
        right: 50px;
        top: 300px;
        width: 12px;
    }

    .whitebox03 .bg_box .bg_03 {
        top: 260px;
        left: -130px;
    }

    .whitebox03 .bg_box .bg_03_1 {
        right: -110px;
        top: 352px;
    }

    .whitebox02 .bg_box .bg_03_1 {
        top: 490px;
        right: -140px;
    }

    .bg_white .bnrbox:before {
        display: none;
    }

    .txtbox02 {
        padding-bottom: 0;
    }

    .txtbox02 .hd {
        padding: 0 0 5px;
    }

    .whitebox02 .bnimg {
        box-shadow: 7px 7px 0px rgb(215 12 50);
        width: 99%;
    }

    .whitebox02 .box01:after {
        border-radius: 0 0 30px 30px;
        height: 36%;
        bottom: 2px;
    }

    .Txt p {
        font-size: var(--font-size20);
        line-height: 1.8;
    }

    .typeitems span em {
        font-size: var(--font-size17);
        width: 45px;
    }

    .typeitems span {
        padding: 3px 10px 3px 50px;
    }

    .listtype .typeitems span {
        padding: 10px 10px 10px 45px;
    }

    .l_btnbox {
        margin: 22px 0 0;
    }

    .l_btnbox a {
        font-size: 15px;
    }

    .listbox {
        padding: 0 0 15px 0;
    }

    .linkbox2 {
        margin: 50px 0 0;
        border-radius: 35px 35px 0 0;
    }

    .linkbox2 .inbox {
        padding: 45px 0px 40px;
    }

    .linkbox2 h3.title:after {
        top: 43px;
        left: 115px;
        transform: scale(.7);
    }

    .linkbox2 .lbox:before {
        top: -46px;
        height: 40px;
    }

    .linkbox2 .lbox:after {
        top: -82px;
        height: 40px;
    }

    .pagerlist {
        padding: 35px 0 0;
    }

    .page-link {
        margin: 0 11px 0 0;
        width: 40px;
        height: 40px;
    }

    .page-item.next .page-link,
    .page-item.prev .page-link {
        width: 40px;
        height: 40px;
    }

    .btn07,
    .btn08 {
        padding: 8px 20px;
    }

    .t_box em {
        padding: 0 10px 0 0;
    }

    .t_box span a {
        padding: 5px 10px;
        min-width: auto;
    }

    .t_box h3 {
        font-size: var(--font-size35);
    }

    .tf_s {
        width: 100%;
    }

    .redbox {
        padding: 45px 0;
    }

    .tab_hd,
    .redbox .hdbox {
        flex-direction: column-reverse;
        align-items: flex-start;
    }

    .tab_hd a {
        padding: 7px 15px;
        font-size: 18px;
    }

    .tab_hd ul {
        width: 100%;
        overflow: auto;
    }

    .search {
        position: relative;
        width: 100%;
        top: auto;
        padding-right: 80px;
        margin: 0 auto 30px;
    }

    .search button {
        min-width: 100px;
    }

    .search input {
        width: 100%;
    }

    .phone_nav .mnav ul li a {
        font-size: var(--font-size20);
    }

    .phone_nav .mnav .subnav ul ul li a {
        font-size: var(--font-size18);
    }

    .swal2-popup {
        max-width: 90% !important;
    }

    .formborder {
        margin: 60px 0 0;
    }

    .info_box {
        margin: 35px 0 12px;
    }

    .info_box:before {
        left: 8px;
        top: 8px;
    }

    .lrbox {
        padding: 60px 4% 55px;
    }

    .imgtype img {
        border-radius: 20px;
    }

    .formbox .btnbox {
        justify-content: space-between;
    }

    .formbox .btnbox button {
        margin: 15px 5px 0;
        width: 55%;
    }

    .rwdbox {
        padding-bottom: 70%;
    }

    .txtcopy {
        font-size: var(--font-size20);
    }

    .listimg {
        height: 475px;
    }

}


@media(max-width:475px) {
    :root {
        --font-size130: 50px;
        --font-size23: 19px;
        --font-size42: 25px;
        --font-size40: 37px;
    }

    .s_title {
        margin: 25px auto 0;
    }

    .box01 {
        padding: 30px 0px 40px;
    }

    .box01 .btnbox .btn {
        max-width: 92%;
    }

    .box01 .hd h2.title:after {
        height: 73px;
    }

    .box01 .hd2:after {
        height: 45px;
    }

    .box01 .hd {
        padding: 75px 0 0px 0;
    }

    .box02 {
        padding: 0 0px 40px;
    }

    .box02 .hd {
        padding: 0 0 20px 0;
    }

    .box02 .btnbox .btn {
        max-width: 100%;
    }

    .listbox02 {
        padding: 0 30px;
    }

    .listbox02 li {
        width: 93%;
    }

    .formbox.forminfo .tbar>label {
        flex-direction: column;
    }

    .formbox.forminfo .tbar .tf_cont {
        margin: 5px 0 0 0;
    }

    .formbox.forminfo .tbar {
        border-bottom: 1px solid #d5d5d5;
    }

    .bg_white .bnimg:after {
        height: 120px;
    }

    .page-link {
        margin: 0 9px 0 0;
        width: 35px;
        height: 35px;
        line-height: 1.9;
        font-size: var(--font-size18);
    }

    .page-item.next .page-link,
    .page-item.prev .page-link {
        width: 35px;
        height: 35px;
    }

    .qabox ul li {
        margin: 35px 0 30px 0;
    }

    .qabox ul li.open {
        padding: 0 28px 0 20px;
    }

    .qabox ul li p {
        font-size: var(--font-size20);
    }

    .qabox ul li h3.title {
        font-size: var(--font-size23);
        padding: 22px 0;
    }

    .qabox ul li.open h3.title {
        padding: 22px 40px 14px 0;
    }

    .qabox h3.title i {
        height: 30px;
        width: 30px;
        right: 22px;
        top: 17px;
    }

    .qabox ul li.open .answer {
        padding: 17px 0;
    }

    .qabox ul li>p {
        top: -37px;
        left: -3px;
        padding: 7px 27px 54px;
        font-size: var(--font-size17);
    }

    .qabox ul li:before {
        top: 9px;
        left: 9px;
    }

    .othertypebox .typeinfo .btn {
        min-width: 55px
    }

    .typeitems span {
        padding: 3px 10px 3px 40px;
    }

    .listtype ul {
        flex-direction: column;
    }

    .listtype ul li {
        width: 100%;
    }

    .owl-carousel .owl-nav button {
        width: 30px;
        height: 30px;
    }

    .owl01 .owl-carousel .owl-dots {
        right: 100px;
    }

    .owl01 .owl-carousel .owl-nav {
        right: 3%;
        bottom: 0px;
    }

    .owl01 .owl-carousel .owl-dots {
        bottom: 17px;
    }

    .whitebox02 .imgtxt h3.title i {
        padding: 0;
        display: block;
    }

    .whitebox02 .imgtxt h3.title {
        padding: 5px 0 18px;
    }

    .whitebox02 .imgtxt h2.title:before {
        top: 38%;
        left: 90px;
        transform: scale(.65);
    }

    .whitebox03 .hd {
        align-items: flex-start;
        flex-direction: column;
    }

    .whitebox03 .hd h3.title {
        font-size: var(--font-size40);
        padding: 20px 0 0;
    }

    .listtype .typeitems {
        padding: 0;
    }

    .formhd {
        padding: 0 0 15px;
    }

    .formhd h3.title {
        font-size: var(--font-size30);
    }

    .formborder {
        padding: 25px 0 0;
        margin: 40px 0 0;
    }

    .in_bg05 {
        top: 1678px;
    }

    .listbox li {
        width: 99%;
    }

    .search {
        margin: 0 auto 20px;
    }

    .listtype .bd {
        margin: 10px 0 0;
    }

    .listtype .bd:after {
        top: -26px;
    }

    .listtype .bd:before {
        height: 23px;
    }

    .mvlist li {
        width: 100%;
    }

    .listimg {
        height: 425px;
    }
}

@media(max-width:420px) {
    :root {

        --font-size18: 16px;
    }

    .b_title {
        transform: scale(0.4);
        top: -98px;
    }

    .s_title {
        bottom: -20px;
    }

    .bg_white .brntitle h2.title:after {
        display: none;
    }

    .txtbox02 .hd {
        padding: 0 0 5px;
    }

    .txtbox02 .bd {
        padding: 25px 0 0 0;
    }

    .txtbox02 .Txt {
        padding: 15px 0 0 0;
    }

    .threetype_bd .typeinfo h3.title {
        font-size: var(--font-size20);
    }

    .typeinfo h3.title {
        font-size: var(--font-size20);
    }

    .othertypebox .typeinfo .btn {
        min-width: 50px;
    }

    .typeinfo h3.title span a {
        font-size: var(--font-size13);
    }

    .gopath .inbox {
        justify-content: flex-start;
        position: relative;
        z-index: 2;
    }

    .phone_nav.open {
        padding: 0 0 0 145px;
    }

    .listimg {
        height: 375px;
    }
}


@media(max-width:390px) {
    .listimg {
        height: 350px;
    }
}

@media(max-width:375px) {
    .listimg {
        height: 335px;
    }
}

@media(max-height:800px) and (min-width:1200px) {

    .owl01 .owl-carousel,
    .bnimg {
        height: 650px;
    }

    .b_title {
        transform: scale(0.9);
        transform-origin: left bottom;
    }
}

@media(max-height:700px) and (min-width:1200px) {

    .owl01 .owl-carousel,
    .bnimg {
        height: 553px;
    }

    .b_title {
        transform: scale(0.7);
        transform-origin: left bottom;
    }
}

/*0221補充*/
@media(max-width:1600px) {
    .inbox {
        max-width: 92%;
    }

    #footer .inbox {
        max-width: 96%;
    }
}