/* -------------------------------------- */
/* 1. 基本設定 */
/* -------------------------------------- */

/* 全ての要素に境界線を含める */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    background-color: #F6F9FC;
    color: #333;
    padding-top: 60px; /* headerの高さに合わせて調整 */
}

/* -------------------------------------- */
/* 2. ヘッダー (固定化) */
/* -------------------------------------- */

header {
    background-color: #fff;
    color: #000;
    padding: 10px 20px;
    height: 60px; /* 高さを固定 */
    width: 100%;
    
    /* ヘッダーを固定する */
    position: fixed;
    top: 0;
    left: 0;
   
    z-index: 1000; 

    display: flex;
    justify-content: flex-end; /* ナビゲーションとハンバーガーボタンを右に寄せる */
    align-items: center;
    border-radius: 0 0 5px 5px;
}

#header_top{
    margin-top: -100px;
}

/* -------------------------------------- */
/* 3. ハンバーガーメニュー (モバイル時) */
/* -------------------------------------- */

/* ハンバーガーボタンのスタイル */
.hamburger-icon {
    display: block; /* モバイルで表示 */
    width: 30px;
    height: 30px;
    position: relative;
    cursor: pointer;
    z-index: 1001;
    background: none; 
    border: none; 
    padding: 0;
    /* ボタンの位置をヘッダーの右端に固定 */
    position: absolute;
    right: 20px; 
    top: 50%;
    transform: translateY(-50%);
}

.hamburger-icon .bar {
    display: block;
    width: 100%;
    height: 3px;
    background-color: white;
    margin: 5px 0;
    transition: 0.4s;
    position: relative;
    left: 5px;
}

/* ナビゲーション全体（初期状態：非表示）*/
#global-nav {
    /* 💥 崩れ対策 2: 固定表示と画面いっぱいのサイズ */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.85);
    z-index: 999; /* ヘッダーの裏、ハンバーガーボタンの表 */
    
    /* 初期状態では画面外（右側）に隠す */
    transform: translateX(100%); 
    transition: transform 0.4s ease-in-out;
}

/* JavaScriptで付与される open クラス。メニュー表示時のスタイル */
#global-nav.open {
    transform: translateX(0); /* メニューを表示 */
}

/* メニューリストの中身 */
#global-nav ul {
    list-style: none;
    padding: 0;
    height: 70%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

#global-nav a {
    color: white;
    text-decoration: none;
    padding: 1rem 2rem;
    font-size: 0.9rem;
    display: block;
}

/* ハンバーガーアイコンのバツ印アニメーション */
.hamburger-icon.open .bar:nth-child(1) {
    transform: rotate(-45deg) translate(-5px, 6px);
}
.hamburger-icon.open .bar:nth-child(2) {
    opacity: 0; 
}
.hamburger-icon.open .bar:nth-child(3) {
    transform: rotate(45deg) translate(-5px, -6px);
}

.sp_only{
    display: block;
}
/* -------------------------------------- */
/* 4. メインコンテンツとカード */
/* -----------se--------------------------- */

.container {
    max-width: 1456px;
    margin: 20px auto;
    padding: 0 1rem;
}
.header_content {
/*    background: #DDFDFF;*/
    background: none;
}
 .setionContent{
    text-align: center;
    position: relative;
}
.guide_Pic{
    width: 100%;  
    margin-top: 30px; 
}
.setionContent_50{
    margin-top: 50px;
}
.setionContent_30{
    margin-top: 30px;
}
.content {
    padding: 20px;
    border-radius: 5px;
/*    box-shadow: 0 2px 5px rgba(0,0,0,0.1);*/
}
.content_lineup {
    padding: 10px;
    border-radius: 5px;
}

/*background*/
.content_back_white{
    background: #fff;
}
.content_back_purpule{
    background: #E8ECFF;
}
.content_back_lightblue{
    background: #E5F8FF;
}


/*Voice*/
.voiceBox{
background: #B8ECFF;
    border-radius: 8px;
    width: 320px;
    margin: auto;
    height: 117px;
    display: flex;
    flex-direction: column;
    text-align: center;
    
    /* ★追加: 縦方向（主軸）の中央揃え */
    justify-content: center;
}

.voiceImg{
    text-align: center;
    margin-top: 50px;
}

.voiceImg img{
    width: 15dvh;
    position: relative;
    top: 4px;
}
.voiceBoxText1{
    font-size: 14px;
}
.voiceBoxText2{
    color: #000;
    font-family: Inter;
    font-size: 30px;
    font-style: normal;
    font-weight: 600;
    line-height: 40px;
    letter-spacing: -1px;
    padding: 5px;
}

.fukidashiBox{
    text-align: center;
}
.voiceFukidashi {
    position: relative;
    display: flex; /* ★修正: Flexboxを有効にする */
    align-items: center; /* 垂直方向の中央揃え */
    margin: 1.5em auto;
    padding: 7px 10px;
    height: 167px;
    width: 320px;
    color: #F70;
    line-height: 1.8em;
    font-size: 16px;
    background: #FFF3E9;
    border-radius: 10px;
    margin-top: 40px;
}

.voiceFukidashi:before {
  content: "";
  position: absolute;
  top: -30px;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-bottom: 15px solid #FFFBF8;
}

.voiceFukidashi2 {
    position: relative;
    display: flex; /* ★修正: Flexboxを有効にする */
    align-items: center; /* 垂直方向の中央揃え */
    margin: 1.5em auto;
    padding: 7px 10px;
    height: 170px;
    width: 320px;
    color: #F70;
    line-height: 1.8em;
    font-size: 16px;
    background: #FFF3E9;
    border-radius: 10px;
    margin-top: 40px;
    margin-bottom: 50px;
}

.voiceFukidashi2:before {
  content: "";
  position: absolute;
  top: -30px;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-bottom: 15px solid #FFFBF8;
}

.voiceFukidashi p {
  margin: 0;
  padding: 0;
}

.font_color_black{
    color: #616161;
}

.fukidashi-text {
    /* テキストが画像のためにスペースを空けるよう設定 */
    flex-grow: 1; 
    /* 必要に応じてパディングを追加 */
    padding-right: 10px; 
    font-size: 14px;
}


.voiceFukidashi img {
    flex-shrink: 0;
    width: 108px;
    height: auto;
    position: relative;
    top: -10px;
}



.content h1 {
    margin-bottom: 1rem;
}

.js-accordion-head {
  font-size: 1.5rem;
  padding: 20px;
  cursor: pointer;
}
.js-accordion-body {
  padding: 20px;
  display: none;
}


.fukidashi {
    position: relative;
    display: inline-block;
    margin: 1.5em 0;
    padding: 7px 10px;
    min-width: 126px;
    width: 126px;
    color: #fff;
    font-size: 16px;
    background: #000;
    border-radius: 15px;
    text-align: center;
    display: block; 
    margin: 1.5em auto; /* 上下1.5em、左右 auto で中央寄せ */
}

.fukidashi:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #000;
}

.fukidashi p {
  margin: 0;
  padding: 0;
}

.nayami{
    color: #585858;
    text-align: center;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 30px; /* 214.286% */
    letter-spacing: -1px;
    margin-bottom: 20px;
}
/* ====================================
    画像とホバーエフェクト
    ==================================== */

.image-link {
    display: inline-block;
    overflow: hidden; 
    transition: transform 0.3s ease-in-out;
    cursor: pointer;
    /* リンクの下線を消す (任意) */
    text-decoration: underline; 
    
    /* 垂直方向の配置を中央に設定 */
    vertical-align: middle;
    color: #008AFB;
}

.image-link:hover {
    transform: scale(1.05); /* ホバー時に少し拡大 */
}


.image-link img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover; 
    /* 初期状態：セピアフィルターなし */
    filter: sepia(0) contrast(100%);
    transition: filter 0.4s ease-out;
}

.image-link:hover img {
    /* ホバー時の効果：画像をセピア調にする */
    filter: sepia(100%) brightness(90%) contrast(120%);
}

.footer-text {
    margin-top: 2rem;
    color: #6b7280;
    font-size: 0.875rem;
}



/*　機種別のタイプ：カルーセル  スマホ版対応設定*/
/* 1. 全体コンテナ: 縦並びの中央寄せを解除し、要素を通常通り上から並べる */
.carousel-container {
    display: flex; /* Flexboxを有効にする */
    flex-direction: column; /* typeGroupの並びは縦方向のまま（変わらず） */
    align-items: flex-start; /* 横方向のアイテムの配置を左寄せ（横並び化の準備） */
    width: 100%;
}

/* 2. 各グループコンテナ: 幅をフルにし、通常通り上から並ぶ */
.typeGroup {
    width: 100%;
}
/*タイトル要素は非表示*/
.typeTitle1,
.typeTitle2 {
    display: none;
}

/* 3. カルーセルアイテムグループ: 横並びとスクロールを解除し、縦並びにする */
.carousel-item_group {
    /* 重要な変更点: typeGroup内のすべてのアイテムグループを横並びにするために、
       親要素をFlexコンテナにし、すべての子要素を横並びにします。 */
    display: flex;
    flex-wrap: nowrap; /* 強制的にアイテムを折り返さず横一列に並べる */
    overflow-x: auto; /* 横並びにするため、画面をはみ出る場合はスクロール可能にする */
    padding: 10px;
    gap: 20px; /* アイテム間の隙間 */
    width: 100%; /* 親の幅に合わせる */
    box-sizing: border-box;
}
/* -------------------------------------- */
/*  画面幅を制限し、横スクロールを強制する */
/* -------------------------------------- */
.carousel-wrapper {
    /* 画面全体を使いたい場合は100%に */
    width: 100%; 
    /* 影や余白を見せるためにパディングを少し追加 */
    padding: 0 10px; 
}

/* -------------------------------------- */
/* コンテナ: 要素を横に並べ、スクロールを有効化する */
/* -------------------------------------- */
.carousel-container {
    display: flex;
    
    /*最重要：横スクロールを有効にする*/
    overflow-x: auto; 
    
    /* 要素が折り返さないようにする */
    white-space: nowrap; 
    
    /* スマホでスムーズなスワイプ操作を可能にする（慣性スクロール） */
    -webkit-overflow-scrolling: touch;
    
    /* スクロールバーを非表示にする（見た目をスッキリさせる） */
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE and Edge */
}
/* スクロールバーを非表示にする (Chrome, Safari) */
.carousel-container::-webkit-scrollbar {
    display: none;
}

/* -------------------------------------- */
/* アイテム: 均等の幅と、画面に収まる幅を設定する */
/* -------------------------------------- */
.carousel-item {
    /* Flexboxアイテムの基本設定 */
    flex-shrink: 0; /* 縮まない */
    flex-grow: 0;   /* 伸びない */
    
    /* 最重要：画面幅いっぱいに設定 */
    /* 90vw に設定し、左右に少し余白を作ることで、次の要素が少し見えるようにする */
    width: 270px; 
    height: 460px; /* 高さの例 */
    
    margin: 10px 0px; /* アイテム間の余白 */
    background-color: #fff;
/*    border: 1px solid #00bcd4;*/
    border-radius: 8px;
    
    /* コンテンツの配置 */
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.2rem;
    font-weight: bold;
    color: #00796b;
    margin-top: 30px;
}

/* -------------------------------------- */
/* スナップポイントの設定 (おまけ：ピタッと止まるようにする) */
/* -------------------------------------- */
.carousel-container {
    /* スクロールが要素の始まりでピタッと止まるようにする */
    scroll-snap-type: x mandatory; 
}
.carousel-item {
    /* スクロールコンテナのどこでスナップするかを設定 */
    scroll-snap-align: center; /* 画面の中央でスナップさせる */
}

.carousel_Contents{
    /* Flexboxを有効にし、子要素を縦方向に並べる */
    display: flex;
    flex-direction: column; 
    
    /* 高さを設定し、子要素がその空間全体を使えるようにする */
    height: 100%; 
    /* 必要に応じて、paddingやmarginをリセット */
    padding: 0;
    margin: 0;
    width: 270px;
}
.modal_header_title_color{
    background: #B8ECFF;
}
.modal_header_title_color2{
    background: #D2D8F9;
}
.modal_header_title_color3{
    background: #A0EEB5;
}
.modal_header_title_color4{
    background: #F6D2F9;
}
.modal_header_title{
    color: #000;
    border-radius: 5px 5px 0 0;
    font-size: 12px;
    margin-top: 0;
    margin-bottom: 0; /* 下の要素との隙間をなくす */
    /* 左右のパディングを削除するか、0に設定 */
    padding-left: 0;
    padding-right: 0;
    
    width: 270px;
    height: 53px;
    line-height: 1.4; /* 標準的な行間を設定し直す */
    
    /* ★追加: Flexboxを有効にして、テキスト全体を垂直中央に配置 */
    display: flex;
    justify-content: center; /* 横方向の中央揃え (text-align: center; の代わり) */
    align-items: center;     /* 垂直方向の中央揃え */
    
}

.modaltopLeft_pc{
    display: block;
    width: 100%;
}
.elcom_Sodan{
    padding-bottom: 50px;
}
.kenbaikiType{
    color: #000;
    leading-trim: both;
    text-edge: cap;
    font-family: Inter;
    font-size: 11px;
    font-style: normal;
    font-weight: 700;
    line-height: 73px; /* 663.636% */
    letter-spacing: -1px;
    text-transform: uppercase;
    position: relative;
    top: -8px;
    left: -8px;
}
.kenbaikiType2{
    top: 0px;
    font-family: Inter;
    text-transform: uppercase;
}
.kenbaikiTypeNo{
    color: #000;
    leading-trim: both;
    text-edge: cap;
    font-family: system-ui;
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 73px;
    letter-spacing: -1px;
    position: relative;
    top: -11px;
    left: -7px;
}

.kenbaikiTypeTitle{
    color: #000;
    text-align: center;
    font-family: Inter;
    font-size: 15px;
    font-style: normal;
    font-weight: 700;
    line-height: 22px; /* 146.667% */
    letter-spacing: -1px;
}

.kenbaikitypePic_2{
    width: 95px;
}

.modal_base_mid {
    /* 上下のマージンを自動に設定し、残りの空間を全て占める */
    margin-top: auto; 
    margin-bottom: auto;
    text-align: center;
}

.modal_base_mid img{
    width: initial;
    max-height: 260px;
}

.modal_base_mid_adjust1 {
    width: 140px;
    position: relative;
    left: 10px;
}

.modal_base_mid_adjust2 {
    width: 88px;
}

.modal_base_mid_title{
    display: none;
}

.modal_base_mid_pic_1 img,.modal_base_mid_pic_2 img{
    position: relative;
    left: 10px;
    width: 220px;
}

.modal_base_low{
   /* margin-top: 0; /* 上の要素との隙間をなくす */
      margin-bottom: 0px;
    padding: 10px; /* 見栄えのためのパディング (任意) */

   /* Flexboxを有効にして子要素を横並びにする */
    display: flex;
    
    /* ★重要: 子要素を垂直方向の中央（横一直線）に揃える */
    align-items: center; 
    
    /* 要素間に適切な隙間を作る (任意) */
    gap: 1em; 

    /* 垂直方向の中央揃え（横一直線に揃える） */
    align-items: center; 

    /* ★追加: 水平方向（左右）の中央揃え */
    justify-content: center;

    /* 必要に応じて、親要素の幅を調整 */
    /* width: fit-content; */ 
}
.modal_base_low > span{
    font-size:12px;
}
.modal-content{
    font-size: 12px;
    margin-top: 30px;
}
/* ====================================
    モーダル（<dialog>要素）のスタイル
    ==================================== */
    /*
dialog {
    margin: auto;
    border: none;
    border-radius: 5px;
    padding: 1rem;
    max-width: 500px;
    width: 90%;
    text-align: left; 
    position: relative;
}
*/

dialog {
    /* モーダル自体の基本スタイル */
    margin: auto;
    border: none;
    border-radius: 5px;
    padding: 1rem;
    max-width: 500px;
    width: 90%;
    text-align: left; /* モーダル内のテキストは左寄せ */
    
    /* 1. 位置をビューポートに固定 (デフォルトの挙動を明示) */
    /* これがないと、スクロール時に一緒に動いたり、初期位置が狂うことがある */
    position: fixed; 

    /* 2. 上下左右を0にして、margin: auto で中央寄せを動作させる */
    /* position: relative; は削除（または上書き）*/
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

}



dialog#newsModal {
    /* 絶対配置の子要素のための基準位置を設定 */
    position: relative;
}

dialog::backdrop {
    /* モーダル背景（オーバーレイ）のスタイル */
    background-color: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(4px); /* 背景をぼかす */
}



/* メインの閉じるボタン（フッター配置） */
.modal-close-button {
    /* 閉じるボタンのスタイル */
    background-color: #ef4444;
    color: white;
    padding: 0.5rem 1rem;
    border: none;
    border-radius: 0.5rem;
    cursor: pointer;
    margin-top: 1.5rem;
    transition: background-color 0.2s;
    float: right; /* ボタンを右寄せ */

    top: -15px; 
    right: -15px;
}

.modal-close-button:hover {
    background-color: #dc2626;
}
.checkImg_hojo1{
    width: 51px;
    text-align: center;
    padding: 25px 0 25px 0;
}
.checkImg_hojo2{
    width: 63px;
    text-align: center;
    padding: 25px 0 25px 0;
}
.checkImg_hojo3{
    width: 41px;
    text-align: center;
    padding: 25px 0 25px 0;
}
.elcomComment{
    margin: auto;
    font-size: 0.8em;
    text-align: center;
    margin-top: 50px;
    margin-bottom: 30px;
    width: 80%;
}

.comment-wrapper {
    display: flex;
    align-items: center; 
    gap: 0px; 
    width: 100%;
}
.comment-wrapper2 {
    display: flex;
    align-items: center; 
    gap: 15px; 
    width: 90%;
    margin: auto;
}
.elcomComment {
    color: #616161;
    text-align: center;
    font-family: Inter;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 30px; /* 214.286% */
    letter-spacing: -0.8px;
}
.comment-icon {
    width: 23px; 
    height: auto; 
    flex-shrink: 0;
}

.comment-icon_left{
    width: 23px;
}
.comment-icon_right{
    width: 23px;
}
.elcom_Sodan img{
    position: relative;
    top: 28px;
}

.soudan_btns_img{
    width: 100%;
}
.comment-icon .right-icon{
     width: 6%;
    position: relative;
    top: 28px;
}

.elcomSodanPic_PC{
    display: none;
}
.elcomSodanPic{
    text-align: center;
}
.elcomSodanPic img{
    width: 95%;
    position: relative;
    top: 15px;
    margin-top: 10px;
}

.elcomSodanPic a {
    /* アニメーションを滑らかにする設定 */
    display: inline-block; /* transformを使うため必須 */
    transition: transform 0.1s ease; /* 0.1秒かけて滑らかに変化 */
}

/* 1. マウスオーバー時 (ホバー時) */
.elcomSodanPic a:hover {
    /* わずかに拡大して反応を表現 */
    transform: scale(1.03);
}

/* 2. クリック時 (アクティブ時) */
.elcomSodanPic a:active {
    /* わずかに縮小してボタンが「押された」ように表現 */
    transform: scale(0.97);
}

/* 補足: 画像のデフォルトスタイルを維持 */
.elcomSodanPic a img {
    /* 親の<a>タグが拡大・縮小するので、画像自体のスタイルはシンプルに保つ */
    display: block;
    max-width: 100%;
    height: auto;
}


.type{
    color: #FFF;
    font-family: Inter;
    font-size: 11px;
    font-style: normal;
    font-weight: 700;
    line-height: 73px;
    letter-spacing: -1px;
    text-transform: uppercase;
}
.typeNum{
    color: #FFF;
    font-family: Inter;
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 73px;
    letter-spacing: -1px;
}
.kenbaiki_title{
    background: #91C1D3;
    border-radius: 5px;
    color: #fff;
    width: 200px;
    height: 53px;
}
.kenbaiki_title img{
    width: 200px;
}
.kenbaiki_title > span{
    color: #585858;
    font-size: 0.8em;
    font-weight: bold;
}
.mordal_yoto{
/* ラベルの基本的な設定 */
    display: inline-block; /* 幅と高さを指定できるようにする */
    width: 100px;         /* 💥 指定の横幅 💥 */
    padding: 5px 0;       /* 上下の余白 */
    margin: 5px 0;        /* 外側の余白（調整可能） */
    
    /* 色の設定 */
    background-color: #000; /* 💥 指定の背景色（黒） 💥 */
    color: white;           /* 💥 指定の文字色（白） 💥 */
    
    /* 文字と行間の設定 */
    text-align: center;     /* 文字を中央に配置 */
    font-size: 0.9rem;
    font-weight: normal;
    
    /* 💥 文字間（カーニング）の調整 💥 */
    /* 値を大きくすると文字間が広がり、小さくすると狭くなります。 */
    letter-spacing: 0.1em; 
    
    /* 角丸を少し追加（オプション） */
    border-radius: 3px;
}

.hojo3{
    margin-top: 30px;
    background: #B8ECFF;
    border-radius: 30px;
    text-align: center;
    width: 80%;
    height: 38px;
    margin-left: auto;
    margin-right: auto;
    line-height: 38px;
    font-weight: bold;
}
.contentText1{
    margin-top: 25px;
    font-size: 18px;
    text-align: center;
    display: inline-block;
    border-bottom: solid .3em rgba(55, 202, 255, 1);
    line-height: 1.1;
    font-style: normal;
    font-weight: 700;
    color: #585858;
}
.contentText2{
    color: #585858;
    font-size: 23px;
    text-align: center;
    display: inline-block;
    border-bottom: solid .3em rgba(55, 202, 255, 1);
    line-height: 1.2;
    margin-top: 10px;
    font-weight: 700;
    letter-spacing: 0.2px;
}
.contentText3{
    color: #585858;
    font-size: 18px;
    text-align: center;
    display: inline-block;
    border-bottom: solid .3em rgba(55, 202, 255, 1);
    line-height: 1.2;
    margin-top: 10px;
    font-weight: 700;
    letter-spacing: 0.2px;
}
.contentText4{
    color: #585858;
    font-size: 23px;
    text-align: center;
    display: inline-block;
    border-bottom: solid .3em rgba(55, 202, 255, 1);
    line-height: 1.2;
    margin-top: 10px;
    font-weight: 700;
    letter-spacing: 0.2px;
}
.hojyo_step_title{
    display: none;
}
.contentRead1{
    color: #616161;
    text-align: center;
/*    font-family: Inter;*/
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: 30px; /* 200% */
    letter-spacing: -1px;
    width: 13.5rem;
    margin: auto;
    margin-top: 50px;
}
.contentRead2{
    color: #616161;
    text-align: left;
/*    font-family: Inter;*/
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: 30px;
    letter-spacing: -1px;
    width: 16.5rem;
    margin: auto;
    margin-top: 10px;
    margin-bottom: 20px;
}

.content2Btn{
    display: block;
}
.modal_top{
    display: flex;
    margin-top: 10px;
    margin-bottom: 20px;
    text-align: center;
    flex-direction: column;
}
.modal_top_title{
    background: #91C1D3;
    border-radius: 5px;
    height: 50px;
    line-height: 50px;
    color: #fff;
}
.modal_top_title_type_pc{
    font-size: 11px;
}
.modal_top_title_num_pc{
    font-size: 20px;
}
.modal_mid{
    font-size: 0.9em;
}
.modal_low{
    /* 1. フォントサイズを統一 */
    font-size: 0.875em; 
    justify-content: center;
    align-items: center; /* 垂直方向の中央揃え */
    gap: 1em; /* 2つの要素間に適切な間隔を設定 (任意) */
}

.modal_low span {
    /* インライン要素の垂直位置を中央に揃える */
    vertical-align: middle;
}
.modal_linkButton {
    /* 親要素でテキスト配置を中央にする設定 (この方法でも中央揃えが可能) */
    text-align: center;
    margin-bottom: 25px;
}
.cta-button {
    margin-top: 20px;
    display: inline-flex; /* インラインブロックとして振る舞い、内部はFlexboxで中央寄せ */
    justify-content: center; /* 水平方向の中央揃え */
    align-items: center;     /* 垂直方向の中央揃え */

    /* 2. サイズと形状 */
    padding: 15px 40px;      /* 上下15px、左右40pxのパディングで横長にする */
    border-radius: 50px;     /* 角丸の度合い (値を大きくすると丸くなる) */

    /* 3. 背景色と文字色 */
    background: linear-gradient(91deg, #008AFB 0%, #005295 100%);
    color: #ffffff;          /* 白文字 */
    text-decoration: none;   /* 下線を消す */
    
    /* 4. フォントと視認性 */
    font-size: 0.875rem;     /* フォントサイズを少し大きめに */
    font-weight: bold;       /* 太字 */
    
    /* 5. ホバーエフェクト (任意) */
    transition: background-color 0.3s ease;
    width: 159px;
    height: 30px;
}

/* マウスオーバー時のエフェクト */
.cta-button:hover {
    background-color: #0056b3; /* 濃い青色に変化 */
    cursor: pointer;
}

.modaltopRight{
    position: relative;
    right: -10px;
    top: 5px;
}
.modal_mid > ul{
    list-style: inside;
}

.modal_low > ul{
    list-style: inside;
}

.kenbaiki_title_pc {
    width: 100%;
    background: #91C1D3;
    height: 80px;
    border-radius: 5px;
    margin: auto;
    margin-bottom: 20px;
}
.kenbaiki_title_pc > span {
    font-size: 14px;
    color: #fff;
    display: flex;
    align-items: center;
    height: 80px;
    position: relative;
    justify-content: center;
}
.kenbaiki_type_title{
    font-size: 13px;
    font-weight: bold;
    text-align: center;
}
    
.modalSecond {
    display: flex;
}
.modal_pic_set{
    width: 120px;
    margin: 10px;
}

.modalSecondRight img{
    width: 120px;
    margin: 10px;
}

/* Xボタンのスタイル（絶対配置） */
.close-x-button {
    position: absolute;
    top: 2px;
    right: 10px;
    background: #F0F0F0;
    border: 1px solid #C4C4C4;
    cursor: pointer;
    border-radius: 50%;
    transition: background-color 0.2s, color 0.2s;
    z-index: 10;
    
    /* ------------------------------------- */
    /* 【サイズと中央揃えの修正点】 */
    /* ------------------------------------- */

    /* 1. ボタンのサイズは固定 */
    width: 45px;
    height: 45px;

    /* 2. Flexboxで縦横中央揃えを強制 */
    display: flex; /* これを追加 */
    justify-content: center; /* 水平中央 */
    align-items: center; /* 垂直中央 */

    /* 3. フォントサイズの絶対指定（pxで統一） */
    font-size: 34px; /* 20pxから少し大きくして視認性を上げるか、20pxで固定 */
    font-weight: 500; /* bolderよりも数値指定で太さを制御 */
    color: #C4C4C4;

    /* 4. 不要になったプロパティを削除またはコメントアウト */
    /* line-heightはFlexboxを使うことで不要になります */
    /* line-height: 45px; */ 

    /* font-familyは「×」の見た目に影響するため削除するか、簡略化 */
    /* font-family: -apple-system, sans-serif; */ 
    
    /* 汎用的なフォントで十分です */
    font-family: Arial, Helvetica, sans-serif;
}

.close-x-button:hover {
    background-color: #f3f4f6;
    color: #ef4444; /* ホバーで赤色に変化 */
}

.close-x-button:focus,
.close-x-button:active {
    outline: none !important;
    box-shadow: none !important;
    background-color: transparent !important;
    -webkit-tap-highlight-color: transparent;
}


/*チップス*/
.contentRead2 {
    /* 初期状態で非表示にする */
    display: none; 
    
    /* チップス的な表示のためのスタイル調整（任意） */
    padding: 15px;
    border: 1px solid #ddd;
/*    background-color: #f9f9f9;*/
    margin-top: 5px;
    border-radius: 5px;
    line-height: 1.6;
    font-size: 14px;
}
.content2Btn {
    cursor: pointer;
    text-align: right;
    text-decoration: underline;
    color: #616161;
    right: 20px;
    position: relative;
}


/* --- ここからがタブのスタイル --- */
.tabs {
    border-radius: 8px;
    overflow: hidden;
}

/* ラジオボタンを非表示に */
.tabs input[type="radio"] {
    display: none;
}

/* タブ（ラベル）のエリア */
.tab-labels {
    display: flex;
    background-color: var(--tab-bg-color);
    height: 100px;
}
.tab-label {
    flex-grow: 1; /* タブを均等に広げる */
    padding: 15px;
    text-align: center;
    font-weight: bold;
    color: var(--tab-text-color);
    cursor: pointer;
    transition: all 0.3s;
    border-radius: 0 10px 0 0;
    background-color: #BFBFBF;

/*    box-shadow: 
        0 -2px 3px rgba(0, 0, 0, 0.12),
        0 0px 15px rgba(0, 0, 0, 0.1),
        inset 0 -3px 3px rgba(0, 0, 0, 0.05);
*/
}
.tab-label2 {
    flex-grow: 1; /* タブを均等に広げる */
    padding: 15px;
    text-align: center;
    font-weight: bold;
    color: var(--tab-text-color);
    cursor: pointer;
    transition: all 0.3s;
    border-radius: 0 10px 0 0;
    background-color: #8E8E8E;

/*    box-shadow: 
        0 -2px 3px rgba(0, 0, 0, 0.12),
        0 0px 15px rgba(0, 0, 0, 0.1),
        inset 0 -3px 3px rgba(0, 0, 0, 0.05);
*/
}
.tab-label > span{
    color: #fff;
    text-align: center;
    font-family: Inter;
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
    letter-spacing: -1px;
    text-transform: uppercase;
}
.tab-label2 > span{
    color: #fff;
    text-align: center;
    font-family: Inter;
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
    letter-spacing: -1px;
    text-transform: uppercase;
}
.tab-label3 > span{
    color: #fff;
    text-align: center;
    font-family: Inter;
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
    letter-spacing: -1px;
    text-transform: uppercase;
}
.tab-label:hover {
    background-color: #ddd;
}

/* コンテンツのエリア */
.tab-contents {
    background-color: #fff;
    padding: 30px;
    height: 400px;
    padding-top: 30px;
}
/* 全てのコンテンツを最初は非表示に */
.tab-content {
    display: none;
}
#tab1:checked ~ .tab-contents #content1,
#tab2:checked ~ .tab-contents #content2,
#tab3:checked ~ .tab-contents #content3 {
    display: block;
}

/* チェックされたラジオボタンに対応するタブ（ラベル）のスタイルを変える */
#tab1:checked ~ .tab-labels label[for="tab1"],
#tab2:checked ~ .tab-labels label[for="tab2"],
#tab3:checked ~ .tab-labels label[for="tab3"] {
    background-color: #fff;
    color: var(--tab-active-text-color);
    border-radius: 10px 10px 0 0;
}

#tab1:checked ~ .tab-labels label[for="tab1"] > span,
#tab2:checked ~ .tab-labels label[for="tab2"] > span,
#tab3:checked ~ .tab-labels label[for="tab3"] > span {
    /* 選択時の文字色を白に変更 */
    color: #F70; 
}

.joken_select{
    width: 600px;
}

.tab-labels .tabNum {
    font-size: 1.3em; /* もしくは 1.5em など具体的な値を推奨 */
    font-family: system-ui;
    left: 3px;
    position: relative;
}

.model_lineup_top > h3{
    text-align: center;
}
.tab-content h3 .tabNumTitle{
    font-size: 30px;
    font-family: system-ui;
    color: #000;
}

.model_lineup_mid{
    text-align: center;
    height: 85px;
}

.checkImg2{
    width: 100%;
}
.checkText{
    text-align: center;
    margin-top: 20px;
    font-size: 17px;
    font-weight: 400;
    line-height: 2.2em;
    color: #000;
    letter-spacing: -1px;
}

.checkText2{
    text-align: center;
    margin-top: 20px;
    font-size: 15px;
    font-weight: 400;
    line-height: 30px;
    color: #585858;
    letter-spacing: -1px;
}


.sectionTop{
    text-align: center;
    display: flex; 
    flex-direction: column; 
    align-items: center; /* 横方向の中央揃えを維持したい場合 */
}
.sectionTop img{
    width: 100%;
}
.sectionColor_purple{
    background: #E8ECFF;
}
.sectionColor_purple{
    background: #E8ECFF;
}
.sectionTitle{
    color: #37CAFF;
    text-align: center;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 28px; /* 233.333% */
    letter-spacing: 0.2px;
    text-transform: uppercase;
}


/* -------------------------------------- */
/* お問い合わせボタンのコンテナ (配置用) */
/* -------------------------------------- */
.contact-button-container {
    /* インライン要素（aタグ）を内側で中央に寄せるための設定 */
    text-align: center; 
    padding: 20px 0;
}
/* -------------------------------------- */
/* お問い合わせリンクのスタイル (見た目は丸いボタン) */
/* -------------------------------------- */
.contact-button-div-style {
    display: inline-block; 
    width: 80%;
    max-width: 400px;
    
    /* 高さに合わせた大きな値（例：9999px）を設定することで、常にカプセル型になります */
    border-radius: 9999px; 
    
    /* サイズと装飾 */
    padding: 15px 30px; /* パディングは維持 */
    background-color: #e27439; 
    color: #000; 
    font-size: 1.15rem;
    text-decoration: none; 
    text-align: center;
    
    
    transition: all 0.2s ease;
}

/* -------------------------------------- */
/* アクティブ時 (クリックした瞬間) のスタイル */
/* -------------------------------------- */
.contact-button-div-style:active {
    /* 押し込んだアニメーション */
    transform: translateY(6px); 
    box-shadow: 0 0 0 #b3000f; 
    padding-bottom: 9px; 
}


/* -------------------------------------- */
/* フッター */
/* -------------------------------------- */
.company_adressBox{
    width: 80%;
    margin: auto;
}
.company_info{
    text-align: left;
    width: 80%;
    margin: auto;
    font-size: 12px;
}
.company_info > p{
    font-size: 0.8em;
}
.company_adressBox{
   text-align: left;  
    font-size: 14px;
    line-height: 30px;
}

.companyAdressName{
    padding-top: 50px;
    width: 250px;
    padding-bottom: 20px;
}
.company_zip{
/*    padding-top: 30px;*/
    padding-top: 0px;
    height: auto;
    line-height: 2.5em;
}
.company_tel{
/*    padding-top: 50px;*/
    padding-top: 0px;
    line-height: 2.5em;
}
.hr_line {
    border: none;
    height: 0.5px;
    background-color: #E5ECF4;
    margin-top: 30px;
    width: 66%;
}


.header-buttons_sp {
    display: flex;
    gap: 10px;
    align-items: center;
    float: right;
    top: 10px;
    position: fixed;
    right: 126px;
    z-index: 99;
}

footer {
    color: #343D48;
    text-align: center;
    margin-top: 20px;
    width: 490px;
    margin: auto;
    font-size: 0.85em;
    background: #fff;
    position: absolute;
    padding-bottom: 100px;
    padding-top: 50px;
}


/* -------------------------------------- */
/* メインコンテンツとカード (アコーディオン化 - DIV版) */
/* -------------------------------------- */

/* card-containerの基本的な配置は維持 */
.accordion-group {
    display: flex;
    flex-direction: column; /* 縦に並べる */
    gap: 10px; /* アイテム間の隙間 */
    margin-top: 20px;
}

.accordion-item {
/*s    border: 1px solid #ddd;*/
    border-radius: 5px;
    overflow: hidden; /* コンテンツを隠すために必須 */
/*    background-color: #fff;*/
    margin-top: 10px;
}

/* クリック領域 */
.accordion-header {
    background-color: #B8ECFF;
    color: #616161;
    cursor: pointer;
    font-weight: bold;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.accordion-header img{
    width: 100%;
}
.hojoTextSp{
    margin-top: 50px;
    font-size: 15px;
    line-height: 2.1em;
}

/* タイトルとアイコン */
.accordion-header .accordion-title {
    text-align: center;
}
.accordion-title{
    width: 100%;
    font-size: 0.8em;
    position: relative;
    top: 12px;
}
.accordion-title_low {
    display: flex;
    align-items: flex-end; 
    gap: 15px; 
    margin-top: 10px;
    width: 100%;
}

/* 1. 左側 (画像) のスタイル */
.accordion-title_low_left {
    flex-shrink: 0; /* 縮まないように固定 */
    /* 画像の最大サイズを制御する場合はここに幅を設定（例: width: 150px;） */
}

.accordion-title_low_left img {
    display: block;
    max-width: 100%; /* 親要素からはみ出さない */
    height: auto;
}

/* 2. 右側 (テキスト、補助金、SVG) のスタイル */
.accordion-title_low_right {
    flex-grow: 1; /* 残りのスペースを全て占める */
    display: flex;
    flex-direction: column; /* 中の要素を縦に並べる */
    justify-content: flex-end; /* 右側のコンテンツを自身の親 (.accordion-title_low) の下端に揃える */
}

/* 3. テキストとSVGの配置調整 */
.accordion-title_low_mid,
.accordion-title_low_mid_dw {
    /* 右側テキストの配置を調整 */
   /* text-align: right;*/
}

.accordion-title_low_mid{
    font-size: 12px;
    height: 70px;   
    padding-top: 10px;
}
.accordion-title_low_mid_dw{
    height: 30px;
}

.accordion-title_low_mid > span{
    color: #FF7700;
    font-weight: bold;
    font-size: 23px;
}

.case1_img_sp{
    position: relative;
    left: 20px;
    top: 322px;
    width: 54px;
}
.case2_img_sp{
    position: absolute;
    left: 20px;
    top: 480px;
    width: 54px;
}

.accordion-content-wrapper {
    /* 横幅を制限 (画像とテキストの合計幅より少し広く) */
    /*max-width: 800px; *//* 例: ここに適切な最大幅を設定 */
    width: 100%;
    
    /* ★★★ これで全体が水平中央に配置される ★★★ */
    margin: 0 auto; 
}

/* コンテンツ部分 (開閉する領域) */
.accordion-content {
    /* 初期状態で隠す */
    max-height: 0; 
    overflow: hidden;
    /* スムーズに伸びるアニメーション */
    transition: max-height 0.3s ease-in-out, padding-top 0.3s ease-in-out, padding-bottom 0.3s ease-in-out;
    transform: translateZ(0);
    text-align: center;
}

.accordion-content p {
   /* padding: 0 15px;*/ /* 上は開閉時のみ適用するため、一旦0に */
    /*margin: 0;*/
}

/*JavaScriptで付与される 'open' クラスのスタイル */
.accordion-item.open .accordion-content {
/* 1. max-height をコンテンツの実際の高さより少し大きい値 (例: 500px) に設定 */
    max-height: 1800px; 
    
    /* 2. アニメーションと一緒に上下のパディングを適用する */
/*    padding-top: 15px; */
    padding-bottom: 15px;
    background: #fff;
}
.innder_content{
    background: #fff;
    padding-top: 20px;
}
.yosan{
    text-align: center;
    line-height: 2rem;
    margin-top: 50px;
}
.bigArrow{
    z-index: 99;
    position: relative;
    width: 100%;
}
.before_after_1{
    width: 90%;
    margin-top: -75px;
}

/* -------------------------------------- */
/* 補助金申請のアコーディオン設定*/
/* -------------------------------------- */
/* デフォルトですべてのコンテンツを非表示にする */
.shinsei-content2 {
    max-height: 0;             /* 高さを0にして非表示にする */
    overflow: hidden;          /* 内容を隠す */
    transition: max-height 0.3s ease-out, padding 0.3s ease-out; /* アニメーション設定 */
    padding-top: 0;            /* 非表示時はパディングをゼロにする */
    padding-bottom: 0;

    /* 💥 修正: デフォルトの背景色を白に設定 💥 */
    background: #fff;
}

/* 開いているコンテンツのスタイル */
.shinsei-item.open .shinsei-content2 {
    max-height: 150px;
    padding: 10px;
    background: #fff;
    border-radius: 20px;
    margin-bottom: 15px;
    width: 320px;
    margin: auto;
    margin-bottom: 15px;
}

.shinsei-item {
/*    background-color: #fff;  */
}


/* ヘッダーのカーソルを変更してクリック可能であることを示す */
.shinsei-header {
    cursor: pointer;
}
.accordion-shinsei{
    padding-bottom: 50px;
}
.shinsei-title{
    background: #B8ECFF;
    height: 75px;
    border-radius: 20px;
    margin-top: 3px;
}
.shinsei-title_sp{
    display: block;
}
.shinsei-title_sp img{
    width: 95%;
}
.shinsei-title_pc{
    display: none;
}
.shinsei-content2{
    line-height: 2.2em;
}
.shinsei-content2 > p{
    margin:20px;
}

.hojyokin_pic{
    width: 90%;
}
.hojyokin_pic_2_after{
    width: 90%;
}
.hojokinText{
    width: 80%;
    margin: auto;
    margin-top: 50px;
    margin-bottom: 40px;
    line-height: 2.1em;
    font-size: 15px; 
    color: #616161;
}
.hojyokin_text1 {
    color: #000;
    text-align: center;
    font-family: Inter;
    font-size: 34px;
    font-style: normal;
    font-weight: 500;
    line-height: 43px;
    letter-spacing: -1px;
    text-decoration: underline;
    text-underline-offset: 10px;
}
.custom-underline {
    /* 1. 下線自体の設定を解除 */
    text-decoration: none;
    
    /* 2. box-shadowで下線をシミュレート */
    /* [水平オフセット] [垂直オフセット] [ぼかし] [広がり] [色] */
    box-shadow: 0 /* 左右にずらさない */
                3px /* 垂直オフセット: 下線の距離 (太さ + 距離) */
                0 
                0 /* ぼかさない */
                var(--line-color, black); /* 下線の色 */
    margin: auto;
    /* 3. 太さの調整: 垂直オフセットと距離の調整で対応 */
    /* ここでは、太さ2px、距離1pxとして、合計3pxで調整 */
}
.typeName_sp{
    display: block;
}
.hojyokin_pc{
    display: none;
}
.hojyokin_arrow{
    transform: rotate(0deg);
}
.hojyokin_tate{
    display: none;
}

.hojyokin_acord_kaikaku{
    padding-bottom: 30px;
}
.accordion-title_pc{
    display: none;
}
.br_sp{
    display: block;
}
.br_pc{
    display: none;
}

.text_orange{
    color: #FF7700;
}
.kenbaikiTitle{
    height: 33px;
}
.kenbaikiTitle2{
    height: 17px;
    left: 5px;
    position: relative;
}

.top_soudan_btns_img{
    display: block;
    width: 100%;
    position: relative;
    top: -6px;
}
.soudan_btns_sp{
    display: block;
}


/* PC表示ではアコーディオンはそのまま縦並びにするため、特別な Flexbox の調整は行いません。 */


/* -------------------------------------- */
/* メディアクエリ (PC表示) */
/* -------------------------------------- */

/* --- PC版 (768px以上) のスタイル修正 --- */
/*@media (min-width: 768px) {*/
@media (min-width: 1200px) {
    .soudan_btns_sp{
        display: none;
    }

    .sp_only{
        display: none;
    }
    .checkText2 {
        text-align: left;
        width: 95%;
        margin: auto;
        font-size: 20px;
        line-height: 43px;
        letter-spacing: -1px;
    }
    #header_top {
        margin-top: -75px;
    }
    .header_content {
        background: none;
    }
    .container{
        margin-top: 40px;
    }

    .top_soudan_btns_img{
        display: none
    }
    .text_orange{
        color: #FF7700;
    }
    .setionContent{
        /*margin-top: 120px;*/
    }

    .elcom_top_log{
        position: relative;
        right: 15px;
    }
    .accordion-group{
        margin-top: -60px;
    }
    .accordion-item{
        background: #fff;
        padding-bottom: 100px;
        border-radius: 20px;
        width: 1200px;
        margin: auto;
        height: 1240px;
    }
    /* 1. コンテンツ部分を常に表示する */
    .accordion-content {
        max-height: none !important; /* max-heightをリセットしてコンテンツの高さを制限しない */
        overflow: visible !important; /* 内容がはみ出るのを許可 */
        transition: none !important; /* アニメーションを無効化 */
        /*padding-top: 50px;*/ /* PC版で適切なパディングを直接適用 */
        padding-bottom: 15px;
/*        width: 1456px;*/
        display: flex;
        justify-content: center;
        align-items: center;
        height: 600px;
    }

    /* 2. PC版では 'open' クラスのスタイルを無効化（上記の .accordion-content が優先） */
    .accordion-item.open .accordion-content {
        max-height: none !important;
        padding-top: 15px !important;
        padding-bottom: 15px !important;
    }
    
    /* 3. 必要に応じて、PC版ではヘッダーのクリック可能なカーソルを無効化 */
    .accordion-header {
        cursor: default; 
        display: none;
    }

    .accordion-title_pc{
        font-size: 16px;
        background: #B8ECFF;
        width: 220px;
        height: 220px;
        border-radius: 50%;
        margin: auto;
        position: relative;
        top: 137px;
        display: flex; /* 親要素をFlexコンテナにする */
        justify-content: center;
        align-items: center;
        text-align: center;
    }
    
    .center_group {
        text-align: center;
    }

    .center_text1 {
        color: #000;
        font-family: Inter;
        font-size: 23px;
        font-style: normal;
        font-weight: 600;
        line-height: 73px; /* 317.391% */
        letter-spacing: -1px;
    }
    
    .center_text1_num {
        color: #000;
        font-family: Inter;
        font-size: 39px;
        font-style: normal;
        font-weight: 600;
        line-height: 73px;
        letter-spacing: -1px;
    }

    .center_text2 {
        color: #000;
        font-family: Inter;
        font-size: 39px;
        font-style: normal;
        font-weight: 600;
        line-height: 73px; /* 187.179% */
        letter-spacing: -1px;
    }

    .hojyokin_pic_2_after{
        width: 453px;
        position: relative;
        top: 25px;
    }
    .accordion-content .hojyokin_pic{
        width: 500px;
        margin-top: 30px;
    }
    .hojyokin_acord_nayami{
        float: left;
        height: 390px;
        width: 600px;
        line-height: 2.2em;
        position: relative;
        top: -45px;
    }
    .hojyokin_acord_kaikaku{
         float: right;
         height: 390px;
         width: 600px;
         line-height: 2.2em;
         position: relative;
        top: -45px;
    }
    .bigArrow{
        display: none;
    }
    .before_after_1{
        display: none;
    }
    .hojokin_arrow{
        display: none;
    }
    
    /*  券売機7種*/
    .modal_header_title{
        display: none;
    }
    .typeName_sp{
        display: none;
    }

    .elcomComment{
        font-size: 26px;
        font-weight: bold;
        line-height: 50px;
    }

    .elcomSodanPic_PC{
        display: block;
        text-align: center;
    }

    .elcomSodanPic_PC .people_img {
        /* 指定された幅 670px に設定 */
        width: 670px;
        /* 縦横比を維持するために高さを自動設定 */
        height: auto;
    }

    .elcomSodanPic_PC .people_img2 {
        /* 指定された幅 670px に設定 */
        width: 320px;
        /* 縦横比を維持するために高さを自動設定 */
        height: auto;
    }

    /* 共通設定：ボタンのサイズと表示形式を定義 */
    .sodan-btn {
        display: block; /* リンクをブロック要素にする */
        width: 300px; /* 例: ボタンの画像サイズに合わせる */
        height: 60px; /* 例: ボタンの画像サイズに合わせる */
        margin: 10px; /* ボタン間の間隔調整 (任意) */
        text-indent: -9999px; /* テキストを画面外に飛ばす（画像表示優先のため） */
        overflow: hidden;
        background-size: cover; /* 背景画像を要素サイズに合わせる */
        background-repeat: no-repeat;
    }

    /* 1. お問い合わせボタン（通常時）*/
    .sodan-btn1 {
        /* 通常の画像を設定 */
        background-image: url("./img/elcom_sodan_btn1_1.png");
        /* スムーズに切り替わるようにトランジションを設定 (任意) */
        transition: background-image 0.3s ease;
    }

    /* 2. お問い合わせボタン（ホバー時）*/
    .sodan-btn1:hover {
        /* ホバー時の画像に切り替える */
        background-image: url("./img/elcom_sodan_btn1_1_reverse.png");
    }


    /* 3. 資料請求ボタン（参考：2番目のボタンも同様に設定）*/
    .sodan-btn2 {
        background-image: url("./img/elcom_sodan_btn2.png");
        /* 必要であればホバー設定を追加 */
    }


    .elcomSodanPic_PC .soudan_btns_img {
        /* 指定された幅 600px に設定 */
        width: 550px;
        /* 縦横比を維持するために高さを自動設定 */
        height: auto;
    }

    .elcomSodanPic{
        display: none;
    }
    .elcomSodanPic_PC{
        display: flex;
        flex-direction: column; /* 縦方向 (上から下) に要素を並べる */
        align-items: center;    /* 子要素 (typeGroup) を横方向 (左右) の中央に配置 */
        justify-content: center; /* 縦方向 (上下) の中央に配置 (必要に応じて) */
    }

    .content2Btn{
        display: none;
    }
    .contentRead2{
        display: block;
        text-align: left;
        border: none;
    }
    .soudan_btns{
        display: flex;
        margin-top: 40px;
    }
    /*PC版カルーセル解除*/
    .carousel-container {
        /* 縦に中央寄せで並べるためのFlexbox設定 */
        display: flex;
        flex-direction: column; /* 縦方向 (上から下) に要素を並べる */
        align-items: center;    /* 子要素 (typeGroup) を横方向 (左右) の中央に配置 */
        justify-content: center; /* 縦方向 (上下) の中央に配置 (必要に応じて) */
        width: 100%;
        /* border: 1px solid #ccc; /* 視覚化のため */
        margin-top: 40px;

    }

    /* 2. 各グループコンテナのスタイル */
    .typeGroup {
        width: 100%; /* 親の幅いっぱいに広げる */
        max-width: 1200px; /* 必要に応じて最大幅を設定 */
        margin-bottom: 0px; /* グループ間の間隔 */
        text-align: center; /* タイトルを中央に配置するための初期設定 */
        /* border: 1px dashed red; /* 視覚化のため */
        margin-top: 0px;
    }

    /* 3. タイトル要素のスタイル */
    .typeTitle1,
    .typeTitle2 {
        font-size: 1.5rem;
        font-weight: bold;
        margin-bottom: 20px; /* タイトルとカルーセル本体の間隔 */
        text-align: center; /* テキストを中央に配置 */
        /* 背景色や線のスタイルを追加して目立たせることも可能 */
    }

    /* 4. カルーセルアイテムグループのスタイル (横並びにする部分) */
    .carousel-item_group {
        display: flex; /* カルーセルアイテムを横に並べる */
        gap: 0px; /* アイテム間の隙間 */
        overflow-x: auto; /* 横にアイテムがはみ出る場合にスクロールを可能にする */
        padding: 10px;
        justify-content: center; /* **これがグループ全体を中央に配置します** */
        align-items: flex-start; /* アイテムの上端を揃える */
        width: 100%;
        box-sizing: border-box;
        margin-top: 50px;
        overflow: auto;
    }

    /* 5. カルーセルアイテムのスタイル */
    .carousel-item {
        /* カルーセルアイテムのサイズ設定 */
        min-width: 280px; /* アイテムの最小幅を設定 */
        max-width: 350px; /* アイテムの最大幅を設定 */
        flex-shrink: 0; /* アイテムが縮まないようにする */
        height: 520px;
        text-align: center;
    }

    /* その他、必要に応じて詳細なスタイル調整 */
    .modal_header_title,
    .modal_base_low {
        /* テキスト中央寄せを徹底 */
        text-align: center;
    }

    .carousel_Contents {
        width: 100%;
        /* 必要に応じてパディングやボックスサイズを設定 */
        box-sizing: border-box; 
    }

    .carousel-item {
        
        box-sizing: border-box;
        /* すべてのアイテムの最大幅を親要素の半分（1400px/2 = 700px）に設定 */
        max-width: 700px; 
        width: 100%; /* grid-columnが指定する幅で満たすように */
        
        /* 2. 伸びる/縮むのを許可（フレックスアイテムとして適応） */
        flex-shrink: 1; 
        flex-grow: 1;
        
        /* 3. マージンを再設定 (上下30px、左右10pxの例) */
        margin: 0px; 
        
        /* 4. スナップ設定を解除 */
        scroll-snap-align: none;

        min-height: 200px; 
        box-sizing: border-box;

    }

    .carousel_item_radius1{
        border-radius: 8px 0 0 8px;
    }
    .carousel_item_radius2{
        border-radius: 8px 8px 8px 0;
    }
    .carousel_item_radius3{
        border-radius: 0 0 0 0;
    }
        
    /* 1. 線の親要素（最後のアイテム以外すべて）を特定 */
    .carousel-item_group .carousel-item:not(:last-child) {
        position: relative; 
        /* 縦線に影響する border-right は削除します */
        border-right: none;
    }

    /* 2. 縦線として描画 */
    .carousel-item_group .carousel-item:not(:last-child)::after {
        content: "";
        
        /* ★★★ 縦線にするためのサイズ設定 ★★★ */
        width: 2px;    /* 線の太さ（横方向）*/
        height: 80%;   /* 線の長さ（縦方向）*/
        background-color: #F5F5F5;
        
        /* 配置 */
        position: absolute;
        top: 50%; /* 垂直中央に配置 */
        right: 0; 
        
        /* 中央寄せのための微調整 */
        transform: translateY(-50%); 
        
        /* アイテム間に線が来るように調整 (アイテム間の隙間の中央に) */
        /* 隙間が 20px の場合、右に 10px 移動させます */
        right: -1px; 
        z-index: 99;
    }



    /* --- レイアウト指定 --- */

    .modal_base_mid_title{
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        top: 20px;
        position: relative;
    
    }
    .carousel-item{
        color: #000;
        font-weight: normal;
    }
    .modal_base_mid{
        margin-top: 50px;
    }
    .modal_base_mid img{
        margin-top: 50px;
    }

    .modal_base_mid_pic_1 img{
        position: relative;
        left: 10px;
        width: 350px;
    }
    .modal_base_mid_pic_2 img{
        width: 338px;
    }
    /* 1行目: 1番目と2番目のアイテム (2分割) */
    .carousel-item:nth-child(1),
    .carousel-item:nth-child(2) {
        /* 12列グリッドのうち6列分を占有 (12/2 = 6) */
        /* 1400pxの6/12 = 700px。max-widthと一致するため700pxになる */
        grid-column: span 6; 
    }

    /* 2行目: 3番目と4番目のアイテム (2分割) */
    .carousel-item:nth-child(3),
    .carousel-item:nth-child(4) {
        grid-column: span 6;
    }

    /* 3行目: 5番目、6番目、7番目のアイテム (3分割) */
    .carousel-item:nth-child(5),
    .carousel-item:nth-child(6),
    .carousel-item:nth-child(7) {
        /* 12列グリッドのうち4列分を占有 (12/3 = 4) */
        /* 1400pxの4/12 = 約466.67px。これは700px以下なので、この値になる */
        grid-column: span 4;
    }

    /* 4行目: 8番目のアイテム (1分割) */
    .carousel-item:nth-child(8) {
        /* 12列グリッド全体を占有 (12/1 = 12) */
        grid-column: span 12;
        /* 1400pxの12/12 = 1400px。しかし max-width: 700px; が適用されるため、700pxになる */
        margin: 0 auto; /* 中央に配置するため */
    }


    /* 5. .carousel-wrapper のパディングを解除 (アイテム間のマージンで調整するため) */
    .carousel-wrapper {
        padding: 0;
        width: 1400px; /* PC表示時の最大幅 */
        margin: 0 auto; /* 中央揃え (任意) */
        padding: 0;

    }
    
    /* 6. .carousel_Contents の幅を親アイテムいっぱいに戻す */
    .carousel_Contents {
        width: 100%;
    }
    
 
    .cta-button {
        width: 275px;
        height: 55px;
        font-size: 22px;
        letter-spacing: 0px;
    }

    .cta-button:hover {
        filter: brightness(0.5);
        transition: background 0.3s ease;
    }

    /* 7. modal_header_title の負のマージンを解除 */
    .modal_header_title {
        margin-left: 0;
        margin-right: 0;
        width: 100%;
    }

    /*タイトル要素は表示*/
    .typeTitle1,.typeTitle2,.typeTitle3,.typeTitle4 {
        display: block;
    }
    .typeTitle1{
        background-attachment: fixed;
    }

    .typeTitle1{
        background: #B8ECFF;
        width: 800px;
        margin: auto;
        position: relative;
        top: 88px;
        height: 60px;
        border-radius: 20px;
        font-size: 1.5em;
        font-weight: bold;
        margin-bottom: 20px;
        text-align: center;
        line-height: 60px;
        z-index: 99;
    }

    .typeTitle2{
        background: #D2D8F9;
        width: 500px;
        margin: auto;
        position: relative;
        top: 90px;
        height: 60px;
        border-radius: 20px;
        font-size: 1.5em;
        font-weight: bold;
        margin-bottom: 20px;
        text-align: center;
        line-height: 60px;
        z-index: 99;
    }
    .typeTitle3{
        background: #A0EEB5;
        width: 465px;
        margin: auto;
        position: relative;
        top: 87px;
        height: 60px;
        border-radius: 20px;
        font-size: 1.5em;
        font-weight: bold;
        margin-bottom: 20px;
        text-align: center;
        line-height: 60px;
        z-index: 99;
    }
    .typeTitle4{
        background: #F6D2F9;
        width: 350px;
        margin: auto;
        position: relative;
        top: 88px;
        height: 60px;
        border-radius: 20px;
        font-size: 1.5em;
        font-weight: bold;
        margin-bottom: 20px;
        text-align: center;
        line-height: 60px;
        z-index: 99;
    }


    .typeTitleNums{
        position: relative;
        right: 30px;
    }
    .typeTitleNames{

    }
    .typeName_PC{
        color: #000;
        font-family: Inter;
        font-size: 23px;
        font-style: normal;
        font-weight: 600;
        line-height: 73px; /* 317.391% */
        letter-spacing: -1px;
        text-transform: uppercase;
        
    }
    .typeNum_PC{
        color: #000;
        font-family: Inter;
        font-size: 39px;
        font-style: normal;
        font-weight: 600;
        line-height: 60px;
        letter-spacing: -1px;
    }

    dialog{
        max-width: 1000px;
    }

    .modaltopLeft{
        display: none;
    }

    .modal-content{
        width: 70%;
        margin: auto;
        height: 500px;
    }

    .modalSecond{
        display: flex;
    }
    .modalSecondLeft{
        width: 80%;

    }
    .modalSecondRight{
        background: #fff;
    }

    .modalSecondRight img {
        width: 150px;
    }
    .modalSecondRightImgPosition img{
        position: relative;
        left: 100px;
    }
    .modalSecondRight2 img {
        width: 110px;
    }
    
    .model_lineup_mid{
        height: 160px;
        display: flex;
        align-items: center;
        justify-content: center;

    }
    .checkImg{
        padding: 0;
    }
    .checkImg2{
        width: 80px;
    }
        
    .modal_top{
        display: flex;
        flex-direction: column;
        
        text-align: center;
    }
    .modal_top_title{
        background: #91C1D3;
        border-radius: 5px;
        width: 675px;
        height: 84px;
        margin: auto;
        color: #fff;
        line-height: 75px;
    }
    .modal_top_main_title_pc{
        font-size: 25px;
        position: relative;
        left: 20px;
    }
    .modal_top_title_type_pc{
        font-size: 23px;
    }
    .modal_top_title_num_pc{
        font-size: 39px;
    }
    .kenbaiki_title_pc{
        width: 700px;
        background: #91C1D3;
        height: 80px;
        border-radius: 5px;
    }
    /*
    .kenbaiki_title_pc > span{
        font-size: 20px;
        color: #fff;
        display: flex;
        align-items: center;
        height: 80px;
        position: relative;
        left: 30px;
    }
    */
    .kenbaiki_title_pc_type{
        color: #fff;
    }
    .modaltopLeft_pc{
        display: block;
    }
    .modaltopLeft_pc > span{
        font-size: 1.1em;
        font-weight: bold;
        top: 10px;
        position: relative;
    }
    .modaltopRight {
        position: relative;
        right: 110px;
        top: 100px;
    }
    .modal_mid{
        font-size: 1.1em;
    }
    .modal_low{
        font-size: 1.1em;
    }
    .hojyokin_pc{
        display: block;
        height: auto;
        background: rgba(184, 236, 255, 0.36);
        width: 1100px;
        margin: auto;
        border-radius: 20px;
        height: 540px;
        margin-top: 30px;
    }
    .jigyokibo{
        display: flex;
        width: 80%;
        margin: auto;
    }
    .jigyokiboBox{
        width: 30%;
        height: 200px;
    }
    .jigyokiboBox2{
        width: 10%;
        height: 200px;
        position: relative;
        top: 100px;
    }
    .jigyokiboBoxTitle{
        line-height: 50px;
        width: 237px;
        background: #fff;
        color: #000;
        margin: auto;
        margin: 15px auto;
        border-radius: 15px;
        height: 50px;
        border-radius: 30px;
        margin-bottom: 30px;
    }
    .font_size_43{
        font-size: 40px;
    }
    .hojyokin_text1{
        color: #000;
        text-align: center;
        font-family: Inter;
        font-size: 32px;
        font-style: normal;
        font-weight: bold;
        line-height: 43px;
        letter-spacing: -1px;
        padding-top: 68px;
        width: 80%;
        margin: auto;
    }

    .hojyokin_text2{
        padding: 20px;
        padding-bottom: 30px;
    }
    .hojyokin_text3{
        color: #000;
        text-align: center;
        font-size: 25px;
        font-style: normal;
        font-weight: 400;
        line-height: 43px; /* 172% */
        padding-top: 20px;
        padding-bottom: 20px;
    }

    .hojokinNum{
        
        text-align: center;
/*        font-family: Inter;*/
        font-size: 82px;
        font-style: normal;
        font-weight: 600;
        line-height: 43px; /* 52.439% */
        position: relative;
        left: 0px;
    }
    .hojokinNumColor_blue{
        color: #65B2C9;
    }
    .hojokinNumColor_orange{
        color: #F70;
    }

    .hojokinKome{
        font-size: 28px;
        font-style: normal;
        font-weight: normal;
        line-height: 43px;
        position: relative;
        right: 20px;
        top: 8px;

    }

    .hojokinTani{
        font-family: Inter;
        font-size: 38px;
        font-style: normal;
        font-weight: 600;
        line-height: 43px;
        position: relative;
        right: 20px;
    }

    .hojokinText{
        font-size: 22px; 
    }


    .modal_header_title_color,.modal_header_title_color2,
    .modal_header_title_color3,.modal_header_title_color4{
        background: none;
    }



    /*==========================================*/
    /*タブ機能を解除*/
    /*==========================================*/
    /* タブのラベルを完全に非表示にする */
    .tab-labels {
        display: none;
    }
    /* ラジオボタンによるタブ切り替えのチェック状態を無視するために、
       チェック状態に依存したスタイリングを全てリセット/上書きする */
    .tabs input[type="radio"]:checked + .tab-labels label {
        /* 選択されているタブの特殊な背景色をリセット */
        background-color: transparent;
        color: inherit;
        border-radius: 0;
    }
    #tab1:checked ~ .tab-labels label[for="tab1"] > span,
    #tab2:checked ~ .tab-labels label[for="tab2"] > span,
    #tab3:checked ~ .tab-labels label[for="tab3"] > span {
        /* 選択時の文字色の変更をリセット */
        color: inherit;
    }
    
    /* 2. コンテンツエリアのレイアウト調整 */
    /* .tabs 内のコンテンツエリアのパディングと高さをリセット/調整 */
    .tab-contents {
        /* タブ部分の高さ（50px）がなくなるので、上側のパディングを調整 */
        padding: 0; 
        padding-top: 0;
        height: auto; /* 高さを固定せず、中身に合わせて自動調整 */
        background-color: transparent; /* 背景色を透明にして、枠線も消す */
        display: flex;
        gap: 0px;
        margin-top: 50px;
        height: 630px;
    }
    
    /* .tabs 全体の装飾を解除 */
    .tabs {
        box-shadow: none; /* 影を非表示 */
        overflow: visible;
    }

    /* 3. 全てのタブコンテンツを展開 */
    /* 全てのタブコンテンツを強制的に表示する */
    .tab-content {
        flex: 1 0 33.33%;
        display: block !important;
        /* コンテンツ間のスペースを設ける (必要に応じて調整) */
        margin-bottom: 30px; 
        
        /* 展開されたコンテンツの見た目を調整 */
/*        border: 1px solid #eee; */
        border-radius: 8px;
        padding: 20px;
        background-color: #fff;
        padding-top: 70px;
        position: relative;
/*        box-shadow: 0 4px 15px 0 rgba(0, 0, 0, 0.05);*/
    }
    
    /* 1. 線の親要素（最後のアイテム以外すべて）を特定 */
    .tab-contents {
        position: relative; 
        /* 縦線に影響する border-right は削除します */
        border-right: none;
    }

    /* 2. 縦線として描画 */
    .tab-contents .tab-content:not(:last-child)::after {
        content: "";
        
        /* ★★★ 縦線にするためのサイズ設定 ★★★ */
        width: 2px;    /* 線の太さ（横方向）*/
        height: 80%;   /* 線の長さ（縦方向）*/
        background-color: #F5F5F5;
        
        /* 配置 */
        position: absolute;
        top: 50%; /* 垂直中央に配置 */
        right: 0; 
        
        /* 中央寄せのための微調整 */
        transform: translateY(-50%); 
        
        /* アイテム間に線が来るように調整 (アイテム間の隙間の中央に) */
        /* 隙間が 20px の場合、右に 10px 移動させます */
        right: -1px; 
        z-index: 99;
    }

    
    .tab_content_radius1{
        border-radius: 8px 0 0 8px;
    }
    .tab_content_radius2{
        border-radius: 8px 8px 8px 0;
    }
    .tab_content_radius3{
        border-radius: 0 0 0 0;
    }


    /* .joken_select の幅をリセット (親要素の幅を使う) */
    .joken_select{
        width: 100%;
        max-width: 1200px; /* 例: 最大幅を設定 */
        margin: 0 auto;
    }
    .guide_Pic{
        width: 530px;
        margin-top: 50px;
    }

    /*=====================================*/
    /*  申請アコーディオン形式解除           */
    /*=====================================*/
    /* コンテンツ部分を常に表示する */
    .shinsei-content2 {
        max-height: none !important; /* max-heightをリセットしてコンテンツの高さを制限しない */
        overflow: visible !important; /* 内容がはみ出るのを許可 */
        transition: none !important; /* アニメーションを無効化 */
        
        padding-bottom: 10px;
        background: #fff;
        border-radius: 20px;
        height: 330px;
        margin-top: 10px;
    }


    /* JavaScriptの .open クラスによる制約も解除 */
    .shinsei-item.open .shinsei-content2 {
        max-height: none !important;
    }

    /* ヘッダーのクリック可能なスタイルを解除 (オプション) */
    .shinsei-header {
        cursor: default;
    }
    
    /* ステップタイトル画像のレイアウト調整（PC版で適度に間隔を空けるなど） */
    .shinsei-title img {
        display: block;
        margin: 0 auto 15px; /* 上下にマージンを設定し、画像を中央寄せ */
    }
    
    /* 各アイテムの下に区切り線やマージンを設定し、ステップ形式を明確にする */
    .shinsei-item {
        margin-bottom: 30px; 
       /* border-bottom: 1px solid #ddd; *//* 必要に応じてステップ間の境界線を追加 */
        padding-bottom: 30px;
    }
    /* 最後のアイテムの境界線は不要 */
    .shinsei-item:last-child {
        border-bottom: none;
/*        margin-bottom: 0;*/
        padding-bottom: 0;
    }

    .accordion-shinsei {
        padding-bottom: 50px;
        display: flex;
        
    }

    .shinsei-title_sp{
        display: none;
    }
    .shinsei-title_pc{
        display: block;
        background: #B8ECFF;
        height: 75px;
        border-radius: 20px;
        margin-top: 3px;
        height: 160px;
        
    }
    .shinsei-title_pc img{
        width: 72px;
        position: relative;
        top: 10px;
    }


    /* --- レイアウト構造の定義 --- */
    .voice-layout-container {
        display: flex;      /* 子要素を横並びにする */
        justify-content: center; /* 全体を中央に寄せる（任意） */
        align-items: flex-end; /* 下端を揃える */
        gap: 30px; /* 左右のカラム間のスペース */
        margin-top: 50px;
    }
    .voiceImg{
        position: relative;
    }
    .voiceImg img{
        width: 160px;
    }

    /*吹き出し*/
    .voiceFukidashi{
        width: 700px;
        height: 200px;
    }
    .voiceFukidashi:before {
        content: "";
        position: absolute;
        width: 30px;
        height: 40px;
        top: 50%;
        left: -12px;
        margin-top: -20px;
        background-image: url(./img/fukidashi_pc_up.png);
        background-size: contain;
        background-repeat: no-repeat;
        border: none;

    }

    .fukidashi-text {
        font-size: 20px;
        line-height: 50px; /* 250% */
        letter-spacing: -1px;
    }
      
    .voiceFukidashi img{
        width: 137px;
        position: relative;
/*        bottom: 18px;*/
        right: 20px;
        top: -17px;
    }
    /*吹き出し*/
    .voiceFukidashi2{
        width: 700px;
        height: 200px;
        margin: 0 auto;
    }
    .voiceFukidashi2 img{
        position: relative;
        right: 47px;
        width: 76px;
    }
    .voiceFukidashi2:before {
        content: "";
        position: absolute;
        width: 30px;
        height: 40px;
        top: 50%;
        left: -7px;
        margin-top: -20px;
        background-image: url(./img/fukidashi_pc_dw.png);
        background-size: contain;
        background-repeat: no-repeat;
        border: none;

    }

    /* --- 左側のカラム: voiceBox --- */
    .voiceBox {
        width: 250px;
        flex-shrink: 0;
        position: relative;
        top: -4px;
    }

    /* voiceBox 内のテキストを縦に並べるには... */
    .voiceBox span {
        display: block; /* spanをブロック要素にして縦並びにする */
        /* その他のフォントスタイルなど */
    }


    /* --- 右側のカラム: 縦並びのコンテナ --- */
    .right-column {
        display: flex;
        flex-direction: column; /* 子要素を縦方向に並べる */
        gap: 20px; /* 吹き出し間のスペース */
        flex-grow: 1; /* 残りのスペースをすべて占有 */
        max-width: 600px; /* 右側のカラムの最大幅を制限 (任意) */
    }

    /* --- 吹き出し要素の調整 --- */
    /* (既存の voiceFukidashi, fukidashiBox のスタイルと組み合わせて調整してください) */

    /* 2つ目の吹き出し（HTMLで second-fukidashi クラスを追加した場合） */
    .second-fukidashi {
        /* 必要に応じて2つ目の吹き出しのスタイルを調整 */
    }

    /* -------------------------------------- */
    /* 申請フロー (Step by Step) のレイアウト設定 */
    /* -------------------------------------- */

    /* 全体のコンテナ */
    .card-container.accordion-shinsei {
        /* 💥 重要な修正: Flexboxを適用して横並びを有効化 💥 */
        display: flex;
        overflow-x: auto; 
        flex-wrap: nowrap;
        gap: 20px; /* アイテム間の隙間 */
        padding: 20px; /* 横スクロールできるように左右にパディング */

        max-width: 1200px; 
    
        /* 💥 中央寄せのプロパティ 💥 */
        margin-left: auto;
        margin-right: auto;
        
        /* モバイルでの見栄えを考慮し、左右のパディングを維持 */
        box-sizing: border-box;
        align-items: stretch;


    }

    /* スクロールバーを非表示にする (Chrome, Safari) */
    .card-container.accordion-shinsei::-webkit-scrollbar {
        display: none;
    }

    /* 各ステップのアイテム */
    .shinsei-item {
        /* 💥 重要な設定 💥 */
        /* 1. 横幅を300pxに固定 */
        width: 280px; 
        
        /* 2. 縮小・拡大しないように設定 (300pxを維持) */
        flex-shrink: 0; 
        flex-grow: 0;
        
        border-radius: 8px;
/*        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);*/

        display: flex;
        flex-direction: column; /* 縦方向に並べる */
    }

    /* ヘッダー内の画像のスタイル調整 */
    .shinsei-header {
        text-align: center;
        padding: 7px 0;
    }

    .shinsei-title img {
        /* 画像が幅300pxのアイテムからはみ出さないように調整 */
        max-width: 100%;
        height: auto;
    }

    /* コンテンツ部分 */
    .shinsei-content2 p {
        padding: 15px;
        font-size:20px;
        line-height: 1.6;
        text-align: left;
    }

    .elcom_Sodan {
        padding-top: 80px;
    }
    .elcom_Sodan img{
        width: 20px;
    }

    /*Elcom コメント*/
    .comment-wrapper {
        display: flex;
        align-items: center;
        gap: 15px;
        width: 914px;
        margin: auto;
    }



    .elcom_Sodan img {
        /*width: auto;*/
        width: 50px;
    }
    .soudan_btns_img  {
     
    }
    .comment-icon{
        width: 5%;
    }

    /*Footerについて*/
    .company_adressBox{
        display: flex;
        justify-content: space-between;
        height: 490px;  
        padding-top: 50px;    
        border-top: 1px solid #ccc;
        width: 928px;
        margin: auto;
    }
    .company_info{
        margin-bottom: 50px;
        width: 928px;
        margin: auto;
    }
    .company_adress {
        /* 子要素の幅を均等に3等分する */
        flex-basis: 33.33%; 
        
        /* 均等にスペースを埋めるよう成長させる（必須ではないが安全） */
        flex-grow: 1; 
        
        /* パディングやボーダーを含めて幅を計算する（レイアウト崩れ防止） */
        box-sizing: border-box;
        
        /* 必要に応じて、各ブロック内に余白を追加 */
        padding: 0 15px; 
    }
    .hr_line{
        display: none;
    }

    footer{
        background: #fff;
        width: 100%;
        padding-bottom: 100px;
    }


}

/* 768px以上の画面サイズに適用されるスタイル */
/*@media (min-width: 768px) {*/
/*タブレットがあるので1200まで*/
@media (min-width: 1200px) {
    .br_sp{
        display: none;
    }
    .br_pc{
        display: block;
    }
    .setionContent_50{
        margin-top:0;
/*        height: 612px;*/
    }
    header{
        border-radius:  ;
    }
    /* PC表示ではハンバーガーボタンを非表示 */
    .hamburger-icon {
        display: none;
    }
        
    .top_img{
        /*width: 100%;*/
        width: 1456px;
        margin-top: 0px;
    }
    .top_banner2,.top_banner3{
        display: none;
    }
    .header-buttons_sp{
        display: none;
    }
    .header-buttons_pc .contact-button {
        /*padding: 5px 15px;*/
        margin: 0;
        font-size: 0.95em;
        box-shadow: none;
        white-space: nowrap;
        width: 180px;
        height: 60px;
        color: #fff;
        text-decoration: none;
        text-align: center;
        line-height: 60px;
    }
     .call-button:hover {
        background-color: #e69833; 
    }

    .nayami{
        font-size: 23px;
        line-height: 2em;
    }



/* -------------------------------------- */
/* PC用ヘッダーボタンコンテナの設定 */
/* -------------------------------------- */
    .header-buttons_pc {
        /* 💥 指定の高さ 💥 */
        height: 70px; 
        
        /* 内部のボタンを中央に配置するためにFlexboxを適用 */
        display: flex;
        
        /* ボタンを垂直方向の中央に揃える */
        align-items: center; 
        
        /* ボタンを水平方向の中央に揃える (ボタンが一つ増えたため、space-aroundなど調整可能) */
        justify-content: center; 
        
        /* ボタン間の隙間（既存の設定に合わせて調整） */
        gap: 0px; 
    }

    .header-buttons_pc:hover{
        color: #00ABE9;
    }
    

    /* 問い合わせボタンの色を強調する例 */
    .call-button {
        background: linear-gradient(90deg, #00ABE9 0%, #62D080 100%);
        width: 200px;
        text-align: center;
        height: 60px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #fff;
        text-decoration: none;
    }
    .call-button:hover {
        filter: brightness(0.5);
        transition: background 0.3s ease;
    }

    /* フォームボタンの色 */
    .mail-button {
        background: linear-gradient(90deg, #FF6200 0%, #FFAE00 100%);
        width: 200px;
        text-align: center;
        height: 60px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #fff;
        text-decoration: none;
    }
    .mail-button:hover {
        filter: brightness(0.5);
        transition: background 0.3s ease;
    }


    /* PC表示時のヘッダーの調整 */
    header {
        justify-content: center; /* ナビゲーションを中央に寄せる */
    }

    /* ナビゲーションを横並びに戻す */
    #global-nav {
        /* 固定と全画面表示を解除し、インライン表示に戻す */
        position: static;
        background: #fff;
        height: auto;
        width: auto;
        transform: translateX(0);
        transition: none; /* アニメーション解除 */
        z-index: auto;
    }
    
    #global-nav ul {
        height: auto;
        flex-direction: row;
    }
    
    /* PCでのメニュー項目の調整 */
    #global-nav a {
        font-size: 0.8em;
        padding: 0.5rem 1rem;
        color: #000;
        
    }

    .sectionTitle {
        font-size: 20px;
        padding-bottom: 40px;
        text-transform: uppercase;
    }
    .sectionTop{
        text-align: center;
        display: inline-block; 
    
        /* ブロック要素として中央寄せを行うための設定 */
        margin-left: auto;
        margin-right: auto;

        flex-direction: initial; 
        align-items: center; /* 横方向の中央揃えを維持したい場合 */

        /* 子要素のインライン要素を中央揃えにする */
        text-align: center; 
        
        /* 下線（border-bottom）を親要素に移動させる */
        border-bottom: solid .3em rgba(55, 202, 255, 1);
        
        /* 必要に応じて、下線の下に余白を設定 */
        padding-bottom: 10px;
    }
    .sectionTop img{
        width: 200px;
    }
    .section-wrapper {
        /* .sectionTop (display: inline-block) を中央に寄せる */
        text-align: center; 
    }
    .contentText1 {
        font-size: 26px;
        border-bottom: none;
    }

    .contentText2 {
        font-size: 46px;
        border-bottom: none;
    }
    .contentText3{
        font-size: 40px;
        border-bottom: none;
    }
    .contentText4 {
        font-size: 40px;
        border-bottom: none;
    }

    .hojoTextSp{
        display: none;
    }
    
    .contentRead1 {
        width: 43em;
        font-size: 22px;
        line-height: 2.2em;
        margin-top: 70px;
    
    }

    .shinsei-content2_up{
        height: 110px;
        height: 110px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .shinsei-content2_dw{
        padding: 10px 10px;

    }
    .contentRead2{
         width: 52em;
         text-align: center;
         font-size: 18px;
    }

    .contentRead2 a{
        color: #616161;
        cursor: pointer;
    }
    .hojyo_step_title{
        display: block;
        font-size: 28px;
        position: relative;
        top: 20px;
    }

    .hojo3{
        width: 600px;
        position: relative;
        top: 80px;
        font-size: 32px;
        height: 60px;
        line-height: 60px;
        color: #585858;
        z-index: 99;
    }
    
    .hojyokin_tate{
        display: block;
        height: 343px;
        position: relative;
        top: 29px;
        left: -9px;
    }
    .hojyokin_arrow{
        transform: rotate(-90deg);
        position: relative;
        top: 30px;
    }
    .checkImg {
        width: 100px;
    }
    .checkText{
        font-size: 22px;
        line-height: 2.2em;
        color: #585858;
        letter-spacing: -1px;
    }

    .model_lineup_low{
        margin-top: 20px;
    }
    .model_lineup_low .checkText{
        text-align: left;
        padding: 0 24px;
    }
    /* カードを横に3列にする */
    .card {
        flex: 1 1 calc(33.333% - 20px); 
    }

    #top{
        background: #DDFDFF;
        height: 610px;
    }
    #hojyokin{
        padding-bottom: 100px;
        padding-top: 110px;
    }
    #model{
        padding-top: 110px;
        padding-bottom: 110px;
    }
    #joken{
        padding-top: 130px;
        padding-bottom: 100px;
    }
    #voice{
        padding-top: 130px;
        padding-bottom: 130px;
    }
    #flow{
       padding-top: 130px;
        padding-bottom: 80px;
    }
    #last_Sodan{
        padding-bottom: 100px;
    }
    #company{
        padding-top: 130px;
    }
    
}

/*スマホ表示*/
/*@media (max-width: 767px) {*/
@media (max-width: 1199px) {
        .header-buttons_sp {
        display: flex;
        gap: 10px;
        align-items: center;
        float: right;
        top: 10px;
        position: fixed;
        right: 10px;
        justify-content: center;
        z-index: 99;
    }

    .elcom_top_log{
        display: none;
    }
    header{
        width: 57px;
        left: 35px;
        background: #333;
    }
    .top_img{
/*        margin-top: 70px;*/
        width: 100%;
        margin-top: 2rem;
    }
    .container{
        width: 100%;
        padding: 0;
        position: relative;
        top: 0px;
    }
    .header-buttons_pc{
        display: none;
    }

    #hojyokin,#model,#joken,#voice,#flow{
        padding-top: 50px;
    }
/* -------------------------------------- */
/* お問い合わせボタンのスタイル (既存のものを流用し、ヘッダー用に調整) */
/* -------------------------------------- */

/* 既存の .contact-button の設定はそのまま残し、
   ヘッダー内のボタンに対して以下の調整を適用します */

    .header-buttons_sp .contact-button {
        /* ヘッダー内に収まるようパディングを小さくする */
        padding: 5px 15px; 
        margin: 0; /* マージンをリセット */
        font-size: 0.75rem; /* フォントを小さく */
        border-radius: 4px;
        box-shadow: none; /* 固定ヘッダー内のボタンなので影を控えめにするか削除 */
        white-space: nowrap; /* ボタン内のテキストで改行させない */
        width: 120px;
        height: 40px;
        color: #fff;
        text-decoration: none;
        line-height: 34px;
    }


    /* 無料相談ボタンの色を強調する例 */
    .call-button {
        background: linear-gradient(90deg, #00ABE9 0%, #62D080 100%);
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #fff;
        text-decoration: none;
        font-size: 14px;
        width: 130px;
        border-radius: 5px;
    }
    .call-button:hover {
        filter: brightness(0.5);
        transition: background 0.3s ease;
    }

    /* 補助金の無料相談の色 */
    .mail-button {
        background: linear-gradient(90deg, #FF6200 0%, #FFAE00 100%);
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #fff;
        text-decoration: none;
        font-size: 14px;
        width: 130px;
        border-radius: 5px;
    }
    .mail-button:hover {
        filter: brightness(0.5);
        transition: background 0.3s ease;
    }

    .top_banner2{
        position: relative;
        top: -5px;
        width: 100%;
        background: #DDFDFF;
    }
    .top_banner2:hover{
        filter: brightness(0.5);
        transition: background 0.3s ease;
    }
    .top_banner3{
        width: 100%;
        position: relative;
        top: -10px;
    }

    
    /*
    img.top_banner{
        width: 90%;
        margin-top: 85px;
        z-index: 99;
        position: relative;
    }
    img.top_banner2{
        width: 90%;
        position: absolute;
        bottom: 80px;
        left: 50%;
        transform: translateX(-50%);
        height: auto;
        max-width: 100%;

    }
    img.top_banner3{
        width: 90%;
        margin-top: 0px;
        position: absolute;
        bottom: 0px;
        left: 50%;
        transform: translateX(-50%);
    }
        */
    .joken_select{
        width: 90%;
        margin-top: 30px;
        margin: auto;
        margin-top: 20px;
        box-shadow: 0 4px 15px 0 rgba(0, 0, 0, 0.05);
    }

    .shinsei-content2_dw{
        color: #585858;
        text-align: justify;
        font-size: 15px;
        font-style: normal;
        font-weight: 400;
        line-height: 30px;
        letter-spacing: -1px;
        padding: 18px;
    }
    footer{
        width: 100%;
    }
    
}


/* -------------------------------------- */
/* メディアクエリ (PC/タブレット表示) */
/* -------------------------------------- */
 /* --------------------------------
 * タブレット (768px〜1024px)
 * --------------------------------
 */
/* 画面幅が768px以上 (min-width) かつ 1200px以下 (max-width) の場合に適用 */

@media screen and (min-width: 768px) and (max-width: 1200px) {
    
    .header-buttons_sp {
        display: flex;
        gap: 10px;
        align-items: center;
        float: right;
        top: 10px;
        position: fixed;
        right: 15px;
        z-index: 99;
    }

    main{
        width: 490px;
        margin: auto;
       background: #F6F9FC;
    }
    body{
        background: #3ab3e7;
    }
    
    .container{
        background: #fff;
    }
    .content{
        background: #F6F9FC;
    }
    .elcom_Sodan{
        background: #F6F9FC;
    }

    .carousel-item {
        width: 320px;
    }
    .carousel_Contents{
        width: 320px;
    }
    .modal_header_title{
        width: 320px;
    }
    footer{
        width: 490px;
    }
    
}


