/* body */
/* font */
/* h */
/* leyout */
/* header */
 /* logo */
 /* header_actions cta_btn */
 /* hamburger */
/* fv */
/* notice */
/* abouto_us */
/* rental_service */
/* dress_kimono */
/* choose_us */
/* member */
/* infomation */
/* flow */
/* Q&A */
/* contact */
/* footer *

/* media */
 /* body */
 /* header */
 /* h */
 /* fv */
 /* notice */
 /* abouto us */



/* ▼ ====================
    h 
=================== ▼ */
h1 {
    
}

h2 {
    text-align: center; 
    margin: 0 auto 30px;

    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 ---------- ▲ */ 
/* ▲ ---------- h ---------- ▲ */

/* ▼ ====================
    fv
====================▼ */
 /* ▼ ========== 表示制御 ========== ▼ */
.sp_only { display: block; }
.pc_only { display: none; }

 /* ▼ ========== FV 全体 ========== ▼ */
.fv {
    display: flex;
    flex-direction: column; /* 縦並び */
    width: 100%;
}

/* ▼ ========== 写真スライダー ========== ▼ */
.fv_photo {
    position: relative;
    width: 100%;
    height: 100vh;/* 写真は1画面 */
}

.fv_photo .slide {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; /* 全体表示 */
    background-color: #fff; /* 余白対策 */
    opacity: 0;
    transition: opacity 1.5s ease; /* フェードの長さ 0.8=キビキビ 1.2=上品 1.5=ふんわり*/
}

.fv_photo .slide.active {
    opacity: 1;
}

/* ========== ロゴ＋背景 ========== */
.fv_bg {
    position: relative;
    width: 100%;
    height: 40vh;
    background-image: url("../img/top/eve_top_photo_sp_001.webp");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.fv_logo {
    position: absolute;
    inset: 0;
    margin: auto;
    width: 350px;
    max-width: 80%;
}
/* ▲ ---------- fv ---------- ▲ */

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

.notice-title {
    font-size: 20px;
    margin-bottom: 16px;
}

.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 ---------- ▲ */

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

#about_us .sp_image{
    width: 100%;
    height: auto;
    display: block;
}

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

/* ▼ =====================
    rental_service
==================== ▼ */
#service {
    padding: 60px 15px;
}

.item_service {
    display: flex;
    flex-direction: column;
    padding-bottom: 40px;
    background: #fff;
}

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

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

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

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

.item_service p {
    margin: 0 0 20px;

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

.item_service .btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.9em 3em 0.9em 1.2em;
    border: 1px solid #878787;
    text-decoration: none;

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

    color: #5f5f5f;
}

.item_service .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;
}

.item_service .btn:hover {
  background: #e6e2e2;
}
/* ▲ ---------- rental_service ---------- ▲ */

/* ▼ =====================
    dress_kimono
==================== ▼ */
#dress_kimono {
    position: relative;
    padding: 60px 15px;

    background: url("../img/top/eve_top_photo_010.webp") no-repeat center / cover;
}

#dress_kimono::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 220px; /* ← タイトル＋余白分 */

    background: #fbeded;
    z-index: 0;
}

#dress_kimono > * {
    position: relative;
    z-index: 1;
}

.d_list{
    margin-bottom: 60px;
}

#dress_kimono h3{
    text-align: center;
    margin-bottom: 20px;

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

#dress_kimono h3 .ss_title{
    font-size: 16px;
    font-weight: 500; /* 太さ */
    line-height: 1.65; /* 行間 */
    letter-spacing: 0.02em; /* 文字間 */
}

#dress_kimono ul li {
    position: relative;
    padding: 18px 16px 18px 90px; /* 左は記号分 */
    margin-bottom: 16px;

    background: #fff;
    border-radius: 0;

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

#dress_kimono ul li::before { /* 記号：svg */
    content: "";
    position: absolute;
    left: 30px;
    top: 13px;

    width: 36px;
    height: 36px;

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

#dress_kimono .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;
}

#dress_kimono .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;
}

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

/* ▼ =====================
    choose_us
==================== ▼ */
#choose_us{
    margin: 60px 15px 60px;
}

#choose_us h3{
    margin-bottom: 20px;

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

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


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

.icon_title {
    position: relative;        /* ← 重ねる基準 */
    display: inline-block;
    padding-left: 1.5em;
    line-height: 1.6;
}

.icon_title .c_u_icon {
    position: absolute;
    left: -0.2em;
    top: -0.4em;              /* ← 2行見出し用 */
    width: 4em;
    height: 4em;
    z-index: 1;
}

.title_text{
    position: relative;
    z-index: 2;
}
/* ▲ ---------- choose_us ---------- ▲ */

/* ▼ =====================
    member
==================== ▼ */
#member{
    position: relative;
    background: #fff;
}

.member_inner{
    display: block;    
}

.member_frame {
    position: relative;
    padding: 15px; /* ← 枠の太さ */
    background: #fbeded;
    z-index: 2;
}

.member_box {
    background: #fff; /* 白抜き */
    padding: 32px 24px;
}

.member_sub{
    margin: 0 auto 20px;
    text-align: center;

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

    color: #e38296;
}

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

.member_text2 p{
    margin-top: 20px;
    text-align: center;

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

    text-decoration-line: underline;
    text-decoration-color: #e38296;
    text-decoration-thickness: 1px;
    text-underline-offset: 7px;
}

.member_img {
    width: 100%;
    margin-top: 60px;
}

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


/* ▲ ---------- member ---------- ▲ */

/* ▼ =====================
    infomation
==================== ▼ */
#info{
    margin: 0 auto;
    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{
    width: 100%;
    margin-top: 10px;
    padding: 10px 20px;
    border: none;
    background: #878787;

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

    color: #fff;
}

.info_cap{
    padding: 12px 20px 6px 20px;

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

#store_map {
    margin-bottom: 60px;
}

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

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

    color: #fff;
}

.info_cap_parking{
    margin: 20px 0px;    

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

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

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

.info_cap_visit{
    margin: 60px 0px 10px;

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

/* ボタン */
#info .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-size: 16px;
    font-weight: 400; /* 太さ */
    line-height: 1.7; /* 行間 */
    letter-spacing: 0.02em; /* 文字間 */

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

}

#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: 22px;
    font-weight: 500; /* 太さ */
    line-height: 1.5; /* 行間 */
    letter-spacing: 0.03em; /* 文字間 */

    color: #fff;
}

/* == flow_list== */
.flow_list {
    list-style: none;
    padding: 0;
    margin-bottom: 40px;
}

.flow_list > li {
    display: flex;
    align-items: flex-start;
    gap: 10px; /* 記号と文字の間 */
    margin-bottom: 5px; /* 文字の下 */
}

/* 説明文用SVG */
.flow_list > li:not(.has_sub)::before {
    content: "";
    width: 16px;
    height: 16px;
    background: url(../img/top/eve_top_icon_006_2.svg) no-repeat center / contain;
    flex-shrink: 0;
    margin-top: 6px; /* 行頭の縦ズレ防止 */
}

.flow_list > li.has_sub {
    flex-direction: column;
    gap: 2px; /* ← 空きすぎ防止 */
}

/* 補足説明がある li には記号を出さない */
.flow_list > li.has_sub::before {
    content: none;
}

/*== アコーディオン ==*/
/* ボタン */
.accordion_btn {
    all: unset;
    cursor: pointer;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    width: 100%;
}

/* 補足説明用 記号 */
.accordion_btn::before {
    content: "";
    width: 16px;
    height: 16px;
    background: url(../img/top/eve_top_icon_007.svg) no-repeat center / contain;
    flex-shrink: 0;
    margin-top: 6px; /* 行頭の縦ズレ防止 */
}

.flow_text {
    flex: 1; /* 折り返し */

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

    word-break: break-word;
}

/* 補足リスト */
.sub_list {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transform: translateY(-18px);
    transition:
    max-height 0.8s ease,
    opacity 0.555s ease,
    transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
    list-style: none;
    padding-left: 26px;
    margin-top: 2px;/*説明文との間*/
}

/* 補足説明文 */
.sub_list li {
    margin-bottom: 2px;  /* 行間 */

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

    word-break: break-word;
}

.sub_list li:last-child {
    margin-bottom: 0;
}

/* == 開いた状態 == */
.sub_list.open {
    max-height: 600px;
    opacity: 1;
    transform: translateY(0);
}

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

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

@media (prefers-reduced-motion: reduce) {
    .sub_list {
        transition: 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 
 ==================== ▼ */
    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 ---------- ▲ */ 
 /* ▲ ---------- h ---------- ▲ */

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

 /* ▼ =====================
    fv 
 ==================== ▼ */
  /* 表示切替 */
    .sp_only { display: none; }
    .pc_only { display: block; }

  /* FV全体：左右 */
    .fv {
        flex-direction: row;
        height: 100vh;
        align-items: stretch; /* 高さを揃える */
    }

  /* ロゴ側（左 1） */
    .fv_bg {
        order: 1; /* 左 */
        width: 30%;
        height: 100%;
        background-image: url("../img/top/eve_top_photo_001.webp"); /* PC用背景 */
        display: flex;
        align-items: center;
        justify-content: center;
    }

  /* 写真側（右 2） */
    .fv_photo {
        order: 2; /* 右 */
        position: relative;
        width: 70%;
        height: 100%;
    }

  /* 写真表示ルール（PC） */
    .fv_photo .slide {
        width: 100%;
        height: 100%;
        object-fit: cover; /* 横を切らない */
        object-position: center;
  }

  /* ロゴサイズ（PC） */
    .fv_logo {
        position: relative;
        width: 320px;
        max-width: 70%;
    }
 /* ▲ ---------- fv ---------- ▲ */

 /* ▼ ====================
    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 ---------- ▲ */

 /* ▼ =====================
    abouto us
 ==================== ▼ */
    #about_us {
        position: relative;
        padding: 130px 0;
        background-color: #fbeded;
        background-image:
            url("../img/top/eve_top_illust_001.webp"),
            url("../img/top/eve_top_illust_002.webp");
        background-repeat: no-repeat, no-repeat;
        background-position:
            left 20px top 40px,
            right 0px bottom 0px;
        background-size:
            clamp(150px, 20vw, 280px) auto,
            clamp(120px, 26vw, 400px) auto;
    }

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

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

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

  /* 各行 */
    .service_row {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 40px;

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

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

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

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

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

  /* アイテム毎の下の余白を0に */
    .item_service {
        padding-bottom: 0;
    }

    /* ボタン */
    .item_service .btn {
        height: 60px;
        padding: 0 3em 0 1.2em;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-top: auto; /* ボタンを補足文の下に揃える */      
    }
 /* ▲ ---------- service ---------- ▲ */

 /* ▼ =====================
    dress_kimono
 ==================== ▼ */
 /* shohin セクション全体 */
    #dress_kimono {
        padding: 150px 15px;
    }

    #dress_kimono::before {
        display: none;
    }

    .d_k_inner{
        max-width:1100px;
        width: 100%;
        margin: 0px auto;        
    }
    
    .grid_1_2 {
        display: grid;
        grid-template-columns: repeat(2, 1fr); /* 2列 */
        gap: 24px;
    }
    
  /* 商品リスト（2カラム内） */
    #dress_kimono .d_list {
        margin-bottom: 70px;
    }

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

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

    #choose_us ul{
        margin: 0 auto;
    }

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

    #choose_us li:nth-child(2) {
        margin-right: 0;
        margin-left: auto;
    }
 /* ▲ ---------- choose_us ---------- ▲ */

 /* ▼ =====================
    memeber
 ==================== ▼ */
    #member {
        width: 100%;
        margin: 0 auto;
        max-width: 1100px;
        padding: 0;
        background-color: #fff;
    }

    .member_inner{
        display: flex;
        align-items: stretch;
        width: 100%;
    }

    .member_frame{
        width: 100%;
        max-width: 800px;
        margin: 150px auto;
    }

    .member_box{
        display: grid;
        grid-template-columns: 250px 1fr;
        column-gap: 22px;
        align-items: start;
        padding: 22px;
    }

/* 左カラム */
    .member_head h2,
    .member_head h3 {
        margin: 0;
    }

    .member_head{
        grid-column: 1;
        display: flex;
        flex-direction: column;
        gap: 5px; /* h2とh3の間の高さ */
    }

/* 右カラム */
    .member_text,
    .member_text2 {
        grid-column: 2;
    }

    .member_title{
        margin-bottom: 0;
    }

    .member_title img {
        display: block;
        width: 100%;
        height: auto;
    }

    .member_list{
        grid-column: 2;
        display: flex;
        flex-direction: column;
        gap: 0; /* 必要なら調整 */
    }

    .member_text{
        letter-spacing: 0.01em;
        line-height: 1.4;
    }

    .member_text2 p{
        margin-top: 0;

        letter-spacing: 0.01em;
        line-height: 1.4;
        margin-top: 0px;        
        text-align: left;
    }
    .sp_only_br{ 
        display: none;
    }

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

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

 /* ▼ =====================
    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{
        margin:20px 0 70px 0; /* タイトル下補足文と駐車場MAP1間 */

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

    #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 .sp_only { display: none; }
    #flow .pc_only {
        display: block;
        position: absolute;
        left: calc(50% - 800px);
        bottom: 0;
        width: 400px;
    }

  /* ulとh3の余白 */
    .flow_list {
        margin-bottom: 50px;
    }

    .flow_title {
        margin-bottom: 20px;
    }
 /* ▲ ---------- 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-線-質問文の間隔を統一 */
    }

    .sp_only_br{ 
        display: none; /* pc：改行なし */
    }
 /* ▲ ---------- 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 ---------- ▲ */


}
/* ▲ ---------- pc ---------- ▲ */
/* ▲ ---------- media ---------- ▲ */
