@charset "utf-8";
/* CSS Document */

@media screen and (max-width: 1640px) {
  .side_banner_block {
    left: 0;
    margin: 0;
  }

  .global_nav_block {
    margin: 0;
    right: 0;
    left: unset;
  }

  .page_top {
    margin-right: 0;
    right: 300px;
  }
}

@media screen and (max-width: 1500px) {
  body.fixed {
    overflow: hidden;
  }

  .wrapper {
    padding-top: 136px;
  }

  .wrapper.top_wrapper {
    padding: 0;
  }

  .wrapper.top_wrapper:has(.header_fixed) {
    padding-top: 136px;
  }

  .search_wrapper:has(.change_conditions_block.fixed) {
    padding-top: 256px;
  }


  header {
    position: fixed;
    inset: 0 auto auto;
    z-index: 999;
    transition: background-color .2s;
  }

  header.top_header {
    position: relative;
  }

  header.top_header.header_fixed {
    background: white;
    position: fixed;
    animation: slide-down .9s ease;
  }

  header.top_header.header_fixed .registrations_box {
    position: unset;
    width: 100px;
    height: 94px;
    margin-left: 16px;
    font-weight: 800;
  }

  header.top_header.header_fixed .registrations_box .area_name {
    height: 32px;
    background: var(--colorPink);
    color: white;
    font-size: 20px;
    text-align: center;
    line-height: 32px;
    letter-spacing: 0.2em;
    display: block;
    margin-bottom: 2px;
  }

  header.top_header.header_fixed .registrations_box .registrations  {
    height: 32px;
    letter-spacing: 0.05em;
    font-size: 18px;
    display: block;
    background: white;
    text-align: center;
  }

  header.top_header.header_fixed .registrations_box .registrations > data {
    color: var(--colorPink);
    font-size: 40px;
    position: relative;
    top: 2px;
  }

  .find_shop_btn {
    position: fixed;
    z-index: 9999;
    top: 24px;
    right: 50%;
    margin-right: -193px;
  }

  header.top_header.header_fixed .find_shop_btn {
    display: inherit;
  }

  .side_banner_block {
    display: none;
  }

  .hamburger, .top_header.header_fixed .hamburger {
    display: block;
  }

  .global_nav_block {
    position: fixed;
    top: 0;
    inset-inline: auto;
    width: min(640px, 100%);
    height: 100vh;
    padding: 0;
    margin-right: 0;
    overflow: hidden;
    box-shadow: none;
    background: none;
    pointer-events: none;
  }

  .global_nav_block .find_shop_btn {
    display: flex;
  }

  .gNav_inner_block {
    width: 100%;
    height: 100%;
    overflow: hidden;
    transform: translateX(100%);
    transition: transform 0.4s;
    background: white;
  }

  .gNav_inner_block.panel_show {
      transform: translateX(0);
      transition: transform 0.4s;
  }

  .global_nav_block:has(.gNav_inner_block.panel_show) {
      pointer-events: auto;
  }

  .global_nav_block .logo {
    margin: 0;
  }

  .global_nav_block .global_nav {
    margin-bottom: 0;
    height: calc(100vh - 192px);
    overflow-y: auto;
    padding: 0 0 64px 56px;
  }

  .global_nav_block .global_nav ul li {
    font-size: 30px;
  }

  .global_nav_block .global_nav ul li a {
    padding: 32px 16px;
  }

  .gNav_inner_box {
    height: 136px;
    padding: 16px 24px;
    display: flex;
    align-items: center;
    margin-bottom: 64px;
  }

  .gNav_inner_box .registrations_box {
    display: block;
  }

  .page_top {
    display: none;
  }

  .change_conditions_block {
    width: min(640px, 100%);
  }

  .change_conditions_block.fixed {
    width: min(640px, 100%);
    position: fixed;
    top: 136px;
    margin: auto;
    z-index: 100;
  }

}

@media screen and (max-width: 640px) {
  body {
    min-width: 320px;
    background: none;
  }

  .wrapper {
    padding-top: var(--s136);
  }

  .wrapper.top_wrapper:has(.header_fixed) {
    padding-top: var(--s136);
  }

  .search_wrapper:has(.change_conditions_block.fixed) {
    padding-top: clamp(128px, 40vw, 256px);
  }

  header {
    padding: var(--s16) var(--s24);
    height: var(--s136);
  }

  .logo {
    width: clamp(7.156rem, 35.78vw, 229px);
  }

  .registrations_box,header.top_header.header_fixed .registrations_box {
    width: clamp(50px, 15.63vw, 100px);
    height: clamp(47px, 14.69vw, 94px);
    margin-left: var(--s16);
  }

  .registrations_box .area_name, header.top_header.header_fixed .registrations_box .area_name {
    height: var(--s32);
    font-size: var(--s20);
    line-height: var(--s32);
    margin-bottom: var(--s2);
  }

  .registrations_box .registrations, header.top_header.header_fixed .registrations_box .registrations {
    height: var(--s32);
    font-size: clamp(0.563rem, 2.81vw, 1.125rem);
  }

  .registrations_box .registrations > data, header.top_header.header_fixed .registrations_box .registrations > data {
    font-size: var(--s40);
    top: var(--s2);
  }

  .top_header .registrations_box {
    width: var(--s176);
    height: var(--s64);
    top: clamp(66px, 20.63vw, 132px);
    left: var(--s24);
  }

  .top_header .registrations_box .registrations > data {
    font-size: var(--s30);
  }

  .find_shop_btn {
    width: var(--s88);
    margin-right: 0;
    top: var(--s24);
    right: var(--s128);
  }

  .find_shop_btn img {
    width: var(--s48);
  }


  .hamburger, .top_header.header_fixed .hamburger {
    width: var(--s88);
    top: var(--s24);
    right: var(--s24);
    margin-right: 0;
  }

  .hamburger span, .header_fixed .hamburger span {
    width: clamp(27px, 8.44vw, 54px);
    height: var(--s6);
    border-radius: clamp(3px, 0.063rem + 0.63vw, 5px);
  }


  .global_nav_block .logo {
    width: clamp(7.156rem, 35.78vw, 229px);
    margin: 0;
  }

  .global_nav_block .global_nav {
    margin-bottom: 0;
    height: calc(100vh - clamp(96px, 30vw, 192px));
    overflow-y: auto;
    padding: 0 0 var(--s64) var(--s56);
  }

  .global_nav_block .global_nav ul li {
    font-size: var(--s30);
  }

  .global_nav_block .global_nav ul li a {
    padding: var(--s32) var(--s16);
  }

  .gNav_inner_box {
    height: var(--s136);
    padding: var(--s16) var(--s24);
    margin-bottom: var(--s64);
  }

  .contents_title {
    height: var(--s88);
    font-size: var(--s32);
  }

  .bread_crumb_list {
    font-size: var(--s18);
  }

  .bread_crumb_list ol {
    height: var(--s56);
    padding: 0 var(--s8);
  }

  footer {
    padding: 0 var(--s24);
  }

  footer.floating_margin {
    padding-bottom: var(--s88);
    margin-bottom: var(--s112);
  }

  footer .footer_inner_block {
    height: var(--s176);
  }

  footer .footer_inner_block .copyright {
    font-size: var(--s18);
  }

  /*top*/
  .head_mv_contents {
    margin-top: clamp(-136px, -21.25vw, -68px);
  }

  .head_mv_contents .search_btn_list {
    margin: clamp(-120px, -18.75vw, -60px) 0 var(--s96);
    padding: 0 24px;
  }

  .search_btn-icon {
    width: var(--s176);
  }

  .search_btn-icon a {
    padding: var(--s16);
    font-size: var(--s30);
  }

  .search_btn-icon a::before {
    margin-bottom: var(--s12);
  }

  .search_btn-icon a span {
    font-size: var(--s18);
  }

  .search_btn-station a::before {
    width: var(--s56);
  }

  .search_btn-shop a::before {
    width: clamp(1.781rem, 8.91vw, 57px);
  }

  .search_btn-call a::before {
    width: clamp(35px, 10.94vw, 70px);
  }

  .head_mv_contents .catchphrase {
    font-size: var(--s32);
    margin-bottom: var(--s128);
  }

  .sns_btn a {
    width: clamp(216px, 67.5vw, 432px);
    font-size: var(--s24);
  }

  .head_mv_contents .sns_btn a {
    margin: 0 auto var(--s96);
  }

  .button_description .description_list_box {
    height: var(--s128);
    margin-bottom: var(--s96);
    padding-right:  var(--s64);
  }


  .button_description .inner_block {
    padding: var(--s96) 0;
  }

  .button_description .description_list_box dt {
    width: var(--s128);
    margin-right: var(--s24);
  }

  .button_description .description_list_box dd {
    width: 56.25vw;
    font-size: var(--s24);
  }

  .report_form_host .inner_block, .contact_form_users .inner_block {
    font-size: var(--s24);
    padding: var(--s96) 0 var(--s96) clamp(46px, 14.37vw, 92px);
  }

  .report_form_host ul, .contact_form_users ul {
    margin-bottom: var(--s60);
  }

  .top_news_list .inner_block {
    padding: var(--s96) var(--s24);
  }

  .top_news_list .inner_block ul li {
    padding: var(--s24) var(--s8);
    font-size: var(--s24);
  }
  .top_news_list .inner_block ul li time {
    margin-right: var(--s16);
    font-size: var(--s20);
  }

  /*news_detail*/
  .news_detail .news_block {
    padding-bottom: var(--s96);
  }

  .news_detail .news_block h3 {
    font-size: var(--s32);
    padding: var(--s24);
    margin-bottom: var(--s64);
  }

  .news_detail .news_block time {
    font-size: var(--s20);
    padding: 0 var(--s24);
    margin-bottom: var(--s24);
  }

  .news_detail .news_block .text_box {
    font-size: var(--s24);
    padding: 0 var(--s24);
    margin-bottom: var(--s96);
  }

  .news_detail .news_block .back_btn a {
    width: var(--s176);
    font-size: var(--s30);
  }

  /******************************検索******************************************/
  .change_conditions_block {
    font-size: var(--s24);
  }

  .change_conditions_block.fixed {
    top: var(--s136);
  }

  .change_conditions_block .change_inner_box {
    padding: var(--s24);
    flex-wrap: nowrap;
  }

  .select_label {
    width: 76.351%;
  }

  .select_label::after {
    width: clamp(7px, 2.19vw, 14px);
    height: clamp(7px, 2.19vw, 14px);
    border-top: solid clamp(0.094rem, 0.47vw, 0.188rem) var(--colorGray);
    border-right: solid clamp(0.094rem, 0.47vw, 0.188rem) var(--colorGray);
    right: var(--s24);
    margin-top: -1.093vw
  }

  .select_label select {
    border-radius: var(--s16);
    appearance: none;
    width: 100%;
    height: var(--s72);
    padding: 0 var(--s24);
    font-size: clamp(16px, 0.5rem + 2.5vw, 24px);
  }

  .select_label select option {
    font-size: var(--s18);
  }

  .change_conditions_block .change_btn {
    width: clamp(3.906rem, 19.53vw, 125px);
    height: var(--s72);
    border-radius: var(--s8);
    font-size: var(--s20);
  }

  .change_conditions_block .change_btn::before {
    width: clamp(19px, 5.94vw, 38px);
    margin-right: var(--s8);
  }

  .display_number {
    font-size: var(--s18);
    height: var(--s56);
  }
  /********************************************************************/

  /* .station_block {
    padding-bottom: var(--s24)
  } */

  .station_name_box {
    padding: var(--s20) var(--s24);
    font-size: var(--s18);
  }

  .station_name_box.nearest {
    height: var(--s72);
  }

  .station_name_box .station_name {
    font-size: var(--s24);
  }

  .station_name_box .station_name span {
    font-size: var(--s18);
  }

  .station_name_box .results_data {
    padding: 0 var(--s24);
    font-size: var(--s18);
  }

  .shop_detail_box .shop_name {
    font-size: var(--s32);
    padding:  clamp(14px, 4.38vw, 28px) 0;
  }

  .shop_detail_box .shop_name.new_shop span {
    width: min(clamp(224px, 70vw, 448px), 70%);
  }

  .shop_detail_box .shop_name.new_shop::before {
    width: var(--s72);
    height: var(--s40);
    font-size: var(--s20);
    top: var(--s24);
    right: var(--s24);
  }

  .shop_detail_box .shop_data {
    padding: var(--s24) 0 var(--s64);
  }

  .shop_data .therapist_list {
    margin-bottom: var(--s24);
  }

  .shop_data .therapist_list li .therapist_data {
    padding: var(--s8) var(--s16) var(--s16);
    font-size: var(--s20);
  }

  .shop_data .therapist_list li .therapist_data .name_age,
  .shop_data .therapist_list li .therapist_data .tall_cup {
    padding: var(--s8) 0;
  }

  .shop_data .therapist_list li .therapist_data .name_age > span {
    font-size: var(--s24);
  }

  .shop_detail_box .shop_data .left_box {
    width: var(--s224);
    padding: 0 var(--s24);
  }

  .shop_detail_box .shop_data .right_box {
    width: calc(100% - var(--s224));
  }

  .shop_detail_box .shop_data .shop_img {
    width: var(--s176);
  }

  .link_icon {
    height: var(--s80);
  }

  .link_icon a {
    width: var(--s80);
  }

  .label_box {
    height: var(--s56);
  }

  .label_box span {
    width: var(--s176);
    height: var(--s32);
    font-size: var(--s18);
  }

  .label_box span.rank::after {
    border-top-width: var(--s16);
    border-bottom-width: var(--s16);
    border-right-width: clamp(5px, 1.56vw, 10px);
  }

  .shop_detail_box .shop_data dl dt {
    width: var(--s48);
    height: clamp(31px, 9.69vw, 62px);
  }

  .shop_detail_box .shop_data dl dt i {
    width: var(--s32);
  }

  .shop_detail_box .shop_data dl dd {
    width: calc(100% - var(--s48));
    height: clamp(31px, 9.69vw, 62px);
    font-size: var(--s20);
  }

  .page-back_btn {
    margin: var(--s96) auto;
    font-size: var(--s24);
    border-radius: clamp(22px, 6.88vw, 44px);
    padding: var(--s32) 0;
  }

  /*search_call*/
  .ranking_img_block {
    width: 100%;
    padding: var(--s60) 0;
  }

  .slider {
    width: clamp(200px, 62.5vw, 400px);
    height: clamp(200px, 62.5vw, 400px);
  }

  .slide img {
    box-shadow:
        0 0 7.8vw 3.9vw rgba(255, 231, 73, 0.5),
        0 0 7.8vw 3.9vw rgba(255, 231, 73, 0.5);
  }

  .ranking_img {
    padding: var(--s64) 0;
  }

  .ranking_img figure {
    width: clamp(200px, 62.5vw, 400px);
    height: clamp(200px, 62.5vw, 400px);
  }

  .shiny_effect::before {
    top: clamp(-180px, -16.875rem + 28.13vw, -90px);
    width: var(--s30);
  }

  .ranking_table th {
    height: var(--s40);
    font-size: var(--s18);
  }

  .ranking_table td {
    height: var(--s80);
    font-size: var(--s32);
  }


  .ranking_table tbody td.store_name-column {
    padding: 0 var(--s16);
  }

  .ranking_table tbody tr:nth-child(n+11) .store_name-column {
    font-size: var(--s24);
  }

  /*shop_detail.html*/
  .shop_detail_box.detail_page .shop_img {
    padding: var(--s64) 0;
  }

  .shop_detail_box.detail_page .shop_img figure {
    width: clamp(200px, 62.5vw, 400px);
  }

  .shop_detail_box.detail_page .shop_data {
    padding: var(--s64) 0;
  }

  .shop_detail_box.detail_page .shop_data .therapist_list {
    margin-bottom: var(--s64);
  }

  .shop_detail_box.detail_page .label_box {
    margin-bottom: var(--s64);
  }

  .shop_detail_box.detail_page .label_box span {
    margin: 0 var(--s8);
  }

  .shop_detail_box.detail_page .shop_data dl {
    width: calc(100% - var(--s96));
  }

  .shop_detail_box.detail_page .shop_data dl dt {
    width: var(--s64);
    height: var(--s72);
  }

  .shop_detail_box.detail_page .shop_data dl dt i {
    width: var(--s48);
  }

  .shop_detail_box.detail_page .shop_data dl dd {
    width: calc(100% - var(--s64));
    height: var(--s72);
    font-size: var(--s24);
  }

  .shop_detail_box.detail_page .shop_data .sns_btn {
    margin: var(--s64) auto 0;
  }

  .shop_detail ul.site_list {
    padding: var(--s64) 0;
  }

  .shop_detail ul.site_list li a {
    width: 78.75%;
    height: var(--s104);
    margin: 0 auto var(--s24);
    font-size: var(--s24);
  }

  .shop_detail ul.site_list li a::after {
    width: clamp(7px, 2.19vw, 14px);
    height: clamp(7px, 2.19vw, 14px);
    border-top: solid clamp(0.094rem, 0.47vw, 0.188rem) var(--colorGray);
    border-right: solid clamp(0.094rem, 0.47vw, 0.188rem) var(--colorGray);
    right: var(--s24);
    margin-top: -1.093vw;
  }

  .shop_detail .improvement_request {
    height: var(--s88);
  }

  .shop_detail .improvement_request img {
    width: var(--s64);
  }

  .floating_nav_block {
    height: clamp(100px, 31.25vw, 200px);
    padding: 0 var(--s40) var(--s24);
  }

  .floating_nav_block.slide_up {
    height: clamp(100px, 31.25vw, 200px);
    padding: 0 var(--s40) var(--s24);
  }

  .floating_nav_block ul li {
    width: var(--s176);
  }

  .floating_nav_block::before {
    height: var(--s112);
  }

  .phone_tooltip {
    display: none !important;
}

  /*contact improvement call*/
  .shop_name_block {
    height: var(--s88);
    font-size: var(--s32);
  }

  .form_block {
    margin-bottom: var(--s96);
  }

  .form_text {
    margin-bottom: var(--s24);
    font-size: var(--s24);
  }

  .form_text.contact_text {
    padding-top: clamp(65px, 20.31vw, 130px);
  }

  .form_text.closed_text {
    padding: clamp(63px, 19.69vw, 126px) 0;
  }

  .form_text.correction_text {
    padding-top: clamp(39px, 12.19vw, 78px);
  }

  .form_text.call_text {
    padding: var(--s72) 0;
  }

  .form_text.find_text {
    padding-top: clamp(87px, 27.19vw, 174px);
  }

  .form_text p {
    margin-bottom: var(--s72);
  }

  .form_text p.catchphrase {
    display: block;
    font-size: var(--s32);
    letter-spacing: 0.3em;
    text-align: center;
    margin: 0;
  }

  .form_text p.tel_number {
    display: none;
  }

  form.contact_form, .call_btn_block {
    padding: 0 var(--s56);
  }

  form.contact_form input, form.contact_form textarea {
    height: var(--s72);
    border: solid var(--s2) var(--colorGray);
    padding: var(--s24);
    margin: 0 auto clamp(65px, 20.31vw, 130px);
    font-size: clamp(16px, 0.5rem + 2.5vw, 24px);
  }

  .find_shop form.contact_form input {
    margin-bottom: clamp(87px, 27.19vw, 174px);
  }

  .contact_form input.correction {
    margin-bottom: clamp(39px, 12.19vw, 78px);
  }

  .form_block .button_wrapper {
    width: clamp(224px, 70vw, 448px);
  }

  .form_block .button_wrapper button, .form_block .button_wrapper a {
    width: var(--s176);
    font-size: var(--s30);
  }

  .select_tab_block {
    height: var(--s104);
    padding: 0 var(--s50);
    font-size: var(--s24);
  }

  .select_tab_block::after {
    width: clamp(2px, 0.63vw, 4px);
    height: var(--s24);
  }

  .search_inner_block {
    height: calc(100vh - clamp(9.25rem, 46.25vw, 18.5rem));
    overflow: auto;
  }

  .search-container {
    padding: var(--s24) 0;
  }

  .search-input {
    height: var(--s72);
    padding: var(--s24);
    font-size: clamp(16px, 0.5rem + 2.5vw, 24px);
    border: var(--s2) solid var(--colorGray);
    border-radius: var(--s36);
  }

  .search-arrow {
    width: clamp(7px, 2.19vw, 14px);
    right: var(--s24);
    top: var(--s40);
  }

  .search-results {
    top: var(--s120);
  }

  .station-item {
    padding: var(--s40) var(--s24);
    font-size: var(--s24);
  }

  .station-item span small {
    font-size: var(--s18);
  }

  .material-icons {
    width: clamp(0.531rem, 2.66vw, 17px);
    margin-right: var(--s24);
  }

  .station-item::after {
    width: clamp(7px, 2.19vw, 14px);
    height: clamp(7px, 2.19vw, 14px);
    border-top: solid clamp(0.094rem, 0.47vw, 0.188rem) var(--colorGray);
    border-right: solid clamp(0.094rem, 0.47vw, 0.188rem) var(--colorGray);
  }

  .no-results {
    padding: clamp(5px, 1.56vw, 10px) var(--s16);
    font-size: var(--s20);
  }


  /* 検索モーダル */
  .modal_inner_block {
    padding: var(--s24) var(--s24) calc(3.75vw + 18.75vw);
  }

  .modal_btn_wrapper {
      padding: var(--s24);
  }

  .modal_close_btn {
      height: var(--s72);
      font-size: var(--s24);
  }
}


