*:active, *:focus {
	outline: none !important;
}

main {
	margin: 0;
	padding: 0;
}

main .open_menu {
	display: block;
	position: relative;
	float: right;
	width: 38px;
	height: 34px;
	border: 2px solid #8bb5d5;
	margin: 2px 0 0;
}

.open_menu .menu_bars {
	display: block;
	position: absolute;
	height: 3px;
	width: 24px;
	top: 9px;
	left: 50%;
	margin-left: -12px;
	background: #a0c2dc;
}

.open_menu .menu_bars:before {
	display: block;
	position: absolute;
	content: 'bars';
	font-size: 0px;
	height: 3px;
	width: 24px;	
	top: 7px;
	background: #a0c2dc;
}

.open_menu .menu_bars:after {
	display: block;
	position: absolute;
	content: 'bars';
	font-size: 0px;
	height: 3px;
	width: 24px;
	top: 14px;
	background: #a0c2dc;
}


.slide-menu {
	padding: 0;
}

.slide-menu .slider {
  top: 48px;
}

.slide-menu .controls {
	display: block;
	position: relative;
	background: #f9f9f9;
}

.slide-menu .close_menu {
	float: right;
	color: #666666;
	padding: 0;
	margin: 0;
	width: 64px;
	height: 64px;
	text-align: center;
	font-size: 40px;
	line-height: 40px;
	display: block;
	position: relative;
	z-index: 99;
}

ul#menu {
	display: block;
	position: relative;
	margin: 64px 0 0;
}

ul#menu li.menu_category {
	display: block;	
}

ul#menu li:first-child a {
	border-top: 1px solid rgba(0, 0, 0, 0.1);
}

ul#menu .menu_category a {
	color: #494949;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
	padding: 12px 16px;
}

ul#menu .menu_category a .fa.fa-angle-right {
	position: absolute;
	right: 12px;
	font-size: 18px;
}

ul#menu .menu_category a .fa.fa-angle-left {
	position: absolute;
	left: 12px;
	font-size: 18px;
}

ul.menu_sub li a {
	display: block;
	padding: 12px 32px !important;
	text-decoration: none;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
	border-top: none !important;
}


ul.menu_sub li a.slide-menu-control {
	background: #444444;
	border-bottom: 1px solid #666666 !important;
	border-top: 1px solid #666666 !important;
	color: #ffffff !important;
	padding: 12px 12px;
}

#header_wrapper {
	display: block;
	position: relative;
	padding: 12px 8px;
	margin: 0;
}

#logo_top {
	display: inline-block;
	position: relative;
	margin: 0;
	padding: 0;
	width: 60px;
	vertical-align: top;
}


#quick_link_bar {
	display: block;
	position: relative;
	margin: 0;
	padding: 13px 0;
	background: #005e9f;
	box-shadow: inset 0 0 8px rgba(0, 0, 0, 0.2);
	text-align: center;
}

#quick_link_bar li.quick_link {
	display: inline-block;
	position: relative;
	margin: 0;
	padding: 0px;
	list-style: none;
	vertical-align: top;
}

li.quick_link a {
	color: #ffffff;
	display: block;
	position: relative;
	font-weight: bold;
	font-size: 15px;
	letter-spacing: 0;
	padding: 0 4px;
}

#slide_wrapper {
	display: block;
	position: relative;
	margin: 0;
	padding: 0;
}

#slide_wrapper li {
	position: relative;
}

#slide_wrapper .slide_inner_text {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	padding: 35px 0 0;
	text-align: center;
	width: 100%;
	z-index: 88;
	color: #202020;
}

.slide_inner_text .slide_t01 {
	font-size: 18px;
	line-height: 24px;
	margin: 0 0 5px;
	padding: 0;
}

.slide_inner_text .slide_t02 {
	font-family: 'Roboto', sans-serif;
	font-size: 36px;
	line-height: 40px !important;
	font-weight: 900;
	letter-spacing: -0.02em;
	margin: 0 0 10px;
}

.slide_inner_text .slide_t03 {
	font-size: 14px;
	line-height: 22px;
	padding: 0 25px;
}

#main_contents {
	display: block;
	position: relative;
	padding: 5px;
	background: #f9f9f9;
}


.main_con_box {
	display: block;
	position: relative;
	margin: 2px 0;
	background: #ffffff;
	border-radius: 4px;
	border: 1px solid #dddddd;
	overflow: hidden;
}

a.min_con_inner {
	display: block;
	position: relative;	
	padding: 15px;
}

.main_box_date {
	font-family: 'Roboto', sans-serif;
	font-size: 10px;
	line-height: 16px;
	font-weight: 400;
	margin: 0px 0 8px;
	color: #666666;
	letter-spacing: -0.025em;
	padding: 0 0 5px;
	border-bottom: 1px solid #cfcfcf;
}

.main_box_title {
	display: inline-block;
	vertical-align: middle;
	font-size: 14px;
	line-height: 22px;
	color: #000000;
	margin: 0px;
	padding: 0 0 0 7px;
}

.main_box_text {
	display: inline-block;
	vertical-align: top;
	font-size: 14px;
	line-height: 22px;
	font-weight: bold;
	color: #0083df;
	margin: 0px;
	padding: 0 10px 0 0;
	border-right: 2px solid #0083df;
	letter-spacing: -0.025em;
}

.more_view {
	display: block;
	position: relative;
	color: #aaaaaa;
	font-size: 11px;
	width: 22px;
	height: 22px;
	border: 1px solid #cccccc;
	float: right;
	text-align: center;
}

#links_slider a.links_inner {
	display: block;
	position: relative;
	margin: 0;
	padding: 0;
	text-align: center;
}

#footer {
	display: block;
	position: relative;
	padding: 20px 15px 20px;
}

#footer p {
	font-size: 10px;
	color: #888888;
	line-height: 17px;
	margin: 0;
	text-align: left;
}

#bottom_links {
	display: block;
	position: relative;
	padding: 0;
	text-align: center;
	margin: 0;
	background: #fafafa;
	border-top: 1px solid #dddddd;
	border-bottom: 1px solid #dddddd;
}

#bottom_links .bottom_link_inner {
	margin: 0;
	padding: 0;
}

.bottom_link_inner li {
	margin: 0;
	padding: 6px 0;
	display: inline-block;
	text-align: center;
	list-style: none;
	width: 23.454545%;
	font-size: 12px;
	border-left: 1px solid #dddddd;
	letter-spacing: -0.025em;
}

.bottom_link_inner li:first-child {
	border-left: none;
}

.bottom_link_inner a {
	color: #555555;
}


#sub_header {	
	display: block;
	position: relative;
	height: 60px;
	margin: 0;
	padding: 15px 25px;
	text-align: left;
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
}

#sub_header.sub_header_01 { background-image: url('../img/sub-top-bg01.jpg'); }
#sub_header.sub_header_02 { background-image: url('../img/sub-top-bg02.jpg'); }
#sub_header.sub_header_03 { background-image: url('../img/sub-top-bg03.jpg'); }
#sub_header.sub_header_04 { background-image: url('../img/sub-top-bg04.jpg'); }
#sub_header.sub_header_05 { background-image: url('../img/sub-top-bg05.jpg'); }
#sub_header.sub_header_06 { background-image: url('../img/sub-top-bg06.jpg'); }


#sub_header h5 {
	font-size: 28px;
	line-height: 30px !important;
	font-family: 'Rajdhani', sans-serif;
	font-weight: 600;
	color: #ffffff;
	letter-spacing: 0.025em;
	margin: 0;
	padding: 0;
}


#sub_header .page_title_sm {
	display: block;
	position: relative;
	font-size: 16px;
	font-weight: 400;
	color: #ffffff;
	line-height: 20px !important;
	padding: 5px 0 0;
	margin: 0px;
	letter-spacing: -0.025em;
}


#sub_wrapper {
	display: block;
	position: relative;
	padding: 0px;
	margin: 0;
}

#sub_contents {
	display: block;
	position: relative;
	margin: 0;
	padding: 15px 15px 40px;
}


#page_state {
	display: block;
	position: relative;
	line-height: 20px;
	color: #777777;
	font-size: 11px;
	text-align: right;
	margin: 0 0 25px;
}

#page_control {
	display: block;
	position: relative;
	margin: 0;
	padding: 0;
	height: 47px;
	border-bottom: 1px solid #dddddd;
	text-align: center;
}

#page_control .p_navi {
	display: inline-block;
	position: relative;
	margin: 0 -3px 0 0;
	font-size: 0px;
	letter-spacing: -3px;
	*zoom: 1;
	padding: 0;
	list-style: none;
	height: 44px;
}

a.p_navi_link {
	display: block;
	text-align: center;
	line-height: 44px;
	font-size: 13px;
	letter-spacing: 0;
	color: #666666;
	border-bottom: 3px solid transparent;
	margin: 0;
	padding: 0 4px;
	
}

a.p_navi_link.active {
	border-bottom: 3px solid #004c8c;
	color: #004c8c;
	transition: all ease-in-out 0.3s;
	font-weight: bold;
}

a.p_navi_link:hover {
	color: #0073b0;
}


#history_wrapper {
	display: block;
	position: relative;
	margin: 0;
	padding: 0;
	border-left: 1px solid #dddddd;
}

.history_box {
	display: block;
	position: relative;
	text-align: left;
	vertical-align: top;
	margin: 0;
	padding: 0 0 0px 20px;
}

.history_box:before {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #ffffff;
	left: -8px;
	top: 8px;
	position: absolute;
	display: block;
	content: '';
	border: 5px solid #0083df;
}


.h_year {
	display: block;
	position: relative;
	margin: 0 0 5px;
	font-family: 'Rajdhani', sans-serif;
	font-weight: 600;
	color: #444444;
	font-size: 24px;
	letter-spacing: -0.025em;
}


ul.h_list {
	display: block;
	position: relative;
	margin: 0 0 30px;
	padding: 0px;
}

ul.h_list li {
	display: block;
	position: relative;
	list-style: none;
	margin: 3px 0;
	padding: 0 0 0 25px;
	line-height: 24px;
	letter-spacing: -0.025em;
}

ul.h_list .h_month {
	width: 25px;
	height: 24px;
	font-weight: bold;
	color: #222222;
	display: block;
	position: absolute;
	left: 0;
	top: 0;
}

ul.h_list li.h_list_img {
	margin: 10px 0 15px;
}

#gallery_wrapper {
	display: block;
	position: relative;
	margin: 0px 0 0;
	padding: 0;
}

.gal_box {
	display: block;
	position: relative;
	padding: 0px;
	margin: 0 0 20px;
}

.link-list {
	display: block;
	position: relative;
	margin: 0;
	padding: 0;
}


.gal_thumb {
	display: block;
	position: relative;
	height: 160px;
	margin: 0px; 
	padding: 0;
}


.gal_thumb_text {
	display: block;
	position: relative;
	padding: 5px 0;
	font-size: 15px;
	line-height: 40px;
	text-align: center;
	letter-spacing: 0em;
	color: #ffffff;
	background: #000000;
}


#contact_info {
	display: block;
	position: relative;
	padding: 15px 15px;
	border: 5px solid #efefef;
	margin: 0 0 25px;
}

.info_box {
	display: block;
	position: relative;	
	padding: 0 0 10px;
}

.tel_info,
.fax_info {
	display: block;
	position: relative;
	padding: 10px 45px 0 0px;
}

.icon_info {
	display: block;
	position: absolute;
	right: 0;
	top: 10px;
	width: 35px;
	height: 35px;
	border-radius: 5px;
	background: #444444;
	color: #ffffff;
	text-align: center;
}

.icon_info .fa {
	line-height: 35px;
	font-size: 18px;
}

.info_t01 {
	font-size: 12px;
	color: #202020;
	line-height: 15px;
	margin: 0px 0 5px;
}


.info_t02 {
	font-size: 14px;
	font-weight: bold;
	line-height: 20px;
	margin: 0px 0 3px;
}


.location_top_img {
	display: block;
	position: relative;
	padding: 0px;
	margin: 30px 0 50px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

#loacation_inner {
	padding: 100px 20px 20px 20px;
	color: #ffffff;
	background: #004c8c;
	display: inline-block;
}

#loacation_inner .loacation_t01 {
	font-size: 24px;
	line-height: 28px;
	font-family: 'Rajdhani', sans-serif;
	font-weight: 600;
	margin: 0;
} 

#loacation_inner .loacation_t02 {
	font-size: 14px;
	line-height: 18px;
	margin: 0;
}


.location_top_img#okinawa {	background-image: url('../img/location01.jpg'); }
.location_top_img#hokkaido {	background-image: url('../img/location02.jpg'); }
.location_top_img#pusan {	background-image: url('../img/location03.jpg'); }
.location_top_img#seoul {	background-image: url('../img/location04.jpg'); }