* {
  margin:0; padding:0;
}

/*-------------------------------------------------------
▼ header footer
--------------------------------------------------------*/


.flex-box_center{
max-width: 1024px;
display: block;
margin:0 auto;
}
.flex-box_menu{
display           : -webkit-box;
display           : -ms-flexbox;
display           : flex;
-webkit-box-pack  : justify;
-ms-flex-pack     : justify;
justify-content   : space-between;
align-items       : flex-start;
-webkit-flex-wrap : wrap; /* Safari */
flex-wrap         : wrap;
height: 50px;	
}


.flex_l_menu{flex:0;}

.flex_r_menu{flex:0.8!important;}

.flex_r_menu a {color: #FFF!important;}


.main-nav{
width:100%!important;
height: 50px;
z-index: 1;
background-color: #E50053;
margin: -1px 0 auto 0;
text-align: center!important;
}

.main-nav img{
top: 50%;
height: 40px;
margin-top:5px;
text-align: center!important;
padding:0 20px;
}

.top_minilink
{
font-size: 14px;
text-align: right;
padding:15px 0 15px 0;
}
.top_minilink > a{margin-right:20px;}
.top_minilink > a:before
{
  font-family: "Font Awesome 5 Pro";
  content: "\f101";
  left : 0em; /*左端からのアイコンまでの距離*/
  font-weight:600;
}



@media screen and (max-width: 1024px) {
	
.flex-box_menu{height: 50px;padding:0px 20px!important;}
.flex_l_menu{margin:auto 0!important;}		
	
.main-nav{
width:100%!important;
height: 50px;
z-index: 1;
background-color: #E50053;
margin: -1px 0 auto 0;
text-align: center!important;
}
.main-nav img{
top: 50%;
height: 40px;
margin-top:-5px;
text-align: center!important;
}

}




@media screen and (max-width: 1024px) {
.nav_title{font-size: 95%!important;}
}



footer{
  background-color: #E50053;
  text-align:center!important;
  position         : absolute;
  width:100%;
  min-height:80px!important;
  overflow: hidden;
  padding-top:0px;
  margin:0px auto 0 auto;
	padding-bottom: 50px;
	height: 105vh;
}



@media screen and (max-width: 1024px) {
footer{
font-size: 100%;
}
}


.footer2{
  text-align:center!important;
  width:100%!important;
  height:auto!important;
  overflow: hidden;
}

.footer2_in{
  max-width:1024px!important;
  margin:0px auto 0 auto;
  }

@media screen and (max-width: 1024px) {
.footer2_in{
  max-width:1024px!important;
  margin:10px 50px 0 50px;
  }
}




.cssgrid_footer { /*フッターリンク集用*/
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr))!important;
  grid-auto-rows: 1fr;
  grid-gap: 0.8em;
  border: 0 solid #ddd;
  padding: 0.5em;
  margin: 0 0 2em;
}


.footer_link ol{
list-style: none;
padding-bottom:20px;
}



.footer_link ol li{
text-align:left!important;
margin-bottom:5px!important;
color:#fff!important;
}


.footer_link ol li a{
  text-decoration:none!important;
  color:#fff;
}

.footer_link ol li a:hover{
 text-decoration:underline;
color:pink!important;
}



.footer_link ol li:before{
  content      : " \f105"!important;
  font-family  : "Font Awesome 5 Pro";
  margin-right : 5px!important;
  font-weight:700;
color:#fff;
}

.footer_link ol li:first-child{
font-weight:bold;
font-size:115%;
border-bottom:solid 1px #fff;
}

.footer_link ol li:first-child:before{
content: none!important;
}



ul.footer-menu li {
display: inline;
font-size: 80%!important;
margin :auto 10px!important;
display:inline-block!important;	
}

ul.footer-menu li:before {
 content      : " \f105"!important;
  font-family  : "Font Awesome 5 Pro";
  margin-right : 5px!important;
  font-weight:700;
color:#fff;
}














/*ヘッダーのウェーブ*/
.header {
  position:relative;
  text-align:center;
  color:#333;
  background-blend-mode: color-burn;
  background-size: cover;
  /*背景に画像を入れる場合はここで指定*/
  background-color: #0c457b;
}

.inner-header {
  height:30vh;
  width:100%;
  margin: 0;
  padding: 0;
}

.flex { /*Flexbox for containers*/
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.waves {
  position:relative;
  width: 100%;
  height:10vh;
  margin-bottom:-7px; /*Fix for safari gap*/
  min-height:50px;
  max-height:100px;
}

.content {
  position:relative;
  height:10vh;
  text-align:center;
  background-color: white;
}

/* Animation */

.parallax > use {
  animation: move-forever 25s cubic-bezier(.55,.5,.45,.5)     infinite;
}
.parallax > use:nth-child(1) {
  animation-delay: -2s;
  animation-duration: 7s;
}
.parallax > use:nth-child(2) {
  animation-delay: -3s;
  animation-duration: 10s;
}
.parallax > use:nth-child(3) {
  animation-delay: -4s;
  animation-duration: 13s;
}
.parallax > use:nth-child(4) {
  animation-delay: -5s;
  animation-duration: 20s;
}
@keyframes move-forever {
  0% {
   transform: translate3d(-90px,0,0);
  }
  100% { 
    transform: translate3d(85px,0,0);
  }
}
/*ヘッダーのウェーブ*/


/*-------------------------------------------------------
▼ header footer
--------------------------------------------------------*/


/*-------------------------------------------------------
▼ 基本セクション
--------------------------------------------------------*/
section{
margin           : 0 auto;
width            : 100%;
padding:50px 0px 50px 0px;
text-align: justify;/*テキストの揃え*/
text-justify: inter-ideograph;/*テキストの揃え*/
 word-break:break-all;
}

section:nth-child(even){
background-color: #fbfbfb	;
}

.section-in{
margin           : 0 auto;
max-width:1024px; 	
background-color: ;
}

@media screen and (max-width: 1024px) {
	
.section-in{
margin   : 0 10px;
}
}


/*-------------------------------------------------------
▼ divの装飾
--------------------------------------------------------*/

.item_box{margin:5px!important; padding:5px!important; max-width:1024px;  word-wrap:break-word;}

.item_box_line{margin: 0px auto; padding:10px 20px; width:auto;background-color:;border:1px solid #E50053; word-wrap:break-word;}

.item_box_beta{
	margin: 0px auto; 
	padding:10px 20px;
	width:auto;
	background-color:rgba(229,0,83,0.05);
	border:0px solid #E50053; word-wrap:break-word;}


.kadomaru {
border-radius: 5px;
-webkit-border-radius: 5px;
 -moz-border-radius: 5px;
}

.ue_kadomaru { 
border-radius: 5px 5px 0 0 / 5px 5px 0 0;
-webkit-border-radius: 5px 5px 0 0 / 5px 5px 0 0;
-moz-border-radius: 5px 5px 0 0 / 5px 5px 0 0;

}

.shadow {
box-shadow: 0 1px 5px rgba(0,0,0,.2); 
-webkit-box-shadow: 0 1px 5px rgba(0,0,0,.2); 
-moz-box-shadow: 0 1px 5px rgba(0,0,0,.2); 
-o-box-shadow: 0 1px 5px rgba(0,0,0,.2);  
}


.speech-bubble {/*吹き出し飾り*/
	position: relative;
	background: #fff0ff;
	border-radius: .4em;
	padding:20px!important;
}

.speech-bubble:after {/*吹き出し飾りの下サンカク*/
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 0;
	height: 0;
	border: 25px solid transparent;
	border-top-color: #fff0ff;
	border-bottom: 0;
	border-left: 0;
	margin-left: -12.5px;
	margin-bottom: -25px;
}









