@charset "utf-8";

:root {
  --bg_gray: #F7F7F7;
  --navy: #00205B;
  --gray: #3D3D3D;
  --gray2: #A6A6A6;
  --gray3: #DDD;
  --gray4: #8C8C8C;
  --gray5: #BFBFBF;
  --gray6: #D6D6D6;
  --gray7: #444;
}

/* Common */
@media print, screen and (max-width: 767px) {
  .wrap { padding: 0 5% 0 5% }
}
.btn_white { background-color: #fff; border-radius: 35px; padding: 21px 0; width: 270px; text-align: center; display: block; position: relative; color: black; margin: 40px auto 50px; line-height: 28px; font-size: 1.6rem; font-weight: 500; transition: 0.3s }
.btn_white.border_navy { border: 1.5px solid var(--navy) }
.btn_white:after { right: 22px; position: absolute; background-repeat: no-repeat; content: ""; background-image: url("/common_top/img/common/icon_circle_arrow_navy.svg"); width: 27px; height: 27px; transition: 0.3s; background-size: contain }
.btn_white:hover { opacity: 0.7 }
/*.btn_white:hover:after { right: 14px }*/
@media print, screen and (max-width: 767px) {
  .btn_white { padding: 16px 0; width: 295px; font-size: 1.4rem; margin: 12px auto 26px }
  .btn_white:after { width: 25.5px; top: 18px; right: 20px }
}
.btn_navy { background-color: var(--navy); border-radius: 35px; padding: 21px 0; width: 270px; text-align: center; display: block; position: relative; color: #fff; margin: 40px auto 50px; line-height: 28px; font-size: 1.6rem; font-weight: 500; transition: 0.3s }
.btn_navy:after { right: 22px; position: absolute; background-repeat: no-repeat; content: ""; background-image: url("/common_top/img/common/icon_circle_arrow_white.svg"); width: 27px; height: 27px; transition: 0.3s; background-size: contain }
.btn_navy:hover { opacity: 0.7 }
/*.btn_navy:hover:after { right: 14px }*/
@media print, screen and (max-width: 767px) {
  .btn_navy { width: 100%; font-size: 1.7rem; padding: 16px 0; margin: 0px auto 2px }
  .btn_navy:after { right: 20px }
}
.btn_navy_big { background-color: var(--navy); border-radius: 40px; padding: 26px 0; width: 570px; text-align: center; display: block; position: relative; color: black; margin: 20px auto 30px; line-height: 28px; font-size: 18px; font-weight: 500; color: #fff; border: 1.5px solid var(--navy); transition: 0.3s }
.btn_navy_big:after { right: 26px; position: absolute; background-repeat: no-repeat; content: ""; background-image: url("/common_top/img/common/icon_circle_arrow_white.svg"); width: 27px; height: 27px; transition: 0.3s }
.btn_navy_big:hover { opacity: 0.7 }
/*.btn_navy_big:hover:after { right: 18px }*/
@media print, screen and (max-width: 767px) {
  .btn_navy_big { width: 100%; font-size: 1.7rem; padding: 16px 0; margin: 0px auto 15px }
  .btn_navy_big:after { right: 20px }
}

.btn_gray a,
.btn_gray > p { background-color: var(--bg_gray); border-radius: 35px; padding: 0px 60px 0 30px; width: 100%; text-align: center; display: block; position: relative; color: black; /*margin: 20px auto 30px;*/ line-height: 22px; font-size: 1.6rem; font-weight: 500; height: 90px; border-radius: 45px; display: flex; align-items: center; text-align: left; transition: 0.3s }
.btn_gray a:after { right: 22px; position: absolute; background-repeat: no-repeat; content: ""; background-image: url("/common_top/img/common/icon_circle_arrow_navy.svg"); width: 27px; height: 27px; transition: 0.3s; background-size: contain }
.btn_gray a:hover { opacity: 0.5 }
/*.btn_gray:hover:after { right: 14px }*/
@media print, screen and (max-width: 767px) {
  .btn_gray:after { width: 18px; top: 10px; right: 10px }
  .btn_gray { width:100%; height: unset; font-size: 12px; padding: 8px 40px 8px 20px; margin: 0px auto 10px;transition: 0.3s }
  .btn_gray:hover:after { right: 10px }
  .links_btn .btn_gray_subtext{margin: 1.2em 0 1.2em 1.2em;}
}
@media print, screen and (min-width: 768px) {
  .btn_gray {margin: 20px auto 30px;transition: 0.3s}
  .links_btn .btn_gray_subtext{margin: 1.2em 0 1.2em 1.2em;}
}


.tab-controller { font-family: 'Noto Sans JP', sans-serif; justify-content: space-between }
.tab-controller li { width: 380px }
.tab-controller a { letter-spacing: unset; font-size: 2.0rem; border-color: var(--gray2); color: var(--gray2); background-color: transparent; border-radius: 7px 7px 0 0; border-bottom-color: var(--navy); transition: 0.3s }
.tab-controller a.is-active { background-color: var(--navy); color: #fff; border-bottom-color: var(--navy) }
.tab-controller:not(.row-fixed) a { height: 60px }
.tab-controller a:hover { opacity: 0.7 }
@media print, screen and (max-width: 767px) {
  .tab-controller a { font-size: 1.0rem }
  .tab-controller:not(.row-fixed) a { height: 32px }
  .tab-controller a:hover { opacity: 1 }
  .tab-controller li { width: 32.5% }
}
.cat_title { font-size: 4.0rem; font-weight: bold; padding: 100px 0 50px; text-align: center;  }
.cat_title.white { color: #fff }
.cat_txt { font-size: 1.8rem; line-height: 2em }
@media print, screen and (max-width: 767px) {
  .cat_title { font-size: 2.4rem; padding: 50px 0 12px }
  .cat_txt { font-size: 1.4rem }
}
@media print, screen and (max-width: 767px) {
  .archive_scroll { overflow-x: scroll; margin-right: -5.5% }
  .archive_scroll{  -ms-overflow-style: none; scrollbar-width: none }
  .archive_scroll::-webkit-scrollbar { display:none }
}
/* 2025.3.6×·¼Ó*/
.btn_navy_big.white { background-color: #fff; color: var(--navy) }
.btn_navy_big.white:after { background-image: url("/common_top/img/common/icon_circle_arrow_navy.svg") }
.btn_navy_big.white:hover { opacity: 0.5 }
#home-academics .cat_txt { margin-bottom: 40px }

/* TOP */
body { font-family: 'Noto Sans JP', sans-serif; color: #000 }
#globalHeader { font-family: "Noto Sans JP", serif }
#globalHeader { background-color: var(--bg_gray) }
.main { background-color: var(--bg_gray) }
#navSearch button { background-image : url("/common_top/img/common/gn_icon_search.svg") }
#navSearch input[type="text"] { width: 94%; flex-grow: unset }
@media print, screen and (min-width: 768px) {
  #globalHeader .logo img { height: 49px }
}

/* ¥°¥í¥Ê¥Ó & ¥µ¥¤¥É¥á¥Ë¥å©` */
@media print, screen and (min-width: 768px) {
  #globalNav { overflow-y: scroll; width: unset; background-color: transparent }
  #globalNav .scroll { overflow-y: visible }
  #globalNav.side { overflow-y: visible }
  #navGlobal { position: relative; background-color: transparent; padding-left: 0px; padding-right: 0px; padding-bottom: 0 }
  #navGlobal span { z-index: 1; border-bottom-color: #8C8C8C; height: unset; padding-right: unset }
  #navGlobal span a { height: 64px; padding-left: 12px; padding-right: 12px; width: 100%; transition: 0.3s; color: var(--gray) }
  #navGlobal span a:hover { background-color: var(--navy); color: #fff; opacity: 1 }
  #navGlobal li span { float: right; width: 180px; background-color: var(--bg_gray) }
  #navGlobal summary { z-index: 1; border-bottom-color: #8C8C8C; height: unset; padding-right: unset }
  #navGlobal summary a { height: 64px; padding-left: 12px; padding-right: 12px; width: 100%; transition: 0.3s; color: var(--gray) }
  #navGlobal summary a:hover { background-color: var(--navy); color: #fff; opacity: 1 }
  #navGlobal li summary { float: right; width: 180px; background-color: var(--bg_gray) }
  #navGlobal summary:hover a:after { right: 0px }
  #navGlobal summary { list-style: none }

  /* 2025.3.19ÐÞÕý */
  #navGlobal li:hover { width: 414px }
  #navGlobal li:hover .side_child li { width: 234px }
  #navGlobal { display: flex; flex-direction: column; align-items: flex-end }

  #navGlobal:hover .side_child li { width: 234px }
  #navGlobal li { width: 180px; overflow: hidden; position: relative }
  #navGlobal li:hover { overflow: visible }
  #navGlobal li:last-child:hover { overflow: hidden }

  /* 2025.3.19ÐÞÕý */
#navGlobal .side_child { visibility: hidden; position: absolute; left: 0px; top: -1px; transition: 0s; z-index: -1; ; padding-bottom: 0px; background-color: transparent; margin-top: 0px; display: block !important }

  #navGlobal li .side_child span { border-bottom-color: transparent }
  #navGlobal li .side_child span a { color: transparent }
  #navGlobal li:hover .side_child { visibility: visible; left: 0px; z-index: 1; background-color: rgba( 61,61,61,0.9); width: 234px; height: auto }
  #navGlobal li:hover .side_child span { border-bottom-color: #8C8C8C }
  #navGlobal li .side_child li:first-child span { border-top: 1px solid #8C8C8C }
  #navGlobal li:hover .side_child span a { color: #fff }
  #navGlobal li .side_child li + li { margin-top: 0px }
  #navGlobal .side_child li span { float: none; width: unset; background-color: unset }
  #navGlobal .side_child a { color: #fff } 
  #navGlobal span:after { transition: 0.3s }
  #navGlobal span:hover a:after { right: 0px }
  #navGlobal li .side_child li a:after { background-image: none; width: 0 }
  #navGlobal a { font-weight: 600 }

  /* ¥µ¥¤¥É¥á¥Ë¥å©`ÓÒÊ¸Ó¡¤Ê¤· 2025.3.6ÐÞÕý */
  #navGlobal a:after { background: url("/common_top/img/common/arrow_navy.svg") 0 0 / contain no-repeat; width: 12px; height: 8.5px; transition: 0.3s; content: none }
  #navGlobal a:hover:after { background: url("/common_top/img/common/arrow_white.svg") 0 0 / contain no-repeat; width: 12px; height: 8.5px }

  #navSub { width: 180px; float: right; background-color: var(--bg_gray) }
  #navSub a { font-size: 1.1rem; line-height: 1.4; color: var(--gray); font-weight: 500 }
  #navSub > li { padding-top: 30px; padding-bottom: 30px }
  #navSub li li + li { margin-top: 20px }
  #home-important > div { width: 1166px }
  body.home .wrap { padding-left: calc( ( 100% - 1166px ) / 2 ); padding-right: calc( ( 100% - 1166px ) / 2 ) }
  #navController li a { font-size: 11px; padding-top: 57px !important }
  #navSearch button svg { height: 11px; margin-top: 0px }
  #navController li:after { content: none }
  #navController .u_1 a { background-size: auto 22px; background-position-y: 28px }
  #navController .u_2 a { background-size: auto 19.5px; background-position-y: 30px }
  #navController .u_3 a { background-size: auto 20px; background-position-y: 30px }
  #navController .u_4 a { background-size: auto 17px; background-position-y: 33px }
  #navController a { padding-left: 24px; padding-right: 24px }
  #navSearch button { background-position-y: 18px; transition: 0.3s }
  #navSearch button:hover { opacity: 0.5 }
}

#globalNav .portal { padding: 0 12px }
#globalNav .portal a { border: 1px solid var(--gray); border-radius: 5px }
#globalNav .up { background-color: var(--bg_gray);  padding: 10px 10px; margin: 0 !important; font-size: 1.1rem; color: var(--gray); transition: 0.3s }
#globalNav .sns { background-color: var(--bg_gray); padding: 10px 12px 130px; margin: 0 !important }
#globalNav .scroll { padding-bottom: 0 }
#globalNav .up:after { background-image: url("/common_top/img/common/icon_outside.svg"); width: 9.5px; height: 9.5px }
#globalNav .sns img { height: 27px }
#globalNav .sns ul { padding: 0 }
#navSub ul { padding: 15px 6px }
#navSub ul li + li ul { padding-top: 4px }

/* ¥¹¥Þ¥Û¥á¥Ë¥å©` */
@media print, screen and (max-width: 767px) {
  #navSearch form { height: 58px; border-radius: 30px; padding: 10px 20px 10px 20px }
  .search-form__text { padding: 0 !important }
  #navSearch input[type="submit"] { height: 19px; width: 19px }
  html.is-open #menuBtn { background-color: unset; transition: 0.3s }
  html.is-open #menuBtn > span:nth-of-type(1) span { background-color: black }
  #menuBtn { background-image: unset; position: relative }
  #menuBtn:before { content: "¥á¥Ë¥å©`"; font-size: 10px; position: absolute; width: 40px; bottom: 2px; left: 50%; transform: translateX(-50%); -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transition: 0.3s }
  html.is-open #menuBtn { background-image: unset }
  html.is-open #menuBtn:before { content: "é]¤¸¤ë" }
  html.is-open #globalNav { background-color: unset }
  #navSearch { background-color: rgba(247, 247, 247, 0.95); padding: 20px 5% 20px }
  #navGlobal { background-color: rgba(247, 247, 247, 0.95); padding: 0 5% 0 }
  #navSub { background-color: rgba(247, 247, 247, 0.95); padding: 0px 5% 30px }
  #navSub > li { border-bottom: 1px solid var(--gray2) }
  #navGlobal .side_child a { color: #fff }
  #navGlobal ul { margin-top: 0px; margin-bottom: 0 }
  #navGlobal span { height: unset; padding: 15px 0 15px 20px; font-size: 13px }
  #navGlobal li li + li { margin-top: 0px }
  #navGlobal ul li:last-child span { border-bottom: none }
  #navGlobal > li:last-child { border-bottom: 1px solid var(--gray2) }
  #navSub a { font-weight: 500; font-size: 1.2rem }
  #navSub > li { padding-left: 20px; padding-bottom: 30px } 
  #navSub > ul { display: block; padding: 0 }
  #navSub > ul > li { padding: 15px 20px; border-bottom: 1px solid var(--gray2) }
  #navSub > ul > li + li { border-bottom: none }
  #navSub ul ul { display: grid; grid-auto-flow: column; grid-template-rows: repeat(4, auto) }
  #navSub ul li + li ul { display: grid; grid-auto-flow: column; grid-template-rows: repeat(2, auto); grid-template-columns: 1fr 1fr 1fr }
  #navSub ul { padding: 15px 0 }
  #navSub > ul { padding: 0px 0 }
  #navSub ul li + li ul { padding-top: 15px }
  #globalNav .up { position: relative; font-size: 1.3rem; line-height: 1.4em; padding: 15px 20px; justify-content: space-between; background-color: unset }
  #globalNav .up:after{  content:"";   background-image:url("/common_top/img/ui/icon/external_on.svg");   background-position:left center;   background-repeat:no-repeat;   background-size:contain;   transition:background .3s ease-in;   -webkit-backface-visibility:hidden;           backface-visibility:hidden;   will-change:background;   font-size:0;   flex-shrink:0;   width:10px;   height:10px}
  #globalNav .up:after{    background-image:url(/common_top/img/common/icon_outside.svg);  width:12px;  height:12px}
  #globalNav .up:before { content: none }
  #globalNav .portal { padding: 0 20px }
  #globalNav .sns img { height: 39px; min-width: 39px }
  #globalNav .sns { display: block; background-color: unset; padding: 23px 0px 80px }
  #globalNav .sns ul { display: flex; justify-content: center }
  #globalNav .sns li + li { margin-left: 15px }
  #navController { background-color: var(--navy); height: 77px }
  #navController a { position: relative; font-size: 1.1rem; padding-top: 45px !important }
  #navController a:before { top: 15px; position: absolute; background-repeat: no-repeat; content: ""; background-size: contain; left: 50%; transform: translateX(-50%); -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%) }
  #navController .u_1 a:before { background-image: url("/common_top/img/common/icon_footer_english.svg"); width: 23.5px; height: 23.5px }
  #navController .u_2 a:before { top: 17px; background-image: url("/common_top/img/common/icon_footer_document.svg"); width: 19.5px; height: 19.5px }
  #navController .u_3 a:before { top: 18px; background-image: url("/common_top/img/common/icon_footer_access.svg"); width: 16px; height: 20px }
  #navController .u_4 a:before { top: 19px; background-image: url("/common_top/img/common/icon_footer_mail.svg"); width: 21.5px; height: 27px }
  .details a:hover { opacity: 1 !important }
  .details{ height:51px;  transition:all ease-in-out .3s;  box-sizing:border-box}
  .details:last-of-type{}
  .details[open]{ height:auto }
  .details-summary{ display:block;  padding:20px;  border-top:1px solid var(--gray2);  font-size:20px;  font-weight:bold;  transition:all ease-in-out .3s}
  .details-summary:hover{ cursor:pointer}
  .details-summary::-webkit-details-marker{ display:none}
  .details-content{ height:auto;  overflow:hidden;  overflow-y:auto;  background-color:rgba(61,61,61,0.9); display: block !important }
  .details[open] .details-content{ animation:fadeIn .3s ease}
  @keyframes fadeIn{ 0%{ opacity:0;  transform:translateY(-10px)}
   100%{ opacity:1;  transform:none}
  }
  .details-summary{position:relative}
  .details-summary:before, .details-summary:after{ content:"";  background-color:var(--navy);  width:15px;  height:1px;  position:absolute;  top:25px;  right:10px;  transform-origin:center center}
  .details-summary:before{ width:1px;  height:15px;  top:18px;  right:17px}
  .details[open] .details-summary:before { content: none }
  .no-details .details-summary:before, .no-details .details-summary:after{ content: none }
}



/* MV 2025.3.6ÐÞÕý */
#home-mv { padding-bottom: 80px }
#home-mv .slick-dots { bottom: -30px; left: unset; right: 25px }
#home-mv .slick-dots li { width: 9px; height: 9px; margin-left: 16px; margin-right: 16px }
#home-mv .slick-dots button { background-color: var(--gray2); }
#home-mv .slick-dots .slick-active button { background-color: var(--navy); }
@media print, screen and (max-width: 767px) {
  #home-mv { padding-bottom: 0px }
  #home-mv picture { height: calc( 188 * 100vw / 375 ) }
  #home-mv .slick-dots li { width: 7px; height: 7px; margin-left: 11px; margin-right: 11px }
  #home-mv .slick-dots { bottom: -16px; left: unset; right: unset }
  .slide-container { margin-bottom: 0; height: calc( ( 375 * 1.18 / 2 ) * 100vw / 375 ) }
}




/* ¥Õ¥í©`¥Æ¥£¥ó¥°¥Ð¥Ê©` */
.fl-banner { left: 0; position : fixed; top: 60vh; left:  -9px; width: 162px; height: 223px; transition: 0.3s; z-index: 2 }
.fl-banner img { width: 100% }
.fl-banner a { transition: 0.3s }
.fl-banner a:hover { opacity: 0.7 }
.fl-banner .banner-close { z-index: 3; top: -3px; right: 0px; position: absolute; background-repeat: no-repeat; content: ""; background-image: url("/common_top/img/top/top_fl_btn.png"); width: 18px; height: 18px; transition: 0.3s; background-size: contain }
@media print, screen and (max-width: 767px) {
  .fl-banner { width: 134px; height: 184px;  left: -8px }
}


/* &#32769;&#34382;&#26426;&#28216;&#25103;¤Ê¤ªÖª¤é¤» & £´¤Ä¤Î¥ê¥ó¥¯ 2025.3.6ÐÞÕý */
#home-important > div { padding-left: 2.3%; padding-right: 2.3% }
#home-important, #home-important time { font-family: "Noto Sans JP", sans-serif }
#home-important > div.bg { background-color: #fff; border-radius: 10px; display: block; box-shadow: 0px 3px 6px rgba(0,0,0,0.16); padding-bottom: 20px }
#home-important h2 { font-size: 1.4rem; font-weight: bold; color: #A80000 }
#home-important h2:before { content: none }
#home-important ul { margin-left: 0; padding-left: 0; position: unset }
#home-important ul:before { content: none }
#home-important time { color: var(--gray2); font-weight: 500; font-size: 1.3rem }
#home-important h3 { font-weight: 500; font-size: 1.4rem; line-height: 1.4em; text-overflow: ellipsis; overflow: hidden; white-space: nowrap }
#home-important li + li { margin-top: 16px }
#home-important .link_down { background-color: unset }
#home-important .link_down .links { display: flex; justify-content: space-between }
#home-important .link_down .links li a { background-color: var(--navy); border-radius: 35px; padding: 21px 0; width: 269px; text-align: center; color: #fff; display: block; font-size: 1.6rem; font-weight: 500 }
#home-important .link_down li + li { margin-top: 0px }
#home-important > div.link_down { padding: 40px 0 20px 0; display: block }
#home-important .links a { background-image: none; position: relative }
#home-important .links li a:before { left: 26px; position: absolute; background-repeat: no-repeat; content: ""; background-size: contain }
#home-important .links li:nth-child(1) a:before { background-image: url("/common_top/img/top/link_icon_nyushi.svg"); width: 20.5px; height: 20.5px; top: 24px }
#home-important .links li:nth-child(2) a:before { background-image: url("/common_top/img/top/link_icon_gakubu.svg"); width: 25px; height: 21px; top: 25px }
#home-important .links li:nth-child(3) a:before { background-image: url("/common_top/img/top/link_icon_shikaku.svg"); width: 23.5px; height: 20px; top: 25px }
#home-important .links li:nth-child(4) a:before { background-image: url("/common_top/img/top/link_icon_shusyoku.svg"); width: 22px; height: 22px; top: 25px }
#home-important .links li a:after { right: 22px; position: absolute; background-repeat: no-repeat; content: ""; background-image: url("/common_top/img/common/icon_circle_arrow_white.svg"); width: 27px; height: 27px; transition: 0.3s; background-size: contain }
#home-important .links li a:hover { opacity: 0.7 }
/*#home-important .links li a:hover:after { right: 14px }*/
@media print, screen and (max-width: 767px) {
  #home-important { padding: 0 5% }
  #home-important a { padding: 0 }
  #home-important time { font-size: 1.2rem; padding: 0 }
  #home-important h3 { font-size: 1.2rem; margin-top: 5px; white-space: unset; overflow: hidden; display: -webkit-box; text-overflow: ellipsis; -webkit-box-orient: vertical; -webkit-line-clamp: 2 }
  #home-important > div.bg { padding: 20px 6% 18px }
  #home-important li + li { border-top: none; margin-top: 10px }
  #home-important ul { margin-top: 15px; padding-bottom: 0 }
  #home-important .link_down .links li { width: 47%; margin-bottom: 8px }
  #home-important .link_down .links li a { width: 100%; padding: 14px 0; font-size: 1.1rem }
  #home-important .links li:nth-child(1) a:before { width: 14.5px; top:13px }
  #home-important .links li:nth-child(1) a:before { width: 14.5px; top:13px }
  #home-important .links li:nth-child(2) a:before { width: 16.5px; top:12px }
  #home-important .links li:nth-child(3) a:before { width: 17.5px; top:12px }
  #home-important .links li:nth-child(4) a:before { width: 14.5px; top:13px }
  #home-important .links li a:after { width: 20px }
/*#home-important .link_down .links { flex-flow: wrap column; height: calc(84* 100vw / 332); margin-right: -2% }*/
#home-important .link_down .links { flex-flow: wrap column; height: 95px; margin-right: -2% }
  #home-important .links li a:before { left: 12px }
  #home-important .links li a:after { right: 16px; top: 10px }
  #home-important > div.link_down { padding: 10px 0 14px 0 }
  #home-important > div.bg { padding-bottom: 18px }
  #home-important ul { margin-top: 12px }
}
@media print, screen and (min-width: 768px) {
  #home-important > div.bg { display: flex; padding: 26px 30px }
  #home-important h2 { min-width: 145px }
  #home-important .bg ul { width: 86% }
}




/* ¥Ð¥Ê©`¥¹¥é¥¤¥É */
#home-banners { background-color: var(--gray3); padding: 30px 0 5px; position: relative }
@media print, screen and (max-width: 1730px) and (min-width: 1286px) {
  #home-banners { width: 100% }
}
#home-banners #slider02 { z-index: 0 }
#home-banners #slider02 a { height: 165px; overflow: visible; display: flex; align-items: center }
#home-banners #slider02 a img { width: 482px; height: 157px; overflow: hidden; box-shadow: 0px 2px 3px rgba(96,96,96,0.5); border-radius: 5px }
#home-banners #slider02 a:hover img { transform: scale(1.02) }
#home-banners img.slide-arrow  { width: 44px; height: 44px; position: absolute; top: 50%; transform: translateY(-50%); -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transition: 0.3s }
#home-banners .next img.slide-arrow { right: 15px }
#home-banners .prev img.slide-arrow { left: 15px }
#home-banners .next img.slide-arrow:hover { right: 10px }
#home-banners .prev img.slide-arrow:hover { left: 10px }
@media print, screen and (max-width: 767px) {
  #home-banners #slider02 a > img { height: auto; width: auto }
  #home-banners #slider02 .slick-slide { margin-left: calc(5* 100vw / 390); margin-right: calc(5* 100vw / 390) }
  #home-banners #slider02 a { height: auto }
  #home-banners { padding: 20px 0 20px; margin-top: 0 }
  #home-banners img.slide-arrow { width: 22px }
}



/* Ñ§²¿?´óÑ§Ôº?Í¨ÐÅ½ÌÓý 2025.3.6ÐÞÕý */
#home-academics { font-family: "Noto Sans JP", sans-serif; text-align: center; padding-bottom: 0px }
.ul_academics { display: flex; flex-wrap: wrap; justify-content: space-between; text-align: left; align-items: stretch }
.ul_academics tr { margin-bottom: 25px }
.ul_academics td { width: 270px; border-radius: 10px; box-shadow: 0px 1.5px 5px rgba(0,0,0,0.3); overflow: hidden; margin-bottom: 30px }
.ul_academics tr tr { width: auto; border-radius: unset; box-shadow: unset; margin: 28px 0 0 }
@media print, screen and (min-width: 768px) {
  .ul_academics::before { content:""; display: block; width:270px; order:1 }
  .ul_academics::after { content:""; display: block; width:270px }
}
#home-academics picture { height: 236px }
.ul_academics img { width: 100% }
.academic_txt { padding: 30px; color: #fff; height: 100%; height: 225px }
.academic_txt.gakubu { height: 105px }
.academic_txt.gakka { height: 120px; padding: 0 30px 30px }
.academic_txt a { color: #fff; transition: 0.3s }
.academic_txt a:hover { opacity: 1 }
.academic_txt.purplepink { background-color: #C496B9 }
.academic_txt.green { background-color: #A4C592 }
.academic_txt.orange { background-color: #ECB37F }
.academic_txt.blue { background-color: #A0CDDF }
.academic_txt.purple { background-color: #9993B0 }
.academic_txt.pink { background-color: #DCAAB0 }
.academic_txt.brown { background-color: #CFBF9E }
.cat_academics { font-size: 12px }
#home-academics h3 { margin: 10px 0 32px; position: relative; line-height: 1.4em; transition: 0.3s;padding-right: 27px; }
#home-academics a h3:after { position: absolute; background-repeat: no-repeat; content: ""; background-image: url("/common_top/img/common/icon_circle_arrow_white.svg"); width: 27px; height: 27px; top: 0px; right: 0px; transition: 0.3s }
#home-academics a p { transition: 0.3s }
#home-academics a:hover p { opacity: 0.6 }
#home-academics a:hover h3 { opacity: 0.6 }
/*#home-academics a:hover h3:after { right: -8px }*/
#home-academics a:hover img { transform: scale(1.02) }
#home-academics a img { transition: 0.3s }
.academic_txt ul li a { position: relative; display: block; margin-bottom: 23px }
.academic_txt ul li a:after { position: absolute; background-repeat: no-repeat; content: ""; background-image: url("/common_top/img/common/arrow_white_small.svg"); width: 9px; height: 6.5px; top: 4px; right: 10px; transition: 0.3s }
.academic_txt ul li a:hover { opacity: 0.6 }
/*.academic_txt ul li a:hover:after { right: 4px }*/
@media print, screen and (max-width: 767px) {
  .archive_scroll { padding-left: 9% }
  .ul_academics { flex-wrap: nowrap }
  .ul_academics tr { width: 70vw; margin-right: 9vw }
  .ul_academics td { width: 70vw }
  #home-academics picture { height: calc(236* 72vw / 270) }
  #home-academics h3 { font-size: 1.9rem !important }
}



/* &#32769;&#34382;&#26426;&#28216;&#25103; 2025.3.6ÐÞÕý */
#home-news { font-family: "Noto Sans JP", sans-serif; text-align: center }
#home-news .tab-sections { margin-top: 40px }
.ul_academics.campus td { width: 270px; background-color: #fff }
.ul_academics.campus picture { height: 228px !important; display: block; overflow: hidden }
.ul_academics.campus img { height: 228px; object-fit: cover; transition: 0.3s }
.ul_academics.campus a:hover img { transform: scale(1.02) }
#home-news time { font-family: "Noto Sans JP", sans-serif; font-size: 1.4rem; color: var(--gray2); margin: 25px 30px 0px; font-weight: 500; display: block }
#home-news h3 { font-size: 1.6rem; letter-spacing: unset; color: black; margin: 15px 30px 0px; font-weight: 500; width: unset; line-height: 1.4em; overflow: hidden; display: -webkit-box; text-overflow: ellipsis; -webkit-box-orient: vertical; -webkit-line-clamp: 2; height: 45px }
#home-news .ul_academics.campus .category { display: flex; flex-wrap: wrap; margin: 20px 30px 0px; position: relative; height: 60px; overflow: hidden }
#home-news .ul_academics.campus .category li { background-color: var(--bg_gray); color: var(--navy); padding: 0px 8px; margin: 0px 5px 5px 0; border-radius: 13px; width: auto; height: 25px }
/*#home-news .ul_academics.campus a div { padding-bottom: 80px }*/
#home-news .ul_academics.campus a div { padding-bottom: 20px }
#home-news .ul_academics.campus a { position: relative; padding-bottom: 30px }
#home-news .ul_academics.campus a:after { bottom: 30px; left: 30px; position: absolute; background-repeat: no-repeat; content: ""; background-image: url("/common_top/img/common/icon_circle_arrow_navy.svg"); width: 27px; height: 27px; transition: 0.3s; background-size: cover }

/* hover„Ó¤­¤Ê¤·*/
/*#home-news .ul_academics.campus a:hover:after { left: 38px }*/

.ul_academics.campus::before { content: none }
.ul_academics.campus::after { content:""; display: block; width:370px }
#home-news .btn_white { margin-top: 20px }
#globalMain #home-news .ul_academics.campus a:after { content: none }
#globalMain #home-news .ul_academics.campus .category { height: unset }
#globalMain #home-news .ul_academics.campus a div { padding-bottom: 20px }

@media print, screen and (max-width: 767px) {
  #home-news .archive_scroll { padding-left: 0% }
  .ul_academics.campus tr { width: 85vw; margin-right: 3vw }
  .ul_academics.campus picture { height: calc(194 * 85vw / 315) !important }
  .ul_academics.campus::after { content: none }
  #home-news .category li { font-size: 1.1rem }
  #home-news time { font-size: 1.2rem; margin: 20px 20px 0px }
  #home-news h3 { margin: 10px 20px 0px }
  #home-news .ul_academics.campus .category { margin: 15px 20px 0px; padding-bottom: 60px }
  #home-news .ul_academics.campus .category:after { bottom: 20px; left: 0px }
  .ul_academics.campus tr { margin-bottom: 0px }
  #home-news .tab-sections { margin-top: 20px }
  #home-news .ul_academics.campus a:after { width: 25.5px; height: 25.5px }
  .ul_academics.campus td { width: 270px }
  #home-news .ul_academics.campus { flex-wrap: wrap }
  #globalMain #home-news .archive_scroll { margin-right: -4px; margin-left: -4px }
  #globalMain .ul_academics.campus tr { width: 44vw; margin-right: unset; margin-bottom: 12px }
  #globalMain #home-news time { font-size: 1.0rem; margin: 15px 10% 0px }
  #globalMain #home-news h3 { margin: 10px 10% 0px; font-size: 12px; height: unset }
  #globalMain #home-news .ul_academics.campus .category { margin: 12px 10% 12px; padding-bottom: unset; height: unset }
  #globalMain #home-news .ul_academics.campus .category li { padding: 3px 6px; height: unset; line-height: 1.2em }
  #globalMain #home-news .ul_academics.campus a div { padding-bottom: unset; height: 50px }
  #globalMain .ul_academics.campus picture { height: 98.5px !important;  }
  #globalMain .ul_academics.campus img { height: 98.5px }

}




/* ¥¤¥Ù¥ó¥ÈÇéˆó 2025.3.6ÐÞÕý */
@media print, screen and (min-width: 768px) {
  #home-event-new { max-width: 1283px; margin-left: auto; margin-right: auto }
}
#home-event-new { background-image: url(/common_top/img/top/bg_event.jpg); background-repeat: no-repeat; background-size: cover; padding-bottom: 55px }
#home-event-new .btn_white { margin-top: 30px }
.ul_academics.event li { margin-bottom: 25px }
.ul_academics.event li { border-radius: 10px; box-shadow: 0px 1.5px 5px rgba(0,0,0,0.3); overflow: hidden; margin-bottom: 30px }
.ul_academics.event { display: flex; justify-content: space-between; height: 620px; overflow-y: scroll; width: 1186px }
.ul_academics.event::after { content:""; display: block; width:570px }
.ul_academics.event li { width:570px; background-color: #fff; font-weight: 500 }
.ul_academics.event li a { padding:  0 30px 30px 30px; display: block }
.ul_academics.event li p.belong, .ul_academics.event li p.label { color: var(--gray2); font-size: 1.4rem; display: flex; justify-content: left; align-items: center }
/*.ul_academics.event li p.belong { padding: 4px 0 0 20px; height: 54px }*/
.ul_academics.event li p.label { /*padding: 0 0 20px 20px;*/ line-height: 1.2em; /*align-items: flex-start; height: 40px*/ padding: 4px 0 0 20px; height: 104px; }
.ul_academics.event li p.belong:before { content:""; background-image: url(/common_top/img/top/icon_info_human.svg); width: 16px; height:16px; margin-right: 10px; background-size: contain; background-repeat: no-repeat }
.ul_academics.event li p.label:before { content:""; background-image: url(/common_top/img/top/icon_info_map.svg); min-width: 16px; height:20px; margin-right: 10px; background-size: contain; background-repeat: no-repeat }
.ul_academics.event li h3 { color: black; font-size: 1.6rem; margin: 12px 0 0 0; line-height: 1.4em; padding-right: 70px; position: relative; transition: 0.3s }
.ul_academics.event li h3 { height: 44px; overflow: hidden; display: -webkit-box; text-overflow: ellipsis; -webkit-box-orient: vertical; -webkit-line-clamp: 2; margin-right: -10px }
.ul_academics.event li h3:after { right: 10px; position: absolute; background-repeat: no-repeat; content: ""; background-image: url("/common_top/img/common/icon_circle_arrow_navy.svg"); width: 27px; height: 27px; transition: 0.3s; top: 9px; background-size: contain }
.ul_academics.event li:hover h3 { opacity: 0.5 }
/*.ul_academics.event li:hover h3:after { right: 2px }*/
.ul_academics.event li .event_date { background-color: var(--navy); float: left; height: 92px; border-radius: 0 0 8px 8px; padding: 20px }
.ul_academics.event li .event_date span { display: block; font-size: 16px; line-height: 1em }
.ul_academics.event li .event_date span + span { font-size: 34px; line-height: 1.3em; margin-left: -2px }
.ul_academics.event li .event_date time + time { position: relative; padding-left: 22px }
.ul_academics.event li .event_date time + time:before { bottom: -15px; left: 3px; position: absolute; content: "-"; font-size: 36px; top: 50%; transform: translateY(-50%); -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%) }
.ul_academics.event li time { color: #fff; float: left }
.ul_academics.event { position: relative }
@media print, screen and (max-width: 767px) {
  .ul_academics.event { width: 100% }
  .ul_academics.event { display: block; height: 420px }
  .ul_academics.event li a { padding: 0 20px 13px 20px }
  .ul_academics.event li .event_date { height: 50px; border-radius: 0 0 5px 5px; padding: 10px 16px 0 16px }
  .ul_academics.event li .event_date span { font-size: 1.0rem }
  .ul_academics.event li .event_date span + span { font-size: 1.9rem; margin-left: -1px; line-height: 1.1em }
  .ul_academics.event li .event_date time + time { padding-left: 16px }
  .ul_academics.event li .event_date time + time:before { bottom: -20px; font-size: 25px }
  .ul_academics.event li p.belong, .ul_academics.event li p.label { font-size: 1.0rem }
  .ul_academics.event li h3 { font-size: 1.5rem; padding-right: 40px }
  .ul_academics.event li { width: 100%; border-radius: 7px; margin-bottom: 15px }
  .ul_academics.event li p.belong:before { width: 9.5px; height: 9.5px; margin-right: 6px }
  .ul_academics.event li p.label:before { min-width: 9.5px; height: 12px; margin-right: 6px }
  .ul_academics.event li p.belong { height: 32px; padding: 4px 0 0 15px }
  .ul_academics.event li p.label { line-height: 1.4em; /*padding: 0 0 20px 15px; height: 25px*/ padding: 4px 0 0 15px;height: 57px }
  .ul_academics.event li h3:after { width: 20px; height: 20px; top: 12px }
  #home-event-new .btn_white { margin-top: 16px }
  #home-event-new { padding-bottom: 20px }
}
/* ¥¹¥¯¥í©`¥ë¥Ð©`£¨SimpleBar£© */
.scroll__inner { background-color: #ffffff; overflow-y: scroll; -ms-overflow-style: none; scrollbar-width: none; background-color: transparent; -ms-overflow-style: none; scrollbar-width: none }
.scroll__inner::-webkit-scrollbar { display:none }
.simplebar-scrollbar::before { background: #ffffff; border-radius: 0 }
.simplebar-scrollbar.simplebar-visible::before { opacity: 1 }
.simplebar-scrollbar::before { background: var(--navy) !important }
.simplebar-scrollbar.simplebar-visible:before { opacity: 1 !important }
.simplebar-content { padding: 0px 20px 0px 0px !important; display: flex; flex-wrap: wrap; justify-content: space-between; }
.simplebar-content:after, .simplebar-content:before { content: none !important }
.simplebar-track { background: #fff !important; width: 4px !important; height: 180px; top: 210px !important; border-radius: 3px !important }
.simplebar-scrollbar::before { width: 4px !important; margin-left: 0px !important; left: 0px !important; right: 0px !important }
.simplebar-track.simplebar-vertical .simplebar-scrollbar:before { top:0px !important; bottom: 0px !important; border-radius: 3px !important }
@media print, screen and (max-width: 767px) {
  .simplebar-track { top: 0 !important; height: 126px }
  .simplebar-track { display: none } /* ¥¹¥Þ¥Û¤Ï¥¹¥¯¥í©`¥ë¥Ð©`·Ç±íÊ¾£¨¤³¤ì¤òÍâ¤»¤Ð±íÊ¾£© */
}



/* ¥Õ¥Ã¥¿©` */
#globalFooter { background-color: var(--bg_gray); padding-top: 0; font-family: "Noto Sans JP", serif }
#footerLinks { background-color: var(--navy) }
@media print, screen and (min-width: 768px) {
  #footerLinks { max-width: 1283px }
  #footerLinks { padding: 100px 120px }
  #footerMe { max-width: 1283px; display: block; margin: 0 auto }
  #footerMe { padding: 30px 120px 15px; text-align: center }
  #toTop { right: calc(50% - 525px); bottom: 40px; transition: 0.3s }
  #toTop:hover { bottom: 48px }
}
#footerLinks .links li li a { font-weight: normal !important }
#footerLinks .links li li a:before { background-image: url("/common_top/img/common/arrow_white_small.svg"); width: 9px; height: 6.5px }
#footerLinks .links li li:nth-child(n+3) { margin-top: 22px }
#footerLinks .links ul + a { position: relative; display: flex; align-items: center; font-weight: 400 }
#footerLinks .links ul + a:before { content: ""; display: block; background: url("/common_top/img/common/arrow_white_small.svg") 0 center / contain no-repeat; width: 9px; height: 6.5px; margin-right: 10px }
#footerLinks .externals ul img { height: 39px }
#footerLinks .externals li + li { margin-left: 18px }
#footerLinks .portal { width: 228px }
#footerLinks .portal a { border: 1px solid #fff; border-radius: 10px; color: #fff; font-size:1.3rem; line-height: 1.6em }
#footerLinks .up { background-color: transparent;  padding: 16.5px 18px; margin: 0 !important; color: var(--gray); transition: 0.3s; position: relative; font-weight: 500 }
#footerLinks .up:after { content: ""; background-image: url("/common_top/img/common/icon_outside_white.svg"); width: 12px; height: 12px; right:20px; position: absolute; top: 50%; transform: translateY(-50%); -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%) }
#footerLinks .up span { font-size: 1.6rem; letter-spacing: 0.05em }
#footerLinks .externals { width: 228px }
#footerMe > p { font-family: "Noto Sans JP", serif; font-size: 1.0rem; text-align: right; margin-top: 8px }
#footerMe .logo img { width: 247px }
#globalFooter { background-color: #fff }
#globalFooter .footer_100 { background-color: var(--navy) }

/* Go to TOP 2025.3.6ÐÞÕý */
#toTop { background-color: unset }
#toTop img { height: 40px; opacity: 0.6 }
@media print, screen and (max-width: 767px) {
  #footerLinks { padding-top: 50px}
  #footerLinks .links { width: 300px; margin: 0 auto }
  #footerLinks .links li li a:before {content: ""; display: block; margin-right: 10px }
  #footerLinks .links li li a { display: flex; align-items: center; font-size: 14px }
  #footerLinks .links { width: 80vw; margin: 0 auto }
  #footerLinks .links > li > a { font-size: 14px }
  #footerLinks .links ul { justify-content: space-between }
  #footerLinks .links ul + a { font-size: 1.4rem; margin-top: 30px }
  #footerLinks .links ul > li { width: 49% }
  #footerLinks .portal { text-align: left }
  #footerLinks .externals { margin: 35px auto 0px }
  #footerLinks .externals ul { width: 153px; margin: 20px auto 15px }
  #footerMe > p { text-align: center }
  #footerMe .logo { width: 204px }
  #footerMe { padding-top: 20px; padding-bottom: 10px }
  #footerMe .info { margin-top: 22px }
  #toTop { right: 6%; bottom: 20px !important; width: 25.5px; height: 25.5px }
  #toTop img { height: 25.5px }
  #toTop.is-absolute { top: unset; position: fixed }
}





.btn_white:after{
background-image:url("/common_top/css/gs5jcm0000004lhh-img/gs5jcm0000004lif.svg");
}.btn_navy_big:after{
background-image:url("/common_top/css/gs5jcm0000004lhh-img/gs5jcm0000004ll9.svg");
}#navSearch button{
background-image:url("/common_top/css/gs5jcm0000004lhh-img/gs5jcm0000004llj.svg");
}/*#navGlobal a:after*/{
background-image:url("/common_top/css/gs5jcm0000004lhh-img/gs5jcm0000004lls.svg");
}/*#navGlobal a:hover:after*/{
background-image:url("/common_top/css/gs5jcm0000004lhh-img/gs5jcm0000004lm1.svg");
}#globalNav .up:after{
background-image:url("/common_top/css/gs5jcm0000004lhh-img/gs5jcm0000004lma.svg");
}@media print, screen and (max-width: 767px){#navController .u_1 a:before{
background-image:url("/common_top/css/gs5jcm0000004lhh-img/gs5jcm0000004lmj.svg");
}}@media print, screen and (max-width: 767px){#navController .u_2 a:before{
background-image:url("/common_top/css/gs5jcm0000004lhh-img/gs5jcm0000004lms.svg");
}}@media print, screen and (max-width: 767px){#navController .u_3 a:before{
background-image:url("/common_top/css/gs5jcm0000004lhh-img/gs5jcm0000004ln1.svg");
}}@media print, screen and (max-width: 767px){#navController .u_4 a:before{
background-image:url("/common_top/css/gs5jcm0000004lhh-img/gs5jcm0000004lna.svg");
}}#home-important .links li:nth-child(1) a:before{
background-image:url("/common_top/css/gs5jcm0000004lhh-img/gs5jcm0000004lnl.svg");
}#home-important .links li:nth-child(2) a:before{
background-image:url("/common_top/css/gs5jcm0000004lhh-img/gs5jcm0000004lns.svg");
}#home-important .links li:nth-child(3) a:before{
background-image:url("/common_top/css/gs5jcm0000004lhh-img/gs5jcm0000004lo1.svg");
}#home-important .links li:nth-child(4) a:before{
background-image:url("/common_top/css/gs5jcm0000004lhh-img/gs5jcm0000004loa.svg");
}#home-important .links li a:after{
background-image:url("/common_top/css/gs5jcm0000004lhh-img/gs5jcm0000004loj.svg");
}#home-academics a h3:after {
background-image:url("/common_top/css/gs5jcm0000004lhh-img/gs5jcm0000004los.svg");
}.academic_txt ul li a:after{
background-image:url("/common_top/css/gs5jcm0000004lhh-img/gs5jcm0000004lp1.svg");
}/*#home-news .ul_academics.campus a:after*/{
background-image:url("/common_top/css/gs5jcm0000004lhh-img/gs5jcm0000004lpa.svg");
}.ul_academics.event li p.belong:before{
background-image:url("/common_top/css/gs5jcm0000004lhh-img/gs5jcm0000004lpj.svg");
}.ul_academics.event li p.label:before{
background-image:url("/common_top/css/gs5jcm0000004lhh-img/gs5jcm0000004lps.svg");
}.ul_academics.event li h3:after{
background-image:url("/common_top/css/gs5jcm0000004lhh-img/gs5jcm0000004lq1.svg");
}#footerLinks .links li li a:before{
background-image:url("/common_top/css/gs5jcm0000004lhh-img/gs5jcm0000004lqa.svg");
}#footerLinks .links ul + a:before{
background-image:url("/common_top/css/gs5jcm0000004lhh-img/gs5jcm0000004lqj.svg");
}#footerLinks .up:after{
background-image:url("/common_top/css/gs5jcm0000004lhh-img/gs5jcm0000004lqs.svg");
}.fl-banner .banner-close{
background-image:url("/common_top/css/gs5jcm0000004lhh-img/gs5jcm0000004o1v.png");
}.btn_navy:after{
background-image:url("/common_top/css/gs5jcm0000004lhh-img/ra24bd00000015ur.svg");
}.btn_gray a:after{
background-image:url("/common_top/css/gs5jcm0000004lhh-img/ra24bd0000001v71.svg");
}.btn_navy_big.white:after{
background-image:url("/common_top/css/gs5jcm0000004lhh-img/ra24bd0000002d4p.svg");
}