@charset "utf-8";
/*
 common
============================================*/
html{overflow:auto;}
body{
  position:relative;
  min-width:1024px;
  overflow-x:hidden;
  color: #333;
}
.all_contents{
  font-size: 14px;
  color: #333;
}

.main_section{
  position: relative;
  padding: 92px 0;
}
.section_inner{
  position: relative;
  width: 960px;
  margin: 0 auto;
}

/*.main_section::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0 500%;
  margin: 0 -500%;
  z-index: -1;
}*/

.rule{
  position: relative;
  padding-bottom: 40px;
}
.rule::before{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1920px;
  height: 100%;
  margin-left: 50%;
  transform: translate(-50%);
  background-color: #f4f4f4;
  z-index: -2;
}
#rule01,
#rule02,
#rule03{
  padding-top: 32px;
}

/*
 kanban
============================================*/
.kanban_wrap{
  position: relative;
}
.loopSwiper{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 24px;
  width: 960px;
  margin: 0 auto;
  overflow: hidden;
  box-sizing: border-box;
}
.loopSwiper::before{
  position: absolute;
  display: block;
  content:"";
  width: 90px;
  height: 144px;
  background-image: url("https://r.r10s.jp/evt/event/medicine/contactlens/coupon/new/_pc/img/20251031/slider_left.png");
  background-repeat: no-repeat;
  background-size: contain;
  z-index: 2;
  left: -30px;
  top:0;
}
.loopSwiper:after{
  position: absolute;
  display: block;
  content:"";
  width: 90px;
  height: 144px;
  background-image: url("https://r.r10s.jp/evt/event/medicine/contactlens/coupon/new/_pc/img/20251031/slider_right.png");
  background-repeat: no-repeat;
  background-size: contain;
  z-index: 2;
  right: -30px;
  top:0;
}
.loopSwiper .loopSwiper_box{
  overflow: hidden;
  pointer-events: none;
  padding: 8px 0 24px;
}
.loopSwiper .swiper-container01 {
  position: relative;
  display: flex;
}
.loopSwiper ul {
  padding: 0;
  /*ロゴの枚数で下記の数値（ * 8）を変更*/
  width: calc(139px * 8);
  display: flex;
  flex-shrink: 0;
}
.loopSwiper ul:first-child {
  animation: loopslide1 50s -25s linear infinite;
}
.loopSwiper ul:last-child {
  animation: loopslide2 50s linear infinite;
}
/* loopSlide _slideimg */
.loopSwiper .loopSwiper_box ul li {
  width: auto;
  width: 112px;
  height: auto;
  border-radius: 50%;
  margin-right: 12px;
  display: inline-block;
  list-style: none;
  text-align: center;
  box-sizing: border-box;
  box-shadow: 4px 4px 8px 4px rgba(14,39,65,0.28);
}
.loopSwiper ul li img {
  display: block;
  width: 100%;
  height: auto;
}
@keyframes loopslide1 {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes loopslide2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}

/*
 cmn
============================================*/
/*title*/
.main_title{
  position: relative;
  margin-bottom: 40px;
  padding-bottom: 28px;
  font-size: 34px;
  font-weight: bold;
  color: #05488f;
  text-align: center;
}
.main_title::before{
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 180px;
  height: 8px;
  margin: 0 auto;
  background-image: url("https://r.r10s.jp/evt/event/medicine/contactlens/coupon/new/_pc/img/20250630/h2_dot.png?mime=ori");
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: bottom center;
}
.main_title._black::before{
  background-image: url("https://r.r10s.jp/evt/event/medicine/contactlens/coupon/new/_pc/img/20250630/h2_dot_black.png?mime=ori");
}
.worries .main_title,
.function .main_title{
  font-size: 32px;
}
.main_title_text{
  margin: -8px 0 60px;
  font-size: 18px;
  text-align: center;
  line-height: 1.5;
}
.worries .main_title_text,
.function .main_title_text{
  margin-top: -16px;
  font-size: 22px;
}
.main_title_text ._blue{
  color: #05488f;
}

.cmn_img_title{
  width: 802px;
  margin: 0 auto;
  text-align: center;
}
.cmn_img_title img{
  display: block;
  margin: 0 auto;
  line-height: 1;
}

/*btn*/
.default_btn a{
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 377px;
  height: 58px;
  margin: 0 auto;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  border-radius: 30px;
  background-color: #05488f;
  text-align: center;
  box-shadow: 0 2px 12px rgba(0,0,0,.2);
}
.default_btn a ._icon_right{
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  display: inline-block;
  margin: auto 0;
  font-size: 12px;
  font-weight: bold;
  width: 12px;
  height: 12px;
  line-height: 1;
}
.default_btn a:hover{
  opacity: .8;
  text-decoration: none;
}

.dec_contact{
  position: relative;
}
.dec_contact::before{
  content: "";
  display: block;
  position: absolute;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: top left;
}
.dec_contact._01::before{
  top: 20px;
  left: -290px;
  width: 169px;
  height: 208px;
  background-image: url("https://r.r10s.jp/evt/event/medicine/contactlens/coupon/new/_pc/img/20250630/contact01.png?mime=ori");
}
.dec_contact._02::before{
  top: 205px;
  left: -260px;
  width: 151px;
  height: 240px;
  background-image: url("https://r.r10s.jp/evt/event/medicine/contactlens/coupon/new/_pc/img/20250630/contact02.png?mime=ori");
}

/*
 mainNavi
============================================*/
@media only screen and (max-width: 1620px) {
  .mainNavi_wrap {
    display: none;
  }
}
.mainNavi_anchor{
  color: #19357c;
  font-size: 14px;
  line-height: 20px;
  width: 230px;
  padding: 10px 10px 10px 20px;
  border-radius: 20px 0 0 20px;
  border-right: none;
  background-color: #fff;
  box-sizing: border-box;
  box-shadow: 0 2px 12px rgba(0,0,0,.2);
}
.mainNavi_anchor:visited{
  color: #19357c;
}
.mainNavi_anchor[data-in-viewport=true],
.mainNavi_anchor:hover{
  background-color: #0096dc;
  background: linear-gradient(to right, #0096dc 0%, #00ebee 100%)!important;
  color: #fff;
  /*border-color: #fff;*/
}

/*
 entry
============================================*/
.entry.main_section{
  padding: 80px 0 100px;
}
.entry .rcEntryButton-button:hover{
  opacity: .8;
}
/* periodWrap01 */
.periodWrap01{
  margin: 68px 0 0;
}
.period_wrap{
  font-size: 16px;
  text-align: center;
  color: #05488f;
  line-height: 1.4;
}
.period_title{
  display: inline-block;
  width: 120px;
  margin: 0 auto 4px;
  border-radius: 10px;
  background-color: #eff7ff;
  line-height: 20px;
  letter-spacing: 0.04em;
}
.period{
  margin-bottom: 36px;
}
.cautionTxt_wrap{
  width: 620px;
  margin: 0 auto;
  padding: 12px 20px;
  font-size: 12px;
  color: #666;
  line-height: 1.7;
  background-color: #eff7ff;
}
.cautionTxt{
  text-indent: -1em;
  padding-left: 1em;
}
.cautionTxt._red{
  color: #ff3535;
}
.campaignLink_wrap{
  width: 400px;
  margin: 56px auto 0;
}
.campaignLink_wrap li{
  text-align: center;
  box-sizing: border-box;
  line-height: 1.1;
}
.campaignLink_wrap li + li{
  padding-left: 14px;
  border-left: 2px solid #cccccc;
}
.campaignLink_wrap li a{
  display: inline-block;
  color: #333;
  font-size: 14px;line-height: 20px;
}
.campaignLink_wrap li a:hover{
  text-decoration: none;
}
.campaignLink_wrap li a:hover > span{
  text-decoration: underline;
}
.campaignLink_wrap li a ._icon_right{
  display: inline-block;
  margin-left: 8px;
  color: #333;
}
.cautionTxt a:hover,
.campaignLink_wrap li a span:hover{
  text-decoration: underline;
}

/*
 point15
============================================*/
.point15.main_section{
  padding: 230px 0 ;
  background-image: url("https://r.r10s.jp/evt/event/medicine/contactlens/coupon/new/_pc/img/20250829/bg_point15.jpg");
  background-repeat: no-repeat;
  background-size: 1920px 100%;
  background-position: top center;
}
/*.point15::before{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1920px;
  height: 100%;
  margin-left: 50%;
  transform: translate(-50%);
  background-image: url("https://r.r10s.jp/evt/event/medicine/contactlens/coupon/new/_pc/img/20250630/bg_point15.jpg?mime=ori");
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: top left;
  z-index: -1;
}*/
.point15_title_wrap{
  margin-bottom: 36px;
}
.pointitem_wrap + .pointitem_wrap{
  padding-top: 104px;
}

/*
 highspec
============================================*/
.highspec.main_section{
  padding: 150px 0 92px;
}
.highspec::before{
  content: "";
  display: block;
  position: absolute;
  top: -1px;
  left: 0;
  width: 1920px;
  height: 200px;
  margin-left: 50%;
  transform: translate(-50%);
  background: linear-gradient(to bottom, #fff 0%, transparent 100%);
  z-index: -1;
}
.highspec .accordion_wrap::before{
  content: "";
  display: block;
  position: absolute;
  top: -200px;
  left: 0;
  width: 1920px;
  height: calc(100% + 200px);
  margin-left: 50%;
  transform: translate(-50%);
  background: linear-gradient(to bottom, #fffcec 0%, #fffcec 98%, transparent 100%);
  z-index: -2;
}

/*accordion*/
.accordion_wrap{
  position: relative;
  padding: 0;
}
.accordion_btn{
  cursor: pointer;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 239px;
  padding-top: 152px;
  font-size: 18px;
  color: #05488f;
  font-weight: bold;
  text-align: center;
  z-index: 2;
}
.accordion_btn:hover p{
  opacity: .8;
}
.accordion_btn:hover p span{
  text-decoration: underline;
}
.accordion_btn ._icon_right{
  font-weight: bold;
  margin-left: 4px;
}
.accordion_btn::before{
  content: "";
  display: block;
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 1920px;
  height: 100%;
  margin-left: 50%;
  transform: translate(-50%);
  background: linear-gradient(to top, #fff 0%, #fff 50%, transparent 100%);
  z-index: -1;
}
.accordion_contents.default-off + .accordion_btn .-close {
  display: none;
}
.accordion_contents:not(.default-off) + .accordion_btn .-open {
  display: none;
}
.accordion_contents:not(.default-off) + .accordion_btn {
  display: none;
}
.accordion_wrap .accordion_contents{
  width: 1920px;
  margin-left: 50%;
  transform: translate(-50%);
  padding-bottom: 120px;
  transition: 0.3s linear all;
  max-height: 1500px;
  overflow: hidden;
}
.accordion_wrap .accordion_contents.default-off{
  max-height: 580px;
  overflow: hidden;
}
.accordion_wrap .accordion_contents > .section_inner{
  width: 960px;
  margin: 0 auto;
}

/*worries*/
.worries_list{
  position: relative;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 48px;
}
.worries_list::before{
  content: "";
  display: block;
  position: absolute;
  top: 264px;
  right: -320px;
  width: 304px;
  height: 384px;
  background-image: url("https://r.r10s.jp/evt/event/medicine/contactlens/coupon/new/_cmn/img/20250630/worries/worries_bg.png?mime=ori");
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: bottom 0 left 0;
  z-index: -2;
}
.worries_list li{
  width: 218px;
  margin-right: calc((100% - 873px)/3);
  margin-bottom: 24px;
}
.worries_list li:nth-of-type(4n),
.worries_list li:last-of-type{
  margin-right: 0;
}
.worries_people{
  width: 563px;
  margin: 0 auto 52px;
}
/*function*/
.function{
  padding-top: 88px;
}

.highspec_fukidashi{
  width: 802px;
  margin: 0 auto;
  padding: 40px 0 52px;
}

/*
 merchandise
============================================*/
.merchandise.main_section{
  position: static!important;
  padding: 144px 0 233px;
  background-image: url("https://r.r10s.jp/evt/event/medicine/contactlens/coupon/new/_pc/img/20250829/bg_merchandise.jpg");
  background-repeat: no-repeat;
  background-size: 1920px 100%;
  background-position: top center;
}
.merchandise.main_section .section_inner{
  position: static!important;
}
/*.merchandise::before{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1920px;
  height: 100%;
  margin-left: 50%;
  transform: translate(-50%);
  background-image: url("https://r.r10s.jp/evt/event/medicine/contactlens/coupon/new/_pc/img/20250630/bg_merchandise.jpg?mime=ori");
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: top left;
  z-index: -1;
}*/
.merchandise_title{
  margin-bottom: 36px;
  text-align: center;
}
.merchandise_title span{
  position: relative;
  display: inline-block;
  width: 350px;
  padding: 12px 0;
  font-size: 26px;
  font-weight: bold;
  color: #fff;
  background-color: #0096ff;
}
.merchandise_title span::before{
  content: "";
  position: absolute;
  left: calc(50% - 9px);
  bottom: -8px;
  display: inline-block;
  width: 0;
  height: 0;
  border-color: #0096ff transparent transparent;
  border-style: solid;
  border-width: 9px 9px 0;
}
.merchandise_section{
  padding-top: 92px;
}

/*untilWhen*/
.untilWhen_list{
  width: 408px;
  margin: 0 auto;
}
.untilWhen_wrap._col2 .untilWhen_list{
  width: 264px;
}
.untilWhen_list li a{
  display: inline-block;
  border-radius: 50%;
  box-shadow: 0 2px 12px rgba(0,0,0,.2);
}
.untilWhen_list li a:hover{
  opacity: .8;
}

/*series*/
.series_list + .series_list{
  padding-top: 16px;
}
.series_list li a{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  height: 100%;
  border-radius: 4px;
  background-color: #fff;
  box-shadow: 0 2px 12px rgba(0,0,0,.2);
  overflow: hidden;
}
.series_list li a:hover{
  opacity: .8;
  text-decoration: none;
}
.series_list li a ._img{
  display: flex;
  justify-content: center;
  align-items: center;
}
.series_list._col3 li a ._img{
  width: 216px;
  height: 116px;
}
.series_list li a p{
  flex-grow: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 10px 0;
  font-size: 16px;
  color: #fff;
  background-color: #01b5f3;
  background: linear-gradient(to right, #01b5f3 0%, #0989ea 50%, #0275cd 100%);
}
.series_list li a ._img.pc-d-none{
  display: none!important;
}

/*
 ranking
============================================*/
.ranking_wrap + .ranking_wrap{
  margin-top: 84px;
}
.ranking .main_title._black{
  padding: 0;
  color: #464646;
  font-size: 32px;
  margin-bottom: 16px;
}
.ranking .main_title._black::before{
  content: none;
  display: none;
}
.ranking_note{
  width: 610px;
  margin: 60px auto 0;
  font-size: 12px;
  color: #666666;
  line-height: 1.5;
}

/*
 search
============================================*/
.searchBox_wrap {
  margin: 0 0 48px;
}
.search01 {
  width: 790px;
  margin: 0 auto;
}
.search01 .search_box {
  border: 2px solid #069adf;
  height: 56px;
  border-radius: 8px;
}
.search01 .search_box_submit {
  width: 62px;
  padding: 0;
  background-color: #069adf;
  /* 角丸用↓ */
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px; 
}
.search01 .search_input {
  padding-left: 20px;
  font-size: 16px;
}
.search01 .search_input::placeholder {
  color: #999999;
}
.search01 .search_box_ic {
  font-size: 24px;
  color: #fff;
}
.keyword_list{
  width: 720px;
  margin: 0 auto;
}
.keyword01 .keyword_list a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 48px;
  border-radius: 24px;
  font-size: 20px;
  color: #fff;
  line-height: 1.1;
  text-align: center;
  background-color: #069adf;
  background: linear-gradient(to right, #01b5f3 0%, #0989ea 50%, #0275cd 100%);
}
.keyword01 .keyword_list a:hover{
  opacity: .8;
  text-decoration: none;
}

.keyword_link{
  margin: 48px 0 0;
  text-align: right;
  font-size: 16px;
}
.keyword_link a{
  color: #05488f;
}
.keyword_link span{
  display: inline-block;
  margin-right: 4px;
}
.keyword_link a:hover{
  text-decoration: none;
}
.keyword_link a:hover span{
  text-decoration: underline;
}

/*
 step
============================================*/
.step::before{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1920px;
  height: 100%;
  margin-left: 50%;
  transform: translate(-50%);
  background-color: #f2fbff;
  z-index: -2;
}
.step_list{
  justify-content: space-between;
}
.step_note{
  width: 610px;
  margin: 60px auto 0;
  font-size: 12px;
  color: #666666;
  line-height: 1.5;
}

/*
 medical
============================================*/
.medical::before{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1920px;
  height: 100%;
  margin-left: 50%;
  transform: translate(-50%);
  background-color: #f2fbff;
  z-index: -2;
}
.medical_col{
  justify-content: space-between;
  align-items: center;
}
.medical_img{
  width: 308px;
}
.medical_text_area{
  width: 580px;
}
.medical_text{
  font-size: 14px;
  color: #05488f;
  line-height: 1.6;
}
.medical_text strong{
  font-weight: bold;
}

.medical_note{
  padding: 16px 18px;
  font-size: 14px;
  line-height: 1.6;
  background-color: #fff;
}

/*
 shop
============================================*/
.shop_list li a{
  display: inline-block;
  align-items: center;
  font-size: 14px;
  color: #333;
  line-height: 28px;
}
.shop_list li a:hover{
  text-decoration: underline;
}

.itemOnly_wrap{
  padding-top: 72px;
  text-align: center;
}
.itemOnly + .itemOnly{
  margin-top: 40px;
}
.itemOnly{
  font-size: 14px;
}
.itemOnly ._text{
  color: #666666;
}
.itemOnly ._button{
  margin-top: 12px;
  font-size: 20px;
  text-align: center;
}
.itemOnly ._button a:hover{
  text-decoration: none;
}
.itemOnly ._button a:hover span{
  text-decoration: underline;
}

/*
 related
============================================*/
.related ul li a:hover{
  opacity: .8;
  text-decoration: none;
}

/* 
 floating
============================================*/
.floating_contents_wrap{
  position: relative;
  width: 100%;
  padding: 9px 0;
  background-color: #f4f4f4;
  box-sizing: border-box;
  box-shadow: 0 -1.25px 6px rgba(0, 0, 0, .2);
}
.floating_contents_inner{
  position: relative;
  width: 960px;
  margin: 0 auto;
}
#floating_bnr1[aria-hidden="false"] + .toTop_btn{
  bottom: 102px!important;
}
.floating_contents_wrap .closeButton{
  cursor: pointer;
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  top: -28px;
  left: 0;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  font-size: 14px;
  color: #fff;
  background-color: #484848;
  line-height: 1.1;
}

.floating_bnr_wrap{
  box-shadow: 0 1.25px 6px rgba(0, 0, 0, .2);
}
.floating_bnr_wrap img{
  border-radius: 4px;
}
.floating_bnr_wrap a{
  display: block;
}
.floating_bnr_wrap a:hover{
  opacity: .8;
  text-decoration: none;
}

/*
 alcor・ad
============================================*/
.alcor_slider{
  width: 976px;
  padding: 12px 8px;
  margin-left: -8px;
}
.alcor_item{
  padding: 8px;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0,0,0,.2);
}


