/* # =================================================================
# base
# ================================================================= */

body {
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0;
	-webkit-font-smoothing: antialiased;
	-moz-font-smoothing: antialiased;
	font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
	-ms-font-feature-settings: 'normal';
}

html[lang='en'] body,
html[lang='en'] h1,
html[lang='en'] h2,
html[lang='en'] h3,
html[lang='en'] h4,
html[lang='en'] h5,
html[lang='en'] h6,
html[lang='en'] body p,
html[lang='en'] ul,
html[lang='en'] ol,
html[lang='en'] dl,
html[lang='en'] dt,
html[lang='en'] dd,
html[lang='en'] li,
html[lang='en'] table,
html[lang='en'] th,
html[lang='en'] td,
html[lang='en'] form,
html[lang='en'] select,
html[lang='en'] option,
html[lang='en'] address,
html[lang='en'] pre,
html[lang='en'] strong,
html[lang='en'] em {
	font-family: 'Arial', sans-serif;
}

html[lang='zh'] body,
html[lang='zh'] h1,
html[lang='zh'] h2,
html[lang='zh'] h3,
html[lang='zh'] h4,
html[lang='zh'] h5,
html[lang='zh'] h6,
html[lang='zh'] body p,
html[lang='zh'] ul,
html[lang='zh'] ol,
html[lang='zh'] dl,
html[lang='zh'] dt,
html[lang='zh'] dd,
html[lang='zh'] li,
html[lang='zh'] table,
html[lang='zh'] th,
html[lang='zh'] td,
html[lang='zh'] form,
html[lang='zh'] select,
html[lang='zh'] option,
html[lang='zh'] address,
html[lang='zh'] pre,
html[lang='zh'] strong,
html[lang='zh'] em {
	font-family: '宋体-简';
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
body p,
ul,
ol,
dl,
dt,
dd,
li,
table,
th,
td,
form,
select,
option,
address,
pre,
strong,
em {
	line-height: 1.7;
}

body * {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

img {
	max-width: 100%;
	height: auto;
}

select {
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 0;
	outline: none;
	background: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

/* # =================================================================
# contents
# ================================================================= */

.headline {
	font-size: 20px;
	line-height: 2.0;
}

.headline-l2 {
	font-size: 16px;
	line-height: 2.5;
}

#contents h1 {
	height: auto;
	border: none;
}

.btn {
	position: relative;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	height: 36px;
	-webkit-transition: all .3s;
	transition: all .3s;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.btn::before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 16px;
	display: block;
	width: 0;
	height: 0;
	margin: auto;
	content: '';
	border-width: 4.5px 0 4.5px 6px;
	border-style: solid;
	border-color: transparent transparent transparent #fff;
}

.more-btn {
	width: 220px;
	margin: 30px 0 0;
}

.more-btn .btn {
	color: #fff;
	border: solid 1px #000;
	background: #000;
}

.more-btn .btn::before {
	border-width: 6px 4.5px 0 4.5px;
	border-color: #fff transparent transparent transparent;
}

.more-btn .btn:hover {
	color: #000;
	background: #fff;
}

.more-btn .btn:hover::before {
	border-color: #000 transparent transparent transparent;
}

.more-btn .btn.is-active {
	color: #000;
	background: #fff;
}

.more-btn .btn.is-active::before {
	border-width: 0 4.5px 6px 4.5px;
	border-color: transparent transparent #000 transparent;
}

.map-btn {
	width: 220px;
	margin: 30px 0 0;
}

.map-btn .btn {
	color: #fff;
	background: #666;
}

.map-btn .btn:hover {
	opacity: .7;
}

.link {
	position: relative;
	padding: 0 0 0 10px;
}

.link::before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	display: block;
	width: 0;
	height: 0;
	margin: auto;
	content: '';
	border-width: 2.5px 0 2.5px 4px;
	border-style: solid;
	border-color: transparent transparent transparent #000;
}

.link-newtab {
	position: relative;
	padding-right: 16px;
	-webkit-transition: opacity .3s;
	transition: opacity .3s;
}

.link-newtab::after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	display: block;
	width: 12px;
	height: 12px;
	margin: auto;
	content: '';
	background: url(/img/lang/icon_newtab.png) no-repeat center center;
	background-size: 12px auto;
}

.link-newtab:hover {
	opacity: .7;
	color: #000;
}

.tab {
	position: relative;
}

.tab-link {
	position: absolute;
	top: 50%;
	right: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.tab-pc {
	position: relative;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	margin: 5px -1px 0;
}

.tab-pc::after {
	position: absolute;
	bottom: 0;
	left: 1px;
	display: block;
	width: calc(100% - 2px);
	height: 1px;
	margin: auto;
	content: '';
	background: #666;
}

.tab-pc li {
	font-size: 16px;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	width: 135px;
	height: 36px;
	margin: 0 1px;
	cursor: pointer;
	-webkit-transition: all .3s;
	transition: all .3s;
	color: #fff;
	background: #666;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.tab-pc li:hover,
.tab-pc li.is-active {
	z-index: 1;
	color: #000;
	border: solid 1px #666;
	border-bottom: none;
	background: #fff;
}

.tab-sp {
	display: none;
}

.lead {
	margin: 5px 0 0;
}

.fs-nm {
	font-size: 16px;
}

/* # =================================================================
# structures
# ================================================================= */

#contents {
	padding: 20px 0 120px;
}

#header .header-inner {
	padding: 25px 0 15px;
	border-bottom: solid 1px #ccc;
}

#header .logo {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	padding: 0;
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;
}

#header .logo .copy {
	font-size: 11px;
	margin: 5px 0 0 25px;
	letter-spacing: .04em;
}

#header .gnv {
	position: absolute;
	bottom: 10px;
	left: 103px;
	float: none;
	margin: 0;
}

#header .gnv li {
	margin: 0 0 0 50px;
}

#header .gnv li:first-child {
	margin: 0;
}

#header .gnv li a {
	font-size: 16px;
	font-weight: bold;
	padding: 0;
	-webkit-transition: color .3s;
	transition: color .3s;
	color: #000;
	background: none;
}

#header .gnv li a.is-current,
#header .gnv li a:hover {
	color: #b7b7b7;
	background: none;
}

#header .hnv {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	width: 220px;
	margin: -5px 0 0;
	padding: 0;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: end;
	-webkit-justify-content: flex-end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}

#header .hnv li a {
	font-size: 14px;
}

#header .hnv li:not(.jp-site) {
	float: none;
	width: 50%;
	margin: 0;
}

#header .hnv li:not(.jp-site) a {
	line-height: 30px;
	display: block;
	height: 30px;
	text-align: center;
	color: #fff;
	background: #000;
}

#header .hnv li:not(.jp-site) a.is-current {
	color: #000;
	border: solid 1px #000;
	background: none;
}

#header .hnv li.jp-site {
	width: auto;
}

#header .hnv li.jp-site a {
	line-height: 2.5;
	letter-spacing: .04em;
	background: none;
}

#header .sns {
	font-size: 0;
	position: absolute;
	right: 0;
	bottom: 15px;
	letter-spacing: 0;
	word-spacing: 0;
}

#header .sns li {
	display: inline-block;
	margin: 0 0 0 15px;
	vertical-align: middle;
}

#header .sns li.tw {
	width: 22px;
}

#header .sns li.ig {
	width: 20px;
}

#header .sns li a {
	display: block;
}

#header .sns li a:hover {
	opacity: .7;
}

#footer {
	border-top: none;
}

#footer .footer-inner {
	padding: 11px 0;
}

#footer .pagetop {
	position: fixed;
	bottom: 56px;
	display: none;
	margin: 0 0 0 900px;
}

#footer .pagetop a {
	font-size: 13px;
	display: block;
	text-align: center;
	color: #767676;
}

#footer .pagetop a img {
	width: 24px;
}

#footer .pagetop a span {
	display: block;
	text-align: center;
}

#footer .copyright {
	font-size: 13px;
	line-height: 1.0;
	padding: 0;
	text-align: center;
}

/* # =================================================================
# footer
# ================================================================= */

#footer {
	border-top: none;
}

#footer .footer-inner {
	padding: 11px 0;
}

#footer .pagetop {
	position: fixed;
	bottom: 56px;
	display: none;
	margin: 0 0 0 900px;
}

#footer .pagetop a {
	font-size: 13px;
	display: block;
	text-align: center;
	color: #767676;
}

#footer .pagetop a img {
	width: 24px;
}

#footer .pagetop a span {
	display: block;
	text-align: center;
}

#footer .copyright {
	font-size: 13px;
	line-height: 1.0;
	padding: 0;
	text-align: center;
}

/* # =================================================================
# CONCEPT
# ================================================================= */

/* # =================================================================
# 共通
# ================================================================= */

.concept section+section {
	margin: 60px 0 0;
	padding: 45px 0 0;
	border-top: solid 1px #ccc;
}

.concept .more-btn {
	font-size: 16px;
	line-height: 40px;
	position: relative;
	clear: both;
	width: 100%;
	height: 40px;
	margin: 30px 0 0;
	cursor: pointer;
	-webkit-transition: opacity .3s;
	transition: opacity .3s;
	text-align: center;
	background: #eee;
}

.concept .more-btn::before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 30px;
	display: block;
	width: 0;
	height: 0;
	margin: auto;
	content: '';
	-webkit-transition: -webkit-transform .3s;
	transition: -webkit-transform .3s;
	transition: transform .3s;
	transition: transform .3s, -webkit-transform .3s;
	border-width: 6px 4.5px 0 4.5px;
	border-style: solid;
	border-color: #000 transparent transparent transparent;
}

.concept .more-btn:hover {
	opacity: .7;
}

.concept .more-btn.is-active::before {
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}

.desc {
	overflow: hidden;
	margin: 20px 0 0;
}

.desc-img.left {
	float: left;
}

.ttl {
	font-size: 18px;
	font-weight: normal;
	line-height: 1.3;
}

.more-conts {
	display: none;
}

.more-conts-inner {
	padding: 22px 0 0;
}

/* # =================================================================
# store-concept
# ================================================================= */

.store-concept .desc-img.left {
	width: 200px;
	margin: 0 22px 0 0;
}

.store-concept .desc-img.right img {
	width: 232px;
	margin: 0 21px 0 0;
}



.store-concept .desc-txt {
	margin: 24px 0 0;
}

.store-concept .more-conts-desc+.more-conts-desc {
	margin-top: 50px;
}

/* # =================================================================
# history
# ================================================================= */

.history .desc-img {
	margin: 0 30px 0 0;
}

.history dl {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

.history dl dt {
	line-height: 2.0;
	width: 50px;
	-webkit-flex-shrink: 0;
	-ms-flex-negative: 0;
	flex-shrink: 0;
}

.history dl dd {
	line-height: 2.0;
	letter-spacing: -.02em;
}

.history .more-img {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	margin: 33px 0 0;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;
}

.history .more-img img {
	width: 224px;
}

.cn .history dl dt {
	width: 60px;
}

/* # =================================================================
# Lines of Business
# ================================================================= */

.lines .desc {
	margin: 15px 0 0;
}

.lines .desc+.desc {
	margin: 50px 0 0;
}

.lines .desc-txt {
	float: right;
	width: 470px;
	margin-bottom: -155px;
}

.lines .desc-img {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	margin: 0 0 -20px;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: end;
	-webkit-align-items: flex-end;
	-ms-flex-align: end;
	align-items: flex-end;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.lines .desc-img img {
	display: block;
	width: 224px;
	margin: 0 0 20px;
}

.lines .desc-img .main {
	width: 469px;
}

.lines .desc-img.style-2 img {
	width: 306px;
}

.lines .desc-img.style-2 .main {
	width: 632px;
}

.lines .block {
	margin: 78px 0 0;
}

.lines .lines-ginza .head {
	margin: 15px 0 0;
}

.lines .lines-ginza .desc {
	margin: 10px 0 0;
}

.lines .lines-ginza .desc+.desc {
	margin: 53px 0 0;
}

.lines .store-information {
	margin: 67px 0 0;
}

.lines .store-information .headline a {
	-webkit-transition: opacity .3s;
	transition: opacity .3s;
	border-bottom: solid 1px #000;
}

.lines .store-information .headline a:hover {
	opacity: .7;
	color: #000;
}

.lines .store-information dl {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}

.lines .store-information dl dt {
	font-size: 18px;
	margin: 0 38px 0 0;
	letter-spacing: .04em;
}

.lines .store-information dl dd a {
	text-decoration: underline;
}

/* # =================================================================
# Original Products and Services
# ================================================================= */

.prod-service .desc {
	margin: 73px 0 0;
}

.prod-service .desc:first-of-type {
	margin: 17px 0 0;
}

.prod-service .desc:first-of-type .desc-info {
	margin: 50px 0 0;
}

.prod-service .desc-info {
	margin: 37px 0 0;
}

.prod-service .desc-info+.desc-info {
	margin: 47px 0 0;
}

.prod-service .desc-info .list {
	margin: 10px 0 0;
}

.prod-service .desc-info .list li::before {
	content: '・';
}

.prod-service .desc-info .prod-list {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.prod-service .desc-info .prod-list li {
	width: 224px;
}

.prod-service .desc-info-txt {
	margin: 10px 0 0;
}

.prod-service .desc-info-txt p+p {
	margin: 10px 0 0;
}

.prod-service .desc-img {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	margin: 15px 0 0;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.prod-service .desc-img .caption {
	font-size: 16px;
	margin: 5px 0 0;
}

/* # =================================================================
# Company Overview
# ================================================================= */

.overview .desc+.desc {
	margin: 43px 0 0;
}

.overview .desc .ttl small {
	display: block;
	margin: 3px 0 0;
}

.overview .desc .list {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	margin: 30px 0 0;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.overview .desc dl {
	position: relative;
	width: 475px;
	padding-top: 30px;
	padding-right: 20px;
	border-bottom: solid 1px #eee;
}

.overview .desc dl:nth-child(odd)::before {
	position: absolute;
	top: 5px;
	right: -5px;
	display: block;
	width: 1px;
	height: calc(100% - 10px);
	content: '';
	background: #eee;
}

.overview .desc dl:nth-child(-n+2) {
	padding-top: 5px;
}

.overview .desc dl:nth-child(2n) {
	padding-left: 20px;
}

.overview .desc dl:last-child {
	border: none;
}

.overview .desc dl dt {
	margin: 0 0 10px;
}

.overview .desc dl dd {
	padding: 0 0 30px;
}

.overview .desc dl dd small {
	font-size: 10px;
	display: block;
}

.overview .desc-table {
	width: 100%;
	margin: 15px 0 0;
	border-collapse: collapse;
	border-top: solid 1px #ccc;
	border-bottom: solid 1px #ccc;
}

.overview .desc-table th {
	width: 200px;
	height: 42px;
	padding: 0 18px;
	vertical-align: middle;
	border-right: solid 1px #ccc;
	border-bottom: dotted 1px #ccc;
	border-left: solid 1px #ccc;
	background: #f8f8f8;
}

.overview .desc-table td {
	padding: 0 20px;
	border-right: solid 1px #ccc;
	border-bottom: dotted 1px #ccc;
}

/* # =================================================================
# follow along
# ================================================================= */

.follow .sns {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	margin: 15px 0 0;
}

.follow .sns li {
	width: 22px;
}

.follow .sns li.ig {
	width: 20px;
}

.follow .sns li+li {
	margin: 0 0 0 25px;
}

.follow .sns li a {
	-webkit-transition: opacity .3s;
	transition: opacity .3s;
}

.follow .sns li a:hover {
	opacity: .7;
}

/* # =================================================================
# 
# ================================================================= */

.conts {
	padding: 30px 0 0;
}

/* # =================================================================
# 
# ================================================================= */

.store-info {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.store-img {
	width: 180px;
	height: 180px;
	overflow: hidden;
	position: relative;
}

.store-img img {
	height: 100%;
	width: auto;
	max-width: inherit;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
}

.store {
	margin: 12px 0 0;
}

.store-info {
	margin: 3px 0 0;
}

.store-item {
	padding: 0 0 50px;
	border-bottom: solid 1px #ccc;
}

.store-item+li {
	padding: 37px 0 40px;
}

.store-desc {
	width: 360px;
	margin: -5px 0 0;
}

.store-access {
	width: 360px;
	margin: -5px 0 0;
}

.store-access p {
	letter-spacing: -.02em;
}

.store-more {
	display: none;
	width: 100%;
	margin: 30px 0 0;
	-webkit-box-ordinal-group: 2;
	-webkit-order: 1;
	-ms-flex-order: 1;
	order: 1;
}

.store-more dl+dl {
	margin: 33px 0 0;
}

.store-more dl dt {
	font-size: 16px;
	font-weight: bold;
	line-height: 2.5;
	margin: 0 0 3px;
}

.store-more dl dd ul {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.store-more dl dd li {
	width: auto;
	margin: 0 30px 0 0;
}

.store-more-inner {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	padding: 37px 0 38px 130px;
	background: #eee;
}

.store-more-img {
	width: 230px;
	height: 234px;
	overflow: hidden;
	position: relative;
	margin: 0 50px 0 0;
}

.store-more-img img {
	height: 100%;
	width: auto;
	max-width: inherit;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
}

.store-more-desc {
	width: 480px;
}

.store-more-desc dl {
	margin: -10px 0 0;
}

.store-more-desc dl dt {
	margin: 0;
}

.store-more-desc.floor-guide {
	position: relative;
	width: 317px;
}

.store-more-desc.floor-guide a {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 40px;
	height: 40px;
	background: #666;
}

.store-more-desc.floor-guide a img {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 24px;
	margin: auto;
	-webkit-transition: opacity .3s;
	transition: opacity .3s;
}

.store-more-desc.floor-guide a:hover img {
	opacity: .7;
}

.cn .store-more dl dd li {
	width: 120px;
	margin: 0;
}

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

	img {
		width: 100%;
		max-width: inherit;
	}

	.headline {
		font-size: 22px;
		line-height: 1.0;
	}

	#contents h2.headline {
		font-size: 18px;
		line-height: 1.7;
	}

	.headline-l2 {
		line-height: 1.25;
	}

	.btn {
		font-size: 12px;
		height: 40px;
	}

	.btn::before {
		left: 18px;
	}

	.btn:hover {
		opacity: 1;
	}

	.more-btn {
		width: 100%;
		margin: 17px 0 0;
	}

	.map-btn {
		width: 100%;
		margin: 17px 0 0;
	}

	.map-btn .btn::before {
		left: 15px;
	}

	.map-btn .btn:hover {
		opacity: 1;
	}

	.link-newtab {
		padding-right: 15px;
	}

	.link-newtab::after {
		width: 10.5px;
		height: 10.5px;
		background: url(/img/lang/icon_newtab.png) no-repeat center center;
		background-size: 10.5px auto;
	}

	.link-newtab:hover {
		opacity: 1;
	}

	.tab-link {
		position: relative;
		top: 0;
		margin: 5px 0 0;
		-webkit-transform: translateY(0);
		transform: translateY(0);
		text-align: right;
	}

	.tab-pc {
		display: none;
	}

	.tab-sp {
		font-size: 16px;
		position: relative;
		display: block;
		margin: 20px 0 0;
	}

	.tab-sp::before {
		position: absolute;
		top: 0;
		right: 0;
		display: block;
		width: 30px;
		height: 35px;
		content: '';
		background: #666;
	}

	.tab-sp::after {
		position: absolute;
		top: 0;
		right: 11.5px;
		bottom: 0;
		display: block;
		width: 0;
		height: 0;
		margin: auto;
		content: '';
		border-width: 5px 3.5px 0 3.5px;
		border-style: solid;
		border-color: #fff transparent transparent transparent;
	}

	.tab-sp select {
		position: relative;
		z-index: 1;
		width: 100%;
		height: 35px;
		padding: 0 12px;
		border: solid 1px #666;
	}

	#wrapper {
		width: 100%;
	}

	#contents {
		padding: 25px 15px 80px;
	}

	#header .header-inner {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		width: 100%;
		padding: 10px 15px 9px;
		-webkit-box-align: start;
		-ms-flex-align: start;
		align-items: flex-start;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-pack: justify;
		-webkit-justify-content: space-between;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}

	#header .logo {
		display: block;
		float: none;
		width: 40px;
	}

	#header .logo .copy {
		display: none;
	}

	#header .gnv {
		position: static;
		bottom: 0;
		left: 0;
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		width: 100%;
		margin: 12px 0 0;
		-webkit-box-pack: justify;
		-webkit-justify-content: space-between;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}

	#header .gnv::after {
		display: none;
	}

	#header .gnv li {
		width: 45%;
		margin: 0;
	}

	#header .gnv li a {
		font-size: 14px;
		text-align: center;
	}

	#header .hnv {
		width: 200px;
		margin: 0;
	}

	#header .sns {
		display: none;
	}

	#footer .footer-inner {
		width: 100%;
	}

	#footer .pagetop {
		right: 10px;
		bottom: 35px;
		margin: 0;
	}

	#footer .pagetop a {
		font-size: 10px;
	}

	#footer .pagetop a img {
		width: 18.5px;
	}

	#footer .copyright {
		font-size: 10px;
	}

	#footer .footer-inner {
		width: 100%;
	}

	#footer .pagetop {
		right: 10px;
		bottom: 35px;
		margin: 0;
	}

	#footer .pagetop a {
		font-size: 10px;
	}

	#footer .pagetop a img {
		width: 18.5px;
	}

	#footer .copyright {
		font-size: 10px;
	}

	.concept section+section {
		margin: 40px 0 0;
		padding: 30px 0 0;
	}

	.concept .more-btn {
		font-size: 12px;
		margin: 15px 0 0;
	}

	.concept .more-btn::before {
		left: 15px;
	}

	.desc {
		margin: 10px 0 0;
	}

	.more-conts-inner {
		padding: 15px 0 0;
	}

	.store-concept {
		margin: 10px 0 0;
	}

	.store-concept .desc-img.left {
		width: 54.20289855%;
		margin: 0 2.898550724% 0 0;
	}

	.store-concept .desc-img.right {
		float: right;
		width: 42.898550724%;
	}

	.store-concept .desc-img.right img {
		display: block;
		width: 100%;
		margin: 0 0 6.75656756%;
	}

	.store-concept .desc-txt {
		clear: both;
		margin: 0;
		padding: 25px 0 0;
	}

	.store-concept .more-conts-desc+.more-conts-desc {
		margin-top: 40px;
	}

	.history .desc-img {
		width: 108px;
		margin: 0 15px 0 0;
	}

	.history .desc-txt {
		margin: -5px 0 0;
	}

	.history dl dt {
		font-size: 13px;
		width: 45px;
	}

	.history dl dd {
		font-size: 13px;
	}

	.history .more-img {
		margin: 18.5px 0 -10px;
	}

	.history .more-img img {
		width: 48.550724637%;
		margin: 0 0 10px;
	}

	.cn .history dl dt {
		width: 55px;
	}

	.lines .head .ttl {
		margin: 0 0 10px;
	}

	.lines .desc-txt {
		float: none;
		width: 100%;
		margin: 0;
	}

	.lines .desc-img {
		margin: 10px 0 -4.347826086%;
	}

	.lines .desc-img img {
		width: 47.826086956%;
		margin: 0 0 4.347826086%;
	}

	.lines .desc-img .main {
		width: 100%;
	}

	.lines .desc-img .right {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-webkit-justify-content: space-between;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-box-align: end;
		-webkit-align-items: flex-end;
		-ms-flex-align: end;
		align-items: flex-end;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	.lines .desc-img .right img {
		width: 47.826086956%;
		margin: 0 0 4.347826086%;
	}

	.lines .desc-img.style-2 img {
		width: 47.826086956%;
	}

	.lines .desc-img.style-2 .main {
		width: 100%;
	}

	.lines .block {
		margin: 40px 0 0;
	}

	.lines .block .desc {
		margin: 0;
	}

	.lines .lines-ginza .head {
		margin: 15px 0 0;
	}

	.lines .lines-ginza .desc {
		margin: 15px 0 0;
	}

	.lines .lines-ginza .desc+.desc {
		margin: 43px 0 0;
	}

	.lines .lines-ginza .desc-txt {
		margin: 5px 0 0;
	}

	.lines .lines-topdrawer .desc-img img {
		width: 100%;
	}

	.lines .store-information {
		margin: 43px 0 0;
	}

	.lines .store-information .headline {
		font-size: 18px;
	}

	.lines .store-information .headline:hover {
		opacity: 1;
	}

	.lines .store-information dl {
		margin: 8px 0 0;
	}

	.lines .store-information dl dt {
		font-size: 14px;
		margin: 0 30px 0 0;
	}

	.prod-service .head .ttl {
		margin: 0 0 8px;
	}

	.prod-service .desc {
		margin: 40px 0 0;
	}

	.prod-service .desc:first-of-type {
		margin: 17px 0 0;
	}

	.prod-service .desc:first-of-type .desc-info {
		margin: 25px 0 0;
	}

	.prod-service .desc-info {
		margin: 25px 0 0;
	}

	.prod-service .desc-info+.desc-info {
		margin: 25px 0 0;
	}

	.prod-service .desc-info .list {
		margin: 4px 0 0;
	}

	.prod-service .desc-info .list li {
		position: relative;
		padding: 0 0 0 14px;
	}

	.prod-service .desc-info .list li::before {
		position: absolute;
		top: 0;
		left: 0;
	}

	.prod-service .desc-info .prod-list {
		margin: 0 0 -20px;
	}

	.prod-service .desc-info .prod-list li {
		width: 47.826086956%;
		margin: 0 0 20px;
	}

	.prod-service .desc-info-txt {
		margin: 7px 0 0;
	}

	.prod-service .desc-info-txt p+p {
		margin: 0;
	}

	.prod-service .desc-info-txt .fs-nm {
		font-size: 15px;
	}

	.prod-service .desc-img {
		margin: 5px 0 0;
		-webkit-box-align: start;
		-webkit-align-items: flex-start;
		-ms-flex-align: start;
		align-items: flex-start;
	}

	.prod-service .desc-img li {
		display: block;
		width: 31.304347826%;
		height: auto;
	}

	.overview .desc {
		margin: 20px 0 0;
	}

	.overview .desc+.desc {
		margin: 16px 0 0;
	}

	.overview .desc .list {
		display: block;
		margin: 10px 0 0;
	}

	.overview .desc dl {
		width: 100%;
		padding-top: 16px;
	}

	.overview .desc dl:nth-child(odd)::before {
		display: none;
	}

	.overview .desc dl:nth-child(-n+2) {
		padding-top: 16px;
	}

	.overview .desc dl:nth-child(2n) {
		padding-left: 0;
	}

	.overview .desc dl:first-child {
		padding-top: 0;
	}

	.overview .desc dl dt {
		margin: 0 0 3px;
	}

	.overview .desc dl dd {
		padding: 0 0 16px;
	}

	.overview .desc dl dd small {
		font-size: 12px;
	}

	.overview .desc-table {
		table-layout: fixed;
	}

	.overview .desc-table th {
		line-height: 1.2;
		width: 37.68115942%;
		height: auto;
		min-height: 35px;
		padding: 9px 12px;
	}

	.overview .desc-table td {
		line-height: 1.5;
		padding: 7px 12px;
	}

	.follow .sns li {
		width: 33px;
	}

	.follow .sns li.ig {
		width: 30px;
	}

	.follow .sns li+li {
		margin: 0 0 0 35px;
	}

	#contents .follow h2.headline {
		font-size: 20px;
		line-height: 1.0;
	}

	.conts {
		padding: 20px 0 0;
	}

	.store-info {
		display: block;
	}

	.store-img {
		width: 100%;
		height: auto;
	}

	.store-img img {
		width: 100%;
		height: auto;
		position: static;
		transform: translateX(0) translateY(0);
	}

	.store {
		margin: 25px 0 0;
	}

	.store-info {
		margin: 13px 0 0;
	}

	.store-item {
		padding: 0 0 40px;
	}

	.store-item:last-child {
		padding-bottom: 0;
		border-bottom: 0;
	}

	.store-item+li {
		padding: 38px 0;
	}

	.store-desc {
		width: 100%;
		margin: 15px 0 0;
	}

	.store-desc p {
		letter-spacing: -.02em;
	}

	.store-access {
		width: 100%;
		margin: 20px 0 0;
	}

	.store-more {
		margin: 15px 0 0;
	}

	.store-more dl+dl {
		margin: 28px 0 0;
	}

	.store-more dl dt {
		font-size: 15px;
		line-height: 1.3;
		margin: 0 0 5px;
	}

	.store-more dl dd li {
		width: 100%;
		margin: 0;
	}

	.store-more-inner {
		display: block;
		padding: 25px;
	}

	.store-more-img {
		width: 100%;
		height: auto;
		margin: 0;
	}

	.store-more-img img {
		width: 100%;
		height: auto;
		position: static;
		transform: translateX(0) translateY(0);
	}

	.store-more-desc {
		width: 100%;
		margin: 20px 0 0;
	}

	.store-more-desc dl {
		margin: -6px 0 0;
	}

	.store-more-desc.floor-guide {
		width: 100%;
	}

	.store-more-desc.floor-guide a {
		width: 38px;
		height: 38px;
	}

	.store-more-desc.floor-guide a img {
		width: 22px;
	}

	.store-more-desc.floor-guide a:hover {
		opacity: 1;
	}

	.cn .store-more dl dd li {
		width: 50%;
	}

}

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

	#header .gnv li a {
		font-size: 12px;
	}

	.overview .desc-table th,
	.overview .desc-table td {
		font-size: 12px;
	}

}