@charset "UTF-8";

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

/* common css */

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

html {
	width: 100%;
	height: 100%;
	max-height: 100%;
}

body {
	margin: 0;
	padding: 0;
	line-height: 2.1;
	font-weight: 100;
	color: #fff;
	background: url(../image/back_blackblue.png) center top fixed repeat;
	font-family: Arial, Verdana, Roboto, "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", メイリオ, Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 16px;
	letter-spacing: 1px;
	/* rubyフォントサイズ問題用 */
	max-height: 100%;
	-webkit-text-size-adjust: 100%;
}

ruby {
	font-size: 1em;
	position: relative;
}

ruby rt {
	margin-bottom: .2em;
	font-family: 'ＭＳ ゴシック', "ＭＳ Ｐゴシック", "MS PGothic", Arial, Verdana, Roboto, "游ゴシック", "MSゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, sans-serif;
}

.select rt,
.select rp {
	display: none
}

@supports (-ms-ime-align: auto) {
	rt {
		position: relative;
		top: 0.5em;
	}
}

svg {
	position: relative;
	left: 0.4px;
	top: 0.4px;
}

svg .icon {
	fill: currentColor;
}

a {
	color: #fff;
	text-decoration: none;
	transition-property: all;
	transition-duration: 0.3s;
}

a:hover {
	cursor: pointer
}

ul,
li,
dl,
dt,
dd,
th,
td {
	list-style: none;
	padding: 0;
	margin: 0;
}

p,
li,
dt,
dd {
	line-break: strict;
	overflow-wrap: break-word;
	word-wrap: break-word;
}

.imp {
	color: orangered;
}

@media screen and (min-width:400px){
.catch,
.catch2 {
  display: flex;
  align-items: center; /* 垂直中心 */
  justify-content: center; /* 水平中心 */
	}
}

@media screen and (max-width:400px){
.catch {
  background-color:rgba(255,255,255,0.3);
	}
.catch2 {
  background-color:rgba(255,255,255,0.3);
	}
}

@media screen and (min-width:500px){
.catch br{display:none;}
.catch2 br{display:none;}
}

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

.catch:before, .catch:after {
  border-top: 1px solid;
  content: "";
  width: 3em; /* 線の長さ */
}
.catch2:before, .catch2:after {
  border-top: 1px solid;
  content: "";
  width: 3em; /* 線の長さ */
}


.catch:before {
  margin-right: 0.5em; /* 文字の右隣 */
}
.catch:after {
  margin-left: 0.5em; /* 文字の左隣 */
}

.catch2:before {
  margin-right: 0.5em; /* 文字の右隣 */
  margin-top:-5em;
}
.catch2:after {
  margin-left: 0.5em; /* 文字の左隣 */
margin-top:-5em;
}

@media screen and (max-width:1024px) {
	html {
		width: 100%;
	}
}


section {
	padding: 4em 0 3em;
	color: #fff;
}

h3 {
	font-family: Arial, Verdana, Roboto, "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 1.8em;
	padding: 0.2em 0;
	margin: 0 0 20px;
	text-align: center;
	line-height: 2;
}

h3 .icon-h {
	width: 148px;
	height: 68px;
}

img {
	border: none;
}



@media screen and (max-width:640px) {
	body {
		font-size: 14px;
	}

	h3 {
		font-size: 1.3em;
		margin: 0 0 10px;
	}

}

/* -------------------------------------------------------------- */
/* .pagetop */
/* -------------------------------------------------------------- */
.pagetop * {
	margin: 0;
	padding: 0;
}

.pagetop {
	position: fixed;
	bottom: 20px;
	right: 20px;
	-moz-opacity: 0.8;
	-khtml-opacity: 0.8;
	opacity: 0.8;
	z-index: 9999;
}

/* -------------------------------------------------------------- */
/* footer */
/* -------------------------------------------------------------- */
footer * {
	margin: 0;
	padding: 0;
}

footer {
	background: #000;
}

footer p {
	margin: 0 auto;
	padding: 0.5em 0;
	max-width: 980px;
	text-align: center;
	font-size: 0.7em;
}

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

/* index css */

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

header {
	/*position: relative;*/
	position: relative;
	padding: 0 0em;
	padding-bottom: 10px;
	background: url(../image/back_main.png?2) center top fixed repeat;
}

@media screen and (max-width:768px) {
	header {
		background-size: 0%;
		background: url(../image/back_main.png?2) center top fixed repeat;
	}
}

@media screen and (min-width:700px) {
	header {
		background-size: 100%;
	}
}

@media screen and (min-width:960px) {
	header {
		background-size: 1100px;
	}
}


/* -------------------------------------------------------------- */
/* h1 */
/* -------------------------------------------------------------- */

headre {background: url(../image/back_main.png?4) center top fixed repeat;}

@media screen and (min-width:1000px) {
.mainvisual {
	padding-bottom: 10em;
	height: 650px;
	width: 945px;
	margin: 0 auto;
}
h1 {
	margin: 0 auto;
	text-align: center;
	padding-top: 100px;
}
h1 img {
	max-width: 350px;
	width: 100%;
	filter: drop-shadow(5px 5px 5px #000);
	position: absolute;
	top: 50px;
	right: 1em;
	left: 0;
	margin: auto;
}
.date {
	margin: 0 auto;
	text-align: center;
	width: 350px;
	top: 400px;
	position: absolute;
	right: 0;
	left: 0;
	margin: auto;
}
.date img { width: 100%; }
.course_image {
	width: 450px;
	position: absolute;
	top: 250px;
	right: 1em;
}
.course_image img { width: 100%; }
header .photo1 img {
	max-width: 400px;
	position: absolute;
	top: 0px;
	right: 0em;
}
header .photo2 img {
	width: 350px;
	position: absolute;
	top: 20px;
	left: 3em;
}
header .photo3 img {
	width: 350px;
	position: absolute;
	top: 350px;
	left: 2em;
}
}

@media screen and (min-width:601px) and (max-width:1000px) {
.mainvisual {height:500px;}
h1 img {
	width: 270px;
	filter: drop-shadow(5px 5px 5px #000);
	position: absolute;
	top: 50px;
	right: 1em;
	left: 0;
	margin: auto;
}
.date {
	width: 280px;
	top: 330px;
	padding-left: 2em;
	position: absolute;
	right: 0;
	left: 0;
	margin: auto;
}
.date img { width: 100%; }
.course_image img {
	width: 40%;
	position: absolute;
	top: 250px;
	right: 2em;
}
header .photo1 img{
	width: 40%;
	position: absolute;
	top: 0px;
	right: 0px;
	}
	
header .photo2 img{
	width: 35%;
	position: absolute;
	top: 30px;
	left: 0em;
	}

header .photo3 img{
	width: 30%;
	position: absolute;
	top: 300px;
	left: 4em;
	}
}

@media screen and (max-width:600px) {
.mainvisual {height:400px;}
.mainvisual {
	padding-top: 2.8em;
	width: 90%;
	height: 550px;
	margin: 0 auto;
}
h1 img {
	width: 90%; 
	max-width:300px;
	position: absolute;
	right: 0;
	left: 0;
	margin: auto;
	}
.date img {
	max-width:300px;
	width: 100%;
	margin-top: 2em;
	padding: 0 1em;
	position: absolute;
	right: 0;
	left: 0;
	top:23em;
	margin: auto;
}
.date {
	margin-bottom: 1em;
	position: absolute;
	right: 0;
	left: 0;
	margin: auto;
}
.course_image img { display: none; }
header .photo1 img { display: none; }
header .photo2 img { display: none; }
header .photo3 img { display: none; }
}


/* -------------------------------------------------------------- */
/*  nav */
/* -------------------------------------------------------------- */

header nav {
	padding: 0.em 0
	z-index:9999;
	position: relative; /* 必要に応じてabsoluteやfixedなども使用可能 */
}


header nav ul {
	display: flex;
	flex-direction: center;
	flex-wrap: wrap;
	overflow: hidden;
	margin: 0 auto;
}

header nav ul li {
	text-align: center;
	display: flex;
	font-family: sans-serif;
}

header nav .player_nav ul {
	max-width: 490px;
}

header nav .player_nav ul li {
	width: 33%;
}

header nav .nav1 ul{
	max-width: 400px;
	padding-top:5px;
}
header nav .nav1 ul li {
	width: 30%;
	padding: 0.2em 0;
	margin: 0 auto;
}
header nav .nav2 ul{
	max-width: 600px;
	padding-top:5px;
	padding-bottom:30px;
}
header nav .nav2 ul li {
	width: 20%;
	padding: 0.2em;
}
header nav .player_nav ul li a {
	display: block;
	width: 98%;
	margin: 0 auto;
	padding-top: 2em;
	font-weight: bold;
	color: #009bb2;
	border-bottom: solid 2px #009bb2;
}
header nav .player_nav ul li a:hover {
	color: #fff;
	background: #009bb2;
}

header nav .nav1 ul li a {
	display: block;
	width: 98%;
	margin: 0 auto;
	padding-top: 1em;
	font-weight: bold;
	font-size:12px;
	color: #000;
	background-image: linear-gradient(180deg, rgba(233, 233, 233, 1), rgba(172, 172, 172, 1));
	border-radius: 10px;
	opacity: 0.9;
}
header nav .nav1 ul li a:hover {
	color: #000;
	opacity: 0.7;
	transition: 0.3s; /* マウスカーソルを載せるとき */
}
header nav .nav2 ul li a {
	display: block;
	width: 98%;
	margin: 0 auto;
	padding-top: 1em;
	font-weight: bold;
	font-size:12px;
	color: #000;
	background-image: linear-gradient(180deg, rgba(232, 216, 160, 1), rgba(193, 153, 55, 1));
	border-radius: 10px;
	opacity: 0.9;
}
header nav .nav2 ul li a:hover {
	opacity: 0.7;
	transition: 0.3s; /* マウスカーソルを載せるとき */
}

header nav svg {
	width: 74px;
	height: 34px;
}

header nav .nav1 svg {
	width: 67px;
	height: auto;
}
header nav .nav2 svg {
	width: 67px;
	height: auto;
}

/* -------------------------------------------------------------- */
/* info */
/* -------------------------------------------------------------- */

header .info {
	text-align: center;
	padding-top: 1em;
}

header .info a {
	color: #e8465a;
	font-size: 0.9em;
	text-decoration: underline;
}

header .info br {
	display: none;
}

/* -------------------------------------------------------------- */
/* btn_play */
/* -------------------------------------------------------------- */

header .btn_play {
	display: block;
	position: absolute;
	box-sizing: border-box;
	top: 2em;
	left: -1px;
	background-color: #fff;
	border: solid 1px #e8465a;
	border-radius: 0 10px 10px 0;
	overflow: hidden;
}

header .btn_play a {
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	padding: 0.5em 1em .5em 0;
	/* デザイン賞投票受付中！用
	padding: 0.5em 1em 1.6em 0;
	*/
	height: 100%;
	width: 100%;
	color: #e8465a;
}

header .btn_play svg {
	width: 74px;
	height: 34px;
}

header .btn_play a:hover {
	background-color: #e8465a;
	color: #fff;
}

/*
header .btn_play ::after{
	content: "デザイン賞投票受付中！";
	position: absolute;
	bottom:0;
	font-size: 0.8em;
	text-indent: 1em;
}
*/
header .news {
	margin: 0;
	text-align: center;
	background-color: #f29d5d;
	text-decoration-line: underline;
}

header .news a {
	color: #fff;
}

header .news a {
	color: #fff;
}

/* -------------------------------------------------------------- */
/* gratz */
/* -------------------------------------------------------------- */

header .gratz {
	text-align: center;
	overflow: hidden;
	background-color: rgba(0, 0, 0, 0.7);
	box-shadow: -5px -5px 70px 5px rgba(0, 0, 0, 0.8), 5px 5px 70px 5px rgba(0, 0, 0, 0.8);
}

header .gratz h3 {
	position: relative;
	background-color: #da60ad;
	line-height: 2.4em;
	text-align: center;
	margin: 0 auto 1em;
	max-width: 480px;
}

header .gratz h3:after,
header .gratz h3:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	border-top: 1.4em solid #da60ad;
	border-bottom: 1.4em solid #da60ad;
	border-right: 1.4em solid transparent;
	border-left: 1.4em solid transparent;
}

header .gratz h3:after {
	left: -1.4em;
}

header .gratz h3:before {
	right: -1.4em;
}

header .gratz img {
	z-index: 10;
	position: relative;
}

header .gratz div {
	max-width: 650px;
	margin: 0 auto;
}

header .gratz dl {
	color: #fff;
	text-align: left;
	overflow: hidden;
	padding: 1em 0;
	border-bottom: dotted 1px #aaa;
}

header .gratz dt {
	width: 100%;
	margin-bottom: 0.5em;
	font-weight: 600;
}

header .gratz h4 {
	text-align: left;
	margin: 2em 0 0;
}

header .gratz .round h4 span {
	color: #fff;
	background-color: #da60ad;
	padding: 1em 1em 0.2em;
}

header .gratz .round dd {
	width: 50%;
	float: left;
	font-size: 0.9em;
	box-sizing: border-box;
	padding-left: 0.5em;
	border-left: solid 2px #da60ad;
}


header .gratz .round dd span {
	font-weight: 600;
	color: #da60ad;
	line-height: 2em;
	font-size: 1.2em;
}

header .gratz .revenge h4 span {
	color: #fff;
	background-color: #009bb2;
	padding: 0.6em 1em 0.6em;
	margin-right: 1em;
}

header .gratz .revenge dd {
	width: 50%;
	float: left;
	font-size: 0.9em;
	box-sizing: border-box;
	padding-left: 0.5em;
	border-left: solid 2px #009bb2;
	line-height: 1.8em;
}

header .gratz .revenge dd span {
	font-weight: 600;
	color: #009bb2;
	line-height: 2em;
}

header .gratz .design h4 span {
	color: #fff;
	background-color: #000;
	padding: 0.6em 1em 0.6em;
	margin-right: 1em;
}

header .gratz .design dd {
	font-size: 0.9em;
	line-height: 1.8em;
	text-align: center;
	font-weight: bold;
}


header .entry_robot {
	padding:0 0 3em 0;
	background-color: rgba(0, 0, 0, 0.7);
	box-shadow: -5px -5px 70px 5px rgba(0, 0, 0, 0.8), 5px 5px 70px 5px rgba(0, 0, 0, 0.8);
}

header .entry_robot p {
	color: #fff;
	font-size: 1.2em;
	text-align: center;
	font-weight: bold;
}


header .gratz .js-modal-open:hover {
	background-color: #7a93d5;
}

header .gratz .js-modal-open svg {
	width: 30px;
	height: auto;
	vertical-align: middle;
	margin: 0 -.8em 0 -1em;
}

header .gratz .js-modal-open-3d:hover {
	background-color: #fddd00;
}

header .gratz .js-modal-open-3d svg {
	width: 30px;
	height: auto;
	vertical-align: middle;
	margin: 0 -.8em 0 -1em;
}

/* ieだけめっちゃ行が開くので非表示 */
@media all and (-ms-high-contrast:none) {
	header .gratz svg {
		display: none;
	}
}

header .gratz ul {
	max-width: 760px;
	margin: 0 auto;
	padding-top: 2em;
	box-sizing: border-box;
	text-align: left;
}

header .gratz ul li {
	display: block;
	text-align: left;
	padding-left: 1em;
	text-indent: -1em;
	font-weight: 600;
}

header .gratz ul li a:before {
	content: "・";
}

header .gratz ul li a {
	color: #da60ad;
}

header .gratz ul li a span {
	text-decoration: underline;
}

header .gratz ul li a:hover {
	color: #ed99ce;
}

@media screen and (min-width:500px) and (max-width:650px) {
header .gratz{margin-top: 3em;}
}

@media screen and (min-width:500px) {
header .gratz .js-modal-open {
	display: inline;
	color: #fff;
	font-size: .8em;
	background-color: #4d75c9;
	padding: .5em 1em;
	margin: 0;
	border-radius: 1em;
}

header .gratz .js-modal-open-3d {
	display: inline;
	color: #fff;
	font-size: .8em;
	background-color: #fdcc00;
	padding: .5em 1em;
	margin: 0;
	border-radius: 1em;
}
br.line {
	display: none;
}
}

@media screen and (max-width:500px) {
header .gratz {padding: 12em 1em 1em;}
header .gratz .js-modal-open {
	display: inline;
	color: #fff;
	font-size: .8em;
	background-color: #4d75c9;
	padding: .5em .5em;
	margin: 0;
	border-radius: 1em;
}
header .gratz .js-modal-open-3d {
	display: inline;
	color: #fff;
	font-size: .8em;
	background-color: #fdcc00;
	padding: .5em 1em;
	margin: 0;
	border-radius: 1em;
}
header .gratz .round dd a{
	line-height: 3em;
}

}
@media screen and (min-width:460px) {
header .gratz {padding: 1.5em 1em 3em;}
}
@media screen and (max-width:460px) {
header .gratz {padding: 2em 1em 1em;}
}
@media screen and (max-width:400px) {
header .gratz {padding: 2em 1em 1em;}
}

/* -------------------------------------------------------------- */
/* players */
/* -------------------------------------------------------------- */
header .players {
	list-style: none;
	padding: 0;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	max-width: 760px;
}

header .players li {
	list-style: none;
	margin: 0;
	padding: 1%;
	width: 20%;
}

header .players li a {
	width: 100%;
	border: none;
}

header .players img {
	width: 100%;
}


/* -------------------------------------------------------------- */
/* news */
/* -------------------------------------------------------------- */
#news {
	margin:20px 0 50px;
	padding:0 0;
	background-color: #0076f0;
	opacity: 0.9;
}

/*#news ul {
	background-color: #0076f0;
	padding:5px;
	max-width: 400px;
	margin: 0 auto;
}

#news li {
	max-width: 400px;
}*/

#news ul {
	background-color: #0076f0;
	padding:5px;
	text-align: center;
}

#news ul a:hover{text-decoration:underline;}

/* max400 */
/* -------------------------------------------------------------- */
@media screen and (max-width:400px) {

}



/* -------------------------------------------------------------- */
/* flyer */
/* -------------------------------------------------------------- */
#flyer {
	margin: 0 auto;
	padding: 3em 0;
	background: rgba(0, 50, 100, 0.7);
	text-align: center;
}

#flyer p.flyer{
	text-align: center;	margin: 0 auto;
	padding: 0 10px;
	}	

#flyer p.flyer img{max-width:250px;}

#flyer .btn_dl {
	width:95%;
	max-width: 350px;
	margin: 0 auto;
	box-sizing: border-box;
	list-style: none;
	display: block;
	border: solid #004073 3px;
	text-align: center;
	border-radius: 14px;
	overflow: hidden;
	position: relative;
	font-size: 1.2em;
	background-color: #faee35;
	margin-top:1em;
	margin-bottom:1em;
}
#flyer .btn_dl p span{
	font-size: 0.8em;
}

#flyer .btn_dl a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 100%;
	width: 100%;
	color: #004073;
	font-weight: bold;
	text-decoration: none;
	line-height: 2.5em;
}

#flyer .btn_dl a:hover {
	color: #fff;
	background-color: #69d0dd;
}

#flyer .btn_dl a img.pdf {
	width: 48px;
	height: 48px;
	flex-basis: 20%;
	margin: 15px 0;
}

#flyer .btn_dl a p{
	padding-top: 5px;
}

#flyer .btn_dl a svg {
	width: 88.8px;
	height: 40.8px;
	flex-basis: 20%;
}


/* -------------------------------------------------------------- */
/* information */
/* -------------------------------------------------------------- */
#information{
	background: rgba(255, 255, 255, 0.9);
	color:#000;
	padding:0 10px;
	border-radius: 10px;
    border: 3px solid #da60ad;
	font-size: 1em;
	max-width:600px;
	width:90%;
	font-weight: 400;
	margin: 0 auto;
	text-align: center;
   position: relative;
	right: 0;
	left: 0;
	margin-top: 3em;
}

#information p span{
	font-weight: 700;
	color: #da60ad;
    border-bottom: 1px solid #da60ad;
    padding-bottom: 1px;
}

#information h4{
	padding-top: 18px;
	padding-bottom: 10px;
	font-size: 22px;
	text-align:center;
}

#information p{
	padding-top: 18px;
	font-weight: 700;
	padding-bottom: 20px;
}

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

#information p span br {display: none;}
}

@media screen and (max-width:750px) {
#information {width: 97%;}
#information h4{
	padding-top:15px;
	font-size:18px;
	text-align:center;
}

#information p {font-size:14px;}

#information p span{
	font-size: 14px;
	font-weight: 700;
	width: 90%;
}
}

@media screen and (max-width:500px) {
#information p {font-size:15px;}
#information p span{font-size:12px;}
#information p span br {
	display: none;
}
}


/* -------------------------------------------------------------- */
/* hold */
/* -------------------------------------------------------------- */

#hold{
	padding: 1em 0 2em;
}

#hold p{
	margin: 0 auto;
	text-align: center;
	color:#da60ad;
	font-size:25px;
	font-weight:600;
	font-family: sans-serif;
}

#hold h3 img{
	padding: 0 10px;
	max-width:600px;
	margin:5px;
}

#hold h3 a:hover {
	color: #fff !important;
}

#hold p.place {
	text-align: center;
	color:#fff;
	font-size: 16px;
	font-weight:500;
	line-height: 1.2em;
	filter: drop-shadow(5px 5px 5px #000);
}

/* max700 */
/* -------------------------------------------------------------- */
@media screen and (max-width:700px) {
#hold p{
	font-size:20px;
}
#hold h3 img{
	width: 100%;
	margin: 5px auto;
	}
}

/* -------------------------------------------------------------- */
/* モーダル */
/* -------------------------------------------------------------- */
.modal {
	display: none;
	height: 100vh;
	position: fixed;
	top: 0;
	width: 100%;
}

.modal__bg {
	background: rgba(0, 0, 0, 0.8);
	height: 100vh;
	position: absolute;
	width: 100%;
}

.modal__content {
	background: #fff;
	left: 50%;
	padding: 1em;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 80%;
	height: 75%;
	z-index: 100;
}

model-viewer {
	min-width: 100px;
	min-height: 100px;
	width: 100%;
	height: 100%;
}

.modal__content .movie-box {
	min-width: 0%;
	min-height: 0%;
	/*
	max-width:480px;
	max-height:360px;
	*/
	background-color: #000;
	width: 100%;
	height: 90%;
	padding: 0;
	margin: 0 auto;
	position: relative;
}

.modal__content video {
	position: relative;
	width: 100%;
	height: 100%;
}

.modal__content a {
	color: #da60ad;
}

.modal__content a:hover {
	color: #ed99ce;
}

.modal__content span {
	color: #000;
	font-size: .5em;
	margin-left: 1em;
}


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

@media screen and (max-width:700px) {
	header nav ul {
		display: flex;
		flex-direction: center;
		justify-content: center;
		flex-wrap: wrap;
		overflow: hidden;
		max-width: 440px;
		margin: 0 auto;
	}

	header nav ul li {
		width: 33%;
		display: flex；
	}

	header nav a {
		padding-top: 0.5em;

	}

	header .btn_play svg {
		width: 37px;
		height: 17px;
	}


	header .info br {
		display: inherit;
	}

	.modal__content {
		width: 80%;
		height: 50%;
	}
}

@media screen and (max-width:550px) {
	header .gratz img {
		width: 100%;
	}

	header .gratz h3 {
		display: block;
		max-width: 420px;
		width: 80%;
		font-size: 1.3em;
		margin: 0 auto 10px;
	}

	header .gratz h3:after,
	header .gratz h3:before {
		display: block;
		content: '';
		position: absolute;
		bottom: 0;
		border-top: 1.4em solid #da60ad;
		border-bottom: 1.4em solid #da60ad;
		border-right: 1.4em solid transparent;
		border-left: 1.4em solid transparent;
	}

	header .gratz h3:after {
		left: -1.4em;
	}

	header .gratz h3:before {
		right: -1.4em;
	}
}

@media screen and (max-width:400px) {
	header nav {
		display: none;
	}
}

/* -------------------------------------------------------------- */
/* about */
/* -------------------------------------------------------------- */
#about {
	width: 100%;
	background: rgba(255, 255, 255, 0.8);
	padding: 1em 0;
}



#about div {
	margin: 0 auto;
	max-width: 980px;
	color: #fff;
	text-align: center;
}

#about h2 {
	margin: 0 0 20px;
}

#about p {
	margin: 0 auto;
	max-width: 680px;
	color: #000;
	text-align: center;
	font-weight: bold;
	line-height: 2;
}

#about .movie {
	text-align: center;
	margin: 1em auto;
	text-align: center;
}

#about .movie .youtubesm {
	background: #fff;
	width: 426px;
	height: 240px;
	padding: 0;
	display: inline-block;
	position: relative;
}

#about .movie .youtubesm img:hover {
	opacity: .6
}

/* 産まれた後 */
#about .movie iframe {
	width: 100%;
	height: 100%;
	width: 426px;
	height: 240px;
	padding: 0;
}

@media screen and (max-width:700px) {
	#about h2 img:first-child {
		width: 195px;
	}

	#about p {
		padding: 0 1em;
		font-weight: bold;
		line-height: 2.5;
		text-align: left
	}

	#about br {
		display: none;
	}
	#about .movie{
		padding: 0 1em;
	}
	#about .movie .youtubesm {
		display:block;
		width: 100%;
		height: 100%;
		max-width: 426px;
		max-height: 240px;
		padding: 0;
	}

	#about .movie lite-youtube {
		width: 100%;
		height: 100%;
	}

	#about .movie iframe {
		width: 100%;
		height: 100%;
	}
}


@media screen and (min-width:700px) {
	#about .photo {
		display: none;
	}
}

/* -------------------------------------------------------------- */
/* date */
/* -------------------------------------------------------------- */
#date * {
	margin: 0;
	padding: 0;
}

#date {
	margin: 0 auto;
}

#date .schedule {
	margin: 0 auto;
	padding: 2em 1em 3em;
	max-width: 980px;
}

#date .schedule div {
	margin: 0 auto;
	max-width: 680px;
}

#date dd {
	padding-bottom:20px;
}

#date dl dd span{
	font-size:15px;
}

#date dl{
	margin: 0 0 0.5em;
	font-weight: bold;
	font-size: 1.3em;
	background-image: linear-gradient(to right, white 10%, rgba(255, 255, 255, 0) 0%);
	background-position: bottom;
	background-size: 4px 1px;
	background-repeat: repeat-x;
}

#date dl:first-child {
	border-top: none;
}

/* clear hack */
#date dl {
	zoom: 1;
}

#date dl:after {
	content: ".";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}

#date dt{
	float: left;
	width: 80px;
	margin-left:30px;
}

#date dd {
	float: left;
	padding-left: 50px;
}

#date .schedule div p {
	padding-left: 1em;
	text-indent: -1em;
	font-size: 15px;
	padding-left:2em;
}

@media screen and (min-width:920px) {
	#date dl dt {
	font-size:20px;
	}
	
	#date dl dd {
	font-size:20px;
	}

}

@media screen and (max-width:750px) {
#date .schedule div p br {
	display: none;
}
}

@media screen and (min-width:500px) {
#date dd a {
	text-decoration: none!important; 
	font-size:15px;
	color: #fff;
	margin-left:20px;
	padding:10px 10px 5px;
	background-color: #009bb2;
	border-radius: 5px;
}

#date dd a:hover {
	margin-left:20px;
	padding:10px 10px 5px;
	border-radius: 5px;
	opacity: 0.7;
}
}

@media screen and (max-width:500px) {
#date dt {
	width: 90%;
	}
	
#date dd a {
	text-decoration: none!important; 
	font-size:15px;
	color: #fff;
	margin-left:10px;
	padding:10px 10px 5px;
	background-color: #009bb2;
	border-radius: 5px;
	}

#date dd a:hover {
	margin-left:20px;
	padding:10px 10px 5px;
	border-radius: 5px;
	opacity: 0.7;
	}
}


/* -------------------------------------------------------------- */
/* live */
/* -------------------------------------------------------------- */
#live {
	width: 100%;
	background: rgba(255, 255, 255, 0.2);
	position: relative;
	padding: 4em 1em 2em;
}

#live h3 {
	margin: 0 0 20px;
}

#live p {
	margin: 0 auto;
	max-width: 680px;
	color: #fff;
	text-align: center;
	line-height: 2;
}

#live a {
	text-decoration: underline;
	color: #da60ad;
}

#live a:hover {
	color: #ed99ce;
}

#live .ballot {
	display: block;
	max-width: 600px;
	font-size: 1.2em;
	font-weight: 700;
	border: #fff solid 2px;
	padding: 1em 0 .5em;
	margin: 0 auto 3em;
	background-color: #da60ad;
	color: #fff;
	text-align: center;
	text-decoration: none;
}

#live .ballot::before {
	content: "\0bb";
	padding-right: .5em;
	transition-property: all;
	transition-duration: 0.3s;
}

#live .ballot::after {
	content: "\0ab";
	padding-left: .5em;
	transition-property: all;
	transition-duration: 0.3s;
}

#live .ballot:hover {
	background-color: #fff;
	border-color: #da60ad;
	color: #da60ad;
}

#live .ballot:hover::before {
	padding-right: 0;
}

#live .ballot:hover::after {
	padding-left: 0;
}

#live .movie {
	text-align: center;
	margin: 1em auto;
	max-width: 980px;
	text-align: center;
}

#live .movie lite-youtube {
	width: 560px;
	height: 315px;
	padding: 0;
	display: block;
	margin: 0 auto;
}

#live .movie iframe {
	width: 560px;
	height: 315px;
	padding: 0;
}

@media screen and (max-width:700px) {
	#live p {
		padding: 0 1em;
		line-height: 2.5;
		text-align: left;
		max-width: 560px;
	}

	#live .movie {
		width: 100%;
		max-height: 315px;
		position: relative;
		padding-top: 56.25%;
	}

	#live .movie lite-youtube {
		position: absolute;
		width: 100%;
		height: 100%;
		max-width: 560px;
		max-height: 315px;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		margin: auto;
	}

	#live .movie iframe {
		position: absolute;
		width: 100%;
		height: 100%;
		max-width: 560px;
		max-height: 315px;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		margin: auto;
	}
}


/* -------------------------------------------------------------- */
/* requirements */
/* -------------------------------------------------------------- */
#requirements * {
	margin: 0;
	padding: 0;
}

#requirements {
	margin: 0 auto;
	background: rgba(218, 96, 173, 0.8);
}

#requirements .frame div{
	margin: 0 auto;
	padding: 0 20px 1em 1em;
	max-width: 600px;
}

#requirements .frame div.each{margin-bottom: 0.5em;}

#requirements dl span.new{
	font-size:12px;
	background-color: #fdef9f;
	color: #af488e;
	font-weight: bold;
	border-radius: 5px;
	padding: 4px 5px 1px 5px;
}

#requirements dl span.new{
	font-size:12px;
}

#requirements dl.overview2{
	margin: 0 0 1em;
	font-weight: bold;
	font-size: 1.1em;
	background-image: linear-gradient(to right, white 10%, rgba(255, 255, 255, 0) 0%);
	background-position: bottom;
	background-size: 4px 1px;
	background-repeat: repeat-x;
	border-bottom: dotted 1px #fff;
}

#requirements dt.overview2{margin-top:30px;}
#requirements dl.overview2 dd.overview1 span{margin-left:20px;}
#requirements dd.overview2 {margin-bottom:10px;}
#requirements dd.overview3 {color: #fdef9f;margin-bottom:10px;}
#requirements dd.overview4 {color: #fdef9f;}

#requirements dl.overview2 dd.overview4 span{margin-left:20px;}

#requirements p.detail{margin:20px 0;}
#requirements .zenkoku{
	background: rgba(255, 255, 255, 0.9);
	color:#000;
	padding-top:5px;
	border-radius: 10px;
	color: #535353;
	font-weight:700;
}
#requirements .zenkoku a{
	color: #af488e;	
}

#requirements .zenkoku a:hover{
	color: #e98bc5;	
}

#requirements dl:first-child {
	border-top: none;
}

/* clear hack */
#requirements dl {
	zoom: 1;
}

#requirements dl:after {
	content: ".";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}

#requirements dt.overview3 {
	float: left;
	width: 120px;
}

#requirements dd a {
	text-decoration: underline;
}

#requirements dd a:hover {
	color: #ed99ce;
}

#requirements dd span {
	font-size: 0.8em;
	font-weight: 100;
	line-height: 100%
}

#requirements dd p {
	font-size: 0.8em;
}

#requirements dd p a {
	color: #fccb00;
}

#requirements .frame div p.examination {
	padding-left: 1em;
	text-indent: -1em;
}

@media screen and (min-width:920px) {
#requirements dl.overview1 dd {
	font-size:20px;
}
#requirements dl.overview1 dd span{
	font-weight: bold;
}
}

@media screen and (min-width:500px) {
#requirements .zenkoku h5 a {
	display: block;
	color: rgba(0, 155, 178, 0.8);
	font-weight: bold;
	margin: 0 auto;
	text-align: center;
	color: #fff;
	text-decoration: none;
	background-color:  #af488e;	
	width:320px;
	padding-top:5px;
	border-radius: 30px;
}
}
@media screen and (max-width:500px) {
#requirements .zenkoku h5 a {
	display: block;
	color: rgba(0, 155, 178, 0.8);
	font-weight: bold;
	margin: 0 auto;
	text-align: center;
	color: #fff;
	text-decoration: none;
	background-color:  #af488e;	
	padding-top:5px;
	border-radius: 30px;
}
}
@media screen and (min-width:400px) {
#requirements .frame {
	margin: 0 auto;
	padding: 0 1em 3em;
	max-width: 980px;
}


#requirements .zenkoku h4{
	padding-top:15px;
	padding-bottom:10px;
	font-size:18px;
	text-align:center;
}
#requirements .zenkoku h5{
	font-size: 14px;
}
#requirements .zenkoku h5 {
	margin-top: 0.5em;	
}
#requirements .zenkoku h5 a:hover {
	color: #fff;
	background-color:  rgba(175, 72, 142, 0.5);
}

#requirements .zenkoku p{
	font-size:13px;
	font-weight:700;
}
#requirements .zenkoku p span{
	font-size:13px;
	font-weight:700;
	color: #af488e;	
	text-decoration: underline;
}
}

@media screen and (max-width:400px) {
#requirements .frame {
	margin: 0 auto;
	padding: 0 0.5em em;
	max-width: 980px;
}
	#requirements .frame div {
		padding: 0 1em 1em;
	}
	#requirements dl {
		padding-left:-5em;
		margin-bottom: 0.5em;
	}

	#requirements dt {
		width: 100%;
		margin-bottom: 0.5em;
	}
	
	#requirements dd {
		width: 100%;
		box-sizing: border-box;
		font-size: 0.8em
	}
	#requirements dd {
		width: 100%;
		box-sizing: border-box;
		font-size: 0.8em
	}
	
	#requirements dl span.new{
		font-size: 0.6em
	}
#requirements .zenkoku h4{
	padding-top:15px;
	font-size:15px;
	text-align:center;
}

#requirements .zenkoku p{
	font-size:10px;
}
#requirements .zenkoku p span{
	font-size:10px;
	font-weight:700;
	text-decoration: underline;
	color: #af488e;	
}

}



/* -------------------------------------------------------------- */
/* nav */
/* -------------------------------------------------------------- */
#nav * {
	margin: 0;
	padding: 0;
}

#nav {
	margin: 0 auto;
	background: rgba(0, 155, 178, 0.8);
}

#nav ul {
	margin: 0 auto;
	text-align: center;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

#nav li {
	min-width: 280px;
	width: 40%;
	max-width: 360px;
	min-height: 250px;
	box-sizing: border-box;
	list-style: none;
	vertical-align: top;
	border: solid #fff 3px;
	margin: 1em;
	overflow: hidden;
	position: relative;
}

#nav .nav_rule {
	background-color: #009bb2;
	padding-top: 1em;
	padding-bottom: 0.5em;
}

#nav span.new{
	font-size:10px;
	background-color: rgba(0, 155, 178, 0.8);
	color: #fbffba;
	font-weight: bold;
	border-radius: 5px;
	padding: 4px 5px 2px 5px;
	margin-left:-25px;
	margin-right:10px;
}

#nav .nav_course a {
	background-color: #dc247a;
	padding-top: 1em;
	padding-bottom: 0.5em;
}

#nav li p {
	font-weight: 100;
	line-height: 2;
}

#nav li.nav_course a {
	display: block;
	width: auto;
	box-sizing: border-box;
	height: 100%;
	color: #fff;
	font-weight: bold;
	position: relative;
}

#nav li.nav_rule a {
	display: block;
	color: rgba(0, 155, 178, 0.8);
	font-weight: bold;
	margin: 10px 0;
	text-align: center;
	padding: 5px;
}

#nav li.nav_rule a:hover {
	color: #fff;
	background-color: rgba(0, 155, 178, 0.8);
}
#nav .nav_rule div.new a:hover{
	color: #fbffba;
}

#nav li.nav_course a:hover {
	color: rgba(218, 96, 173, 1);
	background-color: #fff;
}

#nav li.nav_course h4 {
	padding-top: 20px;
	font-size: 20px;
}

#nav .nav_rule div {
	background-color: #fff;
	border-radius: 30px;
	width: 250px;
	margin: 0 auto;
}

#nav .nav_rule div.new {
	background-color: #fbffba;
	border-radius: 30px;
	width: 250px;
	margin: 0 auto;
}

#nav .nav_rule div:hover {
	cursor: pointer;
}

@media screen and (max-width:320px) {
	#nav li {
		min-width: inherit;
		width: 100%;
	}
}


/* -------------------------------------------------------------- */
/* samples */
/* -------------------------------------------------------------- */
#samples {
	background: rgba(0, 155, 178, 0.8);
	text-align: center;
}

#samples p {
	max-width: 800px;
	margin: 0 auto;
	padding: 0 1em;
	text-align: center;
}

#samples a {
	text-decoration: underline;
}

#samples p a {
	font-size: 1em;
	color: #fccb00;
	font-weight: 800;
}

#samples a:hover {
	color: #4cbacb;
}

#samples ul {
	margin: 0 auto;
	padding: 0;
	max-width: 800px;
	text-align: center;
	display: block;
}

#samples li {
	width: 30%;
	list-style: none;
	display: inline-block;
	vertical-align: top;
	text-align: center;
	margin-bottom: 1em;
}

#samples li a {
	text-align: left;
}

#samples li a:hover {
	opacity: 0.5;
}

#samples li img {
	width: 100%;
	max-width: 210px;
	padding: 1%;
}

/* max700 */
/* -------------------------------------------------------------- */
@media screen and (max-width:700px) {
	#samples ul {
		margin: 0 auto;
		padding: 0 1em;
		max-width: 450px;
		text-align: left;
		display: block;
	}

	#samples li {
		width: 48%;
		list-style: none;
		display: inline-block;
		text-align: left;
		margin-bottom: 1em;
	}

	#samples p {
		text-align: left;
	}
}


/* -------------------------------------------------------------- */
/* application */
/* -------------------------------------------------------------- */
#application {
	margin: 0 auto;
	background: rgba(218, 96, 173, 0.8);
}

#application h4 {
	font-family: "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 1em;
	text-align: left;
	line-height: 2em;
	max-width: 801px;
	padding: 0.2em 1em;
	margin: 0 auto;
}

#application .end{
	max-width: 801px;
	padding: 1em;
	margin: 0 auto 2em;
}
#application .end p{
	line-height: 2;
	padding: 1em;
	max-width: 801px;
	box-sizing: border-box;
	text-align: center;
	font-size: 1.4em;
	border: 2px solid #fff;
}

#application p {
	line-height: 2;
	margin: 0 auto;
	padding: 0 1em 1em;
	max-width: 820px;
}

#application p a{
	color: #fccb00;
	text-decoration: underline;
}

#application p a:hover {
	color: #ed99ce;
}

#application .presents{
	margin: 0 auto;
	max-width: 980px;
	text-align: center;
	padding: 1em 1em 2em;
	display: block;
}

#application dl{
	width: 270px;
	display: inline-block;
	vertical-align: top;
	text-align: center;
	margin: 5px;
	border: solid 1px #fff;
	background-color: rgba(255,255,255,0.5);
}
#application dt{
	font-weight: 800;
	padding: 1em;
	border-bottom: solid 1px #fff;
	background-color: #fff;
	color: #da60ad;
}
#application dd{
	padding: 1em 0 0.5em;
}
#application dd.virus{
	font-size:14px;
}
#application dd{
	border-bottom: dotted 1px #fff;
}
#application dd:last-child{
	border-bottom: none;
}
#application dd:last-child a{
	text-decoration: underline;
}
#application dd:last-child a:hover{
	color: #4cbacb;
}
#application dl .app_btn{
	padding: 0;
	width: 210px;
	height: 77px;
	box-sizing: border-box;
	list-style: none;
	display: inline-block;
	margin: 1em 0;
}

/* #application dl .app_btn div */
#application dl .app_btn div {
	display: flex;
	box-sizing: border-box;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	color: #fff;
	font-weight: bold;
	position: relative;
	text-decoration: none;
	border: solid #fff 3px;
	border-bottom: dotted none;
}

#application dl .app_btn2 div {
	display: flex;
	box-sizing: border-box;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	color: #fff;
	font-weight: bold;
	position: relative;
	text-decoration: none;
	border: solid #fff 3px;
	border-bottom: dotted none;
}

/* #application dl .app_btn div */
#application dl .app_btn a{
	display: flex;
	box-sizing: border-box;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	color: #fff;
	font-weight: bold;
	position: relative;
	text-decoration: none;
	border: solid #fff 3px;
}

#application dl .app_btn2 a{
	display: flex;
	box-sizing: border-box;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	color: #fff;
	font-weight: bold;
	position: relative;
	text-decoration: none;
	border: solid #fff 3px;
}

/* #application dl .app_btn div::after */
#application dl .app_btn a::after{
	content: "＞";
	font-size: 40px;
	position: absolute;
	top: -5px;
	right: 10px;
}
#application dl .app_btn div::after{
	content: "＞";
	font-size: 40px;
	position: absolute;
	top: -5px;
	right: 10px;
}
#application dl .app_btn2 div::after{
	content: "＞";
	font-size: 40px;
	position: absolute;
	top: -5px;
	right: 10px;
}

/* #application dl .app_btn div::after */
#application dl .app_btn a:hover {
	color: #da60ad;
	background-color: #fff;
}
#application dl .app_btn2 a::after{
	content: "＞";
	font-size: 40px;
	position: absolute;
	top: -5px;
	right: 10px;
}
#application dl .app_btn2 a:hover {
	color: #da60ad;
	background-color: #fff;
}

#application .btn_dl {
	width: 340px;
	height: 77px;
	margin: 0 auto;
	box-sizing: border-box;
	list-style: none;
	display: block;
	border: #fff solid 3px;
	text-align: center;
	border-radius: 14px;
	overflow: hidden;
	position: relative;
	background-color: rgba(255,255,255,0.5);
}

/* #application .btn_dl div */
#application .btn_dl a {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	width: 100%;
	color: #fff;
	font-weight: bold;
	position: relative;
	padding-left: 60px;
	background: url(../image/icon_xlsx.png?2);
	background-repeat: no-repeat;
	background-position: 10px 50%;
}

#application .btn_dl div {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	width: 100%;
	color: #fff;
	font-weight: bold;
	position: relative;
	padding-left: 60px;
	background: url(../image/icon_xlsx.png?2);
	background-repeat: no-repeat;
	background-position: 10px 50%;
}

#application .presents dd a:hover {
	color: #ed99ce;
}

#application .btn_dl a:hover {
	color: #da60ad;
	background-color: #fff;
}

/* #application .btn_dl div svg */
#application .btn_dl a svg {
	width: 74px;
	height: 34px;
}
#application .btn_dl div svg {
	width: 74px;
	height: 34px;
}


/* min700 */
/* -------------------------------------------------------------- */
@media screen and (min-width:700px) {
#application dl .app_btn2{
	padding: 0;
	width: 210px;
	height: 77px;
	box-sizing: border-box;
	list-style: none;
	display: inline-block;
	margin: 4.2em 0 1em;
}
#application .pre p{
	max-width: 750px;
}
}

/* max700 */
/* -------------------------------------------------------------- */
@media screen and (max-width:700px) {
	#application p {
		padding: 0 1em;
		line-height: 2.5;
		text-align: left
	}

	#application dl {
		width: 90%;
		display: inline-block;
		text-align: center;
		margin: 0 0 2em;
	}

	#application dl dd br {
		display: none;

	}
#application dl .app_btn2{
	padding: 0;
	width: 210px;
	height: 77px;
	box-sizing: border-box;
	list-style: none;
	display: inline-block;
	margin: 1em 0;
}
}

/* max400 */
/* -------------------------------------------------------------- */
@media screen and (max-width:400px) {
	#application li {
		width: 90%;
	}

	#application dl .app_btn {
		width: 100%;
		padding: 0 1em;
	}
	#application dl .app_btn2 {
		width: 100%;
		padding: 0 1em;
	}
	#application .btn_dl {
		width: 70%;
		background-image: none;
	}

	#application .btn_dl a {
		padding: 0;
	}

	#application .btn_dl a {
		background: none;
	}

	#application .btn_dl a svg {
		display: none;
	}
#application .pre p{
	max-width: 400px;
	width:90%;
}
}


/* thanks */
/* -------------------------------------------------------------- */

#application #thanks {
	margin: 0 auto;
	max-width: 600px;
	padding: 1em;
}

#application #thanks p {
	margin: 0;
	padding: 2em 0;
	color: #fff;
	font-weight: bold;
	font-size: 1.em;
	background: #f00;
	text-align: center;
}

/* -------------------------------------------------------------- */
/* pre */
/* -------------------------------------------------------------- */
#pre a {
	color: #da60ad;
}

#pre a:hover {
	color: #ed99ce;
}

#pre p {
	margin: 0 auto 2em;
	;
	padding: 0 1em;
	max-width: 700px;
	font-size: 0.9em;
	line-height: 2em;
}

#pre .frame {
	margin: 0 auto;
	padding: 0 1em;
	max-width: 600px;
}

#pre dl {
	padding: 0.5em 0;
	margin: 0 auto;
}

#pre dl dt {
	line-height: 2em;
}

#pre dl dt::before {
	content: "● ";
}

#pre dl dt a {
	color: #fff;
}

#pre dl dt a:hover {
	color: #da60ad;
}

#pre dl dt svg {
	width: 55px;
	height: 25px;
	margin-bottom: -5px;
}

#pre dl dd span {
	display: inline-block;

	padding-right: 1em;
}

#pre dl dd {
	font-size: 0.8em;
}

#pre dl dd a {
	text-decoration: underline;
}

#pre dl img {
	display: inline-block;
}

/* -------------------------------------------------------------- */
/* q and a */
/* -------------------------------------------------------------- */
#question {
	background: rgba(255, 255, 255, 0.95);
	color: #333;
}

#question h2 {
	text-align: center;
	position: relative;
	font-size: 2em;
}

#question h2 span {
	font-size: 0.8em;
}

#question h2::after {
	content: "";
	width: 2.8em;
	height: 2px;
	background-color: #333;
	position: absolute;
	left: 50%;
	bottom: 0.2em;
	margin-left: -1.4em;
}

#question .q_a {
	max-width: 900px;
	font-size: 0.9em;
	margin: 0 auto;
	padding: 0 1em;
}

#question .q_a p {
	text-indent: -2em;
	padding-left: 2em;
}

#question .q_a p:first-child {
	margin-bottom: 0;
}

#question .q_a p:first-child::before {
	content: "Q.";
	font-size: 1.6em;
	margin-right: 0.2em;
}

#question .q_a p:last-child {
	padding-top: 0;
	color: #da60ad;
}

#question .q_a p:last-child::before {
	content: "A.";
	font-size: 1.6em;
	margin-right: 0.2em;
}

#question .q_a a {
	color: #da60ad;
	border-bottom: solid 1px #da60ad;
}

#question .q_a a:hover {
	color: #da60ad;
	border-bottom: solid 1px #da60ad;
}

/* -------------------------------------------------------------- */
/* company */
/* -------------------------------------------------------------- */
#company {
	margin: 0 auto;
	padding: 3em 0 6em;
	background: rgba(0, 155, 178, 0.8);
	text-align: center;
}

#company h4 {
	font-size: 1.4em;
	max-width: 720px;
	color: #fff995;
}

#company h5 {
	font-size: 1.2em;
	max-width: 720px;
	margin: 2em auto 0.5em;
}

#company a {
	text-decoration: underline;
}

#company a:hover {
	/*color: #ed99ce;*/
	color: #4cbacb;
}

#company .support {
	margin: 0 auto;
	padding: 1em;
	max-width: 720px;
}

#company .support p {
	font-size: 0.9em;
}

#company .support a {
	color: #f8cf79;
}

#company p span {
	display: inline-block;
}

#company .support p span img {
	vertical-align: middle;
}

#company .btn_dl {
	max-width: 360px;
	height: 86px;
	margin: 0 auto;
	box-sizing: border-box;
	list-style: none;
	display: block;
	border: solid #fff 2px;
	text-align: center;
	border-radius: 14px;
	overflow: hidden;
	position: relative;
	font-size: 1.2em;
	margin-bottom: 2em;
}

#company .btn_dl a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 100%;
	width: 100%;
	max-width: 360px;
	color: #fff;
	font-weight: bold;
	text-decoration: none;
}

#company .btn_dl a:hover {
	color: #009bb2;
	background-color: #fff;
}

#company .btn_dl a img {
	width: 56px;
	height: 56px;
	flex-basis: 25%;
}

#company .btn_dl a span {
	flex-basis: 50%;
}

#company .btn_dl a svg {
	width: 88.8px;
	height: 40.8px;
	flex-basis: 25%;
}


#company .what {
	max-width: 630px;
	margin: 0 auto;
	font-size: 0.8em;
	text-align: center;
}

#company .what p {
	text-align: left;
}

#company .what .event {
	display: inline-block;
	width: 40%;
}

#company .what img {
	width: 100%;
}

#company .what ul {
	overflow: hidden;
	width: 60%;
	margin: 0 auto;
}

#company .what ul li {
	width: 25%;
	float: left;
}

#company .supporters ul {
	display: flex;
	flex-wrap: wrap;
	max-width: 720px;
	margin: 0 auto;
	justify-content: center;
}

#company .supporters li {
	width: 22%;
	margin: 1%;
	line-height: 2.8em;
	overflow: hidden;
}

#company .supporters li a {
	display: flex;
	width: 100%;
	height: 100%;
	justify-content: center;
	align-items: center;
	border: solid 2px #fff;
	box-sizing: border-box;
	padding: 10px;
	text-decoration: none;
}

#company .supporters li a:hover {
	background-color: rgba(255, 255, 255, 0.2);
	color: #fff;
}

#company .supporters ul .line2 {
	line-height: 1.4em;
}

/*
#company .supporters dl{
	width: 22%;
	background-color: rgba(255, 255, 255, 0.2);
	margin: 1%;
	border-radius: 5px;
	padding: 10px 0;
	line-height: 2.8em;
}
#company .supporters dl.line2{
	line-height: 1.4em;
}
*/

@media screen and (min-width:900px) {
.business{
	margin: 0 auto;
	width: 100%;
	max-width:900px;
	}
}


/* max400 */
/* -------------------------------------------------------------- */
@media screen and (max-width:400px) {
	#company li {
		width: 90%;
	}

	#company .btn_dl {
		width: 100%;
	}

	#company .btn_dl a {
		padding: 0;
	}

	#company .btn_dl a span {
		flex-basis: 75%;
	}

	#company .btn_dl a svg {
		display: none;
	}

	#company .support {
		padding: 1em 0;
	}
}

/* max470 */
/* -------------------------------------------------------------- */
@media screen and (max-width:470px) {
#company .supporters li {
	width: 40%;
	margin: 1%;
	line-height: 2.8em;
	overflow: hidden;
}
}

/* -------------------------------------------------------------- */
/* company2 */
/* -------------------------------------------------------------- */
#company2 {
	margin: 0 auto;
	padding: 3em 0 6em;
	background: rgba(218, 96, 173, 0.8);
	text-align: center;
}

#company2 p.contest_kani,
#company2 p.contest_zenkoku{
	text-align: center;	margin: 0 auto;
	padding: 0 10px;
	}	

#company2 p.recruitment{margin-top:20px;}
#company2 p.contest_kani img{max-width:300px;}
#company2 p.contest_zenkoku img{max-width:400px;}


#company2 .btn_dl1 {
	width:95%;
	max-width: 350px;
	margin: 0 auto;
	box-sizing: border-box;
	list-style: none;
	display: block;
	border: solid #ff457b 3px;
	text-align: center;
	border-radius: 14px;
	overflow: hidden;
	position: relative;
	font-size: 1.1em;
	background-color: rgba(255,255,255,1);
	margin-top:2em;
}



#company2 p.unknown{clear:both; padding-bottom:8em;}

#company2 .btn_dl1 a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 100%;
	width: 100%;
	max-width: px;
	color: #ff457b;
	font-weight: bold;
	text-decoration: none;
	line-height: 2.5em;
}


#company2 .btn_dl1 a:hover {
	color: #fff;
	background-color: #ff457b;
}


#company2 .btn_dl1 a img.pdf {
	width: 48px;
	height: 48px;
	flex-basis: 20%;
}

#company2 .btn_dl1 br{
display: block;
content: "";
margin: -12px 0;
}

#company2 .btn_dl1 a p{
	padding-top: 5px;
}

#company2 .btn_dl1 a span {
	flex-basis: 50%;
}

#company2 .btn_dl1 a svg {
	width: 88.8px;
	height: 40.8px;
	flex-basis: 20%;
}

#company2 .btn_dl2 {
	width:95%;
	max-width: 350px;
	margin: 0 auto;
	box-sizing: border-box;
	list-style: none;
	display: block;
	border: solid #66c9d5 3px;
	text-align: center;
	border-radius: 14px;
	overflow: hidden;
	position: relative;
	font-size: 1.1em;
	background-color: #fff;
	margin-top:1em;
	margin-bottom:1em;
}
#company2 .btn_dl2 p span{
	font-size: 0.8em;
}

#company2 .btn_dl2 a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 100%;
	width: 100%;
	max-width: px;
	color: #66c9d5;
	font-weight: bold;
	text-decoration: none;
	line-height: 2.5em;
}

#company2 .btn_dl2 a:hover {
	color: #fff;
	background-color: #69d0dd;
}


#company2 .btn_dl2 a img.pdf {
	width: 48px;
	height: 48px;
	flex-basis: 20%;
}

#company2 .btn_dl2 br{
display: block;
content: "";
margin: -12px 0;
}

#company2 .btn_dl2 a p{
	padding-top: 5px;
}

#company2 .btn_dl2 a span {
	flex-basis: 50%;
}

#company2 .btn_dl2 a svg {
	width: 88.8px;
	height: 40.8px;
	flex-basis: 20%;
}


#company2 h5 {
	font-size: 1.2em;
	max-width: 720px;
	margin: 2em auto 0.5em;
}

#company2 a {
	text-decoration: underline;
	color: #f8cf79;
}

#company2 a:hover {
	/*color: #4cbacb;*/
	color: #ed99ce;
}

#company2 .support {
	margin: 0 auto;
	max-width: 720px;
	box-sizing: border-box;

}

#company2 p {
	padding-bottom: 5px;
}

#company2 p span {
	display: inline-block;
}

#company2 .deadline{
	max-width: 600px;
	margin: 70px auto 20px;
	text-align: center;
	background-color: rgba(255,255,255,0.7);
	color: #000;
	font-size: 22px;
}

#company2 .deadline dt{
	float:left;
	width: 250px;
}


@media screen and (max-width:750px) {
#company2 .deadline{
	width: 85%;
	font-size:18px;
	}
#company2 .deadline dt{
	width: 100%;
}
}

#company2 .support{
	clear:both;
	margin-top:10px;
}

#company2 .support p span img {
	vertical-align: middle;
}

#company2 .btn_dl {
	max-width: 360px;
	height: 86px;
	margin: 0 auto;
	box-sizing: border-box;
	list-style: none;
	display: block;
	border: solid #fff 2px;
	text-align: center;
	border-radius: 14px;
	overflow: hidden;
	position: relative;
	font-size: 1.2em;
}

#company2 .btn_dl a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 100%;
	width: 100%;
	max-width: 360px;
	color: #fff;
	font-weight: bold;
	text-decoration: none;
}

#company2 .btn_dl a:hover {
	color: #da60ad;
	background-color: #fff;
}

#company2 .btn_dl a img {
	width: 56px;
	height: 56px;
	flex-basis: 25%;
}

#company2 .btn_dl a span {
	flex-basis: 50%;
}

#company2 .btn_dl a svg {
	width: 88.8px;
	height: 40.8px;
	flex-basis: 25%;
}

#company2 .app_btn{
	padding: 0;
	width: 400px;
	height: 77px;
	box-sizing: border-box;
	list-style: none;
	display: inline-block;
	border: solid #fff 3px;
	margin: 1em 0;
	font-size: 1.2em;
	margin: 1em 0 2em;
}


#company2 .app_btn div{
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	color: #fff;
	font-weight: bold;
	position: relative;
	text-decoration: none;
	background-color: rgba(255,255,255,0.5);
}
#company2 .app_btn div::after {
	content: "＞";
	font-size: 40px;
	position: absolute;
	right: 10px;
}

#company .support:nth-last-of-type(1) p:nth-child(1){
	padding-bottom: 1em;
	border-bottom: solid 2px #fff;
}

#company2 .app_btn a{
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	color: #fff;
	font-weight: bold;
	position: relative;
	text-decoration: none;
}
#company2 .app_btn a::after {
	content: "＞";
	font-size: 40px;
	line-height: 77px;
	position: absolute;
	top: 0px;
	right: 10px;
}

#company2 .app_btn a:hover {
	color: #da60ad;
	background-color: #fff;
}


/* contentsn */
/*-----------------*/
#company2 .contentsn {
	background-color: rgba(255, 255, 255, 0.95);
	color: #333;
	padding: 2em 2em 3em;
	width:95%;
	max-width:690px;
	margin: 0 auto;	
}

#company2 .contentsn p {
	text-align: left;
	font-size: 0.9em;
	margin: 0.5em 0 0;
}

#company2 .contentsn h4 {
	background-color: #000;
	color:#fff;
	display: inline-block;
	font-size: 1em;
	padding: 0em 1.5em;
	border-radius: 1em;
	margin-top: 1.5em;
}

#company2 .contentsn .merit h5 {
	font-size: 1em;
	text-decoration: underline;
	text-align: left;
	margin: 1em 0 0;
}

#company2 .contentsn .plan ol {
	text-align: left;
	font-size: 0.9em;
	padding: 0.5em 0 0 1.5em;
	margin: 0 auto;
}

#company2 .contentsn .plan ol li {
	list-style: decimal;
	font-weight: bold;
}

#company2 .contentsn .plan a {
	color: #009bb2;
}

#company2 .contentsn .plan a:hover {
	color: #4cbac;
}


@media screen and (min-width:950px) {
.business{
	margin: 0 auto;
	paddig
	}
}


@media screen and (max-width:950px) {
.business{
	margin: 0 auto;
	width:100%;
	padding: 0 10px;
	}
	
.sponsor_application {
	margin:10px;
	}
}

#company2 h4 {
	font-size: 1.2em;
	max-width: 720px;
	margin: 2em auto 0em;
	color: #fff;
}


/* max400 */
/* -------------------------------------------------------------- */
@media screen and (max-width:400px) {
	#company2 li {
		width: 90%;
	}

	#company2 .btn_dl {
		width: 100%;
		background-image: none;
	}

	#company2 .btn_dl a {
		padding: 0;
	}

	#company2 .btn_dl a svg {
		display: none;
	}

	#company2 .btn_dl a img {
		width: 56px;
		height: 56px;
		flex-basis: 25%;
	}

	#company2 .btn_dl a span {
		flex-basis: 80%;
	}
}
@media screen and (min-width:560px){
h4.title li.catch1 {
    font-size: 1.5em;
    padding-top: 10px;
    line-height: 0.8;
	letter-spacing: 0.3em;
	color: #fff995;
}

h4.title li.catch2 {
    font-size: 1.4em;
	letter-spacing: 0.05em;
	color: #fff995;
}

h4.title li.catch3 {
	font-size: 1.0em;
    flex: 2;
    padding-top: 10px;
    padding-bottom: 40px;
    line-height: 1.4;
}

}

@media screen and (min-width:400px) and (max-width:560px){
#company2 .app_btn {width: 90%;}

h4.title li.catch1 {
    font-size: 1.2em;
    padding-top: 10px;
    line-height: 0.8;
	letter-spacing: 0.3em;
	color: #fff995;
}

h4.title li.catch2 {
    font-size: 1.2em;
	letter-spacing: 0.05em;
	color: #fff995;
}

h4.title li.catch3 {
	font-size: 1em;
    padding-bottom: 40px;
    line-height: 1.4;
	text-align:left;
}
.catch:before, .catch:after {
  border-top: 1px solid;
  content: "";
  width: 2em; /* 線の長さ */
}
}
@media screen and (max-width:400px){
#company2 .app_btn{
		width: 100%;
}
#company2 .catch{
	text-align:center;
	margin: 0 auto;
}
h4.title ul{
	text-align:center;
	margin: 0 auto;
	padding-left: 30px;
}

h4.title li.catch1 {
    font-size: 1.3em;
    padding-top: 10px;
    line-height: 0.8;
	color: #fff995;
}

h4.title li.catch2 {
    font-size: 16px;
	letter-spacing: 0.01em;
	color: #fff995;
}

h4.title li.catch3 {
	font-size: 1em;
    padding-bottom: 10px;
    line-height: 1.4;
	text-align:center;
}
}

/* ------------------------------------------- */
/* special */
/* ------------------------------------------- */
#special {
	text-align: center;
	background: rgba(0, 155, 178, 0.8);
}

#special p {
	margin: 0 auto;
	padding: 0.8em 0;
	font-size: 0.8em;
	width: 90%;
	max-width: 980px;
	text-align: left;
}

#special p a {
	text-decoration: underline;
}

#special p a:hover {
	color: #4cbacb;
}

#special .cc {
	text-align: center;
}

#special ul {
	width: 90%;
	max-width: 980px;
	display: block;
	list-style: none;
	overflow: hidden;
	padding: 0;
	margin: auto;
}

#special .btn_dl {
	width: 280px;
	height: 77px;
	margin: 1em;
	box-sizing: border-box;
	list-style: none;
	display: inline-block;
	border: solid #fff 3px;
	text-align: center;
	border-radius: 14px;
	overflow: hidden;
	position: relative;
}

#special .btn_dl.ic_png a {
	background: url(../image/icon_png.png?2);
	background-repeat: no-repeat;
	background-position: 10px 50%;
}

#special .btn_dl.ic_psd a {
	background: url(../image/icon_psd.png);
	background-repeat: no-repeat;
	background-position: 10px 50%;
}

#special .btn_dl a {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	width: 100%;
	color: #fff;
	font-weight: bold;
	position: relative;
	padding-left: 60px;
}

#special .btn_dl a svg {
	width: 74px;
	height: 34px;
}

#special .btn_dl a:hover {
	color: #009bb2;
	background-color: #fff;
}


#special .cc img {
	width: auto;
}

/* max1200 */
/* -------------------------------------------------------------- */
@media screen and (max-width:1200px) {
	#special img {
		width: 100%
	}
}

/* max640 */
/* -------------------------------------------------------------- */
@media screen and (max-width:640px) {

	#special ul {
		margin-bottom: 10px;
	}

	#special .cc {
		padding: 0;
		margin: 10px 0;
	}

	#special .cc+p {
		font-size: 0.8em;
	}

	#special .cc img {
		width: 44px;
	}
}

/* max400 */
/* -------------------------------------------------------------- */
@media screen and (max-width:400px) {
	#special .btn_dl {
		width: 80%;
	}

	#special .btn_dl.ic_png {
		background-image: none;
	}

	#special .btn_dl.ic_psd {
		background-image: none;
	}

	#special .btn_dl a {
		padding: 0;
	}

	#special .btn_dl a svg {
		display: none;
	}
}


/* ------------------------------------------- */
/* archive */
/* ------------------------------------------- */

#archive li a {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	color: #fff;
	font-weight: bold;
	position: relative;
}

#archive li a::after {
	content: "＞";
	font-size: 36px;
	position: absolute;
	top: 0;
	right: 10px;
}

#archive li a:hover {
	background: #009bb2;
}


@media screen and (min-width:700px) {
#archive {
	text-align: center;
	width: 680px;
	margin: 0 auto;
	}

#archive li {
	width: 300px;
	height: 75px;
	box-sizing: border-box;
	display: inline-block;
	border: solid #fff 3px;
	margin: 0.8em 0.5em;
	}
}

@media screen and (max-width:700px) {
#archive{
	text-align: center;
	margin: 0 auto;
	width: 300px;
	}
	
#archive li {
	text-align: center;
	width: 300px;
	height: 75px;
	box-sizing: border-box;
	border: solid #fff 3px;
	margin: 1em 0.3em;
	}
}

/* max400 */
/* -------------------------------------------------------------- */
@media screen and (max-width:400px) {
	#archive li {
		width: 95%;
	}
}

/* -------------------------------------------------------------- */
/* contact */
/* -------------------------------------------------------------- */
#contact * {
	margin: 0;
	padding: 0;
}

#contact {
	margin: 0 auto;
	padding: 3em 0 6em;
	background: rgba(0, 155, 178, 0.8);
	text-align: center;
}

#contact p {
	margin: 0 auto;
	padding: 0 1em;
	max-width: 350px;
}

#contact p img {
	width: 100%;
	max-width: 633px;
}

/* -------------------------------------------------------------- */
/* sponsor */
/* -------------------------------------------------------------- */
#sponsor * {
	margin: 0;
	padding: 0;
}

#sponsor {
	color: #000;
	margin: 0 auto;
	padding: 3em 0 6em;
	background: #fff;
	text-align: center;
}

#sponsor h4 {
	font-size: 1.2em;
	text-align: left;
	margin: 0 auto;
	max-width: 980px;
	padding: 0 1em;
}

#sponsor .kiwami_platinum{
	margin: 0 auto 1em;
	max-width: 980px;
	padding: 1em 0em 0;
	text-align: center;
}

#sponsor .zuwai_gold{
	margin: 0 auto 1em;
	max-width: 980px;
	padding: 1em 2em 0;
	text-align: center;
	letter-spacing: -.6em;
}

#sponsor .seiko_silver{
	margin: 0 auto 1em;
	max-width: 980px;
	padding: 1em 2em 0;
	text-align: center;
}

#sponsor .kanikama_bronze{
	margin: 0 auto;
	max-width: 980px;
	padding: 0 2em;
	text-align: center;
	letter-spacing: -.5em;
}

sponsor .kiwami_platinum li{
	display: inline-block;
	letter-spacing: normal;
	margin-bottom: 1em;
}

#sponsor .zuwai_gold li{
	display: inline-block;
	letter-spacing: normal;
	margin-bottom: 1em;
}

#sponsor .seiko_silver li{
	display: inline-block;
	letter-spacing: normal;
	margin-bottom: 1em;
	padding: 1em;
}

#sponsor .seiko_silver li.ual{
	padding: 1em;
}

#sponsor .kanikama_bronze li{
	display: inline-block;
	letter-spacing: normal;
	margin-bottom: 1em;
}

#sponsor a {
	font-size: 0.8em;
	color: #000;
}

#sponsor a:hover {
	color: #da60ad;
}

@media screen and (max-width:980px) {
	#sponsor h4 {
		text-align: center;
		margin-bottom: 0.5em;
		font-size: 0.9em;
	}

	#sponsor ul {
		padding: 0 1em 0.5em 1em;
		margin-bottom: 0.5em;
		text-align: center;
	}

}

@media screen and (max-width:600px) {
	#sponsor img {
		width: 100%;
		height: auto;
	}

	
	#sponsor .kiwami_platinum li,
	#sponsor .kiwami_platinum {
		width: 100%;
	}

	#sponsor .zuwai_gold li{
		width: 90%;
	}

	#sponsor .seiko_silver li,{
		width: 80%;
	}

	#sponsor .kanikama_bronze li {
		width: 60%;
	}

}

/* -------------------------------------------------------------- */
/* crowdfunding_sponsor */
/* -------------------------------------------------------------- */
#crowdfunding_sponsor * {
	margin: 0;
	padding: 0;
}

#crowdfunding_sponsor  {
	color: #000;
	margin: 0 auto;
	padding: 3em 0 6em;
	background: #fff;
	text-align: center;
}

#crowdfunding_sponsor h4 {
	font-size: 1.2em;
	text-align: left;
	margin: 0 auto;
	max-width: 980px;
	padding: 0 1em;
}

#crowdfunding  h3 {
	width: 100%;
	margin-top:5px;
	padding: 10px 0 20px;
}

#crowdfunding h3 a{
	background-color:#fff8c1;
	display: block;
	padding-bottom:5px;
}

#crowdfunding  h3 a:hover {
	background: #ffe5c1;
	color: #fff;
	margin-top:5px;
}

#crowdfunding_sponsor .ten_thousand {
	margin: 0 auto 30px;
	max-width: 980px;
	padding: 0;
	text-align: center;
	letter-spacing: -.5em;
}

#crowdfunding_sponsor .ten_thousand li {
	display: inline-block;
	letter-spacing: normal;
	margin-bottom: 1em;
	padding:0 1.5em;
}

#crowdfunding_sponsor .five_thousand {
	margin: 0 auto;
	max-width: 980px;
	padding: 0;
	text-align: center;
	letter-spacing: -.5em;
}

#crowdfunding_sponsor .five_thousand li {
	display: inline-block;
	letter-spacing: normal;
	margin-bottom: 1em;
	padding:0 1.5em;
}


@media screen and (max-width:980px) {
	#crowdfunding_sponsor h4 {
		text-align: center;
		margin-bottom: 0.5em;
		font-size: 0.9em;
	}

	#crowdfunding_sponsor ul {
		padding: 0 1em 0.5em 1em;
		margin-bottom: 0.5em;
		text-align: center;
	}
}

@media screen and (max-width:580px) {
	#crowdfunding_sponsor .five_thousand li {
		width: 100%;
	}
}
@media screen and (min-width:700px) {
	#crowdfunding_sponsor li br{
		display:none;
	}
	#crowdfunding_sponsor ul br{
		display:none;
	}
}

@media screen and (max-width:700px) {
	#crowdfunding h3 img{
		width: 65%;
		margin: 5px auto;
		margin:5px 0 0;
	}
	#crowdfunding_sponsor li.lines {
		line-height: 1.5;
	}
}

/* -------------------------------------------------------------- */
/* #federation */
/* -------------------------------------------------------------- */


#federation {
	margin: 0 auto;
	text-align: center;
}

#federation h3 {
	padding: 50px 0 20px;
}

#federation ul {
	margin: 0 auto;
	max-width: 980px;
	text-align: center;
}

#federation li {
	display: inline-block;
	padding: 15px;
}

#federation li a:hover {
	filter: opacity(70%);
	cursor: pointer;
}

#federation p {
	padding-top: 20px;
	font-size: 18px;
}

#federation ul.h-archive  li{
	margin: 0 20px 20px 20px;
    background: #5b73c6;
	display: inline-block;
	border-radius: 30px;
	padding:0;
}

#federation ul.h-archive li a{
    border: 2px solid #509ee8;
	display:block;
	padding: 10px 30px 5px;
	font-weight: 600;
	border-radius: 30px;
}

#federation ul.h-archive li a:hover{
    border: 2px solid #fff;
	background-color: #509ee8;
	border-radius: 30px;
	font-weight: 600;
}


.local {background: rgba(255, 255, 255, 0.2);}
.local p{margin-top: -5px;}

.gotochi img{max-width:380px;}
.local img{max-width:380px;}

.local {padding: 3em 0 1em; margin-bottom:1em;}

@media screen and (max-width:640px) {
.gotochi img{width:98%; max-width:380px;}
.local img{width:98%; max-width:350px;}
}

/* -------------------------------------------------------------- */
/* management */
/* -------------------------------------------------------------- */

#management {
	background-color: rgba(0, 0, 0, 0.8);
}

#management dl {
	margin: 0 auto 1em;
	max-width: 980px;
	padding: 0 1em;
}

/* clear hack */
#management dl {
	zoom: 1;
}

#management dl:after {
	content: ".";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}

#management dt {
	float: left;
	width: 80px;
	font-weight: bold;
	font-size: 18px;
	box-sizing: border-box;
}

#management dd {
	float: right;
	width: 860px;
	padding-top:3px;
	box-sizing: border-box;
	overflow: hidden;
}

#management dd span {
	margin-right: 1em;
	display: inline-block;
}

@media screen and (max-width:980px) {
	#management dl {
		padding: 0 1em 0.5em 1em;
		margin-bottom: 0.5em;
		text-align: center;
	}

	#management dt {
		width: 100%;
		margin-bottom: 0.5em;
		font-size: 0.9em;
	}

	#management dd {
		width: 100%;
		margin: 0 auto;
		padding: 0.5em 0em 0.5em 1em;
		font-size: 0.9em
	}
}


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

/* open css */

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

#open h3 img{
	margin-bottom:-20px;
}

#open_background{
	background: rgba(255, 245, 85, 0.90);
}

/* -------------------------------------------------------------- */
/*open detail */
/* -------------------------------------------------------------- */
#open #open_detail {
	padding: -2em 0 5em;
	color: #666;
	font-family: sans-serif;
}

#open p.open {
	margin-top:-40px;
	width: 850px;
	font-size:28px;
	font-weight:600;
	font-family: sans-serif;
	color:#f85bbe;
    text-shadow: 2px 2px 0 #FFF, -2px -2px 0 #FFF, -2px 2px 0 #FFF, 2px -2px 0 #FFF, 0px 2px 0 #FFF, 0-2px 0 #FFF, -2px 0 0 #FFF, 2px 0 0 #FFF;
}
#open p.open2 {
	width: 850px;
	font-size:18px;
	padding-bottom:30px;
	font-weight:600;
}


/* タブ内 */
/*---------------------------------------------*/
#open #open_detail .tabs {
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto 1em;
	max-width: 780px;
	padding: 1em 0em;
}

#open .form {
	width: 600px;
	margin: 0 auto 1em;
	text-align: center;
}

#open .form a{
	margin-left:-0.7em;
	border-radius:30px;
    display:block;
	width:600px;
	padding:20px;
	color:#fef038;
	font-size:25px;
	background-color: #da60ad;
	font-weight:800;
}

#open .form a:hover{
	color:#fef038;
	opacity: 0.5 ;
	}
	

#open #open_detail h2{
	box-sizing: border-box;
	border: solid 2px #da60ad;
	margin: 0 auto 1.7em;
	width: 350px;
	padding: 5px 12px;
	color: #fff;
	background-color: #da60ad;
	font-size: 1em;
	text-align: center;
	order: -1;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-left:200px;
	z-index: 2;
	font-size:20px;
}

#open #open_detail .tab-content {
	width: 750px;
	background-color: #fff;
	box-sizing: border-box;
	border: solid 3px #da60ad;
	margin-top: -4em;
	padding: 4em 2em 0;
	z-index: 1;
	color: #333;
	border-radius: 50px;
}

#open #open_detail .tab-content a{
	text-align: center;
	font-weight:800;
}

#open #open_detail .tab-content p{
	font-size:15px;
	font-weight:200;
	padding-left: 11em;
	text-indent: -1em;
}

/* 内容 */
/*---------------------------------------------*/
#open .tabs div{margin:0 auto;}
#open .tabs .about dl{
	margin:0 auto 10px;
	display:flex;
	width:800px;
	font-weight:800;
	letter-spacing: 0.1em
	}
	
#open .tabs dt{
	width:90px;
	position:relative;
	}
#open .about dt::after{
	position:absolute;
	content:"\FF1A";
	right:0;
	top:0;
	bottom:0;
	}
#open .tabs dd strong{
	color:#ff5c6d;
	border-bottom:2px solid #ff5c6d;
	}

#open #open_detail p.annotation{
	font-weight:400;
}

#open #open_detail p.annotation2{
	text-align: center;
	margin:0 auto 0;
	font-weight:400;
	font-size:18px;
	color:red;
	width:600px;
	padding-bottom:40px;
}

#open .tabs dd.subject a{
	margin:10px 0 10px;
    padding:5px 0;
	border-radius:2px;
    display:block;
	width:220px;
	color:#2a2380;
	background:#fef038;
	font-weight:800;
	}
#open .tabs dd.subject a:hover{
	color:#fef038;
	background:#009bb2;
	}
#open .tabs dd.venue a{
	color:#2a2380;
	font-size:11px;
	}	

#open .tabs dl{
	justify-content:space-between;
	width:640px;
	font-size:22px;
	}
#open .tabs dd{
	padding:4px 0 0;
	width:450px;
	font-size:20px;
	}
#open .tabs dd.time span{font-size:14px;}
#open .tabs dd.subject a{
	width:300px;
	font-size:16px;
	}
#open .tabs dd.subject {
	width:600px;
	}
#open .tabs dd.venue a{
	font-size:18px;
	}
#open .tabs dt{
	width:150px;
	margin-left:1em;
	}
#open .desc_virus dt{
	width:250px;
	margin-left:-1em;
	}
#open .tabs dd.time span{font-size:18px;}
#open .tabs dd.venue a{font-size:20px;}

#open .tab-content section {
	color: #333;
	padding: 1em 0 3em
}

#open .tab-content .desc_virus {
	text-align: right;
	padding-left: 260px;
}

#open .tab-content .virus {
	margin-top:-25px;
}

#open .tab-content .virus .desc_virus dd{
	font-size:15px;
	font-weight:600;
}
#open .tab-content .virus dt {
	font-weight: 800;
}

#open .tab-content .virus dd::before {
	content: "・";
}

#open .tab-content .virus .desc_virus {
	background: url(../image/virus.png) no-repeat top 100% left 10%;
}

#open .tab-content .virus .desc_virus dd {
	width: 400px;
	text-align: left;
	text-indent: -1em;
}


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

/* rule css */

/*==================================================================*/
#rule {
	counter-reset: number 0;
}

/* -------------------------------------------------------------- */
/* header */
/* -------------------------------------------------------------- */
#rule #header * {
	margin: 0;
	padding: 0;
}

#rule #header {
	margin: 0 auto;
	background-color: rgba(218, 96, 173, 0.8);
	background-size: contain;
	/*position: relative;*/
	position: relative;
}

#rule #header h1 {
	text-align: center;
	padding: 4% 0% 5%;
	max-width: 100%;
}

#rule #header p {
	padding: 0 1em 0 0;
	text-align: right;
	font-weight: bold;
}

#rule #header p a:hover {
	color: rgb(237, 153, 206);
}


/* -------------------------------------------------------------- */
/* detail */
/* -------------------------------------------------------------- */

#rule #detail {
	padding: 3em 0 5em;
	background: rgba(255, 255, 255, 0.95);
	color: #666;

}

/* タブ内 */
/*---------------------------------------------*/
#rule #detail .tabs {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin: 0 auto 4em;
	max-width: 780px;
	padding: 0 1em;
}

#rule #detail .tab-label {
	box-sizing: border-box;
	border: solid 2px #da60ad;
	width: 45%;
	padding: 1px 12px;
	color: #fff;
	background-color: #da60ad;
	font-size: 0.8em;
	order: -1;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 2;
}

#rule #detail .tab-content {
	width: 100%;
	background-color: #fff;
	box-sizing: border-box;
	border: solid 2px #da60ad;
	margin-top: -3em;
	padding: 3em 1em 0;
	z-index: 1;
	color: #333;
	text-align: center;
	line-height: 2.6;
}

/* 内容 */
/*---------------------------------------------*/
#rule .tab-content section {
	color: #333;
	padding: 1em 0 3em
}

#rule h3 {
	color: #fff;
	margin-bottom: 1em;
	padding: 0.5em 0 0.2em;
	background: #009bb2;
	text-align: center;
}

#rule .tab-content p {
	text-align: left;
}

#rule .tab-content img {
	width: 100%;
	/* maxサイズはhtmlタグの方に記入 */
	padding-bottom:20px;
}
/*
#rule #detail h3::before {
	counter-increment: number 1;
	content: counter(number) ".";
	padding-right: 5px;
}
*/
#rule .tab-content .about_desc dl {
	text-align: left;
	padding-bottom: 3em;
}

#rule .tab-content .about_desc dl a {
	color: currentColor;
	text-decoration: underline;
}

#rule .tab-content .about_desc dt {
	font-weight: 800;
}

#rule .tab-content .about_desc dd {
	padding-left: 1em;
	text-indent: -1em;
}

#rule .tab-content .about_desc .desc_road {
	padding-bottom: 310px;
	background: url(../image/rule_road.png) left 15% bottom 1em /auto no-repeat;
	background-position: left 50% bottom 30px;
}



#rule .tab-content .about_desc dd::before {
	content: "・";
}

#rule .tab-content .about_desc dd.desc_metal {
	padding-bottom: 310px;
	background: url(../image/course_ently.png?6) left 15% bottom 1em /auto no-repeat;
	background-position: left 50% bottom 30px;
}

#rule .tab-content .about_desc .desc_metal {
	background:
		url(../image/rare.png) left 15% bottom 2em / 20% auto no-repeat,
		url(../image/rule_rare.png) right 15% bottom 2em / 45% auto no-repeat;
	padding-bottom: 190px;
}

#rule .tab-content .about_desc .desc_egg {
	background: url(../image/egg.png) no-repeat top 2em right 10%;
}

#rule .tab-content .about_desc .desc_egg dd {
	width: 60%;
}

#rule .tab-content .about_desc .desc_virus {
	background: url(../image/virus_rule.png?2) no-repeat top 4em right 10%;
}

#rule .tab-content .about_desc .desc_virus dd {
	width: 60%;
}

@media screen and (max-width:780px) {
	#rule .tab-content .about_desc .desc_road {
		padding-bottom: 15em;
		background: url(../image/rule_road.png) left 15% bottom 1em / 70% auto no-repeat;
		background-position: left 50% bottom 30px;
	}

	#rule .tab-content .about_desc dd.desc_metal {
		padding-bottom: 15em;
		background: url(../image/course_ently.png) left 15% bottom 1em / 70% auto no-repeat;
		background-position: left 50% bottom 30px;
	}

	#rule .tab-content .about_desc .desc_metal {
		background:
			url(../image/rare.png) left 10% bottom 1em / 26% auto no-repeat,
			url(../image/rule_rare.png) right 10% bottom 1em / 60% auto no-repeat;
	}

	#rule .tab-content .about_desc .desc_egg {
		background: url(../image/egg.png) no-repeat top 4em right 5%;
	}
	#rule .tab-content .about_desc .desc_virus {
		background: url(../image/virus_rule.png?2) no-repeat top 8em right 5%;
	}
}

@media screen and (min-width:960px) {
	#rule .tab-content .about_desc p.photo {
		text-align: right;
		padding-right: 70px;
		margin-top: -30px;
		color: red;
		padding-bottom: 20px;
	}
#rule .tab-content .about_score p {
	text-align: center;
	margin: 0 auto;
	padding-top:40px;
	font-size:18px;
	color:red;
	width:500px;
	line-height: 2em
}
}

@media screen and (max-width:960px) {
	#rule .tab-content .about_desc p.photo {
		text-align: right;
		padding-right: 70px;
		margin-top: -30px;
		color: red;
		padding-bottom: 20px;
	}
#rule .tab-content .about_score p {
	text-align: center;
	margin: 0 auto;
	padding-top:40px;
	font-size:18px;
	color:red;
	width:500px;
	line-height: 2em
}
}

@media screen and (max-width:780px) {
	#rule .tab-content .about_desc p.photo {
		text-align: right;
		padding-right: 30px;
		margin-top: -10px;
		color: red;
		padding-bottom: 20px;
	}
#rule .tab-content .about_score p {
	text-align: center;
	margin: 0 auto;
	padding-top:40px;
	font-size:18px;
	color:red;
	width:500px;
	line-height: 2em
}
#rule .tab-content .about_desc .desc_egg {
	background: url(../image/egg.png) no-repeat top 2em right 5%;
}
}

@media screen and (max-width:560px) {
	#rule .tab-content .about_desc .desc_road {
		padding-bottom: 12em;
		background: url(../image/rule_road.png) left 15% bottom 1em / 70% auto no-repeat;
		background-position: left 50% bottom 30px;
	}

	#rule .tab-content .about_desc .desc_metal {
		background:
			url(../image/rare.png) left 0% bottom 3em / 28% auto no-repeat,
			url(../image/rule_rare.png) right 0% bottom 3em / 65% auto no-repeat;
	}

	#rule .tab-content .about_desc .desc_egg {
		background: url(../image/egg.png) no-repeat top 2em right 0%;
	}

	#rule .tab-content .about_desc .desc_virus {
		background: url(../image/virus_rule.png) no-repeat top 8em right 0%;
	}
	
	#rule .tab-content .about_desc p.photo {
		text-align: right;
		padding-right: 10px;
		margin-top: -30px;
		color: red;
		padding-bottom: 20px;
	}
#rule .tab-content .about_score p {
	text-align: center;
	margin: 0 auto;
	padding-top:40px;
	font-size:16px;
	color:red;
	width:350px;
	line-height: 2em
}
}

#rule .tab-content .about_score table {
	margin: 0 auto;
	border-collapse: collapse;
	font-size: 0.8em;
	width: 90%;
}

#rule .tab-content .about_score th {
	border: solid 1px #009bb2;
	padding: 1em 0.5em;
	background-color: rgba(0, 155, 178, 0.7);
	color: #fff;
}

#rule .tab-content .about_score td {
	border: solid 1px #009bb2;
	padding: 0.8em;
}

#rule .tab-content .about_score td:first-child {
	text-align: left;
	width: 90%;
}


#rule .tab-content .about_progress dl {
	text-align: left;
	padding-bottom: 2em;
}

#rule .tab-content .about_progress dt {
	font-weight: 800;
}


#rule .tab-content .about_robot ul {
	text-align: left;
	padding-top: 2em;
}

#rule .about_progress li {
	padding-left: 1em;
	text-indent: -1em;
}

#rule .tab-content .about_robot li {
	padding-left: 1em;
	text-indent: -1em;
}

#rule .tab-content .about_robot .normal li::before {
	content: "・";
}

#rule .tab-content .about_robot .kome li::before {
	content: "※";
}

#rule .tab-content .about_day .day_pre {
	border: solid 2px #6ec46a;
	width: 70%;
	box-sizing: border-box;
	margin: 0 auto;
}

#rule .tab-content .about_day .day_pro {
	border: solid 2px #e59e51;
	width: 70%;
	box-sizing: border-box;
	margin: 0 auto;
}

#rule .tab-content .about_day .day_pre dt {
	color: #fff;
	padding: 0.5em 0;
	background-color: #6ec46a;
}

#rule .tab-content .about_day .day_pro dt {
	color: #fff;
	padding: 0.5em 0;
	background-color: #e59e51;
}

#rule .tab-content .about_day dd {
	padding-left: 1em;
	text-indent: -1em;
	text-align: left;
	margin: 0.5em;
	font-size: 0.9em;
	line-height: 2.4;
}

#rule .tab-content .about_day dd::before {
	content: "・";
}

#rule #detail h4+ol {
	padding-bottom: 5%;

}


#rule #detail p.attention {
	margin: 0 auto 2em;
	padding-left: 1em;
	max-width: 780px;
	color: black;
	font-weight: 100;
	font-size: 0.8em;
}

#rule #detail strong {
	font-size: 1.2em;
}

#rule #detail .red {
	color: #ff0000;
}


#rule #detail s {
	color: #aaa;
}


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

/* course css */

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

/* -------------------------------------------------------------- */
/* header */
/* -------------------------------------------------------------- */
#course #header * {
	margin: 0;
	padding: 0;
}

#course #header {
	margin: 0 auto;
	background-color: rgba(218, 96, 173, 0.8);
	background-size: contain;
	/*position: relative;*/
	position: relative;
}

#course #header h1 {
	text-align: center;
	padding: 4% 0% 5%;
	max-width: 100%;
}

#course #header p {
	padding: 0 1em 0 0;
	text-align: right;
	font-weight: bold;
}

#course #header p a:hover {
	color: rgb(237, 153, 206);
}


/* -------------------------------------------------------------- */
/* fig */
/* -------------------------------------------------------------- */


#course #fig * {
	margin: 0;
	padding: 0;
}

#course #fig {
	margin: 0 auto;
	color: #000;
	background: rgba(255, 255, 255, 0.9);
}

#course #fig dl {
	margin: 0 auto;
	max-width: 980px;
}

/* clear hack */
#course #fig dl {
	zoom: 1;
}

#course #fig dl:after {
	content: ".";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}

#course #fig dt {
	width: 40%;
	max-width: 286px;
	float: left;
}

#course #fig dt img {
	width: 100%;
}

#course #fig dd {
	width: 60%;
	float: right;
}

#course #fig dd p {
	padding-left: 0.5em;
	font-weight: bold;
}

#course #fig ul {
	padding: 0 0 3em 2em;
}

#course #fig li {
	padding: 0 0 0.5em;
}

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

	#course #fig dt,
	#course #fig dd {
		float: none;
		margin: 0 auto;
		width: 90%;
		padding-bottom: 1em;
	}
}

/* -------------------------------------------------------------- */
/* drawing */
/* -------------------------------------------------------------- */
#course #drawing * {
	margin: 0;
	padding: 0;
}

#course #drawing {
	padding: 3em 0 5em;
	background: #fff;
	text-align: center;
}

#course #drawing h2 {
	color: #fff;
	margin: 0 0 20px;
	padding: 0.5em 0 0.2em;
	background: rgba(0, 155, 178, 0.8);
	text-align: center;
}

#course #drawing div {
	margin: 0 auto 4em;
	padding: 0 0.5em;
	max-width: 980px;
	color: #000;
}

#course #drawing dl {
	margin: 0 0 4em;
}

#course #drawing dt {
	margin: 0 0 1em;
	max-width: 980px;
}

#course #drawing dt img {
	width: 100%;
}

#course #drawing .btn_dl {
	width: 340px;
	height: 77px;
	margin: 0 auto;
	box-sizing: border-box;
	list-style: none;
	display: block;
	border: solid rgba(0, 155, 178, 1) 3px;
	text-align: center;
	border-radius: 14px;
	overflow: hidden;
	position: relative;
}

#course #drawing .btn_dl a {
	display: flex;
	justify-content: center;
	align-items: center;
	color: #009bb2;
	font-weight: bold;
	width: 100%;
	height: 100%;
	padding-left: 65px;
	background: url(../image/icon_pdf.png);
	background-repeat: no-repeat;
	background-position: 15px 50%;
}

#course #drawing .btn_dl a svg {
	width: 74px;
	height: 34px;
	padding-left: 5px;
}

#course #drawing .btn_dl a:hover {
	color: #fff;
	background-color: #009bb2;
}

/* max400 */
/* -------------------------------------------------------------- */
@media screen and (max-width:400px) {
	#course #drawing .btn_dl {
		width: 80%;
		background-image: none;
	}

	#course #drawing .btn_dl a {
		padding: 0;
	}

	#course #drawing .btn_dl a svg {
		display: none;
	}
}



/* -------------------------------------------------------------- */
/* nav */
/* -------------------------------------------------------------- */
#nav-drawer {
	position: fixed;
	top: 10px;
	right: 10px;
	padding: 0;
}

/*チェックボックス等は非表示に*/
.nav-unshown {
	display: none;
}

/*アイコンのスペース*/
#nav-open {
	display: inline-block;
	width: 30px;
	height: 25px;
	vertical-align: middle;
	transition: all .4s;
	z-index: 99;
}

/*ハンバーガーアイコンをCSSだけで表現*/
#nav-open span,
#nav-open span:before,
#nav-open span:after {
	position: absolute;
	height: 3px;
	/*線の太さ*/
	width: 25px;
	/*長さ*/
	border-radius: 3px;
	background: yellow;
	display: block;
	content: '';
	cursor: pointer;
}

#nav-open span:before {
	bottom: -10px;
}

#nav-open span:after {
	bottom: -20px;
}

/*閉じる用の薄黒カバー*/
#nav-close {
	display: none;
	/*はじめは隠しておく*/
	position: fixed;
	z-index: 99;
	top: 0;
	/*全体に広がるように*/
	left: 0;
	width: 100%;
	height: 100%;
	background: black;
	opacity: 0;
	transition: .3s ease-in-out;
}

/*中身*/
#nav-content {
	overflow: auto;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	/*最前面に*/
	width: 80%;
	/*右側に隙間を作る（閉じるカバーを表示）*/
	max-width: 200px;
	/*最大幅（調整してください）*/
	height: 100%;
	background: #da60ad;
	/*背景色*/
	transition: .3s ease-in-out;
	/*滑らかに表示*/
	-webkit-transform: translateX(-105%);
	transform: translateX(-105%);
	/*左に隠しておく*/
}

#nav-input:checked~#nav-open {
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}

/*チェックが入ったらもろもろ表示*/
#nav-input:checked~#nav-close {
	display: block;
	/*カバーを表示*/
	opacity: .5;
}

#nav-input:checked~#nav-content {
	-webkit-transform: translateX(0%);
	transform: translateX(0%);
	/*中身を表示（右へスライド）*/
	box-shadow: 6px 0 25px rgba(0, 0, 0, .15);
}

#nav-content ul {
	margin: 0;
	padding: 1em 0 0 1em;
}

#nav-content li {
	list-style: none;
	padding: 0.5em;
	border-bottom: solid 1px #fff;
}

#nav-content li a {
	font-family: "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color: #fff;
	font-size: 1.1em;
	padding: 0.2em 0;
	margin: 0 0 20px;
	text-align: center;
	font-weight: 100;
	text-decoration: none;
}

#nav-content li a:hover,
#nav-content li a:active {
	color: #ed99ce
}

* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

/* -------------------------------------------------------------- */