@charset "utf-8";

/*-------------------------------------------------------------------

	.blockOptionLineup

-------------------------------------------------------------------*/

.blockOptionLineup {
	border: 1px solid #ccc;
	border-radius: 4px;
	overflow: hidden;
}

.blockOptionLineup__figure {
	border-bottom: 1px dashed #ccc;
	text-align: center;
}

.blockOptionLineup__data dt {
	font-weight: bold;
}

.blockOptionLineup__data dt ~ dt {
	margin-top: 0.8em;
}

.blockOptionLineup .listMarkIndent {
	margin-top: 1em;
}

.blockOptionLineup__button a {
	transition: opacity 0.2s linear;
}

.blockOptionLineup__button a:hover {
	opacity: 0.7;
}

.blockOptionLineup__button img {
	height: auto;
	width: 100%;
}

.blockOptionLineup hr {
	background-color: transparent;
	border-top: 1px dashed #ccc;
	height: 0;
}

@media screen and (max-width: 768px) {

	.blockOptionLineup {
	}

	.blockOptionLineup__content {
		font-size: 12px;
		padding: 10px;
	}

	.blockOptionLineup__text {
		margin-top: 10px;
	}

	.blockOptionLineup__text + .blockOptionLineup__text {
		margin-top: 5px;
	}

	.blockOptionLineup__button {
		padding: 0 10px 10px;
	}

	.blockOptionLineup hr {
		margin: 10px -10px;
	}

}

@media screen and (min-width: 769px) {

	.blockOptionLineup {
	}

	.blockOptionLineup__content {
		font-size: 14px;
		padding: 15px 20px;
	}

	.blockOptionLineup__data {}

	.blockOptionLineup__data dt {}

	.blockOptionLineup__data dd {}

	.blockOptionLineup__text {
		margin-top: 15px;
	}

	.blockOptionLineup__text + .blockOptionLineup__text {
		margin-top: 5px;
	}

	.blockOptionLineup__button {
		padding: 0 20px 20px;
	}

	.blockOptionLineup hr {
		margin: 20px -20px;
	}

}

/*-------------------------------------------------------------------

	.blockProduct

-------------------------------------------------------------------*/

.blockProduct {
}

.blockProduct__category {}

.blockProduct__type {}

.blockProduct__figure {}

.blockProduct__figure img {
	height: auto;
	vertical-align: bottom;
	width: 100%;
}

.blockProduct__head {
	align-items: flex-end;
	display: flex;
}

.blockProduct__model {
	font-weight: normal;
}

.blockProduct__model span + span::before {
	margin: 0 0.5em;
}

.blockProduct__code {}

.blockProduct__price {
	align-items: center;
	display: flex;
}

.blockProduct__priceHead {

}

.blockProduct__priceNum {}

.blockProduct__priceFoot {
	margin-left: 1em;
}

.blockProduct__icon {
	align-items: flex-end;
	display: flex;
	list-style: none;
	padding: 0;
}

.blockProduct__icon img {
}

.blockProduct__table th,
.blockProduct__table td {
	border-bottom: 1px solid #ddd;
	border-left: none;
	border-right: none;
	border-top: none;
	padding: 5px 10px;
}

.blockProduct__table th {
	white-space: nowrap;
	width: 5em;
}

.blockProduct__table td {
	border-left: 1px solid #ddd;
	text-align: center;
}

.blockProduct__table[data-item-number="2"] td {
	width: 50%;
}

.blockProduct__table[data-item-number="3"] td {
	width: 33%;
}

@media screen and (max-width: 768px) {

	.blockProduct {
	}

	.blockProduct__category {
		font-size: 18px;
		margin-bottom: 15px;
	}

	.blockProduct__type {
		margin-top: 20px;
	}

	.blockProduct__head {
		margin-top: 15px;
	}

	.blockProduct__model {
		font-size: 15px;
	}

	.blockProduct__code {
		font-size: 13px;
		margin-left: 10px;
	}

	.blockProduct__price {
		margin-top: 5px;
	}

	.blockProduct__priceHead {
		font-size: 14px;
	}

	.blockProduct__priceNum {
		font-size: 20px;
	}

	.blockProduct__icon {
		margin-top: 15px;
	}

	.blockProduct__icon > li + li {
		margin-left: 10px;
	}

	.blockProduct__icon img {
		height: auto;
		width: auto;
	}

	.blockProduct__table {
		font-size: 10px;
		margin-top: 20px;
	}

	.blockProduct__table th,
	.blockProduct__table td {
		padding: 5px;
	}

}

@media screen and (min-width: 769px) {

	.blockProduct {
	}

	.blockProduct__category {
		font-size: 22px;
		margin-bottom: 25px;
	}

	.blockProduct__type {
		margin-top: 25px;
	}

	.blockProduct__head {
		margin-top: 20px;
	}

	.blockProduct__model {
		font-size: 20px;
	}

	.blockProduct__code {
		font-size: 14px;
		margin-left: 30px;
	}

	.blockProduct__price {
		margin-top: 10px;
	}

	.blockProduct__priceHead {
		font-size: 14px;
	}

	.blockProduct__priceNum {
		font-size: 20px;
	}

	.blockProduct__icon {
		margin-top: 5px;
	}

	.blockProduct__icon > li + li {
		margin-left: 15px;
	}

	.blockProduct__icon img {
	}

	.blockProduct__table {
		font-size: 14px;
		margin-top: 30px;
	}

}

/*-------------------------------------------------------------------

	.listEachItem

-------------------------------------------------------------------*/

.listEachItem {}

@media screen and (max-width: 768px) {

	.listEachItem {
		margin-top: 30px;
	}

	.listEachItem + .listEachItem {
		margin-top: 40px;
	}

	.listEachItem[data-item-col-sp="1"] > li + li {
		margin-top: 40px;
	}

}

@media screen and (min-width: 769px) {

	.listEachItem {
		margin-top: 40px;
	}

	.listEachItem + .listEachItem {
		margin-top: 70px;
	}

}

/*-------------------------------------------------------------------

	.navBanner

-------------------------------------------------------------------*/

.navBanner {
	list-style: none;
	padding: 0;
}

.navBanner a {
    display: block;
    transition: all 0.3s;
}

.navBanner a:hover {
	opacity: 0.7;
}

.navBanner img {
	height: auto;
	width: 100%;
}

@media screen and (max-width: 768px) {

	.navBanner {}

	.navBanner > li + li {
		margin-top: 30px;
	}

	.navBanner[data-placement="top"] {
		margin-top: 40px;
	}

}

@media screen and (min-width: 769px) {

	.navBanner {
		display: flex;
	}

	.navBanner > li + li {
		margin-left: 40px;
	}

	.navBanner[data-placement="top"] {
		margin-top: 30px;
	}
	
}

/*-------------------------------------------------------------------

	.navButton

-------------------------------------------------------------------*/

.navButton {
	list-style: none;
	padding: 0;
}

.navButton .buttonRectFillArrow {
	text-align: center;
}

@media screen and (max-width: 768px) {
	.navButton {
		margin-top: 40px;
	}

	.navButton > li + li {
		margin-top: 30px;
	}

}

@media screen and (min-width: 769px) {

	.navButton {
		display: flex;
		justify-content: center;
		margin-top: 70px;
	}

	.navButton .buttonRectFillArrow {
		width: 450px;
	}

	.navButton > li + li {
		margin-left: 30px;
	}

}

/*-------------------------------------------------------------------

	.top20

-------------------------------------------------------------------*/

.top20 {
	margin-top: 20px !important;
}

/*-------------------------------------------------------------------

	.headerHasIcon

-------------------------------------------------------------------*/

.headerHasIcon {
	align-items: center;
	display: flex;
}

.headerHasIcon__heading {
	flex: 1;
	font-weight: normal;
    line-height: 1.4;
}

@media screen and (max-width: 768px) {

	.headerHasIcon__icon {
		margin-right: 15px;
		width: 40px;
	}

	.headerHasIcon__heading {
		font-size: 18px;
	}

}

@media screen and (min-width: 769px) {

	.headerHasIcon__icon {
		margin-right: 26px;
	}

	.headerHasIcon__heading {
		font-size: 22px;
	}

}

/*-------------------------------------------------------------------

	.headerRakukaji

-------------------------------------------------------------------*/

.headerRakukaji {
	align-items: center;
	display: flex;
    justify-content: center;
}

.headerRakukaji__label {
}

.headerRakukaji__heading {
	font-weight: normal;
}

@media screen and (max-width: 768px) {

	.headerRakukaji {
		margin-bottom: 30px;
	}

	.headerRakukaji__label {
		margin-right: 15px;
		width: 60px;
	}

	.headerRakukaji__heading {
		font-size: 22px;
		line-height: 1.363;
	}

}

@media screen and (min-width: 769px) {

	.headerRakukaji {
		margin-bottom: 50px;
	}

	.headerRakukaji__label {
		margin-right: 20px;
		width: 62px;
	}

	.headerRakukaji__heading {
		font-size: 30px;
		line-height: 1.266;
		text-align: center;
	}

}

/*-------------------------------------------------------------------

	.blockProductDetail

-------------------------------------------------------------------*/

.blockProductDetail {
}

.blockProductDetail__heading {
	font-weight: normal;
	line-height: 1.2;
	text-align: center;
}

.blockProductDetail__lead {
	text-align: center;
}

.blockProductDetail__lead sub {
	font-size: x-small;
}

.blockProductDetail__function {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	padding: 0;
}

@media screen and (max-width: 768px) {

	.blockProductDetail {
	}

	.blockProductDetail__heading {
		font-size: 24px;
		margin-bottom: 25px;
	}

	.blockProductDetail__lead {
		font-size: 16px;
		margin-bottom: 20px;
	}

	.blockProductDetail__figure {
		margin: 0 30px;
	}

	.blockProductDetail__caption {
		font-size: 11px;
		margin-top: 10px;
	}

	.blockProductDetail__content {
		margin-top: 20px;
	}

	.blockProductDetail__label {
		margin-bottom: 5px;
	}

	.blockProductDetail__label img {
		width: inherit;
	}

	.blockProductDetail__function > li {
		box-sizing: border-box;
		padding: 2px;
		width: calc(100% / 6);
	}

	.blockProductDetail__color {
		margin-top: 20px;
		text-align: center;
	}

	.blockProductDetail__color img {
		width: inherit;
	}

}

@media screen and (min-width: 769px) {

	.blockProductDetail {
		background-color: #fff;
		border: 1px solid #dcdddd;
		padding: 60px;
	}

	.blockProductDetail__heading {
		font-size: 26px;
		margin-bottom: 30px;
	}

	.blockProductDetail__lead {
		font-size: 20px;
		margin-bottom: 40px;
	}

	.blockProductDetail__wrap {
		display: flex;
	}

	.blockProductDetail__figure {
		margin-right: 50px;
		width: 250px;
	}

	.blockProductDetail__caption {
		font-size: 12px;
		margin-top: 15px;
	}

	.blockProductDetail__content {
		flex: 1;
	}

	.blockProductDetail__label {
		margin-bottom: 8px;
	}

	.blockProductDetail__function > li {
		margin-left: 8px;
	}

	.blockProductDetail__function > li:nth-child(9n + 1) {
		margin-left: 0;
	}

	.blockProductDetail__function > li:nth-child(n + 10) {
		margin-top: 8px;
	}

	.blockProductDetail__color {
		margin-top: 40px;
	}

}
