@charset "utf-8";

:root{
  --main-color:#00568c;
  --course01-color:#00a397;
  --course02-color:#00aac9;
  --course03-color:#F59500;
  --course04-color:#a47f99;
  --course05-color:#eb8780;
  --base-color:#111;
  --link-color:#1170a4;
}
header{
  position:relative; z-index:100;
  width:100%;
}
#header-inner{
  box-sizing:border-box;
  width:100%; height:90px;
  padding:0 20px;
  background:rgba(255,255,255,0.7);
}
#header-inner #logo{
  width:320px;
  position:relative; top:15px;
}
#header-inner #header-nav{
  position:absolute;
  top:15px; right:20px;
  text-align:right;
}
#header-nav > ul{
  display:flex;
  justify-content:flex-end;
  margin-bottom:15px;
}
#header-nav > ul > li{
  font-size:13px; line-height:1; font-weight:bold;
  color:#00283c;
}
#header-nav > ul > li:not(:last-child)::after{
  content:" / ";
}
#header-nav > ul > li > a{
  text-decoration:none;
  color:#00283c;
  margin:0 5px;
}
#header-nav > ul > li > a:hover{
  text-decoration:underline;
}
.header-items{
  display:flex;
  justify-content:flex-end;
  align-items:center;
}
#header-nav .button{
  width:148px; height:38px;
  margin-left:10px;
}
#header-nav .button.admissions-event,
#header-nav .button.web-application,
#header-nav .button.contact{
  width:auto;
}
#header-nav .button a{
  display:block;
  text-decoration:none;
  font-size:14px; line-height:1; font-weight:bold;
  color:#FFF;
  text-align:center;
  background:#be982c;
  padding:8px 0px 11px;
  border-radius:3px;
}
#header-nav .button a::before{
  display:inline-block;
  content:"";
  width:16px; height:16px;
  background-image:url(../../img/svg/icon_document.svg);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  position:relative; top:3px;
  margin-right:5px;
}
#header-search{
  display:block;
  cursor:pointer;
  width:36px; height:36px;
  background:#888;
  background:rgba(0,0,0,0.2);
  border-radius:3px;
  transition:0.2s ease-in;
  position:relative;
  overflow:hidden;
}
#header-search.active{
  width:240px;
  transition:0.2s ease-in;
}
#header-search img{
  width:18px; height:18px;
  position:absolute;
  top:50%; right:10px;
  transform:translateY(-50%);
  transition:0.2s ease-in;
}
#header-search.active img{
  display:none;
  transition:0.2s ease-in;
}
#header-search .search-form{
  opacity:0;
  transition:0.2s ease-in;
  width:200px;
  margin:0 auto;
  position:relative; z-index:10;
}
#header-search.active .search-form{
  opacity:1;
  transition:0.2s ease-in;
  transition-delay:0.4s;
}
#header-search .search-form input[type="text"]{
  background:transparent !important;
  border:none !important;
  width:100% !important;
  height:38px !important;
  color:#FFF;
}
#header-search .search-form input[type="text"]::placeholder{
  color:rgba(255,255,255,0.9);
}
#header-search .search-form input[type="image"]{
  width:18px; height:18px;
  position:absolute;
  top:10px; right:-10px;
  outline:none;
}
ul.header-button{
  display:flex;
  align-items:center;
}
ul.header-button li{
  margin-left:5px;
}
ul.header-button li a{
  display:block;
  text-decoration:none;
  font-size:13px; line-height:36px; font-weight:bold;
  color:#FFF;
  text-align:center;
  background:#be982c;
  padding:0 1.5em;
  border-radius:3px;
}
ul.header-button li.admissions-event a{
  background:#A8497A;
}
ul.header-button li.web-application a{
  background:#3e9c7e;
}
ul.header-button li a::before{
  display:inline-block;
  content:"";
  width:15px; height:auto;
  aspect-ratio:1/1;
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  position:relative; top:3px;
  margin-right:5px;
}
ul.header-button li.contact a::before{
  background-image:url(../../img/svg/icon_document.svg);
}
ul.header-button li.admissions-event a::before{
  background-image:url(../../img/svg/icon_admission_event.svg);
}
ul.header-button li.web-application a::before{
  width:17px; top:4px;
  background-image:url(../../img/svg/icon_application.svg);
}

nav#global-nav{
  box-sizing:border-box;
  width:100%;
  padding:0 95px 0 20px;
  padding:0 60px 0 20px;
  background:#1e2d5a;
  background:var(--main-color);
  text-align:right;
  position:relative; z-index:1002;
//  position:sticky; top:0; z-index:1002;
}
nav#global-nav .no-gnav,
nav#global-nav .drawer-caret{display:none;}
nav#global-nav > ul{
  display:flex;
  justify-content:flex-end;
  transition:1s ease-in;
}
.drawer-open nav#global-nav > ul{
  display:none;
  transition:1s ease-in;
}
nav#global-nav > ul > li{
  font-size:15px; line-height:50px; font-weight:bold;
  margin-left:3em;
  position:relative;
  color:#fff;
  cursor: pointer;
}
nav#global-nav > ul > li > a{
  display:block;
  text-decoration:none;
  color:#FFF;
}
/*
nav#global-nav #hamburger{
  position:absolute;
  top:0; right:15px;
}
*/
nav#global-nav > ul > li > ul{
	visibility:hidden;
	opacity:0;
	transition:0.4s;
  display:none;
  width:auto !important;
  min-width:inherit;
  position:absolute;
  top:50px; left:50%;
  transform:translateX(-50%);
  text-align:left;
}
nav#global-nav > ul > li:hover > ul{
	visibility:visible;
	opacity:1;
  display:block;
}
nav#global-nav > ul > li > ul > li{
  position:relative;
}
nav#global-nav > ul > li > ul > li > a{
  text-decoration:none;
	visibility:hidden;
	opacity:0;
	transition:0.4s;
  display:block;
  white-space:nowrap;
  background:rgba(0,86,140,0.8);
  font-size:14px; line-height:42px;
  color:#FFF;
  padding:0 2em;
}
nav#global-nav > ul > li > ul > li.sub a{
  padding-left:3.2em;
}
nav#global-nav > ul > li > ul > li.sub a::before{
  content:"・";
  position:absolute;
  top:0; left:2.1em;
}
nav#global-nav > ul > li:hover > ul > li > a{
	visibility:visible;
	opacity:1;
}
nav#global-nav > ul > li > ul > li > a:hover{
  background:rgba(0,86,140,1);
}

nav.drawer-nav{
  position:fixed;
  z-index:1001;
  top:0;
  box-sizing:border-box;
  width:100%;
  height:100%;
  padding:0% 10%;
  background:rgba(0,86,140,0.95);
}
nav.drawer-nav .nav-box{
  width:50%;
  text-align:left;
  padding-top:50px;
  padding-left:50%;
}
nav.drawer-nav ul.drawer-menu{
  padding-bottom:30px;
//  margin-bottom:25px;
}
nav.drawer-nav ul.drawer-menu > li{
	font-size:1.2vw; line-height:2; font-weight:normal;
	padding:20px 0;
}
nav.drawer-nav ul.drawer-menu li > a{
	display:block;
	text-decoration:none;
	color:#FFF;
  border-bottom:1px solid #FFF;
}
nav.drawer-nav ul.drawer-menu > li > ul > li{
  list-style:disc outside;
  font-size:1.1vw; line-height:2; font-weight:normal;
  color:#FFF;
  padding:10px 0 0 0;
  margin-left:22px;
}
nav.drawer-nav ul.drawer-menu > li > ul > li.sub{
  list-style:none;
  margin-left:38px;
}
nav.drawer-nav ul.drawer-menu li ul li > a{
  border-bottom:none;
}
nav.drawer-nav ul.drawer-menu li ul li > a:hover{
  text-decoration:underline;
}
.nav-box ul.drawer-menu li.search{
  list-style:none;
  margin:0;
  position:relative;
}
.nav-box ul.drawer-menu li.search input[type="text"]{
  background:#FFF !important;
  border:none !important;
  width:100% !important;
  height:38px !important;
  border-radius:3px;
  color:#333;
}
.nav-box ul.drawer-menu li.search input[type="image"]{
  width:18px; height:18px;
  position:absolute;
  top:50%; right:15px;
  transform:translateY(-50%);
  outline:none;
}


.nav-box ul.other-menu{
  width:100%;
  display:flex;
  flex-wrap:wrap;
}
.nav-box ul.other-menu li{
  box-sizing:border-box;
  width:calc(50% - 20px);
  list-style:disc outside;
  font-size:1.1vw; line-height:2;
  color:#FFF;
  margin:0 0 15px 20px;
}
.nav-box ul.other-menu li a{
  color:#FFF;
}
#index-billboard{
  width:100%;
//  max-height:960px !important;
  background-image:url(../../img/index/2025/billboard.jpg);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:cover;
  position:relative;
  position:fixed;
  top:0; left:0;
}
#index-billboard h1{
  width:50%;
  position:absolute;
  bottom:20%; left:5%;
}

#index-container{
  width:100%;
  width:calc(100% - 68px);
  background:#FFF;
  position:relative;
}

#index-introduction{
  width:100%;
  padding:80px 0;
  padding-bottom:calc(80px + 60px);
  text-align:center;
//  border-bottom:1px solid #999;
}
#index-introduction #logo{
  width:620px;
  margin:0 auto 40px;
}
#index-introduction #copy{
  font-size:28px; line-height:1.6; font-weight:bold;
  letter-spacing:0.15em;
}

#index-topics{
  width:100%;
  padding:80px 0;
  padding:100px 0 80px;
  text-align:center;
  background:#e5f2f7;
  position:relative;
}
#index-topics .title-box{
  box-sizing:border-box;
  width:50%;
  position:absolute;
  top:-60px; right:0;
//  background:var(--main-color);
  padding:30px 0 100px 40px;
}
#index-topics .index-topics{
  margin:0 auto;
//  display:flex;
//  justify-content:space-between;
  position:relative; z-index:2;
}
#index-topics .index-topics .topic{
  width:364px;
  margin:0 12px;
}
#index-topics .index-topics .topic a{
  display:block;
  text-decoration:none;
  background:#FFF;
  transition:0.3s;
}
#index-topics .index-topics .topic a:hover{
  background:var(--main-color);
  color:#FFF;
  transition:0.3s;
}
#index-topics .index-topics .topic a figure{
  width:100%; height:250px;
  overflow:hidden;
  background-repeat:no-repeat;
  background-position:center center;
  background-size:cover;
}
#index-topics .index-topics .topic a .text-box{
  font-size:17px; line-height:1.8; font-weight:bold;
  padding:14px 0;
}

.slick-container{
  position:relative;
}
.slick-container .slick-prev,
.slick-container .slick-next{
	width:20px; height:20px;
}
.slick-container .slick-prev::before,
.slick-container .slick-next::before{
	content:"";
}
.slick-container .slick-prev,
.slick-container .slick-next{
	z-index:3;
}
.slick-container .slick-prev{left:20px;}
.slick-container .slick-next{right:20px;}
.slick-container .slick-arrow{z-index:10;}
.slick-container ul.slick-dots{
  bottom:-30px;
}
.slick-container ul.slick-dots li{
  width:20px; height:20px;
	margin:0;
}

.index-contents .title-box h2{
  font-size:16px; line-height:1.8;
  color:#FFF;
  text-align:left;
  padding-left:44px;
  position:relative;
}
.index-contents .title-box h2 .eng{
  text-transform:uppercase;
  font-size:40px; line-height:1.4; font-weight:500;
  letter-spacing:0.1em;
}
.index-contents .title-box h2::before{
  content:"";
  width:24px;
  border-top:4px solid #FFF;
  position:absolute;
  top:26px; left:0;
}
.index-contents .title-box p{
  text-align:left;
  padding-left:44px;
  margin-top:25px;
  color:#FFF;
  position:relative;
}

#index-news{
  width:100%;
  padding:80px 0 120px;
  text-align:center;
}
#index-news #index-news-inner{
  width:1146px;
  margin:0 auto;
  display:flex;
  justify-content:space-between;
}
#index-news.index-contents .title-box h2{
  color:var(--main-color);
}
#index-news.index-contents .title-box h2::before{
  border-color:var(--main-color);
}
#index-news .title-box{
//  width:180px;
  margin-right:70px;
}
#index-news .title-box .button{
  width:100%;
  margin:40px auto 0;
}
#index-news .title-box .button a span{
  position:relative;
  z-index:10;
}
#index-news .title-box .button a{
  display:block;
  text-decoration:none;
  font-size:13px; line-height:1.6; font-weight:bold;
  border:1px solid var(--main-color);
  padding:8px 0 6px 0;
  position:relative;
  transition:0.2s ease-in-out;
}
#index-news .title-box .button a:hover{
  color:#FFF;
  transition:0.2s ease-in-out;
}
#index-news .title-box .button a::before{
  content:"";
  width:0%; height:100%;
  position:absolute;
  top:0; left:0;
  background:var(--main-color);
  transition:0.2s ease-in-out;
}
#index-news .title-box .button a:hover::before{
  width:100%;
  transition:0.2s ease-in-out;
}
#index-news .title-box .button a::after{
  content:"";
  border-left:5px solid var(--main-color);
  border-top:5px solid transparent;
  border-bottom:5px solid transparent;
  position:absolute;
  top:50%; right:12px;
  transform:translateY(-50%);
  transition:0.2s ease-in-out;
}
#index-news .title-box .button a:hover::after{
  border-left-color:#fff;
  transition:0.2s ease-in-out;
}
#index-news .news-container{
  flex:1;
  text-align:left;
}
.news-container ul.news-menu{
  display:flex;
  justify-content:space-between;
  margin-bottom:30px;
}
.news-container ul.news-menu li{
  width:15.6%;
  background:#ebebeb;
  font-size:14px; line-height:2.4; font-weight:bold;
  text-align:center;
  position:relative;
  cursor:pointer;
}
.news-container ul.news-menu li.active{
  background:#1e2d5a;
  color:#FFF;
}
.news-container ul.news-menu li.active::after{
  content:"";
  border-top:10px solid #1e2d5a;
  border-left:10px solid transparent;
  border-right:10px solid transparent;
  position:absolute;
  bottom:-10px; left:50%;
  margin-left:-10px;
}
.news-container .tab-contents{
  display:none;
}
.news-container .tab-contents.active{
  display:block;
}
ul.index-news-list li{
  padding-bottom:20px;
  margin-bottom:20px;
  border-bottom:1px dashed #999;
}
ul.index-news-list li a{
  display:block;
  text-decoration:none;
  color:#333;
  padding-left:240px;
  position:relative;
}
ul.index-news-list li a .entry-date{
  font-size:14px; line-height:1.8;
  position:absolute;
  top:5px; left:0;
}
ul.index-news-list li a .category{
  width:100px;
  font-size:12px; line-height:1;
  text-align:center;
  padding:4px 0 6px;
  border:1px solid #ccc;
  position:absolute;
  top:4px; left:110px;
}
ul.index-news-list li a .entry-title{
  font-weight:bold;
  color:#1170a4;
}
ul.index-news-list li a:hover .entry-title{
  text-decoration:underline;
}

ul.topics-list li{
  padding-bottom:20px;
  margin-bottom:20px;
  border-bottom:1px dashed #999;
}
ul.topics-list li a{
  display:block;
  text-decoration:none;
  color:#333;
  padding-left:120px;
  position:relative;
}
ul.topics-list li a .entry-date{
  font-size:14px; line-height:1.8;
  position:absolute;
  top:5px; left:0;
}
ul.topics-list li a .entry-title{
  font-weight:bold;
  color:#1170a4;
}
ul.topics-list li a:hover .entry-title{
  text-decoration:underline;
}
p.topics-more{
  font-size:14px; line-height:1.6; font-weight:bold;
  text-align:right;
}
p.topics-more a{
  padding-right:12px;
  position:relative;
  transition:0.2s ease-in-out;
}
p.topics-more a:hover{
  text-decoration:underline;
  transition:0.2s ease-in-out;
}
p.topics-more a::after{
  content:"";
  border-left:5px solid #1170a4;
  border-top:5px solid transparent;
  border-bottom:5px solid transparent;
  position:absolute;
  top:50%; right:0;
  transform:translateY(-50%);
  transition:0.2s ease-in-out;
}

#index-education{
  width:100%;
  padding:80px 0;
  padding:160px 0 80px;
  text-align:center;
  background:#e5f2f7;
  position:relative;
}
#index-education .title-box{
  box-sizing:border-box;
  width:50%;
  position:absolute;
  top:-60px; left:0;
//  background:var(--main-color);
  padding:30px 0 100px 40px;
}
#index-education ul.index-education-list{
  width:1146px;
  margin:0 auto;
  display:flex;
  justify-content:space-between;
  position:relative; z-index:2;
}
#index-education ul.index-education-list li{
  width:365px;
}
#index-education ul.index-education-list li a{
  display:block;
  text-decoration:none;
  background:#FFF;
  color:var(--base-color);
  transition:0.3s;
}
#index-education ul.index-education-list li a:hover{
  background:var(--main-color);
  color:#FFF;
  transition:0.3s;
}
#index-education ul.index-education-list li a .text-box{
  font-size:17px; line-height:1.8; font-weight:bold;
  padding:14px 0;
}

#index-course{
  width:100%;
  /*padding:80px 0;*/
   padding:80px 0 80px;
  text-align:center;
  background:#fff;
  position:relative;
}
#index-course .title-box{
  box-sizing:border-box;
  width:50%;
//  background:var(--main-color);
  margin:0 0 0 auto;
  padding:30px 0 30px 40px;
}
#index-course figure.index-education-map{
  width:1146px;
  margin:40px auto;
}
ul.index-course-list{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
}
ul.index-course-list li{
  width:calc(50% - 1px);
  margin-bottom:2px;
}
ul.index-course-list li.course01{
  background-color:var(--course01-color);
}
ul.index-course-list li.course02{
  background-color:var(--course02-color);
}
ul.index-course-list li.course03-1,
ul.index-course-list li.course03-2,
ul.index-course-list li.course03-3,
ul.index-course-list li.course03-4{
  background-color:var(--course03-color);
}
ul.index-course-list li.course04{
  background-color:var(--course04-color);
}
ul.index-course-list li.course05{
  background-color:var(--course05-color);
}
ul.index-course-list li a{
  display:block;
  text-decoration:none;
  color:#FFF;
}
ul.index-course-list li figure{
  width:100%; height:420px;
  background-repeat:no-repeat;
  background-position:center center;
  background-size:cover;
  background-size:118% auto;
  transition:0.2s ease-in;
}
ul.index-course-list li a:hover figure{
  background-size:125% auto;
  transition:0.2s ease-in;
}
ul.index-course-list li.course01 figure{
  background-image:url(../../img/index/2025/course01.jpg);
}
/*ul.index-course-list li.course02 figure{
  background-image:url(../../img/index/2023/course02.jpg);
}*/
ul.index-course-list li.course03-1 figure{
  background-image:url(../../img/index/2025/course03.jpg);
}
ul.index-course-list li.course03-2 figure{
  background-image:url(../../img/index/2025/course03-2.jpg);
}
ul.index-course-list li.course03-3 figure{
  background-image:url(../../img/index/2025/course03-3.jpg);
}
ul.index-course-list li.course03-4 figure{
  background-image:url(../../img/index/2025/course04.jpg);
}
ul.index-course-list li.course05 figure{
  background-image:url(../../img/index/2025/course05.jpg);
}
ul.index-course-list li .text-box{
  text-align:left;
  margin:40px 40px 40px 0px;
  padding-left:140px;
  position: relative;
}
ul.index-course-list li:nth-child(even) .text-box{
  background-position:right 30px center;
  margin:40px 0px 40px 40px;
  padding-left:0;
  padding-right:140px;
}
ul.index-course-list li .text-box::before{
  content: '';
  aspect-ratio: 1/1;
  background-repeat: no-repeat;
  background-size:contain;
  width:80px; height:auto;
  position: absolute;
  top:0; 

}
ul.index-course-list li.course01 .text-box::before{
  background-image:url(../../img/index/icon_course01.png);
  left:30px;
}
/*ul.index-course-list li.course02 .text-box::before{
  background-image:url(../../img/index/icon_course02.png);
}*/
ul.index-course-list li.course03-1 .text-box::before{
  background-image:url(../../img/index/icon_course03-1.png);
  right:30px;

}
ul.index-course-list li.course03-2 .text-box::before{
  background-image:url(../../img/index/icon_course03-2.png);
  left:30px;
}
ul.index-course-list li.course03-3 .text-box::before{
  background-image:url(../../img/index/icon_course03-3.png);
  right:30px;
}
ul.index-course-list li.course03-4 .text-box::before{
  background-image:url(../../img/index/icon_course04.png);
  left:30px;
}
ul.index-course-list li.course05 .text-box::before{
  background-image:url(../../img/index/icon_course05.png);
  right:30px;
}
ul.index-course-list li .text-box h3{
  font-size:20px; line-height:1.8;
  border-bottom:1px solid #FFF;
  margin-bottom:10px;
  position:relative;
}
ul.index-course-list li .text-box h3 span{
  display:inline-block;
  font-size:16px;
  margin-right:1.5em;
}
ul.index-course-list li .text-box h3 .more{
  position:absolute;
  bottom:2px; right:0;
  font-size:14px; line-height:1.8; font-weight:normal;
  padding-right:10px;
}
ul.index-course-list li .text-box h3 .more::after{
  content:"";
  border-left:5px solid #FFF;
  border-top:5px solid transparent;
  border-bottom:5px solid transparent;
  position:absolute;
  top:50%; right:0;
  margin-top:-5px;
}
ul.index-course-list li .text-box p{
  font-size:15px; line-height:1.8;
}
ul.index-course-list li.course-outline{
  text-align:left;
  box-sizing:border-box;
  padding:40px 40px 0;
  position:relative;
  height:450px;
  width:82%;
  margin:0 auto;
}
ul.index-course-list li.course-outline::after{
  content:"";
  /*width:76%; height:76%;*/
  width:65%; height:100%;
  background-image:url(../../img/index/uniform.png);
  background-repeat:no-repeat;
  background-position:right 55px bottom;
  background-size:contain;
  position:absolute;
  bottom:0; right:0;
  transform: translateY(20px);
}
ul.index-course-list li.course-outline .outline-text{
  font-family:"Roboto", sans-serif;
  /*font-size:4.5vw;*/
  font-size:5.2vw; line-height:1.3; font-weight:700;
  color:rgba(0,0,0,0.15);
  letter-spacing:0.1em;
  text-transform:uppercase;
}
ul.index-course-list li.course-outline .button{
  width:36%;
  position:absolute;
  /*bottom:10px;*/
  bottom:0px; left:40px; z-index:2;

}
ul.index-course-list li.course-outline .button a{
  display:block;
  text-decoration:none;
  font-size:16px; line-height:1.8; font-weight:bold;
  color:#666;
  text-align:center;
  padding:14px 0 16px;
  border:1px solid #666;
  position:relative;
  transition:0.2s ease-in-out;
}
ul.index-course-list li.course-outline .button a:hover{
  color:#fff;
  transition:0.2s ease-in-out;
}
ul.index-course-list li.course-outline .button a::before{
  content:"";
  width:0%; height:100%;
  background:#666;
  position:absolute;
  top:0; left:0;
  transition:0.2s ease-in-out;
}
ul.index-course-list li.course-outline .button a:hover::before{
  width:100%;
  transition:0.2s ease-in-out;
}
ul.index-course-list li.course-outline .button a::after{
  content:"";
  border-left:8px solid #666;
  border-top:6px solid transparent;
  border-bottom:6px solid transparent;
  position:absolute;
  top:50%; right:15px;
  transform:translateY(-50%);
  transition:0.2s ease-in-out;
}
ul.index-course-list li.course-outline .button a:hover::after{
  border-left-color:#fff;
  transition:0.2s ease-in-out;
}
ul.index-course-list li.course-outline .button a span{
  position:relative;
}

#index-schoollife{
  width:100%;
  position:relative;
  padding-bottom:60px;
}
#index-schoollife::before{
  content:"";
  width:50%; height:50%;
  background:#ececec;
  position:absolute;
  top:0; right:0;
}
#index-schoollife::after{
  content:"";
  width:50%; height:50%;
  background:#ececec;
  position:absolute;
  bottom:0; left:0;
}
#index-schoollife .title-box{
  box-sizing:border-box;
  width:50%;
  margin:0 0 0 auto;
  padding:30px 0 30px 40px;
}
#index-schoollife .title-box h2{
  color:var(--main-color);
}
#index-schoollife .title-box h2::before{
  border-color:var(--main-color);
}
#index-schoollife .title-box p{
  color:var(--base-color);
}
ul.index-schoollife-list{
  position:relative; z-index:2;
}
ul.index-schoollife-list li{
  width:90%;
  position:relative;
  margin:0 auto 30px 0;
}
ul.index-schoollife-list li:nth-child(even){
  margin:0 0 30px auto;
}
ul.index-schoollife-list li:first-child{
  margin-bottom:60px;
}
ul.index-schoollife-list li figure{
  width:85%; height:380px;
  background-repeat:no-repeat;
  background-position:center center;
  background-size:cover;
  margin:0 auto 0 0;
  position:relative;
}
ul.index-schoollife-list li:nth-child(even) figure{
  margin:0 0 0 auto;
}
ul.index-schoollife-list li:nth-child(1) figure{
  background-image:url(../../img/index/school_life01.jpg);
}
ul.index-schoollife-list li:nth-child(2) figure{
  background-image:url(../../img/index/2025/school_life02.jpg);
}
ul.index-schoollife-list li:nth-child(3) figure{
  background-image:url(../../img/index/2025/school_life03.jpg);
}
ul.index-schoollife-list li:nth-child(4) figure{
  background-image:url(../../img/index/2025/school_life04.jpg);
}
ul.index-schoollife-list li figure::after{
  content:"";
  width:100%; height:100%;
  background:rgba(0,0,0,0.3);
  position:absolute;
  top:0; left:0;
}

ul.index-schoollife-list li h3{
  width:85%;
  font-size:28px; line-height:1.8; font-weight:normal;
  color:#FFF;
  border-bottom:1px solid #FFF;
  position:absolute;
  z-index:2;
}
ul.index-schoollife-list li:nth-child(odd) h3{
  text-align:left;
}
ul.index-schoollife-list li:nth-child(even) h3{
  text-align:right;
}
ul.index-schoollife-list li:nth-child(1) h3{
  bottom:70px; right:20px;
}
ul.index-schoollife-list li:nth-child(2) h3{
  top:110px; left:20px;
}
ul.index-schoollife-list li:nth-child(3) h3{
  top:110px; right:20px;
}
ul.index-schoollife-list li:nth-child(4) h3{
  bottom:70px; left:20px;
}
ul.index-schoollife-list li .button{
  width:300px; height:150px;
  width:20%;
  background:var(--main-color);
  background:rgba(0,86,140,0.9);
  position:absolute;
}
ul.index-schoollife-list li:nth-child(1) .button{
  bottom:-30px; right:0;
}
ul.index-schoollife-list li:nth-child(2) .button{
  top:50%; left:0;
  margin-top:-75px;
}
ul.index-schoollife-list li:nth-child(3) .button{
  top:50%; right:0;
  margin-top:-75px;
}
ul.index-schoollife-list li:nth-child(4) .button{
  bottom:-30px; left:0;
}
ul.index-schoollife-list li .button a{
  display:block;
  text-decoration:none;
  font-size:22px; line-height:1; font-weight:bold;
  letter-spacing:0.4em;
  color:#FFF;
  text-align:right;
  position:absolute;
  bottom:20px;
}
ul.index-schoollife-list li .button a:hover{
  text-decoration:underline;
}
ul.index-schoollife-list li:nth-child(odd) .button a{
  right:20px;
}
ul.index-schoollife-list li:nth-child(even) .button a{
  left:20px;
}
ul.index-schoollife-list li .button a::after{
  content:"";
  display:inline-block;
  border-left:6px solid #FFF;
  border-top:6px solid transparent;
  border-bottom:6px solid transparent;
  position:relative; top:-2px;
  margin-left:10px;
}

footer{
  width:100%;
  width:calc(100% - 68px);
  background:#FFF;
  position:relative;
}

ul.footer-contents-list{
  width:92%;
  margin:0 auto;
  display:flex;
  justify-content:space-between;
}
footer#index-footer ul.footer-contents-list{
  width:100%;
  margin:0;
}
ul.footer-contents-list li{
  width:33.33333%;
  height:240px;
  background-repeat:no-repeat;
  background-position:center center;
  background-size:cover;
  position:relative;
}

footer#index-footer ul.footer-contents-list li{
  height:460px;
  background-position:center center;
}

ul.footer-contents-list li.pamphlet{
  background-image:url(../../img/index/banner_bg01.jpg);
  background-position:center top -50px;
}
ul.footer-contents-list li.grad-shop{
  background-image:url(../../img/index/banner_bg02.jpg);
}
ul.footer-contents-list li.contact{
  background-image:url(../../img/index/banner_bg03.jpg);
}
ul.footer-contents-list li.admissions{
  background-image:url(../../img/index/banner_bg06.jpg);
}
ul.footer-contents-list li a{
  display:block;
  box-sizing:border-box;
  width:calc(100% - 20px); height:calc(100% - 20px);
  border:1px solid #FFF;
  position:absolute;
  top:10px; left:10px;
  background-color:rgba(0,0,0,0);
  transition:0.3s;
}
footer#index-footer ul.footer-contents-list li a{
  width:calc(100% - 40px); height:calc(100% - 40px);
  top:20px; left:20px;
}
ul.footer-contents-list li a:hover{
  background-color:rgba(0,0,0,0.6);
  border:none;
  width:100% !important; height:100% !important;
  top:0 !important; left:0 !important;
  transition:0.3s;
}
ul.footer-contents-list li a .contents-inner{
  position:absolute;
  top:50%; left:0;
  transform:translateY(-50%);
  width:100%;
  text-align:center;
  color:#FFF;
}
ul.footer-contents-list li a h3{
  font-size:22px; line-height:1.8;
}
#index-footer ul.footer-contents-list li a h3{
  font-size:28px; line-height:1.8;
}
ul.footer-contents-list li a h3::before{
  content:"";
  display:inline-block;
  width:30px; height:30px;
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  position:relative; top:7px; left:-10px;
}
#index-footer ul.footer-contents-list li a h3::before{
  width:36px; height:36px;
}
ul.footer-contents-list li.pamphlet a h3::before{
  background-image:url(../../img/svg/icon_pamphlet.svg);
}
ul.footer-contents-list li.grad-shop a h3::before{
  width:40px; height:40px;
  background-image:url(../../img/svg/icon_food.svg);
  top:12px;
}
#index-footer ul.footer-contents-list li.grad-shop a h3::before{
  width:46px; height:46px;
}
ul.footer-contents-list li.contact a h3::before{
  background-image:url(../../img/svg/icon_document.svg);
}
ul.footer-contents-list li.admissions a h3::before{
  background-image:url(../../img/svg/icon_admissions.svg);
}
ul.footer-contents-list li a p{
  display:none;
}
#index-footer ul.footer-contents-list li a p{
  display:block;
  font-size:18px; line-height:1.8; font-weight:bold;
}
ul.footer-contents-list li a .button{
  display:inline-block;
  width:240px; height:34px;
  margin:15px auto 0;
  background:#FFF;
  border-radius:17px;
  font-size:15px; line-height:35px; font-weight:bold;
  color:var(--base-color);
  position:relative;
  transition:0.3s;
}
ul.footer-contents-list li a:hover .button{
  background:var(--main-color);
  color:#FFF;
  transition:0.3s;
}
ul.footer-contents-list li a .button::after{
  content:"";
  border-left:6px solid var(--base-color);
  border-top:6px solid transparent;
  border-bottom:6px solid transparent;
  position:absolute;
  top:50%; right:20px;
  transform:translateY(-50%);
  transition:0.3s;
}
ul.footer-contents-list li a:hover .button::after{
  border-left-color:#fff;
  transition:0.3s;
}


ul.footer-banner-list{
  width:92%;
  margin:0 auto;
  display:flex;
  justify-content:space-between;
}
footer#index-footer ul.footer-banner-list{
  width:100%;
  margin:0;
}
ul.footer-banner-list li{
  width:25%; height:auto;
  aspect-ratio:3/2;
  background-repeat:no-repeat;
  background-position:center center;
  background-size:cover;
  position:relative;
}

footer#index-footer ul.footer-banner-list li{
  aspect-ratio:1/0.8;
  background-position:center center;
}

ul.footer-banner-list li.pamphlet{
  background-image:url(../../img/pamphlet/2025/cover.jpg);
  background-size:200%;
  background-position:center top -290px !important;
}
ul.footer-banner-list li.grad-shop{
  background-image:url(../../img/index/banner_bg02.jpg);
}
ul.footer-banner-list li.contact{
  background-image:url(../../img/index/banner_bg03.jpg);
}
ul.footer-banner-list li.admissions{
  background-image:url(../../img/index/banner_bg06.jpg);
}
ul.footer-banner-list li a{
  display:block;
  box-sizing:border-box;
  width:calc(100% - 20px); height:calc(100% - 20px);
  border:1px solid #FFF;
  position:absolute;
  top:10px; left:10px;
  background-color:rgba(0,0,0,0);
  transition:0.3s;
}
footer#index-footer ul.footer-banner-list li a{
  width:calc(100% - 30px); height:calc(100% - 30px);
  top:15px; left:15px;
}
ul.footer-banner-list li a:hover{
  background-color:rgba(0,0,0,0.6);
  border:none;
  width:100% !important; height:100% !important;
  top:0 !important; left:0 !important;
  transition:0.3s;
}
ul.footer-banner-list li a .contents-inner{
  position:absolute;
  top:50%; left:0;
  transform:translateY(-50%);
  width:100%;
  text-align:center;
  color:#FFF;
}
ul.footer-banner-list li a h3{
  font-size:1.2em; line-height:1.6;
}
#index-footer ul.footer-banner-list li a h3{
  font-size:1.3em; line-height:1.8;
  text-shadow: 0 0 5px #222;
}
ul.footer-banner-list li a h3::before{
  content:"";
  display:block;
  width:1.4em; height:auto;
  aspect-ratio:1/1;
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  margin:0 auto 0.1em;
}
ul.footer-banner-list li.pamphlet a h3::before{
  background-image:url(../../img/svg/icon_pamphlet.svg);
}
ul.footer-banner-list li.grad-shop a h3::before{
  background-image:url(../../img/svg/icon_shop.svg);
}
ul.footer-banner-list li.contact a h3::before{
  background-image:url(../../img/svg/icon_document.svg);
}
ul.footer-banner-list li.admissions a h3::before{
  background-image:url(../../img/svg/icon_admissions.svg);
}
ul.footer-banner-list li a p{
  display:none;
  text-shadow: 0 0 5px #222;
}
#index-footer ul.footer-banner-list li a p{
  display:block;
  font-size:0.9em; line-height:1.8; font-weight:bold;
}
ul.footer-banner-list li a .button{
  display:block;
  box-sizing:border-box;
  width:80%;
  margin:15px auto 0;
  background:#FFF;
  border-radius:9999px;
  font-size:0.9em; line-height:2.4; font-weight:bold;
  color:var(--base-color);
  position:relative;
  transition:0.3s;
}
ul.footer-banner-list li a:hover .button{
  background:var(--main-color);
  color:#FFF;
  transition:0.3s;
}
ul.footer-banner-list li a .button::after{
  content:"";
  border-left:6px solid var(--base-color);
  border-top:6px solid transparent;
  border-bottom:6px solid transparent;
  position:absolute;
  top:50%; right:20px;
  transform:translateY(-50%);
  transition:0.3s;
}
ul.footer-banner-list li a:hover .button::after{
  border-left-color:#fff;
  transition:0.3s;
}

#footer-nav-container{
  width:100%;
  background:#1e2d5a;
  margin:50px auto;
  padding:50px 0;
}
nav#footer-nav{
  width:1146px;
  margin:0 auto;
  display:flex;
  justify-content:space-between;
}
nav#footer-nav .nav-box{
  width:20%;
  text-align:left;
}
nav#footer-nav .nav-box:last-of-type{
  width:16%;
}
nav#footer-nav .nav-box a{
  color:#FFF;
  color:rgba(255,255,255,0.85);
}
nav#footer-nav .nav-box h3{
  font-size:13px; line-height:1.8;
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,0.6);
  margin-bottom:5px;
}
nav#footer-nav .nav-box ul:not(:last-of-type){
  margin-bottom:25px;
}
nav#footer-nav .nav-box ul li{
  font-size:13px; line-height:1.8;
  position:relative;
}
nav#footer-nav .nav-box ul li.sub{
  padding-left:1.2em;
}
nav#footer-nav .nav-box ul li.sub::before{
  content:"・";
  color:#FFF;
  position:absolute;
  top:0; left:3px;
}

.footer-credit{
}
.footer-credit #footer-logo{
  width:240px;
  margin:0 auto 10px auto;
}
.footer-credit p.credit{
  font-size:13px; line-height:2;
}

footer .copyright{
  padding:25px 0 50px 0;
  font-size:11px; line-height:2;
}

#contents-title{
  width:100%; height:280px;
  background-repeat:no-repeat;
  background-position:center center;
  background-size:cover;
  position:relative;
}
#contents-title::after{
  content:"";
  width:100%; height:100%;
  position:absolute;
  top:0; left:0;
  background-color:rgba(0,0,0,0.2);
  mix-blend-mode:multiply;
  background-blend-mode:multiply;
}
#contents-title.guide{
  background-image:url(../../img/billboard/guide.jpg);
}
#contents-title.club{
  background-image:url(../../img/billboard/club02.jpg);
}
#contents-title.curriculum{
  background-image:url(../../img/billboard/curriculum.jpg);
}
#contents-title.course01{
  background-image:url(../../img/billboard/course01.jpg);
}
#contents-title.course02{
  background-image:url(../../img/billboard/course02.jpg);
}
#contents-title.course03{
  background-image:url(../../img/billboard/course03_4.jpg);
}
#contents-title.course03-1{
  background-image:url(../../img/billboard/course03-1.jpg);
}
#contents-title.course03-2{
  background-image:url(../../img/billboard/2025/course03-2.jpg);
}
#contents-title.course03-3{
  background-image:url(../../img/billboard/course03-3.jpg);
}
#contents-title.course03-4{
  background-image:url(../../img/billboard/course04_2.jpg);
}
#contents-title.course05{
  background-image:url(../../img/billboard/course05.jpg);
}
#contents-title.schoollife{
  background-image:url(../../img/billboard/schoollife03.jpg);
}
#contents-title.festival{
  background-image:url(../../img/billboard/2025/festival03.jpg);
}
#contents-title.uniform{
  background-image:url(../../img/billboard/uniform.jpg);
}
#contents-title.calendar{
  background-image:url(../../img/billboard/2025/calendar03.jpg);
  background-position:center top -20px;
}
#contents-title.admissions{
  background-image:url(../../img/billboard/admissions.jpg);
}
#contents-title.results{
  background-image:url(../../img/billboard/results.jpg);
}
#contents-title.voice{
  background-image:url(../../img/billboard/voice.jpg);
}
#contents-title.examinee{
  background-image:url(../../img/billboard/examinee.jpg);
}
#contents-title.students{
  background-image:url(../../img/billboard/students.jpg);
}
#contents-title.graduate{
  background-image:url(../../img/billboard/graduate.jpg);
}
#contents-title.news{
  background-image:url(../../img/billboard/topics.jpg);
}
#contents-title.topics{
  background-image:url(../../img/billboard/topics.jpg);
}
#contents-title.classes{
  background-image:url(../../img/billboard/festival.jpg);
}
#contents-title.search{
  background-image:url(../../img/billboard/search.jpg);
}
#contents-title .title-box{
  background:#FFF;
  background:rgba(255,255,255,0.95);
  position:absolute;
  top:50%; left:0; z-index:5;
  transform:translateY(-50%);
  text-align:left;
  padding:18px 100px;
}
#contents-title .title-box h1{
  font-size:36px; line-height:1.4;
  color:var(--main-color);
  letter-spacing:0.08em;
  position:relative;
}
#contents-title.course01 .title-box h1::before,
#contents-title.course02 .title-box h1::before,
#contents-title.course03-1 .title-box h1::before,
#contents-title.course03-2 .title-box h1::before,
#contents-title.course03-3 .title-box h1::before,
#contents-title.course03-4 .title-box h1::before,
#contents-title.course05 .title-box h1::before{
  content:"";
  width:42px; height:42px;
  position:absolute;
  top:-6px; left:-58px;
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
}
#contents-title.course01 .title-box h1::before{
  background-image:url(../../img/index/icon_course01.png);
}
#contents-title.course02 .title-box h1::before{
  background-image:url(../../img/index/icon_course02.png);
}
#contents-title.course03-1 .title-box h1::before{
  background-image:url(../../img/index/icon_course03-1.png);
}
#contents-title.course03-2 .title-box h1::before{
  background-image:url(../../img/index/icon_course03-2.png);
}
#contents-title.course03-3 .title-box h1::before{
  background-image:url(../../img/index/icon_course03-3.png);
}
#contents-title.course03-4 .title-box h1::before{
  background-image:url(../../img/index/icon_course04.png);
}
#contents-title.course05 .title-box h1::before{
  background-image:url(../../img/index/icon_course05.png);
}
#contents-title .title-box h1 span{
  display:block;
  font-size:20px; line-height:1.4;
}
#contents-title .title-box p{
  font-size:15px; line-height:1.4;
  color:var(--main-color);
}
#contents-title .title-box.course01{
  background:rgba(0,163,151,0.95);
}
#contents-title .title-box.course02{
  background:rgba(0,170,201,0.95);
}
#contents-title .title-box.course03,
#contents-title .title-box.course03-1,
#contents-title .title-box.course03-2,
#contents-title .title-box.course03-3,
#contents-title .title-box.course03-4{
  background:rgba(245,149,0,0.95);
}
/*#contents-title .title-box.course04{
  background:rgba(164,127,153,0.95);
}*/
#contents-title .title-box.course05{
  background:rgba(235,135,128,0.95);
}
#contents-title .title-box.course01 h1,
#contents-title .title-box.course01 p,
#contents-title .title-box.course02 h1,
#contents-title .title-box.course02 p,
#contents-title .title-box.course03 h1,
#contents-title .title-box.course03 p,
#contents-title .title-box.course03-1 h1,
#contents-title .title-box.course03-1 p,
#contents-title .title-box.course03-2 h1,
#contents-title .title-box.course03-2 p,
#contents-title .title-box.course03-3 h1,
#contents-title .title-box.course03-3 p,
#contents-title .title-box.course03-4 h1,
#contents-title .title-box.course03-4 p,
#contents-title .title-box.course04 h1,
#contents-title .title-box.course04 p,
#contents-title .title-box.course05 h1,
#contents-title .title-box.course05 p{
  color:#FFF;
}
#crumb{
  text-align:center;
  margin:5px 0;
}
#crumb ul{
  width:1146px;
  margin:0 auto;
  text-align:left;
  display:flex;
  flex-wrap:wrap;
}
#crumb ul li{
  font-size:12px; line-height:1.8;
  color:#777;
}
#crumb ul li:not(:last-child)::after{
  content:">";
  display:inline-block;
  transform:scale(0.6,1);
  margin:0 5px;
}
#crumb ul li a{
  color:#777;
}
#crumb ul li:last-child a{
  text-decoration:none;
  color:#333;
  pointer-events:none;
}

#container{
  display:flex;
  justify-content:center;
  margin:50px 0 50px 0;
}
#main-full{
  width:1146px;
  margin:0 auto;
  text-align:left;
}
#main{
  width:846px;
  margin-right:60px;
  text-align:left;
}
#side{
  width:240px; height:100%;
  text-align:left;
  position:sticky;
  top:15px;
}
#side .side-box{
  width:100%;
  margin-bottom:50px;
}
#side .side-box .sub{
  font-size:0.95em;
}
#side .side-box h2{
  font-size:16px; line-height:1.8;
  font-weight:normal;
}
#side .side-box h2 a{
  text-decoration:none;
  color:var(--base-color);
}
#side .side-box h2 a:hover{
  color:var(--main-color);
}
#side .side-box h3{
  font-size:15px; line-height:1.8;
  font-weight:bold;
  margin-top:15px;
}
#side ul.side-menu{
  font-size:14px; line-height:1.6;
  margin:5px 0 25px;
}
#side ul.side-menu li{
  border-left:2px solid #ddd;
}

#side ul.side-menu li:hover{
  border-left-color:var(--main-color);
}
#side ul.side-menu li a{
  display:block;
  text-decoration:none;
  padding:5px 0;
  padding-left:15px;
  color:#333;
//  border-bottom:1px dashed #CCC;
  position:relative;
}
#side ul.side-menu li.hover-none{
  padding:5px 0;
  padding-left:15px;
    color:#333;
}
#side ul.side-menu li.hover-none:hover{
  border-left-color: #ddd;
  background:transparent;
}
#side ul.side-menu li:hover{
  background:rgba(0,86,140,0.08);
}
#side ul.side-menu li a .entry-date{
  font-size:12px; line-height:1.4;
}
#side ul.side-menu li.sub a::before{
  content:"・";
  margin:0 4px;
}
.side-box .more{
  font-size:14px; line-height:1.8;
  text-align:right;
}
.side-box .more a{
  padding-right:10px;
  position:relative;
}
.side-box .more a::after{
  content:"";
  border-left:5px solid #1170a4;
  border-top:5px solid transparent;
  border-bottom:5px solid transparent;
  position:absolute;
  top:50%; right:0;
  margin-top:-5px;
}

section{
  box-sizing:border-box;
  width:100%;
  margin:0 0 100px 0;
}
section h2{
  font-size:30px; line-height:1.7; font-weight:bold;
  color:var(--main-color);
  position:relative;
  margin-bottom:20px;
}
section h2::before{
  content:"";
  width:30px;
  border-top:2px solid var(--main-color);
  position:absolute;
  top:25px; left:-45px;
}
#container.admissions section h2{
  color:#A8497A;
}
#container.admissions section h2::before{
  border-top-color:#A8497A;
}
section h3{
  font-size:21px; line-height:1.7; font-weight:bold;
  color:#544C2E;
  margin-bottom:10px;
  position:relative;
}
#container.club section h3{
  color:#3471AD;
}
#container.admissions section h3{
  color:#222;
}
section p{
  line-height:2;
  margin-bottom:35px;
}
section ul.disc-list li{
  list-style:disc outside;
  margin-left:20px;
}
section ol.decimal-list li{
  list-style:decimal outside;
  margin-left:22px;
}
section ul.kigou-list li{
  padding-left:20px;
  position:relative;
}
section ul.kigou-list li::before{
  content:"※";
  position:absolute;
  top:0; left:0;
}

/* guide */
.principal{
  width:320px;
  float:right;
  margin:0 0 0 30px;
}
section > .greeting-box{
  margin-bottom:35px;
}
section > .greeting-box > p{
  margin-bottom:0;
  text-indent:1em;
}
table.history-table{
  width:100%;
  margin:0 auto 35px;
  border-collapse:collapse;
  font-size:15px; line-height:2;
}
table.history-table tr:not(:last-of-type){
  border-bottom:1px dashed #CCC;
}
table.history-table tr th{
  width:210px;
  font-weight:normal;
  white-space:nowrap;
  vertical-align:top;
  padding:16px 0;
  position:relative;
}
table.history-table tr td{
  padding:16px 0 16px 30px;
  vertical-align:top;
}
table.history-table tr th .date{
  width:80px;
  text-align:right;
  white-space:nowrap;
  position:absolute;
  top:16px; right:0;
}

/* club */
.club-image{
  width:80%;
  margin:0 auto 35px auto;
}

ul.club-list{
  display:flex;
  flex-wrap:wrap;
}
ul.club-list01{
  justify-content:space-between;
}
ul.club-list01 li{
  width:540px;
  margin:0 0 50px 0;
}
ul.club-list li a{
  display:block;
  text-decoration:none;
  color:var(--base-color);
}
ul.club-list01 li figure{
  box-sizing:border-box;
  width:100%; height:auto;
  aspect-ratio:16/9;
  position:relative;
  margin-bottom:10px;
  overflow:hidden;
}
ul.club-list01 li figure.no-image{
  border:1px solid #ddd;
}
ul.club-list01 li figure img{
  position:absolute;
  top:50%; left:0;
  transform:translateY(-50%);
  transition:0.2s;
}
ul.club-list01 li a:hover figure img{
  transform:translateY(-50%) scale(1.2);
  transition:0.4s ease-in;
}
ul.club-list li h3{
  font-size:19px; line-height:1.7;
}
ul.club-list li a:hover h3{
  text-decoration:underline;
}
ul.club-list li h3::before{
  content:"";
  width:100%;
  border-top:1px solid #3471AD;
  position:absolute;
  top:50%; left:0;
  margin-top:-1px;
}
ul.club-list li h3 span{
  background:#FFF;
  position:relative;
  padding-right:12px;
}
ul.club-list li p{
  margin-bottom:0;
}
ul.club-list li .more{
  font-size:0.95em; line-height:1.6; font-weight:bold;
  color:var(--link-color);
  text-align:right;
  padding-right:12px;
  position:relative;
  transition:0.2s ease-in-out;
}
ul.club-list li a:hover .more{
  text-decoration:underline;
  transition:0.2s ease-in-out;
}
ul.club-list li .more::after{
  content:"";
  border-left:5px solid var(--link-color);
  border-top:5px solid transparent;
  border-bottom:5px solid transparent;
  position:absolute;
  top:50%; right:0;
  transform:translateY(-50%);
  transition:0.2s ease-in-out;
}

ul.club-list02{
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
}
ul.club-list02 li{
  list-style:disc outside;
  width:calc(25% - 22px);
  margin:0 0 0 22px;
  font-size:1.05em; line-height:1.8; font-weight:500;
}

/* club individual */
.swiper-container{
  width:100%;
  margin:0 auto;
  position:relative;
  z-index:1;
  overflow:hidden;
  padding-bottom:50px !important;
}
.swiper-slide{
//  width:auto !important;
  display:flex;
  justify-content:center;
  align-items:center;
}
.swiper-slide img{
  display:block;
  width:auto; height:480px;
  object-fit:cover;
  margin:0 auto;
}
.swiper-container .swiper-pagination{
  width:100%; height:30px;
  position:absolute;
  text-align:center;
  transition:300ms opacity;
  transform:translate3d(0, 0, 0);
  z-index:10;
}
.swiper-container .swiper-pagination-bullets{
  bottom:20px !important;
}
.swiper-container .swiper-pagination-bullet{
  width:10px; height:10px;
  outline:none;
  margin:0 5px;
}
.swiper-container .swiper-pagination-bullet-active{
  background:var(--main-color);
}
.swiper-container .swiper-button-next::after,
.swiper-container .swiper-button-prev::after{
  font-size:24px !important;
  color:#555;
}

ul.club-sns-list{
  display:flex;
}
ul.club-sns-list li{
  width:19.6%;
  margin-right:0.5%;
}
ul.club-sns-list li:last-child{
  margin-right:0;
}
ul.club-sns-list li a{
  display:block;
  text-decoration:none;
}
ul.club-sns-list li a figure{
  background:var(--main-color);
  text-align:center;
  border-radius:1px;
  padding:10px 0 8px;
}
ul.club-sns-list li.facebook a figure{background:#1877F2;}
ul.club-sns-list li.twitter a figure{background:#1DA1F2;}
ul.club-sns-list li.instagram a figure{background:#DC2E74;}
ul.club-sns-list li.youtube a figure{background:#FF0000;}
ul.club-sns-list li a figure img{
  width:22px;
  margin:0 auto 5px;
}
ul.club-sns-list li a figcaption{
  display:block;
  font-size:0.75em; line-height:1; font-weight:500;
  color:var(--base-color);
  text-align:center;
  margin-top:0.5em;
}
ul.club-sns-list li a:hover figcaption{
  text-decoration:underline;
}

.club-result{
  box-sizing:border-box;
  border:1px solid #3471AD;
  border:1px solid #999;
  padding:25px 30px;
  position:relative;
  margin:60px 0;
}
.club-result .club-result-title{
  font-size:16px; line-height:1; font-weight:bold;
  color:#444;
  background:#FFF;
  padding:0 10px 10px;
  position:absolute;
  top:-8px; left:-7px;
}
ul.club-result-list li{
  list-style:disc outside;
  margin:0 0 5px 22px;
}
ul.club-result-list li:last-child{
  margin-bottom:0;
}

.club-report{
  margin:60px 0 80px;
}
.club-report .club-report-title{
  font-size:16px; line-height:1; font-weight:bold;
  color:#444;
  margin-bottom:15px;
  position:relative;
}
.club-report .club-report-title::before{
  content:"";
  width:100%;
  border-top:1px solid #999;
  position:absolute;
  top:50%; left:0;
  margin-top:-1px;
}
.club-report .club-report-title span{
  position:relative;
  background:#FFF;
  padding-right:10px;
}
ul.club-report-blog{
  display:flex;
  flex-wrap:wrap;
}
ul.club-report-blog li{
  width:262px;
  margin:0 30px 35px 0;
}
ul.club-report-blog li:nth-child(3n){
  margin-right:0;
}
ul.club-report-blog li a{
  display:block;
  text-decoration:none;
  color:var(--base-color);
}
ul.club-report-blog li figure{
  box-sizing:border-box;
  width:100%; height:160px;
  border:1px solid #e9e9e9;
  margin-bottom:10px;
  overflow:hidden;
  position:relative;
}
ul.club-report-blog li figure img{
  position:absolute;
  top:50%; left:0;
  transform:translateY(-50%);
}
ul.club-report-blog li .entry-date{
  display:inline-block;
  font-family:"Roboto", sans-serif;
  font-size:12px; line-height:1.4;
}
ul.club-report-blog li .entry-category{
  display:inline-block;
  font-size:12px; line-height:1.4;
}
ul.club-report-blog li .entry-category::before{
  content:"/";
  margin-right:5px;
}
ul.club-report-blog li a .entry-title{
  display:block;
  font-size:15px; line-height:1.8;
  color:#1170a4;
}
ul.club-report-blog li a:hover .entry-title{
  text-decoration:underline;
}
.club-report .button{
  display:block;
  text-align:right;
}
.club-report .button a span{
  position:relative;
  z-index:10;
}
.club-report .button a{
  display:inline-block;
  text-decoration:none;
  font-size:13px; line-height:1.6; font-weight:bold;
  color:#555;
  border-bottom:1px solid #555;
  padding:8px 20px 6px 5px;
  position:relative;
  transition:0.2s ease-in-out;
  margin:0 0 0 auto;
}
.club-report .button a:hover{
  color:#FFF;
  transition:0.2s ease-in-out;
}
.club-report .button a::before{
  content:"";
  width:0%; height:100%;
  position:absolute;
  top:0; left:0;
  background:var(--main-color);
  transition:0.2s ease-in-out;
}
.club-report .button a:hover::before{
  width:100%;
  transition:0.2s ease-in-out;
}
.club-report .button a::after{
  content:"";
  border-left:5px solid #555;
  border-top:5px solid transparent;
  border-bottom:5px solid transparent;
  position:absolute;
  top:50%; right:5px;
  transform:translateY(-50%);
  transition:0.2s ease-in-out;
}
.club-report .button a:hover::after{
  border-left-color:#fff;
  transition:0.2s ease-in-out;
}

section h3.title-idea01{
  font-size:36px; line-height:1.8;
  color:#00283c;
  letter-spacing:0.1em;
  margin-bottom:10px;
}
section ul.idea-list li h3{
  font-size:24px; line-height:1.8;
  color:#00283c;
  letter-spacing:0.1em;
  margin-bottom:0px;
}

/* 施設案内 */
.campusmap-image{
  padding:30px 40px;
  background:#F7F7F6;
  margin:0 auto 30px;
}
.campusmap-image figure{
  margin:0 auto;
}
.campus-list-box{
  width:21%;
}
table.campus-table{
  width:100%;
  border-collapse:collapse;
  font-size:13px; line-height:1.8;
  text-align:left;
  margin:25px auto 0 auto;
}
table.campus-table caption{
  font-weight:bold;
  text-align:left;
  border-bottom:1px solid #999;
  margin-bottom:5px;
}
table.campus-table tr:not(:last-child){
  border-bottom:1px dashed #999;
}
table.campus-table th,
table.campus-table td{
  font-weight:normal;
  vertical-align:top;
  padding:3px 0;
}
ul.campusmap-image-list{
  display:flex;
  flex-wrap:wrap;
}
ul.campusmap-image-list li{
  width:268px;
  margin:0 21px 25px 0;
}
ul.campusmap-image-list li:nth-child(3n){
  margin-right:0;
}
ul.campusmap-image-list li span{
  display:block;
  font-size:14px; line-height:1.6;
  text-align:center;
  margin:5px auto 0;
}

/* 生活指導 */
.instruction-box{
  padding:25px 35px;
  border:1px solid #EA617B;
  margin:60px auto 0;
  position:relative;
}
.instruction-box h3{
  font-size:18px; line-height:36px;
  color:#EA617B;
  position:absolute;
  top:-18px; left:-1px;
}
.instruction-box h3 span{
  display:inline-block;
  background:#FFF;
  padding-right:18px;
}
.instruction-box p{
  margin:0;
}

/* 平和教育 */
figure.funder{
  width:280px;
  float:right;
  margin-left:30px;
}
figure.funder figcaption{
  font-size:13px; line-height:1.6;
  text-align:center;
  margin:5px auto;
}
.funder-column{
  background:rgba(84,76,46,0.03);
  padding:30px 40px;
}
.funder-column h3{
  font-size:18px; line-height:2;
}
.funder-column-box{
  font-size:15px; line-height:2;
  margin:0 auto 25px;
}
.funder-column-box:last-of-type{
  margin-bottom:0;
}
.funder-column-box p{
  margin:0;
}
.funder-column-box p strong{
  display:block;
}
.funder-column-box figure{
  width:220px;
  float:right;
  margin-left:15px;
}

/* 交通アクセス */
.gmap-box{
  width:100%; height:480px;
  margin:0 auto 35px;
}
.gmap-box iframe{
  width:100%; height:100%;
}
.access-text{
  display:flex;
}
.access-text div{
  margin-right:25px;
}

/* 学科・コース */
ul.course-list{
}
ul.course-list li{
  margin-bottom:15px;
  position:relative;
}
ul.course-list li::after{
  content:"";
  border-bottom:30px solid #FFF;
  border-left:30px solid transparent;
  position:absolute;
  bottom:0; right:0;
}
ul.course-list li.course01{
  background-color:var(--course01-color);
}
ul.course-list li.course02{
  background-color:var(--course02-color);
}
ul.course-list li.course03-1,
ul.course-list li.course03-2,
ul.course-list li.course03-3,
ul.course-list li.course03-4{
  background-color:var(--course03-color);
}
/*ul.course-list li.course04{
  background-color:var(--course04-color);
}*/
ul.course-list li.course05{
  background-color:var(--course05-color);
}
ul.course-list li a{
  display:flex;
  justify-content:space-between;
  text-decoration:none;
  color:#FFF;
}
ul.course-list li a figure{
  width:450px; height:300px;
  background-repeat:no-repeat;
  background-position:center center;
  background-size:auto 100%;
  transition:0.2s ease-in;
}
ul.course-list li a:hover figure{
  background-size:auto 110%;
  transition:0.2s ease-in;
}
ul.course-list li.course01 figure{
  background-image:url(../../img/index/2025/course01.jpg);
}
/*ul.course-list li.course02 figure{
  background-image:url(../../img/index/2023/course02.jpg);
}*/
ul.course-list li.course03-1 figure{
  background-image:url(../../img/index/2025/course03.jpg);
}
ul.course-list li.course03-2 figure{
  background-image:url(../../img/index/2025/course03-2.jpg);
}
ul.course-list li.course03-3 figure{
  background-image:url(../../img/index/2025/course03-3.jpg);
}
ul.course-list li.course03-4 figure{
  background-image:url(../../img/index/2025/course04.jpg);
}
ul.course-list li.course05 figure{
  background-image:url(../../img/index/2025/course05.jpg);
}
ul.course-list li .text-box{
  flex:1;
  text-align:left;
  padding:30px 35px;
}
ul.course-list li a h3{
  font-size:22px; line-height:1.6;
  color:#FFF;
  border-bottom:1px solid #FFF;
  margin-bottom:10px;
  padding-right:50px;
  position:relative;
}
ul.course-list li a h3::before{
  content:"";
  width:42px; height:42px;
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  position:absolute;
  top:-10px; right:-10px;
}
ul.course-list li.course01 a h3::before{
  background-image:url(../../img/index/icon_course01.png);
}
ul.course-list li.course02 a h3::before{
  background-image:url(../../img/index/icon_course02.png);
}
ul.course-list li.course03-1 a h3::before{
  background-image:url(../../img/index/icon_course03-1.png);
}
ul.course-list li.course03-2 a h3::before{
  background-image:url(../../img/index/icon_course03-2.png);
}
ul.course-list li.course03-3 a h3::before{
  background-image:url(../../img/index/icon_course03-3.png);
}
ul.course-list li.course03-4 a h3::before{
  background-image:url(../../img/index/icon_course04.png);
}
ul.course-list li.course05 a h3::before{
  background-image:url(../../img/index/icon_course05.png);
}
ul.course-list li h3 span{
  display:block;
  font-size:16px; line-height:1.6;
}
ul.course-list li p{
  margin:0 !important;
}
ul.course-list li .more{
  margin:20px auto 0;
  font-size:14px; line-height:1.6; font-weight:bold;
  text-align:right;
  padding-right:12px;
  position:relative;
  transition:0.2s ease-in-out;
}
ul.course-list li a:hover .more{
  text-decoration:underline;
  color:#FFF;
  transition:0.2s ease-in-out;
}
ul.course-list li .more::after{
  content:"";
  border-left:5px solid #fff;
  border-top:5px solid transparent;
  border-bottom:5px solid transparent;
  position:absolute;
  top:50%; right:0;
  transform:translateY(-50%);
  transition:0.2s ease-in-out;
}

/* コース個別ページ */
.course01 section h2{color:var(--course01-color);}
.course01 section h2::before{border-top-color:var(--course01-color);}
.course02 section h2{color:var(--course02-color);}
.course02 section h2::before{border-top-color:var(--course02-color);}
.course03 section h2{color:var(--course03-color);}
.course03 section h2::before{border-top-color:var(--course03-color);}
.course04 section h2{color:var(--course04-color);}
.course04 section h2::before{border-top-color:var(--course04-color);}
.course05 section h2{color:var(--course05-color);}
.course05 section h2::before{border-top-color:var(--course05-color);}

figure.main-image{
  margin:0 auto 30px;
}

.course01 .button,
.course02 .button,
.course03 .button,
.course04 .button,
.course05 .button{
  text-align:right;
}
.course01 .button a,
.course02 .button a,
.course03 .button a,
.course04 .button a,
.course05 .button a{
  display:inline-block;
  text-decoration:none;
  font-size:14px; line-height:1.8; font-weight:bold;
  color:#666;
  text-align:center;
  padding:8px 4em;
  border:1px solid #666;
  position:relative;
  transition:0.2s ease-in-out;
}
.course01 .button a:hover,
.course02 .button a:hover,
.course03 .button a:hover,
.course04 .button a:hover,
.course05 .button a:hover{
  color:#fff;
  transition:0.2s ease-in-out;
}
.course01 .button a:hover{border-color:var(--course01-color);}
.course02 .button a:hover{border-color:var(--course02-color);}
.course03 .button a:hover{border-color:var(--course03-color);}
.course04 .button a:hover{border-color:var(--course04-color);}
.course05 .button a:hover{border-color:var(--course05-color);}

.course01 .button a::before,
.course02 .button a::before,
.course03 .button a::before,
.course04 .button a::before,
.course05 .button a::before{
  content:"";
  width:0%; height:100%;
  background:#666;
  position:absolute;
  top:0; left:0;
  transition:0.2s ease-in-out;
}
.course01 .button a::before{background:var(--course01-color);}
.course02 .button a::before{background:var(--course02-color);}
.course03 .button a::before{background:var(--course03-color);}
.course04 .button a::before{background:var(--course04-color);}
.course05 .button a::before{background:var(--course05-color);}

.course01 .button a:hover::before,
.course02 .button a:hover::before,
.course03 .button a:hover::before,
.course04 .button a:hover::before,
.course05 .button a:hover::before{
  width:100%;
  transition:0.2s ease-in-out;
}
.course01 .button a::after,
.course02 .button a::after,
.course03 .button a::after,
.course04 .button a::after,
.course05 .button a::after{
  content:"";
  border-left:6px solid #666;
  border-top:6px solid transparent;
  border-bottom:6px solid transparent;
  position:absolute;
  top:50%; right:15px;
  transform:translateY(-50%);
  transition:0.2s ease-in-out;
}
.course01 .button a:hover::after,
.course02 .button a:hover::after,
.course03 .button a:hover::after,
.course04 .button a:hover::after,
.course05 .button a:hover::after{
  border-left-color:#fff;
  transition:0.2s ease-in-out;
}
.course01 .button a span,
.course02 .button a span,
.course03 .button a span,
.course04 .button a span,
.course05 .button a span{
  position:relative;
}


ul.course-feature-list{
  margin:35px auto 0;
}
ul.course-feature-list li{
  position:relative;
  margin:0 auto 40px;
}
ul.course-feature-list li figure{
  width:760px;
}
ul.course-feature-list li .text-box{
  box-sizing:border-box;
  width:80%;
  padding:20px 30px;
  background:#fff;
  margin:-120px 0 0 auto;
  position:relative; z-index:2;
}
ul.course-feature-list li h4{
  font-size:17px; line-height:1.8;
}
ul.course-feature-list li h4 strong{
  display:block;
  font-size:21px; line-height:1.6;
}
ul.course-feature-list li p{
  line-height:1.8;
  margin:0;
}
ul.course-feature-list li p img{
  width:100%;
  margin:10px auto 50px;
}
ul.course-feature-list li .curriculum-box{
  margin-top:20px;
}
ul.course-feature-list li .curriculum-box h4{
  font-size:16px;
  line-height:1.7;
  color:var(--course01-color);
}
ul.course-feature-list li .curriculum-box p{
  margin-bottom:20px;
}
.course01 ul.course-feature-list li .text-box{
  background:rgba(0,163,151,0.06);
  background:#F2FAF9;
}
.course01 ul.course-feature-list li h4 strong{
  color:var(--course01-color);
}
.course02 ul.course-feature-list li .text-box{
  background:rgba(0,170,201,0.06);
  background:#F2FAFC;
}
.course02 ul.course-feature-list li h4 strong{
  color:var(--course02-color);
}
.course03 ul.course-feature-list li .text-box{
  background:rgba(245,149,0,0.06);
  background:#FCF8F4;
}
.course03 ul.course-feature-list li h4 strong{
  color:var(--course03-color);
}
.course04 ul.course-feature-list li .text-box{
  background:rgba(164,127,153,0.06);
  background:#FAF8F9;
}
.course04 ul.course-feature-list li h4 strong{
  color:var(--course04-color);
}


table.curriculum-table{
  width:100%;
  border-collapse:separate;
  border-spacing:5px;
  table-layout:fixed;
  font-size:13px; line-height:1.8;
  text-align:center;
  margin-bottom:50px;
}
table.curriculum-table .blank{
  background:#FFF;
}
table.curriculum-table thead th{
  background:rgba(0,86,140,0.4);
  color:#FFF;
}
table.curriculum-table thead th:first-of-type{
  width:30px;
}
table.curriculum-table tbody th{
  background:var(--course01-color);
  color:#FFF;
}
table.curriculum-table tbody td{
  padding:5px 10px;
  background:#F2FAF9;
}
table.curriculum-table tbody td.lunch{
  background:rgba(84,76,46,0.05);
}
table.curriculum-table tbody td.support{
  background:#F2FAF9;
}


ul.curriculum-menu{
  display:flex;
  justify-content:space-between;
  margin:0 auto 35px;
}
ul.curriculum-menu li{
  width:30%;
  display:block;
  font-size:15px; line-height:2.0;
  font-weight:bold;
  color:#888;
  text-align:center;
  cursor:pointer;
  border:2px solid #FFF;
  border-bottom:2px solid #CCC;
  transition:0.2s;
}
ul.curriculum-menu li.active{
  color:#fff;
  background:var(--course02-color);
  border:2px solid var(--course02-color);
  position:relative;
  transition:0.2s;
}
ul.curriculum-menu li.active::after{
  content:"";
  border-top:10px solid var(--course02-color);
  border-left:14px solid transparent;
  border-right:14px solid transparent;
  position:absolute;
  bottom:-10px; left:50%;
  margin-left:-14px;
}
.course02 ul.curriculum-menu li.active{
  background:var(--course02-color);
  border-color:var(--course02-color);
}
.course02 ul.curriculum-menu li.active::after{
  border-top-color:var(--course02-color);
}
.course03 ul.curriculum-menu li.active{
  background:#cd821b;
  border-color:#cd821b;
}
.course03 ul.curriculum-menu li.active::after{
  border-top-color:#cd821b;
}

.curriculum-box .caution{
  font-size:13px; line-height:2;
  text-align:right;
  margin-top:10px;
}
table.curriculum-table02{
  width:100%;
  table-layout:fixed;
  border-collapse:collapse;
  font-size:14px; line-height:1.6;
  text-align:center;
}
table.curriculum-table02 .vertical{
  -ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
table.curriculum-table02 thead th,
table.curriculum-table02 thead td{
  padding:0px 0;
  border:none;
}
table.curriculum-table02 thead td.courses{
  line-height:2; font-weight:bold;
  color:#FFF;
  background:rgba(0,86,140,0.9);
  position:relative;
}
table.curriculum-table02 thead td.courses::before{
  content:"";
  border-top:28px solid #FFF;
  border-right:10px solid transparent;
  position:absolute;
  top:0; left:0;
}
table.curriculum-table02 thead td.courses::after{
  content:"";
  border-top:28px solid #FFF;
  border-left:10px solid transparent;
  position:absolute;
  top:0; right:0;
}
table.curriculum-table02 thead th.vertical,
table.curriculum-table02 thead td.credits{
  width:48px;
  font-size:13px; line-height:2;
}
.course03 table.curriculum-table02 thead th.vertical,
.course03 table.curriculum-table02 thead td.credits{
  width:48px;
}
table.curriculum-table02 tbody th,
table.curriculum-table02 tbody td{
  padding:5px 0;
  border:1px solid #ddd;
}
table.curriculum-table02 tbody th.week{
  background:#F3F3F3;
}
table.curriculum-table02 tbody th.unit01,
table.curriculum-table02 tbody th.unit02,
table.curriculum-table02 tbody th.unit03{
  color:#FFF;
}
table.curriculum-table02 tbody th.unit03{
  background:rgba(84,76,46,0.4);
}
table.curriculum-table02 tbody tr td.credits{
  background:rgba(0,86,140,0.05);
}
.course02 table.curriculum-table02 tbody th.unit01{
  background:rgba(0,170,201,0.8);
}
.course02 table.curriculum-table02 tbody th.unit02{
  background:rgba(0,170,201,0.6);
}
.course03 table.curriculum-table02 tbody th.unit01{
  background:rgba(205,130,27,0.8);
  background:rgba(245,149,0,0.8);
}
.course03 table.curriculum-table02 tbody th.unit02{
  background:rgba(205,130,27,0.6);
  background:rgba(245,149,0,0.6);
}

section .tab-contents{
  display:none;
}
section .tab-contents.active{
  display:block;
}

ul.course-feature-list02{
  margin:50px auto 0;
}
ul.course-feature-list02 li{
  display:flex;
  margin:0 auto 20px;
}
ul.course-feature-list02 li figure{
  width:300px;
  margin-right:20px;
}
ul.course-feature-list02 li .text-box{
  flex:1;
}
ul.course-feature-list02 li h4{
  font-size:20px; line-height:1.8;
  position:relative;
}
ul.course-feature-list02 li h4::before{
  content:"";
  width:100%;
  border-top:1px solid var(--course01-color);
  position:absolute;
  top:50%; left:0;
  margin-top:-1px;
}
ul.course-feature-list02 li h4 span{
  background:#FFF;
  position:relative;
  padding-right:0.5em;
  font-size:1.2em;
}
.course01 ul.course-feature-list02 li h4{
  color:var(--course01-color);
}
.course01 ul.course-feature-list02 li h4::before{
  border-top-color:var(--course01-color);
}
.course04 ul.course-feature-list02 li h4{
  font-size:20px; line-height:1.8;
  color:var(--course04-color);
}
.course04 ul.course-feature-list02 li h4::before{
  border-top-color:var(--course04-color);
}
.course04 ul.course-feature-list02 li span.teacher{
  font-size:14px; line-height:1.8;
}

ul.learning-point{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  margin-bottom:30px;
}
ul.learning-point li{
  box-sizing:border-box;
  width:32.5%;
  border:1px solid var(--course03-color);
  border-radius:5px;
  margin-bottom:15px;
  overflow:hidden;
}
.course02 ul.learning-point li{
  border-color:var(--course02-color);
}
.course03 ul.learning-point li{
  border-color:var(--course03-color);
}
ul.learning-point li.w49{width:49%;}
ul.learning-point li.w100{width:100%;}
ul.learning-point li h4{
  background:var(--course03-color);
  font-size:18px; line-height:2.4;
  color:#FFF;
  text-align:center;
}
.course02 ul.learning-point li h4{
  background:var(--course02-color);
}
.course03 ul.learning-point li h4{
  background:var(--course03-color);
}
ul.learning-point li p{
  font-size:15px; line-height:1.8;
  margin:10px 20px 15px 20px;
}

section.course-result{
  border:2px solid #aaa;
  padding:25px 35px;
  margin-bottom:50px;
  position:relative;
}
.course01 section.course-result{
  border-color:var(--course01-color);
}
.course03 section.course-result{
  border-color:var(--course03-color);
}
.course04 section.course-result{
  border-color:var(--course04-color);
}
.course01 section.course-result h3{
  color:var(--course01-color);
}
.course03 section.course-result h3{
  color:var(--course03-color);
}
.course04 section.course-result h3{
  color:var(--course04-color);
}
section.course-result h3 span{
  display:inline-block;
  font-size:15px; font-weight:normal;
  color:var(--base-color);
  margin-left:1em;
}
ul.course-result-list{
  display:flex;
  flex-wrap:wrap;
  margin-bottom:10px;
}
ul.course-result-list li{
  font-size:15px; line-height:1.8;
  margin-right:1.5em;
}

section.curriculum-policy{
  padding:30px 40px;
}
section.curriculum-policy p{
  margin:0;
}
section.curriculum-policy .policy-box{
  font-size:14px; line-height:1.7;
}
section.curriculum-policy .policy-box:not(:last-of-type){
  border-bottom:1px dashed #999;
  padding-bottom:25px;
  margin-bottom:25px;
}
section.curriculum-policy .policy-box h3{
  font-size:16px; line-height:1.7;
  margin:0;
}
section.curriculum-policy .policy-box p strong{
//  font-size:15px; line-height:1.7;
}
.course01 section.curriculum-policy{
  background:rgba(0,163,151,0.04);
}
.course01 section.curriculum-policy .policy-box h3{
  color:var(--course01-color);
}
.course02 section.curriculum-policy{
  background:rgba(0,170,201,0.03);
}
.course02 section.curriculum-policy .policy-box h3{
  color:var(--course02-color);
}
.course03 section.curriculum-policy{
  background:rgba(205,130,27,0.04);
  background:rgba(245,149,0,0.04);
}
.course03 section.curriculum-policy .policy-box h3{
  color:#cd821b;
  color:var(--course03-color);
}
.course04 section.curriculum-policy{
  background:rgba(164,127,153,0.04);
}
.course04 section.curriculum-policy .policy-box h3{
  color:var(--course04-color);
}
.course05 section.curriculum-policy{
  background:rgba(235,135,128,0.04);
}
.course05 section.curriculum-policy .policy-box h3{
  color:var(--course05-color);
}
.course01-column{
  padding:30px 40px;
  background:#F2FAF9;
}
.course01-column h4{
  font-size:18px;
  color: #544C2E;
  margin-bottom:0.5em;
}
.course01-column ul li{
  margin-bottom: 0.2em;
}
.course01-column img{
  float:right;
  width:240px;
  height:auto;
  object-fit: cover;
  margin-top:1.2em;
  margin-left:25px;
  margin-bottom: 25px;
}
.course01 ul.point-list{
    margin: 0 auto 50px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.course01 ul.point-list{

}
.course01 ul.point-list li {
    box-sizing: border-box;
    width: 49%;
    margin-bottom: 20px;
    padding: 15px 25px;
    background: #F2FAF9;
    position: relative;

}
.course01 ul.point-list li:nth-of-type(-n+3){
  width:100%;
  display: flex;
  gap:20px;
}
.course01 ul.point-list li:nth-of-type(-n+3) img{
  width:290px;
}
.course01 ul.point-list li strong{
    font-size: 18px;
    line-height: 28px;
    color: var(--course01-color);
}
.course01 ul.point-list li strong .size80{
    display: block;
}
.course02-column{
  padding:30px 40px;
//  border:1px solid var(--course02-color);
  background:#F2FAFC;
}
.course02-column h3{
  font-size:18px; line-height:1.8;
  margin-bottom:0;
}
.course02-column p{
  margin:0;
}

ul.course03-2-grad{
  width:32%;
}
ul.course03-2-grad li{
  list-style:disc outside;
  font-size:15px; line-height:1.8;
  margin:0 0 5px 20px;
}
ul.course03-2-grad li strong{
  margin-right:5px;
}
ul.course03-2-grad li span{
  display:inline-block;
  font-size:14px; line-height:1.8;
}
.course03-column figure figcaption{
  font-size:13px; line-height:1.6;
  text-align:center;
  margin:5px auto;
}
.course03-column{
  padding:30px 40px 40px;
  background:rgba(245,149,0,0.03);
}
.course03-column h3{
  color:var(--course03-color);
}
.course03-column p{
  margin:0;
}
.course03-column h4{
  margin-top:2em;
}
.course03-column ul.course-feature-list02{
 /* display: flex;
  flex-wrap: wrap;
  justify-content: space-between;*/
  gap:25px 0;
  margin:1em 0 0;
}
.course03-column ul.course-feature-list02 li{
  display: flex;
  margin:0 auto 25px;
}

.course03-column ul.course-feature-list02 li h4::before {
  border-top: none;
}
.course03-column ul.course-feature-list02 li h4{
  font-size:0.75em;
  margin-top:0.5em;
  margin-bottom:0.5em;

}
.course03-column ul.course-feature-list02 li p{
  line-height: 1.6;
  font-size: 1.1em;
}
.course03-3-point{
  margin:0 auto;
  border:1px solid #CCC;
  text-align:center;
  padding:30px 0;
}
.course03-3-point h3{
  color:#333;
}
.course03-3-point h3 strong{
  font-size:140%;
  color:var(--course03-color);
}
.course03-3-point figure{
  width:80%;
  margin:0 auto 40px;
}
.course03-3-point h4{
  width:86%;
  font-size:21px; line-height:1.7;
  color:var(--course03-color);
  margin:0 auto 15px;
  position:relative;
}
.course03-3-point h4::before{
  content:"";
  width:100%;
  border-top:1px solid var(--course03-color);
  position:absolute;
  top:50%; left:0;
  margin-top:-1px;
}
.course03-3-point h4 span{
  display:inline-block;
  background:#FFF;
  padding:0 15px;
  position:relative;
}
.course03-3-point p{
  width:86%;
  margin:0 auto;
}
ul.shuhari-list{
  display:flex;
  justify-content:space-between;
}
ul.shuhari-list li{
  box-sizing:border-box;
  width:31%;
  font-size:0.95em; line-height:1.6;
  position:relative;
  padding-left:54px;
}
ul.shuhari-list li strong{
  font-size:1.1em;
}
ul.shuhari-list li::before{
  content:"";
  display:block;
  width:54px; height:54px;
  background-image:url(../../img/curriculum/course03-3/theme01.png);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  position:absolute;
  top:-15px; left:-10px;
}
ul.shuhari-list li.shu::before{
  background-image:url(../../img/curriculum/course03-3/theme01.png);
}
ul.shuhari-list li.ha::before{
  background-image:url(../../img/curriculum/course03-3/theme02.png);
}
ul.shuhari-list li.ri::before{
  background-image:url(../../img/curriculum/course03-3/theme03.png);
}

.course04-grad{
  width:48%;
  font-size:15px; line-height:1.8;
}

.course05-grade-box{
  padding-top:30px;
  position:relative;
}
.course05-grade-box #year{
  width:120px; height:120px;
  background:var(--course05-color);
  position:absolute;
  top:0; left:-30px;
}
.course05-grade-box #year div{
  font-size:20px; line-height:1; font-weight:bold;
  color:#FFF;
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%,-50%);
}
.course05-grade-box #year div strong{
  font-size:54px; line-height:1;
}
.course05-grade-box figure.image-grade{
  margin:0 0 15px auto;
}
.course05-grade-box ul.curriculum-list{
  display:flex;
  justify-content:space-between;
  margin:0 0 25px;
}
.course05-grade-box ul.curriculum-list li{
  box-sizing:border-box;
  width:49%;
  position:relative;
  border:1px solid #999;
  border-radius:3px;
  font-size:14px; line-height:2;
  padding-left:70px;
  overflow:hidden;
}
.course05-grade-box ul.curriculum-list li span{
  width:60px;
  position:absolute;
  top:0; left:0;
  background:#999;
  color:#FFF;
  text-align:center;
}
.course05-grade-box ul.curriculum-list li:last-child{
  border-color:var(--course05-color);
}
.course05-grade-box ul.curriculum-list li:last-child span{
  background:var(--course05-color);
}
.course05 ul.point-list{
  margin:0 auto 50px;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
}
.course05 ul.point-list li{
  box-sizing:border-box;
  width:49%;
  margin-bottom:20px;
  padding:15px 25px;
//  padding-left:1.2em;
  background:rgba(235,135,128,0.04);
  position:relative;
}
/*
.course05 ul.point-list li::before{
  content:"●";
  font-size:13px; line-height:30px;
  color:var(--course05-color);
  position:absolute;
  top:0; left:0;
}
*/
.course05 ul.point-list li strong{
  font-size:18px; line-height:28px;
  color:var(--course05-color);
}
.course05 ul.point-list li span.grade{
  display:inline-block;
  font-size:0.8em; line-height:1;
  border:1px solid #999;
  border-radius:3px;
  padding:3px 0.5em 0;
  margin-left:10px;
  position:relative;
  top:-1px;
}
.course05-column{
  padding:30px 40px;
  border:1px solid var(--course05-color);
  display:flex;
  justify-content:space-between;
  flex-direction:row-reverse;
//  background:rgba(235,135,128,0.04);
}
.course05-column figure.teacher{
  width:210px;
  margin:0 0 0 40px;
  text-align:center;
}
.course05-column figure.journey{
  width:300px;
  margin:0 0 0 40px;
  text-align:center;
}
.course05-column figure figcaption{
  font-size:12px; line-height:1.6;
  text-align:center;
  margin-top:5px;
}
.course05-column figure figcaption strong{
  font-size:15px; line-height:1.6;
}
.course05-column h3{
  font-size:18px; line-height:1.8;
  margin-bottom:0;
}
.course05-column .text-box{
  flex:1;
}
.course05-column p{
  margin:0;
}
.course05 ul.extra-lesson{
  display:flex;
  flex-wrap:wrap;
}
.course05 ul.extra-lesson li{
  width:32%;
  margin-bottom:20px;
  margin-right:2%;
  text-align:center;
}
.course05 ul.extra-lesson li:nth-child(3n){
  margin-right:0;
}
.course05 ul.extra-lesson li p{
  font-size:14px; line-height:1.8;
  margin:5px 0 0 0;
}

/* school life */
.schoollife-billboard{
  margin-bottom:35px;
}
.schoollife-billboard ul{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
}
.schoollife-billboard ul li{
  width:33.333%;
}
section .schoollife-billboard h2{
  font-size:28px; line-height:72px; font-weight:normal;
  color:#FFF;
  background:var(--main-color);
//  color:var(--main-color);
  text-align:center;
  margin:0;
}
section .schoollife-billboard h2::before{
  display:none;
}

ul.schoollife-list{
}
ul.schoollife-list li{
  margin-bottom:15px;
  position:relative;
  background-color:rgba(0,86,140,0.8);
}
ul.schoollife-list li::after{
  content:"";
  border-bottom:30px solid #FFF;
  border-left:30px solid transparent;
  position:absolute;
  bottom:0; right:0;
}
ul.schoollife-list li a{
  display:flex;
  justify-content:space-between;
  text-decoration:none;
  color:#FFF;
}
ul.schoollife-list li:nth-child(even) a{
  flex-direction:row-reverse;
}
ul.schoollife-list li a figure{
  width:450px; height:280px;
  background-repeat:no-repeat;
  background-position:center center;
  background-size:100% auto;
  transition:0.2s ease-in;
}
ul.schoollife-list li a:hover figure{
  background-size:110% auto;
  transition:0.2s ease-in;
}
ul.schoollife-list li.festival figure{
  background-image:url(../../img/schoollife/index/2023/image07.jpg);
}
ul.schoollife-list li.club figure{
  background-image:url(../../img/schoollife/index/image10.jpg);
}
ul.schoollife-list li.uniform figure{
  background-image:url(../../img/schoollife/index/2023/image08.jpg);
}
ul.schoollife-list li.calendar figure{
  background-image:url(../../img/schoollife/index/image12.jpg);
}
ul.schoollife-list li .text-box{
  flex:1;
  text-align:left;
  padding:30px 35px;
}
ul.schoollife-list li a h3{
  font-size:22px; line-height:1.6;
  color:#FFF;
  border-bottom:1px solid #FFF;
  margin-bottom:10px;
  padding-right:50px;
  position:relative;
}
ul.schoollife-list li h3 span{
  display:block;
  font-size:16px; line-height:1.6;
}
ul.schoollife-list li p{
  margin:0 !important;
}
ul.schoollife-list li .more{
  margin:20px auto 0;
  font-size:14px; line-height:1.6; font-weight:bold;
  text-align:right;
  padding-right:12px;
  position:relative;
  transition:0.2s ease-in-out;
}
ul.schoollife-list li a:hover .more{
  text-decoration:underline;
  color:#FFF;
  transition:0.2s ease-in-out;
}
ul.schoollife-list li .more::after{
  content:"";
  border-left:5px solid #fff;
  border-top:5px solid transparent;
  border-bottom:5px solid transparent;
  position:absolute;
  top:50%; right:0;
  transform:translateY(-50%);
  transition:0.2s ease-in-out;
}

/* festival */
.fes-column{
  padding:30px 40px;
  background:rgba(235,135,128,0.04);
  display:flex;
  justify-content:space-between;
  flex-direction:row-reverse;
}
.fes-column figure{
  width:200px;
  margin:0 0 0 25px;
}
.fes-column p{
  flex:1;
  margin:0;
}
ul.fes-gallery{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
}
ul.fes-gallery li{
  box-sizing:border-box;
  width:33.333%;
  border:2px solid #FFF;
}

/* uniform */
ul.uniform-list{
  display:flex;
  justify-content:space-between;
  margin:0 auto 50px;
}
ul.uniform-list li{
  width:22%;
}
ul.uniform-list li img{
  width:auto; height:640px;
  margin:60px auto 10px;
}
ul.uniform-list li:first-child img{
  width:auto; height:700px;
  margin-top:0;
}
ul.uniform-list li .caption{
  font-size:15px; line-height:2;
  text-align:center;
}
ul.uniform-list li .caption strong{
  display:block;
  color:#FFF;
  background:rgba(0,86,140,0.6);
}
.uniform-container{
  display:flex;
  justify-content:space-between;
  position:relative;
}
/*
.uniform-container::before{
  content:"";
  height:100%;
  border-left:1px solid rgba(0,86,140,0.3);
  position:absolute;
  top:0; left:50%;
}
*/
.uniform-boys,
.uniform-girls{
  width:45%;
}
.uniform-box{
  margin:0 auto 50px;
  font-size:15px; line-height:1.8;
}
.uniform-box h3{
  font-size:19px; line-height:1.7;
  color:#3471AD;
}
.uniform-box h3::before{
  content:"";
  width:100%;
  border-top:1px solid #3471AD;
  position:absolute;
  top:50%; left:0;
  margin-top:-1px;
}
.uniform-box h3 span{
  background:#FFF;
  position:relative;
  padding-right:12px;
}
.uniform-box p{
  margin-bottom:0;
}
.uniform-box figure.uniform-parts01{
  margin:0 auto 15px;
}
.uniform-box figure.uniform-parts02{
  width:80%;
  margin:0 auto 15px;
}
.uniform-box .right{
  margin:0 0 0 30px;
}

/*　calendar */
.calendar-box{
  margin:50px 0 60px 50px;
//  border:1px solid rgba(0,86,140,0.6);
  background:rgba(0,86,140,0.03);
  padding:25px 25px 25px 80px;
  display:flex;
  justify-content:space-between;
  position:relative;
}
.calendar-box .month{
  width:100px; height:100px;
  background:var(--course05-color);
  background:#6699BA;
  margin-right:30px;
  text-align:center;
  font-family:"Roboto", sans-serif;
  font-weight:400;
  font-size:15px;
  color:#FFF;
  position:absolute;
  top:-25px; left:-50px;
}
.calendar-box .month strong{
  font-size:40px; line-height:100px;
  font-weight:400;
  margin-right:5px;
}
.calendar-box figure{
  width:280px;
  margin-left:30px;
}
.calendar-box figure figcaption{
  font-size:14px; line-height:1.6;
  text-align:center;
  margin-top:5px;
}
.calendar-box ul{
  flex:1;
}
.calendar-box ul li{
  list-style:disc outside;
  margin:0 0 0 20px;
}

/* 入試情報 */
table.admissions-table{
  width:100%;
  border-collapse:collapse;
  margin:0 auto 35px auto;
  font-size:15px; line-height:1.8;
}
table.admissions-table tr{
  border-top:1px solid #ccc;
}
table.admissions-table tr:first-child{
  border-top:3px solid rgba(168,73,122,1);
}
table.admissions-table th{
  width:25%;
//  border-right:1px solid #ccc;
  padding:20px 20px;
  text-align:left; vertical-align:top;
  color:#555;
  white-space:nowrap;
  background:rgba(168,73,122,0.05);
}
table.admissions-table td{
  padding:20px 20px;
  text-align:left;
}

ul.admissions-apply-flow{
  margin-bottom:35px;
}
ul.admissions-apply-flow > li{
  box-sizing:border-box;
  width:100%;
  padding:1em 1.5em;
  border:1px solid rgba(168,73,122,1);
  border-radius:5px;
  display:flex;
  justify-content:space-between;
  position:relative;
}
ul.admissions-apply-flow > li:not(:last-child){
  margin-bottom:2em;
}
ul.admissions-apply-flow > li:not(:last-child)::after{
  content:"";
  border-top:1.1em solid rgba(168,73,122,1);
  border-left:1em solid transparent;
  border-right:1em solid transparent;
  position:absolute;
  bottom:0; left:3em;
  transform:translateY(100%);
}
ul.admissions-apply-flow > li > h4{
  font-size:1.1em; line-height:1.6;
  color:rgba(168,73,122,1);
  width:9em;
}
ul.admissions-apply-flow > li > .text-box{
  flex:1;
}

table.expense-table{
  width:100%;
  border-collapse:collapse;
  margin:0 auto 15px auto;
  font-size:15px; line-height:1.8;
}
table.expense-table thead th{
  padding:20px 5px;
  text-align:center; vertical-align:middle;
  font-size:14px; line-height:1.8;
  color:#555;
  background:rgba(168,73,122,0.05);
}
table.expense-table thead tr:first-of-type th:not(:first-of-type){
  border-left:1px solid #ccc;
}
table.expense-table thead tr:last-of-type th{
  border-left:1px solid #ccc;
  border-top:1px solid #ccc;
}
table.expense-table tbody tr{
  border-top:1px solid #ccc;
}
table.expense-table tbody tr:first-child{
  border-top:3px solid rgba(168,73,122,1);
}
table.expense-table tbody th{
//  border-right:1px solid #ccc;
  padding:20px 20px;
  text-align:left; vertical-align:top;
  font-size:14px; line-height:1.8;
  color:#555;
  white-space:nowrap;
  background:rgba(168,73,122,0.05);
  background:#F9F9F9;
}
table.expense-table tbody td{
  padding:20px 20px;
  text-align:center;
  border-left:1px solid #CCC;
}

ul.admissions-menu{
  display:flex;
  justify-content:space-between;
  margin-bottom:35px;
}
ul.admissions-menu li{
  width:19%;
  background:#ebebeb;
  font-size:14px; line-height:2.4; font-weight:bold;
  text-align:center;
  position:relative;
  cursor:pointer;
}
ul.admissions-menu li.active{
  background:rgba(168,73,122,1);
  color:#FFF;
}
ul.admissions-menu li.active::after{
  content:"";
  border-top:10px solid rgba(168,73,122,1);
  border-left:10px solid transparent;
  border-right:10px solid transparent;
  position:absolute;
  bottom:-10px; left:50%;
  margin-left:-10px;
}

.admissions .admissions-application-title{
  text-align:center;
}
.admissions .admissions-application-title h3{
  font-size:28px; line-height:1.8;
  margin-bottom:0;
}
.admissions .admissions-application-title p{
  margin-bottom:10px;
}

/* 進路情報 results */
ul.results-menu{
  display:flex;
}
ul.results-menu li{
  background:#ebebeb;
  font-size:14px; line-height:2.4; font-weight:bold;
  text-align:center;
  padding:0 2em;
  margin-right:15px;
  position:relative;
  cursor:pointer;
}
ul.results-menu li.active{
  background:var(--main-color);
  color:#FFF;
}
ul.results-menu li.active::after{
  content:"";
  border-top:10px solid var(--main-color);
  border-left:10px solid transparent;
  border-right:10px solid transparent;
  position:absolute;
  bottom:-10px; left:50%;
  margin-left:-10px;
}

table.result-table{
  width:95%;
  margin:0 0 50px 5%;
  border-collapse:collapse;
  font-size:15px; line-height:1.8;
  border:1px solid #CCC;
}
table.result-table caption{
  font-size:18px; line-height:1.8; font-weight:bold;
  text-align:left;
  margin-bottom:10px;
}
table.result-table caption span{
  display:block;
}
table.result-table caption span::before{
  content:"◆";
  margin-right:3px;
}
table.result-table caption span.course01{color:var(--course01-color);}
table.result-table caption span.course02{color:var(--course02-color);}
table.result-table caption span.course03{color:var(--course03-color);}
table.result-table caption span.course04{color:var(--course04-color);}
table.result-table caption span.course05{color:var(--course05-color);}
table.result-table tr{
  border-top:1px solid #CCC;
  background:rgba(0,86,140,0.03);
}
table.result-table tr:nth-of-type(even){
  background:rgba(0,86,140,0);
}
table.result-table th{
  width:140px;
  color:#666;
  vertical-align:top;
  padding:10px 20px;
}
table.result-table td{
  display:flex;
  flex-wrap:wrap;
  padding:10px 20px;
}
table.result-table td span{
  display:inline-block;
  margin-right:2em;
}

/* 卒業生インタビュー voice */
ul.voice-menu{
  display:flex;
  flex-wrap:wrap;
}
ul.voice-menu li{
  font-size:15px; line-height:36px; font-weight:bold;
  margin-right:1em;
  margin-bottom:15px;
}
ul.voice-menu li a{
  display:block;
  text-decoration:none;
  padding:0 1.8em;
  color:var(--base-color);
  border-radius:18px;
  border:1px solid #CCC;
}
ul.voice-menu li a:hover{
  color:#FFF;
}
ul.voice-menu li.course01 a{
  background:#F2FAF9;
  border-color:var(--course01-color);
}
ul.voice-menu li.course01 a:hover{background:var(--course01-color);}
ul.voice-menu li.course02 a{
  background:#F2FAFC;
  border-color:var(--course02-color);
}
ul.voice-menu li.course02 a:hover{background:var(--course02-color);}
ul.voice-menu li.course03-1 a,
ul.voice-menu li.course03-2 a,
ul.voice-menu li.course03-3 a{
  background:#FCF8F4;
  border-color:var(--course03-color);
}
ul.voice-menu li.course03-1 a:hover,
ul.voice-menu li.course03-2 a:hover,
ul.voice-menu li.course03-3 a:hover{background:var(--course03-color);}
ul.voice-menu li.course04 a{
  background:#FAF8F9;
  border-color:var(--course04-color);
}
ul.voice-menu li.course04 a:hover{background:var(--course04-color);}
ul.voice-menu li.course05 a{
  background:#FFFAFA;
  border-color:var(--course05-color);
}
ul.voice-menu li.course05 a:hover{background:var(--course05-color);}

ul.filter-nav{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  margin:0 auto 60px;
}
ul.filter-nav li{
  font-size:14px; line-height:34px; font-weight:bold;
  margin:0 5px 10px;
}
ul.filter-nav li a{
  display:block;
  text-decoration:none;
  padding:0 1.8em;
  color:var(--base-color);
  background:#FFF;
  border-radius:18px;
  border:1px solid #CCC;
  cursor:pointer;
}
ul.filter-nav li a:hover{
  background:#999;
  color:#FFF;
}
ul.filter-nav li.course01 a{
  background:#F2FAF9;
  border-color:var(--course01-color);
}
ul.filter-nav li.course01 a:hover{background:var(--course01-color);}
ul.filter-nav li.course02 a{
  background:#F2FAFC;
  border-color:var(--course02-color);
}
ul.filter-nav li.course02 a:hover{background:var(--course02-color);}
ul.filter-nav li.course03-1 a,
ul.filter-nav li.course03-2 a,
ul.filter-nav li.course03-3 a{
  background:#FCF8F4;
  border-color:var(--course03-color);
}
ul.filter-nav li.course03-1 a:hover,
ul.filter-nav li.course03-2 a:hover,
ul.filter-nav li.course03-3 a:hover{background:var(--course03-color);}
ul.filter-nav li.course04 a{
  background:#FAF8F9;
  border-color:var(--course04-color);
}
ul.filter-nav li.course04 a:hover{background:var(--course04-color);}
ul.filter-nav li.course05 a{
  background:#FFFAFA;
  border-color:var(--course05-color);
}
ul.filter-nav li.course05 a:hover{background:var(--course05-color);}

.voice section#course01 h2{color:var(--course01-color);}
.voice section#course01 h2::before{border-top-color:var(--course01-color);}
.voice section#course02 h2{color:var(--course02-color);}
.voice section#course02 h2::before{border-top-color:var(--course02-color);}
.voice section#course03-1 h2{color:var(--course03-color);}
.voice section#course03-1 h2::before{border-top-color:var(--course03-color);}
.voice section#course03-2 h2{color:var(--course03-color);}
.voice section#course03-2 h2::before{border-top-color:var(--course03-color);}
.voice section#course03-3 h2{color:var(--course03-color);}
.voice section#course03-3 h2::before{border-top-color:var(--course03-color);}
.voice section#course04 h2{color:var(--course04-color);}
.voice section#course04 h2::before{border-top-color:var(--course04-color);}
.voice section#course05 h2{color:var(--course05-color);}
.voice section#course05 h2::before{border-top-color:var(--course05-color);}

ul.voice-list{
  display:flex;
  flex-wrap:wrap;
}
ul.voice-list li{
  width:22%;
  margin:0 1.5% 35px;
}
/*
ul.voice-list li:nth-child(4n){
  margin-right:0;
}
*/
ul.voice-list li a{
  display:block;
  text-decoration:none;
  color:var(--base-color);
}
ul.voice-list li figure{
  box-sizing:border-box;
  width:100%;
  border:1px solid #f0f0f0;
  margin-bottom:10px;
}
ul.voice-list li a h3{
  font-size:18px; line-height:1.8;
  color:var(--link-color);
  margin:5px 0;
}
ul.voice-list li a h3 .small{
  font-size:16px;
  margin-left:3px;
}
ul.voice-list li a:hover h3{
  text-decoration:underline;
}
ul.voice-list li a p{
  font-size:0.8em; line-height:1.8;
  margin:0;
}
ul.voice-list li a .course-tag{
  display:inline-block;
  font-size:0.75em; line-height:1.8;
  padding:0 1em;
  border-radius:15px;
}
ul.voice-list li a .tag-course01{
  background:rgba(0,163,152,0.2);
}
ul.voice-list li a .tag-course02{
  background:rgba(0,171,201,0.2);
}
ul.voice-list li a .tag-course03-1,
ul.voice-list li a .tag-course03-2,
ul.voice-list li a .tag-course03-3{
  background:rgba(245,147,0,0.2);
}
ul.voice-list li a .tag-course04{
  background:rgba(164,127,153,0.2);
}
ul.voice-list li a .tag-course05{
  background:rgba(235,135,128,0.2);
}

.message ul.voice-list li a h3{
  font-size:16px; line-height:1.8;
  margin-bottom:0px;
}
.message ul.voice-list li a h3 .small{
  font-size:15px;
  margin-left:2px;
}
.message ul.voice-list li a p{
  font-size:13px; line-height:1.8;
  margin:0;
}

section#voice h2{
  font-size:21px; line-height:1.8;
  padding-left:42px;
}
section#voice.course01 h2{color:var(--course01-color);}
section#voice.course02 h2{color:var(--course02-color);}
section#voice.course03-1 h2{color:var(--course03-color);}
section#voice.course03-2 h2{color:var(--course03-color);}
section#voice.course03-3 h2{color:var(--course03-color);}
section#voice.course04 h2{color:var(--course04-color);}
section#voice.course05 h2{color:var(--course05-color);}

section#voice h2::before{
  content:"";
  width:36px; height:36px;
  background-image:url(../../img/index/icon_course01.png);
  background-color:var(--course01-color);
  background-repeat:no-repeat;
  background-position:center center;
  border-radius:100%;
  border:none;
  position:absolute;
  top:0; left:0;
}
section#voice.course01 h2::before{
  background-image:url(../../img/index/icon_course01.png);
  background-color:var(--course01-color);
  background-size:20px auto;
}
section#voice.course02 h2::before{
  background-image:url(../../img/index/icon_course02.png);
  background-color:var(--course02-color);
  background-size:20px auto;
}
section#voice.course03-1 h2::before{
  background-image:url(../../img/index/icon_course03-1.png);
  background-color:var(--course03-color);
  background-size:26px auto;
}
section#voice.course03-2 h2::before{
  background-image:url(../../img/index/icon_course03-2.png);
  background-color:var(--course03-color);
  background-size:22px auto;
}
section#voice.course03-3 h2::before{
  background-image:url(../../img/index/icon_course03-3.png);
  background-color:var(--course03-color);
  background-size:22px auto;
}
section#voice.course04 h2::before{
  background-image:url(../../img/index/icon_course04.png);
  background-color:var(--course04-color);
  background-size:26px auto;
}
section#voice.course05 h2::before{
  background-image:url(../../img/index/icon_course05.png);
  background-color:var(--course05-color);
  background-size:24px auto;
}

.voice-title{
  width:400px;
  margin-right:50px;
  position:relative;
}
.voice-title figure{
  margin-bottom:30px;
  position:relative;
}
.voice-title figure img{
  position:relative; z-index:2;
}
.voice-title figure::after{
  content:"";
  width:100%; height:100%;
  background:#CCC;
  position:absolute;
  bottom:-15px; right:-15px;
}
section.course01 .voice-title figure:after{background:rgba(0,163,151,0.4);}
section.course02 .voice-title figure:after{background:rgba(0,170,201,0.4);}
section.course03-1 .voice-title figure:after,
section.course03-2 .voice-title figure:after,
section.course03-3 .voice-title figure:after{background:rgba(245,149,0,0.4);}
section.course04 .voice-title figure:after{background:rgba(164,127,153,0.4);}
section.course05 .voice-title figure:after{background:rgba(235,135,128,0.4);}

section#voice article h2{
  font-size:21px; line-height:1.8;
  color:var(--main-color) !important;
  margin-bottom:0px;
  padding:0;
}
section#voice article h2::before{
  display:none;
}
section#voice article h2 span.small{
  font-size:18px;
  margin-left:5px;
}
section#voice h3{
  font-size:24px; line-height:1.8;
  margin-bottom:15px;
}
.voice-title ul.voice-data-list li{
  font-size:14px; line-height:1.8;
}
.voice-title ul.voice-data-list li span.junior-high-school{
  display:inline-block;
}
section#voice article{
  flex:1;
}
section#voice article p{
  margin-bottom:15px;
}
section#voice article .text-box{
  border-top:1px dashed #999;
  margin-top:25px;
  padding-top:25px;
}

section.voice-related{
  padding:100px 0 0;
  border-top:1px solid #CCC;
}
.voice-related ul.voice-list{
  justify-content:space-between;
}
.voice-related ul.voice-list li{
  width:31%;
  margin:0 0 25px;
}
.voice-related ul.voice-list li a{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
}
.voice-related ul.voice-list li a figure{
  width:100px;
  margin:0 12px 0 0;
  position:relative;
}
.voice-related ul.voice-list li a .text-box{
  flex:1;
}
.voice-related ul.voice-list li a h3{
  font-size:18px; line-height:1.8;
  margin:0;
}
.voice-related ul.voice-list li a h3 .small{
  font-size:16px;
}
.voice-related ul.voice-list li a .course-tag{
  display:block;
  font-size:0.8em; line-height:1.8; font-weight:bold;
  padding:0;
  background:#FFF !important;
}
.voice-related ul.voice-list li a .tag-course01{
  color:var(--course01-color);
}
.voice-related ul.voice-list li a .tag-course02{
  color:var(--course02-color);
}
.voice-related ul.voice-list li a .tag-course03-1,
.voice-related ul.voice-list li a .tag-course03-2,
.voice-related ul.voice-list li a .tag-course03-3{
  color:var(--course03-color);
}
.voice-related ul.voice-list li a .tag-course04{
  color:var(--course04-color);
}
.voice-related ul.voice-list li a .tag-course05{
  color:var(--course05-color);
}

section.voice-related .button{
  margin:20px 0 0;
  text-align:right;
}
section.voice-related .button a span{
  position:relative;
  z-index:10;
}
section.voice-related .button a{
  display:inline-block;
  text-decoration:none;
  font-size:14px; line-height:1.8; font-weight:bold;
  border:1px solid var(--main-color);
  padding:8px 3em 6px;
  position:relative;
  transition:0.2s ease-in-out;
}
section.voice-related .button a:hover{
  color:#FFF;
  transition:0.2s ease-in-out;
}
section.voice-related .button a::before{
  content:"";
  width:0%; height:100%;
  position:absolute;
  top:0; left:0;
  background:var(--main-color);
  transition:0.2s ease-in-out;
}
section.voice-related .button a:hover::before{
  width:100%;
  transition:0.2s ease-in-out;
}
section.voice-related .button a::after{
  content:"";
  border-left:5px solid var(--main-color);
  border-top:5px solid transparent;
  border-bottom:5px solid transparent;
  position:absolute;
  top:50%; right:10px;
  transform:translateY(-50%);
  transition:0.2s ease-in-out;
}
section.voice-related .button a:hover::after{
  border-left-color:#fff;
  transition:0.2s ease-in-out;
}

/* 卒業生のお店 */
ul.shop-list{
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
}
ul.shop-list li{
  width:47%;
  margin-bottom:40px;
}
ul.shop-list li a{
  display:block;
  text-decoration:none;
  color:var(--base-color);
}
ul.shop-list li figure{
  box-sizing:border-box;
  width:100%; height:280px;
  position:relative;
  margin-bottom:10px;
  overflow:hidden;
}
ul.shop-list li figure img{
  position:absolute;
  top:50%; left:0;
  transform:translateY(-50%);
}
ul.shop-list li figure.dummy{
  border:1px solid #CCC;
}
ul.shop-list li figure.dummy img{
  width:70%;
  left:15%;
}
ul.shop-list li a h3{
  font-size:20px; line-height:1.8;
  color:#1170a4;
  margin-bottom:0px;
}
ul.shop-list li a h3 .city{
  font-size:16px; font-weight:normal;
  color:#333;
  margin-left:3px;
}
ul.shop-list li a:hover h3{
  text-decoration:underline;
}
ul.shop-list li a .shop-data{
  font-size:14px; line-height:1.8;
  margin:0;
}

ul.side-shop-list li{
  margin:15px 0;
}
ul.side-shop-list li a{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  text-decoration:none;
  color:var(--base-color);
}
ul.side-shop-list li a figure{
  box-sizing:border-box;
  width:64px;
  margin-right:12px;
}
ul.side-shop-list li a figure.dummy{
  border:1px solid #f0f0f0;
}
ul.side-shop-list li a .text-box{
  flex:1;
}
ul.side-shop-list li a h3{
  font-size:15px; line-height:1.8;
  color:#1170a4;
  margin-bottom:0;
}
ul.side-shop-list li a:hover h3{
  text-decoration:underline;
}
ul.side-shop-list li a p{
  font-size:13px; line-height:1,8;
  margin-bottom:0;
}

section.shop h2{
  margin-bottom:0px;
}
section.shop .shop-info{
  font-size:15px; line-height:1.8;
  margin-bottom:35px;
}
section.shop article{
  margin-bottom:50px;
}
section.shop article h3{
  color:var(--course05-color);
}
section.shop article p{
  margin-bottom:10px;
}
.shop-data{
  display:flex;
  justify-content:space-between;
}
.shop-data .shop-data-box{
  flex:1;
}
.shop-data .shop-map{
  width:500px;
  margin-left:50px;
}
.shop-data .shop-map iframe{
  width:100%;
  height:400px;
}

.ob-box{
//  border:1px solid var(--course05-color);
  background:rgba(235,135,128,0.05);
  position:relative;
  padding:15px 20px;
  margin-bottom:35px;
}
.ob-box h4{
  font-size:16px; line-height:24px;
  color:var(--course05-color);
  position:relative;
  margin-bottom:10px;
}
.ob-box h4::before{
  content:"";
  width:100%;
  border-top:1px solid var(--course05-color);
  position:absolute;
  top:50%; left:0;
  margin-top:-1px;
}
.ob-box h4 span{
  display:inline-block;
  background:#FEF9F9;
  padding:0 10px 0 0;
  position:relative;
}
.ob-box figure{
  width:90px;
  margin-right:15px;
}
.ob-box .text-box{
  flex:1;
  font-size:15px; line-height:1.8;
}
.ob-box .ob-position,
.ob-box .ob-name{
  display:inline-block;
  margin-right:5px;
}
.ob-box .ob-name strong{
  font-size:16px; line-height:1.8;
}
ul.shop-data-list li{
  padding:0 0 5px 0;
  font-size:15px; line-height:1.6;
}
ul.shop-data-list li.name{
  font-size:16px; line-height:1.8;
  font-weight:bold;
  border-bottom:1px solid #ccc;
  padding-bottom:10px;
  margin-bottom:10px;
}
ul.shop-data-list li.url a{
  word-break:break-all;
}

/* 学校教育目標と評価 */
.target-box{
  margin-bottom:40px;
}
section .target-box h3{
  font-size:18px; line-height:1.8;
  color:var(--base-color);
  margin-bottom:0px;
}

/* 在校生・保護者の方へ */
.information-box{
  padding:25px 35px;
  border:1px solid var(--main-color);
  margin:60px auto 0;
  position:relative;
}
.information-box h3{
  font-size:18px; line-height:36px;
  color:var(--main-color);
  position:absolute;
  top:-18px; left:-1px;
}
.information-box h3 span{
  display:inline-block;
  background:#FFF;
  padding-right:18px;
}
.information-box p{
  margin:0;
}

/* 資料請求・お問い合わせ */
table.contact-table{
  width:100%;
  margin:0 auto;
  border-collapse:collapse;
}
table.contact-table caption{
  font-size:15px; line-height:2;
  text-align:left;
  margin-bottom:10px;
}
table.contact-table th,
table.contact-table td{
  padding:15px 0;
}
table.contact-table th{
  width:200px;
  vertical-align:top;
  color:#666;
  font-size:15px;
}
table.contact-table .wpcf7-list-item{
  margin:0;
}
table.contact-table label .wpcf7-list-item-label{
  margin-left:5px;
}
table.contact-table .input-zip{
  display:inline-block;
  width:180px;
  padding-left:25px;
  position:relative;
  margin:0 30px 15px 0;
}
table.contact-table .input-zip::before{
  content:"〒";
  position:absolute;
  top:50%; left:0;
  transform:translateY(-50%);
}
table.contact-table .select-pref{
  display:inline-block;
  width:240px;
}
table.contact-table .center{
  padding:30px 0;
  text-align:center;
}
table.contact-table .center p{
  margin:0 auto 20px !important;
}
table.contact-table input[type="submit"]{
  display:block;
  width:340px; height:48px; font-weight:bold;
  margin:0 auto;
  background:#FFF;
  border-color:var(--main-color);
  color:var(--main-color);
  cursor:pointer;
  transition:0.3s;
}
table.contact-table input[type="submit"]:hover{
  background:var(--main-color);
  border-color:var(--main-color);
  color:#FFF;
  transition:0.3s;
}
table.contact-table input[type="submit"]:disabled{
  color:#666;
  border-color:#999;
  background:#CCC;
  transition:0.3s;
  cursor:not-allowed;
  transition:0.3s;
}

/* 新着情報 一覧 */
ul.topics-archive-list{
  margin-bottom:50px;
}
ul.topics-archive-list li{
  padding-bottom:25px;
  margin-bottom:25px;
  border-bottom:1px dashed #999;
}
ul.topics-archive-list li a{
  display:block;
  text-decoration:none;
  color:#333;
  position:relative;
}
ul.topics-archive-list li a .entry-info{
  display:flex;
  align-items:center;
  margin-bottom:5px;
  font-size:13px; line-height:1.4;
}
ul.topics-archive-list li a .entry-date{
}
ul.topics-archive-list li a .entry-category{
  color:var(--base-color);
//  background:rgba(0,86,140,0.1);
//  background:#F3F3F3;
//  padding:3px 1em 2px;
//  margin-left:1em;
}
ul.topics-archive-list li a .entry-category::before{
  content:"/";
  margin:0 5px;
}
ul.topics-archive-list li a .entry-title{
  font-weight:bold;
  color:#1170a4;
}
ul.topics-archive-list li a:hover .entry-title{
  text-decoration:underline;
}
.pagenavi-box{
  display:block;
  width:100%;
}
.pagenavi-box .wp-pagenavi{
  padding:0;
  float:none !important;
}

/* 記事 */
section.entry > .entry-title{
  margin-bottom:35px;
}
section.entry > .entry-title .entry-date{
  font-size:15px; line-height:1.8;
}
section.entry > .entry-title .entry-date > .category{
  font-size:0.95em;
}
section.entry > .entry-title .entry-date > .category::before{
  content:"｜";
  margin:0 0.5em;
}
section.entry > .entry-title .entry-date > .category a{
  color:var(--base-color);
}
section.entry > .entry-title .entry-date > .category a:hover{
  color:var(--link-color);
}
section.entry > .entry-title h2{
  font-weight:normal;
  margin-bottom:25px;
}
section.entry > .entry-title h2::before{
  display:none;
}
section.entry .entry-body img{
  max-width:100%;
  height:auto;
}
section ul.entry-bottom{
  border-top:1px solid #CCC;
  margin:40px 0 0;
  padding:30px 0 0;
  display:flex;
  justify-content:center;
}
section ul.entry-bottom li{
  font-size:14px; line-height:1.8;
}
section ul.entry-bottom li:nth-child(2)::before{
  content:"｜";
  margin:0 1em;
}

/* 美工ギャラリー */
ul.gallery-list{
  display:flex;
  flex-wrap:wrap;
}
ul.gallery-list li{
  width:30%;
  margin:0 5% 35px 0;
}
ul.gallery-list li:nth-child(3n){
  margin-right:0;
}
ul.gallery-list li a{
  display:block;
  text-decoration:none;
  color:var(--base-color);
  margin-bottom:10px;
}
ul.gallery-list li figure{
  box-sizing:border-box;
  width:100%;
}
ul.gallery-list li h3{
  font-size:17px; line-height:1.8;
  margin-bottom:0;
}
ul.gallery-list li p{
  font-size:15px; line-height:1.8;
  margin:0;
}
ul.gallery-list li p.data{
  font-size:13px; line-height:1.8;
}
ul.gallery-list li p.description{
  display:none;
}

#gallery-list.my-gallery{
  display:flex;
  flex-wrap:wrap;
}
#gallery-list.my-gallery > figure{
  width:30%;
  margin:0 5% 35px 0;
}
#gallery-list.my-gallery > figure:nth-of-type(3n){
  margin-right:0;
}
#gallery-list.my-gallery > figure a{
  display:block;
  text-decoration:none;
  color:var(--base-color);
  margin-bottom:10px;
}
#gallery-list.my-gallery h3{
  font-size:17px; line-height:1.8;
  margin-bottom:0;
}
#gallery-list.my-gallery p{
  font-size:15px; line-height:1.8;
  margin:0;
}
#gallery-list.my-gallery p.data{
  font-size:13px; line-height:1.8;
}
#gallery-list.my-gallery p.description{
  display:none;
}

.pswp__bg{
  background:rgba(0,0,0,0.95) !important;
}
.drawer .pswp__caption{
  background:rgba(0,0,0,0) !important;
}
.pswp__caption__center{
  max-width:100% !important;
  color:#FFF !important;
  padding-bottom:30px !important;
  text-align:center !important;
}
.pswp__caption__center h3{
 font-size:18px; line-height:1.8; font-weight:bold;
// margin-bottom:5px;
}
.pswp__caption__center p{
  font-size:14px; line-height:1.8;
}
.pswp__caption__center p.creator{
  font-size:16px; line-height:1.8;
}
.pswp__caption__center p.description{
  margin-top:10px;
}

/*平和教育の取り組み*/
.peace-approach .funder-column{
  margin-bottom:35px;
}
.peace-approach .funder-column p{
  margin-bottom:0.5em;
}
.peace-approach .funder-column  figure img{
  width:250px;
  height:auto;
}
.peace-approach .funder-column > ul > li{
  margin-bottom:1.9em;
}
.peace-approach .funder-column > ul > li:not(:last-of-type){
  border-bottom:1px solid #ccc;
  padding-bottom:2.2em;
}
.peace-approach .funder-column > ul > li:nth-of-type(4) figure img{
  width:auto;
  height:260px;
}
.peace-approach .funder-column ul.flex{
  gap:0.5em;
}
