.index-banner {
    position: relative;
    background: #F6F5FB;
    text-align: center;
    width: 100%;
    /*height: 40vh;*/
    padding: 0;
}

.index-banner > .container {
    /*height: 100%;*/
    padding: 2rem 0;
}

.index-banner-title {
    /*font-size: 60px;*/
    font-size: 5rem;
    color: #05004E;
	font-weight: bold;
}
@media (max-width: 768px) {
  .index-banner-title {
    font-size: 50px !important;
    margin-top: -10px !important;     /* 頂部空間縮小 */
    margin-bottom: 8px !important;/* 標題與副標之間縮窄 */
  }
  .index-banner-content {
    font-size: 24px !important;
    margin-top: 0 !important;     /* 頂部空間縮小 */
    margin-bottom: 0 !important;  /* 底部空間縮小 */
  }
}
.index-banner-content {
    /*font-size: 18px;*/
    font-size: 1.5rem;
}

.index-banner-button {
    width: 70%;
    color: white;
    margin: 3rem auto 0 auto;
}

.index-banner a {
    font-size: 25px;
    color: white;
    padding: 1rem 3rem;
    border-radius: .8rem;
    border: none;
    flex: 1;
    margin: 0 0.2rem;
}

.index-banner-pattern {
    position: absolute;
}

.index-banner-man-1 {
    width: 9rem;
    left: 0;
    top: 11.2rem;
}

.index-banner-man-2 {
    width: 11rem;
    right: 0;
    bottom: -0.8rem;
}

.index-banner-man-3 {
    width: 17rem;
    bottom: -1rem;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
}

.index-quotes {
    text-align: center;
}

.index-quotes-title {
    /*font-size: 40px;*/
    font-size: 3.3rem;
    color: #05004E;
    margin: 1.5rem 0;

}

.index-quotes-title > .subtitle {
    color: #FF0000;
}

.index-quote-box {
    display: none;
    flex-direction: row;
    width: 60%;
    margin: auto;
}

.index-quote {
    flex: 1;
    text-align: left;
    /*font-size: 15px;*/
    font-size: 1.3rem;
    background: #F6F5FB;
    margin: 0.5rem;
    padding: 2rem;
    border-radius: 1rem;
}

.index-quote-icon {
    width: 3.2rem;
}

.index-quote-title {
    color: #05004E;
    font-size: 1.85rem;
}

.index-quote-content {
    /*font-size: 15px;*/
    font-size: 1.3rem;
    margin: 1rem 0;
}

.index-quote-source {
    float: right;
    /*font-size: 15px;*/
    font-size: 1.3rem;
    margin-top: 1rem;
}

.index-quote-page {
    margin: 1rem 0;
}

.index-quote-page button {
    border: none;
    background: none;
}

.index-quote-page img {
    width: 1rem;
}

.index-services-title {
    background: #05004E;
    color: white;
    text-align: center;
    /*font-size: 40px;*/
    font-size: 3.3rem;
    padding: 4rem 0;
}

.index-service-box {
    display: flex;
    width: 55%;
    margin: 6rem auto 0 auto;
    flex-direction: row;
    background: white;
}

.index-service {
    /*float: left;*/
    flex: 1;
    /*padding: 0 12px;*/
    padding: 0 1rem;
    /*font-size: 16px;*/
    font-size: 1.3rem;
    text-align: center;
    color: black;
}

.index-service a{
    color: #05004E;
}

.index-service-img {
    height: 100%;
    width: 100%;
    padding: 1rem;
}

.index-service-img > img {
    padding: auto;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.index-service-title, .index-service-title * {
    /*font-size: 22px;*/
    font-size: 1.8rem;
}

.index-news {
    position: relative;
    /*height: 40rem;*/
    padding: 0;
    margin: 4rem 0;
}

.index-news-box {
    background: #05004E;
    width: 85%;
    margin: auto;
    text-align: center;
    padding: 4rem;
    /*height: 30rem;*/
    z-index: 0;
    /*position: absolute;*/
    /*top: 0;*/
    /*left: 0;*/
    /*right: 0;*/
}

.index-news-title .subtitle {
	text-decoration: underline;
}


.index-news-title {
    font-size: 40px;
    font-size: 3.3rem;
    color: white;
    padding: 1rem;
}

.index-news-content {
    /*width: ;*/
    /*font-size: 20px;*/
    font-size: 1.6rem;
    color: white;
    margin: 1rem 0;
}

.index-news-offers-box {
    width: 80%;
    margin: auto;
    background: white;
    border-top: red 1rem solid;
    box-shadow: 0 3px 6px #9E9E9E;
    z-index: 1;
    margin-top: -3rem;
    /*position: absolute;*/
    /*!*top: -2rem;*!*/
    /*bottom: 0;*/
    /*left: 0;*/
    /*right: 0;*/
}

.index-news-offers-box {
    padding: 2rem 4rem;
}

.index-offer {
    flex: 1;
    font-size: 16px;
    padding: 1.5rem 1.5rem;
    color: #000000;
}

.index-offer:not(:last-child) {
    border-right: #B3B3B3 solid 1px;
}

.index-offer-title {
    font-size: 21px;
    color: #000000;
    font-weight: bold;
}

.index-offer-check-more {
    font-size: 22px;
    width: 100%;

}

.index-offer-check-more a {
    display: block;
    width: 100%;
    font-size: 22px;
    background: #FF1D25;
    padding: .5rem 0;
    text-align: center;
    color: white;
    border-radius: .5rem;
}

.index-offer-check-more a img {
    height: 22px;
    display: inline-block;
    position: absolute;
}

.index-reasons {
}

.index-reasons-title {
    width: 45%;
    margin: 0 auto 3rem;
    color: #05004E;
    /*font-size: 40px;*/
    font-size: 3.3rem;
    text-align: center;
}

.index-reasons-title-content {
    font-size: 20px;
}

.index-reasons-content {
    display: flex;
    text-align: center;
    align-items: center;
}

.index-reasons-content-title {
    font-size: 30px;
}

.index-reason-content-img {
    margin-top: 4rem;
}

.index-reason {
    color: white;
    font-size: 18px;
    padding: 4.5rem;
    border-radius: 1rem;
}

.index-reason-left {
    background: #05004E;
    padding: 6rem 4.5rem;
}

.index-reason-right {
    background: #FF0000;
}

.index-reason img {
    width: 33%;
}

.index-enquiry {
    background: #F6F5FB;
}

.index-enquiry-box {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}

.index-enquiry-left {
    flex: 1;
    padding: 1.5rem;
}

.index-enquiry-left img {
    width: 100%;
}

.index-enquiry-right {
    flex: 1;
}

.index-enquiry-title {
    /*font-size: 56px;*/
    font-size: 4rem;
    color: #05004E;
    padding: 0 18px;
}

.index-enquiry-title-content {
    /*font-size: 24px;*/
    font-size: 1.5rem;
}

.index-enquiry-content-title * {
    /*font-size: 24px;*/
    font-size: 1.7rem;

}

.index-enquiry-content-title {
    color: #05004E;
    /*width: 100%;*/
    text-align: center;
    border-bottom: 1px solid #B3B3B3;
    line-height: 0.1rem;
    margin: 10px 1.5rem 20px;
}

.index-enquiry-content-title span {
    background: #F6F5FB;
    padding: 0 1.5rem;
}
.index-enquiry-content form input {
    /*height: 65px;*/
    font-size: 21px;
    width: 100%;
    padding: 1rem;
    margin: .5rem;
    border: none;
    border-radius: 0.6rem;
}

.index-enquiry-content form textarea {
    font-size: 21px;
    width: 100%;
    padding: 1rem;
    margin: .5rem;
    border: none;
    border-radius: 0.6rem;
}

.index-enquiry-content form input[type="submit"] {
    /*font-size: 21px;*/
    font-size: 1.5rem !important;
    color: white;
    padding: 1rem 3rem;
    border-radius: .8rem;
    border: none;
    flex: 1;
    margin: .5rem;
    cursor: pointer;
    background: #05004E;
    text-align: center;
}

.index-enquiry-content form .wpcf7-form-control-wrap.your-name {
    width: 42%;
    display: inline-block;
    margin-right: 3%;
}

.index-enquiry-content form .wpcf7-form-control-wrap.your-email {
    width: 55%;
    display: inline-block;
}

.index-enquiry-content-form {
    font-size: 21px;
}

.index-enquiry-content-form a {
    color: white;
    text-align: center;
}

.index-enquiry-content-form input {
    /*height: 65px;*/
    font-size: 21px;
    width: 100%;
    padding: 1rem;
    margin: .5rem;
    border: none;
    border-radius: 0.6rem;
}

.index-enquiry-content-form textarea {
    font-size: 21px;
    width: 100%;
    padding: 1rem;
    margin: .5rem;
    border: none;
    border-radius: 0.6rem;
}

.index-enquiry-content-form div {
    margin: .5rem;
}

.index-enquiry-form-button {
    /*font-size: 21px;*/
    font-size: 1.5rem !important;
    color: white;
    padding: 1rem 3rem;
    border-radius: .8rem;
    border: none;
    flex: 1;
    margin: .5rem;
    cursor: pointer;
    text-align: center;
}

.index-posts-box {
    display: flex;
    flex-direction: row;
    /*justify-content: ;*/
}

.index-posts-left {
    display: inline-block;
    width: 60%;
    padding: 1rem;
    border-right: #CCCCCC 1px solid;
}

.index-posts-left-title {
    color: #05004E;
    /*font-size: 28px;*/
    font-size: 2.5rem;
    padding: 1rem;
}

.index-posts-left-content-img-box {
    position: relative;
    padding-top: 52.5%;
    background: black;
}

.index-posts-left-content-img-current {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.index-posts-left-content-img-current a {
    display: block;
}

.index-posts-left-content-img-current a img {
    width: 100%;
    object-fit: contain;
}

.index-posts-left-content-img-current a img:hover {
    opacity: 0.7;
}

.index-posts-left-content-titles {

}

.index-posts-left-content-title {
    font-size: 20px;
    color: #333333;
    padding: .6rem;
    padding-left: 0;
}

.index-posts-left-content-title a:hover {
    color: #5C5C5C;
}

.index-posts-left-content-title:not(:last-child) {
    border-bottom: #CCCCCC 1px solid;
}

.index-posts-left-content-title-current {
    font-size: 25px;
    color: #000000;
}


.index-posts-right {
    display: inline-block;
    width: 40%;
    padding: 1rem;

}

/* 手機版修正 */
@media (max-width: 768px) {
  .index-posts-right {
    width: 95% !important;
    display: block !important;
    padding: 0.5rem 0;
  }
}

.index-posts-right-img {
    position: relative;
    padding-top: 100%;
    background: #B3B3B3;
    background: transparent;
}

.index-posts-right-img-box {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.index-posts-right-img-box > a {
    display: block;
    width: 100%;
}

.index-posts-right-img-box > a > img {
    width: 100%;
    height: 100%;
    vertical-align: middle;
    object-fit: contain;
}

.index-subscribe {
    background: #F6F5FB;
    text-align: center;
}

.index-subscribe-title {
    /*font-size: 32px;*/
    font-size: 2.6rem;
    color: #05004E;
}

.index-subscribe-content {
    color: black;
    /*font-size: 20px;*/
    font-size: 1.6rem;
}


.index-subscribe form {
    margin-top: 1.5rem;
}


.index-subscribe form > div {
    position: relative;
    height: 3.3rem;
    width: 65%;
    margin: auto;
}

.index-subscribe form > div > input {
    position: absolute;
    height: 3.3rem;
    width: 100%;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    border-radius: 0.6rem;
    border: #CCCCCC 1px solid;
    /*font-size: 16px;*/
    font-size: 1.3rem;
    padding-left: 0.8rem;
}

.index-subscribe form > div > button {
    position: absolute;
    height: 3.3rem;
    right: -2px;
    top: 0;
    bottom: 0;
    border-radius: 0 0.6rem 0.6rem 0;
    border: #CCCCCC 1px solid;
    cursor: pointer;
    /*font-size: 16px;*/
    font-size: 1.3rem;
    padding: 0 1.5rem;
    background: white;
}

.index-subscribe form > div > button:hover {
    background: #F0F0F0;
    color: #2A2A2A;
}
