@charset "utf-8";
/* CSS Document */
.open_menu{cursor: pointer}

.cate1 .box_wrap{
	gap: 80px;
}
.cate1 .box_wrap .imgbox{
	width: calc(40% - 40px);
	filter: drop-shadow(0 20px 20px rgba(0, 0, 0, 0.2));
}
.cate1 .box_wrap .txtbox{
	width: calc(60% - 40px);
}
.cate1 .box_wrap .txtbox h2{
	color: #37A1DB;
	padding-bottom: 8px;
	margin-bottom: 25px;
	border-bottom: 2px dotted #A7DEF2;
}
.cate1 .box_wrap .imgbox img{
    border-radius: 40px;
}
.pagelinks_box{
	gap: 60px;
	padding-bottom: 30px;
	justify-content: flex-start;
	border-bottom: #A7DEF2 1px solid;
}
.pagelinks_wrap .txt1{
	color: #37A1DB;
	font-family: "Cormorant", "Noto Sans JP", "游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", serif;
}
.pagelinks_d a{
	border-bottom: none;
}
.pagelinks_d a > .flex .more-icon{
	width: 20px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	border: 2px solid #37A1DB;
	background-color: #37A1DB;
	transition: transform 0.25s ease;
}
/* ---------- cate2 ---------- */
.cate2 .box_wrap{
	flex-direction: column;
	gap: 40px;
} 
.cate2 .box_wrap .topbox{
	width: 100%;
	background-color: #43B8DB;
	border-radius: 200px;
	padding: 15px 20px;
    position: relative;
} 
.cate2 .box_wrap .topbox::after{
  content: "";
  position: absolute;
  left: 50%;
  bottom: -12px;
  transform: translateX(-50%);
  width: 44px;
  height: 24px;
  background-color: #43B8DB;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.cate2 .box_wrap .boxitem{
	width: 100%;
	flex-direction: column;
	gap: 20px;
	background-color: #C9EEFC;
	padding: 50px;
	border-radius: 10px;
} 
.cate2 .box_wrap .boxitem .boxitem_bottom{
	gap: 20px;
	width: 100%;
	align-items: stretch;
}
.cate2 .box_wrap .boxitem .boxitem_bottom .bottomitem{
	background-color: #fff;
	padding: 40px 20px;
	width: calc((100% - 40px)/3);
	border-radius: 10px;
}

.cate2 .box_wrap .boxitem .boxitem_bottom .bottomitem p{
	color: #37A1DB;
}
.cate2 .box_wrap .boxitem .txt1{
	color: #43B8DB;
	border-bottom: #43B8DB 1px solid;
	padding-bottom: 5px;
} 
.cate2 .box_wrap .boxitem_bottom_wrap h4{
	width: 100%;
	background-color: #43B8DB;
	border-radius: 10px;
	padding: 5px 20px;
	margin-bottom: 20px;
} 
.cate2 .box_wrap .boxitem .txt2{
	width: 100%;
} 
/* ---------- cate2-2 ---------- */
.cate2.cate2-2{
	flex-direction: column;
	gap: 40px;
}
.cate2.cate2-2 .boxitem_bottom_wrap{
    width: 100%;
}

.cate2.cate2-2 .boxitem_bottom{
    width: 100%;
}

.cate2.cate2-2 .boxitem_bottom .bottomitem{
    width: calc(50% - 10px);
}
/* ---------- cate3 ---------- */
.cate3 {
	flex-direction: column;
	gap: 40px;
}
.cate3 .box_wrap{
	gap: 80px;
	position: relative;
	border: #A7DEF2 solid 1px;
	padding: 50px;
	border-radius: 20px;
}
.cate3 .box_wrap .imgbox{
	width: calc(40% - 40px);
}
.cate3 .box_wrap .txtbox{
	width: calc(60% - 40px);
}
.cate3 .box_wrap .txtbox h2{
	color: #37A1DB;
	padding-bottom: 8px;
	margin-bottom: 25px;
	border-bottom: 1px solid #E6E6E6;
}
.cate3 .box_wrap .imgbox img{
	border-radius: 10px;
}
.more_school{
	position: absolute;
    top: -50px;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
	width: fit-content;
    max-width: calc(100% - 40px);
}
.more_school a{
    width: 100%;
}
.more_school a > div{
    gap: 10px;
    flex-wrap: nowrap;
    white-space: nowrap;
}

.more_school a > div > div{
    flex-shrink: 0;
}
.more_school .arrow_icon{
    position: relative;
	background-color: #37A1DB !important;
    z-index: 5;
    overflow: visible;
	flex-shrink: 0;
}
.more_school .arrow_icon::before,
.more_school .arrow_icon::after{
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 12px;
    height: 2px;
    background-color: #fff !important;
    background-image: none !important;
    transform: translate(-50%, -50%);
    opacity: 1;
    z-index: 6;
}
.more_school .arrow_icon::after{
    transform: translate(-50%, -50%) rotate(90deg);
}
.more_school.is-open .arrow_icon::after{
    opacity: 0;
    transform: translate(-50%, -50%) rotate(0deg);
}
.more_school a:hover > div p{
    color: #3F3F3F !important;
}
.more_school a:hover::after{
    transform: translateX(-100%) !important;
}
.more_school .arrow_icon{
    background-color: #37A1DB !important;
}
.more_school a:hover .arrow_icon{
    background-color: #37A1DB !important;
}
.more_school.is-open .arrow_icon::after{
    opacity: 0 !important;
}
/* ---------- 表 ---------- */

.cate3 .school_menu_wrap_all{
	width: 100%;
	max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.5s ease, opacity 0.3s ease;
}
body.gjs-dashed .cate3 .school_menu_wrap_all{
	max-height: 100%!important;
	opacity: 1!important;
}
.cate3 .school_menu_wrap_all.is-open{
    max-height: 100%!important;
    opacity: 1;
}
.cate3 .school_menu_wrap .school_menu{
	width: calc(100% / 3);
	flex-shrink: 0;
}
.cate3 .school_menu_wrap .school_menu h3{
	background-color: #A7DEF2;
	padding: 10px 20px;
}
.cate3 .school_menu_wrap .school_menu p{
	padding: 10px 20px;
	background-color: #F5F5F5;
}
.cate3 .school_menu_wrap .school_menu{
	width: calc(100% / 2);
}
.cate3 .school_menu_wrap{
    width: 100%;
    display: flex;
}
.cate3 .school_menu_wrap .school_menu{
    width: calc(100% / 2);
    flex-shrink: 0;
}
.cate3 .school_menu_wrap .school_menu h3,
.cate3 .school_menu_wrap .school_menu p,.cate3 .school_menu_wrap .school_menu_title{
    padding: 10px 20px;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
}
.cate3 .school_menu_wrap .school_menu h3,.cate3 .school_menu_wrap .school_menu_title{
    background-color: #A7DEF2;
}
.cate3 .school_menu_wrap .school_menu_title{
	border-right: none;
}
.cate3 .school_menu_wrap .school_menu p{
    background-color: #F5F5F5;
}
.cate3 .school_menu_wrap .school_menu:last-child h3,
.cate3 .school_menu_wrap .school_menu:last-child p{
    border-right: none;
}
.cate3 .school_menu_wrap .school_menu p:last-child{
    border-bottom: none;
}
.cate3 .school_menu_wrap .school_menu_title2{color: #37A1DB;}
/* ---------- IEのみ ---------- */
@media all and (-ms-high-contrast: none) {
}
/* ---------- 1280px ~ ---------- */
@media screen and (max-width: 1280px){
}
/* ---------- 1080px ~ ---------- */
@media screen and (max-width: 1080px){
	.cate1 .box_wrap {
		gap: 60px;
	}
	.cate1 .box_wrap .imgbox{
		width: calc(40% - 30px);
	}
	.cate1 .box_wrap .txtbox{
		width: calc(60% - 30px);
	}
	.pagelinks_d {
		gap: 50px;
	}
	.cate2 .box_wrap .boxitem .boxitem_bottom .bottomitem {
		width: calc((100% - 40px) / 2);
	}
	.cate3 .box_wrap {
		gap: 60px;
	}
	.cate3 .box_wrap .imgbox{
		width: calc(40% - 30px);
	}
	.cate3 .box_wrap .txtbox{
		width: calc(60% - 30px);
	}
}
/* ---------- 768px ~ ---------- */
@media screen and (max-width: 768px){
	.cate1 .box_wrap {
		flex-direction: column;
		gap: 40px;
	}
	.cate1 .box_wrap .imgbox{
		width: 60%;
	}
	.cate1 .box_wrap .txtbox{
		width: 100%;
	}
	.pagelinks_wrap .txt1 {
		width: 100%;
	}
	.pagelinks_box {
		gap: 30px;
	}
	.cate2 .box_wrap .boxitem .boxitem_bottom .bottomitem {
		width: 100%;
		padding: 30px 20px;
	}
	.cate2 .box_wrap .boxitem .boxitem_bottom {
		gap: 10px;
	}
	.cate2 .box_wrap .boxitem {
		padding: 30px 20px;
	}
	.cate3 .school_menu_wrap .school_menu h3, .cate3 .school_menu_wrap .school_menu p {
		padding: 8px 10px;
	}
	.cate3 .box_wrap {
		flex-direction: column;
		gap: 40px;
	}
	.cate3 .box_wrap .imgbox{
		width: 60%;
	}
	.cate3 .box_wrap .txtbox{
		width: 100%;
	}
}
/* ---------- 576px ~ ---------- */
@media screen and (max-width: 576px){
	.more_school {max-width: 100%;}
	.more_school .open_menu > .flex{flex-wrap: nowrap;}
	.more_school p{white-space: nowrap;}
	.cate1 .box_wrap {
		gap: 30px;
	}
	.cate1 .box_wrap .imgbox{
		width: 80%;
	}
	.pagelinks_d {
		gap: 20px;
		justify-content: flex-start;
	}
    .pagelinks_d a p {
        font-size: 14px;
    }
	.pagelinks_d a > .flex .more-icon {
		width: 17px;
	}
	.pagelinks_box {
		gap: 20px;
		padding-bottom: 20px;
	}
	.cate2 .box_wrap .boxitem h3{
		font-size: 18px;
	}
	.cate2 .box_wrap .boxitem h3 span{
		font-size: 14px;
	}
	.cate2 .box_wrap .topbox {
		padding: 8px 20px;
	}
    .cate2 .box_wrap .boxitem .boxitem_bottom .bottomitem {
        padding: 20px 20px;
    }
	.cate2 .box_wrap {
		gap: 30px;
	}
	.cate3 .box_wrap {
		gap: 30px;
	}
	.cate3 .box_wrap .imgbox{
		width: 80%;
	}
	.cate3 .school_menu_wrap .school_menu{
		width: calc(100% / 4 * 3);
	}
	.cate3 .school_menu_wrap .school_menu2{
		width: calc(100% / 4 * 1);
	}
	.cate3 .box_wrap{
		padding: 15px;
	}
}
/* ---------- 350px ~ ---------- */
@media screen and (max-width: 350px){
}

