@charset "utf-8";
/*-------------
   clearfix
-------------*/
.cf:before,
.cf:after {
  content: " ";
  display: table;
}
.cf:after {
  clear: both;
}
.cf {
  zoom: 1;
}
/*-----------
   common
-----------*/
.wrapper {
  font: 1.0em/1.2 "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "Osaka", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-feature-settings: "palt";
  letter-spacing: .1em;
  padding: 0;
  position: relative;
}
.wrapper * {
  box-sizing: border-box;
}
.wrapper a {
  color: inherit;
  display: block;
}
.wrapper img {
  height: auto;
  max-width: 100%;
}
#container .flex {
  align-items: flex-start;
  display: flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  flex-wrap: wrap;
  margin: 0 auto;
}
/*-- 画面外にいる状態 --*/
.fadein {
  opacity: 0;
  transform: translate(0, 30px);
  transition: ease-in 400ms;
}
/*-- 画面内に入った状態 --*/
.fadein.scrollin {
  opacity: 1;
  transform: translate(0, 0);
}
/*-- container --*/
#container {
  overflow: hidden;
}
#container .wrapper {
  font-family: "メイリオ", "Meiryo", 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
}
#container .wrapper p {
  margin: 0;
}
#container section {
  margin: 0 auto;
  padding: 0;
}
#container a:hover {
  opacity: 1;
}
/*-- mainvisual --*/
#container .mainvisual {
  background: url(https://7beauty.jp/contents/shop/sevenbeauty/img/freepage/massage-oil-lineup/mainvisual.jpg) top -100px right -100px no-repeat;
  background-size: 100%;
  background-color: #fff;
  margin: 0 0 10%;
  padding: 8% 5% 0;
  position: relative;
}
#container .toptext p.text1 {
  color: #fff;
  font-family: 'a-otf-ud-shin-maru-go-pr6n', sans-serif;
  font-size: 4vw;
  margin-bottom: 3%;
}
#container .red-box {
  background-color: #b30000;
  margin-right: 5px;
  padding: 1%;
}
#container .toptext p.text2 {
  color: #000;
  font-family: 'a-otf-ud-shin-maru-go-pr6n', sans-serif;
  font-size: 5.4vw;
  margin-bottom: 2%;
}
#container h1 {
  color: #b30000;
  font-size: 10vw;
  font-weight: bold;
  margin: 0 auto 30%;
  padding: 0;
}
#container .black-box {
  border: solid 1px #000;
  color: #000;
  font-size: 0.7rem;
  margin: 0 5px;
  padding: 0 1%;
  vertical-align: text-top;
}
#container p.price {
  margin: 5% 0;
  text-align: center;
}
#container p.price em {
  color: #cc0000;
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: -0.01rem;
}
#container p.price em::after {
  content: "円(税込)～";
  font-size: 0.7rem;
}
/*-- nav-area --*/
#container .nav-area {
  margin-bottom: 10%;
}
#container .nav-area h2 {
  color: #000;
  font-family: 'a-otf-ud-shin-maru-go-pr6n', sans-serif;
  font-size: 1.0rem;
  line-height: 1.6;
  text-align: center;
}
#container .nav-area h2 .red-box {
  color: #fff;
}
#container .nav-area h2 em.red {
  color: #b30000;
  font-size: 1.2rem;
  font-weight: bold;
}
#container .nav-area h2 em.red .big {
  font-size: 2.0rem;
  font-weight: bold;
}
/*menu-box*/
#container .menu-box {
  margin: 2% 0;
  padding: 0 5%;
}
#container .menu-title{
  cursor: pointer;
  font-size: 1.0rem;
  line-height: 3;
  padding-left: 5%;
  position: relative;
  transition: all .5s ease;
}
#container .menu-title.menu01 ,#container .natural-area .item-area{
  background: #f3e5fe;
}
#container .menu-title.menu02 ,#container .mineral-area .item-area{
  background: #c5f4f5;
}
#container .menu-title.menu03 ,#container .oilfree-area .item-area{
  background: #ffd6d8;
  margin: 0;
}
#container .menu-title::before,
#container .menu-title::after{
  content:'';
  background-color: #fff;
  transition: 0.1s ease-in 0.05s;
  position: absolute;
  width: 15px;
  height: 2px;
}
#container .menu-title::before{
  top:48%;
  right: 15px;
  transform: rotate(0deg);
}
#container .menu-title::after{    
  top:48%;
  right: 15px;
  transform: rotate(90deg);
}
#container .menu-title.close::after{
  transform: rotate(0deg);
  transition: 0.1s ease-in 0.05s;
}
#container .menu{
  display: none;
  font-size: 0.9rem;
  line-height: 1.6;
  text-align: justify;
}
#container .menu li {
  line-height: 3;
  padding-left: 5%;
}
#container #menu01 li {
  border-bottom: dashed 1px #8a2fd2;
}
#container #menu02 li {
  border-bottom: dashed 1px #309092;
}
#container #menu03 li {
  border-bottom: dashed 1px #bf2e36;
}
#container .nav-btn {
  position: relative;
}
#container .nav-btn::after {
  content: '';
  width: 8px;
  height: 8px;
  border: 0px;
  border-bottom: solid 2px #b9b9b9;
  border-right: solid 2px #b9b9b9;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 32%;
  right: 5%;
}
#container #menu01 .nav-btn::after {
  content: '';
  border-bottom: solid 2px #8a2fd2;
  border-right: solid 2px #8a2fd2;
}
#container #menu02 .nav-btn::after {
  content: '';
  border-bottom: solid 2px #309092;
  border-right: solid 2px #309092;
}
#container #menu03 .nav-btn::after {
  content: '';
  border-bottom: solid 2px #bf2e36;
  border-right: solid 2px #bf2e36;
}
#container .fff-box, #container .jump {
  display: block;
  margin-top: -70px;
  padding-top: 70px;
}
/*-- media-area --*/
#container .media-area {
  background-color: #f5f5f5;
  margin-bottom: 10%;
  padding: 10% 5%;
}
#container .media-area h2 {
  color: #2d334a;
  font-family: 'Yu Mincho Light','YuMincho','Yu Mincho','游明朝体','ヒラギノ明朝 ProN','Hiragino Mincho ProN',sans-serif;
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}
#container .neumo {
  background: #f5f5f5;
  border-radius: 50px;
  box-shadow: 10px 10px 30px #d5d5d5, -20px -20px 30px #ffffff;
  padding: 10% 5%;
  text-align: center;
}
#container .media-area .btn-area a {
  margin: 2% auto;
  width: 100%;
}
/*-- line up --*/
#container .title {
  margin: 0 0 5%;
  padding: 0 5%;
}
#container .title h2 {
  color: #000;
  font-size: 1.4rem;
  margin: 0 0 2%;
}
#container p.des {
  color: #000;
  font: 0.9rem/1.5 "メイリオ", "Meiryo", 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
  margin: 0;
  padding: 0;
  text-align: justify;
}
#container sup.come, #container span.come {
  font-size: 0.7rem;
}
#container .title dd {
  padding: 0 3%;
}
#container .natural-area .title dd {
  border-left: solid 5px #f3e5fe;
}
#container .mineral-area .title dd {
  border-left: solid 5px #c5f4f5;
}
#container .oilfree-area .title dd {
  border-left: solid 5px #ffd6d8;
}
#container .item-area {
  margin: 0 0 10%;
  padding: 2% 0;
}
#container .fff-box {
  background-color: #fff;
  border-radius: 40px;
  margin: 5% 2%;
  padding: 10% 5% 5%;
}
#container .fff-box dt {
  margin-bottom: 5%;
}
#container .item-area h3 {
  color: #000;
  font: 1.2rem/1.3 "メイリオ", "Meiryo", 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
  margin: 0;
  padding: 0;
}
#container .fff-box li {
  color: #000;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  font: 1rem/1.3 "メイリオ", "Meiryo", 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
  margin-bottom: 2%;
}
#container .fff-box li p {
  display: inline;
  padding-right: 5%;
}
#container .fff-box li p.kinds span {
  font-size: 1.4rem;
}
#container .fff-box li p.capa {
  font-size: 1.2rem;
}
#container .fff-box li p.price {
  margin: 0;
}
#container .item-area h4 {
  font-size: 1.4rem;
  margin-bottom: 5%;
}
#container .natural-area .item-area h4,
#container .natural-area dd.box-area p.type {
  color: #8a2fd2;
}
#container .mineral-area .item-area h4,
#container .mineral-area dd.box-area p.type {
  color: #309092;
}
#container .oilfree-area .item-area h4,
#container .oilfree-area dd.box-area p.type {
  color: #bf2e36;
}
#container dd.box-area {
  margin: 5% 0;
  text-align: center;
}
#container dd.box-area dl {
  border-radius: 20px;
  margin: 10% 0;
  padding: 0 5% 5%;
}
#container .natural-area dd.box-area dl {
  border: solid 1px #f3e5fe;
}
#container .mineral-area dd.box-area dl {
  border: solid 1px #c5f4f5;
}
#container .oilfree-area dd.box-area dl {
  border: solid 1px #ffd6d8;
}
#container dd.box-area dt {
  background-color: #fff;
  font-size: 1.0rem;
  margin: -10px auto 15px;
  width: 50%;
}
#container dd.box-area p.type {
  font-size: 1.2rem;
  margin-bottom: 3%;
}
#container dd.box-area p.des {
  text-align: center;
}
/*btn design*/
#container p.buy-btn {
  border: solid 1px #989898;
  color: #000;
  display: block;
  font: normal 1rem/2.6 "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Osaka", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  position: relative;
  margin: 5px auto;
  text-align: center;
  width: 100%;
  text-decoration: none;
}
#container p.buy-btn:hover {
  background: #989898;
  color: #fff;
  text-decoration: none;
  transition: all .1s;
}
#container p.buy-btn a {
  transition: none;
}
#container p.buy-btn a:hover {
  text-decoration: none;
  opacity: 1;
}
/*->*/
#container .material-icons {
  color: #989898;
  font-size: 1.2rem;
  vertical-align: middle;
}
#container p.buy-btn:hover .material-icons {
  color: #fff;
}
/*-- table-area --*/
#container .table-area {
  background: url(https://7beauty.jp/contents/shop/sevenbeauty/img/freepage/massage-oil-lineup/table-back.jpg) top -20px right -10px no-repeat;
  background-size: 60%;
  background-color: #fff;
  margin: 0;
  padding: 30% 5% 0;
  position: relative;
}
#container .table-title {
  margin-bottom: 5%;
}
#container .table-title h2 {
  font-size: 1.6rem;
  margin-bottom: 5%;
}
/*--------▼table--------*/
#container .table-box {
  background: #fff;
  overflow: auto;
  margin-bottom: 10%;
  width: 100%;
  height: 130vw;
  position: relative;
}
#container table {
  border-collapse: collapse;
  border-spacing: 0;
  table-layout: fixed;
  width: 100%;
}
#container th,#container td {
  background: #fff;
  border: solid 1px #ddd;
  color: #000;
  font-size: 1.0rem;
  vertical-align: middle;
  padding: 1% 0;
  text-align: center;
  overflow-wrap: break-word;
  word-wrap: break-word;
  white-space: normal;
}
#container td.des {
  color: #000;
  font: 1.0rem / 1.3 "メイリオ", "Meiryo", 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
  margin: 0;
  padding: 20px;
  text-align: justify;
}
#container th {
  background: #f8f7fb;
  position: sticky;
  top: 0;
  left: 0;
  width: 30vw;
  z-index: 2;
}
#container th:nth-last-child(-n+2) {
  width: 60vw;
}
#container th:first-of-type {
  text-align: left;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
  width: 90px;
  z-index: 3;
}
#container th.cross {
  text-align: center;
  z-index: 4;
}
#container thead th {
  font-weight: 400;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 1;
}
#container th:before {
  content: "";
  border: solid 1px #ddd;
  position: absolute;
  top: -1px;
  left: -1px;
  height: 100%;
  width: 100%;
  z-index: -1;
}
#container tbody th {
  padding: 5px;
  vertical-align: top;
}
/*--------▲table--------*/
#container .table-box h3 {
  font-size: 0.7rem;
  margin: 10% 0;
}
#container .table-box p.price {
  display: inline-block;
  margin: 0;
}
#container .table-box p.price em {
  font-size: 1.2rem;
  margin-left: 5px;
}
/*--▼arrow--*/
#container td.texture.tex-top {
  vertical-align: bottom;
}
#container .arrow-top {
  border: solid 16px transparent;
  border-bottom: solid 18px #79d5ec;
  display: block;
  margin: 0 auto;
  width: 0;
  height: 0;
}
#container td.texture {
  border: none;
  padding: 0 !important;
}
#container .line {
  background: #79d5ec;
  background-image: linear-gradient(0deg, #059fc5, #79d5ec);
  display: block;
  margin: 0 auto;
  width: 15px;
  height: 140vh;
}
#container .linetop {
  background: #79d5ec;
  height: 115px;
  vertical-align: top;
}
#container .linelast {
  background: #059fc5;
  height: 450px;
  vertical-align: bottom;
}
#container td.texture.tex-last {
  vertical-align: top;
  border-bottom: solid 1px #ddd;
}
#container .arrow-last {
  border: solid 16px transparent;
  border-top: solid 18px #059fc5;
  display: block;
  margin: 0 auto;
  width: 0;
  height: 0;
}
/*--▲arrow--*/
/*--▼glo-navi-foot--*/
#container .glo-navi-foot {
  background-color: #353535;
  bottom: 0;
  color: #fff;
  margin: 0;
  padding: 0;
  font: 1.1rem/1.2 'Helvetica Neue','Helvetica','Arial',sans-serif;
  -ms-filter: "alpha(opacity=60)";
  -moz-opacity: 0.6;
  -khtml-opacity: 0.6;
  opacity: 0.6;
  position: fixed;
  z-index: 1000;
  width: 100%;
}
#container .glo-navi-foot ul {
  width: 100%;
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
}
#container .glo-navi-foot li {
  border-right: solid 1px #fff;
  margin: 3px auto;
  padding: 0 0;
  text-align: center;
  width: calc(100% / 2);
}
#container .glo-navi-foot li:last-child {
  border-right: none;
}
#container .glo-navi-foot li a {
  color: #fff;
  font-size: 0.9rem;
  line-height: 2;
  display: block;
  margin: 0 0;
  padding: 0 0;
}
@media screen and (min-width:350px) and (max-width:480px) {/*sp*/
}
@media screen and (min-width:480px) {/*tablet*/
/*-- mainvisual --*/
#container .mainvisual {
  background: url(https://7beauty.jp/contents/shop/sevenbeauty/img/freepage/massage-oil-lineup/mainvisual.jpg) top -80px right -20px no-repeat;
  background-size: 440px;
  padding: 8% 5% 0;
}
#container .toptext p.text1 {
  font-size: 2.6vw;
}
#container .toptext p.text2 {
  font-size: 3.4vw;
}
#container h1 {
  font-size: 6vw;
  margin: 0 auto 15%;
}
#container .black-box {
  font-size: 1.2rem;
  margin: 0 10px;
  padding: 0 2%;
  vertical-align: super;
}
#container p.price em {
  font-size: 2.4rem;
}
#container p.price em::after {
  content: "円(税込)～";
  font-size: 1.0rem;
}
/*nav-area*/
#container .nav-area h2 {
  font-size: 1.4rem;
  margin-bottom: 3%;
}
#container .nav-area h2 em.red {
  font-size: 2.0rem;
}
#container .nav-area h2 em.red .big {
  font-size: 3.0rem;
}
/*menu*/
#container .menu-area {
  margin: 0 auto;
  width: 80%;
}
#container .neumo {
  border-radius: 80px;
  padding: 5% 10%;
}
#container .br-sp {
  display: none;
}
#container .media-area h2 {
  font-size: 1.6rem;
  margin-bottom: 5%;
}
#container .menu-title {
  font-size: 1.2rem;
}
#container .media-area .btn-area a {
  line-height: 3;
}
/*title*/
#container .title {
  margin: 0;
}
#container .title dl {
  display: flex;
}
#container .title dt {
  display: flex;
  align-content: center;
  flex-wrap: wrap;
  height: 100px;
  width: 400px;
}
#container .title dd {
  display: flex;
  align-content: center;
  flex-wrap: wrap;
  padding: 0;
  padding-left: 3%;
}
#container p.des {
  font-size: 1.0rem;
}
/*item-area*/
#container .fff-box {
  border-radius: 60px;
}
#container .fff-box ul {
  margin-bottom: 5%;
}
#container .fff-box li {
  font-size: 1.4rem;
  margin: 0;
}
#container .item-area h3 {
  font-size: 1.4rem;
}
#container .item-area h4 {
  margin-bottom: 2%;
}
#container .fff-box li p {
  padding-right: 2%;
}
#container .fff-box li p.kinds span {
  font-size: 2.0rem;
}
#container .fff-box li p.capa {
  font-size: 1.6rem;
}
#container .fff-box li p.price em {
  font-size: 2.0rem;
}
#container .fff-box > dl > dt {
  float: left;
  margin: 0 10px 5% 5px;
  width: 30%;
}
#container .fff-box > dl > dd {
  margin-right: 5px;
}
#container dd.box-area {
  display: flex;
  margin: 0 0 5%;
  width: 100%;
}
#container dd.box-area dl {
  margin: 0 5px;
  padding: 0 3% 5%;
  width: calc(100% / 2);
}
#container .btn-area {
  justify-content: center;
}
#container p.buy-btn {
  margin: 5px;
  width: 50%;
}
/*table-area*/
#container .table-area {
  background: url(https://7beauty.jp/contents/shop/sevenbeauty/img/freepage/massage-oil-lineup/table-back.jpg) top -50px right 30px no-repeat;
  background-size: 45%;
  padding: 15% 5% 0;
}
#container .table-title {
  width: 50%;
  margin-bottom: 5%;
}
#container th:first-of-type {
  width: 120px;
}
#container th {
  width: 15vw;
}
#container th:nth-last-child(-n+2) {
  width: 30vw;
}
}
@media screen and (min-width:960px) {/*pc*/
#container .width {
  margin: 0 auto;
  width: 1040px;
}
/*mainvisual*/
#container .mainvisual {
  background: url(https://7beauty.jp/contents/shop/sevenbeauty/img/freepage/massage-oil-lineup/mainvisual.jpg) top -180px right 20px no-repeat;
  background-size: 50%;
  margin: 0 auto;
  padding: 60px 0 0;
  width: 1040px;
}
#container .toptext p.text1 {
  font-size: 1.6rem;
}
#container .red-box {
  padding: 5px 2%;
}
#container .toptext p.text2 {
  font-size: 2.2rem;
}
#container h1 {
  font-size:3.8rem;
  margin: 0 auto 7%;
}
#container .wrapper p.topitem {
  width: 80%;
}
/*nav-area*/
#container .nav-area {
  margin-bottom: 50px;
}
#container .menu-area {
  display: flex;
  padding: 0;
  width: 100%;
}
#container .menu-box {
  padding: 0 1%;
  width: calc(100%/3);
}
#container .menu-title {
  pointer-events: none;
}
#container .menu-title::before, #container .menu-title::after {
  display: none;
}
#container .menu {
  display: block;
  font-size: 1.0rem;
}
#container .menu li {
  line-height: 3.6;
  padding-left: 5px;
}
#container .menu h4 span {
  font-size: 0.8rem;
}
#container .nav-btn::after {
  content: '';
  top: 35%;
}
#container #menu01 li:hover {
  background: #faf4ff;
}
#container #menu02 li:hover {
  background: #e5feff;
}
#container #menu03 li:hover {
  background: #ffeff0;
}
/*media-area*/
#container .media-area {
  margin-bottom: 100px;
  padding: 100px 0;
}
#container .media-area .btn-area a {
  width: 60%;
}
/*section*/
#container .title {
  padding: 0 50px;
}
#container .title h2 {
  font-size: 1.8rem;
  margin: 0;
}
#container .title dt {
  height: 130px;
  width: 580px;
}
#container .title dd {
  width: 100%;
}
/*item-area*/
#container .item-area {
  margin: 0 0 5%;
}
#container .fff-box {
  padding: 5%;
}
#container .fff-box > dl > dt {
  margin: 0;
  margin-right: 4%;
}
#container .fff-box > dl > dd {
  margin: 0;
  margin-bottom: 4%;
}
#container .fff-box dd.box-area {
  width: 590px;
}
#container dd.box-area dl {
  padding: 0 2% 2%;
}
#container dd.box-area dt {
  margin: -10px auto 10px;
}
/*table-area*/
#container .table-area {
  background-size: 40%;
  margin: 0 auto;
  padding: 100px 0 0;
  width: 1040px;
}
#container .table-box {
  height: auto;
}
#container th {
  width: 140px;
}
#container th:nth-last-child(-n+2) {
  width: 240px;
}
/*glo-navi-foot*/
#container .glo-navi-foot ul {
  margin: 0 auto;
  width: 980px;
}
}