@charset "UTF-8";
/*@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;600&display=swap');*/
:root {--pcMaxW:75rem; --pcMaxW:1000px; --pcMinW:980px; --pcCntMinW:930px; --spPI:clamp(20px, 10px + 3.125vw, 25px); 
  --initFonts:"游ゴシック Medium","Yu Gothic Medium","Yu Gothic","Hiragino Kaku Gothic ProN","Hiragino Sans","BIZ UDPGothic",Meiryo,sans-serif; 
  --initFontsB:"Yu Gothic","Hiragino Kaku Gothic ProN","Hiragino Sans","BIZ UDPGothic",Meiryo,sans-serif; --boldFonts:"Inter",var(--initFontsB);}
b,strong,.bold {font-family:var(--boldFonts);}
.container {position:relative; margin-inline:auto; container-type:inline-size;} .navBackdrop {display:none;}
@media (min-width:1000px){:where(body,.pageHeader,main,.pageFooter) {min-width:var(--pcMinW);} .container {width:clamp(var(--pcCntMinW), 94%, var(--pcMaxW));}}
@media not (min-width:1000px){html {font-size:90%;} .pageHeader,main,.pageFooter {min-width:320px;} .pageFooter .container {margin-inline:var(--spPI);} body.-navOpen .navBackdrop {width:100%; height:100dvh; position:fixed; top:0; left:0; display:block; background:#0007; z-index:500; -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px);}}
/* BASE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */

/* ナビ無効化 */

.gNav ._main :is(
  a[href*="/program.html"],       /* 日程表・プログラム */
  a[href*="/seminar.html"],       /* 共催セミナー */
  a[href*="/public.html"],        /* 市民公開講座 */
  a[href*="/abstracts.html"],     /* 演題募集 */
  a[href*="/registration.html"],  /* 参加登録 */
  a[href*="/participants.html"],  /* 参加者の皆様へ */
  a[href*="/speaker.html"],       /* 座長・演者の皆様へ */
  a[href*="/access.html"],        /* 交通アクセス */
  a[href*="/student.html"],       /* 学生のための特別企画 */
  a[href*="/accommodation.html"], /* 宿泊のご案内 */
  a[href*="/information.html"],   /* 関連学会広報受付 */
  a[href*="/sponsorship.html"],   /* 協賛・寄付申込 */
  a[href*="/press.html"]          /* 取材申込 */
) {color:#fff5; pointer-events:none;}
.gNav ._main :is(
  a[href*="/program.html"],       /* 日程表・プログラム */
  a[href*="/seminar.html"],       /* 共催セミナー */
  a[href*="/public.html"],        /* 市民公開講座 */
  a[href*="/abstracts.html"],     /* 演題募集 */
  a[href*="/registration.html"],  /* 参加登録 */
  a[href*="/participants.html"],  /* 参加者の皆様へ */
  a[href*="/speaker.html"],       /* 座長・演者の皆様へ */
  a[href*="/access.html"],        /* 交通アクセス */
  a[href*="/student.html"],       /* 学生のための特別企画 */
  a[href*="/accommodation.html"], /* 宿泊のご案内 */
  a[href*="/information.html"],   /* 関連学会広報受付 */
  a[href*="/sponsorship.html"],   /* 協賛・寄付申込 */
  a[href*="/press.html"]          /* 取材申込 */
)::after {content:unset;}

/*@media (min-width:1600px){html {font-size:calc(100% + calc((100vw - 1600px) * .005));}}*/
@media (min-width:1000px){html {scroll-padding-top:10vh;} body {background:url(../images/common/bg.webp);}}
@media not (min-width:1000px){html {scroll-padding-top:50px;}}
:root {--theme500:#9C1C2B; --theme300:#FF8385; --themeGrdt:linear-gradient(90deg, #982632 0, #681A22 100%);}
body {line-height:1.8; font-family:"Inter",var(--initFonts); font-feature-settings:"pkna"; color:#1a1a1a;}
a {text-decoration:underline; text-decoration-skip-ink:none; text-underline-offset:.24em; color:inherit;}

/* =============== ヘッダ */

.pageHeader {position:relative; z-index:600; background:var(--themeGrdt); line-height:1; color:#fff; box-shadow:0 .375rem 0 #0005;}
.pageHeader ._siteName img {width:min(51.75rem,100%); width:min(700px,100%);}

@media (min-width:1000px){
  #spNav {display:none;}
  .pageHeader ._siteName {padding-block:1.2rem; text-align:center;}
}
@media not (min-width:1000px){
  :root {--sp-header-height:calc(min(100vw - 75px, 300px) * 0.18733 + 1.5rem);}
  .pageHeader {position:sticky; left:0; top:0; width:100%; padding-left:calc(var(--spPI) * .75);}
  .pageHeader ._siteName {padding-block:.75rem;}
  .pageHeader ._siteName img {width:min(100% - 75px, 300px);}
  #spNav {width:60px; height:100%; position:absolute; top:0; right:0; border:0; background:#0005; text-align:center; cursor:pointer; --navBtnLineClr:#fff;}
  #spNav:before, #spNav:after {content:""; display:block; position:absolute; top:40%; left:50%; translate:-50% -50%; width:60%; height:2px; transition:.15s all;}
  #spNav:before {background:var(--navBtnLineClr); box-shadow:0 -9px 0 var(--navBtnLineClr);} #spNav:after {box-shadow:0 9px 0 var(--navBtnLineClr);}
  .-navOpen #spNav:before {box-shadow:none; rotate:-45deg;} .-navOpen #spNav:after {background:var(--navBtnLineClr); box-shadow:none; rotate:45deg;}
  #spNav span {position:absolute; left:50%; top:50%; translate:-50% 1.1em; display:block; font-size:var(--fs11); letter-spacing:.12em; text-indent:.06em}
}

/* =============== フッタ */

.pageFooter {position:sticky; top:100vh; background:var(--themeGrdt); text-align:center; color:#fff; font-size:var(--fs15);}
.pageFooter ._label {font-size:130%; font-weight:bold; font-family:var(--boldFonts); margin-bottom:.4em;}
.pageFooter ._copyright {position:relative; margin-bottom:0; padding-block:1rem; font-size:var(--fs12); text-align:center;}
.pageFooter ._copyright:before {content:""; position:absolute; right:50%; top:0; z-index:-1; width:max(60vw,600px); height:100%; background:#0005; box-shadow:max(50vw,500px) 0 0 #0005;}

@media (min-width:1000px){
  .pageFooter .container {padding:var(--fs35) 0 0;}
  .pageFooter ._copyright {margin-top:var(--fs35);}
}
@media not (min-width:1000px){
  .pageFooter .container {padding:25px 0 0;}
  .pageFooter ._copyright {margin-top:25px;}
}

/* fixedTopBtn */
.fixedBackBtn {bottom:.5rem; right:.5rem; opacity:0; translate:0 200%; transition:.3s translate, .6s opacity;}
.fixedBackBtn.-show {opacity:1; translate:0 0;}
.fixedBackBtn a {width:var(--fs36); height:var(--fs36); background:#0006; border-radius:50%; text-indent:var(--fs40); text-align:center;}
.fixedBackBtn a:before {content:""; display:inline-block; position:absolute; left:calc(50% - var(--fs14) / 2); top:calc(50% - var(--fs10) / 2); width:var(--fs14); height:var(--fs14); border:#fff solid; border-width:calc(var(--fs16) / 4) calc(var(--fs16) / 4) 0 0; rotate:-45deg;}

/* =============== メイン */


.gNav {padding:var(--fs12) var(--fs20) var(--fs20); background:#4E4B48; color:#fff;}
.gNav:has(._sub:last-child) {padding-bottom:2rem;}
.gNav a {text-decoration:none;}
.gNav :is(._main, ._sub, ._banners) {display:grid;}
.gNav :is(._main, ._sub) a {position:relative; display:block; line-height:1.4;}
.gNav ._main {gap:0 1rem;}
.gNav ._main a {padding:.8em 1em .8em 0; border-bottom:1px #fff2 solid; transition:all .2s;}
.gNav ._main a:is(:hover,.-on) {color:var(--theme300);}
.gNav ._main a:after {content:""; position:absolute; right:.3em; top:50%; translate:0 -50%; display:block; width:.4em; aspect-ratio:1; rotate:45deg; box-shadow:1px -1px 0 currentColor; transition:all .2s;}
.gNav ._sub {gap:.6rem 1rem; margin-top:2rem;}
.gNav ._sub a {padding-left:1.2em;}
.gNav ._sub a:before {content:""; position:absolute; left:.2em; top:.5em; display:block; width:.4em; aspect-ratio:1; border-radius:50%; background:var(--theme300);}
.gNav ._banners {gap:var(--fs12); margin-top:2rem;}
.gNav ._banners a {text-align:center;}
.gNav ._banners a:not(:has(img)) {display:grid; place-content:center; width:100%; aspect-ratio:16/5; background:#fffd; color:#000;}
.contHeader {position:relative;}
.contBody {padding-block:3.5rem 4rem;}

@media (min-width:1000px){
  main {overflow-x:hidden; background:#fff;}
  main {--cntPadTop:5rem; --cntPadBtm:7.5rem; display:grid; grid-template-columns:16.25rem 1fr; grid-template-rows:auto 1fr;}
  .gNav {grid-column:1/2; grid-row:1/3;}
  .contHeader {grid-column:2/3; grid-row:1/2;}
  .contBody {grid-column:2/3; grid-row:2/3; padding-inline:clamp(1.75rem, -0.875rem + 4.286vw, 2.5rem);}
}
@media not (min-width:1000px){
  .gNav {position:absolute; z-index:550; left:100%; top:0; width:100%; height:calc(100vh - var(--sp-header-height)); height:calc(100dvh - var(--sp-header-height)); overflow:auto; overscroll-behavior:none; transition:all .3s;}
  .-navOpen .gNav {left:0;}
  .gNav :is(._main, ._sub) {grid-template-columns:repeat(auto-fill, minmax(12rem, 1fr));}
  .gNav ._main a {padding-block:1.1em;}
  .gNav ._banners {grid-template-columns:repeat(auto-fill, minmax(10rem, 1fr));}
  .gNav :is(._main, ._banners) li {display:table;}
  .gNav :is(._main, ._banners) li a {display:table-cell; vertical-align:middle;}
  .contBody {padding-inline:var(--spPI);}
}


/* CUSTOM COMPONENTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */


/* ページタイトル */
.pageTitle {display:flex; align-items:center; background:url(../images/common/page_title_bg.webp) no-repeat 50% 50% / cover;}
.pageTitle h1 {font-size:calc(var(--fsH2) * 1.33); font-family:serif; font-weight:black; color:var(--theme500);}


@media (min-width:1000px){
  .pageTitle {min-height:calc(var(--fs2v) * 7); padding:1.5rem clamp(1.75rem, -0.875rem + 4.286vw, 2.5rem);}
}
@media not (min-width:1000px){
  .pageTitle {padding:1rem var(--spPI);}
}

/* H2～H6 */
:root {--fs2v:clamp(1.625rem, 0.388rem + 2.02vw, 2rem); --fsH2:calc(var(--fs2v) * 1.16); --fsH3:var(--fs21); --fsH4:var(--fs19); --fsH5:var(--fs17); --fsH6:1rem; --hllh:calc(1em + .625rem);}
.fsH2 {font-size:var(--fsH2);} .fsH3 {font-size:var(--fsH3);} .fsH4 {font-size:var(--fsH4);} .fsH5 {font-size:var(--fsH5);} .fsH6 {font-size:var(--fsH6);}
:is(h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6) {line-height:var(--hllh); font-weight:bold;}
h2:not(.h3,.h4,.h5,.h6), .h2 {margin:2em 0 .6em; font-size:var(--fsH2); font-family:serif; font-weight:black;}
h3:not(.h2,.h4,.h5,.h6), .h3 {margin:1.5em 0 .75em; font-size:var(--fsH3);}
h4:not(.h2,.h3,.h5,.h6), .h4 {margin:1.5em 0 .6em; font-size:var(--fsH4);}
h5:not(.h2,.h3,.h4,.h6), .h5 {margin:1.2em 0 .4em; font-size:var(--fsH5);}
h6:not(.h2,.h3,.h4,.h5), .h6 {margin:.8em 0 .2em; font-size:var(--fsH6);}
:is(h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6):first-child:not(.-mtInit) {margin-top:0;}

@media not (min-width:1000px){
}

/* .btn */
.btn1 :is(a,button), :is(a,button).btn1 {display:inline-block; padding:.4em .8em .5em; border:0; background:#eee; text-decoration:none; line-height:1.4;}
.btn1 :is(a,button):before, :is(a,button).btn1:before {content:""; display:inline-block; width:var(--fs10); aspect-ratio:1; margin-right:.4em; border:#222 solid; border-width:calc(var(--fs10) / 5) calc(var(--fs10) / 5) 0 0; rotate:45deg; scale:.8;}
.btn2 a, a.btn2 {}
.btn2 a:before, a.btn2:before {content:""; display:inline-block; width:var(--fs10); aspect-ratio:1; margin-right:.4em; border:#222 solid; border-width:calc(var(--fs10) / 5) calc(var(--fs10) / 5) 0 0; rotate:45deg; scale:.8;}

.datedList {--vPad:1rem; border:none;overflow:auto;}
.datedList dt {color:var(--theme500);}

@media (min-width:1000px){
  .datedList {max-height:15rem;}
}
@media not (min-width:1000px){
  .datedList {display:block; max-height:23rem;}
  .datedList > * {grid-column:1/-1; grid-column-start:unset;}
  .datedList > dt {padding-bottom:.2em;}
  .datedList > dd {padding-top:0; border:none;}
}




/* PAGES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */


/* =============== トップページ */

.homeMv ._badge {position:absolute; right:0; top:4%; width:33%;}

@media (min-width:1000px){
}
@media not (min-width:1000px){
  .homeMv ._main {width:112%; max-width:120%; aspect-ratio:12/11; object-position:100% 0; translate:-10.5% 0;}
}

/* ===============  */

.greetings_header {display:flex; gap:1rem; margin-bottom:2rem;}

@media (min-width:500px){
  .greetings_header {flex-direction:row-reverse; align-items:flex-end;}
  .greetings_header img {width:max(25%,140px);}
  .greetings_header p {text-align:right;}
}
@media not (min-width:500px){
  .greetings_header {flex-direction:column; align-items:center; text-align:center;}
  .greetings_header img {width:max(50%,220px);}
}

/* =============== 新着情報 */
.entryBody img {max-width:100%; height:auto;}

@media (min-width:1000px){
}
@media not (min-width:1000px){
}


