/* =================================
	TBS Reset CSS
================================= */

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,main {margin:0;padding:0;border:0;font-size:100%;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,main {display:block;}
body {font-family:Verdana,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;line-height:1;}
ol,ul {list-style:none;}
blockquote,q {quotes:none;}
blockquote:before,blockquote:after,q:before,q:after {content:'';content:none;}
table {border-collapse:collapse;border-spacing:0;}
wbr:after {content:"\00200B";}

/*	TBS reset
============================== */
.alt {position:absolute;top:-5000px;left:-9999px;}
.clearfix:after {content:"";clear:both;display:block;}
.hide-txt {text-indent:110%;white-space:nowrap;overflow:hidden;}
.fp-causion {display:none;}
.nocontxt {-webkit-touch-callout: none;-webkit-user-select: none;user-select: none;-webkit-user-drag:none;}
.nocontxt img {pointer-events: none;}
@media all and (min-width:768px) {
.alt-pc {position:absolute;top:-5000px;left:-9999px;}
.clearfix-pc:after {content:"";clear:both;display:block;}
.hide-txt-pc {text-indent:110%;white-space:nowrap;overflow:hidden;}
}
@media all and (max-width:767px) {
.alt-smp {position:absolute;top:-5000px;left:-9999px;}
.clearfix-smp:after {content:"";clear:both;display:block;}
.hide-txt-smp {text-indent:110%;white-space:nowrap;overflow:hidden;}
}
div.embed-tbsplayer {
background-color:#000;
position:relative;
height:0;
padding-top:56.25%;
}
div.embed-tbsplayer .tbs-player {
position:absolute;
left:0;
top:0;
width:100%;
height:100%;
}
div.embed-tbsplayer-audio {
background-color:#fff;
}
div.embed-tbsplayer-audio .tbs-player {
height:46px;
}
div.lbx-overlay {
z-index:10000;position:absolute;background-color:#000;width:100%;height:100%;left:0;top:0;right:0;bottom:0;opacity:0.9;
}

/* =================================
	common CSS
================================= */

/* link */
a:link {
	text-decoration:underline;
	color:#c3191e;
}
a:visited {
	text-decoration:none;
	color:#c3191e;
}
a:active {
	text-decoration:none;
	color:#c3191e;
}
a:hover {
	text-decoration:underline;
	color:#c3191e;
}

/* text-color */
.gray {color:#808080;}
.black {color:#171717;}
.purple {color:#a757a8;}
.ultramarine {color:#465daa;}
.blue {color:#0067c0;}
.lightblue {color:#afdfe4;}
.deepgreen {color:#060;}
.green {color:#008000;}
.yellowgreen {color:#b9c42f;}
.yellow {color:#ffb74c;}
.orange {color:#ff7b00;}
.pink {color:#f58f98;}
.vermilion {color:#ef454a;}
.red {color:#ed1a3d;}
.carmine {color:#c22047;}
.magenta {color:#ec008c;}
.brown {color:#994c00;}
.reddishbrown {color:#800000;}
.yellowocher {color:#c39143;}
.gold {color:#ffd700;}
.silver {color:#c0c0c0;}

.big {
	font-size:125%;
}
.s {
	font-size:87.5%;
}
.ff {
	font-family:serif;
}
.lazy {
	display:block;
	position:relative;
}
.wbr {
	white-space: nowrap;
	display: inline-block;
}
.txta-cen {
	text-align:center;
}

/*	Web Fonts
============================== */

@-webkit-keyframes fadeInRight {
	from {
		opacity: 0;
		-webkit-transform: translate3d(100%, 0, 0);
	}
	to {
		opacity: 1;
		-webkit-transform: none;
	}
}
@keyframes fadeInRight {
	from {
		opacity: 0;
		transform: translate3d(100%, 0, 0);
	}
	to {
		opacity: 1;
		transform: none;
	}
}


/*	background
============================== */

html, body, div#con-body {
	background-color:#fff;
}
body {
	color:#222;
	text-align:center;
	-webkit-text-size-adjust:100%;
	-ms-text-size-adjust: 100%;
	/* font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Yu Gothic",YuGothic,"ヒラギノ角ゴ ProN W3",Hiragino Kaku Gothic ProN,Arial,"メイリオ",Meiryo,sans-serif;
	font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","ヒラギノ角ゴ ProN W3",Hiragino Kaku Gothic ProN,Arial,"メイリオ",Meiryo,sans-serif; */
	font-family:"Helvetica Neue","ヒラギノ角ゴ ProN W3",Hiragino Kaku Gothic ProN,Arial,"メイリオ",Meiryo,sans-serif;
}
div.cover {
	overflow:hidden;
	background-color:#fff;
}
div.cover div.contents {
	background-image: -moz-linear-gradient(top, #78dcff, #b2f226);
	background-image: -webkit-linear-gradient(top, #78dcff, #b2f226);
	background-image: linear-gradient(#78dcff, #b2f226);
}
div.cover div.contents div.bg-bottom {
	background-size:contain;
	background-repeat:no-repeat;
	background-image: url(../img/bg_bottom.png);
	background-position:center bottom;
}
@media all and (min-width: 768px) {
body, div.cover {
	min-width:980px;
}
div.cover div.contents div.bg-bottom {
	position:relative;
	padding-top:30px;
	padding-bottom:120px;
}
div.cover div.contents div.bg-bottom:before,
div.cover div.contents div.bg-bottom:after {
	content:"";
	display:block;
	position:absolute;
	right:0;
	background-repeat:no-repeat;
	background-image: url(../img/bg_star.png);
	width:335px;
	height:432px;
}
div.cover div.contents div.bg-bottom:before {
	bottom:10%;
}
div.cover div.contents div.bg-bottom:after {
	bottom:30%;
}
}
@media all and (max-width: 767px) {
div.cover {
	min-width:320px;
}
div.cover {
}
div.cover div.contents div.bg-bottom {
	padding-top:10px;
	padding-bottom:60px;
}
}

/*	copyright
============================== */
p.copyright {
	line-height:1.25;
	text-align:center;
}
p.copyright a {
}
@media all and (min-width: 768px) {
	p.copyright {
		font-size:75%;
		padding:25px 0 30px;
	}
	p.copyright a:hover {
		text-decoration:none;
	}
}
@media all and (max-width: 767px) {
	p.copyright {
		font-size:62.5%;
		padding:15px 10px;
	}
}

/*	rectangle
============================== */
div.recta > div {
	width:300px;
	height:250px;
	overflow:hidden;
}
@media all and (min-width: 768px) {
	div.recta {
		margin-bottom:30px;
	}
}
@media all and (max-width: 767px) {
	div.recta {
		padding:10px 0;
	}
	div.recta > div {
		margin:0 auto;
	}
}

/*	back to top
============================== */
p.backtotop {
	z-index:20;
	-webkit-transition-duration:300ms;
	-webkit-transition-timing-function:ease-in-out;
	transition-duration:300ms;
	transition-timing-function:ease-in-out;
}
p.backtotop a, p.backtotop span {
	display:block;
}
p.btot-on, p.btot-off {
	position:fixed;
}
@media all and (min-width: 768px) {
p.backtotop {
	transition-property:bottom;
}
p.btot-on {
	right:30px;
	bottom:30px;
}
p.btot-off {
	right:30px;
	bottom:-120px;
}
p.backtotop a {
	background-image:url(../img/bktotop.png);
	background-repeat:no-repeat;
	background-position:left top;
	width:120px;
	height:120px;
	text-indent:110%;white-space:nowrap;overflow:hidden;
}
}
@media all and (max-width: 767px) {
p.backtotop {
	min-width:320px;
	transition-property:bottom;
}
p.btot-on, p.btot-off {
	width:100%;
}
p.btot-on {
	bottom:0;
}
p.btot-off {
	bottom:-40px;
}
p.backtotop a {
	z-index:20;
	position:relative;
	text-decoration:none;
	color:#fff;
	text-shadow:0 2px 2px hsla(0, 0%, 0%, .2);
	background-color:hsla(32,100%,52%,0.9);
	height:40px;
}
p.backtotop a span {
	position:absolute;
	left:50%;
	top:50%;
	margin-top:-0.5em;
	margin-left:-5em;
	font-size:83%;
	font-weight:bold;
}
p.backtotop a span:before {
	position:absolute;
	left:50%;
	top:50%;
	margin-top:-8px;
	margin-left:-7em;
	display:block;
	content:"";
	background-image:url(../img/arrow16.svg);
	background-repeat:no-repeat;
	background-position:left top;
	background-size:16px 100px;
	width:16px;
	height:16px;
	background-color:#fff;
	border-radius:8px;
}
}

/*	SNS buttons
============================== */
@media all and (min-width: 768px) {
div.sns-btns {
	padding-top:22px;
	height:90px;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
}
div.sns-btns div.tw {
	width:100px;
	float:left;
	margin-left:40px;
}
div.sns-btns div.fb {
	float:right;
}
}
@media all and (max-width: 767px) {
div.sns-btns {
	padding:10px 0 7px;
	text-align:center;
/*	background-color:hsla(0,0%,100%,0.9); */
}
div.sns-btns div.tw, div.sns-btns div.fb {
	display:inline-block;
}
div.sns-btns div.tw {
	margin-left:40px;
	padding-right:10px;
}
}


/*	Instagram Timeline
============================== */
aside.ig-timeline section {
	background-image: -moz-linear-gradient(top,#BC32A4,#E03768 50%,#F67C33);
	background-image: -webkit-linear-gradient(top,#BC32A4,#E03768 50%,#F67C33);
	background-image: linear-gradient(#BC32A4,#E03768 50%,#F67C33);
}
aside.ig-timeline section > div {
	background-color:#fff;
}
aside.ig-timeline section h2 {
	position:relative;
}
aside.ig-timeline section h2 a {
	display:block;
	text-indent:110%;white-space:nowrap;overflow:hidden;
	background-repeat:no-repeat;
}
aside.ig-timeline section h2 a:before {
	content:"";
	display:block;
	position:absolute;
	top:0;
	background-image:url(../img/sns_logos.svg);
	background-repeat:no-repeat;
	background-position:right bottom;
}
aside.ig-timeline section > div ul li {
	float:left;
}
aside.ig-timeline section > div ul li > span,
aside.ig-timeline section > div ul li > span a,
aside.ig-timeline section > div ul li > span a img {
	display:block;
}
aside.ig-timeline section > div ul li > span a {
	background-size:cover;
}
aside.ig-timeline section > div ul li a img.icon-video {
	background-image: url(/um/img/play.png);
	background-repeat: no-repeat;
	background-position: center center;
}
@media all and (min-width: 768px) {
aside.ig-timeline {
	margin-bottom:30px;
}
aside.ig-timeline section {
	padding-bottom:10px;
}
aside.ig-timeline section > div {
	margin:0 10px;
	padding-top:10px;
	padding-left:10px;
}
aside.ig-timeline section > div ul li {
	width:80px;
	margin-right:10px;
	margin-bottom:10px;
}
aside.ig-timeline section h2 a {
	background-image:url(../img/sns_h2_pc.png);
	background-position:0 -150px;
	height:50px;
}
aside.ig-timeline section h2 a:before {
	background-size:100px 100px;
	right:10px;
	width:50px;
	height:50px;
}
aside.ig-timeline section > div ul li > span a,
aside.ig-timeline section > div ul li > span a img {
	width:80px;
	height:80px;
}
}
@media all and (max-width: 767px) {
aside.ig-timeline {
}
aside.ig-timeline section {
	padding-bottom:12px;
}
aside.ig-timeline section h2 a {
	background-image:url(../img/sns_h2_smp.png);
	background-size:150px 148px;
	background-position:0 -111px;
	height:37px;
}
aside.ig-timeline section > div {
	padding:6px 6px 0;
	margin:0 26px;
}
aside.ig-timeline section h2 a:before {
	background-size:74px 74px;
	right:26px;
	width:37px;
	height:37px;
}
aside.ig-timeline section > div ul li {
	width:33.333333333333333%;
	margin-bottom:6px
}
aside.ig-timeline section > div ul li:nth-child(3n-2) > span {
	margin-right:4px;
}
aside.ig-timeline section > div ul li:nth-child(3n-1) > span {
	margin-left:2px;
	margin-right:2px;
}
aside.ig-timeline section > div ul li:nth-child(3n) > span {
	margin-left:4px;
}
aside.ig-timeline section > div ul li span a {
	position:relative;
	height:0;
	padding-top:100%;
}
aside.ig-timeline section > div ul li span a img {
	position: absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
}
}



/*	Twitter Timeline
============================== */
aside.tw-timeline section {
	background-color:hsla(205,81%,63%,0.9);
}
aside.tw-timeline section > div {
	background-color:#fff;
}
aside.tw-timeline section h2 {
	position:relative;
}
aside.tw-timeline section h2 a {
	display:block;
	text-indent:110%;white-space:nowrap;overflow:hidden;
	background-repeat:no-repeat;
}
aside.tw-timeline section h2 a:before {
	content:"";
	display:block;
	position:absolute;
	top:0;
	background-image:url(../img/sns_logos.svg);
	background-repeat:no-repeat;
}
@media all and (min-width: 768px) {
aside.tw-timeline section {
	padding-bottom:10px;
}
aside.tw-timeline section > div {
	margin:0 10px;
}
aside.tw-timeline section h2 a {
	background-image:url(../img/sns_h2_pc.png);
	background-position:0 -50px;
	height:50px;
}
aside.tw-timeline section h2 a:before {
	background-size:100px 100px;
	right:10px;
	width:50px;
	height:50px;
}
}
@media all and (max-width: 767px) {
aside.tw-timeline section {
	background-size:50px 50px;
	padding-bottom:12px;
}
aside.tw-timeline section h2 a {
	background-image:url(../img/sns_h2_smp.png);
	background-size:150px 148px;
	background-position:0 -37px;
	height:37px;
}
aside.tw-timeline section > div {
	margin:0 26px;
}
aside.tw-timeline section h2 a:before {
	background-size:74px 74px;
	right:26px;
	width:37px;
	height:37px;
}
}

aside section p.notice {
	text-align:right;
	color:#fff;
	line-height:1.5;
	padding-top:0.2em;
}
@media all and (min-width: 768px) {
aside section p.notice {
	padding-right:10px;
	font-size:75%;
}
}
@media all and (max-width: 767px) {
aside section p.notice {
	padding-right:26px;
	font-size:62.5%;
}
}


/*	header
============================== */
.header {
}
.header header {
	text-align:left;
}
.header header div.mainimg span, .header header div.mainimg span img {
	display:block;
}
.header header div.mainimg span.lazy-done {
	background-repeat:no-repeat;
	-webkit-animation: fadeIn 1200ms;
	animation: fadeIn 1200ms;
}
.header header .logo > span span,
.header header .oa > span span {
	text-indent:110%;white-space:nowrap;overflow:hidden;
}
.header header .logo span,
.header header .oa span {
	display:block;
}
.header header .oa span {
	background-size:cover;
}
@media all and (min-width: 768px) {
.header {
	background-image:url(../img/bg_header.png);
	background-position:center bottom;
	background-repeat:repeat-x;
}
.header header {
	position:relative;
	width:980px;
	height:410px;
	margin:0 auto;
}
.header header .logo {
	position:absolute;
	left:15px;
	top:12px;
}
.header header .oa {
	position:absolute;
	left:44px;
	top:334px;
}
.header header .logo > span, .header header .logo > span span {
	width:440px;
	height:320px;
}
.header header .oa > span, .header header .oa > span span {
	width:380px;
	height:60px;
}
.header header div.mainimg {
	position:absolute;
	right:0;
	bottom:0;
}
.header header div.mainimg span, .header header div.mainimg span img {
	width:530px;
	height:400px;
}
.header header div.mainimg span.lazy-done {
	background-image:url(../img/header_img3.jpg);
}
.header header .logo .lazy-done,
.header header .oa .lazy-done {
	-webkit-animation: fadeInLeft 700ms;
	animation: fadeInLeft 700ms;
}
}
@media all and (max-width: 767px) {
.header {
	padding-top:10px;
	background-image: -moz-linear-gradient(top,#d6f4ff,#fff 50%,#fff);
	background-image: -webkit-linear-gradient(top,#d6f4ff,#fff 50%,#fff);
	background-image: linear-gradient(#d6f4ff,#fff 50%,#fff);
	position:relative;
}
.header:before,
.header:after {
	content:"";
	display:block;
	position:absolute;
	background-repeat:no-repeat;
	background-size:cover;
	width:120px;
	height:155px;
}
.header:before {
	background-image: url(../img/bg_star_lef.png);
	left:0;
	top:15%;
}
.header:after {
	background-image: url(../img/bg_star.png);
	right:0;
	top:15%;
}
.header header .logo,
.header header .oa {
	position: relative;
	z-index:2;
}
.header header div.mainimg span {
	position:relative;
	height:0;
	padding-top:37.5%;
	background-size:cover;
}
.header header div.mainimg span img {
	position: absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
}
.header header div.mainimg span.lazy-done {
	background-image:url(../img/header_img3_smp.jpg);
}
.header header .logo {
	width:60%;
	margin:0 auto 5px;
}
.header header .oa {
	width:60%;
	margin:0 auto;
}
.header header .logo > span,
.header header .oa > span {
	position:relative;
	height:0;
}
.header header .logo > span {
	padding-top:72.7272727272727%;
	background-size:cover;
}
.header header .oa > span {
	padding-top:15.7894736842105%;
}
.header header .logo > span span,
.header header .oa > span span {
	position: absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
}
.header header .logo .lazy-done,
.header header .oa .lazy-done {
	-webkit-animation: slideInRight 700ms;
	animation: slideInRight 700ms;
}
}

@media print {
.header header div.mainimg {
	display:none;
}
}


/*	wrap
============================== */
div.wrap {
	text-align:left;
}
@media all and (min-width: 768px) {
div.wrap {
	width:980px;
	margin:0 auto;
}
main {
	width:640px;
	float:left;
}
div.wrap > div.flo-rig {
	width:300px;
	float:right;
	position:relative;
}
/* div.wrap > div.flo-rig {
	padding-top:280px;
}
div.wrap > div.flo-rig div.recta {
	position:absolute;
	left:0;
	top:0;
} */
}
@media all and (max-width: 767px) {
div.wrap {
}
main {
	padding:0 10px 10px;
}
}

/*	Google Map
============================== */

div#gmap {
	position:relative;
	height:0;
	padding-top:100%;
}
div#map article h2 {
	background-image:url(../img/h2_gmap.png?0);
	background-repeat:no-repeat;
	background-position:center top;
}
div#map article h2 span {
	display:block;
	text-indent:110%;white-space:nowrap;overflow:hidden;
}
@media all and (min-width: 768px) {
div#map article h2 span {
	height:94px;
}
}
@media all and (max-width: 767px) {
div#map article h2 {
	position:relative;
	height:0;
	padding-top:15.8249158249158%;
	background-size:cover;
}
div#map article h2 span {
	position: absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
}
}




/*	.unit
============================== */
main div.unit article {
	background-color:hsla(206,100%,36%,0.5);
	background-color:hsla(0,0%,100%,0.75);
}
main div.unit article > div.inner {
}
main div.cmn-a article > div.inner {
	color:#000;
	background-image:url(../img/bg_article_cmn.png);
	background-position:right bottom;
	background-repeat:no-repeat;
}
@media all and (min-width: 768px) {
main div.unit {
	padding-top:90px;
	margin-top:-90px;
}
main div.unit:not(:last-child) {
	margin-bottom:30px;
}
main div.unit article {
	border:10px solid #fff;
}
main div.unit article > div.inner {
	padding:0 24px 24px;
}
main div.cmn-a article > div.inner {
	padding:0 34px 100px;
}
}
@media all and (max-width: 767px) {
main div.unit {
	padding-top:60px;
	margin-top:-60px;
}
main div.unit:not(:last-child) {
	margin-bottom:15px;
}
main div.unit article {
	border:5px solid #fff;
}
main div.unit article > div.inner {
	padding:0 12px 12px;
}
main div.cmn-a article > div.inner {
	background-size:160px 69px;
	padding:0 12px 50px;
}
}
@media all and (min-width: 500px) and (max-width: 767px) {
main div.unit article header h2 span {
/*	font-size:150%; */
}
}
@media all and (max-width: 499px) {
main div.unit article header h2 span {
/*	font-size:125%; */
}
}


/*	.cmn-a
============================== */
main div.cmn-a article header h2,
main div.cmn-a article header h2 span {
	background-image:url(../img/unit_cmn_h2.png?0);
	background-repeat:no-repeat;
}
main div.cmn-a article header h2 {
	background-position:center top;
}
main div.cmn-a article header h2 span {
	display:block;
	text-indent:110%;white-space:nowrap;overflow:hidden;
}
main div.cmn-a article header h2:after {
	display:block;
	content:"";
	background-color:#fff;
}
main div.cmn-a article div.inner p {
	line-height:1.5;
	text-align: justify;
	text-justify: inter-ideograph; /* IE のみ、こちらも必要 */
}
main div#cast article div.inner p {
	text-align: center;
}
@media all and (min-width: 768px) {
main div.cmn-a article header h2 span {
	width:370px;
	height:72px;
	margin:0 auto;
}
main div#about article header h2 span {
	background-position:0 -80px;
}
main div#comment article header h2 span {
	background-position:0 -160px;
}
main div#cast article header h2 span {
	background-position:0 -240px;
}
main div.cmn-a article header h2:after {
	margin:0 34px 34px;
	height:8px;
}
}
@media all and (max-width: 767px) {
main div.cmn-a article header h2,
main div.cmn-a article header h2 span {
	background-size:266px 230px;
}
main div.cmn-a article header h2 span {
	width:266px;
	height:52px;
	margin:0 auto;
}
main div#about article header h2 span {
	background-position:0 -57.5px;
}
main div#comment article header h2 span {
	background-position:0 -115px;
}
main div#cast article header h2 span {
	background-position:0 -172.5px;
}
main div.cmn-a article header h2:after {
	margin:0 12px 12px;
	height:4px;
}
main div.cmn-a article div.inner p {
	font-size:87.5%;
}
}

/*	#about
============================== */

div#about p.copy {
	color:#f4004e;
	font-weight:bold;
	text-align:center;
	margin-bottom:0.75em;
}
@media all and (min-width: 768px) {
div#about p.copy {
	font-size:150%;
}
}
@media all and (max-width: 767px) {
div#about p.copy {
	font-size:125%;
}
}



/*	#comment
============================== */
div#comment article div.inner section h3 {
	color:#c00;
	line-height:1.5;
	margin-bottom:0.75em;
}
@media all and (min-width: 768px) {
div#comment article div.inner section h3 {
	font-size:115.5%;
}
div#comment article div.inner section:not(:last-child) {
	margin-bottom:30px;
}
}
@media all and (max-width: 767px) {
div#comment article div.inner section:not(:last-child) {
	margin-bottom:15px;
}
}


/* =================================
	keyframes
================================= */

@-webkit-keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
@keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@-webkit-keyframes fadeInLeft {
	from {
		opacity: 0;
		-webkit-transform: translate3d(-100%, 0, 0);
	}
	to {
		opacity: 1;
		-webkit-transform: none;
	}
}
@keyframes fadeInLeft {
	from {
		opacity: 0;
		transform: translate3d(-100%, 0, 0);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

@-webkit-keyframes slideInRight {
	from {
		-webkit-transform: translate3d(100%, 0, 0);
		visibility: visible;
	}
	to {
		-webkit-transform: translate3d(0, 0, 0);
	}
}
@keyframes slideInRight {
	from {
		transform: translate3d(100%, 0, 0);
		visibility: visible;
	}
	to {
		transform: translate3d(0, 0, 0);
	}
}

@-webkit-keyframes slideInDown {
	from {
		-webkit-transform: translate3d(0, -100%, 0);
		visibility: visible;
	}
	to {
		-webkit-transform: translate3d(0, 0, 0);
	}
}
@keyframes slideInDown {
	from {
		transform: translate3d(0, -100%, 0);
		visibility: visible;
	}

	to {
		transform: translate3d(0, 0, 0);
	}
}

.sticky {
	opacity: 0;
}
main .sticky-done {
	-webkit-animation-duration: 0.75s;
	animation-duration: 0.75s;
	-webkit-animation-name: fadeInUp;
	animation-name: fadeInUp;
}


/*	nav
============================== */

div.contents div.menu nav {
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
}
div.contents {
	position:relative;
}
div.contents div.menu {
	position:absolute;
	left:0;
	top:0;
	width:100%;
	z-index:5;
}
div.contents div.menu-on {
	-webkit-animation: slideInDown 700ms;
	animation: slideInDown 700ms;
	position:fixed;
	z-index:5;
}
div.contents div.menu nav ul li > span,
div.contents div.menu nav ul li > span a {
	display:block;
}
div.contents div.menu nav ul li a {
	text-decoration:none;
}
@media all and (min-width: 768px) {
div.contents {
	padding-top:70px;
}
div.contents div.menu nav {
	text-align:left;
	background-image:url(../img/nav_pc.png);
	background-repeat:no-repeat;
	width:980px;
	height:70px;
	padding:5px 0 5px 102px;
	margin:0 auto;
}
div.contents div.menu-on {
	background-color:hsla(196,100%,91%,0.9);
	height:70px;
	-webkit-box-shadow:0 10px 0 0 hsla(0,0%,0%,0.1);
	box-shadow:0 10px 0 0 hsla(0,0%,0%,0.1);
}
div.contents div.menu nav ul li {
	float:left;
}
div.contents div.menu nav ul li:not(:last-child) {
	margin-right:72px;
}
div.contents div.menu nav ul li.mapply {
	width:171px;
}
div.contents div.menu nav ul li.mabout {
	width:140px;
}
div.contents div.menu nav ul li.mcomment {
	width:136px;
}
div.contents div.menu nav ul li.mcast {
	width:114px;
}
div.contents div.menu nav ul li a {
	height:60px;
	text-indent:110%;white-space:nowrap;overflow:hidden;
}
}
@media all and (max-width: 767px) {
div.contents {
	padding-top:50px;
}
div.contents div.menu nav {
	background-color:#fff;
	height:50px;
	border-top:3px solid #d6f4ff;
	border-bottom:3px solid #d6f4ff;
	background-image: -webkit-gradient(linear, center top, center bottom, from(transparent), color-stop(0.5, transparent), color-stop(0.5, #e8f9ff), to(#e8f9ff));
	background-image: linear-gradient(transparent 50%, #e8f9ff 50%);
	padding:0 10px;
}
div.contents div.menu-on nav {
	-webkit-box-shadow:0 5px 0 0 hsla(0,0%,0%,0.1);
	box-shadow:0 5px 0 0 hsla(0,0%,0%,0.1);
}
div.contents div.menu nav ul {
	display:table;
	width:100%;
}
div.contents div.menu nav ul li {
	display:table-cell;
	vertical-align:middle;
	height:44px;
	width:25%;
}
div.contents div.menu nav ul li > span {
}
div.contents div.menu nav ul li:first-child {
	width:31.25%;
}
div.contents div.menu nav ul li:last-child {
	width:18.75%;
}
div.contents div.menu nav ul li:nth-child(4n-3) > span {
	border-right:3px solid #78dcff;
}
div.contents div.menu nav ul li:nth-child(4n-2) > span {
	border-left:1px solid #78dcff;
	border-right:2px solid #78dcff;
}
div.contents div.menu nav ul li:nth-child(4n-1) > span {
	border-left:2px solid #78dcff;
	border-right:1px solid #78dcff;
}
div.contents div.menu nav ul li:nth-child(4n) > span {
	border-left:3px solid #78dcff;
}
div.contents div.menu nav ul li a {
	font-weight:bold;
	color:#000;
	text-shadow:1px 1px 0 #fff, -1px 1px 0 #fff, -1px -1px 0 #fff, 1px -1px 0 #fff, 2px 2px 3px #d6f4ff;
}
}
@media all and (min-width: 481px) and (max-width: 767px) {
div.contents div.menu nav ul li a {
	font-size:112.5%;
}
}
@media all and (min-width: 375px) and (max-width: 480px) {
div.contents div.menu nav ul li a {
	font-size:100%;
}
}
@media all and (max-width: 374px) {
div.contents div.menu-off nav ul li a {
	font-size:87.5%;
}
}


/*	#apply
============================== */

div#apply article h2 {
	background-image:url(../img/h2_apply_2020.png?0);
	background-repeat:no-repeat;
	background-position:center top;
}
div#apply article h2 span {
	display:block;
	text-indent:110%;white-space:nowrap;overflow:hidden;
}
div#apply article div.inner section {
	background-color:#fff;
}
@media all and (min-width: 768px) {
div#apply article h2 span {
	height:92px;
}
div#apply article div.inner section:not(:last-child) {
	margin-bottom:24px;
}
}
@media all and (max-width: 767px) {
div#apply article h2 {
	position:relative;
	height:0;
	padding-top:16.7272727272727%;
	background-size:cover;
}
div#apply article h2 span {
	position: absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
}
div#apply article div.inner section:not(:last-child) {
	margin-bottom:12px;
}
}



/*	accordion
============================== */
.accordion-unit {
	background-color:#fff;
	overflow:hidden;
}
.accordion-unit .accordion-btn {
	position:relative;
	cursor:pointer;
	text-shadow:1px 2px 2px hsla(0,0%,0%,.2);
	line-height:1.5;
	color:#fff;
	padding:0.5em 1em;
}
.accordion-unit .accordion-btn {
	background-color:#ff900e;
	border-bottom:solid #e6820d 3px;
}
.accordion-unit .accordion-box {
	-webkit-transition-duration:500ms;
	-webkit-transition-timing-function:ease-in-out;
	transition-duration:500ms;
	transition-timing-function:ease-in-out;
	-webkit-transition-property:height;
	transition-property:height;
}
.accordion-open .accordion-box {
	height:auto;
}
.accordion-close .accordion-box {
	height:0;
}
.accordion-unit .accordion-btn:after {
	content:"";
	background-image:url(../img/arrow16.svg);
	display:block;
	width:24px;
	height:24px;
	background-color:#fff;
	background-size:24px 150px;
	border-radius:12px;
	position:absolute;
	top:50%;
	right:12px;
	margin-top:-12px;
}
.accordion-open .accordion-btn:after {
	background-position:center top;
}
.accordion-close .accordion-btn:after {
	background-position:0 -60px;
}
@media all and (min-width: 768px) {
.accordion-inner {
	padding:24px;
}
.accordion-inner section p:not(:last-child) {
	margin-bottom:30px;
}
}
@media all and (max-width: 767px) {
.accordion-inner {
	padding:12px;
}
.accordion-inner section p:not(:last-child) {
	margin-bottom:15px;
}
}


/*	button
============================== */
p.btn {
	position:relative;
	overflow:hidden;
}
p.btn a {
	display:block;
	color: #fff;
	text-shadow:0 2px 2px hsla(0, 0%, 0%, .2);
	background-color:#ff900e;
	background-color:#c00;
	font-weight:bold;
	text-align:center;
	text-decoration:none;
}
p.btn a:before {
	content:"";
	display:block;
	position:absolute;
	top:50%;
	background-image:url(../img/arrow16.svg);
	background-repeat:no-repeat;
	background-color:#fff;
}
@media all and (min-width: 768px) {
p.btn {
	margin:0 120px;
}
p.btn:not(:last-child) {
	margin-bottom:24px;
}
p.btn a {
	font-size:150%;
	height:44px;
	line-height:44px;
}
p.btn a:hover {
	background-color:#e6820d;
	background-image:none;
}
p.btn a:before {
	left:6px;
	background-position:0 -40px;
	background-size:32px 200px;
	width:32px;
	height:32px;
	margin-top:-16px;
}
div#apply article div.inner section#apply1 p.btn a {
	font-size:400%;
	height:88px;
	line-height:88px;
}
}
@media all and (max-width: 767px) {
p.btn {
	margin:0 32px;
}
p.btn:not(:last-child) {
	margin-bottom:12px;
}
p.btn a {
	font-size:112.5%;
	height:32px;
	line-height:32px;
}
p.btn a:before {
	left:4px;
	background-position:0 -30px;
	background-size:24px 150px;
	width:24px;
	height:24px;
	margin-top:-12px;
}
}

/*	.attention
============================== */
p.attention {
	color:#0c4eb2;
	line-height:1.5;
	text-align:center;
}
section#apply1 p.attention,
section#apply3 p.attention {
	color:#c00;
}
p.attention:not(:last-child) {
	margin-bottom:1.5em;
}
@media all and (min-width: 768px) {
p.attention {
	font-size:87.5%;
}
}
@media all and (max-width: 767px) {
p.attention {
	font-size:83%;
}
}



/*	apply2
============================== */

div#apply article div.inner section section h4 {
	color:#c00;
	line-height:1.5;
	margin-bottom:0.75em;
}
div#apply article div.inner section section p {
	font-size:87.5%;
	line-height:1.5;
}
@media all and (min-width: 768px) {
div#apply article div.inner section section:not(:last-child) {
	margin-bottom:24px;
}
}
@media all and (max-width: 767px) {
div#apply article div.inner section section h4 {
	font-size:87.5%;
}
div#apply article div.inner section section:not(:last-child) {
	margin-bottom:12px;
}
}


/*	apply1
============================== */
section#apply1 h3 {
	color:#36a2d6;
	text-align:center;
	line-height:1.5;
	padding-bottom:0.2em;
}
section#apply1 p.copy1, section#apply1 p.copy2 {
	text-align:center;
	line-height:1.5;
	margin-bottom:1.5em;
}
section#apply1 p.copy1 {
	color:#33b27b;
	font-weight:bold;
}
section#apply1 p.copy2 {
	font-size:87.5%;
}
section#apply3 p.copy {
	margin-bottom:1.5em;
}
div#apply article div.inner section#apply1 section h4:before,
div#apply article div.inner section#apply3 section h5:before {
/*	display:block;
	float:left; */
}
div#apply article div.inner section#apply1 section:nth-child(1) h4:before,
div#apply article div.inner section#apply3 div.inner section:nth-child(1) h5:before {
	content:"1. ";
}
div#apply article div.inner section#apply1 section:nth-child(2) h4:before,
div#apply article div.inner section#apply3 div.inner section:nth-child(2) h5:before {
	content:"2. ";
}
div#apply article div.inner section#apply1 section:nth-child(3) h4:before,
div#apply article div.inner section#apply3 div.inner section:nth-child(3) h5:before {
	content:"3. ";
}
div#apply article div.inner section#apply1 section:nth-child(4) h4:before,
div#apply article div.inner section#apply3 div.inner section:nth-child(4) h5:before {
	content:"4. ";
}
div#apply article div.inner section#apply1 section h4 span,
div#apply article div.inner section#apply3 div.inner section h5 span {
/*	display:block;
	padding-left:1.5em; */
}
section#apply3 section h5 {
	color:#337bcc;
	font-size:87.5%;
	line-height:1.5;
	margin-bottom:0.5em;
}
section#apply3 section div.inner {
	padding-bottom:1.5em;
	border-bottom:4px solid #ccc;
}
@media all and (min-width: 768px) {
section#apply1 {
	padding:24px;
}
section#apply1 h3 {
	font-size:125%;
	border-bottom:6px solid #36a2d6;	
	margin-bottom:24px;
}
section#apply1 div.inner {
	margin-bottom:24px;
}
section#apply1 p.copy1 {
	font-size:150%;
}
section#apply1 div.copy-mdl {
	font-size:150%;
	font-weight:bold;
}
section#apply1 p.exmple {
	line-height:2.25;
}
section#apply1 p.copy2 span.spc {
	font-size:175%;
	font-weight:bold;
	font-style:italic;
	margin-bottom:0.25em;
	display:inline-block;
	color:#ff7b33;
}
}
@media all and (max-width: 767px) {
section#apply1 {
	padding:12px;
}
section#apply1 h3 {
	font-size:112.5%;
	border-bottom:3px solid #36a2d6;
	margin-bottom:12px;
}
section#apply1 p.copy1 {
	font-size:87.5%;
}
section#apply1 div.inner {
	margin-bottom:12px;
}
section#apply1 p.exmple {
	line-height:1.75;
}
section#apply1 div.copy-mdl p.copy2 span.spc {
	font-weight:bold;
}
}



/*	agreement
============================== */
div.agreement-btn p.btn-off {
	opacity:0.2;
}
div.agreement-btn p.btn-regulation {
	width:9em;
	margin:0 auto 1.25em;
}
div.agreement-btn p.btn-regulation a {
	display:block;
	line-height:1.5;
	padding:0.5em;
	background-color:#ff9;
	border-radius:16px;
	text-align:center;
}
div.agreement-btn p.btn-off a {
	cursor:default;
	text-shadow:none;
	background-color:#666;
}
div.agreement-btn p.chk-regulation {
	text-align:center;
	line-height:1.25;
	margin-bottom:1.5em;
}
@media all and (min-width: 768px) {
div.agreement-btn:not(:last-child) {
	margin-bottom:40px;
}
div.agreement-btn p.btn-regulation a {
	font-size:112.5%;
}
}
@media all and (max-width: 767px) {
div.agreement-btn:not(:last-child) {
	margin-bottom:20px;
}
div.agreement-btn p.btn-regulation a {
	font-size:100%;
}
}



/*	bn kanran
============================== */

.bn-kanran {
}
.bn-kanran a, .bn-kanran a span {
	display:block;
}
.bn-kanran a {
	background-image:url(../img/bn_kanran.png?0);
	background-repeat:no-repeat;
	background-position:center top;
	background-size:cover;
}
.bn-kanran a span {
	text-indent:110%;white-space:nowrap;overflow:hidden;
	height:250px;
}
@media all and (min-width: 768px) {
.bn-kanran {
	margin-bottom:30px;
}
}
@media all and (max-width: 767px) {
div.agreement-btn p.btn-regulation a {
	font-size:100%;
}
.bn-kanran {
	background-color:hsla(0,0%,100%,0.25);
	padding:12px 0;
	margin-bottom:20px;
}
.bn-kanran a {
	width:300px;
	margin:0 auto;
}
}

/* -- side youtube --*/

#side-youtube-box { margin:0 0 30px 0; }
#side-youtube { position:relative; width:100%; height:0;  padding-top:56.25%; }
#side-youtube > p { position:absolute; display:block; left:0; top:0; width:100%; height:100%; }
#side-youtube > p iframe { position:absolute; left:0; top:0; width:100%; height:100%; }
@media all and (max-width: 767px) {
#side-youtube-box { margin:0 10px 10px 10px; }
}

/*	figure (main)
============================== */
.pic-main {
	position:relative;
	background-color:hsla(0,0%,100%,1);
}
.pic-main span, .pic-main a,
.pic-main span img, .pic-main a img {
	display:block;
}
.pic-main span, .pic-main a {
	position:relative;
	height:0;
	background-position:center center;
	background-repeat:no-repeat;
	padding-top:56.25%;
                                background-size:cover;
}
.pic-main span.lazy-done, .pic-main a.lazy-done {
	-webkit-animation: fadeIn 1000ms;
	animation: fadeIn 1000ms;
}
.pic-main span img, .pic-main a img {
	position: absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
}
@media all and (min-width: 768px) {
.pic-main:not(:last-child) {
                                margin-bottom:40px;
}
}
@media all and (max-width: 767px) {
.pic-main:not(:last-child) {
                                margin-bottom:20px;
}
}


.apply2020 p.copy {
color:#ea1700;
font-family: source-han-serif-japanese, sans-serif;
font-style: normal;
font-weight: 800;
	-moz-font-feature-settings: "palt";
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	text-align:center;
                                line-height:1.5;
                                margin-bottom:1em;
}
.apply2020 p.copy > span {
	background-image: -webkit-gradient(linear, center top, center bottom, from(transparent), color-stop(0.5, transparent), color-stop(0.5, hsla(0,0%,100%,1)), to(hsla(0,0%,100%,1)));
	background-image: linear-gradient(transparent 50%, hsla(0,0%,100%,1) 50%);
}
.apply2020 div.copy2 p {
color:#004ecc;
                                font-family: source-han-serif-japanese, sans-serif;
                                font-style: normal;
                                font-weight: 700;
	-moz-font-feature-settings: "palt";
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	text-align:center;
                                line-height:1.5;
}
.apply2020 div.copy3 p {
                                line-height:1.5;
}
.apply2020 div.copy3 p:first-child {
                                margin-bottom:0.5em;
}
@media all and (min-width: 768px) {
.apply2020 p.copy {
	font-size:200%;
}
.apply2020 div.copy2, .apply2020 div.copy3 {
                                margin-bottom:40px;
}
.apply2020 div.copy2 p:first-child {
	font-size:150%;
}
.apply2020 div.copy2 p:last-child {
	font-size:225%;
}
.apply2020 div.copy3 p {
	font-size:125%;
}
.apply2020 p.copy4 {
	font-size:112.5%;
                                margin-bottom:40px;
}
}
@media all and (max-width: 767px) {
.apply2020 p.copy {
	font-size:4.5vw;
}
.apply2020 div.copy2, .apply2020 div.copy3 {
                                margin-bottom:20px;
}
.apply2020 div.copy2 p:first-child {
	font-size:3vw;
}
.apply2020 div.copy2 p:last-child {
	font-size:5vw;
}
.apply2020 div.copy3 p {
	font-size:87.5%;
}
.apply2020 p.copy4 {
	font-size:87.5%;
                                margin-bottom:20px;
}
}

.apply2020 div.unit-inner {
                               text-align:center;
}
@media all and (min-width: 768px) {
.apply2020 div.unit-inner {
                                margin-bottom:40px;
}
}
@media all and (max-width: 767px) {
.apply2020 div.unit-inner {
                              margin-bottom:20px;
}
}

.apply2020 section.unit-inner {

}
.apply2020 section.unit-inner p {
                                line-height:1.5;
                                margin-bottom:1.5em;
}
.apply2020 section.unit-inner h3,
div#about section.contents div.inner section.unit h4 {
                                font-family: source-han-serif-japanese, sans-serif;
                                font-style: normal;
                                font-weight: 700;
	-moz-font-feature-settings: "palt";
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	text-align:center;
                                line-height:1.5;
                                margin-bottom:1.5em;
	-webkit-transform: rotate(-2deg);
	-ms-transform: rotate(-2deg);
	transform: rotate(-2deg);
	color:#ea1700;
	text-shadow:1px 1px 0 #ffea99, -1px 1px 0 #ffea99, -1px -1px 0 #ffea99, 1px -1px 0 #ffea99, 2px 2px 3px #ffea99;
}

.apply2020 section.unit-inner h3.sticky,
div#about section.contents div.inner section.unit h4.sticky {
	opacity: 0;
}
.apply2020 section.unit-inner h3.sticky-done,
div#about section.contents div.inner section.unit h4.sticky-done {
	-webkit-animation-duration: 0.5s;
	animation-duration: 0.5s;
	-webkit-animation-name: fadeInRight;
	animation-name: fadeInRight;
}


.apply2020 section.unit-inner h3 span,
div#about section.contents div.inner section.unit h4 span {
	background-image: -webkit-gradient(linear, center top, center bottom, from(transparent), color-stop(0.5, transparent), color-stop(0.5, hsla(190,100%,65%,0.8)), to(hsla(190,100%,65%,0.8)));
	background-image: linear-gradient(transparent 50%, hsla(190,100%,65%,0.8) 50%);
}
@media all and (min-width: 768px) {
.apply2020 section.unit-inner {
                                padding:24px;
}
.apply2020 section.unit-inner p {
}
.apply2020 section.unit-inner h3,
div#about section.contents div.inner section.unit h4 {
	font-size:175%;
}
}
@media all and (max-width: 767px) {
.apply2020 section.unit-inner {
                                padding:12px;
}
.apply2020 section.unit-inner p {
                                font-size:87.5%;
}
.apply2020 section.unit-inner h3 {
	font-size:125%;
}
div#about section.contents div.inner section.unit h4 {
	font-size:112.5%;
}
}




/*	#insta
============================== */

div.bn-ig a, div.bn-ig a span {
                                display:block;
}
div.bn-ig a {
                                width:300px;
                                background-image:url(../img/bn_insta.png);
                                background-repeat:no-repeat;
                                margin:0 auto 20px;
}
div.bn-ig a span {
	text-indent:110%;white-space:nowrap;overflow:hidden;
                                height:140px;
}

p.question {
	line-height:1.5;
	text-align:center !important;
	margin-bottom:1.5em;
}
p.question span {
	background-image: -webkit-gradient(linear, center top, center bottom, from(transparent), color-stop(0.5, transparent), color-stop(0.5, hsla(0,0%,100%,1)), to(hsla(0,0%,100%,1)));
	background-image: linear-gradient(transparent 50%, hsla(0,0%,100%,1) 50%);
}
@media all and (min-width: 768px) {
p.question {
	font-size:112.5%;
}
}
@media all and (max-width: 767px) {
p.question {
	font-size:87.5%;
}
}

/*	YouTube
============================== */
div.mov-outer {
	background-color:#000;
}
div.mov-inner {
	position:relative;
	height:0;
	padding-top:56.25%;
}
div.mov-inner iframe {
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
}
@media all and (min-width: 768px) {
div.mov-outer {
	margin:0 auto 40px;
}
}
@media all and (max-width: 767px) {
div.mov-outer {
	margin-bottom:20px;
}
}

p.copy5 {
text-align:center;
font-weight:bold;
background-color:#ffea4e;
padding:0.25em 0;
}
@media all and (min-width: 768px) {
p.copy5 {
font-size:125%;
}
}
@media all and (max-width: 767px) {
p.copy5 {
font-size:112.5%;
}
}


/*	#about
============================== */

div#about p.copy {
	color:#f4004e;
	font-weight:bold;
	text-align:center;
	margin-bottom:1.5em;
}
div#about section.contents h3 {
text-align:center;
line-height:1.6;
color:#0067c0;
padding:0.25em;
}
div#about section.contents div.inner section.unit {
background-color:#fff;
}
@media all and (min-width: 768px) {
div#about section.contents {
margin-top:40px;
margin-bottom:40px;
}
div#about section.contents h3 {
font-size:125%;
border-top:10px solid #fff;
border-bottom:10px solid #fff;
margin-bottom:30px;
}
div#about section.contents div.inner section.unit {
padding:25px;
}
div#about section.contents div.inner section.unit:not(:last-child) {
margin-bottom:30px;
}	
}
@media all and (max-width: 767px) {
div#about section.contents {
margin-top:20px;
margin-bottom:20px;
}
div#about section.contents h3 {
font-size:112.5%;
border-top:5px solid #fff;
border-bottom:5px solid #fff;
margin-bottom:15px;
}
div#about section.contents div.inner section.unit {
padding:10px;
}
div#about section.contents div.inner section.unit:not(:last-child) {
margin-bottom:15px;
}
}
