@charset "utf-8";
/*========= LoadingのためのCSS ===============*/

/* Loading背景画面設定　*/
#splash {
    /*fixedで全面に固定*/
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 999;
  background:#FF7683;
  text-align:center;
  color:#fff;
}

/* Loading画像中央配置　*/
#splash_logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* Loading アイコンの大きさ設定　*/
#splash_logo svg{
    width:600px;
}

/*=============== SVGアニメーション内の指定 =================*/

/*アニメーション前の指定*/
#mask path {
    fill-opacity: 0;/*最初は透過0で見えない状態*/
    transition: fill-opacity .5s;/*カラーがつく際のアニメーション0.5秒で変化*/
    fill: none;/*塗りがない状態*/
    stroke: #333;/*線の色*/
  }

/*アニメーション後に.doneというクラス名がで付与された時の指定*/
#mask.done path{
    fill: #333;/*塗りの色*/
    fill-opacity: 1;/*透過1で見える状態*/
    stroke: none;/*線の色なし*/
  }
/*========= 画面遷移のためのCSS ===============*/

/*画面遷移アニメーション*/
.splashbg{
    display: none;
}

/*bodyにappearクラスがついたら出現*/
body.appear .splashbg{
    display: block;
    content: "";
    position:fixed;
  z-index: 999;
    width: 100%;
    height: 100vh;
    top: 0;
  left: 0;
    transform: scaleX(0);
    background-color: #C7E0FF;/*伸びる背景色の設定*/
  animation-name:PageAnime;
  animation-duration:0.8s;
  animation-timing-function:ease-in-out;
  animation-fill-mode:forwards;
}

@keyframes PageAnime{
  0% {
    transform-origin:left;
    transform:scaleX(0);
  }
  50% {
    transform-origin:left;
    transform:scaleX(1);
  }
  50.001% {
    transform-origin:right;
  }
  100% {
    transform-origin:right;
    transform:scaleX(0);
  }
}

/*画面遷移の後現れるコンテンツ設定*/
#container{
  opacity: 0;/*はじめは透過0に*/
}

/*bodyにappearクラスがついたら出現*/
body.appear #container{
  animation-name:PageAnimeAppear;
  animation-duration:0.5s;
  animation-delay: 0.6s;
  animation-fill-mode:forwards;
  opacity: 0;
}

@keyframes PageAnimeAppear{
  0% {
  opacity: 0;
  }
  100% {
  opacity: 1;
}
}
/*========= スクロール途中でヘッダーが表示＆非表示するためのCSS ===============*/

/*========= レイアウトのためのCSS ===============*/

h2{

}

small{
  color:#fff;
  display: block;
  text-align: center;
}
ul {
  list-style: none;
}
nav ul li a{
  display: block;
  text-decoration: none;
  color: #666;
  transition:all 0.3s;
}

nav ul li.current a,
nav ul li a:hover,
nav ul li a:active{
  color:#fff; 
}

main {
      padding-top: 70px;
}

section{
  padding:30px;
}

section:nth-child(2n){
  background:#FFFCDC; 
}

/* header
--------------------------*/
#header{
    /*fixedで上部固定*/
  position: fixed;
  height: 80px;
  width:100%;
    z-index: 999;/*最前面へ*/
  /*以下はレイアウトのためのCSS*/
  display: flex;
  justify-content: space-between;
  align-items: center;
  background:#C7E0FF;
  color:#fff;
  text-align: center;
  padding-top: 7px;
}
/*　上に上がる動き　*/
#header.UpMove{
  animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 1;
  transform: translateY(0);
  }
  to {
    opacity: 0;
  transform: translateY(-100px);
  }
}

/*　下に下がる動き　*/
#header.DownMove{
  animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
    opacity: 0;
  transform: translateY(-100px);
  }
  to {
    opacity: 1;
  transform: translateY(0);
  }
}

#header .inner {
  display: flex;
  margin: auto;
  justify-content: space-between;
  background-color: #C7E0FF;
  align-items: flex-end;
  padding-left: 28px;
}

@media(min-width: 1109px) {
	.sp{
	display: none;
	}
}

#header .header-left a {
  display: flex;
  align-items: center;
  text-decoration: none;
}

#header .header-left a,a:hover,a:visited{
    color: inherit;
}

#header .header-left a img {
  height:70px;
  margin-right: 20px;
  padding-bottom: 7px;
}

#header .header-left{
	max-height: 70px;
	min-width: 600px;
	margin-right: 50px;
}

#header .header-left a h1 {
  max-height: 70px;
  font-weight: bold;
  color: #3B4043;
  font-size: 30px;
}

#header .header-left a h1 span {
  display: block;
  color: #707F89;
  font-size: 15px;
  font-weight: normal;
}

@media (min-width: 960px) and (max-width: 1200px){
	#header .header-left{
		min-width: 400px;
	}
	#header .header-left a h1 {
	 font-size: 20px;
	}
	#header .header-left a h1 span {
		display: none;
	}
}

@media (max-width: 960px) and (min-width: 500px){
	#header .inner{
		max-width: 400px;
	}
	#header .header-left{
		min-width: 400px;
	}
  #header .header-left a h1 {
    font-size: 20px;
  }
  #header .header-left a h1 span {
		display: none;
	}
  #header .header-left a img {
  height:40px;
  margin-right: 10px;
  padding-bottom: 7px;
}

}
@media (max-width: 500px) {
	#header .inner{
		max-width: 300px;
	}
	#header .header-left{
		min-width: 300px;
	}
	  #header .header-left a h1 {
    font-size: 20px;
  }
  #header .header-left a h1 span {
		display: none;
	}
  #header .header-left a img {
  height:40px;
  margin-right: 10px;
  padding-bottom: 7px;
}

}
	
#header .header-right ul {
  display: flex;
	justify-content: flex-end;
}

#header .header-right ul li:first-child a {
  padding-left: 0;
}

#header .header-right ul li:first-child a::after {
  display: none;
}

#header #g-navi{
	padding-bottom: 25px;
}

#header .header-right ul li a {
  color: #3B4043;
  text-align: center;
  line-height: 1;
  display: block;
  letter-spacing: 0.05em;
  font-weight: normal;
  padding-right: 10px;
}

@media (min-width: 1200px) {
  #header .header-right ul li a {
    font-size: 18px;
	  margin-left: 5px;
	  margin-right: 5px;
	  margin-top: 5px;
	  margin-bottom: 5px;
	}
}

@media (min-width: 767px) and (max-width: 1200px) {
  #header .header-right ul li a {
    font-size: 16px;
	  margin-left: 5px;
	  margin-right: 5px;
	  margin-top: 5px;
	  margin-bottom: 5px;
      padding-right: 10px;
  }
}

@media(max-width:960px){
  .header-right {
    display: none;
	}
}

#header .header-right ul li a:hover {
  text-decoration: underline;
}

@media (min-width: 960px) {
   .drawer-bars {
    display: none;
  }
  .drawer-nav {
    display: none;
  }
}

@media (max-width: 960px) {
  .drawer-nav {
    display: none;
  }
  .drawer-bars {
    background: #004BB1;
    width: 68px;
    height: 65px;
    cursor: pointer;
    display: block;
    position: relative;
    z-index: 700;
	margin-bottom: 9px;
  }
  .drawer-bars .drawer-bars-inner {
    position: absolute;
    top: 50%;
    left: 30%;
    transform: translate(-50%, -50%);
    width: 30px;
    height: 21px;
  }
  .drawer-bars .drawer-bar {
    background-color: #fff;
    height: 3px;
    position: absolute;
    transition: all 0.5s ease 0s;
  }
  .drawer-bars .drawer-bar:nth-of-type(1) {
    top: 0;
    width: 30px;
  }
  .drawer-bars .drawer-bar:nth-of-type(2) {
    top: 9px;
    width: 30px;
  }
  .drawer-bars .drawer-bar:nth-of-type(3) {
    top: 18px;
    width: 18.75px;
  }
}

.drawer-bars.is-checked {
  display: block;
  background: transparent;
}

.drawer-bars.is-checked .drawer-bars-inner {
  width: auto;
}

.drawer-bars.is-checked .drawer-bar {
  background: #fff;
  position: absolute;
}

.drawer-bars.is-checked .drawer-bar:nth-of-type(1) {
  top: 0px;
  transform: rotate(-45deg);
}

.drawer-bars.is-checked .drawer-bar:nth-of-type(2) {
  background: transparent;
}

.drawer-bars.is-checked .drawer-bar:nth-of-type(3) {
  width: 30px;
  top: 0px;
  transform: rotate(45deg);
}

@media (max-width: 960px) {
  .drawer-nav {
    position: fixed;
    top: 0;
    bottom: 0;
    right: 0;
    z-index: 600;
    width: 250px;
    height: fit-content;
    padding-top: 20px;
    padding-left: 10px;
    padding-bottom: 10px;
    background: #004BB1;
    transition: all 0.5s ease 0s;
    display: none;
  }
  .drawer-nav.is-checked {
    display: block;
  }
  .drawer-nav .drawer-logo {
    display: flex;
    align-items: center;
    color: #fff;
	margin: auto;
  }
  .drawer-nav .drawer-logo img {
    width: 70px;
    margin-right: 14px;
  }
  .drawer-nav .drawer-logo div {
    font-size: 14px;
  }
  .drawer-nav nav {
    margin-top: 3px;
  }
  .drawer-nav ul li a:hover {
  text-decoration: underline;
}

  #bg-navi ul li a {
    display: block;
    text-align: center;
    font-size: 15px;
    padding: 5px 0 0;
    color: #fff;
    font-weight: 500;
    line-height: 2;
    margin-top: 5px;
  }
}

#area-1{
	background-image: url("../img/AC/111634.png");
	background-repeat: repeat;
}
	
#area-1 .inner{
	display: flex;
	margin: 20px 0 60px 0;
}

.area1-left{
	width: 100%;
	padding-left: 0px;
	padding-top: 10px;
}
.area1-left h1{
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	font-size: 2.8em;
	text-align: center;
}
.area1-left h2{
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	font-size:1.5rem;
    text-align: center;
    margin: 0 0 30px 0;
}
.area1-left h3{
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	text-align: center;
	font-size: 1.4em;
}
.area1-left li{
	text-align: center;
	font-size: 1.2em;
}
.pc {
display:inline;
}
.sp {
display:none;
}
@media (max-width:1200px){
	#area-1 .inner{
		flex-direction: column-reverse;
	}
	.pc {
		display:none;
	}
	.sp {
		display:inline;
	}
	.area1-left{
		width:100%;
	}
	.area1-left h1{
		font-size:2.0em;
	}
	.area1-left h2{
		font-size: 1.5em;
	}
	.area1-left h3{
		margin: auto 30px auto 30px;
		font-size: 1.2em;
	}
	.area1-left li{
		font-size: 1.0em;
	}
}

/*==================================================
スライダーのためのcss
===================================*/
.slider {
  margin: 0 0 0 auto;
  position:relative;
  z-index: 1;
  /*↑z-indexの値をh1のz-indexの値よりも小さくして背景に回す*/
  width: 56vw;/*スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
}
/*　背景画像設定　*/
@media (max-width:1200px){
	.slider{
		margin:0 auto 0 auto;
	}
}

.slider-item01 {
    background:url(../img/slide_blue.png);
}

.slider-item02 {
    background:url(../img/slide_child.png);
}

.slider-item03 {
    background:url(../img/slide_violet.png);
}

.slider-item04 {
    background:url("../img/slide_red.png");
}

.slider-item05 {
    background:url("../img/slide_renewal.png");
}

.slider-item06 {
    background:url("../img/slide_microscope.png");
}

.slider-item07 {
    background:url("../img/slide_soccer.png");
}

.slider-item {
    width: 56vw;/*各スライダー全体の横幅を画面の高さいっぱい（100%）にする*/
    height: 32vw;/*各スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
    background-repeat: no-repeat;/*背景画像をリピートしない*/
    background-position: center;/*背景画像の位置を中央に*/
    background-size: cover;/*背景画像が.slider-item全体を覆い表示*/
}

@media (min-width:1500px){
	.slider{
		width: 840px;
	}
	.slider-item{
		width: 860px;
		height: 490px;
	}
}

/*矢印の設定*/

.slick-prev, 
.slick-next {
    position: absolute;
  z-index: 3;
    top: 42%;
    cursor: pointer;/*マウスカーソルを指マークに*/
    outline: none;/*クリックをしたら出てくる枠線を消す*/
    border-top: 2px solid #fff;/*矢印の色*/
    border-right: 2px solid #fff;/*矢印の色*/
    height: 25px;
    width: 25px;
}

.slick-prev {/*戻る矢印の位置と形状*/
    left:2.5%;
    transform: rotate(-135deg);
}

.slick-next {/*次へ矢印の位置と形状*/
    right:2.5%;
    transform: rotate(45deg);
}

/*ドットナビゲーションの設定*/

.slick-dots {
  position: relative;
  z-index: 3;
    text-align:center;
  margin:-20px 0 0 0;/*ドットの位置*/
}

.slick-dots li {
    display:inline-block;
  margin:0 5px;
}

.slick-dots button {
    color: transparent;
    outline: none;
    width:8px;/*ドットボタンのサイズ*/
    height:8px;/*ドットボタンのサイズ*/
    display:block;
    border-radius:50%;
    background:#fff;/*ドットボタンの色*/
}

.slick-dots .slick-active button{
    background:#333;/*ドットボタンの現在地表示の色*/
}

/* service */
#area-2{
	background-image: url("../img/ngs.jpg");
	background-repeat: repeat;
}
#service{

}

#service h2{
	font-size: 2.0em;
	text-align: center;
}
#service p{
	font-size: 1.2em;
}
.service-left{
	width:100%;
	
}
@media screen and (max-width:560px) {
	#service {
		margin:0px;
		padding: 0px;
	}
}
table.table1{
	margin: auto;
	width: 70%; /* 要素の横幅を指定する */
	line-height: 1.5em; /* 行の高さを指定する */
	border-collapse: separate; /* 隣接するセルの罫線を重離して表示する */
	font-family: "メイリオ", sans-serif;/* フォントのスタイルを指定する */
	font-size: 20.5px; /* フォントのサイズを指定する */
	font-weight: bold; /* フォントの太さを指定する */
}
.table1 thead th{
	color:#fff; /* フォントの色を指定する */
	padding:15px; /* セルの余白を指定する */
	border:1px solid #006DD9; /* 罫線のスタイルを指定する */
	border-bottom:3px solid #006DD9; /* 罫線（下部）のスタイルを指定する */
	border-top-left-radius:5px; /* 罫線（左上）の角丸を指定する */
	border-top-right-radius:5px; /* 罫線（右上）の角丸を指定する */
	text-shadow:1px 1px 1px #666666; /* テキストフォントの影を指定する */
	background-color:#FF0000; /* 背景色を指定する */
	background: linear-gradient(#1155ee, #31AA33); /* 背景色のグラデーションを指定する */
}
.table1 tbody th{
	color:#fff; /* フォントの色を指定する */
	padding:0px 10px; /* セルの余白を指定する(上下:左右) */
	border:1px solid #006DD9; /* 罫線のスタイルを指定する */
	border-right:3px solid #006DD9; /* 罫線（右）のスタイルを指定する */
	border-top-left-radius:5px; /* 罫線（左上）の角丸を指定する */
	border-bottom-left-radius:5px; /* 罫線（左下）の角丸を指定する */
	text-shadow:1px 1px 1px #666666;/* テキストフォントの影を指定する */
	background-color:#F84B56; /* 背景色を指定する */
	background: linear-gradient(to right, #ff2293, #ffA9EE); /* 背景色のグラデーションを指定する */
}
.table1 tbody td{
	padding:10px; /* セルの余白を指定する(上下:左右) */
	color:#666; /* フォントの色を指定する */
	text-align:center; /* テキストの位置を指定する */
	text-shadow:1px 1px 1px #fff; /* テキストフォントの影を指定する */
	background-color:rgba(221,148,223,0.30);
	border: 1px solid #aaa; /* 罫線のスタイルを指定する */
	border-radius: 3px; /* 罫線の角丸を指定する */
}
.table1 tbody span.check1::before{
	content : url(../images/check1.png) /* 画像コンテンツの指定 */
}
.table1 tbody span.check2::before{
	content : url(../images/check2.png) /* 画像コンテンツの指定 */
}

.table1 a{
	text-decoration: none;
	color:white;
}
.table1 a:visited{
	color: white;
}
.table1 a:hover{
	color: paleturquoise;
}


@media screen and (max-width:1000px) {
	table.table1{
	margin: auto;
	width: 90%; /* 要素の横幅を指定する */
	line-height: 1.5em; /* 行の高さを指定する */
	border-collapse: separate; /* 隣接するセルの罫線を重離して表示する */
	font-family: "メイリオ", sans-serif;/* フォントのスタイルを指定する */
	font-size: 14.5px; /* フォントのサイズを指定する */
	font-weight: bold; /* フォントの太さを指定する */
}
}
#service .service-area{
    display: flex;
	flex-direction: row;
    justify-content: space-between;
    //flex-wrap: wrap;
    position: relative;
	width:100%;
}

#service .service-area::after{
    opacity: 0;
}

#service .service-area.startwd::after{
    content:'';
    position: absolute;
    top:-120px;
    right:0;
    width:80%;
    height: 0;
    background:#FFDF83;
    z-index: -1;
	animation-name:sevicebgRLextendAnime;
    animation-duration:.9s;
	animation-fill-mode:forwards;
    animation-timing-function: ease-in-out;
}

@keyframes sevicebgRLextendAnime{
	0% {
        opacity: 0;
		width:0;
	}
	100% {
        opacity: 1;
		width:80%;
	}
}

#service .service-area section{
     width:100%;
	 text-align: center;
}

#service .service-area section h3{
    font-size:1.5rem;
    margin: 0 0 20px 0;
}

#service .service-area section p{
    margin: 0 0 15px 0;
	padding-left: 0;
	padding-right:0;
	text-align: left;
}

#service .service-img-wrapper{
    position:relative;
    overflow: hidden;
    width:30vw;
	margin-top: 70px;
	padding-left: 20px;
}

#service .service-img{
    width:30vw;
	height:25vw;
    background:url("../img/AC/3530973_s.jpg") no-repeat center;
    background-size: cover;
}

.service-bottom{
	margin-top: 0 px;
	margin-right: 100px;
	margin-left: 100px;
	display: flex;
	flex-direction: row;
    justify-content: space-between;
}
@media screen and (min-width:1400px){
	.service-bottom{
		margin: 20px 150px 0 150px;
	}
}
@media screen and (max-width:1250px){
	.service-bottom{
		padding-top: 20px;
		margin: auto;
		width:500px;
		flex-wrap: wrap;
		justify-content:space-between;
	}
}
@media screen and (max-width:1250px){
	.service-bottom{
		padding-top: 20px;
		margin: auto;
		width:500px;
		flex-wrap: wrap;
		justify-content:space-between;
	}
}

@media screen and (max-width:560px){
	.service-bottom{
		padding-top: 20px;
		margin: auto;
		width:300px;
		flex-wrap: wrap;
		justify-content:space-between;
	}
}
@media screen and (max-width:1000px) {
	#service .service-lead br{
    	display: none;
	}
	#service h2{
		text-align: center;
	font-size: 1.5em;
	}
	#service p{
		padding-left: 0;
	}
	#service {
		flex-direction: column
	}
	#service .service-area{
		flex-direction: column;
	}
	#service .service-left{
		width: 100%;
	}
	#service .service-img-wrapper{
		width:100%;
		margin: 0 auto 0 auto;
		padding: 0 0 0 0;
	}
	#service .service-area section {
		padding-right: 0;
		padding-left: 0;
	}
}

/*==================================================
印象編 4 最低限おぼえておきたい動き
===================================*/

/*印象編　4-9、4-10　背景色が伸びて出現（左から・右から）　*/
.bgextend{
	animation-name:bgextendAnimeBase;
	animation-duration:1.5s;
	animation-fill-mode:forwards;
	position: relative;
	overflow: hidden;/*　はみ出た色要素を隠す　*/
	opacity:0;
}

@keyframes bgextendAnimeBase{
  from {
    opacity:0;
  }

  to {
    opacity:1;  
}
}

/*中の要素*/
.bgappear{
	animation-name:bgextendAnimeSecond;
	animation-duration:1.5s;
	animation-delay: 1.0s;
	animation-fill-mode:forwards;
	opacity: 0;
}

@keyframes bgextendAnimeSecond{
	0% {
	opacity: 0;
	}
	100% {
	opacity: 1;
}
}

/*印象編　4-9 背景色が伸びて出現（左から）*/
.bgLRextend::before{
	animation-name:bgLRextendAnime;
	animation-duration:1.0s;
	animation-fill-mode:forwards;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #FFDF83;/*伸びる背景色の設定*/
}
@keyframes bgLRextendAnime{
	0% {
		transform-origin:left;
		transform:scaleX(0);
	}
	50% {
		transform-origin:left;
		transform:scaleX(1);
	}
	50.001% {
		transform-origin:right;
	}
	100% {
		transform-origin:right;
		transform:scaleX(0);
	}
}

/*印象編　4-9 背景色が伸びて出現（右から）*/
.bgRLextend::before{
	animation-name:bgRLextendAnime;
	animation-duration:1.0s;
	animation-fill-mode:forwards;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #FFFE83;/*伸びる背景色の設定*/
}
@keyframes bgRLextendAnime{
	0% {
		transform-origin:right;
		transform:scaleX(0);
	}
	50% {
		transform-origin:right;
		transform:scaleX(1);
	}
	50.001% {
		transform-origin:left;
	}
	100% {
		transform-origin:left;
		transform:scaleX(0);
	}
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.bgappearTrigger,
.bgUDextendTrigger,
.bgDUextendTrigger,
.bgRLextendTrigger,
.bgLRextendTrigger{
    opacity: 0;
}

#area-3{
	background-image: url("../img/AC/24692488_m.jpg");
	background-size: 100% 100%;
	background-position: center;
	z-index: -1;
}

@media screen and (max-width:1250px) {
	#area-3{
		background-size: auto 100%;
	}0
	
}
/* news */

#news{
	position: relative;
    padding: 0 0 0 0;
    margin: 0 0 0 0;
}

@media screen and (max-width:840px) {
#news{
    margin:0;
    padding: 0 0;
    }
}

#news h2{
	font-size: 2.2em;
	text-align: center;
	color: #fff;
	margin-bottom: 20px;
}

#news li a{
	text-decoration: none;
    transition: all 0.3s;
	color: #656565;
}

#news li a:hover{
     color: #FD5B5B;    
}

#news article{
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 10px 0;
    padding: 0 0 10px 0;
    border-bottom: 2px solid #333;
}

#news article time{
    padding: 0 2em 0 0;
    color: #666;
    font-size: 1.2 rem;
}

#news article h3{
    font-size: 1.2rem;
}

#news .news-area{
    background:#fff;
    padding: 30px;
	box-shadow: 10px 10px 0 rgba(0,0,0,0.5);
    width:70%;
	height: 400px;
	
    margin: 0 auto;
    border-radius:10px;
	overflow-y: scroll;
}

@media screen and (max-width:950px) {
#news .news-area{
    width:90%;
}
    
#news article time,
#news article h3{
    width:100%;
}    
}
/* 4-4 ボンッ（拡大） */
.zoomIn{
	animation-name: zoomInAnime;
	animation-duration:0.5s;
	animation-fill-mode:forwards;
}

@keyframes zoomInAnime{
  from {
	transform: scale(0.6);
	opacity: 0;
  }

  to {
    transform: scale(1);
	opacity: 0.9;
  }
}

.zoomInTrigger{
    opacity: 0;
}

.news_bottom{
	margin: auto;
	display: flex;
    justify-content: space-between;
	width: 800px;
}

@media screen and (max-width:900px){
	.news_bottom{
		width:300px;
		flex-wrap: wrap;
		justify-content:space-between;
	}
}
#area-4 h2{
	font-size: 1.8em;
	text-align: center;
	color: #000;
	margin-bottom: 20px;
}

#area-4 p{
	font-size: 1.4em;
	text-align: center;
	color: #000;
	margin-bottom: 20px;
}
.slider_b img{
	width:100%;
	height: auto;
	margin: auto;
}

.slider_b .slick-slide{
	margin: auto 10px;
}
@media screen and (max-width:950px) {
	#area-4 p{
	font-size: 1.0em;
	text-align: center;
	color: #000;
	margin-bottom: 20px;
}
}

/* area-5 */
#area-5{
	background-image: url("../img/ngs.jpg");
	background-repeat: repeat;
}
#area-5 h2{
	font-size: 1.8em;
	text-align: center;
	color: #000;
	margin-bottom: 20px;
}
#area-5 .inner{
	background: #FFFFFF;
	width: 80%;
	border-radius: 50px;
	margin: auto;
	display:flex;
  	flex-flow: column;
	padding: 30px 50px;
	
}

#area-5 .inner h1{
	margin: 20px auto;
	font-size: 1.8em;
	text-align: center;
}
#area-5 .inner h2{
	margin: auto;
	font-size: 1.3em;
	text-align: center;
	font-style: oblique;
}
#area-5 .inner p{
	margin: 10px;
	font-size: 1.2em;
	text-align: center;
}
@media screen and (max-width:560px) {
	#area-5 .inner{
		margin:auto;
		padding: 10px;
		width: 99%;
	}
}
@media (max-width:767px){
	#area-5 .inner{
		width: 95%;
	}
	#area-5 .inner h1{
		font-size: 1.5em;
	}
	#area-5 .inner h2{
		font-size: 1.2em;
	}
	#area-5 .inner p{
		font-size: 1.0em;
	}
}
/* footer */

#footer{
    position: relative;
    display: flex;
    justify-content: space-between;
    flex-wrap:wrap;
    flex-direction: row-reverse;
}

#footer .footer-r{
    width:70%;
    padding: 0px;
    background:#182578;
    color: #fff;
}

#footer .footer-r .map-address{
    display: flex;
    justify-content: center;
    align-items: center;
}

#footer .footer-r .map-address address{
    font-style:normal;
	font-size:1.3em;
    margin: 0 0 30px 0;
}

#footer .footer-r .map-area{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    margin: 0 0 10px 0;
}

#footer .footer-r .map-area h2{
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;    
    text-orientation: upright;
    font-size: 1.3rem;
    width:10%;
    height: 10em;
    letter-spacing: 0.3em;
    text-align: center;
}

#footer .footer-r .map-address{
    width:30%;
}

#footer .footer-r .map-block{
    width:50%;
}

#footer .footer-r .iframe-area {
  position: relative;
  padding-bottom: 51.65%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
  max-height: 10vh;
}

#footer .footer-r .iframe-area iframe,
#footer .footer-r .iframe-area object,
#footer .footer-r .iframe-area embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#footer .footer-link{
    font-size: 1.1rem;
    padding: 0 0 30px 20px;
	text-align: center;
}

#footer .footer-link li{
     display: inline-block;
}

#footer .footer-link a{
    color: #fff;
	text-decoration: none;
}

#footer .footer-link a::after{
    content:'/';
    padding: 0 10px;
}

#footer .footer-link li:last-child a::after{
    content:'';
    padding: 0;
}

#footer .footer-l{
    width:30%;
    background:#485C6B;
}

#footer .footer-l .footer-contact{
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    background: #E1EEFF;
    height: 280px;
}

#footer .footer-l .footer-contact-area h2{
    font-size: 1.2rem;
    margin: 0 0 20px 0;
    letter-spacing: 0.1em;
}

#footer .footer-l .footer-contact-area a{
    font-size: 1.5rem;
    padding: 0 0 20px 0;
    display: inline-block;
}

#footer #copyright{
    background:#485C6B;
    color: #ccc;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 20%;
}

#footer #page-top{
    position: absolute;
    bottom:0;
    right: 0;
    width:80px;
    height:80px;
    background:#fff;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

#footer #page-top span{
    display: inline-block;
  width: 13px;
  height: 13px;
  border-top:2px solid #182578;
  border-left: 2px solid #182578;
  transform: rotate(45deg);
}

@media screen and (max-width:1045px) {
 
#footer .footer-r,
#footer .footer-l{
    width:100%;
}
    
#footer .footer-l .footer-contact,
#footer #copyright{
    height: inherit;
    padding: 20px 0;
}
    
#footer .footer-r .map-area h2{
    width:5%;
}
   
#footer .footer-link{
    text-align: center;
}
    
}

@media screen and (max-width:768px) {
    #footer .footer-r{
        padding:10px 30px;
    }
    
    #footer .footer-r .map-area{
        margin: 0;
    }
    #footer .footer-link{
        display: none;
    }
    
#footer .footer-r .map-area h2{
    width:100%;
    height: inherit;
    margin: 0 0 20px 0;
    -ms-writing-mode: lr-tb;
    -webkit-writing-mode: horizontal-tb;
    writing-mode: horizontal-tb;
}

#footer .footer-r .map-address{
        width:48%;
}
    
#footer #page-top{
        width:60px;
        height: 60px;
}
    
}

@media screen and (max-width:560px) {

#footer .footer-r .map-address,  
#footer .footer-r .map-block{
        width:100%;
}
    
#footer .footer-r .map-address{
        margin: 0 0 30px 0;
}
}

/*== ボタン共通設定 */
.btn{
    /*アニメーションの起点とするためrelativeを指定*/
    position: relative;
	overflow: hidden;
    /*ボタンの形状*/
	text-decoration: none;
	display: inline-block;
   	border: 1px solid #333;/* ボーダーの色と太さ */
    padding: 40px 8px;
    text-align: center;
    outline: none;
    /*アニメーションの指定*/   
    transition: ease .2s;
}

.btn.bgcenterout{
   	border: 1px solid #fff;/* ボーダーの色と太さ */
    padding: 8px 40px;
}

/*ボタン内spanの形状*/
.btn span {
	position: relative;
	z-index: 3;/*z-indexの数値をあげて文字を背景よりも手前に表示*/
	color:#333;
}

.btn:hover span{
	color:#fff;
}

.btn.bgcenterout span{
	color:#fff;
}

.btn.bgcenterout:hover span{
	color:#333;
}

/*== 中央から横全体 */
.bgcenterx:before {
	content: '';
    /*絶対配置で位置を指定*/
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
    /*色や形状*/
	background: #333;
	width: 100%;
	height: 100%;
    /*アニメーション*/
	transition: transform .3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
	transform: scale(0, 1);
	transform-origin: top;
}

/*hoverした際の形状*/
.bgcenterx:hover:before{
	transform:scale(1, 1);
}


/*== 中央から外 */
.bgcenterout:before {
	content: '';
    /*絶対配置で位置を指定*/
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
    /*色や形状*/
	background: #fff;
	width: 100%;
	height: 100%;
    /*アニメーション*/
	transition: transform .3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
	transform: scale(0, 0);
	transform-origin:center;
}

/*hoverした際の形状*/
.bgcenterout:hover:before{
	transform:scale(1, 1);
}

.btn.bgcenterouts{
   	border: 2px solid #000;/* ボーダーの色と太さ */
    padding: 8px 40px;
	border-radius: 20px;
	margin-top: 15px;
	width: 230px;
	margin: 15px auto 15px auto;
}

.btn.bgcenterouts span{
	color:#000;
}

.btn.bgcenterouts:hover span{
	color:#333;
}

/*== 中央から外 */
.bgcenterouts:before {
	content: '';
    /*絶対配置で位置を指定*/
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
    /*色や形状*/
	background: #FCE1FF;
	width: 100%;
	height: 100%;
    /*アニメーション*/
	transition: transform .3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
	transform: scale(0, 0);
	transform-origin:center;
}

/*hoverした際の形状*/
.bgcenterouts:hover:before{
	transform:scale(1, 1);
}

.btn.bgcenteroutN{
   	border: 1px solid #fff;/* ボーダーの色と太さ */
    padding: 8px 40px;
	border-radius: 20px;
	margin-top: 15px;
	width: 240px;
	margin: 15px auto 15px auto;
}
.btn.bgcenteroutN span{
	color:#fff;
}

.btn.bgcenteroutN:hover span{
	color:#333;
}
.bgcenteroutN:before {
	content: '';
    /*絶対配置で位置を指定*/
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
    /*色や形状*/
	background: #fff;
	width: 100%;
	height: 100%;
    /*アニメーション*/
	transition: transform .3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
	transform: scale(0, 0);
	transform-origin:center;
}

/*hoverした際の形状*/
.bgcenteroutN:hover:before{
	transform:scale(1, 1);
}

.btn.bgcenteroutN.is-btn-active span{
	color:#333;
}

/*hoverした際の形状*/
.bgcenteroutN.is-btn-active:before{
	transform:scale(1, 1);
}
.news-area .tab-contents{
	display: none;
}
.news-area .is-contents-active{
	display:block;
}

/*==================================================
じわっ
===================================*/

.blur{
  animation-name:blurAnime;
  animation-duration:1s;
  animation-fill-mode:forwards;
}

@keyframes blurAnime{
  from {
  filter: blur(10px);
  transform: scale(1.02);
  opacity: 0;
  }

  to {
  filter: blur(0);
  transform: scale(1);
  opacity: 1;
  }
}
 
.blurTrigger{
    opacity: 0;
}

/*========= タイピング ===============*/

.TextTyping span {
  display: none;
}

/*文字列後ろの線の設定*/
.TextTyping::after {
  content: "|";
  animation: typinganime .8s ease infinite;
}

@keyframes typinganime{
  from{opacity:0}
  to{opacity:1}
}

/* 　Y 軸（横へ） */
.rotateY{
  animation-name:rotateYAnime;
  animation-duration:1s;
  animation-fill-mode:forwards;
}

@keyframes rotateYAnime{
  from{
    transform: rotateY(0);
    }
  to{
    transform: rotateY(-360deg);
    }
}