@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Lora&family=Noto+Serif+JP:wght@400;600&display=swap');
@charset "UTF-8";
*,:before,:after{margin:0;padding:0;box-sizing:border-box}:before,:after{text-decoration:inherit}html{height:100%;line-height:1.5;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;overflow-wrap:break-word;hyphens:auto;scroll-behavior:smooth}body{min-height:100%;min-height:100dvb}a,area,button,input,label,select,summary,textarea,[tabindex]{touch-action:manipulation}[hidden]:not([hidden='until-found']),summary::-webkit-details-marker{display:none}summary{list-style:none;cursor:pointer;}figure,figcaption{display:block;width:fit-content;margin-inline:0}img{border-style:none;vertical-align:bottom}svg:where(:not([fill])){fill:currentColor}svg:where(:not(:root)){overflow:hidden}audio,canvas,iframe,img,svg,video{vertical-align:middle}audio,video{display:inline-block}iframe{border:0}pre{font:inherit}code,kbd,samp{font-family:monospace;font-size:1em}canvas{display:inline-block}dialog:not([open]){display:none}details{display:block}progress{display:inline-block;vertical-align:baseline}template{display:none}table{border-collapse:collapse}caption{text-align:left}ul{list-style:none}input,button,textarea,select{font:inherit;color:inherit}textarea{resize:vertical}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-input-placeholder{color:inherit;opacity:0.54}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}::-moz-focus-inner{border-style:none}:-moz-focusring{outline:1px dotted ButtonText}:-moz-ui-invalid{box-shadow:none}h1{font-size:1rem}address,em{font-style:normal}b,strong{font-weight:bolder}small{font-size:80%}sup,sub{font-size:.7em;text-decoration:none}sub{vertical-align:-8%}hr{height:0;overflow:visible}main :where(p,ul,ol,dl,table){margin-block:.6em}main ol{padding-left:1.5em}iframe[src*="youtube.com"]{aspect-ratio:16/9;}
@media (min-width:769px){body {min-width:1140px;} .sp {display:none;}}
@media (max-width:768px){.pc {display:none;}}

/* ----- base.js タブ切替 */
[role="tablist"] {display:grid; grid-template-columns:repeat(auto-fit, minmax(0px,1fr));}
[role="tablist"] button {width:100%; border:none; background:transparent; text-align:center; line-height:1.4; cursor:pointer;}
.tabPanels > * {margin:0;}
.tabPanels [aria-hidden] {max-height:0; opacity:0; overflow:hidden; transition:opacity .2s;} .tabPanels [aria-hidden="false"] {max-height:99999px; opacity:1;}

html {font-size:0.9375em; --green1:#169b84; --sbtlGreen:#f0f6f0; --sbtlYellow:#fcfcf3;}
a[href="#"] {pointer-events:none;}
.IB {display:inline-block;}
html {scroll-behavior:smooth;}

.header2023, .footer2023 {all:unset; --1em:1rem; display:block; line-height:1.5; font-family:'Noto Serif JP', serif; letter-spacing:.05em; container-type:inline-size; color:#444;}
:is(.header2023, .footer2023) *, :is(.header2023, .footer2023) *:before, :is(.header2023, .footer2023) *:after {position:relative; top:unset; right:unset; bottom:unset; left:unset; display:block; width:unset; height:unset; max-width:unset; min-width:unset; max-height:unset; min-height:unset; margin:unset; padding:unset; border:unset; border-radius:unset; background:unset; text-align:inherit; text-decoration:inherit; font:inherit; color:inherit; display:block; text-align:left; box-sizing:border-box; box-shadow:unset; transform:unset; transition:unset; opacity:1;}
:is(.header2023, .footer2023) :where(img,br) {display:inline-block; vertical-align:bottom;} :is(.header2023, .footer2023) *:is(.IB) {display:inline-block;}
:is(.header2023, .footer2023) :where(a,small,i,u,b,em,strong,span) {display:inline;}
/*
  font-family:'Kanit', sans-serif;
  font-family:'Lora', serif;
*/
@media (min-width:769px){
  html {scroll-padding-top:140px;}
  :is(.header2023, .footer2023) .sp {display:none;}
  html:not([data-allfolders*="/undergraduate/"]):not([data-allfolders*="/sk2025"]):not(:has(.sitePath)) body:not(.home) :is(.header2023, .footer2023) {font-size:1.25em;}
}
@media (max-width:768px){
  html {scroll-padding-top:80px;}
  :is(.header2023, .footer2023) .pc {display:none;}
  :is(.header2023, .footer2023) {--1em:1rem;}
  [data-allfolders*="/undergraduate/"] :is(.header2023, .footer2023) {font-size:12px; --1em:.93rem;}
  html:not([data-allfolders*="/undergraduate/"]) body:not(.home):not(.fullResponsive) :is(.header2023, .footer2023) {font-size:116%; --1em:1.78rem;}
  html body.fullResponsive :is(.header2023, .footer2023) {font-size:12px; --1em:.93rem;}

/*  body:where(:not(.fullResponsive),:not(.home)) :where(.header2023, .footer2023) {font-size:123.1%;}
  .header2023.-spEm106, .header2023.-spEm106 ~ .footer2023 {--1em:1.0667rem;;}*/
}

/* ============================================================================ */


.header2023 {position:sticky; left:0; top:0; z-index:10100; width:100%;}
.header2023 a {display:block;}
.header2023 ._siteName {width:fit-content;}
.header2023 ._siteName:before {content:""; display:block; width:100%; height:100%; position:absolute; left:0; border-radius:0 0 10px 0; background:#fff;}
.header2023 button {cursor:pointer;}
.header2023 ._navSwitch button {position:absolute; z-index:9002; aspect-ratio:1/1.243; background:url(../images/common2023/navswitch_bg.png) no-repeat 50% 50% / contain;}
.header2023 ._navSwitch button:before,
.header2023 ._navSwitch button:after {content:""; position:absolute; left:50%; top:63%; width:50%; height:2px; background:#444; translate:-50% 0; transition:.1s rotate ease-out;}
.header2023 ._navSwitch.-on button:before {rotate:45deg; box-shadow:0 0 0 transparent;}
.header2023 ._navSwitch.-on button:after {rotate:-45deg; box-shadow:0 0 0 transparent;}
.header2023 ._screen {position:absolute; right:0; bottom:100%; width:100%; height:100vw; transition:.8s all;}
.header2023 ._navSwitch.-on ~ ._screen {box-shadow:0 0 200vw 1000vw #0004;}
.header2023 nav {display:flow-root; position:absolute; right:0; z-index:9001; height:100vh; max-width:0; opacity:0.8; overflow:hidden;}
.header2023 ._navSwitch.-on ~ nav {max-width:100vw; overflow-y:scroll; opacity:1;}
.header2023 nav ._inner {float:right; background:#fff; transition:.4s all ease-out;}
.header2023 nav ._inner:before {content:""; position:absolute; left:0; top:0; width:100%; height:100%; background:#fff; box-shadow:0 300px 0 #fff, 0 600px 0 #fff, 0 900px 0 #fff, 0 1200px 0 #fff, 0 1500px 0 #fff;}
.header2023 nav ._global button,
.header2023 nav ._global li a {width:100%; border-bottom:1px #ccc solid;}
.header2023 nav ._global li:last-of-type {padding-bottom:1em;}
.header2023 nav ._global button {padding-right:2.5em;}
.header2023 nav ._global button i {position:absolute; right:.5em; top:50%; width:1.5em; aspect-ratio:1/1; border:1px #ccc solid; border-radius:50%; translate:0 -50%;}
.header2023 nav ._global button i:before,
.header2023 nav ._global button i:after {content:""; display:block; width:40%; position:absolute; left:30%; top:50%; border-top:1px #909090 solid; transition:.2s all;}
.header2023 nav ._global button:not(.-on) i:after {rotate:90deg;}
.header2023 nav ._global ul {max-height:0; opacity:0; overflow:hidden; transition:.4s all;}
.header2023 nav ._global button.-on + ul {max-height:1500px; opacity:1;}
.header2023 nav ._global .-kari {display:inline-block; vertical-align:middle; margin:0 .4em; padding:0 .3em; border:1px #666 solid; line-height:1.3; font-size:55%; font-family:"Yu Gothic",sans-serif; letter-spacing:0;}
.header2023 nav ._visitor {display:grid; grid-template-columns:repeat(auto-fill, minmax(10em,1fr));}
.header2023 nav ._sns {border-top:1px #ccc solid;}
.header2023 nav ._sns dd {display:flex; flex-wrap:wrap; gap:20px 15px;}
.header2023 nav ._sns .-ig {width:100%;}
.header2023 nav ._sns .-ig {display:flex; align-items:center;}
.header2023 nav ._sns .-ig img {z-index:2;}
.header2023 nav ._sns .-ig ul {width:calc(100% - 36px); background:#aaa2;}
.header2023 nav ._sns .-ig ~ div {display:flex;}
.header2023 nav ._sns .-ig + div {grid-column:2/3; grid-row:1/2;}
.header2023 nav ._sns .-ig + div + div {grid-column:2/3; grid-row:2/3;}
.header2023 nav ._feat {display:grid; grid-template-columns:1fr 1fr; border-bottom:1px #ccc solid; overflow:hidden;}
.header2023 nav ._feat > li {border-top:1px #ccc solid; box-shadow:-1px 0 0 #ccc;}
.header2023 nav ._misc {display:grid; grid-template-columns:1fr 1fr; gap:1em 1.5em;}
.header2023 nav ._misc .-search {grid-column:1/-1; margin-top:.3em;}
.header2023 nav ._misc form {display:flex; background:#0001; padding:.2em;}
.header2023 nav ._misc form * {display:inline-block;}
.header2023 nav ._misc form input {flex-grow:1; font-family:"Yu Gothic Medium",sans-serif;}
.header2023 nav ._misc form button {width:1.2em; aspect-ratio:1/1; overflow:hidden; position:relative; white-space:nowrap; text-indent:2em; box-sizing:border-box; translate:-1px 1px;}
.header2023 nav ._misc form button:before {content:""; width:1em; aspect-ratio:1/1; border:2px #111 solid; border-radius:50%; position:absolute; left:0; top:2px;}
.header2023 nav ._misc form button:after {content:""; width:2px; height:40%; background:#111; position:absolute; right:1px; bottom:3px; rotate:-40deg; transform-origin:right bottom;}

.header2023 nav ._global button.-on + div ul {max-height:1500px; opacity:1;}

@media (min-width:769px){
  .header2023, .footer2023 {min-width:1140px;}
  .header2023 {display:grid; grid-template-columns:auto 1fr 94px; height:70px; background:#fff;}
  .header2023 ._siteName {padding-inline:min(4.16cqw,60px);}
  .header2023 ._siteName:before {top:40px;}
  .header2023 ._siteName img {width:270px; translate:0 25px;}
  .header2023 ._shortcuts {display:flex; flex-direction:column; justify-content:space-between; padding-right:8px;}
  .header2023 ._shortcuts ul {display:flex; justify-content:flex-end;}
  .header2023 ._shortcuts ._upper {gap:1.4em; margin-top:.5em; font-size:77%;}
  .header2023 ._shortcuts ._upper li + li:before {content:""; display:inline-block; height:1em; border-left:1px #888 solid; translate:-.7em 20%;}
  .header2023 ._shortcuts ._upper a {display:inline-block;}
  .header2023 ._shortcuts ._upper form {background:#0001;}
  .header2023 ._shortcuts ._upper :is(form, form input, form button) {display:inline-block; font-family:"Yu Gothic Medium", sans-serif;}
  .header2023 ._shortcuts ._upper form input {width:8em;}
  .header2023 ._shortcuts ._upper form button {width:1.2em; aspect-ratio:1/1; overflow:hidden; position:relative; white-space:nowrap; text-indent:2em; box-sizing:border-box; translate:-1px 1px;}
  .header2023 ._shortcuts ._upper form button:before {content:""; width:.9em; aspect-ratio:1/1; border:2px #111 solid; border-radius:50%; position:absolute; left:0; top:0;}
  .header2023 ._shortcuts ._upper form button:after {content:""; width:2px; height:50%; background:#111; position:absolute; right:1px; bottom:1px; rotate:-40deg; transform-origin:right bottom;}
  .header2023 ._shortcuts ._lower {gap:2em; padding-bottom:.7em; font-size:93%;}
  .header2023 ._shortcuts ._lower img {height:1.8em; margin-right:.5em; translate:0 15%;}
  .header2023 ._navSwitch button {left:50%; top:4px; translate:-50% 0; width:70px;}
  .header2023 ._navSwitch button:before {box-shadow:0 -8px 0 #444;}
  .header2023 ._navSwitch button:after {box-shadow:0 8px 0 #444;}
  .header2023 nav {grid-template-columns:1fr 720px; width:980px; scrollbar-width:thin; scrollbar-color:#ddd #fff; transition:.6s all ease-out;}
  .header2023 nav::-webkit-scrollbar {width:14px;}
  .header2023 nav::-webkit-scrollbar-track {background:#fff; border:0;}
  .header2023 nav::-webkit-scrollbar-thumb {background:#ddd border:4px #fff solid; border-radius:6px;}
  .header2023 nav ._inner {width:720px; padding:36px 94px;}
  .header2023 nav ._global > li > :is(button,a) {padding-block:.5em; font-size:130%;}
  .header2023 nav ._global ul li a {padding:.7em 0 .7em 3.5em; font-size:108%;}
  .header2023 nav ._visitor {gap:1em .2em; padding:.6em 0 1.5em; font-size:93%;}
  .header2023 nav ._sns dt {padding-block:.7em; font-size:130%;}
  .header2023 nav ._sns dd {padding-bottom:1.2em; font-size:93%;}
  .header2023 nav ._sns img {width:36px;}
  .header2023 nav ._sns .-ig {width:100%;}
  .header2023 nav ._sns .-ig ul {width:calc(100% - 36px); display:grid; grid-template-columns:repeat(auto-fill, minmax(10em,1fr)); gap:.8em 1.2em; padding:1em 1em 1em 2.5em; border-radius:8px; translate:-18px 0;}
  .header2023 nav ._feat {font-size:125%;}
  .header2023 nav ._feat > li:nth-child(2n) {padding-left:.5em;}
  .header2023 nav ._feat a {display:flex; align-items:center; gap:.3em; padding-block:.5em;}
  .header2023 nav ._feat img {height:40px;}
  .header2023 nav ._misc {padding-block:1.8em; font-size:93%;}
}
@media (max-width:768px){
  .header2023 {display:flex; justify-content:space-between; box-shadow:0 1.5em 0 0 #fff inset;}
  .header2023 ._siteName {padding:0 calc(var(--1em) * 1.2) 0 calc(var(--1em) * .625);}
  .header2023 ._siteName:before {top:0; translate:0 67%; box-shadow:0 -1em 0 #fff, 0 -2em 0 #fff, 0 -3em 0 #fff;}
  .header2023 ._siteName img {width:calc(var(--1em) * 8.4375); translate:0 calc(var(--1em) * .625);}
  .header2023 ._shortcuts {display:contents;}
  .header2023 ._shortcuts ._upper {display:none;}
  .header2023 ._shortcuts ._lower {position:fixed; top:100dvh; left:0; translate:0 -100%; display:grid; grid-template-columns:repeat(auto-fit, minmax(0,1fr)); width:100%; padding-block:.4em; background:#fff; font-size:85%;}
  .header2023 ._shortcuts ._lower:before,
  .header2023 ._shortcuts ._lower:after {content:""; display:block; position:absolute; left:0; width:100%; height:1px; background:linear-gradient(90deg, #ccc 0%, #ccc 72%, #fff 72%, #fff 76%, #ccc 76%, #ccc 96%, #fff 96%); background-size:25.5vw 1px;}
  .header2023 ._shortcuts ._lower:before {top:.3em;}
  .header2023 ._shortcuts ._lower:after {bottom:.3em; background-position:-20vw 0;}
  .header2023 ._shortcuts ._lower a {display:block; padding-block:.6em; text-align:center;}
  .header2023 ._shortcuts ._lower li + li:before {content:""; display:block; position:absolute; left:0; top:8%; height:84%; border-left:1px #ccc solid;}
  .header2023 ._shortcuts ._lower img {display:block; height:2.5em; margin:0 auto .2em;}
  .header2023 ._navSwitch button {width:calc(var(--1em) * 3); right:calc(var(--1em) * .625); top:calc(var(--1em) * .125);}
  .header2023 ._navSwitch button:before {height:calc(var(--1em) * .13); box-shadow:0 calc(var(--1em) * .37) 0 #444;}
  .header2023 ._navSwitch button:after {height:calc(var(--1em) * .13); box-shadow:0 calc(var(--1em) * -.37) 0 #444;}
  .fullResponsive .header2023 ._navSwitch button:before,
  .fullResponsive .header2023 ._navSwitch button:after {height:calc(var(--1em) * .14);}
  .header2023 nav {transition:.3s all ease-out;}
  .header2023 nav ._inner {width:max(90%,20em); padding:calc(var(--1em) * 4.375) calc(var(--1em) * 1.25) calc(var(--1em) * 1.25);}
  .header2023 nav ._global > lI > :is(a,button) {padding-block:.9em; font-size:150%;}
  .header2023 nav ._global ul li  a {padding:1em 0 1em 1.2em; font-size:120%;}
  .header2023 nav ._visitor { grid-template-columns:repeat(auto-fill, minmax(9em,1fr)); gap:.9em .2em; padding:calc(var(--1em) * 1.2) 0 calc(var(--1em) * 1.8); font-size:116%; white-space:nowrap;}
  .header2023 nav ._sns {padding:calc(var(--1em) * 1.8) 0;}
  .header2023 nav ._sns dt {margin-bottom:1em; font-size:150%;}
  .header2023 nav ._sns dd {font-size:116%;}
  .header2023 nav ._sns img {width:calc(var(--1em) * 3);}
  .header2023 nav ._sns .-ig ul {display:flex; flex-direction:column; gap:.6em; padding:1em 1.4em 1em 2em; border-radius:calc(var(--1em) * .5); margin:0 .5em 0 -1em;}
  .header2023 nav ._sns .-ig ~ div {align-items:center;}
  .header2023 nav ._feat {font-size:125%;}
  .header2023 nav ._feat > li:nth-child(2n) {padding-left:1em;}
  .header2023 nav ._feat a {padding-block:1.6em;}
  .header2023 nav ._feat img {height:calc(var(--1em) * 2.8);}
  .header2023 nav ._feat img ~ span {display:flex; flex-direction:column; justify-content:center; min-height:2.66em; line-height:1.33;}
  .header2023 nav ._misc {padding-block:1.8em; font-size:116%;}
}

.header2023.-mod2025 ._visitor .-search form {display:grid; grid-template-columns:1fr auto; background:#0001;}
.header2023.-mod2025 ._visitor form button {width:1.2em; aspect-ratio:1/1; overflow:hidden; position:relative; white-space:nowrap; text-indent:2em; box-sizing:border-box; translate:-1px 1px;}
.header2023.-mod2025 ._visitor form button:before {content:""; width:.9em; aspect-ratio:1/1; border:2px #111 solid; border-radius:50%; position:absolute; left:0; top:0;}
.header2023.-mod2025 ._visitor form button:after {content:""; width:2px; height:50%; background:#111; position:absolute; right:1px; bottom:1px; rotate:-40deg; transform-origin:right bottom;}
.header2023.-mod2025 ._misc li:not(:has(img)) a:before {content:""; display:inline-block; width:.5em; aspect-ratio:1; margin-right:.3em; background:#aaa; border-radius:50%;}
.header2023.-mod2025 ._misc img {width:1.5em; vertical-align:middle; margin-right:.3em; translate:0 -5%;}

@media (min-width:769px){
  .header2023.-mod2025 {--pcHeaderHeight:calc(var(--1em) * 8.8); --foldedNavMarker:url('data:image/svg+xml;charset=UTF-8,<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg"><g><path fill-rule="evenodd" clip-rule="evenodd" d="M8 12H0V9H8V12Z" fill="%23F5AC16"/><path fill-rule="evenodd" clip-rule="evenodd" d="M12 3H4V0H12V3Z" fill="%2340AB6C"/><path fill-rule="evenodd" clip-rule="evenodd" d="M0 8V0H3V8H0Z" fill="%23E89ABB"/><path fill-rule="evenodd" clip-rule="evenodd" d="M9 12V4H12V12H9Z" fill="%2353BFE1"/></g><defs><clipPath id="clip0_86_2"><rect width="12" height="12" fill="white"/></clipPath></defs></svg>');
    grid-template-columns:auto 1fr; grid-template-rows:auto auto 1fr; height:max(136px,var(--pcHeaderHeight));}
  .header2023.-mod2025 :is(nav, nav ._inner) {display:contents;}
  .header2023.-mod2025 nav ._inner:before {display:none;}
  .header2023.-mod2025 ._siteName {grid-column:1/2; grid-row:2/4; padding-inline:max(3vw,25px);}
  .header2023.-mod2025 ._siteName:before {display:none;}
  .header2023.-mod2025 ._visitor {grid-column:1/3; grid-row:1/2; display:flex; justify-content:flex-end; gap:1em; padding:.6em max(3vw,25px); background:#f5f5f5; font-size:calc(var(--1em) * .77); --userIconBg:#333;}
  .header2023.-mod2025 ._visitor a[href*="/user/"] {position:relative; padding-left:1em;}
  .header2023.-mod2025 ._visitor a[href*="/user/"]:before,
  .header2023.-mod2025 ._visitor a[href*="/user/"]:after {content:""; display:block; aspect-ratio:1; position:absolute; left:.3em; top:50%; background:var(--userIconBg);}
  .header2023.-mod2025 ._visitor a[href*="/user/"]:before {width:.5em; border-radius:50%; translate:-50% -100%;}
  .header2023.-mod2025 ._visitor a[href*="/user/"]:after {width:.7em; clip-path:polygon(50% 0, 100% 100%, 0 100%); translate:-50% -15%;}
  .header2023.-mod2025 ._visitor li:nth-child(1) {--userIconBg:#ffb100;}
  .header2023.-mod2025 ._visitor li:nth-child(2) {--userIconBg:#50caef;}
  .header2023.-mod2025 ._visitor li:nth-child(3) {--userIconBg:#87b828;}
  .header2023.-mod2025 ._visitor li:nth-child(4) {--userIconBg:#F66488;}
  .header2023.-mod2025 ._visitor li:nth-child(5) {--userIconBg:#c36cee;}
  .header2023.-mod2025 ._visitor li:nth-child(6) {--userIconBg:#129044;}
  .header2023.-mod2025 ._visitor form input {width:12em;}
  .header2023.-mod2025 ._misc {grid-column:2/3; grid-row:2/3; display:flex; justify-content:flex-end; padding:.8em max(3vw,25px) .4em; font-size:calc(var(--1em) * .77); color:#666;}
  .header2023.-mod2025 ._global {position:static; grid-column:2/3; grid-row:3/4; display:grid; grid-template-columns:repeat(auto-fit, minmax(0px,1fr));}
  .header2023.-mod2025 ._global > li:nth-child(n) {position:static; display:flex; padding:0;}
  .header2023.-mod2025 ._global > li:nth-child(n):before {content:""; display:block; height:calc(100% - 2em); margin-top:1em; border-left:1px #ccc solid;}
  .header2023.-mod2025 ._global > li > :is(a,button) {position:relative; display:grid; place-content:center; min-height:5em; padding:0 .2em; border:none; text-align:center; font-size:calc(var(--1em) * .93);}
  .header2023.-mod2025 ._global > li > :is(a,button):hover {color:inherit;}
  .header2023.-mod2025 ._global > li > :is(a,button):after {content:""; display:block; width:0; height:3px; position:absolute; left:50%; bottom:.6em; translate:-50% -50%; background:#eee; transition:all .2s;}
  .header2023.-mod2025 ._global > li:has(*:hover) > *:after {width:90%; background:linear-gradient(90deg, #4cb84b 0%, #bddd30 25%, #f1b012 50%, #f69dae 75%, #28aef5 100%);}
  .header2023.-mod2025 ._global > li > :is(a,button) > * {display:inline-block; line-height:1.3; text-align:center;}
  .header2023.-mod2025 ._global button i {display:none;}
  .header2023.-mod2025 ._global > li > :is(a,button) + div {position:absolute; top:100%; left:50%; translate:-50% 0; width:100%; max-height:0; padding-inline:max(3vw,25px); background:#fff; opacity:0; overflow:hidden; transition:opacity .3s, max-height .2s, padding .2s;}
  .header2023.-mod2025 ._global ._dirLabel {padding:1em max(4vw,32px) 0; background:#f5f5f5; border-radius:.5em .5em 0 0; font-size:145%;}
  .header2023.-mod2025 ._global ._dirLabel:before {content:""; display:inline-block; width:12px; aspect-ratio:1; margin-right:.4em; background:var(--foldedNavMarker) no-repeat 50% 50% / contain;}
  .header2023.-mod2025 ._global ._dirLabel:after {content:""; display:block; margin-top:1em; border-top:1px #0002 solid;}
  .header2023.-mod2025 ._global ul {max-height:2000px; opacity:1; display:grid; grid-template-columns:repeat(3,1fr); gap:.5em 2em; padding:2em max(8vw,64px); background:#f5f5f5;}
  .header2023.-mod2025 ._global ul * {position:relative; width:unset; height:unset; margin:unset; padding:unset; border:unset; font:inherit; color:inherit;}
  .header2023.-mod2025 ._global ul a {position:relative; padding:.5em 0 .5em 20px;}
  .header2023.-mod2025 ._global ul a:before {content:""; display:inline-block; width:12px; aspect-ratio:1; margin-inline:-20px 8px; background:var(--foldedNavMarker) no-repeat 50% 50% / contain;}
  .header2023.-mod2025 ._global .-kari {display:inline-block; border:1px currentColor solid; padding:0 .4em; font-size:77%;}
}
@media (min-width:769px) and (hover:hover){
  .header2023.-mod2025 ._global > li:has(ul) > :is(a,button):is(:hover,:focus) + div,
  .header2023.-mod2025 ._global > li:has(ul) > :is(a,button) + div:is(:hover),
  .header2023.-mod2025 ._global > li:has(ul) > :is(a,button) + div:is(:focus-within) {max-height:2000px; opacity:1; z-index:20; padding-top:1.2em;}
}
@media (min-width:769px) and not (hover:hover){
  .header2023.-mod2025 ._global > li:has(ul) > :is(a,button).-on + div {max-height:2000px; opacity:1; z-index:20; padding-top:1.2em;}
}
@media (max-width:768px){
  .header2023.-mod2025 ._dirLabel {display:none;}
  .header2023.-mod2025 ._visitor .-search,
  .header2023.-mod2025 ._misc li:has(a[href*="digipan"]) {grid-column:1/-1;}
  .header2023.-mod2025 ._fixedBtns {position:fixed; top:100dvh; left:0; translate:0 -100%; display:grid; grid-template-columns:repeat(auto-fit, minmax(0,1fr)); width:100%; padding-block:.4em; background:#fff; font-size:85%;}
  .header2023.-mod2025 ._fixedBtns:before,
  .header2023.-mod2025 ._fixedBtns:after {content:""; display:block; position:absolute; left:0; width:100%; height:1px; background:linear-gradient(90deg, #ccc 0%, #ccc 72%, #fff 72%, #fff 76%, #ccc 76%, #ccc 96%, #fff 96%); background-size:25.5vw 1px;}
  .header2023.-mod2025 ._fixedBtns:before {top:.3em;}
  .header2023.-mod2025 ._fixedBtns:after {bottom:.3em; background-position:-20vw 0;}
  .header2023.-mod2025 ._fixedBtns a {display:block; padding-block:.6em; text-align:center;}
  .header2023.-mod2025 ._fixedBtns li + li:before {content:""; display:block; position:absolute; left:0; top:8%; height:84%; border-left:1px #ccc solid;}
  .header2023.-mod2025 ._fixedBtns img {display:block; height:2.5em; margin:0 auto .2em;}
}

.blockTitle2023 > * {display:inline-block;}
.blockTitle2023 b {line-height:1; font-family:"Lora",sans-serif;}
.blockTitle2023 b:after {content:""; display:block; aspect-ratio:24.83/1; margin-block:.18em; background:url(../images/common2023/title_border.png) no-repeat 50% 0; background-size:contain;}
.blockTitle2023 i {line-height:1.2; font-family:'Noto Serif JP', serif; font-style:normal; font-weight:bold;}

@media (min-width:769px){
  .blockTitle2023 b {font-size:4em;}
  .blockTitle2023 b:after {height:6px;}
  .blockTitle2023 i {font-size:135%;}
}
@media (max-width:768px){
  .blockTitle2023 b {font-size:3em;}
  .blockTitle2023 b:after {height:4px;}
  .blockTitle2023 i {font-size:116%;}
}

.footer2023 {background:#fff;}
.footer2023:has(._nav:first-child) {position:sticky; top:100%;}
.footer2023 ._pickup {background:#f2fefa; box-shadow:-1080px 0 0 #f2fefa, -280px 0 0 #f2fefa, 280px 0 0 #f2fefa, 1080px 0 0 #f2fefa;}
.footer2023 ._pickup ul {display:grid;}
.footer2023 ._pickup li {display:table;}
.footer2023 ._pickup a {display:table-cell; vertical-align:middle; padding-left:3.5em;}
.footer2023 ._pickup a:before {content:""; display:block; width:2.375em; aspect-ratio:1/1; position:absolute; left:0; top:50%; translate:0 -50%; border:1px #ccc solid; border-radius:50%; background:#fff url(../images/common2023/arrow01.svg) no-repeat 55% 50% / 40% auto;}
.footer2023 ._campus .blockTitle2023 {text-align:center;}
.footer2023 ._campus .blockTitle2023 b:after {width:fit-content; margin-inline:auto;}
.footer2023 ._campus ul {display:grid;}
.footer2023 ._campus li a {height:100%; display:grid; grid-template-rows:1fr 1fr;}
.footer2023 ._campus li a:after {content:""; display:block; width:2.375em; aspect-ratio:1/1; position:absolute; left:50%; top:50%; translate:-50% -50%; border:1px #ccc solid; border-radius:50%; background:#fff url(../images/common2023/arrow01.svg) no-repeat 55% 50% / 40% auto;}
.footer2023 ._campus dl {display:flex; flex-direction:column; justify-content:center; align-items:center; background:#fefbf4;}
.footer2023 ._campus dd {text-align:center;}
.footer2023 ._campus li:nth-of-type(2n+1) ._pic {grid-row:1/2;}
.footer2023 ._campus li:nth-of-type(2n+1) dl {grid-row:2/3; background:#f2fefa;}
.footer2023 ._campus ._pic img {width:100%; height:100%; object-fit:cover;}
.footer2023 ._nav {background:#f7faff; box-shadow:-1080px 0 0 #f7faff, -280px 0 0 #f7faff, 280px 0 0 #f7faff, 1080px 0 0 #f7faff;}
.footer2023 ._nav > * {width:fit-content; margin-inline:auto; text-align:center;}
.footer2023 ._nav ._btns a {display:block; padding:.6em; border:1px #ccc solid; border-radius:.5em; background:#fff; text-align:center;}
.footer2023 ._nav ._btns a:before {content:""; display:inline-block; width:.8em; aspect-ratio:1/1; margin-right:.4em; background:url(../images/common2023/marker01.svg) no-repeat 50% 50% / contain;}
.footer2023 ._nav .-plain {color:#169b84; overflow:hidden;}
.footer2023 ._nav .-plain li {position:relative; display:inline-block; margin-block:.4em;}
.footer2023 ._nav .-plain li:not(:last-child) {margin-right:1.4em;}
.footer2023 ._nav .-plain li:before {content:""; display:inline-block; height:1.4em; position:absolute; left:-.8em; border-left:1px #444c solid; translate:0 20%;}
.footer2023 ._nav dt {text-align:center;}
.footer2023 ._nav ._cr {font-size:77%; color:#a9a9a9;}
.footer2023 ._topBtn {position:fixed; aspect-ratio:1/1; border-radius:50%; background:#0004 url(../images/common2023/topbtn.svg) no-repeat 50% 50% / 45%; transition:.2s all; cursor:pointer;}
.footer2023 ._topBtn:hover {background-color:#0008;}

@media (min-width:769px){
  .footer2023 {margin-top:100px;}
  .footer2023 :is(._pickup, ._nav) {width:min(1080px,calc(100% - 50px)); margin-inline:auto;}
  .footer2023 ._pickup {padding-block:60px;}
  .footer2023 ._pickup .blockTitle2023 i {font-size:108%;}
  .footer2023 ._pickup {display:grid; grid-template-columns:23% 1fr;}
  .footer2023 ._pickup ul {grid-template-columns:repeat(3,1fr); gap:1.8em 1em;}
  .footer2023 ._campus .blockTitle2023 {margin:120px auto 35px;}
  .footer2023 ._campus ul {grid-template-columns:repeat(4,1fr); margin-bottom:70px;}
  .footer2023 ._campus dl {padding-block:2.5em;}
  .footer2023 ._campus dt {margin-bottom:.5em; font-size:130%;}
  .footer2023 ._campus dd {text-size:93%;}
  .footer2023 ._nav {padding:85px 0 70px;}
  .footer2023 ._nav ._siteName {width:280px;}
  .footer2023 ._nav ._btns {display:flex; justify-content:center; gap:12px; margin-top:50px;}
  .footer2023 ._nav ._btns a {min-width:10em;}
  .footer2023 ._nav :is(._misc, ._kikan) {margin-top:25px;}
  .footer2023 ._nav .-plain {font-size:93%;}
  .footer2023 ._nav ._misc ul:is(:nth-child(1),:nth-child(2)) {display:inline-block;}
  .footer2023 ._nav ._misc ul:nth-child(2) {margin-left:1.4em;}
  .footer2023 ._nav ._cr {margin-top:2.5em;}
  .footer2023 ._topBtn {width:36px; right:30px; bottom:40px;}
}
@media (max-width:768px){
  .footer2023 {margin-top:calc(var(--1em) * 7.1875);}
  .footer2023 ._campus ul {grid-template-columns:repeat(2,1fr);}
  .footer2023 ._pickup {padding-inline:calc(var(--1em) * .9375); padding-bottom:4em;}
  .footer2023 ._pickup .blockTitle2023 {translate:0 -65%;}
  .footer2023 ._pickup ul {display:grid; grid-template-columns:repeat(2,1fr); gap:1.5em 0; margin-top:-2em;}
  .footer2023 ._pickup a {padding-left:2em;}
  .footer2023 ._pickup a:before {width:1.5em;}
  .footer2023 ._campus {margin-bottom:calc(var(--1em) * 4.375); padding-top:6em;}
  .footer2023 ._campus ul {margin-top:2em;}
  .footer2023 ._campus li {min-height:25em;}
  .footer2023 ._campus dl {padding:2.5em 1em;}
  .footer2023 ._nav {padding:calc(var(--1em) * 3.75) calc(var(--1em) * .9375) calc(var(--1em) * 3.125 + 3em);}
  .footer2023 ._nav ._siteName {width:calc(var(--1em) * 13.75);}
  .footer2023 ._nav ._btns {width:auto; display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-block:calc(var(--1em) * 1.875);}
  .footer2023 ._kikan dt {margin:4em auto 1em;}
  .footer2023 ._kikan .-plain li {display:block; text-align:center;}
  .footer2023 ._nav :is(li:first-child, ._kikan ul.-plain li):before {display:none;}
  .footer2023 ._misc ul {text-align:center;}
  .footer2023 ._nav ._cr {margin-top:3.5em;}
  .footer2023 ._topBtn {width:calc(var(--1em) * 2.5); right:calc(var(--1em) * .9375); bottom:calc(var(--1em) * 1.5 + 4.5em);}
}

