@charset "UTF-8";

/* html5doctor.com Reset v1.6.1 (http://html5doctor.com/html-5-reset-stylesheet/) - http://cssreset.com */
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}
body{line-height:1}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}
nav ul{list-style:none}
blockquote,q{quotes:none}
blockquote:before,blockquote:after,q:before,q:after{content:none}
a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}
ins{background-color:#ff9;color:#000;text-decoration:none}
mark{background-color:#ff9;color:#000;font-style:italic;font-weight:bold}
del{text-decoration:line-through}
abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}
table{border-collapse:collapse;border-spacing:0}
ol,ul {list-style:none;}



.cf { zoom: 1; }
.cf:before,
.cf:after { content: ""; display: table; }
.cf:after { clear: both; }

/* --------------------------------------------------------
	common
-------------------------------------------------------- */
a:link,a:visited,a:hover,a:active {
  color:#4f84c3;
}
sup {
  font-size: 0.8em;
  position: relative;
  top: -5px;
  display: inline-block;
  padding-left: 0.15em;
  }

  time {
    font-size:1.4em;
    display: block;
    padding-top:1em;
  }
.sp{display: none;}
.pc{display: block;}

/* --------------------------------------------------------
	header
-------------------------------------------------------- */
nav#gnavi {
  position:fixed;
  top:0;
  left:0;
  -js-display: flex;
  display: flex;
  justify-content: center;
  align-items: center;
  width:100%;
  height:60px;
  background:rgba(0,0,0,0.7);
  z-index:99;
}
nav#gnavi > .inner {
  position:relative;
  -js-display: flex;
  display: flex;
  justify-content: flex-end;
  margin:0 auto;
  width:95%;
  height:100%;
}
nav#gnavi > .inner > a {
  -js-display: flex;
  display: flex;
  justify-content: center;
  align-items: center;
  padding:0 10px;
  height:100%;
  font-size:0.9rem;
  color:#fff;
  box-sizing:border-box;
  text-decoration:none;
}

header > nav#gnavi > .inner > .logo {
  display:block;
  position:absolute;
  top:10px;
  left:0;
  width:178px;
  height:40px;
  background: url(/img/parts.png) 0 -85px no-repeat;
  background-size: 500px 500px;
}
nav#gnavi > .inner > a:last-child:after {
  content:"";
  padding:0 0 0 0;
  border-right:none;
}
/*nav#gnavi > .inner > a:hover, nav#gnavi > .inner > a.current {
  position:relative;
  text-decoration:none;
  color:#3CB9CC;
}*/
nav#gnavi > .inner > a:hover:before, nav#gnavi > .inner > a.current:before {
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  border-top:3px solid #3CB9CC;
}
nav#gnavi > .inner > .logo:hover:before, nav#gnavi > .inner > .logo.current:before {
  border-top:none;
}
header#header-top {
  width:100vw;
  height:100vh;
  background:url(/img/bg-headertop.png) center top no-repeat;
  background-size:cover;
  opacity: 0;
  transform: translate(0,-100px);
  webkit-transform: translate(0,-100px);
  transition: 0.8s;
    margin-top:60px;
}

header#header-top .inner-headertop {
  position:relative;
  -js-display: flex;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  margin:0 auto;
  width:1200px;
  height:100%;
}
header#header-top .inner-headertop2 {
  position:relative;
  -js-display: flex;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin:0 auto;
 width:1200px;
 padding:1.5% 0 1% 0;
}

header#header-top .inner-headertop2 h1.logo {

  width:320px;
  height:102px;
  font-size:0;
  background:url(/img/parts.png) 0 0 no-repeat;
  background-size:600px 600px;
  text-indent:-9999px;
}
header#header-top .inner-headertop3 {
  display: block;
  margin:0 auto;
  max-width:1200px;
  padding:1.0% 0 1.5% 0;
}

header#header-top .inner-headertop4 {
  display: flex;
  margin:0 auto;
  max-width:1200px;
  justify-content: end;
}
header#header-top .inner-headertop3 h2.catchcopy {
  width:904px;
  height:102px;
  background:url(/img/img-catchcopy.png) 0 0 no-repeat;
  text-indent:-9999px;
}




header#header-top .top-information {
  margin-bottom:40px;
  padding:10px 20px;
  width:800px;
  height:280px;
  background:rgba(255,255,255,0.7);
  box-sizing:border-box;
  border-radius:4px;
  -ms-overflow-style:none;
  overflow-x:hidden;
}
header#header-top .top-information ul {
  width:100%;
}
header#header-top .top-information ul li {
  -js-display: flex;
  display: flex;
  align-items: center;
  margin-top:10px;
}
header#header-top .top-information ul li:first-child {
  margin-top:0;
}
header#header-top .top-information ul li > .date {
  min-width:80px;
  font-size:1.6rem;
}
header#header-top .top-information ul li > .date time {

  font-size: 1.0em;
  padding-top:0em;
}

header#header-top .top-information ul li > .category {
  margin:0 15px 0 15px;
  padding:5px 5px;
  min-width:100px;
  font-size:1.1rem;
  color:#fff;
  text-align:center;
  background:#2C96DE;
  border-radius:2px;
  box-sizing:border-box;
}
header#header-top .top-information ul li > .title {
  width:610px;
  font-size:1.6rem;
  line-height:1.4em;
}
header#header-top .top-information ul li > .title > a {
  color:#333;
}
header#header-top .top-information .bottom-newstop {
  margin-top:10px;
  padding-top:10px;
  width:100%;
  height:40px;
  font-size:1.4rem;
  text-align:right;
  border-top:1px solid #ccc;
  box-sizing:border-box;
}
header#header-top .top-information .bottom-newstop a {
  color:#2094E0;
}
header#header-top .facebook-top {
  margin-bottom:40px;
  padding:10px;
  width:400px;
  height:200px;
  background:rgba(255,255,255,0.8);
  box-sizing:border-box;
  border-radius:4px;
  text-align:center;
}


/* --------------------------------------------------------
	main
-------------------------------------------------------- */
#top > .wrap {
  margin:0 auto;
  width:100%;
  overflow-x:hidden;
}
nav#tnavi a {
  position:relative;
  display:block;
  margin-top:10px;
  width:100vw;
  height:300px;
  color:#fff;
  background-size:cover;
  overflow:hidden;
  text-decoration:none;
}
nav#tnavi a:nth-child(odd) {
  opacity: 0;
  transform: translate(-100px,0);
  webkit-transform: translate(-100px,0);
  transition: 0.4s;
}
nav#tnavi a:nth-child(even) {
  opacity: 0;
  transform: translate(100px,0);
  webkit-transform: translate(100px,0);
  transition: 0.4s;
}
nav#tnavi a:hover {
  color:#00B9D0;
}
nav#tnavi a:after {
  content:"";
  display:block;
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:rgba(0,0,0,0.7);
  z-index:-1;
  transition: 0.2s;
}
nav#tnavi a:hover:after {
  background:rgba(0,0,0,0.1);
}
nav#tnavi a.banner-about {
  background:url(/img/bg-topbnr01.png) center top no-repeat;
}
nav#tnavi a.banner-ckd {
  background:url(/img/bg-topbnr02.png) center top no-repeat;
}
nav#tnavi a.banner-educator {
  background:url(/img/bg-topbnr03.png) center top no-repeat;
}
nav#tnavi a.banner-krij {
  background:url(/img/bg-topbnr04.png) center top no-repeat;
}
nav#tnavi a.banner-circle {
  background:url(/img/bg-topbnr05.png) center top no-repeat;
}
nav#tnavi a.banner-krij h2 {
  margin-top:-42px;
  border-bottom:none !important;
  z-index:99;
}
nav#tnavi a .inner {
  margin:0 auto;
  padding-bottom:10px;
  width:1200px;
  height:100%;
  border-bottom:2px solid #3CB9CC;
  z-index:11;
}

nav#tnavi a .inner:before {
  content:"";
  margin:-2px 8px 0 0;
  width:24px;
  height:24px;
  background:url(/img/parts.png) -210px -85px no-repeat;
  background-size:500px 500px;
}
nav#tnavi a.banner-krij .inner:before {
  content:"";
  margin:0;
  width:0;
  height:0;
  background:none;
}
nav#tnavi a:hover .inner:before {
  content:"";
  margin:-2px 6px 0 0;
  width:26px;
  height:26px;
  background:url(/img/parts.png) -240px -85px no-repeat;
  background-size:500px 500px;
}
nav#tnavi a.banner-krij:hover .inner:before {
  content:"";
  margin:0;
  width:0;
  height:0;
  background:none;
}
nav#tnavi a .inner h2 {
  position:relative;
  display:inline-block;
  padding:10px 0 8px;
  font-size:3.0rem;
  font-weight:normal;
  border-bottom:2px solid #3BB8CC;
}
nav#tnavi a:hover .inner h2 {
  background:rgba(255,255,255,0);
  border-bottom:2px solid #fff;
}
nav#tnavi a.banner-krij:hover .inner h2 {
  background:none;
  border-bottom:none;
}
nav#tnavi a .inner.odd {
  -js-display: flex;
  display: flex;
  align-items: center;
}
nav#tnavi a .inner.even {
  -js-display: flex;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
nav#tnavi a > .inner.odd > .border {
  position:absolute;
  margin-top:20px;
  top:50%;
  left:0;
  width:40%;
  height:2px;
  border-top:2px solid #fff;
  box-sizing:border-box;
}
nav#tnavi a:hover > .inner.odd > .border {
  border-top:2px solid #3BB8CC;
}
nav#tnavi a > .inner.even > .border {
  position:absolute;
  margin-top:20px;
  top:50%;
  right:0;
  width:50%;
  height:2px;
  border-top:2px solid #fff;
  box-sizing:border-box;
}
nav#tnavi a:hover > .inner.even > .border {
  border-top:2px solid #3BB8CC;
}
nav#tnavi a > .inner.odd > .border:before {
  content:"";
  position:absolute;
  display:block;
  top:-8px;
  right:-12px;
  width:14px;
  height:14px;
  border-radius:7px;
  border:2px solid #fff;
  box-sizing:border-box;
}
nav#tnavi a:hover > .inner.odd > .border:before {
  border:none;
  background:#3BB8CC;
}
nav#tnavi a > .inner.even > .border:before {
  content:"";
  position:absolute;
  display:block;
  top:-8px;
  left:-12px;
  width:14px;
  height:14px;
  border-radius:7px;
  border:2px solid #fff;
  box-sizing:border-box;
}
nav#tnavi a:hover > .inner.even > .border:before {
  border:none;
  background:#3BB8CC;
}

/* --------------------------------------------------------
	footer
-------------------------------------------------------- */
.pre-footer {
  -js-display: flex;
  display: flex;
  justify-content: space-between;
  margin:80px auto 0;
  width:1100px;
}
.pre-footer > .wrap-banner {
  -js-display: flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width:580px;
}
.pre-footer > .wrap-facebook {
  width:500px;
  height:320px;
}
.fb-page {
  display:block !important;
  width:100%;
  max-width:500px;
  margin-left:auto;
  margin-right:auto;
}
.pre-footer  > .wrap-banner > a {
  display:block;
  width:285px;
  height:150px;
  box-sizing:border-box;
  text-indent:-9999px;
  transition: 0.4s;
}
.pre-footer > a:hover {
  opacity:0.7;
}
.pre-footer > .wrap-banner > a.bnr-footer01 {
  background:url(/img/bg-footerbnr01.png) 0 0 no-repeat;
}
.pre-footer > .wrap-banner > a.bnr-footer02 {
  background:url(/img/bg-footerbnr02.png) 0 0 no-repeat;
}
.pre-footer > .wrap-banner > a.bnr-footer03 {
  background:url(/img/bg-footerbnr03.png) 0 0 no-repeat;
}
.pre-footer > .wrap-banner > a.bnr-footer04 {
  background:url(/img/bg-footerbnr04.png) 0 0 no-repeat;
}

footer {
  margin-top:0px;
  padding:40px 0;
  width:100%;
  background:#5970A5;
  box-sizing:border-box;
  font-size:1.0rem!important;
}
footer p {
  font-size:0.8rem!important;
}
footer > .inner {
  -js-display: flex;
  display: flex;
  justify-content: space-between;
  margin:0 auto;
  width:95%;
}
footer > .inner .copyright {
  font-size:1.0rem;
  color:#fff;
}
footer > .inner .copyright > a > figure {
  margin-bottom:10px;
  width:177px;
  height:40px;
  background:url(/img/parts.png) 0 -85px no-repeat;
  background-size:500px 500px;

}
footer > .inner > nav {
  -js-display: flex;
  display: flex;
  align-items: center;
  margin-top:42px;
  color:#fff;
}
footer > .inner > nav a {
  display:inline-block;
  margin-right:10px;
  color:#fff;
  font-size:0.8rem;
  text-decoration:none;
}
footer > .inner > nav a:hover {
  text-decoration:underline;
}
footer nav > .punctuation {
  display:inline-block;
  margin:0 20px;
}
footer nav > .punctuation:first-child {
  margin:0;
}
footer > .inner > nav a.btn-facebook {
  margin-left:10px;
  width:30px;
  height:30px;
  font-size:0;
  background:url(/img/parts.png) -270px -85px no-repeat;
  background-size:500px 500px;
  text-indent:-9999px;
}



/* --------------------------------------------------------
	ページTOP
-------------------------------------------------------- */
#page-top {
	position: fixed;
	bottom: 60px;
	right: 60px;
}
#page-top a {
	display:block;
	cursor:pointer;
	width:60px;
	height:60px;
	background:url(/img/parts.png) no-repeat;
	background-size: 500px 500px;
	background-position: -310px -84px;
	text-indent:-9999px;
}
#page-top a:hover {
	background-position:-380px -84px;
}
