@charset "utf-8";


/* /////////////////////////////////////////////////////////////

INDEX

サイト全体の基本スタイルの設定
/* ヘッダー
/* トップイメージ
/* コンテンツヘッダー
/* フッター

/* 提携店・街歩き

///////////////////////////////////////////////////////////// */

/* 投稿　枠設定 */

.error404 .site-width-box,
.category .site-width-box,
.single-post .site-width-box,
.blog .site-width-box {
    max-width: 1280px!important;
    margin: 0 auto!important;
    padding: 0 20px!important;
    box-sizing: inherit!important;
}

/* 投稿　トップ余白 */
.error404 .site-width-box,
.category .site-width-box,
.single-post .site-width-box,
.blog .site-width-box{
  padding-top: 20px!important;
}
@media screen and (max-width: 767px) {
  .error404 .site-width-box,
  .category .site-width-box,
  .single-post .site-width-box,
  .blog .site-width-box{
    padding-top: 40px!important;
  }
}
@media screen and (min-width: 768px) {
  .error404 .site-width-box,
  .category .site-width-box,
  .single-post .site-width-box,
  .blog .site-width-box{
    padding-top: 50px!important;
  }
}

/* AIチャットボタン：SP */
@media screen and (max-width: 991px) {
  .ai-chat-btm-mb{
    display: block;
    position: fixed;
    right: 10px;
    bottom: 60px;
    width: 60px;
    height: 60px;
    z-index: 10;
  }
  .ai-chat-btm-mb img{
    width: 100%;
    height: 100%;
  }
}

/* AIチャットボタン：PC */

@media screen and (max-width: 991px) {
  #chatbot-toggle_button {
      position: fixed;
      right: 20px;
      bottom: 80px!important;
      z-index: 999999;
      border-radius: 20px;
      overflow: hidden;
      box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);
  }
}
@media screen and (min-width: 992px) {
  
  #chatbot-toggle_button {
      position: fixed;
      right: 20px;
      bottom: 20px;
      z-index: 999999;
      border-radius: 20px;
      overflow: hidden;
      box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);
  }
}

#chat-button img {
    display: block;
    cursor: pointer;
    width: 100px;  /* JSの指定と同じですが、CSSでも明示しておくと安心です */
    height: 100px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    transition: transform 0.2s ease;
}

#chat-button img:hover {
    transform: scale(1.05);
}

/* 画面幅が 991px 以下の場合のスタイル（スマホ・タブレット向け） */
@media screen and (max-width: 991px) {
    #chat-button img {
        width: 60px !important;   /* JSの属性値を強制的に上書きします */
        height: 60px !important;  /* JSの属性値を強制的に上書きします */
    }
    
}


/* スライダーボタン：下部調整 */
.vk_slider .swiper-button-next.swiper-button-always-bottom,
.vk_slider .swiper-button-prev.swiper-button-always-bottom,
.vk_post_list_slider .swiper-button-next.swiper-button-always-bottom,
.vk_post_list_slider .swiper-button-prev.swiper-button-always-bottom {
    bottom: 28px!important;
}
@media (width < 576px) {
  .vk_slider .swiper-button-next.swiper-button-mobile-bottom,
  .vk_slider .swiper-button-prev.swiper-button-mobile-bottom {
    bottom: 28px!important;
  }
}


/* ショート動画ポップアップウインドウ */
/* スマホ時のデフォルト設定（画面全体に広げる） */
#shorts-video-container {
    width: 100vw !important;
    height: 100vh !important;
    top: 0;
    left: 0;
}

/* パソコン・タブレット（横幅768px以上）のときの設定 */
@media screen and (min-width: 768px) {
    #shorts-video-container {
        width: 360px !important;
        height: 640px !important;
        
        /* 【最重要】fadeInのバグに負けない、絶対的な画面中央配置の命令 */
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) !important;
        
        border-radius: 8px;
        box-shadow: 0 0 30px rgba(0,0,0,0.7);
    }
    #shorts-custom-close {
        top: 10px !important;
        right: 15px !important;
        font-size: 32px !important;
    }
}



/* ヘッダー
-------------------------------------------------------------- */


.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}

.main-navigation ul.main-menu>li.menu-item-has-children>span::after{
  top: 7px;
}


/* トップイメージ
-------------------------------------------------------------- */


/* 総収容台数400台 */

.position-set{
  position: relative;
}

.car400-icon{
  position: absolute;
  right: 0;
  bottom: 0;

  width: 40%;
  max-width: 320px;
  z-index: 10;
}
.car400-icon2{
  position: absolute;
  right: 20%;
  bottom: 0;
  width: 70%;
  z-index: 1;
}

.car400-icon img{
  width: 100%;
  height: auto;
}
@media screen and (min-width: 992px) {
  .car400-icon{
    max-width: 200px;
  }
  .car400-icon2{
    right: 10%;
    width: 60%;
  }
}
@media screen and (min-width: 1280px) {
  .car400-icon{
    max-width: 320px;
  }
  .car400-icon2{
    right: 10%;
    width: 40%;
  }
}

/* トップイメージ：ベースグラデ */
.topimage::before{
  content: '';
  position: absolute;
  top:0;
  left: 0;
  display: block;
  width: 0;
  height: 100%;
  background: linear-gradient(to right, rgba(237, 246, 251, 0.8) 40%, transparent);
  animation: topfadeIn ease 1s normal forwards;
  z-index: 1;
}
@keyframes topfadeIn{
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}

/* 車アニメーション */
.car-slide {
  position: absolute;
  bottom: 0px; /* 要素の下側に配置 */
  width: 50px;  /* 車のサイズ */
  height: auto;
      
  /* アニメーションの設定 */
  animation: driveRight 10s linear infinite;
  z-index: 10;
}
.car-slide img{
  width: 100%;
  height: auto;
}

@media screen and (min-width: 992px) {
  .car-slide {
    width: 100px;  /* 車のサイズ */
  }
}
@media screen and (min-width: 1280px) {
  .car-slide {
    width: 150px;  /* 車のサイズ */
  }
}

@keyframes driveRight {
  0% {
    left: -170px; /* 車の幅に合わせて画面の左外側に隠す */
  }
    100% {
    left: 100%; /* 画面の右端を完全に通り過ぎる位置 */
  }
}

/* トップイメージ：テキスト */

.top-text-area .top-text-copy{
  line-height: 1.2;
  margin-bottom: 0.3em;
  color: #07569c;
  font-weight: bold;
}
.top-text-area p{
  margin-bottom: 0.8em!important;
}

/* トップイメージ：リンクボックス */
ul.topbnlink-box{
  display: flex;
  flex-wrap: wrap;
  list-style-type: none;
  margin: 0.5em 0 0 0;
  padding: 0;
  gap:10px 10px;
}
ul.topbnlink-box li{
  width: 300px;
}
ul.topbnlink-box li a{
  position: relative;
  display: block;
  width: 100%;
  padding: 0.8em;
  background-color: #777777;
  color: #ffffff;
  box-sizing: border-box;
}

ul.topbnlink-box li a::after{
  content: '';
  position: absolute;
  top:50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  right: 10px;
  width: 12px;
  height: 12px;
  background-image:url("../img/icon/pageuyaji-right.svg");
  background-size: contain;
  background-repeat: no-repeat;
  transition: all 0.3s;
}
ul.topbnlink-box li a:hover::after{
  content: '';
  right:5px;
}
ul.topbnlink-box li a.toplink-base-b{
  background-color: #075ba5;
  border: solid 1px #075ba5;
  color: #ffffff;
}
ul.topbnlink-box li a.toplink-base-b::after{
  content: '';
  filter: brightness(0) invert(1);
}
ul.topbnlink-box li a.toplink-base-w{
  background-color: #ffffff;
  border: solid 1px #075ba5;
  color: #075ba5;
}
ul.topbnlink-box li a.toplink-base-w::after{
  content: '';
  filter: invert(24%) sepia(91%) saturate(2256%) hue-rotate(193deg) brightness(94%) contrast(97%);
}
ul.topbnlink-box li a.toplink-base-g{
  background-color: #08783c;
  border: solid 1px #08783c;
  color: #ffffff;
}
ul.topbnlink-box li a.toplink-base-g::after{
  content: '';
  filter: brightness(0) invert(1);
}



@media screen and (max-width: 1319px) {
  

  /* トップイメージ：テキスト */
  .top-text-area{
    position: absolute;
    display: block;
    z-index: 10;
    
    width: 100%;
    padding: 0 20px;
    box-sizing: border-box;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
  
  .top-text-area .top-text-copy{
    font-size: 2.5em;
  }
  .top-text-area p{
    font-size: 1em;
  }
}

@media screen and (max-width: 650px) {
  .top-text-area .top-text-copy{
    font-size: 2em;
  }
  .top-text-area p.top-text-p br{
    display: none;
  }
  
  /* トップイメージ：リンクボックス */
  ul.topbnlink-box li{
    width: 100%;
  }
}

@media screen and (min-width: 1320px) {
  .top-text-area{
    position: absolute;
    display: block;
    z-index: 10;
    width: 1280px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
  
  .top-text-area .top-text-copy{
    font-size: 3em;
  }
  .top-text-area p{
    display: block;
    font-size: 1em;
  }
}


/* ヘッダー特定リンク */

.headlink-home-box{
  display: none;
}

@media screen and (min-width: 992px) {
  
  /* ヘッダー特定リンク */
  .headlink-home-box{
    position: absolute;
    display: block;

    top:-10px;
    right: 0;
    z-index: 10;
  }
  
  /* ヘッダー：入口案内 */
  .headlink-home {
    display: block;
    background-color: #075ba5;
    color: #ffffff!important;
    width: 130px;
    height: 93px;
    position: relative;
  }
  .headlink-home span{
    position: absolute;
    display: block;
    text-align: center;
    width: 100%;
    
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
  .headlink-home span::before{
    content:'はじめての方へ';
    display: block;
    font-size: 0.6em;
  }
  
  /* ヘッダーメインメニュー文字サイズ調整 */
  .main-navigation ul.main-menu{
    font-size: 0.9em;
  }
  
}


/* 3つの理由（my-blockから抜出）  */
.choose3-link{
  position: absolute;
  display: block;
  width: 80%;
  bottom: 1.5em;
  margin: 0 0 0 0!important;
  box-sizing: border-box;
  
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
/* 3つの理由 */
.choose3-block{
  font-size:16px;
  width: 100%;
  padding-bottom: 70px;
  box-sizing: border-box!important;
  border: solid 1px #075ba5;
  position: relative;
}
.choose3-block .allbtm-link{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  bottom: 1em;
  width: 90%;
  box-sizing: border-box!important;
  padding: 0 1em;
}


/* 駐車方法 */
.parking-type-flex>div{
  display: block;
  width: 100%;
  gap:10px;
}
.parking-type-flex .parking-type-link{
  width: 100%;
  box-sizing: border-box;
  margin: 0 0 10px 0;
}
@media only screen and (min-width:782px){ 
  
  .parking-type-flex>div{
    display: flex;
    width: 100%;
    gap:10px;
  }
  .parking-type-flex .parking-type-link{
    width: 33.3%;
    margin: 0 0 0 0;
  }
}


/* 使い方から探す：全画面背景 */
.choose-select-box-img img{
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  height: auto;
  width: 100%;
  max-width: 240px;
  margin: 0 auto;
}

/* LINEサービス */

.line4-clm{
  position: relative;
  padding-bottom: 90px!important;
}
.line-price-wait,
.line-price-box{
  position: absolute;
  bottom: 1.5em;
  left: 0;
  width: 100%;
  padding: 0 1em;
  box-sizing: border-box;
}


/* コンテンツヘッダー
-------------------------------------------------------------- */

.content-header-area{
  background-color: #eeeeee;
  padding: 3em 2em;
  min-height: 250px;
  background-image: url('/wp-content/uploads/2026/09/topimg05.jpg');
  background-size: cover;
  background-position: center center;
  position: relative;
}

.content-header-area.conhead-faq{
  background-image: url('/wp-content/uploads/2026/10/conhead-faq.jpg');
  background-position: center center;
}
.content-header-area.conhead-business{
  background-image: url('/wp-content/uploads/2026/10/conhead-business3.jpg');
  background-position: center center;
}
.content-header-area.conhead-pay{
  background-image: url('/wp-content/uploads/2026/10/conhead-pay.jpg');
  background-position: center center;
}
.content-header-area.conhead-teikeiten{
  background-image: url('/wp-content/uploads/2026/10/conhead-teikeiten2.jpg');
  background-position: bottom center;
}
.content-header-area.conhead-town{
  background-image: url('/wp-content/uploads/2026/10/conhead-town1.jpg');
  background-position: center center;
}
.content-header-area.conhead-tsukigime{
  background-image: url('/wp-content/uploads/2026/10/conhead-tsukigime.jpg');
  background-position: top center;
}
.content-header-area.conhead-access{
  background-image: url('/wp-content/uploads/2026/10/conhead-access.jpg');
  background-position: center center;
}
.content-header-area.conhead-line{
  background-image: url('/wp-content/uploads/2026/10/conhead-line2.jpg');
  background-position: center center;
}
.content-header-area.conhead-large{
  background-image: url('/wp-content/uploads/2026/10/conhead-large.jpg');
  background-position: center center;
}
.content-header-area.conhead-parking{
  background-image: url('/wp-content/uploads/2026/10/conhead-parking.jpg');
  background-position: center center;
}
.content-header-area.conhead-news{
  background-image: url('/wp-content/uploads/2026/10/conhead-news.jpg');
  background-position: top center;
}
.content-header-area.conhead-first{
  background-image: url('/wp-content/uploads/2026/10/conhead-first.jpg');
  background-position: bottom center;
}

.content-header-area::before{
  content: '';
  position: absolute;
  top:0;
  left: 0;
  display: block;
  width: 0;
  height: 100%;
  background: linear-gradient(to right, rgba(237, 246, 251, 0.8) 60%, transparent);
  animation: topfadeIn ease 1s normal forwards;
  z-index: 1;
}


.content-header-area .textwidget{
  max-width: 1280px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.content-header-area .textwidget .section-label{
  font-size: 1.2em;
  font-family: 'Noto Sans JP', 'メイリオ', 'Meiryo', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'Noto Sans Japanese', Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  font-feature-settings: 'palt';
  color: #075ba5;
  line-height: 1.2!important;
  margin-bottom: 0.5em!important;
}
.content-header-area .textwidget h2{
  font-size: 2em;
  font-family: 'Noto Sans JP', 'メイリオ', 'Meiryo', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'Noto Sans Japanese', Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  font-feature-settings: 'palt';
  margin: 0 0 0.5em 0;
  color: #075ba5;
}
.content-header-area .textwidget p{
  line-height: 1.8;
}
@media only screen and (min-width:782px){
  .content-header-area{
    min-height: 280px;
  }
  .content-header-area .textwidget .section-label{
    font-size: 1.3em;
  }
  .content-header-area .textwidget h2{
    font-size: 2.5em;
  }
}
@media only screen and (min-width:992px){
  .content-header-area{
    min-height: 300px;
  }
  .content-header-area .textwidget .section-label{
    font-size: 1.6em;
  }
  .content-header-area .textwidget h2{
    font-size: 3em;
  }
}

.entry-header-contents{
  position: absolute;
  top:0;
  left: 50%;
  width: 100%;
  max-width: 1280px;
  padding: 0 20px;
  margin: 0!important;
  text-align: left!important;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

@media only screen and (max-width:781px){
  .content-txt-p {
    padding-right: 20%;
    box-sizing: border-box;
  }
}

/* フッター
-------------------------------------------------------------- */

.page .footer-block-padding,
.home .footer-block-padding{
  display: none;
}

.foot-logo-img{
  width: 70%;
  max-width: 250px;
  margin-bottom: 10px;
}
.foot-logo-img img{
  width: 100%;
  height: auto;
}

/* スライダー時スマホコメント */
.pc-slidetxt-none-line,
.pc-slidetxt-none-c3{
  margin-top: 1em!important;
}

@media screen and (min-width: 576px) {
  .pc-slidetxt-none-c3{
    display: none!important;
  }
}
@media screen and (min-width: 992px) {
  .pc-slidetxt-none-line{
    display: none!important;
  }
}

/* スライダーの中のグループブロックの高さを統一して引き伸ばす */
.slider-equal-height .swiper-slide {
    display: flex!important;
    flex-direction: column!important;
}
.vk_slider_item_container,
.vk_slider_item_container > .wp-block-group,
.slider-equal-height .swiper-slide > .wp-block-group {
    flex-grow: 1!important;
    height: 100%!important;
}

/* スライダー左右余白 */
.vk_slider_item-paddingLR-use {
  box-sizing: border-box!important;
  padding-left: 10px!important;
  padding-right: 10px!important;

}

@media (width >= 1400px) {
    .vk_slider_item-paddingLR-use {
      box-sizing: border-box!important;
      padding-left: 10px!important;
      padding-right: 10px!important;

    }
}

.edit-link{
  display: block;
  max-width: 1280px;
  margin: 0 auto;
  padding: 20px;
}


/* LINEサービス
-------------------------------------------------------------- */

@media screen and (max-width: 768px) {
  /* テーブルを囲むfigureタグをスクロール可能にする */
  figure.wp-block-table.kaisuken-table {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; /* スマホで滑らかにスクロール */
  }

  /* 表の最小幅を指定し、文字が縦に潰れるのを防ぐ */
  figure.wp-block-table.kaisuken-table table {
    min-width: 600px; /* 画面幅がこれ以下になるとスクロールバーが出ます */
    table-layout: auto !important; /* 文字数に合わせて幅を自動調整 */
  }
}


/* 3. スタイル（レスポンシブ対応） */
/* 背景のオーバーレイ */
.modal-overlay {
  display: none; /* 初期状態は非表示 */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6); /* 背景を暗くする */
  z-index: 9999;
  justify-content: center;
  align-items: center;
  padding: 20px; /* スマホ画面の端に余白を作る */
  box-sizing: border-box;
}

/* ポップアップのメインコンテンツ */
.modal-content {
  position: relative;
  background-color: #fff;
  width: 100%;
  max-width: 500px; /* PCでの最大幅（必要に応じて調整してください） */
  height: 80vh; /* 画面の高さの80%に収める */
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
  animation: modalFadeIn 0.3s ease;
}

/* iframeのレスポンシブ化 */
.modal-content iframe {
  width: 100%;
  height: 100%;
  display: block;
}

/* 閉じるボタン */
.modal-close {
  position: absolute;
  top: 10px;
  right: 15px;
  background: rgba(255, 255, 255, 0.8);
  border: none;
  font-size: 30px;
  cursor: pointer;
  line-height: 1;
  z-index: 10;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ふわっと表示させるアニメーション */
@keyframes modalFadeIn {
  from { opacity: 0; transform: translateY(-20px); }
  to { opacity: 1; transform: translateY(0); }
}




/* 提携店・街歩き
-------------------------------------------------------------- */


.g-inner.map-teikei{
  /*margin-top: -56px; */
}



/* ==========================================================================
   ケーススタディ / タイムライン（use-case）共通・統合スタイル
   ========================================================================== */
:root {
  --color-primary: #333333;
  --color-sub: #777777;
  --color-bg-light: #f9f9f9;
  --color-border: #e0e0e0;
  --color-accent: #ff4a4a;      /* 金額・強めの強調用 */
  --color-notice-bg: #fff5f5;   /* 注意書きの背景色 */
  --color-notice-border: #ffcccc; /* 注意書きの枠線 */
  
  /* アイコン・テキスト用カテゴリーカラー */
  --color-park: #2575fc;   /* 駐車（P） */
  --color-buy: #e67e22;    /* 買い物（買） */
  --color-eat: #2ecc71;    /* 食事・カフェ（食） */
}

/* 全体コンテナ（ショッピング、ディナー共通） */
.use-case-shopping,
.use-case-dinner {
  max-width: 650px;
  margin: 0 auto!important;
  padding: 1.5rem;
  background-color: #ffffff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", sans-serif;
  box-sizing: border-box;
}

/* --------------------------------------------------------------------------
   1. ヘッダー部分 (use-case-head)
   -------------------------------------------------------------------------- */
.use-case-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  border-bottom: 2px solid var(--color-primary);
  padding-bottom: 0.75rem;
  margin-bottom: 1.5rem;
}

.use-case-head small {
  display: block;
  font-size: 0.75rem;
  font-weight: bold;
  color: var(--color-sub);
  letter-spacing: 0.05em;
  margin-bottom: 0.25rem;
}

.use-case-head h3 {
  margin: 0;
  font-size: 1.25rem;
  color: var(--color-primary);
  font-weight: bold;
}

.use-case-head > span {
  font-size: 0.875rem;
  color: var(--color-sub);
  background-color: var(--color-bg-light);
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  border: 1px solid var(--color-border);
  white-space: nowrap;
}

/* --------------------------------------------------------------------------
   2. タイムライン部分 (use-timeline)
   -------------------------------------------------------------------------- */
.use-timeline {
  list-style: none;
  padding: 0!important;
  margin: 0 0 1.5rem 0;
  position: relative;
}

/* 縦のラインを通す */
.use-timeline::before {
  content: "";
  position: absolute;
  left: 5.20rem; /* timeの幅 + アイコン中央までの距離 */
  top: 1rem;
  bottom: 1rem;
  width: 2px;
  background-color: var(--color-border);
  z-index: 1;
}

.use-timeline li {
  display: flex;
  align-items: flex-start;
  margin-bottom: 1.25rem;
  position: relative;
}

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

/* 時間表示 */
.use-timeline time {
  width: 3.5rem;
  font-size: 0.875rem;
  font-weight: bold;
  color: var(--color-primary);
  padding-top: 0.25rem;
  text-align: right;
  margin-right: 1rem;
  flex-shrink: 0;
}

/* アイコン共通（P, 買, 食） */
.use-timeline i {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  color: #ffffff;
  font-style: normal;
  font-size: 0.75rem;
  font-weight: bold;
  z-index: 2;
  flex-shrink: 0;
  margin-top: 0.125rem;
  box-shadow: 0 0 0 4px #ffffff; /* 背後の縦線をくり抜く */
  background-color: var(--color-sub); /* フォールバック用 */
}

/* クラスや要素のテキストに応じてアイコン色を自動出し分け */
.use-timeline li.is-park i,
.use-timeline li.is-exit i { background-color: var(--color-park); }

/* HTMLにクラスがない場合でも、中の文字が「買」「食」なら自動で色分けする設定 */
.use-timeline i:contains("買") { background-color: var(--color-buy); } /* 一部環境用フォールバック */
.use-timeline li:not(.is-park):not(.is-exit) i { background-color: var(--color-buy); } /* デフォルトを買い物に */
.use-timeline li:has(i:text("食")) i, /* 最新ブラウザ用 */
.use-timeline li:nth-child(3) i { background-color: var(--color-eat); } /* CASE 01の食 */
.use-case-dinner .use-timeline li:nth-child(2) i { background-color: var(--color-eat); } /* CASE 02の食 */

/* テキスト情報ブロック */
.use-timeline p {
  margin: 0;
  padding-left: 1rem;
  font-size: 0.95rem;
  line-height: 1.4;
  flex-grow: 1;
}

.use-timeline p b {
  display: block;
  color: var(--color-primary);
  font-weight: bold;
}

.use-timeline p span {
  display: block;
  font-size: 0.8rem;
  color: var(--color-sub);
  margin-top: 0.125rem;
}

/* 入庫・出庫行のテキスト強調 */
.use-timeline li.is-park p b,
.use-timeline li.is-exit p b {
  color: var(--color-park);
}

/* --------------------------------------------------------------------------
   3. 結果表示部分 (use-result)
   -------------------------------------------------------------------------- */
.use-result {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: var(--color-bg-light);
  padding: 1rem;
  border-radius: 6px;
  border: 1px solid var(--color-border);
}

/* 左側のテキスト（改行が入っても崩れないように調整） */
.use-result > span {
  font-size: 0.875rem;
  color: var(--color-primary);
  font-weight: bold;
  line-height: 1.4;
}

/* 右側の料金テキスト */
.use-result strong {
  font-size: 1.125rem;
  color: var(--color-primary);
  white-space: nowrap;
  margin-left: 1rem;
}

.use-result strong b {
  font-size: 1.75rem;
  color: var(--color-accent);
  margin: 0 0.125rem;
  font-weight: bold;
  vertical-align: -0.05em;
}

/* --------------------------------------------------------------------------
   4. 次回利用・補足説明ブロック (next-use) ※CASE 02で新規登場
   -------------------------------------------------------------------------- */
.next-use {
  margin: 1rem 0 0 0;
  padding: 1rem;
  background-color: var(--color-notice-bg);
  border: 1px dashed var(--color-notice-border);
  border-radius: 6px;
  font-size: 0.85rem;
  line-height: 1.5;
  color: var(--color-primary);
}

.next-use strong {
  display: inline-block;
  color: var(--color-accent);
  font-size: 0.95rem;
  font-weight: bold;
  margin-bottom: 0.25rem;
}

/* --------------------------------------------------------------------------
   スマートフォンスクリーン用の最適化（横幅が狭い場合）
   -------------------------------------------------------------------------- */
@media (max-width: 480px) {
  .use-case-shopping,
  .use-case-dinner {
    padding: 1rem;
    margin: 1rem;
  }
  .use-case-head h3 {
    font-size: 1.1rem;
  }
  .use-timeline::before {
    left: 4.5rem;
  }
  .use-timeline time {
    width: 3rem;
    margin-right: 0.75rem;
    font-size: 0.8rem;
  }
  .use-timeline p {
    font-size: 0.875rem;
  }
  .use-result {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }
  .use-result strong {
    margin-left: 0;
    align-self: flex-end;
  }
}


/* 広島街歩き
-------------------------------------------------------------- */

/* 街歩き情報の切替 */
@media only screen and (max-width:991px){ 
  .machi-mb-view{
    display: block;
  }
  .machi-pc-view{
    display: none;
  }
}
@media only screen and (min-width:992px){ 
  .machi-mb-view{
    display: none;
  }
  .machi-pc-view{
    display: block;
  }
}


.widget-area .widget_nav_menu ul>li.current-menu-parent>a,
.widget-area .widget_categories ul>li.current-cat-parent>a,
.widget-area .widget_nav_menu ul>li.current-menu-item>a,
.widget-area .widget_categories ul>li.current-cat>a {
    color: #fff;
    background-color: #08529b!important;
}


/* Wi-Fi認証ページ
-------------------------------------------------------------- */

@media only screen and (max-width:991px){ 
  .wifi-info-view-pc{
    display: none;
  }
  .wifi-info-view-mb{
    display: block;
  }
}
@media only screen and (min-width:992px){
  .wifi-info-view-pc{
    display: block;
  }
  .wifi-info-view-mb{
    display: none;
  }
}

.wifi-form-mds{
  display: block;
  background-color: #08529b;
  padding: 0.5em;
  font-size: 1.1em;
  color: #ffffff;
  border-radius: 5px;
}

.required{
  color: #ff0000;
}

.wifi-form-input{
  margin-bottom: 1.5em!important;
}
.wifi-form-input input{
  max-width: 350px;
}

