a{ color: #625540; text-decoration: none;}
a:hover{ color: #D9A300; text-decoration: underline;}
body {
	line-height: 1;
	background-image: url(../img/bg.gif);
	background-repeat: repeat;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
@media print, screen and (max-width: 750px) {
	body {
		font-size: 87.5%;
	}
	.spmenu_open {
		overflow: hidden;
		width: 100vw;
		height: 100vh;
	}
}
@media print, screen and (min-width: 751px) {
	body {
		margin-right: 23px;
	}
}

#wrapper {
	box-sizing: border-box;
	width: 100%;
	height: auto;
	background-color: #FFF;
	box-shadow: 3px 3px 3px 3px rgba(0, 0, 0, 0.1);
}
#wrapper.top {
	margin-left: auto;
	border: 1px solid #DEDEDE;
}
#wrapper.inner {
	margin-right: auto;
	margin-bottom: 20px;
	margin-left: auto;
	box-shadow: 5px 5px 5px 3px rgba(0, 0, 0, 0.4);
}
@media print, screen and (max-width: 750px) {
}
@media print, screen and (min-width: 751px){
	#wrapper.top {
		margin-top: 10px;
		margin-right: auto;
		margin-bottom: 20px;
		max-width: 960px;
	}
	#wrapper.inner {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		max-width: 777px;
	}
}


section {
	margin-bottom: 40px;
	margin-top: 30px;
}

/*ヘッダー部分*/
.top header {
	background-color: #D1C1B2;
	padding: 10px;
}
.top header h1 {
	float: left;
	margin-left: 10px;
	width: 203px;
	height: 100px;
}
.top header h1 a,
.inner header h1 a {
	background-image: url(../img/top/logo.png);
	background-repeat: no-repeat;
	background-size: contain;
	text-indent: -9999px;
}
.top header h1 a,
.inner header h1 a {
	display: block;
	height: 100px;
	width: 203px;
}
.top header .lang.pc {
	float: right;
	margin-right: 2px;
}
.top header .lang.pc ul {
	margin-bottom: 5px;
}
.top header .lang.pc ul li {
	display: inline;
	margin-right: 4px;
}

@media print, screen and (max-width: 750px) {
	.top header,
	.inner header {
		box-sizing: border-box;
/*		position: sticky;
		top: 0;
		z-index: 10000;*/
		padding: 5px 10px;
		width: 100%;
		height: 65px;
		background-color: #D1C1B2;
	}
	.top header h1,
	.inner header h1 {
		margin-left: 0;
		width: 102px;
		height: 50px;
	}
	.top header h1 a,
	.inner header h1 a {
		width: 100%;
		height: 100%;
	}
	.top header .hnav,
	.inner header .hnav {
		position: absolute;
		top: 10px;
		right: 10px;
	}
	.top header .hnavBtn,
	.inner header .hnavBtn {
		position: relative;
		display: flex;
		justify-content: space-between;
		width: 130px;
		height: 50px;
	}
	.top header .hnavBtn::after,
	.inner header .hnavBtn::after {
		position: absolute;
		top: 7px;
		left: 70px;
		display: block;
		content: '';
		width: 1px;
		height: 35px;
		background-color: #b6a08c;
	}
	.top header .hnavBtn li,
	.inner header .hnavBtn li {
		width: 50px;
		height: 50px;
		text-indent: -9999px;
		background-repeat: no-repeat;
		background-position: 50% 50%;
	}
	.top header .hnavBtn li.lang,
	.inner header .hnavBtn li.lang {
		background-image: url(/img/common/sph_lang.png);
		background-size: 48px 43px;
	}
	.top header .hnavBtn li.lang.open,
	.inner header .hnavBtn li.lang.open {
		background-image: url(/img/common/sph_lang_close.png);
		background-size: 48px 43px;
	}
	.top header .hnavBtn li.menu,
	.inner header .hnavBtn li.menu {
		background-image: url(/img/common/sph_menu.png);
		background-size: 25px 25px;
	}
	.top header .hnavLang,
	.inner header .hnavLang {
		display: none;
		position: absolute;
		top: 65px;
		left: 0;
		z-index: 10000;
		box-sizing: border-box;
		width: 100%;
		background-color: #381a1e;
		font-size: 0;
	}
	.top header .hnavLang::after,
	.inner header .hnavLang::after {
		position: absolute;
		top: 15px;
		left: 50%;
		display: block;
		content: '';
		width: 1px;
		height: 35px;
		background-color: #624a4e;
	}
	.top header .hnavLang li,
	.inner header .hnavLang li {
		box-sizing: border-box;
		display: inline-block;
		width: calc((100% - 1px) / 2);
	}
	.top header .hnavLang li a,
	.inner header .hnavLang li a {
		box-sizing: border-box;
		display: block;
		padding: 25px 15px;
		text-align: center;
		font-size: 1rem;
		color: #ffffff;
	}
	.top header .hnavMenu,
	.inner header .hnavMenu {
		display: none;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1000;
		width: 100%;
		background-color: #ebe5da;
	}
	.top header .hnavMenu .hnavMenuHeader,
	.inner header .hnavMenu .hnavMenuHeader {
		box-sizing: border-box;
		position: fixed;
		top: 0;
		z-index: 10000;
		padding: 5px 10px;
		width: 100%;
		height: 65px;
		background-color: #ebe5da;
	}
	.top header .hnavMenu .hnavMenuHeader .closeBtn,
	.inner header .hnavMenu .hnavMenuHeader .closeBtn {
		position: absolute;
		top: 10px;
		right: 10px;
		width: 50px;
		height: 50px;
		text-indent: -9999px;
		background-image: url(/img/common/sph_menu_close.png);
		background-size: 25px 25px;
		background-repeat: no-repeat;
		background-position: 50% 50%;
	}
	.top header .hnavMenu .hnavMenuHeader .topBtn,
	.inner header .hnavMenu .hnavMenuHeader .topBtn {
		position: absolute;
		top: 20px;
		left: 10px;
		border-radius: 15px;
		width: 120px;
		height: 30px;
		background-color: #d9ceba;
		text-align: center;
		line-height: 30px;
	}
	.top header .hnavMenu .hnavMenuHeader .closeBtn,
	.inner header .hnavMenu .hnavMenuHeader .closeBtn {
		position: absolute;
		top: 10px;
		right: 10px;
		width: 50px;
		height: 50px;
		text-indent: -9999px;
		background-image: url(/img/common/sph_menu_close.png);
		background-size: 25px 25px;
		background-repeat: no-repeat;
		background-position: 50% 50%;
	}
	.top header .hnavMenu .hnavMenuList,
	.inner header .hnavMenu .hnavMenuList {
		margin-top: 65px;
		padding: 30px;
	}
	.top header .hnavMenu .hnavMenuList li,
	.inner header .hnavMenu .hnavMenuList li {
		box-sizing: border-box;
		margin-bottom: 20px;
	}
	.top header .hnavMenu .hnavMenuList li:last-child,
	.inner header .hnavMenu .hnavMenuList li:last-child {
		margin-bottom: 0;
	}
	.top header .hnavMenu .hnavMenuList li a,
	.inner header .hnavMenu .hnavMenuList li a {
		box-sizing: border-box;
		display: block;
		padding: 5px 0 5px 40px;
		width: 100%;
		background-image: url(/img/common/ico_railway.png);
		background-repeat: no-repeat;
		background-position: 0 7px;
		background-size: 30px 22px;
		line-height: 1.5;
		font-size: 128.5714285714286%;
	}
	.top header .hnavMenu .hnavMenuList li a[href^="http"]::after,
	.inner header .hnavMenu .hnavMenuList li a[href^="http"]::after {
		content: '';
		display: inline-block;
		margin-left: 5px;
		width: 16px;
		height: 12px;
		background-image: url(/img/common/ico_blank.png);
		background-repeat: no-repeat;
		background-size: contain;
	}
}
@media print, screen and (min-width: 751px){
	.top header {
		box-sizing: border-box;
		width: 100%;
	}
	.top header::after {
		content: '';
		display: block;
		clear: both;
	}
	.top header .lang.pc ul li a,
	.top header .lang.pc > a {
		display: inline-block;
		background-repeat: no-repeat;
	}
	.top header .lang.pc ul li:nth-of-type(1) a {
		background-image: url(/img/top/english_on.gif);
	}
	.top header .lang.pc ul li:nth-of-type(2) a {
		background-image: url(/img/top/chinese_on.gif);
	}
	.top header .lang.pc > a {
		background-image: url(/img/top/about2_on.gif);
	}
	.top header .lang.pc ul li a img,
	.top header .lang.pc > a img {
		transition: 500ms;
		opacity: 1;
	}
	.top header .lang.pc ul li a:hover img,
	.top header .lang.pc > a:hover img {
		opacity: 0;
	}
	.hnav, .hnavLang, .hnavMenu {
		display: none;
	}

	.inner header {
		box-sizing: border-box;
		padding-bottom: 120px;
		width: 185px;
		background-color: #ebe5da;
	}
	.inner header h1 {
		box-sizing: border-box;
		padding-top: 60px;
		width: 185px;
		height: 140px;
		background-color: #d9ceba;
	}
	.en .inner header h1,
	.ch .inner header h1 {
		padding-top: 50px;
	}
	.inner header h1 a {
		display: block;
		margin-right: auto;
		margin-left: auto;
		width: 161px;
		height: 56px;
		background-image: url(/menu/logo_s.gif);
	}
	.en .inner header h1 a {
		display: block;
		margin-right: auto;
		margin-left: auto;
		width: 175px;
		height: 56px;
		background-image: url(/english/menu/logo_s.gif);
	}
	.ch .inner header h1 a {
		display: block;
		margin-right: auto;
		margin-left: auto;
		width: 175px;
		height: 56px;
		background-image: url(/chinese/menu/logo_s.gif);
	}
	.inner header .lang.pc {
		display: none !important;
	}
	.inner header .hnavMenu {
		box-sizing: border-box;
		position: relative;
		display: block;
		padding-top: 13px;
	}
	.inner header .hnavMenu::before {
		content: '';
		position: absolute;
		top: 3px;
		left: 0;
		width: 183px;
		height: 3px;
		background-color: #d9ceba;
	}
	.inner header .hnavMenu::after {
		content: '';
		position: absolute;
		top: 8px;
		left: 0;
		width: 183px;
		height: 2px;
		background-color: #e2d9ca;
	}
	.inner header .hnavMenu .hnavMenuHeader {
		box-sizing: border-box;
		padding-top: 2px !important;
		background-image: url(/img/common/line_dot.png);
		background-repeat: repeat-x;
		background-position: 0 top;
	}
	.inner header .hnavMenu .hnavMenuHeader .closeBtn {
		display: none;
	}
	.inner header .hnavMenu .hnavMenuHeader,
	.inner header .hnavMenu .hnavMenuList {
		box-sizing: border-box;
		padding: 0;
	}
	.inner header .hnavMenu .hnavMenuHeader .topBtn,
	.inner header .hnavMenu .hnavMenuList li {
		box-sizing: border-box;
		padding-top: 2px;
		padding-bottom: 4px;
		background-image: url(/img/common/line_dot.png);
		background-repeat: repeat-x;
		background-position: 0 bottom;
	}
	.inner header .hnavMenu .hnavMenuHeader .topBtn a,
	.inner header .hnavMenu .hnavMenuList li a {
		box-sizing: border-box;
		display: block;
		padding: 8px 5px 8px 30px;
		width: 100%;
		background-image: url(/img/common/ico_railway.png);
		background-repeat: no-repeat;
		background-position: 5px 8px;
		background-size: 21px 16px;
		line-height: 1.5;
		font-size: 75%;
	}
	.inner header .hnavMenu .hnavMenuHeader .topBtn a:hover,
	.inner header .hnavMenu .hnavMenuList li a:hover,
	.inner header .hnavMenu .hnavMenuList li.is-active a {
		background-image: url(/img/common/ico_railway_hover.png);
		background-color: #a6926d;
		text-decoration: none;
		color: #ffffff;
	}
	.inner header .hnavMenu .hnavMenuHeader .topBtn a[href^="http"]::after,
	.inner header .hnavMenu .hnavMenuList li a[href^="http"]::after {
		content: '';
		display: inline-block;
		margin-left: 5px;
		width: 12px;
		height: 9px;
		background-image: url(/img/common/ico_blank.png);
		background-repeat: no-repeat;
		background-size: contain;
	}
	.inner header .hnavMenu .hnavMenuHeader .topBtn a[href^="http"]:hover::after,
	.inner header .hnavMenu .hnavMenuList li a[href^="http"]:hover::after {
		background-image: url(/img/common/ico_blank_white.png);
	}
}

/*ヘッダー部分*/

/*フッター*/
#footerArea {
	width: 100%;
}
.top footer {
	background-color: #663300;
	color: #FFF;
	line-height: 2.2em;
	text-align: center;
	font-size: 77%;
}
.top #footer_navi {
	margin-top: 1.5em;
	margin-bottom: 0.5em;
	margin-left: 20px;
	font-size: 90%;
	color: #333;
}
.top #footer_navi ul {
	list-style: none;
	margin: 0px;
	padding: 0px;
	font-size: 92%;
}
.top #footer_navi ul li {
	display: inline;
	margin-right: 1.6em;
	border-right-width: 1px;
	border-right-style: solid;
	border-right-color: #666;
	padding-right: 2em;
}
@media print, screen and (max-width: 750px) {
	footer {
		box-sizing: border-box;
		width: 100%;
	}
	#footer_navi ul {
		box-sizing: border-box;
		display: flex;
		flex-wrap: wrap;
	}
	#footer_navi ul li {
		box-sizing: border-box;
		display: block;
		margin: 5px 0;
		border: none;
		width: 50%;
		text-align: center;
	}
	.inner footer {
		background-color: #381a1e;
		color: #FFF;
		line-height: 2.2em;
		text-align: center;
		font-size: 0.75rem;
	}
}
@media print, screen and (min-width: 751px){
	.top #footerArea #footer_navi .lang {
		display: none;
	}
	.inner #footerArea {
		position: absolute;
		bottom: 0;
	}
	.inner #footerArea #footer_navi ul:not(.lang) {
		display: none;
	}
	.inner #footerArea #footer_navi .lang {
		text-align: center;
	}
	.inner #footerArea #footer_navi .lang li {
		display: inline-block;
		margin-right: 20px;
	}
	.inner #footerArea #footer_navi .lang li:last-child {
		margin-right: 0;
	}
	.inner #footerArea #footer_navi .lang li a {
		display: inline-block;
		padding-left: 12px;
		background-image: url(/img/yajirusi_01.gif);
		background-repeat: no-repeat;
		background-position: 0 -2px;
		font-size: 75%;
	}
	.inner #footerArea footer {
		padding-top: 20px;
		padding-bottom: 40px;
		font-size: 75%;
		text-align: center;
		line-height: 1.5;
	}
}
/*フッター*/


.clear { clear:both; }
.top #wrapper h2 {
	font-size: 102%;
	line-height: 1.4em;
	font-weight: bold;
	margin-top: 10px;
	margin-bottom: 20px;
	letter-spacing: 98%;
}
.top #contents {
	box-sizing: border-box;
}
@media print, screen and (max-width: 750px) {
	.top #contents {
		margin: 0;
		padding: 10px;
		width: 100%;
	}
}
@media print, screen and (min-width: 751px){
	.top #contents {
		margin: 0;
		padding: 40px 20px 20px;
		width: 100%;
		max-width: 960px;
	}
	.inner #contents {
		position: relative;
		margin: 0;
		padding-bottom: 120px;
		width: calc(100% - 185px);
		max-width: 592px;
	}
}

#mainContent {
	width: 100%;
}
@media print, screen and (max-width: 750px) {
}
@media print, screen and (min-width: 751px){
	#mainContent {
		display: flex;
		justify-content: space-between;
		flex-direction: row-reverse;
	}
}


/* 汎用クラス */

.fontRed {color: red;}
.fontBlack {color: #333;}
.font16 {font-size: 16px!important;}
.fontNomal {font-weight: normal!important;}

.mb0 {margin-bottom: 0 !important;}
.mb5 {margin-bottom: 5px !important;}
.mb10 {margin-bottom: 10px !important;}
.mb15 {margin-bottom: 15px !important;}
.mb20 {margin-bottom: 20px !important;}
.mb25 {margin-bottom: 25px !important;}
.mb30 {margin-bottom: 30px !important;}
.mb35 {margin-bottom: 35px !important;}
.mb40 {margin-bottom: 40px !important;}
.mb45 {margin-bottom: 45px !important;}
.mb50 {margin-bottom: 50px !important;}

.mt0 {margin-top: 0 !important;}
.mt5 {margin-top: 5px !important;}
.mt10 {margin-top: 10px !important;}
.mt15 {margin-top: 15px !important;}
.mt20 {margin-top: 20px !important;}
.mt25 {margin-top: 25px !important;}
.mt30 {margin-top: 30px !important;}
.mt32 {margin-top: 32px !important;}
.mt35 {margin-top: 35px !important;}
.mt40 {margin-top: 40px !important;}
.mt45 {margin-top: 45px !important;}

.mr0 {margin-right: 0 !important;}
.mr5 {margin-right: 5px !important;}
.mr10 {margin-right: 10px !important;}
.mr15 {margin-right: 15px !important;}
.mr20 {margin-right: 20px !important;}
.mr25 {margin-right: 25px !important;}
.mr30 {margin-right: 30px !important;}

.ml0 {margin-left: 0 !important;}
.ml5 {margin-left: 5px !important;}
.ml10 {margin-left: 10px !important;}
.ml15 {margin-left: 15px !important;}
.ml20 {margin-left: 20px !important;}
.ml25 {margin-left: 25px !important;}
.ml30 {margin-left: 30px !important;}

@media print, screen and (max-width: 750px) {
	.mb0sp {margin-bottom: 0 !important;}
	.mb5sp {margin-bottom: 5px !important;}
	.mb10sp {margin-bottom: 10px !important;}
	.mb15sp {margin-bottom: 15px !important;}
	.mb20sp {margin-bottom: 20px !important;}
	.mb25sp {margin-bottom: 25px !important;}
	.mb30sp {margin-bottom: 30px !important;}
	.mb35sp {margin-bottom: 35px !important;}
	.mb40sp {margin-bottom: 40px !important;}
	.mb45sp {margin-bottom: 45px !important;}
	.mb50sp {margin-bottom: 50px !important;}

	.mt0sp {margin-top: 0 !important;}
	.mt5sp {margin-top: 5px !important;}
	.mt10sp {margin-top: 10px !important;}
	.mt15sp {margin-top: 15px !important;}
	.mt20sp {margin-top: 20px !important;}
	.mt25sp {margin-top: 25px !important;}
	.mt30sp {margin-top: 30px !important;}
	.mt32sp {margin-top: 32px !important;}
	.mt35sp {margin-top: 35px !important;}
	.mt40sp {margin-top: 40px !important;}
	.mt45sp {margin-top: 45px !important;}

	.mr0sp {margin-right: 0 !important;}
	.mr5sp {margin-right: 5px !important;}
	.mr10sp {margin-right: 10px !important;}
	.mr15sp {margin-right: 15px !important;}
	.mr20sp {margin-right: 20px !important;}
	.mr25sp {margin-right: 25px !important;}
	.mr30sp {margin-right: 30px !important;}

	.ml0sp {margin-left: 0 !important;}
	.ml5sp {margin-left: 5px !important;}
	.ml10sp {margin-left: 10px !important;}
	.ml15sp {margin-left: 15px !important;}
	.ml20sp {margin-left: 20px !important;}
	.ml25sp {margin-left: 25px !important;}
	.ml30sp {margin-left: 30px !important;}
}

.col2 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.col2 > * {
    width: 48%;
}

/* リンク */
.link a {
	position: relative;
	padding-left: 20px;
	display: inline-block;
}
.link a:after {
	position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
	content: "";
	display: block;
    left: 3px;
    width: 4px;
    height: 4px;
    border-top: 2px solid #330000;
    border-right: 2px solid #330000;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}


/* 注記エリア */
.notesBox {
    font-size: 18px;
    font-weight: bold;
    padding: 15px 10px;
    border: 1px solid red;
    color: red;
}


/* 2020.06 rwd */
@media print, screen and (max-width: 750px) {
	.sp { display: block !important; }
	.pc { display: none !important; }
}
@media print, screen and (min-width: 751px){
	.sp { display: none !important; }
	.pc { display: block !important; }
}


