@charset "UTF-8";

@media screen and (min-width: 768px) {

	
html {
font-size: 62.5%;
-webkit-text-size-adjust: 100%;
}
@font-face {
font-family: 'Noto Sans CJK JP';
font-style: normal;
font-weight: 900;
src: local('Noto Sans CJK JP Black'), local('NotoSansCJKjp-Black'), local('NotoSansJP-Black'), url('../fonts/NotoSansJP-Black.woff') format('woff');
}
@font-face {
font-family: 'Noto Sans CJK JP';
font-style: normal;
font-weight: 700;
src: local('Noto Sans CJK JP Bold'), local('NotoSansCJKjp-Bold'), local('NotoSansJP-Bold'), url('../fonts/NotoSansJP-Bold.woff') format('woff');
}

/*タグ初期設定*/
section, nav, article, figure, aside, header, footer, main {
display: block;
}
main {
font-size: 1.6em;
line-height: 200%;
color: #222;
}
body, h1, h2, h3, h4, ul, li, figure {
margin: 0;
padding: 0;
}
body {
font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, Osaka, "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
overflow-x: hidden;
}
* {
box-sizing: border-box;
/*	border: red solid 1px;*/
}
ul {
list-style-type: none;
}
img {
border: none;
vertical-align: bottom;
}
a {
color: #09d;
}
p {
margin: 0;
padding: 0 0 1em 0;
}
dt {
margin: 0;
padding: 0;
}
dd {
margin: 0 0 15px 0;
padding: 0;
line-height: 150%;
}
button,[type="button"],[type="reset"],[type="submit"],[role="button"] {
cursor: pointer;
}
button{
background-color: transparent;
border-style: none;
color: inherit;
}

/*基本設定****************************************************************/	

.roll-over {
opacity: 1;
transition: ease all .3s;
}
.roll-over:hover {
opacity: 0.8;
}
/*
script + img {
display: none;
}
*/
.sp {
display: none;
}
	
.txt-center {
text-align: center;
}
.txt-left {
text-align: left;
}
.txt-right {
text-align: right;
}
.txt-l-blue {
    color: #3abfef;
  }
.size-l {
    font-size: 1.5em;
    line-height: 150%;
  }
 .size-s {
    font-size: 0.75em;
    line-height: 150%;
    padding-bottom: 1em !important;
  }	
 a {
    color: #09d;
  }
.txt-bold {
font-weight: bold;
}
	
.dis-block{
		display: block;
	}
.txt-link {
    background-image: url(../images/arrow1.png);
    min-height: 16px;
    background-repeat: no-repeat;
    background-position: 0 0.5em;
    padding: 0 0 0 12px;
    padding-bottom: 0px;
    display: block;
  }
figure img {
    display: block;
    width: 100%;
    height: auto;
	}
.pdt-m {
padding-top: 50px;
}
.pdb-m {
padding-bottom: 50px;
}
	
.top-btn1 {
display: block;
position: absolute;
top: 0;
right: 0;
text-decoration: none;
background-color: #f3f6f8;
font-weight: bold;
background-image: url(../images/arrow6.png);
background-repeat: no-repeat;
width: 200px;
background-position: 92% 50%;
line-height: 1;
font-size: 15px;
padding: 15px 0 15px 25px;
border-radius: 25px;
color: #3abfef;
}
.top-btn2 {
display: block;
position: absolute;
top: 0;
right: 0;
text-decoration: none;
background-color: #fff;
font-weight: bold;
background-image: url(../images/arrow6.png);
background-repeat: no-repeat;
width: 200px;
background-position: 92% 50%;
line-height: 1;
font-size: 15px;
padding: 15px 0 15px 25px;
border-radius: 25px;
color: #3abfef;
}
	
/*20260601＿ここから記述****************************************************************/	
	
	
	
header {
width: 100%;
height: 54px;
z-index: 5;
position: fixed;
background-color: #fff;
padding-left: 20px;
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.05);
}
#logo {
width: 230px;
height: 36px;
	margin-top: 12px;
	margin-left: 0;
float: left;
}
/*
.st0 {
fill: #57C3EA;
}
*/
#header-sub {
float: right;
height: 54px;
width: 68%;
background-image: url(../images/head_fd.png);
	background-size: clamp(155px,20vw,290px) auto;
background-repeat: no-repeat;
	padding-right: 22%;
	margin-right: 1%;
background-position: right center;
}
#header-sub ul {
text-align: right;
	display: flex;
	flex-wrap: wrap;        
  justify-content: flex-end;
  align-content: center; 
  height: 100%;
}
#header-sub li {
display: block;
font-size: clamp(12px,0.9vw,30px);
background-image: url(../images/arrow1.png);
background-repeat: no-repeat;
background-position: 0 50%;
padding: 2px 10px;
}
#header-sub li:last-child {
display: none;
}
#header-sub a {
text-decoration: none;
color: #3abfef;
font-weight: bold;
transition: ease all .2s;
}
#header-sub a:hover {
text-decoration: underline;
}

header,header *{
transition: ease all .3s;
opacity: 1;
visibility: visible;
}
header.scroll-navi #logo, header.scroll-navi #gnavi,header.scroll-navi #header-sub{
opacity: 0;
height: 0;
visibility: hidden;
z-index: 10;
}
header.scroll-navi{
height: 60px;
}
  #top-main {
	  width: 100%;
    padding: 54px 0 0 0;
    background: url("../../images/main15.jpg");
    background-position-x: 0;
    background-position-y: 0;
	  background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center 54px;
    position: relative;
  }

#main-copy{
	position: absolute; 
  	width: auto;
	font-size: clamp(26px,3vw,48px);
	top: clamp(70px,9vw,174px);
	left: clamp(16px,7vw,192px);
	font-family: 'Noto Sans CJK JP',"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3",Meiryo,Osaka,"メイリオ","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	font-weight: 700;
	line-height: 1.3em;
	text-shadow: 1px 1px 10px rgba(255, 255, 255, 0.5) ,
		-1px 1px 10px rgba(255, 255, 255, 0.5) ,
		1px -1px 10px rgba(255, 255, 255, 0.5) ,
		-1px -1px 10px rgba(255, 255, 255, 0.5);
}

#main-copy-s{
	font-family: 'Noto Sans CJK JP',"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3",Meiryo,Osaka,"メイリオ","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	font-weight: 900;
	text-align: right;
	word-break: break-all;
	position: absolute;
	font-size: clamp(14px,1.5vw,30px);
	left: clamp(16px,7vw,192px);
	top: clamp(180px,23.5vw,450px);
	text-shadow: 1px 1px 5px rgba(255, 255, 255, 0.5) ,
-1px 1px 5px rgba(255, 255, 255, 0.5) ,
1px -1px 5px rgba(255, 255, 255, 0.5) ,
-1px -1px 5px rgba(255, 255, 255, 0.5);
	}	
	
#top-main-btn5 {
    position: absolute;
   	left: clamp(16px,7vw,192px);
	top: clamp(244px,29.5vw,610px);
    display: block;
    line-height: 120%;
    text-align: center;
    text-decoration: none;
    font-weight: bold;
    color: #fff;
    transition: ease all .2s;
    background-image: linear-gradient(to right, #ffb402 0%, #ff188f 100%);
    font-size: clamp(16px,1.5vw,30px);
    padding: 2.2% 0px 1.9%;;
	width: 46%;
	height: auto;
    border-radius: 60px;
  }
 #top-main-btn5 span {
    color: #fb6045;
    font-size: clamp(10px,1.3vw,25px);
    padding: 5px 20px;
    border-radius: 60px;
    background: #fff;
    line-height: 124%;
    display: inline-block;
    position: absolute;
    top: -12px;
    text-align: center;
    border: 1px solid #fb6045;
    left: 23%;
    left: 0;
    right: 0;
    margin: auto;
    width: 80%;
  }	
 #top-main-btn5 img {
    margin: 0 10px 0 0;
  }	

 #main-mark::before {
    content: "";
    background-image: url("../../images/top_bnr_06s.png");
    background-size: cover;
    position: absolute;
	top: -5%;
	left: -5%;
	 width: 110%;
 	 aspect-ratio: 1 / 1;	
	animation-name: rotate;
    animation-duration: 50s;
    animation-timing-function: cubic-bezier(0.5, 0.51, 0.51, 0.52);
    animation-iteration-count: infinite;
	 z-index: -1;
  }
  #main-mark {
    position: absolute;
	top: clamp(254px, 30vw, 560px);
	right: clamp(70px, 10vw, 175px);
	width: clamp(68px, 13vw, 250px);
    z-index: 3;
    filter: drop-shadow(0 0 4px rgba(0, 67, 118, 0.2));
  }	
	#main-mark img{
		width: 100%;
		height: auto;
	}
	#top-bnrs-area{
		width: 60%;
		height: auto;
		margin: auto;
	}
	
#top-bnrs-area .slider {
width: 90%;
margin: 60% auto 0;
}

#top-bnrs-area .slider img{
width: clamp(140px,19vw,383px);
height:auto;
border-radius: 10px;
filter:  drop-shadow(0 0 6px rgba(0, 67, 118, 0.2));
margin-bottom: 10px;
}
#top-bnrs-area .slider .slick-slide {
transform: scale(0.8);/*左右の画像のサイズを80%に*/
transition: all .5s;/*拡大や透過のアニメーションを0.5秒で行う*/
/*opacity: 0.5;透過50%*/
}
#top-bnrs-area .slider .slick-slide.slick-center{
transform: scale(1);/*中央の画像のサイズだけ等倍に*/
opacity: 1;/*透過なし*/
}
.slick-prev, .slick-next {
    position: absolute;
    top: 42%;
    cursor: pointer;
    outline: none;
    border-top: 2px solid #666;
    border-right: 2px solid #666;
    height: 15px;
    width: 15px;
  }	

  .slick-prev {
    left: -4.5%;
    transform: rotate(-135deg);
  }
  .slick-next {
    right: -4.5%;
    transform: rotate(45deg);
  }
 
#top-course-area{
max-width: 1200px;
margin: 6% auto 3%;
padding: 0;
}
#top-course-area h2{
text-align: center;
font-size: 1.8em;
margin-bottom: 1%;
letter-spacing: 0.1em;
}
#top-course-area h2+p{
text-align: center;
font-size: 1.1em;
/*max-width: 1080px;*/
	width: 100%;
margin: 0 auto 10px;
}
#top-course-area p{
color: #666;
}
#top-course-area .crs-rcm,#top-course-area .crs-nav,.crs-bnf ul{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
#top-course-area .crs-rcm h3{
color: #0071e3;
	font-size: clamp(22px,2.1vw,26px);
	margin: 4% 6.2%;
	line-height: 1.2;
}
#top-course-area .crs-rcm li{
position: relative;
width: 31.6%;
background: #fff;
filter: drop-shadow(0 0 6px rgba(0, 67, 118, 0.2));
border-radius: 10px;
margin-bottom: 2.6%;
/*border-top: solid 3px #38baf0;*/
transition: 0.3s;
}

#top-course-area .crs-rcm img{
	border-radius: 10px 10px 0 0;
    width: 100%;
    height: auto;
    display: block;
}
#top-course-area .crs-rcm li.mark-type1:before{
position: absolute;
font-size: 0.9em;
font-weight: bold;
color: #fff;
top:-20px;
left:-10px;
display: inline-block;
width: 44px;
height: 44px;
border-radius: 50%;
text-align:center;
line-height: 44px;
}
 #top-course-area .crs-rcm li.mark-type1::before {
    position: absolute;
    font-size: 0.9em;
    font-weight: bold;
    color: #fff;
    top: -15px;
    left: 10px;
    display: inline-block;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    text-align: center;
    line-height: 44px;
    content: "";
    background-image: url('../../images/top-crs_mark-type1.png');
    background-size: cover;
    background-repeat: no-repeat;
  }
#top-course-area .crs-rcm a{
display: block;
width: 100%;
height: auto;
/*padding: 6.2% 6.2% 4%;*/
	padding: 0;
text-decoration: none;
overflow: hidden;
}

#top-course-area .crs-rcm p{
	line-height: 150%;
    margin: 0 6.2% 10%;
	padding: 0;
	text-align: justify;
}
#top-course-area .crs-rcm section{
/*width: 70%;*/
	width: 100%;
/*float: left;*/
}
#top-course-area .crs-rcm figure{
	width: 100%;
/*width: 27%;*/
/*float: right;*/
}
	
#top-course-area .crs-rcm section .crs-rcm-tag{
	margin: 0 6.2% 6.2%;
	display: flex;
	flex-wrap: wrap;
	}
#top-course-area .crs-rcm section .crs-rcm-tag li{
		filter: none;
		text-align: center;
		height: 26px;
		border-radius: 13px;
		line-height: 26px;
		margin: 0 5px 5px 0;
		width: auto;
		padding: 0 10px;
		background-color: #eff8ff;
		pointer-events: none;
		font-size: 0.9em;
	}
	
	
#top-course-area .crs-nav{
width: 1000px;
margin: 15px auto 0;
}
#top-course-area .crs-nav li a{
display: block;
width: 100%;
height: 100%;
background: #38baf0;
border-radius: 50px;
padding: 10px 30px;
text-decoration: none;
color: #fff;
font-weight: bold;
border: solid 2px #38baf0;
transition: 0.3s;
}
#top-course-area .crs-nav li a:hover{
background: #fff;
border: solid 2px #38baf0;
color:  #38baf0;
}

#top-course-area .crs-rcm li:hover,.crs-bnf ul:nth-child(2) li:hover{
transform: scale(1.04, 1.04);
background-color: #fff;
filter: drop-shadow(0 0 10px rgba(0, 67, 118, 0.2));
transition: 0.3s all;
/*opacity: 0.8;*/
}
	
#lesson-area-2{
margin: 40px 0 0;
text-align: center;
}
#lesson-area-2 h3{
font-size: 1.9em;
margin: 0 0 30px;
letter-spacing: 0.07em;
}
#lesson-area-2 h3 span{
display: block;
font-size: 0.7em;
color: #666;
}		
#lesson-area-2 p{
margin: 0;
padding: 0;
}
#lesson-area-2 h2{
font-size: 1.9em;
margin: 0 0 30px;
letter-spacing: 0.07em;
}
#lesson-area-2 h2 span{
display: block;
font-size: 0.7em;
color: #666;
}
#lesson-area-2 p:nth-child(3){
font-size: 0.9em;
margin: 5px 0 10px 0;
letter-spacing: 0.1em;
}
#lesson-area-2 a[href*="lesson"],#lesson-area-2 a[href*="briefing"],#lesson-area-2 a[href*="trial"]{
border-radius: 8px;
font-weight: bold;
text-decoration: none;
transition: all 0.3s ease;
}
#lesson-area-2 a[href*="lesson"]{
display: block;
width: 54%;
margin: auto;
padding: 2.4% 0;
font-size: 1.5em;
color: #fff;
background: linear-gradient(to right, #ff9602 0%,#f72a89 100%);
border-bottom: solid 5px #ea166e;
transition: 0.3s;
}
#lesson-area-2 a[href*="lesson"] img,#lesson-area-2 a[href*="briefing"] img,#lesson-area-2 a[href*="trial"] img{
margin-right: 10px;
}
#lesson-area-2 a[href*="briefing"],#lesson-area-2 a[href*="trial"]{
display:flex;
flex-wrap:wrap;
justify-content: center;
align-items: center;
padding: 5% 0;
background:#fff;	
border:solid 1px #778a97;
color:#222;
font-size: 1.4em;
line-height:130%;
}
#lesson-area-2 a[href*="briefing"] p,#lesson-area-2 a[href*="trial"] p{
line-height: 105%;
letter-spacing: .07em;
text-align: left;
	font-size: clamp(18px,1.8vw,23px);
}
#lesson-area-2 a[href*="briefing"] span,#lesson-area-2 a[href*="trial"] span{
display:block;
color:#666;
font-size: 0.66em;
font-weight: normal;
}
#lesson-area-2 a[href*="lesson"]:hover{
opacity: 0.8;
}
#lesson-area-2 a[href*="briefing"]:hover{
background: #fff4e5;
}
#lesson-area-2 a[href*="briefing"] strong{
color:#ff9602;
}
#lesson-area-2 a[href*="trial"]:hover{
background: #fee9f3;	
}
#lesson-area-2 a[href*="trial"] strong{
color:#f72a89;
}
#lesson-area-2 ul{
width: 90%;
margin: 20px auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}	
#lesson-area-2 li{
width: 48.6%;
}
#lesson-area-2 figure{
width: 420px;
height: auto;
margin: auto;
}

	
	
	
	
	
#top-study-area{
background: #ebf1fa;
padding: 5% 0;
}
#top-study-area h2{
text-align: center;
font-size: 1.8em;
margin-bottom: 1%;
letter-spacing: 0.1em;
}
#top-study-area h2+p{
text-align: center;
font-size: 1em;
}
#top-study-area p{
color: #666;
}
#top-study-area .study-type1,#top-study-area .study-type2{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: auto;
width: 90%;
background: #fff;
border-radius: 10px;
padding: 2.5% 3% 4%;
margin-bottom: 2%;
}
#top-study-area .study-type1 div, #top-study-area .study-type2 div{
    width: 31%;
    height: auto;
  }
#top-study-area .study-type1 div figure, #top-study-area .study-type2 div figure{
    width: 100%;
    height: auto;
  }
#top-study-area .study-type1 div img, #top-study-area .study-type2 div img{
    width: 100%;
    height: auto;
  }
#top-study-area .study-type1 h3,#top-study-area .study-type2 h3{
width: 100%;
position: relative;
text-align: center;
padding-bottom: 2.5%;
font-size: 1.5em;
letter-spacing: 0.1em;
color: #222;
}
#top-study-area .study-type1 h3::before,#top-study-area .study-type2 h3::before{
content: "1";
display: inline-block;
text-align: center;
margin-right: 0.5%;
width: 30px;
height: 30px;
line-height: 30px;
background: #3abfef;
color: #fff;
border-radius: 50%;
font-size: 0.74em;
}
#top-study-area .study-type1 h3::before{
content: "1";
}
#top-study-area .study-type2 h3::before{
content: "2";
}
#top-study-area .study-type1 div{
width: 31%;
}
#top-study-area .study-type2 div{
width: 31%;
}
#top-study-area .study-type1 div img,#top-study-area .study-type2 div img{
border-radius: 0;
border-bottom: 4px solid #3abfef;
}
#top-study-area .study-type1 h4,#top-study-area .study-type2 h4{
padding: 5% 5% 3%;
font-size: clamp(20px,1.25vw,24px);
	line-height: 1.2;
color: #3abfef;
}
#top-study-area .study-type1 p,#top-study-area .study-type2 p{
padding: 0 5% 0;
font-size: clamp(14px,0.85vw,16px);
line-height: 1.4;
text-align: justify;
}
	#top-study-area .study-type2 p span{
		font-size: 12px;
	}	
#top-students-area{
background: #fff;
padding: 5% 0;
}
#top-students-area h2{
text-align: center;
font-size: 1.8em;
margin-bottom: 1%;
letter-spacing: 0.1em;
}
#top-students-area h2+p{
text-align: center;
margin-bottom: 2%;
font-size: 1.1em;
}
#top-students-area p{
color: #666;
}

#top-students-area .stu-review {
  width: 90%;
  margin: 30px auto 40px; 
  display: block;
}
#top-students-area .stu-review a {
  display: block !important; 
  width: 180px; 
  margin: 0 15px; 
  text-decoration: none;
  outline: none; 
}
#top-students-area .stu-review a figure {
  width: 100%;
  height: auto;
  margin-bottom: 12px;
  overflow: hidden;
  border-radius: 10px; 
}
#top-students-area .stu-review a img { 
  width: 100%;
  height: auto;
  display: block;
}
#top-students-area .stu-review a h3 { 
  font-size: clamp(14px,1.3vw,16px);
	line-height: 1.4;
  margin: 8px 0;
  color: #333;
  font-weight: 500;
  text-align: justify; 
}
#top-students-area .stu-review a p { 
  color: #3abfef;
	font-size: clamp(14px,1.5vw,16px);
	line-height: 1.4;
  font-weight: bold;
  margin: 0;
  padding: 0;
}
	
	
	
#top-students-area .stu-work h3{
font-size: 1.4em;
margin: 0 0 2%;
text-align: center;
}
#top-students-area .stu-work h3 span{
font-size: 0.8em;
font-weight: normal;
display: block;
color: #666;
}
#top-students-area .stu-work ul{
width:74%;
margin:0 auto;
display: flex;
flex-direction: row;
justify-content: space-between;
}
#top-students-area .stu-work ul li{
width:31%;
filter: drop-shadow(0 0 6px rgba(0, 67, 118, 0.2));
}
#top-students-area .stu-work ul li img{
width:100%;
}	
	
#top-corplogo-area {
  overflow: hidden;
  width: 100%;
  margin: 5% 0;
}

#top-corplogo-area h2{
	text-align: center;
	margin: 0 0 3rem;
}

#top-corplogo-area .top-corplogo-track {
  display: flex;
  width: max-content;  /* ← これを追加 */
  animation: top-corplogo-scroll 50s linear infinite;
}

#top-corplogo-area .top-corplogo-list {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 5px;
  align-items: center;
  flex-shrink: 0;
  padding-right: 5px; /* ← ulの末尾にgapと同じ幅を追加 */
}

#top-corplogo-area .top-corplogo-list li {
  flex-shrink: 0;
}
#top-corplogo-area .top-corplogo-list li img{
 width:80%;
 height: auto;
}

@keyframes top-corplogo-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
	


	
#top-graduate-area{
background: #ebf1fa;
padding: 5% 0;
}
#top-graduate-area h2{
text-align: center;
font-size: 1.8em;
margin-bottom: 1%;
letter-spacing: 0.1em;
}
#top-graduate-area h2+p{
text-align: center;
padding-bottom: 0;
font-size: clamp(16px,0.98vw,19px);
}
#top-graduate-area p{
color: #666;
}
#top-graduate-area ul {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: 20px auto 0;
width: 100%;
}
#top-graduate-area ul .slick-track{
	display: flex;	
	}
#top-graduate-area ul .slick-slide{
	height: auto !important; /* Slickのデフォルトのバグを防ぐ */
  display: flex !important;
  justify-content: center;	
	}
#top-graduate-area li{
width: 380px;
height: 100% !important;
margin: 30px 15px;
background: #FFF;
filter: drop-shadow(0 0 6px rgba(0, 67, 118, 0.2));
box-sizing: border-box;
opacity: 1;
transition: 0.3s;
border-radius: 8px;
	padding-bottom: 20px;
}	

#top-graduate-area li img {
width: 100%;
height: auto;
box-sizing: border-box;
border-radius: 8px 8px 0 0 ;
}
#top-graduate-area li:hover {
transform: scale(1.06, 1.06);
filter: drop-shadow(0 0 10px rgba(0, 67, 118, 0.2));
transition: 0.3s all;
opacity: 0.8;
}
#top-graduate-area li a{
text-decoration: none;
}
#top-graduate-area li p:nth-child(3) {
font-weight: bold;
font-size: clamp(16px,0.98vw,19px);
color: #222;
padding: 0 30px 10px;
	text-align: justify;
	line-height: 1.2;
/*
	font-feature-settings: "palt" 1;
	font-variant-east-asian: proportional-width;
	text-spacing-trim: space-all;
*/

}
#top-graduate-area li p:nth-child(3) span {
text-align: right;
display: block;
font-size: 0.8em;
line-height: 120%;
margin-top: 15px;
}
#top-graduate-area li p:nth-child(2) {
font-weight: bold;
font-size: 1.0em;
color: #FFF;
margin: 0 30px -20px;
padding: 2px 10px;
display: inline-block;
position: relative;
top: -20px;
z-index: 1;
}
#top-graduate-area li.car1 p:nth-child(2) {
background: #ff8a65;
}
#top-graduate-area li.car2 p:nth-child(2) {
background: #81c784;
}
#top-graduate-area li.car3 p:nth-child(2) {
background: #f06292;
}
#top-graduate-area li.car4 p:nth-child(2) {
background: #4db6ac;
}
#top-graduate-area li.car5 p:nth-child(2) {
background: #64b5f6;
}
#top-graduate-area li.car6 p:nth-child(2) {
background: #ffc107;	
	}

#top-membership{
		padding: 5% 0 0;
	}	
	
#top-membership section {
width: 100%;
max-width: 1200px;
/*min-width: 1000px;*/
margin: auto;
position: relative;
}

#top-membership h2{
font-size: 1.8em;
margin-bottom: 1%;
letter-spacing: 0.1em;
}
#top-membership h2+p{
margin-bottom: 2%;
font-size: 1.1em;
width: 100%;
margin: auto;
}	
#top-tsunagu-area,#top-media-area{
width: 100%;
padding-bottom: 2%;
}
#top-tsunagu-area h3,#top-media-area h3{
margin-bottom: 2%;
}
#top-tsunagu-area p span, #top-media-area p span {
    font-size: 14px;
    display: block;
	line-height: 1;
	letter-spacing: 0;
  }
#top-tsunagu-area ul{
margin: auto;
max-width: 1200px;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
#top-media-area ul{
margin: auto;
max-width: 1200px;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
#top-tsunagu-area ul li,#top-media-area ul li{
width: 24%;
}
#top-media-area ul li{
width: 32%;
}
#top-tsunagu-area ul li img,#top-media-area ul li img{
border-radius: 4px;
width: 100%;
	height: auto;
}
#top-tsunagu-area li p:nth-child(2){
padding: 15px 0 0 15px;
font-size: 1.2em;
font-weight: bold;
letter-spacing: 0;
}
#top-tsunagu-area li p:nth-child(3){
padding: 10px;
font-size: clamp(14px,1.5vw,16px);
line-height: 140%;
font-weight: normal;
letter-spacing: 0.1em;
font-style: oblique;
}
#top-tsunagu-area li p:nth-child(3) a{
font-style:normal;
margin-top: 10px;
font-size: 1.0em;	
	}
#top-media-area p {
    padding: 20px;
    font-size: 1.1em;
    font-weight: bold;
    letter-spacing: 0.1em;
    line-height: 150%;
  }
#top-member-logo {
display: flex;
justify-content: center;
flex-wrap: wrap;
width: 100%;
max-width: 1200px;
margin: 0 auto 60px auto;
}
#top-member-logo li {
width: 15%;
padding: 14px;
text-align: center;
font-size: 11px;
letter-spacing: -0.04em;
font-weight: bold;
line-height: 1.25;
	margin-bottom: 30px;
	display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
#top-member-logo figure {
	width: 100%;
	height: auto;
}
#top-member-logo figcaption {
text-align: center;
	width: 100%;
	height: auto;
	display: block;
	margin-top: 10px;
}	
#top-info-area, #top-column-area {
padding: 50px 0;
}
#top-info-area section, #top-faq-area section, #top-column-area section, #top-membership section {
width: 100%;
max-width: 1200px;
/*min-width: 1000px;*/
margin: auto;
position: relative;
}
#top-info-area h2, #top-faq-area h2, #top-sp-area h2, #top-column-area h2, #top-membership h2 {
font-size: 1.9em;
padding: 20px 0;
}	
#top-info-area section > p {
color: #7d8793;
font-size: 1.2em;
width: 90%;
margin: 0 auto;
padding: 0;
}

#top-newcourse-area .crs-rcm,#top-newcourse-area .crs-nav,.crs-bnf ul{
display: flex;
flex-wrap: wrap;
justify-content:center;
}
.crs-bnf {
width: 100%;
margin: 30px auto 0;
padding: 40px 10% 60px ;
text-align: center;
background: #ebf1fa;
}
.crs-bnf ul{
width: 100%;
margin: auto;
}
.crs-bnf ul:nth-child(2) li{
width: 46%;
margin: auto;
background: #fff;
filter: drop-shadow(0 0 6px rgba(0, 67, 118, 0.2));
border-radius: 10px;
margin-bottom: 2%;
background-repeat: no-repeat;
background-position: bottom;
background-size: 80%;
transition: 0.3s;
}
.crs-bnf ul:nth-child(2) li:nth-child(1){
background-image: url("../../images/top_bnf_01.png");
}
.crs-bnf ul:nth-child(2) li:nth-child(2){
background-image: url("../../images/top_bnf_02.png");
}
.crs-bnf ul:nth-child(2) a{
display: block;
width: 100%;
height: auto;
padding: 6% 4% 40%;
text-decoration: none;
}
.crs-bnf h3{
font-size: 1.4em;
margin: 0 0 2.4%;
}
.crs-bnf h3 span{
font-size: 0.8em;
font-weight: normal;
display: block;
color: #666;
}
.crs-bnf h4{
letter-spacing: 0;
font-size: clamp(20px,2.6vw,28px);
margin: 0 0 2%;
color: #222;
}
.crs-bnf h4 span{
font-size: clamp(15px,1.5vw,18px);
letter-spacing: 0;
display: block;
color: #38baf0;
}
.crs-bnf p{
		font-size: clamp(13px,1.6vw,16px)
	}
#top-info-area section > p.txt-bold {
    font-size: 1.4em;
    padding: 10px 0px;
  }	
#top-faq-area {
padding: 30px 0 0;
background-color: #f3f6f8;
}
#top-faq-area ul {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
padding-top: 20px;
}
#top-faq-area li {
width: 31%;
margin-bottom: 40px;
box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.05);
}
#top-faq-area li a {
display: block;
text-decoration: none;
background-color: #fff;
position: relative;
color: #3abfef;
font-weight: bold;
line-height: 1.5;
border-radius: 5px;
opacity: 1;
transition: ease all .2s;
}
#top-faq-area li a:hover {
opacity: 0.8;
}
#top-faq-area li a::before {
content: "Q";
background-color: #3abfef;
color: #fff;
width: 34px;
height: 34px;
text-align: center;
display: block;
line-height: 1;
padding-top: 9px;
box-sizing: border-box;
font-size: 16px;
font-weight: bold;
border-radius: 17px;
position: absolute;
top: -10px;
left: -5px;
}
#top-faq-area li p {
height: 90px;
padding: 23px 30px 0 30px;
	font-size: clamp(15px,1.4vw,16px);
    text-align: justify;
    line-height: 1.3;
}
#top-faq-area li div {
background-color: #3abfef;
	font-size: clamp(15px,1.4vw,16px);
	line-height: 1.3;
padding: 13px 30px;
color: #fff;
border-radius: 0 0 5px 5px;
background-image: url(../images/arrow10.png);
background-position: 95% 50%;
background-repeat: no-repeat;
}	
#top-contents-area {
padding: 20px 0;
}
#top-contents-area ul {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
width: 100%;
max-width: 1080px;
margin: auto;
}
#top-contents-area li {
width: 31%;
margin-bottom: 30px;
}
#top-contents-area a {
display: block;
box-shadow: inset 0 0 0 12px #f3f6f8;
padding: 12%;
text-decoration: none;
color: #222;
line-height: 1.5;
transition: ease all .2s;
}
#top-contents-area a:hover {
box-shadow: inset 0 0 0 12px #3abfef;
}
#top-contents-area p.txt-bold {
color: #3abfef;
line-height: 1.25;
text-align: center;
font-size: clamp(18px,1.7vw,22px);
height: 3em;
}
#top-contents-area p {
height: 7.5em;
    font-size: clamp(14px,1.3vw,16px);
    text-align: justify;
    letter-spacing: -0.05em;
}	
	#top-contents-area ul li figure{
		margin-top: 5px;
	}	
	
	
#top-sp-area {
padding: 30px 0;
background-color: #f3f6f8;
}
#top-sp-area section {
width: 100%;
max-width: 1200px;
/*min-width: 1000px;*/
margin: auto;
position: relative;
}
#top-sp-area ul {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
padding: 20px 0;
}
#top-sp-area li {
width: 23%;
margin-bottom: 15px;
}
#top-sp-area ul a {
display: block;
line-height: 1.5;
text-decoration: none;
color: #3abfef;
}
	#top-sp-area ul li p:last-of-type{
		font-size: clamp(14px,1.3vw,16px);
		line-height: 1.4;
		text-align: justify;
	}	
	
#top-sp-area p.txt-bold {
font-weight: bold;
color: #222;
font-size: 1.1em;
letter-spacing: -0.02em;
padding: 5px 0;
}
#top-sp-area figure {
background-color: #fff;
border-radius: 5px;
}
#top-sp-area img {
display: block;
border-radius: 5px;
opacity: 1;
transition: ease all .2s;
}
#top-sp-area a:hover img {
opacity: 0.8;
}	
.pagetop {
display: none;
position: fixed;
z-index: 20;
bottom: 70px;
right: 35px;
width: 50px;
}
.pagetop a {
display: block;
width: 50px;
height: 50px;
}
#ft-lesson-area {
background-image: url(../images/footer_pic.jpg);
background-repeat: repeat-x;
background-position: 50% 0;
color: #fff;
padding: 0;
height: 340px;
}
#ft-lesson-area h2 {
padding-top: 50px;
height: 136px;
text-align: center;
font-size: 2.9em;
color:#fff;
}
#ft-lesson-area h2 span {
display: block;
font-size: 0.6em;
}
#ft-lesson-area p {
width: 724px;
height: 94px;
margin: 0 auto;
font-size: 1.6em;
padding: 0;
color:#fff;
}
#ft-lesson-area a {
display: block;
height: 56px;
background: #ff9602;
background: -moz-linear-gradient(left, #ff9602 0%, #f72a89 100%);
background: -webkit-linear-gradient(left, #ff9602 0%, #f72a89 100%);
background: linear-gradient(to right, #ff9602 0%, #f72a89 100%);
padding-top: 17px;
line-height: 1;
text-align: center;
color: #fff;
text-decoration: none;
font-size: 18px;
width: 410px;
border-radius: 5px;
font-weight: bold;
margin: 0 auto;
transition: ease all .2s;
position: relative;
}
#ft-lesson-area a::before {
content: "";
display: block;
position: absolute;
width: 0px;
height: 0px;
margin: auto;
left: 2px;
top: 2px;
bottom: 2px;
right: 2px;
border-radius: 5px;
transition: ease-out all .2s;
background-color: #fff;
z-index: 0;
}
#ft-lesson-area a:hover::before {
width: 406px;
height: 52px;
}
#ft-lesson-area a span {
color: #fff;
transition: ease all .3s;
display: block;
position: absolute;
top: 18px;
width: 100%;
text-align: center;
z-index: 1;
}
#ft-lesson-area a:hover span {
color: #ff9602;
}
	
	
	
/*↓インクルード部分のCSS */
/*お知らせ*/
#top-info-area, #top-column-area {
padding: 50px 0;
}

#top-info-area h2, #top-faq-area h2, #top-sp-area h2, #top-column-area h2, #top-membership h2 {
font-size: 1.9em;
padding: 20px 0 20px 2%;
}
#info-area {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
margin-bottom: 20px;
}
#info-area li {
width: 48%;
border-top: 1px solid #cdd7e5;
}
#info-area li:nth-last-child(-n+2) {
border-bottom: 1px solid #cdd7e5;
}
#info-area a {
display: block;
width: 100%;
height: auto;
padding: 15px 0;
overflow: hidden;
text-decoration: none;
line-height: 1.5;
transition: ease all .2s;
}
#info-area a:hover p {
text-decoration: underline;
}
#info-area a figure {
width: 130px;
float: left;
margin-right: 18px;
}
#info-area img {
display: block;
border-radius: 5px;
}
.type-info, .type-media, .type-press, .type-work, .type-event, .type-design, .type-programming, .type-server, .type-marketing, .type-business, .type-management {
width: 106px;
height: 22px;
line-height: 1;
color: #fff;
display: inline-block;
text-align: center;
padding: 5px 0;
border-radius: 10px;
font-size: 12px;
margin: 0 5px 10px 0;
}
	#info-area li a p{
		font-size: clamp(14px,1.3vw,16px);
		line-height: 1.4;
	}
.type-info {
background-color: #46b2e8;
}
.type-media {
background-color: #1e88e5;
}
.type-press {
background-color: #ff8a65;
}
.type-work {
background-color: #26a69a;
}
.type-event {
background-color: #ec407a;
}
.type-design {
background-color: #ff8a65;
}
.type-programming {
background-color: #4fc3f7;
}
.type-server {
background-color: #4e8ec4;
}
.type-marketing {
background-color: #81c784;
}
.type-business {
background-color: #f06292;
}
.type-management {
background-color: #f06292;
}
.info-day {
vertical-align: middle;
color: #333;
margin-bottom: 10px;
	font-size: clamp(12px,1.2vw,16px)
}
#top-info-area section > p {
color: #7d8793;
font-size: clamp(16px,1vw,19px);
	line-height: 1.6;
width: 90%;
margin: 0 auto;
padding: 0;
}
#top-info-area section > p.txt-bold {
font-size: 1.4em;
padding: 10px 0;
}
	#top-info-area section a:nth-of-type(2){
		width: 80%;
		height: auto;
		margin: 50px auto 0;
	}
	#top-info-area section a:nth-of-type(2) img{
		width: 100%;
		height: auto;
	}

/*新着コラム*/

#top-column-area section > p {
color: #7d8793;
font-size: 1.2em;
width: 90%;
margin: 0 auto;
padding: 0;
}
#top-column-area section > p.txt-bold {
font-size: 1.4em;
padding: 10px 0;
}
#column-area {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
margin-bottom: 20px;
}
#column-area li {
width: 48%;
border-top: 1px solid #cdd7e5;
}
#column-area li:nth-last-child(-n+2) {
border-bottom: 1px solid #cdd7e5;
}
#column-area a {
display: block;
width: 100%;
/*height:130px;*/
padding: 20px 0;
overflow: hidden;
text-decoration: none;
line-height: 1.5;
transition: ease all .2s;
}
#column-area span.info-day + p {
font-weight: bold;
color: #222;
padding: 0;
}
#column-area a:hover p {
text-decoration: underline;
}
#top-column-area section > p {
color: #7d8793;
font-size: 1.2em;
width: 90%;
margin: 0 auto;
padding: 0;
}
#top-column-area section > p.txt-bold {
font-size: 1.4em;
padding: 10px 0;
}



footer {
/*
background: #57c3ea;
background: -moz-linear-gradient(left, #57c3ea 2%, #1e88e5 99%);
background: -webkit-linear-gradient(left, #57c3ea 2%, #1e88e5 99%);
*/
background: linear-gradient(to right, #57c3ea 2%, #1e88e5 99%);
	width: 100%;
	height: auto;
}
footer nav {
width: 70%;
margin: auto;
padding: 0 0 30px 0;
overflow: hidden;
text-align: center;
}
footer nav p {
color: #fff;
display: inline-block;
font-size: clamp(14px,1.5vw,17px);
line-height: 1.4;
padding: 4% 33% 4% 0;
margin: auto;
background-image: url(../images/footer_fd.png);
background-repeat: no-repeat;
background-position: right 50%;
background-size: 30% auto;
}
#footer-navi1 {
border-top: 1px solid #a9dff3;
width: 100%;
padding: 20px 0;
overflow: hidden;
}
#footer-navi1 li {
width: 23.5%;
float: left;
margin-right: 2%;
}
#footer-navi1 li:nth-child(4) {
margin-right: 0;
}
#footer-navi1 li:last-child {
display: none;
}
#footer-navi1 a {
display: block;
text-decoration: none;
color: #57c3ea;
font-weight: bold;
line-height: 1;
padding: 10%;
font-size: clamp(13px,1.3vw,15px);
background-color: #fff;
border-radius: 5px;
text-align: left;
background-image: url(../images/arrow1.png);
background-repeat: no-repeat;
background-position: 95% 50%;
transition: ease all .2s;
}
#footer-navi1 a:hover {
background-color: #daf0fa;
}
#ft-fd-btn {
display: none;
}
#footer-navi2 {
overflow: hidden;
width: 60%;
text-align: left;
float: left;
}
#footer-navi2 li {
width: 33.3%;
float: left;
line-height: 1;
padding: 5px 0 5px 32px;
background-size: 5px auto;
background-repeat: no-repeat;
background-position: 5px 50%;
position: relative;
}
#footer-navi2 li::before {
display: block;
content: "";
background-color: #a9dff3;
width: 8px;
height: 2px;
position: absolute;
top: 11px;
left: 12px;
}
#footer-navi2 li a {
color: #fff;
font-size: clamp(12px,1.3vw,16px);
text-decoration: none;
}
#footer-navi2 li a:hover {
text-decoration: underline;
}
footer nav > div {
	width: 38%;
float: right;
}
	
	
#footer-navi3 li {
margin-bottom: 10px;
}
#footer-navi3 a {
display: block;
border: 1px solid #a9dff3;
text-decoration: none;
color: #fff;
font-size: clamp(16px,1.5vw,18px);
font-weight: bold;
line-height: 1.4;
text-align: left;
padding: 10px 8% 10px 6%;
background-image: url(../images/arrow1.png);
background-repeat: no-repeat;
background-position: 96% 50%;
border-radius: 5px;
transition: ease all .2s;
}
#footer-navi3 a:hover {
background-color: #fff;
color: #57c3ea;
}
#footer-navi3 span {
display: block;
font-size: clamp(12px,1.1vw,14px);
color: #a9dff3;
}
#footer-sns {
overflow: hidden;
/*padding: 10px 0 0 0;*/
text-align: right;
}
#footer-sns li {
width: clamp(40px,4vw,60px);
display: inline-block;
margin-left: 5%;
}
#footer-sns li img{
	width: 100%;
	height: auto;
	}
#footer-sns li:first-child{
	margin-left: 0;
	}
#footer-sns li a {
transition: ease all .3s;
opacity: 1;
}
#footer-sns li a:hover {
opacity: 0.8;
}
#footer-group {
background-color: #f3f6f8;
clear: both;
overflow: hidden;
padding: 50px 0;
line-height: 100%;
text-align: center;
}
#footer-group p {
color: #bcc3cc;
font-weight: bold;
font-size: 1.6em;
margin-bottom: 40px;
}
#footer-group ul {
display: inline-block;
}
#footer-group li {
float: left;
width: 200px;
}
#footer-group a {
text-decoration: none;
color: #bcc3cc;
font-size: 1.3em;
}
#footer-group img {
display: block;
margin: auto;
}
#footer-group li:nth-child(1) {
margin-left: 37px;
}
#footer-group li:nth-child(1) img {
margin-bottom: 22px;
}
#footer-group li:nth-child(2) {
margin-left: 33px;
}
#footer-group li:nth-child(2) img {
margin-top: 16px;
margin-bottom: 37px;
}
#footer-group li:nth-child(3) {
margin-left: 32px;
}
#footer-group li:nth-child(3) img {
margin-top: 2px;
margin-bottom: 18px;
}
#footer-group li:nth-child(4) img {
margin-top: 5px;
margin-bottom: 24px;
}
#footer-copy {
background-color: #fff;
clear: both;
overflow: hidden;
padding: 25px 35px 100px;
width: 100%;
}
#footer-copy > * {
width: 33%;
float: left;
letter-spacing: -0.02em;
display: block;
}
#footer-copy div {
background-image: url(../images/ft_logo_w3c.png);
background-repeat: no-repeat;
height: 48px;
padding: 16px 0 0 80px;

line-height: 100%;
font-size: 1.1em;
}
#footer-copy a {
text-align: center;
padding-top: 5px;
}
#footer-copy p {
text-align: right;
color: #57c3ea;
line-height: 100%;
padding-top: 16px;
font-size: 1.1em;
}









	
	
	
/*↓POPUPバナー---------------	*/
.popup-bnr {
display: none;
position: fixed;
z-index: 20;
bottom: -25px;
left: 50%;
transform: translateY(-50%) translateX(-50%);
margin: auto;
width: 84%;
text-align: center;
}
.popup-bnr a {
display: block;
padding: 20px 30px;
font-size: 1.8em;
font-weight: bold;
text-decoration: none;
color: #fff;
background: linear-gradient(to right, #ff9602 0%,#f72a89 100%);
border-radius: 60px;
filter: drop-shadow(0 0 6px rgba(0, 67, 118, 0.2));
transition: all 0.3s ease;
}
.popup-bnr span {
color: #FFFF24;
}
.popup-bnr a:hover span {
color: orange;
}
.popup-bnr a:hover {
background: #fff;
color: #333;
}	
/*↑POPUPバナーここまで---------------	*/	
	
	
	
	
	
	
	
	
	
	
	
	
	
	

	
@keyframes fadein {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
@keyframes fadeout {
0% {
opacity: 1;
}
100% {
opacity: 0;
}
}
@keyframes zoomin {
0% {
transform: scale(0.9);
}
100% {
transform: scale(1);
}
}
@keyframes zoomout {
0% {
transform: scale(1);
}
100% {
transform: scale(0.9);
}
}
@keyframes hide {
0% {
visibility: visible;
}
100% {
visibility: hidden;
}
}
@media all and (-ms-high-contrast: none) {
#top-copy {
background: none;
color: #1e88e5;
}
}
@keyframes rotate{
0% {
transform: rotateZ(0);
}
100% {
transform: rotateZ(360deg);
}
}

@keyframes loop {
0% {
transform: translateX(100%);
}
to {
transform: translateX(-100%);
}
}

@keyframes loop2 {
0% {
transform: translateX(0);
}
to {
transform: translateX(-200%);
}
	}
	
	
	

	
	
	
	
	
	
	
	
	
	
	

}