@chaeset "utf-8";
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

/* ここから */
body {
  margin: 0;
  padding: 0;
  background-color: #ffffff;
  color: #333333;
  font-size: 20px;
  line-height:1.6;
	font-family: 'Noto Sans JP', sans-serif;
}

p,h1,h2,h3,h4,h5,h6 {
  margin: 0;
}
ul li {
	list-style:none;
}

img {
  vertical-align: bottom;
}

a:hover {
  opacity: 0.8;
}
a { text-decoration:none; }

/* レイアウト・アセット */
.container { width:600px; margin:0 auto; }
.clear { clear:both; }
.sp {display: none;}
section { padding:50px 0; }
.clearfix:after { content: "";display: block;clear: both; }
.rd { color:#E61064;font-weight:800; }
.b{font-weight:900;}
h2{background-color:#009EE2;font-weight:bold;font-size:200%;text-align:center;color:#ffffff;padding: 20px 10px;}
.lg{font-size:2rem;font-weight:800;}
.sm{font-size:0.8rem;}
.tc{color:#E75D5D;font-weight:600;}
.text-center{text-align:center;}
.text-left{text-align:left;}
.my-20{margin-top:20px;margin-bottom:20px;}
.mb-10{margin-bottom:10px;}
.mb-20{margin-bottom:20px;}
.mb-40{margin-bottom:40px;}
.mt-20{margin-top:20px;}
.w-100{width:100%;}

/* header */
header {margin: 0 auto; padding:15px 0; }
header img {float: left;width:30%;}
header .header_link_btn {
  width: 32.47%;
  float: right;
  font-size: 16px;
  padding: 1% 0;
  background-color: #eeeeee;
  display: block;
  border-radius: 5px;
  text-align: center;
  color:#333333;
}

/* cta */
.cta{background-color:#fff9bb;text-align:center;padding:20px 0;}
.cta h2{background-color:initial;color:#333;padding:0;font-size: 1.3rem;font-weight: 900;}
.cta a{display:block;color:#fff;font-weight:600;width:600px;margin:0 auto 10px auto;border-radius:10px;font-size: 1.5rem;padding:20px;position: relative;}
.cta a:after{content:'▶';float:right;right: 10px;position: relative;top:7px;}
.cta a:nth-of-type(1){background-color:#f4374d;border-bottom:2px solid #c94151;padding:30px 20px;}

/* top */

/* manga */
.manga{text-align:center;}

/* slider */
#slider{padding:0;}

/* request */
.request {text-align: center;padding: 50px 0;}
.request .pc {margin-bottom:40px;}
.request .sp {margin-bottom:20px;}

/* intro */
#intro{padding: 0;}

/* service */
#service{padding: 0;}

/* payment */
.payment .container{border-radius:10px;border:5px solid #E8009F;}
.payment .container >div{padding:20px 10px;}
.payment h2{border-radius:0px;}
.payment p{}
/*.payment p:nth-of-type(1){background:#E8009F;font-size:1.5rem;font-weight:600;color:#fff;display: inline-block;padding: 5px 10px;margin-bottom: -10px;}*/
.payment p:nth-of-type(1){font-size:5rem;color:#E75D5D;font-weight:900;}

/* feature */
#feature{padding-top:0px;}
#feature h2{margin-bottom:40px;}
#feature .container>div{margin-bottom:40px;}
#feature .container>div:last-child{margin-bottom:0px;}
#feature p{margin-top:10px;font-size:1rem;}
#feature h3 {font-size: 2rem;font-weight: 900;margin:10px 0;color:#E75D5D;}

/* slider */
@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}

/*
IE11対策
----------------------------*/
_:-ms-lang(x)::-ms-backdrop,
.d-demo {
  display: -ms-grid;
  overflow: hidden;
}
/*----------------------------*/

.d-demo__wrap {
  display: flex;
  overflow: hidden;
}

.d-demo__list {
  display: flex;
  list-style: none;
}

.d-demo__list--left{
animation :infinity-scroll-left 95s infinite linear 0.5s both;
}

.d-demo__item {
  width: calc(100vw / 10);
}
.d-demo__item > img{
   width: 100%;
}


/* place */
#place {
	padding:0 0 50px 0;
}
#place h2 {
	font-size: 200%;
    text-align: center;
    margin-bottom: 50px;
    font-weight: 900;
}
#place h3{
	font-size:250%;
	font-weight:900;
    color: #00407d;
	cursor: pointer;
	line-height:1;	
    display: inline-block;
}
#place .place_school_name {
	cursor: pointer;
}
#place .place_school_name span {
	font-size: 14px;
    color: #333333;
    display: inline-block;
    margin-bottom: 10px;
}
#place .place_school_name::after {
	content: "▼";
	float:right;
	color:#cccccc;
	display:inline-block;
	font-size:150%;
    top: -15px;
	position:relative;
}
#place .place_school {
	border:1px solid #cccccc;
	padding:20px;
	font-size:16px;
	margin-bottom:20px;
}
#place .place_school_detail {
	display:none;
    margin-top: 20px;
    border-top: 1px dashed #cccccc;
    padding-top: 30px;
}
#SchoolInfo_icon {
    font-size: 50%;
    margin: 10px 0;
}
#place #SchoolInfo_icon .SchoolInfo_icon_topic {
    background-color: #666666;
    color: #ffffff;
    padding: 5px;
    border-radius: 5px;
}
#place #SchoolInfo_icon span {
    margin-right: 5px;
}
#place .col4 {
	width:31%;
	display:inline-block;
	margin-left: 0px;
	vertical-align:top;
}
#place .col8 {
	width:66%;
	display:inline-block;
    margin-left: 2%;
	vertical-align:top;
}
#place .place_school h4 {
    margin: 10px 0;
    color: #00407d;
    background-color: #f5f5f5;
    padding: 10px;
}
#place .btn1 {
	background-color: #ed4545;
    border: 1px solid #920E0E;
    box-shadow: 0 4px #920E0E;
    display: block;
    color: #ffffff;
    padding: 20px 10px;
    font-size: 150%;
	font-weight:bold;
    border-radius: 5px;
    margin: 20px auto 0 auto;
    color: #ffffff !important;
    text-decoration: none !important;
	text-align:center;
}

/* flow */
.flow { border-bottom:1px solid #f5f5f5;padding:0; }
.flow h2 {
	font-size:200%;
	text-align:center;
	margin:0 0 50px 0;
	font-weight:900;
}
.flow_cont {
    background:#ffe9e9;
    border-radius: 10px;
    margin-bottom: 50px;
    padding: 20px;
    display: flex;
    justify-content: space-between;
    position: relative;
}
.flow_cont:last-child {
	margin-bottom:0px;
}
.flow_cont:after {
    content: url(./images/flow_arrow.png);
    position: absolute;
    bottom: -30px;
    width: 74px;
    left: 0;
    right: 0;
    margin: auto;
}
.flowBox .flow_cont:last-child:after { content: none; }
.flow_cont .imgArea { width:25%; }
.flow_cont .txtArwa { width: 70%; }
p.flownum {
    background: #E8009F;
    color: #fff;
    display: inline-block;
    padding: 0 10px;
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 0.1rem;
}
.flow_cont .txtArwa h3 {
    font-size: 30px;
    font-weight: bold;
    margin-bottom: 10px;
    margin-top: 16px;
}
.flow_cont .txtArwa p.txt {
    padding: 0;
    line-height: 2.2;
	font-size:16px;
}

/* qanda */
#qanda {
	background-color:#27acd9;
	padding:50px 0;
}
#qanda h2 {
	font-size:200%;
	text-align:center;
	margin:0 0 50px 0;
	padding-top: 0px;
	color:#ffffff;
	font-weight:900;
	background-color: initial;
}
#qanda .qanda_box {
	background-color:#ffffff;
	border-radius:10px;
	padding:15px;
	line-height:2;
	margin-bottom:30px;
}
#qanda .qanda_box .qanda_q {
	font-size: 120%;
    font-weight: 600;
	cursor: pointer;
}
#qanda .qanda_box .qanda_q span{
	font-weight:900;
	margin-right:10px;
	color:#1f66b3;
}
#qanda .qanda_box .qanda_q::after{
	content:"+";
	float:right;
}
#qanda .qanda_box .qanda_a span{
	font-weight:900;
	margin-right:10px;
	color:#f73d5b;
}

/* order */
#order {padding-top: 0;padding-bottom:50px;background-color:#f5f5f5;}
#order h2 {text-align: center;background-image:url('./images/order_background.png');background-repeat: repeat;padding:20px 0;background-position:center;background-size: cover;}
#order > div {width:100%;background-color: #416eb2;padding-bottom:50px;padding-top:100px;}


/* fixed_apply */
#fixed_apply{position:fixed;bottom:0px;width:100%;background-color:#ffffff;text-align:center;padding:10px 0;border-top:1px solid #ccc;}
#fixed_apply a {background-color:#f4374d;color:#ffffff;width:300px;margin:0 auto;display:block;padding:10px;font-weight:bold;font-size:1rem;border-radius:4px;}

/* footer */
footer {background-color:#00A0E9;color: #ffffff;font-size: 50%;text-align: center;padding: 10px;}
footer a {color:#FFFFFF;text-decoration:underline;}

@media screen and (max-width:1024px) {
  /* 画面サイズが 767px以下の場合に適用 */
  
	body { font-size:16px; }
	.container { width:100% !important; }
	section { padding:30px 0; }
	.pc { display: none; }
	.sp { display: block; width: 100%; }
	h2 img { width:300px;margin:0 auto; }
	h2{font-size:2rem;}
	.lg{font-size:1.5rem;}
  
	article { width:100%; overflow:hidden;  }
	header img { width:200px; margin-left:10px; }
    header a { padding: 10px 15px; width: 50px; margin-right: 10px; }
	header a span { display:none; }
	
	/*top */
	#top{padding:0;background-image:none;width:100vw;}
	
	/* manga */
	.manga img{width:100%;}
	
	/* cta */
	.cta a{width:85vw;font-size:1.2rem;}
	.cta a .lg{font-size:1.5rem;}
	.cta a:nth-of-type(1){text-align:center;}
	.cta a:after{right:0px;}
	.cta a img{left:-10px;width:28vw;}
	
	
	/* payment */
	.payment {width:90%;margin:0 auto;}

	/* feature */
	#timetable h3{width:90%;}
	#feature h2{font-size:2rem;}
	#feature > div{display:block;padding:0 0px 30px 0;}
	#feature > div >img{width:100%;}
	#feature > div >div{padding: 10px 20px;width:90%;}
	#feature h3{font-size:1.5rem;}
	
	/* place */
	#place h2 {
		font-size:150%;
		margin-bottom:20px;
	}
	#place h3 {
		font-size:24px;
	}
	#place .place_school {
		padding: 10px 10px;
		width:90%;
		margin:0 auto 10px auto;
	}
	#place .place_school > div {
	}
	#place .place_school_detail {
		padding-top:10px;
		margin-top:10px;
	}
	#place .col4 {
		width:100%;
		display:block;
	}
	#place .col8 {
		width:100%;
		display:block;
		margin-top:20px;
		margin-left:0px;
	}
	
	/* flow */
	.flow_cont {
		border-radius: 10px;
		padding: 20px;
		display: flex;
		justify-content: space-between;
		position: relative;
		flex-wrap: wrap;
		width: 80%;
		margin: 0 auto 50px auto;
		font-size: 90%;
	}
	.flow_cont h3{ font-size: 150% !important; }
	.imgArea {
		text-align: center;
		width: 100% !important;
		margin: 10px 0 30px;
	}
	.flow_cont .txtArwa {
		width: 100%;
		text-align: center;
	}
	
	/* qanda */
	#qanda .qanda_box {
		width:85%;
		font-size:80%;
		margin:0 auto 10px auto;
	}
 

	/* order */
	#order h2 img {width:80%;}
  
	/* footer */
	footer {width:98%;padding:1%;}

}

@media screen and (max-width: 1024px) and (min-width:768px) {
	.cta a:nth-of-type(1){text-align:center;}
	.cta a img {left: 0px;width: 20vw;}
	#order h2 img{width:300px;}
}