@charset "utf-8";
.spec_section {
		padding: 0px 20px 120px;
}
.spec_hd_flex {
		display: flex;
		justify-content: center;
		margin: 0 0 45px;
}
.spec_hd_logo {
		width: 165px;
		margin-right: 30px;
}
.spec_hd_logo img {
		width: 100%;
		height: auto;
}
.spec_hd_flex h2 {
		line-height: 1;
		font-size: 44px;
		font-weight: 600;
}
@media(max-width: 960px) {
		.spec_section {
				padding: 0 20px 80px;
		}
		.spec_hd_flex {
				margin: 0 0 35px;
		}
		.spec_hd_logo {
				width: 130px;
				margin-right: 25px;
		}
		.spec_hd_flex h2 {
				font-size: 34px;
		}
}
@media(max-width: 767px) {
		.spec_section {
				padding: 0 0 60px 25px;
				overflow: hidden
		}
		.spec_hd_flex {
				margin: 0 0 30px;
		}
		.spec_hd_logo {
				width: 100px;
				margin-right: 10px;
		}
		.spec_hd_flex h2 {
				font-size: 24px;
		}
}
.wrap {
		max-width: 960px;
		margin: 0 auto;
		padding: 0 20px;
}
.leftCell {
		text-align: center;
		font-weight: 700;
		background: #f5f5f5;
}
.macOS .leftCell {
		font-weight: 600;
}
table {
		border-collapse: collapse;
		border: 1px solid #999;
		position: relative;
}
th, td {
		font-weight: 500;
		padding: 10px 5px;
		border: 1px solid #999;
		line-height: 1.6;
		font-size: 14px;
		letter-spacing: 0.03em !important
}
th {
		font-size: 16px;
		font-weight: 600;
		background: #f5f5f5;
}
td a {
		color: #ea6202;
		text-decoration: underline;
		line-height: 1.6;
}
td .fs11 {
		font-size: 11px;
}
td .fs12 {
		font-size: 11px;
}
td .fs15 {
		font-size: 15px;
}
td .fs16 {
		font-size: 16px;
}
td .fs22 {
		font-size: 22px;
}
td .alignC {
		text-align: center;
}
td .idt1 {
		margin-left: 1em;
		position: relative;
		line-height: 1.5;
}
.product {
		position: relative;
}
.product .seatHd {
		position: absolute;
		top: 0;
		left: 0;
		font-size: 16px;
}
@media(max-width: 767px) {
		.product .seatHd {
				left: -15px;
				font-size: 14px;
		}
}
.product .eggHd {
		position: absolute;
		top: 0;
		left: 0;
		font-size: 13px;
}
td .idt1 span.mark {
		display: block;
		position: absolute;
		top: 0;
		left: -1em
}
.mL1e {
		margin-left: 0.5em;
}
@media (hover: hover) {
		td a:hover {
				color: #ea6202;
				text-decoration: none;
		}
}
small {
		font-size: 11px;
}
.rate12 {
		width: 12%;
}
.rate22 {
		width: 22%;
}
.rate27 {
		width: 27%;
}
.eclogo {
		width: 190px;
		margin: 0 auto 5px;
}
.eclogo img {
		width: 100%;
		height: auto;
}
th p {
		line-height: 1.4;
}
td p {
		line-height: 1.4;
}
@media(max-width: 767px) {
		td p {
				font-size: 12px;
		}
		td.leftCell p {
				font-size: 12px;
		}
}
td h5 {
		font-family: "Roboto Flex", "Noto Sans JP", sans-serif;
		font-size: 15px;
		font-weight: 600;
		line-height: 1.4;
		letter-spacing: 0;
		margin: 0 0 10px
}
.macOS td h5 {
		font-weight: 600;
}
.product {
		width: 190px;
		margin: 0 auto 5px;
}
.product img {
		width: 100%;
		height: auto
}
.alignTop {
		vertical-align: top;
}
.narrow {
		line-height: 1.4;
		margin: 0 0 5px;
}
.red {
		color: #cc0000;
}
.grn {
		color: #009a41;
}
.blu {
		color: #00a5ec;
}
.flexC {
		display: flex;
		justify-content: center;
}
.meshFlex {
		display: flex;
		align-items: center;
}
.meshFigure {
		width: 100px;
		margin-right: 5px;
}
.meshFigure img {
		width: 100%;
		height: auto;
}
.meshFlex p {
		flex: 1
}
.cvFlexCenter {
		display: flex;
		justify-content: center;
		align-items: center;
}
.cvFlex {
		display: flex;
		justify-content: center;
		align-items: center;
}
.cvFigure {
		width: 40px;
		margin-right: 10px;
}
.cvFigure img {
		width: 100%;
		height: auto;
}
.cvFlex p {
		flex: 1
}
.restHd {
		text-align: center;
		margin: 0 0 5px;
}
.restHd span {
		display: inline-block;
		position: relative;
}
.restHd span::before, .restHd span::after {
		content: '';
		display: block;
		position: absolute;
		width: 1px;
		height: 10px;
		background: #000;
		top: 4px;
}
.restHd span::before {
		left: -7px;
		transform: rotate(-20deg)
}
.restHd span::after {
		right: -7px;
		transform: rotate(20deg)
}
@media(max-width: 1000px) {
		th, td {
				padding: 5px;
				font-size: 12px;
		}
		th {
				font-size: 15px;
		}
		.eclogo {
				width: 120px;
				margin: 0 auto 5px;
		}
		.product {
				width: 170px;
		}
		.meshFigure {
				width: 60px;
				margin-right: 5px;
		}
		.cvFigure {
				width: 30px;
				margin-right: 5px;
		}
}
.spec_section {
		position: relative;
}
@media(min-width: 768px) {
		.spec_section .swipeIcon {
				display: none !important
		}
		.spacer {
				display: none !important
		}
}
@media(max-width: 767px) {
		.wrap {
				padding-right: 0;
				padding-left: 20px;
		}
		table {
				width: 990px;
				border-left: none;
		}
		table.short {
				width: 860px;
		}
		th, td {
				padding: 5px 10px;
		}
		th {
				padding: 3px 0;
				font-size: 15px !important;
		}
		td .fs16 {
				font-size: 14px;
		}
		.leftCell {
				position: sticky;
				top: 0;
				left: 0;
				z-index: 10;
				padding-left: 10px;
				font-size: 12px !important;
				border-left: none;
				line-height: 1.4;
				background-repeat: repeat-y;
				background-position: right top;
				background-size: 1px;
				background-image: url("../images/spec_line.png");
				border-right: none;
				white-space: nowrap
		}
		.leftCell + th, .leftCell + td {
				border-left: none;
		}
		.leftCell::before, .leftCell::after {
				content: '';
				display: block;
				position: absolute;
				background: #999;
				pointer-events: none
		}
		.leftCell::before {
				left: 0px;
				top: 0;
				width: 1px;
				height: 100%
		}
		.leftCell::after {
				left: 0px;
				bottom: -1px;
				width: 100%;
				height: 1px;
		}
		.rate19 {
				width: 8%;
		}
		.rate27 {
				width: 29.5%;
		}
		.rate27.extra {
				width: 33%;
		}
		.specWrap {
				overflow-x: scroll;
				padding-bottom: 20px;
				box-sizing: border-box;
				width: 100%;
				background: #fff;
				position: relative;
		}
		.spec_section .swipeIcon {
				position: absolute;
				width: 110px;
				pointer-events: none;
				top: 40%;
				left: calc(50% - 55px);
				z-index: 50;
				padding: 10px;
				background: rgba(0, 0, 0, 0.4);
				border-radius: 12px;
				animation: spSwipe 1.7s infinite;
		}
		.swipeIcon img {
				width: 100%;
				height: auto;
		}
		.product {
				width: 130px;
		}
		.product.main {
				width: 200px;
		}
		.cvFigure {
				width: 20px;
				margin-right: 10px;
		}
		td h5 {
				font-size: 12px;
		}
		.mobileFS10 {
				font-size: 10px !important
		}
		.mobileFS11 {
				font-size: 11px !important
		}
		.alignTop {
				vertical-align: middle;
		}
		.switch_base {
				position: relative;
				left: 20px
		}
		.switch_base p {
				position: absolute;
				top: 2px;
				left: -50px;
				width: 110px;
		}
		.switch_base p .mobileFS10 {
				font-size: 8px !important;
				letter-spacing: 0 !important;
				line-height: 1.4 !important;
				display: block;
				padding-top: 4px;
		}
		.eggFlex {
				display: flex;
				align-items: center
		}
		.eggFlex p {
				flex: 1
		}
		.eggFlex .product {
				width: 100px;
				margin-right: 10px;
		}
}
@media(max-width: 767px) {
		br.pcbr {
				display: none
		}
		.pcObj {
				display: none
		}
		.spacer {
				height: 1px;
				width: 1060px;
		}
		.spacer.short {
				height: 1px;
				width: 930px;
		}
}
@media(max-width: 375px) {
		th, td {
				padding: 4px 5px;
				font-size: 11px;
		}
		th {
				padding: 7px 0;
		}
}
.specNotes {
		padding-top: 25px;
}
.specNotes ul {
		margin-left: 1em;
		list-style: none;
		display: flex;
		align-items: center
}
.specNotes ul li {
		position: relative;
		font-size: 12px;
		line-height: 1.6;
		margin: 0 20px 0 0
}
.specNotes ul li span {
		position: absolute;
		top: 0;
		left: -1em;
		display: block
}
@media(max-width: 767px) {
		.specNotes {
				padding-top: 0;
		}
		.specNotes ul {
				display: block;
				padding-right: 50px;
		}
		.specNotes ul li {
				font-size: 11px;
				margin: 0 0 3px;
		}
}
.eggIcon {
		width: 50px;
		margin: 0 auto 10px;
}
.eggIcon img {
		width: 100%;
		height: auto
}
.tousai {
		padding-top: 10px;
}
.tousai_dot {
		width: 50px;
		height: 20px;
		border: 2px dotted #cdaf4d;
		box-sizing: border-box;
		margin: 0 auto 16px;
}
.tousai p {
		font-size: 11px !important;
		font-weight: 500;
		text-align: center;
		line-height: 1.4;
		position: relative;
}
.tousai p::before, .tousai p::after {
		content: '';
		display: block;
		position: absolute;
		width: 1px;
		height: 10px;
		background: #666;
		top: -12px;
}
.tousai p::before {
		left: calc(50% - 2px);
}
.tousai p::after {
		left: calc(50% + 2px);
}
@media(max-width: 767px) {
		.eggIcon {
				width: 50px;
				margin: 0 auto 2px;
		}
}
@keyframes spSwipe {
		0% {
				transform: translateX(-30px);
		}
		50% {
				transform: translateX(30px);
		}
		100% {
				transform: translateX(-30px);
		}
}
.w80 {
		width: 80px;
		margin: 10px auto
}
td .w80 {
		width: 50px;
		margin: 5px auto
}
.w80 img {
		width: 100%;
		height: auto
}
.w50 {
		width: 50px;
		margin: 10px auto
}
.w50 img {
		width: 100%;
		height: auto
}
.seatHolder {
		font-size: 11px !important;
}
@media(max-width: 767px) {
		.tousai p, .seatHolder {
				font-size: 9px !important;
		}
}