/* ----------------------------------------

- initialize

---------------------------------------- */
html {
  scroll-padding-top: 151px;
}

body {
    font-family: 'Helvetica Neue',
    Arial,
    'Hiragino Kaku Gothic ProN',
    'Hiragino Sans',
    Meiryo,
    sans-serif;
    font-size: 16px;
    line-height: 1.5;
    color: #333;
    margin: 0;
}

p {
    line-height: 1.7;
}

img {
    display: block;
    max-width: 100%;
}

@media screen and (max-width: 767px) {
    body {
        font-size: 14px;
        min-width: inherit;
    }

    body.active {
        overflow: hidden;
    }

}

/* ----------------------------------------

- header

---------------------------------------- */

.header {
    width: 100%;
    min-width: 1112px;
    border-bottom: 1px solid #ccc;
    background-color: #FFFFFF;
    position: fixed;
    z-index: 1000;
    top: 0;
}

.header .header_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 1112px;
    min-width: 1112px;
    margin: 0 auto;
    padding: 10px 16px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 86px;
}

/*headerLogo*/
.headerLogo > a {
    display: flex;
    align-items: center;
    font-size: 24px;
    font-weight: 700;
}

.headerLogo > a > span {
    margin-left: 8px;
    line-height: 1.3;
}


/* headerContent
------------------------------------*/

.headerContent {
    margin-left: auto;
}

.headerContent .headerContent_bottom {
    margin-top: 8px;
    display: flex;
    align-items: center;
}


/* headerLang
------------------------------------*/
.headerLang {
    display: flex;
    justify-content: flex-end;
}

.headerLang .headerLang_item {
    font-size: 14px;
    position: relative;
}

.headerLang .headerLang_item.active:after {
    content: '';
    display: block;
    height: 2px;
    width: 100%;
    background-color: #0C2A62;
    bottom: 0;
}

.headerLang .headerLang_item:not(:first-child) {
    margin-left: 12px;
}

.headerLang .headerLang_item:not(:first-child):before {
    content: '';
    width: 1px;
    height: 12px;
    display: block;
    position: absolute;
    left: -12px;
    top: 50%;
    /*background-color: #ccc;
    transform: rotate(15deg) translate(-50%, -50%);*/
}

.headerLang .headerLang_item:nth-child(1),
.headerLang .headerLang_item:nth-child(2),
.headerLang .headerLang_item:nth-child(3) {
    font-size: 14px;
    color: #1a0dab;
}

.headerLang .headerLang_item:nth-child(1):hover,
.headerLang .headerLang_item:nth-child(2):hover,
.headerLang .headerLang_item:nth-child(3):hover {
    text-decoration: underline;
}

.headerLang .headerLang_item:nth-child(4) {
    margin-left: 24px;
}

.headerLang .headerLang_item:nth-child(4):before {
    background-color: #ccc;
    transform: translate(0, -50%);
}

/* headerTextLinks
------------------------------------*/

.headerTextLinks {
    display: flex;
}

.headerTextLinks .headerTextLinks_item {
    position: relative;
}

.headerTextLinks .headerTextLinks_item:not(:first-child) {
    margin-left: 16px;
}

.headerTextLinks .headerTextLinks_item:not(:first-child):before {
    content: '';
    width: 1px;
    height: 12px;
    background-color: #ccc;
    position: absolute;
    left: -8px;
    top: 50%;
    transform: translate(0, -50%);
}


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

    html {
      scroll-padding-top: 72px;
    }

    .header {
        width: 100%;
        min-width: inherit;
        background-color: #FFFFFF;
    }

    .header .header_inner {
        width: auto;
        height: 60px;
        min-width: inherit;
        padding: 16px 38px 16px 16px;
    }

    .headerLogo {
        text-align: left;
    }

    .headerLogo > a > img {
        width: 28px !important;
        height: auto;
    }

    .headerLogo > a > span {
        font-size: 14px;
        margin-left: 4px;
    }

    /* headerContent
    ------------------------------------*/
    .headerContent {
        display: none;
    }

}

/* ----------------------------------------

- gNav

---------------------------------------- */

.gNav {
    position: fixed;
    top: 86px;
    z-index: 1000;
    width: 100%;
    min-width: 1112px;
    background: #00205B;
    -webkit-box-shadow: 0 3px 6px #ccc;
    box-shadow: 0 6px 16px -6px rgba(0,0,0,0.5);
}

.gNav .gNav_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 1112px;
    min-width: 1112px;
    margin: 0 auto;
    padding: 0 16px;
    color: #fff;
    min-height: 56px;
}

.gNav .gNav_inner .gNav_item {
    width: 100%;
    text-align: center;
    border-left: 1px solid #fff;
    -webkit-box-flex: 1;
    flex-grow: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.gNav .gNav_inner .gNav_item .gNav_item_link {
    font-size: 14px;
    padding: 8px 0;
    text-decoration: none;
    color: inherit;
    line-height: 1.4;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.gNav .gNav_inner .gNav_item:last-child {
    border-right: 1px solid #fff;
}

@media screen and (max-width: 767px) {
    .gNav {
        display: none;
    }
}


.gNav_item:hover {
    background-color: #274284;
}

/* gNavMenu */
.gNavMenu {
    position: absolute;
    top: 100%;
    left: 0;
    display: none;
    width: 100%;
    background-color: rgba(12, 52, 126, 0.95);
    box-shadow: 0 6px 16px -6px rgba(0,0,0,0.5);
}

.gNavMenu_inner {
    width: 1112px;
    min-width: 1112px;
    margin: 0 auto;
    padding: 32px 16px;
}


/* gNavMenuContent
------------------------------------*/

.gNavMenuContent {
    display: flex;
}

.gNavMenuContent .gNavMenuContentLeft {
    width: 788px;
}

.gNavMenuContent .gNavMenuContentRight {
    width: 250px;
    margin-left: auto;
}

/*gNavMenuContentLeft*/
.gNavMenuContentLeft .gNavMenuContentLeft_title {
    font-size: 22px;
    font-weight: 700;
    color: #fff;
    border-bottom: 1px solid #fff;
    padding-bottom: 12px;
    text-align: left;
}

.gNavMenuContentLeft .gNavMenuContentLeft_list {
    margin-top: 16px;
    display: flex;
    flex-wrap: wrap;
}

.gNavMenuContentLeft .gNavMenuContentLeft_list .gNavMenuContentLeft_list_item {
    text-align: left;
    width: 33%;
    margin-top: 8px;
    padding-right: 8px;
}

.gNavMenuContentLeft .gNavMenuContentLeft_list .gNavMenuContentLeft_list_item a {
    font-size: 14px;
    color: #fff;
    position: relative;
    padding-left: 16px;
    display: block;
}

.gNavMenuContentLeft .gNavMenuContentLeft_list .gNavMenuContentLeft_list_item a:hover {
    text-decoration: underline;

}

.gNavMenuContentLeft .gNavMenuContentLeft_list .gNavMenuContentLeft_list_item a:before {
    content: "";
    position: absolute;
    display: block;
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(
            45deg
    );
    left: 0;
    top: 6px;
}


/* ----------------------------------------

- spMenu

---------------------------------------- */


/* spHdrBtn
------------------------------------*/

.spHdrBtn p {
    display: none;
}


@media screen and (max-width: 767px) {
    .spHdrBtn {
        line-height: 1;
        position: absolute;
        z-index: 1100;
        right: 9px;
        display: inline-block;
        width: 38px;
        height: 38px;
        cursor: pointer;
    }

    .spHdrBtn a {
        display: inline-block;
        width: 38px;
        height: 38px;
    }

    .spHdrBtn span {
        position: absolute;
        left: 8px;
        width: 23px;
        height: 2px;
        -webkit-transition: all .4s;
        transition: all .4s;
        background-color: #656c7b;
    }

    .spHdrBtn p {
        display: block;
        margin-top: 26px;
        font-size: 12px;
        text-align: center;
    }

    .spHdrBtn span:nth-of-type(1) {
        top: 6px;
    }

    .spHdrBtn span:nth-of-type(2) {
        top: 14px;
    }

    .spHdrBtn span:nth-of-type(3) {
        top: 22px;
    }

    .spHdrBtn.active span:nth-of-type(1) {
        -webkit-transform: translateY(9px) rotate(-45deg);
        transform: translateY(9px) rotate(-45deg);
    }

    .spHdrBtn.active span:nth-of-type(2) {
        opacity: 0;
    }

    .spHdrBtn.active span:nth-of-type(3) {
        top: 27px;
        -webkit-transform: translateY(-12px) rotate(45deg);
        transform: translateY(-12px) rotate(45deg);
    }

    .spHdrBtn.active p {
        display: none;
    }
}


/* spMenu
------------------------------------*/

.spMenu {
    display: none;
}

@media screen and (max-width: 767px) {
    .spMenu {
        display: block;
        position: fixed;
        z-index: 999;
        top: 0;
        right: 0;
        left: -100%;
        overflow: scroll;
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 72px 0 80px;
        -webkit-transition: .3s;
        transition: .3s;
        -webkit-transform-origin: left;
        transform-origin: left;
        opacity: 1;
        background: #F6F6F6;
    }

    body.active .spMenu {
        left: 0;
    }

}

/* spmLang
------------------------------------*/

.spmLang {
    display: none;
}

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

    .spmLang {
        display: block;
        margin-bottom: 24px;
    }

    .spmLang .spmLang_title {
        font-weight: 700;
        text-align: center;
        font-size: 18px;
    }

    .spmLang .spmLang_list {
        display: flex;
        justify-content: center;
        margin-top: 16px;
    }

    .spmLang .spmLang_list .spmLang_list_item {
        font-size: 12px;
        position: relative;
    }

    .spmLang .spmLang_list .spmLang_list_item:not(:first-child) {
        margin-left: 20px;
    }

    .spmLang .spmLang_list .spmLang_list_item:not(:first-child):before {
        content: '';
        width: 1px;
        height: 12px;
        background-color: #ccc;
        display: block;
        position: absolute;
        left: -12px;
        top: 50%;
        transform: rotate(15deg) translate(-50%, -50%);
    }

    .spmLang .spmLang_list .spmLang_list_item.active:after {
        content: '';
        display: block;
        height: 2px;
        width: 100%;
        background-color: #0C2A62;
        bottom: 0;
    }

}

/* spmSearchBox
------------------------------------*/
.spmSearchBox {
    display: none;
}

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

    .spmSearchBox {
        display: block;
        padding: 0 16px;
        margin-bottom: 24px;
    }

    .spmSearchBox .search {
        width: 100%;
        margin-bottom: 8px;
    }

    .spmSearchBox .spmSearchBoxLinks {
        display: flex;
        justify-content: center;
    }

    .spmSearchBoxLinks .spmSearchBoxLinks_item {
        position: relative;
    }

    .spmSearchBoxLinks .spmSearchBoxLinks_item:not(:first-child) {
        margin-left: 16px;
    }

    .spmSearchBoxLinks_item:not(:first-child):before {
        content: '';
        width: 1px;
        height: 12px;
        background-color: #ccc;
        position: absolute;
        left: -9px;
        top: 50%;
        transform: translate(0, -50%);
    }

}

/* spmList
------------------------------------*/

.spmTextLinks {
    display: none;
}

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

    .spmTextLinks {
        display: flex;
        justify-content: center;
    }

    .spmTextLinks .spmTextLinks_item {
        position: relative;
    }

    .spmTextLinks .spmTextLinks_item:not(:first-child) {
        margin-left: 16px;
    }

    .spmTextLinks .spmTextLinks_item:not(:first-child):before {
        content: '';
        width: 1px;
        height: 12px;
        background-color: #ccc;
        position: absolute;
        left: -8px;
        top: 50%;
        transform: translate(0, -50%);
    }

}


/* spmList スマホメニュー
------------------------------------*/

.spmList {
    border-top: 1px solid #ccc;
}

.spmList .spmList_item {
    border-bottom: 1px solid #ccc;
}

.spmList .spmList_item .spmList_item_link {
    font-weight: bold;
    position: relative;
    display: block;
    padding: 10px 32px 10px 16px;
    text-decoration: none;
    background-color: #0C2A62;
    color: #fff;
}

.spmList .spmList_item .spmList_item_link:after {
    line-height: 1;
    position: absolute;
    top: 18px;
    right: 16px;
    width: 8px;
    height: 8px;
    margin-right: 2px;
    content: '';
    -webkit-transform: rotate(45deg) translate(-50%, 0);
    transform: rotate(45deg) translate(-50%, 0);
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}


.spmList .spmList_item .spmList_item_link.spmList_item_link-hasChild:after {
    right: 20px;
    -webkit-transform: rotate(135deg) translate(-50%, 0);
    transform: rotate(135deg) translate(-50%, 0);
}

.spmList .spmList_item .spmList_item_link.spmList_item_link-hasChild.active:after {
    right: 15px;
    top: 16px;
    -webkit-transform: rotate(-45deg) translate(-50%, 0);
    transform: rotate(-45deg) translate(-50%, 0);
}


/*spmInnerList*/
.spmInnerList {
    display: none;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.spmInnerList .spmInnerList_item .spmInnerList_item_link {
    display: block;
    padding: 10px 32px 10px 16px;
    text-decoration: none;
    background-color: #fff;
    border-bottom: 1px solid #ccc;
    position: relative;
}

.spmInnerList .spmInnerList_item .spmInnerList_item_link:after {
    line-height: 1;
    position: absolute;
    top: 18px;
    right: 16px;
    width: 8px;
    height: 8px;
    margin-right: 2px;
    content: '';
    -webkit-transform: rotate(45deg) translate(-50%, 0);
    transform: rotate(45deg) translate(-50%, 0);
    border-top: 2px solid #333;
    border-right: 2px solid #333;
}

.spmInnerList_item .external-icon {
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-left: 6px;
    vertical-align: text-top;
}

@media screen and (max-width: 767px) {
    .spmList_item_link.active + .spmInnerList {
        height: auto;
        /*padding: 0 0 16px;*/
        opacity: 1;
    }
}


/* ----------------------------------------

- topicPath

---------------------------------------- */

.topicPathSecWrap {
    position: relative;
    min-width: 1112px;
    background-color: #F4F4F4;
    margin-top: 141px;
}

.topicPathSecWrap .topicPathSec {
    position: relative;
    width: 1112px;
    min-width: 1112px;
    margin: 0 auto;
    padding: 12px 16px;
}

.topicPathList {
    display: flex;
    align-items: center;
}

.topicPathList .topicPathList_item {
    font-size: 14px;
    line-height: 1;
    position: relative;
}

.topicPathList .topicPathList_item a:hover {
    text-decoration: underline;
}

.topicPathList .topicPathList_item:not(:first-child) {
    margin-left: 16px;
    padding-left: 16px;
}

.topicPathList .topicPathList_item:not(:first-child):before {
    position: absolute;
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    border-top: 1px solid #333;
    border-right: 1px solid #333;
    transform: rotate(
            45deg
    ) translate(-50%, -50%);
    left: -4px;
    top: 60%;
}

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

    .topicPathSecWrap {
        /*display: none;*/
        min-width: inherit;
        margin-top: 60px;
    }

    .topicPathSecWrap .topicPathSec {
        width: auto;
        min-width: inherit;
        padding: 8px 16px;
    }

    .topicPathList .topicPathList_item {
        font-size: 12px;
        line-height: 1.5;
        overflow-wrap: break-word;
        word-wrap: break-word;
    }

    .topicPathList .topicPathList_item:first-child {
        min-width: 36px;
    }
}


/* ----------------------------------------

- titleSec

---------------------------------------- */

.titleSecWrap {
    position: relative;
    min-width: 1112px;
    border-bottom: 1px solid #ccc;
}

.titleSecWrap .titleSec {
    position: relative;
    width: 1112px;
    min-width: 1112px;
    margin: 0 auto;
    padding: 40px 16px;
}

.titleSecWrap .titleSec .titleSec_title {
    font-size: 32px;
    font-weight: 700;
    line-height: 1.2;
    color: #0D2B63;
    text-align: center;
}

.titleSec_labels {
    display: flex;
    gap: 8px;
    margin-top: 12px;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

.titleSec_label {
    display: inline-block;
    padding: 6px 16px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    color: white;
    white-space: nowrap;
}

.titleSec_label--student {
    background: var(--colors-student-main);
}

.titleSec_label--researcher {
    background: var(--colors-researcher-main);
}

.titleSec_label--faculty {
    background: var(--colors-faculty-main);
}

@media screen and (max-width: 767px) {
    .titleSecWrap {
        min-width: inherit;
    }

    .titleSecWrap .titleSec {
        width: auto;
        min-width: inherit;
        padding: 20px 16px 20px;
    }

    .titleSecWrap .titleSec .titleSec_title {
        font-size: 20px;
        line-height: 1.2;
    }

    .titleSec_labels {
        gap: 6px;
        margin-top: 10px;
    }

    .titleSec_label {
        padding: 4px 12px;
        font-size: 12px;
    }

}


/* ----------------------------------------

- footer

---------------------------------------- */
.footerWrapper {
    margin-top: 120px;
}

/* footerNav
------------------------------------*/

.footerNav {
    background: #F6F6F6;
    min-width: 1112px;
}

.footerNav .footerNav_inner {
    position: relative;
    width: 1112px;
    min-width: 1112px;
    margin: 0 auto;
    padding: 80px 16px;
}

.footerNavRow {
    display: flex;
}

.footerNavRow:not(:first-child) {
    margin-top: 40px;
}

.footerNavRow > *:not(:first-child) {
    margin-left: 24px;
}

/* footerNavItem */
.footerNavItem {
    width: 294px;
}

.footerNavItem .footerNavItem_name {
    font-weight: 700;
}

.footerNavItem .footerNavItem_links {
    margin-top: 8px;
}

.footerNavItem .footerNavItem_links > *:not(:first-child) {
    margin-top: 4px;
}

.footerNavItem .footerNavItem_links a {
    font-size: 14px;
}


@media screen and (max-width: 767px) {
    .footerWrapper {
        margin-top: 88px;
    }

    /* footerNav
    ------------------------------------*/

    .footerNav {
        min-width: inherit;
    }

    .footerNav .footerNav_inner {
        font-size: 14px;
        width: auto;
        min-width: inherit;
        padding: 40px 16px;
    }

    .footerNavRow {
        display: block;
    }

    .footerNavRow:not(:first-child) {
        margin-top: 0;
    }

    .footerNavRow > *:not(:first-child) {
        margin-left: 0;
    }


    /* footerNavItem */
    .footerNavItem {
        width: 100%;
    }

    .footerNavItem .footerNavItem_name {
        font-size: 14px;

        font-weight: bold;
        position: relative;
        display: block;
        padding: 10px 32px 10px 16px;
        text-decoration: none;
        background-color: #0C2A62;
        color: #fff;
        border-bottom: 1px solid #ccc;
    }

    .footerNavItem .footerNavItem_name:after {
        line-height: 1;
        position: absolute;
        top: 18px;
        /*right: 16px;*/
        width: 8px;
        height: 8px;
        margin-right: 2px;
        content: '';
        /*-webkit-transform: rotate(45deg) translate(-50%, 0);*/
        /*transform: rotate(45deg) translate(-50%, 0);*/
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        right: 20px;
        -webkit-transform: rotate(135deg) translate(-50%, 0);
        transform: rotate(135deg) translate(-50%, 0);
    }

    .footerNavItem .footerNavItem_name.active:after {
        right: 15px;
        top: 16px;
        -webkit-transform: rotate(-45deg) translate(-50%, 0);
        transform: rotate(-45deg) translate(-50%, 0);
    }


    .footerNavItem .footerNavItem_links {
        margin-top: 0;
        display: none;
    }

    .footerNavItem .footerNavItem_links > *:not(:first-child) {
        margin-top: 0;
    }

    .footerNavItem .footerNavItem_links a {
        font-size: 14px;
        position: relative;
        display: block;
        padding: 10px 32px 10px 16px;
        text-decoration: none;
        background-color: #fff;
        color: #333;
        border-bottom: 1px solid #ccc;
    }

    .footerNavItem .footerNavItem_links a:after {
        line-height: 1;
        position: absolute;
        top: 18px;
        right: 16px;
        width: 8px;
        height: 8px;
        margin-right: 2px;
        content: '';
        -webkit-transform: rotate(45deg) translate(-50%, 0);
        transform: rotate(45deg) translate(-50%, 0);
        border-top: 2px solid #333;
        border-right: 2px solid #333;
    }

}

/* footerLang */
.footerLangRow {
    display: none;
}

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

    .footerLangRow {
        display: block;
        margin-top: 0;
    }

    .footerLang {
        margin: 24px -16px 0;
    }

    .footerLang .footerLang_title {
        font-weight: 700;
        text-align: center;
        font-size: 18px;
    }

    .footerLang .footerLang_list {
        display: flex;
        justify-content: center;
        margin-top: 16px;
    }

    .footerLang .footerLang_list .footerLang_list_item {
        font-size: 12px;
        position: relative;
    }

    .footerLang .footerLang_list .footerLang_list_item:not(:first-child) {
        margin-left: 20px;
    }

    .footerLang .footerLang_list .footerLang_list_item:not(:first-child):before {
        content: '';
        width: 1px;
        height: 12px;
        background-color: #ccc;
        display: block;
        position: absolute;
        left: -12px;
        top: 50%;
        transform: rotate(15deg) translate(-50%, -50%);
    }

    .footerLang .footerLang_list .footerLang_list_item.active:after {
        content: '';
        display: block;
        height: 2px;
        width: 100%;
        background-color: #0C2A62;
        bottom: 0;
    }

}


/* footer
------------------------------------*/

.footer {
    background-image: url("/wp-content/themes/kuiso/filesdir/images/common/bg_footer.jpg");
    background-size: cover;
    background-position: center;
    min-width: 1112px;
}

.footer .footer_inner {
    position: relative;
    width: 1112px;
    min-width: 1112px;
    margin: 0 auto;
    padding: 40px 16px;
    display: flex;
}

/*footerContact*/
.footerContact {
    color: #FFF;
}

.footerContact .footerContact_title {
    font-weight: 700;
    font-size: 28px;
    margin-bottom: 16px;
}

.footerContact .footerContact_tel {
    position: relative;
    margin-left: 42px;
    margin-bottom: 8px;
}

.footerContact .footerContact_tel span {
    position: absolute;
    left: -42px;
}

.footerContact .footerContact_fax {
    position: relative;
    margin-left: 42px;
    margin-bottom: 16px;
}

.footerContact .footerContact_fax span {
    position: absolute;
    left: -42px;
}

.footerContact .footerContact_link {
    margin-bottom: 32px;
}

.footerContact .footerContact_link a {
    margin-right: 12px;
    padding-right: 12px;
    position: relative;
    font-size: 14px;
}

.footerContact .footerContact_link a:hover {
    text-decoration: underline;
}

.footerContact .footerContact_link a:not(:last-child)::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 1em;
    background-color: #ccc;
}

.footerContact .footerContact_link a:last-child {
    margin-right: 0;
    padding-right: 0;
}

/* モバイル対応 (767px以下) */
@media (max-width: 767px) {
    .footerContact .footerContact_link {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 8px;
        margin-bottom: 16px;
    }

    .footerContact .footerContact_link a {
        margin-right: 0;
        padding-right: 0;
    }

    .footerContact .footerContact_link a:not(:last-child)::after {
        display: none;
    }

}

/*footerLogo*/

.footerLogo {
    margin-left: auto;
}

.footerLogo > *:not(:first-child) {
    margin-top: 40px;
}


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

    .footer {
        min-width: inherit;
    }

    .footer .footer_inner {
        width: auto;
        min-width: inherit;
        padding: 24px 16px;
        display: block;
    }


    /*footerLogo*/

    .footerLogo {
        margin-top: 24px;
    }

    .footerLogo > *:not(:first-child) {
        margin-top: 24px;
    }

}


/* copyright
------------------------------------*/

.copyright {
    background-color: #000;
    min-width: 1112px;
}


.copyright .copyright_inner {
    position: relative;
    width: 1112px;
    min-width: 1112px;
    margin: 0 auto;
    padding: 19px 16px;
}

.copyright .copyright_inner .copyright_inner_text {
    color: #fff;
    font-size: 12px;
}


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

    .copyright {
        min-width: inherit;
    }

    .copyright .copyright_inner {
        width: auto;
        min-width: inherit;
        padding: 24px 16px;
    }

    /*footerContact*/
    .footerContact .footerContact_title {
        font-size: 24px;
        margin-bottom: 8px;
    }

    .footerContact .footerContact_btn {
        text-align: center;
    }


    .footerContact .footerContact_tel span {
        left: -39px;
    }

    .footerContact .footerContact_fax span {
        left: -39px;
    }


}


/* ----------------------------------------

- categoryTopContent

---------------------------------------- */

.categoryTopContentWrap {
    position: relative;
    min-width: 1112px;
}

.categoryTopContentWrap .categoryTopContent {
    position: relative;
    width: 1112px;
    min-width: 1112px;
    margin: 0 auto;
    padding: 40px 16px;
}


/* categoryTopContent
------------------------------------*/
.categoryTopContent {

}

.categoryTopContent .categoryTopContent_dsc {
    text-align: center;
    margin-bottom: 40px;
}

/* categoryTopNav */
.categoryTopNav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: -40px;
    margin-left: -24px;
}

.categoryTopNav_left {
    justify-content: start;
}

.categoryTopNav .categoryTopNav_item {
    display: block;
    width: 344px;
    margin-top: 40px;
    margin-left: 24px;
}

.categoryTopNav .categoryTopNav_item .categoryTopNav_item_img {

}

.categoryTopNav .categoryTopNav_item .categoryTopNav_item_text {
    text-align: center;
    font-weight: 700;
    margin-top: 4px;
    font-size: 18px;
}


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

    .categoryTopContentWrap {
        min-width: inherit;
    }

    .categoryTopContentWrap .categoryTopContent {
        width: auto;
        min-width: inherit;
        padding: 32px 16px;
        display: block;
    }

    /* categoryTopContent
    ------------------------------------*/
    .categoryTopContent .categoryTopContent_dsc {
        text-align: left;
    }

    /* categoryTopNav */
    .categoryTopNav {
        display: block;
        margin-top: 0;
        margin-left: 0;
        border-top: 1px solid #ccc;
    }

    .categoryTopNav .categoryTopNav_item {
        /*display: block;*/
        width: 100%;
        margin-top: 16px;
        margin-left: 0;
        display: flex;
        align-items: center;
        gap: 16px;
        flex-wrap: nowrap;
        border-bottom: 1px solid #ccc;
        padding-bottom: 16px;
    }

    .categoryTopNav .categoryTopNav_item .categoryTopNav_item_img {
        width: 100%;
        display: block;
        max-width: 80px;
        height: auto !important;
        -o-object-fit: cover;
        object-fit: cover;
        aspect-ratio: 4 / 3;
    }

    .categoryTopNav .categoryTopNav_item .categoryTopNav_item_text {
        font-size: 14px;
        width: calc( 100% - 96px );
        text-align: left;
    }

}


/* ----------------------------------------

- lowerContent

---------------------------------------- */

.lowerContentWrap {
    position: relative;
    min-width: 1112px;
}

.lowerContentWrap .lowerContent {
    position: relative;
    width: 1112px;
    min-width: 1112px;
    margin: 0 auto;
    padding: 40px 16px;
    display: flex;
    flex-direction: row-reverse;
}

.lowerContentWrap .lowerContent .lowerContent_main {
    flex-grow: 1;
    .iconGroup {
        display: flex;
        gap: 24px;
        margin-bottom: 40px;
        position: relative;
        .icon {
            width: 60px;
            height: 60px;
            margin: 24px 0px;
            align-self: center;
        }
    }
    .iconGroup::after {
        position: absolute;
        display: block;
        content: "";
        bottom: 0;
        height: 1px;
        width: 280px;
        background-color: #ccc;
    }
}

.lowerContentWrap .lowerContent .lowerContent_menu {
    width: 280px;
    min-width: 280px;
    margin-right: 40px;
}

.lowerContentWrap .lowerContent .lowerContent_menu > *:not(:first-child) {
    margin-top: 40px;
}

@media screen and (max-width: 767px) {
    .lowerContentWrap {
        min-width: inherit;
    }

    .lowerContentWrap .lowerContent {
        width: auto;
        min-width: inherit;
        padding: 32px 16px;
        display: block;
    }

    .lowerContentWrap .lowerContent .lowerContent_main {
        flex-grow: 1;
        .iconGroup::after {
            width: 100%;
        }
    }

    .lowerContentWrap .lowerContent .lowerContent_menu {
        display: none;
        /*min-width: inherit;*/
        /*width: 100%;*/
        /*margin-left: 0;*/
        /*margin-top: 80px;*/
    }
}


/* ----------------------------------------

- sideNav

---------------------------------------- */

.sideNav {
}

.sideNav .sideNav_head {
    background-color: #0C2A62;
    color: #fff;
    padding: 12px 16px;
    display: block;
    text-decoration: none;
}

/* sideNav_list */
.sideNav .sideNav_list {
}

.sideNav .sideNav_list .sideNav_list_item {
    padding: 12px 32px 12px 16px;
    display: block;
    position: relative;
    text-decoration: none;
    border-bottom: 1px solid #ccc;
}

.sideNav .sideNav_list .sideNav_list_item:before {
    content: '';
    line-height: 1;
    position: absolute;
    top: 50%;
    right: 14px;
    width: 8px;
    height: 8px;
    margin-right: 2px;
    transform: rotate(45deg) translate(-50%, 0);
    border-top: 2px solid #333;
    border-right: 2px solid #333;
}

.sideNav .sideNav_list .sideNav_list_item:hover {
    text-decoration: underline;
    background-color: #E5EDFF;
}

/* 第1階層リンク（Category menuの先頭＝親ページ） */
.sideNav.is-category .sideNav_list .sideNav_list_item:first-child {
    background-color: #eef1f7;
    border-left: 3px solid #b0bcd4;
}

/* Category menu: 第2階層以降インデント + 左縦線 */
.sideNav.is-category .sideNav_list .sideNav_list_item:not(:first-child) {
    padding-left: 25px;
    border-left: 3px solid #b0bcd4;
}

/* Category menu: 現在のページを背景色でハイライト */
.sideNav.is-category .sideNav_list .sideNav_list_item.current-menu-item,
.sideNav.is-category .sideNav_list .sideNav_list_item.current_page_item {
    background-color: #d0e0f5;
}


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

    /*sideNav*/
    .sideNav .sideNav_head {
        display: none;
        /*padding: 8px 16px;*/
    }

    /* sideNav_list */
    .sideNav .sideNav_list .sideNav_list_item {
        display: none;
        /*padding: 8px 32px 8px 16px;*/
    }
}
