@charset "utf-8";
/* CSS Document */

/* ==============================================================
   # 共通：ヘッダー
============================================================== */

header{
	width:100%;
	position: relative;
}

header h1{
	/* padding: 22px 0 22px 0; */
	padding: 19px 0 20px 0;
}

header h1 img{
	width:auto;
	/* height: 30px !important; */
	height: 35px !important;
	vertical-align: top;
}

@media (min-width: 993px) {
	header h1{
	/* padding: 28px 0 25px 0; */
	padding: 23px 0 22px 0;
	}


	header h1 img{
	/* height: 41px !important; */
	height: 49px !important;
	}
}

/* 目的別メニュー -------------------------*/

nav#h-nav{
	display:none;
}

@media (min-width: 993px) {
	nav#h-nav{
		position: absolute;
		top:3px;
		right:0;
		display:block;
		z-index: 101;
	}

	nav#h-nav > ul{
		display: flex;
		flex-wrap: nowrap;
		justify-content: flex-end;
	}

	nav#h-nav > ul > li{
		border-bottom:1px solid #e4e4e4;
		border-left:1px dotted #e4e4e4;
		box-sizing: border-box;
	}

	nav#h-nav > ul > li:first-child{
		border-left:1px solid #e4e4e4;
	}

	nav#h-nav > ul > li a{
		font-size:12px;
		color: #333;
		text-decoration: none;
		display:inline-block;
		padding: 9px 1vw 9px 1vw;
		transition: 0.2s linear;
		letter-spacing: .05em;
	}

	nav#h-nav > ul > li a:link,
	nav#h-nav > ul > li a:visited,
	nav#h-nav > ul > li a:hover{

	}

	nav#h-nav > ul > li a:hover{
		text-decoration: none;
		background-color: #F1FBFC;
	}
}

/* 目的別メニュー【ドロップダウン】 -------------------------*/

nav#h-nav .dropdown-menu {
	position: absolute;
	top: 100%;
	left: -1px;
	display: none;
	opacity:1;
	filter: alpha(opacity=100);
	float:left;
	min-width: 15em;
	padding:0;
	margin:0;
	text-align: left;
	list-style: none;
	background-color: #fff;
	-webkit-background-clip: padding-box;
	background-clip: padding-box;
	border: 1px solid #e4e4e4;
}

nav#h-nav .dropdown-menu > li {
	padding: 0;
	border-bottom:1px dotted #eee;
	font-size: 12px;
}

nav#h-nav li:last-child .dropdown-menu{
	left:inherit;
	right: 0;
}


nav#h-nav .dropdown-menu > li > a {
	color: #333 !important;
	padding: 9px 1vw;
	display: block !important;
}

nav#h-nav .dropdown-menu > li:last-child{
	border-bottom:none;
}

nav#h-nav .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.6em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.4em solid #EB7C85;
  border-right: 0.4em solid transparent;
  border-bottom: 0;
  border-left: 0.4em solid transparent;
}

nav#h-nav .dropdown.open .dropdown-menu {
	-moz-animation: menu 0.2s ease-out 1 normal;
	-webkit-animation: menu 0.2s ease-out 1 normal;
	-o-animation: menu 0.2s ease-out 1 normal;
	-ms-animation: menu 0.2s ease-out 1 normal;
}

nav#h-nav .dropdown:hover .dropdown-menu {
	display: block;
	-moz-animation: menu 0.2s ease-out 1 normal;
	-webkit-animation: menu 0.2s ease-out 1 normal;
	-o-animation: menu 0.2s ease-out 1 normal;
	-ms-animation: menu 0.2s ease-out 1 normal;
}

 @-moz-keyframes menu {
	0% {
		opacity: 0;
		top: 80%;
	}
	100% {
		opacity:0.95;
		top: 100%;
	}
}
@-webkit-keyframes menu {
	0% {
		opacity: 0;
		top: 80%;
	}
	100% {
		opacity:0.95;
		top: 100%;
	}
}
@-o-keyframes menu {
	0% {
		opacity: 0;
		top: 80%;
	}
	100% {
		opacity:0.95;
		top: 100%;
	}
}
@-ms-keyframes menu {
	0% {
		opacity: 0;
		top: 80%;
	}
	100% {
		opacity:0.95;
		top: 100%;
	}
}

@media (min-width: 993px) {
	#sp-btn{
		display:none;
	}
}

@media (max-width: 992px) {
	/* ハンバーガーメニュー */
	.menu-trigger,
	.menu-trigger span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
		cursor: pointer;
	}
	.menu-trigger {
		position: absolute;
		right:12px;
		top:12px;
		width: 54px;
		height: 54px;
		background-color: #fff;
		display: block;
		border:2px solid #7AB4D7;
		border-radius: 4px;
		box-sizing: border-box;
	}
	.menu-trigger span {
		position: absolute;
		left: 13px;
		width: 24px;
		height: 2px;
		background-color: #7AB4D7;
	}
	.menu-trigger span:nth-of-type(1) {
		top: 16px;
	}
	.menu-trigger span:nth-of-type(2) {
		top: 24px;
	}
	.menu-trigger span:nth-of-type(3) {
		bottom: 16px;
	}

}

/* ==============================================================
   # SPメニュー用modal（bootstrapのを使用 / common/css/bootstrap.css ）
============================================================== */

@media (min-width: 993px) {
	.modal,
	.modal-backdrop{
		display:none !important;
	}
}
.modal-dialog{
	margin-bottom: 80px;
}

/* ==============================================================
   # 共通：グローバルメニュー
============================================================== */

#g-nav{
	display:none;
}


@media (min-width: 992px) {
	#g-nav{
		background-color: #61bdc3;
		position: relative;
		display:block;
		z-index: 100;
	}
	#g-nav > ul{
		max-width: 1140px;
		margin:auto;
		display: flex;
		flex-wrap: nowrap;
		justify-content: center;
	}
	#g-nav > ul > li{
		display:inline-block;
		padding: 0;
	}

	#g-nav > ul > li.mega{
		position: static;
	}

	#g-nav > ul > li > a{
		display: block;
		padding: 22px 1.5vw;
		font-size:15px;
		font-weight: 500;
		color: #000000;
		letter-spacing: 1px;
		position: relative;
		transition: 0.2s linear;
	}
	#g-nav > ul > li > a:hover{
		color: rgba(0,0,0,.6)
	}

	#g-nav > ul > li > a:after {
		content: "";
		height: 14px;
		width: 0;
		border-left: #000000 solid 1px;
		transform: rotate(15deg);
		margin: auto;
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
	}
	#g-nav > ul > li:last-child > a:after {
		display: none;
	}
	#g-nav ul li > a:hover{
		text-decoration: none;
		/*color: rgba(255,255,255,.8)*/
	}

	nav#g-nav .dropdown-menu {
		position: absolute;
		top: 100%;
		left: 0;
		display: none;
		opacity:1;
		filter: alpha(opacity=100);
		float:left;
		min-width: 18em;
		width: 120%;
		padding:0;
		margin:0;
		text-align: left;
		list-style: none;
		background-color: #5bcfde;
		-webkit-background-clip: padding-box;
		background-clip: padding-box;
		border-radius: 0 0 6px 6px;
		z-index: 11;
		padding-bottom: 0px;
	}

	nav#g-nav .mega .dropdown-menu {
		width:100%;
		border-radius: 0;
	}

	nav#g-nav .dropdown-menu li:last-child{
		border-bottom: none;
	}

	nav#g-nav .dropdown-menu a{
		color: #fff;
		padding:15px 20px;
		font-size:14px;
		display: block;
		transition: 0.2s linear;
		border-bottom: 1px dotted rgba(255,255,255,0.5);
	}
	nav#g-nav .dropdown-menu li:last-child a{
		border:none;
	}

	/* アニメーション ----------*/

	nav#g-nav .dropdown.open .dropdown-menu {
		-moz-animation: menu 0.2s ease-out 1 normal;
		-webkit-animation: menu 0.2s ease-out 1 normal;
		-o-animation: menu 0.2s ease-out 1 normal;
		-ms-animation: menu 0.2s ease-out 1 normal;
	}

	nav#g-nav .dropdown:hover .dropdown-menu {
		display: block;
		-moz-animation: menu 0.2s ease-out 1 normal;
		-webkit-animation: menu 0.2s ease-out 1 normal;
		-o-animation: menu 0.2s ease-out 1 normal;
		-ms-animation: menu 0.2s ease-out 1 normal;
	}

	nav#g-nav .dropdown-menu a,
	nav#g-nav .dropdown-menu a::after {
		-webkit-transition: all 0.2s;
			-moz-transition: all 0.2s;
		-o-transition: all 0.2s;
		transition: all 0.2s;
	}

	nav#g-nav .dropdown-menu a {
		position: relative;
		text-transform: uppercase;
	}

	nav#g-nav .dropdown-menu a:hover{
		color: #886031;
		/*border-bottom:1px solid rgba(255, 232, 118,1);*/
	}

	nav#g-nav .dropdown-menu a::before,
	nav#g-nav .dropdown-menu a::after {
		background: #53c2c9;
		content: '';
		position: absolute;
		z-index: -1;
	}

	nav#g-nav .dropdown-menu li:last-child a::before,
	nav#g-nav .dropdown-menu li:last-child a::after,
	nav#g-nav .dropdown-menu li:last-child a:hover{
		border-radius: 0 0 6px 6px;
	}

	#g-nav .dropdown-menu a::after {
		height: 100%;
		left: 0;
		top: 0;
		width: 0;
	}

	#g-nav .dropdown-menu a:hover:after {
		width: 100%;
	}
}


/* Gナビをスクロール固定させる  */

.fixed {
    position: fixed !important;
    top: 0;
    width: 100%;
    z-index: 1000 !important;
}

#g-nav .fix_nav_logo{
	display:none;
}

#g-nav.fixed .fix_nav_logo{
	display: block;
	/*background-color: #fff;*/
	height: 100%;
	height: 69px;
	position: absolute;
	left:0;
	top:0;
}

@media (max-width: 1200px) {
	#g-nav.fixed > ul {
		justify-content: flex-end;
	}
}

/* ==============================================================
   #　共通：フッター
   ============================================================== */

footer a,
footer a:link,
footer a:hover,
footer a:visited{
	text-decoration: none;
	color:#333;
}

footer a:hover{
	text-decoration: underline;
}

footer {
	background-color: #F5F5F5;
	overflow: hidden;
}

#footer-info {
	margin-top: 30px;
	margin-bottom: 0;
}

@media (min-width: 1140px) {
	#footer-info {
		margin-top: 60px;
		margin-bottom: 30px;
	}
}

/* アドレス欄 -------------*/

footer address {
	font-size: 1.2rem;
	padding:0;
	margin:0 auto;
	text-align:left;
}

footer address p {
	font-size: 1.2rem;
	line-height: 1.5;
	margin: 15px 0 20px 0;
}

footer address img{
	width:100%;
	max-width: 240px;
	margin:0 auto;
}

footer address img.free-call { /*add20200928*/
	height:15px;
	width:auto;
	display:inline-block;
	vertical-align: middle;
	margin-right: 0.25em;
}

@media (min-width: 480px) {
	footer address {
		text-align:center;
	}
}


@media (min-width: 993px) {
	footer address {
		text-align:left;
	}
}

 @media (min-width: 1200px) {
	footer address {
		border-top: none;
		font-size: 1.2rem;
		padding: 0;
	}
	footer address p {
		font-size: 1.2rem;
		line-height: 1.6;
		margin: 15px 0 0;
		font-weight: normal;
		text-align: left;
	}
}

footer .sns-area{
	text-align: center;
	margin:20px auto;
}

footer .sns-area ul{
	margin:0 auto;
	padding: 0;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	justify-content: center;
}

footer .sns-area li{
	padding:0 2%;
}

footer .sns-area a{
	width:auto;
	height:auto;
	background-color: #fff;
	display:block;
	border-radius: 100px;
	max-width:80px;
	max-height: 80px;
}

@media (min-width: 993px) {
	footer .sns-area{
		width: 100%;
	}
}

@media (max-width: 992px) {
	.sitemap{
		display: flex;
		flex-wrap: wrap;
		margin: 0;

		margin-bottom: 30px;
	}

	.sitemap div.box{
		width:100%;
		text-align:left
	}

	.footer_acc{
		margin-bottom:0;
		text-align:left;
		border-bottom: 1px solid rgba(0,0,0,0.05);
		background-color: #fff;
	}

	.footer_acc a{
		padding: 20px 15px;
		font-size:14px;
		display:block;
	}

	.footer_acc.open{
		background:#fff url(../imgs/shared/icon06.png) no-repeat top 19px right 15px;
		background-size:17px;
	}

	.footer_acc ul{
		display:none;
	}

	.footer_acc li{
		border-bottom: 1px dotted rgb(217, 229, 234);
		background:#eff8f9 url(../imgs/shared/icon05.png) no-repeat center right 15px;
		background-size:17px;
		line-height: 1;
	}

	.footer_acc li a{
		padding: 20px 15px;
	}

	.box:last-child .footer_acc:last-child,
	.footer_acc li:last-child{
		border:none;
	}

	.footer_acc a:link,
	.footer_acc a:visited,
	.footer_acc a:hover{
		color:#333;
		text-decoration:none;
	}

	.trigger:hover { cursor:pointer;}

	.sitemap{ border-radius: 6px; }

/*	.sitemap > div.box:first-child > div.footer_acc:first-child{
				border-radius: 6px 6px 0 0 ;
	}
	.sitemap > div.box:last-child > div.footer_acc:nth-of-type(3){
		border-radius:0 0 6px 6px;
		margin-bottom:30px;
	}*/


}

@media (min-width: 993px) {
	.sitemap{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		padding-left:30px;
	}

	.sitemap .box{
		width:33.33333%;
	}

	.trigger{	pointer-events: none; }

	.sitemap div.nav-ttl {
		font-size: 14px;
		margin-bottom: 7px;
		font-weight: 900;
		/*color: #5bcfde;*/
	}

	.sitemap .box li {
		font-size: 12px;
		line-height: 1.7;
	}

	.sitemap div.footer_acc {
		margin-bottom: 30px;
	}
}

.modal .sitemap{
	margin-bottom:0;
}

.f_btn_access a,
.f_btn_inq a{
	padding: 15px 15px;
	font-size:12px;
	color: #fff !important;
	border-radius: 2px;
	display: block;
	width:100%;
	max-width: 260px;
	margin:0 auto;
	text-align: center;
	transition: 0.1s linear;
	line-height:1;
}
.f_btn_access{
	margin-top: 15px;
}
.f_btn_access a{
	background-color: #F74262;
}
.f_btn_inq a{
	background-color: #4273bb;
}
.f_btn_inq + .f_btn_inq{
	margin-top:10px;
}
.f_btn_access a:hover,
.f_btn_inq a:hover{
	text-decoration: none;
	opacity:0.7;
	filter: alpha(opacity=70);
}

/* 下部のナビゲーション -------*/

#f-nav02{
	display: none;
}

@media (min-width: 768px) {
	#f-nav02{
		background-color:#E8E8E8;
		padding: 20px 0;
		display: block;
	}

	#f-nav02 ul{
		display: flex;
		flex-wrap: wrap;
	}
	#f-nav02 li{
		display: inline-block;
		margin-right: 20px;
		font-size:12px;
		position: relative;
		padding-left: 16px;
	}

	#f-nav02 a::before{
			position: absolute;
			top: 0;
			bottom: 0;
			left: 0;
			margin: auto;
			content: "";
			vertical-align: middle;
	}

	#f-nav02 a::before{
			width: 8px;
			height: 8px;
			border-top: 2px solid #5C96ED;
			border-right: 2px solid #5C96ED;
			-webkit-transform: rotate(45deg);
			transform: rotate(45deg);
	}
}

/* コピーライト -------*/

#copy {
	font-size: 1rem;
	text-align: center;
	padding: 32px 0 90px 0;
	margin: 0;
}

@media (min-width: 993px) {
	#copy {
		padding: 32px 0;
	}
}

#pagetop {
	position: fixed;
	bottom: -200px;
	right: 20px;
	z-index:1001;
	display: block;
	background-color: rgba(95, 209, 224, 0.9);
	border-radius: 4px;
}
#pagetop img {
	width: 60px;
	height: 60px;
}

@media (min-width: 768px) {
	#pagetop img {
		width: 60px;
		height: 60px;
	}
}

/* ==============================================================
   #　共通：フッターのスライダー
   ============================================================== */

#footer-slider {
  max-width: 210px;
  margin: 20px auto 0;
}
#footer-slider .slick-list {
  overflow: hidden;
	/*overflow: visible;*/
}
#footer-slider .bnr-item {
  text-align: center;
  overflow: hidden;
}
#footer-slider .bnr-item img {
  max-width: 200px;
  margin: auto;
  border-radius: 2px;
}
#footer-slider .slick-prev, #footer-slider .slick-next {
  background-color: #5bcfde;
  border: none;
  border-radius: 100%;
  height: 40px;
  width: 40px;
  position: absolute;
  top: 4px;
  z-index: 2;
}
#footer-slider .slick-prev {
  left: -55px;
}
#footer-slider .slick-next {
  right: -55px;
}
#footer-slider .slick-prev::before, #footer-slider .slick-next::before {
  border-color: #FFF;
  height: 8px;
  width: 8px;
}
@media (min-width: 768px) {
  #footer-slider {
    max-width: 630px;
  }
  #footer-slider .slick-list {
    overflow: hidden;
  }
  #footer-slider .slick-prev {
    left: -45px;
  }
  #footer-slider .slick-next {
    right: -45px;
  }
}
@media (min-width: 1140px) {
  #footer-slider {
    margin-top: 40px;
    max-width: 840px;
  }
}
@media (min-width: 1600px) {
  #footer-slider {
    max-width: 1050px;
  }
}


/* ==============================================================
   # 共通：fix menu （下部固定メニュー）
============================================================== */

@media (min-width: 993px) {
	#fix_menu{ display:none; }
}

@media (max-width: 992px) {
	#fix_menu{
		display: block;
		position: fixed;
		bottom:0;
		height: 60px;
		width:100%;
		z-index: 9999;
	}

	#fix_menu ul{
		display:flex;
		flex-wrap: nowrap;
	}

	#fix_menu ul li{
		height: 60px;
		font-size: 11px;
		color: #fff;
		display:flex;
		flex-wrap: nowrap;
		align-items: center;
		position: relative;
	}

	#fix_menu ul li:nth-child(1){
		background-color: rgba(250,103,125,0.95);
		width: calc( calc( 100% - 60px ) / 2);
	}

	#fix_menu ul li:nth-child(2){
		background-color: #46A8F0;
		background-color: rgba(70,168,240,0.95);
		width: calc( calc( 100% - 60px ) / 2);
	}

	#fix_menu ul li:nth-child(3){
		width: 60px;
	}

	#fix_menu ul li a{
		width: 100%;
		text-decoration: none;
		color: #fff;
		display:flex;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: space-between;
	}

	#fix_menu ul li a:hover{
		text-decoration: none;
		color: #fff;
	}

	#fix_menu ul li:nth-child(1),
	#fix_menu ul li:nth-child(2){
		padding: 7px 10px;
		line-height: 1.4;
	}
}

@media (max-width: 400px) {
}

#fix_menu .pamph{
	position: absolute;
	right:3px;
	bottom:0;
	width:65px;
	height: auto;
}




/*フッター スマホ用 コピー上の テキストリンク*/
p.sp_only_text{ display:none; width:0; height:0; overflow:hidden; margin:0;}
@media screen and (max-width: 780px) {
p.sp_only_text{ display:block; width:100%; height:auto; overflow:visible; margin:30px auto 0 auto; font-size:12px; text-align:center;}


            
.course_child_text{ position:relative;}
img.course_child_textimage{ display:block; position:absolute; width:30%; top:-13px; right:0;}
.course_medical_kvtext{ position:relative;}
img.course_medical_kvtextimage{ display:block; position:absolute; width:20%; top:5%; right:18%;}

@media screen and (max-width: 780px) {
img.course_medical_kvtextimage{ display:block; position:absolute; width:30%; top:5%; right:3%;}
}
.course_medical_text{ position:relative;}
img.course_medical_textimage{ display:block; position:absolute; width:30%; top:-13px; right:0;}



.sample-text {
  padding: 50px;
  color: red;
}

.modal-btn {
  cursor: pointer;
  text-align: center;
  width: 300px;
  height:65px;
  margin: 20px auto 70px auto;
  border: 2px solid #F99; box-sizing:border-box;
  background: #F99;
  color: #fff;
  transition: 0.3s ease-in-out;
  border-radius:40px;
  line-height:160%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size:14px;
}

.modal-btn:hover {
  border: 2px solid #F99;
  background: #fff;
  color: #F66;
}

.modal-close-btn i {
  position: absolute;
  top: 30px;
  right: 30px;
  font-size: 40px;
  cursor: pointer;
}

.js-modal,.js-modal2,.js-modal3,.js-modal4,.js-modal5,.js-modal6,.js-modal7,.js-modal8 {
  display: none;
  position: fixed;
  top: 0;
  width: 100%;
  height: 100%; z-index:99999;
}
.modal-bg {
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  cursor: pointer;
}

.modal-wrap {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 90%; max-width:1000px;
  height: 90%;
  padding: 5px;
  overflow-y: scroll;
  overflow-x:hidden;
  transform: translate(-50%, -50%);
  background: #fff;
}

.modal-contents img{ display:block; margin:0 auto; width:98%; max-width:1000px;}
.manga_bannar{ display:block; width:80%; max-width:300px; margin:20px auto;}
.manga_modal_close_fix{ position:fixed; right:50%; bottom:-100px; left:50%; transform: translate(-50%, -50%);}