/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
}

body {
    line-height: 1;
}

ol, ul {
    list-style: none;
}

blockquote, q {
    quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content: "";
    content: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

html {
    font-size: 100%;
}

body {
    color: black;
    font-size: 0.875rem;
    line-height: 1.5;
    font-family: "Hiragino Kaku Gothic Pro", Meiryo, sans-serif;
    background-color: white;
    overflow-wrap: break-word;
    word-wrap: break-word;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

button,
select,
input,
textarea {
    font-size: 0.875rem;
    line-height: 1.5;
    font-family: "Hiragino Kaku Gothic Pro", Meiryo, sans-serif;
    outline: none;
}

a {
    color: #333399;
}

.header {
    padding-left: 32px;
    padding-right: 32px;
    padding-top: 5px;
    padding-bottom: 0px;
    background-color: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    /*border-bottom: 1px solid rgba(229, 231, 235, 0.5);*/
    position: sticky;
    top: 0;
    z-index: 50;
}

.header .header__top {
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    display: flex;
    align-items: center;
}

.header .header__topTitleLink {
    font-size: 1.5rem;
    color: black;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 12px;
}

.header .header__logo {
    height: 32px;
    width: auto;
    vertical-align: middle;
    display: none;
}

.header .header__topTitleLink {
    display: inline-block;
    background: linear-gradient(to right, #6366f1, #3b82f6, #22d3ee);
    -webkit-mask: url("/assets/image/logo_aisin_transparent.png") no-repeat center / contain;
    mask: url("/assets/image/logo_aisin_transparent.png") no-repeat center / contain;
    width: 220px;
    height: 45px;
}

.header .header__topMenuArea {
    margin-left: auto;
}

.header .header__topMenu {
    display: flex;
    gap: 24px;
}

.header .header__topMenuItem:not(:first-of-type) {
    margin-left: 0;
}

.header .header__topMenuLink {
    color: #374151;
    text-decoration: none;
    font-size: 0.683rem;
    transition: color 0.2s;
}

.header .header__topMenuLink:hover {
    color: #4f46e5;
}

.header .header__topMenuIcon {
    margin-right: 5px;
}

@media screen and (max-width: 994px) {
    .header {
        padding-left: 16px;
        padding-right: 16px;
    }

    .header .header__topMenuArea {
        display: none;
    }

    .header .header__topTitleLink {
        font-size: 1.125rem;
    }

    .header .header__logo {
        height: 28px;
    }

    .header .header__mobileMenuArea {
        display: block;
    }
}

.nav {
    padding-left: 32px;
    padding-right: 32px;
    background: linear-gradient(to right, #6366f1, #3b82f6, #22d3ee);
}

.nav .nav__menu {
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
}

.nav .nav__menuItem {
    flex: 1;
    height: 50px;
    box-sizing: border-box;
    text-align: center;
}

.nav .nav__menuItem:first-of-type {
    border-left: none;
}

.nav .nav__menuItemLink {
    width: 100%;
    height: 100%;
    font-size: 1rem;
    line-height: 50px;
    color: white;
    text-decoration: none;
    vertical-align: middle;
    display: inline-block;
    transition: background-color 0.2s;
}

.nav .nav__menuItemLink:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

@media screen and (max-width: 994px) {
    .nav {
        display: none;
    }
}

.nav--in-header {
    /*margin-top: 16px;*/
    margin-bottom: 0;
    padding-left: 0;
    padding-right: 0;
    border-radius: 0;
    max-width: none;
    width: calc(100% + 64px);
    margin-left: -32px;
    margin-right: -32px;
}

.nav--in-header .nav__menu {
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
}

/* Homepage header styling - remove border and padding to connect nav with Hero */
.header--home {
    border-bottom: none;
    padding-bottom: 0;
}

/* Homepage content spacing - reduce distance between Hero and content */
.cover + .content .main__container {
    padding-top: 3px;
}

/* Technology page - remove vertical lines from headings and description lists */
.page--technology .main .main__contentHeading {
    border-left: none;
    border-image: none;
    padding-left: 0;
}

.page--technology .main .main__contentDescList {
    border-left: none;
    border-image: none;
}

/* Technology page - scroll-margin-top for anchor links to account for sticky header */
.page--technology .main__contentSubtitle {
    scroll-margin-top: 120px;
}

.mobileNav {
    position: relative;
    display: none;
}

.mobileNav .mobileNav__menuButton {
    height: 36px;
    border: none;
    border-radius: 6px;
    box-sizing: border-box;
    background: linear-gradient(to right, #6366f1, #3b82f6);
    position: fixed;
    top: 12px;
    right: 12px;
    z-index: 51;
}

.mobileNav .mobileNav__menuButtonLink {
    width: 100%;
    height: 100%;
    font-size: 1rem;
    line-height: 36px;
    color: white;
    text-decoration: none;
    vertical-align: middle;
    padding-left: 12px;
    padding-right: 12px;
    box-sizing: border-box;
    display: inline-block;
}

.mobileNav .mobileNav__menuModal {
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    position: fixed;
    top: 0;
    left: 0;
    display: none;
    z-index: 50;
}

.mobileNav .mobileNav__menu {
    width: 100%;
    color: white;
    background: linear-gradient(to right, #6366f1, #3b82f6, #22d3ee);
    position: fixed;
    top: 60px;
    left: 0;
    display: none;
    z-index: 51;
}

.mobileNav .mobileNav__menuItem {
    margin-bottom: -1px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    box-sizing: border-box;
}

.mobileNav .mobileNav__menuItemLink {
    width: 100%;
    height: 100%;
    font-size: 1.125rem;
    color: white;
    text-decoration: none;
    padding: 12px 16px;
    box-sizing: border-box;
    display: block;
}

@media screen and (max-width: 994px) {
    .mobileNav {
        display: block;
    }
}

.main {
    width: 100%;
    background: linear-gradient(to bottom right, rgba(255, 255, 255, 1) 0%, rgba(248, 250, 252, 1) 50%, rgba(241, 245, 249, 1) 100%);
    flex: 1;
    min-height: 65.5vh; /*qp 20260101*/
}

.main .main__container {
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 10px;
    padding-bottom: 18px;
    padding-left: 32px;
    padding-right: 32px;
    box-sizing: border-box;
}

.main .main__content {
    width: 100%;
}

.main .main__contentRow {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 48px;
}

.main .main__contentColumn:not(:first-child) {
    margin-left: 0;
}

.main .main__contentColumn.-column30 {
    width: 100%;
}

.main .main__contentColumn.-column40 {
    width: 100%;
}

.main .main__contentColumn.-column50 {
    width: 100%;
}

.main .main__contentColumn.-column60 {
    width: 100%;
}

.main .main__contentTitle {
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 24px;
    padding-bottom: 12px;
    border-bottom: none;
    position: relative;
}

.main .main__contentTitle::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background: linear-gradient(to right, #6366f1, #3b82f6, #22d3ee);
}

.main .main__contentSubtitle {
    font-size: 1.5rem;
    margin-bottom: 15px;
}

.main .main__contentHeading {
    font-size: 1rem;
    margin-bottom: 12px;
    margin-top: 20px;
    padding-left: 12px;
    border-left: 3px solid;
    border-image: linear-gradient(to bottom, #6366f1, #22d3ee) 1;
}

.main .main__contentText {
    margin-bottom: 10px;
}

.main .main__contentText.-emphasis {
    font-size: 1.125rem;
    font-weight: bold;
}

.main .main__contentText.-right {
    text-align: right;
}

.main .main__contentList {
    list-style-type: disc;
    margin-bottom: 10px;
    padding-left: 1rem;
}

.main .main__contentList.-order {
    list-style-type: decimal;
}

.main .main__contentListItem:not(:first-of-type) {
    margin-top: 8px;
}

.main .main__contentDescList {
    margin-bottom: 16px;
    padding: 16px;
    background-color: rgba(248, 250, 252, 0.5);
    border-radius: 8px;
    border-left: 3px solid;
    border-image: linear-gradient(to bottom, #6366f1, #3b82f6, #22d3ee) 1;
}

.main .main__contentDesc {
    padding-left: 0.5rem;
    line-height: 1.8;
}

.main .main__contentImage {
    max-width: 100%;
    margin-bottom: 10px;
    height: auto;
    display: block;
}

.main .main__ImageCenter { /*qp 20260101*/
    margin: 0 auto;
}

.main .main__contentImage.-width50 {
    max-width: 50%;
}

.main .main__contentImageCaption {
    margin-top: 5px;
}

.main .main__contentSection:not(:first-child) {
    padding-top: 30px;
}

.main .main__more {
    margin-top: 16px;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    font-weight: 500;
    font-size: 0.65625rem;
    color: #3b82f6;
    transition: opacity 0.2s;
}

.main .main__more:hover {
    opacity: 0.8;
    text-decoration: underline;
    color: #4338ca;
}

.main .main__more::after {
    content: "";
    margin-left: 0;
}

.main .staffList,
.main .learningList {
    margin-top: 20px;
}

.main .privacymark {
    margin-bottom: 20px;
}

/* 202511/11小林追加 Start */
.main .main__contentList.-japaneseNumber {
    list-style: none; /* デフォルトのリストマークを消す */
    counter-reset: item; /* カウンター初期化 */
    margin-bottom: 10px;
    padding-left: 1.3rem; /* インデント調整 */
    font-family: "Meiryo", "Hiragino Kaku Gothic Pro", sans-serif; /* ← 全体にも指定 */
}

.main .main__contentList.-japaneseNumber .main__contentListItem {
    counter-increment: item; /* カウンターを増やす */
    position: relative;
    margin-top: 8px; /* 2つ目以降のマージン */
    list-style: none; /* ここでリストマーカー消しの強制 */
    font-family: inherit; /* ← 親のフォントを引き継ぐ */
}

.main .main__contentList.-japaneseNumber .main__contentListItem::before {
    content: counter(item) "）"; /* 「1）」「2）」形式 */
    position: absolute;
    left: -1.3rem; /* インデント分を左に */
    font-weight: normal;
    font-family: inherit; /* ← 本文と完全に同じフォントにする */

}

/* 202511/11小林追加 End */
@media screen and (max-width: 994px) {
    .main {
        flex: none;
        order: 2;
    }

    .main .main__container {
        padding-left: 16px;
        padding-right: 16px;
        padding-top: 32px;
        padding-bottom: 32px;
    }

    .main .main__contentRow {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .main .main__contentColumn:not(:first-child) {
        margin-top: 0;
        margin-left: 0;
    }

    .main .main__contentColumn.-column30, .main .main__contentColumn.-column40, .main .main__contentColumn.-column50, .main .main__contentColumn.-column60 {
        width: 100%;
    }

    .main .main__contentImage.-width50 {
        max-width: 100%;
    }

    .main .main__contentImage.-optional {
        display: none;
    }
}

.footer {
    text-align: center;
    padding-left: 32px;
    padding-right: 32px;
    background: linear-gradient(to bottom right, #6366f1, #3b82f6, #22d3ee);
}

.footer .footer__menuArea {
    max-width: 1280px;
    margin: 0 auto;
    padding-top: 24px;
    padding-bottom: 16px;
    display: none;
    /*display: grid;*/ /*qp 20260101*/
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
    text-align: left;
}

.footer .footer__menu {
    text-align: left;
}

.footer .footer__menu:not(:first-of-type) {
    margin-left: 0;
}

.footer .footer_menuCategory {
    color: white;
    font-weight: bold;
    font-size: 1rem;
    margin-bottom: 16px;
}

.footer .footer__menuItem:not(:first-of-type) {
    margin-top: 8px;
}

.footer .footer__menuLink {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    font-size: 0.875rem;
    transition: color 0.2s;
}

.footer .footer__menuLink:hover {
    color: white;
}

.footer .footer__copyright {
    color: rgba(255, 255, 255, 0.7);
    padding-top: 24px;
    padding-bottom: 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    font-size: 0.875rem;
}

@media screen and (max-width: 994px) {
    .footer {
        padding-left: 16px;
        padding-right: 16px;
    }

    .footer .footer__menuArea {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }

    .footer .footer__menu:not(:first-of-type) {
        margin-top: 0;
        margin-left: 0;
    }
}

@media screen and (max-width: 600px) {
    .footer .footer__menuArea {
        grid-template-columns: 1fr;
    }
}

.cover {
    height: 333px;
    color: white;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
    background-color: white;
    background-image: url("/assets/image/cover_top.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    position: relative;
}

.cover .cover__overlay {
    width: 100%;
    height: 100%;
    padding-left: 32px;
    padding-right: 32px;
    box-sizing: border-box;
    background: linear-gradient(to bottom right, rgba(99, 102, 241, 0.4), rgba(59, 130, 246, 0.35), rgba(34, 211, 238, 0.3));
    display: flex;
    align-items: center;
    justify-content: center;
}

.cover .cover__content {
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.cover .cover__catchphrase {
    padding-bottom: 24px;
    font-size: 3rem;
    font-weight: bold;
}

.cover .cover__text {
    font-size: 1.125rem;
    line-height: 1.8;
    max-width: 800px;
    margin: 0 auto;
}

@media screen and (max-width: 994px) {
    .cover {
        height: 350px;
    }

    .cover .cover__overlay {
        padding-left: 16px;
        padding-right: 16px;
    }

    .cover .cover__catchphrase {
        font-size: 1.75rem;
    }

    .cover .cover__text {
        font-size: 1rem;
    }
}

.businessList {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    margin-bottom: 0;
}

.businessList .businessList__item {
    background-color: white;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    transition: transform 0.3s, box-shadow 0.3s;
}

.businessList .businessList__item:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

.businessList .businessList__item:nth-of-type(2n) {
    margin-left: 0;
}

.businessList .businessList__item.-salesForce {
    background-image: none;
}

.businessList .businessList__item.-sharePoint {
    background-image: none;
}

.businessList .businessList__item.-PEGA {
    background-image: none;
}

.businessList .businessList__item.-PMO {
    background-image: none;
}

.businessList .businessList__link {
    width: 100%;
    height: 100%;
    color: inherit;
    text-decoration: none;
    display: flex;
    flex-direction: column;
}

.businessList .businessList__link:hover {
    background-color: transparent;
}

.businessList .businessList__imageWrapper {
    width: 100%;
    height: 160px;
    position: relative;
    overflow: hidden;
}

.businessList .businessList__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
}

.businessList .businessList__item:hover .businessList__image {
    transform: scale(1.05);
}

.businessList .businessList__imageOverlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.6), transparent);
}

.businessList .businessList__overlay {
    width: 100%;
    background-color: transparent;
    padding: 16px;
    box-sizing: border-box;
    position: relative;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.businessList .businessList__title {
    font-size: 1.25rem;
    font-weight: bold;
    margin-bottom: 8px;
    color: white;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
    position: absolute;
    bottom: 16px;
    left: 16px;
}

.businessList .businessList__text {
    color: #4b5563;
    font-size: 0.875rem;
    margin-bottom: 12px;
    line-height: 1.5;
}

.businessList .businessList__more {
    margin-top: auto;
    text-decoration: none;
    font-size: 0.65625rem;
    font-weight: 500;
    display: flex;
    align-items: center;
    position: static;
    color: #3b82f6;
    transition: opacity 0.2s;
}

.businessList .businessList__more:hover {
    opacity: 0.8;
    color: #4338ca;
}

@media screen and (max-width: 1200px) {
    .businessList {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (max-width: 994px) {
    .businessList {
        grid-template-columns: 1fr;
    }

    .businessList .businessList__item {
        width: 100%;
        margin-bottom: 0;
    }

    .businessList .businessList__item:nth-of-type(2n) {
        margin-left: 0;
    }
}

.borderList .borderList__item {
    padding-top: 12px;
    padding-bottom: 12px;
    border-bottom: none;
    display: flex;
    align-items: flex-start;
    transition: background-color 0.2s;
    position: relative;
}

.borderList .borderList__item::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: linear-gradient(to right, #6366f1, #3b82f6, #22d3ee);
    opacity: 0.3;
}

.borderList .borderList__item:hover {
    background-color: #f9fafb;
}

.borderList .borderList__title {
    width: 200px;
    font-weight: bold;
    margin-right: 16px;
}

.borderList .borderList__title.-date {
    width: 100px;
    font-weight: normal;
    color: #6b7280;
    font-size: 0.875rem;
    flex-shrink: 0;
}

.borderList .borderList__text {
    min-width: 10rem;
    flex: 1;
}

.borderList .borderList__text a {
    color: #374151;
    text-decoration: none;
    transition: color 0.2s;
}

.borderList .borderList__text a:hover {
    color: #4f46e5;
}

.borderList .borderList__list {
    min-width: 10rem;
    list-style-type: disc;
    padding-left: 1rem;
    flex: 1;
}

.borderList .borderList__listItem:not(:first-of-type) {
    margin-top: 8px;
}

@media screen and (max-width: 994px) {
    .borderList .borderList__item {
        display: block;
    }

    .borderList .borderList__title {
        margin-right: 0;
        margin-bottom: 4px;
    }
}

.content {
    padding-left: 32px;
    padding-right: 32px;
    background: linear-gradient(to bottom right, rgba(255, 255, 255, 1) 0%, rgba(248, 250, 252, 1) 50%, rgba(241, 245, 249, 1) 100%);
}

.content .content__container {
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 18px;
    padding-bottom: 18px;
    box-sizing: border-box;
    display: flex;
}

@media screen and (max-width: 994px) {
    .content {
        padding-left: 16px;
        padding-right: 16px;
    }

    .content .content__container {
        flex-direction: column;
        padding-top: 32px;
        padding-bottom: 32px;
    }
}

.tinyCover {
    height: 100px;
    background-color: white;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.tinyCover.-news {
    background-image: url("/assets/image/cover_news.jpg");
}

.tinyCover.-company {
    background-image: url("/assets/image/cover_company.jpg");
}

.tinyCover.-recruit {
    background-image: url("/assets/image/cover_recruit.jpg");
}

.tinyCover.-technology {
    background-image: url("/assets/image/cover_technology.jpg");
}

.tinyCover.-other {
    background-image: url("/assets/image/cover_other.jpg");
}

@media screen and (max-width: 994px) {
    .tinyCover {
        display: none;
    }
}

.breadcrumb {
    display: none;
}

.breadcrumb .breadcrumb__list {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 15px;
    box-sizing: border-box;
    display: flex;
}

.breadcrumb .breadcrumb__listItem {
    font-size: 0.75rem;
}

.breadcrumb .breadcrumb__listItem:not(:first-of-type)::before {
    margin-left: 11px;
    margin-right: 11px;
    content: ">";
}

@media screen and (max-width: 994px) {
    .breadcrumb {
        display: none;
    }
}

.sidebar {
    width: 224px;
    margin-left: 20px;
    background-color: transparent;
    position: sticky;
    top: 120px;
    align-self: flex-start;
}

.sidebar .sidebar__content {
    padding-top: 30px;
    padding-bottom: 30px;
    box-sizing: border-box;
}

.sidebar .sidebar__contentTitle {
    font-size: 1.125rem;
    margin-bottom: 20px;
}

.sidebar .sidebar__menuButtonLink {
    display: none;
}

.sidebar .sidebar__contentTitleIcon {
    margin-right: 5px;
}

.sidebar .sidebar__menuItem {
    padding-top: 9px;
    padding-bottom: 9px;
    border-bottom: none;
    position: relative;
}

.sidebar .sidebar__menuItem a {
    text-decoration: none;
}

.sidebar .sidebar__menuItem::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: linear-gradient(to right, #6366f1, #3b82f6, #22d3ee);
    opacity: 0.5;
}

@media screen and (max-width: 994px) {
    .sidebar {
        width: 100%;
        margin-left: 0;
        order: 1;
        /* Remove sticky positioning on mobile to prevent overlap with main content */
        position: static;
        top: auto;
        align-self: auto;
    }

    .sidebar .sidebar__content {
        padding-top: 30px;
        padding-bottom: 0;
        box-sizing: border-box;
    }

    .sidebar .sidebar__contentTitle {
        display: none;
    }

    .sidebar .sidebar__menuButtonLink {
        color: black;
        font-size: 1.125rem;
        text-decoration: none;
        border: 1px solid #cccccc;
        margin-bottom: 20px;
        padding: 5px;
        box-sizing: border-box;
        display: block;
    }

    .sidebar .sidebar__menu {
        display: none;
    }
}

.accessMap .accessMap__map {
    width: 80%;
    height: 450px;
}

.accessMap .accessMap__subtitle {
    font-size: 1.125rem;
    margin-bottom: 15px;
}

.accessMap .accessMap__addressArea {
    margin-bottom: 20px;
}

.accessMap .accessMap__address {
    font-size: 1rem;
    margin-bottom: 5px;
}

.accessMap .accessMap__routeList {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.accessMap .accessMap__routeListItem {
    width: 345px;
    margin-bottom: 20px;
}

.accessMap .accessMap__routeListItem:nth-of-type(2n) {
    margin-left: 20px;
}

.accessMap .accessMap__routeName {
    font-size: 1rem;
    margin-bottom: 5px;
}

.accessMap .accessMap__routeStation {
    color: #666666;
    padding-left: 1.5rem;
}

@media screen and (max-width: 994px) {
    .accessMap .accessMap__map {
        width: 100%;
    }

    .accessMap .accessMap__routeListItem {
        width: 100%;
    }

    .accessMap .accessMap__routeListItem:nth-of-type(2n) {
        margin-left: 0;
    }
}

.staffList .staffList__staff {
    width: 100%;
    display: flex;
}

.staffList .staffList__staff:not(:first-of-type) {
    margin-top: 20px;
}

.staffList .staffList__staffImage {
    width: 50%;
    height: 266px;
    display: block;
}

.staffList .staffList__staffInfo {
    width: 45%;
    margin-left: 5%;
}

.staffList .staffList__staffName {
    font-size: 1.5rem;
    margin-bottom: 10px;
}

.staffList .staffList__staffNameRight {
    font-size: 1.5rem;
    margin-bottom: 10px;
    margin-left: -9%;
}

.staffList .staffList__staffParsonalRight {
    margin-left: -35px;
    padding-right: 6%;
}

.staffList .staffList__staffRole {
    font-size: 1rem;
    margin-bottom: 20px;
}

.staffList .staffList__staffRoleRight {
    font-size: 1rem;
    margin-bottom: 20px;
    margin-left: -35px;
}

@media screen and (max-width: 994px) {
    .staffList .staffList__staff {
        flex-direction: column;
    }

    .staffList .staffList__staffImage {
        width: 100%;
        margin-bottom: 10px;
    }

    .staffList .staffList__staffInfo {
        width: 100%;
        margin-left: 0;
    }
}

.learningList .learningList__learning {
    width: 100%;
    display: flex;
}

.learningList .learningList__learning:not(:first-of-type) {
    margin-top: 20px;
}

.learningList .learningList__learningImage {
    width: 40%;
    height: auto;
    display: block;
}

.learningList .learningList__learningInfo {
    width: 55%;
    margin-right: 5%;
}

.learningList .learningList__learningName {
    font-size: 1.5rem;
    margin-bottom: 20px;
}

@media screen and (max-width: 994px) {
    .learningList .learningList__learning {
        flex-direction: column;
    }

    .learningList .learningList__learningImage {
        display: none;
    }

    .learningList .learningList__learningInfo {
        width: 100%;
        margin-right: 0;
    }
}

.news {
    width: 100%;
}

.news p {
    margin-bottom: 10px;
}

.news h2 {
    font-size: 1.5rem;
    margin-bottom: 20px;
}

.news h3 {
    font-size: 1.125rem;
    margin-top: 20px;
    margin-bottom: 15px;
}

.news img {
    max-width: 100%;
    height: auto;
    margin-bottom: 10px;
    display: block;
}

.privacymark {
    width: 100%;
    display: flex;
}

.privacymark .privacymark__image {
    width: 20%;
    height: auto;
    padding: 10px;
    box-sizing: border-box;
    display: block;
}

.privacymark .privacymark__text {
    width: 80%;
    padding: 10px;
    box-sizing: border-box;
    background-color: #efefef;
}

@media screen and (max-width: 994px) {
    .privacymark {
        display: block;
    }

    .privacymark .privacymark__image {
        width: 100%;
        max-width: 200px;
    }

    .privacymark .privacymark__text {
        width: 100%;
    }
}

.sitemap .sitemap__container {
    display: flex;
}

.sitemap .sitemap__category {
    width: 241.6666666667px;
}

.sitemap .sitemap__categoryName {
    font-size: 1.125rem;
    margin-bottom: 20px;
}

.sitemap .sitemap__menuList {
    list-style-type: disc;
    padding-left: 1rem;
}

.sitemap .sitemap__menuItem:not(:first-of-type) {
    margin-top: 8px;
}

.sitemap .sitemap__menuItem {
    margin-bottom: 20px;
}

@media screen and (max-width: 994px) {
    .sitemap .sitemap__container {
        display: block;
    }
}

/* Light beam effect from top-left corner */
body::before {
    content: "";
    position: fixed;
    inset: 0;
    background: radial-gradient(ellipse at 0% 0%, rgba(255, 255, 255, 0.6), rgba(99, 102, 241, 0.15) 25%, transparent 50%),
    linear-gradient(135deg, rgba(34, 211, 238, 0.12), transparent 45%);
    pointer-events: none;
    z-index: 9999;
    mix-blend-mode: overlay;
    opacity: 0.5;
}

/* Curved/concave page effect - center slightly darker, edges lighter */
.main::before,
.content::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,
    rgba(255, 255, 255, 0.15) 0%,
    rgba(0, 0, 0, 0.03) 50%,
    rgba(255, 255, 255, 0.15) 100%);
    pointer-events: none;
    z-index: 1;
}

.main,
.content {
    position: relative;
}

.main > *,
.content > * {
    position: relative;
    z-index: 2;
}

/* Inset shadow for depth effect */
.main .main__container,
.content .content__container {
    /* box-shadow: inset 0 0 60px rgba(0, 0, 0, 0.04);*//*qp 20260101*/
}

/*# sourceMappingURL=style.css.map */
