/*@import url(https://fonts.googleapis.com/css?family=Noto+Sans:400,400italic,700,700italic);*/
@import url('https://fonts.googleapis.com/css?family=Hind+Siliguri:300,400,500,700');
/*@import url(https://fonts.googleapis.com/css?family=Varela+Round);*/

@charset "utf-8";
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video{
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  vertical-align: baseline;
}

*, *::before, *::after{
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

html{
  line-height: 1;
  font-size: 62.5%; /*10px*/
}

ol, ul{
  list-style: none;
}

table{
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td{
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote{
  quotes: none;
}
q::before, q::after, blockquote::before, blockquote::after{
  content: "";
  content: none;
}

a img{
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary{
  display: block;
}

html{
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

strong{
	font-weight: bold;
}

/* form
**********************************/
button{
	padding: 0;
	background: no-repeat;
	border: none;
	cursor: pointer;
}
label{
	cursor: pointer;
}

/* color
**********************************/
.rd{
	color: #f00;
}

/* link
**********************************/
a{
	text-decoration: none;
	color: #4453b8;
	transition: color .4s;
}
a:hover{
	color: #ff404f;
}
a img {
	opacity: 1;
	transition: opacity .4s;
}
a img:hover {
	opacity: 0.6;
}
.sp a img,
.tablet a img {
	transition: none;
}
.sp a img:hover,
.tablet a img:hover {
	opacity: inherit;
}
a.ul{
	text-decoration: underline !important;
}
a.nn{
	text-decoration: none !important;
}
.taparea {
	-webkit-tap-highlight-color:#ff404f;
}


/* float 
**********************************/
.fl{
  float: left;
}

.fr{
  float: right;
}

.clearfix{
  overflow: hidden;
  *zoom: 1;
}

/* margin 
**********************************/
.mb5{
	margin-bottom: 5px !important;
}
.mb10{
	margin-bottom: 10px !important;
}
.mb15{
	margin-bottom: 15px !important;
}
.mb20{
	margin-bottom: 20px !important;
}
.mb30{
	margin-bottom: 30px !important;
}
.mb40{
	margin-bottom: 40px !important;
}
.mb50{
	margin-bottom: 50px !important;
}

.mt10{
	margin-top: 10px !important;
}
.mt20{
	margin-top: 20px !important;
}
.mt30{
	margin-top: 30px !important;
}
.mt50{
	margin-top: 50px !important;
}

/* padding 
**********************************/
.pb10{
	padding-bottom: 10px !important;
}
.pt10{
	padding-top: 10px !important;
}
.pl30{
	padding-left: 30px !important;
}

/* text-align 
**********************************/
.tc{
  text-align: center;
}
.tr{
  text-align: right;
}
.bold{
	font-weight: bold;
}
.normal{
	font-weight: normal;
}

/* text-indent
**********************************/
.ti_1{
	text-indent: -1em;
	padding-left: 1em;
}

/* font-size 
**********************************/
.fs10{
	font-size: 1.0rem;
}
.fs11{
	font-size: 1.1rem;
}
.fs12{
	font-size: 1.2rem;
}
.fs13{
	font-size: 1.3rem;
}
.fs14{
	font-size: 1.4rem;
}
.fs15{
	font-size: 1.5rem;
}
.fs16{
	font-size: 1.6rem;
}
.fs17{
	font-size: 1.7rem;
}
.fs18{
	font-size: 1.8rem;
}
.fs20{
	font-size: 2.0rem;
}
.fs25{
	font-size: 2.5rem;
}
.fs30{
	font-size: 3.0rem;
}
.fs35{
	font-size: 3.5rem;
}
.fs40{
	font-size: 4.0rem;
}
.fs50{
	font-size: 5.0rem;
}
.fs60{
	font-size: 6.0rem;
}
.fs80{
	font-size: 8.0rem;
}

.sp .fs20{
	font-size: 1.8rem; line-height: 1.5;
}
.sp .fs25{
	font-size: 2.0rem; line-height: 1.5;
}
.sp .fs30{
	font-size: 2.4rem; line-height: 1;
}
.sp .fs35{
	font-size: 2.6rem; line-height: 1;
}
.sp .fs40{
	font-size: 2.8rem; line-height: 1;
}
.sp .fs50{
	font-size: 3.2rem; line-height: 1;
}
.sp .fs60{
	font-size: 4.0rem; line-height: 1;
}
.sp .fs80{
	font-size: 5.6rem; line-height: 1;
}

/* line-height
**********************************/
.lh24{
	line-height: 2.4rem;
}
.lh28{
	line-height: 2.8rem;
}

.sp .lh24{
	line-height: 2.2rem;
}
.sp .lh28{
	line-height: 2.4rem;
}

/* font-family 
**********************************/
.hind{
	font-family: 'Hind Siliguri', sans-serif;
	font-weight: 400;
}
.hind_i{
	font-family: 'Hind Siliguri', sans-serif;
	font-weight: 400;
	font-style: italic;
}
.hind_l{
	font-family: 'Hind Siliguri', sans-serif;
	font-weight: 300;
}
.hind_li{
	font-family: 'Hind Siliguri', sans-serif;
	font-weight: 300;
	font-style: italic;
}
.hind_m{
	font-family: 'Hind Siliguri', sans-serif;
	font-weight: 500;
}
.hind_mi{
	font-family: 'Hind Siliguri', sans-serif;
	font-weight: 500;
	font-style: italic;
}
.hind_b{
	font-family: 'Hind Siliguri', sans-serif;
	font-weight: 700;
}
.hind_bi{
	font-family: 'Hind Siliguri', sans-serif;
	font-weight: 700;
	font-style: italic;
}

/* display
**********************************/
.blc{
	display: block;
}
.inblc{
	display: inline-block;
}
.ctr{
	margin-left: auto;
	margin-right: auto;
}
.sp .sp_blc{
	display: block;
}
.sp .inblc{
	margin-bottom: 10px;
}
.sp .sp_none{
	display: none;
}

/* list
**********************************/
.lower_roman{
	list-style-type: lower-roman;
}
.decimal{
	list-style-type: decimal;
}
.disc{
	list-style-type: disc;
}
.lower_latin{
	list-style-type: lower-latin;
}
.inside{
	list-style-position: inside;
}

/* body
**********************************/
body{
	font-family: YuGothic, 'Yu Gothic', "游ゴシック体", "游ゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Osaka, "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
	font-size: 1.4rem;
	line-height: 1.5;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* common
**********************************/
.h2_head{
	padding: 11px 20px;
	border-left: 4px solid #000393;
}
#content .section{
	padding: 50px 0;
}
#content .section:nth-child(even){
	background-color: #f3f4f3;
}
#content .section h2{
	margin-bottom: 20px;
}
#content .section p{
	padding: 0 23px;
}
#content .section p + p{
	margin-top: 2.4rem;
}
#content .section p.no_pd{
	padding: 0;
}
#content .section .marker{
/*	display: inline-block;
	background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0.746, #ffffff), color-stop(0.762, #a9fd91), to(#a9fd91));
	background-image: -moz-linear-gradient(top, #ffffff 74.6%, #a9fd91 76.2%, #a9fd91 100%);
	background-image: linear-gradient(to bottom, #ffffff 74.6%, #a9fd91 76.2%, #a9fd91 100%);*/
	/*background-color: #ccfbbe;*/
	background: linear-gradient(transparent 70%, #bdffc3 0%);
	display: inline;
}

/* container
**********************************/
#wrapper{
	margin: 0 auto;
	width: 1000px;
	position: relative;
}
#gnav{
	float: left;
	width: 290px;
	border-left: 5px solid #b4c0f6;
	border-bottom: 5px solid #b4c0f6;
	background-color: #e9edfe;
}
#content{
	float: right;
	width: 710px;
	min-height: 800px;
	border-right: 5px solid #b4c0f6;
	border-bottom: 5px solid #b4c0f6;
	border-left: 5px solid #b4c0f6;
}
#footer{
	padding: 30px 0;
	clear: both;
}
#pagetop{
	position: fixed;
	bottom: 60px;
	right: 4%;
	width: 44px;
	height: 44px;
	background : url(pagetop.svg) 0% 0% / auto auto no-repeat scroll padding-box border-box transparent;
	cursor: pointer;
}

/* gnav
**********************************/
#gnav .title{
	margin: 40px 0 0 15px;
	font-size: 1.6rem;
/*	color: #000394;*/
	color: #71ff00;
	letter-spacing: 0.5rem;
}
#gnav ul{
	position: absolute;
	margin-top: 20px;
	margin-left: -15px;
	padding: 18px 0;
	width: 250px;
	border-radius: 0 10px 10px 0;
	-moz-border-radius: 0 10px 10px 0;
	-webkit-border-radius: 0 10px 10px 0;
	background-image : url(gnav_pat.png);
	z-index: 100;
}
.pc #gnav ul.is-fixed{
  position: fixed;
  top: -18px;
  margin-top: 0;
}
#gnav ul li{
	padding: 0 2px;
	border-top: 1px solid #4c4d4c;
	border-bottom: 1px solid #030403;
}
#gnav ul li:last-child{
	border-bottom: 1px solid #4c4d4c;
}
#gnav ul li a{
	display: block;
	text-indent: 1.5rem;
	font-size: 1.4rem;
	color: #fff;
	line-height: 3.4rem;
	border-left: 3px solid #00b0dd;
	transition: color .4s;
	transition: border-left .4s;
}
#gnav ul li a:hover,
#gnav ul li.current a{
	border-left: 3px solid #ff404f;
	color: #ff404f;
}
.smp_nav{
	display: none;
}

/* particles
**********************************/
#particles-js{
	position: relative;
	width: 700px;
	background-color: #4453b8;
}
.toppage #particles-js{
	height: 400px;
}
.article #particles-js{
	height: 232px;
}
#particles-js canvas{
	position: absolute;
}
#particles-js::before{
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	background-image : url(particle_ptn.png);
	opacity: 0.5;
}

/* toppage
**********************************/
.toppage #content h1,
.toppage #content #top_date,
.toppage #content #top_place{
	position: absolute;
	width: 700px;
	text-align: center;
	color: #fff;
}
.toppage #content h1{
/*	top: 322px;*/
	top: 82px;
	font-size: 3.6rem;
	font-weight: bold;
	letter-spacing: 2.6rem;
	padding-left: 2.6rem;
}
.toppage #content h1 .ls{
	letter-spacing: 1.2rem;
}
.toppage #content h1 .sp_blc{
	padding-right: 0.0rem;
}
.toppage #content #top_date{
/*	top: 460px;*/
	top: 250px;
	font-size: 1.4rem;
	letter-spacing: 0.3rem;
	padding-left: 0.3rem;
}
.toppage #content #top_place{
/*	top: 500px;*/
	top: 290px;
	font-size: 1.4rem;
	letter-spacing: 0.3rem;
	padding-left: 0.3rem;
}

.toppage #content #news h2 span{
	display: inline-block;
	float: right;
	padding: 2px 6px;
	border: 1px solid #b4bff5;
	border-radius: 4px;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	font-weight: normal;
}
.toppage #content #news dl{
	margin: 0 23px;
	border-bottom: 1px solid #e9eae9;
	overflow: hidden;
}
.toppage #content #news dl dt,
.toppage #content #news dl dd{
	float: left;
	padding: 10px 0;
}
.toppage #content #news dl dt{
	width: 120px;
	letter-spacing: 0.1rem;
}

#content #outline dl{
	margin: 0 23px;
	border-bottom: 1px solid #e9eae9;
	overflow: hidden;
}
#content #outline dl dt,
#content #outline dl dd{
	float: left;
	padding: 12px 0;
}
#content #outline dl dt{
	width:80px;
	letter-spacing: 0.1rem;
	color: #002e93;
}
#content #outline dl dd dl{
	margin: 0;
	border-bottom: none;
}
#content #outline dl dd dl dt{
	width: 120px;
}
#content #outline dl dd dl dt,
#content #outline dl dd dl dd{
	padding: 0;
}
#content #outline dl dd .button{
	display: inline-block;
	margin-left: 20px;
	padding: 0 6px;
	background-color: #ffffff;
	border: 2px solid #002e93;
	line-height: 1.8rem;
	border-radius: 0.9rem;
	-moz-border-radius: 0.9rem;
	-webkit-border-radius: 0.9rem;
	cursor: pointer;
}
#content #outline dl dd .schedule{
	display: none;
	margin: 20px;
	padding: 10px 20px;
	width: 500px;
	border: 1px solid #eee;
	background-color: #fff;
}
#content #outline dl dd .schedule ul{
	margin-bottom: 20px;
}
#content #outline dl dd .schedule li{
	padding: 3px;
}
#content #outline dl dd .schedule li:nth-child(odd){
	background-color: #f4f4f4;
}
#content #outline dl dd .schedule li .time{
	display: inline-block;
	padding-left: 15px;
	width: 80px;
}
.toppage #content #banner{
	overflow: hidden;
}
.toppage #content #banner a{
	display: block;
	width: 640px;
	margin: 0 auto;
}

/* article
**********************************/
.article #content h1{
	position: absolute;
	width: 700px;
	text-align: center;
	color: #fff;
	top: 96px;
	font-size: 3.0rem;
	font-weight: bold;
	letter-spacing: 2.6rem;
	padding-left: 2.6rem;
}
.article #content h1.double{
	top: 78px;
}
/*.article #content .section {
	display: none;
}*/
.article #content .section .inner{
	padding: 0 23px;
}
.article #content .section .inner + h2{
	margin-top: 50px;
}
.article #content .section .inner ol,
.article #content .section .inner ul{
	margin-left: 23px;
}
.article #content .section .inner ol.ol_basic li{
	margin-bottom: 20px;
}
.article #content .section .inner ol.ol_basic li li{
	margin-top: 5px;
	margin-bottom: 0 !important;
}
.article #content .section .inner .schedule{
	margin: 20px auto;
	padding: 10px 20px;
	border: 1px solid #eee;
}
.article #content .section .inner .schedule ul{
	margin: 10px 0;
}
.article #content .section .inner .schedule li{
	padding: 3px;
}
.article #content .section .inner .schedule li:nth-child(odd){
	background-color: #f4f4f4;
}
.article #content .section .inner .schedule li .time{
	float: left;
	display: inline-block;
	padding-left: 15px;
	width: 20%;
}
.article #content .section .inner .schedule li .txt{
	display: inline-block;
	width: 80%;
}
.article #content .section .inner ul.ul_basic li{
	margin-bottom: 20px;
}
.article #content .section .inner ul.ul_basic li li{
	margin-top: 5px;
	margin-bottom: 0 !important;
}
.article #content .section .inner .prizes li{
	line-height: 2.4rem;
	margin-bottom: 5px;
}
.article #content .section .inner .prizes li .color{
	display: inline-block;
	margin-right: 15px;
	padding: 0 15px;
	width: 20%;
	text-align: center;
}
.article #content .section .inner .prizes li:nth-child(1) .color{
	background-color: #ffe039;
}
.article #content .section .inner .prizes li:nth-child(2) .color{
	background-color: #ccd8de;
}
.article #content .section .inner .prizes li:nth-child(3) .color{
	background-color: #f1d38f;
}
.article #content .section .inner .prizes li:nth-child(4) .color{
	background-color: #dddee3;
}

.article #content .section .inner .box{
	margin: 10px 0;
	padding: 10px;
	border: 1px solid #e5e5e5;
}
.article #content .section .inner .list li{
	padding: 5px 10px;
}
.article #content .section .inner .list li:nth-child(even){
	background-color: #f3f4f3;
}
.article #content .section .privacy_inner{
	padding: 0 23px;
}
.article #content .section .privacy_inner .rgt{
	text-align: right;
}
.article #content .section .privacy_inner .com_h3_bg{
	margin: 50px 0 30px;
	padding: 15px 0;
	font-weight: bold;
	border-top: 1px solid #000391;
	border-bottom: 1px dotted #c5c5c5;
}
.article #content .section .privacy_inner p + p,
.article #content .section .privacy_inner p.ind_new{
	margin-top: 14px !important;
}
.article #content .section .privacy_inner .pri_tbl{
	margin: 10px 23px 23px 23px;
	border: 2px solid #c8c8fe;
}
.article #content .section .privacy_inner .pri_tbl th,
.article #content .section .privacy_inner .pri_tbl td{
	padding: 3px 6px;
	font-size: 1.2rem;
	border-right: 1px dotted #c7c7fd;
	border-bottom: 1px dotted #c7c7fd;
}
.article #content .section .privacy_inner .pri_tbl th{
	border-bottom: 1px dotted #c7c7fd;
	font-weight: bold;
	background-color: #ededfd;
}
.article #content .section .privacy_inner .pri_tbl th:nth-child(1){
	width: 20%;
}
.article #content .section .privacy_inner .pri_tbl li li{
	margin-left: 1.6rem;
}
.article #content .section .privacy_inner .pri_tbl td p{
	padding: 0;
}
.article #content .section .privacy_inner ol{
	list-style-type: decimal;
	list-style-position: inside;
}
.article #content .section .privacy_inner ol.ind_ew{
	margin-left: 23px;
}
.article #content .section .privacy_inner p.copy_s.ind_new.ti_1{
	margin-top: 30px !important;
}
.article #content .section .privacy_inner p.copy_s.ind_new.ti_1 + ol{
	margin-top: 14px;
}
.article #content .section .contact .btn{
	padding: 0;
	border: 1px solid #4352b7;
	text-align: center;
}
.article #content .section .contact .btn a{
	display: block;
	line-height: 4.0rem;
	background-color: #e8ecfd;
	border-top: 2px solid #f1f3fb;
	border-left: 2px solid #f1f3fb;
	border-right: 2px solid #bbc5eb;
	border-bottom: 2px solid #bbc5eb;
	transition: 0.2s;
}
.article #content .section .contact .btn a:hover{
	border: 2px solid #d1d9fa;
	background-color: #d1d9fa;
}
/*.article #content .section .draw img {
	width: 90%;
	height: auto;
}*/

/* form
**********************************/
.formset{
	margin: 25px 0;
}
.formset table{
	margin: 20px 0;
	width: 100%;
}
.formset table th{
	padding: 5px 10px;
	width: 150px;
	font-size: 1.3rem;
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
	background-color: #e9edfe;
	font-weight: bold;
}
.formset table td{
	padding: 5px 10px;
	font-size: 1.2rem;
	border-bottom: 1px dotted #e5e5e5;
}
.formset table td th{
	width: inherit;
	font-size: 1.2rem;
	border-right: 5px solid #fff;
}
.formset input[type="text"]{
	margin-right: 5px;
	line-height: 2.0rem;
}
.formset input[type="submit"]{
	margin: 0 20px;
	padding: 15px 0;
	width: 12.0rem;
	font-size: 1.6rem;
	font-weight: bold;
	background-color: #000391;
	color: #fff;
	border-style: none;
}
.ex{
	color: #d20000;
}

/* news
**********************************/
.news #content #news h2 span{
	display: inline-block;
	float: right;
	padding: 2px 6px;
	border: 1px solid #b4bff5;
	border-radius: 4px;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	font-weight: normal;
}
.news #content #news dl{
	margin: 0 23px;
	border-bottom: 1px solid #e9eae9;
	overflow: hidden;
}
.news #content #news dl dt,
.news #content #news dl dd{
	float: left;
	padding: 20px 0;
}
.news #content #news dl dt{
	width: 120px;
	letter-spacing: 0.1rem;
}
.news #content #news .date{
	margin-bottom: 30px;
	padding-bottom: 20px;
	border-bottom: 1px solid #e9eae9;
	color: #666;
}
.news #content #news .date span{
	padding: 6px 30px 6px 0;
	border-right: 1px solid #e9eae9;
	font-family: 'Hind Siliguri', sans-serif;
	font-weight: 300;
	letter-spacing: 0.2rem;
}

/* english ver
**********************************/
.en {
	/*font-family: 'Hind Siliguri', sans-serif;
	font-weight: 300;*/
}
.en #gnav ul{
	width: 290px;
}
.en #gnav .title{
	font-family: 'Hind Siliguri', sans-serif;
	font-weight: 700;
	font-size: 1.6rem;
	letter-spacing: 0.3rem;
}
.en #gnav li a{
	text-transform: capitalize;
}
.en .toppage #content h1{
	top: 300px;
	font-size: 3.6rem;
	font-weight: bold;
	letter-spacing: 2.0rem;
	text-indent: -2px;
}
.en .toppage #content h1 .ls{
	letter-spacing: 1.2rem;
	margin-left: -14px;
}
.en .article #content h1{
	font-size: 3.0rem;
	font-family: 'Hind Siliguri', sans-serif;
	font-weight: 700;
	letter-spacing: 2.0rem;
	padding-left: 2.6rem;
}
.en .article #content h1.double{
	top: 82px !important;
	letter-spacing: 1.3rem;
}
.en .article #content h1.triple{
	top: 58px !important;
	letter-spacing: 1.3rem;
}
.en #content #outline dl dt{
	padding-bottom: 0;
	width:100%;
	letter-spacing: 0.1rem;
	color: #002e93;
}

@media (max-width: 799px) {

	/* common
	**********************************/
	.h2_head{
		padding: 11px 12px;
		border-left: 4px solid #000393;
	}
	#content .section{
		padding: 50px 0;
	}
	#content .section:nth-child(even){
		background-color: #f3f4f3;
	}
	#content .section h2{
		margin-bottom: 20px;
	}
	#content .section p{
		padding: 0 16px;
	}
	
	
	/* container
	**********************************/
	#wrapper{
		margin: 0 auto;
		width: 100%;
		position: relative;
	}
	#gnav{
		width: 0;
		height: 0 !important;
		border: none;
		background-color: inherit;
	}
	#content{
		width: 100%;
		min-height: inherit;
		margin-top: 60px;
		border: none;
	}
	#footer{
		padding: 20px 0;
	}
	#footer .tr{
		text-align: center;
	}
	
	/* gnav
	**********************************/
	.smp_nav{
	  position: fixed;
	  display: block;
	  top: 10px;
	  left: 10px;
	  width: 40px;
	  height: 40px;
	  background: #111111;
	  border-radius: 20px;
	  overflow: hidden;
	  text-indent: 100%;
	  white-space: nowrap;
	  z-index: 120;
	  cursor: pointer;
	  opacity: 0.8;
	}
	.smp_nav span{
	  position: absolute;
	  display: block;
	  width: 20px;
	  height: 2px;
	  background: #FFF;
	  top: 50%;
	  margin-top: -1px;
	  left: 50%;
	  margin-left: -10px;
	  -webkit-transition: background 0.3s;
	  -moz-transition: background 0.3s;
	  transition: background 0.3s;
	}
	.smp_nav span::before, .smp_nav span::after{
	  content: '';
	  position: absolute;
	  left: 0;
	  background: inherit;
	  width: 100%;
	  height: 100%;
	  -webkit-transform: translateZ(0);
	  -moz-transform: translateZ(0);
	  -ms-transform: translateZ(0);
	  -o-transform: translateZ(0);
	  transform: translateZ(0);
	  -webkit-backface-visibility: hidden;
	  backface-visibility: hidden;
	  -webkit-transition: -webkit-transform 0.3s, background 0s;
	  -moz-transition: -moz-transform 0.3s, background 0s;
	  transition: transform 0.3s, background 0s;
	}
	.smp_nav span::before{
	  top: -6px;
	  -webkit-transform: rotate(0);
	  -moz-transform: rotate(0);
	  -ms-transform: rotate(0);
	  -o-transform: rotate(0);
	  transform: rotate(0);
	}
	.smp_nav span::after{
	  bottom: -6px;
	  -webkit-transform: rotate(0);
	  -moz-transform: rotate(0);
	  -ms-transform: rotate(0);
	  -o-transform: rotate(0);
	  transform: rotate(0);
	}
	.smp_nav.menu-is-open {
	  -webkit-transform: rotate(180deg);
	  -moz-transform: rotate(180deg);
	  -ms-transform: rotate(180deg);
	  -o-transform: rotate(180deg);
	  transform: rotate(180deg);
	}
	.smp_nav.menu-is-open span{
	  background: transparent;
	}
	.smp_nav.menu-is-open span::before, .smp_nav.menu-is-open span::after{
	  background: #FFF;
	}
	.smp_nav.menu-is-open span::before{
	  top: 0;
	  transform: rotate(135deg);
	  -webkit-transform: rotate(135deg);
	  -moz-transform: rotate(135deg);
	  -ms-transform: rotate(135deg);
	  -o-transform: rotate(135deg);
	}
	.smp_nav.menu-is-open span::after{
	  bottom: 0;
	  transform: rotate(225deg);
	  -webkit-transform: rotate(225deg);
	  -moz-transform: rotate(225deg);
	  -ms-transform: rotate(225deg);
	  -o-transform: rotate(225deg);
	}
	#gnav .title{
		position: fixed;
		margin: 0;
		width: 100%;
		line-height: 60px;
		font-size: 1.6rem;
		text-align: center;
		border-bottom: 2px solid #000392;
		background-color: #fff;
		color: #000394;
		letter-spacing: 0.5rem;
		z-index: 100;
	}
	.sp #gnav .title{
		padding-left: 20px;
		letter-spacing: 0.4rem;
	}
	#gnav ul,
	#gnav ul.is-fixed{
		position: fixed;
		left: -60%;
		top: 60px !important;
		margin: 0;
		padding: 0;
		padding-bottom: 100px;
		width: 60%;
		height: -webkit-calc(100vh - 60px);
		height:  calc(100vh - 60px);
		overflow: scroll;
		background: #111111;
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		-webkit-transform: translateX(0%);
		-moz-transform: translateX(0%);
		-ms-transform: translateX(0%);
		-o-transform: translateX(0%);
		transform: translateX(0%);
		-webkit-transition: -webkit-transform 0.7s;
		-moz-transition: -moz-transform 0.7s;
		transition: transform 0.7s;
		-webkit-transition-timing-function: cubic-bezier(0.86, 0.01, 0.77, 0.78);
		-moz-transition-timing-function: cubic-bezier(0.86, 0.01, 0.77, 0.78);
		transition-timing-function: cubic-bezier(0.86, 0.01, 0.77, 0.78);
		border-radius: 0px;
		-moz-border-radius: 0px;
		-webkit-border-radius: 0px;
		opacity: 0.8;
	}
	.en #gnav ul,
	.en #gnav ul.is-fixed{
		left: -290px;
	}
	.android.sp #gnav ul{
		height: -webkit-calc(100vh - 60px);
		height:  calc(100vh - 60px);
		overflow: scroll;
	}
	#gnav ul li a{
		padding: 0 10px;
		line-height: -webkit-calc(7vh - 5px);
		line-height:  calc(7vh - 5px);
	}
	.sp #gnav ul li.contact a {
		line-height: -webkit-calc(7vh - 15px);
		line-height:  calc(7vh - 15px);
	}
	#gnav ul.menu-is-open {
	  -webkit-transform: translateX(100%);
	  -moz-transform: translateX(100%);
	  -ms-transform: translateX(100%);
	  -o-transform: translateX(100%);
	  transform: translateX(100%);
	  -webkit-transition: -webkit-transform 0.5s;
	  -moz-transition: -moz-transform 0.5s;
	  transition: transform 0.5s;
	  -webkit-transition-timing-function: cubic-bezier(0.82, 0.01, 0.77, 0.78);
	  -moz-transition-timing-function: cubic-bezier(0.82, 0.01, 0.77, 0.78);
	  transition-timing-function: cubic-bezier(0.82, 0.01, 0.77, 0.78);
	}
	
	/* particles
	**********************************/
	.toppage #particles-js {
		width: 100vw;
		height: -webkit-calc(100vh - 60px);
		height:  calc(100vh - 60px);
	}
	.article #particles-js{
		width: 100vw;
		height: 150px;
	}
	
	/* toppage
	**********************************/
	.toppage #content h1,
	.toppage #content #top_date,
	.toppage #content #top_place{
		position: absolute;
		width: 100vw;
	}
	.toppage #content h1{
		top: -webkit-calc(50vh - 30px);
		top:  calc(50vh - 30px);
		font-size: 3.6rem;
		font-weight: bold;
		letter-spacing: 2.6rem;
		padding-left: 2.6rem;
	}
	.toppage #content h1 .sp_blc{
		display: block;
		padding-right: 0;
	}
	.toppage #content #top_date {
		top: -webkit-calc(50vh + 130px);
		top:  calc(50vh + 130px);
	}
	.toppage #content #top_place {
		top: -webkit-calc(50vh + 160px);
		top:  calc(50vh + 160px);
	}
	.sp .toppage #content h1{
		top: -webkit-calc(50vh - 60px);
		top:  calc(50vh - 60px);
		font-size: 3.0rem;
	}
	.sp .toppage #content #top_date {
		top: -webkit-calc(50vh + 100px);
		top:  calc(50vh + 100px);
	}
	.sp .toppage #content #top_place {
		top: -webkit-calc(50vh + 130px);
		top:  calc(50vh + 130px);
	}
	
	.toppage #content #news h2 span{
		display: inline-block;
		float: right;
		padding: 2px 6px;
		border: 1px solid #b4bff5;
		border-radius: 4px;
		-moz-border-radius: 4px;
		-webkit-border-radius: 4px;
		font-weight: normal;
	}
	.toppage #content #news dl{
		margin: 0 23px;
		border-bottom: 1px solid #e9eae9;
		overflow: hidden;
	}
	.toppage #content #news dl dt,
	.toppage #content #news dl dd{
		float: left;
		padding: 10px 0;
	}
	
	#content #outline dl{
		margin: 0 23px;
		border-bottom: 1px solid #e9eae9;
		overflow: hidden;
	}
	#content #outline dl dt,
	#content #outline dl dd{
		float: left;
		padding: 12px 0;
	}
	#content #outline dl dt{
		width:15%;
		letter-spacing: 0.1rem;
		color: #002e93;
	}
	#content #outline dl dd{
		width: 85%;
	}
	#content #outline dl dd .button{
		display: inline-block;
		margin-left: 20px;
		padding: 0 6px;
		background-color: #ffffff;
		border: 2px solid #002e93;
		line-height: 1.8rem;
		border-radius: 0.9rem;
		-moz-border-radius: 0.9rem;
		-webkit-border-radius: 0.9rem;
		cursor: pointer;
	}
	#content #outline dl dd .schedule{
		margin: 10px 0;
		padding: 10px;
		width: 100%;
	}
	#content #outline dl dd .schedule span{
		display: inline-block;
	}
	#content #outline dl dd .schedule li .time{
		padding: 0 5px;
		width: inherit;
		white-space: nowrap;
	}
	#content #outline dl dd .schedule li .txt {
		
	}
	.toppage #content #banner a{
		width: 90%;
		max-width: 640px;
	}
	.toppage #content #banner a img{
		width: 100%;
		height: auto;
	}
	
	/* article
	**********************************/
	.article #content h1{
		position: absolute;
		width: 100vw;
		top: 120px;
		font-size: 2.4rem;
		letter-spacing: 1.6rem;
		padding-left: 2.0rem;
	}
	.sp .article #content h1{
		letter-spacing: 1.2rem;
	}
	.article #content h1.double,
	.sp .article #content h1.sp_double{
		top: 100px !important;
	}
	.article #content .section .inner{
		padding: 0 16px;
	}
	.article #content .section .inner .schedule{
		margin: 20px auto;
		padding: 10px;
		border: 1px solid #eee;
	}
	.article #content .section .inner .schedule li .time{
		padding: 0 5px;
		width: 5rem;
		white-space: nowrap;
	}
	.article #content .section .inner .schedule li .txt {
		width: -webkit-calc(100% - 5rem);
		width:  calc(100% - 5rem);
	}
	.article #content .section .inner ol,
	.article #content .section .inner ul{
		margin-left: 20px;
	}
	.article #content .section .inner .prizes li .color{
		margin-right: 15px;
		padding: 0 15px;
		width: 10rem;
		white-space: nowrap;
	}
	.article #content .section .privacy_inner{
		padding: 0 16px;
	}
	.article #content .section .privacy_inner .com_h3_bg{
		margin: 50px 0 30px;
		padding: 15px 0;
		font-weight: bold;
		border-top: 1px solid #000391;
		border-bottom: 1px dotted #c5c5c5;
	}
	.article #content .section .privacy_inner p + p,
	.article #content .section .privacy_inner p.ind_new{
		margin-top: 14px !important;
	}
	.article #content .section .privacy_inner .pri_tbl{
		margin: 10px 0px 23px 0px;
	}
	.article #content .section .privacy_inner .pri_tbl th,
	.article #content .section .privacy_inner .pri_tbl td{
		padding: 3px;
	}
	.article #content .section .privacy_inner .pri_tbl th:nth-child(1){
		width: 25%;
	}
	.article #content .section .privacy_inner .pri_tbl li li{
		margin-left: 1.4rem;
	}
	.article #content .section .privacy_inner .pri_tbl td p{
		padding: 0;
	}
	.article #content .section .privacy_inner ol{
		list-style-type: decimal;
		list-style-position: inside;
	}
	.article #content .section .privacy_inner ol.ind_ew{
		margin-left: 16px;
	}
	.article #content .section .draw img{
		width: 90%;
		height: auto;
	}
	
	/* form
	**********************************/
	.formset table th,
	.formset table td{
		display: block;
		padding: 10px;
	}
	.formset table th{
		width: 100%;
	}
	.formset table td th,
	.formset table td td{
		display: table-cell;
	}
	.formset table td th{
		border-right: 5px solid #fff;
	}
	.formset input[type="text"],
	.formset textarea{
		width: 100%;
		border: 1px solid #ccc;
	}
	.formset input.num[type="text"]{
		width: 4rem;
	}
	.formset input[type="submit"]{
		margin: 0 20px;
		padding: 15px 0;
		width: 12.0rem;
		font-size: 1.6rem;
		font-weight: bold;
		background-color: #000391;
		color: #fff;
		border-style: none;
	}
	
	/* news
	**********************************/
	.sp .news #content #news dl dt,
	.sp .news #content #news dl dd{
		float: left;
		padding: 10px 0;
	}
	.sp .news #content #news .image img{
		width: 100%;
		height: auto;
	}
	
	/* english
	**********************************/
	.sp.en .article #content h1{
		padding-left: 0.6rem;
		letter-spacing: 0.6rem;
	}
	.en .article #content h1.double{
		top: 96px !important;
		letter-spacing: 0.8rem;
	}
	.en .article #content h1.triple{
		display: flex;
		width: 100%;
		height: 150px;
		-webkit-justify-content: center;
		justify-content: center;
		-webkit-align-items: center;
		align-items: center;
		letter-spacing: 0.5rem;
		font-size: 2.4rem;
		line-height: 3.0rem;
	}
	.en .article #content h1.sp_double{
		top: 96px !important;
		letter-spacing: 1.5rem;
	}
	.sp.en .article #content h1.sp_double{
		top: 96px !important;
	}
	.en .article #content h1.double .tab_blc{
		display: block;
	}
	.sp.en .article #content h1.double{
		top: 82px !important;
		font-size: 2.4rem;
		letter-spacing: 0.8rem;
	}
}