@charset "utf-8";
/* CSS Document */
/* スライダー */	
        /* CSS変数も競合を避けるために一意の名前に変更 */
        :root {
            --hs-gold: #C28D18;
            --hs-bg: #F7F8F6;
            --hs-shadow: 2px 3px 6px 0px rgba(0, 0, 0, 0.16);
            --hs-gap: clamp(1.5rem, -5.423rem + 12.31vw, 2.313rem);
        }
        /* --- コンテナクエリの準備 --- */
        .bio-slider-wrapper {
            container-type: inline-size;
            width: 100%;
            max-width: 1280px;
            /*margin: 60px auto 0;*/
			margin-inline: auto;
        }

        .bio-slider-container {
            position: relative;
            /*padding: 0 75px;*/
            overflow: hidden;
        }

        .bio-slider-track {
            display: flex;
			margin-top:1.875rem;
            gap: var(--hs-gap);
            overflow-x: auto;
            scroll-snap-type: x mandatory;
            scrollbar-width: none;
            padding: 7px 0;
            -webkit-overflow-scrolling: touch;
        }
       .bio-slider-track::-webkit-scrollbar { display: none; }
@media screen and (min-width: 1100px) {
	.bio-slider-btn{display:none;}
	.bio-slider-dots-wrap{display: none;}
}
@media screen and (min-width: 750px) {
@scope (.bio-slider-track) {
		.card01 {
			border-bottom:solid 2px #3F6028;
			padding-bottom: 23px;
		}
		.card02 {
			border-bottom:solid 2px #857E75;
			width:min(420px, 100%);
			padding-bottom: 23px;
		}
		.card03 {
			border-bottom:solid 2px #BE7F2E;
			padding-bottom: 23px;
		}
		.card__content {
			display: grid;
			grid-row: span 4;
			grid-template-rows: subgrid;
			/*padding-bottom:1.75rem;*/
				& > div {
					margin-inline:auto;
					
				}
				& div > img{
					margin-inline:auto;
					display: flex;
				}
				& div > h3{
					letter-spacing: 0.1rem;
					font-weight: 500;
					font-size: clamp(1.875rem, 1.474rem + 0.85vw, 2.5rem);
					line-height: 1.25;
					text-align: center;
					padding-block: 30px 23px;
					height: 2.8lh;
				}
				& div > h3.title__card__01{
					color:#144416;
					position: relative;
						&::after{
						border-bottom: solid 1px #A3BE58;
						content: "";
						width: 207px;
						position: absolute;
						left: 50%;
						transform: translateX(-50%);	
						bottom: 0;
						}
				}
			   & div > h3.title__card__02{
					color:#686158;
				   position: relative;
				   font-size: clamp(1.875rem, 1.795rem + 0.17vw, 2rem)!important;
                   line-height: 1.5;
						&::after{
						border-bottom: solid 1px #E5DDD2;
						content: "";
						width: 207px;
						position: absolute;
						left: 50%;
						transform: translateX(-50%);	
						bottom: 0;
						}
				}
			   & div > h3.title__card__03{
					color:#D58B10;
				   position: relative;
						&::after{
						border-bottom: solid 1px #FECE5E;
						content: "";
						width: 207px;
						position: absolute;
						left: 50%;
						transform: translateX(-50%);	
						bottom: 0;
						}
				}
			  & div > h3.title__split{
					display: flex;
					justify-content: center;
					gap: 20px;
					margin: 0;
						  .title__split__block{
								display: flex;
    							flex-direction: column;
						  }
				  		.text-left{
								align-items: flex-end;
						  }
				         .text-right{
								align-items: flex-start;
						  }
						  .sub-text{
								font-size:1.375rem;
							    font-weight: 700;
							    line-height: 1.5;
						  }
				  		/* 中央の斜め線 */
						.split-title__line {
							display: block;
							width: 2px;
							height: 83px;
							background-color: #655e53;
							transform: rotate(15deg);
							transform-origin: center;
						}
				}
			& div > h4{
					letter-spacing: 0;
					font-weight: 500;
				    color:#144416;
					font-size: 1.875rem;
					line-height: 1.667;
					text-align: center;
					margin-block: 17.5px 25px;
				    white-space: nowrap;
				    
						& .marker_green{
							background: linear-gradient(transparent 70%, #E0F9B4 0%);
				    		display:inline;
						}
						& .marker_yellow{
							background: linear-gradient(transparent 70%, #FDF4BB 0%);
				    		display:inline;
						}
						& .marker_beige{
							background: linear-gradient(transparent 70%, #FCEBD5 0%);
				    		display:inline;
						}
				}
			p.description{
				font-size:1.063rem;
				line-height: 1.647;
				padding-inline: 2.125rem;
			}
		 }
	}
}
        /* --- カードのベーススタイル --- */
        .bio-slider-card {
            flex: 0 0 calc(33.333% - (var(--hs-gap) * 2 / 3));
            min-width: 0;
            scroll-snap-align: start; 
            box-sizing: border-box;
            transition: transform 0.3s ease;
        }


        /* --- コンテナクエリによるレスポンシブ --- */
 		/* ブレイクポイント1: 1100px以下で「2枚表示」 */
		@container (max-width: 1100px) {
			.bio-slider-card {
				flex: 0 0 calc(50% - (var(--hs-gap) / 2)); /* 2枚の計算式 */
			}
		}
       /* ブレイクポイント2: 749px以下で「1枚表示」 */
    @container (max-width: 749px) {
        .bio-slider-card {
            flex: 0 0 100%; /* 1枚の計算式 */
			padding-bottom:16px;
			/*padding-inline:20px!important;*/
        }
        .bio-slider-container {
            padding: 0 40px; /* スマホ時はナビゲーションボタンの余白を少し詰める */
        }
		.card01 {
			border-bottom:solid 2px #3F6028;
			padding-bottom: 23px;
		}
		.card02 {
			border-bottom:solid 2px #857E75;
			/*width:min(420px, 100%);*/
			padding-bottom: 23px;
		}
		.card03 {
			border-bottom:solid 2px #BE7F2E;
			padding-bottom: 23px;
		}
		.card__content {
			display: grid;
			grid-row: span 4;
			grid-template-rows: subgrid;
				& > div {
					margin-inline:auto;
					
				}
				& div > img{
					margin-inline:auto;
					display: flex;
				}
				& div > h3{
					font-weight: 500;
					font-size: clamp(1.25rem, 0.672rem + 2.57vw, 1.875rem);
					line-height: 1.25;
					text-align: center;
					padding-block: 10px 13.5px;
					
				}
				& div > h3.title__card__01{
					color:#144416;
					position: relative;
						&::after{
						border-bottom: solid 1px #A3BE58;
						content: "";
						width: 207px;
						position: absolute;
						left: 50%;
						transform: translateX(-50%);	
						bottom: 0;
						}
				}
			   & div > h3.title__card__02{
					color:#686158;
				   position: relative;
						&::after{
						border-bottom: solid 1px #E5DDD2;
						content: "";
						width: 207px;
						position: absolute;
						left: 50%;
						transform: translateX(-50%);	
						bottom: 0;
						}
				}
			   & div > h3.title__card__03{
					color:#D58B10;
				   position: relative;
						&::after{
						border-bottom: solid 1px #FECE5E;
						content: "";
						width: 207px;
						position: absolute;
						left: 50%;
						transform: translateX(-50%);	
						bottom: 0;
						}
				}
			  & div > h3.title__split{
					display: flex;
					justify-content: center;
					gap: 20px;
					margin: 0;
						  .title__split__block{
								display: flex;
    							flex-direction: column;
						  }
				  		.text-left{
								align-items: flex-end;
						  }
				         .text-right{
								align-items: flex-start;
						  }
						  .sub-text{
								font-size:1.375rem;
							    font-weight: 700;
							    line-height: 1.5;
						  }
				  		/* 中央の斜め線 */
						.split-title__line {
							display: block;
							width: 2px;
							height: 68px;
							background-color: #655e53;
							transform: rotate(15deg);
							transform-origin: center;
						}
				}
			& div > h4{
					letter-spacing: 0;
					font-weight: 500;
				    color:#144416;
					font-size: clamp(1.125rem, 0.431rem + 3.08vw, 1.875rem);
					line-height: 1.667;
					text-align: center;
					margin-block: 17.5px 25px;
				    white-space: nowrap;
				    
						& .marker_green{
							background: linear-gradient(transparent 70%, #E0F9B4 0%);
				    		display:inline;
						}
						& .marker_yellow{
							background: linear-gradient(transparent 70%, #FDF4BB 0%);
				    		display:inline;
						}
						& .marker_beige{
							background: linear-gradient(transparent 70%, #FCEBD5 0%);
				    		display:inline;
						}
				}
			p.description{
				font-size:clamp(0.938rem, 0.822rem + 0.51vw, 1.063rem);
				line-height: 2;
				
			}
		 }
    }
        @container (max-width: 749px) {
			.bio-slider-track {
				padding: 0px 0 10px;
			}
            
			.bio-slider-wrapper {
            margin: 0px auto 0;
        }
		
			.bio-slider-card h3 {
			/*font-size: clamp(1.125rem, 0.624rem + 1.07vw, 1.95rem)!important;*/
			margin: 0;
			line-height: 1.4;
		}
		
		.bio-slider-dot {width: 12px!important; height: 12px!important; border-radius: 50%; }	
        }

        /* --- カード内部のデザイン --- */
        
        

        /* --- ナビゲーションボタン --- */
        .bio-slider-btn {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            background: none;
            border: none;
            font-size: 2.5rem;
            color: var(--hs-gold);
            cursor: pointer;
            z-index: 10;
            padding: 10px;
            transition: scale 0.2s;
        }
        /*.bio-slider-btn:hover { scale: 1.1; }*/
        .bio-slider-prev { left: 0; }
        .bio-slider-next { right: 0; }

        /* --- ドットナビゲーション --- */
		@media screen and (max-width: 1099px){
        .bio-slider-dots-wrap { display: flex; justify-content: center; gap: 12px; margin-top: 30px; display:none;/*非表示*/}
		
        .bio-slider-dot {
            width: 20px; height: 20px; border-radius: 50%;
            border: 3px solid #CFC9C0; background: transparent;
            cursor: pointer; transition: all 0.3s ease;
        }
        .bio-slider-is-active { border: 3px solid var(--hs-gold); background: var(--hs-gold); /*transform: scale(1.2);*/ }
		}