@charset "utf-8";
/* CSS Document */

@font-face {font-family: 'SitaHutoFont'; src: url('../fonts/sitahuto.woff') format('woff');font-display: swap;}
@font-face {font-family: "GenEiKiwamiGo";src: url("../fonts/GenEiKiwamiGo.woff2") format("woff2");font-display: swap;}
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@400;500;700;800;900&display=swap');

    :root { --ink:#161616; --muted:#8d8d8d; --line:#f7d029; --paper:#fff; --accent:#d3142c;--green:#00ff37; --header-h:73px;--red:#FF0004; }
    * { box-sizing:border-box;margin: 0;padding: 0}
ul, ol {list-style: none;margin: 0;padding: 0;}
@media screen and (max-width: 1024px) {
  .pc-only {
    display: none;
  }
}
.c_both {clear: both;*font-size: 1%;*line-height: 1%;*height: 1%;*width: 1%;}
.mb5{margin-bottom: 5px!important}
.mb10{margin-bottom: 10px!important}
.mb20{margin-bottom:20px!important}
.red{color: #FF0004}
.blink-img {animation: blink-fast 0.2s steps(1) infinite;}
@keyframes blink-fast {0%, 100% {opacity: 1;}30% {opacity: 0.9;} 60% {opacity: 0.8;}90% {opacity: 0.3;}}

    img{width: 100%}
    body { margin:0; color:var(--paper); font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Hiragino Kaku Gothic ProN", "Hiragino Sans",Meiryo,sans-serif; background:var(--ink);     background-image: url(../img/bg.jpg);background-attachment: fixed;background-position: center top;}
    body.nav-open { overflow:hidden; }
    a { color:inherit; text-decoration:none; }
    .site { max-width:1200px; margin:0 auto; background:#000; }
    .inner { width:min(100% - 40px, 1200px); margin:auto; }
    /* ▼ヘッダー固定（PC/SP共通） */
    .topbar { min-height:72px; display:flex; align-items:flex-start; justify-content:space-between; border-bottom:1px solid var(--accent); position:sticky; top:0; z-index:40; background:#000; }
    .logo { width:auto; height:70px; display:grid; place-items:center; }
     .logo img{ width:auto; height:65px;}
    .business { padding:12px 0 0 20px; text-align:right; font-size:12px; line-height:1.45; font-weight:600; }
    .header-actions { display:none; }
    .hero { aspect-ratio:1200 / 542; display:grid; place-items:center; background:linear-gradient(125deg,#e1e1e1,#b7b7b7); position:relative; overflow:hidden; }
     /* ▼PCナビ：ヘッダーの下に続けて固定 */
    .nav-wrap { position:sticky; top:var(--header-h); z-index:30; background:var(--line); border-top:1px solid var(--paper);border-bottom:1px solid var(--paper) }
    .menu-button { display:none; }
    .drawer-overlay { display:none; }
    .nav { display:grid; grid-template-columns:repeat(10,1fr); border-top:1px solid var(--line); }
    .nav a { min-height:42px; display:grid; place-items:center; margin-right:1px; background: var(--line) }
    .nav a:first-child { margin-left:1px; }
    .nav a:hover { background:var(--accent); }
    .mobile-nav { display:none; }
    /* ▼MAIN/SECOND：<img>を入れると比率維持で全面フィット（隙間なし） */
     .hero > img, .subhero > img,.thirdhero > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
    /* ▼PCナビ：項目ごとに個別画像(nav01〜10)を10等分で並べ、幅追従でスケール */
    #main-nav { display:grid; grid-template-columns:repeat(10,1fr); border-bottom:1px solid var(--line);border-top:1px solid var(--line); }
    #main-nav a { display:block; min-height:0; border:0; }
    #main-nav img { display:block; width:100%; height:auto; }
    .subhero { aspect-ratio:1200 / 542; position:relative; overflow:hidden; }
    .subhero .sub-bg { z-index:2; }
    .subhero .sub-video { position:absolute; z-index:1; left:50%; top:50%; width:62%; aspect-ratio:147 / 82; transform:translate(-50%,-50%) rotate(-10deg); object-fit:cover; display:block; background:#000; }
.thirdhero { aspect-ratio:1200 / 180; position:relative; overflow:hidden; display:grid; place-items:center; }
    .thirdhero .third-bg { z-index:1; }
    .thirdhero p { position:relative; z-index:2; margin:0; color:var(--paper);font-family: "GenEiKiwamiGo", sans-serif;font-style: normal;letter-spacing: 0.03em;font-size:clamp(18px,3.4vw,34px); text-shadow:0 2px 8px #0007; }
    .content { padding:5px 0 18px; display:grid; grid-template-columns:23.3% 1fr; gap:6px; }
    .content { padding:0px 0 18px; display:grid; grid-template-columns:23.3% 1fr; gap:6px; }
    /* ===== ヘッドラインニュース（マーキー） ===== */
    .headline { display:flex; align-items:stretch; gap:clamp(8px,1vw,14px); padding:clamp(6px,0.8vw,10px) 0; background:#000; }
    .headline-title { flex:none; margin:0; display:flex; flex-direction:column; justify-content:center;color:var(--line); font-family: 'SitaHutoFont', sans-serif;
    font-weight: normal; line-height:0.98; letter-spacing:.02em; font-size:clamp(0.938rem, 0.778rem + 0.8vw, 1.375rem); }
    .headline-title img { height:100%; width:auto; display:block; } /* 画像にする場合 */
    .headline-body { flex:1 1 auto; min-width:0; display:flex; align-items:center; overflow:hidden;
      background:#fff; padding:clamp(4px,0.6vw,8px) 0; }
    .marquee { width:100%; overflow:hidden; }
    .marquee-track { display:flex; width:max-content; animation:marquee-scroll 30s linear infinite; }
    .marquee:hover .marquee-track, .marquee:focus-within .marquee-track { animation-play-state:paused; }
    .marquee-group { display:flex; flex:none; }
    .marquee-item { flex:none; padding:0 2.2em; white-space:nowrap; color:#111; font-weight:700;
      font-size:clamp(12px,1.45vw,18px); line-height:1.4; }
    @keyframes marquee-scroll { from { transform:translateX(0); } to { transform:translateX(-50%); } }
    @media (max-width:760px){
      .headline { gap:8px; padding:6px; }
      .headline-title { font-size:clamp(13px,4.2vw,18px); }
      .marquee-item { padding:0 1.6em; }
    } 
.side, .main { min-width:0; }
    /* 見出しバー：黄色地＋斜線タイル(全幅リピート)＋右シェブロン。文字は高さ基準のSVGを中央に */
    .side-title, .section-title { position:relative; margin:0 0 0px; height:clamp(40px, 8vw, 48px); display:flex; align-items:center; justify-content:flex-start; padding:0 12px; overflow:hidden; background: url(../img/deco_slash_tile.svg) left center / auto 100% repeat-x,var(--line); }
      @media (min-width:761px) and (max-width:1024px){
          .side-title, .section-title { height:44px; }}
    .side-title img, .section-title img { height:50%; width:auto; max-width:100%; display:block; position:relative; z-index:1; }
    /* 右側のシェブロン装飾（任意）。不要なら::afterを削除 */
    .side-title::after{ content:""; position:absolute; inset:0 0 0 auto; width:0%; pointer-events:none;
      background:url(../img/deco_chevron_tile.svg) center right / auto 80% repeat-x;
      -webkit-mask:linear-gradient(90deg,transparent,#000 45%); mask:linear-gradient(90deg,transparent,#000 45%); }
      .section-title::after { content:""; position:absolute; inset:0 0 0 auto; width:60%; pointer-events:none;
      background:url(../img/deco_chevron_tile.svg) center right / auto 80% repeat-x;
      -webkit-mask:linear-gradient(90deg,transparent,#000 45%); mask:linear-gradient(90deg,transparent,#000 45%); }
    .tile { display:grid; place-items:center; color:#fff; background:#1d1d1d; text-align:center; }
    .placeholder {  color:#111; }
/* PICK UP：PC/SP 出し分け */
.pickup-swiper--pc { display:none; }
@media (min-width:768px){
  .pickup-swiper--sp { display:none; }
  .pickup-swiper--pc { display:block; }
}
    /* PICK UP：SP=横100%・高さauto、PC/タブレット(≥768)=9:10 */
    .pickup-swiper { margin-bottom:5px; }
    .pickup, .pickup picture, .pickup img { display:block; width:100%; }
    .pickup img { height:auto; }
    @media (min-width:768px){
      .pickup-swiper { aspect-ratio:9 / 10; }
      .pickup-swiper .swiper-wrapper, .pickup-swiper .swiper-slide, .pickup, .pickup picture, .pickup img { height:100%; }
      .pickup img { object-fit:cover; }
    }
      .rinking-title{margin-bottom: 5px}
    /* ===== RANKINGカード：背景画像＋左写真(5:8)＋右情報 ===== */
    .rank-swiper { width:100%; min-width:0; }
    .rank-card { position:relative; display:block; aspect-ratio:9 / 8; overflow:hidden; background-position:center; background-size:cover; background-repeat:no-repeat;background-image:url(../img/rank00_bg.webp); }
/*.rank-card:nth-child(1){ background-image:url(../img/rank01_bg.webp); }
.rank-card:nth-child(2){ background-image:url(../img/rank02_bg.webp); }
.rank-card:nth-child(3){ background-image:url(../img/rank03_bg.webp); }
.rank-card:nth-child(4){ background-image:url(../img/rank04_bg.webp); }
.rank-card:nth-child(5){ background-image:url(../img/rank05_bg.webp); }*/
    .rank-photo { position:absolute; left:2.8%; top:3.1%; width:51.9%; height:94.3%; overflow:hidden; }
    .rank-photo img { width:100%; height:100%; object-fit:cover; display:block; }
/*    .rank-info { position:absolute; left:57%; right:4%; top:50%; bottom:3%; container-type:inline-size; color:var(--paper); overflow:hidden;background: rgba(0,0,0,0.8);padding: 5px }*/
.rank-info {position:absolute; left:57%; right:3%; top:3%; bottom:3%; container-type:inline-size; color:var(--paper); overflow:hidden;background: rgba(0,0,0,0.5);padding: 10px 5px 10px 5px;}
    .rank-name { margin:0;font-weight:800; /*font-size:15cqw;*/font-size:14px; line-height:1.25; /*line-height:1.1; white-space:nowrap;*/font-family: 'SitaHutoFont', sans-serif;
    font-weight: normal; border-bottom: dashed 1px var(--paper);}
    .rank-size { margin:4cqw 0 0; font-weight:700; font-size:9cqw; line-height:1.1; /*white-space:nowrap; */}
    .rank-comment { margin:5cqw 0 0; font-weight:600;font-size:12px; /*font-size:10cqw;*/ line-height:1.25;  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; line-clamp:3;    font-family: 'SitaHutoFont', sans-serif;
    font-weight: normal; }
    .rank-name, .rank-size, .rank-comment { display:block; }
    /* PC(未初期化)は縦積み、SPはswiper。矢印はSPのみ表示 */
    .rank-swiper:not(.swiper-initialized) .swiper-wrapper { display:block; }
    .rank-swiper:not(.swiper-initialized) .swiper-slide { margin-bottom:5px; }
    .rank-swiper:not(.swiper-initialized) .swiper-button-prev,
    .rank-swiper:not(.swiper-initialized) .swiper-button-next { display:none; }
    .rank-swiper .swiper-button-prev, .rank-swiper .swiper-button-next { color:var(--accent); --swiper-navigation-size:22px; }
    /* ===== MAIN：左(EVENT+NEWS) / 右(バナー+NEWFACE) の2カラム ===== */
    .main-cols { display:grid; grid-template-columns:56% 44%; gap:5px; align-items:stretch; }
    .main-left { display:flex; flex-direction:column; gap:5px; min-width:0; min-height:0; }
    .main-right { display:flex; flex-direction:column; gap:5px; min-width:0; }
    .main-left > *, .main-right > * { width:100%; min-width:0; }
    .fit { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
    /* EVENT：スライダー（Swiper）。比率固定＋画像は絶対配置でcover（暴走防止） */
    .event-swiper { position:relative; aspect-ratio:2 / 1; overflow:hidden; background:#000; }
    .event-swiper .swiper-wrapper { height:100%; }
    .event-swiper .swiper-slide { position:relative; height:100%; }
    .event-swiper .swiper-slide img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
    /* NEWS：内容が長い場合は縦スクロール */
    .news { flex:1 1 0; min-height:0; overflow-y:auto; -webkit-overflow-scrolling:touch; background:var(--ink); color:var(--paper); }
    .news-inner { padding:10px 12px; font-size:12px; font-weight:600; line-height:1.5; }
    .news-inner .news-row { padding:0; border-bottom:1px solid #dcdcdc; }
    .news-inner .news-row:last-child { border-bottom:0; }
.news-inner .info_title {padding-top: 8px;padding-bottom: 8px;background-color: var(--accent);padding-left: 10px;margin-bottom: 0px;font-size:20px;font-weight: bold}
.news-inner .info_photo {margin-right: 10px;}
.news-inner .info .c_both {border-bottom: 1px dotted var(--line);height: 10px;}

@media screen and (min-width: 768px) and (max-width: 1024px) {.news-inner .info_title{font-size:18px}}
    /* 右カラム：バナー 440×313（NEWFACEではない） */
    .banner { position:relative; display:grid; place-items:center; aspect-ratio:440 / 313; overflow:hidden; }
    /* NEWFACEリスト：PC=CSSグリッド2列 / SP=Swiper横スクロール（比率10×18） */
    .newface-swiper { overflow:hidden; }
    /* ===== カード：写真(最背面)＋黒情報ボックス(中間)。赤枠は最前面に別途重ねる想定 ===== */
    .nf-card { position:relative; display:block; aspect-ratio:300 / 570; overflow:hidden; background:#000; container-type:inline-size; }
.schedule-card,.list-card { position:relative; display:block; aspect-ratio:300 / 600; overflow:hidden; background:#000; container-type:inline-size; }
    .nf-card > img{ position:absolute; top:2%; left:50%; transform:translateX(-50%); z-index:1;width:94%; aspect-ratio:2 / 3; object-fit:cover; display:block; border-top-left-radius: 20px;border-top-right-radius: 20px;}
.schedule-card > img,.list-card > img{ position:absolute; top:2%; left:50%; transform:translateX(-50%); z-index:1;width:94%; aspect-ratio:2 / 3; object-fit:cover; display:block; border-top-left-radius: 20px;border-top-right-radius: 20px;}
     .nf-card::after {content:"";position:absolute;inset:0;z-index:2;background:url(../img/frame_newface.webp) center / 100% 100% no-repeat;pointer-events:none;}
.schedule-card::after,.list-card::after {content:"";position:absolute;inset:0;z-index:2;background:url(../img/frame01.webp) center / 100% 100% no-repeat;pointer-events:none;}
.schedule-card.uguisu::after,.list-card.uguisu::after  {content:"";position:absolute;inset:0;z-index:2;background:url(../img/frame02.webp) center / 100% 100% no-repeat;pointer-events:none;}
    /* 黒い情報ボックス（2番目のレイヤー） */
    .card-info { position:absolute; left:0; right:0; bottom:0; z-index:3; color:#fff; padding:3px 8.5% 6%; text-align:left;}

    .card-time{ margin:0; display:flex; align-items:center;justify-content:center ;font-size: clamp(13px, 7.5cqw, 18px); line-height:1.6;font-family: 'SitaHutoFont', sans-serif;font-weight: normal;border-bottom: dashed 1px var(--paper);margin-bottom: 5px;letter-spacing: 0.04em}
.list-card .card-name{ margin:0; display:flex; align-items:center;justify-content:center ;font-size: clamp(16px, 10cqw, 24px); line-height:1.6;font-family: 'SitaHutoFont', sans-serif;font-weight: normal;margin-bottom: 5px;letter-spacing: 0.04em}
.nf-card .card-time{margin-bottom: 5px;letter-spacing:0}
    .card-name { margin:0; display:flex; align-items:center;justify-content: space-between ;gap:1px; font-size:clamp(10px,6.5cqw,12px); line-height:1.15;font-family: 'SitaHutoFont', sans-serif;font-weight: normal;overflow: hidden }
    .card-name .nm { white-space:nowrap; }
    .card-icons {  margin-left:auto;display:flex;flex-wrap:nowrap;gap:0px;flex:none;align-items:center;}
    .card-icons i { display:block; flex:none; width:clamp(14px, 12cqw, 26px); aspect-ratio:114 / 80; }
.card-icons i img{ display:block; width:100%; height:100%; object-fit:contain; }

.list-card .card-name {width: 100%;text-align: center;border-bottom: dashed 1px var(--paper);}
    .card-icons02 {  margin-left:auto;display:flex;flex-wrap:nowrap;   /* 折り返さない */gap:1px;flex:none;align-items:center;justify-content: center;overflow:hidden;}
    .card-icons02 i { display:block; flex:none; width:clamp(16px,15cqw,30px); aspect-ratio:1 / 1; }
.card-icons02 i img{ display:block; width:100%; height:100%; object-fit:contain; }
.card-icons02 i:nth-child(n+6) {display: none;}
.list-card .card-icons02 {margin-bottom:2px}

.list-card .card-icons02 i{width: clamp(18px, 18cqw, 40px);aspect-ratio:114 / 80;}

    .card-size { margin:3px 0 0; font-size:clamp(8px,4.6cqw,11px); line-height:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;font-weight: 700 }
.list-card .card-size {font-size:clamp(8px,5cqw,14px); line-height:1.35;}

    /* コメント：長い場合は三点リーダー（2行でクランプ） */
    .card-comment { margin:3px 3px 0 0; font-size:clamp(8px,4.6cqw,11px);letter-spacing: 0.05em; line-height:1.3; overflow:hidden; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:1; line-clamp:1;font-family: 'SitaHutoFont', sans-serif;font-weight: normal }
.list-card .card-comment {margin-bottom: 3px}
    /* Swiper未初期化/未読込・PC時のフォールバック（＝PCの2列グリッド） */
    .event-swiper:not(.swiper-initialized) .swiper-wrapper { display:block; }
    .event-swiper:not(.swiper-initialized) .swiper-slide + .swiper-slide { display:none; }
    .newface-swiper:not(.swiper-initialized) .swiper-wrapper { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
    /* PCは2×2の4個だけ表示、残りは非表示。矢印/ドットも非表示 */
    .newface-swiper:not(.swiper-initialized) .swiper-slide:nth-child(n+5) { display:none; }
    .newface-swiper:not(.swiper-initialized) .swiper-button-prev,
    .newface-swiper:not(.swiper-initialized) .swiper-button-next,
    .newface-swiper:not(.swiper-initialized) .swiper-pagination { display:none; }
    .newface-swiper .swiper-button-prev, .newface-swiper .swiper-button-next { color:var(--accent); --swiper-navigation-size:24px; }
    /* SCHEDULE配置 */
    .schedule-title,.list-title{margin-bottom: 15px}
    .schedule,.list { margin-top:5px; }
    .schedule-grid,.list-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:5px; }
    .separator { height:8px; margin:0 auto 28px; background:#111; }
    footer { display:grid; grid-template-columns:190px 1fr; gap:38px; padding:0 0 42px; }
    .footer-logo { height:160px; display:grid; place-items:center;}
    .footer-nav { display:flex; flex-wrap:wrap; gap:8px 15px; padding-top:4px; font-size:12px; font-weight:800; }
    .footer-info { margin:24px 0 8px; font-size:13px; font-weight:700; }
    .tel { font-size:32px; font-weight:900; letter-spacing:.02em; }
    .copyright { margin:10px 0 0; font-size:11px; font-weight:600; }
    :where(a, button):focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
      @media screen and (min-width: 768px) and (max-width: 1024px) { 
      .schedule-grid,.list-grid { grid-template-columns:repeat(3,1fr); }
      
      }
    @media (max-width:767px) {
      .inner { width:min(100% - 28px, 1200px); }
        .hero{margin-bottom:15px } 
       /* .separator{margin: 0 auto}*/
      .topbar { min-height:64px; align-items:center; }
      .logo { width:auto }
    .logo img {width: auto;height: 52px;}

      .business { display:none; } /* ▼SPでは営業時間ブロックを非表示 */
      .nav-wrap { display:none; }
      /* ▼SPヘッダー：電話ボタン＋メニューボタン */
      .header-actions { display:flex; align-items:center; justify-content: flex-end; gap:1px; }
      .call-button { height:52px; padding:0 10px; display:flex; align-items:center; gap:6px; background:var(--accent); color:#fff; font-size:12px; font-weight:800; letter-spacing:.04em; }
      .call-button svg { width:20px; height:20px; fill:currentColor; }
      .menu-button { width:54px; height:52px; display:flex; align-items:center; justify-content:center; gap:7px; flex-direction:column; border:0; background:#161616; color:#fff; font-size: 9px;font-weight: 700;line-height: 2; padding-top: 15px; letter-spacing:.04em; cursor:pointer; }
      .menu-icon, .menu-icon::before, .menu-icon::after { width:21px; height:2px; display:block; background:currentColor; transition:transform .2s ease; }
      .menu-icon { position:relative; }
      .menu-icon::before, .menu-icon::after { content:""; position:absolute; left:0; }
      .menu-icon::before { top:-7px; }
      .menu-icon::after { top:7px; }
      .menu-button[aria-expanded="true"] .menu-icon { background:transparent; }
      .menu-button[aria-expanded="true"] .menu-icon::before { top:0; transform:rotate(45deg); }
      .menu-button[aria-expanded="true"] .menu-icon::after { top:0; transform:rotate(-45deg); }
            /* ▼右からスライドインするドロワーメニュー */
      .drawer-overlay { display:block; position:fixed; inset:0; z-index:50; background:#0006; opacity:0; visibility:hidden; transition:opacity .3s ease, visibility .3s ease; }
      .drawer-overlay.is-open { opacity:1; visibility:visible; }
      .mobile-nav { position:fixed; z-index:60; top:0; right:0; width:min(320px, 86vw); height:100%; height:100dvh; display:grid; grid-template-columns:repeat(2,1fr); gap:5px; align-content:start; overflow-y:auto; background:rgba(10, 10, 10,0.8); border-bottom:0; box-shadow:-6px 0 18px #0003; transform:translateX(100%); transition:transform .32s cubic-bezier(.22,.61,.36,1); padding: 5px}
      .mobile-nav.is-open { transform:translateX(0); }
      .drawer-head { grid-column:1 / -1; min-height:52px; display:flex; align-items:center; justify-content:space-between; padding-left:16px; border-bottom:1px solid var(--line); font-size:11px; font-weight:800; letter-spacing:.08em; color:var(--paper); }
      .drawer-close { width:52px; height:52px; border:0; background:none; color:var(--paper); font-size:20px; font-weight:700; line-height:1; cursor:pointer; }
      /* 画像ナビ（2列×5行） */
      .mobile-nav a:not(.drawer-call) { display:block; min-height:0; padding:0; border:0; background:var(--line); border-radius: 5px}
      .mobile-nav a:not(.drawer-call) img { display:block; width:100%; height:auto; }
      .mobile-nav .drawer-call { grid-column:1 / -1; display:flex; align-items:center; justify-content:center; margin:0px 16px 16px; min-height:50px; background:var(--accent); color:#fff; border:0; font-size:13px; font-weight:800; }
    .mobile-nav .drawer-shop_info { grid-column:1 / -1; display:flex; align-items:center; justify-content:center; text-align: center; margin:16px 16px 5px; min-height:50px; background:var(--accent); color:#fff; border:0; font-size:13px; font-weight:800; }
      .content { grid-template-columns:1fr; gap:20px; }
      .side { display:flex; flex-direction:column; gap:5px; }
        .side-title::after{    width: 60%;}
      .side-title { grid-column:1/-1; margin:0; }
      .pickup-swiper { margin:0; }
      .rank-swiper { grid-column:1 / -1; }
      /* MAIN：SPは1カラム。display:contentsで子を平坦化しorderで並び替え */
      .main-cols { display:flex; flex-direction:column; gap:14px; }
      .main-left, .main-right { display:contents; }
        .event-title { order:1; }
      .event-swiper { order:2; }
      .banner { order:3; }
      .newface-title { order:4; }
      .newface-swiper { order:5; }
        .news-title { order:6; } 
      .news { order:7; flex:0 0 auto; max-height:250px; }
      /* SCHEDULE：SPは3列 */
       
      .schedule-grid,.list-grid { grid-template-columns:repeat(2,1fr); }
      /* フッターメニュー：SPはタップしやすいボックス（2列） */
      .footer-nav { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; padding-top:8px; }
      .footer-nav a { display:flex; align-items:center; justify-content:center; text-align:center; min-height:46px; padding:10px 12px; border:1px solid var(--line); border-radius:4px; }
      .footer-nav a:active { background:var(--line); color:#000; }
      footer { grid-template-columns:1fr; gap:18px; padding-bottom:28px; }
      .footer-logo { height:auto; }
      .footer-info { margin-top:18px; }
    }
    @media (max-width:430px) {
      .call-button span { display:none; }
      .call-button { padding:0 16px; }
      .schedule-grid,.list-grid { grid-template-columns:repeat(2,1fr); }
      .tel { font-size:25px; }
    }
    @media (prefers-reduced-motion:reduce) {
      .menu-icon, .menu-icon::before, .menu-icon::after { transition:none; }
    }

#day_wrapper {
    display: flex;
    flex-wrap: wrap;
    border: 1px solid var(--ink);
    overflow: hidden;
    margin: 15px 0;
    font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);font-weight: bold;
}

#day_wrapper .day {
    flex: 1 1 calc(100% / 7);
    text-align: center;
    border-right: 1px solid var(--ink);
    background: #fff;
    box-sizing: border-box;
}

#day_wrapper .day:last-child {
    border-right: none;
}

#day_wrapper .day a,
#day_wrapper #view_day {
    display: block;
    padding: 12px 8px;
    text-decoration: none;
    color: #333;
    white-space: nowrap;
}

#day_wrapper .day a:hover {
    background: #f5f5f5;
}

/* アクティブ */
#day_wrapper #view_day {
    background: var(--accent);
    color: #fff;
    
}

#day_wrapper #view_day .red,
#day_wrapper #view_day .blue {
    color: #fff;
}

/* 土日色 */
.red { color: #d40000;}
.blue {color: #0066cc;}

/* タブレット・スマホ共通（〜900px程度） */
@media (max-width: 900px) {
    #day_wrapper .day {
        flex: 0 0 25%;              /* 1行目は4個 */
        border-right: 1px solid var(--ink);
        border-bottom: 1px solid var(--ink);
    }
    /* 2行目の3個 */
    #day_wrapper .day:nth-child(n+5) {
        flex-basis: calc(100% / 3);
        border-bottom: none;        /* 最終行の下線を消す */
    }
    /* 各行の右端 */
    #day_wrapper .day:nth-child(4),
    #day_wrapper .day:nth-child(7) {
        border-right: none;
    }
    #day_wrapper .day a,
    #day_wrapper #view_day {
        padding: 10px 4px;
    }
}
.girls-title{margin-bottom: 5px}
.system-title,.map-title{margin-bottom: 5px}


@media (max-width:760px){
  .content.main-first .main { order:1; }
  .content.main-first .side { order:2; }
}
.price,.option{background-image: url("../img/price_bg02.webp"); background-repeat: repeat-y;background-size:100% auto;background-position: left top;padding:15px;overflow: hidden}
.price .detail{color:var(--pepar);font-weight: bold;text-shadow: 1px 1px 0 #000, -1px -1px 0 #000,-1px 1px 0 #000,  1px -1px 0 #000,1px 0 0 #000, -1px  0 0 #000,
  0 1px 0 #000,  0 -1px 0 #000;padding-bottom: 1em;font-size:  clamp(1.125rem, 1.08rem + 0.23vw, 1.25rem)}
@media (max-width:760px){.option{padding:5px;}}
/* ===== 料金表 ===== */
.course-title{ display:inline-flex; align-items:center; position:relative; max-width:100%; overflow:visible; vertical-align:top; margin:0 0 16px; }
/* 内側ラッパー：ボックス幅に一致。サークルはここ基準＝ボックス右端に固定される */
.ct-main{ position:relative; display:inline-flex; min-width:0; }
.ct-main::after{ content:""; position:absolute; z-index:1; top:60%; right:-50px; transform:translateY(-50%);
  height:300%; aspect-ratio:1/1; background:url(../img/course_title_bg.webp) center / contain no-repeat; pointer-events:none; }
.course-title-box{ position:relative; z-index:2; display:flex; align-items:center; justify-content:flex-start; min-width:0;
  height:clamp(28px, 3.15vw + 16.2px, 54px); padding:0 10px; background:#000; border:1px solid #fff; overflow:hidden; }
.course-title-box img{ height:70%; width:auto; max-width:100%; object-fit:contain; object-position:left center; display:block; }

/* おすすめ：左向き矢印＋点滅 */
.recommend{ position:relative; z-index:3; margin-left:0px; white-space:nowrap;
  background:var(--green); color:#000; font-weight:bold; font-size:clamp(11px,2.6vw,13px); line-height:1.5;
  padding:6px 11px 6px 14px;
  clip-path:polygon(12% 0, 100% 0, 100% 100%, 12% 100%, 0 50%);   /* ← 角度を浅く（12%） */
  animation:recblink 1s ease-in-out infinite; }
@keyframes recblink{ 0%,100%{opacity:1} 50%{opacity:.5} }

.price-table{ width:100%; border-collapse:collapse; background:#111; font-weight:700;
  font-size:clamp(13px,3.4vw,16px); /*table-layout:fixed;*/ margin: 0 auto 50px}
.price-table caption{ caption-side:top; text-align:left; font-weight:900; color:var(--line);
  font-size:clamp(14px,3.8vw,18px); padding:0 0 8px; }
.price-table th, .price-table td{ padding:clamp(8px,2.2vw,13px) clamp(6px,2vw,14px);padding-top:6px; padding-bottom:6px;
  text-align:center; border-bottom:1px solid #333; }
.price-table td{white-space: nowrap}
.price-table thead th{ background:var(--accent); color:#111; font-weight:900; border-bottom:0; }
.price-table tbody th{ text-align:left; color:#fff; white-space:nowrap; }   /* 時間列 */
.price-table .col-time{ width:26%; }
.price-table .mem{ color:var(--line); }                                     /* 会員価格を強調 */
.price-table tbody tr:nth-child(even) td,
.price-table tbody tr:nth-child(even) th{ background:#1b1b1b; }              /* ゼブラ */
.price-table tbody tr:hover td,
.price-table tbody tr:hover th{ background:#242424; }
.price-note{ margin:8px 0 0; font-size:12px; font-weight:600; color:#bbb; }
@media (max-width:940px){.price-table tbody th{white-space:normal;} }
@media (max-width:430px){
    .price{padding: 5px}
    .course-title-box{ padding:0 5px;}
    .price-table th{ padding:6px 4px 6px 10px; }
  .price-table td{ padding:6px 4px; }
}
.price-table tbody tr.trial th,
.price-table tbody tr.trial td{ background:#2a1a00; border-bottom:0; }
.price-table tbody tr.trial{ outline:2px solid var(--line); outline-offset:-2px; }
.price-table tbody tr.trial th{ color:var(--line); }
.price-table tbody tr.trial td{ color:#fff; font-weight:900; font-size:clamp(15px,3.8vw,19px); letter-spacing:.02em; }
.price-table tbody tr.trial td .badge{ display:inline-block; margin-right:8px; padding:2px 8px;
  background:var(--accent); color:#fff; font-size:clamp(10px,2.6vw,12px); font-weight:800; border-radius:3px; vertical-align:middle; }
/* ===== オプション料金表（行カード風・.price-tableとは別デザイン） ===== */
.opt-table{ width:100%; border-collapse:separate; border-spacing:0 6px; font-weight:700; }
.opt-table td{ background:#161616; padding:clamp(10px,2.4vw,14px) clamp(10px,3vw,16px); vertical-align:middle; }
.opt-table td:first-child{ border-radius:8px 0 0 8px; width:52%; }
.opt-table td:last-child{ border-radius:0 8px 8px 0; text-align:right; white-space:nowrap; }
.opt-table .name{ font-size:clamp(1.25rem, 1.205rem + 0.23vw, 1.375rem);text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4); }
.opt-table .price{ font-size:clamp(1.375rem, 1.33rem + 0.23vw, 1.5rem);text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4); font-weight:900; }
/* 元値→無料の割引表現 */
.opt-table .was{ color:#888; text-decoration:line-through; font-size:.86em; margin-right:8px; }
.opt-table .free{ color:#111; background:var(--line); font-weight:900; padding:2px 10px; border-radius:999px; font-size:clamp(13px,3.6vw,16px); }
.opt-table tr.is-free td{ background:#20220a; }                         
.opt-table tr.is-free td:first-child{ box-shadow:inset 4px 0 0 var(--line); } 
.opt-note{ margin:10px 2px 0; font-size:12px; color:#aaa; font-weight:600; }
/* ===== お試しコース===== */
.trial-table{ width:100%; border-collapse:separate; border-spacing:0 6px; font-weight:700;  margin-bottom: 30px; }
.trial-table td{ background:#161616; padding:clamp(10px,2.4vw,14px) clamp(10px,3vw,16px); vertical-align:middle; }
.trial-table td:first-child{ border-radius:8px 0 0 8px; width:52%; }
.trial-table td:last-child{ border-radius:0 8px 8px 0; text-align:right; white-space:nowrap; }
.trial-table .name{ font-size:clamp(1.25rem, 1.205rem + 0.23vw, 1.375rem);text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4); }
.trial-table .price{ font-size:clamp(1.375rem, 1.33rem + 0.23vw, 1.5rem);text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4); font-weight:900; color: #fe0000;  }
.trial-table td:first-child { box-shadow:inset 4px 0 0 var(--accent);  }
/*.trial-table { 
  width: 100%; 
  border-collapse: separate; 
  border-spacing: 0 10px; 
  font-weight: 700; 
  margin-bottom: 30px; 
}
.trial-table td { 

  background: #1c1c1c; 
      padding: clamp(10px, 2.4vw, 14px) clamp(10px, 3vw, 16px); 
  vertical-align: middle; text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4);
}


.trial-table td:first-child { 
  border-radius: 12px 0 0 12px; 
  width: 42%;

  box-shadow: inset 8px 0 0 var(--accent); 
}

.trial-table td:last-child { 
  border-radius: 0 12px 12px 0; 
  text-align: right; 
  white-space: nowrap; 
}


.trial-table .name { 
  font-size: clamp(1.25rem, 1.205rem + 0.23vw, 1.375rem); 
  letter-spacing: 0.05em; 
  color: #ffffff;
}


.trial-table .price { 
  font-size: clamp(1.375rem, 1.33rem + 0.23vw, 1.5rem);
  font-weight: 900; 
  color: #fe0000; 
}

@media (max-width: 420px) {
  .trial-table tbody,
  .trial-table tr,
  .trial-table td {
    display: block;
    width: 100% !important;
    box-sizing: border-box;
  }

  .trial-table {
    border-spacing: 0; 
  }
  .trial-table tr {
    margin-bottom: 16px;
  }

  .trial-table td:first-child {
    border-radius: 12px 12px 0 0; 
    box-shadow: inset 8px 0 0 var(--accent); 
    padding-bottom: 6px;
  }

  .trial-table td:last-child {
    border-radius: 0 0 12px 12px; 
    text-align: left; 
    box-shadow: inset 8px 0 0 var(--accent); 
    padding-top: 6px;
  }


}
*/



hr.down {
  height: 15px;
  border: none;
  background-image: url("../img/arrow_down.svg");
  background-repeat: repeat-x;
  background-position: left center;
  background-size: 25px 15px; /* 32px画像を40px間隔で配置 */
    margin-bottom: 1em;animation:recblink 1s ease-in-out infinite;
}
hr.up {
  height: 15px;
  border: none;
  background-image: url("../img/arrow_up.svg");
  background-repeat: repeat-x;
  background-position: left center;
  background-size: 25px 15px; /* 32px画像を40px間隔で配置 */
    margin: 1em 0;animation:recblink 1s ease-in-out infinite;
}
hr.dash {
  border: none;
  height: 4px;
  background-image: repeating-linear-gradient(
    to right,
    var(--green) 0 10px,        /* ダッシュ */
    transparent 10px 20px /* 間隔 */
  ); margin-bottom: 1em;
}
.option-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;padding: 15px;background-image: url("../img/price_bg02.webp"); background-repeat: repeat-y;background-size:100% auto;background-position: left top;
}

.option-list img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1; /* 正方形 */
  object-fit: cover;
}

/* SP */
@media (max-width:430px){
  .option-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;padding: 5px
  }
}
.hotel_info{padding: 15px}
@media (max-width:430px){
.hotel_info{padding: 5px}
    
}
.hotel-table{
    width:100%;
    border-collapse:collapse;
    background:#111;
    font-weight:700;
    font-size:clamp(13px,3.4vw,16px);
    margin:0 auto 30px;
}

.hotel-table th,
.hotel-table td{
    padding:10px 14px;
    border-bottom:1px solid #333;
}

.hotel-table thead th{
    background:var(--accent);
    color:#111;
    font-weight:900;
    text-align:center;
}

.hotel-table tbody td{
    color:#fff;
}

.hotel-table tbody tr:nth-child(even){
    background:#1b1b1b;
}

.hotel-table tbody tr:hover{
    background:#242424;
}

.hotel-table a{
    display:inline-block;
    color:var(--line);
    text-decoration:none;
    font-weight:900;
}

.hotel-table a:hover{
    text-decoration:underline;
}

.hotel-table-wrap{
    overflow-x:auto;
}

/*女の子詳細*/
.profile_detail{ color:#fff; padding:clamp(14px,3vw,24px); border-radius:4px; }
.pf-detail-grid{ width:100%; display:grid; grid-template-columns:minmax(0,52fr) minmax(0,48fr); gap:clamp(16px,3vw,30px); align-items:start; }
.pf-left,.pf-right{ display:flex; flex-direction:column; gap:16px; min-width:0; }

/* 写真ギャラリー（Swiperサムネ連動） */
.pf-gallery{ width:100%; min-width:0; }
/* メイン写真：画像の自然な高さで表示（aspect-ratio/height:100%を使わず暴走を根絶） */
.pf-main{ width:100%; min-width:0; overflow:hidden; margin-bottom:8px; }
.pf-main .swiper-slide{ min-width:0; }
.pf-main .swiper-slide img{ display:block; width:100%; aspect-ratio:2 / 3; height:auto; object-fit:cover; }
/* サムネ：スライド幅はslidesPerViewで確定、画像は絶対配置cover */
.pf-thumbs{ width:100%; min-width:0; }
.pf-thumbs .swiper-slide{ position:relative; aspect-ratio:3/4; overflow:hidden; cursor:pointer; opacity:.5; transition:opacity .2s;}
.pf-thumbs .swiper-slide img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block;}
.pf-thumbs .swiper-slide-thumb-active{ opacity:1; outline:2px solid #111; outline-offset:-2px; }

/* テキスト各要素 */
.pf-name{ margin:0; font-size:clamp(1.5rem, 1.364rem + 0.68vw, 1.875rem);line-height: 2; font-family: 'SitaHutoFont', sans-serif;font-weight: normal;  border-bottom:2px dashed var(--accent); }
.pf-name .age{ font-size:1em; font-weight:700; }
.pf-size{ margin:0;  font-size:clamp(1rem, 0.909rem + 0.45vw, 1.25rem); font-family: 'SitaHutoFont', sans-serif;font-weight: normal;line-height: 2;}
.pf-icons{ list-style:none; margin:0; padding:0; display:flex;flex-wrap: wrap;gap:5px; }
.pf-icons li{ width:clamp(1.875rem, 1.591rem + 1.21vw, 2.5rem); aspect-ratio:1/1; border-radius:50%; overflow:hidden; background:#111; flex:none; }
.pf-icons img,.pf-icons02 img{ width:100%; height:100%; object-fit:cover; display:block; }
.pf-icons02{margin:0; padding:0; display:flex; gap:5px;}
.pf-icons02 i{ width:60px; aspect-ratio:114 / 80; overflow:hidden; flex:none; }


.pf-heading{ margin:0 0 10px; font-size:clamp(1rem, 0.909rem + 0.45vw, 1.25rem); font-family: 'SitaHutoFont', sans-serif;font-weight: normal;line-height: 2;border-bottom:2px dashed var(--accent); }
.pf-qa-list{ margin:0; }
.pf-qa-list dt{ font-weight:700; font-size:clamp(13px,1.6vw,15px); }
.pf-qa-list dd{ margin:0 0 10px; font-size:clamp(13px,1.6vw,15px); color:#fff; }
.pf-comment{ grid-column:1 / -1; }
.pf-button{ grid-column:1 / -1; text-align: center}
.pf-comment-text{ margin:0; font-size:clamp(13px,1.6vw,15px); line-height:1.8; }
/* 週間スケジュール */
/* 週間スケジュール */
.pf-schedule-wrap{
  grid-column:1 / -1;              /* ← PCで全幅に（ラッパー側に移動） */
  width:100%;
}
.pf-schedule{
  display:grid;
  grid-template-columns:repeat(7, minmax(0,1fr)); /* PC：7列 */
  gap:6px;
  width:100%;
}
.pf-week-sche{
  display:flex;
  flex-direction:column;
  border:1px solid var(--line);
  border-radius:4px;
  overflow:hidden;
  background:rgba(255,255,255,.06);
  min-width:0;                     /* はみ出し防止 */
}
.pf-week-sche .date{
  text-align:center;
  font-family:'SitaHutoFont', sans-serif;
  font-size:clamp(12px,1.4vw,15px);
  padding:6px 4px;
  background:var(--ink);
  color:#fff;
  border-bottom:1px solid var(--line);
}
.pf-week-sche .date.sat{ background:#2b6cb0; } /* 土：青 */
.pf-week-sche .date.sun{ background:#c53030; } /* 日：赤 */
.pf-week-sche .time{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-size:clamp(12px,1.4vw,14px);
  line-height:1.4;
  padding:8px 4px;
  min-height:2.5em;
  color:#fff;
  word-break:break-all;            /* 長いコメントの折返し */
}
.girl-button{}
.girl-button {text-align: center; font-family: 'SitaHutoFont', sans-serif;font-weight: normal;font-size:clamp(1rem, 0.909rem + 0.45vw, 1.25rem);
	background: var(--accent);
	color: #fff;
	display: inline-block;
	overflow: hidden;
	padding: 20px;
	position: relative;
	text-decoration: none;border: 3px solid var(--line);margin: 0 auto
}
.girl-button::after {
	animation: 2s 0s shine linear infinite;
	background: linear-gradient(to right, rgba(255,255,255,0) 25%, rgba(255,255,255,.6) 50%, rgba(255, 255, 255, 0) 75%);
	content: '';
	height: 100%;
	left: -100%;
	position: absolute;
	top: 0;
	transform: skewX(-15deg);
	width: 100%;
}
.girl-button:hover {
	color: #fff;
}
@keyframes shine {
	20% {
		left: 100%;
	}
	100% {
		left: 100%;
	}
}
/* SP：単カラムで順番組み替え（名前→サイズ→アイコン→写真→Q&A→コメント） */

@media (max-width:760px){
  .pf-detail-grid{ width:100%; display:flex; flex-direction:column; gap:16px; }
  .pf-left,.pf-right{ display:contents; }
  .pf-name{order:1} .pf-size{order:2} .pf-icons02{order:3}.pf-icons{order:4}
  .pf-gallery{order:5} .pf-qa{order:6} .pf-comment{order:7}
  .pf-schedule-wrap{order:8}       /* ← ラッパーに変更 */
  .pf-button{order:9}
  .pf-name,.pf-icons,.pf-qa,.pf-button,.pf-comment{width: 100%}

  /* SP：2列 */
  .pf-schedule{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:8px; }

  .pf-week-sche .date{
    font-size:clamp(11px, 3.4vw, 14px);
    padding:5px 2px;
    letter-spacing:-.03em;
    white-space:nowrap;
  }
  .pf-week-sche .time{
    font-size:clamp(11px, 3.2vw, 13px);
    padding:7px 3px;
    min-height:2.2em;
  }
}
 @media (max-width:760px){ .content{padding-top: 5px}
  .content.main-first .main { order:1; }
  .content.main-first .side { order:2; }
}
/*GUIDE*/
.guide_list {padding: 15px}
/* スマホ（初期値）：すべて縦並び（画像が上、コメントが下） */
.guide_list .row {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 40px; /* 行ごとの余白 */   position: relative;
}
.guide_list .row::after {
  content: "";
  display: block;
  width: 100%;
  height: 4px;
  position: absolute;
  bottom: -20px; /* 余白40pxのちょうど真ん中に配置 */
  left: 0;
  border: none;
  background-image: repeating-linear-gradient(
    to right,
    var(--line) 0 10px,        /* ダッシュ */
    transparent 10px 20px /* 間隔 */
  );
}
.guide_ttl{font-weight: bold;font-size:clamp(1.125rem, 1.08rem + 0.23vw, 1.25rem) ;line-height: 2}
/* PC（画面幅 768px 以上） */
@media (min-width: 768px) {
.guide_list .row {
    flex-direction: row; /* 基本は横並び（画像＋コメント） */
    align-items: center; /* 上下中央揃え（お好みで） */
    justify-content: space-between;
  }

  /* 偶数行（2行目、4行目）だけ左右を反転（コメント＋画像） */
.guide_list .row:nth-child(even) {
    flex-direction: row-reverse;
  }

  /* 子要素の幅調整（例：左右50%ずつにする場合） */
.guide_list .media, .guide_list .text {
    width: 48%; 
  }

}
@media (max-width:430px){
 .guide_list {padding: 5px}   
    
}
.warning_box {
    position: relative;
    padding: 4rem 1rem 1rem;
    background-color: var(--paper);
    background-image: repeating-linear-gradient(-45deg, var(--accent) 0 5px, var(--ink) 5px 10px);
    background-position: top;
    background-size: 100% 2rem;
    background-repeat: no-repeat;
    margin: 15px;
    
}
.warning_box::before {
    position: absolute;
    top: 1rem;
    left: 50%;
    padding: 0.5rem 1em;
    transform: translateX(-50%);
    border-radius: 30px;
    background-color: var(--ink);
    box-shadow: 0 0 5px black;
    color: #ff0020;
    text-align: center;
    text-transform: uppercase;
    font-weight: bold;
    content: attr(data-title);
}
.warning_box p {
    color: #333;font-weight: bold;
    line-height: 1.5;
}
@media (max-width:430px){
    .warning_box{margin: 5px;}
}
/*EVENT*/
ul.event-list{padding: 15px}
ul.event-list li{display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 40px;
    position: relative;}
ul.event-list li::after {
    content: "";
    display: block;
    width: 100%;
    height: 4px;
    position: absolute;
    bottom: -20px;
    left: 0;
    border: none;
    background-image: repeating-linear-gradient(to right, var(--line) 0 10px, /* ダッシュ */ transparent 10px 20px /* 間隔 */);
}
/*RECRUIT*/
.rec-detail { color: #fff;padding: clamp(16px, 3vw, 28px);}

.rec-ttl{ margin:0; font-size:clamp(1.25rem, 1.159rem + 0.45vw, 1.5rem); font-family: 'SitaHutoFont', sans-serif;font-weight: normal;  border-bottom:3px dashed var(--accent);padding-bottom: 5px }

.rec-ttl + p{padding: 1em 0 1.5em}
/* ===== 求人情報テーブル ===== */
.row_table{ width:100%; border-collapse:collapse; background:#111; font-size:clamp(14px,1.7vw,16px); }
.row_table th, .row_table td{ border:1px solid #333; padding:clamp(12px,2vw,16px) clamp(12px,2vw,18px);
  text-align:left; vertical-align:top; line-height:1.7; }
/* 項目列（左）：黄文字・幅固定・折り返さない */
.row_table th{ width:180px; background:#1c1c1c; color:var(--line); font-weight:800; white-space:nowrap; letter-spacing:.06em; }
/* 内容列（右） */
.row_table td{ color:#fff; word-break:break-word; }

/* SP：1列（項目→内容の縦積み） */
@media (max-width:680px){
  .row_table, .row_table tbody, .row_table tr, .row_table th, .row_table td{ display:block; width:100%; }
  .row_table tr{ border-bottom:2px solid #333; }
  .row_table tr:last-child{ border-bottom:0; }
  .row_table th{ border:0; border-left:4px solid var(--line); background:#1c1c1c; padding:10px 14px; }
  .row_table td{ border:0; padding:12px 14px 16px; }
}
.line-box {
    display: flex;
    align-items: center;
    max-width: 1000px;
    margin: 0 auto;
    padding: 20px;
    border: 8px solid #00c300;
    background: #fff;
    box-sizing: border-box;
}

.line-qr {
    flex: 0 0 180px;
}

.line-qr img {
    width: 100%;
    display: block;
}

.line-content {
    flex: 1;
}

.line-title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
}

.line-title img {
    width: 42px;
    height: 42px;
}

.line-title span {
    color: #00c300;
    font-size: clamp(1.35rem, 3vw, 2.4rem);
    font-weight: 700;
}

.line-id {
    font-size: clamp(1.2rem, 2.5vw, 2rem);
    font-weight: bold;
    margin: 10px 0;color: var(--ink)
}

.line-message {
    font-size: clamp(1rem, 2vw, 1.6rem);
    font-weight: bold;
    line-height: 1.35;color: var(--ink)
}
@media (max-width: 480px) {

    .line-box {
        flex-direction: column;
        text-align: center;
        padding: 20px 15px;
    }

    .line-qr {
        flex: none;
        width: 200px;
    }

    .line-title {
        justify-content: center;
        flex-wrap: wrap;
    }
    .line-title img{ width: 100px;height: 100px}
    .line-id,
    .line-message {
        text-align: center;
    }
}

/* ボタン共通設定 */
.btn, a.btn{
    font-weight: 700;
    line-height: 1.5;
    position: relative;
    display: flex; /* flexに変更して中身を中央寄せ */
    flex-direction: column;
    justify-content: center; /* 縦方向の中央寄せ */
    align-items: center; /* 横方向の中央寄せ */
    width: 100%;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-align: center;
    text-decoration: none;
    color: #212529;
}

/* ラッパー：初期値はSP用（1列） */
.btn-wrap-pc-sp2 {
    margin: 0 auto 15px;
    display: flex;
    flex-direction: column;
    gap: 15px; /* ボタン間の余白 */
}

/* お問い合わせボタン */
a.btn--contact {
/*    font-size: 2rem;*/
    padding: 1.6rem 2rem 1.6rem 2.5rem;
    color: #fff;
    background: #eb6100;
    -webkit-box-shadow: 0 5px 0 #d25600;
    box-shadow: 0 5px 0 #d25600;
}
a.btn--contact .number {
    line-height: 1;
    display: inline-block;
    margin-top: 0.5rem;
    padding: 0.25rem 2rem;
    letter-spacing: 0;
    color: #eb6100;
    border-radius: 0.5rem;
    background: #fff;
}
a.btn--contact:hover {
    color: #fff;
}

/* 電話ボタン */
a.btn--tel {
    padding: 1.6rem 2rem 1.6rem 2.5rem;
    color: #fff;
    background: var(--red);
    -webkit-box-shadow: 0 5px 0 var(--accent);
    box-shadow: 0 5px 0 var(--accent);
}
a.btn--tel .number {
    line-height: 1;
    display: inline-block;
    margin-top: 0.5rem;
    padding: 0.25rem 1rem;
    letter-spacing: 0;
    color: var(--red);
    border-radius: 0.5rem;
    background: #fff;
}
a.btn--tel:hover {
    color: #fff;
}

/* SVGアイコンの配置・サイズ設定 */
.ico-left {
    position: absolute;
    top: 50%;
    left: 1rem;
    transform: translateY(-50%);
    width: 2rem;
    height: auto;
}
.ico-right {
    position: absolute;
    top: 50%;
    right: 0.75rem;
    transform: translateY(-50%);
    width: 1rem;
    height: auto;
}
@media screen and (min-width: 1025px) {
    .btn-wrap-pc-sp2 {
        max-width: 830px; /* 2列並び用に最大幅を拡大 */
        flex-direction: row; /* 横並びにする */
        justify-content: space-between;
        align-items: stretch; /* 左右のボタンの高さを揃える */
    }
    .btn, a.btn, button.btn {
        width: 49%; /* 2列並びにするため幅を調整 */
        font-size:18px;
    }
    .ico-left {width: 2.5rem; left: 1.5rem;}
    .ico-right{ width: 1rem;right: 1rem;}
    a.btn--contact { padding: 1.6rem 4rem 1.6rem 5rem;}
    a.btn--tel {padding: 1.6rem 4rem 1.6rem 5rem;}
    a.btn--tel {
        margin-top: 0;
    }
}
.kiyaku p{padding: 1em 0 0 15px }
.list-kiyaku {
    list-style: none; padding: 10px;
    margin: 0 0 20px 0;
}

.list-kiyaku li {
    padding: .5em 0;
    border-bottom: 1px dashed var(--muted);
    padding-left: 1.2em; 
    text-indent: -1.2em; 
}


.list-kiyaku li:not(:last-child)::before {
    content: "•";       
    color: #fff;
    font-size: 1.1em;
    margin-right: 0.4em; 
}


.list-kiyaku li:last-child {
    padding-left: 0;
    text-indent: 0;border-bottom:none;
}
ul.list-chuui {
    list-style: none;
    margin: 0 0 20px 0;
}

.list-chuui li {
    padding: .5em 0;
    border-bottom: 1px dashed var(--muted);
    padding-left: 1.2em; 
    text-indent: -1.2em; 
}


.list-chuui li:not(:last-child)::before {
    content: "•";       
    color: #fff;
    font-size: 1.1em;
    margin-right: 0.4em; 
}


.list-chuui li:last-child {
    padding-left: 0;
    text-indent: 0;border-bottom:none;
}
.chuui_detail{padding: 15px}
  .notice-title {
            font-size: 1.25rem;
            font-weight: bold;
            border-bottom: 2px solid #333;
            padding-bottom: 8px;
            margin-top: 0;
            margin-bottom: 15px;
        }
        .notice-text {
            margin-bottom: 15px;
        }
        .alert-text {
            color: var(--accent);
            font-weight: bold;
        }
        .footer-text {
            font-weight: bold;
            text-align: center;
            margin-top: 20px;
        }

.to-top { position:fixed; z-index:45; right:16px; bottom:16px; width:52px; height:52px; display:grid; place-items:center; border:0; padding:0; cursor:pointer;
  background:var(--accent); color:#fff; border-radius:4px; box-shadow:0 2px 10px #0006;
  opacity:0; visibility:hidden; transform:translateY(10px); transition:opacity .3s ease, transform .3s ease, visibility .3s ease; }
.to-top.is-visible { opacity:1; visibility:visible; transform:translateY(0); }
.to-top svg { width:22px; height:22px; fill:currentColor; }
.to-top:hover { background:#a90f22; }
@media (max-width:760px){
  .to-top { right:12px; bottom:12px; width:46px; height:46px; }
  body.nav-open .to-top { opacity:0; visibility:hidden; }
}