/*table共通 （表）*/
#container .table-wrap{
  width: 1040px;
  max-width: 100%;
  margin: 0 auto;
  overflow-x: auto;
}
#container .table {
  width: 1040px;
  border-collapse: collapse;
  table-layout: fixed;
  background: #fff;
  margin-bottom: 5%;
}
#container .table th {
  background: #7771a2;
  color: #fff;
  font-weight: bold;
  text-align: center;
  padding: 9px 10px;
  border: 1px solid #aaa5c6;
}
#container .table td {
  border: 1px solid #aaa5c6;
  padding: 10px 12px;
  vertical-align: middle;
  background: #fff;
}
/*table-curl*/
#container .table-curl .col-curl {
  width: 9%;
}
#container .table-curl .col-rod {
  width: 35%;
}
#container .table-curl .col-finish {
  width: 11%;
}
#container .table-curl .col-feature {
  width: 30%;
}
#container .table-curl .curl-name {
  text-align: center;
}
#container .table-curl .rod-item {
  display: flex;
  align-items: center;
  gap: 18px;
}
#container .table-curl .rod-img-link {
  display: block;
  flex: 0 0 90px;
}
#container .table-curl .rod-img-link img {
  display: block;
  width: 90px;
  height: 90px;
  object-fit: contain;
}
#container .table-curl .product-link {
  text-decoration: none;
}
#container .table-curl .product-link:hover {
  text-decoration: underline;
}
#container .table-curl .finish-cell {
  text-align: center;
}
#container .table-curl .finish-cell img {
  display: block;
  width: 90px;
  height: 90px;
  object-fit: cover;
  margin: 0 auto;
}
#container .table-curl .feature-cell p{
  margin: 0;
}

/*table-size*/
#container .table-size .col-size {
  width: 8%;
}
#container .table-size .col-lenght{
  width: 16%;
}
#container .table-size .col-strength{
  width: 16%;
}
#container .table-size .col-finish{
  width: 60%;
}
#container .table-size .size-name,
#container .table-size .length-cell,
#container .table-size .curl-level{
  text-align: center;
}
#container .table-size .finish-cell {
  text-align: left;
  vertical-align: middle;
}
#container .table-size .finish-cell-inner{
  display: flex;
  align-items: center;
  gap: 18px;
  width: 100%;
}
#container .table-size .finish-cell img {
  display: block;
  flex: 0 0 90px;
  width: 90px;
  height: 90px;
  margin: 0;
  object-fit: contain;
}
#container .table-size .finish-cell p{
  flex: 1;
  margin: 0;
}

/*type*/
#container .eye-type-grid {
  width: 100%;
  max-width: 1040px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
#container .eye-type-item {
  min-width: 0;
}
#container  .eye-type-image {
  width: 100%;
  text-align: center;
}
#container  .eye-type-image img {
  display: block;
  width: 120px;
  height: 120px;
  margin: 0 auto;
}
#container .eye-type-title {
  width: 100%;
  background: #706895;
  border-radius: 10px;
  color: #fff;
  font-size: 1.2rem;
  line-height: 2.2;
  margin: 5% 0;
  text-align: center;
}
#container .eye-type-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
#container .eye-type-list li {
  position: relative;
  margin: 0 0 3px;
  padding-left: 1em;
}
#container .eye-type-list li::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
#container .type-txt{
  width: 100%;
  max-width: 1040px;
  padding: 3%;
  border: 2px solid #706895;
  background: #fff;
  margin-top: 5%;
}

/*recommend*/
#container .brand-item {
  margin-bottom: 5%;
}
#container .brand-item:last-child {
  margin-bottom: 0;
}
#container .brand-item h3{
  font-size: 19px;
  font-weight: bold;
  position: relative;
  color: #000;
  line-height: 1.5em;
  margin: 0 0 15px 0;
  padding: 0;
  border-left: none;
}
#container .brand-item h3::before {
  content: "●";
  margin-right: 10px;
  color: #706895;
  font-size: 20px;
}
#container .brand-content {
  align-items: flex-start;
  display: grid;
  gap: 32px;
  grid-template-columns: 46% 54%;
}
#container .brand-products {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, 1fr);
}
#container .brand-products img {
  aspect-ratio: 1 / 1;
  display: block;
  height: auto;
  width: 100%;
}
#container .brand-info {
  min-width: 0;
}
#container .brand-info ul {
  list-style: none;
  margin: 0 0 22px;
  padding: 0;
}
#container .brand-info li {
  margin: 0;
  padding-left: 1em;
  position: relative;
}
#container .brand-description li::before {
  content: "・";
  left: 0;
  position: absolute;
  top: 0;
}
#container .recommended-salon {
  border: 1px solid #706895;
  box-sizing: border-box;
  padding: 20px;
  font-size: 1rem;
  position: relative;
}
#container .recommended-salon p {
  margin: 3% 0 0;
}

/*=====================================
   SP 350px ～ 479px
=====================================*/
@media screen and (min-width: 350px) and (max-width: 479px) {
/*table共通 （表）*/
#container .table-wrap {
	-webkit-overflow-scrolling: touch;
	overflow-x: auto;
	width: 100%;
}
#container .table {
	font-size: .9rem;
	margin-bottom: 1%;
	width: 760px;
}
#container .table th {
	padding: 7px 8px;
	white-space: nowrap;
}
/*table-curl*/
#container .table-curl .rod-item {
	gap: 10px;
}
#container .table-curl .rod-img-link {
	flex: 0 0 70px;
}
#container .table-curl .rod-img-link img {
	height: 100px;
	width: 100px;
}
#container .table-curl .finish-cell img {
	height: 70px;
	width: 70px;
}
#container .table-curl .feature-cell p {
	font-size: .9rem;
	line-height: 1.6;
}
/*table-size*/
#container .table-size .col-size {
  width: 10%;
}
#container .table-size .col-lenght{
  width: 20%;
}
#container .table-size .col-strength{
  width: 15%;
}
#container .table-size .col-finish{
  width: 40%;
}
#container .table-size .finish-cell img {
	flex: 0 0 70px;
	height: 70px;
	width: 70px;
}
#container .table-size .finish-cell p {
	font-size: .9rem;
	line-height: 1.6;
}

/*type*/
#container .eye-type-grid {
	gap: 30px;
	grid-template-columns: 1fr;
	width: 100%;
}
#container .eye-type-title {
	font-size: 1.1rem;
	margin: 0 0 5%;
}
#container .eye-type-list li {
	margin-bottom: 8px;
}
#container .type-txt {
	padding: 5%;
}

/*recommend*/
#container .brand-item {
	margin-bottom: 12%;
}
#container .brand-item h3 {
	font-size: 16px;
	margin-bottom: 0;
}
#container .brand-item h3::before {
	font-size: 17px;
	margin-right: 7px;
}
#container .brand-content {
	gap: 5px;
	grid-template-columns: 1fr;
}
#container .brand-products {
	gap: 0;
	grid-template-columns: repeat(2, 1fr);
}
#container .brand-info ul {
	margin-bottom: 15px;
}
#container .brand-info li {
	padding-left: 0;
}
#container .recommended-salon {
	font-size: .9rem;
	padding: 18px 14px 14px;
}
#container .recommended-salon p {
	font-size: .9rem;
	line-height: 1.6;
	margin-top: 3%;
}
}

/*=====================================
   Tablet 480px ～ 960px
=====================================*/
@media screen and (min-width: 480px) and (max-width: 960px) {
#container .table-wrap {
	-webkit-overflow-scrolling: touch;
	overflow-x: auto;
	width: 100%;
}
#container .table {
	font-size: .9rem;
	width: 900px;
}
#container .table th {
	padding: 8px 9px;
}
#container .table td {
	padding: 9px 10px;
}
#container .table-curl .rod-item {
	gap: 14px;
}
#container .table-curl .rod-img-link {
	flex: 0 0 80px;
}
#container .table-curl .rod-img-link img {
	height: 80px;
	width: 80px;
}
#container .table-curl .finish-cell img {
	height: 80px;
	width: 80px;
}
#container .table-size .finish-cell-inner {
	gap: 15px;
}
#container .table-size .finish-cell img {
	flex: 0 0 80px;
	height: 80px;
	width: 80px;
}
#container .eye-type-grid {
	gap: 30px;
	grid-template-columns: 1fr;
	max-width: 720px;
}
#container .eye-type-image img {
	height: 150px;
	width: 150px;
}
#container .eye-type-title {
	font-size: 1.15rem;
	margin: 3% 0;
}
#container .eye-type-list li {
	line-height: 1.7;
	margin-bottom: 4px;
}
#container .type-txt {
	margin-top: 6%;
	padding: 4%;
}
#container .brand-item {
	margin-bottom: 8%;
}
#container .brand-content {
	gap: 24px;
	grid-template-columns: 1fr;
}
#container .brand-products {
	gap: 12px;
	grid-template-columns: repeat(2, 1fr);
	margin: 0 auto;
	max-width: 700px;
	width: 100%;
}
#container .brand-info {
	width: 100%;
}
#container .brand-info ul {
	margin-bottom: 25px;
}
#container .recommended-salon {
	padding: 20px;
}
}