/*お客様の声スライダー実装*/
.home-voice {
    background-color: #ededed;
    padding: 4rem 0;
    overflow: hidden;
    margin-top: -57px;
}

.container-voice {
    width: 100%;
    padding-right: 0;
    padding-left: 0;
    margin-right: auto;
    margin-left: auto;
}

.container-voice .ttl__style01 {
    margin-bottom: 2.4rem!important;  
}

@media (min-width: 940px) {
    .home-voice {
        padding: 8rem 0;
    }
    .container-voice .inner{
        padding-left: clamp(25.5rem, 16.66vw, 100%);
    }
    .container-voice .ttl__style01 {
        margin-bottom: 6rem!important;  
    }
}

.fileList {
	/*display: flex;*/
	justify-content: center;
}

.file {
    background-repeat: no-repeat;
    background-position: center top;
    width: 386px;
    /*height: 304px;*/
    padding-left: 17px;
    padding-right: 33px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    text-align: left;
    padding-top: 16px;
    padding-bottom: 16px;
    margin-left: 15px;
    margin-right: 15px;
    margin-bottom: 30px;
	aspect-ratio: 1.276;
	background-size: cover;
}

.file_top {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: 20px;
}

.file_top figure {
	max-width: 85px;
	aspect-ratio: 1;
	width: 100%;
	background-color: #FFFFFF;
	border-radius: 10px;
    margin-bottom: 0;

}

.file_top figure img {
	border-radius: 10px;
	object-fit: cover;
    width: 100%;
    margin-bottom: 0;
}

.file_top aside {
	font-size: 0.875em;
	padding-top: 5px;
	padding-bottom: 5px;
	padding-right: 10px;
	padding-left: 10px;
	border-radius: 3px;
	border-radius: 10px;
    margin-bottom: 0;
}

.file p {
	line-height: 1.8;
    direction: ltr;
    unicode-bidi: embed;
    text-align: left;
	font-size: clamp(16px, 1cqw, 1.3em);
}

.file p:last-child {
	font-size: 0.688em;
	padding-top: 0;
}

.file1 {
	background-image: url(./images/top_voice/file03.png);
}

.file1 .file_top aside {
	background-color: #ee416d;
	color: #FFFFFF;
}

.file2 {
	background-image: url(./images/top_voice/file04.png);
}

.file2 .file_top aside {
	background-color: #a462f5;
	color: #FFFFFF;
}

.file3 {
	background-image: url(./images/top_voice/file03.png);
}

.file3 .file_top aside {
	background-color: #F2387F;
	color: #FFFFFF;
}

.file4 {
	background-image: url(./images/top_voice/file04.png);
}

.file4 .file_top aside {
	background-color: #C2537E;
	color: #FFFFFF;
}

.file_pink {
	background-color: #F4D2E8;
	padding-top: 50px;
	padding-bottom: 50px;
}

.slick-slide {
  align-items: center;
  justify-content: center;
  overflow: hidden; /* はみ出しを隠す */
  box-sizing: border-box;
}

@media screen and (max-width: 1300px) {
    .file p {
        line-height: 1.4;
    }
    .file_top figure {
        max-width: 80px;
    }
}

@media screen and (max-width: 1000px) {
    .file {
    background-repeat: no-repeat;
        width: 320px;
    }
    .file p {
        line-height: 1.8;
        font-size: clamp(14px, 1cqw, 2em);
    }
    .file_top figure {
        max-width: 65px;
    }
}

@media screen and (max-width: 700px) {
    .file {
        width: 290px;
    }
    .file p {
        line-height: 1.8;
    }
    .file_top figure {
        max-width: 60px;
    }
}

@media screen and (max-width: 460px) {
    .file {
        width: 186px;
        margin: 3px;
        padding: 10px 12px 3px 5px;
    }

	.file_top {
		margin-bottom: 6px;
	}

    .file_top figure {
        max-width: 42px;
    }

	.file_top aside {
		font-size: 8px;
        padding: 2.5px 5px;
	}
	.file p {
        line-height: 1.1;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
		font-size: 13px;
    }

	.file p:last-child {
		font-size: 9px !important;
		padding-top: 0;
		font-size: 10px;
		text-align: right;
		margin-top: 6px;
	}

	.hd-modal .file .cv-body p {
		text-align: left;
		line-height: 6.6vw;
		font-size: clamp(16px, 1cqw, 1.3em);
	}

}

/* モーダル土台（例） */
.hd-modal { position: fixed; inset: 0; display: none; z-index: 2147483647; }
.hd-modal.is-open { display: block !important; }

.hd-modal__overlay { 
	position:absolute; inset:0; background:rgba(0,0,0,.6); z-index: 1;
}
.hd-modal__content { 
	z-index: 2; 
	width:100%; 
	max-width:600px; 
	max-height:90vh;
	margin:5vh auto; border-radius:12px; padding:16px; overflow:auto;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.hd-modal__close { position:absolute; top:20px; right:40px; font-size:24px; background:transparent; border:none; cursor:pointer; }

/* モーダル内でだけスライダー由来の横並びや溢れ制御を解除 */
#hdModalBody.file-skin--modal {
  display: block !important;
  overflow: visible !important;
  padding: 0 !important;
}

/* ダミー slick-slide は“ブロック表示”にして幅・高さを素直に */
#hdModalBody.file-skin--modal .slick-slide {
  display: block !important;
  width: auto !important;
  height: auto !important;
  float: none !important;
}

#hdModalBody .file_top{ display:flex; flex-direction:row !important; }
#hdModalBody .file_top figure{ order:0 !important; }
#hdModalBody .file_top aside { order:1 !important;font-size: clamp(16px, 1cqw, 1.3em); }
#hdModalBody{ direction:ltr; } /* 祖先の rtl 影響を遮断 */

.hd-modal .file p {
	display: none;
}

.hd-modal .file p.voice-ttl {
	display: block;
	font-weight: 600;
	color: #333;
}

.hd-modal .file .cv-body p {
	display: block;
	font-size: clamp(16px, 1cqw, 1.3em)!important;
}

.file.slick-slide.is-modal {
    border-radius: 12px;
    aspect-ratio: auto;
    background: #fff;
    padding: 1em 1em 3em;
    box-sizing: border-box;
}

.file.file1.slick-slide.is-modal {
    border: 3px solid #ee416d;
}

.file.file2.slick-slide.is-modal {
    border: 3px solid #a462f5;
}

@media screen and (max-width: 460px) {
    .hd-modal__close { 
        top:11px;
    }
}