/* CSS Document */
.humb,
.pc_none {
  display: none;
}
/* @media screen and (max-width: 768px){
* {
  outline: 1px solid red;
} */
/*

-------------------------------
共通
-------------------------------
*/
/* すべての要素のスクロールバーを非表示 */
@media screen and (max-width: 767px) {
  *::-webkit-scrollbar {
    width: 0;
    display: none;
  }

  * {
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .body {
    padding: 0;
  }
  .wrapper {
    margin: 0 auto 0;
    padding: 40px 20px;
    box-sizing: border-box;
  }
  ul.nav {
    display: block;
  }
  ul.nav li {
    display: block;
    text-align: left;
  }
  .over_width,
  .inner_width,
  #wrap {
    width: 100% !important;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
  }
  .pc_none {
    display: block;
  }
  .sp_none {
    display: none !important;
  }
  .index_section {
    margin-bottom: 64px;
  }
  h2.section_title {
    font-family: var(--english-font);
    font-size: 2rem;
  }
  h2.section_title span {
    font-size: 1.4rem;
    display: block;
  }
  /*
-------------------------------
header
-------------------------------
*/
  header {
    background-color: transparent;
  }
  body {
    font-size: 1.5rem;
  }
  .sp_header {
    padding: 0;
    height: 70px;
    box-sizing: border-box;
    position: fixed;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.8);
  }

  a.header_logo {
    display: block;
    width: 153px;
    height: 50px;
    padding-top: 10px;
  }
  a.header_logo img {
    width: 100%;
  }
  .fix_btn {
    width: 65%;
    margin: 0 auto;
    position: fixed;
    top: 0;
    left: 10px;

    border-radius: 5px;
    display: none;
    z-index: 900;
  }
  .fix_btn.active {
    display: block;
    opacity: 0;
    animation-name: fadein;
    animation-duration: 1s;
    animation-timing-function: ease-out;
    animation-fill-mode: forwards;
  }

  /*
-------------------------------
footer
-------------------------------
*/
  footer {
    padding: 40px 16px 120px;
  }
  .wrapper.footer_wrap {
    display: block;
    padding: 0 16px;
  }
  .footer_nav {
    display: none;
  }
  a.footer_link {
    padding: 0 5%;
  }
  a.footer_link img {
    width: 100%;
  }
  .kv_content ul {
    position:absolute;
    left:50%;
    transform: translateX(-50%);
    top:280px;
    margin-top: 0;
    width: 100%;
    gap: 10px;
  }
  .kv_content ul li {
    width: calc((100% - 20px) / 3);
  }
  .kv_content ul li img {
    width: 100%;
  }
  .kv_deco_image.image2 {
    width: 90%;
    right: initial;
    left: 0;
  }
  .kv_deco_image.image3 {
    width: 40%;
    left: initial;
    right: 5vw;
    bottom: 50px;
  }
  .kv_deco_text {
    font-size: 3.4rem;
    width: 160%;
  }
  
  ul.footer_nav{
    flex-wrap: wrap;
    gap: 25px;
    padding:0;
    margin:30px auto;
  }
  ul.footer_nav li{
    width:calc((100% - 50px) / 2);
  }
  .shop_info_reserve .reserve_btn{
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    flex-direction: row;
}
  .shop_info_reserve .reserve_btn a{
    width:calc(100% / 2);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    font-size:1.4rem;
    height:80px;
    box-sizing: border-box;
    padding:12px;
  }
  .shop_info_reserve .reserve_btn a img{
    height:100%;
    margin:0;
  }
  .shop_info_reserve .reserve_btn a::before{
    height:70px;
  }
  .footer_fix {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  z-index: 9999;

  transform: translateY(100%);
  transition: transform 0.4s ease;
}

/* 表示状態 */
.footer_fix.is-show {
  transform: translateY(0);
}
  /* ----------------------------------
kv
---------------------------------- */
.kv{
  padding-bottom:320px;
}
  .kv_wrapper {
    display: block;
    position:relative;
  }
  .kv_image1 {
    width: 90%;
  }
  .kv_content {
    padding: 40px 5%;
  }
  .kv_content h1 {
    font-size: 3rem;
    text-align: center;
  }
  .kv_content p {
    padding: 1em 0 0 0;
    margin-top: 1em;
    font-size: 1.8rem;
    text-align: center;
  }
  .kv_content p::before {
    top: 0;
    transform: translate(0-50%);
    left: 50%;
    width: 1em;
  }
  /* ----------------------------------
index_news
---------------------------------- */
  .wrapper.index_news_wrap {
    display: block;
    margin: 0 auto;
    padding: 0;
    border: 1px solid var(--mcolor-op30);
    width: 90%;
  }
  .index_news_title {
    padding: 20px 0;
    border-bottom: 1px solid var(--mcolor-op30);
  }
  .index_news_wrap h2 {
    font-size: 2.2rem;
    text-align: center;
  }
  ul.news_list {
    gap: 0;
    padding: 0 10px;
  }
  ul.news_list li {
    padding: 20px 0;
  }
  ul.news_list li:not(:last-child) {
    border-bottom: 1px solid var(--mcolor-op30);
  }
  ul.news_list li a {
    display: block;
  }
  ul.news_list li a p.news_txt {
    font-size: 1.4rem;
    margin-top: 1em;
  }
  ul.news_list li a.viewmore_btn {
    margin: 0 auto;
  }
  /* ----------------------------------
infomation
---------------------------------- */
  .section_infomation h2 {
    font-size: 5rem;
  }
  .section_infomation h2.en span {
    font-size: 2.5rem;
  }
  .info_content {
    display: block;
  }
  .info_content ul {
    margin-top: 1em;
    padding-top: 1em;
    border-top: 1px solid var(--mcolor-op30);
  }
  .info_subtitle {
    font-size: 2.2rem;
  }
  .info_content ul li,
  .info_content ul li span {
    font-size: 1.8rem;
  }
  img.info_image.image1 {
    width: 75%;
    top:initial;
  }
  img.info_image.image2 {
    display: none;
  }
  img.info_image.image3 {
    width: 35%;
    right: 0;
  }
  /* ----------------------------------
shop_info
---------------------------------- */
  .shop_info {
    padding: 0;
  }
  .wrapper.shop_info_wrap {
    width: 100%;
    flex-direction: column-reverse;
  }
  .shop_info_wrap iframe {
    width: 100%;
    height: 250px;
  }
  .shop_info_content {
    width: 100%;
  }
  .shop_info_head {
    display: grid;
    text-align: center;
    width: 100%;
  }
  .shop_info_head img {
    display: block;
    margin: 0 auto;
  }
  p.address {
    font-size: 1.3rem;
  }
  .shop_info_detail a {
    font-size: 1.8rem;
  }
  /* ----------------------------------
worries
---------------------------------- */
  .worries {
    margin-top: 180px;
  }
  .wrapper.worries_wrap {
    padding: 150px 10px 0;
  }
  .worries_deco_image {
    width: 100%;
    top: -120px;
    right: initial;
    left: 50%;
    transform: translateX(-50%);
    padding: 0 10px;
  }
  .worries_deco_image span {
    width: calc((100% - 10px) / 2);
  }
  .worries_deco_image span img {
    width: 100%;
  }
  .worries_wrap h3 {
    font-size: 2.5rem;
    margin-top: 1em;
  }
  .worries_deco_title {
    position: absolute;
    left: 0;
    top: 180px;
    line-height: 1;
    writing-mode: vertical-rl;
    font-size: 6rem;
  }
  .worry_list {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
  .worry_item {
    font-size: 1.5rem;
    padding: 16px;
    height: 110px;
  }
  .worry_item .icon {
    margin: 0 auto 16px;
  }
  .reserve_wrap img.reserve_section_image {
    width: 100%;
  }
  /* ----------------------------------
reserve_wrap
---------------------------------- */
  .wrapper.reserve_wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column-reverse;
    gap: 30px;
    max-width: 100%;
  }
  .reserve_detail p {
    text-align: center;
    font-size: 1.6rem;
  }
  .reserve_btn {
    flex-direction: column;
    gap: 10px;
  }
  
  /* ----------------------------------
philosophy_section
---------------------------------- */
  .philosophy_section {
    padding: 80px 0;
  }
  .philosophy_section h3 {
    font-size: 1.4rem;
  }
  p.philosophy_title {
    font-size: 2.5rem;
  }
  .philosophy_section ul {
    width: 90%;
    margin: 0 auto;
    flex-direction: column;
  }
  .philosophy_section ul li {
    width: 100%;
    padding: 10px 10px 30px;
  }
  .philosophy_section ul li:not(:last-child) {
    border-right: none;
    border-bottom: 1px solid var(--mcolor-op30);
  }
  p.philosophy_no {
    font-size: 2.5rem;
  }
  p.philosophy_detail {
    font-size: 1.4rem;
  }
  /* ----------------------------------
reason
---------------------------------- */
  .reason_section::before {
    height: 200px;
  }
  .reason_section {
    padding-top: 200px;
    padding-bottom: 80px;
  }
  .reason_section::after {
    height: calc(100% - 190px);
  }
  .reason_title {
    display: block;
    text-align: center;
  }
  .reason_title h2 {
    font-size: 9rem;
  }
  .reason_title p {
    font-size: 2.5rem;
    margin-top: -1.5em;
  }
  .reason_title p span {
    padding: 0;
  }
  .wrapper.reason_wrap {
    padding: 20px 0;
  }
  .reason_wrap ul {
    display: grid;
    gap: 50px;
    width: 100%;
  }
  .reason_wrap ul li {
    width: 100%;
  }
  .reason_wrap ul li img {
    width: 90%;
    display: block;
    margin: 0 auto 0 0;
  }
  .reason_wrap ul li:nth-child(even) {
    padding-top: 0;
  }
  .reason_wrap ul li:nth-child(even) img {
    margin: 0 0 0 auto;
  }
  .reason_list_title,
  .reason_detail {
    padding: 0 5%;
  }
  .reason_title_detail {
    font-size: 2rem;
  }
  .reason_detail {
    font-size: 1.5rem;
  }
  .reason_icon {
    width: 33.3%;
    left: 16px;
  }
  /* ----------------------------------
greeting
---------------------------------- */
  .greeting_section {
    padding-top: 100px;
  }
  .greeting_section::before {
    height: 100px;
  }
  .greeting_section::after {
    width: 95%;
    left: 5%;
  }
  .greeting_head {
    padding-left: 16px;
  }
  .greeting_head span {
    font-size: 1.6rem;
  }
  .greeting_head h3 {
    font-size: 6rem;
  }
  .greeting_wrap {
    display: block;
  }
  .greeting_wrap img {
    width: 100%;
  }
  .greeting_detail {
    padding: 40px 25px 0;
  }
  .greeting_detail h4 {
    font-size: 2rem;
  }
  .greeting_detail p {
    font-size: 1.4rem;
  }
  .greeting_viewmore {
    font-size: 1.6rem;
    padding-left: 55px;
  }
  .greeting_viewmore::before {
    width: 50px;
  }
  /* ----------------------------------
menu
---------------------------------- */
  .menu_section {
    margin-top: 80px;
    padding-top: 80px;
  }
  .menu_wrap {
    display: block;
  }
  .menu_title h3 {
    font-size: 4rem;
  }
  .menu_title h3 span {
    font-size: 1.8rem;
  }
  ul.treatment_menu_list {
    gap: 10px;
    margin-top: 38px;
  }
  ul.treatment_menu_list li {
    width: calc((100% - 10px) / 2);
    padding: 16px;
  }
  ul.treatment_menu_list li a {
    font-size: 1.4rem;
  }
  ul.treatment_menu_list li a article {
    height: 80px;
  }
  ul.treatment_menu_list li a img {
    transform: scale(0.8);
  }
  .menu_title a {
    width: 200px;
    margin: 40px auto;
  }
  .menu_title a::after {
    width: 25px;
    height: 3px;
  }
  .insurance {
    margin-top: 50px;
    padding: 30px 50px;
    display: block;
    text-align: center;
  }
  .insurance_text h4 {
    font-size: 2rem;
    text-decoration: none;
    border-bottom: 1px solid #fff;
    padding-bottom: 1em;
  }
  .insurance_text p {
    margin-top: 20px;
    font-size: 1.6rem;
  }
  .insurance_text p span {
    font-size: 1.8rem;
    padding-top: 1em;
  }
  .insurance a {
    width: 118px;
    height: 118px;
    border-radius: 50%;
    font-size: 1.4rem;
    margin: 36px auto 0;
  }
  .insurance a::after {
    width: 130px;
    height: 130px;
    border-radius: 50%;
    background-color: #fff;
    opacity: 0.5;
    top: -6px;
    left: -6px;
  }
  /* ----------------------------------
pickup
---------------------------------- */
  .pickup_detail img {
    width: 100%;
  }
  .pickup_section {
    min-height: auto;
    margin-top:60px;
  }
  .pickup_ttl{
    margin-bottom:60px;
  }
  .pickup_ttl span{
    font-size:4rem;
  }

  .feature_scroll_inner {
    position: relative;
    top: auto;
    height: auto;
    display: block;
  }

  .feature_visual_item,
  .feature_block {
    position: relative;
    opacity: 1;
    visibility: visible;
    transform: none;
  }

  .feature_visual_item {
    height: 50vh;
  }

  .feature_block {
    padding: 56px 24px;
  }

  .feature_triggers,
  .feature_nav {
    display: none;
  }
.pickup_scroll_content{
  display: flex;
  flex-direction: column;
  gap: 72px;
}
.pickup_title{
  margin-bottom:1em;
}
.pickup_detail.wrapper{
  padding:0 20px;
}
h4.pickup_menu_title{
  font-size:2.5rem;
  margin-top:30px;
}
.pickup_detail h5{
  font-size:2rem;
  margin:20px auto;
}
.deco_title{
  font-size:7rem;
}
  /* ----------------------------------
news
---------------------------------- */
.media_section,.column_section{
  padding:0 5%;
}
  .media_grid {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .media_title {
    text-align: left;
  }
  .media_title{
    font-size:1.4rem;
  }
  section.footer_shop_info .reserve_btn a{
    width:100%;
    font-size:1.4rem;
    height:130px
  }
  section.footer_shop_info .reserve_btn a::before{
    height:120px;
  }
  /* ----------------------------------
footer_info
---------------------------------- */
  section.footer_shop_info .shop_info_wrap{
    padding:60px 20px
  }
  /* ----------------------------------
ぱんくず
---------------------------------- */
  .breadcrumbs {
    display: flex;
    align-items: center;
    padding: 8px 20px;
    font-size: 1rem;
  }
  .arrow {
    display: block;
    width: 4px;
    height: 4px;
    border-right: 1px solid #3e3e3e;
    border-bottom: 1px solid #3e3e3e;
    margin: 1px 10px 0 7px;
    transform: rotate(-45deg);
  }

  /* ----------------------------------
recruit-page
---------------------------------- */
  .recruit_mv {
    margin-top: 60px;
  }
  .recruit_mv h2 {
    font-family: var(--f-f-mincho);
    font-size: 4rem;
    margin-bottom: 1.6rem;
    padding-left: 8px;
  }
  .recruit_mv figure {
    margin: 0;
  }
  .recruit_mv figure img {
    width: 100%;
  }
  .message {
    position: relative;
  }
  .message_head {
    display: block;
    justify-content: space-between;
  }
  .message_head img {
    width: 100%;
  }
  p.message_text {
    writing-mode: inherit;
    font-family: var(--f-f-mincho);
    color: var(--main-color);
    font-size: 3.6rem;
    text-align: center;
    line-height: 1.5;
    margin-top: 1em;
  }
  .message_detail {
    font-size: 1.6rem;
    margin-top: 3rem;
    padding: 2rem;
  }
  .message::after {
    content: "";
    position: absolute;
    top: -50%;
    transform: translateY(50%);
    left: -100%;
    width: 200%;
    height: 100%;
    background: url(../images/recruit/recruit_bg.jpg) bottom center no-repeat;
    background-size: contain;
    z-index: -1;
  }
  .condition table {
    width: 100%;
    margin: 60px auto;
    font-size: 2rem;
  }
  .condition table tr th,
  .condition table tr td {
    padding: 16px;
    box-sizing: border-box;
  }
  .condition table tr th {
    font-weight: bold;
    width: 30%;
  }
  .condition table tr:nth-child(odd) {
    background-color: #e8e8e8;
  }
  .condition table tr:nth-child(even) {
    background-color: #f7f7f7;
  }

  /* ARCHIVE */
  .news.archive_news {
    margin-top: 30px;
    width: 100%;
    padding: 0 5%;
  }
  .news_head ul {
    width: 100%;
  }
  .news_head ul li {
    padding-left: 0;
    font-size: 1rem;
    margin-bottom: 3px;
    width:calc((100% - 20px) / 2);
  }
  .news_head ul li a{
    font-size: 1rem;
  }
  .cp_list {
    margin-top: 40px;
  }

  .cp_link p {
    display: block;
  }
  .cp_link p img {
    width: 50%;
  }
  .cp_ttl.taxonomy_ttl .archive_thumb {
    width: 100%;
    display: block;
  }
  .cp_ttl.taxonomy_ttl .archive_thumb img {
    width: 100%;
  }
  .taxonomy_date,
  .taxonomy_title {
    display: block;
  }
  .taxonomy_date {
    text-align: left;
    width: 100%;
    margin: 10px 0;
    font-size: 1.2rem;
  }

  .cp_link p::after {
    display: none;
  }
  .post_content {
    width: 100%;
    padding: 0 5%;
    box-sizing: border-box;
  }
  .post_content figure,
  .post_content figure img {
    width: 100%;
  }
  /* ----------------------------------
post_content
---------------------------------- */
  .post_info {
    padding-right: 1rem;
    font-size: 1.2rem;
  }
/* ----------------------------------
下層ページ共通
---------------------------------- */
.temp_sec{
  padding:40px 5%;
  margin:0;
}
.temp_sec:nth-child(4n+2)::after,
.temp_sec:nth-child(4n)::after{
  width:100%;
  height:100%;
}
.temp_sec:nth-child(4n+2)::after{
  left:0;
}
.temp_sec:nth-child(4n)::after{
  right:initial;
  left:0;
}
.temp_kv{
  padding:50px;
}
.temp_kv h1{
  width:90%;
  max-width: 290px;
  min-width: 290px;
  padding:30px 0;
  font-size:3.6rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.temp_kv h1 span{
  font-size:1.4rem;
}
.temp_kv h1 br{
  display: none;
}
.temp_sec.temp_index h2{
  width:100%;
  font-size:2rem;
  line-height: 1;
  margin-bottom:16px;
  padding-bottom:16px;
  border-bottom:1px solid var(--mcolor-op30);
}
.temp_wrap.index_wrap{
  display: block;
  padding:40px 16px;
}
.temp_sec.temp_index ol{
  border-left:none;
  padding-left:1.5em;
  list-style: disc;
  width:100%;
}
.temp_sec h2{
  font-size:2.5rem;
}
.temp_sec h2 br{
  display: none;
}
.temp_sec h2 span{
  display: block;
}
.temp_wrap h3{
  font-size:2rem;
}
.temp_sec.temp_introduction .temp_wrap ul{
  flex-direction: column;
  gap: 10px;
}
.temp_sec.temp_introduction .temp_wrap ul li{
  width:100%;
  padding:20px;
}
.temp_wrap.temp_flex{
  flex-direction: column-reverse;
  gap: 20px;
}
  /* flow */
  section.flow .temp_wrap{
    padding:16px;
  }
  section.flow .temp_wrap h4 {
    font-size: 1.8rem;
    display: grid;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-bottom: 16px;

  }
  section.flow .temp_wrap h4 span {
    display: block;
    width: 30px;
    height: 30px;
    border-radius: 15px;
    line-height: 30px;
    margin:0 auto;
  }
  
  section.flow.faq_sec h2 {
    margin-bottom: 50px;
  }
  .faq_sec .temp_wrap {
    background-color: #fff;
    margin: 0 auto 10px;
  }
  .faq_sec .temp_wrap h4{
    padding:15px;
    font-size:1.8rem;
  }
  .faq_sec .temp_wrap h4 span{
    width:30px;
    height:30px;
    line-height: 30px;
    font-size:1.6rem;
  }
  .faq_sec .temp_wrap p{
    padding:16px;
  }
  .bottom_message{
    font-size:1.6rem;
    padding:20px;
    background: url(../images/common/temp_bottom_bg_sp.png) center center no-repeat;
    background-size: cover;
  }
  .bottom_message > * {
    font-size: 1.4rem;
  }
  /* ex */
  .temp_wrap h5 {
    font-size: 1.4rem;
    margin-bottom: 12px;
  }
  .temp_wrap h5 a {
    color: rgba(0, 0, 0, 0.5);
  }
  /* 料金表テーブル */
  .temp_wrap table {
    margin-bottom: 24px;
  }
  .temp_wrap table tr th {
    color: var(--blue);
    font-size: 1.4rem;
  }
  .temp_wrap table thead tr th {
    font-weight: bold;
  }
  .temp_wrap table tr th,
  .temp_wrap table tr td {
    padding: 8px;
  }

  .temp_wrap table tr th:first-child {
    width: 25%;
  }

  .temp_wrap table tbody tr td {
    font-size: 1.2rem;
  }
  .temp_wrap ul {
    font-size: 1.2rem;
    padding-left: 1em;
  }
  /* アクセスページMAP */
  .temp_wrap.temp_map {
    display: block;
  }
  .temp_map_inner {
    width: 100%;
    aspect-ratio: 16 / 9;
  }

  .temp_map_detail {
    padding: 16px;
  }
  /* 問い合わせフォーム  */
  
  /* 投稿記事 */
  main.main_single {
    padding: 0 10px;
  }
  .post_title {
    margin: 40px auto 0;
  }
  .post_title h2 {
    font-size: 16px;
    margin-top: 30px;
    font-weight: bold;
  }
  .post_flex {
    display: block;
  }
  .post_flex_content {
    width: 100%;
  }
  .post_sidebar {
    width: 84%;
    margin: 50px auto;
  }
  .single_content {
    margin-top: 40px;
    padding: 0 5%;
  }
  /* .single_content img {
    width: 100%;
  } */
  .single_content p {
    margin-top: 30px;
    /* padding: 0 8%; */
    font-size: 12px;
  }
  .single_content table{
    width: 100% !important;;
  }
}
