@charset "utf-8";
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-overflow-scrolling: touch;
}
*:before,
*:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
html {
	font-size: 16px;
}
body {
	margin: 0;
	padding-top: 65px;
	font-size: 16px;
	font-family: 'Noto Sans JP', '游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	line-height: 2;
	color: #333;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
}
#wrapper {
	margin: 0 auto;
	padding: 0;
	max-width: 100%;
	position: relative;
}
.inner {
	margin: 0 auto;
	width: 1300px;
	padding: 0 50px;
	max-width: 100%;
	position: relative;
}
@media screen and (min-width : 751px) {
	.sp {
		display: none;
	}
}
@media screen and (max-width : 1299px) {}
@media screen and (max-width : 950px) and (min-width : 751px) {
	body {
		font-size: 14px;
		padding-top: 50px;
	}
	.inner {
		padding: 0 25px;
	}
}
@media screen and (max-width : 750px) {
	body {
		padding-top: 53px;
	}
	.pc {
		display: none;
	}
	.inner {
		padding: 0 15px;
	}
}
@media screen and (max-width : 415px) {}

/* block 
--------------------------------------------------------------------------*/
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
	margin: 2rem 0;
	letter-spacing: 0.1em;
	line-height: 1.4;
	color: #444;
}
h1, .h1 { font-size: 24px; }
h2, .h2 { font-size: 18px; margin: 2.22222em 0; }
h3, .h3 { font-size: 16px; margin: 2.22222em 0 1.125em 0; }
h4, .h4 { font-size: 14px; }
h5, .h5 { font-size: 14px; }
h6, .h6 { font-size: 14px; }

@media screen and (min-width : 751px) {}
@media screen and (max-width : 1299px) {}
@media screen and (max-width : 950px) and (min-width : 751px) {
	h1, .h1 { font-size: 18px; }
	h2, .h2 { font-size: 15px; }
	h3, .h3 { font-size: 14px; }
}
@media screen and (max-width : 750px) {
	h1, .h1 { font-size: 20px; }
	h2, .h2 { font-size: 17px; }
	h2.img,
	h2.img.center img {
		line-height: 1;
		text-align: center;
	}
	h2.img img,
	h2.img.center img {
		max-width: 90%;
		vertical-align: middle;
	}
	h3, .h3 {
		font-size: 16px;
	}
}
@media screen and (max-width : 415px) {}

small {
	font-size: 65%;
	font-weight: normal;
	line-height: 1;
	letter-spacing: 0;
	color: #777;
	margin-left: 0.75em;
}
p {
	margin: 0 0 1.2em 0;
}
hr {
	margin: 40px 0 20px;
	border: 0;
	border-top: 1px solid #ddd;
}
.center {
	text-align: center;
}
.left {
	text-align: left;
}
.right {
	text-align: right;
}
blockquote {
	padding: 10px 20px;
	margin: 20px 0;
	color: #009FEC;
	background-color: #F4F2F0;
}
blockquote p:last-child,
blockquote ul:last-child,
blockquote ol:last-child {
	margin-bottom: 0;
}
blockquote footer,
blockquote small,
blockquote .small {
	padding: 20px 0 0 0;
	display: block;
	font-size: 80%;
	line-height: 1.42857143;
	color: #777;
}
blockquote footer:before,
blockquote small:before,
blockquote .small:before {
	content: '\2014 \00A0';
}

@media screen and (min-width : 751px) {}
@media screen and (max-width : 1299px) {}
@media screen and (max-width : 750px) {}
@media screen and (max-width : 415px) {}

/* alignment
--------------------------------------------------------------------------*/
.alignleft    { float: left; margin-right: 20px; }
.alignright  { float: right; margin-left: 20px; }
.aligncenter    { text-align: center; margin: 0 auto; display: block; }
.leftcolumn img.alignleft,
.leftcolumn img.alignright {
	margin-top: 20px;
}

/* block
--------------------------------------------------------------------------*/
ul {
	margin: 1em 0;
	padding: 0 0 0 1.8em;
	list-style-type: disc;
}
ol {
	margin: 1em 0;
	padding: 0 0 0 1.25em;
}
li {
	margin: 0 0 0.25em 0;
}
dl {
	margin: 2em 0;
	width: 100%;
}
dl:after {
	content: '';
	display: block;
	clear: both;
}
dt,
dd {
	line-height: 1.4;
	margin-top: 1em;
}
dt {
	font-weight: bold;
	float: left;
	width: 10em;
	margin-left: 0;
}
dd {
	margin-left: 2em;
	margin-left: 10em;
	position: relative;
}
dd:before {
	content: ":";
	position: absolute;
	top: 0;
	left: -1.2em;
}
dd:after {
	display: block;
	content: "";
	clear: both;
}
dl > dt:first-child {
	margin-top: 0;
}
table {
	margin: 2em 0;
	width: 100%;
	max-width: 100%;
	border-collapse: collapse;
}
caption {
	text-align: left;
	padding: 1rem 0;
}
table tr th,
table tr td {
	padding: 0.7em;
	padding-right: 0;
	text-align: left;
	vertical-align: top;
	color: #444;
}
table tr:last-child > * {
	border-bottom: 0;
}
table tr td > div.memo {
	margin-top: 1em;
}

@media screen and (min-width : 751px) {
	table tr th,
	table tr td {
		border-bottom: 1px dashed #ddd;
	}
	table tr > *:first-child {
		padding-left: 0;
		width: 15%;
	}
}
@media screen and (max-width : 1299px) {}
@media screen and (max-width : 750px) {
	dl {
		font-size: 13px;
	}
	dt {
		width: auto;
	}
	dd {
		margin-left: 0;
	}
	dd:before {
		position: static;
		top: initial;
		left: initial;
		margin-left: 0.25em;
		margin-right: 0.25em;
	}
	table tr th,
	table tr td {
		display: block;
		width: 100%;
		font-size: 13px;
	}
	table tr th {
		padding: 18px 0 0 0;
	}
	table tr td {
		padding: 0 0 14px 0;
		border-bottom: 1px dashed #ddd;
	}
}
@media screen and (max-width : 415px) {}

/* inline
--------------------------------------------------------------------------*/
strong {
	font-weight: bold;
	color: #000;
}
em {
	font-style: italic;
}
sup {}
sub {}
img {
	margin: 0;
	padding: 0;
	max-width: 100%;
	vertical-align: middle;
}

/* inline-block
--------------------------------------------------------------------------*/
a,
a:link,
a:visited {
	text-decoration: underline;
	color: #333;
}
a:hover {
	text-decoration: none;
}
a.img:not(.link) {
	display: inline-block;
	-webkit-transition: opacity 0.1s linear;
	-o-transition: opacity 0.1s linear;
	transition: opacity 0.1s linear;
}
a.img:not(.link):hover {
	-ms-filter: "alpha(opacity=70)";
	filter: alpha(opacity=70);
	opacity: 0.7;
}
a.img.link {
	display: inline-block;
	position: relative;
}
a.img.link:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-webkit-transition: background-color 0.1s linear;
	-o-transition: background-color 0.1s linear;
	transition: background-color 0.1s linear;
}
a.noref,
a.noref:hover,
a.noref:hover * {
	text-decoration: none!important;
	cursor: default!important;
}

/* buttons
------------------------------------------------------------------- */
a.btn,
p.btn > a,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
	display: inline-block;
	max-width: 100%;
	padding: 16px 40px;
	line-height: 1.7;
	font-size: 16px;
	font-weight: bold;
	letter-spacing: 0.1em;
	color: #fff;
	background-color: #009FEC;
	border: 0;
	border-radius: 6px;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	box-sizing: border-box;
	-webkit-transition: all 0.1s linear;
	-o-transition: all 0.1s linear;
	transition: all 0.1s linear;
}
p.btn {
	text-align: center;
	margin-top: 50px;
}
p.btn > a {
	width: 300px;
	text-align: center;
}
p.btn.center {
	text-align: center;
}
a.btn {
	border-radius: 2px;
	margin-bottom: 1.2em;
}
p.btn > a:hover,
a.btn:hover,
button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
a.btn:focus,
button:focus,
input[type="submit"]:focus,
input[type="reset"]:focus,
input[type="button"]:focus {
	outline: 0;
	color: #fff;
	background-color: #007bb7;
}

@media screen and (min-width : 751px) {}
@media screen and (max-width : 1299px) {}
@media screen and (max-width : 950px) and (min-width : 751px) {
	a.btn,
	p.btn > a,
	button,
	input[type="submit"],
	input[type="reset"],
	input[type="button"] {
		padding: 14px 26px;
		line-height: 1.7;
		font-size: 14px;
	}
	p.btn {
		margin-top: 36px;
	}
}
@media screen and (max-width : 750px) {
	p.btn > a,
	a.btn,
	button,
	input[type="submit"],
	input[type="reset"],
	input[type="button"] {
		padding: 10px 40px;
		font-size: 14px;
	}
}
@media screen and (max-width : 415px) {}

/* Forms
--------------------------------------------------------------------------*/
input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea,
select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 325px;
	max-width: 100%;
	height: 45px;
	padding: 15px 12px 14px 12px;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 6px;
	font-size: 14px;
	line-height: 1;
	box-shadow: none;
	box-sizing: border-box;
}
input.date[type="text"] {
	background-image: url(../img/ico_calendar.svg);
	background-repeat: no-repeat;
	background-position: right 14px center;
}
select {
	background-image: url(../img/ico_arrow_down.svg);
	background-repeat: no-repeat;
	background-position: right 9px center;
}
textarea {
	min-height: 65px;
	padding-top: 6px;
	padding-bottom: 6px;
}
input[type="reset"],
input[type="submit"] {
	background-color: #FC5700;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	height: 45px;
	line-height: 45px;
	padding: 0;
	width: 325px;
	border: 0;
	letter-spacing: 0.1em;
}
input[type="reset"] {
	width: 200px;
	background-color: #ccc;
}
input[type="reset"]:hover,
input[type="reset"]:focus {
	background-color: #444;
}
input[type="submit"]:hover,
input[type="submit"]:focus {
	background-color: #de4e02;
}
input[type="email"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
	border-color: #009FEC;
	outline: 0;
	-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(39, 166, 225,.6);
	box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(39, 166, 225,.6);
}
label,
legend {
	margin-right: 20px;
	margin-bottom: .5rem;
	cursor: pointer;
}
legend {
	font-weight: 600;
}
fieldset {
	padding: 0;
	border-width: 0;
}

@media screen and (min-width : 751px) {}
@media screen and (max-width : 1299px) {}
@media screen and (max-width : 950px) and (min-width : 751px) {}
	input[type="email"],
	input[type="number"],
	input[type="search"],
	input[type="text"],
	input[type="tel"],
	input[type="url"],
	input[type="password"],
	textarea,
	select {
		font-size: 14px;
	}
	input[type="reset"],
	input[type="submit"] {
		font-size: 14px;
	}
}
@media screen and (max-width : 750px) {}
@media screen and (max-width : 415px) {}

@media (min-width: 1px) {
	input[type=radio],
	input[type=checkbox] {
		margin-right: 10px;
	}
}

/* header
--------------------------------------------------------------------------*/
#header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 65px;
	background-color: #fff;
	border-bottom: 1px solid #ddd;
	z-index: 5100;
	-webkit-transition: all 0.2s ease-out;
	-o-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}
#header.s {
	height: 45px;
}
#header .inner {
	width: 100%;
	display: flex;
	align-items: center;
}
#header .logo {
	display: flex;
	height: 64px;
	line-height: 64px;
	padding-top: 4px;
}
#header .logo img {
	max-height: 100%;
}

@media screen and (min-width : 751px) {}
@media screen and (max-width : 1299px) {}
@media screen and (max-width : 950px) and (min-width : 751px) {
	#header {
		height: 50px;
	}
	#header .logo {
		height: 49px;
		line-height: 49px;
		padding-top: 0;
	}
	#header .logo img {
		max-height: calc(100% - 10px);
	}
}
@media screen and (max-width : 750px) {
	#header {
		height: 53px;
	}
	#header .logo {
		height: 52px;
		line-height: 52px;
		padding-top: 3px;
	}
	#header .logo img {
		height: 43px;
	}
}
@media screen and (max-width : 415px) {}


/* nav
--------------------------------------------------------------------------*/
ul.nav {
	list-style-type: none;
	padding: 0;
	margin: 0;
}
ul.nav > li {
	margin: 0;
	display: inline-block;
}
ul.nav > li > a {
	display: block;
	padding: 1em;
	text-decoration: none;
	font-size: 16px;
	font-weight: bold;
	color: #333;
	letter-spacing: 0.04em;
	-webkit-transition: color 0.1s linear;
	-o-transition: color 0.1s linear;
	transition: color 0.1s linear;
}
ul.nav > li > ul.sub-menu {
	display: none;
}
ul.nav > li > a {
	-webkit-transition: all 0.1s linear;
	-o-transition: all 0.1s linear;
	transition: all 0.1s linear;
}
@media screen and (min-width : 751px) {
	ul.nav > li > a:hover {
		color: #009FEC;
	}
}
@media screen and (max-width : 1299px) {}
@media screen and (max-width : 750px) {
	ul.nav > li > a.hover {
		color: #009FEC;
	}
}
@media screen and (max-width : 415px) {}

/* event_target
------------------------------------------------------------------- */
.event_target {
	position: relative;
	padding: 7px 8px;
	padding-left: 34px;
	background: url(../img/ico_person.svg) no-repeat left 4px top 4px;
	border: 1px solid #ddd;
	border-radius: 3px;
	font-size: 12px;
	line-height: 1;
	color: #444;
}
.event_target:before {
	content: '';
	position: absolute;
	top: 5px;
	left: 27px;
	width: 1px;
	height: calc(100% - 10px);
	background-color: #ddd;
}

@media screen and (min-width : 751px) {}
@media screen and (max-width : 1299px) {}
@media screen and (max-width : 750px) {
	.event_target {
		height: 28px;
		padding: 7px 8px 6px 29px;
		font-size: 12px;
		background-size: 17px;
		background-position: left 4px top 5px;
	}
	.event_target:before {
		left: 23px;
	}
}
@media screen and (max-width : 415px) {}
@media screen and (max-width : 374px) {
	.event_target {
		font-size: 11px;
		padding: 7px 6px 7px 24px;
		background-size: 15px;
	}
	.event_target:before {
		left: 20px;
	}
}

/* gNav
------------------------------------------------------------------- */
#gNav {
	margin-left: auto;
}
#gNav ul.nav > li {
	position: relative;
}
#gNav ul.sub-menu {
	list-style-type: none;
	margin: 0;
	padding: 9px 0;
}
#gNav ul.sub-menu > li {
	margin: 0;
}
#gNav ul.sub-menu a {
	display: block;
	padding: 2px 44px 2px 12px;
	text-decoration: none;
	white-space: nowrap;
	font-size: 14px;
	letter-spacing: 0.1em;
}

@media screen and (min-width : 751px) {
	#gNav .nav_logo {
		display: none;
	}
	#gNav ul.nav {
		display: flex;
	}
	#gNav ul.nav > li:hover {
		background-color: rgba(107, 187, 224, 0.15);
	}
	#gNav ul.nav > li > a {
		padding: 0 1em;
		height: 64px;
		line-height: 64px;
		white-space: nowrap;
	}
	#gNav ul.sub-menu {
		position: absolute;
		top: calc(100% - 8px);
		left: 0;
		padding: 12px 0 2px 0;
		border: 1px solid #ddd;
		background-color: #fff;
		box-shadow: 0 3px 6px rgba(221, 221, 221, 0.16);
	}
	#gNav ul.nav > li.hover ul.sub-menu,
	#gNav ul.nav > li:hover ul.sub-menu {
		display: block;
		animation-duration: 0.15s;
		animation-timing-function: ease-out;
		animation-fill-mode: forwards;
		animation-name: fadeSubNav;
	}
	#gNav ul.sub-menu a {
		border-left: 6px solid transparent;
	}
	#gNav ul.sub-menu a.hover,
	#gNav ul.sub-menu a:hover {
		color: #009FEC;
		border-left-color: rgba(107, 187, 224, 0.3);
	}
}
@media screen and (max-width : 1299px) {
	#gNav ul.nav > li > a {
		font-size: 14px;
	}
}
@media screen and (max-width : 950px) {
	#gNav ul.nav > li > a {
		padding: 0 0.75em;
		height: 49px;
		line-height: 49px;
	}
}
@media screen and (max-width : 850px) {
	#gNav ul.nav > li > a {
		font-size: 12px;
		padding: 0 0.75em;
	}
}
@media screen and (max-width : 750px) {
	#gNav {
		width: 277px;
		height: 100%;
		position: fixed;
		top: 0;
		right: -277px;
		padding: 60px 12px 60px 30px;
		overflow-y: auto;
		background-color: rgba(255,255,255,0.94);
		-webkit-transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
		-o-transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
		transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
	}
	#gNav .nav_logo {
		margin-top: 52px;
		text-align: center;
	}
	#gNav .nav_logo a {
		display: inline-block;
	}
	#gNav.on {
		right: 0;
	}
	#gNav.on.closing {
		right: -277px;
	}
	#gNav ul.nav > li {
		display: block;
	}
	#gNav ul.nav > li > a {
		padding: 11px 0 0;
		font-size: 16px;
		line-height: 1.5;
		letter-spacing: 0.1em;
		border-bottom: 1px dotted #009FEC;
	}
	#gNav ul.nav > li ul.sub-menu {
		display: block;
		margin-left: 8px;
	}
	#gNav ul.nav > li ul.sub-menu > li.parent {
		display: none;
	}
	#gNav ul.nav > li ul.sub-menu > li > a {
		padding: 2px 0 2px 6px;
		font-size: 14px;
		border-left: 4px solid transparent;
		-webkit-transition: all 0.07s linear;
		-o-transition: all 0.07s linear;
		transition: all 0.07s linear;
	}
	#gNav ul.nav > li ul.sub-menu > li > a.hover {
		color: #009FEC;
		border-left-color: rgba(107, 187, 224, 0.7);
	}
}
@media screen and (max-width : 415px) {}

@keyframes fadeSubNav {
	0% {
		-ms-filter: "alpha(opacity=0)";
		filter: alpha(opacity=0);
		opacity: 0;
	}
	100% {
		-ms-filter: "alpha(opacity=100)";
		filter: alpha(opacity=100);
		opacity: 1;
	}
}

/* gNavBtn
------------------------------------------------------------------- */
#gNavBtn {
	position: fixed;
	top: 0;
	right: 7px;
	height: 53px;
	width: 53px;
	z-index: 5000;
	background-image: url(../img/ico_nav.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 34px;
}
#gNavBtn.on {
	background-image: url(../img/ico_nav_close.svg);
}

@media screen and (min-width : 751px) {
	#gNavBtn {
		display: none;
	}
}
@media screen and (max-width : 1299px) {}
@media screen and (max-width : 750px) {}
@media screen and (max-width : 415px) {}

/* topicInfo
------------------------------------------------------------------- */
#topicInfo {
	padding: 9px 0;
}
#topicInfo ul {
	list-style-type: none;
	padding: 0;
	margin: 0;
	text-align: center;
}
#topicInfo ul > li {
	margin: 0;
}
#topicInfo ul > li > a {
	display: inline-block;
	font-size: 14px;
	color: #009FEC;
	letter-spacing: 0.1em;
}
#topicInfo ul > li > a span.title {
	font-weight: bold;
}

@media screen and (min-width : 751px) {}
@media screen and (max-width : 1299px) {}
@media screen and (max-width : 950px) and (min-width : 751px) {
	#topicInfo {
		padding: 8px 0;
	}
	#topicInfo ul > li > a {
		font-size: 12px;
	}
}
@media screen and (max-width : 750px) {
	#topicInfo {
		padding: 9px 15px;
	}
}
@media screen and (max-width : 415px) {}

/* keyVisual
------------------------------------------------------------------- */
#keyVisual h1 {
	margin: 0;
}
#keyVisual .inner {
	width: 1200px;
	padding: 0;
}
@media screen and (min-width : 751px) {}
@media screen and (max-width : 1299px) {}
@media screen and (max-width : 750px) {}
@media screen and (max-width : 415px) {}

/* bgTxtSlideWrap
------------------------------------------------------------------- */
.bgTxtSlideWrap {
	position: relative;
	width: calc(100% - 60px);
	margin: 0 auto;
	/*max-height: calc(100vh - 143px - 30px);*/
}
.bgTxtSlideWrap .inner {
	padding: 0;
}

@media screen and (min-width : 416px) {}
@media screen and (max-width : 1160px) {}
@media screen and (max-width : 796px) {
	.bgTxtSlideWrap {
		width: 100%;
		margin: 0;
		height: 480px;
	}
}
@media screen and (max-width : 415px) {}


/* bread
------------------------------------------------------------------- */
#bread {
	background-color: #f2f2f2;
}
#bread .inner {
	width: auto;
}
#bread ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	list-style-type: none;
	margin: 0;
	padding: 5px 0 6px 0;
	line-height: 1.5;
}
#bread ul > li {
	display: flex;
	align-items: center;
	margin: 0;
}
#bread ul > li + li {
	padding-left: 22px;
	background: url(../img/ico_arrow_next.svg) no-repeat left 5px center;
	background-size: 12px;
}
#bread a,
#bread span {
	font-size: 12px;
	text-decoration: none;
	letter-spacing: 0.1em;
}
@media screen and (min-width : 751px) {
	#bread ul > li > a {
		border-bottom: 1px solid transparent;
		-webkit-transition: all 0.2s linear;
		-o-transition: all 0.2s linear;
		transition: all 0.2s linear;
	}
	#bread ul > li > a:hover {
		color: #009FEC;
	}
}
@media screen and (max-width : 1299px) {}
@media screen and (max-width : 750px) {
	#bread {
		display: none;
	}
}
@media screen and (max-width : 415px) {}

/* main - common
--------------------------------------------------------------------------*/
#wrapper {}
#main {}
#main h1 {}
#main h2 {}
#main h3 {}
#main p {}
#main p.empty {
	margin: 0;
	font-size: 16px;
	text-align: center;
}
#main div.img.center {}

@media screen and (min-width : 751px) {}
@media screen and (max-width : 1299px) {}
@media screen and (max-width : 750px) {
	#main p.empty {
		font-size: 14px;
	}
}
@media screen and (max-width : 415px) {
	#main h2 {
		font-size: 20px;
	}
}

/* line
------------------------------------------------------------------- */
#main div.line h2 {
	font-size: 24px;
	text-align: center;
	padding-bottom: 30px;
	margin: 44px 0 30px 0;
	background: url(../img/ico_split.svg) no-repeat center bottom;
}
#main div.line .box {
	padding-top: 50px;
	padding-bottom: 60px;
}
#main div.line .box.bg {
	background-color: #F2F2F2;
}
#main div.line .box.bg.blue {
	background-color: rgba(107, 187, 224, 0.2);
}
#main div.line .box.bg.yellow {
	background-color: rgba(246, 203, 0, 0.5);
}

@media screen and (min-width : 751px) {}
@media screen and (max-width : 1299px) {}
@media screen and (max-width : 950px) and (min-width : 751px) {
	#main div.line h2 {
		font-size: 18px;
		padding-bottom: 24px;
		margin: 33px 0 22px;
	}
	#main div.line .box {
		padding-top: 30px;
		padding-bottom: 36px;
	}
}
@media screen and (max-width : 750px) {
	#main div.line .box {
		padding-top: 25px;
		padding-bottom: 30px;
	}
	#main div.line h2 {
		font-size: 20px;
	}
	body.archive.info #main div.line .box.bg,
	body.archive.feature #main div.line .box.bg {
		background-color: rgba(107, 187, 224, 0.2);
	}
}
@media screen and (max-width : 415px) {}

/* line.new
------------------------------------------------------------------- */
#main div.line.new .inner {
	padding: 0;
}
#main div.line.new .box {
	width: 900px;
	max-width: 100%;
	margin: 0 auto;
	padding: 30px 60px;
	border-radius: 6px;
	border: 1px solid #ddd;
	position: relative;
}
#main div.line.new .box:after {
	content: '';
	position: absolute;
	right: -30px;
	bottom: -30px;
	width: 200px;
	height: 164px;
	background-image: url(../img/top/bg_new_evnets.svg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}

@media screen and (min-width : 751px) {}
@media screen and (max-width : 1299px) {
	#main div.line.new .box:after {
		right: 10px;
	}
}
@media screen and (max-width : 750px) {
	#main div.line.new .box {
		margin-bottom: 70px;
	}
	#main div.line.new .box:after {
		right: 0;
		bottom: -86px;
		background-size: 172px;
		background-position: right top;
	}
}
@media screen and (max-width : 415px) {}

/* new_events
------------------------------------------------------------------- */
.new_events {
	list-style-type: none;
	margin: 0;
	padding: 0;
}
.new_events > li + li {
	border-top: 1px dotted #ddd;
}
.new_events > li > a {
	display: block;
	text-decoration: none;
	padding: 1em 0;
}

@media screen and (min-width : 751px) {
	.new_events > li {
		text-align: center;
	}
	.new_events > li > a {
		-webkit-transition: all 0.1s linear;
		-o-transition: all 0.1s linear;
		transition: all 0.1s linear;
	}
	.new_events > li > a:hover {
		text-decoration: underline;
		color: #009FEC;
	}
}
@media screen and (max-width : 1299px) {}
@media screen and (max-width : 750px) {
	#main div.line.new {
		padding: 0 15px;
	}
	#main div.line.new .box {
		padding: 10px 15px 70px 15px;
	}
	.new_events > li {
		margin: 0;
	}
	.new_events > li > a {
		padding: 16px 0 7px;
		font-size: 14px;
		line-height: 1.71;
	}
}
@media screen and (max-width : 415px) {}

/* feature_cats
------------------------------------------------------------------- */
.feature_cats {
	list-style-type: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
}
.feature_cats > li {
	display: flex;
	margin: 20px 20px 0 0;
}
.feature_cats > li > a {
	display: block;
	padding: 8px;
	border-radius: 6px;
	text-decoration: none;
	background-color: #fff;
	box-shadow: 0 3px 6px rgba(107, 187, 224, 0.16);
}
.feature_cats > li > a img {
	display: inline-block;
	width: 100%;
	height: auto;
}
.feature_cats > li div.txt {
	padding: 12px;
}
.feature_cats > li div.txt > *:first-child { margin-top: 0; }
.feature_cats > li div.txt > *:last-child { margin-bottom: 0; }
.feature_cats > li h3 {
	padding-bottom: 30px;
	margin: 0 0 10px 0;
	background: url(../img/ico_split.svg) no-repeat left bottom;
	font-size: 18px;
	letter-spacing: 0.1em;
}
.feature_cats > li p {
	line-height: 1.7;
	letter-spacing: 0.1em;
}

@media screen and (min-width : 751px) {
	.feature_cats > li {
		width: calc((100% - 40px) / 3);
	}
	.msie .feature_cats > li:nth-child(3n+1),
	.msie .feature_cats > li:nth-child(3n+2) {
		margin-right: 19px;
	}
	.feature_cats > li:nth-child(-n+3) {
		margin-top: 0;
	}
	.feature_cats > li:nth-child(3n) {
		margin-right: 0;
	}
	.feature_cats > li > a img,
	.feature_cats > li > a h3 {
		-webkit-transition: all 0.1s linear;
		-o-transition: all 0.1s linear;
		transition: all 0.1s linear;
	}
	.feature_cats > li > a:hover h3 {
		color: #009FEC;
	}
	.feature_cats > li > a:hover img {
		-ms-filter: "alpha(opacity=70)";
		filter: alpha(opacity=70);
		opacity: 0.7;
	}
}
@media screen and (max-width : 1299px) {}
@media screen and (max-width : 950px) and (min-width : 751px) {
	.feature_cats > li {
		margin: 16px 16px 0 0;
		width: calc((100% - 32px) / 3);
	}
	.feature_cats > li div.txt {
		padding: 9px;
	}
	.feature_cats > li h3 {
		font-size: 15px;
		padding-bottom: 20px;
	}
	.feature_cats > li p {
		font-size: 12px;
	}
}
@media screen and (max-width : 750px) {}
@media screen and (max-width : 415px) {
	.feature_cats > li {
		margin-right: 0;
	}
}


/* characters
------------------------------------------------------------------- */
#main div.line.characters .box {
	width: 100%;
	border-top: 1px solid #F2F2F2;
	background: url(../img/feature/character/bg_characters.png) left top;
	background-size: 100px;
}
ul.characters {
	list-style-type: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
ul.characters > li {
	margin: 0 50px;
}
ul.characters > li > a {
	display: block;
	text-align: center;
	text-decoration: none;
}
ul.characters > li div.img {
	position: relative;
	margin: 0 auto;
	width: 150px;
	height: 150px;
	border-radius: 50%;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
ul.characters > li div.img:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 5px solid #67BBE2;
	border-radius: 50%;
}
ul.characters > li div.img img {
	border-radius: 50%;
}
ul.characters > li span.name {
	display: block;
	margin-top: 10px;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0.1em;
}

@media screen and (min-width : 751px) {
	ul.characters > li > a {
		-webkit-transition: all 0.1s linear;
		-o-transition: all 0.1s linear;
		transition: all 0.1s linear;
	}
	ul.characters > li > a:hover {
		-ms-filter: "alpha(opacity=70)";
		filter: alpha(opacity=70);
		opacity: 0.7;
	}
}
@media screen and (max-width : 1299px) {}
@media screen and (max-width : 950px) and (min-width : 751px) {
	ul.characters > li div.img {
		width: 120px;
		height: 120px;
	}
	ul.characters > li {
		margin: 0 20px;
	}
	ul.characters > li span.name {
		font-size: 16px;
		margin-top: 7px;
	}
}
@media screen and (max-width : 750px) {}
@media screen and (max-width : 415px) {
	ul.characters {
		justify-content: space-between;
	}
	ul.characters > li {
		margin: auto;
	}
	ul.characters > li div.img {
		width: 90px;
		height: 90px;
	}
	ul.characters > li span.name {
		font-size: 12px;
	}
}

/* about
------------------------------------------------------------------- */
#main div.line.about .box {
	width: 100%;
	padding-left: 50px;
	padding-right: 50px;
}
#main div.line.about .box .inner {
	position: relative;
	width: 930px;
	padding: 30px 40px 50px 40px;
	border-radius: 10px;
	background: url(../img/about/img_about_character.png) no-repeat right bottom;
	background-size: 214px;
	background-color: #fff;
}
#main div.line.about .box .inner > *:first-child { margin-top: 0; }
#main div.line.about .box .inner > *:last-child { margin-bottom: 0; }
#main div.line.about h2 {
	text-align: left;
	background-image: none;
	padding-bottom: 0;
}
#main div.line.about p {
	line-height: 1.7;
}
#main div.line.about p.btn {
	text-align: left;
}
#main div.line.about span.character {
	display: block;
	position: absolute;
	bottom: -48px;
	right: 0;
	text-align: center;
	font-size: 12px;
	font-weight: bold;
	line-height: 1.67;
	letter-spacing: 0.1em;
}

@media screen and (min-width : 751px) {}
@media screen and (max-width : 1299px) {}
@media screen and (max-width : 950px) and (min-width : 751px) {
	#main div.line.about .box {
		padding-left: 25px;
		padding-right: 25px;
	}
}
@media screen and (max-width : 750px) {
	#main div.line.about .box {
		padding: 22px 15px 76px 15px;
	}
	#main div.line.about .box .inner {
		padding: 22px;
		padding-bottom: 115px;
		background-size: 148px;
	}
	#main div.line.about h2 {
		text-align: center;
		font-size: 24px;
	}
	#main div.line.about p.btn a {
		width: 100%;
		padding: 16px;
	}
}
@media screen and (max-width : 415px) {
	#main div.line.about p.btn a {
		padding: 10px 16px;
	}
}

/* modal
------------------------------------------------------------------- */
#modal {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.9);
	z-index: 5100;
}
#modal.navbg {
	background-color: #ddd;
}
#modal.popup.on {
	display: block;
}

/* tags
------------------------------------------------------------------- */
ul.tags {
	list-style-type: none;
	padding: 0;
	margin: 10px 0;
}
ul.tags:after {
	display: block;
	clear: both;
	content: "";
}
ul.tags li {
	display: inline-block;
	float: left;
	margin: 4px 5px 5px 0;
}
ul.tags li a {
	display: block;
	padding: 0 4px;
	font-size: 12px;
	white-space: nowrap;
	height: 20px;
	line-height: 20px;
	font-weight: bold;
	text-decoration: none;
	color: #666;
	border-radius: 6px;
	background-color: rgba(246, 203, 0, 0.5);
	-webkit-transition: all 0.1s linear;
	-o-transition: all 0.1s linear;
	transition: all 0.1s linear;
}
ul.tags li a:hover {
	background-color: #F6CB00;
}

@media screen and (min-width : 751px) {}
@media screen and (max-width : 1299px) {}
@media screen and (max-width : 750px) {
	ul.tags li a {
		height: 23px;
		line-height: 23px;
		font-size: 11px;
	}
}
@media screen and (max-width : 415px) {}

/* images
------------------------------------------------------------------- */
ul.images {
	list-style-type: none;
	padding: 0;
	margin: 10px 0;
}
ul.images li {
	margin: 28px 0 0 0;
}
ul.images li a {
	display: block;
}

@media screen and (min-width : 751px) {
	ul.images {
		display: flex;
		flex-wrap: wrap;
	}
	ul.images li {
		width: calc((100% - 56px) / 3);
		margin-right: 28px;
	}
	ul.images li:nth-child(-n+3) {
		margin-top: 0;
	}
	ul.images li:nth-child(3n) {
		margin-right: 0;
	}
}
@media screen and (max-width : 1299px) {}
@media screen and (max-width : 750px) {
	ul.images li a {
		font-size: 11px;
	}
	ul.images li + li {
		margin-top: 30px;
	}
}
@media screen and (max-width : 415px) {}

/* events
------------------------------------------------------------------- */
ul.events {
	list-style-type: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
}
ul.events .event {
	display: flex;
	flex-wrap: wrap;
	padding: 0;
	padding-bottom: 0;
	margin: 80px 22px 0 0;
	width: calc((100% - 44px) / 3);
	background-color: #fff;
}
ul.events .event > .row {
	width: 100%;
}
ul.events .event > .row > .col {
	padding: 0 27px;
}

/* cat */
ul.events .event div.cat {
	text-align: center;
}
ul.events .event div.cat span {
	display: block;
}
ul.events .event div.cat span.ico img {
	width: 110px;
	height: auto;
}
ul.events .event div.cat span.label {
	display: inline-block;
	padding: 0 8px;
	margin-top: 6px;
	background-image: url(../img/ico_ribbon_l.svg), url(../img/ico_ribbon_r.svg);
	background-repeat: no-repeat, no-repeat;
	background-position: left bottom, right bottom;
	background-size: 8px, 8px;
	font-weight: bold;
}
ul.events .event div.cat span.label > span {
	min-width: 7.5em;
	height: 1.875em;
	padding: 0 0.75em;
	line-height: 1.875;
	background-color: #f2f2f2;
}

/* title */
ul.events .event div.title {
	margin-top: 14px;
	margin-bottom: 12px;
	display: flex;
	flex-wrap: wrap;
}
ul.events .event div.title h3 {
	margin: 0;
	width: 100%;
}
ul.events .event div.title h3 a {
	text-decoration: none;
}

/* target */
ul.events .event span.event_target {
	margin-top: 27px;
	margin-left: auto;
}
/* tags */
ul.events .event ul.tags {
	border-top: 1px solid #ddd;
	padding: 12px 0 0 0;
	margin: 0;
}

/* info */
ul.events .event > div.info {
	display: flex;
	width: 100%;
	margin-top: auto;
	padding-top: 12px;
}
ul.events .event > div.info > .areainfo {
	min-width: 110px;
	min-height: 65px;
	padding: 0 0.5em;
	background-color: #009FEC;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	white-space: nowrap;
	text-align: center;
	display: flex;
	align-items: center;
}
ul.events .event > div.info > .areainfo > span {
	display: block;
	width: 100%;
	text-align: center;
}
ul.events .event > div.info > .dateinfo {
	display: flex;
	flex-wrap: wrap;
	text-align: center;
	align-items: center;
	flex-grow: 1;
	background-color: #F2F2F2;
	color: #444;
	line-height: 1;
}
ul.events .event > div.info > .dateinfo > *:first-child { margin-top: auto; }
ul.events .event > div.info > .dateinfo > *:last-child { margin-bottom: auto; }
ul.events .event > div.info > .dateinfo .date {
	display: block;
	padding-top: 8px;
	padding-bottom: 8px;
	width: 100%;
	font-size: 12px;
	font-weight: bold;
	letter-spacing: 0.05em;
}
ul.events .event > div.info > .dateinfo .date > span {
	font-size: 24px;
}
ul.events .event > div.info > .dateinfo .deadline {
	display: block;
	width: 100%;
	font-size: 12px;
	letter-spacing: 0.1em;
}
ul.events .event > div.info > .dateinfo .date + .deadline {
	padding-bottom: 8px;
}

/* range */
ul.events .event.range > div.info > .dateinfo .date {
	font-size: 12px;
}
ul.events .event.range > div.info > .dateinfo .date > span {
	font-size: 20px;
}

/* today */
ul.events .event.today > div.info > .dateinfo > .today + * { margin-top: auto; }
ul.events .event.today > div.info {
	padding-top: 40px;
}
ul.events .event.today > div.info > .dateinfo {
	position: relative;
}
ul.events .event.today > div.info > .dateinfo > .today {
	position: absolute;
	top: -28px;
	left: calc(50% - 32px);
}
ul.events .event.today > div.info > .dateinfo > .today > span {
	display: block;
	position: relative;
	padding: 0 6px;
	background-color: #FC5700;
	color: #fff;
	font-size: 12px;
	line-height: 25px;
	height: 25px;
	font-weight: bold;
	letter-spacing: 0.1em;
	border-radius: 3px;
}
ul.events .event.today > div.info > .dateinfo > .today > span:after {
	content: '';
	display: block;
	width: 6px;
	height: 6px;
	position: absolute;
	top: 100%;
	left: calc(50% - 3px);
	border-top: 3px solid #FC5700;
	border-right: 3px solid transparent;
	border-left: 3px solid transparent;
}

@media screen and (min-width : 751px) {
	ul.events {
		margin-top: 55px;
	}
	ul.events .event {
		margin-top: 135px;
	}
	ul.events .event:nth-child(3n) {
		margin-right: 0;
	}
	ul.events .event:nth-child(-n+3) {
		margin-top: 0;
	}
	ul.events .event div.cat {
		margin-top: -55px;
		z-index: 10;
	}
	/* hover */
	ul.events .event {
		position: relative;
		cursor: pointer;
	}
	ul.events .event:before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		-webkit-transition: all 0.1s linear;
		-o-transition: all 0.1s linear;
		transition: all 0.1s linear;
		z-index: -1;
	}
	ul.events .event:hover:before {
		background-color: rgba(0, 0, 0, 0.1);
		top: -6px;
		left: -6px;
		width: calc(100% + 12px);
		height: calc(100% + 12px);
	}
}
@media screen and (max-width : 1299px) {}
@media screen and (max-width : 1299px) and (min-width : 751px) {
	ul.events {
		margin-top: 45px;
	}
	ul.events .event {
		width: calc((100% - 30px) / 3);
		margin-right: 15px;
		margin-top: 90px;
	}
	ul.events .event > .row > .col {
		padding: 0 17px;
	}
	ul.events .event div.cat {
		margin-top: -45px;
	}
	ul.events .event div.cat span.ico img {
		width: 90px;
	}
	ul.events .event div.title h3 {
		font-size: 14px;
	}
	ul.events .event div.cat span.label {
		padding: 0 6px;
		background-size: 6px, 6px;
	}
	ul.events .event div.cat span.label > span {
		font-size: 13px;
	}
	ul.events .event span.event_target {
		font-size: 10px;
		margin-top: 18px;
		padding: 5px 7px;
		padding-left: 27px;
		background-size: 17px;
		background-position: left 4px top 2px;
	}
	ul.events .event span.event_target:before {
		left: 22px;
	}
	ul.events .event ul.tags li a {
		font-size: 10px;
		height: 18px;
		line-height: 18px;
	}
	ul.events .event > div.info > .areainfo {
		font-size: 12px;
		min-width: 65px;
	}
	ul.events .event > div.info > .dateinfo .date > span {
		font-size: 18px;
	}
	ul.events .event.range > div.info > .dateinfo .date {
		font-size: 9px;
		letter-spacing: -0.05em;
	}
	ul.events .event.range > div.info > .dateinfo .date > span {
		font-size: 12px;
	}
	ul.events .event > div.info > .dateinfo .deadline {
		font-size: 10px;
		letter-spacing: 0;
	}
	/* today */
	ul.events .event.today > div.info > .dateinfo > .today {
		top: -29px;
		left: calc(50% - 32px);
	}
	ul.events .event.today > div.info > .dateinfo > .today > span {
		font-size: 11px;
		line-height: 24px;
		height: 24px;
	}
}
@media screen and (max-width : 850px) and (min-width : 751px) {
	ul.events {
		margin-top: 35px;
	}
	ul.events .event {
		margin-top: 70px;
	}
	ul.events .event div.cat {
		margin-top: -35px;
	}
	ul.events .event div.cat span.ico img {
		width: 70px;
	}
	ul.events .event div.title h3 {
		font-size: 13px;
	}
	ul.events .event div.cat span.label > span {
		font-size: 12px;
	}
}
@media screen and (max-width : 750px) {
	ul.events .event {
		width: 100%;
		margin-top: 15px;
		margin-right: 0;
		cursor: pointer;
		-webkit-tap-highlight-color: rgba(0,0,0,0.2);
	}
	ul.events .event > .row {
		display: flex;
	}
	ul.events .event > .row > .col {
		padding: 0 13px;
		flex-grow: 1;
	}
	ul.events .event > .row > .col.cat,
	ul.events .event > .row > .col.title {
		margin-top: 22px;
	}
	ul.events .event > .row > .col.title {
		padding-left: 0;
	}
	ul.events .event div.title h3 {
		font-size: 16px;
	}
	ul.events .event span.event_target {
		margin-top: 30px;
	}
	ul.events .event div.cat span.ico img {
		width: 85px;
	}
	ul.events .event div.cat span.label {
		padding: 0 5px;
		background-size: 6px, 6px;
	}
	ul.events .event div.cat span.label > span {
		font-size: 10px;
		height: 22px;
		line-height: 22px;
		white-space: nowrap;
	}
	ul.events .event div.cat span.label.long > span {
		font-size: 10px; /* fallback */
		font-size: 9px; /* fallback */
		font-size: 8px;
	}
	ul.events .event ul.tags {
		padding-top: 10px;
		margin-top: 10px;
	}
	ul.events .event > div.info > .areainfo {
		min-width: 105px;
	}
	ul.events .event > div.info > .dateinfo .date > span {
		font-size: 18px;
	}
	ul.events .event.range > div.info > .dateinfo .date {
		font-size: 11px;
		letter-spacing: 0;
	}
	ul.events .event.range > div.info > .dateinfo .date > span {
		font-size: 18px;
		letter-spacing: 0.05em;
	}
	ul.events .event > div.info > .dateinfo .deadline {
		font-size: 11px;
	}
	/* today */
	ul.events .event.today > div.info > .dateinfo > .today {
		top: -33px;
		left: calc(50% - 32px);
	}
	ul.events .event.today > div.info > .dateinfo > .today > span {
		font-size: 11px;
		line-height: 30px;
		height: 30px;
	}
}
@media screen and (max-width : 415px) {
	ul.events .event > div.info > .areainfo {
		min-width: 80px;
		/*height: 65px;*/
		font-size: 14px;
	}
	ul.events .event.range > div.info > .dateinfo .date {
		font-size: 10px;
	}
	ul.events .event.range > div.info > .dateinfo .date > span {
		font-size: 16px;
	}
}
@media screen and (max-width : 370px) {
	ul.events .event div.title h3 {
		font-size: 14px;
	}
	ul.events .event > div.info > .areainfo {
		font-size: 12px;
		min-width: 55px;
		min-height: 55px;
	}
	ul.events .event.range > div.info > .dateinfo .date {
		font-size: 9px;
		letter-spacing: 0;
	}
	ul.events .event.range > div.info > .dateinfo .date > span {
		font-size: 13px;
	}
}

/* events.slider
------------------------------------------------------------------- */

@media screen and (min-width : 751px) {}
@media screen and (max-width : 1299px) {}
@media screen and (max-width : 1299px) and (min-width : 751px) {}
@media screen and (max-width : 750px) {
	ul.events.slider {
		margin-top: 20px;
	}
	ul.events.slider .event {
		float: none;
		margin-left: 11px;
		margin-right: 11px;
	}
	ul.events.slider .event > .row {
		display: block;
	}
	ul.events.slider .event > .row > .col.title {
		padding-left: 13px;
	}
	ul.events.slider .event > .row > .col.cat {
		margin-top: -42px;
		z-index: 10;
	}

	/* slick */
	body.home div.line.events .inner {
		padding: 0;
	}
	ul.events.slider:not(.slick-initialized) {
		display: none;
	}
	ul.events.slider.slick-initialized .slick-track {
		display: flex;
		padding-top: 42px;
	}
	ul.events.slider.slick-initialized .slick-slide {
		display: flex;
		height: auto;
		float: none;
		margin: 0 5px;
	}
	ul.events.slider.slick-initialized .slick-slide img {
		display: inline-block;
	}
	ul.events.slider .slick-prev,
	ul.events.slider .slick-next {
		width: 50px;
		height: 50px;
		background-repeat: no-repeat;
		background-position: center;
		z-index: 100;
		-ms-filter: "alpha(opacity=100)";
		filter: alpha(opacity=100);
		opacity: 1;
	}
	ul.events.slider .slick-prev {
		left: 0;
		background-image: url(../img/ico_slide_prev.svg);
	}
	ul.events.slider .slick-next {
		right: 0;
		background-image: url(../img/ico_slide_next.svg);
	}
	ul.events.slider .slick-prev:before,
	ul.events.slider .slick-next:before {
		display: none;
	}
}
@media screen and (max-width : 415px) {}

/* open_events
------------------------------------------------------------------- */
ul.open_events {
	list-style-type: none;
	margin: 0;
	padding: 0;
	display: flex;
	width: calc(100% + 22px);
}
ul.open_events li {
	display: flex;
	padding: 0;
	padding-bottom: 0;
	margin: 0 22px 0 0;
	width: calc((100% - 44px) / 3);
	border-radius: 6px;
}
ul.open_events li > span.bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 10;
	border-radius: 6px;
	background-repeat: no-repeat;
	background-size: cover;
}
ul.open_events li > a {
	width: 100%;
	display: flex;
	padding: 22px;
	z-index: 100;
}
ul.open_events li > a > div.txt {
	width: 100%;
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	padding: 22px;
	background-color: rgba(255,255,255,0.78);
	text-align: center;
	-webkit-transition: all 0.1s linear;
	-o-transition: all 0.1s linear;
	transition: all 0.1s linear;
}
ul.open_events li > a > div.txt > *:first-child { margin-top: auto; }
ul.open_events li > a > div.txt > *:last-child { margin-bottom: auto; }

ul.open_events li > a > div.txt h3,
ul.open_events li > a > div.txt p {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}
ul.open_events li > a > div.txt h3 {
	margin-bottom: 0;
	font-size: 18px;
	letter-spacing: 0.1em;
}
ul.open_events li > a > div.txt p {
	font-size: 16px;
	color: #009FEC;
	letter-spacing: 0.1em;
	font-weight: bold;
}
ul.open_events li > .row {
	width: 100%;
}
ul.open_events li > .row > .col {
	padding: 0 27px;
}

/* title */
ul.open_events li div.title {
	margin-top: 14px;
}
ul.open_events li div.title h3 {
	margin: 0;
}
ul.open_events li div.title h3 a {
	text-decoration: none;
}

/* hover */
ul.open_events li {
	position: relative;
	cursor: pointer;
}
ul.open_events li > a {
	text-decoration: none;
	-webkit-transition: all 0.1s linear;
	-o-transition: all 0.1s linear;
	transition: all 0.1s linear;
}
ul.open_events li > a:hover div.txt {
	background-color: rgba(255,255,255,1);
}

@media screen and (min-width : 751px) {
	/* slick */
	ul.open_events:not(.slick-initialized) {
		display: none;
	}
	ul.open_events.slick-initialized .slick-track {
		display: flex;
	}
	ul.open_events.slick-initialized .slick-slide {
		display: flex;
		height: auto;
		float: none;
	}
	ul.open_events .slick-prev,
	ul.open_events .slick-next {
		width: 50px;
		height: 50px;
		background-repeat: no-repeat;
		background-position: center;
		z-index: 100;
		-ms-filter: "alpha(opacity=100)";
		filter: alpha(opacity=100);
		opacity: 1;
	}
	ul.open_events .slick-prev {
		left: -13px;
		background-image: url(../img/ico_slide_prev.svg);
	}
	ul.open_events .slick-next {
		right: 6px;
		background-image: url(../img/ico_slide_next.svg);
	}
	ul.open_events .slick-prev:before,
	ul.open_events .slick-next:before {
		display: none;
	}
}
@media screen and (max-width : 1299px) {}
@media screen and (max-width : 950px) and (min-width : 751px) {
	ul.open_events {
		width: calc(100% + 16px);
	}
	ul.open_events li {
		margin-right: 16px;
	}
	ul.open_events li > a {
		padding: 16px;
	}
	ul.open_events li > a > div.txt {
		padding: 16px;
	}
	ul.open_events li > a > div.txt h3 {
		font-size: 14px;
	}
	ul.open_events li > a > div.txt p {
		font-size: 14px;
	}
	ul.open_events .slick-next {
		right: 2px;
	}
}
@media screen and (max-width : 750px) {
	ul.open_events {
		width: 100%;
		flex-wrap: wrap;
	}
	ul.open_events li {
		width: calc((100% - 17px) / 2);
		margin-top: 19px;
		margin-right: 17px;
	}
	ul.open_events li:nth-child(2n) {
		margin-right: 0;
	}
	ul.open_events li:nth-child(-n+2) {
		margin-top: 0;
	}
	ul.open_events li > a {
		padding: 10px 7px;
	}
	ul.open_events li > a > div.txt {
		padding: 10px;
	}
	ul.open_events li > a > div.txt h3,
	ul.open_events li > a > div.txt p {
		font-size: 12px;
	}
}
@media screen and (max-width : 415px) {
	ul.open_events li {
		width: calc((100% - 15px) / 2);
		margin-top: 15px;
		margin-right: 15px;
	}
}
@media screen and (max-width : 370px) {
	ul.open_events li > a > div.txt h3,
	ul.open_events li > a > div.txt p {
		font-size: 11px;
	}
}

/* features
------------------------------------------------------------------- */
ul.features {
	list-style-type: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
}
ul.features .feature {
	display: flex;
	flex-wrap: wrap;
	padding: 0;
	padding-bottom: 0;
	margin: 20px 20px 0 0;
	width: calc((100% - 20px) / 2);
	background-color: #fff;
	border-radius: 6px;
}
ul.features .feature > a {
	padding: 16px 28px 30px 28px;
	text-decoration: none;
}

/* info */
ul.features .feature div.info {
	display: flex;
	align-items: center;
	border-bottom: 1px dashed #ddd;
	margin-bottom: 16px;
	padding-bottom: 9px;
}
ul.features .feature div.info > span {
	font-size: 14px;
	color: #666;
}
ul.features .feature div.info span.date {}
ul.features .feature div.info span.cat {
	margin-left: auto;
	padding-left: 26px;
	background: url(../img/ico_cat.svg) no-repeat left center;
	font-weight: bold;
	letter-spacing: 0.1em;
	background-size: contain;
}
/* title */
ul.features .feature h3 {
	font-size: 18px;
	padding-bottom: 15px;
	margin: 0 0 14px 0;
	background: url(../img/ico_split.svg) no-repeat left bottom;
}
/* lead */
ul.features .feature p {
	margin-bottom: 0;
	color: #444;
}

@media screen and (min-width : 751px) {
	ul.features .feature:nth-child(2n) {
		margin-right: 0;
	}
	ul.features .feature:nth-child(-n+2) {
		margin-top: 0;
	}
	/* hover */
	ul.features .feature > a h3 {
		-webkit-transition: all 0.1s ease-out;
		-o-transition: all 0.1s ease-out;
		transition: all 0.1s ease-out;
	}
	ul.features .feature > a:hover h3 {
		color: #009FEC;
	}
}
@media screen and (max-width : 1299px) {}
@media screen and (max-width : 750px) {
	ul.features .feature {
		width: 100%;
		margin-top: 15px;
		margin-right: 0;
	}
	ul.features .feature div.info > span {
		font-size: 12px;
	}
	ul.features .feature h3 {
		font-size: 16px;
	}
	ul.features .feature p {
		font-size: 16px;
		line-height: 1.6875;
	}
}
@media screen and (max-width : 415px) {}

/* searchbox
------------------------------------------------------------------- */
.searchbox {}
.searchbox .inner {}
.searchbox .box {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	border-top: 1px solid #ddd;
	padding: 35px 0 40px 0;
}
.searchbox .col {
	width: calc((100% - 75px) / 4);
	max-width: 100%;
}
.searchbox .col span {
	display: block;
	width: 100%;
	color: #444;
	font-size: 16px;
	font-weight: bold;
	letter-spacing: 0.1em;
}
.searchbox .col.submit {
	width: calc((100% - 50px) / 2);
}

.searchbox .opener {
	height: 40px;
	margin-left: -15px;
	width: calc(100% + 30px);
}
.searchbox .opener a {
	display: none;
	padding: 15px;
	font-size: 12px;
	font-weight: bold;
	letter-spacing: 0.1em;
	background-color: #F2F2F2;
	background-repeat: no-repeat;
	background-position: right 15px center;
	text-decoration: none;
}
.searchbox .opener a.on {
	display: block;
}
.searchbox .opener a.open {
	background-image: url(../img/ico_arrow_down.svg);
}
.searchbox .opener a.close {
	background-image: url(../img/ico_arrow_up.svg);
}
.searchbox select.on,
.searchbox input[type="text"].on {
	border-color: rgba(107, 187, 224, 0.5);
	background-color: rgba(107, 187, 224, 0.15);
}

@media screen and (min-width : 751px) {
	.searchbox .col + .col {
		margin-left: 25px;
	}
	.searchbox .col.submit {
		padding-top: 32px;
		margin-left: auto;
	}
	.searchbox .opener {
		display: none;
	}
}
@media screen and (max-width : 1299px) {}
@media screen and (max-width : 950px) and (min-width : 751px) {
	.searchbox .box {
		padding: 26px 0 30px 0;
	}
	.searchbox .col {
		width: calc((100% - 60px) / 4);
	}
	.searchbox .col + .col {
		margin-left: 20px;
	}
	.searchbox .col span {
		font-size: 13px;
	}
	.searchbox .col.submit {
		padding-top: 26px;
		width: calc((100% - 40px) / 2);
	}
}
@media screen and (max-width : 750px) {
	.searchbox {
		border-top: 1px solid #ddd;
	}
	.searchbox .box {
		display: none;
		border-top: 0;
		padding: 16px 0 20px 0;
	}
	.searchbox .box.on {
		display: block;
	}
	.searchbox .col {
		width: 100%;
	}
	.searchbox .col + .col {
		margin-top: 12px;
	}
	.searchbox .col.submit {
		width: 100%;
		margin-top: 22px;
	}
	.searchbox input[type="text"],
	.searchbox input[type="submit"],
	.searchbox select {
		width: 100%;
	}
}
@media screen and (max-width : 415px) {}

/* searchbox.info
------------------------------------------------------------------- */
.searchbox.info .col.keyword {
	width: 500px;
}
.searchbox.info .col.keyword input[type="text"] {
	width: 100%;
}

@media screen and (min-width : 751px) {}
@media screen and (max-width : 1299px) {}
@media screen and (max-width : 750px) {}
@media screen and (max-width : 415px) {}

/* searchbox.event
------------------------------------------------------------------- */
.searchbox.event {}
.searchbox.event .col.date {
	width: calc(((100% - 75px) / 2) + 25px);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.searchbox.event .col.date span:not(.range) {
	width: 100%;
}
.searchbox.event .col.date input {
	width: calc((100% - 20px) / 2);
}
.searchbox.event .col.date > span.range {
	display: inline-block;
	width: 20px;
	text-align: center;
	font-size: 10px; /* fallback */
	font-size: 9px; /* fallback */
	font-size: 8px;	
}
.searchbox.event .col.target {
	margin-left: 0;
}

@media screen and (min-width : 751px) {
	.searchbox.event .col.date input {
		width: calc((100% - 20px) / 2);
	}
	.searchbox.event .col.submit {
		width: calc((100% - 75px) / 4);
	}
}
@media screen and (max-width : 1299px) {}
@media screen and (max-width : 950px) and (min-width : 751px) {
	.searchbox.event .col.date {
		width: calc(((100% - 60px) / 2) + 20px);
	}
	.searchbox.event .col.date input {
		width: calc((100% - 20px) / 2);
	}
	.searchbox .col.submit {
		width: calc((100% - 60px) / 4);
	}
}
@media screen and (max-width : 750px) {
	.searchbox.event .col.date {
		width: 100%;
	}
}
@media screen and (max-width : 415px) {}

/* datepicker
------------------------------------------------------------------- */
.datepicker {
	position: absolute;
	background-color: #fff;
	padding: 8px;
	border-radius: 2px;
	box-shadow: 0 12px 15px 0 rgba(0,0,0,0.24);
}
.datepicker table tr th,
.datepicker table tr td {
	padding: 0.75em;
	line-height: 1;
	font-size: 14px;
}
.datepicker table tr th.dow {
	font-size: 0.8em;
	height: 60px;
	vertical-align: bottom;
	color: #999;
	font-weight: normal;
}
.datepicker table tr td.day {
	border-radius: 50%;
	padding: 0;
	height: 48px;
	line-height: 48px;
	width: 48px;
	letter-spacing: 0.1em;
}
.datepicker table tr td.today {
	background-color: rgba(0, 159, 236, 0.15);
}
.datepicker table tr td.today:focus,
.datepicker table tr td.today:active,
.datepicker table tr td.today:hover, 
.datepicker table tr td.today.disabled,
.datepicker table tr td.today.disabled:active {
	background-color: rgba(0, 159, 236, 0.35);
}
.datepicker table tr td.old,
.datepicker table tr td.new {
	cursor: default!important;
	-ms-filter: "alpha(opacity=0)";
	filter: alpha(opacity=0);
	opacity: 0;
}
.datepicker table tr td.disabled,
.datepicker table tr td.disabled:active,
.datepicker table tr td.disabled:hover {
	color: #9aa0a6;
}
.datepicker table tr td.active.day,
.datepicker table tr td.active.day:active,
.datepicker table tr td.active.day:hover {
	background-color: rgba(0, 159, 236, 0.8);
}


@media screen and (min-width : 751px) {}
@media screen and (max-width : 1299px) {}
@media screen and (max-width : 750px) {
	.datepicker table tr th,
	.datepicker table tr td {
		display: table-cell;
		font-size: 11px;
	}
	.datepicker table tr th.dow {
		height: 40px;
		font-size: 11px;
	}
	.datepicker table tr td.day {
		height: 34px;
		line-height: 34px;
		width: 34px;
	}
}
@media screen and (max-width : 415px) {}

/* pageTitle
------------------------------------------------------------------- */
#pageTitle {
	padding: 52px 0 0 0;
	margin-bottom: 32px;
}
#pageTitle .inner {
	width: 900px;
}
#pageTitle .inner > .box {
	padding-bottom: 22px;
}
#pageTitle .inner > .box > *:first-child { margin-top: 0; }
#pageTitle .inner > .box > *:last-child { margin-bottom: 0; }

#pageTitle h1 {
	text-align: center;
	padding-bottom: 30px;
	margin: 44px 0 30px 0;
	background: url(../img/ico_split.svg) no-repeat center bottom;
}

@media screen and (min-width : 751px) {}
@media screen and (max-width : 1299px) {}
@media screen and (max-width : 950px) and (min-width : 751px) {
	#pageTitle {
		padding-top: 40px;
		padding-bottom: 24px;
		margin-bottom: 24px;
	}
}
@media screen and (max-width : 750px) {
	#pageTitle {
		padding-top: 28px;
		margin-bottom: 0;
	}
	#pageTitle h1 {
		padding-bottom: 22px;
		margin-bottom: 0;
	}
}
@media screen and (max-width : 415px) {}

/* postTitle
------------------------------------------------------------------- */
#postTitle {
	padding: 52px 0 0 0;
	margin-bottom: 32px;
}
#postTitle .inner {
	width: 900px;
}
#postTitle .inner > .box {
	padding-bottom: 22px;
	border-bottom: 1px solid #ddd;
}
#postTitle .inner > .box > *:first-child { margin-top: 0; }
#postTitle .inner > .box > *:last-child { margin-bottom: 0; }

/* cat */
#postTitle div.cat {
	text-align: center;
	line-height: 1;
}
#postTitle div.cat span {
	display: block;
}
#postTitle div.cat span.ico img {
	width: 110px;
	height: auto;
}
#postTitle div.cat span.label {
	display: inline-block;
	padding: 0 8px;
	margin-top: 5px;
	font-size: 14px;
	background-image: url(../img/ico_ribbon_l.svg), url(../img/ico_ribbon_r.svg);
	background-repeat: no-repeat, no-repeat;
	background-position: left bottom, right bottom;
	background-size: 8px, 8px;
	font-weight: bold;
}
#postTitle div.cat span.label > span {
	min-width: 7.5em;
	height: 30px;
	padding: 0 0.75em;
	line-height: 30px;
	background-color: #f2f2f2;
}

#postTitle h1 {
	padding-bottom: 30px;
	margin: 18px 0 30px 0;
	background: url(../img/ico_split.svg) no-repeat left bottom;
}
#postTitle div.info {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
#postTitle div.info > span {
	display: inline-block;
	line-height: 1;
	margin-right: 17px;
	margin-bottom: 5px;
}
#postTitle div.info > span.date {
	line-height: 2;
	padding-left: 24px;
	background: url(../img/ico_clock.svg) no-repeat left center;
}
#postTitle div.info > span.deadline {
	padding: 7px 8px;
	font-size: 12px;
	border: 1px solid #ddd;
	border-radius: 3px;
}
#postTitle div.info > span.deadline > span.label {
	border-right: 1px solid #ddd;
	padding-right: 6px;
	margin-right: 4px;
}
#postTitle div.info > span.cat {
	line-height: 2;
	padding-left: 26px;
	background: url(../img/ico_cat.svg) no-repeat left center;
	font-weight: bold;
	letter-spacing: 0.1em;
}
#postTitle div.info > span.event_date {
	line-height: 2;
	padding-left: 24px;
	background: url(../img/ico_calendar.svg) no-repeat left center;
}
#postTitle div.info > span.event_status {
	background-color: #FC5700;
	color: #fff;
	border-radius: 3px;
	padding: 8px 16px;
	letter-spacing: 0.1em;
	font-weight: bold;
	font-size: 12px;
}
#postTitle div.info > span.sns {
	white-space: nowrap;
	margin-right: 0;
}
#postTitle div.info > span.sns > a + a {
	margin-left: 7px;
	border-radius: 3px;
}

@media screen and (min-width : 751px) {
	#postTitle h1 {
		margin-bottom: 0;
	}
	#postTitle div.info > span.sns {
		margin-left: auto;
	}
}
@media screen and (max-width : 1299px) {}
@media screen and (max-width : 750px) {
	#postTitle {
		padding-top: 25px;
	}
	#postTitle .inner > .box {
		padding-bottom: 10px;
	}
	#postTitle div.cat span.ico img {
		width: 85px;
	}
	#postTitle div.cat span.label {
		margin-top: 4px;
		padding: 0 5px;
		background-size: 6px, 6px;
	}
	#postTitle div.cat span.label > span {
		font-size: 10px;
		height: 22px;
		line-height: 22px;
	}
	#postTitle h1 {
		padding-bottom: 17px;
		margin-top: 13px;
		margin-bottom: 15px;
	}
	#postTitle div.info > span {
		margin-right: 10px;
	}
	#postTitle div.info > span.date {
		font-size: 12px;
	}
	#postTitle div.info > span.cat {
		font-size: 12px;
		background-size: 16px;
		padding-left: 23px;
	}
	#postTitle div.info > span.event_date {
		font-size: 12px;
		margin-right: 20px;
	}
	#postTitle div.info > span.event_status {
		font-size: 12px;
		padding: 8px;
	}
	#postTitle div.info > span.event_target:before {
		left: 23px;
	}
	#postTitle div.info > span.sns {
		margin: 20px 0 0 0;
		display: flex;
		width: 100%;
		justify-content: flex-end;
	}
	body.page #postTitle div.info > span.sns {
		margin-top: 0;
	}
}
@media screen and (max-width : 415px) {}
@media screen and (max-width : 374px) {
	#postTitle div.info > span.event_date {
		padding-left: 22px;
		font-size: 11px;
		margin-right: 10px;
	}
	#postTitle div.info > span.event_status {
		padding: 8px 6px;
		font-size: 11px;
	}
	#postTitle div.info > span.event_target:before {
		left: 20px;
	}
	#postTitle div.info > span.sns {
		margin-top: 15px;
	}
}

/* postLead
------------------------------------------------------------------- */
#postLead {
	margin-top: 32px;
}
#postLead .inner {}
#postLead .box {
	width: 800px;
	max-width: 100%;
	margin: 0 auto;
	padding: 17px 32px 30px 32px;
	border-radius: 6px;
	background: rgba(107, 187, 224, 0.2);
}
#postLead .box > *:first-child { margin-top: 0; }
#postLead .box > *:last-child { margin-bottom: 0; }
#postLead h2 {
	letter-spacing: 0.1em;
	text-align: center;
	color: #009fec;
}
#postLead ul > li {
	margin: 0;
	padding: 11px 0 9px;
	line-height: 1.7;
	font-weight: bold;
	letter-spacing: 0.1em;
	border-bottom: 1px dashed #ddd;
}

@media screen and (min-width : 751px) {}
@media screen and (max-width : 1299px) {}
@media screen and (max-width : 750px) {
	#postLead .box {
		padding: 12px 16px 30px 16px;
	}
	#postLead h2 {
		font-size: 18px;
		margin-bottom: 5px;
	}
	#postLead ul > li {
		font-size: 14px;
	}
}
@media screen and (max-width : 415px) {}

/* postContent
------------------------------------------------------------------- */
#postContent {
	margin: 30px 0 50px 0;
	word-break: break-word;
}
#postContent .inner {
	width: 900px;
}
#postContent .inner > *:first-child { margin-top: 0!important; }
#postContent .inner > *:last-child { margin-bottom: 0!important; }

#postContent div {
	max-width: 100%;
}
#postContent h2 {
	padding-bottom: 17px;
	margin-bottom: 20px;
	background: url(../img/ico_split_dot.svg) no-repeat left bottom;
}
#postContent h3 {
	padding-left: 22px;
	position: relative;
	background: url(../img/ico_marker.svg) no-repeat left top 0.7em;
}
#postContent h2 + h3 {
	margin-top: 20px;
}
#postContent p {
	/*text-align: justify;*/
}
#postContent .inner p > img + img {
	margin-top: 15px;
}
#postContent img {
	width: auto;
	height: auto;
	text-align: center;
}
#postContent a {
	display: inline-block;
	color: #009FEC;
}
#postContent ul.tags li a {
	color: #666;
}
#postContent br + a.img,
#postContent a.img + br {
	margin-top: 20px;
}

#postContent ul:not([class]) > li,
#postContent ol:not([class]) > li {
	margin: 0;
	line-height: 1.7;
}
#postContent ul:not([class]) > li + li,
#postContent ol:not([class]) > li + li {
	margin-top: 1em;
}
#postContent li > *:first-child { margin-top: 0; }
#postContent li > *:last-child { margin-bottom: 0; }

#postContent iframe {
	max-width: 100%;
	margin: 20px 0;
}
#postContent .map iframe {
	width: 100%;
}
#postContent div.note {
	margin-top: 40px;
	padding-top: 22px;
	border-top: 1px solid #ddd;
}
#postContent div.note > *:first-child { margin-top: 0; }
#postContent div.note > *:last-child { margin-bottom: 0; }

@media screen and (min-width : 751px) {}
@media screen and (max-width : 1299px) {}
@media screen and (max-width : 750px) {
	#postContent {
		word-break: break-word;
	}
	#postContent .inner .maps {
		width: calc(100% + 40px);
		margin-left: -20px;
	}
	#postContent .inner iframe {
		width: 100%;
		height: 300px;
	}
}
@media screen and (max-width : 415px) {}

/* postContent - summary
------------------------------------------------------------------- */
.summary {
	width: 800px;
	max-width: 100%;
	margin: 0 auto 32px auto;
	padding: 17px 32px 30px 32px;
	border-radius: 6px;
	background: rgba(107, 187, 224, 0.2);
}
.summary > *:first-child { margin-top: 0; }
.summary > *:last-child { margin-bottom: 0; }
.summary h2 {
	letter-spacing: 0.1em;
	text-align: center;
	color: #009fec;
}
.summary ul > li {
	margin: 0;
	padding: 11px 0 9px;
	line-height: 1.7;
	font-weight: bold;
	letter-spacing: 0.1em;
	border-bottom: 1px dashed #ddd;
}
#postContent .summary h2 {
	background-image: none;
	padding-bottom: 0;
}
#postContent .summary ul > ul {
	padding: 0;
	margin: 0;
}
#postContent .summary ul > li h3 {
	padding-left: 0;
	background-image: none;
}

@media screen and (min-width : 751px) {}
@media screen and (max-width : 1299px) {}
@media screen and (max-width : 750px) {
	.summary {
		padding: 12px 16px 30px 16px;
	}
	.summary h2 {
		font-size: 18px;
		margin-bottom: 5px;
	}
	.summary ul > li {
		font-size: 14px;
	}
}
@media screen and (max-width : 415px) {}

/* post-conent - event
------------------------------------------------------------------- */
#postContent.event h2 {
	background-image: none;
	padding: 0;
	text-align: left;
	margin-bottom: 20px;
	font-size: 30px;
	line-height: 1;
	letter-spacing: 0.024em;
}
#postContent.event h3 {
	margin-top: 2.27em;
	margin-top: 1.81em;
	margin-bottom: 0.81em;
}
#postContent ul.menulist {
	list-style-type: none;
	padding: 0;
	width: 100%;
}
#postContent ul.menulist:after {
	content: '';
	display: block;
	clear: both;
}
#postContent ul.menulist li {
	float: left;
	width: 48%;
	margin-top: 80px;
	margin-right: 4%;
}
#postContent ul.menulist li:nth-child(-n+2) {
	margin-top: 0;
}
#postContent ul.menulist li:nth-child(2n) {
	margin-right: 0;
}
#postContent ul.menulist li div.photo {}
#postContent ul.menulist li div.photo + div.txt {
	margin-top: 20px;
}
#postContent ul.menulist li div.txt > *:first-child { margin-top: 0; }
#postContent ul.menulist li div.txt > *:last-child { margin-bottom: 0; }
#postContent ul.menulist li h4 {
	font-size: 18px;
	color: #020202;
	margin: 0 0 0.75em 0;
}
#postContent ul.menulist li p {
	font-size: 17px;
}

@media screen and (min-width : 769px) {}
@media screen and (min-width : 415px) {}
@media screen and (max-width : 1280px) {}
@media screen and (max-width : 768px) {}
@media screen and (max-width : 415px) {
	#postContent.event h2 {
		font-size: 22px;
		margin-top: 60px;
	}
	#postContent ul.menulist li {
		width: 100%;
		margin-top: 40px;
	}
	#postContent ul.menulist li:nth-child(2) {
		margin-top: 40px;
	}
	#postContent ul.menulist li:after {
		content: '';
		display: block;
		clear: both;
	}
	#postContent ul.menulist li div.photo {
		float: left;
		width: 41.79%;
	}
	#postContent ul.menulist li div.txt {
		font-size: 15px;
		margin: 0;
	}
	#postContent ul.menulist li div.photo + div.txt {
		float: right;
		width: 54.32%;
		margin: 0;
	}
	#postContent ul.menulist li h4,
	#postContent ul.menulist li p {
		font-size: 15px;
		letter-spacing: 0;
		line-height: 1.7;
	}
}
@media screen and (max-width : 320px) {}

/* event_profile
------------------------------------------------------------------- */
#postContent div.profile div.txt > *:first-child { margin-top: 0; }
#postContent div.profile div.txt > *:last-child { margin-bottom: 0; }

@media screen and (min-width : 751px) {
	#postContent div.profile {
		width: 100%;
		display: flex;
	}
	#postContent div.profile > div {
		flex-grow: 1; 
		flex-shrink: 1; 
	}
	#postContent div.profile div.photo {
		width: 34%;
	}
	#postContent div.profile div.txt {
		width: 66%;
		margin-left: auto;
	}
	#postContent div.profile div.photo + div.txt {
		padding-left: 44px;
	}
	#postContent div.profile.not_h3 div.photo + div.txt {
		margin-top: -0.65em;
	}
}
@media screen and (max-width : 1299px) {}
@media screen and (max-width : 750px) {
	#postContent div.profile div.photo + div.txt {
		margin-top: 20px;
	}
}
@media screen and (max-width : 415px) {}

/* post-info
------------------------------------------------------------------- */
#postInfo {
	margin: 50px auto 30px auto;
}
#postInfo .inner {
	width: 744px;
	max-width: 100%;
	padding: 25px 20px 25px 25px;
	border: 1px solid #d6d6d6;
	display: table;
}
#postInfo .inner .row {
	display: table-row;
}
#postInfo div.info,
#postInfo div.share {
	display: table-cell;
}
#postInfo div.info {
	line-height: 1.5;
}
#postInfo div.info span.cat,
#postInfo div.info span.date {
	font-size: 13px;
	vertical-align: top;
}
#postInfo div.info span.cat {
	color: #ED6103;
	font-weight: 900;
}
#postInfo div.info span.date {
	color: #c7c7c7;
	margin-left: 1.5em;
}
#postInfo div.info span.title {
	display: block;
	font-weight: bold;
	font-size: 18px;
}
#postInfo div.info span.editor {
	font-size: 10px;
	font-weight: bold;
	color: #5f5f5f;
}
#postInfo div.info ul.tags {
	margin-top: 10px;
}
#postInfo div.share {
	margin-left: 20px;
	text-align: right;
	vertical-align: middle;
	white-space: nowrap;
}
#postInfo div.share span {
	font-size: 13px;
	color: #000;
	display: inline-block;
	line-height: 30px;
	margin-right: 10px;
	font-weight: normal;
}
#postInfo div.share ul.sns {
	display: inline-block;
	margin: 0;
}
#postInfo div.share ul.sns li {
	margin-bottom: 0;
	padding: 0;
}
#postInfo div.share ul.sns li a {
	vertical-align: middle;
	padding: 0 5px;
}

@media screen and (min-width : 769px) {}
@media screen and (min-width : 416px) {}
@media screen and (max-width : 1280px) {}
@media screen and (max-width : 800px) {
	#postInfo .inner {
		width: calc(100% - 60px);
	}
}
@media screen and (max-width : 415px) {
	#postInfo {
		margin: 30px 0 45px 0;
		line-height: 2;
		padding: 0 20px;
	}
	#postInfo .inner {
		width: 100%;
	}
	#postInfo .inner,
	#postInfo .inner .row {
		display: block;
	}
	#postContent + #postInfo {
		margin-top: 0;
	}
	#postInfo div.info,
	#postInfo div.share {
		display: block;
	}
	#postInfo div.info span.date {
		font-weight: bold;
	}
	#postInfo div.info span.editor {
		font-size: 11px;
	}
	#postInfo div.share {
		text-align: left;
		margin-top: 30px;
	}
}
@media screen and (max-width : 320px) {
	#postInfo div.info span.cat,
	#postInfo div.info span.date {
		font-size: 11px;
	}
	#postInfo div.info span.title {
		font-size: 16px;
	}
	#postInfo div.share span {
		font-size: 11px;
	}
}

/* form
------------------------------------------------------------------- */
table.form {}
table.form th .th {
	white-space: nowrap;
	display: flex;
	align-items: center;
}
table.form th .require {
	margin-left: auto;
	padding-left: 5em;
	font-size: 0.8em;
	color: #FC5700;
}
table.form td {
	padding-left: 1em;
}
table.form td > *:first-child { margin-top: 0; }
table.form td > *:last-child { margin-bottom: 0; }
table.form td p.note {
	font-size: 0.8em;
}
table.form td span.wpcf7-form-control-wrap {
	display: block;
	max-width: 100%;
}
table.form td span.wpcf7-not-valid-tip {
	color: #FC5700;
}
table.form td input[type="text"],
table.form td input[type="email"],
table.form td textarea {
	width: 500px;
	/*max-width: 100%;*/
}
table.form td textarea {
	min-height: 14em;
}
table.form tr.submit td {
	padding-top: 25px;
	text-align: center;
	border-bottom: 0;
}
table.form tr.submit td input[type="submit"] {
	background-color: #009FEC;
}
table.form tr.submit td input[type="submit"]:hover,
table.form tr.submit td input[type="submit"]:focus {
	background-color: #007bb7;
}
table.form tr.reset td {
	text-align: center;
}

@media screen and (min-width : 751px) {}
@media screen and (max-width : 1299px) {}
@media screen and (max-width : 750px) {
	table.form,
	table.form tbody,
	table.form tr {
		display: block;
	}
	table.form td {
		padding-left: 0;
	}
}
@media screen and (max-width : 415px) {}


/* footer
--------------------------------------------------------------------------*/
#footer {
	padding: 38px 0 30px;
	text-align: center;
}
#footer .inner {
	width: 100%;
	margin: 0 auto;
	padding: 0 30px;
}
#footer .col {
	float: left;
	vertical-align: middle;
	text-align: right;
}
#footer div.logo {
	padding: 0 0 20px 0;
}
#footer div.logo > a {
	display: flex;
	align-items: center;
}
#footer span.copyright {
	display: block;
	font-size: 12px;
	color: #444;
}

@media screen and (min-width : 751px) {
	#footer div.logo {
		display: flex;
		justify-content: center;
	}
	#footer div.logo > a + a {
		margin-left: 40px;
	}
}
@media screen and (max-width : 1299px) {}
@media screen and (max-width : 950px) and (min-width : 751px) {
	#footer {
		padding: 26px 0 20px;
	}
	#footer span.copyright {
		font-size: 11px;
	}
}
@media screen and (max-width : 750px) {
	#footer div.logo {
		padding-bottom: 30px;
	}
	#footer div.logo > a {
		justify-content: center;
	}
	#footer div.logo > a + a {
		margin-top: 20px;
	}
	#footer div.logo span.copyright {
		display: block;
		margin: 30px 0 0 0;
	}
}
@media screen and (max-width : 415px) {}

/* ftNav
------------------------------------------------------------------- */
#ftNav {
	margin: 0 auto 30px;
}
#ftNav ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
	text-align: center;
}
#ftNav ul li {
	display: inline-block;
	margin: 0;
	padding: 0 0.5em;
}
#ftNav ul li a {
	font-size: 12px;
	text-decoration: none;
}

@media screen and (min-width : 751px) {
	#ftNav ul li a {
		-webkit-transition: all 0.2s linear;
		-o-transition: all 0.2s linear;
		transition: all 0.2s linear;
	}
	#ftNav ul li a:hover {
		text-decoration: underline;
	}
}
@media screen and (max-width : 1299px) {}
@media screen and (max-width : 750px) {
	#ftNav ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	#ftNav ul li {
		margin-bottom: 10px;
		border-right: 1px solid #ddd;
		padding: 0 1em;
		line-height: 1;
	}
	#ftNav ul li:last-child {
		border-right: 0;
	}
}
@media screen and (max-width : 415px) {}

/* goTop
------------------------------------------------------------------- */
#goTop {
	margin: 0;
	padding: 60px 0 40px;
	line-height: 1;
	text-align: center;
}
#goTop a {
	position: relative;
	display: inline-block;
	padding-top: 25px;
	text-decoration: none;
	text-align: center;
	position: relative;
	padding-left: 28px;
	font-size: 12px;
	font-weight: bold;
	line-height: 1;
	letter-spacing: 0.1em;
}
#goTop a:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 32px;
	height: 37px;
	background: url(../img/ico_gotop.svg) no-repeat;
	background-position: center;
}
#goTop a:hover {
	color: #009FEC;
}
#goTop a:hover:before {
	animation-duration: 2s;
	animation-timing-function: ease-out;
	animation-fill-mode: forwards;
	animation-name: gotopOn;
}

@keyframes gotopOn {
	0% { }
	10% { transform: translateY(-10px); }
	50% { transform: translateY(-10px); }
	100% { transform: translateY(0); }
}

@media screen and (min-width : 751px) {}
@media screen and (max-width : 1299px) {}
@media screen and (max-width : 950px) and (min-width : 751px) {
	#goTop {
		padding: 40px 0 30px;
	}
}
@media screen and (max-width : 750px) {
	#goTop {
		padding: 30px 0 22px;
	}
}
@media screen and (max-width : 415px) {}

/* contactNav
------------------------------------------------------------------- */
#contactNav {
	background-color: #F2F2F2;
}
#contactNav ul {
	list-style-type: none;
	padding: 0;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
#contactNav ul > li {
	margin: 0;
	height: 60px;
	display: flex;
	padding: 0 28px;
	align-items: center;
}
#contactNav ul > li > a {
	font-size: 12px;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1.67;
	text-decoration: none;
	padding: 1em 0 1em 37px;
	background-repeat: no-repeat;
	background-position: left center;
}
#contactNav ul > li.tw > a {
	background-image: url(../img/ico_twitter.svg);
}
#contactNav ul > li.line > a {
	background-image: url(../img/ico_line.svg);
}
#contactNav ul > li.mail > a {
	background-image: url(../img/ico_mail.svg);
}
#contactNav ul > li.campus > a {
	background-image: url(../img/ico_tokyo_univ.svg);
}

@media screen and (min-width : 751px) {
	#contactNav ul > li + li {
		border-left: 1px solid #ccc;
	}
	#contactNav ul > li > a:hover {
		color: #009FEC;
	}
	#contactNav ul > li.line > a {
		padding-left: 40px;
	}
	#contactNav ul > li.campus > a {
		padding-left: 39px;
	}
}
@media screen and (max-width : 1299px) {
	#contactNav ul > li {
		padding: 0 16px;
	}
}
@media screen and (max-width : 950px) and (min-width : 751px) {
	#contactNav ul > li {
		padding: 0 12px;
	}
	#contactNav ul > li > a {
		font-size: 10px;
		letter-spacing: 0;
		padding-left: 30px;
		background-size: 22px;
	}
	#contactNav ul > li.line > a {
		padding-left: 32px;
	}
	#contactNav ul > li.campus > a {
		padding-left: 32px;
	}
}
@media screen and (max-width : 750px) {
	#contactNav ul {
		flex-wrap: wrap;
	}
	#contactNav ul > li {
		width: 100%;
		padding: 0;
	}
	#contactNav ul > li + li {
		border-top: 1px solid #ddd;
	}
	#contactNav ul > li > a {
		width: 100%;
		font-size: 14px;
		padding-left: 61px;
		padding-right: 15px;
		background-position: left 25px center;
		background-size: 25px;
	}
	#contactNav ul > li > a br {
		display: none;
	}
}
@media screen and (max-width : 415px) {}


/* pager
------------------------------------------------------------------------ */
#main div.pager {
	margin: 48px 0 20px 0;
	text-align: center;
}
#main div.pager .wp-pagenavi {
	display: flex;
	justify-content: center;
}
#main div.pager .wp-pagenavi .pages {
	border: 0;
	padding: 0 0 10px 0;
	margin: 0 0 20px 0;
}
#main div.pager .wp-pagenavi a,
#main div.pager .wp-pagenavi span {
	flex-shrink: 1; 
	border: 1px solid #ddd;
	border-radius: 3px;
	margin: 0 5px;
	padding: 0;
	width: 45px;
	line-height: 43px;
	display: inline-block;
	-webkit-transition: all 0.1s linear;
	-o-transition: all 0.1s linear;
	transition: all 0.1s linear;
	text-decoration: none;
	color: #444;
	vertical-align: top;
	font-size: 16px;
}
#main div.pager .wp-pagenavi span.current {
	border-color: #009FEC;
	background-color: #009FEC;
	color: #fff;
	font-weight: bold;
}
#main div.pager .wp-pagenavi span.extend {
	border: 0;
	color: #444;
}

#main div.pager .wp-pagenavi a.previouspostslink,
#main div.pager .wp-pagenavi a.nextpostslink {
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	background-repeat: no-repeat;
	background-position: center;
}
#main div.pager .wp-pagenavi a.previouspostslink {
	background-image: url(../img/ico_arrow_prev.svg);
}
#main div.pager .wp-pagenavi a.nextpostslink {
	background-image: url(../img/ico_arrow_next.svg);
}
#main div.pager .wp-pagenavi a.previouspostslink.noref {
	background-image: url(../img/ico_arrow_prev.svg);
}
#main div.pager .wp-pagenavi a.nextpostslink.noref {
	background-image: url(../img/ico_arrow_next.svg);
}

@media screen and (min-width : 751px) {
	#main div.pager .wp-pagenavi a {
		-webkit-transition: all 0.1s linear;
		-o-transition: all 0.1s linear;
		transition: all 0.1s linear;
	}
	#main div.pager .wp-pagenavi a:hover {
		color: #009FEC;
		border-color: rgba(107, 187, 224, 0.7)
	}
	#main div.pager .wp-pagenavi a.previouspostslink:hover {
		background-image: url(../img/ico_arrow_prev_on.svg);
	}
	#main div.pager .wp-pagenavi a.nextpostslink:hover {
		background-image: url(../img/ico_arrow_next_on.svg);
	}
}
@media screen and (max-width : 1299px) {}
@media screen and (max-width : 750px) {
	#main div.pager {
		margin: 90px 0 45px 0;
		text-align: center;
	}
	#main div.pager .wp-pagenavi a,
	#main div.pager .wp-pagenavi span {
		width: 40px;
		line-height: 38px;
		font-size: 12px;
		margin: 0 4px;
	}
	#main div.pager .wp-pagenavi span.current {
		font-size: 15px;
	}
}
@media screen and (max-width : 415px) {}


/* clf
--------------------------------------------------------------------------*/
#header:before,
#header:after,
#wrapper:before,
#wrapper:after,
#main:before,
#main:after,
.inner:before,
.inner:after,
.clf:before,
.clf:after {
	display: table;
	content: " ";
}
#header:after,
#wrapper:after,
#main:after,
.clf:after,
.inner:after {
	clear: both;
}