.elementor-73818 .elementor-element.elementor-element-e7bb826{--display:flex;--min-height:2000px;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-73818 .elementor-element.elementor-element-b57e9a7{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-73818 .elementor-element.elementor-element-4fc7516{--display:flex;}.elementor-73818 .elementor-element.elementor-element-b4e8018{--spacer-size:10px;}.elementor-73818 .elementor-element.elementor-element-fcbd8c8{--spacer-size:30px;}.elementor-73818 .elementor-element.elementor-element-6fd0ed3{--e-image-carousel-slides-to-show:1;}.elementor-73818 .elementor-element.elementor-element-6fd0ed3 .swiper-pagination-bullet{--swiper-pagination-bullet-horizontal-gap:7px;--swiper-pagination-bullet-vertical-gap:7px;width:10px;height:10px;}.elementor-73818 .elementor-element.elementor-element-6fd0ed3 .elementor-image-carousel-wrapper .elementor-image-carousel .swiper-slide-image{border-radius:10px 10px 10px 10px;}.elementor-73818 .elementor-element.elementor-element-7a90bbd{--spacer-size:30px;}.elementor-73818 .elementor-element.elementor-element-118cecc{--spacer-size:40px;}.elementor-73818 .elementor-element.elementor-element-c826558.elementor-element{--align-self:center;}.elementor-73818 .elementor-element.elementor-element-c630282{--spacer-size:20px;}.elementor-73818 .elementor-element.elementor-element-7fdff2e .ha-news-ticker-wrapper span.ha-news-ticker-sticky-title{background-color:#FFFFFF;border-style:solid;border-width:0px 1px 0px 0px;border-color:#E8E8E8;border-radius:0px 0px 0px 0px;padding:7px 7px 7px 7px;}.elementor-73818 .elementor-element.elementor-element-7fdff2e{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-73818 .elementor-element.elementor-element-7fdff2e > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-73818 .elementor-element.elementor-element-7fdff2e.elementor-element{--align-self:center;}.elementor-73818 .elementor-element.elementor-element-7fdff2e  .ha-news-ticker-wrapper  span.ha-news-ticker-sticky-title{left:0px;right:auto;}.elementor-73818 .elementor-element.elementor-element-7fdff2e .ha-news-ticker-wrapper .ha-news-ticker-item{margin-right:25px;}.elementor-73818 .elementor-element.elementor-element-7fdff2e .ha-news-ticker-wrapper .ha-news-ticker-item:last-child{margin-right:0;}.elementor-73818 .elementor-element.elementor-element-7fdff2e .ha-news-ticker-wrapper{border-style:solid;border-width:1px 0px 1px 0px;border-color:#E8E8E8;border-radius:0px 0px 0px 0px;}.elementor-73818 .elementor-element.elementor-element-7fdff2e .ha-news-ticker-wrapper  span.ha-news-ticker-sticky-title{color:var( --e-global-color-primary );font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:700;text-transform:uppercase;}.elementor-73818 .elementor-element.elementor-element-7fdff2e .ha-news-ticker-wrapper  li.ha-news-ticker-item a{color:#333333;}.elementor-73818 .elementor-element.elementor-element-7fdff2e .ha-news-ticker-wrapper  li.ha-news-ticker-item .ha-news-ticker-title{font-weight:300;}.elementor-73818 .elementor-element.elementor-element-c5a7366{--display:grid;--e-con-grid-template-columns:repeat(4, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--gap:10px 10px;--row-gap:10px;--column-gap:10px;--grid-auto-flow:row;}.elementor-73818 .elementor-element.elementor-element-e257ad1{--display:flex;}.elementor-73818 .elementor-element.elementor-element-ce6f125{--display:flex;}.elementor-73818 .elementor-element.elementor-element-f5eaade{--spacer-size:40px;}.elementor-73818 .elementor-element.elementor-element-795434b{--spacer-size:40px;}.elementor-73818 .elementor-element.elementor-element-0102255{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(2, 1fr);--gap:10px 10px;--row-gap:10px;--column-gap:10px;--grid-auto-flow:row;}.elementor-73818 .elementor-element.elementor-element-4137854{--spacer-size:50px;}.elementor-73818 .elementor-element.elementor-element-187e787{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:40px;--margin-right:0px;}.elementor-73818 .elementor-element.elementor-element-60caec2{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-73818 .elementor-element.elementor-element-c2c899c{--display:flex;}.elementor-73818 .elementor-element.elementor-element-675f161{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--gap:0px 10px;--row-gap:0px;--column-gap:10px;--grid-auto-flow:row;}.elementor-73818 .elementor-element.elementor-element-b453201 img{border-style:solid;border-width:1px 1px 1px 1px;}.elementor-73818 .elementor-element.elementor-element-078d85a img{border-style:solid;border-width:1px 1px 1px 1px;}.elementor-73818 .elementor-element.elementor-element-a44d764{--display:flex;}.elementor-73818 .elementor-element.elementor-element-8879595{--spacer-size:10px;}.elementor-73818 .elementor-element.elementor-element-5f8816e{--e-image-carousel-slides-to-show:2;width:var( --container-widget-width, 1100% );max-width:1100%;--container-widget-width:1100%;--container-widget-flex-grow:0;}.elementor-73818 .elementor-element.elementor-element-5f8816e .elementor-image-carousel-wrapper .elementor-image-carousel .swiper-slide-image{border-style:solid;border-width:1px 1px 1px 1px;}.elementor-73818 .elementor-element.elementor-element-3ac1994{--display:flex;}body.elementor-page-73818:not(.elementor-motion-effects-element-type-background), body.elementor-page-73818 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}:root{--page-title-display:none;}body.elementor-page-73818{margin:0px 0px 0px 0px;}@media(min-width:600px){.elementor-73818 .elementor-element.elementor-element-e7bb826{--width:1100px;}.elementor-73818 .elementor-element.elementor-element-b57e9a7{--width:680px;}.elementor-73818 .elementor-element.elementor-element-187e787{--width:380px;}.elementor-73818 .elementor-element.elementor-element-675f161{--content-width:1100px;}.elementor-73818 .elementor-element.elementor-element-a44d764{--content-width:1100px;}.elementor-73818 .elementor-element.elementor-element-3ac1994{--content-width:1100px;}}@media(max-width:1024px) and (min-width:600px){.elementor-73818 .elementor-element.elementor-element-187e787{--width:100%;}}@media(max-width:1024px){.elementor-73818 .elementor-element.elementor-element-c5a7366{--grid-auto-flow:row;}.elementor-73818 .elementor-element.elementor-element-0102255{--grid-auto-flow:row;}.elementor-73818 .elementor-element.elementor-element-675f161{--grid-auto-flow:row;}}@media(max-width:599px){.elementor-73818 .elementor-element.elementor-element-e7bb826{--width:95%;}.elementor-73818 .elementor-element.elementor-element-fcbd8c8{--spacer-size:15px;}.elementor-73818 .elementor-element.elementor-element-7a90bbd{--spacer-size:15px;}.elementor-73818 .elementor-element.elementor-element-118cecc{--spacer-size:20px;}.elementor-73818 .elementor-element.elementor-element-c5a7366{--e-con-grid-template-columns:repeat(2, 1fr);--grid-auto-flow:row;}.elementor-73818 .elementor-element.elementor-element-f5eaade{--spacer-size:20px;}.elementor-73818 .elementor-element.elementor-element-795434b{--spacer-size:20px;}.elementor-73818 .elementor-element.elementor-element-0102255{--e-con-grid-template-columns:repeat(2, 1fr);--grid-auto-flow:row;}.elementor-73818 .elementor-element.elementor-element-187e787{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-73818 .elementor-element.elementor-element-c2c899c{--content-width:100%;}.elementor-73818 .elementor-element.elementor-element-675f161{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-73818 .elementor-element.elementor-element-a44d764{--content-width:94%;}.elementor-73818 .elementor-element.elementor-element-3ac1994{--content-width:94%;}}/* Start custom CSS for html, class: .elementor-element-1916820 *//* ------------------------------------- */
/* 1. デスクトップ (基準サイズ) のスタイル - 詳細度をアップ */
/* ------------------------------------- */
body .heading-209 { 
    padding: 0 .4em 0;
    border-bottom: 3px solid #fff000;
    background-color: #ffffff;
    color: #000000;
    
    font-size: 25px; 
    font-weight: bold;
    
    /* ★ 修正: line-heightを1.5に統一しました */
    line-height: 2.0; 
    padding-left: 10px;
    
    margin-top: 0;
    margin-bottom: 15px;
}

/* ----------------------------------------------- */
/* アイコンのスタイル (Material Symbols Outlined対応のため修正) */
/* ----------------------------------------------- */
.heading-209 .heading-209-icon { 
    color: #fff000; 
    font-size: 40px; 
    padding : 4px;
    
    margin-right: .0em; 
    
    /* vertical-align: bottom; は、下線を揃えるために効果的です */
    vertical-align: bottom; 
    
    /* 👇 【修正1】Material Symbols Outlined の設定を追加 */
    font-family: 'Material Symbols Outlined'; /* フォントファミリーの強制適用 */
    font-variation-settings:
        'FILL' 0,
        'wght' 400,
        'GRAD' 0,
        'opsz' 30; /* font-size (30px) に合わせる */
}

/* ------------------------------------- */
/* 2. タブレット向けスタイル (画面幅 900px以下) */
/* ------------------------------------- */
@media (max-width: 900px) {
    body .heading-209 { 
        font-size: 22px; 
        /* ★ 修正: line-heightを1.4に統一しました */
        line-height: 1.4; 
    }
}

/* ------------------------------------- */
/* 3. モバイル向けスタイル (画面幅 680px以下) */
/* ------------------------------------- */
@media (max-width: 680px) {
    body .heading-209 { 
        font-size: 20px; 
        /* ★ 修正: line-heightを1.3に統一しました */
        line-height: 1.8; 
        padding-left: 10px; 
    }
    
    /* アイコンのモバイル設定 (Material Symbols Outlined対応のため修正) */
    .heading-209 .heading-209-icon { 
        color: #FFF000; 
        font-size: 25px; 
        padding : 4px;
        
        /* 👇 【修正2】Material Symbols Outlined の設定を追加 */
        font-family: 'Material Symbols Outlined'; /* フォントファミリーの強制適用 */
        font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 25; /* font-size (25px) に合わせる */
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-207657a *//* タグ全体を囲むコンテナのスタイル（変更なし） */
.tag-container {
  display: flex;
  flex-wrap: wrap;
  margin: -5px; 
}

/* * 個々のタグ（a要素）の基本スタイル 
 * セレクタ: div.tag-container a.tag 
 */
div.tag-container a.tag {
  display: inline-block;
  
  /* !! ここを元に戻して、上下のスペースを復活させます !! */
  padding: 15px 16px; 
  /* line-heightを1.0に戻し、文字の高さに合わせる */
  line-height: 1; 
  
  /* heightの固定を削除 */
  /* height: 30px; や line-height: 30px; は削除 */
  
  margin: 5px; 
  
  /* 角を非常に丸くする */
  border-radius: 9999px; 
  
  /* --- 色の変更 --- */
  /* 枠（ボーダー）の色を #fdd424 (黄色) に変更 */
  border: 2px solid #FFF000; 
  
  /* リンク特有の下線を非表示にする */
  text-decoration: none; 
  
  /* --- その他の設定（変更なし） --- */
  font-size: 14px;
  font-weight: 500; 
  user-select: none;
  transition: background-color 0.2s, border-color 0.2s;
  cursor: pointer;
}

/* * 文字色を #333333 に設定するルール 
 */
div.tag-container a.tag:link,
div.tag-container a.tag:visited {
    color: #333333; 
}

/* * マウスオーバー（ホバー）時のスタイル 
 */
div.tag-container a.tag:hover {
  /* ホバー時に枠の色を少し濃くする（視認性向上） */
  border-color: #2589d0; 
  /* 背景を薄い色にしてクリック感を与える */
  background-color: #FFFFE0; 
  /* ホバー時も文字色を #333333 に維持 */
  color: #333333; 
}


/* --- レスポンシブ対応の補助スタイル --- */

@media (max-width: 600px) {
  div.tag-container a.tag {
    font-size: 13px;
    /* !! ここを元に戻して、上下のスペースを復活させます !! */
    padding: 6px 12px;
    /* height/line-heightの固定を削除 */
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-b5059d7 *//* 外側の枠の設定 */
.slider-container-logo {
    width: 80%; /* 画面に対する幅（適宜変更してください） */
    max-width: 1100px; /* 最大幅 */
    margin: 5px auto; /* 画面中央に配置 */
    overflow: hidden; /* 枠からはみ出た部分を非表示にする（重要！） */
    /* 枠線を削除しました */
}

/* 実際に動かす要素の設定 */
.slider-track-logo {
    /* すべての画像が横一列に並ぶようにする */
    display: flex;
    
    /* 画像の合計枚数は14枚ですが、元のCSSに合わせて幅を調整します。
       元のコードでは画像8枚 (120px × 8) = 960px となっていますが、
       HTMLの画像は14枚あります。ここでは元のCSSの幅 (960px) を維持します。
       無限ループを実現するためには、全画像の合計幅を設定する必要があります。
       ここでは画像の合計枚数に合わせて幅を再計算します。
       画像14枚 × 120px = 1680px に変更します。
       ただし、元のHTMLの画像4枚が1セットで、それを繰り返す構造になっているため、
       元のCSS設定意図を尊重しつつ、トラック幅とアニメーション移動距離を修正します。
    */
    /* 元のCSSの意図: 画像4枚セット (120px*4=480px) を複製してトラックを作成。
       HTMLは画像14枚ですが、ここでは元の意図通りにトラック幅を再計算します。
       - トラックの合計幅: 14枚 × 120px = 1680px
       - アニメーションの移動距離: 4枚 × 120px = 480px (1セット分)
    */
    width: 1680px; /* 画像14枚 × 120px = 1680px */
    
    /* アニメーションを適用 */
    animation: scroll-logo 20s linear infinite; /* アニメーション名も変更 */
}

/* アニメーション停止（ホバー時） */
.slider-container-logo:hover .slider-track-logo {
    animation-play-state: paused; /* マウスオーバーで流れを一時停止 */
}


/* 個々の画像の設定 */
.slide-item-logo {
    /* 画像1枚あたりの幅を 120px に設定 */
    width: 120px; 
    height: auto; /* 高さは自動調整 */
    flex-shrink: 0; /* 画像が縮まないようにする（重要！） */
    /* object-fit: cover; */
}


/* 画像を流すアニメーションの定義 */
@keyframes scroll-logo { /* アニメーション名を変更 */
    /* 0%の状態（開始時）：移動なし */
    0% {
        transform: translateX(0);
    }
    
    /* 100%の状態（終了時）：画像1セット分（480px）だけ左に移動 */
    100% {
        /* 画像4枚分 (120px × 4) = 480px 移動させる */
        transform: translateX(-480px); 
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-bd0c97a */body {

  font-family: 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;

  background-color: #f4f4f4;

  margin: 0;

  padding: 20px;

}



/* 全体のコンテナ設定 */

.contact-methods-menu {

  display: flex;

  flex-wrap: wrap;  

  gap: 30px;  

  max-width: 1100px;

  margin: 0 auto;

}



/* カード共通スタイル */

.contact-card-menu {

  flex: 1 1 300px;  

  background-color: white;

  padding: 30px;

  border: 1px solid #ddd; /* 1ピクセルの枠線 */

  box-sizing: border-box;

  

  /* カード内部のレイアウト：アイコンと本文を横並びにする */

  display: flex;

  /* アイコンと本文を縦方向の中心に揃える (センター合わせ) */

  align-items: center;  

}



/* アイコンのコンテナ */

.contact-icon-menu {

  flex-shrink: 0;  

  margin-right: 15px;

}



/* SVGとIMGの両方にサイズを適用 */

.contact-icon-menu svg,

.contact-icon-menu img {

  width: 50px; /* PCサイズ */

  height: 50px;

}



/* SVG特有のスタイル（電話、メール） */

.contact-icon-menu svg {

  color: #333;

}



/* IMG特有のスタイル（LINE） */

.contact-icon-menu img {

  object-fit: contain; /* 画像が歪むのを防ぎ、枠内に収める */

}



/* 本文部分のスタイル */

.contact-body-menu {

  flex-grow: 1;

}



/* メインのタイトル/番号 (共通スタイル) */

.contact-main-menu {

  font-size: 1.25rem;

  font-weight: bold;

  margin: 0 0 5px 0;  

  color: #333;

}



/* 詳細情報 (共通スタイル) */

.contact-details-menu {

  font-size: 0.875rem;

  color: #666;

  line-height: 1.5;

}



.contact-details-menu p {

  margin: 0;

}



/* ========================================================= */

/* ★追加: 電話番号専用スタイル */

/* ========================================================= */



/* HTMLで .contact-card-phone-menu クラスを追加した場合の記述 */

.contact-card-phone-menu .contact-main-menu {

    color: red; /* 電話番号を赤色に */

    font-size: 1.5rem; /* 文字を大きめ (元: 1.25rem) */

    font-weight: bold; /* 太字 (元々太字でしたが明示的に) */

}



/* (補足: HTMLを修正しない場合は、以下のセレクタでも適用可能です)

.contact-methods-menu .contact-card-menu:first-child .contact-main-menu {

    color: red;

    font-size: 1.5rem;

    font-weight: bold;

}

*/



/* ★追加: メール専用スタイル */

.contact-card-mail-menu .contact-main-menu {

    color: #007bff; /* 青色 */

}



/* ★追加: LINE専用スタイル */

.contact-card-line-menu .contact-main-menu {

    color: #06c755; /* 緑色 */

}





/* レスポンシブ対応: 画面幅が狭い場合（スマートフォン） */

@media (max-width: 768px) {

  .contact-methods-menu {

    flex-direction: column;  

    gap: 10px;  

    padding: 0px;

  }



  .contact-card-menu {

    flex: 1 1 100%;  

    padding: 20px;  

  }



  /* SVGとIMGのサイズ */

  .contact-icon-menu svg,

  .contact-icon-menu img {

    width: 40px;

    height: 40px;

  }



  /* メインのタイトル/番号 (スマホ共通) */

  .contact-main-menu {

    font-size: 1rem;

  }



  /* 詳細情報 (スマホ共通) */

  .contact-details-menu {

    font-size: 0.8rem;

  }

  

  /* ★追加: 電話番号専用スタイル (スマホ) */

  .contact-card-phone-menu .contact-main-menu {

      font-size: 1.3rem; /* スマホではPCよりも少し小さくするが、他の見出しよりは大きく維持 */

  }

  /* (補足: HTMLを修正しない場合は、以下のセレクタでも適用可能です)

  .contact-methods-menu .contact-card-menu:first-child .contact-main-menu {

      font-size: 1.3rem;

  }

  */

}/* End custom CSS */