@charset "UTF-8";
/* CSS Document */
/*****
	CSS
******************/
a:hover{
	opacity:0.5;
}
/*****************
	fade in アニメーション
*****************/
.fade-box{
	width: 100%;
	height: 410px;
	overflow: hidden;
	position: relative;
}
.fade-in{
	z-index: 10;
	opacity: 0;
	width: 100%;
	height: 410px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	left: 0;
	top: 0;
	-webkit-animation: anime 18s 0s infinite;
	animation: anime 18s 0s infinite;
	background-image: url("../image/g03.jpg");
}
.fade-in:nth-of-type(2){
	-webkit-animation-delay:6s;
	animation-delay: 6s;
	background-image: url("../image/g06.jpg");
}
.fade-in:nth-of-type(3){
	-webkit-animation-delay:12s;
	animation-delay: 12s;
	background-image: url("../image/programing/topimg.jpg");
}

@keyframes anime{
	0%{
		opacity: 0;
	}
	8%{
		opacity: 1;
	}
	17%{
		opacity: 1;
	}
	25%{
		opacity: 0;
		transform: scale(1.2);
		z-index: 9;
	}
	100%{opacity: 0}
}
body{
	border-top: 10px solid #053250;
	background-color:#FAFAFA;
}
h2{
	font-size: 24px;
	color: #014E7E;
}
h3{
	font-size: 21px;
	font-weight: 600;
}
h4{
	font-size: 18px;
	font-weight: 600;
	line-height: 2em;
}
i{
	padding-right: 8px;
	padding-left: 8px;
}
p{
	font-size: 18px;
	line-height: 2em;
}

input, button, textarea,select {
  margin: 0;
  padding: 0;
  background: none;
  border-radius: 0;
}
main{
	padding-left:16px ;
	padding-right: 16px;
	z-index: -2;
	margin-top: 8%;
}
.blue{
	color: #014E7E;
	font-weight: 600;
	line-height: 2em;
}
.red{
	color: #F26964;
	line-height: 2em;
	font-weight: 600;
}
.row{
	display: block;
}
.little{
	font-size: 12px;
}
.under{
	text-decoration-line: underline;
}
.maker{
	background:linear-gradient(transparent 60%, #ff6 60%);
}
.bo{
	font-weight: 600;
}
/************************
	top img
***************************/
#top-img{
	position: relative;
}
.top-img img{
		width: 90%;
	
	}
.top-img::before{
	
}
.top-img::after{
	width: 100%;
	max-width: 1280px;
	height: 100%;
	min-height: 240px;
	display: block;
	content: "";
	background-color: #053250;
	position: absolute;
	right: 0;
	bottom: -10%;
	z-index: -1;
}
/************************
	トップタイトル
***************************/
#top-tittle{
	width: 96%;
	margin: 0 auto;
	padding-top: 12px;
	padding-bottom: 12px;
}
#top-tittle h1{
	float: left;
	width: 50%;
}
#top-tittle ul{
	float: right;
	width: 50%;
}
#top-tittle::after{
	clear: both;
	display: block;
	content: "";
}
#top-tittle ul li{
	float: right;
	list-style-type: none;
	text-align: center;
	padding-left: 12px;
}
#top-tittle ul li a{
	padding: 16px;
}
#top-tittle ul li a:last-child{
	background-color: #053250;
	color: #ffffff;
	font-weight: 500;
}
#top-tittle ul li a:hover{
	background-color: #ffffff;
	border: 2px solid #053250;
	color: #053250;
}
/**************************
		ロゴ
***************************/
#logo-name{
	width: 100%;
	padding-top: 32px;
	padding-bottom: 32px;
}
#logo-name img{
	display: block;
	margin: 0 auto;
}
/**************************
	ナビゲーション
***************************/

.inner{
	width: 100%;
	margin:0 auto;
	padding: 0;
	padding-top: 24px;
}

.inner:after{
	content:"";
	clear:both;
	display:block;
}

#top-head{
	width:100%;
	height: 60px;
	margin:0 auto 0px;
	padding:8px 16px 8px;
	line-height:1;
	z-index:999;
}

#top-head,#top-head a{
	color:#1B1B1B;
	text-decoration:none;
}

#top-head .inner{
	position:relative;
}

#top-head .logo{
	float:left;
	margin-top: 0;
	padding-top: 0;
}
#global-nav ul{
	list-style:none;
	position:absolute;
	right:0;
	bottom:0;
	font-size:14px;
	padding-top: 16px;
}

#global-nav ul li{
	float:left;
	width: auto;
	padding-top: 16px;
	text-align: center;
}

#global-nav ul li a{
	font-size:1em;
	padding:0 30px;
	position:relative;
	display:inline-block;
	text-decoration:none;
	
}
#global-nav ul li a small{
	color: #F0AE36;
}
#global-nav ul li a::after{
	content:'';
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	height:2px;
	margin-bottom: -4px;
	-webkit-transform:scaleX(0);
	-ms-transform:scaleX(0);
	transform:scaleX(0);
	background-color:#053250;
	-webkit-transition:all .3s ease;
	transition:all .3s ease;
}


#global-nav ul li a:hover::after{
	-webkit-transform:scaleX(1);
	-ms-transform:scaleX(1);
	transform:scaleX(1)
}

#top-head.fixed{
	margin-top:0;
	top:0;
	position:fixed;
	padding-top:32px;
	height:55px;
	background:rgba(255,255,255,.7);
	transition:top .65s ease-in;
	-webkit-transition:top .65s ease-in;
	-moz-transition:top .65s ease-in;
}
#top-head.fixed .logo{
	padding-top: 0px;
	padding-bottom: 8px;
}
#top-head.fixed #global-nav ul li a{
	color:#333;
	padding:0px 20px;
}
#nav-toggle{
	display:none;
	position:absolute;
	right:12px;
	top:14px;
	width:34px;
	height:36px;
	cursor:pointer;
	z-index:101;
}
#nav-toggle div{
	position:relative;
}
#nav-toggle span{
	display:block;
	position:absolute;
	height:4px;
	width:100%;
	background:#053250;
	left:0;
	-webkit-transition:.35s ease-in-out;
	-moz-transition:.35s ease-in-out;
	transition:.35s ease-in-out
}
#nav-toggle span:nth-child(1){
	top:0
}
#nav-toggle span:nth-child(2){
	top:11px
}
#nav-toggle span:nth-child(3){
	top:22px
}


/****************
 header 
********************/
header{
	
}
/****************
 tutaetaikoto
********************/
#tutaetaikoto{
	padding-top: 64px;
	width: 100%;
	margin: 0 auto;
	max-width: 960px;
}
#tutaetaikoto h2{
	font-weight: 600;
	text-align: center;
}
#tutaetaikoto p{
	font-size: 18px;
	line-height: 2em;
	text-indent: 1.5em;
	border-bottom: 1px dashed #E5E4E4;
}

/**************
	fix
****************/
.fix{
	position: fixed;
	bottom: 0;
	width: 100%;
	height: 80px;
	background-color: #fff;
	border: 4px solid #053250;
	z-index: 999;
	display: flex;
	justify-content: center;
	align-items: center;
}
.fix p{
	padding-top: 12px;
	padding-bottom: 12px;
	text-align: center;
	font-weight: 600;
}
.fix p .fa-solid{
	color: #053250;
}
.fix p a{
	color: #053250;
}

/****************
 infomation
********************/
.information{
	background-color: #f1f1f1;
	width: 100%;
	padding: 24px 16px 56px;
	margin-top: 64px;
}
#info{
	padding-top: 64px;
	width: 100%;
	margin: 0 auto;
	max-width: 960px;
}
#info h2{
	font-color: #003046;
	font-size: 32px;
	padding-left: 16px;
	margin-bottom: 40px;
}
#info h2 span{
	font-size: 18px;
	padding-left: 24px;
}
#info h2::after{
	display: block;
	content: "";
	border-bottom: 2px solid #003046;
	width: 64px;
	padding-left: 8px;
	padding-top: 16px;
}
.info{
	
}
.info-box{
	
}
/****************
 concept 
********************/
#concept{
	padding-top: 64px;
	width: 100%;
	margin: 0 auto;
	max-width: 960px;
}
#concept h2{
	font-color: #003046;
	font-size: 32px;
	padding-left: 16px;
	margin-bottom: 40px;
}
#concept h2 span{
	font-size: 18px;
	padding-left: 24px;
}
#concept h2::after{
	display: block;
	content: "";
	border-bottom: 2px solid #003046;
	width: 64px;
	padding-left: 8px;
	padding-top: 16px;
}
#concept h3{
	font-size: 21px;
	line-height: 1.5em;
	color: #F0AE36;
	font-weight: 500;
}
.concept-box{
	width: 100%;
	margin: 0 auto;
	max-width: 960px;
	border: 2px solid #CCCCCC;
	background-color: #ffffff;
	padding: 16px;
	margin-bottom: 40px;
	display: flex;
}
.concept-text{
padding: 16px
}
.concept-text p{
	font-size: 18px;
	line-height: 1.6em;
}
/****************
 about 
********************/
#about{
	background-color: #FFFBE0;
	padding: 24px;
}
.about-box{
	max-width: 960px;
	width: 100%;
	margin: 0 auto;
}
.about-box h2{
	color: #014E7E;
	font-size: 18px;
	font-weight: 600;
}
/****************
 service 
********************/
#service{
	padding-top: 64px;
	width: 100%;
	margin: 0 auto;
	max-width: 960px;
}
#service h2{
	font-color: #003046;
	font-size: 32px;
	padding-left: 16px;
	margin-bottom: 40px;
}
#service h2 span{
	font-size: 18px;
	padding-left: 24px;
}
#service h2::after{
	display: block;
	content: "";
	border-bottom: 2px solid #003046;
	width: 64px;
	padding-left: 8px;
	padding-top: 16px;
}
#service h3{
	font-size: 21px;
	font-weight: 500;
	color:#F0AE36;
}
.service-box{
	margin: 0 auto;
	max-width: 960px;
	width: 100%;
	border: 2px solid #CCCCCC;
	background-color: #ffffff;
	padding: 16px;
	margin-bottom: 40px;
}
.service-text p{
	font-size: 18px;
	line-height: 1.8em;
	color: #151313;
}
.btn-cu{
	width: 100%;
	padding-top: 16px;
	padding-bottom: 16px;
}
.btn-cu a{
	color: #ffffff;
	background-color: #003046;
	padding: 16px;
	font-weight: 600;
}
.btn-cu:hover{
	color: #003046;
}
.btn-cu a:hover{
	color: #003046;
	background-color: #ffffff;
	border: 2px solid #003046;
}
/****************
 講師紹介
********************/
#instructor{
	padding-top: 64px;
	width: 100%;
	margin: 0 auto;
	max-width: 960px;
}
#instructor h2{
	font-color: #003046;
	font-size: 32px;
	padding-left: 16px;
	margin-bottom: 40px;
}
#instructor h2 span{
	font-size: 18px;
	padding-left: 24px;
}
#instructor h2::after{
	display: block;
	content: "";
	border-bottom: 2px solid #003046;
	width: 64px;
	padding-left: 8px;
	padding-top: 16px;
}
#instructor h3{
	font-size: 21px;
	font-weight: 500;
	color:#F0AE36;
}
.instructor-box{
	margin: 0 auto;
	max-width: 960px;
	width: 100%;
	border: 2px solid #CCCCCC;
	background-color: #ffffff;
	padding: 16px;
	margin-bottom: 40px;
}
.instructor-text p{
	font-size: 18px;
	line-height: 1.8em;
	color: #151313;
}
/****************
 lesson 
********************/
#lesson{
	padding-top: 64px;
	width: 100%;
	margin: 0 auto;
	max-width: 960px;
}
#lesson h2{
	font-color: #003046;
	font-size: 32px;
	padding-left: 16px;
	margin-bottom: 40px;
}
#lesson h2 span{
	font-size: 18px;
	padding-left: 24px;
}
#lesson h2::after{
	display: block;
	content: "";
	border-bottom: 2px solid #003046;
	width: 64px;
	padding-left: 8px;
	padding-top: 16px;
}
#lesson h3{
	font-size: 21px;
	font-weight: 500;
	color:#F0AE36;
}
.lesson-article{
	margin: 0 auto;
	max-width: 960px;
	width: 100%;
	border: 2px solid #CCCCCC;
	background-color: #ffffff;
	padding: 16px;
	margin-bottom: 40px;
}
.lesson-box{

}

.lesson-left p{
	font-size: 18px;
	line-height: 1.5em;
	color: #151313;
}
.lesson-right P{
	font-size: 18px;
	line-height: 1.5em;
	color: #151313;
}
.blue-area{
	display: block;
	background-color: #B7E1FF;
	padding: 12px;
	margin:16px auto;
}
.red-area{
	display: block;
	background-color: #FFB7B7;
	padding: 12px;
	margin:16px auto;
}
/****************
 予約
********************/
#reservation{
	background-color: #053250;
	width: 100%;
	margin-top: 64px;
	margin-bottom: 64px;
}
.reservation-box{
	max-width: 960px;
	margin: 0 auto;
	padding-top: 64px;
	padding-bottom: 64px;
}
.reservation-img{
	padding: 16px;
}
.pre-blue{
	background-color: #ffffff;
	display: block;
	width: 240px;
	height: 48px;
	text-align: center;
	padding-top: 8px;
	margin: 0 auto;
	margin-bottom: 24px;
}
.pre-blue a{
	color: #053250;
	font-size: 24px;
}
.reservation-text p{
	color: #ffffff;
	text-align: center;
}
.reservation-text p a{
	color: #ffffff;
}
.reservation-tel{
	font-size: 24px;
	color: #ffffff;
}
.guide-text{
	font-size: 24px;
	padding-top: 24px;
}
/****************
 教室画像一覧
********************/
#gallery{
	max-width: 960px;
	margin: 0 auto;
	padding-top: 64px;
	padding-bottom: 64px;
}
#gallery h2{
	font-color: #003046;
	font-size: 32px;
	padding-left: 16px;
	margin-bottom: 40px;
}
#gallery h2 span{
	font-size: 18px;
	padding-left: 24px;
}
#gallery h2::after{
	display: block;
	content: "";
	border-bottom: 2px solid #003046;
	width: 64px;
	padding-left: 8px;
	padding-top: 16px;
}
.galleryimages{
	float: left;
	width: 25%;
	padding: 4px;
}
.gallery-box::after{
	clear: both;
	display: block;
	content: "";
}
/****************
 koe 
********************/
#koe{
	background-color: #FFFBE0;
	padding: 24px;
}
#koe h2{
	color: #014E7E;
	font-size: 24px;
	font-weight: 600;
	text-align: center;
}
.koe-box{
	width: 100%;
	margin: 0 auto;
	max-width: 960px;
}

#koe .cycle{
	background-color: #DDF5FC;
	width: 80px;
	height: 80px;
	border-radius: 40px;
	-webkit-border-radius:40px;
	-moz-border-radius:40px;
	color: #707070;
	padding: 16px;
	margin-right: 12px;
	float: left;
}
#koe .cycle-pink{
	background-color: #FFE8E8;
	width: 80px;
	height: 80px;
	border-radius: 40px;
	-webkit-border-radius:40px;
	-moz-border-radius:40px;
	color: #707070;
	padding: 16px;
	margin-right: 12px;
	float: left;
}
#koe .cycle-green{
	background-color: #DFFFCE;
	width: 80px;
	height: 80px;
	border-radius: 40px;
	-webkit-border-radius:40px;
	-moz-border-radius:40px;
	color: #707070;
	padding: 16px;
	margin-right: 12px;
	float: left;
}
.cycle p,.cycle-green p,.cycle-pink p{
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	font-size: 12px;
	font-weight: 600;
}
#koe .comment-box{
	border: 2px solid #707070;
	border-radius: 6px;
	-webkit-border-radius:6px;
	-moz-border-radius:6px;
	padding: 12px;
	background-color: #ffffff;
	width: 60%;
	float: left;
}
.koe-article{
	padding: 8px;
}
.koe-article::after{
	clear: both;
	display: block;
	content: "";
}
/****************
 news 
********************/
#news{
	max-width: 960px;
	margin: 0 auto;
	padding-top: 64px;
	padding-bottom: 64px;
}
.news-box{
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
}
.news-box::after{
	content: "";
	display: block;
	clear: both;
}
#news h2{
	color: #014E7E;
	font-size: 24px;
	font-weight: 600;
	text-align: center;
}
ol{
	border-bottom: 1px solid #707070;
	width: 100%;
	padding: 16px;
}
ol::after{
	display: block;
	content: "";
	clear: both;
}
ol li{
	float: left;
	list-style-type: none;
	font-size: 16px;
	font-weight: 600;
}
ol li:nth-child(2){
	text-indent: 2em;
}
ol li:nth-child(3){
	text-indent: 2em;
}
.obi{
	background-image: url(../image/b_illust_20_2M.png);
	background-repeat: repeat-x;
	content: "";
	height: 16px;
	width: 100%;
}
/****************
 taiken 
********************/
#taiken-form{
	max-width: 960px;
	margin: 0 auto;
	padding-top: 64px;
	padding-bottom: 64px;
}
#taiken-form p{
	text-align: center;
}
#taiken-form h2{
	font-color: #003046;
	font-size: 32px;
	padding-left: 16px;
	margin-bottom: 40px;
}
#taiken-form h2 span{
	font-size: 18px;
	padding-left: 24px;
}
#taiken-form h2::after{
	display: block;
	content: "";
	border-bottom: 2px solid #003046;
	width: 64px;
	padding-left: 8px;
	padding-top: 16px;
}
#taiken-form .reservation-tel a{
	color: #014E7E;
}
#taiken-form h3{
	color: #014E7E;
	font-size: 18px;
	font-weight: 600;
	text-align: center;
}
.taiken-box{
	width: 100%;
	margin: 0 auto;
	max-width: 960px;
}
.tel{
	background-color: #EB3E4A;
	color: #ffffff;
	width: 240px;
	padding: 12px;
	text-align: center;
	border-radius: 6px;
	-moz-border-radius:6px;
	-webkit-border-radius:6px;
}
.tel a{
	color: #ffffff;
}

/****************
 footer 
********************/
footer{
	border-bottom: 10px solid #053250;
	background-repeat: repeat;
}
#footer{
	padding: 24px;
	max-width: 960px;
	width: 100%;
	margin: 0 auto;
}
footer h3{
	font-size: 18px;
	line-height: 1.5em;
}
.nav-footer{
	padding-top: 16px;
}
.nav-footer ul li{
	list-style-type: none;
}
.nav-footer ul li a{
	color: #707070;
}

/****************
 予約フォーム
********************/
.yoyaku{
	display: block;
	margin: 0 auto;
}
.yoyaku h3{
	text-align: center;
	padding-top: 16px;
}
.yoyaku h3 a{
	background-color: #5DCCFD;
	color: #ffffff;
	padding: 12px;
	text-align: center;
	max-width: 320px;
	width: 100%;
	
}
.yoyaku h3 a:hover{
	border: 3px solid #5DCCFD;
	background-color: #ffffff;
	color: #5DCCFD;
}
/*新しく追加*/
#prog_ga{
	width: 100%;
	background-image: url("../image/background.jpg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size:cover;
	position: relative;
}

#prog_ga::after{
	background-color: rgba(0,0,0,0.5);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: ' ';
}

.prog_ga{
	max-width: 960px;
	width: 100%;
	margin: 0 auto;
	padding: 64px 16px;
	color: #F2F0F0;
	position: relative;
	z-index: 1;
}
.prog_ga h2{
	color: #F2F0F0;
	font-size: 21px;
	line-height: 1.5em;
	text-align: center;
}
.prog_ga p{
	font-size: 18px;
	line-height: 2em;
}
/*コース紹介*/
.pg-box{
/*
	display: flex;
	justify-content: space-around;
*/
	width: 100%;
	margin: 0 auto;
}
.pg-box::after{
	display: block;
	content: "";
	clear: both;
}
.pg-box-content{
	padding: 12px;
	float: left;
	width: 50%;
}
.pg-box-content img{
	display: block;
	margin: 0 auto;
}
.pg-description{
	padding: 12px;
	background-color: #053250;
	display: block;
	margin: 32px auto 0px;
	width: 320px;
	text-align: center;
}
.pg-description:hover{
	opacity: 0.8;
	cursor: pointer;
}
.pg-description a{
	color: #F5F5F5;
}
.pg-description a:hover{
	cursor: pointer;
}
#prog_price{
	background-color: #F0EEEE;
	width: 100%;
}
.prog_price h2{
	font-color: #003046;
	font-size: 32px;
	padding-left: 16px;
	margin-bottom: 40px;
}
.prog_price h2 span{
	font-size: 18px;
	padding-left: 24px;
}
.prog_price h2::after{
	display: block;
	content: "";
	border-bottom: 2px solid #003046;
	width: 64px;
	padding-left: 8px;
	padding-top: 16px;
}
.prog_price{
	max-width: 960px;
	width: 100%;
	margin: 0 auto;
	padding: 64px 0px;	
}
.prog_price table{
	table-layout: fixed;
	width: 100%;
}
.prog_price tbody{
	border: 1px solid #D6D5D5;
	width: 100%;
}
.prog_price tr{
	border-bottom: 1px dashed #D6D5D5;
	width: 100%;
	background-color: #FAFAFA;
}
.prog_price tr th{
	border-right: 1px solid #D6D5D5;
	padding: 24px;
	width: 50%;
}
.prog_price tr td{
	border-right: 1px solid #D6D5D5;
	padding: 24px;
	width: 50%;
}
#prog_schedule{
	background-color: #F0EEEE;
	width: 100%;
	
}
.prog_schedule h2{
	font-color: #003046;
	font-size: 32px;
	padding-left: 16px;
	margin-bottom: 40px;
}
.prog_schedule h2 span{
	font-size: 18px;
	padding-left: 24px;
}
.prog_schedule h2::after{
	display: block;
	content: "";
	border-bottom: 2px solid #003046;
	width: 64px;
	padding-left: 8px;
	padding-top: 16px;
}
.prog_schedule{
	max-width: 960px;
	width: 100%;
	margin: 0 auto;
	padding: 64px 0px;
}
.prog_schedule table{
	table-layout: fixed;
	width: 100%;
	border: 1px solid #D6D5D5;
}
.prog_schedule tbody{
	border: 1px solid #D6D5D5;
	width: 100%;
	max-width: 960px;
}
.prog_schedule tr{
	border-bottom: 1px solid #D6D5D5;
	
}
.prog_schedule th{
	border-right: 1px solid #D6D5D5;
	padding: 16px;
	text-align: center;
	background-color: #F0EEEE;
}
.prog_schedule td{
	border-right: 1px solid #D6D5D5;
	padding: 16px;
	text-align: center;
	font-size: 16px;
}
#prog_access{
	background-color: #F0EEEE;
	width: 100%;
	
}
.prog_access h2{
	font-color: #003046;
	font-size: 32px;
	padding-left: 16px;
	margin-bottom: 40px;
}
.prog_access h2 span{
	font-size: 18px;
	padding-left: 24px;
}
.prog_access h2::after{
	display: block;
	content: "";
	border-bottom: 2px solid #003046;
	width: 64px;
	padding-left: 8px;
	padding-top: 16px;
}
.prog_access{
	max-width: 960px;
	width: 100%;
	margin: 0 auto;
	padding: 64px 0px;
	background-color: #F0EEEE;
}
.prog_access::after{
	display: block;
	content: "";
	clear: both;
}
.prog_access_left{
	float: left;
	width: 50%;
	padding: 16px;
}
.prog_access_right{
	float: right;
	width: 50%;
	padding: 16px;
}
.prog_access table{
	padding: 0;
	table-layout: fixed;
	width: 100%;
}
.prog_access tr{
	border-bottom: 1px dashed #D6D5D5;
	width: 100%;
}
.prog_access th{
	width: 30%;
	line-height: 1.5em;
	padding: 24px;
}
.prog_access td{
	width: 70%;
	line-height: 1.5em;
	padding: 24px;
}
/********************
	よくある質問
*********************/
.qr-area{
	background-color: #F0EEEE;
	width: 100%;
}
.contents-box h2{
	font-color: #003046;
	font-size: 32px;
	padding-left: 16px;
	margin-bottom: 40px;
}
.contents-box h2 span{
	font-size: 18px;
	padding-left: 24px;
}
.contents-box h2::after{
	display: block;
	content: "";
	border-bottom: 2px solid #003046;
	width: 64px;
	padding-left: 8px;
	padding-top: 16px;
}
.qabox{
	padding: 16px;
	padding-top: 16px;
	padding-bottom: 16px;
	border-bottom: 1px solid #DDDDDD;
}
.qabox h3{
	line-height: 1.5em;
}
.answer{
	font-size: 18px;
	padding-left: 18px;
}
.contents-box{
	max-width: 960px;
	width: 100%;
	margin: 0 auto;
	padding: 64px 0px;
}
.contents-box h2{
	font-size: 21px;
	font-weight: 600;
}
/****************
 スマホ画角設定
********************/

@media screen and (max-width:768px){
	#pc{
		display: none;
	}
	#youtube{
	width: 100%;
}
	#top-tittle ul{
		display: none;
	}
	#top-tittle h1{
		width: 100%;
		margin: 0;
		padding: 0;
	}
.top-img img{
		width: 90%;
	display: block;
	margin: 0 auto;
	}
/*****************
	thumbnail-box
******************/	
	.thumnail-box{
		margin-bottom: 40px;
	}
	.blog_tittle{
		margin-top: 4px;
	}
	.blog_tittle a{
		font-size: 16px;
		color: #014E7E;
	}
/**************************
	top-img
***************************/
	#top-img{
		padding-top: 16px;
	}

	#top-head,.inner{
		width:100%;
		padding:0;
	}
	#top-head{
		top:0;
		position:fixed;
		margin-top:0;
		background:rgba(255,255,255,1.00);
		height: 64px;
		border-top: 6px solid #003046;
	}
	#top-head.fixed{
		padding-top:0;
		background:rgba(255,255,255,1.00);
		height: 64px;
	}
	#mobile-head{
		background:#ffffff;
		width:100%;
		height:40px;
		z-index:999;
		position:relative;
	}
	#top-head .logo,#top-head.fixed .logo{
		position:absolute;
		left:13px;
		top: 13px;
		color:#121212;
		font-size:26px;
	}
	
	#global-nav{
		position:absolute;
		top:-500px;
		background:#ffffff;
		width:100%;
		text-align:center;
		padding:10px 0;
		-webkit-transition:.5s ease-in-out;
		-moz-transition:.5s ease-in-out;
		transition:.5s ease-in-out
	}
	
	#global-nav ul {
		list-style:none;
		position:static;
		right:0;
		bottom:0;
		font-size:14px;
	}
	
	#global-nav ul li{
		float:none;
		position:static;
	}
	#top-head #global-nav ul li,#top-head.fixed #global-nav ul li{
		width:100%;
		display:block;
		color:#121212;
		padding:18px 0;
	}
	
	#nav-toggle{
		display:block
	}
	.open #nav-toggle span:nth-child(1){
		top:11px;
		-webkit-transform:rotate(315deg);
		-moz-transform:rotate(315deg);
		transform:rotate(315deg)
	}
	
	.open #nav-toggle span:nth-child(2){
		width:0;left:50%
	}
	.open #nav-toggle span:nth-child(3){
		top:11px;
		-webkit-transform:rotate(-315deg);
		-moz-transform:rotate(-315deg);
		transform:rotate(-315deg)
	}
	
	.open #global-nav{
		-moz-transform:translateY(556px);
		-webkit-transform:translateY(556px);
		transform:translateY(556px)
	}
/*	新しい項目テーブル*/
	.prog_price table{
		table-layout:auto;
		width: 100%;
		padding: 16px;
    }
	.prog_price tr{
		border-bottom: 1px solid #D6D5D5;
	}
    .prog_price tr th,
    .prog_price tr td{
		border-right: none;
        border-bottom: 1px dashed #D6D5D5;
        padding: 16px 12px;
        width: 100%;
		display: block;
    }
	.prog_price tr td:last-child{
		border-bottom: none;
	}
	.prog_schedule tr td:last-child{
		border-bottom: none;
	}
/*	コース一覧*/
	.pg-box{
		width: 100%;
		margin: 0 auto;
		}

	.pg-box-content{
		width: 100%;

		}
	/*コンセプト	*/
	.concept-box{
		display: block;
	}
.prog_access_left{
	width: 100%;
	padding: 16px;
}
.prog_access_right{
	width: 100%;
	padding: 16px;
}
	/************
	スマホinfo
	*************/
	.info{
		display: grid;
		gap:24px;
		grid-template-columns: 1fr 1fr 1fr 1fr;
	  margin: 0 auto;
	  padding: 0;
	  width: 100%;  /* コンテンツが見切れて見えるようにする */
	  overflow-x: auto;  /* 横スクロールの指定 */
	  white-space: nowrap;  /* 横スクロールの指定 */
	  overflow-scrolling: touch;  /* スクロールを滑らかにする */
	  -webkit-overflow-scrolling: touch;  /* スクロールを滑らかにする */
	}
	.info .info-box{
	    /* 横並びにする指定 */
	  height: 450px;  /* 横スクロールする範囲の高さを指定 */
	}
	.info-box:first-child{
	  margin-left: 0;
	}
	.info-box{
	  margin-left: 30px;
	}
}
/***********
	new 予約一覧
*************/
.ifo-box{
	display: flex;
	border-bottom: 1px dashed #5C5C5C;
	padding-bottom: 16px;
	padding-top: 24px;
}
.form-title{
	flex-basis:50%;
	padding-left: 12px;
}
.form-title h4 a{
	color: #000000;
	font-weight: 500;
	
}
.form-btn{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	
	flex-basis:50%;
}
.form-btn a{
	width: 160px;
	display: block;
	text-align: center;
	padding: 16px 24px 16px 24px;
	background-color: #F1A228;
	color: #fff;
	font-size: 14px;
}
/***************
pc画角設定
*****************/
@media screen and (min-width:769px){
/***********
	予約一覧
*************/

.form-title{
	flex-basis:70%;
}

.form-btn{
	flex-basis:30%;
}
/***********
	予約一覧終了
*************/
	
	.mobile-head{
		float: left;
		width: 25%;
		margin: 0;
		padding: 0;
		margin-top: -30px;
	}
	#global-nav{
		float: right;
		width: 70%;
	}
	.innner::after{
		display: block;
		clear: both;
		content: "";
	}
	#sp{
		display: none;
	}
	#youtube{
	max-width: 1920px;
	max-height: 1080px;
	width: 100%;
	height: 100vh;
	display: block;
	margin: 0 auto;
}
#top-img{
	position: relative;
}
	
	#top-img .top-img img{
		width: 85%;
	}
/****************
 PC concept 画角
********************/
	.concept-box{
		padding: 32px;
	}
.concept-box::after{
	clear: both;
	content: "";
	display: block;
}
.concept-img{
	float: left;
	width: 40%;
}
.concept-text{
	float: left;
	width: 60%
}
/****************
 PC about 画角
********************/
.about-box::after{
	clear: both;
	content: "";
	display: block;
}
.about-img{
	float: left;
	width: 40%;
}
.about-text{
	float: left;
	width: 60%;
}
/****************
 PC info 画角
********************/
.info{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap:16px;
}
/****************
 PC service 画角
********************/
.service-box{
	margin: 0 auto;
	max-width: 960px;
	width: 100%;
	border: 2px solid #CCCCCC;
	background-color: #ffffff;
	padding: 32px;
	margin-bottom: 40px;
}
.service-box::after{
	clear: both;
	content: "";
	display: block;
}
.service-img{
	float: left;
	width: 40%;
}
.service-text{
	float: left;
	width: 60%;
	padding: 16px;
}
/****************
 PC インストラクター　画角
********************/
.instructor-box{
	margin: 0 auto;
	max-width: 960px;
	width: 100%;
	border: 2px solid #CCCCCC;
	background-color: #ffffff;
	padding: 32px;
	margin-bottom: 40px;
}
.instructor-box::after{
	clear: both;
	content: "";
	display: block;
}
.instructor-img{
	float: left;
	width: 40%;
}
.instructor-text{
	float: left;
	width: 60%;
	padding: 16px;
}
/****************
 PC lesson 画角
********************/
.lesson-article{
	margin: 0 auto;
	max-width: 960px;
	width: 100%;
	border: 2px solid #CCCCCC;
	background-color: #ffffff;
	padding: 32px;
	margin-bottom: 40px;
}
.lesson-box::after{
	clear: both;
	content: "";
	display: block;
}
.lesson-left{
	float: left;
	width: 50%;
	padding: 16px;
	padding-left: 0px;
}
.lesson-right{
	float: right;
	width: 50%;
	padding: 16px;
}
/****************
 予約フォーム　画角
********************/
.reservation-box::after{
		content: "";
		clear: both;
		display: block;
	}
	.reservation-text{
		float: right;
		width: 50%;
		padding-top: 24px;
	}
	.reservation-img{
		float: left;
		width: 50%;
	}
/****************
 PC koe 画角
********************/
#koe .cycle{
	background-color: #DDF5FC;
	max-width: 120px;
	max-height: 120px;
	border-radius: 60px;
	-webkit-border-radius:60px;
	-moz-border-radius:60px;
	color: #707070;
	padding: 16px;
	margin-right: 12px;
	float: left;
}
#koe .cycle-pink{
	background-color: #FFE8E8;
	max-width: 120px;
	max-height: 120px;
	border-radius: 60px;
	-webkit-border-radius:60px;
	-moz-border-radius:60px;
	color: #707070;
	padding: 16px;
	margin-right: 12px;
	float: left;
}
#koe .cycle-green{
	background-color: #DFFFCE;
	max-width: 120px;
	max-height: 120px;
	border-radius: 60px;
	-webkit-border-radius:60px;
	-moz-border-radius:60px;
	color: #707070;
	padding: 16px;
	margin-right: 12px;
	float: left;
}
.cycle p{
	display: table-cell;
	vertical-align: middle;
	text-align: center;
}
#koe .comment-box{
	border: 2px solid #707070;
	border-radius: 6px;
	-webkit-border-radius:6px;
	-moz-border-radius:6px;
	padding: 12px;
	background-color: #ffffff;
	float: left;
	width: 70%;
	margin-top: 12px;
}

/****************
 PC taiken 画角
********************/
ol li:first-child{
	text-indent: 4em;
	text-align: center;
}
/****************
 PC footer 画角
********************/
.nav-footer{
	padding-top: 24px;
}
.nav-footer ul li{
	list-style-type: none;
	float: left;
	width: 20%;
	padding-left: 12px;
}
.nav-footer ul li a{
	color: #707070;
}
/**************
	footer
****************/
.footer-left{
	float: left;
	width: 30%;
}
.footer-middle{
	float: left;
	width: 30%;
	padding: 16px;
}
.footer-right{
	float: left;
	width: 30%;
	padding: 16px;
}
.footer-box::after{
	display: block;
	content: "";
	clear: both;
}
/****************
 ロボットメッセージ
********************/
.robot-message{
	float: left;
	width: 33.3333%;
	padding: 16px;
}
	.intro-img{
	float: left;
	width: 40%;
	}
	.intro-text{
	float: left;
	width: 60%;
	padding: 16px;
	}
/*	新しい項目表*/
	.prog_schedule table{
	table-layout:fixed;
	width: 100%;
    }
	.prog_schedule table::after{
		display: block;
		content: "";
		clear: both;
	}
	.prog_schedule tr{
		width: 16.6666666%;
		float: left;
		border-bottom: none;
	}
	.prog_schedule tr th{
		width: 100%;
		display: block;
		border-bottom: 1px dashed #D6D5D5;
	}
    .prog_schedule tr td{
		width: 100%;
		display: block;
		padding: 24px;
    }
	.last-child th,
	.last-child td{
		border-right: none;
	}
	
/*	プログラミングブログエリア*/
	.blog-contents{
		display: block;
		content: "";
		clear: both;
	}
	.blog-box{
		float: left;
		width: 25%;
		display: block;
		margin: 0 auto;
	}
	
	.blog-img{
		
	}
	.blog-text{
		
	}
}
/*******************
お問い合せフォーム	
********************/
.contact-form{
	max-width: 960px;
	margin: 0 auto;
	padding: 16px;
	padding-bottom: 80px;
	}
.contact-form h2{
	color: #014E7E;
	font-size: 24px;
	font-weight: 600;
	text-align: center;
}
dd select{
	border: 1px solid #E6E6E6;
}
	
	dt{
		padding: 8px;
		margin-right: 8px;
	}
	dt span{
		font-size: 14px;
		color: #ffffff;
		background-color: #F26964;
		padding: 4px;
		margin-left: 16px;
		display: inline-block;
	}
	dd input{
		background-color: #ffffff;
		padding: 8px;
		width: 100%;
		max-width: 600px;
		border: 1px solid #E6E6E6;
	}
	dd input:focus {
    border:solid 1px #40aefb;
	}
	dd textarea{
		background: #ffffff;
		padding: 8px;
		width: 100%;
		max-width: 600px;
		border: 1px solid #E6E6E6;
	}
	dd textarea:focus {
    border:solid 1px #40aefb;
	}
.sousin{
	font-size: 18px;
	background-color:#70B3FB;
	color: #ffffff;
	padding: 12px;
	text-align: center;
	width: 100%;
	max-width: 240px;
	margin: 0 auto;
	display: block;
	border: 2px solid #70B3FB;
	box-sizing: border-box;
}
.sousin:hover{
	border: 2px solid #70B3FB;
	background-color: #ffffff;
	color: #70B3FB;
}
select{
	background-color: #ffffff;
	padding: 8px;
	
}
.clearfix{
	padding-bottom: 8px;
}



@media screen and (min-width:769px){
/**************
	
****************/
	dt{
		width: 25%;
		float: left;
	}
	dd{
		width: 70%;
		float: right;
	}
}