﻿@charset UTF-8;

    *, *::before, *::after {
      box-sizing: border-box;
    }






    /* カルーセル全体のコンテナ */
	.carousel-container	{position: relative;
				width: 100%;
				max-width: 1200px;
				margin: 0 auto;
				overflow: hidden;
				}


	.carousel-stage {display: flex;
			transition: transform 0.5s ease-in-out;
			width: 100%;
			}

    		/* 各スライド */
		.carousel-slide {min-width: 100%;}

		.carousel-slide img	{width: 100%;
					display: block;
					height: auto;
					}


    /* 中央に固定するメインタイトル画像 */
	.carousel-maintitle	{position: absolute;
				top: 45%;
				left: 50%;
				transform: translate(-50%, -50%);
				width: 100%;
				max-width: 800px;
				pointer-events: none;
				z-index: 10;
				transition: width 0.3s;
				}


		.carousel-maintitle img {width: 100%;
					height: auto;
					display: block;
					}


    /* コントロールエリア（通常時） */
	.carousel-controls	{position: absolute;
				bottom: 1rem;
				left: 50%;
				transform: translateX(-50%);
				display: flex;
				align-items: center;
				gap: 20px;
				padding: 0.4rem 2rem;
				border-radius: 50vw;
				background: rgb(0 0 0 / 0.5);
				z-index: 20;
				}

		.carousel-dots {display: flex;
				gap: 8px;
				}


	.dot	{width: 10px;
		height: 10px;
		border-radius: 50%;
		background: rgb(255 255 255 / 0.5);
		cursor: pointer;
		transition: background 0.3s;
		}

	.dot.active {background: #fff;}

	.carousel-buttons	{display: flex;
				gap: 5px;}


	.btn-ctrl	{background: none;
			border: 1px solid #fff;
			color: #fff;
			padding: 0.2rem 0.8rem;
			font-size: 1.1rem;
			border-radius: 10% 10%;
			cursor: pointer;
			white-space:pre;
			transition: all 0.3s;
			}

	.btn-ctrl:hover {background: rgb(255 255 255 / 0.4);}
    
	.btn-ctrl.active	{color:#222;
				font-weight:bold;
				background: rgb(255 255 255 / 1);
				}




	/* ==========================================

       		画面横幅 430px 以下

	========================================== */
	@media (max-width: 430px) {


	.w430_out {display:none;}

	.carousel-maintitle {width: 120%;}

	.carousel-maintitle {transform: translate(-50%, -60%);}


      .carousel-container {overflow: visible;}


      /* 田の字 */
	.carousel-stage {display: grid;
			grid-template-columns: repeat(2, 1fr);
			grid-template-rows: repeat(2, auto);
			gap: 0px;	
			transform: none !important; /* JSによる位置ズレを強制リセット */
			transition: none !important;
			}


	.carousel-slide.clone {display: none !important;}

	.carousel-slide {min-width: auto;}/* 幅指定解除	 */

	.carousel-controls {display: none !important;}


/*  ------------------------------------------
		3ボタン追加
--------------------------------------------  */


	div.indexlink_allbox ul li em	{font-size: 2rem;
					line-height: 1rem;}

	div.indexlink_allbox ul li {border-radius: 25%;}


	.plan_t1, .plan_t2 {letter-spacing: 1px;}

	div.indexlink_allbox ul li em	{letter-spacing: -1px;}




/*  ------------------------------------------
		対象住戸ボタン追加
--------------------------------------------  */

	a.yellowbg_longban {line-height: 6rem;}













   
    }


 