@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');
* {
	box-sizing: border-box;
}
img {
	width: 100%;
	vertical-align: bottom;
}
body {
  font-family: 'Noto Sans JP',"游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  color: #444;/* default_black */
  line-height: 1.8;
  font-size: 16px;
  /* letter-spacing: 0.1em; */
  text-align: justify;
  font-feature-settings: "palt";
  -moz-font-feature-settings: "palt";
  -webkit-font-feature-settings: "palt";
  letter-spacing: 0.02em;
  font-weight: 400;
}
.br_1700 {
	display: none;
}
.bold {
  /* font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif; */
  font-weight: bold;
}
.com_inner {
	width: 100%;
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 20px;
}
.t_color {
	color: #0e7ed0;
	color: #42adfb;
}
/* ---------------------------------- ヘッダー */
.lg_blue span {
	z-index: 1;
}
.lg_blue {
	color: #fff;
	background: linear-gradient(to right, #0e7ed0, #2ea5fc);
	transition: 0.3s;
	position: relative;
}
/* .lg_blue::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(to right, #2ea5fc, #0e7ed0);
	background: black;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	opacity: 0;
	transition: 0.3s;
} */
/* .lg_blue:hover::before {
	opacity: 1;
} */
.lg_blue::before,
.lg_blue::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  content: '';
	background: linear-gradient(to right, #4cb5ff, #0e7ed0);
	background:#fff;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform .4s;
}
.lg_blue:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
  opacity: 0.8;
}
.lg_blue::after {
	/* transform: scale(1,1); */
	transition-delay: 0.1s;
	background: #4bc7c1;
	background: linear-gradient(to right, #2aa2b7, #afc74b);
	/* 	background: linear-gradient(to right, #c0a931, #dccaa3); */
	background: linear-gradient(to right, #e0a332, #e0b800);
	}
.lg_blue:hover::after {
  transform-origin: left top;
  transform: scale(1, 1);
	transition-delay: 0.1s;
}
.header {
	width: 100%;
	height: 80px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: fixed;
	top: 0;
	z-index: 9998;
	/* background: rgba(255,255,255,0.4); */
	transition: 0.3s;
}
.header.is-scroll {
	/* background: rgba(255,255,255,0.6); */
	background: rgba(12,66,106,0.4);
}
.is-scroll  .h_nav li a{
/* 	color: #444; */
}
.h_logo {
	max-width: 180px;
	margin-left: 35px;
}
.h_nav {
	display: flex;
	align-items: center;
	/* padding-right: 100px; */
	/* padding-right: 260px; */
	height: 100%;
}
.nav_list {
	display: flex;
	align-items: center;
	height: 100%;
}
.nav_list > li {
	display: flex;
	align-items: center;
	/* margin-right: 10px; */
	font-size: 14px;
	position: relative;
	height: 100%;
}
.h_nav li a {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: bold;
  /*   position: relative; */
  color: #fff;
  padding: 0 22px;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.h_nav li a span {
	position: relative;
}
.h_nav li a span:before,
.h_nav li a span:after {
	content:"";
	display: block;
	background: #fff;
	width: 0;
	height: 2px;
	position: absolute;
	bottom: -10px;
	transition: 0.3s;
}
.is-scroll .h_nav li a span:before,
.is-scroll .h_nav li a span:after {
/* 	background: #444; */
}
.h_nav li a span:before {
	right: 50%;
}
.h_nav li a span:after {
	left: 50%;
}
.h_nav li a:hover span:before {
	width: 50%;
}
.h_nav li a:hover span:after {
	width: 50%;
}
.h_nav .li_hov {
	/* 事業内容 */
	position: relative;
}
.h_nav .li_hov > a {
	padding-right: 40px;
}
.h_nav .li_hov > a span {
}
.h_nav .li_hov > a::after {
	content: '';
	display: inline-block;
	width: 10px;
	height: 10px;
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translate(0,-50%);
	background-image: url(../img/common/icon_down_white.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}
.is-scroll .h_nav .li_hov > a::after {
/* 	background-image: url(../img/common/icon_down.png); */
}
.fixed_group {
	/* position: fixed; */
	/* top: 0; */
	/* right: 0; */
	display: flex;
	/* align-items: end; */
}
.fix_contact {
	width: 160px;
	height: 80px;
	/* position: fixed;
	top: 0;
	right: 100px;
	z-index: 9997; */
	margin-right: 60px;
	/* position: absolute; */
	/* top: 0; */
	/* right: 0; */
	z-index: 1;
	transition: 0.8s ease;
}
.h_btn_contact {
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	font-size: 14px;
}
.h_btn_contact span {
	position: absolute;	
}
.icon_box {
	background: #e1ebf3;
	background: #fff;
	width: 80px;
	height: 80px;
	width: 60px;
	height: 100vh;
	display: flex;
	justify-content: center;
	align-items: center;
	/* position: fixed;
	top: 0;
	right: 0;
	z-index: 9999; */
	transition: 0.8s ease;
	position: absolute;
	top: 0;
	right: 0;
	cursor: pointer;
}
.is-scroll .fix_contact {
	margin-right: 80px;
}
.is-scroll .icon_box {
	width: 80px;
	height: 80px;
}
.menu_icon {
  width: 36px;
  height: 36px;
  position: relative;
  cursor: pointer;
  font-size: 10px;
}
.menu_icon div {position:relative;width:100%;height: calc(100% - 1.4em);}
.menu_icon p {
	position: relative;
	height: 1em;
	width: 100%;
	position: absolute;
	bottom: 0;
	left:  50%;
	transform: translate(-50%,0);
}
.menu_icon p::before,
.menu_icon p::after {
	content:"メニュー";
	font-size: 10px;
	text-align:center;
	position: absolute;
	bottom: -5px;
	left: 50%;
	transform: translate(-50%,0) scale(0.9);
	line-height: 1;
	transition: 0.3s;
	letter-spacing: 0.1em;
	width: 5em;
}
.menu_icon p::after {
	content: "閉じる";
	opacity: 0;
}
.open .menu_icon p::before {
	opacity: 0;
}
.open .menu_icon p::after {
	opacity: 1;
}
.menu_icon span {
  display: block;
  background: #444;
  width: 100%;
  height: 1px;
  position: absolute;
  transition: 0.3s;
}
.menu_icon span:nth-child(1) {
  top: 0;
}
.menu_icon span:nth-child(2) {
  top: 50%;
  transform: translateY(-50%);

}
.menu_icon span:nth-child(3) {
  bottom: 0;
}
/* アイコン変形 */
.icon_box.open {
	background: transparent;
}
.open .menu_icon span:nth-child(1){
  top:50%;
  transform: translate(0,-50%) rotate(45deg);
}    
.open .menu_icon span:nth-child(2){
  opacity: 0; 
}    
.open .menu_icon span:nth-child(3){
  transform: translate(0,-50%) rotate(-45deg);
  bottom: auto;
  top: 50%;
}


/* ホバー展開ナビ */
.hov_area {
	/* background: rgba(0,0,0,0.5); */
	/* width: 100%;
	height: 100%; */
	width: 100%;
	max-width: 1200px;
	position: fixed;
	top: 80px;
	left: 50%;
	transform: translate(-50%,0);
	/* headerの高さ */
	opacity: 0;
	transition: 0.3s;
	pointer-events: none;
	padding-top: 20px;
}
.hov_area.open {
	opacity: 1;
	pointer-events: auto;
}
.hov_bg {
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.5);
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	opacity: 0;
	transition: 0.3s;
	pointer-events: none;
}
.hov_bg.open {
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.5);
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	opacity: 1;
	transition: 0.3s;
	z-index: -1;
}
.hov_block {
	width: 100%;
	/* max-width: 1200px; */
	padding: 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: #fff;
	margin: 0 auto;
}
.hov_txtblock {
	width: calc(100% - 620px);
	display: flex;
	justify-content: center;
	align-items: center;
}
.hov_txtblock h2 {
	font-size: 24px;
	margin-bottom: 20px;
}
.hov_txtblock p {
	font-size: 16px;
}
.hover_list {
	max-width: 620px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.hover_list li {
	max-width: 200px;
	max-height: 200px;
	margin-right: 0;
}
.hover_list li:nth-child(n+4) {
	margin-top: 10px;
}
.h_nav .hover_list a {
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
	overflow: hidden;
	transition: 0.3s;
	padding: 0;
}
.hover_list span.hov_txt {
	font-size: 14px;
	color: #fff;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: 1;
}
.hover_list .nav_img {
	transform: scale(1);
	transition: 0.3s;
}
.hover_list a:hover .nav_img {
	transform: scale(1.1);
}
/* バーガーメニュー展開 */
#js-nav {
	opacity: 0;
	transition: 0.3s;
	position: fixed;
	top:0;
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: 9998;
	pointer-events: none;
}
#js-nav.open {
	opacity: 1;
	transition: 0.3s;
	pointer-events: auto;
}
.move {
	opacity: 0;
	transform: translateX(-10px);
	transition: 0.8s;
	line-height: 1;
}
.open .move {
	opacity: 1;
	transform: translateX(0);
}
.move.m01 {	transition-delay: 0.1s;}
.move.m02 {	transition-delay: 0.2s;}
.move.m03 {	transition-delay: 0.3s;}
.move.m04 {	transition-delay: 0.4s;}
.move.m05 {	transition-delay: 0.5s;}
.move.m06 {	transition-delay: 0.6s;}
.move.m07 {	transition-delay: 0.7s;}


.overlay_nav{
	background: linear-gradient(to top,#cbe1f2, #e9f2f9);
	/* width: 100%; */
	height: 100vh;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #4b6679;
}
.overlay_nav .icon_box {
	position: absolute;
	right: 0;
	top: 0;
	background: transparent;
}
.overlay_nav .link_group {
	width: 90vw;
	max-width: 800px;
	color: #4b6679;
	margin: 0 auto;
}
/* 表示切り替え */
.oln_lg_pc {
}
.oln_lg_sp {
	display: none !important;
}
.link_group{
	display: flex;
	justify-content: space-between;
}
.link_group div{

}
.link_group div > p{
	margin-bottom: 15px;
	line-height: 1;
}

.link_group li{
	line-height: 1;
	margin-bottom: 30px;
}
.link_group a {

}
.service_link{
	/* 事業内容 */
}
.service_link li{margin-bottom: 19px;}
.service_link a{
	display: inline-block;
	position: relative;
	font-size: 12px;
}
.service_link a::before{
	content: "ー";
	margin-right: 5px;
}
.h_flex {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 0 auto 30px;
	max-width: 800px;
	align-items: center;
}
.h_txtblock {
	width: 50%;
}
.h_txtblock p {
	font-size: 12px;
}
.h_txtblock p:last-child {
	margin-top: 10px;
}
.ol_btnarea {
	/* display: flex; */
	justify-content: center;
	flex-wrap: wrap;
	/* margin-top: 60px; */
	/* margin-bottom: 40px; */
	width: 50%;
	max-width: 240px;
}
.ol_btnarea li {
	/* width: 30%; */
	/* margin: 0 10px; */
}
.ol_btnarea a  {

}
.ol_bnr_school {

}
.ol_btn_contact {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	font-size: 16px;
	height: 60px;
	margin-bottom:  20px;
}
.sns_list {
	display: flex;
	justify-content: center;
	margin-bottom:10px;
}
.sns_list li {
	height: 36px;
	margin: 0 8px;
}
.sns_list img {
	width: auto;
	height: 100%;
}
.sns_ttl{
	margin-bottom:5px;
	text-align: center;
	display: block!important;
}
.h_bottom .sns_ttl{
	text-align:center;
}
.copyright.h_copy {
	text-align: center;
	margin-top: 10px;
}
/* ---------------------------------- フッター */
/* pagetop */
.pagetop {
	position: fixed;
	transform: rotate(90deg);
	bottom: 60px;
	/* bottom: 0; */
	right: -50px;
	z-index: 100;
}
.pagetop a {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}
.pagetop span {
	display: block;
	position: relative;
	display: block;
	width: 45px;
	height: 1px;
	overflow: hidden;
	background:#052e4b;
}

.pagetop span::before,
.pagetop span::after {
	content:"";
	display: block;
	background:#d2e2ee;
	position: absolute;
	transition: 0.3s;
	width: 20%;
	height: 100%;
}
.pagetop span::before {
  /* top: 0;
  right: 0;
	-webkit-animation: beforeMove 2s ease-in-out 0s infinite;
	animation: beforeMove 2s ease-in-out 0s infinite; */
	display: none;
}
.pagetop span::after {
  top: 0;
  right: -120%;
	-webkit-animation: afterMove 2s ease-in-out 0s infinite;
	animation: afterMove 2s ease-in-out 0s infinite;
}
/* @keyframes beforeMove {
	0% {right:0;}
	49%{right: 100%;}
	50%{right: -120%;}
	100%{right: 0;}
} */
@keyframes afterMove {
	0% {right:-120%;}
	100% {right:100%;}
}
.pg_inner {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 2px 10px;
	color: #052e4b;
    /* background: linear-gradient(to left,#00182a, #094f82); */
	transition: 0.3s;
}
.p_bottom.pagetop span {
	background: #fff
}
.p_bottom.pagetop span::before, 
.p_bottom.pagetop span::after {
    background: #052e4b;
}
.p_bottom .pg_inner {
    color: #fff;
}
.footer {
	color: #fff;
	background: linear-gradient(to top,#00182a, #094f82);
	padding: 200px 0 160px;
}
.f_flex {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.f_flexbox {
	width: 50%;
	position: relative;
}
.f_flexbox01 {
	/* width: 25%; */
	max-width: 300px;
}
.f_flexbox02 {
	width: 70%;
	max-width: 600px;
}
.f_logo {
	max-width: 170px;
	margin-bottom: 20px;
}
.f_txtblock {
	margin-bottom: 40px;
}
.f_txtblock p {
	font-size: 14px;
}
.f_txtblock p:last-child {
	margin-top: 20px;
}
.f_btnarea {
	max-width: 300px;
}
.f_btn_contact {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 60px;
}
.f_bnr_school {
	display: block;
	margin-top: 20px;
}
/*  */
.f_lg_pc {
}
.f_lg_sp {
	display: none !important;
}
.footer .link_group {
	font-size: 14px;
}
.footer .link_group li {
	margin-bottom: 20px;
}
.footer .link_group {
	font-size: 14px;
	letter-spacing: 0.05em;
}
.f_bottom {
	position: absolute;
	bottom: 0;
	right: 0;
	max-width: 200px;
}
.f_bottom .sns_ttl{
	padding-left:15px;
	text-align: left;
}
.f_bottom .sns_list {
	justify-content: start;
	margin-bottom: 10px;

}
.f_bottom .sns_list li {
	margin: 0 0 0 15px;
}
.f_bottom .sns_list .sns_ttl{text-align: right;}
.copyright {
	font-size: 12px;
	text-align: right;
	display: block!important;
	/* width: 100%; */
}

/* ---------------------------------- お問い合わせ */
.cc_bg {
	background-image: url(../img/common/contact_bg.jpg);
	background-size: cover;
	background-position: center bottom;
	background-repeat: no-repeat;
	padding: 60px 20px;
}
.cc_box {
	max-width: 500px;
	margin: 0 auto;
	text-align: center;
	background: #fff;
	padding: 50px 0;
}
.cc_txt {

}
/* ---------------------------------- セクションタイトル */
.ttl {
  /* font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif; */
  font-weight: bold;
	line-height: 1;
	text-align: center;
}
.ttl::after {
	content:"";
	display: block;
	width: 60px;
	height: 2px;
	background: #444;
	margin: 0 auto;
	margin-top: 20px;
}
.ttl h2 {
	font-size: 30px;
	margin-bottom: 30px;
}
.ttl p {
	font-size: 16px;
	color: #0e7ed0;
}
.cc_btn_contact {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 90%;
	max-width: 300px;
	height: 60px;
	margin: 30px auto 30px;
}
/* ボタン */
.btn_border {
	max-width: 240px;
	height: 50px;
	margin-left: auto;
	margin-right: auto;
}
.btn_border a {
	display: flex;
	justify-content: center;
	align-items: center;
	color: #0e7ed0;
	width: 100%;
	height: 100%;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: bold;
	position: relative;
	/* transition: 0.3s; */
}
.btn_border a::before,
.btn_border a::after {
	content:"";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	border: 1px solid #0e7ed0;
	border: 1px solid #76b9ea;
	transition: 0.3s;
	/* z-index: -1; */
}
.btn_border a::before {
	top: -2px;
	left: -2px;
}
.btn_border a::after {
	bottom: -2px;
	right: -2px;
}
.btn_border a span {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	transition: 0.3s;
	background: rgba(255,255,255,0.7);
	position: relative;
}
.btn_border a span::before,
.btn_border a span::after {
	content:"";
	display: block;
	width: 14px;
	height: 1px;
	position: absolute;
	right: 14px;
	top: 50%;
	transform: translate(0,-50%);
	background:#0e7ed0;
	background: #76b9ea;
	transition: 0.3s;
}
.btn_border a span::after {
	opacity: 0;
}
/*  */
.btn_border a:hover {
	color: #fff;
}
.btn_border a:hover::before{
	top: 0;
	left: 0;
}
.btn_border a:hover::after {
	right: 0;
	bottom: 0;
}
.btn_border a:hover span {
	background: linear-gradient(to right, #0e7ed0, #2ea5fc);
}
.btn_border a:hover span::before {
	background :#fff;
	transform: rotate(90deg);
}
.btn_border a:hover span::after {
	background :#fff;
	opacity: 1;
}
/*  */
.c_btn {
	position: relative;
}
.c_btn span{
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}
.c_btn span::before,
.c_btn span::after {
	content:"";
	display: block;
	width: 14px;
	height: 1px;
	position: absolute;
	right: 14px;
	top: 50%;
	transform: translate(0,-50%);
	background: #fff;
	transition: 0.3s;
}
.c_btn:hover span::before {
	background :#fff;
	transform: rotate(90deg);
}
.c_btn:hover span::after {
	background :#fff;
	opacity: 1;
}



@media screen and (max-width: 1700px) {
	.br_1700 {
		display: block;
	}
	.hov_area {
		max-width: 1000px;
	}
}
@media screen and (max-width: 1500px) {
	.hov_area {
		max-width: 860px;
	}
	.hov_txtblock {
        width: 28%;
	}
	.hov_txtblock h2 {
		font-size: 20px;
	}
	.hov_txtblock p {
		font-size: 15px;
	}
	.hover_list {
		width: 70%;
	}
	.hover_list li {
		width: 32%;
	}
}
@media screen and (max-width: 1400px) {
	.header {
		height: 80px;
	}
	.fix_contact {
		/* height: 80px; */
	}
	.icon_box {
		/* height: 80px; */
		/* width: 80px; */
	}
	.menu_icon {
		width: 30px;
		height: 35px;
	}
}
@media screen and (max-width: 1300px) {
	.header .nav_list {
		display: none;
	}
	.h_nav {
		padding-right: 0;
	}
	.header.is-scroll {
/* 		background: transparent; */
	}

}
@media screen and (max-width: 1000px) {
	.f_flexbox01 {
		width: 100%;
		max-width: initial;
	}
	.f_info {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.f_flexbox02 {
		width: 100%;
		max-width: initial;
	}

	.f_btnarea{
	margin-bottom:40px;
	}
	.f_bottom {
		position: static;
		margin: 0 auto;
		margin-top: 40px;
		max-width: unset;
	}
	.f_bottom .sns_list {
		justify-content: center;
		margin-left: -15px;
	}
	.f_bottom .sns_ttl{
		text-align:center;
		padding-left: 0;
		display: block;
	}
	.copyright {
		text-align: center;
	}
}
@media screen and (max-width: 1024px) {
	.cc_bg {
		background-image: url(../img/common/contact_bg_sp.jpg);
	}
}
@media screen and (max-width: 850px) {
	.f_txtblock p{
		display:block!important;
	}
	.f_txtblock p:last-child{
		margin-top: 10px;
	}
}
@media screen and (max-width: 768px) {
/* 	 */
    .header {
    	height: 50px;
    }
    .h_logo {
    	width: 25vw;
    	min-width: 130px;
    	margin-left: 15px;
    }
    .fixed_group {
    	height: 50px;
    }
    .icon_box,
    .is-scroll .icon_box {
    	width:50px;
    	height: 50px;
    }
    .menu_icon {
    	width: 25px;
    	height: 30px;
    }
    .fix_contact,
    .is-scroll .fix_contact {
    	height: 50px;
    	width: 110px;
    	margin-right: 50px;
    }
    .h_btn_contact {
    	font-size: 13px;
    }
/* 	 */
	.ttl {
	}
	.ttl::after {
		width: 50px;
		height: 2px;
		margin-top: 20px;
	}
	.ttl h2 {
		font-size: 22px;
		margin-bottom: 20px;
	}
	.ttl p {
		font-size: 14px;
	}
}
@media screen and (max-width: 650px) {
	.footer {
		padding: 40px 0 20px;
	}
	.f_logo {
		margin: 0 auto 20px;
	}
	.f_txtblock {
		width: 100%;
		text-align: center;
		margin-bottom: 30px;
	}
	.f_btnarea {
		width: 100%;
		margin: 0 auto 30px;
	}
}
@media screen and (max-width: 600px) {
	body {
		font-size: 15px;
	}
	/*  */
	.overlay_nav {
		align-items :flex-start;
		padding-top: 50px;
		line-height:1.5;
	}
	.overlay_nav .nav_wrap {
		overflow-y: scroll;
		height: 100%;
		padding-bottom: 100px;
		width: 100%;
        border-top: 1px solid #bacad6;
	}
	.overlay_nav .link_group {
		width: 100%;
		letter-spacing: 0.05em;
	}
	.oln_lg_pc {
		display: none !important;
	}
	.oln_lg_sp {
		display: block !important;
	}
	.accordion {
		border-bottom: 1px solid #bacad6;
		/* border-top: 1px solid #bacad6; */
		/* margin-bottom: 30px; */
	}

    .accordion {}
	.accordion p {
		cursor: pointer;
		text-align: center;
		border-bottom: 1px solid #bacad6;
		line-height: 40px;
	}
	.accordion p span {
		display: block;
		position: relative;
	}
	.accordion p span::before,
	.accordion p span::after {
		content:"";
		display: block;
		width: 15px;
		height: 1px;
		background: #4b6679;
		position: absolute;
		right: 20px;
		top: 50%;
		transform: translate(0,-50%);
		transition: 0.3s;
	}
	.accordion p span::before {
		transform: translate(0,-50%) rotate(90deg);
	}
	.accordion p.active span::before {
		transform: translate(0,-50%) rotate(0);
	}
	.accordion p.active span::after {
		opacity: 0;
	}
	/*  */
	.accordion .js-ac_cont {
		display: none;
	}
	.accordion .js-f_ac_cont {
		display: none;
	}
	.footer .accordion p span::before,
	.footer .accordion p span::after {
		background: #fff;
	}
	/*  */
	.link_group {
		display: block;
		font-size: 14px;
		width: 100%;
	}
	.link_group {
		display: block;
		font-size: 14px;
		width: 100%;
	}
	.link_group > div {
		width: 100%;
	}
	.link_group ul {
		display: flex;
		flex-wrap: wrap;
	}
	.link_group li.w_full {
		width: 100% !important;
	}
	.link_group li {
		width: 50%;
		min-height: 40px;
		margin-bottom: 0;
		text-align: center;
		border-bottom: 1px solid #bacad6;
		/* border-top: 1px solid #bacad6; */
	}
	.link_group li.service_menu{
		width: 100%;
		border-bottom: 0;
	}
	.link_group li:nth-child(-n+2) {
		/* border-top: 1px solid #bacad6; */
	}
	.link_group li:nth-child(even) {
		border-right: 1px solid #bacad6;
	}
	.link_group li.w_full {
		border-right: 0;
		/* border-top: 1px solid #bacad6; */
	}
	.link_group li:nth-of-type(1){
		border-right: 1px solid #bacad6;
	}
	.link_group li:nth-of-type(2){
		border-right: none;
	}

	.link_group .service_link  li:nth-child(odd) {
		border-right: 1px solid #bacad6;
		border-left: 0;
	}
	.link_group ul:not(.service_link) {
		margin-top: 0;
	}
	.link_group div > p{
		font-size: 14px;
		margin-bottom: 0;
		line-height: 40px;
		/* padding-left: 10px; */
	}
	.link_group a {
		width: 100%;
		height: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.service_link{
		/* margin-bottom: 20px; */
	}
	.service_link a::before {
		display: none;
	}
	.service_link a span {
		display: inline-block;
		line-height: 1.5;
	}
	.h_flex {
		padding: 0 10px;
		margin: 20px 0;
	}
	.ol_btnarea {
		margin: 0px auto 0px;
		margin-right: 0;
		justify-content: space-between;
		max-width: 300px;
		width: 48%;
	}
	.ol_btnarea li {
		width: 100%;
		margin: 0;
	}
	.ol_btnarea li:first-child {
		margin-bottom: 10px;
	}
	.ol_bnr_school {
	}
	.ol_btn_contact {
		height: 50px;
		margin-bottom: 10px;
	}
	/* SP画像ナビ */
	.oln_lg_sp .service_link{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		padding: 20px;
		border-bottom: 1px solid #bacad6;
	}
	.oln_lg_sp .service_link li{
		width: 48%;
		height: auto;
		overflow: hidden;
		border: 0 !important;
	}
	.oln_lg_sp .service_link li:nth-child(n+3){
		margin-top: 15px;
	}
	.oln_lg_sp .service_link a{
		display: block;
		position: relative;
		width: 100%;
		height: 100%;
	}
	.oln_lg_sp .service_link .sp_txt{
		position: absolute;
		display: flex;
		justify-content: center;
		align-items: center;
		color:#fff;
		width: 100%;
		height: 100%;
	}
	.oln_lg_sp .service_link .sp_img{
	}

	/*  */
	.f_lg_pc {
		display: none !important;
	}
	.f_lg_sp {
		display: block !important;
		border-top: 1px solid #bacad6;
	}
	.footer .link_group > div{
		border-right: 1px solid #bacad6;
		border-left: 1px solid #bacad6;
	}
	.footer .link_group div > p{
		margin-bottom: 0px;
	}
	.footer .link_group li {
		margin: 0;
	}
	
	.footer .link_group li {
		width: 50%;
		min-height: 40px;
		margin-bottom: 0;
		text-align: center;
		/* border-bottom: 1px solid #bacad6; */
		/* border-right: 1px solid #bacad6; */
	}
	.footer .link_group li.w_full {
		border-top: 1px solid #bacad6;
    }
	.footer .link_group li.service_menu{
		width: 100%;
		border-bottom: 0;
	}
	/* SP画像ナビ */
	.f_lg_sp .service_link{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		padding: 20px;
		/* border-bottom: 1px solid #bacad6; */
	}
	.f_lg_sp .service_link li{
		width: 48%;
		height: auto;
		overflow: hidden;
		border: 0 !important;
		border: 1px solid;
	}
	.f_lg_sp .service_link li:nth-child(n+3){
		margin-top: 15px;
	}
	.f_lg_sp .service_link a{
		display: block;
		position: relative;
		width: 100%;
		height: 100%;
	}
	.f_lg_sp .service_link .sp_txt{
		position: absolute;
		display: flex;
		justify-content: center;
		align-items: center;
		color:#fff;
		width: 100%;
		height: 100%;
		border: 1px solid #bacad6;
	}
	.f_lg_sp .service_link .sp_img{
	}

}
@media screen and (max-width: 530px){
	.c_btn.ol_btn_contact span::before,
	.c_btn.ol_btn_contact span::after {
		display: none;
	}
	.h_flex {

	}
	.h_txtblock {
		width: 100%;
		text-align: center;
		margin-bottom: 10px;
	}
	.h_txtblock p:last-child {
		margin-top: 0;
	}
	.ol_btnarea {
		width: 100%;
		margin: 0 auto;
	}
	
}
@media screen and (max-width: 500px) {


}
/*  */
body {
	/* ↓マウスカーソル全ページ実装時に追加 */
	/* cursor: none; */
	background: #fff;
}
#cursor{
	position: fixed;
	/*丸の大きさと色の指定*/
	background: #fff;
	border-radius:20px;
	width: 10px;
	height: 10px;
	border: 2px solid #FFF;
	background:#4d4dc5;
	margin: -5px 0 0 -5px;/*真ん中にくるようにマイナスマージンで調整*/
	z-index: 99999;/*一番手前に来るように*/
	pointer-events: none;/*クリックできなくなるのを防ぐため。noneで対応*/
	opacity: 0;
	transition: transform 0.5s;
	}
  /*ちょっと遅れてついてくるストーカー要素*/
  #stalker{
	position: fixed;
	/*丸の大きさと色の指定*/
	background: #00f;
	background: #227dc0;
	width: 36px;
	height: 36px;
	border-radius:36px;
	margin: -18px 0 0 -18px;/*真ん中にくるようにマイナスマージンで調整*/
	z-index: 99998;/*カーソルの後ろに来るように*/
	pointer-events: none;/*クリックできなくなるのを防ぐため。noneで対応*/
	opacity: 0;
	transition: transform 0.5s;
	 transition: 0.6s cubic-bezier(0.75, -1.27, 0.3, 2.33) transform,
        0.2s cubic-bezier(0.75, -0.27, 0.3, 1.33) opacity;
	}
	a{
		/* ↓マウスカーソル全ページ実装時に追加  */
		/* cursor: none; */
	}
	#cursor.active {
         transform: scale(1.5);
	}
	#stalker.active{
	  transform: scale(2);
	}
/*  */
#luxy {
	z-index: 10;
}
#content_layer {
	position: relative;
	z-index: 10;
	background: #fff;
	/*  */
	/* margin-bottom: xxxx; */
	/* フッターの高さjs */
}
#common_footer {
	position: fixed;
	bottom: 0;
	width: 100%;
	z-index: 1;
}
.footer_height {
	width: 100%;
	pointer-events: none;
	background: rgba(0,0,0,0.5);
}
/*  */
@media screen and (max-width: 1024px) {

	body {
		cursor: auto;
	}
	a {
		cursor: pointer;
	}
	#cursor,#stalker {
		display: none;
	}
}

@media all and (-ms-high-contrast: none) {
	.btn_border a span{
		padding: 10px 0 0;
	}
	.h_btn_contact span{
		position: relative;
	}
	#sns{
		display: none;
	}
	#news{
		padding-bottom: 200px;
	}
}