	@charset "utf-8";

/* common
****************************************************/
*{ margin:0; padding:0; word-break:break-all; word-wrap:break-word; box-sizing:border-box; }
body{ font-size:19px; line-height:180%; color:#333; font-family: "Jun 201", "じゅん 201", sans-serif; }
img{ border:none; font-size:0; vertical-align:top; }
ul{ list-style-type:none; }
a{ text-decoration:none; color:#333; transition:all 0.3s ease; }
a:hover{ text-decoration:none; }
h1{ font-size:12px; font-weight:normal; }
address{ font-style:normal; }

/* margin
****************************************************/
.mt10, .mt10ul li{ margin-top:10px; }
.mt20, .mt20ul li{ margin-top:20px; }
.mt30, .mt30ul li{ margin-top:30px; }
.mt40{ margin-top:40px; }
.mt50{ margin-top:50px; }
.mt60{ margin-top:60px; }
.mt75{ margin-top:75px; }
.mt100{ margin-top:100px; }
.mb20{ margin-bottom: 20px; }
.mt1em{ margin-top: 1em; }
.mt2em{ margin-top: 2em; }

/* text-align
****************************************************/
.tar{ text-align:right; }
.tac{ text-align:center; }
.tal{ text-align:left; }
.ti1{ text-indent:1em; }
.ti2, .ti2ul li{ text-indent:-1em; padding-left:1em; }
.ti3, .ti3ul li{ text-indent:-1.5em; padding-left:1.5em; }

/* color
****************************************************/
.col_red{ color:red; }
.col_white{ color:white; }
.col_bleck{ color:black; }
.col1, .col1ul li:before, .col1icon:before{ color:#F28222; }
.col2, .col2ul li:before, .col2icon:before{ color:#FDF6D4; }
.col3, .col3ul li:before, .col3icon:before{ color:#455A3C; }
.col4, .col4ul li:before, .col4icon:before{ color:#FFEEA2; }

/* background
****************************************************/
/* color */
.bg1col{ background-color: #FDF6D4; }
.bg2col{ background-color: #fff; }

/* icon
****************************************************/
.icon1:before, .icon1ul li:before, .icon1dl dt:before{ content:"▶"; margin-right: .5em; }
.icon2:before, .icon2ul li:before, .icon2dl dt:before{ content:"●"; margin-right: .5em; }
.icon3:before, .icon3ul li:before, .icon3dl dt:before{ content:"■"; margin-right: .5em; }
.icon4:before, .icon4ul li:before, .icon4dl dt:before{ content:"◆"; margin-right: .5em; }
.icon5:before, .icon5ul li:before, .icon5dl dt:before{ content:"▲"; margin-right: .5em; }
.icon6:before, .icon6ul li:before, .icon6dl dt:before{ content:"※"; margin-right: .5em; }

/* font-size
****************************************************/
.fs_s{ font-size:small; }
.fs12{ font-size:12px; }
.fs14{ font-size:14px; }
.fs15{ font-size:15px; }
.fs16{ font-size:16px; }
.fs20{ font-size:20px; }
.fs24{ font-size:24px; }

/* border-radius
****************************************************/
.br05, .br05ul li{ border-radius: 5px; -webkit-border-radius: 5px; -moz-border-radius: 5px; }
.br10, .br10ul li{ border-radius:10px; -webkit-border-radius:10px; -moz-border-radius:10px; }
.br15, .br15ul li{ border-radius:15px; -webkit-border-radius:15px; -moz-border-radius:15px; }
.br25, .br25ul li{ border-radius:25px; -webkit-border-radius:25px; -moz-border-radius:25px; }
.br50{ border-radius:50px; -webkit-border-radius:50px; -moz-border-radius:50px; }

/* list-style
****************************************************/
.lst1{ margin-left:1.5em; }
.ls_disc{ list-style:disc; margin-left:1em; }

/* column
****************************************************/
.clm1, .clm2{ letter-spacing: -0.4em; }
.clm1 li, .clm2 .row{ display: inline-block; letter-spacing: normal; vertical-align: top; }
.ofh1, .ofh2{ overflow: hidden; }
.ofh1 .fl, .ofh2 li{ float: left; }
.ofh1 .fr{ float: right; }

/* border
****************************************************/
.bor1{ border-top: 2px dotted #F28222; }
.bor2{ border-bottom: 2px dotted #F28222; }

/* band
****************************************************/
.band1{ background:linear-gradient(transparent 60%, #FDF6D4 60%); padding: 0 .5em; text-align: center; }

/* headline
****************************************************/
h1, h2, h3, h4{ font-family: "Jun 501", "じゅん 501"; }
.hl1{ text-align: center; }
.hl1 img{ margin-bottom: 10px; }
.hl2{ line-height: 200%; }
.hl2 span{ color: #F28222; border-bottom: 2px dotted #455A3C; padding-bottom: 5px; }
.hl3{ border-bottom: 2px dotted #F28222; padding-bottom: .5em; }
.hl4{ line-height: 200%; }
.hl4 span{ border-bottom: 2px dotted #F28222; padding-bottom: 5px; }

/* page title
****************************************************/
.pp1ttl{ color: #455A3C; }

/* content
****************************************************/
/* notice */
#notice{ height:200px; overflow:auto; }
#notice::-webkit-scrollbar{
	all:unset;
	width:6px;
	background:transparent;
}
#notice::-webkit-scrollbar-track {
	all:unset;
	-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.2);
	background: transparent;
}
#notice::-webkit-scrollbar-thumb {
	all:unset;
	background:#455A3C;
	-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.2);
	border-radius: 8px;
}
#notice::-webkit-scrollbar-thumb:hover {
	-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5);
	background: transparent;
}
#notice li{ padding: 15px 0; border-bottom: 1px dotted #707070; margin-right: 30px; }
.notice_list li{ padding-bottom: 1em; margin-bottom: 1.5em; border-bottom: 1px dotted #707070; }
/* index */
#index .sec1 .ofh1{ border-bottom: 2px solid #455A3C; padding-bottom: 10px; }
#index .sec1 .lnk2btn{ width: 110px; }
#index .sec1 #notice{ margin-top: 20px; }
#index .sec2 h3{ line-height: 200%; }
#index .sec2 h3 span{ color: #F28222; border-bottom: 2px dotted #455A3C; padding-bottom: 5px; }
#index .sec3 [class*="box"]{ padding: 0 30px; position:relative; margin-top: 100px; }
#index .sec3 .box1, #index .sec3 .box3{ background-color: #F28222; }
#index .sec3 .box2, #index .sec3 .box4{ background-color: #455A3C; }
#index .sec3 .icon{	position:absolute; top: -43px; left: 50%; transform: translateX(-50%); }
#index .sec3 h3{ color: #FFEEA2; text-align: center; margin: 55px 0 20px; }
#index .sec3 .bg2col{ padding: 15px 20px; }
#index .sec4 h3{ line-height: 200%; }
#index .sec4 h3 span{ border-bottom: 2px dotted #F28222; padding-bottom: 5px; }
/* classroom */
#classroom .sec2 .bor1{ padding-top: 1em; }
/* dekirukoto */
#dekirukoto .sec2 .bor2{ padding-bottom: 50px; }

/* about
****************************************************/
#about dt:before{ content:"▶ "; color:#F5951D; }
#about dd{ margin:15px 15px 50px; }

/* sitemap
****************************************************/
#sitemap .parent li{ margin-top: 30px; }
#sitemap .parent li:first-child{ margin-top: 0; }
#sitemap .child li{ margin-top: 15px; }
#sitemap .parent li:before{ content:"▶"; color:#F5951D; margin-right:.5em; }
#sitemap .child li:before{ content:"";  margin-right:0; }
#sitemap .child a{ text-decoration:underline; }
#sitemap .child a:hover{ text-decoration:none; }

/* footer
****************************************************/
footer .sec2{ background-color: #455A3C; }
footer .sec2 *{ color: #fff; }

/* 404
****************************************************/
.error404{ text-align:center; color:red; padding:100px 0; }

/* breadcrumbs
****************************************************/
.breadcrumbs ol{ list-style: none; overflow: hidden; font-size: 12px; }
.breadcrumbs li{ float: left; }
.breadcrumbs li::after{ content: '>'; display: inline-block; padding: 0 10px; }
.breadcrumbs li:last-child::after{ display: none; }

/* pagetop
****************************************************/
.pagetop {
	display:none;
	position:fixed;
	bottom:0px;
	right:10px;
	line-height:0;
	z-index: 9999;
}
.pagetop a{
	display:block;
	padding:5px;
	background-color:#455A3C;
	text-align:center;
	color:#ffffff;
	text-decoration:none;
	margin-bottom:5px;
	border-radius:5px;
	-webkit-border-radius:5px;
	-moz-border-radius:5px;
	opacity:.5;
}
.pagetop a:hover, .pagetop a:hover img{ opacity:1.0; }

/* link
****************************************************/
.lnk1:hover{ opacity: .8; }
.lnk1btn{ display: inline-block; border: 2px solid #F28222; line-height: 20px; padding: 10px 0; border-radius:25px; text-align: center; }
.lnk1btn:hover{ background-color: #F28222; color: #fff; }
.lnk2btn{ display: inline-block; border: 2px solid #455A3C; line-height: 20px; padding: 5px 0; border-radius:25px; text-align: center; }
.lnk2btn:hover{ background-color: #455A3C; color: #fff; }
.lnk3btn1, .lnk3btn2{ display: inline-block; border: 2px solid #F28222; line-height: 20px; padding: .75em 1em; border-radius:25px; text-align: left; background-color: #fff; }
.lnk3btn1:before, .lnk3btn2:before{ content: "▶"; margin-right: .5em; color: #F28222; }
.lnk3btn1:hover, .lnk3btn2:hover{ background-color: #F28222; color: #fff; }
.lnk3btn1:hover:before, .lnk3btn2:hover:before{ color: #fff; }
.lnk3btn2:hover{ border-color: #fff }
.lnk4btn1, .lnk4btn2{ display: inline-block; border: 2px solid #455A3C; line-height: 20px; padding: .75em 1em; border-radius:25px; text-align: left; background-color: #fff; }
.lnk4btn1:before, .lnk4btn2:before{ content: "▶"; margin-right: .5em; color: #455A3C; }
.lnk4btn1:hover, .lnk4btn2:hover{ background-color: #455A3C; color: #fff; }
.lnk4btn1:hover:before, .lnk4btn2:hover:before{ color: #fff; }
.lnk4btn2:hover{ border-color: #fff }




/**************************************************

	600px over

**************************************************/
@media only screen and (min-width:600px), print{

	/* common
	****************************************************/
	.wrap{ margin-left:auto; margin-right:auto; width:1000px; }
	.sp{ display:none!important; }

	/* margin
	****************************************************/
	.ml2em{ margin-left: 2em; }

	/* overflow:hidden;
	****************************************************/
	.ofh1pc, .ofh2pc{ overflow:hidden; }
	.ofh1pc .fl, .ofh2pc li{ float:left; }
	.ofh1pc .fr{ float:right; }

	/* column
	****************************************************/
	.clm1pc{ letter-spacing:-0.4em; }
	.clm1pc li{ display:inline-block; letter-spacing:normal; vertical-align:top; }

	/* width
	****************************************************/
	.w430{ width: 430px; }
	.w480{ width: 480px; }
	.w650{ width: 650px; }
	.w1t{ width: 230px; }

	/* main
	****************************************************/
	.mv{ background:linear-gradient(transparent 50%, #FDF6D4 50%); text-align: center; margin-bottom: 20px; }

	/* header
	****************************************************/
	header .ofh1pc{ margin-top: 10px; padding-bottom: 25px; }
	header .fr{ margin-top: 30px; }
	header .band1{margin: 30px 0 0 30px; }

	/* nav
	****************************************************/
	.gNav{ font-size:16px; line-height: 20px; width: 100%; }
	.gNav ul{ overflow:hidden; text-align: center; }
	.gNav li{ float:left; width: 180px; margin-right: 25px; }
	.gNav li:last-child{ margin-right: 0; }
	.gNav ul a{ display:block; color: #fff; padding: 13px 0; border-radius: 5px; background-color: #F28222; border: 2px solid #F28222; }
	.gNav ul a:hover, .gNav ul .stay{ background-color: #fff; color: #F28222; }
	.fixed{ position:fixed; top: 0; left:0px; z-index:9999; background-color: #fff; padding: 15px 0; }
	.space{ margin-top: 70px; }
	.none{ display:none; }

	/* title
	****************************************************/
	.hl3{ font-size: 26px; }
	.pp1ttl{ background: url("images/title_back@2x.png") no-repeat center center; background-size: 1600px 180px; height: 180px; margin-top: 20px; padding-top: 100px; text-align: center; }

	/* content
	****************************************************/
	/* common */
	.spa1{ padding: 60px 0 100px; }
	.spa2{ padding: 100px 0; }
	.spa3{ padding: 60px 0; }
	/* index */
	#index{ padding-bottom: 100px; }
	#index .sec2{ padding: 80px 50px 50px; background: url("images/index2bg.png") no-repeat top center #FDF6D4; }
	#index .sec2 .ofh1pc{ margin-top: 50px; }
	#index .sec3 [class*="box"]{ width: 475px; height: 700px; }
	#index .sec3 .bg2col{ height: 490px; }
	#index .sec3 h3{ font-size: 19px; }
	#index .sec4{ padding: 80px 50px 50px; background: url("images/index4bg.png") no-repeat top center #F3F9F3; }
	#index .sec4 .fr{ width: 430px; }
	/* classroom */
	#classroom .sec2 .bg1col{ padding: 50px; }
	/* dekirukoto */
	#dekirukoto .sec1 li{ margin-right: 50px; margin-bottom: 30px; }
	#dekirukoto .sec1 li:nth-child(3n){ margin-right: 0; }
	#dekirukoto .bg1col{ padding: 50px; }
	#dekirukoto .sec3 .bg1col{ height: 450px; }

	/* sitemap
	****************************************************/
	#sitemap .child{ margin-left:1.5em; overflow:hidden; }
	#sitemap .child li{ float:left; width:33%; }

	/* footer
	****************************************************/
	footer .sec1{ padding: 45px 0; }
	footer .sec1 .fl:nth-child(1){ margin-top: 25px; }
	footer .sec1 .fl:nth-child(2){ width: 300px; margin-left: 50px; }
	footer .sec1 .lnk1btn{ width: 50%; }
	footer .sec2{ font-size: 16px; text-align: center; padding: .5em 0; }
	footer .sec2 li{ margin-right: 1em; margin-left: 1em; }
	address{ margin-top: .5em ; }

	/* breadcrumbs
	****************************************************/
	.breadcrumbs ol{ margin: 5px 0 0 2em; }

	/* gmap
	****************************************************/
	.gmap{
		width:100%;
		position: relative;
		padding-bottom: 300px;
		height: 0;
		overflow: hidden;
	}
	.gmap iframe, .gmap object, .gmap embed{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 300px;
	}
}





/**************************************************

	600px under

**************************************************/
@media only screen and (max-width:599px){

	/* common
	****************************************************/
	body{ font-size:16px; }
	.wrap{ padding: 15px; line-height:1.5em; }
	img{ max-width:100%; height:auto; }
	.pc{ display:none!important; }
	.sp_tac{ text-align:center; }

	/* overflow:hidden;
	****************************************************/
	.oh_clm2sp, .oh_clm3sp, .oh_sp{ overflow:hidden; }
	.oh_clm2sp li{ width: 48%; }
	.oh_clm3sp li{ width: 32%; margin-right: 2% !important; margin-top: 2% !important; }
	.oh_clm3sp li:nth-child(3n){ margin-right: 0 !important; }
	.oh_sp .fl, .oh_clm2sp li:nth-child(odd), .oh_clm3sp li{ float: left; }
	.oh_sp .fr, .oh_clm2sp li:nth-child(even), .oh_clm3sp li:nth-child(3n){ float: right; }

	/* margin
	****************************************************/
	.mt40sp{ margin-top: 40px; }


	/* header
	****************************************************/
	header .wrap{ padding: 0; }
	.mv{ padding: 0 2%; }

	/* headline
	****************************************************/
	.hl1{ text-align: center; font-size: 18px; padding: 1em 0; }

	/* nav
	****************************************************/
	html{ overflow-x: hidden; }
	#headerSp{ width:100%; border-collapse:collapse; background-color: #fff; position:fixed; top:0px; left:0px; z-index:999; }
	#headerSp h1{ width: 70%; margin: 0 2% 2% 2%; font-size: 0.6rem; line-height: 1.5; }
	#headerSp img{ width: 70%; margin: 0 2% 2% 2%; }
	/* nav */
	.gNav{
		background:rgba(255, 255, 255, 1.0);
		position: fixed;
		height: 100%;
		width: 100%;
		z-index: 998;
		padding: 20px 7.5% 100px;
		transition: all 0.6s;
		right: -100%;
		top: 0;
		overflow-y: scroll;
		-webkit-overflow-scrolling: touch;
	}
	.gNav.active{ right: 0%; }
	.gNav ul{ margin-top: 70px; }
	.gNav li{ margin-top: 10px; }
	.gNav li a{ display: block; padding: .75em 0; color: #fff; background-color: #F28222; text-align: center; border-radius:10px; }

	/*=============================
	.btn-trigger
	=============================*/
	.btn-trigger {
		position: fixed;
		top: 10px;
		right: 10px;
		z-index: 9999;
		background: #455A3C;
		cursor: pointer;
		width: 50px;
		height:50px;
		border-radius: 5px;
		border: 1px solid #455A3C;
	}
	.btn-trigger span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
	background: #fff;
  	width: 45%;
	}
	.btn-trigger span:nth-of-type(1){ top:15px; }
	.btn-trigger span:nth-of-type(2){ top:23px; }
	.btn-trigger span:nth-of-type(3){ top:31px; }

	/*=============================
	#btn01
	=============================*/
	#btn01.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
	}
	#btn01.active span:nth-of-type(2) { opacity: 0; }
	#btn01.active span:nth-of-type(3) {
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
	}

	/* title
	****************************************************/
	.hl3{ font-size: 18px; }
	.pp1ttl{ background: url(images/sp_title_back@2x.png) no-repeat top center; background-size: cover; padding: 15% 0 10%; text-align: center; }

	/* content
	****************************************************/
	/* common */
	.spa1{ padding-bottom: 100px; }
	.spa2, .spa3{ padding-top: 60px; padding-bottom: 60px; }
	/* index */
	#index{ padding-bottom: 50px; }
	#index .sec1 .tac{ margin-top: 20px; }
	#index .sec2{ padding: 50px 15px 50px; margin-left: 15px; margin-right: 15px; background-color: #FDF6D4; }
	#index .sec2 .ofh1pc{ background: url("images/sp_top_illust01@2x.png") no-repeat bottom center; background-size:contain; padding-bottom: 75%; }
	#index .sec2 .ofh1pc .fl, #index .sec2 .ofh1pc .fr{ margin-top: 30px; }
	#index .sec3 [class*="box"]{ padding: 20px 15px 20px; }
	#index .sec3 .wrap{ margin-top: -50px; }
	#index .sec4{ padding: 50px 15px 50px; margin-left: 15px; margin-right: 15px; background-color: #F3F9F3; }
	#classroom .sec2 .bg1col{ padding: 40px 15px; }
	#dekirukoto .sec1 li{ text-align: center; margin-bottom: 20px; }
	#dekirukoto .bg1col{ padding: 40px 15px; }
	#dekirukoto h3 img{ vertical-align: -8px; }

	/* footer
	****************************************************/
	footer .sec1 .fl:nth-child(2){ margin-top: 30px; }
	footer .sec1 .fr{ margin-top: 30px; text-align: center; }
	footer .sec1 .lnk1btn{ width: 50%; }
	footer .sec2{ margin-top: 30px; }
	footer .sec2 ul{ overflow: hidden; }
	footer .sec2 li{ width: 50%; float: left; }
	address{ background-color: #fff; color: #333!important; font-size: 10px; padding: 1em; text-align: center; }

	/* breadcrumbs
	****************************************************/
	.breadcrumbs ol{ font-size: 10px; }

	/* gmap
	****************************************************/
	.gmap{
		position: relative;
		padding-bottom: 250px;
		padding-top:30px;
		height: 0;
		overflow: hidden;
	}
	.gmap iframe, .gmap object, .gmap embed{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 250px;
	}

	/* footerSp
	****************************************************/
	#footerSp{ width:100%; border-collapse:collapse; position:fixed; z-index:990; bottom:0px; left:0px; }
	#footerSp tr td:nth-of-type(1){ width: 50%; background-color:#F28222; border-right: 1px solid #fff; }
	#footerSp tr td:nth-of-type(2){ width: 50%; background-color:#F28222; border-left: 1px solid #fff; }
	#footerSp a{ display: block; text-align:center; padding: 10px 30px; color: #fff; }
}