/* body */
/* font */
/* h */
/* header */
 /* logo */
 /* header_actions cta_btn */
 /* hamburger */
/* products */
/* notice */
/* choose_us */




/* ▼ ====================
    h 
=================== ▼ */
h1 {
    text-align: center; 

    font-size: 24px;
    font-weight: 500; /* 太さ */
    line-height: 1.45; /* 行間 */
    letter-spacing: 0.03em; /* 文字間 */

    color: #fff;
}

h2 {
    text-align: center; 

    font-size: 30px;
    font-weight: 500; /* 太さ */
    line-height: 1.35; /* 行間 */
    letter-spacing: 0.04em; /* 文字間 */
}

h3 {
    
}

 /* ▼ ========== .s_title ========== ▼ */
.s_title_1{
    margin: 0 auto 30px;

    font-size: 30px;
    font-weight: 500; /* 太さ */
    line-height: 1.25; /* 行間 */
    letter-spacing: 0.06em; /* 文字間 */
}

.s_title_2{
    font-size: 16px;
    font-weight: 500; /* 太さ */
    line-height: 1.65; /* 行間 */
    letter-spacing: 0.02em; /* 文字間 */
}
 /* ▲ ---------- .s_title ---------- ▲ */

 /* ▼ ========== .t_title ========== ▼ */
.t_title{
    margin: 0 auto 40px;
    padding:    20px;

    font-size: 22px;
    font-weight: 500; /* 太さ */
    line-height: 1.5; /* 行間 */
    letter-spacing: 0.03em; /* 文字間 */

    color: #fff;
    background: #5f5f5f;
}
 /* ▲ ---------- .t_title ---------- ▲ */ 

 /* ▼ ========== .t_title_2 ========== ▼ */
.t_title_2{
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 0;
    padding-bottom: 0;

    font-size: 22px;
    font-weight: 500; /* 太さ */
    line-height: 1.5; /* 行間 */
    letter-spacing: 0.03em; /* 文字間 */

    text-align: center;

    height: 150px;
    background: url("../img/scene/eve_2_illust_005.svg") no-repeat 5% center / contain;
}
 /* ▲ ---------- .t_title_2 ---------- ▲ */ 
/* ▲ ---------- h ---------- ▲ */

.pc_only_br{ 
    display: none; /* sp:非表示 */
}


/* ▼ ====================
    h1
==================== ▼ */
/* h1のフォント設定は↑ h 参照 */
.products_title {
    padding: 50px 0;

    background-color: #f38296;
    background-image: url("../img/scene/eve_2_illust_sp_001.svg");
    background-repeat: no-repeat;
    background-position: right center;
}
/* ▲ ---------- h1 ---------- ▲ */

/* ▼ ====================
    prodacts
==================== ▼ */
#products{
    position: relative;
    background: #fbeded;
    padding: 60px 15px 0px;
}

#products p {
    font-size: 16px;
    font-weight: 400; /* 太さ */
    line-height: 1.7; /* 行間 */
    letter-spacing: 0.02em; /* 文字間 */
}


#products .sp_image{
    width: 100%;
    height: auto;
    display: block;
}
/* ▲ ---------- products ---------- ▲ */


/* ▼ =====================
    notice
===================== ▼ */
#notice {
    padding: 60px 15px;
    margin: 0;
}

.notice-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* SP：縦並び・下線のみ */
.notice-item {
  padding: 12px 0;
  border-bottom: 1px solid #878787;
}

.notice-item:first-child {
  border-top: 1px solid #878787; /* 最初だけ上線 */
}

.notice-date {
    display: block;
    margin-bottom: 4px;

    font-size: 16px;
    font-weight: 400; /* 太さ */
    line-height: 1.7; /* 行間 */
    letter-spacing: 0.02em; /* 文字間 */

    color: #5f5f5f;
}

.notice-text {
    margin: 0;

    font-size: 16px;
    font-weight: 400; /* 太さ */
    line-height: 1.7; /* 行間 */
    letter-spacing: 0.02em; /* 文字間 */
}
/* ▲ ---------- notice ---------- ▲ */

/* ▼ =====================
    items
==================== ▼ */
#items {
    background: #e6e2e2;
    padding: 60px 15px;
}

.items_inner{
        margin: 0 auto;
    }

.items_block {
    display: flex;
    flex-direction: column;
    padding-bottom: 40px;
}

.items_block:last-child {
    margin-bottom: 0;
}

.items_block img {
    width: 100%;
    height: auto;
    margin-bottom: 20px;
    display: block;
}

.items_block h3 {
    margin: 0 0 16px;
    text-align: center;

    font-size: 22px;
    font-weight: 500; /* 太さ */
    line-height: 1.5; /* 行間 */
    letter-spacing: 0.03em; /* 文字間 */
}

.items_block p {
    font-size: 16px;
    font-weight: 400; /* 太さ */
    line-height: 1.7; /* 行間 */
    letter-spacing: 0.02em; /* 文字間 */
}
/* ▲ ---------- items ---------- ▲ */


/* ▼ =====================
    choose_us
==================== ▼ */
#choose_us{
    padding: 60px 15px 0px;/* 花柄の為下は0 */
}

.choose_inner{
    margin: 0 auto;
    display: flex;
    flex-direction: column; /* SP：縦並び */
}

#choose_us li{
    margin-bottom: 40px;
}

.icon_title {
    position: relative; /* ::before の配置基準 */
    display: flex; /* 縦中央揃え用 */
    align-items: center; /* アイコンと文字の高さを中央に揃える */
    min-height: 4em; /* アイコン分の高さを確保 */
    padding-left: 2.5em; /* アイコン全幅ではなく「半分」分だけ余白 */

    font-size: 20px;
    font-weight: 500; /* 太さ */
    line-height: 1.55; /* 行間 */
    letter-spacing: 0.025em; /* 文字間 */
}

.icon_title::before { /* svgを背景として表示 */
    content: "";
    position: absolute;
    left: 0; /* 見出しの左端に固定 */
    top: 50%; /* 見出しの高さ中央 */
    transform: translateY(-50%); /* 縦方向の完全中央揃え */
    width: 4em; /* アイコンサイズ */
    height: 4em;
    background: url(../img/top/eve_top_icon_006.svg)
                no-repeat center / contain;
    z-index: 1; /* 文字より背面に配置 */
}

.title_text {
    position: relative; /* z-index を効かせるため */
    z-index: 2; /* アイコンの上に表示 */
    margin-left: -0.5em; /* ← 重なる余白 */
}

.choose_block p{
    font-size: 16px;
    font-weight: 400; /* 太さ */
    line-height: 1.7; /* 行間 */
    letter-spacing: 0.02em; /* 文字間 */
}

.choose_img {
    width: 100%;
    margin-top: 20px;
}

#choose_us .sp_only { display: block; }
#choose_us .pc_only { display: none; }

/* ▲ ---------- choose_us ---------- ▲ */

/* ▼ =====================
    service_price
==================== ▼ */
#service_price{
    padding: 60px 15px;
    background: #e6e2e2;
}

.s_p_block{
    padding-bottom: 60px;
}

/* ===== h3 ===== */
.s_p_q_title {
    width: 100%;
    margin-bottom: 20px;
    padding: 10px 20px;

    font-size: 20px;
    font-weight: 500; /* 太さ */
    line-height: 1.55; /* 行間 */
    letter-spacing: 0.025em; /* 文字間 */

    text-align: center;
    color: #fff;
    background: #e38296;
    box-sizing: border-box;
}

/* タイトル説明文 */
.s_p_cap{
    font-size: 16px;
    font-weight: 400; /* 太さ */
    line-height: 1.7; /* 行間 */
    letter-spacing: 0.02em; /* 文字間 */

    margin-bottom: 30px;
}

/* ===== アイコン説明部分 ===== */
.s_p_box {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
}

/* ===== アイコン＋文章 ===== */
.s_p_list {
    display: flex;
    gap: 15px;
    align-items: flex-start;
}

.s_p_list img {
    width: 150px;
    flex-shrink: 0;
}

/* ===== 文章 ===== */
.s_p_text {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

/* ===== アイコンタイトル ===== */
.s_p_item_title {
    font-size: 20px;
    font-weight: 500; /* 太さ */
    line-height: 1.55; /* 行間 */
    letter-spacing: 0.025em; /* 文字間 */

    color: #e38296;
}

/* ===== 説明 ===== */
.s_p_note {
    font-size: 16px;
    font-weight: 400; /* 太さ */
    line-height: 1.7; /* 行間 */
    letter-spacing: 0.02em; /* 文字間 */
}

/* ===== 脚注 ===== */
.s_p_f_note{
    font-size: 16px;
    font-weight: 400; /* 太さ */
    line-height: 1.7; /* 行間 */
    letter-spacing: 0.02em; /* 文字間 */
    
}

/* ===== 料金表テーブル ===== */
.s_p_box_2_pack {
    width: 100%;
    border-collapse: collapse;
    margin-top: 40px;
    border: 1px solid #878787; /* 外枠 */
}

.s_p_box_2_pack th,
.s_p_box_2_pack td {
    display: block;
    padding: 12px;
    border-bottom: 1px solid #878787; /* 下罫線 */

    font-size: 16px;
    font-weight: 400; /* 太さ */
    line-height: 1.7; /* 行間 */
    letter-spacing: 0.02em; /* 文字間 */
}

.s_p_box_2_pack tr:last-child td {
    border-bottom: none; /* 下線を消す */
}

.s_p_box_2_pack th {
    background: #fbeded;
    text-align: center;
    vertical-align: middle; /* 縦：中央 */

    font-size: 16px;
    font-weight: 400; /* 太さ */
    line-height: 1.7; /* 行間 */
    letter-spacing: 0.02em; /* 文字間 */
}

.s_p_box_2_pack td {
    background: #fff;
    text-align: center;
}

/* ===== 衣装内容テーブル ===== */
.s_p_box_2_content {
    width: 100%;
    border-collapse: collapse;
    margin-top: 40px;
    border: 1px solid #878787; /* 外枠 */
}

.s_p_box_2_content th,
.s_p_box_2_content td {
    display: block;
    padding: 12px;
    border-bottom: 1px solid #878787; /* 下罫線 ↑で外枠　↓で最後の下罫線削除*/

    font-size: 16px;
    font-weight: 400; /* 太さ */
    line-height: 1.7; /* 行間 */
    letter-spacing: 0.02em; /* 文字間 */
}

.s_p_box_2_content tr:last-child td {
    border-bottom: none; /* 下線を消す */
}

.s_p_box_2_content th {
    background: #fbeded;
    text-align: center;
    vertical-align: middle; /* 縦：中央 */
}

.s_p_box_2_content td {
    background: #fff;
    text-align: center;
    vertical-align: middle; /* 縦：中央 */
}

/* ===== パック比較表テーブル ===== */
.s_p_box_2_c_table table {
    width: 100%;
    border-collapse: collapse;
}

.s_p_box_2_c_table th,
.s_p_box_2_c_table td {
    border: 1px solid #878787;
    padding: 10px;
    text-align: center;
    vertical-align: middle;

    font-size: 16px;
    font-weight: 400; /* 太さ */
    line-height: 1.7; /* 行間 */
    letter-spacing: 0.02em; /* 文字間 */
}

.s_p_box_2_c_table th {
    background: #fbeded;
}

.s_p_box_2_c_table td {
    background: #fff;
}

.s_p_c_table_blank {
    background: transparent;
}

 /* ===== SP：料金 ===== */
.s_p_price_title {
    margin: 20px 0 10px;
    text-align: center;

    font-size: 18px;
    font-weight: 500; /* 太さ */
    line-height: 1.6; /* 行間 */
    letter-spacing: 0.02em; /* 文字間 */
}

.s_p_price_table {
    margin-bottom: 40px;
}

 /* ===== アイコン付き項目 ===== */
.s_p_c_table {
    table-layout: fixed;
  }

 /*===== 横幅を決定 ======*/
.s_p_c_table_col-item {
    width: 44%;
}

.s_p_c_table_col-pack {
    width: 28%;
}

    .s_p_c_table th,
    .s_p_c_table td {
        height: 80px;
    vertical-align: middle;
    }

/* アイコン＋文字 */
.s_p_c_table .item_th {
    text-align: left;
    padding: 15px;
}

.s_p_c_table .item_label {
    display: grid;
    grid-template-columns: 55px 1fr;
    align-items: center;
    column-gap: 8px;
}

/* ===== アイコン ===== */
.s_p_c_table .item_icon {
    width: 55px;
    height: 55px;
}

.s_p_c_table .item_text {
    min-width: 0;
    white-space: normal;
    word-break: break-word;
    text-align: left;

    font-size: 14px;
    font-weight: 400; /* 太さ */
    line-height: 1.75; /* 行間 */
    letter-spacing: 0.02em; /* 文字間 */
}

/* ===== 着付け○-など ===== */
.s_p_c_table .symbol_cell{
    font-size: 14px;
    font-weight: 400; /* 太さ */
    line-height: 1.2; /* 行間 */
    letter-spacing: 0; /* 文字間 */

    padding:0;
}

.s_p_c_table .symbol{
    font-size: 25px;
    font-weight: 500; /* 太さ */
}

/* SP */
.pc_head {
    display: none;
}

.price_row {
    display: none;
}

.s_p_pay p {
    font-size: 16px;
    font-weight: 400; /* 太さ */
    line-height: 1.7; /* 行間 */
    letter-spacing: 0.02em; /* 文字間 */

    margin-bottom: 20px;
}

.s_p_pay img{
    width: 100%;
}
/* ▲ ---------- service_price ---------- ▲ */

/* ▼ =====================
    bonus
==================== ▼ */
#bonus {
    padding: 30px 15px 0;
}

.bonus_inner {
    margin: 0 auto;
}

.bonus_block{
    padding-top: 30px;
}

.bonus_block p{
    font-size: 16px;
    font-weight: 400; /* 太さ */
    line-height: 1.7; /* 行間 */
    letter-spacing: 0.02em; /* 文字間 */
}

.bonus_top_note {
    padding-bottom: 40px;
}

/* リスト */
.bonus_list li {
    display: flex;
    align-items: flex-start; /* ← 上揃えに変更 */
    gap: 15px;
    margin-bottom: 40px;
}

/* 番号（SVG丸背景） */
.bonus_icon {
    width: 60px; /* アイコン横サイズ */
    height: 60px; /* アイコン縦サイズ */
    background: url("../img/top/eve_top_icon_006.svg") no-repeat center / contain;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 22px;
    font-weight: 500; /* 太さ */

    flex-shrink: 0;
}

.bonus_text_box h3 {
    margin: 0 0 10px;

    font-size: 22px;
    font-weight: 500; /* 太さ */
    line-height: 1.5; /* 行間 */
    letter-spacing: 0.03em; /* 文字間 */
}

.bonus_img {
    width: 100%;
    margin-top: 20px;
}

#bonus .sp_only { display: block; }
#bonus .pc_only { display: none; }
/* ▲ ---------- bonus ---------- ▲ */

/* ▼ =====================
    infomation
==================== ▼ */
#info{
    padding: 60px 15px;
    background: #fbeded;
}

.info_inner{
    max-width: 1100px;
    margin: 0 auto;
}

/* 左右カラム */
.info_main {
    display: flex;
    flex-direction: column; /* SPは縦並び */
    gap: 30px;
}

.info_left,
.info_right {
    flex: 1;
}

.info_shop{
    width: 100%;
    display: block;
    margin-bottom: 30px;
}

.info_title{
    font-size: 16px;

    width: 100%;
    padding: 10px 20px;
    border: none;
    background: #878787;
    color: #fff;
    margin-top: 10px;
}

.info_cap{
    font-size: 16px;
    padding: 12px 20px 6px 20px;
}

#store_map {
    margin-bottom: 60px;
}

/* h3駐車場 */
.info_title_parking {
    font-size: 22px;
    width: 100%;
    padding: 20px 20px;
    border: none;
    background: #878787;
    color: #fff;
    text-align: center;
}

.info_cap_parking{
    font-size: 16px;
    line-height: 1.6;
    margin: 20px 0px;    
}

iframe {
    width: 100%;
    border: 0;
    display: block;
    margin-top: 10px;
}

#parking_map1 {
    margin-bottom: 20px; /* 駐車場MAP1とMAP2間 */
}

.info_cap_visit{
    font-size: 16px;
    line-height: 1.6;
    margin: 60px 0px 10px;
}

/* ボタン */
#info .btn{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.9em 3em 0.9em 1.2em;
    border: 1px solid #878787;
    color: #5f5f5f;
    font-size: 16px;
    text-decoration: none;

    margin-bottom: 0px;
}

#info .btn::after {
    content: "";
    position: absolute;
    right: 1.2em;
    top: 50%;
    transform: translateY(-50%);

    width: 0.9em;
    height: 0.9em;

    background: url("../img/top/eve_top_icon_003.svg") no-repeat center / contain;
}

#info .btn:hover {
    background: #f3cbcb;
}
/* ▲ ---------- infomation ---------- ▲ */

/* ▼ =====================
    flow
==================== ▼ */
#flow {
    position: relative;
    padding: 60px 15px 0;
}

.flow_inner {
    display: flex;
    flex-direction: column;
}

.flow_title {
    margin-bottom: 20px;
    padding: 10px 20px;
    border-radius: 0;
    text-align: center;
    background: #e38296;

    font-size: 20px;
    font-weight: 500; /* 太さ */
    line-height: 1.55; /* 行間 */
    letter-spacing: 0.025em; /* 文字間 */

    color: #fff;
}


.flow_title_2 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
    padding: 10px 20px;
    width: 100%;
    background: #878787;
    border-radius: 999px; /* ← 左右が半円 */
    text-align: center;

    font-size: 18px;
    font-weight: 500; /* 太さ */
    line-height: 1.6; /* 行間 */
    letter-spacing: 0.02em; /* 文字間 */

    min-height: 40px;
    color: #fff;
}

.flow_box {
    display: flex;
    padding-bottom: 40px;

    flex-direction: column;
    gap: 20px;

}

flow_box li {
    font-size: 16px;
    font-weight: 400; /* 太さ */
    line-height: 1.7; /* 行間 */
    letter-spacing: 0.02em; /* 文字間 */
}

.flow_img {
    width: 100%;
    margin-top: 20px;
}

#flow .sp_only { display: block; }
#flow .pc_only { display: none; }

/* ▲ ---------- flow ---------- ▲ */

/* ▼ =====================
    Q&A
==================== ▼ */
/* ========== #faq: ページ全体 ========== */
#faq {
    background: #e6e2e2;
    padding: 60px 15px;
}

/* ========== inner: FAQセクション中央寄せ ========== */
.faq_inner {
    margin: 0 auto;
}

/* ========== block: 1問1答ブロック ========== */
.faq_block {
    padding-bottom: 20px; /* 質問＋回答ブロックの余白 */
}

/* ========== card: 質問カード ========== */
.faq_card {
    display: block;
}

/* 質問ブロック */
.faq_q_box {
    background: #878787;
    padding: 10px 20px;
}

/* Q＋縦線＋質問文/横並び */
.faq_q_inner {
    display: flex;
    align-items: stretch; /* 高さを質問文に合わせる */
    gap: 20px;            /* Q-線-質問文の間隔 */
    position: relative;
}

/* Qラベル */
.faq_q_label {
    display: flex;
    align-items: center;  /* Q文字を縦中央 */

    font-size: 22px;
    font-weight: 500; /* 太さ */
    line-height: 1.5; /* 行間 */
    letter-spacing: 0.03em; /* 文字間 */

    color: #fff;
}

/* 縦線 */
.faq_q_line {
    width: 1px;
    background: #fff;
    align-self: stretch;   /* 質問文の高さに追従 */
    flex-shrink: 0;
}

/* 質問文 */
.faq_q_text {
    display: flex;
    flex-direction: column;
    justify-content: center; /* Qと縦線に合わせて中央寄せ */

    font-size: 22px;
    font-weight: 500; /* 太さ */
    line-height: 1.5; /* 行間 */
    letter-spacing: 0.03em; /* 文字間 */

    color: #fff;
}

/* ================== 回答 ================== */
.faq_a {
    margin-top: 20px;

    font-size: 16px;
    font-weight: 400; /* 太さ */
    line-height: 1.7; /* 行間 */
    letter-spacing: 0.02em; /* 文字間 */

    color: #5f5f5f;
}
/* ▲ ---------- Q&A ---------- ▲ */

/* ▼ =====================
    contact
==================== ▼ */
#contact{
    margin: 0 auto;
    padding: 60px 15px;
}

#contact p{
    margin-bottom: 20px;

    font-size: 16px;
    font-weight: 400; /* 太さ */
    line-height: 1.7; /* 行間 */
    letter-spacing: 0.02em; /* 文字間 */
}

/* ボタン */
#contact .btn{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0px;
    padding: 0.9em 3em 0.9em 1.2em;
    border: 1px solid #878787;

    font-size: 16px;
    font-weight: 400; /* 太さ */
    line-height: 1.7; /* 行間 */
    letter-spacing: 0.02em; /* 文字間 */

    color: #5f5f5f;
    text-decoration: none;
}

#contact .btn::after {
    content: "";
    position: absolute;
    right: 1.2em;
    top: 50%;
    transform: translateY(-50%);

    width: 0.9em;
    height: 0.9em;

    background: url("../img/top/eve_top_icon_003.svg") no-repeat center / contain;
}

#contact .btn:hover {
    background: #e6e2e2;
}

/* ▲ ---------- contact ---------- ▲ */


/* ▼ ===================================================
    @media
=================================================== ▼ */
 /* ========== pc ========== */
@media screen and (min-width: 768px) { /* タブレット・PC用 */

 /* ▼ ====================
    h 
 =================== ▼ */
    h1 {
        font-size: 33px;
        font-weight: 500; /* 太さ */
        line-height: 1.3; /* 行間 */
        letter-spacing: 0.04em; /* 文字間 */
    }

    h2{
        margin:0px auto 80px;

        font-size: 40px;
        font-weight: 500; /* 太さ */
        line-height: 1.25; /* 行間 */
        letter-spacing: 0.05em; /* 文字間 */
    }

 /* ▼ ========== .s_title ========== ▼ */
    .s_title_1{
        margin: 0 auto 30px;

        font-size: 40px;
        font-weight: 500; /* 太さ */
        line-height: 1.15; /* 行間 */
        letter-spacing: 0.08em; /* 文字間 */
    }

    .s_title_2{
        font-size: 16px;
        font-weight: 500; /* 太さ */
        line-height: 1.65; /* 行間 */
        letter-spacing: 0.02em; /* 文字間 */
    }
 /* ▲ ---------- .s_title ---------- ▲ */ 

 /* ▼ ========== .t_title ========== ▼ */
    .t_title{
        margin: 0 auto 80px;
        padding:    20px;

        font-size: 28px;
        font-weight: 500; /* 太さ */
        line-height: 1.4; /* 行間 */
        letter-spacing: 0.035em; /* 文字間 */

        color: #fff;
        background: #5f5f5f;
    }
 /* ▲ ---------- .t_title ---------- ▲ */ 

 /* ▼ ========== .t_title_2 ========== ▼ */
    .t_title_2{
        height: 170px;
        background: url("../img/scene/eve_2_illust_005.svg") no-repeat 12% center / contain;    

        font-size: 28px;
        font-weight: 500; /* 太さ */
        line-height: 1.4; /* 行間 */
        letter-spacing: 0.035em; /* 文字間 */
    }

 /* ▲ ---------- .t_title_2 ---------- ▲ */ 

 /* ▲ ---------- h ---------- ▲ */


    .sp_only_br{ display: none; } /* pc:非表示 */
    .pc_only_br{ display: block; } /* pc:表示 */


 /* ▼ ====================
    h1
 ==================== ▼ */
 /* h1のフォント設定は↑ h 参照 */
    .products_title {
        background-image: url("../img/scene/eve_2_illust_001.svg");
        background-repeat: no-repeat;
        background-position: right center;

        padding: 100px 0;
    }
 /* ▲ ---------- h1 ---------- ▲ */

 /* ▼ =====================
    products
 ==================== ▼ */
    #products {
        position: relative;
        padding: 100px 0;
        background-color: #fbeded;
        background-image:
            url("../img/top/eve_top_illust_001.webp"),
            url("../img/scene/eve_2_illust_003.webp");
        background-repeat: no-repeat, no-repeat;
        background-position:
            left 20px top 40px,
            right 20px bottom 0px;
        background-size:
            clamp(90px, 18vw, 200px) auto,
            clamp(200px, 18vw, 410px) auto;
    }

    #products p {
        max-width: 1100px;
        margin-inline: auto;
        padding-inline: clamp(48px, 20vw, 200px);
    }

    #products .sp_image {
        display: none;/* PCではスマホ用画像を消す */
    }
 /* ▲ ---------- products ---------- ▲ */

 /* ▼ ====================
    notice
 ==================== ▼ */
    #notice {
        margin: 150px auto;
        max-width: 1100px;
    }

    .notice-item {
        position: relative;
        display: flex;
        align-items: center;
        gap: clamp(20px, 3vw, 32px);
        padding: 16px 0;

        border-top: 1px solid #878787;
        border-bottom: 1px solid #878787;
    }

/* 上下の線を消す「空白マスク」 */
    .notice-item::before,
    .notice-item::after {
        content: "";
        position: absolute;
        left: 120px;          /* 日付幅 */
        width: 32px;         /* 日付とタイトルの間隔 */
        height: 3px;         /* 線を完全に隠す */
        background: #fff;    /* 背景色と同じ */
        z-index: 1;
    }

/* 上線用 */
    .notice-item::before {
        top: -1px;
    }

/* 下線用 */
    .notice-item::after {
        bottom: -1px;
    }

/* 日付 */
    .notice-date {
        flex: 0 0 130px;

        font-size: 16px;
        font-weight: 400; /* 太さ */
        line-height: 1.7; /* 行間 */
        letter-spacing: 0.02em; /* 文字間 */

        color: #5f5f5f;
        white-space: nowrap;
    }

/* タイトル */
    .notice-text {
        flex: 1;
        margin: 0;
        
        font-size: 16px;
        font-weight: 400; /* 太さ */
        line-height: 1.7; /* 行間 */
        letter-spacing: 0.02em; /* 文字間 */
    }
 /* ▲ ---------- notice ---------- ▲ */

 /* ▼ =====================
    items
 ==================== ▼ */
 /* h2のフォント設定は↑ h 参照 */
    #items {
        padding: 150px 15px;
    }

    .items_inner{
        margin: 0 auto;
        max-width: 1100px;
    }

  /* 各行 */
    .items_row {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 80px;/* ブロックの横余白 */

  /* 線 */
        border-top: 1px solid #878787;

  /* 線から中身（img）まで */
        padding-top: 80px;

  /* 前の行（ボタン）から線まで */
        margin-top: 80px;
    }

  /* 最初の行だけ例外 */
    .items_row:first-of-type {
        border-top: none;
        padding-top: 0;
        margin-top: 0;
    }

  /* 最後の行は下に余白を作らない */
    .items_row:last-of-type {
        margin-bottom: 0;
    }

    .items_block {
        padding-bottom: 0px;/* pcではブロック下の余白を消す 余白はitems_rowで管理 */
    }

    .items_block img {
        width: 100%;
        height: auto;
        margin-bottom: 24px;
        display: block;
    }

    .items_block h3 {
        margin: 0 0 20px;
        text-align: center;

        font-size: 24px;
        font-weight: 500; /* 太さ */
        line-height: 1.45; /* 行間 */
        letter-spacing: 0.03em; /* 文字間 */
    }

    .items_block p {
        font-size: 16px;
        font-weight: 400; /* 太さ */
        line-height: 1.7; /* 行間 */
        letter-spacing: 0.02em; /* 文字間 */
    }
/* ▲ ---------- items ---------- ▲ */


 /* ▼ =====================
    choose_us
 ==================== ▼ */
    #choose_us{
        padding: 150px 15px 0px;/* 花柄の為下は0 */
    }

    .choose_inner{
        margin: 0 auto;
        max-width: 1100px;

        position: relative;
    }

    .choose_block{
        padding-bottom: 150px;

        position: relative;
        z-index: 2;
    }

    #choose_us li{
        margin-bottom: 40px;
        max-width: 700px;
    }

    #choose_us li:nth-child(even) { /* even:偶数 odd:奇数 */
        margin-right: 0;
        margin-left: auto;
    }

    .icon_title {
        font-size: 24px;
        font-weight: 500; /* 太さ */
        line-height: 1.45; /* 行間 */
        letter-spacing: 0.03em; /* 文字間 */
}

    .choose_block p{
        padding-left: 3em;
    }

    #choose_us .sp_only { display: none; }
    #choose_us .pc_only {
        display: block;
        position: absolute;
        right: -250px; /* 親要素(.choose_inner)を基準に */
        bottom: 0;
        width: 350px;
        max-width: none;
        pointer-events: none;

        z-index: 0; /* 画像を下へ */
    }
 /* ▲ ---------- choose_us ---------- ▲ */

 /* ▼ =====================
    service_price
 ==================== ▼ */
    #service_price{
        padding: 150px 0;
    }
    
    .s_p_inner{
        margin:0 auto;
        max-width: 1100px;
    }

    .s_p_block{
        padding-bottom: 100px;
}

/* ===== h3 ===== */
    .s_p_q_title {
        font-size: 22px;
        font-weight: 500; /* 太さ */
        line-height: 1.5; /* 行間 */
        letter-spacing: 0.03em; /* 文字間 */

        padding: 10px 20px;
    }
    
    /* s_p_box：2カラム */
    .s_p_box {
        grid-template-columns: repeat(2, 1fr);
        gap: 40px 30px;
    }

    /* タイトル文字サイズ */
    .s_p_item_title {
        font-size: 22px;
        font-weight: 500; /* 太さ */
        line-height: 1.5; /* 行間 */
        letter-spacing: 0.03em; /* 文字間 */
    }

    .s_p_col {
        display: flex;
        flex-direction: column;
    }

    .s_p_f_note {
        margin-top: auto;
    }
    
/* ===== 料金表テーブル ===== */
    /* table：横並びに戻す */
    .s_p_box_2_pack th,
    .s_p_box_2_pack td {
        display: table-cell;
    }

    .s_p_box_2_pack th {
        width: 30%;
        text-align: center;
        vertical-align: middle; /* 縦：中央 */
    }

    .s_p_box_2_pack td {
        width: 70%;
        padding-right: 50px;
        padding-left: 50px;
        text-align: left;
        vertical-align: middle; /* 縦：中央 */
    }

/* ===== 衣装内容テーブル ===== */
    .s_p_box_2_content th {
        text-align: center;
        vertical-align: middle; /* 縦：中央 */
    }

    .s_p_box_2_content td {
        padding-right: 50px;
        padding-left: 50px;
        text-align: center;
        vertical-align: middle; /* 縦：中央 */
    }

/* ===== 比較表テーブル ===== */
    .s_p_c_table {
        table-layout: fixed;
    }

 /*===== 横幅を決定 ======*/
    .s_p_c_table_col-item {
        width: 30%;
    }

    .s_p_c_table_col-pack {
        width: 35%;
    }

    .s_p_c_table .item_th {
        text-align: left;
        padding: 15px 30px;
    }

    .item_label {
        display: grid;
        grid-template-columns: 70px 1fr;
        align-items: center;
        column-gap: 15px;
    }

    .item_icon {
        width: 70px;
        height: 70px;
    }

    .s_p_price_title,
    .s_p_price_table {
        display: none;
    }

    .sp_head {
        display: none;
    }

    .pc_head {
        display: table-header-group;
    }

    .price_row {
        display: table-row;
    }

 /* ▲ ---------- service_price ---------- ▲ */

 /* ▼ =====================
    bonus
 ==================== ▼ */
    /* h2は↑.t_title_2で設定 */
    #bonus{
        padding: 100px 0 0;
    }

    .bonus_inner{
        margin: 0 auto;
        max-width: 800px;

        position: relative;
    }

    .bonus_block {
        padding-bottom: 150px;
    }

  /* リスト */
    .bonus_list li {
        gap: 30px;
        margin-bottom: 60px;
    }

  /* 番号（SVG丸背景） */
    .bonus_icon {
        width: 80px; /* アイコン横サイズ */
        height: 80px; /* アイコン縦サイズ */

        font-size: 34px;
        font-weight: 500; /* 太さ */
    }

    .bonus_text_box h3 {
        margin: 0 0 10px;

        font-size: 24px;
        font-weight: 500; /* 太さ */
        line-height: 1.45; /* 行間 */
        letter-spacing: 0.03em; /* 文字間 */
    }

    #bonus .sp_only { display: none; }
    #bonus .pc_only {
        display: block;
        position: absolute;
        right: -250px; /* 親要素(.bonus_inner)を基準に */
        bottom: 0;
        width: 350px;
        max-width: none;
        pointer-events: none;

        z-index: 0; /* 画像を下へ */
    }

 /* ▲ ---------- bonus ---------- ▲ */




 /* ▼ =====================
    infomation
 ==================== ▼ */
    #info{
        padding: 150px 15px;
    }

    .info_main {
        flex-direction: row; /* 左右並び */
        gap: 70px; /* 左画像と右情報の間 */
    }

    #store_map {
        margin-top: 70px; /* 画像と店舗MAP間 */
        margin-bottom: 100px; /* 店舗apとh3駐車場について */
    }

    .info_cap_parking{
        font-size: 16px;
        line-height: 1.6;
        margin:20px 0 70px 0; /* タイトル下補足文と駐車場MAP1間 */
    }

    #parking_map1 {
        margin-bottom: 30px; /* 駐車場MAP1とMAP2間 */
    }

    .info_cap_visit {
        margin: 70px 0 20px 0;
    }

  /* ボタン */
    #info .btn {
        width: 500px;
        margin: 0 auto;
        display: block;
        text-align: center;
    }
 /* ▲ ---------- infomation ---------- ▲ */

 /* ▼ =====================
    flow
 ==================== ▼ */
    #flow {
        padding: 150px 0px;
    }
    .flow_inner {
        max-width: 800px;
        margin: 0 auto;
    }

    .flow_row {
        display: grid;
        grid-template-columns: 200px 1fr; /* 左:h4 / 右:li */
        align-items: stretch; /* 高さを揃える */
        column-gap: 20px;
    }

    .flow_title{
        font-size: 22px;
        font-weight: 500; /* 太さ */
        line-height: 1.5; /* 行間 */
        letter-spacing: 0.03em; /* 文字間 */
    }

    .flow_title_2 {
        display: flex;
        align-items: center; /* テキストは縦中央 */
        justify-content: center;
        background: #878787;
        padding: 10px 24px; /* 縦padding消し */
        border-radius: 999px;
        justify-self: end; /* 右寄せ */
        text-align: center;

        font-size: 20px;
        font-weight: 500; /* 太さ */
        line-height: 1.2; /* 行間 */
        letter-spacing: 0.025em; /* 文字間 */

        min-height: 50px; /* 最低の高さ */
        color: #fff;
    }
    
    .flow_row ul {
        display: flex;
        flex-direction: column;
        justify-content: center;    /* 縦中央 */
        margin: 0;
    }

    #flow .sp_only { display: none; }
    #flow .pc_only {
        display: block;
        position: absolute;
        left: calc(50% - 800px);
        bottom: 0;
        width: 400px;
    }

 /* ▲ ---------- flow ---------- ▲ */

 /* ▼ =====================
    Q&A
 ==================== ▼ */
    #faq {
        padding: 150px 0;
    }

    .faq_inner {
        max-width: 800px;
        margin: 0 auto;
    }

    .faq_block {
        margin-bottom: 50px; /* 質問と回答ブロックの余白 */
    }

    .faq_block:last-child {
        margin-bottom: 0; /* 質問と回答ブロックの余白：最後は下0px */
    }

    .faq_q_box {
        padding: 10px 30px;
    }

    /* Q＋縦線＋質問文を横並び */
    .faq_q_inner {
        gap: 30px; /* Q-線-質問文の間隔を統一 */
    }

 /* ▲ ---------- Q&A ---------- ▲ */

 /* ▼ =====================
    contact
 ==================== ▼ */
    #contact{
        padding: 150px 0;
        max-width: 1100px;
    }

    #contact p{
        text-align: center;
    }

  /* ボタン */
    #contact .btn {
        width: 500px;
        margin: 0 auto;
        display: block;
        text-align: center;
    }
 /* ▲ ---------- contact ---------- ▲ */


}

/* ===== スライダー防止 ===== */
#choose_us,
#bonus,
#flow {
    overflow: hidden;
}
/* ▲ ---------- pc ---------- ▲ */
/* ▲ ---------- media ---------- ▲ */
