
@import url('https://fonts.googleapis.com/css?family=Open+Sans:800');

@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;
}

.arc-top{
	text-align: right;
	background-color: #e8e9ea;
	padding: 5px;
}
.arc-top a{
	color: #000;
	padding: 10px;
}
@media screen and (min-width: 768px) {
	.arc-top a{
		margin-right: 30px;
	}
}

/* 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;
}

/**
 * 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 {
	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'] {
	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 */
	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;
}

/*! 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;
}

img {
	vertical-align : bottom;
}

*, *:before, *:after {
	box-sizing : border-box;
	word-wrap : break-word;
	overflow-wrap : break-word;
}

.w1p {
	width : 10% !important;
}

.w2p {
	width : 20% !important;
}

.w3p {
	width : 30% !important;
}

.w4p {
	width : 40% !important;
}

.w5p {
	width : 50% !important;
}

.w6p {
	width : 60% !important;
}

.w7p {
	width : 70% !important;
}

.w8p {
	width : 80% !important;
}

.w9p {
	width : 90% !important;
}

.w10p {
	width : 100% !important;
}

.mats {
	margin-top : 10px !important;
}

@media screen and (min-width: 768px) {
	.mats {
		margin-top : 20px !important;
	}
}

.matm {
	margin-top : 20px !important;
}

@media screen and (min-width: 768px) {
	.matm {
		margin-top : 40px !important;
	}
}

.matl {
	margin-top : 40px !important;
}

@media screen and (min-width: 768px) {
	.matl {
		margin-top : 80px !important;
	}
}

.mat0 {
	margin-top : 0 !important;
}

.tac {
	text-align : center !important;
}

.tar {
	text-align : right !important;
}

.vam {
	vertical-align : middle !important;
}

.fw {
	font-weight : bold !important;
}

.cred {
	color : #c00 !important;
}

@media screen and (max-width: 767px) {
	.hide-sp {
		display : none !important;
	}
}

@media screen and (min-width: 768px) and (max-width: 960px) {
	.hide-tab {
		display : none !important;
	}
}

@media screen and (min-width: 961px) {
	.hide-pc {
		display : none !important;
	}
}

/*
  module: m-box-fixed
  - 固定幅・中央揃えのボックス
*/
[data-fixed] {
	position : relative;
	padding : 0 15px;
	z-index : 1;
}

[data-fixed] > *:first-child {
	margin-top : 0;
}

@media screen and (min-width: 768px) {
	[data-fixed] {
		width : auto;
		max-width : 990px;
		margin : 0 auto;
	}
}

@media screen and (min-width: 768px) {
	[data-bg] {
		width : auto;
		max-width : 990px;
		margin : 0 auto;
	}
}

.m-box-bgcw {
	background-color : #fff;
	padding : 20px 15px;
}

@media screen and (min-width: 768px) {
	.m-box-bgcw {
		padding : 40px 30px;
	}
}

.m-box-bgcw > *:first-child {
	margin-top : 0 !important;
}

.m-box-bgcw > *:first-child[data-delay] > *:first-child {
	margin-top : 0 !important;
}

.m-box-item {
	margin-top : 15px;
}

@media screen and (min-width: 768px) {
	.m-box-item {
		margin-top : 20px;
	}
}

.m-box-btn {
	padding : 0 12px;
	margin-top : 35px;
}

@media screen and (min-width: 768px) {
	.m-box-btn {
		padding : 0;
		margin-top : 40px;
		text-align : center;
	}
}

.m-box-accordion {
	margin-top : 20px;
}

@media screen and (min-width: 768px) {
	.m-box-accordion {
		margin-top : 40px;
	}
}

.m-box-accordion .accordion-content .content-ttl {
	position : relative;
	padding : 12px 50px 12px 15px;
	border : 2px solid #80b742;
	background-color : #fff;
	color : #2e7038;
	font-size : 14px;
	font-size : 1.4rem;
	font-weight : bold;
}

@media screen and (min-width: 768px) {
	.m-box-accordion .accordion-content .content-ttl {
		padding : 15px 50px 15px 50px;
		text-align : center;
		font-size : 2.0rem;
	}
}

.m-box-accordion .accordion-content .content-ttl:before {
	content : '';
	position : absolute;
	top : 0;
	bottom : 0;
	right : 15px;
	margin : auto 0;
	width : 20px;
	height : 2px;
	background : #80b742;
}

@media screen and (min-width: 768px) {
	.m-box-accordion .accordion-content .content-ttl:before {
		right : 30px;
	}
}

.m-box-accordion .accordion-content .content-ttl:after {
	content : '';
	position : absolute;
	top : 0;
	bottom : 0;
	right : 15px;
	margin : auto 0;
	width : 20px;
	height : 2px;
	background : #80b742;
	transform : rotate(90deg);
	transition : all 0.3s ease-out;
}

@media screen and (min-width: 768px) {
	.m-box-accordion .accordion-content .content-ttl:after {
		right : 30px;
	}
}

@media screen and (min-width: 961px) {
	.m-box-accordion .accordion-content .content-ttl:hover {
		cursor : pointer;
	}
}

.m-box-accordion .accordion-content .content-ttl.open:after {
	transform : none;
}

.m-box-accordion .accordion-content .content-curric {
	display : none;
}

.m-box-accordion .accordion-content .content-curric .curric-wrap .curric-ttl {
	margin : 20px 0 10px;
	text-align : center;
	font-size : 16px;
	font-size : 1.6rem;
	font-weight : bold;
	line-height : 1;
	color : #2e7038;
}

@media screen and (min-width: 768px) {
	.m-box-accordion .accordion-content .content-curric .curric-wrap .curric-ttl {
		margin : 40px 0 20px;
		font-size : 2.0rem;
	}
}

.m-box-accordion .accordion-content .content-curric .curric-wrap .curric-ttl + * {
	margin-top : 0;
}

#day .m-box-accordion .accordion-content .content-ttl {
	border : 2px solid #eb5f5f;
	color : #a81f24;
}

#day .m-box-accordion .accordion-content .content-ttl:before {
	background : #eb5f5f;
}

#day .m-box-accordion .accordion-content .content-ttl:after {
	background : #eb5f5f;
}

#day .m-box-accordion .accordion-content .content-curric .curric-wrap .curric-ttl {
	color : #a81f24;
}

.m-box-info {
	background : #eee;
	padding : 20px 15px;
}

@media screen and (min-width: 768px) {
	.m-box-info {
		padding : 40px 30px;
	}
}

.m-box-info .info-box {
	display : table;
	padding-top : 10px;
	width : 100%;
	border-top : solid 1px #ccc;
}

.m-box-info .info-box .box-ttl {
	display : table-cell;
	width : 85px;
	padding-right : 10px;
	font-weight : bold;
}

@media screen and (min-width: 768px) {
	.m-box-info .info-box .box-ttl {
		width : 200px;
		padding-left : 30px;
		padding-right : 50px;
	}
}

.m-box-info .info-box .box-txt {
	display : table-cell;
	width : calc(100% - 85px);
	vertical-align : top;
}

@media screen and (min-width: 768px) {
	.m-box-info .info-box .box-txt {
		width : calc(100% - 200px);
	}
}

.m-box-info .info-box .box-txt > *:first-child {
	margin-top : 0;
}

.m-box-info .info-box + .info-box {
	margin-top : 10px;
}

.m-box-info .info-box.last-border {
	border-bottom : solid 1px #ccc;
	padding-bottom : 10px;
}

.m-box-info .info-att {
	border-top : solid 1px #ccc;
	padding-top : 10px;
	margin-top : 10px;
}

.m-box-info .info-att > *:first-child {
	margin-top : 0;
}

#about .m-box-info {
	background-color : #d5edee;
}

#about .m-box-info .info-box, #about .m-box-info .info-att {
	border-top : solid 1px #c4d7d8;
}

#hackathon .m-box-info {
	background-color : #fff;
}

#hackathon .m-box-info .info-box, #hackathon .m-box-info .info-att {
	border-top : solid 1px #e1e1e1;
}

#program .m-box-info {
	background-color : #ddeccc;
}

#program .m-box-info .info-box, #program .m-box-info .info-att {
	border-top : solid 1px #cddabf;
}

#day .m-box-info {
	background-color : #fff;
}

#day .m-box-info .info-box, #day .m-box-info .info-att {
	border-top : solid 1px #e1e1e1;
}

.m-box-white {
	background-color : #fff;
	padding : 20px 15px;
}

@media screen and (min-width: 768px) {
	.m-box-white {
		padding : 35px 60px;
	}
}

.m-box-white > *:first-child {
	margin-top : 0;
}

.m-box-col {
	*zoom : 1;
	margin : 30px 0 0;
}

.m-box-col:after {
	content : ' ';
	display : table;
	clear : both;
}

@media screen and (min-width: 768px) {
	.m-box-col {
		margin : 60px -15px 0;
	}
}

.m-box-col > *:first-child {
	margin-top : 0;
}

.m-box-col .col-left, .m-box-col .col-right {
	margin-top : 10px;
}

@media screen and (min-width: 768px) {
	.m-box-col .col-left, .m-box-col .col-right {
		padding : 0 15px;
		margin : 0;
		width : 50%;
	}
}

.m-box-col .col-left > *:first-child, .m-box-col .col-right > *:first-child {
	margin-top : 0;
}

@media screen and (min-width: 768px) {
	.m-box-col .col-left {
		float : left;
	}
}

@media screen and (min-width: 768px) {
	.m-box-col .col-right {
		float : right;
	}
}

.m-box-col2 {
	*zoom : 1;
	padding-top : 30px;
	margin : 20px 0 0;
}

.m-box-col2:after {
	content : ' ';
	display : table;
	clear : both;
}

@media screen and (min-width: 768px) {
	.m-box-col2 {
		padding-top : 25px;
		margin : 80px -15px 0;
	}
}

.m-box-col2 > *:first-child {
	margin-top : 0;
}

.m-box-col2 .col2-img, .m-box-col2 .col2-txt {
	margin-top : 10px;
}

@media screen and (min-width: 768px) {
	.m-box-col2 .col2-img, .m-box-col2 .col2-txt {
		padding : 0 15px;
		margin : 0;
	}
}

.m-box-col2 .col2-img > *:first-child, .m-box-col2 .col2-txt > *:first-child {
	margin-top : 0;
}

.m-box-col2 .col2-img {
	margin-top : 0;
	text-align : center;
}

@media screen and (min-width: 768px) {
	.m-box-col2 .col2-img {
		float : left;
		width : calc(100% / 3);
	}
}

@media screen and (min-width: 768px) {
	.m-box-col2 .col2-txt {
		float : right;
		width : 66%;
	}
}

@media screen and (min-width: 768px) {
	.m-box-col2 .col2-txt .m-txt-subttl2 {
		margin-top : -10px;
	}
}

.m-box-anchor {
	margin-top : 40px;
}

@media screen and (min-width: 768px) {
	.m-box-anchor {
		margin : 40px -15px 0;
		display : -ms-flexbox;
		display : flex;
	}
}

.m-box-anchor .anchor-item {
	margin-top : 20px;
	position : relative;
	text-align : center;
}

@media screen and (min-width: 768px) {
	.m-box-anchor .anchor-item {
		width : calc(100% / 3);
		padding : 0 15px;
		margin-top : 0;
	}
}

.m-box-anchor .anchor-item:first-child {
	margin-top : 0;
}

.m-box-anchor .anchor-item a {
	display : block;
	position : relative;
}

.m-box-anchor .anchor-item a:before {
	content : '';
	position : absolute;
	bottom : 6%;
	left : 0;
	right : 0;
	margin : auto;
	width : 27px;
	height : 15px;
	transition : all 0.2s ease-out 0.2s;
}

.m-box-anchor .anchor-item a:after {
	content : '';
	position : absolute;
	top : 0;
	bottom : 0;
	left : 0;
	right : 0;
	background-color : #ccc;
	opacity : 0.0;
	-ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=0)';
	transition : all 0.2s ease-out;
}

@media screen and (min-width: 961px) {
	.m-box-anchor .anchor-item a:hover:before {
		bottom : 4%;
	}
	.m-box-anchor .anchor-item a:hover:after {
		opacity : 0.3;
		-ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=30)';
	}
}

.m-box-anchor .anchor-item.nagoya-boost a:before {
	background : transparent url('../images/i_anc_nagoya_boost.png') center center no-repeat;
	background-size : 27px auto;
}

.m-box-anchor .anchor-item.nagoya-boost a:after {
	background-color : #d5edee;
}

.m-box-anchor .anchor-item.hackathon a:before {
	background : transparent url('../images/i_anc_hackathon.png') center center no-repeat;
	background-size : 27px auto;
}

.m-box-anchor .anchor-item.hackathon a:after {
	background-color : #fbedc5;
}

.m-box-anchor .anchor-item.program a:before {
	background : transparent url('../images/i_anc_program.png') center center no-repeat;
	background-size : 27px auto;
}

.m-box-anchor .anchor-item.program a:after {
	background-color : #ddeccc;
}

.m-box-anchor .anchor-item.day a:before {
	background : transparent url('../images/i_anc_day.png') center center no-repeat;
	background-size : 27px auto;
}

.m-box-anchor .anchor-item.day a:after {
	background-color : #f6d2c3;
}

.about-osusume {
	margin-top : 20px;
}

@media screen and (min-width: 768px) {
	.about-osusume {
		margin : 20px -15px 0;
		display : -ms-flexbox;
		display : flex;
	}
}

.about-osusume .osusume-item {
	margin-top : 20px;
}

@media screen and (min-width: 768px) {
	.about-osusume .osusume-item {
		padding : 0 15px;
		margin-top : 0;
		width : calc(100% / 3);
	}
}

.about-osusume .osusume-item:first-child {
	margin-top : 0;
}

.about-osusume .osusume-item .item-img {
	margin : auto;
	width : 190px;
	height : auto;
}

@media screen and (min-width: 768px) {
	.about-osusume .osusume-item .item-img {
		width : auto;
		height : auto;
	}
}

.about-osusume .osusume-item .item-txt {
	text-align : left;
	margin-top : 10px;
}

.about-osusume .osusume-item:first-child {
	margin-top : 0;
}

.m-box-prof {
	margin-top : 25px;
}

@media screen and (min-width: 768px) {
	.m-box-prof {
		margin-top : 50px;
	}
}

.m-box-prof .prof-wrapper {
	display : block;
}

@media screen and (min-width: 768px) {
	.m-box-prof .prof-wrapper {
		display : -ms-flexbox;
		display : flex;
	}
}

.m-box-prof .prof-wrapper .prof-img {
	width : 100%;
	text-align : center;
}

@media screen and (min-width: 768px) {
	.m-box-prof .prof-wrapper .prof-img {
		width : 144px;
	}
}

.m-box-prof .prof-wrapper .prof-img img {
	width : 144px;
}

.m-box-prof .prof-wrapper .prof-txt {
	width : 100%;
}

@media screen and (min-width: 768px) {
	.m-box-prof .prof-wrapper .prof-txt {
		width : calc( 100% - 144px);
		padding-left : 30px;
	}
}

@media screen and (min-width: 768px) {
	.m-box-prof .prof-wrapper .prof-txt > *:first-child {
		margin-top : 0;
	}
}

.m-box-youtube {
	display : block;
	position : relative;
	width : 100%;
	margin-top : 30px;
}

.m-box-youtube:before {
	content : '';
	display : block;
	padding-top : 56.5%;
}

.m-box-youtube > iframe {
	position : absolute;
	top : 0;
	left : 0;
	bottom : 0;
	right : 0;
	width : 100%;
	height : auto;
	min-height : 100%;
}

.m-box-img {
	display : -ms-inline-flexbox;
	display : inline-flex;
	-ms-flex-wrap : wrap;
	    flex-wrap : wrap;
	-ms-flex-pack : center;
	justify-content : center;
	-ms-flex-align : start;
	align-items : flex-start;
}

.m-box-img img {
	width : 100%;
	height : auto;
	margin-bottom : 5px;
}

@media screen and (min-width: 768px) {
	.m-box-img img {
		margin : 5px;
		width : 450px;
	}
}

.m-box-contents {
	padding-bottom : 20px;
}

@media screen and (min-width: 768px) {
	.m-box-contents {
		padding-bottom : 30px;
	}
}

/* This is a compiled file, you should be editing the file in the templates directory */
.pace {
	-webkit-pointer-events : none;
	        pointer-events : none;
	-webkit-user-select : none;
	   -moz-user-select : none;
	    -ms-user-select : none;
	        user-select : none;
	position : fixed;
	top : 0;
	left : 0;
	width : 100%;
	transform : translate3d(0, -50px, 0);
	transition : transform 0.5s ease-out;
}

.pace.pace-active {
	transform : translate3d(0, 0, 0);
}

.pace .pace-progress {
	display : block;
	position : fixed;
	z-index : 2000;
	top : 0;
	right : 100%;
	width : 100%;
	height : 10px;
	background : #29d;
	pointer-events : none;
}

[data-delay='fade'] {
	opacity : 0;
	-ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=0)';
}

[data-delay='fade'] > .m-txt-ttl {
	margin-top : 0;
}

.m-list-disc {
	margin-top : 10px;
}

@media screen and (min-width: 768px) {
	.m-list-disc {
		margin-top : 20px;
	}
}

.m-list-disc a {
	text-decoration : underline;
}

.m-list-disc > li {
	position : relative;
	margin-top : 5px;
	padding-left : 8px;
}

@media screen and (min-width: 768px) {
	.m-list-disc > li {
		margin-top : 4px;
		padding-left : 10px;
	}
}

.m-list-disc > li:first-child {
	margin-top : 0;
}

.m-list-disc > li:before {
	position : absolute;
	content : '';
	border-radius : 50%;
	background-color : #333;
	width : 3px;
	height : 3px;
	top : 0.8em;
	left : 0;
}

@media screen and (min-width: 768px) {
	.m-list-disc > li:before {
		top : 0.85em;
	}
}

.m-list-name {
	display : -ms-flexbox;
	display : flex;
}

.m-list-name .name-ttl {
	width : 70px;
	font-weight : bold;
}

@media screen and (min-width: 768px) {
	.m-list-name .name-ttl {
		width : 80px;
	}
}

.m-list-name .name-desc {
	padding-left : 5px;
	width : calc(100% - 70px);
}

@media screen and (min-width: 768px) {
	.m-list-name .name-desc {
		padding-left : 10px;
		width : calc(100% - 80px);
	}
}

.m-table-common {
	width : 100%;
	margin-top : 20px;
}

@media screen and (min-width: 768px) {
	.m-table-common {
		margin-top : 40px;
	}
}

.m-table-common a {
	text-decoration : underline;
	word-break : break-all;
}

.m-table-common tbody tr th, .m-table-common tbody tr td, .m-table-common thead tr th, .m-table-common thead tr td {
	padding : 13px 20px 14px;
	text-align : left;
	box-sizing : border-box;
	border : 2px solid #fff;
}

.m-table-common tbody tr th, .m-table-common thead tr th {
	background : #aaa;
	font-weight : bold;
	vertical-align : middle;
}

.m-table-common tbody tr td, .m-table-common thead tr td {
	background : #fff;
	vertical-align : top;
}

.m-table-common thead tr th {
	background : #999;
	color : #000;
	text-align : center;
}

@media screen and (min-width: 768px) {
	.m-table-common tbody tr td:first-child {
		padding-left : 70px;
	}
}

#program .m-table-common thead tr th {
	background-color : #bbd89a;
}

#program .m-table-common tbody tr td:nth-child(odd) {
	width : 50%;
}

@media screen and (min-width: 768px) {
	#program .m-table-common tbody tr td:nth-child(odd) {
		width : 33%;
	}
}

#program .m-table-common tbody tr td:nth-child(even) {
	width : 50%;
}

@media screen and (min-width: 768px) {
	#program .m-table-common tbody tr td:nth-child(even) {
		width : 66%;
	}
}

#program .m-table-common tbody tr:nth-child(odd) td {
	background : #f1f7ea;
}

#program .m-table-common tbody tr:nth-child(even) td {
	background : #eaf0eb;
}

#about .m-table-common tbody tr th {
	width : 212px;
	background-color : #d5edee;
	border : 2px solid #e1e1e1;
	text-align : center;
	font-size : 15px;
	font-size : 1.5rem;
}

@media screen and (min-width: 768px) {
	#about .m-table-common tbody tr th {
		width : 246px;
		font-size : 1.7rem;
	}
}

#about .m-table-common tbody tr th .team_name {
	font-weight : normal;
	font-size : 14px;
	font-size : 1.4rem;
}

@media screen and (min-width: 768px) {
	#about .m-table-common tbody tr th .team_name {
		font-size : 1.6rem;
	}
}

#about .m-table-common tbody tr td {
	border : 2px solid #e1e1e1;
	vertical-align : middle;
}

.m-table-common2 {
	width : 100%;
	margin-top : 20px;
}

@media screen and (min-width: 768px) {
	.m-table-common2 {
		margin-top : 40px;
	}
}

.m-table-common2 a {
	text-decoration : underline;
	word-break : break-all;
}

.m-table-common2 tbody tr th, .m-table-common2 tbody tr td, .m-table-common2 thead tr th, .m-table-common2 thead tr td {
	padding : 13px 20px 14px;
	text-align : left;
	box-sizing : border-box;
	border : 2px solid #fff;
}

.m-table-common2 tbody tr th, .m-table-common2 thead tr th {
	background : #aaa;
	font-weight : bold;
	vertical-align : middle;
}

.m-table-common2 tbody tr td, .m-table-common2 thead tr td {
	background : #fff;
	vertical-align : top;
}

.m-table-common2 tbody tr td .vam, .m-table-common2 thead tr td .vam {
	vertical-align : middle;
}

.m-table-common2 thead tr th {
	background : #999;
	color : #000;
	text-align : center;
}

#program .m-table-common2 thead tr th {
	background-color : #bbd89a;
}

#program .m-table-common2 tbody tr td:nth-child(1) {
	width : 24%;
}

#program .m-table-common2 tbody tr td:nth-child(2) {
	width : 58%;
}

#program .m-table-common2 tbody tr td:nth-child(3) {
	width : 18%;
}

#program .m-table-common2 tbody tr:nth-child(odd) td {
	background : #f1f7ea;
}

#program .m-table-common2 tbody tr:nth-child(even) td {
	background : #eaf0eb;
}

#about .m-table-common2 tbody tr th, #about .m-table-common2 tbody tr td, #about .m-table-common2 thead tr th, #about .m-table-common2 thead tr td {
	border : 2px solid #e1e1e1;
	vertical-align : middle;
}

#about .m-table-common2 thead tr th {
	background-color : #d5edee;
}

.m-table-common3 {
	width : 100%;
	margin-top : 20px;
}

@media screen and (min-width: 768px) {
	.m-table-common3 {
		margin-top : 40px;
	}
}

.m-table-common3 a {
	text-decoration : underline;
	word-break : break-all;
}

.m-table-common3 tbody tr th, .m-table-common3 tbody tr td, .m-table-common3 thead tr th, .m-table-common3 thead tr td {
	padding : 13px 20px 14px;
	text-align : left;
	box-sizing : border-box;
	border : solid 1px #e1e1e1;
}

.m-table-common3 tbody tr th, .m-table-common3 thead tr th {
	background : #aaa;
	font-weight : bold;
	vertical-align : middle;
}

.m-table-common3 tbody tr td, .m-table-common3 thead tr td {
	background : #fff;
	vertical-align : top;
}

.m-table-common3 tbody tr td .vam, .m-table-common3 thead tr td .vam {
	vertical-align : middle;
}

.m-table-common3 thead tr th {
	background : #999;
	color : #000;
	text-align : center;
}

#day .m-table-common3 thead tr th {
	background-color : #eb5f5f;
	color : #fff;
}

#day .m-table-common3 tbody tr td:nth-child(1) {
	width : 20%;
}

#day .m-table-common3 tbody tr td:nth-child(2) {
	width : 40%;
}

#day .m-table-common3 tbody tr td:nth-child(3) {
	width : 30%;
	font-size : 12px;
	font-size : 1.2rem;
}

@media screen and (min-width: 768px) {
	#day .m-table-common3 tbody tr td:nth-child(3) {
		font-size : 1.4rem;
	}
}

#day .m-table-common3 tbody tr td .team-logo {
	display : inline-block;
	padding : 10px;
	border : solid 1px #e1e1e1;
}

@media screen and (min-width: 768px) {
	#day .m-table-common3 tbody tr td .team-logo {
		padding : 20px;
	}
}

#day .m-table-common3 tbody tr td .team-logo img {
	width : 106px;
}

@media screen and (min-width: 768px) {
	#day .m-table-common3 tbody tr td .team-logo img {
		width : 212px;
	}
}

.m-table-scroll {
	position : relative;
	margin-top : 40px;
}

.m-table-scroll .scroll-mark {
	display : block;
	position : absolute;
	top : -20px;
	right : 30px;
}

.m-table-scroll .scroll-mark span {
	position : relative;
	display : block;
	width : 66px;
	height : 7px;
	vertical-align : middle;
	text-align : center;
	background-color : #2a74a9;
}

.m-table-scroll .scroll-mark span:before {
	content : '';
	position : absolute;
	top : 50%;
	left : -12px;
	margin-top : -8px;
	width : 0;
	height : 0;
	border-style : solid;
	border-width : 8px 13.0px 8px 0;
	border-color : transparent #2a74a9 transparent transparent;
}

.m-table-scroll .scroll-mark span:after {
	content : '';
	position : absolute;
	top : 50%;
	right : -12px;
	margin-top : -8px;
	width : 0;
	height : 0;
	border-style : solid;
	border-width : 8px 0 8px 13.0px;
	border-color : transparent transparent transparent #2a74a9;
}

.m-table-scroll .scroll-wrap {
	overflow-x : scroll;
	padding-bottom : 25px;
}

.m-table-scroll .scroll-wrap table {
	margin-top : 0;
	min-width : 960px;
}

.m-table-scroll .scroll-wrap::-webkit-scrollbar {
	width : 15px;
	height : 8px;
}

.m-table-scroll .scroll-wrap::-webkit-scrollbar-thumb {
	background : #2a74a9;
	border-radius : 8px;
}

.m-table-scroll .scroll-wrap::-webkit-scrollbar-track-piece:start {
	background : #d5edee;
}

.m-table-scroll .scroll-wrap::-webkit-scrollbar-track-piece:end {
	background : #d5edee;
}

#hackathon .m-table-scroll .scroll-mark span {
	background-color : #dd4a11;
}

#hackathon .m-table-scroll .scroll-mark span:before {
	content : '';
	position : absolute;
	top : 50%;
	left : -12px;
	margin-top : -8px;
	width : 0;
	height : 0;
	border-style : solid;
	border-width : 8px 13.0px 8px 0;
	border-color : transparent #dd4a11 transparent transparent;
}

#hackathon .m-table-scroll .scroll-mark span:after {
	content : '';
	position : absolute;
	top : 50%;
	right : -12px;
	margin-top : -8px;
	width : 0;
	height : 0;
	border-style : solid;
	border-width : 8px 0 8px 13.0px;
	border-color : transparent transparent transparent #dd4a11;
}

#hackathon .m-table-scroll .scroll-wrap::-webkit-scrollbar {
	width : 15px;
	height : 8px;
}

#hackathon .m-table-scroll .scroll-wrap::-webkit-scrollbar-thumb {
	background : #dd4a11;
	border-radius : 8px;
}

#hackathon .m-table-scroll .scroll-wrap::-webkit-scrollbar-track-piece:start {
	background : #fbedc5;
}

#hackathon .m-table-scroll .scroll-wrap::-webkit-scrollbar-track-piece:end {
	background : #fbedc5;
}

#day .m-table-scroll .scroll-mark span {
	background-color : #a81f24;
}

#day .m-table-scroll .scroll-mark span:before {
	content : '';
	position : absolute;
	top : 50%;
	left : -12px;
	margin-top : -8px;
	width : 0;
	height : 0;
	border-style : solid;
	border-width : 8px 13.0px 8px 0;
	border-color : transparent #a81f24 transparent transparent;
}

#day .m-table-scroll .scroll-mark span:after {
	content : '';
	position : absolute;
	top : 50%;
	right : -12px;
	margin-top : -8px;
	width : 0;
	height : 0;
	border-style : solid;
	border-width : 8px 0 8px 13.0px;
	border-color : transparent transparent transparent #a81f24;
}

#day .m-table-scroll .scroll-wrap::-webkit-scrollbar {
	width : 15px;
	height : 8px;
}

#day .m-table-scroll .scroll-wrap::-webkit-scrollbar-thumb {
	background : #a81f24;
	border-radius : 8px;
}

#day .m-table-scroll .scroll-wrap::-webkit-scrollbar-track-piece:start {
	background : #f6d2c3;
}

#day .m-table-scroll .scroll-wrap::-webkit-scrollbar-track-piece:end {
	background : #f6d2c3;
}

.m-txt-p {
	margin-top : 1em;
}

.m-txt-p > a {
	font-weight : bold;
}

.m-txt-indent {
	margin-top : 1em;
	padding-left : 1em;
	text-indent : -1em;
}

.m-txt-indent + .m-txt-indent {
	margin-top : 0;
}

.m-txt-indent > a {
	font-weight : bold;
}

.m-txt-ttl {
	position : relative;
	padding-top : 30px;
	margin : 30px 0 30px;
	text-align : center;
	font-size : 22px;
	font-size : 2.2rem;
	font-weight : bold;
	line-height : 1;
}

@media screen and (min-width: 768px) and (max-width: 960px) {
	.m-txt-ttl {
		padding-top : 60px;
		margin : 60px 0 60px;
		font-size : 4.2rem;
	}
}

@media screen and (min-width: 961px) {
	.m-txt-ttl {
		padding-top : 60px;
		margin : 60px 0 60px;
		font-size : 4.8rem;
	}
}

.m-txt-ttl:after {
	content : '';
	position : absolute;
	top : 0;
	left : 0;
	right : 0;
	margin : auto;
	width : 2px;
	height : 20px;
	background-color : #aaa;
}

@media screen and (min-width: 768px) {
	.m-txt-ttl:after {
		width : 2px;
		height : 40px;
	}
}

#about .m-txt-ttl:after {
	background-color : #58b6bd;
}

#hackathon .m-txt-ttl:after {
	background-color : #efb717;
}

#program .m-txt-ttl:after {
	background-color : #77b235;
}

#day .m-txt-ttl:after {
	background-color : #eb5f5f;
}

#corp .m-txt-ttl:after {
	background-color : #58b6bd;
}

@media screen and (max-width: 767px) {
	#about .m-txt-ttl > img {
		width : 347px;
	}
	#hackathon .m-txt-ttl > img {
		width : 315px;
	}
	#program .m-txt-ttl > img {
		width : 347px;
	}
	#day .m-txt-ttl > img {
		width : 303px;
	}
}

.m-txt-subttl {
	margin : 40px 0 15px;
	text-align : center;
	font-size : 18px;
	font-size : 1.8rem;
	font-weight : bold;
	line-height : 1.5;
}

@media screen and (min-width: 768px) {
	.m-txt-subttl {
		margin : 70px 0 20px;
		font-size : 2.6rem;
	}
}

.m-txt-subttl > span {
	display : block;
	margin-top : 5px;
	font-size : 16px;
	font-size : 1.6rem;
}

.m-txt-subttl.has-line {
	position : relative;
	padding-bottom : 17px;
}

.m-txt-subttl.has-line:after {
	content : '';
	position : absolute;
	bottom : 0;
	left : 0;
	right : 0;
	margin : auto;
	width : 30px;
	height : 2px;
	background-color : #aaa;
}

#about .m-txt-subttl.has-line:after {
	background-color : #58b6bd;
}

#hackathon .m-txt-subttl.has-line:after {
	background-color : #efb717;
}

#program .m-txt-subttl.has-line:after {
	background-color : #77b235;
}

#day .m-txt-subttl.has-line:after {
	background-color : #eb5f5f;
}

.m-txt-subttl2 {
	margin : 20px 0 10px;
	font-size : 14px;
	font-size : 1.4rem;
	font-weight : bold;
	line-height : 2;
}

@media screen and (min-width: 768px) {
	.m-txt-subttl2 {
		margin : 40px 0 15px;
		font-size : 2.0rem;
	}
}

.m-txt-subttl2.has-line {
	position : relative;
	padding-bottom : 12px;
}

.m-txt-subttl2.has-line:after {
	content : '';
	position : absolute;
	bottom : 0;
	left : 0;
	width : 30px;
	height : 2px;
	background-color : #aaa;
}

@media screen and (min-width: 768px) {
	.m-txt-subttl2.has-line:after {
		width : 30px;
		height : 2px;
	}
}

#about .m-txt-subttl2.has-line:after {
	background-color : #58b6bd;
}

#hackathon .m-txt-subttl2.has-line:after {
	background-color : #efb717;
}

#program .m-txt-subttl2.has-line:after {
	background-color : #77b235;
}

#day .m-txt-subttl2.has-line:after {
	background-color : #eb5f5f;
}

#corp .m-txt-subttl2.has-line:after {
	background-color : #58b6bd;
}

.m-txt-subttl2.subttl2-center {
	text-align : center;
}

.m-txt-subttl2.subttl2-center:after {
	content : '';
	position : absolute;
	bottom : 0;
	left : 0;
	right : 0;
	margin : auto;
}

.m-txt-ttl, .m-txt-subttl, .m-txt-subttl2 {
	font-family : 'Open Sans', 'Hiragino Sans','ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W8', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', Helvetica, Arial, sans-serif;
	font-weight : 900;
	letter-spacing : 0.1em;
}

#about .m-txt-ttl, #about
.m-txt-subttl, #about
.m-txt-subttl2 {
	color : #2a74a9;
}

#hackathon .m-txt-ttl, #hackathon
.m-txt-subttl, #hackathon
.m-txt-subttl2 {
	color : #dd4a11;
}

#program .m-txt-ttl, #program
.m-txt-subttl, #program
.m-txt-subttl2 {
	color : #2e7038;
}

#day .m-txt-ttl, #day
.m-txt-subttl, #day
.m-txt-subttl2 {
	color : #a81f24;
}

#corp .m-txt-ttl, #corp
.m-txt-subttl, #corp
.m-txt-subttl2 {
	color : #2a74a9;
}

.m-btn-common {
	width : calc(100% - 5px);
	height : 50px;
	display : table;
	color : #fff !important;
	font-weight : bold;
	text-decoration : none;
	position : relative;
}

@media screen and (min-width: 768px) {
	.m-btn-common {
		margin : 0 auto;
		width : 460px;
		height : 80px;
		font-size : 2.0rem;
	}
}

.m-btn-common:before {
	content : '';
	position : absolute;
	top : 0;
	bottom : 0;
	left : calc(100% - 15px);
	margin : auto;
	width : 30px;
	height : 2px;
	background-color : #aaa;
	z-index : 1;
	transition : all 0.2s ease-in-out 0.3s;
}

@media screen and (min-width: 768px) {
	.m-btn-common:before {
		left : calc(100% - 35px);
		width : 70px;
	}
}

#about .m-btn-common:before {
	background-color : #58b6bd;
}

#hackathon .m-btn-common:before {
	background-color : #efb717;
}

#program .m-btn-common:before {
	background-color : #77b235;
}

#day .m-btn-common:before {
	background-color : #eb5f5f;
}

.m-btn-common > span {
	position : relative;
	padding : 12px 0;
	display : table-cell;
	vertical-align : middle;
	transform : skewX(-25deg);
	width : 100%;
	margin : 0 auto;
	text-align : center;
	letter-spacing : +0.15em;
	overflow : hidden;
	background-color : #2a74a9;
}

@media screen and (min-width: 768px) {
	.m-btn-common > span {
		padding : 20px 0;
	}
}

#about .m-btn-common > span {
	background-color : #2a74a9;
}

#hackathon .m-btn-common > span {
	background-color : #dd4a11;
}

#program .m-btn-common > span {
	background-color : #2e7038;
}

#day .m-btn-common > span {
	background-color : #a81f24;
}

#corp .m-btn-common > span {
	background-color : #2a74a9;
}

.m-btn-common > span:before {
	content : '';
	z-index : -1;
	position : absolute;
	width : 100%;
	height : 100%;
	top : 0;
	bottom : 0;
	left : -100%;
	transition : all 0.3s ease-in;
	background-color : #aaa;
}

#about .m-btn-common > span:before {
	background-color : #58b6bd;
}

#hackathon .m-btn-common > span:before {
	background-color : #efb717;
}

#program .m-btn-common > span:before {
	background-color : #77b235;
}

#day .m-btn-common > span:before {
	background-color : #eb5f5f;
}

.m-btn-common > span > span {
	display : block;
	transform : skewX(25deg);
}

@media screen and (min-width: 961px) {
	.m-btn-common:hover {
		text-decoration : none;
	}
	#about .m-btn-common:hover:before {
		background-color : #2a74a9;
	}
	#hackathon .m-btn-common:hover:before {
		background-color : #dd4a11;
	}
	#program .m-btn-common:hover:before {
		background-color : #2e7038;
	}
	#day .m-btn-common:hover:before {
		background-color : #a81f24;
	}
	#corp .m-btn-common:hover:before {
		background-color : #2a74a9;
	}
	.m-btn-common:hover > span:before {
		left : 0;
	}
}

/* Slider */
.slick-slider {
	position : relative;
	display : block;
	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 !important;
	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 {
	transform : translate3d(0, 0, 0);
}

.slick-track {
	position : relative;
	left : 0;
	top : 0;
	display : block;
	margin-left : auto;
	margin-right : auto;
}

.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;
}

.slick-dots {
	position : absolute;
	bottom : -25px;
	display : block;
	width : 100%;
	padding : 0;
	list-style : none;
	text-align : center;
	line-height : 1;
}

@media screen and (min-width: 768px) and (max-width: 960px) {
	.slick-dots {
		bottom : -30px;
	}
}

.slick-dots li {
	position : relative;
	display : inline-block;
	margin : 0 5px;
	padding : 0;
	cursor : pointer;
}

.slick-dots li button {
	position : relative;
	display : block;
	padding : 0;
	font-size : 0;
	line-height : 0;
	width : 10px;
	height : 10px;
	border : 0;
	outline : none;
	cursor : pointer;
	background : none;
}

.slick-dots li button:before {
	content : '';
	position : absolute;
	top : 0;
	left : 0;
	width : 10px;
	height : 10px;
	background : #c2c2c2;
	border-radius : 5px;
}

.slick-dots li.slick-active button:before {
	background : #2a74a9;
}

/*! Yaku Han JP (Gothic - Small Amount) v2.0.0 SIL by Qrac / Based on Noto Sans CJK JP */
@font-face {
	font-family : 'YakuHanJPs';
	font-style : normal;
	font-weight : 100;
	src : url('../fonts/YakuHanJPs/YakuHanJPs-Thin.eot');
	src : url('../fonts/YakuHanJPs/YakuHanJPs-Thin.woff2') format('woff2'), url('../fonts/YakuHanJPs/YakuHanJPs-Thin.woff') format('woff');
}

@font-face {
	font-family : 'YakuHanJPs';
	font-style : normal;
	font-weight : 200;
	src : url('../fonts/YakuHanJPs/YakuHanJPs-Light.eot');
	src : url('../fonts/YakuHanJPs/YakuHanJPs-Light.woff2') format('woff2'), url('../fonts/YakuHanJPs/YakuHanJPs-Light.woff') format('woff');
}

@font-face {
	font-family : 'YakuHanJPs';
	font-style : normal;
	font-weight : 300;
	src : url('../fonts/YakuHanJPs/YakuHanJPs-DemiLight.eot');
	src : url('../fonts/YakuHanJPs/YakuHanJPs-DemiLight.woff2') format('woff2'), url('../fonts/YakuHanJPs/YakuHanJPs-DemiLight.woff') format('woff');
}

@font-face {
	font-family : 'YakuHanJPs';
	font-style : normal;
	font-weight : 400;
	src : url('../fonts/YakuHanJPs/YakuHanJPs-Regular.eot');
	src : url('../fonts/YakuHanJPs/YakuHanJPs-Regular.woff2') format('woff2'), url('../fonts/YakuHanJPs/YakuHanJPs-Regular.woff') format('woff');
}

@font-face {
	font-family : 'YakuHanJPs';
	font-style : normal;
	font-weight : 500;
	src : url('../fonts/YakuHanJPs/YakuHanJPs-Medium.eot');
	src : url('../fonts/YakuHanJPs/YakuHanJPs-Medium.woff2') format('woff2'), url('../fonts/YakuHanJPs/YakuHanJPs-Medium.woff') format('woff');
}

@font-face {
	font-family : 'YakuHanJPs';
	font-style : normal;
	font-weight : 700;
	src : url('../fonts/YakuHanJPs/YakuHanJPs-Bold.eot');
	src : url('../fonts/YakuHanJPs/YakuHanJPs-Bold.woff2') format('woff2'), url('../fonts/YakuHanJPs/YakuHanJPs-Bold.woff') format('woff');
}

@font-face {
	font-family : 'YakuHanJPs';
	font-style : normal;
	font-weight : 900;
	src : url('../fonts/YakuHanJPs/YakuHanJPs-Black.eot');
	src : url('../fonts/YakuHanJPs/YakuHanJPs-Black.woff2') format('woff2'), url('../fonts/YakuHanJPs/YakuHanJPs-Black.woff') format('woff');
}

@font-face {
	font-family : 'Hiragino Sans';
	src : local(HiraginoSans-W0);
	font-weight : 100;
}

@font-face {
	font-family : 'Hiragino Sans';
	src : local(HiraginoSans-W1);
	font-weight : 200;
}

@font-face {
	font-family : 'Hiragino Sans';
	src : local(HiraginoSans-W2);
	font-weight : 300;
}

@font-face {
	font-family : 'Hiragino Sans';
	src : local(HiraginoSans-W3);
	font-weight : 400;
}

@font-face {
	font-family : 'Hiragino Sans';
	src : local(HiraginoSans-W4);
	font-weight : 500;
}

@font-face {
	font-family : 'Hiragino Sans';
	src : local(HiraginoSans-W5);
	font-weight : 600;
}

@font-face {
	font-family : 'Hiragino Sans';
	src : local(HiraginoSans-W6);
	font-weight : 700;
}

@font-face {
	font-family : 'Hiragino Sans';
	src : local(HiraginoSans-W7);
	font-weight : 800;
}

@font-face {
	font-family : 'Hiragino Sans';
	src : local(HiraginoSans-W8);
	font-weight : 900;
}

@font-face {
	font-family : 'Hiragino Sans W9';
	src : local(HiraginoSans-W9);
	font-weight : 900;
}

html {
	color : #000;
	background : #fff;
	font-family : YakuHanJPs, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W8', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', Helvetica, Arial, sans-serif;
	font-size : 62.5%;
}

body {
	line-height : 1.75;
	font-size : 14px;
	font-size : 1.4rem;
}

@media screen and (min-width: 768px) {
	body {
		font-size : 1.6rem;
	}
}

@media screen and (min-width: 768px) and (orientation: portrait) {
	body #l-wrap {
		min-height : 1374px;
	}
}

img {
	max-width : 100%;
}

*:focus {
	outline : none;
}

/* link style */
a:link {
	color : #2a74a9;
	text-decoration : none;
}

a:visited {
	color : #2a74a9;
	text-decoration : none;
}

a:hover, a:active {
	color : #2a74a9;
	text-decoration : underline;
}

#l-wrap {
	background-color : #fff;
}

@media screen and (min-width: 768px) {
	#l-wrap {
		background-color : transparent;
	}
}

.pace-running #l-wrap {
	display : none;
}

/* header style */
#l-header {
	position : fixed;
	top : 0;
	left : 0;
	width : 100%;
	height : 50px;
	z-index : 10;
	background-color : #2a74a9;
}

@media screen and (min-width: 768px) {
	#l-header {
		width : 50px;
		bottom : 0;
		margin : auto;
		height : auto;
	}
}

#l-header .header-inner {
	position : relative;
	height : 50px;
	z-index : 20;
}

@media screen and (min-width: 768px) {
	#l-header .header-inner {
		height : 100%;
	}
}

#l-header .header-inner .header-logo {
	position : absolute;
	top : 17px;
	left : 15px;
	display : block;
	width : 200px;
	height : 16px;
	line-height : 1;
	z-index : 15;
}

@media screen and (min-width: 768px) {
	#l-header .header-inner .header-logo {
		position : absolute;
		top : 15px;
		right : 0;
		left : 0;
		margin : auto;
		display : block;
		width : 10px;
		height : 142px;
		line-height : 1;
	}
}

#l-header .header-inner .header-logo img {
	width : 100%;
}

@media screen and (min-width: 768px) {
	#l-header .header-inner .header-logo img {
		width : 10px;
		height : 142px;
	}
}

#l-header .header-inner .header-menu {
	position : absolute;
	top : 0;
	right : 0;
	width : 100%;
	height : 100%;
	display : block;
	z-index : 12;
	background-color : #2a74a9;
}

@media screen and (min-width: 768px) {
	#l-header .header-inner .header-menu {
		top : 0;
		right : 0;
		width : 100%;
		height : 100%;
		display : -ms-flexbox;
		display : flex;
		-ms-flex-pack : center;
		justify-content : center;
		-ms-flex-align : center;
		align-items : center;
	}
}

#l-header .header-inner .header-menu .menu-btn {
	position : relative;
	cursor : pointer;
	transition : all 0.3s ease-in-out;
	z-index : 10;
	display : block;
	background-color : #2a74a9;
	top : 5px;
	margin : 0 0 0 auto;
	width : 40px;
	height : 40px;
	border-width : 1px;
}

@media screen and (min-width: 768px) {
	#l-header .header-inner .header-menu .menu-btn {
		margin : auto;
	}
}

#l-header .header-inner .header-menu .menu-btn > div, #l-header .header-inner .header-menu .menu-btn:before, #l-header .header-inner .header-menu .menu-btn:after {
	position : absolute;
	top : 50%;
	left : 50%;
	width : 50%;
	height : 2px;
	margin-left : -10px;
	background-color : #fff;
	display : inline-block;
	transition : all 0.3s ease-in-out;
	margin-left : -11px;
}

#l-header .header-inner .header-menu .menu-btn > div {
	margin-top : -9px;
	font-size : 0;
	color : transparent;
}

#l-header .header-inner .header-menu .menu-btn:before {
	margin-top : -2px;
	content : '';
}

#l-header .header-inner .header-menu .menu-btn:after {
	margin-top : 5px;
	content : '';
}

.menu-open #l-header .header-inner .header-menu .menu-btn > div {
	margin-top : -1px !important;
	transform : rotateZ(45deg);
	transition : margin 0.2s cubic-bezier(0.36, 0, 0.59, 0.99) 0.1s, transform 0.25s ease 0.36s;
}

.menu-open #l-header .header-inner .header-menu .menu-btn:before {
	transition : 0.2s ease 0.1s;
	opacity : 0;
	-ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=0)';
}

.menu-open #l-header .header-inner .header-menu .menu-btn:after {
	margin-top : -1px !important;
	transform : rotateZ(-45deg);
	transition : margin 0.2s cubic-bezier(0.36, 0, 0.59, 0.99) 0.1s, transform 0.25s ease 0.36s;
}

#l-header .header-inner .header-gnav {
	position : fixed;
	top : -100%;
	left : 0;
	width : 100%;
	z-index : 11;
	transition : top 0.8s ease, left 0.8s ease;
	overflow-y : scroll;
	opacity : 0;
	-ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=0)';
}

@media screen and (max-width: 767px) {
	#l-header .header-inner .header-gnav {
		max-height : calc(100% - 50px) !important;
	}
}

@media screen and (min-width: 768px) {
	#l-header .header-inner .header-gnav {
		top : 0;
		bottom : 0;
		left : -100%;
		max-width : 935px;
		width : 50vw;
		background-color : #2a74a9;
	}
	#l-header .header-inner .header-gnav::-webkit-scrollbar {
		width : 0;
		background : #fff;
	}
	#l-header .header-inner .header-gnav::-webkit-scrollbar-track {
		border-radius : 15px;
	}
	#l-header .header-inner .header-gnav::-webkit-scrollbar-thumb {
		background-color : #edf0f0;
		border-radius : 15px;
	}
}

#l-header .header-inner .header-gnav .gnav-top {
	background-color : #fff;
}

#l-header .header-inner .header-gnav .gnav-top .top-item {
	margin : 0;
}

#l-header .header-inner .header-gnav .gnav-top .top-item a {
	position : relative;
	display : block;
	padding-top : 23%;
	width : 100%;
}

#l-header .header-inner .header-gnav .gnav-top .top-item a img {
	position : absolute;
	top : 0;
	bottom : 0;
	left : 0;
	right : 0;
	margin : auto;
}

#l-header .header-inner .header-gnav .gnav-top .top-item a:before {
	content : '';
	position : absolute;
	top : 0;
	left : 0;
	right : 0;
	bottom : 0;
	width : 100%;
	height : 100%;
	background-color : #ccc;
	opacity : 0.0;
	-ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=0)';
	transition : opacity 0.3s ease-in-out;
}

@media screen and (min-width: 961px) {
	#l-header .header-inner .header-gnav .gnav-top .top-item a:hover:before {
		opacity : 0.3;
		-ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=30)';
	}
}

#l-header .header-inner .header-gnav .gnav-top .top-item#gnav01 {
	background : url(../images/bg_gnav01.jpg) center center no-repeat;
	background-size : 100% auto;
}

#l-header .header-inner .header-gnav .gnav-top .top-item#gnav01 a img {
	width : 227px;
}

@media screen and (min-width: 768px) {
	#l-header .header-inner .header-gnav .gnav-top .top-item#gnav01 a img {
		max-width : 454px;
		width : 69.8%;
	}
}

#l-header .header-inner .header-gnav .gnav-top .top-item#gnav01 a:before {
	background-color : #d5edee;
}

#l-header .header-inner .header-gnav .gnav-top .top-item#gnav02 {
	background : url(../images/bg_gnav02.jpg) center center no-repeat;
	background-size : 100% auto;
}

#l-header .header-inner .header-gnav .gnav-top .top-item#gnav02 a img {
	width : 266px;
}

@media screen and (min-width: 768px) {
	#l-header .header-inner .header-gnav .gnav-top .top-item#gnav02 a img {
		max-width : 532px;
		width : 81.8%;
	}
}

#l-header .header-inner .header-gnav .gnav-top .top-item#gnav02 a:before {
	background-color : #fbedc5;
}

#l-header .header-inner .header-gnav .gnav-top .top-item#gnav03 {
	background : url(../images/bg_gnav03.jpg) center center no-repeat;
	background-size : 100% auto;
}

#l-header .header-inner .header-gnav .gnav-top .top-item#gnav03 a img {
	width : 293px;
}

@media screen and (min-width: 768px) {
	#l-header .header-inner .header-gnav .gnav-top .top-item#gnav03 a img {
		max-width : 587px;
		width : 90.3%;
	}
}

#l-header .header-inner .header-gnav .gnav-top .top-item#gnav03 a:before {
	background-color : #ddeccc;
}

#l-header .header-inner .header-gnav .gnav-top .top-item#gnav04 {
	background : url(../images/bg_gnav04.jpg) center center no-repeat;
	background-size : 100% auto;
}

#l-header .header-inner .header-gnav .gnav-top .top-item#gnav04 a img {
	width : 256px;
}

@media screen and (min-width: 768px) {
	#l-header .header-inner .header-gnav .gnav-top .top-item#gnav04 a img {
		max-width : 512px;
		width : 78.7%;
	}
}

#l-header .header-inner .header-gnav .gnav-top .top-item#gnav04 a:before {
	background-color : #f6d2c3;
}

#l-header .header-inner .header-gnav .gnav-bottom {
	background-color : #2a74a9;
}

#l-header .header-inner .header-gnav .gnav-bottom .bottom-menu {
	display : block;
	padding : 10px 15px;
}

@media screen and (min-width: 768px) {
	#l-header .header-inner .header-gnav .gnav-bottom .bottom-menu {
		display : table;
		margin : auto;
		height : 100px;
	}
}

#l-header .header-inner .header-gnav .gnav-bottom .bottom-menu > li {
	display : block;
	padding-left : 0;
}

@media screen and (min-width: 768px) {
	#l-header .header-inner .header-gnav .gnav-bottom .bottom-menu > li {
		display : table-cell;
		padding-left : 60px;
		vertical-align : middle;
		text-align : center;
	}
}

#l-header .header-inner .header-gnav .gnav-bottom .bottom-menu > li:first-child {
	padding-left : 0;
}

#l-header .header-inner .header-gnav .gnav-bottom .bottom-menu > li a {
	display : block;
	padding : 10px 0;
	color : #fff !important;
}

@media screen and (min-width: 768px) {
	#l-header .header-inner .header-gnav .gnav-bottom .bottom-menu > li a {
		padding : 0;
		display : inline-block;
	}
}

@media screen and (min-width: 961px) {
	#l-header .header-inner .header-gnav .gnav-bottom .bottom-menu > li a:hover span {
		text-decoration : underline !important;
	}
}

#l-header .header-inner .header-gnav .gnav-bottom .bottom-menu > li a span {
	position : relative;
	margin-left : 16px;
	display : inline-block;
}

@media screen and (min-width: 768px) {
	#l-header .header-inner .header-gnav .gnav-bottom .bottom-menu > li a span {
		margin-left : 20px;
	}
}

#l-header .header-inner .header-gnav .gnav-bottom .bottom-menu > li a span:before {
	content : '';
	position : absolute;
	top : 0;
	bottom : 0;
	left : -16px;
	margin : auto;
	width : 6px;
	height : 6px;
	transform : rotate(45deg);
	background-color : transparent;
	border-top : 1px solid #fff;
	border-right : 1px solid #fff;
}

@media screen and (min-width: 768px) {
	#l-header .header-inner .header-gnav .gnav-bottom .bottom-menu > li a span:before {
		left : -20px;
		width : 8px;
		height : 8px;
	}
}

.menu-open #l-header .header-inner .header-gnav {
	display : block;
	top : 50px;
	opacity : 1;
	-ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=100)';
}

@media screen and (min-width: 768px) {
	.menu-open #l-header .header-inner .header-gnav {
		top : 0;
		left : 50px;
	}
}

#l-header .header-inner .header-overlay {
	position : fixed;
	top : 0;
	left : 0;
	width : 0;
	height : 0;
	margin : 50px 0 0 0;
	overflow : hidden;
	background-color : #fff;
	opacity : 0;
	-ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=0)';
	z-index : 10;
	transition : opacity 0.2s ease-in-out;
}

@media screen and (min-width: 768px) {
	#l-header .header-inner .header-overlay {
		margin : 0 0 0 50px;
	}
}

.menu-open #l-header .header-inner .header-overlay {
	width : 100%;
	height : 100%;
	opacity : 0.7;
	-ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=70)';
}

/* content style */
#l-content {
	width : 100%;
	overflow-x : hidden;
	padding-top : 50px;
	z-index : 5;
}

@media screen and (min-width: 768px) {
	#l-content {
		padding-top : 0;
		margin-left : 50px;
		width : calc(100% - 50px);
		max-width : 1870px;
	}
}

#pagetop {
	position : fixed;
	bottom : 20px;
	right : 0;
	width : 42px;
	height : 100px;
	z-index : 9;
	display : none;
}

@media screen and (min-width: 768px) {
	#pagetop {
		bottom : 40px;
		right : 0;
		width : 85px;
		height : 160px;
		z-index : 9;
	}
}

#pagetop a {
	position : relative;
	display : block;
	width : 100%;
	height : 100%;
	text-indent : -99999px;
	background : url(../svg/top_sp.svg) center center no-repeat;
	background-size : auto 100px;
}

@media screen and (min-width: 768px) {
	#pagetop a {
		background : url(../svg/top_pc.svg) center bottom no-repeat;
		background-size : auto 145px;
		transition : all 0.2s ease;
	}
}

@media screen and (min-width: 961px) {
	#pagetop a:hover {
		background : url(../svg/top_pc.svg) center top no-repeat;
		background-size : auto 145px;
	}
}

/* footer style */
/* print style */
@media print {
	html {
		background : none;
	}
	body {
		padding : 0;
		background : none;
	}
	/* for IE7 */
	*:first-child + html body {
		zoom : 67%;
	}
}
