@charset "UTF-8";
body {
	background-size: auto auto;
	/*background-color: rgba(211, 243, 253, 1);
	background-image: repeating-linear-gradient(135deg, transparent, transparent 20px, rgba(221, 247, 255, 1) 20px, rgba(221, 247, 255, 1) 40px);*/
}

img{
	width:100%;
}


i{
	margin: 0 0.5rem;
}

.end{
	color:red;
	font-size: 2.2rem;
	font-weight: bold;
	background: #ffffff;
	padding: 1rem;
	text-align: center;
	
}

@media only screen and (max-width: 750px) {
.end{
	font-size: 1.4rem;
	text-align: left;	
}
	
}


.fa-twitter:before {
    content: '𝕏' !important;
    font-family: sans-serif !important;
    font-weight: bold;
}

.font_small{
	font-size: 70%;
}



/* メインビジュアル 
----------------------------------------*/

.main{
	width: 100%;
	height: auto;
	background-image: url(../img/main_bg_pc.jpg);
	background-size: cover;
	background-position: bottom;
	display: flex;
	justify-content: center;
	align-items:  flex-end;
	/*margin-bottom: 6rem;*/
}

.main h1{
	width:100%;
	max-width: 1400px;
}

@media only screen and (max-width: 750px) {
.main{
	background-image: url(../img/main_bg_sp.jpg);
	/*margin-bottom: 3rem;*/
}

.main h1{
	padding-top: 1rem;
	width:100%;
}
	
}


/*slick*/
.slider {
width:100%;
margin:0 auto;
line-height: 0;
}

.slider img {
    width:100%;/*スライダー内の画像を横幅100%に*/
    height:auto;
}


/*コンテンツ
---------------------*/
#box_contents{
	width: 100%;
	padding: 0;
	margin: 0 auto;

	background: url(../img/cont_bg_pc.png), #f4f9ff;
	background-repeat: repeat-y;
	background-position: top center;
	z-index: 0;
}

section{
	width: 100%;
	margin: 0rem auto;
	padding: 0;
}

section.bg_white{
	background: #ffffff;
}

section.bg_blue{
	/*background: #f4f9ff;*/
}

section a{
	color: #028dd2;
}

section a:hover {
  opacity: 0.8;
	transition: 0.3s;
}

/* 背景画像TOP */
section.bg_blue_top{
	position: relative;/*相対配置*/
	background: #f4f9ff;
	background: url(../img/cont_bg_pc.png), #f4f9ff;
  background-repeat: repeat-y;
  background-position: top center;
}

section.bg_blue_top:before {/*スペースを作る*/
  content: '';
  top: 0;
  left: 0;
  width: 100%;/*指定したい幅*/
  display: block;
}

section.bg_blue_top:after {/*画像を絶対配置*/
  position: absolute;
  content: '';
  top: -40px;
  left:0;
  display: block;
  width: 100%;/*幅*/
  height: 800px;/*どれだけデカくなってもはみ出ないであろう高さを指定*/
  background-image: url(../img/bg_blue_top.png);
  background-size: contain;
  background-repeat: no-repeat;/*画像を繰り返さない*/
  }

@media only screen and (max-width: 750px) {

/*コンテンツ
---------------------*/
#box_contents{
	background: url(../img/cont_bg_sp.png), #f4f9ff;
	background-size: contain;
	background-repeat: repeat;
}

/* 背景画像TOP */
section.bg_blue_top{
	background: url(../img/cont_bg_sp.png), #f4f9ff;
	background-size: contain;
	background-repeat: repeat;
}

section{
	width: 100%;
}

section.bg_blue_top:after {/*画像を絶対配置*/
  position: absolute;
  content: '';
  top: -16px;
  left:0;
}

}


/*見出し
---------------------*/

.midashi01 {
	position: relative;
	text-align: center;
	font-size: 4rem;
	color: #028dd2;
	margin-bottom:4rem;
	font-family: "RocknRoll One", sans-serif;
}

.midashi01_mini {
	font-size: 40%;
}

.midashi01:before {
	content: '';
	position: absolute;
	bottom: -15px;
	display: inline-block;
	width: 10%;
	height: 5px;
	left: 50%;
	transform: translateX(-50%);
	background-color: #028dd2;
	border-radius: 2px;
}

.theme_box{
	width: 100%;
	padding: 2rem;
	background-color: white;
	box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;	
}

.theme_box_midashi_top,
.theme_box_midashi_btm{
	font-size: 4rem;
	text-align: center;
	color: #028dd2;
	margin-bottom: 2rem;
	font-family: "RocknRoll One", sans-serif;
}

.theme_box_midashi_btm{
	margin: 2rem 0 0;
}

.theme_box p{
	font-size: 2rem;
	line-height: 3rem;
	margin-bottom: 2rem;
}

.marker_yellow{
	background: linear-gradient(transparent 40%, yellow 60%);
}

.txt_red{
	color: red;
}

.cont_box{
	width: 1100px;
	max-width: 1300px;
	margin: 0 auto;
	padding: 8rem 0;

	position: relative;
  z-index: 1;
}

.detail_txt{
	font-size: 2.2rem;
	font-family: "M PLUS Rounded 1c", sans-serif;
	line-height: 2;
	transform:rotateZ(0.03deg); /* fontのギザギザを取る */
	font-weight: bold;
}


@media only screen and (max-width: 750px) {
.midashi01 {
	font-size: 2.8rem;
}

.theme_box_midashi_top,
.theme_box_midashi_btm{
	font-size: 2rem;
}

.theme_box_midashi_btm{
	margin: 2rem 0 0;

}

.theme_box p{
	font-size: 1.6rem;
	line-height: 2rem;
	text-align: justify;
}

section.bg_blue_top > .cont_box{
	padding: 4rem 0;
}

.cont_box{
	width: 90%;
	max-width: 90%;
	margin: 0 auto;
	padding: 4rem 0 0;
}

.cont_box.btm{
	padding: 4rem 0;
}

.detail_txt{
	font-size: 1.6rem;
}

.theme_box_midashi_sp{
	font-size: 2.8rem;	
}

}


/*イベント*/

.event_box{
	width: 100%;
	margin: 0 auto;
}

.event_box table {
  width: 100%;
	margin-bottom: 1rem;
	font-size: 1.8rem;
	box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;

	font-family: "M PLUS Rounded 1c", sans-serif;
	line-height: 2;
	transform:rotateZ(0.03deg); /* fontのギザギザを取る */
	font-weight: bold;
	
}
.event_box table th, table td {
	border: solid 1px #2395d1;
	padding: 1.5rem;
	background-color: white;
}

.event_box table th{
	background: #d5f5ff;
	width: 30%;
	text-align: center;
	color: #028dd2;
	font-weight: bold;
}

.event_caption{
	font-size: 1.2rem;
	text-align: center;
	}

.launch_img{
	width: 40%;
	margin-bottom: 1rem;
}


.event_txt_mini {
	font-size: 80%;
}


@media only screen and (max-width: 750px) {	
.event_box table {
  width: 100%;
	font-size: 1.4rem;
}

.event_box table th, table td {
  display: block;
  width: 100%;
	border-top: none; /* 一旦、すべてのborder-topを削除 */
}
	
.event_box table tr:first-child th{
	border-top: 1px solid #06932f; /* 一番上にあるthだけborder-topを追加 */
  }

.event_box table th{
	font-size: 1.8rem;
	padding: 1rem;
}
	
.launch_img{
	width: 100%;
}

}



/*** ボタン用装飾 ***/
.button{
  text-align: center;
	width: 60%;
  margin: 0 auto 1.5rem;
}

/* リンク部分 */
.button a{
	width: 100%;
	margin: 0rem auto;
  display: inline-block;
	padding: 2rem;
  background: #DD0000; /*ボタン色*/
	font-size: 2.6rem;
  color: yellow;
  text-decoration: none; /*下線削除*/
	box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
	border-radius: 50px;
	border: solid 4px white;
}

/*** ボタンを光らせる ***/
.btn-shine a{
  position: relative; /*疑似要素の起点*/
  overflow: hidden; /*範囲外の光を隠す*/
}

/*** ボタンをキラッとさせる ***/
.btn-shine a:after{
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 10%;
  height: 150%;
  background: #fff; /*光の色*/
  transform: rotate(45deg); /*45度傾ける*/
  animation: reflect 5s ease-in-out infinite;
/*animation: アニメ名｜光る周期｜動き方｜ループ*/
}

/*** 光のアニメーション ***/
@keyframes reflect{
  0%,75%{
    transform: rotate(45deg) scale(0);
    opacity: 1;
  }
  100%{
    transform: rotate(45deg) scale(100);
    opacity: 0;
  }
}

@media only screen and (max-width: 750px) {
.button{
  text-align: center;
	width: 75%;
  margin: 0 auto 1.5rem;
}

.button a{
	width: 100%;
	font-size: 1.6rem;
}
	
}

.box_message_txt{
	text-align: center;
	font-size: 1.4rem;
}


/*スケジュール*/

.schedule_box{
	width: 100%;
	margin-bottom: 1.5rem;
	background-color:rgba(255,255,255,1);
	border-radius: 30px;
	padding: 2rem 0;
}

.schedule_box img{
	width: 1031px;
	height: auto;
	display: block;
	margin: 0 auto;
	}


/*応募フォーム*/

.cont_box_form{
	width: 1100px;
	margin: 0 auto 8rem;
	padding: 0;
}

.form_attention {
	width: 1100px;
	background-color: white;
	border: #0095db solid 5px;
	margin: 0 auto;
	padding: 6rem 6rem;
}


.form_attention_midashi {
	text-align: center;
	margin-bottom: 2rem;
	color: #028dd2;
	font-size: 2.4rem;
	font-weight: bold;
}

.form_attention p{
	font-size: 1.8rem;
	margin-bottom: 1rem;
	font-weight: bold;
}


.form_attention_center {
	text-align: center;
}

.txt_blue{
		color: #028dd2;
}

.form_attention p.note_txt{
	text-align: center;
	font-size: 1.4rem;
}


@media only screen and (max-width: 750px) {

/*スケジュール*/

.schedule_box{
	width: 100%;
	margin-bottom: 1.5rem;
	background: none;
	padding: 0;
}

.schedule_box img{
	width: 100%;
	}


.cont_box_form{
	width: 90%;
	margin: 0 auto 8rem;
}

.form_attention {
	width: 100%;
	padding: 6rem 2rem;
}
	
.form_attention_midashi {
	font-size: 1.6rem;
}
.form_attention p{
	font-size: 1.4rem;
}

.form_attention p.note_txt{
	text-align: center;
	font-size: 1.4rem;
}
}



/* PCのみ表示
------------------------------*/
@media only screen and (max-width: 750px) {

	.for_pc{
		display: none;
	}
	
}

/* スマホのみ表示
------------------------------*/

@media only screen and (min-width: 751px) {

	.for_sp{
		display: none;
	}
	
}


/* header/footer --------------------*/

.header_simple {
   background: #2395d1;
}

.footer_simple {
    background: #008bdb;
}

.footer_simple .copyright{
	color: #ffffff;
}