@viewport,
@-ms-viewport {
	zoom: 1.0;
	width: extend-to-zoom;
}
* {
	margin: 0;
	padding: 0;
	-webkit-margin-before: 0;
	-webkit-margin-after: 0;
	-webkit-margin-start: 0;
	-webkit-margin-end: 0;
	-webkit-padding-start: 0;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;

}
::-moz-selection {
  color: #fff;
  background: #EC7AAA;
	font-size: 110%;
}
::selection {
  color: #fff;
  background: #EC7AAA;
	font-size: 110%;
}
html {
	margin: 0;
	padding: 0;
}
body {
	width: 100%;
	max-width: 100%;
	overflow-x: hidden;
	margin: 0;
	padding: 0;
	font-family: dnp-shuei-mgothic-std, sans-serif;
	font-weight: 400;
	font-style: normal;
	color: #555;
	font-size: 15px;
	line-height: 160%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	word-break: normal;
	word-wrap: normal;
}

h1,h2,h3,h4,h5,h6,p{
		overflow: hidden;

}
.kyoudou_logo{
width: 656px;
display: block;
margin: 4% auto;
}

small {
	font-size: 0.7em;
}

h4.subtitle{
	font-size:1.5em;
	font-family: vdl-lineg, sans-serif;
	font-weight: 400;
	font-style: normal;
	color: #1997FF;
	display: inline-block;
background: linear-gradient(to right, #ca76b7, #3c9bb6);
  -webkit-background-clip: text;
  -webkit-text-fill-color: rgba(255,255,255,0.0);
}

a.osakabtn001_pc{
	position: relative;
	top:-120px;
	width:480px;
}
.bgblack{
	background:#000;
}
	.line_img{width:90%;
	max-width:1000px;
display:block;
margin: 10px auto;}

@media all and (-ms-high-contrast:none){
  h4.subtitle{
    background: none;
  }
}

@media 	screen and (min-width:769px) {

	
.button_border{
  padding: 1px;
  background: linear-gradient(to right, #ca76b7, #3c9bb6);
	border-radius: 8px;
	box-sizing: border-box;
	display: inline-block;
	text-align: center;
}

a.button{
	border:1px solid #fff;
	background: linear-gradient(to right, #ca76b7, #3c9bb6);
	color:#fff;
	width: 300px;
	display: inline-block;
	border-radius: 8px;
	font-family: vdl-lineg, sans-serif;
	font-weight: 400;
	font-style: normal;
	padding:10px;
	vertical-align: middle;
	text-decoration: none;
	text-align: center;
}

a.button:hover{
	opacity: 0.7;
	color:#fff;
	text-decoration: none;

}
	
	
@media \0screen { /*ie8*/

a.button {
	padding-left:10px;
	padding-right:10px;
	padding-bottom:0;
	line-height: 2em;

}
}
	
@media screen and (min-width: 0\0) and (min-resolution: .001dpcm) {/*ie9*/

a.button {
	padding-left:10px;
	padding-right:10px;
	line-height: 2em;
	padding-bottom:0;

}
}
	
_:-ms-lang(x), a.button {/*ie10*/
	padding-left:10px;
	padding-right:10px;
	line-height: 2em;
	padding-bottom:0;
}
	
	
_:-ms-fullscreen, :root a.button {
	padding-left:10px;
	padding-right:10px;
	line-height: 2em;
	padding-bottom:0;
}


	

a.button img{
	width:15px;
	margin-left: 5px;
	vertical-align: middle;
}

.booth .button_border{
	width:322px;
	display: block;
	margin:0 auto 70px ;
}

.booth .button{
	width:320px;
	font-size:21px;
	display: block;
	margin: auto;

}
.contest .button_border{
	margin-top:20px;
}
.contest .button{
	font-size:28px;
	border:4px solid #fff;
	vertical-align: middle;
	padding:20px 30px;
}
.contest .button img{
	width:20px;
	margin-top:-1px;
}
.contest .button span{
	font-size:20px;
	
}
.interactboxinner .button{
	width:320px;
	font-size:21px;
}
.interactboxinner02right .button{
	width:320px;
	font-size:21px;
}
}


p {
	line-height: 160%;
	margin: 0 0 1em;
}

img {
	image-rendering: crisp-edges;
	max-width: 100%;
}
ul, li { list-style-type: none; }
a {
	color: #EC7AAA;
	text-decoration: none;
	transition: all 0.2s ease;
}


a.glay {
	color: #666;
	text-decoration: underline;
	transition: all 0.2s ease;
	line-height: 1.5em;
}

a:hover {
	color: #EC7AAA;
	text-decoration: underline;
	transition: all 0.2s ease;
}
a img {
	zoom: 1;
	filter: alpha(opacity=100);
	opacity: 1;
	-webkit-transition: opacity .2s ease-in-out;
	-moz-transition: opacity .2s ease-in-out;
	-ms-transition: opacity .2s ease-in-out;
	-o-transition: opacity .2s ease-in-out;
	transition: opacity .2s ease-in-out;
	transform: translateX(0);
	-webkit-transform: translateX(0);
	filter: blur(0);
	-webkit-filter: blur(0);
}
a:hover img {
	zoom: 1;
	filter: alpha(opacity=80);
	opacity: 0.8;
	-webkit-transition: opacity .2s ease-in-out;
	-moz-transition: opacity .2s ease-in-out;
	-ms-transition: opacity .2s ease-in-out;
	-o-transition: opacity .2s ease-in-out;
	transition: opacity .2s ease-in-out;
	transform: translateX(0);
	-webkit-transform: translateX(0);
	filter: blur(0);
	-webkit-filter: blur(0);
}





h5 {
	font-size: 1em;
	font-weight: bold;
}

h5.kiyaku {
	font-size: 1em;
	font-weight: bold;
	
}

ul.dotlist {
	padding: 0 1.4em;
}
ul.dotlist li {
	list-style-type: disc;
}

/* ボタン */
.btn {
	display: block;
	margin: 20px auto;
	max-width: 320px;
	color: #555;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	line-height: 35px;
	border: 3px solid #59C3DF;
	border-radius: 100px;
	background: #fff;
}
.btn:hover {
	text-decoration: none;
	color: #555;
	background: #FFED94;
	border: 3px solid #FFED94;
}

/* 参加ボタン */
.entry {
	padding: 0 0 30px 0;
}
.entry .btn {
	line-height: 45px;
	font-size: 20px;
	background: #FFED94;
	border-color: #fff;
}
.entry .btn:hover {
	background: #fff;
	color: #EC7AAA;
}


@media screen and (min-width:769px) {
	
	.sp{
		display:none;
	}
}
@media screen and (max-width:768px) {
	
	.pc{
		display:none;
		visibility:hidden;
	}
	.entry .btn {
		font-size: 16px;
	}
	  a.glay {
  color: #666;
  text-decoration: underline;
  transition: all 0.2s ease;
  line-height: 1.5em;
  font-size: 14px;
}
.kyoudou_logo{
	width:80%; 
	display: block;
	margin: 3% auto 10%;
}

}
.center{text-align:center;}

@media screen and (max-width:1030px) {
	.btn {
		max-width: 260px;
	}
	.entry .btn {
		max-width: 90%;
	}
	

}

h3 {
	font-size: 1.4em;
	line-height: 1.4em;
	text-align: center;
}



.note h5{
	font-family: dnp-shuei-mgothic-std, sans-serif;
	font-weight: 400;
	font-style: normal;
	color: #fff;
	background: linear-gradient(to right, #ca76b7, #3c9bb6);
	padding:5px;
	margin-top:20px;
	}

h4.divider {
	color: #59C3DF;
	position: relative;
	text-align: center;
	line-height: 1.2em;
	font-size: 1.2em;
	margin: 30px 0 15px;
}
h4.divider span {
	position: relative;
	display: inline-block;
	background: #fff;
	z-index: 2;
	padding: 0 15px;
}
h4.divider::before {
	content: "";
	position: absolute;
	top: 0; bottom: 0;
	left: 0; right: 0;
	margin: auto;
	display: block;
	height: 0;
	border-top: 1px solid #59C3DF;
	z-index: 1;
}
p.comment{
	border-bottom:1px dashed #7E7E7E;
	padding:5px 0;
	}
p.comment_last{
	padding:5px 0;
	}

/* レイアウト */

.page {
	width: 100%;
	padding:100px 0;
	background: url("../img/bg06.png") repeat;
}

.page .note{
	width: 1000px;
	padding:50px 40px;
	margin:0 auto 20px;
}

.main_content {
	display: block;
	position: relative;
	border-radius: 2px;
	overflow: visible;
}
.main_content::after {
	content: "";
	display: table; clear: both;
}
.main_content .inner {
	padding: 30px;
}
.main_content .inner::after {
	content:""; display: table; clear: both;
}
.main_content .image,
.main_content .content {
	display: inline-block;
	width: 70%;
	vertical-align: middle;
}
.main_content .image {
	width: 29%;
	padding: 10px;
	text-align: center;
}
.main_content .content {
	padding: 0 20px;
	font-size: 16px;
}
.content_max {
	max-width: 860px;
	margin: 0 auto;
}

@media screen and (max-width:1030px) {
	.container {
		width: 100%;
		padding: 0 3px;
	}
}
@media screen and (max-width:768px) {
	img{
		max-width:100vw;
	}
}


/* アンカーリンク位置調整 */
.anchor {
	position: relative;
	height: 0;
	display: block;
}
.anchor a {
	display: block;
	height: 4px;
	background: #f0f;
	position: absolute;
	top: -100px;
	z-index: 100;
}
@media screen and (max-width:768px) {
	.anchor a {
		top:-40px;
	}
}

/* ヘッダー */
header {
	background: url("../img/top.png") #fff top center no-repeat;
	overflow: hidden;
	position: relative;
	margin: 0 ;
	height: 700px;
}
header .bg_chara {
	width: 100%;
	position: absolute;
	top: 0; bottom: 0;
	background: url("../img/topbg.png") bottom center no-repeat;
	z-index: 10;
}
header .inner {
	position: relative;
	z-index: 10;
	text-align: center;
	margin: 40px auto 0;
	left:-250px;
	padding: 50px 0 130px;
}
header .inner h1 {
	font-size: 0;
	line-height: normal;
	margin:0 30px;
	animation: 0.5s ease-out fadeIn;
}

header .inner h2 {
	font-size: 16px;
	text-align: center;
}
header .inner h2 > * {
	display: inline-block;
	padding: 0 5px;
	letter-spacing: 0.05em;
	font-size: 14px;
}
header .inner h2 .bg1 {
	color: #FFED94;
	text-shadow: 0 2px rgba(0, 0, 0, 0.5), 0 2px 4px #114FBD;
	border-radius: 2px 2px 0 0;
}
header .inner h2 .bg2 {
	border-radius: 2px;
	background: #FFED94;
}
header .inner .time,
header .inner .date {
	display: block;
	color: #666;
	text-shadow: 1px -1px 1px #ffffff, -1px 1px 1px #ffffff;
}
header .inner .date {
	font-size: 1.4em;
	line-height: 1.4em;
	margin-top: 1%;
}
header .inner .time {
	font-size: 1.2em;
	line-height: 1.2em;
}
header h3.copy {
	display: block;
	width: 370px;
	position: absolute;
	bottom: 10px; left: 0; right: 0;
	margin: auto;
	z-index: 9999;
}
header .green,
header .blue {
	position: absolute;
	bottom: -60px;
	height: 200px;
	width: 120%;
	width: calc(100% + 100px);
}
header .blue {
	right: 0;
	margin-right: -100px;
	transform: rotate(-4deg);
	transform-origin: bottom right;
	background: #56beda;
	z-index: 2;
}
header .green {
	left: 0;
	margin-left: -100px;
	transform: rotate(4deg);
	transform-origin: bottom left;
	background: #86CDD3;
	z-index: 1;
}

/* 細いヘッダー */
header.slim {
	margin: 0;
	padding-top: 60px;
	background-position: center -60px;
}
header.slim .inner {
	padding: 0 0 100px;
	margin: 0 auto;
}
header.slim .inner .time,
header.slim .inner .date {
	display: inline-block;
}
header.slim .inner h1{
	width: 300px;
	margin: 10px auto;
}

header.slim h3.copy {
	left: auto; right: 40px;
	bottom: 60px;
}
header.slim .green,
header.slim .blue {
	bottom: -50px;
}

@media screen and (max-width:1200px) {
	header h1{
		margin: 30px 0;
		animation: 0.5s ease-out fadeIn;
		width:50vw;
		max-width: 500px;
		position: relative;
		left: 30vw;
	}
	header h1 img{
		width:100%;
		max-width: 500px;
		
	}
}

.br-sp { display:none; }

.flex{
	display:flex;
  flex-wrap: wrap;
  justify-content: space-between;
	margin-top:10px;
}
.leftcontent{
	width:360px;
	margin-left: 40px
}

.rightcontent{
	width: 490px;
	padding-right: 40px;
}

.rightcontent p{
line-height: 1.4em;
}


@media screen and (max-width:768px) {
	header {
		background: url("../img/top_sp.png") #fff top center no-repeat;
		background-size: 100%;
		height:63.3vw;
	}
	header .pc{
		display: none;
	}
	header .bg_chara {
		display: none;
	}
	header.slim {
		margin: 0 0 15px;
	}
	header .inner {
		margin: 0;
		padding: 0 0 60px;
	}
	header .inner h1 {
		margin: 0 auto;
	}
	header .inner h1 img {
		width: 100vw;
		height:65.3vw;
	}
	header .green,
	header .blue {
		bottom: -20px;
		height: 100px;
	}
	header .blue { transform: rotate(-6deg); }
	header .green { transform: rotate(6deg); }
	header h3.copy {
		max-width: 80%;
		bottom: 0;
		z-index: 6;
	}
	header.slim h3.copy img {
		height: 20px;
	}
	header.slim {
		padding: 0;
		background: url("../img/header_bg_slim_sp.jpg") #fff top center no-repeat;
	}
	header.slim .inner {
		padding: 10px 0 60px;
	}
	header.slim h3.copy {
		right: 10px;
		width: auto;
		padding: 0;
		bottom: 20px;
	}
	header.slim .green,
	header.slim .blue {
		bottom: -20px;
	}
	.font160,.font130{
		font-size: 110%!important;
	}
	.br-sp { display:block; }
}


/* ナビ */
nav#main_nav {
	display: block;
	width: 100%;
	position: fixed;
	overflow: hidden;
	padding: 0;
	height: 45px;
	z-index: 40;
	text-align: center;
	background: #fff;
	border-bottom:1px solid #2f2f2f;
	top:0;
}
nav#main_nav ul.menu {
	vertical-align: middle;
	display: inline-block;
	text-align: right;
	margin: 2px 20px;
}
nav#main_nav ul.menu li {
	display: inline-block;
	letter-spacing: 1px;
}
nav#main_nav ul.menu li a {
	display: block;
	padding: 4px 10px;
	color:#2f2f2f;
	text-align: center;
	font-weight: bold;
	font-size: 14px;
}
nav#main_nav ul.menu li a:hover {
	color: #59C3DF;
	text-decoration: none;
}

ul.ddmenu ul {
   display: none;       /* ★1:標準では非表示にする */
   margin: 0px;         /* ★2:サブメニュー外側の余白(ゼロ) */
   padding: 0px;        /* ★3:サブメニュー内側の余白(ゼロ) */
   position: absolute;  /* ★4:絶対配置にする */
}

ul.ddmenu li:hover ul {
   display: block;      /* ★5:マウスポインタが載っている項目の内部にあるリストを表示する */
}

header
/* SNSリンク */
ul.sns_links {
	vertical-align: middle;
	position: relative;
	top:10px;
	left:5%;
}
ul.sns_links li {
	display: inline-block;
	width: 40px;
	height:40px;
	border-radius: 5px;
	overflow: hidden;
	
}
ul.sns_links li a {
	display: block;
	text-align: center;
}
ul.sns_links li a img {
	margin: 6px 0 0;
	height: 28px;
}
ul.sns_links li.twitter {
	background: #1DA1F3;
}
ul.sns_links li.twitter a img {
	margin: 8px 0 0;
	height: 15px;
	height: 25px;
}
ul.sns_links li.facebook {
	background: #3C5A99;
}
ul.sns_links li.line {
	background: #00B900;
}

/* 隠しメニュー */
#navicon {
	display: none;
}
@media screen and (max-width:768px) {
	#navicon {
		position: fixed;
		top: 5px; right: 5px;
		display: block;
		width: 40px;
		height: 40px;
		z-index: 100;
		text-align: center;
		background: #fff;
		border-radius: 40px;
		overflow: none;
	}
	#navicon img {
		height: 20px;
		margin: 10px auto;
	}
	nav#main_nav {
		position: fixed;
		top: 0; right: -180px;
		width: 180px;
		height: 100%;
		height: 100vh;
		overflow-x: hidden;
		overflow-y: auto;
		background: #56beda;
		background: #7AC9D5;
		transition: all 0.5s ease-in-out;
		z-index: 88;
		padding: 60px 5px 0;
	}
	nav#main_nav.active {
		right: 0;
	}
	nav#main_nav ul.menu,
	ul.sns_links {
		float: none;
		display: block;
		width: 100%;
		padding: 0;
		margin: 0 0 20px;
	}
	ul.sns_links {
		text-align: right;
		padding: 10px;
	}
	nav#main_nav ul.menu li {
		display: block;
	}
	nav#main_nav ul.menu li a {
		background: none;
		text-align: right;
		color: #fff;
	}
}

/* すけぶに付いて */
#about .content {
	padding-bottom: 0;
}
ul.programme {
	overflow: hidden;
	font-size: 0;
}
ul.programme li {
	font-size: 14px;
	vertical-align: top;
	margin: 0 0 10px;
}
ul.programme li:nth-child(odd){
	clear: both;
}
ul.programme h5 {
	font-size: 18px;
	font-weight: bold;
	color: #53babc;
	padding: 10px;
	margin: 0 0 10px;
	border-bottom: 2px dotted #53babc;
}
.programme_head p {
	text-align: center;
}
@media screen and (max-width:768px) {
	ul.programme li img {
		width: 160px;
		margin: 15px 0;
	}
}
@media screen and (min-width:600px) {
	ul.programme li {
		float: left;
		width: 50%;
		padding: 0 15px;
	}
}
@media screen and (min-width:768px) {
	p.larger {
		font-size: 18px;
		line-height: 1.6;
	}
	#about .content {
		width: 75%;
	}
	#about .image {
		width: 25%;
		float: right;
		padding: 0;
	}
}

/* ゲスト */
#guests {
	padding: 30px 0 0;
}
ul.guests {
	overflow: hidden;
	text-align: center;
}
ul.guests li {
	display: inline-block;
	vertical-align: top;
	width: 330px;
	padding: 30px;
	text-align: left;
}
@media screen and (max-width:768px) {
	ul.guests li {
		width: 48%;
		padding: 15px;
	}
}


/* 丸い写真 */
ul.round_images {
	overflow: hidden;
	margin: 40px 0;
}
ul.round_images li {
	display: inline-block;
	width: 20%;
	text-align: center;
	float: left;
	padding: 0 5px;
}
@media screen and (max-width:768px) {
	ul.round_images li {
		display: none;
	}
	ul.round_images li.sp {
		display: inline-block;
			width: 33.33%;
	}
	
	ul.round_images li.sp img{
			width:100%;
	}
}

/* 企画の項目 */
ul.events::before {
	content: ""; display: table; clear: both;
}
ul.events {
	text-align: center;
	clear: both;
	overflow: hidden;
	clear: both;
	margin: 40px 0 70px;
}
ul.events li {
	display: inline-block;
	vertical-align: top;
	width: 32%;
	background: #ccc;
	text-align: justify;
	border-radius: 2px;
	overflow: hidden;
	font-size: 14px;
}
ul.events li h4 {
	line-height: 30px;
	color: #fff;
	text-align: center;
}
ul.events li img {
	display: block;
	width: 100%;
	margin: 0 auto; padding: 0;
}
ul.events li p {
	padding: 15px;
	min-height: 6em;
	margin: 0 auto;
	word-wrap: normal;
	word-break: normal;
	letter-spacing: -0.06em;
}



ul.events li.orange_box {
	float: left;
	background: #ffe0ca;
}
ul.events li.orange_box h4 {
	background: #FF9587;
}
ul.events li.blue_box {
	background: #D3EFF6;
}
ul.events li.blue_box h4 {
	background: #59C3DF;
}
ul.events li.pink_box {
	float: right;
	background: #FADCE8;
}
ul.events li.pink_box h4 {
	background: #EC7AAA;
}
ul.events li .btn {
	max-width: 100%;
	margin: 15px;
}
ul.events li.blue_box .btn:hover {
	border-color: #59C3DF;
}
ul.events li.orange_box .btn {
	border-color: #FF9587;
}


.bg_white {
	background: #fff;
}
.gray {
	color: #888;
}
ul.events li .bg_white {
	text-align: center;
	margin: 0 15px 15px;
	padding: 10px;
	font-size: 12px;
	line-height: normal;
}
@media screen and (max-width:768px) {
	ul.events {
		margin: 20px -10px;
	}
	ul.events li {
		width: 100%;
		padding: 0 0 20px;
		margin: 0 0 10px;
		border-radius: 0;
	}
}


@media screen and (min-width:1200px) {
ul.sns_links {
	left:-230px!important;
	top:0px!important;
}
	
}
	
@media screen and (min-width:769px) and ( max-width:1200px) {

header .inner {
	position: relative;
	z-index: 10;
	text-align: left;
	margin: 40px auto 0;
	left:0px;
	padding: 50px 0 130px;
}
header h1{
	left:0px;
}
		


ul.entry_link  {
	left:20vw;
	text-align: left;
	width:50vw;
	display: block;
}	
	

.entry_link img{
	width:50vw;}
	
}

/* キャラ紹介 */
#characters {
	background-color: #fff;
	position: relative;
	padding: 1px 0;
	position: relative;
}
#characters .inner {
	margin: 20px auto;
	padding: 40px 0;
	width: 600px;
	text-align: center;
	border-radius: 50px;
	text-shadow: 0 2px #fff, 0 1px #fff;
	position: relative;
	z-index: 10;
}
#characters .switch_bg {
	margin: 40px 0 0;
	height: 100px;
	background: url(../img/chara_name_bg.png) top center no-repeat;
}
#characters .inner p {
	font-size: 16px;
	line-height: 1.8em;
	text-align: center;
}
#characters .inner img {
	margin: 0 10px;
}

#characters .chara_bg {
	position: absolute;
	top: 0; bottom: 0; left: 0; right: 0;
	max-width: 1500px;
	margin: auto;
	z-index: 1;
	background-image: url(../img/chara_bg_02.png), url(../img/chara_bg_01.png);
	background-repeat: no-repeat;
}
@keyframes backgroundSlide {
  0% {
		opacity: 0;
		background-position: center top, center top;
  }
  100% {
		opacity: 1;
		background-position: right top, left top;
  }
}

	
@media screen and (max-width:769px) {
	.entry_link{
		width:80vw;
		margin:0 auto 5px auto;
		display: block;
 }
	.entry_link img{
		width:80vw;
		margin:0 auto 5px auto;
 }
}
	
/* よくある質問 */
#help .inner {
	text-align: center;
}
#help p strong {
	color: #ec7aaa;
}
@media screen and (min-width:768px) {
	#help p strong {
		font-size: 120%;
	}
}
@media screen and (max-width:768px) {
	#help img {
		width: auto;
		height: 160px;
	}
}

/* QA一覧 */


dl.question_list {
	padding: 40px;
}
dl.question_list dd ,
dl.question_list dt {
	position: relative;
	padding-left: 55px;
}
dl.question_list dt {
	color: #EC7AAA;
	line-height: 40px;
	font-size: 20px;
	font-weight: bold;
	margin: 0 0 10px;
}
dl.question_list dd {
	padding-top: 10px;
	margin: 0 0 50px;
}
dl.question_list dd::before,
dl.question_list dt::before {
	content: "Q";
	display: block;
	position: absolute;
	top: 0; bottom: 0; left: 0;
	width: 40px; height: 40px;
	line-height: 40px;
	display: inline-block;
	vertical-align: middle;
	background:#EC7AAA;
	color: #fff;
	text-align: center;
	font-size: 30px;
	font-weight: bold;
	border-radius: 100%;
}
dl.question_list dd::before {
	content: "A";
	background: #48c5e6;
}
@media screen and (max-width:768px) {
	#help .inner {
		padding: 10px 5px;
	}
	dl.question_list {
		padding: 0;
	}
	dl.question_list dd ,
	dl.question_list dt {
		padding-left: 30px;
		line-height: normal;
	}
	dl.question_list dt {
		font-size: 16px;
	}
	dl.question_list dd {
		padding-top: 0;
		margin: 0 0 30px;
	}
	dl.question_list dd::before,
	dl.question_list dt::before {
		width: 25px; height: 25px;
		line-height: 25px;
		font-size: 16px;
	}
}

/* スケジュール */
#schedule dl {
	overflow: hidden;
	background: #D3EFF6;
}
#schedule dl > * {
	float: left;
	padding: 10px;
	font-size: 17px;
}
#schedule dl > *:not(:first-of-type) {
	border-top: 4px solid #fff;
}
#schedule dl > dt {
	clear: both;
	width: 7em;
	font-weight: bold;
	color: #999;
}
#schedule dl > dd {
	width: 80%;
	width: calc(100% - 7em);
}
@media screen and (max-width:768px) {
	#schedule dl > * {
		padding: 5px;
		font-size: 14px;
	}
	#schedule dl > dt {
		width: 5em;
	}
	#schedule dl > dd {
		width: calc(100% - 5em);
	}
}


/* コスプレ */
#cosplay_rules {
	max-width: 860px;
	margin: 0 auto;
}
#cosplay_rules p {
	margin: 0;
}
#cosplay_rules h5 {
	margin: 30px 0 10px;
}

.page .note .cos-text{
	text-align: center;
	margin-bottom: 40px;
}

@media only screen and (max-width: 750px) {
	.page .note .cos-text img{
		width: 100%;
	}
	.page .note .cos-text{
		width: 100%;
		text-align: center;
		margin-bottom: 20px;
	}
}

/* コンテスト */

.page_header img {
	width: 100%;
}
dl.datalist {
	overflow: hidden;
}
dl.datalist > * {
	float: left;
}
dl.datalist > dt {
	clear: both;
	width: 9em;
}
dl.datalist > dd {
	width: 60%;
	width: calc(100% - 9em);
	margin: 0 0 1em;
}



/* コスプレ */
#cosplay_rules {
	max-width: 860px;
	margin: 0 auto;
}
#cosplay_rules p {
	margin: 0;
}
#cosplay_rules h5 {
	margin: 30px 0 10px;
}

@media screen and (max-width:480px) {
	dl.datalist > * {
		float: none;
		display:block;
	}
	dl.datalist > dd,
	dl.datalist > dt {
		width: 100%;
	}
}

/* ライブドローイング */
#livedrawing_rules {
	max-width: 860px;
	margin: 0 auto;
}
#livedrawing_rules p {
	margin: 0;
}
#livedrawing_rules h5 {
	margin: 30px 0 10px;
}

#livedrawing_rules dd {
	margin: 30px 0 0 0;
}


.top_logo {
	width: 86px;
	vertical-align: text-bottom;
	margin-left: 5px;
}

.shusai_logo{
	width: 200px;
}


@media screen and (max-width:480px) {
#livedrawing_rules dl.datalist > dd {
	margin-top: 0;
	}
	
.shusai_logo{
	width: 60%;
	margin:auto;
	display: block;
}
}


/* フッター */
footer {
	color: #fff;
	padding: 20px 0 20px;
	background: #2f2f2f;
}
footer .info {
	margin: 80px auto;
	text-align: center;
	font-size: 18px;
	line-height: 170%;
}
footer .info strong {
	font-size: 24px;
}
footer small {
	color: #fff;
	display: block;
	text-align: center;
	font-size: 13px;
}
footer small .helvetica { font-family: helvetica; }

@media screen and (max-width:768px) {
	footer .info {
		margin: 20px auto;
	}
}


/* トップへ */
.top_btn {
	display: none;
	position: fixed;
	bottom: 10px; right: 10px;
	background: #fff;
	width: 70px;
	height: 70px;
	border-radius: 100%;
	text-align: center;
}
.top_btn a {
	display: block;
	padding: 15px;
	text-align: center;
}
@media screen and (max-width:768px) {
	.top_btn {
		position: relative;
		bottom: auto; right: auto;
		margin: 0 auto 50px;
	}
	.top_btn a {
		padding: 20px;
	}
}

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


/* 補足クラス */

.break { display: inline-block; }
.purple { color: #AD79DB; }
.skyblue { color: #48c5e6; }
.pink { color: #EC7AAA; }
.blue {color: #59C3DF;}
.green { color: #53babc; }
.strong { font-weight: bold; }
.clear { clear: both; }
.text-center { text-align: center; }
.text-right { text-align: right; }
.font110 { font-size: 110%; }
.font120 { font-size: 120%; }
.font130 { font-size: 130%; }
.font140 { font-size: 140%; }
.font160 { font-size: 160%; }

.mb_30 { margin-bottom: 30px; }
.mv_30 { margin-top: 30px; margin-bottom: 30px; }
.mv_60 { margin-top: 60px; margin-bottom: 60px; }

.for_sp { display: none !important; }
@media screen and (max-width:768px) {
	.for_sp { display: block !important; }
	.hide_sp { display: none !important; }
}


/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}



.newsbox {
	background: url("../img/bg01.png") #fff top center repeat;
	padding:70px 0;
}


.newsinbox{
	width:1000px;
	display: flex;
	margin: auto;
}
.news{
	width:675px;
	height:500px;
	padding:10px 20px;
	background: #fff;
	position: relative;
}


.news ul{
	width:90%;
	font-size:20px;
	margin:5px auto;
	border-bottom:#ea68a2 1px dashed;
	padding-bottom:10px;
	display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}



li.dayblock{
	width:20%;
}
li.text{
	width:78%;
}

.news span{
	color:#18d8fb;
	font-size:16px;
	display: block;
	maegin-top:-10px;
}

a.more{
	display: block;
	text-decoration: none;
	color:#18d8fb;
	font-size:16px;
	position: absolute;
	bottom: 10px;
	right:10px;
}

.tl,.twitter-timeline{
	width:350px;
	height:400px!important;
	padding:10px;
}


.twitter-timeline{margin-top:-10px!important;}

.about{
	width:100%;
	padding:70px ;
	text-align: center;
	background: url("../img/bg05.png") #fff repeat;
}
.about h2{
	text-align: center;
}

.about h3{
	text-align: center;
	font-size:30px;
	color:#006a6f;
	font-family: vdl-lineg, sans-serif;
	font-weight: 400;
	font-style: normal;
	margin:70px auto 15px ;
}




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

.note{
	background: url("../img/bg02.png") #fff repeat;
	border:6px solid #ffffff;
	box-shadow:0px 0px 0px 1px #e8e8e8,0px 0px 3px -1px #c4c4c4 inset;
	padding:15px;
	text-align: left;
}
.circle{
	display: block;
}

.abouttxt{
	width:540px;
}

.abouttxt p{
	margin-bottom:10px;
	width:480px;
	margin: auto;
	font-size:16px;
	
}

.boothbanner{
	width:690px;
	display: flex;
	margin: auto;
	justify-content: space-between;
  flex-wrap: wrap;

}

.boothbanner li{
	margin-bottom:8px;
}

hr.colorline{
	background: url("../img/line01.png")  repeat;
	height: 38px;
	margin-top:-19px;
	margin-bottom:-19px;
	width: 100%;
	border:none;
	z-index: 20;
	position: relative;
}

.interact{
	width:100%;
	padding:100px 0;

	background: url("../img/bg03_sp.png") repeat;
}
.interact h2{
	margin: auto;
	text-align: center;
}

.interact p{
	width:680px;
	margin: auto;
	font-size:18px;
	line-height: 30px;
	margin-top:30px;
}


.interactbox{
	width:690px;
	display: flex;
	margin: auto;
	justify-content: space-between;
	margin-top:30px;
}

.interactboxinner{
	width:324px;
	text-align: center;
}

.interactboxinner h3{
	font-size:20px;
	font-weight: 400;
}


.interactboxinner h3 img{
	vertical-align: text-bottom;
	height:30px!important;
	
}


.interactbox02{
	width:830px;
	display: flex;
	margin: auto;
	justify-content: space-between;
	margin-top:50px;
	align-items: top;
}

.interactboxinner02left{
	width:180px;
	height:132px!important;

}

.interactboxinner02left img{
}
.interactboxinner02right{
	width:630px;
	padding:0;
	height:132px!important;
	margin-top:-35px;
}
.interactboxinner02right p{
	width:630px;

}


.contest{
	width:100%;
	padding:100px 0;
	text-align: center;
	background: #eaf3f4;
}
.contest h2{
	margin: auto;
	text-align: center;
}

.contest p{
	width:680px;
	margin: auto;
	font-size:18px;
	line-height: 30px;
	margin-top:30px;
	text-align: left;
}
.contest p.contest-center{
	text-align: center;
	margin-top: 0;
}

.contest img{
	margin-top:30px;
pointer-events: none;
}
.contestbox{
	width:1000px;
	display: flex;
	margin: auto;
	justify-content: space-between;
	margin-top:30px;
}

h3.ribbon {
	margin:50px auto 20px ;
	display: block;
	font-size:30px;
	line-height: 36px;
	color: #fff;
	font-family: vdl-lineg, sans-serif;
	font-weight: 400;
	font-style: normal;
	background: url("../img/title_ribbon.png") ;
	width:446px;
	height: 78px;
	padding-top:10px;
}


	
@media \0screen { /*ie8*/

h3.ribbon {
	line-height: 50px;
}
}
	
@media screen and (min-width: 0\0) and (min-resolution: .001dpcm) {/*ie9*/

h3.ribbon {
	line-height: 50px;
}
}
	
_:-ms-lang(x), h3.ribbon {/*ie10*/
	line-height: 50px;

}
	
	
_:-ms-fullscreen, :root  h3.ribbon {
	line-height: 50px;

}



.contest h4{
	font-size:21px;
	letter-spacing: 2px;
	color:#4a4a4a;
	font-family: vdl-lineg, sans-serif;
	font-weight: 400;
	font-style: normal;
	margin-top:20px;
	margin-bottom:-20px;

}



.booth{
	width:100%;
	padding:100px 0;
	background: url("../img/bg06.png") repeat;
}
.booth h2{
	margin: auto;
	text-align: center;
}

p.boothintro{
	width:680px;
	margin: auto;
	font-size:18px;
	line-height: 30px;
	margin-top:30px;
}


.boothbox{
	width:1000px;
	margin: auto;
}

h3.boothsub{
	font-size:30px;
	letter-spacing: 2px;
	color:#006a6f;
	font-family: vdl-lineg, sans-serif;
	font-weight: 400;
	font-style: normal;
	margin-top:20px;
	
}

.booth2column{
	display: flex;
	margin:20px auto;
	justify-content: space-between;
	width:920px;
	flex-wrap: wrap;

}
.booth2column img{
	width:430px;
	margin:20px 0;
}

.boothtxt02{
	width:920px;
	font-size:22px;
	padding-top:20px;
}

.boothtxt02 p{
	width:920px;
		font-size:22px;

}

.boothtxt{
	width:470px;
	margin:20px 0;
	font-size:22px;
	padding-top:20px;
}

.boothtxt p{
	width:470px;
}

.boothtxt p.school-name{
	font-size: 19px;
}


.boothline{
	border:1px #3BA9DF dashed;
	max-width:1000px;
	width:90vw;
	margin-bottom:10px;
	margin-top:20px;
}

.pink{
	color:#ee4b9b;
}

.right{
	text-align: right;
}


.schoolname{
	padding-left:5px;
	font-size:15px;
}



.booth2column02{
	display: flex;
	margin:auto;
	width:920px;
	flex-wrap: wrap;
	justify-content: space-between;
}

.booth2column02 p{
	width:450px;
	font-size:18px;
}

.booth2leftcolumn {
	width:450px;
	margin-top:20px;
}

.booth2leftcolumn p{
	width:450px!important;
	font-size:18px;
}

.booth2rightcolumn{
	width:450px;
	margin-top:20px;

}

.booth2rightcolumn p{
	width:450px!important;
	font-size:18px;
}

h3.boothtitle{
	font-family: dnp-shuei-mgothic-std, sans-serif;
	font-weight: 400;
	font-style: normal;
	color: #555;
	font-size:21px;

}

h3.boothtitle::before{
	content: '';/*何も入れない*/
	display: inline-block;/*忘れずに！*/
	width: 24px;/*画像の幅*/
	height: 25px;/*画像の高さ*/

	background-image: url(../img/triangle.png);
	background-size: contain;
	vertical-align: middle;
}


.left{
	text-align: left;
}


.bannerlist{
	width:100%;
	padding:100px 0;
	background:#2f2f2f;
}



.bannerlistbox{
	width:904px;
	margin: auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}


.bannerlistbox a:hover{
	opacity:0.8;
}

.access{
	width:100%;
	padding:100px 0;
	background: #fff;
}

.accessbox{
	width:1000px;
	margin:20px auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	background: #fff;
}

.accesstxt p{
	width:500px;
	font-size:16px;
}

.accessmap{
	width: 480px;
	height: 350px;

}

.teacher{
	position: relative;
	display: block;
	margin:0 auto 0;
	width:100%;
	max-width: 943px;
}


.teacher_padding{
	padding-top:300px!important;
	margin-top:-326px!important;
}

.kamomibox{
	width:100%;
	background:#73d3ff;
}

.kamomiinbox{
	width:1100px;
	margin:0 auto;
	display: flex;
}
.kamomi p{
	width:100%;
	max-width: 500px;
	padding-bottom:20px;
	color:#fff;
	padding-left: 5px;

}

.kamomiinbox h3{
	width:100%;
	max-width: 500px;
	display: block;
	text-align: left;
	margin-top:30px;
	color:#fff;
	padding-left: 5px;
}
.kamomi{
	width:100%;
}

img.pcimg{
	width:600px;
	height:454px ;
	margin-top: -190px;
	display: inline-block;
}
.kamomi h2{
	color:#73d3ff;
	font-size:35px;
	line-height:40px;
	display: inline-block;
}

.kamomi h2 span{	background: linear-gradient(transparent 60%, #ffff66 60%);
}

.snsbtn{
	width:150px;
	hight:auto;
	display: inline-block;
	margin-top:5px;
}

.snsbtn img{
	width:100%;
}



@media screen and  (min-width:769px) and ( max-width:943px) {

	
.teacher{
	position: relative;
	display: block;
	margin:0 auto 0;
	width:100%;
	max-width: 943px;
}

.teacher_padding{
	padding-top:30.7vw!important;
	margin-top:-34vw!important;
}
}



@media screen and  (min-width:1000px) {
	
img.comingsoon{
	height: 98%;
	display: block;
}
	
img.comingsoon02{
	height: 98%;
	display: block;
	margin-bottom:5px;
}	
}



@media screen and  (min-width:769px) and ( max-width:1000px) {
.newsinbox{
	width:90vw;
	display: flex;
	margin: auto;
}
	


	
.news{
	width:65%;
	height:500px;
	padding:10px 20px;
	background: #fff;
}

.tl,.twitter-timeline{
	width:33%;
	height:500px!important;
	padding:10px;
}

.aboutbox{
	max-width:880px;
	width:90vw;
	display: flex;
	margin: auto;
	justify-content: space-between;
}

.circle{
	display: block;
	width:35%;
	max-width:345px;
	height: 70%;
	margin-top: 4%;
}

.abouttxt{
	max-width:540px;
	width:63%;
}

.abouttxt p{
	width:auto;
	margin-bottom:10px;
	max-width:480px;
	margin: auto;
	font-size:16px;
	
}
.interact p{
	max-width:680px;
	width:80vw;
	margin: auto;
	font-size:18px;
	line-height: 30px;
	margin-top:30px;
}


.interactbox{
	width:90vw;
	display: flex;
	margin: auto;
	justify-content: space-between;
	margin-top:30px;
}

.interactboxinner{
	width:33%;
	text-align: center;
}
	
.interactboxinner .triangle{
	width:30px!important;
}
	
.interactboxinner .button{
	width:100%;
	text-align: center;
	font-size:0.9em;
}


.interactboxinner .button img{
	width:10px;
}
	
.interactboxinner .button_border{
	width:100%;
	text-align: center;
}

p.boothintro{
	max-width:680px;
	width:80vw;
	margin: auto;
	font-size:18px;
	line-height: 30px;
	margin-top:30px;
}

.boothbox{
	width:90vw;
	margin: auto;
}

.booth2column{
	display: flex;
	margin:20px auto;
	justify-content: space-between;
	max-width:920px;
	width:90vw;
	flex-wrap: wrap;
}

.booth2column img{
	max-width:430px;
	margin:20px 0;
	width:42%;
	height:50%;
}

.boothtxt{
	max-width:470px;
	width:56%;
	margin:20px 0;
	font-size:22px;
	padding-top:20px;
	padding-right: 10px;
}
	
.boothtxt h4{
	font-size:20px;
}

.boothtxt p{
	max-width:470px;
	width:100%;
	font-size:16px;
}

.booth2column02{
	display: flex;
	margin:auto;
	max-width:920px;
	width:90vw;
	flex-wrap: wrap;
	justify-content: space-between;
}

.booth2column02 p{
	max-width:450px;
	width:44%;
	font-size:18px;
}

.booth2leftcolumn {
	max-width:450px;
	width:49%;}

.booth2leftcolumn p{
	max-width:450px;
	width:100%!important;
	font-size:15px;
}

.booth2rightcolumn{
	max-width:450px;
	width:49%;
	margin-top:20px;

}
h3.boothtitle{font-size:20px;}
	
.booth2rightcolumn p{
	max-width:450px;
	width:100%!important;
	font-size:16px;
}

.booth2rightcolumn img,.booth2leftcolumn img{
	max-width:450px;
	width:100%;
}


.bannerlistbox{
	max-width:904px;
	width:70vw;
	margin: auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.bannerlistbox a{
	width:49%;
}

.bannerlistbox img{
	width:100%;
}
	
img.comingsoon{
	width:49%;
	height: 98%;
	display: block;
}
	
img.comingsoon02{
	width:49%;
	height: 98%;
	display: block;
	margin-bottom:5px;
}
	
.accessbox{
	width:90vw;
	margin:20px auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	background: #fff;
}

.accesstxt{
	max-width:480px;
	width:50%;
	font-size:16px;
}

.accessmap{
	max-width: 480px;
	width: 48%;
	hight:80vw;
}

	
}	

.black_arrow{
	display:flex;
	max-width:900px;
	width:90vw;
	margin:auto;
	align-items: center; /* 子要素をflexboxにより中央に配置する */
}

.schoolname{
	font-size:22px;
	padding-left:5px;
	max-width:620px;
	width:calc( 90vw - 304px);
}

.another{
	width:304px;
	hright:83px;
	margin: auto 0;
}


@media screen and (min-width:769px) {	
img.spimg{
		display: none;
		visibility:hidden 
}
	


}

@media screen and (max-width:1000px) {
.page .note{
	width: 90vw;
	padding:5vw;
	margin:2vw auto 5vw;
	font-size:15px;
}
}


@media screen and (max-width:768px) {
	*{
		overflow-x: hidden;
	}
	

	
.page {
	padding:10vw 0;
}


.button_border{
	padding: 1px;
	width:85vw;
	box-sizing: content-box;
	background: linear-gradient(to right, #ca76b7, #3c9bb6);
	border-radius: 8px;
	display:inline-block;
	margin:2px auto 5vw ;

}
a.button{
	border:1px solid #fff;
	background: linear-gradient(to right, #ca76b7, #3c9bb6);
	color:#fff;
	width: 85vw;
	display: inline-block;
	border-radius: 8px;
	font-family: vdl-lineg, sans-serif;
	font-weight: 400;
	font-style: normal;
	line-height: 40px;
	vertical-align: middle;
	text-decoration: none;
	text-align: center;
	font-size:16px;
	box-sizing: border-box;
	margin:0;}
	

	
	
.contest a.button span{
	font-size:14px;
}
	
a.button img{
	width:10px;
	margin-left: 2px;
}
	
	
h2 img{
		width:90vw!important;
	}
	
.newsbox {
	background: url("../img/bg01_sp.png") #fff top center repeat;
	background-size: 100%;
	padding:8vw 0;
	margin-top:0;
}


.newsinbox{
	width:90vw;
	margin: auto;
	display: block;
}
.news{
	width:90vw;
	height:auto;
	margin:2vw auto;
	padding:2vw 3vw 7vw ;
	background: #fff;
}

.news img{
	width:60vw;
}

.news ul{
	width:90%;
	font-size:4vw;
	margin:5px auto;
	border-bottom:#ea68a2 1px dashed;
	padding-bottom:10px;
	display: block;
}



li.dayblock{
	width:100%;
}
li.text{
	width:100%;
	font-size:4vw;
	line-height: 4.3vw;

}

.news span{
	color:#18d8fb;
	font-size:4vw;
	line-height: 4.3vw;
	display: block;
	maegin-top:-1vw;
}

a.more{
	display: block;
	text-decoration: none;
	color:#18d8fb;
	font-size:4vw;
	line-height: 4.3vw;
	position: absolute;
	bottom: 2vw;
	right:10px;
}

.tl{
	margin:  7vw auto 2vw;
	display: block;
	padding: 0;
	width:80vw;
	height:auto;
}


.twitter-timeline{
	padding: 0;

	}

.about{
	width:100vw;
	max-width: 768px;
	text-align: center;
	margin: 0;
	padding:10vw 0;
	display: block;
	background: url("../img/bg05.png") #fff repeat;
	}
	
.about h2{
	text-align: center;
	width:90vw;
	max-width: 750px;
	padding: 0;
	margin:0 auto;
}

	
.about h3{
	text-align: center;
	font-size:5.5vw;
	color:#006a6f;
	font-family: vdl-lineg, sans-serif;
	font-weight: 400;
	font-style: normal;
	margin:5vw auto;
}


#map{
	width:100%;
	max-width:736px ;
	display: block;
	margin: auto;
	}
	
.aboutbox{
	width:100vw;
	margin: auto!important;
	display: block;
	padding: 0;
}

.note{
	width:90vw!important;
	background: url("../img/bg02.png") #fff repeat;
	border:6px solid #ffffff;
	box-shadow:0px 0px 0px 1px #e8e8e8,0px 0px 3px -1px #c4c4c4 inset;
	padding:4vw;
	font-size:3vw;
	text-align: left;
	margin:auto;
}
.circle{
	display: block;
	margin: auto;
	width:60vw;
	max-width: 500px;
}


.note p{
	width:75vw;
	margin-bottom:10px;
	margin: auto;
	font-size:14px;
	
}
	
ul.dotlist {
	width:75vw;
	padding: 0;
	margin: auto;
	font-size:14px;

}
ul.dotlist li {
list-style: square inside!important;
	display: list-item; 
}

.boothbanner{
	width:75vw;
	display: block;
	margin: auto;

}

.boothbanner img{
	width:75vw;

}
	
.boothbanner li{
	margin-bottom:2vw;
}

hr.colorline{
	background: url("../img/line01.png")  repeat;
	background-size:contain;
	height: 18px;
	margin-top:-19px;
	margin-bottom:-19px;
	width:100vw;
	border:none;
	z-index: 20;
	position: relative;
}

.interact{
	width:100vw;
	padding:15vw 0;
	background: url("../img/bg03_sp.png") repeat;
	margin: auto;
	display: block;

}
.interact h2{
	margin:0 auto;
	text-align: center;
	width:90vw;
}

.interact p{
	width:90vw;
	margin: auto;
	font-size:15px;
	line-height: 1.4em;
	margin-top:0;
	padding:0 ;

}


.interactbox{
	width:90vw;
	display: block;
	margin: auto;
	margin-top:5vw;
}

.interactboxinner{
	width:90vw;
	text-align: center;
}


.interactboxinner h3{
	font-size:19px;
	font-weight: 400;
}
	
img.interactboxinnerimg {
	width:80vw;
	display: block;
	margin: auto;
}	
	
.interactboxinner h3 img{
	vertical-align: text-bottom;
	height:30px!important;
	margin-left: -30px;
}
	


.interactbox02{
	width:90vw;
	display: block;
	margin: auto;
	margin-top:10vw;
}

.interactboxinner02left{
	width:180px;
	height:132px!important;

}

.interactboxinner02left img{
	
}
.interactboxinner02right{
	width:90vw;
	padding:0;
	height:132px!important;
	margin-top:-35px;
}
.interactboxinner02right p{
	width:90vw;

}

.contest{
	width:100vw;
	padding:15vw 0;
	text-align: center;
	background: #eaf3f4;
}
.contest h2{
	margin: auto;
	text-align: center;
	width:90vw;
}

.contest p{
	width:85vw;
	margin: auto;
	font-size:15px;
	line-height: 1.4em;
	margin-top:2vw;
	text-align: left;
}

.contest img{
	margin-top:3vw;
	width:90vw;
	pointer-events: none;
}
.contestbox{
	width:1000px;
	display: flex;
	margin: auto;
	justify-content: space-between;
	margin-top:30px;
}

h3.ribbon {
	margin:5vw auto 0;
	display: block;
	font-size:5vw;
	line-height: 3vw;
	color: #fff;
	font-family: vdl-lineg, sans-serif;
	font-weight: 400;
	font-style: normal;
	background: url("../img/title_ribbon.png") no-repeat;
	width:70vw;
	height: 10vw;
	padding-top:3.5vw;
	background-size: 100%;
}
	


@media \0screen { /*ie8*/

h3.ribbon {
	line-height: 50px;
}
}
	
@media screen and (min-width: 0\0) and (min-resolution: .001dpcm) {/*ie9*/

h3.ribbon {
	line-height: 30px;
}
}
	
_:-ms-lang(x), h3.ribbon {/*ie10*/
	line-height: 30px;

}
	
	
_:-ms-fullscreen, :root  h3.ribbon {
	line-height: 30px;


}

	
.contest h4{
	font-size:18px;
	letter-spacing: 2px;
	margin:0 auto -1vw ;
	color:#4a4a4a;
	font-family: vdl-lineg, sans-serif;
	font-weight: 400;
	font-style: normal;
}




	
.booth{
	width:100vw;
	padding:15vw 0;
	background: url("../img/bg06.png") repeat;
}
	
.booth h2{
	margin: auto;
	text-align: center;
	width:90vw;
}

p.boothintro{
	width:95vw;
	margin: auto;
	font-size:15px;
	line-height:1.4em;
	margin-top:5vw;
}


.boothbox{
	width:90vw;
	margin: auto;
	padding:0;
}

h3.boothsub{
	font-size:16px;
	letter-spacing: 2px;
	color:#006a6f;
	font-family: vdl-lineg, sans-serif;
	font-weight: 400;
	font-style: normal;
	margin:2vw auto 0;
	width:90vw;
	text-align: center;
}
	
.boothtxt h4{
	font-size:15px;
}
.boothtxt02 h4{
	font-size:15px;
}

.booth2column{
	display: block;
	margin:2vw auto;
	width:90vw;
}
.booth2column img{
	width:80vw;
	display: block;
	margin:5vw auto -15px;
	height:61.44vw;
	}

.boothtxt,.boothtxt02{
	width:90vw!important;
	display: block;
	margin:0 auto 2vw;
	paddingh:0;
}

.boothtxt p,.boothtxt02 p{
	width:90vw!important;
	margin: auto;
	font-size:15px;
}

.pink{
	color:#ee4b9b;
}

p.right{
	text-align: left;
	margin: auto;
	padding-right:5px; 
	font-size:0.6em;
}



.booth2column02{
	display: block;
	margin:auto;
	width:90vw;
}

.booth2column02 p{
	display: block;
	margin:auto;
	width:90vw;
	font-size:15px;
	line-height: 1.4em;
}

	
.booth2img{
	width:80vw;
	display: block;
	margin: auto;
	}
.booth2leftcolumn {
	display: block;
	margin:auto;
	width:90vw;
	margin-top:5vw;
}

.booth2leftcolumn p{
	width:90vw!important;
	display: block;
	margin:auto;
	font-size:15px;
	line-height: 1.4em;
	}

.booth2rightcolumn{
	width:90vw;
	margin-top:5vw;
	display: block;
	margin:2vw auto ;
}

.booth2rightcolumn p{
	width:90vw!important;
	display: block;
	margin:auto;
	font-size:15px;
	line-height: 1.4em;}

h3.boothtitle{
	font-family: dnp-shuei-mgothic-std, sans-serif;
	font-weight: 400;
	font-style: normal;
	color: #555;
	font-size:16px;

}

h3.boothtitle::before{
	content: '';/*何も入れない*/
	display: inline-block;/*忘れずに！*/
	width: 24px;/*画像の幅*/
	height: 25px;/*画像の高さ*/
	background-image: url(../img/triangle.png);
	background-size: contain;
	vertical-align: middle;
}

.left{
	text-align: center;
}


.bannerlist{
	width:100vw;
	padding:15vw 0;
	background:#2f2f2f;
}



.bannerlistbox{
	width:75vw;
	margin: auto;
	display: block;
}
	
.bannerlistbox a,.bannerlistbox img{
	width:75vw;
}
	

.bannerlistbox a:hover{
	opacity:0.8;
}

.access{
	width:100vw;
	padding:15vw 0;
	background: #fff;
}

.accessbox{
	width:90vw;
	margin:6vw auto;
	display: block;
	background: #fff;
}

.accesstxt p{
	width:90vw;
	font-size:16px;
	margin: auto;

}

.accessmap{
	width: 75vw;
	max-width:600px;
	height:65vw;
	max-height:450px;
	margin: auto;
	display: block;
}


.smoothScroll img{
		width:30%;}

.pd-top05{padding-top:5px;}
	
.note h5{
	font-size:16px;
	padding:5px;
	margin-top:20px;
	}
.teema{
	width:75vw;
	max-width:750px;
	}
	

.flex{
	display:block;
}
.leftcontent{
	width:60vw;
	margin:3vw auto;
	display:block;

}

.rightcontent{
	width:75vw;
	margin:0 auto 7vw;
	padding:0;
	display:block;

}
.teacher{
	position: relative;
	display: block;
	margin:0 auto 0;
	width:100vw;
	height:40.7vw;
}

.teacher_padding{
	padding-top:0!important;
	margin-top:0!important;
}
	
	
.kamomibox{
	width:100%;
	background:#73d3ff;
}

.kamomiinbox{
	width:100%;
	margin:0 auto;
	display: block;
	height:auto;
}
img.pcimg{
		display: none;
		visibility:hidden 
	}
.kamomi p{
	width:90%;
	padding-bottom:3vw;
	color:#fff;
	padding-left: 5px;
	font-size:14px;
	margin: auto;
	line-height: 1.4em;
}

.kamomiinbox h3{
	width:100%;
	display: block;
	text-align: center;
	margin-top:5vw;
	color:#fff;
	padding-left: 5px;
}
.kamomi{
	width:100%;
}

img.spimg{
	width:70vw;
	display: block;
	margin:0 auto;
}
.kamomi h2{
	color:#73d3ff;
	font-size:1.4em;
	line-height:1.6em;
	text-align: center;
	display: block;
}

.kamomi h2 span{background: linear-gradient(transparent 60%, #ffff66 60%);
}
	
.snsbtn{
	width:30vw;
	hight:auto;
	display: inline-block;
	margin-top:10px;
	text-align: center;
}

.snsbtn img{
	width:100%;
}
	
}


h2.sponsorship_title{
	font-family: dnp-shuei-mgothic-std, sans-serif;
	font-weight: 400;
    color: #73d3ff;
    font-size: 2em;
    line-height: 2.3em;
	
}
h2.sponsorship_title span{
background: linear-gradient(transparent 60%, #ffff66 60%);
}

div.sponsorship_txt{
	border:1px #a3b3e4 solid;
	margin:0 auto 10px auto;
	padding:10px 20px;
	width:100%;

}

h3.sponsorship_title{
	font-family: dnp-shuei-mgothic-std, sans-serif;
	font-weight: 400;
	font-style: normal;
	color: #fff;
	background: linear-gradient(to right, #ca76b7, #3c9bb6);
	padding:10px 20px;
	margin-top:20px;
	margin-bottom:0;
	font-size:1.4em;
	}

p.sponsorship_txt{
	font-size:1.2em;
	line-height: 2em;
	}


h4.postit {
	display: inline-block;
    position: relative;
    width: 200px;
    height:3em;
    background: #ffffc3;
	padding-left:8px;
    margin: 0 0 0 -5px;
	box-shadow:0px 0px 6px -5px #000;
	border-left: 15px solid #fefe93;
	line-height:3em;
}

i{
	position: relative;
	top: 0;
	right: 2px;
}


.another img{
	width:304px;
	margin: auto 0;
}

.toha{margin:-100px auto 0;
text-align: center;}

.toha img{margin:auto;
}


@media screen and (max-width:768px) {	
.osakabtn001{
	margin:auto;
	width:75vw;
	text-align: center;
}
.osakabtn001 img{
	margin:auto;
	width:75vw;

}
	
h3.sponsorship_title{
	width:75vw;
	margin: auto;
}
p.sponsorship_txt{
	font-size:1em;
	line-height:1.4em;
	margin:2px auto 8px;
	}

div.sponsorship_txt{
	padding:2.5vw;
	width:75vw;
}
	
h4.postit {
    width: 60vw;
}
.button_border{display: inline-block;
	 width:70vw;}
	
a.button{ width:70vw;
	margin: auto;}
	
.black_arrow{
	display:block;
	width:90vw;
	margin:auto;
}
	
.schoolname{
	font-size:15px;
	padding:0;
	width:90vw;
	margin:auto;
	display:block;
}
	
.another{
	max-width:304px;
	max-height:83px;
	width:60vw;
	height:15vw!important;
	display:block;
	padding: 0;
	position:relative;
}
.another img{
	max-width:304px;
	max-height:83px;
	width:60vw;
	height:15vw!important;
	position: absolute;
	top:0;
	margin: 0!important;
}
.toha img{width:60vw!important;}
	
}

	


@media screen and (max-width:340px) {
h2.sponsorship_title{
    font-size: 1.4em;
    line-height: 1.6em;
}
h3.sponsorship_title{
	font-size:1em;
    line-height: 1.3em;
	}
	
h4.postit {
    height:2em;
	line-height:2em;
	font-size:1em;
	font-weight: normal;
}

	p.sponsorship_txt{
	width:70vw;
	font-size:1em;
	line-height:1.3em;
	}
}

