@charset "utf-8";
/*
Theme Name:JISHUKAN2025
Description: 
Author: COSMICGEAR
Version: 2.0
*/
/*-root*/ 
:root {
  /*  --fnt-base: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic",sans-serif;*/
  --fnt-base: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  --fnt-futura:futura-pt, sans-serif;
  --head1: clamp(1.75rem, 1.604rem + 0.73vw, 2.188rem); /*28-35*/
  --head1_mid: clamp(1.875rem, 1.511rem + 1.82vw, 2.875rem); /*30-46*/
  --head2: clamp(1.313rem, 1.082rem + 1.15vw, 1.875rem); /*21-30*/
  --head3:clamp(1.25rem, 1.136rem + 0.57vw, 1.563rem);/*20-25*/
  --head3_min:clamp(1.063rem, 0.949rem + 0.57vw, 1.375rem);/*17-22*/
  --fs-min: min(0.8571em, 3.5vw);
  --fs-mid:clamp(0.938rem, 0.869rem + 0.34vw, 1.125rem);/*15-18*/
  --fs-wid: clamp(1.125rem, 1.08rem + 0.23vw, 1.25rem); /*18-20*/
  
  --fc-base: #1a1a1a;
  --clr-ylw: #fcff00;
  --clr-wblu: #008ce1;
  --clr-pnk: #ff78ad;
  --clr-pnk_pale: #ef9eb9;
  --clr-org: #ff8000;
  --clr-grn: #009c00;
  --clr-ygrn:#97b701;
  --clr-blu: #0f24e8;
  --clr-blu_dull:#3d9bc1;
  --clr-red:#ff0000;
  --clr-emgrn:#1ea691;
  --clr-ppl:#7f9ce5;
  
  --wall-base: #f6f6f6;
  --wall-blk: #1a1a1a;
  --wall-wblu: #65bfe3;
  --wall-pnk: #ff9aba;
  --wall-pnk_pale:#f6abc6;
  --wall-org:#ffaf00;
  --wall-gry:#ebebeb;
  --wall-pale-gry:#f5f5f5;
  --wall-lgrn:#d6ed67;
  --wall-ppl:#b0c0ee;
  
  --easing: cubic-bezier(0.17, 0.88, 0.30, 1.28);
  --transition: .3s var(--easing);
}
/*base=====*/
body {
  font-family: var(--fnt-base);
  font-size: min(3.6vw, 14px);
  width: 100%;
  overflow-x: hidden;
  background: var(--wall-base);
  color: var(--fc-base);
  letter-spacing: .05em;
  opacity: 0;
  -webkit-transition: opacity .3s;
  -o-transition: opacity .3s;
  transition: opacity .3s;
  -webkit-text-size-adjust: 100%;
}
body.is-load{
  opacity: 1;
}
.fl {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
.jc_c {
  justify-content: center;
}
.fl_c {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
}
.ai_c {
  -ms-align-items: center;
  align-items: center;
}
figure {
  margin-bottom: 0 !important;
}
/*container
========================================================*/
#container {
  width: 100%;
  min-height: 100vh;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  overflow-x: hidden;
}
#container > * {
  width: 100%;
}
a.cvr {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
}
a.udl{
  text-decoration: underline;
  text-underline-offset: 3px;
}
a.c-wht{
  color: #fff;
}
.fnt-futura {
  font-family: var(--fnt-futura);
}
.fnt-futura.bld {
  font-family: var(--fnt-futura);
  font-weight: 700;
}
.fc_ygrn{
  color: var(--clr-ygrn);
}
.fc_blue_d{
  color: var(--clr-blu_dull);
}
.fw_b{
  font-weight: 600;
}
/*title setting*/
.sec-title {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  -ms-align-items: center;
  align-items: center;
  gap: 5px;
}
.sec-title.ai_fs{
  -ms-align-items: flex-start;
  align-items: flex-start;
}
.sec-title.cnt{
  text-align: center;
}
.sec-title .en {
  font-family: var(--fnt-futura);
  font-weight: 700;
  font-size: var(--head1);
  letter-spacing: .16em;
  text-indent: .2em;
}
.sec-title.ai_fs .en{
  text-indent: inherit;
}
.sec-title .ja {
  font-size: 1.0714em;
  letter-spacing: .15em;
  text-indent: .15em;
  font-weight: 600;
  line-height: 1.4;
}
.sec-title.tag-in{
  gap:min(15px,3vw);
}
.sec-title .ja_w{
  font-size: var(--head2);
  letter-spacing: .12em;
  font-weight: 700;
}
.sec-title .tag{
  background: var(--wall-blk);
  color: #fff;
  padding: 4px 15px;
  border-radius: 1em;
  letter-spacing: .12em;
  font-weight: 600;
}
/*bot title*/
.box-title {
  font-size: calc(var(--head2)*.92);
  letter-spacing: .025em;
  text-indent: .025em;
  font-weight: 600;
  line-height: 1.6;
}
.education-intro-detail .box-title{
  text-align: center;
}
.box-title.cnt{
  text-align: center;
}
.box-title.mid {
  font-size: var(--head2);
}
.box-title.min{
  font-size: var(--head3_min);
}
.box-title.add_ccl{
  padding-left: 1em;
}
.box-title.add_ccl::before{
  content: "";
  width: 0.8em;
  aspect-ratio:1/1;
  position: absolute;
  left: 0;
  top: 0;
  border: 1px solid var(--wall-blk);
  background: var(--clr-ylw);
  border-radius: 50%;
  transform: translateY(.3em);
}
.box-title span.min{
  font-size: 0.75em;
}
.box-title span.min:not(.fw_b){
  font-weight: 500;
}
.box-title.l-line{
  padding-left: .85em;
}
.box-title.l-line::before{
  content: "";
  width: 5px;
  height: calc(100% - .5em);
  min-height: calc(1em + 10px);
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.box-title.l-line.lgrn::before{
  background: var(--wall-lgrn);
}
.box-title.l-line.org::before{
  background: var(--wall-org);
}
.box-title.l-line.blk::before{
  background: var(--wall-blk);
}
.box-title.l-line.ppl::before{
  background: var(--wall-ppl);
}
.box-title.hz-line{
  padding-left: 2em;
}
.box-title.hz-line::before{
  content: "";
  width: 1.71em;
  height: 1px;
  background: var(--wall-blk);
  position: absolute;
  top: .8em;
  left: 0;
}
/*round-title*/
.round-title{
  
}
.round-title > *{
  font-size: var(--head3);
  font-weight: 600;
  letter-spacing: .25em;
  background: var(--wall-blk);
  color: #fff;
  text-indent: .25em;
  padding: min(18px,3vw) 1.5em;
  border-radius: 30px;
}
/*button setting*/
.btn-wrap {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
}
.btn-wrap.row{
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  -o-flex-direction: row;
  flex-direction: row;
  justify-content: center;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  gap:min(20px,3vw) min(50px,5vw);
}
.btn-wrap.full {
  width: 100%;
}
.btn-wrap.cnt {
  -ms-align-items: center;
  align-items: center;
}
.btn-wrap.row.cnt{
  justify-content: center;
  gap:min(50px,5vw);
}
.hvr_cvr {
  overflow: hidden;
  transition: all ease .3s;
}
.hvr_cvr::before {
  content: "";
  width: 100%;
  height: 100%;
  background: var(--clr-ylw);
  position: absolute;
  left: 0;
  top: 0;
  transform-origin: 100% 50%;
  transform: scaleX(0);
  transition: transform ease .3s;
}
.hvr_cvr.clr_blk::before{
  background: var(--wall-blk);
}
.hvr_cvr.clr_pnk::before{
  background: var(--wall-pnk);
}
.hvr_cvr.clr_org::before{
  background: var(--wall-org);
}
@media (hover) {
  .hvr_cvr:hover::before {
    transform-origin: 0% 50%;
    transform: scaleX(1);
  }
  .hvr_cvr.clr_blk:hover{
    color: #fff;
  }
}
.ccl-arrow {
  aspect-ratio: 1/1;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border: 1px solid var(--wall-blk);
  border-radius: 50%;
  background: #fff;
  pointer-events: none;
}
.ccl-arrow::before, .ccl-arrow::after {
  content: "";
  display: block;
  width: 25%;
  height: 1px;
  background: var(--wall-blk);
  position: absolute;
  top: 50%;
  left: 52%;
  transform: rotate(35deg) translateX(-50%);
  transform-origin: 50% 50%;
}
.ccl-arrow::after {
  transform: rotate(-35deg) translateX(-50%);
}
.ccl-arrow.blk {
  background: var(--wall-blk);
}
.ccl-arrow.blk::before, .ccl-arrow.blk::after {
  background: #fff;
}
.round-btn.more {
  width: min(220px, 100%);
}
.round-btn > * {
  display: block;
  text-align: center;
  font-weight: 600;
  border-radius: 30px;
  padding: min(18px, 5vw) min(18px, 3vw);
  letter-spacing: .12em;
  border: 1px solid var(--wall-blk);
}
.round-btn.more > * {
  background: var(--wall-blk);
  color: #fff;
  font-size: var(--fs-mid);
}
.round-btn.wht > *{
  background: #fff;
}
@media (hover){
  .round-btn.more:hover > *:not(.clr_pnk){
    color: var(--wall-blk);
  }
}
.round-btn.wid{
  width:min(350px,100%);
}
.round-btn.mid{
  width: min(310px,100%);
}
.round-btn.slm {
  width: min(284px, 100%);
}
.round-btn.slm > * {
  font-size: 1em;
}
.round-btn.pnk > * {
  background: var(--clr-pnk_pale);
  color: var(--fc-base);
}
.round-btn.gry > * {
  background: #b7b7b7;
  color: #fff;
}
.round-btn.blk > * {
  background: var(--wall-blk);
  color: #fff;
}
.round-btn.pl_gry > * {
  background: #eeeeee;
  color: var(--fc-base);
}
.round-btn.arrow .ccl-arrow {
  width: 2em;
  right: 10px;
}
.arrow-btn {
  border-radius: 50px;
}
.arrow-btn.more{
  width: min(250px,100%);
  text-align: center;
}
.arrow-btn > * {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
/*
  overflow: hidden;
  isolation: isolate;
*/
}
.arrow-btn > * > span:not(.ccl-arrow) {
  width: 100%;
  padding: min(18px, 4.25vw) max(50px, 5em) min(18px, 4.25vw) min(20px,5vw);
  line-height: 1.2;
  font-weight: 600;
   background: #fff;
  border-radius: 50px;
  border: 1px solid var(--wall-blk);
  overflow: hidden;
  isolation: isolate;
}
.arrow-btn.more > * > span:not(.ccl-arrow) {
  padding-top: min(14px, 4vw);
  padding-bottom: min(14px, 4vw);
}
.arrow-btn span.min {
  font-size: var(--fs-min);
  display: inline-block;
}
.arrow-btn .ccl-arrow {
  width: auto;
  height: calc(100% - 1px);
  right: -1px;
  background: none;
  z-index: 1;
}
.arrow-btn a span:not(.ccl-arrow)::after{
  content: "";
  width: 100%;
  height: 100%;
  background: var(--clr-ylw);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  transform-origin: 100% 50%;
  -webkit-transition: .3s ease;
  -o-transition: .3s ease;
  transition: .3s ease;
}
.arrow-btn .ccl-arrow{
  position: absolute;
  left: -1px;
  top: 50%;
  transform: translateY(-50%);
  background: #fff;
  -webkit-transition: .3s ease;
  -o-transition: .3s ease;
  transition: .3s ease;
  z-index: 2;
}
.arrow-btn.is-slide .ccl-arrow{
  left: calc(100% + 1px);
  transform: translateY(-50%) translateX(-100%);
  transform-origin: center;
}
.arrow-btn.is-slide a span:not(.ccl-arrow)::after{
  transform: scale(0,1);
}
.arrow-btn.hvr-pnk a span:not(.ccl-arrow)::after{
  background: var(--wall-pnk_pale);
}
@media (hover){
  .arrow-btn:hover .ccl-arrow{
    background: var(--clr-ylw);
  }
  .arrow-btn.is-slide:hover .ccl-arrow{
    transform: translateY(-50%) translateX(-100%) scale(1.05);
  }
  .arrow-btn.hvr-pnk:hover .ccl-arrow{
    background: var(--wall-pnk_pale);
  }
}
/*social*/
.social-btn {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  width: min(440px, 100%);
  padding: min(15px, 2.5vw) 20% min(15px, 2.5vw) min(25px, 5vw);
  border: 1px solid var(--wall-blk);
  background: #fff;
  border-radius: 50px;
  justify-content: space-between;
  overflow: hidden;
}
.social-btn .ccl-arrow {
  width: min(2.7em, 10vw);
  right: min(20px, 2.5vw);
}
.social-btn > * {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
}
.social-btn::before, .wid-btn::before {
  content: "";
  width: 100%;
  height: 100%;
  background: var(--clr-ylw);
  position: absolute;
  top: 0;
  left: 0;
  transform-origin: 0% 100%;
  transform: scaleY(0);
  transition: transform ease .3s;
}
.social-btn .txt {
  width: 52%;
  font-family: var(--fnt-futura);
  font-size: var(--fs-wid);
  gap: 1em;
/*  letter-spacing: .05em;*/
}
.social-btn .link {
  width: 48%;
  font-size: var(--fs-min);
  justify-content: flex-end;
  line-height: 1.5833;
  letter-spacing: .1em;
}
.social-btn .icn {
  width: min(95px, 35%);
}
.wid-btn {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  width: min(550px, 100%);
  border-radius: 100px;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--wall-blk);
  padding: min(35px, 5vw) 15% min(35px, 5vw) min(58px, 5vw);
  -ms-align-items: center;
  align-items: center;
}
.wid-btn .ccl-arrow {
  width: min(50px, 10%);
  right: min(20px, 2.5vw);
}
.wid-btn .icn {
  width: min(95px, 15%);
}
.wid-btn .txt {
  width: max(calc(100% - 95px), 85%);
  padding-left: min(60px, 3vw);
}
.wid-btn .txt span {
  display: block;
}
.wid-btn .txt span.title {
  font-size: var(--fs-wid);
  letter-spacing: .15em;
}
.wid-btn .txt span:not(.title) {
  font-size: var(--fs-min);
  letter-spacing: .3em;
  margin-top: 1em;
  line-height: 1.71;
}
@media (hover) {

  .social-btn:hover::before, .wid-btn:hover::before {
    transform-origin: 100% 0%;
    transform: scaleY(1);
  }
}
.rect-btn{
  width: min(310px,100%);
  aspect-ratio:1/0.4194;
}
.rect-btn > *{
  padding: 10px;
  border-radius: 15px;
  background: var(--wall-pnk_pale);
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  -ms-align-items: center;
  align-items: center;
  height: 100%;
  width: 100%;
  font-size:var(--fs-mid);
  font-weight: 600;
  letter-spacing: .15em;
  text-indent: .15em;
  border: 1px solid var(--wall-blk);
  gap:10px;
}
.rect-btn.arrow .ccl-arrow{
  width: 1.5em;
  position: relative;
  top: 0;
  transform: none;
}
/*wrapper*/
.wall-pnk {
  background-color: var(--wall-pnk);
  border-top: 1px solid var(--wall-blk);
  border-bottom: 1px solid var(--wall-blk);
}
.wall-wblu {
  background-color: var(--wall-wblu);
  border-top: 1px solid var(--wall-blk);
  border-bottom: 1px solid var(--wall-blk);
}
.wall-org {
  background-color: var(--wall-org);
  border-top: 1px solid var(--wall-blk);
}
.wall-lgrn {
  background-color: var(--wall-lgrn);
  border-top: 1px solid var(--wall-blk);
}
#cover-contents{
  pointer-events: none;
  z-index: 10;
  width: min(1480px,100%);
  min-height: calc(100vh - min(100px,10vw));
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  justify-content: space-between;
  padding: 0 min(10px,3vw);
   -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}
#cover-contents .side-social{
  pointer-events: auto;
  width: min(40px,3vw);
/*  transform: translateY(max(-50px,-10vw));*/
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}
#cover-contents.under{
  transform: translate(-50%,-25%);
}
#cover-contents.under.is-scroll{
  transform: translate(-50%,-50%);
}
#cover-contents.is-hide{
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.side-scroll, .side-social {
  width: min(40px, 20vw);
}
.side-scroll {
  -ms-align-items: flex-end;
  align-items: flex-end;
  justify-content: center;
  margin-top: auto;
  filter:drop-shadow(0 1px 0 var(--wall-base)) drop-shadow(0 -1px 0 var(--wall-base)) drop-shadow(1px 0px 0 var(--wall-base)) drop-shadow(-1px 0 0 var(--wall-base));
}
.side-social {
  justify-content: center;
  -ms-align-items: center;
  align-items: center;
}
.side-scroll p, .side-social .txt {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-size: var(--fs-min);
}
.side-scroll p {
  letter-spacing: .2em;
  font-weight: 600;
  padding-bottom: 12.5em;
}
.side-scroll p::after {
  content: '';
  position: absolute;
  top: 5em;
  left: 50%;
  width: 1px;
  height: calc(100% - 5em);
  background: var(--wall-blk);
  animation: sdl 3s cubic-bezier(1, 0, 0, 1) infinite;
}
/*hum
=====================================*/
#hum-btn {
  position: fixed;
  top: 1px;
  right: 0px;
  width: min(95px, 18vw);
  aspect-ratio: 1/1;
  background: var(--wall-blk);
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  -ms-align-items: center;
  align-items: center;
  justify-content: center;
  z-index: 100;
  cursor: pointer;
  color: #fff;
}
#hum-btn button {
  width: 46.32%;
  height: 3px;
  background: #fff;
  border-radius: 2px;
  position: relative;
  transform: translateY(-.5em);
  -webkit-transition: background var(--transition);
  -o-transition: background var(--transition);
  transition: background var(--transition);
}
#hum-btn button::before, #hum-btn button::after {
  content: "";
  width: 100%;
  height: 3px;
  border-radius: 2px;
  position: absolute;
  left: 0;
  background: #fff;
  -webkit-transition: transform var(--transition);
  -o-transition: transform var(--transition);
  transition: transform var(--transition);
  transform-origin: center;
}
#hum-btn button::before {
  top: -13px;
}
#hum-btn button::after {
  bottom: -13px;
}
#hum-btn.open button {
  background: none;
}
#hum-btn.open button::before, #hum-btn.open button::after {
  top: calc(50% - 2px);
}
#hum-btn.open button::before {
  transform: rotate(-45deg);
}
#hum-btn.open button::after {
  transform: rotate(45deg);
}
#hum-btn .txt {
  font-family: var(--fnt-futura);
  font-weight: 500;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%) translateY(-150%);
  font-size: var(--fs-min);
}

/*navigation*/
#l-nav {
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  background: rgba(255, 255, 255, .6);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  z-index: 99;
  overflow-y: scroll;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: all var(--transition);
  -o-transition: all var(--transition);
  transition: all var(--transition);
}
#l-nav.is-view {
  opacity: 1;
  visibility: visible;
}
.l-nav_inner {
  min-height: 100%;
  padding-top: min(120px, 22vw);
  padding-bottom: 150px;
  gap:min(40px,10vw);
}
.l-contents-nav{
  width: 100%;
  gap:min(50px,10vw) min(30px,5vw);
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
}
.l-contents-nav > li{
/*  width: calc(100%/4);*/
}
.l-contents-nav > li > * + *{
  margin-top: min(30px,8vw);
}
.nav-item > p{
  font-size: clamp(1rem, 0.828rem + 0.86vw, 1.5rem);/*16-24*/
  font-weight: 600;
}
.nav-item > p.link-arw{
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
.nav-item > p.link-arw a::before{
  content: "";
  width: 1em;
  aspect-ratio:1/1;
  background: url("images/icn_c_arrow.svg") no-repeat center/100%;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transition: background .3s;
  -o-transition: background .3s;
  transition:background .3s;
}
@media (hover){
  .nav-item > p.link-arw a:hover::before{
    background-image: url("images/icn_cy_arrow.svg");
  }
}
.nav-item > p.link-arw a{
  display: block;
  padding-right:2em;
}
.nav-item > p .sp-ac-open{
  display: none;
  position: absolute;
  right: .5em;
  top: 50%;
  transform: translateY(-50%);
  width: 1.25em;
  aspect-ratio:1/1;
}
.nav-item > p .sp-ac-open::before
,.nav-item > p .sp-ac-open::after{
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: .85em;
  height: 1px;
  background: var(--wall-blk);
  transform: translate(-50%,-50%);
}
.nav-item > p .sp-ac-open::after{
  transform: translate(-50%,-50%) rotate(-90deg);
  -webkit-transition: transform .3s;
  -o-transition: transform .3s;
  transition: transform .3s;
}
.nav-item .child-nav{
  margin-top: min(20px,5vw);
}
.nav-item .child-nav li + li{
}
.nav-item .child-nav li a{
  padding-left: 1.5em;
  line-height: 1.2;
  display: block;
  padding-top: .5em;
  padding-bottom: .5em;
}
.nav-item .child-nav li a::before{
  content: "";
  width: 1em;
  aspect-ratio:1/1;
  background: var(--wall-blk);
  position: absolute;
  left: 0;
  top: 50%;
  border-radius: 50%;
  transform: translateY(-50%);
}
.nav-item .child-nav li a::after{
  content: "";
  width: .3em;
  aspect-ratio:1/1;
  border: 1px solid;
  border-color: #fff #fff transparent transparent;
  position: absolute;
  left: .06em;
  top: calc(50% - .06em);
  transform: rotate(45deg) translateY(-50%);
  box-sizing: unset;
}
.nav-item.nav-sns{
  gap:1.25em;
  -ms-align-items: center;
  align-items: center;
}
.nav-item.nav-sns a{
  width: min(25px,8vw);
}
.l-inquiry-btn{
  width: min(820px,100%);
  border-radius: 15px;
  overflow: hidden;
  border: 1px solid var(--wall-blk);
}
.l-inquiry-btn > *{
  width: 50%;
  background: #fff;
}
.l-inquiry-btn > * + *{
  border-left: 1px solid var(--wall-blk);
}
.l-inquiry-btn > * a{
  width: 100%;
  -ms-align-items: center;
  align-items: center;
  font-size: var(--head3);
  font-weight: 600;
  gap: min(30px, 5vw);
  padding: min(30px, 8vw) 10px; 
}
.l-inquiry-btn > * .icn{
  width: min(25px, 12vw);
}
.l-inquiry-btn > * a .txt{
  letter-spacing: .2em;
}
.l-inquiry-btn > * .ccl-arrow {
  width: calc(var(--head2)*.85);
  right: min(50px, 5%);
}
.l-other-nav{
  gap:1em 2em;
  font-weight: 600;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
}
.l-other-nav a{
  padding-left: 1.5em;
  letter-spacing: .2em;
  line-height: 1.7;
}
.l-other-nav a span{
padding-right: 10px;
}
.l-other-nav a::before{
  content: "";
  width: .875em;
  aspect-ratio:1/1;
  border-radius: 2px;
  background: var(--wall-blk);
  position: absolute;
  left: 0;
  top: 5px;
}
.l-other-nav .secretariat{
	    padding-left: 0;
}
.l-other-nav .secretariat::before{
	display: none;
}
.link_none{
    pointer-events: none;
}
/*header
=====================================*/
header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  border-top: 1px solid #0b0306;
  background: rgba(245, 245, 245, 1);
   -webkit-transition: background .3s;
  -o-transition: background .3s;
  transition: background .3s;
}
header.fixed{
  background: rgba(245, 245, 245, .6);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
/*緊急情報*/
#hum-btn.emg-on {
  top: 2.6em;
}
.top-emg-area {
  width: 100%;
  background: #fff;
  border-bottom: 1px solid var(--wall-blk);
  height: 2.6em;
}
.top-emg-area .in-title {
  background: var(--wall-blk);
  padding: 10px;
  width: 12em;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  justify-content: center;
}
.top-emg-area .in-title p {
  color: #fff;
  font-weight: 600;
  letter-spacing: .3em;
  padding-left: 1.71em;
  font-size: var(--fs-wid);
}
.top-emg-area .in-title p::before {
  content: "";
  width: 1.25em;
  aspect-ratio: 1/0.8812;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  background: url("images/icn_emg.svg") no-repeat center/100%;
}
.top-emg-area .loop-text {
  padding: 10px 15px;
  width: calc(100% - 12em);
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
}
.head-inner {
  width: 100%;
  padding-left: min(25px, 3vw);
  padding-right: min(95px, 18vw);
  min-height: min(80px,15vw);
  justify-content: space-between;
}
.head-inner .logo {
  width: min(265px, 20vw);
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
}
.head-inner nav{
  position: unset;
}
.g-nav {
/*  gap: 10px 15px;*/
  gap: 10px 5px;
  height: 100%;
  position: unset;
}
.g-nav > li{
  position: relative;
}
.g-nav > li > p
,.g-nav > li > a{
  height: 100%;
/*  font-size: 1.0714em;*/
  letter-spacing: .15em;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  cursor: pointer;
  padding: 0 10px;
}
.g-nav > li > .parent span::after{
  content: "";
  width: 5px;
  aspect-ratio:1/1;
  border: 1px solid var(--wall-blk);
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%) translateY(200%);
  border-radius: 50%;
  background: var(--wall-wblu);
  opacity: 0;
}
.g-nav > li.nav-exam > .parent span::after{
  background: var(--wall-pnk);
}
.g-nav > li.nav-sclife > .parent span::after{
  background: var(--clr-org);
}
.g-nav > li.nav-education > .parent span::after{
  background: var(--clr-ygrn);
}
.g-nav > li > .parent.link-non{
	pointer-events: none;
}
.js-pdn__in{
  display: none;
  width: max-content;
  position: absolute;
  left: 0;
  top: calc(100% + 1px);
/*  transform: translateX(-50%);*/
  padding:min(20px,3vw) 10px;
  z-index: 1;
/*
  border-bottom: 1px solid var(--wall-blk);
  border-top: 1px solid var(--wall-blk);
*/
}
body.page-child .js-pdn__in{
/*  background: var(--wall-base);*/
  top: calc(100% + 1px);
}
.js-pdn.active .js-pdn__in{
  display: block;
  z-index: 0;
  -webkit-transition: background .3s;
  -o-transition: background .3s;
  transition: background .3s;
}
.pdn-nav{
}
.pdn-nav ul
,.child-nav__in ul{
  justify-content: center;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
/*  gap:10px 0;*/
  background: #fff;
  border: 1px solid var(--wall-blk);
  padding-left: 1.5em;
  padding-right: 1.5em;
  padding-top: 1.5em;
  padding-bottom: 1.5em;
  border-radius: 30px;
}
.pdn-nav li a
,.child-nav__in ul li a{
  padding: 15px 15px 15px 30px;
  display: block;
}
.pdn-nav li:not(:last-child) a
,.child-nav__in ul li:not(:last-child) a{
    border-bottom: 1px solid var(--wall-gry);
}
.pdn-nav li a::before{
    content: "";
    width: 1em;
    aspect-ratio: 1 / 1;
    background: var(--wall-blk);
    position: absolute;
    left: 0;
    top: 50%;
    border-radius: 50%;
    transform: translateY(-50%);
}
.pdn-nav li a::after{
    content: "";
    width: .3em;
    aspect-ratio: 1 / 1;
    border: 1px solid;
    border-color: #fff #fff transparent transparent;
    position: absolute;
    left: .06em;
    top: calc(50% - .06em);
    transform: rotate(45deg) translateY(-50%);
    box-sizing: unset;
}


/*header button*/
#index-header .header-btn-wrap {
  border-bottom: 1px solid var(--wall-blk);
  transform: translateY(1px);
}
.header-btn-wrap > * + * {
  margin-left: -1px;
}
.head-btn {
  border-left: 1px solid #0b0306;
  width: min(80px, 15vw);
  aspect-ratio: 1/1;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  -ms-align-items: center;
  align-items: center;
  background: #fff;
}
.head-btn a {
  width: 100%;
  aspect-ratio: 1/1;
  justify-content: center;
  gap: 5px;
  font-size: var(--fs-min);
  letter-spacing: .2em;
  font-weight: 600;
}
.head-btn a .icn {
  /*  width: min(30px,37.5%);*/
  height: 2.5em;
  aspect-ratio: 1/1;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  -ms-align-items: center;
  align-items: center;
}
.head-btn a .icn img {
  object-fit: contain;
  object-position: center;
  height: 100%;
}
/*main
=====================================*/
.wrapper {
  width: min(1320px, calc(100% - min(40px, 8vw)));
  margin-left: auto;
  margin-right: auto;
}
.inner {
  width: min(1200px, 100%);
  margin-left: auto;
  margin-right: auto;
  padding-left: min(50px, 4vw);
  padding-right: min(50px, 4vw);
}
/*#key
============================*/
#key.key-main {
  width: 100%;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
}

@keyframes sdl {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}
.side-social{
  filter:drop-shadow(0 1px 0 var(--wall-base)) drop-shadow(0 -1px 0 var(--wall-base)) drop-shadow(1px 0px 0 var(--wall-base)) drop-shadow(-1px 0 0 var(--wall-base));
}
.side-social .txt {
  font-weight: 700;
  letter-spacing: .3em;
  padding-bottom: 5em;
  background: url("images/social/icn_arrow.svg") no-repeat center bottom 1.5em/10px;
}
.side-social .social-link {
  gap: min(20px, 3vw);
  
}
.side-social .social-link a {
  width: min(25px, 3vw);
}
.key-inner {
  width: min(1280px, calc(100vw - min(164px, 40vw)));
  background: #fff;
  /*
  aspect-ratio:1/0.5703;
  max-height: 730px;
*/
  height: 730px;
  border-radius: 20px;
  border: 1px solid var(--wall-blk);
  overflow: hidden;
  isolation: isolate;
  margin-top: 1px;
}
#key-slider {
  /*  --slide-radius: 200;*/
  /*  width: calc(100% - min(200px,10em));*/
  /*  height: calc(100% - min(40px,10vw));*/
  width: 100%;
  height: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
#key-slider::after{
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  background: #fff;
  -webkit-transition: .8s ease-in-out;
  -o-transition: .8s ease-in-out;
  transition: .8s ease-in-out;
  transform-origin: center right;
}
.is-load #key-slider::after{
  transform: translate(-50%,-50%) scale(0,1);
}
.vegas-slide {
  overflow: hidden;
/*  clip-path: inset(0 0 round min(50px, 15vw) 0px 0px min(50px, 15vw));*/
}
.vegas-slide, .vegas-slide-inner{
    background-position: bottom right!important;
    background-size: cover!important;
}
.key-title {
  -ms-align-items: center;
  align-items: center;
  justify-content: flex-start;
  height: 100%;
}
.key-title p {
/*
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
*/
  line-height: 1.6;
  font-weight: 600;
  font-size: var(--head1);
  letter-spacing: .3em;
  text-shadow: 2px 2px 0px rgba(255,255,255,1);
}

/*#index content
==================================================================*/
.index-wrapper {
  padding-bottom: min(120px, 20vw);
}
.in-text {
  line-height: 1.71;
  letter-spacing: .07em;
  text-indent: .07em;
}
.top-text{
  line-height: 2;
  letter-spacing: .2em;
  text-indent: .2em;
}
.sec-detail-list li {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  gap: min(90px, 5vw);
}
.sec-detail-list li + li {
  margin-top: min(85px, 10vw);
}
.sec-detail-list.numin li {
  gap: min(70px, 3vw);
}
.sec-detail-list li .thumb-area {
  width: 40%;
  aspect-ratio: 1/0.8696;
}
.sec-detail-list.numin li .thumb-area {
  width: 43%;
  aspect-ratio: 1/0.8584;
}
.sec-detail-list li .cmnt-area {
  width: calc(60% - min(90px, 3vw));
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  gap: min(30px, 5vw);
}
.sec-detail-list li .cmnt-area .in-text{
  line-height: 2;
}
.sec-detail-list.numin li .cmnt-area {
  width: calc(57% - min(70px, 3vw));
}
.detail-link-box{
  gap: min(20px, 3vw) min(40px, 3vw);
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -o-flex-wrap: wrap;
    flex-wrap: wrap;
}
.dtail-link-box .arrow-btn{
  width: calc((100% - min(40px, 3vw))/2);
}

.sec-detail-list li:nth-child(even) {
  -webkit-flex-direction: row-reverse;
  -moz-flex-direction: row-reverse;
  -ms-flex-direction: row-reverse;
  -o-flex-direction: row-reverse;
  flex-direction: row-reverse;
}
.sec-detail-list.numin li .thumb-area .num {
  position: absolute;
  top: -.5px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  background: var(--wall-wblu);
  font-size: var(--head1);
  padding: 0 1em .3em;
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
  border: 2px solid;
  border-color: transparent var(--wall-blk) var(--wall-blk);
  letter-spacing: .1em;
}
.sec-detail-list li .thumb-area figure {
  border-radius: 10px;
  overflow: hidden;
  isolation: isolate;
  border: 2px solid var(--wall-blk);
}
.sec-detail-list li .thumb-area figure img {
  object-fit: cover;
  height: 100%;
}
.detail-link-box {
  gap: min(20px, 3vw) min(40px, 3vw);
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
}
.detail-link-box .arrow-btn {
  width: calc((100% - min(40px, 3vw))/2);
}

/*index banner
======================================*/
.index-banner-blc {
  width: min(1060px, calc(100% - min(20vw, 100px)));
  border: 1px solid;
  border-bottom: none;
  justify-content: center;
  padding-top: min(30px, 10vw);
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  margin-top: min(-60px, 15vw);
  background: var(--wall-base);
}
#banner-slider {
  width: 100%;
  overflow: hidden;
}
.banner-item {
  border: 1px solid;
  background: #fff;
}
.banner-item > * {
  z-index: 1;
  display: block;
}
.banner-slider-nav {
  position: absolute;
  top: 50%;
  left: 50%;
  width: calc(100% - min(40px, 5vw));
  justify-content: space-between;
  transform: translateX(-50%);
  z-index: 1;
  pointer-events: none;
}
.slider-nav > * {
  width: min(40px, 10vw);
  aspect-ratio: 1/1;
  background: #fff;
  border: 1px solid;
  border-radius: 50%;
  pointer-events: auto;
  position: relative;
}
.slider-nav > *::after {
  content: "";
  width: 8px;
  aspect-ratio: 1/1;
  border: 1px solid;
  border-color: #000 #000 transparent transparent;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-70%, -50%) rotate(45deg);
  transform-origin: center;
}
.slider-nav > .prev-btn::after {
  transform: translate(-25%, -50%) rotate(45deg) scale(-1, -1);
}
.bnr-pagination {
  position: absolute;
  left: 50% !important;
  bottom: max(-20px, -5vw) !important;
  transform: translateX(-50%) translateY(100%);
  gap: 10px;
  z-index: 1;
}
.bnr-pagination .swiper-pagination-bullet {
  width: min(11px,2.25vw);
  height: auto;
  aspect-ratio: 1/1;
  margin: 0 !important;
  background: #fff;
  border: 1px solid #000;
  opacity: 1;
}
.bnr-pagination .swiper-pagination-bullet-active {
  background: #000;
}
/*index news
======================================*/
.index-info-blc {
  padding-top: min(130px, 20vw);
  padding-bottom: min(120px, 15vw);
}
.index-info-box {
  margin-top: min(50px, 10vw);
}
/*tab contents*/
.news-tab-swich {
  -ms-align-items: flex-end;
  align-items: flex-end;
  min-height: 5.5em;
}
.news-tab-swich li {
  width: calc(calc(100% + 5px)/6);
  min-width: 9em;
  background: #fff;
  flex-basis: auto;
  border: 1px solid #000;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  -ms-align-items: center;
  align-items: center;
  cursor: pointer;
  height: 3.8em;
  -webkit-transition: all var(--transition);
  -o-transition: all var(--transition);
  transition: all var(--transition);
}
.news-tab-swich li + li {
  margin-left: -1px;
}
.news-tab-swich li.active {
  border-top-right-radius: 10px;
  border-top-left-radius: 10px;
  height: 5em;
}
.news-tab-swich li p {
  padding: 10px;
  font-weight: 600;
}
.news-tab-swich li.active {
  background: var(--wall-blk);
}
.news-tab-swich li.active p {
  font-size: min(1.1429em, 4vw);
  color: #fff;
  padding: 1.125em 5px;
}
.news-tab-container {
  padding-top: min(80px, 10vw);
}
.acv-info-list {
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: min(30px,5vw);
}
article.acv_post {
  width: calc((100% - min(90px,15vw))/4);
}
article.stick::after {
  content: "";
  width: min(18px, 10vw);
  aspect-ratio:1/1.5255;
  position: absolute;
  top: 0;
  right: 0;
  background: url("images/icn_pin.svg") no-repeat center/100%;
  transform: translateY(-45%) translateX(20%);
}
article.acv_post .new-post {
  position: absolute;
  z-index: 1;
  width: 8em;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: var(--clr-ylw);
  border: 1px solid #000;
  transform: translateX(-55%) translateY(-55%);
}
article.acv_post .new-post span {
  position: absolute;
  right: 0;
  bottom: 0;
  transform: rotate(-48deg) translate(25%, -150%);
  font-family: var(--fnt-futura);
  letter-spacing: .1em;
  font-weight: 600;
}
article.acv_post .thumb {
  width: 100%;
  aspect-ratio: 1/0.68;
  background: #fff;
  border: 1px solid #000;
  border-radius: 20px;
  overflow: hidden;
  isolation: isolate;
}
article.acv_post .thumb .image{
  width: 100%;
  height: 100%;
}
article.acv_post .thumb .noimage {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(70px, 30%);
  transform: translate(-50%, -50%);
  opacity: .8;
}
article.acv_post .thumb img {
  object-fit: cover;
  height: 100%;
}
article.acv_post .cmnt {
  margin-top: min(15px, 3vw);
}
article .data {
  justify-content: space-between;
  -ms-align-items: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 10px;
}
.data .date {
  font-weight: 600;
}
.data .category {
  gap: 3px;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
}
.data .category span {
  border: 1px solid #000;
  border-radius: 10px;
  font-size: var(--fs-min);
  padding: 3px 10px;
  color: #fff;
  font-weight: 600;
  white-space: nowrap
}
.data .category span.cate-news{
  background: var(--clr-wblu);
}
.data .category span.cate-seminar {
  background: var(--clr-emgrn);
}
.data .category span.cate-room {
  background: var(--clr-grn);
}
.data .category span.cate-exam-info {
  background: var(--clr-pnk);
}
.data .category span.cate-weekly
,.data .category span.cate-club{
  background: var(--clr-org);
}
article .acv_title {
  letter-spacing: .12em;
  line-height: 1.4;
  margin-top: min(1em,3vw);
}
.tab-panel .btn-wrap {
  margin-top: min(60px, 10vw);
}
/*index about
======================================*/
.index-about-blc {
  padding-top: min(100px, 15vw);
  padding-bottom: min(120px, 15vw);
}
.about-detail-list {
  margin-top: min(60px, 10vw);
}

/*index school life
======================================*/
.index-sclife-blc {
  padding-top: min(100px, 15vw);
  padding-bottom: min(100px, 15vw);
}
.index-sclife-list {
  margin-top: min(50px, 10vw);
  gap: min(25px, 3vw);
}
.index-sclife-list li {
  width: calc((100% - min(50px, 6vw))/3);
}
.index-sclife-list li .thumb {
  width: 100%;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  isolation: isolate;
  border: 2px solid var(--wall-blk);
  aspect-ratio:1/1;
}
.index-sclife-list li .thumb span img {
  object-fit: cover;
  height: 100%;
}
@media (hover) {
  .index-sclife-list li:hover .hvr_cvr::before {
    transform-origin: 0% 50%;
    transform: scaleX(1);
  }
}
.index-sclife-list li .tab-title {
  width: min(150px, 70%);
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  -ms-align-items: center;
  align-items: center;
  gap: 5px;
  padding: 0 1em .7em;
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
  border: 2px solid;
  border-color: transparent var(--wall-blk) var(--wall-blk);
  letter-spacing: .1em;
  background: var(--wall-base);
}
.index-sclife-list li .tab-title .en {
  font-family: var(--fnt-futura);
  font-weight: 700;
  font-size: var(--fs-wid);
  letter-spacing: .1em;
  text-indent: .1em;
}
.index-sclife-list li .tab-title .ja {
  font-weight: 600;
}
.index-sclife-link {
  width: 100%;
  margin-top: min(120px, 15vw);
  justify-content: space-between;
}
.sclife-link-item {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  -ms-align-items: center;
  align-items: center;
  gap: min(60px, 10vw);
}
.sclife-link-item .btn-wrap {
  gap: min(30px, 5vw);
}
.index-sclife-link > .library {
  width: 60%;
  padding-right: min(20px, 3vw);
}
.index-sclife-link > .social {
  margin-left: auto;
  width: 40%;
}
/*parts pamphlet*/
.pamphlet-link {
  width: min(764px, 100%)
}
/*footer
=====================================*/
footer {
  margin-top: auto;
  background: var(--wall-gry);
  border-top: 1px solid var(--wall-blk);
  padding-top: min(70px, 10vw);
  padding-bottom: min(20px, 5vw);
}
.foot-inner {
  padding-bottom: min(60px, 15vw);
}
#pagetop {
  position: absolute;
  right: 8px;
  bottom: min(60px, 8vw);
  z-index: 10;
  cursor: pointer;
}
#pagetop p {
  padding-top: 12.5em;
  font-weight: 700;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-size: var(--fs-min);
}
#pagetop p::after {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  width: 1px;
  height: calc(100% - 3em);
  background: var(--wall-blk);
  animation: sdl 3s cubic-bezier(1, 0, 0, 1) infinite;
  animation-direction: reverse;
  transition: .5s;
}
/*foot inquiry*/
.foot-inquiry-btn {
  border-radius: 15px;
  overflow: hidden;
  border: 1px solid var(--wall-blk);
}
.foot-inquiry-btn > * {
  background: #fff;
  width: 50%;
  font-size: var(--head2);
  font-weight: 600;
}
.foot-inquiry-btn > * + * {
  border-left: 1px solid var(--wall-blk);
}
.foot-inquiry-btn > * a {
  width: 100%;
  gap: min(38px, 5vw);
  -ms-align-items: center;
  align-items: center;
  padding: min(40px, 8vw) 10px;
  overflow: hidden;
}
.foot-inquiry-btn > * .txt {
  letter-spacing: .3em;
}
.foot-inquiry-btn > * .icn {
  width: min(35px, 15vw);
}
.foot-inquiry-btn > * .ccl-arrow {
  width: calc(var(--head2)*1.3);
  right: min(50px, 5%);
}
/*foot detail*/
.foot-detail-box {
  margin-top: min(70px, 10vw);
}
/*-address*/
.foot_address {
  width: 35%;
  padding-right: min(20px, 5vw);
}
.foot_address > * + * {
  margin-top: min(20px, 3vw);
}
.foot_address .logo {
  width: min(310px, 72%);
}
.foot_address .address {
  letter-spacing: .25em;
  line-height: 1.8571;
  font-weight: 600;
}
.foot-social-link {
  -ms-align-items: center;
  align-items: center;
  gap: min(20px, 5vw);
}
.foot-social-link a {
  width: min(30px, 6vw);
}
.foot-link {
  width: 65%;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: min(40px, 5vw) min(62px, 5vw);
}
.foot-link > li > a
,.foot-link > li > p{
  font-weight: 600;
  font-size: min(1.1429em, 3.6vw);
  letter-spacing: .15em;
}
.foot-link > li > a{
  padding-left: 1.25em;
}
.foot-link > li > a::before{
  content: "";
  width: .8em;
  aspect-ratio: 1/1;
  border: 1px solid var(--fc-base);
  position: absolute;
  left: 0;
  top: .075em;
  border-radius: 50%;
}
.foot-link > li > a::after{
  content: "";
  width: .25em;
  aspect-ratio:1/1;
  border: 1px solid;
  border-color: var(--fc-base) var(--fc-base) transparent transparent;
  position: absolute;
  top: .38em;
  left: .18em;
  transform: rotate(45deg);
}
.foot-link > li .child
,.foot-link > li > a + p{
  margin-top: min(20px, 5vw);
}
.foot-link > li .child li + li {
  margin-top: 5px;
}
.foot-link > li .child li a {
  line-height: 1.2;
  padding-left: 1.25em;
  letter-spacing: .15em;
  font-weight: 500;
}
.foot-link > li .child li a::before {
  content: "";
  width: .9em;
  aspect-ratio: 1/1;
  background: var(--wall-blk);
  position: absolute;
  left: 0;
  top: .08em;
  border-radius: 50%;
}
.foot-link > li .child li a::after {
  content: "";
  width: .25em;
  aspect-ratio: 1/1;
  border: 1px solid;
  border-color: #fff #fff transparent transparent;
  position: absolute;
  left: 0;
  top: 0.01em;
  transform: rotate(45deg) translateX(85%);
  transform-origin: center left;
}
.foot-other-link {
  margin-top: min(60px, 10vw);
  gap: min(50px, 1.5vw);
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
}
.foot-other-link .other-link_inner{
	    gap: min(30px, 2vw);
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -o-flex-wrap: wrap;
    flex-wrap: wrap;
}
.foot-other-link a {
  font-size: var(--fs-min);
  font-weight: 600;
  padding-left: 1.5em;
  letter-spacing: .25em;
}
.foot-other-link .secretariat a{
	padding-left: 0;
}
.foot-other-link a span{
	padding-right: 10px;
}
.foot-other-link a::before {
  content: "";
  width: .9em;
  aspect-ratio: 1/1;
  border-radius: 2px;
  background: var(--wall-blk);
  position: absolute;
  left: 0;
  top: 1px;
}
.foot-other-link .secretariat a::before{
	display: none;
}
footer p.copy {
  padding: 0 20px;
  text-align: center;
  font-size: var(--fs-min);
}
/*202410　edit =======================*/

/* - front page*/
.about-detail-list li .box-title.add-new a{
  width: min(270px,40vw);
  translate:0 -15%;
  position: absolute;
  left: 10em;
  top: 0; 
}
.detail-link-box .arrow-btn.add-new::before{
  content: "NEW!!";
  position: absolute;
  top: 50%;
  left: 6.5em;
  translate:0 -50%;
  z-index: 1;
  font-family: var(--fnt-futura);
  font-weight: 600;
  color: #e12424;
  opacity: 0;
  transition-delay: .3s;
  pointer-events: none;
}
.detail-link-box .arrow-btn.add-new.is-slide::before{
  opacity: 1;
}

/* - enviroment*/
.education-intro-detail .box-title.tag-new{
  display: grid;
  place-content:center;
}
.education-intro-detail .box-title.tag-new span{
  padding-left: min(60px,12vw);
}
.education-intro-detail .box-title.tag-new span::before{
  content: "";
  width: min(50px,10vw);
  aspect-ratio:1/1;
  background: url("images/education/enviroment/icn_new.svg") no-repeat center/100%;
  position: absolute;
  top: 0;
  left: 0;
}
.education-detail__item figure.no-bdr{
  border: none;
  border-radius: 0;
}
.education-detail__item figure.tag-new{
  overflow: visible;
}
.education-detail__item figure.tag-new::before{
  content: "";
  width: min(80px,18%);
  aspect-ratio:1/1;
  background: url("images/education/enviroment/icn_new.svg") no-repeat center/100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  translate:-25% -25%; 
}
.education-detail__item figure.tag-new span{
  border-radius: 15px;
  overflow: hidden;
  isolation: isolate;
  width: 100%;
  height: 100%;
  display: block;
}

