@charset "UTF-8";
/* 2025.4.14 ピクチャレスクの作業によって先祖返りしていた部分を修正 */

/*-------------------------------------------
                共通パーツ 
-------------------------------------------*/
:root {
    --primary_color : #043C78;
    --pink_color : #FF7F80;
    --red_color : #CC1A00;
    --ff_ja : "Zen Maru Gothic", sans-serif;
    --ff_en : "Zen Maru Gothic", sans-serif;
}
html {
    scroll-padding-top: 80px;
}

body {
    font-family: var(--ff_ja) !important;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}
.-en {
    font-family: var(--ff_en) !important;
}
a {
    color: #000;
}
p:empty {
    display: none!important;
}
main p, #main p {
    font-weight: 400;
}

/* WordPress 記事内画像サイズ通りにする */
html :where(img[class*=wp-image-]:not(.mainActivity-single *)) {
    display: block !important;
}

/* c-xxx */
.c-button {
    width: 100%;
    padding-top: 50px;
}
.c-button > a {
    max-width: 200px;
    height: 50px;
    display: block;
    color: #fff;
    position: relative;
    background: var(--primary_color);
    font-size: 14px;
    letter-spacing: 0.5px;
    font-weight: 700;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-inline: auto;
}
.c-button > a::before {
    content: url(/kobekosen_ac_wp/wp-content/themes/kobe-kosen2024/common/images/click-white.svg);
    position: absolute;
    width: 15px;
    height: 15px;
    top: 16px;
    right: 20px;
}

/* PCのみhover適用 */
@media (hover: hover) and (pointer: fine) {
    a:hover {
        opacity: 0.7;
    }
}
@media (hover: hover) and (pointer: fine) and (min-width: 960px) {
    .forNoSidemenu__list > li:hover {
        opacity: 0.7;
    }
    .forNoSidemenu__list > li > a:hover {
        opacity: 1;
    }
    .p-navWrap__heading01 > a:hover {
        opacity: 1;
    }
    .p-iconBox__search:hover {
        opacity: 0.7;
    }
    .p-navMain > li:hover::before {
        animation-name:fadeLeftAnime;
        animation-duration:0.6s;
        animation-fill-mode:forwards;
    }
    .p-navMain > li:hover .p-navWrap {
        display: block;
        animation-name:fadeLeftAnime;
        animation-duration:0.6s;
        animation-fill-mode:forwards;
    }
    @keyframes fadeLeftAnime{
        from {
            opacity: 0;
        }
    
        to {
            opacity: 1;
        }
    }
    .p-navWrap__heading01 > a:hover {
        opacity: 0.7;
    }
    .p-navMain > li:hover::before {
        content: url(/kobekosen_ac_wp/wp-content/themes/kobe-kosen2024/common/images/triangle.svg);
        width: 15px;
        height: 18px;
        position: absolute;
        top: 16px;
        right: 0;
    }
    .p-navMain > li:hover .p-navWrap {
        display: block;
    }
    .p-navWrap__list01 > li > a:hover::after {
        transform-origin: left top;
        transform: scale(1, 1);
    }
    .categoryNavi > li > a:hover {
        color: #fff ;
        background: var(--primary_color);
        border-radius: 50px;
        cursor: pointer;
        opacity: 1;
    }
    .categoryNavi > li > a:hover::before {
        content: url(/kobekosen_ac_wp/wp-content/themes/kobe-kosen2024/common/images/submenu-clickHover.svg) !important;
    }
    .subCategoryNavi > li > a:hover {
        text-decoration: underline;
        text-decoration-thickness: 1px;
        text-underline-offset: 3px;
    }
    #main table.commonTable2 a:hover {
        color: var(--primary_color);
    }
}

/* ----------------------------------------------
アニメーション
----------------------------------------------- */

/*1.フェードインアニメーションの指定*/
.scrollanime {
    opacity: 0;
}
/*一瞬表示されるのを防ぐ*/
.fadeInDown {
    animation-name: fadeInDown;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
}
@keyframes fadeInDown {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
        transform: translate(0);
    }
}

/*2.アップダウン*/
.updown {
    transform: translateY(-100px);
}
.downup {
    transform: translateY(100px);
}

/*3.スライドイン*/
.slide-right {
    transform: translateX(50px);
}
.slide-left {
    transform: translateX(-50px);
}

.slideUp {
    animation-name: slideUp;
    animation-fill-mode: forwards;
}

@keyframes slideUp {
    0% {
        transform: translateY(0);
    }
    100% {
        transform: translateY(-100%);
    }
}

/*4.フェードイン*/
.fadeIn {
    animation-name: fadeIn;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
}
@keyframes fadeIn {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

/*5.アニメーションの開始を遅らせる*/
.delay01 {
    animation-delay: 0.5s;
}
.delay02 {
    animation-delay: 1s;
}
.delay03 {
    animation-delay: 1.5s;
}
.delay04 {
    animation-delay: 2s;
}
.delay05 {
    animation-delay: 2.5s;
}

/* 共通コンテンツ */
#contents,
.contents {
    width: calc(100% - 200px) !important;
    display: flex;
    flex-direction: column;
    margin-left: auto;
}
#contents:after {
    display: none;
}

.main {
    padding: 0 15px;
    padding-bottom: 150px;
    margin-inline: auto;
    width: 100%;
    max-width: 1040px;
}

/* パンくずリスト絡み */
/* #breadCrumb, */
.breadCrumb {
    list-style-type: none!important;
    padding: 130px 0 20px 250px;
    font-size: 100%;
    margin: 0;
    overflow: visible;
    display: flex;
    flex-wrap: wrap;
    gap: 15px 0;
}
/* #breadCrumb li, */
.breadCrumb li {
    list-style-type: none!important;
    padding-left: 0;
    padding-right: 45px;
    background: none;
    position: relative;
    line-height: 22px;
    font-size: 14px;
    letter-spacing: 0.5px;
    font-weight: 700;
}
/* #breadCrumb li:last-child, */
.breadCrumb li:last-child {
    padding-right: 0;
}
/* #breadCrumb li::before, */
.breadCrumb li::before {
    content: url(/kobekosen_ac_wp/wp-content/themes/kobe-kosen2024/common/images/click-light.svg);
    position: absolute;
    width: 15px;
    height: 15px;
    top: 2px;
    right: 15px;
}
/* #breadCrumb li:last-child::before, */
.breadCrumb li:last-child::before {
    content: none;
}
/* #breadCrumb li > a, */
.breadCrumb li > a {
    font-weight: 400;
    font-size: 14px;
    letter-spacing: 0.5px;
}
.breadCrumb:after {
    display: none;
}

#main {
    padding: 0 15px;
    padding-bottom: 150px;
    margin-inline: auto;
    width: 100%;
    max-width: 1040px;
}
#main .headLine4 {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.5px;
    padding: 0 0 0 18px;
    position: relative;
    text-indent: 0;
    margin-top: 2.5em;
    margin-bottom: 1em;
}
#main .headLine4::before {
    content: url(/kobekosen_ac_wp/wp-content/themes/kobe-kosen2024/common/images/diamond.svg);
    position: absolute;
    top: 50%;
    left: 0;
    width: 15px;
    height: 15px;
    transform: translateY(-50%);
}

/* ↓KCCTによるレイアウト不備調整 - ここから↓ */
#main p + .headLine4,
#main ul + .headLine4,
#main ol + .headLine4,
#main div + .headLine4,
#main table + .headLine4 {
    margin-top: 50px;
}
#main p + ul,
#main p + ol {
    margin-top: 10px;
}
#main .headLine4 + div,
#main .headLine4 + ul {
    padding-top: 1em;
}
#main .headLine4 + p {
	margin-top: 0.5em !important;
}
#main div > .headLine4:first-child {
	margin-top: 0;
}
#main div + .contentsList {
    padding-top: 1em;
}
#main .headLine4 + ul {
    margin-top: 30px;
}
#main .headLine4 + .headLine4 {
    margin-top: 2em;
}
#main h2 { font-size: 24px; }
#main h3 { font-size: 18px; }
/* ↑KCCTによるレイアウト不備調整 - ここまで↑ */

#main .headLine2 {
    border-left: 5px solid var(--primary_color);
    background-color: transparent;
    padding: 0 0 0 25px;
    margin: 3.5rem 0 0 0;
    font-weight: 700;
    letter-spacing: 0.5px;
    line-height: 32px;
}

#main .headLine3 {
    border-bottom: 1px solid #9BC1DF;
    margin: 0;
    padding: 50px 0 10px 5px;
    letter-spacing: 0.5px;
    font-weight: 700;
    background: none;
    clear: none;
    position: relative;
    line-height: 24px;
}
#main .headLine3::before {
    content: "";
    position: absolute;
    width: 120px;
    height: 1px;
    background: var(--primary_color);
    bottom: -1px;
    left: 0;
}

/* KCCTによる削除 (paddingで押下できなくなるボタンが多数発生していたため、scroll-padding-topで対応するように変更)
#main #grade1～5{
    padding-top: 130px;
    margin-top: -80px;
    margin-bottom: 30px;
}*/
#forNoSidemenu {
    margin: 0;
}
.forNoSidemenu__list {
    padding: 50px 0 0;
    display: grid;
    gap: 30px 20px;
    grid-template-columns: repeat(3, 1fr);
}
.forNoSidemenu__list > li {
    color: #fff;
    background-color: var(--primary_color);
    position: relative;
    width: 100%;
    min-height: 120px;
}
.forNoSidemenu__list > li::before {
    content: url(/kobekosen_ac_wp/wp-content/themes/kobe-kosen2024/common/images/click-white.svg);
    position: absolute;
    top: calc(50% - 7.5px);
    right: 15px;
    width: 15px;
    height: 15px;
}
.forNoSidemenu__list > li.externalLink::before {
    content: url(/kobekosen_ac_wp/wp-content/themes/kobe-kosen2024/common/images/click-window.svg);
}
.forNoSidemenu__list > li > a {
    color: #fff;
    display: flex;
    flex-direction: column;
    gap: 8px;
    justify-content: center;
    background-color: transparent;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.5px;
    padding: 0 40px 0 20px;
    width: 100%;
    height: 100%;
    word-break: keep-all;
}
.forNoSidemenu__list > li > a:has(p) {
    justify-content: normal;
    padding: 25px 40px 20px 20px;
}
.forNoSidemenu__list > li > a > p {
    font-size: 14px !important;
    word-break: normal;
    padding: 0 !important;
}
.forNoSidemenu__list.nomark {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.forNoSidemenu__list.nomark > li {
    color: #000;
    background: transparent;
    height: auto;
    position: static;
    min-height: unset;
}
#main .para {
    padding: 10px 0;
}
#text {
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0.5px;
    padding: 50px 0 0 30px;
}
#main table.commonTable2 a {
    background-color: transparent;
}

/* 旧「ページトップへ」ボタン 非表示 */
.leadTop {
    display: none;
}

/* サイドバー */
.p-hr {
    width: 150px;
    margin: 0 auto;
    border: none;
    border-top: 0.5px solid #A6A6A6;
}
.p-sidebar {
    width: 200px;
    height: 100dvh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99999;
    background: #fff;
}
.p-sidebar__logo > a > img {
	max-height: 25vh;
}
.p-sidebar__logo > a {
    display: block;
	text-align: center;
}
.p-navMain {
	padding-top: min(20px, 2.5vh);
	padding-right: 0;
	padding-bottom: 20px;
	padding-left: 0;
    align-items: center;
}
.p-navMain > li {
    width: 100%;
    position: relative;
}
.p-navMain__click {
    position: relative;
    display: block;
    font-size: 14.5px;
    letter-spacing: 0.5px;
    font-weight: 700;
    /* padding: 14px 40px 14px 15px; */
	/* min-height: 45px; */
    padding: 14px 30px;
	height: min(45px, 75vh/11);
}
.p-navMain .p-navMain__click{
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.p-navMain__click.two_lines{
    /* padding: 9px 40px 9px 15px; ちゃんと中央寄せになるようにしたのでこのコードは不要*/
    line-height: 1.1;
}

.p-navMain__click > span{
    font-size: 10px;
}
.p-navMain__click::before {
    content: url(/kobekosen_ac_wp/wp-content/themes/kobe-kosen2024/common/images/click-blue.svg);
    width: 15px;
    height: 15px;
    position: absolute;
    top: 50%;
	right: 25px;
    pointer-events: none;
    transform: translateY(-50%);
}
.p-navWrap {
    display: none;
    position: fixed;
    width: 100%;
    max-width: 380px;
    height: calc(100vh - 40px);
    top: 80px;
    left: 200px;
    background: #eef6ff;
    padding: 60px 40px;
}
.p-navWrap__heading01 {
    padding-bottom: 30px;
}
.p-navWrap__heading01 > a {
    text-align: center;
    display: block;
    min-width: 150px;
    min-height: 35px;
    position: relative;
    background: var(--primary_color);
    font-size: 14px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
}
.p-navWrap__heading01 > a::before {
    content: url(/kobekosen_ac_wp/wp-content/themes/kobe-kosen2024/common/images/click-white.svg);
    position: absolute;
    top: 9.5px;
    right: 20px;
    width: 15px;
    height: 15px;
}
.p-navWrap__list01 {
    padding-bottom: 50px;
    gap: 25px 0;
    display: flex;
    flex-direction: column;
}
.p-navWrap__list01 > li {
    width: 100%;
}
.p-navWrap__list01 > li > a {
    position: relative;
    font-size: 16px;
    letter-spacing: 0.5px;
    font-weight: 700;
    display: block;
    width: 100%;
    padding-right: 25px;
}
.p-navWrap__list01 > li > a::before {
    content: url(/kobekosen_ac_wp/wp-content/themes/kobe-kosen2024/common/images/click-white.svg);
    position: absolute;
    width: 15px;
    height: 15px;
    top: 1px;
    right: 10px;
    filter: brightness(0);
}
.p-navWrap__list01 > .u-window > a::before {
    content: url(/kobekosen_ac_wp/wp-content/themes/kobe-kosen2024/common/images/click-window.svg);
}
.p-navWrap__list01 > li > a::after {
    background: var(--primary_color);
    content: "";
    width: 100%;
    height: 2px;
    position: absolute;
    left: -5px;
    bottom: -5px;
    margin: auto;
    transform-origin: right top;
    transform: scale(0, 1);
    transition: transform .3s;
}

/* header */
.p-header {
    width: calc(100% - 200px);
    height: 80px;
    background: var(--primary_color);
    position: fixed;
    z-index: 999;
    top: 0;
    right: 0;
    display: flex;
    justify-content: right;
    gap: 30px;
}
.p-header__menu {
    display: flex;
    gap: 10px 25px;
    margin: auto 0;
    padding-left: 25px;
}
.p-header__menu li {
    position: relative;
}
.p-header__menu li a {
    position: relative;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.5px;
    display: block;
    padding-right: 23px;
}
.p-header__menu li a::before {
    content: url(/kobekosen_ac_wp/wp-content/themes/kobe-kosen2024/common/images/click-white.svg);
    width: 15px;
    height: 15px;
    position: absolute;
    top: 0;
    right: 0;
    pointer-events: none;
}
.p-header__iconBox {
    display: flex;
}
.p-header__iconBox > .-en > a {
    font-size: 15px;
}
.p-header__iconBox li {
    border-left: 0.5px solid #fff;
}
.p-header__iconBox li img {
    width: 20px;
    height: 20px;
}
.p-header__iconBox li a {
    color: #fff;
    width: 80px;
    height: 80px;
    text-align: center;
    display: flex;
    gap: 8px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    letter-spacing: 0.5px;
}
.p-iconBox__search {
    color: #fff;
    width: 80px;
    height: 80px;
    text-align: center;
    display: flex;
    gap: 8px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    letter-spacing: 0.5px;
    cursor: pointer;
    position: relative;
}
.p-iconBox__search.btn-search > img {
    display: none;
}
.p-iconBox__search.btn-search {
    position: relative;
}
.p-iconBox__search.btn-search::before {
    content: url(/kobekosen_ac_wp/wp-content/themes/kobe-kosen2024/common/images/cross-icon.svg);
    width: 20px;
    height: 20px;
    top: 20px;
    height: 20px;
}
.p-iconBox__searchForm {
    display: none;
    position:absolute;
    top:81px;
    right:0;
    z-index: 99;
    width: 321px;
    height: 80px;
    background: var(--primary_color);
    text-align: center;
    justify-content: center;
    align-items: center;
}
.p-iconBox__searchForm.is-search {
    display: flex;
    animation-name: displayAnime;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
}
@keyframes displayAnime{
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
#searchform {
    margin: auto;
    position: relative;
}
#searchinput {
    width: calc(100vw - 40px);
    max-width: 300px;
    margin: 0;
    padding: 0;
    border-radius: 50px;
    height: 40px;
    border: none;
    outline: none;
    padding: 0 20px;
    font-size: 16px;
    background: #fff;
    text-align: left;
}
#searchsubmit {
    position: absolute;
    top: 9px;
    right: 15px;
    border: none;
    outline: none;
    background: url(/kobekosen_ac_wp/wp-content/themes/kobe-kosen2024/common/images/search-icon.svg) no-repeat;
    width: 20px;
    height: 20px;
    filter: brightness(0);
    color: transparent;
}

/* footer */
.p-footer {
    background: var(--primary_color);
    color: #fff;
    padding: 50px 0 15px;
    width: calc(100% - 200px);
    margin-left: auto;
    position: relative;
    margin-top: auto;
}
.p-footer__inner {
    display: flex;
    justify-content: center;
    gap: 100px;
}
.p-footer__logo {
    display: flex;
    justify-content: center;
    align-items: center;
}
.p-footer__logo > img {
    max-width: 350px;
    max-height: 110px;
    width: 100%;
}
.p-footer__address li {
    font-size: 14px;
    font-weight: 400;
    line-height: 25px;
    letter-spacing: 0.5px;
}
.p-footer__address li:first-child {
    padding-bottom: 10px;
}
.p-footer__menu {
    display: flex;
    padding: 35px 0 20px;
    gap: 30px;
    justify-content: center;
}
.p-footer__menu li {
    position: relative;
}
.p-footer__menu li::before {
    content: url(/kobekosen_ac_wp/wp-content/themes/kobe-kosen2024/common/images/vertical-bar.svg);
    position: absolute;
    top: 0;
    right: -15px;
    width: 1px;
    height: 15px;
}
.p-footer__menu li:last-child::before {
    display: none;
}
.p-footer__menu li a {
    display: block;
    font-size: 14px;
    letter-spacing: 0.5px;
    color: #fff;
}
.p-footer__copy {
    font-size: 10px;
    letter-spacing: 0.5px;
    text-align: center;
}
/* サブメニュー */
#subNavi {
    padding-bottom: 10px;
    margin-bottom: 0!important;
    position: relative;
}
#subNavi .cTitle {
    display: none;
}
.categoryNavi {
    display: flex;
    flex-wrap: wrap;
    gap: 0 15px;
}
.categoryNavi > li {
    display: flex;
    justify-content: center;
    align-items: center;
}
.categoryNavi > li > a {
    position: relative;
    padding: 10px 15px 10px 30px;
}
.categoryNavi > li > a::before {
    position: absolute;
    content: url(/kobekosen_ac_wp/wp-content/themes/kobe-kosen2024/common/images/submenu-click.svg);
    top: 10px;
    left: 11px;
    width: 12px;
    height: 12px;
}
.categoryNavi > li.check > a {
    background: var(--primary_color) !important;
    color: #fff;
    border-radius: 50px;
    pointer-events: none;
    display: flex;
    align-items: center;
}
.categoryNavi > li.check > a::before {
    content: url(/kobekosen_ac_wp/wp-content/themes/kobe-kosen2024/common/images/submenu-clickCheck.svg);
}
/* 新学科への対応 */
.categoryNavi.newdep li, 
.categoryNavi.newdep li a {
    font-size: 12px !important;
}
.subCategoryNavi {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 30px;
    background: #F4F4F4;
    padding: 10px 20px;
    margin-top:10px;
    top: 100%;
    left: 0;
    width: 100%;
}
.subCategoryNavi > li > a {
    font-size: 14px;
    position: relative;
    padding-left: 15px;
    display: flex;
    align-items: center;
}
.subCategoryNavi > li > a::before {
    content: url(/kobekosen_ac_wp/wp-content/themes/kobe-kosen2024/common/images/submenu-click02.svg);
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
}
#subNavi:has(.subMenu) {
    padding-bottom: 0;
}
/* サブメニュー 本科 専攻科 */
.categoryNavi:has(.subMenu) {
    flex-direction: column;
    gap: 10px;
}
.categoryNavi:has(.subMenu) > li {
    justify-content: left;
}
.categoryNavi > li > .subMenu {
    position: relative;
    padding: 10px 15px 10px 30px;
    background: var(--primary_color) !important;
    color: #fff;
    border-radius: 50px;
    max-width: fit-content;
    pointer-events: none;
}
.categoryNavi:has(.subMenu) .subCategoryNavi {
    position: static !important;
    margin-top: 0;
    margin-bottom: 15px;
}
/* table */
#main table {
    width: auto;
    /* max-width: 1040px; */
    max-width: 1000px;
}
.p-table {
    overflow-y: hidden !important;
    background: none !important;
}
#main table.commonTable2 > tbody > tr > th:nth-child(1) {
    width: 250px;
}
#main table.commonTable2 > tbody > tr > th:nth-child(2) {
    width: 550px;
}
#main table.commonTable2 > tbody > tr > th:nth-child(3) {
    width: 200px;
}

#main .scroll-hint-shadow-wrap{
    margin-block: 1em;
}

#main .scroll-hint-shadow-wrap .contentsTable{
    margin-block: 0;
}

/* トップページボタン */
.page-top-container{
    position: sticky;
    bottom: 0;
    height: 0;
    z-index: 1000;
}

.page-top-inner{
    position: relative;
    height: 0;
}

#page-top {
    position: absolute;
    right: 10px;
    bottom: 10px;
    z-index: 2;
}
#page-top a {
    display: block;
    background: var(--primary_color);
    border-radius: 50px;
    width: 60px;
    height: 60px;
    color: #fff;
    text-transform: uppercase;
    transition: all 0.3s;
}
#page-top::before {
    content: url(/kobekosen_ac_wp/wp-content/themes/kobe-kosen2024/common/images/page-top.svg);
    position: absolute;
    width: 30px;
    height: 30px;
    top: 13px;
    left: 15px;
    pointer-events: none;
    z-index: 9999;
}
#page-top.UpMove{
    animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
    from {
        opacity: 0;
        transform: translateY(100px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
#page-top.DownMove{
    animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
    from {
        opacity: 1;
        transform: translateY(0);
    }
    to {
        opacity: 1;
        transform: translateY(100px);
    }
}

/* お知らせ */
.home .p-news {
    padding-bottom: 50px;
}
.p-news__tab {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 10px;
    border-bottom: 2px solid var(--primary_color);
    padding: 0;
}
.p-tab {
    min-height: 50px;
}
.p-tab > a {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    background: #878787;
    height: 100%;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.5px;
}
.p-tab.tabNews > a {
    background: var(--primary_color);
}
.p-news__list {
    flex-direction: column;
    background: #fff;
    padding: 25px 0 40px;
}
.underlayer .p-news__list {
    padding: 0;
}
.p-news__list.is-tabNews {
    display: flex;
    animation-name: displayAnime;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
}
@keyframes displayAnime{
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
.p-news__list > li {
    padding: 25px 0;
    margin-inline: 70px;
    border-bottom: 1px dotted #000;
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.p-newsWrap {
    display: flex;
    gap: 15px;
}
.p-newsWrap__date {
    font-size: 14px !important;
    color: #555;
    letter-spacing: 0.5px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.p-newsWrap__category {
    font-size: 14px !important;
    font-weight: 700 !important;
    width: 100%;
    max-width: 120px;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: auto 0;
}
.p-news__link {
    font-size: 16px !important;
    font-weight: 700;
    letter-spacing: 0.5px;
    position: relative;
    padding-right: 50px;
    line-height: 24px;
}
.p-news__link::before {
    position: absolute;
    content: url(/kobekosen_ac_wp/wp-content/themes/kobe-kosen2024/common/images/click-black.svg);
    width: 20px;
    height: 20px;
    top: 0;
    right: 20px;
}
/* お知らせ 各々 */
.p-newsWrap > .notice {
    outline: 2px solid #043C78;
    color: #043C78;
}
.p-newsWrap > .examinee {
    outline: 2px solid #DC536D;
    color: #DC536D;
}
.p-newsWrap > .current {
    outline: 2px solid #954593;
    color: #954593;
}
.p-newsWrap > .guardian {
    outline: 2px solid #4D9A50;
    color: #4D9A50;
}
.p-newsWrap > .graduate {
    outline: 2px solid #AE7D52;
    color: #AE7D52;
}
.p-newsWrap > .company {
    outline: 2px solid #5A5A5A;
    color: #5A5A5A;
}
.p-newsWrap > .general {
    outline: 2px solid #90A800;
    color: #90A800;
}
.p-newsWrap > .announce {
    outline: 2px solid var(--red_color);
    color:  var(--red_color);
}
/* お知らせ 記事詳細ページ */
.mainNews .headLine3 {
    padding-top: 0;
}
.mainNews-single .headLine2 {
    margin: 0;
}
.mainNews-single .p-newsWrap {
    gap: 30px;
}
.mainNews-single ul,
.mainNews-single li {
    line-height: 24px;
}
.mainNews-single h3,
.mainNews-single h4,
.mainNews-single th,
.mainNews-single address {
    padding: 10px 0;
}
.mainNews-single th,
.mainNews-single td {
    vertical-align: middle;
    line-height: 24px;
    padding: 10px;
}
.mainNews-single #admission {
    font-size: 16px;
    line-height: 24px;
}
.mainNews-single .p-newsWrap__date {
    justify-content: left;
    padding: 0 !important;
    padding-bottom: 10px !important;
}
.mainNews-single .headLine2 {
    margin: 30px 0 !important;
}
.mainNews-single a {
    margin-top: 30px !important;
}
.mainNews-single .contentsTable {
    min-width: initial;
}

#ric table th {
	width: 20% !important;
}

#ric table td {
	width: unset !important;
}

/* 神戸高専だより */
.p-activity {
    position: relative;
    padding: 50px 0;
}
.p-activity::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    transform: skewY(-5deg);
    background: #dee4e9;
    top: 50px;
    left: 0;
    z-index: 0;
    pointer-events: none;
}
.p-activity__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
}
.p-activity__list > li {
    position: relative;
    background: #fff;
    border-radius:10px;
}
.p-activity__list > li > a {
    display: flex;
    flex-direction: column;
    border-radius: 10px;
}
.p-activity__new {
    position: absolute;
    top: 0;
    left: 0;
    font-size: 16px;
    font-weight: 600 !important;
    font-family: var(--ff_en);
    line-height: 22px !important;
    letter-spacing: 0.5px;
    color: #fff;
    background: var(--pink_color);
    padding: 10px 15px !important;
    border-radius: 10px 0 0 0;
}
.p-activity__img {
    width: 100% !important;
    height: 233px !important;
    object-fit: cover;
    object-position: 50% 50%;
    border-radius: 10px; /* <- from KCCT:bugfix */
}
body.home .p-activity__img {
    border-radius: 10px 10px 0 0; /* <- from KCCT:bugfix */
}
.p-activityWrap {
    display: flex;
    flex-direction: column;
    padding: 10px 15px 20px;
    gap: 8px;
}
.p-activityWrap__date {
    font-size: 12px !important;
    font-weight: 400;
    letter-spacing: 0.5px;
    color: #555;
    padding: 0 !important;
}
.p-activityWrap__title {
    font-size: 16px !important;
    font-weight: 700;
    letter-spacing: 0.5px;
    color: var(--primary_color);
    line-height: 24px;
    text-align: justify;
}
.p-activityWrap__text {
    font-size: 14px !important;
    font-weight: 400;
    letter-spacing: 0.5px;
    line-height: 22px;
    padding: 0 !important;
    text-align: justify;
}
/* 神戸高専だより 記事ページ */
.mainActivity-single table {
    margin-top: 1em;
}
.mainActivity-single table td,
.mainNews-single table td {
    padding: 10px 10px 23px;
    font-size: 14px;
    line-height: 22px;
    letter-spacing: 0.5px;
}
.mainActivity-single table td p,
.mainNews-single table td p{
    font-size: 14px;
    line-height: 22px;
    letter-spacing: 0.5px;
}
.mainActivity-single table td img {
    padding-bottom: 7px;
}
.mainActivity-single table td br {
    content: "";
    display: block;
    height: 0;
}
.mainActivity-single .headLine2 {
    margin: 30px 0 !important;
}
.mainActivity-single .p-activityWrap__date {
    font-size: 14px !important;
    padding-bottom: 10px !important;
}
.mainActivity-single .wp-caption+br {
    display: none;
}

#main:not(.mainActivity-single) ul + p,
#main:not(.mainActivity-single) ol + p{
    padding-top: 3em;
}
/* WP画像調整 */
.mainActivity-single .alignnone,
.mainNews-single .alignnone {
    display: block;
    margin: 0 auto;
    text-align: center;
}
img.alignright{
    display: block;
    margin: 0 0 0 auto;
}
img.alignleft{
    display: block;
    margin: 0 auto 0 0;
}
img.aligncenter{
    display: block;
    margin: 0 auto;
}

/* ページネーション */
.p-pagerNews {
    padding-top: 50px;
}
.p-pagerActivity {
    padding-top: 50px;
}
.p-pager .page-numbers {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 40px;
    font-size: 18px;
}
.p-pager .page-numbers > li > a,
.p-pager .page-numbers > li > span {
    padding: 5px 10px;
}
.p-pager .page-numbers.current {
    background: var(--primary_color);
    color: #fff;
}
.p-pager .next.page-numbers,
.p-pager .prev.page-numbers {
    font-size: 20px;
}
/* 個別ページ ページネーション */
.p-singleArrow {
    padding-top: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 100px;
}
.p-singleArrow__right > a,
.p-singleArrow__left > a {
    display: block;
    font-size: 16px;
}
.p-singleArrow__right > a {
    text-align: right;
}
.p-singleArrow__left > a {
    text-align: left;
}
.p-singleArrow__button {
    padding-top: 0;
    max-width: 200px;
}
.p-singleArrow__button > a {
    max-width: 200px;
}
.p-singleArrow__button > a::before {
    content: none;
}
/* 検索結果 */
.p-search__list {
    display: flex;
    flex-direction: column;
    gap: 50px;
}
.p-search__link {
    display: flex;
    gap: 20px;
    align-items: center;
    max-width: 800px;
}
.p-search__img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    max-width: 200px;
    max-height: 150px;
}
.p-search__ttl {
    font-size: 18px;
    font-weight: 700;
    padding-bottom: 15px;
}
.p-search__txt {
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
}
.p-highlight {
    background:#ffff00; 
    padding: 2px 0;
}
.p-search__none {
    font-size: 18px;
}

/* pタグは最後に */
#main p {
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0.5px;
    line-height: 24px;
    padding: 10px 0;
}
#main p:not(.wp-caption-text) {
    text-align: justify;
}

/*------------------------------------------
    table
------------------------------------------*/
#main table {
    font-size: 100%;
    margin-bottom: 1em;
}

#main table caption {
    text-align: left;
}

#main table.commonTable {
    border-left: 1px solid #CCC;
    border-bottom: 1px solid #CCC;
}

#main table.commonTable th,
#main table.commonTable td {
    border-right: 1px solid #CCC;
    border-top: 1px solid #CCC;
}

#main table.commonTable th {
    padding: 10px;
    background-color: #E6E6E6;
    color: #000000;
    font-weight: normal;
    text-align: left;
}

#main table.commonTable td {
    padding: 10px;
}

#main table.commonTable .cT {
    text-align: center;
}

#main table.commonTable .rT {
    text-align: right;
}

#main table.commonTable .uT {
    vertical-align: top;
}

#main table.commonTable .ucT {
    text-align: center;
    vertical-align: top;
}

#main table.commonTable .mT {
    vertical-align: middle;
}

#main table.commonTable2 {
    border-left: 1px solid #CCC;
    border-bottom: 1px solid #CCC;
    margin: 30px 0 0;
}

#main table.commonTable2 th,
#main table.commonTable2 td {
    text-align: center;
    border-top: 1px solid #CCC;
    border-right: 1px solid #CCC;
    vertical-align: middle;
}
#main table.commonTable2 td p {
    text-align: center;
}

#main table.commonTable2 th {
    padding: 10px 20px;
    background-color: #E6E6E6;
    color: var(--primary_color);
    font-weight: normal;
    word-spacing: 1em;
}

#main table.commonTable2 th > a {
    color: var(--primary_color);
}

#main table.commonTable2 td {
    padding: 10px 10px;
}

#main table.commonTable2 .leftT {
    text-align: left;
}

#main table.commonTable2 a {
    color: #000000;
}

#main table.commonTable2 .job {
    width: 20px;
}

#main table.commonTable2 .name {
    width: 55px;
}

#main table.commonTable2 .email {
    width: 150px;
    text-align: left;
}

#main table.commonTable2 .other {
    width: 185px;
    text-align: left;
}

#main table.commonTable2 .gyouji {
    width: 400px;
    text-align: left;
    padding-left: 10px;
    padding-right: 10px;
}

#main table.commonTable3 {
    font-size: 90%;
    border-left: 1px solid #CCC;
    border-bottom: 1px solid #CCC;
    margin: 30px 0 20px;
    border-collapse: collapse;
    width: 100%;
}

#main table.commonTable3 th,
#main table.commonTable3 td {
    text-align: center;
    border-top: 1px solid #CCC;
    border-right: 1px solid #CCC;
    vertical-align: middle;
    padding: 10px;
}

#main table.commonTable3 th {
    background-color: #E6E6E6;
    color: var(--primary_color);
    font-weight: normal;
}

#main table.commonTable3 .leftT {
    text-align: left;
}

#main table.commonTable3 .leftTT {
    text-align: left;
    vertical-align: top;
}

#main table.commonTable3 ul {
    padding: 0px 0px 0px 1em;
    list-style-type: none;
}

#main table.clear {
    border: 0px none #FFFFFF;
    margin: 5px 5px 5px 20px;
}

#main table.clear th,
#main table.clear td {
    text-align: left;
    border: 0px none #FFFFFF;
    vertical-align: top;
}

#main table.clear th {
    padding: 5px 0px;
    font-weight: bold;
    color: #000000;
    background-color: #FFFFFF;
    white-space: nowrap;
    vertical-align: top;
}

#main table.clear td {
    padding: 5px 0px;
    padding-left: 5px;
}

#main table ul:not(#main #ric table ul),
#main table ol:not(#main #ric table ol) {
    padding: 0px 0px 0px 1em;
}

#main table li {
    margin-bottom: 0px;
    line-height: 1.3;
}

.mainActivity-single .contentsTable td{
    padding: 10px;
}

.mainNews-single .contentsTable th,
.mainNews-single .contentsTable td,
.mainActivity-single .contentsTable th,
.mainActivity-single .contentsTable td{
    width: auto!important;
}

#moku table {
	border: 0px none #FFFFFF;
	margin: 5px 5px 5px 20px;
}

#moku table th,
#moku table td {
	text-align: left;
	border: 0px none #FFFFFF;
}

#moku table th {
	padding: 5px 0px;
	font-weight: bold;
	color: #000000;
	background-color: #FFFFFF;
	white-space: nowrap;
	vertical-align: top;
}

#moku table td {
	padding: 5px 0px;
	padding-left: 5px;
}
#department table {
    border-left: 1px solid #CCC;
    border-bottom: 1px solid #CCC;
    margin: 5px 0px 20px 10px;
    border-collapse: 0px;
    border-spacing: 0px;
}

#department table th {
    text-align: center;
    border-top: 1px solid #CCC;
    border-right: 1px solid #CCC;
}

#department table th {
    padding: 5px 20px;
    background-color: #E6E6E6;
    color: #003366;
    font-weight: normal;
}

#department table td {
    text-align: left;
    width: 4.2rem;
    border-top: 1px solid #CCC;
    border-right: 1px solid #CCC;
    padding: 5px 10px;
}

#department table td:first-child,
#department table td:nth-child(2) {
    text-align: center;
}

#department table .leftT {
    text-align: left;
}

#department table a {
    color: #000000;
}

#department table a:hover {
    color: #0000FF;
}

#department table .job {
    width: 35px;
}

#department table .name {
    width: 60px;
}


#department table .email {
    width: 150px;
}

#department table .specialty {
    width: 275px;
}

#department table .other {
    width: 225px;
}



.item {
    width: 300px;
    vertical-align: top;
}


/*-------------------------------------------
                    SP
-------------------------------------------*/

/* SP切り替え */
.p-hamburger__btn,
.p-header__logo,
.p-header__menu-sp,
.p-header__iconBox-sp,
.u-plus,
.p-followButton {
    display: none;
}

#main .headLine2 {
    margin-bottom: 10px;
}

#main div > .headLine2:first-child {
    margin-bottom: 15px;
}

#main .headLine2 + #katei #grade1 {
    margin-top: 0px;
}

#main .headLine2 + .headLine3 {
    padding-top: 20px;
}

#main .headLine2 + div,
#main .headLine3 + div {
    margin-top: 40px;
}

#main .headLine2 + p {
    margin-top: 20px;
}
#main .headLine3 + p {
    margin-top: 10px;
}

#main p + h2.headLine3,
#main p + h3.headLine2 {
    margin-top: 60px;
}

#main .headLine2 + table,
#main .headLine3 + table,
#main .headLine2 + ul:not(.forNoSidemenu__list),
#main .headLine3 + ul:not(.forNoSidemenu__list) {
    margin-top: 30px;
}

#main .contentBoxA + .contentBoxA {
    margin-top: 40px;
}

#main .contentBoxA table{
    width: 100%;
}

#main p > b {
    font-weight: bold;
}

#department table{
    margin-left: 0;
}

#department table th,
#department table td {
    padding: 10px;
    font-size: 14px;
    vertical-align: middle;
}

#department table tr + tr td:first-child {
    word-break: keep-all;
}

#main a,
.breadCrumb li > a {
    text-decoration: underline 1px solid;
    text-underline-offset: 2px;
}
ul.forNoSidemenu__list a,
ul.categoryNavi a,
ul.subCategoryNavi a,
#topics a,
.p-singleArrow a,
.p-newsWrap a {
    text-decoration: none !important;
}

#main table.commonTable ul {
    display: flex;
    flex-direction: column;
    gap:5px 0;
}

#main table.commonTable ul li {
    list-style-type: disc;
    font-size: 14px;
}

#main #ric table.commonTable ul li {
    font-size: unset;
}

#main .headLine4 + table.commonTable2{
    margin-top: 0;
    min-width: 100%;
}

#main #katei table{
    min-width: 100%;
}

.headLine3 + ul li + ul {
    display: flex;
    flex-direction: column;
    gap: 10px 0;
    padding-left: 1em;
    margin-top: 10px;
}

.headLine3 + ul li + ul li {
    list-style-type: circle;
}

.headLine3 + ul li + ul + li {
    margin-top: 40px;
}

#main .headLine3 + ul li + p {
    padding-block: 10px 0;
}

#main .headLine3 + ul li + p + p {
    padding-block: 0;
}

#main .headLine3 + ul li + p + li,
#main .headLine3 + ul li + p + p + li {
    margin-top: 30px;
}

/* ↓KCCTによる追記 - ここから↓ */
/* headLine3の下に表を置くと狭すぎるのでmargin(必要に応じてnot増やす) */
#main .headLine3 + ul:not(.forNoSidemenu__list) {
    margin-top: 30px;
}
/* headLine3のheadLine2を置くと狭すぎるのでmargin */
#main .headLine3 + .headLine2 {
    margin-top: 50px;
}
/* ページタイトルとしてh2.headLinbe2(一番初期のスタイル)が利用された場合、上部にかなりデカめのmarginが出てしまうのでその対策 */
#main div#content h2.headLine2:first-child {
    margin-top: 60px;
}
/* ul（ol） + p の場合に上部のmarginが無さすぎるので対策 */
#main:not(.mainNews-single) ul + p,
#main:not(.mainNews-single) ol + p{
    padding-top: 3em;
}
/* 業者の実演を見て問題を検出 */
#main ul + ul:not(.subCategoryNavi) {
    padding-top: 2rem;
}
#main #subNavi p {
    padding-top: 0;
}
/* ↑KCCTによる追記 - ここまで↑ */

#main table.commonTable2 td {
    line-height: 20px;
}

#main table.commonTable2 th,
#main table.commonTable2 td {
    font-size: 14px;
}

.contentsList {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-left: 1.5em;
}
.mainActivity-single .contentsList,
.mainNews-single .contentsList {
    gap: 8px;
}
.noMarker {
    margin-left: 0;
}
.contentsList > li {
    line-height: 1.5;
}
.discList > li {
    list-style-type: disc;
}
.circleList > li {
    list-style-type: circle;
}
.squareList > li {
    list-style-type: square;
}
.decimalList > li {
    list-style-type: decimal;
}
.zerodecimalList > li {
    list-style-type: decimal-leading-zero;
}
.upperRomanList > li {
    list-style-type: upper-roman;
}
.lowerRomanList > li {
    list-style-type: lower-roman;
}
.upperLatinList > li {
    list-style-type: upper-latin;
}
.lowerLatinList > li {
    list-style-type: lower-latin;
}
.decimalList > li,
.zerodecimalList > li,
.upperRomanList > li,
.lowerRomanList > li,
.upperLatinList > li,
.lowerLatinList > li {
    padding-left: 0.5rem !important;
}

ol.exList {
  counter-reset: cnt;
  list-style: none;
  padding-left: 0;
}
ol.exList > li {
  counter-increment: cnt;
  position: relative;
  padding-left: 1.75em;
  margin-bottom: 0.5rem !important;
}
ol.exList > li::before {
  position: absolute;
  left: 0;
  text-align: left;
}
ol.kkNumberList > li::before {
  content: "(" counter(cnt) ") ";
}
ol.overRoundList > li::before {
  content: "○ ";
}

li > ul.contentsList ,
li > ol.exList {
  padding: 0.5rem 0;
}

.textFrame {
    padding: 40px;
    border: 1px solid #e8e8e8;
}
.textHr {
    border-top: 0.5px solid #000;
}

.contentsTable {
    border-left: 1px solid #CCC;
    border-bottom: 1px solid #CCC;
    margin: 30px 0 0;
    /* min-width: 1000px; */
}
.contentsTable th,
.contentsTable td {
    text-align: center;
    border-top: 1px solid #CCC;
    border-right: 1px solid #CCC;
    vertical-align: middle;
}
.contentsTable th {
    padding: 10px 20px;
    background-color: #E6E6E6;
    color: var(--primary_color);
    font-weight: normal;
    word-spacing: 1em;
}
.contentsTable td {
    padding: 10px 10px;
}

#contents img {
    max-width: 100%;
    height: auto;
    padding: 0;
    margin-bottom: 3px;
}
#contents img + p,
#contents img + figcaption {
    margin-top: 3px;
    line-height: 1.5em;
}

#contents figure + figure {
    margin-top: 2rem;
}

#contents .wp-caption-text {
    padding-block: 0;
}
#contents .wp-caption {
    max-width: 100%;
}
#contents .wp-caption.alignleft {
    float: left;
    margin-right: 20px;
}
#contents .wp-caption.alignright {
    float: right;
    margin-left: 20px;
}

.contentsColumn2 {
    display: flex;
    justify-content: space-between;
    gap: 40px;
}
.contentsColumn2__left,
.contentsColumn2__right {
    display: flex;
    flex-direction: column;
    width: calc(50% - 20px);
}
.contentsColumn2 img {
    padding: 10px 0 !important;
}

.contentsColumn3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0 20px;
}
.contentsColumn3 img + br{
    display: none;
}
.contentsColumn3 .wp-caption{
    width: auto!important;
}
.contentsColumn3 .wp-caption.aligncenter{
    text-align: center;
}

p + .contentsColumn3,
ul + .contentsColumn3,
ol + .contentsColumn3,
h2 + .contentsColumn3,
h3 + .contentsColumn3,
h4 + .contentsColumn3,
div + .contentsColumn3,
table + .contentsColumn3{
    margin-top: 1em;
}
.contentsColumn3 + .contentsColumn3{
    margin-top: 1.5em;
}
div.contentsColumn3 img {
	margin-bottom: 0 !important;
}

.d-none {
    display: none;
}
.d-pc-block {
    display: block;
}

ul.subCategoryNavi{
    list-style-type: none!important;
}

.img-grid{
    display: flex;
    gap: 40px;
}
.contentBoxB .imgBoxA .left-box,
.contentBoxC .imgBoxB .left-box{
    max-width: 720px;
}
@media screen and (max-width: 449.98px){
    .contentBoxB .imgBoxA .left-box,
    .contentBoxC .imgBoxB .left-box{
        width: 100%;
    }
    .contentsColumn2{
        flex-direction: column;
        gap: 20px 0;
    }
    .contentsColumn2__left,
    .contentsColumn2__right{
        width: 100%;
    }

    .contentsColumn3 {
        display: grid;
        grid-template-columns: 1fr;
        gap: 20px 0;
    }

    .contentsTable{
        width: 100%;
        min-width: 100%;
    }

    .p-table .contentsTable{
        min-width: 1000px;
    }

    .mainNews-single .contentsTable th,
    .mainNews-single .contentsTable td,
    .mainActivity-single .contentsTable th,
    .mainActivity-single .contentsTable td{
        width: auto!important;
    }
}

#contents .contentsColumn2__left img,
#contents .contentsColumn2__right img{
    width: 100%!important;
}

/* ↓KCCTによる追記 - ここから↓ */
#contents .contentsColumn2__left img:has(+ p),
#contents .contentsColumn2__right img:has(+ p){
    padding-bottom: 0!important;
}
#contents .contentsColumn2__left img + p,
#contents .contentsColumn2__right img + p {
    padding-bottom: 10px!important;
}
/* ↑KCCTによる追記 - ここまで↑ */

#contents strong{
    font-weight: bold;
}

#content ul,
#content ol{
    list-style-type: none;
}

/* ↓KCCTによる追記 - ここから↓ */
/* 番号付き箇条書きの場合に番号と内容が近すぎる問題の解決 */
ul.decimalList li {padding-left: 0.5rem!important}

/* シラバスのページでM科1～3年のB組だけ文字が大きくなるのを予防(学科再編後は消して大丈夫かも) */
table.commonTable2 tbody tr td p a[href="./kikai#m1b"], 
table.commonTable2 tbody tr td p a[href="./kikai#m2b"], 
table.commonTable2 tbody tr td p a[href="./kikai#m3b"] {
    font-size: 14px !important;
}

/* 入れ子になったulを少しだけ綺麗にする */
ul li ul.contentsList {
    margin-top: 1em;
    margin-bottom: 2em;
    gap: 0.5em;
}

/* pタグが並んだ場合に無駄に行間が広がらないように調整 */
#main p+p:not(.p-newsWrap__category) {
    padding-top: 0;
}

#main td,
#main th {
    line-height: 1.5em;
}

/* キャプションで文字を入れた場合、文字と画像の間が広がりすぎるのを修正 */
.wp-caption-text {
    margin-top: 3px !important;
    padding: 0 !important;
    font-size: 14px !important;
    line-height: 1.25rem !important;
}
/* 高専だより・お知らせの画像キャプションは自動的に文字を中央寄せ */
.mainActivity-single td {
    text-align: center !important;
}
/* 高専だより・お知らせの画像周りでwidthがバグるのを修正 */
.mainActivity-single .aligncenter,
.mainNews-single .aligncenter {
    width: auto !important;
}
/* 高専だよりの画像も自動的に中央寄せ */
.mainActivity-single .aligncenter img,
.mainNews-single .aligncenter img {
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 3px !important;
}

.mainActivity-single .wp-caption.aligncenter img {
    margin-bottom: 0 !important;
}
	
/* 高専だよりの画像は強制的に縦横最大310pxまでとする*/
.mainActivity-single  img {
    max-width: 310px !important;
    max-height: 310px !important;
}
/* ↑KCCTによる追記 - ここまで↑ */

/* 310pxより大きい画像を表示したい場合 */
/* 神戸高専側で1000px -> 50vh に変更 */
/* (縦に1000pxは流石に画面幅への考慮が足りていないので修正) */
.mainActivity-single  img.large {
    max-width: calc(60vw) !important;
    max-height: calc(50vh) !important;
}

.mceTemp .wp-caption-dd {
    text-align: center;
}

.textAlignCenter {
    text-align: center;
}

.textAlignCenter .wp-caption {
    margin-left: auto;
    margin-right: auto;
}

/* シラバス等で出てくる #katei 系に対する制御 */
div#katei {
    margin-top: 0px;
}
#katei table {
    margin: 10px 20px 30px auto;
    min-width: 1000px;
    font-size: 90%;
    border-left: 1px solid #CCC;
    border-bottom: 1px solid #CCC;
    border-collapse: collapse;
}

#katei table th,
#katei table td {
    text-align: center;
    border: 1px solid #CCC;
    vertical-align: middle;
    padding: 10px;
}

#katei table th {
    background-color: #E6E6E6;
    color: var(--primary_color);
    font-weight: normal;
}

#katei table th:nth-child(1) {
    width: 100px;
}

#katei table th:nth-child(2) {
    width: 200px;
}

#katei table th:nth-child(3) {
    width: 300px;
}

#katei table th:nth-child(4) {
    width: 400px;
}

#katei .headLine3 {
    padding-top: 34px;
}

#katei .headLine4 {
    padding-top: 0 !important;
    margin-top: 20px !important;
}

#katei .headLine4::before {
    bottom: 34px;
}

#katei .leftT,
#katei .leftTT {
    text-align: left;
}

#katei .leftTT {
    vertical-align: top;
}

/* 受験生向け説明会ページ用 */
.exam_session #main p + .headLine2 {
    margin-top: 40px;
}
.exam_session #main .headLine3 + p {
    margin-top: 22px;
}
.exam_session #main .headLine2 + p {
    margin-top: 0;
}
.exam_session #main .headLine2 + ul {
    padding: 10px 0;
    margin-top: 0;
    gap: 0.5rem;
}
.exam_session #main .contentsTable td {
    text-align: left;
    padding: 10px 20px;
}

/* 機能として実装しておく */
span.add-em-dom::after {
    content: '＠kobe-kosen.ac.jp';
}

/* これ以降、画面サイズに応じた制御 */

@media screen and (max-width: 1399.98px) {

    /* 神戸高専だより */
    .p-activity__list {
        grid-template-columns: repeat(2, 1fr);
    }

    /* header */
    .p-header__menu {
        display: grid;
        grid-template-columns: repeat(4, 2fr);
    }
}

@media screen and (max-width: 1299.98px) {

    /* お知らせ */
    .p-news__tab {
        grid-template-columns: repeat(4, 2fr);
        padding-bottom: 20px;
    }
    /* コンテンツ中身 */
    .forNoSidemenu__list {
        grid-template-columns: repeat(2, 1fr);
    }
    #main,
    .main {
        padding-bottom: 150px;
        margin-inline: none;
        margin: 0;
    }
    .contents {
        width: 100% !important;
        margin-left: 0;
    }
}

@media screen and (max-width: 1149.98px) {
    /* header */
    .p-header__menu {
        display: grid;
        grid-template-columns: repeat(3, 2fr);
    }
}

@media screen and (max-width: 1049.98px) {

    #main h2 {
        font-size: 18px;
    }
    #main h3 {
        font-size: 16px;
    }
    #main .headLine2 {
        padding-left: 15px;
        line-height: 26px;
    }
    .forNoSidemenu__list > li > a {
        font-size: 14px;
        padding-right: 50px;
    }
    .forNoSidemenu__list > li > a > p {
        font-size: 12px !important;
    }
    .p-footer {
        padding: 50px 15px 15px;
    }
    .p-footer__logo {
        margin: 0 auto;
    }
    .p-footer__inner {
        flex-direction: column;
        gap: 20px;
    }
    /* お知らせ */
    .p-news__list {
        padding: 20px 0 40px;
    }
    .p-news__list > li {
        margin-inline: 35px;
    }
    /* 検索結果 */
    .p-search__list {
        margin-top: 50px;
        gap: 50px;
    }
    .p-search__link {
        flex-direction: column;
    }
    .p-search__img {
        max-width: none;
        max-height: 200px;
    }
    .p-search__ttl {
        font-size: 16px;
    }
    .p-search__txt {
        font-size: 14px;
    }
    .p-search__none {
        font-size: 16px;
    }
    /* ページネーション */
    .p-pager .page-numbers {
        gap: 20px;
    }
}

@media screen and (max-width: 959.98px) {

    /* WP調整 */
    /* html :where(img[class*=wp-image-]) {
        width: 100% !important;
    } */
	.contentsColumn3 {
		display: unset !important;
	}
	
	.contentsColumn3 > div.wp-caption {
		margin-bottom: 1.5rem;
	}
	.contentsColumn3 > img + img {
		margin-top: 1rem;
	}
	
	.mainActivity-single img.alignleft, 
	.mainActivity-single img.alignright {
        margin: auto;
	}
	

    /* SP切り替え */
    .p-header__menu ,
    .-sp {
        display: none;
    }

    /* hover系 */
    a:hover {
        opacity: 1;
    }
    .p-navMain > li:hover::before,
    .p-navMain > li:hover .p-navWrap {
        animation: none;
        transform: none;
        transition: unset;
    }

    #contents {
        width: 100% !important;
        margin-left: 0;
    }
    #main p, #main span, #main li {
        font-size: 14px;
    }

    /* 2階層目のメニュー */
    .forNoSidemenu__list {
        grid-template-columns: repeat(1, 1fr);
        padding: 30px 20px 0;
        gap: 15px;
    }
    .forNoSidemenu__list > li {
        min-height: 95px;
    }
    .forNoSidemenu__list > li > a {
        padding: 20px 40px 15px 20px;
    }
    #main .forNoSidemenu__list > li > a > p {
        line-height: 1.4;
    }

    
    /* パンくずリスト */
    .breadCrumb {
        padding: 30px 30px 20px;
        gap: 0;
    }
    .breadCrumb li {
        padding-right: 35px;
    }
    #breadCrumb li a,
    .breadCrumb li,
    .breadCrumb li a {
        font-size: 12px;
    }
    .breadCrumb li::before {
        right: 12px;
        width: 12px;
        height: 12px;
    }
    #main .headLine4 {
        padding: 30px 0 30px 23px;
    }
    #main .headLine4::before {
        left: 5px;
    }
    #main h3 {
        font-size: 16px;
    }
    #main .headLine3 {
        padding-top: 30px;
    }
    #main #grade1,
    #main #grade2,
    #main #grade3,
    #main #grade4,
    #main #grade5{
        margin-top: 30px;
    } 
    #main .headLine2 {
        margin: 3rem 0 0;
    }
    #main .headLine2 + div,
    #main .headLine3 + div {
        margin-top: 30px;
    }
    .contentBoxA > p {
        font-size: 14px;
    }
    #main table.commonTable2 {
        margin: 30px 0 0;
    }
    #katei table {
        margin: 0;;
    }
    #katei .headLine4 {
        padding-top: 30px;
    }
    #main .sp_textCenter {
        text-align: center;
    }
    #main .sp_textCenter img {
        margin-left: auto;
        margin-right: auto;
    }
    /* 追従ボタン */
    .p-followButton {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 50px;
        display: grid;
        gap: 1px;
        grid-template-columns: repeat(3, 1fr);
        border-radius: 10px 10px 0 0 ;
        background: #fff;
        z-index: 9;
    }
    .p-followButton.close {
        display: none;
    }
    .p-followButton__link {
        width: 100%;
    }
    .p-followButton__link:first-child > a {
        border-radius: 10px 0 0 0 ;
    }
    .p-followButton__link:last-child > a {
        border-radius: 0 10px 0 0 ;
    }
    .p-followButton__link > a {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 100%;
        background: var(--primary_color);
        color: #fff;
        font-weight: 700;
        font-size: 14px;
        letter-spacing: 0.5px;
    }

    /* サイドバー */
    .p-sidebar {
        width:100%;
        left: auto;
        right: -120%;
        transition: all 0.6s;
        padding-top: 60px;
        z-index: 99;
    }
    .p-sidebar.panelactive{
        top: 0;
        right: 0;
    }
    .p-sidebar__logo {
        display: none;
    }
    .p-hr {
        display: none;
    }
    .p-sidebar {
        overflow-y: scroll;
        overscroll-behavior-y: contain;
    }
    .p-navMain {
        padding: 0;
    }
    .p-navMain__click {
        padding: 20px 15px;
        border-bottom: 0.5px solid #A6A6A6;
    }
    .p-navMain__click::before {
        content: none;
    }
    .p-navWrap {
        position: static;
        display: none;
        height: auto;
        pointer-events: none;
        max-width: none;
    }
    .p-navMain > li:hover .p-navWrap,
    .p-navMain > li:hover::before {
        display: none;
    }
    .p-navSub {
        padding: 0;
    }
    .p-navSub > li > a {
        padding: 20px 15px;
    }
    .p-navSub > li > a::before {
        top: 20px;
    }
    /* header */
    .p-header {
        justify-content: space-between;
        gap: 0;
        height: 60px;
        margin: 0 auto;
        width: 100%;
    }
    .p-header__iconBox > .-en > a {
        font-size: 13px;
    }
    .p-header__iconBox li a,
    .p-iconBox__search {
        width: 60px;
        height: 60px;
        font-size: 12px;
        gap: 3px;
        padding-top: 4px;
    }
    .p-header__logo {
        display: block;
        margin: auto 0;
        padding-left: 15px;
    }
    .p-header__logo > a,
    .p-header__logo > a > img {
        display: block;
    }
    /* サブメニュー */
    /* .categoryNavi {
        gap: 8px;
    } */
    .categoryNavi > li > a {
        font-size: 14px;
    }
    .subCategoryNavi {
        overflow-y: auto;
    }
    .subCategoryNavi li > a {
        font-size: 14px;
    }
    .subCategoryNavi.open {
        display: flex;
        animation-name: displayAnime;
        animation-duration: 0.5s;
        animation-fill-mode: forwards;
    }
    .categoryNavi > li.check > a {
        pointer-events: auto;
    }
    .categoryNavi > li > .subMenu {
        cursor: pointer;
    }
    .categoryNavi > li.check > a::before {
        content: url(/kobekosen_ac_wp/wp-content/themes/kobe-kosen2024/common/images/submenu-clickCheck.svg);
    }
    .categoryNavi > li.check > a.open::before {
        content: url(/kobekosen_ac_wp/wp-content/themes/kobe-kosen2024/common/images/submenu-clickCheckClose.svg);
    }
    /* ハンバーガー */
    .p-hamburger__btn{
        display: block;
        position:relative;
        z-index: 9999;
        cursor: pointer;
        width: 60px;
        height: 60px;
    }
    .p-hamburger__btn span{
        position: absolute;
        display: inline-block;
        background: #fff;
        transition: all .4s;
        left: 18px;
        height: 2px;
        width: 25px;
    }
    .p-hamburger__btn span:nth-of-type(1) {
        top:12px;
    }
    .p-hamburger__btn span:nth-of-type(2) {
        top:20px;
    }
    .p-hamburger__btn span:nth-of-type(3) {
        top:28px;
    }
    .p-hamburger__btn.active span:nth-of-type(1) {
        top: 15px;
        left: 18px;
        transform: translateY(6px) rotate(-45deg);
    }
    .p-hamburger__btn.active span:nth-of-type(2) {
        opacity: 0;
    }
    .p-hamburger__btn.active span:nth-of-type(3){
        top: 27px;
        left: 18px;
        transform: translateY(-6px) rotate(45deg);
    }
    .p-hamburger__text {
        position: absolute;
        color: #fff;
        font-size: 12px;
        letter-spacing: 0.5px;
        font-weight: 400;
        left: 15px;
        bottom: 10px;
    }
    .p-header__menu-sp {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1px;
    }
    .p-header__menu-sp li {
        width: 100%;
    }
    .p-header__menu-sp li a {
        position: relative;
        color: #fff;
        font-size: 12px;
        font-weight: 700;
        letter-spacing: 0.5px;
        background: #8C8C8D;
        padding: 20px 30px 20px 15px;
        display: block;
        height: 100%;
    }
    .p-header__menu-sp li a::before {
        content: url(/kobekosen_ac_wp/wp-content/themes/kobe-kosen2024/common/images/click-white.svg);
        width: 15px;
        height: 15px;
        position: absolute;
        top: 20px;
        right: 15px;
        pointer-events: none;
    }
    .p-header__iconBox-sp {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1px;
        border-top: 1px solid #fff;
        height: 80px;
    }
    .p-header__iconBox-sp > .-en > a {
        font-size: 15px;
    }
    .p-header__iconBox-sp li img {
        width: 20px;
        height: 20px;
    }
    .p-header__iconBox-sp li {
        width: 100%;
    }
    .p-header__iconBox-sp li a {
        color: #fff;
        height: 80px;
        text-align: center;
        display: flex;
        gap: 5px;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        font-size: 14px;
        background: var(--primary_color);
    }
    /* アコーディオン */
    .u-plus {
        display: block;
        position: absolute;
/*         top: 11px; */
		top: 2px;
        right: 15px;
        padding: 20px;
        z-index: 99999;
        background: transparent;
        color: transparent;
        width: 40px;
        height: 40px;
    }
    .u-plus::before,
    .u-plus::after {
        position: absolute;
        content: '';
        width: 15px;
        height: 2px;
        background-color: #333;
        top: 50%;
        right: 33%;
        transition: all 0.5s ease;
    }
    .u-plus::before { transform: rotate(0deg); }
    .u-plus::after { transform: rotate(90deg); }
    
    .p-navMain > li > .close::after,
    .p-navWrap__list01 > li > .close2::after {
    transform: rotate(0deg);
    transition: all .5s ease;
    }
    .p-navWrap {
        padding: 0;
        background: transparent;
        overflow-y: auto;
        overscroll-behavior-y: none;
        pointer-events: auto;
    }
    .p-navWrap__list01 {
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: 0;
    }
    .p-navWrap__list01 > li {
        width: 100%;
        position: relative;
        border-bottom:0.5px solid #A6A6A6;
    }
    .p-navWrap__list01 > li > a {
        font-weight: 400;
        color: #000;
        width: 100%;
        padding: 20px 45px 20px 15px;
    }
    .p-navWrap__list01 > li > a::before {
        content: url(/kobekosen_ac_wp/wp-content/themes/kobe-kosen2024/common/images/click-light.svg);
        top: 22px;
        right: 28px;
    }
    .p-navWrap__list01 > li > a::after {
        content: none;
    }
    .p-navWrap__list01 > li > .u-plus::before {
        top: 50%;
        height: 1px;
    }
    .p-navWrap__list01 > li > .u-plus::after {
        height: 1px;
    }
    /* ハンバーガー内部 */
    .p-navWrap__heading01 {
        position: relative;
        padding-bottom: 0;
    }
    .p-navWrap__heading01 > a {
        padding: 20px 15px;
        background: #fff;
        border-bottom: 0.5px solid #A6A6A6;
        width: 100%;
        color: #000;
        height: auto;
        display: block;
        text-align: left;
        font-size: 16px;
        font-weight: 400;
    }
    .p-navWrap__heading01 > a::before {
        content: url(/kobekosen_ac_wp/wp-content/themes/kobe-kosen2024/common/images/click-light.svg);
        top: 20px;
        right: 28px;
    }
    .p-navWrap__heading01 > a:hover {
        color: #000;
    }
    .p-navWrap__heading01 > a:hover::before {
        content: url(/kobekosen_ac_wp/wp-content/themes/kobe-kosen2024/common/images/click-light.svg);
    }
    /* footer */
    .p-footer {
        width: 100%;
        margin-left: 0;
    }
    .p-footer__menu {
        padding: 30px 0 40px;
        flex-wrap: wrap;
        gap: 15px 30px;
        justify-content: center;
        align-items: center;
        text-align: center;
    }
    /* 検索ボックス */
    .p-iconBox__searchForm {
        top:61px;
        right:0;
        width: 100%;
    }
    #searchinput {
        max-width: none;
    }
    /* お知らせ */
    .p-news__tab > li > a {
        font-size: 12px;
    }
	.p-news__list {
		padding: 0 0 5px;
	}
    .p-news__list > li {
        padding: 18px 0 15px;
        margin-inline: 15px;
    }
	.p-news__list > li:last-child {
        border-bottom: none;
	}
    .p-newsWrap__date {
        font-size: 12px !important;
    }
    .p-news__link {
        font-size: 14px !important;
        line-height: 22px !important;
        padding-right: 2rem;
    }
	.p-news__link::before {
		top: 0.05rem;
		right: 0.5rem;
	}
    .p-newsWrap__category {
        font-size: 12px !important;
        max-width: 90px;
        height: 25px;
    }
    .mainNews-single #admission {
        font-size: 14px;
        line-height: 22px;
    }
    .mainNews-single a {
        margin-top: 20px !important;
    }
    .mainNews-single .p-newsWrap__date {
        font-size: 12px !important;
    }
    /* 神戸高専だより */
    .p-activity__list {
        gap: 30px;
    }
    .p-activity__img {
        height: 200px;
    }
    .p-activityWrap__title {
        font-size: 15px !important;
    }
    .p-activityWrap__text {
        font-size: 13px !important;
    }
    .p-singleArrow {
        gap: 20px;
        padding-top: 50px;
    }
    .p-singleArrow__right > a,
    .p-singleArrow__left > a {
        font-size: 14px;
    }
    .p-singleArrow__button {
        max-width: 140px;
    }
    .p-singleArrow__button > a {
        max-width: 140px;
        height: 40px;
        font-size: 12px;
    }
    .mainNews-single .p-newsWrap {
        flex-direction: column-reverse;
        gap: 0;
    }
    .mainActivity-single .p-activityWrap__date {
        font-size: 12px !important;
    }

    .page-top-container {
        bottom: 50px;
    }

    /* table */
    .mainNews-single th:not(#ric table th):not(table.ex-unset th), 
    .mainNews-single td:not(#ric table td):not(table.ex-unset td),
    .mainActivity-single table th:not(table.ex-unset th),
    .mainActivity-single table td:not(table.ex-unset td) {
        width:100% !important;
        font-size: 90%;
    }
    /* 高専だより・お知らせの画像が縦に並ぶように */
    .mainActivity-single table th,
    .mainActivity-single table td,
    .mainNews-single table th,
    .mainNews-single table td {
        display:block !important;
    }

    .mainActivity-single .contentsTable th,
    .mainActivity-single .contentsTable td,
    .mainNews-single .contentsTable th,
    .mainNews-single .contentsTable td {
        display:table-cell !important;
    }
	
	table th,
    table td {
        font-size: 90%;
    }
	
	#ric table th {
        font-size: 90%;
		width: 33% !important;
    }
	#ric table td {
        font-size: 90%;
    }


	/* ページネーション */
    .p-pager .page-numbers {
        gap: 10px;
    }
    .p-pager .page-numbers.current,
    .p-pager .page-numbers > li > a {
        font-size: 16px;
    }

    #main .headLine4 {
        padding: 0px 0 0px 23px;
    }
    
    .p-main-underlayer {
        min-height:calc(100svh - 60px);
        margin-top: 60px;
    }
    .p-footer__address {
        width: fit-content;
        margin: auto;
    }
    .d-sp-none {
        display: none;
    }
    .d-sp-block {
        display: block;
    }
    .d-sp-inline {
        display: inline;
    }
	
	.p-navMain__click.two_lines{
		padding: 20px 45px 20px 15px;
	}
}

@media screen and (max-width: 767.98px) {

    #contents .wp-caption.alignright,
    #contents .wp-caption.alignleft {
        float: none;
        margin-inline: auto;
    }
    
    #contents .wp-caption.alignleft + p,
    #contents .wp-caption.alignright + p {
        margin-inline: auto;
    }
}

@media screen and (max-width: 743.98px) {

    .forNoSidemenu__list {
        justify-content: center;
    }
}

@media screen and (max-width: 599.98px) {

    /* 神戸高専だより */
    .p-activity__list {
        grid-template-columns: repeat(1, 1fr);
    }
}

@media screen and (max-width: 499.98px) {
    /* ページネーション */
    .p-pager .page-numbers > li > a ,
    .p-pager .page-numbers > li > span {
        padding: 0 5px;
    }
}

@media screen and (max-width: 374.98px) {

    .p-header {
        gap: 10px;
        width:100%;
    }
    .p-header__logo > a > img {
        max-width: 135px;
    }

    .p-hero__copy {
        max-width: 260px !important;
        font-size: 26px !important;
        line-height: 32px;
    }
    .p-hero__min {
        font-size: 20px !important;
    }
    .p-hero__paragraph {
        font-size: 20px !important;
        line-height: 26px !important;
    }
    /* ページネーション */
    .p-pager .page-numbers.current,
    .p-pager .page-numbers > li > a {
        font-size: 14px;
    }
}

@media screen and (max-width: 334.98px) {

    .p-header__logo > a > img {
        max-width: 120px;
    }
    /* ページネーション */
    .p-pager .page-numbers > li > a,
    .p-pager .page-numbers > li > span {
        padding: 0 2px;
    }
}

/**
 *  Gtranslate (2026.02.13 - KCCTでインデントと中身修正)
 */

.gtranslate_wrapper{
    /* position: fixed; */
    position: absolute;
    bottom:10px;
    right: 90px;
    z-index: 2;
}

.gt_float_switcher{
    background: transparent !important;
    /* box-shadow: none !important; */
}

.gt_float_switcher .gt-selected {
    background-color: #fff !important;
    width: 150px!important;
    height: 50px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.gt_float_switcher .gt-selected .gt-current-lang {
    color: #043c78 !important;
    text-align: center !important;
    font-size: 18px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100% !important;
}

.gt_float_switcher .gt-selected .gt-current-lang span.gt-lang-code {
    display: flex;
    align-items: center;
    top: 0px !important
}

.gt_float_switcher .gt-selected .gt-current-lang span.gt_float_switcher-arrow {
    background-image:url(/kobekosen_ac_wp/wp-content/themes/kobe-kosen2024/common/images/click-blue.svg) !important;
    transform: rotate(-90deg) !important;
    margin-left: 5px;
    margin-bottom: 0 !important;
}

.gt_float_switcher .gt-selected .gt-current-lang span.gt_float_switcher-arrow.gt_arrow_rotate{
    transform: rotate(90deg) !important;
}

.gt_float_switcher .gt_options{
    background:#fff !important;
    transform: translateY(30px) !important;
    opacity: 0 !important;
    transition: transform .35s ease, opacity .35s ease !important;
}

.gt_float_switcher .gt_options.gt-open{
    transform: translateY(0px) !important;
    opacity: 1 !important;
}

.gt_float_switcher .gt_options a {
    display: flex !important;
    background: #fff;
    color: #043c78 !important;
    font-size:18px !important;
    width: 100% !important;
    height: auto;
    justify-content: center;
    padding-block: 15px !important;
}

.gt_float_switcher .gt_options a:hover{
    color:#fff !important;
}

.gt_float_switcher img {
    margin-right: 6px !important;
    margin-bottom: 0px !important;
    width: 30px !important;
    height: 20px !important;
    border-radius: 5px !important;
}

@media screen and (max-width: 959.98px) {

    .gtranslate_wrapper{
        right: 10px;
        /* bottom:60px; */
    }

    .gt_float_switcher .gt-selected {
        width: 120px !important;
        height: 60px !important;
    }

    .gt_float_switcher {
        font-size: 14px !important;
    }

    .gt_float_switcher .gt-selected .gt-current-lang {
        top: 0 !important;
    }

    .gt_float_switcher .gt_options a {
        width: 120px !important;
        height: auto;
        font-size: 14px !important;
    }
}


/**
 *  KCCT作成：主にノートPCでサイドバーが縦方向へ見切れて表示できないバグの修正
 */
@media screen and (min-width: 960px) and (max-height: 849.98px) {
    .p-navWrap { 
        padding-top: 40px;
    }
    .p-navWrap .p-navWrap__list01 {
        gap: 20px 0;
    }
}
@media screen and (min-width: 960px) and (max-height: 749.98px) {
    .p-navWrap .p-navWrap__list01 {
        gap: 18px 0;
    }
}
@media screen and (min-width: 960px) and (max-height: 699.98px) {
    .p-navWrap {
        height: 100%;
        top: 0px;
        padding-top: 35px;
    }
    .p-navWrap .p-navWrap__list01 {
        gap: 16px 0;
    }
}
@media screen and (min-width: 960px) and (max-height: 649.98px) {
    .p-navMain__click {
        padding: 11px 25px;
    }
}

/* margin, padding系の操作 */
.ml-0i { margin-left:   0 !important;}
.mr-0i { margin-right:  0 !important;}
.mt-0i { margin-top:    0 !important;}
.mb-0i { margin-bottom: 0 !important;}
.ml-1ei { margin-left:   1em !important;}
.mr-1ei { margin-right:  1em !important;}
.mt-1ei { margin-top:    1em !important;}
.mb-1ei { margin-bottom: 1em !important;}
.pl-0i { padding-left:   0 !important;}
.pr-0i { padding-right:  0 !important;}
.pt-0i { padding-top:    0 !important;}
.pb-0i { padding-bottom: 0 !important;}
.pl-1ei { padding-left:   1em !important;}
.pr-1ei { padding-right:  1em !important;}
.pt-1ei { padding-top:    1em !important;}
.pb-1ei { padding-bottom: 1em !important;}
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ============ 英語時用の定義ここから ============ */
/* KCCTが作成 2026.02.12 */

/**
 *  左メニューの中央寄せを狂わせる <br> と自動生成で混ざる空のspanを無効化
 */
html:lang(en) .p-navMain > li > .p-navMain__click > br,
html:lang(en) .p-navMain > li > .p-navMain__click > span:has(> font:empty) {
    display: none !important;
}

/* 高さ問題も含めて調整（重なり防止 + 詰める + 中央揃え） */
html:lang(en) .p-navMain .p-navMain__click{
    height: auto !important;
    min-height: 42px;
    font-size: 13px;
    letter-spacing: 0.3px;
    padding: 7px 25px 7px 10px;
    line-height: 1.01;
}
html:lang(en) .p-navMain .p-navMain__click.two_lines{
    line-height: 1.01;
}
html:lang(en) .p-navMain__click::before {
    right: 12px;
}
@media screen and (max-height: 699.98px) {
    html:lang(en) .p-navMain .p-navMain__click{
        line-height: 0.85 !important;
        min-height: unset;
    }
}
@media screen and (max-height: 599.98px) {
    html:lang(en) .p-navMain .p-navMain__click{
        padding: 5px 25px 5px 10px;
    }
}

/* 注釈部分を小さく */
html:lang(en) .p-navMain .p-navMain__click span:has(font){
    font-size: 10px;
    font-weight: 600;
    line-height: 1.05;
}

/* スマホ時のフッターメニューの文字を中央寄せに */
html:lang(en) .p-followButton__link > a > font,
html:lang(en) .p-tab > a > font,
html:lang(en) .p-newsWrap__category >font {
    text-align: center;
}

/* スマホ時の下メニューが大幅にはみ出すやつの修正 */
.p-connection__list > li > a {
	min-height: 60px;
	height: unset;
	padding: 10px 40px 10px 15px;
}

/* 学科名が翻訳されて2重になってるし、翻訳された学科名違うし */
html:lang(en) .p-courseWrap__title {
	display: none;
}
html:lang(en) .p-courseWrap__en {
	font-size: 16px;
	font-weight: 700;
}
html:lang(en) .p-courseWrap__en::before {
	content: "Department of ";
}

/* 2階層目のメニュー表示が間延びしないようにするやつ */
html:lang(en) .forNoSidemenu__list > li > a {
    padding: 25px 40px 20px 20px;
}
html:lang(en) #main .forNoSidemenu__list > li > a > p {
    line-height: unset;
}


/* ============ 英語時用の定義ここまで ============ */


/* 固定ページ css調整            業者が追記 2024.10.25 */
/* 上方で完全重複する内容        KCCTが削除 2024.10.27 */
/*     .contentsList {                                 */
/*         display: flex;                              */
/*         flex-direction: column;                     */
/*         gap: 8px;                                   */
/*         margin-left: 1.5em;                         */
/*     }                                               */
/*     .contentsList > li {                            */
/*         line-height: 1.5;                           */
/*     }                                               */
/*                                                     */
/*     .contentsTable {                                */
/*         border-left: 1px solid #CCC;                */
/*         border-bottom: 1px solid #CCC;              */
/*         margin: 30px 0 0;                           */
/*     }                                               */
/*     .contentsTable th,                              */
/*     .contentsTable td {                             */
/*         text-align: center;                         */
/*         border-top: 1px solid #CCC;                 */
/*         border-right: 1px solid #CCC;               */
/*         vertical-align: middle;                     */
/*     }                                               */
/*     .contentsTable th {                             */
/*         padding: 10px 20px;                         */
/*         background-color: #E6E6E6;                  */
/*         color: var(--primary_color);                */
/*         font-weight: normal;                        */
/*         word-spacing: 1em;                          */
/*     }                                               */
/*     .contentsTable td {                             */
/*         padding: 10px 10px;                         */
/*     }                                               */
/*                                                     */
/*     #contents img + p,                              */
/*     #contents img + figcaption{                     */
/*         margin-top: 10px;                           */
/*     }                                               */
/* 以下に30行あったコードは場所を移動 @KCCT 2024.10.27 */

/**
 *  MEMO(fm:KCCT) : 追記時の注意
 *  ・全く同じ宣言を2度していないか
 *  ・全く同じセレクタを上の行で定義していないか
 *  ・追記する位置は考慮したか(適切か)
 *  ・無駄な空行や空白などはないか
 */