@charset "UTF-8";

/* #page-top {position: fixed; bottom: 40px; right: 40px; width: 60px; z-index: 400;} */

@media screen and (max-width: 896px) {
  /* #page-top {position: fixed; bottom: 5px; right: 5px; width: 30px; z-index: 400;} */
}
.EN {font-family: "EB Garamond", serif;}
.oz {font-family: "Oswald", sans-serif;}
.mincho {font-family: 'Noto Serif JP', serif;}
.smincho {font-family: "Shippori Mincho", serif;;}
.lato {font-family: "Lato", sans-serif;}

.zen {font-family: "Zen Maru Gothic", sans-serif;}
.bgWH {background-color: #FFF;}
.bgBK {background-color: #222222;}
.bgBL {background-color: #00A1E9;}
.bgOR {background-color: #F7B763;}
.bgLRD {background-color: #CC7676;}
.bgRD {background-color: #DE5474;}
.bgHOR {background-color: #F2871C;}
.bgHBL {background-color: #0C4B67;}
.bgLOR {background-color: #FDFBEE;}
.bgPI {background-color: #F086B6;}
.bgGR {background-color: #0DB299;}
.bgGRY {background-color: #EEEEEE;}
.bgGRD{background: linear-gradient(90deg,#00A1E9 0%, #0075C1 100%); }
.bgGRD_GR{background: linear-gradient(90deg,#0DB299 0%, #A5CD55 100%); }
.bgGRD_OR{background: linear-gradient(90deg,#F2871C 0%, #FAB070 100%); }
.bgGRD_RD{background: linear-gradient(90deg,#DE5474 0%, #F49FB3 100%); }
.txtBK {color: #222;}
.txtLBL {color: #00A1E9;}
.txtBL {color: #00A1E9;}
.txtOR {color: #F7B763;}
.txtHOR {color: #F2871C;}
.txtPI {color: #F086B6;}
.txtWH {color: #FFF;}
.txtBR {color: #D88D00;}
.txtHBL {color: #0C4B67;}
.txtPPL {color: #9655BA;}
.txtGR {color: #0DB299;}
.txtHGR {color: #0C4B67;}
.txtLRD {color: #CC7676;}
.txtRD {color: #DE5474;}
.txtHRD {color: #9F1333;}
.bgLBL {background-color: #36ABFF;}
.bdRightWH{border-right: 1px solid #ffffff;}
.wsNw {white-space: nowrap;}
.clone-nav {position: fixed; top: 0; left: 0; z-index: 2; transition: .3s; transform: translateY(-100%);}
.is-show {transform: translateY(0);}
.clone-nav {text-align: center; width: 100%; background: #FFF;}
.ratioBox {position: relative; width: 100%; height: auto;}
.ratio1-1:before {content: ""; display: block; padding-top: 100%;}
.ratio2-1:before {content: ""; display: block; padding-top: 50%;}
.ratio3-2:before {content: ""; display: block; padding-top: 66%;}
.ratio4-3:before {content: ""; display: block; padding-top: 75%;}
.ratioInner {position: absolute; top: 0; left: 0; width: 100%; height: 100%;}
.w1300 {width: 100%; max-width: 1332px; padding-left: 0; padding-right: 0;}
.w1500 {width: 100%; max-width: 1520px; padding-left: 0; padding-right: 0;}
.w1600 {width: 100%; max-width: 1620px; padding-left: 0; padding-right: 0;}
.container {width: 100%; max-width: 1212px; padding-left: 0; padding-right: 0;}
.containers {width: calc(100% - 40px); max-width: 888px; padding-left: 0; padding-right: 0;}
.mlr,.container,.containers,.w1300,.w1500,.w1600 {margin-left: auto; margin-right: auto;}
.mlr5 {margin-left: 5px; margin-right: 5px;}
.mlr20,.col1,.col2,.col3,.col4,.col5,.col6,.box3,.w46,.w54,.w380,.w1020 {margin-left: 20px; margin-right: 20px;}
.mlr15,.col1-30,.col2-30,.col3-30,.col4-30,.col5-30,.col6-30 {margin-left: 15px; margin-right: 15px;}
.mlr40 {margin-right: 40px; margin-left: 40px;}
.col1 {width: calc(16.6666% - 40px);}
.col2,.box3 {width: calc(33.3333% - 40px);}
.col3 {width: calc(50% - 40px);}
.col4 {width: calc(66.6666% - 40px);}
.col5 {width: calc(83.3333% - 40px);}
.col6 {width: calc(100% - 40px);}
.col1-30 {width: calc(16.6666% - 30px);}
.col2-30,.box3-30 {width: calc(33.3333% - 30px);}
.col3-30 {width: calc(50% - 30px);}
.col4-30 {width: calc(66.6666% - 30px);}
.col5-30 {width: calc(83.3333% - 30px);}
.col6-30 {width: calc(100% - 30px);}
.box4 {width: calc(25% - 30px); margin-left: 15px; margin-right: 15px;}
.w300 {max-width: 300px; width: 100%;}
.w100 {width: 100%;}
.full {width: 100%;}
.half{width: calc(50% - 20px);}
.half-10{width: calc(50% - 10px);}
.w50 {width: 50%;}
.w33 {width: calc(100% / 3);}
.w25 {width: 25%;}
.w46 {width: calc(46% - 50px);}
.w54 {width: calc(54% - 50px);}
.w130{width: 130px;}
.w130-o{width: calc(100% - 130px)}
.wfit{width: fit-content;}
.clamp-1 {display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; overflow: hidden;}
.clamp-3 {display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden;}
.lh10 {line-height: 1.0;}
.lh12 {line-height: 1.2;}
.lh-145 {line-height: 1.45;}
.gap20 {gap: 10px 20px;}
.gap40 {gap: 20px 40px;}
.txtInd {text-indent: 1rem;}
.img img{width: 100%;}
.pttl{padding: 6px 20px 5px;}
.h100{height: 100%;}
.bdr5{border-radius: 5px;}
.bdr8{border-radius: 8px;}
.abs.--topleft{top: 0; left: 0;}
.z0{z-index: 0;}
.z1{z-index: 1;}
.posiHalfTop{transform: translateY(-50%);}
.ovflVV{overflow-y: visible;}
.minw800{min-width: 800px;}
br.sp{display: none;}
@media screen and (max-width: 896px) {
  .containers {width: calc(100% - 0px);}
  .mlr20,.col1,.col2,.col3,.col4,.col5,.col6,.box3,.w46,.w54 {margin-left: 15px; margin-right: 15px; padding-right: 10px; padding-left: 10px;}
  .mlr15,.col1-30,.col2-30,.col3-30,.col4-30,.col5-30,.col6-30 {margin-left: 10px; margin-right: 10px;}
  .mlr40 {margin-right: 30px; margin-left: 30px;}
  .mlr5 {margin-left: 0; margin-right: 0;}
  .col1 {width: calc(16.6666% - 30px);}
  .col2,.box3 {width: calc(33.3333% - 30px);}
  .col3{width: calc(50% - 30px);}
  .col4 {width: calc(66.6666% - 30px);}
  .col5 {width: calc(83.3333% - 30px);}
  .col6 {width: calc(100% - 30px);}
  .col1-30 {width: calc(16.6666% - 20px);}
  .col2-30,.box3-30 {width: calc(33.3333% - 20px);}
  .col3-30 {width: calc(50% - 20px);}
  .col4-30 {width: calc(66.6666% - 20px);}
  .col5-30 {width: calc(83.3333% - 20px);}
  .col6-30 {width: calc(100% - 20px);}
  .w46 {width: calc(46% - 30px);}
  .w54 {width: calc(54% - 30px);}
}

@media screen and (max-width: 568px) {
  .col1 {width: calc(33.3333% - 30px);}
  .col2,.col3,.col4,.col5,.col6,.box3,.w46,.w54 {width: calc(100% - 30px);}
  .col2-30,.col3-30,.col4-30,.col5-30,.col6-30 {width: calc(100% - 20px);}
  .box4 {width: calc(50% - 30px);}
  .mlr40{margin-right: 10px; margin-left: 10px;}
  .half{width: 100%;}
  br.sp{display: inline-block;}

}

@keyframes marquee {
  0% {transform: translateX(0);}
  100% {transform: translateX(-50%);}
}

.tabs .news-tabs {display: flex;}
.tabs .news-tabs li {cursor: pointer;}
.news-list {display: none;}
.news-list.is-active {display: block;}

main {min-height: 1000px; padding-top: 80px;}
#header h1 {padding: 10px;}
.logo {width: 536px;}
.global_menu {visibility: hidden; width: 100%; height: 100%; position: fixed; top: 0; left: 0; color: #222; overflow-y: scroll; text-align: center; background: #FFF;}
.menu {font-size: 20px; line-height: 40px; font-weight: bold; white-space: nowrap; display: inline-block;}
.menu .pd {display: none;}
.menu:last-child {margin-right: 0px;}
/* .menu:hover .child_menu {visibility: visible;} */
.menu_button {width: 55px; height: 55px; position: fixed; top: 0; right: 0; background: #0075C1; z-index: 15;}
.child_menu {width: 100%; left: 0; color: #222;  max-width: 726px;}
.ttlH2 h2.txt500.zen {font-weight: 700;}
#hanburger {display: none;}
#hanburger:checked ~ .menu_button {top: 0;}
#hanburger:checked ~ .span2 {display: none;}
#hanburger:checked ~ .span1 {width: 34px; transform: rotate(45deg); top: 27px; right: 11px;}
#hanburger:checked ~ .span3 {width: 34px; transform: rotate(-45deg); top: 27px; right: 11px;}
#hanburger:checked ~ .global_menu {visibility: visible;}
.spOnly {display: none;}
.pcOnly {display: block;}
#header {position: fixed; top: 0; left: 0; width: 100%; background: #ffffff; border-bottom: 1px solid #E6E6E6; z-index: 1000;}
#header > .flex.spbt {max-width: 1500px; margin-left: auto; margin-right: auto; padding: 0 40px; height: 80px; align-items: center; justify-content: space-between;}
#header .logo {width: auto;}
#header .logo a {display: flex; align-items: center; gap: 4px 16px; padding: 0; background: transparent;}
#header .logo img {height: 34px; width: auto; display: block;}
#header .logo a:after {content: "全日制課程普通科"; display: inline-flex; align-items: center; justify-content: center; height: 26px; padding: 0 12px; border: 1px solid #0C4B67; background-color: #0C4B67; border-radius: 2px; font-size: 12px; font-weight: 600; color: #FFFFFF; margin-left: 8px;}

#sideFixed {position: relative; z-index: 1001;}
#sideFixed .sideFixed-list {display: flex; flex-direction: column; background: linear-gradient(90deg,#00A1E9 0%, #0075C1 100%); border-radius: 0 0 0 22px; overflow: hidden; position: fixed; top: 0; right: 0; z-index: 0; width: 120px; opacity: 1; visibility: visible; transition: opacity .25s ease, visibility .25s ease;}
#sideFixed .sideFixed-item a {display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 14px 10px; color: #ffffff; text-align: center; min-height: 120px; gap: 3px;}
#sideFixed .sideFixed-item + .sideFixed-item a {border-top: 1px solid rgba(255,255,255,.35);}
#sideFixed .sideFixed-ico {width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; margin-bottom: 5px;}
#sideFixed .sideFixed-ico img {width: 100%; height: auto; display: block;}
#sideFixed .sideFixed-ttl {font-size: 16px; font-weight: 700; line-height: 1.2;}
#sideFixed .sideFixed-sub {font-size: 14px; font-weight: 600; line-height: 1.35; margin-top: 6px; padding: 0 10px 0px 10px; border-right: 1px solid #fff; border-left: 1px solid #fff; position: relative;}
#sideFixed .sideFixed-sub::before{content: ""; background-color: ;}
#sideFixed .sideFixed-item a:hover {filter: brightness(1.05);}
#pageTop {position: fixed; bottom: 0; right: 0; width: 120px;}
#pageTop .button {cursor: pointer;}
#pageTop .tohs {padding: 20px 20px; display: flex; align-items: center; justify-content: center; line-height: 1.4; background: linear-gradient(90deg,rgba(240, 134, 182, 1) 0%, rgba(247, 183, 99, 1) 100%);}
@media screen and (max-width: 1500px) {
  body.is-header-menu-hover #sideFixed .sideFixed-list {opacity: 0; visibility: hidden; pointer-events: none;}
}
@media screen and (max-width: 1325px) {
  #header > .flex.spbt{padding: 0 40px 0 20px;}
  #header .menu > a{font-size: 14px;}
  #header .menu{padding-right: 5px!important; padding-left: 5px!important;}
}
@media screen and (min-width: 897px) {
  .menu_button {display: none;}
  .global_menu {position: inherit; padding: 0; color: #fff; visibility: visible; overflow-y: visible; height: auto; width: auto;}
  .child_menu {width: 100%; position: absolute; top: 42px; left: 0; color: #222; background: #fff; visibility: hidden; opacity: 0; transition: .4s opacity; z-index: 1101; max-width: 726px; display: flex; background: linear-gradient(0deg, #0075C1 0%, #00A1E9 100%);}
  #header #hanburger,#header .menu_button,#header .span1,#header .span2,#header .span3 {display: none;}
  #header .global_menu {visibility: visible; position: static; width: auto; height: auto; overflow: visible; background: transparent; padding-right: 80px;}
  #header .menu_wrap {display: flex; align-items: flex-start; gap: 0; text-align: center;}
  #header .menu {display: block; font-size: 16px; line-height: 1; font-weight: 700; white-space: nowrap; padding-right: 10px; padding-left: 10px; position: relative;}
  #header .menu:first-child {display: none;}
  #header .menu > a {display: flex;  align-items: center; gap: 10px; padding: 0; border-radius: 0; background: transparent;}
  #header .menu > a:after {content: ""; width: 16px; height: 16px; background-image: url(../img/cmn/icon_cross_bl.svg); font-size: 14px; line-height: 1; color: #00A1E9;}
  #header .menu.--nochild > a:after {display: none;}
  #header .menu input,#header .menu label {display: none;}
  #header .menu::after {content: ""; position: absolute; top: 100%; left: 0; width: 100%; height: 10px;}
  #header .menu:hover .child_menu,#header .menu:focus-within .child_menu {visibility: visible; opacity: 1; pointer-events: auto;}
  #header .child_menu{width: 100%; display: flex; min-width: 726px; z-index: 0; }
  #header .child_menu::before{position: absolute; content: ""; display: block; width: 0; height: 0; border-style: solid; border-width: 0px 15px 15px 15px; border-color: transparent transparent #00A1E9 transparent; top: -7px; transform: translateY(-50%); z-index: 1;} 
  #header .child_menu.--01{left: -37px;}
  #header .child_menu.--01::before{left: 75px;}
  #header .child_menu.--02{left: -142px;}
  #header .child_menu.--02::before{left: 180px;}
  #header .child_menu.--03{left: -247px;}
  #header .child_menu.--03::before{left: 285px;}
  #header .child_menu.--04{left: -351px;}
  #header .child_menu.--04::before{left: 389px;}
  #header .child_menu.--05{left: -455px;}
  #header .child_menu.--05::before{left: 493px;}
  #header .child_menu.--06{left: -559px;}
  #header .child_menu.--06::before{left: 608px;}
  #header .child_menu a{position: relative;}
  #header .child_menu .flex{width: 100%;}
  #header .child_menu_img{width: 200px; position: relative; padding: 10px; border-right: 1px solid #ffffff;}
  #header .child_menu_img img{object-fit: cover; height: 100%; width: 100%;}
  #header .child_menu_main{text-align: start; width: 100%; display: flex; align-items: flex-end;}
  #header .child_menu_main a{position: relative;}
  #header .child_menu_main a::before{position: absolute;}
  #header .child_menu_links{height: 100%; text-align: start; width: calc(100% - 200px); display: flex; flex-direction: column; padding-top: 10px; padding-bottom: 10px; padding-right: 10px; position: relative;}
  #header .child_menu_links::before{content: ""; height: 100%; width: 1px; background-color: #ffffff; position: absolute; right: 10px; top: 0;}
  #header .child_menu_links_inner{height: 100%; border-top: 1px solid #ffffff; border-bottom: 1px solid #ffffff; padding: 36px 30px 30px;}
  
  #header .child_menu_links a{color: #ffffff;}
  #header .child_menu_list{text-align: start; width: 100%; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0px 40px;}
  #header .child_menu_list li{min-width: calc(50% - 20px); margin-bottom: 6px;}
  #header .child_menu_list a{font-size: 14px; font-weight: 400; text-align: start; width: 100%; padding-left: 23px; position: relative; font-family: 'Noto Serif JP', serif;}
  #header .child_menu_list a::before{content: ""; background-image: url(../img/cmn/icon_arrow_wh.svg); background-size: contain; background-position: center center; width: 12px; height: 10px; left: 0; top: 50%; transform: translateY(-50%); position: absolute;}
  #header .child_menu_list li.--blank a{padding-right: 22px;}
  #header .child_menu_list li.--blank a::after{background-image: url(../img/cmn/icon_blank_BLK.svg);  background-size: contain; background-position: center center; width: 14px; aspect-ratio: 1/1; right: 0; top: 50%; transform: translateY(-50%); position: absolute; content: "";}
  #header .child_menu_ttl{font-size: 18px!important; font-weight: 600; padding-left: 0!important; padding-bottom: 5px; border-bottom: 1px solid #ffffff; display: block; margin-bottom: 10px;}
  #header .child_menu_ttl::before{display: none;}
}

@media screen and (min-width: 896px) and (max-width: 1200px){
  #header .logo img{height: 26px;}
  #header .logo a{gap: 10px;}
  #header .logo a:after{font-size: 10px;}
  #header .menu{padding-left: 10px; padding-right: 10px;}
  #header .menu > a{font-size: 14px;}
  #sideFixed .sideFixed-list{width: 96px;}
  #sideFixed .sideFixed-ico{width: 20px; height: 20px;}
  #sideFixed .sideFixed-item a{min-height: 65px;}
  #sideFixed .sideFixed-ttl{font-size: 12px;}
  #sideFixed .sideFixed-sub{font-size: 10px;}
  #header .global_menu{padding-right: 54px;}
  #header .child_menu.--01{left: -57px;}
  #header .child_menu.--01::before{left: 80px;}
  #header .child_menu.--02{left: -162px;}
  #header .child_menu.--02::before{left: 185px;}
  #header .child_menu.--03{left: -267px;}
  #header .child_menu.--03::before{left: 290px;}
  #header .child_menu.--04{left: -371px;}
  #header .child_menu.--04::before{left: 394px;}
  #header .child_menu.--05{left: -475px;}
  #header .child_menu.--05::before{left: 498px;}
  #header .child_menu.--06{left: -579px;}
  #header .child_menu.--06::before{left: 613px;}
  #header .child_menu{max-width: 580px;}
}
@media screen and (max-width: 896px) {
  main {padding-top: 0;}

  .spOnly {display: block;}
  .pcOnly {display: none;}
  span.span1,span.span2,span.span3 {width: 29px; height: 1px; background-color: #FFF; right: 13px; transition: .3s; z-index: 100; position: fixed;}
  .span1 {top: 17px;}
  .span2 {top: 27px;}
  .span3 {top: 37px;}
  .menu {display: block;}
  .menu > a {padding: 10px 15px; text-align: left; border-bottom: 1px solid #CCC;}
  .menu > a span {margin-right: 10px; width: 30px !important;}
  .menu > a span img {width: 100%;}
  .global_menu {z-index: 10;}
  .global_menu a {border-top-left-radius: 0; border-top-right-radius: 0;}
  .menu .pd {display: inline-block; width: 100%; position: absolute; top: 0; left: 0; height: 100%;}
  .menu_wrap {display: none;}
  #hanburger:checked ~ * .menu_wrap {display: block; opacity: 1; min-height: 100vh; background: rgba(255,255,255,.8); top: 0; z-index: 5;}
  #hanburger:checked ~ * .menu {max-height: inherit; overflow-y: visible; padding: 0; margin-left: 0; position: relative;}
  #hanburger:checked ~ * .child_menu {max-height: 0; overflow-y: hidden; visibility: hidden; text-align: left;}
  .menu .child_menu {border-top: 1px solid #DDD; position: relative; opacity: 1; top: 0; margin-left: auto; left: auto; width: auto;}
  .menu > label:hover {cursor: hand;}
  .menu input[type="checkbox"]:checked ~ .child_menu {max-height: inherit !important; overflow-y: visible; visibility: visible !important;}
  .u-minW560 {min-width: 460px;}
  .u-minW860 {min-width: 660px;}
  .u-minW900 {min-width: 820px;}
  .u-ctPdSm,.u-ctPdMd,.u-ctPdLg,.u-ctPdLL {--c-table-cell-pd: 10px 12px;}
  /* #header .menu .logo a:after */
  .menu .child_menu{border-top: none; border-bottom: 1px solid #ccc;}
  #header .menu:first-child > a:after{display: none;}
  #header .menu > a {text-align: left; display: block; position: relative; max-width: 200px; width: 100%; border-bottom: none;}
  #header .menu > a:after {content: "＋"; font-size: 14px; line-height: 1; color: #0075C1; position: absolute; right: 0; top: 50%; transform: translateY(-50%);}
  #header .child_menu{width: 100%; display: flex; min-width: unset; border-radius: 30px 0 0 0; z-index: 0; padding: 0 10px;}
  #header .child_menu .flex{padding-bottom: 30px; }

  #header .child_menu a{position: relative;}
  #header .child_menu .flex{width: 100%;}
  #header .child_menu_img{width: 180px; position: relative;}
  #header .child_menu_img img{object-fit: cover; height: 100%; width: 100%; border-radius: 30px 0 0 0;}
  #header .child_menu_main{text-align: start; width: 100%; border-bottom: 1px solid #ccc; min-height: 80px; display: flex; align-items: flex-end;}
  #header .child_menu_main a{position: relative;}
  #header .child_menu_main a::before{position: absolute;}
  #header .child_menu_links{text-align: start; width: calc(100% - 180px); display: flex; flex-direction: column; justify-content: flex-end;}
  #header .child_menu_list{text-align: start; padding: 20px 40px 30px; width: 100%; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 40px;}
  #header .child_menu_list li{min-width: calc(50% - 20px);}
  #header .child_menu_list a{font-size: 14px; font-weight: 400; text-align: start; width: 100%; padding-left: 23px; position: relative; white-space: wrap;}
  #header .child_menu_list a::before{content: ""; background-image: url(../img/cmn/icon_arrow_bl.svg); background-size: contain; background-position: center center; width: 12px; height: 10px; left: 0; top: 5px; position: absolute;}
  #header .child_menu_list li.--blank a{padding-right: 22px;}
  #header .child_menu_list li.--blank a::after{background-image: url(../img/cmn/icon_blank_BLK.svg);  background-size: contain; background-position: center center; width: 14px; aspect-ratio: 1/1; right: 0; top: 50%; transform: translateY(-50%); position: absolute; content: "";}
  #header {position: relative;}
  #header > .flex.spbt {padding: 0 15px; height: 74px;}
  #header .logo img {height: 30px;}
  #sideFixed {display: none;}
}
@media screen and (max-width: 568px) {
  #header .logo a{flex-direction: column; align-items: flex-end;}
  #header .logo a:after{margin-left: 0;}
  /* #header .child_menu .flex{flex-direction: column;} */
  #header .menu > a{border-bottom: 1px solid #ccc; font-size: 16px; font-weight: 500; max-width: 100%;}
  #header .menu > a:after{right: 20px;}
  #header .menu > a img{width: 200px;}

  #header .child_menu_main{padding: 10px 20px; min-height: auto; display: none;}
  #header .child_menu_main a{display: none;}
  #header .child_menu_links{width: 100%;}
  #header .child_menu_img{width: 100%; display: none;}
  #header .child_menu_img img{aspect-ratio: 2/3;}
  #header .child_menu_list{width: 100%; padding: 10px 20px; gap: 5px 20px;}
  #header .child_menu_list a{font-size: 12px;}
  #header .child_menu_list li.--blank a::after{width: 10px;}
  #header .child_menu_list a::before{width: 14px;}
  #header .child_menu_list a{padding-left: 20px;}
}


footer #fnavi ul {letter-spacing: -.4em; margin: 0 0 5px;}
footer #fnavi ul > li {margin: 0 20px 10px; letter-spacing: normal; display: inline-block; position: relative;}
footer #fnavi ul > li a:hover {text-decoration: underline;}
footer #fnavi ul > li::after {content: ""; display: inline-block; width: 1px; height: 20px; background-color: #999999; position: absolute; top: 0; right: -20px;}
footer #fnavi ul > li:first-child {margin: 0 20px 10px 0;}
footer #fnavi ul > li:last-child {margin: 0 0 10px 20px;}
footer #fnavi ul > li:last-child::after {background-color: #FFF; width: 0; right: 0;}
.footCopy {text-align: right;}
.footCopy small {font-size: 14px;}
#ftNavi {display: none;}

@media screen and (max-width: 950px) {  footer .logo {width: 300px;}
}

@media screen and (max-width: 896px) {
  /* footer {margin-bottom: 50px; padding: 40px 0;} */
  footer #fnavi {width: 100%;}
  #ftNavi {display: block; background: #0075C1; letter-spacing: -.4em; position: fixed; z-index: 5; bottom: 0; border-top: 1px solid #FFF; width: 100%;}
  #ftNavi ul {text-align: center; font-size: 10px; font-weight: bold;}
  #ftNavi li {letter-spacing: normal; display: inline-block; width: 25%;}
  #ftNavi li a {display: block; padding: 5px 0; color: #FFF; border-left: 1px solid #fff; border-right: 1px solid #fff;}
  #ftNavi li:first-child a {border-left: none;}
  #ftNavi li:last-child a {border-right: none;}
  #ftNavi li span {width: 24px; margin: 0 auto 5px; display: block;}
}

@media screen and (max-width: 568px) {  footer #fnavi ul > li,footer #fnavi ul > li:last-child {margin: 0 10px 10px 10px;}
  footer #fnavi ul > li:first-child {margin: 0 0 10px 0; display: block;}
  footer #fnavi ul > li::after {right: -10px;}
  footer #fnavi ul > li:first-child::after {background-color: #FFF; width: 0; right: 0;}

}
footer {--ft-white: rgba(255,255,255,1); padding: 0; border-top: 0; background: linear-gradient(-90deg,#00A1E9 0%, #0075C1 100%);}
footer .container {padding: 70px 0 70px;}
footer .footerMega {gap: 70px; flex-wrap: nowrap;}
footer .footerMega-right {flex: 1; min-width: 0;}
footer :is(.footerLogo, .footerBadge, .footerBtnOutline, .footerBtnPrimary, .footerTopnav a, .footerTtl, .footerList a, .footerLegal a, .footerInfo, .footerCopy) {color: var(--ft-white);}
footer :is(.footerTopnav a, .footerList a, .footerLegal a):hover {text-decoration: underline;}
footer .footerLogo {gap: 16px;}
footer .footerLogo-icon {width: 100%; flex-shrink: 0; display: block;}
footer .footerLogo-name {font-size: 28px; line-height: 1.2;}
footer .footerBadge {display: flex; justify-content: center; align-items: center; width: 100%; max-width: 300px; height: 30px; border-radius: 0; border: 1px solid var(--ft-white); margin-top: 15px;}
footer .footerInfo {margin-top: 26px;}
footer .footerInfo p {line-height: 1.8;}
footer .footerCtas {gap: 18px; margin-top: 34px;}
footer .footerBtnOutline {display: flex; justify-content: center; align-items: center; width: 140px; height: 30px; border-radius: 5px; border: 1px solid var(--ft-white);}
footer .footerBtnPrimary {display: flex; justify-content: center; align-items: center; width: 100%; max-width: 360px; height: 30px; border-radius: 5px; margin-top: 18px; background: linear-gradient(90deg,#F086B6 0%, #F7B763 100%);}
footer .footerTopnav {margin-top: 6px;}
footer .footerTopnav ul {gap: 14px 34px; justify-content: flex-start;}
/* footer .footerCols {display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 10px; margin-top: 34px;} */
footer .footerCols {display: flex; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 10px; flex-wrap: wrap;}
footer .footerCol {padding-left: 0; display: flex; flex-direction: column;}
footer .footerCol:before {content: none;}
footer :is(.footerCol > .footerList, .footerGroup .footerList) {position: relative; padding-left: 22px;}
footer :is(.footerCol > .footerList, .footerGroup .footerList):before {content: ""; position: absolute; left: 7px; top: -22px; bottom: 4px; width: 1px; background: var(--ft-white); border-radius: 2px; height: calc(100% + 20px);}
footer .footerTtl {margin-bottom: 14px; display: inline-block;}
footer .footerList {margin-bottom: 14px;}
footer .footerList li {margin-bottom: 6px; white-space: nowrap;}
footer .footerList a {line-height: 1.7;}
footer .footerList a.--lv3{padding-left: 17px;}
footer .footerGroup {margin-top: 22px; padding-top: 0; border-top: 0;}
footer .footerIcoExt {display: inline-flex; align-items: center; margin-left: 8px; width: 14px;}
footer .footerIcoExt img {width: 100%; height: auto; display: block;}
footer .footerBottom {margin-top: 20px; padding-top: 18px; gap: 14px 24px;}
footer .footerLegal {gap: 18px;}
footer .footerCopy {text-align: right; white-space: nowrap;}
footer .is-slash {--slash-w: 15px; --slash-pad: 22px; position: relative; padding-left: var(--slash-pad);}
footer .is-slash:before {content: ""; position: absolute; left: 0; top: 50%; width: var(--slash-w); height: 2px; background: var(--ft-white); transform: translateY(-50%); border-radius: 2px;}
footer .footerTtl.is-slash {--slash-w: 15px; --slash-pad: 20px;}
footer .footerLegal .is-slash {--slash-w: 21px; --slash-pad: 28px;}

@media screen and (max-width: 896px) {
  footer .container {width: calc(100% - 30px); padding: 50px 0 80px;}
  footer .footerMega {flex-wrap: wrap; gap: 40px;}
  footer .footerMega-left.w300 {width: 100%; max-width: none;}
  footer .footerCols {flex-wrap: wrap; gap: 28px 30px;}
  footer .footerCopy {white-space: normal; text-align: left;}
  footer .footerBottom {flex-wrap: wrap; justify-content: flex-start;}
}

@media screen and (max-width: 568px) {
  footer .footerCtas{gap: 10px 0; justify-content: space-between;}
  footer .footerCols {grid-template-columns: 1fr;}
  footer .footerTopnav .is-slash {--slash-w: 14px; --slash-pad: 18px;}
  footer .footerTtl.is-slash {--slash-w: 14px; --slash-pad: 18px;}
}

#cmnLinks {background: linear-gradient(90deg,#0DB299 0%, #A5CD55 100%); padding: 40px 0 20px;}
#cmnLinks li{max-width: 240px; width: 100%; margin-right: 15px; margin-left: 15px;}


/* 共通 */
#top01,
#top02,
#top03,
#top04,
#top05,
#top06,
#top07,
#top08,
#top09{overflow: hidden;}
section{overflow: hidden;}
section.overUS{overflow: unset;}
.ttlCmn{position: relative; overflow: visible; z-index: 0; padding-left: 40px;}
.ttlCmn::before{position: absolute; content: ""; background-color: #CCCCCC; width: 1000vw; height: 1px; left: 50%; transform: translate(-50%,-50%); z-index: -1;}
.ttlCmn.--noline::before{display: none;}
.ttlCmn.--nopd{padding-left: 0;}
.ttlCmn.--pd80{padding-left: 80px;}
.ttlCmn_inner {width: fit-content; padding-right: 2px;}
.ttlCmn h2{margin-right: 20px; letter-spacing: 3px;}
.ttlCmn .EN{background: linear-gradient(90deg,#00A1E9 0%, #0075C1 100%); padding: 0 20px;}
.ttlCmn.--gr .EN{background: linear-gradient(90deg,#0DB299 0%, #A5CD55 100%);}
.ttlCmn.--or .EN{background: linear-gradient(90deg,#F2871C 0%, #FAB070 100%);}
.ttlCmn.--rd .EN{background: linear-gradient(90deg,#DE5474 0%, #F49FB3 100%);}
.ttlCmn .EN.bgWH{background: #ffffff;}

.btn{width: fit-content; font-weight: 600; border-radius: 5px 0 0 5px; line-height: 1.7; position: relative;}
.btn a,.btn p{padding: 13px 40px 13px 20px; position: relative; display: inline-block; width: 100%;}
a.btn{display: inline-block;}
.hoverLift{transition: transform .3s ease, box-shadow .3s ease, filter .3s ease, background-color .3s ease, background-position .35s ease; cursor: pointer;}
.btn.txtGR,.btn.txtBL{position: relative;}
.btn.--grad::after,.btn.txtGR::after,.btn.txtBL::after{position: absolute; content: ""; width: 12px; height: 10px; top: 50%; right: 20px; transform: translateY(-50%); background-repeat: no-repeat; background-position: center center; background-size: contain;}
.btn.hoverLift::after{transition: transform .3s ease;}
.btn.--grad::after{background-image: url(../img/cmn/icon_arrow_wh.svg); }
.btn.txtGR::after{background-image: url(../img/cmn/icon_arrow_gr.svg); }
.btn.txtBL::after{background-image: url(../img/cmn/icon_arrow_bl.svg); }
.btn.--grad{background: linear-gradient(90deg,#00A1E9 0%, #0075C1 100%);}
.btn.--grad.hoverLift{background-size: 140% 100%; background-position: 0 0;}
.btn.--w240{min-width: 240px; }
.btn.--bdr{border-radius: 5px;}
.btn.--grad p{line-height: 1;}
.btn.--grad input{background: unset; color: #ffffff; font-size: 16px; font-weight: 600; cursor: pointer;}
.hoverLift:focus-within,.hoverLift:focus-visible{transform: translateY(-2px); box-shadow: 0 12px 24px rgba(34,34,34,.12); filter: brightness(1.02);}
.btn.hoverLift:focus-within::after,.btn.hoverLift:focus-visible::after{transform: translate(4px,-50%);}
.btn.--grad.hoverLift:focus-within,.btn.--grad.hoverLift:focus-visible{background-position: 100% 0; box-shadow: 0 12px 24px rgba(0,117,193,.24); filter: none;}
.btn.txtGR.hoverLift:focus-within,.btn.txtGR.hoverLift:focus-visible{background-color: #F2FBF8; box-shadow: 0 12px 24px rgba(13,178,153,.18); filter: none;}
.btn.txtBL.hoverLift:focus-within,.btn.txtBL.hoverLift:focus-visible{background-color: #F2F8FF; box-shadow: 0 12px 24px rgba(0,161,233,.18); filter: none;}
@media (hover: hover) {
  .hoverLift:hover{transform: translateY(-2px); box-shadow: 0 12px 24px rgba(34,34,34,.12); filter: brightness(1.02);}
  .btn.hoverLift:hover::after{transform: translate(4px,-50%);}
  .btn.--grad.hoverLift:hover{background-position: 100% 0; box-shadow: 0 12px 24px rgba(0,117,193,.24); filter: none;}
  .btn.txtGR.hoverLift:hover{background-color: #F2FBF8; box-shadow: 0 12px 24px rgba(13,178,153,.18); filter: none;}
  .btn.txtBL.hoverLift:hover{background-color: #F2F8FF; box-shadow: 0 12px 24px rgba(0,161,233,.18); filter: none;}
}

.boxarrow,
.boxarrow::before,
.boxarrow::after{position: absolute; bottom: 0; right: 0;}
.boxarrow{content: ""; width: 45px; height: 45px; z-index: 0;}
.boxarrow::before{content: ""; background-color: #FFF; width: 24px; height: 24px;  top: 50%; left: 50%; transform: translate(-50%,-50%); z-index: 2; border: 1px solid #00A1E9; background-image: url(../img/cmn/icon_arrow_bl.svg); background-repeat: no-repeat; background-position: center center;}
.boxarrow::after{content: ""; display: block; width: 45px; height: 45px; background: linear-gradient(-135deg, #0075C1 0%, #00A1E9 100%); clip-path: polygon(100% 0%, 100% 100%, 0% 100%); z-index: 1;}
.bgImg01-02 {position: relative; z-index: 0; padding-top: 90px;}
.bgImg01-02::before {content: ""; position: absolute; top: 0; height: calc(100% - 230px); width: 100%; background-image: url(../img/top/01-bg.webp); background-repeat: no-repeat; background-size: cover; background-position: center center; z-index: -1;}
.slick-prev {left: calc(20% - 110px);}
.slick-next {right: calc(20% - 110px);}
.slick-prev, .slick-next {width: 100px; height: auto; aspect-ratio: 1/1; z-index: 1; display: block;z-index: 5;}
.slick-prev:before,.slick-next:before {content: ""; display: none;}
.wpcf7-spinner{display: none!important;}
#topMvSlider .slick-prev {left: calc(20% - 110px);}
#topMvSlider .slick-next {right: calc(20% - 110px);}
#topMvSlider .slick-prev, #topMvSlider .slick-next {width: 100px; height: auto; aspect-ratio: 1/1; z-index: 1; display: block;}
#topMvSlider li { max-height: 700px;}
#topMvSlider li img {width: 100%;}
#topMvSlider .slick-prev:before,#topMvSlider .slick-next:before {content: ""; display: none;}
#top01 #topMvSlider .slick-prev,
#top01 #topMvSlider .slick-next {z-index: 5;}
#top01 {overflow: visible;}
#top01 #topMvSlider {margin: 0; padding: 0; list-style: none;}
#top01 #topMvSlider .slick-list {overflow: visible;}
#top01 #topMvSlider .slick-track {display: flex; align-items: center;}
#top01 #topMvSlider .slick-slide {transform: scale(1); opacity: 1; transition: transform 400ms ease, opacity 400ms ease; position: relative; z-index: 1;}
#top01 #topMvSlider .slick-center {transform: scale(1.3); opacity: 1; z-index: 3;}
#top01 #topMvSlider img {width: 100%; height: auto; display: block;}


#topMvSliderSP .slick-prev {left: 33px;}
#topMvSliderSP .slick-next {right: 33px;}
#topMvSliderSP .slick-prev, #topMvSliderSP .slick-next {width: 40px; height: auto; aspect-ratio: 1/1; z-index: 1; display: block;}
#topMvSliderSP .slick-prev:before,#topMvSliderSP .slick-next:before {content: ""; display: none;}
#topMvSliderSP{display: none;}
#topMvSliderSP li {padding: 0 10px;}
#topMvSliderSP li img {width: 100%; border-radius: 0;}
#topLinksSlider .slick-dots,#pageSlider .slick-dots,#topBottomSlider .slick-dots ,#about-history03_slider .slick-dots {display: flex; justify-content: center; align-items: center; gap: 0 12px; list-style: none; padding: 0; margin: 20px 0 0;}
#topLinksSlider .slick-dots li ,#pageSlider .slick-dots li,#topBottomSlider .slick-dots li ,#about-history03_slider .slick-dots li {margin: 0; width: auto; height: auto;}
#topLinksSlider .slick-dots li button ,#pageSlider .slick-dots li button ,#topBottomSlider .slick-dots li button ,#about-history03_slider .slick-dots li button {display: block; width: 80px; height: 8px; padding: 0; border: 0; border-radius: 0; background: #cfcfcf; font-size: 0; line-height: 0; text-indent: -9999px; overflow: hidden; cursor: pointer;}
#topLinksSlider .slick-dots li button:before ,#pageSlider .slick-dots li button:before ,#topBottomSlider .slick-dots li button:before  ,#about-history03_slider .slick-dots li button:before {content: none;}
#topLinksSlider .slick-dots li.slick-active button ,#pageSlider .slick-dots li.slick-active button ,#topBottomSlider .slick-dots li.slick-active button ,#about-history03_slider .slick-dots li.slick-active button {background: #0075C1;}
#pageSlider li,#topBottomSlider li,#about-history03_slider li {padding: 0 10px;}
#pageSlider a,#topBottomSlider a,#about-history03_slider a{position: relative; }
#pageSlider .text,#topBottomSlider .text,#about-history03_slider .text{padding: 10px 40px 10px 20px;}
@media (max-width: 869px){
  #topMvSlider .slick-slide > div {transform: scale(.96);}
  #topMvSlider .slick-center > div {transform: scale(1.03);}
  #topMvSlider{display: none;}
  #topMvSliderSP{display: block;}
  #topLinksSlider .slick-dots li button, #pageSlider .slick-dots li button, #topBottomSlider .slick-dots li button, #about-history03_slider .slick-dots li button{width: 20px; height: 6px; padding: 0 5px; border-radius: 0;}
  #topLinksSlider .slick-dots, #pageSlider .slick-dots, #topBottomSlider .slick-dots, #about-history03_slider .slick-dots{gap: 0;}
  
}
#top02{padding-top: 1.5vw;}
#top03 {border-top: 1px solid #CCCCCC; }
#top03 .col6{position: relative; z-index: 0;}
#top03 .bdrRight,
#top03 .col6::before,
#top03 .col6::after{content: ""; background-color: #CCCCCC; width: 1px; height: 100vh; position: absolute; z-index: -1; }
#top03 .bdrRight{right: 0;top: 0;}
#top03 .col6::before{left: 0;top: 0;}
#top03 .col6::after{left: 25%; top: 0;}
#top03 .news-tabs{width: 25%; position: relative;}

/* #top03 .news-tabs::before,#top03 .news-tabs::after{position: absolute; content: ""; background-color: #CCCCCC; width: 1px; height: 100%;} */
#top03 .news-tabs li{--tab-color: #00A1E9;cursor: pointer;padding-left: 28px;position: relative;min-height: 60px;display: flex;align-items: center;color: var(--tab-color);border-right: 1px solid var(--tab-color);border-bottom: 1px solid var(--tab-color); transition: ease .3s;}
#top03 .news-tabs li::before{content: "";position: absolute;left: 0;top: 0;width: 8px;height: 100%;background-color: var(--tab-color);}
#top03 .news-tabs li.is-active{color: #fff;background-color: var(--tab-color);}
#top03 .news-tabs li.is-active::before{content: "";position: absolute;left: 0;top: 50%;transform: translateY(-50%);width: 23px;height: 2px;background-color: #fff;}
#top03 .news-tabs li.is-active::after{width: 0;height: 0;border-style: solid;border-width: 7px 0 7px 8px;border-color: transparent transparent transparent var(--tab-color);position: absolute;right: -9px;top: 50%;transform: translateY(-50%);content: "";}
#top03 .news-tabs li:hover{background-color: var(--tab-color); color: #fff;}
#top03 .news-tabs li:nth-child(1){--tab-color: #00A1E9;}
#top03 .news-tabs li:nth-child(2){--tab-color: #ADB154;}
#top03 .news-tabs li:nth-child(3){--tab-color: #B15494;}
#top03 .news-tabs li:nth-child(4){--tab-color: #0C4B67;}
#top03 .news-tabs li:nth-child(5){--tab-color: #222222;}
#top03 .news-list{width: calc(75% - 36px);}
#top03 .news-list .link{min-height: 60px; display: flex; align-items: center; padding: 0 20px; font-size: 14px; position: relative;}
#top03 .news-list .link::before{position: absolute; right: 0; top: 50%; transform: translateY(-50%); content: ""; background-image: url(../img/cmn/icon_arrow_bl.svg); width: 12px; height: 10px; right: 30px; }
#top03 .news-list .date{min-width: 124px;} 
#top03 .news-list .text{display: flex;}
#top03 .news-list .cat{color: #ffffff; font-weight: 600; border-radius: 3px ; padding: 5px 14px; min-width: 140px; max-width: 140px; margin-right: 40px; text-align: center;}
#top03 .news-list li{ border-bottom: 1px solid #cccccc;}
#top03 .news-list li.newsCatAnother .cat{background-color: #222222;}
#top03 .news-list li.newsCatEntrance .cat{background-color: #ADB154;}
#top03 .news-list li.newsCatParent .cat{background-color: #B15494;}
#top03 .news-list li.newsCatStudent .cat{background-color: #0C4B67;}
#top04 .col6{position: relative;}
#top04 .bdr01,
#top04 .bdr02,
#top04 .bdr03,
#top04 .bdr04,
#top04 .bdr05{content: ""; background-color: #CCCCCC; width: 1px; height: 100vh; position: absolute; z-index: -1; top: 0;}
#top04.topicsArchive .bdr01,
#top04.topicsArchive .bdr02,
#top04.topicsArchive .bdr03,
#top04.topicsArchive .bdr04,
#top04.topicsArchive .bdr05{content: ""; background-color: #CCCCCC; width: 1px; height: 100%; position: absolute; z-index: -1; top: 27px;}
#top04 .bdr01{left: 0;}
#top04 .bdr02{left: 25%;}
#top04 .bdr03{left: 50%; transform: translateX(-50%);}
#top04 .bdr04{right: 25%;}
#top04 .bdr05{right: 0;}
#top04 .topicsList li{width: 25%; background-color: rgba(0, 161, 233, .1);}
#top04 .topicsList a{position: relative; height: 100%; display: inline-block;}

#top04 .topicsList .img{aspect-ratio: 3/2;}
#top04 .topicsList .img img{width: 100%; height: 100%; object-fit: cover;}
#top04 .topicsList .text{position: relative; padding: 40px 20px 36px 20px;}
#top04 .topicsList .date{border-radius: 5px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 5px; width: fit-content; position: absolute; top: 0; transform: translateY(-50%); left: 20px; line-height: 1.3; width: 50px; height: 50px; aspect-ratio: 1/1;}
#top05 {overflow: hidden; position: relative; z-index: 0;}
#top05::before {content: ""; position: absolute; top: 0; right: 0; width: 70%; height: 100%; background: url(../img/top/05-01.webp) no-repeat bottom right/cover; z-index: 1;}
#top05::after {content: ""; position: absolute; width: 50%; height: 100%; background: linear-gradient(90deg,#00A1E9 0%, #0075C1 100%); clip-path: polygon(0 0, 100% 0, 84% 100%, 0 100%); display: block; z-index: 2;}
#top05 .w1440 {width: 100%; max-width: 1440px; margin: 0 auto; position: relative; overflow: hidden;}
#top05 .kagi p {display: inline-block; position: relative; padding: 12px 10px 12px 30px; line-height: 1.8; font-weight: 400; color: #ffffff;}
#top05 .kagi p::before {content: ""; position: absolute; top: 0; left: 0; width: 50px; height: 50px; border-top: 2px solid #ffffff; border-left: 2px solid #ffffff;}
#top05 .kagi p::after {content: ""; position: absolute; right: 0; bottom: 0; width: 50px; height: 50px; border-right: 2px solid #ffffff; border-bottom: 2px solid #ffffff;}
#top05.hero {display: grid;grid-template-columns: 1fr 1fr;min-height: 580px;max-height: 700px;overflow: hidden;}
#top05 .hero__text {padding: 56px 52px 56px 60px;color: #fff;display: flex;flex-direction: column;justify-content: center;position: relative;overflow: hidden; z-index: 3; text-align: center;}
#top05 .hero__text::before {content: '';position: absolute;top: -30%;right: -20%;width: 500px;height: 500px;background: radial-gradient(circle, rgba(255,255,255,0.08) 0%, transparent 70%);pointer-events: none;}
#top05 .hero__label {letter-spacing: 0.08em;margin-bottom: 8px;}
#top05 .hero__title {letter-spacing: 0.15em;}
#top05 .hero__keyword {position: absolute;bottom: -6px;right: 0;font-size: clamp(2.2rem, 7vw, 6.5rem); font-size: 8vw; font-weight: 900;color: #fff;letter-spacing: 0.06em;text-shadow:0 2px 8px rgba(0,0,0,0.3),0 0 40px rgba(0,0,0,0.15);z-index: 3;line-height: 1;}

#top06 .inner {position: relative; z-index: 0; aspect-ratio: 566/680;}
#top06 .inner.--gr{background-color: #0DB299;}
#top06 .inner.--bl{background-color: #00A1E9;}
#top06 .inner.--gr::before,
#top06 .inner.--bl::before{height: 55%; bottom: 0; left: 0; width: 100%; display: block; position: absolute; content: ""; }
#top06 .inner.--gr::before{background: linear-gradient(180deg,rgba(0,157,133,0) 0%, rgba(0,157,133,1) 100%);}
#top06 .inner.--bl::before{background: linear-gradient(180deg,rgba(0,161,233,0) 0%, rgba(0,161,233,1) 100%);}
#top06 .inner .img img{width: 100%; height: 100%; object-fit: cover; opacity: 0.8; position: absolute; z-index: -1;}
#top06 .text {position: relative; height: 100%; z-index: 0; display: flex; align-items: flex-start; justify-content: flex-end; flex-direction: column; padding: 40px 40px 30px 80px;}
#top06 .text >.txt16,#top06 .text >.txt30{text-shadow: 2px 2px 3px rgba(0, 0, 0, .5);}
#top06 .text::before {content: ""; position: absolute; width: 1px; height: 100%; top: 0; left: 40px; z-index: 2; background-color: #ffffff;}
#top06 .course {position: absolute; transform: rotate(90deg); left: 33px; top: 20px; display: inline-block;transform-origin: left top; }
#top07 {border-top: 1px solid #CCCCCC; border-bottom: 1px solid #CCCCCC;}
#top07 .ttlCmn {padding-left: 40px;}
#top07 {border-right: 1px solid #CCCCCC; border-left: 1px solid #CCCCCC; position: relative; z-index: 0;}
#top07 .bgWH {padding-right: 40px;}
#top07 .unit {padding-left: 70px; position: relative;}
#top07 .unit::before {position: absolute; content: ""; width: 2px; height: 100%; left: 40px; top: 0; background-color: #0075C1;}
#top07 .imgs {position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; overflow: visible;}
#top07 .imgs-track {display: flex; gap: 40px; height: 100%; width: max-content; animation: marquee 40s linear infinite;}
#top07 .imgs-track .img {flex-shrink: 0; width: 400px; align-self: flex-start; padding-top: 20px;}
#top07 .imgs-track .img:nth-child(even) {align-self: flex-end; padding-top: 0; padding-bottom: 20px;}
#top07 .imgs-track .img img {width: 100%; height: auto; aspect-ratio: 400 / 560; object-fit: cover; display: block;}

#top08 {border-top: 1px solid #CCCCCC; border-bottom: 1px solid #CCCCCC; overflow: visible;}
#top08 .ttlWrap{position: relative; z-index: 0; transform: translateY(-50%);}
#top08 .subttl{margin-left: 30px; padding-left: 20px; padding-right: 20px; z-index: 1; position: relative;}
#top08 .eventList{display: flex;}
#top08 .eventList li{width: calc(100% / 3); position: relative;}
#top08 .eventList .btn{position: absolute; right: 0; bottom: 0;}
#top08 .col6 {border-right: 1px solid #CCCCCC; border-left: 1px solid #CCCCCC; position: relative;}
#top08 .col6::before,#top08 .col6::after {position: absolute; content: ""; width: 1px; height: 100%; background-color: #CCCCCC; top: 0;}
#top08 .col6::before {left: calc(100% / 3);}
#top08 .col6::after {right: calc(100% / 3);}
#top09 {overflow: visible;}

@media (max-width: 1024px) {
  #top05::after{clip-path: polygon(0 0, 100% 0, 90% 100%, 0 100%);}
  #top05 .hero {min-height: 480px;}
  #top05 .hero__text {padding: 40px 36px;}
  #top05 .hero__title { margin-bottom: 28px;}
  #topBottomSlider .txt18{font-size: 14px;}

  /* #top05 .hero__keyword {bottom: 16px;  right: 20px;} */
}
@media screen and (min-width: 896px) {
  #top04 .topicsList li:nth-child(4n-3){border-right: 1px solid #CCCCCC;}
  #top04 .topicsList li:nth-child(4n-2){border-right: 1px solid #CCCCCC;}
  #top04 .topicsList li:nth-child(4n-1){border-right: 1px solid #CCCCCC;}
  #top04 .topicsList li:nth-child(4n){}

}
@media screen and (min-width: 569px) and (max-width: 896px) {
  #top04 .topicsList li:nth-child(2n-1){border-right: 1px solid #CCCCCC;}
  #top04 .topicsList li:nth-child(2n){}
}

@media screen and (max-width: 896px) {
  .btn.--w240{min-width: unset;}
  #top03 .news-tabs{width: 100%;}
  #top03 .news-list{width: 100%;}
  #top03 .news-tabs ul{display: flex; margin-bottom: 10px; gap: 5px;}
  #top03 .news-tabs li{width: 20%; font-size: 14px; padding-left: unset; justify-content: center; text-align: center;}
  #top03 .news-tabs li.is-active::after{top: unset; right: unset; bottom: -12px; left: 50%; transform: translateX(-50%) rotate(90deg);}
  #top03 .news-tabs li::before{height: 6px; width: 100%; bottom: 0; top: unset;}
  #top03 .news-tabs li.is-active::before{display: none;}
  #top04 .topicsList li{width: 50%;}
  #top04 .bdr02,#top04 .bdr04{display: none;}
  #top04.topicsArchive .bdr01,
  #top04.topicsArchive .bdr02,
  #top04.topicsArchive .bdr03,
  #top04.topicsArchive .bdr04,
  #top04.topicsArchive .bdr05{content: ""; background-color: #CCCCCC; width: 1px; height: 100vh; position: absolute; z-index: -1; top: 19px;}
  #top07 .col3{width: 70%;}
  #top07 {margin-bottom: 80px}
  #top08 .eventList {flex-direction: column;}
  #top08 .eventList li{width: 100%;}
  #top08 .col6::after,#top08 .col6::before{display: none;}
}

@media screen and (max-width: 768px) {
  .btn a, .btn p{padding:8px 40px 8px 20px;}
  #top03 .news-list .cat{margin-right: 0; font-size: 10px; width: fit-content;}
  #top03 .news-list .text{width: 100%;}
  #top03 .news-list .link{flex-wrap: wrap; padding: 6px 25px 6px 10px;}
  #top03 .news-list .link::before{right: 10px;}
  
}
@media screen and (max-width: 568px) {
  .bgImg01-02{padding-top: 40px;}
  #top01{margin-bottom: 30px;}
  #top03 .news-tabs li{font-size: 12px;}
  #top03 .news-list .cat{padding: 3px 10px;}
  #top04 .topicsList li{width: 100%;}
  #top04 .bdr03{display: none;}
  #top04.topicsArchive .bdr01, #top04.topicsArchive .bdr02, #top04.topicsArchive .bdr03, #top04.topicsArchive .bdr04, #top04.topicsArchive .bdr05{top: 30px;}
  #top05.hero{display: flex; flex-direction: column;background: url(../img/top/05-01.webp) no-repeat bottom center / cover;}
  #top05 .hero__text{width: 100%; text-align: left;}
  #top05 .hero__keyword{bottom: -2px;}
  #top05::after{width: 90%; opacity: .9;}
  #top06 .text{padding: 24px 24px 20px 60px;}
  #top06 .course{left: 25px;}
  #top06 .text::before{left: 35px;}
  #top07 .col3{width: 80%;}
  #top07 .bgWH{opacity: 0.9;}
  #top08 .subttl{margin-left: 0; padding-left: 10px; padding-right: 10px;}
}

/* 下層共通系 */
.lower .bdrT{border-top: 1px solid #CCCCCC;}
.lower .bdrR{border-right: 1px solid #CCCCCC;}
.lower .bdrL{border-left: 1px solid #CCCCCC;}
.lower .bdrB{border-bottom: 1px solid #CCCCCC;}
.lower .col1.bdrB,
.lower .col2.bdrB,
.lower .col3.bdrB,
.lower .col4.bdrB,
.lower .col5.bdrB{position: relative;}

/* .lower .col1.bdrT,
.lower .col2.bdrT,
.lower .col3.bdrT,
.lower .col4.bdrT,
.lower .col5.bdrT{position: relative;} */


.lower .col1.bdrB::before,
.lower .col2.bdrB::before,
.lower .col3.bdrB::before,
.lower .col4.bdrB::before,
.lower .col5.bdrB::before{position: absolute; content: ""; bottom: -1px; width: 100vw; height: 1px; background-color: #CCCCCC;}
.lower .col3.bdrB:nth-child(2n-1):before{left: 0; max-width: 604px;}
.lower .col3.bdrB:nth-child(2n)::before{right: 0; max-width: 604px;}
/* .lower .col1.bdrT::before,
.lower .col2.bdrT::before,
.lower .col3.bdrT::before,
.lower .col4.bdrT::before,
.lower .col5.bdrT::before{position: absolute; content: ""; top: -1px; left: 0; right: 0; width: 100vw; height: 1px; background-color: #CCCCCC;} */
.lower .col2.img{padding-top: 27px;}
.lower .bdrPc .col2:nth-child(3n){border-right: 1px solid #CCCCCC;}
.lower .bdrPc .col2:nth-child(3n-2){border-left: 1px solid #CCCCCC;}
section.c-lower_mv{height: 359px; position: relative; z-index: 0; padding-top: 40px; padding-bottom: 30px;}
.c-lower_mv {margin-bottom: 50px;}
.c-lower_mv .container{height: 100%;}
.c-lower_mv .col6{display: flex; flex-direction: column; justify-content: space-between; height: 100%;}
.c-lower_mv .title{position: relative; z-index: 1;}
.c-lower_mv .sub{width: fit-content; padding: 13px 15px; line-height: 1; font-size: 24px; font-family: 'Noto Serif JP', serif; position: relative; z-index: 1;}
.c-lower_mv h1{font-weight: 400; width: fit-content; font-size: 40px; font-family: 'Noto Serif JP', serif; padding: 16px 15px; margin-top: -10px; position: relative; z-index: 0;}
.c-lower_mv::after {background: linear-gradient(90deg,#00A1E9 0%, #0075C1 100%); content: ""; position: absolute; width: clamp(130px,35%,624px); height: 100%; clip-path: polygon(0 0, 100% 0, 80% 100%, 0 100%); display: block; z-index: 0; top: 0; }
.c-lower_mv_img {position: absolute; top: 0; right: 0; width: 73%; height: 100%; background: no-repeat bottom right/cover; z-index: -1;}
.c-lower_mv_img img {object-fit: cover; height: 100%; width: 100%;}
.c-lower_mv .breadcrumb {margin-top: auto;}
.c-lower_mv .breadcrumb ul{display: flex; gap: 4px 24px; padding: 5px 15px; background-color: #ffffff; position: relative; z-index: 1; width: fit-content;}
.c-lower_mv .breadcrumb li{position: relative;}
.c-lower_mv .breadcrumb li:not(:first-child)::after{position: absolute; top: 50%; left: -12px; transform: translateY(-50%); content: ""; display: block; width: 0; height: 0; border-style: solid; border-width: 3px 0px 3px 4px; border-color: transparent transparent transparent #00A1E9;}
.c-lower_mv .breadcrumb a,.c-lower_mv .breadcrumb span{font-size: 12px; color: #00A1E9;}
.c-lower_links ul{gap: 20px;}
.c-lower_links li{width: fit-content;}
.c-lower_links a{width: 100%; padding: 7px 20px 5px; color: #00A1E9; border-bottom: 2px solid #00A1E9; display: inline-block; text-align: center; font-size: 18px;}
.c-lower_links .is-active{background: linear-gradient(90deg,#00A1E9 0%, #0075C1 100%); color: #ffffff; position: relative;}
.c-lower_links .is-active::before{content: ""; display: block; width: 0; height: 0; border-style: solid; border-width: 6px 6px 0px 6px; border-color: #00A1E9 transparent transparent transparent; position: absolute; bottom: -8px; left: 50%; transform: translateX(-50%);}
.c-lower_links.--class a{color: #0DB299; border-bottom: 2px solid #0DB299; }
.c-lower_links.--class .is-active{background: linear-gradient(90deg,#0DB299 0%, #A5CD55 100%); color: #ffffff; position: relative;}
.c-lower_links.--class .is-active::before{content: ""; display: block; width: 0; height: 0; border-style: solid; border-width: 6px 6px 0px 6px; border-color: #0DB299 transparent transparent transparent; position: absolute; bottom: -8px; left: 50%; transform: translateX(-50%);}
.c-lower_links.--class2 a{color: #00A1E9; border-bottom: 2px solid #00A1E9;}
.c-lower_links.--class2 .is-active{background: linear-gradient(90deg,#00A1E9 0%, #0075C1 100%); color: #ffffff; position: relative;}
.c-lower_links.--class2 .is-active::before{content: ""; display: block; width: 0; height: 0; border-style: solid; border-width: 6px 6px 0px 6px; border-color: #00A1E9 transparent transparent transparent; position: absolute; bottom: -8px; left: 50%; transform: translateX(-50%);}
.c-sqrlist li{padding-left: 13px; position: relative;}
.c-sqrlist li::before{position: absolute; content: ""; height: 8px; width: 8px; top: 10px; left: 0;}
.c-sqrlist.txtWH li::before{background-color: #ffffff;}
.c-cirlist li{padding-left: 13px; position: relative;}
.c-cirlist li::before{position: absolute; content: ""; height: 8px; width: 8px; top: 8px; left: 0; border-radius: 10px; background-color: #222222;}
.c-cirlist.txtWH li::before{background-color: #ffffff;}
.c-cirlist.--bdr li::before{background-color: unset; border: 1px solid #222222;}
.c-table{width: 100%;}
.c-col2items .item{padding-top: 28px;}
.c-col2items .item .unit{height: fit-content;}
.c-col2items .item .unit.img{width: 51%;}
.c-col2items .item .unit.text{width: 49%;}
.c-col2items .item .img{position: relative;}
.c-col2items .item .img img{object-fit: cover;}
.c-col2items .item .img .txt20{position: absolute; transform: translateY(-100%); line-height: 28px;}
.c-bdrnumList li{position: relative; padding-left: 40px; margin-bottom: 25px;}
.c-bdrnumList li .num{color: #36ABFF;display: flex; align-items: center; justify-content: center; position: relative; content: ""; border-radius: 100px; width: 30px; height: 30px; border: 1px solid #00A1E9; position: absolute; left: 0; top: 50%; transform: translateY(-50%);}
.pointBL{position: relative; padding-left: 20px;}
.pointBL::before{position: absolute; content: ""; height: 10px; width: 10px; background-color: #00A1E9; top: 50%; left: 0; border-radius: 10px; transform: translateY(-50%);}
.bdr_I_wh{border: 1px solid #ffffff; padding: 25px 20px; height: 100%; position: relative;}
.bdr_I_wh.--pdf::before{content: ""; background-image: url(../img/cmn/icon_pdf_wh.svg); width: 40px; height: 40px; position: absolute; top: 50%; transform: translateY(-50%); right: 25px; background-size: contain; background-repeat:  no-repeat;}
.bdr_I_wh.--p5{padding: 5px;}
.classLinks{width: 100%; border-bottom: 5px solid #0DB299; display: flex;}
.classLinks a{color: #0DB299; border-top: 1px solid #0DB299; border-right: 1px solid #0DB299; max-width: 235px; width: 100%; padding: 16px 16px 13px; text-align: center; line-height: 1.5; display: flex; align-items: center; justify-content: center;}
.classLinks a:first-child{border-left: 1px solid #0DB299;}
.classLinks .is-active{background-color: #0DB299; color: #FFFFFF;}
.classLinks.--bl{border-bottom: 5px solid #36ABFF;}
.classLinks.--bl a{color: #36ABFF; border-top: 1px solid #36ABFF; border-right: 1px solid #36ABFF;}
.classLinks.--bl a:first-child{border-left: 1px solid #36ABFF;}
.classLinks.--bl .is-active{background-color: #36ABFF; color: #ffffff;}
.classContent{padding: 0 40px;}
.collumnitems .inner{background-color: rgba(0, 161, 233, .1); height: 100%; position: relative;}
.collumnitems .unit.w33:nth-child(3n-1),.collumnitems .unit.w33:nth-child(3n-2){border-right: 1px solid #CCCCCC;}
.collumnitems .title{position: absolute; top: -23px; padding: 8px 20px;}
.collumnitems .subtitle{position: absolute; top: -74px; padding: 8px 20px;}
.collumnitems .text{padding: 20px;}
.sessionList .ttl{width: 140px; background-color: #0DB299; color: #ffffff; display: flex; align-items: flex-start; justify-content: center; padding: 10px ;}
.sessionList .cnt{width: calc(100% - 140px); padding: 10px 20px; border: 1px solid #0DB299;}
.sessionList .date,
.sessionList .format,
.sessionList .name{display: flex}
.sessionList .date{width: 364px;}
.sessionList .name{width: calc(100% - 364px);}
.sessionList .c-cirlist li{min-width: 240px;}
.sessionList .c-cirlist li::before{top: 12px;}
.docList a{position: relative; padding-left: 30px; padding-right: 80px; display: block;}
.docList a .img{position: absolute; width: 40px; height: 40px; right: 30px; top: 50%; transform: translateY(-50%);}
.docList a::before,
.docList a::after{position: absolute; bottom: 0; content: ""; height: 2px;}
.docList a::before{width: 136px; background-color: #36ABFF; left: 0;}
.docList a::after{width: calc(100% - 136px); background-color: #999999; right: 0;}
.c-faq .num{width: 30px; height: 30px; display: flex; align-items: center; justify-content: center;}
.c-faq .unitInner{display: flex; }
.c-faq .unitInner p{width: calc(100% - 30px); padding-left: 10px;}
.bdBtmTtl{position: relative;}
.bdBtmTtl::before,.bdBtmTtl::after{position: absolute; bottom: 0; content: ""; height: 2px;}
.bdBtmTtl::before{background-color: #36ABFF; width: 136px; left: 0; }
.bdBtmTtl::after{background-color: #999999; width: calc(100% - 136px); right: 0;}
.layoutBdBl {position: relative;}
.layoutBdBl .title{width: 136px; display: flex; padding: 18px 0; line-height: 1.7;}
.layoutBdBl .content{width: calc(100% - 136px); padding-left: 20px; height: auto; padding-top: 18px; padding-bottom: 18px; position: relative; display: block;}
.layoutBdBl > .flex::before,.layoutBdBl > .flex::after{position: absolute; content: ""; bottom: -0; height: 2px;}
.layoutBdBl > .flex::before{background-color: #36ABFF; width: 136px; left: 0;}
.layoutBdBl > .flex::after{background-color: #999999; width: calc(100% - 136px); right: 0;}
.post-navigation .nav-links {display: flex; justify-content: space-between;}
.post-navigation .nav-links .nav-previous {padding-left: 34px; position: relative; line-height: 1.5;}
.post-navigation .nav-links .nav-next {padding-right: 34px; position: relative; line-height: 1.5;}
.post-navigation .nav-links .nav-previous::before,.post-navigation .nav-links .nav-next::before {background-position: center center; background-size: contains; background-repeat: no-repeat;}
.post-navigation .nav-links .nav-previous::before {position: absolute; content: ""; width: 24px; height: 24px; background-image: url(../img/cmn/icon_arrow_bl.svg); top: 50%; left: 0; transform: translateY(-50%) rotate(180deg);}
.post-navigation .nav-links .nav-next::before {position: absolute; content: ""; width: 24px; height: 24px; background-image: url(../img/cmn/icon_arrow_bl.svg); top: 50%; right: 0; transform: translateY(-50%);}
ul.page-numbers {display: flex; gap: 15px; position: relative; z-index: 2;}
ul.page-numbers .prev,ul.page-numbers .next {color: #ffffff; position: relative; }
ul.page-numbers .prev::before,ul.page-numbers .next::before {content: ""; position: absolute; background-image: url(../img/cmn/icon_arrow_bl.svg); background-position: center center; background-repeat: no-repeat; background-size: contain; width: 12px; height: 10px; top: 50%; left: 50%;}
ul.page-numbers .prev::before {transform: translate(-50%,-50%) rotate(180deg);}
ul.page-numbers .next::before {transform: translate(-50%,-50%);}
ul.page-numbers li a,ul.page-numbers li span{border: 1px solid #00A1E9; color: #00A1E9; border-radius: 5px; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; font-family: "EB Garamond", serif; font-size: 24px; font-weight: 500; background-color: #ffffff;}
ul.page-numbers li .dots{border: none;}
ul.page-numbers li .current{background-color: #00A1E9; color: #ffffff;}
.lower .theContent p,.lower .theContent img{margin-bottom: 20px;}
.lower .theContent .wp-block-image{max-width: calc(50% - 10px);}
.lower .theContent .wp-block-gallery{display: flex; flex-wrap: wrap; justify-content: space-between;}
.js-modal-slider .img{position: relative;}
.js-modal-slider .img::before{position: absolute; content: ""; background-image: url(../img/cmn/icon_slider.svg); width: 50px; height: 50px; bottom: 0; right: 0; }

#top03.newsArchive .news-list{width: 100%;}
table.--bl th{background-color: #36ABFF;}
table.--w700{min-width: 700px;}
table th,table td{padding: 10px 20px;}
table td{line-height: 1.7;}
table.--mid th,table.--mid td{vertical-align: middle;}
table.--bl th,table.--bl td{border: 1px solid #0C4B67;}
table.--bdrbl th,table.--bdrbl td{border: 1px solid #00A1E9;}
table th.bgGR{background-color: #25B19E;}

#about02 .col2{padding-top: 26px;}
#about03 .col6{position: relative; z-index: 1;}
#about03 .inner{position: relative; z-index: 0;}
#about03 .img{position: absolute; z-index: 2; width: calc(26.5% - 30px);}
#about03 .img:nth-child(1){right: 50%;top: 0;  transform: translateX(100%);}
#about03 .img:nth-child(2){right: 0; bottom: 0;}
#about-movie02 .bdr_I_wh .txtRight{border-bottom: 2px solid #ffffff;}
#about-access02 .address > .flex{padding-bottom: 15px; position: relative;}
#about-access02 .address .txt18,#about-access02 .address .txt16{position: relative; padding-bottom: 0;}
#about-access02 .address .txt18{width: 136px; display: flex; align-items: center; justify-content: center; padding: 9px;}
#about-access02 .address .txt16{width: calc(100% - 136px); padding-left: 20px; height: 36px; display: flex; align-items: center;}
#about-access02 .address > .flex::before,
#about-access02 .address > .flex::after{position: absolute; content: ""; bottom: -0; height: 2px;}
#about-access02 .address > .flex::before{background-color: #36ABFF; width: 136px; left: 0;}
#about-access02 .address > .flex::after{background-color: #999999; width: calc(100% - 136px); right: 0;}
#about-access02 .bgGRD{height: 100%;}
#about-access02 .imgs{position: relative; z-index: 0;}
#about-access02 .imgs .abs{position: absolute; top: 50%; transform: translateY(-50%); left: 0; width: clamp(100px,40%,450px); z-index: 1;}
#about-access02 .imgs .rlt{max-height: 640px; width: calc(100% - 202px);}
/* #about-access03 {overflow: visible; position: relative;} */
#about-access03 .col6{position: relative;}
#about-access03 .col6::before,#about-access03 .col6::after {position: absolute; content: ""; height: 100%; width: 1px; background-color: #CCCCCC; top: 26px; z-index: -1;}
#about-access03 .col6::before{left: 0;}
#about-access03 .col6::after{right: 0;}
#about-access03 .access-map iframe{width: 100%;}

#about-history02 .unit{padding-bottom: 15px; position: relative;}
#about-history02 .unit::before,
#about-history02 .unit::after{position: absolute; content: ""; bottom: -0; height: 2px;}
#about-history02 .unit::before{background-color: #36ABFF; width: 136px; left: 0;}
#about-history02 .unit::after{background-color: #999999; width: calc(100% - 136px); right: 0;}
#about-history02 .year{width: 136px; padding: 1px; display: flex; align-items: center; justify-content: center; height: 36px;}
#about-history02 .year .txt16{padding-left: 3px;}
#about-history02 .row{width: calc(100% - 156px); margin-left: 20px;}
#about-history02 .exp{justify-content: space-between; gap: 20px; height: 36px; align-items: center; width: calc(100% - 156px); margin-left: 20px;}
#about-history02 .row .exp{width: calc(100% - 20px); height: auto; padding: 7px 0; margin-left: unset;}
#about-history02 .row .exp:not(:last-child){border-bottom: 1px dotted #999999; }
#about-history02 .month{width: 60px; text-align: right;}
#about-history02 .content{width: calc(100% - 80px);}
#about-history03_slider li{padding: 0 15px;}
#about-history03_slider .title{padding-bottom: 22px;}
#about-history03_slider .title{position: relative;}
#about-history03_slider .title::before,
#about-history03_slider .title::after{position: absolute; content: ""; bottom: 10px; height: 2px;}
#about-history03_slider .title::before{background-color: #36ABFF; width: 136px; left: 0;}
#about-history03_slider .title::after{background-color: #999999; width: calc(100% - 136px); right: 0;}
#about-history03_slider .slick-next{right: calc(20% - 183px);}
#about-history03_slider .slick-prev{left: calc(20% - 183px);}
#class-class02 .unit{position: relative;}
#class-class02 .unit .txt20{width: fit-content; padding: 6px 20px 5px; position: absolute; left: 0; top: 0;}
#class-class02 .unit{padding: 65px 20px 30px;}
#class-class02 .sqr_ttl{width: 130px; aspect-ratio: 1/1; display: flex; flex-direction: column; align-items: center; justify-content: center;}
#class-class02 .sqr_txt{width: calc(100% - 150px); }

#class-curriculum .curriculumList .txt14{padding: 8px 20px; line-height: 24px;}
#class-curriculum .curriculumList .txt18.txtWH.lh-145{padding: 7px 27px;}
#class-curriculum .curriculumList h3{padding: 14px;}
#class-curriculum .curriculumList .bl{background-color: #90CCF7;}
#class-curriculum .curriculumList .lbl{background-color: #BEE3FD;}
#class-curriculum .curriculumList .or{background-color: #F2A97C;}
#class-curriculum .curriculumList .lor{background-color: #FDD6BE;}
#class-curriculum .curriculumList .pl{background-color: #BD9FF4;}
#class-curriculum .curriculumList .lpl{background-color: #D4BEFD;}
#class-curriculum .curriculumList .yl{background-color: #F2DC66;}
#class-curriculum .curriculumList .lyl{background-color: #FDF3BE;}
#class-progress .schedule_title .bgGR{width: 100px; height: 40px; display: flex; align-items: center; justify-content: center; }
#class-progress .schedule .table {display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: stretch; min-width: 1060px;}
#class-progress .schedule .unit {display: flex; flex-direction: column; min-width: 0;}
#class-progress .schedule .unit:not(:last-child) {border-right: 1px dotted #222222;}
#class-progress .schedule .month {display: flex; align-items: baseline; justify-content: center; gap: 2px; padding: 11px 8px;}
#class-progress .schedule .unit ul {padding: 10px 2px 10px 2px; margin: 0;}
/* #class-progress .schedule .unit:empty {min-height: 240px;} */
#class-progress .schedule .c-cirlist li {font-size: 11px; line-height: 1.6; padding-left: 10px;}
#class-progress .schedule .c-cirlist li::before{top: 4.5px; height: 7px; width: 7px;}
#examinfo-entry02 ul.flow{gap: 0 30px; min-width: 800px;}
#examinfo-entry02 ul.flow li{width: calc(12.5% - 26.25px); border: 1px solid #36ABFF; border-radius: 5px; display: flex; align-items: center; justify-content: center; padding: 10px 10px; position: relative;}
#examinfo-entry02 ul.flow li:not(:last-child)::before{position: absolute; content: ""; width: 0; height: 0; border-style: solid; border-top: 7px solid transparent; border-bottom: 7px solid transparent; border-left: 10px solid #36abff; border-right: 0; top: 50%; transform: translateY(-50%); right: -22px;}
#life02 .img{position: relative;}
#life02 .img .imgTitle{position: absolute; bottom: 0; left: 0; width: fit-content; background-color: #0C4B67; color: #ffffff; padding: 2px 10px;}
#life02 .img .imgTitle.--right{right: 0; left: unset;}
#life02 .c-cirlist {gap: 0 20px;}
#life02 .c-cirlist li{min-width: calc(50% - 10px); width: fit-content;}
#life-experi02 .columnItems{position: relative; z-index: 0;}
#life-experi02 .columnItems .title{position: absolute; top: 0; left: 0; z-index: 1;}
#life-experi02 .columnItems .bdr_I_wh{padding: 40px 15px 20px;}
#life-experi02 .columnItems .img{position: relative;}
#life-experi02 .columnItems .img .imgTitle{position: absolute; bottom: 0; left: 0; padding: 2px 15px;}
#contactForm .application-formStep {display: flex; gap: 22px; justify-content: center; align-items: flex-start; margin: 0; padding: 0; list-style: none; overflow: hidden; padding-bottom: 30px;}
#contactForm .application-formStepItem {position: relative; width: 130px; text-align: center;}
#contactForm .application-formStepItem:last-child:after {content: ""; position: absolute; top: 49%; transform: translateY(-50%); right: 65px; width: 306px; height: 1px; background: #00A1E9; z-index: -1;}
#contactForm .application-formStepNum {display: block; font-size: 12px; font-weight: 600; color: #999;}
#contactForm .application-formStepTxt {display: block; font-size: 14px; font-weight: 600; color: #999;}
#contactForm .application-formStepCircle {display: block; width: 14px; height: 14px; border-radius: 50%; border: 1px solid #999999; background: #FFF; margin: 8px auto 6px;}
#contactForm .application-formStepItem.is-current .application-formStepCircle {border-color: #00A1E9; background: #00A1E9;}
#contactForm .application-formStepItem.is-current .application-formStepNum,
#contactForm .application-formStepItem.is-current .application-formStepTxt {color: #00A1E9;}
#contactForm .application-formPrivacy {overflow: hidden; border: 1px solid #999999;}
#contactForm  .inner{max-height: 150px; overflow: scroll;}
#contactForm .application-explane{border-bottom: 1px solid #00A1E9; padding-bottom: 30px;}

@media screen and (max-width: 896px) {
  .ttlCmn h2{margin-right: 10px; letter-spacing: 2px;}
  .ttlCmn.--pd80{padding-left: 10px;}
  section.c-lower_mv{height: 190px;}
  .c-lower_mv h1{font-size: 24px; padding: 12px;}
  .c-lower_mv .sub{font-size: 14px; padding: 8px 12px;}
  .c-lower_mv .breadcrumb ul{flex-wrap: wrap; gap: 4px 16px;}
  .c-lower_mv .breadcrumb li:not(:first-child)::after{left: -10px;}
  .c-lower_links ul{justify-content: center; gap: 10px;}
  .c-lower_links li{min-width: 150px;}
  .c-lower_links a{padding: 8px 16px 3px; font-size: 14px;}
  .c-sqrlist li::before{top: 9px; height: 6px; width: 6px;}
  .c-col2items .item .unit.img,.c-col2items .item .unit.text{width: 100%;}
  .bdr_I_wh{border: 1px solid #ffffff; padding: 14px 12px;}
  .collumnitems.bdrL{border-left: 1px solid #CCCCCC; border-right: 1px solid #CCCCCC;}
  .collumnitems .unit.w25,.collumnitems .unit.w33{width: 100%;}
  .collumnitems .unit.w33{padding-bottom: 30px;}
  .collumnitems .unit.w33:nth-child(3n-1),.collumnitems .unit.w33:nth-child(3n-2){border-right: unset;}
  .collumnitems .unit.bdrR{border-right: unset;}
  .classLinks{border-bottom: 2px solid #0DB299;}
  .collumnitems .subtitle{top: -45px; right: 0;}
  #about03 .imgs{display: flex; justify-content: space-between; padding-top: 10px;}
  #about03 .img:nth-child(1),#about03 .img:nth-child(2){position: relative; top: unset; right: unset; width: calc(50% - 10px); transform: translateX(0);}
  #about-access02 .address .txt18{width: 80px; }
  #about-access02 .address .txt16{width: calc(100% - 80px);}
  #about-access02 .imgs .abs{position: relative; top: unset; transform: translateY(0); left: unset; width: 100%; margin-bottom: 20px;}
  #about-access02 .imgs .rlt{width: 100%; max-height: unset;}
  #about-history02 .unit{flex-direction: column;}
  #about-history02 .year{margin-bottom: 10px;}
  #about-history02 .exp{height: auto; width: 100%; margin-left: 0;}
  #about-history02 .row{width: 100%; margin-left: 0;}
  #about-history02 .row .exp{padding: 6px 0; width: 100%;}
  #class-class02 .sqr_ttl{width: 80px;}
  #class-class02 .sqr_txt{width: calc(100% - 100px);}
  #class-progress .schedule_title .bgGR{height: 30px; }
  #life-experi02 .columnItems .bdr_I_wh{padding: 30px 0px 20px;}
  /* .sessionList .flex{flex-direction: column;} */
  .sessionList .ttl{width: 100%; background-color: #0DB299; color: #ffffff; display: flex; align-items: flex-start; justify-content: center; padding: 10px ;}
  .sessionList .cnt{width: calc(100%); padding: 10px 20px; border: 1px solid #0DB299;}
  .sessionList .date,.sessionList .name,.sessionList .name{width: 100%; flex-direction: column;}
  .sessionList .c-cirlist li{min-width: unset;}
  .sessionList .c-cirlist li::before{top: 12px;}
  .docList a{padding-left: 10px; padding-right: 50px;}
  .docList a .img{width: 24px; height: 24px; right: 15px;}
  .bdr_I_wh.--pdf::before{width: 24px; height: 24px;}
  .c-lower_links a{font-size: 14px; padding: 6px 12px 3px;}
  .c-bdrnumList li{padding-left: 34px;}
  .c-bdrnumList li .num{width: 24px; height: 24px;}
  .layoutBdBl .title{width: 100px; display: flex; padding: 18px 0; line-height: 1.7;}
  .layoutBdBl .content{width: calc(100% - 100px); }
  .layoutBdBl > .flex::before,.layoutBdBl > .flex::after{position: absolute; content: ""; bottom: -0; height: 2px;}
  .layoutBdBl > .flex::before{width: 110px;}
  .layoutBdBl > .flex::after{width: calc(100% - 110px);}
  .post-navigation .nav-links {flex-direction: column; gap: 20px;}
  .post-navigation .nav-next,.post-navigation .nav-next {}
  .post-navigation .nav-next {text-align: right;}
  ul.page-numbers{gap: 8px;}
  ul.page-numbers li a,ul.page-numbers li span{width: 30px; height: 30px; font-size: 16px;}
  .lower .theContent .wp-block-image{max-width: calc(100%);}
  

}
@media screen and (max-width: 568px) {
  section.c-lower_mv{padding-bottom: 10px;}
  .c-lower_mv h1{font-size: 16px;}
  .c-lower_mv .title{margin-bottom: 10px;}
  .c-lower_mv .breadcrumb li{line-height: 1; display: flex; align-items: baseline;}
  .c-lower_mv .breadcrumb a, .c-lower_mv .breadcrumb span{font-size: 10px;}
  .c-lower_links a{padding: 6px 3px 3px; font-size: 12px;}
  .plr20,.plr30{padding-left: 12px; padding-right: 12px;}
  .lower .bdr{border-right: 1px solid #CCCCCC; border-left: 1px solid #CCCCCC;}
  .lower .col3.bdrB:nth-child(2n-1):before{left: 0; width: calc(100vw - 30px); display: none;}
  .lower .col3.bdrB:nth-child(2n)::before{right: 0; width: calc(100vw - 30px); display: none;}
  .ttlCmn{padding-left: 5px; padding-bottom: 15px; }
  .ttlCmn h2{font-size: 20px;}
  .ttlCmn .EN{padding: 0 10px;}
  .ttlCmn_inner{flex-direction: column; align-items: flex-start; gap: 6px;}
  .half-10{width: 100%;}
  .lower section .pl40{padding-left: 12px; padding-right: 12px;}
  .lower .bdrL,.lower .bdrR{border-left: 1px solid #CCCCCC; border-right: 1px solid #CCCCCC;}
  .lower .bdrSp .box4:nth-child(2n){border-right: 1px solid #CCCCCC; border-left: unset;}
  .lower .bdrSp .box4:nth-child(2n-1){border-left: 1px solid #CCCCCC; border-right: unset;}
  .lower .bdrSp .box4{border-right: 1px solid #CCCCCC;}
  .lower .bdrPc .col2{border-left: 1px solid #CCCCCC; border-right: 1px solid #CCCCCC;}
  .collumnitems .unit.pt80{padding-top: 70px;}
  .collumnitems .title{top: -20px;}
  .collumnitems .subtitle{top: -65px; right: unset; left: 50%; transform: translate(-50%); width: 100%;}
  .collumnitems .unit.w33:nth-child(3n-1),.collumnitems .unit.w33:nth-child(3n-2),.collumnitems .unit.w33:nth-child(3n){border-right:unset;  border-left: unset; border-bottom: unset;}
  .classLinks a{font-size: 12px; padding: 6px ;}
  #examinfo-entry02 ul.flow li{font-size: 12px; padding: 5px;}
  /* .lower .bdrSp .box4,
  /* .lower .bdrSp .col2,
  .lower .bdrSp .col3,
  .lower .bdrSp .col4,
  .lower .bdrSp .col5{border-right: 1px solid #CCCCCC; border-left: 1px solid #CCCCCC;} */
  #top03 .ttlCmn.--pd80.mb30{margin-bottom: 0;}
  #life-experi02 .columnItems .c-cirlist{display: flex; flex-wrap: wrap; gap: 10px 20px;}
  #class-curriculum .curriculumList .mlr20{margin-right: 0; margin-left: 0; padding-right: 0; padding-left: 0;}

}

/* ===========================================================
   横スクロール防止 (2026-06-29 追加)
   原因: page-top.php の Slick 初期化前 FOUC / .w1500 溢れ
   Issue: viewport 幅超過の horizontal scroll が本番で発生
   =========================================================== */
html,
body {
  overflow-x: hidden;
  position: relative;
  width: 100%;
}

.w1500 {
  max-width: 100%;
  overflow: hidden;
}

#topMvSlider,
#topMvSliderSP,
#topBottomSlider,
#pageSlider {
  overflow: hidden;
}

/* Slick 初期化前は1枚目だけ表示 (FOUC 防止) */
#topMvSlider:not(.slick-initialized) > li:nth-child(n+2),
#topMvSliderSP:not(.slick-initialized) > li:nth-child(n+2),
#topBottomSlider:not(.slick-initialized) > li:nth-child(n+2),
#pageSlider:not(.slick-initialized) > li:nth-child(n+2) {
  display: none;
}

.slick-list {
  overflow: hidden !important;
}

#top07 .imgs {
  overflow: hidden;
  width: 100%;
}

/* ===========================================================
   ヘッダー dropdown hover-bridge (2026-06-29 追加)
   問題: .menu → .child_menu 間の 42px ギャップで :hover が外れる
   解決: .menu::after を透明な hover area として 42px 分配置
   =========================================================== */
@media screen and (min-width: 769px) {
  #header .menu::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    height: 42px;
    display: block;
    pointer-events: auto;
  }

  /* ドロップダウン自身にホバー中も表示維持（保険） */
  #header .child_menu:hover {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
  }
}
