@charset "utf-8";
/* ================================ */
/* common 版 css ここから */
/* ================================ */
html {
	color: #000;
	margin: 0;
	padding: 0;
	scroll-behavior: smooth;
}

body {
	display: block;
	font-family:'Yu Gothic Medium', 'YuGothic', 'Hiragino Sans', 'Meiryo', 'Osaka', 'MS Gothic', sans-serif;
	margin: 0;
	padding: 0;
	position: relative;
	-webkit-text-size-adjust: 100%;
	width: 100%;
}

.swiper-slide,
.swiper-container {
	width: 95vw;
}


div.box {
	margin: 0;
	text-align: center;
	display: block;
	position: relative;
	width: calc( 100vw - 2em );
}

div.box > picture > img {
	display: block;
	text-align: center;
	position: relative;
	max-width: 95vw;
	height: auto;
	margin: .5em auto;
}
div.box > p.overlay-center {
	text-indent: 0;
	font-size: 3em;
	background-color: rgba(255, 255, 255, .75);
	position: absolute;
	top: calc( 100% - 2em );
	left: 0;
	text-align: center;
	width: calc( 100% - 2em );
}


.registered-mark,
.trade-mark {
	font-size: 1.1em;
	font-family: "Verdena", "Arial", sans-serif;
}

section {
	margin: 1em 0;
}


span.name_initial::before,
span.name_initial::after {
	content: "\2005";
}

p, dl, dt, dd, li{
	line-height: 2;
}

p {
	text-indent: 1em;
	margin: 0;
	padding: 0 1em;
	clear: none;
} 

p.clear_both {
	clear: both;
} 

p.clear_right {
	clear: right;
} 

p.article_info {
	display: block;
	text-align: right;
	width: calc(100% - 2em);
	margin: 0;
}

p.news-link{
	padding: 1em 0 3em 0;
}
p.history-link::before,
p.news-link::before {
	content: '';
	position: relative;
	display: inline-block;
	left: -8px;
	top: -2px;
	width: 6px;
	height: 6px;
	border-top: 2px solid #ccc;
	border-right: 2px solid #ccc;
	transform: rotate(45deg);
}

p.history-link a,
p.news-link a:hover {
	text-decoration: none solid;
	color: #000;
	}

p.history-link:hover::before,
p.news-link:hover::before {
		border-top: 2px solid #36f;
		border-right: 2px solid #36f;
		transform: translateX(3px) translateY(0) rotate(45deg); 
		transition: transform .2s;
}


.published_on ,.updated_on {
	font-size: .9em;
	color: #666;
	padding: 1em .5em;
	line-height: 1;
}

a {
	text-decoration: underline;
	color: #00f;
	}
a:hover {
	color: #808;
	}

rt {
	display: ruby-text; 
	position: relative;
	font-size: .5em;
	top: .5em;
}

a.button {
	line-height: 3;
	text-align: center;
	background-color: #F80;
	padding: 0.5em;
	border-style: solid;
	border-color: #EEF;
	font-size: 1rem;
	font-weight: bold;
	color: #000;
	text-decoration: none;
}

a.button:hover {
	background-color: #F40;
	color: #000;
}

a[href^="http"]:after,
a[href^="https"]:after {
	content: " " url(../images/external_link.svg);
	font-family: monospace;
	font-size: 0.9em;
	font-style:normal;	
	color: #888;
}

a[href^="http://www.kogaseki.com"]:after,i
a[href^="https://www.kogaseki.com"]:after,
a[href^="http://kogaseki.com"]:after,
a[href^="https://kogaseki.com"]:after {
	content: "";
	font-family: monospace;
	font-size: 0.9em;
	font-style:normal;	
	color: #888;
}

a[href$="pdf"]:after {
	content: " " url(../images/pdf_icon.png);
	vertical-align: -.25em;
	width: 16px;
	height: 16px;
}


dl {
	flex-direction: row;
	width: 100%;
	margin: 2em 0 0 0;
	padding: 0 0 0 1.5em;
	clear: both;
}

dt {
	flex-direction: row;
	width: 95%;
	margin: 0 0 0.5em 0;
	font-weight: bold;
	padding: 0;
	border-bottom: 1px solid #AAF;
}

dd {
	width: 90%;
	flex-direction: row;
	margin: 0 0 1em 0.5em;
	text-indent: 1em;
}

dd.writingnow {
	border-bottom: 1px solid #FAA;
}

dd.writingnow:after{
	content: '（執筆中）';
}

figcaption {
	font-size: .9em;
	background: #eee;
	text-align: left;
	text-indent: 1em;
}


form {
	padding: 0 0 0 2em;
}

h1, h2, h3 {
	clear: both;
}


input, select {
	height: 2em;
}

li[id^="ref"] >a {
	letter-spacing: 0.25em;
}

p.confirm {
	text-indent: 0;
}

p.label {
	margin: 1em 0 0 0;
	padding: 0 0 0 .5em;
	font-weight: bold;
}

span.required {
	color: #900;
	font-weight: bold;
}

span.required:before {
	content:"　*";
}

form {
	padding: 0 0 0 2em;
}

input, select {
	height: 2em;
}

table {
	display: table;
	border-collapse: collapse;
	border-spacing: 0;
	width: calc( 100% - 1em);
	table-layout: fixed;
	margin: 0.5em 1em;
}

caption,
th,
td {
	font-size: 1em;
}

caption {
	background-color: rgba(119, 187, 255, 0.5);
	border: 1px solid rgba(119, 187, 255, 0.5);
}

th {
	background-color: rgba(221, 221, 221, 0.5);
	color :#000;
	border: 1px solid #000;
	font-weight: bolder;
}

th.scope_col {
	text-align: center;
	}

th.scope_row {
	text-align: left;
	padding-left: 1em;
}

td {
	background-color: #FFF;
	color :#000;
	border: 1px solid #000;
	font-weight: normal;
	padding: .25em .5em;
}


.privacy_policy {
	overflow-x: hidden;
	overflow-y: scroll;
	padding: 2em 3em;
	width: inherit;
	height: 40vh;
	border: 1px solid #CCC;
}

#agreement {
	left: 10%;
	font-size: 16px;
	width: 16px;
	height: 16px;
	transform: scale(1.5);
	}

#agreement:checked ~ span.agree::after {
	content: '　個人情報の取り扱いに同意します';
	font-weight: bold;
	}
p.confirm {
	text-indent: 0;
}

.figure_right {
	float: right;
	margin: 1em 0 1em 1em;
	padding: 0;
	max-width: calc( ( 100% ) / 2);
	height: auto;
	overflow: hidden;
	text-align: right;
}

.figure_left {
	float: left;
	margin: 1em 1em 1em 0;
	padding: 0;
	max-width: calc( ( 100% ) / 2);
	height: auto;
	overflow: hidden;
	text-align: left;
}

.date, .signature {
	text-align: right;
}

.registered-mark,
.trade-mark {
	font-size: 1.1em;
	font-family: "Verdena", "Arial", sans-serif;
}

.article_header{
	margin: 1em 0;
}

.article_header img{
	margin: 0 auto;
	width: 100%;
	height: auto;
}

h1 > span.sub_title::before {
	content: "\2003";
}

h1 > span.sub_title {
	font-size: .5em;
}

strong {
	background:linear-gradient(transparent 80%, #adf 0%);
}

/* ================================= */
/* お知らせ
/* ================================= */

.event-container {
	width: 97%;
	margin: 0;
}

.event-date, .event-item {
	border-bottom: 1.25px #aaa dashed;
	display: inline-block;
	line-height: 2;
	margin: .5em 0 .25em 0; 
}

.event-date {
	width: 10em;
	text-indent: 1em;
}

.event-item {
	display: inline-block;
	left: 10em;
	width: calc( 97% - 10em );
	margin: 0;
}

div.lead {
	font-weight: 400;
	margin: 2em 0;
	padding: 0.5em;
}

/* ================================= */
/* お知らせ用ナビ
/* ================================= */

nav.nav-article {
	display: block;
	margin: 5em 0;
	border-top: #ccc 1px dashed;
}

.nav-article > .nav-article-selector {
	paddig-top: 4em;
}

.nav-article ul.nav-article-selector,
.nav-article ul.nav-article-return {
	list-style: none;
	display: inline-block;
	margin: 0;
	padding: 0;
	left: 0;
	width: 100%;
}

.nav-article .nav-article-selector li,
.nav-article .nav-article-return li {
	height: 1.5em;
	display: inline-block;
	position: relative;
	vertical-align: middle;
}

.nav-article .nav-article-selector li a,
.nav-article .nav-article-return li a { 
	text-decoration: none;
	font-size: 1em;
	position: relative;
	color: #333;
}


.nav-article-prev,
.nav-article-next,
.nav-article-prev_disabled,
.nav-article-next_disabled,
.nav-article-back_to_index {
	text-indent: 0;
	margin: 0;
	padding: 0;
	position: relative;
	width: calc( 97% / 2);
}

.nav-article-prev_disabled,
.nav-article-next_disabled {
	color: #555;
}

.nav-article-back_to_index {
	text-align: left;
}


.nav-article-prev,
.nav-article-prev_disabled,
.nav-article-back_to_index {
	width: calc( 97% / 2);
}

.nav-article-next,
.nav-article-next_disabled {
	left: calc( 100% - 97% ) ;
	position: absolute;
	display: inline-block;
	text-align: right;
	width: calc( 97% / 2 ); 
}

.nav-article-prev a ,
.nav-article-prev a:hover,
.nav-article-next a ,
.nav-article-next a:hover,
.nav-article-back_to_index,
.nav-article-back_to_index a:hover {
	text-decoration: none;
}

.nav-article-prev:hover,
.nav-article-next:hover,
.nav-article-back_to_index:hover {
		transition: all 0.2s;
}

.nav-article-next_disabled::after,
.nav-article-prev_disabled::before {
	content: '';
	width: 8px;
	height: 12px;
	margin-top: 6px;
	margin-right: 10em;
	border-left: double 8px #ccc;
	position: absolute;
}


.nav-article-next::after,
.nav-article-prev::before {
	content: '';
	width: 8px;
	height: 8px;
	margin-top: 8px;
	margin-right: 10em;
	border: 0;
	border-top: solid 2px #ccc;
	border-right: solid 2px #ccc;
	position: absolute;
}

.nav-article-prev::before {
	transform: rotate(-135deg);
	margin-left: -1em; 
}	

.nav-article-next::after {
	transform: rotate(45deg);
	margin-left: 1em;
}

.nav-article-next:hover::after{
	border-top: 2px solid #7bf;
	border-right: 2px solid #7bf;
	transform: translateX(3px) translateY(0) rotate(45deg); 
	transition: transform .2s; 
}

.nav-article-prev:hover::before{
	border-top: 2px solid #7bf;
	border-right: 2px solid #7bf;
	transform: translateX(-3px) translateY(0) rotate(-135deg); 
	transition: transform .2s; 
}
.nav-article-prev_disabled::before {
	margin-left: -1em;
}

.nav-article-next_disabled::after {
	margin-left: 1em;
}


.nav-article-back_to_index::before {
	content: '';
	width: 6px;
	height: 6px;
	margin-top: 8px;
	margin-left: -1em; 
	border: 0;
	border-top: 4px double #ccc;
	border-right: 4px double #ccc;
	position: absolute;
	transform: rotate(-135deg);
}

.nav-article-back_to_index:hover::before{
	border-top: 4px double #7bf;
	border-right: 4px double #7bf;
	transform: translateX(-3px) translateY(0) rotate(-135deg); 
	transition: transform .2s; 
}

div.timetable table{
	width: 28em;
}
div.timetable col.arrival_and_departure {
	background-color: rgba(119, 187, 255, 0.5);
	width: 4em;
}

div.timetable col.place {
	width: 10em;
}

div.timetable col.time {
	width: 3em;
}

div.timetable td:nth-child(3n+3) {
	text-align: right;

}
table th.blank,
table td.blank {
	background-image: linear-gradient(to top right, transparent 49%, black 49%, black 51%, transparent 51%, transparent);
	}


/* ================================ */
/* smartphone 版 css ここから */
/* ================================ */
@media (max-width: 959.999px) {

	.swiper-container {
		text-align: center;
		width: 100vw;
		height: auto;
		z-index: 1;
		background: #000;
	}

	.swiper-slide > img {
		vertical-align: bottom;
		max-width: 100vw;
		height: auto;
	}

	.swiper-button-prev, .swiper-button-next {
	display: none;
	}

	.swiper-pagination {
		height: 12px;
		width: 100%;
		background-color: rgb(0, 0, 0, 0.6);
	}

	.swiper-pagination-bullet {
		position: relative;
		top: -35%;
		width: 8px;
		height:	 8px;
		border-radius: 50%;
		opacity: 0.9;
		background: #EEE;
	}

	.swiper-pagination-bullets {
		margin: 0;
	}

	.swiper-pagination-bullet-active { 
		background: #6CF;
	}

	body {
		font-size: 12px;
		font-style: normal;
		font-weight: 500;
	}
	div.box > p.overlay-center {
		margin: 0;
		text-indent: 0;
		font-size: 1.75em;
		background-color: rgba(255, 255, 255, .75);
		position: absolute;
		top: calc( 100% - 2em );
		left: 0;
		text-align: center;
		width: calc( 100% - 2em );
	}

	/* -- breadcrumb -- */
	.breadcrumb {
		display: none;
	}
	/* -- hamburger menu -- */
	.menu-button {
		position: fixed;
		bottom: 96px;
		right: 3px;
		display: flex;
		height: 48px;
		width: 48px;
		justify-content: center;
		align-items: center;
		z-index: 90;
		background-color: rgba(119, 187, 255, .8); /* 119, 187, 255 */
		border:	1px solid #39c;
		box-shadow: 1px 1px 1px #39c;
		border-radius: 4px;
		opacity: 0.8;
	}

	.menu-icon,
	.menu-icon:before,
	.menu-icon:after {
		content: '';
		display: block;
		height: 2px;
		width: 21px;
		border-radius: 3px;
		background-color: #000;
		position: absolute;
		transition: all 0.3s;
	}

	.menu-icon::before {
		bottom: 8px;
	}
	.menu-icon::after {
		top: 8px;
	}

	.global_menu ul {
		font-size: 14px;
		list-style: none;
		text-align: left;
		border: 0;
		padding: 0;
		overflow: auto;
		height: 93%;
	}

	/* 	トップページの下 */
	.global_menu ul li {
		border-bottom: 1px solid #7BF;
		position: relative;
		line-height: 2;
	}

	.global_menu ul li.has-child {
		border-bottom: 1px solid #7BF;
		position: relative;
	}

	/* トップページの上 */ 
	.global_menu ul li:first-child {
		border-top: 2px solid #7BF;
		position: relative;
	}

	.global_menu ul ul li:first-child {
		border-top: 1px solid #AAA;
		position: relative;
	}

	/* お問い合わせの下 */ 
	.global_menu ul li:last-child {
		border-top: none;
		border-bottom: 2px solid #7BF;
		position: relative;
	}

	.global_menu ul li.has-child ul li {
		border-bottom: 1px solid #AAA;
		position: relative;
	}

	.global_menu ul li.has-child ul li:last-child {
		border-bottom: none;
		position: relative;
	}


	.global_menu { 
		width: 10%;
		height: 100%;
		position: fixed;
		top: 0;
		left: 100%;
		z-index: 80;
		background-color: #333;
		transition: all 0.3s;
	}


	.global_menu ul {
		font-size: 14px;
		list-style: none;
		text-align: left;
		border: 0;
		padding: 0;
		overflow: auto;
		height: 93%;
	}

	/* 	トップページの下 */
	.global_menu > ul > li:not(:first-child),
	.global_menu > ul > li > ul > li:not(:first-child) {
		border: none;
		position: relative;
		line-height: 2;
	}

	.global_menu > ul > li:not(:last-child),
	.global_menu > ul > li > ul > li:not(:last-child) {
		border-bottom: 1px solid #7bf;
		position: relative;
		line-height: 2;
	}
	.global_menu > ul > li > ul > li,
	.global_menu > ul > li > ul > li ul > li {
		border-top: 1px solid #fff;
		position: relative;
	}
	/* トップページの上 */ 
	.global_menu > ul > li:first-child {
		border-top: 3px solid #7bf;
		position: relative;
	}

	.global_menu > ul > li:last-child {
		border-bottom: 3px solid #7bf;
		position: relative;
	}

	.global_menu ul li.has-child ul li:last-child {
		border-bottom: none;
		position: relative;
	}

	.global_menu ul li a {
		display: block;
		font-weight: bolder;
		text-decoration: none;
		background: #333;
		color: #FFF;
		padding: 15px;
		transition: all 0.2s;
	}
/* -- */

	.global_menu ul ul li a {
		display: block;
		font-weight: normal;
		text-decoration: none;
		padding: 15px;
		transition: all 0.2s;
	}

	.global_menu ul li.has-child ul li a {
		text-indent: 1em;
		color: #FFF;
	}

	.global_menu li.has-child ul li:last-child a {
		border-bottom: none;
	}

	.global_menu > ul > li.has_child > ul.child_menu > li, 
	.foot_menu > ul > li.has_child > ul.child_menu > li {
		text-indent: 2em;
	}

	.global_menu > ul > li.current, 
	.foot_menu > ul > li.current{
		background: #7bf;
	}

	.foot_menu > ul > li.current > a {
		color: #fff;
	}

	.foot_menu > ul > li.current > a:hover {
		color: #000;
	}


	.global_menu > ul > li.has_child > ul.child_menu > li:not(li.current), 
	.foot_menu > ul > li.has_child > ul.child_menu > li:not(li.current) {
		background: #333;
		color: #fff;
	}

	.global_menu > ul > li.has_child > ul.child_menu > li.current > a, 
	.foot_menu > ul > li.has_child > ul.child_menu > li.current > a {
		background: #44c;
		color: #fff;
	}

	.global_menu > ul > li.has_child > ul.child_menu > li > ul > li, 
	.foot_menu > ul > li.has_child > ul.child_menu > li > ul > li {
		text-indent: 3em;
	}

	.global_menu > ul > li.has_child > ul.child_menu > li.current > ul > li.current > a, 
	.foot_menu > ul > li.has_child > ul.child_menu > li.current > ul > li.current > a {
		background: #55e;
		color: #fff;
		text-indent: 3em;
	}

	.global_menu ul li a:hover,
	.global_menu ul li.current > a:hover,
	.global_menu > ul > li.has_child > ul.child_menu > li.current > a:hover,
	.global_menu > ul > li.has-child > ul.child_menu > li.current > a:active,
	.global_menu > ul > li.has_child > ul.child_menu > li.current > ul > li.current > a:hover,
	.global_menu > ul > li.has_child > ul.child_menu > li.current > ul > li.current > a:active {
		background: #7bf;
		color: #000;
	}

	/* -------- */

	.top-button, .top-button:active {
		text-align: center;
		position: fixed;
		bottom: 32px;
		right: 3px;
		display: flex;
		height: 48px;
		width: 48px;
		justify-content: center;
		align-items: center;
		z-index: 90;
		background-color: rgba(119, 187, 255, .8); /* 119, 187, 255 */
		box-shadow: 1px 1px 1px #66F;
		border-radius: 4px;
		opacity: 0.7;
		border: 0;
		padding: 0;
	}

	.top-button::before {
		content: '';
		width: 6px;
		height: 6px;
		margin-top: 4px;
		margin-left: 20px;
		border: 0;
		border-top: solid 2px #000;
		border-right: solid 2px #000;
		position: absolute;
		top: 50%;
		left: 0;
		transform: rotate(-45deg);
	}

	.top-button:hover {
		background-color: #00F;
		border-top: 2px solid #EEF;
		border-right: 2px solid #EEF;
		box-shadow: none;
		border-radius: 4px;
		opacity: 1;
		border: 0;
		padding: 0;
	}

	.top-button:hover::before {
		color: #EEF;
		border-top: solid 2px #EEF;
		border-right: solid 2px #EEF;
		transform: rotate(-45deg);
		opacity: 1;
	}

	.top-button > a {
		display: inline-block;
		height: 48px;
		width: 48px;
		color: #000;
		font-size: 0.7em;
		font-weight: bolder;
		text-decoration: none;
		margin-top: 0;
		padding-top: 0;
		text-align: center;
	}

	.top-button > a:hover,
	.top-button > a:active {
		color: #EEF;
	}
	/* - foot_menu - */
	.foot_menu {
		border-top: 1px solid #DDD;
		width :100%;
		margin: -1em 0 0 0;
	}

	.foot_menu ul {
		margin: 0;
	}

	.foot_menu ul li {
		position: relative;
		width : calc( 100% - 30px );
		display: block;
		left: 0;
		margin: 0 0 0 -2em;
		padding: 10px 0;
		line-height: 1;
		height: 20px;
		text-indent: 2em;
		text-align: left;
		border-bottom: 1px solid #EEE;
	}

	.foot_menu ul li::after {
		content: '';
		position: absolute;
		right: 3px;
		top: 16px;
		width: 6px;
		height: 6px;
		margin: 0 10px 0 0;
		border-top: 2px solid #ccc;
		border-right: 2px solid #ccc;
		transform: rotate(45deg);
	}

	.foot_menu ul li:hover {
		background-color: #CEF;
		transition: all 0.2s;
	}

	.foot_menu ul li:hover::after{
		border-top: 2px solid #36f;
		border-right: 2px solid #36f;
		transform: translateX(3px) translateY(0) rotate(45deg); 
		transition: transform .2s; 
	}

	.foot_menu ul li a { 
		display: block;
		text-decoration: none;
		font-size: 1em;
		font-weight: bolder;
		position: relative;
		top: 2px;
		height: 24px;
		line-height: 1;
		color: #333;
	}

	.foot_menu ul li:hover {
		background-color: #CEF;
		transition: all 0.2s;
	}

	.foot_menu ul li:hover::after{
		border-top: 2px solid #36f;
		border-right: 2px solid #36f;
		transform: translateX(3px) translateY(0) rotate(45deg); 
		transition: transform .2s; 
	}


	#menu-button-check {
		display: none;
		position: relative;
		top: 50px;
		left: 30px;
		z-index:100;
	}
	#menu-button-check:checked ~ .menu-button span {
		background-color: rgba(255, 255, 255, 0);
	}

	#menu-button-check:checked ~ .menu-button span::before {
		top: 0;
		transform: rotate(45deg);
		transition: all 0.3s;
	}

	#menu-button-check:checked ~ .menu-button span::after {
		top: 0;
		transform: rotate(-45deg);
		transition: all 0.3s;
		}

	#menu-button-check ~ .global_menu {
		width: 100%;
		left: 100%;
	}

	#menu-button-check:checked ~ .global_menu {
		background: #333;
		display: inline-block;
		width: 100%;
		left: 0;
	}


	#menu-button-check ~ .top-button {
		display: flex;
	}

	#menu-button-check:checked ~ .top-button {
		display: none;
	}	


	nav.nav-year {
		margin: 1em auto;
		border-bottom: 1px solid #7bf;
		border-top: 1px solid #7bf;
	}
	ul.nav-year-selector {
		text-align : left;
	}

	ul.nav-year-selector > li {
		display: inline-block;
		margin: 0 1em ;
		padding: 0 1em;
		line-height: 1.5;
	}

	ul.nav-year-selector > li:not(.current)::before {
		content: '';
		position: absolute;
		margin-top: .5em;
		margin-left: -1.5em;
		width: 7px;
		height: 7px;
		transform: rotate(45deg);
		border-top: 2px solid #aaa;
		border-right: 2px solid #aaa;
	}
	
	ul.nav-year-selector > li:not(.current):hover::before {
		border-top: 2px solid #36f;
		border-right: 2px solid #36f;
		transform: translateX(3px) translateY(0) rotate(45deg); 
		transition: transform .3s;
	}

	ul.nav-year-selector > li.current {
		border-bottom: 3px solid #7bf;
	}



	h1	{
		top: 0;
		background-color: #FFF;
		color: #000;
		font-size: 1.5em;
		line-height: 1;
		border-color: #7BF;
		z-index: 1;
		text-align: left;
		background-image: linear-gradient(90deg, #7BF 80%, #CCC 80%);
		background-repeat: no-repeat;
		background-size: 100% 3px;
		background-position: bottom;
		margin: 0;
		padding: 0.5em 1em 0.25em 1em;
	}

	h1 > span.sub_title::before {
		content: "\2003";
	}

	h1 > span.sub_title {
		font-size: .5em;
	}

	p.description {
		font-size: 0.75em;
		width: inherit;
		margin: 0;
		padding: 0 1em 1em 1em;
		color: #000;
		font-weight: bolder;
		line-height: 1.2;
	}

	h2 {
		width: 100%;
		margin: 1em 0 0.5em 0;
		padding: 0.1em 0 0 1em;
		font-size: 1.25em;
		line-height: 1;
		vertical-align: middle;
		background-image: linear-gradient( #7BF 62%, #CCC 62%);
		background-repeat: no-repeat;
		background-size: 0.25em 100%;
	}
	h2.draft {
		background-image: linear-gradient( #F33 62%, #CCC 62%);
	}

	h3 {
		width: 100%;
		margin: 1em 0 0.5em 0.5em;
		padding: 0.1em 0 0 1em;
		font-size: 1em;
		line-height: 1;
		vertical-align: middle;
		background-image: linear-gradient( #7BF 62%, #CCC 62%);
		background-repeat: no-repeat;
		background-size: 0.125em 100%;
	}

	main {
		margin-left: calc(( 4.5% + 2em) / 2 );
		width: 90%;
		margin-bottom: 60px;
		padding: 0 0 60px 0;
	}

	main.top article {
		margin: 0 0 60px 0;
		padding: 0 5em 60px 1em;
	}

	main ul li {
		list-style: disc outside;
		margin: 0 0 0 0.5em;
		padding: 0 0 0 0.5em;
	}

	input[type=text], 
	input[type=email], 
	select, 
	textarea,
	div.submit_button {
		margin: 0 0 0 2em;
		width: 85%;
	}

	div.submit_button {
		display: inline-block;
	}

	button.prev,
	button.next {
		width:50%;
	}

	button[type=submit] {
		display: inline-block;
		width: 30%;
		margin: 2em auto;
		padding: 10px;
		text-align: center;
		color: #000;
		font-weight: bolder;
		border-radius: 7px;
		font-size: 1em;
	}

	button[type=submit].next {
		background-color: rgba(119, 167, 255, .8);
		float: right;
	}

	button[type=submit].prev {
		background-color: rgba(204, 204, 204, .8);
		float: left;
	}

	button[type=submit].next:hover {
		background-color: rgba(0, 0, 255, 1);
		color: #FFF;
	}

	button[type=submit].prev:hover {
		background-color: rgba(32, 32, 32, 1);
		color: #FFF;
	}


	p.confirm {
		margin: 0 0 0 2em;
		width: 85%;
		border: solid 1px #AAA;
		background-color: #EEE;
	}

	.figure_right {
		max-width: calc( ( 100% + 4em) / 2) + 2em;
		height: auto;
	}

	.figure_left {
		max-width: calc( ( 100% + 4em) / 2) - 2em;
		height: auto;
	}

	div figure,
	dd figure {
		margin: 0;
		padding: 0;
		text-indent: 0;
		border: #888 1px solid;
		height: auto;
	}

	div figure img,
	dd figure img {
		margin: .5em .5em 0 .5em;
		padding: 0;
		max-width: calc( 100% - 1em);
		height: auto;
	}

	section.news {
		margin: 1em 1%;
	}

	blockquote {
		background: #eff;
		border-left: 2px solid #7bf;
		position: relative; 
		margin: 3em 1em;
		padding: 2em;

	}
/*
	blockquote::after,
	blockquote::before {
		content: '';
		display: inline-block;
		height: 4em;
		position: absolute;
		width: 4em;
	}

	blockquote::after {
		border-bottom: 2px solid #7bf;
		border-right: 2px solid #7bf;
		display: inline-block;
		bottom: 0;
		position: absolute; 
		right: 0;
	}

	blockquote::before {
		border-top: 2px solid #7bf;
		border-left: 2px solid #7bf;
		display: inline-block;
		left: 0;
		position: absolute; 
		top: 0;
	}
*/
	blockquote p {
		margin-top: 0;
		padding: 1em;
	}

	blockquote > footer {
		background: inherit;
		border-top: 1px solid #aaa;
		padding: .5em;
		text-align: right;
	}
	blockquote > footer > cite {
		font-style: normal;
	}
	nav.nav-article {
		display: block;
		margin: 5em 1em;
		border-top: #ccc 1px dashed;
	}

}
@media (max-width: 599.999px) {

	div.box > p.overlay-center {
		margin: 0;
		text-indent: 0;
		font-size: 1.75em;
		background-color: rgba(255, 255, 255, .75);
		position: absolute;
		top: 50%;
		left: 0;
		text-align: center;
		width: calc( 100% - 2em );
	}

}
/* ================================ */
/* tablet 版 css ここから */
/* ================================ */
@media (min-width: 960px) and (max-width: 1279.999px){
	body {
		font-size: 14px;
		font-style: normal;
		font-weight: 500;
	}

	.swiper-container,
	.swiper-wrapper,
	.swiper-slide {
		width: 100vw;
	}

	.swiper-container {
		text-align: center;
		height: auto;
/*		height: 420px; */
		margin: auto;
		padding: 0;
		z-index: 1;
		background: #000;
	}
	
	.swiper-slide > img {
		vertical-align: bottom;
		max-width: 100vw;
		height: auto;
	}

	.swiper-button-prev, .swiper-button-next {
		width: 48px;
		height: 96px;
		color: #FFF;
		z-index: 10;
	}

	.swiper-pagination, .swiper-button-prev, .swiper-button-next {
		background-color: rgb(0, 0, 0, 0.6);
	}

	.swiper-button-next {
		right: 20px;
	}

	.swiper-button-prev {
		left: 20px;
	}

	.swiper-pagination {
		width: 100%;
		background-color: rgb(0, 0, 0, 0.6);
	}


	.swiper-pagination-bullet {
		width: 21px;
		height: 12px;
		margin: 5px;
		border-radius: 3px;
		opacity: 0.9;
		background: #EEE;
	}

	.swiper-pagination-bullet-active { 
		background: #6CF;
	}

	.sub {
		position: relative;
		bottom: 0;
		font-size: 0.8em;
	}

	main.top{
		left: 0;
		width: 100%;
		margin: 0;
		padding: 0;
	}

	#menu-button-check, .top-button, .menu-button {
		visibility: hidden;
		display: none;
	}

	/* ---- breadcrumb ---- */

	.breadcrumb {
		position: relative;
		top: 0;
		height: 24px;
		margin: 0;
		width: calc(100% - 3em);
		padding: 0 0 0 3em;
		color: #000;
		background-color: #fff;
		font-size: smaller;
		text-align: justify;
		border-bottom: 1px solid #7bf;
		list-style: none;
		z-index: 2;
	}

	.breadcrumb li {
		display: inline;
		list-style: none;
		font-weight: bold;
	}

	.breadcrumb li:after {
		content: '>';
		padding: 0 0.2em;
		color: #555;
	}

	.breadcrumb li:last-child{
		color: #000;	
	}

	.breadcrumb li:last-child:after {
		content: '';
	}

	.breadcrumb li a {
		text-decoration: none;
	}

	.breadcrumb li a:hover {
		text-decoration: underline;
	}


	/* ---- grobal menu ---- */

	.global_menu { 
		position: relative;
		color: #000;
		background: #fff;
		width: calc(100% - 1em);
		padding: 0 0 0 1em;
		z-index: 2;
	}

	.global_menu li,
	.foot_menu li {
		display: inline-block;
	}

	.global_menu a,
	.foot_menu a {
		color: #000;
		display: block;
		padding: 0 24px;
		text-decoration: none;
		font-weight: bold;
	}

	.global_menu > ul > li.current,
	.foot_menu > ul > li.current {
		border-bottom: 3px solid #7bf;
	}

	.global_menu li.parent_item::after,
	.global_menu li.has_child::after,
	.foot_menu  li.parent_item::after,
	.foot_menu li.has_child::after {
		content: '';
		display: inline-block;
		position: absolute;
		top: 9px;
		width: 7px;
		height: 7px;
		border-top: 3px solid #ccc;
		border-right: 3px solid #ccc;
		transform: rotate(45deg);
	}

	.global_menu li.parent_item:hover::after,
	.foot_menu li.parent_item:hover::after {
		border-top: 2px solid #36f;
		border-right: 2px solid #36f;
		transform: translateX(6px) translateY(0) rotate(45deg); 
		transition: transform .3s;
	}


	.global_menu li.has_child:hover::after,
	.foot_menu li.has_child:hover::after {
		border-top: 2px solid #36f;
		border-right: 2px solid #36f;
		transform: translateX(0) translateY(3px) rotate(135deg); 
		transition: transform .3s;
	}

	.has_child:hover {
		border-bottom: 3px solid #36f;
	}

	.has_child:hover .child_menu {
		visibility: visible;
	}

/**/
	.child_menu { 
		width: calc( 86% - 2em );
		position: absolute;
		top: 100%;
		left: 1em;
		margin: 0;
		padding: 1em 5em;
		background: #36f; 
		visibility: hidden;
		}

/**/
	.child_menu > li {
		padding: .5em 0;
	}

	.child_menu > li > a {
		color: #fff;
		font-size: 1em;
		padding: 3px;
	}

	.child_menu a:hover {
		color: #fff;
		text-decoration: underline;
	}

	.global_menu li li,
	.foot_menu li li{
		display: list-item;
		list-style-type: none;
		list-style-position: outside;
/*		text-indent: 1em; */
	}

	.child_menu > li:not(:last-child) {
		border-bottom: 1px dashed #fff;
	}


	.global_menu li li li,
	.foot_menu li li li{
		display: inline-block;
		color: #fff;
	}

	.global_menu li li li > a,
	.foot_menu li li li > a{
		color: #fff;
		padding: 0;
		position: relative;
		padding: 0 .5em;
	}


	.global_menu li li li > a:hover::after,
	.foot_menu li li li > a:hover::after {
		text-decoration: none;
		color: #fff;
	}

	.global_menu li ul,
	.foot_menu li ul{
		display: inline-block;
	}

	.global_menu li li ul,
	.foot_menu li li ul{
		display: inline-block;
	}
/**/
	.global_menu > ul > li.has_child > ul.child_menu > li.current > ul > li > a::before {
		content: '';
		position: absolute;
		margin-top: .75em;
		left: 0;
		width: 7px;
		height: 7px;
		border-top: 2px solid #aaa;
		border-right: 2px solid #aaa;
		transform: rotate(45deg);
	}

/**/
	.global_menu > ul > li.has_child > ul.child_menu > li.current > ul > li > a::before {
		content: '';
		position: absolute;
		margin-top: .75em;
		left: 0;
		width: 7px;
		height: 7px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		transform: rotate(45deg);
	}
	.global_menu > ul > li.has_child > ul.child_menu > li > ul > li > a::before,
	.global_menu > ul > li.has_child > ul.child_menu > li.current > ul > li:not(.current) > a::before {
		content: '';
		position: absolute;
		margin-top: .75em;
		margin-left: -1.5em;
		width: 7px;
		height: 7px;
		border-top: 2px solid #aaa;
		border-right: 2px solid #aaa;
		transform: rotate(45deg);
	}

	.global_menu > ul > li.has_child > ul.child_menu > li.current > ul > li.current {
		border-bottom: 2px solid #fff;
	}


	.global_menu > ul > li.has_child > ul.child_menu > li > ul > li {
		margin-right: 2em ;
	}


/**/
	.global_menu > ul > li.has_child > ul.child_menu > li:not(.current)::before, 
	.global_menu > ul > li.has_child > ul.child_menu > li.current::before {
		content: '';
		position: absolute;
		margin-top: .75em;
		left: 3em;
		width: 9px;
		height: 9px;
		transform: rotate(45deg);
	}
	.global_menu > ul > li.has_child > ul.child_menu > li:not(.current)::before{
		border-top: 3px solid #aaa;
		border-right: 3px solid #aaa;
	}

	.global_menu > ul > li.has_child > ul.child_menu > li.current::before {
		border-top: 3px solid #fff;
		border-right: 3px solid #fff;
	}

	.global_menu > ul > li:not(.current) {
		border-bottom: 3px solid transparent;
	}

	.global_menu > ul > li:not(.current):hover {
		border-bottom: 3px solid #36f;
	}


	.global_menu > ul > li.has_child > ul.child_menu > li:not(.current):hover::before ,
	.global_menu > ul > li.has_child > ul.child_menu > li.current:hover::before {
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		transform: translateX(3px) translateY(0) rotate(45deg); 
		transition: transform .3s;
	}

	.global_menu > ul > li.has_child > ul.child_menu > li > ul > li > a:hover::before,
	.global_menu > ul > li.has_child > ul.child_menu > li.current > ul > li:not(.current) > a:hover::before {
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		transform: translateX(3px) translateY(0) rotate(45deg); 
		transition: transform .3s;
	}
	/* ---- header ---- */
	header {
		padding: 0;
		margin: 0;
		z-index: 0;
	}

	nav.nav-year {
		margin: 1em auto;
		border-bottom: 1px solid #7bf;
		border-top: 1px solid #7bf;
	}
	ul.nav-year-selector {
		text-align : center;
	}

	ul.nav-year-selector > li {
		display: inline-block;
		margin: 0 2em ;
		padding: 0 1em;
		line-height: 1.5;
	}

	ul.nav-year-selector > li:not(.current)::before {
		content: '';
		position: absolute;
		margin-top: .5em;
		margin-left: -1.5em;
		width: 7px;
		height: 7px;
		transform: rotate(45deg);
		border-top: 2px solid #aaa;
		border-right: 2px solid #aaa;
	}
	
	ul.nav-year-selector > li:not(.current):hover::before {
		border-top: 2px solid #36f;
		border-right: 2px solid #36f;
		transform: translateX(3px) translateY(0) rotate(45deg); 
		transition: transform .3s;
	}

	ul.nav-year-selector > li.current {
		border-bottom: 3px solid #7bf;
	}

	/* ---- main ---- */
	main {
		margin: 0;
		padding: 0;
		position: relative; 
		left: calc( ( 100% - ( 60% + 16em ) ) / 2 );
		width:	 60%;
		margin-bottom: 60px;
		padding: 0 8em 60px 8em;
		min-height: calc( 100vh - 230px );
	}

	/* ---- heading ---- */
	h1	{
		position: relative;
		background-color: #FFF;
		color: #000;
		font-size: 2em;
		line-height: 1;
		border-color: #7BF;
		text-align: left;
		background-image: linear-gradient(90deg, #7BF 80%, #CCC 80%);
		background-repeat: no-repeat;
		background-size: 100% 3px;
		background-position: bottom;
		margin: 0;
		padding: 0.5em 1em 0.1em 1em;
	}

	p.description {
		font-size: 1em;
		width: inherit;
		margin: 0;
		padding: 0.25em 1em 1em 0;
		color: #000;
		line-height: 1.2;
		text-align: right;
		font-weight: normal;
	}


	h2 {
		width: 100%;
		margin: 1em 0 0.5em -2em;
		padding: 0.1em 0 0 1em;
		font-size: 1.25em;
		line-height: 1;
		vertical-align: middle;
		background-image: linear-gradient( #7BF 62%, #CCC 62%);
		background-repeat: no-repeat;
		background-size: 0.25em 100%;
	}
	h2.draft {
		background-image: linear-gradient( #F33 62%, #CCC 62%);
	}

	h3 {
		width: 100%;
		margin: 1em 0 0.5em -1.25em;
		padding: 0.1em 0 0 0.75em;
		font-size: 1.25em;
		line-height: 1;
		vertical-align: middle;
		background-image: linear-gradient( #7BF 62%, #CCC 62%);
		background-repeat: no-repeat;
		background-size: 0.125em 100%;
	}

	nav.nav-head ,
	nav.nav-foot {
		position: relative;
	}

	/* ---- footer ---- */ 

	footer {
		z-index: 1;
		display: block;
		position: relative;
		width: inherit;
		background-color: #FFF;
		padding : 0;
		line-height: 2;
		border-top: #CCC 1px solid;
		clear: both;
	}

	footer ul li {
		display: inline-block;
	}

	footer > p {
		display: block;
		position: relative;
		line-height: 2;
		text-align: right;
		margin: 0 0 0 0;
		padding: 0 2em 2em 0;
	}


	div figure,
	dd figure {
		margin: 0;
		padding: 0;
		text-indent: 0;
	/*		display: inline-block; */
		border: #888 1px solid;
	/*		max-width: calc( ( 100% - 4em ) / 2); */
		height: auto;
	}

	div figure img,
	dd figure img {
		margin: .5em .5em 0 .5em;
		padding: 0;
		max-width: calc( 100% - 1em);
		height: auto;
	}

	section.news {
		margin: 1em 10%;
	}

	blockquote {
		background: #eff;
		border-left: 2px solid #7bf;
		position: relative; 
		margin: 3em 1em;
		padding: 2em;

	}
/*
	blockquote::after,
	blockquote::before {
		content: '';
		display: inline-block;
		height: 4em;
		position: absolute;
		width: 4em;
	}

	blockquote::after {
		border-bottom: 2px solid #7bf;
		border-right: 2px solid #7bf;
		display: inline-block;
		bottom: 0;
		position: absolute; 
		right: 0;
	}

	blockquote::before {
		border-top: 2px solid #7bf;
		border-left: 2px solid #7bf;
		display: inline-block;
		left: 0;
		position: absolute; 
		top: 0;
	}
*/
	blockquote p {
		margin-top: 0;
		padding: 1em;
	}

	blockquote > footer {
		background: inherit;
		border-top: 1px solid #aaa;
		padding: .5em;
		text-align: right;
	}
	blockquote > footer > cite {
		font-style: normal;
	}

}

/* ================================ */
/* pc 版 css ここから */
/* ================================ */
@media (min-width: 1280px){
	body {
		font-size: 16px;
		font-style: normal;
		font-weight: 500;
	}

	.sub {
		position: relative;
		bottom: 0;
		font-size: 0.8em;
	}

	.swiper-wrapper,
	.swiper-slide,
	.swiper-container {
		text-align: center;
		width: 100vw;
		height: auto;
	}

	.swiper-container {
		position: relative;
/*		height: 100%; */
		margin: auto;
		padding: 0;
		z-index: 1;
		background: #000;
	}

	.swiper-slide > img {
		vertical-align: bottom;
		max-width: 100vw;
		height: auto;
	}

	.swiper-button-prev, .swiper-button-next {
		background-color: rgb(0, 0, 0, 0.6);
	}

	.swiper-button-prev, .swiper-button-next {
		width: 48px;
		height: 96px;
		color: #FFF;
		z-index: 10;
	}

	 .swiper-button-next {
		right: 20px;
	}

	 .swiper-button-prev {
		left: 20px;
	}

	.swiper-pagination {
		width: 95%;
		background-color: rgb(0, 0, 0, 0.6);
	}


	.swiper-pagination-bullet {
		width: 21px;
		height: 12px;
		margin: 5px;
		border-radius: 3px;
		opacity: 0.9;
		background: #EEE;
	}

	.swiper-pagination-bullet-active { 
		background: #6CF;
	}

	main.top{
		left: 0;
		width: 100%;
		margin: 0;
		padding: 0;
	}

	#menu-button-check, .top-button, .menu-button {
		visibility: hidden;
		display: none;
	}

	/* ---- breadcrumb ---- */

	.breadcrumb {
		position: relative;
		top: 0;
		height: 24px;
		margin: 0;
		width: calc(100% - 3em);
		padding: 0 0 0 3em;
		color: #000;
		background-color: #fff;
		font-size: smaller;
		text-align: justify;
		border-bottom: 1px solid #7bf;
		list-style: none;
		z-index: 2;
	}

	.breadcrumb li {
		display: inline;
		list-style: none;
		font-weight: bold;
	}

	.breadcrumb li:after {
		content: '>';
		padding: 0 0.2em;
		color: #555;
	}

	.breadcrumb li:last-child{
		color: #000;	
	}

	.breadcrumb li:last-child:after {
		content: '';
	}

	.breadcrumb li a {
		text-decoration: none;
	}

	.breadcrumb li a:hover {
		text-decoration: underline;
	}

	/* ---- grobal menu ---- */

	.global_menu { 
		position: relative;
		color: #000;
		background: #fff;
		width: calc(100% - 2em);
		padding: 0 0 0 1em;
		z-index: 2;
	}

	.global_menu li,
	.foot_menu li {
		display: inline-block;
		line-height: 1.75;
	}

	.global_menu > ul > li.current,
	.foot_menu > ul > li.current {
		border-bottom: 3px solid #7bf;
	}

	.global_menu a,
	.foot_menu a {
		color: #000;
		display: block;
		padding: 0 36px;
		text-decoration: none;
		font-weight: bold;
	}

	.global_menu li.parent_item::after,
	.global_menu li.has_child::after,
	.foot_menu  li.parent_item::after,
	.foot_menu li.has_child::after {
		content: '';
		display: inline-block;
		position: absolute;
		top: 9px;
		width: 7px;
		height: 7px;
		border-top: 3px solid #ccc;
		border-right: 3px solid #ccc;
		transform: rotate(45deg);
	}

	.global_menu li.parent_item:hover::after,
	.foot_menu li.parent_item:hover::after {
		border-top: 2px solid #36f;
		border-right: 2px solid #36f;
		transform: translateX(6px) translateY(0) rotate(45deg); 
		transition: transform .3s;
	}


	.global_menu li.has_child:hover::after,
	.foot_menu li.has_child:hover::after {
		border-top: 2px solid #36f;
		border-right: 2px solid #36f;
		transform: translateX(0) translateY(3px) rotate(135deg); 
		transition: transform .3s;
	}

	.global_menu > ul > li:not(.current) {
		border-bottom: 3px solid transparent;
	}

	.global_menu > ul > li:not(.current):hover {
		border-bottom: 3px solid #36f;
	}

	.has_child:hover {
		border-bottom: 3px solid #36f;
	}

	.has_child:hover .child_menu {
		visibility: visible;
	}

/**/
	.child_menu { 
		width: calc( 86% - 2em );
		position: absolute;
		top: 100%;
		left: 1em;
		padding: 1em 5em;
		background: #36f; 
		visibility: hidden;
	}
/**/
	.child_menu > li {
		padding: .5em 0;
	}

	.child_menu > li > a {
		color: #fff;
		font-size: 1em;
		padding: 3px;
	}

	.child_menu a:hover {
		color: #fff;
		text-decoration: underline;
	}

	.global_menu li li,
	.foot_menu li li{
		display: list-item;
		list-style-type: none;
		list-style-position: outside;
/*		text-indent: 1em;*/
		padding-left: 1em;
	}

	.child_menu > li:not(:last-child) {
		border-bottom: 1px dashed #fff;
	}


	.global_menu li li li,
	.foot_menu li li li{
		display: inline-block;
		color: #fff;
	}

	.global_menu li li li > a,
	.foot_menu li li li > a{
		color: #fff;
		position: relative;
		padding: 0 .5em;
	}


	.global_menu li li li > a:hover::after,
	.foot_menu li li li > a:hover::after {
		text-decoration: none;
		color: #fff;
	}

	.global_menu li ul,
	.foot_menu li ul{
		display: inline-block;
	}

	.global_menu li li ul,
	.foot_menu li li ul{
		display: inline-block;
	}
/**/
	.global_menu > ul > li.has_child > ul.child_menu > li.current > ul > li > a::before {
		content: '';
		position: absolute;
		margin-top: .75em;
		width: 7px;
		height: 7px;
		border-top: 2px solid #aaa;
		border-right: 2px solid #aaa;
		transform: rotate(45deg);
	}

/**/
	.global_menu > ul > li.has_child > ul.child_menu > li.current > ul > li > a::before {
		content: '';
		position: absolute;
		margin-top: .75em;
		width: 7px;
		height: 7px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		transform: rotate(45deg);
	}

	.global_menu > ul > li.has_child > ul.child_menu > li > ul > li > a::before,
	.global_menu > ul > li.has_child > ul.child_menu > li.current > ul > li:not(.current) > a::before {
		content: '';
		position: absolute;
		margin-top: .75em;
		margin-left: -1.5em;
		top: -2px;
		width: 7px;
		height: 7px;
		border-top: 2px solid #aaa;
		border-right: 2px solid #aaa;
		transform: rotate(45deg);
	}

	.global_menu > ul > li.has_child > ul.child_menu > li.current > ul > li.current {
		border-bottom: 2px solid #fff;
	}


	.global_menu > ul > li.has_child > ul.child_menu > li > ul > li {
		margin-right: .5em ;
		margin-left: .5em ;
	}


/**/
	.global_menu > ul > li.has_child > ul.child_menu > li:not(.current)::before, 
	.global_menu > ul > li.has_child > ul.child_menu > li.current::before {
		content: '';
		position: absolute;
		margin-top: .75em;
		left: 4em;
		width: 9px;
		height: 9px;
		transform: rotate(45deg);
	}
	.global_menu > ul > li.has_child > ul.child_menu > li:not(.current)::before {
		border-top: 3px solid #aaa;
		border-right: 3px solid #aaa;
	}

	.global_menu > ul > li.has_child > ul.child_menu > li.current::before {
		border-top: 3px solid #fff;
		border-right: 3px solid #fff;
	}

	.global_menu > ul > li.has_child > ul.child_menu > li:not(.current):hover::before ,
	.global_menu > ul > li.has_child > ul.child_menu > li.current:hover::before {
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		transform: translateX(3px) translateY(0) rotate(45deg); 
		transition: transform .3s;
	}

	.global_menu > ul > li.has_child > ul.child_menu > li > ul > li > a:hover::before,
	.global_menu > ul > li.has_child > ul.child_menu > li.current > ul > li:not(.current) > a:hover::before {
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		transform: translateX(3px) translateY(0) rotate(45deg); 
		transition: transform .3s;
	}

	/* ---- header ---- */
	header {
		padding: 0;
		margin: 0;
		z-index: 0;
	}

	nav.nav-year {
		margin: 1em auto;
		border-bottom: 1px solid #7bf;
		border-top: 1px solid #7bf;
	}
	ul.nav-year-selector {
		text-align : center;
	}

	ul.nav-year-selector > li {
		display: inline-block;
		margin: 0 2em ;
		padding: 0 1em;
		line-height: 1.5;
	}

	ul.nav-year-selector > li:not(.current)::before {
		content: '';
		position: absolute;
		margin-top: .5em;
		margin-left: -1.5em;
		width: 7px;
		height: 7px;
		transform: rotate(45deg);
		border-top: 2px solid #aaa;
		border-right: 2px solid #aaa;
	}
	
	ul.nav-year-selector > li:not(.current):hover::before {
		border-top: 2px solid #36f;
		border-right: 2px solid #36f;
		transform: translateX(3px) translateY(0) rotate(45deg); 
		transition: transform .3s;
	}

	ul.nav-year-selector > li.current {
		border-bottom: 3px solid #7bf;
	}


	/* ---- main ---- */
	main {
		margin: 0;
		padding: 0;
		position: relative; 
		left: calc( ( 100% - ( 60% + 16em ) ) / 2 );
		width:	 60%;
		margin-bottom: 60px;
		padding: 60px 8em;
		min-height: calc( 100vh - 230px );
	}

	/* ---- heading ---- */
	h1	{
		position: relative;
		background-color: #FFF;
		color: #000;
		font-size: 2.25em;
		line-height: 1;
		border-color: #7BF;
		text-align: left;
		background-image: linear-gradient(90deg, #7BF 80%, #CCC 80%);
		background-repeat: no-repeat;
		background-size: 100% 3px;
		background-position: bottom;
		margin: 0;
		padding: 0.5em 1em 0.1em 1em;
	}

	p.description {
		font-size: 1em;
		width: inherit;
		margin: 0;
		padding: 0.25em 1em 1em 0;
		color: #000;
		line-height: 1.2;
		text-align: right;
		font-weight: normal;
	}


	h2 {
		width: 100%;
		margin: 2em 0 1em -2em;
		padding: 0.1em 0 0 1em;
		font-size: 1.5em;
		line-height: 1;
		vertical-align: middle;
		background-image: linear-gradient( #7BF 62%, #CCC 62%);
		background-repeat: no-repeat;
		background-size: 0.25em 100%;
		clear: both;
	}
	h2.draft {
		background-image: linear-gradient( #F33 62%, #CCC 62%);
	}

	h3 {
		width: 100%;
		margin: 1em 0 0.5em 0;
		padding: 0.1em 0 0 0.75em;
		font-size: 1.25em;
		line-height: 1;
		vertical-align: middle;
		background-image: linear-gradient( #7BF 62%, #CCC 62%);
		background-repeat: no-repeat;
		background-size: 0.125em 100%;
	}

	nav.nav-head ,
	nav.nav-foot {
		position: relative;
	}

	/* ---- footer ---- */ 

	footer {
		z-index: 1;
		display: block;
		position: relative;
		width: inherit;
		background-color: #FFF;
		padding : 0;
		line-height: 2;
		border-top: #CCC 1px solid;
		clear: both;
	}

	footer ul li {
		display: inline-block;
	}

	footer > p {
		display: block;
		position: relative;
		line-height: 2;
		text-align: right;
		margin: 0 0 0 0;
		padding: 0 2em 2em 0;
	}

	.figure_right {
		max-width: calc( ( 100% + 4em) / 2);
		height: auto;
	}

	.figure_left {
		max-width: calc( ( 100% + 4em) / 2);
		height: auto;
	}

	div figure,
	dd figure {
		margin: 0;
		padding: 0;
		text-indent: 0;
	/*		display: inline-block; */
		border: #888 1px solid;
	/*		max-width: 50%;*/
		height: auto;
	}

	div figure img,
	dd figure img {
		margin: .5em .5em 0 .5em;
		padding: 0;
		max-width: calc( 100% - 1em );
		height: auto;
	}


	input[type=text], 
	input[type=email], 
	select, 
	textarea,
	div.submit_button {
		margin: 0 0 0 2em;
		width: 85%;
	}

	div.submit_button {
		display: inline-block;
	}

	button.prev,
	button.next {
		width:50%;
	}

	button[type=submit] {
		display: inline-block;
		width: 30%;
		margin: 2em auto;
		padding: 10px;
		text-align: center;
		color: #000;
		font-weight: bolder;
		border-radius: 7px;
		font-size: 1em;
	}

	button[type=submit].next {
		background-color: rgba(119, 167, 255, .8);
		float: right;
	}

	button[type=submit].prev {
		background-color: rgba(204, 204, 204, .8);
		float: left;
	}

	button[type=submit].next:hover {
		background-color: rgba(0, 0, 255, 1);
		color: #FFF;
	}

	button[type=submit].prev:hover {
		background-color: rgba(32, 32, 32, 1);
		color: #FFF;
	}


	p.confirm {
		margin: 0 0 0 2em;
		width: 85%;
		border: solid 1px #AAA;
		background-color: #EEE;
	}

	section.news {
		margin: 1em 15%;
	}
	
	blockquote {
		background: #eff;
		border-left: 2px solid #7bf;
		position: relative; 
		margin: 3em 1em;
		padding: 2em;

	}
/*
	blockquote::after,
	blockquote::before {
		content: '';
		display: inline-block;
		height: 4em;
		position: absolute;
		width: 4em;
	}

	blockquote::after {
		border-bottom: 2px solid #7bf;
		border-right: 2px solid #7bf;
		display: inline-block;
		bottom: 0;
		position: absolute; 
		right: 0;
	}

	blockquote::before {
		border-top: 2px solid #7bf;
		border-left: 2px solid #7bf;
		display: inline-block;
		left: 0;
		position: absolute; 
		top: 0;
	}
*/
	blockquote p {
		margin-top: 0;
		padding: 1em;
	}

	blockquote > footer {
		background: inherit;
		border-top: 1px solid #aaa;
		padding: .5em;
		text-align: right;
	}
	blockquote > footer > cite {
		font-style: normal;
	}

}
