@charset "UTF-8";

:root{
    --primary-navy: #00253B;     /* フォントカラー */
    --primary-khaki: #2B3700;     /* フォントカラー */
    --primary-pink: #FF0069;    /* フォントカラー */
    --primary-beige: #AEA392;    /* フォントカラー */
    --primary-white: #fff;    /* フォントカラー */
    --primary-brown:#766C5E;  /* フォントカラー */
    --primary-rightbeige: #E7DBCA;     /* バックグランドカラー */
    --primary-rightgreen:#BAC0A2;
    --primary-whitebeige: #FCF7F1;     /* バックグランドカラー */
    --secondary-color: #FFFFFF;   /* 背景色 */
    --btn-color: linear-gradient(90deg, #DFCACA 0.08%, #E7B8B8 99.93%);   /* ボタン*/
    --font-sans: "Noto Sans JP", sans-serif;
    --font-serif: "Noto Serif JP", serif;
    --font-hand: "Babylonica", cursive;
}

.body{
    font-family: var(--font-serif);
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1;
    color: var(--primary-navy);
    background-color: var(--secondary-color);
}

/* ===== ヘッダー ===== */
.header{
    padding-bottom: 30px;
}

.page-title{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding-bottom: 20px;
    color: var(--primary-brown);
    text-align: center;
    font-size: 3.6rem;
    line-height: 1;
}

.page-title-txt{
    color: var(--primary-khaki);
    text-align: center;
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 300;
    line-height: 1; 
}

.page-title-txt02{
    color: var(--primary-khaki);
    text-align: center;
    font-weight: 300;
    line-height: 1.4; 
}

/* pc */
@media screen and (min-width: 769px){
.page-title-txt02{
    font-size: 1.8rem;
    }
}


/* Category */
.main__inner{
    display: flex;
    padding: 80px 0 50px 0;
    flex-direction: column;
    align-items: center;
    gap: 40px;
}

.menu-topic{
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 17px;
}

.menu-titletxt{
    color: var(--primary-khaki);
    text-align: center;
    text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
    font-weight: 300;
}

.menu-category{
    display: flex;
    justify-content: center;  /* 中央揃え */
    align-items: stretch;     /* 高さを揃える */
    gap: 18px;
    width: 100%;
    max-width: 300px;         /* 必要に応じて調整 */
    margin: 0 auto;
}

.menu-category-box{
    display: flex;
    flex-direction: column;
    align-items: center;  /* 中央寄せ */
    gap: 2px;
    line-height: 1.2;
}

.menu-category-egF,
.menu-category-egB {
    flex: 1;                      /* 均等幅にする */
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 5px;
    padding: 3px 15px;
    position: relative;
    color: #fff;
    text-align: center;
    font-size: 1.8rem;
    white-space: nowrap;          /* ← これで折り返し防止 */
}

.menu-category-egF {
    background: linear-gradient(180deg, #FCDADA 0%, #FFBDBD 100%);
}

.menu-category-egB {
    background: linear-gradient(180deg, #BAC0A2 0%, #A3A696 100%);
}

.menu-category-egF::after,
.menu-category-egB::after {
    content: '';
    width: 6px;
    height: 12px;
    background: url(../img/btn.svg) center/contain no-repeat;
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
}


.menu-category-ja{
    font-size: 1rem;
    font-weight: 300;
    color: #fff;
}


/* Category pc */
@media screen and (min-width: 769px){
.menu-titletxt{
    font-size: 2rem;
}

.main__inner{
    padding: 50px 0 70px;
}

}


/* ===== フェイシャル ===== */

.menu-title{
    display: flex;
    height: 79px;
    padding-left: 18px;
    font-size: 3.2rem;
    line-height: 1;
    justify-content: space-between;
    align-items: center;
    align-self: stretch;
    background: linear-gradient(90deg, #F6F4F0 0%, #E7DBCA 100%);
}

.menu-title-m{
    display: none;
}

.menu-block{
    display: flex;
    align-items: flex-end;
}

/* Fだけピンク */
.menu-pink {
  color: var(--primary-pink);
}

/* 日本語タイトル */
.menu-Jtitle {
  font-size: 1.6rem;
  color: var(--primary-khaki);
  margin-left: 12px;
    font-weight: 300;
}

.facial-lineup,
.body-lineup{
    display: flex;
    padding: 29px 20px;
    flex-direction: column;
    align-items: center;
    gap: 50px;
    align-self: stretch;
    background: #FCF7F1;
}

.facial-item,
.body-item{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    width: 373px;
    background: #fff;
    padding: 20px;
}

.effect{
    display: flex;
    padding: 5px 10px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border: 0.5px solid var(--primary-khaki);
    background: #FFF;
    color: var(--primary-khaki);
    text-align: center;
    font-family: var(--font-sans);
    font-size: 1.2rem;
}

.most-effect{
    color: var(--primary-khaki);
    font-family: var(--font-sans);
    font-size: 2.4rem;
    font-weight: 700;
}

.menu-type{
    display: flex;
    align-items: center;
    gap: 18px;
    align-self: stretch;
}

.type-txt{
    color: var(--primary-khaki);
    text-align: center;
    font-size: 1.2rem;
    font-weight: 600;
}

.type-line{
    width: 190px;
    height: 1px;
    background: #FFBDBD;
}

.menu-description{
    color: var(--primary-khaki);
    font-family: var(--font-sans);
    font-size: 1.2rem;
    line-height: 1.8; 
}

.menu-item-box{
    display: flex;
    padding: 20px 30px 15px 30px;
    flex-direction: column;
    align-items: center;
    gap: 15px;
    background: #FFF;
box-shadow: 4px 4px 10px 0 rgba(0, 0, 0, 0.20);
}

.menuItem-title{
    color: var(--primary-beige);
    text-align: center;
    font-family: var(--font-sans);
    font-size: 1.6rem;
    font-weight: 700;
}

.menuItem-line{
    width: 273px;
    height: 0.5px;
    flex-shrink: 0;
    background: rgba(0, 37, 59, 0.60);
}


/* Facial pc */
@media screen and (min-width: 769px){
.menu-title{
    display: none;
}

.menu-title-m{
    display: block;
}

.menu-block {
    justify-content: center; /* 横：中央 */
    font-size: 3.2rem;
}
}

/* Item1 pc */
@media screen and (min-width: 769px){
.facial-lineup,
.body-lineup{
    display: flex;
    flex-direction: row;
    align-items: stretch;
    padding: 40px 20px;
    justify-content: center;
    gap: 4.9svw;
    margin-top: 15px;
    background: var(--primary-whitebeige);
}

.facial-item,
.body-item{
    width: 373px;
    background: #fff;
    display: flex;
    padding: 20px;
    align-items: flex-start;
}

.facial-img,
.body-img{ 
    width: 400px;
    height: 240px;
    object-fit: cover;   /* 枠に合わせてトリミングして表示 */
    object-position: center; /* 中央を基準に表示 */
    display: block;      /* 画像下の余白対策 */
}

.menu-description{
    font-size: 1.6rem;
    align-self: stretch;
}

.type-txt{
    font-size: 1.4rem;
}

.type-line{
    width: 217px;
    height: 1px;
    background: #FFBDBD;
}

.menu-item-box{
    align-self: center;
}

}

/* ===== 価格エリア ===== */
/* 通常価格 */
.menu-item-price {
    display: flex;
    width: 273px;
    align-items: center;
    gap: 30px;
}

.price-box {
    color: var(--primary-khaki);
    font-family: "Noto Sans JP";
    font-size: 1.2rem;
    line-height: 1;
    display: inline-block;
    padding: 5px 10px;
    border: 0.5px solid var(--primary-khaki);
    white-space: nowrap;
    }

.price-old {
    color: var(--primary-khaki);
    text-align: center;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1;
    gap: 4px; 
/* gapが効かない　display block以外にしているが。。 */
}

.price-olden{
    color: var(--primary-khaki);
    text-align: center;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1;
}

.priceItem-old{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

/* 初回限定価格 */
.price-box-first {
    color: var(--primary-khaki);
    font-family: "Noto Sans JP";
    font-size: 1.6rem;
    line-height: 1;
    display: inline-block;
    padding: 5px 10px;
    background: #FFBDBD;
    white-space: nowrap;
    }

.price-new {
    color: var(--primary-khaki);
    text-align: center;
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1;
    gap: 4px; 
/* gapが効かない　display block以外にしているが。。 */
}

.pric-newen{
    color: var(--primary-khaki);
    text-align: center;
    font-size: 1.6rem;
    line-height: 1;
}

.priceItem-new{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

/* list2 */
.facial-list2{
    display: flex;
    padding: 50px 20px 60px;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}

.facial-item2{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
    align-self: stretch;
}

.price{
    color: var(--primary-beige);
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.4;
}

.menu-txt{
    color: var(--primary-khaki);
    font-family: var(--font-sans);
    font-size: 1.2rem;
    font-weight: 300;
    line-height: 1.4;
}

.menuItem-title2{
    color: var(--primary-beige);
    font-family: var(--font-sans);
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.4;
}

.menu-line{
    width: 266.188px;
    height: 0.5px;
    background: var(--primary-rightgreen);
}

/* list2 pc */
@media screen and (min-width: 769px){
.facial-list2{
    display: flex;
    flex-direction: row;
    width: auto;
    padding-bottom: 60px;
    justify-content: center;
    align-items: flex-start;
    gap: 3.5svw;
}

.facial-item2{
    max-width: 400px;
    padding: 20px;
    align-items: flex-start;
    gap: 15px;
    border: 0.5px solid #AEA392;
}

.menuItem-title2{
    font-size: 1.8rem;
}

.price{
    font-size: 1.8rem;
}

.menu-txt{
    font-size: 1.6rem;
}

.menu-line{
    display: none;
}
}

