
/* --------------------------　メインスライダー　-------------------------- */

.top_main {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 100vh !important;
  min-width: 1120px;
  background: #fff;
	
}
.vegas-timer {
  display: none;
}
.top_main_title {
  color: #fff;
  text-align: left;
  font-weight: bold;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 40px;
  margin:auto;
  z-index: 3;
  height: 240px;
  font-size: 1.8rem;
}
.top_main_title h1 {
  font-size: 1.8rem;
  padding: 0;
    margin: 0;
	margin-bottom: 20px;
}
.top_main_title img {
  margin-bottom: 20px;
}
.top_main_title span {
  display: block;
  font-size: 6rem;
  line-height: 1.4;
  margin-bottom: 15px;
  margin-bottom: 40px;
}
.scloll {
	text-align: center;
	margin-top: 50px;
}
.main_ill {
	background: url("../../images/main_ill.png");
	background-repeat: no-repeat;
	background-position: bottom center;
	width: 100%;
	height: 368px;
	background-size: 100%;
	position: absolute;
	bottom: 0;
}
@media screen and (max-width: 768px) {
  .top_main {
    min-width: 100%;
	min-width: auto !important;
	  width: 100% !important;
  }
  .top_main_title {
    width: 90%;
	height: auto;
	display: flex;
  justify-content:flex-end;
  align-items: center;
	flex-direction: column;
	  margin-top: 150px;
	  font-size: 1.3rem !important;
	  line-height: 180%;
	   left: 15px;
	bottom:50px;
  }
	
	.top_main_title h1 {
  font-size: 1.3rem;
  padding: 0;
    margin: 0;
	margin-bottom: 10px;
}
	.top_main_title img {
    width: 100%;
		height: auto;
  }
	.top_main_title h1 img {
  margin-bottom: 10px;
		width: 30%;
}
	.top_main_title span {
  display: block;
  font-size: 2.4rem;
  line-height: 1.4;
  margin-bottom: 15px;
  margin-bottom: 30px;
}
}




/* --------------------------　content01　-------------------------- */

.content01 {
	background: #36a3e4;
	padding: 50px 0;
}

.title_v01 {
	text-align: center;
	margin-bottom: 50px;
}
.title_v01 h2 {
	font-family: futura-pt-bold, sans-serif;
font-style: normal;
font-weight: 700;
	font-size: 4.8rem;
	line-height: 1.2;
	padding: 0;
	margin: 0;
	text-align: center;
}
.title_v01 .sub {
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 1.2;
}
.title_v02 {
	font-size: 4.8rem;
	text-align: center;
	font-weight: bold;
	line-height: 1.5;
	margin-bottom: 50px;
}
.content-wrap {
	max-width: 1120px;
	margin: auto;
}

.content01 p {
	font-size: 1.8rem;
	line-height: 1.7;
}

.flexbox01 {
	display: flex;
	justify-content: space-between;
	margin-bottom: 40px;
	
}
.flexbox01_item {
	width: 48.5%;
}
.flexbox01_item img {
	width: 100%;
	height: auto;
	border-radius: 20px;
}
.nami_ill01 {
	background: url("../../images/nami_ill01.png");
	background-repeat: no-repeat;
	width: 100%;
	height: 80px;
	background-size: 100%;
	bottom: 0;
	background-position: top center;
}

/* --------------------------　content02　-------------------------- */

.content02 {
	background: #fff;
	padding: 50px 0;
}

.cont02flex  {
	display: flex;
	justify-content: space-between;
	margin-bottom: 60px;
}

.cont02flex_item,
.cont02flex_item02 {
	width: 48.5%;
	display: flex;
  justify-content: center;
  align-items: center;
}

.cont02_txt {
	margin: 0 40px 0 80px;
}
.cont02flex_item h3 {
	font-size:3.2rem;
	color:#1362ae;
	line-height: 1.3;
	padding: 0;
	margin: 30px 0 20px 0;
}

.cont02flex_item02 img {
	width: 100%;
	height: 600px;
	object-fit: cover;
	border-top-left-radius: 20px;
	border-bottom-left-radius: 20px;
}

.schoollist {
	display: flex;
	justify-content: space-between;
	margin-bottom: 50px;
	flex-wrap: wrap;
}
.schoollist_item {
	background: #eeeeee;
	border-radius: 10px;
	padding: 10px;
	display: flex;
	width: 32%;
	box-sizing: border-box;
	margin-bottom: 15px;
}
.schoollist_item img {
	width: 88px;
	height: 88px;
	margin-right: 10px;
	border-radius: 6px;
}
.schoollist_item .listtxt {
	
}
.schoollist_item .listtxt h3 {
	font-size: 2rem;
	color:#1362ae;
	line-height: 1.3;
	padding: 0;
	margin: 0;
	margin-bottom: 5px;
}
.schoollist_item .listtxt p {
	font-size: 1.2rem;
	
}

.more {
	display: block;
	position: relative;
	background: #1362ae;
	color: #fff;
	text-decoration: none;
	margin-bottom: 5px;
	padding: 30px;
	line-height: 140%;
	font-size: 2rem;
	width: 400px;
	white-space: nowrap;
	overflow: hidden;
	font-weight: 600;
}
.more:after {
	display: block;
	position: absolute;
	top: 50%;
	right: 20px;
	width: 12px;
	height: 12px;
	margin-top: -8px;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	content: "";
}

.more:link {
	color: #fff;
}
.more:visited {
	color: #fff;
}
.more:hover {
	background-color: #1a7ddd;
	text-decoration:none;
}
.more:hover::after {
	border-left-color: #fff;
}


.serviceblock {
	margin: 80px 0 0;
}

.servicebox {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 20px;
}

.serviceitem_l,
.serviceitem_r {
	width: 48.5%;
	display: flex;
  justify-content: center;
	flex-direction: column;
	margin-bottom: 40px;
}

.serviceitem_l h3,
.serviceitem_r h3 {
	font-size: 3.2rem;
	color:#1362ae;
	line-height: 1.5;
	padding: 0;
	margin: 0;
	margin-bottom: 10px;
}
.serviceitem_l img,
.serviceitem_r img {
	width: 100%;
	height: auto;
	border-radius: 20px;
}

.serviceitem02 {
	width: 31%;
}
.serviceitem02 h3 {
	font-size: 2.2rem;
	color:#1362ae;
	padding: 0;
	margin: 0;
	margin-bottom: 10px;
	text-align: center;
}
.serviceitem02 img {
	width: 100%;
	height: auto;
	border-radius: 15px;
	margin-bottom: 15px;
}
.serviceitem02 p {
	font-size: 1.6rem;
}

/* --------------------------　content03　-------------------------- */

.content03 {
	background: #f7f7f7;
	padding: 60px 0;
	position: relative;
}

.whitebox {
	background: #fff;
	padding: 40px;
	border-radius: 20px;
	margin-bottom: 40px;
}
.whiteflex {
	display: flex;
	justify-content: space-between;
	
}
.whiteflex_l {
	width: 48.5%;
	display: flex;
  justify-content: center;
	flex-direction: column;
}
.whiteflex_r {
	width: 48.5%;
	
}
.whiteflex_l h3 {
	font-size: 2.8rem;
	color:#1362ae;
	padding: 0;
	margin: 0;
	margin-bottom: 10px;
}

.whiteflex_l p {
	font-size: 1.6rem;
	margin-bottom: 16px;
}
.whiteflex_l p:last-child {
	margin-bottom: 0;
}
.whiteflex_r img {
	width: 100%;
	height: auto;
}
.mgcut {
	margin-bottom: 0;
}
.nami_ill02 {
	background: url("../../images/nami_ill02.png");
	background-repeat: no-repeat;
	width: 100%;
	height: 80px;
	background-size: cover;
	bottom: 0;
	background-position: bottom center;

	
}
.mb50 {
	margin-bottom: 0px;
}


/* --------------------------　content04　-------------------------- */

.content04 {
	background: #bee6fe;
	padding: 60px 0;
	position: relative;
}
.policybox {
	display: flex;
	justify-content: space-between;
}

.policyitem {
	width: 31.5%;
	background: #fff;
	padding: 15px;
	border-radius: 15px;
	box-sizing: border-box;
}

.policyitem h3 {
	font-size: 2.2rem;
	color:#1362ae;
	padding: 0;
	margin: 0;
	margin-bottom: 10px;
	text-align: center;
}
.policyitem img {
	width: 100%;
	height: auto;
	border-radius: 15px;
	margin-bottom: 15px;
}
.policyitem p {
	font-size: 1.6rem;
}

.nami_ill03 {
	background: url("../../images/nami_ill03.png");
	background-repeat: no-repeat;
	width: 100%;
	height: 80px;
	background-size: cover;
	bottom: 0;
	background-position: bottom center;
}
.profileph {
	float: left;
	margin-bottom: 40px;
	margin-right: 40px;
}
.profileph img {
	width: 320px;
	height: auto;
	border-radius: 15px;
}
.name {
	margin-bottom: 30px;
}
.name img {
	width: 500px;
	height: auto;
}
.profile p {
	margin-bottom: 16px;
}

.voiceflex {
	display: flex;
	justify-content: space-between;
	
}
.voiceflex_l {
	width: 77%;
	display: flex;
  justify-content: center;
	flex-direction: column;
}
.voiceflex_r {
	width: 20%;
	
}
.voiceflex_l h3 {
	font-size: 2.8rem;
	color:#1362ae;
	padding: 0;
	margin: 0;
	margin-bottom: 10px;
}

.voiceflex p {

}

.voiceflex_r img {
	width: 100%;
	height: auto;
	border-radius: 15px;
	margin-bottom: 10px;
}
.busyo {
	background: #1362ae;
	padding: 5px;
	border-radius: 6px;
	color:#fff;
	text-align: center;
	margin-bottom: 0px;
}
.vname {
	font-size: 2.6rem;
	text-align: center;
	font-weight: bold;
}

.reverse {
	flex-direction:row-reverse;
}


.content05 {
	background: url("../../images/bg01.jpg");
	background-position: top right;
	padding: 50px 0 0;
}

.recruit {
	width: 50%;
}
.title_v03 {
	text-align: left;
	margin-bottom: 20px;
}
.title_v03 h2 {
	font-family: futura-pt-bold, sans-serif;
font-style: normal;
font-weight: 700;
	font-size: 4.8rem;
	line-height: 1.2;
	padding: 0;
	margin: 0;
	text-align: left;
	color: #1362ae;
}
.title_v03 .sub {
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 1.2;
}
.recruit h3 {
font-weight: bold;
	font-size: 3.4rem;
	line-height: 1.2;
	padding: 0;
	margin: 0;
	text-align: left;
	color: #1362ae;
	margin-bottom: 20px;
}
.recruit p {
	margin-bottom: 40px;
}

.nami_ill04 {
	background: url("../../images/nami_ill04.png");
	background-repeat: no-repeat;
	width: 100%;
	height: 110px;
	background-size: cover;
	bottom: 0;
	background-position: bottom center;
}

/*タブ切り替え全体のスタイル*/
.tabs {
  margin-top: 50px;
  padding-bottom: 40px;
  background-color: #fff;
  width: auto;
  margin: 0 auto;}

/*タブのスタイル*/
.tab_item {
  width: calc(100%/2);
 
  background-color: #408eda;
  line-height: 50px;
  font-size: 3rem;
  text-align: center;
  color: #fff;
  display: block;
  float: left;
  text-align: center;
  font-weight: bold;
  transition: all 0.2s ease;
	padding: 10px;
	box-sizing: border-box;
}
.tab_item:hover {
  opacity: 0.75;
}

/*ラジオボタンを全て消す*/
input[name="tab_item"] {
  display: none;
}

/*タブ切り替えの中身のスタイル*/
.tab_content {
  display: none;
  padding: 40px 40px 0;
  clear: both;
  overflow: hidden;
}


/*選択されているタブのコンテンツのみを表示*/
#all:checked ~ #all_content,
#programming:checked ~ #programming_content,
#design:checked ~ #design_content {
  display: block;
}

/*選択されているタブのスタイルを変える*/
.tabs input:checked + .tab_item {
  background-color: #1362ae;
  color: #fff;
	
}


#gaiyou {
	border-top: none;
	width: 100%;
	font-size: 1.8rem;
	line-height: 180%;
	margin-bottom: 20px;
	border-left: 1px solid #E3E3E3;
	border-right: 1px solid #E3E3E3;
	border-bottom: 1px solid #E3E3E3;
	background: #f9f9f9;
	padding: 0;
	margin: 0;
	font-weight: normal;
	
}

dl#gaiyou dl,dl#gaiyou dt,dl#gaiyou dd {
	margin: 0;
	padding: 0;
}

dl#gaiyou dt,dl#gaiyou dd {
	padding: 25px;
	text-align: left;
}

dl#gaiyou dt {
	border-top: 1px solid #E3E3E3;
	clear: left;
	float: left;
	width: 20%;
	font-weight: normal;
}
dl#gaiyou dd {
	background: #fff;
	border-top: 1px solid #E3E3E3;
	margin-left:23%;
	border-left: 1px solid #E3E3E3;
	font-weight: normal;
}

#gaiyou02 {
	
	width: 100%;
	font-size: 1.8rem;
	line-height: 180%;
	margin-bottom: 20px;
	padding: 0;
	margin: 0;
	font-weight: normal;
	
}

dl#gaiyou02 dl,dl#gaiyou02 dt,dl#gaiyou02 dd {
	margin: 0;
	padding: 0;
}

dl#gaiyou02 dt,dl#gaiyou02 dd {
	padding:10px 25px 10px 0px;
	text-align: left;
}

dl#gaiyou02 dt {
	clear: left;
	float: left;
	width: 20%;
	font-weight: normal;
}
dl#gaiyou02 dd {
	background: #fff;
	margin-left:23%;
	font-weight: normal;
}
#gaiyou02 div {
	background: #1362ae;
	color:#fff;
text-align: center;
	border-radius: 20px;
}

.gmap {
	margin: 30px 0 0;
	border: 10px solid #fff;
	box-sizing: border-box;
}

.gmap iframe {
	width: 100%;
	height: 400px;
	vertical-align:bottom;
}


.formarea {
	
}

#gaiyou input[type="text"],
#gaiyou input[type="email"],
#gaiyou input[type="tel"] {
	padding: 15px;
	font-size: 1.8rem;
	width: 100%;
	box-sizing: border-box;
	border: 1px solid #c9c9c9;
	background: #f6f6f6;
}

#gaiyou textarea {
	padding: 10px;
	font-size: 1.8rem;
	border: 1px solid #c9c9c9;
	width: 100%;
	height: 200px;
	box-sizing: border-box;
	margin-top: 0px;
	background: #f6f6f6;
}
#gaiyou select {
	padding:5px;
	border: 1px solid #999999;
	font-size: 18px;
	margin-top: 10px;
	padding: 3px;
	-webkit-border-radius: 5px;
       -moz-border-radius: 5px;
            border-radius: 5px;
	-webkit-box-shadow: inset 0px 0px 5px #666;
	   -moz-box-shadow: inset 0px 0px 5px #666;
	        box-shadow: inset 1px 1px 2px #CCC;
}
#gaiyou label {
	font-size: 1.8rem;
}
.must {
	background: #ff0000;
	padding: 1px 10px;
	text-align: center;
	color: #fff;
	font-size: 1.2rem;
	float: right;
	margin-right: 10px;
	border-radius: 4px;
}
.sendbutton  {
	width: 300px;
	padding: 30px 0;
	color:#fff;
	font-size: 2rem;
	border: 0px;
	margin: 40px 0;
	background: #1362ae;
	border-radius: 10px;
}
.kome p {
	font-size: 1.5rem;
	line-height: 1.7;
	margin-bottom: 20px;
}
/* --------------------------　チェックボックス　-------------------------- */
.visually-hidden {
  /* コンテンツの流れから切り離す */
  position: absolute;
  /* 誤ったコードに対処するための回避策 */
  white-space: nowrap;
  /* 可能な限り文字サイズを小さくするための処理
   * (スクリーンリーダー中には height と width が 0 のものを無視するため)
   */
  width: 1px;
  height: 1px;
  /* オーバーフローしているコンテンツを隠す */
  overflow: hidden;
  /* 要素サイズを変更しうるプロパティのリセット */
  border: 0;
  padding: 0;
  /* 要素のどの部分が表示されるかを定義するもの */
  /* 古いブラウザでは使用できない */
  clip: rect(0 0 0 0);
  /* 最近のブラウザ用
   * コンテンツを非表示にする設定  */
  clip-path: inset(50%); 
  /* 今現在なぜ-1pxがここで設定されるかは分かっていないそうです。
   * それに加えていくつか問題もあるそうです 
   * (参考: https://github.com/h5bp/html5-boilerplate/issues/1985)
   */
  margin: -1px;
}
.radiobox {
	margin-bottom: 0px;
}

.radiobox label {
  position: relative;
  cursor: pointer;
  padding-left: 40px;
  padding-right: 10px;
	margin-bottom: 5px;
}


.radiobox label::before,
.radiobox label::after {
  content: "";
  display: block; 
  border-radius: 50%;
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
}

.radiobox label::before {
  background-color: #fff;
  border: 2px solid #d2d2d2;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  left: 5px;
}

.radiobox label::after {
  background-color: #1d2088;
  border-radius: 50%;
  opacity: 0;
  width: 16px;
  height: 16px;
  left: 9px
}

.radiobox input:checked + label::after {
  opacity: 1;
}

/* --------------------------　チェックボックス　-------------------------- */
.checkbox > input,
.radiobox > input {
  position: absolute;
  white-space: nowrap;
  width: 1px;
  height: 1px;
  overflow: hidden;
  border: 0;
  padding: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%); 
  margin: -1px;
}

.checkbox {
	margin-bottom: 0px;
}

.checkbox label {
  cursor: pointer;
  padding-left: 40px;
  margin-right: 20px;
  position: relative;
  margin-bottom: 5px;
	line-height: 1.5;
}

label {display:inline-block;}

.checkbox label::before,
.checkbox label::after {
  content: "";
  display: block; 
  position: absolute;
}

.checkbox label::before {
  background-color: #fff;
  border-radius: 0%;
 border: 2px solid #787878;
  width: 20px;
  height: 20px;
  transform: translateY(-50%);
  top: 55%;
  left: 5px;
}

.checkbox label::after {
  border-bottom: 3px solid #fd3434;
  border-left: 3px solid #fd3434;
  opacity: 0;
  height: 7px;
  width: 16px;
  transform: rotate(-45deg);
  top: 35%;
  left: 7px;
}

.checkbox input:checked + label::after {
  opacity: 1;
}
.doui_check {
	margin: 0 auto;
	text-align: left;
	font-size: 1.8rem;
	margin-bottom: 25px;
	margin-left: 5px;
}
.doui_check ul {
	list-style: none;
}
.doui_check .checkbox_option {
	margin: 0 0 5px 0;
	padding: 0;
}
.doui_check label {
	line-height: 135%;
	position: relative;
	cursor: pointer;
	margin-right: 20px;
	
}
.doui_check .checkbox_input {
	position: relative;
	margin: 0 20px 0 0;
	cursor: pointer;
}
.doui_check .checkbox_input:before {
	position: absolute;
	z-index: 1;
	top:-0.5rem;
	left: 0.14em;
	width: 1.5em;
	height:1.5em;
	content: '';
	-webkit-transition: -webkit-transform 0.1s cubic-bezier(0, 0, 0, 0);
	        transition:         transform 0.1s cubic-bezier(0, 0, 0, 0);
	-webkit-transform: rotate(0deg) scale(0, 0);
	        transform: rotate(0deg) scale(0, 0);
	background: #da3c41;
	border-radius: 50%;
}
.doui_check .checkbox_input:checked:before {
	-webkit-transform: rotate(-0deg) scale(1, 1);
	        transform: rotate(-0deg) scale(1, 1);
}
.doui_check .checkbox_input:after {
	position: absolute;
	top: -0.9em;
	left: -0.3em;
	width: 2em;
	height: 2em;
	content: '';
	cursor: pointer;
	border: 2px solid #787878;
	background: #ffffff;
	border-radius: 50%;
}

.doui_check02 {
	margin: 0 auto;
	text-align: left;
	font-size: 1.8rem;
	margin-bottom: 25px;
	margin-left: 5px;
}
.doui_check02 ul {
	list-style: none;
}
.doui_check02 .checkbox_option {
	margin: 0 0 5px 0;
	padding: 0;
}
.doui_check02 label {
	line-height: 135%;
	position: relative;
	cursor: pointer;
	margin-right: 20px;
	
}
.doui_check02 .checkbox_input {
	position: relative;
	margin: 0 20px 0 0;
	cursor: pointer;
}
.doui_check02 .checkbox_input:before {
	position: absolute;
	z-index: 1;
	left: 0.5em;
	top:-5px;
	width: 1.5em;
	height: 0.5em;
	content: '';
	-webkit-transition: -webkit-transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
	        transition:         transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
	-webkit-transform: rotate(-45deg) scale(0, 0);
	        transform: rotate(-45deg) scale(0, 0);
	border: 3px solid #da3c41;
	border-top-style: none;
	border-right-style: none;
}
.doui_check02 .checkbox_input:checked:before {
	-webkit-transform: rotate(-45deg) scale(1, 1);
	        transform: rotate(-45deg) scale(1, 1);
}
.doui_check02 .checkbox_input:after {
	position: absolute;
	top: -0.9em;
	left: -0.3em;
	width: 2em;
	height: 2em;
	content: '';
	cursor: pointer;
	border: 2px solid #787878;
	background: #ffffff;
	
}





@media (max-width: 1200px) {


/* --------------------------　content01　-------------------------- */

.content01 {
	background: #36a3e4;
	padding: 25px 15px;
}

.title_v01 {
	text-align: center;
	margin-bottom: 25px;
}
.title_v01 h2 {
	font-family: futura-pt-bold, sans-serif;
font-style: normal;
font-weight: 700;
	font-size: 3rem;
	line-height: 1.2;
	padding: 0;
	margin: 0;
	text-align: center;
}
.title_v01 img {
	width: 60px;
	height: auto;
}
.title_v01 .sub {
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1.2;
}
.title_v02 {
	font-size: 2rem;
	text-align: center;
	font-weight: bold;
	line-height: 1.5;
	margin-bottom: 25px;
}
.content-wrap {
	max-width: auto;
	width: auto;
	margin: auto;
}

.content01 p {
	font-size: 1.4rem;
	line-height: 1.7;
}

.flexbox01 {
	display: flex;
	justify-content: space-between;
	flex-direction: column;
	margin-bottom: 0px;
	
}
.flexbox01_item {
	width: auto;
	margin-bottom: 10px;
}
.flexbox01_item img {
	width: 100%;
	height: auto;
	border-radius: 20px;
}
.nami_ill01 {
	background: url("../../images/nami_ill01.png");
	background-repeat: no-repeat;
	width: 100%;
	height: 50px;
	background-size: 100%;
	bottom: 0;
	background-position: top center;
}

/* --------------------------　content02　-------------------------- */

.content02 {
	background: #fff;
	padding: 0px 15px 20px 15px;
}

.cont02flex  {
	display: flex;
	justify-content: space-between;
	flex-direction: column-reverse;
	margin-bottom: 15px;
}

.cont02flex_item,
.cont02flex_item02 {
	width: auto;
	display: flex;
  justify-content: center;
  align-items: center;
	margin-bottom: 10px;
}
	
	.cont02flex_item img  {
		width: 100%;
		height: auto;
	}

.cont02_txt {
	margin: 0 0px 0 0px;
}
.cont02flex_item h3 {
	font-size:2rem;
	color:#1362ae;
	line-height: 1.3;
	padding: 0;
	margin: 20px 0 10px 0;
}

.cont02flex_item02 img {
	width: 100%;
	height: 200px;
	object-fit: cover;
	border-top-left-radius: 20px;
	border-bottom-left-radius: 20px;
	border-radius: 20px;
	margin-bottom: 15px;
}

.schoollist {
	display: flex;
	justify-content: space-between;
	flex-direction: column;
	margin-bottom: 15px;
	flex-wrap: wrap;
}
.schoollist_item {
	background: #eeeeee;
	border-radius: 10px;
	padding: 10px;
	display: flex;
	width: auto;
	box-sizing: border-box;
	margin-bottom: 10px;
}
.schoollist_item img {
	width: 60px;
	height: 60px;
	margin-right: 10px;
	border-radius: 6px;
}
.schoollist_item .listtxt {
	
}
.schoollist_item .listtxt h3 {
	font-size: 1.5rem;
	color:#1362ae;
	line-height: 1.3;
	padding: 0;
	margin: 0;
	margin-bottom: 0px;
}
.schoollist_item .listtxt p {
	font-size: 1rem;
	
}

.more {
	display: block;
	position: relative;
	background: #1362ae;
	color: #fff;
	text-decoration: none;
	margin-bottom: 5px;
	padding: 20px 15px;
	line-height: 140%;
	font-size: 1.5rem;
	width: 80%;
	white-space: nowrap;
	overflow: hidden;
	font-weight: 600;
}
.more:after {
	display: block;
	position: absolute;
	top: 50%;
	right: 15px;
	width: 10px;
	height: 10px;
	margin-top: -6px;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	content: "";
}

.more:link {
	color: #fff;
}
.more:visited {
	color: #fff;
}
.more:hover {
	background-color: #1a7ddd;
	text-decoration:none;
}
.more:hover::after {
	border-left-color: #fff;
}


.serviceblock {
	margin: 40px 0 0;
}

.servicebox {
	display: flex;
	justify-content: space-between;
	flex-direction: column;
	flex-wrap: wrap;
	margin-bottom: 10px;
}

.serviceitem_l,
.serviceitem_r {
	width: auto;
	display: flex;
  justify-content: center;
	flex-direction: column;
	margin-bottom: 15px;
}
	
	.sprev {
		flex-direction: column-reverse;
	}

.serviceitem_l h3,
.serviceitem_r h3 {
	font-size: 2rem;
	color:#1362ae;
	line-height: 1.5;
	padding: 0;
	margin: 0;
	margin-bottom: 10px;
}
.serviceitem_l img,
.serviceitem_r img {
	width: 100%;
	height: auto;
	border-radius: 20px;
}

.serviceitem02 {
	width: auto;
	margin-bottom: 15px;
}
.serviceitem02 h3 {
	font-size:2rem;
	color:#1362ae;
	padding: 0;
	margin: 0;
	margin-bottom: 10px;
	text-align: center;
}
.serviceitem02 img {
	width: 100%;
	height: auto;
	border-radius: 15px;
	margin-bottom: 15px;
}
.serviceitem02 p {
	font-size: 1.4rem;
}

/* --------------------------　content03　-------------------------- */

.content03 {
	background: #f7f7f7;
	padding: 30px 15px;
	position: relative;
}

.whitebox {
	background: #fff;
	padding: 20px;
	border-radius: 20px;
	margin-bottom: 20px;
}
.whiteflex {
	display: flex;
	justify-content: space-between;
	flex-direction: column-reverse;
	
}
.whiteflex_l {
	width: auto;
	display: flex;
  justify-content: center;
	flex-direction: column;
}
.whiteflex_r {
	width: auto;
	margin-bottom: 10px;
	
}
.whiteflex_l h3 {
	font-size: 2rem;
	color:#1362ae;
	padding: 0;
	margin: 0;
	margin-bottom: 10px;
}

.whiteflex_l p {
	font-size: 1.4rem;
	margin-bottom: 16px;
}
.whiteflex_l p:last-child {
	margin-bottom: 0;
}
.whiteflex_r img {
	width: 100%;
	height: auto;
}
.mgcut {
	margin-bottom: 0;
}
.nami_ill02 {
	background: url("../../images/nami_ill02.png");
	background-repeat: no-repeat;
	width: 100%;
	height: 60px;
	background-size: cover;
	bottom: 0;
	background-position: bottom center;
}
.mb50 {
	margin-bottom: 0px;
}


/* --------------------------　content04　-------------------------- */

.content04 {
	background: #bee6fe;
	padding: 20px 15px 30px 15px;
	position: relative;
}
.policybox {
	display: flex;
	justify-content: space-between;
	flex-direction: column;
}

.policyitem {
	width: auto;
	background: #fff;
	padding: 15px;
	border-radius: 15px;
	box-sizing: border-box;
	margin-bottom: 15px;
}

.policyitem h3 {
	font-size: 2rem;
	color:#1362ae;
	padding: 0;
	margin: 0;
	margin-bottom: 10px;
	text-align: center;
}
.policyitem img {
	width: 100%;
	height: auto;
	border-radius: 15px;
	margin-bottom: 15px;
}
.policyitem p {
	font-size: 1.4rem;
}

.nami_ill03 {
	background: url("../../images/nami_ill03.png");
	background-repeat: no-repeat;
	width: 100%;
	height: 80px;
	background-size: cover;
	bottom: 0;
	background-position: bottom center;
}
.profileph {
	float: none;
	margin-bottom: 20px;
	margin-right: 0px;
	text-align: center;
}
.profileph img {
	width: 60%;
	height: auto;
	border-radius: 15px;
}
.name {
	margin-bottom: 15px;
}
.name img {
	width: 100%;
	height: auto;
}
.profile p {
	margin-bottom: 10px;
}

.voiceflex {
	display: flex;
	justify-content: space-between;
	flex-direction: column-reverse;
	
}
.voiceflex_l {
	width: auto;
	display: flex;
  justify-content: center;
	flex-direction: column;
}
.voiceflex_r {
	width: auto;
	margin-bottom: 0px;
	
}
.voiceflex_l h3 {
	font-size: 1.8rem;
	color:#1362ae;
	padding: 0;
	margin: 0;
	margin-bottom: 10px;
	line-height: 1.6;
}

.voiceflex p {

}

.voiceflex_r img {
	width: 100%;
	height: auto;
	border-radius: 15px;
	margin-bottom: 10px;
}
.busyo {
	background: #1362ae;
	padding: 5px;
	border-radius: 6px;
	color:#fff;
	text-align: center;
	margin-bottom: 0px;
	font-size: 1.2rem
}
.vname {
	font-size: 2rem;
	text-align: center;
	font-weight: bold;
}

.reverse {
	flex-direction:column-reverse;
}


.content05 {
	background: url("../../images/bg01s.jpg");
	background-position: top 0px right 0px;
	padding: 250px 0 0;
	background-size: 100%;
	background-repeat: no-repeat;
}

.recruit {
	width: auto;
	padding: 0 15px;
}
.title_v03 {
	text-align: left;
	margin-bottom: 20px;
}
.title_v03 h2 {
	font-family: futura-pt-bold, sans-serif;
font-style: normal;
font-weight: 700;
	font-size: 2rem;
	line-height: 1.2;
	padding: 0;
	margin: 0;
	text-align: left;
	color: #1362ae;
}
.title_v03 .sub {
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1.2;
}
.recruit h3 {
font-weight: bold;
	font-size: 2rem;
	line-height: 1.2;
	padding: 0;
	margin: 0;
	text-align: left;
	color: #1362ae;
	margin-bottom: 20px;
}
.recruit p {
	margin-bottom: 20px;
}

.nami_ill04 {
	background: url("../../images/nami_ill04.png");
	background-repeat: no-repeat;
	width: 100%;
	height: 110px;
	background-size: cover;
	bottom: 0;
	background-position: bottom center;
}

/*タブ切り替え全体のスタイル*/
.tabs {
  margin-top: 20px;
  padding-bottom: 20px;
  background-color: #fff;
  width: auto;
  margin: 0 auto;
}

/*タブのスタイル*/
.tab_item {
  width: calc(100%/2);
 
  background-color: #408eda;
  line-height: 30px;
  font-size: 1.6rem;
  text-align: center;
  color: #fff;
  display: block;
  float: left;
  text-align: center;
  font-weight: bold;
  transition: all 0.2s ease;
	padding: 10px;
	box-sizing: border-box;
}
.tab_item:hover {
  opacity: 0.75;
}

/*ラジオボタンを全て消す*/
input[name="tab_item"] {
  display: none;
}

/*タブ切り替えの中身のスタイル*/
.tab_content {
  display: none;
  padding: 15px 15px 0;
  clear: both;
  overflow: hidden;
}


/*選択されているタブのコンテンツのみを表示*/
#all:checked ~ #all_content,
#programming:checked ~ #programming_content,
#design:checked ~ #design_content {
  display: block;
}

/*選択されているタブのスタイルを変える*/
.tabs input:checked + .tab_item {
  background-color: #1362ae;
  color: #fff;
	
}


#gaiyou {
	border-top: none;
	width: 100%;
	font-size: 1.4rem;
	line-height: 180%;
	margin-bottom: 20px;
	border-left: 1px solid #E3E3E3;
	border-right: 1px solid #E3E3E3;
	border-bottom: 1px solid #E3E3E3;
	background: #f9f9f9;
	padding: 0;
	margin: 0;
	font-weight: normal;
	
}

dl#gaiyou dl,dl#gaiyou dt,dl#gaiyou dd {
	margin: 0;
	padding: 0;
}

dl#gaiyou dt,dl#gaiyou dd {
	padding: 15px;
	text-align: left;
}

dl#gaiyou dt {
	border-top: 1px solid #E3E3E3;
	clear: left;
	float: none;
	width: auto;
	font-weight: normal;
}
dl#gaiyou dd {
	background: #fff;
	border-top: 1px solid #E3E3E3;
	margin-left:auto;
	border-left: 0px solid #E3E3E3;
	font-weight: normal;
}

#gaiyou02 {
	width: 100%;
	font-size: 1.2rem;
	line-height: 180%;
	margin-bottom: 0px;
	padding: 0;
	margin: 0;
	font-weight: normal;
	
}

dl#gaiyou02 dl,dl#gaiyou02 dt,dl#gaiyou02 dd {
	margin: 0;
	padding: 0;
}

dl#gaiyou02 dt,dl#gaiyou02 dd {
	padding:5px 10px 5px 0px;
	text-align: left;
}

dl#gaiyou02 dt {
	clear: left;
	float: left;
	width: 26%;
	font-weight: normal;
}
dl#gaiyou02 dd {
	background: #fff;
	margin-left:34%;
	font-weight: normal;
}
#gaiyou02 div {
	background: #1362ae;
	color:#fff;
text-align: center;
	border-radius: 20px;
	
}

.gmap {
	margin: 15px 0 0;
	border: 10px solid #fff;
	box-sizing: border-box;
}

.gmap iframe {
	width: 100%;
	height: 250px;
	vertical-align:bottom;
}


.formarea {
	
}

#gaiyou input[type="text"],
#gaiyou input[type="email"],
#gaiyou input[type="tel"] {
	padding: 15px;
	font-size: 1.5rem;
	width: 100%;
	box-sizing: border-box;
	border: 1px solid #c9c9c9;
	background: #f6f6f6;
}

#gaiyou textarea {
	padding: 10px;
	font-size: 1.5rem;
	border: 1px solid #c9c9c9;
	width: 100%;
	height: 200px;
	box-sizing: border-box;
	margin-top: 0px;
	background: #f6f6f6;
}
#gaiyou select {
	padding:5px;
	border: 1px solid #999999;
	font-size: 1.5rem;
	margin-top: 10px;
	padding: 3px;
	-webkit-border-radius: 5px;
       -moz-border-radius: 5px;
            border-radius: 5px;
	-webkit-box-shadow: inset 0px 0px 5px #666;
	   -moz-box-shadow: inset 0px 0px 5px #666;
	        box-shadow: inset 1px 1px 2px #CCC;
}
#gaiyou label {
	font-size: 1.8rem;
}
.must {
	background: #ff0000;
	padding: 1px 10px;
	text-align: center;
	color: #fff;
	font-size: 1.2rem;
	float: right;
	margin-right: 0px;
	border-radius: 4px;
}
.sendbutton  {
	width: 80%;
	padding: 20px 0;
	color:#fff;
	font-size: 1.5rem;
	border: 0px;
	margin: 20px 0;
	background: #1362ae;
	border-radius: 10px;
}
.kome p {
	font-size: 1.5rem;
	line-height: 1.7;
	margin-bottom: 20px;
}
/* --------------------------　チェックボックス　-------------------------- */
.visually-hidden {
  /* コンテンツの流れから切り離す */
  position: absolute;
  /* 誤ったコードに対処するための回避策 */
  white-space: nowrap;
  /* 可能な限り文字サイズを小さくするための処理
   * (スクリーンリーダー中には height と width が 0 のものを無視するため)
   */
  width: 1px;
  height: 1px;
  /* オーバーフローしているコンテンツを隠す */
  overflow: hidden;
  /* 要素サイズを変更しうるプロパティのリセット */
  border: 0;
  padding: 0;
  /* 要素のどの部分が表示されるかを定義するもの */
  /* 古いブラウザでは使用できない */
  clip: rect(0 0 0 0);
  /* 最近のブラウザ用
   * コンテンツを非表示にする設定  */
  clip-path: inset(50%); 
  /* 今現在なぜ-1pxがここで設定されるかは分かっていないそうです。
   * それに加えていくつか問題もあるそうです 
   * (参考: https://github.com/h5bp/html5-boilerplate/issues/1985)
   */
  margin: -1px;
}
.radiobox {
	margin-bottom: 0px;
}

.radiobox label {
  position: relative;
  cursor: pointer;
  padding-left: 40px;
  padding-right: 10px;
	margin-bottom: 5px;
}


.radiobox label::before,
.radiobox label::after {
  content: "";
  display: block; 
  border-radius: 50%;
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
}

.radiobox label::before {
  background-color: #fff;
  border: 2px solid #d2d2d2;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  left: 5px;
}

.radiobox label::after {
  background-color: #1d2088;
  border-radius: 50%;
  opacity: 0;
  width: 16px;
  height: 16px;
  left: 9px
}

.radiobox input:checked + label::after {
  opacity: 1;
}

/* --------------------------　チェックボックス　-------------------------- */
.checkbox > input,
.radiobox > input {
  position: absolute;
  white-space: nowrap;
  width: 1px;
  height: 1px;
  overflow: hidden;
  border: 0;
  padding: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%); 
  margin: -1px;
}

.checkbox {
	margin-bottom: 0px;
}

.checkbox label {
  cursor: pointer;
  padding-left: 40px;
  margin-right: 20px;
  position: relative;
  margin-bottom: 5px;
	line-height: 1.5;
}

label {display:inline-block;}

.checkbox label::before,
.checkbox label::after {
  content: "";
  display: block; 
  position: absolute;
}

.checkbox label::before {
  background-color: #fff;
  border-radius: 0%;
 border: 2px solid #787878;
  width: 20px;
  height: 20px;
  transform: translateY(-50%);
  top: 55%;
  left: 5px;
}

.checkbox label::after {
  border-bottom: 3px solid #fd3434;
  border-left: 3px solid #fd3434;
  opacity: 0;
  height: 7px;
  width: 16px;
  transform: rotate(-45deg);
  top: 35%;
  left: 7px;
}

.checkbox input:checked + label::after {
  opacity: 1;
}
.doui_check {
	margin: 0 auto;
	text-align: left;
	font-size: 1.5rem !important;
	margin-bottom: 25px;
	margin-left: 5px;
}
.doui_check ul {
	list-style: none;
}
.doui_check .checkbox_option {
	margin: 0 0 5px 0;
	padding: 0;
}
.doui_check label {
	line-height: 135%;
	position: relative;
	cursor: pointer;
	margin-right: 20px;
	font-size: 1.5rem !important;;
	margin-bottom: 5px;
	
}
.doui_check .checkbox_input {
	position: relative;
	margin: 0 20px 0 0;
	cursor: pointer;
}
.doui_check .checkbox_input:before {
	position: absolute;
	z-index: 1;
	top:-0.2rem;
	left: 0.1em;
	width: 1.2em;
	height:1.2em;
	content: '';
	-webkit-transition: -webkit-transform 0.1s cubic-bezier(0, 0, 0, 0);
	        transition:         transform 0.1s cubic-bezier(0, 0, 0, 0);
	-webkit-transform: rotate(0deg) scale(0, 0);
	        transform: rotate(0deg) scale(0, 0);
	background: #da3c41;
	border-radius: 50%;
}
.doui_check .checkbox_input:checked:before {
	-webkit-transform: rotate(-0deg) scale(1, 1);
	        transform: rotate(-0deg) scale(1, 1);
}
.doui_check .checkbox_input:after {
	position: absolute;
	top: -0.6em;
	left: -0.3em;
	width: 1.6em;
	height: 1.6em;
	content: '';
	cursor: pointer;
	border: 2px solid #787878;
	background: #ffffff;
	border-radius: 50%;
}

.doui_check02 {
	margin: 0 auto;
	text-align: left;
	font-size: 1.5rem !important;
	margin-bottom: 25px;
	margin-left: 5px;
}
.doui_check02 ul {
	list-style: none;
}
.doui_check02 .checkbox_option {
	margin: 0 0 5px 0;
	padding: 0;
}
.doui_check02 label {
	line-height: 135%;
	position: relative;
	cursor: pointer;
	margin-right: 20px;
	font-size: 1.5rem !important;
	
}
.doui_check02 .checkbox_input {
	position: relative;
	margin: 0 20px 0 0;
	cursor: pointer;
}
.doui_check02 .checkbox_input:before {
	position: absolute;
	z-index: 1;
	left: 0.5em;
	top:-5px;
	width: 1.5em;
	height: 0.5em;
	content: '';
	-webkit-transition: -webkit-transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
	        transition:         transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
	-webkit-transform: rotate(-45deg) scale(0, 0);
	        transform: rotate(-45deg) scale(0, 0);
	border: 3px solid #da3c41;
	border-top-style: none;
	border-right-style: none;
}
.doui_check02 .checkbox_input:checked:before {
	-webkit-transform: rotate(-45deg) scale(1, 1);
	        transform: rotate(-45deg) scale(1, 1);
}
.doui_check02 .checkbox_input:after {
	position: absolute;
	top: -0em;
	left: -0em;
	width: 1.5em;
	height: 1.5em;
	content: '';
	cursor: pointer;
	border: 2px solid #787878;
	background: #ffffff;
	
}
}

.grad-trigger {
	display: none;
	
}
.grad-wrap + .grad-wrap {
  margin-top: 0px !important;
}

.grad-btn {
	padding: 0em 0 !important;
}
.grad-item p + p,
.grad-item02 p + p {
  margin-top: 0em;
}
.grad-item,
.grad-item02 {
  position: relative;
  overflow: hidden;
  height: auto;
	margin-top: -30px;
}

@media (max-width: 1200px) {
/*************************************************
	デモ
**************************************************/
.grad-wrap {
  position: relative;
	padding-bottom: 30px;
}
.grad-wrap + .grad-wrap {
  margin-top: 40px;
}
.grad-btn {
  z-index: 2;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  width: 148px;
  margin: auto;
  padding: .5em 0;
  border-radius: 2px;
  background: #1bb601;
  color: #fff;
  font-size: 1.3rem;
  text-align: center;
  cursor: pointer;
  transition: .2s ease;
  box-shadow: 0 0 3px rgba(0,0,0,.3);
}
.grad-btn::after {
  content: "続きを読む"
}
.grad-btn:hover {
  background: #fff;
  color: #009e8f;
}
.grad-btn .fa {
  margin-right: .5em;
}
.grad-item,
.grad-item02 {
  position: relative;
  overflow: hidden;
  height: 60px;
	margin-top: 0px;
}
.grad-item p + p,
.grad-item02 p + p {
  margin-top: 1em;
}
.grad-item::before,
.grad-item02::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 60px; /*グラデーションで隠す範囲*/
  background: -webkit-linear-gradient(top, rgba(54,163,228,0) 0%, rgba(54,163,228,0.9) 50%, rgba(54,163,228,0.9) 50%, #36a3e4 100%);
  background: linear-gradient(top, rgba(54,163,228,0) 0%, rgba(54,163,228,0.9) 50%, rgba(54,163,228,0.9) 50%, #36a3e4 100%);
}
.grad-item02::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 60px; /*グラデーションで隠す範囲*/
  background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
  background: linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
}
.grad-trigger {
  display: none;
}
.grad-trigger:checked ~ .grad-btn {
  bottom: -0.5em;
}
.grad-trigger:checked ~ .grad-btn::after {
  content: "閉じる"
}
.grad-trigger:checked ~ .grad-btn .fa {
  transform: rotate(180deg);
}
.grad-trigger:checked ~ .grad-item,
.grad-trigger:checked ~ .grad-item02 {
  height: auto;
}
.grad-trigger:checked ~ .grad-item::before,
.grad-trigger:checked ~ .grad-item02::before {
  display: none;
}

}