@charset "UTF-8";
/* #wrapper #main{
  font-size: 1.5rem;
} */
.title_page {
  background: url(../common_img/bg_tt.jpg) top center no-repeat;
  background-size: cover;
}

.title_page .container {
  height: 300px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.title_page .mv_txt {
  color: #fff;
  text-align: center;
  font-size: 25px;
  font-weight: normal;
  position: relative;
}

.title_page .mv_txt:after {
  content: '';
  position: absolute;
  bottom: -15px;
  left: 0;
  right: 0;
  margin: auto;
  width: 30px;
  height: 1px;
  background: #aeaeae;
}

.title_page .mv_txt span {
  display: block;
  font-family: "Josefin Sans", sans-serif;
  font-size: 58px;
  font-weight: 200;
  line-height: 1;
  letter-spacing: 5px;
}

@media only screen and (max-width: 639px) {
  .title_page {
    margin-bottom: 30px;
  }

  .title_page .container {
    height: 200px;
  }

  .title_page .mv_txt {
    font-size: 20px;
  }

  .title_page .mv_txt span {
    font-size: 45px;
  }
}
/*===========■BEADCRUMB===========*/
.breadcrumb {
  margin: 12px auto 55px;
}

.breadcrumb ul {
  display: flex;
  flex-wrap: wrap;
}

.breadcrumb ul li {
  margin: 0 10px;
  position: relative;
}

.breadcrumb ul li:first-child {
  text-decoration: none;
  margin-left: 0;
}

.breadcrumb ul li:first-child a {
  text-decoration: none;
}

.breadcrumb ul li:first-child:before {
  content: none;
}

.breadcrumb ul li:before {
  content: '>';
  text-decoration: none;
  left: -14px;
  position: absolute;
}

@media only screen and (max-width: 639px) {
  .breadcrumb {
    display: none;
  }
}
/*===========■CM CSS===========*/
.cm_tt3 {
  font-size: 25px;
}

.cm_tt5 {
  text-align: center;
  margin-bottom: 30px;
}

.cm_tt5 span {
  display: inline-block;
  padding: 0 65px;
  font-size: 36px;
  display: inline-block;
  position: relative;
  line-height: 1.5;
}

.cm_tt5 span:before, .cm_tt5 span:after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 35px;
  height: 1px;
  background: #a4a4a4;
}

.cm_tt5 span:before {
  left: 0;
}

.cm_tt5 span:after {
  right: 0;
}

.cm_tt5.white span {
  color: #fff;
}

.cm_tt5.white span:before, .cm_tt5.white span:after {
  background: #fff;
}

@media only screen and (max-width: 639px) {
  .cm_tt5 {
    margin-bottom: 15px;
  }

  .cm_tt5 span {
    font-size: 28px;
    padding: 0 45px;
  }
}
@media only screen and (max-width: 480px) {
  .cm_tt5 span {
    font-size: 22px;
    padding: 0 35px;
  }

  .cm_tt5 span:before, .cm_tt5 span:after {
    width: 20px;
  }
}
.cm_tt6 {
  background: #b9bbc3;
  font-size: 25px;
  padding: 10px;
  margin-bottom: 40px;
  position: relative;
}

.cm_tt6 span {
  border-left: 7px solid #28292e;
  display: inline-block;
  padding-left: 10px;
  line-height: 1.5;
}

.cm_tt6 strong {
  font-size: 12px;
  font-weight: normal;
  background: #fff;
  padding: 10px 30px;
  position: absolute;
  /* top: 0;
  bottom: 0; */
  right: 20px;
  margin: auto;
}

@media only screen and (max-width: 639px) {
  .cm_tt6 {
    font-size: 20px;
  }
}
.cm_tt7 {
  font-size: 30px;
  margin-bottom: 20px;
}

@media only screen and (max-width: 639px) {
  .cm_tt7 {
    font-size: 25px;
  }
}
.cm_tt8 {
  font-size: 25px;
  margin-bottom: 40px;
}

.cm_tt8 span {
  position: relative;
}

.cm_tt8 span:after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: -230px;
  background: #ccc;
  width: 200px;
  height: 1px;
}

@media only screen and (max-width: 639px) {
  .cm_tt8 {
    font-size: 20px;
    margin-bottom: 20px;
  }
}
.fs17 {
  font-size: 17px;
}

.fs25 {
  font-size: 25px;
}

@media only screen and (max-width: 639px) {
  .fs25 {
    font-size: 20px;
  }
}
.color_red2 {
  color: #c70019;
}

.tt_detail {
  font-size: 20px;
  border-bottom: 1px solid #a0a0a0;
  padding-bottom: 10px;
  margin-bottom: 20px;
  margin-top: 60px;
}

@media only screen and (max-width: 639px) {
  .tt_detail {
    margin-top: 30px;
  }
}
.cm_table {
  width: 100%;
  margin: 25px 0;
}

.cm_table th, .cm_table td {
  border-top: 1px dashed #b1b1b1;
  padding: 30px;
  text-align: left;
  vertical-align: middle;
}

.cm_table tr {
  display: flex;
}

.cm_table th {
  width: 25%;
  padding-right: 80px;
  font-size: 16px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
}

.cm_table th:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 0;
  width: 50px;
  height: 30px;
  text-align: center;
  line-height: 30px;
  color: #fff;
  font-size: 14px;
}

.cm_table th.hissu:before {
  content: '必須';
  background: #d68d97;
}

.cm_table th.ninni:before {
  content: '任意';
  background: #1ea9c8;
}

.cm_table td {
  width: 75%;
  padding-left: 80px;
  display: block;
}

.cm_table td .btn_list1 li {
  float: left;
  width: 32%;
}

.cm_table td .btn_list1 li.other {
  width: 100%;
}

.cm_table td input[type="radio"] {
  margin: 0 5px 4px 0;
}

.cm_table td input[type="text"] {
  width: 100%;
  height: 35px;
  border: 1px solid #ccc;
  padding: 5px 10px;
  font-family: "游明朝" , "Yu Mincho" , "游明朝体" , YuMincho, 'Noto Serif JP', "HGS明朝E" , "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.cm_table td input[type="text"]:placeholder {
  font-family: "游明朝" , "Yu Mincho" , "游明朝体" , YuMincho, 'Noto Serif JP', "HGS明朝E" , "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.cm_table td select {
  height: 35px;
  width: 70%;
  border: 1px solid #ccc;
  padding: 5px 10px;
  font-family: "游明朝" , "Yu Mincho" , "游明朝体" , YuMincho, 'Noto Serif JP', "HGS明朝E" , "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.cm_table td textarea {
  width: 100%;
  height: 150px;
  padding: 5px 10px;
  border: 1px solid #ccc;
  font-family: "游明朝" , "Yu Mincho" , "游明朝体" , YuMincho, 'Noto Serif JP', "HGS明朝E" , "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

@media only screen and (max-width: 639px) {
  .cm_table th, .cm_table td {
    padding: 20px 0;
  }

  .cm_table tr {
    display: block;
  }

  .cm_table th {
    width: 100%;
    padding-right: 0;
    padding-left: 65px;
    display: block;
  }

  .cm_table th:before {
    right: auto;
    left: 0;
  }

  .cm_table td {
    width: 100%;
    padding-left: 0;
    display: block;
  }

  .cm_table td .btn_list1 li {
    width: 100%;
  }

  .cm_table td select {
    width: 100%;
  }
}
.consent_txt {
  text-align: center;
  margin-bottom: 40px;
}

@media only screen and (max-width: 639px) {
  .consent_txt {
    margin-bottom: 20px;
  }
}
.form_submit_btn {
  margin: 10px auto;
  width: 350px;
  max-width: 90%;
  position: relative;
  background: #21222c;
  display: inline-block;
}

.form_submit_btn input {
  transition: all 0.5s;
  -webkit-transition: all 0.5s;
  width: 100%;
  height: 100%;
  cursor: pointer;
  border: none;
  background: #21222c;
  outline: none;
  font-size: 16px;
  padding: 30px 10px;
  font-weight: bold;
  color: #fff;
  font-family: "游明朝" , "Yu Mincho" , "游明朝体" , YuMincho, 'Noto Serif JP', "HGS明朝E" , "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

@media only screen and (min-width: 640px) {
  .form_submit_btn input:hover {
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.3);
    -webkit-box-shadow: 0 0 15px rgba(0, 0, 0, 0.3);
    background: #d68d97;
  }
}
@media only screen and (max-width: 639px) {
  .form_submit_btn input {
    padding: 20px;
  }
}
.contact_pp {
  background: #f8f8f8;
  margin: auto;
  padding: 70px 0;
  margin-top: 70px;
}

.contact_pp .pp_txt {
  background: #fff;
  padding: 50px;
  box-shadow: 0 0 50px #dcdcdc;
  -webkit-box-shadow: 0 0 50px #dcdcdc;
}

.contact_pp p {
  margin-bottom: 30px;
}

.contact_pp p strong {
  font-size: 18px;
}

.contact_pp ul {
  margin-bottom: 30px;
}

.contact_pp ul li {
  text-indent: -15px;
  margin-left: 15px;
}

@media only screen and (max-width: 639px) {
  .contact_pp {
    padding: 40px 0;
  }

  .contact_pp .pp_txt {
    padding: 40px 3%;
  }

  .contact_pp p strong {
    font-size: 15px;
  }
}
.news_list .news_item {
  background: #fff;
  padding: 55px 0;
}

.news_list .news_item:nth-child(2n+2) {
  background: #f7f7f7;
}

.news_list .news_item .photo {
  width: 400px;
  max-width: 100%;
  float: left;
  margin-right: 40px;
  margin-bottom: 20px;
}

.news_list .news_item .ct_txt {
  overflow: hidden;
  /* padding-top: 40px; */
}

.news_list .news_item .ct_txt .news_tt {
  border-bottom: 1px solid #a5a1a1;
  margin-bottom: 30px;
  padding-bottom: 10px;
}

.news_list .news_item .ct_txt .news_tt time {
  font-family: "Josefin Sans", sans-serif;
  font-size: 16px;
}

.news_list .news_item .ct_txt .news_tt .ttl {
  font-size: 22px;
}

@media only screen and (max-width: 639px) {
  .news_list .news_item {
    padding: 30px 0;
  }

  .news_list .news_item .photo {
    width: 100%;
  }

  .news_list .news_item .photo img {
    width: 100%;
  }

  .news_list .news_item .ct_txt {
    overflow: visible;
    padding-top: 0;
  }
}
.pager {
  padding: 60px 0;
}

.pager .prev {
  float: left;
}

.pager .next {
  float: right;
}

.pager .next a:after {
  left: auto;
  right: 20px;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}

.pager a {
  background: #21222c;
  text-decoration: none;
  color: #fff;
  width: 200px;
  max-width: 100%;
  padding: 10px;
  display: block;
  text-align: center;
  position: relative;
}

.pager a:after {
  position: absolute;
  left: 20px;
  top: 0;
  bottom: 0;
  height: 0;
  margin: auto;
  content: '';
  border: solid #fff;
  border-width: 0 1px 1px 0;
  display: inline-block;
  padding: 3px;
  transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
}

@media only screen and (min-width: 640px) {
  .pager a:hover {
    -webkit-transition: all ease 0.2s;
    -o-transition: all ease 0.2s;
    transition: all ease 0.2s;
    background: #b96778;
  }
}
@media only screen and (max-width: 639px) {
  .pager a {
    width: 140px;
  }
}
.common_news {
  margin-bottom: 80px;
}

.common_news ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.common_news ul li {
  width: 48%;
  border: 1px solid #000;
  -webkit-transition: all ease 0.2s;
  -o-transition: all ease 0.2s;
  transition: all ease 0.2s;
}

.common_news ul li a {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
  font-size: 31px;
  text-align: center;
  padding: 45px 20px;
}

.common_news ul li a span {
  background: url(../common_img/ico1.png) center top no-repeat;
  display: inline-block;
  padding-top: 80px;
}

.common_news ul li:nth-child(2) a span {
  background: url(../common_img/ico2.png) center top no-repeat;
}

@media only screen and (min-width: 640px) {
  .common_news ul li:hover {
    -webkit-transform: translateY(-7px);
    -ms-transform: translateY(-7px);
    transform: translateY(-7px);
    -webkit-box-shadow: 0px 5px 5px #b96778;
    box-shadow: 0px 5px 5px #b96778;
  }
}
@media only screen and (max-width: 639px) {
  .common_news ul li {
    margin-bottom: 20px;
  }

  .common_news ul li a {
    font-size: 25px;
    padding: 30px 2%;
  }

  .common_news ul li a span {
    background-size: 45px;
    padding-top: 50px;
  }

  .common_news ul li:nth-child(2) a span {
    background-size: 45px;
  }
}
@media only screen and (max-width: 639px) and (max-width: 480px) {
  .common_news ul li {
    width: 100%;
  }
}
.common_flow {
  margin-bottom: 80px;
}

.common_flow ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.common_flow ul li {
  width: 48%;
  height: 245px;
  position: relative;
  background: url(../shop/images/bnr1.png) center center no-repeat;
  background-size: cover !important;
  transition: all 0.25s;
  -webkit-transition: all 0.25s;
}

.common_flow ul li.glasses {
  background: url(../flow/images/bnr1.jpg) center center no-repeat;
}

.common_flow ul li.glasses_kids {
  background: url(../flow/images/bnr2.jpg) center center no-repeat;
}

.common_flow ul li.brand_maker {
  background: url(../contact_lens/images/bnr1.jpg) center center no-repeat;
}

.common_flow ul li.flow {
  background: url(../kids/images/bnr1.jpg) center center no-repeat;
}

.common_flow ul li.thought {
  background: url(../thought/images/bnr1.jpg) center center no-repeat;
}

.common_flow ul li a {
  color: #fff;
  text-decoration: none;
  padding: 45px;
  display: block;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  position: relative;
}

.common_flow ul li a:after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto;
  height: 0;
  width: 0;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  display: inline-block;
  padding: 5px;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}

.common_flow ul li .cm_tt2 {
  font-size: 18px;
}

.common_flow ul li .cm_tt2 span {
  font-size: 36px;
}

@media only screen and (min-width: 640px) {
  .common_flow ul li:hover {
    -webkit-transform: translateY(-7px);
    -ms-transform: translateY(-7px);
    transform: translateY(-7px);
    -webkit-box-shadow: 0px 5px 5px #b96778;
    box-shadow: 0px 5px 5px #b96778;
  }
}
@media only screen and (max-width: 639px) {
  .common_flow {
    margin-bottom: 40px;
  }

  .common_flow ul li {
    width: 100%;
    margin-top: 20px;
  }
}
.category {
  position: relative;
  z-index: 2;
  padding: 60px 0;
  background: #f7f7f7;
  margin-bottom: 60px;
}

.category .category_list {
  display: flex;
  flex-wrap: wrap;
}

.category .category_list li {
  width: 32.4%;
  margin-right: 1.3%;
  cursor: pointer;
}

.category .category_list li:nth-child(3n+3) {
  margin-right: 0;
}

.category .category_list li.select {
  background: #fff;
  color: #000;
}

.category .category_list li {
  text-decoration: none;
  background: #000;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px 2%;
  color: #fff;
}

.category .category_list li a {
  color: #fff;
  text-decoration: none;
  display: block;
  width: 100%;
  height: 100%;
}

.category .category_list li.select a {
  color: #000;
}

.category_item {
  background: #fff;
  padding: 40px 60px;
}

.category_item .btn1 {
  flex-wrap: wrap;
  justify-content: flex-start;
}

.category_item .btn1 li {
  width: 23%;
  margin-right: 2.6%;
  margin-bottom: 2%;
}

.category_item .btn1 li:nth-child(4n+4) {
  margin-right: 0;
}

.category_item .btn1 li a {
  background: #fff;
  border: 1px solid #21222c;
  color: #21222c;
  min-width: 100%;
  height: 100%;
}

.category_item .btn1 li a:after {
  background: #21222c;
}

.category_item .btn1 li.active a {
  background: #21222c;
  color: #fff;
}

.category_item .btn1 li.active a:after {
  background: #fff;
}

.category_item .btn1 li:not(.active) a:hover {
  -webkit-transition: all ease 0.2s;
  -o-transition: all ease 0.2s;
  transition: all ease 0.2s;
  background: #b96778;
  color: #fff;
}

.hidden {
  display: none;
}

.category .tt_red {
  color: #ad566b;
  text-align: center;
  font-size: 18px;
}

.category .category_inner {
  background: #fff;
  padding: 40px 60px 60px;
  box-shadow: 0 0 30px #ccc;
  -webkit-box-shadow: 0 0 30px #ccc;
}

.category .category_pro {
  margin-top: 25px;
  width: 100%;
}

.category .category_pro td {
  border: 1px solid #d8d8d8;
  padding: 25px 2%;
  vertical-align: middle;
  text-align: center;
}

@media only screen and (max-width: 639px) {
  .category {
    padding: 40px 0;
    margin-bottom: 40px;
  }

  .category .category_list {
    justify-content: center;
    margin-bottom: 10px;
  }

  .category .category_list li {
    width: 48%;
    margin: 3% 1% 0%;
    margin-top: 2%;
    padding: 10px 2%;
  }

  .category .category_list li.select {
    border: 1px solid #000;
  }

  .category .category_inner {
    padding: 40px 4%;
  }

  .category .category_pro tr {
    display: flex;
    flex-wrap: wrap;
  }

  .category .category_pro td {
    width: 50%;
    display: block;
  }

  .category_item {
    padding: 30px 3%;
  }

  .category_item .btn1 {
    justify-content: space-between;
  }

  .category_item .btn1 li {
    width: 48%;
    margin: 1% auto 1% !important;
  }

  .category_item .btn1 li a {
    padding-left: 10px;
  }
}
.prodcut_list .products {
  display: flex;
  flex-wrap: wrap;
}

.prodcut_list .products .item {
  width: 31.5%;
  margin-right: 2.7%;
  margin-bottom: 2%;
  border: 1px solid #d8d8d8;
  padding: 15px 15px 30px;
  box-shadow: 0 0 30px #ccc;
  -webkit-box-shadow: 0 0 30px #ccc;
  position: relative;
}

.prodcut_list .products .item:nth-child(3n+3) {
  margin-right: 0;
}

.prodcut_list .products .item .product_name {
  font-size: 18px;
  text-align: center;
  position: relative;
  margin: 20px 0;
}

.prodcut_list .products .item .product_name:after {
  content: '';
  position: absolute;
  bottom: -10px;
  left: 0;
  right: 0;
  margin: auto;
  width: 30px;
  height: 1px;
  background: #aeaeae;
}

.prodcut_list .products .item p {
  text-align: center;
}

.prodcut_list .products .item .btn1 {
  margin-top: 20px;
}

.prodcut_list .products .item .btn1 a:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media only screen and (max-width: 639px) {
  .prodcut_list .products {
    justify-content: space-between;
  }

  .prodcut_list .products .item {
    width: 100%;
    margin-right: 0;
    margin-bottom: 20px;
  }
}
.detail_box {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.detail_box .block_gallery {
  width: 45%;
}

.detail_box .block_gallery .gallery_main {
  box-shadow: 0 0 30px #ccc;
  -webkit-box-shadow: 0 0 30px #ccc;
  margin-bottom: 15px;
  width: 100%;
  height: 380px;
  position: relative;
  transition: all 0.5s;
  -webkit-transition: all 0.5s;
}

.detail_box .block_gallery .gallery_main img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  max-height: 380px;
  max-width: 100%;
  width: auto;
  height: auto;
  transition: transform .3s ease-in-out, opacity .3s ease-in-out;
}

.detail_box .block_gallery .gallery_thumb {
  display: flex;
  flex-wrap: wrap;
}

.detail_box .block_gallery .gallery_thumb .thumb_item {
  display: inline-block;
  vertical-align: top;
  width: 32%;
  margin-right: 2%;
  height: 130px;
  position: relative;
  border: 1px solid #ccc;
  cursor: pointer;
  padding: 5px;
  transition: all 0.5s;
  -webkit-transition: all 0.5s;
}

.detail_box .block_gallery .gallery_thumb .thumb_item.active {
  border-color: #000;
}

.detail_box .block_gallery .gallery_thumb .thumb_item:nth-child(3n+3) {
  margin-right: 0;
}

.detail_box .block_gallery .gallery_thumb .thumb_item img {
  max-width: 100%;
  max-height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: auto;
  height: auto;
  display: block;
}

.detail_box .ct_txt {
  width: 50%;
}

.detail_box .ct_txt .tt_detail {
  margin-top: 0;
}

@media only screen and (max-width: 639px) {
  .detail_box .block_gallery {
    width: 100%;
    margin-bottom: 30px;
  }

  .detail_box .block_gallery .gallery_main {
    height: 300px;
  }

  .detail_box .block_gallery .gallery_main img {
    max-height: 300px;
  }

  .detail_box .block_gallery .gallery_thumb .thumb_item {
    height: 100px;
  }

  .detail_box .ct_txt {
    width: 100%;
  }
}
.product_detail .pager ul li {
  float: none;
}

.product_detail .pager ul li a {
  margin: auto;
}

@media only screen and (max-width: 639px) {
  .product_detail .pager ul li a {
    width: 200px;
  }
}
.step_list {
  display: flex;
  flex-wrap: wrap;
  margin-top: 60px;
}

.step_list li {
  width: 140px;
  height: 140px;
  background: #fff;
  margin-right: 35px;
  box-shadow: 0 0 50px #dcdcdc;
  -webkit-box-shadow: 0 0 50px #dcdcdc;
  position: relative;
}

.step_list li:last-child {
  margin-right: 0;
}

.step_list li:last-child:after {
  content: none;
}

.step_list li:after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: -26px;
  height: 0;
  margin: auto;
  border-top: 15px solid transparent;
  border-bottom: 15px solid transparent;
  border-left: 15px solid #28292e;
}

.step_list li a {
  text-decoration: none;
  font-size: 18px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 100%;
  height: 100%;
}

.step_list li a span {
  position: absolute;
  top: -27px;
  left: 0;
  right: 0;
  margin: auto;
  text-align: center;
  font-size: 36px;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 100;
  line-height: 1;
}

@media only screen and (min-width: 640px) {
  .step_list li a:hover {
    background: #21222c;
    color: #fff;
  }

  .step_list li a:hover span {
    color: #21222c;
  }
}
@media only screen and (max-width: 639px) {
  .step_list {
    justify-content: center;
  }

  .step_list li {
    width: 45%;
    margin-right: 10%;
    margin-bottom: 50px;
    height: 100px;
  }

  .step_list li:after {
    right: -15%;
  }

  .step_list li:nth-child(2n+2) {
    margin-right: 0;
  }

  .step_list li:nth-child(2n+2):after {
    content: none;
  }
}
.point {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.point li {
  width: 48.5%;
  border: 1px solid #000;
  margin-bottom: 3%;
}

.point li .point_tt {
  font-size: 18px;
  margin-bottom: 0;
}

.point li .point_txt {
  background: #f5f6fb;
  padding: 20px;
  margin: 10px;
}

@media only screen and (max-width: 639px) {
  .point li {
    width: 100%;
  }
}
.flex_photo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 20px;
}

.flex_photo .left {
  width: 45.3%;
  margin-left: -50px;
}

.flex_photo .left img {
  float: right;
}

.flex_photo .right {
  width: 54.7%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

.flex_photo .right .inner {
  width: 735px;
  border: 1px solid #6b6d79;
  padding: 50px 60px;
}

.flex_photo .right .inner p.f20 {
  margin-bottom: 20px;
}

.flex_photo.left_photo .left img {
  float: none;
}

@media only screen and (max-width: 639px) {
  .flex_photo.left_photo .left {
    width: 100% !important;
    margin-bottom: -60px;
  }

  .flex_photo.left_photo .right {
    width: 100% !important;
  }

  .flex_photo.left_photo .right .inner {
    width: 100%;
  }
}
.flex_photo.photo_right {
  margin-bottom: 0;
  flex-direction: row-reverse;
}

.flex_photo.photo_right .left {
  margin-left: 0;
  margin-right: -50px;
}

.flex_photo.photo_right .left img {
  /* float: left; */
}

.flex_photo.photo_right .right {
  justify-content: flex-end;
  /* margin-right: -1px; */
}

.flex_photo.photo_right .right .inner {
  background: #fff;
  position: relative;
  z-index: 3;
}

@media (max-width: 1600px) and (min-width: 768px) {
  .flex_photo.photo_right .left {
    min-width: 740px;

  }
  .flex_photo.photo_right .right .inner {
    padding: 30px;
    width: auto;
  }
}


@media only screen and (max-width: 639px) {
  .flex_photo.photo_right {
    margin-bottom: 40px;
    flex-direction: column-reverse;
  }

  .flex_photo.photo_right .left {
    margin: -60px auto 0;
    margin-right: 0;
    width: 85%;
    z-index: 2;
  }

  .flex_photo.photo_right .right {
    z-index: 1;
  }

  .flex_photo.photo_right .right .inner {
    padding-bottom: 70px;
  }
}
@media only screen and (max-width: 639px) {
  .flex_photo {
    flex-wrap: wrap;
  }

  .flex_photo .left {
    width: 100%;
    margin-left: 0;
  }

  .flex_photo .right {
    width: 100%;
    padding: 4%;
  }

  .flex_photo .right .inner {
    padding: 20px 3%;
  }

  .flex_photo .right .inner p.f20 {
    font-size: 18px !important;
  }
}
.bg {
  padding: 70px 0;
  background: #f7f7f7;
}

.bg2 {
  padding: 70px 0;
  background: #21222c;
}

.ctls_flex01 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.ctls_flex01 li {
  width: 49%;
  margin-bottom: 2%;
  border: 1px solid #000;
  padding: 30px 35px 0;
  background: #fff;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.ctls_flex01 li figure {
  margin-bottom: 20px;
}

.ctls_flex01 li .tt {
  text-align: center;
  font-size: 25px;
}

.ctls_flex01 li .bottom {
  background: #f5f6fb;
  padding: 20px;
  margin: 25px -35px 0;
  text-align: center;
}

.ctls_flex01 li .bottom p {
  font-size: 18px;
}

.ctls_flex01 li .bottom p.color_red {
  color: #af586c !important;
}

.ctls_flex01 li .bottom p.color_red span {
  font-size: 30px;
}

@media only screen and (max-width: 639px) {
  .ctls_flex01 li {
    width: 100%;
    padding: 20px 3% 0;
  }

  .ctls_flex01 li .tt {
    font-size: 20px;
  }

  .ctls_flex01 li .bottom {
    margin: 25px -3% 0;
    padding: 20px 3%;
  }

  .ctls_flex01 li .bottom p {
    font-size: 16px;
  }

  .ctls_flex01 li .bottom p.color_red span {
    font-size: 6vw;
  }
}
.glasses_flex01 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.glasses_flex01 li {
  width: 48.5%;
  margin-bottom: 3%;
  padding: 10px 10px 20px 30px;
  background: #fff;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
}



@media only screen and (max-width: 639px) {
  .glasses_flex01 li {
    width: 100%;
    padding: 30px 4%;
  }
}
.glasses_flex01 li .ct_txt {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 15px;
}

.glasses_flex01 li .ct_txt .left {
  width: 47%;
  padding-top: 30px;
}

@media only screen and (max-width: 639px) {
  .glasses_flex01 li .ct_txt .left {
    width: 100%;
    text-align: center;
    padding-top: 0;
  }
}
.glasses_flex01 li .ct_txt figure {
  width: 51.5%;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media only screen and (max-width: 639px) {
  .glasses_flex01 li .ct_txt figure {
    width: 100%;
    margin-top: 10px;
  }

  .glasses_flex01 li .ct_txt figure img {
    /* width: 100%; */
  }
}
.glasses_flex01 li .tt1 {
  font-size: 25px;
  line-height: 1.5;
}

.glasses_flex01 li .tt1 span {
  font-family: "Josefin Sans", sans-serif;
  display: block;
  font-weight: 100;
}

.glasses_flex01 li .price {
  font-size: 20px;
  color: #af586c;
}

.glasses_flex01 li .price span {
  font-size: 30px;
}

.glasses_box {
  border: 1px dashed #444444;
  padding: 0 31px 50px;
  margin: 70px 0 40px;
}

@media only screen and (max-width: 639px) {
  .glasses_box {
    padding: 0 4% 30px;
  }
}
.glasses_box .tt {
  text-align: center;
  font-size: 25px;
  margin-top: -30px;
}

.glasses_box .tt span {
  background: #fff;
  padding: 10px;
  display: inline-block;
}

.glasses_box .cm_tt1 {
  font-size: 20px;
}

.glasses_box .cm_tt1 span {
  font-size: 25px;
}

.glasses_box .ul_box01 {
  display: flex;
  flex-wrap: wrap;
}

.glasses_box .ul_box01 li {
  background: #f5f6fb;
  padding: 10px 8px 30px;
  width: 24.2%;
  margin: 0 1% 10px 0;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

@media only screen and (max-width: 639px) {
  .glasses_box .ul_box01 li {
    width: 100%;
    margin: 10px 0;
  }
}
.glasses_box .ul_box01 li:nth-child(4n+4) {
  margin-right: 0;
}

.glasses_box .ul_box01 li figure {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px 0;
}

.glasses_box .ul_box01 li figure img {
  max-width: 100%;
}

.glasses_box .ul_box01 li .whitebox {
  background: #fff;
  padding: 10px 5PX;
  margin: 10px 0 20px;
}

.glasses_box .ul_box01 li .btn1 {
  margin-top: 20px;
}

.glasses_box .ul_box02 {
  display: flex;
  flex-wrap: wrap;
}

@media only screen and (max-width: 639px) {
  .glasses_box .ul_box02 {
    justify-content: space-between;
  }
}
.glasses_box .ul_box02 li {
  min-width: 150px;
  min-height: 70px;
  padding: 10px;
  margin-right: 10px;
  margin-bottom: 10px;
  border: 1px solid #dadada;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media only screen and (max-width: 639px) {
  .glasses_box .ul_box02 li {
    width: 47%;
    margin: 0 0 10px;
    min-width: auto;
    height: auto;
  }
}
@media only screen and (min-width: 640px) {
  .glasses_box .ul_box02 li:last-child {
    margin-right: 0;
  }
}
.step_flex {
  display: flex;
  /* flex-wrap: wrap; */
  align-items: center;
  margin-bottom: 40px;
}

.step_flex span {
  border: 1px solid #28292e;
  text-align: center;
  font-size: 36px;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 100;
  line-height: 1;
  height: 100%;
  padding: 10px 20px;
  margin-right: 20px;
}

.step_flex .step_tt {
  font-size: 40px;
  line-height: 1;
}

@media only screen and (max-width: 639px) {
  .step_flex {
    margin-bottom: 20px;
  }

  .step_flex span {
    font-size: 25px;
  }

  .step_flex .step_tt {
    font-size: 25px;
  }
}
.step_box_flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 20px;
}

.step_box_flex figure {
  width: 47%;
}

.step_box_flex .ct_txt {
  width: 50%;
}

@media only screen and (max-width: 639px) {
  .step_box_flex {
    margin-bottom: 20px;
  }

  .step_box_flex figure {
    width: 100%;
  }

  .step_box_flex figure img {
    width: 100%;
  }

  .step_box_flex .ct_txt {
    width: 100%;
    margin-bottom: 20px;
  }
}
.contact_lens_step .step_box_flex {
  padding: 20px 20px 40px;
  background: #f5f6fb;
  margin-bottom: 60px;
  position: relative;
  align-items: flex-start;
}

.contact_lens_step .step_box_flex:after {
  content: '';
  position: absolute;
  bottom: -42px;
  left: 0;
  right: 0;
  margin: auto;
  width: 0;
  height: 0;
  border-left: 40px solid transparent;
  border-right: 40px solid transparent;
  border-top: 20px solid #b9bbc3;
}

.contact_lens_step .step_box_flex .step_tt {
  font-size: 30px;
}

.contact_lens_step .step_box_flex .ct_txt {
  width: 60%;
  padding-left: 20px;
}

.contact_lens_step .step_box_flex .ct_txt .whitebox {
  background: #fff;
  display: inline-block;
  padding: 7px 30px;
  font-size: 18px;
  margin: 20px 0;
}

.contact_lens_step .step_box_flex figure {
  width: 36.5%;
}

.contact_lens_step .step_box_flex .flex_wbox {
  width: 49%;
  background: #fff;
  padding: 20px 10px;
}

.contact_lens_step .step_box_flex .flex_wbox .tt {
  font-size: 18px;
  margin-bottom: 10px;
}

.contact_lens_step .step_box_flex .flex_wbox p {
  margin-bottom: 20px;
}

.contact_lens_step .step_box_flex .flex_wbox .btn1 a {
  text-transform: capitalize;
}

.contact_lens_step .step_box_flex .cal {
  width: 100%;
  margin-bottom: 20px;
}

.contact_lens_step .step_box_flex .cal th, .contact_lens_step .step_box_flex .cal td {
  padding: 10px;
  text-align: center;
  vertical-align: middle;
  border: 1px solid #d8d8d8;
}

.contact_lens_step .step_box_flex .cal th {
  background: #b9bbc3;
}

.contact_lens_step .step_box_flex .cal td {
  background: #fff;
}

.contact_lens_step .step_box_flex .cal .arr {
  color: #b9bbc3;
}

@media only screen and (max-width: 639px) {
  .contact_lens_step .step_box_flex {
    padding: 20px 4%;
  }

  .contact_lens_step .step_box_flex .ct_txt {
    width: 100%;
    padding-left: 0;
  }

  .contact_lens_step .step_box_flex figure {
    width: 100%;
  }

  .contact_lens_step .step_box_flex .step_tt {
    font-size: 22px;
  }

  .contact_lens_step .step_box_flex .flex {
    flex-wrap: wrap;
  }

  .contact_lens_step .step_box_flex .flex_wbox {
    width: 100%;
    margin-bottom: 20px;
  }

  .contact_lens_step .step_box_flex .wcal {
    width: 100%;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
  }

  .contact_lens_step .step_box_flex .wcal .cal {
    width: 600px;
  }

  .contact_lens_step .step_box_flex .wcal .cal th, .contact_lens_step .step_box_flex .wcal .cal td {
    padding: 5px 2%;
  }
}
.ctls_box {
  border: 10px solid #fff;
  outline: 1px solid #000;
  background: #f5f6fb;
  padding: 50px 40px;
}

.ctls_box .tt {
  text-align: center;
  font-size: 30px;
  margin-bottom: 20px;
}

@media only screen and (max-width: 639px) {
  .ctls_box {
    padding: 30px 4%;
  }

  .ctls_box .tt {
    font-size: 25px;
  }
}
.pinkbox {
  background-color: #ae576b;
  background-image: -webkit-linear-gradient(to right, #ae576b, #da939b);
  background-image: -o-linear-gradient(to right, #ae576b, #da939b);
  background-image: linear-gradient(to right, #ae576b, #da939b);
  padding: 10px;
}

.pinkbox .inner {
  border: 1px solid #fff;
  text-align: center;
  color: #fff;
  padding: 35px;
}

.pinkbox .inner .tt {
  font-size: 25px;
}

.faq_list .item {
  border: 1px solid #000;
  margin-bottom: 30px;
}

@media only screen and (max-width: 639px) {
  .faq_list .item {
    margin-bottom: 10px;
  }
}
.faq_list .question {
  background: #b9bbc3;
  padding: 10px 20px;
  padding-right: 50px;
  font-size: 18px;
  display: flex;
  position: relative;
  cursor: pointer;
}

.faq_list .question:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 20px;
  background: #28292e;
  width: 20px;
  height: 3px;
}

.faq_list .question:after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 28px;
  background: #28292e;
  width: 3px;
  height: 20px;
  transition: all 0.5s;
  -webkit-transition: all 0.5s;
}

.faq_list .question.opened:after {
  transform: rotate(0deg);
  -webkit-transform: rotate(90deg);
}

.faq_list .question span {
  font-size: 26px;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 100;
  width: 40px;
}

.faq_list .question p {
  width: calc(100% - 40px);
  padding-left: 10px;
}

.faq_list .ans {
  display: none;
  padding: 30px 20px;
}

.faq_list .ans .tt {
  font-size: 26px;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 100;
  float: left;
  width: 40px;
}

.faq_list .ans .txt {
  float: right;
  width: calc(100% - 40px);
  padding-left: 10px;
}

.step02_bdr {
  border: 1px solid #28292e;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 35px;
}

.step02_bdr figure {
  width: 456px;
}

.step02_bdr .ct_txt {
  width: calc(100% - 456px);
  padding: 30px 30px 30px 40px;
}

.step02_bdr .ct_txt .cm_tt8 {
  margin-bottom: 20px;
}

@media only screen and (max-width: 639px) {
  .step02_bdr {
    display: block;
    padding: 20px 3%;
    overflow: hidden;
  }

  .step02_bdr figure {
    width: 100%;
padding-bottom: 20px;
  }

  .step02_bdr .ct_txt {
    width: auto;
    padding: 0;
  }

  .step02_bdr .cm_tt8 {
    margin-bottom: 20px;
    display: inline-block;
    margin-top: 0;
  }
}
.anclinks {
  background: #f8f8f8;
  padding: 60px 0;
  margin-bottom: 75px;
}

@media only screen and (max-width: 639px) {
  .anclinks {
    padding: 30px 0;
    margin-bottom: 40px;
  }
}
.anclinks ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.anclinks li {
  width: 30%;
  background: #21222c;
  font-size: 18px;
  font-weight: bold;
  margin: 0 15px;
}

@media only screen and (max-width: 639px) {
  .anclinks li {
    width: 100%;
    margin-bottom: 10px;
  }
}
.anclinks li a {
  text-decoration: none;
  text-align: center;
  color: #fff;
  text-align: center;
  display: block;
  padding: 22px 10px;
  position: relative;
}

.anclinks li a:after {
  content: '';
  position: absolute;
  bottom: 15px;
  left: 0;
  right: 0;
  width: 0;
  height: 0;
  margin: auto;
  border: solid #fff;
  border-width: 0 1px 1px 0;
  display: inline-block;
  padding: 4px;
  transition: all 0.5s;
  -webkit-transition: all 0.5s;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}

.anclinks li a:hover {
  opacity: 0.6;
}

.anclinks li a:hover:after {
  bottom: 10px;
}

.color_w {
  color: #fff;
}

.hearing_aid_box {
  background: #fff;
  border: 1px solid #000;
  padding: 25px 30px;
  margin-bottom: 40px;
}

@media only screen and (max-width: 639px) {
  .hearing_aid_box {
    padding: 25px 4%;
  }

  .hearing_aid_box .flex figure.widex {
    text-align: center;
    padding: 0 20%;
    margin: 20px 0 40px;
  }

  .hearing_aid_box .flex figure.widex img {
    width: auto;
  }
}
.hearing_aid_box .cm_tt6 {
  background: none;
  padding: 0;
  margin-bottom: 20px;
}

.hearing_aid_box .flex {
  justify-content: space-between;
}

.hearing_aid_box .flex figure {
  width: 30%;
}

.hearing_aid_box .flex .ct_txt {
  width: 66%;
}

@media only screen and (max-width: 639px) {
  .hearing_aid_box .flex {
    flex-wrap: wrap;
  }

  .hearing_aid_box .flex figure {
    width: 100%;
    margin-bottom: 20px;
  }

  .hearing_aid_box .flex figure img {
    width: 100%;
  }

  .hearing_aid_box .flex .ct_txt {
    width: 100%;
  }
}
.hearing_aid_box dl {
  margin-top: 20px;
}

.hearing_aid_box dt {
  background: #b9bbc3;
  font-size: 18px;
  padding: 10px 25px;
  font-weight: bold;
}

.hearing_aid_box dd {
  background: #f5f6fb;
  padding: 25px;
}

.kids_list .box {
  margin-bottom: 55px;
  background: #fff;
  padding: 5px;
}

@media only screen and (max-width: 639px) {
  .kids_list .box {
    margin-bottom: 30px;
  }
}
.kids_list .tt {
  display: flex;
  flex-wrap: wrap;
  background: #d78f98;
  font-size: 27px;
}

.kids_list .tt span {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 125px;
  position: relative;
  background: #ad566b;
  padding: 10px;
  color: #fff;
  font-weight: bold;
}

.kids_list .tt span:after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: -10px;
  margin: auto;
  width: 0;
  height: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 10px solid #ad566b;
}

.kids_list .tt strong {
  width: calc(100% - 125px);
  padding-left: 30px;
  color: #fff;
  display: flex;
  align-items: center;
}

@media only screen and (max-width: 639px) {
  .kids_list .tt {
    font-size: 19px;
  }

  .kids_list .tt strong {
    padding: 10px;
  }
}
.kids_list .ct_txt {
  padding: 5px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.kids_list .ct_txt .left {
  width: 72%;
  display: flex;
  align-items: center;
  padding-left: 25px;
}

.kids_list .ct_txt .left p {
  font-size: 22px;
}

.kids_list .ct_txt .left p span {
  font-size: 40px;
}

@media only screen and (max-width: 639px) {
  .kids_list .ct_txt .left {
    width: 100%;
    padding-left: 0;
    margin: 20px;
  }

  .kids_list .ct_txt .left p {
    font-size: 17px;
  }

  .kids_list .ct_txt .left p span {
    font-size: 30px;
  }
}
.kids_list .ct_txt figure {
  width: 26%;
}

@media only screen and (max-width: 639px) {
  .kids_list .ct_txt figure {
    width: 100%;
  }

  .kids_list .ct_txt figure img {
    width: 100%;
  }
}
.kids_list .box01 {
  position: relative;
}

.kids_list .box01:after {
  content: '';
  position: absolute;
  top: 20px;
  right: 40px;
  background: url(../kids/images/ico2.png) top left no-repeat;
  width: 118px;
  height: 168px;
  background-size: 100%;
}

@media only screen and (max-width: 639px) {
  .kids_list .box01:after {
    content: none;
  }
}
.kids_list .box01 .ct_txt1 {
  padding: 30px;
}

@media only screen and (max-width: 639px) {
  .kids_list .box01 .ct_txt1 {
    padding: 30px 4%;
  }
}
.kids_list .box01 .tt2 {
  /* display: flex;
  align-items: center; */
  font-size: 20px;
  margin-bottom: 10px;
}

.kids_list .box01 .tt2 .f1 {
  font-size: 28px;
}

.kids_list .box01 .tt2 .f2 {
  font-size: 38px;
}

.kids_list .box01 .tt2 sup {
  font-size: 50%;
}

.kids_list .box01 .tt2 .pink_span {
  background-color: #ae576b;
  background-image: -webkit-linear-gradient(to right, #ae576b, #da939b);
  background-image: -o-linear-gradient(to right, #ae576b, #da939b);
  background-image: linear-gradient(to right, #ae576b, #da939b);
  border-radius: 100%;
  text-align: center;
  font-size: 14px;
  color: #fff;
  padding: 20px;
  display: inline-block;
  margin: 0 10px;
}

@media only screen and (max-width: 639px) {
  .kids_list .box01 .tt2 {
    flex-wrap: wrap;
    font-size: 4vw;
  }

  .kids_list .box01 .tt2 .f1 {
    font-size: 4vw;
  }

  .kids_list .box01 .tt2 .f2 {
    font-size: 5vw;
  }

  .kids_list .box01 .tt2 .pink_span {
    font-size: 2vw;
  }
}
@media only screen and (max-width: 325px) {
  .kids_page .sec01 .box02 .tt2 .pink_span {
    padding: 15px 10px;
  }
}
.kids_list .box01 .tt3 {
  font-size: 40px;
  line-height: 1;
  margin-top: -10px;
  padding-right: 23%;
  font-weight: bold;
}

@media only screen and (max-width: 639px) {
  .kids_list .box01 .tt3 {
    font-size: 6vw;
    padding-right: 0;
    text-align: left !important;
    margin-top: 0;
    margin-bottom: 10px;
  }

  .kids_list .box01 .tt3 .show_sp {
    font-size: 4vw;
  }
}
.kids_list .box01 .box_sub {
  border: 1px solid #000;
}

.kids_list .box01 .box_sub .cm_tt6 {
  font-size: 20px;
  margin-bottom: 0;
}

.kids_list .box01 .box_sub .box_sub_txt {
  background: #f5f6fb;
  border: 10px solid #fff;
  padding: 20px;
}

.kids_list .box01 .box_sub ul {
  display: flex;
  flex-wrap: wrap;
}

.kids_list .box01 .box_sub ul li {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 33.333%;
  padding: 0 3%;
  border-right: 1px solid #ccc;
}

.kids_list .box01 .box_sub ul li:last-child {
  border: none;
}

.kids_list .box01 .box_sub ul li .number {
  border: 1px solid #28292e;
  text-align: center;
  font-size: 40px;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 100;
  line-height: 1;
  width: 65px;
  height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.kids_list .box01 .box_sub ul li p {
  width: calc(100% - 65px);
  padding-left: 30px;
}

@media only screen and (max-width: 639px) {
  .kids_list .box01 .box_sub ul li {
    width: 100%;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-right: none;
    border-bottom: 1px solid #ccc;
  }

  .kids_list .box01 .box_sub ul li:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
  }
}
.kids_list .box01 .box_sub2 {
  border: 1px dashed #444444;
  padding: 0 40px 40px;
  margin: 120px 0 0;
}

@media only screen and (max-width: 639px) {
  .kids_list .box01 .box_sub2 {
    padding: 0 4% 30px;
  }
}
.kids_list .box01 .box_sub2 .box_sub2_tt {
  text-align: center;
  font-size: 25px;
  margin-top: -30px;
}

.kids_list .box01 .box_sub2 .box_sub2_tt span {
  background: url(../kids/images/ico3.png) center left no-repeat #fff;
  padding: 10px;
  padding-left: 50px;
  display: inline-block;
  position: relative;
}

.kids_list .box01 .box_sub2 .box_sub2_tt span i {
  position: absolute;
  top: -70px;
  right: -150px;
  color: #fff;
  background: url(../kids/images/pink_bg2.png) center left no-repeat;
  width: 260px;
  height: 98px;
  font-style: normal;
  font-size: 14px;
  padding: 9px;
}

@media only screen and (max-width: 639px) {
  .kids_list .box01 .box_sub2 .box_sub2_tt span i {
    right: -40px;
    top: -80px;
  }
}
.list_check li {
  text-decoration: underline #ae576b;
  position: relative;
  text-indent: -15px;
  margin-left: 15px;
}

.list_check li:before {
  content: '✓';
}

.txt_underline_red {
  border-bottom: 1px solid #c70019;
  line-height: 1;
}

/*===========■NEWS PAGE===========*/
.news_page .breadcrumb {
  margin-bottom: 0;
}

/*===========■FLOW PAGE===========*/
.flow_page .sec01 .wrap_content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.flow_page .sec01 .left {
  width: 45.4%;
  /* margin-left: 0; */
  /* img{
      float: right;
  } */
}

.flow_page .sec01 .right {
  width: 57%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

.flow_page .sec01 .right .inner {
  width: 735px;
  border: 1px solid #6b6d79;
  padding: 80px 60px;
  background: #fff;
}

.flow_page .sec02 {
  background: #f8f8f8;
  padding: 70px 0;
}

.flow_page .step01 {
  padding: 80px 0;
}

.flow_page .step02 {
  padding: 70px 0;
}

.flow_page .step03 {
  padding: 80px 0 50px;
}

.flow_page .step03 .point li {
  width: 100%;
}

.flow_page .step03 .point li .point_txt {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  padding: 0;
}

.flow_page .step03 .point li .point_txt figure {
  width: 238px;
}

.flow_page .step03 .point li .point_txt p {
  width: calc(100% - 238px);
  padding-left: 30px;
}

.flow_page .step04 {
  padding: 80px 0;
  background: #21222c;
}

.flow_page .step04 .step_box_flex {
  color: #fff;
  align-items: flex-start;
}

.flow_page .step04 .step_box_flex .step_flex span {
  border-color: #fff;
}

.flow_page .step04 .btn1 {
  justify-content: flex-start;
  margin-top: 40px;
}

.flow_page .step05 {
  padding: 80px 0;
}

.flow_page .step06 {
  padding: 80px 0;
  background: #f7f7f7;
}

.flow_page .step06 .ct_txt {
  position: relative;
}

.flow_page .step06 .tt_right {
  display: flex;
  justify-content: flex-end;
}

.flow_page .step06 .tt_right .cm_tt8 {
  width: 50%;
}

.flow_page .step07 {
  padding: 80px 0;
}

.flow_page .step07 .step_box figure {
  width: 48%;
  float: right;
  padding-left: 40px;
}
.flow_page .step07 .btn1{
    justify-content: flex-start;
}
.flow_page .cm_tt8 {
  margin-top: -25px;
}

.flow_page .step_list02 {
  display: flex;
  flex-wrap: wrap;
  margin-top: 100px;
}

.flow_page .step_list02 .step_item {
  width: 380px;
  margin-right: 30px;
  position: relative;
  border: 1px solid #28292e;
}

.flow_page .step_list02 .step_item:nth-child(3n+3) {
  margin-right: 0;
}

.flow_page .step_list02 .step_item span {
  position: absolute;
  top: -95px;
  left: 0;
  right: 0;
  margin: auto;
  background: url(../flow/images/bg_step.png) center center no-repeat;
  width: 84px;
  height: 88px;
  color: #fff;
  text-align: center;
  font-size: 18ppx;
  display: flex;
  justify-content: center;
  align-items: center;
}

.flow_page .step_list02 .step_item h4 {
  background: #b9bbc3;
  text-align: center;
  font-size: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 0;
}

.flow_page .step_list02 .step_item .ct_txt {
  background: #fff;
  margin: 10px;
  padding: 20px;
}

.flow_page .step_list02 .step_item .ct_txt .btn1 {
  margin-top: 20px;
}

@media only screen and (max-width: 639px) {
  .flow_page .cm_tt8 {
    margin-top: 20px;
  }

  .flow_page .sec01 .wrap_content {
    flex-wrap: wrap;
  }

  .flow_page .sec01 .left {
    width: 100%;
  }

  .flow_page .sec01 .right {
    width: 100%;
  }

  .flow_page .sec01 .right .inner {
    width: 100%;
    padding: 40px 3%;
  }

  .flow_page .sec02 {
    padding: 40px 0 10px;
  }

  .flow_page .step01 {
    padding: 40px 0 20px;
  }

  .flow_page .step02 {
    padding: 40px 0;
  }

  .flow_page .step02 .step_box_flex {
    flex-direction: column-reverse;
  }

  .flow_page .step03 {
    padding: 20px 0;
  }

  .flow_page .step03 .point li {
    width: 100%;
  }

  .flow_page .step03 .point li .point_txt {
    display: block;
  }

  .flow_page .step03 .point li .point_txt figure {
    width: 50%;
    float: left;
    padding-right: 4%;
  }

  .flow_page .step03 .point li .point_txt p {
    width: auto;
    padding-left: 0;
  }

  .flow_page .step04 {
    padding: 40px 0 20px;
  }

  .flow_page .step04 .step_box_flex {
    flex-direction: column-reverse;
  }

  .flow_page .step04 .btn1 {
    justify-content: center;
    margin-top: 30px;
  }

  .flow_page .step05 {
    padding: 40px 0 20px;
  }

  .flow_page .step06 {
    padding: 40px 0;
  }

  .flow_page .step06 .step_box_flex {
    flex-direction: column-reverse;
  }

  .flow_page .step06 .tt_right {
    justify-content: flex-start;
  }

  .flow_page .step06 .tt_right .cm_tt8 {
    width: 100%;
  }

  .flow_page .step07 {
    padding: 40px 0;
  }

  .flow_page .step07 .step_box figure {
    width: 100%;
    float: none;
    padding-left: 0;
    margin-top: 20px;
  }

  .flow_page .step07 .step_box figure img {
    width: 100%;
  }

  .flow_page .step_list02 {
    margin-top: 0;
  }

  .flow_page .step_list02 .step_item {
    width: 100%;
    margin-right: 0;
    margin-top: 120px;
  }
}
/*===========■SHOP PAGE===========*/
.shop_page .title_page {
  background: url(../shop/images/bg_tt.jpg) top center no-repeat;
  background-size: cover;
}

.shop_page .wrap_content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media only screen and (max-width: 639px) {
  .shop_page .wrap_content {
    flex-wrap: wrap;
  }
}
.shop_page .sec01 {
  background: #28292e;
  padding: 85px 0;
}

.shop_page .sec01 .left {
  width: 41.1%;
}

.shop_page .sec01 .right {
  width: 60%;
}

.shop_page .sec01 .right .inner {
  width: 915px;
  padding: 55px 100px;
  border: 1px solid #6b6d79;
  color: #fff;
  background: #28292e;
}

.shop_page .sec01 .right table {
  width: 100%;
}

.shop_page .sec01 .right table th {
  min-width: 100px;
}

.shop_page .sec01 .right table th, .shop_page .sec01 .right table td {
  padding: 15px 20px;
  border-top: 1px solid #fff;
}

@media only screen and (max-width: 639px) {
  .shop_page .sec01 {
    padding: 50px 0;
  }

  .shop_page .sec01 .left {
    width: 100%;
  }

  .shop_page .sec01 .right {
    width: 100%;
  }

  .shop_page .sec01 .right .inner {
    padding: 40px 3%;
    margin: 0 3%;
  }

  .shop_page .sec01 .right table th, .shop_page .sec01 .right table td {
    padding: 15px;
  }

  .shop_page .sec01 .right table th {
    min-width: 100px;
  }
}
.shop_page .sec03 {
  background: #f8f8f8;
  padding: 80px 0 50px;
  margin-bottom: 80px;
}

.shop_page .sec03 .wrap_content {
  justify-content: space-between;
}

.shop_page .sec03 .map_box {
  margin-top: 70px;
}

.shop_page .sec03 .map_box .left {
  width: 57%;
  background: #fff;
  padding: 0 40px 70px;
}

.shop_page .sec03 .map_box .left .tt {
  text-align: center;
  margin-bottom: 30px;
}

.shop_page .sec03 .map_box .left .tt span {
  background: #28292e;
  text-align: center;
  font-size: 30px;
  color: #fff;
  padding: 10px 80px;
  display: inline-block;
  border-radius: 50px;
  position: relative;
  margin-top: -30px;
}

.shop_page .sec03 .map_box .left .tt span:after {
  content: '';
  position: absolute;
  bottom: -13px;
  left: 0;
  right: 0;
  margin: auto;
  width: 0;
  height: 0;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-top: 15px solid #28292e;
}

.shop_page .sec03 .map_box .left .sub_tt {
  font-size: 25px;
  position: relative;
  z-index: 2;
  margin-top: 35px;
  padding-right: 40px;
  margin-bottom: 15px;
}

.shop_page .sec03 .map_box .left .sub_tt:after {
  display: block;
  width: 100%;
  height: 1px;
  background: #aeaeae;
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  top: 0;
  margin: auto;
  z-index: -1;
}

.shop_page .sec03 .map_box .left .sub_tt span {
  padding-right: 35px;
  display: inline-block;
}

.shop_page .sec03 .map_box .left .sub_tt .ico1 {
  background: url(../shop/images/ico1.png) top 7px left no-repeat #fff;
  padding-left: 60px;
}

.shop_page .sec03 .map_box .left .sub_tt .ico2 {
  background: url(../shop/images/ico2.png) top left 10px no-repeat #fff;
  padding-left: 60px;
}

.shop_page .sec03 .map_box .right {
  width: 39%;
  background: #fff;
  border: 1px solid #000;
  padding: 15px;
  text-align: center;
}

@media only screen and (max-width: 639px) {
  .shop_page .sec03 {
    padding: 50px 0;
    margin-bottom: 30px;
  }

  .shop_page .sec03 .map_box .left {
    width: 100%;
    padding: 0 3% 30px;
    margin-bottom: 30px;
  }

  .shop_page .sec03 .map_box .left .tt span {
    font-size: 23px;
    padding: 10px 30px;
    width: 100%;
  }

  .shop_page .sec03 .map_box .left .sub_tt {
    font-size: 20px;
  }
}
@media only screen and (max-width: 639px) and (max-width: 360px) {
  .shop_page .sec03 .map_box .left .sub_tt {
    font-size: 18px;
    padding-right: 10px;
  }
}
@media only screen and (max-width: 639px) {
  .shop_page .sec03 .map_box .left .sub_tt span {
    padding-right: 10px;
  }

  .shop_page .sec03 .map_box .left .sub_tt .ico2 {
    background-position: top left 0;
    padding-left: 50px;
  }

  .shop_page .sec03 .map_box .right {
    width: 100%;
  }
}
/*===========■CONTACT LENS PAGE===========*/
.contactlens_page .title_page {
  background: url(../contact_lens/images/bg_tt.jpg) top center no-repeat;
  background-size: cover;
}

.contactlens_page .flex_photo .right .inner {
  background: #fff;
}

.contactlens_page .sec02 {
  margin-top: 70px;
}

.contactlens_page .sec02 .btn1 a {
  min-width: 300px;
}

@media only screen and (max-width: 639px) {
  .contactlens_page .sec02 {
    margin-top: 40px;
    padding: 40px 0;
  }
}
.contactlens_page .sec03 {
  padding: 70px 0;
}

@media only screen and (max-width: 639px) {
  .contactlens_page .sec03 {
    padding: 40px 0;
  }
}
.contactlens_page .sec04 .step_box_flex {
  padding: 60px 0 0;
  margin: 0;
  background: none;
  flex-direction: row-reverse;
  align-items: flex-start;
}

.contactlens_page .sec04 .step_box_flex:nth-child(2n+2) {
  flex-direction: row;
}

.contactlens_page .sec04 .step_box_flex:after {
  content: none;
}

.contactlens_page .sec04 .step_box_flex span {
  border-color: #6b6d79;
}

.contactlens_page .sec04 .step_box_flex figure {
  width: 40%;
}

.contactlens_page .sec04 .step_box_flex .ct_txt {
  width: 57%;
  padding-left: 0;
  color: #fff;
}

@media only screen and (max-width: 639px) {
  .contactlens_page .sec04 .step_box_flex figure {
    width: 100%;
  }

  .contactlens_page .sec04 .step_box_flex .ct_txt {
    width: 100%;
  }
}
.contactlens_page .sec04 .pinkbox .inner {
  background: url(../contact_lens/images/ico.png) center right 55px no-repeat;
}

@media only screen and (max-width: 639px) {
  .contactlens_page .sec04 .pinkbox .inner {
    padding: 20px 4%;
    background-size: 70px;
    background-position: bottom right 10px;
    padding-bottom: 100px;
  }
}
.contactlens_page .sec05 {
  padding: 60px 0;
}

@media only screen and (max-width: 639px) {
  .contactlens_page .sec05 {
    padding: 40px 0;
  }
}
/*===========■GLASSES LENS PAGE===========*/
.glasses_page .flex_photo {
  margin-bottom: 0;
}

.glasses_page .flex_photo .left {
  width: 50.7%;
  margin-left: -50px;
}

.glasses_page .flex_photo .right {
  width: 49.3%;
  margin-left: -2px;
}

.glasses_page .flex_photo .right .inner {
  width: 630px;
  background: #fff;
}

@media only screen and (max-width: 639px) {
  .glasses_page .flex_photo .left {
    width: 100%;
    margin-left: 0;
  }

  .glasses_page .flex_photo .right {
    width: 100%;
  }
}
.glasses_page .step_box {
  align-items: flex-start;
}

.glasses_page .point .point_tt {
  font-size: 25px;
  padding: 5px 10px;
}

@media only screen and (max-width: 639px) {
  .glasses_page .point .point_tt {
    font-size: 20px;
  }
}
.glasses_page .step02_bdr {
  margin-bottom: 60px;
}

.glasses_page .step02_bdr figure img{
  width: 100%;
}

.glasses_page .step02_bdr .btn


@media only screen and (max-width: 639px) {
  .glasses_page .step02_bdr {
    margin-bottom: 30px;
  }
}
.glasses_page .glasses_bg {
  padding: 60px 40px;
  margin-bottom: 40px;
}

@media only screen and (max-width: 639px) {
  .glasses_page .glasses_bg {
    padding: 40px 4%;
  }
}
.glasses_page .glasses_bg .tt {
  text-align: center;
  font-size: 18px;
  margin-bottom: 40px;
}

.glasses_page .glasses_bg .tt span {
  font-size: 32px;
  display: block;
}

@media only screen and (max-width: 639px) {
  .glasses_page .glasses_bg .tt span {
    font-size: 25px;
  }
}
.glasses_page .brand {
  margin-bottom: 60px;
}

.glasses_page .brand.glasses_box .ul_box02 {
  margin-bottom: 60px;
}

.glasses_page .brand.glasses_box .ul_box02 li {
  flex-direction: column;
  text-align: center;
}

.glasses_page .brand.glasses_box .ul_box02 li span {
  line-height: 1;
  font-weight: bold;
  font-family: "Josefin Sans", sans-serif;
  font-size: 18px;
}

.glasses_page .box01 {
  padding: 40px;
}

@media only screen and (max-width: 639px) {
  .glasses_page .box01 {
    padding: 30px 4%;
  }
}
.glasses_page .box01 .tt {
  font-size: 27px;
  line-height: 1.5;
  margin-bottom: 20px;
}

.glasses_page .box01 .tt span {
  font-size: 40px;
  display: block;
}

@media only screen and (max-width: 639px) {
  .glasses_page .box01 .tt {
    font-size: 22px;
  }

  .glasses_page .box01 .tt span {
    font-size: 30px;
  }
}
.glasses_page .box01_flex {
  display: flex;
  flex-wrap: wrap;
}

.glasses_page .box01_flex li {
  background: #fff;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 5px;
  width: 32%;
  margin-right: 2%;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
}

@media only screen and (max-width: 639px) {
  .glasses_page .box01_flex li {
    width: 100%;
    margin-bottom: 20px;
  }
}
.glasses_page .box01_flex li:nth-child(3n+3) {
  margin-right: 0;
}

.glasses_page .box01_flex li .ct_txt {
  width: 53%;
  padding-left: 15px;
}

@media only screen and (max-width: 639px) {
  .glasses_page .box01_flex li .ct_txt {
    width: 57%;
  }
}
.glasses_page .box01_flex li figure {
  width: 43%;
}

@media only screen and (max-width: 639px) {
  .glasses_page .box01_flex li figure {
    text-align: right;
  }
}
.glasses_page .btn_mg {
  margin: 60px 0;
}

@media only screen and (max-width: 639px) {
  .glasses_page .btn_mg {
    margin: 40px 0;
  }
}
.glasses_page .btn_mg a {
  min-width: 300px;
}

@media only screen and (max-width: 639px) {
  .glasses_page .btn_mg a {
    min-width: 270px;
  }
}
.glasses_page .btn_mg2 {
  margin: 40px 0 80px;
}

@media only screen and (max-width: 639px) {
  .glasses_page .btn_mg2 {
    margin: 30px 0 50px;
  }
}
.glasses_page .btn_mg2 a {
  min-width: 350px;
}

@media only screen and (max-width: 639px) {
  .glasses_page .btn_mg2 a {
    min-width: 270px;
  }
}
.glasses_page .sec03 {
  background: #21222c;
  padding: 60px 0;
}

@media only screen and (max-width: 639px) {
  .glasses_page .sec03 {
    padding: 40px 0;
  }
}
.glasses_page .sec03 .btn1 a {
  min-width: 300px;
}

@media only screen and (max-width: 639px) {
  .glasses_page .sec03 .btn1 a {
    min-width: 270px;
  }
}
@media only screen and (max-width: 639px) {
  .glasses_page .sec03 .point {
    margin-bottom: 30px;
  }
}
.glasses_page .sec03 .point li {
  width: 100%;
}

.glasses_page .sec03 .point li .point_txt {
  background: #ffffff;
  margin: 0;
}

.glasses_page .sec03 .point li .point_txt .btn1 {
  justify-content: flex-end;
}

@media only screen and (max-width: 639px) {
  .glasses_page .sec03 .point li .point_txt .btn1 {
    justify-content: center;
    margin-top: 30px;
  }
}
.glasses_page .sec03 .point li figure {
  float: right;
  padding-left: 30px;
}

@media only screen and (max-width: 639px) {
  .glasses_page .sec03 .point li figure {
    padding-left: 0;
    text-align: center;
    margin-bottom: 20px;
  }

  .glasses_page .sec03 .point li figure.photo_w {
    width: 50%;
  }
}
.glasses_page .sec03 .point li .price {
  font-size: 20px;
  display: block;
  /* text-align: center;
  margin-top: 20px; */
}

.glasses_page .sec03 .point li .price span {
  font-size: 40px;
}

@media only screen and (max-width: 639px) {
  .glasses_page .sec03 .point li .price {
    font-size: 3vw;
  }

  .glasses_page .sec03 .point li .price span {
    font-size: 5vw;
  }
}
.glasses_page .common_flow {
  padding-top: 80px;
}

@media only screen and (max-width: 639px) {
  .glasses_page .common_flow {
    padding-top: 30px;
  }
}
/*===========■HEARING aid PAGE===========*/
.hearing_aid_page .title_page {
  background: url(../hearing_aid/images/bg_tt.jpg) top center no-repeat;
  background-size: cover;
}

.hearing_aid_page .contact_box {
  background: #f5f6fb;
  padding: 25px 70px;
  margin-top: 25px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.hearing_aid_page .contact_box .tt {
  width: 45%;
  font-size: 25px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.8;
}

.hearing_aid_page .contact_box .ct_txt {
  width: 55%;
  border-left: 1px solid #ccc;
  text-align: center;
  padding: 0 60px;
}

.hearing_aid_page .contact_box .white {
  background: #fff;
  font-size: 17px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 30px;
  height: 100%;
}

.hearing_aid_page .contact_box .flex {
  align-items: center;
}

.hearing_aid_page .contact_box .phone a {
  font-size: 37px;
  background: url(../hearing_aid/images/icon_tel.png) center left no-repeat;
  padding-left: 30px;
}

@media only screen and (max-width: 639px) {
  .hearing_aid_page .contact_box .phone a {
    font-size: 30px;
    background-size: 17px;
  }
}
@media only screen and (max-width: 639px) {
  .hearing_aid_page .contact_box {
    padding: 25px 4%;
  }

  .hearing_aid_page .contact_box .flex {
    justify-content: center;
  }

  .hearing_aid_page .contact_box .tt {
    width: 100%;
  }

  .hearing_aid_page .contact_box .ct_txt {
    width: 100%;
    border-left: none;
    border-top: 1px solid #ccc;
    margin-top: 20px;
    padding: 20px;
  }
}
.hearing_aid_page .sec02 .btn1 a {
  min-width: 300px;
}

@media only screen and (max-width: 639px) {
  .hearing_aid_page .sec02 {
    padding: 40px 0;
  }

  .hearing_aid_page .sec02 .btn1 a {
    min-width: 270px;
  }
}
.hearing_aid_page .sec03 {
  padding: 80px 0;
}

@media only screen and (max-width: 639px) {
  .hearing_aid_page .sec03 {
    padding: 40px 0;
  }
}
.hearing_aid_page .sec03 .step_box {
  margin-bottom: 60px;
  padding: 5px;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
  position: relative;
}

.hearing_aid_page .sec03 .step_box:after {
  content: '';
  position: absolute;
  bottom: -42px;
  left: 0;
  right: 0;
  margin: auto;
  width: 0;
  height: 0;
  border-left: 40px solid transparent;
  border-right: 40px solid transparent;
  border-top: 20px solid #b9bbc3;
}

.hearing_aid_page .sec03 .step_box.arr_none:after {
  content: none;
}

.hearing_aid_page .sec03 .step_box .step_flex {
  margin-bottom: 20px;
}

.hearing_aid_page .sec03 .step_box .step_flex span {
  width: 60px;
  padding: 10px 0;
}

.hearing_aid_page .sec03 .step_box .step_flex .step_tt {
  font-size: 30px;
  width: calc(100% - 60px);
}

@media only screen and (max-width: 639px) {
  .hearing_aid_page .sec03 .step_box .step_flex .step_tt {
    font-size: 25px;
  }
}
.hearing_aid_page .sec03 .step_box .ct_txt {
  width: 70%;
  padding-top: 30px;
  padding-left: 30px;
}

@media only screen and (max-width: 639px) {
  .hearing_aid_page .sec03 .step_box .ct_txt {
    width: 100%;
    padding-left: 0;
  }

  .hearing_aid_page .sec03 .step_box .ct_txt div.text-right {
    text-align: center;
  }
}
.hearing_aid_page .sec03 .step_box figure {
  width: 28.5%;
}

@media only screen and (max-width: 639px) {
  .hearing_aid_page .sec03 .step_box figure {
    width: 100%;
  }
}
.hearing_aid_page .sec03 .pinkbox {
  position: relative;
}

.hearing_aid_page .sec03 .pinkbox:after {
  content: '';
  position: absolute;
  bottom: 0;
  right: 35px;
  background: url(../hearing_aid/images/ico.png) top center no-repeat;
  width: 200px;
  height: 200px;
  background-size: 100%;
}

@media only screen and (max-width: 639px) {
  .hearing_aid_page .sec03 .pinkbox .inner {
    padding: 20px 4% 80px;
  }

  .hearing_aid_page .sec03 .pinkbox:after {
    width: 100px;
    height: 100px;
    right: 0;
  }
}
.hearing_aid_page .trigger {
  justify-content: flex-end;
  padding-right: 40px;
  background: #28292e;
  color: #fff;
  display: inline-block;
  padding: 15px 35px;
  cursor: pointer;
  position: relative;
}

.hearing_aid_page .trigger:after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 10px;
  margin: auto;
  height: 0;
  width: 0;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  display: inline-block;
  padding: 3px;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transition: all 0.5s;
  -webkit-transition: all 0.5s;
}

.hearing_aid_page .trigger.opened:after {
  transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
}

.hearing_aid_page .ct_hidden {
  padding: 0 30px;
  display: none;
}

@media only screen and (max-width: 639px) {
  .hearing_aid_page .ct_hidden {
    padding: 0 4%;
  }
}
.hearing_aid_page .ct_hidden .cm_tt8 {
  margin-bottom: 10px;
}

.hearing_aid_page .ct_hidden .ct_point {
  background: #f5f6fb;
  padding: 30px;
  padding-left: 115px;
  margin-bottom: 30px;
  align-items: flex-start;
}

@media only screen and (max-width: 639px) {
  .hearing_aid_page .ct_hidden .ct_point {
    flex-wrap: wrap;
    padding: 30px 4%;
    padding-top: 100px;
  }
}
.hearing_aid_page .ct_hidden .ct_point .tt {
  font-size: 20px;
  position: relative;
}

.hearing_aid_page .ct_hidden .ct_point .tt span {
  position: absolute;
  left: -100px;
  top: -25px;
  color: #fff;
  background: url(../hearing_aid/images/bg_point.png) center center no-repeat;
  width: 84px;
  height: 88px;
  text-align: center;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media only screen and (max-width: 639px) {
  .hearing_aid_page .ct_hidden .ct_point .tt span {
    left: 0;
    top: -90px;
    background: url(../hearing_aid/images/bg_poin2t.png) center center no-repeat;
  }
}
.hearing_aid_page .ct_hidden .ct_point .flex01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 20px;
}

.hearing_aid_page .ct_hidden .ct_point .flex01 li {
  width: 32%;
  margin-right: 2%;
  background: #fff;
  border: 1px solid #000;
  padding: 20px;
}

@media only screen and (min-width: 640px) {
  .hearing_aid_page .ct_hidden .ct_point .flex01 li:nth-child(3n+3) {
    margin-right: 0;
  }
}
.hearing_aid_page .ct_hidden .ct_point .flex01 li .text-center {
  text-align: center;
  font-weight: bold;
  font-size: 16px;
  margin-bottom: 10px;
}

.hearing_aid_page .ct_hidden .ct_point .flex01 li figure {
  width: 45%;
  float: left;
  padding-right: 10px;
}

@media only screen and (max-width: 639px) {
  .hearing_aid_page .ct_hidden .ct_point .flex01 li {
    width: 100%;
    margin-bottom: 20px;
    margin-right: 0;
  }
}
.hearing_aid_page .ct_hidden .ct_point .ct_txt1 {
  width: 72%;
}

@media only screen and (max-width: 639px) {
  .hearing_aid_page .ct_hidden .ct_point .ct_txt1 {
    width: 100%;
  }
}
.hearing_aid_page .ct_hidden .ct_point .ct_txt2 {
  width: 62%;
}

@media only screen and (max-width: 639px) {
  .hearing_aid_page .ct_hidden .ct_point .ct_txt2 {
    width: 100%;
  }
}
.hearing_aid_page .ct_hidden .ct_point figure {
  width: 23.5%;
}

@media only screen and (max-width: 639px) {
  .hearing_aid_page .ct_hidden .ct_point figure {
    width: 100%;
    margin-top: 10px;
  }

  .hearing_aid_page .ct_hidden .ct_point figure img {
    width: 100%;
  }
}
.hearing_aid_page .ct_hidden .ct_point dl {
  border: 1px solid #a4a4a4;
  width: 35%;
}

@media only screen and (max-width: 639px) {
  .hearing_aid_page .ct_hidden .ct_point dl {
    width: 100%;
    margin-top: 20px;
  }
}
.hearing_aid_page .ct_hidden .ct_point dl dt {
  background: #b9bbc3;
  font-size: 16px;
  padding: 10px;
  text-align: center;
}

.hearing_aid_page .ct_hidden .ct_point dl dd {
  background: #fff;
  padding: 20px;
}

.hearing_aid_page .ct_hidden .ct_point dl dd ul {
  text-indent: -1em;
  margin-left: 20px;
}

.hearing_aid_page .ct_hidden .ct_point01 {
  padding-right: 0;
  padding-top: 0;
  padding-bottom: 0;
}

.hearing_aid_page .ct_hidden .ct_point01 .ct_txt1 {
  padding-top: 40px;
}

@media only screen and (max-width: 639px) {
  .hearing_aid_page .ct_hidden .ct_point01 {
    padding: 30px 4%;
    padding-top: 100px;
  }

  .hearing_aid_page .ct_hidden .ct_point01 .ct_txt1 {
    padding-top: 0;
  }
}
.hearing_aid_page .common_flow {
  margin-top: 80px;
}

@media only screen and (max-width: 639px) {
  .hearing_aid_page .common_flow {
    margin-top: 40px;
  }
}
/*===========■KIDS aid PAGE===========*/
.kids_page .title_page {
  background: url(../kids/images/bg_tt.jpg) top center no-repeat;
  background-size: cover;
}

.kids_page .faq {
  padding: 80px 0;
}

@media only screen and (max-width: 639px) {
  .kids_page .faq {
    padding: 40px 0;
  }
}
.kids_page .faq dl {
  border: 1px solid #28292e;
}

.kids_page .faq dt {
  background: #28292e;
  color: #fff;
  font-size: 18px;
  padding: 10px 20px;
}

.kids_page .faq dd {
  background: #f5f6fb;
  padding: 20px;
  border: 5px solid #fff;
  border-top: none;
}

.kids_page .sec01 {
  margin-bottom: 80px;
}

@media only screen and (max-width: 639px) {
  .kids_page .title_page {
    background-position: top left 25%;
  }

  .kids_page .sec01 {
    margin-bottom: 40px;
  }
}
@media only screen and (min-width: 640px) {
  .kids_page .sec01 .flex_photo .left {
    position: relative;
    z-index: 1;
  }
}
.kids_page .sec01 .flex_photo .left .tt {
  font-size: 122px;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 100;
  position: absolute;
  color: #fff;
  left: 40px;
  top: 10px;
  line-height: 1.1;
}

@media only screen and (max-width: 1400px) {
  .kids_page .sec01 .flex_photo .left .tt {
    font-size: 100px;
  }
}
@media only screen and (max-width: 639px) {
  .kids_page .sec01 .flex_photo .left .tt {
    font-size: 12vw;
  }
}
@media only screen and (max-width: 639px) {
  .kids_page .sec01 .flex_photo .left {
    margin-right: 0;
  }
}
.kids_page .sec01 .flex_photo .right {
  /* justify-content: flex-end; */
}

.kids_page .sec01 .flex_photo .right .right_span {
  font-size: 18px;
  background: #f7f7f7;
  display: inline-block;
  padding: 20px 50px;
  font-weight: bold;
  margin-top: 30px;
}

@media only screen and (max-width: 639px) {
  .kids_page .sec01 .flex_photo .right .right_span {
    font-size: 16px;
    padding: 10px 20px;
  }
}
.kids_page .sec01 .box01 {
  border: 1px solid #000;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  margin: 100px 0 60px;
}

@media only screen and (max-width: 639px) {
  .kids_page .sec01 .box01 {
    margin: 40px 0;
  }
}
.kids_page .sec01 .box01 figure {
  width: 40.7%;
}

@media only screen and (max-width: 639px) {
  .kids_page .sec01 .box01 figure {
    width: 100%;
  }

  .kids_page .sec01 .box01 figure img {
    width: 100%;
  }
}
.kids_page .sec01 .box01 .ct_txt {
  width: 58.5%;
  border: 10px solid #fff;
  border-left: none;
  padding: 25px 40px;
  padding-right: 130px;
  background: url(../kids/images/kid.jpg) bottom right 15px no-repeat #edeff2;
}

.kids_page .sec01 .box01 .ct_txt ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 20px;
}

.kids_page .sec01 .box01 .ct_txt ul li {
  background: #fff;
  padding: 5px 10px;
  font-size: 18px;
  margin-right: 10px;
  width: 31%;
  text-align: center;
}

.kids_page .sec01 .box01 .ct_txt .color_red2 {
  font-size: 32px;
  /* color: #ad566b !important; */
  line-height: 1.5;
}

.kids_page .sec01 .box01 .ct_txt .price {
  font-size: 27px;
  line-height: 1.2;
  margin-bottom: 30px;
}

.kids_page .sec01 .box01 .ct_txt .price span {
  font-size: 45px;
  font-weight: bold;
}

.kids_page .sec01 .box01 .ct_txt .btn1 {
  justify-content: flex-start;
}

.kids_page .sec01 .box01 .ct_txt .btn1 a {
  min-width: 270px;
}

.kids_page .sec01 .box01 .ct_txt .pink_sticky {
  float: right;
  margin-right: 50px;
  color: #fff;
  background: url(../kids/images/pink_bg.png) center center no-repeat;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 18px;
  width: 135px;
  height: 127px;
  background-size: 100%;
}

@media only screen and (max-width: 639px) {
  .kids_page .sec01 .box01 .ct_txt {
    width: 100%;
    padding: 25px 4%;
    background: #edeff2;
  }

  .kids_page .sec01 .box01 .ct_txt ul li {
    margin: 0 1%;
    font-size: 14px;
  }

  .kids_page .sec01 .box01 .ct_txt .color_red2 {
    font-size: 20px;
  }

  .kids_page .sec01 .box01 .ct_txt .price {
    font-size: 22px;
  }

  .kids_page .sec01 .box01 .ct_txt .price span {
    font-size: 35px;
  }

  .kids_page .sec01 .box01 .ct_txt .pink_sticky {
    margin-right: 12%;
    font-size: 14px;
    width: 100px;
    height: 95px;
  }
}
@media only screen and (max-width: 480px) {
  .kids_page .sec01 .box01 .ct_txt .price {
    font-size: 17px;
    margin-bottom: 50px;
  }

  .kids_page .sec01 .box01 .ct_txt .price span {
    font-size: 25px;
  }

  .kids_page .sec01 .box01 .ct_txt .pink_sticky {
    margin-right: 0;
  }
}
.kids_page .sec01 .box02 {
  background: url(../kids/images/ico1.png) top 20px right 20px no-repeat #f5f6fb;
  padding: 60px 55px;
}

@media only screen and (max-width: 639px) {
  .kids_page .sec01 .box02 {
    padding: 40px 4%;
    background-position: top -40px right;
  }
}
.kids_page .sec01 .box02 .tt {
  font-size: 20px;
  margin-bottom: 25px;
}

.kids_page .sec01 .box02 .tt span {
  background: #b9bbc3;
  display: inline-block;
  padding: 7px 30px;
  margin-right: 20px;
}

.kids_page .sec01 .box02 .tt strong {
  font-size: 30px;
}

@media only screen and (max-width: 639px) {
  .kids_page .sec01 .box02 .tt {
    font-size: 17px;
    text-align: center;
  }

  .kids_page .sec01 .box02 .tt strong {
    font-size: 20px;
    display: block;
  }
}
.kids_page .sec01 .box02 .tt2 {
  display: flex;
  align-items: center;
  font-size: 20px;
  margin-bottom: 10px;
}

@media only screen and (max-width: 639px) {
  .kids_page .sec01 .box02 .tt2 {
    flex-wrap: wrap;
  }
}
.kids_page .sec01 .box02 .tt2 .pink_span {
  background-color: #ae576b;
  background-image: -webkit-linear-gradient(to right, #ae576b, #da939b);
  background-image: -o-linear-gradient(to right, #ae576b, #da939b);
  background-image: linear-gradient(to right, #ae576b, #da939b);
  border-radius: 100%;
  text-align: center;
  font-size: 14px;
  color: #fff;
  padding: 20px;
  display: inline-block;
  margin: 0 10px;
}

.kids_page .sec01 .box02 .tt2 .f1 {
  font-size: 30px;
}

.kids_page .sec01 .box02 .tt2 .f2 {
  font-size: 40px;
}

@media only screen and (max-width: 525px) {
  .kids_page .sec01 .box02 .tt2 {
    font-size: 4vw;
  }

  .kids_page .sec01 .box02 .tt2 .pink_span {
    font-size: 2vw;
  }

  .kids_page .sec01 .box02 .tt2 .f1 {
    font-size: 4vw;
  }

  .kids_page .sec01 .box02 .tt2 .f2 {
    font-size: 6vw;
  }
}
.kids_page .sec01 .box02 .btn1 {
  margin-top: 20px;
  justify-content: flex-start;
}

.kids_page .sec02 {
  padding: 70px 0;
}

@media only screen and (max-width: 525px) {
  .kids_page .sec02 {
    padding: 40px 0;
  }
}
.kids_page .sec02 .flex_photo {
  margin-bottom: 60px;
}

@media only screen and (max-width: 525px) {
  .kids_page .sec02 .flex_photo {
    margin-bottom: 30px;
  }
}
.kids_page .sec02 .flex_photo .left {
  z-index: 2;
}

.kids_page .sec02 .flex_photo .right {
  margin-left: -2px;
}

.kids_page .sec02 .box01 {
  padding: 25px 60px;
  background: #fff;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
}

@media only screen and (max-width: 639px) {
  .kids_page .sec02 .box01 {
    padding: 25px 4%;
  }
}
.kids_page .sec02 .box01 .tt {
  margin-bottom: 30px;
  text-align: center;
}

.kids_page .sec02 .box01 .tt span {
  font-size: 20px;
  background: url(../kids/images/ico.png) bottom left no-repeat;
  padding-top: 30px;
  padding-left: 190px;
  display: inline-block;
  text-align: left;
}

.kids_page .sec02 .box01 .tt strong {
  font-size: 30px;
  display: block;
}

@media only screen and (max-width: 639px) {
  .kids_page .sec02 .box01 .tt span {
    background-size: 30%;
    padding-left: 32%;
    padding-top: 0;
  }
}
.kids_page .sec02 .box01 .flex p {
  padding-right: 40px;
}

@media only screen and (max-width: 639px) {
  .kids_page .sec02 .box01 .flex {
    flex-wrap: wrap;
  }

  .kids_page .sec02 .box01 .flex p {
    padding-right: 0;
    margin-bottom: 20px;
  }

  .kids_page .sec02 .box01 .flex figure {
    margin: auto;
  }
}
.kids_page .sec03 {
  padding: 60px 0 80px;
  background: url(../kids/images/glasses.jpg) top 120px right 20% no-repeat;
}

@media only screen and (max-width: 1500px) {
  .kids_page .sec03 {
    background-position: top 120px right 0;
  }
}
@media only screen and (max-width: 639px) {
  .kids_page .sec03 {
    padding: 40px 0 50px;
    background: none;
  }
}
.kids_page .sec03 .check {
  margin-bottom: 30px;
}

.kids_page .sec03 .check li {
  background: url(../kids/images/check_ico.png) top left no-repeat;
  padding-left: 50px;
  margin-bottom: 10px;
  font-size: 20px;
}

@media only screen and (max-width: 639px) {
  .kids_page .sec03 .check li {
    font-size: 17px;
  }
}
.kids_page .sec03 .flex {
  justify-content: space-between;
  flex-wrap: wrap;
}

.kids_page .sec03 .flex li {
  width: 48.5%;
  position: relative;
  border: 1px solid #28292e;
}

@media only screen and (max-width: 639px) {
  .kids_page .sec03 .flex li {
    width: 100%;
    margin: 10px 0;
  }
}
.kids_page .sec03 .flex li .tt {
  background: #b9bbc3;
  text-align: center;
  font-size: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 7px;
}

.kids_page .sec03 .flex li .ct_txt {
  background: #f5f6fb;
  border: 10px solid #fff;
  border-top: none;
  padding: 30px 2%;
  text-align: center;
}

.kids_page .sec03 .flex li .ct_txt p {
  font-size: 25px;
  background: url(../kids/images/circle.png) top 11px left no-repeat;
  padding-left: 30px;
  display: inline-block;
}

@media only screen and (max-width: 639px) {
  .kids_page .sec03 .flex li .ct_txt {
    padding: 20px 4%;
  }

  .kids_page .sec03 .flex li .ct_txt p {
    font-size: 18px;
  }
}
.kids_page .sec04 {
  background: #21222c;
  padding: 60px 0 30px;
}

/*===========■INSTAGRAM aid PAGE===========*/
.instagram_page .title_page {
  background: url(../instagram/images/bg_tt.jpg) top center no-repeat;
  background-size: cover;
}

.instagram_page .flex_photo {
  /* flex-direction: row-reverse;
  margin-bottom: 0;
  .left{
      margin-left: 0;
      margin-right: -50px;
      img{
          float: left;
      }
      @media only screen and (max-width: 639px) {
          margin-right: 0;
      }
  } */
}

.instagram_page .flex_photo .right {
  /* justify-content: flex-end; */
}

.instagram_page .flex_photo .right .cm_tt7 span {
  background: url(../instagram/images/ico1.png) center right no-repeat;
  display: inline-block;
  padding-right: 65px;
}

.instagram_page .flex_photo .right .flex {
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.instagram_page .flex_photo .right .flex p {
  /* width: calc(100% - 148px); */
  padding-right: 20px;
}

@media only screen and (max-width: 639px) {
  .instagram_page .flex_photo .right .flex {
    justify-content: space-between;
    margin-bottom: 0;
  }

  .instagram_page .flex_photo .right .flex p {
    width: calc(100% - 120px);
    padding-right: 10px;
  }
}
.instagram_page .flex_photo .right .flex .pink_sticky {
  background: url(../instagram/images/pink_bg.png) top center no-repeat;
  width: 148px;
  height: 139px;
  color: #fff;
  text-align: center;
  padding: 35px 10px 0;
  padding-left: 20px;
}

.instagram_page .flex_photo .right .flex .pink_sticky span {
  font-size: 16px;
}

@media only screen and (max-width: 639px) {
  .instagram_page .flex_photo .right .flex .pink_sticky {
    background-size: 100%;
    width: 120px;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-left: 10px;
    height: 115px;
  }
}
@media only screen and (max-width: 425px) {
  .instagram_page .flex_photo .right .flex .pink_sticky {
    font-size: 3vw;
  }

  .instagram_page .flex_photo .right .flex .pink_sticky span {
    font-size: 4vw;
  }
}
.instagram_page .sec01 {
  margin-bottom: 60px;
}

.instagram_page .sec01 .box01 {
  border: 2px solid #000;
  padding: 10px;
  margin-top: 80px;
  margin-bottom: 40px;
}

.instagram_page .sec01 .box01 .line {
  border: 1px solid #000;
  padding: 40px 65px;
}

.instagram_page .sec01 .box01 ul {
  margin-top: 20px;
}

.instagram_page .sec01 .box01 ul li {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 30px;
}

.instagram_page .sec01 .box01 ul li .tt {
  font-size: 12px;
  display: inline-block;
  padding: 5px;
  border-radius: 100%;
  color: #fff;
  width: 100px;
  text-align: center;
}

.instagram_page .sec01 .box01 ul li .tt.bg_bl {
  background: #21222c;
}

.instagram_page .sec01 .center {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

.instagram_page .sec01 .box01 ul li .number {
  font-size: 20px;
  color: #af596d;
  padding-left: 50px;
  width: 100%;
  position: relative;
}
.instagram_page .sec01 .box01 ul li .sanka {
  font-size: 18px;
}
.instagram_page .sec01 .box01 ul li .number1::after,
.instagram_page .sec01 .box01 ul li .number2::after,
.instagram_page .sec01 .box01 ul li .number3::after {
  content: "";
  display: flex;
  width: 38px;
  height: 52px;
  position: absolute;
  left: 0;
  top: -8px;
}
.instagram_page .sec01 .box01 ul li .number1::after {
  background: url(../instagram/images/number01.png) top left no-repeat;
  background-size: cover;
}

.instagram_page .sec01 .box01 ul li .number2::after  {
  background: url(../instagram/images/number02.png) top left no-repeat;
  background-size: cover;
}

.instagram_page .sec01 .box01 ul li .number3::after  {
  background: url(../instagram/images/number03.png) top left no-repeat;
  background-size: cover;
}

@media only screen and (max-width: 639px) {
  .instagram_page .sec01 .box01 {
    margin-top: 30px;
  }

  .instagram_page .sec01 .box01 .line {
    padding: 30px 4%;
  }

  .instagram_page .sec01 .box01 ul li {
    display: block;
  }

  .instagram_page .sec01 .box01 ul li .number {
    width: 100%;
    margin-top: 20px;
    font-size: 15px;
    padding-left: 40px;
  }
  .instagram_page .sec01 .box01 ul li .number1::after, .instagram_page .sec01 .box01 ul li .number2::after, .instagram_page .sec01 .box01 ul li .number3::after {
    width: 30px;
    height: 42px;
    top: 0;
  }
}
.instagram_page .sec01 .pinkbox {
  font-size: 20px;
  position: relative;
  margin-bottom: 50px;
}

.instagram_page .sec01 .pinkbox:after {
  content: '';
  position: absolute;
  bottom: 0;
  right: 70px;
  background: url(../instagram/images/note.png) bottom right no-repeat;
  background-size: 100%;
  width: 234px;
  height: 229px;
}

.instagram_page .sec01 .pinkbox .inner {
  text-align: left;
  padding: 35px 100px;
}

.instagram_page .sec01 .pinkbox .cm_tt3 {
  font-size: 30px;
  line-height: 1.2;
  margin-bottom: 30px;
}

.instagram_page .sec01 .pinkbox .cm_tt3:after {
  background: #fff;
}

.instagram_page .sec01 .pinkbox span {
  display: inline-block;
  border-bottom: 1px solid #fff;
}

.instagram_page .sec01 .pinkbox span strong {
  font-size: 30px;
  line-height: 1;
}

@media only screen and (max-width: 639px) {
  .instagram_page .sec01 .pinkbox {
    font-size: 18px;
  }

  .instagram_page .sec01 .pinkbox:after {
    width: 100px;
    height: 229px;
    right: 0;
  }

  .instagram_page .sec01 .pinkbox .inner {
    padding: 20px 4%;
  }
}
.instagram_page .sec01 .btn1 a {
  min-width: 270px;
}

.instagram_page .sec02 {
  padding: 80px 0;
}

@media only screen and (max-width: 639px) {
  .instagram_page .sec02 {
    padding: 40px 0;
  }
}
.instagram_page .instagram_list {
  display: flex;
  flex-wrap: wrap;
  margin-top: 130px;
  margin-bottom: 35px;
}

.instagram_page .sec04 .caution {
  text-align: center;
  color: #fff;
  margin-top: 20px;
}

.instagram_page .instagram_list .item {
  width: 260px;
  margin-right: 40px;
  position: relative;
}

.instagram_page .instagram_list .item_top {
  border: 1px solid #28292e;

}

.instagram_page .instagram_list .item:after {
  content: '';
  position: absolute;
  bottom: 0;
  top: -30px;
  right: -27px;
  margin: auto;
  width: 0;
  height: 0;
  border-bottom: 20px solid transparent;
  border-top: 20px solid transparent;
  border-left: 10px solid #b9bbc3;
}

.instagram_page .instagram_list .item .step_num {
  position: absolute;
  top: -95px;
  left: 0;
  right: 0;
  margin: auto;
  background: url(../flow/images/bg_step.png) center center no-repeat;
  width: 84px;
  height: 88px;
  color: #fff;
  text-align: center;
  font-size: 18ppx;
  display: flex;
  justify-content: center;
  align-items: center;
}

.instagram_page .instagram_list .item .ct_txt {
  background: #fff;
  margin: 5px;
  padding: 20px;
  margin-top: 0;
}

.instagram_page .instagram_list .item .ct_txt .tt {
  font-size: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.instagram_page .instagram_list .item .ct_txt ul {
  text-indent: -15px;
  margin-left: 15px;
}

.instagram_page .instagram_list .item.orther {
  border: none;
  margin-right: 0;
  width: 300px;
}

.instagram_page .instagram_list .item.orther:after {
  content: none;
}

.instagram_page .instagram_list .item.orther .item_top {
  border: 1px solid #28292e;
  position: relative;
}

.instagram_page .instagram_list .item.orther .item_top:after {
  content: '';
  position: absolute;
  bottom: -22px;
  left: 0;
  right: 0;
  margin: auto;
  width: 0;
  height: 0;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-top: 10px solid #b9bbc3;
}

.instagram_page .instagram_list .item.orther h4 {
  background: #b9bbc3;
  text-align: center;
  font-size: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 0;
}

.instagram_page .instagram_list .item.orther .pink {
  color: #fff;
  border-radius: 100%;
  font-size: 20px;
  padding: 30px;
  font-weight: bold;
  text-align: center;
  width: 90%;
  margin: 30px auto 0;
  background-color: #ae576b;
  background-image: -webkit-linear-gradient(to right, #ae576b, #da939b);
  background-image: -o-linear-gradient(to right, #ae576b, #da939b);
  background-image: linear-gradient(to right, #ae576b, #da939b);
}

.instagram_page .instagram_list .item.value_flow {
  border: none;
  & .item_top {
    border: 1px solid #28292e;
    margin-bottom: 30px;
    position: relative;
    &::after {
      content: '';
      position: absolute;
      bottom: -22px;
      left: 0;
      right: 0;
      margin: auto;
      width: 0;
      height: 0;
      border-left: 20px solid transparent;
      border-right: 20px solid transparent;
      border-top: 10px solid #b9bbc3;
    }
  }
  & .btn-ins {
    width: 100%;
    & .ico_ins {
      font-size: 14px;
      padding: 4px 50px 4px 0;
    }
  }
}

@media only screen and (max-width: 639px) {
  .instagram_page .instagram_list .item {
    width: 100% !important;
    margin-right: 0;
    margin-bottom: 120px;
  }

  .instagram_page .instagram_list .item:after {
    top: auto;
    bottom: -40px;
    left: 0;
    right: 0;
    margin: auto;
    width: 0;
    height: 0;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    border-top: 10px solid #b9bbc3;
  }

  .instagram_page .instagram_list .item figure img {
    width: 100%;
  }

  .instagram_page .instagram_list .item .tt {
    margin-bottom: 10px;
  }

  .instagram_page .instagram_list .item.orther {
    margin-top: -90px;
    margin-bottom: 0;
  }
}
.instagram_page .sec03 {
  padding: 70px 0 40px;
}

.instagram_page .sec03 .box {
  border: 1px solid #000;
  margin-bottom: 40px;
}

.instagram_page .sec03 .box .inner {
  background: #f5f6fb;
  padding: 10px;
  padding-bottom: 30px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  border: 7px solid #fff;
}

.instagram_page .sec03 .box .inner .ct_txt {
  width: 65%;
  padding: 0 30px;
}

.instagram_page .sec03 .box .inner .ct_txt .tt {
  background-color: #ae576b;
  background-image: -webkit-linear-gradient(to right, #ae576b, #da939b);
  background-image: -o-linear-gradient(to right, #ae576b, #da939b);
  background-image: linear-gradient(to right, #ae576b, #da939b);
  color: #fff;
  font-size: 25px;
  padding: 10px 20px;
  line-height: 1.5;
  margin-bottom: 30px;
  margin-left: -47px;
}

.instagram_page .sec03 .box .inner figure {
  width: 30%;
  text-align: right;
}

@media only screen and (max-width: 639px) {
  .instagram_page .sec03 {
    padding: 40px 0;
  }

  .instagram_page .sec03 .box .inner .ct_txt {
    width: 100%;
    padding: 0;
    margin-bottom: 20px;
  }

  .instagram_page .sec03 .box .inner .ct_txt .tt {
    margin-left: 0;
    font-size: 20px;
  }

  .instagram_page .sec03 .box .inner figure {
    width: 100%;
    text-align: center;
  }
}
@media only screen and (max-width: 425px) {
  .instagram_page .sec03 .box .inner .ct_txt .tt {
    font-size: 16px;
  }
}
.instagram_page .sec04 {
  background: #21222c;
  padding: 60px 0 70px;
}

.instagram_page .sec04 table {
  width: 75%;
  margin: 0 auto 60px;
}

.instagram_page .sec04 table tr {
  display: flex;
  flex-wrap: wrap;
  padding: 5px 0;
  border-top: 1px dashed #424458;
}

.instagram_page .sec04 table th, .instagram_page .sec04 table td {
  vertical-align: middle;
  padding: 5px 30px;
  font-weight: normal;
}

.instagram_page .sec04 table th {
  width: 25%;
  min-width: 220px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  background: #cdcdcf;
}

.instagram_page .sec04 table td {
  width: 75%;
  display: block;
  color: #fff;
}

@media only screen and (max-width: 639px) {
  .instagram_page .sec04 {
    padding: 40px 0;
  }

  .instagram_page .sec04 table {
    width: 100%;
  }

  .instagram_page .sec04 table tr {
    display: block;
  }

  .instagram_page .sec04 table th, .instagram_page .sec04 table td {
    width: 100%;
    display: block;
    padding: 5px 10px;
  }
}
.instagram_page .contact_form {
  padding: 60px 0 0;
}

.instagram_page .contact_form .cm_table {
  margin-bottom: 60px;
}

.instagram_page .contact_form .cm_table tr:last-child th, .instagram_page .contact_form .cm_table tr:last-child td {
  border-bottom: 1px dashed #b1b1b1;
}

@media only screen and (min-width: 640px) {
  .instagram_page .contact_form .cm_table th {
    text-align: center;
  }
}
.instagram_page .contact_form .cm_table td .btn_list1 li {
  width: auto;
  margin-right: 50px;
}

.instagram_page .contact_form .cm_table .btn_checkbox li {
  float: left;
  margin-right: 40px;
  margin-bottom: 5px;
}

.instagram_page .contact_form .cm_table .btn_checkbox .orther {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.instagram_page .contact_form .cm_table .btn_checkbox .orther input[type="text"] {
  width: calc(100% - 80px);
}

.instagram_page .contact_form .cm_table .image-upload {
  position: relative;
  border: 1px solid #d8d8d8;
  height: 130px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 10px 0 15px;
}

.instagram_page .contact_form .cm_table .image-upload input {
  position: absolute;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  outline: none;
  opacity: 0;
  cursor: pointer;
}

.instagram_page .contact_form .cm_table .image-upload p {
  background: url(../instagram/images/ico_upload.png) top center no-repeat;
  padding-top: 34px;
  text-align: center;
}

.instagram_page .contact_pp {
  margin-bottom: 80px;
}

.btn1.btn-ins a {
  background: #21222c;
  padding-right: 50px;
}

.btn1.btn-ins .ico_ins {
  background: url(../instagram/images/ico1.png) center right no-repeat;
  display: inline-block;
  padding: 10px;
  padding-right: 70px;
  font-size: 22px;
  font-weight: bold;
}

.instagram_page .sec02 .box_flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.instagram_page .sec02 .btn-ins {
  width: 100%;
  flex-direction: column;
}

.instagram_page .tousenSchedule .month {
    display: block;
    width: 30px;
    text-align: right;
}

.instagram_page .tousenSchedule .date {
  display: flex;
  position: relative;
}

@media only screen and (min-width: 640px) {
  .instagram_page .sec02 .btn-ins .ico_ins {
    font-size: 18px;
    padding-top: 14px;
    padding-bottom: 14px;
  }

  .instagram_page .sec02 .txt01 {
    width: 60%;
  }

  .instagram_page .sec02 .btnRight {
    width: 42%;
  }

  .instagram_page .sec02 .btn1.btn-ins a {
    padding: 4px 38px 4px 20px;
  }

  .instagram_page .sec02 .btn1 a {
    width: 100%;
  }

  .instagram_page .tousenSchedule {
    display: flex;
    align-items: flex-start;
    gap: 10px 3em;
    justify-content: flex-start;
  }
  .instagram_page .tousenSchedule .date::after {
    content: "・・・";
    display: block;
    position:absolute;
    right: -3em;
  }
}
@media only screen and (max-width: 639px) {
  .btn1.btn-ins {
    justify-content: center;
  }

  .instagram_page .sec02 .flex {
    display: block;
  }

  .instagram_page .contact_pp {
    margin-bottom: 40px;
    margin-top: 30px;
  }

  .instagram_page .contact_pp.bg {
    padding: 40px 0;
  }

  .btn1.btn-ins a {
    padding-right: 35px;
  }

  .btn1.btn-ins .ico_ins {
    font-size: 3vw;
    background-size: 25px;
    padding: 10px 0;
    padding-right: 40px;
  }
  .instagram_page .tousenSchedule {
    margin-bottom: 10px;
  }
  .instagram_page .sec02 .btnRight {
    margin-top: 20px;
  }
  .instagram_page .sec02 .btn1 a {
    width: 100%;
    font-size: 3.8vw;
  }
}

.instagram_page .lead_campaign {
  margin-bottom: 80px;
  & .center {
    display: flex;
    justify-content: center;
  }
  & .cm_ttC {
    position: relative;
    display: inline-block;
    height: 50px;
    line-height: 50px;
    padding: 0 4rem;
    background-color: #ae576b;
  background-image: -webkit-linear-gradient(to right, #ae576b, #da939b);
  background-image: -o-linear-gradient(to right, #ae576b, #da939b);
  background-image: linear-gradient(to right, #ae576b, #da939b);
    color: #fff;
    font-size: 30px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 20px;
    &::before {
      position: absolute;
    top: 0;
    left: -15px;
    width: 0px;
    height: 0px;
    border-color: #ae576b transparent;
    border-width: 25px 0px 25px 15px;
    border-style: solid;
    content: '';
    left: -15px;
    border-width: 25px 0px 25px 15px;
    }
    &::after {
      position: absolute;
    top: 0;
    width: 0px;
    height: 0px;
    border-color: #da939b transparent;
    border-style: solid;
    content: '';
    right: -15px;
    border-width: 25px 15px 25px 0px;
    }
  }
  & .ballon {
    text-align: center;
    margin-bottom: 30px;
    font-size: 22px;
    padding: 0 35px;
    position: relative;
    & .month {
  text-align: center;
  font-size: 28px;
  display: inline-block;
    }
    &::before,
    &::after {
      display: inline-block;
      font-size: 20px;
      font-weight: bold;
    }
    &::before {
      content: "＼";
      margin-right: 5px;
    }
    &::after {
      content: "／";
      margin-left: 5px;
    }
  }
  & .campaign_wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 40px;
  }
  & .campaign_item {
    border: 1px solid #000;
    width: calc(50% - 20px);
  }
  & .campaign_item .inner {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0 20px;
    padding: 10px 20px;
    background-color: #f5f6fb;
    border: 6px solid #fff;
    & figure {
      width: 100px;
      height: 100px;
      background-color: #fff;
      border-radius: 50%;
      display: flex;
      justify-content: center;
      align-items: center;
    }
  }
  & .campaign_item__tt {
    font-size: 20px;
    color: #ae576b;
    font-weight: bold;
  }
}

@media only screen and (max-width: 639px) {
  .instagram_page .lead_campaign {
    margin-bottom: 30px;
    & .center {
      display: flex;
      justify-content: center;
    }
    & .cm_ttC {
      position: relative;
      display: inline-block;
      height: 50px;
      line-height: 50px;
      padding: 0 1rem;
      color: #fff;
      font-size: 25px;
      font-weight: bold;
      text-align: center;
      margin-bottom: 20px;
    }
    & .ballon {
      text-align: center;
      margin-bottom: 25px;
      font-size: 18px;
      line-height: 1.5;
      & span {
    font-size: 24px;
      }
      &::before,
      &::after {
        display: inline-block;
        font-size: 20px;
        font-weight: bold;
        position: absolute;
      }
      &::before {
        content: "＼";
        margin-right: 5px;
        bottom: 0;
        left: 0;
      }
      &::after {
        content: "／";
        margin-left: 5px;
        right: 0;
        bottom: 0;
      }

    }
    & .campaign_wrap {
      flex-direction: column;
      gap: 10px 0;
    }
    & .campaign_item {
      width: 100%;
    }
    & .campaign_item .inner {
      gap: 0 10px;
      padding: 10px;
      border: 4px solid #fff;
      & figure {
        width: 70px;
        height: 70px;
        & img {
          max-width: 40px;
        }
      }
      & .txt {
        width: calc(100% - 80px);
      }
    }
    & .campaign_item__tt {
      font-size: 18px;
    }
  }

}


.table_hidden {
  display: none;
  padding-bottom: 10px;
}

.trigger_show {
  text-transform: uppercase;
  text-decoration: none;
  padding: 10px 20px;
  padding-right: 35px;
  width: 200px;
  background: #fff;
  color: #000;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  -webkit-transition: all ease 1s;
  -o-transition: all ease 1s;
  transition: all ease 1s;
  margin: auto;
  cursor: pointer;
  margin-top: 30px;
}

.trigger_show:after {
  display: block;
  width: 30px;
  height: 1px;
  background: #000;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 0;
  position: absolute;
  content: "";
  -webkit-transition: all ease 1s;
  -o-transition: all ease 1s;
  transition: all ease 1s;
}

@media only screen and (min-width: 640px) {
  .trigger_show:hover {
    opacity: 0.8;
  }
}
.trigger_show .plus {
  display: block;
}

.trigger_show .minus {
  display: none;
}

.trigger_show.opened .plus {
  display: none;
}

.trigger_show.opened .minus {
  display: block;
}

.main_content p, .main_content li {
  /* line-height: 2.3; */
}

/*thought page*/
.thought_page .title_page {
  background: url(../thought/images/bg_tt.jpg) top center no-repeat;
  background-size: cover;
}
.thought_page .sec01 {
  background: #28292e;
  color: #fff;
  margin-bottom: 80px;
}
@media only screen and (max-width: 639px) {
  .thought_page .sec01 {
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 640px) {
  .thought_page .sec01 .flex_photo .left {
    width: 40.8%;
  }
  .thought_page .sec01 .flex_photo .right {
    width: 59.2%;
  }
  .thought_page .sec01 .flex_photo .right .inner {
    width: 824px;
    background: #28292e;
  }
  .thought_page .sec01 .flex_photo .right .inner .cm_tt7 {
    font-size: 36px;
  }
}
@media only screen and (max-width: 480px) {
  .thought_page .sec01 .flex_photo .right {
    padding-bottom: 40px;
  }
  .thought_page .sec01 .flex_photo .right .inner .cm_tt7 {
    font-size: 22px;
  }
}
.thought_page .sec01 .flex_photo .right .inner {
  background: #28292e;
}
.thought_page .sec02 {
  margin-bottom: 80px;
}
@media only screen and (max-width: 639px) {
  .thought_page .sec02 {
    margin-bottom: 30px;
  }
}
.thought_page .sec02 .flex_photo {
  justify-content: space-between;
}
@media only screen and (min-width: 640px) {
  .thought_page .sec02 .flex_photo .right {
    width: 52.7%;
  }
  .thought_page .sec02 .flex_photo .right .inner {
    width: 705px;
  }
}
.thought_page .sec02 .flex_photo .right .inner {
  border: none;
}
@media only screen and (max-width: 639px) {
  .thought_page .sec02 .flex_photo .right {
    padding: 0;
  }
  .thought_page .sec02 .flex_photo .right .cm_tt7 {
    font-size: 22px;
  }
}
@media only screen and (max-width: 639px) {
  .thought_page .sec02 .flex_photo .left {
    width: 100%;
  }
}
.thought_page .sec03 .anc_bg {
  background: #f7f7f7;
  padding: 70px 0;
}
@media only screen and (max-width: 639px) {
  .thought_page .sec03 .anc_bg {
    padding: 40px 0;
  }
}
.thought_page .sec03 .cm_tt7 {
  font-size: 26px;
  text-align: center;
  font-weight: bold;
}
@media only screen and (max-width: 639px) {
  .thought_page .sec03 .cm_tt7 {
    font-size: 18px;
  }
}
.thought_page .sec03 .point_anc {
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (max-width: 639px) {
  .thought_page .sec03 .point_anc {
    justify-content: center;
  }
}
.thought_page .sec03 .point_anc li {
  width: 354px;
  height: 354px;
  border-radius: 100%;
}
@media only screen and (max-width: 639px) {
  .thought_page .sec03 .point_anc li {
    margin-bottom: 20px;
  }
}
@media only screen and (max-width: 480px) {
  .thought_page .sec03 .point_anc li {
    width: 250px;
    height: 250px;
  }
}
.thought_page .sec03 .point_anc li:nth-child(1) {
  background: url(../thought/images/img_ar1.png) top center no-repeat;
  background-size: cover;
}
.thought_page .sec03 .point_anc li:nth-child(2) {
  background: url(../thought/images/img_ar2.png) top center no-repeat;
  background-size: cover;
}
.thought_page .sec03 .point_anc li:nth-child(3) {
  background: url(../thought/images/img_ar3.png) top center no-repeat;
  background-size: cover;
}
.thought_page .sec03 .point_anc li a {
  display: block;
  width: 100%;
  height: 100%;
  color: #fff;
  text-decoration: none;
  text-align: center;
  padding: 40px 50px;
  position: relative;
}
.thought_page .sec03 .point_anc li a:after {
  content: " 〉";
  position: absolute;
  bottom: 20px;
  left: 0;
  right: 0;
  margin: auto;
  font-size: 28px;
  line-height: 1;
  height: 27px;
  width: 15px;
  transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  transition: all 0.5s;
  -webkit-transition: all 0.5s;
}
@media only screen and (max-width: 480px) {
  .thought_page .sec03 .point_anc li a:after {
    bottom: 5px;
  }
}
.thought_page .sec03 .point_anc li a .tt {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 20px;
}
.thought_page .sec03 .point_anc li a .tt span {
  font-size: 57px;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 100;
  display: block;
  line-height: 1.2;
}
@media only screen and (max-width: 480px) {
  .thought_page .sec03 .point_anc li a .tt {
    font-size: 15px;
  }
  .thought_page .sec03 .point_anc li a .tt span {
    font-size: 40px;
  }
}
@media only screen and (min-width: 640px) {
  .thought_page .sec03 .point_anc li a:hover {
    opacity: 0.7;
  }
  .thought_page .sec03 .point_anc li a:hover:after {
    bottom: 10px;
  }
}
@media only screen and (max-width: 480px) {
  .thought_page .sec03 .point_anc li a {
    font-size: 13px;
    padding: 20px;
  }
  .thought_page .sec03 .point_anc li a p {
    line-height: 1.5;
  }
}
.thought_page .sec03 .tt_point {
  font-size: 30px;
  border-bottom: 1px solid #a4a4a4;
  margin-bottom: 20px;
}
.thought_page .sec03 .tt_point span {
  background: url(../shop/images/ico1.png) top 7px left no-repeat #fff;
  padding-left: 70px;
  font-size: 48px;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 100;
  display: block;
  line-height: 1;
}
@media only screen and (max-width: 639px) {
  .thought_page .sec03 .tt_point {
    font-size: 20px;
  }
  .thought_page .sec03 .tt_point span {
    font-size: 40px;
  }
}
.thought_page .sec03 .flex_photo .right .inner {
  background: #fff;
  padding: 50px;
}
@media only screen and (max-width: 639px) {
  .thought_page .sec03 .flex_photo .right .inner {
    padding: 30px 4%;
  }
}
.thought_page .sec03 .step_list02 {
  margin-top: 50px;
}
@media only screen and (max-width: 639px) {
  .thought_page .sec03 .step_list02 {
    margin-top: 0;
  }
}
.thought_page .sec03 .step_list02 .step_item {
  margin-bottom: 35px;
}
.thought_page .sec03 .step_list02 .step_item:nth-child(4), .thought_page .sec03 .step_list02 .step_item:nth-child(5) {
  width: 585px;
}
.thought_page .sec03 .step_list02 .step_item:nth-child(5) {
  margin-right: 0;
}
@media only screen and (max-width: 639px) {
  .thought_page .sec03 .step_list02 .step_item {
    margin-top: 30px;
    margin-bottom: 0;
  }
}
.thought_page .sec03 .step_list02 .step_item h4 {
  font-size: 18px;
  justify-content: flex-start;
  text-align: left;
  padding: 10px;
  padding-left: 90px;
  min-height: 82px;
}
.thought_page .sec03 .step_list02 .step_item h4 span {
  font-size: 16px;
  background: url(../thought/images/bg_step.png) center center no-repeat;
  width: 68px;
  height: 64px;
  top: 10px;
  left: 10px;
  right: auto;
}
.thought_page .sec03 .step_list02 .step_item .ct_txt {
  background: #f5f6fb;
}
.thought_page .sec03 .faq_list .item {
  box-shadow: 0 0 27px #ccc;
  -webkit-box-shadow: 0 0 27px #ccc;
  padding: 2px;
  border: none;
}
.thought_page .sec03 .faq_list .question {
  align-items: center;
}
.thought_page .sec03 .faq_list .question span {
  border: 2px solid #6c6d74;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
}
.thought_page .sec03 .faq_list .ans {
  padding: 25px 70px;
}
@media only screen and (max-width: 639px) {
  .thought_page .sec03 .faq_list .ans {
    padding: 25px 4% 0;
  }
}
.thought_page .sec03 .faq_list .ans .txt {
  float: none;
  width: 100%;
  margin-left: 0;
}
.thought_page .sec03 .faq_list .ans .photo {
  text-align: center;
  margin: 30px auto;
  max-width: 545px;
}
.thought_page .sec03 .faq_list .ans .photo video{
    max-width: 100%;
}
.thought_page .sec03 .faq_list .item03 .ans .photo {
  float: right;
  margin: 0;
  padding-left: 20px;
}
@media only screen and (max-width: 639px) {
  .thought_page .sec03 .faq_list .item03 .ans .photo {
    float: none;
    margin-left: 0;
    padding-left: 0;
    margin: 30px auto;
  }
}
.thought_page .sec03 .box02 {
  margin: 80px 0 40px;
}
.thought_page .sec03 .box02 .step_list02 .step_item {
  width: 100%;
  margin-right: 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
    background: #f5f6fb;
}
.thought_page .sec03 .box02 .step_list02 .step_item h4 span {
  top: 20px;
  left: 20px;
}
.thought_page .sec03 .box02 .step_list02 .step_item .step_pd {
  padding: 10px;
}
.thought_page .sec03 .box02 .step_list02 .step_item .step_pd .ct_txt {
  margin: 0;
}
.thought_page .sec03 .box02 .step_list02 .step_item .box-bdr.w100p{
    margin: 0 20px 30px;
}
.thought_page .sec03 .box02 .step_list02 .step_item .photo {
  text-align: center;
  width: 100%;
}
.thought_page .sec03 .box02 .step_list02 .step_item .photo img {
  width: 100%;
}
@media only screen and (min-width: 640px) {
  .thought_page .sec03 .box02 .step_list02 .step_item .step_pd {
    width: 71.7%;
    padding-right: 0;
  }
  .thought_page .sec03 .box02 .step_list02 .step_item .step_pd .ct_txt {
    margin: 0;
  }
  .thought_page .sec03 .box02 .step_list02 .step_item .photo {
    width: 28.3%;
  }
}
@media only screen and (max-width: 639px) {
    .thought_page .sec03 .box02 .step_list02 .step_item .box-bdr.w100p{
        margin-top: 35px;
    }
  .thought_page .sec03 .box02 {
    margin: 40px 0;
  }
  .thought_page .sec03 .box02 .flex_photo .right {
    padding-bottom: 35px;
  }
}
.thought_page .sec04 {
  margin-top: 40px;
  margin-bottom: 140px;
  position: relative;
}
.thought_page .sec04:before {
  content: '';
  position: absolute;
  top: 60px;
  left: 0;
  margin: auto;
  width: calc(50% + 510px);
  height: 100%;
  background: #f7f7f7;
  z-index: -1;
}
.thought_page .sec04 .flex_photo .left {
  width: 100%;
}
@media only screen and (min-width: 640px) {
  .thought_page .sec04 .flex_photo .left {
    width: 46.2%;
  }
}
@media only screen and (min-width: 640px) {
  .thought_page .sec04 .flex_photo .right {
    margin-top: 60px;
  }
  .thought_page .sec04 .flex_photo .right .cm_tt7 {
    font-size: 36px;
  }
}
.thought_page .sec04 .flex_photo .right .tt {
  font-size: 22px;
  position: relative;
  z-index: 2;
}
.thought_page .sec04 .flex_photo .right .tt:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 100%;
  height: 1px;
  background: #a4a4a4;
  z-index: -1;
}
.thought_page .sec04 .flex_photo .right .tt span {
  background: #f8f8f8;
  padding-right: 20px;
}
.thought_page .sec04 .flex_photo .right .inner {
  border: none;
  background: none;
  background: #f8f8f8;
  padding-left: 0;
}
@media only screen and (max-width: 480px) {
  .thought_page .sec04 .cm_tt7 {
    font-size: 21px;
  }
}

/*bifocals page*/
.bifocals_page .title_page {
  background: url(../thought/images/bg_tt.jpg) top center no-repeat;
  background-size: cover;
}
.bifocals_page .sec01 {
  position: relative;
  z-index: 2;
  padding: 60px 0;
}
@media only screen and (max-width: 639px) {
  .bifocals_page .sec01 {
    padding: 30px 0;
  }
}
.bifocals_page .sec01:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 580px;
  background: #f7f7f7;
  z-index: -1;
}
.bifocals_page .sec01 .cm_tt7 {
  text-align: center;
  font-size: 36px;
  line-height: 1.3;
}
.bifocals_page .sec01 .cm_tt7 span {
  font-size: 60px;
  line-height: 1;
}
@media only screen and (max-width: 639px) {
  .bifocals_page .sec01 .cm_tt7 {
    font-size: 27px;
  }
  .bifocals_page .sec01 .cm_tt7 span {
    font-size: 40px;
  }
}
.bifocals_page .sec01 .box01 {
  border: 1px solid #000;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 40px 0 70px;
}
.bifocals_page .sec01 .box01 .ct_txt {
  padding: 30px 4%;
}
.bifocals_page .sec01 .box01 .ct_txt .tt {
  font-size: 20px;
  border-bottom: 1px solid #d1d1d1;
  margin-bottom: 30px;
}
.bifocals_page .sec01 .box01 .photo {
  text-align: center;
  width: 100%;
  padding-bottom: 20px;

}
.bifocals_page .sec01 .box01 .photo img{
    max-width: 100%;
}
@media only screen and (min-width: 640px) {
  .bifocals_page .sec01 .box01 .ct_txt {
    width: 66%;
    padding: 0;
    padding-left: 60px;
  }
  .bifocals_page .sec01 .box01 .ct_txt .tt {
    font-size: 26px;
    margin-bottom: 30px;
  }
  .bifocals_page .sec01 .box01 .photo {
    width: 27%;
    padding: 0;
  }
}
.bifocals_page .sec01 .box01 .photo {
    display: flex;
    align-items: center;
  }
.bifocals_page .sec01 .box01 .photo p{
    position: relative;
    letter-spacing: 10px;
    margin-right: 20px;
        -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    -webkit-text-orientation: upright;
    -moz-text-orientation: upright;
    -ms-text-orientation: upright;
    text-orientation: upright;
}
.bifocals_page .sec01 .box01 .photo p:after{
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: -15px;
    width: 0;
    height: 0;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    border-left: 7px solid #bebebe;
}
.bifocals_page .sec01 .box02 .photo {
  float: right;
  padding-left: 40px;
}
@media only screen and (max-width: 639px) {
  .bifocals_page .sec01 .box02 .photo {
    float: none;
    padding-left: 0;
    width: 100%;
    text-align: center;
    margin-bottom: 20px;
  }
}
.bifocals_page .sec01 .box02 .box02_list {
  display: flex;
  flex-wrap: wrap;
  margin: 30px 0 15px;
}
.bifocals_page .sec01 .box02 .box02_list li {
  background: #f2f3f8;
  display: flex;
  align-items: center;
  padding: 5px;
  padding-right: 40px;
  font-size: 18px;
    font-weight: bold;
}
@media only screen and (min-width: 640px) {
  .bifocals_page .sec01 .box02 .box02_list li:not(:last-child) {
    margin-right: 18px;
  }
}
@media only screen and (max-width: 639px) {
  .bifocals_page .sec01 .box02 .box02_list li {
    width: 100%;
    margin-bottom: 10px;
  }
}
.bifocals_page .sec01 .box02 .box02_list li .number {
  width: 35px;
  height: 35px;
  margin-right: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #747681;
  font-size: 24px;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 100;
}
.bifocals_page .sec02 {
  background: #f7f7f7;
  padding: 60px 0 40px;
}
@media only screen and (max-width: 639px) {
  .bifocals_page .sec02 {
    padding: 40px 0 10px;
  }
}
.bifocals_page .sec02 .box {
  box-shadow: 0 0 27px #ccc;
  -webkit-box-shadow: 0 0 27px #ccc;
  margin-bottom: 60px;
}
@media only screen and (max-width: 639px) {
  .bifocals_page .sec02 .box {
    margin-bottom: 30px;
  }
}
.bifocals_page .sec02 .box .ttl {
  background: #21222c;
  color: #fff;
  padding: 5px;
  display: flex;
  font-size: 25px;
}
@media only screen and (max-width: 639px) {
  .bifocals_page .sec02 .box .ttl {
    font-size: 20px;
  }
}
.bifocals_page .sec02 .box .ttl .number {
  border: 1px solid #6c6d74;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  font-family: "Josefin Sans", sans-serif;
  font-size: 30px;
  font-weight: 200;
  line-height: 1;
}
.bifocals_page .sec02 .box .ttl p {
  width: calc(100% - 40px);
  padding-left: 10px;
}
.bifocals_page .sec02 .box .inner_txt {
  background: #fff;
  padding: 25px 40px 40px;
}
@media only screen and (max-width: 639px) {
  .bifocals_page .sec02 .box .inner_txt {
    padding: 25px 4%;
  }
}
.bifocals_page .sec02 .box .ttl_gray {
  text-align: center;
  font-size: 22px;
  background: #b9bbc3;
  position: relative;
  padding: 12px;
  margin: 20px 0 40px;
  font-weight: bold;
}
.bifocals_page .sec02 .box .ttl_gray:after {
  content: '';
  position: absolute;
  bottom: -15px;
  left: 0;
  right: 0;
  margin: auto;
  width: 0;
  height: 0;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-top: 15px solid #b9bbc3;
}
.bifocals_page .sec02 .box .cols {
  border: 1px solid #000;
  padding: 0 35px 35px;
  margin-bottom: 45px;
}
@media only screen and (max-width: 639px) {
  .bifocals_page .sec02 .box .cols {
    padding: 0 4% 20px;
  }
}
.bifocals_page .sec02 .box .cols:last-child {
  margin-bottom: 0;
}
.bifocals_page .sec02 .box .cols .ttl_ico {
  margin-left: -37px;
  margin-top: -20px;
  margin-bottom: 20px;
}
@media only screen and (max-width: 639px) {
  .bifocals_page .sec02 .box .cols .ttl_ico {
    margin-left: -20px;
  }
}
.bifocals_page .sec02 .box .cols .ttl_ico span {
  background: url(../bifocals/images/ico.png) top 7px left no-repeat #fff;
  font-size: 20px;
  display: inline-block;
  padding: 10px 20px 10px 40px;
}
@media only screen and (max-width: 639px) {
  .bifocals_page .sec02 .box .cols .ttl_ico span {
    background-size: 20px;
    background-position: top 10px left 10px;
  }
}
.bifocals_page .sec02 .box .cols .text-center.text-bold {
  margin: 20px 0 15px;
}
.bifocals_page .sec02 .box .cols .flex_photo {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 0;
}
.bifocals_page .sec02 .box .cols .flex_photo li {
  width: 47%;
  text-align: center;
}
.bifocals_page .sec02 .box .cols .flex_photo li img{
    max-width: 100%;
}
@media only screen and (max-width: 639px) {
  .bifocals_page .sec02 .box .cols .flex {
    display: block;
  }
}
@media only screen and (min-width: 640px) {
  .bifocals_page .sec02 .box .cols .left {
    width: 53%;
  }
  .bifocals_page .sec02 .box .cols .right {
    width: 44%;
  }
}
.bifocals_page .sec02 .box .flex_2cols {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.bifocals_page .sec02 .box .flex_2cols .cols {
  width: 100%;
}
@media only screen and (min-width: 640px) {
  .bifocals_page .sec02 .box .flex_2cols .cols {
    width: 48%;
  }
}
.bifocals_page .sec02 .box .bifocals_list {
  display: flex;
  flex-wrap: wrap;
}
.bifocals_page .sec02 .box .bifocals_list li {
  width: 100%;
  border: 1px solid #000;
  margin-bottom: 30px;
}
.bifocals_page .sec02 .box .bifocals_list li img {
  width: 100%;
}
@media only screen and (min-width: 640px) {
  .bifocals_page .sec02 .box .bifocals_list li {
    width: 23.3%;
  }
  .bifocals_page .sec02 .box .bifocals_list li:not(:last-child) {
    margin-right: 2.2%;
  }
}
.bifocals_page .sec02 .box .bifocals_list li .box02_ttl {
  font-size: 18px;
  display: flex;
  align-items: center;
  padding: 10px;
  font-weight: bold;
    line-height: 1.5;
}
.bifocals_page .sec02 .box .bifocals_list li .box02_ttl span {
  font-size: 22px;
  min-width: 56px;
  height: 54px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: url(../bifocals/images/bg_ico.png) top center no-repeat;
  color: #fff;
  margin-right: 10px;
}
.bifocals_page .sec02 .box .bifocals_list li p {
  padding: 10px;
}
.bifocals_page .sec02 .box.box01 .cols {
  margin-bottom: 45px;
}
.bifocals_page .sec02 .box.box03 .bifocals_list {
  /* margin-bottom: 30px; */
}
@media only screen and (min-width: 640px) {
  .bifocals_page .sec02 .box.box03 .bifocals_list li {
    width: 31.7%;
  }
}
.bifocals_page .sec02 .box.box05 .cols .right {
  width: 100%;
  text-align: center;
  margin-top: 20px;
}
@media only screen and (min-width: 640px) {
  .bifocals_page .sec02 .box.box05 .cols .left {
    width: 60%;
  }
  .bifocals_page .sec02 .box.box05 .cols .right {
    width: 37%;
    margin-top: 0;
  }
}
.bifocals_page .sec02 .box.box06 .sub_box {
  border: 1px solid #000;
  background: #fff;
  padding: 20px 30px;
  margin-bottom: 40px;
}
@media only screen and (max-width: 639px) {
  .bifocals_page .sec02 .box.box06 .sub_box {
    padding: 20px 4%;
    margin-bottom: 30px;
  }
  .bifocals_page .sec02 .box.box06 .sub_box:last-child {
    margin-bottom: 0;
  }
}
.bifocals_page .sec02 .box.box06 .sub_box .tt {
  font-size: 26px;
  border-bottom: 1px solid #d1d1d1;
  margin-bottom: 30px;
}
@media only screen and (max-width: 639px) {
  .bifocals_page .sec02 .box.box06 .sub_box .tt {
    font-size: 20px;
  }
}
@media only screen and (max-width: 639px) {
  .bifocals_page .sec02 .box.box06 .sub_box .flex {
    display: block;
  }
}
.bifocals_page .sec02 .box.box06 .sub_box .flex .photo {
  width: 100%;
  text-align: center;
  margin-top: 20px;
}
@media only screen and (min-width: 640px) {
  .bifocals_page .sec02 .box.box06 .sub_box .flex p {
    width: 60%;
  }
  .bifocals_page .sec02 .box.box06 .sub_box .flex .photo {
    width: 36%;
    margin-top: 0;
  }
}
.bifocals_page .sec02 .ttl_red {
  text-align: center;
  color: #ad566b;
  margin: 20px 0;
  text-align: center;
}
.bifocals_page .sec02 .ttl_red span {
  display: inline-block;
  position: relative;
  padding: 0 40px;
  font-size: 22px;
}
.bifocals_page .sec02 .ttl_red span:before {
  content: '＼';
  position: absolute;
  top: 0;
  left: 0;
}
.bifocals_page .sec02 .ttl_red span:after {
  content: '／';
  top: 0;
  right: 0;
}
@media only screen and (max-width: 639px) {
  .bifocals_page .sec02 .ttl_red span {
    display: flex;
    justify-content: center;
  }
}
.bifocals_page .sec02 .check {
  border-top: 2px solid #28292e;
  border-bottom: 2px solid #28292e;
  max-width: 890px;
  margin: 0 auto 30px;
}
.bifocals_page .sec02 .check li {
  background: url(../bifocals/images/ico_check.png) top 10px left 10px no-repeat #f8f9fc;
  font-size: 16px;
  padding: 15px;
  padding-left: 50px;
  border-bottom: 1px solid #28292e;
}
.bifocals_page .sec03 {
  padding: 80px 0;
}
@media only screen and (max-width: 639px) {
  .bifocals_page .sec03 {
    padding: 40px 0;
  }
}
.bifocals_page .sec03 .container {
  background: url(../bifocals/images/bg01.jpg) top center no-repeat;
  background-size: cover;
  padding: 45px;
}
@media only screen and (max-width: 639px) {
  .bifocals_page .sec03 .container {
    padding: 30px 4%;
  }
}

.bifocals_page .sec03 .container .inner {
  background: rgba(255, 255, 255, 0.5);
  padding: 20px;
}


.box-bdr{
    border: 1px solid #000;
    padding: 0 35px 35px;
    margin: 50px 0;
}

.box-bdr .ttl-bdr{
    margin-top: -13px;
    margin-bottom: 20px;
    font-size: 20px;

}

.box-bdr .ttl-bdr strong{
    background: #fff;
    font-weight: normal;
    padding: 4px 15px;
    display: inline-block;
}
@media only screen and (max-width: 639px) {
    .box-bdr{
        padding: 0 4% 20px;
        margin: 30px 0;
    }
    .box-bdr .ttl-bdr{
        font-size: 18px;
    }
}
.box-bdr .ttl-bdr strong.bg_blue{
    background: #f5f6fb;
}




/*concept page*/
.concept_page .title_page {
    background: url(../concept/images/bg_tt.jpg) top center no-repeat;
    background-size: cover;
}
.concept_page .box_president {
    background: #F5F6FB;
    border-top: double 4px #28292E;
    border-bottom: solid 1px #28292E;
    margin: 0 0 80px;
    padding: 80px 0;
    color: #000000;
}
.concept_page .box_president h2.catch {
    margin: 0 0 40px;
    font-weight: bold;
    font-size: 30px;
}
.concept_page .box_president .txt_president {
    width: 65%;
}
.concept_page .box_president .img_president {
    width: 35%;
    margin: 0;
    box-shadow: 40px 40px 0 0 rgb(174,87,107);
}
.concept_page .box_president ul.list {
    margin: 20px 0 20px 25px;
}
.concept_page .box_president ul.list li {
    list-style-type: disc;
}
.concept_page .box_president .name_president {
    margin: 40px 0 0;
    font-weight: bold;
    font-size: 18px;
}
.concept_page .box_president .name_president img {
    width: 200px;
    margin: 10px 0 0;
}
@media only screen and (max-width: 639px) {
    .concept_page .box_president {
        margin: 0 0 40px;
        padding: 40px 0;
    }
    .concept_page .box_president h2.catch {
        font-size: 22px;
    }
    .concept_page .box_president .txt_president {
        width: 100%;
        margin: 0 0 40px 0;
    }
    .concept_page .box_president .img_president {
        width: 92%;
        box-shadow: 20px 20px 0 0 rgb(174,87,107);
    }
    .concept_page .box_president .name_president {
        font-size: 16px;
    }
    .concept_page .box_president .name_president img {
        width: 150px;
    }
}

