/*==========================================================================*/
/*                           LP HAIR REMOVAL                                    */
/*==========================================================================*/
@media only screen and (min-width: 450px) {
  .sp_450 {
    display: none !important
  }
}
@media only screen and (min-width: 361px) {
  .sp_320 {
    display: none !important
  }
}
@media only screen and (max-width: 360px) {
  .dis_360 {
    display: none !important;
  }
  .in_360 {
    display: inline !important;
  }
}
.br_auto {
  display: inline-block
}
@media only screen and (max-width: 768px) {
  .page-hair-removal .key {
    max-height: 680px;
    height: 150vw;
    font-size: min(5px, 1.2vw);
    background-image: url(../images/hair-removal_key_bg_sp.jpg);
    background-position: top center;
  }
  .page-hair-removal .key .key_text {
    padding-top: 45vw;
  }
  .page-hair-removal .key .catch {
    width: 100%;
    margin-right: auto;
  }
  .page-hair-removal .key .hair_bnr {
    flex-direction: column;
    gap: 1.2em;
    font-size: 1.15em;
  }
  .page-hair-removal .key .hair_bnr .tt {
    padding-bottom: 1.2em;
    margin-bottom: 0;
  }
  .page-hair-removal .key .hair_bnr .tt::after {
    width: 120px;
    height: 1px;
    bottom: 0;
    left: calc(50% - 60px);
    margin: 0 auto;
  }
  .page-hair-removal .key .key_text .title {
    font-size: 4.8em;
    text-shadow: 3px 3px 13px #ffffff, 3px 3px 24px #ffffff, 3px 3px 60px #ffffff, 3px 3px 34px #FFFFFF, 0px 0px 25px, 0px 0px 25px #FFFFFF, 0px 0px 25px #FFFFFF, 0px 0px 25px #FFFFFF, 0px 0px 25px #FFFFFF, 0px 0px 25px #FFFFFF, 0px 0px 25px #FFFFFF;
  }
  .page-hair-removal .key .catch::before {
    font-size: 0.65em;
    bottom: -75px;
    right: 0px;
  }
  .page-hair-removal .btn-group .btn.style01 a {
    font-size: min(20px, 5.5vw);
    padding: .5em 1.75em 0.625em 1em;
  }
  .page-hair-removal section h2 {
    font-size: calc(var(--ttl_size) - 2px);
    margin-bottom: 30px;
  }
  .page-hair-removal section h3 {
    font-size: 20px;
    margin-top: 0;
  }
  .page-hair-removal section h3::after {
    width: 75px;
  }
  /**************SEC01*****************/
  .page-hair-removal .sec01 {
    padding: 50px 0;
  }
  .page-hair-removal .sec01 .btn-group {
    margin-bottom: 25px;
    margin-top: 0;
  }
  .box_img {
    display: table;
    margin: 0 auto 25px;
  }
  /**************SEC02*****************/
  .page-hair-removal .sec02 {
    padding: 50px 0;
  }
  .page-hair-removal .sec02 .b_img {
    display: table;
    margin: 0 auto 25px;
  }
  .page-hair-removal .sec02 .b_grid {
    margin-bottom: 25px;
  }
  .page-hair-removal .sec02 .btn-group {
    margin-top: 0;
  }
  /**************SEC03*****************/
  .page-hair-removal .sec03 {
    padding: 50px 0;
  }
  .page-hair-removal .sec03 .ttl {
    font-size: 18px;
    margin-bottom: 15px;
  }
  .page-hair-removal .sec03 .ttl::before {
    width: 8px;
    height: 8px;
  }
  .page-hair-removal .sec03 .btn-group {
    margin-top: 25px;
  }
  .page-hair-removal .sec03 .row {
    margin-bottom: 25px;
  }
  .page-hair-removal .sec03 .row .item {
    margin-bottom: 25px;
  }
  .page-hair-removal .sec03 .row .item:last-child {
    margin-bottom: 0;
  }
  .page-hair-removal .sec03 .l_note li {
    font-size: 13px;
  }
  .tab_fees .TabPager > div .tt {
    font-size: 20px;
  }
  .tab_fees .TabContent .content > div {
    padding: 40px 5%;
  }
  .page-hair-removal .sec03 .row .item .tb_hair th:first-child,
  .page-hair-removal .sec03 .row .item .tb_hair td:first-child {
    width: 15%;
  }
  .page-hair-removal .sec03 .row .item .tb_hair th:nth-child(2),
  .page-hair-removal .sec03 .row .item .tb_hair td:nth-child(2) {
    width: 15%;
  }
  .page-hair-removal .sec03 .row .item .tb_hair th:nth-child(3),
  .page-hair-removal .sec03 .row .item .tb_hair td:nth-child(3) {
    width: 15%;
  }
  .page-hair-removal .sec03 .row .item .tb_hair th:nth-child(4),
  .page-hair-removal .sec03 .row .item .tb_hair td:nth-child(4) {
    width: 15%;
  }
  /**************SEC04*****************/
  .page-hair-removal .sec04 {
    padding: 50px 0;
  }
  .page-hair-removal .sec04 h3 {
    margin-bottom: 15px;
  }
  .page-hair-removal .sec04 h3::after {
    margin-top: 10px;
  }
  .page-hair-removal .sec04 .box_center p {
    font-size: 16px;
    line-height: 2;
  }
  .page-hair-removal .sec04 .box_h3 p, .page-hair-removal .sec04 .box_h4 p {
    margin-bottom: 20px;
  }
  .page-hair-removal .sec04 .box_h3 {
    margin-top: 35px;
  }
  .page-hair-removal .sec04 .box_h4 {
    margin-top: 20px;
  }
  .page-hair-removal .sec04 .image_center {
    margin-top: 20px;
    margin-bottom: 20px;
  }
  .page-hair-removal .sec04 .btn-group {
    margin-top: 30px;
  }
  .tbl_difference {
    font-size: min(14px, 3.5vw);
  }
  .tbl_difference th {
    font-size: 1.125em;
  }
  .tbl_difference td {
    padding: 1em 0.65em 1.25em;
  }
  /**************SEC05*****************/
  .page-hair-removal .sec05 {
    padding: 50px 0;
  }
  .page-hair-removal .sec05 .b_flex {
    margin-bottom: 30px;
  }
  .page-hair-removal .sec05 .b_flex .b_img {
    margin: 0 auto;
    margin-bottom: 20px;
  }
  .page-hair-removal .sec05 .b_detail {
    margin-bottom: 30px;
  }
  .page-hair-removal .sec05 .b_detail .item {
    padding-bottom: 25px;
  }
  .page-hair-removal .sec05 .b_detail .item:not(:last-child) {
    margin-bottom: 25px;
  }
  .page-hair-removal .sec05 .b_detail .item .tt {
    padding-left: 45px;
    margin-bottom: 15px;
  }
  .page-hair-removal .sec05 .b_detail .item .tt::before {
    width: 35px;
    height: 35px;
    top: -3px;
  }
  /**************SEC06*****************/
  .page-hair-removal .sec06 {
    padding: 50px 0;
  }
  .page-hair-removal .sec06 .b_cont .item {
    padding-bottom: 25px;
  }
  .page-hair-removal .sec06 .b_cont .item:not(:last-child) {
    margin-bottom: 25px;
    /**************SEC07*****************/
  }
  .page-hair-removal .sec07 {
    padding: 50px 0;
  }
  .page-hair-removal .sec07 .desc {
    margin-bottom: 30px;
  }
  /**************SEC08*****************/
  .page-hair-removal .sec08 {
    padding: 50px 0;
  }
  .page-hair-removal .sec08 .b_cont {
    margin-bottom: 30px;
  }
  .page-hair-removal .sec08 .b_faq:not(:last-child) {
    margin-bottom: 20px;
  }
  .page-hair-removal .sec08 .b_faq .ttl_faq {
    font-size: 20px;
    line-height: 1.4;
    padding-left: 2px;
    padding-bottom: 5px;
    margin-bottom: 15px;
  }
  .page-hair-removal .sec08 .b_faq .faq_group .item:not(:last-child) {
    margin-bottom: 15px;
  }
  .page-hair-removal .sec08 .b_faq .faq_group .item .question {
    padding: 10px;
  }
  .page-hair-removal .sec08 .b_faq .faq_group .item .question .tt::before,
  .page-hair-removal .sec08 .b_faq .faq_group .item .answer .content::before {
    font-size: 24px;
  }
  .page-hair-removal .sec08 .b_faq .faq_group .item .question .tt {
    font-size: 18px;
    line-height: 1.6;
    padding-left: 32px;
    padding-right: 16px;
  }
  .page-hair-removal .sec08 .b_faq .faq_group .item .question .tt::before {
    left: 0;
    top: 2px;
  }
  .page-hair-removal .sec08 .b_faq .faq_group .item .question .ic {
    width: 15px;
    right: 10px;
  }
  .page-hair-removal .sec08 .b_faq .faq_group .item .answer {
    padding: 0px 10px 10px;
  }
  .page-hair-removal .sec08 .b_faq .faq_group .item .answer .content {
    padding: 10px 10px 10px 40px;
  }
  .page-hair-removal .sec08 .b_faq .faq_group .item .answer .content::before {
    left: 20px;
    top: 10px;
  }
  /**************SEC09*****************/
  .page-hair-removal .sec09 {
    padding: 50px 0;
  }
  .page-hair-removal .sec09 .b_doctor .b_name {
    font-size: min(3.125vw, 1em);
    padding: 10px;
  }
  .page-hair-removal .sec09 .b_doctor .b_name .subname {
    margin-bottom: 10px;
  }
  .page-hair-removal .sec09 .b_doctor .name {
    margin-bottom: 10px;
  }
  .page-hair-removal .sec09 .exp li .year {
    width: 15em;
  }
  .page-hair-removal .sec09 .exp li .txt {
    width: calc(100% - 15em);
  }
  .page-hair-removal .fixed_banner .banner {
    width: calc(100% / 3);
  }
  .page-hair-removal .fixed_banner .banner .tt {
    font-size: 12px;
  }
  .page-hair-removal .fixed_banner .banner .tt::before {
    display: none;
  }
}
@media only screen and (max-width: 430px) {
  .page-hair-removal .sec09 .exp li .year {
    width: 8em;
  }
  .page-hair-removal .sec09 .exp li .txt {
    width: calc(100% - 8em);
  }
}
@media only screen and (max-width: 361px) {
  .page-hair-removal .sec02 h4, .tbl_difference td {
    letter-spacing: 0.05em;
  }
}