@charset "UTF-8";
/*@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;600&display=swap');*/
:root {--pcMaxW:62.5rem; --pcMinW:980px; --pcCntMinW:930px; --spPI:clamp(20px, 10px + 3.125vw, 25px);}
.container {display:flow-root; position:relative; margin-inline:auto; container-type:inline-size;} .navBackdrop {display:none;}
@media (min-width:600px){:where(body,.pageHeader,main,.pageFooter) {min-width:var(--pcMinW);} .container {width:clamp(var(--pcCntMinW), 94%, var(--pcMaxW));}}
@media not (min-width:600px){html {font-size:90%;} .pageHeader,main,.pageFooter {min-width:320px;} :where(:not(.pageHeader))>.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 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */

:root {--theme1:#417ab3; --theme2:#edf1f4; --theme3:#3a444f;}
@media (min-width:1600px){html {font-size:calc(100% + calc((100vw - 1600px) * .005));}}
@media (min-width:600px){html {scroll-padding-top:max(10vh,8rem);}}
@media not (min-width:600px){html {scroll-padding-top:50px;}}
body {line-height:1.8; font-family:"Inter","Noto Sans JP",sans-serif; font-feature-settings:"pkna"; color:#1a1a1a;}
a {text-decoration:underline; text-decoration-skip-ink:none; text-underline-offset:.24em; color:inherit;}

/* =============== ヘッダ */

.pageHeader {position:sticky; top:0; z-index:998; background:#fff; line-height:1.4;}
.pageHeader :where(li,a,button:not(#spNav)) {position:relative;}
.pageHeader img {max-width:100%; max-height:100%; object-fit:contain;}
.pageHeader a {display:block; text-decoration:none; transition:opacity .2s;}
.pageHeader a:hover {opacity:.6;}
.pageHeader ._siteName a {display:flex; align-items:center; font-weight:normal;}
.pageHeader ._siteName b {display:block;}
.pageHeader ._gnav {font-weight:700;}

@media (min-width:600px){
  #spNav {display:none;}
  .pageHeader, .pageHeader * {transition:all .2s; transition-delay:.2s;}
  .pageHeader .container {display:grid; grid-template-columns:auto 1fr; gap:1rem; padding-block:1.2rem;}
  .pageHeader nav {display:contents;}
  .pageHeader ._siteName {transition:all .2s; transition-delay:.2s;}
  .pageHeader ._siteName a {gap:.8rem; font-size:var(--fs14);}
  .pageHeader ._siteName b {margin-top:.3rem; font-size:var(--fs24);}
  .pageHeader ._btns {display:flex; align-items:center; justify-content:flex-end; gap:.6rem; font-weight:bold; color:var(--theme1);}
  .pageHeader ._btns a {display:block; min-width:12rem; padding:.6rem; border:1px currentColor solid; border-radius:.3rem; text-align:center;}
  .pageHeader ._gnav {grid-column:1/-1; display:flex; justify-content:center; letter-spacing:.04em;}
  .pageHeader ._gnav > li {position:relative;}
  .pageHeader ._gnav > li > a {padding:.5rem 2rem;}
  .pageHeader ._gnav > li + li:before {content:""; display:block; position:absolute; left:0; top:0; height:100%; border-left:1px #ddd solid;}
  
  .pageHeader.-thin {box-shadow:0 .1rem .2em #0001;}
  .pageHeader.-thin .container {gap:.2rem 1rem; padding-block:0 .6rem;}
  .pageHeader.-thin ._siteName img {scale:.8;}
  .pageHeader.-thin ._siteName a {font-size:var(--fs12);}
  .pageHeader.-thin ._siteName b {margin-top:0; font-size:var(--fs20);}
}
@media not (min-width:600px){
  .pageHeader {border-top:4px var(--theme1) solid;}
  .pageHeader .container {display:flex;}
  .pageHeader ._siteName {flex-grow:1; margin-left:calc(var(--spPI) * .6); padding-block:.5rem; font-size:var(--fs13);}
  .pageHeader ._siteName a {gap:.6rem;}
  .pageHeader ._siteName img {height:40px;}
  .pageHeader ._siteName b {font-size:var(--fs18);}
  .pageHeader nav {position:absolute; top:100%; width:100%; max-height:calc(100dvh - 50px); box-shadow:0 4px #0003; opacity:1; overflow:auto; overscroll-behavior:contain; transition:all .2s;}
  body:not(.-navOpen) .pageHeader nav {max-height:0; opacity:0; overflow:hidden;}
  body:not(.-navOpen) .pageHeader nav :is(a,button,input,select) {display:none;}
  .pageHeader ._btns {display:grid; grid-row:1fr 1fr; font-size:var(--fs13); font-weight:bold; color:#fff;}
  .pageHeader ._btns :is(li,a) {display:flex; width:100%;}
  .pageHeader ._btns a {align-items:center; justify-content:center; padding-inline:1em;}
  .pageHeader ._btns li:nth-of-type(1) a {background:var(--theme1);}
  .pageHeader ._btns li:nth-of-type(2) a {background:var(--theme3);}
  .pageHeader ._gnav {background:#fafafaee;}
  .pageHeader ._gnav > li + li {border-top:1px #8885 solid;}
  .pageHeader ._gnav > li > :first-child {padding:1em var(--spPI);}
  /* 開閉ボタン */
  #spNav {position:relative; width:50px; border:0; background:none; text-align:center; cursor:pointer; --navBtnLineClr:currentColor; font-size:var(--fs11); font-weight:bold; color:var(--theme1);}
  #spNav > span {position:absolute; left:50%; top:70%; translate:-50% -50%;}
  #spNav > span:before {content:"MENU";}
  #spNav:before, #spNav:after {content:""; display:block; position:absolute; top:35%; left:50%; translate:-50% -50%; width:60%; height:2px; transition:.15s all;}
  #spNav:before {background:var(--navBtnLineClr); box-shadow:0 -6px 0 var(--navBtnLineClr);} #spNav:after {box-shadow:0 6px 0 var(--navBtnLineClr);}
  .-navOpen #spNav:before {box-shadow:none; rotate:-45deg;} .-navOpen #spNav:after {background:var(--navBtnLineClr); box-shadow:none; rotate:45deg;}
  .-navOpen #spNav > span:before {content:"CLOSE";}
}

/* ナビ副階層 */
.pageHeader ._gnav > li > :first-child + ul {opacity:0; max-height:0; overflow:hidden; transition:max-height .2s linear, opacity .1s linear;}

@media (min-width:600px){
  .pageHeader ._gnav > li > :first-child + ul {position:absolute; width:max(100%,12rem); background:#fafafaee; -webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px);}
  .pageHeader ._gnav > li > :is(*:first-child:is(:hover,:focus,.-open) + ul, :first-child + ul:is(:hover,:focus-within)) {opacity:1; max-height:2000px;}
  .pageHeader ._gnav > li > :first-child + ul a {padding:1em 2rem;}
  .pageHeader ._gnav > li > :first-child + ul > li + li {border-top:1px #fff6 solid;}
}
@media not (min-width:600px){
  .pageHeader ._gnav {-webkit-backdrop-filter:saturate(150%) blur(3px); backdrop-filter:saturate(150%) blur(3px);}
  .pageHeader ._gnav > li > :first-child:not(:only-child):before, ._gnav li > :first-child:only-child:after {all:initial; content:""; display:block; position:absolute; right:16px; top:50%; width:8px; aspect-ratio:1; border:var(--theme1) solid; border-width:2px 2px 0 0; rotate:45deg; translate:0 -50%;}
  .pageHeader ._gnav > li > :first-child:not(:only-child):before, ._gnav > li > :first-child:not(:only-child):after {all:initial; content:""; display:block; position:absolute; right:12px; top:50%; width:16px; margin-top:-1px; border-top:2px var(--theme1) solid; transition:all .2s;} 
  .pageHeader ._gnav > li > :first-child:not(:only-child):not(.-open):after {rotate:90deg;}
  .pageHeader ._gnav > li > :first-child + ul {background:#fff6;}
  .pageHeader ._gnav > li > :first-child + ul a {padding:.9em var(--spPI) .9em calc(var(--spPI) * 1.5);}
  .pageHeader ._gnav > li > :first-child + ul li {border-top:1px #8885 solid;}
  .pageHeader ._gnav > li > :first-child + ul li + li a:before {width:calc(100% - 40px); left:20px;}
  .pageHeader ._gnav > li > :first-child.-open + ul {opacity:1; max-height:2000px;}
  .pageHeader ._gnav > li > :first-child:not(.-open) + ul :is(a,button,input,select) {pointer-events:none;}
}

/* =============== フッタ */

.pageFooter {position:sticky; top:100vh; background:#3a444f; color:#fff; font-size:var(--fs15);}
.pageFooter a {text-decoration:none;}
.pageFooter ._copyright {margin-bottom:0; font-size:var(--fs12); text-align:center;}

@media (min-width:600px){
  .pageFooter .container {padding-block:2rem;}
}
@media not (min-width:600px){
  .pageFooter .container {padding-block:1.4rem;}
}

/* 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;}

/* =============== メイン */

main {overflow-x:hidden;}
:where(main .container, main > * > .container) {padding-block:var(--cntPadTop) var(--cntPadBtm);}
:where(main .container) a {color:var(--theme1);}

@media (min-width:600px){
  main {--cntPadTop:1.5rem; --cntPadBtm:5rem;}
}
@media not (min-width:600px){
  main {--cntPadTop:1.5rem; --cntPadBtm:2rem;}
}


/* CUSTOM COMPONENTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */


/* ページタイトル */
.pageTitle {display:flex; margin-inline:auto;}
.pageTitle, .pageTitle > * {position:relative;}
.pageTitle:before {content:""; display:block; position:absolute; left:0; top:0; width:100%; height:100%; scale:3 1; background:var(--theme2);}
.pageTitle h1 {font-weight:500; letter-spacing:.05em;}
.pageTitle ._sub {font-weight:500; color:var(--theme1); letter-spacing:.1em;}

/* パンくず */
.breadcrumb {list-style:none; display:flex; flex-wrap:wrap; justify-content:flex-end; margin-inline:auto; line-height:1.5; font-size:var(--fs14);}
.breadcrumb li:not(:last-child):after {content:""; display:inline-block; vertical-align:middle; border-top:1px #ddd solid;}

@media (min-width:600px){
  .pageTitle {align-items:center; flex-wrap:wrap; gap:2rem; height:13rem; padding:1rem 0;}
  .pageTitle h1 {font-size:calc(var(--fs2v) * 1.2); font-weight:500;}
  .pageTitle ._sub {font-size:var(--fs14);}
  .breadcrumb {padding-block:1.5rem;}
  .breadcrumb li:not(:last-child):after {width:1.4rem; margin-inline:1.2rem;}
}
@media not (min-width:600px){
  .pageTitle {flex-direction:column; justify-content:center; min-height:10rem; padding:1rem var(--spPI);}
  .pageTitle h1 {font-size:var(--fs30);}
  .pageTitle ._sub {margin-top:.3em; font-size:var(--fs12);}
  .breadcrumb {padding:1.5rem var(--spPI);}
  .breadcrumb li:not(:last-child):after {width:1.2rem; margin-inline:.9rem;}
}

/* H2～H6 */
:root {--fs2v:clamp(1.625rem, 0.388rem + 2.02vw, 2rem); --fsH2:var(--fs24); --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 {position:relative; margin:2em 0 .8em; padding-left:1em; font-size:var(--fsH2);}
h2:not(.h3,.h4,.h5,.h6):before, .h2:before {content:""; display:block; position:absolute; left:0; top:50%; translate:0 -50%; height:calc(100% - .4em); border-left:.1em var(--theme1) solid;}
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;}

h2[data-engsub] {padding-left:0; font-size:calc(var(--fsH2) * 1.33);}
h2[data-engsub]:before {all:unset; content:attr(data-engsub); display:block; margin-bottom:.6em; line-height:1; font-size:var(--fs13); letter-spacing:.1em; color:var(--theme1);}

button.accHeader  {display:block; border:none; background:none; text-align:left; cursor:pointer;}
button.accHeader ~ .accStatus {position:relative; width:1em; aspect-ratio:1;}
button.accHeader ~ .accStatus:before,
button.accHeader ~ .accStatus:after {content:""; display:block; position:absolute; left:50%; top:50%; width:60%; border-top:1px var(--theme1) solid; translate:-50% -50%; transition:.15s all;}
button.accHeader:not(.-on) ~ .accStatus:before {rotate:90deg;}

h2:has(button.accHeader) {display:grid; grid-template-columns:1fr auto; align-items:center;}
h2:has(button.accHeader) + .accCnt {max-height:0; overflow:hidden; transition:max-height .2s linear;}
h2:has(button.accHeader.-on) + .accCnt {max-height:10000rem;}

@media not (min-width:600px){
}

/* .btn */
.btn1 :is(a,button), :is(a,button).btn1 {display:inline-block; min-width:8rem; padding:.4em .8em .5em; border-radius:.3rem; background:var(--theme1); text-align:center; text-decoration:none; line-height:1.4; font-weight:500; color:#fff;}
.btn2 a, a.btn2 {}
.btn2 a:before, a.btn2:before {content:""; display:inline-block; width:var(--fs10); aspect-ratio:1; margin-right:.4em; border:var(--theme1) solid; border-width:calc(var(--fs10) / 5) calc(var(--fs10) / 5) 0 0; rotate:45deg; scale:.8;}
.btn-list a, a.btn-list {display:inline-block; position:relative; text-decoration:none; font-weight:bold; color:inherit;}
.btn-list a:before, a.btn-list:before {content:""; display:inline-block; vertical-align:middle; width:18px; height:2px; margin-right:.5em; background:var(--theme1); box-shadow:0 -5px 0 var(--theme1), 0 5px 0 var(--theme1); translate:0 -2px;}
.blue {color:var(--theme1);}

.newsList dt {font-weight:bold;}
.newsList dt.-new + dd:after {content:"NEW!"; display:inline-block; margin-left:.6em; padding:0 .3em; background:#f46; line-height:1.4; font-size:77%; font-weight:600; color:#fff;}

.padBox {background:#f4f4f4;}

@media (min-width:600px){
  .newsList {display:grid; grid-template-columns:auto 1fr; gap:.6rem 1.4rem;}
  
  .padBox {padding:2cqw 3.5cqw;}
}
@media not (min-width:600px){
  .newsList dd + dt {margin-top:1rem;}

  .padBox {padding:1.2rem 1.6rem;}
}


/* PAGES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */


/* =============== トップページ */

.home_mv {position:relative;}
.home_mv ._txt {position:absolute; top:50%; translate:0 -50%; font-weight:700;}
.home_mv ._txt :is(.-lead > span, p > span) {background:#fffc; -webkit-box-decoration-break:clone; box-decoration-break:clone;}
.home_mv ._txt .-lead {line-height:2.2; letter-spacing:.04em;}
.home_mv ._txt .-lead span {padding:.25em .6rem;}
.home_mv ._txt p > span {padding:.4em .6rem; line-height:2.2;}

.home_news {display:flex; flex-wrap:wrap; justify-content:space-between;}
.home_news h2 {order:-2;}
.home_news .btn-list {order:-1;}
.home_news .newsList {width:100%;}

.container:has(.home_contact:last-child) {padding-bottom:0;}
.home_contact,
.home_contact > * {position:relative; z-index:3;}
.home_contact:before {content:""; display:block; width:100%; height:100%; position:absolute; left:0; top:0; background:var(--theme1); box-shadow:0 2px 0 var(--theme1); scale:5 1;}
.home_contact:after {content:""; display:block; width:100%; position:absolute; left:0; top:50%; translate:0 -50%; background:#fff;}

@media (min-width:600px){
  .home_inner {padding-block:3rem 4em;}
  .home_mv ._bg {width:100%; height:clamp(310px, calc(var(--vw) * 31.25), 30rem); object-position:50% 45%;}
  .home_mv ._txt {left:15%;}
  .home_mv ._txt .-lead {font-size:clamp(2rem, -0.227rem + 3.636vw, 2.5rem);}
  .home_contact {padding:6rem 2.5rem;}
  .home_contact:after {height:calc(100% - 7rem);}
}
@media not (min-width:600px){
  .home_inner {padding-block:2rem 3em;}
  .home_mv ._txt {margin-inline:5%;}
  .home_mv ._txt .-lead {font-size:6vw;}
  .home_news.-member .btn-list {order:revert; width:100%; margin-top:1rem; text-align:center;}
  .home_contact {padding:4rem 2rem;}
  .home_contact:after {height:calc(100% - 4rem);}
}

/* ===============  */

.about_orgList ._names {display:grid; grid-template-columns:repeat(auto-fill, minmax(5em,1fr)); gap:0 3rem;}

@media (min-width:600px){
}
@media not (min-width:600px){
  .about_orgList ._names {gap:0 2rem;}
}

/* =============== 新着情報 */
.entryBody img {max-width:100%; height:auto;}

@media (min-width:600px){
}
@media not (min-width:600px){
}

/* =============== AForm */

.aform-header {margin-block:1.5rem; padding:.6rem 1rem; border-left:2px var(--theme1) solid; background:var(--theme2); font-size:var(--fsH3); font-weight:600; display:none;}
.aform-content dl[class*="dl_"] dt {display:flex; flex-wrap:wrap; font-weight:bold;}
.aform-content dl[class*="dl_"] dt:has(.aform-required) .aform-label {display:inline-flex; align-items:flex-start; gap:.15em .3em;}
.aform-content dl[class*="dl_"] dt label {margin-right:.4em;}
.aform-required {order:-1; display:inline-block; padding:0 .2em; background:#e24; line-height:1.4; color:#fff; font-size:var(--fs12); translate:0 25%;}
.aform-radio-ul {display:flex; flex-wrap:wrap;}
.aform-name-ul, .aform-kana-ul {display:flex; flex-wrap:wrap; gap:0 .6rem;}
:is(.aform-name-ul, .aform-kana-ul) label {display:none;}
.aform-input-example {font-size:var(--fs14); color:#606060;}
.aform-content .aform-validation.password {display:inline-block;}
.aform-button-area {display:flex; flex-wrap:wrap; justify-content:center;}
.aform-button-area input,
form:is([action*="/AMember/"], [name*="amember_"]) .submit input {display:inline-block; min-width:8rem; margin:.15rem; padding:.4em .8em .5em; border-radius:.3rem; border:0; background:var(--theme1); text-align:center; text-decoration:none; line-height:1.4; font-weight:500; color:#fff;}
.aform-button-area:has(input#aform_btn_submit) input#aform_btn_back {order:100;}
.aform-error-list dt {margin-bottom:.2em; font-weight:bold;}
.aform-error-list dd {position:relative; padding-left:1em;}
.aform-error-list dd {color:#e24;}
.aform-error-list dd:before {content:""; display:inline-block; width:1em; aspect-ratio:1; margin-inline:-1em 0; border-radius:50%; background:currentColor; scale:.3;}
label[for*="-confirm"] {display:block; margin-top:.6em;}

@media (min-width:600px){
  form[name*="aform-"] {display:grid; grid-template-columns:auto 1fr;}
  form[name*="aform-"] dl[class*="dl_"] {display:contents;}
  form[name*="aform-"] dl[class*="dl_"] > * {padding-block:1.4rem;}
  form[name*="aform-"] dl[class*="dl_"] + dl[class*="dl_"] > * {border-top:1px #0002 solid;}
  form[name*="aform-"] dl[class*="dl_"] > dt {padding-right:1rem;}
  form[name*="aform-"] dl[class*="dl_"] > dd {min-width:50cqw;}
  form[name*="aform-"] > *:not(dl) {grid-column:1/-1; text-align:center;}
}
@media not (min-width:600px){
  form[name*="aform-"] dl[class*="dl_"] {margin:0; padding-block:1.4rem;}
  form[name*="aform-"] dl[class*="dl_"] + dl[class*="dl_"] {border-top:1px #0002 solid;}
}
