@charset "utf-8";
/* ==========================================================
 eyesight top
========================================================== */
/* hero-eyesight
---------------------------------------------------------- */
.hero-eyesight {
 background-image: url(../img/img_hero_eyesight_01_pc.jpg);
 background-position: center top;
 background-repeat: no-repeat;
 background-size: cover;
 font-weight: 700;
 color: #fff;
 text-shadow: 0 5px 5px rgba(3,3,3,.3);
}
.hero-eyesight span {
    display: block;
    font-size: 15px;
}
@media screen and (max-width: 750px) {
.hero-eyesight {
 background-image: url(../img/img_hero_eyesight_01_sp.jpg);
 text-shadow: none;
}
}

/* nav-eyesight
---------------------------------------------------------- */
.nav-eyesight { padding-top: 45px; }
 .nav-eyesight .list {
  display: -webkit-flex;
  display: flex;
 }
 .nav-eyesight .item {
  position: relative;
  width: 25%;
}
 .nav-eyesight a {
  display: block;
  padding: 20px 10px 30px;
  font-size: 18px;
  font-weight: 700;
  color: #282828;
  line-height: 1.33;
  text-align: center;
  letter-spacing: -0.05em;
 }
 .nav-eyesight a:hover,
 .nav-eyesight .item.is-current a {
  background-color: #f6f6f6;
  text-decoration: none;
 }
@media screen and (min-width: 751px) {
 .nav-eyesight .item:not(:first-child):before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 2px;
  height: 84%;
  background-color: #e8e8e8;
 }
 .nav-eyesight .item.is-current:before,
 .nav-eyesight .item.is-current + .item:before,
 .nav-eyesight .item:hover:before,
 .nav-eyesight .item:hover + .item:before { background-color: transparent; }
}
@media screen and (max-width: 750px) {
.nav-eyesight { padding-top: 5px; }
 .nav-eyesight .item {
  display: -webkit-flex;
  display: flex;
  border-right: 1px solid #f6f6f6;
 }
 .nav-eyesight a {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  width: 100%;
  padding: 8px;
  min-height: 72px;
  font-size: 10px;
  font-weight: 400;
  line-height: 1.5;
 }
}

/* box-eyesight-intro
---------------------------------------------------------- */
.box-eyesight-intro {
 padding: 45px 50px;
 background-color: #f6f6f6;
 color: #282828;
 text-align: center;
 margin-top: 5em;
}
 .box-eyesight-intro .text-01 {
  margin-bottom: 20px;
  font-size: 24px;
  line-height: 1.5;
 }
 .box-eyesight-intro .text-01:last-child { margin-bottom: 0; }
 .box-eyesight-intro .text-02 { font-weight: 300; }
 .box-eyesight-intro.maister-pro .text-02 {
  display: -webkit-flex;
  display: flex;
  text-align: left;
 }
 .box-eyesight-intro.maister .text-02 { text-align: left; }
@media screen and (max-width: 750px) {
 .box-eyesight-intro { 
   padding: 18px 15px;
   margin-top: 3em;
  }
  .box-eyesight-intro .text-01 {
   margin-bottom: 10px;
   font-weight: 700;
   font-size: 12px;
  }
  .box-eyesight-intro .text-02 {
   font-size: 11px;
   line-height: 1.5;
  }
}

/* sec-eyesight-top-01
---------------------------------------------------------- */
.sec-eyesight-top-01 {
 margin-bottom: 10px;
 padding: 45px 50px 0;
 background-color: #0168b3;
 color: #fff;
 text-align: center;
}
 .sec-eyesight-top-01 .box-logo { margin-bottom: 40px; }
  .sec-eyesight-top-01 .box-logo img {
   display: inline-block;
   width: 174px;
   margin-bottom: 35px;
  }
  .sec-eyesight-top-01 .box-logo .title {
   margin-bottom: 12px;
   font-size: 24px;
   font-weight: 700;
   line-height: 1;
  }
  .sec-eyesight-top-01 .box-logo .text-eng {
   font-size: 12px;
   line-height: 1;
  }
  .sec-eyesight-top-01 .text-intro {
   margin-bottom: 45px;
   font-size: 18px;
   font-weight: 700;
  }
 .sec-eyesight-top-01 .image { margin: 0 -50px; }
  .sec-eyesight-top-01 .image img { width: 100%; }
@media screen and (max-width: 750px) {
.sec-eyesight-top-01 {
 margin-bottom: 5px;
 padding: 22px 15px 0;
}
 .sec-eyesight-top-01 .box-logo { margin-bottom: 17px; }
  .sec-eyesight-top-01 .box-logo img {
   width: 86px;
   margin-bottom: 15px;
  }
  .sec-eyesight-top-01 .box-logo .title {
   margin-bottom: 5px;
   font-size: 15px;
  }
  .sec-eyesight-top-01 .box-logo .text-eng { font-size: 10px; }
  .sec-eyesight-top-01 .text-intro {
   margin-bottom: 13px;
   font-size: 11px;
   line-height: 1.64;
  }
 .sec-eyesight-top-01 .image { margin: 0 -15px; }
}

/* sec-eyesight-top-02
---------------------------------------------------------- */
.sec-eyesight-top-02 {
 margin-bottom: 10px;
 padding: 60px 50px 30px;
 background-color: #f6f6f6;
}
 .sec-eyesight-top-02 .inner {
  width: 910px;
  margin: 0 auto;
 }
 .sec-eyesight-top-02 .box-intro {
  padding: 0 25px 48px;
  margin-bottom: 50px;
  border-bottom: 2px dotted #0168b3;
  font-weight: 700;
   color: #0168b3;
  text-align: center;
 }
  .sec-eyesight-top-02 .box-intro .title {
   margin-bottom: 15px;
   font-size: 24px;
  }
  .sec-eyesight-top-02 .box-intro .text-intro { font-size: 18px; }
 .sec-eyesight-top-02 .box-list {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 25px;
  font-weight: 700;
  color: #0168b3;
 }
  .sec-eyesight-top-02 .box-list .title {
   position: relative;
   width: 288px;
   margin-bottom: 35px;
   padding-left: 20px;
   font-size: 18px;
  }
  .sec-eyesight-top-02 .box-list .title:before {
   content: "";
   position: absolute;
   top: 8px;
   left: 0;
   width: 10px;
   height: 10px;
   background-color: #0168b3;
   border-radius: 50%;
  }
  .sec-eyesight-top-02 .box-list .detail {
   width: 622px;
   margin-bottom: 35px;
  }
  .sec-eyesight-top-02 .box-list .list-flow {
   display: -webkit-flex;
   display: flex;
  }
   .sec-eyesight-top-02 .box-list .list-flow .item {
    position: relative;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    font-size: 18px;
   }
   .sec-eyesight-top-02 .box-list .list-flow .item:not(:first-child) { margin-left: 80px; }
   .sec-eyesight-top-02 .box-list .list-flow .item:not(:first-child):before {
    content: "";
    position: absolute;
    top: 50%;
    left: -53px;
    width: 22px;
    height: 22px;
    background: url(../img/icon_plus_01.png) 0 0 no-repeat;
    background-size: 100%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
   }
   .sec-eyesight-top-02 .box-list .list-flow .icon {
    width: 51px;
    margin-right: 15px;
   }
  .sec-eyesight-top-02 .box-table .table-wrap {
   overflow: hidden;
   border: 2px solid #0168b3;
   border-radius: 6px;
  }
 .sec-eyesight-top-02 table { width: 100%; }
  .sec-eyesight-top-02 table th,
  .sec-eyesight-top-02 table td {
   vertical-align: middle;
   padding: 22px 20px;
   border-right: 2px solid #0168b3;
   border-bottom: 2px solid #0168b3;
   font-size: 18px;
   font-weight: 700;
   color: #0168b3;
   text-align: center;
  }
  .sec-eyesight-top-02 table tr th:last-child,
  .sec-eyesight-top-02 table tr td:last-child { border-right: 0; }
  .sec-eyesight-top-02 table thead th:not(:first-child) { background-color: #e1f1b3; }
  .sec-eyesight-top-02 table tbody tr:last-child th,
  .sec-eyesight-top-02 table tbody tr:last-child td { border-bottom: 0; }
  .sec-eyesight-top-02 table tbody tr th {
   background-color: #4da2d4;
   color: #fff;
  }
  .sec-eyesight-top-02 table thead th:first-child { border-radius: 6px 0 0 0; }
  .sec-eyesight-top-02 table thead th:last-child { border-radius: 0 6px 0 0; }
  .sec-eyesight-top-02 table tbody tr:last-child td:last-child { border-radius: 0 0 6px 6px; }
  .sec-eyesight-top-02 table tbody tr:last-child th { border-radius: 0 0 0 6px; }

  .sec-eyesight-top-02 .box-table .text-note {
   margin-top: 5px;
   font-size: 12px;
   color: #0168b3;
   line-height: 1.2;
   text-align: right;
  }
@media screen and (min-width: 751px) {
.sec-eyesight-top-02 table thead th:nth-child(1) { width: 264px; }
.sec-eyesight-top-02 table thead th:nth-child(2) { width: 215px; }
.sec-eyesight-top-02 table thead th:nth-child(3) { width: 220px; }
.sec-eyesight-top-02 table thead th:nth-child(4) { width: 209px; }
}
@media screen and (max-width: 750px) {
.sec-eyesight-top-02 {
 margin-bottom: 12px;
 padding: 25px 12px 15px;
}
 .sec-eyesight-top-02 .inner { width: 100%; }
 .sec-eyesight-top-02 .box-intro {
  padding: 0 5px 18px;
  margin-bottom: 20px;
  border-bottom: 1px dotted #0168b3;
 }
  .sec-eyesight-top-02 .box-intro .title {
   margin-bottom: 15px;
   font-size: 18px;
   line-height: 1.2;
  }
  .sec-eyesight-top-02 .box-intro .text-intro {
   font-size: 11px;
   font-weight: 400;
  }
 .sec-eyesight-top-02 .box-list { display: block; }
  .sec-eyesight-top-02 .box-list .title {
   width: 100%;
   margin-bottom: 15px;
   padding-left: 10px;
   font-size: 12px;
  }
  .sec-eyesight-top-02 .box-list .title:before {
   top: 5px;
   width: 5px;
   height: 5px;
  }
  .sec-eyesight-top-02 .box-list .detail {
   width: 100%;
   margin-bottom: 15px;
  }
   .sec-eyesight-top-02 .box-list .list-flow .item {
    font-size: 11px;
   }
   .sec-eyesight-top-02 .box-list .list-flow .item:not(:first-child) { margin-left: 34px; }
   .sec-eyesight-top-02 .box-list .list-flow .item:not(:first-child):before {
    left: -24px;
    width: 12px;
    height: 12px;
   }
   .sec-eyesight-top-02 .box-list .list-flow .icon {
    width: 26px;
    margin-right: 10px;
   }
 .sec-eyesight-top-02 .box-table .table-wrap {
   border: 1px solid #0168b3;
   border-radius: 4px;
  }
  .sec-eyesight-top-02 table th,
  .sec-eyesight-top-02 table td {
   padding: 8px 4px;
   border-right: 1px solid #0168b3;
   border-bottom: 1px solid #0168b3;
   font-size: 13px;
   font-weight: 700;
   line-height: 1.2;
  }
  .sec-eyesight-top-02 table thead th { font-size: 11px; }
  .sec-eyesight-top-02 table thead th:nth-child(1) { width: 30%; }
  .sec-eyesight-top-02 table tbody tr th {
   font-size: 10px;
   line-height: 1.2;
  }
  .sec-eyesight-top-02 table thead th:first-child { border-radius: 4px 0 0 0; }
  .sec-eyesight-top-02 table thead th:last-child { border-radius: 0 4px 0 0; }
  .sec-eyesight-top-02 table tbody tr:last-child td:last-child { border-radius: 0 0 4px 0; }
  .sec-eyesight-top-02 table tbody tr:last-child th { border-radius: 0 0 0 4px; }
  .sec-eyesight-top-02 .box-table .text-note {
   margin-top: 5px;
   font-size: 10px;
   text-align: center;
  }

}

/* sec-eyesight-top-03
---------------------------------------------------------- */
.sec-eyesight-top-03 {
 padding: 55px 0 75px;
 border: 50px solid #0168b3;
 text-align: center;
 font-weight: 700;
 color: #000;
}
 .sec-eyesight-top-03 .title {
  margin-bottom: 25px;
  font-size: 36px;
  font-weight: 700;
  color: #0168b3;
 }
 .sec-eyesight-top-03 .text-intro {
  margin-bottom: 30px;
  font-size: 18px;
  line-height: 1.7;
 }
 .sec-eyesight-top-03 .image {
  margin-bottom: 40px;
  text-align: center;
 }
  .sec-eyesight-top-03 .image img { max-width: 100%; }
 .sec-eyesight-top-03 .text-desc {
  margin-bottom: 48px;
  font-size: 15px;
  font-weight: 400;
  line-height: 2;
 }
 .sec-eyesight-top-03 .text-sum {
  font-size: 24px;
  line-height: 1.7;
 }
@media screen and (max-width: 750px) {
.sec-eyesight-top-03 {
 padding: 28px 0 18px;
 border: 12px solid #0168b3;
}
 .sec-eyesight-top-03 .title {
  margin-bottom: 18px;
  font-size: 17px;
 }
 .sec-eyesight-top-03 .text-intro {
  margin-bottom: 15px;
  font-size: 11px;
 }
 .sec-eyesight-top-03 .image {
  padding: 0 5px;
  margin-bottom: 15px;
 }
 .sec-eyesight-top-03 .text-desc {
  padding: 0 15px;
  margin-bottom: 18px;
  font-size: 11px;
  line-height: 1.5;
 }
 .sec-eyesight-top-03 .text-sum {
  margin-left: 5px;
  padding: 0 8px;
  font-size: 15px;
  letter-spacing: -0.05em;
 }
}

/* nav-local-eyesight
---------------------------------------------------------- */
.nav-local-eyesight { padding: 75px 0; }
 .nav-local-eyesight .list {
  display: -webkit-flex;
  display: flex;
  margin: 0 -26px;
 }
 .nav-local-eyesight .item {
  display: -webkit-flex;
  display: flex;
  width: 33.33%;
  padding: 0 26px;
 }
 .nav-local-eyesight a {
  position: relative;
  display: block;
  width: 100%;
  padding: 38px 30px 46px;
  border: 1px solid #0168b3;
  text-align: center;
 }
 .nav-local-eyesight a:before {
  content: "";
  position: absolute;
  bottom: -24px;
  left: 50%;
  width: 48px;
  height: 48px;
  background: url(../img/icon_link_eyesight_01.png) 0 0 no-repeat;
  background-size: 100%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
 }
 .nav-local-eyesight a:hover {
  opacity: 0.7;
  text-decoration: none;
 }
 .nav-local-eyesight .icon {
  display: block;
  width: 130px;
  margin: 0 auto 25px;
 }
 .nav-local-eyesight .item:last-child .icon { width: 142px; }
 .nav-local-eyesight .icon img { width: 100%; }
 .nav-local-eyesight .text {
  position: relative;
  display: -webkit-inline-flex;
  display: inline-flex;
  -webkit-align-items: center;
  align-items: center;
  min-height: 46px;
  padding: 0 14px;
  font-size: 18px;
  font-weight: 700;
  color: #0168b3;
  line-height: 1.33;
 }
 .nav-local-eyesight .text:before,
 .nav-local-eyesight .text:after {
  content: "";
  position: absolute;
  top: 12px;
  width: 5px;
  height: 2px;
  background-color: #0168b3;
 }
 .nav-local-eyesight .text:before { left: 0; }
 .nav-local-eyesight .text:after { right: 0; }
 .nav-local-eyesight .item:last-child .text:before,
 .nav-local-eyesight .item:last-child .text:after { top: 24px; }
@media screen and (max-width: 750px) {
.nav-local-eyesight { padding: 12px 0; }
 .nav-local-eyesight .list { margin: 0 -6px; }
 .nav-local-eyesight .item { padding: 0 6px; }
 .nav-local-eyesight a { padding: 5px 5px 24px; }
 .nav-local-eyesight a:before {
  bottom: 5px;
  width: 15px;
  height: 15px;
 }
 .nav-local-eyesight .icon {
  width: 100%;
  padding: 0 28%;
  margin-bottom: 5px;
 }
 .nav-local-eyesight .item:last-child .icon { width: 100%; }
 .nav-local-eyesight .text {
  min-height: 36px;
  padding: 0;
  font-size: 10px;
  line-height: 1.2;
 }
 .nav-local-eyesight .text:before,
 .nav-local-eyesight .text:after { display: none; }
}

/* ==========================================================
 eyesight meister and pro
========================================================== */
/* sec-meister-cont
---------------------------------------------------------- */
.sec-meister-cont { padding-top: 85px; }
 .sec-meister-cont .box-title { margin-bottom: 60px; }
  .sec-meister-cont .box-title .text-jp {
   display: block;
   margin-bottom: 20px;
   font-size: 24px;
   color: #000;
   line-height: 1.1;
   text-align: center;
  }
  .sec-meister-cont .box-title .text-eng {
   display: block;
   font-size: 12px;
   color: #959595;
   line-height: 1.1;
   text-align: center;
  }
.list-staff-meister {
 display: -webkit-flex;
 display: flex;
 -webkit-flex-wrap: wrap;
 flex-wrap: wrap;
 margin-bottom: 75px;
}
 .list-staff-meister .item {
  width: 200px;
  padding: 0 15px 30px;
  text-align: center;
 }
  .list-staff-meister .image {
   margin-bottom: 10px;
   border: 2px solid #0168b3;
   border-radius: 50%;
   overflow: hidden;
  }
  .list-staff-meister.technical-staff .image { border-color: #4c6987; }
  .list-staff-meister .item.title .image,
  .list-staff-meister .item.empty .image { border: 0; }
   .list-staff-meister .image img { width: 100%; }
 .list-staff-meister .text-shop {
  margin-bottom: 5px;
  font-size: 14px;
  color: #0168b3;
  line-height: 1.2;
 }
 .list-staff-meister .text-name {
  font-size: 20px;
  color: #404040;
  line-height: 1.2;
 }
 .list-staff-meister.technical-staff .text-shop,
 .list-staff-meister.technical-staff .text-name { color: #4c6987; }

@media screen and (max-width: 750px) {
.sec-meister-cont { padding-top: 30px; }
 .sec-meister-cont .box-title { margin-bottom: 30px; }
  .sec-meister-cont .box-title .text-jp {
   margin-bottom: 0;
   font-size: 16px;
   text-align: left;
  }
  .sec-meister-cont .box-title .text-eng { display: none; }
.list-staff-meister {
 padding: 0 5px;
 margin-bottom: 25px;
}
 .list-staff-meister .item {
  width: 33.33%;
  padding: 0 5px 15px;
 }
  .list-staff-meister .image {
   margin-bottom: 5px;
   border-width: 1px;
  }
 .list-staff-meister .text-shop {
  margin-bottom: 3px;
  font-size: 10px;
 }
 .list-staff-meister .text-name { font-size: 12px; }
}

/* ==========================================================
 eyesight check
========================================================== */
/* box-check-intro
---------------------------------------------------------- */
.box-check-intro { text-align: left; }
.box-check-intro .text-01 { text-align: center; }
@media screen and (min-width: 751px) {
.box-check-intro { padding-bottom: 35px; }
.box-check-intro .text-01 {
 margin-bottom: 15px;
 text-align: center;
}
.box-check-intro .text-02 { line-height: 2.4; }
}

/* box-check-image
---------------------------------------------------------- */
.box-check-image { padding: 60px 50px 85px; }
 .box-check-image img { width: 100%; }
@media screen and (max-width: 750px) {
.box-check-image { padding: 5px 0 20px; }
}

/* sec-check-item
---------------------------------------------------------- */
 .sec-check-item > .title {
  margin-bottom: 100px;
  font-size: 24px;
  font-weight: 700;
  color: #0168b3;
  text-align: center;
 }
.list-check-item {
 display: -webkit-flex;
 display: flex;
}
 .list-check-item .item {
  width: 33.33%;
  padding: 20px 25px;
  border: 1px solid #d2d2d2;
  border-left: 0;
 }
 .list-check-item .item:first-child { border-left: 1px solid #d2d2d2; }
 .list-check-item .heading {
  position: relative;
  margin-top: -74px;
  color: #0168b3;
  line-height: 1;
  text-align: center;
 }
 .list-check-item .heading:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 45px;
  background-color: #f9ff79;
 }
  .list-check-item .heading .number {
   position: relative;
   z-index: 1;
   display: block;
   font-size: 48px;
  }
  .list-check-item .heading .text-check {
   position: relative;
   z-index: 1;
   display: block;
   padding-bottom: 12px;
   font-size: 15px;
  }
 .list-check-item .image { margin-bottom: 22px; }
  .list-check-item .image img { width: 100%; }
 .list-check-item .title {
  margin-bottom: 12px;
  font-size: 18px;
  font-weight: 700;
  color: #0168b3;
  text-align: center;
 }
 .list-check-item .text-desc {
  font-size: 15px;
  line-height: 1.2;
 }
@media screen and (max-width: 750px) {
 .sec-check-item > .title {
  padding: 0 18px;
  margin-bottom: 55px;
  font-size: 15px;
  line-height: 1.47;
 }
.list-check-item { display: block; }
 .list-check-item .item {
  width:100%;
  margin-bottom: 50px;
  padding: 15px 18px 16px;
  border: 1px solid #d2d2d2;
 }
 .list-check-item .item:last-child { margin-bottom: 0; }
 .list-check-item .heading { margin-top: -55px; }
 .list-check-item .heading:before { height: 32px; }
  .list-check-item .heading .number { font-size: 35px; }
 .list-check-item .heading .text-check {
   padding-bottom: 10px;
   font-size: 11px;
  }
 .list-check-item .image { margin-bottom: 12px; }
 .list-check-item .title {
  margin-bottom: 8px;
  font-size: 12px;
 }
 .list-check-item .text-desc {
  font-size: 11px;
  line-height: 1.3;
 }
}

/* sec-check-flow
---------------------------------------------------------- */
.sec-check-flow { margin-bottom: 75px; }
 .sec-check-flow .box-intro {
  padding: 72px 0;
  text-align: center;
 }
  .sec-check-flow .box-intro .title {
   margin-bottom: 16px;
   font-size: 24px;
   color: #0168b3;
   line-height: 1.5;
  }
  .sec-check-flow .box-intro .text {
   font-size: 15px;
   line-height: 1.7;
  }
 .mod-check-flow {
  padding: 0 50px 50px;
  background: #f0faff url(/service/eyesight_meister/img/check/bg_check_01.png) 0 0 no-repeat;
 }
  .mod-check-flow .box-title {
   padding: 75px 0 105px;
   text-align: center;
  }
   .mod-check-flow .box-title .title-01 {
    display: inline-block;
    background: url(/service/eyesight_meister/img/bg_highlight_text.jpg) left 0 bottom -2px repeat-x;
    font-size: 24px;
    text-align: center;
    line-height: 36px;
   }
   .mod-check-flow .box-title .title-02 {
    display: inline-block;
    margin-top: 15px;
    background: url(/service/eyesight_meister/img/bg_highlight_text.jpg) left bottom repeat-x;
    font-size: 36px;
    line-height: 1;
   }
  .mod-check-flow .box-cont {
   padding: 0 100px 40px;
   background-color: #fff;
  }
 .list-check-flow {
  position: relative;
  top: -60px;
  margin-bottom: -10px;
 }
  .list-check-flow .circle {
   position: relative;
   display: -webkit-flex;
   display: flex;
   -webkit-align-items: center;
   align-items: center;
   -webkit-justify-content: center;
   justify-content: center;
   height: 220px;
   background-color: #0168b3;
   border-radius: 50%;
   font-size: 24px;
   line-height: 1.5;
   color: #fff;
   text-align: center;
  }
  .list-check-flow .circle:before {
   content: "";
   position: absolute;
   top: 0;
   left: 50%;
   width: 0;
   height: 0;
   border-right: 10px solid transparent;
   border-left: 10px solid transparent;
   border-top: 10px solid #0168b3;
  }
   .list-check-flow .circle img { width: 100%; }
   .list-check-flow .item:first-child .circle {
    width: 98px;
    height: 98px;
    padding: 7px;
   }
  .list-check-flow .text-desc {
   position: relative;
   padding-left: 44px;
  }
  .list-check-flow .text-desc:before {
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   width: 35px;
   height: 36px;
   background: url(/service/eyesight_meister/img/check/icon_checkbox_01.png) 0 0 no-repeat;
   background-size: 100%;
  }
   .list-check-flow .text-desc .text {
    background: url(/service/eyesight_meister/img/bg_highlight_text.jpg) left 0 bottom -2px repeat-x;
    font-size: 24px;
    line-height: 1.5;
   }
 .box-sum-price {
  display: table;
  width: 100%;
  padding: 12px 10px;
  border: 3px solid #0168b3;
  border-radius: 4px;
 }
  .box-sum-price .title {
   display: table-cell;
   vertical-align: middle;
   width: 370px;
   text-align: center;
   color: #0168b3;
  }
   .box-sum-price .title .title-01 {
    display: block;
    margin-bottom: 5px;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
   }
   .box-sum-price .title .title-02 {
    display: block;
    font-size: 18px;
    line-height: 1.2;
   }
  .box-sum-price .cont {
   display: table-cell;
   vertical-align: middle;
   width: 500px;
  }
 .list-sum-price {
  display: -webkit-flex;
  display: flex;
  margin: 0 -6px;
 }
 .list-sum-price .item {
  width: 50%;
  padding: 0 6px;
 }
 .list-sum-price .box {
  padding: 12px 25px 18px 18px;
  background-color: #f0faff;
  border-radius: 5px;
 }
 .list-sum-price .label {
  font-size: 18px;
  font-weight: 700;
  color: #0168b3;
  line-height: 1;
 }
 .list-sum-price .text {
  font-size: 23px;
  font-weight: 700;
  text-align: right;
  line-height: 1;
 }
  .list-sum-price .text .number {
   font-size: 46px;
   font-weight: 700;
  }
@media screen and (min-width: 751px) {
.list-check-flow .item {
 display: -webkit-flex;
 display: flex;
 -webkit-align-items: center;
 align-items: center;
 margin-bottom: 15px;
}
.list-check-flow .item:last-child { margin-bottom: 0; }
.list-check-flow .item:first-child {
 display: block;
 margin-bottom: 60px;
}
.list-check-flow .circle {
  -webkit-flex: 0 0 220px;
  flex: 0 0 220px;
 }
.list-check-flow .item:first-child .circle { margin: 0 auto 70px; }
.list-check-flow .item:nth-child(1) .circle:before {
 top: 114px;
 margin-left: -10px;
}
.list-check-flow .item:nth-child(2) .circle:before {
 left: inherit;
 right: 0;
 -webkit-transform: rotate(45deg);
 transform: rotate(45deg);
}
.list-check-flow .item:nth-child(3) .circle {
 -webkit-order: 2;
 order: 2;
}
.list-check-flow .item:nth-child(2) .box-text { padding-left: 40px; }
.list-check-flow .item:nth-child(3) .circle:before {
 left: 0;
 -webkit-transform: rotate(-45deg);
 transform: rotate(-45deg);
}
.list-check-flow .item:nth-child(3) .box-text {
 padding-right: 40px;
 -webkit-order: 1;
 order: 1;
}
}
@media screen and (max-width: 750px) {
.sec-check-flow { margin-bottom: 30px; }
 .sec-check-flow .box-intro {
  padding: 33px 0 37px;
  text-align: center;
 }
  .sec-check-flow .box-intro .title {
   margin-bottom: 15px;
   font-size: 13px;
   line-height: 1.8;
  }
  .sec-check-flow .box-intro .text { font-size: 11px; }
 .mod-check-flow {
  padding: 0 5px 1px;
  background-image: none;
 }
  .mod-check-flow .box-title {
   padding: 25px 0 45px;
  }
   .mod-check-flow .box-title .title-01 {
    background-position: left 0 bottom -11px;
    font-size: 12px;
    line-height: 1.5;
   }
   .mod-check-flow .box-title .title-02 {
    margin-top: 8px;
    background-position: left 0 bottom -10px;
    font-size: 18px;
   }
  .mod-check-flow .box-cont { padding: 0 10px 8px; }
 .list-check-flow {
  position: relative;
  top: -24px;
  margin-bottom: 0;
 }
  .list-check-flow .item:not(:last-child) { margin-bottom: 30px; }
  .list-check-flow .circle {
   width: 110px;
   height: 110px;
   margin: 0 auto 30px;
   font-size: 12px;
  }
  .list-check-flow .circle:before {
   top: 122px;
   border-right: 5px solid transparent;
   border-left: 5px solid transparent;
   border-top: 5px solid #0168b3;
   -webkit-transform: translateX(-50%);
   transform: translateX(-50%);
  }
   .list-check-flow .circle img { width: 100%; }
   .list-check-flow .item:first-child .circle {
    width: 48px;
    height: 48px;
    padding: 3px;
   }
   .list-check-flow .item:first-child .circle:before { top: 57px; }
  .list-check-flow .text-desc { padding-left: 24px; }
  .list-check-flow .text-desc:before {
   width: 18px;
   height: 18px;
  }
   .list-check-flow .text-desc .text {
    background: url(/service/eyesight_meister/img/bg_highlight_text.jpg) left 0 bottom -11px repeat-x;
    font-size: 12px;
   }
 .box-sum-price {
  display: block;
  padding: 5px;
  border: 2px solid #0168b3;
  border-radius: 5px;
 }
  .box-sum-price .title {
   display: block;
   padding: 9px 0 12px;
   width: 100%;
  }
   .box-sum-price .title .title-01 {
    display: block;
    margin-bottom: 5px;
    font-size: 14px;
    line-height: 1.3;
   }
   .box-sum-price .title .title-02 { font-size: 11px; }
  .box-sum-price .cont {
   display: block;
   width: 100%;
  }
 .list-sum-price { margin: 0 -5px; }
 .list-sum-price .item { padding: 0 5px; }
 .list-sum-price .box {
  padding: 10px 10px 5px 5px;
  background-color: #f0faff;
 }
 .list-sum-price .label { font-size: 10px; }
 .list-sum-price .text { font-size: 11px; }
  .list-sum-price .text .number { font-size: 23px; }
}
.txt-cmn-02 {
  text-align: right;
}



