
@import url('https://fonts.googleapis.com/css?family=Fjalla+One');

@charset 'UTF-8';
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device orientation change,
 *    without disabling user zoom.
 */
html {
	font-family : sans-serif;
	/* 1 */
	    -ms-text-size-adjust : 100%;
	/* 2 */
	-webkit-text-size-adjust : 100%;
	/* 2 */
}

/**
 * Remove default margin.
 */
body {
	margin : 0;
}

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
	display : block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio, canvas, progress, video {
	display : inline-block;
	/* 1 */
	vertical-align : baseline;
	/* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
	display : none;
	height : 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
 */
[hidden], template {
	display : none;
}

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
	background-color : transparent;
}

/**
 * Improve readability of focused elements when they are also in an
 * active/hover state.
 */
a:active, a:hover {
	outline : 0;
}

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
	border-bottom : 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b, strong {
	font-weight : bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
	font-style : italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
	font-size : 2em;
	margin : 0.67em 0;
}

/**
 * Address styling not present in IE 8/9.
 */
mark {
	background : #ff0;
	color : #000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
	font-size : 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub, sup {
	font-size : 75%;
	line-height : 0;
	position : relative;
	vertical-align : baseline;
}

sup {
	top : -0.5em;
}

sub {
	bottom : -0.25em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
	border : 0;
	max-width : 100%;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
	overflow : hidden;
}

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
	margin : 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */
hr {
	-webkit-box-sizing : content-box;
	        box-sizing : content-box;
	height : 0;
}

/**
 * Contain overflow in all browsers.
 */
pre {
	overflow : auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code, kbd, pre, samp {
	font-family : monospace, monospace;
	font-size : 1em;
}

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button, input, optgroup, select, textarea {
	color : inherit;
	/* 1 */
	font : inherit;
	/* 2 */
	margin : 0;
	/* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
	overflow : visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button, select {
	text-transform : none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button, html input[type='button'], input[type='reset'], input[type='submit'] {
	-webkit-appearance : button;
	/* 2 */
	cursor : pointer;
	/* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled], html input[disabled] {
	cursor : default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner, input::-moz-focus-inner {
	border : 0;
	padding : 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
	line-height : normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type='checkbox'], input[type='radio'] {
	-webkit-box-sizing : border-box;
	        box-sizing : border-box;
	/* 1 */
	padding : 0;
	/* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type='number']::-webkit-inner-spin-button, input[type='number']::-webkit-outer-spin-button {
	height : auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
 */
input[type='search'] {
	-webkit-appearance : textfield;
	/* 1 */
	-webkit-box-sizing : content-box;
	        box-sizing : content-box;
	/* 2 */
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type='search']::-webkit-search-cancel-button, input[type='search']::-webkit-search-decoration {
	-webkit-appearance : none;
}

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
	border : 1px solid #c0c0c0;
	margin : 0 2px;
	padding : 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
	border : 0;
	/* 1 */
	padding : 0;
	/* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
	overflow : auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
	font-weight : bold;
}

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
	border-collapse : collapse;
	border-spacing : 0;
}

td, th {
	padding : 0;
}

/* Slider */
.slick-slider {
	position : relative;
	display : block;
	-webkit-box-sizing : border-box;
	        box-sizing : border-box;
	-webkit-touch-callout : none;
	-webkit-user-select : none;
	   -moz-user-select : none;
	    -ms-user-select : none;
	        user-select : none;
	-ms-touch-action : pan-y;
	    touch-action : pan-y;
	-webkit-tap-highlight-color : transparent;
}

.slick-list {
	position : relative;
	overflow : hidden;
	display : block;
	margin : 0;
	padding : 0;
}
.slick-list:focus {
	outline : none;
}
.slick-list.dragging {
	cursor : pointer;
	cursor : hand;
}

.slick-slider .slick-track, .slick-slider .slick-list {
	-webkit-transform : translate3d(0, 0, 0);
	    -ms-transform : translate3d(0, 0, 0);
	        transform : translate3d(0, 0, 0);
}

.slick-track {
	position : relative;
	left : 0;
	top : 0;
	display : block;
}
.slick-track:before, .slick-track:after {
	content : '';
	display : table;
}
.slick-track:after {
	clear : both;
}
.slick-loading .slick-track {
	visibility : hidden;
}

.slick-slide {
	float : left;
	height : 100%;
	min-height : 1px;
	display : none;
}
[dir='rtl'] .slick-slide {
	float : right;
}
.slick-slide img {
	display : block;
}
.slick-slide.slick-loading img {
	display : none;
}
.slick-slide.dragging img {
	pointer-events : none;
}
.slick-initialized .slick-slide {
	display : block;
}
.slick-loading .slick-slide {
	visibility : hidden;
}
.slick-vertical .slick-slide {
	display : block;
	height : auto;
	border : 1px solid transparent;
}

.slick-arrow.slick-hidden {
	display : none;
}

/*! minimum_reset.css v0.0.1 */
h1, h2, h3, h4, h5, h6 {
	margin : 0;
	font-size : 100%;
	font-weight : normal;
}

ul, ol {
	margin : 0;
	padding : 0;
	list-style : none;
}

ul li, ol li {
	margin : 0;
	padding : 0;
	list-style : none;
}

dl, dt, dd {
	margin : 0;
	padding : 0;
}

p {
	margin : 0;
}

address {
	font-style : normal;
}

img {
	vertical-align : bottom;
}

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

.w5p {
	width : 5% !important;
}

.w10p {
	width : 10% !important;
}

.w15p {
	width : 15% !important;
}

.w20p {
	width : 20% !important;
}

.w25p {
	width : 25% !important;
}

.w30p {
	width : 30% !important;
}

.w35p {
	width : 35% !important;
}

.w40p {
	width : 40% !important;
}

.w45p {
	width : 45% !important;
}

.w50p {
	width : 50% !important;
}

.w55p {
	width : 55% !important;
}

.w60p {
	width : 60% !important;
}

.w65p {
	width : 65% !important;
}

.w70p {
	width : 70% !important;
}

.w75p {
	width : 75% !important;
}

.w80p {
	width : 80% !important;
}

.w85p {
	width : 85% !important;
}

.w90p {
	width : 90% !important;
}

.w95p {
	width : 95% !important;
}

.w100p {
	width : 100% !important;
}

.clearfix {
	*zoom : 1;
}
.clearfix:after {
	content : ' ';
	display : table;
	clear : both;
}

.clear {
	clear : both;
	line-height : 0.1;
}

.view-pc {
	display : none;
}
@media screen and (min-width: 768px), print {
	.view-pc {
		display : block;
	}
}

@media screen and (min-width: 768px), print {
	.view-sp {
		display : none;
	}
}

html {
	color : #404040;
	font-size : 62.5%;
	background : url(../images/washi_pattern.jpg) top center repeat #fff;
	background-size : 70px 70px;
	font-family : Avenir, 'Hiragino Maru Gothic W4 JIS2004', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, '游ゴシック Medium', 'Yu Gothic Medium', 'YuGothic M', '游ゴシック体', YuGothic, 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-weight : 500;
}
@media screen and (min-width: 768px), print {
	html {
		background-size : 140px 140px;
	}
}

body {
	line-height : 2;
	letter-spacing : normal;
	font-size : 14px;
	font-size : 14px;
	font-size : 1.4rem;
	overflow : hidden;
}
@media screen and (min-width: 768px), print {
	body {
		font-size : 16px;
		font-size : 1.6rem;
		min-width : 1200px;
	}
}
body.is-open {
	overflow : auto;
}

/* link style */
a {
	color : #404040;
	text-decoration : none;
}

#l-loading {
	position : fixed;
	top : 0;
	left : 0;
	right : 0;
	bottom : 0;
	background : #c8e0de;
	z-index : 9999;
}
#l-loading .loading-img {
	width : 200px;
	height : 200px;
	position : absolute;
	top : 50%;
	left : 50%;
	margin-top : -100px;
	margin-left : -100px;
}
@media screen and (min-width: 768px), print {
	#l-loading .loading-img {
		width : 400px;
		height : 400px;
		margin-top : -200px;
		margin-left : -200px;
	}
}

/* header style */
#l-header {
	background : url(../images/main_img_sp.jpg) top center no-repeat;
	background-size : 100% auto;
	height : calc(140vw);
	padding : 15px;
	position : relative;
}
@media screen and (min-width: 768px), print {
	#l-header {
		background : url(../images/main_img_pc.jpg) center center no-repeat;
		background-size : cover;
		height : 720px;
		padding : 30px 0 0;
	}
}
@media screen and (min-width: 768px), print {
	#l-header:before {
		content : '';
		display : inline-block;
		width : 740px;
		height : 240px;
		position : absolute;
		bottom : 0;
		left : 50%;
		margin-left : -370px;
		background : url(../images/main_img_pc_hand.png) bottom center no-repeat;
	}
}
#l-header .header-top {
	*zoom : 1;
}
#l-header .header-top:after {
	content : ' ';
	display : table;
	clear : both;
}
@media screen and (min-width: 768px), print {
	#l-header .header-top {
		width : 960px;
		margin : 0 auto;
	}
}
#l-header .header-top .top-hackathon {
	float : left;
	width : 171px;
}
@media screen and (min-width: 768px), print {
	#l-header .header-top .top-hackathon {
		width : 342px;
	}
}
#l-header h1 {
	text-align : center;
	margin-top : 50px;
	opacity : 0;
	-ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=0)';
	-webkit-transition : all 1s ease-in-out;
	        transition : all 1s ease-in-out;
}
@media screen and (min-width: 768px), print {
	#l-header h1 {
		width : 716px;
		height : 190px;
		background : url(../images/logo_pc.png) top center no-repeat;
		margin : 100px auto 0;
	}
}
#l-header h1 img {
	width : 290px;
}
@media screen and (min-width: 768px), print {
	#l-header h1 img {
		display : none;
	}
}
#l-header .header-catch {
	margin-top : 15px;
	text-align : center;
	opacity : 0;
	-ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=0)';
	-webkit-transition : all 1s ease-in-out;
	        transition : all 1s ease-in-out;
}
@media screen and (min-width: 768px), print {
	#l-header .header-catch {
		margin : 30px auto 0;
		width : 960px;
	}
}
#l-header .header-catch .catch-box {
	display : inline-block;
	background : rgba(0, 0, 0, 0.2);
	color : #fff;
	font-size : 12px;
	font-size : 12px;
	font-size : 1.2rem;
	font-weight : bold;
	padding : 1px 5px 2px;
	margin-top : 10px;
}
@media screen and (min-width: 768px), print {
	#l-header .header-catch .catch-box {
		font-size : 16px;
		font-size : 1.6rem;
		padding : 7px 10px;
		line-height : 1;
		font-weight : normal;
	}
	#l-header .header-catch .catch-box.catch-l {
		padding-right : 0;
	}
	#l-header .header-catch .catch-box.catch-r {
		padding-left : 0;
	}
}
#l-header .header-scroll {
	position : absolute;
	left : 15px;
	right : 15px;
	bottom : calc(6.5vw);
	text-align : center;
}
@media screen and (min-width: 768px), print {
	#l-header .header-scroll {
		bottom : 60px;
	}
}
#l-header .header-scroll a {
	display : inline-block;
	color : #fff;
	padding-bottom : 15px;
	position : relative;
	font-family : 'Fjalla One', sans-serif;
	letter-spacing : +2px;
}
#l-header .header-scroll a:after {
	content : '';
	display : inline-block;
	width : 16px;
	height : 16px;
	border-top : 2px solid #c8e0de;
	border-right : 2px solid #c8e0de;
	-webkit-transform : rotate(135deg);
	    -ms-transform : rotate(135deg);
	        transform : rotate(135deg);
	position : absolute;
	bottom : 3px;
	left : 50%;
	margin-left : -8px;
}
@media screen and (min-width: 768px), print {
	#l-header .header-scroll a:after {
		width : 20px;
		height : 20px;
		margin-left : -10px;
		bottom : 4px;
	}
}
#l-header.is-open h1 {
	opacity : 1;
	-ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=100)';
	margin-top : 30px;
}
@media screen and (min-width: 768px), print {
	#l-header.is-open h1 {
		margin-top : 60px;
	}
}
#l-header.is-open .header-catch {
	opacity : 1;
	-ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=100)';
}

/* content style */
@media screen and (min-width: 768px), print {
	#l-content .top-concept {
		width : 960px;
		margin : 0 auto;
		position : relative;
	}
	#l-content .top-concept.delay-bg .pc-ruler {
		background-position : 0 -225px;
	}
	#l-content .top-concept.delay-bg .concept-about:after {
		height : 320px;
	}
}

@media screen and (min-width: 768px), print {
	#l-content .top-concept .pc-ruler {
		display : inline-block;
		position : absolute;
		top : 0;
		left : 25px;
		width : 102px;
		height : 210px;
		background : url(../images/concept_bg_pc.png) center top no-repeat;
		-webkit-transition : all 1s ease;
		        transition : all 1s ease;
	}
}

#l-content .top-concept .concept-about {
	margin : 0 15px;
	padding-top : 125px;
	padding-bottom : 160px;
	position : relative;
}
#l-content .top-concept .concept-about:before {
	content : '';
	display : inline-block;
	position : absolute;
	top : 33px;
	left : -15px;
	background : url(../images/concept_bg1_sp.png) right no-repeat;
	background-size : 318px 89px;
	width : 318px;
	height : 89px;
}
@media screen and (min-width: 768px), print {
	#l-content .top-concept .concept-about:before {
		top : 170px;
		left : 0;
		background : url(../images/concept_bg1_pc.png) right no-repeat;
		width : 160px;
		height : 270px;
	}
}
#l-content .top-concept .concept-about:after {
	content : '';
	display : inline-block;
	position : absolute;
	bottom : 50px;
	right : -15px;
	background : url(../images/concept_bg2_sp.png) left no-repeat;
	background-size : 204px 95px;
	width : 204px;
	height : 95px;
}
@media screen and (min-width: 768px), print {
	#l-content .top-concept .concept-about:after {
		top : 0;
		right : -28px;
		background : url(../images/concept_bg2_pc.png) right bottom no-repeat;
		width : 190px;
		height : 20px;
		-webkit-transition : all 1s ease;
		        transition : all 1s ease;
	}
}
@media screen and (min-width: 768px), print {
	#l-content .top-concept .concept-about {
		margin : 0;
		padding-top : 90px;
		padding-bottom : 100px;
	}
}
#l-content .top-concept .concept-about h2 {
	color : #933523;
	font-weight : bold;
	line-height : 1.5;
	text-align : center;
	font-size : 18px;
	font-size : 18px;
	font-size : 1.8rem;
	padding-top : 35px;
	background : url(../images/icon_concept.png) top center no-repeat;
	background-size : 30px 30px;
}
@media screen and (min-width: 768px), print {
	#l-content .top-concept .concept-about h2 {
		font-size : 28px;
		font-size : 2.8rem;
		background-size : 40px 40px;
		padding-top : 50px;
	}
}
#l-content .top-concept .concept-about p {
	text-align : center;
}
@media screen and (min-width: 768px), print {
	#l-content .top-concept .concept-about p {
		width : 600px;
		margin : 20px auto 0;
	}
}

#l-content .top-concept .concept-why {
	margin : 0 15px;
	border : 2px dotted #c4b893;
	background : #fff;
	position : relative;
	border-radius : 10px;
	padding : 50px 15px 20px;
}
@media screen and (min-width: 768px), print {
	#l-content .top-concept .concept-why {
		margin : 0;
		padding : 75px 180px 38px;
	}
}
#l-content .top-concept .concept-why h3 {
	position : absolute;
	left : 50%;
	margin-left : -60px;
	top : -36px;
}
@media screen and (min-width: 768px), print {
	#l-content .top-concept .concept-why h3 {
		width : 160px;
		height : 100px;
		background : url(../images/concept_why_pc.png) no-repeat;
		margin-left : -80px;
		top : -48px;
	}
}
#l-content .top-concept .concept-why h3 img {
	width : 120px;
}
@media screen and (min-width: 768px), print {
	#l-content .top-concept .concept-why h3 img {
		display : none;
	}
}
#l-content .top-concept .concept-why p {
	position : relative;
	background-color : #fff;
	background-image : -webkit-gradient(linear, left top, left bottom, color-stop(1.9em, transparent), color-stop(2em, #e5e5e5));
	background-image : -webkit-linear-gradient(transparent 1.9em, #e5e5e5 2em);
	background-image :         linear-gradient(transparent 1.9em, #e5e5e5 2em);
	background-size : 100% 2em;
	text-align : center;
	padding : 0 2px;
	border-top : 1px solid #f1f1f1;
}
#l-content .top-concept .concept-why .why-img {
	width : 260px;
	margin : 20px auto 0;
	text-align : center;
	*zoom : 1;
}
#l-content .top-concept .concept-why .why-img:after {
	content : ' ';
	display : table;
	clear : both;
}
#l-content .top-concept .concept-why .why-img .img-l {
	float : left;
	width : 117px;
}
@media screen and (min-width: 768px), print {
	#l-content .top-concept .concept-why .why-img .img-l {
		width : 146px;
		position : absolute;
		top : 50%;
		margin-top : -83px;
		left : 15px;
	}
}
#l-content .top-concept .concept-why .why-img .img-r {
	float : right;
	width : 117px;
}
@media screen and (min-width: 768px), print {
	#l-content .top-concept .concept-why .why-img .img-r {
		width : 146px;
		position : absolute;
		top : 50%;
		margin-top : -83px;
		right : 15px;
	}
}

#l-content .top-howto {
	background : url(../images/ebifry_pattern_sp.jpg) top center repeat;
	background-size : 200px 120px;
	margin-top : 40px;
	padding : 40px 15px;
}
@media screen and (min-width: 768px), print {
	#l-content .top-howto {
		margin-top : 80px;
		background : url(../images/ebifry_pattern.jpg) top center repeat;
		padding : 77px 0;
	}
}
#l-content .top-howto h2 {
	text-align : center;
	font-weight : bold;
	line-height : 1.5;
	font-size : 18px;
	font-size : 18px;
	font-size : 1.8rem;
	padding-top : 35px;
	background : url(../images/icon_howto.png) top center no-repeat;
	background-size : 53px 30px;
}
@media screen and (min-width: 768px), print {
	#l-content .top-howto h2 {
		font-size : 28px;
		font-size : 2.8rem;
		background-size : 70px 40px;
		padding-top : 50px;
	}
}
@media screen and (min-width: 768px), print {
	#l-content .top-howto .howto-step {
		*zoom : 1;
		width : 960px;
		margin : 60px auto 0;
	}
	#l-content .top-howto .howto-step:after {
		content : ' ';
		display : table;
		clear : both;
	}
}
#l-content .top-howto .howto-step li {
	width : 290px;
	margin : 50px auto 0;
}
@media screen and (min-width: 768px), print {
	#l-content .top-howto .howto-step li {
		width : 300px;
		float : left;
		margin : 0 30px 0 0;
	}
	#l-content .top-howto .howto-step li:nth-child(3n) {
		margin-right : 0;
	}
}
#l-content .top-howto .howto-step li dl {
	position : relative;
}
#l-content .top-howto .howto-step li dl dt {
	position : absolute;
	top : -30px;
	right : 0;
	background : #c4b893;
	width : 95px;
	height : 95px;
	border-radius : 50%;
	text-align : center;
	font-family : 'Fjalla One', sans-serif;
	color : #fff;
	font-size : 23px;
	font-size : 23px;
	font-size : 2.3rem;
	line-height : 90px;
	-webkit-transform : scale(0.5);
	    -ms-transform : scale(0.5);
	        transform : scale(0.5);
	-webkit-transition : all 0.3s ease;
	        transition : all 0.3s ease;
}
@media screen and (min-width: 768px), print {
	#l-content .top-howto .howto-step li dl dt {
		width : 100px;
		height : 100px;
		font-size : 24px;
		font-size : 2.4rem;
		line-height : 95px;
	}
}
#l-content .top-howto .howto-step li dl dt span {
	font-size : 34px;
	font-size : 34px;
	font-size : 3.4rem;
}
@media screen and (min-width: 768px), print {
	#l-content .top-howto .howto-step li dl dt span {
		font-size : 35px;
		font-size : 3.5rem;
	}
}
#l-content .top-howto .howto-step li dl dd {
	width : 250px;
}
@media screen and (min-width: 768px), print {
	#l-content .top-howto .howto-step li dl dd {
		width : 260px;
	}
}
#l-content .top-howto .howto-step li p {
	text-align : center;
	margin-top : 10px;
}
#l-content .top-howto .howto-step li.delay-show dl dt {
	-webkit-transform : scale(1);
	    -ms-transform : scale(1);
	        transform : scale(1);
}

#l-content .top-lineup {
	margin : 40px 15px 0;
}
@media screen and (min-width: 768px), print {
	#l-content .top-lineup {
		margin : 0;
		background : url(../images/lineup_bgimg.png) top center no-repeat;
		padding-top : 80px;
	}
}
#l-content .top-lineup h2 {
	text-align : center;
	font-weight : bold;
	line-height : 1.5;
	font-size : 18px;
	font-size : 18px;
	font-size : 1.8rem;
	padding-top : 35px;
	background : url(../images/icon_lineup.png) top center no-repeat;
	background-size : 32px 30px;
}
@media screen and (min-width: 768px), print {
	#l-content .top-lineup h2 {
		font-size : 28px;
		font-size : 2.8rem;
		background-size : 43px 40px;
		padding-top : 50px;
		width : 960px;
		margin : 0 auto;
	}
}
#l-content .top-lineup p {
	margin-top : 10px;
	text-align : center;
}
@media screen and (min-width: 768px), print {
	#l-content .top-lineup p {
		width : 960px;
		margin : 20px auto 0;
	}
}
#l-content .top-lineup .lineup-box {
	background : url(../images/lineup_bg_sp.png) top center repeat-y;
	background-size : 290px 225px;
	width : 290px;
	margin : 80px auto 0;
	padding : 7px 25px 15px;
	position : relative;
}
@media screen and (min-width: 768px), print {
	#l-content .top-lineup .lineup-box {
		background : url(../images/lineup_bg_pc.png) top center repeat-y;
		width : 1012px;
		margin : 235px auto 0;
		padding : 0 0 80px;
	}
}
#l-content .top-lineup .lineup-box:before {
	content : '';
	display : inline-block;
	position : absolute;
	top : -60px;
	left : 0;
	right : 0;
	background : url(../images/lineup_bgt_sp.png) top center no-repeat;
	background-size : 290px 60px;
	height : 60px;
}
@media screen and (min-width: 768px), print {
	#l-content .top-lineup .lineup-box:before {
		background : url(../images/lineup_bgt_pc.png) top center no-repeat;
		top : -200px;
		height : 200px;
	}
}
#l-content .top-lineup .lineup-box .box-img {
	width : 240px;
	margin : 0 auto;
}
@media screen and (min-width: 768px), print {
	#l-content .top-lineup .lineup-box .box-img {
		width : 582px;
		height : 526px;
		background : url(../images/lineup_img_pc.png) top center no-repeat;
	}
	#l-content .top-lineup .lineup-box .box-img img {
		display : none;
	}
}
#l-content .top-lineup .lineup-box .box-paper {
	width : 240px;
	margin : 30px auto 0;
}
@media screen and (min-width: 768px), print {
	#l-content .top-lineup .lineup-box .box-paper {
		width : 840px;
		margin-top : 40px;
		*zoom : 1;
	}
	#l-content .top-lineup .lineup-box .box-paper:after {
		content : ' ';
		display : table;
		clear : both;
	}
}
#l-content .top-lineup .lineup-box .box-paper li {
	background : #c8e0de;
	position : relative;
	margin-bottom : 22px;
	padding : 15px 20px 0;
}
@media screen and (min-width: 768px), print {
	#l-content .top-lineup .lineup-box .box-paper li {
		width : 260px;
		float : left;
		margin : 0 10px 25px;
		padding : 20px 30px 0;
	}
}
#l-content .top-lineup .lineup-box .box-paper li:after {
	content : '';
	display : inline-block;
	position : absolute;
	bottom : -22px;
	left : 0;
	right : 0;
	height : 22px;
	background : url(../images/paper_bgb_sp.png) bottom center no-repeat;
	background-size : 240px 22px;
}
@media screen and (min-width: 768px), print {
	#l-content .top-lineup .lineup-box .box-paper li:after {
		bottom : -25px;
		height : 25px;
		background : url(../images/paper_bgb_pc.png) bottom center no-repeat;
	}
}
#l-content .top-lineup .lineup-box .box-paper li dl dt {
	font-weight : bold;
	text-align : center;
	font-size : 16px;
	font-size : 16px;
	font-size : 1.6rem;
}
@media screen and (min-width: 768px), print {
	#l-content .top-lineup .lineup-box .box-paper li dl dt {
		font-size : 20px;
		font-size : 2rem;
	}
}
#l-content .top-lineup .lineup-box .box-paper li dl dd {
	margin-top : 5px;
}
@media screen and (min-width: 768px), print {
	#l-content .top-lineup .lineup-box .box-paper li dl dd {
		margin-top : 10px;
		font-size : 14px;
		font-size : 1.4rem;
	}
}
#l-content .top-lineup .lineup-box .box-paper li + li {
	margin-top : 45px;
}
@media screen and (min-width: 768px), print {
	#l-content .top-lineup .lineup-box .box-paper li + li {
		margin-top : 0;
	}
}

@media screen and (min-width: 768px), print {
	#l-content .top-infoarea {
		background : -webkit-gradient(linear, left top, right top, from(#e9d7d3), color-stop(50%, #e9d7d3), color-stop(50%, #edeade), to(#edeade));
		background : -webkit-linear-gradient(left, #e9d7d3 0%, #e9d7d3 50%, #edeade 50%, #edeade 100%);
		background :         linear-gradient(90deg, #e9d7d3 0%, #e9d7d3 50%, #edeade 50%, #edeade 100%);
	}
}

@media screen and (min-width: 768px), print {
	#l-content .top-infoarea .infoarea-cnt {
		width : 960px;
		margin : 0 auto;
		padding : 80px 0;
		*zoom : 1;
	}
	#l-content .top-infoarea .infoarea-cnt:after {
		content : ' ';
		display : table;
		clear : both;
	}
}

#l-content .top-infoarea .top-info {
	background : #e9d7d3;
	padding : 40px 15px;
}
@media screen and (min-width: 768px), print {
	#l-content .top-infoarea .top-info {
		width : 440px;
		float : left;
		padding : 0;
	}
}
#l-content .top-infoarea .top-info h2 {
	text-align : center;
	font-weight : bold;
	line-height : 1.5;
	font-size : 18px;
	font-size : 18px;
	font-size : 1.8rem;
	margin-bottom : 15px;
}
@media screen and (min-width: 768px), print {
	#l-content .top-infoarea .top-info h2 {
		font-size : 24px;
		font-size : 2.4rem;
		margin-bottom : 35px;
	}
}
@media screen and (min-width: 768px), print {
	#l-content .top-infoarea .top-info .fb_iframe_widget {
		width : 440px;
	}
}
#l-content .top-infoarea .top-info .fb_iframe_widget span {
	display : block !important;
	margin : 0 auto !important;
}

#l-content .top-infoarea .top-share {
	background : #edeade;
	padding : 40px 15px;
}
@media screen and (min-width: 768px), print {
	#l-content .top-infoarea .top-share {
		width : 440px;
		float : right;
		padding : 0;
	}
}
#l-content .top-infoarea .top-share h2 {
	text-align : center;
	font-weight : bold;
	line-height : 1.5;
	font-size : 18px;
	font-size : 18px;
	font-size : 1.8rem;
	margin-bottom : 15px;
}
@media screen and (min-width: 768px), print {
	#l-content .top-infoarea .top-share h2 {
		font-size : 24px;
		font-size : 2.4rem;
		margin-bottom : 30px;
	}
}
#l-content .top-infoarea .top-share p {
	text-align : center;
}
#l-content .top-infoarea .top-share .share-tags {
	margin-top : 10px;
	border : 2px dotted #933523;
	background : #fff;
	border-radius : 10px;
	color : #933523;
	font-weight : bold;
	text-align : center;
	padding : 10px;
	font-size : 15px;
	font-size : 15px;
	font-size : 1.5rem;
	font-family : 'Fjalla One', sans-serif;
}
@media screen and (min-width: 768px), print {
	#l-content .top-infoarea .top-share .share-tags {
		font-size : 22px;
		font-size : 2.2rem;
		width : 300px;
		margin : 20px auto 0;
		line-height : 1.7;
		padding : 15px 10px;
	}
}
#l-content .top-infoarea .top-share .share-btns {
	width : 215px;
	margin : 20px auto 0;
}
@media screen and (min-width: 768px), print {
	#l-content .top-infoarea .top-share .share-btns {
		width : 300px;
		margin : 40px auto 0;
	}
}
#l-content .top-infoarea .top-share .share-btns li {
	margin-top : 15px;
}
@media screen and (min-width: 768px), print {
	#l-content .top-infoarea .top-share .share-btns li {
		margin-top : 30px;
	}
}
#l-content .top-infoarea .top-share .share-btns li a {
	display : block;
	font-family : 'Fjalla One', sans-serif;
	color : #fff;
	font-size : 15px;
	font-size : 15px;
	font-size : 1.5rem;
	padding : 10px 10px 10px 50px;
	text-align : center;
	border-radius : 25px;
	overflow : hidden;
	position : relative;
}
#l-content .top-infoarea .top-share .share-btns li a:before {
	content : '';
	display : inline-block;
	width : 50px;
	height : 50px;
	border-radius : 25px;
	position : absolute;
	top : 0;
	left : 0;
}
@media screen and (min-width: 768px), print {
	#l-content .top-infoarea .top-share .share-btns li a:before {
		-webkit-transition : all 0.3s ease;
		        transition : all 0.3s ease;
	}
}
#l-content .top-infoarea .top-share .share-btns li a:after {
	content : '';
	display : inline-block;
	width : 20px;
	height : 17px;
	position : absolute;
	top : 50%;
	margin-top : -8px;
	left : 15px;
}
#l-content .top-infoarea .top-share .share-btns li a.btn-fb {
	background : #4f6aa3;
}
#l-content .top-infoarea .top-share .share-btns li a.btn-fb:before {
	background : #3b5998;
}
#l-content .top-infoarea .top-share .share-btns li a.btn-fb:after {
	background : url(../images/icon_fb.png) no-repeat;
	background-size : 20px 17px;
}
#l-content .top-infoarea .top-share .share-btns li a.btn-tw {
	background : #33bdf1;
}
#l-content .top-infoarea .top-share .share-btns li a.btn-tw:before {
	background : #00aced;
}
#l-content .top-infoarea .top-share .share-btns li a.btn-tw:after {
	background : url(../images/icon_tw.png) no-repeat;
	background-size : 20px 17px;
}
#l-content .top-infoarea .top-share .share-btns li a span {
	display : inline-block;
	position : relative;
}
@media screen and (min-width: 768px), print {
	#l-content .top-infoarea .top-share .share-btns li a:hover:before {
		width : 100%;
	}
}

#l-content .top-organizer {
	margin : 40px 15px 0;
}
@media screen and (min-width: 768px), print {
	#l-content .top-organizer {
		width : 960px;
		margin : 80px auto 0;
		*zoom : 1;
	}
	#l-content .top-organizer:after {
		content : ' ';
		display : table;
		clear : both;
	}
}
#l-content .top-organizer h2 {
	text-align : center;
	font-weight : bold;
	line-height : 1.5;
	font-size : 18px;
	font-size : 18px;
	font-size : 1.8rem;
}
@media screen and (min-width: 768px), print {
	#l-content .top-organizer h2 {
		font-size : 24px;
		font-size : 2.4rem;
	}
}
#l-content .top-organizer .organizer-logo {
	margin-top : 17px;
	text-align : center;
}
@media screen and (min-width: 768px), print {
	#l-content .top-organizer .organizer-logo {
		margin-top : 40px;
		width : 450px;
		height : 135px;
		float : left;
		background : url(../images/logo_organizer_pc.png) no-repeat;
	}
}
#l-content .top-organizer .organizer-logo img {
	width : 290px;
}
@media screen and (min-width: 768px), print {
	#l-content .top-organizer .organizer-logo img {
		display : none;
	}
}
#l-content .top-organizer .organizer-info {
	margin-top : 15px;
}
@media screen and (min-width: 768px), print {
	#l-content .top-organizer .organizer-info {
		margin-top : 40px;
		width : 450px;
		float : right;
	}
}
#l-content .top-organizer .organizer-info p {
	text-align : center;
}
@media screen and (min-width: 768px), print {
	#l-content .top-organizer .organizer-info p {
		text-align : left;
	}
}
#l-content .top-organizer .organizer-info .info-mail {
	margin-top : 15px;
	border : 1px solid #404040;
	background : #fff;
	text-align : center;
	padding : 5px;
}

#l-content .top-associates {
	margin : 40px 15px 0;
}
@media screen and (min-width: 768px), print {
	#l-content .top-associates {
		width : 960px;
		margin : 80px auto 0;
		*zoom : 1;
	}
	#l-content .top-associates:after {
		content : ' ';
		display : table;
		clear : both;
	}
}
#l-content .top-associates h2 {
	text-align : center;
	font-weight : bold;
	line-height : 1.5;
	font-size : 18px;
	font-size : 18px;
	font-size : 1.8rem;
}
@media screen and (min-width: 768px), print {
	#l-content .top-associates h2 {
		font-size : 24px;
		font-size : 2.4rem;
	}
}
#l-content .top-associates ul {
	letter-spacing : -0.4em;
	margin : 10px -5px 0;
}
#l-content .top-associates ul > li {
	display : inline-block;
	letter-spacing : normal;
	vertical-align : top;
}
@media screen and (min-width: 768px), print {
	#l-content .top-associates ul {
		margin : 40px -10px 0;
		text-align : center;
	}
}
#l-content .top-associates ul li {
	width : 50%;
	padding : 0 5px;
	margin-top : 10px;
}
@media screen and (min-width: 768px), print {
	#l-content .top-associates ul li {
		width : 25%;
		padding : 0 10px;
		margin-top : 0;
	}
}

/* footer style */
#l-footer {
	background : #404040;
	margin-top : 40px;
	padding : 10px 15px;
	color : #fff;
}
@media screen and (min-width: 768px), print {
	#l-footer {
		margin-top : 80px;
		padding : 15px 0;
	}
}
@media screen and (min-width: 768px), print {
	#l-footer .footer-inner {
		width : 830px;
		margin : 0 auto;
		*zoom : 1;
	}
	#l-footer .footer-inner:after {
		content : ' ';
		display : table;
		clear : both;
	}
}
#l-footer .footer-inner .footer-supported {
	text-align : center;
	font-family : 'Fjalla One', sans-serif;
	font-size : 10px;
	font-size : 10px;
	font-size : 1rem;
	vertical-align : middle;
}
@media screen and (min-width: 768px), print {
	#l-footer .footer-inner .footer-supported {
		width : 470px;
		float : left;
		text-align : left;
		font-size : 14px;
		font-size : 1.4rem;
	}
}
#l-footer .footer-inner .footer-supported img {
	margin-left : 5px;
}
@media screen and (min-width: 768px), print {
	#l-footer .footer-inner .footer-supported img {
		margin-left : 10px;
	}
}
#l-footer .footer-inner .footer-supported .logo-nagoya {
	width : 103px;
}
@media screen and (min-width: 768px), print {
	#l-footer .footer-inner .footer-supported .logo-nagoya {
		width : 172px;
	}
}
#l-footer .footer-inner .footer-supported .logo-hackathon {
	width : 101px;
}
@media screen and (min-width: 768px), print {
	#l-footer .footer-inner .footer-supported .logo-hackathon {
		width : 170px;
	}
}
#l-footer .footer-inner .footer-copy {
	margin-top : 10px;
	text-align : center;
	font-size : 10px;
	font-size : 10px;
	font-size : 1rem;
}
@media screen and (min-width: 768px), print {
	#l-footer .footer-inner .footer-copy {
		margin-top : 2px;
		float : right;
		font-size : 12px;
		font-size : 1.2rem;
	}
}
#l-footer .footer-ptop {
	display : none;
}
@media screen and (min-width: 768px), print {
	#l-footer .footer-ptop {
		position : fixed;
		bottom : 90px;
		right : 60px;
	}
}

.txt-marker-pk {
	background : -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #fbe7e7));
	background : -webkit-linear-gradient(transparent 60%, #fbe7e7 60%);
	background :         linear-gradient(transparent 60%, #fbe7e7 60%);
}

[data-delay='delay'] {
	opacity : 0;
	-ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=0)';
	-webkit-transition : all 0.3s ease;
	        transition : all 0.3s ease;
}
[data-delay='delay'].delay-show {
	opacity : 1;
	-ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=100)';
}

/* print style */
@media print {
	html {
		background : none;
	}
	body {
		padding : 0;
		background : none;
	}
	/* for IE7 */
	*:first-child + html body {
		zoom : 67%;
	}
}
