@charset "utf-8";


#splash {
  position: fixed;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: 9999999;
  text-align: center;
  color: #000;
}

#splash-logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
ul.nav01c{
	margin-bottom:0;
}

/*== ボタン共通設定 */

.cbtn {
  /*アニメーションの起点とするためrelativeを指定*/
  position: relative;
  overflow: hidden;
  /*ボタンの形状*/
  text-decoration: none;
  display: inline-block;
  border: 1px solid #fff;
  /* ボーダーの色と太さ */
  padding: 9px 30px;
  text-align: center;
  outline: none;
  /*アニメーションの指定*/
  transition: ease .2s;
  background: rgb(217, 32, 40, 0.7);
}
.scbtn{
	display:inline;
}

/*ボタン内spanの形状*/

.cbtn span {
  position: relative;
  z-index: 3;
  /*z-indexの数値をあげて文字を背景よりも手前に表示*/
  color: #fff;
  font-weight: 7000;
}

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


/*== 背景が流れる（上から下） */

.bgtop:before {
  content: '';
  /*絶対配置で位置を指定*/
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  /*色や形状*/
  background: #D92028;
  /*背景色*/
  width: 100%;
  height: 0;
  /*アニメーション*/
  transition: .3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
}


/*hoverした際の形状*/

.bgtop:hover:before {
  height: 100%;
  background-color: #D92028;
}

a.btn1 {
	position: relative;
	display: block;
	width:360px;
	padding: 0.8em;
	text-align: center;
	text-decoration: none;
	color: #fff;
	background: #D92028;
	border:solid 1px #fff;
	border-radius: 15px ;
	overflow: hidden;
	margin:auto;
	box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);
}
a.btn1 span{
  color: #FFF;
}
a.btn1:before {
	content:"";
	position: absolute;
	top: -25px;
	left: -20px;
	height:100px;
	width:20px;
	background : #fff;
	opacity: 0.3;
	transform: rotate(40deg);
	transition: 0.3s;
}
a.btn1:hover:before {
	left:98%;
}

a.btn2 {
	width:170px;
}
@media screen and (max-width:768px) {
	
	a.btn3 {
		width:auto;
	}
}
/*========= 画面遷移のためのCSS ===============*/


/*画面遷移アニメーション*/

.splashbg {
  display: none;
}

body.appear .splashbg {
  display: block;
  content: "";
  position: fixed;
  z-index: 9999;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  transform: scaleX(0);
  background-color: #D92028;
  /*伸びる背景色の設定*/
  animation-name: PageAnime;
  animation-duration: .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: 1s;
  animation-delay: 0.8s;
  animation-fill-mode: forwards;
  opacity: 0;
}

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

.f20{
font-size:20px;
}
/*===========================================================*/


/*ドロップダウンメニュー（上） */


/*===========================================================*/


/*========= ナビゲーションドロップダウンのためのCSS ===============*/


/*ナビゲーションを横並びに*/

nav ul {
  list-style: none;
  display: flex;
  justify-content: center;
}


/*2階層目以降は横並びにしない*/

nav ul ul {
  display: block;
}


/*下の階層のulや矢印の基点にするためliにrelativeを指定*/

nav ul li {
  position: relative;
	line-height:1.2;
}

nav ul li span{
	display:block;
}

/*ナビゲーションのリンク設定*/

nav ul li a {
  display: block;
  text-decoration: none;
  color: #fff;
  padding: 20px 35px;
  transition: all .3s;
  font-weight: 700;
}
nav ul li.r2 a {
  padding: 5px 35px;
}

nav ul li li a {
  padding: 10px 35px;
}

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

  nav ul li a {
    padding: 20px;
  }
  nav ul li li a {
    padding: 10px 20px;
  }
}
@media screen and (max-width:1200px) {
	#header h1 {
		padding:0 !important;
	}

  nav ul li a {
    padding: 10px;
  }
  nav ul li li a {
    padding: 10px 20px;
  }
}
nav ul li a:hover {
  color: #fff;
}


/*==矢印の設定*/


/*2階層目を持つliの矢印の設定*/

nav ul li.has-child::before {
  content: '';
  position: absolute;
  left: 15px;
  top: 30px;
  width: 6px;
  height: 6px;
  border-top: 2px solid #eee;
  border-right: 2px solid #eee;
  transform: rotate(135deg);
}

@media screen and (max-width:1200px) {
  nav ul li.has-child::before {
    left: 0;
  }
}


/*== 2・3階層目の共通設定 */


/*下の階層を持っているulの指定*/

nav li.has-child ul {
  /*絶対配置で位置を指定*/
  position: absolute;
  left: 0;
  top: 62px;
  z-index: 4;
  /*形状を指定*/
  background: rgba(255, 255, 255, 0.2);
  width: 180px;
  /*はじめは非表示*/
  visibility: hidden;
  opacity: 0;
  /*アニメーション設定*/
  transition: all .3s;
}


/*hoverしたら表示*/

nav li.has-child:hover>ul, nav li.has-child ul li:hover>ul, nav li.has-child:active>ul, nav li.has-child ul li:active>ul {
  visibility: visible;
  opacity: 1;
}


/*ナビゲーションaタグの形状*/

nav li.has-child ul li a {
  color: #fff;
  border-bottom: solid 1px rgba(255, 255, 255, 0.4);
}

nav li.has-child ul li:last-child a {
  border-bottom: none;
}

nav li.has-child ul li a:hover, nav li.has-child ul li a:active {
  background: rgba(255, 255, 255, 0.2);
}


/*==960px以下の形状*/

@media screen and (max-width:960px) {
  nav {
    padding: 0;
  }
  nav ul {
    display: block;
  }
  nav ul li a {
    border-bottom: 1px solid #ccc;
  }
  /*矢印の位置と向き*/
  nav ul li.has-child::before {
    left: 20px;
  }
  nav ul ul li.has-child::before {
    transform: rotate(135deg);
    left: 20px;
  }
  nav ul li.has-child.active::before {
    transform: rotate(-45deg);
  }
}
.snp_wgt_ist{
	max-width:1020px;
	margin:auto;
	text-align:center;
}

.wbox {
    position: relative;
    margin: 2em 0;
    padding: 0.5em 1em;
    border: solid 3px #D92028;
}
.wbox .box-title {
    position: absolute;
    display: inline-block;
    top: -27px;
    left: -3px;
    padding: 0 9px;
    height: 25px;
    line-height: 25px;
    font-size: 17px;
    background: #D92028;
    color: #ffffff;
    font-weight: bold;
    border-radius: 5px 5px 0 0;
}
.tel {
    font-size: 32px;
    font-weight: 700;
}
.tel:before {
    content: url(../img/i_tel.png);
}
/*吹き出し見出し*/

.bubble {
  position: relative;
  margin-bottom: 30px;
  padding: 10px 20px;
  border-radius: 40px;
  background: #710000;
	color:#ffffff;
	font-weight:700;
	font-size:22px;
}

.bubble:before,
.bubble:after {
  position: absolute;
  content: '';
  border-radius: 50%;
  background: #710000;
}

.bubble:before {
  bottom: -15px;
  left: 30px;
  width: 30px;
  height: 30px;
}

.bubble:after {
  bottom: -30px;
  left: 50px;
  width: 15px;
  height: 15px;
}
.bubble2 {
  position: relative;
  margin-bottom: 30px;
  padding: 10px 20px;
  border-radius: 40px;
  background: #13694C;
	color:#ffffff;
	font-weight:700;
	font-size:22px;
}

.bubble2:before,
.bubble2:after {
  position: absolute;
  content: '';
  border-radius: 50%;
  background: #13694C;
}

.bubble2:before {
  bottom: -15px;
  left: 30px;
  width: 30px;
  height: 30px;
}

.bubble2:after {
  bottom: -30px;
  left: 50px;
  width: 15px;
  height: 15px;
}
/*===========================================================*/


/*スクロール途中から上部固定 */


/*===========================================================*/

#header {
  height: 110px;
  /*高さ指定*/
  width: 100%;
  /*横幅指定*/
  z-index: 999;
  /*最前面へ*/
  /*以下はレイアウトのためのCSS*/
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: center;
  padding: 20px 100px 20px 0;
  background-color: #D92028;
}

#header.m_fixed {
  position: fixed;
  /*fixedを設定して固定*/
  top: 0;
}


/*==ふわっと出現させるためのCSS*/


/*　上に上がる動き　*/

#header.UpMove {
  position: fixed;
  width: 100%;
  animation: UpAnime 0.5s forwards;
}

@keyframes UpAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(-100px);
  }
}


/*トップページ*/
.t_course{
    background: url(../img/bg_course.jpg);
		background-size:  cover;
		padding:50px 0;
}
.t_course p{
	font-size:15px;
	line-height:1.3;
	margin-bottom:10px;
}

.t_garden{

}

.g_waku,.g_waku2{
	background-color:#EEF9FF;
	border:15px #06A3DA solid;
	padding:5px;
	margin-bottom:30px;
	min-height:320px;
	color:#000000;
	text-align:center;
}
.g_waku{
}
.g_waku2{
	background-color:#06A3DA;
	color:#FFFFFF;
}

.g_waku p.g_name,
.t_contact p.g_name{
	font-size:20px;
	font-weight:700;
	color:#232139;
}
.g_waku p.g_add{
	text-align:left;
  background: url(../img/g_icon1.png) no-repeat left 3px;
	padding-left:25px;
	line-height: 1.3;
	padding-bottom: 10px;
	padding-top: 4px;
}
.g_waku p.g_tel{
	text-align:left;
  background: url(../img/g_icon2.png) no-repeat left 3px;
	padding-left:25px;
}
.g_waku p.g_more{
	text-align:right;
}

.t_banner{
	background-color:#CCCCCC;
}
.g_waku2 p.g_name{
	margin:30px 0;
	font-size:20px;
	font-weight:700;
	text-align:left;
	line-height:1.2;
	/*font-family:Arial, Helvetica, sans-serif;*/
	font-family:Arial;
	font-weight: 600;
}
@media screen and (max-width:995px) {

	.g_waku2 p.g_name{
		margin:10px 0;
	}
}

.g_waku2 p.g_add{
	text-align:left;
  background: url(../img/g_icon3.png) no-repeat left 3px;
	padding-left:32px;
	line-height:1.3;
	padding-bottom:10px;
}
.g_waku2 p.g_tel{
	text-align:left;
  background: url(../img/g_icon4.png) no-repeat left 3px;
	padding-left:32px;
	line-height:2.5;
}
.g_waku2 p.g_fax{
	text-align:left;
  background: url(../img/g_icon5.png) no-repeat left 3px;
	padding-left:32px;
	line-height:2.5;
}

.t_teacher{

}

.t_waku{
	background-color:#EEF9FF;
	margin-bottom:30px;
	min-height:300px;
	color:#000000;
	text-align:center;
	padding:0;
}
.t_waku div{
	padding:10px;
  background: url(../img/t_logo.png) no-repeat 15px;
	color:#06A3DA;
	font-size:24px;
}

.t_waku div p.name{
	text-align:left;
	padding-left:85px;
}
.t_news{
    background: url(../img/bg_news.jpg) right;
		background-size:  cover;
		padding:50px 0;
}

/*--------------------------------------------------------------
# NEWS
---------------------------------------------------------------- */
.tabs {
  margin-top: 50px;
	color:#000000;
  width: 100%;
}

.tabs input[name="tab_item"] {
  display: none;
}

.tabs input:checked+.tab_item {
  color: #D92028;
}

.tab_item {
	font-family:"游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS    PGothic", sans-serif;
/*	font-family: 'Kosugi Maru', sans-serif;*/
	font-family: Century Gothic , Arial , "游ゴシック" , sans-serif;
	font-weight:800;
  width: 18%;
	margin:1%;
  padding: 3px 0;
  font-size: 16px;
  text-align: center;
  color: #000000;
  background-color:rgba(255, 255, 255, 0.7);
  display: block;
  float: left;
  transition: all 0.2s ease;
  box-sizing: border-box;
  cursor: pointer;
	border-radius: 100px;
}

.tab_item:nth-of-type(1) {
  margin-right: 0.5%;
}

.tab_item:nth-of-type(3) {
  margin-left: 0.5%;
}

#info:checked~#info_content, #i_info:checked~#i_info_content, #e_info:checked~#e_info_content,#b_info:checked~#b_info_content,#o_info:checked~#o_info_content {
  display: block;
}

.tab_content {
  display: none;
  clear: both;
  overflow: hidden;
  padding-top: 30px;
}
.flexbox-basic {
    display: flex;
    flex-direction: row;
    align-items: stretch;
}

.category-icon {
		background-color:rgba(255, 255, 255, 0.9);
		border-radius: 100px;
		padding: 1px 10px;
		box-sizing: border-box;
		margin-right:15px;
		width:130px;
		text-align:center;
		font-size:14px;
		height:30px;
		float:right;
		display:table-row-group;
}
.c1{color:#0000CC;}
.c2{color:#FF6600;}
.c3{color:#009933;}
.c4{color:#FF3399;}



.news_list a{color:#000000;}
.news_list a:hover {  color: #1F7880;}


.news_list dl {
    padding: 10px 0;
    border-bottom: 1px solid #cdcdcd;
}
.news_list dl dt {
    width: 240px;
/*		font-weight:100;*/
		font-size:15px;
		padding-top:5px;
}

.news_list dl dd {
    width:  calc(100% - 250px);
}
@media screen and (max-width:500px) {
	.flexbox-basic {
		display:block;
	}
	.news_list dl dt,
	.news_list dl dd {
		width:100%;
	}
}
/*** Testimonial ***/
.testimonial-carousel .owl-dots {
    margin-top: 15px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.testimonial-carousel .owl-dot {
    position: relative;
    display: inline-block;
    margin: 0 5px;
    width: 15px;
    height: 15px;
    background: #DDDDDD;
    border-radius: 2px;
    transition: .5s;
}

.testimonial-carousel .owl-dot.active {
    width: 30px;
    background: var(--primary);
}

.testimonial-carousel .owl-item.center {
    position: relative;
    z-index: 1;
}

.testimonial-carousel .owl-item .testimonial-item {
    transition: .5s;
}

.testimonial-carousel .owl-item.center .testimonial-item {
    background: #FFFFFF !important;
    box-shadow: 0 0 30px #DDDDDD;
}
.testimonial-carousel .owl-dot.active {
    width: 30px;
    background: #06A3DA;
}
.t_cbox{
	min-height:160px;
}
.bg-light{
	background-color: #EEF9FF !important;
}


.t_contact p.g_add{
	text-align:left;
  background: url(../img/g_icon1.png) no-repeat left 3px;
	padding-left:28px;
	line-height: 1.3;
	padding-bottom: 10px;
	padding-top: 4px;
}
.t_contact p.g_tel{
	text-align:left;
  background: url(../img/g_icon2.png) no-repeat left 3px;
	padding-left:28px;
}
.t_contact p.g_time{
	text-align:left;
  background: url(../img/g_icon6.png) no-repeat left 3px;
	padding-left:28px;
}

@media screen and (max-width:960px) {
	.tab_item {
    font-size: 12px;
		width:31%;
	}
}
/*　下に下がる動き　*/

#header.DownMove {
  position: fixed;
  width: 100%;
  animation: DownAnime 0.5s forwards;
}

@keyframes DownAnime {
  from {
    opacity: 0;
    transform: translateY(-100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media screen and (max-width:1280px) {
	#header {
			padding: 20px 0;
	}
}

@media screen and (max-width:960px) {
  #header, #header.UpMove, #header.DownMove {
    animation: none;
    height: auto;
    padding: 0;
    display: block;
  }
}

.TextTyping {
  text-align: center;
}

/*========= テキストを滑らかに出現させるためのCSS ===============*/
span.smoothText {
  overflow: hidden;
  display: block;
}

/* アニメーションで傾斜がついている文字列を水平に戻す*/
span.smoothTextTrigger{
  transition: .8s ease-in-out;
  transform: translate3d(0,100%,0) skewY(12deg);
  transform-origin: left;
  display: block;
}
span.smoothTextTrigger.smoothTextAppear{
    transform: translate3d(0,0,0) skewY(0);
}


/*==================================================
クリックしたらナビが上から下に出現
===================================*/

@media screen and (max-width:960px) {
	#header h1{display:none;}
  #g-nav {
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position: fixed;
    z-index: 999;
    /*ナビのスタート位置と形状*/
    top: -120%;
    left: 0;
    width: 100%;
    height: 100vh;
    /*ナビの高さ*/
    background: rgba(0, 0, 0, 0.8);
    /*動き*/
    transition: all 0.6s;
  }
  /*アクティブクラスがついたら位置を0に*/
  #g-nav.panelactive {
    top: 0;
  }
  /*ナビゲーションの縦スクロール*/
  #g-nav.panelactive #g-nav-list {
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999;
    width: 100%;
    height: 100vh;
    /*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }
  /*ナビゲーション*/
  #g-nav ul {
    /*ナビゲーション天地中央揃え*/
    width: 90%;
    margin: 100px auto 0 auto;
  }
  #g-nav ul ul {
    width: 100%;
    margin: 0;
  }
  /*プルダウンナビのCSS*/
  #g-nav ul li.has-child ul {
    position: relative;
    left: 0;
    top: 0;
    width: 100%;
    visibility: visible;
    /*JSで制御するため一旦表示*/
    opacity: 1;
    /*JSで制御するため一旦表示*/
    display: none;
    /*JSのslidetoggleで表示させるため非表示に*/
    transition: none;
    /*JSで制御するためCSSのアニメーションを切る*/
    transform: none;
  }
  /*リストのレイアウト設定*/
  #g-nav li {
    list-style: none;
    text-align: center;
  }
  #g-nav li a {
    color: #aaa;
    text-decoration: none;
    padding: 10px;
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: bold;
  }
}

.mtop{
	display:none;
}

/*==================================================
3本線が奥行きを持って回転して×に
===================================*/

.g-nav-openbtn {
  display: none;
}

@media screen and (max-width:960px) {
	.mtop{
		display:block;
	}
  .g-nav-openbtn {
    display: block;
    position: fixed;
    z-index: 9999;
    /*ボタンを最前面に*/
    top: 0px;
    right: 1px;
    cursor: pointer;
    width: 50px;
    height: 50px;
		background-color:rgba(30,35,139,0.6);
  }
  /*ボタン内側*/
  .g-nav-openbtn .openbtn-area {
    transition: all .4s;
  }
  .g-nav-openbtn span {
    display: inline-block;
    transition: all .4s;
    /*アニメーションの設定*/
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
    background: #fff;
    width: 45%;
  }
  .g-nav-openbtn span:nth-of-type(1) {
    top: 15px;
  }
  .g-nav-openbtn span:nth-of-type(2) {
    top: 23px;
  }
  .g-nav-openbtn span:nth-of-type(3) {
    top: 31px;
  }
  /*activeクラスが付与されると
線と周りのエリアが回転して×になる*/
  .g-nav-openbtn.active .openbtn-area {
    transform: rotateY(-360deg);
  }
  .g-nav-openbtn.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-135deg);
    width: 30%;
  }
  .g-nav-openbtn.active span:nth-of-type(2) {
    opacity: 0;
  }
  .g-nav-openbtn.active span:nth-of-type(3) {
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(135deg);
    width: 30%;
  }
	
}


/*==================================================
左から右に線が伸びる（下部）
===================================*/

.nav01c li a {
  /*線の基点とするためrelativeを指定*/
  position: relative;
}

.nav01c li.current a, .nav01c li a:hover {
  color: #eee;
}
/*現在地とhoverの設定*/

.nav01c li.current a::after, .nav01c li a:hover::after {
  transform: scale(1, 1);
  /*X方向にスケール拡大*/
}

@media screen and (max-width:960px) {
  .nav01c li a::after {
    display: none;
  }
	.nav01c li a:hover:before  {
			top:5px;
	}
}


/*==================================================
	縦線が動いてスクロールを促す
===================================*/


/*スクロールダウン全体の場所*/

.scrolldown1 {
  /*描画位置※位置は適宜調整してください*/
  position: absolute;
  right: 40px;
  bottom: 3%;
  /*全体の高さ*/
  height: 50px;
}


/*Scrollテキストの描写*/

.scrolldown1 span {
  /*描画位置*/
  position: absolute;
  left: -15px;
  top: -15px;
  /*テキストの形状*/
  color: #eee;
  font-size: 0.7rem;
  letter-spacing: 0.05em;
}


/* 線の描写 */

.scrolldown1::after {
  content: "";
  /*描画位置*/
  position: absolute;
  top: 0;
  /*線の形状*/
  width: 1px;
  height: 30px;
  background: #eee;
  /*線の動き1.4秒かけて動く。永遠にループ*/
  animation: pathmove 1.4s ease-in-out infinite;
  opacity: 0;
}


/*高さ・位置・透過が変化して線が上から下に動く*/

@keyframes pathmove {
  0% {
    height: 0;
    top: 0;
    opacity: 0;
  }
  30% {
    height: 30px;
    opacity: 1;
  }
  100% {
    height: 0;
    top: 50px;
    opacity: 0;
  }
}


/*==================================================
少し出ていた線が伸びる
===================================*/

.btnlinestretches2 {
  /*線の基点とするためrelativeを指定*/
  position: relative;
  /*ボタンの形状*/
  color: #eee;
  padding: 5px 40px;
  display: inline-block;
  text-decoration: none;
  outline: none;
}


/*線の設定*/

.btnlinestretches2::before, .btnlinestretches2::after {
  content: '';
  /*絶対配置で線の位置を決める*/
  position: absolute;
  /*事前に出現させる線の形状*/
  border: solid #eee;
  width: 10px;
  height: 10px;
  /*アニメーションの指定*/
  transition: all 0.3s ease-in-out;
}

.btnlinestretches2::before {
  /*事前に出現させる線の位置*/
  top: 0;
  left: 0;
  /*事前に出現させる線の形状*/
  border-width: 1px 0 0 1px;
}

.btnlinestretches2::after {
  /*事前に出現させる線の位置*/
  bottom: 0;
  right: 0;
  /*事前に出現させる線の形状*/
  border-width: 0 1px 1px 0;
}


/*hoverした際の線の形状*/

.btnlinestretches2:hover::before, .btnlinestretches2:hover::after {
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  border-color: #eee;
}


/*==================================================
ページの指定の範囲内で出現（下から上)
===================================*/


/*リンクの形状*/

#page-top a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  border: 1px solid #adadad;
  color: #fff;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  font-size: 0.6rem;
  transition: all 0.3s;
	background-color:#D92028;
}

#page-top a:hover {
  background: #777;
}


/*リンクを右下に固定*/

#page-top {
  position: fixed;
  right: 10px;
  bottom: 10px;
  z-index: 2;
  /*はじめは非表示*/
  opacity: 0;
  transform: translateX(100px);
}

#page-top span {
  display: inline-block;
  width: 13px;
  height: 13px;
  border-top: 1px solid #fff;
  border-left: 1px solid #fff;
  transform: rotate(45deg);
  margin: 8px 0 0 0;
}


/*　左の動き　*/

#page-top.LeftMove {
  animation: LeftAnime 0.5s forwards;
}

@keyframes LeftAnime {
  from {
    opacity: 0;
    transform: translateX(100px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}


/*　右の動き　*/

#page-top.RightMove {
  animation: RightAnime 0.5s forwards;
}

@keyframes RightAnime {
  from {
    opacity: 1;
    transform: translateX(0);
  }
  to {
    opacity: 1;
    transform: translateX(100px);
  }
}

/*===========================================================*/
/* 任意の場所をクリックすると隠れていた内容が開き、先に開いていた内容が閉じる*/
/*===========================================================*/

/*アコーディオン全体*/
.accordion-area{
    list-style: none !important;
    width: 96%;
    max-width: 900px;
    margin:0 auto;
}

.accordion-area li{
    margin: 10px 0;
}

.accordion-area section {
    border: 1px solid #ccc;
    background-color: #fff;
}

/*アコーディオンタイトル*/
.title {
    position: relative;/*+マークの位置基準とするためrelative指定*/
    cursor: pointer;
    font-size:1rem;
    font-weight: normal;
    padding: 3% 3% 3% 50px;
    transition: all .5s ease;
}

@media only screen and (max-width: 600px) {
  .gallery {
    columns: 2;
  }
}

/*アイコンの＋と×*/
.title::before,
.title::after{
    position: absolute;
    content:'';
    width: 15px;
    height: 2px;
    background-color: #333;
    
}
.title::before{
    top:48%;
    left: 15px;
    transform: rotate(0deg);
    
}
.title::after{    
    top:48%;
    left: 15px;
    transform: rotate(90deg);

}

/*　closeというクラスがついたら形状変化　*/

.title.close::before{
	transform: rotate(45deg);
}

.title.close::after{
	transform: rotate(-45deg);
}

/*アコーディオンで現れるエリア*/
.box {
	display: none;/*はじめは非表示*/
	background: #f7f7f7;
	margin:0 3% 3% 3%;
	padding: 3%;
}

.delay-time02{
animation-delay: 0.2s;
}

.delay-time04{
animation-delay: 0.4s;
}

.box2{
/*	opacity: 0;*/
}
.fadeUpTrigger2 {
	opacity: 0;
}
/*===========================================================*/


/* 動きを組み合わせて全画面で見せる */


/*===========================================================*/

#slider {
  width: 100%;
  height: 100vh;
  /*スライダー全体の縦幅を91vhにする*/
}


@media only screen and (max-width: 600px) {
  .gallery {
    columns: 2;
  }
}


.bgextend {
  animation-name: bgextendAnimeBase;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  position: relative;
  overflow: hidden;
  /*　はみ出た色要素を隠す　*/
  opacity: 0;
}

@keyframes bgextendAnimeBase {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}


/*中の要素*/

.bgappear {
  animation-name: bgextendAnimeSecond;
  animation-duration: 1s;
  animation-delay: 0.6s;
  animation-fill-mode: forwards;
  opacity: 0;
}

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

.bgLRextend::before {
  animation-name: bgLRextendAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #0099CB;
  /*伸びる背景色の設定*/
}

@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);
  }
}

.bgRLextend::before {
  animation-name: bgRLextendAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #0099CB;
  /*伸びる背景色の設定*/
}

@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;
}


/*==================================================
 7 画像リンクの動き
===================================*/

.zoomInRotate {
  /*opacityとtransformがかけあわさると生じる表示バグの回避*/
  backface-visibility: hidden;
}

.zoomInRotate img {
  transform: scale(1);
  transition: .3s ease-in-out;
  /*移り変わる速さを変更したい場合はこの数値を変更*/
}

.zoomInRotate a:hover img {
  /*hoverした時の変化*/
  transform: rotate(5deg) scale(1.2);
  /*拡大、回転の値を変更したい場合はこの数値を変更*/
}

.bg_sptitle{
	color:#D92028;
/*	background-color:#D92028;*/
	margin-bottom:60px;
}
.bg_sptitle h2{
	margin:0px;
	padding-top:30px;
	line-height:0.95em;
	font-weight:bold;
	text-shadow: 0.05em 0.05em 0.05em rgba(0,0,0,.2);
	text-align:center;
}

.bg_sptitle:before {
    position: absolute;
    left: 0;
    display: block;
    width: 100%;
    height: 13px;
    background: url(../img/bg_color3.png) repeat-x 50% -1px;
    content: '';
}
.h01 {
    position: relative;
    /* color: #1e3d93; */
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    border-bottom: 2px solid #ddd7d5;
    padding: 10px 0 5px;
    margin-bottom: 15px;
}

ul.s_ul li{
	text-align:left;
	border:1px solid #ccc;
}
ul.s_ul li p{
	padding-left:20px;
	
}
@media only screen and (max-width: 768px) {
	ul.s_ul{
		display:block;
		max-width:500px;
		margin: 0 auto;
	}
	ul.s_ul li{
		margin-bottom:20px;
	}
	ul.s_ul li:nth-child(2) {
    margin: 0;
		margin-bottom:20px;
	}
}
.g_waku3{
	text-align:left;
	width:100%;
	padding:0 40px;
}

#g1,
#g2,
#g3,
#g4,
#g5 {
  margin-top:-120px;
  padding-top:120px;
}