@font-face {
    font-family: "Source Sans 3";
    src: url("../fonts/source-sans-3/SourceSans3VF-Upright.ttf.woff2") format("woff2");
    font-style: normal;
    font-weight: 200 900;
    font-display: swap;
}

@font-face {
    font-family: "Source Sans 3";
    src: url("../fonts/source-sans-3/SourceSans3VF-Italic.ttf.woff2") format("woff2");
    font-style: italic;
    font-weight: 200 900;
    font-display: swap;
}

:root {
    --lyth-font: "Source Sans 3", "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
}

body,
ul,
li {
    font-family: var(--lyth-font);
}

body {
    font-size: 16px;
    line-height: 1.65;
}

ul,
li {
    font-size: inherit;
}

p {
    font-size: 16px;
    line-height: 1.7;
}

button,
input,
select,
textarea,
#primary #searchsubmit,
#myformtable .mtcs2 {
    font-family: var(--lyth-font);
}

button,
input,
select,
textarea {
    font-size: 16px;
    line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 600;
    line-height: 1.3;
    overflow-wrap: break-word;
}

h1 { font-size: 32px; }
h2 { font-size: 26px; }
h3 { font-size: 22px; }
h4 { font-size: 20px; }
h5 { font-size: 18px; }
h6 { font-size: 16px; }

strong,
b {
    font-weight: 700;
}

h2.title {
    font-size: clamp(26px, 2.5vw, 32px);
    line-height: 1.3;
    font-weight: 600;
}

#mtop {
    height: auto;
    min-height: 20px;
    font-size: 13px;
    line-height: 1.5;
}

#mtoptext li {
    font-size: 15px;
    line-height: 1.4;
}

#access2 a {
    font-size: 15px;
    font-weight: 600;
}

#access2 ul ul a {
    font-size: 15px;
    line-height: 1.45;
    font-weight: 400;
}

#mbanner h2 {
    font-size: clamp(26px, 2.6vw, 34px);
    line-height: 1.3;
    font-weight: 600;
    text-transform: none;
}

.mrights {
    height: auto;
    min-height: 30px;
    font-size: 14px;
    line-height: 1.6;
}

.mrights > .mbox {
    padding-top: 6px;
    padding-bottom: 6px;
    overflow-wrap: anywhere;
}

div .mcatdesc h1,
#sdiv1 h1 {
    font-size: clamp(26px, 2.4vw, 30px);
    line-height: 1.3;
}

#mycontents p,
#mycontents ul li,
#mycontents ol li,
#mhomebox p,
#mhomeicon .m4col {
    line-height: 1.7;
}

#mycontents h2,
#mycontents h3,
#mycontents h4 {
    margin-top: 1.2em;
    margin-bottom: 0.6em;
}

#pagebox .mbox video {
    max-width: 100%;
    height: auto;
}

#mycontents iframe,
#mhomebox iframe {
    max-width: 100%;
}

#mycontents iframe[width="640"][height="360"] {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
}

#mycontents table th,
#mycontents table td {
    font-size: 15px;
    line-height: 1.55;
    overflow-wrap: break-word;
    font-variant-numeric: lining-nums;
}

#mycontents table th {
    font-weight: 600;
}

#mycontents td p,
#mycontents th p {
    font-size: inherit;
    line-height: inherit;
}

#primary h3,
#primary h6 {
    font-size: 17px;
    line-height: 1.4;
    font-weight: 600;
}

#primary li ul li a {
    font-size: 16px;
    line-height: 1.5;
}

#primary li ul li ul li a {
    font-size: 15px;
}

#primary li .textwidget {
    font-size: 15px;
    line-height: 1.6;
}

#mpic div.ptitle {
    height: auto;
    min-height: 4.35em;
    display: block;
    overflow: visible;
    font-size: 16px;
    line-height: 1.45;
}

#mpic div.ptitle a {
    font-weight: 600;
    overflow-wrap: anywhere;
}

#mpic div.gtitle {
    height: auto;
    min-height: 25px;
    line-height: 1.45;
}

#mpic div.gtitle h3,
#mpic3 h3 {
    font-size: 18px;
    line-height: 1.4;
}

#mpic .mdetails,
#mpic .menquiry,
#mpic2 .mdetails,
#mpic2 .menquiry,
#sdiv1 .mdetails,
#sdiv1 .menquiry {
    font-size: 15px;
    line-height: 2.4;
    font-weight: 600;
}

.mtab ul li {
    height: auto;
    min-height: 36px;
    font-size: 18px;
    line-height: 2;
    font-weight: 600;
    overflow-wrap: anywhere;
}

h3.mtitle {
    font-size: 20px;
    line-height: 1.4;
}

h3.mtitle .mlast a,
h3.mcat .mlast a,
h3.msingle,
h3.msingle span,
h3.msingle .mlast {
    font-size: 14px;
}

#myformtable span {
    font-size: 16px;
    font-weight: 600;
}

#myformtable input[type="submit"],
#myformtable button[type="submit"] {
    height: auto;
    min-height: 42px;
    line-height: 1.4;
    padding: 8px 12px;
    font-weight: 600;
}

#mfooter,
#mfooter p,
#mfooter li {
    font-size: 15px;
    line-height: 1.65;
}

#mfooter h3 {
    font-size: 20px;
    font-weight: 600;
}

#copyright {
    height: auto;
    font-size: 14px;
    line-height: 1.6;
}

#copyright a,
#linksa a {
    font-size: 14px;
    line-height: 1.6;
}

@media (max-width: 767px) {
    h1 { font-size: 26px; }
    h2 { font-size: 24px; }
    h3 { font-size: 20px; }

    #mbanner h2 {
        font-size: 26px;
    }

    #access2 a {
        font-size: 16px;
    }

    #mycontents table th,
    #mycontents table td {
        padding: 8px;
    }

    #mpic div.ptitle {
        min-height: 0;
    }
}
