@charset "utf-8";
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500&display=swap&subset=japanese");

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

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

*{
	margin: 0px;
	padding: 0px;
	zoom:1;
	font-weight:normal;
	font-style:normal;
	}
	
.gothic {
  font-family: Verdana, "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

.mincho {
  font-family: "Times New Roman", "游明朝", YuMincho, "Hiragino Mincho ProN", Meiryo, serif;
}

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

/*
フォントサイズ
ExtraLight 100
Light 200
Regular 400
Medium 500
Bold 700
*/

body{
	height:100%;
	background: #ffffff !important;/*印刷*/ 
	text-align:left;
	font-family: 'Noto Sans JP', sans-serif, source-han-sans-japanese;
	font-weight:400;
	color:#000000;
	font-size:16px;
	}

a{
    color: #1a0dab;
    text-decoration: none;
}
a:hover {
    text-decoration: underline;
}

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

body *,
body p{ 
    line-height:1.5;
	} 

  .levelContent {
    padding-left: 5%;
    padding-right: 5%;
  }
  .mb1010 {
    margin-top: 10px;
    margin-bottom: 10px;
  }
  .mb1020 {
    margin-top: 10px;
    margin-bottom: 20px;
  }
  .mb1030 {
    margin-top: 10px;
    margin-bottom: 30px;
  }
  .mb1040 {
    margin-top: 10px;
    margin-bottom: 40px;
  }


.mb2020 {
  margin-bottom: 20px;
  color:#224b8F;
}
@media (max-width: 767px) {
  .mb2020 {
    margin-bottom: 10px;
  color:#224b8F;
  }
}

.mb2025 {
	font-size: 20px;
    margin-bottom: 26px;
	margin-bottom: 18px;
	border-left: 4px
	}
.mb2025::before {
  content: "〇";
  color: #4169e1;
	}


.certiH2 {
  padding-bottom: 15px;
  margin-bottom: 30px;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.25;
  color: #2b4985;
  border-bottom: #231815 1px solid;
}
.certiH3 {
  padding: 15px 15px;
  margin-top: 15px;
  margin-bottom: 15px;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.25;
  border-left: 6px solid #191970;
  background-color: #fffafa;
}
.certiH4 {
  margin-top: 10px;
  margin-bottom: 5px;
}
.certiH5 {
  padding: 10px 15px;
  margin-bottom: 15px;
  font-size: 20px;
  font-weight: 600;
  line-height: 1;
  border-left: 4px solid #A9890F;
  background-color: #ffffff;
}


.certiList01 li {
  position: relative;
  font-size: 16px;
  padding-left: 20px;
  margin-bottom: 10px;
}
.certiList01 li a{
    color: #1a0dab;
}

.certiList01 li:last-child {
  margin-bottom: 0;
}

.certiList01 li::before {
  position: absolute;
  top: 0;
  left: 0;
  content: '・';
}
.certiList02 li {
  position: relative;
  font-size: 16px;
  padding-left: 20px;
  margin-left: 40px;
  margin-bottom:0;
}
.certiList02 li a{
    color: #1a0dab;
}
.certiList02 li::before {
  position: absolute;
  top: 0;
  left: 0;
  content: '・';
}

.note-list {
  list-style: none;
  counter-reset: note-counter;
  margin-left: 40px;
}

.note-list li::before {
  counter-increment: note-counter;
  content: "※" counter(note-counter);
  display: inline-block;
  width: 2em; /* 必要に応じて調整 */
}

.atten li {
  position: relative;
  font-size: 16px;
  padding-left: 20px;
  margin-bottom: 10px;
}
.atten li a{
    color: #1a0dab;
}

.atten li:last-child {
  margin-bottom: 0;
}

.atten li::before {
  position: absolute;
  top: 0;
  left: 0;
  content: '※';
}

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


ol {
	padding-left: 20px; 
}

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

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

input[type="submit"] {
   -webkit-appearance: none;
   border-radius: 0;
	}

/* 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;
	}

.tp{
	vertical-align:top;
	}
	
.md{
	vertical-align:middle;
	}
	
.bt{
	vertical-align:bottom;
	}

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

em{
	color:#cc0000 !important;/*印刷*/
	font-style:normal;
	}

strong{
	}
	
b{
	}
	
hr {
	display:none;
	}

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

img{
	vertical-align: bottom;	/* Strict時の画像下のスキマを埋める(Firefox) */
	}
	
.nonetxt{
	display:none;
	}

address{
	font-style:normal;
	}

.gotop{
	clear:both;
	text-align:right;
	padding-top:20px;
	}

a,
a:focus{
	outline: none;/* 枠線を消す(Firefox用の記述) */
	}
	a:hover{
		text-decoration:underline;
		}
@media (min-width: 751px) {
a[href^="tel:"] {
    pointer-events: none;
    cursor: default;
}
}

/*gridのgutter調整*/
.row-0 > [class*='col-'] {
    padding-right:0;
    padding-left:0;
}
.row-10 > [class*='col-'] {
    padding-right:5px;
    padding-left:5px;
}
.row-20 > [class*='col-'] {
    padding-right:10px;
    padding-left:10px;
}
.row-40 > [class*='col-'] {
    padding-right:20px;
    padding-left:20px;
}	
.row-50 > [class*='col-'] {
    padding-right:25px;
    padding-left:25px;
}	
.row-70 > [class*='col-'] {
    padding-right:35px;
    padding-left:35px;
}



/*------------------------------------------------------------------------
レイアウト
--------------------------------------------------------------------------*/
@media screen and (max-width: 750px) {
  body::before {
    transition: background 0.25s;
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 15;
    pointer-events: none;
  }
}

#content{
	padding:20px 0;
	margin:0;
	}
		
#main{
	padding:20px 0;
	text-align:left;
	}
@media print, screen and (min-width: 751px) {
  header {
	padding-bottom:9px;
	margin:20px 20px 20px 20px;
	text-align:center;
	border-bottom:1px solid #eee
	}
}
@media screen and (max-width: 750px) {
  header {
	padding-bottom:5px;
	margin:10px 0 10px;
	text-align:center;
	border-bottom:1px solid #eee
	}
}

@media screen and (max-width:1059px){/*スマホ・タブレット用指定(959)*/	
#header-top{
	padding:10px 0px 10px 10px;
	margin:0;
	text-align:left;
	border-bottom:1px solid #eee
	}
}
@media print, screen and (min-width:1060px){/*PC用指定(960)*/
#header-top{
	padding:10px 0 10px 50px;
	margin:0px;
	text-align:left;
	border-bottom:1px solid #eee
	}
}

@media screen and (max-width:1059px){/*スマホ・タブレット用指定(959)*/		
#header-top .logo{
	position:left;
	margin:0px;
	}
	#header-top .logo img{
		max-width:200px;
		width:100%;
		height:auto;
		}
}
@media print, screen and (min-width:1060px){/*PC用指定(960)*/
#header-top .logo{
	margin:0;
	} 
	#header-top .logo img{
		max-width:250px;
		width:100%;
		height:auto;
		}
}

#footer{
	background: #5b5b5b !important;/*印刷*/
	padding:20px 0;
	margin:0;
	text-align:center;
	width:100%;
	position:relative;
	bottom:0;
	}	
@media only screen and (max-width : 767px) {
#footer{
	background: #ffffff !important;/*印刷*/
	padding:20px 0 0 0;
	}
}




/*------------------------------------------------------------------------
フッター
--------------------------------------------------------------------------*/

@media only screen and (max-width : 767px) {
#footer .cop-add{
	width:100%;	
	background: #5b5b5b !important;/*印刷*/
	margin:0;
	padding:20px 0 60px 0;
	}
}

	#footer .cop-add .add{
		}
		#footer .cop-add .add p{
			font-size:12px;
			text-align: center;
			color:#ffffff !important;/*印刷*/
			margin-bottom:10px;
			}
			#footer .cop-add .add p.logo img{
				width:auto;
				height:50px;
				}
			#footer .cop-add .add p a{
				color:#ffffff !important;/*印刷*/
				text-decoration: none;
				}
			#footer .cop-add .add p a.tel{
				display:block;
				color:#ffffff !important;/*印刷*/
				margin-bottom:20px;
				}
	@media only screen and (max-width : 480px) {
			#footer .cop-add .add p a.tel {
				display:block;
				padding:15px 0;
				background: #4f81bd !important;/*印刷*/
				color:#ffffff !important;/*印刷*/
				font-size:14px;
				line-height:14px;
				text-align:center;
				text-decoration:none;
				margin:15px 0 0 0;
				}
				#footer .cop-add .add p a.tel span {
					font-size:12px;
					line-height:14px;
					}
	}


	#footer .cop-add .cop{
		color:#ffffff !important;/*印刷*/
		font-style:normal;
		font-size:12px;
		text-align:center;
		}	
	@media only screen and (max-width : 767px) {
	#footer .cop-add .cop{
		padding:0 15%;
		}	
	}	
		#footer .cop-add .container{
			padding-top:20px;
			padding-bottom:20px;
			}
		#footer .cop-add a:link,
		#footer .cop-add a:visited,
		#footer .cop-add a:active,
		#footer .cop-add a:hover{
			color:#ffffff !important;/*印刷*/
			}


#footer .gotop{
	margin:0;
	padding:0;
	position:fixed;
	right:5px;
	bottom:30px;
	display:block;
	width:60px;
	height:60px;
	background-color:rgba(91,91,91,0.9) !important;/*印刷*/
	color:#ffffff !important;/*印刷*/
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
	}
	#footer .gotop:hover{
		background-color:rgba(91,91,91,1) !important;/*印刷*/
		}
		#footer .gotop a{
			display:block;
			width:100%;
			height:100%;
			}
			#footer .gotop a span{
				position:relative;
				top:25px;
				left:20px;
				display:block;
				width:20px;
				height:20px;
				font-weight:bold;
				text-align:center;
				line-height:60px;
				text-decoration:none;
				border-top: 2px solid #fff;
				border-right: 2px solid #fff;
				-webkit-transform: rotate(-45deg);
				transform: rotate(-45deg);
				}	
@media only screen and (max-width : 767px) {
#footer .gotop{
	right:0;
	bottom:0;
	}
}

/*------------------------------------------------------------------------------
Css name: content.css
Css info: コンテンツスタイル
------------------------------------------------------------------------------*/

/* iframe　レスポンシブ */
.iframe-box {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
	margin-top: 20px;
	margin-bottom: 20px;
	}
	.iframe-box iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		}


/* btn-s1　ボタン */
.btn-s1 a{
	position:relative;
	margin:0 auto;
	display:block;
	box-sizing: border-box;
	padding:15px;
	max-width:600px;
	min-height:44px;
	font-size:14px;
	line-height:14px;
	text-align:center;
	font-weight:bold;
	color:#ffffff !important;/*印刷*/
	background-color:#0849a3 !important;/*印刷*/
	text-decoration:none;    
	-webkit-transition: all .3s;
	transition: all .3s;
	}
.btn-s1 a::after{
	content: "＞＞";
	font-size:70%;
	margin-left:5px;
	}
	.btn-s1 a:hover{
		opacity: 0.5;
		filter: alpha(opacity=50);
		-ms-filter: "alpha(opacity=50)";
		}

@media only screen and (max-width : 767px) {
.btn-s1 a{
	max-width:100%;
	}
}

a[href*=".pdf"]::before {
  content: "\f1c1";
  font-family: "Font Awesome 5 Free";
  color: #F30401;
}
/* PDFファイル Acrobat Readerダウンロードページへ */
#main .box-pdf{
	display:table;
	width:100%;
	background-color:#f5f5f5 !important;/*印刷*/
	}
	#main .box-pdf p{
		display:table-cell;
		vertical-align: middle;
		padding:10px;
		}
@media only screen and (max-width : 480px) {
#main .box-pdf{
	display:block;
	padding:10px 10px 5px 10px;
	}
#main .box-pdf p{
	display:block;
	padding:0;
	}
}


/* tableを横スクロール */
.scroll{
	overflow: auto;　　　　/*tableをスクロールさせる*/
	white-space: nowrap;　　/*tableのセル内にある文字の折り返しを禁止*/
	}
.scroll::-webkit-scrollbar{　　/*tableにスクロールバーを追加*/
	height: 5px;
	}
.scroll::-webkit-scrollbar-track{　　/*tableにスクロールバーを追加*/
	background: #F1F1F1;
	}
.scroll::-webkit-scrollbar-thumb {　　/*tableにスクロールバーを追加*/
	background: #BCBCBC;
	}	
@media only screen and (max-width : 767px) {
.scroll:before{
	content:"▼横スクロールできます";
	color:#cc0000 !important;/*印刷*/
	}
.scroll:after{
	content:"▲横スクロールできます";
	color:#cc0000 !important;/*印刷*/
	}
}
.scroll table{
	width:100%;
	}



	

/*//////////////////////////////////////////////////////// */
/* certificate-------------*/
/*//////////////////////////////////////////////////////// */

/* home-box01　-------------*/
 .home-box01{
	padding:20px 0;
	}
@media only screen and (max-width : 767px) {
 .home-box01{
	padding:20px 0;
	}
}

	 .home-box01 .tit-s0{
		font-size:40px;
		font-weight:600;
		text-align: left;
		margin-bottom: 40px;
		margin-top: 30px;
		color:#224b8F;
		}
@media only screen and (max-width : 767px) {
	 .home-box01 .tit-s0{
		font-size:32px;
		}
}


	 .home-box01 .tit-s1{
		display:inline-block;
		text-align: center;
		padding-bottom:5px;
		border-bottom:1px solid #666666;
		margin:80px auto 40px auto;
		}
@media only screen and (max-width : 767px) {
	 .home-box01 .tit-s1{
		margin:40px auto 20px auto;
		}
}


	 .home-box01 .box-s1{
		position:relative;
		text-align: left;
		border:1px solid #cccccc;
		padding:20px 20px 60px 20px;
		height:365px;
		}
@media only screen and (max-width : 991px) {
 	 .home-box01 .box-s1{
		height:410px;
		}
}
@media only screen and (max-width : 767px) {
	 .home-box01 .box-s1{
		height:auto;
		margin:0 0 20px 0;
		}
}


	 .home-box01 .tit-s2{
		position:relative;
		font-weight:bold;
		text-align: left;
		padding:0 0 0 25px;
		margin:0 auto 20px auto;
		}
	.home-box01 .tit-s2::before{
		content: "";
		position: absolute;
		left:0;
		top:0;
		bottom:0;
		margin:auto;
		width: 20px;
		height: 20px;
		background:#0849a3;
		}
	.home-box01 .tit-s2::after{
		content: "";
		position: absolute;
		left:6px;
		top:0;
		bottom:0;
		margin:auto;
		width: 6px;
		height: 6px;
		border: 1px solid;
		border-color: #fff #fff transparent transparent;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		}


	.home-box01 .lis-s1{
		margin:0 auto 20px auto;
		}
		.home-box01 .lis-s1 dt{
			clear:left;
			float:left;
			width:6em;
			font-size:14px;
			color:#666666;
			font-weight:normal;
			text-align: left;
			padding:5px 0;
			}
		.home-box01 .lis-s1 dd{
			font-size:14px;
			text-align: left;
			color:#0849a3 !important;/*印刷*/
			padding:5px 0 5px 6em;
			}


	 .home-box01 .txt-s2{
		color:#0849a3 !important;/*印刷*/
		text-align: left;
		margin:0 auto 20px auto;
		}


	 .home-box01 .btn-s1{
		position:absolute;
		left:20px;
		right:20px;
		bottom:20px;
		margin:auto;
		}







/* home-box02　-------------*/
 .home-box02{
	padding:40px 0;
	}
	
@media only screen and (max-width : 767px) {
 .home-box02{
	padding:20px 0;
	}
}
	 .home-box02 .tit-s1{
		font-size:24px;
		margin:0 0 40px 0;
		}
@media only screen and (max-width : 767px) {
	 .home-box02 .tit-s1{
		font-size:16px;
		margin:20px 0;
		}
}


	 .home-box02 .lis-s1{
		border-top:1px solid #cccccc;
		border-left:1px solid #cccccc;
		font-size:0;
		margin:0;
		}
		.home-box02 .lis-s1 li{
			display:inline-block;
			width:33.33%;
			font-size:16px;
			box-sizing: border-box;
			border-right:1px solid #cccccc;
			border-bottom:1px solid #cccccc;
			}
@media only screen and (min-width : 1001px) {
		.home-box02 .lis-s1 li.s1{
			width:13.665%;
			font-size:13px;
			border-right:none;
			}
		.home-box02 .lis-s1 li.s2{
			width:19.665%;
			font-size:13px;
			}
}
@media only screen and (max-width : 1000px) {
		.home-box02 .lis-s1 li{
			display:inline-block;
			width:50%;
			}
		.home-box02 .lis-s1 li.s1{
			display:inline-block;
			width:21%;
			border-right:none;
			}
		.home-box02 .lis-s1 li.s2{
			display:inline-block;
			width:29%;
			}
			
			/*項目が奇数の場合のみ 20250613 suzuki*/
	   .home-box02 .lis-s1 li:last-child{
			width:100%;
			}
			
}
@media only screen and (max-width : 767px) {
		.home-box02 .lis-s1 li{
			display:block;
			width:100%;
			}
		.home-box02 .lis-s1 li.s1,
		.home-box02 .lis-s1 li.s2{
			display:inline-block;
			width:50%;
			}
}
			.home-box02 .lis-s1 li a{
				color:#666666;
				position:relative;
				display:block;
				text-align: left;
				padding:20px 20px 20px 30px;
				text-decoration: none;
				}
			.home-box02 .lis-s1 li a:hover{
				text-decoration: underline;
				}
			.home-box02 .lis-s1 li.s1 a{
				padding:20px 0px 20px 30px;
				}
			.home-box02 .lis-s1 li.s2 a{
				padding:20px 3px 20px 30px;
				}

			.home-box02 .lis-s1 li a::before{
				content: "";
				position: absolute;
				left:10px;
				top:0;
				bottom:0;
				margin:auto;
				width: 16px;
				height: 16px;
				background:#666666;
				border-radius: 8px;
				}

			.home-box02 .lis-s1 li a::after{
				content: "";
				position: absolute;
				left:13px;
				top:0;
				bottom:0;
				margin:auto;
				width: 6px;
				height: 6px;
				border: 1px solid;
				border-color: #fff #fff transparent transparent;
				-webkit-transform: rotate(45deg);
				transform: rotate(45deg);
				}

table{
	border: 1px solid #ccc;
	width: 100% !important;
	margin-top:15px;
	}
table th {
  font-weight: 500;
  background: #f5f5f5;
  padding: 10px;
  text-align:center;
  border: 1px solid #ccc;
}
table td {
  font-weight: normal;
  text-align:left;
  border: 1px solid #ccc;
  padding: 14px;
 }

table2 td{
  font-weight: normal;
  text-align:center;
  border: 1px solid #ccc;
  padding: 14px;
 }


@media (min-width: 768px) {
  .section__p {
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 1.5em;
    width: 100%;
    margin-top: 10px;
  }
  .txtred {
  color: red;
  font-weight: 500;
  margin-top: 20px;
  }
}
@media (max-width: 767px) {
  .section__p {
    font-size: 16px;
    letter-spacing: 0;
    line-height: 1.25em;
    padding: 0 5%;
  }
.txtred {
  color: red;
  font-weight: 500;
  margin-top: 20px;
  }
}

.course {
  color:  #ffffff;
  font-size: 18px;
  font-weight:500;
}
@media (min-width: 768px) {
.course:hover {
    color: #cccccc;
    text-decoration: none;
  }
}


.section__sub {
  border: solid 1px #cccccc;
  padding: 10px;
  border-radius: 10px;
  display: inline-block;
  }


.section-sub {
    display: inline-block;
    padding: 10px 20px;
    border: 2px solid navy; /* 線の色を紺色に設定 */
    background-color: navy; /* 背景色を紺色に設定 */
    color: white; /* テキストの色を白に設定 */
    border-radius: 50%; /* 楕円形にする */
    text-align: center;
    font-size: 16px;
    cursor: pointer;
}

.section__sub2 {
  border: solid 1px #191970;
  padding: 15px 30px;
  border-radius: 50px;
  background:#191970;
  max-width: 500px;
  text-align: center;
  }

.gm_ol1 {
  margin-bottom: 40px;
}
.gm_ol1 > li {
  margin-left: 0em;
  margin-bottom: 10px;
}
