@charset "utf-8";
/* CSS Document */


/*#st_wrapper a:link { text-decoration: none; }
#st_wrapper a:visited { color: #000000; }
#st_wrapper a:hover { color: #000000; }
#st_wrapper a:active { color: #000000; }*/
.ttl {
	width: 60%;
	margin: 5% auto 5%;
}

a:hover{
	opacity: 0.8;
}
a{
	text-decoration: none;
	color: black;
}

#st_wrapper{
	width: 100%;
	margin: 0 auto 0px;
	padding-bottom: 0.5%;	
font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	text-align: center;
	background-color: #fdfdf5;
}


#st_wrapper img {
	vertical-align: bottom;
}

#st_wrapper p {
	font-size: 14px;
	text-align: center;
	line-height: 1.9em;
	margin: 2% 0 5%;
}

	#st_wrapper h1 {
		width: 60%;
		margin: 7% auto 4%;
		font-size: 29px;
		line-height: 1.3em;
	}

	#st_wrapper h2 {
		font-size: 25px;
		font-weight: bold;
		text-align: left;		
	}

#st_wrapper h3 {
	font-size: 23px;
	color: #000000;
	font-weight: 600;
	margin: 9% 0 -2%;
	line-height: 1.6em;
}

#st_wrapper h4 {
	width: 100%;
	font-weight: 500;
	font-size: 16px;
	line-height: 1.6em;
	letter-spacing: 0.01em;
	margin: -4% auto 2%;
	text-align: left;
	color: #000;
}
#st_wrapper h5 {
	width: 100%;
	font-weight: 600;
	font-size: 20px;
	line-height: 1.6em;
	letter-spacing: 0.01em;
	margin: 0 auto 8%;
	text-align: center;
	color: #fff;
    padding: 1%;
    background-color: #000;	
    border: solid 1px #000000;		
}

.bk_green{
	margin-top: 15%;
	background-color: #0d7f59;
	padding: 10% 0;
}

.inner{
  width: 700px;
    background-color: #fff;		
	margin: 0% auto 2%;
}


.no{
    font-size: 35px;
}

.main{
	width:100%;
	max-width: 700px;
	margin: 4% auto 0%;
}
.main_btn{
	width: 100%;
	max-width: 230px;
	margin: 2.5% auto -2%;
}
.lead{
		width: 100%;
		max-width: 600px;
		margin: 6% auto;
	font-size: 12px;
	text-align: left;
	color: #0d7f59;
}

.top_logo{
	position: absolute;
	width: 30%;
	top:35%;
	left:36%;
}

.style_twin {
	width: 100%;
	margin: 5% auto 5%;
	position: relative;	
}
.style_twin2 {
	width: 100%;
	max-width: 1100px;
	margin: 15% auto 5%;
	position: relative;	
}
.FL {
	float: left;
}

.FR {
	float: right;
}

.main01_1 {
    width: 55%;
	margin: 2% auto;
}
.main01_maru {
    width: 10%;
	margin: 2% auto;
}
.main01_2 {
    width: 40%;
	margin: 2% auto;
}
.main01_3 {
    width: 20%;
	margin: 2% auto;
	margin-left: -20%;
	margin-top: 31.5%;
}
.main01_style{
	margin: 10% auto 2%;
	width: 65%;
}
.main01_style2{
	margin: 10% auto 2%;
	width: 40%;
}
.main01_style3{
	margin: 10% auto 2%;
	width: 50%;
}
.main01_4 {
    width: 30%;
	margin: 15% auto 0;
}
.main01_5 {
    width: 50%;
	margin: 2% auto;
}
.main01_6 {
	position: relative;
    width: 45%;
	margin: 25% auto 0;
}
.main01_7 {
	position: absolute;
    width: 40%;
	top:-15%;
	right:-5%;
}

.main02_1 {
    width: 45%;
	margin: 2% auto;
	margin-left: 15%;
}
.main02_maru {
    width: 10%;
	margin: 2% auto;
}
.main02_2 {
    width: 18%;
	margin: 45% auto 0;
	margin-left: -15%;
}
.main02_3 {
    width: 20%;
	margin: 10% auto 0;
	margin-left: 10%;
}
.main03_style1{
	margin: 5% 5% 0 40%;
	width: 50%;
}
.main03_style2{
	margin: 0% auto 2%;
	width:90%;
	margin-right: 7%;
}
.main03_style3{
	width:35%;
	margin: 0% 0 0 50%;
}
.main03_style4{
	margin: 5% 40% 0 10%;
	width: 50%;
}
.main03_style5{
	margin: 0% auto 2%;
	width:90%;
	margin-left: -20%;
}

.main04_style{
	margin: 20% auto 2%;
	width: 35%;
}
.main04_style2{
	width:35%;
	margin: 20% 50% 0 10%;
}
.main04_style3{
	margin: 5% 5% 0 40%;
	width: 50%;
}
.main04_style4{
	margin: 0% auto 2%;
	width:90%;
	margin-left: 5%;
}
.main04_style5{
	margin: 15% auto 20%;
	width:100%;
}

.style_twin5{
	width: 90%;
	margin: 0 auto;
}
.main05_maru  {
    width: 10%;
	margin: 2% auto;
}
.main05_1 {
    width: 50%;
	margin: 2% auto;
}
.main05_2 {
    width: 22%;
	margin: 0% auto 0;
	margin-left: 5%;
}
.main05_3 {
    width: 35%;
	margin: 10% auto 0;
}	
.main05_4 {
    width: 45%;
	margin: 35% auto 0;
}
.main05_5 {
    width: 35%;
	margin: 20% auto 0;
}
.maru2{
	position: relative;
	width: 30%;
	margin: -20% 0% 0 15%;
	z-index: 9999;
}
.cote_bk{
	max-width: 1500px;
	width: 100%;
	padding-top: 5%;
	margin: 0 auto;
	background-position: center center; /* 中央寄せ */
    background-image: url(../images/line.png);     /* 背景画像指定 */
		 background-repeat: no-repeat;

}
.cave_green{
	max-width: 1500px;
	width: 100%;
	padding-top: 5%;
	margin: 0 auto;
    background-image: url(../images/cave_green.png) ;     /* 背景画像指定 */
	 background-repeat: no-repeat;
	background-position: center center; /* 中央寄せ */

}
.cave_white{
	max-width: 1500px;
	width: 100%;
	padding-top: 5%;
	margin: 0 auto;
    background-image: url(../images/cave_white.png) ;     /* 背景画像指定 */
	 background-repeat: no-repeat;
	background-position: center center; /* 中央寄せ */

}
.MT5{
	margin-top:15%;
}
.MT20{
	margin-top:40%;
}
.w_10 {
    width: 10%;
	margin: 2% auto;
}

.w_60 {
    width: 45%;
}
.w_70 {
    width: 50%;
    margin: 2% auto;
}
.w_80 {
    width: 65%;
    margin: 10% auto 5%;
}
.w_90 {
    width: 90%;
    margin: 13% auto 8%;
}
.w_90 img,.w_80 img,.w_70 img, .w_60 img, .w_50 img, .w_10 img, .box1 img, .box2 img {
    width: 100%;
}

.item_box{
	width: 100%;
	max-width: 400px;
	margin: 2% auto 8%;
}

.item_ts {
	width: 100%;
	max-width: 250px;
	font-size: 12px;
	font-weight: 500;
	color: #0c7e58;
	text-align: left;
	line-height: 2.5;
	letter-spacing: 0.05em;	
	margin: 0% auto 0%;
}
.item_ts .sml {
    font-size: 60%;
}
.item_ts_white {
	width: 100%;
	max-width: 250px;
	font-size: 12px;
	font-weight: 500;
	color: white;
	text-align: left;
	line-height: 2.5;
	letter-spacing: 0.05em;	
	margin: 0% auto 0%;

}
.item_ts_white .sml {
    font-size: 60%;
}
.left {
    float: left;
	margin-top: 0%;
}
.right {
    float: right;
	margin-top: 0%;	
}	
	
        .btn_container {
            display: flex; /* 横並びを維持 */
            width: 80%;
            max-width: 900px;
			margin: 15% auto ;
        }

        /* 写真部分（黒塗り） */
        .image-placeholder {
            flex: 1.2; /* 左側の比率を少し大きく */
            aspect-ratio: 3 / 4;
        }

        /* テキスト詳細部分 */
        .details {
            flex: 1; /* 右側の比率 */
            padding: 20px;
            display: flex;
            flex-direction: column;
            justify-content: flex-end; /* 下揃え */
			line-height: 0.8;
            color: #0c7e58;
        }
        .details_white {
            flex: 1; /* 右側の比率 */
            padding: 20px;
            display: flex;
            flex-direction: column;
            justify-content: flex-end; /* 下揃え */
			line-height: 0.8;
            color: #fff;
        }

        .item {
display: flex;
    align-items: center;
    justify-content: space-between;
    
    /* 1. 外側の余白を小さくする（例: 15px → 5px） */
    margin-bottom: 5px; 
	margin: 20%;
    
    /* 2. 行の高さ自体をギュッと詰める */
    line-height: 1.2; 

    font-size: clamp(10px, 2.5vw, 12px);
    white-space: nowrap;
        }

        .buy-btn {
            border: 1px solid #0c7e58;
            border-radius: 20px;
            padding: 5px 8px 4px;
            font-size: clamp(9.5px, 2vw, 12px);
            text-decoration: none;
            color: inherit;
            margin-left: 5px;
        }	
	
        .buy-btn_white {
            border: 1px solid #fff;
            border-radius: 10px;
            padding: 5px 12px 4px;
            font-size: clamp(9.5px, 2vw, 12px);
            text-decoration: none;
            color: inherit;
            margin-left: 5px;
			background-color: #0c7e58;
        }	

        /* プロフィールのボックス */
        .profile-card {
            color: #ffffff;
            width: 100%;
            max-width: 800px;
			margin: 10% auto 5%;
            padding: 40px;
            border: 1px solid #ffffff; /* 白い内線 */
    
            display: flex;
            gap: 40px;
            align-items: center;
        }

        /* 写真部分（黒塗り） */
        .profile-image {
            width: 200px;
            height: 200px;
            background-color: #000000;
            flex-shrink: 0;
        }

        /* テキスト詳細部分 */
        .profile-details {
            flex: 1;
        }

        .name {
            font-size: 16px;
            font-weight: bold;
            margin-bottom: 15px;
            letter-spacing: 2px;
			text-align: left;
        }

        .description {
            font-size: 11px !important;
            line-height: 1.8;
            margin-bottom: 25px;
            text-align: left !important;
        }

        /* SNSセクション */
        .sns-section {
            font-size: 12px;
        }

        .sns-title {
            font-size: 11px;
            margin-bottom: 8px;
            letter-spacing: 1px;
			text-align: left;
        }

        .sns-links {
            display: flex;
            gap: 15px;
            align-items: center;
        }

        .sns-links a {
            color: #ffffff;
            text-decoration: none;
            font-weight: bold;
            font-size: 12px;
        }






/*thumb*/
	
.thum_box {
	width: 80%;
	margin: 0% auto 4%;
    padding: 0;
    display: flex; 
	flex-wrap: wrap;
	justify-content: space-between;
}

.thumb {
	width: 30%;
	margin: 0 auto 4%;
	text-align:center;
    position: relative;
}

.thumb img {
    width: 100%;
}

.t_staff_name {
	font-family: 'Arial Black',sans-serif;;	
	width: 25%;
	text-align:center;
	font-size:40px;
	letter-spacing: 0.05em;
	font-weight: 600;
	margin:8px auto 0;
	line-height: 1.5;
	color: black;
    border-bottom: solid 2px black;
}
.t_staff {
	text-align:center;
	font-size:14px;
	letter-spacing: 0.05em;
	font-weight: 500;
	margin:5% auto 12%;
	line-height: 1.5;
	color: black;
}
	
.t_T {
	text-align:center;
	font-size:14px;
	letter-spacing: 0.05em;
	font-weight: 500;
	margin:11px 0 2px;
	line-height: 1.5;
	color: black;
}	
/*styling*/

.brand_list__logo_a2 {
	width:90%;
	margin:4% auto 4%;
}

.brand_list__logo_a2 ul {
	padding:0;
	margin:0;
}

.brand_list__logo_a2 li {
	width:30%;
	box-sizing:border-box;
	padding:1% 0.2%;
	margin:1.5%;
	float:left;
	list-style:none;
	border-radius: 6px;
	line-height:0;
}


.box_style {
	position: relative;
	max-width: 800px;
	margin: 0% auto 0%;
}


.baby_btn{
	width: 55%;
	margin: 8% auto 5%;
}
.t_P {
	font-family: "Times New Roman", Symbol;
	text-align:left;
	font-size:15px;
	letter-spacing: 0.05em;
	font-weight: 500;
	margin:8px 0 2px;
	line-height: 1.8;
	color: black;
}
.t_P2 {
	font-family: "Times New Roman", Symbol;
	text-align:right;
	font-size:15px;
	letter-spacing: 0.05em;
	font-weight: 500;
	margin:8px 0 2px;
	line-height: 1.8;
	color: black;
}

	
	.point1 {
		font-size: 19px;
		font-weight: bold;
		text-align: left;		
	}

	.point2 {
	position: absolute;		
	font-size: 17px;
	color: #000000;
	font-weight: 500;
	margin: 0% 0 0%;
	line-height: 1.6em;
		letter-spacing: 0.1em;
		text-align: left;			
}

#st_wrapper h4 {
	width: 100%;
	font-weight: 500;
	font-size: 16px;
	line-height: 1.6em;
	letter-spacing: 0.01em;
	margin: -4% auto 2%;
	text-align: left;
	color: #000;
}





.stl_txt2 {
	width: 280px;
	float: left;
	text-align: left;
	padding: 10px 15px;
	z-index: 15;
	margin-top:15%;	
}

.Big {
	font-size: 140%;
	font-weight: 600;
	line-height: 1.8em;
}
.Big2 {
	font-size: 180%;
	font-weight: 600;
	line-height: 1.8em;
}


.Sml {
	font-size: 50%;
	font-weight: 500;
	line-height: 1.8em;
}
	.radius{
		border-radius: 150px;
	}
	
span.marker {
    background-color: #A8E2F3;
}

.p_item {
	font-size:18px;
	font-weight: bold;
	line-height:1.9em;
	margin: 5% 0 0%;
	text-align: center;
	color: black;
}
.item_all{
	font-size:19px;
	font-weight: bold;
	margin: -2% 0 0;
}

.btn_detail {
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.05em;
    cursor: pointer;
    display: inline-block;
    margin: 0 0 2%;
    min-width: 220px;
    outline: 0 none;
    overflow: visible;
    padding: 10px 7px;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
	background-color: #000;
	line-height:1.3em;
}


 .btn_detail:hover {
	color: #FFFFFF;
	background-color: #828282;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	transition: all 0.5s;
}

.cntr {
	text-align: center;
}

.clear{
	clear: both;
}
.clear_sp{
	display: none;
}

.br_pc{
	display: block;
}

.br_sp{
	display: none;
}	


.sp {
	display:none;
}


.block2 {
	max-width: 1000px;
	margin: 4% auto 0;
}
.thum {
	width: 46%;
	margin: 2% 2% 0;
	float: left;
	text-align: center;
}

	.movie{
		width: 100%;
		margin: 0% auto 1%;
		padding: 0;
		background-color:#fff;
	}
	video{
		width: 100%;
	}

        /* ビデオコンテナの基本設定（PCサイズ） */
        .video-container {
            width: 100%;
            margin: 0 auto;
            overflow: hidden;
            position: relative;
        }

        /* PC：16:9の横長で表示 */
        .video-wrapper {
            position: relative;
            width: 100%;
            aspect-ratio: 16 / 8; 
            overflow: hidden;
        }

        .video-wrapper video {
            position: absolute;
            top: 50%;
            left: 50%;
            width: 100%;
            height: 100%;
            transform: translate(-50%, -50%);
            object-fit: cover; /* 領域を埋めるように表示 */
        }



/* General button style (reset) */
.Btn {
	border: none;
	font-family: inherit;
	font-size: 12px;
	color: inherit;
	background: none;
	cursor: pointer;
	padding: 3px 0;
	display: inline-block;
	margin: 4% auto;
	text-transform: uppercase;
	letter-spacing: 1px;
    line-height: 1.4em;
	font-weight: 700;
	outline: none;
	position: relative;
	text-align: center;
	
}


/* Button 1 */
.Btn-111 {
    width: 20%;
	padding: 5px 5px 2px;
    margin: 2% 0 0 0%;
	font-size: 10px;
	color: #0c7e58;
	float: right;
	border-radius: 20px;
	border:solid 1px #0c7e58;
}

a.Btn-111 {
    color: #0c7e58;
    text-decoration: none;
}

.Btn-111_white {
    width: 20%;
	padding: 5px 5px 2px;
    margin: 2% 0 0 0%;
	font-size: 10px;
	font-weight: 500;
	color: #fff;
	float: right;
	border-radius: 20px;
	border:solid 1px #fff;
	background-color: #0c7e58;
}

a.Btn-111_white {
    color: #fff;
    text-decoration: none;
}


/* Button 1 */
.btn-1 {
	width: 70%;
	background-color: #000000;
	border: solid 3px #000000;
	color: #ffffff;
	text-decoration: none;
	padding: 2.5%;
}



/* Button 3 */
.btn-3 {
	background-color: #000000;
	border: solid 3px #000000;
	color: #ffffff;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
		letter-spacing: 1px;
	width: 80%;
	padding: 15px 50px;
	margin: 5% auto;
	text-decoration: none;
}

.btn_code {
	font-family: "Times New Roman", Symbol;		
	width: 50%;
	text-align: center;
	font-weight: bold;
	margin: 10% auto 0%;
	font-size: 14px;
	padding: 1% 2%;
	color: #fff;
	background-color:#000;
	border: solid 2px #000;
	text-decoration: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

a.btn_code:hover {
  color: #999;
  background: #000;
}

*, *:before, *:after {
    box-sizing: border-box;
}




@keyframes infinity-scroll-left {
from {
  transform: translateX(0);
}
  to {
  transform: translateX(-100%);
}
}
.scroll-infinity__wrap {
	width: 100%;
	margin:0 auto;
	margin-top:-2%;
  display: flex;
  overflow: hidden;
}
.scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0
}
.scroll-infinity__list--left {
  animation: infinity-scroll-left 40s infinite linear 0.1s both;
}
.scroll-infinity__list--left2 {
  animation: infinity-scroll-left 50s infinite linear 1.1s both;
}
.scroll-infinity__item {
  width: calc(100vw / 6);
}
.scroll-infinity__item2 {
  width: calc(100vw / 6);
}
.scroll-infinity__item>img {
  width: 100%;
}
.scroll-infinity__item2>img {
  width: 100%;
}

@media only screen and (max-width:750px){
	
.ttl {
	width: 100%;
	margin: 8% auto 3%;
}
	
	#Logo_cap {
		font-size: 16px;
	}
	
	#st_wrapper {
		width: 100%;	
	}	
	
	.pc {
		display:none;
	}
	.sp {
		display:block;
		width: 100%;
	}
	#st_wrapper h1 {
		width: 100%;
		margin: 5% auto 1%;
		font-size: 17px;
		line-height: 1.5em;	
		letter-spacing: 0.005em;
	}
	#st_wrapper h2 {
		font-size: 14px;
		margin: 0 auto 5%;
		line-height: 1.1;
	}
	
	#st_wrapper h3 {
		text-align: center;
		font-size: 15px;
		margin: 11% auto -4%;
	}
	#st_wrapper h4 {
		font-size: 10px;
		margin: 0% auto 5%;
		letter-spacing: 0.005em;
		font-weight: 500;
	}
		#st_wrapper h5 {
		width: 100%;
		text-align: center;
		font-size: 14px;
		margin: 5% auto 8%;
		padding:4% 1% 2%;	
	}
	#st_wrapper p {
		font-size: 13px;
		text-align: center;
		margin: 1% 2% 2%;
	}


.inner{
  width: 100%;
margin: 0% auto 0%;	
	
}
	.main{
		width: 100%;
		margin:0% auto 2%;
	}	
.main_btn{
	width: 50%;
	margin: 2.5% auto -2%;
}	


	.lead{
		width: 70%;
		font-size: 11px;
		line-height: 1.7em;
		margin: 10% auto 10%;
	}


.top_logo{
	position: absolute;
	width: 80%;
	top:36%;
	left:10%;
}
	
.style_twin2 {
	width: 100%;
	margin: 30% auto 5%;
}	
.main01_1 {
    width: 65%;
	margin: 2% auto;
}
.main01_maru {
    width: 20%;
	margin: 5% auto 0;
}
	
.main01_2 {
    width: 65%;
	margin: 14% auto;
}
.main01_3 {
    width: 30%;
	margin: 2% auto;
	margin-left: -20%;
	margin-top: 65%;
}
.main01_style{
	margin: 10% auto 2%;
	width: 80%;
}
.main01_style2{
	margin: 10% auto 2%;
	width: 60%;
}	
.main01_style3{
	margin: 10% auto 2%;
	width: 90%;
}
.main01_5 {
    width: 72%;
		top:0%;
	right:0%;
		position: absolute;
}
.main01_6 {
    width: 80%;
	margin: 25% auto 0;
	margin-left: -5%;
}
.main01_7 {
    width: 55%;
	top:-15%;
	right:-25%;
}	
.bk_green{
	margin-top: 25%;
	padding: 10% 0;
}	
.main02_1 {
    width: 60%;
	margin: 20% auto 0;
}
.main02_maru {
    width: 20%;
	margin: 5% auto 0;
}	
.main02_2 {
    width: 45%;
	margin: 45% auto 0;
	margin-left: -15%;
}	
.main02_3 {
    width: 26%;
	margin: 10% auto 0;
	margin-left: 2%;
}	
.main02_4 {
	width: 100%;
	margin: 0% auto 0;
}		
.main03_style1{
	margin: 5% 0 0 10%;
	margin-left: 20%;
	width: 80%;
}
.main03_style2{
	margin: 0% auto 2%;
	width:90%;
	margin-right: 10%;
}
.main03_style3{
	width:55%;
	margin: 0% 0 0 45%;
}	
.main03_style4{
	margin: 15% 10% 0 0%;
	margin-left: 0%;
	width: 70%;
}
.main03_style5{
	margin: 0% auto 2%;
	width:90%;
	margin-left: -20%;
}
.main04_style{
	margin: 20% auto 2%;
	width: 45%;
}	
.main04_style2{
	width:45%;
	margin: 25% 45% 0 0%;
}	
.main04_style3{
	width:70%;
	margin: 10% 0 0 30%;
}		
.main04_style4{
	margin: 0% auto 2%;
	width:95%;
	margin-right: 0%;
}	
.style_twin5{
	width: 100%;
	margin: 0 auto;
}
.main05_maru  {
	position: relative;	
    width: 20%;
	margin: 2% auto;
	z-index: 9999;	
}
.main05_1 {
    width: 70%;
	margin: -10% auto;
}
.main05_2 {
    width: 45%;
	margin: -10% auto 0;
	margin-left: 2%;
}	
.main05_3 {
    width: 40%;
	margin: 15% auto 0;
}	
.main05_4 {
    width: 70%;
	margin: -10% auto 0;
}	

.main05_5 {
    width: 50%;
	margin: 30% auto 0;
}
.maru2{
	position: relative;
	width: 50%;
	margin: -25% 0% 0 10%;
	z-index: 9999;
}	
.cote_bk{
	width: 100%;
	padding-top: 5%;
	margin: 0 auto;
    background-image: url(../images/line_sp.png);     /* 背景画像指定 */
}
.cave_green{
	width: 100%;
	padding-top: 5%;
	margin: 0 auto;
    background-image: url(../images/cave_green_sp.png) ;     /* 背景画像指定 */
	 background-repeat: no-repeat;
	background-position: center center; /* 中央寄せ */

}
.cave_white{
	width: 100%;
	padding-top: 5%;
	margin: 0 auto;
    background-image: url(../images/cave_white_sp.png) ;     /* 背景画像指定 */
	 background-repeat: no-repeat;
	background-position: center center; /* 中央寄せ */

}	
	
        .btn_container {
            display: flex; /* 横並びを維持 */
            width: 100%;
            max-width: 900px;
        }

        /* 写真部分（黒塗り） */
        .image-placeholder {
            flex: 1.2; /* 左側の比率を少し大きく */
            aspect-ratio: 3 / 4;
        }

        /* テキスト詳細部分 */
        .details {
            flex: 1; /* 右側の比率 */
            padding: 20px;
            display: flex;
            flex-direction: column;
            justify-content: flex-end; /* 下揃え */
			line-height: 0.8;
            color: #0c7e58;
        }
        .details_white {
            flex: 1; /* 右側の比率 */
            padding: 20px;
            display: flex;
            flex-direction: column;
    justify-content: center; /* 中央揃えに変更 */
			line-height: 0.8;
            color: #fff;
        }	

        .item {
display: flex;
    align-items: center;
    justify-content: space-between;
    
    /* 1. 外側の余白を小さくする（例: 15px → 5px） */
	margin: 0%;		
	 margin-bottom: 7px; 
    
    /* 2. 行の高さ自体をギュッと詰める */
    line-height: 1.0; 

    font-size: clamp(10px, 2.5vw, 16px);
    white-space: nowrap;
        }

        .buy-btn {
            border: 1px solid #0c7e58;
            border-radius: 20px;
            padding: 4px 8px 3px;
            font-size: clamp(9px, 2vw, 12px);
            text-decoration: none;
            color: inherit;
            margin-left: 5px;
        }	
	
        .buy-btn_white {
            border: 1px solid white;
            border-radius: 20px;
           padding: 4px 8px 3px;
            font-size: clamp(9px, 2vw, 12px);
            text-decoration: none;
            color: inherit;
            margin-left: 5px;
        }		
	
	
	
	            .profile-card {
			margin: 20% auto 5%;					
				width: 90%;
                flex-direction: column;
                align-items: flex-start;
                padding: 25px;
                gap: 20px;
            }
            .profile-image {
				margin: 0 auto;
                width: 150px;
                height: 150px;
            }
	
        .name {
            font-size: 15px;
            font-weight: bold;
            margin-bottom: 15px;
            letter-spacing: 2px;
			text-align: center;
        }
        .sns-title {
            font-size: 11px;
            margin-bottom: 8px;
            letter-spacing: 1px;
			text-align: left;
			margin-top: 5%;
        }	

        .description {
            font-size: 11px !important;
            line-height: 1.5 !important;
            margin-bottom: 25px;
            text-align: left !important;
        }	
	
	

.item_box{
	width: 70%;
	margin: 3% auto 12%;
}

.item_ts {
	width: 70%;
	font-size: 10px;
	font-weight: 500;
	text-align: left;
	line-height: 2.5;
	letter-spacing: 0.05em;	
	margin: 0% auto 0%;
}	
.item_ts_white {
	width: 70%;
	font-size: 10px;
	font-weight: 500;
	text-align: left;
	line-height: 2.5;
	letter-spacing: 0.05em;	
	margin: 0% auto 0%;
}		
	
	/*styling*/
	
.brand_list__logo_a2 {
	width: 100%;
	margin:4% auto 4%;
	padding:3% 1%;
}
.brand_list__logo_a2 li {
	width:31%;
	padding:1%;
	margin:1.5% 1%;
	border-radius: 6px;
}	
	
	.box_style {
		width: 100%;
		margin: 0% auto 0%;
		display:flex;
  		flex-direction:column;
		overflow: hidden;
	}

		
	.movie{
		width: 100%;
		margin: 4% auto 3%;
		padding: 0;
		background-color:#fff;
	}
	
	
	 /* スマホ表示：PCの横幅の約1/4（4:16 ≒ 9:16の縦長）を切り出す 
        mix.tokyoの挙動を再現：コンテナを縦長にし、ビデオの中央部分をクローズアップ  */
            .video-container {
                max-width: 100%;
            }

            .video-wrapper {
                /* 縦長の比率（9:16など）に変更 */
                aspect-ratio: 10 / 16; 
            }

            .video-wrapper video {
                /* ビデオ自体の高さ100%を維持しつつ、
                   横幅を大きく（例えば400%）することで中央1/4のみを画面に収める
                */
                width: auto;
                height: 100%;
                min-width: 400%; /* 横幅を4倍にして中央以外をクリップ（1/4表示） */
            }	
	
.t_P {
	font-size:11px;
	letter-spacing: 0.05em;
	font-weight: 500;
	margin:3px 0 5px;
	line-height: 1.8;
	color: black;
}
.t_P2 {
	font-size:11px;
	letter-spacing: 0.05em;
	font-weight: 500;
	margin:8px 0 5px;
	line-height: 1.8;
	color: black;
}	

	.Sml {
		font-size: 10px;
		line-height: 1.5em;
	}	
.Big {
	font-size: 120%;
	font-weight: 600;
	line-height: 1.7em;
}	

	.p_item {
		font-size:12px;
		line-height:1.7em;
		margin: 0% auto 4%;
				text-align: center;
	}
	
	.thum_box {
		width: 98%;
		margin: 0% auto 3%;
		flex-wrap: wrap;
		justify-content: center;
		gap: 3%;
	}

	.thumb {
		width: 31%;
		margin: 2% auto;		
	}	

.baby_btn{
	width: 80%;
	margin: 10% auto 5%;
}
	.btn_detail {
		text-align: center;
		widows: 60%;
    	font-size: 16px;
    	max-height: 22px;
    	padding: 10px 8px;
    	margin: 0 auto;
    	line-height: 1.1em;
	}

	
	.line{
		width: 40%;
		margin: 5% auto;
	}
	
	.cntr img{
		width: 80%;
		margin: auto 10%;
	}

	.br_pc{
		display: none;
	}

	.br_sp{
		display: flex;
	}			
	
	.s_clear {
		clear: both;
	}
	
	.block2 {
		width: 90%;
		margin: 2% auto 1%;
	}
	.thum {
		width: 100%;
		margin: 0 0 15%;
		float: none;
	}

	.s_logo {
		width: 40%;
		margin: 4% auto 5%;
		float: none;
	}
	
	.brand_box {
		width: 90%;
		margin: 2% auto 3%;
		padding: 2%;
		float: none;
	}
	
/* Button 1 */
.Btn-111 {
    width: 20%;
	padding: 3px 5px 2px;
    margin: 2% 0 0 0%;
	font-size: 8.5px;
	font-weight: 500;
}
.Btn-111_white {
    width: 20%;
	padding: 3px 5px 2px;
    margin: 2% 0 0 0%;
	font-size: 8.5px;
	font-weight: 500;
}
a.Btn-111 {
    text-decoration: none;
}		
	.btn-3 {
		width: 30%;
		margin: 5% auto 12%;
		font-size: 16px;
		font-weight: bold;
		letter-spacing: 0.06em;
	}
.btn_code {
	width: 80%;
	font-size: 12px;
	margin: 20% auto 0%;
	padding: 10px 15px 10px;
}

	
.col_2{
    width: 85%;
	margin: -8% auto 18%;
    display: flex;
    flex-wrap: wrap;
}
.col_2 > *{
    width: calc( 48% - 6px ) ;
    margin-right: 23px;
    margin-bottom: 22px;
}
.col_2 > *:nth-child(2n){
    margin-right: auto;
}
.col_2 > * > *{
    background: #ff0000;
    position: relative;
    overflow: hidden
}
.col_3{
    width: 98%;
	margin: -8% auto 10%;	
}	
	
	
.scroll-infinity__wrap {
	margin-top:-4%;
  display: flex;
  overflow: hidden;
}	
.scroll-infinity__item {
  width: calc(100vw / 4);
}
.scroll-infinity__item2 {
  width: calc(100vw / 4);
}
.scroll-infinity__item>img {
  width: 100%;
}
.scroll-infinity__item2>img {
  width: 100%;
}	

}