@charset "utf-8";
/*-------------------
    common
-------------------*/
#container{
    overflow: hidden;
}
#container .wrapper {
    color: #292425;
    font: 3.8vw/6vw "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
    font-feature-settings: "palt";
    letter-spacing: .1em;
    padding-bottom: 20px;
    text-align: justify;
}
#container .wrapper * {
    box-sizing: border-box;
}
#container .wrapper p{
    margin: 0;
}
#container .wrapper img{
	display: block;
	margin: 0 auto;
	width: 100%;
}
#container .wrapper a:hover{
    opacity: 1;
}
#container .pc-only{
	display: none;
}
@media screen and (min-width:768px){
#container .sp-only{
	display: none;
}
#container .pc-only{
	display: block;
}
}

/* スクロール制御 */
html{
	scroll-padding-top: var(--gloNavi-h);
}
#container section[id]{
	scroll-margin-top: var(--gloNavi-h);
}
#container #gloNavi_spacer{
	height: 0;
	display: block;
}

/*-------------------
    mainvisual
-------------------*/
#container .mainvisual{
    background: url(https://7beauty.jp/contents/shop/sevenbeauty/img/freepage/plusone/fv_sp.jpg) no-repeat;
    background-size: 100%;
    padding-bottom: 95vw;
}
@media screen and (min-width:768px){
#container .mainvisual{
    background: url(https://7beauty.jp/contents/shop/sevenbeauty/img/freepage/plusone/fv_pc.jpg) no-repeat center center;
    background-size: 60%;
    margin-bottom: 2%;
    padding: 3vw 0 35vw;
}
}

/*-------------------
    sec_common
-------------------*/
#container .lead-box {
    border-radius: 22px;
    position: relative;
    padding: 15vw 5vw;
}

#container .lead-image img,
#container .scene-image img{
    margin: 0 auto;
	width: 100%;
}

#container  .sec1,
#container  .sec3{
    background-image: url("https://7beauty.jp/contents/shop/sevenbeauty/img/freepage/plusone/back.jpg");
    background-repeat: repeat;
    background-position: center top;
    background-size: 720px auto;
}

#container h3 {
    font-size: 5vw;
    line-height: 1.5;
    letter-spacing: normal;
	margin-bottom: 4vw;
	position: relative;
    text-align: center;
}

#container h3::before,
#container h3::after {
    background-image: radial-gradient(circle, #b50d34 1.6px, transparent 1.6px);
    background-size: 12px 5px;
    background-repeat: repeat-x;
    content: "";
	height: 2vw;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 12vw;
}

#container h3::before {
    right: 100%;
}

#container h3::after {
    left: 100%;
}

@media screen and (min-width:768px){
#container  .sec1,
#container  .sec3{
    background-size: 68% auto;
}

#container .lead-image img,
#container .scene-image img {
    height: 40%;
    margin: 0;
    width: 40%;
}

#container h3 {
    font-size: 2vw;
    margin-bottom: 0;
}

#container h3::before,
#container h3::after {
    background-image: radial-gradient(circle, #b50d34 0.15vw, transparent 0.15vw);
    background-size: 1vw 2vw;
    width: 5vw;
}

}

/*-------------------
    sec1
-------------------*/
#container .lead-box h2 {
    background: #be2049;
    border-radius: 12px;
    color: #fff;
    font-size: 5.5vw;
    font-weight: 700;
    margin: 0 auto;
	left: 50%;
    padding: 3vw 4vw;
    position: absolute;
    transform: translateX(-50%);
    top: 9%;
    white-space: nowrap;
	z-index: 10;
}

#container .lead-image {
    background: #ffffff;
    border-radius: 30px;
    box-shadow: 0 4px 12px rgba(110, 76, 42, 0.16);
	display: flex;
	flex-direction: column;
    gap: 20px;
	position: relative;
    padding: 17vw 8vw 12vw;
}

#container .lead-image::before {
	border-left: 30px solid transparent;
    border-right: 30px solid transparent;
    border-top: 30px solid #ffffff;
    content: "";
	height: 0;
    left: 50%;
	position: absolute;
    top: 100%;
    transform: translateX(-50%);
    width: 0;
}

#container .check-list li {
	font-size: 3.6vw;
    letter-spacing: normal;
	margin-bottom: 3vw;
    position: relative;
    padding-left: 5vw;
}

#container .check-list li::before {
	background: url("https://7beauty.jp/contents/shop/sevenbeauty/img/freepage/plusone/check.png") no-repeat center center;
    background-size: contain;
    content: "";
	height: 15px;
    left: 0;
	position: absolute;
    top: 2px;
    width: 15px;
}

#container .lead-box.scene {
    padding: 0 5vw 25vw;
}

#container .scene-title{
    font-size: 5vw;
    font-weight: bold;
    line-height: 1.9;
    letter-spacing: normal;
	padding-bottom: 5vw;
	text-align: center;
}

#container .scene-title span{
	background: url(https://7beauty.jp/contents/shop/sevenbeauty/img/freepage/plusone/tasudake.png) no-repeat center center / contain;
    display: inline-block;
    height: 8vw;
	width: 30vw;
}

#container .scene-image {
    background: #ffffff;
    border-radius: 20px;
    padding: 12vw 8vw 9vw;
    box-shadow: 0 4px 12px rgba(110, 76, 42, 0.16);
}

#container .scene-list{
	padding: 5vw 3vw 0;
}

#container .scene-list li {
    font-size: 5vw;
    line-height: 2.3;
    position: relative;
    padding-left: 7.5vw;
}

#container .scene-list li span {
    color: #da9e06;
    font-weight: 700;
    font-size: 6vw;
    left: 0;
    position: absolute;
    top: -1vw;
}

@media screen and (min-width:768px){
#container .lead-box {
    padding: 9vw 15vw 5vw;
}

#container .lead-box h2 {
    border-radius: 20px;
    font-size: 2.5vw;
    top: 14%;
    padding: 0vw 2.5vw;
}

#container .lead-image {
    align-items: center;
    flex-direction: row-reverse;
    gap: 3vw;
    justify-content: center;
    padding: 5vw 4vw ;
}

#container .check-list li {
    font-size: 1.3vw;
    line-height: 3;
    margin-bottom: 0;
    padding-left: 2vw;
}

#container .check-list li::before {
    height: 1.3vw;
    top: 30%;
    width: 1.3vw;
}

#container .lead-image::before {
    border-left: 3vw solid transparent;
    border-right: 3vw solid transparent;
    border-top: 3vw solid #ffffff;
}

#container .scene-title {
    font-size: 1.8vw;
    padding-bottom: 1vw;
}

#container .scene-title span {
    height: 3vw;
    width: 13vw;
}

#container .lead-box.scene {
    padding: 0 21vw 9vw;
}

#container .scene-image {
    align-items: center;
    display: flex;
    flex-direction: row-reverse;
    gap: 3vw;
    justify-content: center;
    padding: 4vw;
}

#container .scene-list {
    padding: 0;
}

#container .scene-list li {
    font-size: 1.5vw;
    letter-spacing: normal;
    line-height: 2.2;
    padding-left: 2.3vw;
}

#container .scene-list li span {
    font-size: 1.8vw;
    top: -0.4vw;
}
}

/*-------------------
    sec2
-------------------*/
#container .sec2 {
    background: #fae2a7;
    position: relative;
    padding: 4vw 5vw 14vw;
}

#container .sec2::before,
#container .sec2::after {
    background: #e0a100;
    content: "";
    height: 2px;
    left: 0;
    position: absolute;
    width: 100%;
    z-index: 5;
}

#container .sec2::before {
    top: 0;
}

#container .sec2::after {
    bottom: 0;
}

/* 全体 */
#container .tab-area {
    box-sizing: border-box;
    left: 0;
    position: absolute;
    width: 100%;
    z-index: 6;
}

#container .tab-area.top {
    top: -11vw;
}

#container .tab-area.foot {
    bottom: -3vw;
}

/* 横スクロール本体 */
#container .tab-scroll {
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
}

#container .tab-scroll::-webkit-scrollbar {
    display: none;
}

#container .tab-scroll-inner {
    display: inline-flex;
    flex-wrap: nowrap;
    gap: 10px;
    min-width: max-content;
    padding: 0 5vw;
}

/* タブ */
#container .tab-btn {
    align-items: center;
    border: 2px solid #e0a100;
    border-bottom: none;
    border-radius: 15px 15px 0 0;
    background: #fff;
    box-sizing: border-box;
    color: #d69c00;
    cursor: pointer;
    display: flex;
    flex: 0 0 auto;
    font: 4vw/6vw "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
    font-weight: bold;
    height: 11vw;
    justify-content: center;
    letter-spacing: normal;
    min-width: 35vw;
    position: relative;
    padding: 0 2vw;
    padding-top: 0.6vw;
    -webkit-appearance: none;
    width: 35vw;
}

#container .tab-btn.active {
    background: #d69c00;
    color: #ffffff;
}

#container .tab-btn.active::after {
    content: "";
    left: -2px;
    right: -2px;
    bottom: -3px;
    height: 6px;
    background: #fae2a7;
}

/* バー */
#container .tab-bar-track {
    background: none;
    border-radius: 999px;
    height: 2vw;
    margin-top: 6px;
    overflow: hidden;
    position: relative;
    padding: 2px 5vw;
    width: 95%;
}

#container .tab-bar-thumb {
    position: absolute;
    top: 3px;
    width: 35vw;
    height: 3px;
    background: #d9c58c;
    border-radius: 999px;
}

/* パネル切り替え */
#container .sec2 .tab-panel {
    display: none;
    text-align: center;
}

#container .sec2 .tab-panel.active {
    display: block;
    padding-top: 6vw;
}

/* 見出し */
#container .category-title {
    color: #b50d34;
    font-size: 7vw;
    font-weight: 700;
    letter-spacing: normal;
    margin: 3vw 2vw 6vw;
    text-align: left;
}

#container .category-title::before {
    background: linear-gradient(#f3bf3c, #f3bf3c) center / 100% 4px no-repeat, linear-gradient(#f3bf3c, #f3bf3c) center / 4px 100% no-repeat;
	content: "";
    display: inline-block;
	height: 20px;
	margin-right: 2vw;
	width: 20px;
}

#container .tab-panel h3 {
    background: #fae2a7;
    display: inline-block;
	font-weight: 700;
    position: relative;
    padding: 0 2vw;
    z-index: 2;
}

/* 商品リスト */
#container .flex {
    display: flex;
    flex-wrap: wrap;
    gap: 7vw 2vw;
    margin-bottom: 15vw;
}

#container .flex li {
    display: flex;
    flex-direction: column;
    padding: 2vw 2vw 0;
    width: calc((100% - 10px) / 2);
}

#container .itemPht img {
    margin-bottom: 2vw;
}

#container .brand {
    font-size: 3.5vw;
    letter-spacing: normal;
}

#container .itemname {
    font-size: 3.5vw;
	font-weight: 700;
    line-height: 1.5;
    letter-spacing: normal;
}

#container .brand,
#container .itemname {
    text-align: left;
}

/* #container .tab-panel .item_btn {
    margin: auto 0 0;
}

#container .item_btn a {
    background-color: #f3bf3c;
    border-radius: 10px;
    color: #fff;
    display: block;
    font-size: 4vw;
    font-weight: 600;
    letter-spacing: -0.02px;
    position: relative;
    padding: 3vw 1vw 3vw 0;
    text-align: center;
    width: 100%;
}

#container .item_btn a::before {
    border-top: 2px solid #FFF;
    border-right: 2px solid #FFF;
    bottom: 0;
    content: "";
    height: 1.5vw;
    margin: auto;
    position: absolute;
    right: 3.5vw;
    transform: rotate(45deg);
    top: 0;
    -webkit-transform: rotate(45deg);
    width: 1.5vw;
} */

.tab-panel {
    display: none;
}
.tab-panel.active {
    display: block;
}

@media screen and (min-width:768px){
#container .sec2 {
    padding: 0 20vw 8vw;
}

#container .sec2::before, #container .sec2::after {
    height: 4px;
}

#container .sec2 .tab-panel.active {
    padding-top: 2vw;
}

#container .tab-panel h3 {
    padding: 0 1vw;
}


#container .tab-scroll-inner {
    display: flex;
    gap: 3vw;
    justify-content: center;
    min-width: auto;
    padding: 0;
}

#container .tab-btn {
    font: 1.2vw / 6vw "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
    font-weight: 700;
    height: 4vw;
    width: 12vw;
    min-width: 10vw;
    padding: 0.2vw 0 0;
}

#container .tab-area.top {
    top: -4vw;
}

#container .tab-area.foot {
    bottom: -2.1vw;
}

#container .tab-bar-thumb {
    display: none;
}

#container .category-title {
    font-size: 2.5vw;
    margin: 2vw 2vw 0;
}

#container .category-title::before {
    background: linear-gradient(#f3bf3c, #f3bf3c) center / 100% 8px no-repeat, linear-gradient(#f3bf3c, #f3bf3c) center / 8px 100% no-repeat;
    content: "";
    height: 2vw;
    margin-right: 1vw;
    width: 2vw;
}

#container .flex {
    gap: 0;
    margin-bottom: 2vw;
}

#container .flex li {
    padding: 1vw 2vw 0;
    width: calc((100% - 10px) / 3);
}

#container .itemPht img {
    margin-bottom: 1vw;
}

#container .brand {
    font-size: 1vw;
    line-height: 1.6;
}

#container .itemname {
    font-size: 1vw;
}

}

/*-------------------
    sec3
-------------------*/
#container .sec3{
    padding: 12vw 0;
    text-align: center;
}

#container .btnnav-title{
    display: inline-block;
    font-size: 5vw;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: normal;
    padding-bottom: 5vw;
    position: relative;
    text-align: center;
}

#container .btnnav-title span{
	background: url(https://7beauty.jp/contents/shop/sevenbeauty/img/freepage/plusone/tamesiyasui.png) no-repeat center center / contain;
    display: inline-block;
    height: 7vw;
    width: 45vw;
}

#container .btnnav-title::before,
#container .btnnav-title::after{
    background: #292425;
    content: "";
    height: 1px;
    position: absolute;
    top: 45%;
    width: 15vw;
}

#container .btnnav-title::before{
    left: -12vw;
    transform: rotate(60deg);
}

#container .btnnav-title::after{
    right: -12vw;
    transform: rotate(-60deg);
}

#container .btnnav-subtitle{
    display: inline-block;
    font-weight: 700;
    font-size: 5.5vw;
    line-height: 1.6;
    position: relative;
    padding: 0 3vw;
}

#container .btnimg-nav img{
    margin-bottom: 4vw;
    width: 80%;
}

@media screen and (min-width:768px){
    #container .sec3 {
    padding: 4vw 20vw;
}

#container .btnnav-title {
    font-size: 2vw;
    padding-bottom: 0;
}

#container .btnnav-title span {
    height: 3vw;
    width: 20vw;
}

#container .btnnav-title::before,
#container .btnnav-title::after {
    height: 2px;
    top: 50%;
    width: 3vw;
}

#container .btnnav-title::before {
    left: -3vw;
}

#container .btnnav-title::after {
    right: -3vw;
    transform: rotate(-60deg);
}

#container .btnnav-subtitle {
    font-size: 2.5vw;
    padding: 0 1vw;
}

#container .btnimg-nav{
    display: grid;
    gap: 2vw;
    grid-template-columns: repeat(2, 1fr);
    justify-content: center;
    max-width: 900px;
    margin: 0.5vw auto;
}

#container .btnimg-nav a{
    display: flex;
    justify-content: center;
}

#container .btnimg-nav img {
    height: auto;
    margin: auto;
    width: 100%;
}

#container .btnimg-nav a:last-child{
    justify-content: flex-start;
}

}