
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Roboto:ital,wght@0,400;0,700;1,900&display=swap');

@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;
}

.mabs {
	margin-bottom : 10px !important;
}

@media screen and (min-width: 768px) {
	.mabs {
		margin-bottom : 20px !important;
	}
}

.mabm {
	margin-bottom : 20px !important;
}

@media screen and (min-width: 768px) {
	.mabm {
		margin-bottom : 40px !important;
	}
}

.mabl {
	margin-bottom : 40px !important;
}

@media screen and (min-width: 768px) {
	.mabl {
		margin-bottom : 80px !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;
	}
}

.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-border {
	border : 1px solid #000;
	padding : 20px;
}

@media screen and (min-width: 768px) {
	.m-box-border {
		padding : 40px 60px;
	}
}

.m-box-info {
	background : #fff;
	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 #e1e1e1;
}

.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 .box-txt > img {
	width : 100%;
}

@media screen and (min-width: 768px) {
	.m-box-info .info-box .box-txt > img {
		width : 80%;
	}
}

.m-box-info .info-box + .info-box {
	margin-top : 10px;
}

.m-box-info .info-box.last-border {
	border-bottom : solid 1px #e1e1e1;
	padding-bottom : 10px;
}

.m-box-info .info-att {
	border-top : solid 1px #e1e1e1;
	padding-top : 10px;
	margin-top : 10px;
}

.m-box-info .info-att > *:first-child {
	margin-top : 0;
}

#program .m-box-info {
	background : #ffc000;
}

#program .m-box-info .info-box {
	border-top : solid 1px #000;
}

#program .m-box-info .info-box.last-border {
	border-bottom : solid 1px #000;
}

#program .m-box-info .info-att {
	border-top : solid 1px #000;
}

.m-box-team {
	margin-top : 25px;
}

@media screen and (min-width: 768px) {
	.m-box-team {
		margin-top : 30px;
	}
}

@media screen and (min-width: 768px) {
	.m-box-team dl {
		display : -ms-flexbox;
		display : flex;
	}
}

.m-box-team dl + dl dt, .m-box-team dl + dl dd {
	border-top : solid 1px #e1e1e1;
}

.m-box-team dl dt, .m-box-team dl dd {
	padding : 13px 20px 14px;
	text-align : left;
	box-sizing : border-box;
	vertical-align : middle;
}

.m-box-team dl dt {
	width : 100%;
	border-right : none;
	background-color : #eee;
}

@media screen and (min-width: 768px) {
	.m-box-team dl dt {
		width : 18%;
	}
}

.m-box-team dl dd {
	width : 100%;
	background : #fff;
}

@media screen and (min-width: 768px) {
	.m-box-team dl dd {
		width : 82%;
	}
}

.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 : 1px solid #ccc;
	background-color : #fff;
	color : #000;
	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 : #ffc000;
}

@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 : #ffc000;
	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;
	}
}

.m-box-accordion .accordion-content .content-ttl h4.ttl-wrap {
	font-weight : bold;
	font-size : 16px;
	font-size : 1.6rem;
}

@media screen and (min-width: 768px) {
	.m-box-accordion .accordion-content .content-ttl h4.ttl-wrap {
		font-size : 2.0rem;
	}
}

@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 : #000;
}

@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;
}

#program .m-box-accordion .accordion-content .content-ttl {
	border : 1px solid #000;
}

#program .m-box-accordion .accordion-content .content-ttl:before {
	background : #000;
}

#program .m-box-accordion .accordion-content .content-ttl:after {
	background : #000;
}

.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 : 12%;
	left : 0;
	right : 0;
	margin : auto;
	width : 27px;
	height : 15px;
	transition : all 0.2s ease-out 0.2s;
	background : transparent url('../images/i_anc.png') center center no-repeat;
	background-size : 27px auto;
}

.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 : 10%;
	}
	.m-box-anchor .anchor-item a:hover:after {
		opacity : 0.3;
		-ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=30)';
	}
}

.m-box-configuration .configuration-ttl {
	background-color : #000;
	color : #fff;
	text-align : center;
	padding : 10px;
	font-weight : bold;
	font-size : 16px;
	font-size : 1.6rem;
}

@media screen and (min-width: 768px) {
	.m-box-configuration .configuration-ttl {
		padding : 10px;
		font-size : 1.8rem;
	}
}

.m-box-configuration .configuration-col2 {
	background-color : #fff;
	border : 1px solid #d5d5d5;
}

@media screen and (min-width: 768px) {
	.m-box-configuration .configuration-col2 {
		display : -ms-flexbox;
		display : flex;
	}
}

.m-box-configuration .configuration-col2 .col2-content {
	padding : 0 15px 10px;
}

@media screen and (min-width: 768px) {
	.m-box-configuration .configuration-col2 .col2-content {
		width : 50%;
		box-sizing : border-box;
		padding : 5px 25px 10px;
	}
}

.m-box-configuration .configuration-col2 .col2-content + .col2-content {
	border-top : 1px solid #d5d5d5;
}

@media screen and (min-width: 768px) {
	.m-box-configuration .configuration-col2 .col2-content + .col2-content {
		border-top : none;
		border-left : 1px solid #d5d5d5;
	}
}

.m-box-configuration .configuration-col2 .col2-content > h6 {
	font-weight : bold;
	font-size : 15px;
	font-size : 1.5rem;
}

@media screen and (min-width: 768px) {
	.m-box-configuration .configuration-col2 .col2-content > h6 {
		font-size : 2.0rem;
	}
}

.m-box-configuration .configuration-col2 .col2-content > .m-list-disc {
	margin-top : 5px;
}

@media screen and (max-width: 767px) {
	.m-box-configuration .configuration-col2 .col2-list {
		padding : 15px 15px 0;
	}
	.m-box-configuration .configuration-col2 .col2-list + .col2-list {
		padding : 0 15px 15px;
	}
}

@media screen and (min-width: 768px) {
	.m-box-configuration .configuration-col2 .col2-list {
		padding : 35px 25px;
		width : 50%;
		box-sizing : border-box;
	}
}

.m-box-configuration .configuration-col2 .col2-list > .m-list-disc {
	margin-top : 0;
}

.m-box-configuration2 .configuration-ttl {
	background-color : #000;
	color : #ffc000;
	text-align : center;
	padding : 15px 0;
	font-weight : bold;
	font-size : 16px;
	font-size : 1.6rem;
}

@media screen and (min-width: 768px) {
	.m-box-configuration2 .configuration-ttl {
		padding : 20px 0;
		font-size : 2.0rem;
	}
}

.m-box-configuration2 .configuration-ttl .ttl-01, .m-box-configuration2 .configuration-ttl .ttl-02 {
	position : relative;
}

.m-box-configuration2 .configuration-col2 {
	background-color : #fff;
	border : 1px solid #000;
}

@media screen and (min-width: 768px) {
	.m-box-configuration2 .configuration-col2 {
		display : -ms-flexbox;
		display : flex;
		-ms-flex-wrap : wrap;
		    flex-wrap : wrap;
	}
}

.m-box-configuration2 .configuration-col2 .col2-content {
	padding : 15px;
	border-top : 1px solid #000;
}

@media screen and (min-width: 768px) {
	.m-box-configuration2 .configuration-col2 .col2-content {
		width : 50%;
		box-sizing : border-box;
		padding : 35px 25px;
	}
}

@media screen and (min-width: 768px) {
	.m-box-configuration2 .configuration-col2 .col2-content:nth-child(odd) {
		border-right : 1px solid #000;
	}
}

@media screen and (min-width: 768px) {
	.m-box-configuration2 .configuration-col2 .col2-content.content-last100p {
		width : 100%;
		border-right : none;
	}
}

.m-box-configuration2 .configuration-col2 .col2-content > h6 {
	font-weight : bold;
	font-size : 15px;
	font-size : 1.5rem;
}

@media screen and (min-width: 768px) {
	.m-box-configuration2 .configuration-col2 .col2-content > h6 {
		font-size : 1.8rem;
	}
}

.m-box-configuration2 .configuration-col2 .col2-content > .m-list-disc {
	margin-top : 5px;
}

@media screen and (max-width: 767px) {
	.m-box-configuration2 .configuration-col2 .col2-list {
		padding : 15px 15px 0;
	}
	.m-box-configuration2 .configuration-col2 .col2-list + .col2-list {
		padding : 0 15px 15px;
	}
}

@media screen and (min-width: 768px) {
	.m-box-configuration2 .configuration-col2 .col2-list {
		padding : 35px 25px;
		width : 50%;
		box-sizing : border-box;
	}
}

.m-box-configuration2 .configuration-col2 .col2-list > .m-list-disc {
	margin-top : 0;
}

.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;
	}
}

.fourcorners-border {
	position : relative;
	border : 1px solid #ffc000;
	padding : 5px;
}

#about .fourcorners-border {
	border : 1px solid #ffc000;
}

#hackathon .fourcorners-border {
	border : 1px solid #fff;
}

#program .fourcorners-border {
	border : 1px solid #ffc000;
}

#day .fourcorners-border {
	border : 1px solid #fff;
}

.fourcorners-border .border-top:before, .fourcorners-border .border-top:after, .fourcorners-border .border-bottom:before, .fourcorners-border .border-bottom:after {
	content : '';
	position : absolute;
	width : 20px;
	height : 20px;
}

.fourcorners-border .border-top:before {
	border-top : 4px solid #000;
	border-left : 4px solid #000;
	top : -4px;
	left : -4px;
}

.fourcorners-border .border-top:after {
	border-top : 4px solid #000;
	border-right : 4px solid #000;
	top : -4px;
	right : -4px;
}

.fourcorners-border .border-bottom:before {
	border-left : 4px solid #000;
	border-bottom : 4px solid #000;
	bottom : -4px;
	left : -4px;
}

.fourcorners-border .border-bottom:after {
	border-right : 4px solid #000;
	border-bottom : 4px solid #000;
	right : -4px;
	bottom : -4px;
}

.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-good {
	margin : 5px 0;
}

@media screen and (min-width: 768px) {
	.m-box-good {
		margin : 10px 0;
	}
}

@media screen and (min-width: 768px) {
	.m-box-good .good-gallery {
		display : -ms-flexbox;
		display : flex;
		-ms-flex-pack : justify;
		justify-content : space-between;
	}
}

@media screen and (min-width: 768px) {
	.m-box-good .good-gallery .gallery-img {
		width : 354px;
		-ms-flex-item-align : start;
		align-self : flex-start;
		margin : 0 10px;
	}
}

.m-box-good .good-gallery .gallery-img > img {
	width : 100%;
}

.m-box-good .good-gallery .gallery-movie {
	margin-top : 15px;
	display : block;
	position : relative;
	width : 100%;
}

@media screen and (min-width: 768px) {
	.m-box-good .good-gallery .gallery-movie {
		width : 354px;
		margin : 0 10px;
		-ms-flex-item-align : start;
		align-self : flex-start;
	}
}

.m-box-good .good-gallery .gallery-movie:before {
	content : '';
	display : block;
	padding-top : 56.25%;
}

.m-box-good .good-gallery .gallery-movie > iframe {
	position : absolute;
	top : 0;
	left : 0;
	bottom : 0;
	right : 0;
	width : 100%;
	height : 100%;
}

.m-box-good .good-txt {
	margin-top : 15px;
	text-align : center;
}

.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 : #ffc000;
	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-list-bracket > li {
	position : relative;
	margin-top : 5px;
	padding-left : 8px;
	margin-left : 8px;
}

@media screen and (min-width: 768px) {
	.m-list-bracket > li {
		margin-top : 4px;
		padding-left : 10px;
	}
}

.m-list-bracket > li:first-child {
	margin-top : 0;
}

.m-list-bracket > li:before {
	position : absolute;
	content : '>';
	left : 0;
}

.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;
}

.m-table-common tbody tr th, .m-table-common thead tr th {
	background : #000;
	color : #fff;
	font-weight : bold;
	vertical-align : middle;
	border : 2px solid #fff;
}

.m-table-common tbody tr td, .m-table-common thead tr td {
	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;
	}
}

.m-table-common tbody tr td:nth-child(odd) {
	width : 50%;
}

@media screen and (min-width: 768px) {
	.m-table-common tbody tr td:nth-child(odd) {
		width : 33%;
	}
}

.m-table-common tbody tr td:nth-child(even) {
	width : 50%;
}

@media screen and (min-width: 768px) {
	.m-table-common tbody tr td:nth-child(even) {
		width : 66%;
	}
}

.m-table-common tbody tr:nth-child(odd) td {
	background : #fff;
}

.m-table-common tbody tr:nth-child(even) td {
	background : #f2f2f2;
}

.m-table-common3, .m-table-common4 {
	width : 100%;
	margin-top : 0;
}

#day .m-table-common3, #day .m-table-common4 {
	margin-top : 20px;
}

.m-table-common3 a, .m-table-common4 a {
	text-decoration : underline;
	word-break : break-all;
}

.m-table-common3 tbody tr th, .m-table-common4 tbody tr th, .m-table-common3 tbody tr td, .m-table-common4 tbody tr td, .m-table-common3 thead tr th, .m-table-common4 thead tr th, .m-table-common3 thead tr td, .m-table-common4 thead tr td {
	padding : 13px 20px 14px;
	text-align : left;
	box-sizing : border-box;
}

.m-table-common3 tbody tr th, .m-table-common4 tbody tr th, .m-table-common3 thead tr th, .m-table-common4 thead tr th {
	background : #fff;
	font-weight : bold;
	vertical-align : middle;
	border : solid 1px #eee;
	border-right : none;
}

.m-table-common3 tbody tr th + th, .m-table-common4 tbody tr th + th, .m-table-common3 thead tr th + th, .m-table-common4 thead tr th + th {
	border-left : solid 1px #fff;
}

.m-table-common3 tbody tr td, .m-table-common4 tbody tr td, .m-table-common3 thead tr td, .m-table-common4 thead tr td {
	background : #fff;
	vertical-align : top;
	border : solid 1px #e1e1e1;
}

.m-table-common3 tbody tr td .vam, .m-table-common4 tbody tr td .vam, .m-table-common3 thead tr td .vam, .m-table-common4 thead tr td .vam {
	vertical-align : middle;
}

.m-table-common3 tbody tr td:nth-child(1), .m-table-common4 tbody tr td:nth-child(1), .m-table-common3 thead tr td:nth-child(1), .m-table-common4 thead tr td:nth-child(1) {
	width : 20%;
}

.m-table-common3 tbody tr td:nth-child(2), .m-table-common4 tbody tr td:nth-child(2), .m-table-common3 thead tr td:nth-child(2), .m-table-common4 thead tr td:nth-child(2) {
	width : 80%;
}

#day .m-table-common3 tbody tr td:nth-child(1), #day .m-table-common4 tbody tr td:nth-child(1), #day .m-table-common3 thead tr td:nth-child(1), #day .m-table-common4 thead tr td:nth-child(1) {
	width : 20%;
}

#day .m-table-common3 tbody tr td:nth-child(2), #day .m-table-common4 tbody tr td:nth-child(2), #day .m-table-common3 thead tr td:nth-child(2), #day .m-table-common4 thead tr td:nth-child(2) {
	width : 42%;
}

#day .m-table-common3 tbody tr td a, #day .m-table-common4 tbody tr td a, #day .m-table-common3 thead tr td a, #day .m-table-common4 thead tr td a {
	color : #ffc000;
}

.m-table-common3 thead tr th, .m-table-common4 thead tr th {
	background : #eee;
	color : #000;
	text-align : center;
}

#day .m-table-common3.time-table tbody tr td:nth-child(1), #day .time-table.m-table-common4 tbody tr td:nth-child(1) {
	width : 15%;
}

#day .m-table-common3.time-table tbody tr td:nth-child(2), #day .time-table.m-table-common4 tbody tr td:nth-child(2) {
	width : 42%;
}

.m-table-common4 {
	margin-top : 20px;
}

@media screen and (min-width: 768px) {
	.m-table-common4 {
		margin-top : 40px;
	}
}

.m-table-common4 thead tr th {
	background : #000;
	color : #ffc000;
}

.m-table-common4 tbody tr.gr1 th, .m-table-common4 tbody tr.gr1 td {
	background : #f2f2f2;
}

.m-table-common4 tbody tr th, .m-table-common4 tbody tr td {
	background : #fff;
	border : solid 1px #000;
}

.m-table-common4 tbody tr th.td-study, .m-table-common4 tbody tr td.td-study {
	background-color : #ffc000;
	color : #000;
	position : relative;
	border : none;
}

.m-table-common4 tbody tr th.td-study:before, .m-table-common4 tbody tr td.td-study:before {
	position : absolute;
	content : '';
	background : url('../images/bg_table.png');
	background-size : 56px 22px;
	top : 0;
	left : 0;
	width : 56px;
	height : 22px;
	transform : scale(1, -1);
}

.m-table-common4 tbody tr th.td-study:after, .m-table-common4 tbody tr td.td-study:after {
	position : absolute;
	content : '';
	background : url('../images/bg_table.png');
	background-size : 56px 22px;
	bottom : 0;
	left : 0;
	width : 56px;
	height : 22px;
}

.m-table-common4 tbody tr th.td-make, .m-table-common4 tbody tr td.td-make {
	background-color : #000;
	color : #ffc000;
	position : relative;
	border : none;
}

.m-table-common4 tbody tr th.td-make:before, .m-table-common4 tbody tr td.td-make:before {
	position : absolute;
	content : '';
	background : url('../images/bg_table.png');
	background-size : 56px 22px;
	top : 0;
	left : 0;
	width : 56px;
	height : 22px;
	transform : scale(1, -1);
}

.m-table-common4 tbody tr th.td-make:after, .m-table-common4 tbody tr td.td-make:after {
	position : absolute;
	content : '';
	background : url('../images/bg_table.png');
	background-size : 56px 22px;
	bottom : 0;
	left : 0;
	width : 56px;
	height : 22px;
}

.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 : #ffc000;
}

.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 #ffc000 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 #ffc000;
}

.m-table-scroll .scroll-wrap {
	overflow-x : scroll;
	padding-bottom : 25px;
}

.m-table-scroll .scroll-wrap table {
	margin-top : 0;
	min-width : 640px;
}

.m-table-scroll .scroll-wrap::-webkit-scrollbar {
	width : 15px;
	height : 8px;
}

.m-table-scroll .scroll-wrap::-webkit-scrollbar-thumb {
	background : #ffc000;
	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 : #dd4a11;
}

#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 #dd4a11 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 #dd4a11;
}

#day .m-table-scroll .scroll-wrap::-webkit-scrollbar {
	width : 15px;
	height : 8px;
}

#day .m-table-scroll .scroll-wrap::-webkit-scrollbar-thumb {
	background : #dd4a11;
	border-radius : 8px;
}

#day .m-table-scroll .scroll-wrap::-webkit-scrollbar-track-piece:start {
	background : #fbedc5;
}

#day .m-table-scroll .scroll-wrap::-webkit-scrollbar-track-piece:end {
	background : #fbedc5;
}

.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-asterisk {
	padding-left : 1em;
	position : relative;
	font-size : 12px;
	font-size : 1.2rem;
}

@media screen and (min-width: 768px) {
	.m-txt-asterisk {
		font-size : 1.4rem;
	}
}

.m-txt-asterisk:before {
	content : '※';
	position : absolute;
	top : 0;
	left : 0;
}

.m-txt-ttl {
	position : relative;
	padding-top : 30px;
	margin : 30px 0 30px;
	text-align : center;
	font-size : 32px;
	font-size : 3.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;
	}
}

#about .m-txt-ttl:after {
	content : '';
	position : absolute;
	top : 0;
	left : 0;
	right : 0;
	margin : auto;
	width : 2px;
	height : 20px;
	background-color : #000;
}

@media screen and (min-width: 768px) {
	#about .m-txt-ttl:after {
		width : 2px;
		height : 40px;
	}
}

.m-txt-subttl {
	margin : 20px 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 : 50px 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 : #000;
}

.m-txt-subttl2 {
	margin : 20px 0 10px;
	font-size : 16px;
	font-size : 1.6rem;
	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 > span {
	display : block;
	margin-top : 5px;
	font-size : 14px;
	font-size : 1.4rem;
}

@media screen and (min-width: 768px) {
	.m-txt-subttl2 > span {
		font-size : 1.6rem;
	}
}

.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 : #000;
}

@media screen and (min-width: 768px) {
	.m-txt-subttl2.has-line:after {
		width : 30px;
		height : 2px;
	}
}

.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-weight : 900;
	letter-spacing : 0.1em;
}

#l-header .m-txt-ttl, #l-header
.m-txt-subttl, #l-header
.m-txt-subttl2 {
	color : #ffc000;
	margin : 0 auto;
	line-height : 2.0;
}

@media screen and (min-width: 768px) {
	#l-header .m-txt-ttl, #l-header
	.m-txt-subttl, #l-header
	.m-txt-subttl2 {
		text-align : left;
	}
}

#l-footer .m-txt-ttl, #l-footer
.m-txt-subttl, #l-footer
.m-txt-subttl2 {
	color : #ffc000;
	margin : 0 auto;
	line-height : 2.0;
}

@media screen and (min-width: 768px) {
	#l-footer .m-txt-ttl, #l-footer
	.m-txt-subttl, #l-footer
	.m-txt-subttl2 {
		text-align : left;
	}
}

.m-txt-box {
	border : 2px solid #000;
	color : #000;
	padding : 20px;
	text-align : center;
}

@media screen and (min-width: 768px) {
	.m-txt-box {
		width : 630px;
		margin : 0 auto;
		padding : 25px;
	}
}

.m-txt-anc {
	text-decoration : underline;
}

.m-txt-anc:link {
	text-decoration : underline;
	color : #000;
}

.m-txt-anc:hover {
	text-decoration : none;
}

.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 : 420px;
		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 : #ffc000;
	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;
	}
}

.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 : #000;
}

@media screen and (min-width: 768px) {
	.m-btn-common > span {
		padding : 20px 0;
	}
}

.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 : #ffc000;
}

.m-btn-common > span > span {
	display : block;
	transform : skewX(25deg);
}

@media screen and (min-width: 961px) {
	.m-btn-common:hover {
		text-decoration : none;
	}
	.m-btn-common:hover:before {
		background-color : #000;
	}
	.m-btn-common:hover > span:before {
		left : 0;
	}
}

.m-btn-common.btn-big > span > span {
	padding : 10px 0;
}

@media screen and (min-width: 961px) {
	.m-btn-common.btn-big > span > span {
		padding : 15px 0;
	}
}

@media screen and (min-width: 961px) {
	.m-btn-common.coming-soon:hover:before {
		background-color : #ffc000;
	}
}

.m-btn-common.coming-soon > span:before {
	content : none;
}

#hackathon .m-btn-common, #day .m-btn-common {
	color : #fff !important;
}

#hackathon .m-btn-common:before, #day .m-btn-common:before {
	background-color : #aaa;
}

@media screen and (min-width: 768px) {
	#hackathon .m-btn-common > span, #day .m-btn-common > span {
		padding : 20px 30px;
	}
}

#hackathon .m-btn-common > span:before, #day .m-btn-common > span:before {
	background-color : #aaa;
}

@media screen and (min-width: 961px) {
	#hackathon .m-btn-common:hover:before, #day .m-btn-common:hover:before {
		background-color : #000;
	}
	#hackathon .m-btn-common:hover > span:before, #day .m-btn-common:hover > span:before {
		background-color : #aaa;
	}
}

.m-btn-common2 {
	width : 100%;
	background-color : #fff;
	position : relative;
	padding : 0 15px 15px;
	margin-top : 15px;
	display : inline-block;
	background-image : linear-gradient(to right, rgba(0, 0, 0, 0) 50%, #ffc000 50%);
	background-position : 0 0;
	background-size : 200% auto;
	transition : all 0.3s ease 0s;
	text-decoration : none;
}

@media screen and (min-width: 768px) {
	.m-btn-common2 {
		width : 300px;
	}
}

.m-btn-common2:before, .m-btn-common2:after {
	content : '';
	height : 0;
	display : block;
	position : absolute;
	top : 0;
	left : 0;
	margin : -15px 0 0;
}

.m-btn-common2:before {
	width : 100%;
	border-bottom : solid 15px #fff;
	border-right : solid 15px transparent;
	z-index : 0;
}

.m-btn-common2:after {
	width : 0;
	border-bottom : solid 15px #ffc000;
	border-right : solid 0 transparent;
	z-index : 1;
	transition : width 0.3s ease 0s, borde-bottom-width 0.3s ease 0s, border-right-width 0.3s ease 0s;
}

.m-btn-common2:hover {
	background-position : -100% 0;
	text-decoration : none;
}

.m-btn-common2:hover:after {
	width : 100%;
	border-bottom : solid 15px #ffc000;
	border-right : solid 15px transparent;
}

.m-btn-common2 p {
	color : #000;
	text-align : center;
	font-weight : bold;
	text-decoration : none;
}

#l-header .m-btn-common2 {
	background-color : #fff;
	background-image : linear-gradient(to right, rgba(0, 0, 0, 0) 50%, #ffc000 50%);
}

#l-header .m-btn-common2:before {
	border-bottom : solid 15px #fff;
}

#l-header .m-btn-common2:after {
	border-bottom : solid 15px #ffc000;
}

#l-header .m-btn-common2:hover:after {
	border-bottom : solid 15px #ffc000;
}

#l-header .m-btn-common2 p {
	color : #000;
}

#l-footer2 .m-btn-common2 {
	background-image : linear-gradient(to right, rgba(255, 255, 255, 0) 50%, #ffc000 50%);
}

#l-footer2 .m-btn-common2:after {
	border-bottom : solid 15px #ffc000;
}

#l-footer2 .m-btn-common2:hover:after {
	border-bottom : solid 15px #ffc000;
}

.m-btn-good {
	width : 150px;
	padding : 10px 0;
	margin : 15px auto 0;
	display : block;
	color : #fff;
	background-color : #000;
	font-weight : bold;
	overflow : hidden;
	letter-spacing : +0.15em;
	border : none;
	text-decoration : none;
	position : relative;
	transform : skewX(-15deg);
	transition : all 0.2s ease-out 0.2s;
}

@media screen and (min-width: 768px) {
	.m-btn-good {
		width : 180px;
		margin : 20px auto 0;
	}
}

.m-btn-good:before {
	content : '';
	z-index : -1;
	position : absolute;
	width : 100.1%;
	height : 100.1%;
	top : 0;
	bottom : 0;
	left : -100%;
	transition : all 0.3s ease-in;
	background-color : #ffc000;
}

.m-btn-good > span {
	padding-top : 3px;
	padding-left : 22px;
	position : relative;
	transform : skewX(15deg);
	display : inline-block;
}

@media screen and (min-width: 768px) {
	.m-btn-good > span {
		padding-left : 24px;
	}
}

.m-btn-good > span:before {
	content : '';
	position : absolute;
	left : 0;
	top : -3px;
	bottom : 0;
	margin : auto 0;
	width : 16px;
	height : 13px;
	transition : all 0.2s ease-out 0.2s;
	background : url('../svg/i_good.svg') center center no-repeat;
	background-size : contain;
}

@media screen and (min-width: 768px) {
	.m-btn-good > span:before {
		width : 18px;
		height : 16px;
	}
}

@media screen and (min-width: 961px) {
	.m-btn-good:hover {
		text-decoration : none;
		color : #000;
	}
	.m-btn-good:hover:before {
		left : 0;
	}
	.m-btn-good:hover > span:before {
		background : url('../svg/i_good_black.svg') center center no-repeat;
		background-size : contain;
	}
}

.m-btn-good.active {
	text-decoration : none;
	color : #000;
}

.m-btn-good.active:before {
	left : 0;
}

.m-btn-good.active > span:before {
	background : url('../svg/i_good_black.svg') center center no-repeat;
	background-size : contain;
}

/*! 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 : 'Roboto', 'Noto Sans JP', 'ヒラギノ角ゴ 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;
		overflow-x : hidden;
	}
}

@media screen and (min-width: 768px) and (orientation: portrait) {
	body #l-wrap {
		min-height : 1374px;
	}
}

img {
	max-width : 100%;
}

img.object_fit_img {
	object-fit : cover;
	font-family : 'object-fit: cover;';
}

*:focus {
	outline : none;
}

/* link style */
a:link {
	color : #ffc000;
	text-decoration : none;
}

a:visited {
	color : #ffc000;
	text-decoration : none;
}

a:hover, a:active {
	color : #ffc000;
	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 : #000;
}

@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 : 250px;
	height : 12px;
	line-height : 1;
	z-index : 15;
}

@media screen and (min-width: 768px) {
	#l-header .header-inner .header-logo {
		position : absolute;
		top : 20px;
		right : 0;
		left : 0;
		margin : auto;
		display : block;
		width : 10px;
		height : 226px;
		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 : 226px;
	}
}

#l-header .header-inner .header-menu {
	position : absolute;
	top : 0;
	right : 0;
	width : 100%;
	height : 100%;
	display : block;
	z-index : 12;
	background-color : #000;
}

@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 : #000;
	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 : #000;
	}
	#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 : 20px 40px 15px;
	width : 100%;
	border-top : 1px solid #000;
	transition : 0.2s ease-out;
	background-color : #ffc000;
}

@media screen and (min-width: 768px) {
	#l-header .header-inner .header-gnav .gnav-top .top-item a {
		padding : 40px 30px;
	}
}

#l-header .header-inner .header-gnav .gnav-top .top-item a svg {
	width : 100%;
	height : auto;
}

#l-header .header-inner .header-gnav .gnav-top .top-item a svg .gnav-items {
	fill : #000;
	transition : 0.2s;
}

#l-header .header-inner .header-gnav .gnav-top .top-item a:hover {
	background-color : #000;
}

#l-header .header-inner .header-gnav .gnav-top .top-item a:hover svg .gnav-items {
	fill : #ffc000;
}

#l-header .header-inner .header-gnav .gnav-top .top-item a.comingsoon:before {
	content : 'comingsoon';
	position : absolute;
	font-size : 12px;
	font-size : 1.2rem;
	right : 40px;
	bottom : 0;
	text-decoration : none;
}

@media screen and (min-width: 768px) {
	#l-header .header-inner .header-gnav .gnav-top .top-item a.comingsoon:before {
		bottom : 0;
	}
}

@media screen and (min-width: 768px) and (max-width: 960px) {
	#l-header .header-inner .header-gnav .gnav-top .top-item a.comingsoon:before {
		font-size : 1.8rem;
		right : 30px;
	}
}

@media screen and (min-width: 961px) {
	#l-header .header-inner .header-gnav .gnav-top .top-item a.comingsoon:before {
		font-size : 3.2rem;
		right : 100px;
	}
}

#l-header .header-inner .header-gnav .gnav-top .top-item a.comingsoon:hover {
	background-color : #ffc000;
	color : #000;
	text-decoration : none;
}

#l-header .header-inner .header-gnav .gnav-top .top-item a.comingsoon:hover svg .gnav-items {
	fill : #000;
}

#l-header .header-inner .header-gnav .gnav-bottom {
	background-color : #000;
}

#l-header .header-inner .header-gnav .gnav-bottom .bottom-menu {
	display : block;
	padding : 10px 15px 0;
}

@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 : 5px 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;
	}
}

#l-header .header-inner .header-gnav .gnav-archive {
	display : -ms-flexbox;
	display : flex;
	background-color : #000;
	padding-bottom : 20px;
	-ms-flex-direction : column;
	    flex-direction : column;
}

@media screen and (min-width: 961px) {
	#l-header .header-inner .header-gnav .gnav-archive {
		-ms-flex-direction : row;
		    flex-direction : row;
	}
}

#l-header .header-inner .header-gnav .gnav-archive .archive-ttl {
	text-align : center;
}

@media screen and (min-width: 961px) {
	#l-header .header-inner .header-gnav .gnav-archive .archive-ttl {
		padding-left : 40px;
		text-align : center;
	}
}

#l-header .header-inner .header-gnav .gnav-archive .archive-btn {
	width : 80%;
	margin : 10px auto 40px;
}

@media screen and (min-width: 961px) {
	#l-header .header-inner .header-gnav .gnav-archive .archive-btn {
		width : auto;
	}
}

#l-header .header-inner .header-gnav .gnav-archive .archive-btn .btn-item {
	margin-top : 10px;
}

.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 : 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);
	}
}

.pagetop-box {
	position : relative;
}

#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 */
#l-footer, #l-footer2 {
	padding-top : 0;
	overflow-x : hidden;
	width : 100%;
}

@media screen and (min-width: 768px) {
	#l-footer, #l-footer2 {
		padding-top : 0;
		margin-left : 50px;
		width : calc(100% - 50px);
	}
}

#l-footer .footer-inner, #l-footer2 .footer-inner {
	box-sizing : border-box;
	padding : 25px 0 0;
	display : -ms-flexbox;
	display : flex;
	-ms-flex-direction : column;
	    flex-direction : column;
	text-align : center;
}

@media screen and (min-width: 768px) {
	#l-footer .footer-inner, #l-footer2 .footer-inner {
		-ms-flex-direction : row;
		    flex-direction : row;
	}
}

#l-footer .footer-inner .footer-ttl, #l-footer2 .footer-inner .footer-ttl {
	margin : 0 auto;
}

@media screen and (min-width: 768px) {
	#l-footer .footer-inner .footer-ttl, #l-footer2 .footer-inner .footer-ttl {
		width : 25%;
	}
}

#l-footer .footer-inner .footer-btn, #l-footer2 .footer-inner .footer-btn {
	width : 80%;
	margin : 10px auto 40px;
}

@media screen and (min-width: 961px) {
	#l-footer .footer-inner .footer-btn, #l-footer2 .footer-inner .footer-btn {
		width : 75%;
		display : -ms-flexbox;
		display : flex;
		-ms-flex-pack : end;
		justify-content : flex-end;
	}
}

#l-footer .footer-inner .footer-btn .btn-item, #l-footer2 .footer-inner .footer-btn .btn-item {
	margin-top : 10px;
}

@media screen and (min-width: 961px) {
	#l-footer .footer-inner .footer-btn .btn-item, #l-footer2 .footer-inner .footer-btn .btn-item {
		padding-left : 30px;
	}
}

#l-footer {
	background-color : #000;
}

/* print style */
@media print {
	html {
		background : none;
	}
	body {
		padding : 0;
		background : none;
	}
	/* for IE7 */
	*:first-child + html body {
		zoom : 67%;
	}
}
