@charset "utf-8";

html {
	font-size: 62.5%;
	background-color: #fff;
}

body {
	font-size: 1.6rem;
	color: #333333;
	background-color: #ffffff;
}

/*
@font-face {
	font-family: "YuGothic M";
	src: local("Yu Gothic Medium");
}
*/
html[lang="ja"] body {
/*	font-family: -apple-system, BlinkMacSystemFont, "YuGothic M", YuGothic, "Hiragino Kaku Gothic Pro", Meiryo, sans-serif; */
	font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic Pro", Meiryo, sans-serif;
}
html[lang="en"] body {
	font-family: Arial, Verdana, "Helvetica Neue", helvetica, sans-serif;
}
html[lang="zh-hant"] body {
	font-family: "Microsoft JhengHei", 微軟正黑體, PmingLiU, "Apple LiGothic", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.clear {
	clear: both;
}

a {
	color: #333;
	outline: none;
	text-decoration: none;
}
a:hover {
	color: #CE3C3B;
}
a:hover > img {
	opacity: 0.70;
}

strong {
	font-weight: bold;
}

.fit {
	max-width: 100%;
}


.br_pc:before {
	content: "\A" ;
	white-space: pre ;
}
.br_sp:before {
	content: "" ;
	white-space: normal;
}

@media screen and (max-width:768px) {

.br_pc:before {
	content: "" ;
	white-space: normal;
}
.br_sp:before {
	content: "\A" ;
	white-space: pre ;
}

}



/* for container
---------------------------------------------------------------------------- */

#container {
	width: 100%;
	padding-bottom: 40px;
}
#container:after {
	clear: both;
	content: "";
	display: block;
	height: 0;
}



/* for header
---------------------------------------------------------------------------- */

header {
	width: 100%;
	background-color: #000;
	border-bottom: 5px solid #BE8502;
	min-width: 936px;
}

header #header_contents {
	width: 920px;
	margin: 0 auto;
	display: table;
	background-color: #000;
}

header #header_contents #logo {
	display: table-cell;
	width: 50%;
	text-align: left;
	vertical-align: middle;
	padding: 14px 0 14px 10px;
}
header #header_contents #logo img {
	width: 270px;
}

header #header_contents ul#lang_sp {
	display: none;
}

header #header_contents ul.lang {
	display: table-cell;
	width: 50%;
	text-align: right;
	vertical-align: middle;
}

header #header_contents ul.lang li {
	display: inline-block;
	margin-left: 10px;
	vertical-align: top;
}

header #header_contents ul.lang li a {
	color: #C0C0C0;
	border: 1px solid #C0C0C0;
	padding: 5px 20px;
	font-size: 1.2rem;
	font-weight: bold;
	text-decoration: none;
}
header #header_contents ul.lang li a:hover {
	color: #000;
	background-color: #C0C0C0;
}

header #header_contents #gnav_icon {
	display: none;
}


@media screen and (max-width:768px) {
	header {
		min-width: 0;
	}
	
	header #header_contents {
		width: 100%;
	}

	header #header_contents #logo {
		width: 60%;
		padding: 15px 0 15px 10px;
	}
	header #header_contents #logo img {
		width: 100%;
	}
	
	header #header_contents ul#lang_pc {
		display: none;
	}
	header #header_contents ul#lang_sp {
		display: table-cell;
	}
	header #header_contents ul.lang {
		padding-right: 10px;
	}
	header #header_contents ul.lang li {
		margin-left: 6px;
	}
	header #header_contents ul.lang li a {
		display: block;
		text-align: center;
		padding: 5px;
		font-size: 1.1rem;
/*
		width: 40px;
*/
	}


	header #header_contents #gnav_icon {
		display: table-cell;
		width: 28px;
		text-align: right;
		vertical-align: middle;
		padding: 3px 10px 0;
	}

	header #header_contents #gnav_icon img {
		width: 28px;
		height: 28px;
	}

}


/* for gnav
-------------------------------------------- */

#gnav {
	width: 100%;
	min-width: 936px;
	border-bottom: 2px solid #BE8502;
}


#gnav > ul {
	display: flex;
	justify-content: center;
}

#gnav > ul > li > a {
	display: block;
	min-height: 34px;
	color: #000;
	font-size: 1.6rem;
/*	padding: 2.2rem 15px 0.4rem 55px; */
	padding: 2.2rem 15px 2.2rem 55px;
	vertical-align: middle;
	background-position: 15px 50%;
	background-repeat: no-repeat;
	background-size: 34px 34px;
}

html[lang="en"] #gnav > ul > li > a {
	font-size: 1.45rem;
	padding: 2.2rem 10px 2.2rem 48px;
	background-position: 6px 50%;
}


#gnav > ul > li > a:hover {
	background-color: #F2F2F2;
}

#gnav ul li#gnav_information > a {
	background-image: url(/common/images/gnav_information.png);
}
#gnav ul li#gnav_shopping > a {
	background-image: url(/common/images/gnav_shopping.png);
}
#gnav ul li#gnav_learning > a {
	background-image: url(/common/images/gnav_learning.png);
}
#gnav ul li#gnav_sightseeing > a {
	background-image: url(/common/images/gnav_sightseeing.png);
}

#gnav ul li div {
	display: none;

	margin-top: 2px;
	position: absolute;
	left: 0;
	right: 0;
	background: rgba(0,0,0, 0.85);
	padding: 20px 20px 5px;
	z-index: 200;
}

#gnav ul li div ul {
	width: 940px;
	margin: 0 auto;
}

#gnav ul li div ul li {
	display: inline-block;
	border-right: 1px solid #fff;
	padding: 0 10px;
	margin-bottom: 15px;
}
#gnav ul li div ul li:last-child {
	border-right: 0;
}

#gnav ul li div ul li a {
	display: block;
	color: #fff;
	font-size: 1.5rem;
	border-bottom: 1px dotted transparent;
}
#gnav ul li div ul li a:hover {
	background-color: transparent;
	border-bottom-color: #fff;
}

@media screen and (max-width:768px) {

#gnav {
	display: none;

	width: 75%;
	padding: 10px;
	min-width: 0;
	border-bottom: 0;
/*	background: rgba(198,133,5, 0.8); */
	background: rgba(0,0,0, 0.85);
	position: absolute;
	right: 0;
	z-index: 200;
}

#gnav > ul {
	display: block;
}

#gnav > ul > li > a {
	display: block;
	min-height: 34px;
	color: #fff;
	font-size: 1.5rem;
/*	padding: 2rem 10px 0.4rem 55px; */
	padding: 2rem 10px 2rem 55px;
	vertical-align: middle;
	background-position: 15px 50%;
	background-repeat: no-repeat;
	border-top: 1px solid #fff;
	font-weight: bold;
}
#gnav > ul > li > a:hover {
	background-color: transparent;
}
#gnav > ul > li:last-child {
	border-bottom: 1px solid #fff;
}


#gnav ul li#gnav_information > a {
	background-image: url(/common/images/gnav_information.png);
}
#gnav ul li#gnav_shopping > a {
	background-image: url(/common/images/gnav_shopping.png);
}
#gnav ul li#gnav_learning > a {
	background-image: url(/common/images/gnav_learning.png);
}
#gnav ul li#gnav_sightseeing > a {
	background-image: url(/common/images/gnav_sightseeing.png);
}

#gnav ul li div {
	display: none;

	margin-top: 0;
	position: inherit;

	background: inherit;
	padding: 0 8px 10px;
	z-index: 200;
}

#gnav ul li div ul {
	width: 100%;
	margin: 0 auto;
}

#gnav ul li div ul li {
	display: block;
	border-right: 0;
	padding: 0;
	margin-bottom: 5px;
}

#gnav ul li div ul li a {
	display: block;
	padding: 8px;
	color: #fff;
	font-size: 1.5rem;
	border-bottom: 0;
}

}





/* for contents
---------------------------------------------------------------------------- */



/* for popup
---------------------------------------------------------------------------- */
#popup {
	border: 1px solid #EDEDED;
	position: relative;
	z-index: 10000;
	background: #fff;
}
#popup .inner {
	padding: 60px 50px;
	line-height: 1.8rem;
	font-size: 1.5rem;
}
	
#popup h2 {
	margin: 30px 0 20px;
	font-size: 1.7rem;
}
#popup h2:first-child {
	margin-top: 0;
}

#popup p + p {
	margin-top: 30px;
}

#popup a {
	color: #000;
	text-decoration: none;
}
#popup a:hover {
	text-decoration: underline;
}

/* override */

#popup .mfp-close {
	top: -40px;
	right: -10px;
	color: #fff;
	font-size: 3.0rem;
}


@media screen and (max-width:480px) {
	#popup .inner {
		padding: 50px 20px;
		line-height: 1.6rem;
		font-size: 1.3rem;
	}
	
	#popup h2 {
		font-size: 1.4rem;
	}
	
}




/* for parts
-------------------------------------------- */


/* for link icon
----------------------------- */

a.pdf {
	display: inline-block;
	min-height: 20px;
}
a.pdf::after {
	display: inline-block;
	content: "";
	width: 22px;
	height: 22px;
	padding: 0 0 0 0.3em;
	vertical-align: middle;
	background: url(/common/images/icon_pdf.png) no-repeat right 0;
	background-size: 20px 20px;
}

a.extarnal {
	display: inline-block;
	min-height: 22px; 
}
a.extarnal::after {
	display: inline-block;
	content: "";
	width: 20px;
	height: 20px;
	padding: 0 0 0 0.3em;
	vertical-align: baseline;
	background: url(/common/images/icon_openwin_bk.png) no-repeat right 0;
	background-size: 20px 20px;
}

@media screen and (max-width:768px) {
	a.extarnal::after {
		width: 18px;
		height: 18px;
		background-size: 18px 18px;
	}
}


a.link_btn {
	display: inline-block;
	color: #fff;
	line-height: 1.0;
	text-align: center;
	padding: 8px 12px;
	border-radius: 5px;
	background: #000;
	font-size: 1.2rem;
}
a.link_btn:hover {
	opacity: 0.7;
}
a.link_btn[target="_blank"] {
	padding: 8px 34px 8px 12px;
	background: #000 url(/common/images/icon_openwin.png) no-repeat 94% 50%;
	background-size: 20px 20px;
}



/* for arrow link icon
----------------------------- */

.arrow{
	position: relative;
	display: inline-block;
	padding: 0 0 0 22px;
	color: #000;
	vertical-align: middle;
	text-decoration: none;
	font-size: 15px;
}
.arrow::before,
.arrow::after{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}
.arrow::before{
	width: 12px;
	height: 12px;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	background: #AF7308;
}
.arrow::after{
	left: 3px;
	width: 3px;
	height: 3px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}





/* for sub title
----------------------------- */

.subtitle {
	position: relative;
	padding: .25em 0 0.8em 1.2em;
	border-bottom: 1px solid #D29600;
	margin-bottom: 40px;
	font-size: 1.9rem;
}
.subtitle::before {
	position: absolute;
	left: 0;
	bottom: 5px;
	content: "";
	height: 2em;
	border-left: 5px solid #D29600;
}

@media screen and (max-width:768px) {
	.subtitle {
		padding: .25em 0 0.5em 1.2em;
		margin-bottom: 30px;
		font-size: 1.6rem;
	}
	.subtitle::before {
		position: absolute;
		left: 0.6rem;
		bottom: 3px;
		content: "";
		height: 1.6em;
		border-left: 3px solid #D29600;
	}
}




/* for zoom icon
----------------------------- */
.zoom {
	position: relative;
	display: inline-block;
}
.zoom::before {
	position: absolute;
	top: -10px;
	right: -10px;
	content: "";
	width: 40px;
	height: 40px;
	background: url(../images/icon_zoom.png) no-repeat left top;
	background-size: 40px 40px;
	z-index: 100;
}

@media screen and (max-width:768px) {
	.zoom::before {
		top: -10px;
		right: -10px;
		width: 20px;
		height: 20px;
		background-size: 20px 20px;
	}
}

/* for sub title 
----------------------------- */

.line_right {
	display: flex;
	align-items: center;
}
.line_right::after {
	border-top: 1px solid #D29600;
	content: "";
	display: inline; /* for IE */
	flex-grow: 1;
	margin-left: 0.8rem;
}





/* for footer
---------------------------------------------------------------------------- */

footer {
	clear: both;
	width: 100%;
	background-color: #000;
	color: #fff;
	min-width: 936px;
	padding: 24px 0;
}


footer #footer_nav ul {
	width: 920px;
	margin: 0 auto;
	text-align: right;
	font-size: 0; /* for inline-block space */
}
footer #footer_nav ul li {
	display: inline-block;
	border-right: 1px solid #fff;
	padding: 0 20px;
}
footer #footer_nav ul li:last-child {
	border-right: 0;
}

footer #footer_nav ul li a {
	color: #fff;
	font-size: 1.4rem;
	text-decoration: none;
	border-bottom: 1px dotted transparent;
}
footer #footer_nav ul li a:hover {
	border-bottom-color: #fff;
}



@media screen and (max-width:768px) {
	
	footer {
		min-width: 0;
	}
	
	footer #footer_nav ul {
		width: 100%;
		text-align: right;
	}
	
	footer #footer_nav ul li {
		display: inline-block;
		border-right: 1px solid #fff;
		padding: 0 10px;
		margin-bottom: 10px;
	}
	
	footer #footer_nav ul li a {
		color: #fff;
		font-size: 1.2rem;
		text-decoration: none;
		border-bottom: 1px dotted transparent;
	}

}

