@charset "UTF-8";

/*Container*/

/* div.uv_container{
	margin:auto;
	padding:0 0 1px 0;
	background-color: #99DBF8;
	
}

div.uv_container img, table, th, td {
	border: 0px;
} */

/*ヘッダーイメージ*/
/* div.uv_container img {
	width:100%;
}

div.uv_container h1 {
	margin:0 !important;
	padding:0 !important;
	border:none !important;
}	


div.uv_container .prods {
	margin:0px auto 20px auto;
	padding:0px;
	border:none !important;
}

div.uv_container .prods ul{
	margin:0px !important;
	padding:0px !important;
}

div.uv_container .prods ul li{
	margin:0px !important;
	padding:0px !important;
	list-style:none !important;
}


div.uv_container .prods p{
	margin:0px !important;
	padding:0px !important;
	border:none !important;
} */









.cl_silicone_wrapper {
  font-family: "Noto Sans JP", sans-serif;
}

/* ==============================================
  シリコンハイドロゲル特集（コンタクト）
============================================== */
.cl_silicone_inner {
    /* background-image: url(/ec/images/category/cl_silicone/bg.jpg); */
    background-size: cover;
    margin-block:0 0;
    /* padding:10% 6% 6%; */
    box-sizing: border-box;
    overflow: hidden;
    container-type: inline-size;
}.cl_silicone_wrapper {
    background-image: url(/ec/images/category/cl_silicone/bg.jpg);
    position: relative;
    z-index: 1;
}

.cl_silicone_content {
    margin-bottom: min(3.9cqi, 40px);
}

.cl_silicone_title_wrapper {
    width: 85%;
    margin-bottom: 7.8125vw;
    padding-block: 0 min(1.9cqi, 20px);
    position: relative;
    background-color: #fff;
}
.cl_silicone_title_wrapper.cl_silicone_title_wrapper_center {
  margin-inline: auto;
  margin-top: 40px;
}

.cl_silicone_title_wrapper_center::before {
    content: "";
    position: absolute;
    z-index: -1; 
    bottom: max(-31.25cqi, -320px);
    right: max(-7.8125cqi, -80px);
    transform: none; 
    background-image: url('/ec/images/category/cl_silicone/bg_line_02.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: right bottom;
    width: 120%;
    height: 120%;
    pointer-events: none;
}

.cl_silicone_title_wrapper_center::after {
    content: "";
    position: absolute;
    z-index: -1; 
    top: max(-2.9296cqi, -30px);
    left: max(-7.8125cqi, -80px);
    background-image: url('/ec/images/category/cl_silicone/bg_line_02.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left top;
    width: 100%; 
    height: 100%; 
    pointer-events: none;
}

.cl_silicone_title_inner {
    background-color: #fff;
    width: 80%;
    margin-inline: auto;
    text-align: left;
}

.cl_silicone_title {
    position: relative;
    text-align: center;
    color: #459CF1;
    font-weight: bold;
    line-height: 1.6;
    font-size: min(6.658cqi, 60px);
    padding-block: min(13.3cqi, 120px) min(9.3cqi, 84px);
}

.cl_silicone_sentence {
    text-align: left;
    line-height: 1.6;
    font-size: min(3.107cqi, 28px);
    padding-block: min(1.1cqi, 10px) min(4.4cqi, 40px);
}

.cl_silicone_title_wrapper_left {
  margin-right: auto;
}
.cl_silicone_title_wrapper_right {
  margin-left: auto;
}

.cl_silicone_title_wrapper_right::before {
    content: "";
    position: absolute;
    z-index: -1; 
    top:20%;
    left: 30%;
    transform: translate(-50%, -50%);
    background-image: url('/ec/images/category/cl_silicone/bg_line_01.png');
    background-size: contain;
    background-repeat: no-repeat;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

/* .cl_silicone_title_inne_rightr {
}

.cl_silicone_title_right {
}

.cl_silicone_sentence_right {
} */

.cl_silicone_block_container {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  padding-inline: 5%;
  padding-bottom: 5.86vw;
  gap: min(4.5cqi, 46px) 5%; 
}

.cl_silicon_inner_2 .cl_silicone_block_container {
  padding-bottom: 0;
}


.cl_silicone_title_box {
  width: 100%;
  text-align: center;
}

.cl_silicone_title_box_inner .cl_silicone_main_headline {
  text-align: center;
  padding-top: 0;
}
.cl_silicone_main_headline_center.cl_silicone_main_headline {
  text-align: center;
}

.cl_silicone_main_headline {
    text-align: left;
    color: #4162D0;
    font-weight: bold;
    line-height: 1.6;
    font-size: min(5.327cqi, 48px);
    padding-block: min(6.6cqi, 60px) 10px;
}

.cl_silicone_thumb_box {
  width: 50%;            
  flex-shrink: 0;
}
.cl_silicone_thumb_box img {
  width: 100%;             
  height: auto;
  display: block;            
}

.cl_silicone_info_text_group {
  display: flex;
  flex-direction: column;    
  width: 45%;
  max-width: 380px;
}

.cl_silicone_sentence_2 {
    font-weight: bold;
    line-height: 1.6;
    font-size: min(4.439cqi, 40px);
    padding-block: 0 min(5.104cqi, 46px);
	margin-inline: auto;
}
.cl_silicone_sentence_3 {
    line-height: 1.6;
    font-size: min(3.551cqi, 32px);
    padding-block: 0 min(15.5cqi, 140px);
}

.cl_silicone_title_blue {
    text-align: center;
    color: #fff;
    font-weight: bold;
    line-height: 1.6;
    font-size: min(5.327cqi, 48px);
    /* font-size: min(4.217cqi, 38px); */
    padding-block: min(4.4cqi, 40px);
}
.cl_silicone_title_small {
    text-align: center;
    color: #fff;
    font-weight: bold;
    line-height: 1.6;
    font-size: min(4.217cqi, 36px);
    padding-block: min(4.4cqi, 40px);
}

/* .cl_silicone_tri {
    position: relative;
    width: 85%;
    margin-inline: auto;
} */
.cl_silicone_tri .cl_silicone_title_small{
    color: #4162D0;
}
/* .cl_silicone_tri .cl_silicone_title_box{
  background-color: #fff;
  border-radius: 20px;
} */





.kv-area img {
  width: 100%;
  height: 100%;
  margin-inline: auto;
}

.cl_silicon_inner_2 {
  background-color: #4162D0;
}

/* .cl_silicone_tri::after {
  content: "";          
  position: absolute;   
  bottom: 0;                 
  left: 50%;                
  transform: translate(-50%, -10%);
  background-image: url('/ec/images/category/cl_silicone/triangle.png');
  background-size: contain;
  background-repeat: no-repeat;
  width: min(4.6cqi, 48px);               
  height: min(3.9cqi, 40px);              
} */

.cl_silicone_tri .cl_silicone_title_box {
  background-color: #fff;
  border-radius: 20px;
  position: relative; 
}

.cl_silicone_tri .cl_silicone_title_box::after {
  content: "";          
  position: absolute;   
  top: 100%;                 
  left: 50%;                
  transform: translateX(-50%); 
  margin-top: -1px;
  background-image: url('/ec/images/category/cl_silicone/triangle.png');
  background-size: 100% 100%;
  background-repeat: no-repeat;
  width: min(4.6cqi, 48px);               
  height: min(3.9cqi, 40px);              
}




.cl_silicone_content.cl_silicone_tri {
  margin-bottom: min(1.95cqi, 20px);
}

.speech-bubble_wrapper {
  width: 85%;
  margin: 3.125vw auto;
}

/* .speech-bubble_url br {
  display: none;
} */

.speech-bubble_url .line-break {
  display: block;
  padding-left: 1.8em; 
  text-indent: -1.8em; 
  /* margin-top: 8px;  */
}

.speech-bubble_url {
  text-align: left;
  word-break: break-all;
  overflow-wrap: anywhere;
  font-size: clamp(12px, 3.2vw, 16px);
}

.speech-bubble_url .line-break{
  margin-bottom: 4px;
}
/* ==========================================================
   ステップごとのテキスト箱の設定
   ========================================================== */
.step_wrapper { 
  display: flex;
  flex-direction: column;
  align-items: center;  
  gap: clamp(20px, 3.91vw, 80px);          
  padding-bottom: clamp(20px, 3.9vw, 40px);
}

.step_text {
  width: clamp(176px, 40vw, 420px); 
  text-align: left;   
  transform: translateX(-4.88vw);
}

.step_text_title, 
.step_text_title_2, 
.step_text_title_3 {
  color: #fff;
  margin-bottom: 1.95vw;
  font-weight: bold;
  line-height: 1.6;
  font-size: min(4.217cqi, 36px);
  display: flex;
  align-items: flex-start;
  position: relative;  
  margin-left: -20px; 
  padding-left: 20px;  
  border-left: 3px solid #fff;
}

.step_text_title:before, 
.step_text_title_2:before, 
.step_text_title_3:before {
  content: "";           
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -12.69vw; 

  flex-shrink: 0;
  width: clamp(40px, 7.42vw, 76px);
  height: clamp(40px, 7.42vw, 76px);
  background-size: contain;  
  background-repeat: no-repeat;
}

.step_text_title:before   { background-image: url('/ec/images/category/cl_silicone/icon-before-01.png'); }
.step_text_title_2:before { background-image: url('/ec/images/category/cl_silicone/icon-before-02.png'); }
.step_text_title_3:before { background-image: url('/ec/images/category/cl_silicone/icon-before-03.png'); }

.step_text_title:after, 
.step_text_title_2:after, 
.step_text_title_3:after {
  content: "";               
  position: absolute;
  right: -29.29vw; 
  top: 50%;
  transform: translateY(calc(-50% + 7vw));
  flex-shrink: 0;
  width: clamp(120px, 23.43vw, 240px);
  height: clamp(120px, 23.43vw, 240px);
  background-size: contain;   
  background-repeat: no-repeat;
}

.step_text_title_3:after {
    transform: translateY(calc(-50% + 10vw));

}

.step_text_title:after   { background-image: url('/ec/images/category/cl_silicone/icon-after-01.png'); }
.step_text_title_2:after { background-image: url('/ec/images/category/cl_silicone/icon-after-02.png'); }
.step_text_title_3:after { background-image: url('/ec/images/category/cl_silicone/icon-after-03.png'); }


.step_text_sentence {
  color: #fff;
  margin-bottom: 20px;
  line-height: 1.6;
  font-size: min(3.107cqi, 28px);
}



.scroll_content {
  width: 100%;       
}

.scroll_content svg {
  border-radius: 20px; 
  overflow: hidden;  
  /* display: block;  */
  /* background-color: #fff;  */
    /* border: 1px solid #aaa; */
}

@media screen and (max-width: 424px){
  .step_text_title:after, 
  .step_text_title_2:after, 
  .step_text_title_3:after {
    width: clamp(70px, 20vw, 100px);
    height: clamp(70px, 20vw, 100px);
    right: -24vw;
}
}

@media screen and (min-width: 1025px) {
  
  .step_wrapper {
    gap: 20px; 
    padding-bottom: 30px;
  }

  .step_text {
    width: 300px; 
    transform: translateX(-30px); 
  }

  .step_text_title, 
  .step_text_title_2, 
  .step_text_title_3 {
    font-size: 22px; 
    margin-bottom: 15px;
  }
  
  .step_text_title:before, 
  .step_text_title_2:before, 
  .step_text_title_3:before {
    width: 50px;  
    height: 50px; 
    left: -70px;
  }

  .step_text_title:after, 
  .step_text_title_2:after, 
  .step_text_title_3:after {
    width: 140px;  
    height: 140px;  
    right: -160px;  
    transform: translateY(calc(-50% + 40px)); 
  }

  .step_text_title_2:after {
    transform: translateY(calc(-50% + 50px));
  }

  .step_text_title_3:after {
    transform: translateY(calc(-50% + 56px));
  }

  .step_text_sentence {
    font-size: 16px; 
    margin-bottom: 20px;
  }
  .cl_silicone_title_wrapper {
    margin-bottom: 48px;
  }

  .cl_silicone_title_wrapper_right {
    margin-bottom: 48px;
  }

  .cl_silicone_title_blue {
    font-size: 32px; 
    padding-block: 26px 0; 
  }

  .cl_silicone_title_small {
    font-size: 32px; 
  }

  .speech-bubble_wrapper {
    width: 85%;
    margin: 32px auto;
  }

  .cl_silicone_block_container {
    padding-bottom: 60px;
  }

}

/* product-difference
============================================================================================================ */
/* .product-difference_section .section_header {
	margin-block-end: calc(15 / 375 * 100%);
} */

/* .product-difference_title {
	font-size: 2rem;
	letter-spacing: 0.05em;
	color: #000;
} */

.product-difference_scroll_box {
  -webkit-appearance: none;
  overflow-x: scroll;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
  position: relative;
  padding-inline: calc(15 / 375 * 100%);
  padding-block-end: calc(15 / 375 * 100%);
  scrollbar-color: #818181 #eee;  
  scrollbar-width: thin;   
}


.product-difference_scroll_box::-webkit-scrollbar {
	height: 8px;
  display: block;
}

.product-difference_scroll_box::-webkit-scrollbar-track {
  background: #f1f1f1;
	border-radius: 8px;
}

.product-difference_scroll_box::-webkit-scrollbar-thumb {
  background: #aaa;
	border-radius: 8px;
}

.scroll_content {
  display: inline-block;
  min-width: 100%;
  border-right: 40px solid transparent;  
}

.scroll_content img {
  max-width: none !important; /* Ensure it overflows */
  width: 75rem; 
  height: auto;
  vertical-align: top;
}

.scroll_hint {
  position: absolute;
  top: 5px;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: opacity 0.3s ease;
  pointer-events: none;
}

.scroll_hint .icon{
	width: 22%;
}

.scroll_hint.is-hidden {
  opacity: 0;
}

.scroll_content {
  border-radius: 0; 
  overflow: hidden;  
  width: fit-content;
}

.scroll_content svg {
  display: block;   
}

