/* 900px以上はPCメニューを表示 */
@media (min-width: 1023px) {
    .pc {
        display: block; /* PCメニューを表示 */
    }
    .tablet, .sp {
        display: none; /* タブレットとスマホメニューを非表示 */
    }

	.fv{
		margin-top : 110px!important;
	}

    .top_area {
        position: fixed;
        width: 100%;
        height: 140px;
		background : #ffffff;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0 20px;
        z-index: 1000;
        overflow: hidden; /* 隠れないように調整 */
    }

    .dummy_space {
        flex-grow: 1; /* 左右の余白を調整 */
    }

    .menu {
        display: flex;
        align-items: center; /* メニュー内のアイテムを縦方向に中央揃え */
        gap: 10px;
    }

    .logo {
        margin-right: 10px;
        padding-top: 0px;
    }
	.logo img{
		width : 80%;
	}

    .tel_banner {
        margin-right: 20px;
        padding-top: 50px;
    }

    .buttons {
        display: flex;
        gap: 10px;
        margin-left: auto; /* 自動で左にスペースを作る */
    }

button {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 10px 20px;
    width: 130px;
    background-color: #007bff;
    color: white;
    border: none;
    cursor: pointer;
    height: 110px;
    text-align: center;
}

button img {
    width: 50px; /* アイコンの大きさを調整 */
    margin-bottom: 10px; /* テキストとの間隔 */
}

button span {
    font-size: 14px; /* テキストのサイズ調整 */
}
.btn-purchase {
    background-color: #007bff; /* 青 */
}

.btn-sell {
    background-color: #28a745; /* 緑 */
}

.btn-line {
    background-color: #ffc107; /* 黄色 */
}

/* メニュー全体の背景 */
/* メニューボックスの設定 */
.menu_box {
    position: fixed;
    top: 100px; /* 位置を下げる */
    right: -400px;
    width: 400px;
    height: calc(100vh - 100px); /* 画面の高さに対して100px引く */
    background-color: #6ac65c;
    z-index: 9999;
    overflow-y: scroll !important; /* ✅ 縦スクロールを強制 */
    overflow-x: hidden; /* 横スクロールを無効 */
    padding: 20px;
    transition: right 0.5s ease;
    -webkit-overflow-scrolling: touch; /* モバイル用のスムーズスクロール */
}



/* メニューが開いているときのスタイル */
.menu_box.active {
    right: 0; /* メニューが表示される */
}

/* スマホ用スライドインメニューのスタイル */
    .menu_items {
        list-style: none;
        margin: 0;
        padding: 0;
        position: fixed;
        right: -100%;
        top: 60px;
        width: calc(100% - 20px);
        height: calc(100% - 20px);
		width : 480px;
        background-color: #f4f4f4;
        flex-direction: column;
        justify-content: center;
        transition: right 0.5s ease;
        overflow: hidden;
        z-index: 9999;
        background-color: rgba(106, 198, 92, 0.9); /* 背景色を少し透過 */
		padding : 20px;
    }

    .menu_items.active {
        right: 0;
        width: 480px;
        top : 120px;
    }
    .menu_items li {
        margin: 20px 0;
        text-align: left;
		text-decoration : none;
		color : #fff;
		height : 27px;
		border-bottom : 1px dotted #fff;
        overflow: hidden;
	    }
    .menu_items li a {
        text-align: left!important;
		text-decoration : none;
		color : #fff;
    }


.menu_items li {
    margin-bottom: 20px; /* 各liの間隔を広げる */
}

.menu_items li {
    border-bottom: 1px dotted #fff; /* 点線のボーダーを追加 */
    padding-bottom: 10px; /* ボーダーとコンテンツの余白を追加 */
}

/* メニュー全体の背景 */

    .toggle_menu {
        cursor: pointer;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        margin-right: 15px;
        z-index: 1001;
        padding-top: 10px;
        width: 70px; /* PCメニューの幅を90pxに設定 */
        height: auto;
    }

    .menu_icon {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 8px; /* PCでは三本線の間隔を広げる */
    }

    .menu_line {
        width: 90px; /* PCの三本線の幅を90pxに調整 */
        height: 3px;
        background-color: #000;
        margin: 0;
    }

    .menu_label {
        font-size: 16px;
        text-align: center;
        margin-top: 5px;
        color: #000;
        line-height: 1;
        overflow : hidden;
        font-weight : 600;
    }

    .dummy_space {
        flex-grow: 1;
    }
}

/* 641pxから899pxはタブレットメニューを表示 */
@media (min-width: 641px) and (max-width: 1025px) {
    .pc, .sp {
        display: none; /* PCメニューとスマホメニューを非表示 */
    }
    .tablet {
        display: block; /* タブレットメニューを表示 */
    }

    .top_area {
        position: fixed;
        width: 100%;
        height: 100px;
        background-color: #fff;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0 20px;
        z-index: 1000;
		overflow : hidden!important;
    }
	.logo{
		width : 40%;
	}

    .logo img {
        width: 90%;
    }
    .tel_banner {
        margin-right: 10px;
        padding-top: 35px;
		width : 70%;
    }
    .menu {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 10px;
		overflow : hidden;
    }

    .buttons {
        display: none; /* タブレットではボタンを非表示 */
    }

    .menu_items {
        list-style: none;
        margin: 0;
        padding: 0;
        position: fixed;
        right: -100%;
        top: 60px;
        width: calc(100% - 20px);
        height: calc(100% - 20px);
        background-color: #f4f4f4;
        flex-direction: column;
        justify-content: center;
        transition: right 0.5s ease;
        overflow: hidden;
        z-index: 9999;
    }

    .menu_items.active {
        right: 0;
    }

    .menu_items li {
        margin: 20px 0;
        text-align: center;
    }

    .toggle_menu {
        cursor: pointer;
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-right: 20px;
        z-index: 1001;
    }

    .menu_icon {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .menu_line {
        width: 100px;
        height: 3px;
        background-color: #000;
        margin: 0;
    }

    .menu_label {
        font-size: 14px;
        text-align: center;
        margin-top: 0px;
        color: #000;
        line-height: 1;
    }
}

/* 640px以下はスマホメニューを表示 */
/* スマホ用 (800px以下) */
@media (max-width: 800px) {
    .pc, .tablet {
        display: none; /* PCメニューとタブレットメニューを非表示 */
    }
    .sp {
        display: block; /* スマホメニューを表示 */
    }

    .top_area {
        /* SUGAWARA display: flex; */
		display: contents; /* SUGAWARA */
        justify-content: space-between;
        padding: 10px 10px;
        height: 68px;
        /*position: fixed;*/
        width: 100%;
        box-sizing: border-box;
        overflow: visible;
		background:rgba(255,255,255,0.8);
    }
    .logo {
        margin-right: 0px;
        padding-top: 5px;
		overflow : hidden;
    }
    .logo img {
        width: 100%;
    }
	.top_area .logo, .top_area .logo img {
		width: 100vw;
		max-height: 68px;
	} /* SUGAWARA */
}
/* SUGAWARA    .top_fixed {
        display: flex;
        flex-direction: column;
    } */
	
    .top_row {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0px 0 5px 0;
        gap: 10px;
        overflow : hidden!important;
    }
    
    
    .tel_banner {
        margin-right: 0px;
        padding-top: 2px;
		margin-top : 5px;
    }

    .button_row {
        display : none!important;
    }

button {
    padding: 0 20px;
    height: 40px;
    width: 33%;
    color: white;
    border: none;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
}

button.purchase {
    background-color: #007bff!important; /* 青 (購入) */
}

button.sell {
    background-color: #28a745!important; /* 緑 (売却) */
}

button.line-consult {
    background-color: #ffc107!important; /* 黄色 (LINE相談) */
}

    .button_row button {
        display: block; /* ボタンを縦に並べる場合 */
        width: 100%;
        margin-bottom: 10px; /* 各ボタンの間にスペースを追加 */
    }

    .toggle_menu {
        cursor: pointer;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        margin-right: 7px;
        z-index: 1001;
        margin-top: 10px;
        width: auto;
        height: auto;
    }

    .menu_icon {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 7px; /* 三本線の間の余白を設定 */
    }


    .menu_line {
        width: 90px;
        height: 3px;
        background-color: #000;
        margin: 0 15px;
    }

    .menu_label {
        font-size: 13px;
        font-weight : 600;
        text-align: center;
        margin-top: 0px;
        color: #000;
        line-height: 1;
        overflow: hidden;
    }

/* スマホ用スライドインメニューのスタイル */
.menu_items {
    list-style: none;
    margin: 0;
    padding: 0;
    position: fixed;
    right: -100%;
    top: 60px;
    width: calc(100% - 20px);
    height: calc(100% - 60px); /* メニュー全体の高さを設定 */
    background-color: rgba(106, 198, 92, 1); /* 背景色を少し透過 */
    flex-direction: column;
    justify-content: center;
    transition: right 0.5s ease;
    overflow-y: auto; /* 自動的にスクロールバーを表示 */
    -webkit-overflow-scrolling: touch; /* スムーズスクロールを有効にする */
    z-index: 9999;
    padding: 20px;
	padding-bottom : 50px;
}

/* スクロールバーを非表示にするスタイル */
.menu_items::-webkit-scrollbar {
    display: none;
}

    .menu_items.active {
        right: 0;
    }
    .menu_items li {
        margin: 20px 0;
        text-align: left;
		text-decoration : none;
		color : #fff;
		height : 27px;
		border-bottom : 1px dotted #fff;
        overflow: hidden;
	    }
    .menu_items li a {
        text-align: left!important;
		text-decoration : none;
		color : #fff;
    }

    .menu_items::after,
    .menu_items::before {
        display: none !important;
        content: none !important;
    }

    .arrow_icon {
        display: none !important;
    }
}
/* ▲アイコンの疑似要素を非表示にする */
.menu_items::before,
.menu_items::after {
    display: none !important; /* 疑似要素を完全に非表示に */
    content: none !important; /* コンテンツを削除 */
}

/* もし特定のクラスや要素に直接設定されている場合 */
.arrow_icon {
    display: none !important; /* .arrow_icon クラスを非表示に */
}

/* 共通スタイル */
a.btn-purchase, a.btn-sell, a.btn-line {
    display: inline-block; /* ブロック要素として表示 */
    padding: 10px 20px; /* パディングでボタン風に調整 */
    text-decoration: none; /* リンクの下線を消す */
    color: #fff; /* テキストの色を白に */
    border-radius: 5px; /* ボタンの角を丸く */
    font-weight: bold; /* テキストを太字に */
    text-align: center; /* テキストを中央揃え */
    margin: 10px 0; /* ボタン間のスペース */
    vertical-align: middle;
}

/* 個別の色 */
a.btn-purchase {
    background-color: #007bff; /* 青 */
}

a.btn-sell {
    background-color: #28a745; /* 緑 */
}

a.btn-line {
    background-color: #ffc107; /* 黄色 */
}

/* 画像とテキストの間にスペースを追加 */
a.btn-purchase img, a.btn-sell img, a.btn-line img {
    vertical-align: middle; /* 画像をテキストと同じ高さに配置 */
    margin-right: 10px; /* 画像とテキストの間にスペースを追加 */
}


/*調整・修正*/
a.btn-purchase, a.btn-sell, a.btn-line {
    display: flex;
    flex-direction: column; /* アイコンを上、文字を下に表示 */
    align-items: center; /* アイコンと文字を中央揃え */
    justify-content: center; /* 縦方向の中央揃え */
    padding: 10px 20px;
    text-decoration: none;
    color: #fff;
    border-radius: 5px;
    font-weight: bold;
    text-align: center;
    margin: 10px 0;
    width: 130px; /* 必要に応じてボタンの幅を調整 */
    height: 110px; /* 必要に応じてボタンの高さを調整 */
    gap: 5px; /* アイコンと文字の間のスペースを調整 */
}

a.btn-purchase img, a.btn-sell img, a.btn-line img {
    width: 50px; /* アイコンの大きさを元に戻す */
    height: auto; /* 高さを自動にして比率を保つ */
}

a.btn-purchase span, a.btn-sell span, a.btn-line span {
    display: block;
    font-size: 14px; /* テキストのサイズ調整 */
    line-height: 1; /* 行間を詰めて、不要なスペースをなくす */
	overflow: hidden;
}

/*PCでメニューの縦幅調整*/
.menu_items li {
    margin: 10px 0; /* 各項目間の間隔を調整 */
    padding: 5px 0; /* 項目内の余白を減らす */
    line-height: 1.2; /* 行間を詰める */
    height: auto; /* 固定高さを解除 */
    border-bottom: 1px dotted #fff;
}

.tel_banner_img {
  width: 100%; /* 親に合わせて広がる */
  max-width: 320px; /* 最大でもこのサイズまでにする（必要に応じて調整） */
  aspect-ratio: 150 / 47; /* ★元画像の比率を保持する！ */
  height: auto;
  display: block;
  transition: none !important; /* ズームアニメーション防止 */
}
