@charset "utf-8";

/**** base ****/
@font-face {
	font-family: "yg";
	font-weight: normal;
	src: local("YuGothic-Medium"),
	     local("Yu Gothic Medium"),
	     local("Yu Gothic"),
	     local("YuGothic-Regular");
}
@font-face {
	font-family: "yg";
	font-weight: bold;
	src: local("YuGothic-Bold"),
	     local("Yu Gothic");
}
*,
*:before,
*:after {
	box-sizing: border-box;
}
*:focus {
	outline: none;
}
html {
	min-height: 100%;
	position: relative;
}
a {
	color: #333;
	text-decoration: none;
	transition: color 0.25s;
}
body.js-non-touch-device a:hover {
	color: #e00;
}
a[href^="tel"] {
	color: #333 !important;
}
body {
	color: #333;
	font-feature-settings: "pkna";
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
}
:lang(ja) body {
	font-family: yg, YuGothic, -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
:lang(en) body {
	font-family: Roboto, sans-serif;
}
:lang(zh) body {
	font-family: -apple-system, BlinkMacSystemFont, sans-serif;
}
.anchor {
	display: block;
	overflow: hidden;
	height: 1px;
}
.wrapper {
	padding-left: 15px;
	padding-right: 15px;
}
@media screen and (min-width: 751px) { /* pc */
	body {
		font-size: 14px;
		line-height: 23px;
	}
	body.js-header-fixed {
		padding-top: 170px;
	}
	body.modal {
		padding: 40px 50px 50px;
	}
	.anchor {
		transform: translateY(-97px);
	}
	.wrapper {
		margin-left: auto;
		margin-right: auto;
		width: 1140px;
	}
	.sp {
		display: none !important;
	}
}
@media screen and (max-width: 750px) { /* sp */
	body {
		font-size: 15px;
		line-height: 25px;
		padding-top: 51px;
	}
	body.modal {
		padding: 56px 15px 40px;
	}
	.anchor {
		transform: translateY(-51px);
	}
	.pc {
		display: none !important;
	}
}

/**** header ****/
#header {
	background: #fff;
	left: 0;
	position: relative;
	top: 0;
	width: 100%;
	z-index: 1000;
}
#header:before,
#header:after {
	content: "";
	display: block;
}
#header:before {
	background: #ddd;
	height: 1px;
	left: 0;
	position: absolute;
	width: 100%;
}
#header:after {
	clear: both;
}
@media screen and (min-width: 751px) { /* pc */
	#header {
		height: 132px;
		min-width: 1140px;
		padding-top: 30px;
	}
	body.js-header-fixed #header {
		height: 61px;
		padding-top: 0;
		position: fixed;
	}
	#header:before {
		bottom: 0;
	}
}
@media screen and (max-width: 750px) { /* sp */
	#header {
		height: 51px;
		padding-top: 14.5px;
		position: fixed;
	}
	#header.js-expanded {
		height: 100%;
		overflow: auto;
	}
	#header:before {
		top: 50px;
	}
}

/* identity */
#header .identity {
	float: left;
}
@media screen and (min-width: 751px) { /* pc */
	#header .identity {
		margin-top: -5px;
		text-indent: -999em;
	}
	body.js-header-fixed #header .identity {
		margin-top: 19px;
	}
	#header .identity a {
		background: url(../images/header/logo-identity-01.png);
		display: block;
		height: 28px;
		width: 251px;
	}
	body.js-header-fixed #header .identity a {
		background-position: 0 -28px;
		height: 22px;
		width: 192px;
	}
}
@media screen and (max-width: 750px) { /* sp */
	#header .identity {
		font-size: 0;
		line-height: 0;
		margin-top: -0.5px;
	}
	#header .identity img {
		width: 185px;
	}
}

/* language */
@media screen and (min-width: 751px) { /* pc */
	#header .language {
		border-left: 1px solid #ddd;
		float: right;
		font: 12.5px/12px Roboto, sans-serif;
		margin-left: 15px;
		padding-left: 20px;
		padding-top: 4px;
	}
	body.js-header-fixed #header .language {
		display: none;
	}
	#header .language:after {
		clear: both;
		content: "";
		display: block;
	}
	#header .language li {
		float: left;
		margin-bottom: -2px;
	}
	#header .language li:not(:last-child) {
		margin-right: 15px;
	}
	#header .language a {
		display: block;
		padding-bottom: 6px;
		position: relative;
	}
	#header .language a:after {
		background: #e00;
		bottom: 0;
		content: "";
		display: block;
		height: 1px;
		left: 0;
		position: absolute;
		transition: width 0.25s;
		width: 0;
	}
	#header .language .active a {
		color: #e00;
	}
	body.js-non-touch-device #header .language li:not(.hide) a:hover:after,
	#header .language .active a:after {
		width: 100%;
	}
	#header .language .hide {
		opacity: 0.3;
	}
	#header .language .hide a {
		color: #333;
		cursor: default;
	}
}

/* sns */
@media screen and (min-width: 751px) { /* pc */
	#header .sns {
		border-left: 1px solid #ddd;
		float: right;
		margin-left: 20px;
		padding-left: 15px;
	}
	body.js-header-fixed #header .sns {
		display: none;
	}
	#header .sns li:not(:last-child) {
		margin-right: 6px;
	}
	#header .sns a {
		font-size: 11px;
		height: 20px;
		line-height: 20px;
		width: 20px;
	}
}

/* utility */
@media screen and (min-width: 751px) { /* pc */
	#header .utility {
		float: right;
		font-size: 12px;
		line-height: 1;
		margin-top: 4px;
	}
	#header .utility:after {
		clear: both;
		content: "";
		display: block;
	}
	body.js-header-fixed #header .utility {
		margin-left: 40px;
		margin-top: 24px;
	}
	#header .utility li {
		float: left;
	}
	#header .utility li:not(:last-child) {
		margin-right: 20px;
	}
	#header .utility a {
		display: block;
		padding-bottom: 6px;
		position: relative;
	}
	#header .utility a:after {
		background: #e00;
		bottom: 0;
		content: "";
		display: block;
		height: 1px;
		left: 0;
		position: absolute;
		transition: width 0.25s;
		width: 0;
	}
	#header .utility .current a {
		color: #e00;
	}
	body.js-non-touch-device #header .utility a:hover:after,
	#header .utility .current a:after {
		width: 100%;
	}
}

/* navigation */
@media screen and (min-width: 751px) { /* pc */
	body:not(.js-header-fixed) #header .navigation {
		border-top: 1px solid #ddd;
		bottom: 0;
		left: 0;
		min-width: 1140px;
		position: absolute;
		width: 100%;
	}
	body.js-header-fixed #header .navigation {
		float: right;
	}
	#header .navigation > ul {
		display: table;
		margin-left: auto;
		margin-right: auto;
	}
	body:not(.js-header-fixed) #header .navigation  > ul {
		margin-top: -1px;
	}
	#header .navigation > ul > li {
		display: table-cell;
	}
	#header .navigation > ul > li > a {
		display: block;
		font: 16px/1 Roboto, sans-serif;
		padding: 18px 40px;
		position: relative;
		z-index: 1;
	}
	body.js-header-fixed #header .navigation > ul > li > a {
		font-size: 15px;
		padding: 23px 20px;
	}
	#header .navigation > ul > .current > a,
	#header .navigation > ul > .js-expanded > a {
		color: #e00;
	}
	#header .navigation > .js-megadrop-expanded > .current:not(.js-expanded) > a {
		color: #333;
	}
	#header .navigation > ul > li > a span {
		display: block;
	}
	#header .navigation .line {
		background: #e00;
		bottom: 0;
		content: "";
		display: block;
		height: 5px;
		left: auto;
		position: absolute;
		width: 0;
	}
	#header .navigation .line.js-animate {
		transition: left 0.25s, width 0.25s;
	}
	body.js-header-fixed #header .navigation .line {
		bottom: 14px;
		height: 3px;
	}
}

/* megadrop */
@media screen and (min-width: 751px) { /* pc */
	#header .megadrop,
	#header .megadrop a {
		color: #fff;
	}
	#header .megadrop,
	#header .megadrop .outer {
		transition-delay: 0;
		transition-duration: 0.25s;
	}
	#header .js-expanded .megadrop,
	#header .js-expanded .megadrop .outer {
		transition-delay: 0.5s;
	}
	#header .megadrop {
		left: 0;
		line-height: 1;
		max-height: 0;
		opacity: 0;
		overflow: hidden;
		position: absolute;
		top: 51px;
		transition-property: opacity;
		width: 100%;
		z-index: 1001;
	}
	body.js-header-fixed #header .megadrop {
		display: none !important;
	}
	#header .js-expanded .megadrop {
		max-height: 9999px;
		opacity: 1;
	}
	#header .megadrop a {
		transition: opacity 0.25s;
	}
	#header .megadrop a:hover {
		opacity: 0.5;
	}
	#header .megadrop .outer {
		background: #222;
		padding-bottom: 50px;
		padding-top: 50px;
		transform: translateY(-50px);
		transition-property: transform;
	}
	#header .js-expanded .megadrop .outer {
		transform: translateY(0);
	}
	#header .megadrop .inner {
		display: table;
		padding-left: 65px;
		padding-right: 65px;
	}
	#header .megadrop .inner > * {
		display: table-cell;
		padding-bottom: 10px;
		padding-top: 10px;
	}
	#header .megadrop .column:first-child {
		border-right: 1px solid #555;
		padding-right: 35px;
		position: relative;
		vertical-align: bottom;
		width: 236px;
	}
	#header .megadrop .column:nth-child(n+2) {
		vertical-align: top;
	}
	#header .megadrop .column:nth-child(2) {
		padding-left: 34px;
	}
	#header .megadrop .column:nth-child(2):not(:last-child) {
		width: 289px;
	}
	#header .megadrop h2 {
		font-weight: bold;
		font-size: 18px;
		left: 0;
		position: absolute;
		top: 10px;
	}
	#header .megadrop .more,
	#header .megadrop .button {
		text-align: center;
	}
	#header .megadrop .more {
		width: 140px;
	}
	#header .megadrop .more a,
	#header .megadrop .button a {
		border: 1px solid #555;
		cursor: pointer;
		display: block;
		padding: 12px 9px;
		transition: all 0.25s;
	}
	#header .megadrop .more a:hover,
	#header .megadrop .button a:hover {
		background: #666;
		border-color: #666;
		opacity: 1;
	}
	#header .megadrop .button {
		width: 200px;
	}
	#header .megadrop .button li:not(:last-child) {
		margin-bottom: 5px;
	}
	#header .megadrop .news li:not(:last-child) {
		margin-bottom: 29px;
	}
	#header .megadrop .news a {
		display: block;
	}
	#header .megadrop .news .meta {
		margin-bottom: 10px;
		padding-left: 23px;
		position: relative;
	}
	#header .megadrop .news .meta:before {
		content: "";
		display: block;
		left: 0;
		position: absolute;
	}
	#header .megadrop .news .meta:before {
		background: url(../images/header/icon-megadrop-01.png);
		height: 15px;
		top: -1px;
		width: 15px;
	}
	#header .megadrop .news .date:before {
		background: url(../images/header/icon-megadrop-02.png);
	}
	#header .megadrop .news .title {
		line-height: 23px;
		margin-bottom: -5px;
		margin-top: -4px;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		width: 740px;
	}
	#header .megadrop .floor {
		line-height: 23px;
		margin-bottom: -5px;
		margin-top: -4px;
	}
	#header .megadrop .floor:after {
		content: "";
		display: block;
		clear: both;
	}
	#header .megadrop .floor dt {
		float: left;
		font-weight: bold;
	}
	#header .megadrop .floor dd {
		padding-left: 67px;
	}
	#header .megadrop .floor dd:not(:last-child) {
		margin-bottom: 12px;
	}
	#header .megadrop .floor ul:after {
		content: "";
		display: block;
		clear: both;
	}
	#header .megadrop .floor li {
		float: left;
	}
	#header .megadrop .floor li:not(:last-child) {
		margin-right: 10px;
		padding-right: 11px;
		position: relative;
	}
	#header .megadrop .floor li:not(:last-child):after {
		background: #555;
		content: "";
		height: 17px;
		position: absolute;
		right: 0;
		top: 2px;
		width: 1px;
	}
	#header .megadrop .image-and-text {
		display: table;
	}
	#header .megadrop .image-and-text li {
		display: table-cell;
	}
	#header .megadrop .image-and-text li:not(:last-child) {
		padding-right: 25px;
	}
	#header .megadrop .image-and-text li a {
		display: block;
	}
	#header .megadrop .image-and-text li .image {
		margin-bottom: 15px;
	}
	#header .megadrop .image-and-text li .copy {
		font-size: 11px;
		margin-bottom: 9px;
	}
	#header .megadrop .image-and-text li .title {
		font-size: 16px;
	}
	#header .megadrop .link li:not(:last-child) {
		margin-bottom: 21px;
	}
}

/* menu */
@media screen and (max-width: 750px) { /* sp */
	#header .menu {
		cursor: pointer;
		float: right;
		margin: -14.5px -15px;
		padding: 14.5px 15px;
		position: relative;
		z-index: 1001;
	}
	#header .menu span {
		display: block;
		height: 21px;
		position: relative;
		width: 26px;
	}
	#header .menu i {
		background: #999;
		display: block;
		height: 3px;
		left: 0;
		position: absolute;
		transition: all 0.25s;
		width: 26px;
	}
	body.js-non-touch-device #header .menu:hover i {
		background: #666;
	}
	#header .menu i:nth-child(1) {
		top: 0;
	}
	#header .menu i:nth-child(2) {
		top: 9px;
	}
	#header .menu i:nth-child(3) {
		top: 18px;
	}
	#header.js-expanded .menu i:nth-child(2n+1) {
		margin-left: -1px;
		margin-right: -1px;
		width: 28px;
	}
	#header.js-expanded .menu i:nth-child(1) {
		transform: translateY(9px) rotate(-45deg);
	}
	#header.js-expanded .menu i:nth-child(2) {
		opacity: 0;
	}
	#header.js-expanded .menu i:nth-child(3) {
		transform: translateY(-9px) rotate(45deg);
	}
}

/* dropdown */
@media screen and (max-width: 750px) { /* sp */
	#header .dropdown,
	#header .dropdown a {
		color: #fff;
	}
	#header .dropdown {
		left: 0;
		line-height: 1;
		position: absolute;
		top: 50px;
		width: 100%;
		z-index: 1001;
	}
	#header .dropdown a {
		display: block;
	}
	#header .dropdown .nub,
	#header .dropdown .nub:before {
		display: block;
		height: 7.5px;
		width: 15px;
	}
	#header .dropdown .nub {
		overflow: hidden;
		position: absolute;
		right: 20.5px;
		top: 0;
		transform: translateY(-100%);
	}
	#header .dropdown .nub:before {
		background: url(../images/header/background-dropdown-01.png);
		background-size: 15px 7.5px;
		content: "";
		transform: translateY(100%);
		transition: transform 0.25s;
	}
	#header.js-expanded .dropdown .nub:before {
		transform: translateY(0);
	}
	#header .dropdown .outer {
		background: #222;
		bottom: 0;
		display: none;
		left: 0;
		overflow-y: scroll;
		-webkit-overflow-scrolling: touch;
		position: fixed;
		top: 50px;
		right: 0;
	}
	#header .dropdown .inner {
		padding-bottom: 25px;
		padding-top: 25px;
	}
	#header .dropdown .language {
		font-family: Roboto, sans-serif;
		font-size: 14px;
		margin-bottom: 25px;
		margin-left: -7.5px;
		margin-right: -7.5px;
		overflow: hidden;
		text-align: center;
	}
	#header .dropdown .language li {
		float: left;
		width: 33.333%;
		padding-left: 7.5px;
		padding-right: 7.5px;
	}
	#header .dropdown .language a {
		border: 1px solid #555;
		padding: 10px 9px;
		transition: all 0.25s;
	}
	body.js-non-touch-device #header .dropdown .language :not(.hide) a:hover,
	#header .dropdown .language .active a {
		background: #666;
		border-color: #666;
	}
	#header .dropdown .language .hide a {
		cursor: default;
	}
	#header .dropdown .language .hide span {
		opacity: 0.2;
	}
	#header .dropdown .navigation {
		margin-bottom: 25px;
		padding-bottom: 1px;
	}
	#header .dropdown .navigation a {
		border-bottom: 1px solid #555;
		border-top: 1px solid #555;
	}
	#header .dropdown .navigation span {
		display: block;
		padding-left: 6px;
		padding-right: 26px;
		position: relative;
		transition: opacity 0.25s;
	}
	body.js-non-touch-device #header .dropdown .navigation a:hover span {
		opacity: 0.5;
	}
	#header .dropdown .navigation i {
		position: absolute;
		right: 0;
		top: 50%;
		width: 26px;
	}
	#header .dropdown .navigation i:before {
		content: "";
		left: 50%;
		position: absolute;
		transform: translate(-50%, -50%);
	}
	#header .dropdown .navigation dt {
		font-family: Roboto, sans-serif;
		font-size: 16px;
	}
	#header .dropdown .navigation dt,
	#header .dropdown .navigation li {
		margin-bottom: -1px;
	}
	#header .dropdown .navigation dt a {
		font-family: Roboto, sans-serif;
		font-size: 16px;
	}
	#header .dropdown .navigation dt span {
		padding-bottom: 16.5px;
		padding-top: 16.5px;
	}
	#header .dropdown .navigation dt i:before {
		background: url(../images/header/icon-dropdown-01.png);
		background-size: 10px 19px;
		height: 19px;
		width: 10px;
	}
	#header .dropdown .navigation dd {
		font-size: 14px;
		margin-left: 25px;
	}
	#header .dropdown .navigation dd span {
		padding-bottom: 12.5px;
		padding-top: 12.5px;
	}
	#header .dropdown .navigation dd i:before {
		background: url(../images/header/icon-dropdown-02.png);
		background-size: 7px 13px;
		height: 13px;
		width: 7px;
	}
	#header .dropdown .navigation dd [target] i:before {
		background: url(../images/header/icon-dropdown-03.png);
		background-size: 11px;
		height: 11px;
		width: 11px;
	}
	#header .dropdown .close {
		font-family: Roboto, sans-serif;
		font-size: 14px;
		margin-left: -7.5px;
		margin-right: -7.5px;
		text-align: center;
	}
	#header .dropdown .close span {
		display: block;
	}
	#header .dropdown .close > span {
		margin-left: auto;
		margin-right: auto;
		padding-left: 7.5px;
		padding-right: 7.5px;
		width: 33.333%;
	}
	#header .dropdown .close span span {
		border: 1px solid #555;
		cursor: pointer;
		display: block;
		padding: 10px 9px;
		transition: all 0.25s;
	}
	body.js-non-touch-device #header .dropdown .close span span:hover {
		background: #666;
		border-color: #666;
	}
}

/**** visual ****/
#visual {
	color: #fff;
	line-height: 1;
	position: relative;
	text-align: center;
	overflow: hidden;
}
#visual h1 {
	font-family: Roboto, sans-serif;
	font-weight: 500;
}
#visual .image {
	background: #222;
	display: block;
	left: 0;
	top: 0;
	width: 100%;
}
@media screen and (min-width: 751px) { /* pc */
	#visual {
		height: 150px;
		min-width: 1140px;
		padding-top: 53px;
	}
	:lang(en) #visual {
		padding-top: 65px;
	}
	#visual h1 {
		font-size: 28px;
		margin-bottom: 12px;
		position: relative;
		z-index: 1;
	}
	:lang(en) #visual h1 {
		margin-bottom: 0;
	}
	#visual p {
		font-size: 12px;
		position: relative;
		z-index: 1;
	}
	#visual .image {
		background-attachment: fixed;
		background-position: 50% 0;
		background-size: 100% auto;
		background-repeat: no-repeat;
		height: 282px;
		margin-top: -132px;
		position: relative;
		z-index: 0;
	}
}
@media screen and (max-width: 750px) { /* sp */
	#visual {
		height: 110px;
		padding-top: 34.5px;
	}
	#visual h1 {
		font-size: 24px;
		margin-bottom: 6px;
		position: relative;
		z-index: 1;
	}
	#visual p {
		font-size: 10px;
		position: relative;
		z-index: 1;
	}
	#visual .image {
		background-size: cover;
		background-position: 50% 0;
		height: 161px;
		position: absolute;
	}
}

/**** breadcrumb ****/
@media screen and (min-width: 751px) { /* pc */
	#breadcrumb {
		background: #f6f6f6;
		font-size: 12px;
		line-height: 36px;
		min-width: 1140px;
		white-space: nowrap;
	}
	body.js-header-fixed #breadcrumb {
		left: 0;
		position: fixed;
		top: 61px;
		width: 100%;
		z-index: 1000;
	}
	#breadcrumb .wrapper {
		overflow: hidden;
	}
	#breadcrumb li {
		display: inline-block;
	}
	#breadcrumb li:not(:first-child):before {
		margin-left: 0.25em;
		margin-right: 0.5em;
	}
	:not(:lang(ja)) #breadcrumb li:not(:first-child):before {
		content: "\003e";
	}
	:lang(ja) #breadcrumb li:not(:first-child):before {
		content: "＞";
	}
}

/**** tab-navigation ****/
.tab-navigation {
	font-weight: bold;
	text-align: center;
}
.tab-navigation a {
	color: #666;
	display: block;
	transition: all 0.25s;
}
body.js-non-touch-device .tab-navigation a:hover,
.tab-navigation .current a {
	background: #fff;
	color: #e00;
}
@media screen and (min-width: 751px) { /* pc */
	.tab-navigation {
		line-height: 16px;
		margin-top: 40px;
		position: relative;
	}
	.tab-navigation ul {
		display: table;
		padding-bottom: 1px;
		padding-left: 35px;
		padding-right: 35px;
		position: relative;
		width: 100%;
	}
	.tab-navigation ul:before {
		bottom: 0;
		background: #aaa;
		content: "";
		height: 1px;
		left: 0;
		position: absolute;
		width: 100%;
		z-index: -1;
	}
	.tab-navigation ul > li {
		display: table-cell;
		padding-left: 5px;
		padding-right: 5px;
		vertical-align: bottom;
	}
	.tab-navigation a {
		background: #fcfcfc;
		border-left: 1px solid #ddd;
		border-right: 1px solid #ddd;
		padding: 21px 20px 18px;
		position: relative;
	}
	body.js-non-touch-device .tab-navigation a:hover,
	.tab-navigation .current a {
		border-color: #aaa;
	}
	.tab-navigation .current a {
		padding-top: 26px;
		padding-bottom: 24px;
		margin-bottom: -1px;
	}
	.tab-navigation a:before {
		background: #ddd;
		content: "";
		display: block;
		height: 3px;
		left: -1px;
		position: absolute;
		top: 0;
		transition: background 0.25s;
		width: calc(100% + 2px);
	}
	body.js-non-touch-device .tab-navigation a:hover:before,
	.tab-navigation .current a:before {
		background: #e00;
	}
	.tab-navigation span {
		display: inline-block;
		padding-left: 30px;
		position: relative;
	}
	.tab-navigation span:before,
	.tab-navigation span:after {
		content: "";
		display: block;
		height: 17px;
		left: 0;
		margin-top: -8px;
		position: absolute;
		top: 50%;
		width: 19px;
	}
	.tab-navigation span:after {
		background-position: 0 100%;
		opacity: 0;
		transition: opacity 0.25s;
	}
	body.js-non-touch-device .tab-navigation a:hover span:after,
	.tab-navigation .current a span:after {
		opacity: 1;
	}

	/* showroom-office */
	.tab-navigation.showroom-office li {
		font-size: 16px;
	}
	.tab-navigation.showroom-office li:nth-child(1) span:before,
	.tab-navigation.showroom-office li:nth-child(1) span:after {
		background-image: url(../images/tab-navigation/icon-01.png);
	}
	.tab-navigation.showroom-office li:nth-child(2) span:before,
	.tab-navigation.showroom-office li:nth-child(2) span:after {
		background-image: url(../images/tab-navigation/icon-02.png);
		width: 17px;
	}
	.tab-navigation.showroom-office li:nth-child(3) span:before,
	.tab-navigation.showroom-office li:nth-child(3) span:after {
		background-image: url(../images/tab-navigation/icon-04.png);
		width: 15px;
		height: 15px;
	}
}
@media screen and (max-width: 750px) { /* sp */
	.tab-navigation {
		font-size: 14px;
		line-height: 1;
	}
	.tab-navigation .wrapper {
		padding-left: 0;
		padding-right: 0;
	}
	#header + #breadcrumb + .tab-navigation {
		margin-top: -1px;
	}
	#content + .tab-navigation {
		margin-bottom: -1px;
	}
	.tab-navigation ul {
		overflow: hidden;
	}
	.tab-navigation li {
		float: left;
		width: 50%;
	}
	.tab-navigation li:nth-child(n+3) {
		margin-top: -1px;
	}
	.tab-navigation a {
		background: #f9f9f9;
		border-bottom: 1px solid #ddd;
		border-top: 1px solid #ddd;
		padding: 15px 10px;
		transition: all 0.25s;
	}
	.tab-navigation li:nth-child(odd) a {
		border-right: 1px solid #ddd;
	}
}

/**** content ****/
#content {
	position: relative;
}
@media screen and (min-width: 751px) { /* pc */
	#content {
		min-width: 1140px;
		padding-bottom: 80px;
		padding-top: 40px;
	}
	body.modal #content {
		min-width: auto;
		padding-bottom: 0;
		padding-top: 0;
		width: 800px;
	}
	#content > .wrapper {
		display: table;
	}
	#content > .wrapper > * {
		display: table-cell;
		vertical-align: top;
	}
	#main:not(:last-child) {
		padding-left: 50px;
		width: 750px;
	}
	#sidebar {
		padding-left: 55px;
		padding-right: 50px;
		width: 360px;
	}
}
@media screen and (max-width: 750px) { /* sp */
	#content {
		padding-bottom: 40px;
		padding-top: 25px;
	}
	body.modal #content {
		padding-bottom: 0;
		padding-top: 0;
	}
	#main:not(:last-child) {
		margin-bottom: 50px;
	}
}

/**** main ****/
#main a {
	color: #e00;
}
body.js-non-touch-device #main a:hover {
	text-decoration: underline;
}

/**** sidebar ****/
#sidebar .js-slider {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

/* local-navigation */
#sidebar .local-navigation {
	border: 1px solid #ddd;
	padding: 4px;
}
#sidebar .local-navigation dt {
	background: #f6f6f6;
	font-weight: bold;
}
#sidebar .local-navigation p {
	line-height: 1;
}
#sidebar .local-navigation .title {
	font-weight: bold;
}
#sidebar .local-navigation ul:not(:first-child) {
	border-top: 1px solid #eee;
}
#sidebar .local-navigation li:not(:last-child) {
	border-bottom: 1px solid #eee;
}
#sidebar .local-navigation a {
	display: block;
}
#sidebar .local-navigation .current > a {
	color: #e00;
}
@media screen and (min-width: 751px) { /* pc */
	#sidebar .local-navigation dt,
	#sidebar .local-navigation dd {
		padding-left: 10px;
		padding-right: 10px;
	}
	#sidebar .local-navigation dt {
		padding-bottom: 2px;
		padding-top: 3px;
	}
	#sidebar .local-navigation dd > a {
		padding-bottom: 15px;
		padding-top: 15px;
	}
	#sidebar .local-navigation .copy {
		font-size: 11px;
		margin-bottom: 8px;
	}
	#sidebar .local-navigation .title {
		font-size: 16px;
	}
	#sidebar .local-navigation li a {
		padding-bottom: 7px;
		padding-top: 7px;
	}
}
@media screen and (max-width: 750px) { /* sp */
	#sidebar .local-navigation dt,
	#sidebar .local-navigation dd {
		padding-left: 15px;
		padding-right: 15px;
	}
	#sidebar .local-navigation dt {
		padding-bottom: 5px;
		padding-top: 5px;
	}
	#sidebar .local-navigation dd > a {
		padding-bottom: 17px;
		padding-top: 15px;
	}
	#sidebar .local-navigation .copy {
		font-size: 12px;
		margin-bottom: 8.5px;
	}
	#sidebar .local-navigation .title,
	#sidebar .local-navigation ul a {
		position: relative;
	}
	#sidebar .local-navigation .title {
		font-size: 17.5px;
	}
	#sidebar .local-navigation ul a {
		padding-bottom: 7px;
		padding-right: 12px;
		padding-top: 7px;
	}
	#sidebar .local-navigation .title:before,
	#sidebar .local-navigation .title:after,
	#sidebar .local-navigation ul a:before,
	#sidebar .local-navigation ul a:after {
		background-image: url(../images/sidebar/background-local-navigation-01.png);
		background-size: 7px 26px;
		content: "";
		display: block;
		height: 13px;
		margin-top: -6.5px;
		position: absolute;
		right: 5px;
		top: 50%;
		width: 7px;
	}
	#sidebar .local-navigation .title:after,
	#sidebar .local-navigation ul a:after {
		background-position: 0 100%;
		opacity: 0;
		transition: opacity 0.25s;
	}
	body.js-non-touch-device #sidebar .local-navigation .title:hover:after,
	#sidebar .local-navigation .current .title:after,
	body.js-non-touch-device #sidebar .local-navigation ul a:hover:after,
	#sidebar .local-navigation ul .current a:after {
		opacity: 1;
	}
}

/* banner */
#sidebar .banner {
	font-size: 0;
	line-height: 0;
	margin-top: 10px;
}
#sidebar .banner li:not(:last-child) {
	margin-bottom: 10px;
}
#sidebar .banner a {
	border: 1px solid #ddd;
	display: inline-block;
}
#sidebar .banner img {
	height: auto;
	transition: opacity 0.25s;
	width: 100%;
}
body.js-non-touch-device #sidebar .banner a:hover img {
	opacity: 0.5;
}

/**** tdc-feature ****/
#tdc-feature .craftec {
	background: url(../images/tdc-feature/background-01.png) 100% 0;
	background-size: cover;
}
#tdc-feature .space-design-concierge {
	background: url(../images/tdc-feature/background-02.png) 0 0;
	background-size: cover;
}
#tdc-feature .logo {
	font-size: 0;
	line-height: 0;
	text-align: center;
}
#tdc-feature span,
#tdc-feature .description {
	position: relative;
}
#tdc-feature span:before,
#tdc-feature span:after,
#tdc-feature .description:before,
#tdc-feature .description:after {
	content: "";
	display: block;
	height: 0.001px;
	overflow: hidden;
}
#tdc-feature .lead {
	font-weight: bold;
	position: relative;
	text-align: center;
}
#tdc-feature .craftec .lead {
	color: #87943f;
}
#tdc-feature .space-design-concierge .lead {
	color: #2584e5;
}
#tdc-feature span {
	display: block;
	position: relative;
}
#tdc-feature .lead:after {
	bottom: 0;
	content: "";
	height: 3px;
	left: 50%;
	position: absolute;
}
#tdc-feature .craftec .lead:after,
#tdc-feature .craftec a {
	background: #87943f;
}
#tdc-feature .space-design-concierge .lead:after,
#tdc-feature .space-design-concierge a {
	background: #2584e5;
}
#tdc-feature .description {
	font-size: 15px;
}
#tdc-feature .button {
	line-height: 1;
	font-weight: bold;
	text-align: center;
}
#tdc-feature a {
	border-radius: 1000px;
	color: #fff !important;
	cursor: pointer;
	display: inline-block;
	padding-left: 15px;
	padding-right: 15px;
	position: relative;
	transition: background 0.25s;
}
body.js-non-touch-device #tdc-feature a:hover {
	text-decoration: none;
}
body.js-non-touch-device #tdc-feature .craftec a:hover {
	background: #617200;
}
body.js-non-touch-device #tdc-feature .space-design-concierge a:hover {
	background: #1e6ab7;
}
@media screen and (min-width: 751px) { /* pc */
	#tdc-feature {
		display: table;
		margin-bottom: 80px;
		margin-top: -60px;
		min-width: 1140px;
		width: 100%;
	}
	#tdc-feature > * {
		display: table-cell;
		vertical-align: top;
		width: 50%;
	}
	#tdc-feature .inner {
		padding-bottom: 60px;
		padding-top: 60px;
		width: 555px;
	}
	#tdc-feature > *:first-child .inner {
		margin-left: auto;
		margin-right: 0;
		padding-left: 60px;
		padding-right: 75px;
	}
	#tdc-feature > *:last-child .inner {
		margin-left: 0;
		margin-right: auto;
		padding-left: 75px;
		padding-right: 60px;
	}
	#tdc-feature .craftec .logo {
		margin-bottom: 69px;
		margin-top: 27px;
	}
	#tdc-feature .space-design-concierge .logo {
		margin-bottom: 71px;
		margin-top: 33px;
	}
	#tdc-feature .craftec img {
		width: 218px;
	}
	#tdc-feature .space-design-concierge img {
		width: 403px;
	}
	#tdc-feature .lead {
		font-size: 18px;
		line-height: 32px;
		margin-bottom: 31px;
		padding-bottom: 34px;
	}
	#tdc-feature span:before {
		margin-bottom: -7.5px;
	}
	#tdc-feature span:after {
		margin-top: -7.5px;
	}
	#tdc-feature .lead:after {
		margin-left: -10px;
		width: 20px;
	}
	#tdc-feature .description {
		line-height: 28px;
		margin-bottom: 52px;
		min-height: 98px;
	}
	#tdc-feature .description:before {
		margin-bottom: -7px;
	}
	#tdc-feature .description:after {
		margin-top: -7px;
	}
	#tdc-feature .button {
		font-size: 14px;
	}
	#tdc-feature a {
		padding-bottom: 16px;
		padding-top: 16px;
		width: 200px;
	}
}
@media screen and (max-width: 750px) { /* sp */
	#tdc-feature {
		margin-top: -30px;
	}
	#tdc-feature .inner {
		padding: 40px 15px;
	}
	#tdc-feature .craftec .logo {
		margin-bottom: 50.5px;
		margin-top: 12px;
	}
	#tdc-feature .space-design-concierge .logo {
		margin-bottom: 51px;
		margin-top: 18px;
	}
	#tdc-feature .craftec img {
		width: 165.5px;
	}
	#tdc-feature .space-design-concierge img {
		width: 303.5px;
	}
	#tdc-feature .lead {
		font-size: 15px;
		line-height: 25px;
		margin-bottom: 31px;
		padding-bottom: 34.5px;
	}
	#tdc-feature .lead:after {
		margin-left: -15px;
		width: 30px;
	}
	#tdc-feature span:before,
	#tdc-feature .description:before {
		margin-bottom: -5.5px;
	}
	#tdc-feature span:after,
	#tdc-feature .description:after {
		margin-top: -5.5px;
	}
	#tdc-feature .description {
		line-height: 25px;
		margin-bottom: 39.5px;
	}
	#tdc-feature a {
		padding-bottom: 15px;
		padding-top: 15px;
		width: 180px;
	}
}

/**** footer ****/
#footer {
	background: #fff;
	bottom: 0;
	left: 0;
	padding-bottom: 30px;
	position: absolute;
	width: 100%;
}
@media screen and (min-width: 751px) { /* pc */
	#footer {
		min-width: 1140px;
	}
}
@media screen and (max-width: 750px) { /* sp */
	#footer {
		border-top: 1px solid #ddd;
		padding-top: 15px;
		text-align: center;
	}
}

/* sns */
@media screen and (max-width: 750px) { /* sp */
	#footer .sns {
		border-bottom: 1px solid #ddd;
		margin-bottom: 30px;
		padding-bottom: 15px;
	}
	#footer .sns ul {
		display: table;
		margin-left: auto;
		margin-right: auto;
	}
	#footer .sns li {
		display: table-cell;
	}
	#footer .sns li:not(:last-child) {
		padding-right: 10px;
	}
	#footer .sns a {
		font-size: 27px;
		height: 50px;
		line-height: 50px;
		width: 50px;
	}
}

/* sitemap */
@media screen and (min-width: 751px) { /* pc */
	#footer .sitemap {
		background: #f6f6f6;
		margin-bottom: 30px;
		min-width: 1140px;
		padding-bottom: 100px;
		padding-top: 60px;
	}
	#footer .sitemap .wrapper:after {
		clear: both;
		content: "";
		display: block;
	}
	#footer .sitemap dl {
		float: left;
	}
	#footer .sitemap dl:not(:last-child) {
		margin-right: 50px;
	}
	#footer .sitemap dl:nth-child(-n+2) {
		width: 220px;
	}
	#footer .sitemap dl:nth-child(3) {
		width: 200px;
	}
	#footer .sitemap dl:nth-child(4) {
		width: 320px;
	}
	#footer .sitemap dt {
		font-family: Roboto, sans-serif;
		font-size: 15px;
	}
	#footer .sitemap dt:not(:last-child) {
		margin-bottom: 25px;
	}
	#footer .sitemap dt a {
		border-bottom: 1px solid #ddd;
		display: block;
		padding-bottom: 9px;
		position: relative;
	}
	#footer .sitemap dt a:after {
		background: #e00;
		bottom: -1px;
		content: "";
		display: block;
		height: 1px;
		left: 0;
		position: absolute;
		transition: width 0.25s;
		width: 0;
	}
	body.js-non-touch-device #footer .sitemap dt a:hover:after {
		width: 100%;
	}
	#footer .sitemap dd {
		font-size: 13px;
		line-height: 25px;
	}
	#footer .sitemap dl:last-child dd:after {
		clear: both;
		content: "";
		display: block;
	}
	#footer .sitemap dl:last-child ul {
		float: left;
	}
	#footer .sitemap dl:last-child ul:not(:last-child) {
		margin-right: 50px;
	}
	#footer .sitemap ul:before,
	#footer .sitemap ul:after {
		content: "";
		display: block;
		height: 0.001px;
		overflow: hidden;
	}
	#footer .sitemap ul:before {
		margin-bottom: -6.5px;
	}
	#footer .sitemap ul:after {
		margin-top: -6.5px;
	}
}

/* information */
@media screen and (max-width: 750px) { /* sp */
	#footer .information {
		font-size: 14px;
		line-height: 1;
		margin-bottom: 18px;
	}
	#footer .information li:not(:last-child) {
		margin-bottom: 14px;
	}
}

/* copyright */
#footer .copyright {
	color: #999;
	font-family: Roboto;
	font-size: 12px;
	line-height: 1;
}
@media screen and (min-width: 751px) { /* pc */
	#footer .copyright dl {
		display: table;
		margin-left: auto;
		margin-right: auto;
	}
	#footer .copyright dl > * {
		display: table-cell;
		vertical-align: top;
	}
	#footer .copyright dt {
		border-right: 1px solid #ddd;
		font-size: 0;
		line-height: 0;
		padding-bottom: 2px;
		padding-right: 30px;
		padding-top: 1px;
	}
	#footer .copyright dd {
		padding-left: 30px;
		padding-top: 4px;
	}
}

/* pagetop */
@media screen and (min-width: 751px) { /* pc */
	#footer .pagetop {
		bottom: 20px;
		overflow: hidden;
		position: fixed;
		right: 0;
		text-indent: -999em;
		width: 60px;
		z-index: 1000;
	}
	#footer .pagetop.js-absolute {
		position: absolute;
		top: -60px;
	}
	#footer .pagetop a {
		background: #ccc;
		display: block;
		padding: 15px 12px 16px;
		transform: translateX(60px);
		transition: all 0.25s;
		width: 40px;
	}
	#footer .pagetop.js-visible a {
		transform: translateX(0);
	}
	body.js-non-touch-device #footer .pagetop a:hover {
		background: #999;
	}
	#footer .pagetop span {
		background-image: url(../images/footer/icon-pagetop-01.png);
		display: block;
		height: 9px;
		width: 16px;
	}
}