@charset "utf-8";


/*-------------------------------------------------
	Selectors
-------------------------------------------------*/
html {
	margin: 0px;
	padding: 0px;
	border: 0px;
}
body {
	margin: 0px;
	padding: 0px;
	border: 0px;
	font-family: "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo;
	min-width: 960px;
}

img { border: 0px; line-height: 0px; vertical-align: bottom; }
p { margin: 0px; padding: 0px; line-height: 140%; }
div { margin: 0px; padding: 0px; }
ol { margin: 0px 0px 0px 24px; padding: 0px; }
ul,ol { margin: 0px; padding: 0px; }
li { margin: 0px; padding: 0px; }
br { margin: 0px; padding: 0px; }
dl { width: auto; margin: 0px; padding: 0px; }
dt { margin: 0px; padding: 0px; font-weight: bold; }
dd { margin: 0px 0px 5px 15px;  padding: 0px; }
hr { display: none; }
strong { font-weight:bold; }
em { font-style:normal; }
form { margin: 0px; padding: 0px; }
a {	color: #d40055; text-decoration: underline; outline:none; }
a:focus, *:focus { outline:none; }
a:hover { color: #df5089; text-decoration: none; }
h1,h2,h3,h4 { margin: 0px; padding: 0px; font-size:100%; }
table {
	border-collapse: collapse; /*cellspacing*/
}
table th {
	padding: 0px; /*cellpadding*/
	font-weight: bold;
	text-align: left;
	line-height: 140%;
	vertical-align: top;
}
table td {
	padding: 0px; /*cellpadding*/
	line-height: 140%;
	vertical-align: top;
}
input,select { margin:0px; padding:0px; border:2px solid #999; border-radius: 3px; }
textarea { font-size: 12px; }



/*-------------------------------------------------
	WEB Fonts
-------------------------------------------------*/
@font-face {
	font-family: 'Karla';
	src: url('/css/webfont/karla-regular.ttf') format('truetype');
}
@font-face {
	font-family: 'Karla-B';
	src: url('/css/webfont/karla-bold.ttf') format('truetype');
}
@font-face {
	font-family: 'CorpA';
	src: url('/css/webfont/corporate_a_regular.ttf') format('truetype');
}


/*-------------------------------------------------
	Common Classes
-------------------------------------------------*/
/*Floats*/
.floatL {float: left !important;}
.floatR {float: right !important;}
.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}
/*Aligns*/
.alignL {text-align: left !important;}
.alignL * {margin-right: auto !important;}
.alignC {text-align: center !important;}
.alignC * {margin-left: auto !important; margin-right: auto !important;}
.alignR {text-align: right !important;}
.alignR * {margin-left: auto !important;}
/*Double Aligns*/
.alignMC {text-align: center !important; vertical-align: middle !important;}
.alignMC * { margin-left: auto !important; margin-right: auto !important;}
/*Vertical Aligns*/
.valignT {vertical-align: top !important;}
.valignM {vertical-align: middle !important;}
.valignB {vertical-align: bottom !important;}
/*Margins*/
.marginleftS {margin-left: 5px !important;}
.marginleftM {margin-left: 10px !important;}
.marginleftL {margin-left: 20px !important;}
.marginrightS {margin-right: 5px !important;}
.marginrightM {margin-right: 10px !important;}
.marginrightL {margin-right: 20px !important;}
.marginbottomS {margin-bottom: 5px !important;}
.marginbottomM {margin-bottom: 10px !important;}
.marginbottomL {margin-bottom: 20px !important;}
.margintopS {margin-top: 5px !important;}
.margintopM {margin-top: 10px !important;}
.margintopL {margin-top: 20px !important;}
.margintopLL {margin-top: 50px !important;}
.margintopNone {margin-top: 0px !important;}
.marginNone {margin: 0px !important;}

/*Padding*/
.paddingleftS {padding-left: 5px !important;}
.paddingleftM {padding-left: 10px !important;}
.paddingleftL {padding-left: 20px !important;}
.paddingrightS {padding-right: 5px !important;}
.paddingrightM {padding-right: 10px !important;}
.paddingrightL {padding-right: 20px !important;}
.paddingbottomS {padding-bottom: 5px !important;}
.paddingbottomM {padding-bottom: 10px !important;}
.paddingbottomL {padding-bottom: 20px !important;}
.paddingtopS {padding-top: 5px !important;}
.paddingtopM {padding-top: 10px !important;}
.paddingtopL {padding-top: 20px !important;}
.paddingtopNone {padding-top: 0px !important;}
.paddingNone {padding: 0px !important;}

/*Widths*/
.w5 {width: 5% !important;}
.w10 {width: 10% !important;}
.w15 {width: 15% !important;}
.w20 {width: 20% !important;}
.w25 {width: 25% !important;}
.w30 {width: 30% !important;}
.w35 {width: 35% !important;}
.w40 {width: 40% !important;}
.w45 {width: 45% !important;}
.w48 {width: 48.5% !important;}
.w50 {width: 50% !important;}
.w55 {width: 55% !important;}
.w60 {width: 60% !important;}
.w65 {width: 65% !important;}
.w70 {width: 70% !important;}
.w75 {width: 75% !important;}
.w80 {width: 80% !important;}
.w85 {width: 85% !important;}
.w90 {width: 90% !important;}
.w95 {width: 95% !important;}
.w99 {width: 99% !important;}
.w100 {width: 100% !important;}
.wauto {width: auto !important;}
/*border hiddens*/
.bdrnone {border: none !important;}
.bdrnoneT {border-top: none !important;}
.bdrnoneB {border-bottom: none !important;}
.bdrnoneR {border-right: none !important;}
.bdrnoneL {border-left: none !important;}
/*Positions*/
.posAbsolute { position:absolute; }
.posRelative { position:relative; }
.posFixed { position:fixed; }



/*-------------------------------------------------
	Header
-------------------------------------------------*/
header {
	background: #fff;
	width: 100%;
	padding: 15px 0;
}
header article {
	width: 914px;
	margin: 0 auto;
}
header article ul#gmenu {
}
header article ul#gmenu li {
	display: block;
	float: left;
	list-style-type: none;
	margin: 0px;
	position: relative;
}
header article ul#gmenu li a.parentNav {
	font-size: 0%;
	background: #ccc;
}
header article ul#gmenu li#gmCollection { margin-left:8px; margin-right:7px; }
header article ul#gmenu li#gmCollection a.parentNav { display:block; width:64px; height:54px; background:url(/images/common/gm_collection.png) 0px 0px no-repeat; background-size: cover; }
header article ul#gmenu li#gmCollection a.parentNav:hover,
header article ul#gmenu li#gmCollection.hover a.parentNav,
header article ul#gmenu li#gmCollection.current a.parentNav {
	background:url(/images/common/gm_collection.png) 0px -54px no-repeat;
	background-size: cover;
}
header article ul#gmenu li#gmConcept { margin-left:21px; margin-right:4px; }
header article ul#gmenu li#gmConcept a.parentNav { display:block; width:54px; height:54px; background:url(/images/common/gm_concept.png) 0px 0px no-repeat; background-size: cover; }
header article ul#gmenu li#gmConcept a.parentNav:hover,
header article ul#gmenu li#gmConcept.hover a.parentNav,
header article ul#gmenu li#gmConcept.current a.parentNav {
	background:url(/images/common/gm_concept.png) 0px -54px no-repeat;
	background-size: cover;
}
header article ul#gmenu li#gmCompany { margin-left:26px;}
header article ul#gmenu li#gmCompany a.parentNav { display:block; width:56px; height:54px; background:url(/images/common/gm_company.png) 0px 0px no-repeat; background-size: cover; }
header article ul#gmenu li#gmCompany a.parentNav:hover,
header article ul#gmenu li#gmCompany.hover a.parentNav,
header article ul#gmenu li#gmCompany.current a.parentNav {
	background:url(/images/common/gm_company.png) 0px -54px no-repeat;
	background-size: cover;
}
header article ul#gmenu li#gmStores { margin-left:28px;}
header article ul#gmenu li#gmStores a.parentNav { display:block; width:44px; height:54px; background:url(/images/common/gm_stores.png) 0px 0px no-repeat; background-size: cover; }
header article ul#gmenu li#gmStores a.parentNav:hover,
header article ul#gmenu li#gmStores.hover a.parentNav,
header article ul#gmenu li#gmStores.current a.parentNav {
	background:url(/images/common/gm_stores.png) 0px -54px no-repeat;
	background-size: cover;
}

header article ul#gmenu li#ci { margin:0px 0px 0px 39px; }
header article ul#gmenu li#ci img { width: 220px; height: 54px; }

header article ul#gmenu li#gmOnlineStore { margin-left:42px; }
header article ul#gmenu li#gmOnlineStore a.parentNav { display:block; width:64px; height:54px; background:url(/images/common/gm_onlinestore.png) 0px 0px no-repeat; background-size: cover; }
header article ul#gmenu li#gmOnlineStore a.parentNav:hover,
header article ul#gmenu li#gmOnlineStore.hover a.parentNav,
header article ul#gmenu li#gmOnlineStore.current a.parentNav {
	background:url(/images/common/gm_onlinestore.png) 0px -54px no-repeat;
	background-size: cover;
}
header article ul#gmenu li#gmNews { margin-left:19px; }
header article ul#gmenu li#gmNews a.parentNav { display:block; width:36px; height:54px; background:url(/images/common/gm_news.png) 0px 0px no-repeat; background-size: cover; }
header article ul#gmenu li#gmNews a.parentNav:hover,
header article ul#gmenu li#gmNews.hover a.parentNav,
header article ul#gmenu li#gmNews.current a.parentNav {
	background:url(/images/common/gm_news.png) 0px -54px no-repeat;
	background-size: cover;
}
header article ul#gmenu li#gmBlog { margin-left:18px; }
header article ul#gmenu li#gmBlog a.parentNav { display:block; width:30px; height:54px; background:url(/images/common/gm_blog.png) 0px 0px no-repeat; background-size: cover; }
header article ul#gmenu li#gmBlog a.parentNav:hover,
header article ul#gmenu li#gmBlog.hover a.parentNav,
header article ul#gmenu li#gmBlog.current a.parentNav {
	background:url(/images/common/gm_blog.png) 0px -54px no-repeat;
	background-size: cover;
}
header article ul#gmenu li#gmContact { margin-left:18px; }
header article ul#gmenu li#gmContact a.parentNav { display:block; width:46px; height:54px; background:url(/images/common/gm_contact.png) 0px 0px no-repeat; background-size: cover; }
header article ul#gmenu li#gmContact a.parentNav:hover,
header article ul#gmenu li#gmContact.hover a.parentNav,
header article ul#gmenu li#gmContact.current a.parentNav {
	background:url(/images/common/gm_contact.png) 0px -54px no-repeat;
	background-size: cover;
}

header article ul#gmenu li#gmRecruit { margin-left:20px; }
header article ul#gmenu li#gmRecruit a.parentNav { display:block; width:42px; height:54px; background:url(/images/common/gm_recruit.png) 0px 0px no-repeat; background-size: cover; }
header article ul#gmenu li#gmRecruit a.parentNav:hover,
header article ul#gmenu li#gmRecruit.hover a.parentNav,
header article ul#gmenu li#gmRecruit.current a.parentNav {
	background:url(/images/common/gm_recruit.png) 0px -54px no-repeat;
	background-size: cover;
}

header article ul#gmenu li a { color:#fff; text-decoration:none; padding:0px; }
header article ul#gmenu li a:hover { color:#fff; text-decoration:underline; }

/*child*/
header article ul#gmenu li ul {
	display: none;
	padding: 20px;
	background: #b9143c;
	height: 250px;
	top: 55px;
}
header article ul#gmenu li ul li {
	display: block;
	border-bottom: none !important;
	float: none !important;
	line-height: 100%;
	margin: 5px 0 !important;
	padding: 5px 0 !important;
	letter-spacing: 1px;
	font-size: 11px;
	font-family: "CorpA";
}
header article ul#gmenu li ul li.childrenNav__title {
	color: #000 !important;
	font-weight: bold !important;
	text-decoration: none !important;
}
header article ul#gmenu li ul li.childrenNav__title--2 {
	padding-top: 20px !important;
}
/*grandchild*/
header article ul#gmenu li ul li ul {
	top: -25px !important;
}



/*-------------------------------------------------
	Footer
-------------------------------------------------*/
footer {
	background: #c3c1c0;
	padding: 40px 0px 0px 0px;
	margin: 100px 0px 0px 0px;
	color: #fff;
	font-family: "Karla";
	letter-spacing: 0.5px;
}
footer article {
	width: 914px;
	margin: 0px auto;
	position: relative;
	padding-bottom: 50px;
	margin-bottom: 70px;
}
footer article nav {
}
footer article nav.footerNav {
	width: 100px;
	float: left;
	margin: 0px 0px 0px 1px;
}
footer article nav.footerNav h1 {
	background: url(/images/common/bg_footernav.png) 50% 100% no-repeat;
	background-size: 50%;
	text-align: center;
	padding: 0px 0px 36px 0px;
	font-size: 12px;
	font-weight: normal;
}
footer article nav ul {
}
footer article nav ul li {
	list-style-type: none;
	text-align: center;
	font-size: 11px;
	line-height: 190%;
}
footer article nav ul li a {
	color: #fff;
	text-decoration: none;
}
footer article nav ul li a:hover {
	color: #fff;
	text-decoration: underline;
}

.footnavPrivacy {
	position: absolute;
	width: 100px;
	font-size: 11px;
	bottom: 0;
	right: 12px;
}
.footnavPrivacy a {
	color: #fff;
	text-decoration: none;
}
.footnavPrivacy a:hover {
	color: #fff;
	text-decoration: underline;
}
.footerBorder {
	border-top: solid 1px #fff;
}
.footerSnsArea {
	overflow: hidden;
	width: 974px;
	margin: 26px auto;
}
.footerSns {
	float: left;
	font-size: 0;
}
.footerSns li {
	display: inline-block;
	margin: 0 10px;
}
.footerSns li:nth-child(1){
	width: 22px;
	height: 22px;
}
.footerSns li:nth-child(2){
	width: 21px;
	height: 22px;
}
.footerSns li:nth-child(3){
	width: 22px;
	height: 18px;
}
.footerSns li:nth-child(4){
	width: 25px;
	height: 21px;
}
.footerSns li img{
	width: 100%;
}
.footerSns li img:hover {
	opacity: 0.5;
}
.footerSns--line {
	margin-left: 12px;
}
.footerSns--line li {
	margin: 0 5px;
}
.footerSns--line li:nth-child(1){
	width: 110px;
	height: 21px;
}
.footerSns--line li:nth-child(2){
	width: 105px;
	height: 21px;
}
.footerSns--line li:nth-child(3){
	width: 123px;
	height: 21px;
}
.footerSns--line li:nth-child(4){
	width: 105px;
	height: 21px;
}
.footerSns--line li:nth-child(5){
	width: 150px;
	height: 21px;
}
.footerSns--line li:nth-child(6){
	width: 135px;
	height: 21px;
}
.languageNav {
	position: absolute;
	width: 80px;
	height: 48px;
	bottom: -48px;
	right: 10px;
	clear: both;
}
.languageNav h1 {
	margin-bottom: 7px;
}
.languageNav div {
	width: 40px;
	height: 24px;
	overflow: hidden;
	float: left;
}
.languageNav div#langJP {
	background: url(/images/common/btn_language_jp.png) 0px -24px no-repeat;
}
.languageNav div#langCH {
	background: url(/images/common/btn_language_ch.png) 0px 0px no-repeat;
}
.languageNav div#langCH:hover {
	background: url(/images/common/btn_language_ch.png) 0px -24px no-repeat;
}
.languageNav div a {
	display: block;
	width: 100%;
	height: 100%;
	text-indent: -9999px;
	font-size: 0;
	overflow: hidden;
}

#copyrights {
	border-top: 1px solid #fff;
	text-align: center;
	padding: 20px 0;
	font-size: 11px;
}

/*-------------------------------------------------
	Title
-------------------------------------------------*/
.ttlLong {
	border-bottom: 1px solid #b9143c;
	text-align: center;
	margin: 0px 0px 27px 0px;
}



/*-------------------------------------------------
	Absolute top header
-------------------------------------------------*/
#absHeader {
	display: none;
	background: #fff;
	width: 100%;
	padding: 0px;
	position: fixed;
	top: 0;
	z-index: 1000;
	padding: 0;
	box-shadow: 0px 1px 3px 0px rgba(0,0,0,0.2);
}
#absHeader article {
	width: 784px;
	margin: 0 auto;
}
#absHeader article ul#absmenu {
}
#absHeader article ul#absmenu li {
	display: block;
	float: left;
	list-style-type: none;
	margin: 0px;
	position: relative;
}
#absHeader article ul#absmenu li a.parentNav {
	font-size: 0%;
	background: #ccc;
}
#absHeader article ul#absmenu li#absCollection { margin-left:8px; margin-right:7px; }
#absHeader article ul#absmenu li#absCollection a.parentNav { display:block; width:64px; height:54px; background:url(/images/common/gm_collection.png) 0px 0px no-repeat; background-size: cover; }
#absHeader article ul#absmenu li#absCollection a.parentNav:hover,
#absHeader article ul#absmenu li#absCollection.hover a.parentNav,
#absHeader article ul#absmenu li#absCollection.current a.parentNav {
	background:url(/images/common/gm_collection.png) 0px -54px no-repeat;
	background-size: cover;
}
#absHeader article ul#absmenu li#absConcept { margin-left:14px; margin-right:4px; }
#absHeader article ul#absmenu li#absConcept a.parentNav { display:block; width:54px; height:54px; background:url(/images/common/gm_concept.png) 0px 0px no-repeat; background-size: cover; }
#absHeader article ul#absmenu li#absConcept a.parentNav:hover,
#absHeader article ul#absmenu li#absConcept.hover a.parentNav,
#absHeader article ul#absmenu li#absConcept.current a.parentNav {
	background:url(/images/common/gm_concept.png) 0px -54px no-repeat;
	background-size: cover;
}

#absHeader article ul#absmenu li#absCompany { margin-left:22px; }
#absHeader article ul#absmenu li#absCompany a.parentNav { display:block; width:56px; height:54px; background:url(/images/common/gm_company.png) 0px 0px no-repeat; background-size: cover; }
#absHeader article ul#absmenu li#absCompany a.parentNav:hover,
#absHeader article ul#absmenu li#absCompany.hover a.parentNav,
#absHeader article ul#absmenu li#absCompany.current a.parentNav {
	background:url(/images/common/gm_company.png) 0px -54px no-repeat;
	background-size: cover;
}

#absHeader article ul#absmenu li#absStores { margin-left:29px; }
#absHeader article ul#absmenu li#absStores a.parentNav { display:block; width:44px; height:54px; background:url(/images/common/gm_stores.png) 0px 0px no-repeat; background-size: cover; }
#absHeader article ul#absmenu li#absStores a.parentNav:hover,
#absHeader article ul#absmenu li#absStores.hover a.parentNav,
#absHeader article ul#absmenu li#absStores.current a.parentNav {
	background:url(/images/common/gm_stores.png) 0px -54px no-repeat;
	background-size: cover;
}

#absHeader article ul#absmenu li#absci { border-bottom:none; margin:14px 35px 0px 38px; }
#absHeader article ul#absmenu li#absci img { width:100px; }

#absHeader article ul#absmenu li#absOnlineStore { margin-left:7px; }
#absHeader article ul#absmenu li#absOnlineStore a.parentNav { display:block; width:64px; height:54px; background:url(/images/common/gm_onlinestore.png) 0px 0px no-repeat; background-size: cover; }
#absHeader article ul#absmenu li#absOnlineStore a.parentNav:hover,
#absHeader article ul#absmenu li#absOnlineStore.hover a.parentNav,
#absHeader article ul#absmenu li#absOnlineStore.current a.parentNav {
	background:url(/images/common/gm_onlinestore.png) 0px -54px no-repeat;
	background-size: cover;
}

#absHeader article ul#absmenu li#absNews { margin-left:19px; }
#absHeader article ul#absmenu li#absNews a.parentNav { display:block; width:36px; height:54px; background:url(/images/common/gm_news.png) 0px 0px no-repeat; background-size: cover; }
#absHeader article ul#absmenu li#absNews a.parentNav:hover,
#absHeader article ul#absmenu li#absNews.hover a.parentNav,
#absHeader article ul#absmenu li#absNews.current a.parentNav {
	background:url(/images/common/gm_news.png) 0px -54px no-repeat;
	background-size: cover;
}

#absHeader article ul#absmenu li#absBlog { margin-left:18px; }
#absHeader article ul#absmenu li#absBlog a.parentNav { display:block; width:30px; height:54px; background:url(/images/common/gm_blog.png) 0px 0px no-repeat; background-size: cover; }
#absHeader article ul#absmenu li#absBlog a.parentNav:hover,
#absHeader article ul#absmenu li#absBlog.hover a.parentNav,
#absHeader article ul#absmenu li#absBlog.current a.parentNav {
	background:url(/images/common/gm_blog.png) 0px -54px no-repeat;
	background-size: cover;
}

#absHeader article ul#absmenu li#absContact { margin-left:18px; }
#absHeader article ul#absmenu li#absContact a.parentNav { display:block; width:46px; height:54px; background:url(/images/common/gm_contact.png) 0px 0px no-repeat; background-size: cover; }
#absHeader article ul#absmenu li#absContact a.parentNav:hover,
#absHeader article ul#absmenu li#absContact.hover a.parentNav,
#absHeader article ul#absmenu li#absContact.current a.parentNav {
	background:url(/images/common/gm_contact.png) 0px -54px no-repeat;
	background-size: cover;
}

#absHeader article ul#absmenu li#absRecruit { margin-left:20px; }
#absHeader article ul#absmenu li#absRecruit a.parentNav { display:block; width:42px; height:54px; background:url(/images/common/gm_recruit.png) 0px 0px no-repeat; background-size: cover; }
#absHeader article ul#absmenu li#absRecruit a.parentNav:hover,
#absHeader article ul#absmenu li#absRecruit.hover a.parentNav,
#absHeader article ul#absmenu li#absRecruit.current a.parentNav {
	background:url(/images/common/gm_recruit.png) 0px -54px no-repeat;
	background-size: cover;
}

#absHeader article ul#absmenu li a { color:#fff; text-decoration:none; padding:0px; }
#absHeader article ul#absmenu li a:hover { color:#fff; text-decoration:underline; }

/*child*/
#absHeader article ul#absmenu li ul {
	padding: 20px;
	background: #b9143c;
	height: 250px;
	top: 54px;
}
#absHeader article ul#absmenu li ul li {
	display: block;
	border-bottom: none !important;
	float: none !important;
	line-height: 100%;
	margin: 5px 0 !important;
	padding: 5px 0 !important;
	letter-spacing: 1px;
	font-size: 11px;
	border-bottom: 4px solid #fff;
	font-family: "CorpA";
}
#absHeader article ul#absmenu li ul li.childrenNav__title {
	color: #000 !important;
	font-weight: bold !important;
  text-decoration: none !important;
}
#absHeader article ul#absmenu li ul li.childrenNav__title--2 {
	padding-top: 20px !important;
}
/*grandchild*/
#absHeader article ul#absmenu li ul li ul {
	top: -25px !important;
}



/*-------------------------------------------------
	Page Bottom Topics banners
-------------------------------------------------*/
#pbTopics {
	width: 914px;
	margin: 100px auto 0px auto;
}
#pbTopics ol {
	margin: 0px 0px 20px 0px;
}
#pbTopics ol li {
	list-style-type: none;
	float: left;
	box-sizing: border-box;
	margin-right: 20px;
}
#pbTopics ol li:last-child {
	margin-right: 0px;
}
#pbTopics ol li a {
	outline: none;
}
#pbTopics ol li img:hover {
	opacity: 0.7;
}
#pbTopics ol:last-child {
	margin-bottom: 0px;
}


/*-------------------------------------------------
	404
-------------------------------------------------*/
#pageIntroError {
	width: 914px;
	margin: 42px auto 0px auto;
}
#pageIntroError h1 {
	margin: 0px 0px 28px 0px;
}
#errorContainer {
	width: 914px;
	margin: 0px auto;
}
#errorContainer article {
	padding: 60px 0px;
	text-align: center;
	color: #999;
}
#errorContainer article h1 {
	font-size: 16px;
	margin-bottom: 20px;
}
#errorContainer article p {
	font-size: 14px;
	line-height: 200%;
}