/* 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:10px 0 10px 16px;
  box-sizing: border-box;
}
a.header_logo{
  width:170px;
  height:32px;
  background-size: cover;
  position:relative;
  z-index:15;
}
.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;
}
body:not(.home) header.sp_header a.header_logo{
  /* background: url(../images/common/logo_black.png) center center no-repeat; */
  background-size: cover;
}
ul.nav li::before{
  position:absolute;
  content:"";
  width:1px;
  height:12px;
  top:50%;
  transform: translateY(-50%);
  left:0;
  background-color: var(--main-font-color);
}
/*
-------------------------------
footer
-------------------------------
*/
footer{
  padding:40px 16px;
}
.wrapper.footer_wrap{
  display: block;
  padding:0 16px;
}
.footer_wrap .footer_info a.footer_logo{
  width:100%;
}
.footer_nav{
  display: none;
}
.footer_info .info_links a{
  display: block;
  margin:0 auto 12px;
}
/* ----------------------------------
kv
---------------------------------- */
.kv_slider{
  height:100vh;
}
  .kv_info{
  margin-top:48px;
  margin-bottom:48px;
  padding:0 5%;
  box-sizing: border-box;
}
ul.kv_list{
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 10px;
  margin:0 auto;
  width:95%;
}
ul.kv_list li{
  width:calc((100% - 10px) / 2);
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius:24px;
  height:48px;
  border:1px solid #36322F;
}
ul.kv_list li a{
  font-family: var(--f-f-mincho);
  color:var(--main-font-color);
  font-size:clamp(0.8rem,1rem,1.2rem);
}

/* ----------------------------------
news_wrapper
---------------------------------- */
.news_wrapper{
  display: block;
}
.news_content{
  padding:0 5%;
  display: block;
}
.news_content .news_head{
  margin:40px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.news_head a{
  padding-right:20px;
}
.news_head a::after{
  right:0;
}
.news-title::after{
  right:0;
}
.news-item::after{
  width:100%;
}
.news_content::before,
.news_content::after{
  width:90%;
  left:5%;
  bottom:-60px;
}
.news_content::after{
  bottom:-66px;
}
.symptoms{
  padding-top:100px;
}
.symptoms ul{
  padding:0 5%;
  gap:8px;
}
.symptoms ul li{
  font-size:1.4rem;
  width:calc((100% - 8px) / 2);
  display: flex;
  align-items: center;
  margin-bottom:1.5em;
}
img.symptoms_arrow_line{
  width:90%;
  margin:0 auto;
  display: block;
}
/* ----------------------------------
answer
---------------------------------- */
.answer h2.section_title::before{
  font-size:4rem;
  letter-spacing:5px;
  left:50%;
  transform: translateX(-50%);
  z-index: -1;
}
.answer.index_section{
  padding:0 5%;
}
.answer_title{
  font-size:1.8rem;
}
.answer p{
  font-size:1.4rem;
  line-height: 2;
  letter-spacing: 2px;
}
.answer ul{
  display: block;
}
.answer ul li{
  margin-bottom:32px;
}
.answer ul li p{
  line-height: 1.5;
}
.answer ul li img{
  width:100%;
}
/* ----------------------------------
clinic_info
---------------------------------- */
.clinic_info.index_section{
  padding-bottom:64px;
}
.clinic_info h2.section_title::before{
  font-size:4rem;
}
.wrapper.clinic_info_wrap{
  display: block;
  width:90%;
  padding:16px;
}
.info_links{
  display: block;
}
.info_detail, .info_map{
  width:100%;
}
.info_detail table tr th, .info_detail table tr td{
  padding:18px 8px;
}
.info_map{
  margin-top:24px;
}
.info_map iframe{
  height:initial;
  aspect-ratio: 16 / 9;
}
.clinic_info::after {
  top:30px;
  height:100%;
}
.clinic_image{
  width:100%;
}
.clinic_image img{
  width:100%;
}
.clinic_image h2{
  font-size:2.8rem;
  right:12px;
}
/* ----------------------------------
about
---------------------------------- */
.about{
  margin-top:64px;
  padding-bottom:0;
  margin-bottom:0;
}
.about h2.section_title::before{
  font-size:4rem;
}
.about_index_section{
  margin-bottom:0;
}
.about::before, .about::after{
  display: none;
}
.about .section_title{
  font-size:3.2rem;
}
.about_text{
  width:90%;
  margin:1em auto;
  font-size:1.4rem;
  line-height: 1.8;
}
.wrapper.about_wrapper{
  width:90%;
  margin:24px auto;
  padding:40px 16px;
}
img.cross_icon{
  display: none;
}
.mean_head{
  padding:16px;
}
.mean_detail{
  display: block;
}
.mean_detail div{
  margin-bottom:8px;
}
.thought ul li{
  margin-bottom:16px;
}
.thought_detail{
  padding:16px;
}
.thought ul li:not(:first-child) .thought_detail::before,
.thought ul li:not(:first-child) .thought_detail::after{
  display: none;
}
/* ----------------------------------
thought
---------------------------------- */
.wrapper.thought{
  margin-top:64px;
}
.thought ul{
  display: block;
}
.thought ul li img{
  width:100%;
}
/* ----------------------------------
reason
---------------------------------- */
.reason{
  background: url(../images/index/reason_bg_sp.jpg) top 180px center no-repeat;
  background-size: cover;
  padding-bottom:64px;
}
.wrapper.reason_head{
  display: block;
}
.wrapper.reason_head{
  display: block;
  
  margin-right: 0;
}
.icon_logo{
  width:74px;
  margin-left:-10px;
}
.wrapper.reason_head h2.section_title{
  font-size:3.8rem;
  text-align: center;
}
.wrapper.reason_head article img{
  width:100%;
}
.reazon_content{
  margin-top:0;
}
.reason_inner{
  display: block;
}
.reason_inner img{
  width:100%;
}
.reason_detail{
  width:100%;
}
/* ----------------------------------
medicine
---------------------------------- */
.medicine h2.section_title{
  text-align: center;
  font-size:3.8rem;
}
#trouble h2.section_title::before{
  font-size:4.8rem;
  line-height: 1.2;
  bottom:0;
  left:50%;
  text-align: center;
  transform: translateX(-50%);
  z-index: -1;
}
.others h2.section_title::before{
  font-size:4.8rem;
  bottom:0;
  left:50%;
  text-align: center;
  transform: translateX(-50%);
  z-index: -1;
}
.medicine_wrap{
  display: block;
}
.medicine_wrap .medicime_image{
  width:100%;
}
.medicine_nav{
  padding:0 5%;
  width:100%;
}
.medicine_nav ul{
  gap:16px;
}
.medicine_nav ul li{
  width:calc((100% - 16px) / 2);
}
/* ----------------------------------
menu
---------------------------------- */
section.clinic_menu{
  padding-top:64px;
  padding-bottom:64px;
}
.clinic_menu .section_title,
.medicine.others h2.section_title{
  font-size:3.8rem;
  text-align: center;
}
.clinic_menu ul.wrapper{
  display: block;
}
.clinic_menu ul.wrapper li,
.clinic_menu ul.wrapper li img.menu_list_image{
  width:100%;
}
.clinic_menu ul.wrapper li{
  margin-bottom:24px;
}
.clinic_menu ul.wrapper li article{
  height:auto;
  padding:16px 
}
/* ----------------------------------
focus
---------------------------------- */
section.clinic_menu.focus{
  margin-top:128px;
  margin-bottom:64px;
}
section.clinic_menu.focus ul.wrapper{
  margin-top:24px;
}
section.clinic_menu.focus::before{
  top:24px;
  width:90vw;
  height:100%;
}
.focus_title{
  font-size:6.4rem;
  top:-50px;
  z-index: -1;
}
.care_image{
  width:100%;
}
/* ----------------------------------
greeting
---------------------------------- */
.greeting_wrap{
  display: block;
}
.greeting_wrap img{
  width:100%;
}
.greeting_detail{
  padding:36px 5%;
  width:100%;
}
.greeting_detail h2.section_title{
  font-size:3.8rem;
  text-align: center;
}
.greeting_message{
  margin-top:32px;

}
.greeting_message{
  font-size:1.4rem;
}
.greeting_detail a.medicine_btn{
  width:100%;
}
.price_wrap a.medicine_btn{
  width:100%;
}
/* ----------------------------------
price
---------------------------------- */
.price_wrap{
  width:90%;
  padding:6px 24px 40px;
  top:0;
}
.price_wrap h2.section_title{
  font-size:3.8rem;
}
/* ----------------------------------
facility
---------------------------------- */
.facility h2.section_title{
  font-size:3.8rem;
}
.facility h2.section_title::before{
  font-size:4rem;
}
.facility article{
  margin:48px auto 0;
  width:95%;
  display: block;
  overflow: scroll;
}
.facility article img{
  width:250%;
}
/* ----------------------------------
blog
---------------------------------- */
.index_section.blog{
  padding:0 5%;
}
.blog_content{
  gap:16px;
  flex-wrap: wrap;
}
.blog_content .news-item{
  width:calc((100% - 16px) / 2);
}
p.thumbnail{
  width:100%;
  aspect-ratio: 16 / 9;
}
p.thumbnail img{
  width:100%;
  height:auto;
}
.blog_content .news-title a {
  padding-right:2em;
}
/* ----------------------------------
faq
---------------------------------- */
.index_section.faq{
  padding:0 5%;
}
.index_section.faq h2.section_title{
  font-size:3.8rem;
}
.faq h2.section_title::before{
  font-size:4.8rem;
}
.faq_wrapper dl{
  padding:16px;
  font-size:14px;
}
.faq_wrapper dl dt::before, .faq_wrapper dl dd::before{
  width:32px;
  height:32px;
  line-height: 32px;
  top:0;
}
.faq_wrapper dl dt, .faq_wrapper dl dd{
  padding-left:40px;

}
/* ----------------------------------
ぱんくず
---------------------------------- */
.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 */
.archive_news{
  margin-top:100px;
  width:100%;
  max-width: 1280px;
  padding:0 5%;
}
.news_head ul{
  display: flex;
  justify-content: flex-end;
}
.news_head ul li{
  padding-left:2em;
  font-size:1.2rem;
  font-family: var(--english-font);
}
.cp_list{
  margin-top:40px;
}

.cp_link p{
  display: block;

}
.cp_link p img{
  width:50%;
}
.taxonomy_date,.taxonomy_title{
  display: block;
}
.taxonomy_date{
  text-align: left;
  width:50%;
}

.cp_link p::after{
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  position: absolute;
  right:20px;
  top:63px;
  border-top: solid 1px;
  border-right: solid 1px;
  transform: rotate(45deg);
  color: inherit;
}
.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;
}
/* ----------------------------------
template
---------------------------------- */
.temp_mv{
  background: url(../images/sp/temp_title_bg.png) center center no-repeat;
  background-size: cover;
  padding:54px 16px;
}
.temp_index ul.index_list li a{
  color:#605C5A;
  font-size:1.4rem;
}
.index_inner{
  font-size:1.4rem;
}
.index_inner li{
  position:relative;
}
.index_inner li::before{
  content:"";
  position:absolute;
  width:5px;
  height:10px;
  border-left:1px solid #303030;
  border-bottom:1px solid #303030;
  bottom:45%;
  left:-1em;
}
.temp_mv h2{
  width:100%;
  font-size:1.4rem;
  padding-top:32px;
  padding-bottom:32px;
}
.temp_mv h2 span{
  font-size:3.2rem;
}
.temp_head{
  margin:64px auto;
  padding:0 16px;
}
.temp_head p{
  font-size:1.8rem;
  line-height: 2;
}
.temp_index{
  width:calc(100% - 32px);
  margin:0 auto;
  padding:24px 16px;
}
.temp_sec{
  padding:0 16px;
}
.temp_sec img{
  margin-top:32px;
  width: 100%;
  max-width:100%;
  height: auto;
  display: block;
}
.velskar_image_flex{
  display: flex;
  flex-direction: column;
  gap:16px;
}
.temp_sec .velskar_image_flex img{
  width:100%;
}
.temp_sec .velskar_image_flex br{
  display: none;
}
.temp_sec h3{
  font-size:2rem;
  padding:8px;
}
.temp_sec h4{
  font-size:2.2rem;
}
.temp_sec h5{
  font-size:2rem;
}
.sec_inner p{
  font-size:1.8rem;
  line-height: 2;
}
.sec_link ul{
  display: block;
}
.sec_link ul li{
  width:100%;
  margin-bottom:16px;
}
.sec_inner table tbody tr th{
  width:30%;
  padding:16px 8px;
}
.sec_inner table tbody tr th,
.sec_inner table tbody tr td{
  font-size:14px;
}
.temp_card_content{
  padding:16px;
  margin-top:32px;
}
.temp_card_content ul{
  flex-direction: column;
  gap: 8px;
}
.temp_card_content ul li{
  width:100%;
}
.sec_inner dl{
  padding:24px 16px;
}
.sec_inner dl dt, .sec_inner dl dd{
  padding-left:40px;
  font-size:1.6rem;
}
.sec_inner dl dt::before, .sec_inner dl dd::before {
  width: 32px;
  height: 32px;
  line-height: 32px;
  border-radius: 16px;
  text-align: center;
}
.sec_inner table.price_table thead tr th{
  width:50%;
}
/* ----------------------------------
contact
---------------------------------- */
.contact{
  padding:24px 5%;
}
.temp_wrap .mw_wp_form h3{
  font-size:1.7rem;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
}
.mw_wp_form span.repuired{
  font-size:1rem;
}
.contact form input[name="name"],
.contact form input[name="rubi"],
.contact form input[name="address"],
.contact form input[type="email"],
.contact form textarea,
.contact form select{
  width:100%;
  padding:8px;
  font-size:1.6;
  border:1px solid rgba(0,0,0,0.1);
  background-color: rgb(255, 255, 255);
  border-radius:7px;
}
.contact form input[name^="tel"]{
  width:80px!important;
}
.agree_check{
  margin-bottom: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-right:0;
  }
  .single_content img{
    width:100%;
  }
  .single_content p{
    margin-top:30px;
    padding:0 8%;
    font-size:12px;
  }
}