@charset "utf-8";

/*------------------------------------------------------------------------------
Css name: common.css
Css info: 共通スタイル
------------------------------------------------------------------------------*/

/*------------------------------------------------------------------------
 基本
--------------------------------------------------------------------------*/
@-ms-viewport　/*IE でスクロールバーがコンテンツに重なるのを避ける*/
	{
	width: auto !important;
	initial-scale: 1 !important;
	}

html{
	height:100%;
	overflow-y:scroll; 
	overflow-x:hidden;
	}
html.open{overflow:hidden;}

body{
	height:100%;
	margin:0px;
	padding:0px;
	font-family: "メイリオ", Meiryo, "Hiragino Kaku Gothic ProN","Hiragino Sans", "sans-serif";
	font-weight:normal;
	font-style:normal;
	font-display:swap;
	font-size: 13px;
	color:#555555;
	position: relative;
    }

article, aside, dialog, figure, footer,header,hgroup, nav, section { display: block; }

body *,
body p{
	line-height:1.6;
	margin:0px;
	padding:0px;
	}

table, th, td, th{
	border-collapse:collapse;
	border-spacing:0;
	font-weight:normal;
	font-size:1em;
	}

table,div,ol,ul,dl,dt,dd{
	margin:0px;
	padding:0px;
	list-style-type:none;
	-ms-zoom: normal;/*IE8*/
	}
	li{
		margin:0px;
		padding:0px;
		}

textarea,input{
	font-size:1em;
	}

/*For modern browsers 回り込みの解除*/
.clearfix:before,
.clearfix:after {
  content:"";
  display:table;
	}
 
.clearfix:after {
	clear:both;
	}

.f-lef{
	float:left;
	}
	
.f-rig{
	float:right;
	}

.cen{
	text-align:center;
	}

.rig{
	text-align:right;
	}

.lef{
	text-align:left;
	}

h1,h2,h3,h4,h5,h6,small{
	font-size:100%;
	line-height:100%;
	margin:0px;
	padding:0px;
	}

input[type="radio" i] {
	background-color: initial;
	cursor: default;
	appearance: auto;
	box-sizing: border-box;
	margin: 3px 3px 0px 5px;
	padding: initial;
	border: initial;
}
input[type="checkbox" i] {
    background-color: initial;
    cursor: default;
    appearance: auto;
    box-sizing: border-box;
    margin: 3px 3px 3px 4px;
    padding: initial;
    border: initial;
}

em{
	font-style:normal;
	}
	
hr {
	display:none;
	}

img,table {	/*イメージ・テーブル線消し*/
	border:0px;
	}

img{
	max-width: 100%;
	vertical-align: bottom;	/*Strict時の画像下のスキマを埋める(Firefox)*/
	image-rendering: -webkit-optimize-contrast;/*Chrome*/
	}

address{
	font-style:normal;
	}

a{
	text-decoration:none;
	}
a.hover-opacity:hover{
	opacity: 0.7;
	-ms-filter:"alpha(opacity=70)";
	-moz-opacity: 0.7;
	} 
a.hover-unuderline:hover {
	text-decoration:underline;
	}

@media (min-width: 768px) {
	a[href^="tel:"] {
	    pointer-events: none;
	    cursor: default;
	}
}

.underline{
	text-decoration:underline;
	} 


@media screen and (max-width:767px){/*スマホ用指定*/
	br.pc{
		display:none;
	}
	.pconly{
		display:none;
	}
}
@media print, screen and (min-width:768px){/*PC用指定*/
	br.sp{
		display:none;
	}
	.sponly{
		display:none;
	}
}

.grad-line {
		/* 赤→オレンジのライン */
		display: block;
		height: 1px;
		background: repeating-linear-gradient(90deg, #ff9100, #ff9100 180px, #e05550 180px, #e05550 360px);
		margin-bottom: 1px;
}

@media (min-width: 768px) {
   a[href^="tel:"] {
       pointer-events: none;
   }
}

/*------------------------------------------------------------------------
 レイアウト
--------------------------------------------------------------------------*/

/* content */
@media screen and (max-width:767px) {/*スマホ用指定*/

	#header {
		width: 100%;
		position: relative;
		}
	.header-wrapper {
		width: 100%;
		position: relative;
		}
		.header-inner {
			padding: 0 24px;
			position: relative;
		}	

	#main {
		padding-top: 10px;
		position: relative;
	}
	#main-box {
		/* 2分割 */
		display: flex;
		flex-flow: column wrap;
		flex-direction: column-reverse;
	}
	#side {
		width: 100%;
		padding-right: 24px;
		}
	#content {
		width: 100%;
	}

	#home .content-wrapper {
		width: 100%;
		position: relative;
		}
		#home .content-inner {
		padding: 0 24px;
		position: relative;
		}

	.page .content-wrapper {
		position: relative;
		}
		.page .content-inner {
		padding: 0 24px;
		position: relative;
		}

	footer {
		width: 100%;
		position: relative;
		background: #009191;
		color: #FFFFFF;
		}
		footer .footer-inner {
			padding: 0 24px;
			position: relative;
		}
}
@media screen and (min-width:768px) and (max-width:999px){/*スマホ・タブレット用指定*/

	#header {
		width: 100%;
		position: relative;
		}
	.header-wrapper {
		width: 100%;
		position: relative;
		}
		.header-inner {
			padding: 0 24px;
			position: relative;
		}
	
	#main {
		padding-top: 10px;
		position: relative;
	}
	#main-box {
		/* 2分割 */
		display: flex;
		flex-flow: column wrap;
		flex-direction: column-reverse;
	}
	#side {
		position: relative;
		width: 100%;
		padding-right: 24px;
		min-width: 228px;
		}
	#content {
		width: 100%;
		min-height: 800px;
	}

	#home .content-wrapper {
		width: 100%;
		position: relative;
		}
		#home .content-inner {
		padding: 0 24px;
		position: relative;
		}

	.page .content-wrapper {
		position: relative;
		}
		.page .content-inner {
		padding: 0 24px;
		position: relative;
		}
		
	footer {
		width: 100%;
		position: relative;
		background: #009191;
		color: #FFFFFF;
		}
		footer .footer-inner {
			padding: 0 24px;
			position: relative;
		}
}
@media print, screen and (min-width:1000px){/*PC用指定*/

	#header {
		width: 100%;
		position: relative;
		}
		#header-top-box {
			padding: 24px 24px 12px;
		}
	.header-wrapper {
		width: 100%;
		position: relative;
		}
		.header-inner {
			padding: 0 24px;
			position: relative;
		}
	
	#main {
		padding-top: 10px;
		position: relative;
	}
	#main-box {
		/* 2分割 */
		display: flex;
		flex-flow: row nowrap;
		justify-content: left;
	}
	#side {
		position: relative;
		padding-right: 24px;
		min-width: 228px;
		}
	#content {
		min-height: 800px;
		width: 100%;
	}
	
	#home .content-wrapper {
		width: 100%;
		position: relative;
		}
		#home .content-inner {
			padding: 0 40px;
			max-width: 920px; /* 1000px - 40px×2 */
			margin: 0 auto;
			position: relative;
		}

	.page .content-wrapper {
		position: relative;
		}
		.page .content-inner {
			padding: 0 40px;
			max-width: 920px; /* 1000px - 40px×2 */
			margin: 0 auto;
			position: relative;
		}
		
	footer {
		width: 100%;
		position: relative;
		background: #009191;
		color: #FFFFFF;
		}
		footer .footer-inner {
			padding: 0 40px;
			max-width: 920px; /* 1000px - 40px×2 */
			margin: 0 auto;
			position: relative;
		}
}

/*------------------------------------------------------------------------
 to top
--------------------------------------------------------------------------*/
@media screen and (max-width:959px){/*スマホ・タブレット用指定*/

	#totop {
		position: absolute;
		bottom: 20px;
		right: 20px;
		width: 40px;
		height: 40px;
	}
}
@media print, screen and (min-width:960px){/*PC用指定*/

	#totop {
		position: absolute;
		bottom: 20px;
		right: 80px;
		width: 48px;
		height: 48px;
	}
}

/*------------------------------------------------------------------------
 ヘッダー
--------------------------------------------------------------------------*/
/* メニューOPEN時のoverlay */
.overlay {
	content: "";
	display: block;
	width: 0;
	height: 0;
	background: rgba(0, 0, 0, 0.3);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	opacity: 0;
	transition: opacity .5s;
	}
.overlay.open {
	width: 100%;
	height: 100%;
	overflow:hidden;
	position:fixed;
	opacity: 1;
	cursor: pointer;
	}
	
/* hamburger */
.menu-trigger {
	display:block;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1001;
	width: 60px;
	height: 60px;
	background: #009191;
	cursor: pointer;
	}
	.menu-trigger > span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
		}
	.menu-trigger > span:nth-of-type(1),
	.menu-trigger > span:nth-of-type(2),
	.menu-trigger > span:nth-of-type(3){
		position: absolute;
		left: 0;
		right: 0;
		width: 30px;
		height: 3px;
		background: #ffffff;
		margin: auto;
		}
	.menu-trigger > span:nth-of-type(1) { top: 18px; }
	.menu-trigger > span:nth-of-type(2) { top: 29px; }
	.menu-trigger > span:nth-of-type(3) { top: 40px; }

	/* OPEN */
	.menu-trigger.active {
		background: transparent;
	}
	.menu-trigger.active > span:nth-of-type(1) {
		-webkit-transform: rotate(-45deg) translate(-8px, 8px);
		transform: rotate(-45deg) translate(-8px, 8px);
		}
	.menu-trigger.active > span:nth-of-type(2) {
		opacity: 0;
		}
	.menu-trigger.active > span:nth-of-type(3) {
		-webkit-transform: rotate(45deg) translate(-8px, -8px);
		transform: rotate(45deg) translate(-8px, -8px);
		}

/* ヘッダー TOP */
@media screen and (max-width:767px) {/*スマホ用指定*/

	#header-top-box {
		height: 60px;
	}
	/* ロゴ */
	#header-top-box #header-logo {
		display: block;
		padding-top: 10px;
		padding-bottom: 10px;
	}
	#header-top-box #header-logo img {
		height: 40px;
		width: auto;
		max-width: 336px;
		display: block;
	}
	/* 画像とナビ */
	#header-top-box .item-rig {
		display: none;
		}
}
@media screen and (min-width:768px) and (max-width:999px){/*スマホ・タブレット用指定*/

	/* ロゴ */
	#header-top-box #header-logo {
		display: block;
		padding-top: 12px;
		padding-bottom: 12px;
	}
	#header-top-box #header-logo img {
		height: auto;
		width: 70%;
		max-width: 336px;
		display: block;
	}
	/* 画像とナビ */
	#header-top-box .item-rig {
		display: none;
		}
}
@media print, screen and (min-width:1000px){/*PC用指定*/

	#header-top-box {
		display: flex;
		justify-content: space-between;
	}
	/* 左：ロゴ */
	#header-logo img {
		height: 56px;
		width: auto;
		max-width: 336px;
		display: block;
		}
	/* 右：画像とナビ */
	#header-top-box .item-rig {
		display: flex;
		justify-content: flex-end;
		}
		#header-top-box .item-rig img{
			height: 70px;
			width: auto;
		}
		#header-top-box .item-rig ul {
			margin-left: 24px;
			}
			#header-top-box .item-rig li {
				color: #009191;
				border-bottom: 1px solid #009191;
			}
			#header-top-box .item-rig li a {
				color: #009191;
				padding-left: 12px;
				padding-right: 24px;
				display: block;
				position: relative;
				}
				#header-top-box .item-rig li a::after {
          content:"";
          position: absolute;
          right: 0;
          top: 0;
          bottom: 0;
          margin: auto;
          width: 16px;
          height: 16px;
          background-image: url("../images/ico-arrow_01.png");
          background-repeat: no-repeat;
          background-size: contain;
      }
}

/* ナビゲーションメニュー */
#header-top-box #ham-chk {
	opacity: 0;
	height: 0;
	width: 0;
}

@media screen and (max-width:767px) {/*スマホ用指定*/

	#globalnav.open {
		transform: translateY(0);
	}
	#globalnav {
		background: #009191;
		opacity: 0.8;
		overflow-y: auto;
		position: fixed;
		width: 100%;
		top: 0;
		left: 0;
		z-index: 1000;
		transform: translateY(-100%);
		transition: all .5s;
		padding: 60px 0 0;
	}

	/* サブメニュー開閉 */
	.sub-menu { display: none; }

	/* メニューのスタイル */
	#header-nav-box .lis-s1 .menu-item a {
		font-size: clamp(14px, 1.4vw, 14px);
		color: #fff;
		padding: 8px 24px;
		border-bottom: 1px solid #ffffff;
		display: block;
	}
	#header-nav-box .lis-s1 .sub-menu {
		background-color: rgba(0, 145, 145, 0.8);
	  /* background-color: rgba(255,145,0,0.8); */
	 }
	#header-nav-box .lis-s1 .sub-menu a {
		padding-left: 48px;
		border-bottom: 1px solid #ffffff;
	}
}
@media screen and (min-width:768px) {

	#header-top-box #hamburger { display:none; }
	#header-top-box #ham-chk { display:none; }

	#header-nav-box .lis-s1 {
		background-color: #009191;
		color: #fff;
		/* flex */
		display: flex;
		justify-content: center;
	}
	#header-nav-box .lis-s1 .menu-item {
		border-left: 1px solid #fff; /* メニューアイテムの左ボーダー */
		position: relative;
		width: 128px;
		}
		#header-nav-box .lis-s1 .menu-item:last-child {
		  border-right: 1px solid #fff; /* 最後のメニューアイテムの右ボーダー */
		}
		/* メニューアイテムのホバースタイル */
		#header-nav-box .lis-s1 .menu-item:hover .sub-menu {
		  visibility: visible; /* 下層メニューを表示 */
		}
		#header-nav-box .lis-s1 .menu-item a {
			font-size: clamp(12px, 1.6vw, 16px);
			color: #fff;
			display: flex;
			align-items: center;
			justify-content: center;
			text-decoration: none;
			height: 24px;
			width: 100%;
		}

		#header-nav-box .lis-s1 .menu-item a:hover {
			background: #ff9100;
		}

	/* ドロップダウンメニュー */
	#header-nav-box .lis-s1 .drop-menu {
	  position: relative;
	}
	#header-nav-box .lis-s1 .sub-menu {
	  background-color: rgba(0, 145, 145, 0.8);
	  position: absolute;
	  left: 0;
	  top: 100%;
	  width: 200%;
	  visibility: hidden; /* 下層メニューを非表示 */
	  z-index: 1;
	}
	#header-nav-box .lis-s1 .sub-menu li {
		display: block;
		padding-left: 0;
		border-bottom: 1px solid #ffffff;
		}
		#header-nav-box .lis-s1 .sub-menu li a {
			display: block;
			text-align:left;
			padding-left: 12px;
			padding-right: 12px;
			width: calc(100% - 24px);
		}
		#header-nav-box .lis-s1 .sub-menu li a.active,
		#header-nav-box .lis-s1 .sub-menu li a:hover {
			background-color: rgba(255, 145, 0, 0.8);
		}
}

/* mv */
#home-mv-box {
	background: url(../images/header-mv-00_bg.jpg) no-repeat center/cover;
	background-size: cover;
	width: 100%;
	}
	#home-mv-box video {
		width: 100%;
		height: auto;
		vertical-align: bottom;
	}
#school-mv-box {
	background: url(../images/header-mv-02_bg.jpg) center left no-repeat;
	background-size: cover;
	image-rendering: -webkit-optimize-contrast;
	width: 100vw;
	text-align: left;
	min-height: 160px;
}
#feature-mv-box {
	background: url(../images/header-mv-03_bg.jpg) center left no-repeat;
	background-size: cover;
	image-rendering: -webkit-optimize-contrast;
	width: 100vw;
	text-align: left;
	min-height: 160px;
}
#course-mv-box {
	background: url(../images/header-mv-04_bg.jpg) center left no-repeat;
	background-size: cover;
	image-rendering: -webkit-optimize-contrast;
	width: 100vw;
	text-align: left;
	min-height: 160px;
}
#guide-mv-box {
	background: url(../images/header-mv-05_bg.jpg) center left no-repeat;
	background-size: cover;
	image-rendering: -webkit-optimize-contrast;
	width: 100vw;
	text-align: left;
	min-height: 160px;
}
#certified-mv-box {
	background: url(../images/header-mv-05_bg.jpg) center left no-repeat;
	background-size: cover;
	image-rendering: -webkit-optimize-contrast;
	width: 100vw;
	text-align: left;
	min-height: 160px;
}
#other-mv-box {
	background: url(../images/header-mv-01_bg.jpg) center left no-repeat;
	background-size: cover;
	image-rendering: -webkit-optimize-contrast;
	width: 100vw;
	text-align: left;
	min-height: 160px;
}

/* パンくずリンク--------------------------*/
.pan{
	font-size: clamp(13px, 1.3vw, 13px);
	text-align: left;
	padding:0;
	margin:0 0 15px 0;
	}
	.pan a,
	.pan span {
		color:#333333;
		text-decoration: none;
		position: relative;
		padding-right: 30px;
		}
	.pan span::after,
	.pan a::after{
		content:"＞";
		position: absolute;
		right: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		padding-left: 8px;
		padding-right: 8px;
		}
		 #home .pan a::after{
		 	content: none;
		 }

	.pan a:hover{
		text-decoration: underline;
		}

/*------------------------------------------------------------------------
 サイドバー
--------------------------------------------------------------------------*/
#side .item-bana {
	text-align: center;
	}
	#side .item-bana img {
		width: 180px;
		height: auto;
		max-width: 100%;
		margin-bottom: 16px;
	}

/* SNS LINK */
#side-bottom-box ul {
	display: flex;
	flex-flow: row nowrap;
	justify-content: left;
	}
	#side-bottom-box .instagram img,
	#side-bottom-box .line img {
		width: 46px;
		height: auto;
	}
	#side-bottom-box .instagram {
		margin-right: 13px;
	}
	#side-bottom-box {
		padding-bottom: 20px;
	}
@media screen and (max-width:999px){/*スマホ・タブレット用指定*/

	#side-bottom-box ul {
		/* 中央揃え */
		display: flex;
		flex-flow: row nowrap;
		justify-content: center;
		}
}
@media print, screen and (min-width:1000px){/*PC用指定*/

	/* SNSリンクを下揃えに */
	#side-top-box {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
	}
	#side-bottom-box {
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
	}
}

/*------------------------------------------------------------------------
 フッター
--------------------------------------------------------------------------*/
/* レイアウト */
footer {
	padding-top: 12px;
	padding-bottom: 20px;
}

/* nav box --------------------------*/
#footer-nav-box ul{
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	}
	#footer-nav-box ul li{
		position: relative;
	}
	#footer-nav-box ul li a {
		color: #ffffff;
		text-decoration: none:
	}
	#footer-nav-box ul li::after{
		content:'||';
		padding-left: 8px;
		padding-right: 8px;
		}
		#footer-nav-box ul li:last-child::after{
			content:none;
		}
#footer-about-box p {
	text-align: center;
}
#copyright {
	text-align: center;
}

/* nav box --------------------------*/

/* 文字サイズ設定 */
@media screen and (max-width:767px){/*スマホ用指定*/

	#footer-nav-box ul li{
		font-size: clamp(12px, 1.2vw, 12px);
	}
	#footer-about-box p {
		font-size: clamp(12px, 1.2vw, 12px);
	}
	#copyright {
		font-size: clamp(10px, 1.0vw, 10px);
	}
}
@media print, screen and (min-width:768px){/*タブレット・PC用指定*/

	#footer-nav-box ul li{
		font-size: clamp(12px, 1.2vw, 12px);
	}
	#footer-about-box p {
		font-size: clamp(12px, 1.2vw, 12px);
	}
	#copyright {
		font-size: clamp(10px, 1.0vw, 10px);
	}
}




