@charset "utf-8";
/*-------------------
    common
-------------------*/
#container .wrapper {
    font: 3.8vw/6vw -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
    font-feature-settings: "palt";
    letter-spacing: .1em;
    padding: 0 0 20px;
	text-align: justify;
}
#container .wrapper * {
    box-sizing: border-box;
}
#container .flex {
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
}
#container .wrapper p{
    margin: 0;
}
#container .wrapper img{
	display: block;
    margin: 0 auto;
	width: 100%;
}

/*-------------------
	mainvisual
-------------------*/
#container .mainvisual{
	background: url(/contents/shop/sevenbeauty/img/freepage/massage_cream_lineup/resp_mv.jpg) no-repeat;
	background-size: 100%;
	background-position: 0 23vw;
	position: relative;
}
#container .mainvisual .fv-catch{
	background: #ea1d68;
	border-radius: 50px;
	color: #FFF;
	display: block;
	font-size: 5vw;
	margin: 0 auto;
	padding: 1.5%;
	text-align: center;
	width: 35vw;
}
#container .mainvisual .headtitle{
	color: #EA1D68;
	font-size: 10vw;
	font-weight: bold;
	letter-spacing: -0.5px;
	margin-top: 15px;
	text-align: center;
}
#container .mainvisual .icon-emblem{
	left: 5%;
	position: absolute;
	top: 26vw;
	width: 26%;
}
#container .mainvisual .explanation{
	background-color: rgba(255, 255, 255, .6);
	margin-top: 52vw;
	padding: 5% 5% 0;
}

/*-------------------
   section共通
-------------------*/
#container h2{
	border-bottom: solid 1px #333;
	font-size: 6.5vw;
	margin: 15vw 0 5vw;
	padding-bottom: 8px;
	text-align: center;
}

/*-------------------
   table(比較表)
-------------------*/
#container .compare-table-wrap {
	background: #fff;
	border: 1px solid #dcdcdc;
	max-height: 75vh;
	margin: 0 auto;
	overflow-x: auto;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	max-width: 90%;
}

/* Safari対策として collapse は使わない */
#container .compare-table {
	background: #fff;
	border-collapse: separate;
	border-spacing: 0;
	font-size: 3.3vw;
	line-height: 4.8vw;
	table-layout: fixed;
	min-width: 100%;
	width: max-content;
}

/* ===== スマホ基準の列幅 ===== */
.compare-table .col-image   { width: 84px; }
.compare-table .col-name    { width: 210px; }
.compare-table .col-score   { width: 150px; }
.compare-table .col-use     { width: 110px; }
.compare-table .col-feature { width: 240px; }
.compare-table .col-size    { width: 100px; }
.compare-table .col-price   { width: 100px; }
.compare-table .col-cost    { width: 110px; }
.compare-table .col-scent   { width: 100px; }

/* 基本セル */
.compare-table th,
.compare-table td {
  padding: 10px;
  box-sizing: border-box;
  vertical-align: middle;
  background: #fff;
  border-right: 1px solid #dcdcdc;
  border-bottom: 1px solid #dcdcdc;
  word-break: break-word;
}

/* ヘッダー */
.compare-table thead th {
  position: sticky;
  top: 0;
  z-index: 30;
  background: #6f9bb8;
  color: #fff;
  text-align: center;
  font-weight: 700;
  white-space: nowrap;
  vertical-align: middle;
}

/* 左上セル */
.compare-table thead th:first-child {
  left: 0;
  z-index: 50;
}

/* 左固定は1列目だけ */
.compare-table tbody td:first-child {
  position: sticky;
  left: 0;
  z-index: 20;
  background: #fff;
}

/* 固定列の境界線 */
.compare-table thead th:first-child,
.compare-table tbody td:first-child {
  box-shadow: 1px 0 0 #dcdcdc;
}

.compare-table tbody tr:nth-child(even) td {
	background-color: #fafcfc;
}

/* 画像セル */
.compare-table .cell-image {
  text-align: center;
  vertical-align: middle;
}

.compare-table .cell-image img {
  display: block;
  width: 48px;
  height: auto;
  margin: 0 auto;
}
.compare-table .cell-name {
  font-weight: 400;
  text-align: left;
}
.compare-table td:nth-child(7){
	text-align: justify;
}

/* 評価・記号系 */
.compare-table td:nth-child(3),
.compare-table td:nth-child(4),
.compare-table td:nth-child(5),
.compare-table td:nth-child(6),
.compare-table td:nth-child(8),
.compare-table td:nth-child(9),
.compare-table td:nth-child(10),
.compare-table td:nth-child(11){
  text-align: center;
}
.compare-table td:nth-child(3){
	color: #c00;
	font-size: 4vw;
	line-height: 6vw;
	white-space: nowrap;
}
.compare-table td:nth-child(3) em{
	color: #9bb;
	display: inline;
	position: relative;
	transform: translate(0%, 0%);
	white-space: nowrap;
}
.compare-table td:nth-child(3) em:before {
	color: #c00;
	content: attr(data-heading);
	display: inline;
	overflow: hidden;
	position: absolute;
	width: 50%;
}
.compare-table td:nth-child(3) span{
	color: #9bb;
}
.compare-table td:nth-child(4),
.compare-table td:nth-child(5),
.compare-table td:nth-child(6){
	font-size: 4.5vw;
}

/* 外枠補完 */
.compare-table thead tr:first-child th {
  border-top: 1px solid #dcdcdc;
}
.compare-table tr > *:first-child {
  border-left: 1px solid #dcdcdc;
}

/*-------------------
   lineup
-------------------*/
#container .secTitle{
	margin-top: 10vw;
	text-align: center;
}
#container .secTitle h3{
	background: #e75297;
	color: #FFF;
	font: bold 6vw/1.2 "游明朝", YuMincho, "ヒラギノ明朝 ProN W3",'Ubuntu',"ヒラギノ角ゴ ProN W3",'Hiragino Kaku Gothic ProN','メイリオ', Meiryo,"遊ゴシック体",YuGothic,"游ゴシック","Yu Gothic",'ＭＳ ゴシック',sans-serif;
	letter-spacing: 0;
	padding: 3% 5%;
}
#container .series_sevenbeauty_foot .secTitle h3{
	background: #54c2f0;
}
#container .series_plant .secTitle h3{
	background: #21ab42;
}
#container .series_leave .secTitle h3{
	background: #6c5148;
}
#container .series_slimming .secTitle h3{
	background: #717071;
}
#container .series_debuuu .secTitle h3{
	background: #b14d58;
}
#container .secTitle .catTitle-desc{
	font-size: 4.5vw;
	line-height: 6.5vw;
	margin: 5% 5% 0;
}
#container .colmun4{
	margin: 0 auto;
	width: 94%;
}
#container .colmun4 li{
	margin: 6% 2% 0;
	width: 46%;
}
#container .colmun4 .item_pht{
	margin: 0 auto;
	width: 85%;
}
#container .colmun4 .item_1{
	border-bottom: solid 1px #333;
	font-size: 4vw;
	font-weight: bold;
	line-height: 5.5vw;
	margin-bottom: 5%;
	padding-bottom: 5px;
	text-align: center;
}
#container .colmun4 .item_spec{
	margin: 5% auto;
}
#container .colmun4 .item-note{
	font-size: 3vw;
	line-height: 4vw;
}
#container .colmun4 .price,
#container .colmun4 .price-login{
	color: #c00;
	font-weight: bold;
}
#container .colmun4 .price{
	font-size: 5.5vw;
}
#container .colmun4 .price-login{
	font-size: 4vw;
}
#container .colmun4 .price span,
#container .colmun4 .price-login span{
	font-size: 3.5vw;
	font-weight: bold;
}
#container .colmun4 .price .color-base{
	color: #333;
	font-weight: normal;
}

/* btn  */
#container .btn{
	background: #9dd53a;
	background: -moz-linear-gradient(top, #9dd53a 0%, #7cbc0a 100%);
	background: -webkit-linear-gradient(top, #9dd53a 0%, #7cbc0a 100%);
	background: linear-gradient(to bottom, #9dd53a 0%, #7cbc0a 100%);
	border: #99b61e 1px solid;
	border-radius: 8px;
	color: #fff;
	display: block;
	font-size: 4vw;
	font-weight: bold;
	line-height: 8vw;
	margin: 5px auto;
	text-align: center;
	width: 100%;
}
#container .btn a{
	color: #fff;
	display: block;
	text-decoration: none;
}
#container .btn:hover{
	filter: alpha(opacity=90);
	opacity: 0.7;
	transition: all ease-in 0.4s;
	text-decoration: none;
}
#container .buy_set{
	text-align: center;
}
#container .wrapper .buy_set a {
	display: block;
	text-decoration: none;
	position: relative;
}
#container .wrapper .buy_set a::before {
	border: solid 4px transparent;
	border-left: solid 6px #333;
	content: "";
	display: inline-block;
	height: 0;
	left: 8%;
	position: absolute;
	top: 30%;
	width: 0;
}

/*-------------------
   txtlinkArea
-------------------*/
#container .txtlinkArea{
	margin: 10vw auto 0;
	width: 90%;
}
#container .txtlinkArea .txtlink li{
	width: 100%;
}
#container .txtlinkArea .txtlink li a{
	background: #f9f9f9;
	display: block;
	font-size: 4vw;
	margin-bottom: 3%;
	padding: 3%;
}
#container .txtlinkArea .txtlink li:nth-child(1) a{
	border-left: solid 6px #e75297;
}
#container .txtlinkArea .txtlink li:nth-child(2) a{
	border-left: solid 6px #54c2f0;
}
#container .txtlinkArea .txtlink li:nth-child(3) a{
	border-left: solid 6px #21ab42;
}
#container .txtlinkArea .txtlink li:nth-child(4) a{
	border-left: solid 6px #6c5148;
}
#container .txtlinkArea .txtlink li:nth-child(5) a{
	border-left: solid 6px #717071;
}
#container .txtlinkArea .txtlink li:nth-child(6) a{
	border-left: solid 6px #b14d58;
}

@media screen and (min-width:480px) and ( max-width:960px) {
/*　スマホ横～タブレット 480pxから960pxまではここを読み込む　*/

#container .wrapper {
    font-size: 2.5vw;
	line-height: 4.5vw;
}
	
/*-------------------
	mainvisual
-------------------*/
#container .mainvisual{
	background-position: 0 23vw;
}
#container .mainvisual .fv-catch{
	padding: 2%;
	width: 30vw;
}
#container .mainvisual .headtitle{
	font-size: 10vw;
	margin-top: 4%;
}
#container .mainvisual .explanation{
	margin-top: 62vw;
}

/*-------------------
   section共通
-------------------*/
#container h2{
	font-size: 6vw;
	padding-bottom: 3%;
}

/*-------------------
   table(比較表)
-------------------*/
#container .compare-table-wrap {
	max-height: 75vh;
	max-width: 90%;
}

/* Safari対策として collapse は使わない */
#container .compare-table {
	font-size: 2.5vw;
	line-height: 4vw;
}

/* ===== スマホ基準の列幅 ===== */
.compare-table .col-image   { width: 120px; }
.compare-table .col-name    { width: 280px; }
.compare-table .col-score   { width: 200px; }
.compare-table .col-use     { width: 140px; }
.compare-table .col-feature { width: 350px; }
.compare-table .col-size    { width: 150px; }
.compare-table .col-price   { width: 150px; }
.compare-table .col-cost    { width: 150px; }
.compare-table .col-scent   { width: 150px; }

/* 評価・記号系 */
.compare-table td:nth-child(3){
	font-size: 3vw;
	line-height: 4.5vw;
}

/*-------------------
   lineup
-------------------*/
#container .colmun4 .item_1{
	font-size: 3.5vw;
	line-height: 4vw;
}
#container .colmun4 .item-note{
	font-size: 2vw;
}
#container .colmun4 .price{
	font-size: 4vw;
}
#container .colmun4 .price-login{
	font-size: 3.5vw;
}
#container .colmun4 .price span,
#container .colmun4 .price-login span{
	font-size: 2.5vw;
}

/* btn  */
#container .btn{
	font-size: 3vw;
	line-height: 6.5vw;
}
#container .wrapper .buy_set a::before {
	left: 22%;
	top: 40%;
}

/*-------------------
   txtlinkArea
-------------------*/
#container .txtlinkArea .txtlink li a{
	font-size: 3.5vw;
}
}

@media screen and (min-width:960px) {
/*　小・大画面デスクトップ　960pxからはここを読み込む　*/

#container .wrapper {
    font-size: 1rem;
	line-height: 1.6rem;
	margin: 0 auto;
	width: 1040px;
}
#container article{
	margin-bottom: 50px;
}	
	
	
/*-------------------
	mainvisual
-------------------*/
#container .mainvisual{
	background-size: auto;
	background-position: right -35% top;
	padding: 3% 0;
}
#container .mainvisual .fv-catch{
	font-size: 1.8rem;
	line-height: 1.5rem;
	margin: 0;
	width: 200px;
}
#container .mainvisual .headtitle{
	font-size: 4.5rem;
	margin-top: 3.5%;
	text-align: left;
}
#container .mainvisual .icon-emblem{
	left: 850px;
	top: 20px;
	width: 165px;
}
#container .mainvisual .explanation{
	line-height: 1.8rem;
	margin-top: 50px;
	padding: 15px;
	width: 530px;
}

/*-------------------
   section共通
-------------------*/
#container h2{
	font-size: 3rem;
	margin: 10% 0 5%;
	padding-bottom: 2.5%;
}
#container .sp-only{
	display: none;
}

/*-------------------
   table(比較表)
-------------------*/
#container .compare-table-wrap {
	max-height: 800px;
	max-width: 100%;
}

/* Safari対策として collapse は使わない */
#container .compare-table {
	font-size: 0.9rem;
	line-height: 1.4rem;
}

/* ===== スマホ基準の列幅 ===== */
.compare-table .col-image   { width: 100px; }
.compare-table .col-name    { width: 220px; }
.compare-table .col-score   { width: 160px; }
.compare-table .col-use     { width: 110px; }
.compare-table .col-feature { width: 260px; }
.compare-table .col-size    { width: 130px; }
.compare-table .col-price   { width: 130px; }
.compare-table .col-cost    { width: 160px; }
.compare-table .col-scent   { width: 160px; }

/* 評価・記号系 */
.compare-table td:nth-child(3){
	font-size: 1.2rem;
	line-height: 1.6rem;
}
.compare-table td:nth-child(4),
.compare-table td:nth-child(5),
.compare-table td:nth-child(6){
	font-size: 1.2rem;
}

/*-------------------
   lineup
-------------------*/
#container .secTitle{
	margin-top: 10%;
	text-align: center;
}
#container .secTitle h3{
	font-size: 2.5rem;
	padding: 2%;
}
#container .secTitle .catTitle-desc{
	font-size: 1.3rem;
	line-height: 1.8rem;
	margin-top: 3%;
}
#container .colmun4{
	margin: 0 auto;
	width: 100%;
}
#container .colmun4 li{
	margin: 3% 2% 0;
	width: calc(88% / 3);
}
#container .colmun4 .item_pht{
	width: 80%;
}
#container .colmun4 .item_1{
	font-size: 1.2rem;
	line-height: 1.6rem;
	margin-bottom: 3%;
	padding-bottom: 8px;
}
#container .colmun4 .text_color{
	min-height: 76px;
}
#container .colmun4 .item_spec{
	margin: 3% auto;
	width: 275px;
}
#container .colmun4 .item-note{
	font-size: 0.8rem;
	line-height: 1rem;
	margin-bottom: 3%;
}
#container .colmun4 .price{
	font-size: 1.6rem;
}
#container .colmun4 .price-login{
	font-size: 1.2rem;
}
#container .colmun4 .price span,
#container .colmun4 .price-login span{
	font-size: 0.9rem;
}

/* btn  */
#container .btn{
	font-size: 1.2rem;
	line-height: 3rem;
}
#container .wrapper .buy_set a::before {
	border: solid 5px transparent;
	border-left: solid 7px #333;
	height: 0;
	left: 72px;
	top: 8px;
}

/*-------------------
   txtlinkArea
-------------------*/
#container .txtlinkArea{
	margin-top: 5%;
	width: 100%;
}
#container .txtlinkArea .txtlink li{
	margin: 0 1%;
	width: calc(94% / 3);
}
#container .txtlinkArea .txtlink li a{
	font-size: 1rem;
}
}