/* Fix font paths - original CSS references relative paths */
@font-face {
    font-family: 'icomoon';
    src: url('../fonts/icomoon.eot');
    src: url('../fonts/icomoon.eot?#iefix') format('embedded-opentype'),
         url('../fonts/icomoon.woff') format('woff'),
         url('../fonts/icomoon.ttf') format('truetype'),
         url('../fonts/icomoon.svg#icomoon') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'acms-fonts';
    src: url('../fonts/acms-fonts-20150901.eot');
    src: url('../fonts/acms-fonts-20150901.eot?#iefix') format('embedded-opentype'),
         url('../fonts/acms-fonts-20150901.woff') format('woff'),
         url('../fonts/acms-fonts-20150901.ttf') format('truetype'),
         url('../fonts/acms-fonts-20150901.svg#acms-fonts') format('svg');
    font-weight: normal;
    font-style: normal;
}

/* Fix icon classes */
[class^="icon-"], [class*=" icon-"] {
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
}

.icon-company:before { content: "\e900"; }
.icon-general:before { content: "\e902"; }
.icon-link:before { content: "\e903"; }
.icon-student:before { content: "\e904"; }
.icon-user:before { content: "\e905"; }
.icon-users:before { content: "\e906"; }

.icon {
    position: relative;
    display: inline-block;
}

.header__gNav .icon {
    top: 2px;
    color: #fff;
    font-size: 22px;
    margin-right: 8px;
}

/* Fix background image paths */
.contents__wrap {
    background: url('../images/bg_contents.png') repeat-y left top;
}

/* Fix search icon paths */
.search2 .search-btn img,
.ico_search {
    width: 16px;
    height: 16px;
}

/* Remove WordPress admin bar spacing */
html {
    margin-top: 0 !important;
}

#wpadminbar {
    display: none !important;
}

/* Fix WordPress block styles conflict */
.wp-block-paragraph,
.wp-block-heading,
.wp-block-list,
.wp-block-image,
.wp-block-table {
    margin-bottom: 1em;
}

.wp-block-image img {
    max-width: 100%;
    height: auto;
}

/* Ensure entry body styles match original */
.entry-body {
    line-height: 1.8;
    font-size: 14px;
}

.entry-body h2, .entry-body h3, .entry-body h4 {
    margin: 1.5em 0 0.5em;
}

.entry-body ul, .entry-body ol {
    padding-left: 2em;
    margin-bottom: 1em;
}

.entry-body a {
    color: #337ab7;
    text-decoration: underline;
}

.entry-body a:hover {
    color: #23527c;
}

/* Child page list styling */
.child-pages-list {
    margin: 2em 0;
}

.child-pages-list ul {
    list-style: none;
    padding: 0;
}

.child-page-item {
    padding: 8px 0;
    border-bottom: 1px solid #e5e5e5;
}

.child-page-item a {
    color: #337ab7;
    text-decoration: none;
    padding-left: 15px;
    position: relative;
}

.child-page-item a:before {
    content: "▶";
    font-size: 10px;
    position: absolute;
    left: 0;
    color: #337ab7;
}

/* Sidebar category list */
.category__list-item.c_1.current .wrap {
    display: block;
    background: #004599;
    color: #fff;
    padding: 10px 15px;
    font-size: 16px;
    font-weight: bold;
    text-decoration: none;
}

.category__list-item.c_2 {
    display: block !important;
    border: 1px solid #ccc;
    border-top: none;
}

.category__list-item.c_2 .wrap {
    display: block;
    padding: 7px 10px;
    background: #f2f9fb;
    color: #333;
    text-decoration: none;
    font-size: 14px;
}

.category__list-item.c_2 .wrap:hover {
    background: #94e3f9;
    text-decoration: none;
}

/* 3-column card grid (matching original a-blog CMS) */
.acms-grid-r {
    overflow: hidden;
}

.acms-container.sp-container {
    margin: 0;
    padding: 0;
}

.board__entry-list.acms-grid {
    display: block;
    overflow: hidden;
    margin-top: 20px;
}

.acms-col-md-4 {
    float: left;
    width: 33.33%;
    padding: 0 8px;
    box-sizing: border-box;
}

.board--block h2 {
    margin-bottom: 15px;
    font-size: 1.357em;
    padding-left: 15px;
    border-left: 3px solid #09f;
    line-height: 1.3;
    font-weight: bold;
}

.mb22 {
    margin-bottom: 22px;
}

.mb22 > div:first-child img {
    width: 100%;
    height: auto;
    display: block;
}

.board__entry-list-ttl2 {
    font-size: 14px;
    font-weight: bold;
    margin: 8px 0 5px;
}

.board__entry-list-ttl2 a {
    color: #003366;
    text-decoration: none;
}

.board__entry-list-ttl2 a:before {
    content: "●";
    color: #0073aa;
    margin-right: 3px;
    font-size: 10px;
}

.board__entry-list-txt2 {
    list-style: none;
    padding: 0;
    margin: 0 0 10px 0;
    font-size: 12px;
    line-height: 1.6;
}

.board__entry-list-txt2 li {
    padding: 1px 0;
}

.board__entry-list-txt2 li:before {
    content: "●";
    color: #0073aa;
    margin-right: 3px;
    font-size: 8px;
}

.board__entry-list-txt2 a {
    color: #333;
    text-decoration: none;
}

.board__entry-list-txt2 a:hover {
    text-decoration: underline;
    color: #0073aa;
}

/* Legacy card layout (fallback) */
.board__entry-list-item {
    width: calc(33.33% - 10px);
    margin-bottom: 20px;
}

.board__entry-list-item .wrap {
    display: block;
    text-decoration: none;
    color: #333;
}

.board__entry-list-img img {
    width: 100%;
    height: auto;
    border: 1px solid #ddd;
}

.board__entry-list-ttl {
    display: block;
    margin-top: 5px;
    font-size: 14px;
    font-weight: bold;
    color: #003366;
}

/* Breadcrumb / topic path */
.topicPath {
    background: #f5f5f5;
    padding: 8px 0;
    font-size: 12px;
    border-bottom: 1px solid #ddd;
    margin-bottom: 20px;
}

.topicPath a {
    color: #337ab7;
    text-decoration: none;
}

/* Hero banner */
.mv-wrap {
    margin-bottom: 0;
}

.mv-wrap img {
    width: 100%;
    height: auto;
    display: block;
}

/* Board sections on front page (matching original a-blog CMS) */
.board__ttl.ttl--border {
    font-size: 1.286em;
    font-weight: bold;
    color: #333;
    border-bottom: 4px solid #09f;
    padding-bottom: 8px;
    margin-bottom: 15px;
}

.board__inner {
    margin-bottom: 25px;
}

.board__list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.board__list-item {
    border-bottom: 1px dotted #ccc;
}

.board__list-item .wrap {
    display: block;
    padding: 10px 0;
    text-decoration: none;
    color: #333;
    overflow: hidden;
}

.board__list-item .wrap:hover {
    background: #f9f9f9;
}

.board__date {
    color: #666;
    font-size: 12px;
    margin-right: 10px;
    float: left;
    width: 80px;
}

.board__list-ttl {
    font-size: 14px;
    font-weight: normal;
    margin: 0;
    overflow: hidden;
    color: #333;
}

.board__list-ttl:hover {
    text-decoration: underline;
}

/* News/Topics section */
.news {
    margin-bottom: 30px;
}

.news__inner {
    padding: 0;
}

.news__ttl.ttl--border {
    font-size: 1.286em;
    font-weight: bold;
    color: #333;
    border-bottom: 4px solid #09f;
    padding-bottom: 8px;
    margin-bottom: 0;
}

.news__tab {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    border-bottom: 1px solid #ccc;
}

.news__tab-item {
    margin: 0;
}

.news__tab-item a {
    display: block;
    padding: 8px 15px;
    text-decoration: none;
    color: #666;
    font-size: 12px;
    border-bottom: 3px solid transparent;
}

.news__tab-item a.current,
.news__tab-item a:hover {
    color: #09f;
    border-bottom: 3px solid #09f;
}

.news__contents {
    padding: 15px 0;
}

.news__list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.news__list-item {
    border-bottom: 1px dotted #ccc;
}

.news__list-item .wrap {
    display: flex;
    align-items: flex-start;
    padding: 10px 0;
    text-decoration: none;
    color: #333;
}

.news__list-item .wrap:hover {
    background: #f9f9f9;
}

.news__thumb {
    width: 150px;
    height: 100px;
    object-fit: cover;
    margin-right: 15px;
    flex-shrink: 0;
}

.news__txtArea {
    flex: 1;
}

.news__list-ttl {
    font-size: 14px;
    font-weight: bold;
    margin: 0 0 5px;
    color: #333;
    line-height: 1.5;
}

.news__date {
    font-size: 12px;
    color: #666;
}

.news__category {
    display: inline-block;
    font-size: 11px;
    padding: 2px 8px;
    margin-left: 10px;
    border: 1px solid #ccc;
    border-radius: 3px;
}

/* Event section */
.event {
    margin-bottom: 30px;
}

.event__container {
    padding: 0;
}

.event__inner {
    padding: 10px 0;
}

.event__item {
    border-bottom: 1px dotted #ccc;
    padding: 10px 0;
}

.event__item .wrap {
    text-decoration: none;
    color: #333;
}

/* Slider */
.slider-wrap {
    margin-bottom: 0;
    background: #333;
}

.slider {
    max-width: 100%;
    margin: 0 auto;
}

.slider img {
    width: 100%;
    height: auto;
    display: block;
}

.bxslider img {
    width: 100%;
    height: auto;
}

/* Side banner */
.side__banner {
    margin-bottom: 10px;
}

.side__banner img {
    width: 100%;
    height: auto;
}

/* Footer link mega menu */
.footerLink {
    clear: both;
    background: #a6e7fa;
    padding: 30px 0 10px;
}

.footerLink a {
    color: #0150b6;
    font-weight: bold;
}

.footerLink .icon {
    color: #1b91b5;
    font-size: 22px;
    margin-right: 5px;
    top: 2px;
}

.footerLink__inner {
    overflow: hidden;
}

.footerLink__wrap {
    float: left;
    width: 25%;
}

.footerLink__block {
    margin-bottom: 15px;
}

.footerLink__ttl,
.footerLink__title {
    margin-bottom: 10px;
    font-size: 15px;
}

.footerLink__list {
    list-style: none;
    padding: 0;
    margin-bottom: 25px;
}

.footerLink li {
    font-size: 13px;
}

.footerLink__list a {
    color: #0150b6;
    text-decoration: none;
    font-weight: bold;
}

.footerLink__list a:hover {
    text-decoration: underline;
}

/* Footer */
.footer {
    background: #003366;
    color: #fff;
    padding: 20px 0;
}

.footer__list {
    list-style: none;
    padding: 0;
    text-align: center;
    margin-bottom: 15px;
}

.footer__list-item {
    display: inline-block;
    padding: 0 15px;
}

.footer__list-item a {
    color: #fff;
    text-decoration: none;
    font-size: 12px;
}

.footer__logo {
    text-align: center;
    margin-bottom: 15px;
}

.footer__logo img {
    height: 40px;
    width: auto;
}

.footer__campus-list {
    list-style: none;
    padding: 0;
    text-align: center;
    font-size: 11px;
}

.footer__campus-list-item {
    display: inline-block;
    padding: 0 15px;
}

#copyright {
    text-align: center;
    font-size: 11px;
    margin: 10px 0 0;
}

.footer__sns, .footer__sns_sp {
    text-align: center;
    margin: 10px 0;
}

.footer__sns a, .footer__sns_sp a {
    display: inline-block;
    margin: 0 5px;
}

.footer__sns img, .footer__sns_sp img {
    width: 30px;
    height: 30px;
}

/* Main layout - 2 columns (matching original float layout) */
#main {
    width: 734px;
    float: right;
}

#side, .side {
    width: 237px;
    float: left;
}

.category--pc {
    display: block !important;
}

.category {
    width: 236px;
    margin-bottom: 20px;
}

.category__list {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* PICK UP section */
.pickup-area {
    margin-bottom: 20px;
    padding: 0;
}

.pickup-area ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.pickup-area li {
    display: inline-block;
}

.pickup-area img {
    max-width: 230px;
    height: auto;
}

/* Sidebar faculty links (matching original colored boxes) */
.side__banner-area {
    margin-top: 20px;
}

.side__faculty-links {
    margin-bottom: 15px;
}

.side__faculty-links .category__list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.side__faculty-links .category__list-item {
    margin-bottom: 5px;
}

.side__faculty-links .category__list-item.c_1 .wrap {
    background: #004599;
    color: #fff;
    display: block;
    padding: 8px 15px;
    font-size: 14px;
    font-weight: bold;
    text-decoration: none;
    border-left: 4px solid #003366;
}

.side__faculty-links .category__list-item.c_2 .wrap {
    display: block;
    padding: 8px 15px;
    font-size: 14px;
    text-decoration: none;
    background: #e8f4f8;
    color: #333;
    border-left: 4px solid #0073aa;
}

.side__faculty-links .category__list-item.c_2 .wrap:hover {
    background: #d1ebf5;
}

/* Page top link */
.pagetop {
    display: block;
    text-align: right;
    padding: 10px 20px;
    color: #0073aa;
    text-decoration: none;
    font-size: 12px;
}

/* Hide admin bar in the original design */
body.admin-bar {
    margin-top: 0 !important;
}

/* Entry title */
.entry-title {
    font-size: 22px;
    color: #003366;
    border-bottom: 2px solid #003366;
    padding-bottom: 10px;
    margin-bottom: 20px;
}

/* Footer link bar (between sitemap and logo) */
.footer-link-bar {
    border-top: 1px solid #ccc;
    padding: 10px 0;
    text-align: center;
    background: #fff;
}

.footer-link-bar .footer__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
    gap: 0;
}

.footer-link-bar .footer__list-item {
    padding: 0 15px;
    border-right: 1px solid #999;
    font-size: 12px;
}

.footer-link-bar .footer__list-item:last-child {
    border-right: none;
}

.footer-link-bar .footer__list-item a {
    color: #333;
    text-decoration: none;
}

@media (max-width: 768px) {
    .footer__sns { display: none; }
    #main { float: none; width: 100%; }
    #side { display: none; }
    .category--pc { display: none !important; }
    .footerLink__block { width: 50%; }
    .footer-link-bar .footer__list { flex-wrap: wrap; }
}
